Revert "Reland "make SkJumper stages normal Skia code""

This reverts commit 78cb579f33943421afc8423a39867fcfd69fed44.

Reason for revert: lowp should be controlled by defined(JUMPER_IS_SCALAR), not defined(__clang__).  So close.

Original change's description:
> Reland "make SkJumper stages normal Skia code"
> 
> This is a reland of 22e536e3a1a09405d1c0e6f071717a726d86e8d4
> 
> Now with fixed #include paths in SkRasterPipeline_opts.h,
> and -ffp-contract=fast for the :hsw target to minimize
> diffs on non-Windows Clang AVX2/AVX-512 bots.
> 
> Original change's description:
> > make SkJumper stages normal Skia code
> >
> > Enough clients are using Clang now that we can say, use Clang to build
> > if you want these software pipeline stages to go fast.
> >
> > This lets us drop the offline build aspect of SkJumper stages, instead
> > building as part of Skia using the SkOpts framework.
> >
> > I think everything should work, except I've (temporarily) removed
> > AVX-512 support.  I will put this back in a follow up.
> >
> > I have had to drop Windows down to __vectorcall and our narrower
> > stage calling convention that keeps the d-registers on the stack.
> > I tried forcing sysv_abi, but that crashed Clang.  :/
> >
> > Added a TODO to up the same narrower stage calling convention
> > for lowp stages... we just *don't* today, for no good reason.
> >
> > Change-Id: Iaaa792ffe4deab3508d2dc5d0008c163c24b3383
> > Reviewed-on: https://skia-review.googlesource.com/110641
> > Commit-Queue: Mike Klein <mtklein@chromium.org>
> > Reviewed-by: Herb Derby <herb@google.com>
> > Reviewed-by: Florin Malita <fmalita@chromium.org>
> 
> Change-Id: I44f2c03d33958e3807747e40904b6351957dd448
> Reviewed-on: https://skia-review.googlesource.com/112742
> Reviewed-by: Mike Klein <mtklein@chromium.org>

TBR=mtklein@chromium.org,herb@google.com,fmalita@chromium.org

Change-Id: Ie64da98f5187d44e03c0ce05d7cb189d4a6e6663
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/112743
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
diff --git a/BUILD.gn b/BUILD.gn
index b1f9c0b..f2a69e8 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -48,6 +48,10 @@
   skia_compile_processors = false
   skia_lex = false
 
+  skia_jumper_clang = ""
+  skia_jumper_objdump = ""
+  skia_jumper_ccache = ""
+
   skia_skqp_enable_driver_correctness_workarounds = false
   skia_skqp_global_error_tolerance = 0
 }
@@ -310,28 +314,6 @@
   }
 }
 
-opts("hsw") {
-  enabled = is_x86
-  sources = skia_opts.hsw_sources
-  if (!is_clang && is_win) {
-    cflags = [ "/arch:AVX2" ]
-  } else {
-    cflags = [
-      "-mavx2",
-      "-mf16c",
-      "-mfma",
-    ]
-  }
-
-  # Oddly, clang-cl doesn't recognize this as a valid flag.
-  # If it ever does, it'd nice to move this up with -mavx2 and co.
-  if (is_clang && !is_win) {
-    # This flag lets Clang generate FMAs when it sees a mul-then-add.  It's optional,
-    # but nice to have, generating slightly better code for paths without explicit FMAs.
-    cflags += [ "-ffp-contract=fast" ]
-  }
-}
-
 # Any feature of Skia that requires third-party code should be optional and use this template.
 template("optional") {
   if (invoker.enabled) {
@@ -793,7 +775,6 @@
     ":fontmgr_fuchsia",
     ":gpu",
     ":heif",
-    ":hsw",
     ":jpeg",
     ":none",
     ":pdf",
@@ -2120,3 +2101,28 @@
     }
   }
 }
+
+if (skia_jumper_clang != "") {
+  action("regen_jumper") {
+    script = "src/jumper/build_stages.py"
+
+    inputs = [
+      "src/jumper/SkJumper_stages.cpp",
+      "src/jumper/SkJumper_stages_lowp.cpp",
+    ]
+
+    # GN insists its outputs should go somewhere underneath target_out_dir, so we trick it.
+    outputs = [
+      "$target_out_dir/" +
+          rebase_path("src/jumper/SkJumper_generated.S", target_out_dir),
+      "$target_out_dir/" +
+          rebase_path("src/jumper/SkJumper_generated_win.S", target_out_dir),
+    ]
+
+    args = [
+             skia_jumper_clang,
+             skia_jumper_objdump,
+             skia_jumper_ccache,
+           ] + rebase_path(inputs) + rebase_path(outputs)
+  }
+}
diff --git a/gn/core.gni b/gn/core.gni
index 12a74ae..bcec7c0 100644
--- a/gn/core.gni
+++ b/gn/core.gni
@@ -440,8 +440,6 @@
   "$_include/core/SkUnPreMultiply.h",
   "$_include/core/SkVertices.h",
 
-  "$_src/jumper/SkJumper.cpp",
-
   # private
   "$_include/private/SkAtomics.h",
   "$_include/private/SkChecksum.h",
@@ -529,4 +527,20 @@
   "$_src/pathops/SkReduceOrder.h",
 ]
 
-skia_core_defines = []  #  Used to be used by Chromium, but no longer.
+skia_core_sources += [
+  "$_src/jumper/SkJumper.cpp",
+  "$_src/jumper/SkJumper_stages.cpp",
+  "$_src/jumper/SkJumper_stages_lowp.cpp",
+]
+skia_core_defines = []
+if (is_win) {
+  if (host_os == "win") {
+    skia_core_sources += [ "$_src/jumper/SkJumper_generated_win.S" ]
+  } else {
+    # TODO(thakis): Enable jumper in linux->win cross builds once the
+    # assembler situation is figured out, https://crbug.com/762167
+    skia_core_defines += [ "SK_JUMPER_USE_ASSEMBLY=0" ]
+  }
+} else if (target_cpu != "wasm") {
+  skia_core_sources += [ "$_src/jumper/SkJumper_generated.S" ]
+}
diff --git a/gn/gn_to_bp.py b/gn/gn_to_bp.py
index 4c8cba7..0dfada3 100644
--- a/gn/gn_to_bp.py
+++ b/gn/gn_to_bp.py
@@ -289,8 +289,7 @@
                                defs['ssse3'] +
                                defs['sse41'] +
                                defs['sse42'] +
-                               defs['avx'  ] +
-                               defs['hsw'  ]),
+                               defs['avx'  ]),
 
     'dm_includes'       : bpfmt(8, dm_includes),
     'dm_srcs'           : bpfmt(8, dm_srcs),
diff --git a/gn/opts.gni b/gn/opts.gni
index 34481db..1cc6027 100644
--- a/gn/opts.gni
+++ b/gn/opts.gni
@@ -51,4 +51,3 @@
 sse41 = [ "$_src/opts/SkOpts_sse41.cpp" ]
 sse42 = [ "$_src/opts/SkOpts_sse42.cpp" ]
 avx = [ "$_src/opts/SkOpts_avx.cpp" ]
-hsw = [ "$_src/opts/SkOpts_hsw.cpp" ]
diff --git a/gn/shared_sources.gni b/gn/shared_sources.gni
index 6df9999..29cac67 100644
--- a/gn/shared_sources.gni
+++ b/gn/shared_sources.gni
@@ -24,7 +24,7 @@
   sse41_sources = sse41
   sse42_sources = sse42
   avx_sources = avx
-  hsw_sources = hsw
+  hsw_sources = []  # remove after we update Chrome
 }
 
 # Skia Chromium defines. These flags will be defined in chromium If these
diff --git a/site/dev/contrib/jumper.md b/site/dev/contrib/jumper.md
new file mode 100644
index 0000000..f7ea3b1
--- /dev/null
+++ b/site/dev/contrib/jumper.md
@@ -0,0 +1,103 @@
+Contributing to SkJumper
+========================
+
+SkJumper is the execution engine of SkRasterPipeline, a system we've been using
+to accelerate CPU-bound work inside Skia, most notably color-space conversions
+and color-correct drawing.
+
+(This is where I'd put my link to design document if I had one...)
+
+SkJumper is more annoying to contribute to than most Skia code because of its
+offline compilation step.  You'll need particular tools installed on your
+machine and to tell GN about them.  This document is designed to guide you
+through this process and ease some of that annoyance.
+
+One-time Setup
+--------------
+
+To generate stage code you need Clang 5.0, objdump, and ccache.  It's best that
+Clang is exactly the same version we typically use (as of writing 5.0.0) and
+you'll need objdump to be compiled with support for x86-64, ARMv7, and ARMv8.
+
+The easiest way to satisfy these contraints is to get your hands on a Mac and
+install Xcode, Xcode command line tools, and [Homebrew](https://brew.sh).  Once
+you have `brew` installed, run these commands to get the tools you need:
+
+<!--?prettify lang=sh?-->
+
+    ls -d /usr/include >/dev/null || xcode-select --install
+    brew install llvm binutils ccache
+
+Setting up GN
+-------------------------
+
+With your tools installed, tell GN about them
+
+    skia_jumper_clang = path/to/clang-5.0
+    skia_jumper_objdump = path/to/gobjdump
+    skia_jumper_ccache = path/to/ccache
+
+then regenerate and build as normal.
+
+If you look in your GN out directory, you should now see a bunch of `.o` files,
+and `git status` should show no changes to `src/jumper/SkJumper_generated*.S`.
+That's good.  Those object files are the intermediates we parse to produce
+the assembly files.  We just leave them around in case you want to look at
+them yourself.
+
+Make A Change
+-------------
+
+Let's use the `from_srgb` stage as a little playground to make a real change.
+Linearizing sRGB encoded bytes is slow, so let's pretend we've decided to trade
+quality for speed, approximating the existing implementation with a simple square.
+
+Open up `SkJumper_stages.cpp` and find the `from_srgb` stage.  It'll look like
+
+<!--?prettify lang=cc?-->
+
+    STAGE(from_srgb) {
+        r = from_srgb(r);
+        g = from_srgb(g);
+        b = from_srgb(b);
+    }
+
+Let's replace whatever's there with our fast approximation:
+
+<!--?prettify lang=cc?-->
+
+    STAGE(from_srgb) {
+        r *= r;
+        g *= g;
+        b *= b;
+    }
+
+When you save and re-Ninja, you should now see changes to
+`src/jumper/SkJumper_generated.S` and `src/jumper/SkJumper_generated_win.S`.
+If you can't read assembly, no big deal.  If you can, run `git diff`.  You
+should see the various `sk_from_srgb_*` functions get dramatically simpler,
+something like three multiplies and a couple other bookkeeping instructions.
+
+It's not unusual for isolated changes in one stage to cause seemingly unrelated
+changes in another.  When adding or removing any code you'll usually see all
+the comments in branch instructions change a little bit, but the actual
+instruction on the left won't change.  When adding or removing uses of
+constants, you'll often see both the comment and instruction on the left change
+for other loads of constants from memory, especially on x86-64.  You'll also
+see some code that looks like garbage change; those are the constants.  If
+any of this worries you, please do go running to someone who knows more for
+help, but odds are everything is fine.
+
+At this point things should just be business as usual.  Any time you change
+`SkJumper_stages.cpp`, Ninja ought to notice and regenerate the assembly files.
+
+Adding a new Stage
+------------------
+
+Adding a new stage is a lot like changing an existing stage.  Edit
+`SkJumper_stages.cpp`, build Skia, test, repeat until correct.
+
+You'll just need to also edit `SkRasterPipeline.h` to add your new stage to the
+macro listing all the stages.  The stage name is the handle normal Skia code
+uses to refer to the stage abstractly, and the wiring between
+`SkRasterPipeline::foo` and `STAGE(foo) { ... }` should work automatically.
diff --git a/site/user/build.md b/site/user/build.md
index c9d17b4..1ddcfd8 100644
--- a/site/user/build.md
+++ b/site/user/build.md
@@ -33,18 +33,6 @@
 use `extra_cflags` and `extra_ldflags` to add include or library paths if
 needed.
 
-A note on software backend performance
---------------------------------------
-
-A number of routines in Skia's software backend have been written to run
-fastest when compiled by Clang.  If you depend on software rasterization, image
-decoding, or color space conversion and compile Skia with GCC, MSVC or another
-compiler, you will see dramatically worse performance than if you use Clang.
-
-This choice was only a matter of prioritization; there is nothing fundamentally
-wrong with non-Clang compilers.  So if this is a serious issue for you, please
-let us know on the mailing list.
-
 Quickstart
 ----------
 
diff --git a/src/core/SkOpts.cpp b/src/core/SkOpts.cpp
index dbf60ea..8a3d30e 100644
--- a/src/core/SkOpts.cpp
+++ b/src/core/SkOpts.cpp
@@ -40,7 +40,6 @@
 #include "SkBlitRow_opts.h"
 #include "SkChecksum_opts.h"
 #include "SkMorphologyImageFilter_opts.h"
-#include "SkRasterPipeline_opts.h"
 #include "SkSwizzler_opts.h"
 #include "SkUtils_opts.h"
 #include "SkXfermode_opts.h"
@@ -82,26 +81,11 @@
 
 #undef DEFINE_DEFAULT
 
-#define M(st) (StageFn)SK_OPTS_NS::st,
-    StageFn stages_highp[] = { SK_RASTER_PIPELINE_STAGES(M) };
-    StageFn just_return_highp = (StageFn)SK_OPTS_NS::just_return;
-    void (*start_pipeline_highp)(size_t,size_t,size_t,size_t,void**)
-        = SK_OPTS_NS::start_pipeline;
-#undef M
-
-#define M(st) (StageFn)SK_OPTS_NS::lowp::st,
-    StageFn stages_lowp[] = { SK_RASTER_PIPELINE_STAGES(M) };
-    StageFn just_return_lowp = (StageFn)SK_OPTS_NS::lowp::just_return;
-    void (*start_pipeline_lowp)(size_t,size_t,size_t,size_t,void**)
-        = SK_OPTS_NS::lowp::start_pipeline;
-#undef M
-
     // Each Init_foo() is defined in src/opts/SkOpts_foo.cpp.
     void Init_ssse3();
     void Init_sse41();
     void Init_sse42();
     void Init_avx();
-    void Init_hsw();
     void Init_crc32();
 
     static void init() {
@@ -120,8 +104,7 @@
         #endif
 
         #if SK_CPU_SSE_LEVEL < SK_CPU_SSE_LEVEL_AVX
-            if (SkCpu::Supports(SkCpu::AVX)) { Init_avx();   }
-            if (SkCpu::Supports(SkCpu::HSW)) { Init_hsw();   }
+            if (SkCpu::Supports(SkCpu::AVX  )) { Init_avx();   }
         #endif
 
     #elif defined(SK_CPU_ARM64)
diff --git a/src/core/SkOpts.h b/src/core/SkOpts.h
index 7f4e066..6e6e168 100644
--- a/src/core/SkOpts.h
+++ b/src/core/SkOpts.h
@@ -54,17 +54,6 @@
     static inline uint32_t hash(const void* data, size_t bytes, uint32_t seed=0) {
         return hash_fn(data, bytes, seed);
     }
-
-#define M(st) +1
-    // We can't necessarily express the type of SkJumper stage functions here,
-    // so we just use this void(*)(void) as a stand-in.
-    using StageFn = void(*)(void);
-    extern StageFn stages_highp[SK_RASTER_PIPELINE_STAGES(M)], just_return_highp;
-    extern StageFn stages_lowp [SK_RASTER_PIPELINE_STAGES(M)], just_return_lowp;
-
-    extern void (*start_pipeline_highp)(size_t,size_t,size_t,size_t, void**);
-    extern void (*start_pipeline_lowp )(size_t,size_t,size_t,size_t, void**);
-#undef M
 }
 
 #endif//SkOpts_DEFINED
diff --git a/src/core/SkRasterPipeline.h b/src/core/SkRasterPipeline.h
index a37ea44..605eebe 100644
--- a/src/core/SkRasterPipeline.h
+++ b/src/core/SkRasterPipeline.h
@@ -17,6 +17,8 @@
 #include <functional>
 #include <vector>
 
+struct SkJumper_Engine;
+
 /**
  * SkRasterPipeline provides a cheap way to chain together a pixel processing pipeline.
  *
@@ -161,9 +163,7 @@
         void*      ctx;
     };
 
-    using StartPipelineFn = void(*)(size_t,size_t,size_t,size_t, void** program);
-    StartPipelineFn build_pipeline(void**) const;
-
+    const SkJumper_Engine& build_pipeline(void**) const;
     void unchecked_append(StockStage, void*);
 
     SkArenaAlloc* fAlloc;
diff --git a/src/jumper/SkJumper.cpp b/src/jumper/SkJumper.cpp
index d14d83a..63d8ff1 100644
--- a/src/jumper/SkJumper.cpp
+++ b/src/jumper/SkJumper.cpp
@@ -5,46 +5,468 @@
  * found in the LICENSE file.
  */
 
+#include "SkColorData.h"
+#include "SkCpu.h"
 #include "SkJumper.h"
-#include "SkOpts.h"
+#include "SkOnce.h"
 #include "SkRasterPipeline.h"
 #include "SkTemplates.h"
 
-SkRasterPipeline::StartPipelineFn SkRasterPipeline::build_pipeline(void** ip) const {
-#ifndef SK_JUMPER_DISABLE_8BIT
-    // We'll try to build a lowp pipeline, but if that fails fallback to a highp float pipeline.
-    void** reset_point = ip;
+#if !defined(SK_JUMPER_USE_ASSEMBLY)
+    // We'll use __has_feature(memory_sanitizer) to detect MSAN.
+    // SkJumper_generated.S is not compiled with MSAN, so MSAN would yell really loud.
+    #if !defined(__has_feature)
+        #define __has_feature(x) 0
+    #endif
 
-    // Stages are stored backwards in fStages, so we reverse here, back to front.
-    *--ip = (void*)SkOpts::just_return_lowp;
+    #if 0 || __has_feature(memory_sanitizer)
+        #define SK_JUMPER_USE_ASSEMBLY 0
+    #else
+        #define SK_JUMPER_USE_ASSEMBLY 1
+    #endif
+#endif
+
+#define M(st) +1
+static const int kNumStages = SK_RASTER_PIPELINE_STAGES(M);
+#undef M
+
+#ifndef SK_JUMPER_DISABLE_8BIT
+    // Intentionally commented out; optional logging for local debugging.
+    #if 0 && SK_JUMPER_USE_ASSEMBLY && (defined(__x86_64__) || defined(_M_X64))
+        #include <atomic>
+
+        #define M(st) #st,
+        static const char* kStageNames[] = { SK_RASTER_PIPELINE_STAGES(M) };
+        #undef M
+
+        static std::atomic<int> gMissingStageCounters[kNumStages];
+
+        static void log_missing(SkRasterPipeline::StockStage st) {
+            static SkOnce once;
+            once([] { atexit([] {
+                int total = 0;
+                for (int i = 0; i < kNumStages; i++) {
+                    if (int count = gMissingStageCounters[i].load()) {
+                        SkDebugf("%7d\t%s\n", count, kStageNames[i]);
+                        total += count;
+                    }
+                }
+                SkDebugf("%7d total\n", total);
+            }); });
+
+            gMissingStageCounters[st]++;
+        }
+    #else
+        static void log_missing(SkRasterPipeline::StockStage) {}
+    #endif
+#endif
+
+// We can't express the real types of most stage functions portably, so we use a stand-in.
+// We'll only ever call start_pipeline(), which then chains into the rest.
+using StageFn         = void(void);
+using StartPipelineFn = void(size_t,size_t,size_t,size_t, void**);
+
+// Some platforms expect C "name" maps to asm "_name", others to "name".
+#if defined(__APPLE__)
+    #define ASM(name, suffix)  sk_##name##_##suffix
+#else
+    #define ASM(name, suffix) _sk_##name##_##suffix
+#endif
+
+extern "C" {
+
+#if !SK_JUMPER_USE_ASSEMBLY
+    // We'll just run baseline code.
+
+#elif defined(__x86_64__) || defined(_M_X64)
+    StartPipelineFn ASM(start_pipeline,       skx),
+                    ASM(start_pipeline,       hsw),
+                    ASM(start_pipeline,       avx),
+                    ASM(start_pipeline,     sse41),
+                    ASM(start_pipeline,      sse2),
+                    ASM(start_pipeline,  hsw_lowp),
+                    ASM(start_pipeline,sse41_lowp),
+                    ASM(start_pipeline, sse2_lowp);
+
+    StageFn ASM(just_return,       skx),
+            ASM(just_return,       hsw),
+            ASM(just_return,       avx),
+            ASM(just_return,     sse41),
+            ASM(just_return,      sse2),
+            ASM(just_return,  hsw_lowp),
+            ASM(just_return,sse41_lowp),
+            ASM(just_return, sse2_lowp);
+
+    #define M(st) StageFn ASM(st,  skx),      \
+                          ASM(st,  hsw),      \
+                          ASM(st,  avx),      \
+                          ASM(st,sse41),      \
+                          ASM(st, sse2),      \
+                          ASM(st,  hsw_lowp), \
+                          ASM(st,sse41_lowp), \
+                          ASM(st, sse2_lowp);
+        SK_RASTER_PIPELINE_STAGES(M)
+    #undef M
+
+#elif defined(__i386__) || defined(_M_IX86)
+    StartPipelineFn ASM(start_pipeline,sse2),
+                    ASM(start_pipeline,sse2_lowp);
+    StageFn ASM(just_return,sse2),
+            ASM(just_return,sse2_lowp);
+    #define M(st) StageFn ASM(st,sse2),      \
+                          ASM(st,sse2_lowp);
+        SK_RASTER_PIPELINE_STAGES(M)
+    #undef M
+
+#endif
+
+    // Baseline code compiled as a normal part of Skia.
+    StartPipelineFn sk_start_pipeline;
+    StageFn sk_just_return;
+    #define M(st) StageFn sk_##st;
+        SK_RASTER_PIPELINE_STAGES(M)
+    #undef M
+
+#if defined(JUMPER_HAS_NEON_LOWP)
+    StartPipelineFn sk_start_pipeline_lowp;
+    StageFn sk_just_return_lowp;
+    #define M(st) StageFn sk_##st##_lowp;
+        SK_RASTER_PIPELINE_STAGES(M)
+    #undef M
+#endif
+
+}
+
+#if SK_JUMPER_USE_ASSEMBLY
+    #if defined(__x86_64__) || defined(_M_X64)
+        template <SkRasterPipeline::StockStage st>
+        static constexpr StageFn* hsw_lowp();
+
+        template <SkRasterPipeline::StockStage st>
+        static constexpr StageFn* sse41_lowp();
+
+        template <SkRasterPipeline::StockStage st>
+        static constexpr StageFn* sse2_lowp();
+
+        #define LOWP(st) \
+            template <> constexpr StageFn* hsw_lowp<SkRasterPipeline::st>() {   \
+                return ASM(st,hsw_lowp);                                        \
+            }                                                                   \
+            template <> constexpr StageFn* sse41_lowp<SkRasterPipeline::st>() { \
+                return ASM(st,sse41_lowp);                                      \
+            }                                                                   \
+            template <> constexpr StageFn* sse2_lowp<SkRasterPipeline::st>() {  \
+                return ASM(st,sse2_lowp);                                       \
+            }
+        #define NOPE(st) \
+            template <> constexpr StageFn* hsw_lowp<SkRasterPipeline::st>() {   \
+                return nullptr;                                                 \
+            }                                                                   \
+            template <> constexpr StageFn* sse41_lowp<SkRasterPipeline::st>() { \
+                return nullptr;                                                 \
+            }                                                                   \
+            template <> constexpr StageFn* sse2_lowp<SkRasterPipeline::st>() {  \
+                return nullptr;                                                 \
+            }
+
+    #elif defined(__i386__) || defined(_M_IX86)
+        template <SkRasterPipeline::StockStage st>
+        static constexpr StageFn* sse2_lowp();
+
+        #define LOWP(st) \
+            template <> constexpr StageFn* sse2_lowp<SkRasterPipeline::st>() {  \
+                return ASM(st,sse2_lowp);                                       \
+            }
+        #define NOPE(st) \
+            template <> constexpr StageFn* sse2_lowp<SkRasterPipeline::st>() {  \
+                return nullptr;                                                 \
+            }
+
+    #elif defined(JUMPER_HAS_NEON_LOWP)
+        template <SkRasterPipeline::StockStage st>
+        static constexpr StageFn* neon_lowp();
+
+        #define LOWP(st)                                                         \
+            template <> constexpr StageFn* neon_lowp<SkRasterPipeline::st>() {   \
+                return sk_##st##_lowp;                                           \
+            }
+        #define NOPE(st)                                                         \
+            template <> constexpr StageFn* neon_lowp<SkRasterPipeline::st>() {   \
+                return nullptr;                                                  \
+            }
+
+    #else
+        #define LOWP(st)
+        #define NOPE(st)
+
+    #endif
+
+    #define TODO(st) NOPE(st)  // stages that should be implemented in lowp, but aren't.
+
+    NOPE(callback)
+    LOWP(move_src_dst) LOWP(move_dst_src)
+    NOPE(clamp_0) NOPE(clamp_1) LOWP(clamp_a) LOWP(clamp_a_dst)
+    NOPE(unpremul) LOWP(premul) LOWP(premul_dst)
+    LOWP(force_opaque) LOWP(force_opaque_dst)
+    LOWP(set_rgb) LOWP(swap_rb) LOWP(invert)
+    NOPE(from_srgb) NOPE(from_srgb_dst) NOPE(to_srgb)
+    LOWP(black_color) LOWP(white_color) LOWP(uniform_color)
+    LOWP(seed_shader) NOPE(dither)
+    LOWP(load_a8)   LOWP(load_a8_dst)   LOWP(store_a8)   LOWP(gather_a8)
+    LOWP(load_g8)   LOWP(load_g8_dst)                    LOWP(gather_g8)
+    LOWP(load_565)  LOWP(load_565_dst)  LOWP(store_565)  LOWP(gather_565)
+    LOWP(load_4444) LOWP(load_4444_dst) LOWP(store_4444) LOWP(gather_4444)
+    NOPE(load_f16)  NOPE(load_f16_dst)  NOPE(store_f16)  NOPE(gather_f16)
+    NOPE(load_f32)  NOPE(load_f32_dst)  NOPE(store_f32)
+    LOWP(load_8888) LOWP(load_8888_dst) LOWP(store_8888) LOWP(gather_8888)
+    LOWP(load_bgra) LOWP(load_bgra_dst) LOWP(store_bgra) LOWP(gather_bgra)
+    NOPE(load_1010102) NOPE(load_1010102_dst) NOPE(store_1010102) NOPE(gather_1010102)
+    TODO(bilerp_clamp_8888)
+    TODO(load_u16_be) TODO(load_rgb_u16_be) TODO(store_u16_be)
+    NOPE(load_tables_u16_be) NOPE(load_tables_rgb_u16_be) NOPE(load_tables)
+    NOPE(load_rgba) NOPE(store_rgba)
+    LOWP(scale_u8) LOWP(scale_565) LOWP(scale_1_float)
+    LOWP( lerp_u8) LOWP( lerp_565) LOWP( lerp_1_float)
+    LOWP(dstatop) LOWP(dstin) LOWP(dstout) LOWP(dstover)
+    LOWP(srcatop) LOWP(srcin) LOWP(srcout) LOWP(srcover)
+    LOWP(clear) LOWP(modulate) LOWP(multiply) LOWP(plus_) LOWP(screen) LOWP(xor_)
+    NOPE(colorburn) NOPE(colordodge) LOWP(darken) LOWP(difference)
+    LOWP(exclusion) LOWP(hardlight) LOWP(lighten) LOWP(overlay) NOPE(softlight)
+    NOPE(hue) NOPE(saturation) NOPE(color) NOPE(luminosity)
+    LOWP(srcover_rgba_8888) LOWP(srcover_bgra_8888)
+    LOWP(luminance_to_alpha)
+    LOWP(matrix_translate) LOWP(matrix_scale_translate)
+    LOWP(matrix_2x3) NOPE(matrix_3x4) TODO(matrix_4x5) TODO(matrix_4x3)
+    LOWP(matrix_perspective)
+    NOPE(parametric_r) NOPE(parametric_g) NOPE(parametric_b)
+    NOPE(parametric_a) NOPE(gamma) NOPE(gamma_dst)
+    NOPE(table_r) NOPE(table_g) NOPE(table_b) NOPE(table_a)
+    NOPE(lab_to_xyz)
+                    TODO(mirror_x)   TODO(repeat_x)
+                    TODO(mirror_y)   TODO(repeat_y)
+                    LOWP(decal_x)    LOWP(decal_y)   LOWP(decal_x_and_y)
+    LOWP(check_decal_mask)
+    TODO(bilinear_nx) TODO(bilinear_px) TODO(bilinear_ny) TODO(bilinear_py)
+    TODO(bicubic_n3x) TODO(bicubic_n1x) TODO(bicubic_p1x) TODO(bicubic_p3x)
+    TODO(bicubic_n3y) TODO(bicubic_n1y) TODO(bicubic_p1y) TODO(bicubic_p3y)
+    TODO(save_xy) TODO(accumulate)
+    LOWP(clamp_x_1) LOWP(mirror_x_1) LOWP(repeat_x_1)
+    LOWP(evenly_spaced_gradient)
+    LOWP(gradient)
+    LOWP(evenly_spaced_2_stop_gradient)
+    LOWP(xy_to_unit_angle)
+    LOWP(xy_to_radius)
+    TODO(negate_x)
+    TODO(xy_to_2pt_conical_strip)
+    TODO(xy_to_2pt_conical_focal_on_circle)
+    TODO(xy_to_2pt_conical_well_behaved)
+    TODO(xy_to_2pt_conical_greater)
+    TODO(xy_to_2pt_conical_smaller)
+    TODO(alter_2pt_conical_compensate_focal)
+    TODO(alter_2pt_conical_unswap)
+    TODO(mask_2pt_conical_nan) TODO(mask_2pt_conical_degenerates) TODO(apply_vector_mask)
+    TODO(byte_tables) TODO(byte_tables_rgb)
+    NOPE(rgb_to_hsl) NOPE(hsl_to_rgb)
+    NOPE(clut_3D) NOPE(clut_4D)
+    NOPE(gauss_a_to_rgba)
+
+    #undef LOWP
+    #undef TODO
+    #undef NOPE
+#endif
+
+// Engines comprise everything we need to run SkRasterPipelines.
+struct SkJumper_Engine {
+    StageFn*         stages[kNumStages];
+    StartPipelineFn* start_pipeline;
+    StageFn*         just_return;
+};
+
+// We'll default to this baseline engine, but try to choose a better one at runtime.
+static const SkJumper_Engine kBaseline = {
+#define M(stage) sk_##stage,
+    { SK_RASTER_PIPELINE_STAGES(M) },
+#undef M
+    sk_start_pipeline,
+    sk_just_return,
+};
+static SkJumper_Engine gEngine = kBaseline;
+static SkOnce gChooseEngineOnce;
+
+static SkJumper_Engine choose_engine() {
+#if !SK_JUMPER_USE_ASSEMBLY
+    // We'll just run baseline code.
+
+#elif defined(__x86_64__) || defined(_M_X64)
+    #if !defined(_MSC_VER)  // No _skx stages for Windows yet.
+        if (1 && SkCpu::Supports(SkCpu::SKX)) {
+            return {
+            #define M(stage) ASM(stage, skx),
+                { SK_RASTER_PIPELINE_STAGES(M) },
+                M(start_pipeline)
+                M(just_return)
+            #undef M
+            };
+        }
+    #endif
+    if (1 && SkCpu::Supports(SkCpu::HSW)) {
+        return {
+        #define M(stage) ASM(stage, hsw),
+            { SK_RASTER_PIPELINE_STAGES(M) },
+            M(start_pipeline)
+            M(just_return)
+        #undef M
+        };
+    }
+    if (1 && SkCpu::Supports(SkCpu::AVX)) {
+        return {
+        #define M(stage) ASM(stage, avx),
+            { SK_RASTER_PIPELINE_STAGES(M) },
+            M(start_pipeline)
+            M(just_return)
+        #undef M
+        };
+    }
+    if (1 && SkCpu::Supports(SkCpu::SSE41)) {
+        return {
+        #define M(stage) ASM(stage, sse41),
+            { SK_RASTER_PIPELINE_STAGES(M) },
+            M(start_pipeline)
+            M(just_return)
+        #undef M
+        };
+    }
+    if (1 && SkCpu::Supports(SkCpu::SSE2)) {
+        return {
+        #define M(stage) ASM(stage, sse2),
+            { SK_RASTER_PIPELINE_STAGES(M) },
+            M(start_pipeline)
+            M(just_return)
+        #undef M
+        };
+    }
+
+#elif defined(__i386__) || defined(_M_IX86)
+    if (1 && SkCpu::Supports(SkCpu::SSE2)) {
+        return {
+        #define M(stage) ASM(stage, sse2),
+            { SK_RASTER_PIPELINE_STAGES(M) },
+            M(start_pipeline)
+            M(just_return)
+        #undef M
+        };
+    }
+
+#endif
+    return kBaseline;
+}
+
+#ifndef SK_JUMPER_DISABLE_8BIT
+    static const SkJumper_Engine kNone = {
+    #define M(stage) nullptr,
+        { SK_RASTER_PIPELINE_STAGES(M) },
+    #undef M
+        nullptr,
+        nullptr,
+    };
+    static SkJumper_Engine gLowp = kNone;
+    static SkOnce gChooseLowpOnce;
+
+    static SkJumper_Engine choose_lowp() {
+    #if SK_JUMPER_USE_ASSEMBLY
+        #if defined(__x86_64__) || defined(_M_X64)
+            if (1 && SkCpu::Supports(SkCpu::HSW)) {
+                return {
+                #define M(st) hsw_lowp<SkRasterPipeline::st>(),
+                    { SK_RASTER_PIPELINE_STAGES(M) },
+                    ASM(start_pipeline,hsw_lowp),
+                    ASM(just_return   ,hsw_lowp),
+                #undef M
+                };
+            }
+            if (1 && SkCpu::Supports(SkCpu::SSE41)) {
+                return {
+                #define M(st) sse41_lowp<SkRasterPipeline::st>(),
+                    { SK_RASTER_PIPELINE_STAGES(M) },
+                    ASM(start_pipeline,sse41_lowp),
+                    ASM(just_return   ,sse41_lowp),
+                #undef M
+                };
+            }
+            if (1 && SkCpu::Supports(SkCpu::SSE2)) {
+                return {
+                #define M(st) sse2_lowp<SkRasterPipeline::st>(),
+                    { SK_RASTER_PIPELINE_STAGES(M) },
+                    ASM(start_pipeline,sse2_lowp),
+                    ASM(just_return   ,sse2_lowp),
+                #undef M
+                };
+            }
+        #elif defined(__i386__) || defined(_M_IX86)
+            if (1 && SkCpu::Supports(SkCpu::SSE2)) {
+                return {
+                #define M(st) sse2_lowp<SkRasterPipeline::st>(),
+                    { SK_RASTER_PIPELINE_STAGES(M) },
+                    ASM(start_pipeline,sse2_lowp),
+                    ASM(just_return   ,sse2_lowp),
+                #undef M
+                };
+            }
+
+        #elif defined(JUMPER_HAS_NEON_LOWP)
+            return {
+            #define M(st) neon_lowp<SkRasterPipeline::st>(),
+                { SK_RASTER_PIPELINE_STAGES(M) },
+                sk_start_pipeline_lowp,
+                sk_just_return_lowp,
+            #undef M
+            };
+        #endif
+    #endif
+        return kNone;
+    }
+#endif
+
+const SkJumper_Engine& SkRasterPipeline::build_pipeline(void** ip) const {
+#ifndef SK_JUMPER_DISABLE_8BIT
+    gChooseLowpOnce([]{ gLowp = choose_lowp(); });
+
+    // First try to build a lowp pipeline.  If that fails, fall back to normal float gEngine.
+    void** reset_point = ip;
+    *--ip = (void*)gLowp.just_return;
     for (const StageList* st = fStages; st; st = st->prev) {
         if (st->stage == SkRasterPipeline::clamp_0 ||
             st->stage == SkRasterPipeline::clamp_1) {
             continue;  // No-ops in lowp.
         }
-        if (auto fn = SkOpts::stages_lowp[st->stage]) {
+        if (StageFn* fn = gLowp.stages[st->stage]) {
             if (st->ctx) {
                 *--ip = st->ctx;
             }
             *--ip = (void*)fn;
         } else {
+            log_missing(st->stage);
             ip = reset_point;
             break;
         }
     }
     if (ip != reset_point) {
-        return SkOpts::start_pipeline_lowp;
+        return gLowp;
     }
 #endif
 
-    *--ip = (void*)SkOpts::just_return_highp;
+    gChooseEngineOnce([]{ gEngine = choose_engine(); });
+    // We're building the pipeline backwards, so we start with the final stage just_return.
+    *--ip = (void*)gEngine.just_return;
+
+    // Still going backwards, each stage's context pointer then its StageFn.
     for (const StageList* st = fStages; st; st = st->prev) {
         if (st->ctx) {
             *--ip = st->ctx;
         }
-        *--ip = (void*)SkOpts::stages_highp[st->stage];
+        *--ip = (void*)gEngine.stages[st->stage];
     }
-    return SkOpts::start_pipeline_highp;
+    return gEngine;
 }
 
 void SkRasterPipeline::run(size_t x, size_t y, size_t w, size_t h) const {
@@ -55,8 +477,8 @@
     // Best to not use fAlloc here... we can't bound how often run() will be called.
     SkAutoSTMalloc<64, void*> program(fSlotsNeeded);
 
-    auto start_pipeline = this->build_pipeline(program.get() + fSlotsNeeded);
-    start_pipeline(x,y,x+w,y+h, program.get());
+    const SkJumper_Engine& engine = this->build_pipeline(program.get() + fSlotsNeeded);
+    engine.start_pipeline(x,y,x+w,y+h, program.get());
 }
 
 std::function<void(size_t, size_t, size_t, size_t)> SkRasterPipeline::compile() const {
@@ -65,8 +487,9 @@
     }
 
     void** program = fAlloc->makeArray<void*>(fSlotsNeeded);
+    const SkJumper_Engine& engine = this->build_pipeline(program + fSlotsNeeded);
 
-    auto start_pipeline = this->build_pipeline(program + fSlotsNeeded);
+    auto start_pipeline = engine.start_pipeline;
     return [=](size_t x, size_t y, size_t w, size_t h) {
         start_pipeline(x,y,x+w,y+h, program);
     };
diff --git a/src/jumper/SkJumper.h b/src/jumper/SkJumper.h
index d4c4698..e7bf9b2 100644
--- a/src/jumper/SkJumper.h
+++ b/src/jumper/SkJumper.h
@@ -11,11 +11,34 @@
 #include <stddef.h>
 #include <stdint.h>
 
-// This file contains definitions shared by SkJumper.cpp/SkJumper_stages.cpp
-// and the rest of Skia.  It is important to keep the interface to SkJumper
-// limited and simple to avoid serious ODR violation pitfalls, especially when
-// using Microsoft's <math.h> and similar headers with inline-but-not-static
-// function definitions.
+// This file contains definitions shared by SkJumper.cpp (compiled normally as part of Skia)
+// and SkJumper_stages.cpp (compiled into Skia _and_ offline into SkJumper_generated.h).
+// Keep it simple!
+
+// Externally facing functions (start_pipeline) are called a little specially on Windows.
+#if defined(JUMPER_IS_OFFLINE) && defined(WIN) && defined(__x86_64__)
+    #define MAYBE_MSABI __attribute__((ms_abi))                   // Use MS' ABI, not System V.
+#elif defined(JUMPER_IS_OFFLINE) && defined(WIN) && defined(__i386__)
+    #define MAYBE_MSABI __attribute__((force_align_arg_pointer))  // Re-align stack 4 -> 16 bytes.
+#else
+    #define MAYBE_MSABI
+#endif
+
+// Any custom ABI to use for all non-externally-facing stage functions.
+#if defined(__ARM_NEON) && defined(__arm__)
+    // This lets us pass vectors more efficiently on 32-bit ARM.
+    #define ABI __attribute__((pcs("aapcs-vfp")))
+#else
+    #define ABI
+#endif
+
+// On ARM we expect that you're using Clang if you want SkJumper to be fast.
+// If you are, the baseline float stages will use NEON, and lowp stages will
+// also be available. (If somehow you're building for ARM not using Clang,
+// you'll get scalar baseline stages and no lowp support.)
+#if defined(__clang__) && defined(__ARM_NEON)
+    #define JUMPER_HAS_NEON_LOWP
+#endif
 
 static const int SkJumper_kMaxStride = 16;
 
@@ -53,7 +76,7 @@
 };
 
 struct SkJumper_CallbackCtx {
-    void (*fn)(SkJumper_CallbackCtx* self, int active_pixels/*<= SkJumper_kMaxStride*/);
+    MAYBE_MSABI void (*fn)(SkJumper_CallbackCtx* self, int active_pixels/*<= SkJumper_kMaxStride*/);
 
     // When called, fn() will have our active pixels available in rgba.
     // When fn() returns, the pipeline will read back those active pixels from read_from.
diff --git a/src/jumper/SkJumper_generated.S b/src/jumper/SkJumper_generated.S
new file mode 100644
index 0000000..b68141e
--- /dev/null
+++ b/src/jumper/SkJumper_generated.S
@@ -0,0 +1,83545 @@
+# Copyright 2017 Google Inc.
+#
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# This file is generated semi-automatically with this command:
+#   $ src/jumper/build_stages.py
+
+#if defined(__MACH__)
+    #define HIDDEN .private_extern
+    #define FUNCTION(name)
+    #define BALIGN4  .align 2
+    #define BALIGN8  .align 3
+    #define BALIGN16 .align 4
+    #define BALIGN32 .align 5
+#else
+    .section .note.GNU-stack,"",%progbits
+    #define HIDDEN .hidden
+    #define FUNCTION(name) .type name,%function
+    #define BALIGN4  .balign 4
+    #define BALIGN8  .balign 8
+    #define BALIGN16 .balign 16
+    #define BALIGN32 .balign 32
+#endif
+.text
+#if defined(__x86_64__)
+BALIGN32
+
+HIDDEN _sk_start_pipeline_skx
+.globl _sk_start_pipeline_skx
+FUNCTION(_sk_start_pipeline_skx)
+_sk_start_pipeline_skx:
+  .byte  85                                  // push          %rbp
+  .byte  72,137,229                          // mov           %rsp,%rbp
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,85                               // push          %r13
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,131,236,24                       // sub           $0x18,%rsp
+  .byte  73,137,215                          // mov           %rdx,%r15
+  .byte  72,137,243                          // mov           %rsi,%rbx
+  .byte  72,137,125,208                      // mov           %rdi,-0x30(%rbp)
+  .byte  76,137,198                          // mov           %r8,%rsi
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  73,137,197                          // mov           %rax,%r13
+  .byte  73,137,246                          // mov           %rsi,%r14
+  .byte  72,137,77,192                       // mov           %rcx,-0x40(%rbp)
+  .byte  72,57,203                           // cmp           %rcx,%rbx
+  .byte  15,131,152,0,0,0                    // jae           cb <_sk_start_pipeline_skx+0xcb>
+  .byte  72,139,69,208                       // mov           -0x30(%rbp),%rax
+  .byte  72,141,64,8                         // lea           0x8(%rax),%rax
+  .byte  72,137,69,200                       // mov           %rax,-0x38(%rbp)
+  .byte  72,139,85,208                       // mov           -0x30(%rbp),%rdx
+  .byte  76,57,125,200                       // cmp           %r15,-0x38(%rbp)
+  .byte  119,67                              // ja            8c <_sk_start_pipeline_skx+0x8c>
+  .byte  76,139,101,208                      // mov           -0x30(%rbp),%r12
+  .byte  49,255                              // xor           %edi,%edi
+  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  197,220,87,228                      // vxorps        %ymm4,%ymm4,%ymm4
+  .byte  197,212,87,237                      // vxorps        %ymm5,%ymm5,%ymm5
+  .byte  197,204,87,246                      // vxorps        %ymm6,%ymm6,%ymm6
+  .byte  197,196,87,255                      // vxorps        %ymm7,%ymm7,%ymm7
+  .byte  76,137,246                          // mov           %r14,%rsi
+  .byte  76,137,226                          // mov           %r12,%rdx
+  .byte  72,137,217                          // mov           %rbx,%rcx
+  .byte  65,255,213                          // callq         *%r13
+  .byte  73,141,84,36,8                      // lea           0x8(%r12),%rdx
+  .byte  73,131,196,16                       // add           $0x10,%r12
+  .byte  77,57,252                           // cmp           %r15,%r12
+  .byte  73,137,212                          // mov           %rdx,%r12
+  .byte  118,193                             // jbe           4d <_sk_start_pipeline_skx+0x4d>
+  .byte  76,137,255                          // mov           %r15,%rdi
+  .byte  72,41,215                           // sub           %rdx,%rdi
+  .byte  116,41                              // je            bd <_sk_start_pipeline_skx+0xbd>
+  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  197,220,87,228                      // vxorps        %ymm4,%ymm4,%ymm4
+  .byte  197,212,87,237                      // vxorps        %ymm5,%ymm5,%ymm5
+  .byte  197,204,87,246                      // vxorps        %ymm6,%ymm6,%ymm6
+  .byte  197,196,87,255                      // vxorps        %ymm7,%ymm7,%ymm7
+  .byte  76,137,246                          // mov           %r14,%rsi
+  .byte  72,137,217                          // mov           %rbx,%rcx
+  .byte  65,255,213                          // callq         *%r13
+  .byte  72,131,195,1                        // add           $0x1,%rbx
+  .byte  72,59,93,192                        // cmp           -0x40(%rbp),%rbx
+  .byte  15,133,116,255,255,255              // jne           3f <_sk_start_pipeline_skx+0x3f>
+  .byte  72,131,196,24                       // add           $0x18,%rsp
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,93                               // pop           %r13
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  93                                  // pop           %rbp
+  .byte  197,248,119                         // vzeroupper
+  .byte  195                                 // retq
+
+HIDDEN _sk_just_return_skx
+.globl _sk_just_return_skx
+FUNCTION(_sk_just_return_skx)
+_sk_just_return_skx:
+  .byte  195                                 // retq
+
+HIDDEN _sk_seed_shader_skx
+.globl _sk_seed_shader_skx
+FUNCTION(_sk_seed_shader_skx)
+_sk_seed_shader_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  98,242,125,40,124,194               // vpbroadcastd  %edx,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  197,252,88,0                        // vaddps        (%rax),%ymm0,%ymm0
+  .byte  98,242,125,40,124,201               // vpbroadcastd  %ecx,%ymm1
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  98,241,116,56,88,13,246,195,3,0     // vaddps        0x3c3f6(%rip){1to8},%ymm1,%ymm1        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,21,239,195,3,0       // vbroadcastss  0x3c3ef(%rip),%ymm2        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  197,220,87,228                      // vxorps        %ymm4,%ymm4,%ymm4
+  .byte  197,212,87,237                      // vxorps        %ymm5,%ymm5,%ymm5
+  .byte  197,204,87,246                      // vxorps        %ymm6,%ymm6,%ymm6
+  .byte  197,196,87,255                      // vxorps        %ymm7,%ymm7,%ymm7
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_dither_skx
+.globl _sk_dither_skx
+FUNCTION(_sk_dither_skx)
+_sk_dither_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  98,114,125,40,124,194               // vpbroadcastd  %edx,%ymm8
+  .byte  197,61,254,5,141,197,3,0            // vpaddd        0x3c58d(%rip),%ymm8,%ymm8        # 3c6c0 <_sk_srcover_bgra_8888_sse2_lowp+0x474>
+  .byte  98,114,125,40,124,201               // vpbroadcastd  %ecx,%ymm9
+  .byte  196,65,53,239,200                   // vpxor         %ymm8,%ymm9,%ymm9
+  .byte  196,98,125,88,21,185,195,3,0        // vpbroadcastd  0x3c3b9(%rip),%ymm10        # 3c500 <_sk_srcover_bgra_8888_sse2_lowp+0x2b4>
+  .byte  196,65,53,219,218                   // vpand         %ymm10,%ymm9,%ymm11
+  .byte  196,193,37,114,243,5                // vpslld        $0x5,%ymm11,%ymm11
+  .byte  196,65,61,219,210                   // vpand         %ymm10,%ymm8,%ymm10
+  .byte  196,193,45,114,242,4                // vpslld        $0x4,%ymm10,%ymm10
+  .byte  196,98,125,88,37,158,195,3,0        // vpbroadcastd  0x3c39e(%rip),%ymm12        # 3c504 <_sk_srcover_bgra_8888_sse2_lowp+0x2b8>
+  .byte  196,98,125,88,45,153,195,3,0        // vpbroadcastd  0x3c399(%rip),%ymm13        # 3c508 <_sk_srcover_bgra_8888_sse2_lowp+0x2bc>
+  .byte  196,65,53,219,245                   // vpand         %ymm13,%ymm9,%ymm14
+  .byte  196,193,13,114,246,2                // vpslld        $0x2,%ymm14,%ymm14
+  .byte  196,65,37,235,222                   // vpor          %ymm14,%ymm11,%ymm11
+  .byte  196,65,61,219,237                   // vpand         %ymm13,%ymm8,%ymm13
+  .byte  196,65,21,254,237                   // vpaddd        %ymm13,%ymm13,%ymm13
+  .byte  196,65,21,235,210                   // vpor          %ymm10,%ymm13,%ymm10
+  .byte  196,65,53,219,204                   // vpand         %ymm12,%ymm9,%ymm9
+  .byte  196,193,53,114,209,1                // vpsrld        $0x1,%ymm9,%ymm9
+  .byte  196,65,61,219,196                   // vpand         %ymm12,%ymm8,%ymm8
+  .byte  196,193,61,114,208,2                // vpsrld        $0x2,%ymm8,%ymm8
+  .byte  196,65,45,235,192                   // vpor          %ymm8,%ymm10,%ymm8
+  .byte  196,65,61,235,195                   // vpor          %ymm11,%ymm8,%ymm8
+  .byte  196,65,61,235,193                   // vpor          %ymm9,%ymm8,%ymm8
+  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
+  .byte  196,98,125,24,13,75,195,3,0         // vbroadcastss  0x3c34b(%rip),%ymm9        # 3c50c <_sk_srcover_bgra_8888_sse2_lowp+0x2c0>
+  .byte  98,114,61,56,168,13,69,195,3,0      // vfmadd213ps   0x3c345(%rip){1to8},%ymm8,%ymm9        # 3c510 <_sk_srcover_bgra_8888_sse2_lowp+0x2c4>
+  .byte  196,98,125,24,0                     // vbroadcastss  (%rax),%ymm8
+  .byte  196,65,52,89,192                    // vmulps        %ymm8,%ymm9,%ymm8
+  .byte  197,188,88,192                      // vaddps        %ymm0,%ymm8,%ymm0
+  .byte  197,188,88,201                      // vaddps        %ymm1,%ymm8,%ymm1
+  .byte  197,188,88,210                      // vaddps        %ymm2,%ymm8,%ymm2
+  .byte  197,252,93,195                      // vminps        %ymm3,%ymm0,%ymm0
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,188,95,192                      // vmaxps        %ymm0,%ymm8,%ymm0
+  .byte  197,244,93,203                      // vminps        %ymm3,%ymm1,%ymm1
+  .byte  197,188,95,201                      // vmaxps        %ymm1,%ymm8,%ymm1
+  .byte  197,236,93,211                      // vminps        %ymm3,%ymm2,%ymm2
+  .byte  197,188,95,210                      // vmaxps        %ymm2,%ymm8,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_uniform_color_skx
+.globl _sk_uniform_color_skx
+FUNCTION(_sk_uniform_color_skx)
+_sk_uniform_color_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,0                    // vbroadcastss  (%rax),%ymm0
+  .byte  196,226,125,24,72,4                 // vbroadcastss  0x4(%rax),%ymm1
+  .byte  196,226,125,24,80,8                 // vbroadcastss  0x8(%rax),%ymm2
+  .byte  196,226,125,24,88,12                // vbroadcastss  0xc(%rax),%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_black_color_skx
+.globl _sk_black_color_skx
+FUNCTION(_sk_black_color_skx)
+_sk_black_color_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,29,210,194,3,0       // vbroadcastss  0x3c2d2(%rip),%ymm3        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_white_color_skx
+.globl _sk_white_color_skx
+FUNCTION(_sk_white_color_skx)
+_sk_white_color_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,5,185,194,3,0        // vbroadcastss  0x3c2b9(%rip),%ymm0        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,252,40,200                      // vmovaps       %ymm0,%ymm1
+  .byte  197,252,40,208                      // vmovaps       %ymm0,%ymm2
+  .byte  197,252,40,216                      // vmovaps       %ymm0,%ymm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_load_rgba_skx
+.globl _sk_load_rgba_skx
+FUNCTION(_sk_load_rgba_skx)
+_sk_load_rgba_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,16,0                        // vmovups       (%rax),%ymm0
+  .byte  197,252,16,72,32                    // vmovups       0x20(%rax),%ymm1
+  .byte  197,252,16,80,64                    // vmovups       0x40(%rax),%ymm2
+  .byte  197,252,16,88,96                    // vmovups       0x60(%rax),%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_store_rgba_skx
+.globl _sk_store_rgba_skx
+FUNCTION(_sk_store_rgba_skx)
+_sk_store_rgba_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,17,0                        // vmovups       %ymm0,(%rax)
+  .byte  197,252,17,72,32                    // vmovups       %ymm1,0x20(%rax)
+  .byte  197,252,17,80,64                    // vmovups       %ymm2,0x40(%rax)
+  .byte  197,252,17,88,96                    // vmovups       %ymm3,0x60(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_clear_skx
+.globl _sk_clear_skx
+FUNCTION(_sk_clear_skx)
+_sk_clear_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_srcatop_skx
+.globl _sk_srcatop_skx
+FUNCTION(_sk_srcatop_skx)
+_sk_srcatop_skx:
+  .byte  197,252,89,199                      // vmulps        %ymm7,%ymm0,%ymm0
+  .byte  196,98,125,24,5,88,194,3,0          // vbroadcastss  0x3c258(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
+  .byte  196,226,61,184,196                  // vfmadd231ps   %ymm4,%ymm8,%ymm0
+  .byte  197,244,89,207                      // vmulps        %ymm7,%ymm1,%ymm1
+  .byte  196,226,61,184,205                  // vfmadd231ps   %ymm5,%ymm8,%ymm1
+  .byte  197,236,89,215                      // vmulps        %ymm7,%ymm2,%ymm2
+  .byte  196,226,61,184,214                  // vfmadd231ps   %ymm6,%ymm8,%ymm2
+  .byte  197,60,89,199                       // vmulps        %ymm7,%ymm8,%ymm8
+  .byte  196,194,69,168,216                  // vfmadd213ps   %ymm8,%ymm7,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_dstatop_skx
+.globl _sk_dstatop_skx
+FUNCTION(_sk_dstatop_skx)
+_sk_dstatop_skx:
+  .byte  196,98,125,24,5,39,194,3,0          // vbroadcastss  0x3c227(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,199                       // vsubps        %ymm7,%ymm8,%ymm8
+  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
+  .byte  196,226,101,184,196                 // vfmadd231ps   %ymm4,%ymm3,%ymm0
+  .byte  197,188,89,201                      // vmulps        %ymm1,%ymm8,%ymm1
+  .byte  196,226,101,184,205                 // vfmadd231ps   %ymm5,%ymm3,%ymm1
+  .byte  197,188,89,210                      // vmulps        %ymm2,%ymm8,%ymm2
+  .byte  196,226,101,184,214                 // vfmadd231ps   %ymm6,%ymm3,%ymm2
+  .byte  197,60,89,195                       // vmulps        %ymm3,%ymm8,%ymm8
+  .byte  196,194,69,168,216                  // vfmadd213ps   %ymm8,%ymm7,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_srcin_skx
+.globl _sk_srcin_skx
+FUNCTION(_sk_srcin_skx)
+_sk_srcin_skx:
+  .byte  197,252,89,199                      // vmulps        %ymm7,%ymm0,%ymm0
+  .byte  197,244,89,207                      // vmulps        %ymm7,%ymm1,%ymm1
+  .byte  197,236,89,215                      // vmulps        %ymm7,%ymm2,%ymm2
+  .byte  197,228,89,223                      // vmulps        %ymm7,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_dstin_skx
+.globl _sk_dstin_skx
+FUNCTION(_sk_dstin_skx)
+_sk_dstin_skx:
+  .byte  197,228,89,196                      // vmulps        %ymm4,%ymm3,%ymm0
+  .byte  197,228,89,205                      // vmulps        %ymm5,%ymm3,%ymm1
+  .byte  197,228,89,214                      // vmulps        %ymm6,%ymm3,%ymm2
+  .byte  197,228,89,223                      // vmulps        %ymm7,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_srcout_skx
+.globl _sk_srcout_skx
+FUNCTION(_sk_srcout_skx)
+_sk_srcout_skx:
+  .byte  196,98,125,24,5,202,193,3,0         // vbroadcastss  0x3c1ca(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,199                       // vsubps        %ymm7,%ymm8,%ymm8
+  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
+  .byte  197,188,89,201                      // vmulps        %ymm1,%ymm8,%ymm1
+  .byte  197,188,89,210                      // vmulps        %ymm2,%ymm8,%ymm2
+  .byte  197,188,89,219                      // vmulps        %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_dstout_skx
+.globl _sk_dstout_skx
+FUNCTION(_sk_dstout_skx)
+_sk_dstout_skx:
+  .byte  196,226,125,24,5,169,193,3,0        // vbroadcastss  0x3c1a9(%rip),%ymm0        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,252,92,219                      // vsubps        %ymm3,%ymm0,%ymm3
+  .byte  197,228,89,196                      // vmulps        %ymm4,%ymm3,%ymm0
+  .byte  197,228,89,205                      // vmulps        %ymm5,%ymm3,%ymm1
+  .byte  197,228,89,214                      // vmulps        %ymm6,%ymm3,%ymm2
+  .byte  197,228,89,223                      // vmulps        %ymm7,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_srcover_skx
+.globl _sk_srcover_skx
+FUNCTION(_sk_srcover_skx)
+_sk_srcover_skx:
+  .byte  196,98,125,24,5,136,193,3,0         // vbroadcastss  0x3c188(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
+  .byte  196,194,93,184,192                  // vfmadd231ps   %ymm8,%ymm4,%ymm0
+  .byte  196,194,85,184,200                  // vfmadd231ps   %ymm8,%ymm5,%ymm1
+  .byte  196,194,77,184,208                  // vfmadd231ps   %ymm8,%ymm6,%ymm2
+  .byte  196,194,69,184,216                  // vfmadd231ps   %ymm8,%ymm7,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_dstover_skx
+.globl _sk_dstover_skx
+FUNCTION(_sk_dstover_skx)
+_sk_dstover_skx:
+  .byte  196,98,125,24,5,99,193,3,0          // vbroadcastss  0x3c163(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,199                       // vsubps        %ymm7,%ymm8,%ymm8
+  .byte  196,226,61,168,196                  // vfmadd213ps   %ymm4,%ymm8,%ymm0
+  .byte  196,226,61,168,205                  // vfmadd213ps   %ymm5,%ymm8,%ymm1
+  .byte  196,226,61,168,214                  // vfmadd213ps   %ymm6,%ymm8,%ymm2
+  .byte  196,226,61,168,223                  // vfmadd213ps   %ymm7,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_modulate_skx
+.globl _sk_modulate_skx
+FUNCTION(_sk_modulate_skx)
+_sk_modulate_skx:
+  .byte  197,252,89,196                      // vmulps        %ymm4,%ymm0,%ymm0
+  .byte  197,244,89,205                      // vmulps        %ymm5,%ymm1,%ymm1
+  .byte  197,236,89,214                      // vmulps        %ymm6,%ymm2,%ymm2
+  .byte  197,228,89,223                      // vmulps        %ymm7,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_multiply_skx
+.globl _sk_multiply_skx
+FUNCTION(_sk_multiply_skx)
+_sk_multiply_skx:
+  .byte  196,98,125,24,5,42,193,3,0          // vbroadcastss  0x3c12a(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,207                       // vsubps        %ymm7,%ymm8,%ymm9
+  .byte  197,52,89,208                       // vmulps        %ymm0,%ymm9,%ymm10
+  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
+  .byte  196,98,61,184,212                   // vfmadd231ps   %ymm4,%ymm8,%ymm10
+  .byte  196,194,93,168,194                  // vfmadd213ps   %ymm10,%ymm4,%ymm0
+  .byte  197,52,89,209                       // vmulps        %ymm1,%ymm9,%ymm10
+  .byte  196,98,61,184,213                   // vfmadd231ps   %ymm5,%ymm8,%ymm10
+  .byte  196,194,85,168,202                  // vfmadd213ps   %ymm10,%ymm5,%ymm1
+  .byte  197,52,89,210                       // vmulps        %ymm2,%ymm9,%ymm10
+  .byte  196,98,61,184,214                   // vfmadd231ps   %ymm6,%ymm8,%ymm10
+  .byte  196,194,77,168,210                  // vfmadd213ps   %ymm10,%ymm6,%ymm2
+  .byte  197,52,89,203                       // vmulps        %ymm3,%ymm9,%ymm9
+  .byte  196,66,69,168,193                   // vfmadd213ps   %ymm9,%ymm7,%ymm8
+  .byte  196,194,69,168,216                  // vfmadd213ps   %ymm8,%ymm7,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_plus__skx
+.globl _sk_plus__skx
+FUNCTION(_sk_plus__skx)
+_sk_plus__skx:
+  .byte  197,252,88,196                      // vaddps        %ymm4,%ymm0,%ymm0
+  .byte  196,98,125,24,5,217,192,3,0         // vbroadcastss  0x3c0d9(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,193,124,93,192                  // vminps        %ymm8,%ymm0,%ymm0
+  .byte  197,244,88,205                      // vaddps        %ymm5,%ymm1,%ymm1
+  .byte  196,193,116,93,200                  // vminps        %ymm8,%ymm1,%ymm1
+  .byte  197,236,88,214                      // vaddps        %ymm6,%ymm2,%ymm2
+  .byte  196,193,108,93,208                  // vminps        %ymm8,%ymm2,%ymm2
+  .byte  197,228,88,223                      // vaddps        %ymm7,%ymm3,%ymm3
+  .byte  196,193,100,93,216                  // vminps        %ymm8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_screen_skx
+.globl _sk_screen_skx
+FUNCTION(_sk_screen_skx)
+_sk_screen_skx:
+  .byte  197,124,88,196                      // vaddps        %ymm4,%ymm0,%ymm8
+  .byte  196,194,93,172,192                  // vfnmadd213ps  %ymm8,%ymm4,%ymm0
+  .byte  197,116,88,197                      // vaddps        %ymm5,%ymm1,%ymm8
+  .byte  196,194,85,172,200                  // vfnmadd213ps  %ymm8,%ymm5,%ymm1
+  .byte  197,108,88,198                      // vaddps        %ymm6,%ymm2,%ymm8
+  .byte  196,194,77,172,208                  // vfnmadd213ps  %ymm8,%ymm6,%ymm2
+  .byte  197,100,88,199                      // vaddps        %ymm7,%ymm3,%ymm8
+  .byte  196,194,69,172,216                  // vfnmadd213ps  %ymm8,%ymm7,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xor__skx
+.globl _sk_xor__skx
+FUNCTION(_sk_xor__skx)
+_sk_xor__skx:
+  .byte  196,98,125,24,5,132,192,3,0         // vbroadcastss  0x3c084(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,207                       // vsubps        %ymm7,%ymm8,%ymm9
+  .byte  197,180,89,192                      // vmulps        %ymm0,%ymm9,%ymm0
+  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
+  .byte  196,226,61,184,196                  // vfmadd231ps   %ymm4,%ymm8,%ymm0
+  .byte  197,180,89,201                      // vmulps        %ymm1,%ymm9,%ymm1
+  .byte  196,226,61,184,205                  // vfmadd231ps   %ymm5,%ymm8,%ymm1
+  .byte  197,180,89,210                      // vmulps        %ymm2,%ymm9,%ymm2
+  .byte  196,226,61,184,214                  // vfmadd231ps   %ymm6,%ymm8,%ymm2
+  .byte  197,180,89,219                      // vmulps        %ymm3,%ymm9,%ymm3
+  .byte  196,98,69,168,195                   // vfmadd213ps   %ymm3,%ymm7,%ymm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,41,195                      // vmovaps       %ymm8,%ymm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_darken_skx
+.globl _sk_darken_skx
+FUNCTION(_sk_darken_skx)
+_sk_darken_skx:
+  .byte  197,124,88,196                      // vaddps        %ymm4,%ymm0,%ymm8
+  .byte  197,252,89,199                      // vmulps        %ymm7,%ymm0,%ymm0
+  .byte  197,100,89,204                      // vmulps        %ymm4,%ymm3,%ymm9
+  .byte  196,193,124,95,193                  // vmaxps        %ymm9,%ymm0,%ymm0
+  .byte  197,188,92,192                      // vsubps        %ymm0,%ymm8,%ymm0
+  .byte  197,116,88,197                      // vaddps        %ymm5,%ymm1,%ymm8
+  .byte  197,244,89,207                      // vmulps        %ymm7,%ymm1,%ymm1
+  .byte  197,100,89,205                      // vmulps        %ymm5,%ymm3,%ymm9
+  .byte  196,193,116,95,201                  // vmaxps        %ymm9,%ymm1,%ymm1
+  .byte  197,188,92,201                      // vsubps        %ymm1,%ymm8,%ymm1
+  .byte  197,108,88,198                      // vaddps        %ymm6,%ymm2,%ymm8
+  .byte  197,236,89,215                      // vmulps        %ymm7,%ymm2,%ymm2
+  .byte  197,100,89,206                      // vmulps        %ymm6,%ymm3,%ymm9
+  .byte  196,193,108,95,209                  // vmaxps        %ymm9,%ymm2,%ymm2
+  .byte  197,188,92,210                      // vsubps        %ymm2,%ymm8,%ymm2
+  .byte  196,98,125,24,5,8,192,3,0           // vbroadcastss  0x3c008(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
+  .byte  196,194,69,184,216                  // vfmadd231ps   %ymm8,%ymm7,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_lighten_skx
+.globl _sk_lighten_skx
+FUNCTION(_sk_lighten_skx)
+_sk_lighten_skx:
+  .byte  197,124,88,196                      // vaddps        %ymm4,%ymm0,%ymm8
+  .byte  197,252,89,199                      // vmulps        %ymm7,%ymm0,%ymm0
+  .byte  197,100,89,204                      // vmulps        %ymm4,%ymm3,%ymm9
+  .byte  196,193,124,93,193                  // vminps        %ymm9,%ymm0,%ymm0
+  .byte  197,188,92,192                      // vsubps        %ymm0,%ymm8,%ymm0
+  .byte  197,116,88,197                      // vaddps        %ymm5,%ymm1,%ymm8
+  .byte  197,244,89,207                      // vmulps        %ymm7,%ymm1,%ymm1
+  .byte  197,100,89,205                      // vmulps        %ymm5,%ymm3,%ymm9
+  .byte  196,193,116,93,201                  // vminps        %ymm9,%ymm1,%ymm1
+  .byte  197,188,92,201                      // vsubps        %ymm1,%ymm8,%ymm1
+  .byte  197,108,88,198                      // vaddps        %ymm6,%ymm2,%ymm8
+  .byte  197,236,89,215                      // vmulps        %ymm7,%ymm2,%ymm2
+  .byte  197,100,89,206                      // vmulps        %ymm6,%ymm3,%ymm9
+  .byte  196,193,108,93,209                  // vminps        %ymm9,%ymm2,%ymm2
+  .byte  197,188,92,210                      // vsubps        %ymm2,%ymm8,%ymm2
+  .byte  196,98,125,24,5,179,191,3,0         // vbroadcastss  0x3bfb3(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
+  .byte  196,194,69,184,216                  // vfmadd231ps   %ymm8,%ymm7,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_difference_skx
+.globl _sk_difference_skx
+FUNCTION(_sk_difference_skx)
+_sk_difference_skx:
+  .byte  197,124,88,196                      // vaddps        %ymm4,%ymm0,%ymm8
+  .byte  197,252,89,199                      // vmulps        %ymm7,%ymm0,%ymm0
+  .byte  197,100,89,204                      // vmulps        %ymm4,%ymm3,%ymm9
+  .byte  196,193,124,93,193                  // vminps        %ymm9,%ymm0,%ymm0
+  .byte  197,252,88,192                      // vaddps        %ymm0,%ymm0,%ymm0
+  .byte  197,188,92,192                      // vsubps        %ymm0,%ymm8,%ymm0
+  .byte  197,116,88,197                      // vaddps        %ymm5,%ymm1,%ymm8
+  .byte  197,244,89,207                      // vmulps        %ymm7,%ymm1,%ymm1
+  .byte  197,100,89,205                      // vmulps        %ymm5,%ymm3,%ymm9
+  .byte  196,193,116,93,201                  // vminps        %ymm9,%ymm1,%ymm1
+  .byte  197,244,88,201                      // vaddps        %ymm1,%ymm1,%ymm1
+  .byte  197,188,92,201                      // vsubps        %ymm1,%ymm8,%ymm1
+  .byte  197,108,88,198                      // vaddps        %ymm6,%ymm2,%ymm8
+  .byte  197,236,89,215                      // vmulps        %ymm7,%ymm2,%ymm2
+  .byte  197,100,89,206                      // vmulps        %ymm6,%ymm3,%ymm9
+  .byte  196,193,108,93,209                  // vminps        %ymm9,%ymm2,%ymm2
+  .byte  197,236,88,210                      // vaddps        %ymm2,%ymm2,%ymm2
+  .byte  197,188,92,210                      // vsubps        %ymm2,%ymm8,%ymm2
+  .byte  196,98,125,24,5,82,191,3,0          // vbroadcastss  0x3bf52(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
+  .byte  196,194,69,184,216                  // vfmadd231ps   %ymm8,%ymm7,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_exclusion_skx
+.globl _sk_exclusion_skx
+FUNCTION(_sk_exclusion_skx)
+_sk_exclusion_skx:
+  .byte  197,124,88,196                      // vaddps        %ymm4,%ymm0,%ymm8
+  .byte  197,252,89,196                      // vmulps        %ymm4,%ymm0,%ymm0
+  .byte  197,252,88,192                      // vaddps        %ymm0,%ymm0,%ymm0
+  .byte  197,188,92,192                      // vsubps        %ymm0,%ymm8,%ymm0
+  .byte  197,116,88,197                      // vaddps        %ymm5,%ymm1,%ymm8
+  .byte  197,244,89,205                      // vmulps        %ymm5,%ymm1,%ymm1
+  .byte  197,244,88,201                      // vaddps        %ymm1,%ymm1,%ymm1
+  .byte  197,188,92,201                      // vsubps        %ymm1,%ymm8,%ymm1
+  .byte  197,108,88,198                      // vaddps        %ymm6,%ymm2,%ymm8
+  .byte  197,236,89,214                      // vmulps        %ymm6,%ymm2,%ymm2
+  .byte  197,236,88,210                      // vaddps        %ymm2,%ymm2,%ymm2
+  .byte  197,188,92,210                      // vsubps        %ymm2,%ymm8,%ymm2
+  .byte  196,98,125,24,5,12,191,3,0          // vbroadcastss  0x3bf0c(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
+  .byte  196,194,69,184,216                  // vfmadd231ps   %ymm8,%ymm7,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_colorburn_skx
+.globl _sk_colorburn_skx
+FUNCTION(_sk_colorburn_skx)
+_sk_colorburn_skx:
+  .byte  98,241,92,40,194,199,0              // vcmpeqps      %ymm7,%ymm4,%k0
+  .byte  98,114,126,40,56,192                // vpmovm2d      %k0,%ymm8
+  .byte  196,98,125,24,13,233,190,3,0        // vbroadcastss  0x3bee9(%rip),%ymm9        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,52,92,215                       // vsubps        %ymm7,%ymm9,%ymm10
+  .byte  197,44,89,216                       // vmulps        %ymm0,%ymm10,%ymm11
+  .byte  197,36,88,228                       // vaddps        %ymm4,%ymm11,%ymm12
+  .byte  196,65,20,87,237                    // vxorps        %ymm13,%ymm13,%ymm13
+  .byte  98,209,124,40,194,197,0             // vcmpeqps      %ymm13,%ymm0,%k0
+  .byte  98,114,126,40,56,240                // vpmovm2d      %k0,%ymm14
+  .byte  197,52,92,203                       // vsubps        %ymm3,%ymm9,%ymm9
+  .byte  197,52,89,252                       // vmulps        %ymm4,%ymm9,%ymm15
+  .byte  98,225,68,40,92,196                 // vsubps        %ymm4,%ymm7,%ymm16
+  .byte  98,225,124,32,89,195                // vmulps        %ymm3,%ymm16,%ymm16
+  .byte  98,242,125,40,76,192                // vrcp14ps      %ymm0,%ymm0
+  .byte  98,241,124,32,89,192                // vmulps        %ymm0,%ymm16,%ymm0
+  .byte  197,196,93,192                      // vminps        %ymm0,%ymm7,%ymm0
+  .byte  197,196,92,192                      // vsubps        %ymm0,%ymm7,%ymm0
+  .byte  196,194,101,168,195                 // vfmadd213ps   %ymm11,%ymm3,%ymm0
+  .byte  197,132,88,192                      // vaddps        %ymm0,%ymm15,%ymm0
+  .byte  196,195,125,74,199,224              // vblendvps     %ymm14,%ymm15,%ymm0,%ymm0
+  .byte  196,195,125,74,196,128              // vblendvps     %ymm8,%ymm12,%ymm0,%ymm0
+  .byte  98,241,84,40,194,199,0              // vcmpeqps      %ymm7,%ymm5,%k0
+  .byte  98,114,126,40,56,192                // vpmovm2d      %k0,%ymm8
+  .byte  197,44,89,217                       // vmulps        %ymm1,%ymm10,%ymm11
+  .byte  197,36,88,229                       // vaddps        %ymm5,%ymm11,%ymm12
+  .byte  98,209,116,40,194,197,0             // vcmpeqps      %ymm13,%ymm1,%k0
+  .byte  98,114,126,40,56,240                // vpmovm2d      %k0,%ymm14
+  .byte  197,52,89,253                       // vmulps        %ymm5,%ymm9,%ymm15
+  .byte  98,225,68,40,92,197                 // vsubps        %ymm5,%ymm7,%ymm16
+  .byte  98,225,124,32,89,195                // vmulps        %ymm3,%ymm16,%ymm16
+  .byte  98,242,125,40,76,201                // vrcp14ps      %ymm1,%ymm1
+  .byte  98,241,124,32,89,201                // vmulps        %ymm1,%ymm16,%ymm1
+  .byte  197,196,93,201                      // vminps        %ymm1,%ymm7,%ymm1
+  .byte  197,196,92,201                      // vsubps        %ymm1,%ymm7,%ymm1
+  .byte  196,194,101,168,203                 // vfmadd213ps   %ymm11,%ymm3,%ymm1
+  .byte  197,132,88,201                      // vaddps        %ymm1,%ymm15,%ymm1
+  .byte  196,195,117,74,207,224              // vblendvps     %ymm14,%ymm15,%ymm1,%ymm1
+  .byte  196,195,117,74,204,128              // vblendvps     %ymm8,%ymm12,%ymm1,%ymm1
+  .byte  98,241,76,40,194,199,0              // vcmpeqps      %ymm7,%ymm6,%k0
+  .byte  98,114,126,40,56,192                // vpmovm2d      %k0,%ymm8
+  .byte  197,44,89,210                       // vmulps        %ymm2,%ymm10,%ymm10
+  .byte  197,44,88,222                       // vaddps        %ymm6,%ymm10,%ymm11
+  .byte  98,209,108,40,194,197,0             // vcmpeqps      %ymm13,%ymm2,%k0
+  .byte  98,114,126,40,56,224                // vpmovm2d      %k0,%ymm12
+  .byte  197,52,89,238                       // vmulps        %ymm6,%ymm9,%ymm13
+  .byte  197,68,92,246                       // vsubps        %ymm6,%ymm7,%ymm14
+  .byte  197,12,89,243                       // vmulps        %ymm3,%ymm14,%ymm14
+  .byte  98,242,125,40,76,210                // vrcp14ps      %ymm2,%ymm2
+  .byte  197,140,89,210                      // vmulps        %ymm2,%ymm14,%ymm2
+  .byte  197,196,93,210                      // vminps        %ymm2,%ymm7,%ymm2
+  .byte  197,196,92,210                      // vsubps        %ymm2,%ymm7,%ymm2
+  .byte  196,194,101,168,210                 // vfmadd213ps   %ymm10,%ymm3,%ymm2
+  .byte  197,148,88,210                      // vaddps        %ymm2,%ymm13,%ymm2
+  .byte  196,195,109,74,213,192              // vblendvps     %ymm12,%ymm13,%ymm2,%ymm2
+  .byte  196,195,109,74,211,128              // vblendvps     %ymm8,%ymm11,%ymm2,%ymm2
+  .byte  196,194,69,184,217                  // vfmadd231ps   %ymm9,%ymm7,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_colordodge_skx
+.globl _sk_colordodge_skx
+FUNCTION(_sk_colordodge_skx)
+_sk_colordodge_skx:
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  98,209,92,40,194,192,0              // vcmpeqps      %ymm8,%ymm4,%k0
+  .byte  98,114,126,40,56,200                // vpmovm2d      %k0,%ymm9
+  .byte  196,98,125,24,21,186,189,3,0        // vbroadcastss  0x3bdba(%rip),%ymm10        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,44,92,223                       // vsubps        %ymm7,%ymm10,%ymm11
+  .byte  197,36,89,224                       // vmulps        %ymm0,%ymm11,%ymm12
+  .byte  98,241,124,40,194,195,0             // vcmpeqps      %ymm3,%ymm0,%k0
+  .byte  98,114,126,40,56,232                // vpmovm2d      %k0,%ymm13
+  .byte  197,44,92,211                       // vsubps        %ymm3,%ymm10,%ymm10
+  .byte  197,44,89,244                       // vmulps        %ymm4,%ymm10,%ymm14
+  .byte  197,12,88,248                       // vaddps        %ymm0,%ymm14,%ymm15
+  .byte  98,225,100,40,89,196                // vmulps        %ymm4,%ymm3,%ymm16
+  .byte  197,228,92,192                      // vsubps        %ymm0,%ymm3,%ymm0
+  .byte  98,242,125,40,76,192                // vrcp14ps      %ymm0,%ymm0
+  .byte  98,241,124,32,89,192                // vmulps        %ymm0,%ymm16,%ymm0
+  .byte  197,196,93,192                      // vminps        %ymm0,%ymm7,%ymm0
+  .byte  196,194,101,168,196                 // vfmadd213ps   %ymm12,%ymm3,%ymm0
+  .byte  197,140,88,192                      // vaddps        %ymm0,%ymm14,%ymm0
+  .byte  196,195,125,74,199,208              // vblendvps     %ymm13,%ymm15,%ymm0,%ymm0
+  .byte  196,195,125,74,196,144              // vblendvps     %ymm9,%ymm12,%ymm0,%ymm0
+  .byte  98,209,84,40,194,192,0              // vcmpeqps      %ymm8,%ymm5,%k0
+  .byte  98,114,126,40,56,200                // vpmovm2d      %k0,%ymm9
+  .byte  197,36,89,225                       // vmulps        %ymm1,%ymm11,%ymm12
+  .byte  98,241,116,40,194,195,0             // vcmpeqps      %ymm3,%ymm1,%k0
+  .byte  98,114,126,40,56,232                // vpmovm2d      %k0,%ymm13
+  .byte  197,44,89,245                       // vmulps        %ymm5,%ymm10,%ymm14
+  .byte  197,12,88,249                       // vaddps        %ymm1,%ymm14,%ymm15
+  .byte  98,225,100,40,89,197                // vmulps        %ymm5,%ymm3,%ymm16
+  .byte  197,228,92,201                      // vsubps        %ymm1,%ymm3,%ymm1
+  .byte  98,242,125,40,76,201                // vrcp14ps      %ymm1,%ymm1
+  .byte  98,241,124,32,89,201                // vmulps        %ymm1,%ymm16,%ymm1
+  .byte  197,196,93,201                      // vminps        %ymm1,%ymm7,%ymm1
+  .byte  196,194,101,168,204                 // vfmadd213ps   %ymm12,%ymm3,%ymm1
+  .byte  197,140,88,201                      // vaddps        %ymm1,%ymm14,%ymm1
+  .byte  196,195,117,74,207,208              // vblendvps     %ymm13,%ymm15,%ymm1,%ymm1
+  .byte  196,195,117,74,204,144              // vblendvps     %ymm9,%ymm12,%ymm1,%ymm1
+  .byte  98,209,76,40,194,192,0              // vcmpeqps      %ymm8,%ymm6,%k0
+  .byte  98,114,126,40,56,192                // vpmovm2d      %k0,%ymm8
+  .byte  197,36,89,202                       // vmulps        %ymm2,%ymm11,%ymm9
+  .byte  98,241,108,40,194,195,0             // vcmpeqps      %ymm3,%ymm2,%k0
+  .byte  98,114,126,40,56,216                // vpmovm2d      %k0,%ymm11
+  .byte  197,44,89,230                       // vmulps        %ymm6,%ymm10,%ymm12
+  .byte  197,28,88,234                       // vaddps        %ymm2,%ymm12,%ymm13
+  .byte  197,100,89,246                      // vmulps        %ymm6,%ymm3,%ymm14
+  .byte  197,228,92,210                      // vsubps        %ymm2,%ymm3,%ymm2
+  .byte  98,242,125,40,76,210                // vrcp14ps      %ymm2,%ymm2
+  .byte  197,140,89,210                      // vmulps        %ymm2,%ymm14,%ymm2
+  .byte  197,196,93,210                      // vminps        %ymm2,%ymm7,%ymm2
+  .byte  196,194,101,168,209                 // vfmadd213ps   %ymm9,%ymm3,%ymm2
+  .byte  197,156,88,210                      // vaddps        %ymm2,%ymm12,%ymm2
+  .byte  196,195,109,74,213,176              // vblendvps     %ymm11,%ymm13,%ymm2,%ymm2
+  .byte  196,195,109,74,209,128              // vblendvps     %ymm8,%ymm9,%ymm2,%ymm2
+  .byte  196,194,69,184,218                  // vfmadd231ps   %ymm10,%ymm7,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_hardlight_skx
+.globl _sk_hardlight_skx
+FUNCTION(_sk_hardlight_skx)
+_sk_hardlight_skx:
+  .byte  196,98,125,24,5,178,188,3,0         // vbroadcastss  0x3bcb2(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,207                       // vsubps        %ymm7,%ymm8,%ymm9
+  .byte  197,52,89,208                       // vmulps        %ymm0,%ymm9,%ymm10
+  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
+  .byte  196,98,61,184,212                   // vfmadd231ps   %ymm4,%ymm8,%ymm10
+  .byte  197,124,88,216                      // vaddps        %ymm0,%ymm0,%ymm11
+  .byte  98,241,36,40,194,195,2              // vcmpleps      %ymm3,%ymm11,%k0
+  .byte  98,114,126,40,56,216                // vpmovm2d      %k0,%ymm11
+  .byte  197,124,89,228                      // vmulps        %ymm4,%ymm0,%ymm12
+  .byte  196,65,28,88,228                    // vaddps        %ymm12,%ymm12,%ymm12
+  .byte  197,100,89,239                      // vmulps        %ymm7,%ymm3,%ymm13
+  .byte  197,68,92,244                       // vsubps        %ymm4,%ymm7,%ymm14
+  .byte  197,228,92,192                      // vsubps        %ymm0,%ymm3,%ymm0
+  .byte  196,193,124,89,198                  // vmulps        %ymm14,%ymm0,%ymm0
+  .byte  197,252,88,192                      // vaddps        %ymm0,%ymm0,%ymm0
+  .byte  197,148,92,192                      // vsubps        %ymm0,%ymm13,%ymm0
+  .byte  196,195,125,74,196,176              // vblendvps     %ymm11,%ymm12,%ymm0,%ymm0
+  .byte  197,172,88,192                      // vaddps        %ymm0,%ymm10,%ymm0
+  .byte  197,52,89,209                       // vmulps        %ymm1,%ymm9,%ymm10
+  .byte  196,98,61,184,213                   // vfmadd231ps   %ymm5,%ymm8,%ymm10
+  .byte  197,116,88,217                      // vaddps        %ymm1,%ymm1,%ymm11
+  .byte  98,241,36,40,194,195,2              // vcmpleps      %ymm3,%ymm11,%k0
+  .byte  98,114,126,40,56,216                // vpmovm2d      %k0,%ymm11
+  .byte  197,116,89,229                      // vmulps        %ymm5,%ymm1,%ymm12
+  .byte  196,65,28,88,228                    // vaddps        %ymm12,%ymm12,%ymm12
+  .byte  197,68,92,245                       // vsubps        %ymm5,%ymm7,%ymm14
+  .byte  197,228,92,201                      // vsubps        %ymm1,%ymm3,%ymm1
+  .byte  196,193,116,89,206                  // vmulps        %ymm14,%ymm1,%ymm1
+  .byte  197,244,88,201                      // vaddps        %ymm1,%ymm1,%ymm1
+  .byte  197,148,92,201                      // vsubps        %ymm1,%ymm13,%ymm1
+  .byte  196,195,117,74,204,176              // vblendvps     %ymm11,%ymm12,%ymm1,%ymm1
+  .byte  197,172,88,201                      // vaddps        %ymm1,%ymm10,%ymm1
+  .byte  197,52,89,202                       // vmulps        %ymm2,%ymm9,%ymm9
+  .byte  196,98,61,184,206                   // vfmadd231ps   %ymm6,%ymm8,%ymm9
+  .byte  197,108,88,210                      // vaddps        %ymm2,%ymm2,%ymm10
+  .byte  98,241,44,40,194,195,2              // vcmpleps      %ymm3,%ymm10,%k0
+  .byte  98,114,126,40,56,208                // vpmovm2d      %k0,%ymm10
+  .byte  197,108,89,222                      // vmulps        %ymm6,%ymm2,%ymm11
+  .byte  196,65,36,88,219                    // vaddps        %ymm11,%ymm11,%ymm11
+  .byte  197,68,92,230                       // vsubps        %ymm6,%ymm7,%ymm12
+  .byte  197,228,92,210                      // vsubps        %ymm2,%ymm3,%ymm2
+  .byte  196,193,108,89,212                  // vmulps        %ymm12,%ymm2,%ymm2
+  .byte  197,236,88,210                      // vaddps        %ymm2,%ymm2,%ymm2
+  .byte  197,148,92,210                      // vsubps        %ymm2,%ymm13,%ymm2
+  .byte  196,195,109,74,211,160              // vblendvps     %ymm10,%ymm11,%ymm2,%ymm2
+  .byte  197,180,88,210                      // vaddps        %ymm2,%ymm9,%ymm2
+  .byte  196,194,69,184,216                  // vfmadd231ps   %ymm8,%ymm7,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_overlay_skx
+.globl _sk_overlay_skx
+FUNCTION(_sk_overlay_skx)
+_sk_overlay_skx:
+  .byte  196,98,125,24,5,206,187,3,0         // vbroadcastss  0x3bbce(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,207                       // vsubps        %ymm7,%ymm8,%ymm9
+  .byte  197,52,89,208                       // vmulps        %ymm0,%ymm9,%ymm10
+  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
+  .byte  196,98,61,184,212                   // vfmadd231ps   %ymm4,%ymm8,%ymm10
+  .byte  197,92,88,220                       // vaddps        %ymm4,%ymm4,%ymm11
+  .byte  98,241,36,40,194,199,2              // vcmpleps      %ymm7,%ymm11,%k0
+  .byte  98,114,126,40,56,216                // vpmovm2d      %k0,%ymm11
+  .byte  197,124,89,228                      // vmulps        %ymm4,%ymm0,%ymm12
+  .byte  196,65,28,88,228                    // vaddps        %ymm12,%ymm12,%ymm12
+  .byte  197,100,89,239                      // vmulps        %ymm7,%ymm3,%ymm13
+  .byte  197,68,92,244                       // vsubps        %ymm4,%ymm7,%ymm14
+  .byte  197,228,92,192                      // vsubps        %ymm0,%ymm3,%ymm0
+  .byte  196,193,124,89,198                  // vmulps        %ymm14,%ymm0,%ymm0
+  .byte  197,252,88,192                      // vaddps        %ymm0,%ymm0,%ymm0
+  .byte  197,148,92,192                      // vsubps        %ymm0,%ymm13,%ymm0
+  .byte  196,195,125,74,196,176              // vblendvps     %ymm11,%ymm12,%ymm0,%ymm0
+  .byte  197,172,88,192                      // vaddps        %ymm0,%ymm10,%ymm0
+  .byte  197,52,89,209                       // vmulps        %ymm1,%ymm9,%ymm10
+  .byte  196,98,61,184,213                   // vfmadd231ps   %ymm5,%ymm8,%ymm10
+  .byte  197,84,88,221                       // vaddps        %ymm5,%ymm5,%ymm11
+  .byte  98,241,36,40,194,199,2              // vcmpleps      %ymm7,%ymm11,%k0
+  .byte  98,114,126,40,56,216                // vpmovm2d      %k0,%ymm11
+  .byte  197,116,89,229                      // vmulps        %ymm5,%ymm1,%ymm12
+  .byte  196,65,28,88,228                    // vaddps        %ymm12,%ymm12,%ymm12
+  .byte  197,68,92,245                       // vsubps        %ymm5,%ymm7,%ymm14
+  .byte  197,228,92,201                      // vsubps        %ymm1,%ymm3,%ymm1
+  .byte  196,193,116,89,206                  // vmulps        %ymm14,%ymm1,%ymm1
+  .byte  197,244,88,201                      // vaddps        %ymm1,%ymm1,%ymm1
+  .byte  197,148,92,201                      // vsubps        %ymm1,%ymm13,%ymm1
+  .byte  196,195,117,74,204,176              // vblendvps     %ymm11,%ymm12,%ymm1,%ymm1
+  .byte  197,172,88,201                      // vaddps        %ymm1,%ymm10,%ymm1
+  .byte  197,52,89,202                       // vmulps        %ymm2,%ymm9,%ymm9
+  .byte  196,98,61,184,206                   // vfmadd231ps   %ymm6,%ymm8,%ymm9
+  .byte  197,76,88,214                       // vaddps        %ymm6,%ymm6,%ymm10
+  .byte  98,241,44,40,194,199,2              // vcmpleps      %ymm7,%ymm10,%k0
+  .byte  98,114,126,40,56,208                // vpmovm2d      %k0,%ymm10
+  .byte  197,108,89,222                      // vmulps        %ymm6,%ymm2,%ymm11
+  .byte  196,65,36,88,219                    // vaddps        %ymm11,%ymm11,%ymm11
+  .byte  197,68,92,230                       // vsubps        %ymm6,%ymm7,%ymm12
+  .byte  197,228,92,210                      // vsubps        %ymm2,%ymm3,%ymm2
+  .byte  196,193,108,89,212                  // vmulps        %ymm12,%ymm2,%ymm2
+  .byte  197,236,88,210                      // vaddps        %ymm2,%ymm2,%ymm2
+  .byte  197,148,92,210                      // vsubps        %ymm2,%ymm13,%ymm2
+  .byte  196,195,109,74,211,160              // vblendvps     %ymm10,%ymm11,%ymm2,%ymm2
+  .byte  197,180,88,210                      // vaddps        %ymm2,%ymm9,%ymm2
+  .byte  196,194,69,184,216                  // vfmadd231ps   %ymm8,%ymm7,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_softlight_skx
+.globl _sk_softlight_skx
+FUNCTION(_sk_softlight_skx)
+_sk_softlight_skx:
+  .byte  98,225,124,40,40,194                // vmovaps       %ymm2,%ymm16
+  .byte  98,225,124,40,40,225                // vmovaps       %ymm1,%ymm20
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  98,241,108,40,194,199,1             // vcmpltps      %ymm7,%ymm2,%k0
+  .byte  98,242,126,40,56,200                // vpmovm2d      %k0,%ymm1
+  .byte  197,92,94,207                       // vdivps        %ymm7,%ymm4,%ymm9
+  .byte  196,67,109,74,201,16                // vblendvps     %ymm1,%ymm9,%ymm2,%ymm9
+  .byte  196,65,44,87,210                    // vxorps        %ymm10,%ymm10,%ymm10
+  .byte  197,124,88,248                      // vaddps        %ymm0,%ymm0,%ymm15
+  .byte  196,65,52,88,217                    // vaddps        %ymm9,%ymm9,%ymm11
+  .byte  196,65,36,88,235                    // vaddps        %ymm11,%ymm11,%ymm13
+  .byte  197,4,92,243                        // vsubps        %ymm3,%ymm15,%ymm14
+  .byte  196,98,125,24,29,172,186,3,0        // vbroadcastss  0x3baac(%rip),%ymm11        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,65,36,92,225                    // vsubps        %ymm9,%ymm11,%ymm12
+  .byte  196,98,13,168,227                   // vfmadd213ps   %ymm3,%ymm14,%ymm12
+  .byte  197,156,89,212                      // vmulps        %ymm4,%ymm12,%ymm2
+  .byte  196,66,21,168,237                   // vfmadd213ps   %ymm13,%ymm13,%ymm13
+  .byte  98,226,125,40,24,21,167,186,3,0     // vbroadcastss  0x3baa7(%rip),%ymm18        # 3c514 <_sk_srcover_bgra_8888_sse2_lowp+0x2c8>
+  .byte  98,161,52,40,88,202                 // vaddps        %ymm18,%ymm9,%ymm17
+  .byte  98,81,116,32,89,229                 // vmulps        %ymm13,%ymm17,%ymm12
+  .byte  98,226,125,40,24,29,149,186,3,0     // vbroadcastss  0x3ba95(%rip),%ymm19        # 3c518 <_sk_srcover_bgra_8888_sse2_lowp+0x2cc>
+  .byte  98,50,53,40,184,227                 // vfmadd231ps   %ymm19,%ymm9,%ymm12
+  .byte  98,194,125,40,78,201                // vrsqrt14ps    %ymm9,%ymm17
+  .byte  98,162,125,40,76,201                // vrcp14ps      %ymm17,%ymm17
+  .byte  98,81,116,32,92,201                 // vsubps        %ymm9,%ymm17,%ymm9
+  .byte  197,12,89,247                       // vmulps        %ymm7,%ymm14,%ymm14
+  .byte  98,225,92,40,88,204                 // vaddps        %ymm4,%ymm4,%ymm17
+  .byte  98,161,116,32,88,201                // vaddps        %ymm17,%ymm17,%ymm17
+  .byte  98,241,116,32,194,199,2             // vcmpleps      %ymm7,%ymm17,%k0
+  .byte  98,114,126,40,56,192                // vpmovm2d      %k0,%ymm8
+  .byte  196,67,53,74,196,128                // vblendvps     %ymm8,%ymm12,%ymm9,%ymm8
+  .byte  196,65,12,89,192                    // vmulps        %ymm8,%ymm14,%ymm8
+  .byte  196,98,101,184,196                  // vfmadd231ps   %ymm4,%ymm3,%ymm8
+  .byte  197,36,92,247                       // vsubps        %ymm7,%ymm11,%ymm14
+  .byte  197,140,89,192                      // vmulps        %ymm0,%ymm14,%ymm0
+  .byte  197,36,92,203                       // vsubps        %ymm3,%ymm11,%ymm9
+  .byte  196,226,53,184,196                  // vfmadd231ps   %ymm4,%ymm9,%ymm0
+  .byte  98,241,4,40,194,195,2               // vcmpleps      %ymm3,%ymm15,%k0
+  .byte  98,114,126,40,56,224                // vpmovm2d      %k0,%ymm12
+  .byte  196,227,61,74,210,192               // vblendvps     %ymm12,%ymm2,%ymm8,%ymm2
+  .byte  197,252,88,194                      // vaddps        %ymm2,%ymm0,%ymm0
+  .byte  197,212,94,215                      // vdivps        %ymm7,%ymm5,%ymm2
+  .byte  196,227,45,74,210,16                // vblendvps     %ymm1,%ymm2,%ymm10,%ymm2
+  .byte  98,49,92,32,88,196                  // vaddps        %ymm20,%ymm20,%ymm8
+  .byte  197,108,88,226                      // vaddps        %ymm2,%ymm2,%ymm12
+  .byte  196,65,28,88,228                    // vaddps        %ymm12,%ymm12,%ymm12
+  .byte  197,60,92,251                       // vsubps        %ymm3,%ymm8,%ymm15
+  .byte  98,225,36,40,92,202                 // vsubps        %ymm2,%ymm11,%ymm17
+  .byte  98,226,5,40,168,203                 // vfmadd213ps   %ymm3,%ymm15,%ymm17
+  .byte  98,113,116,32,89,237                // vmulps        %ymm5,%ymm17,%ymm13
+  .byte  196,66,29,168,228                   // vfmadd213ps   %ymm12,%ymm12,%ymm12
+  .byte  98,161,108,40,88,202                // vaddps        %ymm18,%ymm2,%ymm17
+  .byte  98,81,116,32,89,228                 // vmulps        %ymm12,%ymm17,%ymm12
+  .byte  98,50,109,40,184,227                // vfmadd231ps   %ymm19,%ymm2,%ymm12
+  .byte  98,226,125,40,78,202                // vrsqrt14ps    %ymm2,%ymm17
+  .byte  98,162,125,40,76,201                // vrcp14ps      %ymm17,%ymm17
+  .byte  98,241,116,32,92,210                // vsubps        %ymm2,%ymm17,%ymm2
+  .byte  197,4,89,255                        // vmulps        %ymm7,%ymm15,%ymm15
+  .byte  98,225,84,40,88,205                 // vaddps        %ymm5,%ymm5,%ymm17
+  .byte  98,161,116,32,88,201                // vaddps        %ymm17,%ymm17,%ymm17
+  .byte  98,241,116,32,194,199,2             // vcmpleps      %ymm7,%ymm17,%k0
+  .byte  98,114,126,40,56,208                // vpmovm2d      %k0,%ymm10
+  .byte  196,195,109,74,212,160              // vblendvps     %ymm10,%ymm12,%ymm2,%ymm2
+  .byte  197,132,89,210                      // vmulps        %ymm2,%ymm15,%ymm2
+  .byte  196,226,101,184,213                 // vfmadd231ps   %ymm5,%ymm3,%ymm2
+  .byte  98,49,12,40,89,212                  // vmulps        %ymm20,%ymm14,%ymm10
+  .byte  196,98,53,184,213                   // vfmadd231ps   %ymm5,%ymm9,%ymm10
+  .byte  98,241,60,40,194,195,2              // vcmpleps      %ymm3,%ymm8,%k0
+  .byte  98,114,126,40,56,192                // vpmovm2d      %k0,%ymm8
+  .byte  196,195,109,74,213,128              // vblendvps     %ymm8,%ymm13,%ymm2,%ymm2
+  .byte  197,44,88,194                       // vaddps        %ymm2,%ymm10,%ymm8
+  .byte  197,204,94,215                      // vdivps        %ymm7,%ymm6,%ymm2
+  .byte  196,65,44,87,210                    // vxorps        %ymm10,%ymm10,%ymm10
+  .byte  196,227,45,74,202,16                // vblendvps     %ymm1,%ymm2,%ymm10,%ymm1
+  .byte  98,177,124,32,88,208                // vaddps        %ymm16,%ymm16,%ymm2
+  .byte  197,116,88,209                      // vaddps        %ymm1,%ymm1,%ymm10
+  .byte  196,65,44,88,210                    // vaddps        %ymm10,%ymm10,%ymm10
+  .byte  197,108,92,227                      // vsubps        %ymm3,%ymm2,%ymm12
+  .byte  197,36,92,217                       // vsubps        %ymm1,%ymm11,%ymm11
+  .byte  196,98,29,168,219                   // vfmadd213ps   %ymm3,%ymm12,%ymm11
+  .byte  197,36,89,222                       // vmulps        %ymm6,%ymm11,%ymm11
+  .byte  196,66,45,168,210                   // vfmadd213ps   %ymm10,%ymm10,%ymm10
+  .byte  98,49,116,40,88,234                 // vaddps        %ymm18,%ymm1,%ymm13
+  .byte  196,65,20,89,210                    // vmulps        %ymm10,%ymm13,%ymm10
+  .byte  98,50,117,40,184,211                // vfmadd231ps   %ymm19,%ymm1,%ymm10
+  .byte  98,114,125,40,78,233                // vrsqrt14ps    %ymm1,%ymm13
+  .byte  98,82,125,40,76,237                 // vrcp14ps      %ymm13,%ymm13
+  .byte  197,148,92,201                      // vsubps        %ymm1,%ymm13,%ymm1
+  .byte  197,28,89,231                       // vmulps        %ymm7,%ymm12,%ymm12
+  .byte  197,76,88,238                       // vaddps        %ymm6,%ymm6,%ymm13
+  .byte  196,65,20,88,237                    // vaddps        %ymm13,%ymm13,%ymm13
+  .byte  98,241,20,40,194,199,2              // vcmpleps      %ymm7,%ymm13,%k0
+  .byte  98,114,126,40,56,232                // vpmovm2d      %k0,%ymm13
+  .byte  196,195,117,74,202,208              // vblendvps     %ymm13,%ymm10,%ymm1,%ymm1
+  .byte  197,156,89,201                      // vmulps        %ymm1,%ymm12,%ymm1
+  .byte  196,226,101,184,206                 // vfmadd231ps   %ymm6,%ymm3,%ymm1
+  .byte  98,49,12,40,89,208                  // vmulps        %ymm16,%ymm14,%ymm10
+  .byte  196,98,53,184,214                   // vfmadd231ps   %ymm6,%ymm9,%ymm10
+  .byte  98,241,108,40,194,195,2             // vcmpleps      %ymm3,%ymm2,%k0
+  .byte  98,242,126,40,56,208                // vpmovm2d      %k0,%ymm2
+  .byte  196,195,117,74,203,32               // vblendvps     %ymm2,%ymm11,%ymm1,%ymm1
+  .byte  197,172,88,209                      // vaddps        %ymm1,%ymm10,%ymm2
+  .byte  196,194,69,184,217                  // vfmadd231ps   %ymm9,%ymm7,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,41,193                      // vmovaps       %ymm8,%ymm1
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_hue_skx
+.globl _sk_hue_skx
+FUNCTION(_sk_hue_skx)
+_sk_hue_skx:
+  .byte  98,225,124,40,40,210                // vmovaps       %ymm2,%ymm18
+  .byte  98,225,124,40,40,225                // vmovaps       %ymm1,%ymm20
+  .byte  197,124,89,203                      // vmulps        %ymm3,%ymm0,%ymm9
+  .byte  98,113,92,32,89,211                 // vmulps        %ymm3,%ymm20,%ymm10
+  .byte  98,113,108,32,89,219                // vmulps        %ymm3,%ymm18,%ymm11
+  .byte  197,84,95,198                       // vmaxps        %ymm6,%ymm5,%ymm8
+  .byte  196,65,92,95,192                    // vmaxps        %ymm8,%ymm4,%ymm8
+  .byte  197,84,93,230                       // vminps        %ymm6,%ymm5,%ymm12
+  .byte  196,65,92,93,228                    // vminps        %ymm12,%ymm4,%ymm12
+  .byte  196,65,60,92,196                    // vsubps        %ymm12,%ymm8,%ymm8
+  .byte  197,60,89,227                       // vmulps        %ymm3,%ymm8,%ymm12
+  .byte  196,65,44,93,195                    // vminps        %ymm11,%ymm10,%ymm8
+  .byte  196,65,52,93,232                    // vminps        %ymm8,%ymm9,%ymm13
+  .byte  196,65,44,95,195                    // vmaxps        %ymm11,%ymm10,%ymm8
+  .byte  196,65,52,95,192                    // vmaxps        %ymm8,%ymm9,%ymm8
+  .byte  196,65,60,92,245                    // vsubps        %ymm13,%ymm8,%ymm14
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  98,241,12,40,194,193,0              // vcmpeqps      %ymm1,%ymm14,%k0
+  .byte  98,114,126,40,56,248                // vpmovm2d      %k0,%ymm15
+  .byte  196,65,52,92,205                    // vsubps        %ymm13,%ymm9,%ymm9
+  .byte  196,65,28,89,201                    // vmulps        %ymm9,%ymm12,%ymm9
+  .byte  196,65,52,94,206                    // vdivps        %ymm14,%ymm9,%ymm9
+  .byte  196,99,53,74,201,240                // vblendvps     %ymm15,%ymm1,%ymm9,%ymm9
+  .byte  196,65,44,92,213                    // vsubps        %ymm13,%ymm10,%ymm10
+  .byte  196,65,28,89,210                    // vmulps        %ymm10,%ymm12,%ymm10
+  .byte  196,65,44,94,214                    // vdivps        %ymm14,%ymm10,%ymm10
+  .byte  196,99,45,74,209,240                // vblendvps     %ymm15,%ymm1,%ymm10,%ymm10
+  .byte  196,65,36,92,221                    // vsubps        %ymm13,%ymm11,%ymm11
+  .byte  196,65,28,89,219                    // vmulps        %ymm11,%ymm12,%ymm11
+  .byte  196,65,36,94,222                    // vdivps        %ymm14,%ymm11,%ymm11
+  .byte  196,99,37,74,225,240                // vblendvps     %ymm15,%ymm1,%ymm11,%ymm12
+  .byte  196,98,125,24,45,48,184,3,0         // vbroadcastss  0x3b830(%rip),%ymm13        # 3c51c <_sk_srcover_bgra_8888_sse2_lowp+0x2d0>
+  .byte  196,98,125,24,53,43,184,3,0         // vbroadcastss  0x3b82b(%rip),%ymm14        # 3c520 <_sk_srcover_bgra_8888_sse2_lowp+0x2d4>
+  .byte  196,65,84,89,254                    // vmulps        %ymm14,%ymm5,%ymm15
+  .byte  196,66,93,184,253                   // vfmadd231ps   %ymm13,%ymm4,%ymm15
+  .byte  98,226,125,40,24,5,27,184,3,0       // vbroadcastss  0x3b81b(%rip),%ymm16        # 3c524 <_sk_srcover_bgra_8888_sse2_lowp+0x2d8>
+  .byte  98,50,77,40,184,248                 // vfmadd231ps   %ymm16,%ymm6,%ymm15
+  .byte  196,65,44,89,222                    // vmulps        %ymm14,%ymm10,%ymm11
+  .byte  196,66,53,184,221                   // vfmadd231ps   %ymm13,%ymm9,%ymm11
+  .byte  98,50,29,40,184,216                 // vfmadd231ps   %ymm16,%ymm12,%ymm11
+  .byte  196,66,101,170,251                  // vfmsub213ps   %ymm11,%ymm3,%ymm15
+  .byte  196,65,52,88,207                    // vaddps        %ymm15,%ymm9,%ymm9
+  .byte  196,65,44,88,223                    // vaddps        %ymm15,%ymm10,%ymm11
+  .byte  196,65,28,88,215                    // vaddps        %ymm15,%ymm12,%ymm10
+  .byte  197,100,89,231                      // vmulps        %ymm7,%ymm3,%ymm12
+  .byte  196,65,36,93,250                    // vminps        %ymm10,%ymm11,%ymm15
+  .byte  196,65,52,93,255                    // vminps        %ymm15,%ymm9,%ymm15
+  .byte  98,193,36,40,95,202                 // vmaxps        %ymm10,%ymm11,%ymm17
+  .byte  98,161,52,40,95,201                 // vmaxps        %ymm17,%ymm9,%ymm17
+  .byte  196,65,36,89,246                    // vmulps        %ymm14,%ymm11,%ymm14
+  .byte  196,66,53,184,245                   // vfmadd231ps   %ymm13,%ymm9,%ymm14
+  .byte  98,50,45,40,184,240                 // vfmadd231ps   %ymm16,%ymm10,%ymm14
+  .byte  98,209,116,40,194,199,2             // vcmpleps      %ymm15,%ymm1,%k0
+  .byte  98,114,126,40,56,232                // vpmovm2d      %k0,%ymm13
+  .byte  98,193,52,40,92,198                 // vsubps        %ymm14,%ymm9,%ymm16
+  .byte  98,161,12,40,89,192                 // vmulps        %ymm16,%ymm14,%ymm16
+  .byte  196,65,12,92,255                    // vsubps        %ymm15,%ymm14,%ymm15
+  .byte  98,193,124,32,94,199                // vdivps        %ymm15,%ymm16,%ymm16
+  .byte  98,49,12,40,88,192                  // vaddps        %ymm16,%ymm14,%ymm8
+  .byte  196,67,61,74,193,208                // vblendvps     %ymm13,%ymm9,%ymm8,%ymm8
+  .byte  98,177,28,40,194,193,1              // vcmpltps      %ymm17,%ymm12,%k0
+  .byte  98,114,126,40,56,200                // vpmovm2d      %k0,%ymm9
+  .byte  98,193,60,40,92,198                 // vsubps        %ymm14,%ymm8,%ymm16
+  .byte  98,193,28,40,92,222                 // vsubps        %ymm14,%ymm12,%ymm19
+  .byte  98,161,100,32,89,192                // vmulps        %ymm16,%ymm19,%ymm16
+  .byte  98,193,116,32,92,206                // vsubps        %ymm14,%ymm17,%ymm17
+  .byte  98,161,124,32,94,193                // vdivps        %ymm17,%ymm16,%ymm16
+  .byte  98,177,12,40,88,208                 // vaddps        %ymm16,%ymm14,%ymm2
+  .byte  196,227,61,74,210,144               // vblendvps     %ymm9,%ymm2,%ymm8,%ymm2
+  .byte  197,236,95,209                      // vmaxps        %ymm1,%ymm2,%ymm2
+  .byte  196,65,36,92,198                    // vsubps        %ymm14,%ymm11,%ymm8
+  .byte  196,65,12,89,192                    // vmulps        %ymm8,%ymm14,%ymm8
+  .byte  196,65,60,94,199                    // vdivps        %ymm15,%ymm8,%ymm8
+  .byte  196,65,12,88,192                    // vaddps        %ymm8,%ymm14,%ymm8
+  .byte  196,67,61,74,195,208                // vblendvps     %ymm13,%ymm11,%ymm8,%ymm8
+  .byte  196,65,60,92,222                    // vsubps        %ymm14,%ymm8,%ymm11
+  .byte  98,81,100,32,89,219                 // vmulps        %ymm11,%ymm19,%ymm11
+  .byte  98,49,36,40,94,217                  // vdivps        %ymm17,%ymm11,%ymm11
+  .byte  196,65,12,88,219                    // vaddps        %ymm11,%ymm14,%ymm11
+  .byte  196,67,61,74,195,144                // vblendvps     %ymm9,%ymm11,%ymm8,%ymm8
+  .byte  197,60,95,193                       // vmaxps        %ymm1,%ymm8,%ymm8
+  .byte  196,65,44,92,222                    // vsubps        %ymm14,%ymm10,%ymm11
+  .byte  196,65,12,89,219                    // vmulps        %ymm11,%ymm14,%ymm11
+  .byte  196,65,36,94,223                    // vdivps        %ymm15,%ymm11,%ymm11
+  .byte  196,65,12,88,219                    // vaddps        %ymm11,%ymm14,%ymm11
+  .byte  196,67,37,74,210,208                // vblendvps     %ymm13,%ymm10,%ymm11,%ymm10
+  .byte  196,65,44,92,222                    // vsubps        %ymm14,%ymm10,%ymm11
+  .byte  98,81,100,32,89,219                 // vmulps        %ymm11,%ymm19,%ymm11
+  .byte  98,49,36,40,94,217                  // vdivps        %ymm17,%ymm11,%ymm11
+  .byte  196,65,12,88,219                    // vaddps        %ymm11,%ymm14,%ymm11
+  .byte  196,67,45,74,203,144                // vblendvps     %ymm9,%ymm11,%ymm10,%ymm9
+  .byte  197,52,95,201                       // vmaxps        %ymm1,%ymm9,%ymm9
+  .byte  196,226,125,24,13,183,182,3,0       // vbroadcastss  0x3b6b7(%rip),%ymm1        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,116,92,215                      // vsubps        %ymm7,%ymm1,%ymm10
+  .byte  197,172,89,192                      // vmulps        %ymm0,%ymm10,%ymm0
+  .byte  197,116,92,219                      // vsubps        %ymm3,%ymm1,%ymm11
+  .byte  196,226,37,184,196                  // vfmadd231ps   %ymm4,%ymm11,%ymm0
+  .byte  197,252,88,194                      // vaddps        %ymm2,%ymm0,%ymm0
+  .byte  98,177,44,40,89,204                 // vmulps        %ymm20,%ymm10,%ymm1
+  .byte  196,226,37,184,205                  // vfmadd231ps   %ymm5,%ymm11,%ymm1
+  .byte  196,193,116,88,200                  // vaddps        %ymm8,%ymm1,%ymm1
+  .byte  98,177,44,40,89,210                 // vmulps        %ymm18,%ymm10,%ymm2
+  .byte  196,98,77,168,218                   // vfmadd213ps   %ymm2,%ymm6,%ymm11
+  .byte  196,193,36,88,209                   // vaddps        %ymm9,%ymm11,%ymm2
+  .byte  197,228,88,223                      // vaddps        %ymm7,%ymm3,%ymm3
+  .byte  196,193,100,92,220                  // vsubps        %ymm12,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_saturation_skx
+.globl _sk_saturation_skx
+FUNCTION(_sk_saturation_skx)
+_sk_saturation_skx:
+  .byte  98,225,124,40,40,210                // vmovaps       %ymm2,%ymm18
+  .byte  98,225,124,40,40,225                // vmovaps       %ymm1,%ymm20
+  .byte  197,100,89,204                      // vmulps        %ymm4,%ymm3,%ymm9
+  .byte  197,100,89,213                      // vmulps        %ymm5,%ymm3,%ymm10
+  .byte  197,100,89,222                      // vmulps        %ymm6,%ymm3,%ymm11
+  .byte  98,49,92,32,95,194                  // vmaxps        %ymm18,%ymm20,%ymm8
+  .byte  196,65,124,95,192                   // vmaxps        %ymm8,%ymm0,%ymm8
+  .byte  98,49,92,32,93,226                  // vminps        %ymm18,%ymm20,%ymm12
+  .byte  196,65,124,93,228                   // vminps        %ymm12,%ymm0,%ymm12
+  .byte  196,65,60,92,196                    // vsubps        %ymm12,%ymm8,%ymm8
+  .byte  197,60,89,231                       // vmulps        %ymm7,%ymm8,%ymm12
+  .byte  196,65,44,93,195                    // vminps        %ymm11,%ymm10,%ymm8
+  .byte  196,65,52,93,232                    // vminps        %ymm8,%ymm9,%ymm13
+  .byte  196,65,44,95,195                    // vmaxps        %ymm11,%ymm10,%ymm8
+  .byte  196,65,52,95,192                    // vmaxps        %ymm8,%ymm9,%ymm8
+  .byte  196,65,60,92,245                    // vsubps        %ymm13,%ymm8,%ymm14
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  98,241,12,40,194,193,0              // vcmpeqps      %ymm1,%ymm14,%k0
+  .byte  98,114,126,40,56,248                // vpmovm2d      %k0,%ymm15
+  .byte  196,65,52,92,205                    // vsubps        %ymm13,%ymm9,%ymm9
+  .byte  196,65,28,89,201                    // vmulps        %ymm9,%ymm12,%ymm9
+  .byte  196,65,52,94,206                    // vdivps        %ymm14,%ymm9,%ymm9
+  .byte  196,99,53,74,201,240                // vblendvps     %ymm15,%ymm1,%ymm9,%ymm9
+  .byte  196,65,44,92,213                    // vsubps        %ymm13,%ymm10,%ymm10
+  .byte  196,65,28,89,210                    // vmulps        %ymm10,%ymm12,%ymm10
+  .byte  196,65,44,94,214                    // vdivps        %ymm14,%ymm10,%ymm10
+  .byte  196,99,45,74,209,240                // vblendvps     %ymm15,%ymm1,%ymm10,%ymm10
+  .byte  196,65,36,92,221                    // vsubps        %ymm13,%ymm11,%ymm11
+  .byte  196,65,28,89,219                    // vmulps        %ymm11,%ymm12,%ymm11
+  .byte  196,65,36,94,222                    // vdivps        %ymm14,%ymm11,%ymm11
+  .byte  196,99,37,74,225,240                // vblendvps     %ymm15,%ymm1,%ymm11,%ymm12
+  .byte  196,98,125,24,45,236,181,3,0        // vbroadcastss  0x3b5ec(%rip),%ymm13        # 3c51c <_sk_srcover_bgra_8888_sse2_lowp+0x2d0>
+  .byte  196,98,125,24,53,231,181,3,0        // vbroadcastss  0x3b5e7(%rip),%ymm14        # 3c520 <_sk_srcover_bgra_8888_sse2_lowp+0x2d4>
+  .byte  196,65,84,89,254                    // vmulps        %ymm14,%ymm5,%ymm15
+  .byte  196,66,93,184,253                   // vfmadd231ps   %ymm13,%ymm4,%ymm15
+  .byte  98,226,125,40,24,5,215,181,3,0      // vbroadcastss  0x3b5d7(%rip),%ymm16        # 3c524 <_sk_srcover_bgra_8888_sse2_lowp+0x2d8>
+  .byte  98,50,77,40,184,248                 // vfmadd231ps   %ymm16,%ymm6,%ymm15
+  .byte  196,65,44,89,222                    // vmulps        %ymm14,%ymm10,%ymm11
+  .byte  196,66,53,184,221                   // vfmadd231ps   %ymm13,%ymm9,%ymm11
+  .byte  98,50,29,40,184,216                 // vfmadd231ps   %ymm16,%ymm12,%ymm11
+  .byte  196,66,101,170,251                  // vfmsub213ps   %ymm11,%ymm3,%ymm15
+  .byte  196,65,52,88,207                    // vaddps        %ymm15,%ymm9,%ymm9
+  .byte  196,65,44,88,223                    // vaddps        %ymm15,%ymm10,%ymm11
+  .byte  196,65,28,88,215                    // vaddps        %ymm15,%ymm12,%ymm10
+  .byte  197,100,89,231                      // vmulps        %ymm7,%ymm3,%ymm12
+  .byte  196,65,36,93,250                    // vminps        %ymm10,%ymm11,%ymm15
+  .byte  196,65,52,93,255                    // vminps        %ymm15,%ymm9,%ymm15
+  .byte  98,193,36,40,95,202                 // vmaxps        %ymm10,%ymm11,%ymm17
+  .byte  98,161,52,40,95,201                 // vmaxps        %ymm17,%ymm9,%ymm17
+  .byte  196,65,36,89,246                    // vmulps        %ymm14,%ymm11,%ymm14
+  .byte  196,66,53,184,245                   // vfmadd231ps   %ymm13,%ymm9,%ymm14
+  .byte  98,50,45,40,184,240                 // vfmadd231ps   %ymm16,%ymm10,%ymm14
+  .byte  98,209,116,40,194,199,2             // vcmpleps      %ymm15,%ymm1,%k0
+  .byte  98,114,126,40,56,232                // vpmovm2d      %k0,%ymm13
+  .byte  98,193,52,40,92,198                 // vsubps        %ymm14,%ymm9,%ymm16
+  .byte  98,161,12,40,89,192                 // vmulps        %ymm16,%ymm14,%ymm16
+  .byte  196,65,12,92,255                    // vsubps        %ymm15,%ymm14,%ymm15
+  .byte  98,193,124,32,94,199                // vdivps        %ymm15,%ymm16,%ymm16
+  .byte  98,49,12,40,88,192                  // vaddps        %ymm16,%ymm14,%ymm8
+  .byte  196,67,61,74,193,208                // vblendvps     %ymm13,%ymm9,%ymm8,%ymm8
+  .byte  98,177,28,40,194,193,1              // vcmpltps      %ymm17,%ymm12,%k0
+  .byte  98,114,126,40,56,200                // vpmovm2d      %k0,%ymm9
+  .byte  98,193,60,40,92,198                 // vsubps        %ymm14,%ymm8,%ymm16
+  .byte  98,193,28,40,92,222                 // vsubps        %ymm14,%ymm12,%ymm19
+  .byte  98,161,100,32,89,192                // vmulps        %ymm16,%ymm19,%ymm16
+  .byte  98,193,116,32,92,206                // vsubps        %ymm14,%ymm17,%ymm17
+  .byte  98,161,124,32,94,193                // vdivps        %ymm17,%ymm16,%ymm16
+  .byte  98,177,12,40,88,208                 // vaddps        %ymm16,%ymm14,%ymm2
+  .byte  196,227,61,74,210,144               // vblendvps     %ymm9,%ymm2,%ymm8,%ymm2
+  .byte  197,236,95,209                      // vmaxps        %ymm1,%ymm2,%ymm2
+  .byte  196,65,36,92,198                    // vsubps        %ymm14,%ymm11,%ymm8
+  .byte  196,65,12,89,192                    // vmulps        %ymm8,%ymm14,%ymm8
+  .byte  196,65,60,94,199                    // vdivps        %ymm15,%ymm8,%ymm8
+  .byte  196,65,12,88,192                    // vaddps        %ymm8,%ymm14,%ymm8
+  .byte  196,67,61,74,195,208                // vblendvps     %ymm13,%ymm11,%ymm8,%ymm8
+  .byte  196,65,60,92,222                    // vsubps        %ymm14,%ymm8,%ymm11
+  .byte  98,81,100,32,89,219                 // vmulps        %ymm11,%ymm19,%ymm11
+  .byte  98,49,36,40,94,217                  // vdivps        %ymm17,%ymm11,%ymm11
+  .byte  196,65,12,88,219                    // vaddps        %ymm11,%ymm14,%ymm11
+  .byte  196,67,61,74,195,144                // vblendvps     %ymm9,%ymm11,%ymm8,%ymm8
+  .byte  197,60,95,193                       // vmaxps        %ymm1,%ymm8,%ymm8
+  .byte  196,65,44,92,222                    // vsubps        %ymm14,%ymm10,%ymm11
+  .byte  196,65,12,89,219                    // vmulps        %ymm11,%ymm14,%ymm11
+  .byte  196,65,36,94,223                    // vdivps        %ymm15,%ymm11,%ymm11
+  .byte  196,65,12,88,219                    // vaddps        %ymm11,%ymm14,%ymm11
+  .byte  196,67,37,74,210,208                // vblendvps     %ymm13,%ymm10,%ymm11,%ymm10
+  .byte  196,65,44,92,222                    // vsubps        %ymm14,%ymm10,%ymm11
+  .byte  98,81,100,32,89,219                 // vmulps        %ymm11,%ymm19,%ymm11
+  .byte  98,49,36,40,94,217                  // vdivps        %ymm17,%ymm11,%ymm11
+  .byte  196,65,12,88,219                    // vaddps        %ymm11,%ymm14,%ymm11
+  .byte  196,67,45,74,203,144                // vblendvps     %ymm9,%ymm11,%ymm10,%ymm9
+  .byte  197,52,95,201                       // vmaxps        %ymm1,%ymm9,%ymm9
+  .byte  196,226,125,24,13,115,180,3,0       // vbroadcastss  0x3b473(%rip),%ymm1        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,116,92,215                      // vsubps        %ymm7,%ymm1,%ymm10
+  .byte  197,172,89,192                      // vmulps        %ymm0,%ymm10,%ymm0
+  .byte  197,116,92,219                      // vsubps        %ymm3,%ymm1,%ymm11
+  .byte  196,226,37,184,196                  // vfmadd231ps   %ymm4,%ymm11,%ymm0
+  .byte  197,252,88,194                      // vaddps        %ymm2,%ymm0,%ymm0
+  .byte  98,177,44,40,89,204                 // vmulps        %ymm20,%ymm10,%ymm1
+  .byte  196,226,37,184,205                  // vfmadd231ps   %ymm5,%ymm11,%ymm1
+  .byte  196,193,116,88,200                  // vaddps        %ymm8,%ymm1,%ymm1
+  .byte  98,177,44,40,89,210                 // vmulps        %ymm18,%ymm10,%ymm2
+  .byte  196,98,77,168,218                   // vfmadd213ps   %ymm2,%ymm6,%ymm11
+  .byte  196,193,36,88,209                   // vaddps        %ymm9,%ymm11,%ymm2
+  .byte  197,228,88,223                      // vaddps        %ymm7,%ymm3,%ymm3
+  .byte  196,193,100,92,220                  // vsubps        %ymm12,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_color_skx
+.globl _sk_color_skx
+FUNCTION(_sk_color_skx)
+_sk_color_skx:
+  .byte  197,124,89,199                      // vmulps        %ymm7,%ymm0,%ymm8
+  .byte  197,116,89,207                      // vmulps        %ymm7,%ymm1,%ymm9
+  .byte  197,108,89,223                      // vmulps        %ymm7,%ymm2,%ymm11
+  .byte  196,98,125,24,37,60,180,3,0         // vbroadcastss  0x3b43c(%rip),%ymm12        # 3c51c <_sk_srcover_bgra_8888_sse2_lowp+0x2d0>
+  .byte  196,98,125,24,45,55,180,3,0         // vbroadcastss  0x3b437(%rip),%ymm13        # 3c520 <_sk_srcover_bgra_8888_sse2_lowp+0x2d4>
+  .byte  196,65,84,89,245                    // vmulps        %ymm13,%ymm5,%ymm14
+  .byte  196,66,93,184,244                   // vfmadd231ps   %ymm12,%ymm4,%ymm14
+  .byte  196,98,125,24,61,40,180,3,0         // vbroadcastss  0x3b428(%rip),%ymm15        # 3c524 <_sk_srcover_bgra_8888_sse2_lowp+0x2d8>
+  .byte  196,66,77,184,247                   // vfmadd231ps   %ymm15,%ymm6,%ymm14
+  .byte  196,65,52,89,213                    // vmulps        %ymm13,%ymm9,%ymm10
+  .byte  196,66,61,184,212                   // vfmadd231ps   %ymm12,%ymm8,%ymm10
+  .byte  196,66,37,184,215                   // vfmadd231ps   %ymm15,%ymm11,%ymm10
+  .byte  196,66,101,170,242                  // vfmsub213ps   %ymm10,%ymm3,%ymm14
+  .byte  196,65,60,88,198                    // vaddps        %ymm14,%ymm8,%ymm8
+  .byte  196,65,52,88,214                    // vaddps        %ymm14,%ymm9,%ymm10
+  .byte  196,65,36,88,206                    // vaddps        %ymm14,%ymm11,%ymm9
+  .byte  98,225,100,40,89,231                // vmulps        %ymm7,%ymm3,%ymm20
+  .byte  196,65,44,93,241                    // vminps        %ymm9,%ymm10,%ymm14
+  .byte  196,65,60,93,246                    // vminps        %ymm14,%ymm8,%ymm14
+  .byte  98,193,44,40,95,193                 // vmaxps        %ymm9,%ymm10,%ymm16
+  .byte  98,161,60,40,95,192                 // vmaxps        %ymm16,%ymm8,%ymm16
+  .byte  196,65,44,89,237                    // vmulps        %ymm13,%ymm10,%ymm13
+  .byte  196,66,61,184,236                   // vfmadd231ps   %ymm12,%ymm8,%ymm13
+  .byte  196,66,53,184,239                   // vfmadd231ps   %ymm15,%ymm9,%ymm13
+  .byte  98,161,108,32,87,210                // vxorps        %ymm18,%ymm18,%ymm18
+  .byte  98,209,108,32,194,198,2             // vcmpleps      %ymm14,%ymm18,%k0
+  .byte  98,114,126,40,56,248                // vpmovm2d      %k0,%ymm15
+  .byte  98,193,60,40,92,205                 // vsubps        %ymm13,%ymm8,%ymm17
+  .byte  98,161,20,40,89,201                 // vmulps        %ymm17,%ymm13,%ymm17
+  .byte  196,65,20,92,246                    // vsubps        %ymm14,%ymm13,%ymm14
+  .byte  98,193,116,32,94,206                // vdivps        %ymm14,%ymm17,%ymm17
+  .byte  98,49,20,40,88,225                  // vaddps        %ymm17,%ymm13,%ymm12
+  .byte  196,67,29,74,192,240                // vblendvps     %ymm15,%ymm8,%ymm12,%ymm8
+  .byte  98,177,92,32,194,192,1              // vcmpltps      %ymm16,%ymm20,%k0
+  .byte  98,114,126,40,56,224                // vpmovm2d      %k0,%ymm12
+  .byte  98,193,60,40,92,205                 // vsubps        %ymm13,%ymm8,%ymm17
+  .byte  98,193,92,32,92,221                 // vsubps        %ymm13,%ymm20,%ymm19
+  .byte  98,161,100,32,89,201                // vmulps        %ymm17,%ymm19,%ymm17
+  .byte  98,193,124,32,92,197                // vsubps        %ymm13,%ymm16,%ymm16
+  .byte  98,161,116,32,94,200                // vdivps        %ymm16,%ymm17,%ymm17
+  .byte  98,49,20,40,88,217                  // vaddps        %ymm17,%ymm13,%ymm11
+  .byte  196,67,61,74,195,192                // vblendvps     %ymm12,%ymm11,%ymm8,%ymm8
+  .byte  98,49,60,40,95,194                  // vmaxps        %ymm18,%ymm8,%ymm8
+  .byte  196,65,44,92,221                    // vsubps        %ymm13,%ymm10,%ymm11
+  .byte  196,65,20,89,219                    // vmulps        %ymm11,%ymm13,%ymm11
+  .byte  196,65,36,94,222                    // vdivps        %ymm14,%ymm11,%ymm11
+  .byte  196,65,20,88,219                    // vaddps        %ymm11,%ymm13,%ymm11
+  .byte  196,67,37,74,210,240                // vblendvps     %ymm15,%ymm10,%ymm11,%ymm10
+  .byte  196,65,44,92,221                    // vsubps        %ymm13,%ymm10,%ymm11
+  .byte  98,81,100,32,89,219                 // vmulps        %ymm11,%ymm19,%ymm11
+  .byte  98,49,36,40,94,216                  // vdivps        %ymm16,%ymm11,%ymm11
+  .byte  196,65,20,88,219                    // vaddps        %ymm11,%ymm13,%ymm11
+  .byte  196,67,45,74,211,192                // vblendvps     %ymm12,%ymm11,%ymm10,%ymm10
+  .byte  98,49,44,40,95,210                  // vmaxps        %ymm18,%ymm10,%ymm10
+  .byte  196,65,52,92,221                    // vsubps        %ymm13,%ymm9,%ymm11
+  .byte  196,65,20,89,219                    // vmulps        %ymm11,%ymm13,%ymm11
+  .byte  196,65,36,94,222                    // vdivps        %ymm14,%ymm11,%ymm11
+  .byte  196,65,20,88,219                    // vaddps        %ymm11,%ymm13,%ymm11
+  .byte  196,67,37,74,201,240                // vblendvps     %ymm15,%ymm9,%ymm11,%ymm9
+  .byte  196,65,52,92,221                    // vsubps        %ymm13,%ymm9,%ymm11
+  .byte  98,81,100,32,89,219                 // vmulps        %ymm11,%ymm19,%ymm11
+  .byte  98,49,36,40,94,216                  // vdivps        %ymm16,%ymm11,%ymm11
+  .byte  196,65,20,88,219                    // vaddps        %ymm11,%ymm13,%ymm11
+  .byte  196,67,53,74,203,192                // vblendvps     %ymm12,%ymm11,%ymm9,%ymm9
+  .byte  98,49,52,40,95,202                  // vmaxps        %ymm18,%ymm9,%ymm9
+  .byte  196,98,125,24,29,185,178,3,0        // vbroadcastss  0x3b2b9(%rip),%ymm11        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,36,92,231                       // vsubps        %ymm7,%ymm11,%ymm12
+  .byte  197,156,89,192                      // vmulps        %ymm0,%ymm12,%ymm0
+  .byte  197,36,92,219                       // vsubps        %ymm3,%ymm11,%ymm11
+  .byte  196,226,37,184,196                  // vfmadd231ps   %ymm4,%ymm11,%ymm0
+  .byte  196,193,124,88,192                  // vaddps        %ymm8,%ymm0,%ymm0
+  .byte  197,156,89,201                      // vmulps        %ymm1,%ymm12,%ymm1
+  .byte  196,226,37,184,205                  // vfmadd231ps   %ymm5,%ymm11,%ymm1
+  .byte  196,193,116,88,202                  // vaddps        %ymm10,%ymm1,%ymm1
+  .byte  197,156,89,210                      // vmulps        %ymm2,%ymm12,%ymm2
+  .byte  196,98,77,168,218                   // vfmadd213ps   %ymm2,%ymm6,%ymm11
+  .byte  196,193,36,88,209                   // vaddps        %ymm9,%ymm11,%ymm2
+  .byte  197,228,88,223                      // vaddps        %ymm7,%ymm3,%ymm3
+  .byte  98,177,100,40,92,220                // vsubps        %ymm20,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_luminosity_skx
+.globl _sk_luminosity_skx
+FUNCTION(_sk_luminosity_skx)
+_sk_luminosity_skx:
+  .byte  197,100,89,196                      // vmulps        %ymm4,%ymm3,%ymm8
+  .byte  197,100,89,205                      // vmulps        %ymm5,%ymm3,%ymm9
+  .byte  197,100,89,222                      // vmulps        %ymm6,%ymm3,%ymm11
+  .byte  196,98,125,24,37,132,178,3,0        // vbroadcastss  0x3b284(%rip),%ymm12        # 3c51c <_sk_srcover_bgra_8888_sse2_lowp+0x2d0>
+  .byte  196,98,125,24,45,127,178,3,0        // vbroadcastss  0x3b27f(%rip),%ymm13        # 3c520 <_sk_srcover_bgra_8888_sse2_lowp+0x2d4>
+  .byte  196,65,116,89,245                   // vmulps        %ymm13,%ymm1,%ymm14
+  .byte  196,66,125,184,244                  // vfmadd231ps   %ymm12,%ymm0,%ymm14
+  .byte  196,98,125,24,61,112,178,3,0        // vbroadcastss  0x3b270(%rip),%ymm15        # 3c524 <_sk_srcover_bgra_8888_sse2_lowp+0x2d8>
+  .byte  196,66,109,184,247                  // vfmadd231ps   %ymm15,%ymm2,%ymm14
+  .byte  196,65,52,89,213                    // vmulps        %ymm13,%ymm9,%ymm10
+  .byte  196,66,61,184,212                   // vfmadd231ps   %ymm12,%ymm8,%ymm10
+  .byte  196,66,37,184,215                   // vfmadd231ps   %ymm15,%ymm11,%ymm10
+  .byte  196,66,69,170,242                   // vfmsub213ps   %ymm10,%ymm7,%ymm14
+  .byte  196,65,60,88,198                    // vaddps        %ymm14,%ymm8,%ymm8
+  .byte  196,65,52,88,214                    // vaddps        %ymm14,%ymm9,%ymm10
+  .byte  196,65,36,88,206                    // vaddps        %ymm14,%ymm11,%ymm9
+  .byte  98,225,100,40,89,231                // vmulps        %ymm7,%ymm3,%ymm20
+  .byte  196,65,44,93,241                    // vminps        %ymm9,%ymm10,%ymm14
+  .byte  196,65,60,93,246                    // vminps        %ymm14,%ymm8,%ymm14
+  .byte  98,193,44,40,95,193                 // vmaxps        %ymm9,%ymm10,%ymm16
+  .byte  98,161,60,40,95,192                 // vmaxps        %ymm16,%ymm8,%ymm16
+  .byte  196,65,44,89,237                    // vmulps        %ymm13,%ymm10,%ymm13
+  .byte  196,66,61,184,236                   // vfmadd231ps   %ymm12,%ymm8,%ymm13
+  .byte  196,66,53,184,239                   // vfmadd231ps   %ymm15,%ymm9,%ymm13
+  .byte  98,161,108,32,87,210                // vxorps        %ymm18,%ymm18,%ymm18
+  .byte  98,209,108,32,194,198,2             // vcmpleps      %ymm14,%ymm18,%k0
+  .byte  98,114,126,40,56,248                // vpmovm2d      %k0,%ymm15
+  .byte  98,193,60,40,92,205                 // vsubps        %ymm13,%ymm8,%ymm17
+  .byte  98,161,20,40,89,201                 // vmulps        %ymm17,%ymm13,%ymm17
+  .byte  196,65,20,92,246                    // vsubps        %ymm14,%ymm13,%ymm14
+  .byte  98,193,116,32,94,206                // vdivps        %ymm14,%ymm17,%ymm17
+  .byte  98,49,20,40,88,225                  // vaddps        %ymm17,%ymm13,%ymm12
+  .byte  196,67,29,74,192,240                // vblendvps     %ymm15,%ymm8,%ymm12,%ymm8
+  .byte  98,177,92,32,194,192,1              // vcmpltps      %ymm16,%ymm20,%k0
+  .byte  98,114,126,40,56,224                // vpmovm2d      %k0,%ymm12
+  .byte  98,193,60,40,92,205                 // vsubps        %ymm13,%ymm8,%ymm17
+  .byte  98,193,92,32,92,221                 // vsubps        %ymm13,%ymm20,%ymm19
+  .byte  98,161,100,32,89,201                // vmulps        %ymm17,%ymm19,%ymm17
+  .byte  98,193,124,32,92,197                // vsubps        %ymm13,%ymm16,%ymm16
+  .byte  98,161,116,32,94,200                // vdivps        %ymm16,%ymm17,%ymm17
+  .byte  98,49,20,40,88,217                  // vaddps        %ymm17,%ymm13,%ymm11
+  .byte  196,67,61,74,195,192                // vblendvps     %ymm12,%ymm11,%ymm8,%ymm8
+  .byte  98,49,60,40,95,194                  // vmaxps        %ymm18,%ymm8,%ymm8
+  .byte  196,65,44,92,221                    // vsubps        %ymm13,%ymm10,%ymm11
+  .byte  196,65,20,89,219                    // vmulps        %ymm11,%ymm13,%ymm11
+  .byte  196,65,36,94,222                    // vdivps        %ymm14,%ymm11,%ymm11
+  .byte  196,65,20,88,219                    // vaddps        %ymm11,%ymm13,%ymm11
+  .byte  196,67,37,74,210,240                // vblendvps     %ymm15,%ymm10,%ymm11,%ymm10
+  .byte  196,65,44,92,221                    // vsubps        %ymm13,%ymm10,%ymm11
+  .byte  98,81,100,32,89,219                 // vmulps        %ymm11,%ymm19,%ymm11
+  .byte  98,49,36,40,94,216                  // vdivps        %ymm16,%ymm11,%ymm11
+  .byte  196,65,20,88,219                    // vaddps        %ymm11,%ymm13,%ymm11
+  .byte  196,67,45,74,211,192                // vblendvps     %ymm12,%ymm11,%ymm10,%ymm10
+  .byte  98,49,44,40,95,210                  // vmaxps        %ymm18,%ymm10,%ymm10
+  .byte  196,65,52,92,221                    // vsubps        %ymm13,%ymm9,%ymm11
+  .byte  196,65,20,89,219                    // vmulps        %ymm11,%ymm13,%ymm11
+  .byte  196,65,36,94,222                    // vdivps        %ymm14,%ymm11,%ymm11
+  .byte  196,65,20,88,219                    // vaddps        %ymm11,%ymm13,%ymm11
+  .byte  196,67,37,74,201,240                // vblendvps     %ymm15,%ymm9,%ymm11,%ymm9
+  .byte  196,65,52,92,221                    // vsubps        %ymm13,%ymm9,%ymm11
+  .byte  98,81,100,32,89,219                 // vmulps        %ymm11,%ymm19,%ymm11
+  .byte  98,49,36,40,94,216                  // vdivps        %ymm16,%ymm11,%ymm11
+  .byte  196,65,20,88,219                    // vaddps        %ymm11,%ymm13,%ymm11
+  .byte  196,67,53,74,203,192                // vblendvps     %ymm12,%ymm11,%ymm9,%ymm9
+  .byte  98,49,52,40,95,202                  // vmaxps        %ymm18,%ymm9,%ymm9
+  .byte  196,98,125,24,29,1,177,3,0          // vbroadcastss  0x3b101(%rip),%ymm11        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,36,92,231                       // vsubps        %ymm7,%ymm11,%ymm12
+  .byte  197,156,89,192                      // vmulps        %ymm0,%ymm12,%ymm0
+  .byte  197,36,92,219                       // vsubps        %ymm3,%ymm11,%ymm11
+  .byte  196,226,37,184,196                  // vfmadd231ps   %ymm4,%ymm11,%ymm0
+  .byte  196,193,124,88,192                  // vaddps        %ymm8,%ymm0,%ymm0
+  .byte  197,156,89,201                      // vmulps        %ymm1,%ymm12,%ymm1
+  .byte  196,226,37,184,205                  // vfmadd231ps   %ymm5,%ymm11,%ymm1
+  .byte  196,193,116,88,202                  // vaddps        %ymm10,%ymm1,%ymm1
+  .byte  197,156,89,210                      // vmulps        %ymm2,%ymm12,%ymm2
+  .byte  196,98,77,168,218                   // vfmadd213ps   %ymm2,%ymm6,%ymm11
+  .byte  196,193,36,88,209                   // vaddps        %ymm9,%ymm11,%ymm2
+  .byte  197,228,88,223                      // vaddps        %ymm7,%ymm3,%ymm3
+  .byte  98,177,100,40,92,220                // vsubps        %ymm20,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_srcover_rgba_8888_skx
+.globl _sk_srcover_rgba_8888_skx
+FUNCTION(_sk_srcover_rgba_8888_skx)
+_sk_srcover_rgba_8888_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,235,0,0,0                    // jne           1540 <_sk_srcover_rgba_8888_skx+0x105>
+  .byte  196,193,126,111,60,144              // vmovdqu       (%r8,%rdx,4),%ymm7
+  .byte  184,17,17,17,17                     // mov           $0x11111111,%eax
+  .byte  197,251,146,200                     // kmovd         %eax,%k1
+  .byte  98,241,127,169,111,231              // vmovdqu8      %ymm7,%ymm4{%k1}{z}
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  197,213,114,215,8                   // vpsrld        $0x8,%ymm7,%ymm5
+  .byte  98,241,127,169,111,237              // vmovdqu8      %ymm5,%ymm5{%k1}{z}
+  .byte  197,252,91,237                      // vcvtdq2ps     %ymm5,%ymm5
+  .byte  197,205,114,215,16                  // vpsrld        $0x10,%ymm7,%ymm6
+  .byte  98,241,127,169,111,246              // vmovdqu8      %ymm6,%ymm6{%k1}{z}
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,252,91,246                      // vcvtdq2ps     %ymm6,%ymm6
+  .byte  197,197,114,215,24                  // vpsrld        $0x18,%ymm7,%ymm7
+  .byte  197,252,91,255                      // vcvtdq2ps     %ymm7,%ymm7
+  .byte  196,98,125,24,13,89,176,3,0         // vbroadcastss  0x3b059(%rip),%ymm9        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,52,92,203                       // vsubps        %ymm3,%ymm9,%ymm9
+  .byte  196,98,125,24,21,120,176,3,0        // vbroadcastss  0x3b078(%rip),%ymm10        # 3c528 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  .byte  196,193,124,89,194                  // vmulps        %ymm10,%ymm0,%ymm0
+  .byte  196,194,93,184,193                  // vfmadd231ps   %ymm9,%ymm4,%ymm0
+  .byte  196,193,116,89,202                  // vmulps        %ymm10,%ymm1,%ymm1
+  .byte  196,194,85,184,201                  // vfmadd231ps   %ymm9,%ymm5,%ymm1
+  .byte  196,193,108,89,210                  // vmulps        %ymm10,%ymm2,%ymm2
+  .byte  196,194,77,184,209                  // vfmadd231ps   %ymm9,%ymm6,%ymm2
+  .byte  196,193,100,89,218                  // vmulps        %ymm10,%ymm3,%ymm3
+  .byte  196,194,69,184,217                  // vfmadd231ps   %ymm9,%ymm7,%ymm3
+  .byte  197,60,95,200                       // vmaxps        %ymm0,%ymm8,%ymm9
+  .byte  196,65,52,93,202                    // vminps        %ymm10,%ymm9,%ymm9
+  .byte  196,65,125,91,201                   // vcvtps2dq     %ymm9,%ymm9
+  .byte  197,60,95,217                       // vmaxps        %ymm1,%ymm8,%ymm11
+  .byte  196,65,36,93,218                    // vminps        %ymm10,%ymm11,%ymm11
+  .byte  196,65,125,91,219                   // vcvtps2dq     %ymm11,%ymm11
+  .byte  196,193,37,114,243,8                // vpslld        $0x8,%ymm11,%ymm11
+  .byte  196,65,37,235,201                   // vpor          %ymm9,%ymm11,%ymm9
+  .byte  197,60,95,218                       // vmaxps        %ymm2,%ymm8,%ymm11
+  .byte  196,65,36,93,218                    // vminps        %ymm10,%ymm11,%ymm11
+  .byte  196,65,125,91,219                   // vcvtps2dq     %ymm11,%ymm11
+  .byte  196,193,37,114,243,16               // vpslld        $0x10,%ymm11,%ymm11
+  .byte  197,60,95,195                       // vmaxps        %ymm3,%ymm8,%ymm8
+  .byte  196,65,60,93,194                    // vminps        %ymm10,%ymm8,%ymm8
+  .byte  196,65,125,91,192                   // vcvtps2dq     %ymm8,%ymm8
+  .byte  196,193,61,114,240,24               // vpslld        $0x18,%ymm8,%ymm8
+  .byte  196,65,37,235,192                   // vpor          %ymm8,%ymm11,%ymm8
+  .byte  196,65,53,235,192                   // vpor          %ymm8,%ymm9,%ymm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,58                              // jne           1570 <_sk_srcover_rgba_8888_skx+0x135>
+  .byte  196,65,126,127,4,144                // vmovdqu       %ymm8,(%r8,%rdx,4)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  197,197,239,255                     // vpxor         %ymm7,%ymm7,%ymm7
+  .byte  4,255                               // add           $0xff,%al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  15,135,9,255,255,255                // ja            145b <_sk_srcover_rgba_8888_skx+0x20>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,252,0,0,0                 // lea           0xfc(%rip),%r9        # 1658 <_sk_srcover_rgba_8888_skx+0x21d>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,193,121,110,60,144              // vmovd         (%r8,%rdx,4),%xmm7
+  .byte  233,235,254,255,255                 // jmpq          145b <_sk_srcover_rgba_8888_skx+0x20>
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  4,255                               // add           $0xff,%al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,194                             // ja            153c <_sk_srcover_rgba_8888_skx+0x101>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,240,0,0,0                 // lea           0xf0(%rip),%r9        # 1674 <_sk_srcover_rgba_8888_skx+0x239>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,65,121,126,4,144                // vmovd         %xmm8,(%r8,%rdx,4)
+  .byte  235,167                             // jmp           153c <_sk_srcover_rgba_8888_skx+0x101>
+  .byte  196,193,121,110,100,144,8           // vmovd         0x8(%r8,%rdx,4),%xmm4
+  .byte  176,4                               // mov           $0x4,%al
+  .byte  197,251,146,200                     // kmovd         %eax,%k1
+  .byte  98,242,125,169,137,252              // vpexpandd     %ymm4,%ymm7{%k1}{z}
+  .byte  196,194,121,53,36,144               // vpmovzxdq     (%r8,%rdx,4),%xmm4
+  .byte  197,249,112,228,232                 // vpshufd       $0xe8,%xmm4,%xmm4
+  .byte  196,227,69,2,252,3                  // vpblendd      $0x3,%ymm4,%ymm7,%ymm7
+  .byte  233,157,254,255,255                 // jmpq          145b <_sk_srcover_rgba_8888_skx+0x20>
+  .byte  196,193,121,110,100,144,24          // vmovd         0x18(%r8,%rdx,4),%xmm4
+  .byte  176,64                              // mov           $0x40,%al
+  .byte  197,251,146,200                     // kmovd         %eax,%k1
+  .byte  98,242,125,169,137,252              // vpexpandd     %ymm4,%ymm7{%k1}{z}
+  .byte  196,227,125,57,252,1                // vextracti128  $0x1,%ymm7,%xmm4
+  .byte  196,195,89,34,100,144,20,1          // vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm4,%xmm4
+  .byte  196,227,69,56,252,1                 // vinserti128   $0x1,%xmm4,%ymm7,%ymm7
+  .byte  196,227,125,57,252,1                // vextracti128  $0x1,%ymm7,%xmm4
+  .byte  196,195,89,34,100,144,16,0          // vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm4,%xmm4
+  .byte  196,227,69,56,252,1                 // vinserti128   $0x1,%xmm4,%ymm7,%ymm7
+  .byte  196,193,122,111,36,144              // vmovdqu       (%r8,%rdx,4),%xmm4
+  .byte  196,227,93,2,255,240                // vpblendd      $0xf0,%ymm7,%ymm4,%ymm7
+  .byte  233,81,254,255,255                  // jmpq          145b <_sk_srcover_rgba_8888_skx+0x20>
+  .byte  196,67,121,22,68,144,8,2            // vpextrd       $0x2,%xmm8,0x8(%r8,%rdx,4)
+  .byte  196,66,121,53,192                   // vpmovzxdq     %xmm8,%xmm8
+  .byte  98,82,126,8,53,4,144                // vpmovqd       %xmm8,(%r8,%rdx,4)
+  .byte  233,25,255,255,255                  // jmpq          153c <_sk_srcover_rgba_8888_skx+0x101>
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,22,76,144,24,2           // vpextrd       $0x2,%xmm9,0x18(%r8,%rdx,4)
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,22,76,144,20,1           // vpextrd       $0x1,%xmm9,0x14(%r8,%rdx,4)
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,65,121,126,76,144,16            // vmovd         %xmm9,0x10(%r8,%rdx,4)
+  .byte  196,65,122,127,4,144                // vmovdqu       %xmm8,(%r8,%rdx,4)
+  .byte  233,229,254,255,255                 // jmpq          153c <_sk_srcover_rgba_8888_skx+0x101>
+  .byte  144                                 // nop
+  .byte  13,255,255,255,80                   // or            $0x50ffffff,%eax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  61,255,255,255,161                  // cmp           $0xa1ffffff,%eax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,141,255,255,255,121             // decl          0x79ffffff(%rbp)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,102,255                         // jmpq          *-0x1(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255,25                              // lcall         *(%rcx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,158,255,255,255,150             // lcall         *-0x69000001(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  216,255                             // fdivr         %st(7),%st
+  .byte  255                                 // (bad)
+  .byte  255,203                             // dec           %ebx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  189,255,255,255,175                 // mov           $0xafffffff,%ebp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_srcover_bgra_8888_skx
+.globl _sk_srcover_bgra_8888_skx
+FUNCTION(_sk_srcover_bgra_8888_skx)
+_sk_srcover_bgra_8888_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,235,0,0,0                    // jne           1795 <_sk_srcover_bgra_8888_skx+0x105>
+  .byte  196,193,126,111,60,144              // vmovdqu       (%r8,%rdx,4),%ymm7
+  .byte  184,17,17,17,17                     // mov           $0x11111111,%eax
+  .byte  197,251,146,200                     // kmovd         %eax,%k1
+  .byte  98,241,127,169,111,231              // vmovdqu8      %ymm7,%ymm4{%k1}{z}
+  .byte  197,252,91,244                      // vcvtdq2ps     %ymm4,%ymm6
+  .byte  197,221,114,215,8                   // vpsrld        $0x8,%ymm7,%ymm4
+  .byte  98,241,127,169,111,228              // vmovdqu8      %ymm4,%ymm4{%k1}{z}
+  .byte  197,252,91,236                      // vcvtdq2ps     %ymm4,%ymm5
+  .byte  197,221,114,215,16                  // vpsrld        $0x10,%ymm7,%ymm4
+  .byte  98,241,127,169,111,228              // vmovdqu8      %ymm4,%ymm4{%k1}{z}
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  197,197,114,215,24                  // vpsrld        $0x18,%ymm7,%ymm7
+  .byte  197,252,91,255                      // vcvtdq2ps     %ymm7,%ymm7
+  .byte  196,98,125,24,13,4,174,3,0          // vbroadcastss  0x3ae04(%rip),%ymm9        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,52,92,203                       // vsubps        %ymm3,%ymm9,%ymm9
+  .byte  196,98,125,24,21,35,174,3,0         // vbroadcastss  0x3ae23(%rip),%ymm10        # 3c528 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  .byte  196,193,124,89,194                  // vmulps        %ymm10,%ymm0,%ymm0
+  .byte  196,194,93,184,193                  // vfmadd231ps   %ymm9,%ymm4,%ymm0
+  .byte  196,193,116,89,202                  // vmulps        %ymm10,%ymm1,%ymm1
+  .byte  196,194,85,184,201                  // vfmadd231ps   %ymm9,%ymm5,%ymm1
+  .byte  196,193,108,89,210                  // vmulps        %ymm10,%ymm2,%ymm2
+  .byte  196,194,77,184,209                  // vfmadd231ps   %ymm9,%ymm6,%ymm2
+  .byte  196,193,100,89,218                  // vmulps        %ymm10,%ymm3,%ymm3
+  .byte  196,194,69,184,217                  // vfmadd231ps   %ymm9,%ymm7,%ymm3
+  .byte  197,60,95,202                       // vmaxps        %ymm2,%ymm8,%ymm9
+  .byte  196,65,52,93,202                    // vminps        %ymm10,%ymm9,%ymm9
+  .byte  196,65,125,91,201                   // vcvtps2dq     %ymm9,%ymm9
+  .byte  197,60,95,217                       // vmaxps        %ymm1,%ymm8,%ymm11
+  .byte  196,65,36,93,218                    // vminps        %ymm10,%ymm11,%ymm11
+  .byte  196,65,125,91,219                   // vcvtps2dq     %ymm11,%ymm11
+  .byte  196,193,37,114,243,8                // vpslld        $0x8,%ymm11,%ymm11
+  .byte  196,65,37,235,201                   // vpor          %ymm9,%ymm11,%ymm9
+  .byte  197,60,95,216                       // vmaxps        %ymm0,%ymm8,%ymm11
+  .byte  196,65,36,93,218                    // vminps        %ymm10,%ymm11,%ymm11
+  .byte  196,65,125,91,219                   // vcvtps2dq     %ymm11,%ymm11
+  .byte  196,193,37,114,243,16               // vpslld        $0x10,%ymm11,%ymm11
+  .byte  197,60,95,195                       // vmaxps        %ymm3,%ymm8,%ymm8
+  .byte  196,65,60,93,194                    // vminps        %ymm10,%ymm8,%ymm8
+  .byte  196,65,125,91,192                   // vcvtps2dq     %ymm8,%ymm8
+  .byte  196,193,61,114,240,24               // vpslld        $0x18,%ymm8,%ymm8
+  .byte  196,65,37,235,192                   // vpor          %ymm8,%ymm11,%ymm8
+  .byte  196,65,53,235,192                   // vpor          %ymm8,%ymm9,%ymm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,58                              // jne           17c5 <_sk_srcover_bgra_8888_skx+0x135>
+  .byte  196,65,126,127,4,144                // vmovdqu       %ymm8,(%r8,%rdx,4)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  197,197,239,255                     // vpxor         %ymm7,%ymm7,%ymm7
+  .byte  4,255                               // add           $0xff,%al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  15,135,9,255,255,255                // ja            16b0 <_sk_srcover_bgra_8888_skx+0x20>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,251,0,0,0                 // lea           0xfb(%rip),%r9        # 18ac <_sk_srcover_bgra_8888_skx+0x21c>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,193,121,110,60,144              // vmovd         (%r8,%rdx,4),%xmm7
+  .byte  233,235,254,255,255                 // jmpq          16b0 <_sk_srcover_bgra_8888_skx+0x20>
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  4,255                               // add           $0xff,%al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,194                             // ja            1791 <_sk_srcover_bgra_8888_skx+0x101>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,239,0,0,0                 // lea           0xef(%rip),%r9        # 18c8 <_sk_srcover_bgra_8888_skx+0x238>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,65,121,126,4,144                // vmovd         %xmm8,(%r8,%rdx,4)
+  .byte  235,167                             // jmp           1791 <_sk_srcover_bgra_8888_skx+0x101>
+  .byte  196,193,121,110,100,144,8           // vmovd         0x8(%r8,%rdx,4),%xmm4
+  .byte  176,4                               // mov           $0x4,%al
+  .byte  197,251,146,200                     // kmovd         %eax,%k1
+  .byte  98,242,125,169,137,252              // vpexpandd     %ymm4,%ymm7{%k1}{z}
+  .byte  196,194,121,53,36,144               // vpmovzxdq     (%r8,%rdx,4),%xmm4
+  .byte  197,249,112,228,232                 // vpshufd       $0xe8,%xmm4,%xmm4
+  .byte  196,227,69,2,252,3                  // vpblendd      $0x3,%ymm4,%ymm7,%ymm7
+  .byte  233,157,254,255,255                 // jmpq          16b0 <_sk_srcover_bgra_8888_skx+0x20>
+  .byte  196,193,121,110,100,144,24          // vmovd         0x18(%r8,%rdx,4),%xmm4
+  .byte  176,64                              // mov           $0x40,%al
+  .byte  197,251,146,200                     // kmovd         %eax,%k1
+  .byte  98,242,125,169,137,252              // vpexpandd     %ymm4,%ymm7{%k1}{z}
+  .byte  196,227,125,57,252,1                // vextracti128  $0x1,%ymm7,%xmm4
+  .byte  196,195,89,34,100,144,20,1          // vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm4,%xmm4
+  .byte  196,227,69,56,252,1                 // vinserti128   $0x1,%xmm4,%ymm7,%ymm7
+  .byte  196,227,125,57,252,1                // vextracti128  $0x1,%ymm7,%xmm4
+  .byte  196,195,89,34,100,144,16,0          // vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm4,%xmm4
+  .byte  196,227,69,56,252,1                 // vinserti128   $0x1,%xmm4,%ymm7,%ymm7
+  .byte  196,193,122,111,36,144              // vmovdqu       (%r8,%rdx,4),%xmm4
+  .byte  196,227,93,2,255,240                // vpblendd      $0xf0,%ymm7,%ymm4,%ymm7
+  .byte  233,81,254,255,255                  // jmpq          16b0 <_sk_srcover_bgra_8888_skx+0x20>
+  .byte  196,67,121,22,68,144,8,2            // vpextrd       $0x2,%xmm8,0x8(%r8,%rdx,4)
+  .byte  196,66,121,53,192                   // vpmovzxdq     %xmm8,%xmm8
+  .byte  98,82,126,8,53,4,144                // vpmovqd       %xmm8,(%r8,%rdx,4)
+  .byte  233,25,255,255,255                  // jmpq          1791 <_sk_srcover_bgra_8888_skx+0x101>
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,22,76,144,24,2           // vpextrd       $0x2,%xmm9,0x18(%r8,%rdx,4)
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,22,76,144,20,1           // vpextrd       $0x1,%xmm9,0x14(%r8,%rdx,4)
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,65,121,126,76,144,16            // vmovd         %xmm9,0x10(%r8,%rdx,4)
+  .byte  196,65,122,127,4,144                // vmovdqu       %xmm8,(%r8,%rdx,4)
+  .byte  233,229,254,255,255                 // jmpq          1791 <_sk_srcover_bgra_8888_skx+0x101>
+  .byte  14                                  // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,81,255                          // callq         *-0x1(%rcx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  62,255                              // ds            (bad)
+  .byte  255                                 // (bad)
+  .byte  255,162,255,255,255,142             // jmpq          *-0x71000001(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  122,255                             // jp            18c1 <_sk_srcover_bgra_8888_skx+0x231>
+  .byte  255                                 // (bad)
+  .byte  255,103,255                         // jmpq          *-0x1(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255,26                              // lcall         *(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,159,255,255,255,151             // lcall         *-0x68000001(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  217,255                             // fcos
+  .byte  255                                 // (bad)
+  .byte  255,204                             // dec           %esp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  190,255,255,255,176                 // mov           $0xb0ffffff,%esi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_clamp_0_skx
+.globl _sk_clamp_0_skx
+FUNCTION(_sk_clamp_0_skx)
+_sk_clamp_0_skx:
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  196,193,124,95,192                  // vmaxps        %ymm8,%ymm0,%ymm0
+  .byte  196,193,116,95,200                  // vmaxps        %ymm8,%ymm1,%ymm1
+  .byte  196,193,108,95,208                  // vmaxps        %ymm8,%ymm2,%ymm2
+  .byte  196,193,100,95,216                  // vmaxps        %ymm8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_clamp_1_skx
+.globl _sk_clamp_1_skx
+FUNCTION(_sk_clamp_1_skx)
+_sk_clamp_1_skx:
+  .byte  196,98,125,24,5,242,171,3,0         // vbroadcastss  0x3abf2(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,193,124,93,192                  // vminps        %ymm8,%ymm0,%ymm0
+  .byte  196,193,116,93,200                  // vminps        %ymm8,%ymm1,%ymm1
+  .byte  196,193,108,93,208                  // vminps        %ymm8,%ymm2,%ymm2
+  .byte  196,193,100,93,216                  // vminps        %ymm8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_clamp_a_skx
+.globl _sk_clamp_a_skx
+FUNCTION(_sk_clamp_a_skx)
+_sk_clamp_a_skx:
+  .byte  98,241,100,56,93,29,208,171,3,0     // vminps        0x3abd0(%rip){1to8},%ymm3,%ymm3        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,252,93,195                      // vminps        %ymm3,%ymm0,%ymm0
+  .byte  197,244,93,203                      // vminps        %ymm3,%ymm1,%ymm1
+  .byte  197,236,93,211                      // vminps        %ymm3,%ymm2,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_clamp_a_dst_skx
+.globl _sk_clamp_a_dst_skx
+FUNCTION(_sk_clamp_a_dst_skx)
+_sk_clamp_a_dst_skx:
+  .byte  98,241,68,56,93,61,182,171,3,0      // vminps        0x3abb6(%rip){1to8},%ymm7,%ymm7        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,220,93,231                      // vminps        %ymm7,%ymm4,%ymm4
+  .byte  197,212,93,239                      // vminps        %ymm7,%ymm5,%ymm5
+  .byte  197,204,93,247                      // vminps        %ymm7,%ymm6,%ymm6
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_set_rgb_skx
+.globl _sk_set_rgb_skx
+FUNCTION(_sk_set_rgb_skx)
+_sk_set_rgb_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,0                    // vbroadcastss  (%rax),%ymm0
+  .byte  196,226,125,24,72,4                 // vbroadcastss  0x4(%rax),%ymm1
+  .byte  196,226,125,24,80,8                 // vbroadcastss  0x8(%rax),%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_swap_rb_skx
+.globl _sk_swap_rb_skx
+FUNCTION(_sk_swap_rb_skx)
+_sk_swap_rb_skx:
+  .byte  197,124,40,192                      // vmovaps       %ymm0,%ymm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,40,194                      // vmovaps       %ymm2,%ymm0
+  .byte  197,124,41,194                      // vmovaps       %ymm8,%ymm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_invert_skx
+.globl _sk_invert_skx
+FUNCTION(_sk_invert_skx)
+_sk_invert_skx:
+  .byte  196,98,125,24,5,118,171,3,0         // vbroadcastss  0x3ab76(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,188,92,192                      // vsubps        %ymm0,%ymm8,%ymm0
+  .byte  197,188,92,201                      // vsubps        %ymm1,%ymm8,%ymm1
+  .byte  197,188,92,210                      // vsubps        %ymm2,%ymm8,%ymm2
+  .byte  197,188,92,219                      // vsubps        %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_move_src_dst_skx
+.globl _sk_move_src_dst_skx
+FUNCTION(_sk_move_src_dst_skx)
+_sk_move_src_dst_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,40,224                      // vmovaps       %ymm0,%ymm4
+  .byte  197,252,40,233                      // vmovaps       %ymm1,%ymm5
+  .byte  197,252,40,242                      // vmovaps       %ymm2,%ymm6
+  .byte  197,252,40,251                      // vmovaps       %ymm3,%ymm7
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_move_dst_src_skx
+.globl _sk_move_dst_src_skx
+FUNCTION(_sk_move_dst_src_skx)
+_sk_move_dst_src_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,40,196                      // vmovaps       %ymm4,%ymm0
+  .byte  197,252,40,205                      // vmovaps       %ymm5,%ymm1
+  .byte  197,252,40,214                      // vmovaps       %ymm6,%ymm2
+  .byte  197,252,40,223                      // vmovaps       %ymm7,%ymm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_premul_skx
+.globl _sk_premul_skx
+FUNCTION(_sk_premul_skx)
+_sk_premul_skx:
+  .byte  197,252,89,195                      // vmulps        %ymm3,%ymm0,%ymm0
+  .byte  197,244,89,203                      // vmulps        %ymm3,%ymm1,%ymm1
+  .byte  197,236,89,211                      // vmulps        %ymm3,%ymm2,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_premul_dst_skx
+.globl _sk_premul_dst_skx
+FUNCTION(_sk_premul_dst_skx)
+_sk_premul_dst_skx:
+  .byte  197,220,89,231                      // vmulps        %ymm7,%ymm4,%ymm4
+  .byte  197,212,89,239                      // vmulps        %ymm7,%ymm5,%ymm5
+  .byte  197,204,89,247                      // vmulps        %ymm7,%ymm6,%ymm6
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_unpremul_skx
+.globl _sk_unpremul_skx
+FUNCTION(_sk_unpremul_skx)
+_sk_unpremul_skx:
+  .byte  196,98,125,24,5,17,171,3,0          // vbroadcastss  0x3ab11(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,94,195                       // vdivps        %ymm3,%ymm8,%ymm8
+  .byte  98,241,60,56,194,5,50,171,3,0,1     // vcmpltps      0x3ab32(%rip){1to8},%ymm8,%k0        # 3c52c <_sk_srcover_bgra_8888_sse2_lowp+0x2e0>
+  .byte  98,114,126,40,56,200                // vpmovm2d      %k0,%ymm9
+  .byte  196,65,44,87,210                    // vxorps        %ymm10,%ymm10,%ymm10
+  .byte  196,67,45,74,192,144                // vblendvps     %ymm9,%ymm8,%ymm10,%ymm8
+  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
+  .byte  197,188,89,201                      // vmulps        %ymm1,%ymm8,%ymm1
+  .byte  197,188,89,210                      // vmulps        %ymm2,%ymm8,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_force_opaque_skx
+.globl _sk_force_opaque_skx
+FUNCTION(_sk_force_opaque_skx)
+_sk_force_opaque_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,29,214,170,3,0       // vbroadcastss  0x3aad6(%rip),%ymm3        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_force_opaque_dst_skx
+.globl _sk_force_opaque_dst_skx
+FUNCTION(_sk_force_opaque_dst_skx)
+_sk_force_opaque_dst_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,61,201,170,3,0       // vbroadcastss  0x3aac9(%rip),%ymm7        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_from_srgb_skx
+.globl _sk_from_srgb_skx
+FUNCTION(_sk_from_srgb_skx)
+_sk_from_srgb_skx:
+  .byte  196,98,125,24,5,242,170,3,0         // vbroadcastss  0x3aaf2(%rip),%ymm8        # 3c530 <_sk_srcover_bgra_8888_sse2_lowp+0x2e4>
+  .byte  196,65,124,89,200                   // vmulps        %ymm8,%ymm0,%ymm9
+  .byte  197,124,89,208                      // vmulps        %ymm0,%ymm0,%ymm10
+  .byte  196,98,125,24,29,228,170,3,0        // vbroadcastss  0x3aae4(%rip),%ymm11        # 3c534 <_sk_srcover_bgra_8888_sse2_lowp+0x2e8>
+  .byte  196,98,125,24,37,195,170,3,0        // vbroadcastss  0x3aac3(%rip),%ymm12        # 3c51c <_sk_srcover_bgra_8888_sse2_lowp+0x2d0>
+  .byte  196,65,124,40,236                   // vmovaps       %ymm12,%ymm13
+  .byte  196,66,125,168,235                  // vfmadd213ps   %ymm11,%ymm0,%ymm13
+  .byte  196,98,125,24,53,204,170,3,0        // vbroadcastss  0x3aacc(%rip),%ymm14        # 3c538 <_sk_srcover_bgra_8888_sse2_lowp+0x2ec>
+  .byte  196,66,45,168,238                   // vfmadd213ps   %ymm14,%ymm10,%ymm13
+  .byte  196,98,125,24,21,194,170,3,0        // vbroadcastss  0x3aac2(%rip),%ymm10        # 3c53c <_sk_srcover_bgra_8888_sse2_lowp+0x2f0>
+  .byte  98,209,124,40,194,194,1             // vcmpltps      %ymm10,%ymm0,%k0
+  .byte  98,242,126,40,56,192                // vpmovm2d      %k0,%ymm0
+  .byte  196,195,21,74,193,0                 // vblendvps     %ymm0,%ymm9,%ymm13,%ymm0
+  .byte  196,65,116,89,200                   // vmulps        %ymm8,%ymm1,%ymm9
+  .byte  197,116,89,233                      // vmulps        %ymm1,%ymm1,%ymm13
+  .byte  196,65,124,40,252                   // vmovaps       %ymm12,%ymm15
+  .byte  196,66,117,168,251                  // vfmadd213ps   %ymm11,%ymm1,%ymm15
+  .byte  196,66,21,168,254                   // vfmadd213ps   %ymm14,%ymm13,%ymm15
+  .byte  98,209,116,40,194,194,1             // vcmpltps      %ymm10,%ymm1,%k0
+  .byte  98,242,126,40,56,200                // vpmovm2d      %k0,%ymm1
+  .byte  196,195,5,74,201,16                 // vblendvps     %ymm1,%ymm9,%ymm15,%ymm1
+  .byte  196,65,108,89,192                   // vmulps        %ymm8,%ymm2,%ymm8
+  .byte  197,108,89,202                      // vmulps        %ymm2,%ymm2,%ymm9
+  .byte  196,66,109,168,227                  // vfmadd213ps   %ymm11,%ymm2,%ymm12
+  .byte  196,66,53,168,230                   // vfmadd213ps   %ymm14,%ymm9,%ymm12
+  .byte  98,209,108,40,194,194,1             // vcmpltps      %ymm10,%ymm2,%k0
+  .byte  98,242,126,40,56,208                // vpmovm2d      %k0,%ymm2
+  .byte  196,195,29,74,208,32                // vblendvps     %ymm2,%ymm8,%ymm12,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_from_srgb_dst_skx
+.globl _sk_from_srgb_dst_skx
+FUNCTION(_sk_from_srgb_dst_skx)
+_sk_from_srgb_dst_skx:
+  .byte  196,98,125,24,5,69,170,3,0          // vbroadcastss  0x3aa45(%rip),%ymm8        # 3c530 <_sk_srcover_bgra_8888_sse2_lowp+0x2e4>
+  .byte  196,65,92,89,200                    // vmulps        %ymm8,%ymm4,%ymm9
+  .byte  197,92,89,212                       // vmulps        %ymm4,%ymm4,%ymm10
+  .byte  196,98,125,24,29,55,170,3,0         // vbroadcastss  0x3aa37(%rip),%ymm11        # 3c534 <_sk_srcover_bgra_8888_sse2_lowp+0x2e8>
+  .byte  196,98,125,24,37,22,170,3,0         // vbroadcastss  0x3aa16(%rip),%ymm12        # 3c51c <_sk_srcover_bgra_8888_sse2_lowp+0x2d0>
+  .byte  196,65,124,40,236                   // vmovaps       %ymm12,%ymm13
+  .byte  196,66,93,168,235                   // vfmadd213ps   %ymm11,%ymm4,%ymm13
+  .byte  196,98,125,24,53,31,170,3,0         // vbroadcastss  0x3aa1f(%rip),%ymm14        # 3c538 <_sk_srcover_bgra_8888_sse2_lowp+0x2ec>
+  .byte  196,66,45,168,238                   // vfmadd213ps   %ymm14,%ymm10,%ymm13
+  .byte  196,98,125,24,21,21,170,3,0         // vbroadcastss  0x3aa15(%rip),%ymm10        # 3c53c <_sk_srcover_bgra_8888_sse2_lowp+0x2f0>
+  .byte  98,209,92,40,194,194,1              // vcmpltps      %ymm10,%ymm4,%k0
+  .byte  98,242,126,40,56,224                // vpmovm2d      %k0,%ymm4
+  .byte  196,195,21,74,225,64                // vblendvps     %ymm4,%ymm9,%ymm13,%ymm4
+  .byte  196,65,84,89,200                    // vmulps        %ymm8,%ymm5,%ymm9
+  .byte  197,84,89,237                       // vmulps        %ymm5,%ymm5,%ymm13
+  .byte  196,65,124,40,252                   // vmovaps       %ymm12,%ymm15
+  .byte  196,66,85,168,251                   // vfmadd213ps   %ymm11,%ymm5,%ymm15
+  .byte  196,66,21,168,254                   // vfmadd213ps   %ymm14,%ymm13,%ymm15
+  .byte  98,209,84,40,194,194,1              // vcmpltps      %ymm10,%ymm5,%k0
+  .byte  98,242,126,40,56,232                // vpmovm2d      %k0,%ymm5
+  .byte  196,195,5,74,233,80                 // vblendvps     %ymm5,%ymm9,%ymm15,%ymm5
+  .byte  196,65,76,89,192                    // vmulps        %ymm8,%ymm6,%ymm8
+  .byte  197,76,89,206                       // vmulps        %ymm6,%ymm6,%ymm9
+  .byte  196,66,77,168,227                   // vfmadd213ps   %ymm11,%ymm6,%ymm12
+  .byte  196,66,53,168,230                   // vfmadd213ps   %ymm14,%ymm9,%ymm12
+  .byte  98,209,76,40,194,194,1              // vcmpltps      %ymm10,%ymm6,%k0
+  .byte  98,242,126,40,56,240                // vpmovm2d      %k0,%ymm6
+  .byte  196,195,29,74,240,96                // vblendvps     %ymm6,%ymm8,%ymm12,%ymm6
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_to_srgb_skx
+.globl _sk_to_srgb_skx
+FUNCTION(_sk_to_srgb_skx)
+_sk_to_srgb_skx:
+  .byte  98,114,125,40,78,192                // vrsqrt14ps    %ymm0,%ymm8
+  .byte  196,98,125,24,13,162,169,3,0        // vbroadcastss  0x3a9a2(%rip),%ymm9        # 3c540 <_sk_srcover_bgra_8888_sse2_lowp+0x2f4>
+  .byte  196,65,124,89,209                   // vmulps        %ymm9,%ymm0,%ymm10
+  .byte  196,98,125,24,29,152,169,3,0        // vbroadcastss  0x3a998(%rip),%ymm11        # 3c544 <_sk_srcover_bgra_8888_sse2_lowp+0x2f8>
+  .byte  196,98,125,24,37,147,169,3,0        // vbroadcastss  0x3a993(%rip),%ymm12        # 3c548 <_sk_srcover_bgra_8888_sse2_lowp+0x2fc>
+  .byte  196,65,124,40,236                   // vmovaps       %ymm12,%ymm13
+  .byte  196,66,61,168,235                   // vfmadd213ps   %ymm11,%ymm8,%ymm13
+  .byte  196,98,125,24,53,132,169,3,0        // vbroadcastss  0x3a984(%rip),%ymm14        # 3c54c <_sk_srcover_bgra_8888_sse2_lowp+0x300>
+  .byte  196,66,61,168,238                   // vfmadd213ps   %ymm14,%ymm8,%ymm13
+  .byte  196,98,125,24,61,122,169,3,0        // vbroadcastss  0x3a97a(%rip),%ymm15        # 3c550 <_sk_srcover_bgra_8888_sse2_lowp+0x304>
+  .byte  196,65,60,88,199                    // vaddps        %ymm15,%ymm8,%ymm8
+  .byte  98,82,125,40,76,192                 // vrcp14ps      %ymm8,%ymm8
+  .byte  196,65,20,89,192                    // vmulps        %ymm8,%ymm13,%ymm8
+  .byte  196,98,125,24,45,101,169,3,0        // vbroadcastss  0x3a965(%rip),%ymm13        # 3c554 <_sk_srcover_bgra_8888_sse2_lowp+0x308>
+  .byte  98,209,124,40,194,197,1             // vcmpltps      %ymm13,%ymm0,%k0
+  .byte  98,242,126,40,56,192                // vpmovm2d      %k0,%ymm0
+  .byte  196,195,61,74,194,0                 // vblendvps     %ymm0,%ymm10,%ymm8,%ymm0
+  .byte  98,114,125,40,78,193                // vrsqrt14ps    %ymm1,%ymm8
+  .byte  196,65,116,89,209                   // vmulps        %ymm9,%ymm1,%ymm10
+  .byte  98,193,124,40,40,196                // vmovaps       %ymm12,%ymm16
+  .byte  98,194,61,40,168,195                // vfmadd213ps   %ymm11,%ymm8,%ymm16
+  .byte  98,194,61,40,168,198                // vfmadd213ps   %ymm14,%ymm8,%ymm16
+  .byte  196,65,60,88,199                    // vaddps        %ymm15,%ymm8,%ymm8
+  .byte  98,82,125,40,76,192                 // vrcp14ps      %ymm8,%ymm8
+  .byte  98,81,124,32,89,192                 // vmulps        %ymm8,%ymm16,%ymm8
+  .byte  98,209,116,40,194,197,1             // vcmpltps      %ymm13,%ymm1,%k0
+  .byte  98,242,126,40,56,200                // vpmovm2d      %k0,%ymm1
+  .byte  196,195,61,74,202,16                // vblendvps     %ymm1,%ymm10,%ymm8,%ymm1
+  .byte  98,114,125,40,78,194                // vrsqrt14ps    %ymm2,%ymm8
+  .byte  196,65,108,89,201                   // vmulps        %ymm9,%ymm2,%ymm9
+  .byte  196,66,61,168,227                   // vfmadd213ps   %ymm11,%ymm8,%ymm12
+  .byte  196,66,61,168,230                   // vfmadd213ps   %ymm14,%ymm8,%ymm12
+  .byte  196,65,60,88,199                    // vaddps        %ymm15,%ymm8,%ymm8
+  .byte  98,82,125,40,76,192                 // vrcp14ps      %ymm8,%ymm8
+  .byte  196,65,28,89,192                    // vmulps        %ymm8,%ymm12,%ymm8
+  .byte  98,209,108,40,194,197,1             // vcmpltps      %ymm13,%ymm2,%k0
+  .byte  98,242,126,40,56,208                // vpmovm2d      %k0,%ymm2
+  .byte  196,195,61,74,209,32                // vblendvps     %ymm2,%ymm9,%ymm8,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_rgb_to_hsl_skx
+.globl _sk_rgb_to_hsl_skx
+FUNCTION(_sk_rgb_to_hsl_skx)
+_sk_rgb_to_hsl_skx:
+  .byte  98,225,124,40,40,207                // vmovaps       %ymm7,%ymm17
+  .byte  197,116,95,194                      // vmaxps        %ymm2,%ymm1,%ymm8
+  .byte  196,65,124,95,200                   // vmaxps        %ymm8,%ymm0,%ymm9
+  .byte  197,116,93,194                      // vminps        %ymm2,%ymm1,%ymm8
+  .byte  196,65,124,93,208                   // vminps        %ymm8,%ymm0,%ymm10
+  .byte  98,193,52,40,92,194                 // vsubps        %ymm10,%ymm9,%ymm16
+  .byte  196,98,125,24,5,86,168,3,0          // vbroadcastss  0x3a856(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  98,49,60,40,94,224                  // vdivps        %ymm16,%ymm8,%ymm12
+  .byte  98,209,52,40,194,194,0              // vcmpeqps      %ymm10,%ymm9,%k0
+  .byte  98,114,126,40,56,192                // vpmovm2d      %k0,%ymm8
+  .byte  98,241,52,40,194,192,0              // vcmpeqps      %ymm0,%ymm9,%k0
+  .byte  98,114,126,40,56,232                // vpmovm2d      %k0,%ymm13
+  .byte  197,116,92,242                      // vsubps        %ymm2,%ymm1,%ymm14
+  .byte  98,241,116,40,194,194,1             // vcmpltps      %ymm2,%ymm1,%k0
+  .byte  98,114,126,40,56,248                // vpmovm2d      %k0,%ymm15
+  .byte  196,98,125,24,29,120,168,3,0        // vbroadcastss  0x3a878(%rip),%ymm11        # 3c558 <_sk_srcover_bgra_8888_sse2_lowp+0x30c>
+  .byte  197,196,87,255                      // vxorps        %ymm7,%ymm7,%ymm7
+  .byte  196,67,69,74,219,240                // vblendvps     %ymm15,%ymm11,%ymm7,%ymm11
+  .byte  196,66,29,168,243                   // vfmadd213ps   %ymm11,%ymm12,%ymm14
+  .byte  98,241,52,40,194,193,0              // vcmpeqps      %ymm1,%ymm9,%k0
+  .byte  98,114,126,40,56,216                // vpmovm2d      %k0,%ymm11
+  .byte  197,236,92,208                      // vsubps        %ymm0,%ymm2,%ymm2
+  .byte  196,98,125,24,61,83,168,3,0         // vbroadcastss  0x3a853(%rip),%ymm15        # 3c55c <_sk_srcover_bgra_8888_sse2_lowp+0x310>
+  .byte  196,194,29,168,215                  // vfmadd213ps   %ymm15,%ymm12,%ymm2
+  .byte  197,252,92,193                      // vsubps        %ymm1,%ymm0,%ymm0
+  .byte  98,242,29,56,168,5,68,168,3,0       // vfmadd213ps   0x3a844(%rip){1to8},%ymm12,%ymm0        # 3c560 <_sk_srcover_bgra_8888_sse2_lowp+0x314>
+  .byte  196,227,125,74,194,176              // vblendvps     %ymm11,%ymm2,%ymm0,%ymm0
+  .byte  196,195,125,74,198,208              // vblendvps     %ymm13,%ymm14,%ymm0,%ymm0
+  .byte  196,227,125,74,199,128              // vblendvps     %ymm8,%ymm7,%ymm0,%ymm0
+  .byte  98,241,124,56,89,5,44,168,3,0       // vmulps        0x3a82c(%rip){1to8},%ymm0,%ymm0        # 3c564 <_sk_srcover_bgra_8888_sse2_lowp+0x318>
+  .byte  196,193,52,88,202                   // vaddps        %ymm10,%ymm9,%ymm1
+  .byte  196,98,125,24,29,178,167,3,0        // vbroadcastss  0x3a7b2(%rip),%ymm11        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  196,193,116,89,211                  // vmulps        %ymm11,%ymm1,%ymm2
+  .byte  98,241,36,40,194,194,1              // vcmpltps      %ymm2,%ymm11,%k0
+  .byte  98,114,126,40,56,216                // vpmovm2d      %k0,%ymm11
+  .byte  196,65,4,92,201                     // vsubps        %ymm9,%ymm15,%ymm9
+  .byte  196,65,52,92,202                    // vsubps        %ymm10,%ymm9,%ymm9
+  .byte  196,195,117,74,201,176              // vblendvps     %ymm11,%ymm9,%ymm1,%ymm1
+  .byte  98,241,124,32,94,201                // vdivps        %ymm1,%ymm16,%ymm1
+  .byte  196,227,117,74,207,128              // vblendvps     %ymm8,%ymm7,%ymm1,%ymm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  98,177,124,40,40,249                // vmovaps       %ymm17,%ymm7
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_hsl_to_rgb_skx
+.globl _sk_hsl_to_rgb_skx
+FUNCTION(_sk_hsl_to_rgb_skx)
+_sk_hsl_to_rgb_skx:
+  .byte  98,225,124,40,40,215                // vmovaps       %ymm7,%ymm18
+  .byte  98,225,124,40,40,230                // vmovaps       %ymm6,%ymm20
+  .byte  98,226,125,40,24,5,100,167,3,0      // vbroadcastss  0x3a764(%rip),%ymm16        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  98,241,124,32,194,194,2             // vcmpleps      %ymm2,%ymm16,%k0
+  .byte  98,114,126,40,56,192                // vpmovm2d      %k0,%ymm8
+  .byte  197,116,89,202                      // vmulps        %ymm2,%ymm1,%ymm9
+  .byte  196,65,116,92,209                   // vsubps        %ymm9,%ymm1,%ymm10
+  .byte  196,67,53,74,194,128                // vblendvps     %ymm8,%ymm10,%ymm9,%ymm8
+  .byte  197,60,88,218                       // vaddps        %ymm2,%ymm8,%ymm11
+  .byte  196,65,124,40,203                   // vmovaps       %ymm11,%ymm9
+  .byte  98,114,109,56,186,13,153,167,3,0    // vfmsub231ps   0x3a799(%rip){1to8},%ymm2,%ymm9        # 3c55c <_sk_srcover_bgra_8888_sse2_lowp+0x310>
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  98,209,116,40,194,192,0             // vcmpeqps      %ymm8,%ymm1,%k0
+  .byte  98,242,126,40,56,248                // vpmovm2d      %k0,%ymm7
+  .byte  98,241,124,56,88,13,137,167,3,0     // vaddps        0x3a789(%rip){1to8},%ymm0,%ymm1        # 3c568 <_sk_srcover_bgra_8888_sse2_lowp+0x31c>
+  .byte  196,99,125,8,193,1                  // vroundps      $0x1,%ymm1,%ymm8
+  .byte  196,193,116,92,200                  // vsubps        %ymm8,%ymm1,%ymm1
+  .byte  98,226,125,40,24,29,120,167,3,0     // vbroadcastss  0x3a778(%rip),%ymm19        # 3c56c <_sk_srcover_bgra_8888_sse2_lowp+0x320>
+  .byte  98,241,100,32,194,193,2             // vcmpleps      %ymm1,%ymm19,%k0
+  .byte  98,114,126,40,56,192                // vpmovm2d      %k0,%ymm8
+  .byte  196,65,36,92,241                    // vsubps        %ymm9,%ymm11,%ymm14
+  .byte  196,98,125,24,61,73,167,3,0         // vbroadcastss  0x3a749(%rip),%ymm15        # 3c558 <_sk_srcover_bgra_8888_sse2_lowp+0x30c>
+  .byte  196,65,116,89,231                   // vmulps        %ymm15,%ymm1,%ymm12
+  .byte  98,226,125,40,24,13,66,167,3,0      // vbroadcastss  0x3a742(%rip),%ymm17        # 3c560 <_sk_srcover_bgra_8888_sse2_lowp+0x314>
+  .byte  98,81,116,32,92,212                 // vsubps        %ymm12,%ymm17,%ymm10
+  .byte  196,66,13,168,209                   // vfmadd213ps   %ymm9,%ymm14,%ymm10
+  .byte  196,67,45,74,193,128                // vblendvps     %ymm8,%ymm9,%ymm10,%ymm8
+  .byte  98,241,124,32,194,193,2             // vcmpleps      %ymm1,%ymm16,%k0
+  .byte  98,114,126,40,56,208                // vpmovm2d      %k0,%ymm10
+  .byte  196,67,37,74,192,160                // vblendvps     %ymm10,%ymm8,%ymm11,%ymm8
+  .byte  196,98,125,24,21,25,167,3,0         // vbroadcastss  0x3a719(%rip),%ymm10        # 3c564 <_sk_srcover_bgra_8888_sse2_lowp+0x318>
+  .byte  98,241,44,40,194,193,2              // vcmpleps      %ymm1,%ymm10,%k0
+  .byte  98,242,126,40,56,200                // vpmovm2d      %k0,%ymm1
+  .byte  196,66,13,168,225                   // vfmadd213ps   %ymm9,%ymm14,%ymm12
+  .byte  196,195,29,74,200,16                // vblendvps     %ymm1,%ymm8,%ymm12,%ymm1
+  .byte  196,227,117,74,242,112              // vblendvps     %ymm7,%ymm2,%ymm1,%ymm6
+  .byte  196,227,125,8,200,1                 // vroundps      $0x1,%ymm0,%ymm1
+  .byte  197,252,92,201                      // vsubps        %ymm1,%ymm0,%ymm1
+  .byte  98,241,100,32,194,193,2             // vcmpleps      %ymm1,%ymm19,%k0
+  .byte  98,114,126,40,56,224                // vpmovm2d      %k0,%ymm12
+  .byte  196,65,116,89,239                   // vmulps        %ymm15,%ymm1,%ymm13
+  .byte  98,81,116,32,92,197                 // vsubps        %ymm13,%ymm17,%ymm8
+  .byte  196,66,13,168,193                   // vfmadd213ps   %ymm9,%ymm14,%ymm8
+  .byte  196,67,61,74,193,192                // vblendvps     %ymm12,%ymm9,%ymm8,%ymm8
+  .byte  98,241,124,32,194,193,2             // vcmpleps      %ymm1,%ymm16,%k0
+  .byte  98,114,126,40,56,224                // vpmovm2d      %k0,%ymm12
+  .byte  196,67,37,74,192,192                // vblendvps     %ymm12,%ymm8,%ymm11,%ymm8
+  .byte  98,241,44,40,194,193,2              // vcmpleps      %ymm1,%ymm10,%k0
+  .byte  98,242,126,40,56,200                // vpmovm2d      %k0,%ymm1
+  .byte  196,66,13,168,233                   // vfmadd213ps   %ymm9,%ymm14,%ymm13
+  .byte  196,195,21,74,200,16                // vblendvps     %ymm1,%ymm8,%ymm13,%ymm1
+  .byte  196,227,117,74,202,112              // vblendvps     %ymm7,%ymm2,%ymm1,%ymm1
+  .byte  98,241,124,56,88,5,159,166,3,0      // vaddps        0x3a69f(%rip){1to8},%ymm0,%ymm0        # 3c570 <_sk_srcover_bgra_8888_sse2_lowp+0x324>
+  .byte  196,99,125,8,192,1                  // vroundps      $0x1,%ymm0,%ymm8
+  .byte  196,193,124,92,192                  // vsubps        %ymm8,%ymm0,%ymm0
+  .byte  98,241,100,32,194,192,2             // vcmpleps      %ymm0,%ymm19,%k0
+  .byte  98,114,126,40,56,192                // vpmovm2d      %k0,%ymm8
+  .byte  196,65,124,89,231                   // vmulps        %ymm15,%ymm0,%ymm12
+  .byte  98,81,116,32,92,236                 // vsubps        %ymm12,%ymm17,%ymm13
+  .byte  196,66,13,168,233                   // vfmadd213ps   %ymm9,%ymm14,%ymm13
+  .byte  196,67,21,74,193,128                // vblendvps     %ymm8,%ymm9,%ymm13,%ymm8
+  .byte  98,241,124,32,194,192,2             // vcmpleps      %ymm0,%ymm16,%k0
+  .byte  98,114,126,40,56,232                // vpmovm2d      %k0,%ymm13
+  .byte  196,67,37,74,192,208                // vblendvps     %ymm13,%ymm8,%ymm11,%ymm8
+  .byte  98,241,44,40,194,192,2              // vcmpleps      %ymm0,%ymm10,%k0
+  .byte  98,242,126,40,56,192                // vpmovm2d      %k0,%ymm0
+  .byte  196,66,13,184,204                   // vfmadd231ps   %ymm12,%ymm14,%ymm9
+  .byte  196,195,53,74,192,0                 // vblendvps     %ymm0,%ymm8,%ymm9,%ymm0
+  .byte  196,227,125,74,210,112              // vblendvps     %ymm7,%ymm2,%ymm0,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,40,198                      // vmovaps       %ymm6,%ymm0
+  .byte  98,177,124,40,40,244                // vmovaps       %ymm20,%ymm6
+  .byte  98,177,124,40,40,250                // vmovaps       %ymm18,%ymm7
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_scale_1_float_skx
+.globl _sk_scale_1_float_skx
+FUNCTION(_sk_scale_1_float_skx)
+_sk_scale_1_float_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,0                     // vbroadcastss  (%rax),%ymm8
+  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
+  .byte  197,188,89,201                      // vmulps        %ymm1,%ymm8,%ymm1
+  .byte  197,188,89,210                      // vmulps        %ymm2,%ymm8,%ymm2
+  .byte  197,188,89,219                      // vmulps        %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_scale_u8_skx
+.globl _sk_scale_u8_skx
+FUNCTION(_sk_scale_u8_skx)
+_sk_scale_u8_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,54                              // jne           1fa7 <_sk_scale_u8_skx+0x48>
+  .byte  196,66,121,48,4,16                  // vpmovzxbw     (%r8,%rdx,1),%xmm8
+  .byte  197,57,219,5,49,175,3,0             // vpand         0x3af31(%rip),%xmm8,%xmm8        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  196,66,125,51,192                   // vpmovzxwd     %xmm8,%ymm8
+  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
+  .byte  98,113,60,56,89,5,225,165,3,0       // vmulps        0x3a5e1(%rip){1to8},%ymm8,%ymm8        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
+  .byte  197,188,89,201                      // vmulps        %ymm1,%ymm8,%ymm1
+  .byte  197,188,89,210                      // vmulps        %ymm2,%ymm8,%ymm2
+  .byte  197,188,89,219                      // vmulps        %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  4,255                               // add           $0xff,%al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,193                             // ja            1f77 <_sk_scale_u8_skx+0x18>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,140,0,0,0                 // lea           0x8c(%rip),%r9        # 204c <_sk_scale_u8_skx+0xed>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  197,121,110,192                     // vmovd         %eax,%xmm8
+  .byte  235,163                             // jmp           1f77 <_sk_scale_u8_skx+0x18>
+  .byte  65,15,182,68,16,2                   // movzbl        0x2(%r8,%rdx,1),%eax
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  197,57,196,192,2                    // vpinsrw       $0x2,%eax,%xmm8,%xmm8
+  .byte  196,66,121,50,12,16                 // vpmovzxbq     (%r8,%rdx,1),%xmm9
+  .byte  196,65,121,112,201,232              // vpshufd       $0xe8,%xmm9,%xmm9
+  .byte  196,65,123,112,201,232              // vpshuflw      $0xe8,%xmm9,%xmm9
+  .byte  196,67,57,2,193,1                   // vpblendd      $0x1,%xmm9,%xmm8,%xmm8
+  .byte  233,118,255,255,255                 // jmpq          1f77 <_sk_scale_u8_skx+0x18>
+  .byte  65,15,182,68,16,6                   // movzbl        0x6(%r8,%rdx,1),%eax
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  197,57,196,192,6                    // vpinsrw       $0x6,%eax,%xmm8,%xmm8
+  .byte  65,15,182,68,16,5                   // movzbl        0x5(%r8,%rdx,1),%eax
+  .byte  197,57,196,192,5                    // vpinsrw       $0x5,%eax,%xmm8,%xmm8
+  .byte  65,15,182,68,16,4                   // movzbl        0x4(%r8,%rdx,1),%eax
+  .byte  197,57,196,192,4                    // vpinsrw       $0x4,%eax,%xmm8,%xmm8
+  .byte  196,66,121,49,12,16                 // vpmovzxbd     (%r8,%rdx,1),%xmm9
+  .byte  196,65,123,112,201,232              // vpshuflw      $0xe8,%xmm9,%xmm9
+  .byte  196,65,122,112,201,232              // vpshufhw      $0xe8,%xmm9,%xmm9
+  .byte  196,65,121,112,201,232              // vpshufd       $0xe8,%xmm9,%xmm9
+  .byte  196,67,49,2,192,12                  // vpblendd      $0xc,%xmm8,%xmm9,%xmm8
+  .byte  233,45,255,255,255                  // jmpq          1f77 <_sk_scale_u8_skx+0x18>
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  125,255                             // jge           204d <_sk_scale_u8_skx+0xee>
+  .byte  255                                 // (bad)
+  .byte  255,152,255,255,255,136             // lcall         *-0x77000001(%rax)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  219,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,208                             // callq         *%rax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,197                             // inc           %ebp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+  .byte  181,255                             // mov           $0xff,%ch
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_scale_565_skx
+.globl _sk_scale_565_skx
+FUNCTION(_sk_scale_565_skx)
+_sk_scale_565_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,145,0,0,0                    // jne           2112 <_sk_scale_565_skx+0xaa>
+  .byte  196,65,122,111,4,80                 // vmovdqu       (%r8,%rdx,2),%xmm8
+  .byte  196,66,125,51,192                   // vpmovzxwd     %xmm8,%ymm8
+  .byte  98,113,61,56,219,13,226,164,3,0     // vpandd        0x3a4e2(%rip){1to8},%ymm8,%ymm9        # 3c578 <_sk_srcover_bgra_8888_sse2_lowp+0x32c>
+  .byte  196,65,124,91,201                   // vcvtdq2ps     %ymm9,%ymm9
+  .byte  98,113,52,56,89,13,215,164,3,0      // vmulps        0x3a4d7(%rip){1to8},%ymm9,%ymm9        # 3c57c <_sk_srcover_bgra_8888_sse2_lowp+0x330>
+  .byte  98,113,61,56,219,21,209,164,3,0     // vpandd        0x3a4d1(%rip){1to8},%ymm8,%ymm10        # 3c580 <_sk_srcover_bgra_8888_sse2_lowp+0x334>
+  .byte  196,65,124,91,210                   // vcvtdq2ps     %ymm10,%ymm10
+  .byte  98,113,44,56,89,21,198,164,3,0      // vmulps        0x3a4c6(%rip){1to8},%ymm10,%ymm10        # 3c584 <_sk_srcover_bgra_8888_sse2_lowp+0x338>
+  .byte  98,113,61,56,219,5,192,164,3,0      // vpandd        0x3a4c0(%rip){1to8},%ymm8,%ymm8        # 3c588 <_sk_srcover_bgra_8888_sse2_lowp+0x33c>
+  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
+  .byte  98,113,60,56,89,5,181,164,3,0       // vmulps        0x3a4b5(%rip){1to8},%ymm8,%ymm8        # 3c58c <_sk_srcover_bgra_8888_sse2_lowp+0x340>
+  .byte  98,241,100,40,194,199,1             // vcmpltps      %ymm7,%ymm3,%k0
+  .byte  98,114,126,40,56,216                // vpmovm2d      %k0,%ymm11
+  .byte  196,65,44,93,224                    // vminps        %ymm8,%ymm10,%ymm12
+  .byte  196,65,52,93,228                    // vminps        %ymm12,%ymm9,%ymm12
+  .byte  196,65,44,95,232                    // vmaxps        %ymm8,%ymm10,%ymm13
+  .byte  196,65,52,95,237                    // vmaxps        %ymm13,%ymm9,%ymm13
+  .byte  196,67,21,74,220,176                // vblendvps     %ymm11,%ymm12,%ymm13,%ymm11
+  .byte  197,180,89,192                      // vmulps        %ymm0,%ymm9,%ymm0
+  .byte  197,172,89,201                      // vmulps        %ymm1,%ymm10,%ymm1
+  .byte  197,188,89,210                      // vmulps        %ymm2,%ymm8,%ymm2
+  .byte  197,164,89,219                      // vmulps        %ymm3,%ymm11,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  4,255                               // add           $0xff,%al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  15,135,98,255,255,255               // ja            2087 <_sk_scale_565_skx+0x1f>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,129,0,0,0                 // lea           0x81(%rip),%r9        # 21b0 <_sk_scale_565_skx+0x148>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  197,121,110,192                     // vmovd         %eax,%xmm8
+  .byte  233,65,255,255,255                  // jmpq          2087 <_sk_scale_565_skx+0x1f>
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  196,65,57,196,68,80,4,2             // vpinsrw       $0x2,0x4(%r8,%rdx,2),%xmm8,%xmm8
+  .byte  196,66,121,52,12,80                 // vpmovzxwq     (%r8,%rdx,2),%xmm9
+  .byte  196,65,121,112,201,232              // vpshufd       $0xe8,%xmm9,%xmm9
+  .byte  196,65,123,112,201,232              // vpshuflw      $0xe8,%xmm9,%xmm9
+  .byte  196,67,57,2,193,1                   // vpblendd      $0x1,%xmm9,%xmm8,%xmm8
+  .byte  233,23,255,255,255                  // jmpq          2087 <_sk_scale_565_skx+0x1f>
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  196,65,57,196,68,80,12,6            // vpinsrw       $0x6,0xc(%r8,%rdx,2),%xmm8,%xmm8
+  .byte  196,65,57,196,68,80,10,5            // vpinsrw       $0x5,0xa(%r8,%rdx,2),%xmm8,%xmm8
+  .byte  196,65,57,196,68,80,8,4             // vpinsrw       $0x4,0x8(%r8,%rdx,2),%xmm8,%xmm8
+  .byte  196,66,121,51,12,80                 // vpmovzxwd     (%r8,%rdx,2),%xmm9
+  .byte  196,65,123,112,201,232              // vpshuflw      $0xe8,%xmm9,%xmm9
+  .byte  196,65,122,112,201,232              // vpshufhw      $0xe8,%xmm9,%xmm9
+  .byte  196,65,121,112,201,132              // vpshufd       $0x84,%xmm9,%xmm9
+  .byte  196,65,49,109,192                   // vpunpckhqdq   %xmm8,%xmm9,%xmm8
+  .byte  233,216,254,255,255                 // jmpq          2087 <_sk_scale_565_skx+0x1f>
+  .byte  144                                 // nop
+  .byte  136,255                             // mov           %bh,%bh
+  .byte  255                                 // (bad)
+  .byte  255,163,255,255,255,150             // jmpq          *-0x69000001(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  221,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,213                             // callq         *%rbp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,205                             // dec           %ebp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,192                             // inc           %eax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_lerp_1_float_skx
+.globl _sk_lerp_1_float_skx
+FUNCTION(_sk_lerp_1_float_skx)
+_sk_lerp_1_float_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,0                     // vbroadcastss  (%rax),%ymm8
+  .byte  197,252,92,196                      // vsubps        %ymm4,%ymm0,%ymm0
+  .byte  196,226,61,168,196                  // vfmadd213ps   %ymm4,%ymm8,%ymm0
+  .byte  197,244,92,205                      // vsubps        %ymm5,%ymm1,%ymm1
+  .byte  196,226,61,168,205                  // vfmadd213ps   %ymm5,%ymm8,%ymm1
+  .byte  197,236,92,214                      // vsubps        %ymm6,%ymm2,%ymm2
+  .byte  196,226,61,168,214                  // vfmadd213ps   %ymm6,%ymm8,%ymm2
+  .byte  197,228,92,223                      // vsubps        %ymm7,%ymm3,%ymm3
+  .byte  196,226,61,168,223                  // vfmadd213ps   %ymm7,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_lerp_u8_skx
+.globl _sk_lerp_u8_skx
+FUNCTION(_sk_lerp_u8_skx)
+_sk_lerp_u8_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,74                              // jne           2257 <_sk_lerp_u8_skx+0x5c>
+  .byte  196,66,121,48,4,16                  // vpmovzxbw     (%r8,%rdx,1),%xmm8
+  .byte  197,57,219,5,149,172,3,0            // vpand         0x3ac95(%rip),%xmm8,%xmm8        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  196,66,125,51,192                   // vpmovzxwd     %xmm8,%ymm8
+  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
+  .byte  98,113,60,56,89,5,69,163,3,0        // vmulps        0x3a345(%rip){1to8},%ymm8,%ymm8        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  197,252,92,196                      // vsubps        %ymm4,%ymm0,%ymm0
+  .byte  196,226,61,168,196                  // vfmadd213ps   %ymm4,%ymm8,%ymm0
+  .byte  197,244,92,205                      // vsubps        %ymm5,%ymm1,%ymm1
+  .byte  196,226,61,168,205                  // vfmadd213ps   %ymm5,%ymm8,%ymm1
+  .byte  197,236,92,214                      // vsubps        %ymm6,%ymm2,%ymm2
+  .byte  196,226,61,168,214                  // vfmadd213ps   %ymm6,%ymm8,%ymm2
+  .byte  197,228,92,223                      // vsubps        %ymm7,%ymm3,%ymm3
+  .byte  196,226,61,168,223                  // vfmadd213ps   %ymm7,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  4,255                               // add           $0xff,%al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,173                             // ja            2213 <_sk_lerp_u8_skx+0x18>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,140,0,0,0                 // lea           0x8c(%rip),%r9        # 22fc <_sk_lerp_u8_skx+0x101>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  197,121,110,192                     // vmovd         %eax,%xmm8
+  .byte  235,143                             // jmp           2213 <_sk_lerp_u8_skx+0x18>
+  .byte  65,15,182,68,16,2                   // movzbl        0x2(%r8,%rdx,1),%eax
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  197,57,196,192,2                    // vpinsrw       $0x2,%eax,%xmm8,%xmm8
+  .byte  196,66,121,50,12,16                 // vpmovzxbq     (%r8,%rdx,1),%xmm9
+  .byte  196,65,121,112,201,232              // vpshufd       $0xe8,%xmm9,%xmm9
+  .byte  196,65,123,112,201,232              // vpshuflw      $0xe8,%xmm9,%xmm9
+  .byte  196,67,57,2,193,1                   // vpblendd      $0x1,%xmm9,%xmm8,%xmm8
+  .byte  233,98,255,255,255                  // jmpq          2213 <_sk_lerp_u8_skx+0x18>
+  .byte  65,15,182,68,16,6                   // movzbl        0x6(%r8,%rdx,1),%eax
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  197,57,196,192,6                    // vpinsrw       $0x6,%eax,%xmm8,%xmm8
+  .byte  65,15,182,68,16,5                   // movzbl        0x5(%r8,%rdx,1),%eax
+  .byte  197,57,196,192,5                    // vpinsrw       $0x5,%eax,%xmm8,%xmm8
+  .byte  65,15,182,68,16,4                   // movzbl        0x4(%r8,%rdx,1),%eax
+  .byte  197,57,196,192,4                    // vpinsrw       $0x4,%eax,%xmm8,%xmm8
+  .byte  196,66,121,49,12,16                 // vpmovzxbd     (%r8,%rdx,1),%xmm9
+  .byte  196,65,123,112,201,232              // vpshuflw      $0xe8,%xmm9,%xmm9
+  .byte  196,65,122,112,201,232              // vpshufhw      $0xe8,%xmm9,%xmm9
+  .byte  196,65,121,112,201,232              // vpshufd       $0xe8,%xmm9,%xmm9
+  .byte  196,67,49,2,192,12                  // vpblendd      $0xc,%xmm8,%xmm9,%xmm8
+  .byte  233,25,255,255,255                  // jmpq          2213 <_sk_lerp_u8_skx+0x18>
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  125,255                             // jge           22fd <_sk_lerp_u8_skx+0x102>
+  .byte  255                                 // (bad)
+  .byte  255,152,255,255,255,136             // lcall         *-0x77000001(%rax)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  219,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,208                             // callq         *%rax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,197                             // inc           %ebp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+  .byte  181,255                             // mov           $0xff,%ch
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_lerp_565_skx
+.globl _sk_lerp_565_skx
+FUNCTION(_sk_lerp_565_skx)
+_sk_lerp_565_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,165,0,0,0                    // jne           23d6 <_sk_lerp_565_skx+0xbe>
+  .byte  196,65,122,111,4,80                 // vmovdqu       (%r8,%rdx,2),%xmm8
+  .byte  196,66,125,51,192                   // vpmovzxwd     %xmm8,%ymm8
+  .byte  98,113,61,56,219,13,50,162,3,0      // vpandd        0x3a232(%rip){1to8},%ymm8,%ymm9        # 3c578 <_sk_srcover_bgra_8888_sse2_lowp+0x32c>
+  .byte  196,65,124,91,201                   // vcvtdq2ps     %ymm9,%ymm9
+  .byte  98,113,52,56,89,13,39,162,3,0       // vmulps        0x3a227(%rip){1to8},%ymm9,%ymm9        # 3c57c <_sk_srcover_bgra_8888_sse2_lowp+0x330>
+  .byte  98,113,61,56,219,21,33,162,3,0      // vpandd        0x3a221(%rip){1to8},%ymm8,%ymm10        # 3c580 <_sk_srcover_bgra_8888_sse2_lowp+0x334>
+  .byte  196,65,124,91,210                   // vcvtdq2ps     %ymm10,%ymm10
+  .byte  98,113,44,56,89,21,22,162,3,0       // vmulps        0x3a216(%rip){1to8},%ymm10,%ymm10        # 3c584 <_sk_srcover_bgra_8888_sse2_lowp+0x338>
+  .byte  98,113,61,56,219,5,16,162,3,0       // vpandd        0x3a210(%rip){1to8},%ymm8,%ymm8        # 3c588 <_sk_srcover_bgra_8888_sse2_lowp+0x33c>
+  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
+  .byte  98,113,60,56,89,5,5,162,3,0         // vmulps        0x3a205(%rip){1to8},%ymm8,%ymm8        # 3c58c <_sk_srcover_bgra_8888_sse2_lowp+0x340>
+  .byte  98,241,100,40,194,199,1             // vcmpltps      %ymm7,%ymm3,%k0
+  .byte  98,114,126,40,56,216                // vpmovm2d      %k0,%ymm11
+  .byte  196,65,44,93,224                    // vminps        %ymm8,%ymm10,%ymm12
+  .byte  196,65,52,93,228                    // vminps        %ymm12,%ymm9,%ymm12
+  .byte  196,65,44,95,232                    // vmaxps        %ymm8,%ymm10,%ymm13
+  .byte  196,65,52,95,237                    // vmaxps        %ymm13,%ymm9,%ymm13
+  .byte  196,67,21,74,220,176                // vblendvps     %ymm11,%ymm12,%ymm13,%ymm11
+  .byte  197,252,92,196                      // vsubps        %ymm4,%ymm0,%ymm0
+  .byte  196,226,53,168,196                  // vfmadd213ps   %ymm4,%ymm9,%ymm0
+  .byte  197,244,92,205                      // vsubps        %ymm5,%ymm1,%ymm1
+  .byte  196,226,45,168,205                  // vfmadd213ps   %ymm5,%ymm10,%ymm1
+  .byte  197,236,92,214                      // vsubps        %ymm6,%ymm2,%ymm2
+  .byte  196,226,61,168,214                  // vfmadd213ps   %ymm6,%ymm8,%ymm2
+  .byte  197,228,92,223                      // vsubps        %ymm7,%ymm3,%ymm3
+  .byte  196,226,37,168,223                  // vfmadd213ps   %ymm7,%ymm11,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  4,255                               // add           $0xff,%al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  15,135,78,255,255,255               // ja            2337 <_sk_lerp_565_skx+0x1f>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,129,0,0,0                 // lea           0x81(%rip),%r9        # 2474 <_sk_lerp_565_skx+0x15c>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  197,121,110,192                     // vmovd         %eax,%xmm8
+  .byte  233,45,255,255,255                  // jmpq          2337 <_sk_lerp_565_skx+0x1f>
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  196,65,57,196,68,80,4,2             // vpinsrw       $0x2,0x4(%r8,%rdx,2),%xmm8,%xmm8
+  .byte  196,66,121,52,12,80                 // vpmovzxwq     (%r8,%rdx,2),%xmm9
+  .byte  196,65,121,112,201,232              // vpshufd       $0xe8,%xmm9,%xmm9
+  .byte  196,65,123,112,201,232              // vpshuflw      $0xe8,%xmm9,%xmm9
+  .byte  196,67,57,2,193,1                   // vpblendd      $0x1,%xmm9,%xmm8,%xmm8
+  .byte  233,3,255,255,255                   // jmpq          2337 <_sk_lerp_565_skx+0x1f>
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  196,65,57,196,68,80,12,6            // vpinsrw       $0x6,0xc(%r8,%rdx,2),%xmm8,%xmm8
+  .byte  196,65,57,196,68,80,10,5            // vpinsrw       $0x5,0xa(%r8,%rdx,2),%xmm8,%xmm8
+  .byte  196,65,57,196,68,80,8,4             // vpinsrw       $0x4,0x8(%r8,%rdx,2),%xmm8,%xmm8
+  .byte  196,66,121,51,12,80                 // vpmovzxwd     (%r8,%rdx,2),%xmm9
+  .byte  196,65,123,112,201,232              // vpshuflw      $0xe8,%xmm9,%xmm9
+  .byte  196,65,122,112,201,232              // vpshufhw      $0xe8,%xmm9,%xmm9
+  .byte  196,65,121,112,201,132              // vpshufd       $0x84,%xmm9,%xmm9
+  .byte  196,65,49,109,192                   // vpunpckhqdq   %xmm8,%xmm9,%xmm8
+  .byte  233,196,254,255,255                 // jmpq          2337 <_sk_lerp_565_skx+0x1f>
+  .byte  144                                 // nop
+  .byte  136,255                             // mov           %bh,%bh
+  .byte  255                                 // (bad)
+  .byte  255,163,255,255,255,150             // jmpq          *-0x69000001(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  221,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,213                             // callq         *%rbp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,205                             // dec           %ebp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,192                             // inc           %eax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_tables_skx
+.globl _sk_load_tables_skx
+FUNCTION(_sk_load_tables_skx)
+_sk_load_tables_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,124                             // jne           2516 <_sk_load_tables_skx+0x86>
+  .byte  196,193,126,111,28,144              // vmovdqu       (%r8,%rdx,4),%ymm3
+  .byte  65,184,17,17,17,17                  // mov           $0x11111111,%r8d
+  .byte  196,193,123,146,200                 // kmovd         %r8d,%k1
+  .byte  98,241,127,169,111,203              // vmovdqu8      %ymm3,%ymm1{%k1}{z}
+  .byte  76,139,64,8                         // mov           0x8(%rax),%r8
+  .byte  76,139,72,16                        // mov           0x10(%rax),%r9
+  .byte  197,253,239,192                     // vpxor         %ymm0,%ymm0,%ymm0
+  .byte  197,237,118,210                     // vpcmpeqd      %ymm2,%ymm2,%ymm2
+  .byte  196,194,109,146,4,136               // vgatherdps    %ymm2,(%r8,%ymm1,4),%ymm0
+  .byte  197,245,114,211,8                   // vpsrld        $0x8,%ymm3,%ymm1
+  .byte  98,241,127,169,111,209              // vmovdqu8      %ymm1,%ymm2{%k1}{z}
+  .byte  197,245,239,201                     // vpxor         %ymm1,%ymm1,%ymm1
+  .byte  196,65,61,118,192                   // vpcmpeqd      %ymm8,%ymm8,%ymm8
+  .byte  196,194,61,146,12,145               // vgatherdps    %ymm8,(%r9,%ymm2,4),%ymm1
+  .byte  196,65,61,118,192                   // vpcmpeqd      %ymm8,%ymm8,%ymm8
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  72,139,64,24                        // mov           0x18(%rax),%rax
+  .byte  197,181,114,211,16                  // vpsrld        $0x10,%ymm3,%ymm9
+  .byte  98,81,127,169,111,201               // vmovdqu8      %ymm9,%ymm9{%k1}{z}
+  .byte  196,162,61,146,20,136               // vgatherdps    %ymm8,(%rax,%ymm9,4),%ymm2
+  .byte  197,229,114,211,24                  // vpsrld        $0x18,%ymm3,%ymm3
+  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
+  .byte  98,241,100,56,89,29,98,160,3,0      // vmulps        0x3a062(%rip){1to8},%ymm3,%ymm3        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,137,249                          // mov           %edi,%r9d
+  .byte  65,128,225,7                        // and           $0x7,%r9b
+  .byte  197,229,239,219                     // vpxor         %ymm3,%ymm3,%ymm3
+  .byte  65,128,193,255                      // add           $0xff,%r9b
+  .byte  65,128,249,6                        // cmp           $0x6,%r9b
+  .byte  15,135,113,255,255,255              // ja            24a0 <_sk_load_tables_skx+0x10>
+  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
+  .byte  76,141,21,142,0,0,0                 // lea           0x8e(%rip),%r10        # 25c8 <_sk_load_tables_skx+0x138>
+  .byte  79,99,12,138                        // movslq        (%r10,%r9,4),%r9
+  .byte  77,1,209                            // add           %r10,%r9
+  .byte  65,255,225                          // jmpq          *%r9
+  .byte  196,193,121,110,28,144              // vmovd         (%r8,%rdx,4),%xmm3
+  .byte  233,81,255,255,255                  // jmpq          24a0 <_sk_load_tables_skx+0x10>
+  .byte  196,193,121,110,68,144,8            // vmovd         0x8(%r8,%rdx,4),%xmm0
+  .byte  65,177,4                            // mov           $0x4,%r9b
+  .byte  196,193,123,146,201                 // kmovd         %r9d,%k1
+  .byte  98,242,125,169,137,216              // vpexpandd     %ymm0,%ymm3{%k1}{z}
+  .byte  196,194,121,53,4,144                // vpmovzxdq     (%r8,%rdx,4),%xmm0
+  .byte  197,249,112,192,232                 // vpshufd       $0xe8,%xmm0,%xmm0
+  .byte  196,227,101,2,216,3                 // vpblendd      $0x3,%ymm0,%ymm3,%ymm3
+  .byte  233,38,255,255,255                  // jmpq          24a0 <_sk_load_tables_skx+0x10>
+  .byte  196,193,121,110,68,144,24           // vmovd         0x18(%r8,%rdx,4),%xmm0
+  .byte  65,177,64                           // mov           $0x40,%r9b
+  .byte  196,193,123,146,201                 // kmovd         %r9d,%k1
+  .byte  98,242,125,169,137,216              // vpexpandd     %ymm0,%ymm3{%k1}{z}
+  .byte  196,227,125,57,216,1                // vextracti128  $0x1,%ymm3,%xmm0
+  .byte  196,195,121,34,68,144,20,1          // vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm0,%xmm0
+  .byte  196,227,101,56,216,1                // vinserti128   $0x1,%xmm0,%ymm3,%ymm3
+  .byte  196,227,125,57,216,1                // vextracti128  $0x1,%ymm3,%xmm0
+  .byte  196,195,121,34,68,144,16,0          // vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm0,%xmm0
+  .byte  196,227,101,56,216,1                // vinserti128   $0x1,%xmm0,%ymm3,%ymm3
+  .byte  196,193,122,111,4,144               // vmovdqu       (%r8,%rdx,4),%xmm0
+  .byte  196,227,125,2,219,240               // vpblendd      $0xf0,%ymm3,%ymm0,%ymm3
+  .byte  233,216,254,255,255                 // jmpq          24a0 <_sk_load_tables_skx+0x10>
+  .byte  124,255                             // jl            25c9 <_sk_load_tables_skx+0x139>
+  .byte  255                                 // (bad)
+  .byte  255,156,255,255,255,135,255         // lcall         *-0x780001(%rdi,%rdi,8)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  239                                 // out           %eax,(%dx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  219,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,199                             // inc           %edi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+  .byte  178,255                             // mov           $0xff,%dl
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_tables_u16_be_skx
+.globl _sk_load_tables_u16_be_skx
+FUNCTION(_sk_load_tables_u16_be_skx)
+_sk_load_tables_u16_be_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  76,141,12,149,0,0,0,0               // lea           0x0(,%rdx,4),%r9
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,210,0,0,0                    // jne           26cc <_sk_load_tables_u16_be_skx+0xe8>
+  .byte  196,1,121,16,4,72                   // vmovupd       (%r8,%r9,2),%xmm8
+  .byte  196,129,121,16,84,72,16             // vmovupd       0x10(%r8,%r9,2),%xmm2
+  .byte  196,129,121,16,92,72,32             // vmovupd       0x20(%r8,%r9,2),%xmm3
+  .byte  196,1,122,111,76,72,48              // vmovdqu       0x30(%r8,%r9,2),%xmm9
+  .byte  197,185,97,194                      // vpunpcklwd    %xmm2,%xmm8,%xmm0
+  .byte  197,185,105,210                     // vpunpckhwd    %xmm2,%xmm8,%xmm2
+  .byte  196,193,97,97,201                   // vpunpcklwd    %xmm9,%xmm3,%xmm1
+  .byte  196,193,97,105,217                  // vpunpckhwd    %xmm9,%xmm3,%xmm3
+  .byte  197,121,97,194                      // vpunpcklwd    %xmm2,%xmm0,%xmm8
+  .byte  197,121,105,202                     // vpunpckhwd    %xmm2,%xmm0,%xmm9
+  .byte  197,241,97,195                      // vpunpcklwd    %xmm3,%xmm1,%xmm0
+  .byte  197,113,105,219                     // vpunpckhwd    %xmm3,%xmm1,%xmm11
+  .byte  197,185,108,200                     // vpunpcklqdq   %xmm0,%xmm8,%xmm1
+  .byte  197,57,109,192                      // vpunpckhqdq   %xmm0,%xmm8,%xmm8
+  .byte  197,121,111,21,105,168,3,0          // vmovdqa       0x3a869(%rip),%xmm10        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  196,193,113,219,194                 // vpand         %xmm10,%xmm1,%xmm0
+  .byte  196,226,125,51,200                  // vpmovzxwd     %xmm0,%ymm1
+  .byte  76,139,64,8                         // mov           0x8(%rax),%r8
+  .byte  76,139,72,16                        // mov           0x10(%rax),%r9
+  .byte  197,237,118,210                     // vpcmpeqd      %ymm2,%ymm2,%ymm2
+  .byte  197,253,239,192                     // vpxor         %ymm0,%ymm0,%ymm0
+  .byte  196,194,109,146,4,136               // vgatherdps    %ymm2,(%r8,%ymm1,4),%ymm0
+  .byte  196,193,49,108,219                  // vpunpcklqdq   %xmm11,%xmm9,%xmm3
+  .byte  196,65,29,118,228                   // vpcmpeqd      %ymm12,%ymm12,%ymm12
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  196,193,57,219,202                  // vpand         %xmm10,%xmm8,%xmm1
+  .byte  196,98,125,51,193                   // vpmovzxwd     %xmm1,%ymm8
+  .byte  196,65,21,118,237                   // vpcmpeqd      %ymm13,%ymm13,%ymm13
+  .byte  197,245,239,201                     // vpxor         %ymm1,%ymm1,%ymm1
+  .byte  196,130,21,146,12,129               // vgatherdps    %ymm13,(%r9,%ymm8,4),%ymm1
+  .byte  72,139,64,24                        // mov           0x18(%rax),%rax
+  .byte  196,193,97,219,218                  // vpand         %xmm10,%xmm3,%xmm3
+  .byte  196,226,125,51,219                  // vpmovzxwd     %xmm3,%ymm3
+  .byte  196,226,29,146,20,152               // vgatherdps    %ymm12,(%rax,%ymm3,4),%ymm2
+  .byte  196,193,49,109,219                  // vpunpckhqdq   %xmm11,%xmm9,%xmm3
+  .byte  197,185,113,243,8                   // vpsllw        $0x8,%xmm3,%xmm8
+  .byte  197,225,113,211,8                   // vpsrlw        $0x8,%xmm3,%xmm3
+  .byte  197,185,235,219                     // vpor          %xmm3,%xmm8,%xmm3
+  .byte  196,226,125,51,219                  // vpmovzxwd     %xmm3,%ymm3
+  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
+  .byte  98,241,100,56,89,29,200,158,3,0     // vmulps        0x39ec8(%rip){1to8},%ymm3,%ymm3        # 3c590 <_sk_srcover_bgra_8888_sse2_lowp+0x344>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,1,123,16,4,72                   // vmovsd        (%r8,%r9,2),%xmm8
+  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  116,85                              // je            2732 <_sk_load_tables_u16_be_skx+0x14e>
+  .byte  196,1,57,22,68,72,8                 // vmovhpd       0x8(%r8,%r9,2),%xmm8,%xmm8
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  114,72                              // jb            2732 <_sk_load_tables_u16_be_skx+0x14e>
+  .byte  196,129,123,16,84,72,16             // vmovsd        0x10(%r8,%r9,2),%xmm2
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  116,72                              // je            273f <_sk_load_tables_u16_be_skx+0x15b>
+  .byte  196,129,105,22,84,72,24             // vmovhpd       0x18(%r8,%r9,2),%xmm2,%xmm2
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  114,59                              // jb            273f <_sk_load_tables_u16_be_skx+0x15b>
+  .byte  196,129,123,16,92,72,32             // vmovsd        0x20(%r8,%r9,2),%xmm3
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  15,132,0,255,255,255                // je            2615 <_sk_load_tables_u16_be_skx+0x31>
+  .byte  196,129,97,22,92,72,40              // vmovhpd       0x28(%r8,%r9,2),%xmm3,%xmm3
+  .byte  72,131,255,7                        // cmp           $0x7,%rdi
+  .byte  15,130,239,254,255,255              // jb            2615 <_sk_load_tables_u16_be_skx+0x31>
+  .byte  196,1,122,126,76,72,48              // vmovq         0x30(%r8,%r9,2),%xmm9
+  .byte  233,227,254,255,255                 // jmpq          2615 <_sk_load_tables_u16_be_skx+0x31>
+  .byte  197,225,87,219                      // vxorpd        %xmm3,%xmm3,%xmm3
+  .byte  197,233,87,210                      // vxorpd        %xmm2,%xmm2,%xmm2
+  .byte  233,214,254,255,255                 // jmpq          2615 <_sk_load_tables_u16_be_skx+0x31>
+  .byte  197,225,87,219                      // vxorpd        %xmm3,%xmm3,%xmm3
+  .byte  233,205,254,255,255                 // jmpq          2615 <_sk_load_tables_u16_be_skx+0x31>
+
+HIDDEN _sk_load_tables_rgb_u16_be_skx
+.globl _sk_load_tables_rgb_u16_be_skx
+FUNCTION(_sk_load_tables_rgb_u16_be_skx)
+_sk_load_tables_rgb_u16_be_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  76,141,12,82                        // lea           (%rdx,%rdx,2),%r9
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,203,0,0,0                    // jne           2825 <_sk_load_tables_rgb_u16_be_skx+0xdd>
+  .byte  196,1,121,16,28,72                  // vmovupd       (%r8,%r9,2),%xmm11
+  .byte  196,129,121,16,92,72,12             // vmovupd       0xc(%r8,%r9,2),%xmm3
+  .byte  196,129,121,16,84,72,24             // vmovupd       0x18(%r8,%r9,2),%xmm2
+  .byte  98,145,125,8,115,92,72,2,4          // vpsrldq       $0x4,0x20(%r8,%r9,2),%xmm0
+  .byte  196,193,57,115,219,6                // vpsrldq       $0x6,%xmm11,%xmm8
+  .byte  197,169,115,219,6                   // vpsrldq       $0x6,%xmm3,%xmm10
+  .byte  197,241,115,218,6                   // vpsrldq       $0x6,%xmm2,%xmm1
+  .byte  197,177,115,216,6                   // vpsrldq       $0x6,%xmm0,%xmm9
+  .byte  196,193,113,97,201                  // vpunpcklwd    %xmm9,%xmm1,%xmm1
+  .byte  197,233,97,192                      // vpunpcklwd    %xmm0,%xmm2,%xmm0
+  .byte  196,193,57,97,210                   // vpunpcklwd    %xmm10,%xmm8,%xmm2
+  .byte  197,161,97,219                      // vpunpcklwd    %xmm3,%xmm11,%xmm3
+  .byte  197,97,97,194                       // vpunpcklwd    %xmm2,%xmm3,%xmm8
+  .byte  197,225,105,210                     // vpunpckhwd    %xmm2,%xmm3,%xmm2
+  .byte  197,249,97,217                      // vpunpcklwd    %xmm1,%xmm0,%xmm3
+  .byte  197,249,105,193                     // vpunpckhwd    %xmm1,%xmm0,%xmm0
+  .byte  197,105,108,200                     // vpunpcklqdq   %xmm0,%xmm2,%xmm9
+  .byte  197,185,108,195                     // vpunpcklqdq   %xmm3,%xmm8,%xmm0
+  .byte  197,121,111,21,242,166,3,0          // vmovdqa       0x3a6f2(%rip),%xmm10        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  196,193,121,219,194                 // vpand         %xmm10,%xmm0,%xmm0
+  .byte  196,226,125,51,200                  // vpmovzxwd     %xmm0,%ymm1
+  .byte  76,139,64,8                         // mov           0x8(%rax),%r8
+  .byte  76,139,72,16                        // mov           0x10(%rax),%r9
+  .byte  197,253,239,192                     // vpxor         %ymm0,%ymm0,%ymm0
+  .byte  197,237,118,210                     // vpcmpeqd      %ymm2,%ymm2,%ymm2
+  .byte  196,194,109,146,4,136               // vgatherdps    %ymm2,(%r8,%ymm1,4),%ymm0
+  .byte  197,185,109,203                     // vpunpckhqdq   %xmm3,%xmm8,%xmm1
+  .byte  196,65,29,118,228                   // vpcmpeqd      %ymm12,%ymm12,%ymm12
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  196,193,113,219,202                 // vpand         %xmm10,%xmm1,%xmm1
+  .byte  196,98,125,51,193                   // vpmovzxwd     %xmm1,%ymm8
+  .byte  197,245,239,201                     // vpxor         %ymm1,%ymm1,%ymm1
+  .byte  196,65,37,118,219                   // vpcmpeqd      %ymm11,%ymm11,%ymm11
+  .byte  196,130,37,146,12,129               // vgatherdps    %ymm11,(%r9,%ymm8,4),%ymm1
+  .byte  72,139,64,24                        // mov           0x18(%rax),%rax
+  .byte  196,193,49,219,218                  // vpand         %xmm10,%xmm9,%xmm3
+  .byte  196,226,125,51,219                  // vpmovzxwd     %xmm3,%ymm3
+  .byte  196,226,29,146,20,152               // vgatherdps    %ymm12,(%rax,%ymm3,4),%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,29,217,156,3,0       // vbroadcastss  0x39cd9(%rip),%ymm3        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,129,121,110,4,72                // vmovd         (%r8,%r9,2),%xmm0
+  .byte  196,65,49,87,201                    // vxorpd        %xmm9,%xmm9,%xmm9
+  .byte  196,1,121,196,92,72,4,2             // vpinsrw       $0x2,0x4(%r8,%r9,2),%xmm0,%xmm11
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  117,31                              // jne           285d <_sk_load_tables_rgb_u16_be_skx+0x115>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  197,241,239,201                     // vpxor         %xmm1,%xmm1,%xmm1
+  .byte  197,233,239,210                     // vpxor         %xmm2,%xmm2,%xmm2
+  .byte  196,65,41,239,210                   // vpxor         %xmm10,%xmm10,%xmm10
+  .byte  197,225,239,219                     // vpxor         %xmm3,%xmm3,%xmm3
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  233,47,255,255,255                  // jmpq          278c <_sk_load_tables_rgb_u16_be_skx+0x44>
+  .byte  196,129,121,110,68,72,6             // vmovd         0x6(%r8,%r9,2),%xmm0
+  .byte  196,65,49,87,201                    // vxorpd        %xmm9,%xmm9,%xmm9
+  .byte  196,1,121,196,68,72,10,2            // vpinsrw       $0x2,0xa(%r8,%r9,2),%xmm0,%xmm8
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  114,48                              // jb            28a7 <_sk_load_tables_rgb_u16_be_skx+0x15f>
+  .byte  196,129,121,110,68,72,12            // vmovd         0xc(%r8,%r9,2),%xmm0
+  .byte  196,65,49,87,201                    // vxorpd        %xmm9,%xmm9,%xmm9
+  .byte  196,129,121,196,92,72,16,2          // vpinsrw       $0x2,0x10(%r8,%r9,2),%xmm0,%xmm3
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  117,48                              // jne           28c1 <_sk_load_tables_rgb_u16_be_skx+0x179>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  197,241,239,201                     // vpxor         %xmm1,%xmm1,%xmm1
+  .byte  197,233,239,210                     // vpxor         %xmm2,%xmm2,%xmm2
+  .byte  196,65,41,239,210                   // vpxor         %xmm10,%xmm10,%xmm10
+  .byte  233,229,254,255,255                 // jmpq          278c <_sk_load_tables_rgb_u16_be_skx+0x44>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  197,241,239,201                     // vpxor         %xmm1,%xmm1,%xmm1
+  .byte  197,233,239,210                     // vpxor         %xmm2,%xmm2,%xmm2
+  .byte  196,65,41,239,210                   // vpxor         %xmm10,%xmm10,%xmm10
+  .byte  197,225,239,219                     // vpxor         %xmm3,%xmm3,%xmm3
+  .byte  233,203,254,255,255                 // jmpq          278c <_sk_load_tables_rgb_u16_be_skx+0x44>
+  .byte  196,129,121,110,68,72,18            // vmovd         0x12(%r8,%r9,2),%xmm0
+  .byte  196,65,49,87,201                    // vxorpd        %xmm9,%xmm9,%xmm9
+  .byte  196,1,121,196,84,72,22,2            // vpinsrw       $0x2,0x16(%r8,%r9,2),%xmm0,%xmm10
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  114,39                              // jb            2902 <_sk_load_tables_rgb_u16_be_skx+0x1ba>
+  .byte  196,129,121,110,68,72,24            // vmovd         0x18(%r8,%r9,2),%xmm0
+  .byte  196,65,49,87,201                    // vxorpd        %xmm9,%xmm9,%xmm9
+  .byte  196,129,121,196,84,72,28,2          // vpinsrw       $0x2,0x1c(%r8,%r9,2),%xmm0,%xmm2
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  117,30                              // jne           2913 <_sk_load_tables_rgb_u16_be_skx+0x1cb>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  197,241,239,201                     // vpxor         %xmm1,%xmm1,%xmm1
+  .byte  233,138,254,255,255                 // jmpq          278c <_sk_load_tables_rgb_u16_be_skx+0x44>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  197,241,239,201                     // vpxor         %xmm1,%xmm1,%xmm1
+  .byte  197,233,239,210                     // vpxor         %xmm2,%xmm2,%xmm2
+  .byte  233,121,254,255,255                 // jmpq          278c <_sk_load_tables_rgb_u16_be_skx+0x44>
+  .byte  196,129,121,110,68,72,30            // vmovd         0x1e(%r8,%r9,2),%xmm0
+  .byte  196,65,49,87,201                    // vxorpd        %xmm9,%xmm9,%xmm9
+  .byte  196,129,121,196,76,72,34,2          // vpinsrw       $0x2,0x22(%r8,%r9,2),%xmm0,%xmm1
+  .byte  72,131,255,7                        // cmp           $0x7,%rdi
+  .byte  114,25                              // jb            2946 <_sk_load_tables_rgb_u16_be_skx+0x1fe>
+  .byte  196,129,121,110,68,72,36            // vmovd         0x24(%r8,%r9,2),%xmm0
+  .byte  196,65,49,87,201                    // vxorpd        %xmm9,%xmm9,%xmm9
+  .byte  196,129,121,196,68,72,40,2          // vpinsrw       $0x2,0x28(%r8,%r9,2),%xmm0,%xmm0
+  .byte  233,70,254,255,255                  // jmpq          278c <_sk_load_tables_rgb_u16_be_skx+0x44>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  233,61,254,255,255                  // jmpq          278c <_sk_load_tables_rgb_u16_be_skx+0x44>
+
+HIDDEN _sk_byte_tables_skx
+.globl _sk_byte_tables_skx
+FUNCTION(_sk_byte_tables_skx)
+_sk_byte_tables_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,60,95,200                       // vmaxps        %ymm0,%ymm8,%ymm9
+  .byte  196,98,125,24,29,153,155,3,0        // vbroadcastss  0x39b99(%rip),%ymm11        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,65,52,93,211                    // vminps        %ymm11,%ymm9,%ymm10
+  .byte  196,98,125,24,13,183,155,3,0        // vbroadcastss  0x39bb7(%rip),%ymm9        # 3c528 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  .byte  196,65,44,89,209                    // vmulps        %ymm9,%ymm10,%ymm10
+  .byte  196,65,125,91,210                   // vcvtps2dq     %ymm10,%ymm10
+  .byte  196,65,249,126,208                  // vmovq         %xmm10,%r8
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  76,139,16                           // mov           (%rax),%r10
+  .byte  71,15,182,12,10                     // movzbl        (%r10,%r9,1),%r9d
+  .byte  196,193,121,110,193                 // vmovd         %r9d,%xmm0
+  .byte  196,67,249,22,209,1                 // vpextrq       $0x1,%xmm10,%r9
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  71,15,182,4,2                       // movzbl        (%r10,%r8,1),%r8d
+  .byte  196,67,121,32,224,1                 // vpinsrb       $0x1,%r8d,%xmm0,%xmm12
+  .byte  69,137,200                          // mov           %r9d,%r8d
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  196,99,125,57,208,1                 // vextracti128  $0x1,%ymm10,%xmm0
+  .byte  71,15,182,4,2                       // movzbl        (%r10,%r8,1),%r8d
+  .byte  196,67,25,32,208,2                  // vpinsrb       $0x2,%r8d,%xmm12,%xmm10
+  .byte  196,193,249,126,192                 // vmovq         %xmm0,%r8
+  .byte  71,15,182,12,10                     // movzbl        (%r10,%r9,1),%r9d
+  .byte  196,67,41,32,209,3                  // vpinsrb       $0x3,%r9d,%xmm10,%xmm10
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  71,15,182,12,10                     // movzbl        (%r10,%r9,1),%r9d
+  .byte  196,67,41,32,209,4                  // vpinsrb       $0x4,%r9d,%xmm10,%xmm10
+  .byte  196,195,249,22,193,1                // vpextrq       $0x1,%xmm0,%r9
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  71,15,182,4,2                       // movzbl        (%r10,%r8,1),%r8d
+  .byte  196,195,41,32,192,5                 // vpinsrb       $0x5,%r8d,%xmm10,%xmm0
+  .byte  69,137,200                          // mov           %r9d,%r8d
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  71,15,182,4,2                       // movzbl        (%r10,%r8,1),%r8d
+  .byte  196,195,121,32,192,6                // vpinsrb       $0x6,%r8d,%xmm0,%xmm0
+  .byte  76,139,64,8                         // mov           0x8(%rax),%r8
+  .byte  71,15,182,12,10                     // movzbl        (%r10,%r9,1),%r9d
+  .byte  196,67,121,32,209,7                 // vpinsrb       $0x7,%r9d,%xmm0,%xmm10
+  .byte  197,188,95,193                      // vmaxps        %ymm1,%ymm8,%ymm0
+  .byte  196,193,124,93,195                  // vminps        %ymm11,%ymm0,%ymm0
+  .byte  196,193,124,89,193                  // vmulps        %ymm9,%ymm0,%ymm0
+  .byte  197,253,91,200                      // vcvtps2dq     %ymm0,%ymm1
+  .byte  196,193,249,126,201                 // vmovq         %xmm1,%r9
+  .byte  69,137,202                          // mov           %r9d,%r10d
+  .byte  71,15,182,20,16                     // movzbl        (%r8,%r10,1),%r10d
+  .byte  196,193,121,110,194                 // vmovd         %r10d,%xmm0
+  .byte  196,195,249,22,202,1                // vpextrq       $0x1,%xmm1,%r10
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  196,195,121,32,193,1                // vpinsrb       $0x1,%r9d,%xmm0,%xmm0
+  .byte  69,137,209                          // mov           %r10d,%r9d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,227,125,57,201,1                // vextracti128  $0x1,%ymm1,%xmm1
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  196,195,121,32,193,2                // vpinsrb       $0x2,%r9d,%xmm0,%xmm0
+  .byte  196,193,249,126,201                 // vmovq         %xmm1,%r9
+  .byte  71,15,182,20,16                     // movzbl        (%r8,%r10,1),%r10d
+  .byte  196,195,121,32,194,3                // vpinsrb       $0x3,%r10d,%xmm0,%xmm0
+  .byte  69,137,202                          // mov           %r9d,%r10d
+  .byte  71,15,182,20,16                     // movzbl        (%r8,%r10,1),%r10d
+  .byte  196,195,121,32,194,4                // vpinsrb       $0x4,%r10d,%xmm0,%xmm0
+  .byte  196,195,249,22,202,1                // vpextrq       $0x1,%xmm1,%r10
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  196,195,121,32,193,5                // vpinsrb       $0x5,%r9d,%xmm0,%xmm0
+  .byte  69,137,209                          // mov           %r10d,%r9d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  196,195,121,32,193,6                // vpinsrb       $0x6,%r9d,%xmm0,%xmm0
+  .byte  71,15,182,4,16                      // movzbl        (%r8,%r10,1),%r8d
+  .byte  196,195,121,32,200,7                // vpinsrb       $0x7,%r8d,%xmm0,%xmm1
+  .byte  76,139,64,16                        // mov           0x10(%rax),%r8
+  .byte  197,188,95,194                      // vmaxps        %ymm2,%ymm8,%ymm0
+  .byte  196,193,124,93,195                  // vminps        %ymm11,%ymm0,%ymm0
+  .byte  196,193,124,89,193                  // vmulps        %ymm9,%ymm0,%ymm0
+  .byte  197,253,91,208                      // vcvtps2dq     %ymm0,%ymm2
+  .byte  196,193,249,126,209                 // vmovq         %xmm2,%r9
+  .byte  69,137,202                          // mov           %r9d,%r10d
+  .byte  71,15,182,20,16                     // movzbl        (%r8,%r10,1),%r10d
+  .byte  196,193,121,110,194                 // vmovd         %r10d,%xmm0
+  .byte  196,195,249,22,210,1                // vpextrq       $0x1,%xmm2,%r10
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  196,195,121,32,193,1                // vpinsrb       $0x1,%r9d,%xmm0,%xmm0
+  .byte  69,137,209                          // mov           %r10d,%r9d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,227,125,57,210,1                // vextracti128  $0x1,%ymm2,%xmm2
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  196,195,121,32,193,2                // vpinsrb       $0x2,%r9d,%xmm0,%xmm0
+  .byte  196,193,249,126,209                 // vmovq         %xmm2,%r9
+  .byte  71,15,182,20,16                     // movzbl        (%r8,%r10,1),%r10d
+  .byte  196,195,121,32,194,3                // vpinsrb       $0x3,%r10d,%xmm0,%xmm0
+  .byte  69,137,202                          // mov           %r9d,%r10d
+  .byte  71,15,182,20,16                     // movzbl        (%r8,%r10,1),%r10d
+  .byte  196,195,121,32,194,4                // vpinsrb       $0x4,%r10d,%xmm0,%xmm0
+  .byte  196,195,249,22,210,1                // vpextrq       $0x1,%xmm2,%r10
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  196,195,121,32,193,5                // vpinsrb       $0x5,%r9d,%xmm0,%xmm0
+  .byte  69,137,209                          // mov           %r10d,%r9d
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  196,195,121,32,193,6                // vpinsrb       $0x6,%r9d,%xmm0,%xmm0
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  71,15,182,4,16                      // movzbl        (%r8,%r10,1),%r8d
+  .byte  196,195,121,32,208,7                // vpinsrb       $0x7,%r8d,%xmm0,%xmm2
+  .byte  76,139,72,24                        // mov           0x18(%rax),%r9
+  .byte  197,188,95,195                      // vmaxps        %ymm3,%ymm8,%ymm0
+  .byte  196,193,124,93,195                  // vminps        %ymm11,%ymm0,%ymm0
+  .byte  196,193,124,89,193                  // vmulps        %ymm9,%ymm0,%ymm0
+  .byte  197,253,91,192                      // vcvtps2dq     %ymm0,%ymm0
+  .byte  196,193,249,126,192                 // vmovq         %xmm0,%r8
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  65,15,182,4,1                       // movzbl        (%r9,%rax,1),%eax
+  .byte  197,249,110,216                     // vmovd         %eax,%xmm3
+  .byte  196,195,249,22,194,1                // vpextrq       $0x1,%xmm0,%r10
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  67,15,182,4,1                       // movzbl        (%r9,%r8,1),%eax
+  .byte  196,227,97,32,216,1                 // vpinsrb       $0x1,%eax,%xmm3,%xmm3
+  .byte  68,137,208                          // mov           %r10d,%eax
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,227,125,57,192,1                // vextracti128  $0x1,%ymm0,%xmm0
+  .byte  65,15,182,4,1                       // movzbl        (%r9,%rax,1),%eax
+  .byte  196,227,97,32,216,2                 // vpinsrb       $0x2,%eax,%xmm3,%xmm3
+  .byte  196,193,249,126,192                 // vmovq         %xmm0,%r8
+  .byte  67,15,182,4,17                      // movzbl        (%r9,%r10,1),%eax
+  .byte  196,227,97,32,216,3                 // vpinsrb       $0x3,%eax,%xmm3,%xmm3
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  65,15,182,4,1                       // movzbl        (%r9,%rax,1),%eax
+  .byte  196,227,97,32,216,4                 // vpinsrb       $0x4,%eax,%xmm3,%xmm3
+  .byte  196,195,249,22,194,1                // vpextrq       $0x1,%xmm0,%r10
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  67,15,182,4,1                       // movzbl        (%r9,%r8,1),%eax
+  .byte  196,227,97,32,192,5                 // vpinsrb       $0x5,%eax,%xmm3,%xmm0
+  .byte  68,137,208                          // mov           %r10d,%eax
+  .byte  65,15,182,4,1                       // movzbl        (%r9,%rax,1),%eax
+  .byte  196,227,121,32,216,6                // vpinsrb       $0x6,%eax,%xmm0,%xmm3
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  67,15,182,4,17                      // movzbl        (%r9,%r10,1),%eax
+  .byte  196,194,125,49,194                  // vpmovzxbd     %xmm10,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,98,125,24,5,109,153,3,0         // vbroadcastss  0x3996d(%rip),%ymm8        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
+  .byte  196,226,125,49,201                  // vpmovzxbd     %xmm1,%ymm1
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  196,193,116,89,200                  // vmulps        %ymm8,%ymm1,%ymm1
+  .byte  196,226,125,49,210                  // vpmovzxbd     %xmm2,%ymm2
+  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
+  .byte  196,193,108,89,208                  // vmulps        %ymm8,%ymm2,%ymm2
+  .byte  196,227,97,32,216,7                 // vpinsrb       $0x7,%eax,%xmm3,%xmm3
+  .byte  196,226,125,49,219                  // vpmovzxbd     %xmm3,%ymm3
+  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
+  .byte  196,193,100,89,216                  // vmulps        %ymm8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_byte_tables_rgb_skx
+.globl _sk_byte_tables_rgb_skx
+FUNCTION(_sk_byte_tables_rgb_skx)
+_sk_byte_tables_rgb_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  68,139,64,24                        // mov           0x18(%rax),%r8d
+  .byte  65,131,192,255                      // add           $0xffffffff,%r8d
+  .byte  98,82,125,40,124,192                // vpbroadcastd  %r8d,%ymm8
+  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
+  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
+  .byte  197,52,95,208                       // vmaxps        %ymm0,%ymm9,%ymm10
+  .byte  196,98,125,24,29,149,152,3,0        // vbroadcastss  0x39895(%rip),%ymm11        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,65,44,93,211                    // vminps        %ymm11,%ymm10,%ymm10
+  .byte  196,65,44,89,208                    // vmulps        %ymm8,%ymm10,%ymm10
+  .byte  196,65,125,91,210                   // vcvtps2dq     %ymm10,%ymm10
+  .byte  196,65,249,126,208                  // vmovq         %xmm10,%r8
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  76,139,16                           // mov           (%rax),%r10
+  .byte  71,15,182,12,10                     // movzbl        (%r10,%r9,1),%r9d
+  .byte  196,193,121,110,193                 // vmovd         %r9d,%xmm0
+  .byte  196,67,249,22,209,1                 // vpextrq       $0x1,%xmm10,%r9
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  71,15,182,4,2                       // movzbl        (%r10,%r8,1),%r8d
+  .byte  196,67,121,32,224,1                 // vpinsrb       $0x1,%r8d,%xmm0,%xmm12
+  .byte  69,137,200                          // mov           %r9d,%r8d
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  196,99,125,57,208,1                 // vextracti128  $0x1,%ymm10,%xmm0
+  .byte  71,15,182,4,2                       // movzbl        (%r10,%r8,1),%r8d
+  .byte  196,67,25,32,208,2                  // vpinsrb       $0x2,%r8d,%xmm12,%xmm10
+  .byte  196,193,249,126,192                 // vmovq         %xmm0,%r8
+  .byte  71,15,182,12,10                     // movzbl        (%r10,%r9,1),%r9d
+  .byte  196,67,41,32,209,3                  // vpinsrb       $0x3,%r9d,%xmm10,%xmm10
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  71,15,182,12,10                     // movzbl        (%r10,%r9,1),%r9d
+  .byte  196,67,41,32,209,4                  // vpinsrb       $0x4,%r9d,%xmm10,%xmm10
+  .byte  196,195,249,22,193,1                // vpextrq       $0x1,%xmm0,%r9
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  71,15,182,4,2                       // movzbl        (%r10,%r8,1),%r8d
+  .byte  196,195,41,32,192,5                 // vpinsrb       $0x5,%r8d,%xmm10,%xmm0
+  .byte  69,137,200                          // mov           %r9d,%r8d
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  71,15,182,4,2                       // movzbl        (%r10,%r8,1),%r8d
+  .byte  196,195,121,32,192,6                // vpinsrb       $0x6,%r8d,%xmm0,%xmm0
+  .byte  76,139,64,8                         // mov           0x8(%rax),%r8
+  .byte  71,15,182,12,10                     // movzbl        (%r10,%r9,1),%r9d
+  .byte  196,67,121,32,209,7                 // vpinsrb       $0x7,%r9d,%xmm0,%xmm10
+  .byte  197,180,95,193                      // vmaxps        %ymm1,%ymm9,%ymm0
+  .byte  196,193,124,93,195                  // vminps        %ymm11,%ymm0,%ymm0
+  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
+  .byte  197,253,91,200                      // vcvtps2dq     %ymm0,%ymm1
+  .byte  196,193,249,126,201                 // vmovq         %xmm1,%r9
+  .byte  69,137,202                          // mov           %r9d,%r10d
+  .byte  71,15,182,20,16                     // movzbl        (%r8,%r10,1),%r10d
+  .byte  196,193,121,110,194                 // vmovd         %r10d,%xmm0
+  .byte  196,195,249,22,202,1                // vpextrq       $0x1,%xmm1,%r10
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  196,195,121,32,193,1                // vpinsrb       $0x1,%r9d,%xmm0,%xmm0
+  .byte  69,137,209                          // mov           %r10d,%r9d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,227,125,57,201,1                // vextracti128  $0x1,%ymm1,%xmm1
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  196,195,121,32,193,2                // vpinsrb       $0x2,%r9d,%xmm0,%xmm0
+  .byte  196,193,249,126,201                 // vmovq         %xmm1,%r9
+  .byte  71,15,182,20,16                     // movzbl        (%r8,%r10,1),%r10d
+  .byte  196,195,121,32,194,3                // vpinsrb       $0x3,%r10d,%xmm0,%xmm0
+  .byte  69,137,202                          // mov           %r9d,%r10d
+  .byte  71,15,182,20,16                     // movzbl        (%r8,%r10,1),%r10d
+  .byte  196,195,121,32,194,4                // vpinsrb       $0x4,%r10d,%xmm0,%xmm0
+  .byte  196,195,249,22,202,1                // vpextrq       $0x1,%xmm1,%r10
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  196,195,121,32,193,5                // vpinsrb       $0x5,%r9d,%xmm0,%xmm0
+  .byte  69,137,209                          // mov           %r10d,%r9d
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  196,195,121,32,193,6                // vpinsrb       $0x6,%r9d,%xmm0,%xmm0
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  71,15,182,4,16                      // movzbl        (%r8,%r10,1),%r8d
+  .byte  196,195,121,32,200,7                // vpinsrb       $0x7,%r8d,%xmm0,%xmm1
+  .byte  76,139,72,16                        // mov           0x10(%rax),%r9
+  .byte  197,180,95,194                      // vmaxps        %ymm2,%ymm9,%ymm0
+  .byte  196,193,124,93,195                  // vminps        %ymm11,%ymm0,%ymm0
+  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
+  .byte  197,253,91,192                      // vcvtps2dq     %ymm0,%ymm0
+  .byte  196,193,249,126,192                 // vmovq         %xmm0,%r8
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  65,15,182,4,1                       // movzbl        (%r9,%rax,1),%eax
+  .byte  197,249,110,208                     // vmovd         %eax,%xmm2
+  .byte  196,195,249,22,194,1                // vpextrq       $0x1,%xmm0,%r10
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  67,15,182,4,1                       // movzbl        (%r9,%r8,1),%eax
+  .byte  196,227,105,32,208,1                // vpinsrb       $0x1,%eax,%xmm2,%xmm2
+  .byte  68,137,208                          // mov           %r10d,%eax
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,227,125,57,192,1                // vextracti128  $0x1,%ymm0,%xmm0
+  .byte  65,15,182,4,1                       // movzbl        (%r9,%rax,1),%eax
+  .byte  196,227,105,32,208,2                // vpinsrb       $0x2,%eax,%xmm2,%xmm2
+  .byte  196,193,249,126,192                 // vmovq         %xmm0,%r8
+  .byte  67,15,182,4,17                      // movzbl        (%r9,%r10,1),%eax
+  .byte  196,227,105,32,208,3                // vpinsrb       $0x3,%eax,%xmm2,%xmm2
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  65,15,182,4,1                       // movzbl        (%r9,%rax,1),%eax
+  .byte  196,227,105,32,208,4                // vpinsrb       $0x4,%eax,%xmm2,%xmm2
+  .byte  196,195,249,22,194,1                // vpextrq       $0x1,%xmm0,%r10
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  67,15,182,4,1                       // movzbl        (%r9,%r8,1),%eax
+  .byte  196,227,105,32,192,5                // vpinsrb       $0x5,%eax,%xmm2,%xmm0
+  .byte  68,137,208                          // mov           %r10d,%eax
+  .byte  65,15,182,4,1                       // movzbl        (%r9,%rax,1),%eax
+  .byte  196,227,121,32,208,6                // vpinsrb       $0x6,%eax,%xmm0,%xmm2
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  67,15,182,4,17                      // movzbl        (%r9,%r10,1),%eax
+  .byte  196,194,125,49,194                  // vpmovzxbd     %xmm10,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,98,125,24,5,25,151,3,0          // vbroadcastss  0x39719(%rip),%ymm8        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
+  .byte  196,226,125,49,201                  // vpmovzxbd     %xmm1,%ymm1
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  196,193,116,89,200                  // vmulps        %ymm8,%ymm1,%ymm1
+  .byte  196,227,105,32,208,7                // vpinsrb       $0x7,%eax,%xmm2,%xmm2
+  .byte  196,226,125,49,210                  // vpmovzxbd     %xmm2,%ymm2
+  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
+  .byte  196,193,108,89,208                  // vmulps        %ymm8,%ymm2,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_table_r_skx
+.globl _sk_table_r_skx
+FUNCTION(_sk_table_r_skx)
+_sk_table_r_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  139,64,8                            // mov           0x8(%rax),%eax
+  .byte  131,192,255                         // add           $0xffffffff,%eax
+  .byte  98,114,125,40,124,192               // vpbroadcastd  %eax,%ymm8
+  .byte  196,65,124,91,200                   // vcvtdq2ps     %ymm8,%ymm9
+  .byte  196,65,61,239,192                   // vpxor         %ymm8,%ymm8,%ymm8
+  .byte  197,188,95,192                      // vmaxps        %ymm0,%ymm8,%ymm0
+  .byte  98,241,124,56,93,5,77,150,3,0       // vminps        0x3964d(%rip){1to8},%ymm0,%ymm0        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,193,124,89,193                  // vmulps        %ymm9,%ymm0,%ymm0
+  .byte  197,253,91,192                      // vcvtps2dq     %ymm0,%ymm0
+  .byte  196,65,53,118,201                   // vpcmpeqd      %ymm9,%ymm9,%ymm9
+  .byte  196,66,53,146,4,128                 // vgatherdps    %ymm9,(%r8,%ymm0,4),%ymm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_table_g_skx
+.globl _sk_table_g_skx
+FUNCTION(_sk_table_g_skx)
+_sk_table_g_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  139,64,8                            // mov           0x8(%rax),%eax
+  .byte  131,192,255                         // add           $0xffffffff,%eax
+  .byte  98,114,125,40,124,192               // vpbroadcastd  %eax,%ymm8
+  .byte  196,65,124,91,200                   // vcvtdq2ps     %ymm8,%ymm9
+  .byte  196,65,61,239,192                   // vpxor         %ymm8,%ymm8,%ymm8
+  .byte  197,188,95,201                      // vmaxps        %ymm1,%ymm8,%ymm1
+  .byte  98,241,116,56,93,13,8,150,3,0       // vminps        0x39608(%rip){1to8},%ymm1,%ymm1        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,193,116,89,201                  // vmulps        %ymm9,%ymm1,%ymm1
+  .byte  197,253,91,201                      // vcvtps2dq     %ymm1,%ymm1
+  .byte  196,65,53,118,201                   // vpcmpeqd      %ymm9,%ymm9,%ymm9
+  .byte  196,66,53,146,4,136                 // vgatherdps    %ymm9,(%r8,%ymm1,4),%ymm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,41,193                      // vmovaps       %ymm8,%ymm1
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_table_b_skx
+.globl _sk_table_b_skx
+FUNCTION(_sk_table_b_skx)
+_sk_table_b_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  139,64,8                            // mov           0x8(%rax),%eax
+  .byte  131,192,255                         // add           $0xffffffff,%eax
+  .byte  98,114,125,40,124,192               // vpbroadcastd  %eax,%ymm8
+  .byte  196,65,124,91,200                   // vcvtdq2ps     %ymm8,%ymm9
+  .byte  196,65,61,239,192                   // vpxor         %ymm8,%ymm8,%ymm8
+  .byte  197,188,95,210                      // vmaxps        %ymm2,%ymm8,%ymm2
+  .byte  98,241,108,56,93,21,195,149,3,0     // vminps        0x395c3(%rip){1to8},%ymm2,%ymm2        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,193,108,89,209                  // vmulps        %ymm9,%ymm2,%ymm2
+  .byte  197,253,91,210                      // vcvtps2dq     %ymm2,%ymm2
+  .byte  196,65,53,118,201                   // vpcmpeqd      %ymm9,%ymm9,%ymm9
+  .byte  196,66,53,146,4,144                 // vgatherdps    %ymm9,(%r8,%ymm2,4),%ymm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,41,194                      // vmovaps       %ymm8,%ymm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_table_a_skx
+.globl _sk_table_a_skx
+FUNCTION(_sk_table_a_skx)
+_sk_table_a_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  139,64,8                            // mov           0x8(%rax),%eax
+  .byte  131,192,255                         // add           $0xffffffff,%eax
+  .byte  98,114,125,40,124,192               // vpbroadcastd  %eax,%ymm8
+  .byte  196,65,124,91,200                   // vcvtdq2ps     %ymm8,%ymm9
+  .byte  196,65,61,239,192                   // vpxor         %ymm8,%ymm8,%ymm8
+  .byte  197,188,95,219                      // vmaxps        %ymm3,%ymm8,%ymm3
+  .byte  98,241,100,56,93,29,126,149,3,0     // vminps        0x3957e(%rip){1to8},%ymm3,%ymm3        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,193,100,89,217                  // vmulps        %ymm9,%ymm3,%ymm3
+  .byte  197,253,91,219                      // vcvtps2dq     %ymm3,%ymm3
+  .byte  196,65,53,118,201                   // vpcmpeqd      %ymm9,%ymm9,%ymm9
+  .byte  196,66,53,146,4,152                 // vgatherdps    %ymm9,(%r8,%ymm3,4),%ymm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,41,195                      // vmovaps       %ymm8,%ymm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_parametric_r_skx
+.globl _sk_parametric_r_skx
+FUNCTION(_sk_parametric_r_skx)
+_sk_parametric_r_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  98,241,124,56,194,64,4,2            // vcmpleps      0x10(%rax){1to8},%ymm0,%k0
+  .byte  98,114,126,40,56,192                // vpmovm2d      %k0,%ymm8
+  .byte  196,98,125,24,72,12                 // vbroadcastss  0xc(%rax),%ymm9
+  .byte  98,114,125,56,168,72,6              // vfmadd213ps   0x18(%rax){1to8},%ymm0,%ymm9
+  .byte  196,98,125,24,80,4                  // vbroadcastss  0x4(%rax),%ymm10
+  .byte  98,114,125,56,168,80,2              // vfmadd213ps   0x8(%rax){1to8},%ymm0,%ymm10
+  .byte  196,226,125,24,0                    // vbroadcastss  (%rax),%ymm0
+  .byte  196,65,36,87,219                    // vxorps        %ymm11,%ymm11,%ymm11
+  .byte  98,209,44,40,194,195,0              // vcmpeqps      %ymm11,%ymm10,%k0
+  .byte  98,114,126,40,56,224                // vpmovm2d      %k0,%ymm12
+  .byte  196,65,124,91,234                   // vcvtdq2ps     %ymm10,%ymm13
+  .byte  196,98,125,24,53,171,149,3,0        // vbroadcastss  0x395ab(%rip),%ymm14        # 3c594 <_sk_srcover_bgra_8888_sse2_lowp+0x348>
+  .byte  98,114,21,56,168,53,169,149,3,0     // vfmadd213ps   0x395a9(%rip){1to8},%ymm13,%ymm14        # 3c59c <_sk_srcover_bgra_8888_sse2_lowp+0x350>
+  .byte  98,113,44,56,84,21,155,149,3,0      // vandps        0x3959b(%rip){1to8},%ymm10,%ymm10        # 3c598 <_sk_srcover_bgra_8888_sse2_lowp+0x34c>
+  .byte  98,113,44,56,86,21,241,148,3,0      // vorps         0x394f1(%rip){1to8},%ymm10,%ymm10        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  98,114,45,56,188,53,143,149,3,0     // vfnmadd231ps  0x3958f(%rip){1to8},%ymm10,%ymm14        # 3c5a0 <_sk_srcover_bgra_8888_sse2_lowp+0x354>
+  .byte  98,113,44,56,88,21,137,149,3,0      // vaddps        0x39589(%rip){1to8},%ymm10,%ymm10        # 3c5a4 <_sk_srcover_bgra_8888_sse2_lowp+0x358>
+  .byte  196,98,125,24,45,132,149,3,0        // vbroadcastss  0x39584(%rip),%ymm13        # 3c5a8 <_sk_srcover_bgra_8888_sse2_lowp+0x35c>
+  .byte  196,65,20,94,210                    // vdivps        %ymm10,%ymm13,%ymm10
+  .byte  196,65,12,92,210                    // vsubps        %ymm10,%ymm14,%ymm10
+  .byte  196,193,124,89,194                  // vmulps        %ymm10,%ymm0,%ymm0
+  .byte  196,99,125,8,208,1                  // vroundps      $0x1,%ymm0,%ymm10
+  .byte  196,65,124,92,210                   // vsubps        %ymm10,%ymm0,%ymm10
+  .byte  98,241,124,56,88,5,100,149,3,0      // vaddps        0x39564(%rip){1to8},%ymm0,%ymm0        # 3c5ac <_sk_srcover_bgra_8888_sse2_lowp+0x360>
+  .byte  98,242,45,56,188,5,94,149,3,0       // vfnmadd231ps  0x3955e(%rip){1to8},%ymm10,%ymm0        # 3c5b0 <_sk_srcover_bgra_8888_sse2_lowp+0x364>
+  .byte  196,98,125,24,45,89,149,3,0         // vbroadcastss  0x39559(%rip),%ymm13        # 3c5b4 <_sk_srcover_bgra_8888_sse2_lowp+0x368>
+  .byte  196,65,20,92,210                    // vsubps        %ymm10,%ymm13,%ymm10
+  .byte  196,98,125,24,45,79,149,3,0         // vbroadcastss  0x3954f(%rip),%ymm13        # 3c5b8 <_sk_srcover_bgra_8888_sse2_lowp+0x36c>
+  .byte  196,65,20,94,210                    // vdivps        %ymm10,%ymm13,%ymm10
+  .byte  196,193,124,88,194                  // vaddps        %ymm10,%ymm0,%ymm0
+  .byte  98,241,124,56,89,5,63,149,3,0       // vmulps        0x3953f(%rip){1to8},%ymm0,%ymm0        # 3c5bc <_sk_srcover_bgra_8888_sse2_lowp+0x370>
+  .byte  197,253,91,192                      // vcvtps2dq     %ymm0,%ymm0
+  .byte  196,195,125,74,195,192              // vblendvps     %ymm12,%ymm11,%ymm0,%ymm0
+  .byte  196,98,125,24,80,20                 // vbroadcastss  0x14(%rax),%ymm10
+  .byte  196,193,124,88,194                  // vaddps        %ymm10,%ymm0,%ymm0
+  .byte  196,195,125,74,193,128              // vblendvps     %ymm8,%ymm9,%ymm0,%ymm0
+  .byte  196,193,124,95,195                  // vmaxps        %ymm11,%ymm0,%ymm0
+  .byte  98,241,124,56,93,5,85,148,3,0       // vminps        0x39455(%rip){1to8},%ymm0,%ymm0        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_parametric_g_skx
+.globl _sk_parametric_g_skx
+FUNCTION(_sk_parametric_g_skx)
+_sk_parametric_g_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  98,241,116,56,194,64,4,2            // vcmpleps      0x10(%rax){1to8},%ymm1,%k0
+  .byte  98,114,126,40,56,192                // vpmovm2d      %k0,%ymm8
+  .byte  196,98,125,24,72,12                 // vbroadcastss  0xc(%rax),%ymm9
+  .byte  98,114,117,56,168,72,6              // vfmadd213ps   0x18(%rax){1to8},%ymm1,%ymm9
+  .byte  196,98,125,24,80,4                  // vbroadcastss  0x4(%rax),%ymm10
+  .byte  98,114,117,56,168,80,2              // vfmadd213ps   0x8(%rax){1to8},%ymm1,%ymm10
+  .byte  196,226,125,24,8                    // vbroadcastss  (%rax),%ymm1
+  .byte  196,65,36,87,219                    // vxorps        %ymm11,%ymm11,%ymm11
+  .byte  98,209,44,40,194,195,0              // vcmpeqps      %ymm11,%ymm10,%k0
+  .byte  98,114,126,40,56,224                // vpmovm2d      %k0,%ymm12
+  .byte  196,65,124,91,234                   // vcvtdq2ps     %ymm10,%ymm13
+  .byte  196,98,125,24,53,154,148,3,0        // vbroadcastss  0x3949a(%rip),%ymm14        # 3c594 <_sk_srcover_bgra_8888_sse2_lowp+0x348>
+  .byte  98,114,21,56,168,53,152,148,3,0     // vfmadd213ps   0x39498(%rip){1to8},%ymm13,%ymm14        # 3c59c <_sk_srcover_bgra_8888_sse2_lowp+0x350>
+  .byte  98,113,44,56,84,21,138,148,3,0      // vandps        0x3948a(%rip){1to8},%ymm10,%ymm10        # 3c598 <_sk_srcover_bgra_8888_sse2_lowp+0x34c>
+  .byte  98,113,44,56,86,21,224,147,3,0      // vorps         0x393e0(%rip){1to8},%ymm10,%ymm10        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  98,114,45,56,188,53,126,148,3,0     // vfnmadd231ps  0x3947e(%rip){1to8},%ymm10,%ymm14        # 3c5a0 <_sk_srcover_bgra_8888_sse2_lowp+0x354>
+  .byte  98,113,44,56,88,21,120,148,3,0      // vaddps        0x39478(%rip){1to8},%ymm10,%ymm10        # 3c5a4 <_sk_srcover_bgra_8888_sse2_lowp+0x358>
+  .byte  196,98,125,24,45,115,148,3,0        // vbroadcastss  0x39473(%rip),%ymm13        # 3c5a8 <_sk_srcover_bgra_8888_sse2_lowp+0x35c>
+  .byte  196,65,20,94,210                    // vdivps        %ymm10,%ymm13,%ymm10
+  .byte  196,65,12,92,210                    // vsubps        %ymm10,%ymm14,%ymm10
+  .byte  196,193,116,89,202                  // vmulps        %ymm10,%ymm1,%ymm1
+  .byte  196,99,125,8,209,1                  // vroundps      $0x1,%ymm1,%ymm10
+  .byte  196,65,116,92,210                   // vsubps        %ymm10,%ymm1,%ymm10
+  .byte  98,241,116,56,88,13,83,148,3,0      // vaddps        0x39453(%rip){1to8},%ymm1,%ymm1        # 3c5ac <_sk_srcover_bgra_8888_sse2_lowp+0x360>
+  .byte  98,242,45,56,188,13,77,148,3,0      // vfnmadd231ps  0x3944d(%rip){1to8},%ymm10,%ymm1        # 3c5b0 <_sk_srcover_bgra_8888_sse2_lowp+0x364>
+  .byte  196,98,125,24,45,72,148,3,0         // vbroadcastss  0x39448(%rip),%ymm13        # 3c5b4 <_sk_srcover_bgra_8888_sse2_lowp+0x368>
+  .byte  196,65,20,92,210                    // vsubps        %ymm10,%ymm13,%ymm10
+  .byte  196,98,125,24,45,62,148,3,0         // vbroadcastss  0x3943e(%rip),%ymm13        # 3c5b8 <_sk_srcover_bgra_8888_sse2_lowp+0x36c>
+  .byte  196,65,20,94,210                    // vdivps        %ymm10,%ymm13,%ymm10
+  .byte  196,193,116,88,202                  // vaddps        %ymm10,%ymm1,%ymm1
+  .byte  98,241,116,56,89,13,46,148,3,0      // vmulps        0x3942e(%rip){1to8},%ymm1,%ymm1        # 3c5bc <_sk_srcover_bgra_8888_sse2_lowp+0x370>
+  .byte  197,253,91,201                      // vcvtps2dq     %ymm1,%ymm1
+  .byte  196,195,117,74,203,192              // vblendvps     %ymm12,%ymm11,%ymm1,%ymm1
+  .byte  196,98,125,24,80,20                 // vbroadcastss  0x14(%rax),%ymm10
+  .byte  196,193,116,88,202                  // vaddps        %ymm10,%ymm1,%ymm1
+  .byte  196,195,117,74,201,128              // vblendvps     %ymm8,%ymm9,%ymm1,%ymm1
+  .byte  196,193,116,95,203                  // vmaxps        %ymm11,%ymm1,%ymm1
+  .byte  98,241,116,56,93,13,68,147,3,0      // vminps        0x39344(%rip){1to8},%ymm1,%ymm1        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_parametric_b_skx
+.globl _sk_parametric_b_skx
+FUNCTION(_sk_parametric_b_skx)
+_sk_parametric_b_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  98,241,108,56,194,64,4,2            // vcmpleps      0x10(%rax){1to8},%ymm2,%k0
+  .byte  98,114,126,40,56,192                // vpmovm2d      %k0,%ymm8
+  .byte  196,98,125,24,72,12                 // vbroadcastss  0xc(%rax),%ymm9
+  .byte  98,114,109,56,168,72,6              // vfmadd213ps   0x18(%rax){1to8},%ymm2,%ymm9
+  .byte  196,98,125,24,80,4                  // vbroadcastss  0x4(%rax),%ymm10
+  .byte  98,114,109,56,168,80,2              // vfmadd213ps   0x8(%rax){1to8},%ymm2,%ymm10
+  .byte  196,226,125,24,16                   // vbroadcastss  (%rax),%ymm2
+  .byte  196,65,36,87,219                    // vxorps        %ymm11,%ymm11,%ymm11
+  .byte  98,209,44,40,194,195,0              // vcmpeqps      %ymm11,%ymm10,%k0
+  .byte  98,114,126,40,56,224                // vpmovm2d      %k0,%ymm12
+  .byte  196,65,124,91,234                   // vcvtdq2ps     %ymm10,%ymm13
+  .byte  196,98,125,24,53,137,147,3,0        // vbroadcastss  0x39389(%rip),%ymm14        # 3c594 <_sk_srcover_bgra_8888_sse2_lowp+0x348>
+  .byte  98,114,21,56,168,53,135,147,3,0     // vfmadd213ps   0x39387(%rip){1to8},%ymm13,%ymm14        # 3c59c <_sk_srcover_bgra_8888_sse2_lowp+0x350>
+  .byte  98,113,44,56,84,21,121,147,3,0      // vandps        0x39379(%rip){1to8},%ymm10,%ymm10        # 3c598 <_sk_srcover_bgra_8888_sse2_lowp+0x34c>
+  .byte  98,113,44,56,86,21,207,146,3,0      // vorps         0x392cf(%rip){1to8},%ymm10,%ymm10        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  98,114,45,56,188,53,109,147,3,0     // vfnmadd231ps  0x3936d(%rip){1to8},%ymm10,%ymm14        # 3c5a0 <_sk_srcover_bgra_8888_sse2_lowp+0x354>
+  .byte  98,113,44,56,88,21,103,147,3,0      // vaddps        0x39367(%rip){1to8},%ymm10,%ymm10        # 3c5a4 <_sk_srcover_bgra_8888_sse2_lowp+0x358>
+  .byte  196,98,125,24,45,98,147,3,0         // vbroadcastss  0x39362(%rip),%ymm13        # 3c5a8 <_sk_srcover_bgra_8888_sse2_lowp+0x35c>
+  .byte  196,65,20,94,210                    // vdivps        %ymm10,%ymm13,%ymm10
+  .byte  196,65,12,92,210                    // vsubps        %ymm10,%ymm14,%ymm10
+  .byte  196,193,108,89,210                  // vmulps        %ymm10,%ymm2,%ymm2
+  .byte  196,99,125,8,210,1                  // vroundps      $0x1,%ymm2,%ymm10
+  .byte  196,65,108,92,210                   // vsubps        %ymm10,%ymm2,%ymm10
+  .byte  98,241,108,56,88,21,66,147,3,0      // vaddps        0x39342(%rip){1to8},%ymm2,%ymm2        # 3c5ac <_sk_srcover_bgra_8888_sse2_lowp+0x360>
+  .byte  98,242,45,56,188,21,60,147,3,0      // vfnmadd231ps  0x3933c(%rip){1to8},%ymm10,%ymm2        # 3c5b0 <_sk_srcover_bgra_8888_sse2_lowp+0x364>
+  .byte  196,98,125,24,45,55,147,3,0         // vbroadcastss  0x39337(%rip),%ymm13        # 3c5b4 <_sk_srcover_bgra_8888_sse2_lowp+0x368>
+  .byte  196,65,20,92,210                    // vsubps        %ymm10,%ymm13,%ymm10
+  .byte  196,98,125,24,45,45,147,3,0         // vbroadcastss  0x3932d(%rip),%ymm13        # 3c5b8 <_sk_srcover_bgra_8888_sse2_lowp+0x36c>
+  .byte  196,65,20,94,210                    // vdivps        %ymm10,%ymm13,%ymm10
+  .byte  196,193,108,88,210                  // vaddps        %ymm10,%ymm2,%ymm2
+  .byte  98,241,108,56,89,21,29,147,3,0      // vmulps        0x3931d(%rip){1to8},%ymm2,%ymm2        # 3c5bc <_sk_srcover_bgra_8888_sse2_lowp+0x370>
+  .byte  197,253,91,210                      // vcvtps2dq     %ymm2,%ymm2
+  .byte  196,195,109,74,211,192              // vblendvps     %ymm12,%ymm11,%ymm2,%ymm2
+  .byte  196,98,125,24,80,20                 // vbroadcastss  0x14(%rax),%ymm10
+  .byte  196,193,108,88,210                  // vaddps        %ymm10,%ymm2,%ymm2
+  .byte  196,195,109,74,209,128              // vblendvps     %ymm8,%ymm9,%ymm2,%ymm2
+  .byte  196,193,108,95,211                  // vmaxps        %ymm11,%ymm2,%ymm2
+  .byte  98,241,108,56,93,21,51,146,3,0      // vminps        0x39233(%rip){1to8},%ymm2,%ymm2        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_parametric_a_skx
+.globl _sk_parametric_a_skx
+FUNCTION(_sk_parametric_a_skx)
+_sk_parametric_a_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  98,241,100,56,194,64,4,2            // vcmpleps      0x10(%rax){1to8},%ymm3,%k0
+  .byte  98,114,126,40,56,192                // vpmovm2d      %k0,%ymm8
+  .byte  196,98,125,24,72,12                 // vbroadcastss  0xc(%rax),%ymm9
+  .byte  98,114,101,56,168,72,6              // vfmadd213ps   0x18(%rax){1to8},%ymm3,%ymm9
+  .byte  196,98,125,24,80,4                  // vbroadcastss  0x4(%rax),%ymm10
+  .byte  98,114,101,56,168,80,2              // vfmadd213ps   0x8(%rax){1to8},%ymm3,%ymm10
+  .byte  196,226,125,24,24                   // vbroadcastss  (%rax),%ymm3
+  .byte  196,65,36,87,219                    // vxorps        %ymm11,%ymm11,%ymm11
+  .byte  98,209,44,40,194,195,0              // vcmpeqps      %ymm11,%ymm10,%k0
+  .byte  98,114,126,40,56,224                // vpmovm2d      %k0,%ymm12
+  .byte  196,65,124,91,234                   // vcvtdq2ps     %ymm10,%ymm13
+  .byte  196,98,125,24,53,120,146,3,0        // vbroadcastss  0x39278(%rip),%ymm14        # 3c594 <_sk_srcover_bgra_8888_sse2_lowp+0x348>
+  .byte  98,114,21,56,168,53,118,146,3,0     // vfmadd213ps   0x39276(%rip){1to8},%ymm13,%ymm14        # 3c59c <_sk_srcover_bgra_8888_sse2_lowp+0x350>
+  .byte  98,113,44,56,84,21,104,146,3,0      // vandps        0x39268(%rip){1to8},%ymm10,%ymm10        # 3c598 <_sk_srcover_bgra_8888_sse2_lowp+0x34c>
+  .byte  98,113,44,56,86,21,190,145,3,0      // vorps         0x391be(%rip){1to8},%ymm10,%ymm10        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  98,114,45,56,188,53,92,146,3,0      // vfnmadd231ps  0x3925c(%rip){1to8},%ymm10,%ymm14        # 3c5a0 <_sk_srcover_bgra_8888_sse2_lowp+0x354>
+  .byte  98,113,44,56,88,21,86,146,3,0       // vaddps        0x39256(%rip){1to8},%ymm10,%ymm10        # 3c5a4 <_sk_srcover_bgra_8888_sse2_lowp+0x358>
+  .byte  196,98,125,24,45,81,146,3,0         // vbroadcastss  0x39251(%rip),%ymm13        # 3c5a8 <_sk_srcover_bgra_8888_sse2_lowp+0x35c>
+  .byte  196,65,20,94,210                    // vdivps        %ymm10,%ymm13,%ymm10
+  .byte  196,65,12,92,210                    // vsubps        %ymm10,%ymm14,%ymm10
+  .byte  196,193,100,89,218                  // vmulps        %ymm10,%ymm3,%ymm3
+  .byte  196,99,125,8,211,1                  // vroundps      $0x1,%ymm3,%ymm10
+  .byte  196,65,100,92,210                   // vsubps        %ymm10,%ymm3,%ymm10
+  .byte  98,241,100,56,88,29,49,146,3,0      // vaddps        0x39231(%rip){1to8},%ymm3,%ymm3        # 3c5ac <_sk_srcover_bgra_8888_sse2_lowp+0x360>
+  .byte  98,242,45,56,188,29,43,146,3,0      // vfnmadd231ps  0x3922b(%rip){1to8},%ymm10,%ymm3        # 3c5b0 <_sk_srcover_bgra_8888_sse2_lowp+0x364>
+  .byte  196,98,125,24,45,38,146,3,0         // vbroadcastss  0x39226(%rip),%ymm13        # 3c5b4 <_sk_srcover_bgra_8888_sse2_lowp+0x368>
+  .byte  196,65,20,92,210                    // vsubps        %ymm10,%ymm13,%ymm10
+  .byte  196,98,125,24,45,28,146,3,0         // vbroadcastss  0x3921c(%rip),%ymm13        # 3c5b8 <_sk_srcover_bgra_8888_sse2_lowp+0x36c>
+  .byte  196,65,20,94,210                    // vdivps        %ymm10,%ymm13,%ymm10
+  .byte  196,193,100,88,218                  // vaddps        %ymm10,%ymm3,%ymm3
+  .byte  98,241,100,56,89,29,12,146,3,0      // vmulps        0x3920c(%rip){1to8},%ymm3,%ymm3        # 3c5bc <_sk_srcover_bgra_8888_sse2_lowp+0x370>
+  .byte  197,253,91,219                      // vcvtps2dq     %ymm3,%ymm3
+  .byte  196,195,101,74,219,192              // vblendvps     %ymm12,%ymm11,%ymm3,%ymm3
+  .byte  196,98,125,24,80,20                 // vbroadcastss  0x14(%rax),%ymm10
+  .byte  196,193,100,88,218                  // vaddps        %ymm10,%ymm3,%ymm3
+  .byte  196,195,101,74,217,128              // vblendvps     %ymm8,%ymm9,%ymm3,%ymm3
+  .byte  196,193,100,95,219                  // vmaxps        %ymm11,%ymm3,%ymm3
+  .byte  98,241,100,56,93,29,34,145,3,0      // vminps        0x39122(%rip){1to8},%ymm3,%ymm3        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_gamma_skx
+.globl _sk_gamma_skx
+FUNCTION(_sk_gamma_skx)
+_sk_gamma_skx:
+  .byte  98,97,124,40,40,199                 // vmovaps       %ymm7,%ymm24
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  98,226,125,40,24,16                 // vbroadcastss  (%rax),%ymm18
+  .byte  197,196,87,255                      // vxorps        %ymm7,%ymm7,%ymm7
+  .byte  98,241,124,40,194,199,0             // vcmpeqps      %ymm7,%ymm0,%k0
+  .byte  197,124,91,208                      // vcvtdq2ps     %ymm0,%ymm10
+  .byte  196,98,125,24,29,144,145,3,0        // vbroadcastss  0x39190(%rip),%ymm11        # 3c594 <_sk_srcover_bgra_8888_sse2_lowp+0x348>
+  .byte  196,98,125,24,37,139,145,3,0        // vbroadcastss  0x3918b(%rip),%ymm12        # 3c598 <_sk_srcover_bgra_8888_sse2_lowp+0x34c>
+  .byte  196,193,124,84,196                  // vandps        %ymm12,%ymm0,%ymm0
+  .byte  196,98,125,24,45,221,144,3,0        // vbroadcastss  0x390dd(%rip),%ymm13        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  196,193,124,86,197                  // vorps         %ymm13,%ymm0,%ymm0
+  .byte  196,98,125,24,53,115,145,3,0        // vbroadcastss  0x39173(%rip),%ymm14        # 3c59c <_sk_srcover_bgra_8888_sse2_lowp+0x350>
+  .byte  196,66,37,168,214                   // vfmadd213ps   %ymm14,%ymm11,%ymm10
+  .byte  196,98,125,24,61,105,145,3,0        // vbroadcastss  0x39169(%rip),%ymm15        # 3c5a0 <_sk_srcover_bgra_8888_sse2_lowp+0x354>
+  .byte  196,66,125,188,215                  // vfnmadd231ps  %ymm15,%ymm0,%ymm10
+  .byte  98,226,125,40,24,5,94,145,3,0       // vbroadcastss  0x3915e(%rip),%ymm16        # 3c5a4 <_sk_srcover_bgra_8888_sse2_lowp+0x358>
+  .byte  98,177,124,40,88,192                // vaddps        %ymm16,%ymm0,%ymm0
+  .byte  98,226,125,40,24,13,82,145,3,0      // vbroadcastss  0x39152(%rip),%ymm17        # 3c5a8 <_sk_srcover_bgra_8888_sse2_lowp+0x35c>
+  .byte  98,241,116,32,94,192                // vdivps        %ymm0,%ymm17,%ymm0
+  .byte  197,172,92,192                      // vsubps        %ymm0,%ymm10,%ymm0
+  .byte  98,177,124,40,89,194                // vmulps        %ymm18,%ymm0,%ymm0
+  .byte  196,99,125,8,208,1                  // vroundps      $0x1,%ymm0,%ymm10
+  .byte  98,114,126,40,56,200                // vpmovm2d      %k0,%ymm9
+  .byte  196,65,124,92,210                   // vsubps        %ymm10,%ymm0,%ymm10
+  .byte  98,226,125,40,24,29,43,145,3,0      // vbroadcastss  0x3912b(%rip),%ymm19        # 3c5ac <_sk_srcover_bgra_8888_sse2_lowp+0x360>
+  .byte  98,177,124,40,88,195                // vaddps        %ymm19,%ymm0,%ymm0
+  .byte  98,226,125,40,24,37,31,145,3,0      // vbroadcastss  0x3911f(%rip),%ymm20        # 3c5b0 <_sk_srcover_bgra_8888_sse2_lowp+0x364>
+  .byte  98,178,45,40,188,196                // vfnmadd231ps  %ymm20,%ymm10,%ymm0
+  .byte  98,226,125,40,24,45,19,145,3,0      // vbroadcastss  0x39113(%rip),%ymm21        # 3c5b4 <_sk_srcover_bgra_8888_sse2_lowp+0x368>
+  .byte  98,81,84,32,92,210                  // vsubps        %ymm10,%ymm21,%ymm10
+  .byte  98,226,125,40,24,53,7,145,3,0       // vbroadcastss  0x39107(%rip),%ymm22        # 3c5b8 <_sk_srcover_bgra_8888_sse2_lowp+0x36c>
+  .byte  98,81,76,32,94,210                  // vdivps        %ymm10,%ymm22,%ymm10
+  .byte  196,193,124,88,194                  // vaddps        %ymm10,%ymm0,%ymm0
+  .byte  196,98,125,24,21,247,144,3,0        // vbroadcastss  0x390f7(%rip),%ymm10        # 3c5bc <_sk_srcover_bgra_8888_sse2_lowp+0x370>
+  .byte  196,193,124,89,194                  // vmulps        %ymm10,%ymm0,%ymm0
+  .byte  197,253,91,192                      // vcvtps2dq     %ymm0,%ymm0
+  .byte  196,227,125,74,199,144              // vblendvps     %ymm9,%ymm7,%ymm0,%ymm0
+  .byte  98,241,116,40,194,199,0             // vcmpeqps      %ymm7,%ymm1,%k0
+  .byte  98,114,126,40,56,200                // vpmovm2d      %k0,%ymm9
+  .byte  98,225,124,40,91,249                // vcvtdq2ps     %ymm1,%ymm23
+  .byte  196,193,116,84,204                  // vandps        %ymm12,%ymm1,%ymm1
+  .byte  196,193,116,86,205                  // vorps         %ymm13,%ymm1,%ymm1
+  .byte  98,194,37,40,168,254                // vfmadd213ps   %ymm14,%ymm11,%ymm23
+  .byte  98,194,117,40,188,255               // vfnmadd231ps  %ymm15,%ymm1,%ymm23
+  .byte  98,177,116,40,88,200                // vaddps        %ymm16,%ymm1,%ymm1
+  .byte  98,241,116,32,94,201                // vdivps        %ymm1,%ymm17,%ymm1
+  .byte  98,241,68,32,92,201                 // vsubps        %ymm1,%ymm23,%ymm1
+  .byte  98,177,116,40,89,202                // vmulps        %ymm18,%ymm1,%ymm1
+  .byte  196,99,125,8,193,1                  // vroundps      $0x1,%ymm1,%ymm8
+  .byte  196,65,116,92,192                   // vsubps        %ymm8,%ymm1,%ymm8
+  .byte  98,177,116,40,88,203                // vaddps        %ymm19,%ymm1,%ymm1
+  .byte  98,178,61,40,188,204                // vfnmadd231ps  %ymm20,%ymm8,%ymm1
+  .byte  98,81,84,32,92,192                  // vsubps        %ymm8,%ymm21,%ymm8
+  .byte  98,81,76,32,94,192                  // vdivps        %ymm8,%ymm22,%ymm8
+  .byte  196,193,116,88,200                  // vaddps        %ymm8,%ymm1,%ymm1
+  .byte  196,193,116,89,202                  // vmulps        %ymm10,%ymm1,%ymm1
+  .byte  197,253,91,201                      // vcvtps2dq     %ymm1,%ymm1
+  .byte  196,227,117,74,207,144              // vblendvps     %ymm9,%ymm7,%ymm1,%ymm1
+  .byte  98,241,108,40,194,199,0             // vcmpeqps      %ymm7,%ymm2,%k0
+  .byte  98,114,126,40,56,192                // vpmovm2d      %k0,%ymm8
+  .byte  197,124,91,202                      // vcvtdq2ps     %ymm2,%ymm9
+  .byte  196,193,108,84,212                  // vandps        %ymm12,%ymm2,%ymm2
+  .byte  196,193,108,86,213                  // vorps         %ymm13,%ymm2,%ymm2
+  .byte  196,66,37,168,206                   // vfmadd213ps   %ymm14,%ymm11,%ymm9
+  .byte  196,66,109,188,207                  // vfnmadd231ps  %ymm15,%ymm2,%ymm9
+  .byte  98,177,108,40,88,208                // vaddps        %ymm16,%ymm2,%ymm2
+  .byte  98,241,116,32,94,210                // vdivps        %ymm2,%ymm17,%ymm2
+  .byte  197,180,92,210                      // vsubps        %ymm2,%ymm9,%ymm2
+  .byte  98,177,108,40,89,210                // vmulps        %ymm18,%ymm2,%ymm2
+  .byte  196,99,125,8,202,1                  // vroundps      $0x1,%ymm2,%ymm9
+  .byte  196,65,108,92,201                   // vsubps        %ymm9,%ymm2,%ymm9
+  .byte  98,177,108,40,88,211                // vaddps        %ymm19,%ymm2,%ymm2
+  .byte  98,178,53,40,188,212                // vfnmadd231ps  %ymm20,%ymm9,%ymm2
+  .byte  98,81,84,32,92,201                  // vsubps        %ymm9,%ymm21,%ymm9
+  .byte  98,81,76,32,94,201                  // vdivps        %ymm9,%ymm22,%ymm9
+  .byte  196,193,108,88,209                  // vaddps        %ymm9,%ymm2,%ymm2
+  .byte  196,193,108,89,210                  // vmulps        %ymm10,%ymm2,%ymm2
+  .byte  197,253,91,210                      // vcvtps2dq     %ymm2,%ymm2
+  .byte  196,227,109,74,215,128              // vblendvps     %ymm8,%ymm7,%ymm2,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  98,145,124,40,40,248                // vmovaps       %ymm24,%ymm7
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_gamma_dst_skx
+.globl _sk_gamma_dst_skx
+FUNCTION(_sk_gamma_dst_skx)
+_sk_gamma_dst_skx:
+  .byte  98,97,124,40,40,199                 // vmovaps       %ymm7,%ymm24
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  98,226,125,40,24,16                 // vbroadcastss  (%rax),%ymm18
+  .byte  197,196,87,255                      // vxorps        %ymm7,%ymm7,%ymm7
+  .byte  98,241,92,40,194,199,0              // vcmpeqps      %ymm7,%ymm4,%k0
+  .byte  197,124,91,212                      // vcvtdq2ps     %ymm4,%ymm10
+  .byte  196,98,125,24,29,166,143,3,0        // vbroadcastss  0x38fa6(%rip),%ymm11        # 3c594 <_sk_srcover_bgra_8888_sse2_lowp+0x348>
+  .byte  196,98,125,24,37,161,143,3,0        // vbroadcastss  0x38fa1(%rip),%ymm12        # 3c598 <_sk_srcover_bgra_8888_sse2_lowp+0x34c>
+  .byte  196,193,92,84,228                   // vandps        %ymm12,%ymm4,%ymm4
+  .byte  196,98,125,24,45,243,142,3,0        // vbroadcastss  0x38ef3(%rip),%ymm13        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  196,193,92,86,229                   // vorps         %ymm13,%ymm4,%ymm4
+  .byte  196,98,125,24,53,137,143,3,0        // vbroadcastss  0x38f89(%rip),%ymm14        # 3c59c <_sk_srcover_bgra_8888_sse2_lowp+0x350>
+  .byte  196,66,37,168,214                   // vfmadd213ps   %ymm14,%ymm11,%ymm10
+  .byte  196,98,125,24,61,127,143,3,0        // vbroadcastss  0x38f7f(%rip),%ymm15        # 3c5a0 <_sk_srcover_bgra_8888_sse2_lowp+0x354>
+  .byte  196,66,93,188,215                   // vfnmadd231ps  %ymm15,%ymm4,%ymm10
+  .byte  98,226,125,40,24,5,116,143,3,0      // vbroadcastss  0x38f74(%rip),%ymm16        # 3c5a4 <_sk_srcover_bgra_8888_sse2_lowp+0x358>
+  .byte  98,177,92,40,88,224                 // vaddps        %ymm16,%ymm4,%ymm4
+  .byte  98,226,125,40,24,13,104,143,3,0     // vbroadcastss  0x38f68(%rip),%ymm17        # 3c5a8 <_sk_srcover_bgra_8888_sse2_lowp+0x35c>
+  .byte  98,241,116,32,94,228                // vdivps        %ymm4,%ymm17,%ymm4
+  .byte  197,172,92,228                      // vsubps        %ymm4,%ymm10,%ymm4
+  .byte  98,177,92,40,89,226                 // vmulps        %ymm18,%ymm4,%ymm4
+  .byte  196,99,125,8,212,1                  // vroundps      $0x1,%ymm4,%ymm10
+  .byte  98,114,126,40,56,200                // vpmovm2d      %k0,%ymm9
+  .byte  196,65,92,92,210                    // vsubps        %ymm10,%ymm4,%ymm10
+  .byte  98,226,125,40,24,29,65,143,3,0      // vbroadcastss  0x38f41(%rip),%ymm19        # 3c5ac <_sk_srcover_bgra_8888_sse2_lowp+0x360>
+  .byte  98,177,92,40,88,227                 // vaddps        %ymm19,%ymm4,%ymm4
+  .byte  98,226,125,40,24,37,53,143,3,0      // vbroadcastss  0x38f35(%rip),%ymm20        # 3c5b0 <_sk_srcover_bgra_8888_sse2_lowp+0x364>
+  .byte  98,178,45,40,188,228                // vfnmadd231ps  %ymm20,%ymm10,%ymm4
+  .byte  98,226,125,40,24,45,41,143,3,0      // vbroadcastss  0x38f29(%rip),%ymm21        # 3c5b4 <_sk_srcover_bgra_8888_sse2_lowp+0x368>
+  .byte  98,81,84,32,92,210                  // vsubps        %ymm10,%ymm21,%ymm10
+  .byte  98,226,125,40,24,53,29,143,3,0      // vbroadcastss  0x38f1d(%rip),%ymm22        # 3c5b8 <_sk_srcover_bgra_8888_sse2_lowp+0x36c>
+  .byte  98,81,76,32,94,210                  // vdivps        %ymm10,%ymm22,%ymm10
+  .byte  196,193,92,88,226                   // vaddps        %ymm10,%ymm4,%ymm4
+  .byte  196,98,125,24,21,13,143,3,0         // vbroadcastss  0x38f0d(%rip),%ymm10        # 3c5bc <_sk_srcover_bgra_8888_sse2_lowp+0x370>
+  .byte  196,193,92,89,226                   // vmulps        %ymm10,%ymm4,%ymm4
+  .byte  197,253,91,228                      // vcvtps2dq     %ymm4,%ymm4
+  .byte  196,227,93,74,231,144               // vblendvps     %ymm9,%ymm7,%ymm4,%ymm4
+  .byte  98,241,84,40,194,199,0              // vcmpeqps      %ymm7,%ymm5,%k0
+  .byte  98,114,126,40,56,200                // vpmovm2d      %k0,%ymm9
+  .byte  98,225,124,40,91,253                // vcvtdq2ps     %ymm5,%ymm23
+  .byte  196,193,84,84,236                   // vandps        %ymm12,%ymm5,%ymm5
+  .byte  196,193,84,86,237                   // vorps         %ymm13,%ymm5,%ymm5
+  .byte  98,194,37,40,168,254                // vfmadd213ps   %ymm14,%ymm11,%ymm23
+  .byte  98,194,85,40,188,255                // vfnmadd231ps  %ymm15,%ymm5,%ymm23
+  .byte  98,177,84,40,88,232                 // vaddps        %ymm16,%ymm5,%ymm5
+  .byte  98,241,116,32,94,237                // vdivps        %ymm5,%ymm17,%ymm5
+  .byte  98,241,68,32,92,237                 // vsubps        %ymm5,%ymm23,%ymm5
+  .byte  98,177,84,40,89,234                 // vmulps        %ymm18,%ymm5,%ymm5
+  .byte  196,99,125,8,197,1                  // vroundps      $0x1,%ymm5,%ymm8
+  .byte  196,65,84,92,192                    // vsubps        %ymm8,%ymm5,%ymm8
+  .byte  98,177,84,40,88,235                 // vaddps        %ymm19,%ymm5,%ymm5
+  .byte  98,178,61,40,188,236                // vfnmadd231ps  %ymm20,%ymm8,%ymm5
+  .byte  98,81,84,32,92,192                  // vsubps        %ymm8,%ymm21,%ymm8
+  .byte  98,81,76,32,94,192                  // vdivps        %ymm8,%ymm22,%ymm8
+  .byte  196,193,84,88,232                   // vaddps        %ymm8,%ymm5,%ymm5
+  .byte  196,193,84,89,234                   // vmulps        %ymm10,%ymm5,%ymm5
+  .byte  197,253,91,237                      // vcvtps2dq     %ymm5,%ymm5
+  .byte  196,227,85,74,239,144               // vblendvps     %ymm9,%ymm7,%ymm5,%ymm5
+  .byte  98,241,76,40,194,199,0              // vcmpeqps      %ymm7,%ymm6,%k0
+  .byte  98,114,126,40,56,192                // vpmovm2d      %k0,%ymm8
+  .byte  197,124,91,206                      // vcvtdq2ps     %ymm6,%ymm9
+  .byte  196,193,76,84,244                   // vandps        %ymm12,%ymm6,%ymm6
+  .byte  196,193,76,86,245                   // vorps         %ymm13,%ymm6,%ymm6
+  .byte  196,66,37,168,206                   // vfmadd213ps   %ymm14,%ymm11,%ymm9
+  .byte  196,66,77,188,207                   // vfnmadd231ps  %ymm15,%ymm6,%ymm9
+  .byte  98,177,76,40,88,240                 // vaddps        %ymm16,%ymm6,%ymm6
+  .byte  98,241,116,32,94,246                // vdivps        %ymm6,%ymm17,%ymm6
+  .byte  197,180,92,246                      // vsubps        %ymm6,%ymm9,%ymm6
+  .byte  98,177,76,40,89,242                 // vmulps        %ymm18,%ymm6,%ymm6
+  .byte  196,99,125,8,206,1                  // vroundps      $0x1,%ymm6,%ymm9
+  .byte  196,65,76,92,201                    // vsubps        %ymm9,%ymm6,%ymm9
+  .byte  98,177,76,40,88,243                 // vaddps        %ymm19,%ymm6,%ymm6
+  .byte  98,178,53,40,188,244                // vfnmadd231ps  %ymm20,%ymm9,%ymm6
+  .byte  98,81,84,32,92,201                  // vsubps        %ymm9,%ymm21,%ymm9
+  .byte  98,81,76,32,94,201                  // vdivps        %ymm9,%ymm22,%ymm9
+  .byte  196,193,76,88,241                   // vaddps        %ymm9,%ymm6,%ymm6
+  .byte  196,193,76,89,242                   // vmulps        %ymm10,%ymm6,%ymm6
+  .byte  197,253,91,246                      // vcvtps2dq     %ymm6,%ymm6
+  .byte  196,227,77,74,247,128               // vblendvps     %ymm8,%ymm7,%ymm6,%ymm6
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  98,145,124,40,40,248                // vmovaps       %ymm24,%ymm7
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_lab_to_xyz_skx
+.globl _sk_lab_to_xyz_skx
+FUNCTION(_sk_lab_to_xyz_skx)
+_sk_lab_to_xyz_skx:
+  .byte  196,98,125,24,5,5,142,3,0           // vbroadcastss  0x38e05(%rip),%ymm8        # 3c5c0 <_sk_srcover_bgra_8888_sse2_lowp+0x374>
+  .byte  196,98,125,24,13,100,141,3,0        // vbroadcastss  0x38d64(%rip),%ymm9        # 3c528 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  .byte  196,98,125,24,21,247,141,3,0        // vbroadcastss  0x38df7(%rip),%ymm10        # 3c5c4 <_sk_srcover_bgra_8888_sse2_lowp+0x378>
+  .byte  196,194,53,168,202                  // vfmadd213ps   %ymm10,%ymm9,%ymm1
+  .byte  196,194,53,168,210                  // vfmadd213ps   %ymm10,%ymm9,%ymm2
+  .byte  98,114,125,56,168,5,231,141,3,0     // vfmadd213ps   0x38de7(%rip){1to8},%ymm0,%ymm8        # 3c5c8 <_sk_srcover_bgra_8888_sse2_lowp+0x37c>
+  .byte  98,241,60,56,89,5,225,141,3,0       // vmulps        0x38de1(%rip){1to8},%ymm8,%ymm0        # 3c5cc <_sk_srcover_bgra_8888_sse2_lowp+0x380>
+  .byte  98,242,125,56,152,13,219,141,3,0    // vfmadd132ps   0x38ddb(%rip){1to8},%ymm0,%ymm1        # 3c5d0 <_sk_srcover_bgra_8888_sse2_lowp+0x384>
+  .byte  98,242,125,56,156,21,213,141,3,0    // vfnmadd132ps  0x38dd5(%rip){1to8},%ymm0,%ymm2        # 3c5d4 <_sk_srcover_bgra_8888_sse2_lowp+0x388>
+  .byte  197,116,89,193                      // vmulps        %ymm1,%ymm1,%ymm8
+  .byte  196,65,116,89,192                   // vmulps        %ymm8,%ymm1,%ymm8
+  .byte  196,98,125,24,13,199,141,3,0        // vbroadcastss  0x38dc7(%rip),%ymm9        # 3c5d8 <_sk_srcover_bgra_8888_sse2_lowp+0x38c>
+  .byte  98,209,52,40,194,192,1              // vcmpltps      %ymm8,%ymm9,%k0
+  .byte  98,114,126,40,56,208                // vpmovm2d      %k0,%ymm10
+  .byte  196,98,125,24,29,181,141,3,0        // vbroadcastss  0x38db5(%rip),%ymm11        # 3c5dc <_sk_srcover_bgra_8888_sse2_lowp+0x390>
+  .byte  196,193,116,88,203                  // vaddps        %ymm11,%ymm1,%ymm1
+  .byte  196,98,125,24,37,171,141,3,0        // vbroadcastss  0x38dab(%rip),%ymm12        # 3c5e0 <_sk_srcover_bgra_8888_sse2_lowp+0x394>
+  .byte  196,193,116,89,204                  // vmulps        %ymm12,%ymm1,%ymm1
+  .byte  196,67,117,74,192,160               // vblendvps     %ymm10,%ymm8,%ymm1,%ymm8
+  .byte  197,252,89,200                      // vmulps        %ymm0,%ymm0,%ymm1
+  .byte  197,252,89,201                      // vmulps        %ymm1,%ymm0,%ymm1
+  .byte  98,241,52,40,194,193,1              // vcmpltps      %ymm1,%ymm9,%k0
+  .byte  98,114,126,40,56,208                // vpmovm2d      %k0,%ymm10
+  .byte  196,193,124,88,195                  // vaddps        %ymm11,%ymm0,%ymm0
+  .byte  196,193,124,89,196                  // vmulps        %ymm12,%ymm0,%ymm0
+  .byte  196,227,125,74,201,160              // vblendvps     %ymm10,%ymm1,%ymm0,%ymm1
+  .byte  197,236,89,194                      // vmulps        %ymm2,%ymm2,%ymm0
+  .byte  197,236,89,192                      // vmulps        %ymm0,%ymm2,%ymm0
+  .byte  98,241,52,40,194,192,1              // vcmpltps      %ymm0,%ymm9,%k0
+  .byte  98,114,126,40,56,200                // vpmovm2d      %k0,%ymm9
+  .byte  196,193,108,88,211                  // vaddps        %ymm11,%ymm2,%ymm2
+  .byte  196,193,108,89,212                  // vmulps        %ymm12,%ymm2,%ymm2
+  .byte  196,227,109,74,208,144              // vblendvps     %ymm9,%ymm0,%ymm2,%ymm2
+  .byte  98,241,60,56,89,5,80,141,3,0        // vmulps        0x38d50(%rip){1to8},%ymm8,%ymm0        # 3c5e4 <_sk_srcover_bgra_8888_sse2_lowp+0x398>
+  .byte  98,241,108,56,89,21,74,141,3,0      // vmulps        0x38d4a(%rip){1to8},%ymm2,%ymm2        # 3c5e8 <_sk_srcover_bgra_8888_sse2_lowp+0x39c>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_load_a8_skx
+.globl _sk_load_a8_skx
+FUNCTION(_sk_load_a8_skx)
+_sk_load_a8_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,49                              // jne           38e5 <_sk_load_a8_skx+0x43>
+  .byte  196,194,121,48,4,16                 // vpmovzxbw     (%r8,%rdx,1),%xmm0
+  .byte  197,249,219,5,238,149,3,0           // vpand         0x395ee(%rip),%xmm0,%xmm0        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  196,226,125,51,192                  // vpmovzxwd     %xmm0,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  98,241,124,56,89,29,159,140,3,0     // vmulps        0x38c9f(%rip){1to8},%ymm0,%ymm3        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
+  .byte  197,245,239,201                     // vpxor         %ymm1,%ymm1,%ymm1
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  4,255                               // add           $0xff,%al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,199                             // ja            38ba <_sk_load_a8_skx+0x18>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,131,0,0,0                 // lea           0x83(%rip),%r9        # 3980 <_sk_load_a8_skx+0xde>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  197,249,110,192                     // vmovd         %eax,%xmm0
+  .byte  235,169                             // jmp           38ba <_sk_load_a8_skx+0x18>
+  .byte  65,15,182,68,16,2                   // movzbl        0x2(%r8,%rdx,1),%eax
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  197,249,196,192,2                   // vpinsrw       $0x2,%eax,%xmm0,%xmm0
+  .byte  196,194,121,50,12,16                // vpmovzxbq     (%r8,%rdx,1),%xmm1
+  .byte  197,249,112,201,232                 // vpshufd       $0xe8,%xmm1,%xmm1
+  .byte  197,251,112,201,232                 // vpshuflw      $0xe8,%xmm1,%xmm1
+  .byte  196,227,121,2,193,1                 // vpblendd      $0x1,%xmm1,%xmm0,%xmm0
+  .byte  235,130                             // jmp           38ba <_sk_load_a8_skx+0x18>
+  .byte  65,15,182,68,16,6                   // movzbl        0x6(%r8,%rdx,1),%eax
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  197,249,196,192,6                   // vpinsrw       $0x6,%eax,%xmm0,%xmm0
+  .byte  65,15,182,68,16,5                   // movzbl        0x5(%r8,%rdx,1),%eax
+  .byte  197,249,196,192,5                   // vpinsrw       $0x5,%eax,%xmm0,%xmm0
+  .byte  65,15,182,68,16,4                   // movzbl        0x4(%r8,%rdx,1),%eax
+  .byte  197,249,196,192,4                   // vpinsrw       $0x4,%eax,%xmm0,%xmm0
+  .byte  196,194,121,49,12,16                // vpmovzxbd     (%r8,%rdx,1),%xmm1
+  .byte  197,251,112,201,232                 // vpshuflw      $0xe8,%xmm1,%xmm1
+  .byte  197,250,112,201,232                 // vpshufhw      $0xe8,%xmm1,%xmm1
+  .byte  197,249,112,201,232                 // vpshufd       $0xe8,%xmm1,%xmm1
+  .byte  196,227,113,2,192,12                // vpblendd      $0xc,%xmm0,%xmm1,%xmm0
+  .byte  233,61,255,255,255                  // jmpq          38ba <_sk_load_a8_skx+0x18>
+  .byte  15,31,0                             // nopl          (%rax)
+  .byte  134,255                             // xchg          %bh,%bh
+  .byte  255                                 // (bad)
+  .byte  255,160,255,255,255,145             // jmpq          *-0x6e000001(%rax)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  221,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,210                             // callq         *%rdx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,199                             // inc           %edi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  184                                 // .byte         0xb8
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_a8_dst_skx
+.globl _sk_load_a8_dst_skx
+FUNCTION(_sk_load_a8_dst_skx)
+_sk_load_a8_dst_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,49                              // jne           39df <_sk_load_a8_dst_skx+0x43>
+  .byte  196,194,121,48,36,16                // vpmovzxbw     (%r8,%rdx,1),%xmm4
+  .byte  197,217,219,37,244,148,3,0          // vpand         0x394f4(%rip),%xmm4,%xmm4        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  196,226,125,51,228                  // vpmovzxwd     %xmm4,%ymm4
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  98,241,92,56,89,61,165,139,3,0      // vmulps        0x38ba5(%rip){1to8},%ymm4,%ymm7        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,220,87,228                      // vxorps        %ymm4,%ymm4,%ymm4
+  .byte  197,213,239,237                     // vpxor         %ymm5,%ymm5,%ymm5
+  .byte  197,204,87,246                      // vxorps        %ymm6,%ymm6,%ymm6
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  4,255                               // add           $0xff,%al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,199                             // ja            39b4 <_sk_load_a8_dst_skx+0x18>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,129,0,0,0                 // lea           0x81(%rip),%r9        # 3a78 <_sk_load_a8_dst_skx+0xdc>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  197,249,110,224                     // vmovd         %eax,%xmm4
+  .byte  235,169                             // jmp           39b4 <_sk_load_a8_dst_skx+0x18>
+  .byte  65,15,182,68,16,2                   // movzbl        0x2(%r8,%rdx,1),%eax
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  197,217,196,224,2                   // vpinsrw       $0x2,%eax,%xmm4,%xmm4
+  .byte  196,194,121,50,44,16                // vpmovzxbq     (%r8,%rdx,1),%xmm5
+  .byte  197,249,112,237,232                 // vpshufd       $0xe8,%xmm5,%xmm5
+  .byte  197,251,112,237,232                 // vpshuflw      $0xe8,%xmm5,%xmm5
+  .byte  196,227,89,2,229,1                  // vpblendd      $0x1,%xmm5,%xmm4,%xmm4
+  .byte  235,130                             // jmp           39b4 <_sk_load_a8_dst_skx+0x18>
+  .byte  65,15,182,68,16,6                   // movzbl        0x6(%r8,%rdx,1),%eax
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  197,217,196,224,6                   // vpinsrw       $0x6,%eax,%xmm4,%xmm4
+  .byte  65,15,182,68,16,5                   // movzbl        0x5(%r8,%rdx,1),%eax
+  .byte  197,217,196,224,5                   // vpinsrw       $0x5,%eax,%xmm4,%xmm4
+  .byte  65,15,182,68,16,4                   // movzbl        0x4(%r8,%rdx,1),%eax
+  .byte  197,217,196,224,4                   // vpinsrw       $0x4,%eax,%xmm4,%xmm4
+  .byte  196,194,121,49,44,16                // vpmovzxbd     (%r8,%rdx,1),%xmm5
+  .byte  197,251,112,237,232                 // vpshuflw      $0xe8,%xmm5,%xmm5
+  .byte  197,250,112,237,232                 // vpshufhw      $0xe8,%xmm5,%xmm5
+  .byte  197,249,112,237,232                 // vpshufd       $0xe8,%xmm5,%xmm5
+  .byte  196,227,81,2,228,12                 // vpblendd      $0xc,%xmm4,%xmm5,%xmm4
+  .byte  233,61,255,255,255                  // jmpq          39b4 <_sk_load_a8_dst_skx+0x18>
+  .byte  144                                 // nop
+  .byte  136,255                             // mov           %bh,%bh
+  .byte  255                                 // (bad)
+  .byte  255,162,255,255,255,147             // jmpq          *-0x6c000001(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  223,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,212                             // callq         *%rsp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,201                             // dec           %ecx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  186                                 // .byte         0xba
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_gather_a8_skx
+.globl _sk_gather_a8_skx
+FUNCTION(_sk_gather_a8_skx)
+_sk_gather_a8_skx:
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,88,80,12                // vpbroadcastd  0xc(%rax),%ymm2
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  197,237,254,211                     // vpaddd        %ymm3,%ymm2,%ymm2
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,188,95,192                      // vmaxps        %ymm0,%ymm8,%ymm0
+  .byte  197,252,93,194                      // vminps        %ymm2,%ymm0,%ymm0
+  .byte  196,226,125,88,80,16                // vpbroadcastd  0x10(%rax),%ymm2
+  .byte  197,237,254,211                     // vpaddd        %ymm3,%ymm2,%ymm2
+  .byte  197,188,95,201                      // vmaxps        %ymm1,%ymm8,%ymm1
+  .byte  197,244,93,202                      // vminps        %ymm2,%ymm1,%ymm1
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
+  .byte  98,242,117,56,64,72,2               // vpmulld       0x8(%rax){1to8},%ymm1,%ymm1
+  .byte  197,254,91,192                      // vcvttps2dq    %ymm0,%ymm0
+  .byte  197,245,254,192                     // vpaddd        %ymm0,%ymm1,%ymm0
+  .byte  196,227,249,22,192,1                // vpextrq       $0x1,%xmm0,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  196,193,249,126,194                 // vmovq         %xmm0,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,227,125,57,192,1                // vextracti128  $0x1,%ymm0,%xmm0
+  .byte  196,227,249,22,195,1                // vpextrq       $0x1,%xmm0,%rbx
+  .byte  65,137,222                          // mov           %ebx,%r14d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  196,193,249,126,199                 // vmovq         %xmm0,%r15
+  .byte  69,137,252                          // mov           %r15d,%r12d
+  .byte  73,193,239,32                       // shr           $0x20,%r15
+  .byte  71,15,182,20,16                     // movzbl        (%r8,%r10,1),%r10d
+  .byte  71,15,182,28,24                     // movzbl        (%r8,%r11,1),%r11d
+  .byte  196,193,121,110,195                 // vmovd         %r11d,%xmm0
+  .byte  196,195,121,32,194,1                // vpinsrb       $0x1,%r10d,%xmm0,%xmm0
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  196,195,121,32,193,2                // vpinsrb       $0x2,%r9d,%xmm0,%xmm0
+  .byte  65,15,182,4,0                       // movzbl        (%r8,%rax,1),%eax
+  .byte  196,227,121,32,192,3                // vpinsrb       $0x3,%eax,%xmm0,%xmm0
+  .byte  67,15,182,4,32                      // movzbl        (%r8,%r12,1),%eax
+  .byte  196,227,121,32,192,4                // vpinsrb       $0x4,%eax,%xmm0,%xmm0
+  .byte  67,15,182,4,56                      // movzbl        (%r8,%r15,1),%eax
+  .byte  196,227,121,32,192,5                // vpinsrb       $0x5,%eax,%xmm0,%xmm0
+  .byte  67,15,182,4,48                      // movzbl        (%r8,%r14,1),%eax
+  .byte  196,227,121,32,192,6                // vpinsrb       $0x6,%eax,%xmm0,%xmm0
+  .byte  65,15,182,4,24                      // movzbl        (%r8,%rbx,1),%eax
+  .byte  196,227,121,32,192,7                // vpinsrb       $0x7,%eax,%xmm0,%xmm0
+  .byte  196,226,125,49,192                  // vpmovzxbd     %xmm0,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  98,241,124,56,89,29,242,137,3,0     // vmulps        0x389f2(%rip){1to8},%ymm0,%ymm3        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
+  .byte  197,245,239,201                     // vpxor         %ymm1,%ymm1,%ymm1
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_store_a8_skx
+.globl _sk_store_a8_skx
+FUNCTION(_sk_store_a8_skx)
+_sk_store_a8_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,60,95,195                       // vmaxps        %ymm3,%ymm8,%ymm8
+  .byte  98,113,60,56,93,5,67,137,3,0        // vminps        0x38943(%rip){1to8},%ymm8,%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  98,113,60,56,89,5,101,137,3,0       // vmulps        0x38965(%rip){1to8},%ymm8,%ymm8        # 3c528 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  .byte  196,65,125,91,192                   // vcvtps2dq     %ymm8,%ymm8
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,66,57,43,193                    // vpackusdw     %xmm9,%xmm8,%xmm8
+  .byte  197,57,103,192                      // vpackuswb     %xmm0,%xmm8,%xmm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,10                              // jne           3be6 <_sk_store_a8_skx+0x4d>
+  .byte  196,65,121,214,4,16                 // vmovq         %xmm8,(%r8,%rdx,1)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  4,255                               // add           $0xff,%al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,242                             // ja            3be2 <_sk_store_a8_skx+0x49>
+  .byte  196,66,121,48,192                   // vpmovzxbw     %xmm8,%xmm8
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,81,0,0,0                  // lea           0x51(%rip),%r9        # 3c50 <_sk_store_a8_skx+0xb7>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,67,121,20,4,16,0                // vpextrb       $0x0,%xmm8,(%r8,%rdx,1)
+  .byte  235,209                             // jmp           3be2 <_sk_store_a8_skx+0x49>
+  .byte  196,67,121,20,68,16,2,4             // vpextrb       $0x4,%xmm8,0x2(%r8,%rdx,1)
+  .byte  196,66,121,49,192                   // vpmovzxbd     %xmm8,%xmm8
+  .byte  98,82,126,8,50,4,16                 // vpmovqb       %xmm8,(%r8,%rdx,1)
+  .byte  235,187                             // jmp           3be2 <_sk_store_a8_skx+0x49>
+  .byte  196,67,121,20,68,16,6,12            // vpextrb       $0xc,%xmm8,0x6(%r8,%rdx,1)
+  .byte  196,67,121,20,68,16,5,10            // vpextrb       $0xa,%xmm8,0x5(%r8,%rdx,1)
+  .byte  196,67,121,20,68,16,4,8             // vpextrb       $0x8,%xmm8,0x4(%r8,%rdx,1)
+  .byte  196,66,121,48,192                   // vpmovzxbw     %xmm8,%xmm8
+  .byte  98,82,126,8,49,4,16                 // vpmovdb       %xmm8,(%r8,%rdx,1)
+  .byte  235,149                             // jmp           3be2 <_sk_store_a8_skx+0x49>
+  .byte  15,31,0                             // nopl          (%rax)
+  .byte  184,255,255,255,201                 // mov           $0xc9ffffff,%eax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,193                             // inc           %ecx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  239                                 // out           %eax,(%dx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,231                             // jmpq          *%rdi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  223,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,215                             // callq         *%rdi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_g8_skx
+.globl _sk_load_g8_skx
+FUNCTION(_sk_load_g8_skx)
+_sk_load_g8_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,54                              // jne           3cb4 <_sk_load_g8_skx+0x48>
+  .byte  196,194,121,48,4,16                 // vpmovzxbw     (%r8,%rdx,1),%xmm0
+  .byte  197,249,219,5,36,146,3,0            // vpand         0x39224(%rip),%xmm0,%xmm0        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  196,226,125,51,192                  // vpmovzxwd     %xmm0,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  98,241,124,56,89,5,213,136,3,0      // vmulps        0x388d5(%rip){1to8},%ymm0,%ymm0        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,29,82,136,3,0        // vbroadcastss  0x38852(%rip),%ymm3        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,252,40,200                      // vmovaps       %ymm0,%ymm1
+  .byte  197,252,40,208                      // vmovaps       %ymm0,%ymm2
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  4,255                               // add           $0xff,%al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,194                             // ja            3c84 <_sk_load_g8_skx+0x18>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,132,0,0,0                 // lea           0x84(%rip),%r9        # 3d50 <_sk_load_g8_skx+0xe4>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  197,249,110,192                     // vmovd         %eax,%xmm0
+  .byte  235,164                             // jmp           3c84 <_sk_load_g8_skx+0x18>
+  .byte  65,15,182,68,16,2                   // movzbl        0x2(%r8,%rdx,1),%eax
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  197,249,196,192,2                   // vpinsrw       $0x2,%eax,%xmm0,%xmm0
+  .byte  196,194,121,50,12,16                // vpmovzxbq     (%r8,%rdx,1),%xmm1
+  .byte  197,249,112,201,232                 // vpshufd       $0xe8,%xmm1,%xmm1
+  .byte  197,251,112,201,232                 // vpshuflw      $0xe8,%xmm1,%xmm1
+  .byte  196,227,121,2,193,1                 // vpblendd      $0x1,%xmm1,%xmm0,%xmm0
+  .byte  233,122,255,255,255                 // jmpq          3c84 <_sk_load_g8_skx+0x18>
+  .byte  65,15,182,68,16,6                   // movzbl        0x6(%r8,%rdx,1),%eax
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  197,249,196,192,6                   // vpinsrw       $0x6,%eax,%xmm0,%xmm0
+  .byte  65,15,182,68,16,5                   // movzbl        0x5(%r8,%rdx,1),%eax
+  .byte  197,249,196,192,5                   // vpinsrw       $0x5,%eax,%xmm0,%xmm0
+  .byte  65,15,182,68,16,4                   // movzbl        0x4(%r8,%rdx,1),%eax
+  .byte  197,249,196,192,4                   // vpinsrw       $0x4,%eax,%xmm0,%xmm0
+  .byte  196,194,121,49,12,16                // vpmovzxbd     (%r8,%rdx,1),%xmm1
+  .byte  197,251,112,201,232                 // vpshuflw      $0xe8,%xmm1,%xmm1
+  .byte  197,250,112,201,232                 // vpshufhw      $0xe8,%xmm1,%xmm1
+  .byte  197,249,112,201,232                 // vpshufd       $0xe8,%xmm1,%xmm1
+  .byte  196,227,113,2,192,12                // vpblendd      $0xc,%xmm0,%xmm1,%xmm0
+  .byte  233,53,255,255,255                  // jmpq          3c84 <_sk_load_g8_skx+0x18>
+  .byte  144                                 // nop
+  .byte  133,255                             // test          %edi,%edi
+  .byte  255                                 // (bad)
+  .byte  255,159,255,255,255,144             // lcall         *-0x6f000001(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  223,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,212                             // callq         *%rsp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,201                             // dec           %ecx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  186                                 // .byte         0xba
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_g8_dst_skx
+.globl _sk_load_g8_dst_skx
+FUNCTION(_sk_load_g8_dst_skx)
+_sk_load_g8_dst_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,54                              // jne           3db4 <_sk_load_g8_dst_skx+0x48>
+  .byte  196,194,121,48,36,16                // vpmovzxbw     (%r8,%rdx,1),%xmm4
+  .byte  197,217,219,37,36,145,3,0           // vpand         0x39124(%rip),%xmm4,%xmm4        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  196,226,125,51,228                  // vpmovzxwd     %xmm4,%ymm4
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  98,241,92,56,89,37,213,135,3,0      // vmulps        0x387d5(%rip){1to8},%ymm4,%ymm4        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,61,82,135,3,0        // vbroadcastss  0x38752(%rip),%ymm7        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,252,40,236                      // vmovaps       %ymm4,%ymm5
+  .byte  197,252,40,244                      // vmovaps       %ymm4,%ymm6
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  4,255                               // add           $0xff,%al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,194                             // ja            3d84 <_sk_load_g8_dst_skx+0x18>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,132,0,0,0                 // lea           0x84(%rip),%r9        # 3e50 <_sk_load_g8_dst_skx+0xe4>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  197,249,110,224                     // vmovd         %eax,%xmm4
+  .byte  235,164                             // jmp           3d84 <_sk_load_g8_dst_skx+0x18>
+  .byte  65,15,182,68,16,2                   // movzbl        0x2(%r8,%rdx,1),%eax
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  197,217,196,224,2                   // vpinsrw       $0x2,%eax,%xmm4,%xmm4
+  .byte  196,194,121,50,44,16                // vpmovzxbq     (%r8,%rdx,1),%xmm5
+  .byte  197,249,112,237,232                 // vpshufd       $0xe8,%xmm5,%xmm5
+  .byte  197,251,112,237,232                 // vpshuflw      $0xe8,%xmm5,%xmm5
+  .byte  196,227,89,2,229,1                  // vpblendd      $0x1,%xmm5,%xmm4,%xmm4
+  .byte  233,122,255,255,255                 // jmpq          3d84 <_sk_load_g8_dst_skx+0x18>
+  .byte  65,15,182,68,16,6                   // movzbl        0x6(%r8,%rdx,1),%eax
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  197,217,196,224,6                   // vpinsrw       $0x6,%eax,%xmm4,%xmm4
+  .byte  65,15,182,68,16,5                   // movzbl        0x5(%r8,%rdx,1),%eax
+  .byte  197,217,196,224,5                   // vpinsrw       $0x5,%eax,%xmm4,%xmm4
+  .byte  65,15,182,68,16,4                   // movzbl        0x4(%r8,%rdx,1),%eax
+  .byte  197,217,196,224,4                   // vpinsrw       $0x4,%eax,%xmm4,%xmm4
+  .byte  196,194,121,49,44,16                // vpmovzxbd     (%r8,%rdx,1),%xmm5
+  .byte  197,251,112,237,232                 // vpshuflw      $0xe8,%xmm5,%xmm5
+  .byte  197,250,112,237,232                 // vpshufhw      $0xe8,%xmm5,%xmm5
+  .byte  197,249,112,237,232                 // vpshufd       $0xe8,%xmm5,%xmm5
+  .byte  196,227,81,2,228,12                 // vpblendd      $0xc,%xmm4,%xmm5,%xmm4
+  .byte  233,53,255,255,255                  // jmpq          3d84 <_sk_load_g8_dst_skx+0x18>
+  .byte  144                                 // nop
+  .byte  133,255                             // test          %edi,%edi
+  .byte  255                                 // (bad)
+  .byte  255,159,255,255,255,144             // lcall         *-0x6f000001(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  223,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,212                             // callq         *%rsp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,201                             // dec           %ecx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  186                                 // .byte         0xba
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_gather_g8_skx
+.globl _sk_gather_g8_skx
+FUNCTION(_sk_gather_g8_skx)
+_sk_gather_g8_skx:
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,88,80,12                // vpbroadcastd  0xc(%rax),%ymm2
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  197,237,254,211                     // vpaddd        %ymm3,%ymm2,%ymm2
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,188,95,192                      // vmaxps        %ymm0,%ymm8,%ymm0
+  .byte  197,252,93,194                      // vminps        %ymm2,%ymm0,%ymm0
+  .byte  196,226,125,88,80,16                // vpbroadcastd  0x10(%rax),%ymm2
+  .byte  197,237,254,211                     // vpaddd        %ymm3,%ymm2,%ymm2
+  .byte  197,188,95,201                      // vmaxps        %ymm1,%ymm8,%ymm1
+  .byte  197,244,93,202                      // vminps        %ymm2,%ymm1,%ymm1
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
+  .byte  98,242,117,56,64,72,2               // vpmulld       0x8(%rax){1to8},%ymm1,%ymm1
+  .byte  197,254,91,192                      // vcvttps2dq    %ymm0,%ymm0
+  .byte  197,245,254,192                     // vpaddd        %ymm0,%ymm1,%ymm0
+  .byte  196,227,249,22,192,1                // vpextrq       $0x1,%xmm0,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  196,193,249,126,194                 // vmovq         %xmm0,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,227,125,57,192,1                // vextracti128  $0x1,%ymm0,%xmm0
+  .byte  196,227,249,22,195,1                // vpextrq       $0x1,%xmm0,%rbx
+  .byte  65,137,222                          // mov           %ebx,%r14d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  196,193,249,126,199                 // vmovq         %xmm0,%r15
+  .byte  69,137,252                          // mov           %r15d,%r12d
+  .byte  73,193,239,32                       // shr           $0x20,%r15
+  .byte  71,15,182,20,16                     // movzbl        (%r8,%r10,1),%r10d
+  .byte  71,15,182,28,24                     // movzbl        (%r8,%r11,1),%r11d
+  .byte  196,193,121,110,195                 // vmovd         %r11d,%xmm0
+  .byte  196,195,121,32,194,1                // vpinsrb       $0x1,%r10d,%xmm0,%xmm0
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  196,195,121,32,193,2                // vpinsrb       $0x2,%r9d,%xmm0,%xmm0
+  .byte  65,15,182,4,0                       // movzbl        (%r8,%rax,1),%eax
+  .byte  196,227,121,32,192,3                // vpinsrb       $0x3,%eax,%xmm0,%xmm0
+  .byte  67,15,182,4,32                      // movzbl        (%r8,%r12,1),%eax
+  .byte  196,227,121,32,192,4                // vpinsrb       $0x4,%eax,%xmm0,%xmm0
+  .byte  67,15,182,4,56                      // movzbl        (%r8,%r15,1),%eax
+  .byte  196,227,121,32,192,5                // vpinsrb       $0x5,%eax,%xmm0,%xmm0
+  .byte  67,15,182,4,48                      // movzbl        (%r8,%r14,1),%eax
+  .byte  196,227,121,32,192,6                // vpinsrb       $0x6,%eax,%xmm0,%xmm0
+  .byte  65,15,182,4,24                      // movzbl        (%r8,%rbx,1),%eax
+  .byte  196,227,121,32,192,7                // vpinsrb       $0x7,%eax,%xmm0,%xmm0
+  .byte  196,226,125,49,192                  // vpmovzxbd     %xmm0,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  98,241,124,56,89,5,26,134,3,0       // vmulps        0x3861a(%rip){1to8},%ymm0,%ymm0        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,29,151,133,3,0       // vbroadcastss  0x38597(%rip),%ymm3        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,252,40,200                      // vmovaps       %ymm0,%ymm1
+  .byte  197,252,40,208                      // vmovaps       %ymm0,%ymm2
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_load_565_skx
+.globl _sk_load_565_skx
+FUNCTION(_sk_load_565_skx)
+_sk_load_565_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,96                              // jne           3feb <_sk_load_565_skx+0x75>
+  .byte  196,193,122,111,4,80                // vmovdqu       (%r8,%rdx,2),%xmm0
+  .byte  196,226,125,51,208                  // vpmovzxwd     %xmm0,%ymm2
+  .byte  98,241,109,56,219,5,216,133,3,0     // vpandd        0x385d8(%rip){1to8},%ymm2,%ymm0        # 3c578 <_sk_srcover_bgra_8888_sse2_lowp+0x32c>
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  98,241,124,56,89,5,206,133,3,0      // vmulps        0x385ce(%rip){1to8},%ymm0,%ymm0        # 3c57c <_sk_srcover_bgra_8888_sse2_lowp+0x330>
+  .byte  98,241,109,56,219,13,200,133,3,0    // vpandd        0x385c8(%rip){1to8},%ymm2,%ymm1        # 3c580 <_sk_srcover_bgra_8888_sse2_lowp+0x334>
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  98,241,116,56,89,13,190,133,3,0     // vmulps        0x385be(%rip){1to8},%ymm1,%ymm1        # 3c584 <_sk_srcover_bgra_8888_sse2_lowp+0x338>
+  .byte  98,241,109,56,219,21,184,133,3,0    // vpandd        0x385b8(%rip){1to8},%ymm2,%ymm2        # 3c588 <_sk_srcover_bgra_8888_sse2_lowp+0x33c>
+  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
+  .byte  98,241,108,56,89,21,174,133,3,0     // vmulps        0x385ae(%rip){1to8},%ymm2,%ymm2        # 3c58c <_sk_srcover_bgra_8888_sse2_lowp+0x340>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,29,19,133,3,0        // vbroadcastss  0x38513(%rip),%ymm3        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  4,255                               // add           $0xff,%al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,152                             // ja            3f91 <_sk_load_565_skx+0x1b>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,121,0,0,0                 // lea           0x79(%rip),%r9        # 407c <_sk_load_565_skx+0x106>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  197,249,110,192                     // vmovd         %eax,%xmm0
+  .byte  233,119,255,255,255                 // jmpq          3f91 <_sk_load_565_skx+0x1b>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  196,193,121,196,68,80,4,2           // vpinsrw       $0x2,0x4(%r8,%rdx,2),%xmm0,%xmm0
+  .byte  196,194,121,52,12,80                // vpmovzxwq     (%r8,%rdx,2),%xmm1
+  .byte  197,249,112,201,232                 // vpshufd       $0xe8,%xmm1,%xmm1
+  .byte  197,251,112,201,232                 // vpshuflw      $0xe8,%xmm1,%xmm1
+  .byte  196,227,121,2,193,1                 // vpblendd      $0x1,%xmm1,%xmm0,%xmm0
+  .byte  233,80,255,255,255                  // jmpq          3f91 <_sk_load_565_skx+0x1b>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  196,193,121,196,68,80,12,6          // vpinsrw       $0x6,0xc(%r8,%rdx,2),%xmm0,%xmm0
+  .byte  196,193,121,196,68,80,10,5          // vpinsrw       $0x5,0xa(%r8,%rdx,2),%xmm0,%xmm0
+  .byte  196,193,121,196,68,80,8,4           // vpinsrw       $0x4,0x8(%r8,%rdx,2),%xmm0,%xmm0
+  .byte  196,194,121,51,12,80                // vpmovzxwd     (%r8,%rdx,2),%xmm1
+  .byte  197,251,112,201,232                 // vpshuflw      $0xe8,%xmm1,%xmm1
+  .byte  197,250,112,201,232                 // vpshufhw      $0xe8,%xmm1,%xmm1
+  .byte  197,249,112,201,132                 // vpshufd       $0x84,%xmm1,%xmm1
+  .byte  197,241,109,192                     // vpunpckhqdq   %xmm0,%xmm1,%xmm0
+  .byte  233,22,255,255,255                  // jmpq          3f91 <_sk_load_565_skx+0x1b>
+  .byte  144                                 // nop
+  .byte  144                                 // nop
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,170,255,255,255,158             // ljmp          *-0x61000001(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,225                             // jmpq          *%rcx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  217,255                             // fcos
+  .byte  255                                 // (bad)
+  .byte  255,209                             // callq         *%rcx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,197                             // inc           %ebp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_565_dst_skx
+.globl _sk_load_565_dst_skx
+FUNCTION(_sk_load_565_dst_skx)
+_sk_load_565_dst_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,96                              // jne           410d <_sk_load_565_dst_skx+0x75>
+  .byte  196,193,122,111,36,80               // vmovdqu       (%r8,%rdx,2),%xmm4
+  .byte  196,226,125,51,244                  // vpmovzxwd     %xmm4,%ymm6
+  .byte  98,241,77,56,219,37,182,132,3,0     // vpandd        0x384b6(%rip){1to8},%ymm6,%ymm4        # 3c578 <_sk_srcover_bgra_8888_sse2_lowp+0x32c>
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  98,241,92,56,89,37,172,132,3,0      // vmulps        0x384ac(%rip){1to8},%ymm4,%ymm4        # 3c57c <_sk_srcover_bgra_8888_sse2_lowp+0x330>
+  .byte  98,241,77,56,219,45,166,132,3,0     // vpandd        0x384a6(%rip){1to8},%ymm6,%ymm5        # 3c580 <_sk_srcover_bgra_8888_sse2_lowp+0x334>
+  .byte  197,252,91,237                      // vcvtdq2ps     %ymm5,%ymm5
+  .byte  98,241,84,56,89,45,156,132,3,0      // vmulps        0x3849c(%rip){1to8},%ymm5,%ymm5        # 3c584 <_sk_srcover_bgra_8888_sse2_lowp+0x338>
+  .byte  98,241,77,56,219,53,150,132,3,0     // vpandd        0x38496(%rip){1to8},%ymm6,%ymm6        # 3c588 <_sk_srcover_bgra_8888_sse2_lowp+0x33c>
+  .byte  197,252,91,246                      // vcvtdq2ps     %ymm6,%ymm6
+  .byte  98,241,76,56,89,53,140,132,3,0      // vmulps        0x3848c(%rip){1to8},%ymm6,%ymm6        # 3c58c <_sk_srcover_bgra_8888_sse2_lowp+0x340>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,61,241,131,3,0       // vbroadcastss  0x383f1(%rip),%ymm7        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  4,255                               // add           $0xff,%al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,152                             // ja            40b3 <_sk_load_565_dst_skx+0x1b>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,123,0,0,0                 // lea           0x7b(%rip),%r9        # 41a0 <_sk_load_565_dst_skx+0x108>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  197,249,110,224                     // vmovd         %eax,%xmm4
+  .byte  233,119,255,255,255                 // jmpq          40b3 <_sk_load_565_dst_skx+0x1b>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  196,193,89,196,100,80,4,2           // vpinsrw       $0x2,0x4(%r8,%rdx,2),%xmm4,%xmm4
+  .byte  196,194,121,52,44,80                // vpmovzxwq     (%r8,%rdx,2),%xmm5
+  .byte  197,249,112,237,232                 // vpshufd       $0xe8,%xmm5,%xmm5
+  .byte  197,251,112,237,232                 // vpshuflw      $0xe8,%xmm5,%xmm5
+  .byte  196,227,89,2,229,1                  // vpblendd      $0x1,%xmm5,%xmm4,%xmm4
+  .byte  233,80,255,255,255                  // jmpq          40b3 <_sk_load_565_dst_skx+0x1b>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  196,193,89,196,100,80,12,6          // vpinsrw       $0x6,0xc(%r8,%rdx,2),%xmm4,%xmm4
+  .byte  196,193,89,196,100,80,10,5          // vpinsrw       $0x5,0xa(%r8,%rdx,2),%xmm4,%xmm4
+  .byte  196,193,89,196,100,80,8,4           // vpinsrw       $0x4,0x8(%r8,%rdx,2),%xmm4,%xmm4
+  .byte  196,194,121,51,44,80                // vpmovzxwd     (%r8,%rdx,2),%xmm5
+  .byte  197,251,112,237,232                 // vpshuflw      $0xe8,%xmm5,%xmm5
+  .byte  197,250,112,237,232                 // vpshufhw      $0xe8,%xmm5,%xmm5
+  .byte  197,249,112,237,132                 // vpshufd       $0x84,%xmm5,%xmm5
+  .byte  197,209,109,228                     // vpunpckhqdq   %xmm4,%xmm5,%xmm4
+  .byte  233,22,255,255,255                  // jmpq          40b3 <_sk_load_565_dst_skx+0x1b>
+  .byte  15,31,0                             // nopl          (%rax)
+  .byte  142,255                             // mov           %edi,%?
+  .byte  255                                 // (bad)
+  .byte  255,168,255,255,255,156             // ljmp          *-0x63000001(%rax)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  223,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,215                             // callq         *%rdi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,207                             // dec           %edi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,195                             // inc           %ebx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_gather_565_skx
+.globl _sk_gather_565_skx
+FUNCTION(_sk_gather_565_skx)
+_sk_gather_565_skx:
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,88,80,12                // vpbroadcastd  0xc(%rax),%ymm2
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  197,237,254,211                     // vpaddd        %ymm3,%ymm2,%ymm2
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,188,95,192                      // vmaxps        %ymm0,%ymm8,%ymm0
+  .byte  197,252,93,194                      // vminps        %ymm2,%ymm0,%ymm0
+  .byte  196,226,125,88,80,16                // vpbroadcastd  0x10(%rax),%ymm2
+  .byte  197,237,254,211                     // vpaddd        %ymm3,%ymm2,%ymm2
+  .byte  197,188,95,201                      // vmaxps        %ymm1,%ymm8,%ymm1
+  .byte  197,244,93,202                      // vminps        %ymm2,%ymm1,%ymm1
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
+  .byte  98,242,117,56,64,72,2               // vpmulld       0x8(%rax){1to8},%ymm1,%ymm1
+  .byte  197,254,91,192                      // vcvttps2dq    %ymm0,%ymm0
+  .byte  197,245,254,192                     // vpaddd        %ymm0,%ymm1,%ymm0
+  .byte  196,227,249,22,192,1                // vpextrq       $0x1,%xmm0,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  196,193,249,126,194                 // vmovq         %xmm0,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,227,125,57,192,1                // vextracti128  $0x1,%ymm0,%xmm0
+  .byte  196,227,249,22,195,1                // vpextrq       $0x1,%xmm0,%rbx
+  .byte  65,137,222                          // mov           %ebx,%r14d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  196,193,249,126,199                 // vmovq         %xmm0,%r15
+  .byte  69,137,252                          // mov           %r15d,%r12d
+  .byte  73,193,239,32                       // shr           $0x20,%r15
+  .byte  71,15,183,20,80                     // movzwl        (%r8,%r10,2),%r10d
+  .byte  71,15,183,28,88                     // movzwl        (%r8,%r11,2),%r11d
+  .byte  196,193,121,110,195                 // vmovd         %r11d,%xmm0
+  .byte  196,193,121,196,194,1               // vpinsrw       $0x1,%r10d,%xmm0,%xmm0
+  .byte  71,15,183,12,72                     // movzwl        (%r8,%r9,2),%r9d
+  .byte  196,193,121,196,193,2               // vpinsrw       $0x2,%r9d,%xmm0,%xmm0
+  .byte  65,15,183,4,64                      // movzwl        (%r8,%rax,2),%eax
+  .byte  197,249,196,192,3                   // vpinsrw       $0x3,%eax,%xmm0,%xmm0
+  .byte  67,15,183,4,96                      // movzwl        (%r8,%r12,2),%eax
+  .byte  197,249,196,192,4                   // vpinsrw       $0x4,%eax,%xmm0,%xmm0
+  .byte  67,15,183,4,120                     // movzwl        (%r8,%r15,2),%eax
+  .byte  197,249,196,192,5                   // vpinsrw       $0x5,%eax,%xmm0,%xmm0
+  .byte  67,15,183,4,112                     // movzwl        (%r8,%r14,2),%eax
+  .byte  197,249,196,192,6                   // vpinsrw       $0x6,%eax,%xmm0,%xmm0
+  .byte  65,15,183,4,88                      // movzwl        (%r8,%rbx,2),%eax
+  .byte  197,249,196,192,7                   // vpinsrw       $0x7,%eax,%xmm0,%xmm0
+  .byte  196,226,125,51,208                  // vpmovzxwd     %xmm0,%ymm2
+  .byte  98,241,109,56,219,5,215,130,3,0     // vpandd        0x382d7(%rip){1to8},%ymm2,%ymm0        # 3c578 <_sk_srcover_bgra_8888_sse2_lowp+0x32c>
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  98,241,124,56,89,5,205,130,3,0      // vmulps        0x382cd(%rip){1to8},%ymm0,%ymm0        # 3c57c <_sk_srcover_bgra_8888_sse2_lowp+0x330>
+  .byte  98,241,109,56,219,13,199,130,3,0    // vpandd        0x382c7(%rip){1to8},%ymm2,%ymm1        # 3c580 <_sk_srcover_bgra_8888_sse2_lowp+0x334>
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  98,241,116,56,89,13,189,130,3,0     // vmulps        0x382bd(%rip){1to8},%ymm1,%ymm1        # 3c584 <_sk_srcover_bgra_8888_sse2_lowp+0x338>
+  .byte  98,241,109,56,219,21,183,130,3,0    // vpandd        0x382b7(%rip){1to8},%ymm2,%ymm2        # 3c588 <_sk_srcover_bgra_8888_sse2_lowp+0x33c>
+  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
+  .byte  98,241,108,56,89,21,173,130,3,0     // vmulps        0x382ad(%rip){1to8},%ymm2,%ymm2        # 3c58c <_sk_srcover_bgra_8888_sse2_lowp+0x340>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,29,18,130,3,0        // vbroadcastss  0x38212(%rip),%ymm3        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_store_565_skx
+.globl _sk_store_565_skx
+FUNCTION(_sk_store_565_skx)
+_sk_store_565_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,60,95,200                       // vmaxps        %ymm0,%ymm8,%ymm9
+  .byte  196,98,125,24,21,231,129,3,0        // vbroadcastss  0x381e7(%rip),%ymm10        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,65,52,93,202                    // vminps        %ymm10,%ymm9,%ymm9
+  .byte  196,98,125,24,29,201,130,3,0        // vbroadcastss  0x382c9(%rip),%ymm11        # 3c5ec <_sk_srcover_bgra_8888_sse2_lowp+0x3a0>
+  .byte  196,65,52,89,203                    // vmulps        %ymm11,%ymm9,%ymm9
+  .byte  196,65,125,91,201                   // vcvtps2dq     %ymm9,%ymm9
+  .byte  196,193,53,114,241,11               // vpslld        $0xb,%ymm9,%ymm9
+  .byte  197,60,95,225                       // vmaxps        %ymm1,%ymm8,%ymm12
+  .byte  196,65,28,93,226                    // vminps        %ymm10,%ymm12,%ymm12
+  .byte  98,113,28,56,89,37,170,130,3,0      // vmulps        0x382aa(%rip){1to8},%ymm12,%ymm12        # 3c5f0 <_sk_srcover_bgra_8888_sse2_lowp+0x3a4>
+  .byte  196,65,125,91,228                   // vcvtps2dq     %ymm12,%ymm12
+  .byte  196,193,29,114,244,5                // vpslld        $0x5,%ymm12,%ymm12
+  .byte  196,65,29,235,201                   // vpor          %ymm9,%ymm12,%ymm9
+  .byte  197,60,95,194                       // vmaxps        %ymm2,%ymm8,%ymm8
+  .byte  196,65,60,93,194                    // vminps        %ymm10,%ymm8,%ymm8
+  .byte  196,65,60,89,195                    // vmulps        %ymm11,%ymm8,%ymm8
+  .byte  196,65,125,91,192                   // vcvtps2dq     %ymm8,%ymm8
+  .byte  196,65,53,235,192                   // vpor          %ymm8,%ymm9,%ymm8
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,66,57,43,193                    // vpackusdw     %xmm9,%xmm8,%xmm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,10                              // jne           4388 <_sk_store_565_skx+0x95>
+  .byte  196,65,122,127,4,80                 // vmovdqu       %xmm8,(%r8,%rdx,2)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  4,255                               // add           $0xff,%al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,242                             // ja            4384 <_sk_store_565_skx+0x91>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,80,0,0,0                  // lea           0x50(%rip),%r9        # 43ec <_sk_store_565_skx+0xf9>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,67,121,21,4,80,0                // vpextrw       $0x0,%xmm8,(%r8,%rdx,2)
+  .byte  235,214                             // jmp           4384 <_sk_store_565_skx+0x91>
+  .byte  196,67,121,21,68,80,4,2             // vpextrw       $0x2,%xmm8,0x4(%r8,%rdx,2)
+  .byte  196,66,121,52,192                   // vpmovzxwq     %xmm8,%xmm8
+  .byte  98,82,126,8,52,4,80                 // vpmovqw       %xmm8,(%r8,%rdx,2)
+  .byte  235,192                             // jmp           4384 <_sk_store_565_skx+0x91>
+  .byte  196,67,121,21,68,80,12,6            // vpextrw       $0x6,%xmm8,0xc(%r8,%rdx,2)
+  .byte  196,67,121,21,68,80,10,5            // vpextrw       $0x5,%xmm8,0xa(%r8,%rdx,2)
+  .byte  196,67,121,21,68,80,8,4             // vpextrw       $0x4,%xmm8,0x8(%r8,%rdx,2)
+  .byte  196,66,121,51,192                   // vpmovzxwd     %xmm8,%xmm8
+  .byte  98,82,126,8,51,4,80                 // vpmovdw       %xmm8,(%r8,%rdx,2)
+  .byte  235,154                             // jmp           4384 <_sk_store_565_skx+0x91>
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  185,255,255,255,202                 // mov           $0xcaffffff,%ecx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,194                             // inc           %edx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,240                             // push          %rax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  232,255,255,255,224                 // callq         ffffffffe1004400 <_sk_srcover_bgra_8888_sse2_lowp+0xffffffffe0fc81b4>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  216,255                             // fdivr         %st(7),%st
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_4444_skx
+.globl _sk_load_4444_skx
+FUNCTION(_sk_load_4444_skx)
+_sk_load_4444_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,111                             // jne           448c <_sk_load_4444_skx+0x84>
+  .byte  196,193,122,111,4,80                // vmovdqu       (%r8,%rdx,2),%xmm0
+  .byte  196,226,125,51,216                  // vpmovzxwd     %xmm0,%ymm3
+  .byte  98,241,101,56,219,5,194,129,3,0     // vpandd        0x381c2(%rip){1to8},%ymm3,%ymm0        # 3c5f4 <_sk_srcover_bgra_8888_sse2_lowp+0x3a8>
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  98,241,124,56,89,5,184,129,3,0      // vmulps        0x381b8(%rip){1to8},%ymm0,%ymm0        # 3c5f8 <_sk_srcover_bgra_8888_sse2_lowp+0x3ac>
+  .byte  98,241,101,56,219,13,178,129,3,0    // vpandd        0x381b2(%rip){1to8},%ymm3,%ymm1        # 3c5fc <_sk_srcover_bgra_8888_sse2_lowp+0x3b0>
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  98,241,116,56,89,13,168,129,3,0     // vmulps        0x381a8(%rip){1to8},%ymm1,%ymm1        # 3c600 <_sk_srcover_bgra_8888_sse2_lowp+0x3b4>
+  .byte  98,241,101,56,219,21,162,129,3,0    // vpandd        0x381a2(%rip){1to8},%ymm3,%ymm2        # 3c604 <_sk_srcover_bgra_8888_sse2_lowp+0x3b8>
+  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
+  .byte  98,241,108,56,89,21,152,129,3,0     // vmulps        0x38198(%rip){1to8},%ymm2,%ymm2        # 3c608 <_sk_srcover_bgra_8888_sse2_lowp+0x3bc>
+  .byte  98,241,101,56,219,29,146,129,3,0    // vpandd        0x38192(%rip){1to8},%ymm3,%ymm3        # 3c60c <_sk_srcover_bgra_8888_sse2_lowp+0x3c0>
+  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
+  .byte  98,241,100,56,89,29,136,129,3,0     // vmulps        0x38188(%rip){1to8},%ymm3,%ymm3        # 3c610 <_sk_srcover_bgra_8888_sse2_lowp+0x3c4>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  4,255                               // add           $0xff,%al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,137                             // ja            4423 <_sk_load_4444_skx+0x1b>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,120,0,0,0                 // lea           0x78(%rip),%r9        # 451c <_sk_load_4444_skx+0x114>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  197,249,110,192                     // vmovd         %eax,%xmm0
+  .byte  233,104,255,255,255                 // jmpq          4423 <_sk_load_4444_skx+0x1b>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  196,193,121,196,68,80,4,2           // vpinsrw       $0x2,0x4(%r8,%rdx,2),%xmm0,%xmm0
+  .byte  196,194,121,52,12,80                // vpmovzxwq     (%r8,%rdx,2),%xmm1
+  .byte  197,249,112,201,232                 // vpshufd       $0xe8,%xmm1,%xmm1
+  .byte  197,251,112,201,232                 // vpshuflw      $0xe8,%xmm1,%xmm1
+  .byte  196,227,121,2,193,1                 // vpblendd      $0x1,%xmm1,%xmm0,%xmm0
+  .byte  233,65,255,255,255                  // jmpq          4423 <_sk_load_4444_skx+0x1b>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  196,193,121,196,68,80,12,6          // vpinsrw       $0x6,0xc(%r8,%rdx,2),%xmm0,%xmm0
+  .byte  196,193,121,196,68,80,10,5          // vpinsrw       $0x5,0xa(%r8,%rdx,2),%xmm0,%xmm0
+  .byte  196,193,121,196,68,80,8,4           // vpinsrw       $0x4,0x8(%r8,%rdx,2),%xmm0,%xmm0
+  .byte  196,194,121,51,12,80                // vpmovzxwd     (%r8,%rdx,2),%xmm1
+  .byte  197,251,112,201,232                 // vpshuflw      $0xe8,%xmm1,%xmm1
+  .byte  197,250,112,201,232                 // vpshufhw      $0xe8,%xmm1,%xmm1
+  .byte  197,249,112,201,132                 // vpshufd       $0x84,%xmm1,%xmm1
+  .byte  197,241,109,192                     // vpunpckhqdq   %xmm0,%xmm1,%xmm0
+  .byte  233,7,255,255,255                   // jmpq          4423 <_sk_load_4444_skx+0x1b>
+  .byte  145                                 // xchg          %eax,%ecx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,171,255,255,255,159             // ljmp          *-0x60000001(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,226                             // jmpq          *%rdx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  218,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,210                             // callq         *%rdx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,198                             // inc           %esi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_4444_dst_skx
+.globl _sk_load_4444_dst_skx
+FUNCTION(_sk_load_4444_dst_skx)
+_sk_load_4444_dst_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,111                             // jne           45bc <_sk_load_4444_dst_skx+0x84>
+  .byte  196,193,122,111,36,80               // vmovdqu       (%r8,%rdx,2),%xmm4
+  .byte  196,226,125,51,252                  // vpmovzxwd     %xmm4,%ymm7
+  .byte  98,241,69,56,219,37,146,128,3,0     // vpandd        0x38092(%rip){1to8},%ymm7,%ymm4        # 3c5f4 <_sk_srcover_bgra_8888_sse2_lowp+0x3a8>
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  98,241,92,56,89,37,136,128,3,0      // vmulps        0x38088(%rip){1to8},%ymm4,%ymm4        # 3c5f8 <_sk_srcover_bgra_8888_sse2_lowp+0x3ac>
+  .byte  98,241,69,56,219,45,130,128,3,0     // vpandd        0x38082(%rip){1to8},%ymm7,%ymm5        # 3c5fc <_sk_srcover_bgra_8888_sse2_lowp+0x3b0>
+  .byte  197,252,91,237                      // vcvtdq2ps     %ymm5,%ymm5
+  .byte  98,241,84,56,89,45,120,128,3,0      // vmulps        0x38078(%rip){1to8},%ymm5,%ymm5        # 3c600 <_sk_srcover_bgra_8888_sse2_lowp+0x3b4>
+  .byte  98,241,69,56,219,53,114,128,3,0     // vpandd        0x38072(%rip){1to8},%ymm7,%ymm6        # 3c604 <_sk_srcover_bgra_8888_sse2_lowp+0x3b8>
+  .byte  197,252,91,246                      // vcvtdq2ps     %ymm6,%ymm6
+  .byte  98,241,76,56,89,53,104,128,3,0      // vmulps        0x38068(%rip){1to8},%ymm6,%ymm6        # 3c608 <_sk_srcover_bgra_8888_sse2_lowp+0x3bc>
+  .byte  98,241,69,56,219,61,98,128,3,0      // vpandd        0x38062(%rip){1to8},%ymm7,%ymm7        # 3c60c <_sk_srcover_bgra_8888_sse2_lowp+0x3c0>
+  .byte  197,252,91,255                      // vcvtdq2ps     %ymm7,%ymm7
+  .byte  98,241,68,56,89,61,88,128,3,0       // vmulps        0x38058(%rip){1to8},%ymm7,%ymm7        # 3c610 <_sk_srcover_bgra_8888_sse2_lowp+0x3c4>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  4,255                               // add           $0xff,%al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,137                             // ja            4553 <_sk_load_4444_dst_skx+0x1b>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,120,0,0,0                 // lea           0x78(%rip),%r9        # 464c <_sk_load_4444_dst_skx+0x114>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  197,249,110,224                     // vmovd         %eax,%xmm4
+  .byte  233,104,255,255,255                 // jmpq          4553 <_sk_load_4444_dst_skx+0x1b>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  196,193,89,196,100,80,4,2           // vpinsrw       $0x2,0x4(%r8,%rdx,2),%xmm4,%xmm4
+  .byte  196,194,121,52,44,80                // vpmovzxwq     (%r8,%rdx,2),%xmm5
+  .byte  197,249,112,237,232                 // vpshufd       $0xe8,%xmm5,%xmm5
+  .byte  197,251,112,237,232                 // vpshuflw      $0xe8,%xmm5,%xmm5
+  .byte  196,227,89,2,229,1                  // vpblendd      $0x1,%xmm5,%xmm4,%xmm4
+  .byte  233,65,255,255,255                  // jmpq          4553 <_sk_load_4444_dst_skx+0x1b>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  196,193,89,196,100,80,12,6          // vpinsrw       $0x6,0xc(%r8,%rdx,2),%xmm4,%xmm4
+  .byte  196,193,89,196,100,80,10,5          // vpinsrw       $0x5,0xa(%r8,%rdx,2),%xmm4,%xmm4
+  .byte  196,193,89,196,100,80,8,4           // vpinsrw       $0x4,0x8(%r8,%rdx,2),%xmm4,%xmm4
+  .byte  196,194,121,51,44,80                // vpmovzxwd     (%r8,%rdx,2),%xmm5
+  .byte  197,251,112,237,232                 // vpshuflw      $0xe8,%xmm5,%xmm5
+  .byte  197,250,112,237,232                 // vpshufhw      $0xe8,%xmm5,%xmm5
+  .byte  197,249,112,237,132                 // vpshufd       $0x84,%xmm5,%xmm5
+  .byte  197,209,109,228                     // vpunpckhqdq   %xmm4,%xmm5,%xmm4
+  .byte  233,7,255,255,255                   // jmpq          4553 <_sk_load_4444_dst_skx+0x1b>
+  .byte  145                                 // xchg          %eax,%ecx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,171,255,255,255,159             // ljmp          *-0x60000001(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,226                             // jmpq          *%rdx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  218,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,210                             // callq         *%rdx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,198                             // inc           %esi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_gather_4444_skx
+.globl _sk_gather_4444_skx
+FUNCTION(_sk_gather_4444_skx)
+_sk_gather_4444_skx:
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,88,80,12                // vpbroadcastd  0xc(%rax),%ymm2
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  197,237,254,211                     // vpaddd        %ymm3,%ymm2,%ymm2
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,188,95,192                      // vmaxps        %ymm0,%ymm8,%ymm0
+  .byte  197,252,93,194                      // vminps        %ymm2,%ymm0,%ymm0
+  .byte  196,226,125,88,80,16                // vpbroadcastd  0x10(%rax),%ymm2
+  .byte  197,237,254,211                     // vpaddd        %ymm3,%ymm2,%ymm2
+  .byte  197,188,95,201                      // vmaxps        %ymm1,%ymm8,%ymm1
+  .byte  197,244,93,202                      // vminps        %ymm2,%ymm1,%ymm1
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
+  .byte  98,242,117,56,64,72,2               // vpmulld       0x8(%rax){1to8},%ymm1,%ymm1
+  .byte  197,254,91,192                      // vcvttps2dq    %ymm0,%ymm0
+  .byte  197,245,254,192                     // vpaddd        %ymm0,%ymm1,%ymm0
+  .byte  196,227,249,22,192,1                // vpextrq       $0x1,%xmm0,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  196,193,249,126,194                 // vmovq         %xmm0,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,227,125,57,192,1                // vextracti128  $0x1,%ymm0,%xmm0
+  .byte  196,227,249,22,195,1                // vpextrq       $0x1,%xmm0,%rbx
+  .byte  65,137,222                          // mov           %ebx,%r14d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  196,193,249,126,199                 // vmovq         %xmm0,%r15
+  .byte  69,137,252                          // mov           %r15d,%r12d
+  .byte  73,193,239,32                       // shr           $0x20,%r15
+  .byte  71,15,183,20,80                     // movzwl        (%r8,%r10,2),%r10d
+  .byte  71,15,183,28,88                     // movzwl        (%r8,%r11,2),%r11d
+  .byte  196,193,121,110,195                 // vmovd         %r11d,%xmm0
+  .byte  196,193,121,196,194,1               // vpinsrw       $0x1,%r10d,%xmm0,%xmm0
+  .byte  71,15,183,12,72                     // movzwl        (%r8,%r9,2),%r9d
+  .byte  196,193,121,196,193,2               // vpinsrw       $0x2,%r9d,%xmm0,%xmm0
+  .byte  65,15,183,4,64                      // movzwl        (%r8,%rax,2),%eax
+  .byte  197,249,196,192,3                   // vpinsrw       $0x3,%eax,%xmm0,%xmm0
+  .byte  67,15,183,4,96                      // movzwl        (%r8,%r12,2),%eax
+  .byte  197,249,196,192,4                   // vpinsrw       $0x4,%eax,%xmm0,%xmm0
+  .byte  67,15,183,4,120                     // movzwl        (%r8,%r15,2),%eax
+  .byte  197,249,196,192,5                   // vpinsrw       $0x5,%eax,%xmm0,%xmm0
+  .byte  67,15,183,4,112                     // movzwl        (%r8,%r14,2),%eax
+  .byte  197,249,196,192,6                   // vpinsrw       $0x6,%eax,%xmm0,%xmm0
+  .byte  65,15,183,4,88                      // movzwl        (%r8,%rbx,2),%eax
+  .byte  197,249,196,192,7                   // vpinsrw       $0x7,%eax,%xmm0,%xmm0
+  .byte  196,226,125,51,216                  // vpmovzxwd     %xmm0,%ymm3
+  .byte  98,241,101,56,219,5,167,126,3,0     // vpandd        0x37ea7(%rip){1to8},%ymm3,%ymm0        # 3c5f4 <_sk_srcover_bgra_8888_sse2_lowp+0x3a8>
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  98,241,124,56,89,5,157,126,3,0      // vmulps        0x37e9d(%rip){1to8},%ymm0,%ymm0        # 3c5f8 <_sk_srcover_bgra_8888_sse2_lowp+0x3ac>
+  .byte  98,241,101,56,219,13,151,126,3,0    // vpandd        0x37e97(%rip){1to8},%ymm3,%ymm1        # 3c5fc <_sk_srcover_bgra_8888_sse2_lowp+0x3b0>
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  98,241,116,56,89,13,141,126,3,0     // vmulps        0x37e8d(%rip){1to8},%ymm1,%ymm1        # 3c600 <_sk_srcover_bgra_8888_sse2_lowp+0x3b4>
+  .byte  98,241,101,56,219,21,135,126,3,0    // vpandd        0x37e87(%rip){1to8},%ymm3,%ymm2        # 3c604 <_sk_srcover_bgra_8888_sse2_lowp+0x3b8>
+  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
+  .byte  98,241,108,56,89,21,125,126,3,0     // vmulps        0x37e7d(%rip){1to8},%ymm2,%ymm2        # 3c608 <_sk_srcover_bgra_8888_sse2_lowp+0x3bc>
+  .byte  98,241,101,56,219,29,119,126,3,0    // vpandd        0x37e77(%rip){1to8},%ymm3,%ymm3        # 3c60c <_sk_srcover_bgra_8888_sse2_lowp+0x3c0>
+  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
+  .byte  98,241,100,56,89,29,109,126,3,0     // vmulps        0x37e6d(%rip){1to8},%ymm3,%ymm3        # 3c610 <_sk_srcover_bgra_8888_sse2_lowp+0x3c4>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_store_4444_skx
+.globl _sk_store_4444_skx
+FUNCTION(_sk_store_4444_skx)
+_sk_store_4444_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,60,95,200                       // vmaxps        %ymm0,%ymm8,%ymm9
+  .byte  196,98,125,24,21,44,125,3,0         // vbroadcastss  0x37d2c(%rip),%ymm10        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,65,52,93,202                    // vminps        %ymm10,%ymm9,%ymm9
+  .byte  196,98,125,24,29,54,126,3,0         // vbroadcastss  0x37e36(%rip),%ymm11        # 3c614 <_sk_srcover_bgra_8888_sse2_lowp+0x3c8>
+  .byte  196,65,52,89,203                    // vmulps        %ymm11,%ymm9,%ymm9
+  .byte  196,65,125,91,201                   // vcvtps2dq     %ymm9,%ymm9
+  .byte  196,193,53,114,241,12               // vpslld        $0xc,%ymm9,%ymm9
+  .byte  197,60,95,225                       // vmaxps        %ymm1,%ymm8,%ymm12
+  .byte  196,65,28,93,226                    // vminps        %ymm10,%ymm12,%ymm12
+  .byte  196,65,28,89,227                    // vmulps        %ymm11,%ymm12,%ymm12
+  .byte  196,65,125,91,228                   // vcvtps2dq     %ymm12,%ymm12
+  .byte  196,193,29,114,244,8                // vpslld        $0x8,%ymm12,%ymm12
+  .byte  196,65,29,235,201                   // vpor          %ymm9,%ymm12,%ymm9
+  .byte  197,60,95,226                       // vmaxps        %ymm2,%ymm8,%ymm12
+  .byte  196,65,28,93,226                    // vminps        %ymm10,%ymm12,%ymm12
+  .byte  196,65,28,89,227                    // vmulps        %ymm11,%ymm12,%ymm12
+  .byte  196,65,125,91,228                   // vcvtps2dq     %ymm12,%ymm12
+  .byte  196,193,29,114,244,4                // vpslld        $0x4,%ymm12,%ymm12
+  .byte  197,60,95,195                       // vmaxps        %ymm3,%ymm8,%ymm8
+  .byte  196,65,60,93,194                    // vminps        %ymm10,%ymm8,%ymm8
+  .byte  196,65,60,89,195                    // vmulps        %ymm11,%ymm8,%ymm8
+  .byte  196,65,125,91,192                   // vcvtps2dq     %ymm8,%ymm8
+  .byte  196,65,29,235,192                   // vpor          %ymm8,%ymm12,%ymm8
+  .byte  196,65,53,235,192                   // vpor          %ymm8,%ymm9,%ymm8
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,66,57,43,193                    // vpackusdw     %xmm9,%xmm8,%xmm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,10                              // jne           485c <_sk_store_4444_skx+0xae>
+  .byte  196,65,122,127,4,80                 // vmovdqu       %xmm8,(%r8,%rdx,2)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  4,255                               // add           $0xff,%al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,242                             // ja            4858 <_sk_store_4444_skx+0xaa>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,80,0,0,0                  // lea           0x50(%rip),%r9        # 48c0 <_sk_store_4444_skx+0x112>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,67,121,21,4,80,0                // vpextrw       $0x0,%xmm8,(%r8,%rdx,2)
+  .byte  235,214                             // jmp           4858 <_sk_store_4444_skx+0xaa>
+  .byte  196,67,121,21,68,80,4,2             // vpextrw       $0x2,%xmm8,0x4(%r8,%rdx,2)
+  .byte  196,66,121,52,192                   // vpmovzxwq     %xmm8,%xmm8
+  .byte  98,82,126,8,52,4,80                 // vpmovqw       %xmm8,(%r8,%rdx,2)
+  .byte  235,192                             // jmp           4858 <_sk_store_4444_skx+0xaa>
+  .byte  196,67,121,21,68,80,12,6            // vpextrw       $0x6,%xmm8,0xc(%r8,%rdx,2)
+  .byte  196,67,121,21,68,80,10,5            // vpextrw       $0x5,%xmm8,0xa(%r8,%rdx,2)
+  .byte  196,67,121,21,68,80,8,4             // vpextrw       $0x4,%xmm8,0x8(%r8,%rdx,2)
+  .byte  196,66,121,51,192                   // vpmovzxwd     %xmm8,%xmm8
+  .byte  98,82,126,8,51,4,80                 // vpmovdw       %xmm8,(%r8,%rdx,2)
+  .byte  235,154                             // jmp           4858 <_sk_store_4444_skx+0xaa>
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  185,255,255,255,202                 // mov           $0xcaffffff,%ecx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,194                             // inc           %edx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,240                             // push          %rax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  232,255,255,255,224                 // callq         ffffffffe10048d4 <_sk_srcover_bgra_8888_sse2_lowp+0xffffffffe0fc8688>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  216,255                             // fdivr         %st(7),%st
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_8888_skx
+.globl _sk_load_8888_skx
+FUNCTION(_sk_load_8888_skx)
+_sk_load_8888_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,97                              // jne           4953 <_sk_load_8888_skx+0x77>
+  .byte  196,193,126,111,28,144              // vmovdqu       (%r8,%rdx,4),%ymm3
+  .byte  184,17,17,17,17                     // mov           $0x11111111,%eax
+  .byte  197,251,146,200                     // kmovd         %eax,%k1
+  .byte  98,241,127,169,111,195              // vmovdqu8      %ymm3,%ymm0{%k1}{z}
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,98,125,24,5,96,124,3,0          // vbroadcastss  0x37c60(%rip),%ymm8        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
+  .byte  197,245,114,211,8                   // vpsrld        $0x8,%ymm3,%ymm1
+  .byte  98,241,127,169,111,201              // vmovdqu8      %ymm1,%ymm1{%k1}{z}
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  196,193,116,89,200                  // vmulps        %ymm8,%ymm1,%ymm1
+  .byte  197,237,114,211,16                  // vpsrld        $0x10,%ymm3,%ymm2
+  .byte  98,241,127,169,111,210              // vmovdqu8      %ymm2,%ymm2{%k1}{z}
+  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
+  .byte  196,193,108,89,208                  // vmulps        %ymm8,%ymm2,%ymm2
+  .byte  197,229,114,211,24                  // vpsrld        $0x18,%ymm3,%ymm3
+  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
+  .byte  196,193,100,89,216                  // vmulps        %ymm8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  197,229,239,219                     // vpxor         %ymm3,%ymm3,%ymm3
+  .byte  4,255                               // add           $0xff,%al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,151                             // ja            48f8 <_sk_load_8888_skx+0x1c>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,137,0,0,0                 // lea           0x89(%rip),%r9        # 49f4 <_sk_load_8888_skx+0x118>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,193,121,110,28,144              // vmovd         (%r8,%rdx,4),%xmm3
+  .byte  233,121,255,255,255                 // jmpq          48f8 <_sk_load_8888_skx+0x1c>
+  .byte  196,193,121,110,68,144,8            // vmovd         0x8(%r8,%rdx,4),%xmm0
+  .byte  176,4                               // mov           $0x4,%al
+  .byte  197,251,146,200                     // kmovd         %eax,%k1
+  .byte  98,242,125,169,137,216              // vpexpandd     %ymm0,%ymm3{%k1}{z}
+  .byte  196,194,121,53,4,144                // vpmovzxdq     (%r8,%rdx,4),%xmm0
+  .byte  197,249,112,192,232                 // vpshufd       $0xe8,%xmm0,%xmm0
+  .byte  196,227,101,2,216,3                 // vpblendd      $0x3,%ymm0,%ymm3,%ymm3
+  .byte  233,80,255,255,255                  // jmpq          48f8 <_sk_load_8888_skx+0x1c>
+  .byte  196,193,121,110,68,144,24           // vmovd         0x18(%r8,%rdx,4),%xmm0
+  .byte  176,64                              // mov           $0x40,%al
+  .byte  197,251,146,200                     // kmovd         %eax,%k1
+  .byte  98,242,125,169,137,216              // vpexpandd     %ymm0,%ymm3{%k1}{z}
+  .byte  196,227,125,57,216,1                // vextracti128  $0x1,%ymm3,%xmm0
+  .byte  196,195,121,34,68,144,20,1          // vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm0,%xmm0
+  .byte  196,227,101,56,216,1                // vinserti128   $0x1,%xmm0,%ymm3,%ymm3
+  .byte  196,227,125,57,216,1                // vextracti128  $0x1,%ymm3,%xmm0
+  .byte  196,195,121,34,68,144,16,0          // vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm0,%xmm0
+  .byte  196,227,101,56,216,1                // vinserti128   $0x1,%xmm0,%ymm3,%ymm3
+  .byte  196,193,122,111,4,144               // vmovdqu       (%r8,%rdx,4),%xmm0
+  .byte  196,227,125,2,219,240               // vpblendd      $0xf0,%ymm3,%ymm0,%ymm3
+  .byte  233,4,255,255,255                   // jmpq          48f8 <_sk_load_8888_skx+0x1c>
+  .byte  128,255,255                         // cmp           $0xff,%bh
+  .byte  255,158,255,255,255,139             // lcall         *-0x74000001(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  239                                 // out           %eax,(%dx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  219,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,199                             // inc           %edi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+  .byte  180,255                             // mov           $0xff,%ah
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_8888_dst_skx
+.globl _sk_load_8888_dst_skx
+FUNCTION(_sk_load_8888_dst_skx)
+_sk_load_8888_dst_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,97                              // jne           4a87 <_sk_load_8888_dst_skx+0x77>
+  .byte  196,193,126,111,60,144              // vmovdqu       (%r8,%rdx,4),%ymm7
+  .byte  184,17,17,17,17                     // mov           $0x11111111,%eax
+  .byte  197,251,146,200                     // kmovd         %eax,%k1
+  .byte  98,241,127,169,111,231              // vmovdqu8      %ymm7,%ymm4{%k1}{z}
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  196,98,125,24,5,44,123,3,0          // vbroadcastss  0x37b2c(%rip),%ymm8        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  196,193,92,89,224                   // vmulps        %ymm8,%ymm4,%ymm4
+  .byte  197,213,114,215,8                   // vpsrld        $0x8,%ymm7,%ymm5
+  .byte  98,241,127,169,111,237              // vmovdqu8      %ymm5,%ymm5{%k1}{z}
+  .byte  197,252,91,237                      // vcvtdq2ps     %ymm5,%ymm5
+  .byte  196,193,84,89,232                   // vmulps        %ymm8,%ymm5,%ymm5
+  .byte  197,205,114,215,16                  // vpsrld        $0x10,%ymm7,%ymm6
+  .byte  98,241,127,169,111,246              // vmovdqu8      %ymm6,%ymm6{%k1}{z}
+  .byte  197,252,91,246                      // vcvtdq2ps     %ymm6,%ymm6
+  .byte  196,193,76,89,240                   // vmulps        %ymm8,%ymm6,%ymm6
+  .byte  197,197,114,215,24                  // vpsrld        $0x18,%ymm7,%ymm7
+  .byte  197,252,91,255                      // vcvtdq2ps     %ymm7,%ymm7
+  .byte  196,193,68,89,248                   // vmulps        %ymm8,%ymm7,%ymm7
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  197,197,239,255                     // vpxor         %ymm7,%ymm7,%ymm7
+  .byte  4,255                               // add           $0xff,%al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,151                             // ja            4a2c <_sk_load_8888_dst_skx+0x1c>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,137,0,0,0                 // lea           0x89(%rip),%r9        # 4b28 <_sk_load_8888_dst_skx+0x118>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,193,121,110,60,144              // vmovd         (%r8,%rdx,4),%xmm7
+  .byte  233,121,255,255,255                 // jmpq          4a2c <_sk_load_8888_dst_skx+0x1c>
+  .byte  196,193,121,110,100,144,8           // vmovd         0x8(%r8,%rdx,4),%xmm4
+  .byte  176,4                               // mov           $0x4,%al
+  .byte  197,251,146,200                     // kmovd         %eax,%k1
+  .byte  98,242,125,169,137,252              // vpexpandd     %ymm4,%ymm7{%k1}{z}
+  .byte  196,194,121,53,36,144               // vpmovzxdq     (%r8,%rdx,4),%xmm4
+  .byte  197,249,112,228,232                 // vpshufd       $0xe8,%xmm4,%xmm4
+  .byte  196,227,69,2,252,3                  // vpblendd      $0x3,%ymm4,%ymm7,%ymm7
+  .byte  233,80,255,255,255                  // jmpq          4a2c <_sk_load_8888_dst_skx+0x1c>
+  .byte  196,193,121,110,100,144,24          // vmovd         0x18(%r8,%rdx,4),%xmm4
+  .byte  176,64                              // mov           $0x40,%al
+  .byte  197,251,146,200                     // kmovd         %eax,%k1
+  .byte  98,242,125,169,137,252              // vpexpandd     %ymm4,%ymm7{%k1}{z}
+  .byte  196,227,125,57,252,1                // vextracti128  $0x1,%ymm7,%xmm4
+  .byte  196,195,89,34,100,144,20,1          // vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm4,%xmm4
+  .byte  196,227,69,56,252,1                 // vinserti128   $0x1,%xmm4,%ymm7,%ymm7
+  .byte  196,227,125,57,252,1                // vextracti128  $0x1,%ymm7,%xmm4
+  .byte  196,195,89,34,100,144,16,0          // vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm4,%xmm4
+  .byte  196,227,69,56,252,1                 // vinserti128   $0x1,%xmm4,%ymm7,%ymm7
+  .byte  196,193,122,111,36,144              // vmovdqu       (%r8,%rdx,4),%xmm4
+  .byte  196,227,93,2,255,240                // vpblendd      $0xf0,%ymm7,%ymm4,%ymm7
+  .byte  233,4,255,255,255                   // jmpq          4a2c <_sk_load_8888_dst_skx+0x1c>
+  .byte  128,255,255                         // cmp           $0xff,%bh
+  .byte  255,158,255,255,255,139             // lcall         *-0x74000001(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  239                                 // out           %eax,(%dx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  219,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,199                             // inc           %edi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+  .byte  180,255                             // mov           $0xff,%ah
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_gather_8888_skx
+.globl _sk_gather_8888_skx
+FUNCTION(_sk_gather_8888_skx)
+_sk_gather_8888_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,88,80,12                // vpbroadcastd  0xc(%rax),%ymm2
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  197,237,254,211                     // vpaddd        %ymm3,%ymm2,%ymm2
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,188,95,192                      // vmaxps        %ymm0,%ymm8,%ymm0
+  .byte  197,252,93,194                      // vminps        %ymm2,%ymm0,%ymm0
+  .byte  196,226,125,88,80,16                // vpbroadcastd  0x10(%rax),%ymm2
+  .byte  197,237,254,211                     // vpaddd        %ymm3,%ymm2,%ymm2
+  .byte  197,188,95,201                      // vmaxps        %ymm1,%ymm8,%ymm1
+  .byte  197,244,93,202                      // vminps        %ymm2,%ymm1,%ymm1
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
+  .byte  98,242,117,56,64,72,2               // vpmulld       0x8(%rax){1to8},%ymm1,%ymm1
+  .byte  197,254,91,192                      // vcvttps2dq    %ymm0,%ymm0
+  .byte  197,245,254,192                     // vpaddd        %ymm0,%ymm1,%ymm0
+  .byte  196,66,101,144,4,128                // vpgatherdd    %ymm3,(%r8,%ymm0,4),%ymm8
+  .byte  184,17,17,17,17                     // mov           $0x11111111,%eax
+  .byte  197,251,146,200                     // kmovd         %eax,%k1
+  .byte  98,209,127,169,111,192              // vmovdqu8      %ymm8,%ymm0{%k1}{z}
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,226,125,24,29,201,121,3,0       // vbroadcastss  0x379c9(%rip),%ymm3        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  197,252,89,195                      // vmulps        %ymm3,%ymm0,%ymm0
+  .byte  196,193,117,114,208,8               // vpsrld        $0x8,%ymm8,%ymm1
+  .byte  98,241,127,169,111,201              // vmovdqu8      %ymm1,%ymm1{%k1}{z}
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  197,244,89,203                      // vmulps        %ymm3,%ymm1,%ymm1
+  .byte  196,193,109,114,208,16              // vpsrld        $0x10,%ymm8,%ymm2
+  .byte  98,241,127,169,111,210              // vmovdqu8      %ymm2,%ymm2{%k1}{z}
+  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
+  .byte  197,236,89,211                      // vmulps        %ymm3,%ymm2,%ymm2
+  .byte  196,193,61,114,208,24               // vpsrld        $0x18,%ymm8,%ymm8
+  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
+  .byte  197,188,89,219                      // vmulps        %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_store_8888_skx
+.globl _sk_store_8888_skx
+FUNCTION(_sk_store_8888_skx)
+_sk_store_8888_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,60,95,200                       // vmaxps        %ymm0,%ymm8,%ymm9
+  .byte  196,98,125,24,21,239,120,3,0        // vbroadcastss  0x378ef(%rip),%ymm10        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,65,52,93,202                    // vminps        %ymm10,%ymm9,%ymm9
+  .byte  196,98,125,24,29,13,121,3,0         // vbroadcastss  0x3790d(%rip),%ymm11        # 3c528 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  .byte  196,65,52,89,203                    // vmulps        %ymm11,%ymm9,%ymm9
+  .byte  196,65,125,91,201                   // vcvtps2dq     %ymm9,%ymm9
+  .byte  197,60,95,225                       // vmaxps        %ymm1,%ymm8,%ymm12
+  .byte  196,65,28,93,226                    // vminps        %ymm10,%ymm12,%ymm12
+  .byte  196,65,28,89,227                    // vmulps        %ymm11,%ymm12,%ymm12
+  .byte  196,65,125,91,228                   // vcvtps2dq     %ymm12,%ymm12
+  .byte  196,193,29,114,244,8                // vpslld        $0x8,%ymm12,%ymm12
+  .byte  196,65,29,235,201                   // vpor          %ymm9,%ymm12,%ymm9
+  .byte  197,60,95,226                       // vmaxps        %ymm2,%ymm8,%ymm12
+  .byte  196,65,28,93,226                    // vminps        %ymm10,%ymm12,%ymm12
+  .byte  196,65,28,89,227                    // vmulps        %ymm11,%ymm12,%ymm12
+  .byte  196,65,125,91,228                   // vcvtps2dq     %ymm12,%ymm12
+  .byte  196,193,29,114,244,16               // vpslld        $0x10,%ymm12,%ymm12
+  .byte  197,60,95,195                       // vmaxps        %ymm3,%ymm8,%ymm8
+  .byte  196,65,60,93,194                    // vminps        %ymm10,%ymm8,%ymm8
+  .byte  196,65,60,89,195                    // vmulps        %ymm11,%ymm8,%ymm8
+  .byte  196,65,125,91,192                   // vcvtps2dq     %ymm8,%ymm8
+  .byte  196,193,61,114,240,24               // vpslld        $0x18,%ymm8,%ymm8
+  .byte  196,65,29,235,192                   // vpor          %ymm8,%ymm12,%ymm8
+  .byte  196,65,53,235,192                   // vpor          %ymm8,%ymm9,%ymm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,10                              // jne           4c8e <_sk_store_8888_skx+0xa4>
+  .byte  196,65,126,127,4,144                // vmovdqu       %ymm8,(%r8,%rdx,4)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  4,255                               // add           $0xff,%al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,242                             // ja            4c8a <_sk_store_8888_skx+0xa0>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,90,0,0,0                  // lea           0x5a(%rip),%r9        # 4cfc <_sk_store_8888_skx+0x112>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,65,121,126,4,144                // vmovd         %xmm8,(%r8,%rdx,4)
+  .byte  235,215                             // jmp           4c8a <_sk_store_8888_skx+0xa0>
+  .byte  196,67,121,22,68,144,8,2            // vpextrd       $0x2,%xmm8,0x8(%r8,%rdx,4)
+  .byte  196,66,121,53,192                   // vpmovzxdq     %xmm8,%xmm8
+  .byte  98,82,126,8,53,4,144                // vpmovqd       %xmm8,(%r8,%rdx,4)
+  .byte  235,193                             // jmp           4c8a <_sk_store_8888_skx+0xa0>
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,22,76,144,24,2           // vpextrd       $0x2,%xmm9,0x18(%r8,%rdx,4)
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,22,76,144,20,1           // vpextrd       $0x1,%xmm9,0x14(%r8,%rdx,4)
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,65,121,126,76,144,16            // vmovd         %xmm9,0x10(%r8,%rdx,4)
+  .byte  196,65,122,127,4,144                // vmovdqu       %xmm8,(%r8,%rdx,4)
+  .byte  235,144                             // jmp           4c8a <_sk_store_8888_skx+0xa0>
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  175                                 // scas          %es:(%rdi),%eax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  191,255,255,255,183                 // mov           $0xb7ffffff,%edi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,246                             // push          %rsi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  233,255,255,255,219                 // jmpq          ffffffffdc004d10 <_sk_srcover_bgra_8888_sse2_lowp+0xffffffffdbfc8ac4>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,205                             // dec           %ebp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_bgra_skx
+.globl _sk_load_bgra_skx
+FUNCTION(_sk_load_bgra_skx)
+_sk_load_bgra_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,97                              // jne           4d8f <_sk_load_bgra_skx+0x77>
+  .byte  196,193,126,111,28,144              // vmovdqu       (%r8,%rdx,4),%ymm3
+  .byte  184,17,17,17,17                     // mov           $0x11111111,%eax
+  .byte  197,251,146,200                     // kmovd         %eax,%k1
+  .byte  98,241,127,169,111,195              // vmovdqu8      %ymm3,%ymm0{%k1}{z}
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,98,125,24,5,36,120,3,0          // vbroadcastss  0x37824(%rip),%ymm8        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  196,193,124,89,208                  // vmulps        %ymm8,%ymm0,%ymm2
+  .byte  197,253,114,211,8                   // vpsrld        $0x8,%ymm3,%ymm0
+  .byte  98,241,127,169,111,192              // vmovdqu8      %ymm0,%ymm0{%k1}{z}
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,193,124,89,200                  // vmulps        %ymm8,%ymm0,%ymm1
+  .byte  197,253,114,211,16                  // vpsrld        $0x10,%ymm3,%ymm0
+  .byte  98,241,127,169,111,192              // vmovdqu8      %ymm0,%ymm0{%k1}{z}
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
+  .byte  197,229,114,211,24                  // vpsrld        $0x18,%ymm3,%ymm3
+  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
+  .byte  196,193,100,89,216                  // vmulps        %ymm8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  197,229,239,219                     // vpxor         %ymm3,%ymm3,%ymm3
+  .byte  4,255                               // add           $0xff,%al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,151                             // ja            4d34 <_sk_load_bgra_skx+0x1c>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,137,0,0,0                 // lea           0x89(%rip),%r9        # 4e30 <_sk_load_bgra_skx+0x118>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,193,121,110,28,144              // vmovd         (%r8,%rdx,4),%xmm3
+  .byte  233,121,255,255,255                 // jmpq          4d34 <_sk_load_bgra_skx+0x1c>
+  .byte  196,193,121,110,68,144,8            // vmovd         0x8(%r8,%rdx,4),%xmm0
+  .byte  176,4                               // mov           $0x4,%al
+  .byte  197,251,146,200                     // kmovd         %eax,%k1
+  .byte  98,242,125,169,137,216              // vpexpandd     %ymm0,%ymm3{%k1}{z}
+  .byte  196,194,121,53,4,144                // vpmovzxdq     (%r8,%rdx,4),%xmm0
+  .byte  197,249,112,192,232                 // vpshufd       $0xe8,%xmm0,%xmm0
+  .byte  196,227,101,2,216,3                 // vpblendd      $0x3,%ymm0,%ymm3,%ymm3
+  .byte  233,80,255,255,255                  // jmpq          4d34 <_sk_load_bgra_skx+0x1c>
+  .byte  196,193,121,110,68,144,24           // vmovd         0x18(%r8,%rdx,4),%xmm0
+  .byte  176,64                              // mov           $0x40,%al
+  .byte  197,251,146,200                     // kmovd         %eax,%k1
+  .byte  98,242,125,169,137,216              // vpexpandd     %ymm0,%ymm3{%k1}{z}
+  .byte  196,227,125,57,216,1                // vextracti128  $0x1,%ymm3,%xmm0
+  .byte  196,195,121,34,68,144,20,1          // vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm0,%xmm0
+  .byte  196,227,101,56,216,1                // vinserti128   $0x1,%xmm0,%ymm3,%ymm3
+  .byte  196,227,125,57,216,1                // vextracti128  $0x1,%ymm3,%xmm0
+  .byte  196,195,121,34,68,144,16,0          // vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm0,%xmm0
+  .byte  196,227,101,56,216,1                // vinserti128   $0x1,%xmm0,%ymm3,%ymm3
+  .byte  196,193,122,111,4,144               // vmovdqu       (%r8,%rdx,4),%xmm0
+  .byte  196,227,125,2,219,240               // vpblendd      $0xf0,%ymm3,%ymm0,%ymm3
+  .byte  233,4,255,255,255                   // jmpq          4d34 <_sk_load_bgra_skx+0x1c>
+  .byte  128,255,255                         // cmp           $0xff,%bh
+  .byte  255,158,255,255,255,139             // lcall         *-0x74000001(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  239                                 // out           %eax,(%dx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  219,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,199                             // inc           %edi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+  .byte  180,255                             // mov           $0xff,%ah
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_bgra_dst_skx
+.globl _sk_load_bgra_dst_skx
+FUNCTION(_sk_load_bgra_dst_skx)
+_sk_load_bgra_dst_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,97                              // jne           4ec3 <_sk_load_bgra_dst_skx+0x77>
+  .byte  196,193,126,111,60,144              // vmovdqu       (%r8,%rdx,4),%ymm7
+  .byte  184,17,17,17,17                     // mov           $0x11111111,%eax
+  .byte  197,251,146,200                     // kmovd         %eax,%k1
+  .byte  98,241,127,169,111,231              // vmovdqu8      %ymm7,%ymm4{%k1}{z}
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  196,98,125,24,5,240,118,3,0         // vbroadcastss  0x376f0(%rip),%ymm8        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  196,193,92,89,240                   // vmulps        %ymm8,%ymm4,%ymm6
+  .byte  197,221,114,215,8                   // vpsrld        $0x8,%ymm7,%ymm4
+  .byte  98,241,127,169,111,228              // vmovdqu8      %ymm4,%ymm4{%k1}{z}
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  196,193,92,89,232                   // vmulps        %ymm8,%ymm4,%ymm5
+  .byte  197,221,114,215,16                  // vpsrld        $0x10,%ymm7,%ymm4
+  .byte  98,241,127,169,111,228              // vmovdqu8      %ymm4,%ymm4{%k1}{z}
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  196,193,92,89,224                   // vmulps        %ymm8,%ymm4,%ymm4
+  .byte  197,197,114,215,24                  // vpsrld        $0x18,%ymm7,%ymm7
+  .byte  197,252,91,255                      // vcvtdq2ps     %ymm7,%ymm7
+  .byte  196,193,68,89,248                   // vmulps        %ymm8,%ymm7,%ymm7
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  197,197,239,255                     // vpxor         %ymm7,%ymm7,%ymm7
+  .byte  4,255                               // add           $0xff,%al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,151                             // ja            4e68 <_sk_load_bgra_dst_skx+0x1c>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,137,0,0,0                 // lea           0x89(%rip),%r9        # 4f64 <_sk_load_bgra_dst_skx+0x118>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,193,121,110,60,144              // vmovd         (%r8,%rdx,4),%xmm7
+  .byte  233,121,255,255,255                 // jmpq          4e68 <_sk_load_bgra_dst_skx+0x1c>
+  .byte  196,193,121,110,100,144,8           // vmovd         0x8(%r8,%rdx,4),%xmm4
+  .byte  176,4                               // mov           $0x4,%al
+  .byte  197,251,146,200                     // kmovd         %eax,%k1
+  .byte  98,242,125,169,137,252              // vpexpandd     %ymm4,%ymm7{%k1}{z}
+  .byte  196,194,121,53,36,144               // vpmovzxdq     (%r8,%rdx,4),%xmm4
+  .byte  197,249,112,228,232                 // vpshufd       $0xe8,%xmm4,%xmm4
+  .byte  196,227,69,2,252,3                  // vpblendd      $0x3,%ymm4,%ymm7,%ymm7
+  .byte  233,80,255,255,255                  // jmpq          4e68 <_sk_load_bgra_dst_skx+0x1c>
+  .byte  196,193,121,110,100,144,24          // vmovd         0x18(%r8,%rdx,4),%xmm4
+  .byte  176,64                              // mov           $0x40,%al
+  .byte  197,251,146,200                     // kmovd         %eax,%k1
+  .byte  98,242,125,169,137,252              // vpexpandd     %ymm4,%ymm7{%k1}{z}
+  .byte  196,227,125,57,252,1                // vextracti128  $0x1,%ymm7,%xmm4
+  .byte  196,195,89,34,100,144,20,1          // vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm4,%xmm4
+  .byte  196,227,69,56,252,1                 // vinserti128   $0x1,%xmm4,%ymm7,%ymm7
+  .byte  196,227,125,57,252,1                // vextracti128  $0x1,%ymm7,%xmm4
+  .byte  196,195,89,34,100,144,16,0          // vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm4,%xmm4
+  .byte  196,227,69,56,252,1                 // vinserti128   $0x1,%xmm4,%ymm7,%ymm7
+  .byte  196,193,122,111,36,144              // vmovdqu       (%r8,%rdx,4),%xmm4
+  .byte  196,227,93,2,255,240                // vpblendd      $0xf0,%ymm7,%ymm4,%ymm7
+  .byte  233,4,255,255,255                   // jmpq          4e68 <_sk_load_bgra_dst_skx+0x1c>
+  .byte  128,255,255                         // cmp           $0xff,%bh
+  .byte  255,158,255,255,255,139             // lcall         *-0x74000001(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  239                                 // out           %eax,(%dx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  219,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,199                             // inc           %edi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+  .byte  180,255                             // mov           $0xff,%ah
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_gather_bgra_skx
+.globl _sk_gather_bgra_skx
+FUNCTION(_sk_gather_bgra_skx)
+_sk_gather_bgra_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,88,80,12                // vpbroadcastd  0xc(%rax),%ymm2
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  197,237,254,211                     // vpaddd        %ymm3,%ymm2,%ymm2
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,188,95,192                      // vmaxps        %ymm0,%ymm8,%ymm0
+  .byte  197,252,93,194                      // vminps        %ymm2,%ymm0,%ymm0
+  .byte  196,226,125,88,80,16                // vpbroadcastd  0x10(%rax),%ymm2
+  .byte  197,237,254,211                     // vpaddd        %ymm3,%ymm2,%ymm2
+  .byte  197,188,95,201                      // vmaxps        %ymm1,%ymm8,%ymm1
+  .byte  197,244,93,202                      // vminps        %ymm2,%ymm1,%ymm1
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
+  .byte  98,242,117,56,64,72,2               // vpmulld       0x8(%rax){1to8},%ymm1,%ymm1
+  .byte  197,254,91,192                      // vcvttps2dq    %ymm0,%ymm0
+  .byte  197,245,254,192                     // vpaddd        %ymm0,%ymm1,%ymm0
+  .byte  196,66,101,144,4,128                // vpgatherdd    %ymm3,(%r8,%ymm0,4),%ymm8
+  .byte  184,17,17,17,17                     // mov           $0x11111111,%eax
+  .byte  197,251,146,200                     // kmovd         %eax,%k1
+  .byte  98,209,127,169,111,192              // vmovdqu8      %ymm8,%ymm0{%k1}{z}
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,226,125,24,29,141,117,3,0       // vbroadcastss  0x3758d(%rip),%ymm3        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  197,252,89,211                      // vmulps        %ymm3,%ymm0,%ymm2
+  .byte  196,193,125,114,208,8               // vpsrld        $0x8,%ymm8,%ymm0
+  .byte  98,241,127,169,111,192              // vmovdqu8      %ymm0,%ymm0{%k1}{z}
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  197,252,89,203                      // vmulps        %ymm3,%ymm0,%ymm1
+  .byte  196,193,125,114,208,16              // vpsrld        $0x10,%ymm8,%ymm0
+  .byte  98,241,127,169,111,192              // vmovdqu8      %ymm0,%ymm0{%k1}{z}
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  197,252,89,195                      // vmulps        %ymm3,%ymm0,%ymm0
+  .byte  196,193,61,114,208,24               // vpsrld        $0x18,%ymm8,%ymm8
+  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
+  .byte  197,188,89,219                      // vmulps        %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_store_bgra_skx
+.globl _sk_store_bgra_skx
+FUNCTION(_sk_store_bgra_skx)
+_sk_store_bgra_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,60,95,202                       // vmaxps        %ymm2,%ymm8,%ymm9
+  .byte  196,98,125,24,21,179,116,3,0        // vbroadcastss  0x374b3(%rip),%ymm10        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,65,52,93,202                    // vminps        %ymm10,%ymm9,%ymm9
+  .byte  196,98,125,24,29,209,116,3,0        // vbroadcastss  0x374d1(%rip),%ymm11        # 3c528 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  .byte  196,65,52,89,203                    // vmulps        %ymm11,%ymm9,%ymm9
+  .byte  196,65,125,91,201                   // vcvtps2dq     %ymm9,%ymm9
+  .byte  197,60,95,225                       // vmaxps        %ymm1,%ymm8,%ymm12
+  .byte  196,65,28,93,226                    // vminps        %ymm10,%ymm12,%ymm12
+  .byte  196,65,28,89,227                    // vmulps        %ymm11,%ymm12,%ymm12
+  .byte  196,65,125,91,228                   // vcvtps2dq     %ymm12,%ymm12
+  .byte  196,193,29,114,244,8                // vpslld        $0x8,%ymm12,%ymm12
+  .byte  196,65,29,235,201                   // vpor          %ymm9,%ymm12,%ymm9
+  .byte  197,60,95,224                       // vmaxps        %ymm0,%ymm8,%ymm12
+  .byte  196,65,28,93,226                    // vminps        %ymm10,%ymm12,%ymm12
+  .byte  196,65,28,89,227                    // vmulps        %ymm11,%ymm12,%ymm12
+  .byte  196,65,125,91,228                   // vcvtps2dq     %ymm12,%ymm12
+  .byte  196,193,29,114,244,16               // vpslld        $0x10,%ymm12,%ymm12
+  .byte  197,60,95,195                       // vmaxps        %ymm3,%ymm8,%ymm8
+  .byte  196,65,60,93,194                    // vminps        %ymm10,%ymm8,%ymm8
+  .byte  196,65,60,89,195                    // vmulps        %ymm11,%ymm8,%ymm8
+  .byte  196,65,125,91,192                   // vcvtps2dq     %ymm8,%ymm8
+  .byte  196,193,61,114,240,24               // vpslld        $0x18,%ymm8,%ymm8
+  .byte  196,65,29,235,192                   // vpor          %ymm8,%ymm12,%ymm8
+  .byte  196,65,53,235,192                   // vpor          %ymm8,%ymm9,%ymm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,10                              // jne           50ca <_sk_store_bgra_skx+0xa4>
+  .byte  196,65,126,127,4,144                // vmovdqu       %ymm8,(%r8,%rdx,4)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  4,255                               // add           $0xff,%al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,242                             // ja            50c6 <_sk_store_bgra_skx+0xa0>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,90,0,0,0                  // lea           0x5a(%rip),%r9        # 5138 <_sk_store_bgra_skx+0x112>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,65,121,126,4,144                // vmovd         %xmm8,(%r8,%rdx,4)
+  .byte  235,215                             // jmp           50c6 <_sk_store_bgra_skx+0xa0>
+  .byte  196,67,121,22,68,144,8,2            // vpextrd       $0x2,%xmm8,0x8(%r8,%rdx,4)
+  .byte  196,66,121,53,192                   // vpmovzxdq     %xmm8,%xmm8
+  .byte  98,82,126,8,53,4,144                // vpmovqd       %xmm8,(%r8,%rdx,4)
+  .byte  235,193                             // jmp           50c6 <_sk_store_bgra_skx+0xa0>
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,22,76,144,24,2           // vpextrd       $0x2,%xmm9,0x18(%r8,%rdx,4)
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,22,76,144,20,1           // vpextrd       $0x1,%xmm9,0x14(%r8,%rdx,4)
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,65,121,126,76,144,16            // vmovd         %xmm9,0x10(%r8,%rdx,4)
+  .byte  196,65,122,127,4,144                // vmovdqu       %xmm8,(%r8,%rdx,4)
+  .byte  235,144                             // jmp           50c6 <_sk_store_bgra_skx+0xa0>
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  175                                 // scas          %es:(%rdi),%eax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  191,255,255,255,183                 // mov           $0xb7ffffff,%edi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,246                             // push          %rsi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  233,255,255,255,219                 // jmpq          ffffffffdc00514c <_sk_srcover_bgra_8888_sse2_lowp+0xffffffffdbfc8f00>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,205                             // dec           %ebp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_1010102_skx
+.globl _sk_load_1010102_skx
+FUNCTION(_sk_load_1010102_skx)
+_sk_load_1010102_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,96                              // jne           51ca <_sk_load_1010102_skx+0x76>
+  .byte  196,193,126,111,28,144              // vmovdqu       (%r8,%rdx,4),%ymm3
+  .byte  196,226,125,88,21,159,116,3,0       // vpbroadcastd  0x3749f(%rip),%ymm2        # 3c618 <_sk_srcover_bgra_8888_sse2_lowp+0x3cc>
+  .byte  197,229,219,194                     // vpand         %ymm2,%ymm3,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,98,125,24,5,146,116,3,0         // vbroadcastss  0x37492(%rip),%ymm8        # 3c61c <_sk_srcover_bgra_8888_sse2_lowp+0x3d0>
+  .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
+  .byte  197,245,114,211,10                  // vpsrld        $0xa,%ymm3,%ymm1
+  .byte  197,245,219,202                     // vpand         %ymm2,%ymm1,%ymm1
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  196,193,116,89,200                  // vmulps        %ymm8,%ymm1,%ymm1
+  .byte  197,181,114,211,20                  // vpsrld        $0x14,%ymm3,%ymm9
+  .byte  197,181,219,210                     // vpand         %ymm2,%ymm9,%ymm2
+  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
+  .byte  196,193,108,89,208                  // vmulps        %ymm8,%ymm2,%ymm2
+  .byte  197,229,114,211,30                  // vpsrld        $0x1e,%ymm3,%ymm3
+  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
+  .byte  98,241,100,56,89,29,162,115,3,0     // vmulps        0x373a2(%rip){1to8},%ymm3,%ymm3        # 3c568 <_sk_srcover_bgra_8888_sse2_lowp+0x31c>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  197,229,239,219                     // vpxor         %ymm3,%ymm3,%ymm3
+  .byte  4,255                               // add           $0xff,%al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,152                             // ja            5170 <_sk_load_1010102_skx+0x1c>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,138,0,0,0                 // lea           0x8a(%rip),%r9        # 526c <_sk_load_1010102_skx+0x118>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,193,121,110,28,144              // vmovd         (%r8,%rdx,4),%xmm3
+  .byte  233,122,255,255,255                 // jmpq          5170 <_sk_load_1010102_skx+0x1c>
+  .byte  196,193,121,110,68,144,8            // vmovd         0x8(%r8,%rdx,4),%xmm0
+  .byte  176,4                               // mov           $0x4,%al
+  .byte  197,251,146,200                     // kmovd         %eax,%k1
+  .byte  98,242,125,169,137,216              // vpexpandd     %ymm0,%ymm3{%k1}{z}
+  .byte  196,194,121,53,4,144                // vpmovzxdq     (%r8,%rdx,4),%xmm0
+  .byte  197,249,112,192,232                 // vpshufd       $0xe8,%xmm0,%xmm0
+  .byte  196,227,101,2,216,3                 // vpblendd      $0x3,%ymm0,%ymm3,%ymm3
+  .byte  233,81,255,255,255                  // jmpq          5170 <_sk_load_1010102_skx+0x1c>
+  .byte  196,193,121,110,68,144,24           // vmovd         0x18(%r8,%rdx,4),%xmm0
+  .byte  176,64                              // mov           $0x40,%al
+  .byte  197,251,146,200                     // kmovd         %eax,%k1
+  .byte  98,242,125,169,137,216              // vpexpandd     %ymm0,%ymm3{%k1}{z}
+  .byte  196,227,125,57,216,1                // vextracti128  $0x1,%ymm3,%xmm0
+  .byte  196,195,121,34,68,144,20,1          // vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm0,%xmm0
+  .byte  196,227,101,56,216,1                // vinserti128   $0x1,%xmm0,%ymm3,%ymm3
+  .byte  196,227,125,57,216,1                // vextracti128  $0x1,%ymm3,%xmm0
+  .byte  196,195,121,34,68,144,16,0          // vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm0,%xmm0
+  .byte  196,227,101,56,216,1                // vinserti128   $0x1,%xmm0,%ymm3,%ymm3
+  .byte  196,193,122,111,4,144               // vmovdqu       (%r8,%rdx,4),%xmm0
+  .byte  196,227,125,2,219,240               // vpblendd      $0xf0,%ymm3,%ymm0,%ymm3
+  .byte  233,5,255,255,255                   // jmpq          5170 <_sk_load_1010102_skx+0x1c>
+  .byte  144                                 // nop
+  .byte  127,255                             // jg            526d <_sk_load_1010102_skx+0x119>
+  .byte  255                                 // (bad)
+  .byte  255,157,255,255,255,138             // lcall         *-0x75000001(%rbp)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  238                                 // out           %al,(%dx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  218,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,198                             // inc           %esi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+  .byte  179,255                             // mov           $0xff,%bl
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_1010102_dst_skx
+.globl _sk_load_1010102_dst_skx
+FUNCTION(_sk_load_1010102_dst_skx)
+_sk_load_1010102_dst_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,96                              // jne           52fe <_sk_load_1010102_dst_skx+0x76>
+  .byte  196,193,126,111,60,144              // vmovdqu       (%r8,%rdx,4),%ymm7
+  .byte  196,226,125,88,53,107,115,3,0       // vpbroadcastd  0x3736b(%rip),%ymm6        # 3c618 <_sk_srcover_bgra_8888_sse2_lowp+0x3cc>
+  .byte  197,197,219,230                     // vpand         %ymm6,%ymm7,%ymm4
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  196,98,125,24,5,94,115,3,0          // vbroadcastss  0x3735e(%rip),%ymm8        # 3c61c <_sk_srcover_bgra_8888_sse2_lowp+0x3d0>
+  .byte  196,193,92,89,224                   // vmulps        %ymm8,%ymm4,%ymm4
+  .byte  197,213,114,215,10                  // vpsrld        $0xa,%ymm7,%ymm5
+  .byte  197,213,219,238                     // vpand         %ymm6,%ymm5,%ymm5
+  .byte  197,252,91,237                      // vcvtdq2ps     %ymm5,%ymm5
+  .byte  196,193,84,89,232                   // vmulps        %ymm8,%ymm5,%ymm5
+  .byte  197,181,114,215,20                  // vpsrld        $0x14,%ymm7,%ymm9
+  .byte  197,181,219,246                     // vpand         %ymm6,%ymm9,%ymm6
+  .byte  197,252,91,246                      // vcvtdq2ps     %ymm6,%ymm6
+  .byte  196,193,76,89,240                   // vmulps        %ymm8,%ymm6,%ymm6
+  .byte  197,197,114,215,30                  // vpsrld        $0x1e,%ymm7,%ymm7
+  .byte  197,252,91,255                      // vcvtdq2ps     %ymm7,%ymm7
+  .byte  98,241,68,56,89,61,110,114,3,0      // vmulps        0x3726e(%rip){1to8},%ymm7,%ymm7        # 3c568 <_sk_srcover_bgra_8888_sse2_lowp+0x31c>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  197,197,239,255                     // vpxor         %ymm7,%ymm7,%ymm7
+  .byte  4,255                               // add           $0xff,%al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,152                             // ja            52a4 <_sk_load_1010102_dst_skx+0x1c>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,138,0,0,0                 // lea           0x8a(%rip),%r9        # 53a0 <_sk_load_1010102_dst_skx+0x118>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,193,121,110,60,144              // vmovd         (%r8,%rdx,4),%xmm7
+  .byte  233,122,255,255,255                 // jmpq          52a4 <_sk_load_1010102_dst_skx+0x1c>
+  .byte  196,193,121,110,100,144,8           // vmovd         0x8(%r8,%rdx,4),%xmm4
+  .byte  176,4                               // mov           $0x4,%al
+  .byte  197,251,146,200                     // kmovd         %eax,%k1
+  .byte  98,242,125,169,137,252              // vpexpandd     %ymm4,%ymm7{%k1}{z}
+  .byte  196,194,121,53,36,144               // vpmovzxdq     (%r8,%rdx,4),%xmm4
+  .byte  197,249,112,228,232                 // vpshufd       $0xe8,%xmm4,%xmm4
+  .byte  196,227,69,2,252,3                  // vpblendd      $0x3,%ymm4,%ymm7,%ymm7
+  .byte  233,81,255,255,255                  // jmpq          52a4 <_sk_load_1010102_dst_skx+0x1c>
+  .byte  196,193,121,110,100,144,24          // vmovd         0x18(%r8,%rdx,4),%xmm4
+  .byte  176,64                              // mov           $0x40,%al
+  .byte  197,251,146,200                     // kmovd         %eax,%k1
+  .byte  98,242,125,169,137,252              // vpexpandd     %ymm4,%ymm7{%k1}{z}
+  .byte  196,227,125,57,252,1                // vextracti128  $0x1,%ymm7,%xmm4
+  .byte  196,195,89,34,100,144,20,1          // vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm4,%xmm4
+  .byte  196,227,69,56,252,1                 // vinserti128   $0x1,%xmm4,%ymm7,%ymm7
+  .byte  196,227,125,57,252,1                // vextracti128  $0x1,%ymm7,%xmm4
+  .byte  196,195,89,34,100,144,16,0          // vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm4,%xmm4
+  .byte  196,227,69,56,252,1                 // vinserti128   $0x1,%xmm4,%ymm7,%ymm7
+  .byte  196,193,122,111,36,144              // vmovdqu       (%r8,%rdx,4),%xmm4
+  .byte  196,227,93,2,255,240                // vpblendd      $0xf0,%ymm7,%ymm4,%ymm7
+  .byte  233,5,255,255,255                   // jmpq          52a4 <_sk_load_1010102_dst_skx+0x1c>
+  .byte  144                                 // nop
+  .byte  127,255                             // jg            53a1 <_sk_load_1010102_dst_skx+0x119>
+  .byte  255                                 // (bad)
+  .byte  255,157,255,255,255,138             // lcall         *-0x75000001(%rbp)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  238                                 // out           %al,(%dx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  218,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,198                             // inc           %esi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+  .byte  179,255                             // mov           $0xff,%bl
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_gather_1010102_skx
+.globl _sk_gather_1010102_skx
+FUNCTION(_sk_gather_1010102_skx)
+_sk_gather_1010102_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,88,80,12                // vpbroadcastd  0xc(%rax),%ymm2
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  197,237,254,211                     // vpaddd        %ymm3,%ymm2,%ymm2
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,188,95,192                      // vmaxps        %ymm0,%ymm8,%ymm0
+  .byte  197,252,93,194                      // vminps        %ymm2,%ymm0,%ymm0
+  .byte  196,226,125,88,80,16                // vpbroadcastd  0x10(%rax),%ymm2
+  .byte  197,237,254,211                     // vpaddd        %ymm3,%ymm2,%ymm2
+  .byte  197,188,95,201                      // vmaxps        %ymm1,%ymm8,%ymm1
+  .byte  197,244,93,202                      // vminps        %ymm2,%ymm1,%ymm1
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
+  .byte  98,242,117,56,64,72,2               // vpmulld       0x8(%rax){1to8},%ymm1,%ymm1
+  .byte  197,254,91,192                      // vcvttps2dq    %ymm0,%ymm0
+  .byte  197,245,254,192                     // vpaddd        %ymm0,%ymm1,%ymm0
+  .byte  196,66,101,144,4,128                // vpgatherdd    %ymm3,(%r8,%ymm0,4),%ymm8
+  .byte  196,226,125,88,21,8,114,3,0         // vpbroadcastd  0x37208(%rip),%ymm2        # 3c618 <_sk_srcover_bgra_8888_sse2_lowp+0x3cc>
+  .byte  197,189,219,194                     // vpand         %ymm2,%ymm8,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,226,125,24,29,251,113,3,0       // vbroadcastss  0x371fb(%rip),%ymm3        # 3c61c <_sk_srcover_bgra_8888_sse2_lowp+0x3d0>
+  .byte  197,252,89,195                      // vmulps        %ymm3,%ymm0,%ymm0
+  .byte  196,193,117,114,208,10              // vpsrld        $0xa,%ymm8,%ymm1
+  .byte  197,245,219,202                     // vpand         %ymm2,%ymm1,%ymm1
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  197,244,89,203                      // vmulps        %ymm3,%ymm1,%ymm1
+  .byte  196,193,53,114,208,20               // vpsrld        $0x14,%ymm8,%ymm9
+  .byte  197,181,219,210                     // vpand         %ymm2,%ymm9,%ymm2
+  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
+  .byte  197,236,89,211                      // vmulps        %ymm3,%ymm2,%ymm2
+  .byte  196,193,101,114,208,30              // vpsrld        $0x1e,%ymm8,%ymm3
+  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
+  .byte  98,241,100,56,89,29,11,113,3,0      // vmulps        0x3710b(%rip){1to8},%ymm3,%ymm3        # 3c568 <_sk_srcover_bgra_8888_sse2_lowp+0x31c>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_store_1010102_skx
+.globl _sk_store_1010102_skx
+FUNCTION(_sk_store_1010102_skx)
+_sk_store_1010102_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,60,95,200                       // vmaxps        %ymm0,%ymm8,%ymm9
+  .byte  196,98,125,24,21,120,112,3,0        // vbroadcastss  0x37078(%rip),%ymm10        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,65,52,93,202                    // vminps        %ymm10,%ymm9,%ymm9
+  .byte  196,98,125,24,29,142,113,3,0        // vbroadcastss  0x3718e(%rip),%ymm11        # 3c620 <_sk_srcover_bgra_8888_sse2_lowp+0x3d4>
+  .byte  196,65,52,89,203                    // vmulps        %ymm11,%ymm9,%ymm9
+  .byte  196,65,125,91,201                   // vcvtps2dq     %ymm9,%ymm9
+  .byte  197,60,95,225                       // vmaxps        %ymm1,%ymm8,%ymm12
+  .byte  196,65,28,93,226                    // vminps        %ymm10,%ymm12,%ymm12
+  .byte  196,65,28,89,227                    // vmulps        %ymm11,%ymm12,%ymm12
+  .byte  196,65,125,91,228                   // vcvtps2dq     %ymm12,%ymm12
+  .byte  196,193,29,114,244,10               // vpslld        $0xa,%ymm12,%ymm12
+  .byte  196,65,29,235,201                   // vpor          %ymm9,%ymm12,%ymm9
+  .byte  197,60,95,226                       // vmaxps        %ymm2,%ymm8,%ymm12
+  .byte  196,65,28,93,226                    // vminps        %ymm10,%ymm12,%ymm12
+  .byte  196,65,28,89,219                    // vmulps        %ymm11,%ymm12,%ymm11
+  .byte  196,65,125,91,219                   // vcvtps2dq     %ymm11,%ymm11
+  .byte  196,193,37,114,243,20               // vpslld        $0x14,%ymm11,%ymm11
+  .byte  196,65,53,235,203                   // vpor          %ymm11,%ymm9,%ymm9
+  .byte  197,60,95,195                       // vmaxps        %ymm3,%ymm8,%ymm8
+  .byte  196,65,60,93,194                    // vminps        %ymm10,%ymm8,%ymm8
+  .byte  98,113,60,56,89,5,57,113,3,0        // vmulps        0x37139(%rip){1to8},%ymm8,%ymm8        # 3c624 <_sk_srcover_bgra_8888_sse2_lowp+0x3d8>
+  .byte  196,65,125,91,192                   // vcvtps2dq     %ymm8,%ymm8
+  .byte  196,193,61,114,240,30               // vpslld        $0x1e,%ymm8,%ymm8
+  .byte  196,65,53,235,192                   // vpor          %ymm8,%ymm9,%ymm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,10                              // jne           550a <_sk_store_1010102_skx+0xa9>
+  .byte  196,65,126,127,4,144                // vmovdqu       %ymm8,(%r8,%rdx,4)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  4,255                               // add           $0xff,%al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,242                             // ja            5506 <_sk_store_1010102_skx+0xa5>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,90,0,0,0                  // lea           0x5a(%rip),%r9        # 5578 <_sk_store_1010102_skx+0x117>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,65,121,126,4,144                // vmovd         %xmm8,(%r8,%rdx,4)
+  .byte  235,215                             // jmp           5506 <_sk_store_1010102_skx+0xa5>
+  .byte  196,67,121,22,68,144,8,2            // vpextrd       $0x2,%xmm8,0x8(%r8,%rdx,4)
+  .byte  196,66,121,53,192                   // vpmovzxdq     %xmm8,%xmm8
+  .byte  98,82,126,8,53,4,144                // vpmovqd       %xmm8,(%r8,%rdx,4)
+  .byte  235,193                             // jmp           5506 <_sk_store_1010102_skx+0xa5>
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,22,76,144,24,2           // vpextrd       $0x2,%xmm9,0x18(%r8,%rdx,4)
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,22,76,144,20,1           // vpextrd       $0x1,%xmm9,0x14(%r8,%rdx,4)
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,65,121,126,76,144,16            // vmovd         %xmm9,0x10(%r8,%rdx,4)
+  .byte  196,65,122,127,4,144                // vmovdqu       %xmm8,(%r8,%rdx,4)
+  .byte  235,144                             // jmp           5506 <_sk_store_1010102_skx+0xa5>
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  175                                 // scas          %es:(%rdi),%eax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  191,255,255,255,183                 // mov           $0xb7ffffff,%edi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,246                             // push          %rsi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  233,255,255,255,219                 // jmpq          ffffffffdc00558c <_sk_srcover_bgra_8888_sse2_lowp+0xffffffffdbfc9340>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,205                             // dec           %ebp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_f16_skx
+.globl _sk_load_f16_skx
+FUNCTION(_sk_load_f16_skx)
+_sk_load_f16_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,3                        // shl           $0x3,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,101                             // jne           560f <_sk_load_f16_skx+0x7b>
+  .byte  196,65,121,16,4,208                 // vmovupd       (%r8,%rdx,8),%xmm8
+  .byte  196,193,121,16,84,208,16            // vmovupd       0x10(%r8,%rdx,8),%xmm2
+  .byte  196,193,121,16,76,208,32            // vmovupd       0x20(%r8,%rdx,8),%xmm1
+  .byte  196,65,122,111,76,208,48            // vmovdqu       0x30(%r8,%rdx,8),%xmm9
+  .byte  197,185,97,194                      // vpunpcklwd    %xmm2,%xmm8,%xmm0
+  .byte  197,185,105,210                     // vpunpckhwd    %xmm2,%xmm8,%xmm2
+  .byte  196,65,113,97,193                   // vpunpcklwd    %xmm9,%xmm1,%xmm8
+  .byte  196,193,113,105,217                 // vpunpckhwd    %xmm9,%xmm1,%xmm3
+  .byte  197,249,97,202                      // vpunpcklwd    %xmm2,%xmm0,%xmm1
+  .byte  197,121,105,202                     // vpunpckhwd    %xmm2,%xmm0,%xmm9
+  .byte  197,185,97,195                      // vpunpcklwd    %xmm3,%xmm8,%xmm0
+  .byte  197,241,108,208                     // vpunpcklqdq   %xmm0,%xmm1,%xmm2
+  .byte  197,241,109,200                     // vpunpckhqdq   %xmm0,%xmm1,%xmm1
+  .byte  196,226,125,19,194                  // vcvtph2ps     %xmm2,%ymm0
+  .byte  196,226,125,19,201                  // vcvtph2ps     %xmm1,%ymm1
+  .byte  197,185,105,219                     // vpunpckhwd    %xmm3,%xmm8,%xmm3
+  .byte  197,177,108,211                     // vpunpcklqdq   %xmm3,%xmm9,%xmm2
+  .byte  196,226,125,19,210                  // vcvtph2ps     %xmm2,%ymm2
+  .byte  197,177,109,219                     // vpunpckhqdq   %xmm3,%xmm9,%xmm3
+  .byte  196,226,125,19,219                  // vcvtph2ps     %xmm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,65,123,16,4,208                 // vmovsd        (%r8,%rdx,8),%xmm8
+  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  116,85                              // je            5675 <_sk_load_f16_skx+0xe1>
+  .byte  196,65,57,22,68,208,8               // vmovhpd       0x8(%r8,%rdx,8),%xmm8,%xmm8
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  114,72                              // jb            5675 <_sk_load_f16_skx+0xe1>
+  .byte  196,193,123,16,84,208,16            // vmovsd        0x10(%r8,%rdx,8),%xmm2
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  116,72                              // je            5682 <_sk_load_f16_skx+0xee>
+  .byte  196,193,105,22,84,208,24            // vmovhpd       0x18(%r8,%rdx,8),%xmm2,%xmm2
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  114,59                              // jb            5682 <_sk_load_f16_skx+0xee>
+  .byte  196,193,123,16,76,208,32            // vmovsd        0x20(%r8,%rdx,8),%xmm1
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  15,132,109,255,255,255              // je            55c5 <_sk_load_f16_skx+0x31>
+  .byte  196,193,113,22,76,208,40            // vmovhpd       0x28(%r8,%rdx,8),%xmm1,%xmm1
+  .byte  72,131,255,7                        // cmp           $0x7,%rdi
+  .byte  15,130,92,255,255,255               // jb            55c5 <_sk_load_f16_skx+0x31>
+  .byte  196,65,122,126,76,208,48            // vmovq         0x30(%r8,%rdx,8),%xmm9
+  .byte  233,80,255,255,255                  // jmpq          55c5 <_sk_load_f16_skx+0x31>
+  .byte  197,241,87,201                      // vxorpd        %xmm1,%xmm1,%xmm1
+  .byte  197,233,87,210                      // vxorpd        %xmm2,%xmm2,%xmm2
+  .byte  233,67,255,255,255                  // jmpq          55c5 <_sk_load_f16_skx+0x31>
+  .byte  197,241,87,201                      // vxorpd        %xmm1,%xmm1,%xmm1
+  .byte  233,58,255,255,255                  // jmpq          55c5 <_sk_load_f16_skx+0x31>
+
+HIDDEN _sk_load_f16_dst_skx
+.globl _sk_load_f16_dst_skx
+FUNCTION(_sk_load_f16_dst_skx)
+_sk_load_f16_dst_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,3                        // shl           $0x3,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,101                             // jne           5706 <_sk_load_f16_dst_skx+0x7b>
+  .byte  196,65,121,16,4,208                 // vmovupd       (%r8,%rdx,8),%xmm8
+  .byte  196,193,121,16,116,208,16           // vmovupd       0x10(%r8,%rdx,8),%xmm6
+  .byte  196,193,121,16,108,208,32           // vmovupd       0x20(%r8,%rdx,8),%xmm5
+  .byte  196,65,122,111,76,208,48            // vmovdqu       0x30(%r8,%rdx,8),%xmm9
+  .byte  197,185,97,230                      // vpunpcklwd    %xmm6,%xmm8,%xmm4
+  .byte  197,185,105,246                     // vpunpckhwd    %xmm6,%xmm8,%xmm6
+  .byte  196,65,81,97,193                    // vpunpcklwd    %xmm9,%xmm5,%xmm8
+  .byte  196,193,81,105,249                  // vpunpckhwd    %xmm9,%xmm5,%xmm7
+  .byte  197,217,97,238                      // vpunpcklwd    %xmm6,%xmm4,%xmm5
+  .byte  197,89,105,206                      // vpunpckhwd    %xmm6,%xmm4,%xmm9
+  .byte  197,185,97,231                      // vpunpcklwd    %xmm7,%xmm8,%xmm4
+  .byte  197,209,108,244                     // vpunpcklqdq   %xmm4,%xmm5,%xmm6
+  .byte  197,209,109,236                     // vpunpckhqdq   %xmm4,%xmm5,%xmm5
+  .byte  196,226,125,19,230                  // vcvtph2ps     %xmm6,%ymm4
+  .byte  196,226,125,19,237                  // vcvtph2ps     %xmm5,%ymm5
+  .byte  197,185,105,255                     // vpunpckhwd    %xmm7,%xmm8,%xmm7
+  .byte  197,177,108,247                     // vpunpcklqdq   %xmm7,%xmm9,%xmm6
+  .byte  196,226,125,19,246                  // vcvtph2ps     %xmm6,%ymm6
+  .byte  197,177,109,255                     // vpunpckhqdq   %xmm7,%xmm9,%xmm7
+  .byte  196,226,125,19,255                  // vcvtph2ps     %xmm7,%ymm7
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,65,123,16,4,208                 // vmovsd        (%r8,%rdx,8),%xmm8
+  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  116,85                              // je            576c <_sk_load_f16_dst_skx+0xe1>
+  .byte  196,65,57,22,68,208,8               // vmovhpd       0x8(%r8,%rdx,8),%xmm8,%xmm8
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  114,72                              // jb            576c <_sk_load_f16_dst_skx+0xe1>
+  .byte  196,193,123,16,116,208,16           // vmovsd        0x10(%r8,%rdx,8),%xmm6
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  116,72                              // je            5779 <_sk_load_f16_dst_skx+0xee>
+  .byte  196,193,73,22,116,208,24            // vmovhpd       0x18(%r8,%rdx,8),%xmm6,%xmm6
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  114,59                              // jb            5779 <_sk_load_f16_dst_skx+0xee>
+  .byte  196,193,123,16,108,208,32           // vmovsd        0x20(%r8,%rdx,8),%xmm5
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  15,132,109,255,255,255              // je            56bc <_sk_load_f16_dst_skx+0x31>
+  .byte  196,193,81,22,108,208,40            // vmovhpd       0x28(%r8,%rdx,8),%xmm5,%xmm5
+  .byte  72,131,255,7                        // cmp           $0x7,%rdi
+  .byte  15,130,92,255,255,255               // jb            56bc <_sk_load_f16_dst_skx+0x31>
+  .byte  196,65,122,126,76,208,48            // vmovq         0x30(%r8,%rdx,8),%xmm9
+  .byte  233,80,255,255,255                  // jmpq          56bc <_sk_load_f16_dst_skx+0x31>
+  .byte  197,209,87,237                      // vxorpd        %xmm5,%xmm5,%xmm5
+  .byte  197,201,87,246                      // vxorpd        %xmm6,%xmm6,%xmm6
+  .byte  233,67,255,255,255                  // jmpq          56bc <_sk_load_f16_dst_skx+0x31>
+  .byte  197,209,87,237                      // vxorpd        %xmm5,%xmm5,%xmm5
+  .byte  233,58,255,255,255                  // jmpq          56bc <_sk_load_f16_dst_skx+0x31>
+
+HIDDEN _sk_gather_f16_skx
+.globl _sk_gather_f16_skx
+FUNCTION(_sk_gather_f16_skx)
+_sk_gather_f16_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,88,80,12                // vpbroadcastd  0xc(%rax),%ymm2
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  197,237,254,211                     // vpaddd        %ymm3,%ymm2,%ymm2
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,188,95,192                      // vmaxps        %ymm0,%ymm8,%ymm0
+  .byte  197,252,93,194                      // vminps        %ymm2,%ymm0,%ymm0
+  .byte  196,226,125,88,80,16                // vpbroadcastd  0x10(%rax),%ymm2
+  .byte  197,237,254,211                     // vpaddd        %ymm3,%ymm2,%ymm2
+  .byte  197,188,95,201                      // vmaxps        %ymm1,%ymm8,%ymm1
+  .byte  197,244,93,202                      // vminps        %ymm2,%ymm1,%ymm1
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
+  .byte  98,242,117,56,64,72,2               // vpmulld       0x8(%rax){1to8},%ymm1,%ymm1
+  .byte  197,254,91,192                      // vcvttps2dq    %ymm0,%ymm0
+  .byte  197,245,254,192                     // vpaddd        %ymm0,%ymm1,%ymm0
+  .byte  197,245,118,201                     // vpcmpeqd      %ymm1,%ymm1,%ymm1
+  .byte  197,237,239,210                     // vpxor         %ymm2,%ymm2,%ymm2
+  .byte  196,194,245,144,20,192              // vpgatherdq    %ymm1,(%r8,%xmm0,8),%ymm2
+  .byte  196,227,125,57,192,1                // vextracti128  $0x1,%ymm0,%xmm0
+  .byte  196,66,229,144,4,192                // vpgatherdq    %ymm3,(%r8,%xmm0,8),%ymm8
+  .byte  98,211,253,72,58,192,1              // vinserti64x4  $0x1,%ymm8,%zmm0,%zmm0
+  .byte  98,211,237,72,58,200,1              // vinserti64x4  $0x1,%ymm8,%zmm2,%zmm1
+  .byte  98,243,253,72,57,202,1              // vextracti64x2 $0x1,%zmm1,%xmm2
+  .byte  98,243,253,72,57,195,2              // vextracti64x2 $0x2,%zmm0,%xmm3
+  .byte  98,243,253,72,57,192,3              // vextracti64x2 $0x3,%zmm0,%xmm0
+  .byte  197,113,97,194                      // vpunpcklwd    %xmm2,%xmm1,%xmm8
+  .byte  197,241,105,202                     // vpunpckhwd    %xmm2,%xmm1,%xmm1
+  .byte  197,225,97,208                      // vpunpcklwd    %xmm0,%xmm3,%xmm2
+  .byte  197,225,105,216                     // vpunpckhwd    %xmm0,%xmm3,%xmm3
+  .byte  197,185,97,193                      // vpunpcklwd    %xmm1,%xmm8,%xmm0
+  .byte  197,57,105,193                      // vpunpckhwd    %xmm1,%xmm8,%xmm8
+  .byte  197,233,97,203                      // vpunpcklwd    %xmm3,%xmm2,%xmm1
+  .byte  197,121,108,201                     // vpunpcklqdq   %xmm1,%xmm0,%xmm9
+  .byte  197,249,109,201                     // vpunpckhqdq   %xmm1,%xmm0,%xmm1
+  .byte  196,194,125,19,193                  // vcvtph2ps     %xmm9,%ymm0
+  .byte  196,226,125,19,201                  // vcvtph2ps     %xmm1,%ymm1
+  .byte  197,233,105,219                     // vpunpckhwd    %xmm3,%xmm2,%xmm3
+  .byte  197,185,108,211                     // vpunpcklqdq   %xmm3,%xmm8,%xmm2
+  .byte  196,226,125,19,210                  // vcvtph2ps     %xmm2,%ymm2
+  .byte  197,185,109,219                     // vpunpckhqdq   %xmm3,%xmm8,%xmm3
+  .byte  196,226,125,19,219                  // vcvtph2ps     %xmm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_store_f16_skx
+.globl _sk_store_f16_skx
+FUNCTION(_sk_store_f16_skx)
+_sk_store_f16_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,3                        // shl           $0x3,%r8
+  .byte  196,195,125,29,192,4                // vcvtps2ph     $0x4,%ymm0,%xmm8
+  .byte  196,195,125,29,201,4                // vcvtps2ph     $0x4,%ymm1,%xmm9
+  .byte  196,195,125,29,210,4                // vcvtps2ph     $0x4,%ymm2,%xmm10
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  196,195,125,29,219,4                // vcvtps2ph     $0x4,%ymm3,%xmm11
+  .byte  196,65,57,97,225                    // vpunpcklwd    %xmm9,%xmm8,%xmm12
+  .byte  196,65,57,105,193                   // vpunpckhwd    %xmm9,%xmm8,%xmm8
+  .byte  196,65,41,97,203                    // vpunpcklwd    %xmm11,%xmm10,%xmm9
+  .byte  196,65,41,105,235                   // vpunpckhwd    %xmm11,%xmm10,%xmm13
+  .byte  196,65,25,98,217                    // vpunpckldq    %xmm9,%xmm12,%xmm11
+  .byte  196,65,25,106,209                   // vpunpckhdq    %xmm9,%xmm12,%xmm10
+  .byte  196,65,57,98,205                    // vpunpckldq    %xmm13,%xmm8,%xmm9
+  .byte  196,65,57,106,197                   // vpunpckhdq    %xmm13,%xmm8,%xmm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,31                              // jne           58c1 <_sk_store_f16_skx+0x75>
+  .byte  196,65,122,127,28,208               // vmovdqu       %xmm11,(%r8,%rdx,8)
+  .byte  196,65,122,127,84,208,16            // vmovdqu       %xmm10,0x10(%r8,%rdx,8)
+  .byte  196,65,122,127,76,208,32            // vmovdqu       %xmm9,0x20(%r8,%rdx,8)
+  .byte  196,65,122,127,68,208,48            // vmovdqu       %xmm8,0x30(%r8,%rdx,8)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,65,121,214,28,208               // vmovq         %xmm11,(%r8,%rdx,8)
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  116,240                             // je            58bd <_sk_store_f16_skx+0x71>
+  .byte  196,65,121,23,92,208,8              // vmovhpd       %xmm11,0x8(%r8,%rdx,8)
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  114,227                             // jb            58bd <_sk_store_f16_skx+0x71>
+  .byte  196,65,121,214,84,208,16            // vmovq         %xmm10,0x10(%r8,%rdx,8)
+  .byte  116,218                             // je            58bd <_sk_store_f16_skx+0x71>
+  .byte  196,65,121,23,84,208,24             // vmovhpd       %xmm10,0x18(%r8,%rdx,8)
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  114,205                             // jb            58bd <_sk_store_f16_skx+0x71>
+  .byte  196,65,121,214,76,208,32            // vmovq         %xmm9,0x20(%r8,%rdx,8)
+  .byte  116,196                             // je            58bd <_sk_store_f16_skx+0x71>
+  .byte  196,65,121,23,76,208,40             // vmovhpd       %xmm9,0x28(%r8,%rdx,8)
+  .byte  72,131,255,7                        // cmp           $0x7,%rdi
+  .byte  114,183                             // jb            58bd <_sk_store_f16_skx+0x71>
+  .byte  196,65,121,214,68,208,48            // vmovq         %xmm8,0x30(%r8,%rdx,8)
+  .byte  235,174                             // jmp           58bd <_sk_store_f16_skx+0x71>
+
+HIDDEN _sk_load_u16_be_skx
+.globl _sk_load_u16_be_skx
+FUNCTION(_sk_load_u16_be_skx)
+_sk_load_u16_be_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,141,12,149,0,0,0,0               // lea           0x0(,%rdx,4),%r9
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,204,0,0,0                    // jne           59fc <_sk_load_u16_be_skx+0xed>
+  .byte  196,1,121,16,4,72                   // vmovupd       (%r8,%r9,2),%xmm8
+  .byte  196,129,121,16,84,72,16             // vmovupd       0x10(%r8,%r9,2),%xmm2
+  .byte  196,129,121,16,92,72,32             // vmovupd       0x20(%r8,%r9,2),%xmm3
+  .byte  196,1,122,111,76,72,48              // vmovdqu       0x30(%r8,%r9,2),%xmm9
+  .byte  197,185,97,194                      // vpunpcklwd    %xmm2,%xmm8,%xmm0
+  .byte  197,185,105,210                     // vpunpckhwd    %xmm2,%xmm8,%xmm2
+  .byte  196,193,97,97,201                   // vpunpcklwd    %xmm9,%xmm3,%xmm1
+  .byte  196,193,97,105,217                  // vpunpckhwd    %xmm9,%xmm3,%xmm3
+  .byte  197,121,97,194                      // vpunpcklwd    %xmm2,%xmm0,%xmm8
+  .byte  197,121,105,202                     // vpunpckhwd    %xmm2,%xmm0,%xmm9
+  .byte  197,241,97,211                      // vpunpcklwd    %xmm3,%xmm1,%xmm2
+  .byte  197,113,105,219                     // vpunpckhwd    %xmm3,%xmm1,%xmm11
+  .byte  197,185,108,194                     // vpunpcklqdq   %xmm2,%xmm8,%xmm0
+  .byte  197,241,113,240,8                   // vpsllw        $0x8,%xmm0,%xmm1
+  .byte  197,249,113,208,8                   // vpsrlw        $0x8,%xmm0,%xmm0
+  .byte  197,241,235,192                     // vpor          %xmm0,%xmm1,%xmm0
+  .byte  196,226,125,51,192                  // vpmovzxwd     %xmm0,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,98,125,24,21,255,107,3,0        // vbroadcastss  0x36bff(%rip),%ymm10        # 3c590 <_sk_srcover_bgra_8888_sse2_lowp+0x344>
+  .byte  196,193,124,89,194                  // vmulps        %ymm10,%ymm0,%ymm0
+  .byte  197,185,109,202                     // vpunpckhqdq   %xmm2,%xmm8,%xmm1
+  .byte  197,233,113,241,8                   // vpsllw        $0x8,%xmm1,%xmm2
+  .byte  197,241,113,209,8                   // vpsrlw        $0x8,%xmm1,%xmm1
+  .byte  197,233,235,201                     // vpor          %xmm1,%xmm2,%xmm1
+  .byte  196,226,125,51,201                  // vpmovzxwd     %xmm1,%ymm1
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  196,193,116,89,202                  // vmulps        %ymm10,%ymm1,%ymm1
+  .byte  196,193,49,108,211                  // vpunpcklqdq   %xmm11,%xmm9,%xmm2
+  .byte  197,225,113,242,8                   // vpsllw        $0x8,%xmm2,%xmm3
+  .byte  197,233,113,210,8                   // vpsrlw        $0x8,%xmm2,%xmm2
+  .byte  197,225,235,210                     // vpor          %xmm2,%xmm3,%xmm2
+  .byte  196,226,125,51,210                  // vpmovzxwd     %xmm2,%ymm2
+  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
+  .byte  196,193,108,89,210                  // vmulps        %ymm10,%ymm2,%ymm2
+  .byte  196,193,49,109,219                  // vpunpckhqdq   %xmm11,%xmm9,%xmm3
+  .byte  197,185,113,243,8                   // vpsllw        $0x8,%xmm3,%xmm8
+  .byte  197,225,113,211,8                   // vpsrlw        $0x8,%xmm3,%xmm3
+  .byte  197,185,235,219                     // vpor          %xmm3,%xmm8,%xmm3
+  .byte  196,226,125,51,219                  // vpmovzxwd     %xmm3,%ymm3
+  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
+  .byte  196,193,100,89,218                  // vmulps        %ymm10,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,1,123,16,4,72                   // vmovsd        (%r8,%r9,2),%xmm8
+  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  116,85                              // je            5a62 <_sk_load_u16_be_skx+0x153>
+  .byte  196,1,57,22,68,72,8                 // vmovhpd       0x8(%r8,%r9,2),%xmm8,%xmm8
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  114,72                              // jb            5a62 <_sk_load_u16_be_skx+0x153>
+  .byte  196,129,123,16,84,72,16             // vmovsd        0x10(%r8,%r9,2),%xmm2
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  116,72                              // je            5a6f <_sk_load_u16_be_skx+0x160>
+  .byte  196,129,105,22,84,72,24             // vmovhpd       0x18(%r8,%r9,2),%xmm2,%xmm2
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  114,59                              // jb            5a6f <_sk_load_u16_be_skx+0x160>
+  .byte  196,129,123,16,92,72,32             // vmovsd        0x20(%r8,%r9,2),%xmm3
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  15,132,6,255,255,255                // je            594b <_sk_load_u16_be_skx+0x3c>
+  .byte  196,129,97,22,92,72,40              // vmovhpd       0x28(%r8,%r9,2),%xmm3,%xmm3
+  .byte  72,131,255,7                        // cmp           $0x7,%rdi
+  .byte  15,130,245,254,255,255              // jb            594b <_sk_load_u16_be_skx+0x3c>
+  .byte  196,1,122,126,76,72,48              // vmovq         0x30(%r8,%r9,2),%xmm9
+  .byte  233,233,254,255,255                 // jmpq          594b <_sk_load_u16_be_skx+0x3c>
+  .byte  197,225,87,219                      // vxorpd        %xmm3,%xmm3,%xmm3
+  .byte  197,233,87,210                      // vxorpd        %xmm2,%xmm2,%xmm2
+  .byte  233,220,254,255,255                 // jmpq          594b <_sk_load_u16_be_skx+0x3c>
+  .byte  197,225,87,219                      // vxorpd        %xmm3,%xmm3,%xmm3
+  .byte  233,211,254,255,255                 // jmpq          594b <_sk_load_u16_be_skx+0x3c>
+
+HIDDEN _sk_load_rgb_u16_be_skx
+.globl _sk_load_rgb_u16_be_skx
+FUNCTION(_sk_load_rgb_u16_be_skx)
+_sk_load_rgb_u16_be_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,141,12,82                        // lea           (%rdx,%rdx,2),%r9
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,202,0,0,0                    // jne           5b5f <_sk_load_rgb_u16_be_skx+0xe7>
+  .byte  196,1,121,16,28,72                  // vmovupd       (%r8,%r9,2),%xmm11
+  .byte  196,129,121,16,92,72,12             // vmovupd       0xc(%r8,%r9,2),%xmm3
+  .byte  196,129,121,16,84,72,24             // vmovupd       0x18(%r8,%r9,2),%xmm2
+  .byte  98,145,125,8,115,92,72,2,4          // vpsrldq       $0x4,0x20(%r8,%r9,2),%xmm0
+  .byte  196,193,57,115,219,6                // vpsrldq       $0x6,%xmm11,%xmm8
+  .byte  197,169,115,219,6                   // vpsrldq       $0x6,%xmm3,%xmm10
+  .byte  197,241,115,218,6                   // vpsrldq       $0x6,%xmm2,%xmm1
+  .byte  197,177,115,216,6                   // vpsrldq       $0x6,%xmm0,%xmm9
+  .byte  196,193,113,97,201                  // vpunpcklwd    %xmm9,%xmm1,%xmm1
+  .byte  197,233,97,192                      // vpunpcklwd    %xmm0,%xmm2,%xmm0
+  .byte  196,193,57,97,210                   // vpunpcklwd    %xmm10,%xmm8,%xmm2
+  .byte  197,161,97,219                      // vpunpcklwd    %xmm3,%xmm11,%xmm3
+  .byte  197,97,97,194                       // vpunpcklwd    %xmm2,%xmm3,%xmm8
+  .byte  197,225,105,210                     // vpunpckhwd    %xmm2,%xmm3,%xmm2
+  .byte  197,249,97,217                      // vpunpcklwd    %xmm1,%xmm0,%xmm3
+  .byte  197,249,105,193                     // vpunpckhwd    %xmm1,%xmm0,%xmm0
+  .byte  197,233,108,208                     // vpunpcklqdq   %xmm0,%xmm2,%xmm2
+  .byte  197,185,108,195                     // vpunpcklqdq   %xmm3,%xmm8,%xmm0
+  .byte  197,241,113,240,8                   // vpsllw        $0x8,%xmm0,%xmm1
+  .byte  197,249,113,208,8                   // vpsrlw        $0x8,%xmm0,%xmm0
+  .byte  197,241,235,192                     // vpor          %xmm0,%xmm1,%xmm0
+  .byte  196,226,125,51,192                  // vpmovzxwd     %xmm0,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,98,125,24,13,127,106,3,0        // vbroadcastss  0x36a7f(%rip),%ymm9        # 3c590 <_sk_srcover_bgra_8888_sse2_lowp+0x344>
+  .byte  196,193,124,89,193                  // vmulps        %ymm9,%ymm0,%ymm0
+  .byte  197,185,109,203                     // vpunpckhqdq   %xmm3,%xmm8,%xmm1
+  .byte  197,225,113,241,8                   // vpsllw        $0x8,%xmm1,%xmm3
+  .byte  197,241,113,209,8                   // vpsrlw        $0x8,%xmm1,%xmm1
+  .byte  197,225,235,201                     // vpor          %xmm1,%xmm3,%xmm1
+  .byte  196,226,125,51,201                  // vpmovzxwd     %xmm1,%ymm1
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  196,193,116,89,201                  // vmulps        %ymm9,%ymm1,%ymm1
+  .byte  197,225,113,242,8                   // vpsllw        $0x8,%xmm2,%xmm3
+  .byte  197,233,113,210,8                   // vpsrlw        $0x8,%xmm2,%xmm2
+  .byte  197,225,235,210                     // vpor          %xmm2,%xmm3,%xmm2
+  .byte  196,226,125,51,210                  // vpmovzxwd     %xmm2,%ymm2
+  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
+  .byte  196,193,108,89,209                  // vmulps        %ymm9,%ymm2,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,29,159,105,3,0       // vbroadcastss  0x3699f(%rip),%ymm3        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,129,121,110,4,72                // vmovd         (%r8,%r9,2),%xmm0
+  .byte  196,65,49,87,201                    // vxorpd        %xmm9,%xmm9,%xmm9
+  .byte  196,1,121,196,92,72,4,2             // vpinsrw       $0x2,0x4(%r8,%r9,2),%xmm0,%xmm11
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  117,31                              // jne           5b97 <_sk_load_rgb_u16_be_skx+0x11f>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  197,241,239,201                     // vpxor         %xmm1,%xmm1,%xmm1
+  .byte  197,233,239,210                     // vpxor         %xmm2,%xmm2,%xmm2
+  .byte  196,65,41,239,210                   // vpxor         %xmm10,%xmm10,%xmm10
+  .byte  197,225,239,219                     // vpxor         %xmm3,%xmm3,%xmm3
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  233,48,255,255,255                  // jmpq          5ac7 <_sk_load_rgb_u16_be_skx+0x4f>
+  .byte  196,129,121,110,68,72,6             // vmovd         0x6(%r8,%r9,2),%xmm0
+  .byte  196,65,49,87,201                    // vxorpd        %xmm9,%xmm9,%xmm9
+  .byte  196,1,121,196,68,72,10,2            // vpinsrw       $0x2,0xa(%r8,%r9,2),%xmm0,%xmm8
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  114,48                              // jb            5be1 <_sk_load_rgb_u16_be_skx+0x169>
+  .byte  196,129,121,110,68,72,12            // vmovd         0xc(%r8,%r9,2),%xmm0
+  .byte  196,65,49,87,201                    // vxorpd        %xmm9,%xmm9,%xmm9
+  .byte  196,129,121,196,92,72,16,2          // vpinsrw       $0x2,0x10(%r8,%r9,2),%xmm0,%xmm3
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  117,48                              // jne           5bfb <_sk_load_rgb_u16_be_skx+0x183>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  197,241,239,201                     // vpxor         %xmm1,%xmm1,%xmm1
+  .byte  197,233,239,210                     // vpxor         %xmm2,%xmm2,%xmm2
+  .byte  196,65,41,239,210                   // vpxor         %xmm10,%xmm10,%xmm10
+  .byte  233,230,254,255,255                 // jmpq          5ac7 <_sk_load_rgb_u16_be_skx+0x4f>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  197,241,239,201                     // vpxor         %xmm1,%xmm1,%xmm1
+  .byte  197,233,239,210                     // vpxor         %xmm2,%xmm2,%xmm2
+  .byte  196,65,41,239,210                   // vpxor         %xmm10,%xmm10,%xmm10
+  .byte  197,225,239,219                     // vpxor         %xmm3,%xmm3,%xmm3
+  .byte  233,204,254,255,255                 // jmpq          5ac7 <_sk_load_rgb_u16_be_skx+0x4f>
+  .byte  196,129,121,110,68,72,18            // vmovd         0x12(%r8,%r9,2),%xmm0
+  .byte  196,65,49,87,201                    // vxorpd        %xmm9,%xmm9,%xmm9
+  .byte  196,1,121,196,84,72,22,2            // vpinsrw       $0x2,0x16(%r8,%r9,2),%xmm0,%xmm10
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  114,39                              // jb            5c3c <_sk_load_rgb_u16_be_skx+0x1c4>
+  .byte  196,129,121,110,68,72,24            // vmovd         0x18(%r8,%r9,2),%xmm0
+  .byte  196,65,49,87,201                    // vxorpd        %xmm9,%xmm9,%xmm9
+  .byte  196,129,121,196,84,72,28,2          // vpinsrw       $0x2,0x1c(%r8,%r9,2),%xmm0,%xmm2
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  117,30                              // jne           5c4d <_sk_load_rgb_u16_be_skx+0x1d5>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  197,241,239,201                     // vpxor         %xmm1,%xmm1,%xmm1
+  .byte  233,139,254,255,255                 // jmpq          5ac7 <_sk_load_rgb_u16_be_skx+0x4f>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  197,241,239,201                     // vpxor         %xmm1,%xmm1,%xmm1
+  .byte  197,233,239,210                     // vpxor         %xmm2,%xmm2,%xmm2
+  .byte  233,122,254,255,255                 // jmpq          5ac7 <_sk_load_rgb_u16_be_skx+0x4f>
+  .byte  196,129,121,110,68,72,30            // vmovd         0x1e(%r8,%r9,2),%xmm0
+  .byte  196,65,49,87,201                    // vxorpd        %xmm9,%xmm9,%xmm9
+  .byte  196,129,121,196,76,72,34,2          // vpinsrw       $0x2,0x22(%r8,%r9,2),%xmm0,%xmm1
+  .byte  72,131,255,7                        // cmp           $0x7,%rdi
+  .byte  114,25                              // jb            5c80 <_sk_load_rgb_u16_be_skx+0x208>
+  .byte  196,129,121,110,68,72,36            // vmovd         0x24(%r8,%r9,2),%xmm0
+  .byte  196,65,49,87,201                    // vxorpd        %xmm9,%xmm9,%xmm9
+  .byte  196,129,121,196,68,72,40,2          // vpinsrw       $0x2,0x28(%r8,%r9,2),%xmm0,%xmm0
+  .byte  233,71,254,255,255                  // jmpq          5ac7 <_sk_load_rgb_u16_be_skx+0x4f>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  233,62,254,255,255                  // jmpq          5ac7 <_sk_load_rgb_u16_be_skx+0x4f>
+
+HIDDEN _sk_store_u16_be_skx
+.globl _sk_store_u16_be_skx
+FUNCTION(_sk_store_u16_be_skx)
+_sk_store_u16_be_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,141,4,149,0,0,0,0                // lea           0x0(,%rdx,4),%r8
+  .byte  76,99,72,8                          // movslq        0x8(%rax),%r9
+  .byte  76,15,175,201                       // imul          %rcx,%r9
+  .byte  77,1,201                            // add           %r9,%r9
+  .byte  76,3,8                              // add           (%rax),%r9
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,60,95,200                       // vmaxps        %ymm0,%ymm8,%ymm9
+  .byte  196,98,125,24,21,73,104,3,0         // vbroadcastss  0x36849(%rip),%ymm10        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,65,52,93,202                    // vminps        %ymm10,%ymm9,%ymm9
+  .byte  196,98,125,24,29,103,105,3,0        // vbroadcastss  0x36967(%rip),%ymm11        # 3c628 <_sk_srcover_bgra_8888_sse2_lowp+0x3dc>
+  .byte  196,65,52,89,203                    // vmulps        %ymm11,%ymm9,%ymm9
+  .byte  196,65,125,91,201                   // vcvtps2dq     %ymm9,%ymm9
+  .byte  196,67,125,57,204,1                 // vextracti128  $0x1,%ymm9,%xmm12
+  .byte  196,66,49,43,204                    // vpackusdw     %xmm12,%xmm9,%xmm9
+  .byte  196,193,25,113,241,8                // vpsllw        $0x8,%xmm9,%xmm12
+  .byte  196,193,49,113,209,8                // vpsrlw        $0x8,%xmm9,%xmm9
+  .byte  196,65,25,235,201                   // vpor          %xmm9,%xmm12,%xmm9
+  .byte  197,60,95,225                       // vmaxps        %ymm1,%ymm8,%ymm12
+  .byte  196,65,28,93,226                    // vminps        %ymm10,%ymm12,%ymm12
+  .byte  196,65,28,89,227                    // vmulps        %ymm11,%ymm12,%ymm12
+  .byte  196,65,125,91,228                   // vcvtps2dq     %ymm12,%ymm12
+  .byte  196,67,125,57,229,1                 // vextracti128  $0x1,%ymm12,%xmm13
+  .byte  196,66,25,43,229                    // vpackusdw     %xmm13,%xmm12,%xmm12
+  .byte  196,193,17,113,244,8                // vpsllw        $0x8,%xmm12,%xmm13
+  .byte  196,193,25,113,212,8                // vpsrlw        $0x8,%xmm12,%xmm12
+  .byte  196,65,17,235,228                   // vpor          %xmm12,%xmm13,%xmm12
+  .byte  197,60,95,234                       // vmaxps        %ymm2,%ymm8,%ymm13
+  .byte  196,65,20,93,234                    // vminps        %ymm10,%ymm13,%ymm13
+  .byte  196,65,20,89,235                    // vmulps        %ymm11,%ymm13,%ymm13
+  .byte  196,65,125,91,237                   // vcvtps2dq     %ymm13,%ymm13
+  .byte  196,67,125,57,238,1                 // vextracti128  $0x1,%ymm13,%xmm14
+  .byte  196,66,17,43,238                    // vpackusdw     %xmm14,%xmm13,%xmm13
+  .byte  196,193,9,113,245,8                 // vpsllw        $0x8,%xmm13,%xmm14
+  .byte  196,193,17,113,213,8                // vpsrlw        $0x8,%xmm13,%xmm13
+  .byte  196,65,9,235,237                    // vpor          %xmm13,%xmm14,%xmm13
+  .byte  197,60,95,195                       // vmaxps        %ymm3,%ymm8,%ymm8
+  .byte  196,65,60,93,194                    // vminps        %ymm10,%ymm8,%ymm8
+  .byte  196,65,60,89,195                    // vmulps        %ymm11,%ymm8,%ymm8
+  .byte  196,65,125,91,192                   // vcvtps2dq     %ymm8,%ymm8
+  .byte  196,67,125,57,194,1                 // vextracti128  $0x1,%ymm8,%xmm10
+  .byte  196,66,57,43,194                    // vpackusdw     %xmm10,%xmm8,%xmm8
+  .byte  196,193,41,113,240,8                // vpsllw        $0x8,%xmm8,%xmm10
+  .byte  196,193,57,113,208,8                // vpsrlw        $0x8,%xmm8,%xmm8
+  .byte  196,65,41,235,192                   // vpor          %xmm8,%xmm10,%xmm8
+  .byte  196,65,49,97,212                    // vpunpcklwd    %xmm12,%xmm9,%xmm10
+  .byte  196,65,49,105,228                   // vpunpckhwd    %xmm12,%xmm9,%xmm12
+  .byte  196,65,17,97,200                    // vpunpcklwd    %xmm8,%xmm13,%xmm9
+  .byte  196,65,17,105,192                   // vpunpckhwd    %xmm8,%xmm13,%xmm8
+  .byte  196,65,41,98,217                    // vpunpckldq    %xmm9,%xmm10,%xmm11
+  .byte  196,65,41,106,209                   // vpunpckhdq    %xmm9,%xmm10,%xmm10
+  .byte  196,65,25,98,200                    // vpunpckldq    %xmm8,%xmm12,%xmm9
+  .byte  196,65,25,106,192                   // vpunpckhdq    %xmm8,%xmm12,%xmm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,31                              // jne           5dc0 <_sk_store_u16_be_skx+0x137>
+  .byte  196,1,122,127,28,65                 // vmovdqu       %xmm11,(%r9,%r8,2)
+  .byte  196,1,122,127,84,65,16              // vmovdqu       %xmm10,0x10(%r9,%r8,2)
+  .byte  196,1,122,127,76,65,32              // vmovdqu       %xmm9,0x20(%r9,%r8,2)
+  .byte  196,1,122,127,68,65,48              // vmovdqu       %xmm8,0x30(%r9,%r8,2)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,1,121,214,28,65                 // vmovq         %xmm11,(%r9,%r8,2)
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  116,240                             // je            5dbc <_sk_store_u16_be_skx+0x133>
+  .byte  196,1,121,23,92,65,8                // vmovhpd       %xmm11,0x8(%r9,%r8,2)
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  114,227                             // jb            5dbc <_sk_store_u16_be_skx+0x133>
+  .byte  196,1,121,214,84,65,16              // vmovq         %xmm10,0x10(%r9,%r8,2)
+  .byte  116,218                             // je            5dbc <_sk_store_u16_be_skx+0x133>
+  .byte  196,1,121,23,84,65,24               // vmovhpd       %xmm10,0x18(%r9,%r8,2)
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  114,205                             // jb            5dbc <_sk_store_u16_be_skx+0x133>
+  .byte  196,1,121,214,76,65,32              // vmovq         %xmm9,0x20(%r9,%r8,2)
+  .byte  116,196                             // je            5dbc <_sk_store_u16_be_skx+0x133>
+  .byte  196,1,121,23,76,65,40               // vmovhpd       %xmm9,0x28(%r9,%r8,2)
+  .byte  72,131,255,7                        // cmp           $0x7,%rdi
+  .byte  114,183                             // jb            5dbc <_sk_store_u16_be_skx+0x133>
+  .byte  196,1,121,214,68,65,48              // vmovq         %xmm8,0x30(%r9,%r8,2)
+  .byte  235,174                             // jmp           5dbc <_sk_store_u16_be_skx+0x133>
+
+HIDDEN _sk_load_f32_skx
+.globl _sk_load_f32_skx
+FUNCTION(_sk_load_f32_skx)
+_sk_load_f32_skx:
+  .byte  98,225,253,40,40,223                // vmovapd       %ymm7,%ymm19
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,253,87,192                      // vxorpd        %ymm0,%ymm0,%ymm0
+  .byte  72,131,255,7                        // cmp           $0x7,%rdi
+  .byte  15,135,57,1,0,0                     // ja            5f5d <_sk_load_f32_skx+0x14f>
+  .byte  76,141,4,149,0,0,0,0                // lea           0x0(,%rdx,4),%r8
+  .byte  76,99,72,8                          // movslq        0x8(%rax),%r9
+  .byte  76,15,175,201                       // imul          %rcx,%r9
+  .byte  73,193,225,2                        // shl           $0x2,%r9
+  .byte  76,3,8                              // add           (%rax),%r9
+  .byte  76,141,21,46,1,0,0                  // lea           0x12e(%rip),%r10        # 5f70 <_sk_load_f32_skx+0x162>
+  .byte  73,99,4,186                         // movslq        (%r10,%rdi,4),%rax
+  .byte  76,1,208                            // add           %r10,%rax
+  .byte  197,197,87,255                      // vxorpd        %ymm7,%ymm7,%ymm7
+  .byte  196,65,45,87,210                    // vxorpd        %ymm10,%ymm10,%ymm10
+  .byte  197,237,87,210                      // vxorpd        %ymm2,%ymm2,%ymm2
+  .byte  98,161,253,32,87,192                // vxorpd        %ymm16,%ymm16,%ymm16
+  .byte  196,65,29,87,228                    // vxorpd        %ymm12,%ymm12,%ymm12
+  .byte  197,229,87,219                      // vxorpd        %ymm3,%ymm3,%ymm3
+  .byte  196,65,37,87,219                    // vxorpd        %ymm11,%ymm11,%ymm11
+  .byte  98,161,237,32,87,210                // vxorpd        %ymm18,%ymm18,%ymm18
+  .byte  196,65,5,87,255                     // vxorpd        %ymm15,%ymm15,%ymm15
+  .byte  196,65,13,87,246                    // vxorpd        %ymm14,%ymm14,%ymm14
+  .byte  196,65,21,87,237                    // vxorpd        %ymm13,%ymm13,%ymm13
+  .byte  98,161,245,32,87,201                // vxorpd        %ymm17,%ymm17,%ymm17
+  .byte  196,65,61,87,192                    // vxorpd        %ymm8,%ymm8,%ymm8
+  .byte  196,65,53,87,201                    // vxorpd        %ymm9,%ymm9,%ymm9
+  .byte  197,245,87,201                      // vxorpd        %ymm1,%ymm1,%ymm1
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,129,121,16,68,129,112           // vmovupd       0x70(%r9,%r8,4),%xmm0
+  .byte  196,227,125,6,192,40                // vperm2f128    $0x28,%ymm0,%ymm0,%ymm0
+  .byte  196,129,121,16,76,129,96            // vmovupd       0x60(%r9,%r8,4),%xmm1
+  .byte  196,227,125,6,249,40                // vperm2f128    $0x28,%ymm1,%ymm0,%ymm7
+  .byte  196,129,121,16,76,129,80            // vmovupd       0x50(%r9,%r8,4),%xmm1
+  .byte  196,227,125,6,209,40                // vperm2f128    $0x28,%ymm1,%ymm0,%ymm2
+  .byte  197,125,40,215                      // vmovapd       %ymm7,%ymm10
+  .byte  196,129,121,16,76,129,64            // vmovupd       0x40(%r9,%r8,4),%xmm1
+  .byte  196,227,125,6,217,40                // vperm2f128    $0x28,%ymm1,%ymm0,%ymm3
+  .byte  98,193,253,40,40,194                // vmovapd       %ymm10,%ymm16
+  .byte  197,125,40,226                      // vmovapd       %ymm2,%ymm12
+  .byte  196,129,121,16,76,129,48            // vmovupd       0x30(%r9,%r8,4),%xmm1
+  .byte  196,227,117,13,192,12               // vblendpd      $0xc,%ymm0,%ymm1,%ymm0
+  .byte  98,49,253,40,40,216                 // vmovapd       %ymm16,%ymm11
+  .byte  98,193,253,40,40,212                // vmovapd       %ymm12,%ymm18
+  .byte  197,125,40,251                      // vmovapd       %ymm3,%ymm15
+  .byte  196,129,121,16,76,129,32            // vmovupd       0x20(%r9,%r8,4),%xmm1
+  .byte  196,67,117,13,243,12                // vblendpd      $0xc,%ymm11,%ymm1,%ymm14
+  .byte  98,49,253,40,40,234                 // vmovapd       %ymm18,%ymm13
+  .byte  98,193,253,40,40,207                // vmovapd       %ymm15,%ymm17
+  .byte  196,129,121,16,76,129,16            // vmovupd       0x10(%r9,%r8,4),%xmm1
+  .byte  196,67,117,13,205,12                // vblendpd      $0xc,%ymm13,%ymm1,%ymm9
+  .byte  196,65,125,40,198                   // vmovapd       %ymm14,%ymm8
+  .byte  98,177,253,40,40,201                // vmovapd       %ymm17,%ymm1
+  .byte  196,129,121,16,20,129               // vmovupd       (%r9,%r8,4),%xmm2
+  .byte  196,227,109,13,201,12               // vblendpd      $0xc,%ymm1,%ymm2,%ymm1
+  .byte  196,193,116,20,209                  // vunpcklps     %ymm9,%ymm1,%ymm2
+  .byte  196,193,116,21,217                  // vunpckhps     %ymm9,%ymm1,%ymm3
+  .byte  197,188,20,200                      // vunpcklps     %ymm0,%ymm8,%ymm1
+  .byte  197,188,21,248                      // vunpckhps     %ymm0,%ymm8,%ymm7
+  .byte  197,237,20,193                      // vunpcklpd     %ymm1,%ymm2,%ymm0
+  .byte  197,237,21,201                      // vunpckhpd     %ymm1,%ymm2,%ymm1
+  .byte  197,229,20,215                      // vunpcklpd     %ymm7,%ymm3,%ymm2
+  .byte  197,229,21,223                      // vunpckhpd     %ymm7,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  98,177,124,40,40,251                // vmovaps       %ymm19,%ymm7
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,65,61,87,192                    // vxorpd        %ymm8,%ymm8,%ymm8
+  .byte  196,65,53,87,201                    // vxorpd        %ymm9,%ymm9,%ymm9
+  .byte  197,245,87,201                      // vxorpd        %ymm1,%ymm1,%ymm1
+  .byte  235,196                             // jmp           5f31 <_sk_load_f32_skx+0x123>
+  .byte  15,31,0                             // nopl          (%rax)
+  .byte  37,255,255,255,181                  // and           $0xb5ffffff,%eax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,157,255,255,255,132             // lcall         *-0x7b000001(%rbp)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,103,255                         // jmpq          *-0x1(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255,80,255                          // callq         *-0x1(%rax)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  63                                  // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,50                              // pushq         (%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_f32_dst_skx
+.globl _sk_load_f32_dst_skx
+FUNCTION(_sk_load_f32_dst_skx)
+_sk_load_f32_dst_skx:
+  .byte  98,225,253,40,40,219                // vmovapd       %ymm3,%ymm19
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,221,87,228                      // vxorpd        %ymm4,%ymm4,%ymm4
+  .byte  72,131,255,7                        // cmp           $0x7,%rdi
+  .byte  15,135,59,1,0,0                     // ja            60e1 <_sk_load_f32_dst_skx+0x151>
+  .byte  76,141,4,149,0,0,0,0                // lea           0x0(,%rdx,4),%r8
+  .byte  76,99,72,8                          // movslq        0x8(%rax),%r9
+  .byte  76,15,175,201                       // imul          %rcx,%r9
+  .byte  73,193,225,2                        // shl           $0x2,%r9
+  .byte  76,3,8                              // add           (%rax),%r9
+  .byte  76,141,21,48,1,0,0                  // lea           0x130(%rip),%r10        # 60f4 <_sk_load_f32_dst_skx+0x164>
+  .byte  73,99,4,186                         // movslq        (%r10,%rdi,4),%rax
+  .byte  76,1,208                            // add           %r10,%rax
+  .byte  197,229,87,219                      // vxorpd        %ymm3,%ymm3,%ymm3
+  .byte  196,65,45,87,210                    // vxorpd        %ymm10,%ymm10,%ymm10
+  .byte  197,205,87,246                      // vxorpd        %ymm6,%ymm6,%ymm6
+  .byte  98,161,253,32,87,192                // vxorpd        %ymm16,%ymm16,%ymm16
+  .byte  196,65,29,87,228                    // vxorpd        %ymm12,%ymm12,%ymm12
+  .byte  197,197,87,255                      // vxorpd        %ymm7,%ymm7,%ymm7
+  .byte  196,65,37,87,219                    // vxorpd        %ymm11,%ymm11,%ymm11
+  .byte  98,161,237,32,87,210                // vxorpd        %ymm18,%ymm18,%ymm18
+  .byte  196,65,5,87,255                     // vxorpd        %ymm15,%ymm15,%ymm15
+  .byte  196,65,13,87,246                    // vxorpd        %ymm14,%ymm14,%ymm14
+  .byte  196,65,21,87,237                    // vxorpd        %ymm13,%ymm13,%ymm13
+  .byte  98,161,245,32,87,201                // vxorpd        %ymm17,%ymm17,%ymm17
+  .byte  196,65,61,87,192                    // vxorpd        %ymm8,%ymm8,%ymm8
+  .byte  196,65,53,87,201                    // vxorpd        %ymm9,%ymm9,%ymm9
+  .byte  197,213,87,237                      // vxorpd        %ymm5,%ymm5,%ymm5
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,129,121,16,92,129,112           // vmovupd       0x70(%r9,%r8,4),%xmm3
+  .byte  196,227,125,6,227,40                // vperm2f128    $0x28,%ymm3,%ymm0,%ymm4
+  .byte  196,129,121,16,92,129,96            // vmovupd       0x60(%r9,%r8,4),%xmm3
+  .byte  196,227,125,6,219,40                // vperm2f128    $0x28,%ymm3,%ymm0,%ymm3
+  .byte  196,129,121,16,108,129,80           // vmovupd       0x50(%r9,%r8,4),%xmm5
+  .byte  196,227,125,6,245,40                // vperm2f128    $0x28,%ymm5,%ymm0,%ymm6
+  .byte  197,125,40,211                      // vmovapd       %ymm3,%ymm10
+  .byte  196,129,121,16,92,129,64            // vmovupd       0x40(%r9,%r8,4),%xmm3
+  .byte  196,227,125,6,251,40                // vperm2f128    $0x28,%ymm3,%ymm0,%ymm7
+  .byte  98,193,253,40,40,194                // vmovapd       %ymm10,%ymm16
+  .byte  197,125,40,230                      // vmovapd       %ymm6,%ymm12
+  .byte  196,129,121,16,92,129,48            // vmovupd       0x30(%r9,%r8,4),%xmm3
+  .byte  196,227,101,13,228,12               // vblendpd      $0xc,%ymm4,%ymm3,%ymm4
+  .byte  98,49,253,40,40,216                 // vmovapd       %ymm16,%ymm11
+  .byte  98,193,253,40,40,212                // vmovapd       %ymm12,%ymm18
+  .byte  197,125,40,255                      // vmovapd       %ymm7,%ymm15
+  .byte  196,129,121,16,92,129,32            // vmovupd       0x20(%r9,%r8,4),%xmm3
+  .byte  196,67,101,13,243,12                // vblendpd      $0xc,%ymm11,%ymm3,%ymm14
+  .byte  98,49,253,40,40,234                 // vmovapd       %ymm18,%ymm13
+  .byte  98,193,253,40,40,207                // vmovapd       %ymm15,%ymm17
+  .byte  196,129,121,16,92,129,16            // vmovupd       0x10(%r9,%r8,4),%xmm3
+  .byte  196,67,101,13,205,12                // vblendpd      $0xc,%ymm13,%ymm3,%ymm9
+  .byte  196,65,125,40,198                   // vmovapd       %ymm14,%ymm8
+  .byte  98,177,253,40,40,233                // vmovapd       %ymm17,%ymm5
+  .byte  196,129,121,16,28,129               // vmovupd       (%r9,%r8,4),%xmm3
+  .byte  196,227,101,13,237,12               // vblendpd      $0xc,%ymm5,%ymm3,%ymm5
+  .byte  196,193,84,20,217                   // vunpcklps     %ymm9,%ymm5,%ymm3
+  .byte  196,193,84,21,249                   // vunpckhps     %ymm9,%ymm5,%ymm7
+  .byte  197,188,20,236                      // vunpcklps     %ymm4,%ymm8,%ymm5
+  .byte  197,60,21,196                       // vunpckhps     %ymm4,%ymm8,%ymm8
+  .byte  197,229,20,229                      // vunpcklpd     %ymm5,%ymm3,%ymm4
+  .byte  197,229,21,237                      // vunpckhpd     %ymm5,%ymm3,%ymm5
+  .byte  196,193,69,20,240                   // vunpcklpd     %ymm8,%ymm7,%ymm6
+  .byte  196,193,69,21,248                   // vunpckhpd     %ymm8,%ymm7,%ymm7
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  98,177,124,40,40,219                // vmovaps       %ymm19,%ymm3
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,65,61,87,192                    // vxorpd        %ymm8,%ymm8,%ymm8
+  .byte  196,65,53,87,201                    // vxorpd        %ymm9,%ymm9,%ymm9
+  .byte  197,213,87,237                      // vxorpd        %ymm5,%ymm5,%ymm5
+  .byte  235,194                             // jmp           60b3 <_sk_load_f32_dst_skx+0x123>
+  .byte  15,31,0                             // nopl          (%rax)
+  .byte  35,255                              // and           %edi,%edi
+  .byte  255                                 // (bad)
+  .byte  255,179,255,255,255,155             // pushq         -0x64000001(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,130,255,255,255,101             // incl          0x65ffffff(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,78,255                          // decl          -0x1(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  61,255,255,255,48                   // cmp           $0x30ffffff,%eax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_store_f32_skx
+.globl _sk_store_f32_skx
+FUNCTION(_sk_store_f32_skx)
+_sk_store_f32_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,141,12,149,0,0,0,0               // lea           0x0(,%rdx,4),%r9
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  197,124,20,193                      // vunpcklps     %ymm1,%ymm0,%ymm8
+  .byte  197,124,21,217                      // vunpckhps     %ymm1,%ymm0,%ymm11
+  .byte  197,108,20,203                      // vunpcklps     %ymm3,%ymm2,%ymm9
+  .byte  197,108,21,227                      // vunpckhps     %ymm3,%ymm2,%ymm12
+  .byte  196,65,61,20,209                    // vunpcklpd     %ymm9,%ymm8,%ymm10
+  .byte  196,65,61,21,201                    // vunpckhpd     %ymm9,%ymm8,%ymm9
+  .byte  196,65,37,20,196                    // vunpcklpd     %ymm12,%ymm11,%ymm8
+  .byte  196,65,37,21,220                    // vunpckhpd     %ymm12,%ymm11,%ymm11
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,55                              // jne           618d <_sk_store_f32_skx+0x79>
+  .byte  196,67,45,24,225,1                  // vinsertf128   $0x1,%xmm9,%ymm10,%ymm12
+  .byte  196,67,61,24,235,1                  // vinsertf128   $0x1,%xmm11,%ymm8,%ymm13
+  .byte  196,67,45,6,201,49                  // vperm2f128    $0x31,%ymm9,%ymm10,%ymm9
+  .byte  196,67,61,6,195,49                  // vperm2f128    $0x31,%ymm11,%ymm8,%ymm8
+  .byte  196,1,125,17,36,136                 // vmovupd       %ymm12,(%r8,%r9,4)
+  .byte  196,1,125,17,108,136,32             // vmovupd       %ymm13,0x20(%r8,%r9,4)
+  .byte  196,1,124,17,76,136,64              // vmovups       %ymm9,0x40(%r8,%r9,4)
+  .byte  196,1,125,17,68,136,96              // vmovupd       %ymm8,0x60(%r8,%r9,4)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,1,121,17,20,136                 // vmovupd       %xmm10,(%r8,%r9,4)
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  116,240                             // je            6189 <_sk_store_f32_skx+0x75>
+  .byte  196,1,121,17,76,136,16              // vmovupd       %xmm9,0x10(%r8,%r9,4)
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  114,227                             // jb            6189 <_sk_store_f32_skx+0x75>
+  .byte  196,1,121,17,68,136,32              // vmovupd       %xmm8,0x20(%r8,%r9,4)
+  .byte  116,218                             // je            6189 <_sk_store_f32_skx+0x75>
+  .byte  196,1,121,17,92,136,48              // vmovupd       %xmm11,0x30(%r8,%r9,4)
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  114,205                             // jb            6189 <_sk_store_f32_skx+0x75>
+  .byte  196,3,125,25,84,136,64,1            // vextractf128  $0x1,%ymm10,0x40(%r8,%r9,4)
+  .byte  116,195                             // je            6189 <_sk_store_f32_skx+0x75>
+  .byte  196,3,125,25,76,136,80,1            // vextractf128  $0x1,%ymm9,0x50(%r8,%r9,4)
+  .byte  72,131,255,7                        // cmp           $0x7,%rdi
+  .byte  114,181                             // jb            6189 <_sk_store_f32_skx+0x75>
+  .byte  196,3,125,25,68,136,96,1            // vextractf128  $0x1,%ymm8,0x60(%r8,%r9,4)
+  .byte  235,171                             // jmp           6189 <_sk_store_f32_skx+0x75>
+
+HIDDEN _sk_repeat_x_skx
+.globl _sk_repeat_x_skx
+FUNCTION(_sk_repeat_x_skx)
+_sk_repeat_x_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  98,113,124,56,89,64,1               // vmulps        0x4(%rax){1to8},%ymm0,%ymm8
+  .byte  196,67,125,8,192,1                  // vroundps      $0x1,%ymm8,%ymm8
+  .byte  196,98,125,24,8                     // vbroadcastss  (%rax),%ymm9
+  .byte  196,194,61,188,193                  // vfnmadd231ps  %ymm9,%ymm8,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_repeat_y_skx
+.globl _sk_repeat_y_skx
+FUNCTION(_sk_repeat_y_skx)
+_sk_repeat_y_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  98,113,116,56,89,64,1               // vmulps        0x4(%rax){1to8},%ymm1,%ymm8
+  .byte  196,67,125,8,192,1                  // vroundps      $0x1,%ymm8,%ymm8
+  .byte  196,98,125,24,8                     // vbroadcastss  (%rax),%ymm9
+  .byte  196,194,61,188,201                  // vfnmadd231ps  %ymm9,%ymm8,%ymm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_mirror_x_skx
+.globl _sk_mirror_x_skx
+FUNCTION(_sk_mirror_x_skx)
+_sk_mirror_x_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,122,16,0                        // vmovss        (%rax),%xmm8
+  .byte  197,122,16,72,4                     // vmovss        0x4(%rax),%xmm9
+  .byte  196,66,125,24,208                   // vbroadcastss  %xmm8,%ymm10
+  .byte  196,65,124,92,218                   // vsubps        %ymm10,%ymm0,%ymm11
+  .byte  196,193,58,88,192                   // vaddss        %xmm8,%xmm8,%xmm0
+  .byte  196,98,125,24,192                   // vbroadcastss  %xmm0,%ymm8
+  .byte  197,178,89,5,185,98,3,0             // vmulss        0x362b9(%rip),%xmm9,%xmm0        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  196,226,125,24,192                  // vbroadcastss  %xmm0,%ymm0
+  .byte  197,164,89,192                      // vmulps        %ymm0,%ymm11,%ymm0
+  .byte  196,227,125,8,192,1                 // vroundps      $0x1,%ymm0,%ymm0
+  .byte  196,194,61,172,195                  // vfnmadd213ps  %ymm11,%ymm8,%ymm0
+  .byte  196,193,124,92,194                  // vsubps        %ymm10,%ymm0,%ymm0
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,60,92,192                       // vsubps        %ymm0,%ymm8,%ymm8
+  .byte  197,188,84,192                      // vandps        %ymm0,%ymm8,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_mirror_y_skx
+.globl _sk_mirror_y_skx
+FUNCTION(_sk_mirror_y_skx)
+_sk_mirror_y_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,122,16,0                        // vmovss        (%rax),%xmm8
+  .byte  197,122,16,72,4                     // vmovss        0x4(%rax),%xmm9
+  .byte  196,66,125,24,208                   // vbroadcastss  %xmm8,%ymm10
+  .byte  196,65,116,92,218                   // vsubps        %ymm10,%ymm1,%ymm11
+  .byte  196,193,58,88,200                   // vaddss        %xmm8,%xmm8,%xmm1
+  .byte  196,98,125,24,193                   // vbroadcastss  %xmm1,%ymm8
+  .byte  197,178,89,13,104,98,3,0            // vmulss        0x36268(%rip),%xmm9,%xmm1        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  196,226,125,24,201                  // vbroadcastss  %xmm1,%ymm1
+  .byte  197,164,89,201                      // vmulps        %ymm1,%ymm11,%ymm1
+  .byte  196,227,125,8,201,1                 // vroundps      $0x1,%ymm1,%ymm1
+  .byte  196,194,61,172,203                  // vfnmadd213ps  %ymm11,%ymm8,%ymm1
+  .byte  196,193,116,92,202                  // vsubps        %ymm10,%ymm1,%ymm1
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,60,92,193                       // vsubps        %ymm1,%ymm8,%ymm8
+  .byte  197,188,84,201                      // vandps        %ymm1,%ymm8,%ymm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_clamp_x_1_skx
+.globl _sk_clamp_x_1_skx
+FUNCTION(_sk_clamp_x_1_skx)
+_sk_clamp_x_1_skx:
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,188,95,192                      // vmaxps        %ymm0,%ymm8,%ymm0
+  .byte  98,241,124,56,93,5,47,98,3,0        // vminps        0x3622f(%rip){1to8},%ymm0,%ymm0        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_repeat_x_1_skx
+.globl _sk_repeat_x_1_skx
+FUNCTION(_sk_repeat_x_1_skx)
+_sk_repeat_x_1_skx:
+  .byte  196,99,125,8,192,1                  // vroundps      $0x1,%ymm0,%ymm8
+  .byte  196,193,124,92,192                  // vsubps        %ymm8,%ymm0,%ymm0
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,188,95,192                      // vmaxps        %ymm0,%ymm8,%ymm0
+  .byte  98,241,124,56,93,5,13,98,3,0        // vminps        0x3620d(%rip){1to8},%ymm0,%ymm0        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_mirror_x_1_skx
+.globl _sk_mirror_x_1_skx
+FUNCTION(_sk_mirror_x_1_skx)
+_sk_mirror_x_1_skx:
+  .byte  196,98,125,24,5,24,98,3,0           // vbroadcastss  0x36218(%rip),%ymm8        # 3c514 <_sk_srcover_bgra_8888_sse2_lowp+0x2c8>
+  .byte  196,193,124,88,192                  // vaddps        %ymm8,%ymm0,%ymm0
+  .byte  98,113,124,56,89,13,237,97,3,0      // vmulps        0x361ed(%rip){1to8},%ymm0,%ymm9        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  196,67,125,8,201,1                  // vroundps      $0x1,%ymm9,%ymm9
+  .byte  196,65,52,88,201                    // vaddps        %ymm9,%ymm9,%ymm9
+  .byte  196,193,124,92,193                  // vsubps        %ymm9,%ymm0,%ymm0
+  .byte  196,193,124,88,192                  // vaddps        %ymm8,%ymm0,%ymm0
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,60,92,200                       // vsubps        %ymm0,%ymm8,%ymm9
+  .byte  197,180,84,192                      // vandps        %ymm0,%ymm9,%ymm0
+  .byte  197,188,95,192                      // vmaxps        %ymm0,%ymm8,%ymm0
+  .byte  98,241,124,56,93,5,193,97,3,0       // vminps        0x361c1(%rip){1to8},%ymm0,%ymm0        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_decal_x_skx
+.globl _sk_decal_x_skx
+FUNCTION(_sk_decal_x_skx)
+_sk_decal_x_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  98,241,60,40,194,200,2              // vcmpleps      %ymm0,%ymm8,%k1
+  .byte  98,241,124,57,194,64,16,1           // vcmpltps      0x40(%rax){1to8},%ymm0,%k0{%k1}
+  .byte  98,114,126,40,56,200                // vpmovm2d      %k0,%ymm9
+  .byte  196,65,45,118,210                   // vpcmpeqd      %ymm10,%ymm10,%ymm10
+  .byte  196,67,61,74,194,144                // vblendvps     %ymm9,%ymm10,%ymm8,%ymm8
+  .byte  197,124,17,0                        // vmovups       %ymm8,(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_decal_y_skx
+.globl _sk_decal_y_skx
+FUNCTION(_sk_decal_y_skx)
+_sk_decal_y_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  98,241,60,40,194,201,2              // vcmpleps      %ymm1,%ymm8,%k1
+  .byte  98,241,116,57,194,64,17,1           // vcmpltps      0x44(%rax){1to8},%ymm1,%k0{%k1}
+  .byte  98,114,126,40,56,200                // vpmovm2d      %k0,%ymm9
+  .byte  196,65,45,118,210                   // vpcmpeqd      %ymm10,%ymm10,%ymm10
+  .byte  196,67,61,74,194,144                // vblendvps     %ymm9,%ymm10,%ymm8,%ymm8
+  .byte  197,124,17,0                        // vmovups       %ymm8,(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_decal_x_and_y_skx
+.globl _sk_decal_x_and_y_skx
+FUNCTION(_sk_decal_x_and_y_skx)
+_sk_decal_x_and_y_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  98,241,60,40,194,201,2              // vcmpleps      %ymm1,%ymm8,%k1
+  .byte  98,241,60,41,194,200,2              // vcmpleps      %ymm0,%ymm8,%k1{%k1}
+  .byte  98,241,124,57,194,72,16,1           // vcmpltps      0x40(%rax){1to8},%ymm0,%k1{%k1}
+  .byte  98,241,116,57,194,64,17,1           // vcmpltps      0x44(%rax){1to8},%ymm1,%k0{%k1}
+  .byte  98,114,126,40,56,200                // vpmovm2d      %k0,%ymm9
+  .byte  196,65,45,118,210                   // vpcmpeqd      %ymm10,%ymm10,%ymm10
+  .byte  196,67,61,74,194,144                // vblendvps     %ymm9,%ymm10,%ymm8,%ymm8
+  .byte  197,124,17,0                        // vmovups       %ymm8,(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_check_decal_mask_skx
+.globl _sk_check_decal_mask_skx
+FUNCTION(_sk_check_decal_mask_skx)
+_sk_check_decal_mask_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,16,0                        // vmovups       (%rax),%ymm8
+  .byte  197,188,84,192                      // vandps        %ymm0,%ymm8,%ymm0
+  .byte  197,188,84,201                      // vandps        %ymm1,%ymm8,%ymm1
+  .byte  197,188,84,210                      // vandps        %ymm2,%ymm8,%ymm2
+  .byte  197,188,84,219                      // vandps        %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_luminance_to_alpha_skx
+.globl _sk_luminance_to_alpha_skx
+FUNCTION(_sk_luminance_to_alpha_skx)
+_sk_luminance_to_alpha_skx:
+  .byte  98,241,116,56,89,29,45,98,3,0       // vmulps        0x3622d(%rip){1to8},%ymm1,%ymm3        # 3c62c <_sk_srcover_bgra_8888_sse2_lowp+0x3e0>
+  .byte  98,242,125,56,184,29,39,98,3,0      // vfmadd231ps   0x36227(%rip){1to8},%ymm0,%ymm3        # 3c630 <_sk_srcover_bgra_8888_sse2_lowp+0x3e4>
+  .byte  98,242,109,56,184,29,33,98,3,0      // vfmadd231ps   0x36221(%rip){1to8},%ymm2,%ymm3        # 3c634 <_sk_srcover_bgra_8888_sse2_lowp+0x3e8>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_translate_skx
+.globl _sk_matrix_translate_skx
+FUNCTION(_sk_matrix_translate_skx)
+_sk_matrix_translate_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  98,241,124,56,88,0                  // vaddps        (%rax){1to8},%ymm0,%ymm0
+  .byte  98,241,116,56,88,72,1               // vaddps        0x4(%rax){1to8},%ymm1,%ymm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_scale_translate_skx
+.globl _sk_matrix_scale_translate_skx
+FUNCTION(_sk_matrix_scale_translate_skx)
+_sk_matrix_scale_translate_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,0                     // vbroadcastss  (%rax),%ymm8
+  .byte  98,242,61,56,168,64,2               // vfmadd213ps   0x8(%rax){1to8},%ymm8,%ymm0
+  .byte  196,98,125,24,64,4                  // vbroadcastss  0x4(%rax),%ymm8
+  .byte  98,242,61,56,168,72,3               // vfmadd213ps   0xc(%rax){1to8},%ymm8,%ymm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_2x3_skx
+.globl _sk_matrix_2x3_skx
+FUNCTION(_sk_matrix_2x3_skx)
+_sk_matrix_2x3_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,8                     // vbroadcastss  (%rax),%ymm9
+  .byte  196,98,125,24,64,8                  // vbroadcastss  0x8(%rax),%ymm8
+  .byte  98,114,117,56,168,64,4              // vfmadd213ps   0x10(%rax){1to8},%ymm1,%ymm8
+  .byte  196,66,125,184,193                  // vfmadd231ps   %ymm9,%ymm0,%ymm8
+  .byte  196,98,125,24,80,4                  // vbroadcastss  0x4(%rax),%ymm10
+  .byte  196,98,125,24,72,12                 // vbroadcastss  0xc(%rax),%ymm9
+  .byte  98,114,117,56,168,72,5              // vfmadd213ps   0x14(%rax){1to8},%ymm1,%ymm9
+  .byte  196,66,125,184,202                  // vfmadd231ps   %ymm10,%ymm0,%ymm9
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
+  .byte  197,124,41,201                      // vmovaps       %ymm9,%ymm1
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_3x4_skx
+.globl _sk_matrix_3x4_skx
+FUNCTION(_sk_matrix_3x4_skx)
+_sk_matrix_3x4_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,8                     // vbroadcastss  (%rax),%ymm9
+  .byte  196,98,125,24,80,12                 // vbroadcastss  0xc(%rax),%ymm10
+  .byte  196,98,125,24,64,24                 // vbroadcastss  0x18(%rax),%ymm8
+  .byte  98,114,109,56,168,64,9              // vfmadd213ps   0x24(%rax){1to8},%ymm2,%ymm8
+  .byte  196,66,117,184,194                  // vfmadd231ps   %ymm10,%ymm1,%ymm8
+  .byte  196,66,125,184,193                  // vfmadd231ps   %ymm9,%ymm0,%ymm8
+  .byte  196,98,125,24,80,4                  // vbroadcastss  0x4(%rax),%ymm10
+  .byte  196,98,125,24,88,16                 // vbroadcastss  0x10(%rax),%ymm11
+  .byte  196,98,125,24,72,28                 // vbroadcastss  0x1c(%rax),%ymm9
+  .byte  98,114,109,56,168,72,10             // vfmadd213ps   0x28(%rax){1to8},%ymm2,%ymm9
+  .byte  196,66,117,184,203                  // vfmadd231ps   %ymm11,%ymm1,%ymm9
+  .byte  196,66,125,184,202                  // vfmadd231ps   %ymm10,%ymm0,%ymm9
+  .byte  196,98,125,24,88,8                  // vbroadcastss  0x8(%rax),%ymm11
+  .byte  196,98,125,24,96,20                 // vbroadcastss  0x14(%rax),%ymm12
+  .byte  196,98,125,24,80,32                 // vbroadcastss  0x20(%rax),%ymm10
+  .byte  98,114,109,56,168,80,11             // vfmadd213ps   0x2c(%rax){1to8},%ymm2,%ymm10
+  .byte  196,66,117,184,212                  // vfmadd231ps   %ymm12,%ymm1,%ymm10
+  .byte  196,66,125,184,211                  // vfmadd231ps   %ymm11,%ymm0,%ymm10
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
+  .byte  197,124,41,201                      // vmovaps       %ymm9,%ymm1
+  .byte  197,124,41,210                      // vmovaps       %ymm10,%ymm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_4x5_skx
+.globl _sk_matrix_4x5_skx
+FUNCTION(_sk_matrix_4x5_skx)
+_sk_matrix_4x5_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,8                     // vbroadcastss  (%rax),%ymm9
+  .byte  196,98,125,24,80,16                 // vbroadcastss  0x10(%rax),%ymm10
+  .byte  196,98,125,24,88,32                 // vbroadcastss  0x20(%rax),%ymm11
+  .byte  196,98,125,24,64,48                 // vbroadcastss  0x30(%rax),%ymm8
+  .byte  98,114,101,56,168,64,16             // vfmadd213ps   0x40(%rax){1to8},%ymm3,%ymm8
+  .byte  196,66,109,184,195                  // vfmadd231ps   %ymm11,%ymm2,%ymm8
+  .byte  196,66,117,184,194                  // vfmadd231ps   %ymm10,%ymm1,%ymm8
+  .byte  196,66,125,184,193                  // vfmadd231ps   %ymm9,%ymm0,%ymm8
+  .byte  196,98,125,24,80,4                  // vbroadcastss  0x4(%rax),%ymm10
+  .byte  196,98,125,24,88,20                 // vbroadcastss  0x14(%rax),%ymm11
+  .byte  196,98,125,24,96,36                 // vbroadcastss  0x24(%rax),%ymm12
+  .byte  196,98,125,24,72,52                 // vbroadcastss  0x34(%rax),%ymm9
+  .byte  98,114,101,56,168,72,17             // vfmadd213ps   0x44(%rax){1to8},%ymm3,%ymm9
+  .byte  196,66,109,184,204                  // vfmadd231ps   %ymm12,%ymm2,%ymm9
+  .byte  196,66,117,184,203                  // vfmadd231ps   %ymm11,%ymm1,%ymm9
+  .byte  196,66,125,184,202                  // vfmadd231ps   %ymm10,%ymm0,%ymm9
+  .byte  196,98,125,24,88,8                  // vbroadcastss  0x8(%rax),%ymm11
+  .byte  196,98,125,24,96,24                 // vbroadcastss  0x18(%rax),%ymm12
+  .byte  196,98,125,24,104,40                // vbroadcastss  0x28(%rax),%ymm13
+  .byte  196,98,125,24,80,56                 // vbroadcastss  0x38(%rax),%ymm10
+  .byte  98,114,101,56,168,80,18             // vfmadd213ps   0x48(%rax){1to8},%ymm3,%ymm10
+  .byte  196,66,109,184,213                  // vfmadd231ps   %ymm13,%ymm2,%ymm10
+  .byte  196,66,117,184,212                  // vfmadd231ps   %ymm12,%ymm1,%ymm10
+  .byte  196,66,125,184,211                  // vfmadd231ps   %ymm11,%ymm0,%ymm10
+  .byte  196,98,125,24,96,12                 // vbroadcastss  0xc(%rax),%ymm12
+  .byte  196,98,125,24,104,28                // vbroadcastss  0x1c(%rax),%ymm13
+  .byte  196,98,125,24,112,44                // vbroadcastss  0x2c(%rax),%ymm14
+  .byte  196,98,125,24,88,60                 // vbroadcastss  0x3c(%rax),%ymm11
+  .byte  98,114,101,56,168,88,19             // vfmadd213ps   0x4c(%rax){1to8},%ymm3,%ymm11
+  .byte  196,66,109,184,222                  // vfmadd231ps   %ymm14,%ymm2,%ymm11
+  .byte  196,66,117,184,221                  // vfmadd231ps   %ymm13,%ymm1,%ymm11
+  .byte  196,66,125,184,220                  // vfmadd231ps   %ymm12,%ymm0,%ymm11
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
+  .byte  197,124,41,201                      // vmovaps       %ymm9,%ymm1
+  .byte  197,124,41,210                      // vmovaps       %ymm10,%ymm2
+  .byte  197,124,41,219                      // vmovaps       %ymm11,%ymm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_4x3_skx
+.globl _sk_matrix_4x3_skx
+FUNCTION(_sk_matrix_4x3_skx)
+_sk_matrix_4x3_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,16                   // vbroadcastss  (%rax),%ymm2
+  .byte  196,98,125,24,64,16                 // vbroadcastss  0x10(%rax),%ymm8
+  .byte  98,114,117,56,168,64,8              // vfmadd213ps   0x20(%rax){1to8},%ymm1,%ymm8
+  .byte  196,98,125,184,194                  // vfmadd231ps   %ymm2,%ymm0,%ymm8
+  .byte  196,226,125,24,80,4                 // vbroadcastss  0x4(%rax),%ymm2
+  .byte  196,98,125,24,72,20                 // vbroadcastss  0x14(%rax),%ymm9
+  .byte  98,114,117,56,168,72,9              // vfmadd213ps   0x24(%rax){1to8},%ymm1,%ymm9
+  .byte  196,98,125,184,202                  // vfmadd231ps   %ymm2,%ymm0,%ymm9
+  .byte  196,226,125,24,88,8                 // vbroadcastss  0x8(%rax),%ymm3
+  .byte  196,226,125,24,80,24                // vbroadcastss  0x18(%rax),%ymm2
+  .byte  98,242,117,56,168,80,10             // vfmadd213ps   0x28(%rax){1to8},%ymm1,%ymm2
+  .byte  196,226,125,184,211                 // vfmadd231ps   %ymm3,%ymm0,%ymm2
+  .byte  196,98,125,24,80,12                 // vbroadcastss  0xc(%rax),%ymm10
+  .byte  196,226,125,24,88,28                // vbroadcastss  0x1c(%rax),%ymm3
+  .byte  98,242,117,56,168,88,11             // vfmadd213ps   0x2c(%rax){1to8},%ymm1,%ymm3
+  .byte  196,194,125,184,218                 // vfmadd231ps   %ymm10,%ymm0,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
+  .byte  197,124,41,201                      // vmovaps       %ymm9,%ymm1
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_perspective_skx
+.globl _sk_matrix_perspective_skx
+FUNCTION(_sk_matrix_perspective_skx)
+_sk_matrix_perspective_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,0                     // vbroadcastss  (%rax),%ymm8
+  .byte  196,98,125,24,72,4                  // vbroadcastss  0x4(%rax),%ymm9
+  .byte  98,114,117,56,168,72,2              // vfmadd213ps   0x8(%rax){1to8},%ymm1,%ymm9
+  .byte  196,66,125,184,200                  // vfmadd231ps   %ymm8,%ymm0,%ymm9
+  .byte  196,98,125,24,64,12                 // vbroadcastss  0xc(%rax),%ymm8
+  .byte  196,98,125,24,80,16                 // vbroadcastss  0x10(%rax),%ymm10
+  .byte  98,114,117,56,168,80,5              // vfmadd213ps   0x14(%rax){1to8},%ymm1,%ymm10
+  .byte  196,66,125,184,208                  // vfmadd231ps   %ymm8,%ymm0,%ymm10
+  .byte  196,98,125,24,64,24                 // vbroadcastss  0x18(%rax),%ymm8
+  .byte  196,98,125,24,88,28                 // vbroadcastss  0x1c(%rax),%ymm11
+  .byte  98,114,117,56,168,88,8              // vfmadd213ps   0x20(%rax){1to8},%ymm1,%ymm11
+  .byte  196,66,125,184,216                  // vfmadd231ps   %ymm8,%ymm0,%ymm11
+  .byte  98,210,125,40,76,203                // vrcp14ps      %ymm11,%ymm1
+  .byte  197,180,89,193                      // vmulps        %ymm1,%ymm9,%ymm0
+  .byte  197,172,89,201                      // vmulps        %ymm1,%ymm10,%ymm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_evenly_spaced_gradient_skx
+.globl _sk_evenly_spaced_gradient_skx
+FUNCTION(_sk_evenly_spaced_gradient_skx)
+_sk_evenly_spaced_gradient_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,8                            // mov           (%rax),%r9
+  .byte  76,139,64,8                         // mov           0x8(%rax),%r8
+  .byte  77,141,81,255                       // lea           -0x1(%r9),%r10
+  .byte  98,210,253,72,124,202               // vpbroadcastq  %r10,%zmm1
+  .byte  98,241,255,72,122,201               // vcvtuqq2ps    %zmm1,%ymm1
+  .byte  197,244,89,200                      // vmulps        %ymm0,%ymm1,%ymm1
+  .byte  197,126,91,209                      // vcvttps2dq    %ymm1,%ymm10
+  .byte  73,131,249,8                        // cmp           $0x8,%r9
+  .byte  119,73                              // ja            6711 <_sk_evenly_spaced_gradient_skx+0x70>
+  .byte  196,66,45,22,0                      // vpermps       (%r8),%ymm10,%ymm8
+  .byte  76,139,64,40                        // mov           0x28(%rax),%r8
+  .byte  196,66,45,22,8                      // vpermps       (%r8),%ymm10,%ymm9
+  .byte  76,139,64,16                        // mov           0x10(%rax),%r8
+  .byte  76,139,72,24                        // mov           0x18(%rax),%r9
+  .byte  196,194,45,22,8                     // vpermps       (%r8),%ymm10,%ymm1
+  .byte  76,139,64,48                        // mov           0x30(%rax),%r8
+  .byte  196,66,45,22,24                     // vpermps       (%r8),%ymm10,%ymm11
+  .byte  196,194,45,22,17                    // vpermps       (%r9),%ymm10,%ymm2
+  .byte  76,139,64,56                        // mov           0x38(%rax),%r8
+  .byte  196,66,45,22,32                     // vpermps       (%r8),%ymm10,%ymm12
+  .byte  76,139,64,32                        // mov           0x20(%rax),%r8
+  .byte  196,194,45,22,24                    // vpermps       (%r8),%ymm10,%ymm3
+  .byte  72,139,64,64                        // mov           0x40(%rax),%rax
+  .byte  196,98,45,22,40                     // vpermps       (%rax),%ymm10,%ymm13
+  .byte  233,147,0,0,0                       // jmpq          67a4 <_sk_evenly_spaced_gradient_skx+0x103>
+  .byte  197,245,118,201                     // vpcmpeqd      %ymm1,%ymm1,%ymm1
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  196,2,117,146,4,144                 // vgatherdps    %ymm1,(%r8,%ymm10,4),%ymm8
+  .byte  76,139,64,40                        // mov           0x28(%rax),%r8
+  .byte  197,245,118,201                     // vpcmpeqd      %ymm1,%ymm1,%ymm1
+  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
+  .byte  196,2,117,146,12,144                // vgatherdps    %ymm1,(%r8,%ymm10,4),%ymm9
+  .byte  76,139,64,16                        // mov           0x10(%rax),%r8
+  .byte  76,139,72,24                        // mov           0x18(%rax),%r9
+  .byte  197,237,118,210                     // vpcmpeqd      %ymm2,%ymm2,%ymm2
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  196,130,109,146,12,144              // vgatherdps    %ymm2,(%r8,%ymm10,4),%ymm1
+  .byte  76,139,64,48                        // mov           0x30(%rax),%r8
+  .byte  197,237,118,210                     // vpcmpeqd      %ymm2,%ymm2,%ymm2
+  .byte  196,65,36,87,219                    // vxorps        %ymm11,%ymm11,%ymm11
+  .byte  196,2,109,146,28,144                // vgatherdps    %ymm2,(%r8,%ymm10,4),%ymm11
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  196,130,101,146,20,145              // vgatherdps    %ymm3,(%r9,%ymm10,4),%ymm2
+  .byte  76,139,64,56                        // mov           0x38(%rax),%r8
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  196,65,28,87,228                    // vxorps        %ymm12,%ymm12,%ymm12
+  .byte  196,2,101,146,36,144                // vgatherdps    %ymm3,(%r8,%ymm10,4),%ymm12
+  .byte  196,65,13,118,246                   // vpcmpeqd      %ymm14,%ymm14,%ymm14
+  .byte  76,139,64,32                        // mov           0x20(%rax),%r8
+  .byte  196,65,21,118,237                   // vpcmpeqd      %ymm13,%ymm13,%ymm13
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  196,130,21,146,28,144               // vgatherdps    %ymm13,(%r8,%ymm10,4),%ymm3
+  .byte  196,65,20,87,237                    // vxorps        %ymm13,%ymm13,%ymm13
+  .byte  72,139,64,64                        // mov           0x40(%rax),%rax
+  .byte  196,34,13,146,44,144                // vgatherdps    %ymm14,(%rax,%ymm10,4),%ymm13
+  .byte  196,66,125,168,193                  // vfmadd213ps   %ymm9,%ymm0,%ymm8
+  .byte  196,194,125,168,203                 // vfmadd213ps   %ymm11,%ymm0,%ymm1
+  .byte  196,194,125,168,212                 // vfmadd213ps   %ymm12,%ymm0,%ymm2
+  .byte  196,194,125,168,221                 // vfmadd213ps   %ymm13,%ymm0,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_gradient_skx
+.globl _sk_gradient_skx
+FUNCTION(_sk_gradient_skx)
+_sk_gradient_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  73,131,248,1                        // cmp           $0x1,%r8
+  .byte  15,134,229,0,0,0                    // jbe           68b4 <_sk_gradient_skx+0xf4>
+  .byte  76,139,72,72                        // mov           0x48(%rax),%r9
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  65,186,1,0,0,0                      // mov           $0x1,%r10d
+  .byte  196,226,125,24,21,26,93,3,0         // vbroadcastss  0x35d1a(%rip),%ymm2        # 3c500 <_sk_srcover_bgra_8888_sse2_lowp+0x2b4>
+  .byte  196,65,53,239,201                   // vpxor         %ymm9,%ymm9,%ymm9
+  .byte  196,130,125,24,28,145               // vbroadcastss  (%r9,%r10,4),%ymm3
+  .byte  98,241,100,40,194,192,2             // vcmpleps      %ymm0,%ymm3,%k0
+  .byte  98,242,126,40,56,216                // vpmovm2d      %k0,%ymm3
+  .byte  196,227,117,74,218,48               // vblendvps     %ymm3,%ymm2,%ymm1,%ymm3
+  .byte  197,53,254,203                      // vpaddd        %ymm3,%ymm9,%ymm9
+  .byte  73,131,194,1                        // add           $0x1,%r10
+  .byte  77,57,208                           // cmp           %r10,%r8
+  .byte  117,218                             // jne           67eb <_sk_gradient_skx+0x2b>
+  .byte  76,139,72,8                         // mov           0x8(%rax),%r9
+  .byte  73,131,248,8                        // cmp           $0x8,%r8
+  .byte  15,134,158,0,0,0                    // jbe           68bd <_sk_gradient_skx+0xfd>
+  .byte  197,245,118,201                     // vpcmpeqd      %ymm1,%ymm1,%ymm1
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  196,2,117,146,4,137                 // vgatherdps    %ymm1,(%r9,%ymm9,4),%ymm8
+  .byte  76,139,64,40                        // mov           0x28(%rax),%r8
+  .byte  197,245,118,201                     // vpcmpeqd      %ymm1,%ymm1,%ymm1
+  .byte  196,65,44,87,210                    // vxorps        %ymm10,%ymm10,%ymm10
+  .byte  196,2,117,146,20,136                // vgatherdps    %ymm1,(%r8,%ymm9,4),%ymm10
+  .byte  76,139,64,16                        // mov           0x10(%rax),%r8
+  .byte  76,139,72,24                        // mov           0x18(%rax),%r9
+  .byte  197,237,118,210                     // vpcmpeqd      %ymm2,%ymm2,%ymm2
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  196,130,109,146,12,136              // vgatherdps    %ymm2,(%r8,%ymm9,4),%ymm1
+  .byte  76,139,64,48                        // mov           0x30(%rax),%r8
+  .byte  197,237,118,210                     // vpcmpeqd      %ymm2,%ymm2,%ymm2
+  .byte  196,65,36,87,219                    // vxorps        %ymm11,%ymm11,%ymm11
+  .byte  196,2,109,146,28,136                // vgatherdps    %ymm2,(%r8,%ymm9,4),%ymm11
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  196,130,101,146,20,137              // vgatherdps    %ymm3,(%r9,%ymm9,4),%ymm2
+  .byte  76,139,64,56                        // mov           0x38(%rax),%r8
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  196,65,28,87,228                    // vxorps        %ymm12,%ymm12,%ymm12
+  .byte  196,2,101,146,36,136                // vgatherdps    %ymm3,(%r8,%ymm9,4),%ymm12
+  .byte  196,65,13,118,246                   // vpcmpeqd      %ymm14,%ymm14,%ymm14
+  .byte  76,139,64,32                        // mov           0x20(%rax),%r8
+  .byte  196,65,21,118,237                   // vpcmpeqd      %ymm13,%ymm13,%ymm13
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  196,130,21,146,28,136               // vgatherdps    %ymm13,(%r8,%ymm9,4),%ymm3
+  .byte  196,65,20,87,237                    // vxorps        %ymm13,%ymm13,%ymm13
+  .byte  72,139,64,64                        // mov           0x40(%rax),%rax
+  .byte  196,34,13,146,44,136                // vgatherdps    %ymm14,(%rax,%ymm9,4),%ymm13
+  .byte  235,77                              // jmp           6901 <_sk_gradient_skx+0x141>
+  .byte  76,139,72,8                         // mov           0x8(%rax),%r9
+  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
+  .byte  196,66,53,22,1                      // vpermps       (%r9),%ymm9,%ymm8
+  .byte  76,139,64,40                        // mov           0x28(%rax),%r8
+  .byte  196,66,53,22,16                     // vpermps       (%r8),%ymm9,%ymm10
+  .byte  76,139,64,16                        // mov           0x10(%rax),%r8
+  .byte  76,139,72,24                        // mov           0x18(%rax),%r9
+  .byte  196,194,53,22,8                     // vpermps       (%r8),%ymm9,%ymm1
+  .byte  76,139,64,48                        // mov           0x30(%rax),%r8
+  .byte  196,66,53,22,24                     // vpermps       (%r8),%ymm9,%ymm11
+  .byte  196,194,53,22,17                    // vpermps       (%r9),%ymm9,%ymm2
+  .byte  76,139,64,56                        // mov           0x38(%rax),%r8
+  .byte  196,66,53,22,32                     // vpermps       (%r8),%ymm9,%ymm12
+  .byte  76,139,64,32                        // mov           0x20(%rax),%r8
+  .byte  196,194,53,22,24                    // vpermps       (%r8),%ymm9,%ymm3
+  .byte  72,139,64,64                        // mov           0x40(%rax),%rax
+  .byte  196,98,53,22,40                     // vpermps       (%rax),%ymm9,%ymm13
+  .byte  196,66,125,168,194                  // vfmadd213ps   %ymm10,%ymm0,%ymm8
+  .byte  196,194,125,168,203                 // vfmadd213ps   %ymm11,%ymm0,%ymm1
+  .byte  196,194,125,168,212                 // vfmadd213ps   %ymm12,%ymm0,%ymm2
+  .byte  196,194,125,168,221                 // vfmadd213ps   %ymm13,%ymm0,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_evenly_spaced_2_stop_gradient_skx
+.globl _sk_evenly_spaced_2_stop_gradient_skx
+FUNCTION(_sk_evenly_spaced_2_stop_gradient_skx)
+_sk_evenly_spaced_2_stop_gradient_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,0                     // vbroadcastss  (%rax),%ymm8
+  .byte  98,114,125,56,168,64,4              // vfmadd213ps   0x10(%rax){1to8},%ymm0,%ymm8
+  .byte  196,226,125,24,72,4                 // vbroadcastss  0x4(%rax),%ymm1
+  .byte  98,242,125,56,168,72,5              // vfmadd213ps   0x14(%rax){1to8},%ymm0,%ymm1
+  .byte  196,226,125,24,80,8                 // vbroadcastss  0x8(%rax),%ymm2
+  .byte  98,242,125,56,168,80,6              // vfmadd213ps   0x18(%rax){1to8},%ymm0,%ymm2
+  .byte  196,226,125,24,88,12                // vbroadcastss  0xc(%rax),%ymm3
+  .byte  98,242,125,56,168,88,7              // vfmadd213ps   0x1c(%rax){1to8},%ymm0,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xy_to_unit_angle_skx
+.globl _sk_xy_to_unit_angle_skx
+FUNCTION(_sk_xy_to_unit_angle_skx)
+_sk_xy_to_unit_angle_skx:
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,60,92,200                       // vsubps        %ymm0,%ymm8,%ymm9
+  .byte  197,52,84,200                       // vandps        %ymm0,%ymm9,%ymm9
+  .byte  197,60,92,209                       // vsubps        %ymm1,%ymm8,%ymm10
+  .byte  197,44,84,209                       // vandps        %ymm1,%ymm10,%ymm10
+  .byte  196,65,52,93,218                    // vminps        %ymm10,%ymm9,%ymm11
+  .byte  196,65,52,95,226                    // vmaxps        %ymm10,%ymm9,%ymm12
+  .byte  196,65,36,94,220                    // vdivps        %ymm12,%ymm11,%ymm11
+  .byte  196,65,36,89,227                    // vmulps        %ymm11,%ymm11,%ymm12
+  .byte  196,98,125,24,45,172,92,3,0         // vbroadcastss  0x35cac(%rip),%ymm13        # 3c638 <_sk_srcover_bgra_8888_sse2_lowp+0x3ec>
+  .byte  98,114,29,56,168,45,166,92,3,0      // vfmadd213ps   0x35ca6(%rip){1to8},%ymm12,%ymm13        # 3c63c <_sk_srcover_bgra_8888_sse2_lowp+0x3f0>
+  .byte  98,114,29,56,168,45,160,92,3,0      // vfmadd213ps   0x35ca0(%rip){1to8},%ymm12,%ymm13        # 3c640 <_sk_srcover_bgra_8888_sse2_lowp+0x3f4>
+  .byte  98,114,29,56,168,45,154,92,3,0      // vfmadd213ps   0x35c9a(%rip){1to8},%ymm12,%ymm13        # 3c644 <_sk_srcover_bgra_8888_sse2_lowp+0x3f8>
+  .byte  196,65,36,89,221                    // vmulps        %ymm13,%ymm11,%ymm11
+  .byte  98,209,52,40,194,194,1              // vcmpltps      %ymm10,%ymm9,%k0
+  .byte  98,114,126,40,56,200                // vpmovm2d      %k0,%ymm9
+  .byte  196,98,125,24,21,131,92,3,0         // vbroadcastss  0x35c83(%rip),%ymm10        # 3c648 <_sk_srcover_bgra_8888_sse2_lowp+0x3fc>
+  .byte  196,65,44,92,211                    // vsubps        %ymm11,%ymm10,%ymm10
+  .byte  196,67,37,74,202,144                // vblendvps     %ymm9,%ymm10,%ymm11,%ymm9
+  .byte  98,209,124,40,194,192,1             // vcmpltps      %ymm8,%ymm0,%k0
+  .byte  98,242,126,40,56,192                // vpmovm2d      %k0,%ymm0
+  .byte  196,98,125,24,21,18,91,3,0          // vbroadcastss  0x35b12(%rip),%ymm10        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  196,65,44,92,209                    // vsubps        %ymm9,%ymm10,%ymm10
+  .byte  196,195,53,74,194,0                 // vblendvps     %ymm0,%ymm10,%ymm9,%ymm0
+  .byte  98,209,116,40,194,192,1             // vcmpltps      %ymm8,%ymm1,%k0
+  .byte  98,114,126,40,56,200                // vpmovm2d      %k0,%ymm9
+  .byte  196,98,125,24,21,245,90,3,0         // vbroadcastss  0x35af5(%rip),%ymm10        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,44,92,208                       // vsubps        %ymm0,%ymm10,%ymm10
+  .byte  196,195,125,74,194,144              // vblendvps     %ymm9,%ymm10,%ymm0,%ymm0
+  .byte  98,209,124,40,194,192,3             // vcmpunordps   %ymm8,%ymm0,%k0
+  .byte  98,114,126,40,56,200                // vpmovm2d      %k0,%ymm9
+  .byte  196,195,125,74,192,144              // vblendvps     %ymm9,%ymm8,%ymm0,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xy_to_radius_skx
+.globl _sk_xy_to_radius_skx
+FUNCTION(_sk_xy_to_radius_skx)
+_sk_xy_to_radius_skx:
+  .byte  197,116,89,193                      // vmulps        %ymm1,%ymm1,%ymm8
+  .byte  196,98,125,184,192                  // vfmadd231ps   %ymm0,%ymm0,%ymm8
+  .byte  196,193,124,81,192                  // vsqrtps       %ymm8,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_negate_x_skx
+.globl _sk_negate_x_skx
+FUNCTION(_sk_negate_x_skx)
+_sk_negate_x_skx:
+  .byte  98,241,124,56,87,5,8,92,3,0         // vxorps        0x35c08(%rip){1to8},%ymm0,%ymm0        # 3c64c <_sk_srcover_bgra_8888_sse2_lowp+0x400>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xy_to_2pt_conical_strip_skx
+.globl _sk_xy_to_2pt_conical_strip_skx
+FUNCTION(_sk_xy_to_2pt_conical_strip_skx)
+_sk_xy_to_2pt_conical_strip_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,64,64                 // vbroadcastss  0x40(%rax),%ymm8
+  .byte  196,98,117,188,193                  // vfnmadd231ps  %ymm1,%ymm1,%ymm8
+  .byte  196,65,124,81,192                   // vsqrtps       %ymm8,%ymm8
+  .byte  197,188,88,192                      // vaddps        %ymm0,%ymm8,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xy_to_2pt_conical_focal_on_circle_skx
+.globl _sk_xy_to_2pt_conical_focal_on_circle_skx
+FUNCTION(_sk_xy_to_2pt_conical_focal_on_circle_skx)
+_sk_xy_to_2pt_conical_focal_on_circle_skx:
+  .byte  197,116,89,193                      // vmulps        %ymm1,%ymm1,%ymm8
+  .byte  197,60,94,192                       // vdivps        %ymm0,%ymm8,%ymm8
+  .byte  197,188,88,192                      // vaddps        %ymm0,%ymm8,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xy_to_2pt_conical_well_behaved_skx
+.globl _sk_xy_to_2pt_conical_well_behaved_skx
+FUNCTION(_sk_xy_to_2pt_conical_well_behaved_skx)
+_sk_xy_to_2pt_conical_well_behaved_skx:
+  .byte  197,116,89,193                      // vmulps        %ymm1,%ymm1,%ymm8
+  .byte  196,98,125,184,192                  // vfmadd231ps   %ymm0,%ymm0,%ymm8
+  .byte  196,65,124,81,192                   // vsqrtps       %ymm8,%ymm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,72,64                 // vbroadcastss  0x40(%rax),%ymm9
+  .byte  196,194,53,172,192                  // vfnmadd213ps  %ymm8,%ymm9,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xy_to_2pt_conical_greater_skx
+.globl _sk_xy_to_2pt_conical_greater_skx
+FUNCTION(_sk_xy_to_2pt_conical_greater_skx)
+_sk_xy_to_2pt_conical_greater_skx:
+  .byte  197,116,89,193                      // vmulps        %ymm1,%ymm1,%ymm8
+  .byte  196,98,125,186,192                  // vfmsub231ps   %ymm0,%ymm0,%ymm8
+  .byte  196,65,124,81,192                   // vsqrtps       %ymm8,%ymm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,72,64                 // vbroadcastss  0x40(%rax),%ymm9
+  .byte  196,194,53,172,192                  // vfnmadd213ps  %ymm8,%ymm9,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xy_to_2pt_conical_smaller_skx
+.globl _sk_xy_to_2pt_conical_smaller_skx
+FUNCTION(_sk_xy_to_2pt_conical_smaller_skx)
+_sk_xy_to_2pt_conical_smaller_skx:
+  .byte  197,116,89,193                      // vmulps        %ymm1,%ymm1,%ymm8
+  .byte  196,98,125,186,192                  // vfmsub231ps   %ymm0,%ymm0,%ymm8
+  .byte  196,65,124,81,192                   // vsqrtps       %ymm8,%ymm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,72,64                 // vbroadcastss  0x40(%rax),%ymm9
+  .byte  196,194,53,174,192                  // vfnmsub213ps  %ymm8,%ymm9,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_alter_2pt_conical_compensate_focal_skx
+.globl _sk_alter_2pt_conical_compensate_focal_skx
+FUNCTION(_sk_alter_2pt_conical_compensate_focal_skx)
+_sk_alter_2pt_conical_compensate_focal_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,64,68                 // vbroadcastss  0x44(%rax),%ymm8
+  .byte  197,188,88,192                      // vaddps        %ymm0,%ymm8,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_alter_2pt_conical_unswap_skx
+.globl _sk_alter_2pt_conical_unswap_skx
+FUNCTION(_sk_alter_2pt_conical_unswap_skx)
+_sk_alter_2pt_conical_unswap_skx:
+  .byte  196,98,125,24,5,20,90,3,0           // vbroadcastss  0x35a14(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,188,92,192                      // vsubps        %ymm0,%ymm8,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_mask_2pt_conical_nan_skx
+.globl _sk_mask_2pt_conical_nan_skx
+FUNCTION(_sk_mask_2pt_conical_nan_skx)
+_sk_mask_2pt_conical_nan_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  98,209,124,40,194,192,7             // vcmpordps     %ymm8,%ymm0,%k0
+  .byte  98,209,124,40,194,200,3             // vcmpunordps   %ymm8,%ymm0,%k1
+  .byte  98,114,126,40,56,201                // vpmovm2d      %k1,%ymm9
+  .byte  196,195,125,74,192,144              // vblendvps     %ymm9,%ymm8,%ymm0,%ymm0
+  .byte  98,114,126,40,56,200                // vpmovm2d      %k0,%ymm9
+  .byte  196,65,45,118,210                   // vpcmpeqd      %ymm10,%ymm10,%ymm10
+  .byte  196,67,61,74,194,144                // vblendvps     %ymm9,%ymm10,%ymm8,%ymm8
+  .byte  197,124,17,0                        // vmovups       %ymm8,(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_mask_2pt_conical_degenerates_skx
+.globl _sk_mask_2pt_conical_degenerates_skx
+FUNCTION(_sk_mask_2pt_conical_degenerates_skx)
+_sk_mask_2pt_conical_degenerates_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  98,241,60,40,194,192,1              // vcmpltps      %ymm0,%ymm8,%k0
+  .byte  98,241,60,40,194,200,5              // vcmpnltps     %ymm0,%ymm8,%k1
+  .byte  98,114,126,40,56,201                // vpmovm2d      %k1,%ymm9
+  .byte  196,195,125,74,192,144              // vblendvps     %ymm9,%ymm8,%ymm0,%ymm0
+  .byte  98,114,126,40,56,200                // vpmovm2d      %k0,%ymm9
+  .byte  196,65,45,118,210                   // vpcmpeqd      %ymm10,%ymm10,%ymm10
+  .byte  196,67,61,74,194,144                // vblendvps     %ymm9,%ymm10,%ymm8,%ymm8
+  .byte  197,124,17,0                        // vmovups       %ymm8,(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_apply_vector_mask_skx
+.globl _sk_apply_vector_mask_skx
+FUNCTION(_sk_apply_vector_mask_skx)
+_sk_apply_vector_mask_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,16,0                        // vmovups       (%rax),%ymm8
+  .byte  197,188,84,192                      // vandps        %ymm0,%ymm8,%ymm0
+  .byte  197,188,84,201                      // vandps        %ymm1,%ymm8,%ymm1
+  .byte  197,188,84,210                      // vandps        %ymm2,%ymm8,%ymm2
+  .byte  197,188,84,219                      // vandps        %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_save_xy_skx
+.globl _sk_save_xy_skx
+FUNCTION(_sk_save_xy_skx)
+_sk_save_xy_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,5,111,89,3,0          // vbroadcastss  0x3596f(%rip),%ymm8        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  196,65,124,88,200                   // vaddps        %ymm8,%ymm0,%ymm9
+  .byte  196,67,125,8,209,1                  // vroundps      $0x1,%ymm9,%ymm10
+  .byte  196,65,52,92,202                    // vsubps        %ymm10,%ymm9,%ymm9
+  .byte  196,65,116,88,192                   // vaddps        %ymm8,%ymm1,%ymm8
+  .byte  196,67,125,8,208,1                  // vroundps      $0x1,%ymm8,%ymm10
+  .byte  196,65,60,92,194                    // vsubps        %ymm10,%ymm8,%ymm8
+  .byte  197,252,17,0                        // vmovups       %ymm0,(%rax)
+  .byte  197,252,17,72,64                    // vmovups       %ymm1,0x40(%rax)
+  .byte  197,124,17,136,128,0,0,0            // vmovups       %ymm9,0x80(%rax)
+  .byte  197,124,17,128,192,0,0,0            // vmovups       %ymm8,0xc0(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_accumulate_skx
+.globl _sk_accumulate_skx
+FUNCTION(_sk_accumulate_skx)
+_sk_accumulate_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,16,128,0,1,0,0              // vmovups       0x100(%rax),%ymm8
+  .byte  197,60,89,128,64,1,0,0              // vmulps        0x140(%rax),%ymm8,%ymm8
+  .byte  196,226,61,184,224                  // vfmadd231ps   %ymm0,%ymm8,%ymm4
+  .byte  196,226,61,184,233                  // vfmadd231ps   %ymm1,%ymm8,%ymm5
+  .byte  196,226,61,184,242                  // vfmadd231ps   %ymm2,%ymm8,%ymm6
+  .byte  196,98,101,168,199                  // vfmadd213ps   %ymm7,%ymm3,%ymm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,41,199                      // vmovaps       %ymm8,%ymm7
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bilinear_nx_skx
+.globl _sk_bilinear_nx_skx
+FUNCTION(_sk_bilinear_nx_skx)
+_sk_bilinear_nx_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,16,0                        // vmovups       (%rax),%ymm0
+  .byte  98,241,124,56,88,5,76,90,3,0        // vaddps        0x35a4c(%rip){1to8},%ymm0,%ymm0        # 3c650 <_sk_srcover_bgra_8888_sse2_lowp+0x404>
+  .byte  196,98,125,24,5,239,88,3,0          // vbroadcastss  0x358ef(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,128,128,0,0,0             // vsubps        0x80(%rax),%ymm8,%ymm8
+  .byte  197,124,17,128,0,1,0,0              // vmovups       %ymm8,0x100(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bilinear_px_skx
+.globl _sk_bilinear_px_skx
+FUNCTION(_sk_bilinear_px_skx)
+_sk_bilinear_px_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,16,0                        // vmovups       (%rax),%ymm0
+  .byte  197,124,16,128,128,0,0,0            // vmovups       0x80(%rax),%ymm8
+  .byte  98,241,124,56,88,5,191,88,3,0       // vaddps        0x358bf(%rip){1to8},%ymm0,%ymm0        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  197,124,17,128,0,1,0,0              // vmovups       %ymm8,0x100(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bilinear_ny_skx
+.globl _sk_bilinear_ny_skx
+FUNCTION(_sk_bilinear_ny_skx)
+_sk_bilinear_ny_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,16,72,64                    // vmovups       0x40(%rax),%ymm1
+  .byte  98,241,116,56,88,13,250,89,3,0      // vaddps        0x359fa(%rip){1to8},%ymm1,%ymm1        # 3c650 <_sk_srcover_bgra_8888_sse2_lowp+0x404>
+  .byte  196,98,125,24,5,157,88,3,0          // vbroadcastss  0x3589d(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,128,192,0,0,0             // vsubps        0xc0(%rax),%ymm8,%ymm8
+  .byte  197,124,17,128,64,1,0,0             // vmovups       %ymm8,0x140(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bilinear_py_skx
+.globl _sk_bilinear_py_skx
+FUNCTION(_sk_bilinear_py_skx)
+_sk_bilinear_py_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,16,72,64                    // vmovups       0x40(%rax),%ymm1
+  .byte  197,124,16,128,192,0,0,0            // vmovups       0xc0(%rax),%ymm8
+  .byte  98,241,116,56,88,13,108,88,3,0      // vaddps        0x3586c(%rip){1to8},%ymm1,%ymm1        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  197,124,17,128,64,1,0,0             // vmovups       %ymm8,0x140(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bicubic_n3x_skx
+.globl _sk_bicubic_n3x_skx
+FUNCTION(_sk_bicubic_n3x_skx)
+_sk_bicubic_n3x_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,16,0                        // vmovups       (%rax),%ymm0
+  .byte  98,241,124,56,88,5,172,89,3,0       // vaddps        0x359ac(%rip){1to8},%ymm0,%ymm0        # 3c654 <_sk_srcover_bgra_8888_sse2_lowp+0x408>
+  .byte  196,98,125,24,5,75,88,3,0           // vbroadcastss  0x3584b(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,128,128,0,0,0             // vsubps        0x80(%rax),%ymm8,%ymm8
+  .byte  196,65,60,89,200                    // vmulps        %ymm8,%ymm8,%ymm9
+  .byte  196,98,125,24,21,145,89,3,0         // vbroadcastss  0x35991(%rip),%ymm10        # 3c658 <_sk_srcover_bgra_8888_sse2_lowp+0x40c>
+  .byte  98,114,61,56,168,21,159,88,3,0      // vfmadd213ps   0x3589f(%rip){1to8},%ymm8,%ymm10        # 3c570 <_sk_srcover_bgra_8888_sse2_lowp+0x324>
+  .byte  196,65,44,89,193                    // vmulps        %ymm9,%ymm10,%ymm8
+  .byte  197,124,17,128,0,1,0,0              // vmovups       %ymm8,0x100(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bicubic_n1x_skx
+.globl _sk_bicubic_n1x_skx
+FUNCTION(_sk_bicubic_n1x_skx)
+_sk_bicubic_n1x_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,16,0                        // vmovups       (%rax),%ymm0
+  .byte  98,241,124,56,88,5,94,89,3,0        // vaddps        0x3595e(%rip){1to8},%ymm0,%ymm0        # 3c650 <_sk_srcover_bgra_8888_sse2_lowp+0x404>
+  .byte  196,98,125,24,5,1,88,3,0            // vbroadcastss  0x35801(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,128,128,0,0,0             // vsubps        0x80(%rax),%ymm8,%ymm8
+  .byte  196,98,125,24,13,80,89,3,0          // vbroadcastss  0x35950(%rip),%ymm9        # 3c65c <_sk_srcover_bgra_8888_sse2_lowp+0x410>
+  .byte  98,114,61,56,168,13,74,89,3,0       // vfmadd213ps   0x3594a(%rip){1to8},%ymm8,%ymm9        # 3c660 <_sk_srcover_bgra_8888_sse2_lowp+0x414>
+  .byte  98,114,61,56,168,13,216,87,3,0      // vfmadd213ps   0x357d8(%rip){1to8},%ymm8,%ymm9        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  98,114,61,56,168,13,58,89,3,0       // vfmadd213ps   0x3593a(%rip){1to8},%ymm8,%ymm9        # 3c664 <_sk_srcover_bgra_8888_sse2_lowp+0x418>
+  .byte  197,124,17,136,0,1,0,0              // vmovups       %ymm9,0x100(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bicubic_p1x_skx
+.globl _sk_bicubic_p1x_skx
+FUNCTION(_sk_bicubic_p1x_skx)
+_sk_bicubic_p1x_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,5,183,87,3,0          // vbroadcastss  0x357b7(%rip),%ymm8        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  197,188,88,0                        // vaddps        (%rax),%ymm8,%ymm0
+  .byte  197,124,16,136,128,0,0,0            // vmovups       0x80(%rax),%ymm9
+  .byte  196,98,125,24,21,6,89,3,0           // vbroadcastss  0x35906(%rip),%ymm10        # 3c65c <_sk_srcover_bgra_8888_sse2_lowp+0x410>
+  .byte  98,114,53,56,168,21,0,89,3,0        // vfmadd213ps   0x35900(%rip){1to8},%ymm9,%ymm10        # 3c660 <_sk_srcover_bgra_8888_sse2_lowp+0x414>
+  .byte  196,66,53,168,208                   // vfmadd213ps   %ymm8,%ymm9,%ymm10
+  .byte  98,114,53,56,168,21,245,88,3,0      // vfmadd213ps   0x358f5(%rip){1to8},%ymm9,%ymm10        # 3c664 <_sk_srcover_bgra_8888_sse2_lowp+0x418>
+  .byte  197,124,17,144,0,1,0,0              // vmovups       %ymm10,0x100(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bicubic_p3x_skx
+.globl _sk_bicubic_p3x_skx
+FUNCTION(_sk_bicubic_p3x_skx)
+_sk_bicubic_p3x_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,16,0                        // vmovups       (%rax),%ymm0
+  .byte  197,124,16,128,128,0,0,0            // vmovups       0x80(%rax),%ymm8
+  .byte  98,241,124,56,88,5,205,88,3,0       // vaddps        0x358cd(%rip){1to8},%ymm0,%ymm0        # 3c660 <_sk_srcover_bgra_8888_sse2_lowp+0x414>
+  .byte  196,65,60,89,200                    // vmulps        %ymm8,%ymm8,%ymm9
+  .byte  196,98,125,24,21,183,88,3,0         // vbroadcastss  0x358b7(%rip),%ymm10        # 3c658 <_sk_srcover_bgra_8888_sse2_lowp+0x40c>
+  .byte  98,114,61,56,168,21,197,87,3,0      // vfmadd213ps   0x357c5(%rip){1to8},%ymm8,%ymm10        # 3c570 <_sk_srcover_bgra_8888_sse2_lowp+0x324>
+  .byte  196,65,52,89,194                    // vmulps        %ymm10,%ymm9,%ymm8
+  .byte  197,124,17,128,0,1,0,0              // vmovups       %ymm8,0x100(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bicubic_n3y_skx
+.globl _sk_bicubic_n3y_skx
+FUNCTION(_sk_bicubic_n3y_skx)
+_sk_bicubic_n3y_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,16,72,64                    // vmovups       0x40(%rax),%ymm1
+  .byte  98,241,116,56,88,13,135,88,3,0      // vaddps        0x35887(%rip){1to8},%ymm1,%ymm1        # 3c654 <_sk_srcover_bgra_8888_sse2_lowp+0x408>
+  .byte  196,98,125,24,5,38,87,3,0           // vbroadcastss  0x35726(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,128,192,0,0,0             // vsubps        0xc0(%rax),%ymm8,%ymm8
+  .byte  196,65,60,89,200                    // vmulps        %ymm8,%ymm8,%ymm9
+  .byte  196,98,125,24,21,108,88,3,0         // vbroadcastss  0x3586c(%rip),%ymm10        # 3c658 <_sk_srcover_bgra_8888_sse2_lowp+0x40c>
+  .byte  98,114,61,56,168,21,122,87,3,0      // vfmadd213ps   0x3577a(%rip){1to8},%ymm8,%ymm10        # 3c570 <_sk_srcover_bgra_8888_sse2_lowp+0x324>
+  .byte  196,65,44,89,193                    // vmulps        %ymm9,%ymm10,%ymm8
+  .byte  197,124,17,128,64,1,0,0             // vmovups       %ymm8,0x140(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bicubic_n1y_skx
+.globl _sk_bicubic_n1y_skx
+FUNCTION(_sk_bicubic_n1y_skx)
+_sk_bicubic_n1y_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,16,72,64                    // vmovups       0x40(%rax),%ymm1
+  .byte  98,241,116,56,88,13,56,88,3,0       // vaddps        0x35838(%rip){1to8},%ymm1,%ymm1        # 3c650 <_sk_srcover_bgra_8888_sse2_lowp+0x404>
+  .byte  196,98,125,24,5,219,86,3,0          // vbroadcastss  0x356db(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,128,192,0,0,0             // vsubps        0xc0(%rax),%ymm8,%ymm8
+  .byte  196,98,125,24,13,42,88,3,0          // vbroadcastss  0x3582a(%rip),%ymm9        # 3c65c <_sk_srcover_bgra_8888_sse2_lowp+0x410>
+  .byte  98,114,61,56,168,13,36,88,3,0       // vfmadd213ps   0x35824(%rip){1to8},%ymm8,%ymm9        # 3c660 <_sk_srcover_bgra_8888_sse2_lowp+0x414>
+  .byte  98,114,61,56,168,13,178,86,3,0      // vfmadd213ps   0x356b2(%rip){1to8},%ymm8,%ymm9        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  98,114,61,56,168,13,20,88,3,0       // vfmadd213ps   0x35814(%rip){1to8},%ymm8,%ymm9        # 3c664 <_sk_srcover_bgra_8888_sse2_lowp+0x418>
+  .byte  197,124,17,136,64,1,0,0             // vmovups       %ymm9,0x140(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bicubic_p1y_skx
+.globl _sk_bicubic_p1y_skx
+FUNCTION(_sk_bicubic_p1y_skx)
+_sk_bicubic_p1y_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,5,145,86,3,0          // vbroadcastss  0x35691(%rip),%ymm8        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  197,188,88,72,64                    // vaddps        0x40(%rax),%ymm8,%ymm1
+  .byte  197,124,16,136,192,0,0,0            // vmovups       0xc0(%rax),%ymm9
+  .byte  196,98,125,24,21,223,87,3,0         // vbroadcastss  0x357df(%rip),%ymm10        # 3c65c <_sk_srcover_bgra_8888_sse2_lowp+0x410>
+  .byte  98,114,53,56,168,21,217,87,3,0      // vfmadd213ps   0x357d9(%rip){1to8},%ymm9,%ymm10        # 3c660 <_sk_srcover_bgra_8888_sse2_lowp+0x414>
+  .byte  196,66,53,168,208                   // vfmadd213ps   %ymm8,%ymm9,%ymm10
+  .byte  98,114,53,56,168,21,206,87,3,0      // vfmadd213ps   0x357ce(%rip){1to8},%ymm9,%ymm10        # 3c664 <_sk_srcover_bgra_8888_sse2_lowp+0x418>
+  .byte  197,124,17,144,64,1,0,0             // vmovups       %ymm10,0x140(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bicubic_p3y_skx
+.globl _sk_bicubic_p3y_skx
+FUNCTION(_sk_bicubic_p3y_skx)
+_sk_bicubic_p3y_skx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,16,72,64                    // vmovups       0x40(%rax),%ymm1
+  .byte  197,124,16,128,192,0,0,0            // vmovups       0xc0(%rax),%ymm8
+  .byte  98,241,116,56,88,13,165,87,3,0      // vaddps        0x357a5(%rip){1to8},%ymm1,%ymm1        # 3c660 <_sk_srcover_bgra_8888_sse2_lowp+0x414>
+  .byte  196,65,60,89,200                    // vmulps        %ymm8,%ymm8,%ymm9
+  .byte  196,98,125,24,21,143,87,3,0         // vbroadcastss  0x3578f(%rip),%ymm10        # 3c658 <_sk_srcover_bgra_8888_sse2_lowp+0x40c>
+  .byte  98,114,61,56,168,21,157,86,3,0      // vfmadd213ps   0x3569d(%rip){1to8},%ymm8,%ymm10        # 3c570 <_sk_srcover_bgra_8888_sse2_lowp+0x324>
+  .byte  196,65,52,89,194                    // vmulps        %ymm10,%ymm9,%ymm8
+  .byte  197,124,17,128,64,1,0,0             // vmovups       %ymm8,0x140(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_callback_skx
+.globl _sk_callback_skx
+FUNCTION(_sk_callback_skx)
+_sk_callback_skx:
+  .byte  85                                  // push          %rbp
+  .byte  72,137,229                          // mov           %rsp,%rbp
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,85                               // push          %r13
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,131,228,224                      // and           $0xffffffffffffffe0,%rsp
+  .byte  72,129,236,160,0,0,0                // sub           $0xa0,%rsp
+  .byte  197,252,41,124,36,96                // vmovaps       %ymm7,0x60(%rsp)
+  .byte  197,252,41,116,36,64                // vmovaps       %ymm6,0x40(%rsp)
+  .byte  197,252,41,108,36,32                // vmovaps       %ymm5,0x20(%rsp)
+  .byte  197,252,41,36,36                    // vmovaps       %ymm4,(%rsp)
+  .byte  73,137,206                          // mov           %rcx,%r14
+  .byte  73,137,215                          // mov           %rdx,%r15
+  .byte  73,137,253                          // mov           %rdi,%r13
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  72,137,195                          // mov           %rax,%rbx
+  .byte  73,137,244                          // mov           %rsi,%r12
+  .byte  197,252,20,225                      // vunpcklps     %ymm1,%ymm0,%ymm4
+  .byte  197,252,21,193                      // vunpckhps     %ymm1,%ymm0,%ymm0
+  .byte  197,236,20,203                      // vunpcklps     %ymm3,%ymm2,%ymm1
+  .byte  197,236,21,211                      // vunpckhps     %ymm3,%ymm2,%ymm2
+  .byte  197,221,20,217                      // vunpcklpd     %ymm1,%ymm4,%ymm3
+  .byte  197,221,21,201                      // vunpckhpd     %ymm1,%ymm4,%ymm1
+  .byte  197,253,20,226                      // vunpcklpd     %ymm2,%ymm0,%ymm4
+  .byte  197,253,21,194                      // vunpckhpd     %ymm2,%ymm0,%ymm0
+  .byte  196,227,101,24,209,1                // vinsertf128   $0x1,%xmm1,%ymm3,%ymm2
+  .byte  196,227,93,24,232,1                 // vinsertf128   $0x1,%xmm0,%ymm4,%ymm5
+  .byte  196,227,101,6,201,49                // vperm2f128    $0x31,%ymm1,%ymm3,%ymm1
+  .byte  196,227,93,6,192,49                 // vperm2f128    $0x31,%ymm0,%ymm4,%ymm0
+  .byte  197,253,17,83,8                     // vmovupd       %ymm2,0x8(%rbx)
+  .byte  197,253,17,107,40                   // vmovupd       %ymm5,0x28(%rbx)
+  .byte  197,253,17,75,72                    // vmovupd       %ymm1,0x48(%rbx)
+  .byte  197,253,17,67,104                   // vmovupd       %ymm0,0x68(%rbx)
+  .byte  77,133,237                          // test          %r13,%r13
+  .byte  190,8,0,0,0                         // mov           $0x8,%esi
+  .byte  65,15,69,245                        // cmovne        %r13d,%esi
+  .byte  72,137,223                          // mov           %rbx,%rdi
+  .byte  197,248,119                         // vzeroupper
+  .byte  255,19                              // callq         *(%rbx)
+  .byte  72,139,131,8,1,0,0                  // mov           0x108(%rbx),%rax
+  .byte  197,248,16,0                        // vmovups       (%rax),%xmm0
+  .byte  197,248,16,72,16                    // vmovups       0x10(%rax),%xmm1
+  .byte  197,248,16,80,32                    // vmovups       0x20(%rax),%xmm2
+  .byte  197,248,16,88,48                    // vmovups       0x30(%rax),%xmm3
+  .byte  196,227,101,24,88,112,1             // vinsertf128   $0x1,0x70(%rax),%ymm3,%ymm3
+  .byte  196,227,109,24,80,96,1              // vinsertf128   $0x1,0x60(%rax),%ymm2,%ymm2
+  .byte  196,227,117,24,72,80,1              // vinsertf128   $0x1,0x50(%rax),%ymm1,%ymm1
+  .byte  196,227,125,24,64,64,1              // vinsertf128   $0x1,0x40(%rax),%ymm0,%ymm0
+  .byte  197,252,20,225                      // vunpcklps     %ymm1,%ymm0,%ymm4
+  .byte  197,252,21,233                      // vunpckhps     %ymm1,%ymm0,%ymm5
+  .byte  197,236,20,203                      // vunpcklps     %ymm3,%ymm2,%ymm1
+  .byte  197,236,21,219                      // vunpckhps     %ymm3,%ymm2,%ymm3
+  .byte  197,221,20,193                      // vunpcklpd     %ymm1,%ymm4,%ymm0
+  .byte  197,221,21,201                      // vunpckhpd     %ymm1,%ymm4,%ymm1
+  .byte  197,213,20,211                      // vunpcklpd     %ymm3,%ymm5,%ymm2
+  .byte  197,213,21,219                      // vunpckhpd     %ymm3,%ymm5,%ymm3
+  .byte  76,137,230                          // mov           %r12,%rsi
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,137,239                          // mov           %r13,%rdi
+  .byte  76,137,250                          // mov           %r15,%rdx
+  .byte  76,137,241                          // mov           %r14,%rcx
+  .byte  197,252,40,36,36                    // vmovaps       (%rsp),%ymm4
+  .byte  197,252,40,108,36,32                // vmovaps       0x20(%rsp),%ymm5
+  .byte  197,252,40,116,36,64                // vmovaps       0x40(%rsp),%ymm6
+  .byte  197,252,40,124,36,96                // vmovaps       0x60(%rsp),%ymm7
+  .byte  72,141,101,216                      // lea           -0x28(%rbp),%rsp
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,93                               // pop           %r13
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  93                                  // pop           %rbp
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_clut_3D_skx
+.globl _sk_clut_3D_skx
+FUNCTION(_sk_clut_3D_skx)
+_sk_clut_3D_skx:
+  .byte  72,129,236,24,1,0,0                 // sub           $0x118,%rsp
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  68,139,64,16                        // mov           0x10(%rax),%r8d
+  .byte  69,141,72,255                       // lea           -0x1(%r8),%r9d
+  .byte  98,82,125,40,124,193                // vpbroadcastd  %r9d,%ymm8
+  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
+  .byte  197,188,89,210                      // vmulps        %ymm2,%ymm8,%ymm2
+  .byte  197,126,91,210                      // vcvttps2dq    %ymm2,%ymm10
+  .byte  197,124,40,242                      // vmovaps       %ymm2,%ymm14
+  .byte  197,124,17,116,36,224               // vmovups       %ymm14,-0x20(%rsp)
+  .byte  196,65,121,110,192                  // vmovd         %r8d,%xmm8
+  .byte  98,210,125,40,124,208               // vpbroadcastd  %r8d,%ymm2
+  .byte  68,139,64,12                        // mov           0xc(%rax),%r8d
+  .byte  69,141,72,255                       // lea           -0x1(%r8),%r9d
+  .byte  98,82,125,40,124,201                // vpbroadcastd  %r9d,%ymm9
+  .byte  196,65,124,91,201                   // vcvtdq2ps     %ymm9,%ymm9
+  .byte  98,97,52,40,89,225                  // vmulps        %ymm1,%ymm9,%ymm28
+  .byte  98,145,126,40,91,204                // vcvttps2dq    %ymm28,%ymm1
+  .byte  197,254,127,140,36,128,0,0,0        // vmovdqu       %ymm1,0x80(%rsp)
+  .byte  98,98,109,40,64,201                 // vpmulld       %ymm1,%ymm2,%ymm25
+  .byte  98,81,53,32,254,202                 // vpaddd        %ymm10,%ymm25,%ymm9
+  .byte  196,65,125,111,250                  // vmovdqa       %ymm10,%ymm15
+  .byte  197,126,127,124,36,160              // vmovdqu       %ymm15,-0x60(%rsp)
+  .byte  196,193,121,110,200                 // vmovd         %r8d,%xmm1
+  .byte  196,194,117,64,200                  // vpmulld       %ymm8,%ymm1,%ymm1
+  .byte  196,98,125,88,193                   // vpbroadcastd  %xmm1,%ymm8
+  .byte  68,139,64,8                         // mov           0x8(%rax),%r8d
+  .byte  65,131,192,255                      // add           $0xffffffff,%r8d
+  .byte  98,210,125,40,124,200               // vpbroadcastd  %r8d,%ymm1
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  98,97,116,40,89,192                 // vmulps        %ymm0,%ymm1,%ymm24
+  .byte  98,145,126,40,91,192                // vcvttps2dq    %ymm24,%ymm0
+  .byte  197,254,127,68,36,128               // vmovdqu       %ymm0,-0x80(%rsp)
+  .byte  98,226,61,40,64,224                 // vpmulld       %ymm0,%ymm8,%ymm20
+  .byte  98,209,93,32,254,193                // vpaddd        %ymm9,%ymm20,%ymm0
+  .byte  72,139,0                            // mov           (%rax),%rax
+  .byte  98,98,125,40,88,29,153,85,3,0       // vpbroadcastd  0x35599(%rip),%ymm27        # 3c66c <_sk_srcover_bgra_8888_sse2_lowp+0x420>
+  .byte  98,146,125,40,64,195                // vpmulld       %ymm27,%ymm0,%ymm0
+  .byte  196,65,45,239,210                   // vpxor         %ymm10,%ymm10,%ymm10
+  .byte  197,245,118,201                     // vpcmpeqd      %ymm1,%ymm1,%ymm1
+  .byte  196,98,117,146,20,128               // vgatherdps    %ymm1,(%rax,%ymm0,4),%ymm10
+  .byte  98,193,124,40,40,210                // vmovaps       %ymm10,%ymm18
+  .byte  197,245,118,201                     // vpcmpeqd      %ymm1,%ymm1,%ymm1
+  .byte  197,125,250,209                     // vpsubd        %ymm1,%ymm0,%ymm10
+  .byte  196,65,21,118,237                   // vpcmpeqd      %ymm13,%ymm13,%ymm13
+  .byte  197,245,239,201                     // vpxor         %ymm1,%ymm1,%ymm1
+  .byte  196,65,37,118,219                   // vpcmpeqd      %ymm11,%ymm11,%ymm11
+  .byte  196,162,37,146,12,144               // vgatherdps    %ymm11,(%rax,%ymm10,4),%ymm1
+  .byte  98,97,124,40,40,233                 // vmovaps       %ymm1,%ymm29
+  .byte  196,98,125,24,21,79,85,3,0          // vbroadcastss  0x3554f(%rip),%ymm10        # 3c668 <_sk_srcover_bgra_8888_sse2_lowp+0x41c>
+  .byte  98,81,60,32,88,218                  // vaddps        %ymm10,%ymm24,%ymm11
+  .byte  98,226,125,40,88,5,223,83,3,0       // vpbroadcastd  0x353df(%rip),%ymm16        # 3c508 <_sk_srcover_bgra_8888_sse2_lowp+0x2bc>
+  .byte  98,177,125,40,254,192               // vpaddd        %ymm16,%ymm0,%ymm0
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  196,65,29,118,228                   // vpcmpeqd      %ymm12,%ymm12,%ymm12
+  .byte  196,226,29,146,12,128               // vgatherdps    %ymm12,(%rax,%ymm0,4),%ymm1
+  .byte  98,97,124,40,40,241                 // vmovaps       %ymm1,%ymm30
+  .byte  196,193,126,91,195                  // vcvttps2dq    %ymm11,%ymm0
+  .byte  98,226,61,40,64,232                 // vpmulld       %ymm0,%ymm8,%ymm21
+  .byte  98,209,85,32,254,193                // vpaddd        %ymm9,%ymm21,%ymm0
+  .byte  98,146,125,40,64,195                // vpmulld       %ymm27,%ymm0,%ymm0
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  196,65,61,118,192                   // vpcmpeqd      %ymm8,%ymm8,%ymm8
+  .byte  196,226,61,146,12,128               // vgatherdps    %ymm8,(%rax,%ymm0,4),%ymm1
+  .byte  197,252,17,140,36,224,0,0,0         // vmovups       %ymm1,0xe0(%rsp)
+  .byte  196,65,125,250,197                  // vpsubd        %ymm13,%ymm0,%ymm8
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  196,65,53,118,201                   // vpcmpeqd      %ymm9,%ymm9,%ymm9
+  .byte  196,162,53,146,12,128               // vgatherdps    %ymm9,(%rax,%ymm8,4),%ymm1
+  .byte  197,252,17,140,36,192,0,0,0         // vmovups       %ymm1,0xc0(%rsp)
+  .byte  98,81,28,32,88,194                  // vaddps        %ymm10,%ymm28,%ymm8
+  .byte  196,65,126,91,192                   // vcvttps2dq    %ymm8,%ymm8
+  .byte  98,177,125,40,254,192               // vpaddd        %ymm16,%ymm0,%ymm0
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  196,65,53,118,201                   // vpcmpeqd      %ymm9,%ymm9,%ymm9
+  .byte  196,226,53,146,12,128               // vgatherdps    %ymm9,(%rax,%ymm0,4),%ymm1
+  .byte  197,252,17,140,36,160,0,0,0         // vmovups       %ymm1,0xa0(%rsp)
+  .byte  98,66,109,40,64,208                 // vpmulld       %ymm8,%ymm2,%ymm26
+  .byte  98,209,45,32,254,199                // vpaddd        %ymm15,%ymm26,%ymm0
+  .byte  98,177,125,40,254,212               // vpaddd        %ymm20,%ymm0,%ymm2
+  .byte  98,146,109,40,64,211                // vpmulld       %ymm27,%ymm2,%ymm2
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  196,65,61,118,192                   // vpcmpeqd      %ymm8,%ymm8,%ymm8
+  .byte  196,226,61,146,12,144               // vgatherdps    %ymm8,(%rax,%ymm2,4),%ymm1
+  .byte  197,252,17,76,36,96                 // vmovups       %ymm1,0x60(%rsp)
+  .byte  196,65,109,250,197                  // vpsubd        %ymm13,%ymm2,%ymm8
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  196,65,53,118,201                   // vpcmpeqd      %ymm9,%ymm9,%ymm9
+  .byte  196,162,53,146,12,128               // vgatherdps    %ymm9,(%rax,%ymm8,4),%ymm1
+  .byte  197,252,17,76,36,64                 // vmovups       %ymm1,0x40(%rsp)
+  .byte  98,177,109,40,254,208               // vpaddd        %ymm16,%ymm2,%ymm2
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  196,65,61,118,192                   // vpcmpeqd      %ymm8,%ymm8,%ymm8
+  .byte  196,226,61,146,12,144               // vgatherdps    %ymm8,(%rax,%ymm2,4),%ymm1
+  .byte  197,252,17,76,36,32                 // vmovups       %ymm1,0x20(%rsp)
+  .byte  98,241,85,32,254,192                // vpaddd        %ymm0,%ymm21,%ymm0
+  .byte  98,146,125,40,64,195                // vpmulld       %ymm27,%ymm0,%ymm0
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  197,237,118,210                     // vpcmpeqd      %ymm2,%ymm2,%ymm2
+  .byte  196,226,109,146,12,128              // vgatherdps    %ymm2,(%rax,%ymm0,4),%ymm1
+  .byte  197,252,17,12,36                    // vmovups       %ymm1,(%rsp)
+  .byte  196,193,125,250,213                 // vpsubd        %ymm13,%ymm0,%ymm2
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  196,65,61,118,192                   // vpcmpeqd      %ymm8,%ymm8,%ymm8
+  .byte  196,226,61,146,12,144               // vgatherdps    %ymm8,(%rax,%ymm2,4),%ymm1
+  .byte  197,252,17,76,36,192                // vmovups       %ymm1,-0x40(%rsp)
+  .byte  98,177,125,40,254,192               // vpaddd        %ymm16,%ymm0,%ymm0
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  197,237,118,210                     // vpcmpeqd      %ymm2,%ymm2,%ymm2
+  .byte  196,226,109,146,12,128              // vgatherdps    %ymm2,(%rax,%ymm0,4),%ymm1
+  .byte  98,97,124,40,40,249                 // vmovaps       %ymm1,%ymm31
+  .byte  196,193,12,88,194                   // vaddps        %ymm10,%ymm14,%ymm0
+  .byte  197,254,91,192                      // vcvttps2dq    %ymm0,%ymm0
+  .byte  98,113,53,32,254,208                // vpaddd        %ymm0,%ymm25,%ymm10
+  .byte  98,209,93,32,254,210                // vpaddd        %ymm10,%ymm20,%ymm2
+  .byte  98,146,109,40,64,211                // vpmulld       %ymm27,%ymm2,%ymm2
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  196,65,53,118,201                   // vpcmpeqd      %ymm9,%ymm9,%ymm9
+  .byte  196,98,53,146,4,144                 // vgatherdps    %ymm9,(%rax,%ymm2,4),%ymm8
+  .byte  196,65,109,250,221                  // vpsubd        %ymm13,%ymm2,%ymm11
+  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
+  .byte  196,65,29,118,228                   // vpcmpeqd      %ymm12,%ymm12,%ymm12
+  .byte  196,34,29,146,12,152                // vgatherdps    %ymm12,(%rax,%ymm11,4),%ymm9
+  .byte  98,49,109,40,254,216                // vpaddd        %ymm16,%ymm2,%ymm11
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  196,65,29,118,228                   // vpcmpeqd      %ymm12,%ymm12,%ymm12
+  .byte  196,162,29,146,12,152               // vgatherdps    %ymm12,(%rax,%ymm11,4),%ymm1
+  .byte  98,225,124,40,40,249                // vmovaps       %ymm1,%ymm23
+  .byte  98,81,85,32,254,210                 // vpaddd        %ymm10,%ymm21,%ymm10
+  .byte  98,18,45,40,64,211                  // vpmulld       %ymm27,%ymm10,%ymm10
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  196,65,29,118,228                   // vpcmpeqd      %ymm12,%ymm12,%ymm12
+  .byte  196,162,29,146,12,144               // vgatherdps    %ymm12,(%rax,%ymm10,4),%ymm1
+  .byte  98,225,124,40,40,201                // vmovaps       %ymm1,%ymm17
+  .byte  196,65,45,250,245                   // vpsubd        %ymm13,%ymm10,%ymm14
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  196,65,5,118,255                    // vpcmpeqd      %ymm15,%ymm15,%ymm15
+  .byte  196,162,5,146,12,176                // vgatherdps    %ymm15,(%rax,%ymm14,4),%ymm1
+  .byte  98,225,124,40,40,241                // vmovaps       %ymm1,%ymm22
+  .byte  98,49,45,40,254,240                 // vpaddd        %ymm16,%ymm10,%ymm14
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  196,65,5,118,255                    // vpcmpeqd      %ymm15,%ymm15,%ymm15
+  .byte  196,162,5,146,12,176                // vgatherdps    %ymm15,(%rax,%ymm14,4),%ymm1
+  .byte  98,225,124,40,40,217                // vmovaps       %ymm1,%ymm19
+  .byte  98,97,45,32,254,200                 // vpaddd        %ymm0,%ymm26,%ymm25
+  .byte  98,177,53,32,254,196                // vpaddd        %ymm20,%ymm25,%ymm0
+  .byte  98,18,125,40,64,243                 // vpmulld       %ymm27,%ymm0,%ymm14
+  .byte  197,253,239,192                     // vpxor         %ymm0,%ymm0,%ymm0
+  .byte  196,65,5,118,255                    // vpcmpeqd      %ymm15,%ymm15,%ymm15
+  .byte  196,162,5,146,4,176                 // vgatherdps    %ymm15,(%rax,%ymm14,4),%ymm0
+  .byte  196,65,45,118,210                   // vpcmpeqd      %ymm10,%ymm10,%ymm10
+  .byte  196,193,13,250,202                  // vpsubd        %ymm10,%ymm14,%ymm1
+  .byte  196,65,4,87,255                     // vxorps        %ymm15,%ymm15,%ymm15
+  .byte  196,65,29,118,228                   // vpcmpeqd      %ymm12,%ymm12,%ymm12
+  .byte  196,98,29,146,60,136                // vgatherdps    %ymm12,(%rax,%ymm1,4),%ymm15
+  .byte  98,177,13,40,254,200                // vpaddd        %ymm16,%ymm14,%ymm1
+  .byte  196,65,12,87,246                    // vxorps        %ymm14,%ymm14,%ymm14
+  .byte  196,65,29,118,228                   // vpcmpeqd      %ymm12,%ymm12,%ymm12
+  .byte  196,98,29,146,52,136                // vgatherdps    %ymm12,(%rax,%ymm1,4),%ymm14
+  .byte  98,145,85,32,254,201                // vpaddd        %ymm25,%ymm21,%ymm1
+  .byte  98,146,117,40,64,203                // vpmulld       %ymm27,%ymm1,%ymm1
+  .byte  196,65,28,87,228                    // vxorps        %ymm12,%ymm12,%ymm12
+  .byte  196,65,37,118,219                   // vpcmpeqd      %ymm11,%ymm11,%ymm11
+  .byte  196,98,37,146,36,136                // vgatherdps    %ymm11,(%rax,%ymm1,4),%ymm12
+  .byte  196,193,117,250,210                 // vpsubd        %ymm10,%ymm1,%ymm2
+  .byte  196,65,37,118,219                   // vpcmpeqd      %ymm11,%ymm11,%ymm11
+  .byte  196,65,21,239,237                   // vpxor         %ymm13,%ymm13,%ymm13
+  .byte  196,65,45,118,210                   // vpcmpeqd      %ymm10,%ymm10,%ymm10
+  .byte  196,98,45,146,44,144                // vgatherdps    %ymm10,(%rax,%ymm2,4),%ymm13
+  .byte  98,177,117,40,254,200               // vpaddd        %ymm16,%ymm1,%ymm1
+  .byte  196,65,44,87,210                    // vxorps        %ymm10,%ymm10,%ymm10
+  .byte  196,98,37,146,20,136                // vgatherdps    %ymm11,(%rax,%ymm1,4),%ymm10
+  .byte  197,252,16,140,36,224,0,0,0         // vmovups       0xe0(%rsp),%ymm1
+  .byte  98,177,116,40,92,202                // vsubps        %ymm18,%ymm1,%ymm1
+  .byte  197,252,16,84,36,128                // vmovups       -0x80(%rsp),%ymm2
+  .byte  197,124,91,218                      // vcvtdq2ps     %ymm2,%ymm11
+  .byte  98,81,60,32,92,219                  // vsubps        %ymm11,%ymm24,%ymm11
+  .byte  98,178,37,40,168,202                // vfmadd213ps   %ymm18,%ymm11,%ymm1
+  .byte  197,252,16,148,36,192,0,0,0         // vmovups       0xc0(%rsp),%ymm2
+  .byte  98,129,108,40,92,197                // vsubps        %ymm29,%ymm2,%ymm16
+  .byte  98,130,37,40,168,197                // vfmadd213ps   %ymm29,%ymm11,%ymm16
+  .byte  197,252,16,148,36,160,0,0,0         // vmovups       0xa0(%rsp),%ymm2
+  .byte  98,129,108,40,92,214                // vsubps        %ymm30,%ymm2,%ymm18
+  .byte  98,130,37,40,168,214                // vfmadd213ps   %ymm30,%ymm11,%ymm18
+  .byte  197,252,16,84,36,96                 // vmovups       0x60(%rsp),%ymm2
+  .byte  98,225,124,40,16,36,36              // vmovups       (%rsp),%ymm20
+  .byte  98,225,92,32,92,226                 // vsubps        %ymm2,%ymm20,%ymm20
+  .byte  98,226,37,40,168,226                // vfmadd213ps   %ymm2,%ymm11,%ymm20
+  .byte  197,252,16,84,36,64                 // vmovups       0x40(%rsp),%ymm2
+  .byte  98,225,124,40,16,108,36,254         // vmovups       -0x40(%rsp),%ymm21
+  .byte  98,225,84,32,92,234                 // vsubps        %ymm2,%ymm21,%ymm21
+  .byte  98,226,37,40,168,234                // vfmadd213ps   %ymm2,%ymm11,%ymm21
+  .byte  197,252,16,84,36,32                 // vmovups       0x20(%rsp),%ymm2
+  .byte  98,97,4,32,92,194                   // vsubps        %ymm2,%ymm31,%ymm24
+  .byte  98,98,37,40,168,194                 // vfmadd213ps   %ymm2,%ymm11,%ymm24
+  .byte  98,65,116,32,92,200                 // vsubps        %ymm8,%ymm17,%ymm25
+  .byte  98,66,37,40,168,200                 // vfmadd213ps   %ymm8,%ymm11,%ymm25
+  .byte  197,252,16,148,36,128,0,0,0         // vmovups       0x80(%rsp),%ymm2
+  .byte  197,124,91,194                      // vcvtdq2ps     %ymm2,%ymm8
+  .byte  98,81,28,32,92,192                  // vsubps        %ymm8,%ymm28,%ymm8
+  .byte  98,225,92,32,92,201                 // vsubps        %ymm1,%ymm20,%ymm17
+  .byte  98,226,61,40,168,201                // vfmadd213ps   %ymm1,%ymm8,%ymm17
+  .byte  98,161,84,32,92,224                 // vsubps        %ymm16,%ymm21,%ymm20
+  .byte  98,162,61,40,168,224                // vfmadd213ps   %ymm16,%ymm8,%ymm20
+  .byte  98,161,60,32,92,194                 // vsubps        %ymm18,%ymm24,%ymm16
+  .byte  98,162,61,40,168,194                // vfmadd213ps   %ymm18,%ymm8,%ymm16
+  .byte  98,209,76,32,92,201                 // vsubps        %ymm9,%ymm22,%ymm1
+  .byte  196,194,37,168,201                  // vfmadd213ps   %ymm9,%ymm11,%ymm1
+  .byte  98,49,100,32,92,207                 // vsubps        %ymm23,%ymm19,%ymm9
+  .byte  98,50,37,40,168,207                 // vfmadd213ps   %ymm23,%ymm11,%ymm9
+  .byte  197,156,92,208                      // vsubps        %ymm0,%ymm12,%ymm2
+  .byte  196,226,37,168,208                  // vfmadd213ps   %ymm0,%ymm11,%ymm2
+  .byte  196,193,20,92,199                   // vsubps        %ymm15,%ymm13,%ymm0
+  .byte  196,194,37,168,199                  // vfmadd213ps   %ymm15,%ymm11,%ymm0
+  .byte  196,65,44,92,214                    // vsubps        %ymm14,%ymm10,%ymm10
+  .byte  196,66,37,168,214                   // vfmadd213ps   %ymm14,%ymm11,%ymm10
+  .byte  98,145,108,40,92,209                // vsubps        %ymm25,%ymm2,%ymm2
+  .byte  98,146,61,40,168,209                // vfmadd213ps   %ymm25,%ymm8,%ymm2
+  .byte  197,124,92,217                      // vsubps        %ymm1,%ymm0,%ymm11
+  .byte  196,98,61,168,217                   // vfmadd213ps   %ymm1,%ymm8,%ymm11
+  .byte  196,65,44,92,209                    // vsubps        %ymm9,%ymm10,%ymm10
+  .byte  196,66,61,168,209                   // vfmadd213ps   %ymm9,%ymm8,%ymm10
+  .byte  197,252,16,68,36,160                // vmovups       -0x60(%rsp),%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  197,252,16,76,36,224                // vmovups       -0x20(%rsp),%ymm1
+  .byte  197,116,92,192                      // vsubps        %ymm0,%ymm1,%ymm8
+  .byte  98,177,108,40,92,193                // vsubps        %ymm17,%ymm2,%ymm0
+  .byte  98,178,61,40,168,193                // vfmadd213ps   %ymm17,%ymm8,%ymm0
+  .byte  98,177,36,40,92,204                 // vsubps        %ymm20,%ymm11,%ymm1
+  .byte  98,178,61,40,168,204                // vfmadd213ps   %ymm20,%ymm8,%ymm1
+  .byte  98,177,44,40,92,208                 // vsubps        %ymm16,%ymm10,%ymm2
+  .byte  98,178,61,40,168,208                // vfmadd213ps   %ymm16,%ymm8,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  72,129,196,24,1,0,0                 // add           $0x118,%rsp
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_clut_4D_skx
+.globl _sk_clut_4D_skx
+FUNCTION(_sk_clut_4D_skx)
+_sk_clut_4D_skx:
+  .byte  72,129,236,88,5,0,0                 // sub           $0x558,%rsp
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  68,139,64,20                        // mov           0x14(%rax),%r8d
+  .byte  69,141,72,255                       // lea           -0x1(%r8),%r9d
+  .byte  98,82,125,40,124,193                // vpbroadcastd  %r9d,%ymm8
+  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
+  .byte  197,188,89,219                      // vmulps        %ymm3,%ymm8,%ymm3
+  .byte  197,126,91,211                      // vcvttps2dq    %ymm3,%ymm10
+  .byte  197,124,40,251                      // vmovaps       %ymm3,%ymm15
+  .byte  197,124,17,188,36,160,2,0,0         // vmovups       %ymm15,0x2a0(%rsp)
+  .byte  196,65,121,110,200                  // vmovd         %r8d,%xmm9
+  .byte  98,210,125,40,124,216               // vpbroadcastd  %r8d,%ymm3
+  .byte  68,139,64,16                        // mov           0x10(%rax),%r8d
+  .byte  69,141,72,255                       // lea           -0x1(%r8),%r9d
+  .byte  98,82,125,40,124,193                // vpbroadcastd  %r9d,%ymm8
+  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
+  .byte  197,60,89,194                       // vmulps        %ymm2,%ymm8,%ymm8
+  .byte  196,193,126,91,208                  // vcvttps2dq    %ymm8,%ymm2
+  .byte  98,193,124,40,40,248                // vmovaps       %ymm8,%ymm23
+  .byte  98,225,124,40,17,124,36,14          // vmovups       %ymm23,0x1c0(%rsp)
+  .byte  197,254,127,148,36,32,5,0,0         // vmovdqu       %ymm2,0x520(%rsp)
+  .byte  98,226,101,40,64,218                // vpmulld       %ymm2,%ymm3,%ymm19
+  .byte  98,81,101,32,254,194                // vpaddd        %ymm10,%ymm19,%ymm8
+  .byte  98,193,253,40,111,210               // vmovdqa64     %ymm10,%ymm18
+  .byte  98,225,254,40,127,84,36,33          // vmovdqu64     %ymm18,0x420(%rsp)
+  .byte  196,65,121,110,208                  // vmovd         %r8d,%xmm10
+  .byte  196,66,45,64,209                    // vpmulld       %ymm9,%ymm10,%ymm10
+  .byte  196,66,125,88,202                   // vpbroadcastd  %xmm10,%ymm9
+  .byte  68,139,64,12                        // mov           0xc(%rax),%r8d
+  .byte  69,141,72,255                       // lea           -0x1(%r8),%r9d
+  .byte  98,82,125,40,124,217                // vpbroadcastd  %r9d,%ymm11
+  .byte  196,65,124,91,219                   // vcvtdq2ps     %ymm11,%ymm11
+  .byte  197,164,89,209                      // vmulps        %ymm1,%ymm11,%ymm2
+  .byte  197,254,91,202                      // vcvttps2dq    %ymm2,%ymm1
+  .byte  98,97,124,40,40,202                 // vmovaps       %ymm2,%ymm25
+  .byte  98,97,124,40,17,76,36,13            // vmovups       %ymm25,0x1a0(%rsp)
+  .byte  197,254,127,140,36,0,5,0,0          // vmovdqu       %ymm1,0x500(%rsp)
+  .byte  98,98,53,40,64,193                  // vpmulld       %ymm1,%ymm9,%ymm24
+  .byte  98,209,61,32,254,200                // vpaddd        %ymm8,%ymm24,%ymm1
+  .byte  196,65,121,110,216                  // vmovd         %r8d,%xmm11
+  .byte  196,66,37,64,210                    // vpmulld       %ymm10,%ymm11,%ymm10
+  .byte  196,66,125,88,210                   // vpbroadcastd  %xmm10,%ymm10
+  .byte  68,139,64,8                         // mov           0x8(%rax),%r8d
+  .byte  65,131,192,255                      // add           $0xffffffff,%r8d
+  .byte  98,82,125,40,124,216                // vpbroadcastd  %r8d,%ymm11
+  .byte  196,65,124,91,219                   // vcvtdq2ps     %ymm11,%ymm11
+  .byte  98,97,36,40,89,224                  // vmulps        %ymm0,%ymm11,%ymm28
+  .byte  98,129,126,40,91,236                // vcvttps2dq    %ymm28,%ymm21
+  .byte  98,162,45,40,64,229                 // vpmulld       %ymm21,%ymm10,%ymm20
+  .byte  98,241,93,32,254,193                // vpaddd        %ymm1,%ymm20,%ymm0
+  .byte  72,139,0                            // mov           (%rax),%rax
+  .byte  98,226,125,40,88,5,43,80,3,0        // vpbroadcastd  0x3502b(%rip),%ymm16        # 3c66c <_sk_srcover_bgra_8888_sse2_lowp+0x420>
+  .byte  98,50,125,40,64,216                 // vpmulld       %ymm16,%ymm0,%ymm11
+  .byte  196,65,28,87,228                    // vxorps        %ymm12,%ymm12,%ymm12
+  .byte  197,253,118,192                     // vpcmpeqd      %ymm0,%ymm0,%ymm0
+  .byte  196,34,125,146,36,152               // vgatherdps    %ymm0,(%rax,%ymm11,4),%ymm12
+  .byte  197,124,17,164,36,224,4,0,0         // vmovups       %ymm12,0x4e0(%rsp)
+  .byte  196,65,13,118,246                   // vpcmpeqd      %ymm14,%ymm14,%ymm14
+  .byte  196,193,37,250,198                  // vpsubd        %ymm14,%ymm11,%ymm0
+  .byte  196,65,20,87,237                    // vxorps        %ymm13,%ymm13,%ymm13
+  .byte  196,65,29,118,228                   // vpcmpeqd      %ymm12,%ymm12,%ymm12
+  .byte  196,98,29,146,44,128                // vgatherdps    %ymm12,(%rax,%ymm0,4),%ymm13
+  .byte  197,124,17,172,36,192,4,0,0         // vmovups       %ymm13,0x4c0(%rsp)
+  .byte  196,226,125,24,5,221,79,3,0         // vbroadcastss  0x34fdd(%rip),%ymm0        # 3c668 <_sk_srcover_bgra_8888_sse2_lowp+0x41c>
+  .byte  98,113,28,32,88,224                 // vaddps        %ymm0,%ymm28,%ymm12
+  .byte  98,226,125,40,88,13,109,78,3,0      // vpbroadcastd  0x34e6d(%rip),%ymm17        # 3c508 <_sk_srcover_bgra_8888_sse2_lowp+0x2bc>
+  .byte  98,49,37,40,254,217                 // vpaddd        %ymm17,%ymm11,%ymm11
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  196,65,21,118,237                   // vpcmpeqd      %ymm13,%ymm13,%ymm13
+  .byte  196,162,21,146,20,152               // vgatherdps    %ymm13,(%rax,%ymm11,4),%ymm2
+  .byte  197,252,17,148,36,160,4,0,0         // vmovups       %ymm2,0x4a0(%rsp)
+  .byte  196,65,126,91,220                   // vcvttps2dq    %ymm12,%ymm11
+  .byte  98,194,45,40,64,243                 // vpmulld       %ymm11,%ymm10,%ymm22
+  .byte  98,241,77,32,254,201                // vpaddd        %ymm1,%ymm22,%ymm1
+  .byte  98,178,117,40,64,200                // vpmulld       %ymm16,%ymm1,%ymm1
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  196,65,45,118,210                   // vpcmpeqd      %ymm10,%ymm10,%ymm10
+  .byte  196,226,45,146,20,136               // vgatherdps    %ymm10,(%rax,%ymm1,4),%ymm2
+  .byte  197,252,17,148,36,128,4,0,0         // vmovups       %ymm2,0x480(%rsp)
+  .byte  196,65,117,250,214                  // vpsubd        %ymm14,%ymm1,%ymm10
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  196,65,37,118,219                   // vpcmpeqd      %ymm11,%ymm11,%ymm11
+  .byte  196,162,37,146,20,144               // vgatherdps    %ymm11,(%rax,%ymm10,4),%ymm2
+  .byte  197,252,17,148,36,96,4,0,0          // vmovups       %ymm2,0x460(%rsp)
+  .byte  98,113,52,32,88,208                 // vaddps        %ymm0,%ymm25,%ymm10
+  .byte  196,65,126,91,210                   // vcvttps2dq    %ymm10,%ymm10
+  .byte  98,177,117,40,254,201               // vpaddd        %ymm17,%ymm1,%ymm1
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  196,65,37,118,219                   // vpcmpeqd      %ymm11,%ymm11,%ymm11
+  .byte  196,226,37,146,20,136               // vgatherdps    %ymm11,(%rax,%ymm1,4),%ymm2
+  .byte  197,252,17,148,36,64,4,0,0          // vmovups       %ymm2,0x440(%rsp)
+  .byte  98,66,53,40,64,234                  // vpmulld       %ymm10,%ymm9,%ymm29
+  .byte  98,209,21,32,254,200                // vpaddd        %ymm8,%ymm29,%ymm1
+  .byte  98,49,117,40,254,196                // vpaddd        %ymm20,%ymm1,%ymm8
+  .byte  98,50,61,40,64,192                  // vpmulld       %ymm16,%ymm8,%ymm8
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  196,65,53,118,201                   // vpcmpeqd      %ymm9,%ymm9,%ymm9
+  .byte  196,162,53,146,20,128               // vgatherdps    %ymm9,(%rax,%ymm8,4),%ymm2
+  .byte  197,252,17,148,36,0,4,0,0           // vmovups       %ymm2,0x400(%rsp)
+  .byte  196,65,61,250,206                   // vpsubd        %ymm14,%ymm8,%ymm9
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  196,65,45,118,210                   // vpcmpeqd      %ymm10,%ymm10,%ymm10
+  .byte  196,162,45,146,20,136               // vgatherdps    %ymm10,(%rax,%ymm9,4),%ymm2
+  .byte  197,252,17,148,36,224,3,0,0         // vmovups       %ymm2,0x3e0(%rsp)
+  .byte  98,49,61,40,254,193                 // vpaddd        %ymm17,%ymm8,%ymm8
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  196,65,53,118,201                   // vpcmpeqd      %ymm9,%ymm9,%ymm9
+  .byte  196,162,53,146,20,128               // vgatherdps    %ymm9,(%rax,%ymm8,4),%ymm2
+  .byte  197,252,17,148,36,192,3,0,0         // vmovups       %ymm2,0x3c0(%rsp)
+  .byte  98,241,77,32,254,201                // vpaddd        %ymm1,%ymm22,%ymm1
+  .byte  98,178,117,40,64,200                // vpmulld       %ymm16,%ymm1,%ymm1
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  196,65,61,118,192                   // vpcmpeqd      %ymm8,%ymm8,%ymm8
+  .byte  196,226,61,146,20,136               // vgatherdps    %ymm8,(%rax,%ymm1,4),%ymm2
+  .byte  197,252,17,148,36,160,3,0,0         // vmovups       %ymm2,0x3a0(%rsp)
+  .byte  196,65,117,250,198                  // vpsubd        %ymm14,%ymm1,%ymm8
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  196,65,53,118,201                   // vpcmpeqd      %ymm9,%ymm9,%ymm9
+  .byte  196,162,53,146,20,128               // vgatherdps    %ymm9,(%rax,%ymm8,4),%ymm2
+  .byte  197,252,17,148,36,128,3,0,0         // vmovups       %ymm2,0x380(%rsp)
+  .byte  98,177,117,40,254,201               // vpaddd        %ymm17,%ymm1,%ymm1
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  196,65,61,118,192                   // vpcmpeqd      %ymm8,%ymm8,%ymm8
+  .byte  196,226,61,146,20,136               // vgatherdps    %ymm8,(%rax,%ymm1,4),%ymm2
+  .byte  197,252,17,148,36,96,3,0,0          // vmovups       %ymm2,0x360(%rsp)
+  .byte  98,241,68,32,88,200                 // vaddps        %ymm0,%ymm23,%ymm1
+  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
+  .byte  98,98,101,40,64,249                 // vpmulld       %ymm1,%ymm3,%ymm31
+  .byte  98,177,5,32,254,202                 // vpaddd        %ymm18,%ymm31,%ymm1
+  .byte  98,145,117,40,254,216               // vpaddd        %ymm24,%ymm1,%ymm3
+  .byte  98,49,101,40,254,196                // vpaddd        %ymm20,%ymm3,%ymm8
+  .byte  98,50,61,40,64,192                  // vpmulld       %ymm16,%ymm8,%ymm8
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  196,65,53,118,201                   // vpcmpeqd      %ymm9,%ymm9,%ymm9
+  .byte  196,162,53,146,20,128               // vgatherdps    %ymm9,(%rax,%ymm8,4),%ymm2
+  .byte  197,252,17,148,36,64,3,0,0          // vmovups       %ymm2,0x340(%rsp)
+  .byte  196,65,61,250,206                   // vpsubd        %ymm14,%ymm8,%ymm9
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  196,65,45,118,210                   // vpcmpeqd      %ymm10,%ymm10,%ymm10
+  .byte  196,162,45,146,20,136               // vgatherdps    %ymm10,(%rax,%ymm9,4),%ymm2
+  .byte  197,252,17,148,36,32,3,0,0          // vmovups       %ymm2,0x320(%rsp)
+  .byte  98,49,61,40,254,193                 // vpaddd        %ymm17,%ymm8,%ymm8
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  196,65,53,118,201                   // vpcmpeqd      %ymm9,%ymm9,%ymm9
+  .byte  196,162,53,146,20,128               // vgatherdps    %ymm9,(%rax,%ymm8,4),%ymm2
+  .byte  197,252,17,148,36,0,3,0,0           // vmovups       %ymm2,0x300(%rsp)
+  .byte  98,241,77,32,254,219                // vpaddd        %ymm3,%ymm22,%ymm3
+  .byte  98,178,101,40,64,216                // vpmulld       %ymm16,%ymm3,%ymm3
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  196,65,61,118,192                   // vpcmpeqd      %ymm8,%ymm8,%ymm8
+  .byte  196,226,61,146,20,152               // vgatherdps    %ymm8,(%rax,%ymm3,4),%ymm2
+  .byte  197,252,17,148,36,224,2,0,0         // vmovups       %ymm2,0x2e0(%rsp)
+  .byte  196,65,101,250,198                  // vpsubd        %ymm14,%ymm3,%ymm8
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  196,65,53,118,201                   // vpcmpeqd      %ymm9,%ymm9,%ymm9
+  .byte  196,162,53,146,20,128               // vgatherdps    %ymm9,(%rax,%ymm8,4),%ymm2
+  .byte  197,252,17,148,36,192,2,0,0         // vmovups       %ymm2,0x2c0(%rsp)
+  .byte  98,177,101,40,254,217               // vpaddd        %ymm17,%ymm3,%ymm3
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  196,65,61,118,192                   // vpcmpeqd      %ymm8,%ymm8,%ymm8
+  .byte  196,226,61,146,20,152               // vgatherdps    %ymm8,(%rax,%ymm3,4),%ymm2
+  .byte  197,252,17,148,36,128,2,0,0         // vmovups       %ymm2,0x280(%rsp)
+  .byte  98,241,21,32,254,201                // vpaddd        %ymm1,%ymm29,%ymm1
+  .byte  98,177,117,40,254,220               // vpaddd        %ymm20,%ymm1,%ymm3
+  .byte  98,178,101,40,64,216                // vpmulld       %ymm16,%ymm3,%ymm3
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  196,65,61,118,192                   // vpcmpeqd      %ymm8,%ymm8,%ymm8
+  .byte  196,226,61,146,20,152               // vgatherdps    %ymm8,(%rax,%ymm3,4),%ymm2
+  .byte  197,252,17,148,36,96,2,0,0          // vmovups       %ymm2,0x260(%rsp)
+  .byte  196,65,101,250,198                  // vpsubd        %ymm14,%ymm3,%ymm8
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  196,65,53,118,201                   // vpcmpeqd      %ymm9,%ymm9,%ymm9
+  .byte  196,162,53,146,20,128               // vgatherdps    %ymm9,(%rax,%ymm8,4),%ymm2
+  .byte  197,252,17,148,36,64,2,0,0          // vmovups       %ymm2,0x240(%rsp)
+  .byte  98,177,101,40,254,217               // vpaddd        %ymm17,%ymm3,%ymm3
+  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
+  .byte  196,65,61,118,192                   // vpcmpeqd      %ymm8,%ymm8,%ymm8
+  .byte  196,98,61,146,12,152                // vgatherdps    %ymm8,(%rax,%ymm3,4),%ymm9
+  .byte  98,241,77,32,254,201                // vpaddd        %ymm1,%ymm22,%ymm1
+  .byte  98,178,117,40,64,200                // vpmulld       %ymm16,%ymm1,%ymm1
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  196,226,101,146,20,136              // vgatherdps    %ymm3,(%rax,%ymm1,4),%ymm2
+  .byte  197,252,17,148,36,32,2,0,0          // vmovups       %ymm2,0x220(%rsp)
+  .byte  196,193,117,250,222                 // vpsubd        %ymm14,%ymm1,%ymm3
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  196,65,61,118,192                   // vpcmpeqd      %ymm8,%ymm8,%ymm8
+  .byte  196,226,61,146,20,152               // vgatherdps    %ymm8,(%rax,%ymm3,4),%ymm2
+  .byte  197,252,17,148,36,0,2,0,0           // vmovups       %ymm2,0x200(%rsp)
+  .byte  98,177,117,40,254,201               // vpaddd        %ymm17,%ymm1,%ymm1
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  196,226,101,146,20,136              // vgatherdps    %ymm3,(%rax,%ymm1,4),%ymm2
+  .byte  197,252,17,148,36,224,1,0,0         // vmovups       %ymm2,0x1e0(%rsp)
+  .byte  197,132,88,192                      // vaddps        %ymm0,%ymm15,%ymm0
+  .byte  98,97,126,40,91,240                 // vcvttps2dq    %ymm0,%ymm30
+  .byte  98,145,101,32,254,198               // vpaddd        %ymm30,%ymm19,%ymm0
+  .byte  98,241,61,32,254,200                // vpaddd        %ymm0,%ymm24,%ymm1
+  .byte  98,241,93,32,254,209                // vpaddd        %ymm1,%ymm20,%ymm2
+  .byte  98,178,109,40,64,208                // vpmulld       %ymm16,%ymm2,%ymm2
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  196,98,101,146,4,144                // vgatherdps    %ymm3,(%rax,%ymm2,4),%ymm8
+  .byte  197,124,17,132,36,128,1,0,0         // vmovups       %ymm8,0x180(%rsp)
+  .byte  196,193,109,250,222                 // vpsubd        %ymm14,%ymm2,%ymm3
+  .byte  196,65,44,87,210                    // vxorps        %ymm10,%ymm10,%ymm10
+  .byte  196,65,61,118,192                   // vpcmpeqd      %ymm8,%ymm8,%ymm8
+  .byte  196,98,61,146,20,152                // vgatherdps    %ymm8,(%rax,%ymm3,4),%ymm10
+  .byte  197,124,17,148,36,96,1,0,0          // vmovups       %ymm10,0x160(%rsp)
+  .byte  98,177,109,40,254,209               // vpaddd        %ymm17,%ymm2,%ymm2
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  196,98,101,146,4,144                // vgatherdps    %ymm3,(%rax,%ymm2,4),%ymm8
+  .byte  98,241,77,32,254,201                // vpaddd        %ymm1,%ymm22,%ymm1
+  .byte  98,178,117,40,64,200                // vpmulld       %ymm16,%ymm1,%ymm1
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  197,237,118,210                     // vpcmpeqd      %ymm2,%ymm2,%ymm2
+  .byte  196,226,109,146,28,136              // vgatherdps    %ymm2,(%rax,%ymm1,4),%ymm3
+  .byte  197,252,17,156,36,64,1,0,0          // vmovups       %ymm3,0x140(%rsp)
+  .byte  196,193,117,250,214                 // vpsubd        %ymm14,%ymm1,%ymm2
+  .byte  196,65,44,87,210                    // vxorps        %ymm10,%ymm10,%ymm10
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  196,98,101,146,20,144               // vgatherdps    %ymm3,(%rax,%ymm2,4),%ymm10
+  .byte  197,124,17,148,36,32,1,0,0          // vmovups       %ymm10,0x120(%rsp)
+  .byte  98,177,117,40,254,201               // vpaddd        %ymm17,%ymm1,%ymm1
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  197,237,118,210                     // vpcmpeqd      %ymm2,%ymm2,%ymm2
+  .byte  196,226,109,146,28,136              // vgatherdps    %ymm2,(%rax,%ymm1,4),%ymm3
+  .byte  197,252,17,156,36,0,1,0,0           // vmovups       %ymm3,0x100(%rsp)
+  .byte  98,241,21,32,254,192                // vpaddd        %ymm0,%ymm29,%ymm0
+  .byte  98,177,125,40,254,204               // vpaddd        %ymm20,%ymm0,%ymm1
+  .byte  98,178,117,40,64,200                // vpmulld       %ymm16,%ymm1,%ymm1
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  197,237,118,210                     // vpcmpeqd      %ymm2,%ymm2,%ymm2
+  .byte  196,226,109,146,28,136              // vgatherdps    %ymm2,(%rax,%ymm1,4),%ymm3
+  .byte  197,252,17,156,36,224,0,0,0         // vmovups       %ymm3,0xe0(%rsp)
+  .byte  196,193,117,250,214                 // vpsubd        %ymm14,%ymm1,%ymm2
+  .byte  196,65,44,87,210                    // vxorps        %ymm10,%ymm10,%ymm10
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  196,98,101,146,20,144               // vgatherdps    %ymm3,(%rax,%ymm2,4),%ymm10
+  .byte  197,124,17,148,36,192,0,0,0         // vmovups       %ymm10,0xc0(%rsp)
+  .byte  98,177,117,40,254,201               // vpaddd        %ymm17,%ymm1,%ymm1
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  197,237,118,210                     // vpcmpeqd      %ymm2,%ymm2,%ymm2
+  .byte  196,226,109,146,28,136              // vgatherdps    %ymm2,(%rax,%ymm1,4),%ymm3
+  .byte  197,252,17,156,36,160,0,0,0         // vmovups       %ymm3,0xa0(%rsp)
+  .byte  98,241,77,32,254,192                // vpaddd        %ymm0,%ymm22,%ymm0
+  .byte  98,178,125,40,64,192                // vpmulld       %ymm16,%ymm0,%ymm0
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  197,245,118,201                     // vpcmpeqd      %ymm1,%ymm1,%ymm1
+  .byte  196,226,117,146,20,128              // vgatherdps    %ymm1,(%rax,%ymm0,4),%ymm2
+  .byte  197,252,17,148,36,128,0,0,0         // vmovups       %ymm2,0x80(%rsp)
+  .byte  196,193,125,250,206                 // vpsubd        %ymm14,%ymm0,%ymm1
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  197,237,118,210                     // vpcmpeqd      %ymm2,%ymm2,%ymm2
+  .byte  196,226,109,146,28,136              // vgatherdps    %ymm2,(%rax,%ymm1,4),%ymm3
+  .byte  197,252,17,92,36,96                 // vmovups       %ymm3,0x60(%rsp)
+  .byte  98,177,125,40,254,193               // vpaddd        %ymm17,%ymm0,%ymm0
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  197,245,118,201                     // vpcmpeqd      %ymm1,%ymm1,%ymm1
+  .byte  196,226,117,146,20,128              // vgatherdps    %ymm1,(%rax,%ymm0,4),%ymm2
+  .byte  197,252,17,84,36,64                 // vmovups       %ymm2,0x40(%rsp)
+  .byte  98,145,5,32,254,198                 // vpaddd        %ymm30,%ymm31,%ymm0
+  .byte  98,145,125,40,254,200               // vpaddd        %ymm24,%ymm0,%ymm1
+  .byte  98,177,117,40,254,212               // vpaddd        %ymm20,%ymm1,%ymm2
+  .byte  98,178,109,40,64,208                // vpmulld       %ymm16,%ymm2,%ymm2
+  .byte  196,65,44,87,210                    // vxorps        %ymm10,%ymm10,%ymm10
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  196,98,101,146,20,144               // vgatherdps    %ymm3,(%rax,%ymm2,4),%ymm10
+  .byte  197,124,17,84,36,32                 // vmovups       %ymm10,0x20(%rsp)
+  .byte  196,193,109,250,222                 // vpsubd        %ymm14,%ymm2,%ymm3
+  .byte  196,65,36,87,219                    // vxorps        %ymm11,%ymm11,%ymm11
+  .byte  196,65,45,118,210                   // vpcmpeqd      %ymm10,%ymm10,%ymm10
+  .byte  196,98,45,146,28,152                // vgatherdps    %ymm10,(%rax,%ymm3,4),%ymm11
+  .byte  197,124,17,28,36                    // vmovups       %ymm11,(%rsp)
+  .byte  98,177,109,40,254,209               // vpaddd        %ymm17,%ymm2,%ymm2
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  196,65,45,118,210                   // vpcmpeqd      %ymm10,%ymm10,%ymm10
+  .byte  196,226,45,146,28,144               // vgatherdps    %ymm10,(%rax,%ymm2,4),%ymm3
+  .byte  98,225,124,40,40,251                // vmovaps       %ymm3,%ymm23
+  .byte  98,241,77,32,254,201                // vpaddd        %ymm1,%ymm22,%ymm1
+  .byte  98,178,117,40,64,200                // vpmulld       %ymm16,%ymm1,%ymm1
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  197,237,118,210                     // vpcmpeqd      %ymm2,%ymm2,%ymm2
+  .byte  196,226,109,146,28,136              // vgatherdps    %ymm2,(%rax,%ymm1,4),%ymm3
+  .byte  197,252,17,92,36,192                // vmovups       %ymm3,-0x40(%rsp)
+  .byte  196,193,117,250,214                 // vpsubd        %ymm14,%ymm1,%ymm2
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  196,65,45,118,210                   // vpcmpeqd      %ymm10,%ymm10,%ymm10
+  .byte  196,226,45,146,28,144               // vgatherdps    %ymm10,(%rax,%ymm2,4),%ymm3
+  .byte  98,97,124,40,40,211                 // vmovaps       %ymm3,%ymm26
+  .byte  98,177,117,40,254,201               // vpaddd        %ymm17,%ymm1,%ymm1
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  197,237,118,210                     // vpcmpeqd      %ymm2,%ymm2,%ymm2
+  .byte  196,226,109,146,28,136              // vgatherdps    %ymm2,(%rax,%ymm1,4),%ymm3
+  .byte  98,97,124,40,40,203                 // vmovaps       %ymm3,%ymm25
+  .byte  98,97,21,32,254,192                 // vpaddd        %ymm0,%ymm29,%ymm24
+  .byte  98,177,61,32,254,196                // vpaddd        %ymm20,%ymm24,%ymm0
+  .byte  98,178,125,40,64,192                // vpmulld       %ymm16,%ymm0,%ymm0
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  197,245,118,201                     // vpcmpeqd      %ymm1,%ymm1,%ymm1
+  .byte  196,226,117,146,20,128              // vgatherdps    %ymm1,(%rax,%ymm0,4),%ymm2
+  .byte  98,225,124,40,40,218                // vmovaps       %ymm2,%ymm19
+  .byte  196,193,125,250,214                 // vpsubd        %ymm14,%ymm0,%ymm2
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  196,65,5,118,255                    // vpcmpeqd      %ymm15,%ymm15,%ymm15
+  .byte  196,226,5,146,12,144                // vgatherdps    %ymm15,(%rax,%ymm2,4),%ymm1
+  .byte  98,225,124,40,40,209                // vmovaps       %ymm1,%ymm18
+  .byte  98,177,125,40,254,209               // vpaddd        %ymm17,%ymm0,%ymm2
+  .byte  196,65,28,87,228                    // vxorps        %ymm12,%ymm12,%ymm12
+  .byte  196,65,5,118,255                    // vpcmpeqd      %ymm15,%ymm15,%ymm15
+  .byte  196,98,5,146,36,144                 // vgatherdps    %ymm15,(%rax,%ymm2,4),%ymm12
+  .byte  98,145,77,32,254,208                // vpaddd        %ymm24,%ymm22,%ymm2
+  .byte  98,178,109,40,64,208                // vpmulld       %ymm16,%ymm2,%ymm2
+  .byte  196,65,4,87,255                     // vxorps        %ymm15,%ymm15,%ymm15
+  .byte  196,65,21,118,237                   // vpcmpeqd      %ymm13,%ymm13,%ymm13
+  .byte  196,98,21,146,60,144                // vgatherdps    %ymm13,(%rax,%ymm2,4),%ymm15
+  .byte  197,252,17,124,36,224               // vmovups       %ymm7,-0x20(%rsp)
+  .byte  197,252,17,116,36,160               // vmovups       %ymm6,-0x60(%rsp)
+  .byte  197,252,17,108,36,128               // vmovups       %ymm5,-0x80(%rsp)
+  .byte  98,97,124,40,40,220                 // vmovaps       %ymm4,%ymm27
+  .byte  196,65,109,250,238                  // vpsubd        %ymm14,%ymm2,%ymm13
+  .byte  196,65,36,87,219                    // vxorps        %ymm11,%ymm11,%ymm11
+  .byte  196,65,45,118,210                   // vpcmpeqd      %ymm10,%ymm10,%ymm10
+  .byte  196,34,45,146,28,168                // vgatherdps    %ymm10,(%rax,%ymm13,4),%ymm11
+  .byte  98,177,109,40,254,209               // vpaddd        %ymm17,%ymm2,%ymm2
+  .byte  196,65,44,87,210                    // vxorps        %ymm10,%ymm10,%ymm10
+  .byte  196,98,13,146,20,144                // vgatherdps    %ymm14,(%rax,%ymm2,4),%ymm10
+  .byte  197,252,16,132,36,224,4,0,0         // vmovups       0x4e0(%rsp),%ymm0
+  .byte  197,252,16,140,36,128,4,0,0         // vmovups       0x480(%rsp),%ymm1
+  .byte  197,244,92,240                      // vsubps        %ymm0,%ymm1,%ymm6
+  .byte  98,49,124,40,91,237                 // vcvtdq2ps     %ymm21,%ymm13
+  .byte  98,81,28,32,92,237                  // vsubps        %ymm13,%ymm28,%ymm13
+  .byte  196,226,21,168,240                  // vfmadd213ps   %ymm0,%ymm13,%ymm6
+  .byte  197,252,16,132,36,192,4,0,0         // vmovups       0x4c0(%rsp),%ymm0
+  .byte  197,252,16,140,36,96,4,0,0          // vmovups       0x460(%rsp),%ymm1
+  .byte  197,116,92,240                      // vsubps        %ymm0,%ymm1,%ymm14
+  .byte  196,98,21,168,240                   // vfmadd213ps   %ymm0,%ymm13,%ymm14
+  .byte  197,252,16,132,36,160,4,0,0         // vmovups       0x4a0(%rsp),%ymm0
+  .byte  197,252,16,140,36,64,4,0,0          // vmovups       0x440(%rsp),%ymm1
+  .byte  98,225,116,40,92,192                // vsubps        %ymm0,%ymm1,%ymm16
+  .byte  98,226,21,40,168,192                // vfmadd213ps   %ymm0,%ymm13,%ymm16
+  .byte  197,252,16,132,36,0,4,0,0           // vmovups       0x400(%rsp),%ymm0
+  .byte  197,252,16,140,36,160,3,0,0         // vmovups       0x3a0(%rsp),%ymm1
+  .byte  98,225,116,40,92,200                // vsubps        %ymm0,%ymm1,%ymm17
+  .byte  98,226,21,40,168,200                // vfmadd213ps   %ymm0,%ymm13,%ymm17
+  .byte  197,252,16,132,36,224,3,0,0         // vmovups       0x3e0(%rsp),%ymm0
+  .byte  197,252,16,140,36,128,3,0,0         // vmovups       0x380(%rsp),%ymm1
+  .byte  98,225,116,40,92,224                // vsubps        %ymm0,%ymm1,%ymm20
+  .byte  98,226,21,40,168,224                // vfmadd213ps   %ymm0,%ymm13,%ymm20
+  .byte  197,252,16,132,36,192,3,0,0         // vmovups       0x3c0(%rsp),%ymm0
+  .byte  197,252,16,140,36,96,3,0,0          // vmovups       0x360(%rsp),%ymm1
+  .byte  98,225,116,40,92,232                // vsubps        %ymm0,%ymm1,%ymm21
+  .byte  98,226,21,40,168,232                // vfmadd213ps   %ymm0,%ymm13,%ymm21
+  .byte  197,252,16,132,36,64,3,0,0          // vmovups       0x340(%rsp),%ymm0
+  .byte  197,252,16,140,36,224,2,0,0         // vmovups       0x2e0(%rsp),%ymm1
+  .byte  98,225,116,40,92,240                // vsubps        %ymm0,%ymm1,%ymm22
+  .byte  98,226,21,40,168,240                // vfmadd213ps   %ymm0,%ymm13,%ymm22
+  .byte  197,252,16,132,36,32,3,0,0          // vmovups       0x320(%rsp),%ymm0
+  .byte  197,252,16,140,36,192,2,0,0         // vmovups       0x2c0(%rsp),%ymm1
+  .byte  98,97,116,40,92,192                 // vsubps        %ymm0,%ymm1,%ymm24
+  .byte  98,98,21,40,168,192                 // vfmadd213ps   %ymm0,%ymm13,%ymm24
+  .byte  197,252,16,132,36,0,3,0,0           // vmovups       0x300(%rsp),%ymm0
+  .byte  197,252,16,140,36,128,2,0,0         // vmovups       0x280(%rsp),%ymm1
+  .byte  98,97,116,40,92,224                 // vsubps        %ymm0,%ymm1,%ymm28
+  .byte  98,98,21,40,168,224                 // vfmadd213ps   %ymm0,%ymm13,%ymm28
+  .byte  197,252,16,132,36,96,2,0,0          // vmovups       0x260(%rsp),%ymm0
+  .byte  197,252,16,140,36,32,2,0,0          // vmovups       0x220(%rsp),%ymm1
+  .byte  98,97,116,40,92,232                 // vsubps        %ymm0,%ymm1,%ymm29
+  .byte  98,98,21,40,168,232                 // vfmadd213ps   %ymm0,%ymm13,%ymm29
+  .byte  197,252,16,132,36,64,2,0,0          // vmovups       0x240(%rsp),%ymm0
+  .byte  197,252,16,140,36,0,2,0,0           // vmovups       0x200(%rsp),%ymm1
+  .byte  98,97,116,40,92,240                 // vsubps        %ymm0,%ymm1,%ymm30
+  .byte  98,98,21,40,168,240                 // vfmadd213ps   %ymm0,%ymm13,%ymm30
+  .byte  197,252,16,132,36,224,1,0,0         // vmovups       0x1e0(%rsp),%ymm0
+  .byte  98,65,124,40,92,249                 // vsubps        %ymm9,%ymm0,%ymm31
+  .byte  98,66,21,40,168,249                 // vfmadd213ps   %ymm9,%ymm13,%ymm31
+  .byte  197,252,16,132,36,128,1,0,0         // vmovups       0x180(%rsp),%ymm0
+  .byte  197,252,16,140,36,64,1,0,0          // vmovups       0x140(%rsp),%ymm1
+  .byte  197,244,92,216                      // vsubps        %ymm0,%ymm1,%ymm3
+  .byte  196,226,21,168,216                  // vfmadd213ps   %ymm0,%ymm13,%ymm3
+  .byte  197,252,16,132,36,96,1,0,0          // vmovups       0x160(%rsp),%ymm0
+  .byte  197,252,16,140,36,32,1,0,0          // vmovups       0x120(%rsp),%ymm1
+  .byte  197,244,92,224                      // vsubps        %ymm0,%ymm1,%ymm4
+  .byte  196,226,21,168,224                  // vfmadd213ps   %ymm0,%ymm13,%ymm4
+  .byte  197,252,16,132,36,0,1,0,0           // vmovups       0x100(%rsp),%ymm0
+  .byte  196,193,124,92,232                  // vsubps        %ymm8,%ymm0,%ymm5
+  .byte  196,194,21,168,232                  // vfmadd213ps   %ymm8,%ymm13,%ymm5
+  .byte  197,252,16,132,36,224,0,0,0         // vmovups       0xe0(%rsp),%ymm0
+  .byte  197,252,16,140,36,128,0,0,0         // vmovups       0x80(%rsp),%ymm1
+  .byte  197,244,92,248                      // vsubps        %ymm0,%ymm1,%ymm7
+  .byte  196,226,21,168,248                  // vfmadd213ps   %ymm0,%ymm13,%ymm7
+  .byte  197,252,16,132,36,192,0,0,0         // vmovups       0xc0(%rsp),%ymm0
+  .byte  197,252,16,76,36,96                 // vmovups       0x60(%rsp),%ymm1
+  .byte  197,116,92,192                      // vsubps        %ymm0,%ymm1,%ymm8
+  .byte  196,98,21,168,192                   // vfmadd213ps   %ymm0,%ymm13,%ymm8
+  .byte  197,252,16,132,36,160,0,0,0         // vmovups       0xa0(%rsp),%ymm0
+  .byte  197,252,16,76,36,64                 // vmovups       0x40(%rsp),%ymm1
+  .byte  197,116,92,200                      // vsubps        %ymm0,%ymm1,%ymm9
+  .byte  196,98,21,168,200                   // vfmadd213ps   %ymm0,%ymm13,%ymm9
+  .byte  197,252,16,76,36,32                 // vmovups       0x20(%rsp),%ymm1
+  .byte  197,252,16,68,36,192                // vmovups       -0x40(%rsp),%ymm0
+  .byte  197,252,92,193                      // vsubps        %ymm1,%ymm0,%ymm0
+  .byte  196,226,21,168,193                  // vfmadd213ps   %ymm1,%ymm13,%ymm0
+  .byte  197,252,16,20,36                    // vmovups       (%rsp),%ymm2
+  .byte  98,241,44,32,92,202                 // vsubps        %ymm2,%ymm26,%ymm1
+  .byte  196,226,21,168,202                  // vfmadd213ps   %ymm2,%ymm13,%ymm1
+  .byte  98,177,52,32,92,215                 // vsubps        %ymm23,%ymm25,%ymm2
+  .byte  98,178,21,40,168,215                // vfmadd213ps   %ymm23,%ymm13,%ymm2
+  .byte  98,49,4,40,92,251                   // vsubps        %ymm19,%ymm15,%ymm15
+  .byte  98,50,21,40,168,251                 // vfmadd213ps   %ymm19,%ymm13,%ymm15
+  .byte  98,49,36,40,92,218                  // vsubps        %ymm18,%ymm11,%ymm11
+  .byte  98,50,21,40,168,218                 // vfmadd213ps   %ymm18,%ymm13,%ymm11
+  .byte  196,65,44,92,212                    // vsubps        %ymm12,%ymm10,%ymm10
+  .byte  196,66,21,168,212                   // vfmadd213ps   %ymm12,%ymm13,%ymm10
+  .byte  197,124,16,164,36,0,5,0,0           // vmovups       0x500(%rsp),%ymm12
+  .byte  196,65,124,91,228                   // vcvtdq2ps     %ymm12,%ymm12
+  .byte  197,124,16,172,36,160,1,0,0         // vmovups       0x1a0(%rsp),%ymm13
+  .byte  196,65,20,92,228                    // vsubps        %ymm12,%ymm13,%ymm12
+  .byte  98,113,116,32,92,238                // vsubps        %ymm6,%ymm17,%ymm13
+  .byte  196,98,29,168,238                   // vfmadd213ps   %ymm6,%ymm12,%ymm13
+  .byte  98,209,92,32,92,246                 // vsubps        %ymm14,%ymm20,%ymm6
+  .byte  196,194,29,168,246                  // vfmadd213ps   %ymm14,%ymm12,%ymm6
+  .byte  98,49,84,32,92,240                  // vsubps        %ymm16,%ymm21,%ymm14
+  .byte  98,50,29,40,168,240                 // vfmadd213ps   %ymm16,%ymm12,%ymm14
+  .byte  98,161,20,32,92,198                 // vsubps        %ymm22,%ymm29,%ymm16
+  .byte  98,162,29,40,168,198                // vfmadd213ps   %ymm22,%ymm12,%ymm16
+  .byte  98,129,12,32,92,200                 // vsubps        %ymm24,%ymm30,%ymm17
+  .byte  98,130,29,40,168,200                // vfmadd213ps   %ymm24,%ymm12,%ymm17
+  .byte  98,129,4,32,92,228                  // vsubps        %ymm28,%ymm31,%ymm20
+  .byte  98,130,29,40,168,228                // vfmadd213ps   %ymm28,%ymm12,%ymm20
+  .byte  197,196,92,251                      // vsubps        %ymm3,%ymm7,%ymm7
+  .byte  196,226,29,168,251                  // vfmadd213ps   %ymm3,%ymm12,%ymm7
+  .byte  197,188,92,220                      // vsubps        %ymm4,%ymm8,%ymm3
+  .byte  196,226,29,168,220                  // vfmadd213ps   %ymm4,%ymm12,%ymm3
+  .byte  197,180,92,229                      // vsubps        %ymm5,%ymm9,%ymm4
+  .byte  196,226,29,168,229                  // vfmadd213ps   %ymm5,%ymm12,%ymm4
+  .byte  197,132,92,232                      // vsubps        %ymm0,%ymm15,%ymm5
+  .byte  196,226,29,168,232                  // vfmadd213ps   %ymm0,%ymm12,%ymm5
+  .byte  197,164,92,193                      // vsubps        %ymm1,%ymm11,%ymm0
+  .byte  196,226,29,168,193                  // vfmadd213ps   %ymm1,%ymm12,%ymm0
+  .byte  197,172,92,202                      // vsubps        %ymm2,%ymm10,%ymm1
+  .byte  196,226,29,168,202                  // vfmadd213ps   %ymm2,%ymm12,%ymm1
+  .byte  197,252,16,148,36,32,5,0,0          // vmovups       0x520(%rsp),%ymm2
+  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
+  .byte  197,124,16,132,36,192,1,0,0         // vmovups       0x1c0(%rsp),%ymm8
+  .byte  197,188,92,210                      // vsubps        %ymm2,%ymm8,%ymm2
+  .byte  98,81,124,32,92,197                 // vsubps        %ymm13,%ymm16,%ymm8
+  .byte  196,66,109,168,197                  // vfmadd213ps   %ymm13,%ymm2,%ymm8
+  .byte  98,113,116,32,92,206                // vsubps        %ymm6,%ymm17,%ymm9
+  .byte  196,98,109,168,206                  // vfmadd213ps   %ymm6,%ymm2,%ymm9
+  .byte  98,209,92,32,92,246                 // vsubps        %ymm14,%ymm20,%ymm6
+  .byte  196,194,109,168,246                 // vfmadd213ps   %ymm14,%ymm2,%ymm6
+  .byte  197,212,92,239                      // vsubps        %ymm7,%ymm5,%ymm5
+  .byte  196,226,109,168,239                 // vfmadd213ps   %ymm7,%ymm2,%ymm5
+  .byte  197,252,92,251                      // vsubps        %ymm3,%ymm0,%ymm7
+  .byte  196,226,109,168,251                 // vfmadd213ps   %ymm3,%ymm2,%ymm7
+  .byte  197,244,92,220                      // vsubps        %ymm4,%ymm1,%ymm3
+  .byte  196,226,109,168,220                 // vfmadd213ps   %ymm4,%ymm2,%ymm3
+  .byte  197,252,16,132,36,32,4,0,0          // vmovups       0x420(%rsp),%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  197,252,16,140,36,160,2,0,0         // vmovups       0x2a0(%rsp),%ymm1
+  .byte  197,244,92,224                      // vsubps        %ymm0,%ymm1,%ymm4
+  .byte  196,193,84,92,192                   // vsubps        %ymm8,%ymm5,%ymm0
+  .byte  196,194,93,168,192                  // vfmadd213ps   %ymm8,%ymm4,%ymm0
+  .byte  196,193,68,92,201                   // vsubps        %ymm9,%ymm7,%ymm1
+  .byte  196,194,93,168,201                  // vfmadd213ps   %ymm9,%ymm4,%ymm1
+  .byte  197,228,92,214                      // vsubps        %ymm6,%ymm3,%ymm2
+  .byte  196,226,93,168,214                  // vfmadd213ps   %ymm6,%ymm4,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,29,11,69,3,0         // vbroadcastss  0x3450b(%rip),%ymm3        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  98,145,124,40,40,227                // vmovaps       %ymm27,%ymm4
+  .byte  197,252,16,108,36,128               // vmovups       -0x80(%rsp),%ymm5
+  .byte  197,252,16,116,36,160               // vmovups       -0x60(%rsp),%ymm6
+  .byte  197,252,16,124,36,224               // vmovups       -0x20(%rsp),%ymm7
+  .byte  72,129,196,88,5,0,0                 // add           $0x558,%rsp
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_gauss_a_to_rgba_skx
+.globl _sk_gauss_a_to_rgba_skx
+FUNCTION(_sk_gauss_a_to_rgba_skx)
+_sk_gauss_a_to_rgba_skx:
+  .byte  196,226,125,24,5,85,70,3,0          // vbroadcastss  0x34655(%rip),%ymm0        # 3c670 <_sk_srcover_bgra_8888_sse2_lowp+0x424>
+  .byte  98,242,101,56,168,5,79,70,3,0       // vfmadd213ps   0x3464f(%rip){1to8},%ymm3,%ymm0        # 3c674 <_sk_srcover_bgra_8888_sse2_lowp+0x428>
+  .byte  98,242,101,56,168,5,73,70,3,0       // vfmadd213ps   0x34649(%rip){1to8},%ymm3,%ymm0        # 3c678 <_sk_srcover_bgra_8888_sse2_lowp+0x42c>
+  .byte  98,242,101,56,168,5,67,70,3,0       // vfmadd213ps   0x34643(%rip){1to8},%ymm3,%ymm0        # 3c67c <_sk_srcover_bgra_8888_sse2_lowp+0x430>
+  .byte  98,242,101,56,168,5,61,70,3,0       // vfmadd213ps   0x3463d(%rip){1to8},%ymm3,%ymm0        # 3c680 <_sk_srcover_bgra_8888_sse2_lowp+0x434>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,40,200                      // vmovaps       %ymm0,%ymm1
+  .byte  197,252,40,208                      // vmovaps       %ymm0,%ymm2
+  .byte  197,252,40,216                      // vmovaps       %ymm0,%ymm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bilerp_clamp_8888_skx
+.globl _sk_bilerp_clamp_8888_skx
+FUNCTION(_sk_bilerp_clamp_8888_skx)
+_sk_bilerp_clamp_8888_skx:
+  .byte  197,252,17,124,36,200               // vmovups       %ymm7,-0x38(%rsp)
+  .byte  197,252,17,116,36,168               // vmovups       %ymm6,-0x58(%rsp)
+  .byte  197,252,17,108,36,136               // vmovups       %ymm5,-0x78(%rsp)
+  .byte  98,225,124,40,40,244                // vmovaps       %ymm4,%ymm22
+  .byte  98,97,124,40,40,249                 // vmovaps       %ymm1,%ymm31
+  .byte  196,226,125,24,21,126,68,3,0        // vbroadcastss  0x3447e(%rip),%ymm2        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  197,252,88,218                      // vaddps        %ymm2,%ymm0,%ymm3
+  .byte  196,227,125,8,227,1                 // vroundps      $0x1,%ymm3,%ymm4
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  98,241,4,32,88,210                  // vaddps        %ymm2,%ymm31,%ymm2
+  .byte  196,227,125,8,234,1                 // vroundps      $0x1,%ymm2,%ymm5
+  .byte  197,100,92,212                      // vsubps        %ymm4,%ymm3,%ymm10
+  .byte  197,236,92,205                      // vsubps        %ymm5,%ymm2,%ymm1
+  .byte  196,226,125,24,21,89,68,3,0         // vbroadcastss  0x34459(%rip),%ymm2        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,65,108,92,226                   // vsubps        %ymm10,%ymm2,%ymm12
+  .byte  98,225,124,40,40,217                // vmovaps       %ymm1,%ymm19
+  .byte  98,225,108,40,92,233                // vsubps        %ymm1,%ymm2,%ymm21
+  .byte  196,226,125,88,80,12                // vpbroadcastd  0xc(%rax),%ymm2
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  197,109,254,243                     // vpaddd        %ymm3,%ymm2,%ymm14
+  .byte  196,226,125,88,80,16                // vpbroadcastd  0x10(%rax),%ymm2
+  .byte  98,225,109,40,254,211               // vpaddd        %ymm3,%ymm2,%ymm18
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  98,226,125,40,88,64,2               // vpbroadcastd  0x8(%rax),%ymm16
+  .byte  98,225,126,8,16,13,110,69,3,0       // vmovss        0x3456e(%rip),%xmm17        # 3c650 <_sk_srcover_bgra_8888_sse2_lowp+0x404>
+  .byte  196,65,20,87,237                    // vxorps        %ymm13,%ymm13,%ymm13
+  .byte  197,192,87,255                      // vxorps        %xmm7,%xmm7,%xmm7
+  .byte  184,17,17,17,17                     // mov           $0x11111111,%eax
+  .byte  98,226,125,40,24,37,122,68,3,0      // vbroadcastss  0x3447a(%rip),%ymm20        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  197,250,16,53,250,67,3,0            // vmovss        0x343fa(%rip),%xmm6        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,250,16,45,238,67,3,0            // vmovss        0x343ee(%rip),%xmm5        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  197,229,239,219                     // vpxor         %ymm3,%ymm3,%ymm3
+  .byte  197,237,239,210                     // vpxor         %ymm2,%ymm2,%ymm2
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
+  .byte  98,33,124,8,40,201                  // vmovaps       %xmm17,%xmm25
+  .byte  98,146,125,40,24,225                // vbroadcastss  %xmm25,%ymm4
+  .byte  98,145,92,40,88,231                 // vaddps        %ymm31,%ymm4,%ymm4
+  .byte  197,148,95,228                      // vmaxps        %ymm4,%ymm13,%ymm4
+  .byte  98,97,124,8,46,207                  // vucomiss      %xmm7,%xmm25
+  .byte  98,177,124,40,40,203                // vmovaps       %ymm19,%ymm1
+  .byte  98,225,124,40,40,249                // vmovaps       %ymm1,%ymm23
+  .byte  119,12                              // ja            8152 <_sk_bilerp_clamp_8888_skx+0xff>
+  .byte  98,177,124,40,40,205                // vmovaps       %ymm21,%ymm1
+  .byte  98,225,124,40,40,249                // vmovaps       %ymm1,%ymm23
+  .byte  98,177,92,40,93,226                 // vminps        %ymm18,%ymm4,%ymm4
+  .byte  197,254,91,228                      // vcvttps2dq    %ymm4,%ymm4
+  .byte  98,98,125,32,64,196                 // vpmulld       %ymm4,%ymm16,%ymm24
+  .byte  98,177,124,8,40,225                 // vmovaps       %xmm17,%xmm4
+  .byte  98,98,125,40,24,212                 // vbroadcastss  %xmm4,%ymm26
+  .byte  98,97,44,32,88,208                  // vaddps        %ymm0,%ymm26,%ymm26
+  .byte  98,1,20,40,95,210                   // vmaxps        %ymm26,%ymm13,%ymm26
+  .byte  98,65,44,32,93,214                  // vminps        %ymm14,%ymm26,%ymm26
+  .byte  98,1,126,40,91,210                  // vcvttps2dq    %ymm26,%ymm26
+  .byte  98,17,61,32,254,218                 // vpaddd        %ymm26,%ymm24,%ymm11
+  .byte  197,245,118,201                     // vpcmpeqd      %ymm1,%ymm1,%ymm1
+  .byte  196,65,5,239,255                    // vpxor         %ymm15,%ymm15,%ymm15
+  .byte  196,2,117,144,60,152                // vpgatherdd    %ymm1,(%r8,%ymm11,4),%ymm15
+  .byte  197,251,146,200                     // kmovd         %eax,%k1
+  .byte  98,209,127,169,111,207              // vmovdqu8      %ymm15,%ymm1{%k1}{z}
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  98,33,116,40,89,212                 // vmulps        %ymm20,%ymm1,%ymm26
+  .byte  196,193,117,114,215,8               // vpsrld        $0x8,%ymm15,%ymm1
+  .byte  98,241,127,169,111,201              // vmovdqu8      %ymm1,%ymm1{%k1}{z}
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  98,33,116,40,89,220                 // vmulps        %ymm20,%ymm1,%ymm27
+  .byte  196,193,117,114,215,16              // vpsrld        $0x10,%ymm15,%ymm1
+  .byte  98,241,127,169,111,201              // vmovdqu8      %ymm1,%ymm1{%k1}{z}
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  98,33,116,40,89,228                 // vmulps        %ymm20,%ymm1,%ymm28
+  .byte  196,193,117,114,215,24              // vpsrld        $0x18,%ymm15,%ymm1
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  98,33,116,40,89,236                 // vmulps        %ymm20,%ymm1,%ymm29
+  .byte  197,248,46,231                      // vucomiss      %xmm7,%xmm4
+  .byte  98,65,124,40,40,242                 // vmovaps       %ymm10,%ymm30
+  .byte  119,6                               // ja            81fd <_sk_bilerp_clamp_8888_skx+0x1aa>
+  .byte  98,65,124,40,40,244                 // vmovaps       %ymm12,%ymm30
+  .byte  98,145,68,32,89,206                 // vmulps        %ymm30,%ymm23,%ymm1
+  .byte  98,18,117,40,184,202                // vfmadd231ps   %ymm26,%ymm1,%ymm9
+  .byte  98,18,117,40,184,195                // vfmadd231ps   %ymm27,%ymm1,%ymm8
+  .byte  98,146,117,40,184,212               // vfmadd231ps   %ymm28,%ymm1,%ymm2
+  .byte  98,146,117,40,184,221               // vfmadd231ps   %ymm29,%ymm1,%ymm3
+  .byte  197,218,88,230                      // vaddss        %xmm6,%xmm4,%xmm4
+  .byte  197,248,46,236                      // vucomiss      %xmm4,%xmm5
+  .byte  15,131,63,255,255,255               // jae           8168 <_sk_bilerp_clamp_8888_skx+0x115>
+  .byte  98,97,54,0,88,206                   // vaddss        %xmm6,%xmm25,%xmm25
+  .byte  98,145,124,8,46,233                 // vucomiss      %xmm25,%xmm5
+  .byte  15,131,231,254,255,255              // jae           8122 <_sk_bilerp_clamp_8888_skx+0xcf>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,41,200                      // vmovaps       %ymm9,%ymm0
+  .byte  197,124,41,193                      // vmovaps       %ymm8,%ymm1
+  .byte  98,177,124,40,40,230                // vmovaps       %ymm22,%ymm4
+  .byte  197,252,16,108,36,136               // vmovups       -0x78(%rsp),%ymm5
+  .byte  197,252,16,116,36,168               // vmovups       -0x58(%rsp),%ymm6
+  .byte  197,252,16,124,36,200               // vmovups       -0x38(%rsp),%ymm7
+  .byte  255,224                             // jmpq          *%rax
+  .byte  144                                 // nop
+
+HIDDEN _sk_start_pipeline_hsw
+.globl _sk_start_pipeline_hsw
+FUNCTION(_sk_start_pipeline_hsw)
+_sk_start_pipeline_hsw:
+  .byte  85                                  // push          %rbp
+  .byte  72,137,229                          // mov           %rsp,%rbp
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,85                               // push          %r13
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,131,236,24                       // sub           $0x18,%rsp
+  .byte  73,137,215                          // mov           %rdx,%r15
+  .byte  72,137,243                          // mov           %rsi,%rbx
+  .byte  72,137,125,208                      // mov           %rdi,-0x30(%rbp)
+  .byte  76,137,198                          // mov           %r8,%rsi
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  73,137,197                          // mov           %rax,%r13
+  .byte  73,137,246                          // mov           %rsi,%r14
+  .byte  72,137,77,192                       // mov           %rcx,-0x40(%rbp)
+  .byte  72,57,203                           // cmp           %rcx,%rbx
+  .byte  15,131,151,0,0,0                    // jae           832a <_sk_start_pipeline_hsw+0xca>
+  .byte  72,139,69,208                       // mov           -0x30(%rbp),%rax
+  .byte  72,141,64,8                         // lea           0x8(%rax),%rax
+  .byte  72,137,69,200                       // mov           %rax,-0x38(%rbp)
+  .byte  72,139,85,208                       // mov           -0x30(%rbp),%rdx
+  .byte  76,57,125,200                       // cmp           %r15,-0x38(%rbp)
+  .byte  119,67                              // ja            82ec <_sk_start_pipeline_hsw+0x8c>
+  .byte  76,139,101,208                      // mov           -0x30(%rbp),%r12
+  .byte  49,255                              // xor           %edi,%edi
+  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  197,220,87,228                      // vxorps        %ymm4,%ymm4,%ymm4
+  .byte  197,212,87,237                      // vxorps        %ymm5,%ymm5,%ymm5
+  .byte  197,204,87,246                      // vxorps        %ymm6,%ymm6,%ymm6
+  .byte  197,196,87,255                      // vxorps        %ymm7,%ymm7,%ymm7
+  .byte  76,137,246                          // mov           %r14,%rsi
+  .byte  76,137,226                          // mov           %r12,%rdx
+  .byte  72,137,217                          // mov           %rbx,%rcx
+  .byte  65,255,213                          // callq         *%r13
+  .byte  73,141,84,36,8                      // lea           0x8(%r12),%rdx
+  .byte  73,131,196,16                       // add           $0x10,%r12
+  .byte  77,57,252                           // cmp           %r15,%r12
+  .byte  73,137,212                          // mov           %rdx,%r12
+  .byte  118,193                             // jbe           82ad <_sk_start_pipeline_hsw+0x4d>
+  .byte  76,137,255                          // mov           %r15,%rdi
+  .byte  72,41,215                           // sub           %rdx,%rdi
+  .byte  116,41                              // je            831d <_sk_start_pipeline_hsw+0xbd>
+  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  197,220,87,228                      // vxorps        %ymm4,%ymm4,%ymm4
+  .byte  197,212,87,237                      // vxorps        %ymm5,%ymm5,%ymm5
+  .byte  197,204,87,246                      // vxorps        %ymm6,%ymm6,%ymm6
+  .byte  197,196,87,255                      // vxorps        %ymm7,%ymm7,%ymm7
+  .byte  76,137,246                          // mov           %r14,%rsi
+  .byte  72,137,217                          // mov           %rbx,%rcx
+  .byte  65,255,213                          // callq         *%r13
+  .byte  72,255,195                          // inc           %rbx
+  .byte  72,59,93,192                        // cmp           -0x40(%rbp),%rbx
+  .byte  15,133,117,255,255,255              // jne           829f <_sk_start_pipeline_hsw+0x3f>
+  .byte  72,131,196,24                       // add           $0x18,%rsp
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,93                               // pop           %r13
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  93                                  // pop           %rbp
+  .byte  197,248,119                         // vzeroupper
+  .byte  195                                 // retq
+
+HIDDEN _sk_just_return_hsw
+.globl _sk_just_return_hsw
+FUNCTION(_sk_just_return_hsw)
+_sk_just_return_hsw:
+  .byte  195                                 // retq
+
+HIDDEN _sk_seed_shader_hsw
+.globl _sk_seed_shader_hsw
+FUNCTION(_sk_seed_shader_hsw)
+_sk_seed_shader_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,249,110,194                     // vmovd         %edx,%xmm0
+  .byte  196,226,125,88,192                  // vpbroadcastd  %xmm0,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  197,252,88,0                        // vaddps        (%rax),%ymm0,%ymm0
+  .byte  197,249,110,201                     // vmovd         %ecx,%xmm1
+  .byte  196,226,125,88,201                  // vpbroadcastd  %xmm1,%ymm1
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  196,226,125,24,21,146,65,3,0        // vbroadcastss  0x34192(%rip),%ymm2        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  197,244,88,202                      // vaddps        %ymm2,%ymm1,%ymm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,21,135,65,3,0        // vbroadcastss  0x34187(%rip),%ymm2        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  197,220,87,228                      // vxorps        %ymm4,%ymm4,%ymm4
+  .byte  197,212,87,237                      // vxorps        %ymm5,%ymm5,%ymm5
+  .byte  197,204,87,246                      // vxorps        %ymm6,%ymm6,%ymm6
+  .byte  197,196,87,255                      // vxorps        %ymm7,%ymm7,%ymm7
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_dither_hsw
+.globl _sk_dither_hsw
+FUNCTION(_sk_dither_hsw)
+_sk_dither_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,121,110,194                     // vmovd         %edx,%xmm8
+  .byte  196,66,125,88,192                   // vpbroadcastd  %xmm8,%ymm8
+  .byte  197,61,254,5,66,67,3,0              // vpaddd        0x34342(%rip),%ymm8,%ymm8        # 3c6e0 <_sk_srcover_bgra_8888_sse2_lowp+0x494>
+  .byte  197,121,110,201                     // vmovd         %ecx,%xmm9
+  .byte  196,66,125,88,201                   // vpbroadcastd  %xmm9,%ymm9
+  .byte  196,65,53,239,200                   // vpxor         %ymm8,%ymm9,%ymm9
+  .byte  196,98,125,88,21,75,65,3,0          // vpbroadcastd  0x3414b(%rip),%ymm10        # 3c500 <_sk_srcover_bgra_8888_sse2_lowp+0x2b4>
+  .byte  196,65,53,219,218                   // vpand         %ymm10,%ymm9,%ymm11
+  .byte  196,193,37,114,243,5                // vpslld        $0x5,%ymm11,%ymm11
+  .byte  196,65,61,219,210                   // vpand         %ymm10,%ymm8,%ymm10
+  .byte  196,193,45,114,242,4                // vpslld        $0x4,%ymm10,%ymm10
+  .byte  196,98,125,88,37,48,65,3,0          // vpbroadcastd  0x34130(%rip),%ymm12        # 3c504 <_sk_srcover_bgra_8888_sse2_lowp+0x2b8>
+  .byte  196,98,125,88,45,43,65,3,0          // vpbroadcastd  0x3412b(%rip),%ymm13        # 3c508 <_sk_srcover_bgra_8888_sse2_lowp+0x2bc>
+  .byte  196,65,53,219,245                   // vpand         %ymm13,%ymm9,%ymm14
+  .byte  196,193,13,114,246,2                // vpslld        $0x2,%ymm14,%ymm14
+  .byte  196,65,37,235,222                   // vpor          %ymm14,%ymm11,%ymm11
+  .byte  196,65,61,219,237                   // vpand         %ymm13,%ymm8,%ymm13
+  .byte  196,65,21,254,237                   // vpaddd        %ymm13,%ymm13,%ymm13
+  .byte  196,65,21,235,210                   // vpor          %ymm10,%ymm13,%ymm10
+  .byte  196,65,53,219,204                   // vpand         %ymm12,%ymm9,%ymm9
+  .byte  196,193,53,114,209,1                // vpsrld        $0x1,%ymm9,%ymm9
+  .byte  196,65,61,219,196                   // vpand         %ymm12,%ymm8,%ymm8
+  .byte  196,193,61,114,208,2                // vpsrld        $0x2,%ymm8,%ymm8
+  .byte  196,65,45,235,192                   // vpor          %ymm8,%ymm10,%ymm8
+  .byte  196,65,61,235,195                   // vpor          %ymm11,%ymm8,%ymm8
+  .byte  196,65,61,235,193                   // vpor          %ymm9,%ymm8,%ymm8
+  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
+  .byte  196,98,125,24,13,221,64,3,0         // vbroadcastss  0x340dd(%rip),%ymm9        # 3c50c <_sk_srcover_bgra_8888_sse2_lowp+0x2c0>
+  .byte  196,98,125,24,21,216,64,3,0         // vbroadcastss  0x340d8(%rip),%ymm10        # 3c510 <_sk_srcover_bgra_8888_sse2_lowp+0x2c4>
+  .byte  196,66,61,184,209                   // vfmadd231ps   %ymm9,%ymm8,%ymm10
+  .byte  196,98,125,24,0                     // vbroadcastss  (%rax),%ymm8
+  .byte  196,65,44,89,192                    // vmulps        %ymm8,%ymm10,%ymm8
+  .byte  197,188,88,192                      // vaddps        %ymm0,%ymm8,%ymm0
+  .byte  197,188,88,201                      // vaddps        %ymm1,%ymm8,%ymm1
+  .byte  197,188,88,210                      // vaddps        %ymm2,%ymm8,%ymm2
+  .byte  197,252,93,195                      // vminps        %ymm3,%ymm0,%ymm0
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,188,95,192                      // vmaxps        %ymm0,%ymm8,%ymm0
+  .byte  197,244,93,203                      // vminps        %ymm3,%ymm1,%ymm1
+  .byte  197,188,95,201                      // vmaxps        %ymm1,%ymm8,%ymm1
+  .byte  197,236,93,211                      // vminps        %ymm3,%ymm2,%ymm2
+  .byte  197,188,95,210                      // vmaxps        %ymm2,%ymm8,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_uniform_color_hsw
+.globl _sk_uniform_color_hsw
+FUNCTION(_sk_uniform_color_hsw)
+_sk_uniform_color_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,0                    // vbroadcastss  (%rax),%ymm0
+  .byte  196,226,125,24,72,4                 // vbroadcastss  0x4(%rax),%ymm1
+  .byte  196,226,125,24,80,8                 // vbroadcastss  0x8(%rax),%ymm2
+  .byte  196,226,125,24,88,12                // vbroadcastss  0xc(%rax),%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_black_color_hsw
+.globl _sk_black_color_hsw
+FUNCTION(_sk_black_color_hsw)
+_sk_black_color_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,29,96,64,3,0         // vbroadcastss  0x34060(%rip),%ymm3        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_white_color_hsw
+.globl _sk_white_color_hsw
+FUNCTION(_sk_white_color_hsw)
+_sk_white_color_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,5,71,64,3,0          // vbroadcastss  0x34047(%rip),%ymm0        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,252,40,200                      // vmovaps       %ymm0,%ymm1
+  .byte  197,252,40,208                      // vmovaps       %ymm0,%ymm2
+  .byte  197,252,40,216                      // vmovaps       %ymm0,%ymm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_load_rgba_hsw
+.globl _sk_load_rgba_hsw
+FUNCTION(_sk_load_rgba_hsw)
+_sk_load_rgba_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,16,0                        // vmovups       (%rax),%ymm0
+  .byte  197,252,16,72,32                    // vmovups       0x20(%rax),%ymm1
+  .byte  197,252,16,80,64                    // vmovups       0x40(%rax),%ymm2
+  .byte  197,252,16,88,96                    // vmovups       0x60(%rax),%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_store_rgba_hsw
+.globl _sk_store_rgba_hsw
+FUNCTION(_sk_store_rgba_hsw)
+_sk_store_rgba_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,17,0                        // vmovups       %ymm0,(%rax)
+  .byte  197,252,17,72,32                    // vmovups       %ymm1,0x20(%rax)
+  .byte  197,252,17,80,64                    // vmovups       %ymm2,0x40(%rax)
+  .byte  197,252,17,88,96                    // vmovups       %ymm3,0x60(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_clear_hsw
+.globl _sk_clear_hsw
+FUNCTION(_sk_clear_hsw)
+_sk_clear_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_srcatop_hsw
+.globl _sk_srcatop_hsw
+FUNCTION(_sk_srcatop_hsw)
+_sk_srcatop_hsw:
+  .byte  197,252,89,199                      // vmulps        %ymm7,%ymm0,%ymm0
+  .byte  196,98,125,24,5,230,63,3,0          // vbroadcastss  0x33fe6(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
+  .byte  196,226,61,184,196                  // vfmadd231ps   %ymm4,%ymm8,%ymm0
+  .byte  197,244,89,207                      // vmulps        %ymm7,%ymm1,%ymm1
+  .byte  196,226,61,184,205                  // vfmadd231ps   %ymm5,%ymm8,%ymm1
+  .byte  197,236,89,215                      // vmulps        %ymm7,%ymm2,%ymm2
+  .byte  196,226,61,184,214                  // vfmadd231ps   %ymm6,%ymm8,%ymm2
+  .byte  197,60,89,199                       // vmulps        %ymm7,%ymm8,%ymm8
+  .byte  196,194,69,168,216                  // vfmadd213ps   %ymm8,%ymm7,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_dstatop_hsw
+.globl _sk_dstatop_hsw
+FUNCTION(_sk_dstatop_hsw)
+_sk_dstatop_hsw:
+  .byte  196,98,125,24,5,181,63,3,0          // vbroadcastss  0x33fb5(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,199                       // vsubps        %ymm7,%ymm8,%ymm8
+  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
+  .byte  196,226,101,184,196                 // vfmadd231ps   %ymm4,%ymm3,%ymm0
+  .byte  197,188,89,201                      // vmulps        %ymm1,%ymm8,%ymm1
+  .byte  196,226,101,184,205                 // vfmadd231ps   %ymm5,%ymm3,%ymm1
+  .byte  197,188,89,210                      // vmulps        %ymm2,%ymm8,%ymm2
+  .byte  196,226,101,184,214                 // vfmadd231ps   %ymm6,%ymm3,%ymm2
+  .byte  197,60,89,195                       // vmulps        %ymm3,%ymm8,%ymm8
+  .byte  196,194,69,168,216                  // vfmadd213ps   %ymm8,%ymm7,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_srcin_hsw
+.globl _sk_srcin_hsw
+FUNCTION(_sk_srcin_hsw)
+_sk_srcin_hsw:
+  .byte  197,252,89,199                      // vmulps        %ymm7,%ymm0,%ymm0
+  .byte  197,244,89,207                      // vmulps        %ymm7,%ymm1,%ymm1
+  .byte  197,236,89,215                      // vmulps        %ymm7,%ymm2,%ymm2
+  .byte  197,228,89,223                      // vmulps        %ymm7,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_dstin_hsw
+.globl _sk_dstin_hsw
+FUNCTION(_sk_dstin_hsw)
+_sk_dstin_hsw:
+  .byte  197,228,89,196                      // vmulps        %ymm4,%ymm3,%ymm0
+  .byte  197,228,89,205                      // vmulps        %ymm5,%ymm3,%ymm1
+  .byte  197,228,89,214                      // vmulps        %ymm6,%ymm3,%ymm2
+  .byte  197,228,89,223                      // vmulps        %ymm7,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_srcout_hsw
+.globl _sk_srcout_hsw
+FUNCTION(_sk_srcout_hsw)
+_sk_srcout_hsw:
+  .byte  196,98,125,24,5,88,63,3,0           // vbroadcastss  0x33f58(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,199                       // vsubps        %ymm7,%ymm8,%ymm8
+  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
+  .byte  197,188,89,201                      // vmulps        %ymm1,%ymm8,%ymm1
+  .byte  197,188,89,210                      // vmulps        %ymm2,%ymm8,%ymm2
+  .byte  197,188,89,219                      // vmulps        %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_dstout_hsw
+.globl _sk_dstout_hsw
+FUNCTION(_sk_dstout_hsw)
+_sk_dstout_hsw:
+  .byte  196,226,125,24,5,55,63,3,0          // vbroadcastss  0x33f37(%rip),%ymm0        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,252,92,219                      // vsubps        %ymm3,%ymm0,%ymm3
+  .byte  197,228,89,196                      // vmulps        %ymm4,%ymm3,%ymm0
+  .byte  197,228,89,205                      // vmulps        %ymm5,%ymm3,%ymm1
+  .byte  197,228,89,214                      // vmulps        %ymm6,%ymm3,%ymm2
+  .byte  197,228,89,223                      // vmulps        %ymm7,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_srcover_hsw
+.globl _sk_srcover_hsw
+FUNCTION(_sk_srcover_hsw)
+_sk_srcover_hsw:
+  .byte  196,98,125,24,5,22,63,3,0           // vbroadcastss  0x33f16(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
+  .byte  196,194,93,184,192                  // vfmadd231ps   %ymm8,%ymm4,%ymm0
+  .byte  196,194,85,184,200                  // vfmadd231ps   %ymm8,%ymm5,%ymm1
+  .byte  196,194,77,184,208                  // vfmadd231ps   %ymm8,%ymm6,%ymm2
+  .byte  196,194,69,184,216                  // vfmadd231ps   %ymm8,%ymm7,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_dstover_hsw
+.globl _sk_dstover_hsw
+FUNCTION(_sk_dstover_hsw)
+_sk_dstover_hsw:
+  .byte  196,98,125,24,5,241,62,3,0          // vbroadcastss  0x33ef1(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,199                       // vsubps        %ymm7,%ymm8,%ymm8
+  .byte  196,226,61,168,196                  // vfmadd213ps   %ymm4,%ymm8,%ymm0
+  .byte  196,226,61,168,205                  // vfmadd213ps   %ymm5,%ymm8,%ymm1
+  .byte  196,226,61,168,214                  // vfmadd213ps   %ymm6,%ymm8,%ymm2
+  .byte  196,226,61,168,223                  // vfmadd213ps   %ymm7,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_modulate_hsw
+.globl _sk_modulate_hsw
+FUNCTION(_sk_modulate_hsw)
+_sk_modulate_hsw:
+  .byte  197,252,89,196                      // vmulps        %ymm4,%ymm0,%ymm0
+  .byte  197,244,89,205                      // vmulps        %ymm5,%ymm1,%ymm1
+  .byte  197,236,89,214                      // vmulps        %ymm6,%ymm2,%ymm2
+  .byte  197,228,89,223                      // vmulps        %ymm7,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_multiply_hsw
+.globl _sk_multiply_hsw
+FUNCTION(_sk_multiply_hsw)
+_sk_multiply_hsw:
+  .byte  196,98,125,24,5,184,62,3,0          // vbroadcastss  0x33eb8(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,207                       // vsubps        %ymm7,%ymm8,%ymm9
+  .byte  197,52,89,208                       // vmulps        %ymm0,%ymm9,%ymm10
+  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
+  .byte  196,98,61,184,212                   // vfmadd231ps   %ymm4,%ymm8,%ymm10
+  .byte  196,194,93,168,194                  // vfmadd213ps   %ymm10,%ymm4,%ymm0
+  .byte  197,52,89,209                       // vmulps        %ymm1,%ymm9,%ymm10
+  .byte  196,98,61,184,213                   // vfmadd231ps   %ymm5,%ymm8,%ymm10
+  .byte  196,194,85,168,202                  // vfmadd213ps   %ymm10,%ymm5,%ymm1
+  .byte  197,52,89,210                       // vmulps        %ymm2,%ymm9,%ymm10
+  .byte  196,98,61,184,214                   // vfmadd231ps   %ymm6,%ymm8,%ymm10
+  .byte  196,194,77,168,210                  // vfmadd213ps   %ymm10,%ymm6,%ymm2
+  .byte  197,52,89,203                       // vmulps        %ymm3,%ymm9,%ymm9
+  .byte  196,66,69,168,193                   // vfmadd213ps   %ymm9,%ymm7,%ymm8
+  .byte  196,194,69,168,216                  // vfmadd213ps   %ymm8,%ymm7,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_plus__hsw
+.globl _sk_plus__hsw
+FUNCTION(_sk_plus__hsw)
+_sk_plus__hsw:
+  .byte  197,252,88,196                      // vaddps        %ymm4,%ymm0,%ymm0
+  .byte  196,98,125,24,5,103,62,3,0          // vbroadcastss  0x33e67(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,193,124,93,192                  // vminps        %ymm8,%ymm0,%ymm0
+  .byte  197,244,88,205                      // vaddps        %ymm5,%ymm1,%ymm1
+  .byte  196,193,116,93,200                  // vminps        %ymm8,%ymm1,%ymm1
+  .byte  197,236,88,214                      // vaddps        %ymm6,%ymm2,%ymm2
+  .byte  196,193,108,93,208                  // vminps        %ymm8,%ymm2,%ymm2
+  .byte  197,228,88,223                      // vaddps        %ymm7,%ymm3,%ymm3
+  .byte  196,193,100,93,216                  // vminps        %ymm8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_screen_hsw
+.globl _sk_screen_hsw
+FUNCTION(_sk_screen_hsw)
+_sk_screen_hsw:
+  .byte  197,124,88,196                      // vaddps        %ymm4,%ymm0,%ymm8
+  .byte  196,194,93,172,192                  // vfnmadd213ps  %ymm8,%ymm4,%ymm0
+  .byte  197,116,88,197                      // vaddps        %ymm5,%ymm1,%ymm8
+  .byte  196,194,85,172,200                  // vfnmadd213ps  %ymm8,%ymm5,%ymm1
+  .byte  197,108,88,198                      // vaddps        %ymm6,%ymm2,%ymm8
+  .byte  196,194,77,172,208                  // vfnmadd213ps  %ymm8,%ymm6,%ymm2
+  .byte  197,100,88,199                      // vaddps        %ymm7,%ymm3,%ymm8
+  .byte  196,194,69,172,216                  // vfnmadd213ps  %ymm8,%ymm7,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xor__hsw
+.globl _sk_xor__hsw
+FUNCTION(_sk_xor__hsw)
+_sk_xor__hsw:
+  .byte  196,98,125,24,5,18,62,3,0           // vbroadcastss  0x33e12(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,207                       // vsubps        %ymm7,%ymm8,%ymm9
+  .byte  197,180,89,192                      // vmulps        %ymm0,%ymm9,%ymm0
+  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
+  .byte  196,226,61,184,196                  // vfmadd231ps   %ymm4,%ymm8,%ymm0
+  .byte  197,180,89,201                      // vmulps        %ymm1,%ymm9,%ymm1
+  .byte  196,226,61,184,205                  // vfmadd231ps   %ymm5,%ymm8,%ymm1
+  .byte  197,180,89,210                      // vmulps        %ymm2,%ymm9,%ymm2
+  .byte  196,226,61,184,214                  // vfmadd231ps   %ymm6,%ymm8,%ymm2
+  .byte  197,180,89,219                      // vmulps        %ymm3,%ymm9,%ymm3
+  .byte  196,98,69,168,195                   // vfmadd213ps   %ymm3,%ymm7,%ymm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,41,195                      // vmovaps       %ymm8,%ymm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_darken_hsw
+.globl _sk_darken_hsw
+FUNCTION(_sk_darken_hsw)
+_sk_darken_hsw:
+  .byte  197,124,88,196                      // vaddps        %ymm4,%ymm0,%ymm8
+  .byte  197,252,89,199                      // vmulps        %ymm7,%ymm0,%ymm0
+  .byte  197,100,89,204                      // vmulps        %ymm4,%ymm3,%ymm9
+  .byte  196,193,124,95,193                  // vmaxps        %ymm9,%ymm0,%ymm0
+  .byte  197,188,92,192                      // vsubps        %ymm0,%ymm8,%ymm0
+  .byte  197,116,88,197                      // vaddps        %ymm5,%ymm1,%ymm8
+  .byte  197,244,89,207                      // vmulps        %ymm7,%ymm1,%ymm1
+  .byte  197,100,89,205                      // vmulps        %ymm5,%ymm3,%ymm9
+  .byte  196,193,116,95,201                  // vmaxps        %ymm9,%ymm1,%ymm1
+  .byte  197,188,92,201                      // vsubps        %ymm1,%ymm8,%ymm1
+  .byte  197,108,88,198                      // vaddps        %ymm6,%ymm2,%ymm8
+  .byte  197,236,89,215                      // vmulps        %ymm7,%ymm2,%ymm2
+  .byte  197,100,89,206                      // vmulps        %ymm6,%ymm3,%ymm9
+  .byte  196,193,108,95,209                  // vmaxps        %ymm9,%ymm2,%ymm2
+  .byte  197,188,92,210                      // vsubps        %ymm2,%ymm8,%ymm2
+  .byte  196,98,125,24,5,150,61,3,0          // vbroadcastss  0x33d96(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
+  .byte  196,194,69,184,216                  // vfmadd231ps   %ymm8,%ymm7,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_lighten_hsw
+.globl _sk_lighten_hsw
+FUNCTION(_sk_lighten_hsw)
+_sk_lighten_hsw:
+  .byte  197,124,88,196                      // vaddps        %ymm4,%ymm0,%ymm8
+  .byte  197,252,89,199                      // vmulps        %ymm7,%ymm0,%ymm0
+  .byte  197,100,89,204                      // vmulps        %ymm4,%ymm3,%ymm9
+  .byte  196,193,124,93,193                  // vminps        %ymm9,%ymm0,%ymm0
+  .byte  197,188,92,192                      // vsubps        %ymm0,%ymm8,%ymm0
+  .byte  197,116,88,197                      // vaddps        %ymm5,%ymm1,%ymm8
+  .byte  197,244,89,207                      // vmulps        %ymm7,%ymm1,%ymm1
+  .byte  197,100,89,205                      // vmulps        %ymm5,%ymm3,%ymm9
+  .byte  196,193,116,93,201                  // vminps        %ymm9,%ymm1,%ymm1
+  .byte  197,188,92,201                      // vsubps        %ymm1,%ymm8,%ymm1
+  .byte  197,108,88,198                      // vaddps        %ymm6,%ymm2,%ymm8
+  .byte  197,236,89,215                      // vmulps        %ymm7,%ymm2,%ymm2
+  .byte  197,100,89,206                      // vmulps        %ymm6,%ymm3,%ymm9
+  .byte  196,193,108,93,209                  // vminps        %ymm9,%ymm2,%ymm2
+  .byte  197,188,92,210                      // vsubps        %ymm2,%ymm8,%ymm2
+  .byte  196,98,125,24,5,65,61,3,0           // vbroadcastss  0x33d41(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
+  .byte  196,194,69,184,216                  // vfmadd231ps   %ymm8,%ymm7,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_difference_hsw
+.globl _sk_difference_hsw
+FUNCTION(_sk_difference_hsw)
+_sk_difference_hsw:
+  .byte  197,124,88,196                      // vaddps        %ymm4,%ymm0,%ymm8
+  .byte  197,252,89,199                      // vmulps        %ymm7,%ymm0,%ymm0
+  .byte  197,100,89,204                      // vmulps        %ymm4,%ymm3,%ymm9
+  .byte  196,193,124,93,193                  // vminps        %ymm9,%ymm0,%ymm0
+  .byte  197,252,88,192                      // vaddps        %ymm0,%ymm0,%ymm0
+  .byte  197,188,92,192                      // vsubps        %ymm0,%ymm8,%ymm0
+  .byte  197,116,88,197                      // vaddps        %ymm5,%ymm1,%ymm8
+  .byte  197,244,89,207                      // vmulps        %ymm7,%ymm1,%ymm1
+  .byte  197,100,89,205                      // vmulps        %ymm5,%ymm3,%ymm9
+  .byte  196,193,116,93,201                  // vminps        %ymm9,%ymm1,%ymm1
+  .byte  197,244,88,201                      // vaddps        %ymm1,%ymm1,%ymm1
+  .byte  197,188,92,201                      // vsubps        %ymm1,%ymm8,%ymm1
+  .byte  197,108,88,198                      // vaddps        %ymm6,%ymm2,%ymm8
+  .byte  197,236,89,215                      // vmulps        %ymm7,%ymm2,%ymm2
+  .byte  197,100,89,206                      // vmulps        %ymm6,%ymm3,%ymm9
+  .byte  196,193,108,93,209                  // vminps        %ymm9,%ymm2,%ymm2
+  .byte  197,236,88,210                      // vaddps        %ymm2,%ymm2,%ymm2
+  .byte  197,188,92,210                      // vsubps        %ymm2,%ymm8,%ymm2
+  .byte  196,98,125,24,5,224,60,3,0          // vbroadcastss  0x33ce0(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
+  .byte  196,194,69,184,216                  // vfmadd231ps   %ymm8,%ymm7,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_exclusion_hsw
+.globl _sk_exclusion_hsw
+FUNCTION(_sk_exclusion_hsw)
+_sk_exclusion_hsw:
+  .byte  197,124,88,196                      // vaddps        %ymm4,%ymm0,%ymm8
+  .byte  197,252,89,196                      // vmulps        %ymm4,%ymm0,%ymm0
+  .byte  197,252,88,192                      // vaddps        %ymm0,%ymm0,%ymm0
+  .byte  197,188,92,192                      // vsubps        %ymm0,%ymm8,%ymm0
+  .byte  197,116,88,197                      // vaddps        %ymm5,%ymm1,%ymm8
+  .byte  197,244,89,205                      // vmulps        %ymm5,%ymm1,%ymm1
+  .byte  197,244,88,201                      // vaddps        %ymm1,%ymm1,%ymm1
+  .byte  197,188,92,201                      // vsubps        %ymm1,%ymm8,%ymm1
+  .byte  197,108,88,198                      // vaddps        %ymm6,%ymm2,%ymm8
+  .byte  197,236,89,214                      // vmulps        %ymm6,%ymm2,%ymm2
+  .byte  197,236,88,210                      // vaddps        %ymm2,%ymm2,%ymm2
+  .byte  197,188,92,210                      // vsubps        %ymm2,%ymm8,%ymm2
+  .byte  196,98,125,24,5,154,60,3,0          // vbroadcastss  0x33c9a(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
+  .byte  196,194,69,184,216                  // vfmadd231ps   %ymm8,%ymm7,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_colorburn_hsw
+.globl _sk_colorburn_hsw
+FUNCTION(_sk_colorburn_hsw)
+_sk_colorburn_hsw:
+  .byte  196,98,125,24,5,132,60,3,0          // vbroadcastss  0x33c84(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,207                       // vsubps        %ymm7,%ymm8,%ymm9
+  .byte  197,52,89,216                       // vmulps        %ymm0,%ymm9,%ymm11
+  .byte  196,65,44,87,210                    // vxorps        %ymm10,%ymm10,%ymm10
+  .byte  196,65,124,194,226,0                // vcmpeqps      %ymm10,%ymm0,%ymm12
+  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
+  .byte  197,68,92,236                       // vsubps        %ymm4,%ymm7,%ymm13
+  .byte  197,20,89,235                       // vmulps        %ymm3,%ymm13,%ymm13
+  .byte  197,252,83,192                      // vrcpps        %ymm0,%ymm0
+  .byte  197,148,89,192                      // vmulps        %ymm0,%ymm13,%ymm0
+  .byte  197,60,89,236                       // vmulps        %ymm4,%ymm8,%ymm13
+  .byte  197,196,93,192                      // vminps        %ymm0,%ymm7,%ymm0
+  .byte  197,196,92,192                      // vsubps        %ymm0,%ymm7,%ymm0
+  .byte  196,194,101,168,195                 // vfmadd213ps   %ymm11,%ymm3,%ymm0
+  .byte  197,148,88,192                      // vaddps        %ymm0,%ymm13,%ymm0
+  .byte  196,195,125,74,197,192              // vblendvps     %ymm12,%ymm13,%ymm0,%ymm0
+  .byte  197,92,194,231,0                    // vcmpeqps      %ymm7,%ymm4,%ymm12
+  .byte  197,36,88,220                       // vaddps        %ymm4,%ymm11,%ymm11
+  .byte  196,195,125,74,195,192              // vblendvps     %ymm12,%ymm11,%ymm0,%ymm0
+  .byte  197,52,89,217                       // vmulps        %ymm1,%ymm9,%ymm11
+  .byte  196,65,116,194,226,0                // vcmpeqps      %ymm10,%ymm1,%ymm12
+  .byte  197,68,92,237                       // vsubps        %ymm5,%ymm7,%ymm13
+  .byte  197,20,89,235                       // vmulps        %ymm3,%ymm13,%ymm13
+  .byte  197,252,83,201                      // vrcpps        %ymm1,%ymm1
+  .byte  197,148,89,201                      // vmulps        %ymm1,%ymm13,%ymm1
+  .byte  197,60,89,237                       // vmulps        %ymm5,%ymm8,%ymm13
+  .byte  197,196,93,201                      // vminps        %ymm1,%ymm7,%ymm1
+  .byte  197,196,92,201                      // vsubps        %ymm1,%ymm7,%ymm1
+  .byte  196,194,101,168,203                 // vfmadd213ps   %ymm11,%ymm3,%ymm1
+  .byte  197,148,88,201                      // vaddps        %ymm1,%ymm13,%ymm1
+  .byte  196,195,117,74,205,192              // vblendvps     %ymm12,%ymm13,%ymm1,%ymm1
+  .byte  197,84,194,231,0                    // vcmpeqps      %ymm7,%ymm5,%ymm12
+  .byte  197,36,88,221                       // vaddps        %ymm5,%ymm11,%ymm11
+  .byte  196,195,117,74,203,192              // vblendvps     %ymm12,%ymm11,%ymm1,%ymm1
+  .byte  197,52,89,202                       // vmulps        %ymm2,%ymm9,%ymm9
+  .byte  196,65,108,194,210,0                // vcmpeqps      %ymm10,%ymm2,%ymm10
+  .byte  197,68,92,222                       // vsubps        %ymm6,%ymm7,%ymm11
+  .byte  197,36,89,219                       // vmulps        %ymm3,%ymm11,%ymm11
+  .byte  197,252,83,210                      // vrcpps        %ymm2,%ymm2
+  .byte  197,164,89,210                      // vmulps        %ymm2,%ymm11,%ymm2
+  .byte  197,60,89,222                       // vmulps        %ymm6,%ymm8,%ymm11
+  .byte  197,196,93,210                      // vminps        %ymm2,%ymm7,%ymm2
+  .byte  197,196,92,210                      // vsubps        %ymm2,%ymm7,%ymm2
+  .byte  196,194,101,168,209                 // vfmadd213ps   %ymm9,%ymm3,%ymm2
+  .byte  197,164,88,210                      // vaddps        %ymm2,%ymm11,%ymm2
+  .byte  196,195,109,74,211,160              // vblendvps     %ymm10,%ymm11,%ymm2,%ymm2
+  .byte  197,76,194,215,0                    // vcmpeqps      %ymm7,%ymm6,%ymm10
+  .byte  197,52,88,206                       // vaddps        %ymm6,%ymm9,%ymm9
+  .byte  196,195,109,74,209,160              // vblendvps     %ymm10,%ymm9,%ymm2,%ymm2
+  .byte  196,194,69,184,216                  // vfmadd231ps   %ymm8,%ymm7,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_colordodge_hsw
+.globl _sk_colordodge_hsw
+FUNCTION(_sk_colordodge_hsw)
+_sk_colordodge_hsw:
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  196,98,125,24,13,148,59,3,0         // vbroadcastss  0x33b94(%rip),%ymm9        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,52,92,215                       // vsubps        %ymm7,%ymm9,%ymm10
+  .byte  197,44,89,216                       // vmulps        %ymm0,%ymm10,%ymm11
+  .byte  197,52,92,203                       // vsubps        %ymm3,%ymm9,%ymm9
+  .byte  197,100,89,228                      // vmulps        %ymm4,%ymm3,%ymm12
+  .byte  197,100,92,232                      // vsubps        %ymm0,%ymm3,%ymm13
+  .byte  196,65,124,83,237                   // vrcpps        %ymm13,%ymm13
+  .byte  196,65,28,89,229                    // vmulps        %ymm13,%ymm12,%ymm12
+  .byte  197,52,89,236                       // vmulps        %ymm4,%ymm9,%ymm13
+  .byte  196,65,68,93,228                    // vminps        %ymm12,%ymm7,%ymm12
+  .byte  196,66,101,168,227                  // vfmadd213ps   %ymm11,%ymm3,%ymm12
+  .byte  196,65,20,88,228                    // vaddps        %ymm12,%ymm13,%ymm12
+  .byte  197,20,88,232                       // vaddps        %ymm0,%ymm13,%ymm13
+  .byte  197,252,194,195,0                   // vcmpeqps      %ymm3,%ymm0,%ymm0
+  .byte  196,195,29,74,197,0                 // vblendvps     %ymm0,%ymm13,%ymm12,%ymm0
+  .byte  196,65,92,194,224,0                 // vcmpeqps      %ymm8,%ymm4,%ymm12
+  .byte  196,195,125,74,195,192              // vblendvps     %ymm12,%ymm11,%ymm0,%ymm0
+  .byte  197,44,89,217                       // vmulps        %ymm1,%ymm10,%ymm11
+  .byte  197,100,89,229                      // vmulps        %ymm5,%ymm3,%ymm12
+  .byte  197,100,92,233                      // vsubps        %ymm1,%ymm3,%ymm13
+  .byte  196,65,124,83,237                   // vrcpps        %ymm13,%ymm13
+  .byte  196,65,28,89,229                    // vmulps        %ymm13,%ymm12,%ymm12
+  .byte  197,52,89,237                       // vmulps        %ymm5,%ymm9,%ymm13
+  .byte  196,65,68,93,228                    // vminps        %ymm12,%ymm7,%ymm12
+  .byte  196,66,101,168,227                  // vfmadd213ps   %ymm11,%ymm3,%ymm12
+  .byte  196,65,20,88,228                    // vaddps        %ymm12,%ymm13,%ymm12
+  .byte  197,20,88,233                       // vaddps        %ymm1,%ymm13,%ymm13
+  .byte  197,244,194,203,0                   // vcmpeqps      %ymm3,%ymm1,%ymm1
+  .byte  196,195,29,74,205,16                // vblendvps     %ymm1,%ymm13,%ymm12,%ymm1
+  .byte  196,65,84,194,224,0                 // vcmpeqps      %ymm8,%ymm5,%ymm12
+  .byte  196,195,117,74,203,192              // vblendvps     %ymm12,%ymm11,%ymm1,%ymm1
+  .byte  197,44,89,210                       // vmulps        %ymm2,%ymm10,%ymm10
+  .byte  197,100,89,222                      // vmulps        %ymm6,%ymm3,%ymm11
+  .byte  197,100,92,226                      // vsubps        %ymm2,%ymm3,%ymm12
+  .byte  196,65,124,83,228                   // vrcpps        %ymm12,%ymm12
+  .byte  196,65,36,89,220                    // vmulps        %ymm12,%ymm11,%ymm11
+  .byte  197,52,89,230                       // vmulps        %ymm6,%ymm9,%ymm12
+  .byte  196,65,68,93,219                    // vminps        %ymm11,%ymm7,%ymm11
+  .byte  196,66,101,168,218                  // vfmadd213ps   %ymm10,%ymm3,%ymm11
+  .byte  196,65,28,88,219                    // vaddps        %ymm11,%ymm12,%ymm11
+  .byte  197,28,88,226                       // vaddps        %ymm2,%ymm12,%ymm12
+  .byte  197,236,194,211,0                   // vcmpeqps      %ymm3,%ymm2,%ymm2
+  .byte  196,195,37,74,212,32                // vblendvps     %ymm2,%ymm12,%ymm11,%ymm2
+  .byte  196,65,76,194,192,0                 // vcmpeqps      %ymm8,%ymm6,%ymm8
+  .byte  196,195,109,74,210,128              // vblendvps     %ymm8,%ymm10,%ymm2,%ymm2
+  .byte  196,194,69,184,217                  // vfmadd231ps   %ymm9,%ymm7,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_hardlight_hsw
+.globl _sk_hardlight_hsw
+FUNCTION(_sk_hardlight_hsw)
+_sk_hardlight_hsw:
+  .byte  196,98,125,24,5,174,58,3,0          // vbroadcastss  0x33aae(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,215                       // vsubps        %ymm7,%ymm8,%ymm10
+  .byte  197,44,89,216                       // vmulps        %ymm0,%ymm10,%ymm11
+  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
+  .byte  196,98,61,184,220                   // vfmadd231ps   %ymm4,%ymm8,%ymm11
+  .byte  197,124,88,200                      // vaddps        %ymm0,%ymm0,%ymm9
+  .byte  197,52,194,227,2                    // vcmpleps      %ymm3,%ymm9,%ymm12
+  .byte  197,124,89,204                      // vmulps        %ymm4,%ymm0,%ymm9
+  .byte  196,65,52,88,233                    // vaddps        %ymm9,%ymm9,%ymm13
+  .byte  197,100,89,207                      // vmulps        %ymm7,%ymm3,%ymm9
+  .byte  197,68,92,244                       // vsubps        %ymm4,%ymm7,%ymm14
+  .byte  197,228,92,192                      // vsubps        %ymm0,%ymm3,%ymm0
+  .byte  196,193,124,89,198                  // vmulps        %ymm14,%ymm0,%ymm0
+  .byte  197,252,88,192                      // vaddps        %ymm0,%ymm0,%ymm0
+  .byte  197,180,92,192                      // vsubps        %ymm0,%ymm9,%ymm0
+  .byte  196,195,125,74,197,192              // vblendvps     %ymm12,%ymm13,%ymm0,%ymm0
+  .byte  197,164,88,192                      // vaddps        %ymm0,%ymm11,%ymm0
+  .byte  197,44,89,217                       // vmulps        %ymm1,%ymm10,%ymm11
+  .byte  196,98,61,184,221                   // vfmadd231ps   %ymm5,%ymm8,%ymm11
+  .byte  197,116,88,225                      // vaddps        %ymm1,%ymm1,%ymm12
+  .byte  197,28,194,227,2                    // vcmpleps      %ymm3,%ymm12,%ymm12
+  .byte  197,116,89,237                      // vmulps        %ymm5,%ymm1,%ymm13
+  .byte  196,65,20,88,237                    // vaddps        %ymm13,%ymm13,%ymm13
+  .byte  197,68,92,245                       // vsubps        %ymm5,%ymm7,%ymm14
+  .byte  197,228,92,201                      // vsubps        %ymm1,%ymm3,%ymm1
+  .byte  196,193,116,89,206                  // vmulps        %ymm14,%ymm1,%ymm1
+  .byte  197,244,88,201                      // vaddps        %ymm1,%ymm1,%ymm1
+  .byte  197,180,92,201                      // vsubps        %ymm1,%ymm9,%ymm1
+  .byte  196,195,117,74,205,192              // vblendvps     %ymm12,%ymm13,%ymm1,%ymm1
+  .byte  197,164,88,201                      // vaddps        %ymm1,%ymm11,%ymm1
+  .byte  197,44,89,210                       // vmulps        %ymm2,%ymm10,%ymm10
+  .byte  196,98,61,184,214                   // vfmadd231ps   %ymm6,%ymm8,%ymm10
+  .byte  197,108,88,218                      // vaddps        %ymm2,%ymm2,%ymm11
+  .byte  197,36,194,219,2                    // vcmpleps      %ymm3,%ymm11,%ymm11
+  .byte  197,108,89,230                      // vmulps        %ymm6,%ymm2,%ymm12
+  .byte  196,65,28,88,228                    // vaddps        %ymm12,%ymm12,%ymm12
+  .byte  197,68,92,238                       // vsubps        %ymm6,%ymm7,%ymm13
+  .byte  197,228,92,210                      // vsubps        %ymm2,%ymm3,%ymm2
+  .byte  196,193,108,89,213                  // vmulps        %ymm13,%ymm2,%ymm2
+  .byte  197,236,88,210                      // vaddps        %ymm2,%ymm2,%ymm2
+  .byte  197,180,92,210                      // vsubps        %ymm2,%ymm9,%ymm2
+  .byte  196,195,109,74,212,176              // vblendvps     %ymm11,%ymm12,%ymm2,%ymm2
+  .byte  197,172,88,210                      // vaddps        %ymm2,%ymm10,%ymm2
+  .byte  196,194,69,184,216                  // vfmadd231ps   %ymm8,%ymm7,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_overlay_hsw
+.globl _sk_overlay_hsw
+FUNCTION(_sk_overlay_hsw)
+_sk_overlay_hsw:
+  .byte  196,98,125,24,5,226,57,3,0          // vbroadcastss  0x339e2(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,215                       // vsubps        %ymm7,%ymm8,%ymm10
+  .byte  197,44,89,216                       // vmulps        %ymm0,%ymm10,%ymm11
+  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
+  .byte  196,98,61,184,220                   // vfmadd231ps   %ymm4,%ymm8,%ymm11
+  .byte  197,92,88,204                       // vaddps        %ymm4,%ymm4,%ymm9
+  .byte  197,52,194,231,2                    // vcmpleps      %ymm7,%ymm9,%ymm12
+  .byte  197,124,89,204                      // vmulps        %ymm4,%ymm0,%ymm9
+  .byte  196,65,52,88,233                    // vaddps        %ymm9,%ymm9,%ymm13
+  .byte  197,100,89,207                      // vmulps        %ymm7,%ymm3,%ymm9
+  .byte  197,68,92,244                       // vsubps        %ymm4,%ymm7,%ymm14
+  .byte  197,228,92,192                      // vsubps        %ymm0,%ymm3,%ymm0
+  .byte  196,193,124,89,198                  // vmulps        %ymm14,%ymm0,%ymm0
+  .byte  197,252,88,192                      // vaddps        %ymm0,%ymm0,%ymm0
+  .byte  197,180,92,192                      // vsubps        %ymm0,%ymm9,%ymm0
+  .byte  196,195,125,74,197,192              // vblendvps     %ymm12,%ymm13,%ymm0,%ymm0
+  .byte  197,164,88,192                      // vaddps        %ymm0,%ymm11,%ymm0
+  .byte  197,44,89,217                       // vmulps        %ymm1,%ymm10,%ymm11
+  .byte  196,98,61,184,221                   // vfmadd231ps   %ymm5,%ymm8,%ymm11
+  .byte  197,84,88,229                       // vaddps        %ymm5,%ymm5,%ymm12
+  .byte  197,28,194,231,2                    // vcmpleps      %ymm7,%ymm12,%ymm12
+  .byte  197,116,89,237                      // vmulps        %ymm5,%ymm1,%ymm13
+  .byte  196,65,20,88,237                    // vaddps        %ymm13,%ymm13,%ymm13
+  .byte  197,68,92,245                       // vsubps        %ymm5,%ymm7,%ymm14
+  .byte  197,228,92,201                      // vsubps        %ymm1,%ymm3,%ymm1
+  .byte  196,193,116,89,206                  // vmulps        %ymm14,%ymm1,%ymm1
+  .byte  197,244,88,201                      // vaddps        %ymm1,%ymm1,%ymm1
+  .byte  197,180,92,201                      // vsubps        %ymm1,%ymm9,%ymm1
+  .byte  196,195,117,74,205,192              // vblendvps     %ymm12,%ymm13,%ymm1,%ymm1
+  .byte  197,164,88,201                      // vaddps        %ymm1,%ymm11,%ymm1
+  .byte  197,44,89,210                       // vmulps        %ymm2,%ymm10,%ymm10
+  .byte  196,98,61,184,214                   // vfmadd231ps   %ymm6,%ymm8,%ymm10
+  .byte  197,76,88,222                       // vaddps        %ymm6,%ymm6,%ymm11
+  .byte  197,36,194,223,2                    // vcmpleps      %ymm7,%ymm11,%ymm11
+  .byte  197,108,89,230                      // vmulps        %ymm6,%ymm2,%ymm12
+  .byte  196,65,28,88,228                    // vaddps        %ymm12,%ymm12,%ymm12
+  .byte  197,68,92,238                       // vsubps        %ymm6,%ymm7,%ymm13
+  .byte  197,228,92,210                      // vsubps        %ymm2,%ymm3,%ymm2
+  .byte  196,193,108,89,213                  // vmulps        %ymm13,%ymm2,%ymm2
+  .byte  197,236,88,210                      // vaddps        %ymm2,%ymm2,%ymm2
+  .byte  197,180,92,210                      // vsubps        %ymm2,%ymm9,%ymm2
+  .byte  196,195,109,74,212,176              // vblendvps     %ymm11,%ymm12,%ymm2,%ymm2
+  .byte  197,172,88,210                      // vaddps        %ymm2,%ymm10,%ymm2
+  .byte  196,194,69,184,216                  // vfmadd231ps   %ymm8,%ymm7,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_softlight_hsw
+.globl _sk_softlight_hsw
+FUNCTION(_sk_softlight_hsw)
+_sk_softlight_hsw:
+  .byte  197,252,17,84,36,200                // vmovups       %ymm2,-0x38(%rsp)
+  .byte  197,252,40,209                      // vmovaps       %ymm1,%ymm2
+  .byte  197,252,40,200                      // vmovaps       %ymm0,%ymm1
+  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
+  .byte  197,52,194,215,1                    // vcmpltps      %ymm7,%ymm9,%ymm10
+  .byte  197,92,94,199                       // vdivps        %ymm7,%ymm4,%ymm8
+  .byte  196,67,53,74,232,160                // vblendvps     %ymm10,%ymm8,%ymm9,%ymm13
+  .byte  196,65,20,88,197                    // vaddps        %ymm13,%ymm13,%ymm8
+  .byte  196,65,60,88,192                    // vaddps        %ymm8,%ymm8,%ymm8
+  .byte  196,66,61,168,192                   // vfmadd213ps   %ymm8,%ymm8,%ymm8
+  .byte  196,98,125,24,29,253,56,3,0         // vbroadcastss  0x338fd(%rip),%ymm11        # 3c514 <_sk_srcover_bgra_8888_sse2_lowp+0x2c8>
+  .byte  196,65,20,88,227                    // vaddps        %ymm11,%ymm13,%ymm12
+  .byte  196,65,28,89,192                    // vmulps        %ymm8,%ymm12,%ymm8
+  .byte  196,98,125,24,37,238,56,3,0         // vbroadcastss  0x338ee(%rip),%ymm12        # 3c518 <_sk_srcover_bgra_8888_sse2_lowp+0x2cc>
+  .byte  196,66,21,184,196                   // vfmadd231ps   %ymm12,%ymm13,%ymm8
+  .byte  196,65,124,82,245                   // vrsqrtps      %ymm13,%ymm14
+  .byte  196,65,124,83,246                   // vrcpps        %ymm14,%ymm14
+  .byte  196,65,12,92,245                    // vsubps        %ymm13,%ymm14,%ymm14
+  .byte  197,92,88,252                       // vaddps        %ymm4,%ymm4,%ymm15
+  .byte  196,65,4,88,255                     // vaddps        %ymm15,%ymm15,%ymm15
+  .byte  197,4,194,255,2                     // vcmpleps      %ymm7,%ymm15,%ymm15
+  .byte  196,67,13,74,240,240                // vblendvps     %ymm15,%ymm8,%ymm14,%ymm14
+  .byte  197,116,88,249                      // vaddps        %ymm1,%ymm1,%ymm15
+  .byte  196,98,125,24,5,157,56,3,0          // vbroadcastss  0x3389d(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,65,60,92,237                    // vsubps        %ymm13,%ymm8,%ymm13
+  .byte  197,132,92,195                      // vsubps        %ymm3,%ymm15,%ymm0
+  .byte  196,98,125,168,235                  // vfmadd213ps   %ymm3,%ymm0,%ymm13
+  .byte  197,252,89,199                      // vmulps        %ymm7,%ymm0,%ymm0
+  .byte  196,193,124,89,198                  // vmulps        %ymm14,%ymm0,%ymm0
+  .byte  197,20,89,236                       // vmulps        %ymm4,%ymm13,%ymm13
+  .byte  196,226,101,184,196                 // vfmadd231ps   %ymm4,%ymm3,%ymm0
+  .byte  197,4,194,243,2                     // vcmpleps      %ymm3,%ymm15,%ymm14
+  .byte  196,195,125,74,197,224              // vblendvps     %ymm14,%ymm13,%ymm0,%ymm0
+  .byte  197,252,17,68,36,168                // vmovups       %ymm0,-0x58(%rsp)
+  .byte  197,212,94,199                      // vdivps        %ymm7,%ymm5,%ymm0
+  .byte  196,227,53,74,192,160               // vblendvps     %ymm10,%ymm0,%ymm9,%ymm0
+  .byte  197,124,88,240                      // vaddps        %ymm0,%ymm0,%ymm14
+  .byte  196,65,12,88,246                    // vaddps        %ymm14,%ymm14,%ymm14
+  .byte  196,66,13,168,246                   // vfmadd213ps   %ymm14,%ymm14,%ymm14
+  .byte  196,65,124,88,251                   // vaddps        %ymm11,%ymm0,%ymm15
+  .byte  196,65,4,89,246                     // vmulps        %ymm14,%ymm15,%ymm14
+  .byte  196,66,125,184,244                  // vfmadd231ps   %ymm12,%ymm0,%ymm14
+  .byte  197,124,82,248                      // vrsqrtps      %ymm0,%ymm15
+  .byte  196,65,124,83,255                   // vrcpps        %ymm15,%ymm15
+  .byte  197,4,92,248                        // vsubps        %ymm0,%ymm15,%ymm15
+  .byte  197,84,88,237                       // vaddps        %ymm5,%ymm5,%ymm13
+  .byte  196,65,20,88,237                    // vaddps        %ymm13,%ymm13,%ymm13
+  .byte  197,20,194,239,2                    // vcmpleps      %ymm7,%ymm13,%ymm13
+  .byte  196,67,5,74,238,208                 // vblendvps     %ymm13,%ymm14,%ymm15,%ymm13
+  .byte  197,188,92,192                      // vsubps        %ymm0,%ymm8,%ymm0
+  .byte  197,108,88,242                      // vaddps        %ymm2,%ymm2,%ymm14
+  .byte  197,12,92,251                       // vsubps        %ymm3,%ymm14,%ymm15
+  .byte  196,226,5,168,195                   // vfmadd213ps   %ymm3,%ymm15,%ymm0
+  .byte  197,4,89,255                        // vmulps        %ymm7,%ymm15,%ymm15
+  .byte  196,65,4,89,237                     // vmulps        %ymm13,%ymm15,%ymm13
+  .byte  197,252,89,197                      // vmulps        %ymm5,%ymm0,%ymm0
+  .byte  196,98,101,184,237                  // vfmadd231ps   %ymm5,%ymm3,%ymm13
+  .byte  197,12,194,243,2                    // vcmpleps      %ymm3,%ymm14,%ymm14
+  .byte  196,99,21,74,240,224                // vblendvps     %ymm14,%ymm0,%ymm13,%ymm14
+  .byte  197,204,94,199                      // vdivps        %ymm7,%ymm6,%ymm0
+  .byte  196,227,53,74,192,160               // vblendvps     %ymm10,%ymm0,%ymm9,%ymm0
+  .byte  197,124,88,200                      // vaddps        %ymm0,%ymm0,%ymm9
+  .byte  196,65,52,88,201                    // vaddps        %ymm9,%ymm9,%ymm9
+  .byte  196,66,53,168,201                   // vfmadd213ps   %ymm9,%ymm9,%ymm9
+  .byte  196,65,124,88,211                   // vaddps        %ymm11,%ymm0,%ymm10
+  .byte  196,65,44,89,201                    // vmulps        %ymm9,%ymm10,%ymm9
+  .byte  196,66,125,184,204                  // vfmadd231ps   %ymm12,%ymm0,%ymm9
+  .byte  197,124,82,208                      // vrsqrtps      %ymm0,%ymm10
+  .byte  196,65,124,83,210                   // vrcpps        %ymm10,%ymm10
+  .byte  197,44,92,208                       // vsubps        %ymm0,%ymm10,%ymm10
+  .byte  197,76,88,222                       // vaddps        %ymm6,%ymm6,%ymm11
+  .byte  196,65,36,88,219                    // vaddps        %ymm11,%ymm11,%ymm11
+  .byte  197,36,194,223,2                    // vcmpleps      %ymm7,%ymm11,%ymm11
+  .byte  196,67,45,74,201,176                // vblendvps     %ymm11,%ymm9,%ymm10,%ymm9
+  .byte  197,124,16,100,36,200               // vmovups       -0x38(%rsp),%ymm12
+  .byte  196,65,28,88,212                    // vaddps        %ymm12,%ymm12,%ymm10
+  .byte  197,44,92,219                       // vsubps        %ymm3,%ymm10,%ymm11
+  .byte  197,188,92,192                      // vsubps        %ymm0,%ymm8,%ymm0
+  .byte  196,226,37,168,195                  // vfmadd213ps   %ymm3,%ymm11,%ymm0
+  .byte  197,36,89,223                       // vmulps        %ymm7,%ymm11,%ymm11
+  .byte  196,65,36,89,201                    // vmulps        %ymm9,%ymm11,%ymm9
+  .byte  197,252,89,198                      // vmulps        %ymm6,%ymm0,%ymm0
+  .byte  196,98,101,184,206                  // vfmadd231ps   %ymm6,%ymm3,%ymm9
+  .byte  197,44,194,211,2                    // vcmpleps      %ymm3,%ymm10,%ymm10
+  .byte  196,99,53,74,200,160                // vblendvps     %ymm10,%ymm0,%ymm9,%ymm9
+  .byte  197,60,92,215                       // vsubps        %ymm7,%ymm8,%ymm10
+  .byte  197,172,89,193                      // vmulps        %ymm1,%ymm10,%ymm0
+  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
+  .byte  196,226,61,184,196                  // vfmadd231ps   %ymm4,%ymm8,%ymm0
+  .byte  197,252,88,68,36,168                // vaddps        -0x58(%rsp),%ymm0,%ymm0
+  .byte  197,172,89,202                      // vmulps        %ymm2,%ymm10,%ymm1
+  .byte  196,226,61,184,205                  // vfmadd231ps   %ymm5,%ymm8,%ymm1
+  .byte  196,193,116,88,206                  // vaddps        %ymm14,%ymm1,%ymm1
+  .byte  196,193,44,89,212                   // vmulps        %ymm12,%ymm10,%ymm2
+  .byte  196,226,61,184,214                  // vfmadd231ps   %ymm6,%ymm8,%ymm2
+  .byte  196,193,108,88,209                  // vaddps        %ymm9,%ymm2,%ymm2
+  .byte  196,194,69,184,216                  // vfmadd231ps   %ymm8,%ymm7,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_hue_hsw
+.globl _sk_hue_hsw
+FUNCTION(_sk_hue_hsw)
+_sk_hue_hsw:
+  .byte  197,124,40,194                      // vmovaps       %ymm2,%ymm8
+  .byte  197,124,17,68,36,200                // vmovups       %ymm8,-0x38(%rsp)
+  .byte  197,252,17,76,36,168                // vmovups       %ymm1,-0x58(%rsp)
+  .byte  197,252,40,208                      // vmovaps       %ymm0,%ymm2
+  .byte  197,108,89,203                      // vmulps        %ymm3,%ymm2,%ymm9
+  .byte  197,116,89,211                      // vmulps        %ymm3,%ymm1,%ymm10
+  .byte  197,60,89,219                       // vmulps        %ymm3,%ymm8,%ymm11
+  .byte  197,84,95,198                       // vmaxps        %ymm6,%ymm5,%ymm8
+  .byte  196,65,92,95,192                    // vmaxps        %ymm8,%ymm4,%ymm8
+  .byte  197,84,93,230                       // vminps        %ymm6,%ymm5,%ymm12
+  .byte  196,65,92,93,228                    // vminps        %ymm12,%ymm4,%ymm12
+  .byte  196,65,60,92,196                    // vsubps        %ymm12,%ymm8,%ymm8
+  .byte  197,60,89,227                       // vmulps        %ymm3,%ymm8,%ymm12
+  .byte  196,65,44,93,195                    // vminps        %ymm11,%ymm10,%ymm8
+  .byte  196,65,52,93,232                    // vminps        %ymm8,%ymm9,%ymm13
+  .byte  196,65,44,95,195                    // vmaxps        %ymm11,%ymm10,%ymm8
+  .byte  196,65,52,95,192                    // vmaxps        %ymm8,%ymm9,%ymm8
+  .byte  196,65,60,92,245                    // vsubps        %ymm13,%ymm8,%ymm14
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  196,65,12,194,248,0                 // vcmpeqps      %ymm8,%ymm14,%ymm15
+  .byte  196,65,52,92,205                    // vsubps        %ymm13,%ymm9,%ymm9
+  .byte  196,65,28,89,201                    // vmulps        %ymm9,%ymm12,%ymm9
+  .byte  196,65,52,94,206                    // vdivps        %ymm14,%ymm9,%ymm9
+  .byte  196,67,53,74,200,240                // vblendvps     %ymm15,%ymm8,%ymm9,%ymm9
+  .byte  196,65,44,92,213                    // vsubps        %ymm13,%ymm10,%ymm10
+  .byte  196,65,28,89,210                    // vmulps        %ymm10,%ymm12,%ymm10
+  .byte  196,65,44,94,214                    // vdivps        %ymm14,%ymm10,%ymm10
+  .byte  196,195,45,74,200,240               // vblendvps     %ymm15,%ymm8,%ymm10,%ymm1
+  .byte  196,65,36,92,213                    // vsubps        %ymm13,%ymm11,%ymm10
+  .byte  196,65,28,89,210                    // vmulps        %ymm10,%ymm12,%ymm10
+  .byte  196,65,44,94,214                    // vdivps        %ymm14,%ymm10,%ymm10
+  .byte  196,67,45,74,224,240                // vblendvps     %ymm15,%ymm8,%ymm10,%ymm12
+  .byte  196,98,125,24,53,181,54,3,0         // vbroadcastss  0x336b5(%rip),%ymm14        # 3c51c <_sk_srcover_bgra_8888_sse2_lowp+0x2d0>
+  .byte  196,98,125,24,61,176,54,3,0         // vbroadcastss  0x336b0(%rip),%ymm15        # 3c520 <_sk_srcover_bgra_8888_sse2_lowp+0x2d4>
+  .byte  196,65,84,89,239                    // vmulps        %ymm15,%ymm5,%ymm13
+  .byte  196,66,93,184,238                   // vfmadd231ps   %ymm14,%ymm4,%ymm13
+  .byte  196,226,125,24,5,161,54,3,0         // vbroadcastss  0x336a1(%rip),%ymm0        # 3c524 <_sk_srcover_bgra_8888_sse2_lowp+0x2d8>
+  .byte  196,98,77,184,232                   // vfmadd231ps   %ymm0,%ymm6,%ymm13
+  .byte  196,65,116,89,215                   // vmulps        %ymm15,%ymm1,%ymm10
+  .byte  196,66,53,184,214                   // vfmadd231ps   %ymm14,%ymm9,%ymm10
+  .byte  196,98,29,184,208                   // vfmadd231ps   %ymm0,%ymm12,%ymm10
+  .byte  196,66,101,170,234                  // vfmsub213ps   %ymm10,%ymm3,%ymm13
+  .byte  196,65,52,88,213                    // vaddps        %ymm13,%ymm9,%ymm10
+  .byte  196,65,116,88,221                   // vaddps        %ymm13,%ymm1,%ymm11
+  .byte  196,65,28,88,229                    // vaddps        %ymm13,%ymm12,%ymm12
+  .byte  196,193,36,93,204                   // vminps        %ymm12,%ymm11,%ymm1
+  .byte  197,44,93,233                       // vminps        %ymm1,%ymm10,%ymm13
+  .byte  196,65,36,89,207                    // vmulps        %ymm15,%ymm11,%ymm9
+  .byte  196,66,45,184,206                   // vfmadd231ps   %ymm14,%ymm10,%ymm9
+  .byte  196,98,29,184,200                   // vfmadd231ps   %ymm0,%ymm12,%ymm9
+  .byte  196,193,44,92,193                   // vsubps        %ymm9,%ymm10,%ymm0
+  .byte  197,180,89,192                      // vmulps        %ymm0,%ymm9,%ymm0
+  .byte  196,193,52,92,205                   // vsubps        %ymm13,%ymm9,%ymm1
+  .byte  197,252,94,193                      // vdivps        %ymm1,%ymm0,%ymm0
+  .byte  196,65,36,92,241                    // vsubps        %ymm9,%ymm11,%ymm14
+  .byte  196,65,52,89,246                    // vmulps        %ymm14,%ymm9,%ymm14
+  .byte  197,12,94,241                       // vdivps        %ymm1,%ymm14,%ymm14
+  .byte  196,65,28,92,249                    // vsubps        %ymm9,%ymm12,%ymm15
+  .byte  196,65,52,89,255                    // vmulps        %ymm15,%ymm9,%ymm15
+  .byte  197,132,94,201                      // vdivps        %ymm1,%ymm15,%ymm1
+  .byte  196,65,60,194,237,2                 // vcmpleps      %ymm13,%ymm8,%ymm13
+  .byte  196,65,52,88,246                    // vaddps        %ymm14,%ymm9,%ymm14
+  .byte  196,67,13,74,243,208                // vblendvps     %ymm13,%ymm11,%ymm14,%ymm14
+  .byte  196,65,36,95,220                    // vmaxps        %ymm12,%ymm11,%ymm11
+  .byte  197,180,88,201                      // vaddps        %ymm1,%ymm9,%ymm1
+  .byte  196,195,117,74,204,208              // vblendvps     %ymm13,%ymm12,%ymm1,%ymm1
+  .byte  197,180,88,192                      // vaddps        %ymm0,%ymm9,%ymm0
+  .byte  196,195,125,74,194,208              // vblendvps     %ymm13,%ymm10,%ymm0,%ymm0
+  .byte  197,100,89,231                      // vmulps        %ymm7,%ymm3,%ymm12
+  .byte  196,65,44,95,211                    // vmaxps        %ymm11,%ymm10,%ymm10
+  .byte  196,65,124,92,217                   // vsubps        %ymm9,%ymm0,%ymm11
+  .byte  196,65,28,92,233                    // vsubps        %ymm9,%ymm12,%ymm13
+  .byte  196,65,20,89,219                    // vmulps        %ymm11,%ymm13,%ymm11
+  .byte  196,65,28,194,250,1                 // vcmpltps      %ymm10,%ymm12,%ymm15
+  .byte  196,65,44,92,209                    // vsubps        %ymm9,%ymm10,%ymm10
+  .byte  196,65,36,94,218                    // vdivps        %ymm10,%ymm11,%ymm11
+  .byte  196,65,52,88,219                    // vaddps        %ymm11,%ymm9,%ymm11
+  .byte  196,195,125,74,195,240              // vblendvps     %ymm15,%ymm11,%ymm0,%ymm0
+  .byte  196,65,12,92,217                    // vsubps        %ymm9,%ymm14,%ymm11
+  .byte  196,65,20,89,219                    // vmulps        %ymm11,%ymm13,%ymm11
+  .byte  196,65,36,94,218                    // vdivps        %ymm10,%ymm11,%ymm11
+  .byte  196,65,52,88,219                    // vaddps        %ymm11,%ymm9,%ymm11
+  .byte  196,67,13,74,219,240                // vblendvps     %ymm15,%ymm11,%ymm14,%ymm11
+  .byte  196,65,116,92,241                   // vsubps        %ymm9,%ymm1,%ymm14
+  .byte  196,65,20,89,238                    // vmulps        %ymm14,%ymm13,%ymm13
+  .byte  196,65,20,94,210                    // vdivps        %ymm10,%ymm13,%ymm10
+  .byte  196,65,52,88,202                    // vaddps        %ymm10,%ymm9,%ymm9
+  .byte  196,195,117,74,201,240              // vblendvps     %ymm15,%ymm9,%ymm1,%ymm1
+  .byte  196,193,124,95,192                  // vmaxps        %ymm8,%ymm0,%ymm0
+  .byte  196,65,36,95,200                    // vmaxps        %ymm8,%ymm11,%ymm9
+  .byte  196,65,116,95,192                   // vmaxps        %ymm8,%ymm1,%ymm8
+  .byte  196,226,125,24,13,98,53,3,0         // vbroadcastss  0x33562(%rip),%ymm1        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,116,92,215                      // vsubps        %ymm7,%ymm1,%ymm10
+  .byte  197,172,89,210                      // vmulps        %ymm2,%ymm10,%ymm2
+  .byte  197,116,92,219                      // vsubps        %ymm3,%ymm1,%ymm11
+  .byte  196,226,37,184,212                  // vfmadd231ps   %ymm4,%ymm11,%ymm2
+  .byte  197,236,88,192                      // vaddps        %ymm0,%ymm2,%ymm0
+  .byte  197,172,89,76,36,168                // vmulps        -0x58(%rsp),%ymm10,%ymm1
+  .byte  196,226,37,184,205                  // vfmadd231ps   %ymm5,%ymm11,%ymm1
+  .byte  196,193,116,88,201                  // vaddps        %ymm9,%ymm1,%ymm1
+  .byte  197,172,89,84,36,200                // vmulps        -0x38(%rsp),%ymm10,%ymm2
+  .byte  196,98,77,168,218                   // vfmadd213ps   %ymm2,%ymm6,%ymm11
+  .byte  196,193,36,88,208                   // vaddps        %ymm8,%ymm11,%ymm2
+  .byte  197,228,88,223                      // vaddps        %ymm7,%ymm3,%ymm3
+  .byte  196,193,100,92,220                  // vsubps        %ymm12,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_saturation_hsw
+.globl _sk_saturation_hsw
+FUNCTION(_sk_saturation_hsw)
+_sk_saturation_hsw:
+  .byte  197,124,40,194                      // vmovaps       %ymm2,%ymm8
+  .byte  197,252,17,76,36,168                // vmovups       %ymm1,-0x58(%rsp)
+  .byte  197,252,40,208                      // vmovaps       %ymm0,%ymm2
+  .byte  197,100,89,204                      // vmulps        %ymm4,%ymm3,%ymm9
+  .byte  197,100,89,213                      // vmulps        %ymm5,%ymm3,%ymm10
+  .byte  197,100,89,222                      // vmulps        %ymm6,%ymm3,%ymm11
+  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
+  .byte  197,252,17,68,36,200                // vmovups       %ymm0,-0x38(%rsp)
+  .byte  197,116,95,192                      // vmaxps        %ymm0,%ymm1,%ymm8
+  .byte  196,65,108,95,192                   // vmaxps        %ymm8,%ymm2,%ymm8
+  .byte  197,116,93,224                      // vminps        %ymm0,%ymm1,%ymm12
+  .byte  196,65,108,93,228                   // vminps        %ymm12,%ymm2,%ymm12
+  .byte  196,65,60,92,196                    // vsubps        %ymm12,%ymm8,%ymm8
+  .byte  197,60,89,231                       // vmulps        %ymm7,%ymm8,%ymm12
+  .byte  196,65,44,93,195                    // vminps        %ymm11,%ymm10,%ymm8
+  .byte  196,65,52,93,232                    // vminps        %ymm8,%ymm9,%ymm13
+  .byte  196,65,44,95,195                    // vmaxps        %ymm11,%ymm10,%ymm8
+  .byte  196,65,52,95,192                    // vmaxps        %ymm8,%ymm9,%ymm8
+  .byte  196,65,60,92,245                    // vsubps        %ymm13,%ymm8,%ymm14
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  196,65,12,194,248,0                 // vcmpeqps      %ymm8,%ymm14,%ymm15
+  .byte  196,65,52,92,205                    // vsubps        %ymm13,%ymm9,%ymm9
+  .byte  196,65,28,89,201                    // vmulps        %ymm9,%ymm12,%ymm9
+  .byte  196,65,52,94,206                    // vdivps        %ymm14,%ymm9,%ymm9
+  .byte  196,67,53,74,200,240                // vblendvps     %ymm15,%ymm8,%ymm9,%ymm9
+  .byte  196,65,44,92,213                    // vsubps        %ymm13,%ymm10,%ymm10
+  .byte  196,65,28,89,210                    // vmulps        %ymm10,%ymm12,%ymm10
+  .byte  196,65,44,94,214                    // vdivps        %ymm14,%ymm10,%ymm10
+  .byte  196,195,45,74,200,240               // vblendvps     %ymm15,%ymm8,%ymm10,%ymm1
+  .byte  196,65,36,92,213                    // vsubps        %ymm13,%ymm11,%ymm10
+  .byte  196,65,28,89,210                    // vmulps        %ymm10,%ymm12,%ymm10
+  .byte  196,65,44,94,214                    // vdivps        %ymm14,%ymm10,%ymm10
+  .byte  196,67,45,74,224,240                // vblendvps     %ymm15,%ymm8,%ymm10,%ymm12
+  .byte  196,98,125,24,53,149,52,3,0         // vbroadcastss  0x33495(%rip),%ymm14        # 3c51c <_sk_srcover_bgra_8888_sse2_lowp+0x2d0>
+  .byte  196,98,125,24,61,144,52,3,0         // vbroadcastss  0x33490(%rip),%ymm15        # 3c520 <_sk_srcover_bgra_8888_sse2_lowp+0x2d4>
+  .byte  196,65,84,89,239                    // vmulps        %ymm15,%ymm5,%ymm13
+  .byte  196,66,93,184,238                   // vfmadd231ps   %ymm14,%ymm4,%ymm13
+  .byte  196,226,125,24,5,129,52,3,0         // vbroadcastss  0x33481(%rip),%ymm0        # 3c524 <_sk_srcover_bgra_8888_sse2_lowp+0x2d8>
+  .byte  196,98,77,184,232                   // vfmadd231ps   %ymm0,%ymm6,%ymm13
+  .byte  196,65,116,89,215                   // vmulps        %ymm15,%ymm1,%ymm10
+  .byte  196,66,53,184,214                   // vfmadd231ps   %ymm14,%ymm9,%ymm10
+  .byte  196,98,29,184,208                   // vfmadd231ps   %ymm0,%ymm12,%ymm10
+  .byte  196,66,101,170,234                  // vfmsub213ps   %ymm10,%ymm3,%ymm13
+  .byte  196,65,52,88,213                    // vaddps        %ymm13,%ymm9,%ymm10
+  .byte  196,65,116,88,221                   // vaddps        %ymm13,%ymm1,%ymm11
+  .byte  196,65,28,88,229                    // vaddps        %ymm13,%ymm12,%ymm12
+  .byte  196,193,36,93,204                   // vminps        %ymm12,%ymm11,%ymm1
+  .byte  197,44,93,233                       // vminps        %ymm1,%ymm10,%ymm13
+  .byte  196,65,36,89,207                    // vmulps        %ymm15,%ymm11,%ymm9
+  .byte  196,66,45,184,206                   // vfmadd231ps   %ymm14,%ymm10,%ymm9
+  .byte  196,98,29,184,200                   // vfmadd231ps   %ymm0,%ymm12,%ymm9
+  .byte  196,193,44,92,193                   // vsubps        %ymm9,%ymm10,%ymm0
+  .byte  197,180,89,192                      // vmulps        %ymm0,%ymm9,%ymm0
+  .byte  196,193,52,92,205                   // vsubps        %ymm13,%ymm9,%ymm1
+  .byte  197,252,94,193                      // vdivps        %ymm1,%ymm0,%ymm0
+  .byte  196,65,36,92,241                    // vsubps        %ymm9,%ymm11,%ymm14
+  .byte  196,65,52,89,246                    // vmulps        %ymm14,%ymm9,%ymm14
+  .byte  197,12,94,241                       // vdivps        %ymm1,%ymm14,%ymm14
+  .byte  196,65,28,92,249                    // vsubps        %ymm9,%ymm12,%ymm15
+  .byte  196,65,52,89,255                    // vmulps        %ymm15,%ymm9,%ymm15
+  .byte  197,132,94,201                      // vdivps        %ymm1,%ymm15,%ymm1
+  .byte  196,65,60,194,237,2                 // vcmpleps      %ymm13,%ymm8,%ymm13
+  .byte  196,65,52,88,246                    // vaddps        %ymm14,%ymm9,%ymm14
+  .byte  196,67,13,74,243,208                // vblendvps     %ymm13,%ymm11,%ymm14,%ymm14
+  .byte  196,65,36,95,220                    // vmaxps        %ymm12,%ymm11,%ymm11
+  .byte  197,180,88,201                      // vaddps        %ymm1,%ymm9,%ymm1
+  .byte  196,195,117,74,204,208              // vblendvps     %ymm13,%ymm12,%ymm1,%ymm1
+  .byte  197,180,88,192                      // vaddps        %ymm0,%ymm9,%ymm0
+  .byte  196,195,125,74,194,208              // vblendvps     %ymm13,%ymm10,%ymm0,%ymm0
+  .byte  197,100,89,231                      // vmulps        %ymm7,%ymm3,%ymm12
+  .byte  196,65,44,95,211                    // vmaxps        %ymm11,%ymm10,%ymm10
+  .byte  196,65,124,92,217                   // vsubps        %ymm9,%ymm0,%ymm11
+  .byte  196,65,28,92,233                    // vsubps        %ymm9,%ymm12,%ymm13
+  .byte  196,65,20,89,219                    // vmulps        %ymm11,%ymm13,%ymm11
+  .byte  196,65,28,194,250,1                 // vcmpltps      %ymm10,%ymm12,%ymm15
+  .byte  196,65,44,92,209                    // vsubps        %ymm9,%ymm10,%ymm10
+  .byte  196,65,36,94,218                    // vdivps        %ymm10,%ymm11,%ymm11
+  .byte  196,65,52,88,219                    // vaddps        %ymm11,%ymm9,%ymm11
+  .byte  196,195,125,74,195,240              // vblendvps     %ymm15,%ymm11,%ymm0,%ymm0
+  .byte  196,65,12,92,217                    // vsubps        %ymm9,%ymm14,%ymm11
+  .byte  196,65,20,89,219                    // vmulps        %ymm11,%ymm13,%ymm11
+  .byte  196,65,36,94,218                    // vdivps        %ymm10,%ymm11,%ymm11
+  .byte  196,65,52,88,219                    // vaddps        %ymm11,%ymm9,%ymm11
+  .byte  196,67,13,74,219,240                // vblendvps     %ymm15,%ymm11,%ymm14,%ymm11
+  .byte  196,65,116,92,241                   // vsubps        %ymm9,%ymm1,%ymm14
+  .byte  196,65,20,89,238                    // vmulps        %ymm14,%ymm13,%ymm13
+  .byte  196,65,20,94,210                    // vdivps        %ymm10,%ymm13,%ymm10
+  .byte  196,65,52,88,202                    // vaddps        %ymm10,%ymm9,%ymm9
+  .byte  196,195,117,74,201,240              // vblendvps     %ymm15,%ymm9,%ymm1,%ymm1
+  .byte  196,193,124,95,192                  // vmaxps        %ymm8,%ymm0,%ymm0
+  .byte  196,65,36,95,200                    // vmaxps        %ymm8,%ymm11,%ymm9
+  .byte  196,65,116,95,192                   // vmaxps        %ymm8,%ymm1,%ymm8
+  .byte  196,226,125,24,13,66,51,3,0         // vbroadcastss  0x33342(%rip),%ymm1        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,116,92,215                      // vsubps        %ymm7,%ymm1,%ymm10
+  .byte  197,172,89,210                      // vmulps        %ymm2,%ymm10,%ymm2
+  .byte  197,116,92,219                      // vsubps        %ymm3,%ymm1,%ymm11
+  .byte  196,226,37,184,212                  // vfmadd231ps   %ymm4,%ymm11,%ymm2
+  .byte  197,236,88,192                      // vaddps        %ymm0,%ymm2,%ymm0
+  .byte  197,172,89,76,36,168                // vmulps        -0x58(%rsp),%ymm10,%ymm1
+  .byte  196,226,37,184,205                  // vfmadd231ps   %ymm5,%ymm11,%ymm1
+  .byte  196,193,116,88,201                  // vaddps        %ymm9,%ymm1,%ymm1
+  .byte  197,172,89,84,36,200                // vmulps        -0x38(%rsp),%ymm10,%ymm2
+  .byte  196,98,77,168,218                   // vfmadd213ps   %ymm2,%ymm6,%ymm11
+  .byte  196,193,36,88,208                   // vaddps        %ymm8,%ymm11,%ymm2
+  .byte  197,228,88,223                      // vaddps        %ymm7,%ymm3,%ymm3
+  .byte  196,193,100,92,220                  // vsubps        %ymm12,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_color_hsw
+.globl _sk_color_hsw
+FUNCTION(_sk_color_hsw)
+_sk_color_hsw:
+  .byte  197,124,40,202                      // vmovaps       %ymm2,%ymm9
+  .byte  197,124,17,76,36,200                // vmovups       %ymm9,-0x38(%rsp)
+  .byte  197,252,17,76,36,168                // vmovups       %ymm1,-0x58(%rsp)
+  .byte  197,252,40,208                      // vmovaps       %ymm0,%ymm2
+  .byte  197,108,89,199                      // vmulps        %ymm7,%ymm2,%ymm8
+  .byte  197,116,89,215                      // vmulps        %ymm7,%ymm1,%ymm10
+  .byte  197,52,89,223                       // vmulps        %ymm7,%ymm9,%ymm11
+  .byte  196,98,125,24,45,247,50,3,0         // vbroadcastss  0x332f7(%rip),%ymm13        # 3c51c <_sk_srcover_bgra_8888_sse2_lowp+0x2d0>
+  .byte  196,98,125,24,53,242,50,3,0         // vbroadcastss  0x332f2(%rip),%ymm14        # 3c520 <_sk_srcover_bgra_8888_sse2_lowp+0x2d4>
+  .byte  196,65,84,89,230                    // vmulps        %ymm14,%ymm5,%ymm12
+  .byte  196,66,93,184,229                   // vfmadd231ps   %ymm13,%ymm4,%ymm12
+  .byte  196,98,125,24,61,227,50,3,0         // vbroadcastss  0x332e3(%rip),%ymm15        # 3c524 <_sk_srcover_bgra_8888_sse2_lowp+0x2d8>
+  .byte  196,66,77,184,231                   // vfmadd231ps   %ymm15,%ymm6,%ymm12
+  .byte  196,65,44,89,206                    // vmulps        %ymm14,%ymm10,%ymm9
+  .byte  196,66,61,184,205                   // vfmadd231ps   %ymm13,%ymm8,%ymm9
+  .byte  196,66,37,184,207                   // vfmadd231ps   %ymm15,%ymm11,%ymm9
+  .byte  196,66,101,170,225                  // vfmsub213ps   %ymm9,%ymm3,%ymm12
+  .byte  196,65,60,88,204                    // vaddps        %ymm12,%ymm8,%ymm9
+  .byte  196,65,44,88,212                    // vaddps        %ymm12,%ymm10,%ymm10
+  .byte  196,65,36,88,220                    // vaddps        %ymm12,%ymm11,%ymm11
+  .byte  196,65,44,93,195                    // vminps        %ymm11,%ymm10,%ymm8
+  .byte  196,65,52,93,224                    // vminps        %ymm8,%ymm9,%ymm12
+  .byte  196,65,44,89,198                    // vmulps        %ymm14,%ymm10,%ymm8
+  .byte  196,66,53,184,197                   // vfmadd231ps   %ymm13,%ymm9,%ymm8
+  .byte  196,66,37,184,199                   // vfmadd231ps   %ymm15,%ymm11,%ymm8
+  .byte  196,65,52,92,232                    // vsubps        %ymm8,%ymm9,%ymm13
+  .byte  196,65,60,89,237                    // vmulps        %ymm13,%ymm8,%ymm13
+  .byte  196,65,60,92,244                    // vsubps        %ymm12,%ymm8,%ymm14
+  .byte  196,193,20,94,198                   // vdivps        %ymm14,%ymm13,%ymm0
+  .byte  196,65,44,92,248                    // vsubps        %ymm8,%ymm10,%ymm15
+  .byte  196,65,60,89,255                    // vmulps        %ymm15,%ymm8,%ymm15
+  .byte  196,65,4,94,254                     // vdivps        %ymm14,%ymm15,%ymm15
+  .byte  196,65,36,92,232                    // vsubps        %ymm8,%ymm11,%ymm13
+  .byte  196,65,60,89,237                    // vmulps        %ymm13,%ymm8,%ymm13
+  .byte  196,65,20,94,238                    // vdivps        %ymm14,%ymm13,%ymm13
+  .byte  196,65,12,87,246                    // vxorps        %ymm14,%ymm14,%ymm14
+  .byte  196,65,12,194,228,2                 // vcmpleps      %ymm12,%ymm14,%ymm12
+  .byte  196,65,60,88,255                    // vaddps        %ymm15,%ymm8,%ymm15
+  .byte  196,67,5,74,250,192                 // vblendvps     %ymm12,%ymm10,%ymm15,%ymm15
+  .byte  196,65,44,95,211                    // vmaxps        %ymm11,%ymm10,%ymm10
+  .byte  196,65,60,88,237                    // vaddps        %ymm13,%ymm8,%ymm13
+  .byte  196,67,21,74,219,192                // vblendvps     %ymm12,%ymm11,%ymm13,%ymm11
+  .byte  197,188,88,192                      // vaddps        %ymm0,%ymm8,%ymm0
+  .byte  196,195,125,74,201,192              // vblendvps     %ymm12,%ymm9,%ymm0,%ymm1
+  .byte  197,100,89,231                      // vmulps        %ymm7,%ymm3,%ymm12
+  .byte  196,65,52,95,202                    // vmaxps        %ymm10,%ymm9,%ymm9
+  .byte  196,65,116,92,208                   // vsubps        %ymm8,%ymm1,%ymm10
+  .byte  196,65,28,92,232                    // vsubps        %ymm8,%ymm12,%ymm13
+  .byte  196,65,20,89,210                    // vmulps        %ymm10,%ymm13,%ymm10
+  .byte  196,193,28,194,193,1                // vcmpltps      %ymm9,%ymm12,%ymm0
+  .byte  196,65,52,92,200                    // vsubps        %ymm8,%ymm9,%ymm9
+  .byte  196,65,44,94,209                    // vdivps        %ymm9,%ymm10,%ymm10
+  .byte  196,65,60,88,210                    // vaddps        %ymm10,%ymm8,%ymm10
+  .byte  196,195,117,74,202,0                // vblendvps     %ymm0,%ymm10,%ymm1,%ymm1
+  .byte  196,65,4,92,208                     // vsubps        %ymm8,%ymm15,%ymm10
+  .byte  196,65,20,89,210                    // vmulps        %ymm10,%ymm13,%ymm10
+  .byte  196,65,44,94,209                    // vdivps        %ymm9,%ymm10,%ymm10
+  .byte  196,65,60,88,210                    // vaddps        %ymm10,%ymm8,%ymm10
+  .byte  196,67,5,74,210,0                   // vblendvps     %ymm0,%ymm10,%ymm15,%ymm10
+  .byte  196,65,36,92,248                    // vsubps        %ymm8,%ymm11,%ymm15
+  .byte  196,65,20,89,239                    // vmulps        %ymm15,%ymm13,%ymm13
+  .byte  196,65,20,94,201                    // vdivps        %ymm9,%ymm13,%ymm9
+  .byte  196,65,60,88,193                    // vaddps        %ymm9,%ymm8,%ymm8
+  .byte  196,195,37,74,192,0                 // vblendvps     %ymm0,%ymm8,%ymm11,%ymm0
+  .byte  196,193,116,95,206                  // vmaxps        %ymm14,%ymm1,%ymm1
+  .byte  196,65,44,95,198                    // vmaxps        %ymm14,%ymm10,%ymm8
+  .byte  196,65,124,95,206                   // vmaxps        %ymm14,%ymm0,%ymm9
+  .byte  196,226,125,24,5,153,49,3,0         // vbroadcastss  0x33199(%rip),%ymm0        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,124,92,215                      // vsubps        %ymm7,%ymm0,%ymm10
+  .byte  197,172,89,210                      // vmulps        %ymm2,%ymm10,%ymm2
+  .byte  197,124,92,219                      // vsubps        %ymm3,%ymm0,%ymm11
+  .byte  196,226,37,184,212                  // vfmadd231ps   %ymm4,%ymm11,%ymm2
+  .byte  197,236,88,193                      // vaddps        %ymm1,%ymm2,%ymm0
+  .byte  197,172,89,76,36,168                // vmulps        -0x58(%rsp),%ymm10,%ymm1
+  .byte  196,226,37,184,205                  // vfmadd231ps   %ymm5,%ymm11,%ymm1
+  .byte  196,193,116,88,200                  // vaddps        %ymm8,%ymm1,%ymm1
+  .byte  197,172,89,84,36,200                // vmulps        -0x38(%rsp),%ymm10,%ymm2
+  .byte  196,98,77,168,218                   // vfmadd213ps   %ymm2,%ymm6,%ymm11
+  .byte  196,193,36,88,209                   // vaddps        %ymm9,%ymm11,%ymm2
+  .byte  197,228,88,223                      // vaddps        %ymm7,%ymm3,%ymm3
+  .byte  196,193,100,92,220                  // vsubps        %ymm12,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_luminosity_hsw
+.globl _sk_luminosity_hsw
+FUNCTION(_sk_luminosity_hsw)
+_sk_luminosity_hsw:
+  .byte  197,124,40,202                      // vmovaps       %ymm2,%ymm9
+  .byte  197,124,17,76,36,168                // vmovups       %ymm9,-0x58(%rsp)
+  .byte  197,252,17,76,36,200                // vmovups       %ymm1,-0x38(%rsp)
+  .byte  197,252,40,208                      // vmovaps       %ymm0,%ymm2
+  .byte  197,100,89,196                      // vmulps        %ymm4,%ymm3,%ymm8
+  .byte  197,100,89,213                      // vmulps        %ymm5,%ymm3,%ymm10
+  .byte  197,100,89,222                      // vmulps        %ymm6,%ymm3,%ymm11
+  .byte  196,98,125,24,45,78,49,3,0          // vbroadcastss  0x3314e(%rip),%ymm13        # 3c51c <_sk_srcover_bgra_8888_sse2_lowp+0x2d0>
+  .byte  196,98,125,24,53,73,49,3,0          // vbroadcastss  0x33149(%rip),%ymm14        # 3c520 <_sk_srcover_bgra_8888_sse2_lowp+0x2d4>
+  .byte  196,65,116,89,230                   // vmulps        %ymm14,%ymm1,%ymm12
+  .byte  196,66,109,184,229                  // vfmadd231ps   %ymm13,%ymm2,%ymm12
+  .byte  196,98,125,24,61,58,49,3,0          // vbroadcastss  0x3313a(%rip),%ymm15        # 3c524 <_sk_srcover_bgra_8888_sse2_lowp+0x2d8>
+  .byte  196,66,53,184,231                   // vfmadd231ps   %ymm15,%ymm9,%ymm12
+  .byte  196,65,44,89,206                    // vmulps        %ymm14,%ymm10,%ymm9
+  .byte  196,66,61,184,205                   // vfmadd231ps   %ymm13,%ymm8,%ymm9
+  .byte  196,66,37,184,207                   // vfmadd231ps   %ymm15,%ymm11,%ymm9
+  .byte  196,66,69,170,225                   // vfmsub213ps   %ymm9,%ymm7,%ymm12
+  .byte  196,65,60,88,204                    // vaddps        %ymm12,%ymm8,%ymm9
+  .byte  196,65,44,88,212                    // vaddps        %ymm12,%ymm10,%ymm10
+  .byte  196,65,36,88,220                    // vaddps        %ymm12,%ymm11,%ymm11
+  .byte  196,65,44,93,195                    // vminps        %ymm11,%ymm10,%ymm8
+  .byte  196,65,52,93,224                    // vminps        %ymm8,%ymm9,%ymm12
+  .byte  196,65,44,89,198                    // vmulps        %ymm14,%ymm10,%ymm8
+  .byte  196,66,53,184,197                   // vfmadd231ps   %ymm13,%ymm9,%ymm8
+  .byte  196,66,37,184,199                   // vfmadd231ps   %ymm15,%ymm11,%ymm8
+  .byte  196,65,52,92,232                    // vsubps        %ymm8,%ymm9,%ymm13
+  .byte  196,65,60,89,237                    // vmulps        %ymm13,%ymm8,%ymm13
+  .byte  196,65,60,92,244                    // vsubps        %ymm12,%ymm8,%ymm14
+  .byte  196,193,20,94,198                   // vdivps        %ymm14,%ymm13,%ymm0
+  .byte  196,65,44,92,248                    // vsubps        %ymm8,%ymm10,%ymm15
+  .byte  196,65,60,89,255                    // vmulps        %ymm15,%ymm8,%ymm15
+  .byte  196,65,4,94,254                     // vdivps        %ymm14,%ymm15,%ymm15
+  .byte  196,65,36,92,232                    // vsubps        %ymm8,%ymm11,%ymm13
+  .byte  196,65,60,89,237                    // vmulps        %ymm13,%ymm8,%ymm13
+  .byte  196,65,20,94,238                    // vdivps        %ymm14,%ymm13,%ymm13
+  .byte  196,65,12,87,246                    // vxorps        %ymm14,%ymm14,%ymm14
+  .byte  196,65,12,194,228,2                 // vcmpleps      %ymm12,%ymm14,%ymm12
+  .byte  196,65,60,88,255                    // vaddps        %ymm15,%ymm8,%ymm15
+  .byte  196,67,5,74,250,192                 // vblendvps     %ymm12,%ymm10,%ymm15,%ymm15
+  .byte  196,65,44,95,211                    // vmaxps        %ymm11,%ymm10,%ymm10
+  .byte  196,65,60,88,237                    // vaddps        %ymm13,%ymm8,%ymm13
+  .byte  196,67,21,74,219,192                // vblendvps     %ymm12,%ymm11,%ymm13,%ymm11
+  .byte  197,188,88,192                      // vaddps        %ymm0,%ymm8,%ymm0
+  .byte  196,195,125,74,201,192              // vblendvps     %ymm12,%ymm9,%ymm0,%ymm1
+  .byte  197,100,89,231                      // vmulps        %ymm7,%ymm3,%ymm12
+  .byte  196,65,52,95,202                    // vmaxps        %ymm10,%ymm9,%ymm9
+  .byte  196,65,116,92,208                   // vsubps        %ymm8,%ymm1,%ymm10
+  .byte  196,65,28,92,232                    // vsubps        %ymm8,%ymm12,%ymm13
+  .byte  196,65,20,89,210                    // vmulps        %ymm10,%ymm13,%ymm10
+  .byte  196,193,28,194,193,1                // vcmpltps      %ymm9,%ymm12,%ymm0
+  .byte  196,65,52,92,200                    // vsubps        %ymm8,%ymm9,%ymm9
+  .byte  196,65,44,94,209                    // vdivps        %ymm9,%ymm10,%ymm10
+  .byte  196,65,60,88,210                    // vaddps        %ymm10,%ymm8,%ymm10
+  .byte  196,195,117,74,202,0                // vblendvps     %ymm0,%ymm10,%ymm1,%ymm1
+  .byte  196,65,4,92,208                     // vsubps        %ymm8,%ymm15,%ymm10
+  .byte  196,65,20,89,210                    // vmulps        %ymm10,%ymm13,%ymm10
+  .byte  196,65,44,94,209                    // vdivps        %ymm9,%ymm10,%ymm10
+  .byte  196,65,60,88,210                    // vaddps        %ymm10,%ymm8,%ymm10
+  .byte  196,67,5,74,210,0                   // vblendvps     %ymm0,%ymm10,%ymm15,%ymm10
+  .byte  196,65,36,92,248                    // vsubps        %ymm8,%ymm11,%ymm15
+  .byte  196,65,20,89,239                    // vmulps        %ymm15,%ymm13,%ymm13
+  .byte  196,65,20,94,201                    // vdivps        %ymm9,%ymm13,%ymm9
+  .byte  196,65,60,88,193                    // vaddps        %ymm9,%ymm8,%ymm8
+  .byte  196,195,37,74,192,0                 // vblendvps     %ymm0,%ymm8,%ymm11,%ymm0
+  .byte  196,193,116,95,206                  // vmaxps        %ymm14,%ymm1,%ymm1
+  .byte  196,65,44,95,198                    // vmaxps        %ymm14,%ymm10,%ymm8
+  .byte  196,65,124,95,206                   // vmaxps        %ymm14,%ymm0,%ymm9
+  .byte  196,226,125,24,5,240,47,3,0         // vbroadcastss  0x32ff0(%rip),%ymm0        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,124,92,215                      // vsubps        %ymm7,%ymm0,%ymm10
+  .byte  197,172,89,210                      // vmulps        %ymm2,%ymm10,%ymm2
+  .byte  197,124,92,219                      // vsubps        %ymm3,%ymm0,%ymm11
+  .byte  196,226,37,184,212                  // vfmadd231ps   %ymm4,%ymm11,%ymm2
+  .byte  197,236,88,193                      // vaddps        %ymm1,%ymm2,%ymm0
+  .byte  197,172,89,76,36,200                // vmulps        -0x38(%rsp),%ymm10,%ymm1
+  .byte  196,226,37,184,205                  // vfmadd231ps   %ymm5,%ymm11,%ymm1
+  .byte  196,193,116,88,200                  // vaddps        %ymm8,%ymm1,%ymm1
+  .byte  197,172,89,84,36,168                // vmulps        -0x58(%rsp),%ymm10,%ymm2
+  .byte  196,98,77,168,218                   // vfmadd213ps   %ymm2,%ymm6,%ymm11
+  .byte  196,193,36,88,209                   // vaddps        %ymm9,%ymm11,%ymm2
+  .byte  197,228,88,223                      // vaddps        %ymm7,%ymm3,%ymm3
+  .byte  196,193,100,92,220                  // vsubps        %ymm12,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_srcover_rgba_8888_hsw
+.globl _sk_srcover_rgba_8888_hsw
+FUNCTION(_sk_srcover_rgba_8888_hsw)
+_sk_srcover_rgba_8888_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,224,0,0,0                    // jne           9648 <_sk_srcover_rgba_8888_hsw+0xfa>
+  .byte  196,193,126,111,60,144              // vmovdqu       (%r8,%rdx,4),%ymm7
+  .byte  197,197,219,37,138,49,3,0           // vpand         0x3318a(%rip),%ymm7,%ymm4        # 3c700 <_sk_srcover_bgra_8888_sse2_lowp+0x4b4>
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  196,226,69,0,45,157,49,3,0          // vpshufb       0x3319d(%rip),%ymm7,%ymm5        # 3c720 <_sk_srcover_bgra_8888_sse2_lowp+0x4d4>
+  .byte  197,252,91,237                      // vcvtdq2ps     %ymm5,%ymm5
+  .byte  196,226,69,0,53,176,49,3,0          // vpshufb       0x331b0(%rip),%ymm7,%ymm6        # 3c740 <_sk_srcover_bgra_8888_sse2_lowp+0x4f4>
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,252,91,246                      // vcvtdq2ps     %ymm6,%ymm6
+  .byte  197,197,114,215,24                  // vpsrld        $0x18,%ymm7,%ymm7
+  .byte  197,252,91,255                      // vcvtdq2ps     %ymm7,%ymm7
+  .byte  196,98,125,24,13,81,47,3,0          // vbroadcastss  0x32f51(%rip),%ymm9        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,52,92,203                       // vsubps        %ymm3,%ymm9,%ymm9
+  .byte  196,98,125,24,21,112,47,3,0         // vbroadcastss  0x32f70(%rip),%ymm10        # 3c528 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  .byte  196,193,124,89,194                  // vmulps        %ymm10,%ymm0,%ymm0
+  .byte  196,194,93,184,193                  // vfmadd231ps   %ymm9,%ymm4,%ymm0
+  .byte  196,193,116,89,202                  // vmulps        %ymm10,%ymm1,%ymm1
+  .byte  196,194,85,184,201                  // vfmadd231ps   %ymm9,%ymm5,%ymm1
+  .byte  196,193,108,89,210                  // vmulps        %ymm10,%ymm2,%ymm2
+  .byte  196,194,77,184,209                  // vfmadd231ps   %ymm9,%ymm6,%ymm2
+  .byte  196,193,100,89,218                  // vmulps        %ymm10,%ymm3,%ymm3
+  .byte  196,194,69,184,217                  // vfmadd231ps   %ymm9,%ymm7,%ymm3
+  .byte  197,60,95,200                       // vmaxps        %ymm0,%ymm8,%ymm9
+  .byte  196,65,52,93,202                    // vminps        %ymm10,%ymm9,%ymm9
+  .byte  196,65,125,91,201                   // vcvtps2dq     %ymm9,%ymm9
+  .byte  197,60,95,217                       // vmaxps        %ymm1,%ymm8,%ymm11
+  .byte  196,65,36,93,218                    // vminps        %ymm10,%ymm11,%ymm11
+  .byte  196,65,125,91,219                   // vcvtps2dq     %ymm11,%ymm11
+  .byte  196,193,37,114,243,8                // vpslld        $0x8,%ymm11,%ymm11
+  .byte  196,65,37,235,201                   // vpor          %ymm9,%ymm11,%ymm9
+  .byte  197,60,95,218                       // vmaxps        %ymm2,%ymm8,%ymm11
+  .byte  196,65,36,93,218                    // vminps        %ymm10,%ymm11,%ymm11
+  .byte  196,65,125,91,219                   // vcvtps2dq     %ymm11,%ymm11
+  .byte  196,193,37,114,243,16               // vpslld        $0x10,%ymm11,%ymm11
+  .byte  197,60,95,195                       // vmaxps        %ymm3,%ymm8,%ymm8
+  .byte  196,65,60,93,194                    // vminps        %ymm10,%ymm8,%ymm8
+  .byte  196,65,125,91,192                   // vcvtps2dq     %ymm8,%ymm8
+  .byte  196,193,61,114,240,24               // vpslld        $0x18,%ymm8,%ymm8
+  .byte  196,65,37,235,192                   // vpor          %ymm8,%ymm11,%ymm8
+  .byte  196,65,53,235,192                   // vpor          %ymm8,%ymm9,%ymm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,58                              // jne           9678 <_sk_srcover_rgba_8888_hsw+0x12a>
+  .byte  196,65,126,127,4,144                // vmovdqu       %ymm8,(%r8,%rdx,4)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  197,197,239,255                     // vpxor         %ymm7,%ymm7,%ymm7
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  15,135,20,255,255,255               // ja            956e <_sk_srcover_rgba_8888_hsw+0x20>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,248,0,0,0                 // lea           0xf8(%rip),%r9        # 975c <_sk_srcover_rgba_8888_hsw+0x20e>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,193,121,110,60,144              // vmovd         (%r8,%rdx,4),%xmm7
+  .byte  233,246,254,255,255                 // jmpq          956e <_sk_srcover_rgba_8888_hsw+0x20>
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,194                             // ja            9644 <_sk_srcover_rgba_8888_hsw+0xf6>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,236,0,0,0                 // lea           0xec(%rip),%r9        # 9778 <_sk_srcover_rgba_8888_hsw+0x22a>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,65,121,126,4,144                // vmovd         %xmm8,(%r8,%rdx,4)
+  .byte  235,167                             // jmp           9644 <_sk_srcover_rgba_8888_hsw+0xf6>
+  .byte  196,193,121,110,100,144,8           // vmovd         0x8(%r8,%rdx,4),%xmm4
+  .byte  196,226,121,89,228                  // vpbroadcastq  %xmm4,%xmm4
+  .byte  197,213,239,237                     // vpxor         %ymm5,%ymm5,%ymm5
+  .byte  196,227,85,2,252,4                  // vpblendd      $0x4,%ymm4,%ymm5,%ymm7
+  .byte  196,193,122,126,36,144              // vmovq         (%r8,%rdx,4),%xmm4
+  .byte  196,227,69,2,252,3                  // vpblendd      $0x3,%ymm4,%ymm7,%ymm7
+  .byte  233,170,254,255,255                 // jmpq          956e <_sk_srcover_rgba_8888_hsw+0x20>
+  .byte  196,193,121,110,100,144,24          // vmovd         0x18(%r8,%rdx,4),%xmm4
+  .byte  196,226,125,89,228                  // vpbroadcastq  %xmm4,%ymm4
+  .byte  197,213,239,237                     // vpxor         %ymm5,%ymm5,%ymm5
+  .byte  196,227,85,2,252,64                 // vpblendd      $0x40,%ymm4,%ymm5,%ymm7
+  .byte  196,227,125,57,252,1                // vextracti128  $0x1,%ymm7,%xmm4
+  .byte  196,195,89,34,100,144,20,1          // vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm4,%xmm4
+  .byte  196,227,69,56,252,1                 // vinserti128   $0x1,%xmm4,%ymm7,%ymm7
+  .byte  196,227,125,57,252,1                // vextracti128  $0x1,%ymm7,%xmm4
+  .byte  196,195,89,34,100,144,16,0          // vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm4,%xmm4
+  .byte  196,227,69,56,252,1                 // vinserti128   $0x1,%xmm4,%ymm7,%ymm7
+  .byte  196,193,122,111,36,144              // vmovdqu       (%r8,%rdx,4),%xmm4
+  .byte  196,227,93,2,255,240                // vpblendd      $0xf0,%ymm7,%ymm4,%ymm7
+  .byte  233,91,254,255,255                  // jmpq          956e <_sk_srcover_rgba_8888_hsw+0x20>
+  .byte  196,67,121,22,68,144,8,2            // vpextrd       $0x2,%xmm8,0x8(%r8,%rdx,4)
+  .byte  196,65,121,214,4,144                // vmovq         %xmm8,(%r8,%rdx,4)
+  .byte  233,30,255,255,255                  // jmpq          9644 <_sk_srcover_rgba_8888_hsw+0xf6>
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,22,76,144,24,2           // vpextrd       $0x2,%xmm9,0x18(%r8,%rdx,4)
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,22,76,144,20,1           // vpextrd       $0x1,%xmm9,0x14(%r8,%rdx,4)
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,65,121,126,76,144,16            // vmovd         %xmm9,0x10(%r8,%rdx,4)
+  .byte  196,65,122,127,4,144                // vmovdqu       %xmm8,(%r8,%rdx,4)
+  .byte  233,234,254,255,255                 // jmpq          9644 <_sk_srcover_rgba_8888_hsw+0xf6>
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  17,255                              // adc           %edi,%edi
+  .byte  255                                 // (bad)
+  .byte  255,87,255                          // callq         *-0x1(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255,65,255                          // incl          -0x1(%rcx)
+  .byte  255                                 // (bad)
+  .byte  255,166,255,255,255,146             // jmpq          *-0x6d000001(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  126,255                             // jle           9771 <_sk_srcover_rgba_8888_hsw+0x223>
+  .byte  255                                 // (bad)
+  .byte  255,104,255                         // ljmp          *-0x1(%rax)
+  .byte  255                                 // (bad)
+  .byte  255,29,255,255,255,163              // lcall         *-0x5c000001(%rip)        # ffffffffa400977c <_sk_srcover_bgra_8888_sse2_lowp+0xffffffffa3fcd530>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,155,255,255,255,215             // lcall         *-0x28000001(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,202                             // dec           %edx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  188,255,255,255,174                 // mov           $0xaeffffff,%esp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_srcover_bgra_8888_hsw
+.globl _sk_srcover_bgra_8888_hsw
+FUNCTION(_sk_srcover_bgra_8888_hsw)
+_sk_srcover_bgra_8888_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,224,0,0,0                    // jne           988e <_sk_srcover_bgra_8888_hsw+0xfa>
+  .byte  196,193,126,111,60,144              // vmovdqu       (%r8,%rdx,4),%ymm7
+  .byte  197,197,219,37,164,47,3,0           // vpand         0x32fa4(%rip),%ymm7,%ymm4        # 3c760 <_sk_srcover_bgra_8888_sse2_lowp+0x514>
+  .byte  197,252,91,244                      // vcvtdq2ps     %ymm4,%ymm6
+  .byte  196,226,69,0,37,183,47,3,0          // vpshufb       0x32fb7(%rip),%ymm7,%ymm4        # 3c780 <_sk_srcover_bgra_8888_sse2_lowp+0x534>
+  .byte  197,252,91,236                      // vcvtdq2ps     %ymm4,%ymm5
+  .byte  196,226,69,0,37,202,47,3,0          // vpshufb       0x32fca(%rip),%ymm7,%ymm4        # 3c7a0 <_sk_srcover_bgra_8888_sse2_lowp+0x554>
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  197,197,114,215,24                  // vpsrld        $0x18,%ymm7,%ymm7
+  .byte  197,252,91,255                      // vcvtdq2ps     %ymm7,%ymm7
+  .byte  196,98,125,24,13,11,45,3,0          // vbroadcastss  0x32d0b(%rip),%ymm9        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,52,92,203                       // vsubps        %ymm3,%ymm9,%ymm9
+  .byte  196,98,125,24,21,42,45,3,0          // vbroadcastss  0x32d2a(%rip),%ymm10        # 3c528 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  .byte  196,193,124,89,194                  // vmulps        %ymm10,%ymm0,%ymm0
+  .byte  196,194,93,184,193                  // vfmadd231ps   %ymm9,%ymm4,%ymm0
+  .byte  196,193,116,89,202                  // vmulps        %ymm10,%ymm1,%ymm1
+  .byte  196,194,85,184,201                  // vfmadd231ps   %ymm9,%ymm5,%ymm1
+  .byte  196,193,108,89,210                  // vmulps        %ymm10,%ymm2,%ymm2
+  .byte  196,194,77,184,209                  // vfmadd231ps   %ymm9,%ymm6,%ymm2
+  .byte  196,193,100,89,218                  // vmulps        %ymm10,%ymm3,%ymm3
+  .byte  196,194,69,184,217                  // vfmadd231ps   %ymm9,%ymm7,%ymm3
+  .byte  197,60,95,202                       // vmaxps        %ymm2,%ymm8,%ymm9
+  .byte  196,65,52,93,202                    // vminps        %ymm10,%ymm9,%ymm9
+  .byte  196,65,125,91,201                   // vcvtps2dq     %ymm9,%ymm9
+  .byte  197,60,95,217                       // vmaxps        %ymm1,%ymm8,%ymm11
+  .byte  196,65,36,93,218                    // vminps        %ymm10,%ymm11,%ymm11
+  .byte  196,65,125,91,219                   // vcvtps2dq     %ymm11,%ymm11
+  .byte  196,193,37,114,243,8                // vpslld        $0x8,%ymm11,%ymm11
+  .byte  196,65,37,235,201                   // vpor          %ymm9,%ymm11,%ymm9
+  .byte  197,60,95,216                       // vmaxps        %ymm0,%ymm8,%ymm11
+  .byte  196,65,36,93,218                    // vminps        %ymm10,%ymm11,%ymm11
+  .byte  196,65,125,91,219                   // vcvtps2dq     %ymm11,%ymm11
+  .byte  196,193,37,114,243,16               // vpslld        $0x10,%ymm11,%ymm11
+  .byte  197,60,95,195                       // vmaxps        %ymm3,%ymm8,%ymm8
+  .byte  196,65,60,93,194                    // vminps        %ymm10,%ymm8,%ymm8
+  .byte  196,65,125,91,192                   // vcvtps2dq     %ymm8,%ymm8
+  .byte  196,193,61,114,240,24               // vpslld        $0x18,%ymm8,%ymm8
+  .byte  196,65,37,235,192                   // vpor          %ymm8,%ymm11,%ymm8
+  .byte  196,65,53,235,192                   // vpor          %ymm8,%ymm9,%ymm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,58                              // jne           98be <_sk_srcover_bgra_8888_hsw+0x12a>
+  .byte  196,65,126,127,4,144                // vmovdqu       %ymm8,(%r8,%rdx,4)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  197,197,239,255                     // vpxor         %ymm7,%ymm7,%ymm7
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  15,135,20,255,255,255               // ja            97b4 <_sk_srcover_bgra_8888_hsw+0x20>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,246,0,0,0                 // lea           0xf6(%rip),%r9        # 99a0 <_sk_srcover_bgra_8888_hsw+0x20c>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,193,121,110,60,144              // vmovd         (%r8,%rdx,4),%xmm7
+  .byte  233,246,254,255,255                 // jmpq          97b4 <_sk_srcover_bgra_8888_hsw+0x20>
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,194                             // ja            988a <_sk_srcover_bgra_8888_hsw+0xf6>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,234,0,0,0                 // lea           0xea(%rip),%r9        # 99bc <_sk_srcover_bgra_8888_hsw+0x228>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,65,121,126,4,144                // vmovd         %xmm8,(%r8,%rdx,4)
+  .byte  235,167                             // jmp           988a <_sk_srcover_bgra_8888_hsw+0xf6>
+  .byte  196,193,121,110,100,144,8           // vmovd         0x8(%r8,%rdx,4),%xmm4
+  .byte  196,226,121,89,228                  // vpbroadcastq  %xmm4,%xmm4
+  .byte  197,213,239,237                     // vpxor         %ymm5,%ymm5,%ymm5
+  .byte  196,227,85,2,252,4                  // vpblendd      $0x4,%ymm4,%ymm5,%ymm7
+  .byte  196,193,122,126,36,144              // vmovq         (%r8,%rdx,4),%xmm4
+  .byte  196,227,69,2,252,3                  // vpblendd      $0x3,%ymm4,%ymm7,%ymm7
+  .byte  233,170,254,255,255                 // jmpq          97b4 <_sk_srcover_bgra_8888_hsw+0x20>
+  .byte  196,193,121,110,100,144,24          // vmovd         0x18(%r8,%rdx,4),%xmm4
+  .byte  196,226,125,89,228                  // vpbroadcastq  %xmm4,%ymm4
+  .byte  197,213,239,237                     // vpxor         %ymm5,%ymm5,%ymm5
+  .byte  196,227,85,2,252,64                 // vpblendd      $0x40,%ymm4,%ymm5,%ymm7
+  .byte  196,227,125,57,252,1                // vextracti128  $0x1,%ymm7,%xmm4
+  .byte  196,195,89,34,100,144,20,1          // vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm4,%xmm4
+  .byte  196,227,69,56,252,1                 // vinserti128   $0x1,%xmm4,%ymm7,%ymm7
+  .byte  196,227,125,57,252,1                // vextracti128  $0x1,%ymm7,%xmm4
+  .byte  196,195,89,34,100,144,16,0          // vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm4,%xmm4
+  .byte  196,227,69,56,252,1                 // vinserti128   $0x1,%xmm4,%ymm7,%ymm7
+  .byte  196,193,122,111,36,144              // vmovdqu       (%r8,%rdx,4),%xmm4
+  .byte  196,227,93,2,255,240                // vpblendd      $0xf0,%ymm7,%ymm4,%ymm7
+  .byte  233,91,254,255,255                  // jmpq          97b4 <_sk_srcover_bgra_8888_hsw+0x20>
+  .byte  196,67,121,22,68,144,8,2            // vpextrd       $0x2,%xmm8,0x8(%r8,%rdx,4)
+  .byte  196,65,121,214,4,144                // vmovq         %xmm8,(%r8,%rdx,4)
+  .byte  233,30,255,255,255                  // jmpq          988a <_sk_srcover_bgra_8888_hsw+0xf6>
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,22,76,144,24,2           // vpextrd       $0x2,%xmm9,0x18(%r8,%rdx,4)
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,22,76,144,20,1           // vpextrd       $0x1,%xmm9,0x14(%r8,%rdx,4)
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,65,121,126,76,144,16            // vmovd         %xmm9,0x10(%r8,%rdx,4)
+  .byte  196,65,122,127,4,144                // vmovdqu       %xmm8,(%r8,%rdx,4)
+  .byte  233,234,254,255,255                 // jmpq          988a <_sk_srcover_bgra_8888_hsw+0xf6>
+  .byte  19,255                              // adc           %edi,%edi
+  .byte  255                                 // (bad)
+  .byte  255,89,255                          // lcall         *-0x1(%rcx)
+  .byte  255                                 // (bad)
+  .byte  255,67,255                          // incl          -0x1(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255,168,255,255,255,148             // ljmp          *-0x6b000001(%rax)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,128,255,255,255,106             // incl          0x6affffff(%rax)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,31                              // lcall         *(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,165,255,255,255,157             // jmpq          *-0x62000001(%rbp)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  217,255                             // fcos
+  .byte  255                                 // (bad)
+  .byte  255,204                             // dec           %esp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  190,255,255,255,176                 // mov           $0xb0ffffff,%esi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_clamp_0_hsw
+.globl _sk_clamp_0_hsw
+FUNCTION(_sk_clamp_0_hsw)
+_sk_clamp_0_hsw:
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  196,193,124,95,192                  // vmaxps        %ymm8,%ymm0,%ymm0
+  .byte  196,193,116,95,200                  // vmaxps        %ymm8,%ymm1,%ymm1
+  .byte  196,193,108,95,208                  // vmaxps        %ymm8,%ymm2,%ymm2
+  .byte  196,193,100,95,216                  // vmaxps        %ymm8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_clamp_1_hsw
+.globl _sk_clamp_1_hsw
+FUNCTION(_sk_clamp_1_hsw)
+_sk_clamp_1_hsw:
+  .byte  196,98,125,24,5,254,42,3,0          // vbroadcastss  0x32afe(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,193,124,93,192                  // vminps        %ymm8,%ymm0,%ymm0
+  .byte  196,193,116,93,200                  // vminps        %ymm8,%ymm1,%ymm1
+  .byte  196,193,108,93,208                  // vminps        %ymm8,%ymm2,%ymm2
+  .byte  196,193,100,93,216                  // vminps        %ymm8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_clamp_a_hsw
+.globl _sk_clamp_a_hsw
+FUNCTION(_sk_clamp_a_hsw)
+_sk_clamp_a_hsw:
+  .byte  196,98,125,24,5,221,42,3,0          // vbroadcastss  0x32add(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,193,100,93,216                  // vminps        %ymm8,%ymm3,%ymm3
+  .byte  197,252,93,195                      // vminps        %ymm3,%ymm0,%ymm0
+  .byte  197,244,93,203                      // vminps        %ymm3,%ymm1,%ymm1
+  .byte  197,236,93,211                      // vminps        %ymm3,%ymm2,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_clamp_a_dst_hsw
+.globl _sk_clamp_a_dst_hsw
+FUNCTION(_sk_clamp_a_dst_hsw)
+_sk_clamp_a_dst_hsw:
+  .byte  196,98,125,24,5,191,42,3,0          // vbroadcastss  0x32abf(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,193,68,93,248                   // vminps        %ymm8,%ymm7,%ymm7
+  .byte  197,220,93,231                      // vminps        %ymm7,%ymm4,%ymm4
+  .byte  197,212,93,239                      // vminps        %ymm7,%ymm5,%ymm5
+  .byte  197,204,93,247                      // vminps        %ymm7,%ymm6,%ymm6
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_set_rgb_hsw
+.globl _sk_set_rgb_hsw
+FUNCTION(_sk_set_rgb_hsw)
+_sk_set_rgb_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,0                    // vbroadcastss  (%rax),%ymm0
+  .byte  196,226,125,24,72,4                 // vbroadcastss  0x4(%rax),%ymm1
+  .byte  196,226,125,24,80,8                 // vbroadcastss  0x8(%rax),%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_swap_rb_hsw
+.globl _sk_swap_rb_hsw
+FUNCTION(_sk_swap_rb_hsw)
+_sk_swap_rb_hsw:
+  .byte  197,124,40,192                      // vmovaps       %ymm0,%ymm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,40,194                      // vmovaps       %ymm2,%ymm0
+  .byte  197,124,41,194                      // vmovaps       %ymm8,%ymm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_invert_hsw
+.globl _sk_invert_hsw
+FUNCTION(_sk_invert_hsw)
+_sk_invert_hsw:
+  .byte  196,98,125,24,5,122,42,3,0          // vbroadcastss  0x32a7a(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,188,92,192                      // vsubps        %ymm0,%ymm8,%ymm0
+  .byte  197,188,92,201                      // vsubps        %ymm1,%ymm8,%ymm1
+  .byte  197,188,92,210                      // vsubps        %ymm2,%ymm8,%ymm2
+  .byte  197,188,92,219                      // vsubps        %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_move_src_dst_hsw
+.globl _sk_move_src_dst_hsw
+FUNCTION(_sk_move_src_dst_hsw)
+_sk_move_src_dst_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,40,224                      // vmovaps       %ymm0,%ymm4
+  .byte  197,252,40,233                      // vmovaps       %ymm1,%ymm5
+  .byte  197,252,40,242                      // vmovaps       %ymm2,%ymm6
+  .byte  197,252,40,251                      // vmovaps       %ymm3,%ymm7
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_move_dst_src_hsw
+.globl _sk_move_dst_src_hsw
+FUNCTION(_sk_move_dst_src_hsw)
+_sk_move_dst_src_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,40,196                      // vmovaps       %ymm4,%ymm0
+  .byte  197,252,40,205                      // vmovaps       %ymm5,%ymm1
+  .byte  197,252,40,214                      // vmovaps       %ymm6,%ymm2
+  .byte  197,252,40,223                      // vmovaps       %ymm7,%ymm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_premul_hsw
+.globl _sk_premul_hsw
+FUNCTION(_sk_premul_hsw)
+_sk_premul_hsw:
+  .byte  197,252,89,195                      // vmulps        %ymm3,%ymm0,%ymm0
+  .byte  197,244,89,203                      // vmulps        %ymm3,%ymm1,%ymm1
+  .byte  197,236,89,211                      // vmulps        %ymm3,%ymm2,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_premul_dst_hsw
+.globl _sk_premul_dst_hsw
+FUNCTION(_sk_premul_dst_hsw)
+_sk_premul_dst_hsw:
+  .byte  197,220,89,231                      // vmulps        %ymm7,%ymm4,%ymm4
+  .byte  197,212,89,239                      // vmulps        %ymm7,%ymm5,%ymm5
+  .byte  197,204,89,247                      // vmulps        %ymm7,%ymm6,%ymm6
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_unpremul_hsw
+.globl _sk_unpremul_hsw
+FUNCTION(_sk_unpremul_hsw)
+_sk_unpremul_hsw:
+  .byte  196,98,125,24,5,21,42,3,0           // vbroadcastss  0x32a15(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,94,195                       // vdivps        %ymm3,%ymm8,%ymm8
+  .byte  196,98,125,24,13,56,42,3,0          // vbroadcastss  0x32a38(%rip),%ymm9        # 3c52c <_sk_srcover_bgra_8888_sse2_lowp+0x2e0>
+  .byte  196,65,60,194,201,1                 // vcmpltps      %ymm9,%ymm8,%ymm9
+  .byte  196,65,44,87,210                    // vxorps        %ymm10,%ymm10,%ymm10
+  .byte  196,67,45,74,192,144                // vblendvps     %ymm9,%ymm8,%ymm10,%ymm8
+  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
+  .byte  197,188,89,201                      // vmulps        %ymm1,%ymm8,%ymm1
+  .byte  197,188,89,210                      // vmulps        %ymm2,%ymm8,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_force_opaque_hsw
+.globl _sk_force_opaque_hsw
+FUNCTION(_sk_force_opaque_hsw)
+_sk_force_opaque_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,29,220,41,3,0        // vbroadcastss  0x329dc(%rip),%ymm3        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_force_opaque_dst_hsw
+.globl _sk_force_opaque_dst_hsw
+FUNCTION(_sk_force_opaque_dst_hsw)
+_sk_force_opaque_dst_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,61,207,41,3,0        // vbroadcastss  0x329cf(%rip),%ymm7        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_from_srgb_hsw
+.globl _sk_from_srgb_hsw
+FUNCTION(_sk_from_srgb_hsw)
+_sk_from_srgb_hsw:
+  .byte  196,98,125,24,5,248,41,3,0          // vbroadcastss  0x329f8(%rip),%ymm8        # 3c530 <_sk_srcover_bgra_8888_sse2_lowp+0x2e4>
+  .byte  196,65,124,89,200                   // vmulps        %ymm8,%ymm0,%ymm9
+  .byte  197,124,89,208                      // vmulps        %ymm0,%ymm0,%ymm10
+  .byte  196,98,125,24,29,234,41,3,0         // vbroadcastss  0x329ea(%rip),%ymm11        # 3c534 <_sk_srcover_bgra_8888_sse2_lowp+0x2e8>
+  .byte  196,98,125,24,37,201,41,3,0         // vbroadcastss  0x329c9(%rip),%ymm12        # 3c51c <_sk_srcover_bgra_8888_sse2_lowp+0x2d0>
+  .byte  196,65,124,40,236                   // vmovaps       %ymm12,%ymm13
+  .byte  196,66,125,168,235                  // vfmadd213ps   %ymm11,%ymm0,%ymm13
+  .byte  196,98,125,24,53,210,41,3,0         // vbroadcastss  0x329d2(%rip),%ymm14        # 3c538 <_sk_srcover_bgra_8888_sse2_lowp+0x2ec>
+  .byte  196,66,45,168,238                   // vfmadd213ps   %ymm14,%ymm10,%ymm13
+  .byte  196,98,125,24,21,200,41,3,0         // vbroadcastss  0x329c8(%rip),%ymm10        # 3c53c <_sk_srcover_bgra_8888_sse2_lowp+0x2f0>
+  .byte  196,193,124,194,194,1               // vcmpltps      %ymm10,%ymm0,%ymm0
+  .byte  196,195,21,74,193,0                 // vblendvps     %ymm0,%ymm9,%ymm13,%ymm0
+  .byte  196,65,116,89,200                   // vmulps        %ymm8,%ymm1,%ymm9
+  .byte  197,116,89,233                      // vmulps        %ymm1,%ymm1,%ymm13
+  .byte  196,65,124,40,252                   // vmovaps       %ymm12,%ymm15
+  .byte  196,66,117,168,251                  // vfmadd213ps   %ymm11,%ymm1,%ymm15
+  .byte  196,66,21,168,254                   // vfmadd213ps   %ymm14,%ymm13,%ymm15
+  .byte  196,193,116,194,202,1               // vcmpltps      %ymm10,%ymm1,%ymm1
+  .byte  196,195,5,74,201,16                 // vblendvps     %ymm1,%ymm9,%ymm15,%ymm1
+  .byte  196,65,108,89,192                   // vmulps        %ymm8,%ymm2,%ymm8
+  .byte  197,108,89,202                      // vmulps        %ymm2,%ymm2,%ymm9
+  .byte  196,66,109,168,227                  // vfmadd213ps   %ymm11,%ymm2,%ymm12
+  .byte  196,66,53,168,230                   // vfmadd213ps   %ymm14,%ymm9,%ymm12
+  .byte  196,193,108,194,210,1               // vcmpltps      %ymm10,%ymm2,%ymm2
+  .byte  196,195,29,74,208,32                // vblendvps     %ymm2,%ymm8,%ymm12,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_from_srgb_dst_hsw
+.globl _sk_from_srgb_dst_hsw
+FUNCTION(_sk_from_srgb_dst_hsw)
+_sk_from_srgb_dst_hsw:
+  .byte  196,98,125,24,5,96,41,3,0           // vbroadcastss  0x32960(%rip),%ymm8        # 3c530 <_sk_srcover_bgra_8888_sse2_lowp+0x2e4>
+  .byte  196,65,92,89,200                    // vmulps        %ymm8,%ymm4,%ymm9
+  .byte  197,92,89,212                       // vmulps        %ymm4,%ymm4,%ymm10
+  .byte  196,98,125,24,29,82,41,3,0          // vbroadcastss  0x32952(%rip),%ymm11        # 3c534 <_sk_srcover_bgra_8888_sse2_lowp+0x2e8>
+  .byte  196,98,125,24,37,49,41,3,0          // vbroadcastss  0x32931(%rip),%ymm12        # 3c51c <_sk_srcover_bgra_8888_sse2_lowp+0x2d0>
+  .byte  196,65,124,40,236                   // vmovaps       %ymm12,%ymm13
+  .byte  196,66,93,168,235                   // vfmadd213ps   %ymm11,%ymm4,%ymm13
+  .byte  196,98,125,24,53,58,41,3,0          // vbroadcastss  0x3293a(%rip),%ymm14        # 3c538 <_sk_srcover_bgra_8888_sse2_lowp+0x2ec>
+  .byte  196,66,45,168,238                   // vfmadd213ps   %ymm14,%ymm10,%ymm13
+  .byte  196,98,125,24,21,48,41,3,0          // vbroadcastss  0x32930(%rip),%ymm10        # 3c53c <_sk_srcover_bgra_8888_sse2_lowp+0x2f0>
+  .byte  196,193,92,194,226,1                // vcmpltps      %ymm10,%ymm4,%ymm4
+  .byte  196,195,21,74,225,64                // vblendvps     %ymm4,%ymm9,%ymm13,%ymm4
+  .byte  196,65,84,89,200                    // vmulps        %ymm8,%ymm5,%ymm9
+  .byte  197,84,89,237                       // vmulps        %ymm5,%ymm5,%ymm13
+  .byte  196,65,124,40,252                   // vmovaps       %ymm12,%ymm15
+  .byte  196,66,85,168,251                   // vfmadd213ps   %ymm11,%ymm5,%ymm15
+  .byte  196,66,21,168,254                   // vfmadd213ps   %ymm14,%ymm13,%ymm15
+  .byte  196,193,84,194,234,1                // vcmpltps      %ymm10,%ymm5,%ymm5
+  .byte  196,195,5,74,233,80                 // vblendvps     %ymm5,%ymm9,%ymm15,%ymm5
+  .byte  196,65,76,89,192                    // vmulps        %ymm8,%ymm6,%ymm8
+  .byte  197,76,89,206                       // vmulps        %ymm6,%ymm6,%ymm9
+  .byte  196,66,77,168,227                   // vfmadd213ps   %ymm11,%ymm6,%ymm12
+  .byte  196,66,53,168,230                   // vfmadd213ps   %ymm14,%ymm9,%ymm12
+  .byte  196,193,76,194,242,1                // vcmpltps      %ymm10,%ymm6,%ymm6
+  .byte  196,195,29,74,240,96                // vblendvps     %ymm6,%ymm8,%ymm12,%ymm6
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_to_srgb_hsw
+.globl _sk_to_srgb_hsw
+FUNCTION(_sk_to_srgb_hsw)
+_sk_to_srgb_hsw:
+  .byte  197,124,82,200                      // vrsqrtps      %ymm0,%ymm9
+  .byte  196,98,125,24,5,212,40,3,0          // vbroadcastss  0x328d4(%rip),%ymm8        # 3c540 <_sk_srcover_bgra_8888_sse2_lowp+0x2f4>
+  .byte  196,65,124,89,208                   // vmulps        %ymm8,%ymm0,%ymm10
+  .byte  196,98,125,24,29,202,40,3,0         // vbroadcastss  0x328ca(%rip),%ymm11        # 3c544 <_sk_srcover_bgra_8888_sse2_lowp+0x2f8>
+  .byte  196,98,125,24,37,197,40,3,0         // vbroadcastss  0x328c5(%rip),%ymm12        # 3c548 <_sk_srcover_bgra_8888_sse2_lowp+0x2fc>
+  .byte  196,65,124,40,236                   // vmovaps       %ymm12,%ymm13
+  .byte  196,66,53,168,235                   // vfmadd213ps   %ymm11,%ymm9,%ymm13
+  .byte  196,98,125,24,53,238,41,3,0         // vbroadcastss  0x329ee(%rip),%ymm14        # 3c684 <_sk_srcover_bgra_8888_sse2_lowp+0x438>
+  .byte  196,66,53,168,238                   // vfmadd213ps   %ymm14,%ymm9,%ymm13
+  .byte  196,98,125,24,61,228,41,3,0         // vbroadcastss  0x329e4(%rip),%ymm15        # 3c688 <_sk_srcover_bgra_8888_sse2_lowp+0x43c>
+  .byte  196,65,52,88,207                    // vaddps        %ymm15,%ymm9,%ymm9
+  .byte  196,65,124,83,201                   // vrcpps        %ymm9,%ymm9
+  .byte  196,65,20,89,201                    // vmulps        %ymm9,%ymm13,%ymm9
+  .byte  196,98,125,24,45,152,40,3,0         // vbroadcastss  0x32898(%rip),%ymm13        # 3c554 <_sk_srcover_bgra_8888_sse2_lowp+0x308>
+  .byte  196,193,124,194,197,1               // vcmpltps      %ymm13,%ymm0,%ymm0
+  .byte  196,195,53,74,194,0                 // vblendvps     %ymm0,%ymm10,%ymm9,%ymm0
+  .byte  197,124,82,201                      // vrsqrtps      %ymm1,%ymm9
+  .byte  196,65,124,40,212                   // vmovaps       %ymm12,%ymm10
+  .byte  196,66,53,168,211                   // vfmadd213ps   %ymm11,%ymm9,%ymm10
+  .byte  196,66,53,168,214                   // vfmadd213ps   %ymm14,%ymm9,%ymm10
+  .byte  196,65,52,88,207                    // vaddps        %ymm15,%ymm9,%ymm9
+  .byte  196,65,124,83,201                   // vrcpps        %ymm9,%ymm9
+  .byte  196,65,44,89,201                    // vmulps        %ymm9,%ymm10,%ymm9
+  .byte  196,65,116,89,208                   // vmulps        %ymm8,%ymm1,%ymm10
+  .byte  196,193,116,194,205,1               // vcmpltps      %ymm13,%ymm1,%ymm1
+  .byte  196,195,53,74,202,16                // vblendvps     %ymm1,%ymm10,%ymm9,%ymm1
+  .byte  197,124,82,202                      // vrsqrtps      %ymm2,%ymm9
+  .byte  196,66,53,168,227                   // vfmadd213ps   %ymm11,%ymm9,%ymm12
+  .byte  196,66,53,168,230                   // vfmadd213ps   %ymm14,%ymm9,%ymm12
+  .byte  196,65,52,88,207                    // vaddps        %ymm15,%ymm9,%ymm9
+  .byte  196,65,124,83,201                   // vrcpps        %ymm9,%ymm9
+  .byte  196,65,28,89,201                    // vmulps        %ymm9,%ymm12,%ymm9
+  .byte  196,65,108,89,192                   // vmulps        %ymm8,%ymm2,%ymm8
+  .byte  196,193,108,194,213,1               // vcmpltps      %ymm13,%ymm2,%ymm2
+  .byte  196,195,53,74,208,32                // vblendvps     %ymm2,%ymm8,%ymm9,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_rgb_to_hsl_hsw
+.globl _sk_rgb_to_hsl_hsw
+FUNCTION(_sk_rgb_to_hsl_hsw)
+_sk_rgb_to_hsl_hsw:
+  .byte  197,116,95,194                      // vmaxps        %ymm2,%ymm1,%ymm8
+  .byte  196,65,124,95,192                   // vmaxps        %ymm8,%ymm0,%ymm8
+  .byte  197,116,93,202                      // vminps        %ymm2,%ymm1,%ymm9
+  .byte  196,65,124,93,201                   // vminps        %ymm9,%ymm0,%ymm9
+  .byte  196,65,60,92,209                    // vsubps        %ymm9,%ymm8,%ymm10
+  .byte  196,98,125,24,29,175,39,3,0         // vbroadcastss  0x327af(%rip),%ymm11        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,65,36,94,218                    // vdivps        %ymm10,%ymm11,%ymm11
+  .byte  197,116,92,226                      // vsubps        %ymm2,%ymm1,%ymm12
+  .byte  197,116,194,234,1                   // vcmpltps      %ymm2,%ymm1,%ymm13
+  .byte  196,98,125,24,53,244,39,3,0         // vbroadcastss  0x327f4(%rip),%ymm14        # 3c558 <_sk_srcover_bgra_8888_sse2_lowp+0x30c>
+  .byte  196,65,4,87,255                     // vxorps        %ymm15,%ymm15,%ymm15
+  .byte  196,67,5,74,238,208                 // vblendvps     %ymm13,%ymm14,%ymm15,%ymm13
+  .byte  196,66,37,168,229                   // vfmadd213ps   %ymm13,%ymm11,%ymm12
+  .byte  197,236,92,208                      // vsubps        %ymm0,%ymm2,%ymm2
+  .byte  197,124,92,233                      // vsubps        %ymm1,%ymm0,%ymm13
+  .byte  196,98,125,24,53,219,39,3,0         // vbroadcastss  0x327db(%rip),%ymm14        # 3c560 <_sk_srcover_bgra_8888_sse2_lowp+0x314>
+  .byte  196,66,37,168,238                   // vfmadd213ps   %ymm14,%ymm11,%ymm13
+  .byte  196,98,125,24,53,201,39,3,0         // vbroadcastss  0x327c9(%rip),%ymm14        # 3c55c <_sk_srcover_bgra_8888_sse2_lowp+0x310>
+  .byte  196,194,37,168,214                  // vfmadd213ps   %ymm14,%ymm11,%ymm2
+  .byte  197,188,194,201,0                   // vcmpeqps      %ymm1,%ymm8,%ymm1
+  .byte  196,227,21,74,202,16                // vblendvps     %ymm1,%ymm2,%ymm13,%ymm1
+  .byte  197,188,194,192,0                   // vcmpeqps      %ymm0,%ymm8,%ymm0
+  .byte  196,195,117,74,196,0                // vblendvps     %ymm0,%ymm12,%ymm1,%ymm0
+  .byte  196,193,60,88,201                   // vaddps        %ymm9,%ymm8,%ymm1
+  .byte  196,98,125,24,29,60,39,3,0          // vbroadcastss  0x3273c(%rip),%ymm11        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  196,193,116,89,211                  // vmulps        %ymm11,%ymm1,%ymm2
+  .byte  197,36,194,218,1                    // vcmpltps      %ymm2,%ymm11,%ymm11
+  .byte  196,65,12,92,224                    // vsubps        %ymm8,%ymm14,%ymm12
+  .byte  196,65,28,92,225                    // vsubps        %ymm9,%ymm12,%ymm12
+  .byte  196,195,117,74,204,176              // vblendvps     %ymm11,%ymm12,%ymm1,%ymm1
+  .byte  196,65,60,194,193,0                 // vcmpeqps      %ymm9,%ymm8,%ymm8
+  .byte  197,172,94,201                      // vdivps        %ymm1,%ymm10,%ymm1
+  .byte  196,195,125,74,199,128              // vblendvps     %ymm8,%ymm15,%ymm0,%ymm0
+  .byte  196,195,117,74,207,128              // vblendvps     %ymm8,%ymm15,%ymm1,%ymm1
+  .byte  196,98,125,24,5,111,39,3,0          // vbroadcastss  0x3276f(%rip),%ymm8        # 3c564 <_sk_srcover_bgra_8888_sse2_lowp+0x318>
+  .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_hsl_to_rgb_hsw
+.globl _sk_hsl_to_rgb_hsw
+FUNCTION(_sk_hsl_to_rgb_hsw)
+_sk_hsl_to_rgb_hsw:
+  .byte  72,131,236,56                       // sub           $0x38,%rsp
+  .byte  197,252,17,60,36                    // vmovups       %ymm7,(%rsp)
+  .byte  197,252,17,116,36,224               // vmovups       %ymm6,-0x20(%rsp)
+  .byte  197,252,17,108,36,192               // vmovups       %ymm5,-0x40(%rsp)
+  .byte  197,252,17,100,36,160               // vmovups       %ymm4,-0x60(%rsp)
+  .byte  197,252,17,92,36,128                // vmovups       %ymm3,-0x80(%rsp)
+  .byte  197,252,40,233                      // vmovaps       %ymm1,%ymm5
+  .byte  197,252,40,224                      // vmovaps       %ymm0,%ymm4
+  .byte  196,98,125,24,5,200,38,3,0          // vbroadcastss  0x326c8(%rip),%ymm8        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  197,60,194,202,2                    // vcmpleps      %ymm2,%ymm8,%ymm9
+  .byte  197,84,89,210                       // vmulps        %ymm2,%ymm5,%ymm10
+  .byte  196,65,84,92,218                    // vsubps        %ymm10,%ymm5,%ymm11
+  .byte  196,67,45,74,203,144                // vblendvps     %ymm9,%ymm11,%ymm10,%ymm9
+  .byte  197,52,88,210                       // vaddps        %ymm2,%ymm9,%ymm10
+  .byte  196,98,125,24,13,11,39,3,0          // vbroadcastss  0x3270b(%rip),%ymm9        # 3c55c <_sk_srcover_bgra_8888_sse2_lowp+0x310>
+  .byte  196,66,109,170,202                  // vfmsub213ps   %ymm10,%ymm2,%ymm9
+  .byte  196,98,125,24,29,9,39,3,0           // vbroadcastss  0x32709(%rip),%ymm11        # 3c568 <_sk_srcover_bgra_8888_sse2_lowp+0x31c>
+  .byte  196,65,92,88,219                    // vaddps        %ymm11,%ymm4,%ymm11
+  .byte  196,67,125,8,227,1                  // vroundps      $0x1,%ymm11,%ymm12
+  .byte  196,65,36,92,252                    // vsubps        %ymm12,%ymm11,%ymm15
+  .byte  196,65,44,92,217                    // vsubps        %ymm9,%ymm10,%ymm11
+  .byte  196,98,125,24,45,219,38,3,0         // vbroadcastss  0x326db(%rip),%ymm13        # 3c558 <_sk_srcover_bgra_8888_sse2_lowp+0x30c>
+  .byte  196,193,4,89,197                    // vmulps        %ymm13,%ymm15,%ymm0
+  .byte  196,98,125,24,53,213,38,3,0         // vbroadcastss  0x326d5(%rip),%ymm14        # 3c560 <_sk_srcover_bgra_8888_sse2_lowp+0x314>
+  .byte  197,12,92,224                       // vsubps        %ymm0,%ymm14,%ymm12
+  .byte  196,66,37,168,225                   // vfmadd213ps   %ymm9,%ymm11,%ymm12
+  .byte  196,226,125,24,29,207,38,3,0        // vbroadcastss  0x326cf(%rip),%ymm3        # 3c56c <_sk_srcover_bgra_8888_sse2_lowp+0x320>
+  .byte  196,193,100,194,255,2               // vcmpleps      %ymm15,%ymm3,%ymm7
+  .byte  196,195,29,74,249,112               // vblendvps     %ymm7,%ymm9,%ymm12,%ymm7
+  .byte  196,65,60,194,231,2                 // vcmpleps      %ymm15,%ymm8,%ymm12
+  .byte  196,227,45,74,255,192               // vblendvps     %ymm12,%ymm7,%ymm10,%ymm7
+  .byte  196,98,125,24,37,166,38,3,0         // vbroadcastss  0x326a6(%rip),%ymm12        # 3c564 <_sk_srcover_bgra_8888_sse2_lowp+0x318>
+  .byte  196,65,28,194,255,2                 // vcmpleps      %ymm15,%ymm12,%ymm15
+  .byte  196,194,37,168,193                  // vfmadd213ps   %ymm9,%ymm11,%ymm0
+  .byte  196,99,125,74,255,240               // vblendvps     %ymm15,%ymm7,%ymm0,%ymm15
+  .byte  196,227,125,8,196,1                 // vroundps      $0x1,%ymm4,%ymm0
+  .byte  197,220,92,192                      // vsubps        %ymm0,%ymm4,%ymm0
+  .byte  196,193,124,89,253                  // vmulps        %ymm13,%ymm0,%ymm7
+  .byte  197,140,92,207                      // vsubps        %ymm7,%ymm14,%ymm1
+  .byte  196,194,37,168,201                  // vfmadd213ps   %ymm9,%ymm11,%ymm1
+  .byte  197,228,194,240,2                   // vcmpleps      %ymm0,%ymm3,%ymm6
+  .byte  196,195,117,74,201,96               // vblendvps     %ymm6,%ymm9,%ymm1,%ymm1
+  .byte  197,188,194,240,2                   // vcmpleps      %ymm0,%ymm8,%ymm6
+  .byte  196,227,45,74,201,96                // vblendvps     %ymm6,%ymm1,%ymm10,%ymm1
+  .byte  197,156,194,192,2                   // vcmpleps      %ymm0,%ymm12,%ymm0
+  .byte  196,194,37,168,249                  // vfmadd213ps   %ymm9,%ymm11,%ymm7
+  .byte  196,227,69,74,201,0                 // vblendvps     %ymm0,%ymm1,%ymm7,%ymm1
+  .byte  196,226,125,24,5,90,38,3,0          // vbroadcastss  0x3265a(%rip),%ymm0        # 3c570 <_sk_srcover_bgra_8888_sse2_lowp+0x324>
+  .byte  197,220,88,192                      // vaddps        %ymm0,%ymm4,%ymm0
+  .byte  196,227,125,8,224,1                 // vroundps      $0x1,%ymm0,%ymm4
+  .byte  197,252,92,196                      // vsubps        %ymm4,%ymm0,%ymm0
+  .byte  197,228,194,216,2                   // vcmpleps      %ymm0,%ymm3,%ymm3
+  .byte  196,193,124,89,229                  // vmulps        %ymm13,%ymm0,%ymm4
+  .byte  197,140,92,244                      // vsubps        %ymm4,%ymm14,%ymm6
+  .byte  196,194,37,168,241                  // vfmadd213ps   %ymm9,%ymm11,%ymm6
+  .byte  196,195,77,74,217,48                // vblendvps     %ymm3,%ymm9,%ymm6,%ymm3
+  .byte  197,188,194,240,2                   // vcmpleps      %ymm0,%ymm8,%ymm6
+  .byte  196,227,45,74,219,96                // vblendvps     %ymm6,%ymm3,%ymm10,%ymm3
+  .byte  196,98,37,184,204                   // vfmadd231ps   %ymm4,%ymm11,%ymm9
+  .byte  197,156,194,192,2                   // vcmpleps      %ymm0,%ymm12,%ymm0
+  .byte  196,227,53,74,219,0                 // vblendvps     %ymm0,%ymm3,%ymm9,%ymm3
+  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
+  .byte  197,212,194,224,0                   // vcmpeqps      %ymm0,%ymm5,%ymm4
+  .byte  196,227,5,74,194,64                 // vblendvps     %ymm4,%ymm2,%ymm15,%ymm0
+  .byte  196,227,117,74,202,64               // vblendvps     %ymm4,%ymm2,%ymm1,%ymm1
+  .byte  196,227,101,74,210,64               // vblendvps     %ymm4,%ymm2,%ymm3,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,16,92,36,128                // vmovups       -0x80(%rsp),%ymm3
+  .byte  197,252,16,100,36,160               // vmovups       -0x60(%rsp),%ymm4
+  .byte  197,252,16,108,36,192               // vmovups       -0x40(%rsp),%ymm5
+  .byte  197,252,16,116,36,224               // vmovups       -0x20(%rsp),%ymm6
+  .byte  197,252,16,60,36                    // vmovups       (%rsp),%ymm7
+  .byte  72,131,196,56                       // add           $0x38,%rsp
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_scale_1_float_hsw
+.globl _sk_scale_1_float_hsw
+FUNCTION(_sk_scale_1_float_hsw)
+_sk_scale_1_float_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,0                     // vbroadcastss  (%rax),%ymm8
+  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
+  .byte  197,188,89,201                      // vmulps        %ymm1,%ymm8,%ymm1
+  .byte  197,188,89,210                      // vmulps        %ymm2,%ymm8,%ymm2
+  .byte  197,188,89,219                      // vmulps        %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_scale_u8_hsw
+.globl _sk_scale_u8_hsw
+FUNCTION(_sk_scale_u8_hsw)
+_sk_scale_u8_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,58                              // jne           9fff <_sk_scale_u8_hsw+0x4c>
+  .byte  196,66,121,48,4,16                  // vpmovzxbw     (%r8,%rdx,1),%xmm8
+  .byte  197,57,219,5,221,46,3,0             // vpand         0x32edd(%rip),%xmm8,%xmm8        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  196,66,125,51,192                   // vpmovzxwd     %xmm8,%ymm8
+  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
+  .byte  196,98,125,24,13,142,37,3,0         // vbroadcastss  0x3258e(%rip),%ymm9        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  196,65,60,89,193                    // vmulps        %ymm9,%ymm8,%ymm8
+  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
+  .byte  197,188,89,201                      // vmulps        %ymm1,%ymm8,%ymm1
+  .byte  197,188,89,210                      // vmulps        %ymm2,%ymm8,%ymm2
+  .byte  197,188,89,219                      // vmulps        %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,189                             // ja            9fcb <_sk_scale_u8_hsw+0x18>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,124,0,0,0                 // lea           0x7c(%rip),%r9        # a094 <_sk_scale_u8_hsw+0xe1>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  197,121,110,192                     // vmovd         %eax,%xmm8
+  .byte  235,159                             // jmp           9fcb <_sk_scale_u8_hsw+0x18>
+  .byte  65,15,182,68,16,2                   // movzbl        0x2(%r8,%rdx,1),%eax
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  197,57,196,192,2                    // vpinsrw       $0x2,%eax,%xmm8,%xmm8
+  .byte  65,15,183,4,16                      // movzwl        (%r8,%rdx,1),%eax
+  .byte  197,121,110,200                     // vmovd         %eax,%xmm9
+  .byte  196,66,121,48,201                   // vpmovzxbw     %xmm9,%xmm9
+  .byte  196,67,57,2,193,1                   // vpblendd      $0x1,%xmm9,%xmm8,%xmm8
+  .byte  233,118,255,255,255                 // jmpq          9fcb <_sk_scale_u8_hsw+0x18>
+  .byte  65,15,182,68,16,6                   // movzbl        0x6(%r8,%rdx,1),%eax
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  197,57,196,192,6                    // vpinsrw       $0x6,%eax,%xmm8,%xmm8
+  .byte  65,15,182,68,16,5                   // movzbl        0x5(%r8,%rdx,1),%eax
+  .byte  197,57,196,192,5                    // vpinsrw       $0x5,%eax,%xmm8,%xmm8
+  .byte  65,15,182,68,16,4                   // movzbl        0x4(%r8,%rdx,1),%eax
+  .byte  197,57,196,192,4                    // vpinsrw       $0x4,%eax,%xmm8,%xmm8
+  .byte  196,65,121,110,12,16                // vmovd         (%r8,%rdx,1),%xmm9
+  .byte  196,66,121,48,201                   // vpmovzxbw     %xmm9,%xmm9
+  .byte  196,67,49,2,192,12                  // vpblendd      $0xc,%xmm8,%xmm9,%xmm8
+  .byte  233,58,255,255,255                  // jmpq          9fcb <_sk_scale_u8_hsw+0x18>
+  .byte  15,31,0                             // nopl          (%rax)
+  .byte  141                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,168,255,255,255,152             // ljmp          *-0x67000001(%rax)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,231                             // jmpq          *%rdi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  220,255                             // fdivr         %st,%st(7)
+  .byte  255                                 // (bad)
+  .byte  255,209                             // callq         *%rcx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,193                             // inc           %ecx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_scale_565_hsw
+.globl _sk_scale_565_hsw
+FUNCTION(_sk_scale_565_hsw)
+_sk_scale_565_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,161,0,0,0                    // jne           a16a <_sk_scale_565_hsw+0xba>
+  .byte  196,65,122,111,4,80                 // vmovdqu       (%r8,%rdx,2),%xmm8
+  .byte  196,66,125,51,192                   // vpmovzxwd     %xmm8,%ymm8
+  .byte  196,98,125,88,13,155,36,3,0         // vpbroadcastd  0x3249b(%rip),%ymm9        # 3c578 <_sk_srcover_bgra_8888_sse2_lowp+0x32c>
+  .byte  196,65,61,219,201                   // vpand         %ymm9,%ymm8,%ymm9
+  .byte  196,65,124,91,201                   // vcvtdq2ps     %ymm9,%ymm9
+  .byte  196,98,125,24,21,140,36,3,0         // vbroadcastss  0x3248c(%rip),%ymm10        # 3c57c <_sk_srcover_bgra_8888_sse2_lowp+0x330>
+  .byte  196,65,52,89,202                    // vmulps        %ymm10,%ymm9,%ymm9
+  .byte  196,98,125,88,21,130,36,3,0         // vpbroadcastd  0x32482(%rip),%ymm10        # 3c580 <_sk_srcover_bgra_8888_sse2_lowp+0x334>
+  .byte  196,65,61,219,210                   // vpand         %ymm10,%ymm8,%ymm10
+  .byte  196,65,124,91,210                   // vcvtdq2ps     %ymm10,%ymm10
+  .byte  196,98,125,24,29,115,36,3,0         // vbroadcastss  0x32473(%rip),%ymm11        # 3c584 <_sk_srcover_bgra_8888_sse2_lowp+0x338>
+  .byte  196,65,44,89,211                    // vmulps        %ymm11,%ymm10,%ymm10
+  .byte  196,98,125,88,29,105,36,3,0         // vpbroadcastd  0x32469(%rip),%ymm11        # 3c588 <_sk_srcover_bgra_8888_sse2_lowp+0x33c>
+  .byte  196,65,61,219,195                   // vpand         %ymm11,%ymm8,%ymm8
+  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
+  .byte  196,98,125,24,29,90,36,3,0          // vbroadcastss  0x3245a(%rip),%ymm11        # 3c58c <_sk_srcover_bgra_8888_sse2_lowp+0x340>
+  .byte  196,65,60,89,195                    // vmulps        %ymm11,%ymm8,%ymm8
+  .byte  197,100,194,223,1                   // vcmpltps      %ymm7,%ymm3,%ymm11
+  .byte  196,65,44,93,224                    // vminps        %ymm8,%ymm10,%ymm12
+  .byte  196,65,52,93,228                    // vminps        %ymm12,%ymm9,%ymm12
+  .byte  196,65,44,95,232                    // vmaxps        %ymm8,%ymm10,%ymm13
+  .byte  196,65,52,95,237                    // vmaxps        %ymm13,%ymm9,%ymm13
+  .byte  196,67,21,74,220,176                // vblendvps     %ymm11,%ymm12,%ymm13,%ymm11
+  .byte  197,180,89,192                      // vmulps        %ymm0,%ymm9,%ymm0
+  .byte  197,172,89,201                      // vmulps        %ymm1,%ymm10,%ymm1
+  .byte  197,188,89,210                      // vmulps        %ymm2,%ymm8,%ymm2
+  .byte  197,164,89,219                      // vmulps        %ymm3,%ymm11,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  15,135,82,255,255,255               // ja            a0cf <_sk_scale_565_hsw+0x1f>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,101,0,0,0                 // lea           0x65(%rip),%r9        # a1ec <_sk_scale_565_hsw+0x13c>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  197,121,110,192                     // vmovd         %eax,%xmm8
+  .byte  233,49,255,255,255                  // jmpq          a0cf <_sk_scale_565_hsw+0x1f>
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  196,65,57,196,68,80,4,2             // vpinsrw       $0x2,0x4(%r8,%rdx,2),%xmm8,%xmm8
+  .byte  196,65,121,110,12,80                // vmovd         (%r8,%rdx,2),%xmm9
+  .byte  196,67,57,2,193,1                   // vpblendd      $0x1,%xmm9,%xmm8,%xmm8
+  .byte  233,19,255,255,255                  // jmpq          a0cf <_sk_scale_565_hsw+0x1f>
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  196,65,57,196,68,80,12,6            // vpinsrw       $0x6,0xc(%r8,%rdx,2),%xmm8,%xmm8
+  .byte  196,65,57,196,68,80,10,5            // vpinsrw       $0x5,0xa(%r8,%rdx,2),%xmm8,%xmm8
+  .byte  196,65,57,196,68,80,8,4             // vpinsrw       $0x4,0x8(%r8,%rdx,2),%xmm8,%xmm8
+  .byte  196,65,122,126,12,80                // vmovq         (%r8,%rdx,2),%xmm9
+  .byte  196,67,49,2,192,12                  // vpblendd      $0xc,%xmm8,%xmm9,%xmm8
+  .byte  233,229,254,255,255                 // jmpq          a0cf <_sk_scale_565_hsw+0x1f>
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  164                                 // movsb         %ds:(%rsi),%es:(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  191,255,255,255,178                 // mov           $0xb2ffffff,%edi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  237                                 // in            (%dx),%eax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,229                             // jmpq          *%rbp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  221,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,208                             // callq         *%rax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_lerp_1_float_hsw
+.globl _sk_lerp_1_float_hsw
+FUNCTION(_sk_lerp_1_float_hsw)
+_sk_lerp_1_float_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,0                     // vbroadcastss  (%rax),%ymm8
+  .byte  197,252,92,196                      // vsubps        %ymm4,%ymm0,%ymm0
+  .byte  196,226,61,168,196                  // vfmadd213ps   %ymm4,%ymm8,%ymm0
+  .byte  197,244,92,205                      // vsubps        %ymm5,%ymm1,%ymm1
+  .byte  196,226,61,168,205                  // vfmadd213ps   %ymm5,%ymm8,%ymm1
+  .byte  197,236,92,214                      // vsubps        %ymm6,%ymm2,%ymm2
+  .byte  196,226,61,168,214                  // vfmadd213ps   %ymm6,%ymm8,%ymm2
+  .byte  197,228,92,223                      // vsubps        %ymm7,%ymm3,%ymm3
+  .byte  196,226,61,168,223                  // vfmadd213ps   %ymm7,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_lerp_u8_hsw
+.globl _sk_lerp_u8_hsw
+FUNCTION(_sk_lerp_u8_hsw)
+_sk_lerp_u8_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,78                              // jne           a297 <_sk_lerp_u8_hsw+0x60>
+  .byte  196,66,121,48,4,16                  // vpmovzxbw     (%r8,%rdx,1),%xmm8
+  .byte  197,57,219,5,89,44,3,0              // vpand         0x32c59(%rip),%xmm8,%xmm8        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  196,66,125,51,192                   // vpmovzxwd     %xmm8,%ymm8
+  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
+  .byte  196,98,125,24,13,10,35,3,0          // vbroadcastss  0x3230a(%rip),%ymm9        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  196,65,60,89,193                    // vmulps        %ymm9,%ymm8,%ymm8
+  .byte  197,252,92,196                      // vsubps        %ymm4,%ymm0,%ymm0
+  .byte  196,226,61,168,196                  // vfmadd213ps   %ymm4,%ymm8,%ymm0
+  .byte  197,244,92,205                      // vsubps        %ymm5,%ymm1,%ymm1
+  .byte  196,226,61,168,205                  // vfmadd213ps   %ymm5,%ymm8,%ymm1
+  .byte  197,236,92,214                      // vsubps        %ymm6,%ymm2,%ymm2
+  .byte  196,226,61,168,214                  // vfmadd213ps   %ymm6,%ymm8,%ymm2
+  .byte  197,228,92,223                      // vsubps        %ymm7,%ymm3,%ymm3
+  .byte  196,226,61,168,223                  // vfmadd213ps   %ymm7,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,169                             // ja            a24f <_sk_lerp_u8_hsw+0x18>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,124,0,0,0                 // lea           0x7c(%rip),%r9        # a32c <_sk_lerp_u8_hsw+0xf5>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  197,121,110,192                     // vmovd         %eax,%xmm8
+  .byte  235,139                             // jmp           a24f <_sk_lerp_u8_hsw+0x18>
+  .byte  65,15,182,68,16,2                   // movzbl        0x2(%r8,%rdx,1),%eax
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  197,57,196,192,2                    // vpinsrw       $0x2,%eax,%xmm8,%xmm8
+  .byte  65,15,183,4,16                      // movzwl        (%r8,%rdx,1),%eax
+  .byte  197,121,110,200                     // vmovd         %eax,%xmm9
+  .byte  196,66,121,48,201                   // vpmovzxbw     %xmm9,%xmm9
+  .byte  196,67,57,2,193,1                   // vpblendd      $0x1,%xmm9,%xmm8,%xmm8
+  .byte  233,98,255,255,255                  // jmpq          a24f <_sk_lerp_u8_hsw+0x18>
+  .byte  65,15,182,68,16,6                   // movzbl        0x6(%r8,%rdx,1),%eax
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  197,57,196,192,6                    // vpinsrw       $0x6,%eax,%xmm8,%xmm8
+  .byte  65,15,182,68,16,5                   // movzbl        0x5(%r8,%rdx,1),%eax
+  .byte  197,57,196,192,5                    // vpinsrw       $0x5,%eax,%xmm8,%xmm8
+  .byte  65,15,182,68,16,4                   // movzbl        0x4(%r8,%rdx,1),%eax
+  .byte  197,57,196,192,4                    // vpinsrw       $0x4,%eax,%xmm8,%xmm8
+  .byte  196,65,121,110,12,16                // vmovd         (%r8,%rdx,1),%xmm9
+  .byte  196,66,121,48,201                   // vpmovzxbw     %xmm9,%xmm9
+  .byte  196,67,49,2,192,12                  // vpblendd      $0xc,%xmm8,%xmm9,%xmm8
+  .byte  233,38,255,255,255                  // jmpq          a24f <_sk_lerp_u8_hsw+0x18>
+  .byte  15,31,0                             // nopl          (%rax)
+  .byte  141                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,168,255,255,255,152             // ljmp          *-0x67000001(%rax)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,231                             // jmpq          *%rdi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  220,255                             // fdivr         %st,%st(7)
+  .byte  255                                 // (bad)
+  .byte  255,209                             // callq         *%rcx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,193                             // inc           %ecx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_lerp_565_hsw
+.globl _sk_lerp_565_hsw
+FUNCTION(_sk_lerp_565_hsw)
+_sk_lerp_565_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,181,0,0,0                    // jne           a416 <_sk_lerp_565_hsw+0xce>
+  .byte  196,65,122,111,4,80                 // vmovdqu       (%r8,%rdx,2),%xmm8
+  .byte  196,66,125,51,192                   // vpmovzxwd     %xmm8,%ymm8
+  .byte  196,98,125,88,13,3,34,3,0           // vpbroadcastd  0x32203(%rip),%ymm9        # 3c578 <_sk_srcover_bgra_8888_sse2_lowp+0x32c>
+  .byte  196,65,61,219,201                   // vpand         %ymm9,%ymm8,%ymm9
+  .byte  196,65,124,91,201                   // vcvtdq2ps     %ymm9,%ymm9
+  .byte  196,98,125,24,21,244,33,3,0         // vbroadcastss  0x321f4(%rip),%ymm10        # 3c57c <_sk_srcover_bgra_8888_sse2_lowp+0x330>
+  .byte  196,65,52,89,202                    // vmulps        %ymm10,%ymm9,%ymm9
+  .byte  196,98,125,88,21,234,33,3,0         // vpbroadcastd  0x321ea(%rip),%ymm10        # 3c580 <_sk_srcover_bgra_8888_sse2_lowp+0x334>
+  .byte  196,65,61,219,210                   // vpand         %ymm10,%ymm8,%ymm10
+  .byte  196,65,124,91,210                   // vcvtdq2ps     %ymm10,%ymm10
+  .byte  196,98,125,24,29,219,33,3,0         // vbroadcastss  0x321db(%rip),%ymm11        # 3c584 <_sk_srcover_bgra_8888_sse2_lowp+0x338>
+  .byte  196,65,44,89,211                    // vmulps        %ymm11,%ymm10,%ymm10
+  .byte  196,98,125,88,29,209,33,3,0         // vpbroadcastd  0x321d1(%rip),%ymm11        # 3c588 <_sk_srcover_bgra_8888_sse2_lowp+0x33c>
+  .byte  196,65,61,219,195                   // vpand         %ymm11,%ymm8,%ymm8
+  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
+  .byte  196,98,125,24,29,194,33,3,0         // vbroadcastss  0x321c2(%rip),%ymm11        # 3c58c <_sk_srcover_bgra_8888_sse2_lowp+0x340>
+  .byte  196,65,60,89,195                    // vmulps        %ymm11,%ymm8,%ymm8
+  .byte  197,100,194,223,1                   // vcmpltps      %ymm7,%ymm3,%ymm11
+  .byte  196,65,44,93,224                    // vminps        %ymm8,%ymm10,%ymm12
+  .byte  196,65,52,93,228                    // vminps        %ymm12,%ymm9,%ymm12
+  .byte  196,65,44,95,232                    // vmaxps        %ymm8,%ymm10,%ymm13
+  .byte  196,65,52,95,237                    // vmaxps        %ymm13,%ymm9,%ymm13
+  .byte  196,67,21,74,220,176                // vblendvps     %ymm11,%ymm12,%ymm13,%ymm11
+  .byte  197,252,92,196                      // vsubps        %ymm4,%ymm0,%ymm0
+  .byte  196,226,53,168,196                  // vfmadd213ps   %ymm4,%ymm9,%ymm0
+  .byte  197,244,92,205                      // vsubps        %ymm5,%ymm1,%ymm1
+  .byte  196,226,45,168,205                  // vfmadd213ps   %ymm5,%ymm10,%ymm1
+  .byte  197,236,92,214                      // vsubps        %ymm6,%ymm2,%ymm2
+  .byte  196,226,61,168,214                  // vfmadd213ps   %ymm6,%ymm8,%ymm2
+  .byte  197,228,92,223                      // vsubps        %ymm7,%ymm3,%ymm3
+  .byte  196,226,37,168,223                  // vfmadd213ps   %ymm7,%ymm11,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  15,135,62,255,255,255               // ja            a367 <_sk_lerp_565_hsw+0x1f>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,101,0,0,0                 // lea           0x65(%rip),%r9        # a498 <_sk_lerp_565_hsw+0x150>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  197,121,110,192                     // vmovd         %eax,%xmm8
+  .byte  233,29,255,255,255                  // jmpq          a367 <_sk_lerp_565_hsw+0x1f>
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  196,65,57,196,68,80,4,2             // vpinsrw       $0x2,0x4(%r8,%rdx,2),%xmm8,%xmm8
+  .byte  196,65,121,110,12,80                // vmovd         (%r8,%rdx,2),%xmm9
+  .byte  196,67,57,2,193,1                   // vpblendd      $0x1,%xmm9,%xmm8,%xmm8
+  .byte  233,255,254,255,255                 // jmpq          a367 <_sk_lerp_565_hsw+0x1f>
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  196,65,57,196,68,80,12,6            // vpinsrw       $0x6,0xc(%r8,%rdx,2),%xmm8,%xmm8
+  .byte  196,65,57,196,68,80,10,5            // vpinsrw       $0x5,0xa(%r8,%rdx,2),%xmm8,%xmm8
+  .byte  196,65,57,196,68,80,8,4             // vpinsrw       $0x4,0x8(%r8,%rdx,2),%xmm8,%xmm8
+  .byte  196,65,122,126,12,80                // vmovq         (%r8,%rdx,2),%xmm9
+  .byte  196,67,49,2,192,12                  // vpblendd      $0xc,%xmm8,%xmm9,%xmm8
+  .byte  233,209,254,255,255                 // jmpq          a367 <_sk_lerp_565_hsw+0x1f>
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  164                                 // movsb         %ds:(%rsi),%es:(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  191,255,255,255,178                 // mov           $0xb2ffffff,%edi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  237                                 // in            (%dx),%eax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,229                             // jmpq          *%rbp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  221,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,208                             // callq         *%rax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_tables_hsw
+.globl _sk_load_tables_hsw
+FUNCTION(_sk_load_tables_hsw)
+_sk_load_tables_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,116                             // jne           a532 <_sk_load_tables_hsw+0x7e>
+  .byte  196,193,126,111,28,144              // vmovdqu       (%r8,%rdx,4),%ymm3
+  .byte  197,229,219,13,244,34,3,0           // vpand         0x322f4(%rip),%ymm3,%ymm1        # 3c7c0 <_sk_srcover_bgra_8888_sse2_lowp+0x574>
+  .byte  196,65,61,118,192                   // vpcmpeqd      %ymm8,%ymm8,%ymm8
+  .byte  76,139,64,8                         // mov           0x8(%rax),%r8
+  .byte  76,139,72,16                        // mov           0x10(%rax),%r9
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  197,253,239,192                     // vpxor         %ymm0,%ymm0,%ymm0
+  .byte  196,65,53,118,201                   // vpcmpeqd      %ymm9,%ymm9,%ymm9
+  .byte  196,194,53,146,4,136                // vgatherdps    %ymm9,(%r8,%ymm1,4),%ymm0
+  .byte  196,98,101,0,13,235,34,3,0          // vpshufb       0x322eb(%rip),%ymm3,%ymm9        # 3c7e0 <_sk_srcover_bgra_8888_sse2_lowp+0x594>
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  196,65,45,118,210                   // vpcmpeqd      %ymm10,%ymm10,%ymm10
+  .byte  196,130,45,146,12,137               // vgatherdps    %ymm10,(%r9,%ymm9,4),%ymm1
+  .byte  72,139,64,24                        // mov           0x18(%rax),%rax
+  .byte  196,98,101,0,13,239,34,3,0          // vpshufb       0x322ef(%rip),%ymm3,%ymm9        # 3c800 <_sk_srcover_bgra_8888_sse2_lowp+0x5b4>
+  .byte  196,162,61,146,20,136               // vgatherdps    %ymm8,(%rax,%ymm9,4),%ymm2
+  .byte  197,229,114,211,24                  // vpsrld        $0x18,%ymm3,%ymm3
+  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
+  .byte  196,98,125,24,5,75,32,3,0           // vbroadcastss  0x3204b(%rip),%ymm8        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  196,193,100,89,216                  // vmulps        %ymm8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,137,249                          // mov           %edi,%r9d
+  .byte  65,128,225,7                        // and           $0x7,%r9b
+  .byte  197,229,239,219                     // vpxor         %ymm3,%ymm3,%ymm3
+  .byte  65,254,201                          // dec           %r9b
+  .byte  65,128,249,6                        // cmp           $0x6,%r9b
+  .byte  15,135,122,255,255,255              // ja            a4c4 <_sk_load_tables_hsw+0x10>
+  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
+  .byte  76,141,21,139,0,0,0                 // lea           0x8b(%rip),%r10        # a5e0 <_sk_load_tables_hsw+0x12c>
+  .byte  79,99,12,138                        // movslq        (%r10,%r9,4),%r9
+  .byte  77,1,209                            // add           %r10,%r9
+  .byte  65,255,225                          // jmpq          *%r9
+  .byte  196,193,121,110,28,144              // vmovd         (%r8,%rdx,4),%xmm3
+  .byte  233,90,255,255,255                  // jmpq          a4c4 <_sk_load_tables_hsw+0x10>
+  .byte  196,193,121,110,68,144,8            // vmovd         0x8(%r8,%rdx,4),%xmm0
+  .byte  196,226,121,89,192                  // vpbroadcastq  %xmm0,%xmm0
+  .byte  197,245,239,201                     // vpxor         %ymm1,%ymm1,%ymm1
+  .byte  196,227,117,2,216,4                 // vpblendd      $0x4,%ymm0,%ymm1,%ymm3
+  .byte  196,193,122,126,4,144               // vmovq         (%r8,%rdx,4),%xmm0
+  .byte  196,227,101,2,216,3                 // vpblendd      $0x3,%ymm0,%ymm3,%ymm3
+  .byte  233,51,255,255,255                  // jmpq          a4c4 <_sk_load_tables_hsw+0x10>
+  .byte  196,193,121,110,68,144,24           // vmovd         0x18(%r8,%rdx,4),%xmm0
+  .byte  196,226,125,89,192                  // vpbroadcastq  %xmm0,%ymm0
+  .byte  197,245,239,201                     // vpxor         %ymm1,%ymm1,%ymm1
+  .byte  196,227,117,2,216,64                // vpblendd      $0x40,%ymm0,%ymm1,%ymm3
+  .byte  196,227,125,57,216,1                // vextracti128  $0x1,%ymm3,%xmm0
+  .byte  196,195,121,34,68,144,20,1          // vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm0,%xmm0
+  .byte  196,227,101,56,216,1                // vinserti128   $0x1,%xmm0,%ymm3,%ymm3
+  .byte  196,227,125,57,216,1                // vextracti128  $0x1,%ymm3,%xmm0
+  .byte  196,195,121,34,68,144,16,0          // vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm0,%xmm0
+  .byte  196,227,101,56,216,1                // vinserti128   $0x1,%xmm0,%ymm3,%ymm3
+  .byte  196,193,122,111,4,144               // vmovdqu       (%r8,%rdx,4),%xmm0
+  .byte  196,227,125,2,219,240               // vpblendd      $0xf0,%ymm3,%ymm0,%ymm3
+  .byte  233,228,254,255,255                 // jmpq          a4c4 <_sk_load_tables_hsw+0x10>
+  .byte  127,255                             // jg            a5e1 <_sk_load_tables_hsw+0x12d>
+  .byte  255                                 // (bad)
+  .byte  255,160,255,255,255,138             // jmpq          *-0x75000001(%rax)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  239                                 // out           %eax,(%dx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  219,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,199                             // inc           %edi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+  .byte  177,255                             // mov           $0xff,%cl
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_tables_u16_be_hsw
+.globl _sk_load_tables_u16_be_hsw
+FUNCTION(_sk_load_tables_u16_be_hsw)
+_sk_load_tables_u16_be_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  76,141,12,149,0,0,0,0               // lea           0x0(,%rdx,4),%r9
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,215,0,0,0                    // jne           a6e9 <_sk_load_tables_u16_be_hsw+0xed>
+  .byte  196,1,121,16,4,72                   // vmovupd       (%r8,%r9,2),%xmm8
+  .byte  196,129,121,16,84,72,16             // vmovupd       0x10(%r8,%r9,2),%xmm2
+  .byte  196,129,121,16,92,72,32             // vmovupd       0x20(%r8,%r9,2),%xmm3
+  .byte  196,1,122,111,76,72,48              // vmovdqu       0x30(%r8,%r9,2),%xmm9
+  .byte  197,185,97,194                      // vpunpcklwd    %xmm2,%xmm8,%xmm0
+  .byte  197,185,105,210                     // vpunpckhwd    %xmm2,%xmm8,%xmm2
+  .byte  196,193,97,97,201                   // vpunpcklwd    %xmm9,%xmm3,%xmm1
+  .byte  196,193,97,105,217                  // vpunpckhwd    %xmm9,%xmm3,%xmm3
+  .byte  197,121,97,194                      // vpunpcklwd    %xmm2,%xmm0,%xmm8
+  .byte  197,121,105,202                     // vpunpckhwd    %xmm2,%xmm0,%xmm9
+  .byte  197,241,97,195                      // vpunpcklwd    %xmm3,%xmm1,%xmm0
+  .byte  197,113,105,243                     // vpunpckhwd    %xmm3,%xmm1,%xmm14
+  .byte  197,185,108,200                     // vpunpcklqdq   %xmm0,%xmm8,%xmm1
+  .byte  197,57,109,192                      // vpunpckhqdq   %xmm0,%xmm8,%xmm8
+  .byte  196,65,49,108,214                   // vpunpcklqdq   %xmm14,%xmm9,%xmm10
+  .byte  197,121,111,29,76,40,3,0            // vmovdqa       0x3284c(%rip),%xmm11        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  196,193,113,219,195                 // vpand         %xmm11,%xmm1,%xmm0
+  .byte  196,226,125,51,200                  // vpmovzxwd     %xmm0,%ymm1
+  .byte  196,65,29,118,228                   // vpcmpeqd      %ymm12,%ymm12,%ymm12
+  .byte  197,237,239,210                     // vpxor         %ymm2,%ymm2,%ymm2
+  .byte  76,139,64,8                         // mov           0x8(%rax),%r8
+  .byte  76,139,72,16                        // mov           0x10(%rax),%r9
+  .byte  196,65,21,118,237                   // vpcmpeqd      %ymm13,%ymm13,%ymm13
+  .byte  197,253,239,192                     // vpxor         %ymm0,%ymm0,%ymm0
+  .byte  196,194,21,146,4,136                // vgatherdps    %ymm13,(%r8,%ymm1,4),%ymm0
+  .byte  196,193,57,219,203                  // vpand         %xmm11,%xmm8,%xmm1
+  .byte  196,98,125,51,193                   // vpmovzxwd     %xmm1,%ymm8
+  .byte  196,65,21,118,237                   // vpcmpeqd      %ymm13,%ymm13,%ymm13
+  .byte  197,245,239,201                     // vpxor         %ymm1,%ymm1,%ymm1
+  .byte  196,130,21,146,12,129               // vgatherdps    %ymm13,(%r9,%ymm8,4),%ymm1
+  .byte  72,139,64,24                        // mov           0x18(%rax),%rax
+  .byte  196,193,41,219,219                  // vpand         %xmm11,%xmm10,%xmm3
+  .byte  196,226,125,51,219                  // vpmovzxwd     %xmm3,%ymm3
+  .byte  196,226,29,146,20,152               // vgatherdps    %ymm12,(%rax,%ymm3,4),%ymm2
+  .byte  196,193,49,109,222                  // vpunpckhqdq   %xmm14,%xmm9,%xmm3
+  .byte  197,185,113,243,8                   // vpsllw        $0x8,%xmm3,%xmm8
+  .byte  197,225,113,211,8                   // vpsrlw        $0x8,%xmm3,%xmm3
+  .byte  197,185,235,219                     // vpor          %xmm3,%xmm8,%xmm3
+  .byte  196,226,125,51,219                  // vpmovzxwd     %xmm3,%ymm3
+  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
+  .byte  196,98,125,24,5,176,30,3,0          // vbroadcastss  0x31eb0(%rip),%ymm8        # 3c590 <_sk_srcover_bgra_8888_sse2_lowp+0x344>
+  .byte  196,193,100,89,216                  // vmulps        %ymm8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,1,123,16,4,72                   // vmovsd        (%r8,%r9,2),%xmm8
+  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  116,85                              // je            a74f <_sk_load_tables_u16_be_hsw+0x153>
+  .byte  196,1,57,22,68,72,8                 // vmovhpd       0x8(%r8,%r9,2),%xmm8,%xmm8
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  114,72                              // jb            a74f <_sk_load_tables_u16_be_hsw+0x153>
+  .byte  196,129,123,16,84,72,16             // vmovsd        0x10(%r8,%r9,2),%xmm2
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  116,72                              // je            a75c <_sk_load_tables_u16_be_hsw+0x160>
+  .byte  196,129,105,22,84,72,24             // vmovhpd       0x18(%r8,%r9,2),%xmm2,%xmm2
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  114,59                              // jb            a75c <_sk_load_tables_u16_be_hsw+0x160>
+  .byte  196,129,123,16,92,72,32             // vmovsd        0x20(%r8,%r9,2),%xmm3
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  15,132,251,254,255,255              // je            a62d <_sk_load_tables_u16_be_hsw+0x31>
+  .byte  196,129,97,22,92,72,40              // vmovhpd       0x28(%r8,%r9,2),%xmm3,%xmm3
+  .byte  72,131,255,7                        // cmp           $0x7,%rdi
+  .byte  15,130,234,254,255,255              // jb            a62d <_sk_load_tables_u16_be_hsw+0x31>
+  .byte  196,1,122,126,76,72,48              // vmovq         0x30(%r8,%r9,2),%xmm9
+  .byte  233,222,254,255,255                 // jmpq          a62d <_sk_load_tables_u16_be_hsw+0x31>
+  .byte  197,225,87,219                      // vxorpd        %xmm3,%xmm3,%xmm3
+  .byte  197,233,87,210                      // vxorpd        %xmm2,%xmm2,%xmm2
+  .byte  233,209,254,255,255                 // jmpq          a62d <_sk_load_tables_u16_be_hsw+0x31>
+  .byte  197,225,87,219                      // vxorpd        %xmm3,%xmm3,%xmm3
+  .byte  233,200,254,255,255                 // jmpq          a62d <_sk_load_tables_u16_be_hsw+0x31>
+
+HIDDEN _sk_load_tables_rgb_u16_be_hsw
+.globl _sk_load_tables_rgb_u16_be_hsw
+FUNCTION(_sk_load_tables_rgb_u16_be_hsw)
+_sk_load_tables_rgb_u16_be_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  76,141,12,82                        // lea           (%rdx,%rdx,2),%r9
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,206,0,0,0                    // jne           a845 <_sk_load_tables_rgb_u16_be_hsw+0xe0>
+  .byte  196,1,122,111,28,72                 // vmovdqu       (%r8,%r9,2),%xmm11
+  .byte  196,129,122,111,92,72,12            // vmovdqu       0xc(%r8,%r9,2),%xmm3
+  .byte  196,129,122,111,84,72,24            // vmovdqu       0x18(%r8,%r9,2),%xmm2
+  .byte  196,129,122,111,68,72,32            // vmovdqu       0x20(%r8,%r9,2),%xmm0
+  .byte  197,249,115,216,4                   // vpsrldq       $0x4,%xmm0,%xmm0
+  .byte  196,193,57,115,219,6                // vpsrldq       $0x6,%xmm11,%xmm8
+  .byte  197,169,115,219,6                   // vpsrldq       $0x6,%xmm3,%xmm10
+  .byte  197,241,115,218,6                   // vpsrldq       $0x6,%xmm2,%xmm1
+  .byte  197,177,115,216,6                   // vpsrldq       $0x6,%xmm0,%xmm9
+  .byte  196,65,113,97,201                   // vpunpcklwd    %xmm9,%xmm1,%xmm9
+  .byte  197,233,97,192                      // vpunpcklwd    %xmm0,%xmm2,%xmm0
+  .byte  196,193,57,97,210                   // vpunpcklwd    %xmm10,%xmm8,%xmm2
+  .byte  197,161,97,219                      // vpunpcklwd    %xmm3,%xmm11,%xmm3
+  .byte  197,225,97,202                      // vpunpcklwd    %xmm2,%xmm3,%xmm1
+  .byte  197,225,105,210                     // vpunpckhwd    %xmm2,%xmm3,%xmm2
+  .byte  196,193,121,97,217                  // vpunpcklwd    %xmm9,%xmm0,%xmm3
+  .byte  196,193,121,105,193                 // vpunpckhwd    %xmm9,%xmm0,%xmm0
+  .byte  197,105,108,192                     // vpunpcklqdq   %xmm0,%xmm2,%xmm8
+  .byte  197,241,108,195                     // vpunpcklqdq   %xmm3,%xmm1,%xmm0
+  .byte  197,241,109,203                     // vpunpckhqdq   %xmm3,%xmm1,%xmm1
+  .byte  197,249,111,29,204,38,3,0           // vmovdqa       0x326cc(%rip),%xmm3        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  197,249,219,195                     // vpand         %xmm3,%xmm0,%xmm0
+  .byte  196,98,125,51,200                   // vpmovzxwd     %xmm0,%ymm9
+  .byte  196,65,45,118,210                   // vpcmpeqd      %ymm10,%ymm10,%ymm10
+  .byte  197,237,239,210                     // vpxor         %ymm2,%ymm2,%ymm2
+  .byte  76,139,64,8                         // mov           0x8(%rax),%r8
+  .byte  76,139,72,16                        // mov           0x10(%rax),%r9
+  .byte  196,65,37,118,219                   // vpcmpeqd      %ymm11,%ymm11,%ymm11
+  .byte  197,253,239,192                     // vpxor         %ymm0,%ymm0,%ymm0
+  .byte  196,130,37,146,4,136                // vgatherdps    %ymm11,(%r8,%ymm9,4),%ymm0
+  .byte  197,241,219,203                     // vpand         %xmm3,%xmm1,%xmm1
+  .byte  196,98,125,51,201                   // vpmovzxwd     %xmm1,%ymm9
+  .byte  196,65,37,118,219                   // vpcmpeqd      %ymm11,%ymm11,%ymm11
+  .byte  197,245,239,201                     // vpxor         %ymm1,%ymm1,%ymm1
+  .byte  196,130,37,146,12,137               // vgatherdps    %ymm11,(%r9,%ymm9,4),%ymm1
+  .byte  72,139,64,24                        // mov           0x18(%rax),%rax
+  .byte  197,185,219,219                     // vpand         %xmm3,%xmm8,%xmm3
+  .byte  196,226,125,51,219                  // vpmovzxwd     %xmm3,%ymm3
+  .byte  196,226,45,146,20,152               // vgatherdps    %ymm10,(%rax,%ymm3,4),%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,29,185,28,3,0        // vbroadcastss  0x31cb9(%rip),%ymm3        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,129,121,110,4,72                // vmovd         (%r8,%r9,2),%xmm0
+  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
+  .byte  196,1,121,196,92,72,4,2             // vpinsrw       $0x2,0x4(%r8,%r9,2),%xmm0,%xmm11
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  117,31                              // jne           a87d <_sk_load_tables_rgb_u16_be_hsw+0x118>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  197,241,239,201                     // vpxor         %xmm1,%xmm1,%xmm1
+  .byte  197,233,239,210                     // vpxor         %xmm2,%xmm2,%xmm2
+  .byte  196,65,41,239,210                   // vpxor         %xmm10,%xmm10,%xmm10
+  .byte  197,225,239,219                     // vpxor         %xmm3,%xmm3,%xmm3
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  233,47,255,255,255                  // jmpq          a7ac <_sk_load_tables_rgb_u16_be_hsw+0x47>
+  .byte  196,129,121,110,68,72,6             // vmovd         0x6(%r8,%r9,2),%xmm0
+  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
+  .byte  196,1,121,196,68,72,10,2            // vpinsrw       $0x2,0xa(%r8,%r9,2),%xmm0,%xmm8
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  114,48                              // jb            a8c7 <_sk_load_tables_rgb_u16_be_hsw+0x162>
+  .byte  196,129,121,110,68,72,12            // vmovd         0xc(%r8,%r9,2),%xmm0
+  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
+  .byte  196,129,121,196,92,72,16,2          // vpinsrw       $0x2,0x10(%r8,%r9,2),%xmm0,%xmm3
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  117,48                              // jne           a8e1 <_sk_load_tables_rgb_u16_be_hsw+0x17c>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  197,241,239,201                     // vpxor         %xmm1,%xmm1,%xmm1
+  .byte  197,233,239,210                     // vpxor         %xmm2,%xmm2,%xmm2
+  .byte  196,65,41,239,210                   // vpxor         %xmm10,%xmm10,%xmm10
+  .byte  233,229,254,255,255                 // jmpq          a7ac <_sk_load_tables_rgb_u16_be_hsw+0x47>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  197,241,239,201                     // vpxor         %xmm1,%xmm1,%xmm1
+  .byte  197,233,239,210                     // vpxor         %xmm2,%xmm2,%xmm2
+  .byte  196,65,41,239,210                   // vpxor         %xmm10,%xmm10,%xmm10
+  .byte  197,225,239,219                     // vpxor         %xmm3,%xmm3,%xmm3
+  .byte  233,203,254,255,255                 // jmpq          a7ac <_sk_load_tables_rgb_u16_be_hsw+0x47>
+  .byte  196,129,121,110,68,72,18            // vmovd         0x12(%r8,%r9,2),%xmm0
+  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
+  .byte  196,1,121,196,84,72,22,2            // vpinsrw       $0x2,0x16(%r8,%r9,2),%xmm0,%xmm10
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  114,39                              // jb            a922 <_sk_load_tables_rgb_u16_be_hsw+0x1bd>
+  .byte  196,129,121,110,68,72,24            // vmovd         0x18(%r8,%r9,2),%xmm0
+  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
+  .byte  196,129,121,196,84,72,28,2          // vpinsrw       $0x2,0x1c(%r8,%r9,2),%xmm0,%xmm2
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  117,30                              // jne           a933 <_sk_load_tables_rgb_u16_be_hsw+0x1ce>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  197,241,239,201                     // vpxor         %xmm1,%xmm1,%xmm1
+  .byte  233,138,254,255,255                 // jmpq          a7ac <_sk_load_tables_rgb_u16_be_hsw+0x47>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  197,241,239,201                     // vpxor         %xmm1,%xmm1,%xmm1
+  .byte  197,233,239,210                     // vpxor         %xmm2,%xmm2,%xmm2
+  .byte  233,121,254,255,255                 // jmpq          a7ac <_sk_load_tables_rgb_u16_be_hsw+0x47>
+  .byte  196,129,121,110,68,72,30            // vmovd         0x1e(%r8,%r9,2),%xmm0
+  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
+  .byte  196,129,121,196,76,72,34,2          // vpinsrw       $0x2,0x22(%r8,%r9,2),%xmm0,%xmm1
+  .byte  72,131,255,7                        // cmp           $0x7,%rdi
+  .byte  114,25                              // jb            a966 <_sk_load_tables_rgb_u16_be_hsw+0x201>
+  .byte  196,129,121,110,68,72,36            // vmovd         0x24(%r8,%r9,2),%xmm0
+  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
+  .byte  196,129,121,196,68,72,40,2          // vpinsrw       $0x2,0x28(%r8,%r9,2),%xmm0,%xmm0
+  .byte  233,70,254,255,255                  // jmpq          a7ac <_sk_load_tables_rgb_u16_be_hsw+0x47>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  233,61,254,255,255                  // jmpq          a7ac <_sk_load_tables_rgb_u16_be_hsw+0x47>
+
+HIDDEN _sk_byte_tables_hsw
+.globl _sk_byte_tables_hsw
+FUNCTION(_sk_byte_tables_hsw)
+_sk_byte_tables_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,60,95,200                       // vmaxps        %ymm0,%ymm8,%ymm9
+  .byte  196,98,125,24,29,121,27,3,0         // vbroadcastss  0x31b79(%rip),%ymm11        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,65,52,93,211                    // vminps        %ymm11,%ymm9,%ymm10
+  .byte  196,98,125,24,13,151,27,3,0         // vbroadcastss  0x31b97(%rip),%ymm9        # 3c528 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  .byte  196,65,44,89,209                    // vmulps        %ymm9,%ymm10,%ymm10
+  .byte  196,65,125,91,210                   // vcvtps2dq     %ymm10,%ymm10
+  .byte  196,65,249,126,208                  // vmovq         %xmm10,%r8
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  76,139,16                           // mov           (%rax),%r10
+  .byte  71,15,182,12,10                     // movzbl        (%r10,%r9,1),%r9d
+  .byte  196,193,121,110,193                 // vmovd         %r9d,%xmm0
+  .byte  196,67,249,22,209,1                 // vpextrq       $0x1,%xmm10,%r9
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  71,15,182,4,2                       // movzbl        (%r10,%r8,1),%r8d
+  .byte  196,67,121,32,224,1                 // vpinsrb       $0x1,%r8d,%xmm0,%xmm12
+  .byte  69,137,200                          // mov           %r9d,%r8d
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  196,99,125,57,208,1                 // vextracti128  $0x1,%ymm10,%xmm0
+  .byte  71,15,182,4,2                       // movzbl        (%r10,%r8,1),%r8d
+  .byte  196,67,25,32,208,2                  // vpinsrb       $0x2,%r8d,%xmm12,%xmm10
+  .byte  196,193,249,126,192                 // vmovq         %xmm0,%r8
+  .byte  71,15,182,12,10                     // movzbl        (%r10,%r9,1),%r9d
+  .byte  196,67,41,32,209,3                  // vpinsrb       $0x3,%r9d,%xmm10,%xmm10
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  71,15,182,12,10                     // movzbl        (%r10,%r9,1),%r9d
+  .byte  196,67,41,32,209,4                  // vpinsrb       $0x4,%r9d,%xmm10,%xmm10
+  .byte  196,195,249,22,193,1                // vpextrq       $0x1,%xmm0,%r9
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  71,15,182,4,2                       // movzbl        (%r10,%r8,1),%r8d
+  .byte  196,195,41,32,192,5                 // vpinsrb       $0x5,%r8d,%xmm10,%xmm0
+  .byte  69,137,200                          // mov           %r9d,%r8d
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  71,15,182,4,2                       // movzbl        (%r10,%r8,1),%r8d
+  .byte  196,195,121,32,192,6                // vpinsrb       $0x6,%r8d,%xmm0,%xmm0
+  .byte  76,139,64,8                         // mov           0x8(%rax),%r8
+  .byte  71,15,182,12,10                     // movzbl        (%r10,%r9,1),%r9d
+  .byte  196,67,121,32,209,7                 // vpinsrb       $0x7,%r9d,%xmm0,%xmm10
+  .byte  197,188,95,193                      // vmaxps        %ymm1,%ymm8,%ymm0
+  .byte  196,193,124,93,195                  // vminps        %ymm11,%ymm0,%ymm0
+  .byte  196,193,124,89,193                  // vmulps        %ymm9,%ymm0,%ymm0
+  .byte  197,253,91,200                      // vcvtps2dq     %ymm0,%ymm1
+  .byte  196,193,249,126,201                 // vmovq         %xmm1,%r9
+  .byte  69,137,202                          // mov           %r9d,%r10d
+  .byte  71,15,182,20,16                     // movzbl        (%r8,%r10,1),%r10d
+  .byte  196,193,121,110,194                 // vmovd         %r10d,%xmm0
+  .byte  196,195,249,22,202,1                // vpextrq       $0x1,%xmm1,%r10
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  196,195,121,32,193,1                // vpinsrb       $0x1,%r9d,%xmm0,%xmm0
+  .byte  69,137,209                          // mov           %r10d,%r9d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,227,125,57,201,1                // vextracti128  $0x1,%ymm1,%xmm1
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  196,195,121,32,193,2                // vpinsrb       $0x2,%r9d,%xmm0,%xmm0
+  .byte  196,193,249,126,201                 // vmovq         %xmm1,%r9
+  .byte  71,15,182,20,16                     // movzbl        (%r8,%r10,1),%r10d
+  .byte  196,195,121,32,194,3                // vpinsrb       $0x3,%r10d,%xmm0,%xmm0
+  .byte  69,137,202                          // mov           %r9d,%r10d
+  .byte  71,15,182,20,16                     // movzbl        (%r8,%r10,1),%r10d
+  .byte  196,195,121,32,194,4                // vpinsrb       $0x4,%r10d,%xmm0,%xmm0
+  .byte  196,195,249,22,202,1                // vpextrq       $0x1,%xmm1,%r10
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  196,195,121,32,193,5                // vpinsrb       $0x5,%r9d,%xmm0,%xmm0
+  .byte  69,137,209                          // mov           %r10d,%r9d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  196,195,121,32,193,6                // vpinsrb       $0x6,%r9d,%xmm0,%xmm0
+  .byte  71,15,182,4,16                      // movzbl        (%r8,%r10,1),%r8d
+  .byte  196,195,121,32,200,7                // vpinsrb       $0x7,%r8d,%xmm0,%xmm1
+  .byte  76,139,64,16                        // mov           0x10(%rax),%r8
+  .byte  197,188,95,194                      // vmaxps        %ymm2,%ymm8,%ymm0
+  .byte  196,193,124,93,195                  // vminps        %ymm11,%ymm0,%ymm0
+  .byte  196,193,124,89,193                  // vmulps        %ymm9,%ymm0,%ymm0
+  .byte  197,253,91,208                      // vcvtps2dq     %ymm0,%ymm2
+  .byte  196,193,249,126,209                 // vmovq         %xmm2,%r9
+  .byte  69,137,202                          // mov           %r9d,%r10d
+  .byte  71,15,182,20,16                     // movzbl        (%r8,%r10,1),%r10d
+  .byte  196,193,121,110,194                 // vmovd         %r10d,%xmm0
+  .byte  196,195,249,22,210,1                // vpextrq       $0x1,%xmm2,%r10
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  196,195,121,32,193,1                // vpinsrb       $0x1,%r9d,%xmm0,%xmm0
+  .byte  69,137,209                          // mov           %r10d,%r9d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,227,125,57,210,1                // vextracti128  $0x1,%ymm2,%xmm2
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  196,195,121,32,193,2                // vpinsrb       $0x2,%r9d,%xmm0,%xmm0
+  .byte  196,193,249,126,209                 // vmovq         %xmm2,%r9
+  .byte  71,15,182,20,16                     // movzbl        (%r8,%r10,1),%r10d
+  .byte  196,195,121,32,194,3                // vpinsrb       $0x3,%r10d,%xmm0,%xmm0
+  .byte  69,137,202                          // mov           %r9d,%r10d
+  .byte  71,15,182,20,16                     // movzbl        (%r8,%r10,1),%r10d
+  .byte  196,195,121,32,194,4                // vpinsrb       $0x4,%r10d,%xmm0,%xmm0
+  .byte  196,195,249,22,210,1                // vpextrq       $0x1,%xmm2,%r10
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  196,195,121,32,193,5                // vpinsrb       $0x5,%r9d,%xmm0,%xmm0
+  .byte  69,137,209                          // mov           %r10d,%r9d
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  196,195,121,32,193,6                // vpinsrb       $0x6,%r9d,%xmm0,%xmm0
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  71,15,182,4,16                      // movzbl        (%r8,%r10,1),%r8d
+  .byte  196,195,121,32,208,7                // vpinsrb       $0x7,%r8d,%xmm0,%xmm2
+  .byte  76,139,72,24                        // mov           0x18(%rax),%r9
+  .byte  197,188,95,195                      // vmaxps        %ymm3,%ymm8,%ymm0
+  .byte  196,193,124,93,195                  // vminps        %ymm11,%ymm0,%ymm0
+  .byte  196,193,124,89,193                  // vmulps        %ymm9,%ymm0,%ymm0
+  .byte  197,253,91,192                      // vcvtps2dq     %ymm0,%ymm0
+  .byte  196,193,249,126,192                 // vmovq         %xmm0,%r8
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  65,15,182,4,1                       // movzbl        (%r9,%rax,1),%eax
+  .byte  197,249,110,216                     // vmovd         %eax,%xmm3
+  .byte  196,195,249,22,194,1                // vpextrq       $0x1,%xmm0,%r10
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  67,15,182,4,1                       // movzbl        (%r9,%r8,1),%eax
+  .byte  196,227,97,32,216,1                 // vpinsrb       $0x1,%eax,%xmm3,%xmm3
+  .byte  68,137,208                          // mov           %r10d,%eax
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,227,125,57,192,1                // vextracti128  $0x1,%ymm0,%xmm0
+  .byte  65,15,182,4,1                       // movzbl        (%r9,%rax,1),%eax
+  .byte  196,227,97,32,216,2                 // vpinsrb       $0x2,%eax,%xmm3,%xmm3
+  .byte  196,193,249,126,192                 // vmovq         %xmm0,%r8
+  .byte  67,15,182,4,17                      // movzbl        (%r9,%r10,1),%eax
+  .byte  196,227,97,32,216,3                 // vpinsrb       $0x3,%eax,%xmm3,%xmm3
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  65,15,182,4,1                       // movzbl        (%r9,%rax,1),%eax
+  .byte  196,227,97,32,216,4                 // vpinsrb       $0x4,%eax,%xmm3,%xmm3
+  .byte  196,195,249,22,194,1                // vpextrq       $0x1,%xmm0,%r10
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  67,15,182,4,1                       // movzbl        (%r9,%r8,1),%eax
+  .byte  196,227,97,32,192,5                 // vpinsrb       $0x5,%eax,%xmm3,%xmm0
+  .byte  68,137,208                          // mov           %r10d,%eax
+  .byte  65,15,182,4,1                       // movzbl        (%r9,%rax,1),%eax
+  .byte  196,227,121,32,216,6                // vpinsrb       $0x6,%eax,%xmm0,%xmm3
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  67,15,182,4,17                      // movzbl        (%r9,%r10,1),%eax
+  .byte  196,194,125,49,194                  // vpmovzxbd     %xmm10,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,98,125,24,5,77,25,3,0           // vbroadcastss  0x3194d(%rip),%ymm8        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
+  .byte  196,226,125,49,201                  // vpmovzxbd     %xmm1,%ymm1
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  196,193,116,89,200                  // vmulps        %ymm8,%ymm1,%ymm1
+  .byte  196,226,125,49,210                  // vpmovzxbd     %xmm2,%ymm2
+  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
+  .byte  196,193,108,89,208                  // vmulps        %ymm8,%ymm2,%ymm2
+  .byte  196,227,97,32,216,7                 // vpinsrb       $0x7,%eax,%xmm3,%xmm3
+  .byte  196,226,125,49,219                  // vpmovzxbd     %xmm3,%ymm3
+  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
+  .byte  196,193,100,89,216                  // vmulps        %ymm8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_byte_tables_rgb_hsw
+.globl _sk_byte_tables_rgb_hsw
+FUNCTION(_sk_byte_tables_rgb_hsw)
+_sk_byte_tables_rgb_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  68,139,64,24                        // mov           0x18(%rax),%r8d
+  .byte  65,255,200                          // dec           %r8d
+  .byte  196,65,121,110,192                  // vmovd         %r8d,%xmm8
+  .byte  196,66,125,88,192                   // vpbroadcastd  %xmm8,%ymm8
+  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
+  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
+  .byte  197,52,95,208                       // vmaxps        %ymm0,%ymm9,%ymm10
+  .byte  196,98,125,24,29,114,24,3,0         // vbroadcastss  0x31872(%rip),%ymm11        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,65,44,93,211                    // vminps        %ymm11,%ymm10,%ymm10
+  .byte  196,65,44,89,208                    // vmulps        %ymm8,%ymm10,%ymm10
+  .byte  196,65,125,91,210                   // vcvtps2dq     %ymm10,%ymm10
+  .byte  196,65,249,126,208                  // vmovq         %xmm10,%r8
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  76,139,16                           // mov           (%rax),%r10
+  .byte  71,15,182,12,10                     // movzbl        (%r10,%r9,1),%r9d
+  .byte  196,193,121,110,193                 // vmovd         %r9d,%xmm0
+  .byte  196,67,249,22,209,1                 // vpextrq       $0x1,%xmm10,%r9
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  71,15,182,4,2                       // movzbl        (%r10,%r8,1),%r8d
+  .byte  196,67,121,32,224,1                 // vpinsrb       $0x1,%r8d,%xmm0,%xmm12
+  .byte  69,137,200                          // mov           %r9d,%r8d
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  196,99,125,57,208,1                 // vextracti128  $0x1,%ymm10,%xmm0
+  .byte  71,15,182,4,2                       // movzbl        (%r10,%r8,1),%r8d
+  .byte  196,67,25,32,208,2                  // vpinsrb       $0x2,%r8d,%xmm12,%xmm10
+  .byte  196,193,249,126,192                 // vmovq         %xmm0,%r8
+  .byte  71,15,182,12,10                     // movzbl        (%r10,%r9,1),%r9d
+  .byte  196,67,41,32,209,3                  // vpinsrb       $0x3,%r9d,%xmm10,%xmm10
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  71,15,182,12,10                     // movzbl        (%r10,%r9,1),%r9d
+  .byte  196,67,41,32,209,4                  // vpinsrb       $0x4,%r9d,%xmm10,%xmm10
+  .byte  196,195,249,22,193,1                // vpextrq       $0x1,%xmm0,%r9
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  71,15,182,4,2                       // movzbl        (%r10,%r8,1),%r8d
+  .byte  196,195,41,32,192,5                 // vpinsrb       $0x5,%r8d,%xmm10,%xmm0
+  .byte  69,137,200                          // mov           %r9d,%r8d
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  71,15,182,4,2                       // movzbl        (%r10,%r8,1),%r8d
+  .byte  196,195,121,32,192,6                // vpinsrb       $0x6,%r8d,%xmm0,%xmm0
+  .byte  76,139,64,8                         // mov           0x8(%rax),%r8
+  .byte  71,15,182,12,10                     // movzbl        (%r10,%r9,1),%r9d
+  .byte  196,67,121,32,209,7                 // vpinsrb       $0x7,%r9d,%xmm0,%xmm10
+  .byte  197,180,95,193                      // vmaxps        %ymm1,%ymm9,%ymm0
+  .byte  196,193,124,93,195                  // vminps        %ymm11,%ymm0,%ymm0
+  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
+  .byte  197,253,91,200                      // vcvtps2dq     %ymm0,%ymm1
+  .byte  196,193,249,126,201                 // vmovq         %xmm1,%r9
+  .byte  69,137,202                          // mov           %r9d,%r10d
+  .byte  71,15,182,20,16                     // movzbl        (%r8,%r10,1),%r10d
+  .byte  196,193,121,110,194                 // vmovd         %r10d,%xmm0
+  .byte  196,195,249,22,202,1                // vpextrq       $0x1,%xmm1,%r10
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  196,195,121,32,193,1                // vpinsrb       $0x1,%r9d,%xmm0,%xmm0
+  .byte  69,137,209                          // mov           %r10d,%r9d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,227,125,57,201,1                // vextracti128  $0x1,%ymm1,%xmm1
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  196,195,121,32,193,2                // vpinsrb       $0x2,%r9d,%xmm0,%xmm0
+  .byte  196,193,249,126,201                 // vmovq         %xmm1,%r9
+  .byte  71,15,182,20,16                     // movzbl        (%r8,%r10,1),%r10d
+  .byte  196,195,121,32,194,3                // vpinsrb       $0x3,%r10d,%xmm0,%xmm0
+  .byte  69,137,202                          // mov           %r9d,%r10d
+  .byte  71,15,182,20,16                     // movzbl        (%r8,%r10,1),%r10d
+  .byte  196,195,121,32,194,4                // vpinsrb       $0x4,%r10d,%xmm0,%xmm0
+  .byte  196,195,249,22,202,1                // vpextrq       $0x1,%xmm1,%r10
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  196,195,121,32,193,5                // vpinsrb       $0x5,%r9d,%xmm0,%xmm0
+  .byte  69,137,209                          // mov           %r10d,%r9d
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  196,195,121,32,193,6                // vpinsrb       $0x6,%r9d,%xmm0,%xmm0
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  71,15,182,4,16                      // movzbl        (%r8,%r10,1),%r8d
+  .byte  196,195,121,32,200,7                // vpinsrb       $0x7,%r8d,%xmm0,%xmm1
+  .byte  76,139,72,16                        // mov           0x10(%rax),%r9
+  .byte  197,180,95,194                      // vmaxps        %ymm2,%ymm9,%ymm0
+  .byte  196,193,124,93,195                  // vminps        %ymm11,%ymm0,%ymm0
+  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
+  .byte  197,253,91,192                      // vcvtps2dq     %ymm0,%ymm0
+  .byte  196,193,249,126,192                 // vmovq         %xmm0,%r8
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  65,15,182,4,1                       // movzbl        (%r9,%rax,1),%eax
+  .byte  197,249,110,208                     // vmovd         %eax,%xmm2
+  .byte  196,195,249,22,194,1                // vpextrq       $0x1,%xmm0,%r10
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  67,15,182,4,1                       // movzbl        (%r9,%r8,1),%eax
+  .byte  196,227,105,32,208,1                // vpinsrb       $0x1,%eax,%xmm2,%xmm2
+  .byte  68,137,208                          // mov           %r10d,%eax
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,227,125,57,192,1                // vextracti128  $0x1,%ymm0,%xmm0
+  .byte  65,15,182,4,1                       // movzbl        (%r9,%rax,1),%eax
+  .byte  196,227,105,32,208,2                // vpinsrb       $0x2,%eax,%xmm2,%xmm2
+  .byte  196,193,249,126,192                 // vmovq         %xmm0,%r8
+  .byte  67,15,182,4,17                      // movzbl        (%r9,%r10,1),%eax
+  .byte  196,227,105,32,208,3                // vpinsrb       $0x3,%eax,%xmm2,%xmm2
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  65,15,182,4,1                       // movzbl        (%r9,%rax,1),%eax
+  .byte  196,227,105,32,208,4                // vpinsrb       $0x4,%eax,%xmm2,%xmm2
+  .byte  196,195,249,22,194,1                // vpextrq       $0x1,%xmm0,%r10
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  67,15,182,4,1                       // movzbl        (%r9,%r8,1),%eax
+  .byte  196,227,105,32,192,5                // vpinsrb       $0x5,%eax,%xmm2,%xmm0
+  .byte  68,137,208                          // mov           %r10d,%eax
+  .byte  65,15,182,4,1                       // movzbl        (%r9,%rax,1),%eax
+  .byte  196,227,121,32,208,6                // vpinsrb       $0x6,%eax,%xmm0,%xmm2
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  67,15,182,4,17                      // movzbl        (%r9,%r10,1),%eax
+  .byte  196,194,125,49,194                  // vpmovzxbd     %xmm10,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,98,125,24,5,246,22,3,0          // vbroadcastss  0x316f6(%rip),%ymm8        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
+  .byte  196,226,125,49,201                  // vpmovzxbd     %xmm1,%ymm1
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  196,193,116,89,200                  // vmulps        %ymm8,%ymm1,%ymm1
+  .byte  196,227,105,32,208,7                // vpinsrb       $0x7,%eax,%xmm2,%xmm2
+  .byte  196,226,125,49,210                  // vpmovzxbd     %xmm2,%ymm2
+  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
+  .byte  196,193,108,89,208                  // vmulps        %ymm8,%ymm2,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_table_r_hsw
+.globl _sk_table_r_hsw
+FUNCTION(_sk_table_r_hsw)
+_sk_table_r_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  139,64,8                            // mov           0x8(%rax),%eax
+  .byte  255,200                             // dec           %eax
+  .byte  197,121,110,192                     // vmovd         %eax,%xmm8
+  .byte  196,66,125,88,192                   // vpbroadcastd  %xmm8,%ymm8
+  .byte  196,65,124,91,200                   // vcvtdq2ps     %ymm8,%ymm9
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,188,95,192                      // vmaxps        %ymm0,%ymm8,%ymm0
+  .byte  196,98,125,24,21,41,22,3,0          // vbroadcastss  0x31629(%rip),%ymm10        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,193,124,93,194                  // vminps        %ymm10,%ymm0,%ymm0
+  .byte  196,193,124,89,193                  // vmulps        %ymm9,%ymm0,%ymm0
+  .byte  197,253,91,192                      // vcvtps2dq     %ymm0,%ymm0
+  .byte  196,65,53,118,201                   // vpcmpeqd      %ymm9,%ymm9,%ymm9
+  .byte  196,66,53,146,4,128                 // vgatherdps    %ymm9,(%r8,%ymm0,4),%ymm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_table_g_hsw
+.globl _sk_table_g_hsw
+FUNCTION(_sk_table_g_hsw)
+_sk_table_g_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  139,64,8                            // mov           0x8(%rax),%eax
+  .byte  255,200                             // dec           %eax
+  .byte  197,121,110,192                     // vmovd         %eax,%xmm8
+  .byte  196,66,125,88,192                   // vpbroadcastd  %xmm8,%ymm8
+  .byte  196,65,124,91,200                   // vcvtdq2ps     %ymm8,%ymm9
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,188,95,201                      // vmaxps        %ymm1,%ymm8,%ymm1
+  .byte  196,98,125,24,21,222,21,3,0         // vbroadcastss  0x315de(%rip),%ymm10        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,193,116,93,202                  // vminps        %ymm10,%ymm1,%ymm1
+  .byte  196,193,116,89,201                  // vmulps        %ymm9,%ymm1,%ymm1
+  .byte  197,253,91,201                      // vcvtps2dq     %ymm1,%ymm1
+  .byte  196,65,53,118,201                   // vpcmpeqd      %ymm9,%ymm9,%ymm9
+  .byte  196,66,53,146,4,136                 // vgatherdps    %ymm9,(%r8,%ymm1,4),%ymm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,41,193                      // vmovaps       %ymm8,%ymm1
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_table_b_hsw
+.globl _sk_table_b_hsw
+FUNCTION(_sk_table_b_hsw)
+_sk_table_b_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  139,64,8                            // mov           0x8(%rax),%eax
+  .byte  255,200                             // dec           %eax
+  .byte  197,121,110,192                     // vmovd         %eax,%xmm8
+  .byte  196,66,125,88,192                   // vpbroadcastd  %xmm8,%ymm8
+  .byte  196,65,124,91,200                   // vcvtdq2ps     %ymm8,%ymm9
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,188,95,210                      // vmaxps        %ymm2,%ymm8,%ymm2
+  .byte  196,98,125,24,21,147,21,3,0         // vbroadcastss  0x31593(%rip),%ymm10        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,193,108,93,210                  // vminps        %ymm10,%ymm2,%ymm2
+  .byte  196,193,108,89,209                  // vmulps        %ymm9,%ymm2,%ymm2
+  .byte  197,253,91,210                      // vcvtps2dq     %ymm2,%ymm2
+  .byte  196,65,53,118,201                   // vpcmpeqd      %ymm9,%ymm9,%ymm9
+  .byte  196,66,53,146,4,144                 // vgatherdps    %ymm9,(%r8,%ymm2,4),%ymm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,41,194                      // vmovaps       %ymm8,%ymm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_table_a_hsw
+.globl _sk_table_a_hsw
+FUNCTION(_sk_table_a_hsw)
+_sk_table_a_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  139,64,8                            // mov           0x8(%rax),%eax
+  .byte  255,200                             // dec           %eax
+  .byte  197,121,110,192                     // vmovd         %eax,%xmm8
+  .byte  196,66,125,88,192                   // vpbroadcastd  %xmm8,%ymm8
+  .byte  196,65,124,91,200                   // vcvtdq2ps     %ymm8,%ymm9
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,188,95,219                      // vmaxps        %ymm3,%ymm8,%ymm3
+  .byte  196,98,125,24,21,72,21,3,0          // vbroadcastss  0x31548(%rip),%ymm10        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,193,100,93,218                  // vminps        %ymm10,%ymm3,%ymm3
+  .byte  196,193,100,89,217                  // vmulps        %ymm9,%ymm3,%ymm3
+  .byte  197,253,91,219                      // vcvtps2dq     %ymm3,%ymm3
+  .byte  196,65,53,118,201                   // vpcmpeqd      %ymm9,%ymm9,%ymm9
+  .byte  196,66,53,146,4,152                 // vgatherdps    %ymm9,(%r8,%ymm3,4),%ymm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,41,195                      // vmovaps       %ymm8,%ymm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_parametric_r_hsw
+.globl _sk_parametric_r_hsw
+FUNCTION(_sk_parametric_r_hsw)
+_sk_parametric_r_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,64,16                 // vbroadcastss  0x10(%rax),%ymm8
+  .byte  196,65,124,194,192,2                // vcmpleps      %ymm8,%ymm0,%ymm8
+  .byte  196,98,125,24,72,12                 // vbroadcastss  0xc(%rax),%ymm9
+  .byte  196,98,125,24,80,24                 // vbroadcastss  0x18(%rax),%ymm10
+  .byte  196,66,125,168,202                  // vfmadd213ps   %ymm10,%ymm0,%ymm9
+  .byte  196,98,125,24,88,4                  // vbroadcastss  0x4(%rax),%ymm11
+  .byte  196,98,125,24,80,8                  // vbroadcastss  0x8(%rax),%ymm10
+  .byte  196,66,125,168,218                  // vfmadd213ps   %ymm10,%ymm0,%ymm11
+  .byte  196,98,125,24,32                    // vbroadcastss  (%rax),%ymm12
+  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
+  .byte  197,36,194,208,0                    // vcmpeqps      %ymm0,%ymm11,%ymm10
+  .byte  196,65,124,91,235                   // vcvtdq2ps     %ymm11,%ymm13
+  .byte  196,98,125,24,53,115,21,3,0         // vbroadcastss  0x31573(%rip),%ymm14        # 3c594 <_sk_srcover_bgra_8888_sse2_lowp+0x348>
+  .byte  196,98,125,24,61,110,21,3,0         // vbroadcastss  0x3156e(%rip),%ymm15        # 3c598 <_sk_srcover_bgra_8888_sse2_lowp+0x34c>
+  .byte  196,65,36,84,223                    // vandps        %ymm15,%ymm11,%ymm11
+  .byte  196,98,125,24,61,192,20,3,0         // vbroadcastss  0x314c0(%rip),%ymm15        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  196,65,36,86,223                    // vorps         %ymm15,%ymm11,%ymm11
+  .byte  196,98,125,24,61,86,21,3,0          // vbroadcastss  0x31556(%rip),%ymm15        # 3c59c <_sk_srcover_bgra_8888_sse2_lowp+0x350>
+  .byte  196,66,21,184,254                   // vfmadd231ps   %ymm14,%ymm13,%ymm15
+  .byte  196,98,125,24,45,76,21,3,0          // vbroadcastss  0x3154c(%rip),%ymm13        # 3c5a0 <_sk_srcover_bgra_8888_sse2_lowp+0x354>
+  .byte  196,66,37,172,239                   // vfnmadd213ps  %ymm15,%ymm11,%ymm13
+  .byte  196,98,125,24,53,66,21,3,0          // vbroadcastss  0x31542(%rip),%ymm14        # 3c5a4 <_sk_srcover_bgra_8888_sse2_lowp+0x358>
+  .byte  196,65,36,88,222                    // vaddps        %ymm14,%ymm11,%ymm11
+  .byte  196,98,125,24,53,56,21,3,0          // vbroadcastss  0x31538(%rip),%ymm14        # 3c5a8 <_sk_srcover_bgra_8888_sse2_lowp+0x35c>
+  .byte  196,65,12,94,219                    // vdivps        %ymm11,%ymm14,%ymm11
+  .byte  196,65,20,92,219                    // vsubps        %ymm11,%ymm13,%ymm11
+  .byte  196,65,28,89,219                    // vmulps        %ymm11,%ymm12,%ymm11
+  .byte  196,67,125,8,227,1                  // vroundps      $0x1,%ymm11,%ymm12
+  .byte  196,65,36,92,228                    // vsubps        %ymm12,%ymm11,%ymm12
+  .byte  196,98,125,24,45,25,21,3,0          // vbroadcastss  0x31519(%rip),%ymm13        # 3c5ac <_sk_srcover_bgra_8888_sse2_lowp+0x360>
+  .byte  196,65,36,88,221                    // vaddps        %ymm13,%ymm11,%ymm11
+  .byte  196,98,125,24,45,15,21,3,0          // vbroadcastss  0x3150f(%rip),%ymm13        # 3c5b0 <_sk_srcover_bgra_8888_sse2_lowp+0x364>
+  .byte  196,66,29,172,235                   // vfnmadd213ps  %ymm11,%ymm12,%ymm13
+  .byte  196,98,125,24,29,5,21,3,0           // vbroadcastss  0x31505(%rip),%ymm11        # 3c5b4 <_sk_srcover_bgra_8888_sse2_lowp+0x368>
+  .byte  196,65,36,92,220                    // vsubps        %ymm12,%ymm11,%ymm11
+  .byte  196,98,125,24,37,251,20,3,0         // vbroadcastss  0x314fb(%rip),%ymm12        # 3c5b8 <_sk_srcover_bgra_8888_sse2_lowp+0x36c>
+  .byte  196,65,28,94,219                    // vdivps        %ymm11,%ymm12,%ymm11
+  .byte  196,65,20,88,219                    // vaddps        %ymm11,%ymm13,%ymm11
+  .byte  196,98,125,24,37,236,20,3,0         // vbroadcastss  0x314ec(%rip),%ymm12        # 3c5bc <_sk_srcover_bgra_8888_sse2_lowp+0x370>
+  .byte  196,65,36,89,220                    // vmulps        %ymm12,%ymm11,%ymm11
+  .byte  196,65,125,91,219                   // vcvtps2dq     %ymm11,%ymm11
+  .byte  196,99,37,74,208,160                // vblendvps     %ymm10,%ymm0,%ymm11,%ymm10
+  .byte  196,98,125,24,88,20                 // vbroadcastss  0x14(%rax),%ymm11
+  .byte  196,65,44,88,211                    // vaddps        %ymm11,%ymm10,%ymm10
+  .byte  196,67,45,74,193,128                // vblendvps     %ymm8,%ymm9,%ymm10,%ymm8
+  .byte  197,188,95,192                      // vmaxps        %ymm0,%ymm8,%ymm0
+  .byte  196,98,125,24,5,254,19,3,0          // vbroadcastss  0x313fe(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,193,124,93,192                  // vminps        %ymm8,%ymm0,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_parametric_g_hsw
+.globl _sk_parametric_g_hsw
+FUNCTION(_sk_parametric_g_hsw)
+_sk_parametric_g_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,64,16                 // vbroadcastss  0x10(%rax),%ymm8
+  .byte  196,65,116,194,192,2                // vcmpleps      %ymm8,%ymm1,%ymm8
+  .byte  196,98,125,24,72,12                 // vbroadcastss  0xc(%rax),%ymm9
+  .byte  196,98,125,24,80,24                 // vbroadcastss  0x18(%rax),%ymm10
+  .byte  196,66,117,168,202                  // vfmadd213ps   %ymm10,%ymm1,%ymm9
+  .byte  196,98,125,24,88,4                  // vbroadcastss  0x4(%rax),%ymm11
+  .byte  196,98,125,24,80,8                  // vbroadcastss  0x8(%rax),%ymm10
+  .byte  196,66,117,168,218                  // vfmadd213ps   %ymm10,%ymm1,%ymm11
+  .byte  196,98,125,24,32                    // vbroadcastss  (%rax),%ymm12
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  197,36,194,209,0                    // vcmpeqps      %ymm1,%ymm11,%ymm10
+  .byte  196,65,124,91,235                   // vcvtdq2ps     %ymm11,%ymm13
+  .byte  196,98,125,24,53,65,20,3,0          // vbroadcastss  0x31441(%rip),%ymm14        # 3c594 <_sk_srcover_bgra_8888_sse2_lowp+0x348>
+  .byte  196,98,125,24,61,60,20,3,0          // vbroadcastss  0x3143c(%rip),%ymm15        # 3c598 <_sk_srcover_bgra_8888_sse2_lowp+0x34c>
+  .byte  196,65,36,84,223                    // vandps        %ymm15,%ymm11,%ymm11
+  .byte  196,98,125,24,61,142,19,3,0         // vbroadcastss  0x3138e(%rip),%ymm15        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  196,65,36,86,223                    // vorps         %ymm15,%ymm11,%ymm11
+  .byte  196,98,125,24,61,36,20,3,0          // vbroadcastss  0x31424(%rip),%ymm15        # 3c59c <_sk_srcover_bgra_8888_sse2_lowp+0x350>
+  .byte  196,66,21,184,254                   // vfmadd231ps   %ymm14,%ymm13,%ymm15
+  .byte  196,98,125,24,45,26,20,3,0          // vbroadcastss  0x3141a(%rip),%ymm13        # 3c5a0 <_sk_srcover_bgra_8888_sse2_lowp+0x354>
+  .byte  196,66,37,172,239                   // vfnmadd213ps  %ymm15,%ymm11,%ymm13
+  .byte  196,98,125,24,53,16,20,3,0          // vbroadcastss  0x31410(%rip),%ymm14        # 3c5a4 <_sk_srcover_bgra_8888_sse2_lowp+0x358>
+  .byte  196,65,36,88,222                    // vaddps        %ymm14,%ymm11,%ymm11
+  .byte  196,98,125,24,53,6,20,3,0           // vbroadcastss  0x31406(%rip),%ymm14        # 3c5a8 <_sk_srcover_bgra_8888_sse2_lowp+0x35c>
+  .byte  196,65,12,94,219                    // vdivps        %ymm11,%ymm14,%ymm11
+  .byte  196,65,20,92,219                    // vsubps        %ymm11,%ymm13,%ymm11
+  .byte  196,65,28,89,219                    // vmulps        %ymm11,%ymm12,%ymm11
+  .byte  196,67,125,8,227,1                  // vroundps      $0x1,%ymm11,%ymm12
+  .byte  196,65,36,92,228                    // vsubps        %ymm12,%ymm11,%ymm12
+  .byte  196,98,125,24,45,231,19,3,0         // vbroadcastss  0x313e7(%rip),%ymm13        # 3c5ac <_sk_srcover_bgra_8888_sse2_lowp+0x360>
+  .byte  196,65,36,88,221                    // vaddps        %ymm13,%ymm11,%ymm11
+  .byte  196,98,125,24,45,221,19,3,0         // vbroadcastss  0x313dd(%rip),%ymm13        # 3c5b0 <_sk_srcover_bgra_8888_sse2_lowp+0x364>
+  .byte  196,66,29,172,235                   // vfnmadd213ps  %ymm11,%ymm12,%ymm13
+  .byte  196,98,125,24,29,211,19,3,0         // vbroadcastss  0x313d3(%rip),%ymm11        # 3c5b4 <_sk_srcover_bgra_8888_sse2_lowp+0x368>
+  .byte  196,65,36,92,220                    // vsubps        %ymm12,%ymm11,%ymm11
+  .byte  196,98,125,24,37,201,19,3,0         // vbroadcastss  0x313c9(%rip),%ymm12        # 3c5b8 <_sk_srcover_bgra_8888_sse2_lowp+0x36c>
+  .byte  196,65,28,94,219                    // vdivps        %ymm11,%ymm12,%ymm11
+  .byte  196,65,20,88,219                    // vaddps        %ymm11,%ymm13,%ymm11
+  .byte  196,98,125,24,37,186,19,3,0         // vbroadcastss  0x313ba(%rip),%ymm12        # 3c5bc <_sk_srcover_bgra_8888_sse2_lowp+0x370>
+  .byte  196,65,36,89,220                    // vmulps        %ymm12,%ymm11,%ymm11
+  .byte  196,65,125,91,219                   // vcvtps2dq     %ymm11,%ymm11
+  .byte  196,99,37,74,209,160                // vblendvps     %ymm10,%ymm1,%ymm11,%ymm10
+  .byte  196,98,125,24,88,20                 // vbroadcastss  0x14(%rax),%ymm11
+  .byte  196,65,44,88,211                    // vaddps        %ymm11,%ymm10,%ymm10
+  .byte  196,67,45,74,193,128                // vblendvps     %ymm8,%ymm9,%ymm10,%ymm8
+  .byte  197,188,95,201                      // vmaxps        %ymm1,%ymm8,%ymm1
+  .byte  196,98,125,24,5,204,18,3,0          // vbroadcastss  0x312cc(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,193,116,93,200                  // vminps        %ymm8,%ymm1,%ymm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_parametric_b_hsw
+.globl _sk_parametric_b_hsw
+FUNCTION(_sk_parametric_b_hsw)
+_sk_parametric_b_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,64,16                 // vbroadcastss  0x10(%rax),%ymm8
+  .byte  196,65,108,194,192,2                // vcmpleps      %ymm8,%ymm2,%ymm8
+  .byte  196,98,125,24,72,12                 // vbroadcastss  0xc(%rax),%ymm9
+  .byte  196,98,125,24,80,24                 // vbroadcastss  0x18(%rax),%ymm10
+  .byte  196,66,109,168,202                  // vfmadd213ps   %ymm10,%ymm2,%ymm9
+  .byte  196,98,125,24,88,4                  // vbroadcastss  0x4(%rax),%ymm11
+  .byte  196,98,125,24,80,8                  // vbroadcastss  0x8(%rax),%ymm10
+  .byte  196,66,109,168,218                  // vfmadd213ps   %ymm10,%ymm2,%ymm11
+  .byte  196,98,125,24,32                    // vbroadcastss  (%rax),%ymm12
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  197,36,194,210,0                    // vcmpeqps      %ymm2,%ymm11,%ymm10
+  .byte  196,65,124,91,235                   // vcvtdq2ps     %ymm11,%ymm13
+  .byte  196,98,125,24,53,15,19,3,0          // vbroadcastss  0x3130f(%rip),%ymm14        # 3c594 <_sk_srcover_bgra_8888_sse2_lowp+0x348>
+  .byte  196,98,125,24,61,10,19,3,0          // vbroadcastss  0x3130a(%rip),%ymm15        # 3c598 <_sk_srcover_bgra_8888_sse2_lowp+0x34c>
+  .byte  196,65,36,84,223                    // vandps        %ymm15,%ymm11,%ymm11
+  .byte  196,98,125,24,61,92,18,3,0          // vbroadcastss  0x3125c(%rip),%ymm15        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  196,65,36,86,223                    // vorps         %ymm15,%ymm11,%ymm11
+  .byte  196,98,125,24,61,242,18,3,0         // vbroadcastss  0x312f2(%rip),%ymm15        # 3c59c <_sk_srcover_bgra_8888_sse2_lowp+0x350>
+  .byte  196,66,21,184,254                   // vfmadd231ps   %ymm14,%ymm13,%ymm15
+  .byte  196,98,125,24,45,232,18,3,0         // vbroadcastss  0x312e8(%rip),%ymm13        # 3c5a0 <_sk_srcover_bgra_8888_sse2_lowp+0x354>
+  .byte  196,66,37,172,239                   // vfnmadd213ps  %ymm15,%ymm11,%ymm13
+  .byte  196,98,125,24,53,222,18,3,0         // vbroadcastss  0x312de(%rip),%ymm14        # 3c5a4 <_sk_srcover_bgra_8888_sse2_lowp+0x358>
+  .byte  196,65,36,88,222                    // vaddps        %ymm14,%ymm11,%ymm11
+  .byte  196,98,125,24,53,212,18,3,0         // vbroadcastss  0x312d4(%rip),%ymm14        # 3c5a8 <_sk_srcover_bgra_8888_sse2_lowp+0x35c>
+  .byte  196,65,12,94,219                    // vdivps        %ymm11,%ymm14,%ymm11
+  .byte  196,65,20,92,219                    // vsubps        %ymm11,%ymm13,%ymm11
+  .byte  196,65,28,89,219                    // vmulps        %ymm11,%ymm12,%ymm11
+  .byte  196,67,125,8,227,1                  // vroundps      $0x1,%ymm11,%ymm12
+  .byte  196,65,36,92,228                    // vsubps        %ymm12,%ymm11,%ymm12
+  .byte  196,98,125,24,45,181,18,3,0         // vbroadcastss  0x312b5(%rip),%ymm13        # 3c5ac <_sk_srcover_bgra_8888_sse2_lowp+0x360>
+  .byte  196,65,36,88,221                    // vaddps        %ymm13,%ymm11,%ymm11
+  .byte  196,98,125,24,45,171,18,3,0         // vbroadcastss  0x312ab(%rip),%ymm13        # 3c5b0 <_sk_srcover_bgra_8888_sse2_lowp+0x364>
+  .byte  196,66,29,172,235                   // vfnmadd213ps  %ymm11,%ymm12,%ymm13
+  .byte  196,98,125,24,29,161,18,3,0         // vbroadcastss  0x312a1(%rip),%ymm11        # 3c5b4 <_sk_srcover_bgra_8888_sse2_lowp+0x368>
+  .byte  196,65,36,92,220                    // vsubps        %ymm12,%ymm11,%ymm11
+  .byte  196,98,125,24,37,151,18,3,0         // vbroadcastss  0x31297(%rip),%ymm12        # 3c5b8 <_sk_srcover_bgra_8888_sse2_lowp+0x36c>
+  .byte  196,65,28,94,219                    // vdivps        %ymm11,%ymm12,%ymm11
+  .byte  196,65,20,88,219                    // vaddps        %ymm11,%ymm13,%ymm11
+  .byte  196,98,125,24,37,136,18,3,0         // vbroadcastss  0x31288(%rip),%ymm12        # 3c5bc <_sk_srcover_bgra_8888_sse2_lowp+0x370>
+  .byte  196,65,36,89,220                    // vmulps        %ymm12,%ymm11,%ymm11
+  .byte  196,65,125,91,219                   // vcvtps2dq     %ymm11,%ymm11
+  .byte  196,99,37,74,210,160                // vblendvps     %ymm10,%ymm2,%ymm11,%ymm10
+  .byte  196,98,125,24,88,20                 // vbroadcastss  0x14(%rax),%ymm11
+  .byte  196,65,44,88,211                    // vaddps        %ymm11,%ymm10,%ymm10
+  .byte  196,67,45,74,193,128                // vblendvps     %ymm8,%ymm9,%ymm10,%ymm8
+  .byte  197,188,95,210                      // vmaxps        %ymm2,%ymm8,%ymm2
+  .byte  196,98,125,24,5,154,17,3,0          // vbroadcastss  0x3119a(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,193,108,93,208                  // vminps        %ymm8,%ymm2,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_parametric_a_hsw
+.globl _sk_parametric_a_hsw
+FUNCTION(_sk_parametric_a_hsw)
+_sk_parametric_a_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,64,16                 // vbroadcastss  0x10(%rax),%ymm8
+  .byte  196,65,100,194,192,2                // vcmpleps      %ymm8,%ymm3,%ymm8
+  .byte  196,98,125,24,72,12                 // vbroadcastss  0xc(%rax),%ymm9
+  .byte  196,98,125,24,80,24                 // vbroadcastss  0x18(%rax),%ymm10
+  .byte  196,66,101,168,202                  // vfmadd213ps   %ymm10,%ymm3,%ymm9
+  .byte  196,98,125,24,88,4                  // vbroadcastss  0x4(%rax),%ymm11
+  .byte  196,98,125,24,80,8                  // vbroadcastss  0x8(%rax),%ymm10
+  .byte  196,66,101,168,218                  // vfmadd213ps   %ymm10,%ymm3,%ymm11
+  .byte  196,98,125,24,32                    // vbroadcastss  (%rax),%ymm12
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  197,36,194,211,0                    // vcmpeqps      %ymm3,%ymm11,%ymm10
+  .byte  196,65,124,91,235                   // vcvtdq2ps     %ymm11,%ymm13
+  .byte  196,98,125,24,53,221,17,3,0         // vbroadcastss  0x311dd(%rip),%ymm14        # 3c594 <_sk_srcover_bgra_8888_sse2_lowp+0x348>
+  .byte  196,98,125,24,61,216,17,3,0         // vbroadcastss  0x311d8(%rip),%ymm15        # 3c598 <_sk_srcover_bgra_8888_sse2_lowp+0x34c>
+  .byte  196,65,36,84,223                    // vandps        %ymm15,%ymm11,%ymm11
+  .byte  196,98,125,24,61,42,17,3,0          // vbroadcastss  0x3112a(%rip),%ymm15        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  196,65,36,86,223                    // vorps         %ymm15,%ymm11,%ymm11
+  .byte  196,98,125,24,61,192,17,3,0         // vbroadcastss  0x311c0(%rip),%ymm15        # 3c59c <_sk_srcover_bgra_8888_sse2_lowp+0x350>
+  .byte  196,66,21,184,254                   // vfmadd231ps   %ymm14,%ymm13,%ymm15
+  .byte  196,98,125,24,45,182,17,3,0         // vbroadcastss  0x311b6(%rip),%ymm13        # 3c5a0 <_sk_srcover_bgra_8888_sse2_lowp+0x354>
+  .byte  196,66,37,172,239                   // vfnmadd213ps  %ymm15,%ymm11,%ymm13
+  .byte  196,98,125,24,53,172,17,3,0         // vbroadcastss  0x311ac(%rip),%ymm14        # 3c5a4 <_sk_srcover_bgra_8888_sse2_lowp+0x358>
+  .byte  196,65,36,88,222                    // vaddps        %ymm14,%ymm11,%ymm11
+  .byte  196,98,125,24,53,162,17,3,0         // vbroadcastss  0x311a2(%rip),%ymm14        # 3c5a8 <_sk_srcover_bgra_8888_sse2_lowp+0x35c>
+  .byte  196,65,12,94,219                    // vdivps        %ymm11,%ymm14,%ymm11
+  .byte  196,65,20,92,219                    // vsubps        %ymm11,%ymm13,%ymm11
+  .byte  196,65,28,89,219                    // vmulps        %ymm11,%ymm12,%ymm11
+  .byte  196,67,125,8,227,1                  // vroundps      $0x1,%ymm11,%ymm12
+  .byte  196,65,36,92,228                    // vsubps        %ymm12,%ymm11,%ymm12
+  .byte  196,98,125,24,45,131,17,3,0         // vbroadcastss  0x31183(%rip),%ymm13        # 3c5ac <_sk_srcover_bgra_8888_sse2_lowp+0x360>
+  .byte  196,65,36,88,221                    // vaddps        %ymm13,%ymm11,%ymm11
+  .byte  196,98,125,24,45,121,17,3,0         // vbroadcastss  0x31179(%rip),%ymm13        # 3c5b0 <_sk_srcover_bgra_8888_sse2_lowp+0x364>
+  .byte  196,66,29,172,235                   // vfnmadd213ps  %ymm11,%ymm12,%ymm13
+  .byte  196,98,125,24,29,111,17,3,0         // vbroadcastss  0x3116f(%rip),%ymm11        # 3c5b4 <_sk_srcover_bgra_8888_sse2_lowp+0x368>
+  .byte  196,65,36,92,220                    // vsubps        %ymm12,%ymm11,%ymm11
+  .byte  196,98,125,24,37,101,17,3,0         // vbroadcastss  0x31165(%rip),%ymm12        # 3c5b8 <_sk_srcover_bgra_8888_sse2_lowp+0x36c>
+  .byte  196,65,28,94,219                    // vdivps        %ymm11,%ymm12,%ymm11
+  .byte  196,65,20,88,219                    // vaddps        %ymm11,%ymm13,%ymm11
+  .byte  196,98,125,24,37,86,17,3,0          // vbroadcastss  0x31156(%rip),%ymm12        # 3c5bc <_sk_srcover_bgra_8888_sse2_lowp+0x370>
+  .byte  196,65,36,89,220                    // vmulps        %ymm12,%ymm11,%ymm11
+  .byte  196,65,125,91,219                   // vcvtps2dq     %ymm11,%ymm11
+  .byte  196,99,37,74,211,160                // vblendvps     %ymm10,%ymm3,%ymm11,%ymm10
+  .byte  196,98,125,24,88,20                 // vbroadcastss  0x14(%rax),%ymm11
+  .byte  196,65,44,88,211                    // vaddps        %ymm11,%ymm10,%ymm10
+  .byte  196,67,45,74,193,128                // vblendvps     %ymm8,%ymm9,%ymm10,%ymm8
+  .byte  197,188,95,219                      // vmaxps        %ymm3,%ymm8,%ymm3
+  .byte  196,98,125,24,5,104,16,3,0          // vbroadcastss  0x31068(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,193,100,93,216                  // vminps        %ymm8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_gamma_hsw
+.globl _sk_gamma_hsw
+FUNCTION(_sk_gamma_hsw)
+_sk_gamma_hsw:
+  .byte  72,129,236,248,0,0,0                // sub           $0xf8,%rsp
+  .byte  197,252,17,188,36,192,0,0,0         // vmovups       %ymm7,0xc0(%rsp)
+  .byte  197,252,17,180,36,160,0,0,0         // vmovups       %ymm6,0xa0(%rsp)
+  .byte  197,252,17,172,36,128,0,0,0         // vmovups       %ymm5,0x80(%rsp)
+  .byte  197,252,17,100,36,96                // vmovups       %ymm4,0x60(%rsp)
+  .byte  197,252,17,92,36,64                 // vmovups       %ymm3,0x40(%rsp)
+  .byte  197,252,17,84,36,224                // vmovups       %ymm2,-0x20(%rsp)
+  .byte  197,252,17,12,36                    // vmovups       %ymm1,(%rsp)
+  .byte  197,124,91,208                      // vcvtdq2ps     %ymm0,%ymm10
+  .byte  196,98,125,24,29,177,16,3,0         // vbroadcastss  0x310b1(%rip),%ymm11        # 3c594 <_sk_srcover_bgra_8888_sse2_lowp+0x348>
+  .byte  196,226,125,24,37,172,16,3,0        // vbroadcastss  0x310ac(%rip),%ymm4        # 3c598 <_sk_srcover_bgra_8888_sse2_lowp+0x34c>
+  .byte  197,124,84,228                      // vandps        %ymm4,%ymm0,%ymm12
+  .byte  196,226,125,24,29,255,15,3,0        // vbroadcastss  0x30fff(%rip),%ymm3        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  197,252,17,92,36,32                 // vmovups       %ymm3,0x20(%rsp)
+  .byte  197,28,86,227                       // vorps         %ymm3,%ymm12,%ymm12
+  .byte  196,98,125,24,45,144,16,3,0         // vbroadcastss  0x31090(%rip),%ymm13        # 3c59c <_sk_srcover_bgra_8888_sse2_lowp+0x350>
+  .byte  196,66,37,168,213                   // vfmadd213ps   %ymm13,%ymm11,%ymm10
+  .byte  197,124,91,241                      // vcvtdq2ps     %ymm1,%ymm14
+  .byte  196,66,37,168,245                   // vfmadd213ps   %ymm13,%ymm11,%ymm14
+  .byte  197,124,91,250                      // vcvtdq2ps     %ymm2,%ymm15
+  .byte  196,66,37,168,253                   // vfmadd213ps   %ymm13,%ymm11,%ymm15
+  .byte  196,226,125,24,45,116,16,3,0        // vbroadcastss  0x31074(%rip),%ymm5        # 3c5a0 <_sk_srcover_bgra_8888_sse2_lowp+0x354>
+  .byte  196,98,29,188,213                   // vfnmadd231ps  %ymm5,%ymm12,%ymm10
+  .byte  196,226,125,24,13,106,16,3,0        // vbroadcastss  0x3106a(%rip),%ymm1        # 3c5a4 <_sk_srcover_bgra_8888_sse2_lowp+0x358>
+  .byte  197,252,17,76,36,160                // vmovups       %ymm1,-0x60(%rsp)
+  .byte  197,28,88,225                       // vaddps        %ymm1,%ymm12,%ymm12
+  .byte  196,98,125,24,5,91,16,3,0           // vbroadcastss  0x3105b(%rip),%ymm8        # 3c5a8 <_sk_srcover_bgra_8888_sse2_lowp+0x35c>
+  .byte  196,65,60,94,228                    // vdivps        %ymm12,%ymm8,%ymm12
+  .byte  197,124,17,68,36,128                // vmovups       %ymm8,-0x80(%rsp)
+  .byte  196,65,44,92,212                    // vsubps        %ymm12,%ymm10,%ymm10
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,40                    // vbroadcastss  (%rax),%ymm13
+  .byte  196,65,44,89,213                    // vmulps        %ymm13,%ymm10,%ymm10
+  .byte  196,195,125,8,250,1                 // vroundps      $0x1,%ymm10,%ymm7
+  .byte  197,172,92,255                      // vsubps        %ymm7,%ymm10,%ymm7
+  .byte  196,98,125,24,29,48,16,3,0          // vbroadcastss  0x31030(%rip),%ymm11        # 3c5ac <_sk_srcover_bgra_8888_sse2_lowp+0x360>
+  .byte  196,65,44,88,211                    // vaddps        %ymm11,%ymm10,%ymm10
+  .byte  196,98,125,24,37,38,16,3,0          // vbroadcastss  0x31026(%rip),%ymm12        # 3c5b0 <_sk_srcover_bgra_8888_sse2_lowp+0x364>
+  .byte  196,66,69,188,212                   // vfnmadd231ps  %ymm12,%ymm7,%ymm10
+  .byte  196,98,125,24,13,28,16,3,0          // vbroadcastss  0x3101c(%rip),%ymm9        # 3c5b4 <_sk_srcover_bgra_8888_sse2_lowp+0x368>
+  .byte  197,180,92,255                      // vsubps        %ymm7,%ymm9,%ymm7
+  .byte  196,226,125,24,13,19,16,3,0         // vbroadcastss  0x31013(%rip),%ymm1        # 3c5b8 <_sk_srcover_bgra_8888_sse2_lowp+0x36c>
+  .byte  197,244,94,255                      // vdivps        %ymm7,%ymm1,%ymm7
+  .byte  197,172,88,255                      // vaddps        %ymm7,%ymm10,%ymm7
+  .byte  196,65,44,87,210                    // vxorps        %ymm10,%ymm10,%ymm10
+  .byte  196,193,124,194,242,0               // vcmpeqps      %ymm10,%ymm0,%ymm6
+  .byte  196,226,125,24,29,251,15,3,0        // vbroadcastss  0x30ffb(%rip),%ymm3        # 3c5bc <_sk_srcover_bgra_8888_sse2_lowp+0x370>
+  .byte  197,196,89,251                      // vmulps        %ymm3,%ymm7,%ymm7
+  .byte  197,253,91,255                      // vcvtps2dq     %ymm7,%ymm7
+  .byte  196,195,69,74,194,96                // vblendvps     %ymm6,%ymm10,%ymm7,%ymm0
+  .byte  197,252,17,68,36,192                // vmovups       %ymm0,-0x40(%rsp)
+  .byte  197,252,16,4,36                     // vmovups       (%rsp),%ymm0
+  .byte  197,252,84,244                      // vandps        %ymm4,%ymm0,%ymm6
+  .byte  197,252,16,84,36,32                 // vmovups       0x20(%rsp),%ymm2
+  .byte  197,204,86,242                      // vorps         %ymm2,%ymm6,%ymm6
+  .byte  196,98,77,188,245                   // vfnmadd231ps  %ymm5,%ymm6,%ymm14
+  .byte  197,252,16,124,36,160               // vmovups       -0x60(%rsp),%ymm7
+  .byte  197,204,88,247                      // vaddps        %ymm7,%ymm6,%ymm6
+  .byte  197,188,94,246                      // vdivps        %ymm6,%ymm8,%ymm6
+  .byte  197,140,92,246                      // vsubps        %ymm6,%ymm14,%ymm6
+  .byte  196,193,76,89,245                   // vmulps        %ymm13,%ymm6,%ymm6
+  .byte  196,99,125,8,246,1                  // vroundps      $0x1,%ymm6,%ymm14
+  .byte  196,65,76,92,246                    // vsubps        %ymm14,%ymm6,%ymm14
+  .byte  196,193,76,88,243                   // vaddps        %ymm11,%ymm6,%ymm6
+  .byte  196,194,13,188,244                  // vfnmadd231ps  %ymm12,%ymm14,%ymm6
+  .byte  196,65,52,92,246                    // vsubps        %ymm14,%ymm9,%ymm14
+  .byte  196,65,116,94,246                   // vdivps        %ymm14,%ymm1,%ymm14
+  .byte  196,193,76,88,246                   // vaddps        %ymm14,%ymm6,%ymm6
+  .byte  196,65,124,194,242,0                // vcmpeqps      %ymm10,%ymm0,%ymm14
+  .byte  197,204,89,243                      // vmulps        %ymm3,%ymm6,%ymm6
+  .byte  197,253,91,246                      // vcvtps2dq     %ymm6,%ymm6
+  .byte  196,195,77,74,242,224               // vblendvps     %ymm14,%ymm10,%ymm6,%ymm6
+  .byte  197,124,16,116,36,224               // vmovups       -0x20(%rsp),%ymm14
+  .byte  197,12,84,196                       // vandps        %ymm4,%ymm14,%ymm8
+  .byte  197,60,86,194                       // vorps         %ymm2,%ymm8,%ymm8
+  .byte  196,98,61,188,253                   // vfnmadd231ps  %ymm5,%ymm8,%ymm15
+  .byte  197,60,88,199                       // vaddps        %ymm7,%ymm8,%ymm8
+  .byte  197,252,16,68,36,128                // vmovups       -0x80(%rsp),%ymm0
+  .byte  196,193,124,94,232                  // vdivps        %ymm8,%ymm0,%ymm5
+  .byte  197,132,92,237                      // vsubps        %ymm5,%ymm15,%ymm5
+  .byte  196,193,84,89,237                   // vmulps        %ymm13,%ymm5,%ymm5
+  .byte  196,99,125,8,197,1                  // vroundps      $0x1,%ymm5,%ymm8
+  .byte  196,65,84,92,192                    // vsubps        %ymm8,%ymm5,%ymm8
+  .byte  196,193,84,88,227                   // vaddps        %ymm11,%ymm5,%ymm4
+  .byte  196,194,61,188,228                  // vfnmadd231ps  %ymm12,%ymm8,%ymm4
+  .byte  196,193,52,92,208                   // vsubps        %ymm8,%ymm9,%ymm2
+  .byte  197,244,94,202                      // vdivps        %ymm2,%ymm1,%ymm1
+  .byte  197,220,88,201                      // vaddps        %ymm1,%ymm4,%ymm1
+  .byte  197,244,89,195                      // vmulps        %ymm3,%ymm1,%ymm0
+  .byte  196,193,12,194,202,0                // vcmpeqps      %ymm10,%ymm14,%ymm1
+  .byte  197,253,91,192                      // vcvtps2dq     %ymm0,%ymm0
+  .byte  196,195,125,74,210,16               // vblendvps     %ymm1,%ymm10,%ymm0,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,16,68,36,192                // vmovups       -0x40(%rsp),%ymm0
+  .byte  197,252,40,206                      // vmovaps       %ymm6,%ymm1
+  .byte  197,252,16,92,36,64                 // vmovups       0x40(%rsp),%ymm3
+  .byte  197,252,16,100,36,96                // vmovups       0x60(%rsp),%ymm4
+  .byte  197,252,16,172,36,128,0,0,0         // vmovups       0x80(%rsp),%ymm5
+  .byte  197,252,16,180,36,160,0,0,0         // vmovups       0xa0(%rsp),%ymm6
+  .byte  197,252,16,188,36,192,0,0,0         // vmovups       0xc0(%rsp),%ymm7
+  .byte  72,129,196,248,0,0,0                // add           $0xf8,%rsp
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_gamma_dst_hsw
+.globl _sk_gamma_dst_hsw
+FUNCTION(_sk_gamma_dst_hsw)
+_sk_gamma_dst_hsw:
+  .byte  72,129,236,216,0,0,0                // sub           $0xd8,%rsp
+  .byte  197,252,17,188,36,160,0,0,0         // vmovups       %ymm7,0xa0(%rsp)
+  .byte  197,252,17,116,36,128               // vmovups       %ymm6,-0x80(%rsp)
+  .byte  197,252,17,156,36,128,0,0,0         // vmovups       %ymm3,0x80(%rsp)
+  .byte  197,252,17,84,36,96                 // vmovups       %ymm2,0x60(%rsp)
+  .byte  197,252,17,76,36,64                 // vmovups       %ymm1,0x40(%rsp)
+  .byte  197,252,17,68,36,32                 // vmovups       %ymm0,0x20(%rsp)
+  .byte  197,124,91,212                      // vcvtdq2ps     %ymm4,%ymm10
+  .byte  196,98,125,24,29,125,14,3,0         // vbroadcastss  0x30e7d(%rip),%ymm11        # 3c594 <_sk_srcover_bgra_8888_sse2_lowp+0x348>
+  .byte  196,226,125,24,5,120,14,3,0         // vbroadcastss  0x30e78(%rip),%ymm0        # 3c598 <_sk_srcover_bgra_8888_sse2_lowp+0x34c>
+  .byte  197,92,84,224                       // vandps        %ymm0,%ymm4,%ymm12
+  .byte  197,252,40,208                      // vmovaps       %ymm0,%ymm2
+  .byte  197,252,40,220                      // vmovaps       %ymm4,%ymm3
+  .byte  196,226,125,24,5,195,13,3,0         // vbroadcastss  0x30dc3(%rip),%ymm0        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  197,252,17,4,36                     // vmovups       %ymm0,(%rsp)
+  .byte  197,28,86,224                       // vorps         %ymm0,%ymm12,%ymm12
+  .byte  196,98,125,24,45,85,14,3,0          // vbroadcastss  0x30e55(%rip),%ymm13        # 3c59c <_sk_srcover_bgra_8888_sse2_lowp+0x350>
+  .byte  196,66,37,168,213                   // vfmadd213ps   %ymm13,%ymm11,%ymm10
+  .byte  197,252,40,197                      // vmovaps       %ymm5,%ymm0
+  .byte  197,124,91,240                      // vcvtdq2ps     %ymm0,%ymm14
+  .byte  196,66,37,168,245                   // vfmadd213ps   %ymm13,%ymm11,%ymm14
+  .byte  197,124,91,124,36,128               // vcvtdq2ps     -0x80(%rsp),%ymm15
+  .byte  196,66,37,168,253                   // vfmadd213ps   %ymm13,%ymm11,%ymm15
+  .byte  196,226,125,24,45,51,14,3,0         // vbroadcastss  0x30e33(%rip),%ymm5        # 3c5a0 <_sk_srcover_bgra_8888_sse2_lowp+0x354>
+  .byte  196,98,29,188,213                   // vfnmadd231ps  %ymm5,%ymm12,%ymm10
+  .byte  196,226,125,24,13,41,14,3,0         // vbroadcastss  0x30e29(%rip),%ymm1        # 3c5a4 <_sk_srcover_bgra_8888_sse2_lowp+0x358>
+  .byte  197,252,17,76,36,192                // vmovups       %ymm1,-0x40(%rsp)
+  .byte  197,28,88,225                       // vaddps        %ymm1,%ymm12,%ymm12
+  .byte  196,98,125,24,13,26,14,3,0          // vbroadcastss  0x30e1a(%rip),%ymm9        # 3c5a8 <_sk_srcover_bgra_8888_sse2_lowp+0x35c>
+  .byte  196,65,52,94,228                    // vdivps        %ymm12,%ymm9,%ymm12
+  .byte  197,124,17,76,36,160                // vmovups       %ymm9,-0x60(%rsp)
+  .byte  196,65,44,92,212                    // vsubps        %ymm12,%ymm10,%ymm10
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,40                    // vbroadcastss  (%rax),%ymm13
+  .byte  196,65,44,89,213                    // vmulps        %ymm13,%ymm10,%ymm10
+  .byte  196,195,125,8,250,1                 // vroundps      $0x1,%ymm10,%ymm7
+  .byte  197,172,92,255                      // vsubps        %ymm7,%ymm10,%ymm7
+  .byte  196,98,125,24,29,239,13,3,0         // vbroadcastss  0x30def(%rip),%ymm11        # 3c5ac <_sk_srcover_bgra_8888_sse2_lowp+0x360>
+  .byte  196,65,44,88,211                    // vaddps        %ymm11,%ymm10,%ymm10
+  .byte  196,98,125,24,37,229,13,3,0         // vbroadcastss  0x30de5(%rip),%ymm12        # 3c5b0 <_sk_srcover_bgra_8888_sse2_lowp+0x364>
+  .byte  196,66,69,188,212                   // vfnmadd231ps  %ymm12,%ymm7,%ymm10
+  .byte  196,98,125,24,5,219,13,3,0          // vbroadcastss  0x30ddb(%rip),%ymm8        # 3c5b4 <_sk_srcover_bgra_8888_sse2_lowp+0x368>
+  .byte  197,188,92,255                      // vsubps        %ymm7,%ymm8,%ymm7
+  .byte  196,226,125,24,13,210,13,3,0        // vbroadcastss  0x30dd2(%rip),%ymm1        # 3c5b8 <_sk_srcover_bgra_8888_sse2_lowp+0x36c>
+  .byte  197,244,94,255                      // vdivps        %ymm7,%ymm1,%ymm7
+  .byte  197,172,88,255                      // vaddps        %ymm7,%ymm10,%ymm7
+  .byte  196,65,44,87,210                    // vxorps        %ymm10,%ymm10,%ymm10
+  .byte  196,193,100,194,242,0               // vcmpeqps      %ymm10,%ymm3,%ymm6
+  .byte  196,226,125,24,29,186,13,3,0        // vbroadcastss  0x30dba(%rip),%ymm3        # 3c5bc <_sk_srcover_bgra_8888_sse2_lowp+0x370>
+  .byte  197,196,89,251                      // vmulps        %ymm3,%ymm7,%ymm7
+  .byte  197,253,91,255                      // vcvtps2dq     %ymm7,%ymm7
+  .byte  196,195,69,74,226,96                // vblendvps     %ymm6,%ymm10,%ymm7,%ymm4
+  .byte  197,252,17,100,36,224               // vmovups       %ymm4,-0x20(%rsp)
+  .byte  197,252,40,226                      // vmovaps       %ymm2,%ymm4
+  .byte  197,252,84,244                      // vandps        %ymm4,%ymm0,%ymm6
+  .byte  197,252,16,20,36                    // vmovups       (%rsp),%ymm2
+  .byte  197,204,86,242                      // vorps         %ymm2,%ymm6,%ymm6
+  .byte  196,98,77,188,245                   // vfnmadd231ps  %ymm5,%ymm6,%ymm14
+  .byte  197,252,16,124,36,192               // vmovups       -0x40(%rsp),%ymm7
+  .byte  197,204,88,247                      // vaddps        %ymm7,%ymm6,%ymm6
+  .byte  197,180,94,246                      // vdivps        %ymm6,%ymm9,%ymm6
+  .byte  197,140,92,246                      // vsubps        %ymm6,%ymm14,%ymm6
+  .byte  196,193,76,89,245                   // vmulps        %ymm13,%ymm6,%ymm6
+  .byte  196,99,125,8,246,1                  // vroundps      $0x1,%ymm6,%ymm14
+  .byte  196,65,76,92,246                    // vsubps        %ymm14,%ymm6,%ymm14
+  .byte  196,193,76,88,243                   // vaddps        %ymm11,%ymm6,%ymm6
+  .byte  196,194,13,188,244                  // vfnmadd231ps  %ymm12,%ymm14,%ymm6
+  .byte  196,65,60,92,246                    // vsubps        %ymm14,%ymm8,%ymm14
+  .byte  196,65,116,94,246                   // vdivps        %ymm14,%ymm1,%ymm14
+  .byte  196,193,76,88,246                   // vaddps        %ymm14,%ymm6,%ymm6
+  .byte  196,65,124,194,242,0                // vcmpeqps      %ymm10,%ymm0,%ymm14
+  .byte  197,204,89,243                      // vmulps        %ymm3,%ymm6,%ymm6
+  .byte  197,253,91,246                      // vcvtps2dq     %ymm6,%ymm6
+  .byte  196,67,77,74,242,224                // vblendvps     %ymm14,%ymm10,%ymm6,%ymm14
+  .byte  197,124,16,76,36,128                // vmovups       -0x80(%rsp),%ymm9
+  .byte  197,180,84,244                      // vandps        %ymm4,%ymm9,%ymm6
+  .byte  197,204,86,242                      // vorps         %ymm2,%ymm6,%ymm6
+  .byte  196,98,77,188,253                   // vfnmadd231ps  %ymm5,%ymm6,%ymm15
+  .byte  197,204,88,247                      // vaddps        %ymm7,%ymm6,%ymm6
+  .byte  197,252,16,68,36,160                // vmovups       -0x60(%rsp),%ymm0
+  .byte  197,252,94,238                      // vdivps        %ymm6,%ymm0,%ymm5
+  .byte  197,132,92,237                      // vsubps        %ymm5,%ymm15,%ymm5
+  .byte  196,193,84,89,237                   // vmulps        %ymm13,%ymm5,%ymm5
+  .byte  196,227,125,8,245,1                 // vroundps      $0x1,%ymm5,%ymm6
+  .byte  197,212,92,246                      // vsubps        %ymm6,%ymm5,%ymm6
+  .byte  196,193,84,88,227                   // vaddps        %ymm11,%ymm5,%ymm4
+  .byte  196,194,77,188,228                  // vfnmadd231ps  %ymm12,%ymm6,%ymm4
+  .byte  197,188,92,214                      // vsubps        %ymm6,%ymm8,%ymm2
+  .byte  197,244,94,202                      // vdivps        %ymm2,%ymm1,%ymm1
+  .byte  197,220,88,201                      // vaddps        %ymm1,%ymm4,%ymm1
+  .byte  197,244,89,195                      // vmulps        %ymm3,%ymm1,%ymm0
+  .byte  196,193,52,194,202,0                // vcmpeqps      %ymm10,%ymm9,%ymm1
+  .byte  197,253,91,192                      // vcvtps2dq     %ymm0,%ymm0
+  .byte  196,195,125,74,242,16               // vblendvps     %ymm1,%ymm10,%ymm0,%ymm6
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,16,68,36,32                 // vmovups       0x20(%rsp),%ymm0
+  .byte  197,252,16,76,36,64                 // vmovups       0x40(%rsp),%ymm1
+  .byte  197,252,16,84,36,96                 // vmovups       0x60(%rsp),%ymm2
+  .byte  197,252,16,156,36,128,0,0,0         // vmovups       0x80(%rsp),%ymm3
+  .byte  197,252,16,100,36,224               // vmovups       -0x20(%rsp),%ymm4
+  .byte  197,124,41,245                      // vmovaps       %ymm14,%ymm5
+  .byte  197,252,16,188,36,160,0,0,0         // vmovups       0xa0(%rsp),%ymm7
+  .byte  72,129,196,216,0,0,0                // add           $0xd8,%rsp
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_lab_to_xyz_hsw
+.globl _sk_lab_to_xyz_hsw
+FUNCTION(_sk_lab_to_xyz_hsw)
+_sk_lab_to_xyz_hsw:
+  .byte  196,98,125,24,5,165,12,3,0          // vbroadcastss  0x30ca5(%rip),%ymm8        # 3c5c0 <_sk_srcover_bgra_8888_sse2_lowp+0x374>
+  .byte  196,98,125,24,13,4,12,3,0           // vbroadcastss  0x30c04(%rip),%ymm9        # 3c528 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  .byte  196,98,125,24,21,151,12,3,0         // vbroadcastss  0x30c97(%rip),%ymm10        # 3c5c4 <_sk_srcover_bgra_8888_sse2_lowp+0x378>
+  .byte  196,194,53,168,202                  // vfmadd213ps   %ymm10,%ymm9,%ymm1
+  .byte  196,194,53,168,210                  // vfmadd213ps   %ymm10,%ymm9,%ymm2
+  .byte  196,98,125,24,13,136,12,3,0         // vbroadcastss  0x30c88(%rip),%ymm9        # 3c5c8 <_sk_srcover_bgra_8888_sse2_lowp+0x37c>
+  .byte  196,66,125,184,200                  // vfmadd231ps   %ymm8,%ymm0,%ymm9
+  .byte  196,226,125,24,5,126,12,3,0         // vbroadcastss  0x30c7e(%rip),%ymm0        # 3c5cc <_sk_srcover_bgra_8888_sse2_lowp+0x380>
+  .byte  197,180,89,192                      // vmulps        %ymm0,%ymm9,%ymm0
+  .byte  196,98,125,24,5,117,12,3,0          // vbroadcastss  0x30c75(%rip),%ymm8        # 3c5d0 <_sk_srcover_bgra_8888_sse2_lowp+0x384>
+  .byte  196,98,117,168,192                  // vfmadd213ps   %ymm0,%ymm1,%ymm8
+  .byte  196,98,125,24,13,107,12,3,0         // vbroadcastss  0x30c6b(%rip),%ymm9        # 3c5d4 <_sk_srcover_bgra_8888_sse2_lowp+0x388>
+  .byte  196,98,109,172,200                  // vfnmadd213ps  %ymm0,%ymm2,%ymm9
+  .byte  196,193,60,89,200                   // vmulps        %ymm8,%ymm8,%ymm1
+  .byte  197,188,89,201                      // vmulps        %ymm1,%ymm8,%ymm1
+  .byte  196,226,125,24,21,88,12,3,0         // vbroadcastss  0x30c58(%rip),%ymm2        # 3c5d8 <_sk_srcover_bgra_8888_sse2_lowp+0x38c>
+  .byte  197,108,194,209,1                   // vcmpltps      %ymm1,%ymm2,%ymm10
+  .byte  196,98,125,24,29,78,12,3,0          // vbroadcastss  0x30c4e(%rip),%ymm11        # 3c5dc <_sk_srcover_bgra_8888_sse2_lowp+0x390>
+  .byte  196,65,60,88,195                    // vaddps        %ymm11,%ymm8,%ymm8
+  .byte  196,98,125,24,37,68,12,3,0          // vbroadcastss  0x30c44(%rip),%ymm12        # 3c5e0 <_sk_srcover_bgra_8888_sse2_lowp+0x394>
+  .byte  196,65,60,89,196                    // vmulps        %ymm12,%ymm8,%ymm8
+  .byte  196,99,61,74,193,160                // vblendvps     %ymm10,%ymm1,%ymm8,%ymm8
+  .byte  197,252,89,200                      // vmulps        %ymm0,%ymm0,%ymm1
+  .byte  197,252,89,201                      // vmulps        %ymm1,%ymm0,%ymm1
+  .byte  197,108,194,209,1                   // vcmpltps      %ymm1,%ymm2,%ymm10
+  .byte  196,193,124,88,195                  // vaddps        %ymm11,%ymm0,%ymm0
+  .byte  196,193,124,89,196                  // vmulps        %ymm12,%ymm0,%ymm0
+  .byte  196,227,125,74,201,160              // vblendvps     %ymm10,%ymm1,%ymm0,%ymm1
+  .byte  196,193,52,89,193                   // vmulps        %ymm9,%ymm9,%ymm0
+  .byte  197,180,89,192                      // vmulps        %ymm0,%ymm9,%ymm0
+  .byte  197,236,194,208,1                   // vcmpltps      %ymm0,%ymm2,%ymm2
+  .byte  196,65,52,88,203                    // vaddps        %ymm11,%ymm9,%ymm9
+  .byte  196,65,52,89,204                    // vmulps        %ymm12,%ymm9,%ymm9
+  .byte  196,227,53,74,208,32                // vblendvps     %ymm2,%ymm0,%ymm9,%ymm2
+  .byte  196,226,125,24,5,249,11,3,0         // vbroadcastss  0x30bf9(%rip),%ymm0        # 3c5e4 <_sk_srcover_bgra_8888_sse2_lowp+0x398>
+  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
+  .byte  196,98,125,24,5,240,11,3,0          // vbroadcastss  0x30bf0(%rip),%ymm8        # 3c5e8 <_sk_srcover_bgra_8888_sse2_lowp+0x39c>
+  .byte  196,193,108,89,208                  // vmulps        %ymm8,%ymm2,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_load_a8_hsw
+.globl _sk_load_a8_hsw
+FUNCTION(_sk_load_a8_hsw)
+_sk_load_a8_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,52                              // jne           ba47 <_sk_load_a8_hsw+0x46>
+  .byte  196,194,121,48,4,16                 // vpmovzxbw     (%r8,%rdx,1),%xmm0
+  .byte  197,249,219,5,143,20,3,0            // vpand         0x3148f(%rip),%xmm0,%xmm0        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  196,226,125,51,192                  // vpmovzxwd     %xmm0,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,226,125,24,13,65,11,3,0         // vbroadcastss  0x30b41(%rip),%ymm1        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  197,252,89,217                      // vmulps        %ymm1,%ymm0,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,196                             // ja            ba19 <_sk_load_a8_hsw+0x18>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,117,0,0,0                 // lea           0x75(%rip),%r9        # bad4 <_sk_load_a8_hsw+0xd3>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  197,249,110,192                     // vmovd         %eax,%xmm0
+  .byte  235,166                             // jmp           ba19 <_sk_load_a8_hsw+0x18>
+  .byte  65,15,182,68,16,2                   // movzbl        0x2(%r8,%rdx,1),%eax
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  197,249,196,192,2                   // vpinsrw       $0x2,%eax,%xmm0,%xmm0
+  .byte  65,15,183,4,16                      // movzwl        (%r8,%rdx,1),%eax
+  .byte  197,249,110,200                     // vmovd         %eax,%xmm1
+  .byte  196,226,121,48,201                  // vpmovzxbw     %xmm1,%xmm1
+  .byte  196,227,121,2,193,1                 // vpblendd      $0x1,%xmm1,%xmm0,%xmm0
+  .byte  235,129                             // jmp           ba19 <_sk_load_a8_hsw+0x18>
+  .byte  65,15,182,68,16,6                   // movzbl        0x6(%r8,%rdx,1),%eax
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  197,249,196,192,6                   // vpinsrw       $0x6,%eax,%xmm0,%xmm0
+  .byte  65,15,182,68,16,5                   // movzbl        0x5(%r8,%rdx,1),%eax
+  .byte  197,249,196,192,5                   // vpinsrw       $0x5,%eax,%xmm0,%xmm0
+  .byte  65,15,182,68,16,4                   // movzbl        0x4(%r8,%rdx,1),%eax
+  .byte  197,249,196,192,4                   // vpinsrw       $0x4,%eax,%xmm0,%xmm0
+  .byte  196,193,121,110,12,16               // vmovd         (%r8,%rdx,1),%xmm1
+  .byte  196,226,121,48,201                  // vpmovzxbw     %xmm1,%xmm1
+  .byte  196,227,113,2,192,12                // vpblendd      $0xc,%xmm0,%xmm1,%xmm0
+  .byte  233,70,255,255,255                  // jmpq          ba19 <_sk_load_a8_hsw+0x18>
+  .byte  144                                 // nop
+  .byte  148                                 // xchg          %eax,%esp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,174,255,255,255,159             // ljmp          *-0x60000001(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  233,255,255,255,222                 // jmpq          ffffffffdf00bae4 <_sk_srcover_bgra_8888_sse2_lowp+0xffffffffdefcf898>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,211                             // callq         *%rbx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,196                             // inc           %esp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_a8_dst_hsw
+.globl _sk_load_a8_dst_hsw
+FUNCTION(_sk_load_a8_dst_hsw)
+_sk_load_a8_dst_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,52                              // jne           bb36 <_sk_load_a8_dst_hsw+0x46>
+  .byte  196,194,121,48,36,16                // vpmovzxbw     (%r8,%rdx,1),%xmm4
+  .byte  197,217,219,37,160,19,3,0           // vpand         0x313a0(%rip),%xmm4,%xmm4        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  196,226,125,51,228                  // vpmovzxwd     %xmm4,%ymm4
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  196,226,125,24,45,82,10,3,0         // vbroadcastss  0x30a52(%rip),%ymm5        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  197,220,89,253                      // vmulps        %ymm5,%ymm4,%ymm7
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,220,87,228                      // vxorps        %ymm4,%ymm4,%ymm4
+  .byte  197,212,87,237                      // vxorps        %ymm5,%ymm5,%ymm5
+  .byte  197,204,87,246                      // vxorps        %ymm6,%ymm6,%ymm6
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,196                             // ja            bb08 <_sk_load_a8_dst_hsw+0x18>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,118,0,0,0                 // lea           0x76(%rip),%r9        # bbc4 <_sk_load_a8_dst_hsw+0xd4>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  197,249,110,224                     // vmovd         %eax,%xmm4
+  .byte  235,166                             // jmp           bb08 <_sk_load_a8_dst_hsw+0x18>
+  .byte  65,15,182,68,16,2                   // movzbl        0x2(%r8,%rdx,1),%eax
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  197,217,196,224,2                   // vpinsrw       $0x2,%eax,%xmm4,%xmm4
+  .byte  65,15,183,4,16                      // movzwl        (%r8,%rdx,1),%eax
+  .byte  197,249,110,232                     // vmovd         %eax,%xmm5
+  .byte  196,226,121,48,237                  // vpmovzxbw     %xmm5,%xmm5
+  .byte  196,227,89,2,229,1                  // vpblendd      $0x1,%xmm5,%xmm4,%xmm4
+  .byte  235,129                             // jmp           bb08 <_sk_load_a8_dst_hsw+0x18>
+  .byte  65,15,182,68,16,6                   // movzbl        0x6(%r8,%rdx,1),%eax
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  197,217,196,224,6                   // vpinsrw       $0x6,%eax,%xmm4,%xmm4
+  .byte  65,15,182,68,16,5                   // movzbl        0x5(%r8,%rdx,1),%eax
+  .byte  197,217,196,224,5                   // vpinsrw       $0x5,%eax,%xmm4,%xmm4
+  .byte  65,15,182,68,16,4                   // movzbl        0x4(%r8,%rdx,1),%eax
+  .byte  197,217,196,224,4                   // vpinsrw       $0x4,%eax,%xmm4,%xmm4
+  .byte  196,193,121,110,44,16               // vmovd         (%r8,%rdx,1),%xmm5
+  .byte  196,226,121,48,237                  // vpmovzxbw     %xmm5,%xmm5
+  .byte  196,227,81,2,228,12                 // vpblendd      $0xc,%xmm4,%xmm5,%xmm4
+  .byte  233,70,255,255,255                  // jmpq          bb08 <_sk_load_a8_dst_hsw+0x18>
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  147                                 // xchg          %eax,%ebx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,173,255,255,255,158             // ljmp          *-0x61000001(%rbp)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  232,255,255,255,221                 // callq         ffffffffde00bbd4 <_sk_srcover_bgra_8888_sse2_lowp+0xffffffffddfcf988>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,210                             // callq         *%rdx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,195                             // inc           %ebx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_gather_a8_hsw
+.globl _sk_gather_a8_hsw
+FUNCTION(_sk_gather_a8_hsw)
+_sk_gather_a8_hsw:
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,88,80,12                // vpbroadcastd  0xc(%rax),%ymm2
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  197,237,254,211                     // vpaddd        %ymm3,%ymm2,%ymm2
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,188,95,192                      // vmaxps        %ymm0,%ymm8,%ymm0
+  .byte  197,252,93,194                      // vminps        %ymm2,%ymm0,%ymm0
+  .byte  196,226,125,88,80,16                // vpbroadcastd  0x10(%rax),%ymm2
+  .byte  197,237,254,211                     // vpaddd        %ymm3,%ymm2,%ymm2
+  .byte  197,188,95,201                      // vmaxps        %ymm1,%ymm8,%ymm1
+  .byte  197,244,93,202                      // vminps        %ymm2,%ymm1,%ymm1
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
+  .byte  196,226,125,88,80,8                 // vpbroadcastd  0x8(%rax),%ymm2
+  .byte  196,226,109,64,201                  // vpmulld       %ymm1,%ymm2,%ymm1
+  .byte  197,254,91,192                      // vcvttps2dq    %ymm0,%ymm0
+  .byte  197,245,254,192                     // vpaddd        %ymm0,%ymm1,%ymm0
+  .byte  196,227,249,22,192,1                // vpextrq       $0x1,%xmm0,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  196,193,249,126,194                 // vmovq         %xmm0,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,227,125,57,192,1                // vextracti128  $0x1,%ymm0,%xmm0
+  .byte  196,227,249,22,195,1                // vpextrq       $0x1,%xmm0,%rbx
+  .byte  65,137,222                          // mov           %ebx,%r14d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  196,193,249,126,199                 // vmovq         %xmm0,%r15
+  .byte  69,137,252                          // mov           %r15d,%r12d
+  .byte  73,193,239,32                       // shr           $0x20,%r15
+  .byte  71,15,182,20,16                     // movzbl        (%r8,%r10,1),%r10d
+  .byte  71,15,182,28,24                     // movzbl        (%r8,%r11,1),%r11d
+  .byte  196,193,121,110,195                 // vmovd         %r11d,%xmm0
+  .byte  196,195,121,32,194,1                // vpinsrb       $0x1,%r10d,%xmm0,%xmm0
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  196,195,121,32,193,2                // vpinsrb       $0x2,%r9d,%xmm0,%xmm0
+  .byte  65,15,182,4,0                       // movzbl        (%r8,%rax,1),%eax
+  .byte  196,227,121,32,192,3                // vpinsrb       $0x3,%eax,%xmm0,%xmm0
+  .byte  67,15,182,4,32                      // movzbl        (%r8,%r12,1),%eax
+  .byte  196,227,121,32,192,4                // vpinsrb       $0x4,%eax,%xmm0,%xmm0
+  .byte  67,15,182,4,56                      // movzbl        (%r8,%r15,1),%eax
+  .byte  196,227,121,32,192,5                // vpinsrb       $0x5,%eax,%xmm0,%xmm0
+  .byte  67,15,182,4,48                      // movzbl        (%r8,%r14,1),%eax
+  .byte  196,227,121,32,192,6                // vpinsrb       $0x6,%eax,%xmm0,%xmm0
+  .byte  65,15,182,4,24                      // movzbl        (%r8,%rbx,1),%eax
+  .byte  196,227,121,32,192,7                // vpinsrb       $0x7,%eax,%xmm0,%xmm0
+  .byte  196,226,125,49,192                  // vpmovzxbd     %xmm0,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,226,125,24,13,163,8,3,0         // vbroadcastss  0x308a3(%rip),%ymm1        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  197,252,89,217                      // vmulps        %ymm1,%ymm0,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  197,237,239,210                     // vpxor         %ymm2,%ymm2,%ymm2
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_store_a8_hsw
+.globl _sk_store_a8_hsw
+FUNCTION(_sk_store_a8_hsw)
+_sk_store_a8_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,60,95,195                       // vmaxps        %ymm3,%ymm8,%ymm8
+  .byte  196,98,125,24,13,241,7,3,0          // vbroadcastss  0x307f1(%rip),%ymm9        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,65,60,93,193                    // vminps        %ymm9,%ymm8,%ymm8
+  .byte  196,98,125,24,13,15,8,3,0           // vbroadcastss  0x3080f(%rip),%ymm9        # 3c528 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  .byte  196,65,60,89,193                    // vmulps        %ymm9,%ymm8,%ymm8
+  .byte  196,65,125,91,192                   // vcvtps2dq     %ymm8,%ymm8
+  .byte  196,67,125,25,193,1                 // vextractf128  $0x1,%ymm8,%xmm9
+  .byte  196,66,57,43,193                    // vpackusdw     %xmm9,%xmm8,%xmm8
+  .byte  197,57,103,192                      // vpackuswb     %xmm0,%xmm8,%xmm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,10                              // jne           bd41 <_sk_store_a8_hsw+0x55>
+  .byte  196,65,121,214,4,16                 // vmovq         %xmm8,(%r8,%rdx,1)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,242                             // ja            bd3d <_sk_store_a8_hsw+0x51>
+  .byte  196,66,121,48,192                   // vpmovzxbw     %xmm8,%xmm8
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,86,0,0,0                  // lea           0x56(%rip),%r9        # bdb0 <_sk_store_a8_hsw+0xc4>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,67,121,20,4,16,0                // vpextrb       $0x0,%xmm8,(%r8,%rdx,1)
+  .byte  235,209                             // jmp           bd3d <_sk_store_a8_hsw+0x51>
+  .byte  196,67,121,20,68,16,2,4             // vpextrb       $0x4,%xmm8,0x2(%r8,%rdx,1)
+  .byte  196,98,57,0,5,67,17,3,0             // vpshufb       0x31143(%rip),%xmm8,%xmm8        # 3cec0 <_sk_srcover_bgra_8888_sse2_lowp+0xc74>
+  .byte  196,67,121,21,4,16,0                // vpextrw       $0x0,%xmm8,(%r8,%rdx,1)
+  .byte  235,183                             // jmp           bd3d <_sk_store_a8_hsw+0x51>
+  .byte  196,67,121,20,68,16,6,12            // vpextrb       $0xc,%xmm8,0x6(%r8,%rdx,1)
+  .byte  196,67,121,20,68,16,5,10            // vpextrb       $0xa,%xmm8,0x5(%r8,%rdx,1)
+  .byte  196,67,121,20,68,16,4,8             // vpextrb       $0x8,%xmm8,0x4(%r8,%rdx,1)
+  .byte  196,98,57,0,5,41,17,3,0             // vpshufb       0x31129(%rip),%xmm8,%xmm8        # 3ced0 <_sk_srcover_bgra_8888_sse2_lowp+0xc84>
+  .byte  196,65,121,126,4,16                 // vmovd         %xmm8,(%r8,%rdx,1)
+  .byte  235,142                             // jmp           bd3d <_sk_store_a8_hsw+0x51>
+  .byte  144                                 // nop
+  .byte  179,255                             // mov           $0xff,%bl
+  .byte  255                                 // (bad)
+  .byte  255,196                             // inc           %esp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  188,255,255,255,238                 // mov           $0xeeffffff,%esp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,230                             // jmpq          *%rsi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  222,255                             // fdivrp        %st,%st(7)
+  .byte  255                                 // (bad)
+  .byte  255,214                             // callq         *%rsi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_g8_hsw
+.globl _sk_load_g8_hsw
+FUNCTION(_sk_load_g8_hsw)
+_sk_load_g8_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,57                              // jne           be17 <_sk_load_g8_hsw+0x4b>
+  .byte  196,194,121,48,4,16                 // vpmovzxbw     (%r8,%rdx,1),%xmm0
+  .byte  197,249,219,5,196,16,3,0            // vpand         0x310c4(%rip),%xmm0,%xmm0        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  196,226,125,51,192                  // vpmovzxwd     %xmm0,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,226,125,24,13,118,7,3,0         // vbroadcastss  0x30776(%rip),%ymm1        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  197,252,89,193                      // vmulps        %ymm1,%ymm0,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,29,239,6,3,0         // vbroadcastss  0x306ef(%rip),%ymm3        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,252,40,200                      // vmovaps       %ymm0,%ymm1
+  .byte  197,252,40,208                      // vmovaps       %ymm0,%ymm2
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,191                             // ja            bde4 <_sk_load_g8_hsw+0x18>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,121,0,0,0                 // lea           0x79(%rip),%r9        # bea8 <_sk_load_g8_hsw+0xdc>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  197,249,110,192                     // vmovd         %eax,%xmm0
+  .byte  235,161                             // jmp           bde4 <_sk_load_g8_hsw+0x18>
+  .byte  65,15,182,68,16,2                   // movzbl        0x2(%r8,%rdx,1),%eax
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  197,249,196,192,2                   // vpinsrw       $0x2,%eax,%xmm0,%xmm0
+  .byte  65,15,183,4,16                      // movzwl        (%r8,%rdx,1),%eax
+  .byte  197,249,110,200                     // vmovd         %eax,%xmm1
+  .byte  196,226,121,48,201                  // vpmovzxbw     %xmm1,%xmm1
+  .byte  196,227,121,2,193,1                 // vpblendd      $0x1,%xmm1,%xmm0,%xmm0
+  .byte  233,121,255,255,255                 // jmpq          bde4 <_sk_load_g8_hsw+0x18>
+  .byte  65,15,182,68,16,6                   // movzbl        0x6(%r8,%rdx,1),%eax
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  197,249,196,192,6                   // vpinsrw       $0x6,%eax,%xmm0,%xmm0
+  .byte  65,15,182,68,16,5                   // movzbl        0x5(%r8,%rdx,1),%eax
+  .byte  197,249,196,192,5                   // vpinsrw       $0x5,%eax,%xmm0,%xmm0
+  .byte  65,15,182,68,16,4                   // movzbl        0x4(%r8,%rdx,1),%eax
+  .byte  197,249,196,192,4                   // vpinsrw       $0x4,%eax,%xmm0,%xmm0
+  .byte  196,193,121,110,12,16               // vmovd         (%r8,%rdx,1),%xmm1
+  .byte  196,226,121,48,201                  // vpmovzxbw     %xmm1,%xmm1
+  .byte  196,227,113,2,192,12                // vpblendd      $0xc,%xmm0,%xmm1,%xmm0
+  .byte  233,62,255,255,255                  // jmpq          bde4 <_sk_load_g8_hsw+0x18>
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  144                                 // nop
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,170,255,255,255,155             // ljmp          *-0x64000001(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  232,255,255,255,221                 // callq         ffffffffde00beb8 <_sk_srcover_bgra_8888_sse2_lowp+0xffffffffddfcfc6c>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,210                             // callq         *%rdx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,195                             // inc           %ebx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_g8_dst_hsw
+.globl _sk_load_g8_dst_hsw
+FUNCTION(_sk_load_g8_dst_hsw)
+_sk_load_g8_dst_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,57                              // jne           bf0f <_sk_load_g8_dst_hsw+0x4b>
+  .byte  196,194,121,48,36,16                // vpmovzxbw     (%r8,%rdx,1),%xmm4
+  .byte  197,217,219,37,204,15,3,0           // vpand         0x30fcc(%rip),%xmm4,%xmm4        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  196,226,125,51,228                  // vpmovzxwd     %xmm4,%ymm4
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  196,226,125,24,45,126,6,3,0         // vbroadcastss  0x3067e(%rip),%ymm5        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  197,220,89,229                      // vmulps        %ymm5,%ymm4,%ymm4
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,61,247,5,3,0         // vbroadcastss  0x305f7(%rip),%ymm7        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,252,40,236                      // vmovaps       %ymm4,%ymm5
+  .byte  197,252,40,244                      // vmovaps       %ymm4,%ymm6
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,191                             // ja            bedc <_sk_load_g8_dst_hsw+0x18>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,121,0,0,0                 // lea           0x79(%rip),%r9        # bfa0 <_sk_load_g8_dst_hsw+0xdc>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  197,249,110,224                     // vmovd         %eax,%xmm4
+  .byte  235,161                             // jmp           bedc <_sk_load_g8_dst_hsw+0x18>
+  .byte  65,15,182,68,16,2                   // movzbl        0x2(%r8,%rdx,1),%eax
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  197,217,196,224,2                   // vpinsrw       $0x2,%eax,%xmm4,%xmm4
+  .byte  65,15,183,4,16                      // movzwl        (%r8,%rdx,1),%eax
+  .byte  197,249,110,232                     // vmovd         %eax,%xmm5
+  .byte  196,226,121,48,237                  // vpmovzxbw     %xmm5,%xmm5
+  .byte  196,227,89,2,229,1                  // vpblendd      $0x1,%xmm5,%xmm4,%xmm4
+  .byte  233,121,255,255,255                 // jmpq          bedc <_sk_load_g8_dst_hsw+0x18>
+  .byte  65,15,182,68,16,6                   // movzbl        0x6(%r8,%rdx,1),%eax
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  197,217,196,224,6                   // vpinsrw       $0x6,%eax,%xmm4,%xmm4
+  .byte  65,15,182,68,16,5                   // movzbl        0x5(%r8,%rdx,1),%eax
+  .byte  197,217,196,224,5                   // vpinsrw       $0x5,%eax,%xmm4,%xmm4
+  .byte  65,15,182,68,16,4                   // movzbl        0x4(%r8,%rdx,1),%eax
+  .byte  197,217,196,224,4                   // vpinsrw       $0x4,%eax,%xmm4,%xmm4
+  .byte  196,193,121,110,44,16               // vmovd         (%r8,%rdx,1),%xmm5
+  .byte  196,226,121,48,237                  // vpmovzxbw     %xmm5,%xmm5
+  .byte  196,227,81,2,228,12                 // vpblendd      $0xc,%xmm4,%xmm5,%xmm4
+  .byte  233,62,255,255,255                  // jmpq          bedc <_sk_load_g8_dst_hsw+0x18>
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  144                                 // nop
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,170,255,255,255,155             // ljmp          *-0x64000001(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  232,255,255,255,221                 // callq         ffffffffde00bfb0 <_sk_srcover_bgra_8888_sse2_lowp+0xffffffffddfcfd64>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,210                             // callq         *%rdx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,195                             // inc           %ebx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_gather_g8_hsw
+.globl _sk_gather_g8_hsw
+FUNCTION(_sk_gather_g8_hsw)
+_sk_gather_g8_hsw:
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,88,80,12                // vpbroadcastd  0xc(%rax),%ymm2
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  197,237,254,211                     // vpaddd        %ymm3,%ymm2,%ymm2
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,188,95,192                      // vmaxps        %ymm0,%ymm8,%ymm0
+  .byte  197,252,93,194                      // vminps        %ymm2,%ymm0,%ymm0
+  .byte  196,226,125,88,80,16                // vpbroadcastd  0x10(%rax),%ymm2
+  .byte  197,237,254,211                     // vpaddd        %ymm3,%ymm2,%ymm2
+  .byte  197,188,95,201                      // vmaxps        %ymm1,%ymm8,%ymm1
+  .byte  197,244,93,202                      // vminps        %ymm2,%ymm1,%ymm1
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
+  .byte  196,226,125,88,80,8                 // vpbroadcastd  0x8(%rax),%ymm2
+  .byte  196,226,109,64,201                  // vpmulld       %ymm1,%ymm2,%ymm1
+  .byte  197,254,91,192                      // vcvttps2dq    %ymm0,%ymm0
+  .byte  197,245,254,192                     // vpaddd        %ymm0,%ymm1,%ymm0
+  .byte  196,227,249,22,192,1                // vpextrq       $0x1,%xmm0,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  196,193,249,126,194                 // vmovq         %xmm0,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,227,125,57,192,1                // vextracti128  $0x1,%ymm0,%xmm0
+  .byte  196,227,249,22,195,1                // vpextrq       $0x1,%xmm0,%rbx
+  .byte  65,137,222                          // mov           %ebx,%r14d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  196,193,249,126,199                 // vmovq         %xmm0,%r15
+  .byte  69,137,252                          // mov           %r15d,%r12d
+  .byte  73,193,239,32                       // shr           $0x20,%r15
+  .byte  71,15,182,20,16                     // movzbl        (%r8,%r10,1),%r10d
+  .byte  71,15,182,28,24                     // movzbl        (%r8,%r11,1),%r11d
+  .byte  196,193,121,110,195                 // vmovd         %r11d,%xmm0
+  .byte  196,195,121,32,194,1                // vpinsrb       $0x1,%r10d,%xmm0,%xmm0
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  196,195,121,32,193,2                // vpinsrb       $0x2,%r9d,%xmm0,%xmm0
+  .byte  65,15,182,4,0                       // movzbl        (%r8,%rax,1),%eax
+  .byte  196,227,121,32,192,3                // vpinsrb       $0x3,%eax,%xmm0,%xmm0
+  .byte  67,15,182,4,32                      // movzbl        (%r8,%r12,1),%eax
+  .byte  196,227,121,32,192,4                // vpinsrb       $0x4,%eax,%xmm0,%xmm0
+  .byte  67,15,182,4,56                      // movzbl        (%r8,%r15,1),%eax
+  .byte  196,227,121,32,192,5                // vpinsrb       $0x5,%eax,%xmm0,%xmm0
+  .byte  67,15,182,4,48                      // movzbl        (%r8,%r14,1),%eax
+  .byte  196,227,121,32,192,6                // vpinsrb       $0x6,%eax,%xmm0,%xmm0
+  .byte  65,15,182,4,24                      // movzbl        (%r8,%rbx,1),%eax
+  .byte  196,227,121,32,192,7                // vpinsrb       $0x7,%eax,%xmm0,%xmm0
+  .byte  196,226,125,49,192                  // vpmovzxbd     %xmm0,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,226,125,24,13,199,4,3,0         // vbroadcastss  0x304c7(%rip),%ymm1        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  197,252,89,193                      // vmulps        %ymm1,%ymm0,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,29,64,4,3,0          // vbroadcastss  0x30440(%rip),%ymm3        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,252,40,200                      // vmovaps       %ymm0,%ymm1
+  .byte  197,252,40,208                      // vmovaps       %ymm0,%ymm2
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_load_565_hsw
+.globl _sk_load_565_hsw
+FUNCTION(_sk_load_565_hsw)
+_sk_load_565_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,114                             // jne           c154 <_sk_load_565_hsw+0x87>
+  .byte  196,193,122,111,4,80                // vmovdqu       (%r8,%rdx,2),%xmm0
+  .byte  196,226,125,51,208                  // vpmovzxwd     %xmm0,%ymm2
+  .byte  196,226,125,88,5,130,4,3,0          // vpbroadcastd  0x30482(%rip),%ymm0        # 3c578 <_sk_srcover_bgra_8888_sse2_lowp+0x32c>
+  .byte  197,237,219,192                     // vpand         %ymm0,%ymm2,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,226,125,24,13,117,4,3,0         // vbroadcastss  0x30475(%rip),%ymm1        # 3c57c <_sk_srcover_bgra_8888_sse2_lowp+0x330>
+  .byte  197,252,89,193                      // vmulps        %ymm1,%ymm0,%ymm0
+  .byte  196,226,125,88,13,108,4,3,0         // vpbroadcastd  0x3046c(%rip),%ymm1        # 3c580 <_sk_srcover_bgra_8888_sse2_lowp+0x334>
+  .byte  197,237,219,201                     // vpand         %ymm1,%ymm2,%ymm1
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  196,226,125,24,29,95,4,3,0          // vbroadcastss  0x3045f(%rip),%ymm3        # 3c584 <_sk_srcover_bgra_8888_sse2_lowp+0x338>
+  .byte  197,244,89,203                      // vmulps        %ymm3,%ymm1,%ymm1
+  .byte  196,226,125,88,29,86,4,3,0          // vpbroadcastd  0x30456(%rip),%ymm3        # 3c588 <_sk_srcover_bgra_8888_sse2_lowp+0x33c>
+  .byte  197,237,219,211                     // vpand         %ymm3,%ymm2,%ymm2
+  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
+  .byte  196,226,125,24,29,73,4,3,0          // vbroadcastss  0x30449(%rip),%ymm3        # 3c58c <_sk_srcover_bgra_8888_sse2_lowp+0x340>
+  .byte  197,236,89,211                      // vmulps        %ymm3,%ymm2,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,29,170,3,3,0         // vbroadcastss  0x303aa(%rip),%ymm3        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,134                             // ja            c0e8 <_sk_load_565_hsw+0x1b>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,100,0,0,0                 // lea           0x64(%rip),%r9        # c1d0 <_sk_load_565_hsw+0x103>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  197,249,110,192                     // vmovd         %eax,%xmm0
+  .byte  233,101,255,255,255                 // jmpq          c0e8 <_sk_load_565_hsw+0x1b>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  196,193,121,196,68,80,4,2           // vpinsrw       $0x2,0x4(%r8,%rdx,2),%xmm0,%xmm0
+  .byte  196,193,121,110,12,80               // vmovd         (%r8,%rdx,2),%xmm1
+  .byte  196,227,121,2,193,1                 // vpblendd      $0x1,%xmm1,%xmm0,%xmm0
+  .byte  233,72,255,255,255                  // jmpq          c0e8 <_sk_load_565_hsw+0x1b>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  196,193,121,196,68,80,12,6          // vpinsrw       $0x6,0xc(%r8,%rdx,2),%xmm0,%xmm0
+  .byte  196,193,121,196,68,80,10,5          // vpinsrw       $0x5,0xa(%r8,%rdx,2),%xmm0,%xmm0
+  .byte  196,193,121,196,68,80,8,4           // vpinsrw       $0x4,0x8(%r8,%rdx,2),%xmm0,%xmm0
+  .byte  196,193,122,126,12,80               // vmovq         (%r8,%rdx,2),%xmm1
+  .byte  196,227,113,2,192,12                // vpblendd      $0xc,%xmm0,%xmm1,%xmm0
+  .byte  233,27,255,255,255                  // jmpq          c0e8 <_sk_load_565_hsw+0x1b>
+  .byte  15,31,0                             // nopl          (%rax)
+  .byte  165                                 // movsl         %ds:(%rsi),%es:(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  191,255,255,255,179                 // mov           $0xb3ffffff,%edi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  236                                 // in            (%dx),%al
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,228                             // jmpq          *%rsp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  220,255                             // fdivr         %st,%st(7)
+  .byte  255                                 // (bad)
+  .byte  255,208                             // callq         *%rax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_565_dst_hsw
+.globl _sk_load_565_dst_hsw
+FUNCTION(_sk_load_565_dst_hsw)
+_sk_load_565_dst_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,114                             // jne           c273 <_sk_load_565_dst_hsw+0x87>
+  .byte  196,193,122,111,36,80               // vmovdqu       (%r8,%rdx,2),%xmm4
+  .byte  196,226,125,51,244                  // vpmovzxwd     %xmm4,%ymm6
+  .byte  196,226,125,88,37,99,3,3,0          // vpbroadcastd  0x30363(%rip),%ymm4        # 3c578 <_sk_srcover_bgra_8888_sse2_lowp+0x32c>
+  .byte  197,205,219,228                     // vpand         %ymm4,%ymm6,%ymm4
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  196,226,125,24,45,86,3,3,0          // vbroadcastss  0x30356(%rip),%ymm5        # 3c57c <_sk_srcover_bgra_8888_sse2_lowp+0x330>
+  .byte  197,220,89,229                      // vmulps        %ymm5,%ymm4,%ymm4
+  .byte  196,226,125,88,45,77,3,3,0          // vpbroadcastd  0x3034d(%rip),%ymm5        # 3c580 <_sk_srcover_bgra_8888_sse2_lowp+0x334>
+  .byte  197,205,219,237                     // vpand         %ymm5,%ymm6,%ymm5
+  .byte  197,252,91,237                      // vcvtdq2ps     %ymm5,%ymm5
+  .byte  196,226,125,24,61,64,3,3,0          // vbroadcastss  0x30340(%rip),%ymm7        # 3c584 <_sk_srcover_bgra_8888_sse2_lowp+0x338>
+  .byte  197,212,89,239                      // vmulps        %ymm7,%ymm5,%ymm5
+  .byte  196,226,125,88,61,55,3,3,0          // vpbroadcastd  0x30337(%rip),%ymm7        # 3c588 <_sk_srcover_bgra_8888_sse2_lowp+0x33c>
+  .byte  197,205,219,247                     // vpand         %ymm7,%ymm6,%ymm6
+  .byte  197,252,91,246                      // vcvtdq2ps     %ymm6,%ymm6
+  .byte  196,226,125,24,61,42,3,3,0          // vbroadcastss  0x3032a(%rip),%ymm7        # 3c58c <_sk_srcover_bgra_8888_sse2_lowp+0x340>
+  .byte  197,204,89,247                      // vmulps        %ymm7,%ymm6,%ymm6
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,61,139,2,3,0         // vbroadcastss  0x3028b(%rip),%ymm7        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,134                             // ja            c207 <_sk_load_565_dst_hsw+0x1b>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,97,0,0,0                  // lea           0x61(%rip),%r9        # c2ec <_sk_load_565_dst_hsw+0x100>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  197,249,110,224                     // vmovd         %eax,%xmm4
+  .byte  233,101,255,255,255                 // jmpq          c207 <_sk_load_565_dst_hsw+0x1b>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  196,193,89,196,100,80,4,2           // vpinsrw       $0x2,0x4(%r8,%rdx,2),%xmm4,%xmm4
+  .byte  196,193,121,110,44,80               // vmovd         (%r8,%rdx,2),%xmm5
+  .byte  196,227,89,2,229,1                  // vpblendd      $0x1,%xmm5,%xmm4,%xmm4
+  .byte  233,72,255,255,255                  // jmpq          c207 <_sk_load_565_dst_hsw+0x1b>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  196,193,89,196,100,80,12,6          // vpinsrw       $0x6,0xc(%r8,%rdx,2),%xmm4,%xmm4
+  .byte  196,193,89,196,100,80,10,5          // vpinsrw       $0x5,0xa(%r8,%rdx,2),%xmm4,%xmm4
+  .byte  196,193,89,196,100,80,8,4           // vpinsrw       $0x4,0x8(%r8,%rdx,2),%xmm4,%xmm4
+  .byte  196,193,122,126,44,80               // vmovq         (%r8,%rdx,2),%xmm5
+  .byte  196,227,81,2,228,12                 // vpblendd      $0xc,%xmm4,%xmm5,%xmm4
+  .byte  233,27,255,255,255                  // jmpq          c207 <_sk_load_565_dst_hsw+0x1b>
+  .byte  168,255                             // test          $0xff,%al
+  .byte  255                                 // (bad)
+  .byte  255,194                             // inc           %edx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,182,255,255,255,239             // pushq         -0x10000001(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,231                             // jmpq          *%rdi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  223,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,211                             // callq         *%rbx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_gather_565_hsw
+.globl _sk_gather_565_hsw
+FUNCTION(_sk_gather_565_hsw)
+_sk_gather_565_hsw:
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,88,80,12                // vpbroadcastd  0xc(%rax),%ymm2
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  197,237,254,211                     // vpaddd        %ymm3,%ymm2,%ymm2
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,188,95,192                      // vmaxps        %ymm0,%ymm8,%ymm0
+  .byte  197,252,93,194                      // vminps        %ymm2,%ymm0,%ymm0
+  .byte  196,226,125,88,80,16                // vpbroadcastd  0x10(%rax),%ymm2
+  .byte  197,237,254,211                     // vpaddd        %ymm3,%ymm2,%ymm2
+  .byte  197,188,95,201                      // vmaxps        %ymm1,%ymm8,%ymm1
+  .byte  197,244,93,202                      // vminps        %ymm2,%ymm1,%ymm1
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
+  .byte  196,226,125,88,80,8                 // vpbroadcastd  0x8(%rax),%ymm2
+  .byte  196,226,109,64,201                  // vpmulld       %ymm1,%ymm2,%ymm1
+  .byte  197,254,91,192                      // vcvttps2dq    %ymm0,%ymm0
+  .byte  197,245,254,192                     // vpaddd        %ymm0,%ymm1,%ymm0
+  .byte  196,227,249,22,192,1                // vpextrq       $0x1,%xmm0,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  196,193,249,126,194                 // vmovq         %xmm0,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,227,125,57,192,1                // vextracti128  $0x1,%ymm0,%xmm0
+  .byte  196,227,249,22,195,1                // vpextrq       $0x1,%xmm0,%rbx
+  .byte  65,137,222                          // mov           %ebx,%r14d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  196,193,249,126,199                 // vmovq         %xmm0,%r15
+  .byte  69,137,252                          // mov           %r15d,%r12d
+  .byte  73,193,239,32                       // shr           $0x20,%r15
+  .byte  71,15,183,20,80                     // movzwl        (%r8,%r10,2),%r10d
+  .byte  71,15,183,28,88                     // movzwl        (%r8,%r11,2),%r11d
+  .byte  196,193,121,110,195                 // vmovd         %r11d,%xmm0
+  .byte  196,193,121,196,194,1               // vpinsrw       $0x1,%r10d,%xmm0,%xmm0
+  .byte  71,15,183,12,72                     // movzwl        (%r8,%r9,2),%r9d
+  .byte  196,193,121,196,193,2               // vpinsrw       $0x2,%r9d,%xmm0,%xmm0
+  .byte  65,15,183,4,64                      // movzwl        (%r8,%rax,2),%eax
+  .byte  197,249,196,192,3                   // vpinsrw       $0x3,%eax,%xmm0,%xmm0
+  .byte  67,15,183,4,96                      // movzwl        (%r8,%r12,2),%eax
+  .byte  197,249,196,192,4                   // vpinsrw       $0x4,%eax,%xmm0,%xmm0
+  .byte  67,15,183,4,120                     // movzwl        (%r8,%r15,2),%eax
+  .byte  197,249,196,192,5                   // vpinsrw       $0x5,%eax,%xmm0,%xmm0
+  .byte  67,15,183,4,112                     // movzwl        (%r8,%r14,2),%eax
+  .byte  197,249,196,192,6                   // vpinsrw       $0x6,%eax,%xmm0,%xmm0
+  .byte  65,15,183,4,88                      // movzwl        (%r8,%rbx,2),%eax
+  .byte  197,249,196,192,7                   // vpinsrw       $0x7,%eax,%xmm0,%xmm0
+  .byte  196,226,125,51,208                  // vpmovzxwd     %xmm0,%ymm2
+  .byte  196,226,125,88,5,136,1,3,0          // vpbroadcastd  0x30188(%rip),%ymm0        # 3c578 <_sk_srcover_bgra_8888_sse2_lowp+0x32c>
+  .byte  197,237,219,192                     // vpand         %ymm0,%ymm2,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,226,125,24,13,123,1,3,0         // vbroadcastss  0x3017b(%rip),%ymm1        # 3c57c <_sk_srcover_bgra_8888_sse2_lowp+0x330>
+  .byte  197,252,89,193                      // vmulps        %ymm1,%ymm0,%ymm0
+  .byte  196,226,125,88,13,114,1,3,0         // vpbroadcastd  0x30172(%rip),%ymm1        # 3c580 <_sk_srcover_bgra_8888_sse2_lowp+0x334>
+  .byte  197,237,219,201                     // vpand         %ymm1,%ymm2,%ymm1
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  196,226,125,24,29,101,1,3,0         // vbroadcastss  0x30165(%rip),%ymm3        # 3c584 <_sk_srcover_bgra_8888_sse2_lowp+0x338>
+  .byte  197,244,89,203                      // vmulps        %ymm3,%ymm1,%ymm1
+  .byte  196,226,125,88,29,92,1,3,0          // vpbroadcastd  0x3015c(%rip),%ymm3        # 3c588 <_sk_srcover_bgra_8888_sse2_lowp+0x33c>
+  .byte  197,237,219,211                     // vpand         %ymm3,%ymm2,%ymm2
+  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
+  .byte  196,226,125,24,29,79,1,3,0          // vbroadcastss  0x3014f(%rip),%ymm3        # 3c58c <_sk_srcover_bgra_8888_sse2_lowp+0x340>
+  .byte  197,236,89,211                      // vmulps        %ymm3,%ymm2,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,29,176,0,3,0         // vbroadcastss  0x300b0(%rip),%ymm3        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_store_565_hsw
+.globl _sk_store_565_hsw
+FUNCTION(_sk_store_565_hsw)
+_sk_store_565_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,60,95,200                       // vmaxps        %ymm0,%ymm8,%ymm9
+  .byte  196,98,125,24,21,133,0,3,0          // vbroadcastss  0x30085(%rip),%ymm10        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,65,52,93,202                    // vminps        %ymm10,%ymm9,%ymm9
+  .byte  196,98,125,24,29,103,1,3,0          // vbroadcastss  0x30167(%rip),%ymm11        # 3c5ec <_sk_srcover_bgra_8888_sse2_lowp+0x3a0>
+  .byte  196,65,52,89,203                    // vmulps        %ymm11,%ymm9,%ymm9
+  .byte  196,65,125,91,201                   // vcvtps2dq     %ymm9,%ymm9
+  .byte  196,193,53,114,241,11               // vpslld        $0xb,%ymm9,%ymm9
+  .byte  197,60,95,225                       // vmaxps        %ymm1,%ymm8,%ymm12
+  .byte  196,65,28,93,226                    // vminps        %ymm10,%ymm12,%ymm12
+  .byte  196,98,125,24,45,73,1,3,0           // vbroadcastss  0x30149(%rip),%ymm13        # 3c5f0 <_sk_srcover_bgra_8888_sse2_lowp+0x3a4>
+  .byte  196,65,28,89,229                    // vmulps        %ymm13,%ymm12,%ymm12
+  .byte  196,65,125,91,228                   // vcvtps2dq     %ymm12,%ymm12
+  .byte  196,193,29,114,244,5                // vpslld        $0x5,%ymm12,%ymm12
+  .byte  196,65,29,235,201                   // vpor          %ymm9,%ymm12,%ymm9
+  .byte  197,60,95,194                       // vmaxps        %ymm2,%ymm8,%ymm8
+  .byte  196,65,60,93,194                    // vminps        %ymm10,%ymm8,%ymm8
+  .byte  196,65,60,89,195                    // vmulps        %ymm11,%ymm8,%ymm8
+  .byte  196,65,125,91,192                   // vcvtps2dq     %ymm8,%ymm8
+  .byte  196,65,53,235,192                   // vpor          %ymm8,%ymm9,%ymm8
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,66,57,43,193                    // vpackusdw     %xmm9,%xmm8,%xmm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,10                              // jne           c4ee <_sk_store_565_hsw+0x99>
+  .byte  196,65,122,127,4,80                 // vmovdqu       %xmm8,(%r8,%rdx,2)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,242                             // ja            c4ea <_sk_store_565_hsw+0x95>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,66,0,0,0                  // lea           0x42(%rip),%r9        # c544 <_sk_store_565_hsw+0xef>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,67,121,21,4,80,0                // vpextrw       $0x0,%xmm8,(%r8,%rdx,2)
+  .byte  235,214                             // jmp           c4ea <_sk_store_565_hsw+0x95>
+  .byte  196,67,121,21,68,80,4,2             // vpextrw       $0x2,%xmm8,0x4(%r8,%rdx,2)
+  .byte  196,65,121,126,4,80                 // vmovd         %xmm8,(%r8,%rdx,2)
+  .byte  235,198                             // jmp           c4ea <_sk_store_565_hsw+0x95>
+  .byte  196,67,121,21,68,80,12,6            // vpextrw       $0x6,%xmm8,0xc(%r8,%rdx,2)
+  .byte  196,67,121,21,68,80,10,5            // vpextrw       $0x5,%xmm8,0xa(%r8,%rdx,2)
+  .byte  196,67,121,21,68,80,8,4             // vpextrw       $0x4,%xmm8,0x8(%r8,%rdx,2)
+  .byte  196,65,121,214,4,80                 // vmovq         %xmm8,(%r8,%rdx,2)
+  .byte  235,166                             // jmp           c4ea <_sk_store_565_hsw+0x95>
+  .byte  199                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  216,255                             // fdivr         %st(7),%st
+  .byte  255                                 // (bad)
+  .byte  255,208                             // callq         *%rax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  248                                 // clc
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,240                             // push          %rax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  232,255,255,255,224                 // callq         ffffffffe100c55c <_sk_srcover_bgra_8888_sse2_lowp+0xffffffffe0fd0310>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_4444_hsw
+.globl _sk_load_4444_hsw
+FUNCTION(_sk_load_4444_hsw)
+_sk_load_4444_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,138,0,0,0                    // jne           c603 <_sk_load_4444_hsw+0xa3>
+  .byte  196,193,122,111,4,80                // vmovdqu       (%r8,%rdx,2),%xmm0
+  .byte  196,226,125,51,216                  // vpmovzxwd     %xmm0,%ymm3
+  .byte  196,226,125,88,5,103,0,3,0          // vpbroadcastd  0x30067(%rip),%ymm0        # 3c5f4 <_sk_srcover_bgra_8888_sse2_lowp+0x3a8>
+  .byte  197,229,219,192                     // vpand         %ymm0,%ymm3,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,226,125,24,13,90,0,3,0          // vbroadcastss  0x3005a(%rip),%ymm1        # 3c5f8 <_sk_srcover_bgra_8888_sse2_lowp+0x3ac>
+  .byte  197,252,89,193                      // vmulps        %ymm1,%ymm0,%ymm0
+  .byte  196,226,125,88,13,81,0,3,0          // vpbroadcastd  0x30051(%rip),%ymm1        # 3c5fc <_sk_srcover_bgra_8888_sse2_lowp+0x3b0>
+  .byte  197,229,219,201                     // vpand         %ymm1,%ymm3,%ymm1
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  196,226,125,24,21,68,0,3,0          // vbroadcastss  0x30044(%rip),%ymm2        # 3c600 <_sk_srcover_bgra_8888_sse2_lowp+0x3b4>
+  .byte  197,244,89,202                      // vmulps        %ymm2,%ymm1,%ymm1
+  .byte  196,226,125,88,21,59,0,3,0          // vpbroadcastd  0x3003b(%rip),%ymm2        # 3c604 <_sk_srcover_bgra_8888_sse2_lowp+0x3b8>
+  .byte  197,229,219,210                     // vpand         %ymm2,%ymm3,%ymm2
+  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
+  .byte  196,98,125,24,5,46,0,3,0            // vbroadcastss  0x3002e(%rip),%ymm8        # 3c608 <_sk_srcover_bgra_8888_sse2_lowp+0x3bc>
+  .byte  196,193,108,89,208                  // vmulps        %ymm8,%ymm2,%ymm2
+  .byte  196,98,125,88,5,36,0,3,0            // vpbroadcastd  0x30024(%rip),%ymm8        # 3c60c <_sk_srcover_bgra_8888_sse2_lowp+0x3c0>
+  .byte  196,193,101,219,216                 // vpand         %ymm8,%ymm3,%ymm3
+  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
+  .byte  196,98,125,24,5,22,0,3,0            // vbroadcastss  0x30016(%rip),%ymm8        # 3c610 <_sk_srcover_bgra_8888_sse2_lowp+0x3c4>
+  .byte  196,193,100,89,216                  // vmulps        %ymm8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  15,135,106,255,255,255              // ja            c57f <_sk_load_4444_hsw+0x1f>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,97,0,0,0                  // lea           0x61(%rip),%r9        # c680 <_sk_load_4444_hsw+0x120>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  197,249,110,192                     // vmovd         %eax,%xmm0
+  .byte  233,73,255,255,255                  // jmpq          c57f <_sk_load_4444_hsw+0x1f>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  196,193,121,196,68,80,4,2           // vpinsrw       $0x2,0x4(%r8,%rdx,2),%xmm0,%xmm0
+  .byte  196,193,121,110,12,80               // vmovd         (%r8,%rdx,2),%xmm1
+  .byte  196,227,121,2,193,1                 // vpblendd      $0x1,%xmm1,%xmm0,%xmm0
+  .byte  233,44,255,255,255                  // jmpq          c57f <_sk_load_4444_hsw+0x1f>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  196,193,121,196,68,80,12,6          // vpinsrw       $0x6,0xc(%r8,%rdx,2),%xmm0,%xmm0
+  .byte  196,193,121,196,68,80,10,5          // vpinsrw       $0x5,0xa(%r8,%rdx,2),%xmm0,%xmm0
+  .byte  196,193,121,196,68,80,8,4           // vpinsrw       $0x4,0x8(%r8,%rdx,2),%xmm0,%xmm0
+  .byte  196,193,122,126,12,80               // vmovq         (%r8,%rdx,2),%xmm1
+  .byte  196,227,113,2,192,12                // vpblendd      $0xc,%xmm0,%xmm1,%xmm0
+  .byte  233,255,254,255,255                 // jmpq          c57f <_sk_load_4444_hsw+0x1f>
+  .byte  168,255                             // test          $0xff,%al
+  .byte  255                                 // (bad)
+  .byte  255,194                             // inc           %edx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,182,255,255,255,239             // pushq         -0x10000001(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,231                             // jmpq          *%rdi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  223,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,211                             // callq         *%rbx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_4444_dst_hsw
+.globl _sk_load_4444_dst_hsw
+FUNCTION(_sk_load_4444_dst_hsw)
+_sk_load_4444_dst_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,138,0,0,0                    // jne           c73f <_sk_load_4444_dst_hsw+0xa3>
+  .byte  196,193,122,111,36,80               // vmovdqu       (%r8,%rdx,2),%xmm4
+  .byte  196,226,125,51,252                  // vpmovzxwd     %xmm4,%ymm7
+  .byte  196,226,125,88,37,43,255,2,0        // vpbroadcastd  0x2ff2b(%rip),%ymm4        # 3c5f4 <_sk_srcover_bgra_8888_sse2_lowp+0x3a8>
+  .byte  197,197,219,228                     // vpand         %ymm4,%ymm7,%ymm4
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  196,226,125,24,45,30,255,2,0        // vbroadcastss  0x2ff1e(%rip),%ymm5        # 3c5f8 <_sk_srcover_bgra_8888_sse2_lowp+0x3ac>
+  .byte  197,220,89,229                      // vmulps        %ymm5,%ymm4,%ymm4
+  .byte  196,226,125,88,45,21,255,2,0        // vpbroadcastd  0x2ff15(%rip),%ymm5        # 3c5fc <_sk_srcover_bgra_8888_sse2_lowp+0x3b0>
+  .byte  197,197,219,237                     // vpand         %ymm5,%ymm7,%ymm5
+  .byte  197,252,91,237                      // vcvtdq2ps     %ymm5,%ymm5
+  .byte  196,226,125,24,53,8,255,2,0         // vbroadcastss  0x2ff08(%rip),%ymm6        # 3c600 <_sk_srcover_bgra_8888_sse2_lowp+0x3b4>
+  .byte  197,212,89,238                      // vmulps        %ymm6,%ymm5,%ymm5
+  .byte  196,226,125,88,53,255,254,2,0       // vpbroadcastd  0x2feff(%rip),%ymm6        # 3c604 <_sk_srcover_bgra_8888_sse2_lowp+0x3b8>
+  .byte  197,197,219,246                     // vpand         %ymm6,%ymm7,%ymm6
+  .byte  197,252,91,246                      // vcvtdq2ps     %ymm6,%ymm6
+  .byte  196,98,125,24,5,242,254,2,0         // vbroadcastss  0x2fef2(%rip),%ymm8        # 3c608 <_sk_srcover_bgra_8888_sse2_lowp+0x3bc>
+  .byte  196,193,76,89,240                   // vmulps        %ymm8,%ymm6,%ymm6
+  .byte  196,98,125,88,5,232,254,2,0         // vpbroadcastd  0x2fee8(%rip),%ymm8        # 3c60c <_sk_srcover_bgra_8888_sse2_lowp+0x3c0>
+  .byte  196,193,69,219,248                  // vpand         %ymm8,%ymm7,%ymm7
+  .byte  197,252,91,255                      // vcvtdq2ps     %ymm7,%ymm7
+  .byte  196,98,125,24,5,218,254,2,0         // vbroadcastss  0x2feda(%rip),%ymm8        # 3c610 <_sk_srcover_bgra_8888_sse2_lowp+0x3c4>
+  .byte  196,193,68,89,248                   // vmulps        %ymm8,%ymm7,%ymm7
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  15,135,106,255,255,255              // ja            c6bb <_sk_load_4444_dst_hsw+0x1f>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,97,0,0,0                  // lea           0x61(%rip),%r9        # c7bc <_sk_load_4444_dst_hsw+0x120>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  197,249,110,224                     // vmovd         %eax,%xmm4
+  .byte  233,73,255,255,255                  // jmpq          c6bb <_sk_load_4444_dst_hsw+0x1f>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  196,193,89,196,100,80,4,2           // vpinsrw       $0x2,0x4(%r8,%rdx,2),%xmm4,%xmm4
+  .byte  196,193,121,110,44,80               // vmovd         (%r8,%rdx,2),%xmm5
+  .byte  196,227,89,2,229,1                  // vpblendd      $0x1,%xmm5,%xmm4,%xmm4
+  .byte  233,44,255,255,255                  // jmpq          c6bb <_sk_load_4444_dst_hsw+0x1f>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  196,193,89,196,100,80,12,6          // vpinsrw       $0x6,0xc(%r8,%rdx,2),%xmm4,%xmm4
+  .byte  196,193,89,196,100,80,10,5          // vpinsrw       $0x5,0xa(%r8,%rdx,2),%xmm4,%xmm4
+  .byte  196,193,89,196,100,80,8,4           // vpinsrw       $0x4,0x8(%r8,%rdx,2),%xmm4,%xmm4
+  .byte  196,193,122,126,44,80               // vmovq         (%r8,%rdx,2),%xmm5
+  .byte  196,227,81,2,228,12                 // vpblendd      $0xc,%xmm4,%xmm5,%xmm4
+  .byte  233,255,254,255,255                 // jmpq          c6bb <_sk_load_4444_dst_hsw+0x1f>
+  .byte  168,255                             // test          $0xff,%al
+  .byte  255                                 // (bad)
+  .byte  255,194                             // inc           %edx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,182,255,255,255,239             // pushq         -0x10000001(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,231                             // jmpq          *%rdi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  223,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,211                             // callq         *%rbx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_gather_4444_hsw
+.globl _sk_gather_4444_hsw
+FUNCTION(_sk_gather_4444_hsw)
+_sk_gather_4444_hsw:
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,88,80,12                // vpbroadcastd  0xc(%rax),%ymm2
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  197,237,254,211                     // vpaddd        %ymm3,%ymm2,%ymm2
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,188,95,192                      // vmaxps        %ymm0,%ymm8,%ymm0
+  .byte  197,252,93,194                      // vminps        %ymm2,%ymm0,%ymm0
+  .byte  196,226,125,88,80,16                // vpbroadcastd  0x10(%rax),%ymm2
+  .byte  197,237,254,211                     // vpaddd        %ymm3,%ymm2,%ymm2
+  .byte  197,188,95,201                      // vmaxps        %ymm1,%ymm8,%ymm1
+  .byte  197,244,93,202                      // vminps        %ymm2,%ymm1,%ymm1
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
+  .byte  196,226,125,88,80,8                 // vpbroadcastd  0x8(%rax),%ymm2
+  .byte  196,226,109,64,201                  // vpmulld       %ymm1,%ymm2,%ymm1
+  .byte  197,254,91,192                      // vcvttps2dq    %ymm0,%ymm0
+  .byte  197,245,254,192                     // vpaddd        %ymm0,%ymm1,%ymm0
+  .byte  196,227,249,22,192,1                // vpextrq       $0x1,%xmm0,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  196,193,249,126,194                 // vmovq         %xmm0,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,227,125,57,192,1                // vextracti128  $0x1,%ymm0,%xmm0
+  .byte  196,227,249,22,195,1                // vpextrq       $0x1,%xmm0,%rbx
+  .byte  65,137,222                          // mov           %ebx,%r14d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  196,193,249,126,199                 // vmovq         %xmm0,%r15
+  .byte  69,137,252                          // mov           %r15d,%r12d
+  .byte  73,193,239,32                       // shr           $0x20,%r15
+  .byte  71,15,183,20,80                     // movzwl        (%r8,%r10,2),%r10d
+  .byte  71,15,183,28,88                     // movzwl        (%r8,%r11,2),%r11d
+  .byte  196,193,121,110,195                 // vmovd         %r11d,%xmm0
+  .byte  196,193,121,196,194,1               // vpinsrw       $0x1,%r10d,%xmm0,%xmm0
+  .byte  71,15,183,12,72                     // movzwl        (%r8,%r9,2),%r9d
+  .byte  196,193,121,196,193,2               // vpinsrw       $0x2,%r9d,%xmm0,%xmm0
+  .byte  65,15,183,4,64                      // movzwl        (%r8,%rax,2),%eax
+  .byte  197,249,196,192,3                   // vpinsrw       $0x3,%eax,%xmm0,%xmm0
+  .byte  67,15,183,4,96                      // movzwl        (%r8,%r12,2),%eax
+  .byte  197,249,196,192,4                   // vpinsrw       $0x4,%eax,%xmm0,%xmm0
+  .byte  67,15,183,4,120                     // movzwl        (%r8,%r15,2),%eax
+  .byte  197,249,196,192,5                   // vpinsrw       $0x5,%eax,%xmm0,%xmm0
+  .byte  67,15,183,4,112                     // movzwl        (%r8,%r14,2),%eax
+  .byte  197,249,196,192,6                   // vpinsrw       $0x6,%eax,%xmm0,%xmm0
+  .byte  65,15,183,4,88                      // movzwl        (%r8,%rbx,2),%eax
+  .byte  197,249,196,192,7                   // vpinsrw       $0x7,%eax,%xmm0,%xmm0
+  .byte  196,226,125,51,216                  // vpmovzxwd     %xmm0,%ymm3
+  .byte  196,226,125,88,5,52,253,2,0         // vpbroadcastd  0x2fd34(%rip),%ymm0        # 3c5f4 <_sk_srcover_bgra_8888_sse2_lowp+0x3a8>
+  .byte  197,229,219,192                     // vpand         %ymm0,%ymm3,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,226,125,24,13,39,253,2,0        // vbroadcastss  0x2fd27(%rip),%ymm1        # 3c5f8 <_sk_srcover_bgra_8888_sse2_lowp+0x3ac>
+  .byte  197,252,89,193                      // vmulps        %ymm1,%ymm0,%ymm0
+  .byte  196,226,125,88,13,30,253,2,0        // vpbroadcastd  0x2fd1e(%rip),%ymm1        # 3c5fc <_sk_srcover_bgra_8888_sse2_lowp+0x3b0>
+  .byte  197,229,219,201                     // vpand         %ymm1,%ymm3,%ymm1
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  196,226,125,24,21,17,253,2,0        // vbroadcastss  0x2fd11(%rip),%ymm2        # 3c600 <_sk_srcover_bgra_8888_sse2_lowp+0x3b4>
+  .byte  197,244,89,202                      // vmulps        %ymm2,%ymm1,%ymm1
+  .byte  196,226,125,88,21,8,253,2,0         // vpbroadcastd  0x2fd08(%rip),%ymm2        # 3c604 <_sk_srcover_bgra_8888_sse2_lowp+0x3b8>
+  .byte  197,229,219,210                     // vpand         %ymm2,%ymm3,%ymm2
+  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
+  .byte  196,98,125,24,5,251,252,2,0         // vbroadcastss  0x2fcfb(%rip),%ymm8        # 3c608 <_sk_srcover_bgra_8888_sse2_lowp+0x3bc>
+  .byte  196,193,108,89,208                  // vmulps        %ymm8,%ymm2,%ymm2
+  .byte  196,98,125,88,5,241,252,2,0         // vpbroadcastd  0x2fcf1(%rip),%ymm8        # 3c60c <_sk_srcover_bgra_8888_sse2_lowp+0x3c0>
+  .byte  196,193,101,219,216                 // vpand         %ymm8,%ymm3,%ymm3
+  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
+  .byte  196,98,125,24,5,227,252,2,0         // vbroadcastss  0x2fce3(%rip),%ymm8        # 3c610 <_sk_srcover_bgra_8888_sse2_lowp+0x3c4>
+  .byte  196,193,100,89,216                  // vmulps        %ymm8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_store_4444_hsw
+.globl _sk_store_4444_hsw
+FUNCTION(_sk_store_4444_hsw)
+_sk_store_4444_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,60,95,200                       // vmaxps        %ymm0,%ymm8,%ymm9
+  .byte  196,98,125,24,21,157,251,2,0        // vbroadcastss  0x2fb9d(%rip),%ymm10        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,65,52,93,202                    // vminps        %ymm10,%ymm9,%ymm9
+  .byte  196,98,125,24,29,167,252,2,0        // vbroadcastss  0x2fca7(%rip),%ymm11        # 3c614 <_sk_srcover_bgra_8888_sse2_lowp+0x3c8>
+  .byte  196,65,52,89,203                    // vmulps        %ymm11,%ymm9,%ymm9
+  .byte  196,65,125,91,201                   // vcvtps2dq     %ymm9,%ymm9
+  .byte  196,193,53,114,241,12               // vpslld        $0xc,%ymm9,%ymm9
+  .byte  197,60,95,225                       // vmaxps        %ymm1,%ymm8,%ymm12
+  .byte  196,65,28,93,226                    // vminps        %ymm10,%ymm12,%ymm12
+  .byte  196,65,28,89,227                    // vmulps        %ymm11,%ymm12,%ymm12
+  .byte  196,65,125,91,228                   // vcvtps2dq     %ymm12,%ymm12
+  .byte  196,193,29,114,244,8                // vpslld        $0x8,%ymm12,%ymm12
+  .byte  196,65,29,235,201                   // vpor          %ymm9,%ymm12,%ymm9
+  .byte  197,60,95,226                       // vmaxps        %ymm2,%ymm8,%ymm12
+  .byte  196,65,28,93,226                    // vminps        %ymm10,%ymm12,%ymm12
+  .byte  196,65,28,89,227                    // vmulps        %ymm11,%ymm12,%ymm12
+  .byte  196,65,125,91,228                   // vcvtps2dq     %ymm12,%ymm12
+  .byte  196,193,29,114,244,4                // vpslld        $0x4,%ymm12,%ymm12
+  .byte  197,60,95,195                       // vmaxps        %ymm3,%ymm8,%ymm8
+  .byte  196,65,60,93,194                    // vminps        %ymm10,%ymm8,%ymm8
+  .byte  196,65,60,89,195                    // vmulps        %ymm11,%ymm8,%ymm8
+  .byte  196,65,125,91,192                   // vcvtps2dq     %ymm8,%ymm8
+  .byte  196,65,29,235,192                   // vpor          %ymm8,%ymm12,%ymm8
+  .byte  196,65,53,235,192                   // vpor          %ymm8,%ymm9,%ymm8
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,66,57,43,193                    // vpackusdw     %xmm9,%xmm8,%xmm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,10                              // jne           c9eb <_sk_store_4444_hsw+0xae>
+  .byte  196,65,122,127,4,80                 // vmovdqu       %xmm8,(%r8,%rdx,2)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,242                             // ja            c9e7 <_sk_store_4444_hsw+0xaa>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,69,0,0,0                  // lea           0x45(%rip),%r9        # ca44 <_sk_store_4444_hsw+0x107>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,67,121,21,4,80,0                // vpextrw       $0x0,%xmm8,(%r8,%rdx,2)
+  .byte  235,214                             // jmp           c9e7 <_sk_store_4444_hsw+0xaa>
+  .byte  196,67,121,21,68,80,4,2             // vpextrw       $0x2,%xmm8,0x4(%r8,%rdx,2)
+  .byte  196,65,121,126,4,80                 // vmovd         %xmm8,(%r8,%rdx,2)
+  .byte  235,198                             // jmp           c9e7 <_sk_store_4444_hsw+0xaa>
+  .byte  196,67,121,21,68,80,12,6            // vpextrw       $0x6,%xmm8,0xc(%r8,%rdx,2)
+  .byte  196,67,121,21,68,80,10,5            // vpextrw       $0x5,%xmm8,0xa(%r8,%rdx,2)
+  .byte  196,67,121,21,68,80,8,4             // vpextrw       $0x4,%xmm8,0x8(%r8,%rdx,2)
+  .byte  196,65,121,214,4,80                 // vmovq         %xmm8,(%r8,%rdx,2)
+  .byte  235,166                             // jmp           c9e7 <_sk_store_4444_hsw+0xaa>
+  .byte  15,31,0                             // nopl          (%rax)
+  .byte  196                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,213                             // callq         *%rbp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,205                             // dec           %ebp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,245                             // push          %rbp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  237                                 // in            (%dx),%eax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,229                             // jmpq          *%rbp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  221,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_8888_hsw
+.globl _sk_load_8888_hsw
+FUNCTION(_sk_load_8888_hsw)
+_sk_load_8888_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,86                              // jne           cacc <_sk_load_8888_hsw+0x6c>
+  .byte  196,193,126,111,28,144              // vmovdqu       (%r8,%rdx,4),%ymm3
+  .byte  197,229,219,5,156,253,2,0           // vpand         0x2fd9c(%rip),%ymm3,%ymm0        # 3c820 <_sk_srcover_bgra_8888_sse2_lowp+0x5d4>
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,98,125,24,5,227,250,2,0         // vbroadcastss  0x2fae3(%rip),%ymm8        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
+  .byte  196,226,101,0,13,161,253,2,0        // vpshufb       0x2fda1(%rip),%ymm3,%ymm1        # 3c840 <_sk_srcover_bgra_8888_sse2_lowp+0x5f4>
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  196,193,116,89,200                  // vmulps        %ymm8,%ymm1,%ymm1
+  .byte  196,226,101,0,21,175,253,2,0        // vpshufb       0x2fdaf(%rip),%ymm3,%ymm2        # 3c860 <_sk_srcover_bgra_8888_sse2_lowp+0x614>
+  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
+  .byte  196,193,108,89,208                  // vmulps        %ymm8,%ymm2,%ymm2
+  .byte  197,229,114,211,24                  // vpsrld        $0x18,%ymm3,%ymm3
+  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
+  .byte  196,193,100,89,216                  // vmulps        %ymm8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  197,229,239,219                     // vpxor         %ymm3,%ymm3,%ymm3
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,162                             // ja            ca7c <_sk_load_8888_hsw+0x1c>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,136,0,0,0                 // lea           0x88(%rip),%r9        # cb6c <_sk_load_8888_hsw+0x10c>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,193,121,110,28,144              // vmovd         (%r8,%rdx,4),%xmm3
+  .byte  235,135                             // jmp           ca7c <_sk_load_8888_hsw+0x1c>
+  .byte  196,193,121,110,68,144,8            // vmovd         0x8(%r8,%rdx,4),%xmm0
+  .byte  196,226,121,89,192                  // vpbroadcastq  %xmm0,%xmm0
+  .byte  197,245,239,201                     // vpxor         %ymm1,%ymm1,%ymm1
+  .byte  196,227,117,2,216,4                 // vpblendd      $0x4,%ymm0,%ymm1,%ymm3
+  .byte  196,193,122,126,4,144               // vmovq         (%r8,%rdx,4),%xmm0
+  .byte  196,227,101,2,216,3                 // vpblendd      $0x3,%ymm0,%ymm3,%ymm3
+  .byte  233,96,255,255,255                  // jmpq          ca7c <_sk_load_8888_hsw+0x1c>
+  .byte  196,193,121,110,68,144,24           // vmovd         0x18(%r8,%rdx,4),%xmm0
+  .byte  196,226,125,89,192                  // vpbroadcastq  %xmm0,%ymm0
+  .byte  197,245,239,201                     // vpxor         %ymm1,%ymm1,%ymm1
+  .byte  196,227,117,2,216,64                // vpblendd      $0x40,%ymm0,%ymm1,%ymm3
+  .byte  196,227,125,57,216,1                // vextracti128  $0x1,%ymm3,%xmm0
+  .byte  196,195,121,34,68,144,20,1          // vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm0,%xmm0
+  .byte  196,227,101,56,216,1                // vinserti128   $0x1,%xmm0,%ymm3,%ymm3
+  .byte  196,227,125,57,216,1                // vextracti128  $0x1,%ymm3,%xmm0
+  .byte  196,195,121,34,68,144,16,0          // vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm0,%xmm0
+  .byte  196,227,101,56,216,1                // vinserti128   $0x1,%xmm0,%ymm3,%ymm3
+  .byte  196,193,122,111,4,144               // vmovdqu       (%r8,%rdx,4),%xmm0
+  .byte  196,227,125,2,219,240               // vpblendd      $0xf0,%ymm3,%ymm0,%ymm3
+  .byte  233,17,255,255,255                  // jmpq          ca7c <_sk_load_8888_hsw+0x1c>
+  .byte  144                                 // nop
+  .byte  129,255,255,255,159,255             // cmp           $0xff9fffff,%edi
+  .byte  255                                 // (bad)
+  .byte  255,137,255,255,255,238             // decl          -0x11000001(%rcx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  218,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,198                             // inc           %esi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+  .byte  176,255                             // mov           $0xff,%al
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_8888_dst_hsw
+.globl _sk_load_8888_dst_hsw
+FUNCTION(_sk_load_8888_dst_hsw)
+_sk_load_8888_dst_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,86                              // jne           cbf4 <_sk_load_8888_dst_hsw+0x6c>
+  .byte  196,193,126,111,60,144              // vmovdqu       (%r8,%rdx,4),%ymm7
+  .byte  197,197,219,37,212,252,2,0          // vpand         0x2fcd4(%rip),%ymm7,%ymm4        # 3c880 <_sk_srcover_bgra_8888_sse2_lowp+0x634>
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  196,98,125,24,5,187,249,2,0         // vbroadcastss  0x2f9bb(%rip),%ymm8        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  196,193,92,89,224                   // vmulps        %ymm8,%ymm4,%ymm4
+  .byte  196,226,69,0,45,217,252,2,0         // vpshufb       0x2fcd9(%rip),%ymm7,%ymm5        # 3c8a0 <_sk_srcover_bgra_8888_sse2_lowp+0x654>
+  .byte  197,252,91,237                      // vcvtdq2ps     %ymm5,%ymm5
+  .byte  196,193,84,89,232                   // vmulps        %ymm8,%ymm5,%ymm5
+  .byte  196,226,69,0,53,231,252,2,0         // vpshufb       0x2fce7(%rip),%ymm7,%ymm6        # 3c8c0 <_sk_srcover_bgra_8888_sse2_lowp+0x674>
+  .byte  197,252,91,246                      // vcvtdq2ps     %ymm6,%ymm6
+  .byte  196,193,76,89,240                   // vmulps        %ymm8,%ymm6,%ymm6
+  .byte  197,197,114,215,24                  // vpsrld        $0x18,%ymm7,%ymm7
+  .byte  197,252,91,255                      // vcvtdq2ps     %ymm7,%ymm7
+  .byte  196,193,68,89,248                   // vmulps        %ymm8,%ymm7,%ymm7
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  197,197,239,255                     // vpxor         %ymm7,%ymm7,%ymm7
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,162                             // ja            cba4 <_sk_load_8888_dst_hsw+0x1c>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,136,0,0,0                 // lea           0x88(%rip),%r9        # cc94 <_sk_load_8888_dst_hsw+0x10c>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,193,121,110,60,144              // vmovd         (%r8,%rdx,4),%xmm7
+  .byte  235,135                             // jmp           cba4 <_sk_load_8888_dst_hsw+0x1c>
+  .byte  196,193,121,110,100,144,8           // vmovd         0x8(%r8,%rdx,4),%xmm4
+  .byte  196,226,121,89,228                  // vpbroadcastq  %xmm4,%xmm4
+  .byte  197,213,239,237                     // vpxor         %ymm5,%ymm5,%ymm5
+  .byte  196,227,85,2,252,4                  // vpblendd      $0x4,%ymm4,%ymm5,%ymm7
+  .byte  196,193,122,126,36,144              // vmovq         (%r8,%rdx,4),%xmm4
+  .byte  196,227,69,2,252,3                  // vpblendd      $0x3,%ymm4,%ymm7,%ymm7
+  .byte  233,96,255,255,255                  // jmpq          cba4 <_sk_load_8888_dst_hsw+0x1c>
+  .byte  196,193,121,110,100,144,24          // vmovd         0x18(%r8,%rdx,4),%xmm4
+  .byte  196,226,125,89,228                  // vpbroadcastq  %xmm4,%ymm4
+  .byte  197,213,239,237                     // vpxor         %ymm5,%ymm5,%ymm5
+  .byte  196,227,85,2,252,64                 // vpblendd      $0x40,%ymm4,%ymm5,%ymm7
+  .byte  196,227,125,57,252,1                // vextracti128  $0x1,%ymm7,%xmm4
+  .byte  196,195,89,34,100,144,20,1          // vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm4,%xmm4
+  .byte  196,227,69,56,252,1                 // vinserti128   $0x1,%xmm4,%ymm7,%ymm7
+  .byte  196,227,125,57,252,1                // vextracti128  $0x1,%ymm7,%xmm4
+  .byte  196,195,89,34,100,144,16,0          // vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm4,%xmm4
+  .byte  196,227,69,56,252,1                 // vinserti128   $0x1,%xmm4,%ymm7,%ymm7
+  .byte  196,193,122,111,36,144              // vmovdqu       (%r8,%rdx,4),%xmm4
+  .byte  196,227,93,2,255,240                // vpblendd      $0xf0,%ymm7,%ymm4,%ymm7
+  .byte  233,17,255,255,255                  // jmpq          cba4 <_sk_load_8888_dst_hsw+0x1c>
+  .byte  144                                 // nop
+  .byte  129,255,255,255,159,255             // cmp           $0xff9fffff,%edi
+  .byte  255                                 // (bad)
+  .byte  255,137,255,255,255,238             // decl          -0x11000001(%rcx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  218,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,198                             // inc           %esi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+  .byte  176,255                             // mov           $0xff,%al
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_gather_8888_hsw
+.globl _sk_gather_8888_hsw
+FUNCTION(_sk_gather_8888_hsw)
+_sk_gather_8888_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,88,80,12                // vpbroadcastd  0xc(%rax),%ymm2
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  197,237,254,211                     // vpaddd        %ymm3,%ymm2,%ymm2
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,188,95,192                      // vmaxps        %ymm0,%ymm8,%ymm0
+  .byte  197,252,93,194                      // vminps        %ymm2,%ymm0,%ymm0
+  .byte  196,226,125,88,80,16                // vpbroadcastd  0x10(%rax),%ymm2
+  .byte  197,237,254,211                     // vpaddd        %ymm3,%ymm2,%ymm2
+  .byte  197,188,95,201                      // vmaxps        %ymm1,%ymm8,%ymm1
+  .byte  197,244,93,202                      // vminps        %ymm2,%ymm1,%ymm1
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
+  .byte  196,226,125,88,80,8                 // vpbroadcastd  0x8(%rax),%ymm2
+  .byte  196,226,109,64,201                  // vpmulld       %ymm1,%ymm2,%ymm1
+  .byte  197,254,91,192                      // vcvttps2dq    %ymm0,%ymm0
+  .byte  197,245,254,192                     // vpaddd        %ymm0,%ymm1,%ymm0
+  .byte  196,66,101,144,4,128                // vpgatherdd    %ymm3,(%r8,%ymm0,4),%ymm8
+  .byte  197,189,219,5,217,251,2,0           // vpand         0x2fbd9(%rip),%ymm8,%ymm0        # 3c8e0 <_sk_srcover_bgra_8888_sse2_lowp+0x694>
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,226,125,24,29,96,248,2,0        // vbroadcastss  0x2f860(%rip),%ymm3        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  197,252,89,195                      // vmulps        %ymm3,%ymm0,%ymm0
+  .byte  196,226,61,0,13,223,251,2,0         // vpshufb       0x2fbdf(%rip),%ymm8,%ymm1        # 3c900 <_sk_srcover_bgra_8888_sse2_lowp+0x6b4>
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  197,244,89,203                      // vmulps        %ymm3,%ymm1,%ymm1
+  .byte  196,226,61,0,21,238,251,2,0         // vpshufb       0x2fbee(%rip),%ymm8,%ymm2        # 3c920 <_sk_srcover_bgra_8888_sse2_lowp+0x6d4>
+  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
+  .byte  197,236,89,211                      // vmulps        %ymm3,%ymm2,%ymm2
+  .byte  196,193,61,114,208,24               // vpsrld        $0x18,%ymm8,%ymm8
+  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
+  .byte  197,188,89,219                      // vmulps        %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_store_8888_hsw
+.globl _sk_store_8888_hsw
+FUNCTION(_sk_store_8888_hsw)
+_sk_store_8888_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,60,95,200                       // vmaxps        %ymm0,%ymm8,%ymm9
+  .byte  196,98,125,24,21,140,247,2,0        // vbroadcastss  0x2f78c(%rip),%ymm10        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,65,52,93,202                    // vminps        %ymm10,%ymm9,%ymm9
+  .byte  196,98,125,24,29,170,247,2,0        // vbroadcastss  0x2f7aa(%rip),%ymm11        # 3c528 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  .byte  196,65,52,89,203                    // vmulps        %ymm11,%ymm9,%ymm9
+  .byte  196,65,125,91,201                   // vcvtps2dq     %ymm9,%ymm9
+  .byte  197,60,95,225                       // vmaxps        %ymm1,%ymm8,%ymm12
+  .byte  196,65,28,93,226                    // vminps        %ymm10,%ymm12,%ymm12
+  .byte  196,65,28,89,227                    // vmulps        %ymm11,%ymm12,%ymm12
+  .byte  196,65,125,91,228                   // vcvtps2dq     %ymm12,%ymm12
+  .byte  196,193,29,114,244,8                // vpslld        $0x8,%ymm12,%ymm12
+  .byte  196,65,29,235,201                   // vpor          %ymm9,%ymm12,%ymm9
+  .byte  197,60,95,226                       // vmaxps        %ymm2,%ymm8,%ymm12
+  .byte  196,65,28,93,226                    // vminps        %ymm10,%ymm12,%ymm12
+  .byte  196,65,28,89,227                    // vmulps        %ymm11,%ymm12,%ymm12
+  .byte  196,65,125,91,228                   // vcvtps2dq     %ymm12,%ymm12
+  .byte  196,193,29,114,244,16               // vpslld        $0x10,%ymm12,%ymm12
+  .byte  197,60,95,195                       // vmaxps        %ymm3,%ymm8,%ymm8
+  .byte  196,65,60,93,194                    // vminps        %ymm10,%ymm8,%ymm8
+  .byte  196,65,60,89,195                    // vmulps        %ymm11,%ymm8,%ymm8
+  .byte  196,65,125,91,192                   // vcvtps2dq     %ymm8,%ymm8
+  .byte  196,193,61,114,240,24               // vpslld        $0x18,%ymm8,%ymm8
+  .byte  196,65,29,235,192                   // vpor          %ymm8,%ymm12,%ymm8
+  .byte  196,65,53,235,192                   // vpor          %ymm8,%ymm9,%ymm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,10                              // jne           cdf1 <_sk_store_8888_hsw+0xa4>
+  .byte  196,65,126,127,4,144                // vmovdqu       %ymm8,(%r8,%rdx,4)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,242                             // ja            cded <_sk_store_8888_hsw+0xa0>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,83,0,0,0                  // lea           0x53(%rip),%r9        # ce58 <_sk_store_8888_hsw+0x10b>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,65,121,126,4,144                // vmovd         %xmm8,(%r8,%rdx,4)
+  .byte  235,215                             // jmp           cded <_sk_store_8888_hsw+0xa0>
+  .byte  196,67,121,22,68,144,8,2            // vpextrd       $0x2,%xmm8,0x8(%r8,%rdx,4)
+  .byte  196,65,121,214,4,144                // vmovq         %xmm8,(%r8,%rdx,4)
+  .byte  235,199                             // jmp           cded <_sk_store_8888_hsw+0xa0>
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,22,76,144,24,2           // vpextrd       $0x2,%xmm9,0x18(%r8,%rdx,4)
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,22,76,144,20,1           // vpextrd       $0x1,%xmm9,0x14(%r8,%rdx,4)
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,65,121,126,76,144,16            // vmovd         %xmm9,0x10(%r8,%rdx,4)
+  .byte  196,65,122,127,4,144                // vmovdqu       %xmm8,(%r8,%rdx,4)
+  .byte  235,150                             // jmp           cded <_sk_store_8888_hsw+0xa0>
+  .byte  144                                 // nop
+  .byte  182,255                             // mov           $0xff,%dh
+  .byte  255                                 // (bad)
+  .byte  255,198                             // inc           %esi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  190,255,255,255,247                 // mov           $0xf7ffffff,%esi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  234                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  220,255                             // fdivr         %st,%st(7)
+  .byte  255                                 // (bad)
+  .byte  255,206                             // dec           %esi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_bgra_hsw
+.globl _sk_load_bgra_hsw
+FUNCTION(_sk_load_bgra_hsw)
+_sk_load_bgra_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,86                              // jne           cee0 <_sk_load_bgra_hsw+0x6c>
+  .byte  196,193,126,111,28,144              // vmovdqu       (%r8,%rdx,4),%ymm3
+  .byte  197,229,219,5,168,250,2,0           // vpand         0x2faa8(%rip),%ymm3,%ymm0        # 3c940 <_sk_srcover_bgra_8888_sse2_lowp+0x6f4>
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,98,125,24,5,207,246,2,0         // vbroadcastss  0x2f6cf(%rip),%ymm8        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  196,193,124,89,208                  // vmulps        %ymm8,%ymm0,%ymm2
+  .byte  196,226,101,0,5,173,250,2,0         // vpshufb       0x2faad(%rip),%ymm3,%ymm0        # 3c960 <_sk_srcover_bgra_8888_sse2_lowp+0x714>
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,193,124,89,200                  // vmulps        %ymm8,%ymm0,%ymm1
+  .byte  196,226,101,0,5,187,250,2,0         // vpshufb       0x2fabb(%rip),%ymm3,%ymm0        # 3c980 <_sk_srcover_bgra_8888_sse2_lowp+0x734>
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
+  .byte  197,229,114,211,24                  // vpsrld        $0x18,%ymm3,%ymm3
+  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
+  .byte  196,193,100,89,216                  // vmulps        %ymm8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  197,229,239,219                     // vpxor         %ymm3,%ymm3,%ymm3
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,162                             // ja            ce90 <_sk_load_bgra_hsw+0x1c>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,136,0,0,0                 // lea           0x88(%rip),%r9        # cf80 <_sk_load_bgra_hsw+0x10c>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,193,121,110,28,144              // vmovd         (%r8,%rdx,4),%xmm3
+  .byte  235,135                             // jmp           ce90 <_sk_load_bgra_hsw+0x1c>
+  .byte  196,193,121,110,68,144,8            // vmovd         0x8(%r8,%rdx,4),%xmm0
+  .byte  196,226,121,89,192                  // vpbroadcastq  %xmm0,%xmm0
+  .byte  197,245,239,201                     // vpxor         %ymm1,%ymm1,%ymm1
+  .byte  196,227,117,2,216,4                 // vpblendd      $0x4,%ymm0,%ymm1,%ymm3
+  .byte  196,193,122,126,4,144               // vmovq         (%r8,%rdx,4),%xmm0
+  .byte  196,227,101,2,216,3                 // vpblendd      $0x3,%ymm0,%ymm3,%ymm3
+  .byte  233,96,255,255,255                  // jmpq          ce90 <_sk_load_bgra_hsw+0x1c>
+  .byte  196,193,121,110,68,144,24           // vmovd         0x18(%r8,%rdx,4),%xmm0
+  .byte  196,226,125,89,192                  // vpbroadcastq  %xmm0,%ymm0
+  .byte  197,245,239,201                     // vpxor         %ymm1,%ymm1,%ymm1
+  .byte  196,227,117,2,216,64                // vpblendd      $0x40,%ymm0,%ymm1,%ymm3
+  .byte  196,227,125,57,216,1                // vextracti128  $0x1,%ymm3,%xmm0
+  .byte  196,195,121,34,68,144,20,1          // vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm0,%xmm0
+  .byte  196,227,101,56,216,1                // vinserti128   $0x1,%xmm0,%ymm3,%ymm3
+  .byte  196,227,125,57,216,1                // vextracti128  $0x1,%ymm3,%xmm0
+  .byte  196,195,121,34,68,144,16,0          // vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm0,%xmm0
+  .byte  196,227,101,56,216,1                // vinserti128   $0x1,%xmm0,%ymm3,%ymm3
+  .byte  196,193,122,111,4,144               // vmovdqu       (%r8,%rdx,4),%xmm0
+  .byte  196,227,125,2,219,240               // vpblendd      $0xf0,%ymm3,%ymm0,%ymm3
+  .byte  233,17,255,255,255                  // jmpq          ce90 <_sk_load_bgra_hsw+0x1c>
+  .byte  144                                 // nop
+  .byte  129,255,255,255,159,255             // cmp           $0xff9fffff,%edi
+  .byte  255                                 // (bad)
+  .byte  255,137,255,255,255,238             // decl          -0x11000001(%rcx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  218,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,198                             // inc           %esi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+  .byte  176,255                             // mov           $0xff,%al
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_bgra_dst_hsw
+.globl _sk_load_bgra_dst_hsw
+FUNCTION(_sk_load_bgra_dst_hsw)
+_sk_load_bgra_dst_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,86                              // jne           d008 <_sk_load_bgra_dst_hsw+0x6c>
+  .byte  196,193,126,111,60,144              // vmovdqu       (%r8,%rdx,4),%ymm7
+  .byte  197,197,219,37,224,249,2,0          // vpand         0x2f9e0(%rip),%ymm7,%ymm4        # 3c9a0 <_sk_srcover_bgra_8888_sse2_lowp+0x754>
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  196,98,125,24,5,167,245,2,0         // vbroadcastss  0x2f5a7(%rip),%ymm8        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  196,193,92,89,240                   // vmulps        %ymm8,%ymm4,%ymm6
+  .byte  196,226,69,0,37,229,249,2,0         // vpshufb       0x2f9e5(%rip),%ymm7,%ymm4        # 3c9c0 <_sk_srcover_bgra_8888_sse2_lowp+0x774>
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  196,193,92,89,232                   // vmulps        %ymm8,%ymm4,%ymm5
+  .byte  196,226,69,0,37,243,249,2,0         // vpshufb       0x2f9f3(%rip),%ymm7,%ymm4        # 3c9e0 <_sk_srcover_bgra_8888_sse2_lowp+0x794>
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  196,193,92,89,224                   // vmulps        %ymm8,%ymm4,%ymm4
+  .byte  197,197,114,215,24                  // vpsrld        $0x18,%ymm7,%ymm7
+  .byte  197,252,91,255                      // vcvtdq2ps     %ymm7,%ymm7
+  .byte  196,193,68,89,248                   // vmulps        %ymm8,%ymm7,%ymm7
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  197,197,239,255                     // vpxor         %ymm7,%ymm7,%ymm7
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,162                             // ja            cfb8 <_sk_load_bgra_dst_hsw+0x1c>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,136,0,0,0                 // lea           0x88(%rip),%r9        # d0a8 <_sk_load_bgra_dst_hsw+0x10c>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,193,121,110,60,144              // vmovd         (%r8,%rdx,4),%xmm7
+  .byte  235,135                             // jmp           cfb8 <_sk_load_bgra_dst_hsw+0x1c>
+  .byte  196,193,121,110,100,144,8           // vmovd         0x8(%r8,%rdx,4),%xmm4
+  .byte  196,226,121,89,228                  // vpbroadcastq  %xmm4,%xmm4
+  .byte  197,213,239,237                     // vpxor         %ymm5,%ymm5,%ymm5
+  .byte  196,227,85,2,252,4                  // vpblendd      $0x4,%ymm4,%ymm5,%ymm7
+  .byte  196,193,122,126,36,144              // vmovq         (%r8,%rdx,4),%xmm4
+  .byte  196,227,69,2,252,3                  // vpblendd      $0x3,%ymm4,%ymm7,%ymm7
+  .byte  233,96,255,255,255                  // jmpq          cfb8 <_sk_load_bgra_dst_hsw+0x1c>
+  .byte  196,193,121,110,100,144,24          // vmovd         0x18(%r8,%rdx,4),%xmm4
+  .byte  196,226,125,89,228                  // vpbroadcastq  %xmm4,%ymm4
+  .byte  197,213,239,237                     // vpxor         %ymm5,%ymm5,%ymm5
+  .byte  196,227,85,2,252,64                 // vpblendd      $0x40,%ymm4,%ymm5,%ymm7
+  .byte  196,227,125,57,252,1                // vextracti128  $0x1,%ymm7,%xmm4
+  .byte  196,195,89,34,100,144,20,1          // vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm4,%xmm4
+  .byte  196,227,69,56,252,1                 // vinserti128   $0x1,%xmm4,%ymm7,%ymm7
+  .byte  196,227,125,57,252,1                // vextracti128  $0x1,%ymm7,%xmm4
+  .byte  196,195,89,34,100,144,16,0          // vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm4,%xmm4
+  .byte  196,227,69,56,252,1                 // vinserti128   $0x1,%xmm4,%ymm7,%ymm7
+  .byte  196,193,122,111,36,144              // vmovdqu       (%r8,%rdx,4),%xmm4
+  .byte  196,227,93,2,255,240                // vpblendd      $0xf0,%ymm7,%ymm4,%ymm7
+  .byte  233,17,255,255,255                  // jmpq          cfb8 <_sk_load_bgra_dst_hsw+0x1c>
+  .byte  144                                 // nop
+  .byte  129,255,255,255,159,255             // cmp           $0xff9fffff,%edi
+  .byte  255                                 // (bad)
+  .byte  255,137,255,255,255,238             // decl          -0x11000001(%rcx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  218,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,198                             // inc           %esi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+  .byte  176,255                             // mov           $0xff,%al
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_gather_bgra_hsw
+.globl _sk_gather_bgra_hsw
+FUNCTION(_sk_gather_bgra_hsw)
+_sk_gather_bgra_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,88,80,12                // vpbroadcastd  0xc(%rax),%ymm2
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  197,237,254,211                     // vpaddd        %ymm3,%ymm2,%ymm2
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,188,95,192                      // vmaxps        %ymm0,%ymm8,%ymm0
+  .byte  197,252,93,194                      // vminps        %ymm2,%ymm0,%ymm0
+  .byte  196,226,125,88,80,16                // vpbroadcastd  0x10(%rax),%ymm2
+  .byte  197,237,254,211                     // vpaddd        %ymm3,%ymm2,%ymm2
+  .byte  197,188,95,201                      // vmaxps        %ymm1,%ymm8,%ymm1
+  .byte  197,244,93,202                      // vminps        %ymm2,%ymm1,%ymm1
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
+  .byte  196,226,125,88,80,8                 // vpbroadcastd  0x8(%rax),%ymm2
+  .byte  196,226,109,64,201                  // vpmulld       %ymm1,%ymm2,%ymm1
+  .byte  197,254,91,192                      // vcvttps2dq    %ymm0,%ymm0
+  .byte  197,245,254,192                     // vpaddd        %ymm0,%ymm1,%ymm0
+  .byte  196,66,101,144,4,128                // vpgatherdd    %ymm3,(%r8,%ymm0,4),%ymm8
+  .byte  197,189,219,5,229,248,2,0           // vpand         0x2f8e5(%rip),%ymm8,%ymm0        # 3ca00 <_sk_srcover_bgra_8888_sse2_lowp+0x7b4>
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,226,125,24,29,76,244,2,0        // vbroadcastss  0x2f44c(%rip),%ymm3        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  197,252,89,211                      // vmulps        %ymm3,%ymm0,%ymm2
+  .byte  196,226,61,0,5,235,248,2,0          // vpshufb       0x2f8eb(%rip),%ymm8,%ymm0        # 3ca20 <_sk_srcover_bgra_8888_sse2_lowp+0x7d4>
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  197,252,89,203                      // vmulps        %ymm3,%ymm0,%ymm1
+  .byte  196,226,61,0,5,250,248,2,0          // vpshufb       0x2f8fa(%rip),%ymm8,%ymm0        # 3ca40 <_sk_srcover_bgra_8888_sse2_lowp+0x7f4>
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  197,252,89,195                      // vmulps        %ymm3,%ymm0,%ymm0
+  .byte  196,193,61,114,208,24               // vpsrld        $0x18,%ymm8,%ymm8
+  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
+  .byte  197,188,89,219                      // vmulps        %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_store_bgra_hsw
+.globl _sk_store_bgra_hsw
+FUNCTION(_sk_store_bgra_hsw)
+_sk_store_bgra_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,60,95,202                       // vmaxps        %ymm2,%ymm8,%ymm9
+  .byte  196,98,125,24,21,120,243,2,0        // vbroadcastss  0x2f378(%rip),%ymm10        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,65,52,93,202                    // vminps        %ymm10,%ymm9,%ymm9
+  .byte  196,98,125,24,29,150,243,2,0        // vbroadcastss  0x2f396(%rip),%ymm11        # 3c528 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  .byte  196,65,52,89,203                    // vmulps        %ymm11,%ymm9,%ymm9
+  .byte  196,65,125,91,201                   // vcvtps2dq     %ymm9,%ymm9
+  .byte  197,60,95,225                       // vmaxps        %ymm1,%ymm8,%ymm12
+  .byte  196,65,28,93,226                    // vminps        %ymm10,%ymm12,%ymm12
+  .byte  196,65,28,89,227                    // vmulps        %ymm11,%ymm12,%ymm12
+  .byte  196,65,125,91,228                   // vcvtps2dq     %ymm12,%ymm12
+  .byte  196,193,29,114,244,8                // vpslld        $0x8,%ymm12,%ymm12
+  .byte  196,65,29,235,201                   // vpor          %ymm9,%ymm12,%ymm9
+  .byte  197,60,95,224                       // vmaxps        %ymm0,%ymm8,%ymm12
+  .byte  196,65,28,93,226                    // vminps        %ymm10,%ymm12,%ymm12
+  .byte  196,65,28,89,227                    // vmulps        %ymm11,%ymm12,%ymm12
+  .byte  196,65,125,91,228                   // vcvtps2dq     %ymm12,%ymm12
+  .byte  196,193,29,114,244,16               // vpslld        $0x10,%ymm12,%ymm12
+  .byte  197,60,95,195                       // vmaxps        %ymm3,%ymm8,%ymm8
+  .byte  196,65,60,93,194                    // vminps        %ymm10,%ymm8,%ymm8
+  .byte  196,65,60,89,195                    // vmulps        %ymm11,%ymm8,%ymm8
+  .byte  196,65,125,91,192                   // vcvtps2dq     %ymm8,%ymm8
+  .byte  196,193,61,114,240,24               // vpslld        $0x18,%ymm8,%ymm8
+  .byte  196,65,29,235,192                   // vpor          %ymm8,%ymm12,%ymm8
+  .byte  196,65,53,235,192                   // vpor          %ymm8,%ymm9,%ymm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,10                              // jne           d205 <_sk_store_bgra_hsw+0xa4>
+  .byte  196,65,126,127,4,144                // vmovdqu       %ymm8,(%r8,%rdx,4)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,242                             // ja            d201 <_sk_store_bgra_hsw+0xa0>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,83,0,0,0                  // lea           0x53(%rip),%r9        # d26c <_sk_store_bgra_hsw+0x10b>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,65,121,126,4,144                // vmovd         %xmm8,(%r8,%rdx,4)
+  .byte  235,215                             // jmp           d201 <_sk_store_bgra_hsw+0xa0>
+  .byte  196,67,121,22,68,144,8,2            // vpextrd       $0x2,%xmm8,0x8(%r8,%rdx,4)
+  .byte  196,65,121,214,4,144                // vmovq         %xmm8,(%r8,%rdx,4)
+  .byte  235,199                             // jmp           d201 <_sk_store_bgra_hsw+0xa0>
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,22,76,144,24,2           // vpextrd       $0x2,%xmm9,0x18(%r8,%rdx,4)
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,22,76,144,20,1           // vpextrd       $0x1,%xmm9,0x14(%r8,%rdx,4)
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,65,121,126,76,144,16            // vmovd         %xmm9,0x10(%r8,%rdx,4)
+  .byte  196,65,122,127,4,144                // vmovdqu       %xmm8,(%r8,%rdx,4)
+  .byte  235,150                             // jmp           d201 <_sk_store_bgra_hsw+0xa0>
+  .byte  144                                 // nop
+  .byte  182,255                             // mov           $0xff,%dh
+  .byte  255                                 // (bad)
+  .byte  255,198                             // inc           %esi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  190,255,255,255,247                 // mov           $0xf7ffffff,%esi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  234                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  220,255                             // fdivr         %st,%st(7)
+  .byte  255                                 // (bad)
+  .byte  255,206                             // dec           %esi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_1010102_hsw
+.globl _sk_load_1010102_hsw
+FUNCTION(_sk_load_1010102_hsw)
+_sk_load_1010102_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,100                             // jne           d302 <_sk_load_1010102_hsw+0x7a>
+  .byte  196,193,126,111,28,144              // vmovdqu       (%r8,%rdx,4),%ymm3
+  .byte  196,226,125,88,21,107,243,2,0       // vpbroadcastd  0x2f36b(%rip),%ymm2        # 3c618 <_sk_srcover_bgra_8888_sse2_lowp+0x3cc>
+  .byte  197,229,219,194                     // vpand         %ymm2,%ymm3,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,98,125,24,5,94,243,2,0          // vbroadcastss  0x2f35e(%rip),%ymm8        # 3c61c <_sk_srcover_bgra_8888_sse2_lowp+0x3d0>
+  .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
+  .byte  197,245,114,211,10                  // vpsrld        $0xa,%ymm3,%ymm1
+  .byte  197,245,219,202                     // vpand         %ymm2,%ymm1,%ymm1
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  196,193,116,89,200                  // vmulps        %ymm8,%ymm1,%ymm1
+  .byte  197,181,114,211,20                  // vpsrld        $0x14,%ymm3,%ymm9
+  .byte  197,181,219,210                     // vpand         %ymm2,%ymm9,%ymm2
+  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
+  .byte  196,193,108,89,208                  // vmulps        %ymm8,%ymm2,%ymm2
+  .byte  197,229,114,211,30                  // vpsrld        $0x1e,%ymm3,%ymm3
+  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
+  .byte  196,98,125,24,5,111,242,2,0         // vbroadcastss  0x2f26f(%rip),%ymm8        # 3c568 <_sk_srcover_bgra_8888_sse2_lowp+0x31c>
+  .byte  196,193,100,89,216                  // vmulps        %ymm8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  197,229,239,219                     // vpxor         %ymm3,%ymm3,%ymm3
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,148                             // ja            d2a4 <_sk_load_1010102_hsw+0x1c>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,138,0,0,0                 // lea           0x8a(%rip),%r9        # d3a4 <_sk_load_1010102_hsw+0x11c>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,193,121,110,28,144              // vmovd         (%r8,%rdx,4),%xmm3
+  .byte  233,118,255,255,255                 // jmpq          d2a4 <_sk_load_1010102_hsw+0x1c>
+  .byte  196,193,121,110,68,144,8            // vmovd         0x8(%r8,%rdx,4),%xmm0
+  .byte  196,226,121,89,192                  // vpbroadcastq  %xmm0,%xmm0
+  .byte  197,245,239,201                     // vpxor         %ymm1,%ymm1,%ymm1
+  .byte  196,227,117,2,216,4                 // vpblendd      $0x4,%ymm0,%ymm1,%ymm3
+  .byte  196,193,122,126,4,144               // vmovq         (%r8,%rdx,4),%xmm0
+  .byte  196,227,101,2,216,3                 // vpblendd      $0x3,%ymm0,%ymm3,%ymm3
+  .byte  233,79,255,255,255                  // jmpq          d2a4 <_sk_load_1010102_hsw+0x1c>
+  .byte  196,193,121,110,68,144,24           // vmovd         0x18(%r8,%rdx,4),%xmm0
+  .byte  196,226,125,89,192                  // vpbroadcastq  %xmm0,%ymm0
+  .byte  197,245,239,201                     // vpxor         %ymm1,%ymm1,%ymm1
+  .byte  196,227,117,2,216,64                // vpblendd      $0x40,%ymm0,%ymm1,%ymm3
+  .byte  196,227,125,57,216,1                // vextracti128  $0x1,%ymm3,%xmm0
+  .byte  196,195,121,34,68,144,20,1          // vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm0,%xmm0
+  .byte  196,227,101,56,216,1                // vinserti128   $0x1,%xmm0,%ymm3,%ymm3
+  .byte  196,227,125,57,216,1                // vextracti128  $0x1,%ymm3,%xmm0
+  .byte  196,195,121,34,68,144,16,0          // vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm0,%xmm0
+  .byte  196,227,101,56,216,1                // vinserti128   $0x1,%xmm0,%ymm3,%ymm3
+  .byte  196,193,122,111,4,144               // vmovdqu       (%r8,%rdx,4),%xmm0
+  .byte  196,227,125,2,219,240               // vpblendd      $0xf0,%ymm3,%ymm0,%ymm3
+  .byte  233,0,255,255,255                   // jmpq          d2a4 <_sk_load_1010102_hsw+0x1c>
+  .byte  127,255                             // jg            d3a5 <_sk_load_1010102_hsw+0x11d>
+  .byte  255                                 // (bad)
+  .byte  255,160,255,255,255,138             // jmpq          *-0x75000001(%rax)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  239                                 // out           %eax,(%dx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  219,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,199                             // inc           %edi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+  .byte  177,255                             // mov           $0xff,%cl
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_1010102_dst_hsw
+.globl _sk_load_1010102_dst_hsw
+FUNCTION(_sk_load_1010102_dst_hsw)
+_sk_load_1010102_dst_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,100                             // jne           d43a <_sk_load_1010102_dst_hsw+0x7a>
+  .byte  196,193,126,111,60,144              // vmovdqu       (%r8,%rdx,4),%ymm7
+  .byte  196,226,125,88,53,51,242,2,0        // vpbroadcastd  0x2f233(%rip),%ymm6        # 3c618 <_sk_srcover_bgra_8888_sse2_lowp+0x3cc>
+  .byte  197,197,219,230                     // vpand         %ymm6,%ymm7,%ymm4
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  196,98,125,24,5,38,242,2,0          // vbroadcastss  0x2f226(%rip),%ymm8        # 3c61c <_sk_srcover_bgra_8888_sse2_lowp+0x3d0>
+  .byte  196,193,92,89,224                   // vmulps        %ymm8,%ymm4,%ymm4
+  .byte  197,213,114,215,10                  // vpsrld        $0xa,%ymm7,%ymm5
+  .byte  197,213,219,238                     // vpand         %ymm6,%ymm5,%ymm5
+  .byte  197,252,91,237                      // vcvtdq2ps     %ymm5,%ymm5
+  .byte  196,193,84,89,232                   // vmulps        %ymm8,%ymm5,%ymm5
+  .byte  197,181,114,215,20                  // vpsrld        $0x14,%ymm7,%ymm9
+  .byte  197,181,219,246                     // vpand         %ymm6,%ymm9,%ymm6
+  .byte  197,252,91,246                      // vcvtdq2ps     %ymm6,%ymm6
+  .byte  196,193,76,89,240                   // vmulps        %ymm8,%ymm6,%ymm6
+  .byte  197,197,114,215,30                  // vpsrld        $0x1e,%ymm7,%ymm7
+  .byte  197,252,91,255                      // vcvtdq2ps     %ymm7,%ymm7
+  .byte  196,98,125,24,5,55,241,2,0          // vbroadcastss  0x2f137(%rip),%ymm8        # 3c568 <_sk_srcover_bgra_8888_sse2_lowp+0x31c>
+  .byte  196,193,68,89,248                   // vmulps        %ymm8,%ymm7,%ymm7
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  197,197,239,255                     // vpxor         %ymm7,%ymm7,%ymm7
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,148                             // ja            d3dc <_sk_load_1010102_dst_hsw+0x1c>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,138,0,0,0                 // lea           0x8a(%rip),%r9        # d4dc <_sk_load_1010102_dst_hsw+0x11c>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,193,121,110,60,144              // vmovd         (%r8,%rdx,4),%xmm7
+  .byte  233,118,255,255,255                 // jmpq          d3dc <_sk_load_1010102_dst_hsw+0x1c>
+  .byte  196,193,121,110,100,144,8           // vmovd         0x8(%r8,%rdx,4),%xmm4
+  .byte  196,226,121,89,228                  // vpbroadcastq  %xmm4,%xmm4
+  .byte  197,213,239,237                     // vpxor         %ymm5,%ymm5,%ymm5
+  .byte  196,227,85,2,252,4                  // vpblendd      $0x4,%ymm4,%ymm5,%ymm7
+  .byte  196,193,122,126,36,144              // vmovq         (%r8,%rdx,4),%xmm4
+  .byte  196,227,69,2,252,3                  // vpblendd      $0x3,%ymm4,%ymm7,%ymm7
+  .byte  233,79,255,255,255                  // jmpq          d3dc <_sk_load_1010102_dst_hsw+0x1c>
+  .byte  196,193,121,110,100,144,24          // vmovd         0x18(%r8,%rdx,4),%xmm4
+  .byte  196,226,125,89,228                  // vpbroadcastq  %xmm4,%ymm4
+  .byte  197,213,239,237                     // vpxor         %ymm5,%ymm5,%ymm5
+  .byte  196,227,85,2,252,64                 // vpblendd      $0x40,%ymm4,%ymm5,%ymm7
+  .byte  196,227,125,57,252,1                // vextracti128  $0x1,%ymm7,%xmm4
+  .byte  196,195,89,34,100,144,20,1          // vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm4,%xmm4
+  .byte  196,227,69,56,252,1                 // vinserti128   $0x1,%xmm4,%ymm7,%ymm7
+  .byte  196,227,125,57,252,1                // vextracti128  $0x1,%ymm7,%xmm4
+  .byte  196,195,89,34,100,144,16,0          // vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm4,%xmm4
+  .byte  196,227,69,56,252,1                 // vinserti128   $0x1,%xmm4,%ymm7,%ymm7
+  .byte  196,193,122,111,36,144              // vmovdqu       (%r8,%rdx,4),%xmm4
+  .byte  196,227,93,2,255,240                // vpblendd      $0xf0,%ymm7,%ymm4,%ymm7
+  .byte  233,0,255,255,255                   // jmpq          d3dc <_sk_load_1010102_dst_hsw+0x1c>
+  .byte  127,255                             // jg            d4dd <_sk_load_1010102_dst_hsw+0x11d>
+  .byte  255                                 // (bad)
+  .byte  255,160,255,255,255,138             // jmpq          *-0x75000001(%rax)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  239                                 // out           %eax,(%dx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  219,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,199                             // inc           %edi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+  .byte  177,255                             // mov           $0xff,%cl
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_gather_1010102_hsw
+.globl _sk_gather_1010102_hsw
+FUNCTION(_sk_gather_1010102_hsw)
+_sk_gather_1010102_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,88,80,12                // vpbroadcastd  0xc(%rax),%ymm2
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  197,237,254,211                     // vpaddd        %ymm3,%ymm2,%ymm2
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,188,95,192                      // vmaxps        %ymm0,%ymm8,%ymm0
+  .byte  197,252,93,194                      // vminps        %ymm2,%ymm0,%ymm0
+  .byte  196,226,125,88,80,16                // vpbroadcastd  0x10(%rax),%ymm2
+  .byte  197,237,254,211                     // vpaddd        %ymm3,%ymm2,%ymm2
+  .byte  197,188,95,201                      // vmaxps        %ymm1,%ymm8,%ymm1
+  .byte  197,244,93,202                      // vminps        %ymm2,%ymm1,%ymm1
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
+  .byte  196,226,125,88,80,8                 // vpbroadcastd  0x8(%rax),%ymm2
+  .byte  196,226,109,64,201                  // vpmulld       %ymm1,%ymm2,%ymm1
+  .byte  197,254,91,192                      // vcvttps2dq    %ymm0,%ymm0
+  .byte  197,245,254,192                     // vpaddd        %ymm0,%ymm1,%ymm0
+  .byte  196,66,101,144,4,128                // vpgatherdd    %ymm3,(%r8,%ymm0,4),%ymm8
+  .byte  196,226,125,88,21,200,240,2,0       // vpbroadcastd  0x2f0c8(%rip),%ymm2        # 3c618 <_sk_srcover_bgra_8888_sse2_lowp+0x3cc>
+  .byte  197,189,219,194                     // vpand         %ymm2,%ymm8,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,226,125,24,29,187,240,2,0       // vbroadcastss  0x2f0bb(%rip),%ymm3        # 3c61c <_sk_srcover_bgra_8888_sse2_lowp+0x3d0>
+  .byte  197,252,89,195                      // vmulps        %ymm3,%ymm0,%ymm0
+  .byte  196,193,117,114,208,10              // vpsrld        $0xa,%ymm8,%ymm1
+  .byte  197,245,219,202                     // vpand         %ymm2,%ymm1,%ymm1
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  197,244,89,203                      // vmulps        %ymm3,%ymm1,%ymm1
+  .byte  196,193,53,114,208,20               // vpsrld        $0x14,%ymm8,%ymm9
+  .byte  197,181,219,210                     // vpand         %ymm2,%ymm9,%ymm2
+  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
+  .byte  197,236,89,211                      // vmulps        %ymm3,%ymm2,%ymm2
+  .byte  196,193,101,114,208,30              // vpsrld        $0x1e,%ymm8,%ymm3
+  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
+  .byte  196,98,125,24,5,204,239,2,0         // vbroadcastss  0x2efcc(%rip),%ymm8        # 3c568 <_sk_srcover_bgra_8888_sse2_lowp+0x31c>
+  .byte  196,193,100,89,216                  // vmulps        %ymm8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_store_1010102_hsw
+.globl _sk_store_1010102_hsw
+FUNCTION(_sk_store_1010102_hsw)
+_sk_store_1010102_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,60,95,200                       // vmaxps        %ymm0,%ymm8,%ymm9
+  .byte  196,98,125,24,21,52,239,2,0         // vbroadcastss  0x2ef34(%rip),%ymm10        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,65,52,93,202                    // vminps        %ymm10,%ymm9,%ymm9
+  .byte  196,98,125,24,29,74,240,2,0         // vbroadcastss  0x2f04a(%rip),%ymm11        # 3c620 <_sk_srcover_bgra_8888_sse2_lowp+0x3d4>
+  .byte  196,65,52,89,203                    // vmulps        %ymm11,%ymm9,%ymm9
+  .byte  196,65,125,91,201                   // vcvtps2dq     %ymm9,%ymm9
+  .byte  197,60,95,225                       // vmaxps        %ymm1,%ymm8,%ymm12
+  .byte  196,65,28,93,226                    // vminps        %ymm10,%ymm12,%ymm12
+  .byte  196,65,28,89,227                    // vmulps        %ymm11,%ymm12,%ymm12
+  .byte  196,65,125,91,228                   // vcvtps2dq     %ymm12,%ymm12
+  .byte  196,193,29,114,244,10               // vpslld        $0xa,%ymm12,%ymm12
+  .byte  196,65,29,235,201                   // vpor          %ymm9,%ymm12,%ymm9
+  .byte  197,60,95,226                       // vmaxps        %ymm2,%ymm8,%ymm12
+  .byte  196,65,28,93,226                    // vminps        %ymm10,%ymm12,%ymm12
+  .byte  196,65,28,89,219                    // vmulps        %ymm11,%ymm12,%ymm11
+  .byte  196,65,125,91,219                   // vcvtps2dq     %ymm11,%ymm11
+  .byte  196,193,37,114,243,20               // vpslld        $0x14,%ymm11,%ymm11
+  .byte  197,60,95,195                       // vmaxps        %ymm3,%ymm8,%ymm8
+  .byte  196,65,60,93,194                    // vminps        %ymm10,%ymm8,%ymm8
+  .byte  196,98,125,24,21,251,239,2,0        // vbroadcastss  0x2effb(%rip),%ymm10        # 3c624 <_sk_srcover_bgra_8888_sse2_lowp+0x3d8>
+  .byte  196,65,60,89,194                    // vmulps        %ymm10,%ymm8,%ymm8
+  .byte  196,65,125,91,192                   // vcvtps2dq     %ymm8,%ymm8
+  .byte  196,193,61,114,240,30               // vpslld        $0x1e,%ymm8,%ymm8
+  .byte  196,65,37,235,192                   // vpor          %ymm8,%ymm11,%ymm8
+  .byte  196,65,53,235,192                   // vpor          %ymm8,%ymm9,%ymm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,10                              // jne           d652 <_sk_store_1010102_hsw+0xad>
+  .byte  196,65,126,127,4,144                // vmovdqu       %ymm8,(%r8,%rdx,4)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,242                             // ja            d64e <_sk_store_1010102_hsw+0xa9>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,82,0,0,0                  // lea           0x52(%rip),%r9        # d6b8 <_sk_store_1010102_hsw+0x113>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,65,121,126,4,144                // vmovd         %xmm8,(%r8,%rdx,4)
+  .byte  235,215                             // jmp           d64e <_sk_store_1010102_hsw+0xa9>
+  .byte  196,67,121,22,68,144,8,2            // vpextrd       $0x2,%xmm8,0x8(%r8,%rdx,4)
+  .byte  196,65,121,214,4,144                // vmovq         %xmm8,(%r8,%rdx,4)
+  .byte  235,199                             // jmp           d64e <_sk_store_1010102_hsw+0xa9>
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,22,76,144,24,2           // vpextrd       $0x2,%xmm9,0x18(%r8,%rdx,4)
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,22,76,144,20,1           // vpextrd       $0x1,%xmm9,0x14(%r8,%rdx,4)
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,65,121,126,76,144,16            // vmovd         %xmm9,0x10(%r8,%rdx,4)
+  .byte  196,65,122,127,4,144                // vmovdqu       %xmm8,(%r8,%rdx,4)
+  .byte  235,150                             // jmp           d64e <_sk_store_1010102_hsw+0xa9>
+  .byte  183,255                             // mov           $0xff,%bh
+  .byte  255                                 // (bad)
+  .byte  255,199                             // inc           %edi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  191,255,255,255,248                 // mov           $0xf8ffffff,%edi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  235,255                             // jmp           d6c9 <_sk_store_1010102_hsw+0x124>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  221,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,207                             // dec           %edi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_f16_hsw
+.globl _sk_load_f16_hsw
+FUNCTION(_sk_load_f16_hsw)
+_sk_load_f16_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,3                        // shl           $0x3,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,101                             // jne           d74f <_sk_load_f16_hsw+0x7b>
+  .byte  196,65,121,16,4,208                 // vmovupd       (%r8,%rdx,8),%xmm8
+  .byte  196,193,121,16,84,208,16            // vmovupd       0x10(%r8,%rdx,8),%xmm2
+  .byte  196,193,121,16,92,208,32            // vmovupd       0x20(%r8,%rdx,8),%xmm3
+  .byte  196,65,122,111,76,208,48            // vmovdqu       0x30(%r8,%rdx,8),%xmm9
+  .byte  197,185,97,194                      // vpunpcklwd    %xmm2,%xmm8,%xmm0
+  .byte  197,185,105,210                     // vpunpckhwd    %xmm2,%xmm8,%xmm2
+  .byte  196,193,97,97,201                   // vpunpcklwd    %xmm9,%xmm3,%xmm1
+  .byte  196,193,97,105,217                  // vpunpckhwd    %xmm9,%xmm3,%xmm3
+  .byte  197,121,97,194                      // vpunpcklwd    %xmm2,%xmm0,%xmm8
+  .byte  197,121,105,202                     // vpunpckhwd    %xmm2,%xmm0,%xmm9
+  .byte  197,241,97,211                      // vpunpcklwd    %xmm3,%xmm1,%xmm2
+  .byte  197,241,105,219                     // vpunpckhwd    %xmm3,%xmm1,%xmm3
+  .byte  197,185,108,194                     // vpunpcklqdq   %xmm2,%xmm8,%xmm0
+  .byte  196,226,125,19,192                  // vcvtph2ps     %xmm0,%ymm0
+  .byte  197,185,109,202                     // vpunpckhqdq   %xmm2,%xmm8,%xmm1
+  .byte  196,226,125,19,201                  // vcvtph2ps     %xmm1,%ymm1
+  .byte  197,177,108,211                     // vpunpcklqdq   %xmm3,%xmm9,%xmm2
+  .byte  196,226,125,19,210                  // vcvtph2ps     %xmm2,%ymm2
+  .byte  197,177,109,219                     // vpunpckhqdq   %xmm3,%xmm9,%xmm3
+  .byte  196,226,125,19,219                  // vcvtph2ps     %xmm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,65,123,16,4,208                 // vmovsd        (%r8,%rdx,8),%xmm8
+  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  116,85                              // je            d7b5 <_sk_load_f16_hsw+0xe1>
+  .byte  196,65,57,22,68,208,8               // vmovhpd       0x8(%r8,%rdx,8),%xmm8,%xmm8
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  114,72                              // jb            d7b5 <_sk_load_f16_hsw+0xe1>
+  .byte  196,193,123,16,84,208,16            // vmovsd        0x10(%r8,%rdx,8),%xmm2
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  116,72                              // je            d7c2 <_sk_load_f16_hsw+0xee>
+  .byte  196,193,105,22,84,208,24            // vmovhpd       0x18(%r8,%rdx,8),%xmm2,%xmm2
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  114,59                              // jb            d7c2 <_sk_load_f16_hsw+0xee>
+  .byte  196,193,123,16,92,208,32            // vmovsd        0x20(%r8,%rdx,8),%xmm3
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  15,132,109,255,255,255              // je            d705 <_sk_load_f16_hsw+0x31>
+  .byte  196,193,97,22,92,208,40             // vmovhpd       0x28(%r8,%rdx,8),%xmm3,%xmm3
+  .byte  72,131,255,7                        // cmp           $0x7,%rdi
+  .byte  15,130,92,255,255,255               // jb            d705 <_sk_load_f16_hsw+0x31>
+  .byte  196,65,122,126,76,208,48            // vmovq         0x30(%r8,%rdx,8),%xmm9
+  .byte  233,80,255,255,255                  // jmpq          d705 <_sk_load_f16_hsw+0x31>
+  .byte  197,225,87,219                      // vxorpd        %xmm3,%xmm3,%xmm3
+  .byte  197,233,87,210                      // vxorpd        %xmm2,%xmm2,%xmm2
+  .byte  233,67,255,255,255                  // jmpq          d705 <_sk_load_f16_hsw+0x31>
+  .byte  197,225,87,219                      // vxorpd        %xmm3,%xmm3,%xmm3
+  .byte  233,58,255,255,255                  // jmpq          d705 <_sk_load_f16_hsw+0x31>
+
+HIDDEN _sk_load_f16_dst_hsw
+.globl _sk_load_f16_dst_hsw
+FUNCTION(_sk_load_f16_dst_hsw)
+_sk_load_f16_dst_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,3                        // shl           $0x3,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,101                             // jne           d846 <_sk_load_f16_dst_hsw+0x7b>
+  .byte  196,65,121,16,4,208                 // vmovupd       (%r8,%rdx,8),%xmm8
+  .byte  196,193,121,16,116,208,16           // vmovupd       0x10(%r8,%rdx,8),%xmm6
+  .byte  196,193,121,16,124,208,32           // vmovupd       0x20(%r8,%rdx,8),%xmm7
+  .byte  196,65,122,111,76,208,48            // vmovdqu       0x30(%r8,%rdx,8),%xmm9
+  .byte  197,185,97,230                      // vpunpcklwd    %xmm6,%xmm8,%xmm4
+  .byte  197,185,105,246                     // vpunpckhwd    %xmm6,%xmm8,%xmm6
+  .byte  196,193,65,97,233                   // vpunpcklwd    %xmm9,%xmm7,%xmm5
+  .byte  196,193,65,105,249                  // vpunpckhwd    %xmm9,%xmm7,%xmm7
+  .byte  197,89,97,198                       // vpunpcklwd    %xmm6,%xmm4,%xmm8
+  .byte  197,89,105,206                      // vpunpckhwd    %xmm6,%xmm4,%xmm9
+  .byte  197,209,97,247                      // vpunpcklwd    %xmm7,%xmm5,%xmm6
+  .byte  197,209,105,255                     // vpunpckhwd    %xmm7,%xmm5,%xmm7
+  .byte  197,185,108,230                     // vpunpcklqdq   %xmm6,%xmm8,%xmm4
+  .byte  196,226,125,19,228                  // vcvtph2ps     %xmm4,%ymm4
+  .byte  197,185,109,238                     // vpunpckhqdq   %xmm6,%xmm8,%xmm5
+  .byte  196,226,125,19,237                  // vcvtph2ps     %xmm5,%ymm5
+  .byte  197,177,108,247                     // vpunpcklqdq   %xmm7,%xmm9,%xmm6
+  .byte  196,226,125,19,246                  // vcvtph2ps     %xmm6,%ymm6
+  .byte  197,177,109,255                     // vpunpckhqdq   %xmm7,%xmm9,%xmm7
+  .byte  196,226,125,19,255                  // vcvtph2ps     %xmm7,%ymm7
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,65,123,16,4,208                 // vmovsd        (%r8,%rdx,8),%xmm8
+  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  116,85                              // je            d8ac <_sk_load_f16_dst_hsw+0xe1>
+  .byte  196,65,57,22,68,208,8               // vmovhpd       0x8(%r8,%rdx,8),%xmm8,%xmm8
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  114,72                              // jb            d8ac <_sk_load_f16_dst_hsw+0xe1>
+  .byte  196,193,123,16,116,208,16           // vmovsd        0x10(%r8,%rdx,8),%xmm6
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  116,72                              // je            d8b9 <_sk_load_f16_dst_hsw+0xee>
+  .byte  196,193,73,22,116,208,24            // vmovhpd       0x18(%r8,%rdx,8),%xmm6,%xmm6
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  114,59                              // jb            d8b9 <_sk_load_f16_dst_hsw+0xee>
+  .byte  196,193,123,16,124,208,32           // vmovsd        0x20(%r8,%rdx,8),%xmm7
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  15,132,109,255,255,255              // je            d7fc <_sk_load_f16_dst_hsw+0x31>
+  .byte  196,193,65,22,124,208,40            // vmovhpd       0x28(%r8,%rdx,8),%xmm7,%xmm7
+  .byte  72,131,255,7                        // cmp           $0x7,%rdi
+  .byte  15,130,92,255,255,255               // jb            d7fc <_sk_load_f16_dst_hsw+0x31>
+  .byte  196,65,122,126,76,208,48            // vmovq         0x30(%r8,%rdx,8),%xmm9
+  .byte  233,80,255,255,255                  // jmpq          d7fc <_sk_load_f16_dst_hsw+0x31>
+  .byte  197,193,87,255                      // vxorpd        %xmm7,%xmm7,%xmm7
+  .byte  197,201,87,246                      // vxorpd        %xmm6,%xmm6,%xmm6
+  .byte  233,67,255,255,255                  // jmpq          d7fc <_sk_load_f16_dst_hsw+0x31>
+  .byte  197,193,87,255                      // vxorpd        %xmm7,%xmm7,%xmm7
+  .byte  233,58,255,255,255                  // jmpq          d7fc <_sk_load_f16_dst_hsw+0x31>
+
+HIDDEN _sk_gather_f16_hsw
+.globl _sk_gather_f16_hsw
+FUNCTION(_sk_gather_f16_hsw)
+_sk_gather_f16_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,88,80,12                // vpbroadcastd  0xc(%rax),%ymm2
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  197,237,254,211                     // vpaddd        %ymm3,%ymm2,%ymm2
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,188,95,192                      // vmaxps        %ymm0,%ymm8,%ymm0
+  .byte  197,252,93,194                      // vminps        %ymm2,%ymm0,%ymm0
+  .byte  196,226,125,88,80,16                // vpbroadcastd  0x10(%rax),%ymm2
+  .byte  197,237,254,211                     // vpaddd        %ymm3,%ymm2,%ymm2
+  .byte  197,188,95,201                      // vmaxps        %ymm1,%ymm8,%ymm1
+  .byte  197,244,93,202                      // vminps        %ymm2,%ymm1,%ymm1
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
+  .byte  196,226,125,88,80,8                 // vpbroadcastd  0x8(%rax),%ymm2
+  .byte  196,226,109,64,201                  // vpmulld       %ymm1,%ymm2,%ymm1
+  .byte  197,254,91,192                      // vcvttps2dq    %ymm0,%ymm0
+  .byte  197,245,254,192                     // vpaddd        %ymm0,%ymm1,%ymm0
+  .byte  197,245,118,201                     // vpcmpeqd      %ymm1,%ymm1,%ymm1
+  .byte  197,237,239,210                     // vpxor         %ymm2,%ymm2,%ymm2
+  .byte  196,194,245,144,20,192              // vpgatherdq    %ymm1,(%r8,%xmm0,8),%ymm2
+  .byte  196,227,125,57,192,1                // vextracti128  $0x1,%ymm0,%xmm0
+  .byte  196,66,229,144,4,192                // vpgatherdq    %ymm3,(%r8,%xmm0,8),%ymm8
+  .byte  196,227,125,57,208,1                // vextracti128  $0x1,%ymm2,%xmm0
+  .byte  196,99,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm1
+  .byte  197,233,97,216                      // vpunpcklwd    %xmm0,%xmm2,%xmm3
+  .byte  197,233,105,192                     // vpunpckhwd    %xmm0,%xmm2,%xmm0
+  .byte  197,185,97,209                      // vpunpcklwd    %xmm1,%xmm8,%xmm2
+  .byte  197,185,105,201                     // vpunpckhwd    %xmm1,%xmm8,%xmm1
+  .byte  197,97,97,192                       // vpunpcklwd    %xmm0,%xmm3,%xmm8
+  .byte  197,97,105,200                      // vpunpckhwd    %xmm0,%xmm3,%xmm9
+  .byte  197,233,97,217                      // vpunpcklwd    %xmm1,%xmm2,%xmm3
+  .byte  197,105,105,209                     // vpunpckhwd    %xmm1,%xmm2,%xmm10
+  .byte  197,185,108,195                     // vpunpcklqdq   %xmm3,%xmm8,%xmm0
+  .byte  196,226,125,19,192                  // vcvtph2ps     %xmm0,%ymm0
+  .byte  197,185,109,203                     // vpunpckhqdq   %xmm3,%xmm8,%xmm1
+  .byte  196,226,125,19,201                  // vcvtph2ps     %xmm1,%ymm1
+  .byte  196,193,49,108,210                  // vpunpcklqdq   %xmm10,%xmm9,%xmm2
+  .byte  196,226,125,19,210                  // vcvtph2ps     %xmm2,%ymm2
+  .byte  196,193,49,109,218                  // vpunpckhqdq   %xmm10,%xmm9,%xmm3
+  .byte  196,226,125,19,219                  // vcvtph2ps     %xmm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_store_f16_hsw
+.globl _sk_store_f16_hsw
+FUNCTION(_sk_store_f16_hsw)
+_sk_store_f16_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,3                        // shl           $0x3,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  196,195,125,29,192,4                // vcvtps2ph     $0x4,%ymm0,%xmm8
+  .byte  196,195,125,29,201,4                // vcvtps2ph     $0x4,%ymm1,%xmm9
+  .byte  196,195,125,29,210,4                // vcvtps2ph     $0x4,%ymm2,%xmm10
+  .byte  196,195,125,29,219,4                // vcvtps2ph     $0x4,%ymm3,%xmm11
+  .byte  196,65,57,97,225                    // vpunpcklwd    %xmm9,%xmm8,%xmm12
+  .byte  196,65,57,105,193                   // vpunpckhwd    %xmm9,%xmm8,%xmm8
+  .byte  196,65,41,97,203                    // vpunpcklwd    %xmm11,%xmm10,%xmm9
+  .byte  196,65,41,105,235                   // vpunpckhwd    %xmm11,%xmm10,%xmm13
+  .byte  196,65,25,98,217                    // vpunpckldq    %xmm9,%xmm12,%xmm11
+  .byte  196,65,25,106,209                   // vpunpckhdq    %xmm9,%xmm12,%xmm10
+  .byte  196,65,57,98,205                    // vpunpckldq    %xmm13,%xmm8,%xmm9
+  .byte  196,65,57,106,197                   // vpunpckhdq    %xmm13,%xmm8,%xmm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,31                              // jne           d9f0 <_sk_store_f16_hsw+0x75>
+  .byte  196,65,122,127,28,208               // vmovdqu       %xmm11,(%r8,%rdx,8)
+  .byte  196,65,122,127,84,208,16            // vmovdqu       %xmm10,0x10(%r8,%rdx,8)
+  .byte  196,65,122,127,76,208,32            // vmovdqu       %xmm9,0x20(%r8,%rdx,8)
+  .byte  196,65,122,127,68,208,48            // vmovdqu       %xmm8,0x30(%r8,%rdx,8)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,65,121,214,28,208               // vmovq         %xmm11,(%r8,%rdx,8)
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  116,240                             // je            d9ec <_sk_store_f16_hsw+0x71>
+  .byte  196,65,121,23,92,208,8              // vmovhpd       %xmm11,0x8(%r8,%rdx,8)
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  114,227                             // jb            d9ec <_sk_store_f16_hsw+0x71>
+  .byte  196,65,121,214,84,208,16            // vmovq         %xmm10,0x10(%r8,%rdx,8)
+  .byte  116,218                             // je            d9ec <_sk_store_f16_hsw+0x71>
+  .byte  196,65,121,23,84,208,24             // vmovhpd       %xmm10,0x18(%r8,%rdx,8)
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  114,205                             // jb            d9ec <_sk_store_f16_hsw+0x71>
+  .byte  196,65,121,214,76,208,32            // vmovq         %xmm9,0x20(%r8,%rdx,8)
+  .byte  116,196                             // je            d9ec <_sk_store_f16_hsw+0x71>
+  .byte  196,65,121,23,76,208,40             // vmovhpd       %xmm9,0x28(%r8,%rdx,8)
+  .byte  72,131,255,7                        // cmp           $0x7,%rdi
+  .byte  114,183                             // jb            d9ec <_sk_store_f16_hsw+0x71>
+  .byte  196,65,121,214,68,208,48            // vmovq         %xmm8,0x30(%r8,%rdx,8)
+  .byte  235,174                             // jmp           d9ec <_sk_store_f16_hsw+0x71>
+
+HIDDEN _sk_load_u16_be_hsw
+.globl _sk_load_u16_be_hsw
+FUNCTION(_sk_load_u16_be_hsw)
+_sk_load_u16_be_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,141,4,149,0,0,0,0                // lea           0x0(,%rdx,4),%r8
+  .byte  76,99,72,8                          // movslq        0x8(%rax),%r9
+  .byte  76,15,175,201                       // imul          %rcx,%r9
+  .byte  77,1,201                            // add           %r9,%r9
+  .byte  76,3,8                              // add           (%rax),%r9
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,204,0,0,0                    // jne           db2b <_sk_load_u16_be_hsw+0xed>
+  .byte  196,1,121,16,4,65                   // vmovupd       (%r9,%r8,2),%xmm8
+  .byte  196,129,121,16,84,65,16             // vmovupd       0x10(%r9,%r8,2),%xmm2
+  .byte  196,129,121,16,92,65,32             // vmovupd       0x20(%r9,%r8,2),%xmm3
+  .byte  196,1,122,111,76,65,48              // vmovdqu       0x30(%r9,%r8,2),%xmm9
+  .byte  197,185,97,194                      // vpunpcklwd    %xmm2,%xmm8,%xmm0
+  .byte  197,185,105,210                     // vpunpckhwd    %xmm2,%xmm8,%xmm2
+  .byte  196,193,97,97,201                   // vpunpcklwd    %xmm9,%xmm3,%xmm1
+  .byte  196,193,97,105,217                  // vpunpckhwd    %xmm9,%xmm3,%xmm3
+  .byte  197,121,97,194                      // vpunpcklwd    %xmm2,%xmm0,%xmm8
+  .byte  197,121,105,202                     // vpunpckhwd    %xmm2,%xmm0,%xmm9
+  .byte  197,241,97,211                      // vpunpcklwd    %xmm3,%xmm1,%xmm2
+  .byte  197,113,105,219                     // vpunpckhwd    %xmm3,%xmm1,%xmm11
+  .byte  197,185,108,194                     // vpunpcklqdq   %xmm2,%xmm8,%xmm0
+  .byte  197,241,113,240,8                   // vpsllw        $0x8,%xmm0,%xmm1
+  .byte  197,249,113,208,8                   // vpsrlw        $0x8,%xmm0,%xmm0
+  .byte  197,241,235,192                     // vpor          %xmm0,%xmm1,%xmm0
+  .byte  196,226,125,51,192                  // vpmovzxwd     %xmm0,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,98,125,24,21,208,234,2,0        // vbroadcastss  0x2ead0(%rip),%ymm10        # 3c590 <_sk_srcover_bgra_8888_sse2_lowp+0x344>
+  .byte  196,193,124,89,194                  // vmulps        %ymm10,%ymm0,%ymm0
+  .byte  197,185,109,202                     // vpunpckhqdq   %xmm2,%xmm8,%xmm1
+  .byte  197,233,113,241,8                   // vpsllw        $0x8,%xmm1,%xmm2
+  .byte  197,241,113,209,8                   // vpsrlw        $0x8,%xmm1,%xmm1
+  .byte  197,233,235,201                     // vpor          %xmm1,%xmm2,%xmm1
+  .byte  196,226,125,51,201                  // vpmovzxwd     %xmm1,%ymm1
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  196,193,116,89,202                  // vmulps        %ymm10,%ymm1,%ymm1
+  .byte  196,193,49,108,211                  // vpunpcklqdq   %xmm11,%xmm9,%xmm2
+  .byte  197,225,113,242,8                   // vpsllw        $0x8,%xmm2,%xmm3
+  .byte  197,233,113,210,8                   // vpsrlw        $0x8,%xmm2,%xmm2
+  .byte  197,225,235,210                     // vpor          %xmm2,%xmm3,%xmm2
+  .byte  196,226,125,51,210                  // vpmovzxwd     %xmm2,%ymm2
+  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
+  .byte  196,193,108,89,210                  // vmulps        %ymm10,%ymm2,%ymm2
+  .byte  196,193,49,109,219                  // vpunpckhqdq   %xmm11,%xmm9,%xmm3
+  .byte  197,185,113,243,8                   // vpsllw        $0x8,%xmm3,%xmm8
+  .byte  197,225,113,211,8                   // vpsrlw        $0x8,%xmm3,%xmm3
+  .byte  197,185,235,219                     // vpor          %xmm3,%xmm8,%xmm3
+  .byte  196,226,125,51,219                  // vpmovzxwd     %xmm3,%ymm3
+  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
+  .byte  196,193,100,89,218                  // vmulps        %ymm10,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,1,123,16,4,65                   // vmovsd        (%r9,%r8,2),%xmm8
+  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  116,85                              // je            db91 <_sk_load_u16_be_hsw+0x153>
+  .byte  196,1,57,22,68,65,8                 // vmovhpd       0x8(%r9,%r8,2),%xmm8,%xmm8
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  114,72                              // jb            db91 <_sk_load_u16_be_hsw+0x153>
+  .byte  196,129,123,16,84,65,16             // vmovsd        0x10(%r9,%r8,2),%xmm2
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  116,72                              // je            db9e <_sk_load_u16_be_hsw+0x160>
+  .byte  196,129,105,22,84,65,24             // vmovhpd       0x18(%r9,%r8,2),%xmm2,%xmm2
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  114,59                              // jb            db9e <_sk_load_u16_be_hsw+0x160>
+  .byte  196,129,123,16,92,65,32             // vmovsd        0x20(%r9,%r8,2),%xmm3
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  15,132,6,255,255,255                // je            da7a <_sk_load_u16_be_hsw+0x3c>
+  .byte  196,129,97,22,92,65,40              // vmovhpd       0x28(%r9,%r8,2),%xmm3,%xmm3
+  .byte  72,131,255,7                        // cmp           $0x7,%rdi
+  .byte  15,130,245,254,255,255              // jb            da7a <_sk_load_u16_be_hsw+0x3c>
+  .byte  196,1,122,126,76,65,48              // vmovq         0x30(%r9,%r8,2),%xmm9
+  .byte  233,233,254,255,255                 // jmpq          da7a <_sk_load_u16_be_hsw+0x3c>
+  .byte  197,225,87,219                      // vxorpd        %xmm3,%xmm3,%xmm3
+  .byte  197,233,87,210                      // vxorpd        %xmm2,%xmm2,%xmm2
+  .byte  233,220,254,255,255                 // jmpq          da7a <_sk_load_u16_be_hsw+0x3c>
+  .byte  197,225,87,219                      // vxorpd        %xmm3,%xmm3,%xmm3
+  .byte  233,211,254,255,255                 // jmpq          da7a <_sk_load_u16_be_hsw+0x3c>
+
+HIDDEN _sk_load_rgb_u16_be_hsw
+.globl _sk_load_rgb_u16_be_hsw
+FUNCTION(_sk_load_rgb_u16_be_hsw)
+_sk_load_rgb_u16_be_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,141,4,82                         // lea           (%rdx,%rdx,2),%r8
+  .byte  76,99,72,8                          // movslq        0x8(%rax),%r9
+  .byte  76,15,175,201                       // imul          %rcx,%r9
+  .byte  77,1,201                            // add           %r9,%r9
+  .byte  76,3,8                              // add           (%rax),%r9
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,205,0,0,0                    // jne           dc91 <_sk_load_rgb_u16_be_hsw+0xea>
+  .byte  196,1,122,111,28,65                 // vmovdqu       (%r9,%r8,2),%xmm11
+  .byte  196,129,122,111,92,65,12            // vmovdqu       0xc(%r9,%r8,2),%xmm3
+  .byte  196,129,122,111,84,65,24            // vmovdqu       0x18(%r9,%r8,2),%xmm2
+  .byte  196,129,122,111,68,65,32            // vmovdqu       0x20(%r9,%r8,2),%xmm0
+  .byte  197,249,115,216,4                   // vpsrldq       $0x4,%xmm0,%xmm0
+  .byte  196,193,57,115,219,6                // vpsrldq       $0x6,%xmm11,%xmm8
+  .byte  197,169,115,219,6                   // vpsrldq       $0x6,%xmm3,%xmm10
+  .byte  197,241,115,218,6                   // vpsrldq       $0x6,%xmm2,%xmm1
+  .byte  197,177,115,216,6                   // vpsrldq       $0x6,%xmm0,%xmm9
+  .byte  196,193,113,97,201                  // vpunpcklwd    %xmm9,%xmm1,%xmm1
+  .byte  197,233,97,192                      // vpunpcklwd    %xmm0,%xmm2,%xmm0
+  .byte  196,193,57,97,210                   // vpunpcklwd    %xmm10,%xmm8,%xmm2
+  .byte  197,161,97,219                      // vpunpcklwd    %xmm3,%xmm11,%xmm3
+  .byte  197,97,97,194                       // vpunpcklwd    %xmm2,%xmm3,%xmm8
+  .byte  197,225,105,210                     // vpunpckhwd    %xmm2,%xmm3,%xmm2
+  .byte  197,249,97,217                      // vpunpcklwd    %xmm1,%xmm0,%xmm3
+  .byte  197,249,105,193                     // vpunpckhwd    %xmm1,%xmm0,%xmm0
+  .byte  197,233,108,208                     // vpunpcklqdq   %xmm0,%xmm2,%xmm2
+  .byte  197,185,108,195                     // vpunpcklqdq   %xmm3,%xmm8,%xmm0
+  .byte  197,241,113,240,8                   // vpsllw        $0x8,%xmm0,%xmm1
+  .byte  197,249,113,208,8                   // vpsrlw        $0x8,%xmm0,%xmm0
+  .byte  197,241,235,192                     // vpor          %xmm0,%xmm1,%xmm0
+  .byte  196,226,125,51,192                  // vpmovzxwd     %xmm0,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,98,125,24,13,77,233,2,0         // vbroadcastss  0x2e94d(%rip),%ymm9        # 3c590 <_sk_srcover_bgra_8888_sse2_lowp+0x344>
+  .byte  196,193,124,89,193                  // vmulps        %ymm9,%ymm0,%ymm0
+  .byte  197,185,109,203                     // vpunpckhqdq   %xmm3,%xmm8,%xmm1
+  .byte  197,225,113,241,8                   // vpsllw        $0x8,%xmm1,%xmm3
+  .byte  197,241,113,209,8                   // vpsrlw        $0x8,%xmm1,%xmm1
+  .byte  197,225,235,201                     // vpor          %xmm1,%xmm3,%xmm1
+  .byte  196,226,125,51,201                  // vpmovzxwd     %xmm1,%ymm1
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  196,193,116,89,201                  // vmulps        %ymm9,%ymm1,%ymm1
+  .byte  197,225,113,242,8                   // vpsllw        $0x8,%xmm2,%xmm3
+  .byte  197,233,113,210,8                   // vpsrlw        $0x8,%xmm2,%xmm2
+  .byte  197,225,235,210                     // vpor          %xmm2,%xmm3,%xmm2
+  .byte  196,226,125,51,210                  // vpmovzxwd     %xmm2,%ymm2
+  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
+  .byte  196,193,108,89,209                  // vmulps        %ymm9,%ymm2,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,29,109,232,2,0       // vbroadcastss  0x2e86d(%rip),%ymm3        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,129,121,110,4,65                // vmovd         (%r9,%r8,2),%xmm0
+  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
+  .byte  196,1,121,196,92,65,4,2             // vpinsrw       $0x2,0x4(%r9,%r8,2),%xmm0,%xmm11
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  117,31                              // jne           dcc9 <_sk_load_rgb_u16_be_hsw+0x122>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  197,241,239,201                     // vpxor         %xmm1,%xmm1,%xmm1
+  .byte  197,233,239,210                     // vpxor         %xmm2,%xmm2,%xmm2
+  .byte  196,65,41,239,210                   // vpxor         %xmm10,%xmm10,%xmm10
+  .byte  197,225,239,219                     // vpxor         %xmm3,%xmm3,%xmm3
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  233,48,255,255,255                  // jmpq          dbf9 <_sk_load_rgb_u16_be_hsw+0x52>
+  .byte  196,129,121,110,68,65,6             // vmovd         0x6(%r9,%r8,2),%xmm0
+  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
+  .byte  196,1,121,196,68,65,10,2            // vpinsrw       $0x2,0xa(%r9,%r8,2),%xmm0,%xmm8
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  114,48                              // jb            dd13 <_sk_load_rgb_u16_be_hsw+0x16c>
+  .byte  196,129,121,110,68,65,12            // vmovd         0xc(%r9,%r8,2),%xmm0
+  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
+  .byte  196,129,121,196,92,65,16,2          // vpinsrw       $0x2,0x10(%r9,%r8,2),%xmm0,%xmm3
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  117,48                              // jne           dd2d <_sk_load_rgb_u16_be_hsw+0x186>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  197,241,239,201                     // vpxor         %xmm1,%xmm1,%xmm1
+  .byte  197,233,239,210                     // vpxor         %xmm2,%xmm2,%xmm2
+  .byte  196,65,41,239,210                   // vpxor         %xmm10,%xmm10,%xmm10
+  .byte  233,230,254,255,255                 // jmpq          dbf9 <_sk_load_rgb_u16_be_hsw+0x52>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  197,241,239,201                     // vpxor         %xmm1,%xmm1,%xmm1
+  .byte  197,233,239,210                     // vpxor         %xmm2,%xmm2,%xmm2
+  .byte  196,65,41,239,210                   // vpxor         %xmm10,%xmm10,%xmm10
+  .byte  197,225,239,219                     // vpxor         %xmm3,%xmm3,%xmm3
+  .byte  233,204,254,255,255                 // jmpq          dbf9 <_sk_load_rgb_u16_be_hsw+0x52>
+  .byte  196,129,121,110,68,65,18            // vmovd         0x12(%r9,%r8,2),%xmm0
+  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
+  .byte  196,1,121,196,84,65,22,2            // vpinsrw       $0x2,0x16(%r9,%r8,2),%xmm0,%xmm10
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  114,39                              // jb            dd6e <_sk_load_rgb_u16_be_hsw+0x1c7>
+  .byte  196,129,121,110,68,65,24            // vmovd         0x18(%r9,%r8,2),%xmm0
+  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
+  .byte  196,129,121,196,84,65,28,2          // vpinsrw       $0x2,0x1c(%r9,%r8,2),%xmm0,%xmm2
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  117,30                              // jne           dd7f <_sk_load_rgb_u16_be_hsw+0x1d8>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  197,241,239,201                     // vpxor         %xmm1,%xmm1,%xmm1
+  .byte  233,139,254,255,255                 // jmpq          dbf9 <_sk_load_rgb_u16_be_hsw+0x52>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  197,241,239,201                     // vpxor         %xmm1,%xmm1,%xmm1
+  .byte  197,233,239,210                     // vpxor         %xmm2,%xmm2,%xmm2
+  .byte  233,122,254,255,255                 // jmpq          dbf9 <_sk_load_rgb_u16_be_hsw+0x52>
+  .byte  196,129,121,110,68,65,30            // vmovd         0x1e(%r9,%r8,2),%xmm0
+  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
+  .byte  196,129,121,196,76,65,34,2          // vpinsrw       $0x2,0x22(%r9,%r8,2),%xmm0,%xmm1
+  .byte  72,131,255,7                        // cmp           $0x7,%rdi
+  .byte  114,25                              // jb            ddb2 <_sk_load_rgb_u16_be_hsw+0x20b>
+  .byte  196,129,121,110,68,65,36            // vmovd         0x24(%r9,%r8,2),%xmm0
+  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
+  .byte  196,129,121,196,68,65,40,2          // vpinsrw       $0x2,0x28(%r9,%r8,2),%xmm0,%xmm0
+  .byte  233,71,254,255,255                  // jmpq          dbf9 <_sk_load_rgb_u16_be_hsw+0x52>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  233,62,254,255,255                  // jmpq          dbf9 <_sk_load_rgb_u16_be_hsw+0x52>
+
+HIDDEN _sk_store_u16_be_hsw
+.globl _sk_store_u16_be_hsw
+FUNCTION(_sk_store_u16_be_hsw)
+_sk_store_u16_be_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,141,4,149,0,0,0,0                // lea           0x0(,%rdx,4),%r8
+  .byte  76,99,72,8                          // movslq        0x8(%rax),%r9
+  .byte  76,15,175,201                       // imul          %rcx,%r9
+  .byte  77,1,201                            // add           %r9,%r9
+  .byte  76,3,8                              // add           (%rax),%r9
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,60,95,200                       // vmaxps        %ymm0,%ymm8,%ymm9
+  .byte  196,98,125,24,21,23,231,2,0         // vbroadcastss  0x2e717(%rip),%ymm10        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,65,52,93,202                    // vminps        %ymm10,%ymm9,%ymm9
+  .byte  196,98,125,24,29,53,232,2,0         // vbroadcastss  0x2e835(%rip),%ymm11        # 3c628 <_sk_srcover_bgra_8888_sse2_lowp+0x3dc>
+  .byte  196,65,52,89,203                    // vmulps        %ymm11,%ymm9,%ymm9
+  .byte  196,65,125,91,201                   // vcvtps2dq     %ymm9,%ymm9
+  .byte  196,67,125,25,204,1                 // vextractf128  $0x1,%ymm9,%xmm12
+  .byte  196,66,49,43,204                    // vpackusdw     %xmm12,%xmm9,%xmm9
+  .byte  196,193,25,113,241,8                // vpsllw        $0x8,%xmm9,%xmm12
+  .byte  196,193,49,113,209,8                // vpsrlw        $0x8,%xmm9,%xmm9
+  .byte  196,65,25,235,201                   // vpor          %xmm9,%xmm12,%xmm9
+  .byte  197,60,95,225                       // vmaxps        %ymm1,%ymm8,%ymm12
+  .byte  196,65,28,93,226                    // vminps        %ymm10,%ymm12,%ymm12
+  .byte  196,65,28,89,227                    // vmulps        %ymm11,%ymm12,%ymm12
+  .byte  196,65,125,91,228                   // vcvtps2dq     %ymm12,%ymm12
+  .byte  196,67,125,25,229,1                 // vextractf128  $0x1,%ymm12,%xmm13
+  .byte  196,66,25,43,229                    // vpackusdw     %xmm13,%xmm12,%xmm12
+  .byte  196,193,17,113,244,8                // vpsllw        $0x8,%xmm12,%xmm13
+  .byte  196,193,25,113,212,8                // vpsrlw        $0x8,%xmm12,%xmm12
+  .byte  196,65,17,235,228                   // vpor          %xmm12,%xmm13,%xmm12
+  .byte  197,60,95,234                       // vmaxps        %ymm2,%ymm8,%ymm13
+  .byte  196,65,20,93,234                    // vminps        %ymm10,%ymm13,%ymm13
+  .byte  196,65,20,89,235                    // vmulps        %ymm11,%ymm13,%ymm13
+  .byte  196,65,125,91,237                   // vcvtps2dq     %ymm13,%ymm13
+  .byte  196,67,125,25,238,1                 // vextractf128  $0x1,%ymm13,%xmm14
+  .byte  196,66,17,43,238                    // vpackusdw     %xmm14,%xmm13,%xmm13
+  .byte  196,193,9,113,245,8                 // vpsllw        $0x8,%xmm13,%xmm14
+  .byte  196,193,17,113,213,8                // vpsrlw        $0x8,%xmm13,%xmm13
+  .byte  196,65,9,235,237                    // vpor          %xmm13,%xmm14,%xmm13
+  .byte  197,60,95,195                       // vmaxps        %ymm3,%ymm8,%ymm8
+  .byte  196,65,60,93,194                    // vminps        %ymm10,%ymm8,%ymm8
+  .byte  196,65,60,89,195                    // vmulps        %ymm11,%ymm8,%ymm8
+  .byte  196,65,125,91,192                   // vcvtps2dq     %ymm8,%ymm8
+  .byte  196,67,125,25,194,1                 // vextractf128  $0x1,%ymm8,%xmm10
+  .byte  196,66,57,43,194                    // vpackusdw     %xmm10,%xmm8,%xmm8
+  .byte  196,193,41,113,240,8                // vpsllw        $0x8,%xmm8,%xmm10
+  .byte  196,193,57,113,208,8                // vpsrlw        $0x8,%xmm8,%xmm8
+  .byte  196,65,41,235,192                   // vpor          %xmm8,%xmm10,%xmm8
+  .byte  196,65,49,97,212                    // vpunpcklwd    %xmm12,%xmm9,%xmm10
+  .byte  196,65,49,105,228                   // vpunpckhwd    %xmm12,%xmm9,%xmm12
+  .byte  196,65,17,97,200                    // vpunpcklwd    %xmm8,%xmm13,%xmm9
+  .byte  196,65,17,105,192                   // vpunpckhwd    %xmm8,%xmm13,%xmm8
+  .byte  196,65,41,98,217                    // vpunpckldq    %xmm9,%xmm10,%xmm11
+  .byte  196,65,41,106,209                   // vpunpckhdq    %xmm9,%xmm10,%xmm10
+  .byte  196,65,25,98,200                    // vpunpckldq    %xmm8,%xmm12,%xmm9
+  .byte  196,65,25,106,192                   // vpunpckhdq    %xmm8,%xmm12,%xmm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,31                              // jne           def2 <_sk_store_u16_be_hsw+0x137>
+  .byte  196,1,122,127,28,65                 // vmovdqu       %xmm11,(%r9,%r8,2)
+  .byte  196,1,122,127,84,65,16              // vmovdqu       %xmm10,0x10(%r9,%r8,2)
+  .byte  196,1,122,127,76,65,32              // vmovdqu       %xmm9,0x20(%r9,%r8,2)
+  .byte  196,1,122,127,68,65,48              // vmovdqu       %xmm8,0x30(%r9,%r8,2)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,1,121,214,28,65                 // vmovq         %xmm11,(%r9,%r8,2)
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  116,240                             // je            deee <_sk_store_u16_be_hsw+0x133>
+  .byte  196,1,121,23,92,65,8                // vmovhpd       %xmm11,0x8(%r9,%r8,2)
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  114,227                             // jb            deee <_sk_store_u16_be_hsw+0x133>
+  .byte  196,1,121,214,84,65,16              // vmovq         %xmm10,0x10(%r9,%r8,2)
+  .byte  116,218                             // je            deee <_sk_store_u16_be_hsw+0x133>
+  .byte  196,1,121,23,84,65,24               // vmovhpd       %xmm10,0x18(%r9,%r8,2)
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  114,205                             // jb            deee <_sk_store_u16_be_hsw+0x133>
+  .byte  196,1,121,214,76,65,32              // vmovq         %xmm9,0x20(%r9,%r8,2)
+  .byte  116,196                             // je            deee <_sk_store_u16_be_hsw+0x133>
+  .byte  196,1,121,23,76,65,40               // vmovhpd       %xmm9,0x28(%r9,%r8,2)
+  .byte  72,131,255,7                        // cmp           $0x7,%rdi
+  .byte  114,183                             // jb            deee <_sk_store_u16_be_hsw+0x133>
+  .byte  196,1,121,214,68,65,48              // vmovq         %xmm8,0x30(%r9,%r8,2)
+  .byte  235,174                             // jmp           deee <_sk_store_u16_be_hsw+0x133>
+
+HIDDEN _sk_load_f32_hsw
+.globl _sk_load_f32_hsw
+FUNCTION(_sk_load_f32_hsw)
+_sk_load_f32_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,253,87,192                      // vxorpd        %ymm0,%ymm0,%ymm0
+  .byte  72,131,255,7                        // cmp           $0x7,%rdi
+  .byte  15,135,91,1,0,0                     // ja            e0ab <_sk_load_f32_hsw+0x16b>
+  .byte  72,131,236,24                       // sub           $0x18,%rsp
+  .byte  197,253,17,100,36,128               // vmovupd       %ymm4,-0x80(%rsp)
+  .byte  197,253,17,108,36,160               // vmovupd       %ymm5,-0x60(%rsp)
+  .byte  197,253,17,116,36,192               // vmovupd       %ymm6,-0x40(%rsp)
+  .byte  197,253,17,124,36,224               // vmovupd       %ymm7,-0x20(%rsp)
+  .byte  76,141,4,149,0,0,0,0                // lea           0x0(,%rdx,4),%r8
+  .byte  76,99,72,8                          // movslq        0x8(%rax),%r9
+  .byte  76,15,175,201                       // imul          %rcx,%r9
+  .byte  73,193,225,2                        // shl           $0x2,%r9
+  .byte  76,3,8                              // add           (%rax),%r9
+  .byte  76,141,21,50,1,0,0                  // lea           0x132(%rip),%r10        # e0bc <_sk_load_f32_hsw+0x17c>
+  .byte  73,99,4,186                         // movslq        (%r10,%rdi,4),%rax
+  .byte  76,1,208                            // add           %r10,%rax
+  .byte  197,221,87,228                      // vxorpd        %ymm4,%ymm4,%ymm4
+  .byte  196,65,53,87,201                    // vxorpd        %ymm9,%ymm9,%ymm9
+  .byte  197,237,87,210                      // vxorpd        %ymm2,%ymm2,%ymm2
+  .byte  196,65,37,87,219                    // vxorpd        %ymm11,%ymm11,%ymm11
+  .byte  196,65,29,87,228                    // vxorpd        %ymm12,%ymm12,%ymm12
+  .byte  196,65,61,87,192                    // vxorpd        %ymm8,%ymm8,%ymm8
+  .byte  196,65,13,87,246                    // vxorpd        %ymm14,%ymm14,%ymm14
+  .byte  197,205,87,246                      // vxorpd        %ymm6,%ymm6,%ymm6
+  .byte  196,65,5,87,255                     // vxorpd        %ymm15,%ymm15,%ymm15
+  .byte  197,245,87,201                      // vxorpd        %ymm1,%ymm1,%ymm1
+  .byte  196,65,21,87,237                    // vxorpd        %ymm13,%ymm13,%ymm13
+  .byte  197,213,87,237                      // vxorpd        %ymm5,%ymm5,%ymm5
+  .byte  197,229,87,219                      // vxorpd        %ymm3,%ymm3,%ymm3
+  .byte  196,65,45,87,210                    // vxorpd        %ymm10,%ymm10,%ymm10
+  .byte  197,197,87,255                      // vxorpd        %ymm7,%ymm7,%ymm7
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,129,121,16,68,129,112           // vmovupd       0x70(%r9,%r8,4),%xmm0
+  .byte  196,227,125,6,192,40                // vperm2f128    $0x28,%ymm0,%ymm0,%ymm0
+  .byte  196,129,121,16,76,129,96            // vmovupd       0x60(%r9,%r8,4),%xmm1
+  .byte  196,227,125,6,225,40                // vperm2f128    $0x28,%ymm1,%ymm0,%ymm4
+  .byte  196,129,121,16,76,129,80            // vmovupd       0x50(%r9,%r8,4),%xmm1
+  .byte  196,227,125,6,209,40                // vperm2f128    $0x28,%ymm1,%ymm0,%ymm2
+  .byte  197,125,40,204                      // vmovapd       %ymm4,%ymm9
+  .byte  196,129,121,16,76,129,64            // vmovupd       0x40(%r9,%r8,4),%xmm1
+  .byte  196,99,125,6,193,40                 // vperm2f128    $0x28,%ymm1,%ymm0,%ymm8
+  .byte  196,65,125,40,217                   // vmovapd       %ymm9,%ymm11
+  .byte  197,125,40,226                      // vmovapd       %ymm2,%ymm12
+  .byte  196,129,121,16,76,129,48            // vmovupd       0x30(%r9,%r8,4),%xmm1
+  .byte  196,227,117,13,192,12               // vblendpd      $0xc,%ymm0,%ymm1,%ymm0
+  .byte  196,65,125,40,243                   // vmovapd       %ymm11,%ymm14
+  .byte  197,125,41,230                      // vmovapd       %ymm12,%ymm6
+  .byte  196,65,125,40,248                   // vmovapd       %ymm8,%ymm15
+  .byte  196,129,121,16,76,129,32            // vmovupd       0x20(%r9,%r8,4),%xmm1
+  .byte  196,195,117,13,206,12               // vblendpd      $0xc,%ymm14,%ymm1,%ymm1
+  .byte  197,125,40,238                      // vmovapd       %ymm6,%ymm13
+  .byte  197,125,41,253                      // vmovapd       %ymm15,%ymm5
+  .byte  196,129,121,16,84,129,16            // vmovupd       0x10(%r9,%r8,4),%xmm2
+  .byte  196,67,109,13,213,12                // vblendpd      $0xc,%ymm13,%ymm2,%ymm10
+  .byte  197,253,40,217                      // vmovapd       %ymm1,%ymm3
+  .byte  197,253,40,253                      // vmovapd       %ymm5,%ymm7
+  .byte  196,129,121,16,12,129               // vmovupd       (%r9,%r8,4),%xmm1
+  .byte  196,227,117,13,207,12               // vblendpd      $0xc,%ymm7,%ymm1,%ymm1
+  .byte  197,252,16,124,36,224               // vmovups       -0x20(%rsp),%ymm7
+  .byte  197,252,16,116,36,192               // vmovups       -0x40(%rsp),%ymm6
+  .byte  197,252,16,108,36,160               // vmovups       -0x60(%rsp),%ymm5
+  .byte  197,252,16,100,36,128               // vmovups       -0x80(%rsp),%ymm4
+  .byte  72,131,196,24                       // add           $0x18,%rsp
+  .byte  196,193,116,20,210                  // vunpcklps     %ymm10,%ymm1,%ymm2
+  .byte  196,65,116,21,194                   // vunpckhps     %ymm10,%ymm1,%ymm8
+  .byte  197,228,20,200                      // vunpcklps     %ymm0,%ymm3,%ymm1
+  .byte  197,228,21,216                      // vunpckhps     %ymm0,%ymm3,%ymm3
+  .byte  197,237,20,193                      // vunpcklpd     %ymm1,%ymm2,%ymm0
+  .byte  197,237,21,201                      // vunpckhpd     %ymm1,%ymm2,%ymm1
+  .byte  197,189,20,211                      // vunpcklpd     %ymm3,%ymm8,%ymm2
+  .byte  197,189,21,219                      // vunpckhpd     %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  197,229,87,219                      // vxorpd        %ymm3,%ymm3,%ymm3
+  .byte  196,65,45,87,210                    // vxorpd        %ymm10,%ymm10,%ymm10
+  .byte  197,245,87,201                      // vxorpd        %ymm1,%ymm1,%ymm1
+  .byte  235,203                             // jmp           e085 <_sk_load_f32_hsw+0x145>
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  27,255                              // sbb           %edi,%edi
+  .byte  255                                 // (bad)
+  .byte  255,161,255,255,255,140             // jmpq          *-0x73000001(%rcx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,119,255                         // pushq         -0x1(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255,92,255,255                      // lcall         *-0x1(%rdi,%rdi,8)
+  .byte  255,70,255                          // incl          -0x1(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255,53,255,255,255,40               // pushq         0x28ffffff(%rip)        # 2900e0d8 <_sk_srcover_bgra_8888_sse2_lowp+0x28fd1e8c>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_f32_dst_hsw
+.globl _sk_load_f32_dst_hsw
+FUNCTION(_sk_load_f32_dst_hsw)
+_sk_load_f32_dst_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,221,87,228                      // vxorpd        %ymm4,%ymm4,%ymm4
+  .byte  72,131,255,7                        // cmp           $0x7,%rdi
+  .byte  15,135,91,1,0,0                     // ja            e247 <_sk_load_f32_dst_hsw+0x16b>
+  .byte  72,131,236,24                       // sub           $0x18,%rsp
+  .byte  197,253,17,68,36,128                // vmovupd       %ymm0,-0x80(%rsp)
+  .byte  197,253,17,76,36,160                // vmovupd       %ymm1,-0x60(%rsp)
+  .byte  197,253,17,84,36,192                // vmovupd       %ymm2,-0x40(%rsp)
+  .byte  197,253,17,92,36,224                // vmovupd       %ymm3,-0x20(%rsp)
+  .byte  76,141,4,149,0,0,0,0                // lea           0x0(,%rdx,4),%r8
+  .byte  76,99,72,8                          // movslq        0x8(%rax),%r9
+  .byte  76,15,175,201                       // imul          %rcx,%r9
+  .byte  73,193,225,2                        // shl           $0x2,%r9
+  .byte  76,3,8                              // add           (%rax),%r9
+  .byte  76,141,21,50,1,0,0                  // lea           0x132(%rip),%r10        # e258 <_sk_load_f32_dst_hsw+0x17c>
+  .byte  73,99,4,186                         // movslq        (%r10,%rdi,4),%rax
+  .byte  76,1,208                            // add           %r10,%rax
+  .byte  197,253,87,192                      // vxorpd        %ymm0,%ymm0,%ymm0
+  .byte  196,65,53,87,201                    // vxorpd        %ymm9,%ymm9,%ymm9
+  .byte  197,205,87,246                      // vxorpd        %ymm6,%ymm6,%ymm6
+  .byte  196,65,37,87,219                    // vxorpd        %ymm11,%ymm11,%ymm11
+  .byte  196,65,29,87,228                    // vxorpd        %ymm12,%ymm12,%ymm12
+  .byte  196,65,61,87,192                    // vxorpd        %ymm8,%ymm8,%ymm8
+  .byte  196,65,13,87,246                    // vxorpd        %ymm14,%ymm14,%ymm14
+  .byte  197,237,87,210                      // vxorpd        %ymm2,%ymm2,%ymm2
+  .byte  196,65,5,87,255                     // vxorpd        %ymm15,%ymm15,%ymm15
+  .byte  197,213,87,237                      // vxorpd        %ymm5,%ymm5,%ymm5
+  .byte  196,65,21,87,237                    // vxorpd        %ymm13,%ymm13,%ymm13
+  .byte  197,245,87,201                      // vxorpd        %ymm1,%ymm1,%ymm1
+  .byte  197,197,87,255                      // vxorpd        %ymm7,%ymm7,%ymm7
+  .byte  196,65,45,87,210                    // vxorpd        %ymm10,%ymm10,%ymm10
+  .byte  197,229,87,219                      // vxorpd        %ymm3,%ymm3,%ymm3
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,129,121,16,68,129,112           // vmovupd       0x70(%r9,%r8,4),%xmm0
+  .byte  196,227,125,6,224,40                // vperm2f128    $0x28,%ymm0,%ymm0,%ymm4
+  .byte  196,129,121,16,68,129,96            // vmovupd       0x60(%r9,%r8,4),%xmm0
+  .byte  196,227,125,6,192,40                // vperm2f128    $0x28,%ymm0,%ymm0,%ymm0
+  .byte  196,129,121,16,76,129,80            // vmovupd       0x50(%r9,%r8,4),%xmm1
+  .byte  196,227,125,6,241,40                // vperm2f128    $0x28,%ymm1,%ymm0,%ymm6
+  .byte  197,125,40,200                      // vmovapd       %ymm0,%ymm9
+  .byte  196,129,121,16,68,129,64            // vmovupd       0x40(%r9,%r8,4),%xmm0
+  .byte  196,99,125,6,192,40                 // vperm2f128    $0x28,%ymm0,%ymm0,%ymm8
+  .byte  196,65,125,40,217                   // vmovapd       %ymm9,%ymm11
+  .byte  197,125,40,230                      // vmovapd       %ymm6,%ymm12
+  .byte  196,129,121,16,68,129,48            // vmovupd       0x30(%r9,%r8,4),%xmm0
+  .byte  196,227,125,13,228,12               // vblendpd      $0xc,%ymm4,%ymm0,%ymm4
+  .byte  196,65,125,40,243                   // vmovapd       %ymm11,%ymm14
+  .byte  197,125,41,226                      // vmovapd       %ymm12,%ymm2
+  .byte  196,65,125,40,248                   // vmovapd       %ymm8,%ymm15
+  .byte  196,129,121,16,68,129,32            // vmovupd       0x20(%r9,%r8,4),%xmm0
+  .byte  196,195,125,13,238,12               // vblendpd      $0xc,%ymm14,%ymm0,%ymm5
+  .byte  197,125,40,234                      // vmovapd       %ymm2,%ymm13
+  .byte  197,125,41,249                      // vmovapd       %ymm15,%ymm1
+  .byte  196,129,121,16,68,129,16            // vmovupd       0x10(%r9,%r8,4),%xmm0
+  .byte  196,67,125,13,213,12                // vblendpd      $0xc,%ymm13,%ymm0,%ymm10
+  .byte  197,253,40,253                      // vmovapd       %ymm5,%ymm7
+  .byte  197,253,40,217                      // vmovapd       %ymm1,%ymm3
+  .byte  196,129,121,16,4,129                // vmovupd       (%r9,%r8,4),%xmm0
+  .byte  196,227,125,13,235,12               // vblendpd      $0xc,%ymm3,%ymm0,%ymm5
+  .byte  197,252,16,92,36,224                // vmovups       -0x20(%rsp),%ymm3
+  .byte  197,252,16,84,36,192                // vmovups       -0x40(%rsp),%ymm2
+  .byte  197,252,16,76,36,160                // vmovups       -0x60(%rsp),%ymm1
+  .byte  197,252,16,68,36,128                // vmovups       -0x80(%rsp),%ymm0
+  .byte  72,131,196,24                       // add           $0x18,%rsp
+  .byte  196,193,84,20,242                   // vunpcklps     %ymm10,%ymm5,%ymm6
+  .byte  196,65,84,21,194                    // vunpckhps     %ymm10,%ymm5,%ymm8
+  .byte  197,196,20,236                      // vunpcklps     %ymm4,%ymm7,%ymm5
+  .byte  197,196,21,252                      // vunpckhps     %ymm4,%ymm7,%ymm7
+  .byte  197,205,20,229                      // vunpcklpd     %ymm5,%ymm6,%ymm4
+  .byte  197,205,21,237                      // vunpckhpd     %ymm5,%ymm6,%ymm5
+  .byte  197,189,20,247                      // vunpcklpd     %ymm7,%ymm8,%ymm6
+  .byte  197,189,21,255                      // vunpckhpd     %ymm7,%ymm8,%ymm7
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  197,197,87,255                      // vxorpd        %ymm7,%ymm7,%ymm7
+  .byte  196,65,45,87,210                    // vxorpd        %ymm10,%ymm10,%ymm10
+  .byte  197,213,87,237                      // vxorpd        %ymm5,%ymm5,%ymm5
+  .byte  235,203                             // jmp           e221 <_sk_load_f32_dst_hsw+0x145>
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  27,255                              // sbb           %edi,%edi
+  .byte  255                                 // (bad)
+  .byte  255,161,255,255,255,140             // jmpq          *-0x73000001(%rcx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,119,255                         // pushq         -0x1(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255,92,255,255                      // lcall         *-0x1(%rdi,%rdi,8)
+  .byte  255,70,255                          // incl          -0x1(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255,53,255,255,255,40               // pushq         0x28ffffff(%rip)        # 2900e274 <_sk_srcover_bgra_8888_sse2_lowp+0x28fd2028>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_store_f32_hsw
+.globl _sk_store_f32_hsw
+FUNCTION(_sk_store_f32_hsw)
+_sk_store_f32_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,141,4,149,0,0,0,0                // lea           0x0(,%rdx,4),%r8
+  .byte  76,99,72,8                          // movslq        0x8(%rax),%r9
+  .byte  76,15,175,201                       // imul          %rcx,%r9
+  .byte  73,193,225,2                        // shl           $0x2,%r9
+  .byte  76,3,8                              // add           (%rax),%r9
+  .byte  197,124,20,193                      // vunpcklps     %ymm1,%ymm0,%ymm8
+  .byte  197,124,21,217                      // vunpckhps     %ymm1,%ymm0,%ymm11
+  .byte  197,108,20,203                      // vunpcklps     %ymm3,%ymm2,%ymm9
+  .byte  197,108,21,227                      // vunpckhps     %ymm3,%ymm2,%ymm12
+  .byte  196,65,61,20,209                    // vunpcklpd     %ymm9,%ymm8,%ymm10
+  .byte  196,65,61,21,201                    // vunpckhpd     %ymm9,%ymm8,%ymm9
+  .byte  196,65,37,20,196                    // vunpcklpd     %ymm12,%ymm11,%ymm8
+  .byte  196,65,37,21,220                    // vunpckhpd     %ymm12,%ymm11,%ymm11
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,55                              // jne           e2f1 <_sk_store_f32_hsw+0x79>
+  .byte  196,67,45,24,225,1                  // vinsertf128   $0x1,%xmm9,%ymm10,%ymm12
+  .byte  196,67,61,24,235,1                  // vinsertf128   $0x1,%xmm11,%ymm8,%ymm13
+  .byte  196,67,45,6,201,49                  // vperm2f128    $0x31,%ymm9,%ymm10,%ymm9
+  .byte  196,67,61,6,195,49                  // vperm2f128    $0x31,%ymm11,%ymm8,%ymm8
+  .byte  196,1,125,17,36,129                 // vmovupd       %ymm12,(%r9,%r8,4)
+  .byte  196,1,125,17,108,129,32             // vmovupd       %ymm13,0x20(%r9,%r8,4)
+  .byte  196,1,125,17,76,129,64              // vmovupd       %ymm9,0x40(%r9,%r8,4)
+  .byte  196,1,125,17,68,129,96              // vmovupd       %ymm8,0x60(%r9,%r8,4)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,1,121,17,20,129                 // vmovupd       %xmm10,(%r9,%r8,4)
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  116,240                             // je            e2ed <_sk_store_f32_hsw+0x75>
+  .byte  196,1,121,17,76,129,16              // vmovupd       %xmm9,0x10(%r9,%r8,4)
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  114,227                             // jb            e2ed <_sk_store_f32_hsw+0x75>
+  .byte  196,1,121,17,68,129,32              // vmovupd       %xmm8,0x20(%r9,%r8,4)
+  .byte  116,218                             // je            e2ed <_sk_store_f32_hsw+0x75>
+  .byte  196,1,121,17,92,129,48              // vmovupd       %xmm11,0x30(%r9,%r8,4)
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  114,205                             // jb            e2ed <_sk_store_f32_hsw+0x75>
+  .byte  196,3,125,25,84,129,64,1            // vextractf128  $0x1,%ymm10,0x40(%r9,%r8,4)
+  .byte  116,195                             // je            e2ed <_sk_store_f32_hsw+0x75>
+  .byte  196,3,125,25,76,129,80,1            // vextractf128  $0x1,%ymm9,0x50(%r9,%r8,4)
+  .byte  72,131,255,7                        // cmp           $0x7,%rdi
+  .byte  114,181                             // jb            e2ed <_sk_store_f32_hsw+0x75>
+  .byte  196,3,125,25,68,129,96,1            // vextractf128  $0x1,%ymm8,0x60(%r9,%r8,4)
+  .byte  235,171                             // jmp           e2ed <_sk_store_f32_hsw+0x75>
+
+HIDDEN _sk_repeat_x_hsw
+.globl _sk_repeat_x_hsw
+FUNCTION(_sk_repeat_x_hsw)
+_sk_repeat_x_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,64,4                  // vbroadcastss  0x4(%rax),%ymm8
+  .byte  197,60,89,192                       // vmulps        %ymm0,%ymm8,%ymm8
+  .byte  196,67,125,8,192,1                  // vroundps      $0x1,%ymm8,%ymm8
+  .byte  196,98,125,24,8                     // vbroadcastss  (%rax),%ymm9
+  .byte  196,194,61,188,193                  // vfnmadd231ps  %ymm9,%ymm8,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_repeat_y_hsw
+.globl _sk_repeat_y_hsw
+FUNCTION(_sk_repeat_y_hsw)
+_sk_repeat_y_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,64,4                  // vbroadcastss  0x4(%rax),%ymm8
+  .byte  197,60,89,193                       // vmulps        %ymm1,%ymm8,%ymm8
+  .byte  196,67,125,8,192,1                  // vroundps      $0x1,%ymm8,%ymm8
+  .byte  196,98,125,24,8                     // vbroadcastss  (%rax),%ymm9
+  .byte  196,194,61,188,201                  // vfnmadd231ps  %ymm9,%ymm8,%ymm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_mirror_x_hsw
+.globl _sk_mirror_x_hsw
+FUNCTION(_sk_mirror_x_hsw)
+_sk_mirror_x_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,122,16,0                        // vmovss        (%rax),%xmm8
+  .byte  197,122,16,72,4                     // vmovss        0x4(%rax),%xmm9
+  .byte  196,66,125,24,208                   // vbroadcastss  %xmm8,%ymm10
+  .byte  196,65,124,92,218                   // vsubps        %ymm10,%ymm0,%ymm11
+  .byte  196,193,58,88,192                   // vaddss        %xmm8,%xmm8,%xmm0
+  .byte  196,98,125,24,192                   // vbroadcastss  %xmm0,%ymm8
+  .byte  197,178,89,5,79,225,2,0             // vmulss        0x2e14f(%rip),%xmm9,%xmm0        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  196,226,125,24,192                  // vbroadcastss  %xmm0,%ymm0
+  .byte  197,164,89,192                      // vmulps        %ymm0,%ymm11,%ymm0
+  .byte  196,227,125,8,192,1                 // vroundps      $0x1,%ymm0,%ymm0
+  .byte  196,194,61,172,195                  // vfnmadd213ps  %ymm11,%ymm8,%ymm0
+  .byte  196,193,124,92,194                  // vsubps        %ymm10,%ymm0,%ymm0
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,60,92,192                       // vsubps        %ymm0,%ymm8,%ymm8
+  .byte  197,188,84,192                      // vandps        %ymm0,%ymm8,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_mirror_y_hsw
+.globl _sk_mirror_y_hsw
+FUNCTION(_sk_mirror_y_hsw)
+_sk_mirror_y_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,122,16,0                        // vmovss        (%rax),%xmm8
+  .byte  197,122,16,72,4                     // vmovss        0x4(%rax),%xmm9
+  .byte  196,66,125,24,208                   // vbroadcastss  %xmm8,%ymm10
+  .byte  196,65,116,92,218                   // vsubps        %ymm10,%ymm1,%ymm11
+  .byte  196,193,58,88,200                   // vaddss        %xmm8,%xmm8,%xmm1
+  .byte  196,98,125,24,193                   // vbroadcastss  %xmm1,%ymm8
+  .byte  197,178,89,13,254,224,2,0           // vmulss        0x2e0fe(%rip),%xmm9,%xmm1        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  196,226,125,24,201                  // vbroadcastss  %xmm1,%ymm1
+  .byte  197,164,89,201                      // vmulps        %ymm1,%ymm11,%ymm1
+  .byte  196,227,125,8,201,1                 // vroundps      $0x1,%ymm1,%ymm1
+  .byte  196,194,61,172,203                  // vfnmadd213ps  %ymm11,%ymm8,%ymm1
+  .byte  196,193,116,92,202                  // vsubps        %ymm10,%ymm1,%ymm1
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,60,92,193                       // vsubps        %ymm1,%ymm8,%ymm8
+  .byte  197,188,84,201                      // vandps        %ymm1,%ymm8,%ymm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_clamp_x_1_hsw
+.globl _sk_clamp_x_1_hsw
+FUNCTION(_sk_clamp_x_1_hsw)
+_sk_clamp_x_1_hsw:
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,188,95,192                      // vmaxps        %ymm0,%ymm8,%ymm0
+  .byte  196,98,125,24,5,198,224,2,0         // vbroadcastss  0x2e0c6(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,193,124,93,192                  // vminps        %ymm8,%ymm0,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_repeat_x_1_hsw
+.globl _sk_repeat_x_1_hsw
+FUNCTION(_sk_repeat_x_1_hsw)
+_sk_repeat_x_1_hsw:
+  .byte  196,99,125,8,192,1                  // vroundps      $0x1,%ymm0,%ymm8
+  .byte  196,193,124,92,192                  // vsubps        %ymm8,%ymm0,%ymm0
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,188,95,192                      // vmaxps        %ymm0,%ymm8,%ymm0
+  .byte  196,98,125,24,5,160,224,2,0         // vbroadcastss  0x2e0a0(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,193,124,93,192                  // vminps        %ymm8,%ymm0,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_mirror_x_1_hsw
+.globl _sk_mirror_x_1_hsw
+FUNCTION(_sk_mirror_x_1_hsw)
+_sk_mirror_x_1_hsw:
+  .byte  196,98,125,24,5,166,224,2,0         // vbroadcastss  0x2e0a6(%rip),%ymm8        # 3c514 <_sk_srcover_bgra_8888_sse2_lowp+0x2c8>
+  .byte  196,193,124,88,192                  // vaddps        %ymm8,%ymm0,%ymm0
+  .byte  196,98,125,24,13,124,224,2,0        // vbroadcastss  0x2e07c(%rip),%ymm9        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  196,65,124,89,201                   // vmulps        %ymm9,%ymm0,%ymm9
+  .byte  196,67,125,8,201,1                  // vroundps      $0x1,%ymm9,%ymm9
+  .byte  196,65,52,88,201                    // vaddps        %ymm9,%ymm9,%ymm9
+  .byte  196,193,124,92,193                  // vsubps        %ymm9,%ymm0,%ymm0
+  .byte  196,193,124,88,192                  // vaddps        %ymm8,%ymm0,%ymm0
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,60,92,200                       // vsubps        %ymm0,%ymm8,%ymm9
+  .byte  197,180,84,192                      // vandps        %ymm0,%ymm9,%ymm0
+  .byte  197,188,95,192                      // vmaxps        %ymm0,%ymm8,%ymm0
+  .byte  196,98,125,24,5,76,224,2,0          // vbroadcastss  0x2e04c(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,193,124,93,192                  // vminps        %ymm8,%ymm0,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_decal_x_hsw
+.globl _sk_decal_x_hsw
+FUNCTION(_sk_decal_x_hsw)
+_sk_decal_x_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,60,194,200,2                    // vcmpleps      %ymm0,%ymm8,%ymm9
+  .byte  196,98,125,24,80,64                 // vbroadcastss  0x40(%rax),%ymm10
+  .byte  196,65,124,194,210,1                // vcmpltps      %ymm10,%ymm0,%ymm10
+  .byte  196,65,44,84,201                    // vandps        %ymm9,%ymm10,%ymm9
+  .byte  196,65,45,118,210                   // vpcmpeqd      %ymm10,%ymm10,%ymm10
+  .byte  196,67,61,74,194,144                // vblendvps     %ymm9,%ymm10,%ymm8,%ymm8
+  .byte  197,124,17,0                        // vmovups       %ymm8,(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_decal_y_hsw
+.globl _sk_decal_y_hsw
+FUNCTION(_sk_decal_y_hsw)
+_sk_decal_y_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,60,194,201,2                    // vcmpleps      %ymm1,%ymm8,%ymm9
+  .byte  196,98,125,24,80,68                 // vbroadcastss  0x44(%rax),%ymm10
+  .byte  196,65,116,194,210,1                // vcmpltps      %ymm10,%ymm1,%ymm10
+  .byte  196,65,44,84,201                    // vandps        %ymm9,%ymm10,%ymm9
+  .byte  196,65,45,118,210                   // vpcmpeqd      %ymm10,%ymm10,%ymm10
+  .byte  196,67,61,74,194,144                // vblendvps     %ymm9,%ymm10,%ymm8,%ymm8
+  .byte  197,124,17,0                        // vmovups       %ymm8,(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_decal_x_and_y_hsw
+.globl _sk_decal_x_and_y_hsw
+FUNCTION(_sk_decal_x_and_y_hsw)
+_sk_decal_x_and_y_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,60,194,200,2                    // vcmpleps      %ymm0,%ymm8,%ymm9
+  .byte  196,67,125,25,202,1                 // vextractf128  $0x1,%ymm9,%xmm10
+  .byte  196,65,49,99,202                    // vpacksswb     %xmm10,%xmm9,%xmm9
+  .byte  196,98,125,24,80,64                 // vbroadcastss  0x40(%rax),%ymm10
+  .byte  196,65,124,194,210,1                // vcmpltps      %ymm10,%ymm0,%ymm10
+  .byte  196,67,125,25,211,1                 // vextractf128  $0x1,%ymm10,%xmm11
+  .byte  196,65,41,99,211                    // vpacksswb     %xmm11,%xmm10,%xmm10
+  .byte  197,60,194,217,2                    // vcmpleps      %ymm1,%ymm8,%ymm11
+  .byte  196,67,125,25,220,1                 // vextractf128  $0x1,%ymm11,%xmm12
+  .byte  196,65,33,99,220                    // vpacksswb     %xmm12,%xmm11,%xmm11
+  .byte  196,65,33,219,201                   // vpand         %xmm9,%xmm11,%xmm9
+  .byte  196,65,49,219,202                   // vpand         %xmm10,%xmm9,%xmm9
+  .byte  196,98,125,24,80,68                 // vbroadcastss  0x44(%rax),%ymm10
+  .byte  196,65,116,194,210,1                // vcmpltps      %ymm10,%ymm1,%ymm10
+  .byte  196,67,125,25,211,1                 // vextractf128  $0x1,%ymm10,%xmm11
+  .byte  196,65,41,99,211                    // vpacksswb     %xmm11,%xmm10,%xmm10
+  .byte  196,65,49,219,202                   // vpand         %xmm10,%xmm9,%xmm9
+  .byte  196,66,125,51,201                   // vpmovzxwd     %xmm9,%ymm9
+  .byte  196,193,53,114,241,31               // vpslld        $0x1f,%ymm9,%ymm9
+  .byte  196,193,53,114,225,31               // vpsrad        $0x1f,%ymm9,%ymm9
+  .byte  196,65,45,118,210                   // vpcmpeqd      %ymm10,%ymm10,%ymm10
+  .byte  196,67,61,74,194,144                // vblendvps     %ymm9,%ymm10,%ymm8,%ymm8
+  .byte  197,124,17,0                        // vmovups       %ymm8,(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_check_decal_mask_hsw
+.globl _sk_check_decal_mask_hsw
+FUNCTION(_sk_check_decal_mask_hsw)
+_sk_check_decal_mask_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,16,0                        // vmovups       (%rax),%ymm8
+  .byte  197,188,84,192                      // vandps        %ymm0,%ymm8,%ymm0
+  .byte  197,188,84,201                      // vandps        %ymm1,%ymm8,%ymm1
+  .byte  197,188,84,210                      // vandps        %ymm2,%ymm8,%ymm2
+  .byte  197,188,84,219                      // vandps        %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_luminance_to_alpha_hsw
+.globl _sk_luminance_to_alpha_hsw
+FUNCTION(_sk_luminance_to_alpha_hsw)
+_sk_luminance_to_alpha_hsw:
+  .byte  196,226,125,24,29,108,224,2,0       // vbroadcastss  0x2e06c(%rip),%ymm3        # 3c630 <_sk_srcover_bgra_8888_sse2_lowp+0x3e4>
+  .byte  196,98,125,24,5,95,224,2,0          // vbroadcastss  0x2e05f(%rip),%ymm8        # 3c62c <_sk_srcover_bgra_8888_sse2_lowp+0x3e0>
+  .byte  196,193,116,89,200                  // vmulps        %ymm8,%ymm1,%ymm1
+  .byte  196,226,125,184,203                 // vfmadd231ps   %ymm3,%ymm0,%ymm1
+  .byte  196,226,125,24,29,84,224,2,0        // vbroadcastss  0x2e054(%rip),%ymm3        # 3c634 <_sk_srcover_bgra_8888_sse2_lowp+0x3e8>
+  .byte  196,226,109,168,217                 // vfmadd213ps   %ymm1,%ymm2,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_translate_hsw
+.globl _sk_matrix_translate_hsw
+FUNCTION(_sk_matrix_translate_hsw)
+_sk_matrix_translate_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,0                     // vbroadcastss  (%rax),%ymm8
+  .byte  197,188,88,192                      // vaddps        %ymm0,%ymm8,%ymm0
+  .byte  196,98,125,24,64,4                  // vbroadcastss  0x4(%rax),%ymm8
+  .byte  197,188,88,201                      // vaddps        %ymm1,%ymm8,%ymm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_scale_translate_hsw
+.globl _sk_matrix_scale_translate_hsw
+FUNCTION(_sk_matrix_scale_translate_hsw)
+_sk_matrix_scale_translate_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,0                     // vbroadcastss  (%rax),%ymm8
+  .byte  196,98,125,24,72,8                  // vbroadcastss  0x8(%rax),%ymm9
+  .byte  196,194,61,168,193                  // vfmadd213ps   %ymm9,%ymm8,%ymm0
+  .byte  196,98,125,24,64,4                  // vbroadcastss  0x4(%rax),%ymm8
+  .byte  196,98,125,24,72,12                 // vbroadcastss  0xc(%rax),%ymm9
+  .byte  196,194,61,168,201                  // vfmadd213ps   %ymm9,%ymm8,%ymm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_2x3_hsw
+.globl _sk_matrix_2x3_hsw
+FUNCTION(_sk_matrix_2x3_hsw)
+_sk_matrix_2x3_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,8                     // vbroadcastss  (%rax),%ymm9
+  .byte  196,98,125,24,80,8                  // vbroadcastss  0x8(%rax),%ymm10
+  .byte  196,98,125,24,64,16                 // vbroadcastss  0x10(%rax),%ymm8
+  .byte  196,66,117,184,194                  // vfmadd231ps   %ymm10,%ymm1,%ymm8
+  .byte  196,66,125,184,193                  // vfmadd231ps   %ymm9,%ymm0,%ymm8
+  .byte  196,98,125,24,80,4                  // vbroadcastss  0x4(%rax),%ymm10
+  .byte  196,98,125,24,88,12                 // vbroadcastss  0xc(%rax),%ymm11
+  .byte  196,98,125,24,72,20                 // vbroadcastss  0x14(%rax),%ymm9
+  .byte  196,66,117,184,203                  // vfmadd231ps   %ymm11,%ymm1,%ymm9
+  .byte  196,66,125,184,202                  // vfmadd231ps   %ymm10,%ymm0,%ymm9
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
+  .byte  197,124,41,201                      // vmovaps       %ymm9,%ymm1
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_3x4_hsw
+.globl _sk_matrix_3x4_hsw
+FUNCTION(_sk_matrix_3x4_hsw)
+_sk_matrix_3x4_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,8                     // vbroadcastss  (%rax),%ymm9
+  .byte  196,98,125,24,80,12                 // vbroadcastss  0xc(%rax),%ymm10
+  .byte  196,98,125,24,88,24                 // vbroadcastss  0x18(%rax),%ymm11
+  .byte  196,98,125,24,64,36                 // vbroadcastss  0x24(%rax),%ymm8
+  .byte  196,66,109,184,195                  // vfmadd231ps   %ymm11,%ymm2,%ymm8
+  .byte  196,66,117,184,194                  // vfmadd231ps   %ymm10,%ymm1,%ymm8
+  .byte  196,66,125,184,193                  // vfmadd231ps   %ymm9,%ymm0,%ymm8
+  .byte  196,98,125,24,80,4                  // vbroadcastss  0x4(%rax),%ymm10
+  .byte  196,98,125,24,88,16                 // vbroadcastss  0x10(%rax),%ymm11
+  .byte  196,98,125,24,96,28                 // vbroadcastss  0x1c(%rax),%ymm12
+  .byte  196,98,125,24,72,40                 // vbroadcastss  0x28(%rax),%ymm9
+  .byte  196,66,109,184,204                  // vfmadd231ps   %ymm12,%ymm2,%ymm9
+  .byte  196,66,117,184,203                  // vfmadd231ps   %ymm11,%ymm1,%ymm9
+  .byte  196,66,125,184,202                  // vfmadd231ps   %ymm10,%ymm0,%ymm9
+  .byte  196,98,125,24,88,8                  // vbroadcastss  0x8(%rax),%ymm11
+  .byte  196,98,125,24,96,20                 // vbroadcastss  0x14(%rax),%ymm12
+  .byte  196,98,125,24,104,32                // vbroadcastss  0x20(%rax),%ymm13
+  .byte  196,98,125,24,80,44                 // vbroadcastss  0x2c(%rax),%ymm10
+  .byte  196,66,109,184,213                  // vfmadd231ps   %ymm13,%ymm2,%ymm10
+  .byte  196,66,117,184,212                  // vfmadd231ps   %ymm12,%ymm1,%ymm10
+  .byte  196,66,125,184,211                  // vfmadd231ps   %ymm11,%ymm0,%ymm10
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
+  .byte  197,124,41,201                      // vmovaps       %ymm9,%ymm1
+  .byte  197,124,41,210                      // vmovaps       %ymm10,%ymm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_4x5_hsw
+.globl _sk_matrix_4x5_hsw
+FUNCTION(_sk_matrix_4x5_hsw)
+_sk_matrix_4x5_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,8                     // vbroadcastss  (%rax),%ymm9
+  .byte  196,98,125,24,80,16                 // vbroadcastss  0x10(%rax),%ymm10
+  .byte  196,98,125,24,88,32                 // vbroadcastss  0x20(%rax),%ymm11
+  .byte  196,98,125,24,96,48                 // vbroadcastss  0x30(%rax),%ymm12
+  .byte  196,98,125,24,64,64                 // vbroadcastss  0x40(%rax),%ymm8
+  .byte  196,66,101,184,196                  // vfmadd231ps   %ymm12,%ymm3,%ymm8
+  .byte  196,66,109,184,195                  // vfmadd231ps   %ymm11,%ymm2,%ymm8
+  .byte  196,66,117,184,194                  // vfmadd231ps   %ymm10,%ymm1,%ymm8
+  .byte  196,66,125,184,193                  // vfmadd231ps   %ymm9,%ymm0,%ymm8
+  .byte  196,98,125,24,80,4                  // vbroadcastss  0x4(%rax),%ymm10
+  .byte  196,98,125,24,88,20                 // vbroadcastss  0x14(%rax),%ymm11
+  .byte  196,98,125,24,96,36                 // vbroadcastss  0x24(%rax),%ymm12
+  .byte  196,98,125,24,104,52                // vbroadcastss  0x34(%rax),%ymm13
+  .byte  196,98,125,24,72,68                 // vbroadcastss  0x44(%rax),%ymm9
+  .byte  196,66,101,184,205                  // vfmadd231ps   %ymm13,%ymm3,%ymm9
+  .byte  196,66,109,184,204                  // vfmadd231ps   %ymm12,%ymm2,%ymm9
+  .byte  196,66,117,184,203                  // vfmadd231ps   %ymm11,%ymm1,%ymm9
+  .byte  196,66,125,184,202                  // vfmadd231ps   %ymm10,%ymm0,%ymm9
+  .byte  196,98,125,24,88,8                  // vbroadcastss  0x8(%rax),%ymm11
+  .byte  196,98,125,24,96,24                 // vbroadcastss  0x18(%rax),%ymm12
+  .byte  196,98,125,24,104,40                // vbroadcastss  0x28(%rax),%ymm13
+  .byte  196,98,125,24,112,56                // vbroadcastss  0x38(%rax),%ymm14
+  .byte  196,98,125,24,80,72                 // vbroadcastss  0x48(%rax),%ymm10
+  .byte  196,66,101,184,214                  // vfmadd231ps   %ymm14,%ymm3,%ymm10
+  .byte  196,66,109,184,213                  // vfmadd231ps   %ymm13,%ymm2,%ymm10
+  .byte  196,66,117,184,212                  // vfmadd231ps   %ymm12,%ymm1,%ymm10
+  .byte  196,66,125,184,211                  // vfmadd231ps   %ymm11,%ymm0,%ymm10
+  .byte  196,98,125,24,96,12                 // vbroadcastss  0xc(%rax),%ymm12
+  .byte  196,98,125,24,104,28                // vbroadcastss  0x1c(%rax),%ymm13
+  .byte  196,98,125,24,112,44                // vbroadcastss  0x2c(%rax),%ymm14
+  .byte  196,98,125,24,120,60                // vbroadcastss  0x3c(%rax),%ymm15
+  .byte  196,98,125,24,88,76                 // vbroadcastss  0x4c(%rax),%ymm11
+  .byte  196,66,101,184,223                  // vfmadd231ps   %ymm15,%ymm3,%ymm11
+  .byte  196,66,109,184,222                  // vfmadd231ps   %ymm14,%ymm2,%ymm11
+  .byte  196,66,117,184,221                  // vfmadd231ps   %ymm13,%ymm1,%ymm11
+  .byte  196,66,125,184,220                  // vfmadd231ps   %ymm12,%ymm0,%ymm11
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
+  .byte  197,124,41,201                      // vmovaps       %ymm9,%ymm1
+  .byte  197,124,41,210                      // vmovaps       %ymm10,%ymm2
+  .byte  197,124,41,219                      // vmovaps       %ymm11,%ymm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_4x3_hsw
+.globl _sk_matrix_4x3_hsw
+FUNCTION(_sk_matrix_4x3_hsw)
+_sk_matrix_4x3_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,16                   // vbroadcastss  (%rax),%ymm2
+  .byte  196,226,125,24,88,16                // vbroadcastss  0x10(%rax),%ymm3
+  .byte  196,98,125,24,64,32                 // vbroadcastss  0x20(%rax),%ymm8
+  .byte  196,98,117,184,195                  // vfmadd231ps   %ymm3,%ymm1,%ymm8
+  .byte  196,98,125,184,194                  // vfmadd231ps   %ymm2,%ymm0,%ymm8
+  .byte  196,226,125,24,80,4                 // vbroadcastss  0x4(%rax),%ymm2
+  .byte  196,226,125,24,88,20                // vbroadcastss  0x14(%rax),%ymm3
+  .byte  196,98,125,24,72,36                 // vbroadcastss  0x24(%rax),%ymm9
+  .byte  196,98,117,184,203                  // vfmadd231ps   %ymm3,%ymm1,%ymm9
+  .byte  196,98,125,184,202                  // vfmadd231ps   %ymm2,%ymm0,%ymm9
+  .byte  196,226,125,24,88,8                 // vbroadcastss  0x8(%rax),%ymm3
+  .byte  196,98,125,24,80,24                 // vbroadcastss  0x18(%rax),%ymm10
+  .byte  196,226,125,24,80,40                // vbroadcastss  0x28(%rax),%ymm2
+  .byte  196,194,117,184,210                 // vfmadd231ps   %ymm10,%ymm1,%ymm2
+  .byte  196,226,125,184,211                 // vfmadd231ps   %ymm3,%ymm0,%ymm2
+  .byte  196,98,125,24,80,12                 // vbroadcastss  0xc(%rax),%ymm10
+  .byte  196,98,125,24,88,28                 // vbroadcastss  0x1c(%rax),%ymm11
+  .byte  196,226,125,24,88,44                // vbroadcastss  0x2c(%rax),%ymm3
+  .byte  196,194,117,184,219                 // vfmadd231ps   %ymm11,%ymm1,%ymm3
+  .byte  196,194,125,184,218                 // vfmadd231ps   %ymm10,%ymm0,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
+  .byte  197,124,41,201                      // vmovaps       %ymm9,%ymm1
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_perspective_hsw
+.globl _sk_matrix_perspective_hsw
+FUNCTION(_sk_matrix_perspective_hsw)
+_sk_matrix_perspective_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,0                     // vbroadcastss  (%rax),%ymm8
+  .byte  196,98,125,24,72,4                  // vbroadcastss  0x4(%rax),%ymm9
+  .byte  196,98,125,24,80,8                  // vbroadcastss  0x8(%rax),%ymm10
+  .byte  196,66,117,184,209                  // vfmadd231ps   %ymm9,%ymm1,%ymm10
+  .byte  196,66,125,184,208                  // vfmadd231ps   %ymm8,%ymm0,%ymm10
+  .byte  196,98,125,24,64,12                 // vbroadcastss  0xc(%rax),%ymm8
+  .byte  196,98,125,24,72,16                 // vbroadcastss  0x10(%rax),%ymm9
+  .byte  196,98,125,24,88,20                 // vbroadcastss  0x14(%rax),%ymm11
+  .byte  196,66,117,184,217                  // vfmadd231ps   %ymm9,%ymm1,%ymm11
+  .byte  196,66,125,184,216                  // vfmadd231ps   %ymm8,%ymm0,%ymm11
+  .byte  196,98,125,24,64,24                 // vbroadcastss  0x18(%rax),%ymm8
+  .byte  196,98,125,24,72,28                 // vbroadcastss  0x1c(%rax),%ymm9
+  .byte  196,98,125,24,96,32                 // vbroadcastss  0x20(%rax),%ymm12
+  .byte  196,66,117,184,225                  // vfmadd231ps   %ymm9,%ymm1,%ymm12
+  .byte  196,66,125,184,224                  // vfmadd231ps   %ymm8,%ymm0,%ymm12
+  .byte  196,193,124,83,204                  // vrcpps        %ymm12,%ymm1
+  .byte  197,172,89,193                      // vmulps        %ymm1,%ymm10,%ymm0
+  .byte  197,164,89,201                      // vmulps        %ymm1,%ymm11,%ymm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_evenly_spaced_gradient_hsw
+.globl _sk_evenly_spaced_gradient_hsw
+FUNCTION(_sk_evenly_spaced_gradient_hsw)
+_sk_evenly_spaced_gradient_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,8                            // mov           (%rax),%r9
+  .byte  76,139,64,8                         // mov           0x8(%rax),%r8
+  .byte  77,137,202                          // mov           %r9,%r10
+  .byte  73,255,202                          // dec           %r10
+  .byte  120,7                               // js            e8d8 <_sk_evenly_spaced_gradient_hsw+0x18>
+  .byte  196,193,242,42,202                  // vcvtsi2ss     %r10,%xmm1,%xmm1
+  .byte  235,22                              // jmp           e8ee <_sk_evenly_spaced_gradient_hsw+0x2e>
+  .byte  77,137,211                          // mov           %r10,%r11
+  .byte  73,209,235                          // shr           %r11
+  .byte  65,131,226,1                        // and           $0x1,%r10d
+  .byte  77,9,218                            // or            %r11,%r10
+  .byte  196,193,242,42,202                  // vcvtsi2ss     %r10,%xmm1,%xmm1
+  .byte  197,242,88,201                      // vaddss        %xmm1,%xmm1,%xmm1
+  .byte  196,226,125,24,201                  // vbroadcastss  %xmm1,%ymm1
+  .byte  197,244,89,200                      // vmulps        %ymm0,%ymm1,%ymm1
+  .byte  197,126,91,225                      // vcvttps2dq    %ymm1,%ymm12
+  .byte  73,131,249,8                        // cmp           $0x8,%r9
+  .byte  119,73                              // ja            e94a <_sk_evenly_spaced_gradient_hsw+0x8a>
+  .byte  196,66,29,22,0                      // vpermps       (%r8),%ymm12,%ymm8
+  .byte  76,139,64,40                        // mov           0x28(%rax),%r8
+  .byte  196,66,29,22,8                      // vpermps       (%r8),%ymm12,%ymm9
+  .byte  76,139,64,16                        // mov           0x10(%rax),%r8
+  .byte  76,139,72,24                        // mov           0x18(%rax),%r9
+  .byte  196,194,29,22,8                     // vpermps       (%r8),%ymm12,%ymm1
+  .byte  76,139,64,48                        // mov           0x30(%rax),%r8
+  .byte  196,66,29,22,24                     // vpermps       (%r8),%ymm12,%ymm11
+  .byte  196,194,29,22,17                    // vpermps       (%r9),%ymm12,%ymm2
+  .byte  76,139,64,56                        // mov           0x38(%rax),%r8
+  .byte  196,66,29,22,40                     // vpermps       (%r8),%ymm12,%ymm13
+  .byte  76,139,64,32                        // mov           0x20(%rax),%r8
+  .byte  196,194,29,22,24                    // vpermps       (%r8),%ymm12,%ymm3
+  .byte  72,139,64,64                        // mov           0x40(%rax),%rax
+  .byte  196,98,29,22,16                     // vpermps       (%rax),%ymm12,%ymm10
+  .byte  233,147,0,0,0                       // jmpq          e9dd <_sk_evenly_spaced_gradient_hsw+0x11d>
+  .byte  196,65,13,118,246                   // vpcmpeqd      %ymm14,%ymm14,%ymm14
+  .byte  196,65,44,87,210                    // vxorps        %ymm10,%ymm10,%ymm10
+  .byte  197,245,118,201                     // vpcmpeqd      %ymm1,%ymm1,%ymm1
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  196,2,117,146,4,160                 // vgatherdps    %ymm1,(%r8,%ymm12,4),%ymm8
+  .byte  76,139,64,40                        // mov           0x28(%rax),%r8
+  .byte  197,245,118,201                     // vpcmpeqd      %ymm1,%ymm1,%ymm1
+  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
+  .byte  196,2,117,146,12,160                // vgatherdps    %ymm1,(%r8,%ymm12,4),%ymm9
+  .byte  76,139,64,16                        // mov           0x10(%rax),%r8
+  .byte  76,139,72,24                        // mov           0x18(%rax),%r9
+  .byte  197,237,118,210                     // vpcmpeqd      %ymm2,%ymm2,%ymm2
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  196,130,109,146,12,160              // vgatherdps    %ymm2,(%r8,%ymm12,4),%ymm1
+  .byte  76,139,64,48                        // mov           0x30(%rax),%r8
+  .byte  197,237,118,210                     // vpcmpeqd      %ymm2,%ymm2,%ymm2
+  .byte  196,65,36,87,219                    // vxorps        %ymm11,%ymm11,%ymm11
+  .byte  196,2,109,146,28,160                // vgatherdps    %ymm2,(%r8,%ymm12,4),%ymm11
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  196,130,101,146,20,161              // vgatherdps    %ymm3,(%r9,%ymm12,4),%ymm2
+  .byte  76,139,64,56                        // mov           0x38(%rax),%r8
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  196,65,20,87,237                    // vxorps        %ymm13,%ymm13,%ymm13
+  .byte  196,2,101,146,44,160                // vgatherdps    %ymm3,(%r8,%ymm12,4),%ymm13
+  .byte  76,139,64,32                        // mov           0x20(%rax),%r8
+  .byte  196,65,5,118,255                    // vpcmpeqd      %ymm15,%ymm15,%ymm15
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  196,130,5,146,28,160                // vgatherdps    %ymm15,(%r8,%ymm12,4),%ymm3
+  .byte  72,139,64,64                        // mov           0x40(%rax),%rax
+  .byte  196,34,13,146,20,160                // vgatherdps    %ymm14,(%rax,%ymm12,4),%ymm10
+  .byte  196,66,125,168,193                  // vfmadd213ps   %ymm9,%ymm0,%ymm8
+  .byte  196,194,125,168,203                 // vfmadd213ps   %ymm11,%ymm0,%ymm1
+  .byte  196,194,125,168,213                 // vfmadd213ps   %ymm13,%ymm0,%ymm2
+  .byte  196,194,125,168,218                 // vfmadd213ps   %ymm10,%ymm0,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_gradient_hsw
+.globl _sk_gradient_hsw
+FUNCTION(_sk_gradient_hsw)
+_sk_gradient_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  73,131,248,1                        // cmp           $0x1,%r8
+  .byte  15,134,220,0,0,0                    // jbe           eae4 <_sk_gradient_hsw+0xeb>
+  .byte  76,139,72,72                        // mov           0x48(%rax),%r9
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  65,186,1,0,0,0                      // mov           $0x1,%r10d
+  .byte  196,226,125,24,21,225,218,2,0       // vbroadcastss  0x2dae1(%rip),%ymm2        # 3c500 <_sk_srcover_bgra_8888_sse2_lowp+0x2b4>
+  .byte  196,65,53,239,201                   // vpxor         %ymm9,%ymm9,%ymm9
+  .byte  196,130,125,24,28,145               // vbroadcastss  (%r9,%r10,4),%ymm3
+  .byte  197,228,194,216,2                   // vcmpleps      %ymm0,%ymm3,%ymm3
+  .byte  196,227,117,74,218,48               // vblendvps     %ymm3,%ymm2,%ymm1,%ymm3
+  .byte  197,53,254,203                      // vpaddd        %ymm3,%ymm9,%ymm9
+  .byte  73,255,194                          // inc           %r10
+  .byte  77,57,208                           // cmp           %r10,%r8
+  .byte  117,227                             // jne           ea24 <_sk_gradient_hsw+0x2b>
+  .byte  76,139,72,8                         // mov           0x8(%rax),%r9
+  .byte  73,131,248,8                        // cmp           $0x8,%r8
+  .byte  15,134,158,0,0,0                    // jbe           eaed <_sk_gradient_hsw+0xf4>
+  .byte  196,65,13,118,246                   // vpcmpeqd      %ymm14,%ymm14,%ymm14
+  .byte  196,65,36,87,219                    // vxorps        %ymm11,%ymm11,%ymm11
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,245,118,201                     // vpcmpeqd      %ymm1,%ymm1,%ymm1
+  .byte  196,2,117,146,4,137                 // vgatherdps    %ymm1,(%r9,%ymm9,4),%ymm8
+  .byte  76,139,64,40                        // mov           0x28(%rax),%r8
+  .byte  196,65,44,87,210                    // vxorps        %ymm10,%ymm10,%ymm10
+  .byte  197,245,118,201                     // vpcmpeqd      %ymm1,%ymm1,%ymm1
+  .byte  196,2,117,146,20,136                // vgatherdps    %ymm1,(%r8,%ymm9,4),%ymm10
+  .byte  76,139,64,16                        // mov           0x10(%rax),%r8
+  .byte  76,139,72,24                        // mov           0x18(%rax),%r9
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  197,237,118,210                     // vpcmpeqd      %ymm2,%ymm2,%ymm2
+  .byte  196,130,109,146,12,136              // vgatherdps    %ymm2,(%r8,%ymm9,4),%ymm1
+  .byte  76,139,64,48                        // mov           0x30(%rax),%r8
+  .byte  196,65,28,87,228                    // vxorps        %ymm12,%ymm12,%ymm12
+  .byte  197,237,118,210                     // vpcmpeqd      %ymm2,%ymm2,%ymm2
+  .byte  196,2,109,146,36,136                // vgatherdps    %ymm2,(%r8,%ymm9,4),%ymm12
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  196,130,101,146,20,137              // vgatherdps    %ymm3,(%r9,%ymm9,4),%ymm2
+  .byte  76,139,64,56                        // mov           0x38(%rax),%r8
+  .byte  196,65,20,87,237                    // vxorps        %ymm13,%ymm13,%ymm13
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  196,2,101,146,44,136                // vgatherdps    %ymm3,(%r8,%ymm9,4),%ymm13
+  .byte  76,139,64,32                        // mov           0x20(%rax),%r8
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  196,65,5,118,255                    // vpcmpeqd      %ymm15,%ymm15,%ymm15
+  .byte  196,130,5,146,28,136                // vgatherdps    %ymm15,(%r8,%ymm9,4),%ymm3
+  .byte  72,139,64,64                        // mov           0x40(%rax),%rax
+  .byte  196,34,13,146,28,136                // vgatherdps    %ymm14,(%rax,%ymm9,4),%ymm11
+  .byte  235,77                              // jmp           eb31 <_sk_gradient_hsw+0x138>
+  .byte  76,139,72,8                         // mov           0x8(%rax),%r9
+  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
+  .byte  196,66,53,22,1                      // vpermps       (%r9),%ymm9,%ymm8
+  .byte  76,139,64,40                        // mov           0x28(%rax),%r8
+  .byte  196,66,53,22,16                     // vpermps       (%r8),%ymm9,%ymm10
+  .byte  76,139,64,16                        // mov           0x10(%rax),%r8
+  .byte  76,139,72,24                        // mov           0x18(%rax),%r9
+  .byte  196,194,53,22,8                     // vpermps       (%r8),%ymm9,%ymm1
+  .byte  76,139,64,48                        // mov           0x30(%rax),%r8
+  .byte  196,66,53,22,32                     // vpermps       (%r8),%ymm9,%ymm12
+  .byte  196,194,53,22,17                    // vpermps       (%r9),%ymm9,%ymm2
+  .byte  76,139,64,56                        // mov           0x38(%rax),%r8
+  .byte  196,66,53,22,40                     // vpermps       (%r8),%ymm9,%ymm13
+  .byte  76,139,64,32                        // mov           0x20(%rax),%r8
+  .byte  196,194,53,22,24                    // vpermps       (%r8),%ymm9,%ymm3
+  .byte  72,139,64,64                        // mov           0x40(%rax),%rax
+  .byte  196,98,53,22,24                     // vpermps       (%rax),%ymm9,%ymm11
+  .byte  196,66,125,168,194                  // vfmadd213ps   %ymm10,%ymm0,%ymm8
+  .byte  196,194,125,168,204                 // vfmadd213ps   %ymm12,%ymm0,%ymm1
+  .byte  196,194,125,168,213                 // vfmadd213ps   %ymm13,%ymm0,%ymm2
+  .byte  196,194,125,168,219                 // vfmadd213ps   %ymm11,%ymm0,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_evenly_spaced_2_stop_gradient_hsw
+.globl _sk_evenly_spaced_2_stop_gradient_hsw
+FUNCTION(_sk_evenly_spaced_2_stop_gradient_hsw)
+_sk_evenly_spaced_2_stop_gradient_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,8                    // vbroadcastss  (%rax),%ymm1
+  .byte  196,98,125,24,64,16                 // vbroadcastss  0x10(%rax),%ymm8
+  .byte  196,98,125,184,193                  // vfmadd231ps   %ymm1,%ymm0,%ymm8
+  .byte  196,226,125,24,80,4                 // vbroadcastss  0x4(%rax),%ymm2
+  .byte  196,226,125,24,72,20                // vbroadcastss  0x14(%rax),%ymm1
+  .byte  196,226,125,184,202                 // vfmadd231ps   %ymm2,%ymm0,%ymm1
+  .byte  196,226,125,24,88,8                 // vbroadcastss  0x8(%rax),%ymm3
+  .byte  196,226,125,24,80,24                // vbroadcastss  0x18(%rax),%ymm2
+  .byte  196,226,125,184,211                 // vfmadd231ps   %ymm3,%ymm0,%ymm2
+  .byte  196,98,125,24,72,12                 // vbroadcastss  0xc(%rax),%ymm9
+  .byte  196,226,125,24,88,28                // vbroadcastss  0x1c(%rax),%ymm3
+  .byte  196,194,125,184,217                 // vfmadd231ps   %ymm9,%ymm0,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xy_to_unit_angle_hsw
+.globl _sk_xy_to_unit_angle_hsw
+FUNCTION(_sk_xy_to_unit_angle_hsw)
+_sk_xy_to_unit_angle_hsw:
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,60,92,200                       // vsubps        %ymm0,%ymm8,%ymm9
+  .byte  197,52,84,200                       // vandps        %ymm0,%ymm9,%ymm9
+  .byte  197,60,92,209                       // vsubps        %ymm1,%ymm8,%ymm10
+  .byte  197,44,84,209                       // vandps        %ymm1,%ymm10,%ymm10
+  .byte  196,65,52,93,218                    // vminps        %ymm10,%ymm9,%ymm11
+  .byte  196,65,52,95,226                    // vmaxps        %ymm10,%ymm9,%ymm12
+  .byte  196,65,36,94,220                    // vdivps        %ymm12,%ymm11,%ymm11
+  .byte  196,65,36,89,227                    // vmulps        %ymm11,%ymm11,%ymm12
+  .byte  196,98,125,24,45,108,218,2,0        // vbroadcastss  0x2da6c(%rip),%ymm13        # 3c638 <_sk_srcover_bgra_8888_sse2_lowp+0x3ec>
+  .byte  196,98,125,24,53,103,218,2,0        // vbroadcastss  0x2da67(%rip),%ymm14        # 3c63c <_sk_srcover_bgra_8888_sse2_lowp+0x3f0>
+  .byte  196,66,29,184,245                   // vfmadd231ps   %ymm13,%ymm12,%ymm14
+  .byte  196,98,125,24,45,93,218,2,0         // vbroadcastss  0x2da5d(%rip),%ymm13        # 3c640 <_sk_srcover_bgra_8888_sse2_lowp+0x3f4>
+  .byte  196,66,29,184,238                   // vfmadd231ps   %ymm14,%ymm12,%ymm13
+  .byte  196,98,125,24,53,83,218,2,0         // vbroadcastss  0x2da53(%rip),%ymm14        # 3c644 <_sk_srcover_bgra_8888_sse2_lowp+0x3f8>
+  .byte  196,66,29,184,245                   // vfmadd231ps   %ymm13,%ymm12,%ymm14
+  .byte  196,65,36,89,222                    // vmulps        %ymm14,%ymm11,%ymm11
+  .byte  196,65,52,194,202,1                 // vcmpltps      %ymm10,%ymm9,%ymm9
+  .byte  196,98,125,24,21,62,218,2,0         // vbroadcastss  0x2da3e(%rip),%ymm10        # 3c648 <_sk_srcover_bgra_8888_sse2_lowp+0x3fc>
+  .byte  196,65,44,92,211                    // vsubps        %ymm11,%ymm10,%ymm10
+  .byte  196,67,37,74,202,144                // vblendvps     %ymm9,%ymm10,%ymm11,%ymm9
+  .byte  196,193,124,194,192,1               // vcmpltps      %ymm8,%ymm0,%ymm0
+  .byte  196,98,125,24,21,212,216,2,0        // vbroadcastss  0x2d8d4(%rip),%ymm10        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  196,65,44,92,209                    // vsubps        %ymm9,%ymm10,%ymm10
+  .byte  196,195,53,74,194,0                 // vblendvps     %ymm0,%ymm10,%ymm9,%ymm0
+  .byte  196,65,116,194,200,1                // vcmpltps      %ymm8,%ymm1,%ymm9
+  .byte  196,98,125,24,21,190,216,2,0        // vbroadcastss  0x2d8be(%rip),%ymm10        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,44,92,208                       // vsubps        %ymm0,%ymm10,%ymm10
+  .byte  196,195,125,74,194,144              // vblendvps     %ymm9,%ymm10,%ymm0,%ymm0
+  .byte  196,65,124,194,200,3                // vcmpunordps   %ymm8,%ymm0,%ymm9
+  .byte  196,195,125,74,192,144              // vblendvps     %ymm9,%ymm8,%ymm0,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xy_to_radius_hsw
+.globl _sk_xy_to_radius_hsw
+FUNCTION(_sk_xy_to_radius_hsw)
+_sk_xy_to_radius_hsw:
+  .byte  197,116,89,193                      // vmulps        %ymm1,%ymm1,%ymm8
+  .byte  196,98,125,184,192                  // vfmadd231ps   %ymm0,%ymm0,%ymm8
+  .byte  196,193,124,81,192                  // vsqrtps       %ymm8,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_negate_x_hsw
+.globl _sk_negate_x_hsw
+FUNCTION(_sk_negate_x_hsw)
+_sk_negate_x_hsw:
+  .byte  196,98,125,24,5,217,217,2,0         // vbroadcastss  0x2d9d9(%rip),%ymm8        # 3c64c <_sk_srcover_bgra_8888_sse2_lowp+0x400>
+  .byte  196,193,124,87,192                  // vxorps        %ymm8,%ymm0,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xy_to_2pt_conical_strip_hsw
+.globl _sk_xy_to_2pt_conical_strip_hsw
+FUNCTION(_sk_xy_to_2pt_conical_strip_hsw)
+_sk_xy_to_2pt_conical_strip_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,64,64                 // vbroadcastss  0x40(%rax),%ymm8
+  .byte  196,98,117,188,193                  // vfnmadd231ps  %ymm1,%ymm1,%ymm8
+  .byte  196,65,124,81,192                   // vsqrtps       %ymm8,%ymm8
+  .byte  197,188,88,192                      // vaddps        %ymm0,%ymm8,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xy_to_2pt_conical_focal_on_circle_hsw
+.globl _sk_xy_to_2pt_conical_focal_on_circle_hsw
+FUNCTION(_sk_xy_to_2pt_conical_focal_on_circle_hsw)
+_sk_xy_to_2pt_conical_focal_on_circle_hsw:
+  .byte  197,116,89,193                      // vmulps        %ymm1,%ymm1,%ymm8
+  .byte  197,60,94,192                       // vdivps        %ymm0,%ymm8,%ymm8
+  .byte  197,188,88,192                      // vaddps        %ymm0,%ymm8,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xy_to_2pt_conical_well_behaved_hsw
+.globl _sk_xy_to_2pt_conical_well_behaved_hsw
+FUNCTION(_sk_xy_to_2pt_conical_well_behaved_hsw)
+_sk_xy_to_2pt_conical_well_behaved_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,116,89,193                      // vmulps        %ymm1,%ymm1,%ymm8
+  .byte  196,98,125,184,192                  // vfmadd231ps   %ymm0,%ymm0,%ymm8
+  .byte  196,65,124,81,192                   // vsqrtps       %ymm8,%ymm8
+  .byte  196,98,125,24,72,64                 // vbroadcastss  0x40(%rax),%ymm9
+  .byte  196,194,53,172,192                  // vfnmadd213ps  %ymm8,%ymm9,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xy_to_2pt_conical_greater_hsw
+.globl _sk_xy_to_2pt_conical_greater_hsw
+FUNCTION(_sk_xy_to_2pt_conical_greater_hsw)
+_sk_xy_to_2pt_conical_greater_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,116,89,193                      // vmulps        %ymm1,%ymm1,%ymm8
+  .byte  196,98,125,186,192                  // vfmsub231ps   %ymm0,%ymm0,%ymm8
+  .byte  196,65,124,81,192                   // vsqrtps       %ymm8,%ymm8
+  .byte  196,98,125,24,72,64                 // vbroadcastss  0x40(%rax),%ymm9
+  .byte  196,194,53,172,192                  // vfnmadd213ps  %ymm8,%ymm9,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xy_to_2pt_conical_smaller_hsw
+.globl _sk_xy_to_2pt_conical_smaller_hsw
+FUNCTION(_sk_xy_to_2pt_conical_smaller_hsw)
+_sk_xy_to_2pt_conical_smaller_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,116,89,193                      // vmulps        %ymm1,%ymm1,%ymm8
+  .byte  196,98,125,186,192                  // vfmsub231ps   %ymm0,%ymm0,%ymm8
+  .byte  196,65,124,81,192                   // vsqrtps       %ymm8,%ymm8
+  .byte  196,98,125,24,72,64                 // vbroadcastss  0x40(%rax),%ymm9
+  .byte  196,194,53,174,192                  // vfnmsub213ps  %ymm8,%ymm9,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_alter_2pt_conical_compensate_focal_hsw
+.globl _sk_alter_2pt_conical_compensate_focal_hsw
+FUNCTION(_sk_alter_2pt_conical_compensate_focal_hsw)
+_sk_alter_2pt_conical_compensate_focal_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,64,68                 // vbroadcastss  0x44(%rax),%ymm8
+  .byte  197,188,88,192                      // vaddps        %ymm0,%ymm8,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_alter_2pt_conical_unswap_hsw
+.globl _sk_alter_2pt_conical_unswap_hsw
+FUNCTION(_sk_alter_2pt_conical_unswap_hsw)
+_sk_alter_2pt_conical_unswap_hsw:
+  .byte  196,98,125,24,5,224,215,2,0         // vbroadcastss  0x2d7e0(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,188,92,192                      // vsubps        %ymm0,%ymm8,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_mask_2pt_conical_nan_hsw
+.globl _sk_mask_2pt_conical_nan_hsw
+FUNCTION(_sk_mask_2pt_conical_nan_hsw)
+_sk_mask_2pt_conical_nan_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
+  .byte  196,65,124,194,193,3                // vcmpunordps   %ymm9,%ymm0,%ymm8
+  .byte  196,67,125,74,193,128               // vblendvps     %ymm8,%ymm9,%ymm0,%ymm8
+  .byte  196,193,124,194,193,7               // vcmpordps     %ymm9,%ymm0,%ymm0
+  .byte  196,65,45,118,210                   // vpcmpeqd      %ymm10,%ymm10,%ymm10
+  .byte  196,195,53,74,194,0                 // vblendvps     %ymm0,%ymm10,%ymm9,%ymm0
+  .byte  197,252,17,0                        // vmovups       %ymm0,(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_mask_2pt_conical_degenerates_hsw
+.globl _sk_mask_2pt_conical_degenerates_hsw
+FUNCTION(_sk_mask_2pt_conical_degenerates_hsw)
+_sk_mask_2pt_conical_degenerates_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
+  .byte  197,52,194,192,5                    // vcmpnltps     %ymm0,%ymm9,%ymm8
+  .byte  196,67,125,74,193,128               // vblendvps     %ymm8,%ymm9,%ymm0,%ymm8
+  .byte  197,180,194,192,1                   // vcmpltps      %ymm0,%ymm9,%ymm0
+  .byte  196,65,45,118,210                   // vpcmpeqd      %ymm10,%ymm10,%ymm10
+  .byte  196,195,53,74,194,0                 // vblendvps     %ymm0,%ymm10,%ymm9,%ymm0
+  .byte  197,252,17,0                        // vmovups       %ymm0,(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_apply_vector_mask_hsw
+.globl _sk_apply_vector_mask_hsw
+FUNCTION(_sk_apply_vector_mask_hsw)
+_sk_apply_vector_mask_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,16,0                        // vmovups       (%rax),%ymm8
+  .byte  197,188,84,192                      // vandps        %ymm0,%ymm8,%ymm0
+  .byte  197,188,84,201                      // vandps        %ymm1,%ymm8,%ymm1
+  .byte  197,188,84,210                      // vandps        %ymm2,%ymm8,%ymm2
+  .byte  197,188,84,219                      // vandps        %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_save_xy_hsw
+.globl _sk_save_xy_hsw
+FUNCTION(_sk_save_xy_hsw)
+_sk_save_xy_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,5,81,215,2,0          // vbroadcastss  0x2d751(%rip),%ymm8        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  196,65,124,88,200                   // vaddps        %ymm8,%ymm0,%ymm9
+  .byte  196,67,125,8,209,1                  // vroundps      $0x1,%ymm9,%ymm10
+  .byte  196,65,52,92,202                    // vsubps        %ymm10,%ymm9,%ymm9
+  .byte  196,65,116,88,192                   // vaddps        %ymm8,%ymm1,%ymm8
+  .byte  196,67,125,8,208,1                  // vroundps      $0x1,%ymm8,%ymm10
+  .byte  196,65,60,92,194                    // vsubps        %ymm10,%ymm8,%ymm8
+  .byte  197,252,17,0                        // vmovups       %ymm0,(%rax)
+  .byte  197,252,17,72,64                    // vmovups       %ymm1,0x40(%rax)
+  .byte  197,124,17,136,128,0,0,0            // vmovups       %ymm9,0x80(%rax)
+  .byte  197,124,17,128,192,0,0,0            // vmovups       %ymm8,0xc0(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_accumulate_hsw
+.globl _sk_accumulate_hsw
+FUNCTION(_sk_accumulate_hsw)
+_sk_accumulate_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,16,128,0,1,0,0              // vmovups       0x100(%rax),%ymm8
+  .byte  197,60,89,128,64,1,0,0              // vmulps        0x140(%rax),%ymm8,%ymm8
+  .byte  196,226,61,184,224                  // vfmadd231ps   %ymm0,%ymm8,%ymm4
+  .byte  196,226,61,184,233                  // vfmadd231ps   %ymm1,%ymm8,%ymm5
+  .byte  196,226,61,184,242                  // vfmadd231ps   %ymm2,%ymm8,%ymm6
+  .byte  196,98,101,168,199                  // vfmadd213ps   %ymm7,%ymm3,%ymm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,41,199                      // vmovaps       %ymm8,%ymm7
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bilinear_nx_hsw
+.globl _sk_bilinear_nx_hsw
+FUNCTION(_sk_bilinear_nx_hsw)
+_sk_bilinear_nx_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,5,51,216,2,0         // vbroadcastss  0x2d833(%rip),%ymm0        # 3c650 <_sk_srcover_bgra_8888_sse2_lowp+0x404>
+  .byte  197,252,88,0                        // vaddps        (%rax),%ymm0,%ymm0
+  .byte  196,98,125,24,5,210,214,2,0         // vbroadcastss  0x2d6d2(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,128,128,0,0,0             // vsubps        0x80(%rax),%ymm8,%ymm8
+  .byte  197,124,17,128,0,1,0,0              // vmovups       %ymm8,0x100(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bilinear_px_hsw
+.globl _sk_bilinear_px_hsw
+FUNCTION(_sk_bilinear_px_hsw)
+_sk_bilinear_px_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,5,175,214,2,0        // vbroadcastss  0x2d6af(%rip),%ymm0        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  197,252,88,0                        // vaddps        (%rax),%ymm0,%ymm0
+  .byte  197,124,16,128,128,0,0,0            // vmovups       0x80(%rax),%ymm8
+  .byte  197,124,17,128,0,1,0,0              // vmovups       %ymm8,0x100(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bilinear_ny_hsw
+.globl _sk_bilinear_ny_hsw
+FUNCTION(_sk_bilinear_ny_hsw)
+_sk_bilinear_ny_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,13,228,215,2,0       // vbroadcastss  0x2d7e4(%rip),%ymm1        # 3c650 <_sk_srcover_bgra_8888_sse2_lowp+0x404>
+  .byte  197,244,88,72,64                    // vaddps        0x40(%rax),%ymm1,%ymm1
+  .byte  196,98,125,24,5,130,214,2,0         // vbroadcastss  0x2d682(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,128,192,0,0,0             // vsubps        0xc0(%rax),%ymm8,%ymm8
+  .byte  197,124,17,128,64,1,0,0             // vmovups       %ymm8,0x140(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bilinear_py_hsw
+.globl _sk_bilinear_py_hsw
+FUNCTION(_sk_bilinear_py_hsw)
+_sk_bilinear_py_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,13,95,214,2,0        // vbroadcastss  0x2d65f(%rip),%ymm1        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  197,244,88,72,64                    // vaddps        0x40(%rax),%ymm1,%ymm1
+  .byte  197,124,16,128,192,0,0,0            // vmovups       0xc0(%rax),%ymm8
+  .byte  197,124,17,128,64,1,0,0             // vmovups       %ymm8,0x140(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bicubic_n3x_hsw
+.globl _sk_bicubic_n3x_hsw
+FUNCTION(_sk_bicubic_n3x_hsw)
+_sk_bicubic_n3x_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,5,151,215,2,0        // vbroadcastss  0x2d797(%rip),%ymm0        # 3c654 <_sk_srcover_bgra_8888_sse2_lowp+0x408>
+  .byte  197,252,88,0                        // vaddps        (%rax),%ymm0,%ymm0
+  .byte  196,98,125,24,5,50,214,2,0          // vbroadcastss  0x2d632(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,128,128,0,0,0             // vsubps        0x80(%rax),%ymm8,%ymm8
+  .byte  196,65,60,89,200                    // vmulps        %ymm8,%ymm8,%ymm9
+  .byte  196,98,125,24,21,144,214,2,0        // vbroadcastss  0x2d690(%rip),%ymm10        # 3c570 <_sk_srcover_bgra_8888_sse2_lowp+0x324>
+  .byte  196,98,125,24,29,111,215,2,0        // vbroadcastss  0x2d76f(%rip),%ymm11        # 3c658 <_sk_srcover_bgra_8888_sse2_lowp+0x40c>
+  .byte  196,66,61,168,218                   // vfmadd213ps   %ymm10,%ymm8,%ymm11
+  .byte  196,65,36,89,193                    // vmulps        %ymm9,%ymm11,%ymm8
+  .byte  197,124,17,128,0,1,0,0              // vmovups       %ymm8,0x100(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bicubic_n1x_hsw
+.globl _sk_bicubic_n1x_hsw
+FUNCTION(_sk_bicubic_n1x_hsw)
+_sk_bicubic_n1x_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,5,70,215,2,0         // vbroadcastss  0x2d746(%rip),%ymm0        # 3c650 <_sk_srcover_bgra_8888_sse2_lowp+0x404>
+  .byte  197,252,88,0                        // vaddps        (%rax),%ymm0,%ymm0
+  .byte  196,98,125,24,5,229,213,2,0         // vbroadcastss  0x2d5e5(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,128,128,0,0,0             // vsubps        0x80(%rax),%ymm8,%ymm8
+  .byte  196,98,125,24,13,56,215,2,0         // vbroadcastss  0x2d738(%rip),%ymm9        # 3c660 <_sk_srcover_bgra_8888_sse2_lowp+0x414>
+  .byte  196,98,125,24,21,43,215,2,0         // vbroadcastss  0x2d72b(%rip),%ymm10        # 3c65c <_sk_srcover_bgra_8888_sse2_lowp+0x410>
+  .byte  196,66,61,168,209                   // vfmadd213ps   %ymm9,%ymm8,%ymm10
+  .byte  196,98,125,24,13,185,213,2,0        // vbroadcastss  0x2d5b9(%rip),%ymm9        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  196,66,61,184,202                   // vfmadd231ps   %ymm10,%ymm8,%ymm9
+  .byte  196,98,125,24,21,23,215,2,0         // vbroadcastss  0x2d717(%rip),%ymm10        # 3c664 <_sk_srcover_bgra_8888_sse2_lowp+0x418>
+  .byte  196,66,61,184,209                   // vfmadd231ps   %ymm9,%ymm8,%ymm10
+  .byte  197,124,17,144,0,1,0,0              // vmovups       %ymm10,0x100(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bicubic_p1x_hsw
+.globl _sk_bicubic_p1x_hsw
+FUNCTION(_sk_bicubic_p1x_hsw)
+_sk_bicubic_p1x_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,5,143,213,2,0         // vbroadcastss  0x2d58f(%rip),%ymm8        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  197,188,88,0                        // vaddps        (%rax),%ymm8,%ymm0
+  .byte  197,124,16,136,128,0,0,0            // vmovups       0x80(%rax),%ymm9
+  .byte  196,98,125,24,21,226,214,2,0        // vbroadcastss  0x2d6e2(%rip),%ymm10        # 3c660 <_sk_srcover_bgra_8888_sse2_lowp+0x414>
+  .byte  196,98,125,24,29,213,214,2,0        // vbroadcastss  0x2d6d5(%rip),%ymm11        # 3c65c <_sk_srcover_bgra_8888_sse2_lowp+0x410>
+  .byte  196,66,53,168,218                   // vfmadd213ps   %ymm10,%ymm9,%ymm11
+  .byte  196,66,53,168,216                   // vfmadd213ps   %ymm8,%ymm9,%ymm11
+  .byte  196,98,125,24,5,202,214,2,0         // vbroadcastss  0x2d6ca(%rip),%ymm8        # 3c664 <_sk_srcover_bgra_8888_sse2_lowp+0x418>
+  .byte  196,66,53,184,195                   // vfmadd231ps   %ymm11,%ymm9,%ymm8
+  .byte  197,124,17,128,0,1,0,0              // vmovups       %ymm8,0x100(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bicubic_p3x_hsw
+.globl _sk_bicubic_p3x_hsw
+FUNCTION(_sk_bicubic_p3x_hsw)
+_sk_bicubic_p3x_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,5,170,214,2,0        // vbroadcastss  0x2d6aa(%rip),%ymm0        # 3c660 <_sk_srcover_bgra_8888_sse2_lowp+0x414>
+  .byte  197,252,88,0                        // vaddps        (%rax),%ymm0,%ymm0
+  .byte  197,124,16,128,128,0,0,0            // vmovups       0x80(%rax),%ymm8
+  .byte  196,65,60,89,200                    // vmulps        %ymm8,%ymm8,%ymm9
+  .byte  196,98,125,24,21,160,213,2,0        // vbroadcastss  0x2d5a0(%rip),%ymm10        # 3c570 <_sk_srcover_bgra_8888_sse2_lowp+0x324>
+  .byte  196,98,125,24,29,127,214,2,0        // vbroadcastss  0x2d67f(%rip),%ymm11        # 3c658 <_sk_srcover_bgra_8888_sse2_lowp+0x40c>
+  .byte  196,66,61,168,218                   // vfmadd213ps   %ymm10,%ymm8,%ymm11
+  .byte  196,65,52,89,195                    // vmulps        %ymm11,%ymm9,%ymm8
+  .byte  197,124,17,128,0,1,0,0              // vmovups       %ymm8,0x100(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bicubic_n3y_hsw
+.globl _sk_bicubic_n3y_hsw
+FUNCTION(_sk_bicubic_n3y_hsw)
+_sk_bicubic_n3y_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,13,90,214,2,0        // vbroadcastss  0x2d65a(%rip),%ymm1        # 3c654 <_sk_srcover_bgra_8888_sse2_lowp+0x408>
+  .byte  197,244,88,72,64                    // vaddps        0x40(%rax),%ymm1,%ymm1
+  .byte  196,98,125,24,5,244,212,2,0         // vbroadcastss  0x2d4f4(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,128,192,0,0,0             // vsubps        0xc0(%rax),%ymm8,%ymm8
+  .byte  196,65,60,89,200                    // vmulps        %ymm8,%ymm8,%ymm9
+  .byte  196,98,125,24,21,82,213,2,0         // vbroadcastss  0x2d552(%rip),%ymm10        # 3c570 <_sk_srcover_bgra_8888_sse2_lowp+0x324>
+  .byte  196,98,125,24,29,49,214,2,0         // vbroadcastss  0x2d631(%rip),%ymm11        # 3c658 <_sk_srcover_bgra_8888_sse2_lowp+0x40c>
+  .byte  196,66,61,168,218                   // vfmadd213ps   %ymm10,%ymm8,%ymm11
+  .byte  196,65,36,89,193                    // vmulps        %ymm9,%ymm11,%ymm8
+  .byte  197,124,17,128,64,1,0,0             // vmovups       %ymm8,0x140(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bicubic_n1y_hsw
+.globl _sk_bicubic_n1y_hsw
+FUNCTION(_sk_bicubic_n1y_hsw)
+_sk_bicubic_n1y_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,13,8,214,2,0         // vbroadcastss  0x2d608(%rip),%ymm1        # 3c650 <_sk_srcover_bgra_8888_sse2_lowp+0x404>
+  .byte  197,244,88,72,64                    // vaddps        0x40(%rax),%ymm1,%ymm1
+  .byte  196,98,125,24,5,166,212,2,0         // vbroadcastss  0x2d4a6(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,128,192,0,0,0             // vsubps        0xc0(%rax),%ymm8,%ymm8
+  .byte  196,98,125,24,13,249,213,2,0        // vbroadcastss  0x2d5f9(%rip),%ymm9        # 3c660 <_sk_srcover_bgra_8888_sse2_lowp+0x414>
+  .byte  196,98,125,24,21,236,213,2,0        // vbroadcastss  0x2d5ec(%rip),%ymm10        # 3c65c <_sk_srcover_bgra_8888_sse2_lowp+0x410>
+  .byte  196,66,61,168,209                   // vfmadd213ps   %ymm9,%ymm8,%ymm10
+  .byte  196,98,125,24,13,122,212,2,0        // vbroadcastss  0x2d47a(%rip),%ymm9        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  196,66,61,184,202                   // vfmadd231ps   %ymm10,%ymm8,%ymm9
+  .byte  196,98,125,24,21,216,213,2,0        // vbroadcastss  0x2d5d8(%rip),%ymm10        # 3c664 <_sk_srcover_bgra_8888_sse2_lowp+0x418>
+  .byte  196,66,61,184,209                   // vfmadd231ps   %ymm9,%ymm8,%ymm10
+  .byte  197,124,17,144,64,1,0,0             // vmovups       %ymm10,0x140(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bicubic_p1y_hsw
+.globl _sk_bicubic_p1y_hsw
+FUNCTION(_sk_bicubic_p1y_hsw)
+_sk_bicubic_p1y_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,5,80,212,2,0          // vbroadcastss  0x2d450(%rip),%ymm8        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  197,188,88,72,64                    // vaddps        0x40(%rax),%ymm8,%ymm1
+  .byte  197,124,16,136,192,0,0,0            // vmovups       0xc0(%rax),%ymm9
+  .byte  196,98,125,24,21,162,213,2,0        // vbroadcastss  0x2d5a2(%rip),%ymm10        # 3c660 <_sk_srcover_bgra_8888_sse2_lowp+0x414>
+  .byte  196,98,125,24,29,149,213,2,0        // vbroadcastss  0x2d595(%rip),%ymm11        # 3c65c <_sk_srcover_bgra_8888_sse2_lowp+0x410>
+  .byte  196,66,53,168,218                   // vfmadd213ps   %ymm10,%ymm9,%ymm11
+  .byte  196,66,53,168,216                   // vfmadd213ps   %ymm8,%ymm9,%ymm11
+  .byte  196,98,125,24,5,138,213,2,0         // vbroadcastss  0x2d58a(%rip),%ymm8        # 3c664 <_sk_srcover_bgra_8888_sse2_lowp+0x418>
+  .byte  196,66,53,184,195                   // vfmadd231ps   %ymm11,%ymm9,%ymm8
+  .byte  197,124,17,128,64,1,0,0             // vmovups       %ymm8,0x140(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bicubic_p3y_hsw
+.globl _sk_bicubic_p3y_hsw
+FUNCTION(_sk_bicubic_p3y_hsw)
+_sk_bicubic_p3y_hsw:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,13,106,213,2,0       // vbroadcastss  0x2d56a(%rip),%ymm1        # 3c660 <_sk_srcover_bgra_8888_sse2_lowp+0x414>
+  .byte  197,244,88,72,64                    // vaddps        0x40(%rax),%ymm1,%ymm1
+  .byte  197,124,16,128,192,0,0,0            // vmovups       0xc0(%rax),%ymm8
+  .byte  196,65,60,89,200                    // vmulps        %ymm8,%ymm8,%ymm9
+  .byte  196,98,125,24,21,95,212,2,0         // vbroadcastss  0x2d45f(%rip),%ymm10        # 3c570 <_sk_srcover_bgra_8888_sse2_lowp+0x324>
+  .byte  196,98,125,24,29,62,213,2,0         // vbroadcastss  0x2d53e(%rip),%ymm11        # 3c658 <_sk_srcover_bgra_8888_sse2_lowp+0x40c>
+  .byte  196,66,61,168,218                   // vfmadd213ps   %ymm10,%ymm8,%ymm11
+  .byte  196,65,52,89,195                    // vmulps        %ymm11,%ymm9,%ymm8
+  .byte  197,124,17,128,64,1,0,0             // vmovups       %ymm8,0x140(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_callback_hsw
+.globl _sk_callback_hsw
+FUNCTION(_sk_callback_hsw)
+_sk_callback_hsw:
+  .byte  85                                  // push          %rbp
+  .byte  72,137,229                          // mov           %rsp,%rbp
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,85                               // push          %r13
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,131,228,224                      // and           $0xffffffffffffffe0,%rsp
+  .byte  72,129,236,160,0,0,0                // sub           $0xa0,%rsp
+  .byte  197,252,41,124,36,96                // vmovaps       %ymm7,0x60(%rsp)
+  .byte  197,252,41,116,36,64                // vmovaps       %ymm6,0x40(%rsp)
+  .byte  197,252,41,108,36,32                // vmovaps       %ymm5,0x20(%rsp)
+  .byte  197,252,41,36,36                    // vmovaps       %ymm4,(%rsp)
+  .byte  73,137,206                          // mov           %rcx,%r14
+  .byte  73,137,215                          // mov           %rdx,%r15
+  .byte  73,137,253                          // mov           %rdi,%r13
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  72,137,195                          // mov           %rax,%rbx
+  .byte  73,137,244                          // mov           %rsi,%r12
+  .byte  197,252,20,225                      // vunpcklps     %ymm1,%ymm0,%ymm4
+  .byte  197,252,21,193                      // vunpckhps     %ymm1,%ymm0,%ymm0
+  .byte  197,236,20,203                      // vunpcklps     %ymm3,%ymm2,%ymm1
+  .byte  197,236,21,211                      // vunpckhps     %ymm3,%ymm2,%ymm2
+  .byte  197,221,20,217                      // vunpcklpd     %ymm1,%ymm4,%ymm3
+  .byte  197,221,21,201                      // vunpckhpd     %ymm1,%ymm4,%ymm1
+  .byte  197,253,20,226                      // vunpcklpd     %ymm2,%ymm0,%ymm4
+  .byte  197,253,21,194                      // vunpckhpd     %ymm2,%ymm0,%ymm0
+  .byte  196,227,101,24,209,1                // vinsertf128   $0x1,%xmm1,%ymm3,%ymm2
+  .byte  196,227,93,24,232,1                 // vinsertf128   $0x1,%xmm0,%ymm4,%ymm5
+  .byte  196,227,101,6,201,49                // vperm2f128    $0x31,%ymm1,%ymm3,%ymm1
+  .byte  196,227,93,6,192,49                 // vperm2f128    $0x31,%ymm0,%ymm4,%ymm0
+  .byte  197,253,17,83,8                     // vmovupd       %ymm2,0x8(%rbx)
+  .byte  197,253,17,107,40                   // vmovupd       %ymm5,0x28(%rbx)
+  .byte  197,253,17,75,72                    // vmovupd       %ymm1,0x48(%rbx)
+  .byte  197,253,17,67,104                   // vmovupd       %ymm0,0x68(%rbx)
+  .byte  77,133,237                          // test          %r13,%r13
+  .byte  190,8,0,0,0                         // mov           $0x8,%esi
+  .byte  65,15,69,245                        // cmovne        %r13d,%esi
+  .byte  72,137,223                          // mov           %rbx,%rdi
+  .byte  197,248,119                         // vzeroupper
+  .byte  255,19                              // callq         *(%rbx)
+  .byte  72,139,131,8,1,0,0                  // mov           0x108(%rbx),%rax
+  .byte  197,248,16,0                        // vmovups       (%rax),%xmm0
+  .byte  197,248,16,72,16                    // vmovups       0x10(%rax),%xmm1
+  .byte  197,248,16,80,32                    // vmovups       0x20(%rax),%xmm2
+  .byte  197,248,16,88,48                    // vmovups       0x30(%rax),%xmm3
+  .byte  196,227,101,24,88,112,1             // vinsertf128   $0x1,0x70(%rax),%ymm3,%ymm3
+  .byte  196,227,109,24,80,96,1              // vinsertf128   $0x1,0x60(%rax),%ymm2,%ymm2
+  .byte  196,227,117,24,72,80,1              // vinsertf128   $0x1,0x50(%rax),%ymm1,%ymm1
+  .byte  196,227,125,24,64,64,1              // vinsertf128   $0x1,0x40(%rax),%ymm0,%ymm0
+  .byte  197,252,20,225                      // vunpcklps     %ymm1,%ymm0,%ymm4
+  .byte  197,252,21,233                      // vunpckhps     %ymm1,%ymm0,%ymm5
+  .byte  197,236,20,203                      // vunpcklps     %ymm3,%ymm2,%ymm1
+  .byte  197,236,21,219                      // vunpckhps     %ymm3,%ymm2,%ymm3
+  .byte  197,221,20,193                      // vunpcklpd     %ymm1,%ymm4,%ymm0
+  .byte  197,221,21,201                      // vunpckhpd     %ymm1,%ymm4,%ymm1
+  .byte  197,213,20,211                      // vunpcklpd     %ymm3,%ymm5,%ymm2
+  .byte  197,213,21,219                      // vunpckhpd     %ymm3,%ymm5,%ymm3
+  .byte  76,137,230                          // mov           %r12,%rsi
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,137,239                          // mov           %r13,%rdi
+  .byte  76,137,250                          // mov           %r15,%rdx
+  .byte  76,137,241                          // mov           %r14,%rcx
+  .byte  197,252,40,36,36                    // vmovaps       (%rsp),%ymm4
+  .byte  197,252,40,108,36,32                // vmovaps       0x20(%rsp),%ymm5
+  .byte  197,252,40,116,36,64                // vmovaps       0x40(%rsp),%ymm6
+  .byte  197,252,40,124,36,96                // vmovaps       0x60(%rsp),%ymm7
+  .byte  72,141,101,216                      // lea           -0x28(%rbp),%rsp
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,93                               // pop           %r13
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  93                                  // pop           %rbp
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_clut_3D_hsw
+.globl _sk_clut_3D_hsw
+FUNCTION(_sk_clut_3D_hsw)
+_sk_clut_3D_hsw:
+  .byte  72,129,236,56,3,0,0                 // sub           $0x338,%rsp
+  .byte  197,252,17,188,36,0,3,0,0           // vmovups       %ymm7,0x300(%rsp)
+  .byte  197,252,17,180,36,224,2,0,0         // vmovups       %ymm6,0x2e0(%rsp)
+  .byte  197,252,17,172,36,192,2,0,0         // vmovups       %ymm5,0x2c0(%rsp)
+  .byte  197,252,17,164,36,160,2,0,0         // vmovups       %ymm4,0x2a0(%rsp)
+  .byte  197,252,17,156,36,128,2,0,0         // vmovups       %ymm3,0x280(%rsp)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  68,139,64,16                        // mov           0x10(%rax),%r8d
+  .byte  69,141,72,255                       // lea           -0x1(%r8),%r9d
+  .byte  196,193,121,110,217                 // vmovd         %r9d,%xmm3
+  .byte  196,226,125,88,219                  // vpbroadcastd  %xmm3,%ymm3
+  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
+  .byte  197,228,89,210                      // vmulps        %ymm2,%ymm3,%ymm2
+  .byte  197,254,91,234                      // vcvttps2dq    %ymm2,%ymm5
+  .byte  197,252,40,242                      // vmovaps       %ymm2,%ymm6
+  .byte  197,252,17,180,36,192,0,0,0         // vmovups       %ymm6,0xc0(%rsp)
+  .byte  196,193,121,110,208                 // vmovd         %r8d,%xmm2
+  .byte  196,193,121,110,216                 // vmovd         %r8d,%xmm3
+  .byte  196,226,125,88,219                  // vpbroadcastd  %xmm3,%ymm3
+  .byte  68,139,64,12                        // mov           0xc(%rax),%r8d
+  .byte  69,141,72,255                       // lea           -0x1(%r8),%r9d
+  .byte  196,193,121,110,225                 // vmovd         %r9d,%xmm4
+  .byte  196,226,125,88,228                  // vpbroadcastd  %xmm4,%ymm4
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  197,220,89,201                      // vmulps        %ymm1,%ymm4,%ymm1
+  .byte  197,254,91,225                      // vcvttps2dq    %ymm1,%ymm4
+  .byte  197,254,127,164,36,96,2,0,0         // vmovdqu       %ymm4,0x260(%rsp)
+  .byte  197,124,40,201                      // vmovaps       %ymm1,%ymm9
+  .byte  197,124,17,140,36,224,1,0,0         // vmovups       %ymm9,0x1e0(%rsp)
+  .byte  196,98,101,64,228                   // vpmulld       %ymm4,%ymm3,%ymm12
+  .byte  197,157,254,205                     // vpaddd        %ymm5,%ymm12,%ymm1
+  .byte  197,125,111,197                     // vmovdqa       %ymm5,%ymm8
+  .byte  197,126,127,132,36,128,1,0,0        // vmovdqu       %ymm8,0x180(%rsp)
+  .byte  196,193,121,110,224                 // vmovd         %r8d,%xmm4
+  .byte  196,226,93,64,210                   // vpmulld       %ymm2,%ymm4,%ymm2
+  .byte  196,226,125,88,226                  // vpbroadcastd  %xmm2,%ymm4
+  .byte  68,139,64,8                         // mov           0x8(%rax),%r8d
+  .byte  65,255,200                          // dec           %r8d
+  .byte  196,193,121,110,208                 // vmovd         %r8d,%xmm2
+  .byte  196,226,125,88,210                  // vpbroadcastd  %xmm2,%ymm2
+  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
+  .byte  197,236,89,192                      // vmulps        %ymm0,%ymm2,%ymm0
+  .byte  197,254,91,208                      // vcvttps2dq    %ymm0,%ymm2
+  .byte  197,254,127,148,36,64,2,0,0         // vmovdqu       %ymm2,0x240(%rsp)
+  .byte  197,124,40,208                      // vmovaps       %ymm0,%ymm10
+  .byte  197,124,17,148,36,192,1,0,0         // vmovups       %ymm10,0x1c0(%rsp)
+  .byte  196,98,93,64,218                    // vpmulld       %ymm2,%ymm4,%ymm11
+  .byte  72,139,0                            // mov           (%rax),%rax
+  .byte  197,165,254,193                     // vpaddd        %ymm1,%ymm11,%ymm0
+  .byte  196,98,125,88,61,0,211,2,0          // vpbroadcastd  0x2d300(%rip),%ymm15        # 3c66c <_sk_srcover_bgra_8888_sse2_lowp+0x420>
+  .byte  196,194,125,64,199                  // vpmulld       %ymm15,%ymm0,%ymm0
+  .byte  197,213,239,237                     // vpxor         %ymm5,%ymm5,%ymm5
+  .byte  197,237,118,210                     // vpcmpeqd      %ymm2,%ymm2,%ymm2
+  .byte  196,226,109,146,44,128              // vgatherdps    %ymm2,(%rax,%ymm0,4),%ymm5
+  .byte  197,252,17,172,36,32,2,0,0          // vmovups       %ymm5,0x220(%rsp)
+  .byte  196,65,21,118,237                   // vpcmpeqd      %ymm13,%ymm13,%ymm13
+  .byte  196,193,125,250,213                 // vpsubd        %ymm13,%ymm0,%ymm2
+  .byte  197,196,87,255                      // vxorps        %ymm7,%ymm7,%ymm7
+  .byte  197,213,118,237                     // vpcmpeqd      %ymm5,%ymm5,%ymm5
+  .byte  196,226,85,146,60,144               // vgatherdps    %ymm5,(%rax,%ymm2,4),%ymm7
+  .byte  197,252,17,188,36,0,2,0,0           // vmovups       %ymm7,0x200(%rsp)
+  .byte  196,226,125,88,61,86,209,2,0        // vpbroadcastd  0x2d156(%rip),%ymm7        # 3c508 <_sk_srcover_bgra_8888_sse2_lowp+0x2bc>
+  .byte  197,253,254,199                     // vpaddd        %ymm7,%ymm0,%ymm0
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  197,213,118,237                     // vpcmpeqd      %ymm5,%ymm5,%ymm5
+  .byte  196,226,85,146,20,128               // vgatherdps    %ymm5,(%rax,%ymm0,4),%ymm2
+  .byte  197,252,17,148,36,32,1,0,0          // vmovups       %ymm2,0x120(%rsp)
+  .byte  196,226,125,24,5,146,210,2,0        // vbroadcastss  0x2d292(%rip),%ymm0        # 3c668 <_sk_srcover_bgra_8888_sse2_lowp+0x41c>
+  .byte  197,172,88,232                      // vaddps        %ymm0,%ymm10,%ymm5
+  .byte  197,254,91,237                      // vcvttps2dq    %ymm5,%ymm5
+  .byte  196,226,93,64,213                   // vpmulld       %ymm5,%ymm4,%ymm2
+  .byte  197,237,254,201                     // vpaddd        %ymm1,%ymm2,%ymm1
+  .byte  196,194,117,64,207                  // vpmulld       %ymm15,%ymm1,%ymm1
+  .byte  197,213,239,237                     // vpxor         %ymm5,%ymm5,%ymm5
+  .byte  197,221,118,228                     // vpcmpeqd      %ymm4,%ymm4,%ymm4
+  .byte  196,226,93,146,44,136               // vgatherdps    %ymm4,(%rax,%ymm1,4),%ymm5
+  .byte  197,252,17,172,36,160,1,0,0         // vmovups       %ymm5,0x1a0(%rsp)
+  .byte  196,193,117,250,229                 // vpsubd        %ymm13,%ymm1,%ymm4
+  .byte  196,65,44,87,210                    // vxorps        %ymm10,%ymm10,%ymm10
+  .byte  197,213,118,237                     // vpcmpeqd      %ymm5,%ymm5,%ymm5
+  .byte  196,98,85,146,20,160                // vgatherdps    %ymm5,(%rax,%ymm4,4),%ymm10
+  .byte  197,124,17,148,36,96,1,0,0          // vmovups       %ymm10,0x160(%rsp)
+  .byte  197,245,254,207                     // vpaddd        %ymm7,%ymm1,%ymm1
+  .byte  197,212,87,237                      // vxorps        %ymm5,%ymm5,%ymm5
+  .byte  197,221,118,228                     // vpcmpeqd      %ymm4,%ymm4,%ymm4
+  .byte  196,226,93,146,44,136               // vgatherdps    %ymm4,(%rax,%ymm1,4),%ymm5
+  .byte  197,252,17,172,36,64,1,0,0          // vmovups       %ymm5,0x140(%rsp)
+  .byte  197,180,88,200                      // vaddps        %ymm0,%ymm9,%ymm1
+  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
+  .byte  196,98,101,64,201                   // vpmulld       %ymm1,%ymm3,%ymm9
+  .byte  196,193,53,254,200                  // vpaddd        %ymm8,%ymm9,%ymm1
+  .byte  196,193,117,254,219                 // vpaddd        %ymm11,%ymm1,%ymm3
+  .byte  196,194,101,64,223                  // vpmulld       %ymm15,%ymm3,%ymm3
+  .byte  197,212,87,237                      // vxorps        %ymm5,%ymm5,%ymm5
+  .byte  197,221,118,228                     // vpcmpeqd      %ymm4,%ymm4,%ymm4
+  .byte  196,226,93,146,44,152               // vgatherdps    %ymm4,(%rax,%ymm3,4),%ymm5
+  .byte  197,252,17,172,36,0,1,0,0           // vmovups       %ymm5,0x100(%rsp)
+  .byte  196,193,101,250,229                 // vpsubd        %ymm13,%ymm3,%ymm4
+  .byte  196,65,61,239,192                   // vpxor         %ymm8,%ymm8,%ymm8
+  .byte  197,213,118,237                     // vpcmpeqd      %ymm5,%ymm5,%ymm5
+  .byte  196,98,85,146,4,160                 // vgatherdps    %ymm5,(%rax,%ymm4,4),%ymm8
+  .byte  197,124,17,132,36,224,0,0,0         // vmovups       %ymm8,0xe0(%rsp)
+  .byte  197,229,254,223                     // vpaddd        %ymm7,%ymm3,%ymm3
+  .byte  197,212,87,237                      // vxorps        %ymm5,%ymm5,%ymm5
+  .byte  197,221,118,228                     // vpcmpeqd      %ymm4,%ymm4,%ymm4
+  .byte  196,226,93,146,44,152               // vgatherdps    %ymm4,(%rax,%ymm3,4),%ymm5
+  .byte  197,252,17,172,36,160,0,0,0         // vmovups       %ymm5,0xa0(%rsp)
+  .byte  197,237,254,201                     // vpaddd        %ymm1,%ymm2,%ymm1
+  .byte  196,194,117,64,207                  // vpmulld       %ymm15,%ymm1,%ymm1
+  .byte  197,220,87,228                      // vxorps        %ymm4,%ymm4,%ymm4
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  196,226,101,146,36,136              // vgatherdps    %ymm3,(%rax,%ymm1,4),%ymm4
+  .byte  197,252,17,164,36,128,0,0,0         // vmovups       %ymm4,0x80(%rsp)
+  .byte  196,193,117,250,221                 // vpsubd        %ymm13,%ymm1,%ymm3
+  .byte  197,212,87,237                      // vxorps        %ymm5,%ymm5,%ymm5
+  .byte  197,221,118,228                     // vpcmpeqd      %ymm4,%ymm4,%ymm4
+  .byte  196,226,93,146,44,152               // vgatherdps    %ymm4,(%rax,%ymm3,4),%ymm5
+  .byte  197,252,17,108,36,96                // vmovups       %ymm5,0x60(%rsp)
+  .byte  197,245,254,207                     // vpaddd        %ymm7,%ymm1,%ymm1
+  .byte  197,220,87,228                      // vxorps        %ymm4,%ymm4,%ymm4
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  196,226,101,146,36,136              // vgatherdps    %ymm3,(%rax,%ymm1,4),%ymm4
+  .byte  197,252,17,100,36,64                // vmovups       %ymm4,0x40(%rsp)
+  .byte  197,204,88,192                      // vaddps        %ymm0,%ymm6,%ymm0
+  .byte  197,126,91,208                      // vcvttps2dq    %ymm0,%ymm10
+  .byte  196,193,29,254,218                  // vpaddd        %ymm10,%ymm12,%ymm3
+  .byte  197,165,254,195                     // vpaddd        %ymm3,%ymm11,%ymm0
+  .byte  196,194,125,64,199                  // vpmulld       %ymm15,%ymm0,%ymm0
+  .byte  197,220,87,228                      // vxorps        %ymm4,%ymm4,%ymm4
+  .byte  197,245,118,201                     // vpcmpeqd      %ymm1,%ymm1,%ymm1
+  .byte  196,226,117,146,36,128              // vgatherdps    %ymm1,(%rax,%ymm0,4),%ymm4
+  .byte  197,252,17,100,36,32                // vmovups       %ymm4,0x20(%rsp)
+  .byte  196,193,125,250,237                 // vpsubd        %ymm13,%ymm0,%ymm5
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  197,205,118,246                     // vpcmpeqd      %ymm6,%ymm6,%ymm6
+  .byte  196,226,77,146,12,168               // vgatherdps    %ymm6,(%rax,%ymm5,4),%ymm1
+  .byte  197,252,17,12,36                    // vmovups       %ymm1,(%rsp)
+  .byte  197,253,254,239                     // vpaddd        %ymm7,%ymm0,%ymm5
+  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
+  .byte  197,205,118,246                     // vpcmpeqd      %ymm6,%ymm6,%ymm6
+  .byte  196,226,77,146,4,168                // vgatherdps    %ymm6,(%rax,%ymm5,4),%ymm0
+  .byte  197,252,17,68,36,224                // vmovups       %ymm0,-0x20(%rsp)
+  .byte  197,237,254,219                     // vpaddd        %ymm3,%ymm2,%ymm3
+  .byte  196,194,101,64,223                  // vpmulld       %ymm15,%ymm3,%ymm3
+  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
+  .byte  197,213,118,237                     // vpcmpeqd      %ymm5,%ymm5,%ymm5
+  .byte  196,226,85,146,4,152                // vgatherdps    %ymm5,(%rax,%ymm3,4),%ymm0
+  .byte  197,252,17,68,36,192                // vmovups       %ymm0,-0x40(%rsp)
+  .byte  196,193,101,250,197                 // vpsubd        %ymm13,%ymm3,%ymm0
+  .byte  197,220,87,228                      // vxorps        %ymm4,%ymm4,%ymm4
+  .byte  196,65,13,118,246                   // vpcmpeqd      %ymm14,%ymm14,%ymm14
+  .byte  196,226,13,146,36,128               // vgatherdps    %ymm14,(%rax,%ymm0,4),%ymm4
+  .byte  197,229,254,199                     // vpaddd        %ymm7,%ymm3,%ymm0
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  196,65,13,118,246                   // vpcmpeqd      %ymm14,%ymm14,%ymm14
+  .byte  196,226,13,146,12,128               // vgatherdps    %ymm14,(%rax,%ymm0,4),%ymm1
+  .byte  197,252,17,76,36,160                // vmovups       %ymm1,-0x60(%rsp)
+  .byte  196,193,53,254,202                  // vpaddd        %ymm10,%ymm9,%ymm1
+  .byte  196,65,117,254,211                  // vpaddd        %ymm11,%ymm1,%ymm10
+  .byte  196,66,45,64,247                    // vpmulld       %ymm15,%ymm10,%ymm14
+  .byte  196,65,45,239,210                   // vpxor         %ymm10,%ymm10,%ymm10
+  .byte  196,65,29,118,228                   // vpcmpeqd      %ymm12,%ymm12,%ymm12
+  .byte  196,34,29,146,20,176                // vgatherdps    %ymm12,(%rax,%ymm14,4),%ymm10
+  .byte  196,65,13,250,229                   // vpsubd        %ymm13,%ymm14,%ymm12
+  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
+  .byte  196,65,37,118,219                   // vpcmpeqd      %ymm11,%ymm11,%ymm11
+  .byte  196,162,37,146,4,160                // vgatherdps    %ymm11,(%rax,%ymm12,4),%ymm0
+  .byte  197,252,17,68,36,128                // vmovups       %ymm0,-0x80(%rsp)
+  .byte  197,13,254,223                      // vpaddd        %ymm7,%ymm14,%ymm11
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  196,65,13,118,246                   // vpcmpeqd      %ymm14,%ymm14,%ymm14
+  .byte  196,34,13,146,4,152                 // vgatherdps    %ymm14,(%rax,%ymm11,4),%ymm8
+  .byte  197,237,254,201                     // vpaddd        %ymm1,%ymm2,%ymm1
+  .byte  196,194,117,64,207                  // vpmulld       %ymm15,%ymm1,%ymm1
+  .byte  196,65,36,87,219                    // vxorps        %ymm11,%ymm11,%ymm11
+  .byte  196,65,13,118,246                   // vpcmpeqd      %ymm14,%ymm14,%ymm14
+  .byte  196,98,13,146,28,136                // vgatherdps    %ymm14,(%rax,%ymm1,4),%ymm11
+  .byte  196,65,117,250,245                  // vpsubd        %ymm13,%ymm1,%ymm14
+  .byte  196,65,5,239,255                    // vpxor         %ymm15,%ymm15,%ymm15
+  .byte  196,65,53,118,201                   // vpcmpeqd      %ymm9,%ymm9,%ymm9
+  .byte  196,34,53,146,60,176                // vgatherdps    %ymm9,(%rax,%ymm14,4),%ymm15
+  .byte  197,245,254,207                     // vpaddd        %ymm7,%ymm1,%ymm1
+  .byte  197,197,239,255                     // vpxor         %ymm7,%ymm7,%ymm7
+  .byte  196,226,21,146,60,136               // vgatherdps    %ymm13,(%rax,%ymm1,4),%ymm7
+  .byte  197,252,91,140,36,64,2,0,0          // vcvtdq2ps     0x240(%rsp),%ymm1
+  .byte  197,252,16,132,36,192,1,0,0         // vmovups       0x1c0(%rsp),%ymm0
+  .byte  197,252,92,201                      // vsubps        %ymm1,%ymm0,%ymm1
+  .byte  197,252,16,132,36,32,2,0,0          // vmovups       0x220(%rsp),%ymm0
+  .byte  197,252,16,156,36,160,1,0,0         // vmovups       0x1a0(%rsp),%ymm3
+  .byte  197,100,92,200                      // vsubps        %ymm0,%ymm3,%ymm9
+  .byte  196,98,117,168,200                  // vfmadd213ps   %ymm0,%ymm1,%ymm9
+  .byte  197,252,16,132,36,0,2,0,0           // vmovups       0x200(%rsp),%ymm0
+  .byte  197,252,16,156,36,96,1,0,0          // vmovups       0x160(%rsp),%ymm3
+  .byte  197,100,92,232                      // vsubps        %ymm0,%ymm3,%ymm13
+  .byte  196,98,117,168,232                  // vfmadd213ps   %ymm0,%ymm1,%ymm13
+  .byte  197,252,16,148,36,32,1,0,0          // vmovups       0x120(%rsp),%ymm2
+  .byte  197,252,16,132,36,64,1,0,0          // vmovups       0x140(%rsp),%ymm0
+  .byte  197,124,92,242                      // vsubps        %ymm2,%ymm0,%ymm14
+  .byte  196,98,117,168,242                  // vfmadd213ps   %ymm2,%ymm1,%ymm14
+  .byte  197,252,16,132,36,0,1,0,0           // vmovups       0x100(%rsp),%ymm0
+  .byte  197,252,16,148,36,128,0,0,0         // vmovups       0x80(%rsp),%ymm2
+  .byte  197,108,92,224                      // vsubps        %ymm0,%ymm2,%ymm12
+  .byte  196,98,117,168,224                  // vfmadd213ps   %ymm0,%ymm1,%ymm12
+  .byte  197,252,16,132,36,224,0,0,0         // vmovups       0xe0(%rsp),%ymm0
+  .byte  197,252,16,84,36,96                 // vmovups       0x60(%rsp),%ymm2
+  .byte  197,236,92,232                      // vsubps        %ymm0,%ymm2,%ymm5
+  .byte  196,226,117,168,232                 // vfmadd213ps   %ymm0,%ymm1,%ymm5
+  .byte  197,252,16,132,36,160,0,0,0         // vmovups       0xa0(%rsp),%ymm0
+  .byte  197,252,16,84,36,64                 // vmovups       0x40(%rsp),%ymm2
+  .byte  197,236,92,240                      // vsubps        %ymm0,%ymm2,%ymm6
+  .byte  196,226,117,168,240                 // vfmadd213ps   %ymm0,%ymm1,%ymm6
+  .byte  197,252,16,84,36,32                 // vmovups       0x20(%rsp),%ymm2
+  .byte  197,252,16,68,36,192                // vmovups       -0x40(%rsp),%ymm0
+  .byte  197,252,92,194                      // vsubps        %ymm2,%ymm0,%ymm0
+  .byte  196,226,117,168,194                 // vfmadd213ps   %ymm2,%ymm1,%ymm0
+  .byte  197,252,16,28,36                    // vmovups       (%rsp),%ymm3
+  .byte  197,220,92,211                      // vsubps        %ymm3,%ymm4,%ymm2
+  .byte  196,226,117,168,211                 // vfmadd213ps   %ymm3,%ymm1,%ymm2
+  .byte  197,252,16,100,36,224               // vmovups       -0x20(%rsp),%ymm4
+  .byte  197,252,16,92,36,160                // vmovups       -0x60(%rsp),%ymm3
+  .byte  197,228,92,220                      // vsubps        %ymm4,%ymm3,%ymm3
+  .byte  196,226,117,168,220                 // vfmadd213ps   %ymm4,%ymm1,%ymm3
+  .byte  196,65,36,92,218                    // vsubps        %ymm10,%ymm11,%ymm11
+  .byte  196,66,117,168,218                  // vfmadd213ps   %ymm10,%ymm1,%ymm11
+  .byte  197,252,16,100,36,128               // vmovups       -0x80(%rsp),%ymm4
+  .byte  197,4,92,212                        // vsubps        %ymm4,%ymm15,%ymm10
+  .byte  196,98,117,168,212                  // vfmadd213ps   %ymm4,%ymm1,%ymm10
+  .byte  196,193,68,92,248                   // vsubps        %ymm8,%ymm7,%ymm7
+  .byte  196,194,117,168,248                 // vfmadd213ps   %ymm8,%ymm1,%ymm7
+  .byte  197,252,91,140,36,96,2,0,0          // vcvtdq2ps     0x260(%rsp),%ymm1
+  .byte  197,124,16,132,36,224,1,0,0         // vmovups       0x1e0(%rsp),%ymm8
+  .byte  197,188,92,201                      // vsubps        %ymm1,%ymm8,%ymm1
+  .byte  196,193,28,92,225                   // vsubps        %ymm9,%ymm12,%ymm4
+  .byte  196,194,117,168,225                 // vfmadd213ps   %ymm9,%ymm1,%ymm4
+  .byte  196,193,84,92,237                   // vsubps        %ymm13,%ymm5,%ymm5
+  .byte  196,194,117,168,237                 // vfmadd213ps   %ymm13,%ymm1,%ymm5
+  .byte  196,193,76,92,246                   // vsubps        %ymm14,%ymm6,%ymm6
+  .byte  196,194,117,168,246                 // vfmadd213ps   %ymm14,%ymm1,%ymm6
+  .byte  197,36,92,192                       // vsubps        %ymm0,%ymm11,%ymm8
+  .byte  196,98,117,168,192                  // vfmadd213ps   %ymm0,%ymm1,%ymm8
+  .byte  197,44,92,202                       // vsubps        %ymm2,%ymm10,%ymm9
+  .byte  196,98,117,168,202                  // vfmadd213ps   %ymm2,%ymm1,%ymm9
+  .byte  197,196,92,211                      // vsubps        %ymm3,%ymm7,%ymm2
+  .byte  196,226,117,168,211                 // vfmadd213ps   %ymm3,%ymm1,%ymm2
+  .byte  197,252,91,132,36,128,1,0,0         // vcvtdq2ps     0x180(%rsp),%ymm0
+  .byte  197,252,16,140,36,192,0,0,0         // vmovups       0xc0(%rsp),%ymm1
+  .byte  197,244,92,216                      // vsubps        %ymm0,%ymm1,%ymm3
+  .byte  197,188,92,196                      // vsubps        %ymm4,%ymm8,%ymm0
+  .byte  196,226,101,168,196                 // vfmadd213ps   %ymm4,%ymm3,%ymm0
+  .byte  197,180,92,205                      // vsubps        %ymm5,%ymm9,%ymm1
+  .byte  196,226,101,168,205                 // vfmadd213ps   %ymm5,%ymm3,%ymm1
+  .byte  197,236,92,214                      // vsubps        %ymm6,%ymm2,%ymm2
+  .byte  196,226,101,168,214                 // vfmadd213ps   %ymm6,%ymm3,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,16,156,36,128,2,0,0         // vmovups       0x280(%rsp),%ymm3
+  .byte  197,252,16,164,36,160,2,0,0         // vmovups       0x2a0(%rsp),%ymm4
+  .byte  197,252,16,172,36,192,2,0,0         // vmovups       0x2c0(%rsp),%ymm5
+  .byte  197,252,16,180,36,224,2,0,0         // vmovups       0x2e0(%rsp),%ymm6
+  .byte  197,252,16,188,36,0,3,0,0           // vmovups       0x300(%rsp),%ymm7
+  .byte  72,129,196,56,3,0,0                 // add           $0x338,%rsp
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_clut_4D_hsw
+.globl _sk_clut_4D_hsw
+FUNCTION(_sk_clut_4D_hsw)
+_sk_clut_4D_hsw:
+  .byte  72,129,236,248,6,0,0                // sub           $0x6f8,%rsp
+  .byte  197,252,17,188,36,192,6,0,0         // vmovups       %ymm7,0x6c0(%rsp)
+  .byte  197,252,17,180,36,160,6,0,0         // vmovups       %ymm6,0x6a0(%rsp)
+  .byte  197,252,17,172,36,128,6,0,0         // vmovups       %ymm5,0x680(%rsp)
+  .byte  197,252,17,164,36,96,6,0,0          // vmovups       %ymm4,0x660(%rsp)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  68,139,64,20                        // mov           0x14(%rax),%r8d
+  .byte  69,141,72,255                       // lea           -0x1(%r8),%r9d
+  .byte  196,193,121,110,225                 // vmovd         %r9d,%xmm4
+  .byte  196,226,125,88,228                  // vpbroadcastd  %xmm4,%ymm4
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  197,220,89,219                      // vmulps        %ymm3,%ymm4,%ymm3
+  .byte  197,252,17,156,36,32,1,0,0          // vmovups       %ymm3,0x120(%rsp)
+  .byte  197,254,91,243                      // vcvttps2dq    %ymm3,%ymm6
+  .byte  196,193,121,110,216                 // vmovd         %r8d,%xmm3
+  .byte  196,193,121,110,224                 // vmovd         %r8d,%xmm4
+  .byte  196,98,125,88,252                   // vpbroadcastd  %xmm4,%ymm15
+  .byte  68,139,64,16                        // mov           0x10(%rax),%r8d
+  .byte  69,141,72,255                       // lea           -0x1(%r8),%r9d
+  .byte  196,193,121,110,233                 // vmovd         %r9d,%xmm5
+  .byte  196,226,125,88,237                  // vpbroadcastd  %xmm5,%ymm5
+  .byte  197,252,91,237                      // vcvtdq2ps     %ymm5,%ymm5
+  .byte  197,212,89,210                      // vmulps        %ymm2,%ymm5,%ymm2
+  .byte  197,254,91,234                      // vcvttps2dq    %ymm2,%ymm5
+  .byte  197,254,127,172,36,64,6,0,0         // vmovdqu       %ymm5,0x640(%rsp)
+  .byte  197,124,40,242                      // vmovaps       %ymm2,%ymm14
+  .byte  197,124,17,180,36,224,5,0,0         // vmovups       %ymm14,0x5e0(%rsp)
+  .byte  196,226,5,64,213                    // vpmulld       %ymm5,%ymm15,%ymm2
+  .byte  197,254,127,84,36,160               // vmovdqu       %ymm2,-0x60(%rsp)
+  .byte  197,237,254,230                     // vpaddd        %ymm6,%ymm2,%ymm4
+  .byte  197,125,111,230                     // vmovdqa       %ymm6,%ymm12
+  .byte  197,126,127,164,36,192,5,0,0        // vmovdqu       %ymm12,0x5c0(%rsp)
+  .byte  196,193,121,110,232                 // vmovd         %r8d,%xmm5
+  .byte  196,226,85,64,235                   // vpmulld       %ymm3,%ymm5,%ymm5
+  .byte  196,226,125,88,221                  // vpbroadcastd  %xmm5,%ymm3
+  .byte  68,139,64,12                        // mov           0xc(%rax),%r8d
+  .byte  69,141,72,255                       // lea           -0x1(%r8),%r9d
+  .byte  196,193,121,110,241                 // vmovd         %r9d,%xmm6
+  .byte  196,226,125,88,246                  // vpbroadcastd  %xmm6,%ymm6
+  .byte  197,252,91,246                      // vcvtdq2ps     %ymm6,%ymm6
+  .byte  197,204,89,241                      // vmulps        %ymm1,%ymm6,%ymm6
+  .byte  196,193,121,110,200                 // vmovd         %r8d,%xmm1
+  .byte  196,226,117,64,205                  // vpmulld       %ymm5,%ymm1,%ymm1
+  .byte  68,139,64,8                         // mov           0x8(%rax),%r8d
+  .byte  65,255,200                          // dec           %r8d
+  .byte  196,193,121,110,232                 // vmovd         %r8d,%xmm5
+  .byte  196,226,125,88,237                  // vpbroadcastd  %xmm5,%ymm5
+  .byte  197,252,91,237                      // vcvtdq2ps     %ymm5,%ymm5
+  .byte  197,212,89,232                      // vmulps        %ymm0,%ymm5,%ymm5
+  .byte  197,254,91,198                      // vcvttps2dq    %ymm6,%ymm0
+  .byte  197,254,127,132,36,32,6,0,0         // vmovdqu       %ymm0,0x620(%rsp)
+  .byte  197,252,17,180,36,0,6,0,0           // vmovups       %ymm6,0x600(%rsp)
+  .byte  196,226,125,88,209                  // vpbroadcastd  %xmm1,%ymm2
+  .byte  72,139,0                            // mov           (%rax),%rax
+  .byte  196,226,101,64,192                  // vpmulld       %ymm0,%ymm3,%ymm0
+  .byte  197,254,127,68,36,128               // vmovdqu       %ymm0,-0x80(%rsp)
+  .byte  197,253,254,252                     // vpaddd        %ymm4,%ymm0,%ymm7
+  .byte  197,254,91,197                      // vcvttps2dq    %ymm5,%ymm0
+  .byte  197,252,40,205                      // vmovaps       %ymm5,%ymm1
+  .byte  197,252,17,140,36,160,0,0,0         // vmovups       %ymm1,0xa0(%rsp)
+  .byte  197,254,127,132,36,0,1,0,0          // vmovdqu       %ymm0,0x100(%rsp)
+  .byte  196,98,109,64,200                   // vpmulld       %ymm0,%ymm2,%ymm9
+  .byte  197,181,254,199                     // vpaddd        %ymm7,%ymm9,%ymm0
+  .byte  196,98,125,88,21,43,205,2,0         // vpbroadcastd  0x2cd2b(%rip),%ymm10        # 3c66c <_sk_srcover_bgra_8888_sse2_lowp+0x420>
+  .byte  196,194,125,64,194                  // vpmulld       %ymm10,%ymm0,%ymm0
+  .byte  197,213,118,237                     // vpcmpeqd      %ymm5,%ymm5,%ymm5
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  196,98,85,146,4,128                 // vgatherdps    %ymm5,(%rax,%ymm0,4),%ymm8
+  .byte  197,124,17,132,36,224,0,0,0         // vmovups       %ymm8,0xe0(%rsp)
+  .byte  196,65,21,118,237                   // vpcmpeqd      %ymm13,%ymm13,%ymm13
+  .byte  196,193,125,250,237                 // vpsubd        %ymm13,%ymm0,%ymm5
+  .byte  196,65,61,118,192                   // vpcmpeqd      %ymm8,%ymm8,%ymm8
+  .byte  196,65,36,87,219                    // vxorps        %ymm11,%ymm11,%ymm11
+  .byte  196,98,61,146,28,168                // vgatherdps    %ymm8,(%rax,%ymm5,4),%ymm11
+  .byte  197,124,17,156,36,192,0,0,0         // vmovups       %ymm11,0xc0(%rsp)
+  .byte  196,98,125,88,29,126,203,2,0        // vpbroadcastd  0x2cb7e(%rip),%ymm11        # 3c508 <_sk_srcover_bgra_8888_sse2_lowp+0x2bc>
+  .byte  196,193,125,254,195                 // vpaddd        %ymm11,%ymm0,%ymm0
+  .byte  196,65,61,118,192                   // vpcmpeqd      %ymm8,%ymm8,%ymm8
+  .byte  197,212,87,237                      // vxorps        %ymm5,%ymm5,%ymm5
+  .byte  196,226,61,146,44,128               // vgatherdps    %ymm8,(%rax,%ymm0,4),%ymm5
+  .byte  197,252,17,108,36,32                // vmovups       %ymm5,0x20(%rsp)
+  .byte  196,226,125,24,5,187,204,2,0        // vbroadcastss  0x2ccbb(%rip),%ymm0        # 3c668 <_sk_srcover_bgra_8888_sse2_lowp+0x41c>
+  .byte  197,116,88,192                      // vaddps        %ymm0,%ymm1,%ymm8
+  .byte  196,65,126,91,192                   // vcvttps2dq    %ymm8,%ymm8
+  .byte  196,194,109,64,232                  // vpmulld       %ymm8,%ymm2,%ymm5
+  .byte  197,213,254,207                     // vpaddd        %ymm7,%ymm5,%ymm1
+  .byte  196,194,117,64,202                  // vpmulld       %ymm10,%ymm1,%ymm1
+  .byte  197,197,118,255                     // vpcmpeqd      %ymm7,%ymm7,%ymm7
+  .byte  197,237,239,210                     // vpxor         %ymm2,%ymm2,%ymm2
+  .byte  196,226,69,146,20,136               // vgatherdps    %ymm7,(%rax,%ymm1,4),%ymm2
+  .byte  197,252,17,148,36,128,0,0,0         // vmovups       %ymm2,0x80(%rsp)
+  .byte  196,193,117,250,253                 // vpsubd        %ymm13,%ymm1,%ymm7
+  .byte  196,65,61,118,192                   // vpcmpeqd      %ymm8,%ymm8,%ymm8
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  196,226,61,146,20,184               // vgatherdps    %ymm8,(%rax,%ymm7,4),%ymm2
+  .byte  197,252,17,84,36,96                 // vmovups       %ymm2,0x60(%rsp)
+  .byte  196,193,117,254,203                 // vpaddd        %ymm11,%ymm1,%ymm1
+  .byte  197,197,118,255                     // vpcmpeqd      %ymm7,%ymm7,%ymm7
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  196,226,69,146,20,136               // vgatherdps    %ymm7,(%rax,%ymm1,4),%ymm2
+  .byte  197,252,17,84,36,64                 // vmovups       %ymm2,0x40(%rsp)
+  .byte  197,204,88,200                      // vaddps        %ymm0,%ymm6,%ymm1
+  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
+  .byte  196,226,101,64,241                  // vpmulld       %ymm1,%ymm3,%ymm6
+  .byte  197,205,254,204                     // vpaddd        %ymm4,%ymm6,%ymm1
+  .byte  196,193,117,254,209                 // vpaddd        %ymm9,%ymm1,%ymm2
+  .byte  196,194,109,64,210                  // vpmulld       %ymm10,%ymm2,%ymm2
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  197,221,239,228                     // vpxor         %ymm4,%ymm4,%ymm4
+  .byte  196,226,101,146,36,144              // vgatherdps    %ymm3,(%rax,%ymm2,4),%ymm4
+  .byte  197,252,17,164,36,96,5,0,0          // vmovups       %ymm4,0x560(%rsp)
+  .byte  196,193,109,250,221                 // vpsubd        %ymm13,%ymm2,%ymm3
+  .byte  197,197,118,255                     // vpcmpeqd      %ymm7,%ymm7,%ymm7
+  .byte  197,220,87,228                      // vxorps        %ymm4,%ymm4,%ymm4
+  .byte  196,226,69,146,36,152               // vgatherdps    %ymm7,(%rax,%ymm3,4),%ymm4
+  .byte  197,252,17,36,36                    // vmovups       %ymm4,(%rsp)
+  .byte  196,193,109,254,211                 // vpaddd        %ymm11,%ymm2,%ymm2
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  197,220,87,228                      // vxorps        %ymm4,%ymm4,%ymm4
+  .byte  196,226,101,146,36,144              // vgatherdps    %ymm3,(%rax,%ymm2,4),%ymm4
+  .byte  197,252,17,100,36,224               // vmovups       %ymm4,-0x20(%rsp)
+  .byte  197,213,254,201                     // vpaddd        %ymm1,%ymm5,%ymm1
+  .byte  196,194,117,64,202                  // vpmulld       %ymm10,%ymm1,%ymm1
+  .byte  197,237,118,210                     // vpcmpeqd      %ymm2,%ymm2,%ymm2
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  196,226,109,146,28,136              // vgatherdps    %ymm2,(%rax,%ymm1,4),%ymm3
+  .byte  197,252,17,92,36,192                // vmovups       %ymm3,-0x40(%rsp)
+  .byte  196,193,117,250,213                 // vpsubd        %ymm13,%ymm1,%ymm2
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  197,220,87,228                      // vxorps        %ymm4,%ymm4,%ymm4
+  .byte  196,226,101,146,36,144              // vgatherdps    %ymm3,(%rax,%ymm2,4),%ymm4
+  .byte  197,252,17,164,36,160,5,0,0         // vmovups       %ymm4,0x5a0(%rsp)
+  .byte  196,193,117,254,203                 // vpaddd        %ymm11,%ymm1,%ymm1
+  .byte  197,237,118,210                     // vpcmpeqd      %ymm2,%ymm2,%ymm2
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  196,226,109,146,28,136              // vgatherdps    %ymm2,(%rax,%ymm1,4),%ymm3
+  .byte  197,252,17,156,36,128,5,0,0         // vmovups       %ymm3,0x580(%rsp)
+  .byte  197,140,88,200                      // vaddps        %ymm0,%ymm14,%ymm1
+  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
+  .byte  196,98,5,64,249                     // vpmulld       %ymm1,%ymm15,%ymm15
+  .byte  196,193,5,254,204                   // vpaddd        %ymm12,%ymm15,%ymm1
+  .byte  197,126,111,68,36,128               // vmovdqu       -0x80(%rsp),%ymm8
+  .byte  196,193,117,254,208                 // vpaddd        %ymm8,%ymm1,%ymm2
+  .byte  196,193,109,254,217                 // vpaddd        %ymm9,%ymm2,%ymm3
+  .byte  196,194,101,64,218                  // vpmulld       %ymm10,%ymm3,%ymm3
+  .byte  197,221,118,228                     // vpcmpeqd      %ymm4,%ymm4,%ymm4
+  .byte  197,196,87,255                      // vxorps        %ymm7,%ymm7,%ymm7
+  .byte  196,226,93,146,60,152               // vgatherdps    %ymm4,(%rax,%ymm3,4),%ymm7
+  .byte  197,252,17,188,36,96,3,0,0          // vmovups       %ymm7,0x360(%rsp)
+  .byte  196,193,101,250,229                 // vpsubd        %ymm13,%ymm3,%ymm4
+  .byte  197,197,118,255                     // vpcmpeqd      %ymm7,%ymm7,%ymm7
+  .byte  196,65,12,87,246                    // vxorps        %ymm14,%ymm14,%ymm14
+  .byte  196,98,69,146,52,160                // vgatherdps    %ymm7,(%rax,%ymm4,4),%ymm14
+  .byte  197,124,17,180,36,64,5,0,0          // vmovups       %ymm14,0x540(%rsp)
+  .byte  196,193,101,254,219                 // vpaddd        %ymm11,%ymm3,%ymm3
+  .byte  197,221,118,228                     // vpcmpeqd      %ymm4,%ymm4,%ymm4
+  .byte  197,196,87,255                      // vxorps        %ymm7,%ymm7,%ymm7
+  .byte  196,226,93,146,60,152               // vgatherdps    %ymm4,(%rax,%ymm3,4),%ymm7
+  .byte  197,252,17,188,36,192,4,0,0         // vmovups       %ymm7,0x4c0(%rsp)
+  .byte  197,213,254,210                     // vpaddd        %ymm2,%ymm5,%ymm2
+  .byte  196,194,109,64,210                  // vpmulld       %ymm10,%ymm2,%ymm2
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  197,220,87,228                      // vxorps        %ymm4,%ymm4,%ymm4
+  .byte  196,226,101,146,36,144              // vgatherdps    %ymm3,(%rax,%ymm2,4),%ymm4
+  .byte  197,252,17,164,36,32,5,0,0          // vmovups       %ymm4,0x520(%rsp)
+  .byte  196,193,109,250,221                 // vpsubd        %ymm13,%ymm2,%ymm3
+  .byte  197,221,118,228                     // vpcmpeqd      %ymm4,%ymm4,%ymm4
+  .byte  196,65,12,87,246                    // vxorps        %ymm14,%ymm14,%ymm14
+  .byte  196,98,93,146,52,152                // vgatherdps    %ymm4,(%rax,%ymm3,4),%ymm14
+  .byte  197,124,17,180,36,0,5,0,0           // vmovups       %ymm14,0x500(%rsp)
+  .byte  196,193,109,254,211                 // vpaddd        %ymm11,%ymm2,%ymm2
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  197,220,87,228                      // vxorps        %ymm4,%ymm4,%ymm4
+  .byte  196,226,101,146,36,144              // vgatherdps    %ymm3,(%rax,%ymm2,4),%ymm4
+  .byte  197,252,17,164,36,224,4,0,0         // vmovups       %ymm4,0x4e0(%rsp)
+  .byte  197,205,254,201                     // vpaddd        %ymm1,%ymm6,%ymm1
+  .byte  196,193,117,254,209                 // vpaddd        %ymm9,%ymm1,%ymm2
+  .byte  196,194,109,64,210                  // vpmulld       %ymm10,%ymm2,%ymm2
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  197,220,87,228                      // vxorps        %ymm4,%ymm4,%ymm4
+  .byte  196,226,101,146,36,144              // vgatherdps    %ymm3,(%rax,%ymm2,4),%ymm4
+  .byte  197,252,17,164,36,160,4,0,0         // vmovups       %ymm4,0x4a0(%rsp)
+  .byte  196,193,109,250,221                 // vpsubd        %ymm13,%ymm2,%ymm3
+  .byte  197,221,118,228                     // vpcmpeqd      %ymm4,%ymm4,%ymm4
+  .byte  197,196,87,255                      // vxorps        %ymm7,%ymm7,%ymm7
+  .byte  196,226,93,146,60,152               // vgatherdps    %ymm4,(%rax,%ymm3,4),%ymm7
+  .byte  197,252,17,188,36,128,4,0,0         // vmovups       %ymm7,0x480(%rsp)
+  .byte  196,193,109,254,211                 // vpaddd        %ymm11,%ymm2,%ymm2
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  197,220,87,228                      // vxorps        %ymm4,%ymm4,%ymm4
+  .byte  196,226,101,146,36,144              // vgatherdps    %ymm3,(%rax,%ymm2,4),%ymm4
+  .byte  197,252,17,164,36,0,3,0,0           // vmovups       %ymm4,0x300(%rsp)
+  .byte  197,213,254,201                     // vpaddd        %ymm1,%ymm5,%ymm1
+  .byte  196,194,117,64,202                  // vpmulld       %ymm10,%ymm1,%ymm1
+  .byte  197,237,118,210                     // vpcmpeqd      %ymm2,%ymm2,%ymm2
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  196,226,109,146,28,136              // vgatherdps    %ymm2,(%rax,%ymm1,4),%ymm3
+  .byte  197,252,17,156,36,96,4,0,0          // vmovups       %ymm3,0x460(%rsp)
+  .byte  196,193,117,250,213                 // vpsubd        %ymm13,%ymm1,%ymm2
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  197,220,87,228                      // vxorps        %ymm4,%ymm4,%ymm4
+  .byte  196,226,101,146,36,144              // vgatherdps    %ymm3,(%rax,%ymm2,4),%ymm4
+  .byte  197,252,17,164,36,64,4,0,0          // vmovups       %ymm4,0x440(%rsp)
+  .byte  196,193,117,254,203                 // vpaddd        %ymm11,%ymm1,%ymm1
+  .byte  197,237,118,210                     // vpcmpeqd      %ymm2,%ymm2,%ymm2
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  196,226,109,146,28,136              // vgatherdps    %ymm2,(%rax,%ymm1,4),%ymm3
+  .byte  197,252,17,156,36,32,4,0,0          // vmovups       %ymm3,0x420(%rsp)
+  .byte  197,252,88,132,36,32,1,0,0          // vaddps        0x120(%rsp),%ymm0,%ymm0
+  .byte  197,254,91,248                      // vcvttps2dq    %ymm0,%ymm7
+  .byte  197,197,254,68,36,160               // vpaddd        -0x60(%rsp),%ymm7,%ymm0
+  .byte  197,189,254,200                     // vpaddd        %ymm0,%ymm8,%ymm1
+  .byte  197,181,254,209                     // vpaddd        %ymm1,%ymm9,%ymm2
+  .byte  196,194,109,64,210                  // vpmulld       %ymm10,%ymm2,%ymm2
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  197,220,87,228                      // vxorps        %ymm4,%ymm4,%ymm4
+  .byte  196,226,101,146,36,144              // vgatherdps    %ymm3,(%rax,%ymm2,4),%ymm4
+  .byte  197,252,17,100,36,160               // vmovups       %ymm4,-0x60(%rsp)
+  .byte  196,193,109,250,221                 // vpsubd        %ymm13,%ymm2,%ymm3
+  .byte  197,221,118,228                     // vpcmpeqd      %ymm4,%ymm4,%ymm4
+  .byte  196,65,12,87,246                    // vxorps        %ymm14,%ymm14,%ymm14
+  .byte  196,98,93,146,52,152                // vgatherdps    %ymm4,(%rax,%ymm3,4),%ymm14
+  .byte  197,124,17,180,36,0,4,0,0           // vmovups       %ymm14,0x400(%rsp)
+  .byte  196,193,109,254,211                 // vpaddd        %ymm11,%ymm2,%ymm2
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  197,220,87,228                      // vxorps        %ymm4,%ymm4,%ymm4
+  .byte  196,226,101,146,36,144              // vgatherdps    %ymm3,(%rax,%ymm2,4),%ymm4
+  .byte  197,252,17,164,36,224,3,0,0         // vmovups       %ymm4,0x3e0(%rsp)
+  .byte  197,213,254,201                     // vpaddd        %ymm1,%ymm5,%ymm1
+  .byte  196,194,117,64,202                  // vpmulld       %ymm10,%ymm1,%ymm1
+  .byte  197,237,118,210                     // vpcmpeqd      %ymm2,%ymm2,%ymm2
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  196,226,109,146,28,136              // vgatherdps    %ymm2,(%rax,%ymm1,4),%ymm3
+  .byte  197,252,17,156,36,192,3,0,0         // vmovups       %ymm3,0x3c0(%rsp)
+  .byte  196,193,117,250,213                 // vpsubd        %ymm13,%ymm1,%ymm2
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  197,220,87,228                      // vxorps        %ymm4,%ymm4,%ymm4
+  .byte  196,226,101,146,36,144              // vgatherdps    %ymm3,(%rax,%ymm2,4),%ymm4
+  .byte  197,252,17,164,36,160,3,0,0         // vmovups       %ymm4,0x3a0(%rsp)
+  .byte  196,193,117,254,203                 // vpaddd        %ymm11,%ymm1,%ymm1
+  .byte  197,237,118,210                     // vpcmpeqd      %ymm2,%ymm2,%ymm2
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  196,226,109,146,28,136              // vgatherdps    %ymm2,(%rax,%ymm1,4),%ymm3
+  .byte  197,252,17,156,36,128,3,0,0         // vmovups       %ymm3,0x380(%rsp)
+  .byte  197,205,254,192                     // vpaddd        %ymm0,%ymm6,%ymm0
+  .byte  196,193,125,254,201                 // vpaddd        %ymm9,%ymm0,%ymm1
+  .byte  196,194,117,64,202                  // vpmulld       %ymm10,%ymm1,%ymm1
+  .byte  197,237,118,210                     // vpcmpeqd      %ymm2,%ymm2,%ymm2
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  196,226,109,146,28,136              // vgatherdps    %ymm2,(%rax,%ymm1,4),%ymm3
+  .byte  197,252,17,156,36,32,3,0,0          // vmovups       %ymm3,0x320(%rsp)
+  .byte  196,193,117,250,213                 // vpsubd        %ymm13,%ymm1,%ymm2
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  197,220,87,228                      // vxorps        %ymm4,%ymm4,%ymm4
+  .byte  196,226,101,146,36,144              // vgatherdps    %ymm3,(%rax,%ymm2,4),%ymm4
+  .byte  197,252,17,164,36,64,3,0,0          // vmovups       %ymm4,0x340(%rsp)
+  .byte  196,193,117,254,203                 // vpaddd        %ymm11,%ymm1,%ymm1
+  .byte  197,237,118,210                     // vpcmpeqd      %ymm2,%ymm2,%ymm2
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  196,226,109,146,28,136              // vgatherdps    %ymm2,(%rax,%ymm1,4),%ymm3
+  .byte  197,252,17,156,36,128,2,0,0         // vmovups       %ymm3,0x280(%rsp)
+  .byte  197,213,254,192                     // vpaddd        %ymm0,%ymm5,%ymm0
+  .byte  196,194,125,64,194                  // vpmulld       %ymm10,%ymm0,%ymm0
+  .byte  197,245,118,201                     // vpcmpeqd      %ymm1,%ymm1,%ymm1
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  196,226,117,146,20,128              // vgatherdps    %ymm1,(%rax,%ymm0,4),%ymm2
+  .byte  197,252,17,148,36,224,2,0,0         // vmovups       %ymm2,0x2e0(%rsp)
+  .byte  196,193,125,250,205                 // vpsubd        %ymm13,%ymm0,%ymm1
+  .byte  197,237,118,210                     // vpcmpeqd      %ymm2,%ymm2,%ymm2
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  196,226,109,146,28,136              // vgatherdps    %ymm2,(%rax,%ymm1,4),%ymm3
+  .byte  197,252,17,156,36,192,2,0,0         // vmovups       %ymm3,0x2c0(%rsp)
+  .byte  196,193,125,254,195                 // vpaddd        %ymm11,%ymm0,%ymm0
+  .byte  197,245,118,201                     // vpcmpeqd      %ymm1,%ymm1,%ymm1
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  196,226,117,146,20,128              // vgatherdps    %ymm1,(%rax,%ymm0,4),%ymm2
+  .byte  197,252,17,148,36,160,2,0,0         // vmovups       %ymm2,0x2a0(%rsp)
+  .byte  197,133,254,199                     // vpaddd        %ymm7,%ymm15,%ymm0
+  .byte  196,193,125,254,200                 // vpaddd        %ymm8,%ymm0,%ymm1
+  .byte  196,193,117,254,209                 // vpaddd        %ymm9,%ymm1,%ymm2
+  .byte  196,194,109,64,210                  // vpmulld       %ymm10,%ymm2,%ymm2
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  197,220,87,228                      // vxorps        %ymm4,%ymm4,%ymm4
+  .byte  196,226,101,146,36,144              // vgatherdps    %ymm3,(%rax,%ymm2,4),%ymm4
+  .byte  197,252,17,100,36,128               // vmovups       %ymm4,-0x80(%rsp)
+  .byte  196,193,109,250,221                 // vpsubd        %ymm13,%ymm2,%ymm3
+  .byte  196,65,61,118,192                   // vpcmpeqd      %ymm8,%ymm8,%ymm8
+  .byte  197,220,87,228                      // vxorps        %ymm4,%ymm4,%ymm4
+  .byte  196,226,61,146,36,152               // vgatherdps    %ymm8,(%rax,%ymm3,4),%ymm4
+  .byte  197,252,17,164,36,96,2,0,0          // vmovups       %ymm4,0x260(%rsp)
+  .byte  196,193,109,254,211                 // vpaddd        %ymm11,%ymm2,%ymm2
+  .byte  196,65,61,118,192                   // vpcmpeqd      %ymm8,%ymm8,%ymm8
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  196,226,61,146,28,144               // vgatherdps    %ymm8,(%rax,%ymm2,4),%ymm3
+  .byte  197,252,17,156,36,224,1,0,0         // vmovups       %ymm3,0x1e0(%rsp)
+  .byte  197,213,254,201                     // vpaddd        %ymm1,%ymm5,%ymm1
+  .byte  196,194,117,64,202                  // vpmulld       %ymm10,%ymm1,%ymm1
+  .byte  197,237,118,210                     // vpcmpeqd      %ymm2,%ymm2,%ymm2
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  196,226,109,146,28,136              // vgatherdps    %ymm2,(%rax,%ymm1,4),%ymm3
+  .byte  197,252,17,156,36,64,2,0,0          // vmovups       %ymm3,0x240(%rsp)
+  .byte  196,193,117,250,213                 // vpsubd        %ymm13,%ymm1,%ymm2
+  .byte  196,65,61,118,192                   // vpcmpeqd      %ymm8,%ymm8,%ymm8
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  196,226,61,146,28,144               // vgatherdps    %ymm8,(%rax,%ymm2,4),%ymm3
+  .byte  197,252,17,156,36,32,2,0,0          // vmovups       %ymm3,0x220(%rsp)
+  .byte  196,193,117,254,203                 // vpaddd        %ymm11,%ymm1,%ymm1
+  .byte  197,237,118,210                     // vpcmpeqd      %ymm2,%ymm2,%ymm2
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  196,226,109,146,28,136              // vgatherdps    %ymm2,(%rax,%ymm1,4),%ymm3
+  .byte  197,252,17,156,36,0,2,0,0           // vmovups       %ymm3,0x200(%rsp)
+  .byte  197,205,254,216                     // vpaddd        %ymm0,%ymm6,%ymm3
+  .byte  196,193,101,254,193                 // vpaddd        %ymm9,%ymm3,%ymm0
+  .byte  196,194,125,64,194                  // vpmulld       %ymm10,%ymm0,%ymm0
+  .byte  197,237,118,210                     // vpcmpeqd      %ymm2,%ymm2,%ymm2
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  196,226,109,146,12,128              // vgatherdps    %ymm2,(%rax,%ymm0,4),%ymm1
+  .byte  197,252,17,140,36,192,1,0,0         // vmovups       %ymm1,0x1c0(%rsp)
+  .byte  196,193,125,250,229                 // vpsubd        %ymm13,%ymm0,%ymm4
+  .byte  197,245,118,201                     // vpcmpeqd      %ymm1,%ymm1,%ymm1
+  .byte  196,65,29,239,228                   // vpxor         %ymm12,%ymm12,%ymm12
+  .byte  196,98,117,146,36,160               // vgatherdps    %ymm1,(%rax,%ymm4,4),%ymm12
+  .byte  196,193,125,254,203                 // vpaddd        %ymm11,%ymm0,%ymm1
+  .byte  197,221,118,228                     // vpcmpeqd      %ymm4,%ymm4,%ymm4
+  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
+  .byte  196,226,93,146,4,136                // vgatherdps    %ymm4,(%rax,%ymm1,4),%ymm0
+  .byte  197,252,17,132,36,160,1,0,0         // vmovups       %ymm0,0x1a0(%rsp)
+  .byte  197,213,254,203                     // vpaddd        %ymm3,%ymm5,%ymm1
+  .byte  196,194,117,64,202                  // vpmulld       %ymm10,%ymm1,%ymm1
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
+  .byte  196,226,101,146,4,136               // vgatherdps    %ymm3,(%rax,%ymm1,4),%ymm0
+  .byte  197,252,17,132,36,128,1,0,0         // vmovups       %ymm0,0x180(%rsp)
+  .byte  196,193,117,250,221                 // vpsubd        %ymm13,%ymm1,%ymm3
+  .byte  196,65,45,118,210                   // vpcmpeqd      %ymm10,%ymm10,%ymm10
+  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
+  .byte  196,226,45,146,4,152                // vgatherdps    %ymm10,(%rax,%ymm3,4),%ymm0
+  .byte  197,252,17,132,36,96,1,0,0          // vmovups       %ymm0,0x160(%rsp)
+  .byte  196,193,117,254,203                 // vpaddd        %ymm11,%ymm1,%ymm1
+  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
+  .byte  196,226,21,146,4,136                // vgatherdps    %ymm13,(%rax,%ymm1,4),%ymm0
+  .byte  197,252,17,132,36,64,1,0,0          // vmovups       %ymm0,0x140(%rsp)
+  .byte  197,252,91,140,36,0,1,0,0           // vcvtdq2ps     0x100(%rsp),%ymm1
+  .byte  197,252,16,132,36,160,0,0,0         // vmovups       0xa0(%rsp),%ymm0
+  .byte  197,252,92,201                      // vsubps        %ymm1,%ymm0,%ymm1
+  .byte  197,252,16,132,36,224,0,0,0         // vmovups       0xe0(%rsp),%ymm0
+  .byte  197,252,16,148,36,128,0,0,0         // vmovups       0x80(%rsp),%ymm2
+  .byte  197,108,92,248                      // vsubps        %ymm0,%ymm2,%ymm15
+  .byte  196,98,117,168,248                  // vfmadd213ps   %ymm0,%ymm1,%ymm15
+  .byte  197,252,16,132,36,192,0,0,0         // vmovups       0xc0(%rsp),%ymm0
+  .byte  197,252,16,84,36,96                 // vmovups       0x60(%rsp),%ymm2
+  .byte  197,108,92,240                      // vsubps        %ymm0,%ymm2,%ymm14
+  .byte  196,98,117,168,240                  // vfmadd213ps   %ymm0,%ymm1,%ymm14
+  .byte  197,252,16,108,36,32                // vmovups       0x20(%rsp),%ymm5
+  .byte  197,252,16,68,36,64                 // vmovups       0x40(%rsp),%ymm0
+  .byte  197,252,92,197                      // vsubps        %ymm5,%ymm0,%ymm0
+  .byte  196,226,117,168,197                 // vfmadd213ps   %ymm5,%ymm1,%ymm0
+  .byte  197,252,17,132,36,0,1,0,0           // vmovups       %ymm0,0x100(%rsp)
+  .byte  197,252,16,68,36,192                // vmovups       -0x40(%rsp),%ymm0
+  .byte  197,252,16,148,36,96,5,0,0          // vmovups       0x560(%rsp),%ymm2
+  .byte  197,252,92,194                      // vsubps        %ymm2,%ymm0,%ymm0
+  .byte  196,226,117,168,194                 // vfmadd213ps   %ymm2,%ymm1,%ymm0
+  .byte  197,252,17,132,36,224,0,0,0         // vmovups       %ymm0,0xe0(%rsp)
+  .byte  197,252,16,4,36                     // vmovups       (%rsp),%ymm0
+  .byte  197,252,16,148,36,160,5,0,0         // vmovups       0x5a0(%rsp),%ymm2
+  .byte  197,236,92,208                      // vsubps        %ymm0,%ymm2,%ymm2
+  .byte  196,226,117,168,208                 // vfmadd213ps   %ymm0,%ymm1,%ymm2
+  .byte  197,252,17,148,36,192,0,0,0         // vmovups       %ymm2,0xc0(%rsp)
+  .byte  197,252,16,68,36,224                // vmovups       -0x20(%rsp),%ymm0
+  .byte  197,252,16,148,36,128,5,0,0         // vmovups       0x580(%rsp),%ymm2
+  .byte  197,236,92,208                      // vsubps        %ymm0,%ymm2,%ymm2
+  .byte  196,226,117,168,208                 // vfmadd213ps   %ymm0,%ymm1,%ymm2
+  .byte  197,252,17,148,36,160,0,0,0         // vmovups       %ymm2,0xa0(%rsp)
+  .byte  197,252,16,132,36,32,5,0,0          // vmovups       0x520(%rsp),%ymm0
+  .byte  197,252,16,148,36,96,3,0,0          // vmovups       0x360(%rsp),%ymm2
+  .byte  197,124,92,210                      // vsubps        %ymm2,%ymm0,%ymm10
+  .byte  196,98,117,168,210                  // vfmadd213ps   %ymm2,%ymm1,%ymm10
+  .byte  197,252,16,132,36,64,5,0,0          // vmovups       0x540(%rsp),%ymm0
+  .byte  197,252,16,148,36,0,5,0,0           // vmovups       0x500(%rsp),%ymm2
+  .byte  197,108,92,216                      // vsubps        %ymm0,%ymm2,%ymm11
+  .byte  196,98,117,168,216                  // vfmadd213ps   %ymm0,%ymm1,%ymm11
+  .byte  197,252,16,132,36,224,4,0,0         // vmovups       0x4e0(%rsp),%ymm0
+  .byte  197,252,16,148,36,192,4,0,0         // vmovups       0x4c0(%rsp),%ymm2
+  .byte  197,124,92,202                      // vsubps        %ymm2,%ymm0,%ymm9
+  .byte  196,98,117,168,202                  // vfmadd213ps   %ymm2,%ymm1,%ymm9
+  .byte  197,252,16,132,36,160,4,0,0         // vmovups       0x4a0(%rsp),%ymm0
+  .byte  197,252,16,148,36,96,4,0,0          // vmovups       0x460(%rsp),%ymm2
+  .byte  197,236,92,208                      // vsubps        %ymm0,%ymm2,%ymm2
+  .byte  196,226,117,168,208                 // vfmadd213ps   %ymm0,%ymm1,%ymm2
+  .byte  197,252,17,148,36,128,0,0,0         // vmovups       %ymm2,0x80(%rsp)
+  .byte  197,252,16,132,36,128,4,0,0         // vmovups       0x480(%rsp),%ymm0
+  .byte  197,252,16,148,36,64,4,0,0          // vmovups       0x440(%rsp),%ymm2
+  .byte  197,236,92,208                      // vsubps        %ymm0,%ymm2,%ymm2
+  .byte  196,226,117,168,208                 // vfmadd213ps   %ymm0,%ymm1,%ymm2
+  .byte  197,252,17,84,36,96                 // vmovups       %ymm2,0x60(%rsp)
+  .byte  197,252,16,132,36,32,4,0,0          // vmovups       0x420(%rsp),%ymm0
+  .byte  197,252,16,148,36,0,3,0,0           // vmovups       0x300(%rsp),%ymm2
+  .byte  197,252,92,194                      // vsubps        %ymm2,%ymm0,%ymm0
+  .byte  196,226,117,168,194                 // vfmadd213ps   %ymm2,%ymm1,%ymm0
+  .byte  197,252,17,68,36,64                 // vmovups       %ymm0,0x40(%rsp)
+  .byte  197,252,16,68,36,160                // vmovups       -0x60(%rsp),%ymm0
+  .byte  197,252,16,148,36,192,3,0,0         // vmovups       0x3c0(%rsp),%ymm2
+  .byte  197,236,92,248                      // vsubps        %ymm0,%ymm2,%ymm7
+  .byte  196,226,117,168,248                 // vfmadd213ps   %ymm0,%ymm1,%ymm7
+  .byte  197,252,16,132,36,0,4,0,0           // vmovups       0x400(%rsp),%ymm0
+  .byte  197,252,16,148,36,160,3,0,0         // vmovups       0x3a0(%rsp),%ymm2
+  .byte  197,108,92,192                      // vsubps        %ymm0,%ymm2,%ymm8
+  .byte  196,98,117,168,192                  // vfmadd213ps   %ymm0,%ymm1,%ymm8
+  .byte  197,252,16,132,36,224,3,0,0         // vmovups       0x3e0(%rsp),%ymm0
+  .byte  197,252,16,148,36,128,3,0,0         // vmovups       0x380(%rsp),%ymm2
+  .byte  197,236,92,240                      // vsubps        %ymm0,%ymm2,%ymm6
+  .byte  196,226,117,168,240                 // vfmadd213ps   %ymm0,%ymm1,%ymm6
+  .byte  197,252,16,132,36,32,3,0,0          // vmovups       0x320(%rsp),%ymm0
+  .byte  197,252,16,148,36,224,2,0,0         // vmovups       0x2e0(%rsp),%ymm2
+  .byte  197,236,92,208                      // vsubps        %ymm0,%ymm2,%ymm2
+  .byte  196,226,117,168,208                 // vfmadd213ps   %ymm0,%ymm1,%ymm2
+  .byte  197,252,17,84,36,32                 // vmovups       %ymm2,0x20(%rsp)
+  .byte  197,252,16,132,36,64,3,0,0          // vmovups       0x340(%rsp),%ymm0
+  .byte  197,252,16,148,36,192,2,0,0         // vmovups       0x2c0(%rsp),%ymm2
+  .byte  197,236,92,208                      // vsubps        %ymm0,%ymm2,%ymm2
+  .byte  196,226,117,168,208                 // vfmadd213ps   %ymm0,%ymm1,%ymm2
+  .byte  197,252,17,20,36                    // vmovups       %ymm2,(%rsp)
+  .byte  197,252,16,132,36,160,2,0,0         // vmovups       0x2a0(%rsp),%ymm0
+  .byte  197,252,16,148,36,128,2,0,0         // vmovups       0x280(%rsp),%ymm2
+  .byte  197,252,92,194                      // vsubps        %ymm2,%ymm0,%ymm0
+  .byte  196,226,117,168,194                 // vfmadd213ps   %ymm2,%ymm1,%ymm0
+  .byte  197,252,17,68,36,224                // vmovups       %ymm0,-0x20(%rsp)
+  .byte  197,252,16,68,36,128                // vmovups       -0x80(%rsp),%ymm0
+  .byte  197,252,16,148,36,64,2,0,0          // vmovups       0x240(%rsp),%ymm2
+  .byte  197,236,92,208                      // vsubps        %ymm0,%ymm2,%ymm2
+  .byte  196,226,117,168,208                 // vfmadd213ps   %ymm0,%ymm1,%ymm2
+  .byte  197,252,16,132,36,96,2,0,0          // vmovups       0x260(%rsp),%ymm0
+  .byte  197,252,16,156,36,32,2,0,0          // vmovups       0x220(%rsp),%ymm3
+  .byte  197,228,92,216                      // vsubps        %ymm0,%ymm3,%ymm3
+  .byte  196,226,117,168,216                 // vfmadd213ps   %ymm0,%ymm1,%ymm3
+  .byte  197,252,16,132,36,0,2,0,0           // vmovups       0x200(%rsp),%ymm0
+  .byte  197,252,16,172,36,224,1,0,0         // vmovups       0x1e0(%rsp),%ymm5
+  .byte  197,252,92,229                      // vsubps        %ymm5,%ymm0,%ymm4
+  .byte  196,226,117,168,229                 // vfmadd213ps   %ymm5,%ymm1,%ymm4
+  .byte  197,252,16,132,36,192,1,0,0         // vmovups       0x1c0(%rsp),%ymm0
+  .byte  197,252,16,172,36,128,1,0,0         // vmovups       0x180(%rsp),%ymm5
+  .byte  197,84,92,232                       // vsubps        %ymm0,%ymm5,%ymm13
+  .byte  196,98,117,168,232                  // vfmadd213ps   %ymm0,%ymm1,%ymm13
+  .byte  197,252,16,132,36,96,1,0,0          // vmovups       0x160(%rsp),%ymm0
+  .byte  196,193,124,92,196                  // vsubps        %ymm12,%ymm0,%ymm0
+  .byte  196,194,117,168,196                 // vfmadd213ps   %ymm12,%ymm1,%ymm0
+  .byte  197,252,17,68,36,192                // vmovups       %ymm0,-0x40(%rsp)
+  .byte  197,252,16,132,36,160,1,0,0         // vmovups       0x1a0(%rsp),%ymm0
+  .byte  197,252,16,172,36,64,1,0,0          // vmovups       0x140(%rsp),%ymm5
+  .byte  197,84,92,224                       // vsubps        %ymm0,%ymm5,%ymm12
+  .byte  196,98,117,168,224                  // vfmadd213ps   %ymm0,%ymm1,%ymm12
+  .byte  197,252,91,140,36,32,6,0,0          // vcvtdq2ps     0x620(%rsp),%ymm1
+  .byte  197,252,16,132,36,0,6,0,0           // vmovups       0x600(%rsp),%ymm0
+  .byte  197,252,92,201                      // vsubps        %ymm1,%ymm0,%ymm1
+  .byte  197,252,16,132,36,224,0,0,0         // vmovups       0xe0(%rsp),%ymm0
+  .byte  196,193,124,92,199                  // vsubps        %ymm15,%ymm0,%ymm0
+  .byte  196,194,117,168,199                 // vfmadd213ps   %ymm15,%ymm1,%ymm0
+  .byte  197,252,16,172,36,192,0,0,0         // vmovups       0xc0(%rsp),%ymm5
+  .byte  196,65,84,92,254                    // vsubps        %ymm14,%ymm5,%ymm15
+  .byte  196,66,117,168,254                  // vfmadd213ps   %ymm14,%ymm1,%ymm15
+  .byte  197,252,16,172,36,0,1,0,0           // vmovups       0x100(%rsp),%ymm5
+  .byte  197,124,16,180,36,160,0,0,0         // vmovups       0xa0(%rsp),%ymm14
+  .byte  197,12,92,245                       // vsubps        %ymm5,%ymm14,%ymm14
+  .byte  196,98,117,168,245                  // vfmadd213ps   %ymm5,%ymm1,%ymm14
+  .byte  197,252,16,172,36,128,0,0,0         // vmovups       0x80(%rsp),%ymm5
+  .byte  196,193,84,92,234                   // vsubps        %ymm10,%ymm5,%ymm5
+  .byte  196,194,117,168,234                 // vfmadd213ps   %ymm10,%ymm1,%ymm5
+  .byte  197,124,16,84,36,96                 // vmovups       0x60(%rsp),%ymm10
+  .byte  196,65,44,92,211                    // vsubps        %ymm11,%ymm10,%ymm10
+  .byte  196,66,117,168,211                  // vfmadd213ps   %ymm11,%ymm1,%ymm10
+  .byte  197,124,16,92,36,64                 // vmovups       0x40(%rsp),%ymm11
+  .byte  196,65,36,92,217                    // vsubps        %ymm9,%ymm11,%ymm11
+  .byte  196,66,117,168,217                  // vfmadd213ps   %ymm9,%ymm1,%ymm11
+  .byte  197,124,16,76,36,32                 // vmovups       0x20(%rsp),%ymm9
+  .byte  197,52,92,207                       // vsubps        %ymm7,%ymm9,%ymm9
+  .byte  196,98,117,168,207                  // vfmadd213ps   %ymm7,%ymm1,%ymm9
+  .byte  197,252,16,60,36                    // vmovups       (%rsp),%ymm7
+  .byte  196,193,68,92,248                   // vsubps        %ymm8,%ymm7,%ymm7
+  .byte  196,194,117,168,248                 // vfmadd213ps   %ymm8,%ymm1,%ymm7
+  .byte  197,124,16,68,36,224                // vmovups       -0x20(%rsp),%ymm8
+  .byte  197,60,92,198                       // vsubps        %ymm6,%ymm8,%ymm8
+  .byte  196,98,117,168,198                  // vfmadd213ps   %ymm6,%ymm1,%ymm8
+  .byte  197,148,92,242                      // vsubps        %ymm2,%ymm13,%ymm6
+  .byte  196,226,117,168,242                 // vfmadd213ps   %ymm2,%ymm1,%ymm6
+  .byte  197,252,16,84,36,192                // vmovups       -0x40(%rsp),%ymm2
+  .byte  197,236,92,211                      // vsubps        %ymm3,%ymm2,%ymm2
+  .byte  196,226,117,168,211                 // vfmadd213ps   %ymm3,%ymm1,%ymm2
+  .byte  197,156,92,220                      // vsubps        %ymm4,%ymm12,%ymm3
+  .byte  196,226,117,168,220                 // vfmadd213ps   %ymm4,%ymm1,%ymm3
+  .byte  197,252,91,140,36,64,6,0,0          // vcvtdq2ps     0x640(%rsp),%ymm1
+  .byte  197,252,16,164,36,224,5,0,0         // vmovups       0x5e0(%rsp),%ymm4
+  .byte  197,220,92,201                      // vsubps        %ymm1,%ymm4,%ymm1
+  .byte  197,212,92,224                      // vsubps        %ymm0,%ymm5,%ymm4
+  .byte  196,226,117,168,224                 // vfmadd213ps   %ymm0,%ymm1,%ymm4
+  .byte  196,193,44,92,239                   // vsubps        %ymm15,%ymm10,%ymm5
+  .byte  196,194,117,168,239                 // vfmadd213ps   %ymm15,%ymm1,%ymm5
+  .byte  196,65,36,92,214                    // vsubps        %ymm14,%ymm11,%ymm10
+  .byte  196,66,117,168,214                  // vfmadd213ps   %ymm14,%ymm1,%ymm10
+  .byte  196,193,76,92,193                   // vsubps        %ymm9,%ymm6,%ymm0
+  .byte  196,194,117,168,193                 // vfmadd213ps   %ymm9,%ymm1,%ymm0
+  .byte  197,236,92,215                      // vsubps        %ymm7,%ymm2,%ymm2
+  .byte  196,226,117,168,215                 // vfmadd213ps   %ymm7,%ymm1,%ymm2
+  .byte  196,193,100,92,216                  // vsubps        %ymm8,%ymm3,%ymm3
+  .byte  196,194,117,168,216                 // vfmadd213ps   %ymm8,%ymm1,%ymm3
+  .byte  197,252,91,140,36,192,5,0,0         // vcvtdq2ps     0x5c0(%rsp),%ymm1
+  .byte  197,252,16,180,36,32,1,0,0          // vmovups       0x120(%rsp),%ymm6
+  .byte  197,204,92,241                      // vsubps        %ymm1,%ymm6,%ymm6
+  .byte  197,252,92,196                      // vsubps        %ymm4,%ymm0,%ymm0
+  .byte  196,226,77,168,196                  // vfmadd213ps   %ymm4,%ymm6,%ymm0
+  .byte  197,236,92,205                      // vsubps        %ymm5,%ymm2,%ymm1
+  .byte  196,226,77,168,205                  // vfmadd213ps   %ymm5,%ymm6,%ymm1
+  .byte  196,193,100,92,210                  // vsubps        %ymm10,%ymm3,%ymm2
+  .byte  196,194,77,168,210                  // vfmadd213ps   %ymm10,%ymm6,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,29,161,193,2,0       // vbroadcastss  0x2c1a1(%rip),%ymm3        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,252,16,164,36,96,6,0,0          // vmovups       0x660(%rsp),%ymm4
+  .byte  197,252,16,172,36,128,6,0,0         // vmovups       0x680(%rsp),%ymm5
+  .byte  197,252,16,180,36,160,6,0,0         // vmovups       0x6a0(%rsp),%ymm6
+  .byte  197,252,16,188,36,192,6,0,0         // vmovups       0x6c0(%rsp),%ymm7
+  .byte  72,129,196,248,6,0,0                // add           $0x6f8,%rsp
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_gauss_a_to_rgba_hsw
+.globl _sk_gauss_a_to_rgba_hsw
+FUNCTION(_sk_gauss_a_to_rgba_hsw)
+_sk_gauss_a_to_rgba_hsw:
+  .byte  196,226,125,24,5,227,194,2,0        // vbroadcastss  0x2c2e3(%rip),%ymm0        # 3c674 <_sk_srcover_bgra_8888_sse2_lowp+0x428>
+  .byte  196,226,125,24,13,214,194,2,0       // vbroadcastss  0x2c2d6(%rip),%ymm1        # 3c670 <_sk_srcover_bgra_8888_sse2_lowp+0x424>
+  .byte  196,226,101,168,200                 // vfmadd213ps   %ymm0,%ymm3,%ymm1
+  .byte  196,226,125,24,5,208,194,2,0        // vbroadcastss  0x2c2d0(%rip),%ymm0        # 3c678 <_sk_srcover_bgra_8888_sse2_lowp+0x42c>
+  .byte  196,226,101,184,193                 // vfmadd231ps   %ymm1,%ymm3,%ymm0
+  .byte  196,226,125,24,13,198,194,2,0       // vbroadcastss  0x2c2c6(%rip),%ymm1        # 3c67c <_sk_srcover_bgra_8888_sse2_lowp+0x430>
+  .byte  196,226,101,184,200                 // vfmadd231ps   %ymm0,%ymm3,%ymm1
+  .byte  196,226,125,24,5,188,194,2,0        // vbroadcastss  0x2c2bc(%rip),%ymm0        # 3c680 <_sk_srcover_bgra_8888_sse2_lowp+0x434>
+  .byte  196,226,101,184,193                 // vfmadd231ps   %ymm1,%ymm3,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,40,200                      // vmovaps       %ymm0,%ymm1
+  .byte  197,252,40,208                      // vmovaps       %ymm0,%ymm2
+  .byte  197,252,40,216                      // vmovaps       %ymm0,%ymm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bilerp_clamp_8888_hsw
+.globl _sk_bilerp_clamp_8888_hsw
+FUNCTION(_sk_bilerp_clamp_8888_hsw)
+_sk_bilerp_clamp_8888_hsw:
+  .byte  72,129,236,248,0,0,0                // sub           $0xf8,%rsp
+  .byte  197,252,17,60,36                    // vmovups       %ymm7,(%rsp)
+  .byte  197,252,17,116,36,224               // vmovups       %ymm6,-0x20(%rsp)
+  .byte  197,252,17,108,36,192               // vmovups       %ymm5,-0x40(%rsp)
+  .byte  197,252,17,100,36,160               // vmovups       %ymm4,-0x60(%rsp)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,37,246,192,2,0       // vbroadcastss  0x2c0f6(%rip),%ymm4        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  197,252,88,212                      // vaddps        %ymm4,%ymm0,%ymm2
+  .byte  196,227,125,8,218,1                 // vroundps      $0x1,%ymm2,%ymm3
+  .byte  197,108,92,235                      // vsubps        %ymm3,%ymm2,%ymm13
+  .byte  197,252,17,140,36,160,0,0,0         // vmovups       %ymm1,0xa0(%rsp)
+  .byte  197,244,88,204                      // vaddps        %ymm4,%ymm1,%ymm1
+  .byte  196,227,125,8,209,1                 // vroundps      $0x1,%ymm1,%ymm2
+  .byte  197,244,92,210                      // vsubps        %ymm2,%ymm1,%ymm2
+  .byte  196,226,125,24,13,204,192,2,0       // vbroadcastss  0x2c0cc(%rip),%ymm1        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,193,116,92,221                  // vsubps        %ymm13,%ymm1,%ymm3
+  .byte  197,252,17,156,36,192,0,0,0         // vmovups       %ymm3,0xc0(%rsp)
+  .byte  197,252,17,148,36,128,0,0,0         // vmovups       %ymm2,0x80(%rsp)
+  .byte  197,244,92,202                      // vsubps        %ymm2,%ymm1,%ymm1
+  .byte  197,252,17,76,36,32                 // vmovups       %ymm1,0x20(%rsp)
+  .byte  196,226,125,88,72,12                // vpbroadcastd  0xc(%rax),%ymm1
+  .byte  197,237,118,210                     // vpcmpeqd      %ymm2,%ymm2,%ymm2
+  .byte  197,117,254,242                     // vpaddd        %ymm2,%ymm1,%ymm14
+  .byte  196,226,125,88,72,16                // vpbroadcastd  0x10(%rax),%ymm1
+  .byte  197,245,254,202                     // vpaddd        %ymm2,%ymm1,%ymm1
+  .byte  197,254,127,76,36,96                // vmovdqu       %ymm1,0x60(%rsp)
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  196,226,125,24,72,8                 // vbroadcastss  0x8(%rax),%ymm1
+  .byte  197,252,17,76,36,64                 // vmovups       %ymm1,0x40(%rsp)
+  .byte  197,250,16,13,202,193,2,0           // vmovss        0x2c1ca(%rip),%xmm1        # 3c650 <_sk_srcover_bgra_8888_sse2_lowp+0x404>
+  .byte  196,226,125,24,61,229,192,2,0       // vbroadcastss  0x2c0e5(%rip),%ymm7        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  197,237,239,210                     // vpxor         %ymm2,%ymm2,%ymm2
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
+  .byte  197,248,40,233                      // vmovaps       %xmm1,%xmm5
+  .byte  196,226,125,24,205                  // vbroadcastss  %xmm5,%ymm1
+  .byte  197,244,88,140,36,160,0,0,0         // vaddps        0xa0(%rsp),%ymm1,%ymm1
+  .byte  197,220,87,228                      // vxorps        %ymm4,%ymm4,%ymm4
+  .byte  197,220,95,201                      // vmaxps        %ymm1,%ymm4,%ymm1
+  .byte  197,248,41,108,36,144               // vmovaps       %xmm5,-0x70(%rsp)
+  .byte  197,248,46,45,195,193,2,0           // vucomiss      0x2c1c3(%rip),%xmm5        # 3c68c <_sk_srcover_bgra_8888_sse2_lowp+0x440>
+  .byte  197,124,16,164,36,128,0,0,0         // vmovups       0x80(%rsp),%ymm12
+  .byte  119,6                               // ja            104da <_sk_bilerp_clamp_8888_hsw+0x101>
+  .byte  197,124,16,100,36,32                // vmovups       0x20(%rsp),%ymm12
+  .byte  197,244,93,76,36,96                 // vminps        0x60(%rsp),%ymm1,%ymm1
+  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
+  .byte  196,226,117,64,100,36,64            // vpmulld       0x40(%rsp),%ymm1,%ymm4
+  .byte  197,250,16,53,93,193,2,0            // vmovss        0x2c15d(%rip),%xmm6        # 3c650 <_sk_srcover_bgra_8888_sse2_lowp+0x404>
+  .byte  196,226,125,24,206                  // vbroadcastss  %xmm6,%ymm1
+  .byte  197,244,88,200                      // vaddps        %ymm0,%ymm1,%ymm1
+  .byte  197,212,87,237                      // vxorps        %ymm5,%ymm5,%ymm5
+  .byte  197,212,95,201                      // vmaxps        %ymm1,%ymm5,%ymm1
+  .byte  196,193,116,93,206                  // vminps        %ymm14,%ymm1,%ymm1
+  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
+  .byte  197,221,254,201                     // vpaddd        %ymm1,%ymm4,%ymm1
+  .byte  197,213,118,237                     // vpcmpeqd      %ymm5,%ymm5,%ymm5
+  .byte  196,65,45,239,210                   // vpxor         %ymm10,%ymm10,%ymm10
+  .byte  196,66,85,144,20,136                // vpgatherdd    %ymm5,(%r8,%ymm1,4),%ymm10
+  .byte  197,173,219,13,56,197,2,0           // vpand         0x2c538(%rip),%ymm10,%ymm1        # 3ca60 <_sk_srcover_bgra_8888_sse2_lowp+0x814>
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  197,116,89,223                      // vmulps        %ymm7,%ymm1,%ymm11
+  .byte  196,226,45,0,13,71,197,2,0          // vpshufb       0x2c547(%rip),%ymm10,%ymm1        # 3ca80 <_sk_srcover_bgra_8888_sse2_lowp+0x834>
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  197,244,89,239                      // vmulps        %ymm7,%ymm1,%ymm5
+  .byte  196,226,45,0,13,86,197,2,0          // vpshufb       0x2c556(%rip),%ymm10,%ymm1        # 3caa0 <_sk_srcover_bgra_8888_sse2_lowp+0x854>
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  197,244,89,207                      // vmulps        %ymm7,%ymm1,%ymm1
+  .byte  196,193,45,114,210,24               // vpsrld        $0x18,%ymm10,%ymm10
+  .byte  196,65,124,91,210                   // vcvtdq2ps     %ymm10,%ymm10
+  .byte  197,44,89,255                       // vmulps        %ymm7,%ymm10,%ymm15
+  .byte  197,248,46,53,35,193,2,0            // vucomiss      0x2c123(%rip),%xmm6        # 3c68c <_sk_srcover_bgra_8888_sse2_lowp+0x440>
+  .byte  196,65,124,40,213                   // vmovaps       %ymm13,%ymm10
+  .byte  119,9                               // ja            10579 <_sk_bilerp_clamp_8888_hsw+0x1a0>
+  .byte  197,124,16,148,36,192,0,0,0         // vmovups       0xc0(%rsp),%ymm10
+  .byte  196,65,28,89,210                    // vmulps        %ymm10,%ymm12,%ymm10
+  .byte  196,66,45,184,203                   // vfmadd231ps   %ymm11,%ymm10,%ymm9
+  .byte  196,98,45,184,197                   // vfmadd231ps   %ymm5,%ymm10,%ymm8
+  .byte  196,226,45,184,209                  // vfmadd231ps   %ymm1,%ymm10,%ymm2
+  .byte  196,194,45,184,223                  // vfmadd231ps   %ymm15,%ymm10,%ymm3
+  .byte  197,202,88,53,98,191,2,0            // vaddss        0x2bf62(%rip),%xmm6,%xmm6        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,250,16,13,86,191,2,0            // vmovss        0x2bf56(%rip),%xmm1        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  197,248,46,206                      // vucomiss      %xmm6,%xmm1
+  .byte  15,131,71,255,255,255               // jae           104f3 <_sk_bilerp_clamp_8888_hsw+0x11a>
+  .byte  197,248,40,108,36,144               // vmovaps       -0x70(%rsp),%xmm5
+  .byte  197,210,88,45,66,191,2,0            // vaddss        0x2bf42(%rip),%xmm5,%xmm5        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,250,16,13,54,191,2,0            // vmovss        0x2bf36(%rip),%xmm1        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  197,248,46,205                      // vucomiss      %xmm5,%xmm1
+  .byte  15,131,217,254,255,255              // jae           104a5 <_sk_bilerp_clamp_8888_hsw+0xcc>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,41,200                      // vmovaps       %ymm9,%ymm0
+  .byte  197,124,41,193                      // vmovaps       %ymm8,%ymm1
+  .byte  197,252,16,100,36,160               // vmovups       -0x60(%rsp),%ymm4
+  .byte  197,252,16,108,36,192               // vmovups       -0x40(%rsp),%ymm5
+  .byte  197,252,16,116,36,224               // vmovups       -0x20(%rsp),%ymm6
+  .byte  197,252,16,60,36                    // vmovups       (%rsp),%ymm7
+  .byte  72,129,196,248,0,0,0                // add           $0xf8,%rsp
+  .byte  255,224                             // jmpq          *%rax
+  .byte  144                                 // nop
+  .byte  144                                 // nop
+
+HIDDEN _sk_start_pipeline_avx
+.globl _sk_start_pipeline_avx
+FUNCTION(_sk_start_pipeline_avx)
+_sk_start_pipeline_avx:
+  .byte  85                                  // push          %rbp
+  .byte  72,137,229                          // mov           %rsp,%rbp
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,85                               // push          %r13
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,131,236,24                       // sub           $0x18,%rsp
+  .byte  73,137,215                          // mov           %rdx,%r15
+  .byte  72,137,243                          // mov           %rsi,%rbx
+  .byte  72,137,125,208                      // mov           %rdi,-0x30(%rbp)
+  .byte  76,137,198                          // mov           %r8,%rsi
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  73,137,197                          // mov           %rax,%r13
+  .byte  73,137,246                          // mov           %rsi,%r14
+  .byte  72,137,77,192                       // mov           %rcx,-0x40(%rbp)
+  .byte  72,57,203                           // cmp           %rcx,%rbx
+  .byte  15,131,151,0,0,0                    // jae           106c2 <_sk_start_pipeline_avx+0xca>
+  .byte  72,139,69,208                       // mov           -0x30(%rbp),%rax
+  .byte  72,141,64,8                         // lea           0x8(%rax),%rax
+  .byte  72,137,69,200                       // mov           %rax,-0x38(%rbp)
+  .byte  72,139,85,208                       // mov           -0x30(%rbp),%rdx
+  .byte  76,57,125,200                       // cmp           %r15,-0x38(%rbp)
+  .byte  119,67                              // ja            10684 <_sk_start_pipeline_avx+0x8c>
+  .byte  76,139,101,208                      // mov           -0x30(%rbp),%r12
+  .byte  49,255                              // xor           %edi,%edi
+  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  197,220,87,228                      // vxorps        %ymm4,%ymm4,%ymm4
+  .byte  197,212,87,237                      // vxorps        %ymm5,%ymm5,%ymm5
+  .byte  197,204,87,246                      // vxorps        %ymm6,%ymm6,%ymm6
+  .byte  197,196,87,255                      // vxorps        %ymm7,%ymm7,%ymm7
+  .byte  76,137,246                          // mov           %r14,%rsi
+  .byte  76,137,226                          // mov           %r12,%rdx
+  .byte  72,137,217                          // mov           %rbx,%rcx
+  .byte  65,255,213                          // callq         *%r13
+  .byte  73,141,84,36,8                      // lea           0x8(%r12),%rdx
+  .byte  73,131,196,16                       // add           $0x10,%r12
+  .byte  77,57,252                           // cmp           %r15,%r12
+  .byte  73,137,212                          // mov           %rdx,%r12
+  .byte  118,193                             // jbe           10645 <_sk_start_pipeline_avx+0x4d>
+  .byte  76,137,255                          // mov           %r15,%rdi
+  .byte  72,41,215                           // sub           %rdx,%rdi
+  .byte  116,41                              // je            106b5 <_sk_start_pipeline_avx+0xbd>
+  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  197,220,87,228                      // vxorps        %ymm4,%ymm4,%ymm4
+  .byte  197,212,87,237                      // vxorps        %ymm5,%ymm5,%ymm5
+  .byte  197,204,87,246                      // vxorps        %ymm6,%ymm6,%ymm6
+  .byte  197,196,87,255                      // vxorps        %ymm7,%ymm7,%ymm7
+  .byte  76,137,246                          // mov           %r14,%rsi
+  .byte  72,137,217                          // mov           %rbx,%rcx
+  .byte  65,255,213                          // callq         *%r13
+  .byte  72,255,195                          // inc           %rbx
+  .byte  72,59,93,192                        // cmp           -0x40(%rbp),%rbx
+  .byte  15,133,117,255,255,255              // jne           10637 <_sk_start_pipeline_avx+0x3f>
+  .byte  72,131,196,24                       // add           $0x18,%rsp
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,93                               // pop           %r13
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  93                                  // pop           %rbp
+  .byte  197,248,119                         // vzeroupper
+  .byte  195                                 // retq
+
+HIDDEN _sk_just_return_avx
+.globl _sk_just_return_avx
+FUNCTION(_sk_just_return_avx)
+_sk_just_return_avx:
+  .byte  195                                 // retq
+
+HIDDEN _sk_seed_shader_avx
+.globl _sk_seed_shader_avx
+FUNCTION(_sk_seed_shader_avx)
+_sk_seed_shader_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,249,110,194                     // vmovd         %edx,%xmm0
+  .byte  197,249,112,192,0                   // vpshufd       $0x0,%xmm0,%xmm0
+  .byte  196,227,125,24,192,1                // vinsertf128   $0x1,%xmm0,%ymm0,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  197,252,88,0                        // vaddps        (%rax),%ymm0,%ymm0
+  .byte  197,249,110,201                     // vmovd         %ecx,%xmm1
+  .byte  197,249,112,201,0                   // vpshufd       $0x0,%xmm1,%xmm1
+  .byte  196,227,117,24,201,1                // vinsertf128   $0x1,%xmm1,%ymm1,%ymm1
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  196,226,125,24,21,238,189,2,0       // vbroadcastss  0x2bdee(%rip),%ymm2        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  197,244,88,202                      // vaddps        %ymm2,%ymm1,%ymm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,21,227,189,2,0       // vbroadcastss  0x2bde3(%rip),%ymm2        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  197,220,87,228                      // vxorps        %ymm4,%ymm4,%ymm4
+  .byte  197,212,87,237                      // vxorps        %ymm5,%ymm5,%ymm5
+  .byte  197,204,87,246                      // vxorps        %ymm6,%ymm6,%ymm6
+  .byte  197,196,87,255                      // vxorps        %ymm7,%ymm7,%ymm7
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_dither_avx
+.globl _sk_dither_avx
+FUNCTION(_sk_dither_avx)
+_sk_dither_avx:
+  .byte  197,121,110,194                     // vmovd         %edx,%xmm8
+  .byte  196,65,121,112,192,0                // vpshufd       $0x0,%xmm8,%xmm8
+  .byte  197,57,254,13,159,199,2,0           // vpaddd        0x2c79f(%rip),%xmm8,%xmm9        # 3cee0 <_sk_srcover_bgra_8888_sse2_lowp+0xc94>
+  .byte  197,57,254,5,167,199,2,0            // vpaddd        0x2c7a7(%rip),%xmm8,%xmm8        # 3cef0 <_sk_srcover_bgra_8888_sse2_lowp+0xca4>
+  .byte  196,67,53,24,208,1                  // vinsertf128   $0x1,%xmm8,%ymm9,%ymm10
+  .byte  197,121,110,217                     // vmovd         %ecx,%xmm11
+  .byte  196,65,121,112,219,0                // vpshufd       $0x0,%xmm11,%xmm11
+  .byte  196,67,37,24,219,1                  // vinsertf128   $0x1,%xmm11,%ymm11,%ymm11
+  .byte  196,65,36,87,218                    // vxorps        %ymm10,%ymm11,%ymm11
+  .byte  196,98,125,24,21,147,189,2,0        // vbroadcastss  0x2bd93(%rip),%ymm10        # 3c500 <_sk_srcover_bgra_8888_sse2_lowp+0x2b4>
+  .byte  196,65,36,84,210                    // vandps        %ymm10,%ymm11,%ymm10
+  .byte  196,193,25,114,242,5                // vpslld        $0x5,%xmm10,%xmm12
+  .byte  196,67,125,25,210,1                 // vextractf128  $0x1,%ymm10,%xmm10
+  .byte  196,193,41,114,242,5                // vpslld        $0x5,%xmm10,%xmm10
+  .byte  196,67,29,24,210,1                  // vinsertf128   $0x1,%xmm10,%ymm12,%ymm10
+  .byte  197,123,18,37,190,207,2,0           // vmovddup      0x2cfbe(%rip),%xmm12        # 3d750 <_sk_srcover_bgra_8888_sse2_lowp+0x1504>
+  .byte  196,65,49,219,236                   // vpand         %xmm12,%xmm9,%xmm13
+  .byte  196,193,17,114,245,4                // vpslld        $0x4,%xmm13,%xmm13
+  .byte  196,65,57,219,228                   // vpand         %xmm12,%xmm8,%xmm12
+  .byte  196,193,25,114,244,4                // vpslld        $0x4,%xmm12,%xmm12
+  .byte  196,67,21,24,228,1                  // vinsertf128   $0x1,%xmm12,%ymm13,%ymm12
+  .byte  196,98,125,24,45,81,189,2,0         // vbroadcastss  0x2bd51(%rip),%ymm13        # 3c508 <_sk_srcover_bgra_8888_sse2_lowp+0x2bc>
+  .byte  196,65,36,84,237                    // vandps        %ymm13,%ymm11,%ymm13
+  .byte  196,193,9,114,245,2                 // vpslld        $0x2,%xmm13,%xmm14
+  .byte  196,67,125,25,237,1                 // vextractf128  $0x1,%ymm13,%xmm13
+  .byte  196,193,17,114,245,2                // vpslld        $0x2,%xmm13,%xmm13
+  .byte  196,67,13,24,237,1                  // vinsertf128   $0x1,%xmm13,%ymm14,%ymm13
+  .byte  197,123,18,53,124,207,2,0           // vmovddup      0x2cf7c(%rip),%xmm14        # 3d758 <_sk_srcover_bgra_8888_sse2_lowp+0x150c>
+  .byte  196,65,49,219,254                   // vpand         %xmm14,%xmm9,%xmm15
+  .byte  196,65,1,254,255                    // vpaddd        %xmm15,%xmm15,%xmm15
+  .byte  196,65,57,219,246                   // vpand         %xmm14,%xmm8,%xmm14
+  .byte  196,65,9,254,246                    // vpaddd        %xmm14,%xmm14,%xmm14
+  .byte  196,67,5,24,246,1                   // vinsertf128   $0x1,%xmm14,%ymm15,%ymm14
+  .byte  196,65,12,86,228                    // vorps         %ymm12,%ymm14,%ymm12
+  .byte  196,98,125,24,53,0,189,2,0          // vbroadcastss  0x2bd00(%rip),%ymm14        # 3c504 <_sk_srcover_bgra_8888_sse2_lowp+0x2b8>
+  .byte  196,65,36,84,222                    // vandps        %ymm14,%ymm11,%ymm11
+  .byte  196,193,9,114,211,1                 // vpsrld        $0x1,%xmm11,%xmm14
+  .byte  196,67,125,25,219,1                 // vextractf128  $0x1,%ymm11,%xmm11
+  .byte  196,193,33,114,211,1                // vpsrld        $0x1,%xmm11,%xmm11
+  .byte  196,67,13,24,219,1                  // vinsertf128   $0x1,%xmm11,%ymm14,%ymm11
+  .byte  196,65,20,86,219                    // vorps         %ymm11,%ymm13,%ymm11
+  .byte  197,123,18,45,50,207,2,0            // vmovddup      0x2cf32(%rip),%xmm13        # 3d760 <_sk_srcover_bgra_8888_sse2_lowp+0x1514>
+  .byte  196,65,49,219,205                   // vpand         %xmm13,%xmm9,%xmm9
+  .byte  196,65,57,219,197                   // vpand         %xmm13,%xmm8,%xmm8
+  .byte  196,193,49,114,209,2                // vpsrld        $0x2,%xmm9,%xmm9
+  .byte  196,193,57,114,208,2                // vpsrld        $0x2,%xmm8,%xmm8
+  .byte  196,67,53,24,192,1                  // vinsertf128   $0x1,%xmm8,%ymm9,%ymm8
+  .byte  196,65,28,86,192                    // vorps         %ymm8,%ymm12,%ymm8
+  .byte  196,65,60,86,194                    // vorps         %ymm10,%ymm8,%ymm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,65,60,86,195                    // vorps         %ymm11,%ymm8,%ymm8
+  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
+  .byte  196,98,125,24,13,163,188,2,0        // vbroadcastss  0x2bca3(%rip),%ymm9        # 3c50c <_sk_srcover_bgra_8888_sse2_lowp+0x2c0>
+  .byte  196,65,60,89,193                    // vmulps        %ymm9,%ymm8,%ymm8
+  .byte  196,98,125,24,13,153,188,2,0        // vbroadcastss  0x2bc99(%rip),%ymm9        # 3c510 <_sk_srcover_bgra_8888_sse2_lowp+0x2c4>
+  .byte  196,65,60,88,193                    // vaddps        %ymm9,%ymm8,%ymm8
+  .byte  196,98,125,24,8                     // vbroadcastss  (%rax),%ymm9
+  .byte  196,65,60,89,193                    // vmulps        %ymm9,%ymm8,%ymm8
+  .byte  197,188,88,192                      // vaddps        %ymm0,%ymm8,%ymm0
+  .byte  197,188,88,201                      // vaddps        %ymm1,%ymm8,%ymm1
+  .byte  197,188,88,210                      // vaddps        %ymm2,%ymm8,%ymm2
+  .byte  197,252,93,195                      // vminps        %ymm3,%ymm0,%ymm0
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,188,95,192                      // vmaxps        %ymm0,%ymm8,%ymm0
+  .byte  197,244,93,203                      // vminps        %ymm3,%ymm1,%ymm1
+  .byte  197,188,95,201                      // vmaxps        %ymm1,%ymm8,%ymm1
+  .byte  197,236,93,211                      // vminps        %ymm3,%ymm2,%ymm2
+  .byte  197,188,95,210                      // vmaxps        %ymm2,%ymm8,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_uniform_color_avx
+.globl _sk_uniform_color_avx
+FUNCTION(_sk_uniform_color_avx)
+_sk_uniform_color_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,0                    // vbroadcastss  (%rax),%ymm0
+  .byte  196,226,125,24,72,4                 // vbroadcastss  0x4(%rax),%ymm1
+  .byte  196,226,125,24,80,8                 // vbroadcastss  0x8(%rax),%ymm2
+  .byte  196,226,125,24,88,12                // vbroadcastss  0xc(%rax),%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_black_color_avx
+.globl _sk_black_color_avx
+FUNCTION(_sk_black_color_avx)
+_sk_black_color_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,29,33,188,2,0        // vbroadcastss  0x2bc21(%rip),%ymm3        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_white_color_avx
+.globl _sk_white_color_avx
+FUNCTION(_sk_white_color_avx)
+_sk_white_color_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,5,8,188,2,0          // vbroadcastss  0x2bc08(%rip),%ymm0        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,252,40,200                      // vmovaps       %ymm0,%ymm1
+  .byte  197,252,40,208                      // vmovaps       %ymm0,%ymm2
+  .byte  197,252,40,216                      // vmovaps       %ymm0,%ymm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_load_rgba_avx
+.globl _sk_load_rgba_avx
+FUNCTION(_sk_load_rgba_avx)
+_sk_load_rgba_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,16,0                        // vmovups       (%rax),%ymm0
+  .byte  197,252,16,72,32                    // vmovups       0x20(%rax),%ymm1
+  .byte  197,252,16,80,64                    // vmovups       0x40(%rax),%ymm2
+  .byte  197,252,16,88,96                    // vmovups       0x60(%rax),%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_store_rgba_avx
+.globl _sk_store_rgba_avx
+FUNCTION(_sk_store_rgba_avx)
+_sk_store_rgba_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,17,0                        // vmovups       %ymm0,(%rax)
+  .byte  197,252,17,72,32                    // vmovups       %ymm1,0x20(%rax)
+  .byte  197,252,17,80,64                    // vmovups       %ymm2,0x40(%rax)
+  .byte  197,252,17,88,96                    // vmovups       %ymm3,0x60(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_clear_avx
+.globl _sk_clear_avx
+FUNCTION(_sk_clear_avx)
+_sk_clear_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_srcatop_avx
+.globl _sk_srcatop_avx
+FUNCTION(_sk_srcatop_avx)
+_sk_srcatop_avx:
+  .byte  197,252,89,199                      // vmulps        %ymm7,%ymm0,%ymm0
+  .byte  196,98,125,24,5,167,187,2,0         // vbroadcastss  0x2bba7(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
+  .byte  197,60,89,204                       // vmulps        %ymm4,%ymm8,%ymm9
+  .byte  197,180,88,192                      // vaddps        %ymm0,%ymm9,%ymm0
+  .byte  197,244,89,207                      // vmulps        %ymm7,%ymm1,%ymm1
+  .byte  197,60,89,205                       // vmulps        %ymm5,%ymm8,%ymm9
+  .byte  197,180,88,201                      // vaddps        %ymm1,%ymm9,%ymm1
+  .byte  197,236,89,215                      // vmulps        %ymm7,%ymm2,%ymm2
+  .byte  197,60,89,206                       // vmulps        %ymm6,%ymm8,%ymm9
+  .byte  197,180,88,210                      // vaddps        %ymm2,%ymm9,%ymm2
+  .byte  197,228,89,223                      // vmulps        %ymm7,%ymm3,%ymm3
+  .byte  197,60,89,199                       // vmulps        %ymm7,%ymm8,%ymm8
+  .byte  196,193,100,88,216                  // vaddps        %ymm8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_dstatop_avx
+.globl _sk_dstatop_avx
+FUNCTION(_sk_dstatop_avx)
+_sk_dstatop_avx:
+  .byte  197,100,89,196                      // vmulps        %ymm4,%ymm3,%ymm8
+  .byte  196,98,125,24,13,101,187,2,0        // vbroadcastss  0x2bb65(%rip),%ymm9        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,52,92,207                       // vsubps        %ymm7,%ymm9,%ymm9
+  .byte  197,180,89,192                      // vmulps        %ymm0,%ymm9,%ymm0
+  .byte  197,188,88,192                      // vaddps        %ymm0,%ymm8,%ymm0
+  .byte  197,100,89,197                      // vmulps        %ymm5,%ymm3,%ymm8
+  .byte  197,180,89,201                      // vmulps        %ymm1,%ymm9,%ymm1
+  .byte  197,188,88,201                      // vaddps        %ymm1,%ymm8,%ymm1
+  .byte  197,100,89,198                      // vmulps        %ymm6,%ymm3,%ymm8
+  .byte  197,180,89,210                      // vmulps        %ymm2,%ymm9,%ymm2
+  .byte  197,188,88,210                      // vaddps        %ymm2,%ymm8,%ymm2
+  .byte  197,100,89,199                      // vmulps        %ymm7,%ymm3,%ymm8
+  .byte  197,180,89,219                      // vmulps        %ymm3,%ymm9,%ymm3
+  .byte  197,188,88,219                      // vaddps        %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_srcin_avx
+.globl _sk_srcin_avx
+FUNCTION(_sk_srcin_avx)
+_sk_srcin_avx:
+  .byte  197,252,89,199                      // vmulps        %ymm7,%ymm0,%ymm0
+  .byte  197,244,89,207                      // vmulps        %ymm7,%ymm1,%ymm1
+  .byte  197,236,89,215                      // vmulps        %ymm7,%ymm2,%ymm2
+  .byte  197,228,89,223                      // vmulps        %ymm7,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_dstin_avx
+.globl _sk_dstin_avx
+FUNCTION(_sk_dstin_avx)
+_sk_dstin_avx:
+  .byte  197,228,89,196                      // vmulps        %ymm4,%ymm3,%ymm0
+  .byte  197,228,89,205                      // vmulps        %ymm5,%ymm3,%ymm1
+  .byte  197,228,89,214                      // vmulps        %ymm6,%ymm3,%ymm2
+  .byte  197,228,89,223                      // vmulps        %ymm7,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_srcout_avx
+.globl _sk_srcout_avx
+FUNCTION(_sk_srcout_avx)
+_sk_srcout_avx:
+  .byte  196,98,125,24,5,0,187,2,0           // vbroadcastss  0x2bb00(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,199                       // vsubps        %ymm7,%ymm8,%ymm8
+  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
+  .byte  197,188,89,201                      // vmulps        %ymm1,%ymm8,%ymm1
+  .byte  197,188,89,210                      // vmulps        %ymm2,%ymm8,%ymm2
+  .byte  197,188,89,219                      // vmulps        %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_dstout_avx
+.globl _sk_dstout_avx
+FUNCTION(_sk_dstout_avx)
+_sk_dstout_avx:
+  .byte  196,226,125,24,5,223,186,2,0        // vbroadcastss  0x2badf(%rip),%ymm0        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,252,92,219                      // vsubps        %ymm3,%ymm0,%ymm3
+  .byte  197,228,89,196                      // vmulps        %ymm4,%ymm3,%ymm0
+  .byte  197,228,89,205                      // vmulps        %ymm5,%ymm3,%ymm1
+  .byte  197,228,89,214                      // vmulps        %ymm6,%ymm3,%ymm2
+  .byte  197,228,89,223                      // vmulps        %ymm7,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_srcover_avx
+.globl _sk_srcover_avx
+FUNCTION(_sk_srcover_avx)
+_sk_srcover_avx:
+  .byte  196,98,125,24,5,190,186,2,0         // vbroadcastss  0x2babe(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
+  .byte  197,60,89,204                       // vmulps        %ymm4,%ymm8,%ymm9
+  .byte  197,180,88,192                      // vaddps        %ymm0,%ymm9,%ymm0
+  .byte  197,60,89,205                       // vmulps        %ymm5,%ymm8,%ymm9
+  .byte  197,180,88,201                      // vaddps        %ymm1,%ymm9,%ymm1
+  .byte  197,60,89,206                       // vmulps        %ymm6,%ymm8,%ymm9
+  .byte  197,180,88,210                      // vaddps        %ymm2,%ymm9,%ymm2
+  .byte  197,60,89,199                       // vmulps        %ymm7,%ymm8,%ymm8
+  .byte  197,188,88,219                      // vaddps        %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_dstover_avx
+.globl _sk_dstover_avx
+FUNCTION(_sk_dstover_avx)
+_sk_dstover_avx:
+  .byte  196,98,125,24,5,141,186,2,0         // vbroadcastss  0x2ba8d(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,199                       // vsubps        %ymm7,%ymm8,%ymm8
+  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
+  .byte  197,252,88,196                      // vaddps        %ymm4,%ymm0,%ymm0
+  .byte  197,188,89,201                      // vmulps        %ymm1,%ymm8,%ymm1
+  .byte  197,244,88,205                      // vaddps        %ymm5,%ymm1,%ymm1
+  .byte  197,188,89,210                      // vmulps        %ymm2,%ymm8,%ymm2
+  .byte  197,236,88,214                      // vaddps        %ymm6,%ymm2,%ymm2
+  .byte  197,188,89,219                      // vmulps        %ymm3,%ymm8,%ymm3
+  .byte  197,228,88,223                      // vaddps        %ymm7,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_modulate_avx
+.globl _sk_modulate_avx
+FUNCTION(_sk_modulate_avx)
+_sk_modulate_avx:
+  .byte  197,252,89,196                      // vmulps        %ymm4,%ymm0,%ymm0
+  .byte  197,244,89,205                      // vmulps        %ymm5,%ymm1,%ymm1
+  .byte  197,236,89,214                      // vmulps        %ymm6,%ymm2,%ymm2
+  .byte  197,228,89,223                      // vmulps        %ymm7,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_multiply_avx
+.globl _sk_multiply_avx
+FUNCTION(_sk_multiply_avx)
+_sk_multiply_avx:
+  .byte  196,98,125,24,5,72,186,2,0          // vbroadcastss  0x2ba48(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,207                       // vsubps        %ymm7,%ymm8,%ymm9
+  .byte  197,52,89,208                       // vmulps        %ymm0,%ymm9,%ymm10
+  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
+  .byte  197,60,89,220                       // vmulps        %ymm4,%ymm8,%ymm11
+  .byte  196,65,36,88,210                    // vaddps        %ymm10,%ymm11,%ymm10
+  .byte  197,252,89,196                      // vmulps        %ymm4,%ymm0,%ymm0
+  .byte  196,193,124,88,194                  // vaddps        %ymm10,%ymm0,%ymm0
+  .byte  197,52,89,209                       // vmulps        %ymm1,%ymm9,%ymm10
+  .byte  197,60,89,221                       // vmulps        %ymm5,%ymm8,%ymm11
+  .byte  196,65,36,88,210                    // vaddps        %ymm10,%ymm11,%ymm10
+  .byte  197,244,89,205                      // vmulps        %ymm5,%ymm1,%ymm1
+  .byte  196,193,116,88,202                  // vaddps        %ymm10,%ymm1,%ymm1
+  .byte  197,52,89,210                       // vmulps        %ymm2,%ymm9,%ymm10
+  .byte  197,60,89,222                       // vmulps        %ymm6,%ymm8,%ymm11
+  .byte  196,65,36,88,210                    // vaddps        %ymm10,%ymm11,%ymm10
+  .byte  197,236,89,214                      // vmulps        %ymm6,%ymm2,%ymm2
+  .byte  196,193,108,88,210                  // vaddps        %ymm10,%ymm2,%ymm2
+  .byte  197,52,89,203                       // vmulps        %ymm3,%ymm9,%ymm9
+  .byte  197,60,89,199                       // vmulps        %ymm7,%ymm8,%ymm8
+  .byte  196,65,60,88,193                    // vaddps        %ymm9,%ymm8,%ymm8
+  .byte  197,228,89,223                      // vmulps        %ymm7,%ymm3,%ymm3
+  .byte  196,193,100,88,216                  // vaddps        %ymm8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_plus__avx
+.globl _sk_plus__avx
+FUNCTION(_sk_plus__avx)
+_sk_plus__avx:
+  .byte  197,252,88,196                      // vaddps        %ymm4,%ymm0,%ymm0
+  .byte  196,98,125,24,5,215,185,2,0         // vbroadcastss  0x2b9d7(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,193,124,93,192                  // vminps        %ymm8,%ymm0,%ymm0
+  .byte  197,244,88,205                      // vaddps        %ymm5,%ymm1,%ymm1
+  .byte  196,193,116,93,200                  // vminps        %ymm8,%ymm1,%ymm1
+  .byte  197,236,88,214                      // vaddps        %ymm6,%ymm2,%ymm2
+  .byte  196,193,108,93,208                  // vminps        %ymm8,%ymm2,%ymm2
+  .byte  197,228,88,223                      // vaddps        %ymm7,%ymm3,%ymm3
+  .byte  196,193,100,93,216                  // vminps        %ymm8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_screen_avx
+.globl _sk_screen_avx
+FUNCTION(_sk_screen_avx)
+_sk_screen_avx:
+  .byte  197,124,88,196                      // vaddps        %ymm4,%ymm0,%ymm8
+  .byte  197,252,89,196                      // vmulps        %ymm4,%ymm0,%ymm0
+  .byte  197,188,92,192                      // vsubps        %ymm0,%ymm8,%ymm0
+  .byte  197,116,88,197                      // vaddps        %ymm5,%ymm1,%ymm8
+  .byte  197,244,89,205                      // vmulps        %ymm5,%ymm1,%ymm1
+  .byte  197,188,92,201                      // vsubps        %ymm1,%ymm8,%ymm1
+  .byte  197,108,88,198                      // vaddps        %ymm6,%ymm2,%ymm8
+  .byte  197,236,89,214                      // vmulps        %ymm6,%ymm2,%ymm2
+  .byte  197,188,92,210                      // vsubps        %ymm2,%ymm8,%ymm2
+  .byte  197,100,88,199                      // vaddps        %ymm7,%ymm3,%ymm8
+  .byte  197,228,89,223                      // vmulps        %ymm7,%ymm3,%ymm3
+  .byte  197,188,92,219                      // vsubps        %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xor__avx
+.globl _sk_xor__avx
+FUNCTION(_sk_xor__avx)
+_sk_xor__avx:
+  .byte  196,98,125,24,5,118,185,2,0         // vbroadcastss  0x2b976(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,207                       // vsubps        %ymm7,%ymm8,%ymm9
+  .byte  197,180,89,192                      // vmulps        %ymm0,%ymm9,%ymm0
+  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
+  .byte  197,60,89,212                       // vmulps        %ymm4,%ymm8,%ymm10
+  .byte  197,172,88,192                      // vaddps        %ymm0,%ymm10,%ymm0
+  .byte  197,180,89,201                      // vmulps        %ymm1,%ymm9,%ymm1
+  .byte  197,60,89,213                       // vmulps        %ymm5,%ymm8,%ymm10
+  .byte  197,172,88,201                      // vaddps        %ymm1,%ymm10,%ymm1
+  .byte  197,180,89,210                      // vmulps        %ymm2,%ymm9,%ymm2
+  .byte  197,60,89,214                       // vmulps        %ymm6,%ymm8,%ymm10
+  .byte  197,172,88,210                      // vaddps        %ymm2,%ymm10,%ymm2
+  .byte  197,180,89,219                      // vmulps        %ymm3,%ymm9,%ymm3
+  .byte  197,60,89,199                       // vmulps        %ymm7,%ymm8,%ymm8
+  .byte  197,188,88,219                      // vaddps        %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_darken_avx
+.globl _sk_darken_avx
+FUNCTION(_sk_darken_avx)
+_sk_darken_avx:
+  .byte  197,124,88,196                      // vaddps        %ymm4,%ymm0,%ymm8
+  .byte  197,252,89,199                      // vmulps        %ymm7,%ymm0,%ymm0
+  .byte  197,100,89,204                      // vmulps        %ymm4,%ymm3,%ymm9
+  .byte  196,193,124,95,193                  // vmaxps        %ymm9,%ymm0,%ymm0
+  .byte  197,188,92,192                      // vsubps        %ymm0,%ymm8,%ymm0
+  .byte  197,116,88,197                      // vaddps        %ymm5,%ymm1,%ymm8
+  .byte  197,244,89,207                      // vmulps        %ymm7,%ymm1,%ymm1
+  .byte  197,100,89,205                      // vmulps        %ymm5,%ymm3,%ymm9
+  .byte  196,193,116,95,201                  // vmaxps        %ymm9,%ymm1,%ymm1
+  .byte  197,188,92,201                      // vsubps        %ymm1,%ymm8,%ymm1
+  .byte  197,108,88,198                      // vaddps        %ymm6,%ymm2,%ymm8
+  .byte  197,236,89,215                      // vmulps        %ymm7,%ymm2,%ymm2
+  .byte  197,100,89,206                      // vmulps        %ymm6,%ymm3,%ymm9
+  .byte  196,193,108,95,209                  // vmaxps        %ymm9,%ymm2,%ymm2
+  .byte  197,188,92,210                      // vsubps        %ymm2,%ymm8,%ymm2
+  .byte  196,98,125,24,5,242,184,2,0         // vbroadcastss  0x2b8f2(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
+  .byte  197,60,89,199                       // vmulps        %ymm7,%ymm8,%ymm8
+  .byte  197,188,88,219                      // vaddps        %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_lighten_avx
+.globl _sk_lighten_avx
+FUNCTION(_sk_lighten_avx)
+_sk_lighten_avx:
+  .byte  197,124,88,196                      // vaddps        %ymm4,%ymm0,%ymm8
+  .byte  197,252,89,199                      // vmulps        %ymm7,%ymm0,%ymm0
+  .byte  197,100,89,204                      // vmulps        %ymm4,%ymm3,%ymm9
+  .byte  196,193,124,93,193                  // vminps        %ymm9,%ymm0,%ymm0
+  .byte  197,188,92,192                      // vsubps        %ymm0,%ymm8,%ymm0
+  .byte  197,116,88,197                      // vaddps        %ymm5,%ymm1,%ymm8
+  .byte  197,244,89,207                      // vmulps        %ymm7,%ymm1,%ymm1
+  .byte  197,100,89,205                      // vmulps        %ymm5,%ymm3,%ymm9
+  .byte  196,193,116,93,201                  // vminps        %ymm9,%ymm1,%ymm1
+  .byte  197,188,92,201                      // vsubps        %ymm1,%ymm8,%ymm1
+  .byte  197,108,88,198                      // vaddps        %ymm6,%ymm2,%ymm8
+  .byte  197,236,89,215                      // vmulps        %ymm7,%ymm2,%ymm2
+  .byte  197,100,89,206                      // vmulps        %ymm6,%ymm3,%ymm9
+  .byte  196,193,108,93,209                  // vminps        %ymm9,%ymm2,%ymm2
+  .byte  197,188,92,210                      // vsubps        %ymm2,%ymm8,%ymm2
+  .byte  196,98,125,24,5,154,184,2,0         // vbroadcastss  0x2b89a(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
+  .byte  197,60,89,199                       // vmulps        %ymm7,%ymm8,%ymm8
+  .byte  197,188,88,219                      // vaddps        %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_difference_avx
+.globl _sk_difference_avx
+FUNCTION(_sk_difference_avx)
+_sk_difference_avx:
+  .byte  197,124,88,196                      // vaddps        %ymm4,%ymm0,%ymm8
+  .byte  197,252,89,199                      // vmulps        %ymm7,%ymm0,%ymm0
+  .byte  197,100,89,204                      // vmulps        %ymm4,%ymm3,%ymm9
+  .byte  196,193,124,93,193                  // vminps        %ymm9,%ymm0,%ymm0
+  .byte  197,252,88,192                      // vaddps        %ymm0,%ymm0,%ymm0
+  .byte  197,188,92,192                      // vsubps        %ymm0,%ymm8,%ymm0
+  .byte  197,116,88,197                      // vaddps        %ymm5,%ymm1,%ymm8
+  .byte  197,244,89,207                      // vmulps        %ymm7,%ymm1,%ymm1
+  .byte  197,100,89,205                      // vmulps        %ymm5,%ymm3,%ymm9
+  .byte  196,193,116,93,201                  // vminps        %ymm9,%ymm1,%ymm1
+  .byte  197,244,88,201                      // vaddps        %ymm1,%ymm1,%ymm1
+  .byte  197,188,92,201                      // vsubps        %ymm1,%ymm8,%ymm1
+  .byte  197,108,88,198                      // vaddps        %ymm6,%ymm2,%ymm8
+  .byte  197,236,89,215                      // vmulps        %ymm7,%ymm2,%ymm2
+  .byte  197,100,89,206                      // vmulps        %ymm6,%ymm3,%ymm9
+  .byte  196,193,108,93,209                  // vminps        %ymm9,%ymm2,%ymm2
+  .byte  197,236,88,210                      // vaddps        %ymm2,%ymm2,%ymm2
+  .byte  197,188,92,210                      // vsubps        %ymm2,%ymm8,%ymm2
+  .byte  196,98,125,24,5,54,184,2,0          // vbroadcastss  0x2b836(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
+  .byte  197,60,89,199                       // vmulps        %ymm7,%ymm8,%ymm8
+  .byte  197,188,88,219                      // vaddps        %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_exclusion_avx
+.globl _sk_exclusion_avx
+FUNCTION(_sk_exclusion_avx)
+_sk_exclusion_avx:
+  .byte  197,124,88,196                      // vaddps        %ymm4,%ymm0,%ymm8
+  .byte  197,252,89,196                      // vmulps        %ymm4,%ymm0,%ymm0
+  .byte  197,252,88,192                      // vaddps        %ymm0,%ymm0,%ymm0
+  .byte  197,188,92,192                      // vsubps        %ymm0,%ymm8,%ymm0
+  .byte  197,116,88,197                      // vaddps        %ymm5,%ymm1,%ymm8
+  .byte  197,244,89,205                      // vmulps        %ymm5,%ymm1,%ymm1
+  .byte  197,244,88,201                      // vaddps        %ymm1,%ymm1,%ymm1
+  .byte  197,188,92,201                      // vsubps        %ymm1,%ymm8,%ymm1
+  .byte  197,108,88,198                      // vaddps        %ymm6,%ymm2,%ymm8
+  .byte  197,236,89,214                      // vmulps        %ymm6,%ymm2,%ymm2
+  .byte  197,236,88,210                      // vaddps        %ymm2,%ymm2,%ymm2
+  .byte  197,188,92,210                      // vsubps        %ymm2,%ymm8,%ymm2
+  .byte  196,98,125,24,5,237,183,2,0         // vbroadcastss  0x2b7ed(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
+  .byte  197,60,89,199                       // vmulps        %ymm7,%ymm8,%ymm8
+  .byte  197,188,88,219                      // vaddps        %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_colorburn_avx
+.globl _sk_colorburn_avx
+FUNCTION(_sk_colorburn_avx)
+_sk_colorburn_avx:
+  .byte  196,98,125,24,5,212,183,2,0         // vbroadcastss  0x2b7d4(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,207                       // vsubps        %ymm7,%ymm8,%ymm9
+  .byte  197,52,89,216                       // vmulps        %ymm0,%ymm9,%ymm11
+  .byte  196,65,44,87,210                    // vxorps        %ymm10,%ymm10,%ymm10
+  .byte  196,65,124,194,226,0                // vcmpeqps      %ymm10,%ymm0,%ymm12
+  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
+  .byte  197,68,92,236                       // vsubps        %ymm4,%ymm7,%ymm13
+  .byte  197,20,89,235                       // vmulps        %ymm3,%ymm13,%ymm13
+  .byte  197,252,83,192                      // vrcpps        %ymm0,%ymm0
+  .byte  197,148,89,192                      // vmulps        %ymm0,%ymm13,%ymm0
+  .byte  197,60,89,236                       // vmulps        %ymm4,%ymm8,%ymm13
+  .byte  197,196,93,192                      // vminps        %ymm0,%ymm7,%ymm0
+  .byte  197,196,92,192                      // vsubps        %ymm0,%ymm7,%ymm0
+  .byte  197,252,89,195                      // vmulps        %ymm3,%ymm0,%ymm0
+  .byte  197,164,88,192                      // vaddps        %ymm0,%ymm11,%ymm0
+  .byte  197,148,88,192                      // vaddps        %ymm0,%ymm13,%ymm0
+  .byte  196,195,125,74,197,192              // vblendvps     %ymm12,%ymm13,%ymm0,%ymm0
+  .byte  197,92,194,231,0                    // vcmpeqps      %ymm7,%ymm4,%ymm12
+  .byte  197,36,88,220                       // vaddps        %ymm4,%ymm11,%ymm11
+  .byte  196,195,125,74,195,192              // vblendvps     %ymm12,%ymm11,%ymm0,%ymm0
+  .byte  197,52,89,217                       // vmulps        %ymm1,%ymm9,%ymm11
+  .byte  196,65,116,194,226,0                // vcmpeqps      %ymm10,%ymm1,%ymm12
+  .byte  197,68,92,237                       // vsubps        %ymm5,%ymm7,%ymm13
+  .byte  197,20,89,235                       // vmulps        %ymm3,%ymm13,%ymm13
+  .byte  197,252,83,201                      // vrcpps        %ymm1,%ymm1
+  .byte  197,148,89,201                      // vmulps        %ymm1,%ymm13,%ymm1
+  .byte  197,60,89,237                       // vmulps        %ymm5,%ymm8,%ymm13
+  .byte  197,196,93,201                      // vminps        %ymm1,%ymm7,%ymm1
+  .byte  197,196,92,201                      // vsubps        %ymm1,%ymm7,%ymm1
+  .byte  197,244,89,203                      // vmulps        %ymm3,%ymm1,%ymm1
+  .byte  197,164,88,201                      // vaddps        %ymm1,%ymm11,%ymm1
+  .byte  197,148,88,201                      // vaddps        %ymm1,%ymm13,%ymm1
+  .byte  196,195,117,74,205,192              // vblendvps     %ymm12,%ymm13,%ymm1,%ymm1
+  .byte  197,84,194,231,0                    // vcmpeqps      %ymm7,%ymm5,%ymm12
+  .byte  197,36,88,221                       // vaddps        %ymm5,%ymm11,%ymm11
+  .byte  196,195,117,74,203,192              // vblendvps     %ymm12,%ymm11,%ymm1,%ymm1
+  .byte  197,52,89,202                       // vmulps        %ymm2,%ymm9,%ymm9
+  .byte  196,65,108,194,210,0                // vcmpeqps      %ymm10,%ymm2,%ymm10
+  .byte  197,68,92,222                       // vsubps        %ymm6,%ymm7,%ymm11
+  .byte  197,36,89,219                       // vmulps        %ymm3,%ymm11,%ymm11
+  .byte  197,252,83,210                      // vrcpps        %ymm2,%ymm2
+  .byte  197,164,89,210                      // vmulps        %ymm2,%ymm11,%ymm2
+  .byte  197,60,89,222                       // vmulps        %ymm6,%ymm8,%ymm11
+  .byte  197,196,93,210                      // vminps        %ymm2,%ymm7,%ymm2
+  .byte  197,196,92,210                      // vsubps        %ymm2,%ymm7,%ymm2
+  .byte  197,236,89,211                      // vmulps        %ymm3,%ymm2,%ymm2
+  .byte  197,180,88,210                      // vaddps        %ymm2,%ymm9,%ymm2
+  .byte  197,164,88,210                      // vaddps        %ymm2,%ymm11,%ymm2
+  .byte  196,195,109,74,211,160              // vblendvps     %ymm10,%ymm11,%ymm2,%ymm2
+  .byte  197,76,194,215,0                    // vcmpeqps      %ymm7,%ymm6,%ymm10
+  .byte  197,52,88,206                       // vaddps        %ymm6,%ymm9,%ymm9
+  .byte  196,195,109,74,209,160              // vblendvps     %ymm10,%ymm9,%ymm2,%ymm2
+  .byte  197,60,89,199                       // vmulps        %ymm7,%ymm8,%ymm8
+  .byte  197,188,88,219                      // vaddps        %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_colordodge_avx
+.globl _sk_colordodge_avx
+FUNCTION(_sk_colordodge_avx)
+_sk_colordodge_avx:
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  196,98,125,24,13,216,182,2,0        // vbroadcastss  0x2b6d8(%rip),%ymm9        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,52,92,215                       // vsubps        %ymm7,%ymm9,%ymm10
+  .byte  197,44,89,216                       // vmulps        %ymm0,%ymm10,%ymm11
+  .byte  197,52,92,203                       // vsubps        %ymm3,%ymm9,%ymm9
+  .byte  197,100,89,228                      // vmulps        %ymm4,%ymm3,%ymm12
+  .byte  197,100,92,232                      // vsubps        %ymm0,%ymm3,%ymm13
+  .byte  196,65,124,83,237                   // vrcpps        %ymm13,%ymm13
+  .byte  196,65,28,89,229                    // vmulps        %ymm13,%ymm12,%ymm12
+  .byte  197,52,89,236                       // vmulps        %ymm4,%ymm9,%ymm13
+  .byte  196,65,68,93,228                    // vminps        %ymm12,%ymm7,%ymm12
+  .byte  197,28,89,227                       // vmulps        %ymm3,%ymm12,%ymm12
+  .byte  196,65,36,88,228                    // vaddps        %ymm12,%ymm11,%ymm12
+  .byte  196,65,20,88,228                    // vaddps        %ymm12,%ymm13,%ymm12
+  .byte  197,20,88,232                       // vaddps        %ymm0,%ymm13,%ymm13
+  .byte  197,252,194,195,0                   // vcmpeqps      %ymm3,%ymm0,%ymm0
+  .byte  196,195,29,74,197,0                 // vblendvps     %ymm0,%ymm13,%ymm12,%ymm0
+  .byte  196,65,92,194,224,0                 // vcmpeqps      %ymm8,%ymm4,%ymm12
+  .byte  196,195,125,74,195,192              // vblendvps     %ymm12,%ymm11,%ymm0,%ymm0
+  .byte  197,44,89,217                       // vmulps        %ymm1,%ymm10,%ymm11
+  .byte  197,100,89,229                      // vmulps        %ymm5,%ymm3,%ymm12
+  .byte  197,100,92,233                      // vsubps        %ymm1,%ymm3,%ymm13
+  .byte  196,65,124,83,237                   // vrcpps        %ymm13,%ymm13
+  .byte  196,65,28,89,229                    // vmulps        %ymm13,%ymm12,%ymm12
+  .byte  197,52,89,237                       // vmulps        %ymm5,%ymm9,%ymm13
+  .byte  196,65,68,93,228                    // vminps        %ymm12,%ymm7,%ymm12
+  .byte  197,28,89,227                       // vmulps        %ymm3,%ymm12,%ymm12
+  .byte  196,65,36,88,228                    // vaddps        %ymm12,%ymm11,%ymm12
+  .byte  196,65,20,88,228                    // vaddps        %ymm12,%ymm13,%ymm12
+  .byte  197,20,88,233                       // vaddps        %ymm1,%ymm13,%ymm13
+  .byte  197,244,194,203,0                   // vcmpeqps      %ymm3,%ymm1,%ymm1
+  .byte  196,195,29,74,205,16                // vblendvps     %ymm1,%ymm13,%ymm12,%ymm1
+  .byte  196,65,84,194,224,0                 // vcmpeqps      %ymm8,%ymm5,%ymm12
+  .byte  196,195,117,74,203,192              // vblendvps     %ymm12,%ymm11,%ymm1,%ymm1
+  .byte  197,44,89,210                       // vmulps        %ymm2,%ymm10,%ymm10
+  .byte  197,100,89,222                      // vmulps        %ymm6,%ymm3,%ymm11
+  .byte  197,100,92,226                      // vsubps        %ymm2,%ymm3,%ymm12
+  .byte  196,65,124,83,228                   // vrcpps        %ymm12,%ymm12
+  .byte  196,65,36,89,220                    // vmulps        %ymm12,%ymm11,%ymm11
+  .byte  197,52,89,230                       // vmulps        %ymm6,%ymm9,%ymm12
+  .byte  196,65,68,93,219                    // vminps        %ymm11,%ymm7,%ymm11
+  .byte  197,36,89,219                       // vmulps        %ymm3,%ymm11,%ymm11
+  .byte  196,65,44,88,219                    // vaddps        %ymm11,%ymm10,%ymm11
+  .byte  196,65,28,88,219                    // vaddps        %ymm11,%ymm12,%ymm11
+  .byte  197,28,88,226                       // vaddps        %ymm2,%ymm12,%ymm12
+  .byte  197,236,194,211,0                   // vcmpeqps      %ymm3,%ymm2,%ymm2
+  .byte  196,195,37,74,212,32                // vblendvps     %ymm2,%ymm12,%ymm11,%ymm2
+  .byte  196,65,76,194,192,0                 // vcmpeqps      %ymm8,%ymm6,%ymm8
+  .byte  196,195,109,74,210,128              // vblendvps     %ymm8,%ymm10,%ymm2,%ymm2
+  .byte  197,52,89,199                       // vmulps        %ymm7,%ymm9,%ymm8
+  .byte  197,188,88,219                      // vaddps        %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_hardlight_avx
+.globl _sk_hardlight_avx
+FUNCTION(_sk_hardlight_avx)
+_sk_hardlight_avx:
+  .byte  196,98,125,24,5,227,181,2,0         // vbroadcastss  0x2b5e3(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,215                       // vsubps        %ymm7,%ymm8,%ymm10
+  .byte  197,44,89,200                       // vmulps        %ymm0,%ymm10,%ymm9
+  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
+  .byte  197,60,89,220                       // vmulps        %ymm4,%ymm8,%ymm11
+  .byte  196,65,36,88,217                    // vaddps        %ymm9,%ymm11,%ymm11
+  .byte  197,124,88,200                      // vaddps        %ymm0,%ymm0,%ymm9
+  .byte  197,52,194,227,2                    // vcmpleps      %ymm3,%ymm9,%ymm12
+  .byte  197,124,89,204                      // vmulps        %ymm4,%ymm0,%ymm9
+  .byte  196,65,52,88,233                    // vaddps        %ymm9,%ymm9,%ymm13
+  .byte  197,100,89,207                      // vmulps        %ymm7,%ymm3,%ymm9
+  .byte  197,68,92,244                       // vsubps        %ymm4,%ymm7,%ymm14
+  .byte  197,228,92,192                      // vsubps        %ymm0,%ymm3,%ymm0
+  .byte  196,193,124,89,198                  // vmulps        %ymm14,%ymm0,%ymm0
+  .byte  197,252,88,192                      // vaddps        %ymm0,%ymm0,%ymm0
+  .byte  197,180,92,192                      // vsubps        %ymm0,%ymm9,%ymm0
+  .byte  196,195,125,74,197,192              // vblendvps     %ymm12,%ymm13,%ymm0,%ymm0
+  .byte  197,164,88,192                      // vaddps        %ymm0,%ymm11,%ymm0
+  .byte  197,44,89,217                       // vmulps        %ymm1,%ymm10,%ymm11
+  .byte  197,60,89,229                       // vmulps        %ymm5,%ymm8,%ymm12
+  .byte  196,65,28,88,219                    // vaddps        %ymm11,%ymm12,%ymm11
+  .byte  197,116,88,225                      // vaddps        %ymm1,%ymm1,%ymm12
+  .byte  197,28,194,227,2                    // vcmpleps      %ymm3,%ymm12,%ymm12
+  .byte  197,116,89,237                      // vmulps        %ymm5,%ymm1,%ymm13
+  .byte  196,65,20,88,237                    // vaddps        %ymm13,%ymm13,%ymm13
+  .byte  197,68,92,245                       // vsubps        %ymm5,%ymm7,%ymm14
+  .byte  197,228,92,201                      // vsubps        %ymm1,%ymm3,%ymm1
+  .byte  196,193,116,89,206                  // vmulps        %ymm14,%ymm1,%ymm1
+  .byte  197,244,88,201                      // vaddps        %ymm1,%ymm1,%ymm1
+  .byte  197,180,92,201                      // vsubps        %ymm1,%ymm9,%ymm1
+  .byte  196,195,117,74,205,192              // vblendvps     %ymm12,%ymm13,%ymm1,%ymm1
+  .byte  197,164,88,201                      // vaddps        %ymm1,%ymm11,%ymm1
+  .byte  197,44,89,210                       // vmulps        %ymm2,%ymm10,%ymm10
+  .byte  197,60,89,222                       // vmulps        %ymm6,%ymm8,%ymm11
+  .byte  196,65,36,88,210                    // vaddps        %ymm10,%ymm11,%ymm10
+  .byte  197,108,88,218                      // vaddps        %ymm2,%ymm2,%ymm11
+  .byte  197,36,194,219,2                    // vcmpleps      %ymm3,%ymm11,%ymm11
+  .byte  197,108,89,230                      // vmulps        %ymm6,%ymm2,%ymm12
+  .byte  196,65,28,88,228                    // vaddps        %ymm12,%ymm12,%ymm12
+  .byte  197,68,92,238                       // vsubps        %ymm6,%ymm7,%ymm13
+  .byte  197,228,92,210                      // vsubps        %ymm2,%ymm3,%ymm2
+  .byte  196,193,108,89,213                  // vmulps        %ymm13,%ymm2,%ymm2
+  .byte  197,236,88,210                      // vaddps        %ymm2,%ymm2,%ymm2
+  .byte  197,180,92,210                      // vsubps        %ymm2,%ymm9,%ymm2
+  .byte  196,195,109,74,212,176              // vblendvps     %ymm11,%ymm12,%ymm2,%ymm2
+  .byte  197,172,88,210                      // vaddps        %ymm2,%ymm10,%ymm2
+  .byte  197,60,89,199                       // vmulps        %ymm7,%ymm8,%ymm8
+  .byte  197,188,88,219                      // vaddps        %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_overlay_avx
+.globl _sk_overlay_avx
+FUNCTION(_sk_overlay_avx)
+_sk_overlay_avx:
+  .byte  196,98,125,24,5,8,181,2,0           // vbroadcastss  0x2b508(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,215                       // vsubps        %ymm7,%ymm8,%ymm10
+  .byte  197,44,89,200                       // vmulps        %ymm0,%ymm10,%ymm9
+  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
+  .byte  197,60,89,220                       // vmulps        %ymm4,%ymm8,%ymm11
+  .byte  196,65,36,88,217                    // vaddps        %ymm9,%ymm11,%ymm11
+  .byte  197,92,88,204                       // vaddps        %ymm4,%ymm4,%ymm9
+  .byte  197,52,194,231,2                    // vcmpleps      %ymm7,%ymm9,%ymm12
+  .byte  197,124,89,204                      // vmulps        %ymm4,%ymm0,%ymm9
+  .byte  196,65,52,88,233                    // vaddps        %ymm9,%ymm9,%ymm13
+  .byte  197,100,89,207                      // vmulps        %ymm7,%ymm3,%ymm9
+  .byte  197,68,92,244                       // vsubps        %ymm4,%ymm7,%ymm14
+  .byte  197,228,92,192                      // vsubps        %ymm0,%ymm3,%ymm0
+  .byte  196,193,124,89,198                  // vmulps        %ymm14,%ymm0,%ymm0
+  .byte  197,252,88,192                      // vaddps        %ymm0,%ymm0,%ymm0
+  .byte  197,180,92,192                      // vsubps        %ymm0,%ymm9,%ymm0
+  .byte  196,195,125,74,197,192              // vblendvps     %ymm12,%ymm13,%ymm0,%ymm0
+  .byte  197,164,88,192                      // vaddps        %ymm0,%ymm11,%ymm0
+  .byte  197,44,89,217                       // vmulps        %ymm1,%ymm10,%ymm11
+  .byte  197,60,89,229                       // vmulps        %ymm5,%ymm8,%ymm12
+  .byte  196,65,28,88,219                    // vaddps        %ymm11,%ymm12,%ymm11
+  .byte  197,84,88,229                       // vaddps        %ymm5,%ymm5,%ymm12
+  .byte  197,28,194,231,2                    // vcmpleps      %ymm7,%ymm12,%ymm12
+  .byte  197,116,89,237                      // vmulps        %ymm5,%ymm1,%ymm13
+  .byte  196,65,20,88,237                    // vaddps        %ymm13,%ymm13,%ymm13
+  .byte  197,68,92,245                       // vsubps        %ymm5,%ymm7,%ymm14
+  .byte  197,228,92,201                      // vsubps        %ymm1,%ymm3,%ymm1
+  .byte  196,193,116,89,206                  // vmulps        %ymm14,%ymm1,%ymm1
+  .byte  197,244,88,201                      // vaddps        %ymm1,%ymm1,%ymm1
+  .byte  197,180,92,201                      // vsubps        %ymm1,%ymm9,%ymm1
+  .byte  196,195,117,74,205,192              // vblendvps     %ymm12,%ymm13,%ymm1,%ymm1
+  .byte  197,164,88,201                      // vaddps        %ymm1,%ymm11,%ymm1
+  .byte  197,44,89,210                       // vmulps        %ymm2,%ymm10,%ymm10
+  .byte  197,60,89,222                       // vmulps        %ymm6,%ymm8,%ymm11
+  .byte  196,65,36,88,210                    // vaddps        %ymm10,%ymm11,%ymm10
+  .byte  197,76,88,222                       // vaddps        %ymm6,%ymm6,%ymm11
+  .byte  197,36,194,223,2                    // vcmpleps      %ymm7,%ymm11,%ymm11
+  .byte  197,108,89,230                      // vmulps        %ymm6,%ymm2,%ymm12
+  .byte  196,65,28,88,228                    // vaddps        %ymm12,%ymm12,%ymm12
+  .byte  197,68,92,238                       // vsubps        %ymm6,%ymm7,%ymm13
+  .byte  197,228,92,210                      // vsubps        %ymm2,%ymm3,%ymm2
+  .byte  196,193,108,89,213                  // vmulps        %ymm13,%ymm2,%ymm2
+  .byte  197,236,88,210                      // vaddps        %ymm2,%ymm2,%ymm2
+  .byte  197,180,92,210                      // vsubps        %ymm2,%ymm9,%ymm2
+  .byte  196,195,109,74,212,176              // vblendvps     %ymm11,%ymm12,%ymm2,%ymm2
+  .byte  197,172,88,210                      // vaddps        %ymm2,%ymm10,%ymm2
+  .byte  197,60,89,199                       // vmulps        %ymm7,%ymm8,%ymm8
+  .byte  197,188,88,219                      // vaddps        %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_softlight_avx
+.globl _sk_softlight_avx
+FUNCTION(_sk_softlight_avx)
+_sk_softlight_avx:
+  .byte  197,252,17,84,36,200                // vmovups       %ymm2,-0x38(%rsp)
+  .byte  197,252,40,209                      // vmovaps       %ymm1,%ymm2
+  .byte  197,252,40,200                      // vmovaps       %ymm0,%ymm1
+  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
+  .byte  197,52,194,215,1                    // vcmpltps      %ymm7,%ymm9,%ymm10
+  .byte  197,92,94,199                       // vdivps        %ymm7,%ymm4,%ymm8
+  .byte  196,67,53,74,224,160                // vblendvps     %ymm10,%ymm8,%ymm9,%ymm12
+  .byte  196,65,28,88,196                    // vaddps        %ymm12,%ymm12,%ymm8
+  .byte  196,65,60,88,192                    // vaddps        %ymm8,%ymm8,%ymm8
+  .byte  196,65,60,89,216                    // vmulps        %ymm8,%ymm8,%ymm11
+  .byte  196,65,60,88,195                    // vaddps        %ymm11,%ymm8,%ymm8
+  .byte  196,98,125,24,29,15,180,2,0         // vbroadcastss  0x2b40f(%rip),%ymm11        # 3c514 <_sk_srcover_bgra_8888_sse2_lowp+0x2c8>
+  .byte  196,65,28,88,235                    // vaddps        %ymm11,%ymm12,%ymm13
+  .byte  196,65,20,89,192                    // vmulps        %ymm8,%ymm13,%ymm8
+  .byte  196,98,125,24,45,0,180,2,0          // vbroadcastss  0x2b400(%rip),%ymm13        # 3c518 <_sk_srcover_bgra_8888_sse2_lowp+0x2cc>
+  .byte  196,65,28,89,245                    // vmulps        %ymm13,%ymm12,%ymm14
+  .byte  196,65,12,88,192                    // vaddps        %ymm8,%ymm14,%ymm8
+  .byte  196,65,124,82,244                   // vrsqrtps      %ymm12,%ymm14
+  .byte  196,65,124,83,246                   // vrcpps        %ymm14,%ymm14
+  .byte  196,65,12,92,244                    // vsubps        %ymm12,%ymm14,%ymm14
+  .byte  197,92,88,252                       // vaddps        %ymm4,%ymm4,%ymm15
+  .byte  196,65,4,88,255                     // vaddps        %ymm15,%ymm15,%ymm15
+  .byte  197,4,194,255,2                     // vcmpleps      %ymm7,%ymm15,%ymm15
+  .byte  196,67,13,74,240,240                // vblendvps     %ymm15,%ymm8,%ymm14,%ymm14
+  .byte  197,116,88,249                      // vaddps        %ymm1,%ymm1,%ymm15
+  .byte  196,98,125,24,5,170,179,2,0         // vbroadcastss  0x2b3aa(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,65,60,92,228                    // vsubps        %ymm12,%ymm8,%ymm12
+  .byte  197,132,92,195                      // vsubps        %ymm3,%ymm15,%ymm0
+  .byte  196,65,124,89,228                   // vmulps        %ymm12,%ymm0,%ymm12
+  .byte  197,252,89,199                      // vmulps        %ymm7,%ymm0,%ymm0
+  .byte  196,193,124,89,198                  // vmulps        %ymm14,%ymm0,%ymm0
+  .byte  197,100,89,244                      // vmulps        %ymm4,%ymm3,%ymm14
+  .byte  197,140,88,192                      // vaddps        %ymm0,%ymm14,%ymm0
+  .byte  197,28,88,227                       // vaddps        %ymm3,%ymm12,%ymm12
+  .byte  197,28,89,228                       // vmulps        %ymm4,%ymm12,%ymm12
+  .byte  197,4,194,243,2                     // vcmpleps      %ymm3,%ymm15,%ymm14
+  .byte  196,195,125,74,196,224              // vblendvps     %ymm14,%ymm12,%ymm0,%ymm0
+  .byte  197,252,17,68,36,168                // vmovups       %ymm0,-0x58(%rsp)
+  .byte  197,212,94,199                      // vdivps        %ymm7,%ymm5,%ymm0
+  .byte  196,227,53,74,192,160               // vblendvps     %ymm10,%ymm0,%ymm9,%ymm0
+  .byte  197,124,88,240                      // vaddps        %ymm0,%ymm0,%ymm14
+  .byte  196,65,12,88,246                    // vaddps        %ymm14,%ymm14,%ymm14
+  .byte  196,65,12,89,254                    // vmulps        %ymm14,%ymm14,%ymm15
+  .byte  196,65,12,88,247                    // vaddps        %ymm15,%ymm14,%ymm14
+  .byte  196,65,124,88,251                   // vaddps        %ymm11,%ymm0,%ymm15
+  .byte  196,65,4,89,246                     // vmulps        %ymm14,%ymm15,%ymm14
+  .byte  196,65,124,89,253                   // vmulps        %ymm13,%ymm0,%ymm15
+  .byte  196,65,4,88,246                     // vaddps        %ymm14,%ymm15,%ymm14
+  .byte  197,124,82,248                      // vrsqrtps      %ymm0,%ymm15
+  .byte  196,65,124,83,255                   // vrcpps        %ymm15,%ymm15
+  .byte  197,4,92,248                        // vsubps        %ymm0,%ymm15,%ymm15
+  .byte  197,84,88,229                       // vaddps        %ymm5,%ymm5,%ymm12
+  .byte  196,65,28,88,228                    // vaddps        %ymm12,%ymm12,%ymm12
+  .byte  197,28,194,231,2                    // vcmpleps      %ymm7,%ymm12,%ymm12
+  .byte  196,67,5,74,230,192                 // vblendvps     %ymm12,%ymm14,%ymm15,%ymm12
+  .byte  197,188,92,192                      // vsubps        %ymm0,%ymm8,%ymm0
+  .byte  197,108,88,242                      // vaddps        %ymm2,%ymm2,%ymm14
+  .byte  197,12,92,251                       // vsubps        %ymm3,%ymm14,%ymm15
+  .byte  197,132,89,192                      // vmulps        %ymm0,%ymm15,%ymm0
+  .byte  197,4,89,255                        // vmulps        %ymm7,%ymm15,%ymm15
+  .byte  196,65,4,89,228                     // vmulps        %ymm12,%ymm15,%ymm12
+  .byte  197,100,89,253                      // vmulps        %ymm5,%ymm3,%ymm15
+  .byte  196,65,4,88,228                     // vaddps        %ymm12,%ymm15,%ymm12
+  .byte  197,252,88,195                      // vaddps        %ymm3,%ymm0,%ymm0
+  .byte  197,252,89,197                      // vmulps        %ymm5,%ymm0,%ymm0
+  .byte  197,12,194,243,2                    // vcmpleps      %ymm3,%ymm14,%ymm14
+  .byte  196,99,29,74,240,224                // vblendvps     %ymm14,%ymm0,%ymm12,%ymm14
+  .byte  197,204,94,199                      // vdivps        %ymm7,%ymm6,%ymm0
+  .byte  196,227,53,74,192,160               // vblendvps     %ymm10,%ymm0,%ymm9,%ymm0
+  .byte  197,124,88,200                      // vaddps        %ymm0,%ymm0,%ymm9
+  .byte  196,65,52,88,201                    // vaddps        %ymm9,%ymm9,%ymm9
+  .byte  196,65,52,89,209                    // vmulps        %ymm9,%ymm9,%ymm10
+  .byte  196,65,52,88,202                    // vaddps        %ymm10,%ymm9,%ymm9
+  .byte  196,65,124,88,211                   // vaddps        %ymm11,%ymm0,%ymm10
+  .byte  196,65,44,89,201                    // vmulps        %ymm9,%ymm10,%ymm9
+  .byte  196,65,124,89,213                   // vmulps        %ymm13,%ymm0,%ymm10
+  .byte  196,65,44,88,201                    // vaddps        %ymm9,%ymm10,%ymm9
+  .byte  197,124,82,208                      // vrsqrtps      %ymm0,%ymm10
+  .byte  196,65,124,83,210                   // vrcpps        %ymm10,%ymm10
+  .byte  197,44,92,208                       // vsubps        %ymm0,%ymm10,%ymm10
+  .byte  197,76,88,222                       // vaddps        %ymm6,%ymm6,%ymm11
+  .byte  196,65,36,88,219                    // vaddps        %ymm11,%ymm11,%ymm11
+  .byte  197,36,194,223,2                    // vcmpleps      %ymm7,%ymm11,%ymm11
+  .byte  196,67,45,74,201,176                // vblendvps     %ymm11,%ymm9,%ymm10,%ymm9
+  .byte  197,124,16,100,36,200               // vmovups       -0x38(%rsp),%ymm12
+  .byte  196,65,28,88,212                    // vaddps        %ymm12,%ymm12,%ymm10
+  .byte  197,44,92,219                       // vsubps        %ymm3,%ymm10,%ymm11
+  .byte  197,188,92,192                      // vsubps        %ymm0,%ymm8,%ymm0
+  .byte  197,164,89,192                      // vmulps        %ymm0,%ymm11,%ymm0
+  .byte  197,36,89,223                       // vmulps        %ymm7,%ymm11,%ymm11
+  .byte  196,65,36,89,201                    // vmulps        %ymm9,%ymm11,%ymm9
+  .byte  197,100,89,222                      // vmulps        %ymm6,%ymm3,%ymm11
+  .byte  196,65,36,88,201                    // vaddps        %ymm9,%ymm11,%ymm9
+  .byte  197,252,88,195                      // vaddps        %ymm3,%ymm0,%ymm0
+  .byte  197,252,89,198                      // vmulps        %ymm6,%ymm0,%ymm0
+  .byte  197,44,194,211,2                    // vcmpleps      %ymm3,%ymm10,%ymm10
+  .byte  196,99,53,74,200,160                // vblendvps     %ymm10,%ymm0,%ymm9,%ymm9
+  .byte  197,60,92,215                       // vsubps        %ymm7,%ymm8,%ymm10
+  .byte  197,172,89,193                      // vmulps        %ymm1,%ymm10,%ymm0
+  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
+  .byte  197,188,89,204                      // vmulps        %ymm4,%ymm8,%ymm1
+  .byte  197,244,88,192                      // vaddps        %ymm0,%ymm1,%ymm0
+  .byte  197,252,88,68,36,168                // vaddps        -0x58(%rsp),%ymm0,%ymm0
+  .byte  197,172,89,202                      // vmulps        %ymm2,%ymm10,%ymm1
+  .byte  197,188,89,213                      // vmulps        %ymm5,%ymm8,%ymm2
+  .byte  197,236,88,201                      // vaddps        %ymm1,%ymm2,%ymm1
+  .byte  196,193,116,88,206                  // vaddps        %ymm14,%ymm1,%ymm1
+  .byte  196,193,44,89,212                   // vmulps        %ymm12,%ymm10,%ymm2
+  .byte  197,60,89,214                       // vmulps        %ymm6,%ymm8,%ymm10
+  .byte  197,172,88,210                      // vaddps        %ymm2,%ymm10,%ymm2
+  .byte  196,193,108,88,209                  // vaddps        %ymm9,%ymm2,%ymm2
+  .byte  197,60,89,199                       // vmulps        %ymm7,%ymm8,%ymm8
+  .byte  197,188,88,219                      // vaddps        %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_hue_avx
+.globl _sk_hue_avx
+FUNCTION(_sk_hue_avx)
+_sk_hue_avx:
+  .byte  197,252,17,84,36,200                // vmovups       %ymm2,-0x38(%rsp)
+  .byte  197,124,40,193                      // vmovaps       %ymm1,%ymm8
+  .byte  197,124,17,68,36,168                // vmovups       %ymm8,-0x58(%rsp)
+  .byte  197,252,40,200                      // vmovaps       %ymm0,%ymm1
+  .byte  197,116,89,203                      // vmulps        %ymm3,%ymm1,%ymm9
+  .byte  197,60,89,211                       // vmulps        %ymm3,%ymm8,%ymm10
+  .byte  197,108,89,219                      // vmulps        %ymm3,%ymm2,%ymm11
+  .byte  197,84,95,198                       // vmaxps        %ymm6,%ymm5,%ymm8
+  .byte  196,65,92,95,192                    // vmaxps        %ymm8,%ymm4,%ymm8
+  .byte  197,84,93,230                       // vminps        %ymm6,%ymm5,%ymm12
+  .byte  196,65,92,93,228                    // vminps        %ymm12,%ymm4,%ymm12
+  .byte  196,65,60,92,196                    // vsubps        %ymm12,%ymm8,%ymm8
+  .byte  197,60,89,227                       // vmulps        %ymm3,%ymm8,%ymm12
+  .byte  196,65,44,93,195                    // vminps        %ymm11,%ymm10,%ymm8
+  .byte  196,65,52,93,232                    // vminps        %ymm8,%ymm9,%ymm13
+  .byte  196,65,44,95,195                    // vmaxps        %ymm11,%ymm10,%ymm8
+  .byte  196,65,52,95,192                    // vmaxps        %ymm8,%ymm9,%ymm8
+  .byte  196,65,60,92,245                    // vsubps        %ymm13,%ymm8,%ymm14
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  196,65,12,194,248,0                 // vcmpeqps      %ymm8,%ymm14,%ymm15
+  .byte  196,65,52,92,205                    // vsubps        %ymm13,%ymm9,%ymm9
+  .byte  196,65,28,89,201                    // vmulps        %ymm9,%ymm12,%ymm9
+  .byte  196,65,52,94,206                    // vdivps        %ymm14,%ymm9,%ymm9
+  .byte  196,67,53,74,200,240                // vblendvps     %ymm15,%ymm8,%ymm9,%ymm9
+  .byte  196,65,44,92,213                    // vsubps        %ymm13,%ymm10,%ymm10
+  .byte  196,65,28,89,210                    // vmulps        %ymm10,%ymm12,%ymm10
+  .byte  196,65,44,94,214                    // vdivps        %ymm14,%ymm10,%ymm10
+  .byte  196,67,45,74,208,240                // vblendvps     %ymm15,%ymm8,%ymm10,%ymm10
+  .byte  196,65,36,92,221                    // vsubps        %ymm13,%ymm11,%ymm11
+  .byte  196,65,28,89,219                    // vmulps        %ymm11,%ymm12,%ymm11
+  .byte  196,65,36,94,222                    // vdivps        %ymm14,%ymm11,%ymm11
+  .byte  196,67,37,74,224,240                // vblendvps     %ymm15,%ymm8,%ymm11,%ymm12
+  .byte  196,98,125,24,53,141,177,2,0        // vbroadcastss  0x2b18d(%rip),%ymm14        # 3c51c <_sk_srcover_bgra_8888_sse2_lowp+0x2d0>
+  .byte  196,65,92,89,222                    // vmulps        %ymm14,%ymm4,%ymm11
+  .byte  196,98,125,24,61,131,177,2,0        // vbroadcastss  0x2b183(%rip),%ymm15        # 3c520 <_sk_srcover_bgra_8888_sse2_lowp+0x2d4>
+  .byte  196,65,84,89,239                    // vmulps        %ymm15,%ymm5,%ymm13
+  .byte  196,65,36,88,221                    // vaddps        %ymm13,%ymm11,%ymm11
+  .byte  196,226,125,24,5,116,177,2,0        // vbroadcastss  0x2b174(%rip),%ymm0        # 3c524 <_sk_srcover_bgra_8888_sse2_lowp+0x2d8>
+  .byte  197,76,89,232                       // vmulps        %ymm0,%ymm6,%ymm13
+  .byte  196,65,36,88,221                    // vaddps        %ymm13,%ymm11,%ymm11
+  .byte  196,65,52,89,238                    // vmulps        %ymm14,%ymm9,%ymm13
+  .byte  196,193,44,89,215                   // vmulps        %ymm15,%ymm10,%ymm2
+  .byte  197,148,88,210                      // vaddps        %ymm2,%ymm13,%ymm2
+  .byte  197,28,89,232                       // vmulps        %ymm0,%ymm12,%ymm13
+  .byte  196,193,108,88,213                  // vaddps        %ymm13,%ymm2,%ymm2
+  .byte  197,36,89,219                       // vmulps        %ymm3,%ymm11,%ymm11
+  .byte  197,164,92,210                      // vsubps        %ymm2,%ymm11,%ymm2
+  .byte  197,52,88,202                       // vaddps        %ymm2,%ymm9,%ymm9
+  .byte  197,44,88,218                       // vaddps        %ymm2,%ymm10,%ymm11
+  .byte  197,28,88,226                       // vaddps        %ymm2,%ymm12,%ymm12
+  .byte  196,193,36,93,212                   // vminps        %ymm12,%ymm11,%ymm2
+  .byte  197,52,93,234                       // vminps        %ymm2,%ymm9,%ymm13
+  .byte  196,193,52,89,214                   // vmulps        %ymm14,%ymm9,%ymm2
+  .byte  196,65,36,89,215                    // vmulps        %ymm15,%ymm11,%ymm10
+  .byte  196,193,108,88,210                  // vaddps        %ymm10,%ymm2,%ymm2
+  .byte  197,156,89,192                      // vmulps        %ymm0,%ymm12,%ymm0
+  .byte  197,124,88,210                      // vaddps        %ymm2,%ymm0,%ymm10
+  .byte  196,193,52,92,194                   // vsubps        %ymm10,%ymm9,%ymm0
+  .byte  197,172,89,192                      // vmulps        %ymm0,%ymm10,%ymm0
+  .byte  196,193,44,92,213                   // vsubps        %ymm13,%ymm10,%ymm2
+  .byte  197,252,94,194                      // vdivps        %ymm2,%ymm0,%ymm0
+  .byte  196,65,36,92,242                    // vsubps        %ymm10,%ymm11,%ymm14
+  .byte  196,65,44,89,246                    // vmulps        %ymm14,%ymm10,%ymm14
+  .byte  197,12,94,242                       // vdivps        %ymm2,%ymm14,%ymm14
+  .byte  196,65,28,92,250                    // vsubps        %ymm10,%ymm12,%ymm15
+  .byte  196,65,44,89,255                    // vmulps        %ymm15,%ymm10,%ymm15
+  .byte  197,132,94,210                      // vdivps        %ymm2,%ymm15,%ymm2
+  .byte  196,65,60,194,237,2                 // vcmpleps      %ymm13,%ymm8,%ymm13
+  .byte  196,65,44,88,246                    // vaddps        %ymm14,%ymm10,%ymm14
+  .byte  196,67,13,74,243,208                // vblendvps     %ymm13,%ymm11,%ymm14,%ymm14
+  .byte  196,65,36,95,220                    // vmaxps        %ymm12,%ymm11,%ymm11
+  .byte  197,172,88,210                      // vaddps        %ymm2,%ymm10,%ymm2
+  .byte  196,195,109,74,212,208              // vblendvps     %ymm13,%ymm12,%ymm2,%ymm2
+  .byte  197,172,88,192                      // vaddps        %ymm0,%ymm10,%ymm0
+  .byte  196,195,125,74,193,208              // vblendvps     %ymm13,%ymm9,%ymm0,%ymm0
+  .byte  197,100,89,231                      // vmulps        %ymm7,%ymm3,%ymm12
+  .byte  196,65,52,95,203                    // vmaxps        %ymm11,%ymm9,%ymm9
+  .byte  196,65,124,92,218                   // vsubps        %ymm10,%ymm0,%ymm11
+  .byte  196,65,28,92,234                    // vsubps        %ymm10,%ymm12,%ymm13
+  .byte  196,65,20,89,219                    // vmulps        %ymm11,%ymm13,%ymm11
+  .byte  196,65,28,194,249,1                 // vcmpltps      %ymm9,%ymm12,%ymm15
+  .byte  196,65,52,92,202                    // vsubps        %ymm10,%ymm9,%ymm9
+  .byte  196,65,36,94,217                    // vdivps        %ymm9,%ymm11,%ymm11
+  .byte  196,65,44,88,219                    // vaddps        %ymm11,%ymm10,%ymm11
+  .byte  196,195,125,74,195,240              // vblendvps     %ymm15,%ymm11,%ymm0,%ymm0
+  .byte  196,65,12,92,218                    // vsubps        %ymm10,%ymm14,%ymm11
+  .byte  196,65,20,89,219                    // vmulps        %ymm11,%ymm13,%ymm11
+  .byte  196,65,36,94,217                    // vdivps        %ymm9,%ymm11,%ymm11
+  .byte  196,65,44,88,219                    // vaddps        %ymm11,%ymm10,%ymm11
+  .byte  196,67,13,74,219,240                // vblendvps     %ymm15,%ymm11,%ymm14,%ymm11
+  .byte  196,65,108,92,242                   // vsubps        %ymm10,%ymm2,%ymm14
+  .byte  196,65,20,89,238                    // vmulps        %ymm14,%ymm13,%ymm13
+  .byte  196,65,20,94,201                    // vdivps        %ymm9,%ymm13,%ymm9
+  .byte  196,65,44,88,201                    // vaddps        %ymm9,%ymm10,%ymm9
+  .byte  196,193,124,95,192                  // vmaxps        %ymm8,%ymm0,%ymm0
+  .byte  196,65,36,95,208                    // vmaxps        %ymm8,%ymm11,%ymm10
+  .byte  196,195,109,74,209,240              // vblendvps     %ymm15,%ymm9,%ymm2,%ymm2
+  .byte  196,193,108,95,208                  // vmaxps        %ymm8,%ymm2,%ymm2
+  .byte  196,98,125,24,5,33,176,2,0          // vbroadcastss  0x2b021(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,207                       // vsubps        %ymm7,%ymm8,%ymm9
+  .byte  197,180,89,201                      // vmulps        %ymm1,%ymm9,%ymm1
+  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
+  .byte  197,60,89,220                       // vmulps        %ymm4,%ymm8,%ymm11
+  .byte  197,164,88,201                      // vaddps        %ymm1,%ymm11,%ymm1
+  .byte  197,244,88,192                      // vaddps        %ymm0,%ymm1,%ymm0
+  .byte  197,180,89,76,36,168                // vmulps        -0x58(%rsp),%ymm9,%ymm1
+  .byte  197,60,89,221                       // vmulps        %ymm5,%ymm8,%ymm11
+  .byte  197,164,88,201                      // vaddps        %ymm1,%ymm11,%ymm1
+  .byte  196,193,116,88,202                  // vaddps        %ymm10,%ymm1,%ymm1
+  .byte  197,52,89,76,36,200                 // vmulps        -0x38(%rsp),%ymm9,%ymm9
+  .byte  197,60,89,198                       // vmulps        %ymm6,%ymm8,%ymm8
+  .byte  196,65,60,88,193                    // vaddps        %ymm9,%ymm8,%ymm8
+  .byte  197,188,88,210                      // vaddps        %ymm2,%ymm8,%ymm2
+  .byte  197,228,88,223                      // vaddps        %ymm7,%ymm3,%ymm3
+  .byte  196,193,100,92,220                  // vsubps        %ymm12,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_saturation_avx
+.globl _sk_saturation_avx
+FUNCTION(_sk_saturation_avx)
+_sk_saturation_avx:
+  .byte  197,124,40,193                      // vmovaps       %ymm1,%ymm8
+  .byte  197,252,40,200                      // vmovaps       %ymm0,%ymm1
+  .byte  197,100,89,204                      // vmulps        %ymm4,%ymm3,%ymm9
+  .byte  197,100,89,213                      // vmulps        %ymm5,%ymm3,%ymm10
+  .byte  197,100,89,222                      // vmulps        %ymm6,%ymm3,%ymm11
+  .byte  197,252,17,84,36,200                // vmovups       %ymm2,-0x38(%rsp)
+  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
+  .byte  197,252,17,68,36,168                // vmovups       %ymm0,-0x58(%rsp)
+  .byte  197,124,95,194                      // vmaxps        %ymm2,%ymm0,%ymm8
+  .byte  196,65,116,95,192                   // vmaxps        %ymm8,%ymm1,%ymm8
+  .byte  197,124,93,226                      // vminps        %ymm2,%ymm0,%ymm12
+  .byte  196,65,116,93,228                   // vminps        %ymm12,%ymm1,%ymm12
+  .byte  196,65,60,92,196                    // vsubps        %ymm12,%ymm8,%ymm8
+  .byte  197,60,89,231                       // vmulps        %ymm7,%ymm8,%ymm12
+  .byte  196,65,44,93,195                    // vminps        %ymm11,%ymm10,%ymm8
+  .byte  196,65,52,93,232                    // vminps        %ymm8,%ymm9,%ymm13
+  .byte  196,65,44,95,195                    // vmaxps        %ymm11,%ymm10,%ymm8
+  .byte  196,65,52,95,192                    // vmaxps        %ymm8,%ymm9,%ymm8
+  .byte  196,65,60,92,245                    // vsubps        %ymm13,%ymm8,%ymm14
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  196,65,12,194,248,0                 // vcmpeqps      %ymm8,%ymm14,%ymm15
+  .byte  196,65,52,92,205                    // vsubps        %ymm13,%ymm9,%ymm9
+  .byte  196,65,28,89,201                    // vmulps        %ymm9,%ymm12,%ymm9
+  .byte  196,65,52,94,206                    // vdivps        %ymm14,%ymm9,%ymm9
+  .byte  196,67,53,74,200,240                // vblendvps     %ymm15,%ymm8,%ymm9,%ymm9
+  .byte  196,65,44,92,213                    // vsubps        %ymm13,%ymm10,%ymm10
+  .byte  196,65,28,89,210                    // vmulps        %ymm10,%ymm12,%ymm10
+  .byte  196,65,44,94,214                    // vdivps        %ymm14,%ymm10,%ymm10
+  .byte  196,67,45,74,208,240                // vblendvps     %ymm15,%ymm8,%ymm10,%ymm10
+  .byte  196,65,36,92,221                    // vsubps        %ymm13,%ymm11,%ymm11
+  .byte  196,65,28,89,219                    // vmulps        %ymm11,%ymm12,%ymm11
+  .byte  196,65,36,94,222                    // vdivps        %ymm14,%ymm11,%ymm11
+  .byte  196,67,37,74,224,240                // vblendvps     %ymm15,%ymm8,%ymm11,%ymm12
+  .byte  196,98,125,24,53,75,175,2,0         // vbroadcastss  0x2af4b(%rip),%ymm14        # 3c51c <_sk_srcover_bgra_8888_sse2_lowp+0x2d0>
+  .byte  196,65,92,89,222                    // vmulps        %ymm14,%ymm4,%ymm11
+  .byte  196,98,125,24,61,65,175,2,0         // vbroadcastss  0x2af41(%rip),%ymm15        # 3c520 <_sk_srcover_bgra_8888_sse2_lowp+0x2d4>
+  .byte  196,65,84,89,239                    // vmulps        %ymm15,%ymm5,%ymm13
+  .byte  196,65,36,88,221                    // vaddps        %ymm13,%ymm11,%ymm11
+  .byte  196,226,125,24,5,50,175,2,0         // vbroadcastss  0x2af32(%rip),%ymm0        # 3c524 <_sk_srcover_bgra_8888_sse2_lowp+0x2d8>
+  .byte  197,76,89,232                       // vmulps        %ymm0,%ymm6,%ymm13
+  .byte  196,65,36,88,221                    // vaddps        %ymm13,%ymm11,%ymm11
+  .byte  196,65,52,89,238                    // vmulps        %ymm14,%ymm9,%ymm13
+  .byte  196,193,44,89,215                   // vmulps        %ymm15,%ymm10,%ymm2
+  .byte  197,148,88,210                      // vaddps        %ymm2,%ymm13,%ymm2
+  .byte  197,28,89,232                       // vmulps        %ymm0,%ymm12,%ymm13
+  .byte  196,193,108,88,213                  // vaddps        %ymm13,%ymm2,%ymm2
+  .byte  197,36,89,219                       // vmulps        %ymm3,%ymm11,%ymm11
+  .byte  197,164,92,210                      // vsubps        %ymm2,%ymm11,%ymm2
+  .byte  197,52,88,202                       // vaddps        %ymm2,%ymm9,%ymm9
+  .byte  197,44,88,218                       // vaddps        %ymm2,%ymm10,%ymm11
+  .byte  197,28,88,226                       // vaddps        %ymm2,%ymm12,%ymm12
+  .byte  196,193,36,93,212                   // vminps        %ymm12,%ymm11,%ymm2
+  .byte  197,52,93,234                       // vminps        %ymm2,%ymm9,%ymm13
+  .byte  196,193,52,89,214                   // vmulps        %ymm14,%ymm9,%ymm2
+  .byte  196,65,36,89,215                    // vmulps        %ymm15,%ymm11,%ymm10
+  .byte  196,193,108,88,210                  // vaddps        %ymm10,%ymm2,%ymm2
+  .byte  197,156,89,192                      // vmulps        %ymm0,%ymm12,%ymm0
+  .byte  197,124,88,210                      // vaddps        %ymm2,%ymm0,%ymm10
+  .byte  196,193,52,92,194                   // vsubps        %ymm10,%ymm9,%ymm0
+  .byte  197,172,89,192                      // vmulps        %ymm0,%ymm10,%ymm0
+  .byte  196,193,44,92,213                   // vsubps        %ymm13,%ymm10,%ymm2
+  .byte  197,252,94,194                      // vdivps        %ymm2,%ymm0,%ymm0
+  .byte  196,65,36,92,242                    // vsubps        %ymm10,%ymm11,%ymm14
+  .byte  196,65,44,89,246                    // vmulps        %ymm14,%ymm10,%ymm14
+  .byte  197,12,94,242                       // vdivps        %ymm2,%ymm14,%ymm14
+  .byte  196,65,28,92,250                    // vsubps        %ymm10,%ymm12,%ymm15
+  .byte  196,65,44,89,255                    // vmulps        %ymm15,%ymm10,%ymm15
+  .byte  197,132,94,210                      // vdivps        %ymm2,%ymm15,%ymm2
+  .byte  196,65,60,194,237,2                 // vcmpleps      %ymm13,%ymm8,%ymm13
+  .byte  196,65,44,88,246                    // vaddps        %ymm14,%ymm10,%ymm14
+  .byte  196,67,13,74,243,208                // vblendvps     %ymm13,%ymm11,%ymm14,%ymm14
+  .byte  196,65,36,95,220                    // vmaxps        %ymm12,%ymm11,%ymm11
+  .byte  197,172,88,210                      // vaddps        %ymm2,%ymm10,%ymm2
+  .byte  196,195,109,74,212,208              // vblendvps     %ymm13,%ymm12,%ymm2,%ymm2
+  .byte  197,172,88,192                      // vaddps        %ymm0,%ymm10,%ymm0
+  .byte  196,195,125,74,193,208              // vblendvps     %ymm13,%ymm9,%ymm0,%ymm0
+  .byte  197,100,89,231                      // vmulps        %ymm7,%ymm3,%ymm12
+  .byte  196,65,52,95,203                    // vmaxps        %ymm11,%ymm9,%ymm9
+  .byte  196,65,124,92,218                   // vsubps        %ymm10,%ymm0,%ymm11
+  .byte  196,65,28,92,234                    // vsubps        %ymm10,%ymm12,%ymm13
+  .byte  196,65,20,89,219                    // vmulps        %ymm11,%ymm13,%ymm11
+  .byte  196,65,28,194,249,1                 // vcmpltps      %ymm9,%ymm12,%ymm15
+  .byte  196,65,52,92,202                    // vsubps        %ymm10,%ymm9,%ymm9
+  .byte  196,65,36,94,217                    // vdivps        %ymm9,%ymm11,%ymm11
+  .byte  196,65,44,88,219                    // vaddps        %ymm11,%ymm10,%ymm11
+  .byte  196,195,125,74,195,240              // vblendvps     %ymm15,%ymm11,%ymm0,%ymm0
+  .byte  196,65,12,92,218                    // vsubps        %ymm10,%ymm14,%ymm11
+  .byte  196,65,20,89,219                    // vmulps        %ymm11,%ymm13,%ymm11
+  .byte  196,65,36,94,217                    // vdivps        %ymm9,%ymm11,%ymm11
+  .byte  196,65,44,88,219                    // vaddps        %ymm11,%ymm10,%ymm11
+  .byte  196,67,13,74,219,240                // vblendvps     %ymm15,%ymm11,%ymm14,%ymm11
+  .byte  196,65,108,92,242                   // vsubps        %ymm10,%ymm2,%ymm14
+  .byte  196,65,20,89,238                    // vmulps        %ymm14,%ymm13,%ymm13
+  .byte  196,65,20,94,201                    // vdivps        %ymm9,%ymm13,%ymm9
+  .byte  196,65,44,88,201                    // vaddps        %ymm9,%ymm10,%ymm9
+  .byte  196,193,124,95,192                  // vmaxps        %ymm8,%ymm0,%ymm0
+  .byte  196,65,36,95,208                    // vmaxps        %ymm8,%ymm11,%ymm10
+  .byte  196,195,109,74,209,240              // vblendvps     %ymm15,%ymm9,%ymm2,%ymm2
+  .byte  196,193,108,95,208                  // vmaxps        %ymm8,%ymm2,%ymm2
+  .byte  196,98,125,24,5,223,173,2,0         // vbroadcastss  0x2addf(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,207                       // vsubps        %ymm7,%ymm8,%ymm9
+  .byte  197,180,89,201                      // vmulps        %ymm1,%ymm9,%ymm1
+  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
+  .byte  197,60,89,220                       // vmulps        %ymm4,%ymm8,%ymm11
+  .byte  197,164,88,201                      // vaddps        %ymm1,%ymm11,%ymm1
+  .byte  197,244,88,192                      // vaddps        %ymm0,%ymm1,%ymm0
+  .byte  197,180,89,76,36,168                // vmulps        -0x58(%rsp),%ymm9,%ymm1
+  .byte  197,60,89,221                       // vmulps        %ymm5,%ymm8,%ymm11
+  .byte  197,164,88,201                      // vaddps        %ymm1,%ymm11,%ymm1
+  .byte  196,193,116,88,202                  // vaddps        %ymm10,%ymm1,%ymm1
+  .byte  197,52,89,76,36,200                 // vmulps        -0x38(%rsp),%ymm9,%ymm9
+  .byte  197,60,89,198                       // vmulps        %ymm6,%ymm8,%ymm8
+  .byte  196,65,60,88,193                    // vaddps        %ymm9,%ymm8,%ymm8
+  .byte  197,188,88,210                      // vaddps        %ymm2,%ymm8,%ymm2
+  .byte  197,228,88,223                      // vaddps        %ymm7,%ymm3,%ymm3
+  .byte  196,193,100,92,220                  // vsubps        %ymm12,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_color_avx
+.globl _sk_color_avx
+FUNCTION(_sk_color_avx)
+_sk_color_avx:
+  .byte  197,252,17,84,36,136                // vmovups       %ymm2,-0x78(%rsp)
+  .byte  197,252,17,76,36,200                // vmovups       %ymm1,-0x38(%rsp)
+  .byte  197,252,17,68,36,168                // vmovups       %ymm0,-0x58(%rsp)
+  .byte  197,124,89,199                      // vmulps        %ymm7,%ymm0,%ymm8
+  .byte  197,116,89,207                      // vmulps        %ymm7,%ymm1,%ymm9
+  .byte  196,98,125,24,45,145,173,2,0        // vbroadcastss  0x2ad91(%rip),%ymm13        # 3c51c <_sk_srcover_bgra_8888_sse2_lowp+0x2d0>
+  .byte  196,65,92,89,213                    // vmulps        %ymm13,%ymm4,%ymm10
+  .byte  196,98,125,24,53,135,173,2,0        // vbroadcastss  0x2ad87(%rip),%ymm14        # 3c520 <_sk_srcover_bgra_8888_sse2_lowp+0x2d4>
+  .byte  196,65,84,89,222                    // vmulps        %ymm14,%ymm5,%ymm11
+  .byte  196,65,44,88,211                    // vaddps        %ymm11,%ymm10,%ymm10
+  .byte  196,98,125,24,61,120,173,2,0        // vbroadcastss  0x2ad78(%rip),%ymm15        # 3c524 <_sk_srcover_bgra_8888_sse2_lowp+0x2d8>
+  .byte  196,65,76,89,223                    // vmulps        %ymm15,%ymm6,%ymm11
+  .byte  196,193,44,88,195                   // vaddps        %ymm11,%ymm10,%ymm0
+  .byte  196,65,60,89,221                    // vmulps        %ymm13,%ymm8,%ymm11
+  .byte  196,65,52,89,230                    // vmulps        %ymm14,%ymm9,%ymm12
+  .byte  196,65,36,88,220                    // vaddps        %ymm12,%ymm11,%ymm11
+  .byte  197,108,89,231                      // vmulps        %ymm7,%ymm2,%ymm12
+  .byte  196,65,28,89,215                    // vmulps        %ymm15,%ymm12,%ymm10
+  .byte  196,65,44,88,211                    // vaddps        %ymm11,%ymm10,%ymm10
+  .byte  197,252,89,195                      // vmulps        %ymm3,%ymm0,%ymm0
+  .byte  196,193,124,92,194                  // vsubps        %ymm10,%ymm0,%ymm0
+  .byte  197,60,88,192                       // vaddps        %ymm0,%ymm8,%ymm8
+  .byte  197,52,88,208                       // vaddps        %ymm0,%ymm9,%ymm10
+  .byte  197,28,88,216                       // vaddps        %ymm0,%ymm12,%ymm11
+  .byte  196,193,44,93,195                   // vminps        %ymm11,%ymm10,%ymm0
+  .byte  197,60,93,224                       // vminps        %ymm0,%ymm8,%ymm12
+  .byte  196,193,60,89,197                   // vmulps        %ymm13,%ymm8,%ymm0
+  .byte  196,65,44,89,206                    // vmulps        %ymm14,%ymm10,%ymm9
+  .byte  196,193,124,88,193                  // vaddps        %ymm9,%ymm0,%ymm0
+  .byte  196,65,36,89,207                    // vmulps        %ymm15,%ymm11,%ymm9
+  .byte  197,52,88,200                       // vaddps        %ymm0,%ymm9,%ymm9
+  .byte  196,193,60,92,193                   // vsubps        %ymm9,%ymm8,%ymm0
+  .byte  197,180,89,192                      // vmulps        %ymm0,%ymm9,%ymm0
+  .byte  196,65,52,92,236                    // vsubps        %ymm12,%ymm9,%ymm13
+  .byte  196,193,124,94,197                  // vdivps        %ymm13,%ymm0,%ymm0
+  .byte  196,65,44,92,241                    // vsubps        %ymm9,%ymm10,%ymm14
+  .byte  196,65,52,89,246                    // vmulps        %ymm14,%ymm9,%ymm14
+  .byte  196,65,12,94,245                    // vdivps        %ymm13,%ymm14,%ymm14
+  .byte  196,65,36,92,249                    // vsubps        %ymm9,%ymm11,%ymm15
+  .byte  196,65,52,89,255                    // vmulps        %ymm15,%ymm9,%ymm15
+  .byte  196,65,4,94,237                     // vdivps        %ymm13,%ymm15,%ymm13
+  .byte  196,65,4,87,255                     // vxorps        %ymm15,%ymm15,%ymm15
+  .byte  196,65,4,194,228,2                  // vcmpleps      %ymm12,%ymm15,%ymm12
+  .byte  196,65,52,88,246                    // vaddps        %ymm14,%ymm9,%ymm14
+  .byte  196,67,13,74,242,192                // vblendvps     %ymm12,%ymm10,%ymm14,%ymm14
+  .byte  196,65,44,95,211                    // vmaxps        %ymm11,%ymm10,%ymm10
+  .byte  196,65,52,88,237                    // vaddps        %ymm13,%ymm9,%ymm13
+  .byte  196,67,21,74,219,192                // vblendvps     %ymm12,%ymm11,%ymm13,%ymm11
+  .byte  197,180,88,192                      // vaddps        %ymm0,%ymm9,%ymm0
+  .byte  196,195,125,74,200,192              // vblendvps     %ymm12,%ymm8,%ymm0,%ymm1
+  .byte  197,100,89,231                      // vmulps        %ymm7,%ymm3,%ymm12
+  .byte  196,65,60,95,194                    // vmaxps        %ymm10,%ymm8,%ymm8
+  .byte  196,65,116,92,209                   // vsubps        %ymm9,%ymm1,%ymm10
+  .byte  196,65,28,92,233                    // vsubps        %ymm9,%ymm12,%ymm13
+  .byte  196,65,20,89,210                    // vmulps        %ymm10,%ymm13,%ymm10
+  .byte  196,193,28,194,192,1                // vcmpltps      %ymm8,%ymm12,%ymm0
+  .byte  196,65,60,92,193                    // vsubps        %ymm9,%ymm8,%ymm8
+  .byte  196,65,44,94,208                    // vdivps        %ymm8,%ymm10,%ymm10
+  .byte  196,65,52,88,210                    // vaddps        %ymm10,%ymm9,%ymm10
+  .byte  196,195,117,74,202,0                // vblendvps     %ymm0,%ymm10,%ymm1,%ymm1
+  .byte  196,65,12,92,209                    // vsubps        %ymm9,%ymm14,%ymm10
+  .byte  196,65,20,89,210                    // vmulps        %ymm10,%ymm13,%ymm10
+  .byte  196,65,44,94,208                    // vdivps        %ymm8,%ymm10,%ymm10
+  .byte  196,65,52,88,210                    // vaddps        %ymm10,%ymm9,%ymm10
+  .byte  196,67,13,74,210,0                  // vblendvps     %ymm0,%ymm10,%ymm14,%ymm10
+  .byte  196,65,36,92,241                    // vsubps        %ymm9,%ymm11,%ymm14
+  .byte  196,65,20,89,238                    // vmulps        %ymm14,%ymm13,%ymm13
+  .byte  196,65,20,94,192                    // vdivps        %ymm8,%ymm13,%ymm8
+  .byte  196,65,52,88,192                    // vaddps        %ymm8,%ymm9,%ymm8
+  .byte  196,193,116,95,207                  // vmaxps        %ymm15,%ymm1,%ymm1
+  .byte  196,65,44,95,207                    // vmaxps        %ymm15,%ymm10,%ymm9
+  .byte  196,195,37,74,192,0                 // vblendvps     %ymm0,%ymm8,%ymm11,%ymm0
+  .byte  196,65,124,95,199                   // vmaxps        %ymm15,%ymm0,%ymm8
+  .byte  196,226,125,24,5,19,172,2,0         // vbroadcastss  0x2ac13(%rip),%ymm0        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,124,92,215                      // vsubps        %ymm7,%ymm0,%ymm10
+  .byte  197,172,89,84,36,168                // vmulps        -0x58(%rsp),%ymm10,%ymm2
+  .byte  197,124,92,219                      // vsubps        %ymm3,%ymm0,%ymm11
+  .byte  197,164,89,196                      // vmulps        %ymm4,%ymm11,%ymm0
+  .byte  197,252,88,194                      // vaddps        %ymm2,%ymm0,%ymm0
+  .byte  197,252,88,193                      // vaddps        %ymm1,%ymm0,%ymm0
+  .byte  197,172,89,76,36,200                // vmulps        -0x38(%rsp),%ymm10,%ymm1
+  .byte  197,164,89,213                      // vmulps        %ymm5,%ymm11,%ymm2
+  .byte  197,236,88,201                      // vaddps        %ymm1,%ymm2,%ymm1
+  .byte  196,193,116,88,201                  // vaddps        %ymm9,%ymm1,%ymm1
+  .byte  197,172,89,84,36,136                // vmulps        -0x78(%rsp),%ymm10,%ymm2
+  .byte  197,36,89,206                       // vmulps        %ymm6,%ymm11,%ymm9
+  .byte  197,180,88,210                      // vaddps        %ymm2,%ymm9,%ymm2
+  .byte  196,193,108,88,208                  // vaddps        %ymm8,%ymm2,%ymm2
+  .byte  197,228,88,223                      // vaddps        %ymm7,%ymm3,%ymm3
+  .byte  196,193,100,92,220                  // vsubps        %ymm12,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_luminosity_avx
+.globl _sk_luminosity_avx
+FUNCTION(_sk_luminosity_avx)
+_sk_luminosity_avx:
+  .byte  197,124,40,226                      // vmovaps       %ymm2,%ymm12
+  .byte  197,124,17,100,36,168               // vmovups       %ymm12,-0x58(%rsp)
+  .byte  197,252,17,76,36,200                // vmovups       %ymm1,-0x38(%rsp)
+  .byte  197,252,40,208                      // vmovaps       %ymm0,%ymm2
+  .byte  197,100,89,196                      // vmulps        %ymm4,%ymm3,%ymm8
+  .byte  197,100,89,205                      // vmulps        %ymm5,%ymm3,%ymm9
+  .byte  196,98,125,24,45,193,171,2,0        // vbroadcastss  0x2abc1(%rip),%ymm13        # 3c51c <_sk_srcover_bgra_8888_sse2_lowp+0x2d0>
+  .byte  196,65,108,89,213                   // vmulps        %ymm13,%ymm2,%ymm10
+  .byte  196,98,125,24,53,183,171,2,0        // vbroadcastss  0x2abb7(%rip),%ymm14        # 3c520 <_sk_srcover_bgra_8888_sse2_lowp+0x2d4>
+  .byte  196,65,116,89,222                   // vmulps        %ymm14,%ymm1,%ymm11
+  .byte  196,65,44,88,211                    // vaddps        %ymm11,%ymm10,%ymm10
+  .byte  196,98,125,24,61,168,171,2,0        // vbroadcastss  0x2aba8(%rip),%ymm15        # 3c524 <_sk_srcover_bgra_8888_sse2_lowp+0x2d8>
+  .byte  196,65,28,89,223                    // vmulps        %ymm15,%ymm12,%ymm11
+  .byte  196,193,44,88,195                   // vaddps        %ymm11,%ymm10,%ymm0
+  .byte  196,65,60,89,221                    // vmulps        %ymm13,%ymm8,%ymm11
+  .byte  196,65,52,89,230                    // vmulps        %ymm14,%ymm9,%ymm12
+  .byte  196,65,36,88,220                    // vaddps        %ymm12,%ymm11,%ymm11
+  .byte  197,100,89,230                      // vmulps        %ymm6,%ymm3,%ymm12
+  .byte  196,65,28,89,215                    // vmulps        %ymm15,%ymm12,%ymm10
+  .byte  196,65,36,88,210                    // vaddps        %ymm10,%ymm11,%ymm10
+  .byte  197,252,89,199                      // vmulps        %ymm7,%ymm0,%ymm0
+  .byte  196,193,124,92,194                  // vsubps        %ymm10,%ymm0,%ymm0
+  .byte  197,60,88,192                       // vaddps        %ymm0,%ymm8,%ymm8
+  .byte  197,52,88,208                       // vaddps        %ymm0,%ymm9,%ymm10
+  .byte  197,28,88,216                       // vaddps        %ymm0,%ymm12,%ymm11
+  .byte  196,193,44,93,195                   // vminps        %ymm11,%ymm10,%ymm0
+  .byte  197,60,93,224                       // vminps        %ymm0,%ymm8,%ymm12
+  .byte  196,193,60,89,197                   // vmulps        %ymm13,%ymm8,%ymm0
+  .byte  196,65,44,89,206                    // vmulps        %ymm14,%ymm10,%ymm9
+  .byte  196,193,124,88,193                  // vaddps        %ymm9,%ymm0,%ymm0
+  .byte  196,65,36,89,207                    // vmulps        %ymm15,%ymm11,%ymm9
+  .byte  197,52,88,200                       // vaddps        %ymm0,%ymm9,%ymm9
+  .byte  196,193,60,92,193                   // vsubps        %ymm9,%ymm8,%ymm0
+  .byte  197,180,89,192                      // vmulps        %ymm0,%ymm9,%ymm0
+  .byte  196,65,52,92,236                    // vsubps        %ymm12,%ymm9,%ymm13
+  .byte  196,193,124,94,197                  // vdivps        %ymm13,%ymm0,%ymm0
+  .byte  196,65,44,92,241                    // vsubps        %ymm9,%ymm10,%ymm14
+  .byte  196,65,52,89,246                    // vmulps        %ymm14,%ymm9,%ymm14
+  .byte  196,65,12,94,245                    // vdivps        %ymm13,%ymm14,%ymm14
+  .byte  196,65,36,92,249                    // vsubps        %ymm9,%ymm11,%ymm15
+  .byte  196,65,52,89,255                    // vmulps        %ymm15,%ymm9,%ymm15
+  .byte  196,65,4,94,237                     // vdivps        %ymm13,%ymm15,%ymm13
+  .byte  196,65,4,87,255                     // vxorps        %ymm15,%ymm15,%ymm15
+  .byte  196,65,4,194,228,2                  // vcmpleps      %ymm12,%ymm15,%ymm12
+  .byte  196,65,52,88,246                    // vaddps        %ymm14,%ymm9,%ymm14
+  .byte  196,67,13,74,242,192                // vblendvps     %ymm12,%ymm10,%ymm14,%ymm14
+  .byte  196,65,44,95,211                    // vmaxps        %ymm11,%ymm10,%ymm10
+  .byte  196,65,52,88,237                    // vaddps        %ymm13,%ymm9,%ymm13
+  .byte  196,67,21,74,219,192                // vblendvps     %ymm12,%ymm11,%ymm13,%ymm11
+  .byte  197,180,88,192                      // vaddps        %ymm0,%ymm9,%ymm0
+  .byte  196,195,125,74,200,192              // vblendvps     %ymm12,%ymm8,%ymm0,%ymm1
+  .byte  197,100,89,231                      // vmulps        %ymm7,%ymm3,%ymm12
+  .byte  196,65,60,95,194                    // vmaxps        %ymm10,%ymm8,%ymm8
+  .byte  196,65,116,92,209                   // vsubps        %ymm9,%ymm1,%ymm10
+  .byte  196,65,28,92,233                    // vsubps        %ymm9,%ymm12,%ymm13
+  .byte  196,65,20,89,210                    // vmulps        %ymm10,%ymm13,%ymm10
+  .byte  196,193,28,194,192,1                // vcmpltps      %ymm8,%ymm12,%ymm0
+  .byte  196,65,60,92,193                    // vsubps        %ymm9,%ymm8,%ymm8
+  .byte  196,65,44,94,208                    // vdivps        %ymm8,%ymm10,%ymm10
+  .byte  196,65,52,88,210                    // vaddps        %ymm10,%ymm9,%ymm10
+  .byte  196,195,117,74,202,0                // vblendvps     %ymm0,%ymm10,%ymm1,%ymm1
+  .byte  196,65,12,92,209                    // vsubps        %ymm9,%ymm14,%ymm10
+  .byte  196,65,20,89,210                    // vmulps        %ymm10,%ymm13,%ymm10
+  .byte  196,65,44,94,208                    // vdivps        %ymm8,%ymm10,%ymm10
+  .byte  196,65,52,88,210                    // vaddps        %ymm10,%ymm9,%ymm10
+  .byte  196,67,13,74,210,0                  // vblendvps     %ymm0,%ymm10,%ymm14,%ymm10
+  .byte  196,65,36,92,241                    // vsubps        %ymm9,%ymm11,%ymm14
+  .byte  196,65,20,89,238                    // vmulps        %ymm14,%ymm13,%ymm13
+  .byte  196,65,20,94,192                    // vdivps        %ymm8,%ymm13,%ymm8
+  .byte  196,65,52,88,192                    // vaddps        %ymm8,%ymm9,%ymm8
+  .byte  196,193,116,95,207                  // vmaxps        %ymm15,%ymm1,%ymm1
+  .byte  196,65,44,95,207                    // vmaxps        %ymm15,%ymm10,%ymm9
+  .byte  196,195,37,74,192,0                 // vblendvps     %ymm0,%ymm8,%ymm11,%ymm0
+  .byte  196,65,124,95,199                   // vmaxps        %ymm15,%ymm0,%ymm8
+  .byte  196,226,125,24,5,67,170,2,0         // vbroadcastss  0x2aa43(%rip),%ymm0        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,124,92,215                      // vsubps        %ymm7,%ymm0,%ymm10
+  .byte  197,172,89,210                      // vmulps        %ymm2,%ymm10,%ymm2
+  .byte  197,124,92,219                      // vsubps        %ymm3,%ymm0,%ymm11
+  .byte  197,164,89,196                      // vmulps        %ymm4,%ymm11,%ymm0
+  .byte  197,252,88,194                      // vaddps        %ymm2,%ymm0,%ymm0
+  .byte  197,252,88,193                      // vaddps        %ymm1,%ymm0,%ymm0
+  .byte  197,172,89,76,36,200                // vmulps        -0x38(%rsp),%ymm10,%ymm1
+  .byte  197,164,89,213                      // vmulps        %ymm5,%ymm11,%ymm2
+  .byte  197,236,88,201                      // vaddps        %ymm1,%ymm2,%ymm1
+  .byte  196,193,116,88,201                  // vaddps        %ymm9,%ymm1,%ymm1
+  .byte  197,172,89,84,36,168                // vmulps        -0x58(%rsp),%ymm10,%ymm2
+  .byte  197,36,89,206                       // vmulps        %ymm6,%ymm11,%ymm9
+  .byte  197,180,88,210                      // vaddps        %ymm2,%ymm9,%ymm2
+  .byte  196,193,108,88,208                  // vaddps        %ymm8,%ymm2,%ymm2
+  .byte  197,228,88,223                      // vaddps        %ymm7,%ymm3,%ymm3
+  .byte  196,193,100,92,220                  // vsubps        %ymm12,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_srcover_rgba_8888_avx
+.globl _sk_srcover_rgba_8888_avx
+FUNCTION(_sk_srcover_rgba_8888_avx)
+_sk_srcover_rgba_8888_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,87,1,0,0                     // jne           11c75 <_sk_srcover_rgba_8888_avx+0x171>
+  .byte  196,65,125,16,12,144                // vmovupd       (%r8,%rdx,4),%ymm9
+  .byte  197,125,40,5,180,175,2,0            // vmovapd       0x2afb4(%rip),%ymm8        # 3cae0 <_sk_srcover_bgra_8888_sse2_lowp+0x894>
+  .byte  196,193,53,84,224                   // vandpd        %ymm8,%ymm9,%ymm4
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  196,193,81,114,209,8                // vpsrld        $0x8,%xmm9,%xmm5
+  .byte  196,99,125,25,207,1                 // vextractf128  $0x1,%ymm9,%xmm7
+  .byte  197,201,114,215,8                   // vpsrld        $0x8,%xmm7,%xmm6
+  .byte  196,227,85,24,238,1                 // vinsertf128   $0x1,%xmm6,%ymm5,%ymm5
+  .byte  196,193,85,84,232                   // vandpd        %ymm8,%ymm5,%ymm5
+  .byte  197,252,91,237                      // vcvtdq2ps     %ymm5,%ymm5
+  .byte  196,193,41,114,209,16               // vpsrld        $0x10,%xmm9,%xmm10
+  .byte  197,201,114,215,16                  // vpsrld        $0x10,%xmm7,%xmm6
+  .byte  196,227,45,24,246,1                 // vinsertf128   $0x1,%xmm6,%ymm10,%ymm6
+  .byte  196,193,77,84,240                   // vandpd        %ymm8,%ymm6,%ymm6
+  .byte  196,65,61,87,192                    // vxorpd        %ymm8,%ymm8,%ymm8
+  .byte  197,252,91,246                      // vcvtdq2ps     %ymm6,%ymm6
+  .byte  196,193,49,114,209,24               // vpsrld        $0x18,%xmm9,%xmm9
+  .byte  197,193,114,215,24                  // vpsrld        $0x18,%xmm7,%xmm7
+  .byte  196,227,53,24,255,1                 // vinsertf128   $0x1,%xmm7,%ymm9,%ymm7
+  .byte  197,252,91,255                      // vcvtdq2ps     %ymm7,%ymm7
+  .byte  196,98,125,24,13,106,169,2,0        // vbroadcastss  0x2a96a(%rip),%ymm9        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,52,92,211                       // vsubps        %ymm3,%ymm9,%ymm10
+  .byte  196,98,125,24,13,137,169,2,0        // vbroadcastss  0x2a989(%rip),%ymm9        # 3c528 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  .byte  196,193,124,89,193                  // vmulps        %ymm9,%ymm0,%ymm0
+  .byte  197,44,89,220                       // vmulps        %ymm4,%ymm10,%ymm11
+  .byte  196,193,124,88,195                  // vaddps        %ymm11,%ymm0,%ymm0
+  .byte  196,193,116,89,201                  // vmulps        %ymm9,%ymm1,%ymm1
+  .byte  197,44,89,221                       // vmulps        %ymm5,%ymm10,%ymm11
+  .byte  196,193,116,88,203                  // vaddps        %ymm11,%ymm1,%ymm1
+  .byte  196,193,108,89,209                  // vmulps        %ymm9,%ymm2,%ymm2
+  .byte  197,44,89,222                       // vmulps        %ymm6,%ymm10,%ymm11
+  .byte  196,193,108,88,211                  // vaddps        %ymm11,%ymm2,%ymm2
+  .byte  196,193,100,89,217                  // vmulps        %ymm9,%ymm3,%ymm3
+  .byte  197,44,89,215                       // vmulps        %ymm7,%ymm10,%ymm10
+  .byte  196,193,100,88,218                  // vaddps        %ymm10,%ymm3,%ymm3
+  .byte  197,60,95,208                       // vmaxps        %ymm0,%ymm8,%ymm10
+  .byte  196,65,44,93,209                    // vminps        %ymm9,%ymm10,%ymm10
+  .byte  196,65,125,91,210                   // vcvtps2dq     %ymm10,%ymm10
+  .byte  197,60,95,217                       // vmaxps        %ymm1,%ymm8,%ymm11
+  .byte  196,65,36,93,217                    // vminps        %ymm9,%ymm11,%ymm11
+  .byte  196,65,125,91,219                   // vcvtps2dq     %ymm11,%ymm11
+  .byte  196,193,25,114,243,8                // vpslld        $0x8,%xmm11,%xmm12
+  .byte  196,67,125,25,219,1                 // vextractf128  $0x1,%ymm11,%xmm11
+  .byte  196,193,33,114,243,8                // vpslld        $0x8,%xmm11,%xmm11
+  .byte  196,67,29,24,219,1                  // vinsertf128   $0x1,%xmm11,%ymm12,%ymm11
+  .byte  196,65,37,86,210                    // vorpd         %ymm10,%ymm11,%ymm10
+  .byte  197,60,95,218                       // vmaxps        %ymm2,%ymm8,%ymm11
+  .byte  196,65,36,93,217                    // vminps        %ymm9,%ymm11,%ymm11
+  .byte  196,65,125,91,219                   // vcvtps2dq     %ymm11,%ymm11
+  .byte  196,193,25,114,243,16               // vpslld        $0x10,%xmm11,%xmm12
+  .byte  196,67,125,25,219,1                 // vextractf128  $0x1,%ymm11,%xmm11
+  .byte  196,193,33,114,243,16               // vpslld        $0x10,%xmm11,%xmm11
+  .byte  196,67,29,24,219,1                  // vinsertf128   $0x1,%xmm11,%ymm12,%ymm11
+  .byte  197,60,95,195                       // vmaxps        %ymm3,%ymm8,%ymm8
+  .byte  196,65,60,93,193                    // vminps        %ymm9,%ymm8,%ymm8
+  .byte  196,65,125,91,192                   // vcvtps2dq     %ymm8,%ymm8
+  .byte  196,193,49,114,240,24               // vpslld        $0x18,%xmm8,%xmm9
+  .byte  196,67,125,25,192,1                 // vextractf128  $0x1,%ymm8,%xmm8
+  .byte  196,193,57,114,240,24               // vpslld        $0x18,%xmm8,%xmm8
+  .byte  196,67,53,24,192,1                  // vinsertf128   $0x1,%xmm8,%ymm9,%ymm8
+  .byte  196,65,37,86,192                    // vorpd         %ymm8,%ymm11,%ymm8
+  .byte  196,65,45,86,192                    // vorpd         %ymm8,%ymm10,%ymm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,59                              // jne           11ca6 <_sk_srcover_rgba_8888_avx+0x1a2>
+  .byte  196,65,124,17,4,144                 // vmovups       %ymm8,(%r8,%rdx,4)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  15,135,156,254,255,255              // ja            11b24 <_sk_srcover_rgba_8888_avx+0x20>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,254,0,0,0                 // lea           0xfe(%rip),%r9        # 11d90 <_sk_srcover_rgba_8888_avx+0x28c>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,65,122,16,12,144                // vmovss        (%r8,%rdx,4),%xmm9
+  .byte  233,126,254,255,255                 // jmpq          11b24 <_sk_srcover_rgba_8888_avx+0x20>
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,193                             // ja            11c71 <_sk_srcover_rgba_8888_avx+0x16d>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,242,0,0,0                 // lea           0xf2(%rip),%r9        # 11dac <_sk_srcover_rgba_8888_avx+0x2a8>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,65,121,126,4,144                // vmovd         %xmm8,(%r8,%rdx,4)
+  .byte  235,166                             // jmp           11c71 <_sk_srcover_rgba_8888_avx+0x16d>
+  .byte  196,193,121,110,100,144,8           // vmovd         0x8(%r8,%rdx,4),%xmm4
+  .byte  197,249,112,228,68                  // vpshufd       $0x44,%xmm4,%xmm4
+  .byte  197,212,87,237                      // vxorps        %ymm5,%ymm5,%ymm5
+  .byte  196,99,85,12,204,4                  // vblendps      $0x4,%ymm4,%ymm5,%ymm9
+  .byte  196,193,123,16,36,144               // vmovsd        (%r8,%rdx,4),%xmm4
+  .byte  196,99,53,13,204,1                  // vblendpd      $0x1,%ymm4,%ymm9,%ymm9
+  .byte  233,50,254,255,255                  // jmpq          11b24 <_sk_srcover_rgba_8888_avx+0x20>
+  .byte  196,193,121,110,100,144,24          // vmovd         0x18(%r8,%rdx,4),%xmm4
+  .byte  197,249,112,228,68                  // vpshufd       $0x44,%xmm4,%xmm4
+  .byte  196,227,125,24,228,1                // vinsertf128   $0x1,%xmm4,%ymm0,%ymm4
+  .byte  197,212,87,237                      // vxorps        %ymm5,%ymm5,%ymm5
+  .byte  196,99,85,12,204,64                 // vblendps      $0x40,%ymm4,%ymm5,%ymm9
+  .byte  196,99,125,25,204,1                 // vextractf128  $0x1,%ymm9,%xmm4
+  .byte  196,195,89,34,100,144,20,1          // vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm4,%xmm4
+  .byte  196,99,53,24,204,1                  // vinsertf128   $0x1,%xmm4,%ymm9,%ymm9
+  .byte  196,99,125,25,204,1                 // vextractf128  $0x1,%ymm9,%xmm4
+  .byte  196,195,89,34,100,144,16,0          // vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm4,%xmm4
+  .byte  196,99,53,24,204,1                  // vinsertf128   $0x1,%xmm4,%ymm9,%ymm9
+  .byte  196,193,121,16,36,144               // vmovupd       (%r8,%rdx,4),%xmm4
+  .byte  196,67,93,13,201,12                 // vblendpd      $0xc,%ymm9,%ymm4,%ymm9
+  .byte  233,221,253,255,255                 // jmpq          11b24 <_sk_srcover_rgba_8888_avx+0x20>
+  .byte  196,67,121,22,68,144,8,2            // vpextrd       $0x2,%xmm8,0x8(%r8,%rdx,4)
+  .byte  196,65,121,214,4,144                // vmovq         %xmm8,(%r8,%rdx,4)
+  .byte  233,23,255,255,255                  // jmpq          11c71 <_sk_srcover_rgba_8888_avx+0x16d>
+  .byte  196,67,125,25,193,1                 // vextractf128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,22,76,144,24,2           // vpextrd       $0x2,%xmm9,0x18(%r8,%rdx,4)
+  .byte  196,67,125,25,193,1                 // vextractf128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,22,76,144,20,1           // vpextrd       $0x1,%xmm9,0x14(%r8,%rdx,4)
+  .byte  196,67,125,25,193,1                 // vextractf128  $0x1,%ymm8,%xmm9
+  .byte  196,65,121,126,76,144,16            // vmovd         %xmm9,0x10(%r8,%rdx,4)
+  .byte  196,65,121,17,4,144                 // vmovupd       %xmm8,(%r8,%rdx,4)
+  .byte  233,227,254,255,255                 // jmpq          11c71 <_sk_srcover_rgba_8888_avx+0x16d>
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  11,255                              // or            %edi,%edi
+  .byte  255                                 // (bad)
+  .byte  255,81,255                          // callq         *-0x1(%rcx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  59,255                              // cmp           %edi,%edi
+  .byte  255                                 // (bad)
+  .byte  255,166,255,255,255,146             // jmpq          *-0x6d000001(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  126,255                             // jle           11da5 <_sk_srcover_rgba_8888_avx+0x2a1>
+  .byte  255                                 // (bad)
+  .byte  255,98,255                          // jmpq          *-0x1(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255,23                              // callq         *(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,163,255,255,255,155             // jmpq          *-0x64000001(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,215                             // callq         *%rdi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,202                             // dec           %edx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  188,255,255,255,174                 // mov           $0xaeffffff,%esp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_srcover_bgra_8888_avx
+.globl _sk_srcover_bgra_8888_avx
+FUNCTION(_sk_srcover_bgra_8888_avx)
+_sk_srcover_bgra_8888_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,87,1,0,0                     // jne           11f39 <_sk_srcover_bgra_8888_avx+0x171>
+  .byte  196,65,125,16,12,144                // vmovupd       (%r8,%rdx,4),%ymm9
+  .byte  197,125,40,5,16,173,2,0             // vmovapd       0x2ad10(%rip),%ymm8        # 3cb00 <_sk_srcover_bgra_8888_sse2_lowp+0x8b4>
+  .byte  196,193,53,84,232                   // vandpd        %ymm8,%ymm9,%ymm5
+  .byte  197,252,91,245                      // vcvtdq2ps     %ymm5,%ymm6
+  .byte  196,193,81,114,209,8                // vpsrld        $0x8,%xmm9,%xmm5
+  .byte  196,99,125,25,207,1                 // vextractf128  $0x1,%ymm9,%xmm7
+  .byte  197,217,114,215,8                   // vpsrld        $0x8,%xmm7,%xmm4
+  .byte  196,227,85,24,228,1                 // vinsertf128   $0x1,%xmm4,%ymm5,%ymm4
+  .byte  196,193,93,84,224                   // vandpd        %ymm8,%ymm4,%ymm4
+  .byte  197,252,91,236                      // vcvtdq2ps     %ymm4,%ymm5
+  .byte  196,193,41,114,209,16               // vpsrld        $0x10,%xmm9,%xmm10
+  .byte  197,217,114,215,16                  // vpsrld        $0x10,%xmm7,%xmm4
+  .byte  196,227,45,24,228,1                 // vinsertf128   $0x1,%xmm4,%ymm10,%ymm4
+  .byte  196,193,93,84,224                   // vandpd        %ymm8,%ymm4,%ymm4
+  .byte  196,65,61,87,192                    // vxorpd        %ymm8,%ymm8,%ymm8
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  196,193,49,114,209,24               // vpsrld        $0x18,%xmm9,%xmm9
+  .byte  197,193,114,215,24                  // vpsrld        $0x18,%xmm7,%xmm7
+  .byte  196,227,53,24,255,1                 // vinsertf128   $0x1,%xmm7,%ymm9,%ymm7
+  .byte  197,252,91,255                      // vcvtdq2ps     %ymm7,%ymm7
+  .byte  196,98,125,24,13,166,166,2,0        // vbroadcastss  0x2a6a6(%rip),%ymm9        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,52,92,211                       // vsubps        %ymm3,%ymm9,%ymm10
+  .byte  196,98,125,24,13,197,166,2,0        // vbroadcastss  0x2a6c5(%rip),%ymm9        # 3c528 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  .byte  196,193,124,89,193                  // vmulps        %ymm9,%ymm0,%ymm0
+  .byte  197,44,89,220                       // vmulps        %ymm4,%ymm10,%ymm11
+  .byte  196,193,124,88,195                  // vaddps        %ymm11,%ymm0,%ymm0
+  .byte  196,193,116,89,201                  // vmulps        %ymm9,%ymm1,%ymm1
+  .byte  197,44,89,221                       // vmulps        %ymm5,%ymm10,%ymm11
+  .byte  196,193,116,88,203                  // vaddps        %ymm11,%ymm1,%ymm1
+  .byte  196,193,108,89,209                  // vmulps        %ymm9,%ymm2,%ymm2
+  .byte  197,44,89,222                       // vmulps        %ymm6,%ymm10,%ymm11
+  .byte  196,193,108,88,211                  // vaddps        %ymm11,%ymm2,%ymm2
+  .byte  196,193,100,89,217                  // vmulps        %ymm9,%ymm3,%ymm3
+  .byte  197,44,89,215                       // vmulps        %ymm7,%ymm10,%ymm10
+  .byte  196,193,100,88,218                  // vaddps        %ymm10,%ymm3,%ymm3
+  .byte  197,60,95,210                       // vmaxps        %ymm2,%ymm8,%ymm10
+  .byte  196,65,44,93,209                    // vminps        %ymm9,%ymm10,%ymm10
+  .byte  196,65,125,91,210                   // vcvtps2dq     %ymm10,%ymm10
+  .byte  197,60,95,217                       // vmaxps        %ymm1,%ymm8,%ymm11
+  .byte  196,65,36,93,217                    // vminps        %ymm9,%ymm11,%ymm11
+  .byte  196,65,125,91,219                   // vcvtps2dq     %ymm11,%ymm11
+  .byte  196,193,25,114,243,8                // vpslld        $0x8,%xmm11,%xmm12
+  .byte  196,67,125,25,219,1                 // vextractf128  $0x1,%ymm11,%xmm11
+  .byte  196,193,33,114,243,8                // vpslld        $0x8,%xmm11,%xmm11
+  .byte  196,67,29,24,219,1                  // vinsertf128   $0x1,%xmm11,%ymm12,%ymm11
+  .byte  196,65,37,86,210                    // vorpd         %ymm10,%ymm11,%ymm10
+  .byte  197,60,95,216                       // vmaxps        %ymm0,%ymm8,%ymm11
+  .byte  196,65,36,93,217                    // vminps        %ymm9,%ymm11,%ymm11
+  .byte  196,65,125,91,219                   // vcvtps2dq     %ymm11,%ymm11
+  .byte  196,193,25,114,243,16               // vpslld        $0x10,%xmm11,%xmm12
+  .byte  196,67,125,25,219,1                 // vextractf128  $0x1,%ymm11,%xmm11
+  .byte  196,193,33,114,243,16               // vpslld        $0x10,%xmm11,%xmm11
+  .byte  196,67,29,24,219,1                  // vinsertf128   $0x1,%xmm11,%ymm12,%ymm11
+  .byte  197,60,95,195                       // vmaxps        %ymm3,%ymm8,%ymm8
+  .byte  196,65,60,93,193                    // vminps        %ymm9,%ymm8,%ymm8
+  .byte  196,65,125,91,192                   // vcvtps2dq     %ymm8,%ymm8
+  .byte  196,193,49,114,240,24               // vpslld        $0x18,%xmm8,%xmm9
+  .byte  196,67,125,25,192,1                 // vextractf128  $0x1,%ymm8,%xmm8
+  .byte  196,193,57,114,240,24               // vpslld        $0x18,%xmm8,%xmm8
+  .byte  196,67,53,24,192,1                  // vinsertf128   $0x1,%xmm8,%ymm9,%ymm8
+  .byte  196,65,37,86,192                    // vorpd         %ymm8,%ymm11,%ymm8
+  .byte  196,65,45,86,192                    // vorpd         %ymm8,%ymm10,%ymm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,59                              // jne           11f6a <_sk_srcover_bgra_8888_avx+0x1a2>
+  .byte  196,65,124,17,4,144                 // vmovups       %ymm8,(%r8,%rdx,4)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  15,135,156,254,255,255              // ja            11de8 <_sk_srcover_bgra_8888_avx+0x20>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,254,0,0,0                 // lea           0xfe(%rip),%r9        # 12054 <_sk_srcover_bgra_8888_avx+0x28c>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,65,122,16,12,144                // vmovss        (%r8,%rdx,4),%xmm9
+  .byte  233,126,254,255,255                 // jmpq          11de8 <_sk_srcover_bgra_8888_avx+0x20>
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,193                             // ja            11f35 <_sk_srcover_bgra_8888_avx+0x16d>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,242,0,0,0                 // lea           0xf2(%rip),%r9        # 12070 <_sk_srcover_bgra_8888_avx+0x2a8>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,65,121,126,4,144                // vmovd         %xmm8,(%r8,%rdx,4)
+  .byte  235,166                             // jmp           11f35 <_sk_srcover_bgra_8888_avx+0x16d>
+  .byte  196,193,121,110,100,144,8           // vmovd         0x8(%r8,%rdx,4),%xmm4
+  .byte  197,249,112,228,68                  // vpshufd       $0x44,%xmm4,%xmm4
+  .byte  197,212,87,237                      // vxorps        %ymm5,%ymm5,%ymm5
+  .byte  196,99,85,12,204,4                  // vblendps      $0x4,%ymm4,%ymm5,%ymm9
+  .byte  196,193,123,16,36,144               // vmovsd        (%r8,%rdx,4),%xmm4
+  .byte  196,99,53,13,204,1                  // vblendpd      $0x1,%ymm4,%ymm9,%ymm9
+  .byte  233,50,254,255,255                  // jmpq          11de8 <_sk_srcover_bgra_8888_avx+0x20>
+  .byte  196,193,121,110,100,144,24          // vmovd         0x18(%r8,%rdx,4),%xmm4
+  .byte  197,249,112,228,68                  // vpshufd       $0x44,%xmm4,%xmm4
+  .byte  196,227,125,24,228,1                // vinsertf128   $0x1,%xmm4,%ymm0,%ymm4
+  .byte  197,212,87,237                      // vxorps        %ymm5,%ymm5,%ymm5
+  .byte  196,99,85,12,204,64                 // vblendps      $0x40,%ymm4,%ymm5,%ymm9
+  .byte  196,99,125,25,204,1                 // vextractf128  $0x1,%ymm9,%xmm4
+  .byte  196,195,89,34,100,144,20,1          // vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm4,%xmm4
+  .byte  196,99,53,24,204,1                  // vinsertf128   $0x1,%xmm4,%ymm9,%ymm9
+  .byte  196,99,125,25,204,1                 // vextractf128  $0x1,%ymm9,%xmm4
+  .byte  196,195,89,34,100,144,16,0          // vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm4,%xmm4
+  .byte  196,99,53,24,204,1                  // vinsertf128   $0x1,%xmm4,%ymm9,%ymm9
+  .byte  196,193,121,16,36,144               // vmovupd       (%r8,%rdx,4),%xmm4
+  .byte  196,67,93,13,201,12                 // vblendpd      $0xc,%ymm9,%ymm4,%ymm9
+  .byte  233,221,253,255,255                 // jmpq          11de8 <_sk_srcover_bgra_8888_avx+0x20>
+  .byte  196,67,121,22,68,144,8,2            // vpextrd       $0x2,%xmm8,0x8(%r8,%rdx,4)
+  .byte  196,65,121,214,4,144                // vmovq         %xmm8,(%r8,%rdx,4)
+  .byte  233,23,255,255,255                  // jmpq          11f35 <_sk_srcover_bgra_8888_avx+0x16d>
+  .byte  196,67,125,25,193,1                 // vextractf128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,22,76,144,24,2           // vpextrd       $0x2,%xmm9,0x18(%r8,%rdx,4)
+  .byte  196,67,125,25,193,1                 // vextractf128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,22,76,144,20,1           // vpextrd       $0x1,%xmm9,0x14(%r8,%rdx,4)
+  .byte  196,67,125,25,193,1                 // vextractf128  $0x1,%ymm8,%xmm9
+  .byte  196,65,121,126,76,144,16            // vmovd         %xmm9,0x10(%r8,%rdx,4)
+  .byte  196,65,121,17,4,144                 // vmovupd       %xmm8,(%r8,%rdx,4)
+  .byte  233,227,254,255,255                 // jmpq          11f35 <_sk_srcover_bgra_8888_avx+0x16d>
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  11,255                              // or            %edi,%edi
+  .byte  255                                 // (bad)
+  .byte  255,81,255                          // callq         *-0x1(%rcx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  59,255                              // cmp           %edi,%edi
+  .byte  255                                 // (bad)
+  .byte  255,166,255,255,255,146             // jmpq          *-0x6d000001(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  126,255                             // jle           12069 <_sk_srcover_bgra_8888_avx+0x2a1>
+  .byte  255                                 // (bad)
+  .byte  255,98,255                          // jmpq          *-0x1(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255,23                              // callq         *(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,163,255,255,255,155             // jmpq          *-0x64000001(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,215                             // callq         *%rdi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,202                             // dec           %edx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  188,255,255,255,174                 // mov           $0xaeffffff,%esp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_clamp_0_avx
+.globl _sk_clamp_0_avx
+FUNCTION(_sk_clamp_0_avx)
+_sk_clamp_0_avx:
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  196,193,124,95,192                  // vmaxps        %ymm8,%ymm0,%ymm0
+  .byte  196,193,116,95,200                  // vmaxps        %ymm8,%ymm1,%ymm1
+  .byte  196,193,108,95,208                  // vmaxps        %ymm8,%ymm2,%ymm2
+  .byte  196,193,100,95,216                  // vmaxps        %ymm8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_clamp_1_avx
+.globl _sk_clamp_1_avx
+FUNCTION(_sk_clamp_1_avx)
+_sk_clamp_1_avx:
+  .byte  196,98,125,24,5,74,164,2,0          // vbroadcastss  0x2a44a(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,193,124,93,192                  // vminps        %ymm8,%ymm0,%ymm0
+  .byte  196,193,116,93,200                  // vminps        %ymm8,%ymm1,%ymm1
+  .byte  196,193,108,93,208                  // vminps        %ymm8,%ymm2,%ymm2
+  .byte  196,193,100,93,216                  // vminps        %ymm8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_clamp_a_avx
+.globl _sk_clamp_a_avx
+FUNCTION(_sk_clamp_a_avx)
+_sk_clamp_a_avx:
+  .byte  196,98,125,24,5,41,164,2,0          // vbroadcastss  0x2a429(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,193,100,93,216                  // vminps        %ymm8,%ymm3,%ymm3
+  .byte  197,252,93,195                      // vminps        %ymm3,%ymm0,%ymm0
+  .byte  197,244,93,203                      // vminps        %ymm3,%ymm1,%ymm1
+  .byte  197,236,93,211                      // vminps        %ymm3,%ymm2,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_clamp_a_dst_avx
+.globl _sk_clamp_a_dst_avx
+FUNCTION(_sk_clamp_a_dst_avx)
+_sk_clamp_a_dst_avx:
+  .byte  196,98,125,24,5,11,164,2,0          // vbroadcastss  0x2a40b(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,193,68,93,248                   // vminps        %ymm8,%ymm7,%ymm7
+  .byte  197,220,93,231                      // vminps        %ymm7,%ymm4,%ymm4
+  .byte  197,212,93,239                      // vminps        %ymm7,%ymm5,%ymm5
+  .byte  197,204,93,247                      // vminps        %ymm7,%ymm6,%ymm6
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_set_rgb_avx
+.globl _sk_set_rgb_avx
+FUNCTION(_sk_set_rgb_avx)
+_sk_set_rgb_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,0                    // vbroadcastss  (%rax),%ymm0
+  .byte  196,226,125,24,72,4                 // vbroadcastss  0x4(%rax),%ymm1
+  .byte  196,226,125,24,80,8                 // vbroadcastss  0x8(%rax),%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_swap_rb_avx
+.globl _sk_swap_rb_avx
+FUNCTION(_sk_swap_rb_avx)
+_sk_swap_rb_avx:
+  .byte  197,124,40,192                      // vmovaps       %ymm0,%ymm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,40,194                      // vmovaps       %ymm2,%ymm0
+  .byte  197,124,41,194                      // vmovaps       %ymm8,%ymm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_invert_avx
+.globl _sk_invert_avx
+FUNCTION(_sk_invert_avx)
+_sk_invert_avx:
+  .byte  196,98,125,24,5,198,163,2,0         // vbroadcastss  0x2a3c6(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,188,92,192                      // vsubps        %ymm0,%ymm8,%ymm0
+  .byte  197,188,92,201                      // vsubps        %ymm1,%ymm8,%ymm1
+  .byte  197,188,92,210                      // vsubps        %ymm2,%ymm8,%ymm2
+  .byte  197,188,92,219                      // vsubps        %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_move_src_dst_avx
+.globl _sk_move_src_dst_avx
+FUNCTION(_sk_move_src_dst_avx)
+_sk_move_src_dst_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,40,224                      // vmovaps       %ymm0,%ymm4
+  .byte  197,252,40,233                      // vmovaps       %ymm1,%ymm5
+  .byte  197,252,40,242                      // vmovaps       %ymm2,%ymm6
+  .byte  197,252,40,251                      // vmovaps       %ymm3,%ymm7
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_move_dst_src_avx
+.globl _sk_move_dst_src_avx
+FUNCTION(_sk_move_dst_src_avx)
+_sk_move_dst_src_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,40,196                      // vmovaps       %ymm4,%ymm0
+  .byte  197,252,40,205                      // vmovaps       %ymm5,%ymm1
+  .byte  197,252,40,214                      // vmovaps       %ymm6,%ymm2
+  .byte  197,252,40,223                      // vmovaps       %ymm7,%ymm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_premul_avx
+.globl _sk_premul_avx
+FUNCTION(_sk_premul_avx)
+_sk_premul_avx:
+  .byte  197,252,89,195                      // vmulps        %ymm3,%ymm0,%ymm0
+  .byte  197,244,89,203                      // vmulps        %ymm3,%ymm1,%ymm1
+  .byte  197,236,89,211                      // vmulps        %ymm3,%ymm2,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_premul_dst_avx
+.globl _sk_premul_dst_avx
+FUNCTION(_sk_premul_dst_avx)
+_sk_premul_dst_avx:
+  .byte  197,220,89,231                      // vmulps        %ymm7,%ymm4,%ymm4
+  .byte  197,212,89,239                      // vmulps        %ymm7,%ymm5,%ymm5
+  .byte  197,204,89,247                      // vmulps        %ymm7,%ymm6,%ymm6
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_unpremul_avx
+.globl _sk_unpremul_avx
+FUNCTION(_sk_unpremul_avx)
+_sk_unpremul_avx:
+  .byte  196,98,125,24,5,97,163,2,0          // vbroadcastss  0x2a361(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,94,195                       // vdivps        %ymm3,%ymm8,%ymm8
+  .byte  196,98,125,24,13,132,163,2,0        // vbroadcastss  0x2a384(%rip),%ymm9        # 3c52c <_sk_srcover_bgra_8888_sse2_lowp+0x2e0>
+  .byte  196,65,60,194,201,1                 // vcmpltps      %ymm9,%ymm8,%ymm9
+  .byte  196,65,44,87,210                    // vxorps        %ymm10,%ymm10,%ymm10
+  .byte  196,67,45,74,192,144                // vblendvps     %ymm9,%ymm8,%ymm10,%ymm8
+  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
+  .byte  197,188,89,201                      // vmulps        %ymm1,%ymm8,%ymm1
+  .byte  197,188,89,210                      // vmulps        %ymm2,%ymm8,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_force_opaque_avx
+.globl _sk_force_opaque_avx
+FUNCTION(_sk_force_opaque_avx)
+_sk_force_opaque_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,29,40,163,2,0        // vbroadcastss  0x2a328(%rip),%ymm3        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_force_opaque_dst_avx
+.globl _sk_force_opaque_dst_avx
+FUNCTION(_sk_force_opaque_dst_avx)
+_sk_force_opaque_dst_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,61,27,163,2,0        // vbroadcastss  0x2a31b(%rip),%ymm7        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_from_srgb_avx
+.globl _sk_from_srgb_avx
+FUNCTION(_sk_from_srgb_avx)
+_sk_from_srgb_avx:
+  .byte  196,98,125,24,5,68,163,2,0          // vbroadcastss  0x2a344(%rip),%ymm8        # 3c530 <_sk_srcover_bgra_8888_sse2_lowp+0x2e4>
+  .byte  196,65,124,89,200                   // vmulps        %ymm8,%ymm0,%ymm9
+  .byte  197,124,89,208                      // vmulps        %ymm0,%ymm0,%ymm10
+  .byte  196,98,125,24,29,30,163,2,0         // vbroadcastss  0x2a31e(%rip),%ymm11        # 3c51c <_sk_srcover_bgra_8888_sse2_lowp+0x2d0>
+  .byte  196,65,124,89,227                   // vmulps        %ymm11,%ymm0,%ymm12
+  .byte  196,98,125,24,45,40,163,2,0         // vbroadcastss  0x2a328(%rip),%ymm13        # 3c534 <_sk_srcover_bgra_8888_sse2_lowp+0x2e8>
+  .byte  196,65,28,88,229                    // vaddps        %ymm13,%ymm12,%ymm12
+  .byte  196,65,44,89,212                    // vmulps        %ymm12,%ymm10,%ymm10
+  .byte  196,98,125,24,37,25,163,2,0         // vbroadcastss  0x2a319(%rip),%ymm12        # 3c538 <_sk_srcover_bgra_8888_sse2_lowp+0x2ec>
+  .byte  196,65,44,88,212                    // vaddps        %ymm12,%ymm10,%ymm10
+  .byte  196,98,125,24,53,15,163,2,0         // vbroadcastss  0x2a30f(%rip),%ymm14        # 3c53c <_sk_srcover_bgra_8888_sse2_lowp+0x2f0>
+  .byte  196,193,124,194,198,1               // vcmpltps      %ymm14,%ymm0,%ymm0
+  .byte  196,195,45,74,193,0                 // vblendvps     %ymm0,%ymm9,%ymm10,%ymm0
+  .byte  196,65,116,89,200                   // vmulps        %ymm8,%ymm1,%ymm9
+  .byte  197,116,89,209                      // vmulps        %ymm1,%ymm1,%ymm10
+  .byte  196,65,116,89,251                   // vmulps        %ymm11,%ymm1,%ymm15
+  .byte  196,65,4,88,253                     // vaddps        %ymm13,%ymm15,%ymm15
+  .byte  196,65,44,89,215                    // vmulps        %ymm15,%ymm10,%ymm10
+  .byte  196,65,44,88,212                    // vaddps        %ymm12,%ymm10,%ymm10
+  .byte  196,193,116,194,206,1               // vcmpltps      %ymm14,%ymm1,%ymm1
+  .byte  196,195,45,74,201,16                // vblendvps     %ymm1,%ymm9,%ymm10,%ymm1
+  .byte  196,65,108,89,192                   // vmulps        %ymm8,%ymm2,%ymm8
+  .byte  197,108,89,202                      // vmulps        %ymm2,%ymm2,%ymm9
+  .byte  196,65,108,89,211                   // vmulps        %ymm11,%ymm2,%ymm10
+  .byte  196,65,44,88,213                    // vaddps        %ymm13,%ymm10,%ymm10
+  .byte  196,65,52,89,202                    // vmulps        %ymm10,%ymm9,%ymm9
+  .byte  196,65,52,88,204                    // vaddps        %ymm12,%ymm9,%ymm9
+  .byte  196,193,108,194,214,1               // vcmpltps      %ymm14,%ymm2,%ymm2
+  .byte  196,195,53,74,208,32                // vblendvps     %ymm2,%ymm8,%ymm9,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_from_srgb_dst_avx
+.globl _sk_from_srgb_dst_avx
+FUNCTION(_sk_from_srgb_dst_avx)
+_sk_from_srgb_dst_avx:
+  .byte  196,98,125,24,5,152,162,2,0         // vbroadcastss  0x2a298(%rip),%ymm8        # 3c530 <_sk_srcover_bgra_8888_sse2_lowp+0x2e4>
+  .byte  196,65,92,89,200                    // vmulps        %ymm8,%ymm4,%ymm9
+  .byte  197,92,89,212                       // vmulps        %ymm4,%ymm4,%ymm10
+  .byte  196,98,125,24,29,114,162,2,0        // vbroadcastss  0x2a272(%rip),%ymm11        # 3c51c <_sk_srcover_bgra_8888_sse2_lowp+0x2d0>
+  .byte  196,65,92,89,227                    // vmulps        %ymm11,%ymm4,%ymm12
+  .byte  196,98,125,24,45,124,162,2,0        // vbroadcastss  0x2a27c(%rip),%ymm13        # 3c534 <_sk_srcover_bgra_8888_sse2_lowp+0x2e8>
+  .byte  196,65,28,88,229                    // vaddps        %ymm13,%ymm12,%ymm12
+  .byte  196,65,44,89,212                    // vmulps        %ymm12,%ymm10,%ymm10
+  .byte  196,98,125,24,37,109,162,2,0        // vbroadcastss  0x2a26d(%rip),%ymm12        # 3c538 <_sk_srcover_bgra_8888_sse2_lowp+0x2ec>
+  .byte  196,65,44,88,212                    // vaddps        %ymm12,%ymm10,%ymm10
+  .byte  196,98,125,24,53,99,162,2,0         // vbroadcastss  0x2a263(%rip),%ymm14        # 3c53c <_sk_srcover_bgra_8888_sse2_lowp+0x2f0>
+  .byte  196,193,92,194,230,1                // vcmpltps      %ymm14,%ymm4,%ymm4
+  .byte  196,195,45,74,225,64                // vblendvps     %ymm4,%ymm9,%ymm10,%ymm4
+  .byte  196,65,84,89,200                    // vmulps        %ymm8,%ymm5,%ymm9
+  .byte  197,84,89,213                       // vmulps        %ymm5,%ymm5,%ymm10
+  .byte  196,65,84,89,251                    // vmulps        %ymm11,%ymm5,%ymm15
+  .byte  196,65,4,88,253                     // vaddps        %ymm13,%ymm15,%ymm15
+  .byte  196,65,44,89,215                    // vmulps        %ymm15,%ymm10,%ymm10
+  .byte  196,65,44,88,212                    // vaddps        %ymm12,%ymm10,%ymm10
+  .byte  196,193,84,194,238,1                // vcmpltps      %ymm14,%ymm5,%ymm5
+  .byte  196,195,45,74,233,80                // vblendvps     %ymm5,%ymm9,%ymm10,%ymm5
+  .byte  196,65,76,89,192                    // vmulps        %ymm8,%ymm6,%ymm8
+  .byte  197,76,89,206                       // vmulps        %ymm6,%ymm6,%ymm9
+  .byte  196,65,76,89,211                    // vmulps        %ymm11,%ymm6,%ymm10
+  .byte  196,65,44,88,213                    // vaddps        %ymm13,%ymm10,%ymm10
+  .byte  196,65,52,89,202                    // vmulps        %ymm10,%ymm9,%ymm9
+  .byte  196,65,52,88,204                    // vaddps        %ymm12,%ymm9,%ymm9
+  .byte  196,193,76,194,246,1                // vcmpltps      %ymm14,%ymm6,%ymm6
+  .byte  196,195,53,74,240,96                // vblendvps     %ymm6,%ymm8,%ymm9,%ymm6
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_to_srgb_avx
+.globl _sk_to_srgb_avx
+FUNCTION(_sk_to_srgb_avx)
+_sk_to_srgb_avx:
+  .byte  197,124,82,200                      // vrsqrtps      %ymm0,%ymm9
+  .byte  196,98,125,24,5,248,161,2,0         // vbroadcastss  0x2a1f8(%rip),%ymm8        # 3c540 <_sk_srcover_bgra_8888_sse2_lowp+0x2f4>
+  .byte  196,65,124,89,208                   // vmulps        %ymm8,%ymm0,%ymm10
+  .byte  196,98,125,24,29,242,161,2,0        // vbroadcastss  0x2a1f2(%rip),%ymm11        # 3c548 <_sk_srcover_bgra_8888_sse2_lowp+0x2fc>
+  .byte  196,65,52,89,227                    // vmulps        %ymm11,%ymm9,%ymm12
+  .byte  196,98,125,24,45,224,161,2,0        // vbroadcastss  0x2a1e0(%rip),%ymm13        # 3c544 <_sk_srcover_bgra_8888_sse2_lowp+0x2f8>
+  .byte  196,65,28,88,229                    // vaddps        %ymm13,%ymm12,%ymm12
+  .byte  196,65,52,89,228                    // vmulps        %ymm12,%ymm9,%ymm12
+  .byte  196,98,125,24,53,13,163,2,0         // vbroadcastss  0x2a30d(%rip),%ymm14        # 3c684 <_sk_srcover_bgra_8888_sse2_lowp+0x438>
+  .byte  196,65,28,88,230                    // vaddps        %ymm14,%ymm12,%ymm12
+  .byte  196,98,125,24,61,3,163,2,0          // vbroadcastss  0x2a303(%rip),%ymm15        # 3c688 <_sk_srcover_bgra_8888_sse2_lowp+0x43c>
+  .byte  196,65,52,88,207                    // vaddps        %ymm15,%ymm9,%ymm9
+  .byte  196,65,124,83,201                   // vrcpps        %ymm9,%ymm9
+  .byte  196,65,52,89,204                    // vmulps        %ymm12,%ymm9,%ymm9
+  .byte  196,98,125,24,37,183,161,2,0        // vbroadcastss  0x2a1b7(%rip),%ymm12        # 3c554 <_sk_srcover_bgra_8888_sse2_lowp+0x308>
+  .byte  196,193,124,194,196,1               // vcmpltps      %ymm12,%ymm0,%ymm0
+  .byte  196,195,53,74,194,0                 // vblendvps     %ymm0,%ymm10,%ymm9,%ymm0
+  .byte  197,124,82,201                      // vrsqrtps      %ymm1,%ymm9
+  .byte  196,65,52,89,211                    // vmulps        %ymm11,%ymm9,%ymm10
+  .byte  196,65,44,88,213                    // vaddps        %ymm13,%ymm10,%ymm10
+  .byte  196,65,52,89,210                    // vmulps        %ymm10,%ymm9,%ymm10
+  .byte  196,65,44,88,214                    // vaddps        %ymm14,%ymm10,%ymm10
+  .byte  196,65,52,88,207                    // vaddps        %ymm15,%ymm9,%ymm9
+  .byte  196,65,124,83,201                   // vrcpps        %ymm9,%ymm9
+  .byte  196,65,52,89,202                    // vmulps        %ymm10,%ymm9,%ymm9
+  .byte  196,65,116,89,208                   // vmulps        %ymm8,%ymm1,%ymm10
+  .byte  196,193,116,194,204,1               // vcmpltps      %ymm12,%ymm1,%ymm1
+  .byte  196,195,53,74,202,16                // vblendvps     %ymm1,%ymm10,%ymm9,%ymm1
+  .byte  197,124,82,202                      // vrsqrtps      %ymm2,%ymm9
+  .byte  196,65,52,89,211                    // vmulps        %ymm11,%ymm9,%ymm10
+  .byte  196,65,44,88,213                    // vaddps        %ymm13,%ymm10,%ymm10
+  .byte  196,65,52,89,210                    // vmulps        %ymm10,%ymm9,%ymm10
+  .byte  196,65,44,88,214                    // vaddps        %ymm14,%ymm10,%ymm10
+  .byte  196,65,52,88,207                    // vaddps        %ymm15,%ymm9,%ymm9
+  .byte  196,65,124,83,201                   // vrcpps        %ymm9,%ymm9
+  .byte  196,65,52,89,202                    // vmulps        %ymm10,%ymm9,%ymm9
+  .byte  196,65,108,89,192                   // vmulps        %ymm8,%ymm2,%ymm8
+  .byte  196,193,108,194,212,1               // vcmpltps      %ymm12,%ymm2,%ymm2
+  .byte  196,195,53,74,208,32                // vblendvps     %ymm2,%ymm8,%ymm9,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_rgb_to_hsl_avx
+.globl _sk_rgb_to_hsl_avx
+FUNCTION(_sk_rgb_to_hsl_avx)
+_sk_rgb_to_hsl_avx:
+  .byte  197,116,95,194                      // vmaxps        %ymm2,%ymm1,%ymm8
+  .byte  196,65,124,95,192                   // vmaxps        %ymm8,%ymm0,%ymm8
+  .byte  197,116,93,202                      // vminps        %ymm2,%ymm1,%ymm9
+  .byte  196,65,124,93,201                   // vminps        %ymm9,%ymm0,%ymm9
+  .byte  196,65,60,92,209                    // vsubps        %ymm9,%ymm8,%ymm10
+  .byte  196,98,125,24,29,191,160,2,0        // vbroadcastss  0x2a0bf(%rip),%ymm11        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,65,36,94,218                    // vdivps        %ymm10,%ymm11,%ymm11
+  .byte  197,116,92,226                      // vsubps        %ymm2,%ymm1,%ymm12
+  .byte  196,65,28,89,227                    // vmulps        %ymm11,%ymm12,%ymm12
+  .byte  197,116,194,234,1                   // vcmpltps      %ymm2,%ymm1,%ymm13
+  .byte  197,60,194,241,0                    // vcmpeqps      %ymm1,%ymm8,%ymm14
+  .byte  197,236,92,208                      // vsubps        %ymm0,%ymm2,%ymm2
+  .byte  196,193,108,89,211                  // vmulps        %ymm11,%ymm2,%ymm2
+  .byte  197,252,92,201                      // vsubps        %ymm1,%ymm0,%ymm1
+  .byte  196,193,116,89,203                  // vmulps        %ymm11,%ymm1,%ymm1
+  .byte  196,98,125,24,29,240,160,2,0        // vbroadcastss  0x2a0f0(%rip),%ymm11        # 3c560 <_sk_srcover_bgra_8888_sse2_lowp+0x314>
+  .byte  196,193,116,88,203                  // vaddps        %ymm11,%ymm1,%ymm1
+  .byte  196,98,125,24,29,222,160,2,0        // vbroadcastss  0x2a0de(%rip),%ymm11        # 3c55c <_sk_srcover_bgra_8888_sse2_lowp+0x310>
+  .byte  196,193,108,88,211                  // vaddps        %ymm11,%ymm2,%ymm2
+  .byte  196,227,117,74,202,224              // vblendvps     %ymm14,%ymm2,%ymm1,%ymm1
+  .byte  196,226,125,24,21,198,160,2,0       // vbroadcastss  0x2a0c6(%rip),%ymm2        # 3c558 <_sk_srcover_bgra_8888_sse2_lowp+0x30c>
+  .byte  196,65,12,87,246                    // vxorps        %ymm14,%ymm14,%ymm14
+  .byte  196,227,13,74,210,208               // vblendvps     %ymm13,%ymm2,%ymm14,%ymm2
+  .byte  197,188,194,192,0                   // vcmpeqps      %ymm0,%ymm8,%ymm0
+  .byte  196,193,108,88,212                  // vaddps        %ymm12,%ymm2,%ymm2
+  .byte  196,227,117,74,194,0                // vblendvps     %ymm0,%ymm2,%ymm1,%ymm0
+  .byte  196,193,60,88,201                   // vaddps        %ymm9,%ymm8,%ymm1
+  .byte  196,98,125,24,37,61,160,2,0         // vbroadcastss  0x2a03d(%rip),%ymm12        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  196,193,116,89,212                  // vmulps        %ymm12,%ymm1,%ymm2
+  .byte  197,28,194,226,1                    // vcmpltps      %ymm2,%ymm12,%ymm12
+  .byte  196,65,36,92,216                    // vsubps        %ymm8,%ymm11,%ymm11
+  .byte  196,65,36,92,217                    // vsubps        %ymm9,%ymm11,%ymm11
+  .byte  196,195,117,74,203,192              // vblendvps     %ymm12,%ymm11,%ymm1,%ymm1
+  .byte  196,65,60,194,193,0                 // vcmpeqps      %ymm9,%ymm8,%ymm8
+  .byte  197,172,94,201                      // vdivps        %ymm1,%ymm10,%ymm1
+  .byte  196,195,125,74,198,128              // vblendvps     %ymm8,%ymm14,%ymm0,%ymm0
+  .byte  196,195,117,74,206,128              // vblendvps     %ymm8,%ymm14,%ymm1,%ymm1
+  .byte  196,98,125,24,5,112,160,2,0         // vbroadcastss  0x2a070(%rip),%ymm8        # 3c564 <_sk_srcover_bgra_8888_sse2_lowp+0x318>
+  .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_hsl_to_rgb_avx
+.globl _sk_hsl_to_rgb_avx
+FUNCTION(_sk_hsl_to_rgb_avx)
+_sk_hsl_to_rgb_avx:
+  .byte  72,131,236,56                       // sub           $0x38,%rsp
+  .byte  197,252,17,60,36                    // vmovups       %ymm7,(%rsp)
+  .byte  197,252,17,116,36,224               // vmovups       %ymm6,-0x20(%rsp)
+  .byte  197,252,17,108,36,192               // vmovups       %ymm5,-0x40(%rsp)
+  .byte  197,252,17,100,36,160               // vmovups       %ymm4,-0x60(%rsp)
+  .byte  197,252,17,92,36,128                // vmovups       %ymm3,-0x80(%rsp)
+  .byte  197,252,40,225                      // vmovaps       %ymm1,%ymm4
+  .byte  197,252,40,216                      // vmovaps       %ymm0,%ymm3
+  .byte  196,98,125,24,5,201,159,2,0         // vbroadcastss  0x29fc9(%rip),%ymm8        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  197,60,194,202,2                    // vcmpleps      %ymm2,%ymm8,%ymm9
+  .byte  197,92,89,210                       // vmulps        %ymm2,%ymm4,%ymm10
+  .byte  196,65,92,92,218                    // vsubps        %ymm10,%ymm4,%ymm11
+  .byte  196,67,45,74,203,144                // vblendvps     %ymm9,%ymm11,%ymm10,%ymm9
+  .byte  197,52,88,210                       // vaddps        %ymm2,%ymm9,%ymm10
+  .byte  197,108,88,202                      // vaddps        %ymm2,%ymm2,%ymm9
+  .byte  196,65,52,92,202                    // vsubps        %ymm10,%ymm9,%ymm9
+  .byte  196,98,125,24,29,15,160,2,0         // vbroadcastss  0x2a00f(%rip),%ymm11        # 3c568 <_sk_srcover_bgra_8888_sse2_lowp+0x31c>
+  .byte  196,65,100,88,219                   // vaddps        %ymm11,%ymm3,%ymm11
+  .byte  196,67,125,8,227,1                  // vroundps      $0x1,%ymm11,%ymm12
+  .byte  196,65,36,92,252                    // vsubps        %ymm12,%ymm11,%ymm15
+  .byte  196,65,44,92,217                    // vsubps        %ymm9,%ymm10,%ymm11
+  .byte  196,98,125,24,37,225,159,2,0        // vbroadcastss  0x29fe1(%rip),%ymm12        # 3c558 <_sk_srcover_bgra_8888_sse2_lowp+0x30c>
+  .byte  196,193,4,89,196                    // vmulps        %ymm12,%ymm15,%ymm0
+  .byte  196,98,125,24,45,219,159,2,0        // vbroadcastss  0x29fdb(%rip),%ymm13        # 3c560 <_sk_srcover_bgra_8888_sse2_lowp+0x314>
+  .byte  197,20,92,240                       // vsubps        %ymm0,%ymm13,%ymm14
+  .byte  196,65,36,89,246                    // vmulps        %ymm14,%ymm11,%ymm14
+  .byte  196,65,52,88,246                    // vaddps        %ymm14,%ymm9,%ymm14
+  .byte  196,226,125,24,13,208,159,2,0       // vbroadcastss  0x29fd0(%rip),%ymm1        # 3c56c <_sk_srcover_bgra_8888_sse2_lowp+0x320>
+  .byte  196,193,116,194,255,2               // vcmpleps      %ymm15,%ymm1,%ymm7
+  .byte  196,195,13,74,249,112               // vblendvps     %ymm7,%ymm9,%ymm14,%ymm7
+  .byte  196,65,60,194,247,2                 // vcmpleps      %ymm15,%ymm8,%ymm14
+  .byte  196,227,45,74,255,224               // vblendvps     %ymm14,%ymm7,%ymm10,%ymm7
+  .byte  196,98,125,24,53,167,159,2,0        // vbroadcastss  0x29fa7(%rip),%ymm14        # 3c564 <_sk_srcover_bgra_8888_sse2_lowp+0x318>
+  .byte  196,65,12,194,255,2                 // vcmpleps      %ymm15,%ymm14,%ymm15
+  .byte  196,193,124,89,195                  // vmulps        %ymm11,%ymm0,%ymm0
+  .byte  197,180,88,192                      // vaddps        %ymm0,%ymm9,%ymm0
+  .byte  196,99,125,74,255,240               // vblendvps     %ymm15,%ymm7,%ymm0,%ymm15
+  .byte  196,227,125,8,195,1                 // vroundps      $0x1,%ymm3,%ymm0
+  .byte  197,228,92,192                      // vsubps        %ymm0,%ymm3,%ymm0
+  .byte  196,193,124,89,252                  // vmulps        %ymm12,%ymm0,%ymm7
+  .byte  197,148,92,247                      // vsubps        %ymm7,%ymm13,%ymm6
+  .byte  197,164,89,246                      // vmulps        %ymm6,%ymm11,%ymm6
+  .byte  197,180,88,246                      // vaddps        %ymm6,%ymm9,%ymm6
+  .byte  197,244,194,232,2                   // vcmpleps      %ymm0,%ymm1,%ymm5
+  .byte  196,195,77,74,233,80                // vblendvps     %ymm5,%ymm9,%ymm6,%ymm5
+  .byte  197,188,194,240,2                   // vcmpleps      %ymm0,%ymm8,%ymm6
+  .byte  196,227,45,74,237,96                // vblendvps     %ymm6,%ymm5,%ymm10,%ymm5
+  .byte  197,140,194,192,2                   // vcmpleps      %ymm0,%ymm14,%ymm0
+  .byte  197,164,89,247                      // vmulps        %ymm7,%ymm11,%ymm6
+  .byte  197,180,88,246                      // vaddps        %ymm6,%ymm9,%ymm6
+  .byte  196,227,77,74,237,0                 // vblendvps     %ymm0,%ymm5,%ymm6,%ymm5
+  .byte  196,226,125,24,5,81,159,2,0         // vbroadcastss  0x29f51(%rip),%ymm0        # 3c570 <_sk_srcover_bgra_8888_sse2_lowp+0x324>
+  .byte  197,228,88,192                      // vaddps        %ymm0,%ymm3,%ymm0
+  .byte  196,227,125,8,216,1                 // vroundps      $0x1,%ymm0,%ymm3
+  .byte  197,252,92,195                      // vsubps        %ymm3,%ymm0,%ymm0
+  .byte  197,244,194,200,2                   // vcmpleps      %ymm0,%ymm1,%ymm1
+  .byte  196,193,124,89,220                  // vmulps        %ymm12,%ymm0,%ymm3
+  .byte  197,148,92,243                      // vsubps        %ymm3,%ymm13,%ymm6
+  .byte  197,164,89,246                      // vmulps        %ymm6,%ymm11,%ymm6
+  .byte  197,180,88,246                      // vaddps        %ymm6,%ymm9,%ymm6
+  .byte  196,195,77,74,201,16                // vblendvps     %ymm1,%ymm9,%ymm6,%ymm1
+  .byte  197,188,194,240,2                   // vcmpleps      %ymm0,%ymm8,%ymm6
+  .byte  196,227,45,74,201,96                // vblendvps     %ymm6,%ymm1,%ymm10,%ymm1
+  .byte  197,140,194,192,2                   // vcmpleps      %ymm0,%ymm14,%ymm0
+  .byte  197,164,89,219                      // vmulps        %ymm3,%ymm11,%ymm3
+  .byte  197,180,88,219                      // vaddps        %ymm3,%ymm9,%ymm3
+  .byte  196,227,101,74,217,0                // vblendvps     %ymm0,%ymm1,%ymm3,%ymm3
+  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
+  .byte  197,220,194,224,0                   // vcmpeqps      %ymm0,%ymm4,%ymm4
+  .byte  196,227,5,74,194,64                 // vblendvps     %ymm4,%ymm2,%ymm15,%ymm0
+  .byte  196,227,85,74,202,64                // vblendvps     %ymm4,%ymm2,%ymm5,%ymm1
+  .byte  196,227,101,74,210,64               // vblendvps     %ymm4,%ymm2,%ymm3,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,16,92,36,128                // vmovups       -0x80(%rsp),%ymm3
+  .byte  197,252,16,100,36,160               // vmovups       -0x60(%rsp),%ymm4
+  .byte  197,252,16,108,36,192               // vmovups       -0x40(%rsp),%ymm5
+  .byte  197,252,16,116,36,224               // vmovups       -0x20(%rsp),%ymm6
+  .byte  197,252,16,60,36                    // vmovups       (%rsp),%ymm7
+  .byte  72,131,196,56                       // add           $0x38,%rsp
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_scale_1_float_avx
+.globl _sk_scale_1_float_avx
+FUNCTION(_sk_scale_1_float_avx)
+_sk_scale_1_float_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,0                     // vbroadcastss  (%rax),%ymm8
+  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
+  .byte  197,188,89,201                      // vmulps        %ymm1,%ymm8,%ymm1
+  .byte  197,188,89,210                      // vmulps        %ymm2,%ymm8,%ymm2
+  .byte  197,188,89,219                      // vmulps        %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_scale_u8_avx
+.globl _sk_scale_u8_avx
+FUNCTION(_sk_scale_u8_avx)
+_sk_scale_u8_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,75                              // jne           1271f <_sk_scale_u8_avx+0x5d>
+  .byte  196,66,121,48,4,16                  // vpmovzxbw     (%r8,%rdx,1),%xmm8
+  .byte  197,57,219,5,206,167,2,0            // vpand         0x2a7ce(%rip),%xmm8,%xmm8        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  196,66,121,51,200                   // vpmovzxwd     %xmm8,%xmm9
+  .byte  196,65,121,112,192,78               // vpshufd       $0x4e,%xmm8,%xmm8
+  .byte  196,66,121,51,192                   // vpmovzxwd     %xmm8,%xmm8
+  .byte  196,67,53,24,192,1                  // vinsertf128   $0x1,%xmm8,%ymm9,%ymm8
+  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
+  .byte  196,98,125,24,13,110,158,2,0        // vbroadcastss  0x29e6e(%rip),%ymm9        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  196,65,60,89,193                    // vmulps        %ymm9,%ymm8,%ymm8
+  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
+  .byte  197,188,89,201                      // vmulps        %ymm1,%ymm8,%ymm1
+  .byte  197,188,89,210                      // vmulps        %ymm2,%ymm8,%ymm2
+  .byte  197,188,89,219                      // vmulps        %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,172                             // ja            126da <_sk_scale_u8_avx+0x18>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,124,0,0,0                 // lea           0x7c(%rip),%r9        # 127b4 <_sk_scale_u8_avx+0xf2>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  197,121,110,192                     // vmovd         %eax,%xmm8
+  .byte  235,142                             // jmp           126da <_sk_scale_u8_avx+0x18>
+  .byte  65,15,182,68,16,2                   // movzbl        0x2(%r8,%rdx,1),%eax
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  197,57,196,192,2                    // vpinsrw       $0x2,%eax,%xmm8,%xmm8
+  .byte  65,15,183,4,16                      // movzwl        (%r8,%rdx,1),%eax
+  .byte  197,121,110,200                     // vmovd         %eax,%xmm9
+  .byte  196,66,121,48,201                   // vpmovzxbw     %xmm9,%xmm9
+  .byte  196,67,57,14,193,3                  // vpblendw      $0x3,%xmm9,%xmm8,%xmm8
+  .byte  233,101,255,255,255                 // jmpq          126da <_sk_scale_u8_avx+0x18>
+  .byte  65,15,182,68,16,6                   // movzbl        0x6(%r8,%rdx,1),%eax
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  197,57,196,192,6                    // vpinsrw       $0x6,%eax,%xmm8,%xmm8
+  .byte  65,15,182,68,16,5                   // movzbl        0x5(%r8,%rdx,1),%eax
+  .byte  197,57,196,192,5                    // vpinsrw       $0x5,%eax,%xmm8,%xmm8
+  .byte  65,15,182,68,16,4                   // movzbl        0x4(%r8,%rdx,1),%eax
+  .byte  197,57,196,192,4                    // vpinsrw       $0x4,%eax,%xmm8,%xmm8
+  .byte  196,65,121,110,12,16                // vmovd         (%r8,%rdx,1),%xmm9
+  .byte  196,66,121,48,201                   // vpmovzxbw     %xmm9,%xmm9
+  .byte  196,67,49,14,192,240                // vpblendw      $0xf0,%xmm8,%xmm9,%xmm8
+  .byte  233,41,255,255,255                  // jmpq          126da <_sk_scale_u8_avx+0x18>
+  .byte  15,31,0                             // nopl          (%rax)
+  .byte  141                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,168,255,255,255,152             // ljmp          *-0x67000001(%rax)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,231                             // jmpq          *%rdi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  220,255                             // fdivr         %st,%st(7)
+  .byte  255                                 // (bad)
+  .byte  255,209                             // callq         *%rcx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,193                             // inc           %ecx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_scale_565_avx
+.globl _sk_scale_565_avx
+FUNCTION(_sk_scale_565_avx)
+_sk_scale_565_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,178,0,0,0                    // jne           1289b <_sk_scale_565_avx+0xcb>
+  .byte  196,65,122,111,4,80                 // vmovdqu       (%r8,%rdx,2),%xmm8
+  .byte  196,66,121,51,200                   // vpmovzxwd     %xmm8,%xmm9
+  .byte  196,65,121,112,192,78               // vpshufd       $0x4e,%xmm8,%xmm8
+  .byte  196,66,121,51,192                   // vpmovzxwd     %xmm8,%xmm8
+  .byte  196,67,53,24,192,1                  // vinsertf128   $0x1,%xmm8,%ymm9,%ymm8
+  .byte  196,98,125,24,13,106,157,2,0        // vbroadcastss  0x29d6a(%rip),%ymm9        # 3c578 <_sk_srcover_bgra_8888_sse2_lowp+0x32c>
+  .byte  196,65,60,84,201                    // vandps        %ymm9,%ymm8,%ymm9
+  .byte  196,65,124,91,201                   // vcvtdq2ps     %ymm9,%ymm9
+  .byte  196,98,125,24,21,91,157,2,0         // vbroadcastss  0x29d5b(%rip),%ymm10        # 3c57c <_sk_srcover_bgra_8888_sse2_lowp+0x330>
+  .byte  196,65,52,89,202                    // vmulps        %ymm10,%ymm9,%ymm9
+  .byte  196,98,125,24,21,81,157,2,0         // vbroadcastss  0x29d51(%rip),%ymm10        # 3c580 <_sk_srcover_bgra_8888_sse2_lowp+0x334>
+  .byte  196,65,60,84,210                    // vandps        %ymm10,%ymm8,%ymm10
+  .byte  196,65,124,91,210                   // vcvtdq2ps     %ymm10,%ymm10
+  .byte  196,98,125,24,29,66,157,2,0         // vbroadcastss  0x29d42(%rip),%ymm11        # 3c584 <_sk_srcover_bgra_8888_sse2_lowp+0x338>
+  .byte  196,65,44,89,211                    // vmulps        %ymm11,%ymm10,%ymm10
+  .byte  196,98,125,24,29,56,157,2,0         // vbroadcastss  0x29d38(%rip),%ymm11        # 3c588 <_sk_srcover_bgra_8888_sse2_lowp+0x33c>
+  .byte  196,65,60,84,195                    // vandps        %ymm11,%ymm8,%ymm8
+  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
+  .byte  196,98,125,24,29,41,157,2,0         // vbroadcastss  0x29d29(%rip),%ymm11        # 3c58c <_sk_srcover_bgra_8888_sse2_lowp+0x340>
+  .byte  196,65,60,89,195                    // vmulps        %ymm11,%ymm8,%ymm8
+  .byte  197,100,194,223,1                   // vcmpltps      %ymm7,%ymm3,%ymm11
+  .byte  196,65,44,93,224                    // vminps        %ymm8,%ymm10,%ymm12
+  .byte  196,65,52,93,228                    // vminps        %ymm12,%ymm9,%ymm12
+  .byte  196,65,44,95,232                    // vmaxps        %ymm8,%ymm10,%ymm13
+  .byte  196,65,52,95,237                    // vmaxps        %ymm13,%ymm9,%ymm13
+  .byte  196,67,21,74,220,176                // vblendvps     %ymm11,%ymm12,%ymm13,%ymm11
+  .byte  197,180,89,192                      // vmulps        %ymm0,%ymm9,%ymm0
+  .byte  197,172,89,201                      // vmulps        %ymm1,%ymm10,%ymm1
+  .byte  197,188,89,210                      // vmulps        %ymm2,%ymm8,%ymm2
+  .byte  197,164,89,219                      // vmulps        %ymm3,%ymm11,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  15,135,65,255,255,255               // ja            127ef <_sk_scale_565_avx+0x1f>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,100,0,0,0                 // lea           0x64(%rip),%r9        # 1291c <_sk_scale_565_avx+0x14c>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  197,121,110,192                     // vmovd         %eax,%xmm8
+  .byte  233,32,255,255,255                  // jmpq          127ef <_sk_scale_565_avx+0x1f>
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  196,65,57,196,68,80,4,2             // vpinsrw       $0x2,0x4(%r8,%rdx,2),%xmm8,%xmm8
+  .byte  196,65,121,110,12,80                // vmovd         (%r8,%rdx,2),%xmm9
+  .byte  196,67,57,14,193,3                  // vpblendw      $0x3,%xmm9,%xmm8,%xmm8
+  .byte  233,2,255,255,255                   // jmpq          127ef <_sk_scale_565_avx+0x1f>
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  196,65,57,196,68,80,12,6            // vpinsrw       $0x6,0xc(%r8,%rdx,2),%xmm8,%xmm8
+  .byte  196,65,57,196,68,80,10,5            // vpinsrw       $0x5,0xa(%r8,%rdx,2),%xmm8,%xmm8
+  .byte  196,65,57,196,68,80,8,4             // vpinsrw       $0x4,0x8(%r8,%rdx,2),%xmm8,%xmm8
+  .byte  196,65,122,126,12,80                // vmovq         (%r8,%rdx,2),%xmm9
+  .byte  196,67,49,14,192,240                // vpblendw      $0xf0,%xmm8,%xmm9,%xmm8
+  .byte  233,212,254,255,255                 // jmpq          127ef <_sk_scale_565_avx+0x1f>
+  .byte  144                                 // nop
+  .byte  165                                 // movsl         %ds:(%rsi),%es:(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,192                             // inc           %eax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,179,255,255,255,238             // pushq         -0x11000001(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,230                             // jmpq          *%rsi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  222,255                             // fdivrp        %st,%st(7)
+  .byte  255                                 // (bad)
+  .byte  255,209                             // callq         *%rcx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_lerp_1_float_avx
+.globl _sk_lerp_1_float_avx
+FUNCTION(_sk_lerp_1_float_avx)
+_sk_lerp_1_float_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,0                     // vbroadcastss  (%rax),%ymm8
+  .byte  197,252,92,196                      // vsubps        %ymm4,%ymm0,%ymm0
+  .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
+  .byte  197,252,88,196                      // vaddps        %ymm4,%ymm0,%ymm0
+  .byte  197,244,92,205                      // vsubps        %ymm5,%ymm1,%ymm1
+  .byte  196,193,116,89,200                  // vmulps        %ymm8,%ymm1,%ymm1
+  .byte  197,244,88,205                      // vaddps        %ymm5,%ymm1,%ymm1
+  .byte  197,236,92,214                      // vsubps        %ymm6,%ymm2,%ymm2
+  .byte  196,193,108,89,208                  // vmulps        %ymm8,%ymm2,%ymm2
+  .byte  197,236,88,214                      // vaddps        %ymm6,%ymm2,%ymm2
+  .byte  197,228,92,223                      // vsubps        %ymm7,%ymm3,%ymm3
+  .byte  196,193,100,89,216                  // vmulps        %ymm8,%ymm3,%ymm3
+  .byte  197,228,88,223                      // vaddps        %ymm7,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_lerp_u8_avx
+.globl _sk_lerp_u8_avx
+FUNCTION(_sk_lerp_u8_avx)
+_sk_lerp_u8_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,111                             // jne           129f8 <_sk_lerp_u8_avx+0x81>
+  .byte  196,66,121,48,4,16                  // vpmovzxbw     (%r8,%rdx,1),%xmm8
+  .byte  197,57,219,5,25,165,2,0             // vpand         0x2a519(%rip),%xmm8,%xmm8        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  196,66,121,51,200                   // vpmovzxwd     %xmm8,%xmm9
+  .byte  196,65,121,112,192,78               // vpshufd       $0x4e,%xmm8,%xmm8
+  .byte  196,66,121,51,192                   // vpmovzxwd     %xmm8,%xmm8
+  .byte  196,67,53,24,192,1                  // vinsertf128   $0x1,%xmm8,%ymm9,%ymm8
+  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
+  .byte  196,98,125,24,13,185,155,2,0        // vbroadcastss  0x29bb9(%rip),%ymm9        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  196,65,60,89,193                    // vmulps        %ymm9,%ymm8,%ymm8
+  .byte  197,252,92,196                      // vsubps        %ymm4,%ymm0,%ymm0
+  .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
+  .byte  197,252,88,196                      // vaddps        %ymm4,%ymm0,%ymm0
+  .byte  197,244,92,205                      // vsubps        %ymm5,%ymm1,%ymm1
+  .byte  196,193,116,89,200                  // vmulps        %ymm8,%ymm1,%ymm1
+  .byte  197,244,88,205                      // vaddps        %ymm5,%ymm1,%ymm1
+  .byte  197,236,92,214                      // vsubps        %ymm6,%ymm2,%ymm2
+  .byte  196,193,108,89,208                  // vmulps        %ymm8,%ymm2,%ymm2
+  .byte  197,236,88,214                      // vaddps        %ymm6,%ymm2,%ymm2
+  .byte  197,228,92,223                      // vsubps        %ymm7,%ymm3,%ymm3
+  .byte  196,193,100,89,216                  // vmulps        %ymm8,%ymm3,%ymm3
+  .byte  197,228,88,223                      // vaddps        %ymm7,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,136                             // ja            1298f <_sk_lerp_u8_avx+0x18>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,127,0,0,0                 // lea           0x7f(%rip),%r9        # 12a90 <_sk_lerp_u8_avx+0x119>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  197,121,110,192                     // vmovd         %eax,%xmm8
+  .byte  233,103,255,255,255                 // jmpq          1298f <_sk_lerp_u8_avx+0x18>
+  .byte  65,15,182,68,16,2                   // movzbl        0x2(%r8,%rdx,1),%eax
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  197,57,196,192,2                    // vpinsrw       $0x2,%eax,%xmm8,%xmm8
+  .byte  65,15,183,4,16                      // movzwl        (%r8,%rdx,1),%eax
+  .byte  197,121,110,200                     // vmovd         %eax,%xmm9
+  .byte  196,66,121,48,201                   // vpmovzxbw     %xmm9,%xmm9
+  .byte  196,67,57,14,193,3                  // vpblendw      $0x3,%xmm9,%xmm8,%xmm8
+  .byte  233,62,255,255,255                  // jmpq          1298f <_sk_lerp_u8_avx+0x18>
+  .byte  65,15,182,68,16,6                   // movzbl        0x6(%r8,%rdx,1),%eax
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  197,57,196,192,6                    // vpinsrw       $0x6,%eax,%xmm8,%xmm8
+  .byte  65,15,182,68,16,5                   // movzbl        0x5(%r8,%rdx,1),%eax
+  .byte  197,57,196,192,5                    // vpinsrw       $0x5,%eax,%xmm8,%xmm8
+  .byte  65,15,182,68,16,4                   // movzbl        0x4(%r8,%rdx,1),%eax
+  .byte  197,57,196,192,4                    // vpinsrw       $0x4,%eax,%xmm8,%xmm8
+  .byte  196,65,121,110,12,16                // vmovd         (%r8,%rdx,1),%xmm9
+  .byte  196,66,121,48,201                   // vpmovzxbw     %xmm9,%xmm9
+  .byte  196,67,49,14,192,240                // vpblendw      $0xf0,%xmm8,%xmm9,%xmm8
+  .byte  233,2,255,255,255                   // jmpq          1298f <_sk_lerp_u8_avx+0x18>
+  .byte  15,31,0                             // nopl          (%rax)
+  .byte  138,255                             // mov           %bh,%bh
+  .byte  255                                 // (bad)
+  .byte  255,168,255,255,255,152             // ljmp          *-0x67000001(%rax)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,231                             // jmpq          *%rdi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  220,255                             // fdivr         %st,%st(7)
+  .byte  255                                 // (bad)
+  .byte  255,209                             // callq         *%rcx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,193                             // inc           %ecx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_lerp_565_avx
+.globl _sk_lerp_565_avx
+FUNCTION(_sk_lerp_565_avx)
+_sk_lerp_565_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,214,0,0,0                    // jne           12b9b <_sk_lerp_565_avx+0xef>
+  .byte  196,65,122,111,4,80                 // vmovdqu       (%r8,%rdx,2),%xmm8
+  .byte  196,66,121,51,200                   // vpmovzxwd     %xmm8,%xmm9
+  .byte  196,65,121,112,192,78               // vpshufd       $0x4e,%xmm8,%xmm8
+  .byte  196,66,121,51,192                   // vpmovzxwd     %xmm8,%xmm8
+  .byte  196,67,53,24,192,1                  // vinsertf128   $0x1,%xmm8,%ymm9,%ymm8
+  .byte  196,98,125,24,13,142,154,2,0        // vbroadcastss  0x29a8e(%rip),%ymm9        # 3c578 <_sk_srcover_bgra_8888_sse2_lowp+0x32c>
+  .byte  196,65,60,84,201                    // vandps        %ymm9,%ymm8,%ymm9
+  .byte  196,65,124,91,201                   // vcvtdq2ps     %ymm9,%ymm9
+  .byte  196,98,125,24,21,127,154,2,0        // vbroadcastss  0x29a7f(%rip),%ymm10        # 3c57c <_sk_srcover_bgra_8888_sse2_lowp+0x330>
+  .byte  196,65,52,89,202                    // vmulps        %ymm10,%ymm9,%ymm9
+  .byte  196,98,125,24,21,117,154,2,0        // vbroadcastss  0x29a75(%rip),%ymm10        # 3c580 <_sk_srcover_bgra_8888_sse2_lowp+0x334>
+  .byte  196,65,60,84,210                    // vandps        %ymm10,%ymm8,%ymm10
+  .byte  196,65,124,91,210                   // vcvtdq2ps     %ymm10,%ymm10
+  .byte  196,98,125,24,29,102,154,2,0        // vbroadcastss  0x29a66(%rip),%ymm11        # 3c584 <_sk_srcover_bgra_8888_sse2_lowp+0x338>
+  .byte  196,65,44,89,211                    // vmulps        %ymm11,%ymm10,%ymm10
+  .byte  196,98,125,24,29,92,154,2,0         // vbroadcastss  0x29a5c(%rip),%ymm11        # 3c588 <_sk_srcover_bgra_8888_sse2_lowp+0x33c>
+  .byte  196,65,60,84,195                    // vandps        %ymm11,%ymm8,%ymm8
+  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
+  .byte  196,98,125,24,29,77,154,2,0         // vbroadcastss  0x29a4d(%rip),%ymm11        # 3c58c <_sk_srcover_bgra_8888_sse2_lowp+0x340>
+  .byte  196,65,60,89,195                    // vmulps        %ymm11,%ymm8,%ymm8
+  .byte  197,100,194,223,1                   // vcmpltps      %ymm7,%ymm3,%ymm11
+  .byte  196,65,44,93,224                    // vminps        %ymm8,%ymm10,%ymm12
+  .byte  196,65,52,93,228                    // vminps        %ymm12,%ymm9,%ymm12
+  .byte  196,65,44,95,232                    // vmaxps        %ymm8,%ymm10,%ymm13
+  .byte  196,65,52,95,237                    // vmaxps        %ymm13,%ymm9,%ymm13
+  .byte  196,67,21,74,220,176                // vblendvps     %ymm11,%ymm12,%ymm13,%ymm11
+  .byte  197,252,92,196                      // vsubps        %ymm4,%ymm0,%ymm0
+  .byte  196,193,124,89,193                  // vmulps        %ymm9,%ymm0,%ymm0
+  .byte  197,252,88,196                      // vaddps        %ymm4,%ymm0,%ymm0
+  .byte  197,244,92,205                      // vsubps        %ymm5,%ymm1,%ymm1
+  .byte  196,193,116,89,202                  // vmulps        %ymm10,%ymm1,%ymm1
+  .byte  197,244,88,205                      // vaddps        %ymm5,%ymm1,%ymm1
+  .byte  197,236,92,214                      // vsubps        %ymm6,%ymm2,%ymm2
+  .byte  196,193,108,89,208                  // vmulps        %ymm8,%ymm2,%ymm2
+  .byte  197,236,88,214                      // vaddps        %ymm6,%ymm2,%ymm2
+  .byte  197,228,92,223                      // vsubps        %ymm7,%ymm3,%ymm3
+  .byte  196,193,100,89,219                  // vmulps        %ymm11,%ymm3,%ymm3
+  .byte  197,228,88,223                      // vaddps        %ymm7,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  15,135,29,255,255,255               // ja            12acb <_sk_lerp_565_avx+0x1f>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,100,0,0,0                 // lea           0x64(%rip),%r9        # 12c1c <_sk_lerp_565_avx+0x170>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  197,121,110,192                     // vmovd         %eax,%xmm8
+  .byte  233,252,254,255,255                 // jmpq          12acb <_sk_lerp_565_avx+0x1f>
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  196,65,57,196,68,80,4,2             // vpinsrw       $0x2,0x4(%r8,%rdx,2),%xmm8,%xmm8
+  .byte  196,65,121,110,12,80                // vmovd         (%r8,%rdx,2),%xmm9
+  .byte  196,67,57,14,193,3                  // vpblendw      $0x3,%xmm9,%xmm8,%xmm8
+  .byte  233,222,254,255,255                 // jmpq          12acb <_sk_lerp_565_avx+0x1f>
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  196,65,57,196,68,80,12,6            // vpinsrw       $0x6,0xc(%r8,%rdx,2),%xmm8,%xmm8
+  .byte  196,65,57,196,68,80,10,5            // vpinsrw       $0x5,0xa(%r8,%rdx,2),%xmm8,%xmm8
+  .byte  196,65,57,196,68,80,8,4             // vpinsrw       $0x4,0x8(%r8,%rdx,2),%xmm8,%xmm8
+  .byte  196,65,122,126,12,80                // vmovq         (%r8,%rdx,2),%xmm9
+  .byte  196,67,49,14,192,240                // vpblendw      $0xf0,%xmm8,%xmm9,%xmm8
+  .byte  233,176,254,255,255                 // jmpq          12acb <_sk_lerp_565_avx+0x1f>
+  .byte  144                                 // nop
+  .byte  165                                 // movsl         %ds:(%rsi),%es:(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,192                             // inc           %eax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,179,255,255,255,238             // pushq         -0x11000001(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,230                             // jmpq          *%rsi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  222,255                             // fdivrp        %st,%st(7)
+  .byte  255                                 // (bad)
+  .byte  255,209                             // callq         *%rcx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_tables_avx
+.globl _sk_load_tables_avx
+FUNCTION(_sk_load_tables_avx)
+_sk_load_tables_avx:
+  .byte  197,252,17,124,36,200               // vmovups       %ymm7,-0x38(%rsp)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,4,2,0,0                      // jne           12e50 <_sk_load_tables_avx+0x218>
+  .byte  196,65,125,16,20,144                // vmovupd       (%r8,%rdx,4),%ymm10
+  .byte  197,125,40,13,198,158,2,0           // vmovapd       0x29ec6(%rip),%ymm9        # 3cb20 <_sk_srcover_bgra_8888_sse2_lowp+0x8d4>
+  .byte  196,193,45,84,201                   // vandpd        %ymm9,%ymm10,%ymm1
+  .byte  196,227,125,25,200,1                // vextractf128  $0x1,%ymm1,%xmm0
+  .byte  196,193,249,126,192                 // vmovq         %xmm0,%r8
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  76,139,80,8                         // mov           0x8(%rax),%r10
+  .byte  196,129,122,16,20,138               // vmovss        (%r10,%r9,4),%xmm2
+  .byte  196,195,249,22,193,1                // vpextrq       $0x1,%xmm0,%r9
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,131,105,33,4,130,16             // vinsertps     $0x10,(%r10,%r8,4),%xmm2,%xmm0
+  .byte  69,137,200                          // mov           %r9d,%r8d
+  .byte  196,131,121,33,4,130,32             // vinsertps     $0x20,(%r10,%r8,4),%xmm0,%xmm0
+  .byte  196,193,249,126,200                 // vmovq         %xmm1,%r8
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  196,3,121,33,4,138,48               // vinsertps     $0x30,(%r10,%r9,4),%xmm0,%xmm8
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  196,129,122,16,20,138               // vmovss        (%r10,%r9,4),%xmm2
+  .byte  196,195,249,22,201,1                // vpextrq       $0x1,%xmm1,%r9
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,131,105,33,12,130,16            // vinsertps     $0x10,(%r10,%r8,4),%xmm2,%xmm1
+  .byte  69,137,200                          // mov           %r9d,%r8d
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  196,131,113,33,12,130,32            // vinsertps     $0x20,(%r10,%r8,4),%xmm1,%xmm1
+  .byte  76,139,64,16                        // mov           0x10(%rax),%r8
+  .byte  196,3,113,33,36,138,48              // vinsertps     $0x30,(%r10,%r9,4),%xmm1,%xmm12
+  .byte  196,193,105,114,210,8               // vpsrld        $0x8,%xmm10,%xmm2
+  .byte  196,67,125,25,213,1                 // vextractf128  $0x1,%ymm10,%xmm13
+  .byte  196,193,121,114,213,8               // vpsrld        $0x8,%xmm13,%xmm0
+  .byte  196,227,109,24,192,1                // vinsertf128   $0x1,%xmm0,%ymm2,%ymm0
+  .byte  196,193,125,84,209                  // vandpd        %ymm9,%ymm0,%ymm2
+  .byte  196,227,125,25,208,1                // vextractf128  $0x1,%ymm2,%xmm0
+  .byte  196,193,249,126,193                 // vmovq         %xmm0,%r9
+  .byte  69,137,202                          // mov           %r9d,%r10d
+  .byte  196,129,122,16,12,144               // vmovss        (%r8,%r10,4),%xmm1
+  .byte  196,195,249,22,194,1                // vpextrq       $0x1,%xmm0,%r10
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  196,3,113,33,52,136,16              // vinsertps     $0x10,(%r8,%r9,4),%xmm1,%xmm14
+  .byte  69,137,209                          // mov           %r10d,%r9d
+  .byte  196,129,122,16,28,136               // vmovss        (%r8,%r9,4),%xmm3
+  .byte  196,193,249,126,209                 // vmovq         %xmm2,%r9
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,129,122,16,12,144               // vmovss        (%r8,%r10,4),%xmm1
+  .byte  69,137,202                          // mov           %r9d,%r10d
+  .byte  196,129,122,16,4,144                // vmovss        (%r8,%r10,4),%xmm0
+  .byte  196,195,249,22,210,1                // vpextrq       $0x1,%xmm2,%r10
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  196,3,121,33,28,136,16              // vinsertps     $0x10,(%r8,%r9,4),%xmm0,%xmm11
+  .byte  69,137,209                          // mov           %r10d,%r9d
+  .byte  196,1,122,16,60,136                 // vmovss        (%r8,%r9,4),%xmm15
+  .byte  196,195,29,24,192,1                 // vinsertf128   $0x1,%xmm8,%ymm12,%ymm0
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,227,9,33,219,32                 // vinsertps     $0x20,%xmm3,%xmm14,%xmm3
+  .byte  196,227,97,33,249,48                // vinsertps     $0x30,%xmm1,%xmm3,%xmm7
+  .byte  196,1,122,16,52,144                 // vmovss        (%r8,%r10,4),%xmm14
+  .byte  76,139,72,24                        // mov           0x18(%rax),%r9
+  .byte  196,193,97,114,210,16               // vpsrld        $0x10,%xmm10,%xmm3
+  .byte  196,193,105,114,213,16              // vpsrld        $0x10,%xmm13,%xmm2
+  .byte  196,227,101,24,210,1                // vinsertf128   $0x1,%xmm2,%ymm3,%ymm2
+  .byte  196,65,109,84,201                   // vandpd        %ymm9,%ymm2,%ymm9
+  .byte  196,99,125,25,202,1                 // vextractf128  $0x1,%ymm9,%xmm2
+  .byte  196,193,249,126,208                 // vmovq         %xmm2,%r8
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  196,193,122,16,28,129               // vmovss        (%r9,%rax,4),%xmm3
+  .byte  196,195,249,22,210,1                // vpextrq       $0x1,%xmm2,%r10
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,3,97,33,36,129,16               // vinsertps     $0x10,(%r9,%r8,4),%xmm3,%xmm12
+  .byte  68,137,208                          // mov           %r10d,%eax
+  .byte  196,193,122,16,28,129               // vmovss        (%r9,%rax,4),%xmm3
+  .byte  196,65,249,126,200                  // vmovq         %xmm9,%r8
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,129,122,16,20,145               // vmovss        (%r9,%r10,4),%xmm2
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  196,193,122,16,12,129               // vmovss        (%r9,%rax,4),%xmm1
+  .byte  196,67,249,22,202,1                 // vpextrq       $0x1,%xmm9,%r10
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,3,113,33,12,129,16              // vinsertps     $0x10,(%r9,%r8,4),%xmm1,%xmm9
+  .byte  68,137,208                          // mov           %r10d,%eax
+  .byte  196,65,122,16,4,129                 // vmovss        (%r9,%rax,4),%xmm8
+  .byte  196,195,33,33,207,32                // vinsertps     $0x20,%xmm15,%xmm11,%xmm1
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,1,122,16,28,145                 // vmovss        (%r9,%r10,4),%xmm11
+  .byte  196,195,113,33,206,48               // vinsertps     $0x30,%xmm14,%xmm1,%xmm1
+  .byte  196,227,117,24,207,1                // vinsertf128   $0x1,%xmm7,%ymm1,%ymm1
+  .byte  196,227,25,33,219,32                // vinsertps     $0x20,%xmm3,%xmm12,%xmm3
+  .byte  196,227,97,33,210,48                // vinsertps     $0x30,%xmm2,%xmm3,%xmm2
+  .byte  196,195,49,33,216,32                // vinsertps     $0x20,%xmm8,%xmm9,%xmm3
+  .byte  196,195,97,33,219,48                // vinsertps     $0x30,%xmm11,%xmm3,%xmm3
+  .byte  196,227,101,24,210,1                // vinsertf128   $0x1,%xmm2,%ymm3,%ymm2
+  .byte  196,193,97,114,210,24               // vpsrld        $0x18,%xmm10,%xmm3
+  .byte  196,193,65,114,213,24               // vpsrld        $0x18,%xmm13,%xmm7
+  .byte  196,227,101,24,223,1                // vinsertf128   $0x1,%xmm7,%ymm3,%ymm3
+  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
+  .byte  196,226,125,24,61,50,151,2,0        // vbroadcastss  0x29732(%rip),%ymm7        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  197,228,89,223                      // vmulps        %ymm7,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,16,124,36,200               // vmovups       -0x38(%rsp),%ymm7
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,137,249                          // mov           %edi,%r9d
+  .byte  65,128,225,7                        // and           $0x7,%r9b
+  .byte  196,65,44,87,210                    // vxorps        %ymm10,%ymm10,%ymm10
+  .byte  65,254,201                          // dec           %r9b
+  .byte  65,128,249,6                        // cmp           $0x6,%r9b
+  .byte  15,135,233,253,255,255              // ja            12c52 <_sk_load_tables_avx+0x1a>
+  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
+  .byte  76,141,21,148,0,0,0                 // lea           0x94(%rip),%r10        # 12f08 <_sk_load_tables_avx+0x2d0>
+  .byte  79,99,12,138                        // movslq        (%r10,%r9,4),%r9
+  .byte  77,1,209                            // add           %r10,%r9
+  .byte  65,255,225                          // jmpq          *%r9
+  .byte  196,65,122,16,20,144                // vmovss        (%r8,%rdx,4),%xmm10
+  .byte  233,201,253,255,255                 // jmpq          12c52 <_sk_load_tables_avx+0x1a>
+  .byte  196,193,121,110,68,144,8            // vmovd         0x8(%r8,%rdx,4),%xmm0
+  .byte  197,249,112,192,68                  // vpshufd       $0x44,%xmm0,%xmm0
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  196,99,117,12,208,4                 // vblendps      $0x4,%ymm0,%ymm1,%ymm10
+  .byte  196,193,123,16,4,144                // vmovsd        (%r8,%rdx,4),%xmm0
+  .byte  196,99,45,13,208,1                  // vblendpd      $0x1,%ymm0,%ymm10,%ymm10
+  .byte  233,162,253,255,255                 // jmpq          12c52 <_sk_load_tables_avx+0x1a>
+  .byte  196,193,121,110,68,144,24           // vmovd         0x18(%r8,%rdx,4),%xmm0
+  .byte  197,249,112,192,68                  // vpshufd       $0x44,%xmm0,%xmm0
+  .byte  196,227,125,24,192,1                // vinsertf128   $0x1,%xmm0,%ymm0,%ymm0
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  196,99,117,12,208,64                // vblendps      $0x40,%ymm0,%ymm1,%ymm10
+  .byte  196,99,125,25,208,1                 // vextractf128  $0x1,%ymm10,%xmm0
+  .byte  196,195,121,34,68,144,20,1          // vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm0,%xmm0
+  .byte  196,99,45,24,208,1                  // vinsertf128   $0x1,%xmm0,%ymm10,%ymm10
+  .byte  196,99,125,25,208,1                 // vextractf128  $0x1,%ymm10,%xmm0
+  .byte  196,195,121,34,68,144,16,0          // vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm0,%xmm0
+  .byte  196,99,45,24,208,1                  // vinsertf128   $0x1,%xmm0,%ymm10,%ymm10
+  .byte  196,193,121,16,4,144                // vmovupd       (%r8,%rdx,4),%xmm0
+  .byte  196,67,125,13,210,12                // vblendpd      $0xc,%ymm10,%ymm0,%ymm10
+  .byte  233,77,253,255,255                  // jmpq          12c52 <_sk_load_tables_avx+0x1a>
+  .byte  15,31,0                             // nopl          (%rax)
+  .byte  118,255                             // jbe           12f09 <_sk_load_tables_avx+0x2d1>
+  .byte  255                                 // (bad)
+  .byte  255,151,255,255,255,129             // callq         *-0x7e000001(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  236                                 // in            (%dx),%al
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  216,255                             // fdivr         %st(7),%st
+  .byte  255                                 // (bad)
+  .byte  255,196                             // inc           %esp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+  .byte  168,255                             // test          $0xff,%al
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_tables_u16_be_avx
+.globl _sk_load_tables_u16_be_avx
+FUNCTION(_sk_load_tables_u16_be_avx)
+_sk_load_tables_u16_be_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  76,141,12,149,0,0,0,0               // lea           0x0(,%rdx,4),%r9
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  197,252,17,124,36,200               // vmovups       %ymm7,-0x38(%rsp)
+  .byte  197,252,17,116,36,168               // vmovups       %ymm6,-0x58(%rsp)
+  .byte  15,133,75,2,0,0                     // jne           13191 <_sk_load_tables_u16_be_avx+0x26d>
+  .byte  196,1,121,16,4,72                   // vmovupd       (%r8,%r9,2),%xmm8
+  .byte  196,129,121,16,84,72,16             // vmovupd       0x10(%r8,%r9,2),%xmm2
+  .byte  196,129,121,16,92,72,32             // vmovupd       0x20(%r8,%r9,2),%xmm3
+  .byte  196,1,122,111,76,72,48              // vmovdqu       0x30(%r8,%r9,2),%xmm9
+  .byte  197,185,97,194                      // vpunpcklwd    %xmm2,%xmm8,%xmm0
+  .byte  197,185,105,210                     // vpunpckhwd    %xmm2,%xmm8,%xmm2
+  .byte  196,193,97,97,201                   // vpunpcklwd    %xmm9,%xmm3,%xmm1
+  .byte  196,193,97,105,217                  // vpunpckhwd    %xmm9,%xmm3,%xmm3
+  .byte  197,121,97,202                      // vpunpcklwd    %xmm2,%xmm0,%xmm9
+  .byte  197,121,105,194                     // vpunpckhwd    %xmm2,%xmm0,%xmm8
+  .byte  197,241,97,195                      // vpunpcklwd    %xmm3,%xmm1,%xmm0
+  .byte  197,113,105,227                     // vpunpckhwd    %xmm3,%xmm1,%xmm12
+  .byte  197,177,108,208                     // vpunpcklqdq   %xmm0,%xmm9,%xmm2
+  .byte  197,49,109,232                      // vpunpckhqdq   %xmm0,%xmm9,%xmm13
+  .byte  196,65,57,108,212                   // vpunpcklqdq   %xmm12,%xmm8,%xmm10
+  .byte  197,121,111,29,24,159,2,0           // vmovdqa       0x29f18(%rip),%xmm11        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  196,193,105,219,195                 // vpand         %xmm11,%xmm2,%xmm0
+  .byte  197,249,112,208,78                  // vpshufd       $0x4e,%xmm0,%xmm2
+  .byte  196,226,121,51,210                  // vpmovzxwd     %xmm2,%xmm2
+  .byte  196,193,249,126,208                 // vmovq         %xmm2,%r8
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  76,139,80,8                         // mov           0x8(%rax),%r10
+  .byte  196,129,122,16,28,138               // vmovss        (%r10,%r9,4),%xmm3
+  .byte  196,195,249,22,209,1                // vpextrq       $0x1,%xmm2,%r9
+  .byte  196,226,121,51,192                  // vpmovzxwd     %xmm0,%xmm0
+  .byte  73,193,232,30                       // shr           $0x1e,%r8
+  .byte  196,3,97,33,12,2,16                 // vinsertps     $0x10,(%r10,%r8,1),%xmm3,%xmm9
+  .byte  69,137,200                          // mov           %r9d,%r8d
+  .byte  196,129,122,16,28,130               // vmovss        (%r10,%r8,4),%xmm3
+  .byte  196,193,249,126,192                 // vmovq         %xmm0,%r8
+  .byte  73,193,233,30                       // shr           $0x1e,%r9
+  .byte  196,129,122,16,12,10                // vmovss        (%r10,%r9,1),%xmm1
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  196,129,122,16,20,138               // vmovss        (%r10,%r9,4),%xmm2
+  .byte  196,195,249,22,193,1                // vpextrq       $0x1,%xmm0,%r9
+  .byte  73,193,232,30                       // shr           $0x1e,%r8
+  .byte  196,131,105,33,4,2,16               // vinsertps     $0x10,(%r10,%r8,1),%xmm2,%xmm0
+  .byte  69,137,200                          // mov           %r9d,%r8d
+  .byte  73,193,233,30                       // shr           $0x1e,%r9
+  .byte  196,131,121,33,20,130,32            // vinsertps     $0x20,(%r10,%r8,4),%xmm0,%xmm2
+  .byte  76,139,64,16                        // mov           0x10(%rax),%r8
+  .byte  196,227,49,33,195,32                // vinsertps     $0x20,%xmm3,%xmm9,%xmm0
+  .byte  196,99,121,33,241,48                // vinsertps     $0x30,%xmm1,%xmm0,%xmm14
+  .byte  196,3,105,33,12,10,48               // vinsertps     $0x30,(%r10,%r9,1),%xmm2,%xmm9
+  .byte  196,193,17,219,203                  // vpand         %xmm11,%xmm13,%xmm1
+  .byte  197,249,112,209,78                  // vpshufd       $0x4e,%xmm1,%xmm2
+  .byte  196,226,121,51,210                  // vpmovzxwd     %xmm2,%xmm2
+  .byte  196,193,249,126,209                 // vmovq         %xmm2,%r9
+  .byte  69,137,202                          // mov           %r9d,%r10d
+  .byte  196,129,122,16,28,144               // vmovss        (%r8,%r10,4),%xmm3
+  .byte  196,195,249,22,210,1                // vpextrq       $0x1,%xmm2,%r10
+  .byte  196,226,121,51,193                  // vpmovzxwd     %xmm1,%xmm0
+  .byte  73,193,233,30                       // shr           $0x1e,%r9
+  .byte  196,3,97,33,60,8,16                 // vinsertps     $0x10,(%r8,%r9,1),%xmm3,%xmm15
+  .byte  69,137,209                          // mov           %r10d,%r9d
+  .byte  196,129,122,16,20,136               // vmovss        (%r8,%r9,4),%xmm2
+  .byte  196,193,249,126,193                 // vmovq         %xmm0,%r9
+  .byte  73,193,234,30                       // shr           $0x1e,%r10
+  .byte  196,129,122,16,28,16                // vmovss        (%r8,%r10,1),%xmm3
+  .byte  69,137,202                          // mov           %r9d,%r10d
+  .byte  196,129,122,16,12,144               // vmovss        (%r8,%r10,4),%xmm1
+  .byte  196,195,249,22,194,1                // vpextrq       $0x1,%xmm0,%r10
+  .byte  73,193,233,30                       // shr           $0x1e,%r9
+  .byte  196,131,113,33,4,8,16               // vinsertps     $0x10,(%r8,%r9,1),%xmm1,%xmm0
+  .byte  69,137,209                          // mov           %r10d,%r9d
+  .byte  73,193,234,30                       // shr           $0x1e,%r10
+  .byte  196,131,121,33,4,136,32             // vinsertps     $0x20,(%r8,%r9,4),%xmm0,%xmm0
+  .byte  196,3,121,33,44,16,48               // vinsertps     $0x30,(%r8,%r10,1),%xmm0,%xmm13
+  .byte  76,139,80,24                        // mov           0x18(%rax),%r10
+  .byte  196,193,41,219,195                  // vpand         %xmm11,%xmm10,%xmm0
+  .byte  197,249,112,200,78                  // vpshufd       $0x4e,%xmm0,%xmm1
+  .byte  196,226,121,51,201                  // vpmovzxwd     %xmm1,%xmm1
+  .byte  196,195,249,22,200,1                // vpextrq       $0x1,%xmm1,%r8
+  .byte  196,193,249,126,201                 // vmovq         %xmm1,%r9
+  .byte  196,226,121,51,192                  // vpmovzxwd     %xmm0,%xmm0
+  .byte  68,137,200                          // mov           %r9d,%eax
+  .byte  196,193,122,16,12,130               // vmovss        (%r10,%rax,4),%xmm1
+  .byte  196,195,249,22,195,1                // vpextrq       $0x1,%xmm0,%r11
+  .byte  73,193,233,30                       // shr           $0x1e,%r9
+  .byte  196,3,113,33,20,10,16               // vinsertps     $0x10,(%r10,%r9,1),%xmm1,%xmm10
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  196,65,122,16,28,130                // vmovss        (%r10,%rax,4),%xmm11
+  .byte  196,193,249,126,193                 // vmovq         %xmm0,%r9
+  .byte  73,193,232,30                       // shr           $0x1e,%r8
+  .byte  196,129,122,16,60,2                 // vmovss        (%r10,%r8,1),%xmm7
+  .byte  68,137,200                          // mov           %r9d,%eax
+  .byte  196,193,122,16,4,130                // vmovss        (%r10,%rax,4),%xmm0
+  .byte  73,193,233,30                       // shr           $0x1e,%r9
+  .byte  196,131,121,33,4,10,16              // vinsertps     $0x10,(%r10,%r9,1),%xmm0,%xmm0
+  .byte  68,137,216                          // mov           %r11d,%eax
+  .byte  196,195,121,33,4,130,32             // vinsertps     $0x20,(%r10,%rax,4),%xmm0,%xmm0
+  .byte  73,193,235,30                       // shr           $0x1e,%r11
+  .byte  196,131,121,33,52,26,48             // vinsertps     $0x30,(%r10,%r11,1),%xmm0,%xmm6
+  .byte  196,195,53,24,198,1                 // vinsertf128   $0x1,%xmm14,%ymm9,%ymm0
+  .byte  196,227,1,33,202,32                 // vinsertps     $0x20,%xmm2,%xmm15,%xmm1
+  .byte  196,227,113,33,203,48               // vinsertps     $0x30,%xmm3,%xmm1,%xmm1
+  .byte  196,227,21,24,201,1                 // vinsertf128   $0x1,%xmm1,%ymm13,%ymm1
+  .byte  196,195,41,33,211,32                // vinsertps     $0x20,%xmm11,%xmm10,%xmm2
+  .byte  196,227,105,33,215,48               // vinsertps     $0x30,%xmm7,%xmm2,%xmm2
+  .byte  196,227,77,24,210,1                 // vinsertf128   $0x1,%xmm2,%ymm6,%ymm2
+  .byte  196,193,57,109,220                  // vpunpckhqdq   %xmm12,%xmm8,%xmm3
+  .byte  197,201,113,243,8                   // vpsllw        $0x8,%xmm3,%xmm6
+  .byte  197,225,113,211,8                   // vpsrlw        $0x8,%xmm3,%xmm3
+  .byte  197,201,235,219                     // vpor          %xmm3,%xmm6,%xmm3
+  .byte  196,226,121,51,243                  // vpmovzxwd     %xmm3,%xmm6
+  .byte  197,249,112,219,78                  // vpshufd       $0x4e,%xmm3,%xmm3
+  .byte  196,226,121,51,219                  // vpmovzxwd     %xmm3,%xmm3
+  .byte  196,227,77,24,219,1                 // vinsertf128   $0x1,%xmm3,%ymm6,%ymm3
+  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
+  .byte  196,226,125,24,53,19,148,2,0        // vbroadcastss  0x29413(%rip),%ymm6        # 3c590 <_sk_srcover_bgra_8888_sse2_lowp+0x344>
+  .byte  197,228,89,222                      // vmulps        %ymm6,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,16,116,36,168               // vmovups       -0x58(%rsp),%ymm6
+  .byte  197,252,16,124,36,200               // vmovups       -0x38(%rsp),%ymm7
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,1,123,16,4,72                   // vmovsd        (%r8,%r9,2),%xmm8
+  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  116,85                              // je            131f7 <_sk_load_tables_u16_be_avx+0x2d3>
+  .byte  196,1,57,22,68,72,8                 // vmovhpd       0x8(%r8,%r9,2),%xmm8,%xmm8
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  114,72                              // jb            131f7 <_sk_load_tables_u16_be_avx+0x2d3>
+  .byte  196,129,123,16,84,72,16             // vmovsd        0x10(%r8,%r9,2),%xmm2
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  116,72                              // je            13204 <_sk_load_tables_u16_be_avx+0x2e0>
+  .byte  196,129,105,22,84,72,24             // vmovhpd       0x18(%r8,%r9,2),%xmm2,%xmm2
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  114,59                              // jb            13204 <_sk_load_tables_u16_be_avx+0x2e0>
+  .byte  196,129,123,16,92,72,32             // vmovsd        0x20(%r8,%r9,2),%xmm3
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  15,132,135,253,255,255              // je            12f61 <_sk_load_tables_u16_be_avx+0x3d>
+  .byte  196,129,97,22,92,72,40              // vmovhpd       0x28(%r8,%r9,2),%xmm3,%xmm3
+  .byte  72,131,255,7                        // cmp           $0x7,%rdi
+  .byte  15,130,118,253,255,255              // jb            12f61 <_sk_load_tables_u16_be_avx+0x3d>
+  .byte  196,1,122,126,76,72,48              // vmovq         0x30(%r8,%r9,2),%xmm9
+  .byte  233,106,253,255,255                 // jmpq          12f61 <_sk_load_tables_u16_be_avx+0x3d>
+  .byte  197,225,87,219                      // vxorpd        %xmm3,%xmm3,%xmm3
+  .byte  197,233,87,210                      // vxorpd        %xmm2,%xmm2,%xmm2
+  .byte  233,93,253,255,255                  // jmpq          12f61 <_sk_load_tables_u16_be_avx+0x3d>
+  .byte  197,225,87,219                      // vxorpd        %xmm3,%xmm3,%xmm3
+  .byte  233,84,253,255,255                  // jmpq          12f61 <_sk_load_tables_u16_be_avx+0x3d>
+
+HIDDEN _sk_load_tables_rgb_u16_be_avx
+.globl _sk_load_tables_rgb_u16_be_avx
+FUNCTION(_sk_load_tables_rgb_u16_be_avx)
+_sk_load_tables_rgb_u16_be_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  76,141,12,82                        // lea           (%rdx,%rdx,2),%r9
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  197,252,17,124,36,200               // vmovups       %ymm7,-0x38(%rsp)
+  .byte  197,252,17,116,36,168               // vmovups       %ymm6,-0x58(%rsp)
+  .byte  15,133,54,2,0,0                     // jne           13461 <_sk_load_tables_rgb_u16_be_avx+0x254>
+  .byte  196,1,122,111,28,72                 // vmovdqu       (%r8,%r9,2),%xmm11
+  .byte  196,129,122,111,92,72,12            // vmovdqu       0xc(%r8,%r9,2),%xmm3
+  .byte  196,129,122,111,84,72,24            // vmovdqu       0x18(%r8,%r9,2),%xmm2
+  .byte  196,129,122,111,68,72,32            // vmovdqu       0x20(%r8,%r9,2),%xmm0
+  .byte  197,249,115,216,4                   // vpsrldq       $0x4,%xmm0,%xmm0
+  .byte  196,193,57,115,219,6                // vpsrldq       $0x6,%xmm11,%xmm8
+  .byte  197,169,115,219,6                   // vpsrldq       $0x6,%xmm3,%xmm10
+  .byte  197,241,115,218,6                   // vpsrldq       $0x6,%xmm2,%xmm1
+  .byte  197,177,115,216,6                   // vpsrldq       $0x6,%xmm0,%xmm9
+  .byte  196,65,113,97,201                   // vpunpcklwd    %xmm9,%xmm1,%xmm9
+  .byte  197,233,97,192                      // vpunpcklwd    %xmm0,%xmm2,%xmm0
+  .byte  196,193,57,97,210                   // vpunpcklwd    %xmm10,%xmm8,%xmm2
+  .byte  197,161,97,219                      // vpunpcklwd    %xmm3,%xmm11,%xmm3
+  .byte  197,225,97,202                      // vpunpcklwd    %xmm2,%xmm3,%xmm1
+  .byte  197,225,105,210                     // vpunpckhwd    %xmm2,%xmm3,%xmm2
+  .byte  196,193,121,97,217                  // vpunpcklwd    %xmm9,%xmm0,%xmm3
+  .byte  196,193,121,105,193                 // vpunpckhwd    %xmm9,%xmm0,%xmm0
+  .byte  197,105,108,216                     // vpunpcklqdq   %xmm0,%xmm2,%xmm11
+  .byte  197,241,108,211                     // vpunpcklqdq   %xmm3,%xmm1,%xmm2
+  .byte  197,241,109,203                     // vpunpckhqdq   %xmm3,%xmm1,%xmm1
+  .byte  197,121,111,53,24,156,2,0           // vmovdqa       0x29c18(%rip),%xmm14        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  196,193,105,219,214                 // vpand         %xmm14,%xmm2,%xmm2
+  .byte  197,249,112,218,78                  // vpshufd       $0x4e,%xmm2,%xmm3
+  .byte  196,226,121,51,219                  // vpmovzxwd     %xmm3,%xmm3
+  .byte  196,193,249,126,216                 // vmovq         %xmm3,%r8
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  76,139,80,8                         // mov           0x8(%rax),%r10
+  .byte  196,129,122,16,4,138                // vmovss        (%r10,%r9,4),%xmm0
+  .byte  196,195,249,22,217,1                // vpextrq       $0x1,%xmm3,%r9
+  .byte  196,226,121,51,210                  // vpmovzxwd     %xmm2,%xmm2
+  .byte  73,193,232,30                       // shr           $0x1e,%r8
+  .byte  196,3,121,33,4,2,16                 // vinsertps     $0x10,(%r10,%r8,1),%xmm0,%xmm8
+  .byte  69,137,200                          // mov           %r9d,%r8d
+  .byte  196,1,122,16,20,130                 // vmovss        (%r10,%r8,4),%xmm10
+  .byte  196,193,249,126,208                 // vmovq         %xmm2,%r8
+  .byte  73,193,233,30                       // shr           $0x1e,%r9
+  .byte  196,1,122,16,36,10                  // vmovss        (%r10,%r9,1),%xmm12
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  196,129,122,16,4,138                // vmovss        (%r10,%r9,4),%xmm0
+  .byte  196,195,249,22,209,1                // vpextrq       $0x1,%xmm2,%r9
+  .byte  73,193,232,30                       // shr           $0x1e,%r8
+  .byte  196,131,121,33,4,2,16               // vinsertps     $0x10,(%r10,%r8,1),%xmm0,%xmm0
+  .byte  69,137,200                          // mov           %r9d,%r8d
+  .byte  73,193,233,30                       // shr           $0x1e,%r9
+  .byte  196,131,121,33,4,130,32             // vinsertps     $0x20,(%r10,%r8,4),%xmm0,%xmm0
+  .byte  76,139,64,16                        // mov           0x10(%rax),%r8
+  .byte  196,3,121,33,12,10,48               // vinsertps     $0x30,(%r10,%r9,1),%xmm0,%xmm9
+  .byte  196,193,113,219,198                 // vpand         %xmm14,%xmm1,%xmm0
+  .byte  197,249,112,200,78                  // vpshufd       $0x4e,%xmm0,%xmm1
+  .byte  196,226,121,51,201                  // vpmovzxwd     %xmm1,%xmm1
+  .byte  196,193,249,126,201                 // vmovq         %xmm1,%r9
+  .byte  69,137,202                          // mov           %r9d,%r10d
+  .byte  196,129,122,16,20,144               // vmovss        (%r8,%r10,4),%xmm2
+  .byte  196,195,249,22,202,1                // vpextrq       $0x1,%xmm1,%r10
+  .byte  196,226,121,51,192                  // vpmovzxwd     %xmm0,%xmm0
+  .byte  73,193,233,30                       // shr           $0x1e,%r9
+  .byte  196,3,105,33,60,8,16                // vinsertps     $0x10,(%r8,%r9,1),%xmm2,%xmm15
+  .byte  69,137,209                          // mov           %r10d,%r9d
+  .byte  196,129,122,16,20,136               // vmovss        (%r8,%r9,4),%xmm2
+  .byte  196,193,249,126,193                 // vmovq         %xmm0,%r9
+  .byte  73,193,234,30                       // shr           $0x1e,%r10
+  .byte  196,129,122,16,28,16                // vmovss        (%r8,%r10,1),%xmm3
+  .byte  69,137,202                          // mov           %r9d,%r10d
+  .byte  196,129,122,16,12,144               // vmovss        (%r8,%r10,4),%xmm1
+  .byte  196,195,249,22,194,1                // vpextrq       $0x1,%xmm0,%r10
+  .byte  73,193,233,30                       // shr           $0x1e,%r9
+  .byte  196,131,113,33,4,8,16               // vinsertps     $0x10,(%r8,%r9,1),%xmm1,%xmm0
+  .byte  69,137,209                          // mov           %r10d,%r9d
+  .byte  73,193,234,30                       // shr           $0x1e,%r10
+  .byte  196,131,121,33,4,136,32             // vinsertps     $0x20,(%r8,%r9,4),%xmm0,%xmm0
+  .byte  196,3,121,33,44,16,48               // vinsertps     $0x30,(%r8,%r10,1),%xmm0,%xmm13
+  .byte  76,139,80,24                        // mov           0x18(%rax),%r10
+  .byte  196,193,33,219,198                  // vpand         %xmm14,%xmm11,%xmm0
+  .byte  197,249,112,200,78                  // vpshufd       $0x4e,%xmm0,%xmm1
+  .byte  196,226,121,51,201                  // vpmovzxwd     %xmm1,%xmm1
+  .byte  196,195,249,22,200,1                // vpextrq       $0x1,%xmm1,%r8
+  .byte  196,193,249,126,201                 // vmovq         %xmm1,%r9
+  .byte  196,226,121,51,192                  // vpmovzxwd     %xmm0,%xmm0
+  .byte  68,137,200                          // mov           %r9d,%eax
+  .byte  196,193,122,16,12,130               // vmovss        (%r10,%rax,4),%xmm1
+  .byte  196,195,249,22,195,1                // vpextrq       $0x1,%xmm0,%r11
+  .byte  73,193,233,30                       // shr           $0x1e,%r9
+  .byte  196,3,113,33,28,10,16               // vinsertps     $0x10,(%r10,%r9,1),%xmm1,%xmm11
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  196,65,122,16,52,130                // vmovss        (%r10,%rax,4),%xmm14
+  .byte  196,193,249,126,193                 // vmovq         %xmm0,%r9
+  .byte  73,193,232,30                       // shr           $0x1e,%r8
+  .byte  196,129,122,16,60,2                 // vmovss        (%r10,%r8,1),%xmm7
+  .byte  68,137,200                          // mov           %r9d,%eax
+  .byte  196,193,122,16,4,130                // vmovss        (%r10,%rax,4),%xmm0
+  .byte  73,193,233,30                       // shr           $0x1e,%r9
+  .byte  196,131,121,33,4,10,16              // vinsertps     $0x10,(%r10,%r9,1),%xmm0,%xmm0
+  .byte  68,137,216                          // mov           %r11d,%eax
+  .byte  196,195,121,33,4,130,32             // vinsertps     $0x20,(%r10,%rax,4),%xmm0,%xmm0
+  .byte  73,193,235,30                       // shr           $0x1e,%r11
+  .byte  196,131,121,33,52,26,48             // vinsertps     $0x30,(%r10,%r11,1),%xmm0,%xmm6
+  .byte  196,195,57,33,194,32                // vinsertps     $0x20,%xmm10,%xmm8,%xmm0
+  .byte  196,195,121,33,196,48               // vinsertps     $0x30,%xmm12,%xmm0,%xmm0
+  .byte  196,227,53,24,192,1                 // vinsertf128   $0x1,%xmm0,%ymm9,%ymm0
+  .byte  196,227,1,33,202,32                 // vinsertps     $0x20,%xmm2,%xmm15,%xmm1
+  .byte  196,227,113,33,203,48               // vinsertps     $0x30,%xmm3,%xmm1,%xmm1
+  .byte  196,227,21,24,201,1                 // vinsertf128   $0x1,%xmm1,%ymm13,%ymm1
+  .byte  196,195,33,33,214,32                // vinsertps     $0x20,%xmm14,%xmm11,%xmm2
+  .byte  196,227,105,33,215,48               // vinsertps     $0x30,%xmm7,%xmm2,%xmm2
+  .byte  196,227,77,24,210,1                 // vinsertf128   $0x1,%xmm2,%ymm6,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,29,169,144,2,0       // vbroadcastss  0x290a9(%rip),%ymm3        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,252,16,116,36,168               // vmovups       -0x58(%rsp),%ymm6
+  .byte  197,252,16,124,36,200               // vmovups       -0x38(%rsp),%ymm7
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,129,121,110,4,72                // vmovd         (%r8,%r9,2),%xmm0
+  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
+  .byte  196,1,121,196,92,72,4,2             // vpinsrw       $0x2,0x4(%r8,%r9,2),%xmm0,%xmm11
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  117,31                              // jne           13499 <_sk_load_tables_rgb_u16_be_avx+0x28c>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  197,241,239,201                     // vpxor         %xmm1,%xmm1,%xmm1
+  .byte  197,233,239,210                     // vpxor         %xmm2,%xmm2,%xmm2
+  .byte  196,65,41,239,210                   // vpxor         %xmm10,%xmm10,%xmm10
+  .byte  197,225,239,219                     // vpxor         %xmm3,%xmm3,%xmm3
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  233,199,253,255,255                 // jmpq          13260 <_sk_load_tables_rgb_u16_be_avx+0x53>
+  .byte  196,129,121,110,68,72,6             // vmovd         0x6(%r8,%r9,2),%xmm0
+  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
+  .byte  196,1,121,196,68,72,10,2            // vpinsrw       $0x2,0xa(%r8,%r9,2),%xmm0,%xmm8
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  114,48                              // jb            134e3 <_sk_load_tables_rgb_u16_be_avx+0x2d6>
+  .byte  196,129,121,110,68,72,12            // vmovd         0xc(%r8,%r9,2),%xmm0
+  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
+  .byte  196,129,121,196,92,72,16,2          // vpinsrw       $0x2,0x10(%r8,%r9,2),%xmm0,%xmm3
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  117,48                              // jne           134fd <_sk_load_tables_rgb_u16_be_avx+0x2f0>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  197,241,239,201                     // vpxor         %xmm1,%xmm1,%xmm1
+  .byte  197,233,239,210                     // vpxor         %xmm2,%xmm2,%xmm2
+  .byte  196,65,41,239,210                   // vpxor         %xmm10,%xmm10,%xmm10
+  .byte  233,125,253,255,255                 // jmpq          13260 <_sk_load_tables_rgb_u16_be_avx+0x53>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  197,241,239,201                     // vpxor         %xmm1,%xmm1,%xmm1
+  .byte  197,233,239,210                     // vpxor         %xmm2,%xmm2,%xmm2
+  .byte  196,65,41,239,210                   // vpxor         %xmm10,%xmm10,%xmm10
+  .byte  197,225,239,219                     // vpxor         %xmm3,%xmm3,%xmm3
+  .byte  233,99,253,255,255                  // jmpq          13260 <_sk_load_tables_rgb_u16_be_avx+0x53>
+  .byte  196,129,121,110,68,72,18            // vmovd         0x12(%r8,%r9,2),%xmm0
+  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
+  .byte  196,1,121,196,84,72,22,2            // vpinsrw       $0x2,0x16(%r8,%r9,2),%xmm0,%xmm10
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  114,39                              // jb            1353e <_sk_load_tables_rgb_u16_be_avx+0x331>
+  .byte  196,129,121,110,68,72,24            // vmovd         0x18(%r8,%r9,2),%xmm0
+  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
+  .byte  196,129,121,196,84,72,28,2          // vpinsrw       $0x2,0x1c(%r8,%r9,2),%xmm0,%xmm2
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  117,30                              // jne           1354f <_sk_load_tables_rgb_u16_be_avx+0x342>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  197,241,239,201                     // vpxor         %xmm1,%xmm1,%xmm1
+  .byte  233,34,253,255,255                  // jmpq          13260 <_sk_load_tables_rgb_u16_be_avx+0x53>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  197,241,239,201                     // vpxor         %xmm1,%xmm1,%xmm1
+  .byte  197,233,239,210                     // vpxor         %xmm2,%xmm2,%xmm2
+  .byte  233,17,253,255,255                  // jmpq          13260 <_sk_load_tables_rgb_u16_be_avx+0x53>
+  .byte  196,129,121,110,68,72,30            // vmovd         0x1e(%r8,%r9,2),%xmm0
+  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
+  .byte  196,129,121,196,76,72,34,2          // vpinsrw       $0x2,0x22(%r8,%r9,2),%xmm0,%xmm1
+  .byte  72,131,255,7                        // cmp           $0x7,%rdi
+  .byte  114,25                              // jb            13582 <_sk_load_tables_rgb_u16_be_avx+0x375>
+  .byte  196,129,121,110,68,72,36            // vmovd         0x24(%r8,%r9,2),%xmm0
+  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
+  .byte  196,129,121,196,68,72,40,2          // vpinsrw       $0x2,0x28(%r8,%r9,2),%xmm0,%xmm0
+  .byte  233,222,252,255,255                 // jmpq          13260 <_sk_load_tables_rgb_u16_be_avx+0x53>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  233,213,252,255,255                 // jmpq          13260 <_sk_load_tables_rgb_u16_be_avx+0x53>
+
+HIDDEN _sk_byte_tables_avx
+.globl _sk_byte_tables_avx
+FUNCTION(_sk_byte_tables_avx)
+_sk_byte_tables_avx:
+  .byte  197,252,17,124,36,200               // vmovups       %ymm7,-0x38(%rsp)
+  .byte  197,252,40,254                      // vmovaps       %ymm6,%ymm7
+  .byte  197,252,40,245                      // vmovaps       %ymm5,%ymm6
+  .byte  197,252,40,236                      // vmovaps       %ymm4,%ymm5
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
+  .byte  197,180,95,192                      // vmaxps        %ymm0,%ymm9,%ymm0
+  .byte  196,98,125,24,5,75,143,2,0          // vbroadcastss  0x28f4b(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,193,124,93,192                  // vminps        %ymm8,%ymm0,%ymm0
+  .byte  196,98,125,24,21,105,143,2,0        // vbroadcastss  0x28f69(%rip),%ymm10        # 3c528 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  .byte  196,193,124,89,194                  // vmulps        %ymm10,%ymm0,%ymm0
+  .byte  197,125,91,216                      // vcvtps2dq     %ymm0,%ymm11
+  .byte  196,65,249,126,216                  // vmovq         %xmm11,%r8
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  76,139,16                           // mov           (%rax),%r10
+  .byte  71,15,182,12,10                     // movzbl        (%r10,%r9,1),%r9d
+  .byte  196,193,121,110,193                 // vmovd         %r9d,%xmm0
+  .byte  196,67,249,22,217,1                 // vpextrq       $0x1,%xmm11,%r9
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  71,15,182,4,2                       // movzbl        (%r10,%r8,1),%r8d
+  .byte  196,67,121,32,224,1                 // vpinsrb       $0x1,%r8d,%xmm0,%xmm12
+  .byte  69,137,200                          // mov           %r9d,%r8d
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  196,99,125,25,216,1                 // vextractf128  $0x1,%ymm11,%xmm0
+  .byte  71,15,182,4,2                       // movzbl        (%r10,%r8,1),%r8d
+  .byte  196,67,25,32,216,2                  // vpinsrb       $0x2,%r8d,%xmm12,%xmm11
+  .byte  196,193,249,126,192                 // vmovq         %xmm0,%r8
+  .byte  71,15,182,12,10                     // movzbl        (%r10,%r9,1),%r9d
+  .byte  196,67,33,32,217,3                  // vpinsrb       $0x3,%r9d,%xmm11,%xmm11
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  71,15,182,12,10                     // movzbl        (%r10,%r9,1),%r9d
+  .byte  196,65,121,110,225                  // vmovd         %r9d,%xmm12
+  .byte  196,195,249,22,193,1                // vpextrq       $0x1,%xmm0,%r9
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  71,15,182,4,2                       // movzbl        (%r10,%r8,1),%r8d
+  .byte  196,195,25,32,192,1                 // vpinsrb       $0x1,%r8d,%xmm12,%xmm0
+  .byte  69,137,200                          // mov           %r9d,%r8d
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  71,15,182,4,2                       // movzbl        (%r10,%r8,1),%r8d
+  .byte  196,195,121,32,192,2                // vpinsrb       $0x2,%r8d,%xmm0,%xmm0
+  .byte  76,139,64,8                         // mov           0x8(%rax),%r8
+  .byte  71,15,182,12,10                     // movzbl        (%r10,%r9,1),%r9d
+  .byte  196,67,121,32,233,3                 // vpinsrb       $0x3,%r9d,%xmm0,%xmm13
+  .byte  197,180,95,201                      // vmaxps        %ymm1,%ymm9,%ymm1
+  .byte  196,193,116,93,200                  // vminps        %ymm8,%ymm1,%ymm1
+  .byte  196,193,116,89,202                  // vmulps        %ymm10,%ymm1,%ymm1
+  .byte  197,253,91,201                      // vcvtps2dq     %ymm1,%ymm1
+  .byte  196,193,249,126,201                 // vmovq         %xmm1,%r9
+  .byte  69,137,202                          // mov           %r9d,%r10d
+  .byte  71,15,182,20,16                     // movzbl        (%r8,%r10,1),%r10d
+  .byte  196,193,121,110,194                 // vmovd         %r10d,%xmm0
+  .byte  196,195,249,22,202,1                // vpextrq       $0x1,%xmm1,%r10
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  196,195,121,32,193,1                // vpinsrb       $0x1,%r9d,%xmm0,%xmm0
+  .byte  69,137,209                          // mov           %r10d,%r9d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,227,125,25,201,1                // vextractf128  $0x1,%ymm1,%xmm1
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  196,195,121,32,193,2                // vpinsrb       $0x2,%r9d,%xmm0,%xmm0
+  .byte  196,193,249,126,201                 // vmovq         %xmm1,%r9
+  .byte  71,15,182,20,16                     // movzbl        (%r8,%r10,1),%r10d
+  .byte  196,67,121,32,226,3                 // vpinsrb       $0x3,%r10d,%xmm0,%xmm12
+  .byte  69,137,202                          // mov           %r9d,%r10d
+  .byte  71,15,182,20,16                     // movzbl        (%r8,%r10,1),%r10d
+  .byte  196,193,121,110,194                 // vmovd         %r10d,%xmm0
+  .byte  196,195,249,22,202,1                // vpextrq       $0x1,%xmm1,%r10
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  196,195,121,32,193,1                // vpinsrb       $0x1,%r9d,%xmm0,%xmm0
+  .byte  69,137,209                          // mov           %r10d,%r9d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  196,195,121,32,193,2                // vpinsrb       $0x2,%r9d,%xmm0,%xmm0
+  .byte  71,15,182,4,16                      // movzbl        (%r8,%r10,1),%r8d
+  .byte  196,67,121,32,240,3                 // vpinsrb       $0x3,%r8d,%xmm0,%xmm14
+  .byte  76,139,64,16                        // mov           0x10(%rax),%r8
+  .byte  197,180,95,194                      // vmaxps        %ymm2,%ymm9,%ymm0
+  .byte  196,193,124,93,192                  // vminps        %ymm8,%ymm0,%ymm0
+  .byte  196,193,124,89,194                  // vmulps        %ymm10,%ymm0,%ymm0
+  .byte  197,253,91,208                      // vcvtps2dq     %ymm0,%ymm2
+  .byte  196,193,249,126,209                 // vmovq         %xmm2,%r9
+  .byte  69,137,202                          // mov           %r9d,%r10d
+  .byte  71,15,182,20,16                     // movzbl        (%r8,%r10,1),%r10d
+  .byte  196,193,121,110,194                 // vmovd         %r10d,%xmm0
+  .byte  196,195,249,22,210,1                // vpextrq       $0x1,%xmm2,%r10
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  196,195,121,32,193,1                // vpinsrb       $0x1,%r9d,%xmm0,%xmm0
+  .byte  69,137,209                          // mov           %r10d,%r9d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,227,125,25,209,1                // vextractf128  $0x1,%ymm2,%xmm1
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  196,195,121,32,193,2                // vpinsrb       $0x2,%r9d,%xmm0,%xmm0
+  .byte  196,193,249,126,201                 // vmovq         %xmm1,%r9
+  .byte  71,15,182,20,16                     // movzbl        (%r8,%r10,1),%r10d
+  .byte  196,67,121,32,250,3                 // vpinsrb       $0x3,%r10d,%xmm0,%xmm15
+  .byte  69,137,202                          // mov           %r9d,%r10d
+  .byte  71,15,182,20,16                     // movzbl        (%r8,%r10,1),%r10d
+  .byte  196,193,121,110,194                 // vmovd         %r10d,%xmm0
+  .byte  196,195,249,22,202,1                // vpextrq       $0x1,%xmm1,%r10
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  196,195,121,32,193,1                // vpinsrb       $0x1,%r9d,%xmm0,%xmm0
+  .byte  69,137,209                          // mov           %r10d,%r9d
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  196,195,121,32,193,2                // vpinsrb       $0x2,%r9d,%xmm0,%xmm0
+  .byte  197,180,95,203                      // vmaxps        %ymm3,%ymm9,%ymm1
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  71,15,182,4,16                      // movzbl        (%r8,%r10,1),%r8d
+  .byte  196,195,121,32,224,3                // vpinsrb       $0x3,%r8d,%xmm0,%xmm4
+  .byte  76,139,72,24                        // mov           0x18(%rax),%r9
+  .byte  196,193,116,93,192                  // vminps        %ymm8,%ymm1,%ymm0
+  .byte  196,193,124,89,194                  // vmulps        %ymm10,%ymm0,%ymm0
+  .byte  197,253,91,192                      // vcvtps2dq     %ymm0,%ymm0
+  .byte  196,193,249,126,192                 // vmovq         %xmm0,%r8
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  65,15,182,4,1                       // movzbl        (%r9,%rax,1),%eax
+  .byte  197,249,110,200                     // vmovd         %eax,%xmm1
+  .byte  196,195,249,22,194,1                // vpextrq       $0x1,%xmm0,%r10
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  67,15,182,4,1                       // movzbl        (%r9,%r8,1),%eax
+  .byte  196,227,113,32,200,1                // vpinsrb       $0x1,%eax,%xmm1,%xmm1
+  .byte  68,137,208                          // mov           %r10d,%eax
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,227,125,25,192,1                // vextractf128  $0x1,%ymm0,%xmm0
+  .byte  65,15,182,4,1                       // movzbl        (%r9,%rax,1),%eax
+  .byte  196,227,113,32,200,2                // vpinsrb       $0x2,%eax,%xmm1,%xmm1
+  .byte  196,193,249,126,192                 // vmovq         %xmm0,%r8
+  .byte  67,15,182,4,17                      // movzbl        (%r9,%r10,1),%eax
+  .byte  196,99,113,32,192,3                 // vpinsrb       $0x3,%eax,%xmm1,%xmm8
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  65,15,182,4,1                       // movzbl        (%r9,%rax,1),%eax
+  .byte  197,249,110,200                     // vmovd         %eax,%xmm1
+  .byte  196,195,249,22,194,1                // vpextrq       $0x1,%xmm0,%r10
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  67,15,182,4,1                       // movzbl        (%r9,%r8,1),%eax
+  .byte  196,227,113,32,192,1                // vpinsrb       $0x1,%eax,%xmm1,%xmm0
+  .byte  68,137,208                          // mov           %r10d,%eax
+  .byte  65,15,182,4,1                       // movzbl        (%r9,%rax,1),%eax
+  .byte  196,227,121,32,216,2                // vpinsrb       $0x2,%eax,%xmm0,%xmm3
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  67,15,182,4,17                      // movzbl        (%r9,%r10,1),%eax
+  .byte  196,194,121,49,195                  // vpmovzxbd     %xmm11,%xmm0
+  .byte  196,194,121,49,205                  // vpmovzxbd     %xmm13,%xmm1
+  .byte  196,227,125,24,193,1                // vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,98,125,24,13,26,141,2,0         // vbroadcastss  0x28d1a(%rip),%ymm9        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  196,193,124,89,193                  // vmulps        %ymm9,%ymm0,%ymm0
+  .byte  196,194,121,49,204                  // vpmovzxbd     %xmm12,%xmm1
+  .byte  196,194,121,49,214                  // vpmovzxbd     %xmm14,%xmm2
+  .byte  196,227,117,24,202,1                // vinsertf128   $0x1,%xmm2,%ymm1,%ymm1
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  196,193,116,89,201                  // vmulps        %ymm9,%ymm1,%ymm1
+  .byte  196,194,121,49,215                  // vpmovzxbd     %xmm15,%xmm2
+  .byte  196,226,121,49,228                  // vpmovzxbd     %xmm4,%xmm4
+  .byte  196,227,109,24,212,1                // vinsertf128   $0x1,%xmm4,%ymm2,%ymm2
+  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
+  .byte  196,193,108,89,209                  // vmulps        %ymm9,%ymm2,%ymm2
+  .byte  196,194,121,49,224                  // vpmovzxbd     %xmm8,%xmm4
+  .byte  196,227,97,32,216,3                 // vpinsrb       $0x3,%eax,%xmm3,%xmm3
+  .byte  196,226,121,49,219                  // vpmovzxbd     %xmm3,%xmm3
+  .byte  196,227,93,24,219,1                 // vinsertf128   $0x1,%xmm3,%ymm4,%ymm3
+  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
+  .byte  196,193,100,89,217                  // vmulps        %ymm9,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,40,229                      // vmovaps       %ymm5,%ymm4
+  .byte  197,252,40,238                      // vmovaps       %ymm6,%ymm5
+  .byte  197,252,40,247                      // vmovaps       %ymm7,%ymm6
+  .byte  197,252,16,124,36,200               // vmovups       -0x38(%rsp),%ymm7
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_byte_tables_rgb_avx
+.globl _sk_byte_tables_rgb_avx
+FUNCTION(_sk_byte_tables_rgb_avx)
+_sk_byte_tables_rgb_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  68,139,64,24                        // mov           0x18(%rax),%r8d
+  .byte  65,255,200                          // dec           %r8d
+  .byte  196,65,121,110,192                  // vmovd         %r8d,%xmm8
+  .byte  196,65,121,112,192,0                // vpshufd       $0x0,%xmm8,%xmm8
+  .byte  196,67,61,24,192,1                  // vinsertf128   $0x1,%xmm8,%ymm8,%ymm8
+  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
+  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
+  .byte  197,180,95,192                      // vmaxps        %ymm0,%ymm9,%ymm0
+  .byte  196,98,125,24,21,5,140,2,0          // vbroadcastss  0x28c05(%rip),%ymm10        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,193,124,93,194                  // vminps        %ymm10,%ymm0,%ymm0
+  .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
+  .byte  197,125,91,216                      // vcvtps2dq     %ymm0,%ymm11
+  .byte  196,65,249,126,216                  // vmovq         %xmm11,%r8
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  76,139,16                           // mov           (%rax),%r10
+  .byte  71,15,182,12,10                     // movzbl        (%r10,%r9,1),%r9d
+  .byte  196,193,121,110,193                 // vmovd         %r9d,%xmm0
+  .byte  196,67,249,22,217,1                 // vpextrq       $0x1,%xmm11,%r9
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  71,15,182,4,2                       // movzbl        (%r10,%r8,1),%r8d
+  .byte  196,67,121,32,224,1                 // vpinsrb       $0x1,%r8d,%xmm0,%xmm12
+  .byte  69,137,200                          // mov           %r9d,%r8d
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  196,99,125,25,216,1                 // vextractf128  $0x1,%ymm11,%xmm0
+  .byte  71,15,182,4,2                       // movzbl        (%r10,%r8,1),%r8d
+  .byte  196,67,25,32,216,2                  // vpinsrb       $0x2,%r8d,%xmm12,%xmm11
+  .byte  196,193,249,126,192                 // vmovq         %xmm0,%r8
+  .byte  71,15,182,12,10                     // movzbl        (%r10,%r9,1),%r9d
+  .byte  196,67,33,32,217,3                  // vpinsrb       $0x3,%r9d,%xmm11,%xmm11
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  71,15,182,12,10                     // movzbl        (%r10,%r9,1),%r9d
+  .byte  196,65,121,110,225                  // vmovd         %r9d,%xmm12
+  .byte  196,195,249,22,193,1                // vpextrq       $0x1,%xmm0,%r9
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  71,15,182,4,2                       // movzbl        (%r10,%r8,1),%r8d
+  .byte  196,195,25,32,192,1                 // vpinsrb       $0x1,%r8d,%xmm12,%xmm0
+  .byte  69,137,200                          // mov           %r9d,%r8d
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  71,15,182,4,2                       // movzbl        (%r10,%r8,1),%r8d
+  .byte  196,195,121,32,192,2                // vpinsrb       $0x2,%r8d,%xmm0,%xmm0
+  .byte  76,139,64,8                         // mov           0x8(%rax),%r8
+  .byte  71,15,182,12,10                     // movzbl        (%r10,%r9,1),%r9d
+  .byte  196,67,121,32,233,3                 // vpinsrb       $0x3,%r9d,%xmm0,%xmm13
+  .byte  197,180,95,201                      // vmaxps        %ymm1,%ymm9,%ymm1
+  .byte  196,193,116,93,202                  // vminps        %ymm10,%ymm1,%ymm1
+  .byte  197,188,89,201                      // vmulps        %ymm1,%ymm8,%ymm1
+  .byte  197,253,91,201                      // vcvtps2dq     %ymm1,%ymm1
+  .byte  196,193,249,126,201                 // vmovq         %xmm1,%r9
+  .byte  69,137,202                          // mov           %r9d,%r10d
+  .byte  71,15,182,20,16                     // movzbl        (%r8,%r10,1),%r10d
+  .byte  196,193,121,110,194                 // vmovd         %r10d,%xmm0
+  .byte  196,195,249,22,202,1                // vpextrq       $0x1,%xmm1,%r10
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  196,195,121,32,193,1                // vpinsrb       $0x1,%r9d,%xmm0,%xmm0
+  .byte  69,137,209                          // mov           %r10d,%r9d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,227,125,25,201,1                // vextractf128  $0x1,%ymm1,%xmm1
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  196,195,121,32,193,2                // vpinsrb       $0x2,%r9d,%xmm0,%xmm0
+  .byte  196,193,249,126,201                 // vmovq         %xmm1,%r9
+  .byte  71,15,182,20,16                     // movzbl        (%r8,%r10,1),%r10d
+  .byte  196,67,121,32,226,3                 // vpinsrb       $0x3,%r10d,%xmm0,%xmm12
+  .byte  69,137,202                          // mov           %r9d,%r10d
+  .byte  71,15,182,20,16                     // movzbl        (%r8,%r10,1),%r10d
+  .byte  196,193,121,110,194                 // vmovd         %r10d,%xmm0
+  .byte  196,195,249,22,202,1                // vpextrq       $0x1,%xmm1,%r10
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  196,195,121,32,193,1                // vpinsrb       $0x1,%r9d,%xmm0,%xmm0
+  .byte  69,137,209                          // mov           %r10d,%r9d
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  196,195,121,32,193,2                // vpinsrb       $0x2,%r9d,%xmm0,%xmm0
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  71,15,182,4,16                      // movzbl        (%r8,%r10,1),%r8d
+  .byte  196,67,121,32,240,3                 // vpinsrb       $0x3,%r8d,%xmm0,%xmm14
+  .byte  76,139,72,16                        // mov           0x10(%rax),%r9
+  .byte  197,180,95,194                      // vmaxps        %ymm2,%ymm9,%ymm0
+  .byte  196,193,124,93,194                  // vminps        %ymm10,%ymm0,%ymm0
+  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
+  .byte  197,253,91,208                      // vcvtps2dq     %ymm0,%ymm2
+  .byte  196,193,249,126,208                 // vmovq         %xmm2,%r8
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  65,15,182,4,1                       // movzbl        (%r9,%rax,1),%eax
+  .byte  197,249,110,192                     // vmovd         %eax,%xmm0
+  .byte  196,195,249,22,210,1                // vpextrq       $0x1,%xmm2,%r10
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  67,15,182,4,1                       // movzbl        (%r9,%r8,1),%eax
+  .byte  196,227,121,32,192,1                // vpinsrb       $0x1,%eax,%xmm0,%xmm0
+  .byte  68,137,208                          // mov           %r10d,%eax
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,227,125,25,210,1                // vextractf128  $0x1,%ymm2,%xmm2
+  .byte  65,15,182,4,1                       // movzbl        (%r9,%rax,1),%eax
+  .byte  196,227,121,32,192,2                // vpinsrb       $0x2,%eax,%xmm0,%xmm0
+  .byte  196,193,249,126,208                 // vmovq         %xmm2,%r8
+  .byte  67,15,182,4,17                      // movzbl        (%r9,%r10,1),%eax
+  .byte  196,99,121,32,192,3                 // vpinsrb       $0x3,%eax,%xmm0,%xmm8
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  65,15,182,4,1                       // movzbl        (%r9,%rax,1),%eax
+  .byte  197,249,110,192                     // vmovd         %eax,%xmm0
+  .byte  196,195,249,22,210,1                // vpextrq       $0x1,%xmm2,%r10
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  67,15,182,4,1                       // movzbl        (%r9,%r8,1),%eax
+  .byte  196,227,121,32,192,1                // vpinsrb       $0x1,%eax,%xmm0,%xmm0
+  .byte  68,137,208                          // mov           %r10d,%eax
+  .byte  65,15,182,4,1                       // movzbl        (%r9,%rax,1),%eax
+  .byte  196,99,121,32,208,2                 // vpinsrb       $0x2,%eax,%xmm0,%xmm10
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  67,15,182,4,17                      // movzbl        (%r9,%r10,1),%eax
+  .byte  196,194,121,49,195                  // vpmovzxbd     %xmm11,%xmm0
+  .byte  196,194,121,49,205                  // vpmovzxbd     %xmm13,%xmm1
+  .byte  196,227,125,24,193,1                // vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,98,125,24,13,131,138,2,0        // vbroadcastss  0x28a83(%rip),%ymm9        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  196,193,124,89,193                  // vmulps        %ymm9,%ymm0,%ymm0
+  .byte  196,194,121,49,204                  // vpmovzxbd     %xmm12,%xmm1
+  .byte  196,194,121,49,214                  // vpmovzxbd     %xmm14,%xmm2
+  .byte  196,227,117,24,202,1                // vinsertf128   $0x1,%xmm2,%ymm1,%ymm1
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  196,193,116,89,201                  // vmulps        %ymm9,%ymm1,%ymm1
+  .byte  196,66,121,49,192                   // vpmovzxbd     %xmm8,%xmm8
+  .byte  196,227,41,32,208,3                 // vpinsrb       $0x3,%eax,%xmm10,%xmm2
+  .byte  196,226,121,49,210                  // vpmovzxbd     %xmm2,%xmm2
+  .byte  196,227,61,24,210,1                 // vinsertf128   $0x1,%xmm2,%ymm8,%ymm2
+  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
+  .byte  196,193,108,89,209                  // vmulps        %ymm9,%ymm2,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_table_r_avx
+.globl _sk_table_r_avx
+FUNCTION(_sk_table_r_avx)
+_sk_table_r_avx:
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  139,64,8                            // mov           0x8(%rax),%eax
+  .byte  255,200                             // dec           %eax
+  .byte  197,121,110,192                     // vmovd         %eax,%xmm8
+  .byte  196,65,121,112,192,0                // vpshufd       $0x0,%xmm8,%xmm8
+  .byte  196,67,61,24,192,1                  // vinsertf128   $0x1,%xmm8,%ymm8,%ymm8
+  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
+  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
+  .byte  197,180,95,192                      // vmaxps        %ymm0,%ymm9,%ymm0
+  .byte  196,98,125,24,13,146,137,2,0        // vbroadcastss  0x28992(%rip),%ymm9        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,193,124,93,193                  // vminps        %ymm9,%ymm0,%ymm0
+  .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
+  .byte  197,253,91,192                      // vcvtps2dq     %ymm0,%ymm0
+  .byte  196,227,249,22,192,1                // vpextrq       $0x1,%xmm0,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  196,193,249,126,194                 // vmovq         %xmm0,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,227,125,25,192,1                // vextractf128  $0x1,%ymm0,%xmm0
+  .byte  196,227,249,22,195,1                // vpextrq       $0x1,%xmm0,%rbx
+  .byte  65,137,222                          // mov           %ebx,%r14d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  196,193,249,126,199                 // vmovq         %xmm0,%r15
+  .byte  69,137,252                          // mov           %r15d,%r12d
+  .byte  73,193,239,32                       // shr           $0x20,%r15
+  .byte  196,129,122,16,4,160                // vmovss        (%r8,%r12,4),%xmm0
+  .byte  196,3,121,33,4,184,16               // vinsertps     $0x10,(%r8,%r15,4),%xmm0,%xmm8
+  .byte  196,129,122,16,4,176                // vmovss        (%r8,%r14,4),%xmm0
+  .byte  196,99,57,33,192,32                 // vinsertps     $0x20,%xmm0,%xmm8,%xmm8
+  .byte  196,193,122,16,4,152                // vmovss        (%r8,%rbx,4),%xmm0
+  .byte  196,99,57,33,192,48                 // vinsertps     $0x30,%xmm0,%xmm8,%xmm8
+  .byte  196,129,122,16,4,152                // vmovss        (%r8,%r11,4),%xmm0
+  .byte  196,3,121,33,12,144,16              // vinsertps     $0x10,(%r8,%r10,4),%xmm0,%xmm9
+  .byte  196,129,122,16,4,136                // vmovss        (%r8,%r9,4),%xmm0
+  .byte  196,99,49,33,200,32                 // vinsertps     $0x20,%xmm0,%xmm9,%xmm9
+  .byte  196,193,122,16,4,128                // vmovss        (%r8,%rax,4),%xmm0
+  .byte  196,227,49,33,192,48                // vinsertps     $0x30,%xmm0,%xmm9,%xmm0
+  .byte  196,195,125,24,192,1                // vinsertf128   $0x1,%xmm8,%ymm0,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_table_g_avx
+.globl _sk_table_g_avx
+FUNCTION(_sk_table_g_avx)
+_sk_table_g_avx:
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  139,64,8                            // mov           0x8(%rax),%eax
+  .byte  255,200                             // dec           %eax
+  .byte  197,121,110,192                     // vmovd         %eax,%xmm8
+  .byte  196,65,121,112,192,0                // vpshufd       $0x0,%xmm8,%xmm8
+  .byte  196,67,61,24,192,1                  // vinsertf128   $0x1,%xmm8,%ymm8,%ymm8
+  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
+  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
+  .byte  197,180,95,201                      // vmaxps        %ymm1,%ymm9,%ymm1
+  .byte  196,98,125,24,13,185,136,2,0        // vbroadcastss  0x288b9(%rip),%ymm9        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,193,116,93,201                  // vminps        %ymm9,%ymm1,%ymm1
+  .byte  196,193,116,89,200                  // vmulps        %ymm8,%ymm1,%ymm1
+  .byte  197,253,91,201                      // vcvtps2dq     %ymm1,%ymm1
+  .byte  196,227,249,22,200,1                // vpextrq       $0x1,%xmm1,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  196,193,249,126,202                 // vmovq         %xmm1,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,227,125,25,201,1                // vextractf128  $0x1,%ymm1,%xmm1
+  .byte  196,227,249,22,203,1                // vpextrq       $0x1,%xmm1,%rbx
+  .byte  65,137,222                          // mov           %ebx,%r14d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  196,193,249,126,207                 // vmovq         %xmm1,%r15
+  .byte  69,137,252                          // mov           %r15d,%r12d
+  .byte  73,193,239,32                       // shr           $0x20,%r15
+  .byte  196,129,122,16,12,160               // vmovss        (%r8,%r12,4),%xmm1
+  .byte  196,3,113,33,4,184,16               // vinsertps     $0x10,(%r8,%r15,4),%xmm1,%xmm8
+  .byte  196,129,122,16,12,176               // vmovss        (%r8,%r14,4),%xmm1
+  .byte  196,99,57,33,193,32                 // vinsertps     $0x20,%xmm1,%xmm8,%xmm8
+  .byte  196,193,122,16,12,152               // vmovss        (%r8,%rbx,4),%xmm1
+  .byte  196,99,57,33,193,48                 // vinsertps     $0x30,%xmm1,%xmm8,%xmm8
+  .byte  196,129,122,16,12,152               // vmovss        (%r8,%r11,4),%xmm1
+  .byte  196,3,113,33,12,144,16              // vinsertps     $0x10,(%r8,%r10,4),%xmm1,%xmm9
+  .byte  196,129,122,16,12,136               // vmovss        (%r8,%r9,4),%xmm1
+  .byte  196,99,49,33,201,32                 // vinsertps     $0x20,%xmm1,%xmm9,%xmm9
+  .byte  196,193,122,16,12,128               // vmovss        (%r8,%rax,4),%xmm1
+  .byte  196,227,49,33,201,48                // vinsertps     $0x30,%xmm1,%xmm9,%xmm1
+  .byte  196,195,117,24,200,1                // vinsertf128   $0x1,%xmm8,%ymm1,%ymm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_table_b_avx
+.globl _sk_table_b_avx
+FUNCTION(_sk_table_b_avx)
+_sk_table_b_avx:
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  139,64,8                            // mov           0x8(%rax),%eax
+  .byte  255,200                             // dec           %eax
+  .byte  197,121,110,192                     // vmovd         %eax,%xmm8
+  .byte  196,65,121,112,192,0                // vpshufd       $0x0,%xmm8,%xmm8
+  .byte  196,67,61,24,192,1                  // vinsertf128   $0x1,%xmm8,%ymm8,%ymm8
+  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
+  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
+  .byte  197,180,95,210                      // vmaxps        %ymm2,%ymm9,%ymm2
+  .byte  196,98,125,24,13,224,135,2,0        // vbroadcastss  0x287e0(%rip),%ymm9        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,193,108,93,209                  // vminps        %ymm9,%ymm2,%ymm2
+  .byte  196,193,108,89,208                  // vmulps        %ymm8,%ymm2,%ymm2
+  .byte  197,253,91,210                      // vcvtps2dq     %ymm2,%ymm2
+  .byte  196,227,249,22,208,1                // vpextrq       $0x1,%xmm2,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  196,193,249,126,210                 // vmovq         %xmm2,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,227,125,25,210,1                // vextractf128  $0x1,%ymm2,%xmm2
+  .byte  196,227,249,22,211,1                // vpextrq       $0x1,%xmm2,%rbx
+  .byte  65,137,222                          // mov           %ebx,%r14d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  196,193,249,126,215                 // vmovq         %xmm2,%r15
+  .byte  69,137,252                          // mov           %r15d,%r12d
+  .byte  73,193,239,32                       // shr           $0x20,%r15
+  .byte  196,129,122,16,20,160               // vmovss        (%r8,%r12,4),%xmm2
+  .byte  196,3,105,33,4,184,16               // vinsertps     $0x10,(%r8,%r15,4),%xmm2,%xmm8
+  .byte  196,129,122,16,20,176               // vmovss        (%r8,%r14,4),%xmm2
+  .byte  196,99,57,33,194,32                 // vinsertps     $0x20,%xmm2,%xmm8,%xmm8
+  .byte  196,193,122,16,20,152               // vmovss        (%r8,%rbx,4),%xmm2
+  .byte  196,99,57,33,194,48                 // vinsertps     $0x30,%xmm2,%xmm8,%xmm8
+  .byte  196,129,122,16,20,152               // vmovss        (%r8,%r11,4),%xmm2
+  .byte  196,3,105,33,12,144,16              // vinsertps     $0x10,(%r8,%r10,4),%xmm2,%xmm9
+  .byte  196,129,122,16,20,136               // vmovss        (%r8,%r9,4),%xmm2
+  .byte  196,99,49,33,202,32                 // vinsertps     $0x20,%xmm2,%xmm9,%xmm9
+  .byte  196,193,122,16,20,128               // vmovss        (%r8,%rax,4),%xmm2
+  .byte  196,227,49,33,210,48                // vinsertps     $0x30,%xmm2,%xmm9,%xmm2
+  .byte  196,195,109,24,208,1                // vinsertf128   $0x1,%xmm8,%ymm2,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_table_a_avx
+.globl _sk_table_a_avx
+FUNCTION(_sk_table_a_avx)
+_sk_table_a_avx:
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  139,64,8                            // mov           0x8(%rax),%eax
+  .byte  255,200                             // dec           %eax
+  .byte  197,121,110,192                     // vmovd         %eax,%xmm8
+  .byte  196,65,121,112,192,0                // vpshufd       $0x0,%xmm8,%xmm8
+  .byte  196,67,61,24,192,1                  // vinsertf128   $0x1,%xmm8,%ymm8,%ymm8
+  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
+  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
+  .byte  197,180,95,219                      // vmaxps        %ymm3,%ymm9,%ymm3
+  .byte  196,98,125,24,13,7,135,2,0          // vbroadcastss  0x28707(%rip),%ymm9        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,193,100,93,217                  // vminps        %ymm9,%ymm3,%ymm3
+  .byte  196,193,100,89,216                  // vmulps        %ymm8,%ymm3,%ymm3
+  .byte  197,253,91,219                      // vcvtps2dq     %ymm3,%ymm3
+  .byte  196,227,249,22,216,1                // vpextrq       $0x1,%xmm3,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  196,193,249,126,218                 // vmovq         %xmm3,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,227,125,25,219,1                // vextractf128  $0x1,%ymm3,%xmm3
+  .byte  196,227,249,22,219,1                // vpextrq       $0x1,%xmm3,%rbx
+  .byte  65,137,222                          // mov           %ebx,%r14d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  196,193,249,126,223                 // vmovq         %xmm3,%r15
+  .byte  69,137,252                          // mov           %r15d,%r12d
+  .byte  73,193,239,32                       // shr           $0x20,%r15
+  .byte  196,129,122,16,28,160               // vmovss        (%r8,%r12,4),%xmm3
+  .byte  196,3,97,33,4,184,16                // vinsertps     $0x10,(%r8,%r15,4),%xmm3,%xmm8
+  .byte  196,129,122,16,28,176               // vmovss        (%r8,%r14,4),%xmm3
+  .byte  196,99,57,33,195,32                 // vinsertps     $0x20,%xmm3,%xmm8,%xmm8
+  .byte  196,193,122,16,28,152               // vmovss        (%r8,%rbx,4),%xmm3
+  .byte  196,99,57,33,195,48                 // vinsertps     $0x30,%xmm3,%xmm8,%xmm8
+  .byte  196,129,122,16,28,152               // vmovss        (%r8,%r11,4),%xmm3
+  .byte  196,3,97,33,12,144,16               // vinsertps     $0x10,(%r8,%r10,4),%xmm3,%xmm9
+  .byte  196,129,122,16,28,136               // vmovss        (%r8,%r9,4),%xmm3
+  .byte  196,99,49,33,203,32                 // vinsertps     $0x20,%xmm3,%xmm9,%xmm9
+  .byte  196,193,122,16,28,128               // vmovss        (%r8,%rax,4),%xmm3
+  .byte  196,227,49,33,219,48                // vinsertps     $0x30,%xmm3,%xmm9,%xmm3
+  .byte  196,195,101,24,216,1                // vinsertf128   $0x1,%xmm8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_parametric_r_avx
+.globl _sk_parametric_r_avx
+FUNCTION(_sk_parametric_r_avx)
+_sk_parametric_r_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,64,16                 // vbroadcastss  0x10(%rax),%ymm8
+  .byte  196,65,124,194,192,2                // vcmpleps      %ymm8,%ymm0,%ymm8
+  .byte  196,98,125,24,72,12                 // vbroadcastss  0xc(%rax),%ymm9
+  .byte  196,98,125,24,80,24                 // vbroadcastss  0x18(%rax),%ymm10
+  .byte  197,52,89,200                       // vmulps        %ymm0,%ymm9,%ymm9
+  .byte  196,65,52,88,202                    // vaddps        %ymm10,%ymm9,%ymm9
+  .byte  196,98,125,24,80,4                  // vbroadcastss  0x4(%rax),%ymm10
+  .byte  196,98,125,24,88,8                  // vbroadcastss  0x8(%rax),%ymm11
+  .byte  197,172,89,192                      // vmulps        %ymm0,%ymm10,%ymm0
+  .byte  196,65,124,88,219                   // vaddps        %ymm11,%ymm0,%ymm11
+  .byte  196,98,125,24,32                    // vbroadcastss  (%rax),%ymm12
+  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
+  .byte  197,36,194,208,0                    // vcmpeqps      %ymm0,%ymm11,%ymm10
+  .byte  196,65,124,91,235                   // vcvtdq2ps     %ymm11,%ymm13
+  .byte  196,98,125,24,53,170,134,2,0        // vbroadcastss  0x286aa(%rip),%ymm14        # 3c594 <_sk_srcover_bgra_8888_sse2_lowp+0x348>
+  .byte  196,65,20,89,238                    // vmulps        %ymm14,%ymm13,%ymm13
+  .byte  196,98,125,24,53,160,134,2,0        // vbroadcastss  0x286a0(%rip),%ymm14        # 3c598 <_sk_srcover_bgra_8888_sse2_lowp+0x34c>
+  .byte  196,65,36,84,222                    // vandps        %ymm14,%ymm11,%ymm11
+  .byte  196,98,125,24,53,242,133,2,0        // vbroadcastss  0x285f2(%rip),%ymm14        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  196,65,36,86,222                    // vorps         %ymm14,%ymm11,%ymm11
+  .byte  196,98,125,24,53,136,134,2,0        // vbroadcastss  0x28688(%rip),%ymm14        # 3c59c <_sk_srcover_bgra_8888_sse2_lowp+0x350>
+  .byte  196,65,20,88,238                    // vaddps        %ymm14,%ymm13,%ymm13
+  .byte  196,98,125,24,53,126,134,2,0        // vbroadcastss  0x2867e(%rip),%ymm14        # 3c5a0 <_sk_srcover_bgra_8888_sse2_lowp+0x354>
+  .byte  196,65,36,89,246                    // vmulps        %ymm14,%ymm11,%ymm14
+  .byte  196,65,20,92,238                    // vsubps        %ymm14,%ymm13,%ymm13
+  .byte  196,98,125,24,53,111,134,2,0        // vbroadcastss  0x2866f(%rip),%ymm14        # 3c5a4 <_sk_srcover_bgra_8888_sse2_lowp+0x358>
+  .byte  196,65,36,88,222                    // vaddps        %ymm14,%ymm11,%ymm11
+  .byte  196,98,125,24,53,101,134,2,0        // vbroadcastss  0x28665(%rip),%ymm14        # 3c5a8 <_sk_srcover_bgra_8888_sse2_lowp+0x35c>
+  .byte  196,65,12,94,219                    // vdivps        %ymm11,%ymm14,%ymm11
+  .byte  196,65,20,92,219                    // vsubps        %ymm11,%ymm13,%ymm11
+  .byte  196,65,28,89,219                    // vmulps        %ymm11,%ymm12,%ymm11
+  .byte  196,67,125,8,227,1                  // vroundps      $0x1,%ymm11,%ymm12
+  .byte  196,65,36,92,228                    // vsubps        %ymm12,%ymm11,%ymm12
+  .byte  196,98,125,24,45,70,134,2,0         // vbroadcastss  0x28646(%rip),%ymm13        # 3c5ac <_sk_srcover_bgra_8888_sse2_lowp+0x360>
+  .byte  196,65,36,88,221                    // vaddps        %ymm13,%ymm11,%ymm11
+  .byte  196,98,125,24,45,60,134,2,0         // vbroadcastss  0x2863c(%rip),%ymm13        # 3c5b0 <_sk_srcover_bgra_8888_sse2_lowp+0x364>
+  .byte  196,65,28,89,237                    // vmulps        %ymm13,%ymm12,%ymm13
+  .byte  196,65,36,92,221                    // vsubps        %ymm13,%ymm11,%ymm11
+  .byte  196,98,125,24,45,45,134,2,0         // vbroadcastss  0x2862d(%rip),%ymm13        # 3c5b4 <_sk_srcover_bgra_8888_sse2_lowp+0x368>
+  .byte  196,65,20,92,228                    // vsubps        %ymm12,%ymm13,%ymm12
+  .byte  196,98,125,24,45,35,134,2,0         // vbroadcastss  0x28623(%rip),%ymm13        # 3c5b8 <_sk_srcover_bgra_8888_sse2_lowp+0x36c>
+  .byte  196,65,20,94,228                    // vdivps        %ymm12,%ymm13,%ymm12
+  .byte  196,65,36,88,220                    // vaddps        %ymm12,%ymm11,%ymm11
+  .byte  196,98,125,24,37,20,134,2,0         // vbroadcastss  0x28614(%rip),%ymm12        # 3c5bc <_sk_srcover_bgra_8888_sse2_lowp+0x370>
+  .byte  196,65,36,89,220                    // vmulps        %ymm12,%ymm11,%ymm11
+  .byte  196,65,125,91,219                   // vcvtps2dq     %ymm11,%ymm11
+  .byte  196,99,37,74,208,160                // vblendvps     %ymm10,%ymm0,%ymm11,%ymm10
+  .byte  196,98,125,24,88,20                 // vbroadcastss  0x14(%rax),%ymm11
+  .byte  196,65,44,88,211                    // vaddps        %ymm11,%ymm10,%ymm10
+  .byte  196,67,45,74,193,128                // vblendvps     %ymm8,%ymm9,%ymm10,%ymm8
+  .byte  197,188,95,192                      // vmaxps        %ymm0,%ymm8,%ymm0
+  .byte  196,98,125,24,5,38,133,2,0          // vbroadcastss  0x28526(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,193,124,93,192                  // vminps        %ymm8,%ymm0,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_parametric_g_avx
+.globl _sk_parametric_g_avx
+FUNCTION(_sk_parametric_g_avx)
+_sk_parametric_g_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,64,16                 // vbroadcastss  0x10(%rax),%ymm8
+  .byte  196,65,116,194,192,2                // vcmpleps      %ymm8,%ymm1,%ymm8
+  .byte  196,98,125,24,72,12                 // vbroadcastss  0xc(%rax),%ymm9
+  .byte  196,98,125,24,80,24                 // vbroadcastss  0x18(%rax),%ymm10
+  .byte  197,52,89,201                       // vmulps        %ymm1,%ymm9,%ymm9
+  .byte  196,65,52,88,202                    // vaddps        %ymm10,%ymm9,%ymm9
+  .byte  196,98,125,24,80,4                  // vbroadcastss  0x4(%rax),%ymm10
+  .byte  196,98,125,24,88,8                  // vbroadcastss  0x8(%rax),%ymm11
+  .byte  197,172,89,201                      // vmulps        %ymm1,%ymm10,%ymm1
+  .byte  196,65,116,88,219                   // vaddps        %ymm11,%ymm1,%ymm11
+  .byte  196,98,125,24,32                    // vbroadcastss  (%rax),%ymm12
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  197,36,194,209,0                    // vcmpeqps      %ymm1,%ymm11,%ymm10
+  .byte  196,65,124,91,235                   // vcvtdq2ps     %ymm11,%ymm13
+  .byte  196,98,125,24,53,97,133,2,0         // vbroadcastss  0x28561(%rip),%ymm14        # 3c594 <_sk_srcover_bgra_8888_sse2_lowp+0x348>
+  .byte  196,65,20,89,238                    // vmulps        %ymm14,%ymm13,%ymm13
+  .byte  196,98,125,24,53,87,133,2,0         // vbroadcastss  0x28557(%rip),%ymm14        # 3c598 <_sk_srcover_bgra_8888_sse2_lowp+0x34c>
+  .byte  196,65,36,84,222                    // vandps        %ymm14,%ymm11,%ymm11
+  .byte  196,98,125,24,53,169,132,2,0        // vbroadcastss  0x284a9(%rip),%ymm14        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  196,65,36,86,222                    // vorps         %ymm14,%ymm11,%ymm11
+  .byte  196,98,125,24,53,63,133,2,0         // vbroadcastss  0x2853f(%rip),%ymm14        # 3c59c <_sk_srcover_bgra_8888_sse2_lowp+0x350>
+  .byte  196,65,20,88,238                    // vaddps        %ymm14,%ymm13,%ymm13
+  .byte  196,98,125,24,53,53,133,2,0         // vbroadcastss  0x28535(%rip),%ymm14        # 3c5a0 <_sk_srcover_bgra_8888_sse2_lowp+0x354>
+  .byte  196,65,36,89,246                    // vmulps        %ymm14,%ymm11,%ymm14
+  .byte  196,65,20,92,238                    // vsubps        %ymm14,%ymm13,%ymm13
+  .byte  196,98,125,24,53,38,133,2,0         // vbroadcastss  0x28526(%rip),%ymm14        # 3c5a4 <_sk_srcover_bgra_8888_sse2_lowp+0x358>
+  .byte  196,65,36,88,222                    // vaddps        %ymm14,%ymm11,%ymm11
+  .byte  196,98,125,24,53,28,133,2,0         // vbroadcastss  0x2851c(%rip),%ymm14        # 3c5a8 <_sk_srcover_bgra_8888_sse2_lowp+0x35c>
+  .byte  196,65,12,94,219                    // vdivps        %ymm11,%ymm14,%ymm11
+  .byte  196,65,20,92,219                    // vsubps        %ymm11,%ymm13,%ymm11
+  .byte  196,65,28,89,219                    // vmulps        %ymm11,%ymm12,%ymm11
+  .byte  196,67,125,8,227,1                  // vroundps      $0x1,%ymm11,%ymm12
+  .byte  196,65,36,92,228                    // vsubps        %ymm12,%ymm11,%ymm12
+  .byte  196,98,125,24,45,253,132,2,0        // vbroadcastss  0x284fd(%rip),%ymm13        # 3c5ac <_sk_srcover_bgra_8888_sse2_lowp+0x360>
+  .byte  196,65,36,88,221                    // vaddps        %ymm13,%ymm11,%ymm11
+  .byte  196,98,125,24,45,243,132,2,0        // vbroadcastss  0x284f3(%rip),%ymm13        # 3c5b0 <_sk_srcover_bgra_8888_sse2_lowp+0x364>
+  .byte  196,65,28,89,237                    // vmulps        %ymm13,%ymm12,%ymm13
+  .byte  196,65,36,92,221                    // vsubps        %ymm13,%ymm11,%ymm11
+  .byte  196,98,125,24,45,228,132,2,0        // vbroadcastss  0x284e4(%rip),%ymm13        # 3c5b4 <_sk_srcover_bgra_8888_sse2_lowp+0x368>
+  .byte  196,65,20,92,228                    // vsubps        %ymm12,%ymm13,%ymm12
+  .byte  196,98,125,24,45,218,132,2,0        // vbroadcastss  0x284da(%rip),%ymm13        # 3c5b8 <_sk_srcover_bgra_8888_sse2_lowp+0x36c>
+  .byte  196,65,20,94,228                    // vdivps        %ymm12,%ymm13,%ymm12
+  .byte  196,65,36,88,220                    // vaddps        %ymm12,%ymm11,%ymm11
+  .byte  196,98,125,24,37,203,132,2,0        // vbroadcastss  0x284cb(%rip),%ymm12        # 3c5bc <_sk_srcover_bgra_8888_sse2_lowp+0x370>
+  .byte  196,65,36,89,220                    // vmulps        %ymm12,%ymm11,%ymm11
+  .byte  196,65,125,91,219                   // vcvtps2dq     %ymm11,%ymm11
+  .byte  196,99,37,74,209,160                // vblendvps     %ymm10,%ymm1,%ymm11,%ymm10
+  .byte  196,98,125,24,88,20                 // vbroadcastss  0x14(%rax),%ymm11
+  .byte  196,65,44,88,211                    // vaddps        %ymm11,%ymm10,%ymm10
+  .byte  196,67,45,74,193,128                // vblendvps     %ymm8,%ymm9,%ymm10,%ymm8
+  .byte  197,188,95,201                      // vmaxps        %ymm1,%ymm8,%ymm1
+  .byte  196,98,125,24,5,221,131,2,0         // vbroadcastss  0x283dd(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,193,116,93,200                  // vminps        %ymm8,%ymm1,%ymm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_parametric_b_avx
+.globl _sk_parametric_b_avx
+FUNCTION(_sk_parametric_b_avx)
+_sk_parametric_b_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,64,16                 // vbroadcastss  0x10(%rax),%ymm8
+  .byte  196,65,108,194,192,2                // vcmpleps      %ymm8,%ymm2,%ymm8
+  .byte  196,98,125,24,72,12                 // vbroadcastss  0xc(%rax),%ymm9
+  .byte  196,98,125,24,80,24                 // vbroadcastss  0x18(%rax),%ymm10
+  .byte  197,52,89,202                       // vmulps        %ymm2,%ymm9,%ymm9
+  .byte  196,65,52,88,202                    // vaddps        %ymm10,%ymm9,%ymm9
+  .byte  196,98,125,24,80,4                  // vbroadcastss  0x4(%rax),%ymm10
+  .byte  196,98,125,24,88,8                  // vbroadcastss  0x8(%rax),%ymm11
+  .byte  197,172,89,210                      // vmulps        %ymm2,%ymm10,%ymm2
+  .byte  196,65,108,88,219                   // vaddps        %ymm11,%ymm2,%ymm11
+  .byte  196,98,125,24,32                    // vbroadcastss  (%rax),%ymm12
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  197,36,194,210,0                    // vcmpeqps      %ymm2,%ymm11,%ymm10
+  .byte  196,65,124,91,235                   // vcvtdq2ps     %ymm11,%ymm13
+  .byte  196,98,125,24,53,24,132,2,0         // vbroadcastss  0x28418(%rip),%ymm14        # 3c594 <_sk_srcover_bgra_8888_sse2_lowp+0x348>
+  .byte  196,65,20,89,238                    // vmulps        %ymm14,%ymm13,%ymm13
+  .byte  196,98,125,24,53,14,132,2,0         // vbroadcastss  0x2840e(%rip),%ymm14        # 3c598 <_sk_srcover_bgra_8888_sse2_lowp+0x34c>
+  .byte  196,65,36,84,222                    // vandps        %ymm14,%ymm11,%ymm11
+  .byte  196,98,125,24,53,96,131,2,0         // vbroadcastss  0x28360(%rip),%ymm14        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  196,65,36,86,222                    // vorps         %ymm14,%ymm11,%ymm11
+  .byte  196,98,125,24,53,246,131,2,0        // vbroadcastss  0x283f6(%rip),%ymm14        # 3c59c <_sk_srcover_bgra_8888_sse2_lowp+0x350>
+  .byte  196,65,20,88,238                    // vaddps        %ymm14,%ymm13,%ymm13
+  .byte  196,98,125,24,53,236,131,2,0        // vbroadcastss  0x283ec(%rip),%ymm14        # 3c5a0 <_sk_srcover_bgra_8888_sse2_lowp+0x354>
+  .byte  196,65,36,89,246                    // vmulps        %ymm14,%ymm11,%ymm14
+  .byte  196,65,20,92,238                    // vsubps        %ymm14,%ymm13,%ymm13
+  .byte  196,98,125,24,53,221,131,2,0        // vbroadcastss  0x283dd(%rip),%ymm14        # 3c5a4 <_sk_srcover_bgra_8888_sse2_lowp+0x358>
+  .byte  196,65,36,88,222                    // vaddps        %ymm14,%ymm11,%ymm11
+  .byte  196,98,125,24,53,211,131,2,0        // vbroadcastss  0x283d3(%rip),%ymm14        # 3c5a8 <_sk_srcover_bgra_8888_sse2_lowp+0x35c>
+  .byte  196,65,12,94,219                    // vdivps        %ymm11,%ymm14,%ymm11
+  .byte  196,65,20,92,219                    // vsubps        %ymm11,%ymm13,%ymm11
+  .byte  196,65,28,89,219                    // vmulps        %ymm11,%ymm12,%ymm11
+  .byte  196,67,125,8,227,1                  // vroundps      $0x1,%ymm11,%ymm12
+  .byte  196,65,36,92,228                    // vsubps        %ymm12,%ymm11,%ymm12
+  .byte  196,98,125,24,45,180,131,2,0        // vbroadcastss  0x283b4(%rip),%ymm13        # 3c5ac <_sk_srcover_bgra_8888_sse2_lowp+0x360>
+  .byte  196,65,36,88,221                    // vaddps        %ymm13,%ymm11,%ymm11
+  .byte  196,98,125,24,45,170,131,2,0        // vbroadcastss  0x283aa(%rip),%ymm13        # 3c5b0 <_sk_srcover_bgra_8888_sse2_lowp+0x364>
+  .byte  196,65,28,89,237                    // vmulps        %ymm13,%ymm12,%ymm13
+  .byte  196,65,36,92,221                    // vsubps        %ymm13,%ymm11,%ymm11
+  .byte  196,98,125,24,45,155,131,2,0        // vbroadcastss  0x2839b(%rip),%ymm13        # 3c5b4 <_sk_srcover_bgra_8888_sse2_lowp+0x368>
+  .byte  196,65,20,92,228                    // vsubps        %ymm12,%ymm13,%ymm12
+  .byte  196,98,125,24,45,145,131,2,0        // vbroadcastss  0x28391(%rip),%ymm13        # 3c5b8 <_sk_srcover_bgra_8888_sse2_lowp+0x36c>
+  .byte  196,65,20,94,228                    // vdivps        %ymm12,%ymm13,%ymm12
+  .byte  196,65,36,88,220                    // vaddps        %ymm12,%ymm11,%ymm11
+  .byte  196,98,125,24,37,130,131,2,0        // vbroadcastss  0x28382(%rip),%ymm12        # 3c5bc <_sk_srcover_bgra_8888_sse2_lowp+0x370>
+  .byte  196,65,36,89,220                    // vmulps        %ymm12,%ymm11,%ymm11
+  .byte  196,65,125,91,219                   // vcvtps2dq     %ymm11,%ymm11
+  .byte  196,99,37,74,210,160                // vblendvps     %ymm10,%ymm2,%ymm11,%ymm10
+  .byte  196,98,125,24,88,20                 // vbroadcastss  0x14(%rax),%ymm11
+  .byte  196,65,44,88,211                    // vaddps        %ymm11,%ymm10,%ymm10
+  .byte  196,67,45,74,193,128                // vblendvps     %ymm8,%ymm9,%ymm10,%ymm8
+  .byte  197,188,95,210                      // vmaxps        %ymm2,%ymm8,%ymm2
+  .byte  196,98,125,24,5,148,130,2,0         // vbroadcastss  0x28294(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,193,108,93,208                  // vminps        %ymm8,%ymm2,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_parametric_a_avx
+.globl _sk_parametric_a_avx
+FUNCTION(_sk_parametric_a_avx)
+_sk_parametric_a_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,64,16                 // vbroadcastss  0x10(%rax),%ymm8
+  .byte  196,65,100,194,192,2                // vcmpleps      %ymm8,%ymm3,%ymm8
+  .byte  196,98,125,24,72,12                 // vbroadcastss  0xc(%rax),%ymm9
+  .byte  196,98,125,24,80,24                 // vbroadcastss  0x18(%rax),%ymm10
+  .byte  197,52,89,203                       // vmulps        %ymm3,%ymm9,%ymm9
+  .byte  196,65,52,88,202                    // vaddps        %ymm10,%ymm9,%ymm9
+  .byte  196,98,125,24,80,4                  // vbroadcastss  0x4(%rax),%ymm10
+  .byte  196,98,125,24,88,8                  // vbroadcastss  0x8(%rax),%ymm11
+  .byte  197,172,89,219                      // vmulps        %ymm3,%ymm10,%ymm3
+  .byte  196,65,100,88,219                   // vaddps        %ymm11,%ymm3,%ymm11
+  .byte  196,98,125,24,32                    // vbroadcastss  (%rax),%ymm12
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  197,36,194,211,0                    // vcmpeqps      %ymm3,%ymm11,%ymm10
+  .byte  196,65,124,91,235                   // vcvtdq2ps     %ymm11,%ymm13
+  .byte  196,98,125,24,53,207,130,2,0        // vbroadcastss  0x282cf(%rip),%ymm14        # 3c594 <_sk_srcover_bgra_8888_sse2_lowp+0x348>
+  .byte  196,65,20,89,238                    // vmulps        %ymm14,%ymm13,%ymm13
+  .byte  196,98,125,24,53,197,130,2,0        // vbroadcastss  0x282c5(%rip),%ymm14        # 3c598 <_sk_srcover_bgra_8888_sse2_lowp+0x34c>
+  .byte  196,65,36,84,222                    // vandps        %ymm14,%ymm11,%ymm11
+  .byte  196,98,125,24,53,23,130,2,0         // vbroadcastss  0x28217(%rip),%ymm14        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  196,65,36,86,222                    // vorps         %ymm14,%ymm11,%ymm11
+  .byte  196,98,125,24,53,173,130,2,0        // vbroadcastss  0x282ad(%rip),%ymm14        # 3c59c <_sk_srcover_bgra_8888_sse2_lowp+0x350>
+  .byte  196,65,20,88,238                    // vaddps        %ymm14,%ymm13,%ymm13
+  .byte  196,98,125,24,53,163,130,2,0        // vbroadcastss  0x282a3(%rip),%ymm14        # 3c5a0 <_sk_srcover_bgra_8888_sse2_lowp+0x354>
+  .byte  196,65,36,89,246                    // vmulps        %ymm14,%ymm11,%ymm14
+  .byte  196,65,20,92,238                    // vsubps        %ymm14,%ymm13,%ymm13
+  .byte  196,98,125,24,53,148,130,2,0        // vbroadcastss  0x28294(%rip),%ymm14        # 3c5a4 <_sk_srcover_bgra_8888_sse2_lowp+0x358>
+  .byte  196,65,36,88,222                    // vaddps        %ymm14,%ymm11,%ymm11
+  .byte  196,98,125,24,53,138,130,2,0        // vbroadcastss  0x2828a(%rip),%ymm14        # 3c5a8 <_sk_srcover_bgra_8888_sse2_lowp+0x35c>
+  .byte  196,65,12,94,219                    // vdivps        %ymm11,%ymm14,%ymm11
+  .byte  196,65,20,92,219                    // vsubps        %ymm11,%ymm13,%ymm11
+  .byte  196,65,28,89,219                    // vmulps        %ymm11,%ymm12,%ymm11
+  .byte  196,67,125,8,227,1                  // vroundps      $0x1,%ymm11,%ymm12
+  .byte  196,65,36,92,228                    // vsubps        %ymm12,%ymm11,%ymm12
+  .byte  196,98,125,24,45,107,130,2,0        // vbroadcastss  0x2826b(%rip),%ymm13        # 3c5ac <_sk_srcover_bgra_8888_sse2_lowp+0x360>
+  .byte  196,65,36,88,221                    // vaddps        %ymm13,%ymm11,%ymm11
+  .byte  196,98,125,24,45,97,130,2,0         // vbroadcastss  0x28261(%rip),%ymm13        # 3c5b0 <_sk_srcover_bgra_8888_sse2_lowp+0x364>
+  .byte  196,65,28,89,237                    // vmulps        %ymm13,%ymm12,%ymm13
+  .byte  196,65,36,92,221                    // vsubps        %ymm13,%ymm11,%ymm11
+  .byte  196,98,125,24,45,82,130,2,0         // vbroadcastss  0x28252(%rip),%ymm13        # 3c5b4 <_sk_srcover_bgra_8888_sse2_lowp+0x368>
+  .byte  196,65,20,92,228                    // vsubps        %ymm12,%ymm13,%ymm12
+  .byte  196,98,125,24,45,72,130,2,0         // vbroadcastss  0x28248(%rip),%ymm13        # 3c5b8 <_sk_srcover_bgra_8888_sse2_lowp+0x36c>
+  .byte  196,65,20,94,228                    // vdivps        %ymm12,%ymm13,%ymm12
+  .byte  196,65,36,88,220                    // vaddps        %ymm12,%ymm11,%ymm11
+  .byte  196,98,125,24,37,57,130,2,0         // vbroadcastss  0x28239(%rip),%ymm12        # 3c5bc <_sk_srcover_bgra_8888_sse2_lowp+0x370>
+  .byte  196,65,36,89,220                    // vmulps        %ymm12,%ymm11,%ymm11
+  .byte  196,65,125,91,219                   // vcvtps2dq     %ymm11,%ymm11
+  .byte  196,99,37,74,211,160                // vblendvps     %ymm10,%ymm3,%ymm11,%ymm10
+  .byte  196,98,125,24,88,20                 // vbroadcastss  0x14(%rax),%ymm11
+  .byte  196,65,44,88,211                    // vaddps        %ymm11,%ymm10,%ymm10
+  .byte  196,67,45,74,193,128                // vblendvps     %ymm8,%ymm9,%ymm10,%ymm8
+  .byte  197,188,95,219                      // vmaxps        %ymm3,%ymm8,%ymm3
+  .byte  196,98,125,24,5,75,129,2,0          // vbroadcastss  0x2814b(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,193,100,93,216                  // vminps        %ymm8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_gamma_avx
+.globl _sk_gamma_avx
+FUNCTION(_sk_gamma_avx)
+_sk_gamma_avx:
+  .byte  72,129,236,184,0,0,0                // sub           $0xb8,%rsp
+  .byte  197,252,17,188,36,128,0,0,0         // vmovups       %ymm7,0x80(%rsp)
+  .byte  197,252,17,116,36,96                // vmovups       %ymm6,0x60(%rsp)
+  .byte  197,252,17,108,36,64                // vmovups       %ymm5,0x40(%rsp)
+  .byte  197,252,17,100,36,32                // vmovups       %ymm4,0x20(%rsp)
+  .byte  197,252,17,28,36                    // vmovups       %ymm3,(%rsp)
+  .byte  197,252,17,84,36,224                // vmovups       %ymm2,-0x20(%rsp)
+  .byte  197,252,17,76,36,128                // vmovups       %ymm1,-0x80(%rsp)
+  .byte  197,252,40,224                      // vmovaps       %ymm0,%ymm4
+  .byte  197,252,91,204                      // vcvtdq2ps     %ymm4,%ymm1
+  .byte  196,226,125,24,5,150,129,2,0        // vbroadcastss  0x28196(%rip),%ymm0        # 3c594 <_sk_srcover_bgra_8888_sse2_lowp+0x348>
+  .byte  197,244,89,200                      // vmulps        %ymm0,%ymm1,%ymm1
+  .byte  197,124,40,192                      // vmovaps       %ymm0,%ymm8
+  .byte  197,124,17,68,36,160                // vmovups       %ymm8,-0x60(%rsp)
+  .byte  196,98,125,24,13,131,129,2,0        // vbroadcastss  0x28183(%rip),%ymm9        # 3c598 <_sk_srcover_bgra_8888_sse2_lowp+0x34c>
+  .byte  196,193,92,84,209                   // vandps        %ymm9,%ymm4,%ymm2
+  .byte  196,98,125,24,21,213,128,2,0        // vbroadcastss  0x280d5(%rip),%ymm10        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  196,193,108,86,210                  // vorps         %ymm10,%ymm2,%ymm2
+  .byte  196,98,125,24,29,107,129,2,0        // vbroadcastss  0x2816b(%rip),%ymm11        # 3c59c <_sk_srcover_bgra_8888_sse2_lowp+0x350>
+  .byte  196,193,116,88,203                  // vaddps        %ymm11,%ymm1,%ymm1
+  .byte  196,98,125,24,37,97,129,2,0         // vbroadcastss  0x28161(%rip),%ymm12        # 3c5a0 <_sk_srcover_bgra_8888_sse2_lowp+0x354>
+  .byte  196,193,108,89,220                  // vmulps        %ymm12,%ymm2,%ymm3
+  .byte  197,244,92,203                      // vsubps        %ymm3,%ymm1,%ymm1
+  .byte  196,98,125,24,45,83,129,2,0         // vbroadcastss  0x28153(%rip),%ymm13        # 3c5a4 <_sk_srcover_bgra_8888_sse2_lowp+0x358>
+  .byte  196,193,108,88,213                  // vaddps        %ymm13,%ymm2,%ymm2
+  .byte  196,98,125,24,53,73,129,2,0         // vbroadcastss  0x28149(%rip),%ymm14        # 3c5a8 <_sk_srcover_bgra_8888_sse2_lowp+0x35c>
+  .byte  197,140,94,210                      // vdivps        %ymm2,%ymm14,%ymm2
+  .byte  197,244,92,202                      // vsubps        %ymm2,%ymm1,%ymm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,48                   // vbroadcastss  (%rax),%ymm6
+  .byte  197,244,89,206                      // vmulps        %ymm6,%ymm1,%ymm1
+  .byte  196,227,125,8,209,1                 // vroundps      $0x1,%ymm1,%ymm2
+  .byte  197,244,92,234                      // vsubps        %ymm2,%ymm1,%ymm5
+  .byte  196,98,125,24,61,39,129,2,0         // vbroadcastss  0x28127(%rip),%ymm15        # 3c5ac <_sk_srcover_bgra_8888_sse2_lowp+0x360>
+  .byte  196,193,116,88,207                  // vaddps        %ymm15,%ymm1,%ymm1
+  .byte  196,226,125,24,61,29,129,2,0        // vbroadcastss  0x2811d(%rip),%ymm7        # 3c5b0 <_sk_srcover_bgra_8888_sse2_lowp+0x364>
+  .byte  197,212,89,215                      // vmulps        %ymm7,%ymm5,%ymm2
+  .byte  197,244,92,194                      // vsubps        %ymm2,%ymm1,%ymm0
+  .byte  196,226,125,24,29,16,129,2,0        // vbroadcastss  0x28110(%rip),%ymm3        # 3c5b4 <_sk_srcover_bgra_8888_sse2_lowp+0x368>
+  .byte  197,228,92,237                      // vsubps        %ymm5,%ymm3,%ymm5
+  .byte  196,226,125,24,21,7,129,2,0         // vbroadcastss  0x28107(%rip),%ymm2        # 3c5b8 <_sk_srcover_bgra_8888_sse2_lowp+0x36c>
+  .byte  197,236,94,237                      // vdivps        %ymm5,%ymm2,%ymm5
+  .byte  197,252,88,197                      // vaddps        %ymm5,%ymm0,%ymm0
+  .byte  197,212,87,237                      // vxorps        %ymm5,%ymm5,%ymm5
+  .byte  197,220,194,205,0                   // vcmpeqps      %ymm5,%ymm4,%ymm1
+  .byte  196,226,125,24,37,241,128,2,0       // vbroadcastss  0x280f1(%rip),%ymm4        # 3c5bc <_sk_srcover_bgra_8888_sse2_lowp+0x370>
+  .byte  197,252,89,196                      // vmulps        %ymm4,%ymm0,%ymm0
+  .byte  197,253,91,192                      // vcvtps2dq     %ymm0,%ymm0
+  .byte  196,227,125,74,197,16               // vblendvps     %ymm1,%ymm5,%ymm0,%ymm0
+  .byte  197,252,17,68,36,192                // vmovups       %ymm0,-0x40(%rsp)
+  .byte  197,252,16,108,36,128               // vmovups       -0x80(%rsp),%ymm5
+  .byte  197,252,91,197                      // vcvtdq2ps     %ymm5,%ymm0
+  .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
+  .byte  196,193,84,84,201                   // vandps        %ymm9,%ymm5,%ymm1
+  .byte  197,124,40,197                      // vmovaps       %ymm5,%ymm8
+  .byte  196,193,116,86,202                  // vorps         %ymm10,%ymm1,%ymm1
+  .byte  196,193,124,88,195                  // vaddps        %ymm11,%ymm0,%ymm0
+  .byte  196,193,116,89,236                  // vmulps        %ymm12,%ymm1,%ymm5
+  .byte  197,252,92,197                      // vsubps        %ymm5,%ymm0,%ymm0
+  .byte  196,193,116,88,205                  // vaddps        %ymm13,%ymm1,%ymm1
+  .byte  197,140,94,201                      // vdivps        %ymm1,%ymm14,%ymm1
+  .byte  197,252,92,193                      // vsubps        %ymm1,%ymm0,%ymm0
+  .byte  197,252,89,198                      // vmulps        %ymm6,%ymm0,%ymm0
+  .byte  196,227,125,8,200,1                 // vroundps      $0x1,%ymm0,%ymm1
+  .byte  197,252,92,201                      // vsubps        %ymm1,%ymm0,%ymm1
+  .byte  196,193,124,88,199                  // vaddps        %ymm15,%ymm0,%ymm0
+  .byte  197,244,89,239                      // vmulps        %ymm7,%ymm1,%ymm5
+  .byte  197,252,92,197                      // vsubps        %ymm5,%ymm0,%ymm0
+  .byte  197,228,92,201                      // vsubps        %ymm1,%ymm3,%ymm1
+  .byte  197,236,94,201                      // vdivps        %ymm1,%ymm2,%ymm1
+  .byte  197,252,88,193                      // vaddps        %ymm1,%ymm0,%ymm0
+  .byte  197,212,87,237                      // vxorps        %ymm5,%ymm5,%ymm5
+  .byte  197,188,194,205,0                   // vcmpeqps      %ymm5,%ymm8,%ymm1
+  .byte  197,252,89,196                      // vmulps        %ymm4,%ymm0,%ymm0
+  .byte  197,253,91,192                      // vcvtps2dq     %ymm0,%ymm0
+  .byte  196,227,125,74,197,16               // vblendvps     %ymm1,%ymm5,%ymm0,%ymm0
+  .byte  197,252,17,68,36,128                // vmovups       %ymm0,-0x80(%rsp)
+  .byte  197,252,16,108,36,224               // vmovups       -0x20(%rsp),%ymm5
+  .byte  197,252,91,197                      // vcvtdq2ps     %ymm5,%ymm0
+  .byte  197,252,89,68,36,160                // vmulps        -0x60(%rsp),%ymm0,%ymm0
+  .byte  196,193,84,84,201                   // vandps        %ymm9,%ymm5,%ymm1
+  .byte  197,124,40,197                      // vmovaps       %ymm5,%ymm8
+  .byte  196,193,116,86,202                  // vorps         %ymm10,%ymm1,%ymm1
+  .byte  196,193,124,88,195                  // vaddps        %ymm11,%ymm0,%ymm0
+  .byte  196,193,116,89,236                  // vmulps        %ymm12,%ymm1,%ymm5
+  .byte  197,252,92,197                      // vsubps        %ymm5,%ymm0,%ymm0
+  .byte  196,193,116,88,205                  // vaddps        %ymm13,%ymm1,%ymm1
+  .byte  197,140,94,201                      // vdivps        %ymm1,%ymm14,%ymm1
+  .byte  197,252,92,193                      // vsubps        %ymm1,%ymm0,%ymm0
+  .byte  197,252,89,198                      // vmulps        %ymm6,%ymm0,%ymm0
+  .byte  196,227,125,8,200,1                 // vroundps      $0x1,%ymm0,%ymm1
+  .byte  197,252,92,201                      // vsubps        %ymm1,%ymm0,%ymm1
+  .byte  196,193,124,88,199                  // vaddps        %ymm15,%ymm0,%ymm0
+  .byte  197,244,89,239                      // vmulps        %ymm7,%ymm1,%ymm5
+  .byte  197,252,92,197                      // vsubps        %ymm5,%ymm0,%ymm0
+  .byte  197,228,92,201                      // vsubps        %ymm1,%ymm3,%ymm1
+  .byte  197,236,94,201                      // vdivps        %ymm1,%ymm2,%ymm1
+  .byte  197,252,88,193                      // vaddps        %ymm1,%ymm0,%ymm0
+  .byte  197,252,89,196                      // vmulps        %ymm4,%ymm0,%ymm0
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  197,188,194,202,0                   // vcmpeqps      %ymm2,%ymm8,%ymm1
+  .byte  197,253,91,192                      // vcvtps2dq     %ymm0,%ymm0
+  .byte  196,227,125,74,210,16               // vblendvps     %ymm1,%ymm2,%ymm0,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,16,68,36,192                // vmovups       -0x40(%rsp),%ymm0
+  .byte  197,252,16,76,36,128                // vmovups       -0x80(%rsp),%ymm1
+  .byte  197,252,16,28,36                    // vmovups       (%rsp),%ymm3
+  .byte  197,252,16,100,36,32                // vmovups       0x20(%rsp),%ymm4
+  .byte  197,252,16,108,36,64                // vmovups       0x40(%rsp),%ymm5
+  .byte  197,252,16,116,36,96                // vmovups       0x60(%rsp),%ymm6
+  .byte  197,252,16,188,36,128,0,0,0         // vmovups       0x80(%rsp),%ymm7
+  .byte  72,129,196,184,0,0,0                // add           $0xb8,%rsp
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_gamma_dst_avx
+.globl _sk_gamma_dst_avx
+FUNCTION(_sk_gamma_dst_avx)
+_sk_gamma_dst_avx:
+  .byte  72,129,236,248,0,0,0                // sub           $0xf8,%rsp
+  .byte  197,252,17,188,36,192,0,0,0         // vmovups       %ymm7,0xc0(%rsp)
+  .byte  197,252,17,116,36,160               // vmovups       %ymm6,-0x60(%rsp)
+  .byte  197,124,40,197                      // vmovaps       %ymm5,%ymm8
+  .byte  197,252,17,156,36,160,0,0,0         // vmovups       %ymm3,0xa0(%rsp)
+  .byte  197,252,17,148,36,128,0,0,0         // vmovups       %ymm2,0x80(%rsp)
+  .byte  197,252,17,76,36,96                 // vmovups       %ymm1,0x60(%rsp)
+  .byte  197,252,17,68,36,64                 // vmovups       %ymm0,0x40(%rsp)
+  .byte  197,252,91,196                      // vcvtdq2ps     %ymm4,%ymm0
+  .byte  196,226,125,24,29,70,127,2,0        // vbroadcastss  0x27f46(%rip),%ymm3        # 3c594 <_sk_srcover_bgra_8888_sse2_lowp+0x348>
+  .byte  197,252,89,195                      // vmulps        %ymm3,%ymm0,%ymm0
+  .byte  196,226,125,24,13,61,127,2,0        // vbroadcastss  0x27f3d(%rip),%ymm1        # 3c598 <_sk_srcover_bgra_8888_sse2_lowp+0x34c>
+  .byte  197,252,17,12,36                    // vmovups       %ymm1,(%rsp)
+  .byte  197,220,84,201                      // vandps        %ymm1,%ymm4,%ymm1
+  .byte  196,226,125,24,21,139,126,2,0       // vbroadcastss  0x27e8b(%rip),%ymm2        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  197,252,17,84,36,224                // vmovups       %ymm2,-0x20(%rsp)
+  .byte  197,244,86,202                      // vorps         %ymm2,%ymm1,%ymm1
+  .byte  196,226,125,24,21,28,127,2,0        // vbroadcastss  0x27f1c(%rip),%ymm2        # 3c59c <_sk_srcover_bgra_8888_sse2_lowp+0x350>
+  .byte  197,252,17,84,36,192                // vmovups       %ymm2,-0x40(%rsp)
+  .byte  197,252,88,194                      // vaddps        %ymm2,%ymm0,%ymm0
+  .byte  196,98,125,24,37,13,127,2,0         // vbroadcastss  0x27f0d(%rip),%ymm12        # 3c5a0 <_sk_srcover_bgra_8888_sse2_lowp+0x354>
+  .byte  196,193,116,89,212                  // vmulps        %ymm12,%ymm1,%ymm2
+  .byte  197,252,92,194                      // vsubps        %ymm2,%ymm0,%ymm0
+  .byte  196,98,125,24,45,255,126,2,0        // vbroadcastss  0x27eff(%rip),%ymm13        # 3c5a4 <_sk_srcover_bgra_8888_sse2_lowp+0x358>
+  .byte  196,193,116,88,205                  // vaddps        %ymm13,%ymm1,%ymm1
+  .byte  196,98,125,24,53,245,126,2,0        // vbroadcastss  0x27ef5(%rip),%ymm14        # 3c5a8 <_sk_srcover_bgra_8888_sse2_lowp+0x35c>
+  .byte  197,140,94,201                      // vdivps        %ymm1,%ymm14,%ymm1
+  .byte  197,252,92,193                      // vsubps        %ymm1,%ymm0,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,40                   // vbroadcastss  (%rax),%ymm5
+  .byte  197,252,89,197                      // vmulps        %ymm5,%ymm0,%ymm0
+  .byte  196,227,125,8,200,1                 // vroundps      $0x1,%ymm0,%ymm1
+  .byte  197,252,92,201                      // vsubps        %ymm1,%ymm0,%ymm1
+  .byte  196,98,125,24,61,211,126,2,0        // vbroadcastss  0x27ed3(%rip),%ymm15        # 3c5ac <_sk_srcover_bgra_8888_sse2_lowp+0x360>
+  .byte  196,193,124,88,199                  // vaddps        %ymm15,%ymm0,%ymm0
+  .byte  196,98,125,24,29,201,126,2,0        // vbroadcastss  0x27ec9(%rip),%ymm11        # 3c5b0 <_sk_srcover_bgra_8888_sse2_lowp+0x364>
+  .byte  196,193,116,89,211                  // vmulps        %ymm11,%ymm1,%ymm2
+  .byte  197,252,92,194                      // vsubps        %ymm2,%ymm0,%ymm0
+  .byte  196,98,125,24,21,187,126,2,0        // vbroadcastss  0x27ebb(%rip),%ymm10        # 3c5b4 <_sk_srcover_bgra_8888_sse2_lowp+0x368>
+  .byte  197,172,92,241                      // vsubps        %ymm1,%ymm10,%ymm6
+  .byte  196,98,125,24,13,178,126,2,0        // vbroadcastss  0x27eb2(%rip),%ymm9        # 3c5b8 <_sk_srcover_bgra_8888_sse2_lowp+0x36c>
+  .byte  197,180,94,246                      // vdivps        %ymm6,%ymm9,%ymm6
+  .byte  197,252,88,198                      // vaddps        %ymm6,%ymm0,%ymm0
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  197,220,194,225,0                   // vcmpeqps      %ymm1,%ymm4,%ymm4
+  .byte  196,226,125,24,61,156,126,2,0       // vbroadcastss  0x27e9c(%rip),%ymm7        # 3c5bc <_sk_srcover_bgra_8888_sse2_lowp+0x370>
+  .byte  197,252,89,199                      // vmulps        %ymm7,%ymm0,%ymm0
+  .byte  197,253,91,192                      // vcvtps2dq     %ymm0,%ymm0
+  .byte  196,227,125,74,193,64               // vblendvps     %ymm4,%ymm1,%ymm0,%ymm0
+  .byte  197,252,17,68,36,32                 // vmovups       %ymm0,0x20(%rsp)
+  .byte  197,124,17,68,36,128                // vmovups       %ymm8,-0x80(%rsp)
+  .byte  196,193,124,91,192                  // vcvtdq2ps     %ymm8,%ymm0
+  .byte  197,252,89,195                      // vmulps        %ymm3,%ymm0,%ymm0
+  .byte  197,252,16,20,36                    // vmovups       (%rsp),%ymm2
+  .byte  197,188,84,242                      // vandps        %ymm2,%ymm8,%ymm6
+  .byte  197,252,16,76,36,224                // vmovups       -0x20(%rsp),%ymm1
+  .byte  197,204,86,241                      // vorps         %ymm1,%ymm6,%ymm6
+  .byte  197,252,16,100,36,192               // vmovups       -0x40(%rsp),%ymm4
+  .byte  197,252,88,196                      // vaddps        %ymm4,%ymm0,%ymm0
+  .byte  196,65,76,89,196                    // vmulps        %ymm12,%ymm6,%ymm8
+  .byte  196,193,124,92,192                  // vsubps        %ymm8,%ymm0,%ymm0
+  .byte  196,193,76,88,245                   // vaddps        %ymm13,%ymm6,%ymm6
+  .byte  197,140,94,246                      // vdivps        %ymm6,%ymm14,%ymm6
+  .byte  197,252,92,198                      // vsubps        %ymm6,%ymm0,%ymm0
+  .byte  197,252,89,197                      // vmulps        %ymm5,%ymm0,%ymm0
+  .byte  196,227,125,8,240,1                 // vroundps      $0x1,%ymm0,%ymm6
+  .byte  197,252,92,246                      // vsubps        %ymm6,%ymm0,%ymm6
+  .byte  196,193,124,88,199                  // vaddps        %ymm15,%ymm0,%ymm0
+  .byte  196,65,76,89,195                    // vmulps        %ymm11,%ymm6,%ymm8
+  .byte  196,193,124,92,192                  // vsubps        %ymm8,%ymm0,%ymm0
+  .byte  197,172,92,246                      // vsubps        %ymm6,%ymm10,%ymm6
+  .byte  197,180,94,246                      // vdivps        %ymm6,%ymm9,%ymm6
+  .byte  197,252,88,198                      // vaddps        %ymm6,%ymm0,%ymm0
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,188,194,116,36,128,0            // vcmpeqps      -0x80(%rsp),%ymm8,%ymm6
+  .byte  197,252,89,199                      // vmulps        %ymm7,%ymm0,%ymm0
+  .byte  197,253,91,192                      // vcvtps2dq     %ymm0,%ymm0
+  .byte  196,195,125,74,192,96               // vblendvps     %ymm6,%ymm8,%ymm0,%ymm0
+  .byte  197,252,17,68,36,128                // vmovups       %ymm0,-0x80(%rsp)
+  .byte  197,252,16,116,36,160               // vmovups       -0x60(%rsp),%ymm6
+  .byte  197,252,91,198                      // vcvtdq2ps     %ymm6,%ymm0
+  .byte  197,252,89,195                      // vmulps        %ymm3,%ymm0,%ymm0
+  .byte  197,204,84,242                      // vandps        %ymm2,%ymm6,%ymm6
+  .byte  197,204,86,241                      // vorps         %ymm1,%ymm6,%ymm6
+  .byte  197,252,88,196                      // vaddps        %ymm4,%ymm0,%ymm0
+  .byte  196,65,76,89,196                    // vmulps        %ymm12,%ymm6,%ymm8
+  .byte  196,193,124,92,192                  // vsubps        %ymm8,%ymm0,%ymm0
+  .byte  196,193,76,88,245                   // vaddps        %ymm13,%ymm6,%ymm6
+  .byte  197,140,94,246                      // vdivps        %ymm6,%ymm14,%ymm6
+  .byte  197,252,92,198                      // vsubps        %ymm6,%ymm0,%ymm0
+  .byte  197,252,89,197                      // vmulps        %ymm5,%ymm0,%ymm0
+  .byte  196,227,125,8,232,1                 // vroundps      $0x1,%ymm0,%ymm5
+  .byte  197,252,92,237                      // vsubps        %ymm5,%ymm0,%ymm5
+  .byte  196,193,124,88,199                  // vaddps        %ymm15,%ymm0,%ymm0
+  .byte  196,193,84,89,243                   // vmulps        %ymm11,%ymm5,%ymm6
+  .byte  197,252,92,198                      // vsubps        %ymm6,%ymm0,%ymm0
+  .byte  197,172,92,221                      // vsubps        %ymm5,%ymm10,%ymm3
+  .byte  197,180,94,211                      // vdivps        %ymm3,%ymm9,%ymm2
+  .byte  197,252,88,194                      // vaddps        %ymm2,%ymm0,%ymm0
+  .byte  197,252,89,199                      // vmulps        %ymm7,%ymm0,%ymm0
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  197,236,194,76,36,160,0             // vcmpeqps      -0x60(%rsp),%ymm2,%ymm1
+  .byte  197,253,91,192                      // vcvtps2dq     %ymm0,%ymm0
+  .byte  196,227,125,74,242,16               // vblendvps     %ymm1,%ymm2,%ymm0,%ymm6
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,16,68,36,64                 // vmovups       0x40(%rsp),%ymm0
+  .byte  197,252,16,76,36,96                 // vmovups       0x60(%rsp),%ymm1
+  .byte  197,252,16,148,36,128,0,0,0         // vmovups       0x80(%rsp),%ymm2
+  .byte  197,252,16,156,36,160,0,0,0         // vmovups       0xa0(%rsp),%ymm3
+  .byte  197,252,16,100,36,32                // vmovups       0x20(%rsp),%ymm4
+  .byte  197,252,16,108,36,128               // vmovups       -0x80(%rsp),%ymm5
+  .byte  197,252,16,188,36,192,0,0,0         // vmovups       0xc0(%rsp),%ymm7
+  .byte  72,129,196,248,0,0,0                // add           $0xf8,%rsp
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_lab_to_xyz_avx
+.globl _sk_lab_to_xyz_avx
+FUNCTION(_sk_lab_to_xyz_avx)
+_sk_lab_to_xyz_avx:
+  .byte  196,98,125,24,5,71,125,2,0          // vbroadcastss  0x27d47(%rip),%ymm8        # 3c5c0 <_sk_srcover_bgra_8888_sse2_lowp+0x374>
+  .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
+  .byte  196,98,125,24,5,161,124,2,0         // vbroadcastss  0x27ca1(%rip),%ymm8        # 3c528 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  .byte  196,193,116,89,200                  // vmulps        %ymm8,%ymm1,%ymm1
+  .byte  196,98,125,24,13,47,125,2,0         // vbroadcastss  0x27d2f(%rip),%ymm9        # 3c5c4 <_sk_srcover_bgra_8888_sse2_lowp+0x378>
+  .byte  196,193,116,88,201                  // vaddps        %ymm9,%ymm1,%ymm1
+  .byte  196,193,108,89,208                  // vmulps        %ymm8,%ymm2,%ymm2
+  .byte  196,193,108,88,209                  // vaddps        %ymm9,%ymm2,%ymm2
+  .byte  196,98,125,24,5,27,125,2,0          // vbroadcastss  0x27d1b(%rip),%ymm8        # 3c5c8 <_sk_srcover_bgra_8888_sse2_lowp+0x37c>
+  .byte  196,193,124,88,192                  // vaddps        %ymm8,%ymm0,%ymm0
+  .byte  196,98,125,24,5,17,125,2,0          // vbroadcastss  0x27d11(%rip),%ymm8        # 3c5cc <_sk_srcover_bgra_8888_sse2_lowp+0x380>
+  .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
+  .byte  196,98,125,24,5,7,125,2,0           // vbroadcastss  0x27d07(%rip),%ymm8        # 3c5d0 <_sk_srcover_bgra_8888_sse2_lowp+0x384>
+  .byte  196,193,116,89,200                  // vmulps        %ymm8,%ymm1,%ymm1
+  .byte  197,252,88,201                      // vaddps        %ymm1,%ymm0,%ymm1
+  .byte  196,98,125,24,5,249,124,2,0         // vbroadcastss  0x27cf9(%rip),%ymm8        # 3c5d4 <_sk_srcover_bgra_8888_sse2_lowp+0x388>
+  .byte  196,193,108,89,208                  // vmulps        %ymm8,%ymm2,%ymm2
+  .byte  197,252,92,210                      // vsubps        %ymm2,%ymm0,%ymm2
+  .byte  197,116,89,193                      // vmulps        %ymm1,%ymm1,%ymm8
+  .byte  196,65,116,89,192                   // vmulps        %ymm8,%ymm1,%ymm8
+  .byte  196,98,125,24,13,226,124,2,0        // vbroadcastss  0x27ce2(%rip),%ymm9        # 3c5d8 <_sk_srcover_bgra_8888_sse2_lowp+0x38c>
+  .byte  196,65,52,194,208,1                 // vcmpltps      %ymm8,%ymm9,%ymm10
+  .byte  196,98,125,24,29,215,124,2,0        // vbroadcastss  0x27cd7(%rip),%ymm11        # 3c5dc <_sk_srcover_bgra_8888_sse2_lowp+0x390>
+  .byte  196,193,116,88,203                  // vaddps        %ymm11,%ymm1,%ymm1
+  .byte  196,98,125,24,37,205,124,2,0        // vbroadcastss  0x27ccd(%rip),%ymm12        # 3c5e0 <_sk_srcover_bgra_8888_sse2_lowp+0x394>
+  .byte  196,193,116,89,204                  // vmulps        %ymm12,%ymm1,%ymm1
+  .byte  196,67,117,74,192,160               // vblendvps     %ymm10,%ymm8,%ymm1,%ymm8
+  .byte  197,252,89,200                      // vmulps        %ymm0,%ymm0,%ymm1
+  .byte  197,252,89,201                      // vmulps        %ymm1,%ymm0,%ymm1
+  .byte  197,52,194,209,1                    // vcmpltps      %ymm1,%ymm9,%ymm10
+  .byte  196,193,124,88,195                  // vaddps        %ymm11,%ymm0,%ymm0
+  .byte  196,193,124,89,196                  // vmulps        %ymm12,%ymm0,%ymm0
+  .byte  196,227,125,74,201,160              // vblendvps     %ymm10,%ymm1,%ymm0,%ymm1
+  .byte  197,236,89,194                      // vmulps        %ymm2,%ymm2,%ymm0
+  .byte  197,236,89,192                      // vmulps        %ymm0,%ymm2,%ymm0
+  .byte  197,52,194,200,1                    // vcmpltps      %ymm0,%ymm9,%ymm9
+  .byte  196,193,108,88,211                  // vaddps        %ymm11,%ymm2,%ymm2
+  .byte  196,193,108,89,212                  // vmulps        %ymm12,%ymm2,%ymm2
+  .byte  196,227,109,74,208,144              // vblendvps     %ymm9,%ymm0,%ymm2,%ymm2
+  .byte  196,226,125,24,5,131,124,2,0        // vbroadcastss  0x27c83(%rip),%ymm0        # 3c5e4 <_sk_srcover_bgra_8888_sse2_lowp+0x398>
+  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
+  .byte  196,98,125,24,5,122,124,2,0         // vbroadcastss  0x27c7a(%rip),%ymm8        # 3c5e8 <_sk_srcover_bgra_8888_sse2_lowp+0x39c>
+  .byte  196,193,108,89,208                  // vmulps        %ymm8,%ymm2,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_load_a8_avx
+.globl _sk_load_a8_avx
+FUNCTION(_sk_load_a8_avx)
+_sk_load_a8_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,68                              // jne           149cd <_sk_load_a8_avx+0x56>
+  .byte  196,194,121,48,4,16                 // vpmovzxbw     (%r8,%rdx,1),%xmm0
+  .byte  197,249,219,5,25,133,2,0            // vpand         0x28519(%rip),%xmm0,%xmm0        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  196,226,121,51,200                  // vpmovzxwd     %xmm0,%xmm1
+  .byte  197,249,112,192,78                  // vpshufd       $0x4e,%xmm0,%xmm0
+  .byte  196,226,121,51,192                  // vpmovzxwd     %xmm0,%xmm0
+  .byte  196,227,117,24,192,1                // vinsertf128   $0x1,%xmm0,%ymm1,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,226,125,24,13,187,123,2,0       // vbroadcastss  0x27bbb(%rip),%ymm1        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  197,252,89,217                      // vmulps        %ymm1,%ymm0,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,180                             // ja            1498f <_sk_load_a8_avx+0x18>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,119,0,0,0                 // lea           0x77(%rip),%r9        # 14a5c <_sk_load_a8_avx+0xe5>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  197,249,110,192                     // vmovd         %eax,%xmm0
+  .byte  235,150                             // jmp           1498f <_sk_load_a8_avx+0x18>
+  .byte  65,15,182,68,16,2                   // movzbl        0x2(%r8,%rdx,1),%eax
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  197,249,196,192,2                   // vpinsrw       $0x2,%eax,%xmm0,%xmm0
+  .byte  65,15,183,4,16                      // movzwl        (%r8,%rdx,1),%eax
+  .byte  197,249,110,200                     // vmovd         %eax,%xmm1
+  .byte  196,226,121,48,201                  // vpmovzxbw     %xmm1,%xmm1
+  .byte  196,227,121,14,193,3                // vpblendw      $0x3,%xmm1,%xmm0,%xmm0
+  .byte  233,110,255,255,255                 // jmpq          1498f <_sk_load_a8_avx+0x18>
+  .byte  65,15,182,68,16,6                   // movzbl        0x6(%r8,%rdx,1),%eax
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  197,249,196,192,6                   // vpinsrw       $0x6,%eax,%xmm0,%xmm0
+  .byte  65,15,182,68,16,5                   // movzbl        0x5(%r8,%rdx,1),%eax
+  .byte  197,249,196,192,5                   // vpinsrw       $0x5,%eax,%xmm0,%xmm0
+  .byte  65,15,182,68,16,4                   // movzbl        0x4(%r8,%rdx,1),%eax
+  .byte  197,249,196,192,4                   // vpinsrw       $0x4,%eax,%xmm0,%xmm0
+  .byte  196,193,121,110,12,16               // vmovd         (%r8,%rdx,1),%xmm1
+  .byte  196,226,121,48,201                  // vpmovzxbw     %xmm1,%xmm1
+  .byte  196,227,113,14,192,240              // vpblendw      $0xf0,%xmm0,%xmm1,%xmm0
+  .byte  233,51,255,255,255                  // jmpq          1498f <_sk_load_a8_avx+0x18>
+  .byte  146                                 // xchg          %eax,%edx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,172,255,255,255,157,255         // ljmp          *-0x620001(%rdi,%rdi,8)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  234                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  223,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,212                             // callq         *%rsp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,197                             // inc           %ebp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_a8_dst_avx
+.globl _sk_load_a8_dst_avx
+FUNCTION(_sk_load_a8_dst_avx)
+_sk_load_a8_dst_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,68                              // jne           14ace <_sk_load_a8_dst_avx+0x56>
+  .byte  196,194,121,48,36,16                // vpmovzxbw     (%r8,%rdx,1),%xmm4
+  .byte  197,217,219,37,24,132,2,0           // vpand         0x28418(%rip),%xmm4,%xmm4        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  196,226,121,51,236                  // vpmovzxwd     %xmm4,%xmm5
+  .byte  197,249,112,228,78                  // vpshufd       $0x4e,%xmm4,%xmm4
+  .byte  196,226,121,51,228                  // vpmovzxwd     %xmm4,%xmm4
+  .byte  196,227,85,24,228,1                 // vinsertf128   $0x1,%xmm4,%ymm5,%ymm4
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  196,226,125,24,45,186,122,2,0       // vbroadcastss  0x27aba(%rip),%ymm5        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  197,220,89,253                      // vmulps        %ymm5,%ymm4,%ymm7
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,220,87,228                      // vxorps        %ymm4,%ymm4,%ymm4
+  .byte  197,212,87,237                      // vxorps        %ymm5,%ymm5,%ymm5
+  .byte  197,204,87,246                      // vxorps        %ymm6,%ymm6,%ymm6
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,180                             // ja            14a90 <_sk_load_a8_dst_avx+0x18>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,122,0,0,0                 // lea           0x7a(%rip),%r9        # 14b60 <_sk_load_a8_dst_avx+0xe8>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  197,249,110,224                     // vmovd         %eax,%xmm4
+  .byte  235,150                             // jmp           14a90 <_sk_load_a8_dst_avx+0x18>
+  .byte  65,15,182,68,16,2                   // movzbl        0x2(%r8,%rdx,1),%eax
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  197,217,196,224,2                   // vpinsrw       $0x2,%eax,%xmm4,%xmm4
+  .byte  65,15,183,4,16                      // movzwl        (%r8,%rdx,1),%eax
+  .byte  197,249,110,232                     // vmovd         %eax,%xmm5
+  .byte  196,226,121,48,237                  // vpmovzxbw     %xmm5,%xmm5
+  .byte  196,227,89,14,229,3                 // vpblendw      $0x3,%xmm5,%xmm4,%xmm4
+  .byte  233,110,255,255,255                 // jmpq          14a90 <_sk_load_a8_dst_avx+0x18>
+  .byte  65,15,182,68,16,6                   // movzbl        0x6(%r8,%rdx,1),%eax
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  197,217,196,224,6                   // vpinsrw       $0x6,%eax,%xmm4,%xmm4
+  .byte  65,15,182,68,16,5                   // movzbl        0x5(%r8,%rdx,1),%eax
+  .byte  197,217,196,224,5                   // vpinsrw       $0x5,%eax,%xmm4,%xmm4
+  .byte  65,15,182,68,16,4                   // movzbl        0x4(%r8,%rdx,1),%eax
+  .byte  197,217,196,224,4                   // vpinsrw       $0x4,%eax,%xmm4,%xmm4
+  .byte  196,193,121,110,44,16               // vmovd         (%r8,%rdx,1),%xmm5
+  .byte  196,226,121,48,237                  // vpmovzxbw     %xmm5,%xmm5
+  .byte  196,227,81,14,228,240               // vpblendw      $0xf0,%xmm4,%xmm5,%xmm4
+  .byte  233,51,255,255,255                  // jmpq          14a90 <_sk_load_a8_dst_avx+0x18>
+  .byte  15,31,0                             // nopl          (%rax)
+  .byte  143                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,169,255,255,255,154             // ljmp          *-0x65000001(%rcx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,231                             // jmpq          *%rdi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  220,255                             // fdivr         %st,%st(7)
+  .byte  255                                 // (bad)
+  .byte  255,209                             // callq         *%rcx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,194                             // inc           %edx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_gather_a8_avx
+.globl _sk_gather_a8_avx
+FUNCTION(_sk_gather_a8_avx)
+_sk_gather_a8_avx:
+  .byte  85                                  // push          %rbp
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,80,12                // vbroadcastss  0xc(%rax),%ymm2
+  .byte  196,227,125,25,211,1                // vextractf128  $0x1,%ymm2,%xmm3
+  .byte  196,65,57,118,192                   // vpcmpeqd      %xmm8,%xmm8,%xmm8
+  .byte  196,193,97,254,216                  // vpaddd        %xmm8,%xmm3,%xmm3
+  .byte  196,193,105,254,208                 // vpaddd        %xmm8,%xmm2,%xmm2
+  .byte  196,227,109,24,211,1                // vinsertf128   $0x1,%xmm3,%ymm2,%ymm2
+  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
+  .byte  197,180,95,192                      // vmaxps        %ymm0,%ymm9,%ymm0
+  .byte  197,252,93,210                      // vminps        %ymm2,%ymm0,%ymm2
+  .byte  196,226,125,24,64,16                // vbroadcastss  0x10(%rax),%ymm0
+  .byte  196,227,125,25,195,1                // vextractf128  $0x1,%ymm0,%xmm3
+  .byte  196,193,97,254,216                  // vpaddd        %xmm8,%xmm3,%xmm3
+  .byte  196,193,121,254,192                 // vpaddd        %xmm8,%xmm0,%xmm0
+  .byte  196,227,125,24,195,1                // vinsertf128   $0x1,%xmm3,%ymm0,%ymm0
+  .byte  197,180,95,201                      // vmaxps        %ymm1,%ymm9,%ymm1
+  .byte  197,244,93,192                      // vminps        %ymm0,%ymm1,%ymm0
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  197,254,91,200                      // vcvttps2dq    %ymm0,%ymm1
+  .byte  197,249,110,64,8                    // vmovd         0x8(%rax),%xmm0
+  .byte  197,249,112,216,0                   // vpshufd       $0x0,%xmm0,%xmm3
+  .byte  196,226,97,64,193                   // vpmulld       %xmm1,%xmm3,%xmm0
+  .byte  196,227,125,25,201,1                // vextractf128  $0x1,%ymm1,%xmm1
+  .byte  196,226,97,64,201                   // vpmulld       %xmm1,%xmm3,%xmm1
+  .byte  197,254,91,210                      // vcvttps2dq    %ymm2,%ymm2
+  .byte  196,227,125,25,211,1                // vextractf128  $0x1,%ymm2,%xmm3
+  .byte  197,241,254,203                     // vpaddd        %xmm3,%xmm1,%xmm1
+  .byte  196,227,249,22,200,1                // vpextrq       $0x1,%xmm1,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  196,193,249,126,202                 // vmovq         %xmm1,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  197,249,254,194                     // vpaddd        %xmm2,%xmm0,%xmm0
+  .byte  196,227,249,22,195,1                // vpextrq       $0x1,%xmm0,%rbx
+  .byte  65,137,222                          // mov           %ebx,%r14d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  196,193,249,126,199                 // vmovq         %xmm0,%r15
+  .byte  69,137,252                          // mov           %r15d,%r12d
+  .byte  73,193,239,32                       // shr           $0x20,%r15
+  .byte  71,15,182,60,56                     // movzbl        (%r8,%r15,1),%r15d
+  .byte  67,15,182,44,32                     // movzbl        (%r8,%r12,1),%ebp
+  .byte  197,249,110,197                     // vmovd         %ebp,%xmm0
+  .byte  196,195,121,32,199,1                // vpinsrb       $0x1,%r15d,%xmm0,%xmm0
+  .byte  67,15,182,44,48                     // movzbl        (%r8,%r14,1),%ebp
+  .byte  196,227,121,32,197,2                // vpinsrb       $0x2,%ebp,%xmm0,%xmm0
+  .byte  65,15,182,28,24                     // movzbl        (%r8,%rbx,1),%ebx
+  .byte  196,227,121,32,195,3                // vpinsrb       $0x3,%ebx,%xmm0,%xmm0
+  .byte  196,226,121,49,192                  // vpmovzxbd     %xmm0,%xmm0
+  .byte  67,15,182,44,16                     // movzbl        (%r8,%r10,1),%ebp
+  .byte  67,15,182,28,24                     // movzbl        (%r8,%r11,1),%ebx
+  .byte  197,249,110,203                     // vmovd         %ebx,%xmm1
+  .byte  196,227,113,32,205,1                // vpinsrb       $0x1,%ebp,%xmm1,%xmm1
+  .byte  67,15,182,44,8                      // movzbl        (%r8,%r9,1),%ebp
+  .byte  196,227,113,32,205,2                // vpinsrb       $0x2,%ebp,%xmm1,%xmm1
+  .byte  65,15,182,4,0                       // movzbl        (%r8,%rax,1),%eax
+  .byte  196,227,113,32,200,3                // vpinsrb       $0x3,%eax,%xmm1,%xmm1
+  .byte  196,226,121,49,201                  // vpmovzxbd     %xmm1,%xmm1
+  .byte  196,227,125,24,193,1                // vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,226,125,24,13,198,120,2,0       // vbroadcastss  0x278c6(%rip),%ymm1        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  197,252,89,217                      // vmulps        %ymm1,%ymm0,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  93                                  // pop           %rbp
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_store_a8_avx
+.globl _sk_store_a8_avx
+FUNCTION(_sk_store_a8_avx)
+_sk_store_a8_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,60,95,195                       // vmaxps        %ymm3,%ymm8,%ymm8
+  .byte  196,98,125,24,13,19,120,2,0         // vbroadcastss  0x27813(%rip),%ymm9        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,65,60,93,193                    // vminps        %ymm9,%ymm8,%ymm8
+  .byte  196,98,125,24,13,49,120,2,0         // vbroadcastss  0x27831(%rip),%ymm9        # 3c528 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  .byte  196,65,60,89,193                    // vmulps        %ymm9,%ymm8,%ymm8
+  .byte  196,65,125,91,192                   // vcvtps2dq     %ymm8,%ymm8
+  .byte  196,67,125,25,193,1                 // vextractf128  $0x1,%ymm8,%xmm9
+  .byte  196,66,57,43,193                    // vpackusdw     %xmm9,%xmm8,%xmm8
+  .byte  197,57,103,192                      // vpackuswb     %xmm0,%xmm8,%xmm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,10                              // jne           14d1f <_sk_store_a8_avx+0x55>
+  .byte  196,65,121,214,4,16                 // vmovq         %xmm8,(%r8,%rdx,1)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,242                             // ja            14d1b <_sk_store_a8_avx+0x51>
+  .byte  196,66,121,48,192                   // vpmovzxbw     %xmm8,%xmm8
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,88,0,0,0                  // lea           0x58(%rip),%r9        # 14d90 <_sk_store_a8_avx+0xc6>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,67,121,20,4,16,0                // vpextrb       $0x0,%xmm8,(%r8,%rdx,1)
+  .byte  235,209                             // jmp           14d1b <_sk_store_a8_avx+0x51>
+  .byte  196,67,121,20,68,16,2,4             // vpextrb       $0x4,%xmm8,0x2(%r8,%rdx,1)
+  .byte  196,98,57,0,5,101,129,2,0           // vpshufb       0x28165(%rip),%xmm8,%xmm8        # 3cec0 <_sk_srcover_bgra_8888_sse2_lowp+0xc74>
+  .byte  196,67,121,21,4,16,0                // vpextrw       $0x0,%xmm8,(%r8,%rdx,1)
+  .byte  235,183                             // jmp           14d1b <_sk_store_a8_avx+0x51>
+  .byte  196,67,121,20,68,16,6,12            // vpextrb       $0xc,%xmm8,0x6(%r8,%rdx,1)
+  .byte  196,67,121,20,68,16,5,10            // vpextrb       $0xa,%xmm8,0x5(%r8,%rdx,1)
+  .byte  196,67,121,20,68,16,4,8             // vpextrb       $0x8,%xmm8,0x4(%r8,%rdx,1)
+  .byte  196,98,57,0,5,75,129,2,0            // vpshufb       0x2814b(%rip),%xmm8,%xmm8        # 3ced0 <_sk_srcover_bgra_8888_sse2_lowp+0xc84>
+  .byte  196,65,121,126,4,16                 // vmovd         %xmm8,(%r8,%rdx,1)
+  .byte  235,142                             // jmp           14d1b <_sk_store_a8_avx+0x51>
+  .byte  15,31,0                             // nopl          (%rax)
+  .byte  177,255                             // mov           $0xff,%cl
+  .byte  255                                 // (bad)
+  .byte  255,194                             // inc           %edx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  186,255,255,255,236                 // mov           $0xecffffff,%edx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,228                             // jmpq          *%rsp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  220,255                             // fdivr         %st,%st(7)
+  .byte  255                                 // (bad)
+  .byte  255,212                             // callq         *%rsp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_g8_avx
+.globl _sk_load_g8_avx
+FUNCTION(_sk_load_g8_avx)
+_sk_load_g8_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,73                              // jne           14e07 <_sk_load_g8_avx+0x5b>
+  .byte  196,194,121,48,4,16                 // vpmovzxbw     (%r8,%rdx,1),%xmm0
+  .byte  197,249,219,5,228,128,2,0           // vpand         0x280e4(%rip),%xmm0,%xmm0        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  196,226,121,51,200                  // vpmovzxwd     %xmm0,%xmm1
+  .byte  197,249,112,192,78                  // vpshufd       $0x4e,%xmm0,%xmm0
+  .byte  196,226,121,51,192                  // vpmovzxwd     %xmm0,%xmm0
+  .byte  196,227,117,24,192,1                // vinsertf128   $0x1,%xmm0,%ymm1,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,226,125,24,13,134,119,2,0       // vbroadcastss  0x27786(%rip),%ymm1        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  197,252,89,193                      // vmulps        %ymm1,%ymm0,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,29,255,118,2,0       // vbroadcastss  0x276ff(%rip),%ymm3        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,252,40,200                      // vmovaps       %ymm0,%ymm1
+  .byte  197,252,40,208                      // vmovaps       %ymm0,%ymm2
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,175                             // ja            14dc4 <_sk_load_g8_avx+0x18>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,121,0,0,0                 // lea           0x79(%rip),%r9        # 14e98 <_sk_load_g8_avx+0xec>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  197,249,110,192                     // vmovd         %eax,%xmm0
+  .byte  235,145                             // jmp           14dc4 <_sk_load_g8_avx+0x18>
+  .byte  65,15,182,68,16,2                   // movzbl        0x2(%r8,%rdx,1),%eax
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  197,249,196,192,2                   // vpinsrw       $0x2,%eax,%xmm0,%xmm0
+  .byte  65,15,183,4,16                      // movzwl        (%r8,%rdx,1),%eax
+  .byte  197,249,110,200                     // vmovd         %eax,%xmm1
+  .byte  196,226,121,48,201                  // vpmovzxbw     %xmm1,%xmm1
+  .byte  196,227,121,14,193,3                // vpblendw      $0x3,%xmm1,%xmm0,%xmm0
+  .byte  233,105,255,255,255                 // jmpq          14dc4 <_sk_load_g8_avx+0x18>
+  .byte  65,15,182,68,16,6                   // movzbl        0x6(%r8,%rdx,1),%eax
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  197,249,196,192,6                   // vpinsrw       $0x6,%eax,%xmm0,%xmm0
+  .byte  65,15,182,68,16,5                   // movzbl        0x5(%r8,%rdx,1),%eax
+  .byte  197,249,196,192,5                   // vpinsrw       $0x5,%eax,%xmm0,%xmm0
+  .byte  65,15,182,68,16,4                   // movzbl        0x4(%r8,%rdx,1),%eax
+  .byte  197,249,196,192,4                   // vpinsrw       $0x4,%eax,%xmm0,%xmm0
+  .byte  196,193,121,110,12,16               // vmovd         (%r8,%rdx,1),%xmm1
+  .byte  196,226,121,48,201                  // vpmovzxbw     %xmm1,%xmm1
+  .byte  196,227,113,14,192,240              // vpblendw      $0xf0,%xmm0,%xmm1,%xmm0
+  .byte  233,46,255,255,255                  // jmpq          14dc4 <_sk_load_g8_avx+0x18>
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  144                                 // nop
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,170,255,255,255,155             // ljmp          *-0x64000001(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  232,255,255,255,221                 // callq         ffffffffde014ea8 <_sk_srcover_bgra_8888_sse2_lowp+0xffffffffddfd8c5c>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,210                             // callq         *%rdx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,195                             // inc           %ebx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_g8_dst_avx
+.globl _sk_load_g8_dst_avx
+FUNCTION(_sk_load_g8_dst_avx)
+_sk_load_g8_dst_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,73                              // jne           14f0f <_sk_load_g8_dst_avx+0x5b>
+  .byte  196,194,121,48,36,16                // vpmovzxbw     (%r8,%rdx,1),%xmm4
+  .byte  197,217,219,37,220,127,2,0          // vpand         0x27fdc(%rip),%xmm4,%xmm4        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  196,226,121,51,236                  // vpmovzxwd     %xmm4,%xmm5
+  .byte  197,249,112,228,78                  // vpshufd       $0x4e,%xmm4,%xmm4
+  .byte  196,226,121,51,228                  // vpmovzxwd     %xmm4,%xmm4
+  .byte  196,227,85,24,228,1                 // vinsertf128   $0x1,%xmm4,%ymm5,%ymm4
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  196,226,125,24,45,126,118,2,0       // vbroadcastss  0x2767e(%rip),%ymm5        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  197,220,89,229                      // vmulps        %ymm5,%ymm4,%ymm4
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,61,247,117,2,0       // vbroadcastss  0x275f7(%rip),%ymm7        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,252,40,236                      // vmovaps       %ymm4,%ymm5
+  .byte  197,252,40,244                      // vmovaps       %ymm4,%ymm6
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,175                             // ja            14ecc <_sk_load_g8_dst_avx+0x18>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,121,0,0,0                 // lea           0x79(%rip),%r9        # 14fa0 <_sk_load_g8_dst_avx+0xec>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  197,249,110,224                     // vmovd         %eax,%xmm4
+  .byte  235,145                             // jmp           14ecc <_sk_load_g8_dst_avx+0x18>
+  .byte  65,15,182,68,16,2                   // movzbl        0x2(%r8,%rdx,1),%eax
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  197,217,196,224,2                   // vpinsrw       $0x2,%eax,%xmm4,%xmm4
+  .byte  65,15,183,4,16                      // movzwl        (%r8,%rdx,1),%eax
+  .byte  197,249,110,232                     // vmovd         %eax,%xmm5
+  .byte  196,226,121,48,237                  // vpmovzxbw     %xmm5,%xmm5
+  .byte  196,227,89,14,229,3                 // vpblendw      $0x3,%xmm5,%xmm4,%xmm4
+  .byte  233,105,255,255,255                 // jmpq          14ecc <_sk_load_g8_dst_avx+0x18>
+  .byte  65,15,182,68,16,6                   // movzbl        0x6(%r8,%rdx,1),%eax
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  197,217,196,224,6                   // vpinsrw       $0x6,%eax,%xmm4,%xmm4
+  .byte  65,15,182,68,16,5                   // movzbl        0x5(%r8,%rdx,1),%eax
+  .byte  197,217,196,224,5                   // vpinsrw       $0x5,%eax,%xmm4,%xmm4
+  .byte  65,15,182,68,16,4                   // movzbl        0x4(%r8,%rdx,1),%eax
+  .byte  197,217,196,224,4                   // vpinsrw       $0x4,%eax,%xmm4,%xmm4
+  .byte  196,193,121,110,44,16               // vmovd         (%r8,%rdx,1),%xmm5
+  .byte  196,226,121,48,237                  // vpmovzxbw     %xmm5,%xmm5
+  .byte  196,227,81,14,228,240               // vpblendw      $0xf0,%xmm4,%xmm5,%xmm4
+  .byte  233,46,255,255,255                  // jmpq          14ecc <_sk_load_g8_dst_avx+0x18>
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  144                                 // nop
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,170,255,255,255,155             // ljmp          *-0x64000001(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  232,255,255,255,221                 // callq         ffffffffde014fb0 <_sk_srcover_bgra_8888_sse2_lowp+0xffffffffddfd8d64>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,210                             // callq         *%rdx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,195                             // inc           %ebx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_gather_g8_avx
+.globl _sk_gather_g8_avx
+FUNCTION(_sk_gather_g8_avx)
+_sk_gather_g8_avx:
+  .byte  85                                  // push          %rbp
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,80,12                // vbroadcastss  0xc(%rax),%ymm2
+  .byte  196,227,125,25,211,1                // vextractf128  $0x1,%ymm2,%xmm3
+  .byte  196,65,57,118,192                   // vpcmpeqd      %xmm8,%xmm8,%xmm8
+  .byte  196,193,97,254,216                  // vpaddd        %xmm8,%xmm3,%xmm3
+  .byte  196,193,105,254,208                 // vpaddd        %xmm8,%xmm2,%xmm2
+  .byte  196,227,109,24,211,1                // vinsertf128   $0x1,%xmm3,%ymm2,%ymm2
+  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
+  .byte  197,180,95,192                      // vmaxps        %ymm0,%ymm9,%ymm0
+  .byte  197,252,93,210                      // vminps        %ymm2,%ymm0,%ymm2
+  .byte  196,226,125,24,64,16                // vbroadcastss  0x10(%rax),%ymm0
+  .byte  196,227,125,25,195,1                // vextractf128  $0x1,%ymm0,%xmm3
+  .byte  196,193,97,254,216                  // vpaddd        %xmm8,%xmm3,%xmm3
+  .byte  196,193,121,254,192                 // vpaddd        %xmm8,%xmm0,%xmm0
+  .byte  196,227,125,24,195,1                // vinsertf128   $0x1,%xmm3,%ymm0,%ymm0
+  .byte  197,180,95,201                      // vmaxps        %ymm1,%ymm9,%ymm1
+  .byte  197,244,93,192                      // vminps        %ymm0,%ymm1,%ymm0
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  197,254,91,200                      // vcvttps2dq    %ymm0,%ymm1
+  .byte  197,249,110,64,8                    // vmovd         0x8(%rax),%xmm0
+  .byte  197,249,112,216,0                   // vpshufd       $0x0,%xmm0,%xmm3
+  .byte  196,226,97,64,193                   // vpmulld       %xmm1,%xmm3,%xmm0
+  .byte  196,227,125,25,201,1                // vextractf128  $0x1,%ymm1,%xmm1
+  .byte  196,226,97,64,201                   // vpmulld       %xmm1,%xmm3,%xmm1
+  .byte  197,254,91,210                      // vcvttps2dq    %ymm2,%ymm2
+  .byte  196,227,125,25,211,1                // vextractf128  $0x1,%ymm2,%xmm3
+  .byte  197,241,254,203                     // vpaddd        %xmm3,%xmm1,%xmm1
+  .byte  196,227,249,22,200,1                // vpextrq       $0x1,%xmm1,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  196,193,249,126,202                 // vmovq         %xmm1,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  197,249,254,194                     // vpaddd        %xmm2,%xmm0,%xmm0
+  .byte  196,227,249,22,195,1                // vpextrq       $0x1,%xmm0,%rbx
+  .byte  65,137,222                          // mov           %ebx,%r14d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  196,193,249,126,199                 // vmovq         %xmm0,%r15
+  .byte  69,137,252                          // mov           %r15d,%r12d
+  .byte  73,193,239,32                       // shr           $0x20,%r15
+  .byte  71,15,182,60,56                     // movzbl        (%r8,%r15,1),%r15d
+  .byte  67,15,182,44,32                     // movzbl        (%r8,%r12,1),%ebp
+  .byte  197,249,110,197                     // vmovd         %ebp,%xmm0
+  .byte  196,195,121,32,199,1                // vpinsrb       $0x1,%r15d,%xmm0,%xmm0
+  .byte  67,15,182,44,48                     // movzbl        (%r8,%r14,1),%ebp
+  .byte  196,227,121,32,197,2                // vpinsrb       $0x2,%ebp,%xmm0,%xmm0
+  .byte  65,15,182,28,24                     // movzbl        (%r8,%rbx,1),%ebx
+  .byte  196,227,121,32,195,3                // vpinsrb       $0x3,%ebx,%xmm0,%xmm0
+  .byte  196,226,121,49,192                  // vpmovzxbd     %xmm0,%xmm0
+  .byte  67,15,182,44,16                     // movzbl        (%r8,%r10,1),%ebp
+  .byte  67,15,182,28,24                     // movzbl        (%r8,%r11,1),%ebx
+  .byte  197,249,110,203                     // vmovd         %ebx,%xmm1
+  .byte  196,227,113,32,205,1                // vpinsrb       $0x1,%ebp,%xmm1,%xmm1
+  .byte  67,15,182,44,8                      // movzbl        (%r8,%r9,1),%ebp
+  .byte  196,227,113,32,205,2                // vpinsrb       $0x2,%ebp,%xmm1,%xmm1
+  .byte  65,15,182,4,0                       // movzbl        (%r8,%rax,1),%eax
+  .byte  196,227,113,32,200,3                // vpinsrb       $0x3,%eax,%xmm1,%xmm1
+  .byte  196,226,121,49,201                  // vpmovzxbd     %xmm1,%xmm1
+  .byte  196,227,125,24,193,1                // vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,226,125,24,13,134,116,2,0       // vbroadcastss  0x27486(%rip),%ymm1        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  197,252,89,193                      // vmulps        %ymm1,%ymm0,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,29,255,115,2,0       // vbroadcastss  0x273ff(%rip),%ymm3        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,252,40,200                      // vmovaps       %ymm0,%ymm1
+  .byte  197,252,40,208                      // vmovaps       %ymm0,%ymm2
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  93                                  // pop           %rbp
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_load_565_avx
+.globl _sk_load_565_avx
+FUNCTION(_sk_load_565_avx)
+_sk_load_565_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,130,0,0,0                    // jne           151aa <_sk_load_565_avx+0x9b>
+  .byte  196,193,122,111,4,80                // vmovdqu       (%r8,%rdx,2),%xmm0
+  .byte  196,226,121,51,200                  // vpmovzxwd     %xmm0,%xmm1
+  .byte  197,249,112,192,78                  // vpshufd       $0x4e,%xmm0,%xmm0
+  .byte  196,226,121,51,192                  // vpmovzxwd     %xmm0,%xmm0
+  .byte  196,227,117,24,208,1                // vinsertf128   $0x1,%xmm0,%ymm1,%ymm2
+  .byte  196,226,125,24,5,44,116,2,0         // vbroadcastss  0x2742c(%rip),%ymm0        # 3c578 <_sk_srcover_bgra_8888_sse2_lowp+0x32c>
+  .byte  197,236,84,192                      // vandps        %ymm0,%ymm2,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,226,125,24,13,31,116,2,0        // vbroadcastss  0x2741f(%rip),%ymm1        # 3c57c <_sk_srcover_bgra_8888_sse2_lowp+0x330>
+  .byte  197,252,89,193                      // vmulps        %ymm1,%ymm0,%ymm0
+  .byte  196,226,125,24,13,22,116,2,0        // vbroadcastss  0x27416(%rip),%ymm1        # 3c580 <_sk_srcover_bgra_8888_sse2_lowp+0x334>
+  .byte  197,236,84,201                      // vandps        %ymm1,%ymm2,%ymm1
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  196,226,125,24,29,9,116,2,0         // vbroadcastss  0x27409(%rip),%ymm3        # 3c584 <_sk_srcover_bgra_8888_sse2_lowp+0x338>
+  .byte  197,244,89,203                      // vmulps        %ymm3,%ymm1,%ymm1
+  .byte  196,226,125,24,29,0,116,2,0         // vbroadcastss  0x27400(%rip),%ymm3        # 3c588 <_sk_srcover_bgra_8888_sse2_lowp+0x33c>
+  .byte  197,236,84,211                      // vandps        %ymm3,%ymm2,%ymm2
+  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
+  .byte  196,226,125,24,29,243,115,2,0       // vbroadcastss  0x273f3(%rip),%ymm3        # 3c58c <_sk_srcover_bgra_8888_sse2_lowp+0x340>
+  .byte  197,236,89,211                      // vmulps        %ymm3,%ymm2,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,29,84,115,2,0        // vbroadcastss  0x27354(%rip),%ymm3        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  15,135,114,255,255,255              // ja            1512e <_sk_load_565_avx+0x1f>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,98,0,0,0                  // lea           0x62(%rip),%r9        # 15228 <_sk_load_565_avx+0x119>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  197,249,110,192                     // vmovd         %eax,%xmm0
+  .byte  233,81,255,255,255                  // jmpq          1512e <_sk_load_565_avx+0x1f>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  196,193,121,196,68,80,4,2           // vpinsrw       $0x2,0x4(%r8,%rdx,2),%xmm0,%xmm0
+  .byte  196,193,121,110,12,80               // vmovd         (%r8,%rdx,2),%xmm1
+  .byte  196,227,121,14,193,3                // vpblendw      $0x3,%xmm1,%xmm0,%xmm0
+  .byte  233,52,255,255,255                  // jmpq          1512e <_sk_load_565_avx+0x1f>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  196,193,121,196,68,80,12,6          // vpinsrw       $0x6,0xc(%r8,%rdx,2),%xmm0,%xmm0
+  .byte  196,193,121,196,68,80,10,5          // vpinsrw       $0x5,0xa(%r8,%rdx,2),%xmm0,%xmm0
+  .byte  196,193,121,196,68,80,8,4           // vpinsrw       $0x4,0x8(%r8,%rdx,2),%xmm0,%xmm0
+  .byte  196,193,122,126,12,80               // vmovq         (%r8,%rdx,2),%xmm1
+  .byte  196,227,113,14,192,240              // vpblendw      $0xf0,%xmm0,%xmm1,%xmm0
+  .byte  233,7,255,255,255                   // jmpq          1512e <_sk_load_565_avx+0x1f>
+  .byte  144                                 // nop
+  .byte  167                                 // cmpsl         %es:(%rdi),%ds:(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,193                             // inc           %ecx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,181,255,255,255,238             // pushq         -0x11000001(%rbp)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,230                             // jmpq          *%rsi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  222,255                             // fdivrp        %st,%st(7)
+  .byte  255                                 // (bad)
+  .byte  255,210                             // callq         *%rdx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_565_dst_avx
+.globl _sk_load_565_dst_avx
+FUNCTION(_sk_load_565_dst_avx)
+_sk_load_565_dst_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,130,0,0,0                    // jne           152df <_sk_load_565_dst_avx+0x9b>
+  .byte  196,193,122,111,36,80               // vmovdqu       (%r8,%rdx,2),%xmm4
+  .byte  196,226,121,51,236                  // vpmovzxwd     %xmm4,%xmm5
+  .byte  197,249,112,228,78                  // vpshufd       $0x4e,%xmm4,%xmm4
+  .byte  196,226,121,51,228                  // vpmovzxwd     %xmm4,%xmm4
+  .byte  196,227,85,24,244,1                 // vinsertf128   $0x1,%xmm4,%ymm5,%ymm6
+  .byte  196,226,125,24,37,247,114,2,0       // vbroadcastss  0x272f7(%rip),%ymm4        # 3c578 <_sk_srcover_bgra_8888_sse2_lowp+0x32c>
+  .byte  197,204,84,228                      // vandps        %ymm4,%ymm6,%ymm4
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  196,226,125,24,45,234,114,2,0       // vbroadcastss  0x272ea(%rip),%ymm5        # 3c57c <_sk_srcover_bgra_8888_sse2_lowp+0x330>
+  .byte  197,220,89,229                      // vmulps        %ymm5,%ymm4,%ymm4
+  .byte  196,226,125,24,45,225,114,2,0       // vbroadcastss  0x272e1(%rip),%ymm5        # 3c580 <_sk_srcover_bgra_8888_sse2_lowp+0x334>
+  .byte  197,204,84,237                      // vandps        %ymm5,%ymm6,%ymm5
+  .byte  197,252,91,237                      // vcvtdq2ps     %ymm5,%ymm5
+  .byte  196,226,125,24,61,212,114,2,0       // vbroadcastss  0x272d4(%rip),%ymm7        # 3c584 <_sk_srcover_bgra_8888_sse2_lowp+0x338>
+  .byte  197,212,89,239                      // vmulps        %ymm7,%ymm5,%ymm5
+  .byte  196,226,125,24,61,203,114,2,0       // vbroadcastss  0x272cb(%rip),%ymm7        # 3c588 <_sk_srcover_bgra_8888_sse2_lowp+0x33c>
+  .byte  197,204,84,247                      // vandps        %ymm7,%ymm6,%ymm6
+  .byte  197,252,91,246                      // vcvtdq2ps     %ymm6,%ymm6
+  .byte  196,226,125,24,61,190,114,2,0       // vbroadcastss  0x272be(%rip),%ymm7        # 3c58c <_sk_srcover_bgra_8888_sse2_lowp+0x340>
+  .byte  197,204,89,247                      // vmulps        %ymm7,%ymm6,%ymm6
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,61,31,114,2,0        // vbroadcastss  0x2721f(%rip),%ymm7        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  15,135,114,255,255,255              // ja            15263 <_sk_load_565_dst_avx+0x1f>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,97,0,0,0                  // lea           0x61(%rip),%r9        # 1535c <_sk_load_565_dst_avx+0x118>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  197,249,110,224                     // vmovd         %eax,%xmm4
+  .byte  233,81,255,255,255                  // jmpq          15263 <_sk_load_565_dst_avx+0x1f>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  196,193,89,196,100,80,4,2           // vpinsrw       $0x2,0x4(%r8,%rdx,2),%xmm4,%xmm4
+  .byte  196,193,121,110,44,80               // vmovd         (%r8,%rdx,2),%xmm5
+  .byte  196,227,89,14,229,3                 // vpblendw      $0x3,%xmm5,%xmm4,%xmm4
+  .byte  233,52,255,255,255                  // jmpq          15263 <_sk_load_565_dst_avx+0x1f>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  196,193,89,196,100,80,12,6          // vpinsrw       $0x6,0xc(%r8,%rdx,2),%xmm4,%xmm4
+  .byte  196,193,89,196,100,80,10,5          // vpinsrw       $0x5,0xa(%r8,%rdx,2),%xmm4,%xmm4
+  .byte  196,193,89,196,100,80,8,4           // vpinsrw       $0x4,0x8(%r8,%rdx,2),%xmm4,%xmm4
+  .byte  196,193,122,126,44,80               // vmovq         (%r8,%rdx,2),%xmm5
+  .byte  196,227,81,14,228,240               // vpblendw      $0xf0,%xmm4,%xmm5,%xmm4
+  .byte  233,7,255,255,255                   // jmpq          15263 <_sk_load_565_dst_avx+0x1f>
+  .byte  168,255                             // test          $0xff,%al
+  .byte  255                                 // (bad)
+  .byte  255,194                             // inc           %edx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,182,255,255,255,239             // pushq         -0x10000001(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,231                             // jmpq          *%rdi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  223,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,211                             // callq         *%rbx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_gather_565_avx
+.globl _sk_gather_565_avx
+FUNCTION(_sk_gather_565_avx)
+_sk_gather_565_avx:
+  .byte  85                                  // push          %rbp
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,80,12                // vbroadcastss  0xc(%rax),%ymm2
+  .byte  196,227,125,25,211,1                // vextractf128  $0x1,%ymm2,%xmm3
+  .byte  196,65,57,118,192                   // vpcmpeqd      %xmm8,%xmm8,%xmm8
+  .byte  196,193,97,254,216                  // vpaddd        %xmm8,%xmm3,%xmm3
+  .byte  196,193,105,254,208                 // vpaddd        %xmm8,%xmm2,%xmm2
+  .byte  196,227,109,24,211,1                // vinsertf128   $0x1,%xmm3,%ymm2,%ymm2
+  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
+  .byte  197,180,95,192                      // vmaxps        %ymm0,%ymm9,%ymm0
+  .byte  197,252,93,210                      // vminps        %ymm2,%ymm0,%ymm2
+  .byte  196,226,125,24,64,16                // vbroadcastss  0x10(%rax),%ymm0
+  .byte  196,227,125,25,195,1                // vextractf128  $0x1,%ymm0,%xmm3
+  .byte  196,193,97,254,216                  // vpaddd        %xmm8,%xmm3,%xmm3
+  .byte  196,193,121,254,192                 // vpaddd        %xmm8,%xmm0,%xmm0
+  .byte  196,227,125,24,195,1                // vinsertf128   $0x1,%xmm3,%ymm0,%ymm0
+  .byte  197,180,95,201                      // vmaxps        %ymm1,%ymm9,%ymm1
+  .byte  197,244,93,192                      // vminps        %ymm0,%ymm1,%ymm0
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  197,254,91,200                      // vcvttps2dq    %ymm0,%ymm1
+  .byte  197,249,110,64,8                    // vmovd         0x8(%rax),%xmm0
+  .byte  197,249,112,216,0                   // vpshufd       $0x0,%xmm0,%xmm3
+  .byte  196,226,97,64,193                   // vpmulld       %xmm1,%xmm3,%xmm0
+  .byte  196,227,125,25,201,1                // vextractf128  $0x1,%ymm1,%xmm1
+  .byte  196,226,97,64,201                   // vpmulld       %xmm1,%xmm3,%xmm1
+  .byte  197,254,91,210                      // vcvttps2dq    %ymm2,%ymm2
+  .byte  196,227,125,25,211,1                // vextractf128  $0x1,%ymm2,%xmm3
+  .byte  197,241,254,203                     // vpaddd        %xmm3,%xmm1,%xmm1
+  .byte  196,227,249,22,200,1                // vpextrq       $0x1,%xmm1,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  196,193,249,126,202                 // vmovq         %xmm1,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  197,249,254,194                     // vpaddd        %xmm2,%xmm0,%xmm0
+  .byte  196,227,249,22,195,1                // vpextrq       $0x1,%xmm0,%rbx
+  .byte  65,137,222                          // mov           %ebx,%r14d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  196,193,249,126,199                 // vmovq         %xmm0,%r15
+  .byte  69,137,252                          // mov           %r15d,%r12d
+  .byte  73,193,239,32                       // shr           $0x20,%r15
+  .byte  71,15,183,60,120                    // movzwl        (%r8,%r15,2),%r15d
+  .byte  67,15,183,44,96                     // movzwl        (%r8,%r12,2),%ebp
+  .byte  197,249,110,197                     // vmovd         %ebp,%xmm0
+  .byte  196,193,121,196,199,1               // vpinsrw       $0x1,%r15d,%xmm0,%xmm0
+  .byte  67,15,183,44,112                    // movzwl        (%r8,%r14,2),%ebp
+  .byte  197,249,196,197,2                   // vpinsrw       $0x2,%ebp,%xmm0,%xmm0
+  .byte  65,15,183,28,88                     // movzwl        (%r8,%rbx,2),%ebx
+  .byte  197,249,196,195,3                   // vpinsrw       $0x3,%ebx,%xmm0,%xmm0
+  .byte  67,15,183,44,88                     // movzwl        (%r8,%r11,2),%ebp
+  .byte  197,249,196,197,4                   // vpinsrw       $0x4,%ebp,%xmm0,%xmm0
+  .byte  67,15,183,44,80                     // movzwl        (%r8,%r10,2),%ebp
+  .byte  197,249,196,197,5                   // vpinsrw       $0x5,%ebp,%xmm0,%xmm0
+  .byte  67,15,183,44,72                     // movzwl        (%r8,%r9,2),%ebp
+  .byte  197,249,196,197,6                   // vpinsrw       $0x6,%ebp,%xmm0,%xmm0
+  .byte  65,15,183,4,64                      // movzwl        (%r8,%rax,2),%eax
+  .byte  197,249,196,192,7                   // vpinsrw       $0x7,%eax,%xmm0,%xmm0
+  .byte  196,226,121,51,200                  // vpmovzxwd     %xmm0,%xmm1
+  .byte  197,249,112,192,78                  // vpshufd       $0x4e,%xmm0,%xmm0
+  .byte  196,226,121,51,192                  // vpmovzxwd     %xmm0,%xmm0
+  .byte  196,227,117,24,208,1                // vinsertf128   $0x1,%xmm0,%ymm1,%ymm2
+  .byte  196,226,125,24,5,209,112,2,0        // vbroadcastss  0x270d1(%rip),%ymm0        # 3c578 <_sk_srcover_bgra_8888_sse2_lowp+0x32c>
+  .byte  197,236,84,192                      // vandps        %ymm0,%ymm2,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,226,125,24,13,196,112,2,0       // vbroadcastss  0x270c4(%rip),%ymm1        # 3c57c <_sk_srcover_bgra_8888_sse2_lowp+0x330>
+  .byte  197,252,89,193                      // vmulps        %ymm1,%ymm0,%ymm0
+  .byte  196,226,125,24,13,187,112,2,0       // vbroadcastss  0x270bb(%rip),%ymm1        # 3c580 <_sk_srcover_bgra_8888_sse2_lowp+0x334>
+  .byte  197,236,84,201                      // vandps        %ymm1,%ymm2,%ymm1
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  196,226,125,24,29,174,112,2,0       // vbroadcastss  0x270ae(%rip),%ymm3        # 3c584 <_sk_srcover_bgra_8888_sse2_lowp+0x338>
+  .byte  197,244,89,203                      // vmulps        %ymm3,%ymm1,%ymm1
+  .byte  196,226,125,24,29,165,112,2,0       // vbroadcastss  0x270a5(%rip),%ymm3        # 3c588 <_sk_srcover_bgra_8888_sse2_lowp+0x33c>
+  .byte  197,236,84,211                      // vandps        %ymm3,%ymm2,%ymm2
+  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
+  .byte  196,226,125,24,29,152,112,2,0       // vbroadcastss  0x27098(%rip),%ymm3        # 3c58c <_sk_srcover_bgra_8888_sse2_lowp+0x340>
+  .byte  197,236,89,211                      // vmulps        %ymm3,%ymm2,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,29,249,111,2,0       // vbroadcastss  0x26ff9(%rip),%ymm3        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  93                                  // pop           %rbp
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_store_565_avx
+.globl _sk_store_565_avx
+FUNCTION(_sk_store_565_avx)
+_sk_store_565_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,60,95,200                       // vmaxps        %ymm0,%ymm8,%ymm9
+  .byte  196,98,125,24,21,205,111,2,0        // vbroadcastss  0x26fcd(%rip),%ymm10        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,65,52,93,202                    // vminps        %ymm10,%ymm9,%ymm9
+  .byte  196,98,125,24,29,175,112,2,0        // vbroadcastss  0x270af(%rip),%ymm11        # 3c5ec <_sk_srcover_bgra_8888_sse2_lowp+0x3a0>
+  .byte  196,65,52,89,203                    // vmulps        %ymm11,%ymm9,%ymm9
+  .byte  196,65,125,91,201                   // vcvtps2dq     %ymm9,%ymm9
+  .byte  196,193,25,114,241,11               // vpslld        $0xb,%xmm9,%xmm12
+  .byte  196,67,125,25,201,1                 // vextractf128  $0x1,%ymm9,%xmm9
+  .byte  196,193,49,114,241,11               // vpslld        $0xb,%xmm9,%xmm9
+  .byte  196,67,29,24,201,1                  // vinsertf128   $0x1,%xmm9,%ymm12,%ymm9
+  .byte  197,60,95,225                       // vmaxps        %ymm1,%ymm8,%ymm12
+  .byte  196,65,28,93,226                    // vminps        %ymm10,%ymm12,%ymm12
+  .byte  196,98,125,24,45,127,112,2,0        // vbroadcastss  0x2707f(%rip),%ymm13        # 3c5f0 <_sk_srcover_bgra_8888_sse2_lowp+0x3a4>
+  .byte  196,65,28,89,229                    // vmulps        %ymm13,%ymm12,%ymm12
+  .byte  196,65,125,91,228                   // vcvtps2dq     %ymm12,%ymm12
+  .byte  196,193,17,114,244,5                // vpslld        $0x5,%xmm12,%xmm13
+  .byte  196,67,125,25,228,1                 // vextractf128  $0x1,%ymm12,%xmm12
+  .byte  196,193,25,114,244,5                // vpslld        $0x5,%xmm12,%xmm12
+  .byte  196,67,21,24,228,1                  // vinsertf128   $0x1,%xmm12,%ymm13,%ymm12
+  .byte  196,65,29,86,201                    // vorpd         %ymm9,%ymm12,%ymm9
+  .byte  197,60,95,194                       // vmaxps        %ymm2,%ymm8,%ymm8
+  .byte  196,65,60,93,194                    // vminps        %ymm10,%ymm8,%ymm8
+  .byte  196,65,60,89,195                    // vmulps        %ymm11,%ymm8,%ymm8
+  .byte  196,65,125,91,192                   // vcvtps2dq     %ymm8,%ymm8
+  .byte  196,65,53,86,192                    // vorpd         %ymm8,%ymm9,%ymm8
+  .byte  196,67,125,25,193,1                 // vextractf128  $0x1,%ymm8,%xmm9
+  .byte  196,66,57,43,193                    // vpackusdw     %xmm9,%xmm8,%xmm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,10                              // jne           155ca <_sk_store_565_avx+0xbd>
+  .byte  196,65,122,127,4,80                 // vmovdqu       %xmm8,(%r8,%rdx,2)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,242                             // ja            155c6 <_sk_store_565_avx+0xb9>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,66,0,0,0                  // lea           0x42(%rip),%r9        # 15620 <_sk_store_565_avx+0x113>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,67,121,21,4,80,0                // vpextrw       $0x0,%xmm8,(%r8,%rdx,2)
+  .byte  235,214                             // jmp           155c6 <_sk_store_565_avx+0xb9>
+  .byte  196,67,121,21,68,80,4,2             // vpextrw       $0x2,%xmm8,0x4(%r8,%rdx,2)
+  .byte  196,65,121,126,4,80                 // vmovd         %xmm8,(%r8,%rdx,2)
+  .byte  235,198                             // jmp           155c6 <_sk_store_565_avx+0xb9>
+  .byte  196,67,121,21,68,80,12,6            // vpextrw       $0x6,%xmm8,0xc(%r8,%rdx,2)
+  .byte  196,67,121,21,68,80,10,5            // vpextrw       $0x5,%xmm8,0xa(%r8,%rdx,2)
+  .byte  196,67,121,21,68,80,8,4             // vpextrw       $0x4,%xmm8,0x8(%r8,%rdx,2)
+  .byte  196,65,121,214,4,80                 // vmovq         %xmm8,(%r8,%rdx,2)
+  .byte  235,166                             // jmp           155c6 <_sk_store_565_avx+0xb9>
+  .byte  199                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  216,255                             // fdivr         %st(7),%st
+  .byte  255                                 // (bad)
+  .byte  255,208                             // callq         *%rax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  248                                 // clc
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,240                             // push          %rax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  232,255,255,255,224                 // callq         ffffffffe1015638 <_sk_srcover_bgra_8888_sse2_lowp+0xffffffffe0fd93ec>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_4444_avx
+.globl _sk_load_4444_avx
+FUNCTION(_sk_load_4444_avx)
+_sk_load_4444_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,154,0,0,0                    // jne           156ef <_sk_load_4444_avx+0xb3>
+  .byte  196,193,122,111,4,80                // vmovdqu       (%r8,%rdx,2),%xmm0
+  .byte  196,226,121,51,200                  // vpmovzxwd     %xmm0,%xmm1
+  .byte  197,249,112,192,78                  // vpshufd       $0x4e,%xmm0,%xmm0
+  .byte  196,226,121,51,192                  // vpmovzxwd     %xmm0,%xmm0
+  .byte  196,227,117,24,216,1                // vinsertf128   $0x1,%xmm0,%ymm1,%ymm3
+  .byte  196,226,125,24,5,123,111,2,0        // vbroadcastss  0x26f7b(%rip),%ymm0        # 3c5f4 <_sk_srcover_bgra_8888_sse2_lowp+0x3a8>
+  .byte  197,228,84,192                      // vandps        %ymm0,%ymm3,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,226,125,24,13,110,111,2,0       // vbroadcastss  0x26f6e(%rip),%ymm1        # 3c5f8 <_sk_srcover_bgra_8888_sse2_lowp+0x3ac>
+  .byte  197,252,89,193                      // vmulps        %ymm1,%ymm0,%ymm0
+  .byte  196,226,125,24,13,101,111,2,0       // vbroadcastss  0x26f65(%rip),%ymm1        # 3c5fc <_sk_srcover_bgra_8888_sse2_lowp+0x3b0>
+  .byte  197,228,84,201                      // vandps        %ymm1,%ymm3,%ymm1
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  196,226,125,24,21,88,111,2,0        // vbroadcastss  0x26f58(%rip),%ymm2        # 3c600 <_sk_srcover_bgra_8888_sse2_lowp+0x3b4>
+  .byte  197,244,89,202                      // vmulps        %ymm2,%ymm1,%ymm1
+  .byte  196,226,125,24,21,79,111,2,0        // vbroadcastss  0x26f4f(%rip),%ymm2        # 3c604 <_sk_srcover_bgra_8888_sse2_lowp+0x3b8>
+  .byte  197,228,84,210                      // vandps        %ymm2,%ymm3,%ymm2
+  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
+  .byte  196,98,125,24,5,66,111,2,0          // vbroadcastss  0x26f42(%rip),%ymm8        # 3c608 <_sk_srcover_bgra_8888_sse2_lowp+0x3bc>
+  .byte  196,193,108,89,208                  // vmulps        %ymm8,%ymm2,%ymm2
+  .byte  196,98,125,24,5,56,111,2,0          // vbroadcastss  0x26f38(%rip),%ymm8        # 3c60c <_sk_srcover_bgra_8888_sse2_lowp+0x3c0>
+  .byte  196,193,100,84,216                  // vandps        %ymm8,%ymm3,%ymm3
+  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
+  .byte  196,98,125,24,5,42,111,2,0          // vbroadcastss  0x26f2a(%rip),%ymm8        # 3c610 <_sk_srcover_bgra_8888_sse2_lowp+0x3c4>
+  .byte  196,193,100,89,216                  // vmulps        %ymm8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  15,135,90,255,255,255               // ja            1565b <_sk_load_4444_avx+0x1f>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,97,0,0,0                  // lea           0x61(%rip),%r9        # 1576c <_sk_load_4444_avx+0x130>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  197,249,110,192                     // vmovd         %eax,%xmm0
+  .byte  233,57,255,255,255                  // jmpq          1565b <_sk_load_4444_avx+0x1f>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  196,193,121,196,68,80,4,2           // vpinsrw       $0x2,0x4(%r8,%rdx,2),%xmm0,%xmm0
+  .byte  196,193,121,110,12,80               // vmovd         (%r8,%rdx,2),%xmm1
+  .byte  196,227,121,14,193,3                // vpblendw      $0x3,%xmm1,%xmm0,%xmm0
+  .byte  233,28,255,255,255                  // jmpq          1565b <_sk_load_4444_avx+0x1f>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  196,193,121,196,68,80,12,6          // vpinsrw       $0x6,0xc(%r8,%rdx,2),%xmm0,%xmm0
+  .byte  196,193,121,196,68,80,10,5          // vpinsrw       $0x5,0xa(%r8,%rdx,2),%xmm0,%xmm0
+  .byte  196,193,121,196,68,80,8,4           // vpinsrw       $0x4,0x8(%r8,%rdx,2),%xmm0,%xmm0
+  .byte  196,193,122,126,12,80               // vmovq         (%r8,%rdx,2),%xmm1
+  .byte  196,227,113,14,192,240              // vpblendw      $0xf0,%xmm0,%xmm1,%xmm0
+  .byte  233,239,254,255,255                 // jmpq          1565b <_sk_load_4444_avx+0x1f>
+  .byte  168,255                             // test          $0xff,%al
+  .byte  255                                 // (bad)
+  .byte  255,194                             // inc           %edx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,182,255,255,255,239             // pushq         -0x10000001(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,231                             // jmpq          *%rdi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  223,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,211                             // callq         *%rbx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_4444_dst_avx
+.globl _sk_load_4444_dst_avx
+FUNCTION(_sk_load_4444_dst_avx)
+_sk_load_4444_dst_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,154,0,0,0                    // jne           1583b <_sk_load_4444_dst_avx+0xb3>
+  .byte  196,193,122,111,36,80               // vmovdqu       (%r8,%rdx,2),%xmm4
+  .byte  196,226,121,51,236                  // vpmovzxwd     %xmm4,%xmm5
+  .byte  197,249,112,228,78                  // vpshufd       $0x4e,%xmm4,%xmm4
+  .byte  196,226,121,51,228                  // vpmovzxwd     %xmm4,%xmm4
+  .byte  196,227,85,24,252,1                 // vinsertf128   $0x1,%xmm4,%ymm5,%ymm7
+  .byte  196,226,125,24,37,47,110,2,0        // vbroadcastss  0x26e2f(%rip),%ymm4        # 3c5f4 <_sk_srcover_bgra_8888_sse2_lowp+0x3a8>
+  .byte  197,196,84,228                      // vandps        %ymm4,%ymm7,%ymm4
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  196,226,125,24,45,34,110,2,0        // vbroadcastss  0x26e22(%rip),%ymm5        # 3c5f8 <_sk_srcover_bgra_8888_sse2_lowp+0x3ac>
+  .byte  197,220,89,229                      // vmulps        %ymm5,%ymm4,%ymm4
+  .byte  196,226,125,24,45,25,110,2,0        // vbroadcastss  0x26e19(%rip),%ymm5        # 3c5fc <_sk_srcover_bgra_8888_sse2_lowp+0x3b0>
+  .byte  197,196,84,237                      // vandps        %ymm5,%ymm7,%ymm5
+  .byte  197,252,91,237                      // vcvtdq2ps     %ymm5,%ymm5
+  .byte  196,226,125,24,53,12,110,2,0        // vbroadcastss  0x26e0c(%rip),%ymm6        # 3c600 <_sk_srcover_bgra_8888_sse2_lowp+0x3b4>
+  .byte  197,212,89,238                      // vmulps        %ymm6,%ymm5,%ymm5
+  .byte  196,226,125,24,53,3,110,2,0         // vbroadcastss  0x26e03(%rip),%ymm6        # 3c604 <_sk_srcover_bgra_8888_sse2_lowp+0x3b8>
+  .byte  197,196,84,246                      // vandps        %ymm6,%ymm7,%ymm6
+  .byte  197,252,91,246                      // vcvtdq2ps     %ymm6,%ymm6
+  .byte  196,98,125,24,5,246,109,2,0         // vbroadcastss  0x26df6(%rip),%ymm8        # 3c608 <_sk_srcover_bgra_8888_sse2_lowp+0x3bc>
+  .byte  196,193,76,89,240                   // vmulps        %ymm8,%ymm6,%ymm6
+  .byte  196,98,125,24,5,236,109,2,0         // vbroadcastss  0x26dec(%rip),%ymm8        # 3c60c <_sk_srcover_bgra_8888_sse2_lowp+0x3c0>
+  .byte  196,193,68,84,248                   // vandps        %ymm8,%ymm7,%ymm7
+  .byte  197,252,91,255                      // vcvtdq2ps     %ymm7,%ymm7
+  .byte  196,98,125,24,5,222,109,2,0         // vbroadcastss  0x26dde(%rip),%ymm8        # 3c610 <_sk_srcover_bgra_8888_sse2_lowp+0x3c4>
+  .byte  196,193,68,89,248                   // vmulps        %ymm8,%ymm7,%ymm7
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  15,135,90,255,255,255               // ja            157a7 <_sk_load_4444_dst_avx+0x1f>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,97,0,0,0                  // lea           0x61(%rip),%r9        # 158b8 <_sk_load_4444_dst_avx+0x130>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  197,249,110,224                     // vmovd         %eax,%xmm4
+  .byte  233,57,255,255,255                  // jmpq          157a7 <_sk_load_4444_dst_avx+0x1f>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  196,193,89,196,100,80,4,2           // vpinsrw       $0x2,0x4(%r8,%rdx,2),%xmm4,%xmm4
+  .byte  196,193,121,110,44,80               // vmovd         (%r8,%rdx,2),%xmm5
+  .byte  196,227,89,14,229,3                 // vpblendw      $0x3,%xmm5,%xmm4,%xmm4
+  .byte  233,28,255,255,255                  // jmpq          157a7 <_sk_load_4444_dst_avx+0x1f>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  196,193,89,196,100,80,12,6          // vpinsrw       $0x6,0xc(%r8,%rdx,2),%xmm4,%xmm4
+  .byte  196,193,89,196,100,80,10,5          // vpinsrw       $0x5,0xa(%r8,%rdx,2),%xmm4,%xmm4
+  .byte  196,193,89,196,100,80,8,4           // vpinsrw       $0x4,0x8(%r8,%rdx,2),%xmm4,%xmm4
+  .byte  196,193,122,126,44,80               // vmovq         (%r8,%rdx,2),%xmm5
+  .byte  196,227,81,14,228,240               // vpblendw      $0xf0,%xmm4,%xmm5,%xmm4
+  .byte  233,239,254,255,255                 // jmpq          157a7 <_sk_load_4444_dst_avx+0x1f>
+  .byte  168,255                             // test          $0xff,%al
+  .byte  255                                 // (bad)
+  .byte  255,194                             // inc           %edx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,182,255,255,255,239             // pushq         -0x10000001(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,231                             // jmpq          *%rdi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  223,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,211                             // callq         *%rbx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_gather_4444_avx
+.globl _sk_gather_4444_avx
+FUNCTION(_sk_gather_4444_avx)
+_sk_gather_4444_avx:
+  .byte  85                                  // push          %rbp
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,80,12                // vbroadcastss  0xc(%rax),%ymm2
+  .byte  196,227,125,25,211,1                // vextractf128  $0x1,%ymm2,%xmm3
+  .byte  196,65,57,118,192                   // vpcmpeqd      %xmm8,%xmm8,%xmm8
+  .byte  196,193,97,254,216                  // vpaddd        %xmm8,%xmm3,%xmm3
+  .byte  196,193,105,254,208                 // vpaddd        %xmm8,%xmm2,%xmm2
+  .byte  196,227,109,24,211,1                // vinsertf128   $0x1,%xmm3,%ymm2,%ymm2
+  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
+  .byte  197,180,95,192                      // vmaxps        %ymm0,%ymm9,%ymm0
+  .byte  197,252,93,210                      // vminps        %ymm2,%ymm0,%ymm2
+  .byte  196,226,125,24,64,16                // vbroadcastss  0x10(%rax),%ymm0
+  .byte  196,227,125,25,195,1                // vextractf128  $0x1,%ymm0,%xmm3
+  .byte  196,193,97,254,216                  // vpaddd        %xmm8,%xmm3,%xmm3
+  .byte  196,193,121,254,192                 // vpaddd        %xmm8,%xmm0,%xmm0
+  .byte  196,227,125,24,195,1                // vinsertf128   $0x1,%xmm3,%ymm0,%ymm0
+  .byte  197,180,95,201                      // vmaxps        %ymm1,%ymm9,%ymm1
+  .byte  197,244,93,192                      // vminps        %ymm0,%ymm1,%ymm0
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  197,254,91,200                      // vcvttps2dq    %ymm0,%ymm1
+  .byte  197,249,110,64,8                    // vmovd         0x8(%rax),%xmm0
+  .byte  197,249,112,216,0                   // vpshufd       $0x0,%xmm0,%xmm3
+  .byte  196,226,97,64,193                   // vpmulld       %xmm1,%xmm3,%xmm0
+  .byte  196,227,125,25,201,1                // vextractf128  $0x1,%ymm1,%xmm1
+  .byte  196,226,97,64,201                   // vpmulld       %xmm1,%xmm3,%xmm1
+  .byte  197,254,91,210                      // vcvttps2dq    %ymm2,%ymm2
+  .byte  196,227,125,25,211,1                // vextractf128  $0x1,%ymm2,%xmm3
+  .byte  197,241,254,203                     // vpaddd        %xmm3,%xmm1,%xmm1
+  .byte  196,227,249,22,200,1                // vpextrq       $0x1,%xmm1,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  196,193,249,126,202                 // vmovq         %xmm1,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  197,249,254,194                     // vpaddd        %xmm2,%xmm0,%xmm0
+  .byte  196,227,249,22,195,1                // vpextrq       $0x1,%xmm0,%rbx
+  .byte  65,137,222                          // mov           %ebx,%r14d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  196,193,249,126,199                 // vmovq         %xmm0,%r15
+  .byte  69,137,252                          // mov           %r15d,%r12d
+  .byte  73,193,239,32                       // shr           $0x20,%r15
+  .byte  71,15,183,60,120                    // movzwl        (%r8,%r15,2),%r15d
+  .byte  67,15,183,44,96                     // movzwl        (%r8,%r12,2),%ebp
+  .byte  197,249,110,197                     // vmovd         %ebp,%xmm0
+  .byte  196,193,121,196,199,1               // vpinsrw       $0x1,%r15d,%xmm0,%xmm0
+  .byte  67,15,183,44,112                    // movzwl        (%r8,%r14,2),%ebp
+  .byte  197,249,196,197,2                   // vpinsrw       $0x2,%ebp,%xmm0,%xmm0
+  .byte  65,15,183,28,88                     // movzwl        (%r8,%rbx,2),%ebx
+  .byte  197,249,196,195,3                   // vpinsrw       $0x3,%ebx,%xmm0,%xmm0
+  .byte  67,15,183,44,88                     // movzwl        (%r8,%r11,2),%ebp
+  .byte  197,249,196,197,4                   // vpinsrw       $0x4,%ebp,%xmm0,%xmm0
+  .byte  67,15,183,44,80                     // movzwl        (%r8,%r10,2),%ebp
+  .byte  197,249,196,197,5                   // vpinsrw       $0x5,%ebp,%xmm0,%xmm0
+  .byte  67,15,183,44,72                     // movzwl        (%r8,%r9,2),%ebp
+  .byte  197,249,196,197,6                   // vpinsrw       $0x6,%ebp,%xmm0,%xmm0
+  .byte  65,15,183,4,64                      // movzwl        (%r8,%rax,2),%eax
+  .byte  197,249,196,192,7                   // vpinsrw       $0x7,%eax,%xmm0,%xmm0
+  .byte  196,226,121,51,200                  // vpmovzxwd     %xmm0,%xmm1
+  .byte  197,249,112,192,78                  // vpshufd       $0x4e,%xmm0,%xmm0
+  .byte  196,226,121,51,192                  // vpmovzxwd     %xmm0,%xmm0
+  .byte  196,227,117,24,216,1                // vinsertf128   $0x1,%xmm0,%ymm1,%ymm3
+  .byte  196,226,125,24,5,241,107,2,0        // vbroadcastss  0x26bf1(%rip),%ymm0        # 3c5f4 <_sk_srcover_bgra_8888_sse2_lowp+0x3a8>
+  .byte  197,228,84,192                      // vandps        %ymm0,%ymm3,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,226,125,24,13,228,107,2,0       // vbroadcastss  0x26be4(%rip),%ymm1        # 3c5f8 <_sk_srcover_bgra_8888_sse2_lowp+0x3ac>
+  .byte  197,252,89,193                      // vmulps        %ymm1,%ymm0,%ymm0
+  .byte  196,226,125,24,13,219,107,2,0       // vbroadcastss  0x26bdb(%rip),%ymm1        # 3c5fc <_sk_srcover_bgra_8888_sse2_lowp+0x3b0>
+  .byte  197,228,84,201                      // vandps        %ymm1,%ymm3,%ymm1
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  196,226,125,24,21,206,107,2,0       // vbroadcastss  0x26bce(%rip),%ymm2        # 3c600 <_sk_srcover_bgra_8888_sse2_lowp+0x3b4>
+  .byte  197,244,89,202                      // vmulps        %ymm2,%ymm1,%ymm1
+  .byte  196,226,125,24,21,197,107,2,0       // vbroadcastss  0x26bc5(%rip),%ymm2        # 3c604 <_sk_srcover_bgra_8888_sse2_lowp+0x3b8>
+  .byte  197,228,84,210                      // vandps        %ymm2,%ymm3,%ymm2
+  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
+  .byte  196,98,125,24,5,184,107,2,0         // vbroadcastss  0x26bb8(%rip),%ymm8        # 3c608 <_sk_srcover_bgra_8888_sse2_lowp+0x3bc>
+  .byte  196,193,108,89,208                  // vmulps        %ymm8,%ymm2,%ymm2
+  .byte  196,98,125,24,5,174,107,2,0         // vbroadcastss  0x26bae(%rip),%ymm8        # 3c60c <_sk_srcover_bgra_8888_sse2_lowp+0x3c0>
+  .byte  196,193,100,84,216                  // vandps        %ymm8,%ymm3,%ymm3
+  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
+  .byte  196,98,125,24,5,160,107,2,0         // vbroadcastss  0x26ba0(%rip),%ymm8        # 3c610 <_sk_srcover_bgra_8888_sse2_lowp+0x3c4>
+  .byte  196,193,100,89,216                  // vmulps        %ymm8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  93                                  // pop           %rbp
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_store_4444_avx
+.globl _sk_store_4444_avx
+FUNCTION(_sk_store_4444_avx)
+_sk_store_4444_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,60,95,208                       // vmaxps        %ymm0,%ymm8,%ymm10
+  .byte  196,98,125,24,13,89,106,2,0         // vbroadcastss  0x26a59(%rip),%ymm9        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,65,44,93,209                    // vminps        %ymm9,%ymm10,%ymm10
+  .byte  196,98,125,24,29,99,107,2,0         // vbroadcastss  0x26b63(%rip),%ymm11        # 3c614 <_sk_srcover_bgra_8888_sse2_lowp+0x3c8>
+  .byte  196,65,44,89,211                    // vmulps        %ymm11,%ymm10,%ymm10
+  .byte  196,65,125,91,210                   // vcvtps2dq     %ymm10,%ymm10
+  .byte  196,193,25,114,242,12               // vpslld        $0xc,%xmm10,%xmm12
+  .byte  196,67,125,25,210,1                 // vextractf128  $0x1,%ymm10,%xmm10
+  .byte  196,193,41,114,242,12               // vpslld        $0xc,%xmm10,%xmm10
+  .byte  196,67,29,24,210,1                  // vinsertf128   $0x1,%xmm10,%ymm12,%ymm10
+  .byte  197,60,95,225                       // vmaxps        %ymm1,%ymm8,%ymm12
+  .byte  196,65,28,93,225                    // vminps        %ymm9,%ymm12,%ymm12
+  .byte  196,65,28,89,227                    // vmulps        %ymm11,%ymm12,%ymm12
+  .byte  196,65,125,91,228                   // vcvtps2dq     %ymm12,%ymm12
+  .byte  196,193,17,114,244,8                // vpslld        $0x8,%xmm12,%xmm13
+  .byte  196,67,125,25,228,1                 // vextractf128  $0x1,%ymm12,%xmm12
+  .byte  196,193,25,114,244,8                // vpslld        $0x8,%xmm12,%xmm12
+  .byte  196,67,21,24,228,1                  // vinsertf128   $0x1,%xmm12,%ymm13,%ymm12
+  .byte  196,65,29,86,210                    // vorpd         %ymm10,%ymm12,%ymm10
+  .byte  197,60,95,226                       // vmaxps        %ymm2,%ymm8,%ymm12
+  .byte  196,65,28,93,225                    // vminps        %ymm9,%ymm12,%ymm12
+  .byte  196,65,28,89,227                    // vmulps        %ymm11,%ymm12,%ymm12
+  .byte  196,65,125,91,228                   // vcvtps2dq     %ymm12,%ymm12
+  .byte  196,193,17,114,244,4                // vpslld        $0x4,%xmm12,%xmm13
+  .byte  196,67,125,25,228,1                 // vextractf128  $0x1,%ymm12,%xmm12
+  .byte  196,193,25,114,244,4                // vpslld        $0x4,%xmm12,%xmm12
+  .byte  196,67,21,24,228,1                  // vinsertf128   $0x1,%xmm12,%ymm13,%ymm12
+  .byte  197,60,95,195                       // vmaxps        %ymm3,%ymm8,%ymm8
+  .byte  196,65,60,93,193                    // vminps        %ymm9,%ymm8,%ymm8
+  .byte  196,65,60,89,195                    // vmulps        %ymm11,%ymm8,%ymm8
+  .byte  196,65,125,91,192                   // vcvtps2dq     %ymm8,%ymm8
+  .byte  196,65,29,86,192                    // vorpd         %ymm8,%ymm12,%ymm8
+  .byte  196,65,45,86,192                    // vorpd         %ymm8,%ymm10,%ymm8
+  .byte  196,67,125,25,193,1                 // vextractf128  $0x1,%ymm8,%xmm9
+  .byte  196,66,57,43,193                    // vpackusdw     %xmm9,%xmm8,%xmm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,10                              // jne           15b65 <_sk_store_4444_avx+0xe4>
+  .byte  196,65,122,127,4,80                 // vmovdqu       %xmm8,(%r8,%rdx,2)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,242                             // ja            15b61 <_sk_store_4444_avx+0xe0>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,67,0,0,0                  // lea           0x43(%rip),%r9        # 15bbc <_sk_store_4444_avx+0x13b>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,67,121,21,4,80,0                // vpextrw       $0x0,%xmm8,(%r8,%rdx,2)
+  .byte  235,214                             // jmp           15b61 <_sk_store_4444_avx+0xe0>
+  .byte  196,67,121,21,68,80,4,2             // vpextrw       $0x2,%xmm8,0x4(%r8,%rdx,2)
+  .byte  196,65,121,126,4,80                 // vmovd         %xmm8,(%r8,%rdx,2)
+  .byte  235,198                             // jmp           15b61 <_sk_store_4444_avx+0xe0>
+  .byte  196,67,121,21,68,80,12,6            // vpextrw       $0x6,%xmm8,0xc(%r8,%rdx,2)
+  .byte  196,67,121,21,68,80,10,5            // vpextrw       $0x5,%xmm8,0xa(%r8,%rdx,2)
+  .byte  196,67,121,21,68,80,8,4             // vpextrw       $0x4,%xmm8,0x8(%r8,%rdx,2)
+  .byte  196,65,121,214,4,80                 // vmovq         %xmm8,(%r8,%rdx,2)
+  .byte  235,166                             // jmp           15b61 <_sk_store_4444_avx+0xe0>
+  .byte  144                                 // nop
+  .byte  198                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,215                             // callq         *%rdi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,207                             // dec           %edi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,247                             // push          %rdi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  239                                 // out           %eax,(%dx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,231                             // jmpq          *%rdi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  223,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_8888_avx
+.globl _sk_load_8888_avx
+FUNCTION(_sk_load_8888_avx)
+_sk_load_8888_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,135,0,0,0                    // jne           15c79 <_sk_load_8888_avx+0xa1>
+  .byte  196,65,125,16,12,144                // vmovupd       (%r8,%rdx,4),%ymm9
+  .byte  197,125,40,21,64,111,2,0            // vmovapd       0x26f40(%rip),%ymm10        # 3cb40 <_sk_srcover_bgra_8888_sse2_lowp+0x8f4>
+  .byte  196,193,53,84,194                   // vandpd        %ymm10,%ymm9,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,98,125,24,5,98,105,2,0          // vbroadcastss  0x26962(%rip),%ymm8        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
+  .byte  196,193,113,114,209,8               // vpsrld        $0x8,%xmm9,%xmm1
+  .byte  196,99,125,25,203,1                 // vextractf128  $0x1,%ymm9,%xmm3
+  .byte  197,233,114,211,8                   // vpsrld        $0x8,%xmm3,%xmm2
+  .byte  196,227,117,24,202,1                // vinsertf128   $0x1,%xmm2,%ymm1,%ymm1
+  .byte  196,193,117,84,202                  // vandpd        %ymm10,%ymm1,%ymm1
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  196,193,116,89,200                  // vmulps        %ymm8,%ymm1,%ymm1
+  .byte  196,193,33,114,209,16               // vpsrld        $0x10,%xmm9,%xmm11
+  .byte  197,233,114,211,16                  // vpsrld        $0x10,%xmm3,%xmm2
+  .byte  196,227,37,24,210,1                 // vinsertf128   $0x1,%xmm2,%ymm11,%ymm2
+  .byte  196,193,109,84,210                  // vandpd        %ymm10,%ymm2,%ymm2
+  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
+  .byte  196,193,108,89,208                  // vmulps        %ymm8,%ymm2,%ymm2
+  .byte  196,193,49,114,209,24               // vpsrld        $0x18,%xmm9,%xmm9
+  .byte  197,225,114,211,24                  // vpsrld        $0x18,%xmm3,%xmm3
+  .byte  196,227,53,24,219,1                 // vinsertf128   $0x1,%xmm3,%ymm9,%ymm3
+  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
+  .byte  196,193,100,89,216                  // vmulps        %ymm8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  15,135,108,255,255,255              // ja            15bf8 <_sk_load_8888_avx+0x20>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,146,0,0,0                 // lea           0x92(%rip),%r9        # 15d28 <_sk_load_8888_avx+0x150>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,65,122,16,12,144                // vmovss        (%r8,%rdx,4),%xmm9
+  .byte  233,78,255,255,255                  // jmpq          15bf8 <_sk_load_8888_avx+0x20>
+  .byte  196,193,121,110,68,144,8            // vmovd         0x8(%r8,%rdx,4),%xmm0
+  .byte  197,249,112,192,68                  // vpshufd       $0x44,%xmm0,%xmm0
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  196,99,117,12,200,4                 // vblendps      $0x4,%ymm0,%ymm1,%ymm9
+  .byte  196,193,123,16,4,144                // vmovsd        (%r8,%rdx,4),%xmm0
+  .byte  196,99,53,13,200,1                  // vblendpd      $0x1,%ymm0,%ymm9,%ymm9
+  .byte  233,39,255,255,255                  // jmpq          15bf8 <_sk_load_8888_avx+0x20>
+  .byte  196,193,121,110,68,144,24           // vmovd         0x18(%r8,%rdx,4),%xmm0
+  .byte  197,249,112,192,68                  // vpshufd       $0x44,%xmm0,%xmm0
+  .byte  196,227,125,24,192,1                // vinsertf128   $0x1,%xmm0,%ymm0,%ymm0
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  196,99,117,12,200,64                // vblendps      $0x40,%ymm0,%ymm1,%ymm9
+  .byte  196,99,125,25,200,1                 // vextractf128  $0x1,%ymm9,%xmm0
+  .byte  196,195,121,34,68,144,20,1          // vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm0,%xmm0
+  .byte  196,99,53,24,200,1                  // vinsertf128   $0x1,%xmm0,%ymm9,%ymm9
+  .byte  196,99,125,25,200,1                 // vextractf128  $0x1,%ymm9,%xmm0
+  .byte  196,195,121,34,68,144,16,0          // vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm0,%xmm0
+  .byte  196,99,53,24,200,1                  // vinsertf128   $0x1,%xmm0,%ymm9,%ymm9
+  .byte  196,193,121,16,4,144                // vmovupd       (%r8,%rdx,4),%xmm0
+  .byte  196,67,125,13,201,12                // vblendpd      $0xc,%ymm9,%ymm0,%ymm9
+  .byte  233,210,254,255,255                 // jmpq          15bf8 <_sk_load_8888_avx+0x20>
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  119,255                             // ja            15d29 <_sk_load_8888_avx+0x151>
+  .byte  255                                 // (bad)
+  .byte  255,152,255,255,255,130             // lcall         *-0x7d000001(%rax)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  237                                 // in            (%dx),%eax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  217,255                             // fcos
+  .byte  255                                 // (bad)
+  .byte  255,197                             // inc           %ebp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+  .byte  169                                 // .byte         0xa9
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_8888_dst_avx
+.globl _sk_load_8888_dst_avx
+FUNCTION(_sk_load_8888_dst_avx)
+_sk_load_8888_dst_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,135,0,0,0                    // jne           15de5 <_sk_load_8888_dst_avx+0xa1>
+  .byte  196,65,125,16,12,144                // vmovupd       (%r8,%rdx,4),%ymm9
+  .byte  197,125,40,21,244,109,2,0           // vmovapd       0x26df4(%rip),%ymm10        # 3cb60 <_sk_srcover_bgra_8888_sse2_lowp+0x914>
+  .byte  196,193,53,84,226                   // vandpd        %ymm10,%ymm9,%ymm4
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  196,98,125,24,5,246,103,2,0         // vbroadcastss  0x267f6(%rip),%ymm8        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  196,193,92,89,224                   // vmulps        %ymm8,%ymm4,%ymm4
+  .byte  196,193,81,114,209,8                // vpsrld        $0x8,%xmm9,%xmm5
+  .byte  196,99,125,25,207,1                 // vextractf128  $0x1,%ymm9,%xmm7
+  .byte  197,201,114,215,8                   // vpsrld        $0x8,%xmm7,%xmm6
+  .byte  196,227,85,24,238,1                 // vinsertf128   $0x1,%xmm6,%ymm5,%ymm5
+  .byte  196,193,85,84,234                   // vandpd        %ymm10,%ymm5,%ymm5
+  .byte  197,252,91,237                      // vcvtdq2ps     %ymm5,%ymm5
+  .byte  196,193,84,89,232                   // vmulps        %ymm8,%ymm5,%ymm5
+  .byte  196,193,33,114,209,16               // vpsrld        $0x10,%xmm9,%xmm11
+  .byte  197,201,114,215,16                  // vpsrld        $0x10,%xmm7,%xmm6
+  .byte  196,227,37,24,246,1                 // vinsertf128   $0x1,%xmm6,%ymm11,%ymm6
+  .byte  196,193,77,84,242                   // vandpd        %ymm10,%ymm6,%ymm6
+  .byte  197,252,91,246                      // vcvtdq2ps     %ymm6,%ymm6
+  .byte  196,193,76,89,240                   // vmulps        %ymm8,%ymm6,%ymm6
+  .byte  196,193,49,114,209,24               // vpsrld        $0x18,%xmm9,%xmm9
+  .byte  197,193,114,215,24                  // vpsrld        $0x18,%xmm7,%xmm7
+  .byte  196,227,53,24,255,1                 // vinsertf128   $0x1,%xmm7,%ymm9,%ymm7
+  .byte  197,252,91,255                      // vcvtdq2ps     %ymm7,%ymm7
+  .byte  196,193,68,89,248                   // vmulps        %ymm8,%ymm7,%ymm7
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  15,135,108,255,255,255              // ja            15d64 <_sk_load_8888_dst_avx+0x20>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,146,0,0,0                 // lea           0x92(%rip),%r9        # 15e94 <_sk_load_8888_dst_avx+0x150>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,65,122,16,12,144                // vmovss        (%r8,%rdx,4),%xmm9
+  .byte  233,78,255,255,255                  // jmpq          15d64 <_sk_load_8888_dst_avx+0x20>
+  .byte  196,193,121,110,100,144,8           // vmovd         0x8(%r8,%rdx,4),%xmm4
+  .byte  197,249,112,228,68                  // vpshufd       $0x44,%xmm4,%xmm4
+  .byte  197,212,87,237                      // vxorps        %ymm5,%ymm5,%ymm5
+  .byte  196,99,85,12,204,4                  // vblendps      $0x4,%ymm4,%ymm5,%ymm9
+  .byte  196,193,123,16,36,144               // vmovsd        (%r8,%rdx,4),%xmm4
+  .byte  196,99,53,13,204,1                  // vblendpd      $0x1,%ymm4,%ymm9,%ymm9
+  .byte  233,39,255,255,255                  // jmpq          15d64 <_sk_load_8888_dst_avx+0x20>
+  .byte  196,193,121,110,100,144,24          // vmovd         0x18(%r8,%rdx,4),%xmm4
+  .byte  197,249,112,228,68                  // vpshufd       $0x44,%xmm4,%xmm4
+  .byte  196,227,125,24,228,1                // vinsertf128   $0x1,%xmm4,%ymm0,%ymm4
+  .byte  197,212,87,237                      // vxorps        %ymm5,%ymm5,%ymm5
+  .byte  196,99,85,12,204,64                 // vblendps      $0x40,%ymm4,%ymm5,%ymm9
+  .byte  196,99,125,25,204,1                 // vextractf128  $0x1,%ymm9,%xmm4
+  .byte  196,195,89,34,100,144,20,1          // vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm4,%xmm4
+  .byte  196,99,53,24,204,1                  // vinsertf128   $0x1,%xmm4,%ymm9,%ymm9
+  .byte  196,99,125,25,204,1                 // vextractf128  $0x1,%ymm9,%xmm4
+  .byte  196,195,89,34,100,144,16,0          // vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm4,%xmm4
+  .byte  196,99,53,24,204,1                  // vinsertf128   $0x1,%xmm4,%ymm9,%ymm9
+  .byte  196,193,121,16,36,144               // vmovupd       (%r8,%rdx,4),%xmm4
+  .byte  196,67,93,13,201,12                 // vblendpd      $0xc,%ymm9,%ymm4,%ymm9
+  .byte  233,210,254,255,255                 // jmpq          15d64 <_sk_load_8888_dst_avx+0x20>
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  119,255                             // ja            15e95 <_sk_load_8888_dst_avx+0x151>
+  .byte  255                                 // (bad)
+  .byte  255,152,255,255,255,130             // lcall         *-0x7d000001(%rax)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  237                                 // in            (%dx),%eax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  217,255                             // fcos
+  .byte  255                                 // (bad)
+  .byte  255,197                             // inc           %ebp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+  .byte  169                                 // .byte         0xa9
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_gather_8888_avx
+.globl _sk_gather_8888_avx
+FUNCTION(_sk_gather_8888_avx)
+_sk_gather_8888_avx:
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,80,12                // vbroadcastss  0xc(%rax),%ymm2
+  .byte  196,227,125,25,211,1                // vextractf128  $0x1,%ymm2,%xmm3
+  .byte  196,65,57,118,192                   // vpcmpeqd      %xmm8,%xmm8,%xmm8
+  .byte  196,193,97,254,216                  // vpaddd        %xmm8,%xmm3,%xmm3
+  .byte  196,193,105,254,208                 // vpaddd        %xmm8,%xmm2,%xmm2
+  .byte  196,227,109,24,211,1                // vinsertf128   $0x1,%xmm3,%ymm2,%ymm2
+  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
+  .byte  197,180,95,192                      // vmaxps        %ymm0,%ymm9,%ymm0
+  .byte  197,252,93,194                      // vminps        %ymm2,%ymm0,%ymm0
+  .byte  196,226,125,24,80,16                // vbroadcastss  0x10(%rax),%ymm2
+  .byte  196,227,125,25,211,1                // vextractf128  $0x1,%ymm2,%xmm3
+  .byte  196,193,97,254,216                  // vpaddd        %xmm8,%xmm3,%xmm3
+  .byte  196,193,105,254,208                 // vpaddd        %xmm8,%xmm2,%xmm2
+  .byte  196,227,109,24,211,1                // vinsertf128   $0x1,%xmm3,%ymm2,%ymm2
+  .byte  197,180,95,201                      // vmaxps        %ymm1,%ymm9,%ymm1
+  .byte  197,244,93,202                      // vminps        %ymm2,%ymm1,%ymm1
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
+  .byte  197,249,110,80,8                    // vmovd         0x8(%rax),%xmm2
+  .byte  197,249,112,210,0                   // vpshufd       $0x0,%xmm2,%xmm2
+  .byte  196,226,105,64,217                  // vpmulld       %xmm1,%xmm2,%xmm3
+  .byte  196,227,125,25,201,1                // vextractf128  $0x1,%ymm1,%xmm1
+  .byte  196,226,105,64,201                  // vpmulld       %xmm1,%xmm2,%xmm1
+  .byte  197,254,91,192                      // vcvttps2dq    %ymm0,%ymm0
+  .byte  196,227,125,25,194,1                // vextractf128  $0x1,%ymm0,%xmm2
+  .byte  197,241,254,202                     // vpaddd        %xmm2,%xmm1,%xmm1
+  .byte  196,225,249,126,200                 // vmovq         %xmm1,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  197,225,254,192                     // vpaddd        %xmm0,%xmm3,%xmm0
+  .byte  196,193,249,126,194                 // vmovq         %xmm0,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,227,249,22,203,1                // vpextrq       $0x1,%xmm1,%rbx
+  .byte  65,137,222                          // mov           %ebx,%r14d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  196,195,249,22,199,1                // vpextrq       $0x1,%xmm0,%r15
+  .byte  69,137,252                          // mov           %r15d,%r12d
+  .byte  73,193,239,32                       // shr           $0x20,%r15
+  .byte  196,129,121,110,4,152               // vmovd         (%r8,%r11,4),%xmm0
+  .byte  196,131,121,34,4,144,1              // vpinsrd       $0x1,(%r8,%r10,4),%xmm0,%xmm0
+  .byte  196,131,121,34,4,160,2              // vpinsrd       $0x2,(%r8,%r12,4),%xmm0,%xmm0
+  .byte  196,3,121,34,4,184,3                // vpinsrd       $0x3,(%r8,%r15,4),%xmm0,%xmm8
+  .byte  196,129,121,110,4,136               // vmovd         (%r8,%r9,4),%xmm0
+  .byte  196,195,121,34,4,128,1              // vpinsrd       $0x1,(%r8,%rax,4),%xmm0,%xmm0
+  .byte  196,131,121,34,4,176,2              // vpinsrd       $0x2,(%r8,%r14,4),%xmm0,%xmm0
+  .byte  196,195,121,34,28,152,3             // vpinsrd       $0x3,(%r8,%rbx,4),%xmm0,%xmm3
+  .byte  196,227,61,24,195,1                 // vinsertf128   $0x1,%xmm3,%ymm8,%ymm0
+  .byte  197,124,40,21,204,107,2,0           // vmovaps       0x26bcc(%rip),%ymm10        # 3cb80 <_sk_srcover_bgra_8888_sse2_lowp+0x934>
+  .byte  196,193,124,84,194                  // vandps        %ymm10,%ymm0,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,98,125,24,13,174,101,2,0        // vbroadcastss  0x265ae(%rip),%ymm9        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  196,193,124,89,193                  // vmulps        %ymm9,%ymm0,%ymm0
+  .byte  196,193,113,114,208,8               // vpsrld        $0x8,%xmm8,%xmm1
+  .byte  197,233,114,211,8                   // vpsrld        $0x8,%xmm3,%xmm2
+  .byte  196,227,117,24,202,1                // vinsertf128   $0x1,%xmm2,%ymm1,%ymm1
+  .byte  196,193,116,84,202                  // vandps        %ymm10,%ymm1,%ymm1
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  196,193,116,89,201                  // vmulps        %ymm9,%ymm1,%ymm1
+  .byte  196,193,33,114,208,16               // vpsrld        $0x10,%xmm8,%xmm11
+  .byte  197,233,114,211,16                  // vpsrld        $0x10,%xmm3,%xmm2
+  .byte  196,227,37,24,210,1                 // vinsertf128   $0x1,%xmm2,%ymm11,%ymm2
+  .byte  196,193,108,84,210                  // vandps        %ymm10,%ymm2,%ymm2
+  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
+  .byte  196,193,108,89,209                  // vmulps        %ymm9,%ymm2,%ymm2
+  .byte  196,193,57,114,208,24               // vpsrld        $0x18,%xmm8,%xmm8
+  .byte  197,225,114,211,24                  // vpsrld        $0x18,%xmm3,%xmm3
+  .byte  196,227,61,24,219,1                 // vinsertf128   $0x1,%xmm3,%ymm8,%ymm3
+  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
+  .byte  196,193,100,89,217                  // vmulps        %ymm9,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_store_8888_avx
+.globl _sk_store_8888_avx
+FUNCTION(_sk_store_8888_avx)
+_sk_store_8888_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,60,95,200                       // vmaxps        %ymm0,%ymm8,%ymm9
+  .byte  196,98,125,24,21,171,100,2,0        // vbroadcastss  0x264ab(%rip),%ymm10        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,65,52,93,202                    // vminps        %ymm10,%ymm9,%ymm9
+  .byte  196,98,125,24,29,201,100,2,0        // vbroadcastss  0x264c9(%rip),%ymm11        # 3c528 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  .byte  196,65,52,89,203                    // vmulps        %ymm11,%ymm9,%ymm9
+  .byte  196,65,125,91,201                   // vcvtps2dq     %ymm9,%ymm9
+  .byte  197,60,95,225                       // vmaxps        %ymm1,%ymm8,%ymm12
+  .byte  196,65,28,93,226                    // vminps        %ymm10,%ymm12,%ymm12
+  .byte  196,65,28,89,227                    // vmulps        %ymm11,%ymm12,%ymm12
+  .byte  196,65,125,91,228                   // vcvtps2dq     %ymm12,%ymm12
+  .byte  196,193,17,114,244,8                // vpslld        $0x8,%xmm12,%xmm13
+  .byte  196,67,125,25,228,1                 // vextractf128  $0x1,%ymm12,%xmm12
+  .byte  196,193,25,114,244,8                // vpslld        $0x8,%xmm12,%xmm12
+  .byte  196,67,21,24,228,1                  // vinsertf128   $0x1,%xmm12,%ymm13,%ymm12
+  .byte  196,65,29,86,201                    // vorpd         %ymm9,%ymm12,%ymm9
+  .byte  197,60,95,226                       // vmaxps        %ymm2,%ymm8,%ymm12
+  .byte  196,65,28,93,226                    // vminps        %ymm10,%ymm12,%ymm12
+  .byte  196,65,28,89,227                    // vmulps        %ymm11,%ymm12,%ymm12
+  .byte  196,65,125,91,228                   // vcvtps2dq     %ymm12,%ymm12
+  .byte  196,193,17,114,244,16               // vpslld        $0x10,%xmm12,%xmm13
+  .byte  196,67,125,25,228,1                 // vextractf128  $0x1,%ymm12,%xmm12
+  .byte  196,193,25,114,244,16               // vpslld        $0x10,%xmm12,%xmm12
+  .byte  196,67,21,24,228,1                  // vinsertf128   $0x1,%xmm12,%ymm13,%ymm12
+  .byte  197,60,95,195                       // vmaxps        %ymm3,%ymm8,%ymm8
+  .byte  196,65,60,93,194                    // vminps        %ymm10,%ymm8,%ymm8
+  .byte  196,65,60,89,195                    // vmulps        %ymm11,%ymm8,%ymm8
+  .byte  196,65,125,91,192                   // vcvtps2dq     %ymm8,%ymm8
+  .byte  196,193,41,114,240,24               // vpslld        $0x18,%xmm8,%xmm10
+  .byte  196,67,125,25,192,1                 // vextractf128  $0x1,%ymm8,%xmm8
+  .byte  196,193,57,114,240,24               // vpslld        $0x18,%xmm8,%xmm8
+  .byte  196,67,45,24,192,1                  // vinsertf128   $0x1,%xmm8,%ymm10,%ymm8
+  .byte  196,65,29,86,192                    // vorpd         %ymm8,%ymm12,%ymm8
+  .byte  196,65,53,86,192                    // vorpd         %ymm8,%ymm9,%ymm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,10                              // jne           16108 <_sk_store_8888_avx+0xda>
+  .byte  196,65,124,17,4,144                 // vmovups       %ymm8,(%r8,%rdx,4)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,242                             // ja            16104 <_sk_store_8888_avx+0xd6>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,84,0,0,0                  // lea           0x54(%rip),%r9        # 16170 <_sk_store_8888_avx+0x142>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,65,121,126,4,144                // vmovd         %xmm8,(%r8,%rdx,4)
+  .byte  235,215                             // jmp           16104 <_sk_store_8888_avx+0xd6>
+  .byte  196,67,121,22,68,144,8,2            // vpextrd       $0x2,%xmm8,0x8(%r8,%rdx,4)
+  .byte  196,65,121,214,4,144                // vmovq         %xmm8,(%r8,%rdx,4)
+  .byte  235,199                             // jmp           16104 <_sk_store_8888_avx+0xd6>
+  .byte  196,67,125,25,193,1                 // vextractf128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,22,76,144,24,2           // vpextrd       $0x2,%xmm9,0x18(%r8,%rdx,4)
+  .byte  196,67,125,25,193,1                 // vextractf128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,22,76,144,20,1           // vpextrd       $0x1,%xmm9,0x14(%r8,%rdx,4)
+  .byte  196,67,125,25,193,1                 // vextractf128  $0x1,%ymm8,%xmm9
+  .byte  196,65,122,17,76,144,16             // vmovss        %xmm9,0x10(%r8,%rdx,4)
+  .byte  196,65,121,17,4,144                 // vmovupd       %xmm8,(%r8,%rdx,4)
+  .byte  235,150                             // jmp           16104 <_sk_store_8888_avx+0xd6>
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  181,255                             // mov           $0xff,%ch
+  .byte  255                                 // (bad)
+  .byte  255,197                             // inc           %ebp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  189,255,255,255,246                 // mov           $0xf6ffffff,%ebp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  233,255,255,255,219                 // jmpq          ffffffffdc016184 <_sk_srcover_bgra_8888_sse2_lowp+0xffffffffdbfd9f38>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,205                             // dec           %ebp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_bgra_avx
+.globl _sk_load_bgra_avx
+FUNCTION(_sk_load_bgra_avx)
+_sk_load_bgra_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,135,0,0,0                    // jne           1622d <_sk_load_bgra_avx+0xa1>
+  .byte  196,65,125,16,12,144                // vmovupd       (%r8,%rdx,4),%ymm9
+  .byte  197,125,40,21,236,105,2,0           // vmovapd       0x269ec(%rip),%ymm10        # 3cba0 <_sk_srcover_bgra_8888_sse2_lowp+0x954>
+  .byte  196,193,53,84,202                   // vandpd        %ymm10,%ymm9,%ymm1
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  196,98,125,24,5,174,99,2,0          // vbroadcastss  0x263ae(%rip),%ymm8        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  196,193,116,89,208                  // vmulps        %ymm8,%ymm1,%ymm2
+  .byte  196,193,113,114,209,8               // vpsrld        $0x8,%xmm9,%xmm1
+  .byte  196,99,125,25,203,1                 // vextractf128  $0x1,%ymm9,%xmm3
+  .byte  197,249,114,211,8                   // vpsrld        $0x8,%xmm3,%xmm0
+  .byte  196,227,117,24,192,1                // vinsertf128   $0x1,%xmm0,%ymm1,%ymm0
+  .byte  196,193,125,84,194                  // vandpd        %ymm10,%ymm0,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,193,124,89,200                  // vmulps        %ymm8,%ymm0,%ymm1
+  .byte  196,193,33,114,209,16               // vpsrld        $0x10,%xmm9,%xmm11
+  .byte  197,249,114,211,16                  // vpsrld        $0x10,%xmm3,%xmm0
+  .byte  196,227,37,24,192,1                 // vinsertf128   $0x1,%xmm0,%ymm11,%ymm0
+  .byte  196,193,125,84,194                  // vandpd        %ymm10,%ymm0,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
+  .byte  196,193,49,114,209,24               // vpsrld        $0x18,%xmm9,%xmm9
+  .byte  197,225,114,211,24                  // vpsrld        $0x18,%xmm3,%xmm3
+  .byte  196,227,53,24,219,1                 // vinsertf128   $0x1,%xmm3,%ymm9,%ymm3
+  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
+  .byte  196,193,100,89,216                  // vmulps        %ymm8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  15,135,108,255,255,255              // ja            161ac <_sk_load_bgra_avx+0x20>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,146,0,0,0                 // lea           0x92(%rip),%r9        # 162dc <_sk_load_bgra_avx+0x150>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,65,122,16,12,144                // vmovss        (%r8,%rdx,4),%xmm9
+  .byte  233,78,255,255,255                  // jmpq          161ac <_sk_load_bgra_avx+0x20>
+  .byte  196,193,121,110,68,144,8            // vmovd         0x8(%r8,%rdx,4),%xmm0
+  .byte  197,249,112,192,68                  // vpshufd       $0x44,%xmm0,%xmm0
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  196,99,117,12,200,4                 // vblendps      $0x4,%ymm0,%ymm1,%ymm9
+  .byte  196,193,123,16,4,144                // vmovsd        (%r8,%rdx,4),%xmm0
+  .byte  196,99,53,13,200,1                  // vblendpd      $0x1,%ymm0,%ymm9,%ymm9
+  .byte  233,39,255,255,255                  // jmpq          161ac <_sk_load_bgra_avx+0x20>
+  .byte  196,193,121,110,68,144,24           // vmovd         0x18(%r8,%rdx,4),%xmm0
+  .byte  197,249,112,192,68                  // vpshufd       $0x44,%xmm0,%xmm0
+  .byte  196,227,125,24,192,1                // vinsertf128   $0x1,%xmm0,%ymm0,%ymm0
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  196,99,117,12,200,64                // vblendps      $0x40,%ymm0,%ymm1,%ymm9
+  .byte  196,99,125,25,200,1                 // vextractf128  $0x1,%ymm9,%xmm0
+  .byte  196,195,121,34,68,144,20,1          // vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm0,%xmm0
+  .byte  196,99,53,24,200,1                  // vinsertf128   $0x1,%xmm0,%ymm9,%ymm9
+  .byte  196,99,125,25,200,1                 // vextractf128  $0x1,%ymm9,%xmm0
+  .byte  196,195,121,34,68,144,16,0          // vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm0,%xmm0
+  .byte  196,99,53,24,200,1                  // vinsertf128   $0x1,%xmm0,%ymm9,%ymm9
+  .byte  196,193,121,16,4,144                // vmovupd       (%r8,%rdx,4),%xmm0
+  .byte  196,67,125,13,201,12                // vblendpd      $0xc,%ymm9,%ymm0,%ymm9
+  .byte  233,210,254,255,255                 // jmpq          161ac <_sk_load_bgra_avx+0x20>
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  119,255                             // ja            162dd <_sk_load_bgra_avx+0x151>
+  .byte  255                                 // (bad)
+  .byte  255,152,255,255,255,130             // lcall         *-0x7d000001(%rax)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  237                                 // in            (%dx),%eax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  217,255                             // fcos
+  .byte  255                                 // (bad)
+  .byte  255,197                             // inc           %ebp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+  .byte  169                                 // .byte         0xa9
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_bgra_dst_avx
+.globl _sk_load_bgra_dst_avx
+FUNCTION(_sk_load_bgra_dst_avx)
+_sk_load_bgra_dst_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,135,0,0,0                    // jne           16399 <_sk_load_bgra_dst_avx+0xa1>
+  .byte  196,65,125,16,12,144                // vmovupd       (%r8,%rdx,4),%ymm9
+  .byte  197,125,40,21,160,104,2,0           // vmovapd       0x268a0(%rip),%ymm10        # 3cbc0 <_sk_srcover_bgra_8888_sse2_lowp+0x974>
+  .byte  196,193,53,84,234                   // vandpd        %ymm10,%ymm9,%ymm5
+  .byte  197,252,91,237                      // vcvtdq2ps     %ymm5,%ymm5
+  .byte  196,98,125,24,5,66,98,2,0           // vbroadcastss  0x26242(%rip),%ymm8        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  196,193,84,89,240                   // vmulps        %ymm8,%ymm5,%ymm6
+  .byte  196,193,81,114,209,8                // vpsrld        $0x8,%xmm9,%xmm5
+  .byte  196,99,125,25,207,1                 // vextractf128  $0x1,%ymm9,%xmm7
+  .byte  197,217,114,215,8                   // vpsrld        $0x8,%xmm7,%xmm4
+  .byte  196,227,85,24,228,1                 // vinsertf128   $0x1,%xmm4,%ymm5,%ymm4
+  .byte  196,193,93,84,226                   // vandpd        %ymm10,%ymm4,%ymm4
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  196,193,92,89,232                   // vmulps        %ymm8,%ymm4,%ymm5
+  .byte  196,193,33,114,209,16               // vpsrld        $0x10,%xmm9,%xmm11
+  .byte  197,217,114,215,16                  // vpsrld        $0x10,%xmm7,%xmm4
+  .byte  196,227,37,24,228,1                 // vinsertf128   $0x1,%xmm4,%ymm11,%ymm4
+  .byte  196,193,93,84,226                   // vandpd        %ymm10,%ymm4,%ymm4
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  196,193,92,89,224                   // vmulps        %ymm8,%ymm4,%ymm4
+  .byte  196,193,49,114,209,24               // vpsrld        $0x18,%xmm9,%xmm9
+  .byte  197,193,114,215,24                  // vpsrld        $0x18,%xmm7,%xmm7
+  .byte  196,227,53,24,255,1                 // vinsertf128   $0x1,%xmm7,%ymm9,%ymm7
+  .byte  197,252,91,255                      // vcvtdq2ps     %ymm7,%ymm7
+  .byte  196,193,68,89,248                   // vmulps        %ymm8,%ymm7,%ymm7
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  15,135,108,255,255,255              // ja            16318 <_sk_load_bgra_dst_avx+0x20>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,146,0,0,0                 // lea           0x92(%rip),%r9        # 16448 <_sk_load_bgra_dst_avx+0x150>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,65,122,16,12,144                // vmovss        (%r8,%rdx,4),%xmm9
+  .byte  233,78,255,255,255                  // jmpq          16318 <_sk_load_bgra_dst_avx+0x20>
+  .byte  196,193,121,110,100,144,8           // vmovd         0x8(%r8,%rdx,4),%xmm4
+  .byte  197,249,112,228,68                  // vpshufd       $0x44,%xmm4,%xmm4
+  .byte  197,212,87,237                      // vxorps        %ymm5,%ymm5,%ymm5
+  .byte  196,99,85,12,204,4                  // vblendps      $0x4,%ymm4,%ymm5,%ymm9
+  .byte  196,193,123,16,36,144               // vmovsd        (%r8,%rdx,4),%xmm4
+  .byte  196,99,53,13,204,1                  // vblendpd      $0x1,%ymm4,%ymm9,%ymm9
+  .byte  233,39,255,255,255                  // jmpq          16318 <_sk_load_bgra_dst_avx+0x20>
+  .byte  196,193,121,110,100,144,24          // vmovd         0x18(%r8,%rdx,4),%xmm4
+  .byte  197,249,112,228,68                  // vpshufd       $0x44,%xmm4,%xmm4
+  .byte  196,227,125,24,228,1                // vinsertf128   $0x1,%xmm4,%ymm0,%ymm4
+  .byte  197,212,87,237                      // vxorps        %ymm5,%ymm5,%ymm5
+  .byte  196,99,85,12,204,64                 // vblendps      $0x40,%ymm4,%ymm5,%ymm9
+  .byte  196,99,125,25,204,1                 // vextractf128  $0x1,%ymm9,%xmm4
+  .byte  196,195,89,34,100,144,20,1          // vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm4,%xmm4
+  .byte  196,99,53,24,204,1                  // vinsertf128   $0x1,%xmm4,%ymm9,%ymm9
+  .byte  196,99,125,25,204,1                 // vextractf128  $0x1,%ymm9,%xmm4
+  .byte  196,195,89,34,100,144,16,0          // vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm4,%xmm4
+  .byte  196,99,53,24,204,1                  // vinsertf128   $0x1,%xmm4,%ymm9,%ymm9
+  .byte  196,193,121,16,36,144               // vmovupd       (%r8,%rdx,4),%xmm4
+  .byte  196,67,93,13,201,12                 // vblendpd      $0xc,%ymm9,%ymm4,%ymm9
+  .byte  233,210,254,255,255                 // jmpq          16318 <_sk_load_bgra_dst_avx+0x20>
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  119,255                             // ja            16449 <_sk_load_bgra_dst_avx+0x151>
+  .byte  255                                 // (bad)
+  .byte  255,152,255,255,255,130             // lcall         *-0x7d000001(%rax)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  237                                 // in            (%dx),%eax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  217,255                             // fcos
+  .byte  255                                 // (bad)
+  .byte  255,197                             // inc           %ebp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+  .byte  169                                 // .byte         0xa9
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_gather_bgra_avx
+.globl _sk_gather_bgra_avx
+FUNCTION(_sk_gather_bgra_avx)
+_sk_gather_bgra_avx:
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,80,12                // vbroadcastss  0xc(%rax),%ymm2
+  .byte  196,227,125,25,211,1                // vextractf128  $0x1,%ymm2,%xmm3
+  .byte  196,65,57,118,192                   // vpcmpeqd      %xmm8,%xmm8,%xmm8
+  .byte  196,193,97,254,216                  // vpaddd        %xmm8,%xmm3,%xmm3
+  .byte  196,193,105,254,208                 // vpaddd        %xmm8,%xmm2,%xmm2
+  .byte  196,227,109,24,211,1                // vinsertf128   $0x1,%xmm3,%ymm2,%ymm2
+  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
+  .byte  197,180,95,192                      // vmaxps        %ymm0,%ymm9,%ymm0
+  .byte  197,252,93,194                      // vminps        %ymm2,%ymm0,%ymm0
+  .byte  196,226,125,24,80,16                // vbroadcastss  0x10(%rax),%ymm2
+  .byte  196,227,125,25,211,1                // vextractf128  $0x1,%ymm2,%xmm3
+  .byte  196,193,97,254,216                  // vpaddd        %xmm8,%xmm3,%xmm3
+  .byte  196,193,105,254,208                 // vpaddd        %xmm8,%xmm2,%xmm2
+  .byte  196,227,109,24,211,1                // vinsertf128   $0x1,%xmm3,%ymm2,%ymm2
+  .byte  197,180,95,201                      // vmaxps        %ymm1,%ymm9,%ymm1
+  .byte  197,244,93,202                      // vminps        %ymm2,%ymm1,%ymm1
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
+  .byte  197,249,110,80,8                    // vmovd         0x8(%rax),%xmm2
+  .byte  197,249,112,210,0                   // vpshufd       $0x0,%xmm2,%xmm2
+  .byte  196,226,105,64,217                  // vpmulld       %xmm1,%xmm2,%xmm3
+  .byte  196,227,125,25,201,1                // vextractf128  $0x1,%ymm1,%xmm1
+  .byte  196,226,105,64,201                  // vpmulld       %xmm1,%xmm2,%xmm1
+  .byte  197,254,91,192                      // vcvttps2dq    %ymm0,%ymm0
+  .byte  196,227,125,25,194,1                // vextractf128  $0x1,%ymm0,%xmm2
+  .byte  197,241,254,202                     // vpaddd        %xmm2,%xmm1,%xmm1
+  .byte  196,225,249,126,200                 // vmovq         %xmm1,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  197,225,254,192                     // vpaddd        %xmm0,%xmm3,%xmm0
+  .byte  196,193,249,126,194                 // vmovq         %xmm0,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,227,249,22,203,1                // vpextrq       $0x1,%xmm1,%rbx
+  .byte  65,137,222                          // mov           %ebx,%r14d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  196,195,249,22,199,1                // vpextrq       $0x1,%xmm0,%r15
+  .byte  69,137,252                          // mov           %r15d,%r12d
+  .byte  73,193,239,32                       // shr           $0x20,%r15
+  .byte  196,129,121,110,4,152               // vmovd         (%r8,%r11,4),%xmm0
+  .byte  196,131,121,34,4,144,1              // vpinsrd       $0x1,(%r8,%r10,4),%xmm0,%xmm0
+  .byte  196,131,121,34,4,160,2              // vpinsrd       $0x2,(%r8,%r12,4),%xmm0,%xmm0
+  .byte  196,3,121,34,4,184,3                // vpinsrd       $0x3,(%r8,%r15,4),%xmm0,%xmm8
+  .byte  196,129,121,110,4,136               // vmovd         (%r8,%r9,4),%xmm0
+  .byte  196,195,121,34,4,128,1              // vpinsrd       $0x1,(%r8,%rax,4),%xmm0,%xmm0
+  .byte  196,131,121,34,4,176,2              // vpinsrd       $0x2,(%r8,%r14,4),%xmm0,%xmm0
+  .byte  196,195,121,34,28,152,3             // vpinsrd       $0x3,(%r8,%rbx,4),%xmm0,%xmm3
+  .byte  196,227,61,24,195,1                 // vinsertf128   $0x1,%xmm3,%ymm8,%ymm0
+  .byte  197,124,40,13,120,102,2,0           // vmovaps       0x26678(%rip),%ymm9        # 3cbe0 <_sk_srcover_bgra_8888_sse2_lowp+0x994>
+  .byte  196,193,124,84,193                  // vandps        %ymm9,%ymm0,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,98,125,24,21,250,95,2,0         // vbroadcastss  0x25ffa(%rip),%ymm10        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  196,193,124,89,210                  // vmulps        %ymm10,%ymm0,%ymm2
+  .byte  196,193,121,114,208,8               // vpsrld        $0x8,%xmm8,%xmm0
+  .byte  197,241,114,211,8                   // vpsrld        $0x8,%xmm3,%xmm1
+  .byte  196,227,125,24,193,1                // vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
+  .byte  196,193,124,84,193                  // vandps        %ymm9,%ymm0,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,193,124,89,202                  // vmulps        %ymm10,%ymm0,%ymm1
+  .byte  196,193,33,114,208,16               // vpsrld        $0x10,%xmm8,%xmm11
+  .byte  197,249,114,211,16                  // vpsrld        $0x10,%xmm3,%xmm0
+  .byte  196,227,37,24,192,1                 // vinsertf128   $0x1,%xmm0,%ymm11,%ymm0
+  .byte  196,193,124,84,193                  // vandps        %ymm9,%ymm0,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,193,124,89,194                  // vmulps        %ymm10,%ymm0,%ymm0
+  .byte  196,193,57,114,208,24               // vpsrld        $0x18,%xmm8,%xmm8
+  .byte  197,225,114,211,24                  // vpsrld        $0x18,%xmm3,%xmm3
+  .byte  196,227,61,24,219,1                 // vinsertf128   $0x1,%xmm3,%ymm8,%ymm3
+  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
+  .byte  196,193,100,89,218                  // vmulps        %ymm10,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_store_bgra_avx
+.globl _sk_store_bgra_avx
+FUNCTION(_sk_store_bgra_avx)
+_sk_store_bgra_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,60,95,202                       // vmaxps        %ymm2,%ymm8,%ymm9
+  .byte  196,98,125,24,21,247,94,2,0         // vbroadcastss  0x25ef7(%rip),%ymm10        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,65,52,93,202                    // vminps        %ymm10,%ymm9,%ymm9
+  .byte  196,98,125,24,29,21,95,2,0          // vbroadcastss  0x25f15(%rip),%ymm11        # 3c528 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  .byte  196,65,52,89,203                    // vmulps        %ymm11,%ymm9,%ymm9
+  .byte  196,65,125,91,201                   // vcvtps2dq     %ymm9,%ymm9
+  .byte  197,60,95,225                       // vmaxps        %ymm1,%ymm8,%ymm12
+  .byte  196,65,28,93,226                    // vminps        %ymm10,%ymm12,%ymm12
+  .byte  196,65,28,89,227                    // vmulps        %ymm11,%ymm12,%ymm12
+  .byte  196,65,125,91,228                   // vcvtps2dq     %ymm12,%ymm12
+  .byte  196,193,17,114,244,8                // vpslld        $0x8,%xmm12,%xmm13
+  .byte  196,67,125,25,228,1                 // vextractf128  $0x1,%ymm12,%xmm12
+  .byte  196,193,25,114,244,8                // vpslld        $0x8,%xmm12,%xmm12
+  .byte  196,67,21,24,228,1                  // vinsertf128   $0x1,%xmm12,%ymm13,%ymm12
+  .byte  196,65,29,86,201                    // vorpd         %ymm9,%ymm12,%ymm9
+  .byte  197,60,95,224                       // vmaxps        %ymm0,%ymm8,%ymm12
+  .byte  196,65,28,93,226                    // vminps        %ymm10,%ymm12,%ymm12
+  .byte  196,65,28,89,227                    // vmulps        %ymm11,%ymm12,%ymm12
+  .byte  196,65,125,91,228                   // vcvtps2dq     %ymm12,%ymm12
+  .byte  196,193,17,114,244,16               // vpslld        $0x10,%xmm12,%xmm13
+  .byte  196,67,125,25,228,1                 // vextractf128  $0x1,%ymm12,%xmm12
+  .byte  196,193,25,114,244,16               // vpslld        $0x10,%xmm12,%xmm12
+  .byte  196,67,21,24,228,1                  // vinsertf128   $0x1,%xmm12,%ymm13,%ymm12
+  .byte  197,60,95,195                       // vmaxps        %ymm3,%ymm8,%ymm8
+  .byte  196,65,60,93,194                    // vminps        %ymm10,%ymm8,%ymm8
+  .byte  196,65,60,89,195                    // vmulps        %ymm11,%ymm8,%ymm8
+  .byte  196,65,125,91,192                   // vcvtps2dq     %ymm8,%ymm8
+  .byte  196,193,41,114,240,24               // vpslld        $0x18,%xmm8,%xmm10
+  .byte  196,67,125,25,192,1                 // vextractf128  $0x1,%ymm8,%xmm8
+  .byte  196,193,57,114,240,24               // vpslld        $0x18,%xmm8,%xmm8
+  .byte  196,67,45,24,192,1                  // vinsertf128   $0x1,%xmm8,%ymm10,%ymm8
+  .byte  196,65,29,86,192                    // vorpd         %ymm8,%ymm12,%ymm8
+  .byte  196,65,53,86,192                    // vorpd         %ymm8,%ymm9,%ymm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,10                              // jne           166bc <_sk_store_bgra_avx+0xda>
+  .byte  196,65,124,17,4,144                 // vmovups       %ymm8,(%r8,%rdx,4)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,242                             // ja            166b8 <_sk_store_bgra_avx+0xd6>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,84,0,0,0                  // lea           0x54(%rip),%r9        # 16724 <_sk_store_bgra_avx+0x142>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,65,121,126,4,144                // vmovd         %xmm8,(%r8,%rdx,4)
+  .byte  235,215                             // jmp           166b8 <_sk_store_bgra_avx+0xd6>
+  .byte  196,67,121,22,68,144,8,2            // vpextrd       $0x2,%xmm8,0x8(%r8,%rdx,4)
+  .byte  196,65,121,214,4,144                // vmovq         %xmm8,(%r8,%rdx,4)
+  .byte  235,199                             // jmp           166b8 <_sk_store_bgra_avx+0xd6>
+  .byte  196,67,125,25,193,1                 // vextractf128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,22,76,144,24,2           // vpextrd       $0x2,%xmm9,0x18(%r8,%rdx,4)
+  .byte  196,67,125,25,193,1                 // vextractf128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,22,76,144,20,1           // vpextrd       $0x1,%xmm9,0x14(%r8,%rdx,4)
+  .byte  196,67,125,25,193,1                 // vextractf128  $0x1,%ymm8,%xmm9
+  .byte  196,65,122,17,76,144,16             // vmovss        %xmm9,0x10(%r8,%rdx,4)
+  .byte  196,65,121,17,4,144                 // vmovupd       %xmm8,(%r8,%rdx,4)
+  .byte  235,150                             // jmp           166b8 <_sk_store_bgra_avx+0xd6>
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  181,255                             // mov           $0xff,%ch
+  .byte  255                                 // (bad)
+  .byte  255,197                             // inc           %ebp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  189,255,255,255,246                 // mov           $0xf6ffffff,%ebp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  233,255,255,255,219                 // jmpq          ffffffffdc016738 <_sk_srcover_bgra_8888_sse2_lowp+0xffffffffdbfda4ec>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,205                             // dec           %ebp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_1010102_avx
+.globl _sk_load_1010102_avx
+FUNCTION(_sk_load_1010102_avx)
+_sk_load_1010102_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,145,0,0,0                    // jne           167eb <_sk_load_1010102_avx+0xab>
+  .byte  196,65,125,16,12,144                // vmovupd       (%r8,%rdx,4),%ymm9
+  .byte  196,98,125,24,29,175,94,2,0         // vbroadcastss  0x25eaf(%rip),%ymm11        # 3c618 <_sk_srcover_bgra_8888_sse2_lowp+0x3cc>
+  .byte  196,193,53,84,195                   // vandpd        %ymm11,%ymm9,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,98,125,24,5,161,94,2,0          // vbroadcastss  0x25ea1(%rip),%ymm8        # 3c61c <_sk_srcover_bgra_8888_sse2_lowp+0x3d0>
+  .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
+  .byte  196,193,41,114,209,10               // vpsrld        $0xa,%xmm9,%xmm10
+  .byte  196,99,125,25,203,1                 // vextractf128  $0x1,%ymm9,%xmm3
+  .byte  197,241,114,211,10                  // vpsrld        $0xa,%xmm3,%xmm1
+  .byte  196,227,45,24,201,1                 // vinsertf128   $0x1,%xmm1,%ymm10,%ymm1
+  .byte  196,193,117,84,203                  // vandpd        %ymm11,%ymm1,%ymm1
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  196,193,116,89,200                  // vmulps        %ymm8,%ymm1,%ymm1
+  .byte  196,193,41,114,209,20               // vpsrld        $0x14,%xmm9,%xmm10
+  .byte  197,233,114,211,20                  // vpsrld        $0x14,%xmm3,%xmm2
+  .byte  196,227,45,24,210,1                 // vinsertf128   $0x1,%xmm2,%ymm10,%ymm2
+  .byte  196,193,109,84,211                  // vandpd        %ymm11,%ymm2,%ymm2
+  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
+  .byte  196,193,108,89,208                  // vmulps        %ymm8,%ymm2,%ymm2
+  .byte  196,193,57,114,209,30               // vpsrld        $0x1e,%xmm9,%xmm8
+  .byte  197,225,114,211,30                  // vpsrld        $0x1e,%xmm3,%xmm3
+  .byte  196,227,61,24,219,1                 // vinsertf128   $0x1,%xmm3,%ymm8,%ymm3
+  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
+  .byte  196,98,125,24,5,134,93,2,0          // vbroadcastss  0x25d86(%rip),%ymm8        # 3c568 <_sk_srcover_bgra_8888_sse2_lowp+0x31c>
+  .byte  196,193,100,89,216                  // vmulps        %ymm8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  15,135,98,255,255,255               // ja            16760 <_sk_load_1010102_avx+0x20>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,144,0,0,0                 // lea           0x90(%rip),%r9        # 16898 <_sk_load_1010102_avx+0x158>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,65,122,16,12,144                // vmovss        (%r8,%rdx,4),%xmm9
+  .byte  233,68,255,255,255                  // jmpq          16760 <_sk_load_1010102_avx+0x20>
+  .byte  196,193,121,110,68,144,8            // vmovd         0x8(%r8,%rdx,4),%xmm0
+  .byte  197,249,112,192,68                  // vpshufd       $0x44,%xmm0,%xmm0
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  196,99,117,12,200,4                 // vblendps      $0x4,%ymm0,%ymm1,%ymm9
+  .byte  196,193,123,16,4,144                // vmovsd        (%r8,%rdx,4),%xmm0
+  .byte  196,99,53,13,200,1                  // vblendpd      $0x1,%ymm0,%ymm9,%ymm9
+  .byte  233,29,255,255,255                  // jmpq          16760 <_sk_load_1010102_avx+0x20>
+  .byte  196,193,121,110,68,144,24           // vmovd         0x18(%r8,%rdx,4),%xmm0
+  .byte  197,249,112,192,68                  // vpshufd       $0x44,%xmm0,%xmm0
+  .byte  196,227,125,24,192,1                // vinsertf128   $0x1,%xmm0,%ymm0,%ymm0
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  196,99,117,12,200,64                // vblendps      $0x40,%ymm0,%ymm1,%ymm9
+  .byte  196,99,125,25,200,1                 // vextractf128  $0x1,%ymm9,%xmm0
+  .byte  196,195,121,34,68,144,20,1          // vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm0,%xmm0
+  .byte  196,99,53,24,200,1                  // vinsertf128   $0x1,%xmm0,%ymm9,%ymm9
+  .byte  196,99,125,25,200,1                 // vextractf128  $0x1,%ymm9,%xmm0
+  .byte  196,195,121,34,68,144,16,0          // vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm0,%xmm0
+  .byte  196,99,53,24,200,1                  // vinsertf128   $0x1,%xmm0,%ymm9,%ymm9
+  .byte  196,193,121,16,4,144                // vmovupd       (%r8,%rdx,4),%xmm0
+  .byte  196,67,125,13,201,12                // vblendpd      $0xc,%ymm9,%ymm0,%ymm9
+  .byte  233,200,254,255,255                 // jmpq          16760 <_sk_load_1010102_avx+0x20>
+  .byte  121,255                             // jns           16899 <_sk_load_1010102_avx+0x159>
+  .byte  255                                 // (bad)
+  .byte  255,154,255,255,255,132             // lcall         *-0x7b000001(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  239                                 // out           %eax,(%dx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  219,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,199                             // inc           %edi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+  .byte  171                                 // stos          %eax,%es:(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_1010102_dst_avx
+.globl _sk_load_1010102_dst_avx
+FUNCTION(_sk_load_1010102_dst_avx)
+_sk_load_1010102_dst_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,145,0,0,0                    // jne           1695f <_sk_load_1010102_dst_avx+0xab>
+  .byte  196,65,125,16,12,144                // vmovupd       (%r8,%rdx,4),%ymm9
+  .byte  196,98,125,24,29,59,93,2,0          // vbroadcastss  0x25d3b(%rip),%ymm11        # 3c618 <_sk_srcover_bgra_8888_sse2_lowp+0x3cc>
+  .byte  196,193,53,84,227                   // vandpd        %ymm11,%ymm9,%ymm4
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  196,98,125,24,5,45,93,2,0           // vbroadcastss  0x25d2d(%rip),%ymm8        # 3c61c <_sk_srcover_bgra_8888_sse2_lowp+0x3d0>
+  .byte  196,193,92,89,224                   // vmulps        %ymm8,%ymm4,%ymm4
+  .byte  196,193,41,114,209,10               // vpsrld        $0xa,%xmm9,%xmm10
+  .byte  196,99,125,25,207,1                 // vextractf128  $0x1,%ymm9,%xmm7
+  .byte  197,209,114,215,10                  // vpsrld        $0xa,%xmm7,%xmm5
+  .byte  196,227,45,24,237,1                 // vinsertf128   $0x1,%xmm5,%ymm10,%ymm5
+  .byte  196,193,85,84,235                   // vandpd        %ymm11,%ymm5,%ymm5
+  .byte  197,252,91,237                      // vcvtdq2ps     %ymm5,%ymm5
+  .byte  196,193,84,89,232                   // vmulps        %ymm8,%ymm5,%ymm5
+  .byte  196,193,41,114,209,20               // vpsrld        $0x14,%xmm9,%xmm10
+  .byte  197,201,114,215,20                  // vpsrld        $0x14,%xmm7,%xmm6
+  .byte  196,227,45,24,246,1                 // vinsertf128   $0x1,%xmm6,%ymm10,%ymm6
+  .byte  196,193,77,84,243                   // vandpd        %ymm11,%ymm6,%ymm6
+  .byte  197,252,91,246                      // vcvtdq2ps     %ymm6,%ymm6
+  .byte  196,193,76,89,240                   // vmulps        %ymm8,%ymm6,%ymm6
+  .byte  196,193,57,114,209,30               // vpsrld        $0x1e,%xmm9,%xmm8
+  .byte  197,193,114,215,30                  // vpsrld        $0x1e,%xmm7,%xmm7
+  .byte  196,227,61,24,255,1                 // vinsertf128   $0x1,%xmm7,%ymm8,%ymm7
+  .byte  197,252,91,255                      // vcvtdq2ps     %ymm7,%ymm7
+  .byte  196,98,125,24,5,18,92,2,0           // vbroadcastss  0x25c12(%rip),%ymm8        # 3c568 <_sk_srcover_bgra_8888_sse2_lowp+0x31c>
+  .byte  196,193,68,89,248                   // vmulps        %ymm8,%ymm7,%ymm7
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  15,135,98,255,255,255               // ja            168d4 <_sk_load_1010102_dst_avx+0x20>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,144,0,0,0                 // lea           0x90(%rip),%r9        # 16a0c <_sk_load_1010102_dst_avx+0x158>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,65,122,16,12,144                // vmovss        (%r8,%rdx,4),%xmm9
+  .byte  233,68,255,255,255                  // jmpq          168d4 <_sk_load_1010102_dst_avx+0x20>
+  .byte  196,193,121,110,100,144,8           // vmovd         0x8(%r8,%rdx,4),%xmm4
+  .byte  197,249,112,228,68                  // vpshufd       $0x44,%xmm4,%xmm4
+  .byte  197,212,87,237                      // vxorps        %ymm5,%ymm5,%ymm5
+  .byte  196,99,85,12,204,4                  // vblendps      $0x4,%ymm4,%ymm5,%ymm9
+  .byte  196,193,123,16,36,144               // vmovsd        (%r8,%rdx,4),%xmm4
+  .byte  196,99,53,13,204,1                  // vblendpd      $0x1,%ymm4,%ymm9,%ymm9
+  .byte  233,29,255,255,255                  // jmpq          168d4 <_sk_load_1010102_dst_avx+0x20>
+  .byte  196,193,121,110,100,144,24          // vmovd         0x18(%r8,%rdx,4),%xmm4
+  .byte  197,249,112,228,68                  // vpshufd       $0x44,%xmm4,%xmm4
+  .byte  196,227,125,24,228,1                // vinsertf128   $0x1,%xmm4,%ymm0,%ymm4
+  .byte  197,212,87,237                      // vxorps        %ymm5,%ymm5,%ymm5
+  .byte  196,99,85,12,204,64                 // vblendps      $0x40,%ymm4,%ymm5,%ymm9
+  .byte  196,99,125,25,204,1                 // vextractf128  $0x1,%ymm9,%xmm4
+  .byte  196,195,89,34,100,144,20,1          // vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm4,%xmm4
+  .byte  196,99,53,24,204,1                  // vinsertf128   $0x1,%xmm4,%ymm9,%ymm9
+  .byte  196,99,125,25,204,1                 // vextractf128  $0x1,%ymm9,%xmm4
+  .byte  196,195,89,34,100,144,16,0          // vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm4,%xmm4
+  .byte  196,99,53,24,204,1                  // vinsertf128   $0x1,%xmm4,%ymm9,%ymm9
+  .byte  196,193,121,16,36,144               // vmovupd       (%r8,%rdx,4),%xmm4
+  .byte  196,67,93,13,201,12                 // vblendpd      $0xc,%ymm9,%ymm4,%ymm9
+  .byte  233,200,254,255,255                 // jmpq          168d4 <_sk_load_1010102_dst_avx+0x20>
+  .byte  121,255                             // jns           16a0d <_sk_load_1010102_dst_avx+0x159>
+  .byte  255                                 // (bad)
+  .byte  255,154,255,255,255,132             // lcall         *-0x7b000001(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  239                                 // out           %eax,(%dx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  219,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,199                             // inc           %edi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+  .byte  171                                 // stos          %eax,%es:(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_gather_1010102_avx
+.globl _sk_gather_1010102_avx
+FUNCTION(_sk_gather_1010102_avx)
+_sk_gather_1010102_avx:
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,80,12                // vbroadcastss  0xc(%rax),%ymm2
+  .byte  196,227,125,25,211,1                // vextractf128  $0x1,%ymm2,%xmm3
+  .byte  196,65,57,118,192                   // vpcmpeqd      %xmm8,%xmm8,%xmm8
+  .byte  196,193,97,254,216                  // vpaddd        %xmm8,%xmm3,%xmm3
+  .byte  196,193,105,254,208                 // vpaddd        %xmm8,%xmm2,%xmm2
+  .byte  196,227,109,24,211,1                // vinsertf128   $0x1,%xmm3,%ymm2,%ymm2
+  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
+  .byte  197,180,95,192                      // vmaxps        %ymm0,%ymm9,%ymm0
+  .byte  197,252,93,194                      // vminps        %ymm2,%ymm0,%ymm0
+  .byte  196,226,125,24,80,16                // vbroadcastss  0x10(%rax),%ymm2
+  .byte  196,227,125,25,211,1                // vextractf128  $0x1,%ymm2,%xmm3
+  .byte  196,193,97,254,216                  // vpaddd        %xmm8,%xmm3,%xmm3
+  .byte  196,193,105,254,208                 // vpaddd        %xmm8,%xmm2,%xmm2
+  .byte  196,227,109,24,211,1                // vinsertf128   $0x1,%xmm3,%ymm2,%ymm2
+  .byte  197,180,95,201                      // vmaxps        %ymm1,%ymm9,%ymm1
+  .byte  197,244,93,202                      // vminps        %ymm2,%ymm1,%ymm1
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
+  .byte  197,249,110,80,8                    // vmovd         0x8(%rax),%xmm2
+  .byte  197,249,112,210,0                   // vpshufd       $0x0,%xmm2,%xmm2
+  .byte  196,226,105,64,217                  // vpmulld       %xmm1,%xmm2,%xmm3
+  .byte  196,227,125,25,201,1                // vextractf128  $0x1,%ymm1,%xmm1
+  .byte  196,226,105,64,201                  // vpmulld       %xmm1,%xmm2,%xmm1
+  .byte  197,254,91,192                      // vcvttps2dq    %ymm0,%ymm0
+  .byte  196,227,125,25,194,1                // vextractf128  $0x1,%ymm0,%xmm2
+  .byte  197,241,254,202                     // vpaddd        %xmm2,%xmm1,%xmm1
+  .byte  196,225,249,126,200                 // vmovq         %xmm1,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  197,225,254,192                     // vpaddd        %xmm0,%xmm3,%xmm0
+  .byte  196,193,249,126,194                 // vmovq         %xmm0,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,227,249,22,203,1                // vpextrq       $0x1,%xmm1,%rbx
+  .byte  65,137,222                          // mov           %ebx,%r14d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  196,195,249,22,199,1                // vpextrq       $0x1,%xmm0,%r15
+  .byte  69,137,252                          // mov           %r15d,%r12d
+  .byte  73,193,239,32                       // shr           $0x20,%r15
+  .byte  196,129,121,110,4,152               // vmovd         (%r8,%r11,4),%xmm0
+  .byte  196,131,121,34,4,144,1              // vpinsrd       $0x1,(%r8,%r10,4),%xmm0,%xmm0
+  .byte  196,131,121,34,4,160,2              // vpinsrd       $0x2,(%r8,%r12,4),%xmm0,%xmm0
+  .byte  196,3,121,34,4,184,3                // vpinsrd       $0x3,(%r8,%r15,4),%xmm0,%xmm8
+  .byte  196,129,121,110,4,136               // vmovd         (%r8,%r9,4),%xmm0
+  .byte  196,195,121,34,4,128,1              // vpinsrd       $0x1,(%r8,%rax,4),%xmm0,%xmm0
+  .byte  196,131,121,34,4,176,2              // vpinsrd       $0x2,(%r8,%r14,4),%xmm0,%xmm0
+  .byte  196,195,121,34,28,152,3             // vpinsrd       $0x3,(%r8,%rbx,4),%xmm0,%xmm3
+  .byte  196,227,61,24,195,1                 // vinsertf128   $0x1,%xmm3,%ymm8,%ymm0
+  .byte  196,98,125,24,29,235,90,2,0         // vbroadcastss  0x25aeb(%rip),%ymm11        # 3c618 <_sk_srcover_bgra_8888_sse2_lowp+0x3cc>
+  .byte  196,193,124,84,195                  // vandps        %ymm11,%ymm0,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,98,125,24,13,221,90,2,0         // vbroadcastss  0x25add(%rip),%ymm9        # 3c61c <_sk_srcover_bgra_8888_sse2_lowp+0x3d0>
+  .byte  196,193,124,89,193                  // vmulps        %ymm9,%ymm0,%ymm0
+  .byte  196,193,41,114,208,10               // vpsrld        $0xa,%xmm8,%xmm10
+  .byte  197,241,114,211,10                  // vpsrld        $0xa,%xmm3,%xmm1
+  .byte  196,227,45,24,201,1                 // vinsertf128   $0x1,%xmm1,%ymm10,%ymm1
+  .byte  196,193,116,84,203                  // vandps        %ymm11,%ymm1,%ymm1
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  196,193,116,89,201                  // vmulps        %ymm9,%ymm1,%ymm1
+  .byte  196,193,41,114,208,20               // vpsrld        $0x14,%xmm8,%xmm10
+  .byte  197,233,114,211,20                  // vpsrld        $0x14,%xmm3,%xmm2
+  .byte  196,227,45,24,210,1                 // vinsertf128   $0x1,%xmm2,%ymm10,%ymm2
+  .byte  196,193,108,84,211                  // vandps        %ymm11,%ymm2,%ymm2
+  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
+  .byte  196,193,108,89,209                  // vmulps        %ymm9,%ymm2,%ymm2
+  .byte  196,193,57,114,208,30               // vpsrld        $0x1e,%xmm8,%xmm8
+  .byte  197,225,114,211,30                  // vpsrld        $0x1e,%xmm3,%xmm3
+  .byte  196,227,61,24,219,1                 // vinsertf128   $0x1,%xmm3,%ymm8,%ymm3
+  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
+  .byte  196,98,125,24,5,200,89,2,0          // vbroadcastss  0x259c8(%rip),%ymm8        # 3c568 <_sk_srcover_bgra_8888_sse2_lowp+0x31c>
+  .byte  196,193,100,89,216                  // vmulps        %ymm8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_store_1010102_avx
+.globl _sk_store_1010102_avx
+FUNCTION(_sk_store_1010102_avx)
+_sk_store_1010102_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,60,95,200                       // vmaxps        %ymm0,%ymm8,%ymm9
+  .byte  196,98,125,24,21,41,89,2,0          // vbroadcastss  0x25929(%rip),%ymm10        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,65,52,93,202                    // vminps        %ymm10,%ymm9,%ymm9
+  .byte  196,98,125,24,29,63,90,2,0          // vbroadcastss  0x25a3f(%rip),%ymm11        # 3c620 <_sk_srcover_bgra_8888_sse2_lowp+0x3d4>
+  .byte  196,65,52,89,203                    // vmulps        %ymm11,%ymm9,%ymm9
+  .byte  196,65,125,91,201                   // vcvtps2dq     %ymm9,%ymm9
+  .byte  197,60,95,225                       // vmaxps        %ymm1,%ymm8,%ymm12
+  .byte  196,65,28,93,226                    // vminps        %ymm10,%ymm12,%ymm12
+  .byte  196,65,28,89,227                    // vmulps        %ymm11,%ymm12,%ymm12
+  .byte  196,65,125,91,228                   // vcvtps2dq     %ymm12,%ymm12
+  .byte  196,193,17,114,244,10               // vpslld        $0xa,%xmm12,%xmm13
+  .byte  196,67,125,25,228,1                 // vextractf128  $0x1,%ymm12,%xmm12
+  .byte  196,193,25,114,244,10               // vpslld        $0xa,%xmm12,%xmm12
+  .byte  196,67,21,24,228,1                  // vinsertf128   $0x1,%xmm12,%ymm13,%ymm12
+  .byte  196,65,29,86,201                    // vorpd         %ymm9,%ymm12,%ymm9
+  .byte  197,60,95,226                       // vmaxps        %ymm2,%ymm8,%ymm12
+  .byte  196,65,28,93,226                    // vminps        %ymm10,%ymm12,%ymm12
+  .byte  196,65,28,89,219                    // vmulps        %ymm11,%ymm12,%ymm11
+  .byte  196,65,125,91,219                   // vcvtps2dq     %ymm11,%ymm11
+  .byte  196,193,25,114,243,20               // vpslld        $0x14,%xmm11,%xmm12
+  .byte  196,67,125,25,219,1                 // vextractf128  $0x1,%ymm11,%xmm11
+  .byte  196,193,33,114,243,20               // vpslld        $0x14,%xmm11,%xmm11
+  .byte  196,67,29,24,219,1                  // vinsertf128   $0x1,%xmm11,%ymm12,%ymm11
+  .byte  197,60,95,195                       // vmaxps        %ymm3,%ymm8,%ymm8
+  .byte  196,65,60,93,194                    // vminps        %ymm10,%ymm8,%ymm8
+  .byte  196,98,125,24,21,204,89,2,0         // vbroadcastss  0x259cc(%rip),%ymm10        # 3c624 <_sk_srcover_bgra_8888_sse2_lowp+0x3d8>
+  .byte  196,65,60,89,194                    // vmulps        %ymm10,%ymm8,%ymm8
+  .byte  196,65,125,91,192                   // vcvtps2dq     %ymm8,%ymm8
+  .byte  196,193,41,114,240,30               // vpslld        $0x1e,%xmm8,%xmm10
+  .byte  196,67,125,25,192,1                 // vextractf128  $0x1,%ymm8,%xmm8
+  .byte  196,193,57,114,240,30               // vpslld        $0x1e,%xmm8,%xmm8
+  .byte  196,67,45,24,192,1                  // vinsertf128   $0x1,%xmm8,%ymm10,%ymm8
+  .byte  196,65,37,86,192                    // vorpd         %ymm8,%ymm11,%ymm8
+  .byte  196,65,53,86,192                    // vorpd         %ymm8,%ymm9,%ymm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,10                              // jne           16c93 <_sk_store_1010102_avx+0xe3>
+  .byte  196,65,124,17,4,144                 // vmovups       %ymm8,(%r8,%rdx,4)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,242                             // ja            16c8f <_sk_store_1010102_avx+0xdf>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,85,0,0,0                  // lea           0x55(%rip),%r9        # 16cfc <_sk_store_1010102_avx+0x14c>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,65,121,126,4,144                // vmovd         %xmm8,(%r8,%rdx,4)
+  .byte  235,215                             // jmp           16c8f <_sk_store_1010102_avx+0xdf>
+  .byte  196,67,121,22,68,144,8,2            // vpextrd       $0x2,%xmm8,0x8(%r8,%rdx,4)
+  .byte  196,65,121,214,4,144                // vmovq         %xmm8,(%r8,%rdx,4)
+  .byte  235,199                             // jmp           16c8f <_sk_store_1010102_avx+0xdf>
+  .byte  196,67,125,25,193,1                 // vextractf128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,22,76,144,24,2           // vpextrd       $0x2,%xmm9,0x18(%r8,%rdx,4)
+  .byte  196,67,125,25,193,1                 // vextractf128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,22,76,144,20,1           // vpextrd       $0x1,%xmm9,0x14(%r8,%rdx,4)
+  .byte  196,67,125,25,193,1                 // vextractf128  $0x1,%ymm8,%xmm9
+  .byte  196,65,122,17,76,144,16             // vmovss        %xmm9,0x10(%r8,%rdx,4)
+  .byte  196,65,121,17,4,144                 // vmovupd       %xmm8,(%r8,%rdx,4)
+  .byte  235,150                             // jmp           16c8f <_sk_store_1010102_avx+0xdf>
+  .byte  15,31,0                             // nopl          (%rax)
+  .byte  180,255                             // mov           $0xff,%ah
+  .byte  255                                 // (bad)
+  .byte  255,196                             // inc           %esp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  188,255,255,255,245                 // mov           $0xf5ffffff,%esp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  232,255,255,255,218                 // callq         ffffffffdb016d10 <_sk_srcover_bgra_8888_sse2_lowp+0xffffffffdafdaac4>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,204                             // dec           %esp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_f16_avx
+.globl _sk_load_f16_avx
+FUNCTION(_sk_load_f16_avx)
+_sk_load_f16_avx:
+  .byte  72,131,236,24                       // sub           $0x18,%rsp
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,3                        // shl           $0x3,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  197,252,17,124,36,224               // vmovups       %ymm7,-0x20(%rsp)
+  .byte  197,252,17,116,36,192               // vmovups       %ymm6,-0x40(%rsp)
+  .byte  197,252,17,108,36,160               // vmovups       %ymm5,-0x60(%rsp)
+  .byte  197,252,17,100,36,128               // vmovups       %ymm4,-0x80(%rsp)
+  .byte  15,133,31,2,0,0                     // jne           16f6d <_sk_load_f16_avx+0x255>
+  .byte  196,65,121,16,4,208                 // vmovupd       (%r8,%rdx,8),%xmm8
+  .byte  196,193,121,16,84,208,16            // vmovupd       0x10(%r8,%rdx,8),%xmm2
+  .byte  196,193,121,16,92,208,32            // vmovupd       0x20(%r8,%rdx,8),%xmm3
+  .byte  196,65,122,111,76,208,48            // vmovdqu       0x30(%r8,%rdx,8),%xmm9
+  .byte  197,185,97,194                      // vpunpcklwd    %xmm2,%xmm8,%xmm0
+  .byte  197,185,105,210                     // vpunpckhwd    %xmm2,%xmm8,%xmm2
+  .byte  196,193,97,97,201                   // vpunpcklwd    %xmm9,%xmm3,%xmm1
+  .byte  196,193,97,105,217                  // vpunpckhwd    %xmm9,%xmm3,%xmm3
+  .byte  197,121,97,242                      // vpunpcklwd    %xmm2,%xmm0,%xmm14
+  .byte  197,121,105,194                     // vpunpckhwd    %xmm2,%xmm0,%xmm8
+  .byte  197,113,97,251                      // vpunpcklwd    %xmm3,%xmm1,%xmm15
+  .byte  197,113,105,203                     // vpunpckhwd    %xmm3,%xmm1,%xmm9
+  .byte  196,193,9,108,199                   // vpunpcklqdq   %xmm15,%xmm14,%xmm0
+  .byte  196,226,121,51,200                  // vpmovzxwd     %xmm0,%xmm1
+  .byte  197,249,112,192,78                  // vpshufd       $0x4e,%xmm0,%xmm0
+  .byte  196,226,121,51,192                  // vpmovzxwd     %xmm0,%xmm0
+  .byte  197,123,18,21,193,105,2,0           // vmovddup      0x269c1(%rip),%xmm10        # 3d768 <_sk_srcover_bgra_8888_sse2_lowp+0x151c>
+  .byte  196,193,121,219,218                 // vpand         %xmm10,%xmm0,%xmm3
+  .byte  196,98,121,24,29,219,88,2,0         // vbroadcastss  0x258db(%rip),%xmm11        # 3c690 <_sk_srcover_bgra_8888_sse2_lowp+0x444>
+  .byte  197,33,102,227                      // vpcmpgtd      %xmm3,%xmm11,%xmm12
+  .byte  196,193,113,219,210                 // vpand         %xmm10,%xmm1,%xmm2
+  .byte  197,33,102,234                      // vpcmpgtd      %xmm2,%xmm11,%xmm13
+  .byte  196,195,21,24,252,1                 // vinsertf128   $0x1,%xmm12,%ymm13,%ymm7
+  .byte  197,123,18,37,160,105,2,0           // vmovddup      0x269a0(%rip),%xmm12        # 3d770 <_sk_srcover_bgra_8888_sse2_lowp+0x1524>
+  .byte  196,193,113,219,204                 // vpand         %xmm12,%xmm1,%xmm1
+  .byte  197,241,114,241,16                  // vpslld        $0x10,%xmm1,%xmm1
+  .byte  196,193,121,219,196                 // vpand         %xmm12,%xmm0,%xmm0
+  .byte  197,249,114,240,16                  // vpslld        $0x10,%xmm0,%xmm0
+  .byte  197,233,114,242,13                  // vpslld        $0xd,%xmm2,%xmm2
+  .byte  197,241,235,202                     // vpor          %xmm2,%xmm1,%xmm1
+  .byte  197,233,114,243,13                  // vpslld        $0xd,%xmm3,%xmm2
+  .byte  197,249,235,194                     // vpor          %xmm2,%xmm0,%xmm0
+  .byte  196,226,121,24,29,149,88,2,0        // vbroadcastss  0x25895(%rip),%xmm3        # 3c694 <_sk_srcover_bgra_8888_sse2_lowp+0x448>
+  .byte  197,249,254,195                     // vpaddd        %xmm3,%xmm0,%xmm0
+  .byte  197,241,254,203                     // vpaddd        %xmm3,%xmm1,%xmm1
+  .byte  196,227,117,24,192,1                // vinsertf128   $0x1,%xmm0,%ymm1,%ymm0
+  .byte  197,220,87,228                      // vxorps        %ymm4,%ymm4,%ymm4
+  .byte  196,227,125,74,196,112              // vblendvps     %ymm7,%ymm4,%ymm0,%ymm0
+  .byte  196,193,9,109,207                   // vpunpckhqdq   %xmm15,%xmm14,%xmm1
+  .byte  196,226,121,51,209                  // vpmovzxwd     %xmm1,%xmm2
+  .byte  197,249,112,201,78                  // vpshufd       $0x4e,%xmm1,%xmm1
+  .byte  196,98,121,51,249                   // vpmovzxwd     %xmm1,%xmm15
+  .byte  196,193,1,219,250                   // vpand         %xmm10,%xmm15,%xmm7
+  .byte  197,33,102,247                      // vpcmpgtd      %xmm7,%xmm11,%xmm14
+  .byte  196,193,105,219,202                 // vpand         %xmm10,%xmm2,%xmm1
+  .byte  197,33,102,233                      // vpcmpgtd      %xmm1,%xmm11,%xmm13
+  .byte  196,67,21,24,238,1                  // vinsertf128   $0x1,%xmm14,%ymm13,%ymm13
+  .byte  196,193,105,219,212                 // vpand         %xmm12,%xmm2,%xmm2
+  .byte  197,233,114,242,16                  // vpslld        $0x10,%xmm2,%xmm2
+  .byte  197,241,114,241,13                  // vpslld        $0xd,%xmm1,%xmm1
+  .byte  197,233,235,201                     // vpor          %xmm1,%xmm2,%xmm1
+  .byte  196,193,1,219,212                   // vpand         %xmm12,%xmm15,%xmm2
+  .byte  197,233,114,242,16                  // vpslld        $0x10,%xmm2,%xmm2
+  .byte  197,193,114,247,13                  // vpslld        $0xd,%xmm7,%xmm7
+  .byte  197,233,235,215                     // vpor          %xmm7,%xmm2,%xmm2
+  .byte  197,233,254,211                     // vpaddd        %xmm3,%xmm2,%xmm2
+  .byte  197,241,254,203                     // vpaddd        %xmm3,%xmm1,%xmm1
+  .byte  196,227,117,24,202,1                // vinsertf128   $0x1,%xmm2,%ymm1,%ymm1
+  .byte  196,227,117,74,204,208              // vblendvps     %ymm13,%ymm4,%ymm1,%ymm1
+  .byte  196,193,57,108,209                  // vpunpcklqdq   %xmm9,%xmm8,%xmm2
+  .byte  196,226,121,51,250                  // vpmovzxwd     %xmm2,%xmm7
+  .byte  197,249,112,210,78                  // vpshufd       $0x4e,%xmm2,%xmm2
+  .byte  196,98,121,51,234                   // vpmovzxwd     %xmm2,%xmm13
+  .byte  196,65,17,219,250                   // vpand         %xmm10,%xmm13,%xmm15
+  .byte  196,65,33,102,247                   // vpcmpgtd      %xmm15,%xmm11,%xmm14
+  .byte  196,193,65,219,210                  // vpand         %xmm10,%xmm7,%xmm2
+  .byte  197,161,102,242                     // vpcmpgtd      %xmm2,%xmm11,%xmm6
+  .byte  196,195,77,24,246,1                 // vinsertf128   $0x1,%xmm14,%ymm6,%ymm6
+  .byte  196,193,65,219,252                  // vpand         %xmm12,%xmm7,%xmm7
+  .byte  197,193,114,247,16                  // vpslld        $0x10,%xmm7,%xmm7
+  .byte  197,233,114,242,13                  // vpslld        $0xd,%xmm2,%xmm2
+  .byte  197,193,235,210                     // vpor          %xmm2,%xmm7,%xmm2
+  .byte  196,193,17,219,252                  // vpand         %xmm12,%xmm13,%xmm7
+  .byte  197,193,114,247,16                  // vpslld        $0x10,%xmm7,%xmm7
+  .byte  196,193,81,114,247,13               // vpslld        $0xd,%xmm15,%xmm5
+  .byte  197,193,235,237                     // vpor          %xmm5,%xmm7,%xmm5
+  .byte  197,209,254,235                     // vpaddd        %xmm3,%xmm5,%xmm5
+  .byte  197,233,254,211                     // vpaddd        %xmm3,%xmm2,%xmm2
+  .byte  196,227,109,24,213,1                // vinsertf128   $0x1,%xmm5,%ymm2,%ymm2
+  .byte  196,227,109,74,212,96               // vblendvps     %ymm6,%ymm4,%ymm2,%ymm2
+  .byte  196,193,57,109,233                  // vpunpckhqdq   %xmm9,%xmm8,%xmm5
+  .byte  196,226,121,51,245                  // vpmovzxwd     %xmm5,%xmm6
+  .byte  197,249,112,237,78                  // vpshufd       $0x4e,%xmm5,%xmm5
+  .byte  196,226,121,51,237                  // vpmovzxwd     %xmm5,%xmm5
+  .byte  196,65,81,219,202                   // vpand         %xmm10,%xmm5,%xmm9
+  .byte  196,65,33,102,193                   // vpcmpgtd      %xmm9,%xmm11,%xmm8
+  .byte  196,193,73,219,250                  // vpand         %xmm10,%xmm6,%xmm7
+  .byte  197,33,102,215                      // vpcmpgtd      %xmm7,%xmm11,%xmm10
+  .byte  196,67,45,24,192,1                  // vinsertf128   $0x1,%xmm8,%ymm10,%ymm8
+  .byte  196,193,73,219,244                  // vpand         %xmm12,%xmm6,%xmm6
+  .byte  196,193,81,219,236                  // vpand         %xmm12,%xmm5,%xmm5
+  .byte  197,201,114,246,16                  // vpslld        $0x10,%xmm6,%xmm6
+  .byte  197,193,114,247,13                  // vpslld        $0xd,%xmm7,%xmm7
+  .byte  197,201,235,247                     // vpor          %xmm7,%xmm6,%xmm6
+  .byte  197,209,114,245,16                  // vpslld        $0x10,%xmm5,%xmm5
+  .byte  196,193,65,114,241,13               // vpslld        $0xd,%xmm9,%xmm7
+  .byte  197,209,235,239                     // vpor          %xmm7,%xmm5,%xmm5
+  .byte  197,209,254,235                     // vpaddd        %xmm3,%xmm5,%xmm5
+  .byte  197,201,254,219                     // vpaddd        %xmm3,%xmm6,%xmm3
+  .byte  196,227,101,24,221,1                // vinsertf128   $0x1,%xmm5,%ymm3,%ymm3
+  .byte  196,227,101,74,220,128              // vblendvps     %ymm8,%ymm4,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,16,100,36,128               // vmovups       -0x80(%rsp),%ymm4
+  .byte  197,252,16,108,36,160               // vmovups       -0x60(%rsp),%ymm5
+  .byte  197,252,16,116,36,192               // vmovups       -0x40(%rsp),%ymm6
+  .byte  197,252,16,124,36,224               // vmovups       -0x20(%rsp),%ymm7
+  .byte  72,131,196,24                       // add           $0x18,%rsp
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,65,123,16,4,208                 // vmovsd        (%r8,%rdx,8),%xmm8
+  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  116,85                              // je            16fd3 <_sk_load_f16_avx+0x2bb>
+  .byte  196,65,57,22,68,208,8               // vmovhpd       0x8(%r8,%rdx,8),%xmm8,%xmm8
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  114,72                              // jb            16fd3 <_sk_load_f16_avx+0x2bb>
+  .byte  196,193,123,16,84,208,16            // vmovsd        0x10(%r8,%rdx,8),%xmm2
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  116,72                              // je            16fe0 <_sk_load_f16_avx+0x2c8>
+  .byte  196,193,105,22,84,208,24            // vmovhpd       0x18(%r8,%rdx,8),%xmm2,%xmm2
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  114,59                              // jb            16fe0 <_sk_load_f16_avx+0x2c8>
+  .byte  196,193,123,16,92,208,32            // vmovsd        0x20(%r8,%rdx,8),%xmm3
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  15,132,179,253,255,255              // je            16d69 <_sk_load_f16_avx+0x51>
+  .byte  196,193,97,22,92,208,40             // vmovhpd       0x28(%r8,%rdx,8),%xmm3,%xmm3
+  .byte  72,131,255,7                        // cmp           $0x7,%rdi
+  .byte  15,130,162,253,255,255              // jb            16d69 <_sk_load_f16_avx+0x51>
+  .byte  196,65,122,126,76,208,48            // vmovq         0x30(%r8,%rdx,8),%xmm9
+  .byte  233,150,253,255,255                 // jmpq          16d69 <_sk_load_f16_avx+0x51>
+  .byte  197,225,87,219                      // vxorpd        %xmm3,%xmm3,%xmm3
+  .byte  197,233,87,210                      // vxorpd        %xmm2,%xmm2,%xmm2
+  .byte  233,137,253,255,255                 // jmpq          16d69 <_sk_load_f16_avx+0x51>
+  .byte  197,225,87,219                      // vxorpd        %xmm3,%xmm3,%xmm3
+  .byte  233,128,253,255,255                 // jmpq          16d69 <_sk_load_f16_avx+0x51>
+
+HIDDEN _sk_load_f16_dst_avx
+.globl _sk_load_f16_dst_avx
+FUNCTION(_sk_load_f16_dst_avx)
+_sk_load_f16_dst_avx:
+  .byte  72,131,236,24                       // sub           $0x18,%rsp
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,3                        // shl           $0x3,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  197,252,17,92,36,224                // vmovups       %ymm3,-0x20(%rsp)
+  .byte  197,252,17,84,36,192                // vmovups       %ymm2,-0x40(%rsp)
+  .byte  197,252,17,76,36,160                // vmovups       %ymm1,-0x60(%rsp)
+  .byte  197,252,17,68,36,128                // vmovups       %ymm0,-0x80(%rsp)
+  .byte  15,133,31,2,0,0                     // jne           1723e <_sk_load_f16_dst_avx+0x255>
+  .byte  196,65,121,16,4,208                 // vmovupd       (%r8,%rdx,8),%xmm8
+  .byte  196,193,121,16,116,208,16           // vmovupd       0x10(%r8,%rdx,8),%xmm6
+  .byte  196,193,121,16,124,208,32           // vmovupd       0x20(%r8,%rdx,8),%xmm7
+  .byte  196,65,122,111,76,208,48            // vmovdqu       0x30(%r8,%rdx,8),%xmm9
+  .byte  197,185,97,230                      // vpunpcklwd    %xmm6,%xmm8,%xmm4
+  .byte  197,185,105,246                     // vpunpckhwd    %xmm6,%xmm8,%xmm6
+  .byte  196,193,65,97,233                   // vpunpcklwd    %xmm9,%xmm7,%xmm5
+  .byte  196,193,65,105,249                  // vpunpckhwd    %xmm9,%xmm7,%xmm7
+  .byte  197,89,97,246                       // vpunpcklwd    %xmm6,%xmm4,%xmm14
+  .byte  197,89,105,198                      // vpunpckhwd    %xmm6,%xmm4,%xmm8
+  .byte  197,81,97,255                       // vpunpcklwd    %xmm7,%xmm5,%xmm15
+  .byte  197,81,105,207                      // vpunpckhwd    %xmm7,%xmm5,%xmm9
+  .byte  196,193,9,108,231                   // vpunpcklqdq   %xmm15,%xmm14,%xmm4
+  .byte  196,226,121,51,236                  // vpmovzxwd     %xmm4,%xmm5
+  .byte  197,249,112,228,78                  // vpshufd       $0x4e,%xmm4,%xmm4
+  .byte  196,226,121,51,228                  // vpmovzxwd     %xmm4,%xmm4
+  .byte  197,123,18,21,240,102,2,0           // vmovddup      0x266f0(%rip),%xmm10        # 3d768 <_sk_srcover_bgra_8888_sse2_lowp+0x151c>
+  .byte  196,193,89,219,250                  // vpand         %xmm10,%xmm4,%xmm7
+  .byte  196,98,121,24,29,10,86,2,0          // vbroadcastss  0x2560a(%rip),%xmm11        # 3c690 <_sk_srcover_bgra_8888_sse2_lowp+0x444>
+  .byte  197,33,102,231                      // vpcmpgtd      %xmm7,%xmm11,%xmm12
+  .byte  196,193,81,219,242                  // vpand         %xmm10,%xmm5,%xmm6
+  .byte  197,33,102,238                      // vpcmpgtd      %xmm6,%xmm11,%xmm13
+  .byte  196,195,21,24,220,1                 // vinsertf128   $0x1,%xmm12,%ymm13,%ymm3
+  .byte  197,123,18,37,207,102,2,0           // vmovddup      0x266cf(%rip),%xmm12        # 3d770 <_sk_srcover_bgra_8888_sse2_lowp+0x1524>
+  .byte  196,193,81,219,236                  // vpand         %xmm12,%xmm5,%xmm5
+  .byte  197,209,114,245,16                  // vpslld        $0x10,%xmm5,%xmm5
+  .byte  196,193,89,219,228                  // vpand         %xmm12,%xmm4,%xmm4
+  .byte  197,217,114,244,16                  // vpslld        $0x10,%xmm4,%xmm4
+  .byte  197,201,114,246,13                  // vpslld        $0xd,%xmm6,%xmm6
+  .byte  197,209,235,238                     // vpor          %xmm6,%xmm5,%xmm5
+  .byte  197,201,114,247,13                  // vpslld        $0xd,%xmm7,%xmm6
+  .byte  197,217,235,230                     // vpor          %xmm6,%xmm4,%xmm4
+  .byte  196,226,121,24,61,196,85,2,0        // vbroadcastss  0x255c4(%rip),%xmm7        # 3c694 <_sk_srcover_bgra_8888_sse2_lowp+0x448>
+  .byte  197,217,254,231                     // vpaddd        %xmm7,%xmm4,%xmm4
+  .byte  197,209,254,239                     // vpaddd        %xmm7,%xmm5,%xmm5
+  .byte  196,227,85,24,228,1                 // vinsertf128   $0x1,%xmm4,%ymm5,%ymm4
+  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
+  .byte  196,227,93,74,224,48                // vblendvps     %ymm3,%ymm0,%ymm4,%ymm4
+  .byte  196,193,9,109,223                   // vpunpckhqdq   %xmm15,%xmm14,%xmm3
+  .byte  196,226,121,51,235                  // vpmovzxwd     %xmm3,%xmm5
+  .byte  197,249,112,219,78                  // vpshufd       $0x4e,%xmm3,%xmm3
+  .byte  196,98,121,51,251                   // vpmovzxwd     %xmm3,%xmm15
+  .byte  196,193,1,219,242                   // vpand         %xmm10,%xmm15,%xmm6
+  .byte  197,33,102,246                      // vpcmpgtd      %xmm6,%xmm11,%xmm14
+  .byte  196,193,81,219,218                  // vpand         %xmm10,%xmm5,%xmm3
+  .byte  197,33,102,235                      // vpcmpgtd      %xmm3,%xmm11,%xmm13
+  .byte  196,67,21,24,238,1                  // vinsertf128   $0x1,%xmm14,%ymm13,%ymm13
+  .byte  196,193,81,219,236                  // vpand         %xmm12,%xmm5,%xmm5
+  .byte  197,209,114,245,16                  // vpslld        $0x10,%xmm5,%xmm5
+  .byte  197,225,114,243,13                  // vpslld        $0xd,%xmm3,%xmm3
+  .byte  197,209,235,219                     // vpor          %xmm3,%xmm5,%xmm3
+  .byte  196,193,1,219,236                   // vpand         %xmm12,%xmm15,%xmm5
+  .byte  197,209,114,245,16                  // vpslld        $0x10,%xmm5,%xmm5
+  .byte  197,201,114,246,13                  // vpslld        $0xd,%xmm6,%xmm6
+  .byte  197,209,235,238                     // vpor          %xmm6,%xmm5,%xmm5
+  .byte  197,209,254,239                     // vpaddd        %xmm7,%xmm5,%xmm5
+  .byte  197,225,254,223                     // vpaddd        %xmm7,%xmm3,%xmm3
+  .byte  196,227,101,24,221,1                // vinsertf128   $0x1,%xmm5,%ymm3,%ymm3
+  .byte  196,227,101,74,232,208              // vblendvps     %ymm13,%ymm0,%ymm3,%ymm5
+  .byte  196,193,57,108,217                  // vpunpcklqdq   %xmm9,%xmm8,%xmm3
+  .byte  196,226,121,51,243                  // vpmovzxwd     %xmm3,%xmm6
+  .byte  197,249,112,219,78                  // vpshufd       $0x4e,%xmm3,%xmm3
+  .byte  196,98,121,51,235                   // vpmovzxwd     %xmm3,%xmm13
+  .byte  196,65,17,219,250                   // vpand         %xmm10,%xmm13,%xmm15
+  .byte  196,65,33,102,247                   // vpcmpgtd      %xmm15,%xmm11,%xmm14
+  .byte  196,193,73,219,218                  // vpand         %xmm10,%xmm6,%xmm3
+  .byte  197,161,102,211                     // vpcmpgtd      %xmm3,%xmm11,%xmm2
+  .byte  196,195,109,24,214,1                // vinsertf128   $0x1,%xmm14,%ymm2,%ymm2
+  .byte  196,193,73,219,244                  // vpand         %xmm12,%xmm6,%xmm6
+  .byte  197,201,114,246,16                  // vpslld        $0x10,%xmm6,%xmm6
+  .byte  197,225,114,243,13                  // vpslld        $0xd,%xmm3,%xmm3
+  .byte  197,201,235,219                     // vpor          %xmm3,%xmm6,%xmm3
+  .byte  196,193,17,219,244                  // vpand         %xmm12,%xmm13,%xmm6
+  .byte  197,201,114,246,16                  // vpslld        $0x10,%xmm6,%xmm6
+  .byte  196,193,113,114,247,13              // vpslld        $0xd,%xmm15,%xmm1
+  .byte  197,201,235,201                     // vpor          %xmm1,%xmm6,%xmm1
+  .byte  197,241,254,207                     // vpaddd        %xmm7,%xmm1,%xmm1
+  .byte  197,225,254,223                     // vpaddd        %xmm7,%xmm3,%xmm3
+  .byte  196,227,101,24,201,1                // vinsertf128   $0x1,%xmm1,%ymm3,%ymm1
+  .byte  196,227,117,74,240,32               // vblendvps     %ymm2,%ymm0,%ymm1,%ymm6
+  .byte  196,193,57,109,201                  // vpunpckhqdq   %xmm9,%xmm8,%xmm1
+  .byte  196,226,121,51,209                  // vpmovzxwd     %xmm1,%xmm2
+  .byte  197,249,112,201,78                  // vpshufd       $0x4e,%xmm1,%xmm1
+  .byte  196,226,121,51,201                  // vpmovzxwd     %xmm1,%xmm1
+  .byte  196,65,113,219,202                  // vpand         %xmm10,%xmm1,%xmm9
+  .byte  196,65,33,102,193                   // vpcmpgtd      %xmm9,%xmm11,%xmm8
+  .byte  196,193,105,219,218                 // vpand         %xmm10,%xmm2,%xmm3
+  .byte  197,33,102,211                      // vpcmpgtd      %xmm3,%xmm11,%xmm10
+  .byte  196,67,45,24,192,1                  // vinsertf128   $0x1,%xmm8,%ymm10,%ymm8
+  .byte  196,193,105,219,212                 // vpand         %xmm12,%xmm2,%xmm2
+  .byte  196,193,113,219,204                 // vpand         %xmm12,%xmm1,%xmm1
+  .byte  197,233,114,242,16                  // vpslld        $0x10,%xmm2,%xmm2
+  .byte  197,225,114,243,13                  // vpslld        $0xd,%xmm3,%xmm3
+  .byte  197,233,235,211                     // vpor          %xmm3,%xmm2,%xmm2
+  .byte  197,241,114,241,16                  // vpslld        $0x10,%xmm1,%xmm1
+  .byte  196,193,97,114,241,13               // vpslld        $0xd,%xmm9,%xmm3
+  .byte  197,241,235,203                     // vpor          %xmm3,%xmm1,%xmm1
+  .byte  197,241,254,207                     // vpaddd        %xmm7,%xmm1,%xmm1
+  .byte  197,233,254,215                     // vpaddd        %xmm7,%xmm2,%xmm2
+  .byte  196,227,109,24,201,1                // vinsertf128   $0x1,%xmm1,%ymm2,%ymm1
+  .byte  196,227,117,74,248,128              // vblendvps     %ymm8,%ymm0,%ymm1,%ymm7
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,16,68,36,128                // vmovups       -0x80(%rsp),%ymm0
+  .byte  197,252,16,76,36,160                // vmovups       -0x60(%rsp),%ymm1
+  .byte  197,252,16,84,36,192                // vmovups       -0x40(%rsp),%ymm2
+  .byte  197,252,16,92,36,224                // vmovups       -0x20(%rsp),%ymm3
+  .byte  72,131,196,24                       // add           $0x18,%rsp
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,65,123,16,4,208                 // vmovsd        (%r8,%rdx,8),%xmm8
+  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  116,85                              // je            172a4 <_sk_load_f16_dst_avx+0x2bb>
+  .byte  196,65,57,22,68,208,8               // vmovhpd       0x8(%r8,%rdx,8),%xmm8,%xmm8
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  114,72                              // jb            172a4 <_sk_load_f16_dst_avx+0x2bb>
+  .byte  196,193,123,16,116,208,16           // vmovsd        0x10(%r8,%rdx,8),%xmm6
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  116,72                              // je            172b1 <_sk_load_f16_dst_avx+0x2c8>
+  .byte  196,193,73,22,116,208,24            // vmovhpd       0x18(%r8,%rdx,8),%xmm6,%xmm6
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  114,59                              // jb            172b1 <_sk_load_f16_dst_avx+0x2c8>
+  .byte  196,193,123,16,124,208,32           // vmovsd        0x20(%r8,%rdx,8),%xmm7
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  15,132,179,253,255,255              // je            1703a <_sk_load_f16_dst_avx+0x51>
+  .byte  196,193,65,22,124,208,40            // vmovhpd       0x28(%r8,%rdx,8),%xmm7,%xmm7
+  .byte  72,131,255,7                        // cmp           $0x7,%rdi
+  .byte  15,130,162,253,255,255              // jb            1703a <_sk_load_f16_dst_avx+0x51>
+  .byte  196,65,122,126,76,208,48            // vmovq         0x30(%r8,%rdx,8),%xmm9
+  .byte  233,150,253,255,255                 // jmpq          1703a <_sk_load_f16_dst_avx+0x51>
+  .byte  197,193,87,255                      // vxorpd        %xmm7,%xmm7,%xmm7
+  .byte  197,201,87,246                      // vxorpd        %xmm6,%xmm6,%xmm6
+  .byte  233,137,253,255,255                 // jmpq          1703a <_sk_load_f16_dst_avx+0x51>
+  .byte  197,193,87,255                      // vxorpd        %xmm7,%xmm7,%xmm7
+  .byte  233,128,253,255,255                 // jmpq          1703a <_sk_load_f16_dst_avx+0x51>
+
+HIDDEN _sk_gather_f16_avx
+.globl _sk_gather_f16_avx
+FUNCTION(_sk_gather_f16_avx)
+_sk_gather_f16_avx:
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,131,236,24                       // sub           $0x18,%rsp
+  .byte  197,252,17,124,36,224               // vmovups       %ymm7,-0x20(%rsp)
+  .byte  197,252,17,116,36,192               // vmovups       %ymm6,-0x40(%rsp)
+  .byte  197,252,17,108,36,160               // vmovups       %ymm5,-0x60(%rsp)
+  .byte  197,252,17,100,36,128               // vmovups       %ymm4,-0x80(%rsp)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,80,12                // vbroadcastss  0xc(%rax),%ymm2
+  .byte  196,227,125,25,211,1                // vextractf128  $0x1,%ymm2,%xmm3
+  .byte  196,65,49,118,201                   // vpcmpeqd      %xmm9,%xmm9,%xmm9
+  .byte  196,193,97,254,217                  // vpaddd        %xmm9,%xmm3,%xmm3
+  .byte  196,193,105,254,209                 // vpaddd        %xmm9,%xmm2,%xmm2
+  .byte  196,227,109,24,211,1                // vinsertf128   $0x1,%xmm3,%ymm2,%ymm2
+  .byte  197,220,87,228                      // vxorps        %ymm4,%ymm4,%ymm4
+  .byte  197,220,95,192                      // vmaxps        %ymm0,%ymm4,%ymm0
+  .byte  197,252,93,210                      // vminps        %ymm2,%ymm0,%ymm2
+  .byte  196,226,125,24,64,16                // vbroadcastss  0x10(%rax),%ymm0
+  .byte  196,227,125,25,195,1                // vextractf128  $0x1,%ymm0,%xmm3
+  .byte  196,193,97,254,217                  // vpaddd        %xmm9,%xmm3,%xmm3
+  .byte  196,193,121,254,193                 // vpaddd        %xmm9,%xmm0,%xmm0
+  .byte  196,227,125,24,195,1                // vinsertf128   $0x1,%xmm3,%ymm0,%ymm0
+  .byte  197,220,95,201                      // vmaxps        %ymm1,%ymm4,%ymm1
+  .byte  197,244,93,192                      // vminps        %ymm0,%ymm1,%ymm0
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  197,254,91,200                      // vcvttps2dq    %ymm0,%ymm1
+  .byte  197,249,110,64,8                    // vmovd         0x8(%rax),%xmm0
+  .byte  197,249,112,216,0                   // vpshufd       $0x0,%xmm0,%xmm3
+  .byte  196,226,97,64,193                   // vpmulld       %xmm1,%xmm3,%xmm0
+  .byte  196,227,125,25,201,1                // vextractf128  $0x1,%ymm1,%xmm1
+  .byte  196,226,97,64,201                   // vpmulld       %xmm1,%xmm3,%xmm1
+  .byte  197,254,91,210                      // vcvttps2dq    %ymm2,%ymm2
+  .byte  196,227,125,25,211,1                // vextractf128  $0x1,%ymm2,%xmm3
+  .byte  197,241,254,203                     // vpaddd        %xmm3,%xmm1,%xmm1
+  .byte  196,227,249,22,200,1                // vpextrq       $0x1,%xmm1,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  196,193,249,126,202                 // vmovq         %xmm1,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  197,249,254,194                     // vpaddd        %xmm2,%xmm0,%xmm0
+  .byte  196,227,249,22,195,1                // vpextrq       $0x1,%xmm0,%rbx
+  .byte  65,137,222                          // mov           %ebx,%r14d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  196,193,249,126,199                 // vmovq         %xmm0,%r15
+  .byte  69,137,252                          // mov           %r15d,%r12d
+  .byte  73,193,239,32                       // shr           $0x20,%r15
+  .byte  196,129,122,126,4,248               // vmovq         (%r8,%r15,8),%xmm0
+  .byte  196,129,122,126,12,224              // vmovq         (%r8,%r12,8),%xmm1
+  .byte  197,113,108,208                     // vpunpcklqdq   %xmm0,%xmm1,%xmm10
+  .byte  196,193,122,126,12,216              // vmovq         (%r8,%rbx,8),%xmm1
+  .byte  196,129,122,126,20,240              // vmovq         (%r8,%r14,8),%xmm2
+  .byte  197,233,108,201                     // vpunpcklqdq   %xmm1,%xmm2,%xmm1
+  .byte  196,129,122,126,20,208              // vmovq         (%r8,%r10,8),%xmm2
+  .byte  196,129,122,126,28,216              // vmovq         (%r8,%r11,8),%xmm3
+  .byte  197,225,108,210                     // vpunpcklqdq   %xmm2,%xmm3,%xmm2
+  .byte  196,65,122,126,12,192               // vmovq         (%r8,%rax,8),%xmm9
+  .byte  196,129,122,126,28,200              // vmovq         (%r8,%r9,8),%xmm3
+  .byte  196,193,97,108,217                  // vpunpcklqdq   %xmm9,%xmm3,%xmm3
+  .byte  197,169,97,193                      // vpunpcklwd    %xmm1,%xmm10,%xmm0
+  .byte  197,169,105,201                     // vpunpckhwd    %xmm1,%xmm10,%xmm1
+  .byte  197,105,97,211                      // vpunpcklwd    %xmm3,%xmm2,%xmm10
+  .byte  197,233,105,211                     // vpunpckhwd    %xmm3,%xmm2,%xmm2
+  .byte  197,121,97,241                      // vpunpcklwd    %xmm1,%xmm0,%xmm14
+  .byte  197,121,105,201                     // vpunpckhwd    %xmm1,%xmm0,%xmm9
+  .byte  197,41,97,250                       // vpunpcklwd    %xmm2,%xmm10,%xmm15
+  .byte  197,41,105,210                      // vpunpckhwd    %xmm2,%xmm10,%xmm10
+  .byte  196,193,9,108,199                   // vpunpcklqdq   %xmm15,%xmm14,%xmm0
+  .byte  196,226,121,51,208                  // vpmovzxwd     %xmm0,%xmm2
+  .byte  197,249,112,192,78                  // vpshufd       $0x4e,%xmm0,%xmm0
+  .byte  196,226,121,51,192                  // vpmovzxwd     %xmm0,%xmm0
+  .byte  197,123,18,29,86,99,2,0             // vmovddup      0x26356(%rip),%xmm11        # 3d768 <_sk_srcover_bgra_8888_sse2_lowp+0x151c>
+  .byte  196,193,121,219,219                 // vpand         %xmm11,%xmm0,%xmm3
+  .byte  196,98,121,24,37,112,82,2,0         // vbroadcastss  0x25270(%rip),%xmm12        # 3c690 <_sk_srcover_bgra_8888_sse2_lowp+0x444>
+  .byte  197,25,102,235                      // vpcmpgtd      %xmm3,%xmm12,%xmm13
+  .byte  196,193,105,219,203                 // vpand         %xmm11,%xmm2,%xmm1
+  .byte  197,25,102,193                      // vpcmpgtd      %xmm1,%xmm12,%xmm8
+  .byte  196,67,61,24,197,1                  // vinsertf128   $0x1,%xmm13,%ymm8,%ymm8
+  .byte  197,123,18,45,53,99,2,0             // vmovddup      0x26335(%rip),%xmm13        # 3d770 <_sk_srcover_bgra_8888_sse2_lowp+0x1524>
+  .byte  196,193,105,219,213                 // vpand         %xmm13,%xmm2,%xmm2
+  .byte  197,233,114,242,16                  // vpslld        $0x10,%xmm2,%xmm2
+  .byte  197,241,114,241,13                  // vpslld        $0xd,%xmm1,%xmm1
+  .byte  197,233,235,201                     // vpor          %xmm1,%xmm2,%xmm1
+  .byte  196,193,121,219,197                 // vpand         %xmm13,%xmm0,%xmm0
+  .byte  197,249,114,240,16                  // vpslld        $0x10,%xmm0,%xmm0
+  .byte  197,233,114,243,13                  // vpslld        $0xd,%xmm3,%xmm2
+  .byte  197,249,235,194                     // vpor          %xmm2,%xmm0,%xmm0
+  .byte  196,226,121,24,29,42,82,2,0         // vbroadcastss  0x2522a(%rip),%xmm3        # 3c694 <_sk_srcover_bgra_8888_sse2_lowp+0x448>
+  .byte  197,249,254,195                     // vpaddd        %xmm3,%xmm0,%xmm0
+  .byte  197,241,254,203                     // vpaddd        %xmm3,%xmm1,%xmm1
+  .byte  196,227,117,24,192,1                // vinsertf128   $0x1,%xmm0,%ymm1,%ymm0
+  .byte  196,227,125,74,196,128              // vblendvps     %ymm8,%ymm4,%ymm0,%ymm0
+  .byte  196,193,9,109,207                   // vpunpckhqdq   %xmm15,%xmm14,%xmm1
+  .byte  196,226,121,51,209                  // vpmovzxwd     %xmm1,%xmm2
+  .byte  197,249,112,201,78                  // vpshufd       $0x4e,%xmm1,%xmm1
+  .byte  196,98,121,51,193                   // vpmovzxwd     %xmm1,%xmm8
+  .byte  196,65,57,219,251                   // vpand         %xmm11,%xmm8,%xmm15
+  .byte  196,65,25,102,247                   // vpcmpgtd      %xmm15,%xmm12,%xmm14
+  .byte  196,193,105,219,203                 // vpand         %xmm11,%xmm2,%xmm1
+  .byte  197,153,102,249                     // vpcmpgtd      %xmm1,%xmm12,%xmm7
+  .byte  196,195,69,24,254,1                 // vinsertf128   $0x1,%xmm14,%ymm7,%ymm7
+  .byte  196,193,105,219,213                 // vpand         %xmm13,%xmm2,%xmm2
+  .byte  197,233,114,242,16                  // vpslld        $0x10,%xmm2,%xmm2
+  .byte  197,241,114,241,13                  // vpslld        $0xd,%xmm1,%xmm1
+  .byte  197,233,235,201                     // vpor          %xmm1,%xmm2,%xmm1
+  .byte  196,193,57,219,213                  // vpand         %xmm13,%xmm8,%xmm2
+  .byte  197,233,114,242,16                  // vpslld        $0x10,%xmm2,%xmm2
+  .byte  196,193,73,114,247,13               // vpslld        $0xd,%xmm15,%xmm6
+  .byte  197,233,235,214                     // vpor          %xmm6,%xmm2,%xmm2
+  .byte  197,233,254,211                     // vpaddd        %xmm3,%xmm2,%xmm2
+  .byte  197,241,254,203                     // vpaddd        %xmm3,%xmm1,%xmm1
+  .byte  196,227,117,24,202,1                // vinsertf128   $0x1,%xmm2,%ymm1,%ymm1
+  .byte  196,227,117,74,204,112              // vblendvps     %ymm7,%ymm4,%ymm1,%ymm1
+  .byte  196,193,49,108,210                  // vpunpcklqdq   %xmm10,%xmm9,%xmm2
+  .byte  196,226,121,51,242                  // vpmovzxwd     %xmm2,%xmm6
+  .byte  197,249,112,210,78                  // vpshufd       $0x4e,%xmm2,%xmm2
+  .byte  196,98,121,51,242                   // vpmovzxwd     %xmm2,%xmm14
+  .byte  196,193,9,219,251                   // vpand         %xmm11,%xmm14,%xmm7
+  .byte  197,25,102,199                      // vpcmpgtd      %xmm7,%xmm12,%xmm8
+  .byte  196,193,73,219,211                  // vpand         %xmm11,%xmm6,%xmm2
+  .byte  197,25,102,250                      // vpcmpgtd      %xmm2,%xmm12,%xmm15
+  .byte  196,67,5,24,192,1                   // vinsertf128   $0x1,%xmm8,%ymm15,%ymm8
+  .byte  196,193,73,219,245                  // vpand         %xmm13,%xmm6,%xmm6
+  .byte  197,201,114,246,16                  // vpslld        $0x10,%xmm6,%xmm6
+  .byte  197,233,114,242,13                  // vpslld        $0xd,%xmm2,%xmm2
+  .byte  197,201,235,210                     // vpor          %xmm2,%xmm6,%xmm2
+  .byte  196,193,9,219,245                   // vpand         %xmm13,%xmm14,%xmm6
+  .byte  197,201,114,246,16                  // vpslld        $0x10,%xmm6,%xmm6
+  .byte  197,193,114,247,13                  // vpslld        $0xd,%xmm7,%xmm7
+  .byte  197,201,235,247                     // vpor          %xmm7,%xmm6,%xmm6
+  .byte  197,201,254,243                     // vpaddd        %xmm3,%xmm6,%xmm6
+  .byte  197,233,254,211                     // vpaddd        %xmm3,%xmm2,%xmm2
+  .byte  196,227,109,24,214,1                // vinsertf128   $0x1,%xmm6,%ymm2,%ymm2
+  .byte  196,227,109,74,212,128              // vblendvps     %ymm8,%ymm4,%ymm2,%ymm2
+  .byte  196,193,49,109,242                  // vpunpckhqdq   %xmm10,%xmm9,%xmm6
+  .byte  196,226,121,51,254                  // vpmovzxwd     %xmm6,%xmm7
+  .byte  197,249,112,246,78                  // vpshufd       $0x4e,%xmm6,%xmm6
+  .byte  196,98,121,51,214                   // vpmovzxwd     %xmm6,%xmm10
+  .byte  196,65,41,219,195                   // vpand         %xmm11,%xmm10,%xmm8
+  .byte  196,65,25,102,200                   // vpcmpgtd      %xmm8,%xmm12,%xmm9
+  .byte  196,193,65,219,243                  // vpand         %xmm11,%xmm7,%xmm6
+  .byte  197,25,102,222                      // vpcmpgtd      %xmm6,%xmm12,%xmm11
+  .byte  196,67,37,24,201,1                  // vinsertf128   $0x1,%xmm9,%ymm11,%ymm9
+  .byte  196,193,65,219,253                  // vpand         %xmm13,%xmm7,%xmm7
+  .byte  196,65,41,219,213                   // vpand         %xmm13,%xmm10,%xmm10
+  .byte  197,193,114,247,16                  // vpslld        $0x10,%xmm7,%xmm7
+  .byte  197,201,114,246,13                  // vpslld        $0xd,%xmm6,%xmm6
+  .byte  197,193,235,246                     // vpor          %xmm6,%xmm7,%xmm6
+  .byte  196,193,65,114,242,16               // vpslld        $0x10,%xmm10,%xmm7
+  .byte  196,193,81,114,240,13               // vpslld        $0xd,%xmm8,%xmm5
+  .byte  197,193,235,237                     // vpor          %xmm5,%xmm7,%xmm5
+  .byte  197,209,254,235                     // vpaddd        %xmm3,%xmm5,%xmm5
+  .byte  197,201,254,219                     // vpaddd        %xmm3,%xmm6,%xmm3
+  .byte  196,227,101,24,221,1                // vinsertf128   $0x1,%xmm5,%ymm3,%ymm3
+  .byte  196,227,101,74,220,144              // vblendvps     %ymm9,%ymm4,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,16,100,36,128               // vmovups       -0x80(%rsp),%ymm4
+  .byte  197,252,16,108,36,160               // vmovups       -0x60(%rsp),%ymm5
+  .byte  197,252,16,116,36,192               // vmovups       -0x40(%rsp),%ymm6
+  .byte  197,252,16,124,36,224               // vmovups       -0x20(%rsp),%ymm7
+  .byte  72,131,196,24                       // add           $0x18,%rsp
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_store_f16_avx
+.globl _sk_store_f16_avx
+FUNCTION(_sk_store_f16_avx)
+_sk_store_f16_avx:
+  .byte  72,131,236,56                       // sub           $0x38,%rsp
+  .byte  197,252,17,60,36                    // vmovups       %ymm7,(%rsp)
+  .byte  197,252,17,116,36,224               // vmovups       %ymm6,-0x20(%rsp)
+  .byte  197,252,17,108,36,192               // vmovups       %ymm5,-0x40(%rsp)
+  .byte  197,252,17,100,36,160               // vmovups       %ymm4,-0x60(%rsp)
+  .byte  197,252,40,225                      // vmovaps       %ymm1,%ymm4
+  .byte  196,98,125,24,5,72,80,2,0           // vbroadcastss  0x25048(%rip),%ymm8        # 3c64c <_sk_srcover_bgra_8888_sse2_lowp+0x400>
+  .byte  196,65,124,84,216                   // vandps        %ymm8,%ymm0,%ymm11
+  .byte  196,98,125,24,21,134,80,2,0         // vbroadcastss  0x25086(%rip),%ymm10        # 3c698 <_sk_srcover_bgra_8888_sse2_lowp+0x44c>
+  .byte  196,65,124,84,226                   // vandps        %ymm10,%ymm0,%ymm12
+  .byte  196,67,125,25,229,1                 // vextractf128  $0x1,%ymm12,%xmm13
+  .byte  196,98,121,24,13,118,80,2,0         // vbroadcastss  0x25076(%rip),%xmm9        # 3c69c <_sk_srcover_bgra_8888_sse2_lowp+0x450>
+  .byte  196,65,49,102,245                   // vpcmpgtd      %xmm13,%xmm9,%xmm14
+  .byte  196,65,49,102,252                   // vpcmpgtd      %xmm12,%xmm9,%xmm15
+  .byte  196,67,5,24,246,1                   // vinsertf128   $0x1,%xmm14,%ymm15,%ymm14
+  .byte  196,67,125,25,223,1                 // vextractf128  $0x1,%ymm11,%xmm15
+  .byte  196,193,1,114,215,16                // vpsrld        $0x10,%xmm15,%xmm15
+  .byte  196,193,33,114,211,16               // vpsrld        $0x10,%xmm11,%xmm11
+  .byte  196,193,17,114,213,13               // vpsrld        $0xd,%xmm13,%xmm13
+  .byte  196,65,17,254,239                   // vpaddd        %xmm15,%xmm13,%xmm13
+  .byte  196,193,25,114,212,13               // vpsrld        $0xd,%xmm12,%xmm12
+  .byte  196,65,25,254,227                   // vpaddd        %xmm11,%xmm12,%xmm12
+  .byte  196,98,121,24,29,57,80,2,0          // vbroadcastss  0x25039(%rip),%xmm11        # 3c6a0 <_sk_srcover_bgra_8888_sse2_lowp+0x454>
+  .byte  196,65,17,254,235                   // vpaddd        %xmm11,%xmm13,%xmm13
+  .byte  196,65,25,254,227                   // vpaddd        %xmm11,%xmm12,%xmm12
+  .byte  196,67,29,24,237,1                  // vinsertf128   $0x1,%xmm13,%ymm12,%ymm13
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  196,99,21,74,233,224                // vblendvps     %ymm14,%ymm1,%ymm13,%ymm13
+  .byte  196,65,92,84,242                    // vandps        %ymm10,%ymm4,%ymm14
+  .byte  196,67,125,25,247,1                 // vextractf128  $0x1,%ymm14,%xmm15
+  .byte  196,193,49,102,255                  // vpcmpgtd      %xmm15,%xmm9,%xmm7
+  .byte  196,65,49,102,230                   // vpcmpgtd      %xmm14,%xmm9,%xmm12
+  .byte  196,227,29,24,255,1                 // vinsertf128   $0x1,%xmm7,%ymm12,%ymm7
+  .byte  197,252,17,100,36,128               // vmovups       %ymm4,-0x80(%rsp)
+  .byte  196,65,92,84,224                    // vandps        %ymm8,%ymm4,%ymm12
+  .byte  196,99,125,25,230,1                 // vextractf128  $0x1,%ymm12,%xmm6
+  .byte  197,201,114,214,16                  // vpsrld        $0x10,%xmm6,%xmm6
+  .byte  196,193,81,114,215,13               // vpsrld        $0xd,%xmm15,%xmm5
+  .byte  197,124,40,250                      // vmovaps       %ymm2,%ymm15
+  .byte  197,209,254,238                     // vpaddd        %xmm6,%xmm5,%xmm5
+  .byte  196,193,73,114,212,16               // vpsrld        $0x10,%xmm12,%xmm6
+  .byte  196,193,89,114,214,13               // vpsrld        $0xd,%xmm14,%xmm4
+  .byte  197,217,254,230                     // vpaddd        %xmm6,%xmm4,%xmm4
+  .byte  196,193,81,254,235                  // vpaddd        %xmm11,%xmm5,%xmm5
+  .byte  196,193,89,254,227                  // vpaddd        %xmm11,%xmm4,%xmm4
+  .byte  196,227,93,24,229,1                 // vinsertf128   $0x1,%xmm5,%ymm4,%ymm4
+  .byte  196,99,93,74,241,112                // vblendvps     %ymm7,%ymm1,%ymm4,%ymm14
+  .byte  196,193,4,84,226                    // vandps        %ymm10,%ymm15,%ymm4
+  .byte  196,227,125,25,229,1                // vextractf128  $0x1,%ymm4,%xmm5
+  .byte  197,177,102,245                     // vpcmpgtd      %xmm5,%xmm9,%xmm6
+  .byte  197,177,102,252                     // vpcmpgtd      %xmm4,%xmm9,%xmm7
+  .byte  196,227,69,24,246,1                 // vinsertf128   $0x1,%xmm6,%ymm7,%ymm6
+  .byte  196,193,4,84,248                    // vandps        %ymm8,%ymm15,%ymm7
+  .byte  196,227,125,25,250,1                // vextractf128  $0x1,%ymm7,%xmm2
+  .byte  197,233,114,210,16                  // vpsrld        $0x10,%xmm2,%xmm2
+  .byte  197,209,114,213,13                  // vpsrld        $0xd,%xmm5,%xmm5
+  .byte  197,209,254,210                     // vpaddd        %xmm2,%xmm5,%xmm2
+  .byte  197,209,114,215,16                  // vpsrld        $0x10,%xmm7,%xmm5
+  .byte  197,217,114,212,13                  // vpsrld        $0xd,%xmm4,%xmm4
+  .byte  197,217,254,229                     // vpaddd        %xmm5,%xmm4,%xmm4
+  .byte  196,193,105,254,211                 // vpaddd        %xmm11,%xmm2,%xmm2
+  .byte  196,193,89,254,227                  // vpaddd        %xmm11,%xmm4,%xmm4
+  .byte  196,227,93,24,210,1                 // vinsertf128   $0x1,%xmm2,%ymm4,%ymm2
+  .byte  196,99,109,74,225,96                // vblendvps     %ymm6,%ymm1,%ymm2,%ymm12
+  .byte  196,193,100,84,226                  // vandps        %ymm10,%ymm3,%ymm4
+  .byte  196,227,125,25,229,1                // vextractf128  $0x1,%ymm4,%xmm5
+  .byte  197,177,102,245                     // vpcmpgtd      %xmm5,%xmm9,%xmm6
+  .byte  197,177,102,252                     // vpcmpgtd      %xmm4,%xmm9,%xmm7
+  .byte  196,227,69,24,246,1                 // vinsertf128   $0x1,%xmm6,%ymm7,%ymm6
+  .byte  196,193,100,84,248                  // vandps        %ymm8,%ymm3,%ymm7
+  .byte  196,227,125,25,250,1                // vextractf128  $0x1,%ymm7,%xmm2
+  .byte  197,233,114,210,16                  // vpsrld        $0x10,%xmm2,%xmm2
+  .byte  197,209,114,213,13                  // vpsrld        $0xd,%xmm5,%xmm5
+  .byte  197,209,254,210                     // vpaddd        %xmm2,%xmm5,%xmm2
+  .byte  197,209,114,215,16                  // vpsrld        $0x10,%xmm7,%xmm5
+  .byte  197,217,114,212,13                  // vpsrld        $0xd,%xmm4,%xmm4
+  .byte  197,217,254,229                     // vpaddd        %xmm5,%xmm4,%xmm4
+  .byte  196,193,105,254,211                 // vpaddd        %xmm11,%xmm2,%xmm2
+  .byte  196,193,89,254,227                  // vpaddd        %xmm11,%xmm4,%xmm4
+  .byte  196,227,93,24,210,1                 // vinsertf128   $0x1,%xmm2,%ymm4,%ymm2
+  .byte  196,227,109,74,201,96               // vblendvps     %ymm6,%ymm1,%ymm2,%ymm1
+  .byte  196,99,125,25,234,1                 // vextractf128  $0x1,%ymm13,%xmm2
+  .byte  196,226,17,43,210                   // vpackusdw     %xmm2,%xmm13,%xmm2
+  .byte  196,99,125,25,244,1                 // vextractf128  $0x1,%ymm14,%xmm4
+  .byte  196,226,9,43,228                    // vpackusdw     %xmm4,%xmm14,%xmm4
+  .byte  196,99,125,25,229,1                 // vextractf128  $0x1,%ymm12,%xmm5
+  .byte  196,226,25,43,245                   // vpackusdw     %xmm5,%xmm12,%xmm6
+  .byte  196,227,125,25,205,1                // vextractf128  $0x1,%ymm1,%xmm5
+  .byte  196,226,113,43,205                  // vpackusdw     %xmm5,%xmm1,%xmm1
+  .byte  197,233,97,236                      // vpunpcklwd    %xmm4,%xmm2,%xmm5
+  .byte  197,233,105,212                     // vpunpckhwd    %xmm4,%xmm2,%xmm2
+  .byte  197,201,97,225                      // vpunpcklwd    %xmm1,%xmm6,%xmm4
+  .byte  197,201,105,201                     // vpunpckhwd    %xmm1,%xmm6,%xmm1
+  .byte  197,81,98,220                       // vpunpckldq    %xmm4,%xmm5,%xmm11
+  .byte  197,81,106,212                      // vpunpckhdq    %xmm4,%xmm5,%xmm10
+  .byte  197,105,98,201                      // vpunpckldq    %xmm1,%xmm2,%xmm9
+  .byte  197,105,106,193                     // vpunpckhdq    %xmm1,%xmm2,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,3                        // shl           $0x3,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,68                              // jne           17838 <_sk_store_f16_avx+0x25c>
+  .byte  196,65,122,127,28,208               // vmovdqu       %xmm11,(%r8,%rdx,8)
+  .byte  196,65,122,127,84,208,16            // vmovdqu       %xmm10,0x10(%r8,%rdx,8)
+  .byte  196,65,122,127,76,208,32            // vmovdqu       %xmm9,0x20(%r8,%rdx,8)
+  .byte  196,65,122,127,68,208,48            // vmovdqu       %xmm8,0x30(%r8,%rdx,8)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,16,76,36,128                // vmovups       -0x80(%rsp),%ymm1
+  .byte  197,124,41,250                      // vmovaps       %ymm15,%ymm2
+  .byte  197,252,16,100,36,160               // vmovups       -0x60(%rsp),%ymm4
+  .byte  197,252,16,108,36,192               // vmovups       -0x40(%rsp),%ymm5
+  .byte  197,252,16,116,36,224               // vmovups       -0x20(%rsp),%ymm6
+  .byte  197,252,16,60,36                    // vmovups       (%rsp),%ymm7
+  .byte  72,131,196,56                       // add           $0x38,%rsp
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,65,121,214,28,208               // vmovq         %xmm11,(%r8,%rdx,8)
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  116,203                             // je            1780f <_sk_store_f16_avx+0x233>
+  .byte  196,65,121,23,92,208,8              // vmovhpd       %xmm11,0x8(%r8,%rdx,8)
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  114,190                             // jb            1780f <_sk_store_f16_avx+0x233>
+  .byte  196,65,121,214,84,208,16            // vmovq         %xmm10,0x10(%r8,%rdx,8)
+  .byte  116,181                             // je            1780f <_sk_store_f16_avx+0x233>
+  .byte  196,65,121,23,84,208,24             // vmovhpd       %xmm10,0x18(%r8,%rdx,8)
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  114,168                             // jb            1780f <_sk_store_f16_avx+0x233>
+  .byte  196,65,121,214,76,208,32            // vmovq         %xmm9,0x20(%r8,%rdx,8)
+  .byte  116,159                             // je            1780f <_sk_store_f16_avx+0x233>
+  .byte  196,65,121,23,76,208,40             // vmovhpd       %xmm9,0x28(%r8,%rdx,8)
+  .byte  72,131,255,7                        // cmp           $0x7,%rdi
+  .byte  114,146                             // jb            1780f <_sk_store_f16_avx+0x233>
+  .byte  196,65,121,214,68,208,48            // vmovq         %xmm8,0x30(%r8,%rdx,8)
+  .byte  235,137                             // jmp           1780f <_sk_store_f16_avx+0x233>
+
+HIDDEN _sk_load_u16_be_avx
+.globl _sk_load_u16_be_avx
+FUNCTION(_sk_load_u16_be_avx)
+_sk_load_u16_be_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,141,4,149,0,0,0,0                // lea           0x0(,%rdx,4),%r8
+  .byte  76,99,72,8                          // movslq        0x8(%rax),%r9
+  .byte  76,15,175,201                       // imul          %rcx,%r9
+  .byte  77,1,201                            // add           %r9,%r9
+  .byte  76,3,8                              // add           (%rax),%r9
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,12,1,0,0                     // jne           179b3 <_sk_load_u16_be_avx+0x12d>
+  .byte  196,1,121,16,4,65                   // vmovupd       (%r9,%r8,2),%xmm8
+  .byte  196,129,121,16,84,65,16             // vmovupd       0x10(%r9,%r8,2),%xmm2
+  .byte  196,129,121,16,92,65,32             // vmovupd       0x20(%r9,%r8,2),%xmm3
+  .byte  196,1,122,111,76,65,48              // vmovdqu       0x30(%r9,%r8,2),%xmm9
+  .byte  197,185,97,194                      // vpunpcklwd    %xmm2,%xmm8,%xmm0
+  .byte  197,185,105,210                     // vpunpckhwd    %xmm2,%xmm8,%xmm2
+  .byte  196,193,97,97,201                   // vpunpcklwd    %xmm9,%xmm3,%xmm1
+  .byte  196,193,97,105,217                  // vpunpckhwd    %xmm9,%xmm3,%xmm3
+  .byte  197,121,97,210                      // vpunpcklwd    %xmm2,%xmm0,%xmm10
+  .byte  197,121,105,194                     // vpunpckhwd    %xmm2,%xmm0,%xmm8
+  .byte  197,241,97,211                      // vpunpcklwd    %xmm3,%xmm1,%xmm2
+  .byte  197,113,105,219                     // vpunpckhwd    %xmm3,%xmm1,%xmm11
+  .byte  197,169,108,194                     // vpunpcklqdq   %xmm2,%xmm10,%xmm0
+  .byte  197,241,113,240,8                   // vpsllw        $0x8,%xmm0,%xmm1
+  .byte  197,249,113,208,8                   // vpsrlw        $0x8,%xmm0,%xmm0
+  .byte  197,241,235,192                     // vpor          %xmm0,%xmm1,%xmm0
+  .byte  196,226,121,51,200                  // vpmovzxwd     %xmm0,%xmm1
+  .byte  197,249,112,192,78                  // vpshufd       $0x4e,%xmm0,%xmm0
+  .byte  196,226,121,51,192                  // vpmovzxwd     %xmm0,%xmm0
+  .byte  196,227,117,24,192,1                // vinsertf128   $0x1,%xmm0,%ymm1,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,98,125,24,13,120,76,2,0         // vbroadcastss  0x24c78(%rip),%ymm9        # 3c590 <_sk_srcover_bgra_8888_sse2_lowp+0x344>
+  .byte  196,193,124,89,193                  // vmulps        %ymm9,%ymm0,%ymm0
+  .byte  197,169,109,202                     // vpunpckhqdq   %xmm2,%xmm10,%xmm1
+  .byte  197,233,113,241,8                   // vpsllw        $0x8,%xmm1,%xmm2
+  .byte  197,241,113,209,8                   // vpsrlw        $0x8,%xmm1,%xmm1
+  .byte  197,233,235,201                     // vpor          %xmm1,%xmm2,%xmm1
+  .byte  196,226,121,51,209                  // vpmovzxwd     %xmm1,%xmm2
+  .byte  197,249,112,201,78                  // vpshufd       $0x4e,%xmm1,%xmm1
+  .byte  196,226,121,51,201                  // vpmovzxwd     %xmm1,%xmm1
+  .byte  196,227,109,24,201,1                // vinsertf128   $0x1,%xmm1,%ymm2,%ymm1
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  196,193,116,89,201                  // vmulps        %ymm9,%ymm1,%ymm1
+  .byte  196,193,57,108,211                  // vpunpcklqdq   %xmm11,%xmm8,%xmm2
+  .byte  197,225,113,242,8                   // vpsllw        $0x8,%xmm2,%xmm3
+  .byte  197,233,113,210,8                   // vpsrlw        $0x8,%xmm2,%xmm2
+  .byte  197,225,235,210                     // vpor          %xmm2,%xmm3,%xmm2
+  .byte  196,226,121,51,218                  // vpmovzxwd     %xmm2,%xmm3
+  .byte  197,249,112,210,78                  // vpshufd       $0x4e,%xmm2,%xmm2
+  .byte  196,226,121,51,210                  // vpmovzxwd     %xmm2,%xmm2
+  .byte  196,227,101,24,210,1                // vinsertf128   $0x1,%xmm2,%ymm3,%ymm2
+  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
+  .byte  196,193,108,89,209                  // vmulps        %ymm9,%ymm2,%ymm2
+  .byte  196,193,57,109,219                  // vpunpckhqdq   %xmm11,%xmm8,%xmm3
+  .byte  197,185,113,243,8                   // vpsllw        $0x8,%xmm3,%xmm8
+  .byte  197,225,113,211,8                   // vpsrlw        $0x8,%xmm3,%xmm3
+  .byte  197,185,235,219                     // vpor          %xmm3,%xmm8,%xmm3
+  .byte  196,98,121,51,195                   // vpmovzxwd     %xmm3,%xmm8
+  .byte  197,249,112,219,78                  // vpshufd       $0x4e,%xmm3,%xmm3
+  .byte  196,226,121,51,219                  // vpmovzxwd     %xmm3,%xmm3
+  .byte  196,227,61,24,219,1                 // vinsertf128   $0x1,%xmm3,%ymm8,%ymm3
+  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
+  .byte  196,193,100,89,217                  // vmulps        %ymm9,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,1,123,16,4,65                   // vmovsd        (%r9,%r8,2),%xmm8
+  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  116,85                              // je            17a19 <_sk_load_u16_be_avx+0x193>
+  .byte  196,1,57,22,68,65,8                 // vmovhpd       0x8(%r9,%r8,2),%xmm8,%xmm8
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  114,72                              // jb            17a19 <_sk_load_u16_be_avx+0x193>
+  .byte  196,129,123,16,84,65,16             // vmovsd        0x10(%r9,%r8,2),%xmm2
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  116,72                              // je            17a26 <_sk_load_u16_be_avx+0x1a0>
+  .byte  196,129,105,22,84,65,24             // vmovhpd       0x18(%r9,%r8,2),%xmm2,%xmm2
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  114,59                              // jb            17a26 <_sk_load_u16_be_avx+0x1a0>
+  .byte  196,129,123,16,92,65,32             // vmovsd        0x20(%r9,%r8,2),%xmm3
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  15,132,198,254,255,255              // je            178c2 <_sk_load_u16_be_avx+0x3c>
+  .byte  196,129,97,22,92,65,40              // vmovhpd       0x28(%r9,%r8,2),%xmm3,%xmm3
+  .byte  72,131,255,7                        // cmp           $0x7,%rdi
+  .byte  15,130,181,254,255,255              // jb            178c2 <_sk_load_u16_be_avx+0x3c>
+  .byte  196,1,122,126,76,65,48              // vmovq         0x30(%r9,%r8,2),%xmm9
+  .byte  233,169,254,255,255                 // jmpq          178c2 <_sk_load_u16_be_avx+0x3c>
+  .byte  197,225,87,219                      // vxorpd        %xmm3,%xmm3,%xmm3
+  .byte  197,233,87,210                      // vxorpd        %xmm2,%xmm2,%xmm2
+  .byte  233,156,254,255,255                 // jmpq          178c2 <_sk_load_u16_be_avx+0x3c>
+  .byte  197,225,87,219                      // vxorpd        %xmm3,%xmm3,%xmm3
+  .byte  233,147,254,255,255                 // jmpq          178c2 <_sk_load_u16_be_avx+0x3c>
+
+HIDDEN _sk_load_rgb_u16_be_avx
+.globl _sk_load_rgb_u16_be_avx
+FUNCTION(_sk_load_rgb_u16_be_avx)
+_sk_load_rgb_u16_be_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,141,4,82                         // lea           (%rdx,%rdx,2),%r8
+  .byte  76,99,72,8                          // movslq        0x8(%rax),%r9
+  .byte  76,15,175,201                       // imul          %rcx,%r9
+  .byte  77,1,201                            // add           %r9,%r9
+  .byte  76,3,8                              // add           (%rax),%r9
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,253,0,0,0                    // jne           17b49 <_sk_load_rgb_u16_be_avx+0x11a>
+  .byte  196,1,122,111,28,65                 // vmovdqu       (%r9,%r8,2),%xmm11
+  .byte  196,129,122,111,92,65,12            // vmovdqu       0xc(%r9,%r8,2),%xmm3
+  .byte  196,129,122,111,84,65,24            // vmovdqu       0x18(%r9,%r8,2),%xmm2
+  .byte  196,129,122,111,68,65,32            // vmovdqu       0x20(%r9,%r8,2),%xmm0
+  .byte  197,249,115,216,4                   // vpsrldq       $0x4,%xmm0,%xmm0
+  .byte  196,193,57,115,219,6                // vpsrldq       $0x6,%xmm11,%xmm8
+  .byte  197,169,115,219,6                   // vpsrldq       $0x6,%xmm3,%xmm10
+  .byte  197,241,115,218,6                   // vpsrldq       $0x6,%xmm2,%xmm1
+  .byte  197,177,115,216,6                   // vpsrldq       $0x6,%xmm0,%xmm9
+  .byte  196,193,113,97,201                  // vpunpcklwd    %xmm9,%xmm1,%xmm1
+  .byte  197,233,97,192                      // vpunpcklwd    %xmm0,%xmm2,%xmm0
+  .byte  196,193,57,97,210                   // vpunpcklwd    %xmm10,%xmm8,%xmm2
+  .byte  197,161,97,219                      // vpunpcklwd    %xmm3,%xmm11,%xmm3
+  .byte  197,97,97,194                       // vpunpcklwd    %xmm2,%xmm3,%xmm8
+  .byte  197,225,105,210                     // vpunpckhwd    %xmm2,%xmm3,%xmm2
+  .byte  197,249,97,217                      // vpunpcklwd    %xmm1,%xmm0,%xmm3
+  .byte  197,249,105,193                     // vpunpckhwd    %xmm1,%xmm0,%xmm0
+  .byte  197,233,108,208                     // vpunpcklqdq   %xmm0,%xmm2,%xmm2
+  .byte  197,185,108,195                     // vpunpcklqdq   %xmm3,%xmm8,%xmm0
+  .byte  197,241,113,240,8                   // vpsllw        $0x8,%xmm0,%xmm1
+  .byte  197,249,113,208,8                   // vpsrlw        $0x8,%xmm0,%xmm0
+  .byte  197,241,235,192                     // vpor          %xmm0,%xmm1,%xmm0
+  .byte  196,226,121,51,200                  // vpmovzxwd     %xmm0,%xmm1
+  .byte  197,249,112,192,78                  // vpshufd       $0x4e,%xmm0,%xmm0
+  .byte  196,226,121,51,192                  // vpmovzxwd     %xmm0,%xmm0
+  .byte  196,227,117,24,192,1                // vinsertf128   $0x1,%xmm0,%ymm1,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,98,125,24,13,181,74,2,0         // vbroadcastss  0x24ab5(%rip),%ymm9        # 3c590 <_sk_srcover_bgra_8888_sse2_lowp+0x344>
+  .byte  196,193,124,89,193                  // vmulps        %ymm9,%ymm0,%ymm0
+  .byte  197,185,109,203                     // vpunpckhqdq   %xmm3,%xmm8,%xmm1
+  .byte  197,225,113,241,8                   // vpsllw        $0x8,%xmm1,%xmm3
+  .byte  197,241,113,209,8                   // vpsrlw        $0x8,%xmm1,%xmm1
+  .byte  197,225,235,201                     // vpor          %xmm1,%xmm3,%xmm1
+  .byte  196,226,121,51,217                  // vpmovzxwd     %xmm1,%xmm3
+  .byte  197,249,112,201,78                  // vpshufd       $0x4e,%xmm1,%xmm1
+  .byte  196,226,121,51,201                  // vpmovzxwd     %xmm1,%xmm1
+  .byte  196,227,101,24,201,1                // vinsertf128   $0x1,%xmm1,%ymm3,%ymm1
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  196,193,116,89,201                  // vmulps        %ymm9,%ymm1,%ymm1
+  .byte  197,225,113,242,8                   // vpsllw        $0x8,%xmm2,%xmm3
+  .byte  197,233,113,210,8                   // vpsrlw        $0x8,%xmm2,%xmm2
+  .byte  197,225,235,210                     // vpor          %xmm2,%xmm3,%xmm2
+  .byte  196,226,121,51,218                  // vpmovzxwd     %xmm2,%xmm3
+  .byte  197,249,112,210,78                  // vpshufd       $0x4e,%xmm2,%xmm2
+  .byte  196,226,121,51,210                  // vpmovzxwd     %xmm2,%xmm2
+  .byte  196,227,101,24,210,1                // vinsertf128   $0x1,%xmm2,%ymm3,%ymm2
+  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
+  .byte  196,193,108,89,209                  // vmulps        %ymm9,%ymm2,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,29,181,73,2,0        // vbroadcastss  0x249b5(%rip),%ymm3        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,129,121,110,4,65                // vmovd         (%r9,%r8,2),%xmm0
+  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
+  .byte  196,1,121,196,92,65,4,2             // vpinsrw       $0x2,0x4(%r9,%r8,2),%xmm0,%xmm11
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  117,31                              // jne           17b81 <_sk_load_rgb_u16_be_avx+0x152>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  197,241,239,201                     // vpxor         %xmm1,%xmm1,%xmm1
+  .byte  197,233,239,210                     // vpxor         %xmm2,%xmm2,%xmm2
+  .byte  196,65,41,239,210                   // vpxor         %xmm10,%xmm10,%xmm10
+  .byte  197,225,239,219                     // vpxor         %xmm3,%xmm3,%xmm3
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  233,0,255,255,255                   // jmpq          17a81 <_sk_load_rgb_u16_be_avx+0x52>
+  .byte  196,129,121,110,68,65,6             // vmovd         0x6(%r9,%r8,2),%xmm0
+  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
+  .byte  196,1,121,196,68,65,10,2            // vpinsrw       $0x2,0xa(%r9,%r8,2),%xmm0,%xmm8
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  114,48                              // jb            17bcb <_sk_load_rgb_u16_be_avx+0x19c>
+  .byte  196,129,121,110,68,65,12            // vmovd         0xc(%r9,%r8,2),%xmm0
+  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
+  .byte  196,129,121,196,92,65,16,2          // vpinsrw       $0x2,0x10(%r9,%r8,2),%xmm0,%xmm3
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  117,48                              // jne           17be5 <_sk_load_rgb_u16_be_avx+0x1b6>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  197,241,239,201                     // vpxor         %xmm1,%xmm1,%xmm1
+  .byte  197,233,239,210                     // vpxor         %xmm2,%xmm2,%xmm2
+  .byte  196,65,41,239,210                   // vpxor         %xmm10,%xmm10,%xmm10
+  .byte  233,182,254,255,255                 // jmpq          17a81 <_sk_load_rgb_u16_be_avx+0x52>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  197,241,239,201                     // vpxor         %xmm1,%xmm1,%xmm1
+  .byte  197,233,239,210                     // vpxor         %xmm2,%xmm2,%xmm2
+  .byte  196,65,41,239,210                   // vpxor         %xmm10,%xmm10,%xmm10
+  .byte  197,225,239,219                     // vpxor         %xmm3,%xmm3,%xmm3
+  .byte  233,156,254,255,255                 // jmpq          17a81 <_sk_load_rgb_u16_be_avx+0x52>
+  .byte  196,129,121,110,68,65,18            // vmovd         0x12(%r9,%r8,2),%xmm0
+  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
+  .byte  196,1,121,196,84,65,22,2            // vpinsrw       $0x2,0x16(%r9,%r8,2),%xmm0,%xmm10
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  114,39                              // jb            17c26 <_sk_load_rgb_u16_be_avx+0x1f7>
+  .byte  196,129,121,110,68,65,24            // vmovd         0x18(%r9,%r8,2),%xmm0
+  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
+  .byte  196,129,121,196,84,65,28,2          // vpinsrw       $0x2,0x1c(%r9,%r8,2),%xmm0,%xmm2
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  117,30                              // jne           17c37 <_sk_load_rgb_u16_be_avx+0x208>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  197,241,239,201                     // vpxor         %xmm1,%xmm1,%xmm1
+  .byte  233,91,254,255,255                  // jmpq          17a81 <_sk_load_rgb_u16_be_avx+0x52>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  197,241,239,201                     // vpxor         %xmm1,%xmm1,%xmm1
+  .byte  197,233,239,210                     // vpxor         %xmm2,%xmm2,%xmm2
+  .byte  233,74,254,255,255                  // jmpq          17a81 <_sk_load_rgb_u16_be_avx+0x52>
+  .byte  196,129,121,110,68,65,30            // vmovd         0x1e(%r9,%r8,2),%xmm0
+  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
+  .byte  196,129,121,196,76,65,34,2          // vpinsrw       $0x2,0x22(%r9,%r8,2),%xmm0,%xmm1
+  .byte  72,131,255,7                        // cmp           $0x7,%rdi
+  .byte  114,25                              // jb            17c6a <_sk_load_rgb_u16_be_avx+0x23b>
+  .byte  196,129,121,110,68,65,36            // vmovd         0x24(%r9,%r8,2),%xmm0
+  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
+  .byte  196,129,121,196,68,65,40,2          // vpinsrw       $0x2,0x28(%r9,%r8,2),%xmm0,%xmm0
+  .byte  233,23,254,255,255                  // jmpq          17a81 <_sk_load_rgb_u16_be_avx+0x52>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  233,14,254,255,255                  // jmpq          17a81 <_sk_load_rgb_u16_be_avx+0x52>
+
+HIDDEN _sk_store_u16_be_avx
+.globl _sk_store_u16_be_avx
+FUNCTION(_sk_store_u16_be_avx)
+_sk_store_u16_be_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,141,4,149,0,0,0,0                // lea           0x0(,%rdx,4),%r8
+  .byte  76,99,72,8                          // movslq        0x8(%rax),%r9
+  .byte  76,15,175,201                       // imul          %rcx,%r9
+  .byte  77,1,201                            // add           %r9,%r9
+  .byte  76,3,8                              // add           (%rax),%r9
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,60,95,200                       // vmaxps        %ymm0,%ymm8,%ymm9
+  .byte  196,98,125,24,21,95,72,2,0          // vbroadcastss  0x2485f(%rip),%ymm10        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,65,52,93,202                    // vminps        %ymm10,%ymm9,%ymm9
+  .byte  196,98,125,24,29,125,73,2,0         // vbroadcastss  0x2497d(%rip),%ymm11        # 3c628 <_sk_srcover_bgra_8888_sse2_lowp+0x3dc>
+  .byte  196,65,52,89,203                    // vmulps        %ymm11,%ymm9,%ymm9
+  .byte  196,65,125,91,201                   // vcvtps2dq     %ymm9,%ymm9
+  .byte  196,67,125,25,204,1                 // vextractf128  $0x1,%ymm9,%xmm12
+  .byte  196,66,49,43,204                    // vpackusdw     %xmm12,%xmm9,%xmm9
+  .byte  196,193,25,113,241,8                // vpsllw        $0x8,%xmm9,%xmm12
+  .byte  196,193,49,113,209,8                // vpsrlw        $0x8,%xmm9,%xmm9
+  .byte  196,65,25,235,201                   // vpor          %xmm9,%xmm12,%xmm9
+  .byte  197,60,95,225                       // vmaxps        %ymm1,%ymm8,%ymm12
+  .byte  196,65,28,93,226                    // vminps        %ymm10,%ymm12,%ymm12
+  .byte  196,65,28,89,227                    // vmulps        %ymm11,%ymm12,%ymm12
+  .byte  196,65,125,91,228                   // vcvtps2dq     %ymm12,%ymm12
+  .byte  196,67,125,25,229,1                 // vextractf128  $0x1,%ymm12,%xmm13
+  .byte  196,66,25,43,229                    // vpackusdw     %xmm13,%xmm12,%xmm12
+  .byte  196,193,17,113,244,8                // vpsllw        $0x8,%xmm12,%xmm13
+  .byte  196,193,25,113,212,8                // vpsrlw        $0x8,%xmm12,%xmm12
+  .byte  196,65,17,235,228                   // vpor          %xmm12,%xmm13,%xmm12
+  .byte  197,60,95,234                       // vmaxps        %ymm2,%ymm8,%ymm13
+  .byte  196,65,20,93,234                    // vminps        %ymm10,%ymm13,%ymm13
+  .byte  196,65,20,89,235                    // vmulps        %ymm11,%ymm13,%ymm13
+  .byte  196,65,125,91,237                   // vcvtps2dq     %ymm13,%ymm13
+  .byte  196,67,125,25,238,1                 // vextractf128  $0x1,%ymm13,%xmm14
+  .byte  196,66,17,43,238                    // vpackusdw     %xmm14,%xmm13,%xmm13
+  .byte  196,193,9,113,245,8                 // vpsllw        $0x8,%xmm13,%xmm14
+  .byte  196,193,17,113,213,8                // vpsrlw        $0x8,%xmm13,%xmm13
+  .byte  196,65,9,235,237                    // vpor          %xmm13,%xmm14,%xmm13
+  .byte  197,60,95,195                       // vmaxps        %ymm3,%ymm8,%ymm8
+  .byte  196,65,60,93,194                    // vminps        %ymm10,%ymm8,%ymm8
+  .byte  196,65,60,89,195                    // vmulps        %ymm11,%ymm8,%ymm8
+  .byte  196,65,125,91,192                   // vcvtps2dq     %ymm8,%ymm8
+  .byte  196,67,125,25,194,1                 // vextractf128  $0x1,%ymm8,%xmm10
+  .byte  196,66,57,43,194                    // vpackusdw     %xmm10,%xmm8,%xmm8
+  .byte  196,193,41,113,240,8                // vpsllw        $0x8,%xmm8,%xmm10
+  .byte  196,193,57,113,208,8                // vpsrlw        $0x8,%xmm8,%xmm8
+  .byte  196,65,41,235,192                   // vpor          %xmm8,%xmm10,%xmm8
+  .byte  196,65,49,97,212                    // vpunpcklwd    %xmm12,%xmm9,%xmm10
+  .byte  196,65,49,105,228                   // vpunpckhwd    %xmm12,%xmm9,%xmm12
+  .byte  196,65,17,97,200                    // vpunpcklwd    %xmm8,%xmm13,%xmm9
+  .byte  196,65,17,105,192                   // vpunpckhwd    %xmm8,%xmm13,%xmm8
+  .byte  196,65,41,98,217                    // vpunpckldq    %xmm9,%xmm10,%xmm11
+  .byte  196,65,41,106,209                   // vpunpckhdq    %xmm9,%xmm10,%xmm10
+  .byte  196,65,25,98,200                    // vpunpckldq    %xmm8,%xmm12,%xmm9
+  .byte  196,65,25,106,192                   // vpunpckhdq    %xmm8,%xmm12,%xmm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,31                              // jne           17daa <_sk_store_u16_be_avx+0x137>
+  .byte  196,1,122,127,28,65                 // vmovdqu       %xmm11,(%r9,%r8,2)
+  .byte  196,1,122,127,84,65,16              // vmovdqu       %xmm10,0x10(%r9,%r8,2)
+  .byte  196,1,122,127,76,65,32              // vmovdqu       %xmm9,0x20(%r9,%r8,2)
+  .byte  196,1,122,127,68,65,48              // vmovdqu       %xmm8,0x30(%r9,%r8,2)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,1,121,214,28,65                 // vmovq         %xmm11,(%r9,%r8,2)
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  116,240                             // je            17da6 <_sk_store_u16_be_avx+0x133>
+  .byte  196,1,121,23,92,65,8                // vmovhpd       %xmm11,0x8(%r9,%r8,2)
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  114,227                             // jb            17da6 <_sk_store_u16_be_avx+0x133>
+  .byte  196,1,121,214,84,65,16              // vmovq         %xmm10,0x10(%r9,%r8,2)
+  .byte  116,218                             // je            17da6 <_sk_store_u16_be_avx+0x133>
+  .byte  196,1,121,23,84,65,24               // vmovhpd       %xmm10,0x18(%r9,%r8,2)
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  114,205                             // jb            17da6 <_sk_store_u16_be_avx+0x133>
+  .byte  196,1,121,214,76,65,32              // vmovq         %xmm9,0x20(%r9,%r8,2)
+  .byte  116,196                             // je            17da6 <_sk_store_u16_be_avx+0x133>
+  .byte  196,1,121,23,76,65,40               // vmovhpd       %xmm9,0x28(%r9,%r8,2)
+  .byte  72,131,255,7                        // cmp           $0x7,%rdi
+  .byte  114,183                             // jb            17da6 <_sk_store_u16_be_avx+0x133>
+  .byte  196,1,121,214,68,65,48              // vmovq         %xmm8,0x30(%r9,%r8,2)
+  .byte  235,174                             // jmp           17da6 <_sk_store_u16_be_avx+0x133>
+
+HIDDEN _sk_load_f32_avx
+.globl _sk_load_f32_avx
+FUNCTION(_sk_load_f32_avx)
+_sk_load_f32_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,253,87,192                      // vxorpd        %ymm0,%ymm0,%ymm0
+  .byte  72,131,255,7                        // cmp           $0x7,%rdi
+  .byte  15,135,91,1,0,0                     // ja            17f63 <_sk_load_f32_avx+0x16b>
+  .byte  72,131,236,24                       // sub           $0x18,%rsp
+  .byte  197,253,17,100,36,128               // vmovupd       %ymm4,-0x80(%rsp)
+  .byte  197,253,17,108,36,160               // vmovupd       %ymm5,-0x60(%rsp)
+  .byte  197,253,17,116,36,192               // vmovupd       %ymm6,-0x40(%rsp)
+  .byte  197,253,17,124,36,224               // vmovupd       %ymm7,-0x20(%rsp)
+  .byte  76,141,4,149,0,0,0,0                // lea           0x0(,%rdx,4),%r8
+  .byte  76,99,72,8                          // movslq        0x8(%rax),%r9
+  .byte  76,15,175,201                       // imul          %rcx,%r9
+  .byte  73,193,225,2                        // shl           $0x2,%r9
+  .byte  76,3,8                              // add           (%rax),%r9
+  .byte  76,141,21,50,1,0,0                  // lea           0x132(%rip),%r10        # 17f74 <_sk_load_f32_avx+0x17c>
+  .byte  73,99,4,186                         // movslq        (%r10,%rdi,4),%rax
+  .byte  76,1,208                            // add           %r10,%rax
+  .byte  197,221,87,228                      // vxorpd        %ymm4,%ymm4,%ymm4
+  .byte  196,65,53,87,201                    // vxorpd        %ymm9,%ymm9,%ymm9
+  .byte  197,237,87,210                      // vxorpd        %ymm2,%ymm2,%ymm2
+  .byte  196,65,37,87,219                    // vxorpd        %ymm11,%ymm11,%ymm11
+  .byte  196,65,29,87,228                    // vxorpd        %ymm12,%ymm12,%ymm12
+  .byte  196,65,61,87,192                    // vxorpd        %ymm8,%ymm8,%ymm8
+  .byte  196,65,13,87,246                    // vxorpd        %ymm14,%ymm14,%ymm14
+  .byte  197,205,87,246                      // vxorpd        %ymm6,%ymm6,%ymm6
+  .byte  196,65,5,87,255                     // vxorpd        %ymm15,%ymm15,%ymm15
+  .byte  197,245,87,201                      // vxorpd        %ymm1,%ymm1,%ymm1
+  .byte  196,65,21,87,237                    // vxorpd        %ymm13,%ymm13,%ymm13
+  .byte  197,213,87,237                      // vxorpd        %ymm5,%ymm5,%ymm5
+  .byte  197,229,87,219                      // vxorpd        %ymm3,%ymm3,%ymm3
+  .byte  196,65,45,87,210                    // vxorpd        %ymm10,%ymm10,%ymm10
+  .byte  197,197,87,255                      // vxorpd        %ymm7,%ymm7,%ymm7
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,129,121,16,68,129,112           // vmovupd       0x70(%r9,%r8,4),%xmm0
+  .byte  196,227,125,6,192,40                // vperm2f128    $0x28,%ymm0,%ymm0,%ymm0
+  .byte  196,129,121,16,76,129,96            // vmovupd       0x60(%r9,%r8,4),%xmm1
+  .byte  196,227,125,6,225,40                // vperm2f128    $0x28,%ymm1,%ymm0,%ymm4
+  .byte  196,129,121,16,76,129,80            // vmovupd       0x50(%r9,%r8,4),%xmm1
+  .byte  196,227,125,6,209,40                // vperm2f128    $0x28,%ymm1,%ymm0,%ymm2
+  .byte  197,125,40,204                      // vmovapd       %ymm4,%ymm9
+  .byte  196,129,121,16,76,129,64            // vmovupd       0x40(%r9,%r8,4),%xmm1
+  .byte  196,99,125,6,193,40                 // vperm2f128    $0x28,%ymm1,%ymm0,%ymm8
+  .byte  196,65,125,40,217                   // vmovapd       %ymm9,%ymm11
+  .byte  197,125,40,226                      // vmovapd       %ymm2,%ymm12
+  .byte  196,129,121,16,76,129,48            // vmovupd       0x30(%r9,%r8,4),%xmm1
+  .byte  196,227,117,13,192,12               // vblendpd      $0xc,%ymm0,%ymm1,%ymm0
+  .byte  196,65,125,40,243                   // vmovapd       %ymm11,%ymm14
+  .byte  197,125,41,230                      // vmovapd       %ymm12,%ymm6
+  .byte  196,65,125,40,248                   // vmovapd       %ymm8,%ymm15
+  .byte  196,129,121,16,76,129,32            // vmovupd       0x20(%r9,%r8,4),%xmm1
+  .byte  196,195,117,13,206,12               // vblendpd      $0xc,%ymm14,%ymm1,%ymm1
+  .byte  197,125,40,238                      // vmovapd       %ymm6,%ymm13
+  .byte  197,125,41,253                      // vmovapd       %ymm15,%ymm5
+  .byte  196,129,121,16,84,129,16            // vmovupd       0x10(%r9,%r8,4),%xmm2
+  .byte  196,67,109,13,213,12                // vblendpd      $0xc,%ymm13,%ymm2,%ymm10
+  .byte  197,253,40,217                      // vmovapd       %ymm1,%ymm3
+  .byte  197,253,40,253                      // vmovapd       %ymm5,%ymm7
+  .byte  196,129,121,16,12,129               // vmovupd       (%r9,%r8,4),%xmm1
+  .byte  196,227,117,13,207,12               // vblendpd      $0xc,%ymm7,%ymm1,%ymm1
+  .byte  197,252,16,124,36,224               // vmovups       -0x20(%rsp),%ymm7
+  .byte  197,252,16,116,36,192               // vmovups       -0x40(%rsp),%ymm6
+  .byte  197,252,16,108,36,160               // vmovups       -0x60(%rsp),%ymm5
+  .byte  197,252,16,100,36,128               // vmovups       -0x80(%rsp),%ymm4
+  .byte  72,131,196,24                       // add           $0x18,%rsp
+  .byte  196,193,116,20,210                  // vunpcklps     %ymm10,%ymm1,%ymm2
+  .byte  196,65,116,21,194                   // vunpckhps     %ymm10,%ymm1,%ymm8
+  .byte  197,228,20,200                      // vunpcklps     %ymm0,%ymm3,%ymm1
+  .byte  197,228,21,216                      // vunpckhps     %ymm0,%ymm3,%ymm3
+  .byte  197,237,20,193                      // vunpcklpd     %ymm1,%ymm2,%ymm0
+  .byte  197,237,21,201                      // vunpckhpd     %ymm1,%ymm2,%ymm1
+  .byte  197,189,20,211                      // vunpcklpd     %ymm3,%ymm8,%ymm2
+  .byte  197,189,21,219                      // vunpckhpd     %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  197,229,87,219                      // vxorpd        %ymm3,%ymm3,%ymm3
+  .byte  196,65,45,87,210                    // vxorpd        %ymm10,%ymm10,%ymm10
+  .byte  197,245,87,201                      // vxorpd        %ymm1,%ymm1,%ymm1
+  .byte  235,203                             // jmp           17f3d <_sk_load_f32_avx+0x145>
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  27,255                              // sbb           %edi,%edi
+  .byte  255                                 // (bad)
+  .byte  255,161,255,255,255,140             // jmpq          *-0x73000001(%rcx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,119,255                         // pushq         -0x1(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255,92,255,255                      // lcall         *-0x1(%rdi,%rdi,8)
+  .byte  255,70,255                          // incl          -0x1(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255,53,255,255,255,40               // pushq         0x28ffffff(%rip)        # 29017f90 <_sk_srcover_bgra_8888_sse2_lowp+0x28fdbd44>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_f32_dst_avx
+.globl _sk_load_f32_dst_avx
+FUNCTION(_sk_load_f32_dst_avx)
+_sk_load_f32_dst_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,221,87,228                      // vxorpd        %ymm4,%ymm4,%ymm4
+  .byte  72,131,255,7                        // cmp           $0x7,%rdi
+  .byte  15,135,91,1,0,0                     // ja            180ff <_sk_load_f32_dst_avx+0x16b>
+  .byte  72,131,236,24                       // sub           $0x18,%rsp
+  .byte  197,253,17,68,36,128                // vmovupd       %ymm0,-0x80(%rsp)
+  .byte  197,253,17,76,36,160                // vmovupd       %ymm1,-0x60(%rsp)
+  .byte  197,253,17,84,36,192                // vmovupd       %ymm2,-0x40(%rsp)
+  .byte  197,253,17,92,36,224                // vmovupd       %ymm3,-0x20(%rsp)
+  .byte  76,141,4,149,0,0,0,0                // lea           0x0(,%rdx,4),%r8
+  .byte  76,99,72,8                          // movslq        0x8(%rax),%r9
+  .byte  76,15,175,201                       // imul          %rcx,%r9
+  .byte  73,193,225,2                        // shl           $0x2,%r9
+  .byte  76,3,8                              // add           (%rax),%r9
+  .byte  76,141,21,50,1,0,0                  // lea           0x132(%rip),%r10        # 18110 <_sk_load_f32_dst_avx+0x17c>
+  .byte  73,99,4,186                         // movslq        (%r10,%rdi,4),%rax
+  .byte  76,1,208                            // add           %r10,%rax
+  .byte  197,253,87,192                      // vxorpd        %ymm0,%ymm0,%ymm0
+  .byte  196,65,53,87,201                    // vxorpd        %ymm9,%ymm9,%ymm9
+  .byte  197,205,87,246                      // vxorpd        %ymm6,%ymm6,%ymm6
+  .byte  196,65,37,87,219                    // vxorpd        %ymm11,%ymm11,%ymm11
+  .byte  196,65,29,87,228                    // vxorpd        %ymm12,%ymm12,%ymm12
+  .byte  196,65,61,87,192                    // vxorpd        %ymm8,%ymm8,%ymm8
+  .byte  196,65,13,87,246                    // vxorpd        %ymm14,%ymm14,%ymm14
+  .byte  197,237,87,210                      // vxorpd        %ymm2,%ymm2,%ymm2
+  .byte  196,65,5,87,255                     // vxorpd        %ymm15,%ymm15,%ymm15
+  .byte  197,213,87,237                      // vxorpd        %ymm5,%ymm5,%ymm5
+  .byte  196,65,21,87,237                    // vxorpd        %ymm13,%ymm13,%ymm13
+  .byte  197,245,87,201                      // vxorpd        %ymm1,%ymm1,%ymm1
+  .byte  197,197,87,255                      // vxorpd        %ymm7,%ymm7,%ymm7
+  .byte  196,65,45,87,210                    // vxorpd        %ymm10,%ymm10,%ymm10
+  .byte  197,229,87,219                      // vxorpd        %ymm3,%ymm3,%ymm3
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,129,121,16,68,129,112           // vmovupd       0x70(%r9,%r8,4),%xmm0
+  .byte  196,227,125,6,224,40                // vperm2f128    $0x28,%ymm0,%ymm0,%ymm4
+  .byte  196,129,121,16,68,129,96            // vmovupd       0x60(%r9,%r8,4),%xmm0
+  .byte  196,227,125,6,192,40                // vperm2f128    $0x28,%ymm0,%ymm0,%ymm0
+  .byte  196,129,121,16,76,129,80            // vmovupd       0x50(%r9,%r8,4),%xmm1
+  .byte  196,227,125,6,241,40                // vperm2f128    $0x28,%ymm1,%ymm0,%ymm6
+  .byte  197,125,40,200                      // vmovapd       %ymm0,%ymm9
+  .byte  196,129,121,16,68,129,64            // vmovupd       0x40(%r9,%r8,4),%xmm0
+  .byte  196,99,125,6,192,40                 // vperm2f128    $0x28,%ymm0,%ymm0,%ymm8
+  .byte  196,65,125,40,217                   // vmovapd       %ymm9,%ymm11
+  .byte  197,125,40,230                      // vmovapd       %ymm6,%ymm12
+  .byte  196,129,121,16,68,129,48            // vmovupd       0x30(%r9,%r8,4),%xmm0
+  .byte  196,227,125,13,228,12               // vblendpd      $0xc,%ymm4,%ymm0,%ymm4
+  .byte  196,65,125,40,243                   // vmovapd       %ymm11,%ymm14
+  .byte  197,125,41,226                      // vmovapd       %ymm12,%ymm2
+  .byte  196,65,125,40,248                   // vmovapd       %ymm8,%ymm15
+  .byte  196,129,121,16,68,129,32            // vmovupd       0x20(%r9,%r8,4),%xmm0
+  .byte  196,195,125,13,238,12               // vblendpd      $0xc,%ymm14,%ymm0,%ymm5
+  .byte  197,125,40,234                      // vmovapd       %ymm2,%ymm13
+  .byte  197,125,41,249                      // vmovapd       %ymm15,%ymm1
+  .byte  196,129,121,16,68,129,16            // vmovupd       0x10(%r9,%r8,4),%xmm0
+  .byte  196,67,125,13,213,12                // vblendpd      $0xc,%ymm13,%ymm0,%ymm10
+  .byte  197,253,40,253                      // vmovapd       %ymm5,%ymm7
+  .byte  197,253,40,217                      // vmovapd       %ymm1,%ymm3
+  .byte  196,129,121,16,4,129                // vmovupd       (%r9,%r8,4),%xmm0
+  .byte  196,227,125,13,235,12               // vblendpd      $0xc,%ymm3,%ymm0,%ymm5
+  .byte  197,252,16,92,36,224                // vmovups       -0x20(%rsp),%ymm3
+  .byte  197,252,16,84,36,192                // vmovups       -0x40(%rsp),%ymm2
+  .byte  197,252,16,76,36,160                // vmovups       -0x60(%rsp),%ymm1
+  .byte  197,252,16,68,36,128                // vmovups       -0x80(%rsp),%ymm0
+  .byte  72,131,196,24                       // add           $0x18,%rsp
+  .byte  196,193,84,20,242                   // vunpcklps     %ymm10,%ymm5,%ymm6
+  .byte  196,65,84,21,194                    // vunpckhps     %ymm10,%ymm5,%ymm8
+  .byte  197,196,20,236                      // vunpcklps     %ymm4,%ymm7,%ymm5
+  .byte  197,196,21,252                      // vunpckhps     %ymm4,%ymm7,%ymm7
+  .byte  197,205,20,229                      // vunpcklpd     %ymm5,%ymm6,%ymm4
+  .byte  197,205,21,237                      // vunpckhpd     %ymm5,%ymm6,%ymm5
+  .byte  197,189,20,247                      // vunpcklpd     %ymm7,%ymm8,%ymm6
+  .byte  197,189,21,255                      // vunpckhpd     %ymm7,%ymm8,%ymm7
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  197,197,87,255                      // vxorpd        %ymm7,%ymm7,%ymm7
+  .byte  196,65,45,87,210                    // vxorpd        %ymm10,%ymm10,%ymm10
+  .byte  197,213,87,237                      // vxorpd        %ymm5,%ymm5,%ymm5
+  .byte  235,203                             // jmp           180d9 <_sk_load_f32_dst_avx+0x145>
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  27,255                              // sbb           %edi,%edi
+  .byte  255                                 // (bad)
+  .byte  255,161,255,255,255,140             // jmpq          *-0x73000001(%rcx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,119,255                         // pushq         -0x1(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255,92,255,255                      // lcall         *-0x1(%rdi,%rdi,8)
+  .byte  255,70,255                          // incl          -0x1(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255,53,255,255,255,40               // pushq         0x28ffffff(%rip)        # 2901812c <_sk_srcover_bgra_8888_sse2_lowp+0x28fdbee0>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_store_f32_avx
+.globl _sk_store_f32_avx
+FUNCTION(_sk_store_f32_avx)
+_sk_store_f32_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,141,4,149,0,0,0,0                // lea           0x0(,%rdx,4),%r8
+  .byte  76,99,72,8                          // movslq        0x8(%rax),%r9
+  .byte  76,15,175,201                       // imul          %rcx,%r9
+  .byte  73,193,225,2                        // shl           $0x2,%r9
+  .byte  76,3,8                              // add           (%rax),%r9
+  .byte  197,124,20,193                      // vunpcklps     %ymm1,%ymm0,%ymm8
+  .byte  197,124,21,217                      // vunpckhps     %ymm1,%ymm0,%ymm11
+  .byte  197,108,20,203                      // vunpcklps     %ymm3,%ymm2,%ymm9
+  .byte  197,108,21,227                      // vunpckhps     %ymm3,%ymm2,%ymm12
+  .byte  196,65,61,20,209                    // vunpcklpd     %ymm9,%ymm8,%ymm10
+  .byte  196,65,61,21,201                    // vunpckhpd     %ymm9,%ymm8,%ymm9
+  .byte  196,65,37,20,196                    // vunpcklpd     %ymm12,%ymm11,%ymm8
+  .byte  196,65,37,21,220                    // vunpckhpd     %ymm12,%ymm11,%ymm11
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,55                              // jne           181a9 <_sk_store_f32_avx+0x79>
+  .byte  196,67,45,24,225,1                  // vinsertf128   $0x1,%xmm9,%ymm10,%ymm12
+  .byte  196,67,61,24,235,1                  // vinsertf128   $0x1,%xmm11,%ymm8,%ymm13
+  .byte  196,67,45,6,201,49                  // vperm2f128    $0x31,%ymm9,%ymm10,%ymm9
+  .byte  196,67,61,6,195,49                  // vperm2f128    $0x31,%ymm11,%ymm8,%ymm8
+  .byte  196,1,124,17,36,129                 // vmovups       %ymm12,(%r9,%r8,4)
+  .byte  196,1,124,17,108,129,32             // vmovups       %ymm13,0x20(%r9,%r8,4)
+  .byte  196,1,125,17,76,129,64              // vmovupd       %ymm9,0x40(%r9,%r8,4)
+  .byte  196,1,125,17,68,129,96              // vmovupd       %ymm8,0x60(%r9,%r8,4)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,1,121,17,20,129                 // vmovupd       %xmm10,(%r9,%r8,4)
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  116,240                             // je            181a5 <_sk_store_f32_avx+0x75>
+  .byte  196,1,121,17,76,129,16              // vmovupd       %xmm9,0x10(%r9,%r8,4)
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  114,227                             // jb            181a5 <_sk_store_f32_avx+0x75>
+  .byte  196,1,121,17,68,129,32              // vmovupd       %xmm8,0x20(%r9,%r8,4)
+  .byte  116,218                             // je            181a5 <_sk_store_f32_avx+0x75>
+  .byte  196,1,121,17,92,129,48              // vmovupd       %xmm11,0x30(%r9,%r8,4)
+  .byte  72,131,255,5                        // cmp           $0x5,%rdi
+  .byte  114,205                             // jb            181a5 <_sk_store_f32_avx+0x75>
+  .byte  196,3,125,25,84,129,64,1            // vextractf128  $0x1,%ymm10,0x40(%r9,%r8,4)
+  .byte  116,195                             // je            181a5 <_sk_store_f32_avx+0x75>
+  .byte  196,3,125,25,76,129,80,1            // vextractf128  $0x1,%ymm9,0x50(%r9,%r8,4)
+  .byte  72,131,255,7                        // cmp           $0x7,%rdi
+  .byte  114,181                             // jb            181a5 <_sk_store_f32_avx+0x75>
+  .byte  196,3,125,25,68,129,96,1            // vextractf128  $0x1,%ymm8,0x60(%r9,%r8,4)
+  .byte  235,171                             // jmp           181a5 <_sk_store_f32_avx+0x75>
+
+HIDDEN _sk_repeat_x_avx
+.globl _sk_repeat_x_avx
+FUNCTION(_sk_repeat_x_avx)
+_sk_repeat_x_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,64,4                  // vbroadcastss  0x4(%rax),%ymm8
+  .byte  197,60,89,192                       // vmulps        %ymm0,%ymm8,%ymm8
+  .byte  196,67,125,8,192,1                  // vroundps      $0x1,%ymm8,%ymm8
+  .byte  196,98,125,24,8                     // vbroadcastss  (%rax),%ymm9
+  .byte  196,65,60,89,193                    // vmulps        %ymm9,%ymm8,%ymm8
+  .byte  196,193,124,92,192                  // vsubps        %ymm8,%ymm0,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_repeat_y_avx
+.globl _sk_repeat_y_avx
+FUNCTION(_sk_repeat_y_avx)
+_sk_repeat_y_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,64,4                  // vbroadcastss  0x4(%rax),%ymm8
+  .byte  197,60,89,193                       // vmulps        %ymm1,%ymm8,%ymm8
+  .byte  196,67,125,8,192,1                  // vroundps      $0x1,%ymm8,%ymm8
+  .byte  196,98,125,24,8                     // vbroadcastss  (%rax),%ymm9
+  .byte  196,65,60,89,193                    // vmulps        %ymm9,%ymm8,%ymm8
+  .byte  196,193,116,92,200                  // vsubps        %ymm8,%ymm1,%ymm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_mirror_x_avx
+.globl _sk_mirror_x_avx
+FUNCTION(_sk_mirror_x_avx)
+_sk_mirror_x_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,122,16,0                        // vmovss        (%rax),%xmm8
+  .byte  197,122,16,72,4                     // vmovss        0x4(%rax),%xmm9
+  .byte  196,67,121,4,208,0                  // vpermilps     $0x0,%xmm8,%xmm10
+  .byte  196,67,45,24,210,1                  // vinsertf128   $0x1,%xmm10,%ymm10,%ymm10
+  .byte  196,65,124,92,218                   // vsubps        %ymm10,%ymm0,%ymm11
+  .byte  196,193,58,88,192                   // vaddss        %xmm8,%xmm8,%xmm0
+  .byte  196,227,121,4,192,0                 // vpermilps     $0x0,%xmm0,%xmm0
+  .byte  196,99,125,24,192,1                 // vinsertf128   $0x1,%xmm0,%ymm0,%ymm8
+  .byte  197,178,89,5,127,66,2,0             // vmulss        0x2427f(%rip),%xmm9,%xmm0        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  196,227,121,4,192,0                 // vpermilps     $0x0,%xmm0,%xmm0
+  .byte  196,227,125,24,192,1                // vinsertf128   $0x1,%xmm0,%ymm0,%ymm0
+  .byte  197,164,89,192                      // vmulps        %ymm0,%ymm11,%ymm0
+  .byte  196,227,125,8,192,1                 // vroundps      $0x1,%ymm0,%ymm0
+  .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
+  .byte  197,164,92,192                      // vsubps        %ymm0,%ymm11,%ymm0
+  .byte  196,193,124,92,194                  // vsubps        %ymm10,%ymm0,%ymm0
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,60,92,192                       // vsubps        %ymm0,%ymm8,%ymm8
+  .byte  197,188,84,192                      // vandps        %ymm0,%ymm8,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_mirror_y_avx
+.globl _sk_mirror_y_avx
+FUNCTION(_sk_mirror_y_avx)
+_sk_mirror_y_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,122,16,0                        // vmovss        (%rax),%xmm8
+  .byte  197,122,16,72,4                     // vmovss        0x4(%rax),%xmm9
+  .byte  196,67,121,4,208,0                  // vpermilps     $0x0,%xmm8,%xmm10
+  .byte  196,67,45,24,210,1                  // vinsertf128   $0x1,%xmm10,%ymm10,%ymm10
+  .byte  196,65,116,92,218                   // vsubps        %ymm10,%ymm1,%ymm11
+  .byte  196,193,58,88,200                   // vaddss        %xmm8,%xmm8,%xmm1
+  .byte  196,227,121,4,201,0                 // vpermilps     $0x0,%xmm1,%xmm1
+  .byte  196,99,117,24,193,1                 // vinsertf128   $0x1,%xmm1,%ymm1,%ymm8
+  .byte  197,178,89,13,21,66,2,0             // vmulss        0x24215(%rip),%xmm9,%xmm1        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  196,227,121,4,201,0                 // vpermilps     $0x0,%xmm1,%xmm1
+  .byte  196,227,117,24,201,1                // vinsertf128   $0x1,%xmm1,%ymm1,%ymm1
+  .byte  197,164,89,201                      // vmulps        %ymm1,%ymm11,%ymm1
+  .byte  196,227,125,8,201,1                 // vroundps      $0x1,%ymm1,%ymm1
+  .byte  196,193,116,89,200                  // vmulps        %ymm8,%ymm1,%ymm1
+  .byte  197,164,92,201                      // vsubps        %ymm1,%ymm11,%ymm1
+  .byte  196,193,116,92,202                  // vsubps        %ymm10,%ymm1,%ymm1
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,60,92,193                       // vsubps        %ymm1,%ymm8,%ymm8
+  .byte  197,188,84,201                      // vandps        %ymm1,%ymm8,%ymm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_clamp_x_1_avx
+.globl _sk_clamp_x_1_avx
+FUNCTION(_sk_clamp_x_1_avx)
+_sk_clamp_x_1_avx:
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,188,95,192                      // vmaxps        %ymm0,%ymm8,%ymm0
+  .byte  196,98,125,24,5,210,65,2,0          // vbroadcastss  0x241d2(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,193,124,93,192                  // vminps        %ymm8,%ymm0,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_repeat_x_1_avx
+.globl _sk_repeat_x_1_avx
+FUNCTION(_sk_repeat_x_1_avx)
+_sk_repeat_x_1_avx:
+  .byte  196,99,125,8,192,1                  // vroundps      $0x1,%ymm0,%ymm8
+  .byte  196,193,124,92,192                  // vsubps        %ymm8,%ymm0,%ymm0
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,188,95,192                      // vmaxps        %ymm0,%ymm8,%ymm0
+  .byte  196,98,125,24,5,172,65,2,0          // vbroadcastss  0x241ac(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,193,124,93,192                  // vminps        %ymm8,%ymm0,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_mirror_x_1_avx
+.globl _sk_mirror_x_1_avx
+FUNCTION(_sk_mirror_x_1_avx)
+_sk_mirror_x_1_avx:
+  .byte  196,98,125,24,5,178,65,2,0          // vbroadcastss  0x241b2(%rip),%ymm8        # 3c514 <_sk_srcover_bgra_8888_sse2_lowp+0x2c8>
+  .byte  196,193,124,88,192                  // vaddps        %ymm8,%ymm0,%ymm0
+  .byte  196,98,125,24,13,136,65,2,0         // vbroadcastss  0x24188(%rip),%ymm9        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  196,65,124,89,201                   // vmulps        %ymm9,%ymm0,%ymm9
+  .byte  196,67,125,8,201,1                  // vroundps      $0x1,%ymm9,%ymm9
+  .byte  196,65,52,88,201                    // vaddps        %ymm9,%ymm9,%ymm9
+  .byte  196,193,124,92,193                  // vsubps        %ymm9,%ymm0,%ymm0
+  .byte  196,193,124,88,192                  // vaddps        %ymm8,%ymm0,%ymm0
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,60,92,200                       // vsubps        %ymm0,%ymm8,%ymm9
+  .byte  197,180,84,192                      // vandps        %ymm0,%ymm9,%ymm0
+  .byte  197,188,95,192                      // vmaxps        %ymm0,%ymm8,%ymm0
+  .byte  196,98,125,24,5,88,65,2,0           // vbroadcastss  0x24158(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,193,124,93,192                  // vminps        %ymm8,%ymm0,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_decal_x_avx
+.globl _sk_decal_x_avx
+FUNCTION(_sk_decal_x_avx)
+_sk_decal_x_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,60,194,200,2                    // vcmpleps      %ymm0,%ymm8,%ymm9
+  .byte  196,98,125,24,80,64                 // vbroadcastss  0x40(%rax),%ymm10
+  .byte  196,65,124,194,210,1                // vcmpltps      %ymm10,%ymm0,%ymm10
+  .byte  196,65,44,84,201                    // vandps        %ymm9,%ymm10,%ymm9
+  .byte  196,65,60,194,208,15                // vcmptrueps    %ymm8,%ymm8,%ymm10
+  .byte  196,67,61,74,194,144                // vblendvps     %ymm9,%ymm10,%ymm8,%ymm8
+  .byte  197,124,17,0                        // vmovups       %ymm8,(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_decal_y_avx
+.globl _sk_decal_y_avx
+FUNCTION(_sk_decal_y_avx)
+_sk_decal_y_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,60,194,201,2                    // vcmpleps      %ymm1,%ymm8,%ymm9
+  .byte  196,98,125,24,80,68                 // vbroadcastss  0x44(%rax),%ymm10
+  .byte  196,65,116,194,210,1                // vcmpltps      %ymm10,%ymm1,%ymm10
+  .byte  196,65,44,84,201                    // vandps        %ymm9,%ymm10,%ymm9
+  .byte  196,65,60,194,208,15                // vcmptrueps    %ymm8,%ymm8,%ymm10
+  .byte  196,67,61,74,194,144                // vblendvps     %ymm9,%ymm10,%ymm8,%ymm8
+  .byte  197,124,17,0                        // vmovups       %ymm8,(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_decal_x_and_y_avx
+.globl _sk_decal_x_and_y_avx
+FUNCTION(_sk_decal_x_and_y_avx)
+_sk_decal_x_and_y_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,60,194,200,2                    // vcmpleps      %ymm0,%ymm8,%ymm9
+  .byte  196,67,125,25,202,1                 // vextractf128  $0x1,%ymm9,%xmm10
+  .byte  196,65,49,99,202                    // vpacksswb     %xmm10,%xmm9,%xmm9
+  .byte  196,98,125,24,80,64                 // vbroadcastss  0x40(%rax),%ymm10
+  .byte  196,65,124,194,210,1                // vcmpltps      %ymm10,%ymm0,%ymm10
+  .byte  196,67,125,25,211,1                 // vextractf128  $0x1,%ymm10,%xmm11
+  .byte  196,65,41,99,211                    // vpacksswb     %xmm11,%xmm10,%xmm10
+  .byte  197,60,194,217,2                    // vcmpleps      %ymm1,%ymm8,%ymm11
+  .byte  196,67,125,25,220,1                 // vextractf128  $0x1,%ymm11,%xmm12
+  .byte  196,65,33,99,220                    // vpacksswb     %xmm12,%xmm11,%xmm11
+  .byte  196,65,33,219,201                   // vpand         %xmm9,%xmm11,%xmm9
+  .byte  196,65,49,219,202                   // vpand         %xmm10,%xmm9,%xmm9
+  .byte  196,98,125,24,80,68                 // vbroadcastss  0x44(%rax),%ymm10
+  .byte  196,65,116,194,210,1                // vcmpltps      %ymm10,%ymm1,%ymm10
+  .byte  196,67,125,25,211,1                 // vextractf128  $0x1,%ymm10,%xmm11
+  .byte  196,65,41,99,211                    // vpacksswb     %xmm11,%xmm10,%xmm10
+  .byte  196,65,49,219,202                   // vpand         %xmm10,%xmm9,%xmm9
+  .byte  196,66,121,51,209                   // vpmovzxwd     %xmm9,%xmm10
+  .byte  196,193,41,114,242,31               // vpslld        $0x1f,%xmm10,%xmm10
+  .byte  196,193,41,114,226,31               // vpsrad        $0x1f,%xmm10,%xmm10
+  .byte  197,49,105,200                      // vpunpckhwd    %xmm0,%xmm9,%xmm9
+  .byte  196,193,49,114,241,31               // vpslld        $0x1f,%xmm9,%xmm9
+  .byte  196,193,49,114,225,31               // vpsrad        $0x1f,%xmm9,%xmm9
+  .byte  196,67,45,24,201,1                  // vinsertf128   $0x1,%xmm9,%ymm10,%ymm9
+  .byte  196,65,60,194,208,15                // vcmptrueps    %ymm8,%ymm8,%ymm10
+  .byte  196,67,61,74,194,144                // vblendvps     %ymm9,%ymm10,%ymm8,%ymm8
+  .byte  197,124,17,0                        // vmovups       %ymm8,(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_check_decal_mask_avx
+.globl _sk_check_decal_mask_avx
+FUNCTION(_sk_check_decal_mask_avx)
+_sk_check_decal_mask_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,16,0                        // vmovups       (%rax),%ymm8
+  .byte  197,188,84,192                      // vandps        %ymm0,%ymm8,%ymm0
+  .byte  197,188,84,201                      // vandps        %ymm1,%ymm8,%ymm1
+  .byte  197,188,84,210                      // vandps        %ymm2,%ymm8,%ymm2
+  .byte  197,188,84,219                      // vandps        %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_luminance_to_alpha_avx
+.globl _sk_luminance_to_alpha_avx
+FUNCTION(_sk_luminance_to_alpha_avx)
+_sk_luminance_to_alpha_avx:
+  .byte  196,226,125,24,29,95,65,2,0         // vbroadcastss  0x2415f(%rip),%ymm3        # 3c630 <_sk_srcover_bgra_8888_sse2_lowp+0x3e4>
+  .byte  197,252,89,195                      // vmulps        %ymm3,%ymm0,%ymm0
+  .byte  196,226,125,24,29,78,65,2,0         // vbroadcastss  0x2414e(%rip),%ymm3        # 3c62c <_sk_srcover_bgra_8888_sse2_lowp+0x3e0>
+  .byte  197,244,89,203                      // vmulps        %ymm3,%ymm1,%ymm1
+  .byte  197,252,88,193                      // vaddps        %ymm1,%ymm0,%ymm0
+  .byte  196,226,125,24,13,69,65,2,0         // vbroadcastss  0x24145(%rip),%ymm1        # 3c634 <_sk_srcover_bgra_8888_sse2_lowp+0x3e8>
+  .byte  197,236,89,201                      // vmulps        %ymm1,%ymm2,%ymm1
+  .byte  197,252,88,217                      // vaddps        %ymm1,%ymm0,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_translate_avx
+.globl _sk_matrix_translate_avx
+FUNCTION(_sk_matrix_translate_avx)
+_sk_matrix_translate_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,0                     // vbroadcastss  (%rax),%ymm8
+  .byte  197,188,88,192                      // vaddps        %ymm0,%ymm8,%ymm0
+  .byte  196,98,125,24,64,4                  // vbroadcastss  0x4(%rax),%ymm8
+  .byte  197,188,88,201                      // vaddps        %ymm1,%ymm8,%ymm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_scale_translate_avx
+.globl _sk_matrix_scale_translate_avx
+FUNCTION(_sk_matrix_scale_translate_avx)
+_sk_matrix_scale_translate_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,0                     // vbroadcastss  (%rax),%ymm8
+  .byte  196,98,125,24,72,8                  // vbroadcastss  0x8(%rax),%ymm9
+  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
+  .byte  196,193,124,88,193                  // vaddps        %ymm9,%ymm0,%ymm0
+  .byte  196,98,125,24,64,4                  // vbroadcastss  0x4(%rax),%ymm8
+  .byte  196,98,125,24,72,12                 // vbroadcastss  0xc(%rax),%ymm9
+  .byte  197,188,89,201                      // vmulps        %ymm1,%ymm8,%ymm1
+  .byte  196,193,116,88,201                  // vaddps        %ymm9,%ymm1,%ymm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_2x3_avx
+.globl _sk_matrix_2x3_avx
+FUNCTION(_sk_matrix_2x3_avx)
+_sk_matrix_2x3_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,0                     // vbroadcastss  (%rax),%ymm8
+  .byte  196,98,125,24,72,8                  // vbroadcastss  0x8(%rax),%ymm9
+  .byte  196,98,125,24,80,16                 // vbroadcastss  0x10(%rax),%ymm10
+  .byte  197,52,89,201                       // vmulps        %ymm1,%ymm9,%ymm9
+  .byte  196,65,52,88,202                    // vaddps        %ymm10,%ymm9,%ymm9
+  .byte  197,60,89,192                       // vmulps        %ymm0,%ymm8,%ymm8
+  .byte  196,65,60,88,193                    // vaddps        %ymm9,%ymm8,%ymm8
+  .byte  196,98,125,24,72,4                  // vbroadcastss  0x4(%rax),%ymm9
+  .byte  196,98,125,24,80,12                 // vbroadcastss  0xc(%rax),%ymm10
+  .byte  196,98,125,24,88,20                 // vbroadcastss  0x14(%rax),%ymm11
+  .byte  197,172,89,201                      // vmulps        %ymm1,%ymm10,%ymm1
+  .byte  196,193,116,88,203                  // vaddps        %ymm11,%ymm1,%ymm1
+  .byte  197,180,89,192                      // vmulps        %ymm0,%ymm9,%ymm0
+  .byte  197,252,88,201                      // vaddps        %ymm1,%ymm0,%ymm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_3x4_avx
+.globl _sk_matrix_3x4_avx
+FUNCTION(_sk_matrix_3x4_avx)
+_sk_matrix_3x4_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,0                     // vbroadcastss  (%rax),%ymm8
+  .byte  196,98,125,24,72,12                 // vbroadcastss  0xc(%rax),%ymm9
+  .byte  196,98,125,24,80,24                 // vbroadcastss  0x18(%rax),%ymm10
+  .byte  196,98,125,24,88,36                 // vbroadcastss  0x24(%rax),%ymm11
+  .byte  197,44,89,210                       // vmulps        %ymm2,%ymm10,%ymm10
+  .byte  196,65,44,88,211                    // vaddps        %ymm11,%ymm10,%ymm10
+  .byte  197,52,89,201                       // vmulps        %ymm1,%ymm9,%ymm9
+  .byte  196,65,52,88,202                    // vaddps        %ymm10,%ymm9,%ymm9
+  .byte  197,60,89,192                       // vmulps        %ymm0,%ymm8,%ymm8
+  .byte  196,65,60,88,193                    // vaddps        %ymm9,%ymm8,%ymm8
+  .byte  196,98,125,24,72,4                  // vbroadcastss  0x4(%rax),%ymm9
+  .byte  196,98,125,24,80,16                 // vbroadcastss  0x10(%rax),%ymm10
+  .byte  196,98,125,24,88,28                 // vbroadcastss  0x1c(%rax),%ymm11
+  .byte  196,98,125,24,96,40                 // vbroadcastss  0x28(%rax),%ymm12
+  .byte  197,36,89,218                       // vmulps        %ymm2,%ymm11,%ymm11
+  .byte  196,65,36,88,220                    // vaddps        %ymm12,%ymm11,%ymm11
+  .byte  197,44,89,209                       // vmulps        %ymm1,%ymm10,%ymm10
+  .byte  196,65,44,88,211                    // vaddps        %ymm11,%ymm10,%ymm10
+  .byte  197,52,89,200                       // vmulps        %ymm0,%ymm9,%ymm9
+  .byte  196,65,52,88,202                    // vaddps        %ymm10,%ymm9,%ymm9
+  .byte  196,98,125,24,80,8                  // vbroadcastss  0x8(%rax),%ymm10
+  .byte  196,98,125,24,88,20                 // vbroadcastss  0x14(%rax),%ymm11
+  .byte  196,98,125,24,96,32                 // vbroadcastss  0x20(%rax),%ymm12
+  .byte  196,98,125,24,104,44                // vbroadcastss  0x2c(%rax),%ymm13
+  .byte  197,156,89,210                      // vmulps        %ymm2,%ymm12,%ymm2
+  .byte  196,193,108,88,213                  // vaddps        %ymm13,%ymm2,%ymm2
+  .byte  197,164,89,201                      // vmulps        %ymm1,%ymm11,%ymm1
+  .byte  197,244,88,202                      // vaddps        %ymm2,%ymm1,%ymm1
+  .byte  197,172,89,192                      // vmulps        %ymm0,%ymm10,%ymm0
+  .byte  197,252,88,209                      // vaddps        %ymm1,%ymm0,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
+  .byte  197,124,41,201                      // vmovaps       %ymm9,%ymm1
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_4x5_avx
+.globl _sk_matrix_4x5_avx
+FUNCTION(_sk_matrix_4x5_avx)
+_sk_matrix_4x5_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,0                     // vbroadcastss  (%rax),%ymm8
+  .byte  196,98,125,24,72,16                 // vbroadcastss  0x10(%rax),%ymm9
+  .byte  196,98,125,24,80,32                 // vbroadcastss  0x20(%rax),%ymm10
+  .byte  196,98,125,24,88,48                 // vbroadcastss  0x30(%rax),%ymm11
+  .byte  196,98,125,24,96,64                 // vbroadcastss  0x40(%rax),%ymm12
+  .byte  197,36,89,219                       // vmulps        %ymm3,%ymm11,%ymm11
+  .byte  196,65,36,88,220                    // vaddps        %ymm12,%ymm11,%ymm11
+  .byte  197,44,89,210                       // vmulps        %ymm2,%ymm10,%ymm10
+  .byte  196,65,44,88,211                    // vaddps        %ymm11,%ymm10,%ymm10
+  .byte  197,52,89,201                       // vmulps        %ymm1,%ymm9,%ymm9
+  .byte  196,65,52,88,202                    // vaddps        %ymm10,%ymm9,%ymm9
+  .byte  197,60,89,192                       // vmulps        %ymm0,%ymm8,%ymm8
+  .byte  196,65,60,88,193                    // vaddps        %ymm9,%ymm8,%ymm8
+  .byte  196,98,125,24,72,4                  // vbroadcastss  0x4(%rax),%ymm9
+  .byte  196,98,125,24,80,20                 // vbroadcastss  0x14(%rax),%ymm10
+  .byte  196,98,125,24,88,36                 // vbroadcastss  0x24(%rax),%ymm11
+  .byte  196,98,125,24,96,52                 // vbroadcastss  0x34(%rax),%ymm12
+  .byte  196,98,125,24,104,68                // vbroadcastss  0x44(%rax),%ymm13
+  .byte  197,28,89,227                       // vmulps        %ymm3,%ymm12,%ymm12
+  .byte  196,65,28,88,229                    // vaddps        %ymm13,%ymm12,%ymm12
+  .byte  197,36,89,218                       // vmulps        %ymm2,%ymm11,%ymm11
+  .byte  196,65,36,88,220                    // vaddps        %ymm12,%ymm11,%ymm11
+  .byte  197,44,89,209                       // vmulps        %ymm1,%ymm10,%ymm10
+  .byte  196,65,44,88,211                    // vaddps        %ymm11,%ymm10,%ymm10
+  .byte  197,52,89,200                       // vmulps        %ymm0,%ymm9,%ymm9
+  .byte  196,65,52,88,202                    // vaddps        %ymm10,%ymm9,%ymm9
+  .byte  196,98,125,24,80,8                  // vbroadcastss  0x8(%rax),%ymm10
+  .byte  196,98,125,24,88,24                 // vbroadcastss  0x18(%rax),%ymm11
+  .byte  196,98,125,24,96,40                 // vbroadcastss  0x28(%rax),%ymm12
+  .byte  196,98,125,24,104,56                // vbroadcastss  0x38(%rax),%ymm13
+  .byte  196,98,125,24,112,72                // vbroadcastss  0x48(%rax),%ymm14
+  .byte  197,20,89,235                       // vmulps        %ymm3,%ymm13,%ymm13
+  .byte  196,65,20,88,238                    // vaddps        %ymm14,%ymm13,%ymm13
+  .byte  197,28,89,226                       // vmulps        %ymm2,%ymm12,%ymm12
+  .byte  196,65,28,88,229                    // vaddps        %ymm13,%ymm12,%ymm12
+  .byte  197,36,89,217                       // vmulps        %ymm1,%ymm11,%ymm11
+  .byte  196,65,36,88,220                    // vaddps        %ymm12,%ymm11,%ymm11
+  .byte  197,44,89,208                       // vmulps        %ymm0,%ymm10,%ymm10
+  .byte  196,65,44,88,211                    // vaddps        %ymm11,%ymm10,%ymm10
+  .byte  196,98,125,24,88,12                 // vbroadcastss  0xc(%rax),%ymm11
+  .byte  196,98,125,24,96,28                 // vbroadcastss  0x1c(%rax),%ymm12
+  .byte  196,98,125,24,104,44                // vbroadcastss  0x2c(%rax),%ymm13
+  .byte  196,98,125,24,112,60                // vbroadcastss  0x3c(%rax),%ymm14
+  .byte  196,98,125,24,120,76                // vbroadcastss  0x4c(%rax),%ymm15
+  .byte  197,140,89,219                      // vmulps        %ymm3,%ymm14,%ymm3
+  .byte  196,193,100,88,223                  // vaddps        %ymm15,%ymm3,%ymm3
+  .byte  197,148,89,210                      // vmulps        %ymm2,%ymm13,%ymm2
+  .byte  197,236,88,211                      // vaddps        %ymm3,%ymm2,%ymm2
+  .byte  197,156,89,201                      // vmulps        %ymm1,%ymm12,%ymm1
+  .byte  197,244,88,202                      // vaddps        %ymm2,%ymm1,%ymm1
+  .byte  197,164,89,192                      // vmulps        %ymm0,%ymm11,%ymm0
+  .byte  197,252,88,217                      // vaddps        %ymm1,%ymm0,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
+  .byte  197,124,41,201                      // vmovaps       %ymm9,%ymm1
+  .byte  197,124,41,210                      // vmovaps       %ymm10,%ymm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_4x3_avx
+.globl _sk_matrix_4x3_avx
+FUNCTION(_sk_matrix_4x3_avx)
+_sk_matrix_4x3_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,16                   // vbroadcastss  (%rax),%ymm2
+  .byte  196,226,125,24,88,16                // vbroadcastss  0x10(%rax),%ymm3
+  .byte  196,98,125,24,64,32                 // vbroadcastss  0x20(%rax),%ymm8
+  .byte  197,228,89,217                      // vmulps        %ymm1,%ymm3,%ymm3
+  .byte  196,193,100,88,216                  // vaddps        %ymm8,%ymm3,%ymm3
+  .byte  197,236,89,208                      // vmulps        %ymm0,%ymm2,%ymm2
+  .byte  197,108,88,195                      // vaddps        %ymm3,%ymm2,%ymm8
+  .byte  196,226,125,24,80,4                 // vbroadcastss  0x4(%rax),%ymm2
+  .byte  196,226,125,24,88,20                // vbroadcastss  0x14(%rax),%ymm3
+  .byte  196,98,125,24,72,36                 // vbroadcastss  0x24(%rax),%ymm9
+  .byte  197,228,89,217                      // vmulps        %ymm1,%ymm3,%ymm3
+  .byte  196,193,100,88,217                  // vaddps        %ymm9,%ymm3,%ymm3
+  .byte  197,236,89,208                      // vmulps        %ymm0,%ymm2,%ymm2
+  .byte  197,108,88,203                      // vaddps        %ymm3,%ymm2,%ymm9
+  .byte  196,226,125,24,80,8                 // vbroadcastss  0x8(%rax),%ymm2
+  .byte  196,226,125,24,88,24                // vbroadcastss  0x18(%rax),%ymm3
+  .byte  196,98,125,24,80,40                 // vbroadcastss  0x28(%rax),%ymm10
+  .byte  197,228,89,217                      // vmulps        %ymm1,%ymm3,%ymm3
+  .byte  196,193,100,88,218                  // vaddps        %ymm10,%ymm3,%ymm3
+  .byte  197,236,89,208                      // vmulps        %ymm0,%ymm2,%ymm2
+  .byte  197,236,88,211                      // vaddps        %ymm3,%ymm2,%ymm2
+  .byte  196,226,125,24,88,12                // vbroadcastss  0xc(%rax),%ymm3
+  .byte  196,98,125,24,80,28                 // vbroadcastss  0x1c(%rax),%ymm10
+  .byte  196,98,125,24,88,44                 // vbroadcastss  0x2c(%rax),%ymm11
+  .byte  197,172,89,201                      // vmulps        %ymm1,%ymm10,%ymm1
+  .byte  196,193,116,88,203                  // vaddps        %ymm11,%ymm1,%ymm1
+  .byte  197,228,89,192                      // vmulps        %ymm0,%ymm3,%ymm0
+  .byte  197,252,88,217                      // vaddps        %ymm1,%ymm0,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
+  .byte  197,124,41,201                      // vmovaps       %ymm9,%ymm1
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_perspective_avx
+.globl _sk_matrix_perspective_avx
+FUNCTION(_sk_matrix_perspective_avx)
+_sk_matrix_perspective_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,0                     // vbroadcastss  (%rax),%ymm8
+  .byte  196,98,125,24,72,4                  // vbroadcastss  0x4(%rax),%ymm9
+  .byte  196,98,125,24,80,8                  // vbroadcastss  0x8(%rax),%ymm10
+  .byte  197,52,89,201                       // vmulps        %ymm1,%ymm9,%ymm9
+  .byte  196,65,52,88,202                    // vaddps        %ymm10,%ymm9,%ymm9
+  .byte  197,60,89,192                       // vmulps        %ymm0,%ymm8,%ymm8
+  .byte  196,65,60,88,193                    // vaddps        %ymm9,%ymm8,%ymm8
+  .byte  196,98,125,24,72,12                 // vbroadcastss  0xc(%rax),%ymm9
+  .byte  196,98,125,24,80,16                 // vbroadcastss  0x10(%rax),%ymm10
+  .byte  196,98,125,24,88,20                 // vbroadcastss  0x14(%rax),%ymm11
+  .byte  197,44,89,209                       // vmulps        %ymm1,%ymm10,%ymm10
+  .byte  196,65,44,88,211                    // vaddps        %ymm11,%ymm10,%ymm10
+  .byte  197,52,89,200                       // vmulps        %ymm0,%ymm9,%ymm9
+  .byte  196,65,52,88,202                    // vaddps        %ymm10,%ymm9,%ymm9
+  .byte  196,98,125,24,80,24                 // vbroadcastss  0x18(%rax),%ymm10
+  .byte  196,98,125,24,88,28                 // vbroadcastss  0x1c(%rax),%ymm11
+  .byte  196,98,125,24,96,32                 // vbroadcastss  0x20(%rax),%ymm12
+  .byte  197,164,89,201                      // vmulps        %ymm1,%ymm11,%ymm1
+  .byte  196,193,116,88,204                  // vaddps        %ymm12,%ymm1,%ymm1
+  .byte  197,172,89,192                      // vmulps        %ymm0,%ymm10,%ymm0
+  .byte  197,252,88,193                      // vaddps        %ymm1,%ymm0,%ymm0
+  .byte  197,252,83,200                      // vrcpps        %ymm0,%ymm1
+  .byte  197,188,89,193                      // vmulps        %ymm1,%ymm8,%ymm0
+  .byte  197,180,89,201                      // vmulps        %ymm1,%ymm9,%ymm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_evenly_spaced_gradient_avx
+.globl _sk_evenly_spaced_gradient_avx
+FUNCTION(_sk_evenly_spaced_gradient_avx)
+_sk_evenly_spaced_gradient_avx:
+  .byte  85                                  // push          %rbp
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,85                               // push          %r13
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  197,252,17,124,36,216               // vmovups       %ymm7,-0x28(%rsp)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  72,139,24                           // mov           (%rax),%rbx
+  .byte  72,139,104,8                        // mov           0x8(%rax),%rbp
+  .byte  72,255,203                          // dec           %rbx
+  .byte  120,7                               // js            18893 <_sk_evenly_spaced_gradient_avx+0x25>
+  .byte  196,225,242,42,203                  // vcvtsi2ss     %rbx,%xmm1,%xmm1
+  .byte  235,21                              // jmp           188a8 <_sk_evenly_spaced_gradient_avx+0x3a>
+  .byte  73,137,216                          // mov           %rbx,%r8
+  .byte  73,209,232                          // shr           %r8
+  .byte  131,227,1                           // and           $0x1,%ebx
+  .byte  76,9,195                            // or            %r8,%rbx
+  .byte  196,225,242,42,203                  // vcvtsi2ss     %rbx,%xmm1,%xmm1
+  .byte  197,242,88,201                      // vaddss        %xmm1,%xmm1,%xmm1
+  .byte  196,227,121,4,201,0                 // vpermilps     $0x0,%xmm1,%xmm1
+  .byte  196,227,117,24,201,1                // vinsertf128   $0x1,%xmm1,%ymm1,%ymm1
+  .byte  197,244,89,200                      // vmulps        %ymm0,%ymm1,%ymm1
+  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
+  .byte  196,195,249,22,200,1                // vpextrq       $0x1,%xmm1,%r8
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,193,249,126,202                 // vmovq         %xmm1,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,227,125,25,201,1                // vextractf128  $0x1,%ymm1,%xmm1
+  .byte  196,195,249,22,207,1                // vpextrq       $0x1,%xmm1,%r15
+  .byte  69,137,254                          // mov           %r15d,%r14d
+  .byte  73,193,239,32                       // shr           $0x20,%r15
+  .byte  196,193,249,126,205                 // vmovq         %xmm1,%r13
+  .byte  69,137,236                          // mov           %r13d,%r12d
+  .byte  73,193,237,32                       // shr           $0x20,%r13
+  .byte  196,161,122,16,76,165,0             // vmovss        0x0(%rbp,%r12,4),%xmm1
+  .byte  196,163,113,33,76,173,0,16          // vinsertps     $0x10,0x0(%rbp,%r13,4),%xmm1,%xmm1
+  .byte  196,161,122,16,84,181,0             // vmovss        0x0(%rbp,%r14,4),%xmm2
+  .byte  196,33,122,16,68,189,0              // vmovss        0x0(%rbp,%r15,4),%xmm8
+  .byte  196,161,122,16,92,157,0             // vmovss        0x0(%rbp,%r11,4),%xmm3
+  .byte  196,35,97,33,76,149,0,16            // vinsertps     $0x10,0x0(%rbp,%r10,4),%xmm3,%xmm9
+  .byte  196,161,122,16,124,141,0            // vmovss        0x0(%rbp,%r9,4),%xmm7
+  .byte  196,33,122,16,92,133,0              // vmovss        0x0(%rbp,%r8,4),%xmm11
+  .byte  196,99,113,33,226,32                // vinsertps     $0x20,%xmm2,%xmm1,%xmm12
+  .byte  72,139,88,40                        // mov           0x28(%rax),%rbx
+  .byte  196,161,122,16,20,163               // vmovss        (%rbx,%r12,4),%xmm2
+  .byte  196,35,105,33,44,171,16             // vinsertps     $0x10,(%rbx,%r13,4),%xmm2,%xmm13
+  .byte  196,161,122,16,28,179               // vmovss        (%rbx,%r14,4),%xmm3
+  .byte  196,161,122,16,12,187               // vmovss        (%rbx,%r15,4),%xmm1
+  .byte  196,161,122,16,20,155               // vmovss        (%rbx,%r11,4),%xmm2
+  .byte  196,35,105,33,52,147,16             // vinsertps     $0x10,(%rbx,%r10,4),%xmm2,%xmm14
+  .byte  196,33,122,16,60,139                // vmovss        (%rbx,%r9,4),%xmm15
+  .byte  196,33,122,16,20,131                // vmovss        (%rbx,%r8,4),%xmm10
+  .byte  196,67,25,33,192,48                 // vinsertps     $0x30,%xmm8,%xmm12,%xmm8
+  .byte  196,227,49,33,215,32                // vinsertps     $0x20,%xmm7,%xmm9,%xmm2
+  .byte  196,195,105,33,211,48               // vinsertps     $0x30,%xmm11,%xmm2,%xmm2
+  .byte  196,67,109,24,192,1                 // vinsertf128   $0x1,%xmm8,%ymm2,%ymm8
+  .byte  196,227,17,33,211,32                // vinsertps     $0x20,%xmm3,%xmm13,%xmm2
+  .byte  196,99,105,33,201,48                // vinsertps     $0x30,%xmm1,%xmm2,%xmm9
+  .byte  72,139,88,16                        // mov           0x10(%rax),%rbx
+  .byte  196,161,122,16,20,163               // vmovss        (%rbx,%r12,4),%xmm2
+  .byte  196,35,105,33,28,171,16             // vinsertps     $0x10,(%rbx,%r13,4),%xmm2,%xmm11
+  .byte  196,33,122,16,36,179                // vmovss        (%rbx,%r14,4),%xmm12
+  .byte  196,161,122,16,12,187               // vmovss        (%rbx,%r15,4),%xmm1
+  .byte  196,161,122,16,60,155               // vmovss        (%rbx,%r11,4),%xmm7
+  .byte  196,163,65,33,60,147,16             // vinsertps     $0x10,(%rbx,%r10,4),%xmm7,%xmm7
+  .byte  196,161,122,16,28,139               // vmovss        (%rbx,%r9,4),%xmm3
+  .byte  196,33,122,16,44,131                // vmovss        (%rbx,%r8,4),%xmm13
+  .byte  196,195,9,33,215,32                 // vinsertps     $0x20,%xmm15,%xmm14,%xmm2
+  .byte  196,195,105,33,210,48               // vinsertps     $0x30,%xmm10,%xmm2,%xmm2
+  .byte  196,67,109,24,241,1                 // vinsertf128   $0x1,%xmm9,%ymm2,%ymm14
+  .byte  196,195,33,33,212,32                // vinsertps     $0x20,%xmm12,%xmm11,%xmm2
+  .byte  196,99,105,33,201,48                // vinsertps     $0x30,%xmm1,%xmm2,%xmm9
+  .byte  196,99,65,33,211,32                 // vinsertps     $0x20,%xmm3,%xmm7,%xmm10
+  .byte  72,139,88,48                        // mov           0x30(%rax),%rbx
+  .byte  196,161,122,16,28,163               // vmovss        (%rbx,%r12,4),%xmm3
+  .byte  196,35,97,33,28,171,16              // vinsertps     $0x10,(%rbx,%r13,4),%xmm3,%xmm11
+  .byte  196,33,122,16,60,179                // vmovss        (%rbx,%r14,4),%xmm15
+  .byte  196,33,122,16,36,187                // vmovss        (%rbx,%r15,4),%xmm12
+  .byte  196,161,122,16,20,155               // vmovss        (%rbx,%r11,4),%xmm2
+  .byte  196,163,105,33,20,147,16            // vinsertps     $0x10,(%rbx,%r10,4),%xmm2,%xmm2
+  .byte  196,161,122,16,60,139               // vmovss        (%rbx,%r9,4),%xmm7
+  .byte  196,161,122,16,28,131               // vmovss        (%rbx,%r8,4),%xmm3
+  .byte  196,67,41,33,213,48                 // vinsertps     $0x30,%xmm13,%xmm10,%xmm10
+  .byte  196,67,45,24,233,1                  // vinsertf128   $0x1,%xmm9,%ymm10,%ymm13
+  .byte  196,195,33,33,207,32                // vinsertps     $0x20,%xmm15,%xmm11,%xmm1
+  .byte  196,67,113,33,204,48                // vinsertps     $0x30,%xmm12,%xmm1,%xmm9
+  .byte  196,227,105,33,215,32               // vinsertps     $0x20,%xmm7,%xmm2,%xmm2
+  .byte  196,99,105,33,211,48                // vinsertps     $0x30,%xmm3,%xmm2,%xmm10
+  .byte  72,139,88,24                        // mov           0x18(%rax),%rbx
+  .byte  196,161,122,16,28,163               // vmovss        (%rbx,%r12,4),%xmm3
+  .byte  196,35,97,33,28,171,16              // vinsertps     $0x10,(%rbx,%r13,4),%xmm3,%xmm11
+  .byte  196,33,122,16,36,179                // vmovss        (%rbx,%r14,4),%xmm12
+  .byte  196,33,122,16,60,187                // vmovss        (%rbx,%r15,4),%xmm15
+  .byte  196,161,122,16,20,155               // vmovss        (%rbx,%r11,4),%xmm2
+  .byte  196,163,105,33,20,147,16            // vinsertps     $0x10,(%rbx,%r10,4),%xmm2,%xmm2
+  .byte  196,161,122,16,28,139               // vmovss        (%rbx,%r9,4),%xmm3
+  .byte  196,161,122,16,60,131               // vmovss        (%rbx,%r8,4),%xmm7
+  .byte  196,67,45,24,201,1                  // vinsertf128   $0x1,%xmm9,%ymm10,%ymm9
+  .byte  196,195,33,33,204,32                // vinsertps     $0x20,%xmm12,%xmm11,%xmm1
+  .byte  196,195,113,33,207,48               // vinsertps     $0x30,%xmm15,%xmm1,%xmm1
+  .byte  196,227,105,33,211,32               // vinsertps     $0x20,%xmm3,%xmm2,%xmm2
+  .byte  196,227,105,33,215,48               // vinsertps     $0x30,%xmm7,%xmm2,%xmm2
+  .byte  196,99,109,24,209,1                 // vinsertf128   $0x1,%xmm1,%ymm2,%ymm10
+  .byte  72,139,88,56                        // mov           0x38(%rax),%rbx
+  .byte  196,161,122,16,12,163               // vmovss        (%rbx,%r12,4),%xmm1
+  .byte  196,35,113,33,28,171,16             // vinsertps     $0x10,(%rbx,%r13,4),%xmm1,%xmm11
+  .byte  196,33,122,16,36,179                // vmovss        (%rbx,%r14,4),%xmm12
+  .byte  196,33,122,16,60,187                // vmovss        (%rbx,%r15,4),%xmm15
+  .byte  196,161,122,16,60,155               // vmovss        (%rbx,%r11,4),%xmm7
+  .byte  196,163,65,33,60,147,16             // vinsertps     $0x10,(%rbx,%r10,4),%xmm7,%xmm7
+  .byte  196,161,122,16,12,139               // vmovss        (%rbx,%r9,4),%xmm1
+  .byte  196,161,122,16,20,131               // vmovss        (%rbx,%r8,4),%xmm2
+  .byte  196,195,33,33,220,32                // vinsertps     $0x20,%xmm12,%xmm11,%xmm3
+  .byte  196,195,97,33,223,48                // vinsertps     $0x30,%xmm15,%xmm3,%xmm3
+  .byte  196,227,65,33,201,32                // vinsertps     $0x20,%xmm1,%xmm7,%xmm1
+  .byte  196,227,113,33,202,48               // vinsertps     $0x30,%xmm2,%xmm1,%xmm1
+  .byte  196,99,117,24,219,1                 // vinsertf128   $0x1,%xmm3,%ymm1,%ymm11
+  .byte  72,139,88,32                        // mov           0x20(%rax),%rbx
+  .byte  196,161,122,16,12,163               // vmovss        (%rbx,%r12,4),%xmm1
+  .byte  196,163,113,33,12,171,16            // vinsertps     $0x10,(%rbx,%r13,4),%xmm1,%xmm1
+  .byte  196,161,122,16,20,179               // vmovss        (%rbx,%r14,4),%xmm2
+  .byte  196,227,113,33,202,32               // vinsertps     $0x20,%xmm2,%xmm1,%xmm1
+  .byte  196,161,122,16,20,187               // vmovss        (%rbx,%r15,4),%xmm2
+  .byte  196,161,122,16,28,155               // vmovss        (%rbx,%r11,4),%xmm3
+  .byte  196,35,97,33,36,147,16              // vinsertps     $0x10,(%rbx,%r10,4),%xmm3,%xmm12
+  .byte  196,161,122,16,60,139               // vmovss        (%rbx,%r9,4),%xmm7
+  .byte  196,161,122,16,28,131               // vmovss        (%rbx,%r8,4),%xmm3
+  .byte  196,99,113,33,250,48                // vinsertps     $0x30,%xmm2,%xmm1,%xmm15
+  .byte  72,139,64,64                        // mov           0x40(%rax),%rax
+  .byte  196,161,122,16,20,160               // vmovss        (%rax,%r12,4),%xmm2
+  .byte  196,163,105,33,20,168,16            // vinsertps     $0x10,(%rax,%r13,4),%xmm2,%xmm2
+  .byte  196,227,25,33,255,32                // vinsertps     $0x20,%xmm7,%xmm12,%xmm7
+  .byte  196,161,122,16,12,176               // vmovss        (%rax,%r14,4),%xmm1
+  .byte  196,227,65,33,219,48                // vinsertps     $0x30,%xmm3,%xmm7,%xmm3
+  .byte  196,161,122,16,60,184               // vmovss        (%rax,%r15,4),%xmm7
+  .byte  196,67,101,24,231,1                 // vinsertf128   $0x1,%xmm15,%ymm3,%ymm12
+  .byte  196,161,122,16,28,152               // vmovss        (%rax,%r11,4),%xmm3
+  .byte  196,163,97,33,28,144,16             // vinsertps     $0x10,(%rax,%r10,4),%xmm3,%xmm3
+  .byte  196,227,105,33,201,32               // vinsertps     $0x20,%xmm1,%xmm2,%xmm1
+  .byte  196,161,122,16,20,136               // vmovss        (%rax,%r9,4),%xmm2
+  .byte  196,227,113,33,207,48               // vinsertps     $0x30,%xmm7,%xmm1,%xmm1
+  .byte  196,161,122,16,60,128               // vmovss        (%rax,%r8,4),%xmm7
+  .byte  196,227,97,33,210,32                // vinsertps     $0x20,%xmm2,%xmm3,%xmm2
+  .byte  196,227,105,33,215,48               // vinsertps     $0x30,%xmm7,%xmm2,%xmm2
+  .byte  196,227,109,24,217,1                // vinsertf128   $0x1,%xmm1,%ymm2,%ymm3
+  .byte  197,188,89,200                      // vmulps        %ymm0,%ymm8,%ymm1
+  .byte  196,65,116,88,198                   // vaddps        %ymm14,%ymm1,%ymm8
+  .byte  197,148,89,200                      // vmulps        %ymm0,%ymm13,%ymm1
+  .byte  196,193,116,88,201                  // vaddps        %ymm9,%ymm1,%ymm1
+  .byte  197,172,89,208                      // vmulps        %ymm0,%ymm10,%ymm2
+  .byte  196,193,108,88,211                  // vaddps        %ymm11,%ymm2,%ymm2
+  .byte  197,156,89,192                      // vmulps        %ymm0,%ymm12,%ymm0
+  .byte  197,252,88,219                      // vaddps        %ymm3,%ymm0,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
+  .byte  197,252,16,124,36,216               // vmovups       -0x28(%rsp),%ymm7
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,93                               // pop           %r13
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  93                                  // pop           %rbp
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_gradient_avx
+.globl _sk_gradient_avx
+FUNCTION(_sk_gradient_avx)
+_sk_gradient_avx:
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,85                               // push          %r13
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  197,252,17,124,36,208               // vmovups       %ymm7,-0x30(%rsp)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  73,131,248,2                        // cmp           $0x2,%r8
+  .byte  114,81                              // jb            18c42 <_sk_gradient_avx+0x6f>
+  .byte  72,139,88,72                        // mov           0x48(%rax),%rbx
+  .byte  73,255,200                          // dec           %r8
+  .byte  72,131,195,4                        // add           $0x4,%rbx
+  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
+  .byte  196,98,125,24,21,246,56,2,0         // vbroadcastss  0x238f6(%rip),%ymm10        # 3c500 <_sk_srcover_bgra_8888_sse2_lowp+0x2b4>
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  196,98,125,24,3                     // vbroadcastss  (%rbx),%ymm8
+  .byte  197,60,194,192,2                    // vcmpleps      %ymm0,%ymm8,%ymm8
+  .byte  196,67,53,74,194,128                // vblendvps     %ymm8,%ymm10,%ymm9,%ymm8
+  .byte  196,99,125,25,194,1                 // vextractf128  $0x1,%ymm8,%xmm2
+  .byte  196,227,125,25,203,1                // vextractf128  $0x1,%ymm1,%xmm3
+  .byte  197,225,254,210                     // vpaddd        %xmm2,%xmm3,%xmm2
+  .byte  196,193,113,254,200                 // vpaddd        %xmm8,%xmm1,%xmm1
+  .byte  196,227,117,24,202,1                // vinsertf128   $0x1,%xmm2,%ymm1,%ymm1
+  .byte  72,131,195,4                        // add           $0x4,%rbx
+  .byte  73,255,200                          // dec           %r8
+  .byte  117,204                             // jne           18c0e <_sk_gradient_avx+0x3b>
+  .byte  196,195,249,22,200,1                // vpextrq       $0x1,%xmm1,%r8
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,193,249,126,202                 // vmovq         %xmm1,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,227,125,25,201,1                // vextractf128  $0x1,%ymm1,%xmm1
+  .byte  196,195,249,22,207,1                // vpextrq       $0x1,%xmm1,%r15
+  .byte  69,137,254                          // mov           %r15d,%r14d
+  .byte  73,193,239,32                       // shr           $0x20,%r15
+  .byte  196,225,249,126,203                 // vmovq         %xmm1,%rbx
+  .byte  65,137,220                          // mov           %ebx,%r12d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  76,139,104,8                        // mov           0x8(%rax),%r13
+  .byte  196,129,122,16,76,165,0             // vmovss        0x0(%r13,%r12,4),%xmm1
+  .byte  196,195,113,33,76,157,0,16          // vinsertps     $0x10,0x0(%r13,%rbx,4),%xmm1,%xmm1
+  .byte  196,129,122,16,84,181,0             // vmovss        0x0(%r13,%r14,4),%xmm2
+  .byte  196,1,122,16,68,189,0               // vmovss        0x0(%r13,%r15,4),%xmm8
+  .byte  196,129,122,16,92,157,0             // vmovss        0x0(%r13,%r11,4),%xmm3
+  .byte  196,3,97,33,76,149,0,16             // vinsertps     $0x10,0x0(%r13,%r10,4),%xmm3,%xmm9
+  .byte  196,129,122,16,124,141,0            // vmovss        0x0(%r13,%r9,4),%xmm7
+  .byte  196,1,122,16,92,133,0               // vmovss        0x0(%r13,%r8,4),%xmm11
+  .byte  196,99,113,33,226,32                // vinsertps     $0x20,%xmm2,%xmm1,%xmm12
+  .byte  76,139,104,40                       // mov           0x28(%rax),%r13
+  .byte  196,129,122,16,84,165,0             // vmovss        0x0(%r13,%r12,4),%xmm2
+  .byte  196,67,105,33,108,157,0,16          // vinsertps     $0x10,0x0(%r13,%rbx,4),%xmm2,%xmm13
+  .byte  196,129,122,16,92,181,0             // vmovss        0x0(%r13,%r14,4),%xmm3
+  .byte  196,129,122,16,76,189,0             // vmovss        0x0(%r13,%r15,4),%xmm1
+  .byte  196,129,122,16,84,157,0             // vmovss        0x0(%r13,%r11,4),%xmm2
+  .byte  196,3,105,33,116,149,0,16           // vinsertps     $0x10,0x0(%r13,%r10,4),%xmm2,%xmm14
+  .byte  196,1,122,16,124,141,0              // vmovss        0x0(%r13,%r9,4),%xmm15
+  .byte  196,1,122,16,84,133,0               // vmovss        0x0(%r13,%r8,4),%xmm10
+  .byte  196,67,25,33,192,48                 // vinsertps     $0x30,%xmm8,%xmm12,%xmm8
+  .byte  196,227,49,33,215,32                // vinsertps     $0x20,%xmm7,%xmm9,%xmm2
+  .byte  196,195,105,33,211,48               // vinsertps     $0x30,%xmm11,%xmm2,%xmm2
+  .byte  196,67,109,24,192,1                 // vinsertf128   $0x1,%xmm8,%ymm2,%ymm8
+  .byte  196,227,17,33,211,32                // vinsertps     $0x20,%xmm3,%xmm13,%xmm2
+  .byte  196,99,105,33,201,48                // vinsertps     $0x30,%xmm1,%xmm2,%xmm9
+  .byte  76,139,104,16                       // mov           0x10(%rax),%r13
+  .byte  196,129,122,16,84,165,0             // vmovss        0x0(%r13,%r12,4),%xmm2
+  .byte  196,67,105,33,92,157,0,16           // vinsertps     $0x10,0x0(%r13,%rbx,4),%xmm2,%xmm11
+  .byte  196,1,122,16,100,181,0              // vmovss        0x0(%r13,%r14,4),%xmm12
+  .byte  196,129,122,16,76,189,0             // vmovss        0x0(%r13,%r15,4),%xmm1
+  .byte  196,129,122,16,124,157,0            // vmovss        0x0(%r13,%r11,4),%xmm7
+  .byte  196,131,65,33,124,149,0,16          // vinsertps     $0x10,0x0(%r13,%r10,4),%xmm7,%xmm7
+  .byte  196,129,122,16,92,141,0             // vmovss        0x0(%r13,%r9,4),%xmm3
+  .byte  196,1,122,16,108,133,0              // vmovss        0x0(%r13,%r8,4),%xmm13
+  .byte  196,195,9,33,215,32                 // vinsertps     $0x20,%xmm15,%xmm14,%xmm2
+  .byte  196,195,105,33,210,48               // vinsertps     $0x30,%xmm10,%xmm2,%xmm2
+  .byte  196,67,109,24,241,1                 // vinsertf128   $0x1,%xmm9,%ymm2,%ymm14
+  .byte  196,195,33,33,212,32                // vinsertps     $0x20,%xmm12,%xmm11,%xmm2
+  .byte  196,99,105,33,201,48                // vinsertps     $0x30,%xmm1,%xmm2,%xmm9
+  .byte  196,99,65,33,211,32                 // vinsertps     $0x20,%xmm3,%xmm7,%xmm10
+  .byte  76,139,104,48                       // mov           0x30(%rax),%r13
+  .byte  196,129,122,16,92,165,0             // vmovss        0x0(%r13,%r12,4),%xmm3
+  .byte  196,67,97,33,92,157,0,16            // vinsertps     $0x10,0x0(%r13,%rbx,4),%xmm3,%xmm11
+  .byte  196,1,122,16,124,181,0              // vmovss        0x0(%r13,%r14,4),%xmm15
+  .byte  196,1,122,16,100,189,0              // vmovss        0x0(%r13,%r15,4),%xmm12
+  .byte  196,129,122,16,84,157,0             // vmovss        0x0(%r13,%r11,4),%xmm2
+  .byte  196,131,105,33,84,149,0,16          // vinsertps     $0x10,0x0(%r13,%r10,4),%xmm2,%xmm2
+  .byte  196,129,122,16,124,141,0            // vmovss        0x0(%r13,%r9,4),%xmm7
+  .byte  196,129,122,16,92,133,0             // vmovss        0x0(%r13,%r8,4),%xmm3
+  .byte  196,67,41,33,213,48                 // vinsertps     $0x30,%xmm13,%xmm10,%xmm10
+  .byte  196,67,45,24,233,1                  // vinsertf128   $0x1,%xmm9,%ymm10,%ymm13
+  .byte  196,195,33,33,207,32                // vinsertps     $0x20,%xmm15,%xmm11,%xmm1
+  .byte  196,67,113,33,204,48                // vinsertps     $0x30,%xmm12,%xmm1,%xmm9
+  .byte  196,227,105,33,215,32               // vinsertps     $0x20,%xmm7,%xmm2,%xmm2
+  .byte  196,99,105,33,211,48                // vinsertps     $0x30,%xmm3,%xmm2,%xmm10
+  .byte  76,139,104,24                       // mov           0x18(%rax),%r13
+  .byte  196,129,122,16,92,165,0             // vmovss        0x0(%r13,%r12,4),%xmm3
+  .byte  196,67,97,33,92,157,0,16            // vinsertps     $0x10,0x0(%r13,%rbx,4),%xmm3,%xmm11
+  .byte  196,1,122,16,100,181,0              // vmovss        0x0(%r13,%r14,4),%xmm12
+  .byte  196,1,122,16,124,189,0              // vmovss        0x0(%r13,%r15,4),%xmm15
+  .byte  196,129,122,16,84,157,0             // vmovss        0x0(%r13,%r11,4),%xmm2
+  .byte  196,131,105,33,84,149,0,16          // vinsertps     $0x10,0x0(%r13,%r10,4),%xmm2,%xmm2
+  .byte  196,129,122,16,92,141,0             // vmovss        0x0(%r13,%r9,4),%xmm3
+  .byte  196,129,122,16,124,133,0            // vmovss        0x0(%r13,%r8,4),%xmm7
+  .byte  196,67,45,24,201,1                  // vinsertf128   $0x1,%xmm9,%ymm10,%ymm9
+  .byte  196,195,33,33,204,32                // vinsertps     $0x20,%xmm12,%xmm11,%xmm1
+  .byte  196,195,113,33,207,48               // vinsertps     $0x30,%xmm15,%xmm1,%xmm1
+  .byte  196,227,105,33,211,32               // vinsertps     $0x20,%xmm3,%xmm2,%xmm2
+  .byte  196,227,105,33,215,48               // vinsertps     $0x30,%xmm7,%xmm2,%xmm2
+  .byte  196,99,109,24,209,1                 // vinsertf128   $0x1,%xmm1,%ymm2,%ymm10
+  .byte  76,139,104,56                       // mov           0x38(%rax),%r13
+  .byte  196,129,122,16,76,165,0             // vmovss        0x0(%r13,%r12,4),%xmm1
+  .byte  196,67,113,33,92,157,0,16           // vinsertps     $0x10,0x0(%r13,%rbx,4),%xmm1,%xmm11
+  .byte  196,1,122,16,100,181,0              // vmovss        0x0(%r13,%r14,4),%xmm12
+  .byte  196,1,122,16,124,189,0              // vmovss        0x0(%r13,%r15,4),%xmm15
+  .byte  196,129,122,16,124,157,0            // vmovss        0x0(%r13,%r11,4),%xmm7
+  .byte  196,131,65,33,124,149,0,16          // vinsertps     $0x10,0x0(%r13,%r10,4),%xmm7,%xmm7
+  .byte  196,129,122,16,76,141,0             // vmovss        0x0(%r13,%r9,4),%xmm1
+  .byte  196,129,122,16,84,133,0             // vmovss        0x0(%r13,%r8,4),%xmm2
+  .byte  196,195,33,33,220,32                // vinsertps     $0x20,%xmm12,%xmm11,%xmm3
+  .byte  196,195,97,33,223,48                // vinsertps     $0x30,%xmm15,%xmm3,%xmm3
+  .byte  196,227,65,33,201,32                // vinsertps     $0x20,%xmm1,%xmm7,%xmm1
+  .byte  196,227,113,33,202,48               // vinsertps     $0x30,%xmm2,%xmm1,%xmm1
+  .byte  196,99,117,24,219,1                 // vinsertf128   $0x1,%xmm3,%ymm1,%ymm11
+  .byte  76,139,104,32                       // mov           0x20(%rax),%r13
+  .byte  196,129,122,16,76,165,0             // vmovss        0x0(%r13,%r12,4),%xmm1
+  .byte  196,195,113,33,76,157,0,16          // vinsertps     $0x10,0x0(%r13,%rbx,4),%xmm1,%xmm1
+  .byte  196,129,122,16,84,181,0             // vmovss        0x0(%r13,%r14,4),%xmm2
+  .byte  196,227,113,33,202,32               // vinsertps     $0x20,%xmm2,%xmm1,%xmm1
+  .byte  196,129,122,16,84,189,0             // vmovss        0x0(%r13,%r15,4),%xmm2
+  .byte  196,129,122,16,92,157,0             // vmovss        0x0(%r13,%r11,4),%xmm3
+  .byte  196,3,97,33,100,149,0,16            // vinsertps     $0x10,0x0(%r13,%r10,4),%xmm3,%xmm12
+  .byte  196,129,122,16,124,141,0            // vmovss        0x0(%r13,%r9,4),%xmm7
+  .byte  196,129,122,16,92,133,0             // vmovss        0x0(%r13,%r8,4),%xmm3
+  .byte  196,99,113,33,250,48                // vinsertps     $0x30,%xmm2,%xmm1,%xmm15
+  .byte  72,139,64,64                        // mov           0x40(%rax),%rax
+  .byte  196,161,122,16,20,160               // vmovss        (%rax,%r12,4),%xmm2
+  .byte  196,227,105,33,20,152,16            // vinsertps     $0x10,(%rax,%rbx,4),%xmm2,%xmm2
+  .byte  196,227,25,33,255,32                // vinsertps     $0x20,%xmm7,%xmm12,%xmm7
+  .byte  196,161,122,16,12,176               // vmovss        (%rax,%r14,4),%xmm1
+  .byte  196,227,65,33,219,48                // vinsertps     $0x30,%xmm3,%xmm7,%xmm3
+  .byte  196,161,122,16,60,184               // vmovss        (%rax,%r15,4),%xmm7
+  .byte  196,67,101,24,231,1                 // vinsertf128   $0x1,%xmm15,%ymm3,%ymm12
+  .byte  196,161,122,16,28,152               // vmovss        (%rax,%r11,4),%xmm3
+  .byte  196,163,97,33,28,144,16             // vinsertps     $0x10,(%rax,%r10,4),%xmm3,%xmm3
+  .byte  196,227,105,33,201,32               // vinsertps     $0x20,%xmm1,%xmm2,%xmm1
+  .byte  196,161,122,16,20,136               // vmovss        (%rax,%r9,4),%xmm2
+  .byte  196,227,113,33,207,48               // vinsertps     $0x30,%xmm7,%xmm1,%xmm1
+  .byte  196,161,122,16,60,128               // vmovss        (%rax,%r8,4),%xmm7
+  .byte  196,227,97,33,210,32                // vinsertps     $0x20,%xmm2,%xmm3,%xmm2
+  .byte  196,227,105,33,215,48               // vinsertps     $0x30,%xmm7,%xmm2,%xmm2
+  .byte  196,227,109,24,217,1                // vinsertf128   $0x1,%xmm1,%ymm2,%ymm3
+  .byte  197,188,89,200                      // vmulps        %ymm0,%ymm8,%ymm1
+  .byte  196,65,116,88,198                   // vaddps        %ymm14,%ymm1,%ymm8
+  .byte  197,148,89,200                      // vmulps        %ymm0,%ymm13,%ymm1
+  .byte  196,193,116,88,201                  // vaddps        %ymm9,%ymm1,%ymm1
+  .byte  197,172,89,208                      // vmulps        %ymm0,%ymm10,%ymm2
+  .byte  196,193,108,88,211                  // vaddps        %ymm11,%ymm2,%ymm2
+  .byte  197,156,89,192                      // vmulps        %ymm0,%ymm12,%ymm0
+  .byte  197,252,88,219                      // vaddps        %ymm3,%ymm0,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
+  .byte  197,252,16,124,36,208               // vmovups       -0x30(%rsp),%ymm7
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,93                               // pop           %r13
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_evenly_spaced_2_stop_gradient_avx
+.globl _sk_evenly_spaced_2_stop_gradient_avx
+FUNCTION(_sk_evenly_spaced_2_stop_gradient_avx)
+_sk_evenly_spaced_2_stop_gradient_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,8                    // vbroadcastss  (%rax),%ymm1
+  .byte  196,226,125,24,80,16                // vbroadcastss  0x10(%rax),%ymm2
+  .byte  197,244,89,200                      // vmulps        %ymm0,%ymm1,%ymm1
+  .byte  197,116,88,194                      // vaddps        %ymm2,%ymm1,%ymm8
+  .byte  196,226,125,24,72,4                 // vbroadcastss  0x4(%rax),%ymm1
+  .byte  196,226,125,24,80,20                // vbroadcastss  0x14(%rax),%ymm2
+  .byte  197,244,89,200                      // vmulps        %ymm0,%ymm1,%ymm1
+  .byte  197,244,88,202                      // vaddps        %ymm2,%ymm1,%ymm1
+  .byte  196,226,125,24,80,8                 // vbroadcastss  0x8(%rax),%ymm2
+  .byte  196,226,125,24,88,24                // vbroadcastss  0x18(%rax),%ymm3
+  .byte  197,236,89,208                      // vmulps        %ymm0,%ymm2,%ymm2
+  .byte  197,236,88,211                      // vaddps        %ymm3,%ymm2,%ymm2
+  .byte  196,226,125,24,88,12                // vbroadcastss  0xc(%rax),%ymm3
+  .byte  196,98,125,24,72,28                 // vbroadcastss  0x1c(%rax),%ymm9
+  .byte  197,228,89,192                      // vmulps        %ymm0,%ymm3,%ymm0
+  .byte  196,193,124,88,217                  // vaddps        %ymm9,%ymm0,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xy_to_unit_angle_avx
+.globl _sk_xy_to_unit_angle_avx
+FUNCTION(_sk_xy_to_unit_angle_avx)
+_sk_xy_to_unit_angle_avx:
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,60,92,200                       // vsubps        %ymm0,%ymm8,%ymm9
+  .byte  197,52,84,200                       // vandps        %ymm0,%ymm9,%ymm9
+  .byte  197,60,92,209                       // vsubps        %ymm1,%ymm8,%ymm10
+  .byte  197,44,84,209                       // vandps        %ymm1,%ymm10,%ymm10
+  .byte  196,65,52,93,218                    // vminps        %ymm10,%ymm9,%ymm11
+  .byte  196,65,52,95,226                    // vmaxps        %ymm10,%ymm9,%ymm12
+  .byte  196,65,36,94,220                    // vdivps        %ymm12,%ymm11,%ymm11
+  .byte  196,65,36,89,227                    // vmulps        %ymm11,%ymm11,%ymm12
+  .byte  196,98,125,24,45,32,54,2,0          // vbroadcastss  0x23620(%rip),%ymm13        # 3c638 <_sk_srcover_bgra_8888_sse2_lowp+0x3ec>
+  .byte  196,65,28,89,237                    // vmulps        %ymm13,%ymm12,%ymm13
+  .byte  196,98,125,24,53,22,54,2,0          // vbroadcastss  0x23616(%rip),%ymm14        # 3c63c <_sk_srcover_bgra_8888_sse2_lowp+0x3f0>
+  .byte  196,65,20,88,238                    // vaddps        %ymm14,%ymm13,%ymm13
+  .byte  196,65,28,89,237                    // vmulps        %ymm13,%ymm12,%ymm13
+  .byte  196,98,125,24,53,7,54,2,0           // vbroadcastss  0x23607(%rip),%ymm14        # 3c640 <_sk_srcover_bgra_8888_sse2_lowp+0x3f4>
+  .byte  196,65,20,88,238                    // vaddps        %ymm14,%ymm13,%ymm13
+  .byte  196,65,28,89,229                    // vmulps        %ymm13,%ymm12,%ymm12
+  .byte  196,98,125,24,45,248,53,2,0         // vbroadcastss  0x235f8(%rip),%ymm13        # 3c644 <_sk_srcover_bgra_8888_sse2_lowp+0x3f8>
+  .byte  196,65,28,88,229                    // vaddps        %ymm13,%ymm12,%ymm12
+  .byte  196,65,36,89,220                    // vmulps        %ymm12,%ymm11,%ymm11
+  .byte  196,65,52,194,202,1                 // vcmpltps      %ymm10,%ymm9,%ymm9
+  .byte  196,98,125,24,21,227,53,2,0         // vbroadcastss  0x235e3(%rip),%ymm10        # 3c648 <_sk_srcover_bgra_8888_sse2_lowp+0x3fc>
+  .byte  196,65,44,92,211                    // vsubps        %ymm11,%ymm10,%ymm10
+  .byte  196,67,37,74,202,144                // vblendvps     %ymm9,%ymm10,%ymm11,%ymm9
+  .byte  196,193,124,194,192,1               // vcmpltps      %ymm8,%ymm0,%ymm0
+  .byte  196,98,125,24,21,121,52,2,0         // vbroadcastss  0x23479(%rip),%ymm10        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  196,65,44,92,209                    // vsubps        %ymm9,%ymm10,%ymm10
+  .byte  196,195,53,74,194,0                 // vblendvps     %ymm0,%ymm10,%ymm9,%ymm0
+  .byte  196,65,116,194,200,1                // vcmpltps      %ymm8,%ymm1,%ymm9
+  .byte  196,98,125,24,21,99,52,2,0          // vbroadcastss  0x23463(%rip),%ymm10        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,44,92,208                       // vsubps        %ymm0,%ymm10,%ymm10
+  .byte  196,195,125,74,194,144              // vblendvps     %ymm9,%ymm10,%ymm0,%ymm0
+  .byte  196,65,124,194,200,3                // vcmpunordps   %ymm8,%ymm0,%ymm9
+  .byte  196,195,125,74,192,144              // vblendvps     %ymm9,%ymm8,%ymm0,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xy_to_radius_avx
+.globl _sk_xy_to_radius_avx
+FUNCTION(_sk_xy_to_radius_avx)
+_sk_xy_to_radius_avx:
+  .byte  197,252,89,192                      // vmulps        %ymm0,%ymm0,%ymm0
+  .byte  197,116,89,193                      // vmulps        %ymm1,%ymm1,%ymm8
+  .byte  196,193,124,88,192                  // vaddps        %ymm8,%ymm0,%ymm0
+  .byte  197,252,81,192                      // vsqrtps       %ymm0,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_negate_x_avx
+.globl _sk_negate_x_avx
+FUNCTION(_sk_negate_x_avx)
+_sk_negate_x_avx:
+  .byte  196,98,125,24,5,123,53,2,0          // vbroadcastss  0x2357b(%rip),%ymm8        # 3c64c <_sk_srcover_bgra_8888_sse2_lowp+0x400>
+  .byte  196,193,124,87,192                  // vxorps        %ymm8,%ymm0,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xy_to_2pt_conical_strip_avx
+.globl _sk_xy_to_2pt_conical_strip_avx
+FUNCTION(_sk_xy_to_2pt_conical_strip_avx)
+_sk_xy_to_2pt_conical_strip_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,64,64                 // vbroadcastss  0x40(%rax),%ymm8
+  .byte  197,116,89,201                      // vmulps        %ymm1,%ymm1,%ymm9
+  .byte  196,65,60,92,193                    // vsubps        %ymm9,%ymm8,%ymm8
+  .byte  196,65,124,81,192                   // vsqrtps       %ymm8,%ymm8
+  .byte  197,188,88,192                      // vaddps        %ymm0,%ymm8,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xy_to_2pt_conical_focal_on_circle_avx
+.globl _sk_xy_to_2pt_conical_focal_on_circle_avx
+FUNCTION(_sk_xy_to_2pt_conical_focal_on_circle_avx)
+_sk_xy_to_2pt_conical_focal_on_circle_avx:
+  .byte  197,116,89,193                      // vmulps        %ymm1,%ymm1,%ymm8
+  .byte  197,60,94,192                       // vdivps        %ymm0,%ymm8,%ymm8
+  .byte  197,188,88,192                      // vaddps        %ymm0,%ymm8,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xy_to_2pt_conical_well_behaved_avx
+.globl _sk_xy_to_2pt_conical_well_behaved_avx
+FUNCTION(_sk_xy_to_2pt_conical_well_behaved_avx)
+_sk_xy_to_2pt_conical_well_behaved_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,89,192                      // vmulps        %ymm0,%ymm0,%ymm8
+  .byte  197,116,89,201                      // vmulps        %ymm1,%ymm1,%ymm9
+  .byte  196,65,60,88,193                    // vaddps        %ymm9,%ymm8,%ymm8
+  .byte  196,65,124,81,192                   // vsqrtps       %ymm8,%ymm8
+  .byte  196,98,125,24,72,64                 // vbroadcastss  0x40(%rax),%ymm9
+  .byte  197,180,89,192                      // vmulps        %ymm0,%ymm9,%ymm0
+  .byte  197,188,92,192                      // vsubps        %ymm0,%ymm8,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xy_to_2pt_conical_greater_avx
+.globl _sk_xy_to_2pt_conical_greater_avx
+FUNCTION(_sk_xy_to_2pt_conical_greater_avx)
+_sk_xy_to_2pt_conical_greater_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,89,192                      // vmulps        %ymm0,%ymm0,%ymm8
+  .byte  197,116,89,201                      // vmulps        %ymm1,%ymm1,%ymm9
+  .byte  196,65,60,92,193                    // vsubps        %ymm9,%ymm8,%ymm8
+  .byte  196,65,124,81,192                   // vsqrtps       %ymm8,%ymm8
+  .byte  196,98,125,24,72,64                 // vbroadcastss  0x40(%rax),%ymm9
+  .byte  197,180,89,192                      // vmulps        %ymm0,%ymm9,%ymm0
+  .byte  197,188,92,192                      // vsubps        %ymm0,%ymm8,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xy_to_2pt_conical_smaller_avx
+.globl _sk_xy_to_2pt_conical_smaller_avx
+FUNCTION(_sk_xy_to_2pt_conical_smaller_avx)
+_sk_xy_to_2pt_conical_smaller_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,89,192                      // vmulps        %ymm0,%ymm0,%ymm8
+  .byte  197,116,89,201                      // vmulps        %ymm1,%ymm1,%ymm9
+  .byte  196,65,60,92,193                    // vsubps        %ymm9,%ymm8,%ymm8
+  .byte  196,65,124,81,192                   // vsqrtps       %ymm8,%ymm8
+  .byte  196,98,125,24,13,219,52,2,0         // vbroadcastss  0x234db(%rip),%ymm9        # 3c64c <_sk_srcover_bgra_8888_sse2_lowp+0x400>
+  .byte  196,65,60,87,193                    // vxorps        %ymm9,%ymm8,%ymm8
+  .byte  196,98,125,24,72,64                 // vbroadcastss  0x40(%rax),%ymm9
+  .byte  197,180,89,192                      // vmulps        %ymm0,%ymm9,%ymm0
+  .byte  197,188,92,192                      // vsubps        %ymm0,%ymm8,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_alter_2pt_conical_compensate_focal_avx
+.globl _sk_alter_2pt_conical_compensate_focal_avx
+FUNCTION(_sk_alter_2pt_conical_compensate_focal_avx)
+_sk_alter_2pt_conical_compensate_focal_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,64,68                 // vbroadcastss  0x44(%rax),%ymm8
+  .byte  197,188,88,192                      // vaddps        %ymm0,%ymm8,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_alter_2pt_conical_unswap_avx
+.globl _sk_alter_2pt_conical_unswap_avx
+FUNCTION(_sk_alter_2pt_conical_unswap_avx)
+_sk_alter_2pt_conical_unswap_avx:
+  .byte  196,98,125,24,5,91,51,2,0           // vbroadcastss  0x2335b(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,188,92,192                      // vsubps        %ymm0,%ymm8,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_mask_2pt_conical_nan_avx
+.globl _sk_mask_2pt_conical_nan_avx
+FUNCTION(_sk_mask_2pt_conical_nan_avx)
+_sk_mask_2pt_conical_nan_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
+  .byte  196,65,124,194,193,3                // vcmpunordps   %ymm9,%ymm0,%ymm8
+  .byte  196,67,125,74,193,128               // vblendvps     %ymm8,%ymm9,%ymm0,%ymm8
+  .byte  196,193,124,194,193,7               // vcmpordps     %ymm9,%ymm0,%ymm0
+  .byte  196,65,52,194,209,15                // vcmptrueps    %ymm9,%ymm9,%ymm10
+  .byte  196,195,53,74,194,0                 // vblendvps     %ymm0,%ymm10,%ymm9,%ymm0
+  .byte  197,252,17,0                        // vmovups       %ymm0,(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_mask_2pt_conical_degenerates_avx
+.globl _sk_mask_2pt_conical_degenerates_avx
+FUNCTION(_sk_mask_2pt_conical_degenerates_avx)
+_sk_mask_2pt_conical_degenerates_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
+  .byte  197,52,194,192,5                    // vcmpnltps     %ymm0,%ymm9,%ymm8
+  .byte  196,67,125,74,193,128               // vblendvps     %ymm8,%ymm9,%ymm0,%ymm8
+  .byte  197,180,194,192,1                   // vcmpltps      %ymm0,%ymm9,%ymm0
+  .byte  196,65,52,194,209,15                // vcmptrueps    %ymm9,%ymm9,%ymm10
+  .byte  196,195,53,74,194,0                 // vblendvps     %ymm0,%ymm10,%ymm9,%ymm0
+  .byte  197,252,17,0                        // vmovups       %ymm0,(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_apply_vector_mask_avx
+.globl _sk_apply_vector_mask_avx
+FUNCTION(_sk_apply_vector_mask_avx)
+_sk_apply_vector_mask_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,16,0                        // vmovups       (%rax),%ymm8
+  .byte  197,188,84,192                      // vandps        %ymm0,%ymm8,%ymm0
+  .byte  197,188,84,201                      // vandps        %ymm1,%ymm8,%ymm1
+  .byte  197,188,84,210                      // vandps        %ymm2,%ymm8,%ymm2
+  .byte  197,188,84,219                      // vandps        %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_save_xy_avx
+.globl _sk_save_xy_avx
+FUNCTION(_sk_save_xy_avx)
+_sk_save_xy_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,5,202,50,2,0          // vbroadcastss  0x232ca(%rip),%ymm8        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  196,65,124,88,200                   // vaddps        %ymm8,%ymm0,%ymm9
+  .byte  196,67,125,8,209,1                  // vroundps      $0x1,%ymm9,%ymm10
+  .byte  196,65,52,92,202                    // vsubps        %ymm10,%ymm9,%ymm9
+  .byte  196,65,116,88,192                   // vaddps        %ymm8,%ymm1,%ymm8
+  .byte  196,67,125,8,208,1                  // vroundps      $0x1,%ymm8,%ymm10
+  .byte  196,65,60,92,194                    // vsubps        %ymm10,%ymm8,%ymm8
+  .byte  197,252,17,0                        // vmovups       %ymm0,(%rax)
+  .byte  197,252,17,72,64                    // vmovups       %ymm1,0x40(%rax)
+  .byte  197,124,17,136,128,0,0,0            // vmovups       %ymm9,0x80(%rax)
+  .byte  197,124,17,128,192,0,0,0            // vmovups       %ymm8,0xc0(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_accumulate_avx
+.globl _sk_accumulate_avx
+FUNCTION(_sk_accumulate_avx)
+_sk_accumulate_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,16,128,0,1,0,0              // vmovups       0x100(%rax),%ymm8
+  .byte  197,60,89,128,64,1,0,0              // vmulps        0x140(%rax),%ymm8,%ymm8
+  .byte  197,60,89,200                       // vmulps        %ymm0,%ymm8,%ymm9
+  .byte  197,180,88,228                      // vaddps        %ymm4,%ymm9,%ymm4
+  .byte  197,60,89,201                       // vmulps        %ymm1,%ymm8,%ymm9
+  .byte  197,180,88,237                      // vaddps        %ymm5,%ymm9,%ymm5
+  .byte  197,60,89,202                       // vmulps        %ymm2,%ymm8,%ymm9
+  .byte  197,180,88,246                      // vaddps        %ymm6,%ymm9,%ymm6
+  .byte  197,60,89,195                       // vmulps        %ymm3,%ymm8,%ymm8
+  .byte  197,188,88,255                      // vaddps        %ymm7,%ymm8,%ymm7
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bilinear_nx_avx
+.globl _sk_bilinear_nx_avx
+FUNCTION(_sk_bilinear_nx_avx)
+_sk_bilinear_nx_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,5,164,51,2,0         // vbroadcastss  0x233a4(%rip),%ymm0        # 3c650 <_sk_srcover_bgra_8888_sse2_lowp+0x404>
+  .byte  197,252,88,0                        // vaddps        (%rax),%ymm0,%ymm0
+  .byte  196,98,125,24,5,67,50,2,0           // vbroadcastss  0x23243(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,128,128,0,0,0             // vsubps        0x80(%rax),%ymm8,%ymm8
+  .byte  197,124,17,128,0,1,0,0              // vmovups       %ymm8,0x100(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bilinear_px_avx
+.globl _sk_bilinear_px_avx
+FUNCTION(_sk_bilinear_px_avx)
+_sk_bilinear_px_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,5,32,50,2,0          // vbroadcastss  0x23220(%rip),%ymm0        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  197,252,88,0                        // vaddps        (%rax),%ymm0,%ymm0
+  .byte  197,124,16,128,128,0,0,0            // vmovups       0x80(%rax),%ymm8
+  .byte  197,124,17,128,0,1,0,0              // vmovups       %ymm8,0x100(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bilinear_ny_avx
+.globl _sk_bilinear_ny_avx
+FUNCTION(_sk_bilinear_ny_avx)
+_sk_bilinear_ny_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,13,85,51,2,0         // vbroadcastss  0x23355(%rip),%ymm1        # 3c650 <_sk_srcover_bgra_8888_sse2_lowp+0x404>
+  .byte  197,244,88,72,64                    // vaddps        0x40(%rax),%ymm1,%ymm1
+  .byte  196,98,125,24,5,243,49,2,0          // vbroadcastss  0x231f3(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,128,192,0,0,0             // vsubps        0xc0(%rax),%ymm8,%ymm8
+  .byte  197,124,17,128,64,1,0,0             // vmovups       %ymm8,0x140(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bilinear_py_avx
+.globl _sk_bilinear_py_avx
+FUNCTION(_sk_bilinear_py_avx)
+_sk_bilinear_py_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,13,208,49,2,0        // vbroadcastss  0x231d0(%rip),%ymm1        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  197,244,88,72,64                    // vaddps        0x40(%rax),%ymm1,%ymm1
+  .byte  197,124,16,128,192,0,0,0            // vmovups       0xc0(%rax),%ymm8
+  .byte  197,124,17,128,64,1,0,0             // vmovups       %ymm8,0x140(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bicubic_n3x_avx
+.globl _sk_bicubic_n3x_avx
+FUNCTION(_sk_bicubic_n3x_avx)
+_sk_bicubic_n3x_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,5,8,51,2,0           // vbroadcastss  0x23308(%rip),%ymm0        # 3c654 <_sk_srcover_bgra_8888_sse2_lowp+0x408>
+  .byte  197,252,88,0                        // vaddps        (%rax),%ymm0,%ymm0
+  .byte  196,98,125,24,5,163,49,2,0          // vbroadcastss  0x231a3(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,128,128,0,0,0             // vsubps        0x80(%rax),%ymm8,%ymm8
+  .byte  196,65,60,89,200                    // vmulps        %ymm8,%ymm8,%ymm9
+  .byte  196,98,125,24,21,233,50,2,0         // vbroadcastss  0x232e9(%rip),%ymm10        # 3c658 <_sk_srcover_bgra_8888_sse2_lowp+0x40c>
+  .byte  196,65,60,89,194                    // vmulps        %ymm10,%ymm8,%ymm8
+  .byte  196,98,125,24,21,243,49,2,0         // vbroadcastss  0x231f3(%rip),%ymm10        # 3c570 <_sk_srcover_bgra_8888_sse2_lowp+0x324>
+  .byte  196,65,60,88,194                    // vaddps        %ymm10,%ymm8,%ymm8
+  .byte  196,65,52,89,192                    // vmulps        %ymm8,%ymm9,%ymm8
+  .byte  197,124,17,128,0,1,0,0              // vmovups       %ymm8,0x100(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bicubic_n1x_avx
+.globl _sk_bicubic_n1x_avx
+FUNCTION(_sk_bicubic_n1x_avx)
+_sk_bicubic_n1x_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,5,178,50,2,0         // vbroadcastss  0x232b2(%rip),%ymm0        # 3c650 <_sk_srcover_bgra_8888_sse2_lowp+0x404>
+  .byte  197,252,88,0                        // vaddps        (%rax),%ymm0,%ymm0
+  .byte  196,98,125,24,5,81,49,2,0           // vbroadcastss  0x23151(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,128,128,0,0,0             // vsubps        0x80(%rax),%ymm8,%ymm8
+  .byte  196,98,125,24,13,160,50,2,0         // vbroadcastss  0x232a0(%rip),%ymm9        # 3c65c <_sk_srcover_bgra_8888_sse2_lowp+0x410>
+  .byte  196,65,60,89,201                    // vmulps        %ymm9,%ymm8,%ymm9
+  .byte  196,98,125,24,21,150,50,2,0         // vbroadcastss  0x23296(%rip),%ymm10        # 3c660 <_sk_srcover_bgra_8888_sse2_lowp+0x414>
+  .byte  196,65,52,88,202                    // vaddps        %ymm10,%ymm9,%ymm9
+  .byte  196,65,60,89,201                    // vmulps        %ymm9,%ymm8,%ymm9
+  .byte  196,98,125,24,21,27,49,2,0          // vbroadcastss  0x2311b(%rip),%ymm10        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  196,65,52,88,202                    // vaddps        %ymm10,%ymm9,%ymm9
+  .byte  196,65,60,89,193                    // vmulps        %ymm9,%ymm8,%ymm8
+  .byte  196,98,125,24,13,116,50,2,0         // vbroadcastss  0x23274(%rip),%ymm9        # 3c664 <_sk_srcover_bgra_8888_sse2_lowp+0x418>
+  .byte  196,65,60,88,193                    // vaddps        %ymm9,%ymm8,%ymm8
+  .byte  197,124,17,128,0,1,0,0              // vmovups       %ymm8,0x100(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bicubic_p1x_avx
+.globl _sk_bicubic_p1x_avx
+FUNCTION(_sk_bicubic_p1x_avx)
+_sk_bicubic_p1x_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,5,236,48,2,0          // vbroadcastss  0x230ec(%rip),%ymm8        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  197,188,88,0                        // vaddps        (%rax),%ymm8,%ymm0
+  .byte  197,124,16,136,128,0,0,0            // vmovups       0x80(%rax),%ymm9
+  .byte  196,98,125,24,21,59,50,2,0          // vbroadcastss  0x2323b(%rip),%ymm10        # 3c65c <_sk_srcover_bgra_8888_sse2_lowp+0x410>
+  .byte  196,65,52,89,210                    // vmulps        %ymm10,%ymm9,%ymm10
+  .byte  196,98,125,24,29,49,50,2,0          // vbroadcastss  0x23231(%rip),%ymm11        # 3c660 <_sk_srcover_bgra_8888_sse2_lowp+0x414>
+  .byte  196,65,44,88,211                    // vaddps        %ymm11,%ymm10,%ymm10
+  .byte  196,65,52,89,210                    // vmulps        %ymm10,%ymm9,%ymm10
+  .byte  196,65,44,88,192                    // vaddps        %ymm8,%ymm10,%ymm8
+  .byte  196,65,52,89,192                    // vmulps        %ymm8,%ymm9,%ymm8
+  .byte  196,98,125,24,13,24,50,2,0          // vbroadcastss  0x23218(%rip),%ymm9        # 3c664 <_sk_srcover_bgra_8888_sse2_lowp+0x418>
+  .byte  196,65,60,88,193                    // vaddps        %ymm9,%ymm8,%ymm8
+  .byte  197,124,17,128,0,1,0,0              // vmovups       %ymm8,0x100(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bicubic_p3x_avx
+.globl _sk_bicubic_p3x_avx
+FUNCTION(_sk_bicubic_p3x_avx)
+_sk_bicubic_p3x_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,5,248,49,2,0         // vbroadcastss  0x231f8(%rip),%ymm0        # 3c660 <_sk_srcover_bgra_8888_sse2_lowp+0x414>
+  .byte  197,252,88,0                        // vaddps        (%rax),%ymm0,%ymm0
+  .byte  197,124,16,128,128,0,0,0            // vmovups       0x80(%rax),%ymm8
+  .byte  196,65,60,89,200                    // vmulps        %ymm8,%ymm8,%ymm9
+  .byte  196,98,125,24,21,214,49,2,0         // vbroadcastss  0x231d6(%rip),%ymm10        # 3c658 <_sk_srcover_bgra_8888_sse2_lowp+0x40c>
+  .byte  196,65,60,89,194                    // vmulps        %ymm10,%ymm8,%ymm8
+  .byte  196,98,125,24,21,224,48,2,0         // vbroadcastss  0x230e0(%rip),%ymm10        # 3c570 <_sk_srcover_bgra_8888_sse2_lowp+0x324>
+  .byte  196,65,60,88,194                    // vaddps        %ymm10,%ymm8,%ymm8
+  .byte  196,65,52,89,192                    // vmulps        %ymm8,%ymm9,%ymm8
+  .byte  197,124,17,128,0,1,0,0              // vmovups       %ymm8,0x100(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bicubic_n3y_avx
+.globl _sk_bicubic_n3y_avx
+FUNCTION(_sk_bicubic_n3y_avx)
+_sk_bicubic_n3y_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,13,163,49,2,0        // vbroadcastss  0x231a3(%rip),%ymm1        # 3c654 <_sk_srcover_bgra_8888_sse2_lowp+0x408>
+  .byte  197,244,88,72,64                    // vaddps        0x40(%rax),%ymm1,%ymm1
+  .byte  196,98,125,24,5,61,48,2,0           // vbroadcastss  0x2303d(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,128,192,0,0,0             // vsubps        0xc0(%rax),%ymm8,%ymm8
+  .byte  196,65,60,89,200                    // vmulps        %ymm8,%ymm8,%ymm9
+  .byte  196,98,125,24,21,131,49,2,0         // vbroadcastss  0x23183(%rip),%ymm10        # 3c658 <_sk_srcover_bgra_8888_sse2_lowp+0x40c>
+  .byte  196,65,60,89,194                    // vmulps        %ymm10,%ymm8,%ymm8
+  .byte  196,98,125,24,21,141,48,2,0         // vbroadcastss  0x2308d(%rip),%ymm10        # 3c570 <_sk_srcover_bgra_8888_sse2_lowp+0x324>
+  .byte  196,65,60,88,194                    // vaddps        %ymm10,%ymm8,%ymm8
+  .byte  196,65,52,89,192                    // vmulps        %ymm8,%ymm9,%ymm8
+  .byte  197,124,17,128,64,1,0,0             // vmovups       %ymm8,0x140(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bicubic_n1y_avx
+.globl _sk_bicubic_n1y_avx
+FUNCTION(_sk_bicubic_n1y_avx)
+_sk_bicubic_n1y_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,13,76,49,2,0         // vbroadcastss  0x2314c(%rip),%ymm1        # 3c650 <_sk_srcover_bgra_8888_sse2_lowp+0x404>
+  .byte  197,244,88,72,64                    // vaddps        0x40(%rax),%ymm1,%ymm1
+  .byte  196,98,125,24,5,234,47,2,0          // vbroadcastss  0x22fea(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,128,192,0,0,0             // vsubps        0xc0(%rax),%ymm8,%ymm8
+  .byte  196,98,125,24,13,57,49,2,0          // vbroadcastss  0x23139(%rip),%ymm9        # 3c65c <_sk_srcover_bgra_8888_sse2_lowp+0x410>
+  .byte  196,65,60,89,201                    // vmulps        %ymm9,%ymm8,%ymm9
+  .byte  196,98,125,24,21,47,49,2,0          // vbroadcastss  0x2312f(%rip),%ymm10        # 3c660 <_sk_srcover_bgra_8888_sse2_lowp+0x414>
+  .byte  196,65,52,88,202                    // vaddps        %ymm10,%ymm9,%ymm9
+  .byte  196,65,60,89,201                    // vmulps        %ymm9,%ymm8,%ymm9
+  .byte  196,98,125,24,21,180,47,2,0         // vbroadcastss  0x22fb4(%rip),%ymm10        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  196,65,52,88,202                    // vaddps        %ymm10,%ymm9,%ymm9
+  .byte  196,65,60,89,193                    // vmulps        %ymm9,%ymm8,%ymm8
+  .byte  196,98,125,24,13,13,49,2,0          // vbroadcastss  0x2310d(%rip),%ymm9        # 3c664 <_sk_srcover_bgra_8888_sse2_lowp+0x418>
+  .byte  196,65,60,88,193                    // vaddps        %ymm9,%ymm8,%ymm8
+  .byte  197,124,17,128,64,1,0,0             // vmovups       %ymm8,0x140(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bicubic_p1y_avx
+.globl _sk_bicubic_p1y_avx
+FUNCTION(_sk_bicubic_p1y_avx)
+_sk_bicubic_p1y_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,5,133,47,2,0          // vbroadcastss  0x22f85(%rip),%ymm8        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  197,188,88,72,64                    // vaddps        0x40(%rax),%ymm8,%ymm1
+  .byte  197,124,16,136,192,0,0,0            // vmovups       0xc0(%rax),%ymm9
+  .byte  196,98,125,24,21,211,48,2,0         // vbroadcastss  0x230d3(%rip),%ymm10        # 3c65c <_sk_srcover_bgra_8888_sse2_lowp+0x410>
+  .byte  196,65,52,89,210                    // vmulps        %ymm10,%ymm9,%ymm10
+  .byte  196,98,125,24,29,201,48,2,0         // vbroadcastss  0x230c9(%rip),%ymm11        # 3c660 <_sk_srcover_bgra_8888_sse2_lowp+0x414>
+  .byte  196,65,44,88,211                    // vaddps        %ymm11,%ymm10,%ymm10
+  .byte  196,65,52,89,210                    // vmulps        %ymm10,%ymm9,%ymm10
+  .byte  196,65,44,88,192                    // vaddps        %ymm8,%ymm10,%ymm8
+  .byte  196,65,52,89,192                    // vmulps        %ymm8,%ymm9,%ymm8
+  .byte  196,98,125,24,13,176,48,2,0         // vbroadcastss  0x230b0(%rip),%ymm9        # 3c664 <_sk_srcover_bgra_8888_sse2_lowp+0x418>
+  .byte  196,65,60,88,193                    // vaddps        %ymm9,%ymm8,%ymm8
+  .byte  197,124,17,128,64,1,0,0             // vmovups       %ymm8,0x140(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bicubic_p3y_avx
+.globl _sk_bicubic_p3y_avx
+FUNCTION(_sk_bicubic_p3y_avx)
+_sk_bicubic_p3y_avx:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,13,144,48,2,0        // vbroadcastss  0x23090(%rip),%ymm1        # 3c660 <_sk_srcover_bgra_8888_sse2_lowp+0x414>
+  .byte  197,244,88,72,64                    // vaddps        0x40(%rax),%ymm1,%ymm1
+  .byte  197,124,16,128,192,0,0,0            // vmovups       0xc0(%rax),%ymm8
+  .byte  196,65,60,89,200                    // vmulps        %ymm8,%ymm8,%ymm9
+  .byte  196,98,125,24,21,109,48,2,0         // vbroadcastss  0x2306d(%rip),%ymm10        # 3c658 <_sk_srcover_bgra_8888_sse2_lowp+0x40c>
+  .byte  196,65,60,89,194                    // vmulps        %ymm10,%ymm8,%ymm8
+  .byte  196,98,125,24,21,119,47,2,0         // vbroadcastss  0x22f77(%rip),%ymm10        # 3c570 <_sk_srcover_bgra_8888_sse2_lowp+0x324>
+  .byte  196,65,60,88,194                    // vaddps        %ymm10,%ymm8,%ymm8
+  .byte  196,65,52,89,192                    // vmulps        %ymm8,%ymm9,%ymm8
+  .byte  197,124,17,128,64,1,0,0             // vmovups       %ymm8,0x140(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_callback_avx
+.globl _sk_callback_avx
+FUNCTION(_sk_callback_avx)
+_sk_callback_avx:
+  .byte  85                                  // push          %rbp
+  .byte  72,137,229                          // mov           %rsp,%rbp
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,85                               // push          %r13
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,131,228,224                      // and           $0xffffffffffffffe0,%rsp
+  .byte  72,129,236,160,0,0,0                // sub           $0xa0,%rsp
+  .byte  197,252,41,124,36,96                // vmovaps       %ymm7,0x60(%rsp)
+  .byte  197,252,41,116,36,64                // vmovaps       %ymm6,0x40(%rsp)
+  .byte  197,252,41,108,36,32                // vmovaps       %ymm5,0x20(%rsp)
+  .byte  197,252,41,36,36                    // vmovaps       %ymm4,(%rsp)
+  .byte  73,137,206                          // mov           %rcx,%r14
+  .byte  73,137,215                          // mov           %rdx,%r15
+  .byte  73,137,253                          // mov           %rdi,%r13
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  72,137,195                          // mov           %rax,%rbx
+  .byte  73,137,244                          // mov           %rsi,%r12
+  .byte  197,252,20,225                      // vunpcklps     %ymm1,%ymm0,%ymm4
+  .byte  197,252,21,193                      // vunpckhps     %ymm1,%ymm0,%ymm0
+  .byte  197,236,20,203                      // vunpcklps     %ymm3,%ymm2,%ymm1
+  .byte  197,236,21,211                      // vunpckhps     %ymm3,%ymm2,%ymm2
+  .byte  197,221,20,217                      // vunpcklpd     %ymm1,%ymm4,%ymm3
+  .byte  197,221,21,201                      // vunpckhpd     %ymm1,%ymm4,%ymm1
+  .byte  197,253,20,226                      // vunpcklpd     %ymm2,%ymm0,%ymm4
+  .byte  197,253,21,194                      // vunpckhpd     %ymm2,%ymm0,%ymm0
+  .byte  196,227,101,24,209,1                // vinsertf128   $0x1,%xmm1,%ymm3,%ymm2
+  .byte  196,227,93,24,232,1                 // vinsertf128   $0x1,%xmm0,%ymm4,%ymm5
+  .byte  196,227,101,6,201,49                // vperm2f128    $0x31,%ymm1,%ymm3,%ymm1
+  .byte  196,227,93,6,192,49                 // vperm2f128    $0x31,%ymm0,%ymm4,%ymm0
+  .byte  197,252,17,83,8                     // vmovups       %ymm2,0x8(%rbx)
+  .byte  197,252,17,107,40                   // vmovups       %ymm5,0x28(%rbx)
+  .byte  197,253,17,75,72                    // vmovupd       %ymm1,0x48(%rbx)
+  .byte  197,253,17,67,104                   // vmovupd       %ymm0,0x68(%rbx)
+  .byte  77,133,237                          // test          %r13,%r13
+  .byte  190,8,0,0,0                         // mov           $0x8,%esi
+  .byte  65,15,69,245                        // cmovne        %r13d,%esi
+  .byte  72,137,223                          // mov           %rbx,%rdi
+  .byte  197,248,119                         // vzeroupper
+  .byte  255,19                              // callq         *(%rbx)
+  .byte  72,139,131,8,1,0,0                  // mov           0x108(%rbx),%rax
+  .byte  197,248,16,0                        // vmovups       (%rax),%xmm0
+  .byte  197,248,16,72,16                    // vmovups       0x10(%rax),%xmm1
+  .byte  197,248,16,80,32                    // vmovups       0x20(%rax),%xmm2
+  .byte  197,248,16,88,48                    // vmovups       0x30(%rax),%xmm3
+  .byte  196,227,101,24,88,112,1             // vinsertf128   $0x1,0x70(%rax),%ymm3,%ymm3
+  .byte  196,227,109,24,80,96,1              // vinsertf128   $0x1,0x60(%rax),%ymm2,%ymm2
+  .byte  196,227,117,24,72,80,1              // vinsertf128   $0x1,0x50(%rax),%ymm1,%ymm1
+  .byte  196,227,125,24,64,64,1              // vinsertf128   $0x1,0x40(%rax),%ymm0,%ymm0
+  .byte  197,252,20,225                      // vunpcklps     %ymm1,%ymm0,%ymm4
+  .byte  197,252,21,233                      // vunpckhps     %ymm1,%ymm0,%ymm5
+  .byte  197,236,20,203                      // vunpcklps     %ymm3,%ymm2,%ymm1
+  .byte  197,236,21,219                      // vunpckhps     %ymm3,%ymm2,%ymm3
+  .byte  197,221,20,193                      // vunpcklpd     %ymm1,%ymm4,%ymm0
+  .byte  197,221,21,201                      // vunpckhpd     %ymm1,%ymm4,%ymm1
+  .byte  197,213,20,211                      // vunpcklpd     %ymm3,%ymm5,%ymm2
+  .byte  197,213,21,219                      // vunpckhpd     %ymm3,%ymm5,%ymm3
+  .byte  76,137,230                          // mov           %r12,%rsi
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,137,239                          // mov           %r13,%rdi
+  .byte  76,137,250                          // mov           %r15,%rdx
+  .byte  76,137,241                          // mov           %r14,%rcx
+  .byte  197,252,40,36,36                    // vmovaps       (%rsp),%ymm4
+  .byte  197,252,40,108,36,32                // vmovaps       0x20(%rsp),%ymm5
+  .byte  197,252,40,116,36,64                // vmovaps       0x40(%rsp),%ymm6
+  .byte  197,252,40,124,36,96                // vmovaps       0x60(%rsp),%ymm7
+  .byte  72,141,101,216                      // lea           -0x28(%rbp),%rsp
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,93                               // pop           %r13
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  93                                  // pop           %rbp
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_clut_3D_avx
+.globl _sk_clut_3D_avx
+FUNCTION(_sk_clut_3D_avx)
+_sk_clut_3D_avx:
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,129,236,216,1,0,0                // sub           $0x1d8,%rsp
+  .byte  197,252,17,188,36,160,1,0,0         // vmovups       %ymm7,0x1a0(%rsp)
+  .byte  197,252,17,180,36,128,1,0,0         // vmovups       %ymm6,0x180(%rsp)
+  .byte  197,252,17,172,36,96,1,0,0          // vmovups       %ymm5,0x160(%rsp)
+  .byte  197,252,17,164,36,64,1,0,0          // vmovups       %ymm4,0x140(%rsp)
+  .byte  197,252,17,156,36,32,1,0,0          // vmovups       %ymm3,0x120(%rsp)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  68,139,64,16                        // mov           0x10(%rax),%r8d
+  .byte  69,141,72,255                       // lea           -0x1(%r8),%r9d
+  .byte  196,193,121,110,217                 // vmovd         %r9d,%xmm3
+  .byte  197,249,112,219,0                   // vpshufd       $0x0,%xmm3,%xmm3
+  .byte  196,227,101,24,219,1                // vinsertf128   $0x1,%xmm3,%ymm3,%ymm3
+  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
+  .byte  197,228,89,210                      // vmulps        %ymm2,%ymm3,%ymm2
+  .byte  197,252,17,148,36,192,0,0,0         // vmovups       %ymm2,0xc0(%rsp)
+  .byte  197,254,91,218                      // vcvttps2dq    %ymm2,%ymm3
+  .byte  68,139,72,12                        // mov           0xc(%rax),%r9d
+  .byte  69,141,81,255                       // lea           -0x1(%r9),%r10d
+  .byte  196,193,121,110,210                 // vmovd         %r10d,%xmm2
+  .byte  197,249,112,210,0                   // vpshufd       $0x0,%xmm2,%xmm2
+  .byte  196,227,109,24,210,1                // vinsertf128   $0x1,%xmm2,%ymm2,%ymm2
+  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
+  .byte  197,236,89,201                      // vmulps        %ymm1,%ymm2,%ymm1
+  .byte  197,252,17,76,36,192                // vmovups       %ymm1,-0x40(%rsp)
+  .byte  197,254,91,225                      // vcvttps2dq    %ymm1,%ymm4
+  .byte  196,193,121,110,200                 // vmovd         %r8d,%xmm1
+  .byte  197,121,112,201,0                   // vpshufd       $0x0,%xmm1,%xmm9
+  .byte  196,227,125,25,226,1                // vextractf128  $0x1,%ymm4,%xmm2
+  .byte  197,253,111,244                     // vmovdqa       %ymm4,%ymm6
+  .byte  197,254,127,116,36,64               // vmovdqu       %ymm6,0x40(%rsp)
+  .byte  196,226,49,64,226                   // vpmulld       %xmm2,%xmm9,%xmm4
+  .byte  197,249,127,164,36,144,0,0,0        // vmovdqa       %xmm4,0x90(%rsp)
+  .byte  196,227,125,25,223,1                // vextractf128  $0x1,%ymm3,%xmm7
+  .byte  197,249,127,124,36,224              // vmovdqa       %xmm7,-0x20(%rsp)
+  .byte  197,253,111,235                     // vmovdqa       %ymm3,%ymm5
+  .byte  197,254,127,172,36,160,0,0,0        // vmovdqu       %ymm5,0xa0(%rsp)
+  .byte  196,193,121,110,209                 // vmovd         %r9d,%xmm2
+  .byte  196,226,105,64,201                  // vpmulld       %xmm1,%xmm2,%xmm1
+  .byte  197,249,112,217,0                   // vpshufd       $0x0,%xmm1,%xmm3
+  .byte  68,139,64,8                         // mov           0x8(%rax),%r8d
+  .byte  65,255,200                          // dec           %r8d
+  .byte  196,193,121,110,200                 // vmovd         %r8d,%xmm1
+  .byte  197,249,112,201,0                   // vpshufd       $0x0,%xmm1,%xmm1
+  .byte  196,227,117,24,201,1                // vinsertf128   $0x1,%xmm1,%ymm1,%ymm1
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  197,116,89,232                      // vmulps        %ymm0,%ymm1,%ymm13
+  .byte  196,65,126,91,221                   // vcvttps2dq    %ymm13,%ymm11
+  .byte  196,99,125,25,216,1                 // vextractf128  $0x1,%ymm11,%xmm0
+  .byte  196,226,97,64,192                   // vpmulld       %xmm0,%xmm3,%xmm0
+  .byte  197,249,127,68,36,176               // vmovdqa       %xmm0,-0x50(%rsp)
+  .byte  72,139,0                            // mov           (%rax),%rax
+  .byte  197,217,254,207                     // vpaddd        %xmm7,%xmm4,%xmm1
+  .byte  197,249,254,193                     // vpaddd        %xmm1,%xmm0,%xmm0
+  .byte  196,226,121,24,37,5,46,2,0          // vbroadcastss  0x22e05(%rip),%xmm4        # 3c66c <_sk_srcover_bgra_8888_sse2_lowp+0x420>
+  .byte  196,98,121,64,228                   // vpmulld       %xmm4,%xmm0,%xmm12
+  .byte  196,226,49,64,198                   // vpmulld       %xmm6,%xmm9,%xmm0
+  .byte  197,249,127,132,36,128,0,0,0        // vmovdqa       %xmm0,0x80(%rsp)
+  .byte  197,249,254,197                     // vpaddd        %xmm5,%xmm0,%xmm0
+  .byte  196,194,97,64,211                   // vpmulld       %xmm11,%xmm3,%xmm2
+  .byte  197,249,127,84,36,160               // vmovdqa       %xmm2,-0x60(%rsp)
+  .byte  197,233,254,208                     // vpaddd        %xmm0,%xmm2,%xmm2
+  .byte  196,226,105,64,212                  // vpmulld       %xmm4,%xmm2,%xmm2
+  .byte  196,193,121,126,208                 // vmovd         %xmm2,%r8d
+  .byte  196,195,121,22,209,1                // vpextrd       $0x1,%xmm2,%r9d
+  .byte  196,195,121,22,210,2                // vpextrd       $0x2,%xmm2,%r10d
+  .byte  196,195,121,22,211,3                // vpextrd       $0x3,%xmm2,%r11d
+  .byte  196,65,121,126,231                  // vmovd         %xmm12,%r15d
+  .byte  196,67,121,22,230,1                 // vpextrd       $0x1,%xmm12,%r14d
+  .byte  196,67,121,22,228,2                 // vpextrd       $0x2,%xmm12,%r12d
+  .byte  196,99,121,22,227,3                 // vpextrd       $0x3,%xmm12,%ebx
+  .byte  196,161,122,16,44,184               // vmovss        (%rax,%r15,4),%xmm5
+  .byte  196,163,81,33,44,176,16             // vinsertps     $0x10,(%rax,%r14,4),%xmm5,%xmm5
+  .byte  196,163,81,33,44,160,32             // vinsertps     $0x20,(%rax,%r12,4),%xmm5,%xmm5
+  .byte  196,227,81,33,44,152,48             // vinsertps     $0x30,(%rax,%rbx,4),%xmm5,%xmm5
+  .byte  196,161,122,16,52,128               // vmovss        (%rax,%r8,4),%xmm6
+  .byte  196,163,73,33,52,136,16             // vinsertps     $0x10,(%rax,%r9,4),%xmm6,%xmm6
+  .byte  196,163,73,33,52,144,32             // vinsertps     $0x20,(%rax,%r10,4),%xmm6,%xmm6
+  .byte  196,163,73,33,52,152,48             // vinsertps     $0x30,(%rax,%r11,4),%xmm6,%xmm6
+  .byte  196,99,77,24,245,1                  // vinsertf128   $0x1,%xmm5,%ymm6,%ymm14
+  .byte  197,201,118,246                     // vpcmpeqd      %xmm6,%xmm6,%xmm6
+  .byte  197,233,250,238                     // vpsubd        %xmm6,%xmm2,%xmm5
+  .byte  196,195,249,22,232,1                // vpextrq       $0x1,%xmm5,%r8
+  .byte  196,193,249,126,233                 // vmovq         %xmm5,%r9
+  .byte  197,153,250,238                     // vpsubd        %xmm6,%xmm12,%xmm5
+  .byte  196,195,249,22,234,1                // vpextrq       $0x1,%xmm5,%r10
+  .byte  196,225,249,126,235                 // vmovq         %xmm5,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,44,152               // vmovss        (%rax,%r11,4),%xmm5
+  .byte  196,227,81,33,44,152,16             // vinsertps     $0x10,(%rax,%rbx,4),%xmm5,%xmm5
+  .byte  196,161,122,16,52,176               // vmovss        (%rax,%r14,4),%xmm6
+  .byte  196,227,81,33,238,32                // vinsertps     $0x20,%xmm6,%xmm5,%xmm5
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,52,144               // vmovss        (%rax,%r10,4),%xmm6
+  .byte  196,227,81,33,238,48                // vinsertps     $0x30,%xmm6,%xmm5,%xmm5
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,52,152                   // vmovss        (%rax,%rbx,4),%xmm6
+  .byte  196,163,73,33,52,136,16             // vinsertps     $0x10,(%rax,%r9,4),%xmm6,%xmm6
+  .byte  196,161,122,16,60,144               // vmovss        (%rax,%r10,4),%xmm7
+  .byte  196,227,73,33,247,32                // vinsertps     $0x20,%xmm7,%xmm6,%xmm6
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,60,128               // vmovss        (%rax,%r8,4),%xmm7
+  .byte  196,227,73,33,247,48                // vinsertps     $0x30,%xmm7,%xmm6,%xmm6
+  .byte  196,227,77,24,237,1                 // vinsertf128   $0x1,%xmm5,%ymm6,%ymm5
+  .byte  196,98,121,24,21,118,43,2,0         // vbroadcastss  0x22b76(%rip),%xmm10        # 3c508 <_sk_srcover_bgra_8888_sse2_lowp+0x2bc>
+  .byte  196,193,105,254,210                 // vpaddd        %xmm10,%xmm2,%xmm2
+  .byte  196,195,249,22,208,1                // vpextrq       $0x1,%xmm2,%r8
+  .byte  196,193,249,126,209                 // vmovq         %xmm2,%r9
+  .byte  196,193,25,254,210                  // vpaddd        %xmm10,%xmm12,%xmm2
+  .byte  196,195,249,22,210,1                // vpextrq       $0x1,%xmm2,%r10
+  .byte  196,225,249,126,211                 // vmovq         %xmm2,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,20,152               // vmovss        (%rax,%r11,4),%xmm2
+  .byte  196,227,105,33,20,152,16            // vinsertps     $0x10,(%rax,%rbx,4),%xmm2,%xmm2
+  .byte  196,161,122,16,52,176               // vmovss        (%rax,%r14,4),%xmm6
+  .byte  196,227,105,33,214,32               // vinsertps     $0x20,%xmm6,%xmm2,%xmm2
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,52,144               // vmovss        (%rax,%r10,4),%xmm6
+  .byte  196,227,105,33,214,48               // vinsertps     $0x30,%xmm6,%xmm2,%xmm2
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,52,152                   // vmovss        (%rax,%rbx,4),%xmm6
+  .byte  196,163,73,33,52,136,16             // vinsertps     $0x10,(%rax,%r9,4),%xmm6,%xmm6
+  .byte  196,161,122,16,60,144               // vmovss        (%rax,%r10,4),%xmm7
+  .byte  196,227,73,33,247,32                // vinsertps     $0x20,%xmm7,%xmm6,%xmm6
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,60,128               // vmovss        (%rax,%r8,4),%xmm7
+  .byte  196,227,73,33,247,48                // vinsertps     $0x30,%xmm7,%xmm6,%xmm6
+  .byte  196,227,77,24,210,1                 // vinsertf128   $0x1,%xmm2,%ymm6,%ymm2
+  .byte  196,226,125,24,61,66,44,2,0         // vbroadcastss  0x22c42(%rip),%ymm7        # 3c668 <_sk_srcover_bgra_8888_sse2_lowp+0x41c>
+  .byte  197,148,88,247                      // vaddps        %ymm7,%ymm13,%ymm6
+  .byte  197,124,40,231                      // vmovaps       %ymm7,%ymm12
+  .byte  197,124,17,36,36                    // vmovups       %ymm12,(%rsp)
+  .byte  197,254,91,246                      // vcvttps2dq    %ymm6,%ymm6
+  .byte  196,227,125,25,247,1                // vextractf128  $0x1,%ymm6,%xmm7
+  .byte  196,226,97,64,255                   // vpmulld       %xmm7,%xmm3,%xmm7
+  .byte  197,249,127,124,36,144              // vmovdqa       %xmm7,-0x70(%rsp)
+  .byte  196,226,97,64,222                   // vpmulld       %xmm6,%xmm3,%xmm3
+  .byte  197,249,127,92,36,128               // vmovdqa       %xmm3,-0x80(%rsp)
+  .byte  197,225,254,192                     // vpaddd        %xmm0,%xmm3,%xmm0
+  .byte  197,193,254,201                     // vpaddd        %xmm1,%xmm7,%xmm1
+  .byte  196,226,113,64,204                  // vpmulld       %xmm4,%xmm1,%xmm1
+  .byte  196,226,121,64,220                  // vpmulld       %xmm4,%xmm0,%xmm3
+  .byte  196,193,121,126,217                 // vmovd         %xmm3,%r9d
+  .byte  196,195,121,22,216,1                // vpextrd       $0x1,%xmm3,%r8d
+  .byte  196,195,121,22,218,2                // vpextrd       $0x2,%xmm3,%r10d
+  .byte  196,195,121,22,219,3                // vpextrd       $0x3,%xmm3,%r11d
+  .byte  196,193,121,126,207                 // vmovd         %xmm1,%r15d
+  .byte  196,195,121,22,206,1                // vpextrd       $0x1,%xmm1,%r14d
+  .byte  196,195,121,22,204,2                // vpextrd       $0x2,%xmm1,%r12d
+  .byte  196,227,121,22,203,3                // vpextrd       $0x3,%xmm1,%ebx
+  .byte  196,161,122,16,4,184                // vmovss        (%rax,%r15,4),%xmm0
+  .byte  196,163,121,33,4,176,16             // vinsertps     $0x10,(%rax,%r14,4),%xmm0,%xmm0
+  .byte  196,163,121,33,4,160,32             // vinsertps     $0x20,(%rax,%r12,4),%xmm0,%xmm0
+  .byte  196,227,121,33,4,152,48             // vinsertps     $0x30,(%rax,%rbx,4),%xmm0,%xmm0
+  .byte  196,161,122,16,52,136               // vmovss        (%rax,%r9,4),%xmm6
+  .byte  196,163,73,33,52,128,16             // vinsertps     $0x10,(%rax,%r8,4),%xmm6,%xmm6
+  .byte  196,163,73,33,52,144,32             // vinsertps     $0x20,(%rax,%r10,4),%xmm6,%xmm6
+  .byte  196,163,73,33,52,152,48             // vinsertps     $0x30,(%rax,%r11,4),%xmm6,%xmm6
+  .byte  196,99,77,24,192,1                  // vinsertf128   $0x1,%xmm0,%ymm6,%ymm8
+  .byte  197,201,118,246                     // vpcmpeqd      %xmm6,%xmm6,%xmm6
+  .byte  197,225,250,198                     // vpsubd        %xmm6,%xmm3,%xmm0
+  .byte  196,195,249,22,192,1                // vpextrq       $0x1,%xmm0,%r8
+  .byte  196,193,249,126,193                 // vmovq         %xmm0,%r9
+  .byte  197,241,250,198                     // vpsubd        %xmm6,%xmm1,%xmm0
+  .byte  196,195,249,22,194,1                // vpextrq       $0x1,%xmm0,%r10
+  .byte  196,225,249,126,195                 // vmovq         %xmm0,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,4,152                // vmovss        (%rax,%r11,4),%xmm0
+  .byte  196,227,121,33,4,152,16             // vinsertps     $0x10,(%rax,%rbx,4),%xmm0,%xmm0
+  .byte  196,161,122,16,60,176               // vmovss        (%rax,%r14,4),%xmm7
+  .byte  196,227,121,33,199,32               // vinsertps     $0x20,%xmm7,%xmm0,%xmm0
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,60,144               // vmovss        (%rax,%r10,4),%xmm7
+  .byte  196,227,121,33,199,48               // vinsertps     $0x30,%xmm7,%xmm0,%xmm0
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,60,152                   // vmovss        (%rax,%rbx,4),%xmm7
+  .byte  196,163,65,33,60,136,16             // vinsertps     $0x10,(%rax,%r9,4),%xmm7,%xmm7
+  .byte  196,33,122,16,60,144                // vmovss        (%rax,%r10,4),%xmm15
+  .byte  196,195,65,33,255,32                // vinsertps     $0x20,%xmm15,%xmm7,%xmm7
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,52,128               // vmovss        (%rax,%r8,4),%xmm6
+  .byte  196,227,65,33,246,48                // vinsertps     $0x30,%xmm6,%xmm7,%xmm6
+  .byte  196,227,77,24,192,1                 // vinsertf128   $0x1,%xmm0,%ymm6,%ymm0
+  .byte  196,193,97,254,218                  // vpaddd        %xmm10,%xmm3,%xmm3
+  .byte  196,195,249,22,216,1                // vpextrq       $0x1,%xmm3,%r8
+  .byte  196,193,249,126,217                 // vmovq         %xmm3,%r9
+  .byte  196,193,113,254,202                 // vpaddd        %xmm10,%xmm1,%xmm1
+  .byte  196,195,249,22,202,1                // vpextrq       $0x1,%xmm1,%r10
+  .byte  196,225,249,126,203                 // vmovq         %xmm1,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,12,152               // vmovss        (%rax,%r11,4),%xmm1
+  .byte  196,227,113,33,12,152,16            // vinsertps     $0x10,(%rax,%rbx,4),%xmm1,%xmm1
+  .byte  196,161,122,16,28,176               // vmovss        (%rax,%r14,4),%xmm3
+  .byte  196,227,113,33,203,32               // vinsertps     $0x20,%xmm3,%xmm1,%xmm1
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,28,144               // vmovss        (%rax,%r10,4),%xmm3
+  .byte  196,227,113,33,203,48               // vinsertps     $0x30,%xmm3,%xmm1,%xmm1
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,28,152                   // vmovss        (%rax,%rbx,4),%xmm3
+  .byte  196,163,97,33,28,136,16             // vinsertps     $0x10,(%rax,%r9,4),%xmm3,%xmm3
+  .byte  196,161,122,16,52,144               // vmovss        (%rax,%r10,4),%xmm6
+  .byte  196,227,97,33,222,32                // vinsertps     $0x20,%xmm6,%xmm3,%xmm3
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,52,128               // vmovss        (%rax,%r8,4),%xmm6
+  .byte  196,227,97,33,222,48                // vinsertps     $0x30,%xmm6,%xmm3,%xmm3
+  .byte  196,227,101,24,201,1                // vinsertf128   $0x1,%xmm1,%ymm3,%ymm1
+  .byte  196,193,124,91,219                  // vcvtdq2ps     %ymm11,%ymm3
+  .byte  197,20,92,219                       // vsubps        %ymm3,%ymm13,%ymm11
+  .byte  196,193,60,92,222                   // vsubps        %ymm14,%ymm8,%ymm3
+  .byte  197,164,89,219                      // vmulps        %ymm3,%ymm11,%ymm3
+  .byte  197,140,88,219                      // vaddps        %ymm3,%ymm14,%ymm3
+  .byte  197,252,17,156,36,224,0,0,0         // vmovups       %ymm3,0xe0(%rsp)
+  .byte  197,252,92,197                      // vsubps        %ymm5,%ymm0,%ymm0
+  .byte  197,164,89,192                      // vmulps        %ymm0,%ymm11,%ymm0
+  .byte  197,212,88,192                      // vaddps        %ymm0,%ymm5,%ymm0
+  .byte  197,252,17,68,36,32                 // vmovups       %ymm0,0x20(%rsp)
+  .byte  197,244,92,194                      // vsubps        %ymm2,%ymm1,%ymm0
+  .byte  197,164,89,192                      // vmulps        %ymm0,%ymm11,%ymm0
+  .byte  197,236,88,192                      // vaddps        %ymm0,%ymm2,%ymm0
+  .byte  197,252,17,132,36,0,1,0,0           // vmovups       %ymm0,0x100(%rsp)
+  .byte  197,156,88,68,36,192                // vaddps        -0x40(%rsp),%ymm12,%ymm0
+  .byte  197,254,91,192                      // vcvttps2dq    %ymm0,%ymm0
+  .byte  196,226,49,64,200                   // vpmulld       %xmm0,%xmm9,%xmm1
+  .byte  197,249,127,76,36,96                // vmovdqa       %xmm1,0x60(%rsp)
+  .byte  196,227,125,25,192,1                // vextractf128  $0x1,%ymm0,%xmm0
+  .byte  196,226,49,64,192                   // vpmulld       %xmm0,%xmm9,%xmm0
+  .byte  197,249,127,68,36,112               // vmovdqa       %xmm0,0x70(%rsp)
+  .byte  197,249,254,116,36,224              // vpaddd        -0x20(%rsp),%xmm0,%xmm6
+  .byte  197,121,111,100,36,176              // vmovdqa       -0x50(%rsp),%xmm12
+  .byte  196,193,73,254,196                  // vpaddd        %xmm12,%xmm6,%xmm0
+  .byte  196,98,121,64,196                   // vpmulld       %xmm4,%xmm0,%xmm8
+  .byte  197,241,254,140,36,160,0,0,0        // vpaddd        0xa0(%rsp),%xmm1,%xmm1
+  .byte  197,249,111,108,36,160              // vmovdqa       -0x60(%rsp),%xmm5
+  .byte  197,241,254,197                     // vpaddd        %xmm5,%xmm1,%xmm0
+  .byte  196,226,121,64,196                  // vpmulld       %xmm4,%xmm0,%xmm0
+  .byte  196,193,121,126,193                 // vmovd         %xmm0,%r9d
+  .byte  196,195,121,22,192,1                // vpextrd       $0x1,%xmm0,%r8d
+  .byte  196,195,121,22,194,2                // vpextrd       $0x2,%xmm0,%r10d
+  .byte  196,195,121,22,195,3                // vpextrd       $0x3,%xmm0,%r11d
+  .byte  196,65,121,126,199                  // vmovd         %xmm8,%r15d
+  .byte  196,67,121,22,198,1                 // vpextrd       $0x1,%xmm8,%r14d
+  .byte  196,67,121,22,196,2                 // vpextrd       $0x2,%xmm8,%r12d
+  .byte  196,99,121,22,195,3                 // vpextrd       $0x3,%xmm8,%ebx
+  .byte  196,161,122,16,60,184               // vmovss        (%rax,%r15,4),%xmm7
+  .byte  196,163,65,33,60,176,16             // vinsertps     $0x10,(%rax,%r14,4),%xmm7,%xmm7
+  .byte  196,163,65,33,60,160,32             // vinsertps     $0x20,(%rax,%r12,4),%xmm7,%xmm7
+  .byte  196,227,65,33,60,152,48             // vinsertps     $0x30,(%rax,%rbx,4),%xmm7,%xmm7
+  .byte  196,161,122,16,20,136               // vmovss        (%rax,%r9,4),%xmm2
+  .byte  196,163,105,33,20,128,16            // vinsertps     $0x10,(%rax,%r8,4),%xmm2,%xmm2
+  .byte  196,163,105,33,20,144,32            // vinsertps     $0x20,(%rax,%r10,4),%xmm2,%xmm2
+  .byte  196,163,105,33,20,152,48            // vinsertps     $0x30,(%rax,%r11,4),%xmm2,%xmm2
+  .byte  196,227,109,24,215,1                // vinsertf128   $0x1,%xmm7,%ymm2,%ymm2
+  .byte  197,252,17,84,36,224                // vmovups       %ymm2,-0x20(%rsp)
+  .byte  197,225,118,219                     // vpcmpeqd      %xmm3,%xmm3,%xmm3
+  .byte  197,249,250,211                     // vpsubd        %xmm3,%xmm0,%xmm2
+  .byte  196,195,249,22,208,1                // vpextrq       $0x1,%xmm2,%r8
+  .byte  196,193,249,126,209                 // vmovq         %xmm2,%r9
+  .byte  197,185,250,211                     // vpsubd        %xmm3,%xmm8,%xmm2
+  .byte  196,65,17,118,237                   // vpcmpeqd      %xmm13,%xmm13,%xmm13
+  .byte  196,195,249,22,210,1                // vpextrq       $0x1,%xmm2,%r10
+  .byte  196,225,249,126,211                 // vmovq         %xmm2,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,20,152               // vmovss        (%rax,%r11,4),%xmm2
+  .byte  196,227,105,33,20,152,16            // vinsertps     $0x10,(%rax,%rbx,4),%xmm2,%xmm2
+  .byte  196,161,122,16,60,176               // vmovss        (%rax,%r14,4),%xmm7
+  .byte  196,227,105,33,215,32               // vinsertps     $0x20,%xmm7,%xmm2,%xmm2
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,60,144               // vmovss        (%rax,%r10,4),%xmm7
+  .byte  196,227,105,33,215,48               // vinsertps     $0x30,%xmm7,%xmm2,%xmm2
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,60,152                   // vmovss        (%rax,%rbx,4),%xmm7
+  .byte  196,163,65,33,60,136,16             // vinsertps     $0x10,(%rax,%r9,4),%xmm7,%xmm7
+  .byte  196,161,122,16,28,144               // vmovss        (%rax,%r10,4),%xmm3
+  .byte  196,227,65,33,219,32                // vinsertps     $0x20,%xmm3,%xmm7,%xmm3
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,60,128               // vmovss        (%rax,%r8,4),%xmm7
+  .byte  196,227,97,33,223,48                // vinsertps     $0x30,%xmm7,%xmm3,%xmm3
+  .byte  196,99,101,24,202,1                 // vinsertf128   $0x1,%xmm2,%ymm3,%ymm9
+  .byte  196,193,121,254,194                 // vpaddd        %xmm10,%xmm0,%xmm0
+  .byte  196,195,249,22,192,1                // vpextrq       $0x1,%xmm0,%r8
+  .byte  196,193,249,126,193                 // vmovq         %xmm0,%r9
+  .byte  196,193,57,254,194                  // vpaddd        %xmm10,%xmm8,%xmm0
+  .byte  196,195,249,22,194,1                // vpextrq       $0x1,%xmm0,%r10
+  .byte  196,225,249,126,195                 // vmovq         %xmm0,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,4,152                // vmovss        (%rax,%r11,4),%xmm0
+  .byte  196,227,121,33,4,152,16             // vinsertps     $0x10,(%rax,%rbx,4),%xmm0,%xmm0
+  .byte  196,161,122,16,20,176               // vmovss        (%rax,%r14,4),%xmm2
+  .byte  196,227,121,33,194,32               // vinsertps     $0x20,%xmm2,%xmm0,%xmm0
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,20,144               // vmovss        (%rax,%r10,4),%xmm2
+  .byte  196,227,121,33,194,48               // vinsertps     $0x30,%xmm2,%xmm0,%xmm0
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,20,152                   // vmovss        (%rax,%rbx,4),%xmm2
+  .byte  196,163,105,33,20,136,16            // vinsertps     $0x10,(%rax,%r9,4),%xmm2,%xmm2
+  .byte  196,161,122,16,28,144               // vmovss        (%rax,%r10,4),%xmm3
+  .byte  196,227,105,33,211,32               // vinsertps     $0x20,%xmm3,%xmm2,%xmm2
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,28,128               // vmovss        (%rax,%r8,4),%xmm3
+  .byte  196,227,105,33,211,48               // vinsertps     $0x30,%xmm3,%xmm2,%xmm2
+  .byte  196,99,109,24,192,1                 // vinsertf128   $0x1,%xmm0,%ymm2,%ymm8
+  .byte  197,121,111,124,36,128              // vmovdqa       -0x80(%rsp),%xmm15
+  .byte  197,129,254,193                     // vpaddd        %xmm1,%xmm15,%xmm0
+  .byte  197,121,111,116,36,144              // vmovdqa       -0x70(%rsp),%xmm14
+  .byte  197,137,254,206                     // vpaddd        %xmm6,%xmm14,%xmm1
+  .byte  196,226,113,64,244                  // vpmulld       %xmm4,%xmm1,%xmm6
+  .byte  196,226,121,64,204                  // vpmulld       %xmm4,%xmm0,%xmm1
+  .byte  196,193,121,126,201                 // vmovd         %xmm1,%r9d
+  .byte  196,195,121,22,200,1                // vpextrd       $0x1,%xmm1,%r8d
+  .byte  196,195,121,22,202,2                // vpextrd       $0x2,%xmm1,%r10d
+  .byte  196,195,121,22,203,3                // vpextrd       $0x3,%xmm1,%r11d
+  .byte  196,193,121,126,247                 // vmovd         %xmm6,%r15d
+  .byte  196,195,121,22,246,1                // vpextrd       $0x1,%xmm6,%r14d
+  .byte  196,195,121,22,244,2                // vpextrd       $0x2,%xmm6,%r12d
+  .byte  196,227,121,22,243,3                // vpextrd       $0x3,%xmm6,%ebx
+  .byte  196,161,122,16,4,184                // vmovss        (%rax,%r15,4),%xmm0
+  .byte  196,163,121,33,4,176,16             // vinsertps     $0x10,(%rax,%r14,4),%xmm0,%xmm0
+  .byte  196,163,121,33,4,160,32             // vinsertps     $0x20,(%rax,%r12,4),%xmm0,%xmm0
+  .byte  196,227,121,33,4,152,48             // vinsertps     $0x30,(%rax,%rbx,4),%xmm0,%xmm0
+  .byte  196,161,122,16,20,136               // vmovss        (%rax,%r9,4),%xmm2
+  .byte  196,163,105,33,20,128,16            // vinsertps     $0x10,(%rax,%r8,4),%xmm2,%xmm2
+  .byte  196,163,105,33,20,144,32            // vinsertps     $0x20,(%rax,%r10,4),%xmm2,%xmm2
+  .byte  196,163,105,33,20,152,48            // vinsertps     $0x30,(%rax,%r11,4),%xmm2,%xmm2
+  .byte  196,227,109,24,192,1                // vinsertf128   $0x1,%xmm0,%ymm2,%ymm0
+  .byte  196,193,113,250,213                 // vpsubd        %xmm13,%xmm1,%xmm2
+  .byte  196,195,249,22,208,1                // vpextrq       $0x1,%xmm2,%r8
+  .byte  196,193,249,126,209                 // vmovq         %xmm2,%r9
+  .byte  196,193,73,250,213                  // vpsubd        %xmm13,%xmm6,%xmm2
+  .byte  196,195,249,22,210,1                // vpextrq       $0x1,%xmm2,%r10
+  .byte  196,225,249,126,211                 // vmovq         %xmm2,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,20,152               // vmovss        (%rax,%r11,4),%xmm2
+  .byte  196,227,105,33,20,152,16            // vinsertps     $0x10,(%rax,%rbx,4),%xmm2,%xmm2
+  .byte  196,161,122,16,28,176               // vmovss        (%rax,%r14,4),%xmm3
+  .byte  196,227,105,33,211,32               // vinsertps     $0x20,%xmm3,%xmm2,%xmm2
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,28,144               // vmovss        (%rax,%r10,4),%xmm3
+  .byte  196,227,105,33,211,48               // vinsertps     $0x30,%xmm3,%xmm2,%xmm2
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,28,152                   // vmovss        (%rax,%rbx,4),%xmm3
+  .byte  196,163,97,33,28,136,16             // vinsertps     $0x10,(%rax,%r9,4),%xmm3,%xmm3
+  .byte  196,161,122,16,60,144               // vmovss        (%rax,%r10,4),%xmm7
+  .byte  196,227,97,33,223,32                // vinsertps     $0x20,%xmm7,%xmm3,%xmm3
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,60,128               // vmovss        (%rax,%r8,4),%xmm7
+  .byte  196,227,97,33,223,48                // vinsertps     $0x30,%xmm7,%xmm3,%xmm3
+  .byte  196,99,101,24,234,1                 // vinsertf128   $0x1,%xmm2,%ymm3,%ymm13
+  .byte  196,193,113,254,202                 // vpaddd        %xmm10,%xmm1,%xmm1
+  .byte  196,195,249,22,200,1                // vpextrq       $0x1,%xmm1,%r8
+  .byte  196,193,249,126,201                 // vmovq         %xmm1,%r9
+  .byte  196,193,73,254,202                  // vpaddd        %xmm10,%xmm6,%xmm1
+  .byte  196,195,249,22,202,1                // vpextrq       $0x1,%xmm1,%r10
+  .byte  196,225,249,126,203                 // vmovq         %xmm1,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,12,152               // vmovss        (%rax,%r11,4),%xmm1
+  .byte  196,227,113,33,12,152,16            // vinsertps     $0x10,(%rax,%rbx,4),%xmm1,%xmm1
+  .byte  196,161,122,16,20,176               // vmovss        (%rax,%r14,4),%xmm2
+  .byte  196,227,113,33,202,32               // vinsertps     $0x20,%xmm2,%xmm1,%xmm1
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,20,144               // vmovss        (%rax,%r10,4),%xmm2
+  .byte  196,227,113,33,202,48               // vinsertps     $0x30,%xmm2,%xmm1,%xmm1
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,20,152                   // vmovss        (%rax,%rbx,4),%xmm2
+  .byte  196,163,105,33,20,136,16            // vinsertps     $0x10,(%rax,%r9,4),%xmm2,%xmm2
+  .byte  196,161,122,16,28,144               // vmovss        (%rax,%r10,4),%xmm3
+  .byte  196,227,105,33,211,32               // vinsertps     $0x20,%xmm3,%xmm2,%xmm2
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,28,128               // vmovss        (%rax,%r8,4),%xmm3
+  .byte  196,227,105,33,211,48               // vinsertps     $0x30,%xmm3,%xmm2,%xmm2
+  .byte  196,227,109,24,201,1                // vinsertf128   $0x1,%xmm1,%ymm2,%ymm1
+  .byte  197,252,16,84,36,224                // vmovups       -0x20(%rsp),%ymm2
+  .byte  197,252,92,194                      // vsubps        %ymm2,%ymm0,%ymm0
+  .byte  197,164,89,192                      // vmulps        %ymm0,%ymm11,%ymm0
+  .byte  197,236,88,208                      // vaddps        %ymm0,%ymm2,%ymm2
+  .byte  196,193,20,92,193                   // vsubps        %ymm9,%ymm13,%ymm0
+  .byte  197,164,89,192                      // vmulps        %ymm0,%ymm11,%ymm0
+  .byte  197,180,88,216                      // vaddps        %ymm0,%ymm9,%ymm3
+  .byte  196,193,116,92,192                  // vsubps        %ymm8,%ymm1,%ymm0
+  .byte  197,164,89,192                      // vmulps        %ymm0,%ymm11,%ymm0
+  .byte  197,188,88,200                      // vaddps        %ymm0,%ymm8,%ymm1
+  .byte  197,252,91,68,36,64                 // vcvtdq2ps     0x40(%rsp),%ymm0
+  .byte  197,252,16,116,36,192               // vmovups       -0x40(%rsp),%ymm6
+  .byte  197,76,92,232                       // vsubps        %ymm0,%ymm6,%ymm13
+  .byte  197,252,16,132,36,224,0,0,0         // vmovups       0xe0(%rsp),%ymm0
+  .byte  197,236,92,208                      // vsubps        %ymm0,%ymm2,%ymm2
+  .byte  197,148,89,210                      // vmulps        %ymm2,%ymm13,%ymm2
+  .byte  197,252,88,194                      // vaddps        %ymm2,%ymm0,%ymm0
+  .byte  197,252,17,68,36,192                // vmovups       %ymm0,-0x40(%rsp)
+  .byte  197,252,16,68,36,32                 // vmovups       0x20(%rsp),%ymm0
+  .byte  197,228,92,208                      // vsubps        %ymm0,%ymm3,%ymm2
+  .byte  197,148,89,210                      // vmulps        %ymm2,%ymm13,%ymm2
+  .byte  197,252,88,194                      // vaddps        %ymm2,%ymm0,%ymm0
+  .byte  197,252,17,68,36,64                 // vmovups       %ymm0,0x40(%rsp)
+  .byte  197,252,16,132,36,0,1,0,0           // vmovups       0x100(%rsp),%ymm0
+  .byte  197,244,92,200                      // vsubps        %ymm0,%ymm1,%ymm1
+  .byte  197,148,89,201                      // vmulps        %ymm1,%ymm13,%ymm1
+  .byte  197,252,88,193                      // vaddps        %ymm1,%ymm0,%ymm0
+  .byte  197,252,17,68,36,32                 // vmovups       %ymm0,0x20(%rsp)
+  .byte  197,252,16,4,36                     // vmovups       (%rsp),%ymm0
+  .byte  197,252,88,140,36,192,0,0,0         // vaddps        0xc0(%rsp),%ymm0,%ymm1
+  .byte  197,126,91,201                      // vcvttps2dq    %ymm1,%ymm9
+  .byte  196,99,125,25,200,1                 // vextractf128  $0x1,%ymm9,%xmm0
+  .byte  197,249,127,4,36                    // vmovdqa       %xmm0,(%rsp)
+  .byte  197,249,254,180,36,144,0,0,0        // vpaddd        0x90(%rsp),%xmm0,%xmm6
+  .byte  197,177,254,156,36,128,0,0,0        // vpaddd        0x80(%rsp),%xmm9,%xmm3
+  .byte  197,153,254,206                     // vpaddd        %xmm6,%xmm12,%xmm1
+  .byte  196,226,113,64,204                  // vpmulld       %xmm4,%xmm1,%xmm1
+  .byte  197,209,254,211                     // vpaddd        %xmm3,%xmm5,%xmm2
+  .byte  196,226,105,64,212                  // vpmulld       %xmm4,%xmm2,%xmm2
+  .byte  196,193,121,126,209                 // vmovd         %xmm2,%r9d
+  .byte  196,195,121,22,208,1                // vpextrd       $0x1,%xmm2,%r8d
+  .byte  196,195,121,22,210,2                // vpextrd       $0x2,%xmm2,%r10d
+  .byte  196,195,121,22,211,3                // vpextrd       $0x3,%xmm2,%r11d
+  .byte  196,193,121,126,207                 // vmovd         %xmm1,%r15d
+  .byte  196,195,121,22,206,1                // vpextrd       $0x1,%xmm1,%r14d
+  .byte  196,195,121,22,204,2                // vpextrd       $0x2,%xmm1,%r12d
+  .byte  196,227,121,22,203,3                // vpextrd       $0x3,%xmm1,%ebx
+  .byte  196,161,122,16,60,184               // vmovss        (%rax,%r15,4),%xmm7
+  .byte  196,163,65,33,60,176,16             // vinsertps     $0x10,(%rax,%r14,4),%xmm7,%xmm7
+  .byte  196,163,65,33,60,160,32             // vinsertps     $0x20,(%rax,%r12,4),%xmm7,%xmm7
+  .byte  196,227,65,33,60,152,48             // vinsertps     $0x30,(%rax,%rbx,4),%xmm7,%xmm7
+  .byte  196,161,122,16,4,136                // vmovss        (%rax,%r9,4),%xmm0
+  .byte  196,163,121,33,4,128,16             // vinsertps     $0x10,(%rax,%r8,4),%xmm0,%xmm0
+  .byte  196,163,121,33,4,144,32             // vinsertps     $0x20,(%rax,%r10,4),%xmm0,%xmm0
+  .byte  196,163,121,33,4,152,48             // vinsertps     $0x30,(%rax,%r11,4),%xmm0,%xmm0
+  .byte  196,99,125,24,231,1                 // vinsertf128   $0x1,%xmm7,%ymm0,%ymm12
+  .byte  197,209,118,237                     // vpcmpeqd      %xmm5,%xmm5,%xmm5
+  .byte  197,233,250,197                     // vpsubd        %xmm5,%xmm2,%xmm0
+  .byte  196,195,249,22,192,1                // vpextrq       $0x1,%xmm0,%r8
+  .byte  196,193,249,126,193                 // vmovq         %xmm0,%r9
+  .byte  197,241,250,197                     // vpsubd        %xmm5,%xmm1,%xmm0
+  .byte  196,195,249,22,194,1                // vpextrq       $0x1,%xmm0,%r10
+  .byte  196,225,249,126,195                 // vmovq         %xmm0,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,4,152                // vmovss        (%rax,%r11,4),%xmm0
+  .byte  196,227,121,33,4,152,16             // vinsertps     $0x10,(%rax,%rbx,4),%xmm0,%xmm0
+  .byte  196,161,122,16,60,176               // vmovss        (%rax,%r14,4),%xmm7
+  .byte  196,227,121,33,199,32               // vinsertps     $0x20,%xmm7,%xmm0,%xmm0
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,60,144               // vmovss        (%rax,%r10,4),%xmm7
+  .byte  196,227,121,33,199,48               // vinsertps     $0x30,%xmm7,%xmm0,%xmm0
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,60,152                   // vmovss        (%rax,%rbx,4),%xmm7
+  .byte  196,163,65,33,60,136,16             // vinsertps     $0x10,(%rax,%r9,4),%xmm7,%xmm7
+  .byte  196,161,122,16,44,144               // vmovss        (%rax,%r10,4),%xmm5
+  .byte  196,227,65,33,237,32                // vinsertps     $0x20,%xmm5,%xmm7,%xmm5
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,60,128               // vmovss        (%rax,%r8,4),%xmm7
+  .byte  196,227,81,33,239,48                // vinsertps     $0x30,%xmm7,%xmm5,%xmm5
+  .byte  196,227,85,24,248,1                 // vinsertf128   $0x1,%xmm0,%ymm5,%ymm7
+  .byte  196,193,105,254,194                 // vpaddd        %xmm10,%xmm2,%xmm0
+  .byte  196,195,249,22,192,1                // vpextrq       $0x1,%xmm0,%r8
+  .byte  196,193,249,126,193                 // vmovq         %xmm0,%r9
+  .byte  196,193,113,254,194                 // vpaddd        %xmm10,%xmm1,%xmm0
+  .byte  196,195,249,22,194,1                // vpextrq       $0x1,%xmm0,%r10
+  .byte  196,225,249,126,195                 // vmovq         %xmm0,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,4,152                // vmovss        (%rax,%r11,4),%xmm0
+  .byte  196,227,121,33,4,152,16             // vinsertps     $0x10,(%rax,%rbx,4),%xmm0,%xmm0
+  .byte  196,161,122,16,12,176               // vmovss        (%rax,%r14,4),%xmm1
+  .byte  196,227,121,33,193,32               // vinsertps     $0x20,%xmm1,%xmm0,%xmm0
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,12,144               // vmovss        (%rax,%r10,4),%xmm1
+  .byte  196,227,121,33,193,48               // vinsertps     $0x30,%xmm1,%xmm0,%xmm0
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,12,152                   // vmovss        (%rax,%rbx,4),%xmm1
+  .byte  196,163,113,33,12,136,16            // vinsertps     $0x10,(%rax,%r9,4),%xmm1,%xmm1
+  .byte  196,161,122,16,20,144               // vmovss        (%rax,%r10,4),%xmm2
+  .byte  196,227,113,33,202,32               // vinsertps     $0x20,%xmm2,%xmm1,%xmm1
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,20,128               // vmovss        (%rax,%r8,4),%xmm2
+  .byte  196,227,113,33,202,48               // vinsertps     $0x30,%xmm2,%xmm1,%xmm1
+  .byte  196,99,117,24,192,1                 // vinsertf128   $0x1,%xmm0,%ymm1,%ymm8
+  .byte  197,129,254,195                     // vpaddd        %xmm3,%xmm15,%xmm0
+  .byte  197,137,254,206                     // vpaddd        %xmm6,%xmm14,%xmm1
+  .byte  196,226,113,64,204                  // vpmulld       %xmm4,%xmm1,%xmm1
+  .byte  196,226,121,64,212                  // vpmulld       %xmm4,%xmm0,%xmm2
+  .byte  196,193,121,126,209                 // vmovd         %xmm2,%r9d
+  .byte  196,195,121,22,208,1                // vpextrd       $0x1,%xmm2,%r8d
+  .byte  196,195,121,22,210,2                // vpextrd       $0x2,%xmm2,%r10d
+  .byte  196,195,121,22,211,3                // vpextrd       $0x3,%xmm2,%r11d
+  .byte  196,193,121,126,207                 // vmovd         %xmm1,%r15d
+  .byte  196,195,121,22,206,1                // vpextrd       $0x1,%xmm1,%r14d
+  .byte  196,195,121,22,204,2                // vpextrd       $0x2,%xmm1,%r12d
+  .byte  196,227,121,22,203,3                // vpextrd       $0x3,%xmm1,%ebx
+  .byte  196,161,122,16,4,184                // vmovss        (%rax,%r15,4),%xmm0
+  .byte  196,163,121,33,4,176,16             // vinsertps     $0x10,(%rax,%r14,4),%xmm0,%xmm0
+  .byte  196,163,121,33,4,160,32             // vinsertps     $0x20,(%rax,%r12,4),%xmm0,%xmm0
+  .byte  196,227,121,33,4,152,48             // vinsertps     $0x30,(%rax,%rbx,4),%xmm0,%xmm0
+  .byte  196,161,122,16,28,136               // vmovss        (%rax,%r9,4),%xmm3
+  .byte  196,163,97,33,28,128,16             // vinsertps     $0x10,(%rax,%r8,4),%xmm3,%xmm3
+  .byte  196,163,97,33,28,144,32             // vinsertps     $0x20,(%rax,%r10,4),%xmm3,%xmm3
+  .byte  196,163,97,33,28,152,48             // vinsertps     $0x30,(%rax,%r11,4),%xmm3,%xmm3
+  .byte  196,227,101,24,216,1                // vinsertf128   $0x1,%xmm0,%ymm3,%ymm3
+  .byte  197,209,118,237                     // vpcmpeqd      %xmm5,%xmm5,%xmm5
+  .byte  197,233,250,197                     // vpsubd        %xmm5,%xmm2,%xmm0
+  .byte  196,195,249,22,192,1                // vpextrq       $0x1,%xmm0,%r8
+  .byte  196,193,249,126,193                 // vmovq         %xmm0,%r9
+  .byte  197,241,250,197                     // vpsubd        %xmm5,%xmm1,%xmm0
+  .byte  196,195,249,22,194,1                // vpextrq       $0x1,%xmm0,%r10
+  .byte  196,225,249,126,195                 // vmovq         %xmm0,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,4,152                // vmovss        (%rax,%r11,4),%xmm0
+  .byte  196,227,121,33,4,152,16             // vinsertps     $0x10,(%rax,%rbx,4),%xmm0,%xmm0
+  .byte  196,161,122,16,44,176               // vmovss        (%rax,%r14,4),%xmm5
+  .byte  196,227,121,33,197,32               // vinsertps     $0x20,%xmm5,%xmm0,%xmm0
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,44,144               // vmovss        (%rax,%r10,4),%xmm5
+  .byte  196,227,121,33,197,48               // vinsertps     $0x30,%xmm5,%xmm0,%xmm0
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,44,152                   // vmovss        (%rax,%rbx,4),%xmm5
+  .byte  196,163,81,33,44,136,16             // vinsertps     $0x10,(%rax,%r9,4),%xmm5,%xmm5
+  .byte  196,161,122,16,52,144               // vmovss        (%rax,%r10,4),%xmm6
+  .byte  196,227,81,33,238,32                // vinsertps     $0x20,%xmm6,%xmm5,%xmm5
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,52,128               // vmovss        (%rax,%r8,4),%xmm6
+  .byte  196,227,81,33,238,48                // vinsertps     $0x30,%xmm6,%xmm5,%xmm5
+  .byte  196,227,85,24,240,1                 // vinsertf128   $0x1,%xmm0,%ymm5,%ymm6
+  .byte  196,193,105,254,194                 // vpaddd        %xmm10,%xmm2,%xmm0
+  .byte  196,195,249,22,192,1                // vpextrq       $0x1,%xmm0,%r8
+  .byte  196,193,249,126,193                 // vmovq         %xmm0,%r9
+  .byte  196,193,113,254,194                 // vpaddd        %xmm10,%xmm1,%xmm0
+  .byte  196,195,249,22,194,1                // vpextrq       $0x1,%xmm0,%r10
+  .byte  196,225,249,126,195                 // vmovq         %xmm0,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,4,152                // vmovss        (%rax,%r11,4),%xmm0
+  .byte  196,227,121,33,4,152,16             // vinsertps     $0x10,(%rax,%rbx,4),%xmm0,%xmm0
+  .byte  196,161,122,16,12,176               // vmovss        (%rax,%r14,4),%xmm1
+  .byte  196,227,121,33,193,32               // vinsertps     $0x20,%xmm1,%xmm0,%xmm0
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,12,144               // vmovss        (%rax,%r10,4),%xmm1
+  .byte  196,227,121,33,193,48               // vinsertps     $0x30,%xmm1,%xmm0,%xmm0
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,12,152                   // vmovss        (%rax,%rbx,4),%xmm1
+  .byte  196,163,113,33,12,136,16            // vinsertps     $0x10,(%rax,%r9,4),%xmm1,%xmm1
+  .byte  196,161,122,16,20,144               // vmovss        (%rax,%r10,4),%xmm2
+  .byte  196,227,113,33,202,32               // vinsertps     $0x20,%xmm2,%xmm1,%xmm1
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,20,128               // vmovss        (%rax,%r8,4),%xmm2
+  .byte  196,227,113,33,202,48               // vinsertps     $0x30,%xmm2,%xmm1,%xmm1
+  .byte  196,227,117,24,192,1                // vinsertf128   $0x1,%xmm0,%ymm1,%ymm0
+  .byte  196,193,100,92,204                  // vsubps        %ymm12,%ymm3,%ymm1
+  .byte  197,164,89,201                      // vmulps        %ymm1,%ymm11,%ymm1
+  .byte  197,28,88,225                       // vaddps        %ymm1,%ymm12,%ymm12
+  .byte  197,204,92,207                      // vsubps        %ymm7,%ymm6,%ymm1
+  .byte  197,164,89,201                      // vmulps        %ymm1,%ymm11,%ymm1
+  .byte  197,68,88,241                       // vaddps        %ymm1,%ymm7,%ymm14
+  .byte  196,193,124,92,192                  // vsubps        %ymm8,%ymm0,%ymm0
+  .byte  197,164,89,192                      // vmulps        %ymm0,%ymm11,%ymm0
+  .byte  197,60,88,192                       // vaddps        %ymm0,%ymm8,%ymm8
+  .byte  197,249,111,4,36                    // vmovdqa       (%rsp),%xmm0
+  .byte  197,249,254,116,36,112              // vpaddd        0x70(%rsp),%xmm0,%xmm6
+  .byte  197,177,254,76,36,96                // vpaddd        0x60(%rsp),%xmm9,%xmm1
+  .byte  197,241,254,68,36,160               // vpaddd        -0x60(%rsp),%xmm1,%xmm0
+  .byte  197,201,254,84,36,176               // vpaddd        -0x50(%rsp),%xmm6,%xmm2
+  .byte  196,98,105,64,204                   // vpmulld       %xmm4,%xmm2,%xmm9
+  .byte  196,226,121,64,220                  // vpmulld       %xmm4,%xmm0,%xmm3
+  .byte  196,193,121,126,217                 // vmovd         %xmm3,%r9d
+  .byte  196,195,121,22,216,1                // vpextrd       $0x1,%xmm3,%r8d
+  .byte  196,195,121,22,218,2                // vpextrd       $0x2,%xmm3,%r10d
+  .byte  196,195,121,22,219,3                // vpextrd       $0x3,%xmm3,%r11d
+  .byte  196,65,121,126,207                  // vmovd         %xmm9,%r15d
+  .byte  196,67,121,22,206,1                 // vpextrd       $0x1,%xmm9,%r14d
+  .byte  196,67,121,22,204,2                 // vpextrd       $0x2,%xmm9,%r12d
+  .byte  196,99,121,22,203,3                 // vpextrd       $0x3,%xmm9,%ebx
+  .byte  196,161,122,16,4,184                // vmovss        (%rax,%r15,4),%xmm0
+  .byte  196,163,121,33,4,176,16             // vinsertps     $0x10,(%rax,%r14,4),%xmm0,%xmm0
+  .byte  196,163,121,33,4,160,32             // vinsertps     $0x20,(%rax,%r12,4),%xmm0,%xmm0
+  .byte  196,227,121,33,4,152,48             // vinsertps     $0x30,(%rax,%rbx,4),%xmm0,%xmm0
+  .byte  196,161,122,16,20,136               // vmovss        (%rax,%r9,4),%xmm2
+  .byte  196,163,105,33,20,128,16            // vinsertps     $0x10,(%rax,%r8,4),%xmm2,%xmm2
+  .byte  196,163,105,33,20,144,32            // vinsertps     $0x20,(%rax,%r10,4),%xmm2,%xmm2
+  .byte  196,163,105,33,20,152,48            // vinsertps     $0x30,(%rax,%r11,4),%xmm2,%xmm2
+  .byte  196,227,109,24,192,1                // vinsertf128   $0x1,%xmm0,%ymm2,%ymm0
+  .byte  197,209,118,237                     // vpcmpeqd      %xmm5,%xmm5,%xmm5
+  .byte  197,225,250,213                     // vpsubd        %xmm5,%xmm3,%xmm2
+  .byte  196,195,249,22,208,1                // vpextrq       $0x1,%xmm2,%r8
+  .byte  196,193,249,126,209                 // vmovq         %xmm2,%r9
+  .byte  197,177,250,213                     // vpsubd        %xmm5,%xmm9,%xmm2
+  .byte  196,65,1,118,255                    // vpcmpeqd      %xmm15,%xmm15,%xmm15
+  .byte  196,195,249,22,210,1                // vpextrq       $0x1,%xmm2,%r10
+  .byte  196,225,249,126,211                 // vmovq         %xmm2,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,20,152               // vmovss        (%rax,%r11,4),%xmm2
+  .byte  196,227,105,33,20,152,16            // vinsertps     $0x10,(%rax,%rbx,4),%xmm2,%xmm2
+  .byte  196,161,122,16,44,176               // vmovss        (%rax,%r14,4),%xmm5
+  .byte  196,227,105,33,213,32               // vinsertps     $0x20,%xmm5,%xmm2,%xmm2
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,44,144               // vmovss        (%rax,%r10,4),%xmm5
+  .byte  196,227,105,33,213,48               // vinsertps     $0x30,%xmm5,%xmm2,%xmm2
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,44,152                   // vmovss        (%rax,%rbx,4),%xmm5
+  .byte  196,163,81,33,44,136,16             // vinsertps     $0x10,(%rax,%r9,4),%xmm5,%xmm5
+  .byte  196,161,122,16,60,144               // vmovss        (%rax,%r10,4),%xmm7
+  .byte  196,227,81,33,239,32                // vinsertps     $0x20,%xmm7,%xmm5,%xmm5
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,60,128               // vmovss        (%rax,%r8,4),%xmm7
+  .byte  196,227,81,33,239,48                // vinsertps     $0x30,%xmm7,%xmm5,%xmm5
+  .byte  196,227,85,24,210,1                 // vinsertf128   $0x1,%xmm2,%ymm5,%ymm2
+  .byte  196,193,97,254,218                  // vpaddd        %xmm10,%xmm3,%xmm3
+  .byte  196,195,249,22,216,1                // vpextrq       $0x1,%xmm3,%r8
+  .byte  196,193,249,126,217                 // vmovq         %xmm3,%r9
+  .byte  196,193,49,254,218                  // vpaddd        %xmm10,%xmm9,%xmm3
+  .byte  196,195,249,22,218,1                // vpextrq       $0x1,%xmm3,%r10
+  .byte  196,225,249,126,219                 // vmovq         %xmm3,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,28,152               // vmovss        (%rax,%r11,4),%xmm3
+  .byte  196,227,97,33,28,152,16             // vinsertps     $0x10,(%rax,%rbx,4),%xmm3,%xmm3
+  .byte  196,161,122,16,44,176               // vmovss        (%rax,%r14,4),%xmm5
+  .byte  196,227,97,33,221,32                // vinsertps     $0x20,%xmm5,%xmm3,%xmm3
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,44,144               // vmovss        (%rax,%r10,4),%xmm5
+  .byte  196,227,97,33,221,48                // vinsertps     $0x30,%xmm5,%xmm3,%xmm3
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,44,152                   // vmovss        (%rax,%rbx,4),%xmm5
+  .byte  196,163,81,33,44,136,16             // vinsertps     $0x10,(%rax,%r9,4),%xmm5,%xmm5
+  .byte  196,161,122,16,60,144               // vmovss        (%rax,%r10,4),%xmm7
+  .byte  196,227,81,33,239,32                // vinsertps     $0x20,%xmm7,%xmm5,%xmm5
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,60,128               // vmovss        (%rax,%r8,4),%xmm7
+  .byte  196,227,81,33,239,48                // vinsertps     $0x30,%xmm7,%xmm5,%xmm5
+  .byte  196,99,85,24,203,1                  // vinsertf128   $0x1,%xmm3,%ymm5,%ymm9
+  .byte  197,241,254,76,36,128               // vpaddd        -0x80(%rsp),%xmm1,%xmm1
+  .byte  197,201,254,92,36,144               // vpaddd        -0x70(%rsp),%xmm6,%xmm3
+  .byte  196,226,97,64,220                   // vpmulld       %xmm4,%xmm3,%xmm3
+  .byte  196,226,113,64,228                  // vpmulld       %xmm4,%xmm1,%xmm4
+  .byte  196,193,121,126,225                 // vmovd         %xmm4,%r9d
+  .byte  196,195,121,22,224,1                // vpextrd       $0x1,%xmm4,%r8d
+  .byte  196,195,121,22,226,2                // vpextrd       $0x2,%xmm4,%r10d
+  .byte  196,195,121,22,227,3                // vpextrd       $0x3,%xmm4,%r11d
+  .byte  196,193,121,126,223                 // vmovd         %xmm3,%r15d
+  .byte  196,195,121,22,222,1                // vpextrd       $0x1,%xmm3,%r14d
+  .byte  196,195,121,22,220,2                // vpextrd       $0x2,%xmm3,%r12d
+  .byte  196,227,121,22,219,3                // vpextrd       $0x3,%xmm3,%ebx
+  .byte  196,161,122,16,12,184               // vmovss        (%rax,%r15,4),%xmm1
+  .byte  196,163,113,33,12,176,16            // vinsertps     $0x10,(%rax,%r14,4),%xmm1,%xmm1
+  .byte  196,163,113,33,12,160,32            // vinsertps     $0x20,(%rax,%r12,4),%xmm1,%xmm1
+  .byte  196,227,113,33,12,152,48            // vinsertps     $0x30,(%rax,%rbx,4),%xmm1,%xmm1
+  .byte  196,161,122,16,44,136               // vmovss        (%rax,%r9,4),%xmm5
+  .byte  196,163,81,33,44,128,16             // vinsertps     $0x10,(%rax,%r8,4),%xmm5,%xmm5
+  .byte  196,163,81,33,44,144,32             // vinsertps     $0x20,(%rax,%r10,4),%xmm5,%xmm5
+  .byte  196,163,81,33,44,152,48             // vinsertps     $0x30,(%rax,%r11,4),%xmm5,%xmm5
+  .byte  196,227,85,24,201,1                 // vinsertf128   $0x1,%xmm1,%ymm5,%ymm1
+  .byte  196,193,89,250,239                  // vpsubd        %xmm15,%xmm4,%xmm5
+  .byte  196,195,249,22,232,1                // vpextrq       $0x1,%xmm5,%r8
+  .byte  196,193,249,126,233                 // vmovq         %xmm5,%r9
+  .byte  196,193,97,250,239                  // vpsubd        %xmm15,%xmm3,%xmm5
+  .byte  196,195,249,22,234,1                // vpextrq       $0x1,%xmm5,%r10
+  .byte  196,225,249,126,235                 // vmovq         %xmm5,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,44,152               // vmovss        (%rax,%r11,4),%xmm5
+  .byte  196,227,81,33,44,152,16             // vinsertps     $0x10,(%rax,%rbx,4),%xmm5,%xmm5
+  .byte  196,161,122,16,52,176               // vmovss        (%rax,%r14,4),%xmm6
+  .byte  196,227,81,33,238,32                // vinsertps     $0x20,%xmm6,%xmm5,%xmm5
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,52,144               // vmovss        (%rax,%r10,4),%xmm6
+  .byte  196,227,81,33,238,48                // vinsertps     $0x30,%xmm6,%xmm5,%xmm5
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,52,152                   // vmovss        (%rax,%rbx,4),%xmm6
+  .byte  196,163,73,33,52,136,16             // vinsertps     $0x10,(%rax,%r9,4),%xmm6,%xmm6
+  .byte  196,161,122,16,60,144               // vmovss        (%rax,%r10,4),%xmm7
+  .byte  196,227,73,33,247,32                // vinsertps     $0x20,%xmm7,%xmm6,%xmm6
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,60,128               // vmovss        (%rax,%r8,4),%xmm7
+  .byte  196,227,73,33,247,48                // vinsertps     $0x30,%xmm7,%xmm6,%xmm6
+  .byte  196,227,77,24,245,1                 // vinsertf128   $0x1,%xmm5,%ymm6,%ymm6
+  .byte  196,193,89,254,226                  // vpaddd        %xmm10,%xmm4,%xmm4
+  .byte  196,195,249,22,224,1                // vpextrq       $0x1,%xmm4,%r8
+  .byte  196,193,249,126,225                 // vmovq         %xmm4,%r9
+  .byte  196,193,97,254,218                  // vpaddd        %xmm10,%xmm3,%xmm3
+  .byte  196,195,249,22,218,1                // vpextrq       $0x1,%xmm3,%r10
+  .byte  196,225,249,126,219                 // vmovq         %xmm3,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,28,152               // vmovss        (%rax,%r11,4),%xmm3
+  .byte  196,227,97,33,28,152,16             // vinsertps     $0x10,(%rax,%rbx,4),%xmm3,%xmm3
+  .byte  196,161,122,16,36,176               // vmovss        (%rax,%r14,4),%xmm4
+  .byte  196,227,97,33,220,32                // vinsertps     $0x20,%xmm4,%xmm3,%xmm3
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,36,144               // vmovss        (%rax,%r10,4),%xmm4
+  .byte  196,227,97,33,220,48                // vinsertps     $0x30,%xmm4,%xmm3,%xmm3
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,36,152                   // vmovss        (%rax,%rbx,4),%xmm4
+  .byte  196,163,89,33,36,136,16             // vinsertps     $0x10,(%rax,%r9,4),%xmm4,%xmm4
+  .byte  196,161,122,16,44,144               // vmovss        (%rax,%r10,4),%xmm5
+  .byte  196,227,89,33,229,32                // vinsertps     $0x20,%xmm5,%xmm4,%xmm4
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,44,128               // vmovss        (%rax,%r8,4),%xmm5
+  .byte  196,227,89,33,229,48                // vinsertps     $0x30,%xmm5,%xmm4,%xmm4
+  .byte  196,227,93,24,219,1                 // vinsertf128   $0x1,%xmm3,%ymm4,%ymm3
+  .byte  197,244,92,200                      // vsubps        %ymm0,%ymm1,%ymm1
+  .byte  197,164,89,201                      // vmulps        %ymm1,%ymm11,%ymm1
+  .byte  197,252,88,193                      // vaddps        %ymm1,%ymm0,%ymm0
+  .byte  197,204,92,202                      // vsubps        %ymm2,%ymm6,%ymm1
+  .byte  197,164,89,201                      // vmulps        %ymm1,%ymm11,%ymm1
+  .byte  197,236,88,201                      // vaddps        %ymm1,%ymm2,%ymm1
+  .byte  196,193,100,92,209                  // vsubps        %ymm9,%ymm3,%ymm2
+  .byte  197,164,89,210                      // vmulps        %ymm2,%ymm11,%ymm2
+  .byte  197,180,88,210                      // vaddps        %ymm2,%ymm9,%ymm2
+  .byte  196,193,124,92,196                  // vsubps        %ymm12,%ymm0,%ymm0
+  .byte  197,148,89,192                      // vmulps        %ymm0,%ymm13,%ymm0
+  .byte  197,156,88,192                      // vaddps        %ymm0,%ymm12,%ymm0
+  .byte  196,193,116,92,206                  // vsubps        %ymm14,%ymm1,%ymm1
+  .byte  197,148,89,201                      // vmulps        %ymm1,%ymm13,%ymm1
+  .byte  197,140,88,201                      // vaddps        %ymm1,%ymm14,%ymm1
+  .byte  196,193,108,92,208                  // vsubps        %ymm8,%ymm2,%ymm2
+  .byte  197,148,89,210                      // vmulps        %ymm2,%ymm13,%ymm2
+  .byte  197,188,88,210                      // vaddps        %ymm2,%ymm8,%ymm2
+  .byte  197,252,91,156,36,160,0,0,0         // vcvtdq2ps     0xa0(%rsp),%ymm3
+  .byte  197,252,16,164,36,192,0,0,0         // vmovups       0xc0(%rsp),%ymm4
+  .byte  197,220,92,219                      // vsubps        %ymm3,%ymm4,%ymm3
+  .byte  197,252,16,100,36,192               // vmovups       -0x40(%rsp),%ymm4
+  .byte  197,252,92,196                      // vsubps        %ymm4,%ymm0,%ymm0
+  .byte  197,228,89,192                      // vmulps        %ymm0,%ymm3,%ymm0
+  .byte  197,220,88,192                      // vaddps        %ymm0,%ymm4,%ymm0
+  .byte  197,252,16,100,36,64                // vmovups       0x40(%rsp),%ymm4
+  .byte  197,244,92,204                      // vsubps        %ymm4,%ymm1,%ymm1
+  .byte  197,228,89,201                      // vmulps        %ymm1,%ymm3,%ymm1
+  .byte  197,220,88,201                      // vaddps        %ymm1,%ymm4,%ymm1
+  .byte  197,252,16,100,36,32                // vmovups       0x20(%rsp),%ymm4
+  .byte  197,236,92,212                      // vsubps        %ymm4,%ymm2,%ymm2
+  .byte  197,228,89,210                      // vmulps        %ymm2,%ymm3,%ymm2
+  .byte  197,220,88,210                      // vaddps        %ymm2,%ymm4,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,16,156,36,32,1,0,0          // vmovups       0x120(%rsp),%ymm3
+  .byte  197,252,16,164,36,64,1,0,0          // vmovups       0x140(%rsp),%ymm4
+  .byte  197,252,16,172,36,96,1,0,0          // vmovups       0x160(%rsp),%ymm5
+  .byte  197,252,16,180,36,128,1,0,0         // vmovups       0x180(%rsp),%ymm6
+  .byte  197,252,16,188,36,160,1,0,0         // vmovups       0x1a0(%rsp),%ymm7
+  .byte  72,129,196,216,1,0,0                // add           $0x1d8,%rsp
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_clut_4D_avx
+.globl _sk_clut_4D_avx
+FUNCTION(_sk_clut_4D_avx)
+_sk_clut_4D_avx:
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,129,236,216,2,0,0                // sub           $0x2d8,%rsp
+  .byte  197,252,17,188,36,160,2,0,0         // vmovups       %ymm7,0x2a0(%rsp)
+  .byte  197,252,17,180,36,128,2,0,0         // vmovups       %ymm6,0x280(%rsp)
+  .byte  197,252,17,172,36,96,2,0,0          // vmovups       %ymm5,0x260(%rsp)
+  .byte  197,252,17,164,36,64,2,0,0          // vmovups       %ymm4,0x240(%rsp)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  68,139,64,20                        // mov           0x14(%rax),%r8d
+  .byte  69,141,72,255                       // lea           -0x1(%r8),%r9d
+  .byte  196,193,121,110,225                 // vmovd         %r9d,%xmm4
+  .byte  197,249,112,228,0                   // vpshufd       $0x0,%xmm4,%xmm4
+  .byte  196,227,93,24,228,1                 // vinsertf128   $0x1,%xmm4,%ymm4,%ymm4
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  197,92,89,203                       // vmulps        %ymm3,%ymm4,%ymm9
+  .byte  197,124,17,140,36,224,1,0,0         // vmovups       %ymm9,0x1e0(%rsp)
+  .byte  68,139,72,16                        // mov           0x10(%rax),%r9d
+  .byte  69,141,81,255                       // lea           -0x1(%r9),%r10d
+  .byte  196,193,121,110,218                 // vmovd         %r10d,%xmm3
+  .byte  197,249,112,219,0                   // vpshufd       $0x0,%xmm3,%xmm3
+  .byte  196,227,101,24,219,1                // vinsertf128   $0x1,%xmm3,%ymm3,%ymm3
+  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
+  .byte  197,228,89,210                      // vmulps        %ymm2,%ymm3,%ymm2
+  .byte  197,252,17,148,36,0,1,0,0           // vmovups       %ymm2,0x100(%rsp)
+  .byte  197,254,91,218                      // vcvttps2dq    %ymm2,%ymm3
+  .byte  196,227,125,25,218,1                // vextractf128  $0x1,%ymm3,%xmm2
+  .byte  197,253,111,251                     // vmovdqa       %ymm3,%ymm7
+  .byte  197,254,127,188,36,64,1,0,0         // vmovdqu       %ymm7,0x140(%rsp)
+  .byte  196,193,121,110,216                 // vmovd         %r8d,%xmm3
+  .byte  197,249,112,227,0                   // vpshufd       $0x0,%xmm3,%xmm4
+  .byte  196,226,89,64,242                   // vpmulld       %xmm2,%xmm4,%xmm6
+  .byte  197,249,111,236                     // vmovdqa       %xmm4,%xmm5
+  .byte  197,249,127,108,36,192              // vmovdqa       %xmm5,-0x40(%rsp)
+  .byte  197,249,127,180,36,160,0,0,0        // vmovdqa       %xmm6,0xa0(%rsp)
+  .byte  196,193,121,110,209                 // vmovd         %r9d,%xmm2
+  .byte  196,226,105,64,211                  // vpmulld       %xmm3,%xmm2,%xmm2
+  .byte  197,121,112,194,0                   // vpshufd       $0x0,%xmm2,%xmm8
+  .byte  68,139,64,12                        // mov           0xc(%rax),%r8d
+  .byte  69,141,72,255                       // lea           -0x1(%r8),%r9d
+  .byte  196,193,121,110,217                 // vmovd         %r9d,%xmm3
+  .byte  197,249,112,219,0                   // vpshufd       $0x0,%xmm3,%xmm3
+  .byte  196,227,101,24,219,1                // vinsertf128   $0x1,%xmm3,%ymm3,%ymm3
+  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
+  .byte  197,228,89,201                      // vmulps        %ymm1,%ymm3,%ymm1
+  .byte  197,252,17,140,36,128,0,0,0         // vmovups       %ymm1,0x80(%rsp)
+  .byte  197,254,91,217                      // vcvttps2dq    %ymm1,%ymm3
+  .byte  196,227,125,25,217,1                // vextractf128  $0x1,%ymm3,%xmm1
+  .byte  197,125,111,211                     // vmovdqa       %ymm3,%ymm10
+  .byte  197,126,127,148,36,192,0,0,0        // vmovdqu       %ymm10,0xc0(%rsp)
+  .byte  196,226,57,64,217                   // vpmulld       %xmm1,%xmm8,%xmm3
+  .byte  197,249,127,156,36,224,0,0,0        // vmovdqa       %xmm3,0xe0(%rsp)
+  .byte  196,193,121,110,200                 // vmovd         %r8d,%xmm1
+  .byte  196,226,113,64,202                  // vpmulld       %xmm2,%xmm1,%xmm1
+  .byte  197,249,112,225,0                   // vpshufd       $0x0,%xmm1,%xmm4
+  .byte  68,139,64,8                         // mov           0x8(%rax),%r8d
+  .byte  65,255,200                          // dec           %r8d
+  .byte  196,193,121,110,200                 // vmovd         %r8d,%xmm1
+  .byte  197,249,112,201,0                   // vpshufd       $0x0,%xmm1,%xmm1
+  .byte  196,227,117,24,201,1                // vinsertf128   $0x1,%xmm1,%ymm1,%ymm1
+  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
+  .byte  197,116,89,248                      // vmulps        %ymm0,%ymm1,%ymm15
+  .byte  196,65,126,91,223                   // vcvttps2dq    %ymm15,%ymm11
+  .byte  196,99,125,25,216,1                 // vextractf128  $0x1,%ymm11,%xmm0
+  .byte  196,226,89,64,208                   // vpmulld       %xmm0,%xmm4,%xmm2
+  .byte  197,249,127,84,36,128               // vmovdqa       %xmm2,-0x80(%rsp)
+  .byte  72,139,0                            // mov           (%rax),%rax
+  .byte  196,193,126,91,201                  // vcvttps2dq    %ymm9,%ymm1
+  .byte  197,254,127,140,36,192,1,0,0        // vmovdqu       %ymm1,0x1c0(%rsp)
+  .byte  196,227,125,25,200,1                // vextractf128  $0x1,%ymm1,%xmm0
+  .byte  197,249,127,68,36,96                // vmovdqa       %xmm0,0x60(%rsp)
+  .byte  197,201,254,192                     // vpaddd        %xmm0,%xmm6,%xmm0
+  .byte  197,249,127,68,36,32                // vmovdqa       %xmm0,0x20(%rsp)
+  .byte  197,225,254,216                     // vpaddd        %xmm0,%xmm3,%xmm3
+  .byte  197,233,254,195                     // vpaddd        %xmm3,%xmm2,%xmm0
+  .byte  196,98,121,24,13,6,29,2,0           // vbroadcastss  0x21d06(%rip),%xmm9        # 3c66c <_sk_srcover_bgra_8888_sse2_lowp+0x420>
+  .byte  196,194,121,64,209                  // vpmulld       %xmm9,%xmm0,%xmm2
+  .byte  196,226,81,64,199                   // vpmulld       %xmm7,%xmm5,%xmm0
+  .byte  197,249,127,132,36,96,1,0,0         // vmovdqa       %xmm0,0x160(%rsp)
+  .byte  197,121,254,241                     // vpaddd        %xmm1,%xmm0,%xmm14
+  .byte  196,194,57,64,194                   // vpmulld       %xmm10,%xmm8,%xmm0
+  .byte  197,249,127,68,36,240               // vmovdqa       %xmm0,-0x10(%rsp)
+  .byte  196,193,121,254,206                 // vpaddd        %xmm14,%xmm0,%xmm1
+  .byte  196,194,89,64,195                   // vpmulld       %xmm11,%xmm4,%xmm0
+  .byte  197,249,127,68,36,144               // vmovdqa       %xmm0,-0x70(%rsp)
+  .byte  197,249,254,193                     // vpaddd        %xmm1,%xmm0,%xmm0
+  .byte  196,194,121,64,193                  // vpmulld       %xmm9,%xmm0,%xmm0
+  .byte  196,193,121,126,192                 // vmovd         %xmm0,%r8d
+  .byte  196,195,121,22,193,1                // vpextrd       $0x1,%xmm0,%r9d
+  .byte  196,195,121,22,194,2                // vpextrd       $0x2,%xmm0,%r10d
+  .byte  196,195,121,22,195,3                // vpextrd       $0x3,%xmm0,%r11d
+  .byte  196,193,121,126,215                 // vmovd         %xmm2,%r15d
+  .byte  196,195,121,22,214,1                // vpextrd       $0x1,%xmm2,%r14d
+  .byte  196,195,121,22,212,2                // vpextrd       $0x2,%xmm2,%r12d
+  .byte  196,227,121,22,211,3                // vpextrd       $0x3,%xmm2,%ebx
+  .byte  196,161,122,16,44,184               // vmovss        (%rax,%r15,4),%xmm5
+  .byte  196,163,81,33,44,176,16             // vinsertps     $0x10,(%rax,%r14,4),%xmm5,%xmm5
+  .byte  196,163,81,33,44,160,32             // vinsertps     $0x20,(%rax,%r12,4),%xmm5,%xmm5
+  .byte  196,227,81,33,44,152,48             // vinsertps     $0x30,(%rax,%rbx,4),%xmm5,%xmm5
+  .byte  196,161,122,16,60,128               // vmovss        (%rax,%r8,4),%xmm7
+  .byte  196,163,65,33,60,136,16             // vinsertps     $0x10,(%rax,%r9,4),%xmm7,%xmm7
+  .byte  196,163,65,33,60,144,32             // vinsertps     $0x20,(%rax,%r10,4),%xmm7,%xmm7
+  .byte  196,163,65,33,60,152,48             // vinsertps     $0x30,(%rax,%r11,4),%xmm7,%xmm7
+  .byte  196,99,69,24,237,1                  // vinsertf128   $0x1,%xmm5,%ymm7,%ymm13
+  .byte  197,201,118,246                     // vpcmpeqd      %xmm6,%xmm6,%xmm6
+  .byte  197,249,250,238                     // vpsubd        %xmm6,%xmm0,%xmm5
+  .byte  196,195,249,22,232,1                // vpextrq       $0x1,%xmm5,%r8
+  .byte  196,193,249,126,233                 // vmovq         %xmm5,%r9
+  .byte  197,233,250,238                     // vpsubd        %xmm6,%xmm2,%xmm5
+  .byte  196,195,249,22,234,1                // vpextrq       $0x1,%xmm5,%r10
+  .byte  196,225,249,126,235                 // vmovq         %xmm5,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,44,152               // vmovss        (%rax,%r11,4),%xmm5
+  .byte  196,227,81,33,44,152,16             // vinsertps     $0x10,(%rax,%rbx,4),%xmm5,%xmm5
+  .byte  196,161,122,16,60,176               // vmovss        (%rax,%r14,4),%xmm7
+  .byte  196,227,81,33,239,32                // vinsertps     $0x20,%xmm7,%xmm5,%xmm5
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,60,144               // vmovss        (%rax,%r10,4),%xmm7
+  .byte  196,227,81,33,239,48                // vinsertps     $0x30,%xmm7,%xmm5,%xmm5
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,60,152                   // vmovss        (%rax,%rbx,4),%xmm7
+  .byte  196,163,65,33,60,136,16             // vinsertps     $0x10,(%rax,%r9,4),%xmm7,%xmm7
+  .byte  196,161,122,16,52,144               // vmovss        (%rax,%r10,4),%xmm6
+  .byte  196,227,65,33,246,32                // vinsertps     $0x20,%xmm6,%xmm7,%xmm6
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,60,128               // vmovss        (%rax,%r8,4),%xmm7
+  .byte  196,227,73,33,247,48                // vinsertps     $0x30,%xmm7,%xmm6,%xmm6
+  .byte  196,227,77,24,237,1                 // vinsertf128   $0x1,%xmm5,%ymm6,%ymm5
+  .byte  196,98,121,24,21,103,26,2,0         // vbroadcastss  0x21a67(%rip),%xmm10        # 3c508 <_sk_srcover_bgra_8888_sse2_lowp+0x2bc>
+  .byte  196,193,121,254,194                 // vpaddd        %xmm10,%xmm0,%xmm0
+  .byte  196,195,249,22,192,1                // vpextrq       $0x1,%xmm0,%r8
+  .byte  196,193,249,126,193                 // vmovq         %xmm0,%r9
+  .byte  196,193,105,254,194                 // vpaddd        %xmm10,%xmm2,%xmm0
+  .byte  196,195,249,22,194,1                // vpextrq       $0x1,%xmm0,%r10
+  .byte  196,225,249,126,195                 // vmovq         %xmm0,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,4,152                // vmovss        (%rax,%r11,4),%xmm0
+  .byte  196,227,121,33,4,152,16             // vinsertps     $0x10,(%rax,%rbx,4),%xmm0,%xmm0
+  .byte  196,161,122,16,20,176               // vmovss        (%rax,%r14,4),%xmm2
+  .byte  196,227,121,33,194,32               // vinsertps     $0x20,%xmm2,%xmm0,%xmm0
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,20,144               // vmovss        (%rax,%r10,4),%xmm2
+  .byte  196,227,121,33,194,48               // vinsertps     $0x30,%xmm2,%xmm0,%xmm0
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,20,152                   // vmovss        (%rax,%rbx,4),%xmm2
+  .byte  196,163,105,33,20,136,16            // vinsertps     $0x10,(%rax,%r9,4),%xmm2,%xmm2
+  .byte  196,161,122,16,52,144               // vmovss        (%rax,%r10,4),%xmm6
+  .byte  196,227,105,33,214,32               // vinsertps     $0x20,%xmm6,%xmm2,%xmm2
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,52,128               // vmovss        (%rax,%r8,4),%xmm6
+  .byte  196,227,105,33,214,48               // vinsertps     $0x30,%xmm6,%xmm2,%xmm2
+  .byte  196,227,109,24,208,1                // vinsertf128   $0x1,%xmm0,%ymm2,%ymm2
+  .byte  196,98,125,24,37,51,27,2,0          // vbroadcastss  0x21b33(%rip),%ymm12        # 3c668 <_sk_srcover_bgra_8888_sse2_lowp+0x41c>
+  .byte  196,193,4,88,196                    // vaddps        %ymm12,%ymm15,%ymm0
+  .byte  197,124,17,36,36                    // vmovups       %ymm12,(%rsp)
+  .byte  197,254,91,192                      // vcvttps2dq    %ymm0,%ymm0
+  .byte  196,227,125,25,198,1                // vextractf128  $0x1,%ymm0,%xmm6
+  .byte  196,226,89,64,246                   // vpmulld       %xmm6,%xmm4,%xmm6
+  .byte  197,249,127,116,36,176              // vmovdqa       %xmm6,-0x50(%rsp)
+  .byte  196,226,89,64,192                   // vpmulld       %xmm0,%xmm4,%xmm0
+  .byte  197,249,127,68,36,160               // vmovdqa       %xmm0,-0x60(%rsp)
+  .byte  197,249,254,193                     // vpaddd        %xmm1,%xmm0,%xmm0
+  .byte  197,201,254,203                     // vpaddd        %xmm3,%xmm6,%xmm1
+  .byte  196,194,113,64,201                  // vpmulld       %xmm9,%xmm1,%xmm1
+  .byte  196,194,121,64,225                  // vpmulld       %xmm9,%xmm0,%xmm4
+  .byte  196,193,121,126,225                 // vmovd         %xmm4,%r9d
+  .byte  196,195,121,22,224,1                // vpextrd       $0x1,%xmm4,%r8d
+  .byte  196,195,121,22,226,2                // vpextrd       $0x2,%xmm4,%r10d
+  .byte  196,195,121,22,227,3                // vpextrd       $0x3,%xmm4,%r11d
+  .byte  196,193,121,126,207                 // vmovd         %xmm1,%r15d
+  .byte  196,195,121,22,206,1                // vpextrd       $0x1,%xmm1,%r14d
+  .byte  196,195,121,22,204,2                // vpextrd       $0x2,%xmm1,%r12d
+  .byte  196,227,121,22,203,3                // vpextrd       $0x3,%xmm1,%ebx
+  .byte  196,161,122,16,4,184                // vmovss        (%rax,%r15,4),%xmm0
+  .byte  196,163,121,33,4,176,16             // vinsertps     $0x10,(%rax,%r14,4),%xmm0,%xmm0
+  .byte  196,163,121,33,4,160,32             // vinsertps     $0x20,(%rax,%r12,4),%xmm0,%xmm0
+  .byte  196,227,121,33,4,152,48             // vinsertps     $0x30,(%rax,%rbx,4),%xmm0,%xmm0
+  .byte  196,161,122,16,28,136               // vmovss        (%rax,%r9,4),%xmm3
+  .byte  196,163,97,33,28,128,16             // vinsertps     $0x10,(%rax,%r8,4),%xmm3,%xmm3
+  .byte  196,163,97,33,28,144,32             // vinsertps     $0x20,(%rax,%r10,4),%xmm3,%xmm3
+  .byte  196,163,97,33,28,152,48             // vinsertps     $0x30,(%rax,%r11,4),%xmm3,%xmm3
+  .byte  196,227,101,24,192,1                // vinsertf128   $0x1,%xmm0,%ymm3,%ymm0
+  .byte  197,201,118,246                     // vpcmpeqd      %xmm6,%xmm6,%xmm6
+  .byte  197,217,250,222                     // vpsubd        %xmm6,%xmm4,%xmm3
+  .byte  196,195,249,22,216,1                // vpextrq       $0x1,%xmm3,%r8
+  .byte  196,193,249,126,217                 // vmovq         %xmm3,%r9
+  .byte  197,241,250,222                     // vpsubd        %xmm6,%xmm1,%xmm3
+  .byte  196,195,249,22,218,1                // vpextrq       $0x1,%xmm3,%r10
+  .byte  196,225,249,126,219                 // vmovq         %xmm3,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,28,152               // vmovss        (%rax,%r11,4),%xmm3
+  .byte  196,227,97,33,28,152,16             // vinsertps     $0x10,(%rax,%rbx,4),%xmm3,%xmm3
+  .byte  196,161,122,16,52,176               // vmovss        (%rax,%r14,4),%xmm6
+  .byte  196,227,97,33,222,32                // vinsertps     $0x20,%xmm6,%xmm3,%xmm3
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,52,144               // vmovss        (%rax,%r10,4),%xmm6
+  .byte  196,227,97,33,222,48                // vinsertps     $0x30,%xmm6,%xmm3,%xmm3
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,52,152                   // vmovss        (%rax,%rbx,4),%xmm6
+  .byte  196,163,73,33,52,136,16             // vinsertps     $0x10,(%rax,%r9,4),%xmm6,%xmm6
+  .byte  196,161,122,16,60,144               // vmovss        (%rax,%r10,4),%xmm7
+  .byte  196,227,73,33,247,32                // vinsertps     $0x20,%xmm7,%xmm6,%xmm6
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,60,128               // vmovss        (%rax,%r8,4),%xmm7
+  .byte  196,227,73,33,247,48                // vinsertps     $0x30,%xmm7,%xmm6,%xmm6
+  .byte  196,227,77,24,219,1                 // vinsertf128   $0x1,%xmm3,%ymm6,%ymm3
+  .byte  196,193,89,254,226                  // vpaddd        %xmm10,%xmm4,%xmm4
+  .byte  196,195,249,22,224,1                // vpextrq       $0x1,%xmm4,%r8
+  .byte  196,193,249,126,225                 // vmovq         %xmm4,%r9
+  .byte  196,193,113,254,202                 // vpaddd        %xmm10,%xmm1,%xmm1
+  .byte  196,195,249,22,202,1                // vpextrq       $0x1,%xmm1,%r10
+  .byte  196,225,249,126,203                 // vmovq         %xmm1,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,12,152               // vmovss        (%rax,%r11,4),%xmm1
+  .byte  196,227,113,33,12,152,16            // vinsertps     $0x10,(%rax,%rbx,4),%xmm1,%xmm1
+  .byte  196,161,122,16,36,176               // vmovss        (%rax,%r14,4),%xmm4
+  .byte  196,227,113,33,204,32               // vinsertps     $0x20,%xmm4,%xmm1,%xmm1
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,36,144               // vmovss        (%rax,%r10,4),%xmm4
+  .byte  196,227,113,33,204,48               // vinsertps     $0x30,%xmm4,%xmm1,%xmm1
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,36,152                   // vmovss        (%rax,%rbx,4),%xmm4
+  .byte  196,163,89,33,36,136,16             // vinsertps     $0x10,(%rax,%r9,4),%xmm4,%xmm4
+  .byte  196,161,122,16,52,144               // vmovss        (%rax,%r10,4),%xmm6
+  .byte  196,227,89,33,230,32                // vinsertps     $0x20,%xmm6,%xmm4,%xmm4
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,52,128               // vmovss        (%rax,%r8,4),%xmm6
+  .byte  196,227,89,33,230,48                // vinsertps     $0x30,%xmm6,%xmm4,%xmm4
+  .byte  196,227,93,24,201,1                 // vinsertf128   $0x1,%xmm1,%ymm4,%ymm1
+  .byte  196,193,124,91,227                  // vcvtdq2ps     %ymm11,%ymm4
+  .byte  197,4,92,252                        // vsubps        %ymm4,%ymm15,%ymm15
+  .byte  196,193,124,92,197                  // vsubps        %ymm13,%ymm0,%ymm0
+  .byte  197,132,89,192                      // vmulps        %ymm0,%ymm15,%ymm0
+  .byte  197,148,88,192                      // vaddps        %ymm0,%ymm13,%ymm0
+  .byte  197,252,17,132,36,32,1,0,0          // vmovups       %ymm0,0x120(%rsp)
+  .byte  197,228,92,197                      // vsubps        %ymm5,%ymm3,%ymm0
+  .byte  197,132,89,192                      // vmulps        %ymm0,%ymm15,%ymm0
+  .byte  197,212,88,192                      // vaddps        %ymm0,%ymm5,%ymm0
+  .byte  197,252,17,68,36,64                 // vmovups       %ymm0,0x40(%rsp)
+  .byte  197,244,92,194                      // vsubps        %ymm2,%ymm1,%ymm0
+  .byte  197,132,89,192                      // vmulps        %ymm0,%ymm15,%ymm0
+  .byte  197,108,88,232                      // vaddps        %ymm0,%ymm2,%ymm13
+  .byte  197,124,16,156,36,128,0,0,0         // vmovups       0x80(%rsp),%ymm11
+  .byte  196,193,36,88,196                   // vaddps        %ymm12,%ymm11,%ymm0
+  .byte  197,254,91,192                      // vcvttps2dq    %ymm0,%ymm0
+  .byte  196,226,57,64,200                   // vpmulld       %xmm0,%xmm8,%xmm1
+  .byte  197,249,127,76,36,224               // vmovdqa       %xmm1,-0x20(%rsp)
+  .byte  196,227,125,25,192,1                // vextractf128  $0x1,%ymm0,%xmm0
+  .byte  196,226,57,64,192                   // vpmulld       %xmm0,%xmm8,%xmm0
+  .byte  197,249,127,68,36,208               // vmovdqa       %xmm0,-0x30(%rsp)
+  .byte  197,249,254,108,36,32               // vpaddd        0x20(%rsp),%xmm0,%xmm5
+  .byte  196,193,113,254,198                 // vpaddd        %xmm14,%xmm1,%xmm0
+  .byte  197,121,111,100,36,128              // vmovdqa       -0x80(%rsp),%xmm12
+  .byte  196,193,81,254,204                  // vpaddd        %xmm12,%xmm5,%xmm1
+  .byte  196,194,113,64,209                  // vpmulld       %xmm9,%xmm1,%xmm2
+  .byte  197,121,111,68,36,144               // vmovdqa       -0x70(%rsp),%xmm8
+  .byte  196,193,121,254,200                 // vpaddd        %xmm8,%xmm0,%xmm1
+  .byte  196,194,113,64,241                  // vpmulld       %xmm9,%xmm1,%xmm6
+  .byte  196,193,121,126,241                 // vmovd         %xmm6,%r9d
+  .byte  196,195,121,22,240,1                // vpextrd       $0x1,%xmm6,%r8d
+  .byte  196,195,121,22,242,2                // vpextrd       $0x2,%xmm6,%r10d
+  .byte  196,195,121,22,243,3                // vpextrd       $0x3,%xmm6,%r11d
+  .byte  196,193,121,126,215                 // vmovd         %xmm2,%r15d
+  .byte  196,195,121,22,214,1                // vpextrd       $0x1,%xmm2,%r14d
+  .byte  196,195,121,22,212,2                // vpextrd       $0x2,%xmm2,%r12d
+  .byte  196,227,121,22,211,3                // vpextrd       $0x3,%xmm2,%ebx
+  .byte  196,161,122,16,12,184               // vmovss        (%rax,%r15,4),%xmm1
+  .byte  196,163,113,33,12,176,16            // vinsertps     $0x10,(%rax,%r14,4),%xmm1,%xmm1
+  .byte  196,163,113,33,12,160,32            // vinsertps     $0x20,(%rax,%r12,4),%xmm1,%xmm1
+  .byte  196,227,113,33,12,152,48            // vinsertps     $0x30,(%rax,%rbx,4),%xmm1,%xmm1
+  .byte  196,161,122,16,28,136               // vmovss        (%rax,%r9,4),%xmm3
+  .byte  196,163,97,33,28,128,16             // vinsertps     $0x10,(%rax,%r8,4),%xmm3,%xmm3
+  .byte  196,163,97,33,28,144,32             // vinsertps     $0x20,(%rax,%r10,4),%xmm3,%xmm3
+  .byte  196,163,97,33,28,152,48             // vinsertps     $0x30,(%rax,%r11,4),%xmm3,%xmm3
+  .byte  196,99,101,24,241,1                 // vinsertf128   $0x1,%xmm1,%ymm3,%ymm14
+  .byte  197,225,118,219                     // vpcmpeqd      %xmm3,%xmm3,%xmm3
+  .byte  197,201,250,203                     // vpsubd        %xmm3,%xmm6,%xmm1
+  .byte  196,195,249,22,200,1                // vpextrq       $0x1,%xmm1,%r8
+  .byte  196,193,249,126,201                 // vmovq         %xmm1,%r9
+  .byte  197,233,250,203                     // vpsubd        %xmm3,%xmm2,%xmm1
+  .byte  196,195,249,22,202,1                // vpextrq       $0x1,%xmm1,%r10
+  .byte  196,225,249,126,203                 // vmovq         %xmm1,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,12,152               // vmovss        (%rax,%r11,4),%xmm1
+  .byte  196,227,113,33,12,152,16            // vinsertps     $0x10,(%rax,%rbx,4),%xmm1,%xmm1
+  .byte  196,161,122,16,28,176               // vmovss        (%rax,%r14,4),%xmm3
+  .byte  196,227,113,33,203,32               // vinsertps     $0x20,%xmm3,%xmm1,%xmm1
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,28,144               // vmovss        (%rax,%r10,4),%xmm3
+  .byte  196,227,113,33,203,48               // vinsertps     $0x30,%xmm3,%xmm1,%xmm1
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,28,152                   // vmovss        (%rax,%rbx,4),%xmm3
+  .byte  196,163,97,33,28,136,16             // vinsertps     $0x10,(%rax,%r9,4),%xmm3,%xmm3
+  .byte  196,161,122,16,36,144               // vmovss        (%rax,%r10,4),%xmm4
+  .byte  196,227,97,33,220,32                // vinsertps     $0x20,%xmm4,%xmm3,%xmm3
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,36,128               // vmovss        (%rax,%r8,4),%xmm4
+  .byte  196,227,97,33,220,48                // vinsertps     $0x30,%xmm4,%xmm3,%xmm3
+  .byte  196,227,101,24,201,1                // vinsertf128   $0x1,%xmm1,%ymm3,%ymm1
+  .byte  196,193,73,254,218                  // vpaddd        %xmm10,%xmm6,%xmm3
+  .byte  196,195,249,22,216,1                // vpextrq       $0x1,%xmm3,%r8
+  .byte  196,193,249,126,217                 // vmovq         %xmm3,%r9
+  .byte  196,193,105,254,210                 // vpaddd        %xmm10,%xmm2,%xmm2
+  .byte  196,195,249,22,210,1                // vpextrq       $0x1,%xmm2,%r10
+  .byte  196,225,249,126,211                 // vmovq         %xmm2,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,20,152               // vmovss        (%rax,%r11,4),%xmm2
+  .byte  196,227,105,33,20,152,16            // vinsertps     $0x10,(%rax,%rbx,4),%xmm2,%xmm2
+  .byte  196,161,122,16,28,176               // vmovss        (%rax,%r14,4),%xmm3
+  .byte  196,227,105,33,211,32               // vinsertps     $0x20,%xmm3,%xmm2,%xmm2
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,28,144               // vmovss        (%rax,%r10,4),%xmm3
+  .byte  196,227,105,33,211,48               // vinsertps     $0x30,%xmm3,%xmm2,%xmm2
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,28,152                   // vmovss        (%rax,%rbx,4),%xmm3
+  .byte  196,163,97,33,28,136,16             // vinsertps     $0x10,(%rax,%r9,4),%xmm3,%xmm3
+  .byte  196,161,122,16,36,144               // vmovss        (%rax,%r10,4),%xmm4
+  .byte  196,227,97,33,220,32                // vinsertps     $0x20,%xmm4,%xmm3,%xmm3
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,36,128               // vmovss        (%rax,%r8,4),%xmm4
+  .byte  196,227,97,33,220,48                // vinsertps     $0x30,%xmm4,%xmm3,%xmm3
+  .byte  196,227,101,24,242,1                // vinsertf128   $0x1,%xmm2,%ymm3,%ymm6
+  .byte  197,249,254,68,36,160               // vpaddd        -0x60(%rsp),%xmm0,%xmm0
+  .byte  197,209,254,84,36,176               // vpaddd        -0x50(%rsp),%xmm5,%xmm2
+  .byte  196,194,105,64,209                  // vpmulld       %xmm9,%xmm2,%xmm2
+  .byte  196,194,121,64,233                  // vpmulld       %xmm9,%xmm0,%xmm5
+  .byte  196,193,121,126,233                 // vmovd         %xmm5,%r9d
+  .byte  196,195,121,22,232,1                // vpextrd       $0x1,%xmm5,%r8d
+  .byte  196,195,121,22,234,2                // vpextrd       $0x2,%xmm5,%r10d
+  .byte  196,195,121,22,235,3                // vpextrd       $0x3,%xmm5,%r11d
+  .byte  196,193,121,126,215                 // vmovd         %xmm2,%r15d
+  .byte  196,195,121,22,214,1                // vpextrd       $0x1,%xmm2,%r14d
+  .byte  196,195,121,22,212,2                // vpextrd       $0x2,%xmm2,%r12d
+  .byte  196,227,121,22,211,3                // vpextrd       $0x3,%xmm2,%ebx
+  .byte  196,161,122,16,4,184                // vmovss        (%rax,%r15,4),%xmm0
+  .byte  196,163,121,33,4,176,16             // vinsertps     $0x10,(%rax,%r14,4),%xmm0,%xmm0
+  .byte  196,163,121,33,4,160,32             // vinsertps     $0x20,(%rax,%r12,4),%xmm0,%xmm0
+  .byte  196,227,121,33,4,152,48             // vinsertps     $0x30,(%rax,%rbx,4),%xmm0,%xmm0
+  .byte  196,161,122,16,28,136               // vmovss        (%rax,%r9,4),%xmm3
+  .byte  196,163,97,33,28,128,16             // vinsertps     $0x10,(%rax,%r8,4),%xmm3,%xmm3
+  .byte  196,163,97,33,28,144,32             // vinsertps     $0x20,(%rax,%r10,4),%xmm3,%xmm3
+  .byte  196,163,97,33,28,152,48             // vinsertps     $0x30,(%rax,%r11,4),%xmm3,%xmm3
+  .byte  196,227,101,24,192,1                // vinsertf128   $0x1,%xmm0,%ymm3,%ymm0
+  .byte  197,217,118,228                     // vpcmpeqd      %xmm4,%xmm4,%xmm4
+  .byte  197,209,250,220                     // vpsubd        %xmm4,%xmm5,%xmm3
+  .byte  196,195,249,22,216,1                // vpextrq       $0x1,%xmm3,%r8
+  .byte  196,193,249,126,217                 // vmovq         %xmm3,%r9
+  .byte  197,233,250,220                     // vpsubd        %xmm4,%xmm2,%xmm3
+  .byte  196,195,249,22,218,1                // vpextrq       $0x1,%xmm3,%r10
+  .byte  196,225,249,126,219                 // vmovq         %xmm3,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,28,152               // vmovss        (%rax,%r11,4),%xmm3
+  .byte  196,227,97,33,28,152,16             // vinsertps     $0x10,(%rax,%rbx,4),%xmm3,%xmm3
+  .byte  196,161,122,16,36,176               // vmovss        (%rax,%r14,4),%xmm4
+  .byte  196,227,97,33,220,32                // vinsertps     $0x20,%xmm4,%xmm3,%xmm3
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,36,144               // vmovss        (%rax,%r10,4),%xmm4
+  .byte  196,227,97,33,220,48                // vinsertps     $0x30,%xmm4,%xmm3,%xmm3
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,36,152                   // vmovss        (%rax,%rbx,4),%xmm4
+  .byte  196,163,89,33,36,136,16             // vinsertps     $0x10,(%rax,%r9,4),%xmm4,%xmm4
+  .byte  196,161,122,16,60,144               // vmovss        (%rax,%r10,4),%xmm7
+  .byte  196,227,89,33,231,32                // vinsertps     $0x20,%xmm7,%xmm4,%xmm4
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,60,128               // vmovss        (%rax,%r8,4),%xmm7
+  .byte  196,227,89,33,231,48                // vinsertps     $0x30,%xmm7,%xmm4,%xmm4
+  .byte  196,227,93,24,219,1                 // vinsertf128   $0x1,%xmm3,%ymm4,%ymm3
+  .byte  196,193,81,254,226                  // vpaddd        %xmm10,%xmm5,%xmm4
+  .byte  196,195,249,22,224,1                // vpextrq       $0x1,%xmm4,%r8
+  .byte  196,193,249,126,225                 // vmovq         %xmm4,%r9
+  .byte  196,193,105,254,210                 // vpaddd        %xmm10,%xmm2,%xmm2
+  .byte  196,195,249,22,210,1                // vpextrq       $0x1,%xmm2,%r10
+  .byte  196,225,249,126,211                 // vmovq         %xmm2,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,20,152               // vmovss        (%rax,%r11,4),%xmm2
+  .byte  196,227,105,33,20,152,16            // vinsertps     $0x10,(%rax,%rbx,4),%xmm2,%xmm2
+  .byte  196,161,122,16,36,176               // vmovss        (%rax,%r14,4),%xmm4
+  .byte  196,227,105,33,212,32               // vinsertps     $0x20,%xmm4,%xmm2,%xmm2
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,36,144               // vmovss        (%rax,%r10,4),%xmm4
+  .byte  196,227,105,33,212,48               // vinsertps     $0x30,%xmm4,%xmm2,%xmm2
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,36,152                   // vmovss        (%rax,%rbx,4),%xmm4
+  .byte  196,163,89,33,36,136,16             // vinsertps     $0x10,(%rax,%r9,4),%xmm4,%xmm4
+  .byte  196,161,122,16,44,144               // vmovss        (%rax,%r10,4),%xmm5
+  .byte  196,227,89,33,229,32                // vinsertps     $0x20,%xmm5,%xmm4,%xmm4
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,44,128               // vmovss        (%rax,%r8,4),%xmm5
+  .byte  196,227,89,33,229,48                // vinsertps     $0x30,%xmm5,%xmm4,%xmm4
+  .byte  196,227,93,24,210,1                 // vinsertf128   $0x1,%xmm2,%ymm4,%ymm2
+  .byte  196,193,124,92,198                  // vsubps        %ymm14,%ymm0,%ymm0
+  .byte  197,132,89,192                      // vmulps        %ymm0,%ymm15,%ymm0
+  .byte  197,140,88,192                      // vaddps        %ymm0,%ymm14,%ymm0
+  .byte  197,228,92,217                      // vsubps        %ymm1,%ymm3,%ymm3
+  .byte  197,132,89,219                      // vmulps        %ymm3,%ymm15,%ymm3
+  .byte  197,244,88,203                      // vaddps        %ymm3,%ymm1,%ymm1
+  .byte  197,236,92,214                      // vsubps        %ymm6,%ymm2,%ymm2
+  .byte  197,132,89,210                      // vmulps        %ymm2,%ymm15,%ymm2
+  .byte  197,204,88,210                      // vaddps        %ymm2,%ymm6,%ymm2
+  .byte  197,252,91,156,36,192,0,0,0         // vcvtdq2ps     0xc0(%rsp),%ymm3
+  .byte  197,164,92,219                      // vsubps        %ymm3,%ymm11,%ymm3
+  .byte  197,252,17,156,36,192,0,0,0         // vmovups       %ymm3,0xc0(%rsp)
+  .byte  197,252,16,164,36,32,1,0,0          // vmovups       0x120(%rsp),%ymm4
+  .byte  197,252,92,196                      // vsubps        %ymm4,%ymm0,%ymm0
+  .byte  197,228,89,192                      // vmulps        %ymm0,%ymm3,%ymm0
+  .byte  197,220,88,192                      // vaddps        %ymm0,%ymm4,%ymm0
+  .byte  197,252,17,132,36,128,0,0,0         // vmovups       %ymm0,0x80(%rsp)
+  .byte  197,252,16,100,36,64                // vmovups       0x40(%rsp),%ymm4
+  .byte  197,244,92,196                      // vsubps        %ymm4,%ymm1,%ymm0
+  .byte  197,228,89,192                      // vmulps        %ymm0,%ymm3,%ymm0
+  .byte  197,220,88,192                      // vaddps        %ymm0,%ymm4,%ymm0
+  .byte  197,252,17,68,36,64                 // vmovups       %ymm0,0x40(%rsp)
+  .byte  196,193,108,92,197                  // vsubps        %ymm13,%ymm2,%ymm0
+  .byte  197,228,89,192                      // vmulps        %ymm0,%ymm3,%ymm0
+  .byte  197,148,88,192                      // vaddps        %ymm0,%ymm13,%ymm0
+  .byte  197,252,17,68,36,32                 // vmovups       %ymm0,0x20(%rsp)
+  .byte  197,252,16,4,36                     // vmovups       (%rsp),%ymm0
+  .byte  197,252,88,132,36,0,1,0,0           // vaddps        0x100(%rsp),%ymm0,%ymm0
+  .byte  197,254,91,192                      // vcvttps2dq    %ymm0,%ymm0
+  .byte  196,227,125,25,193,1                // vextractf128  $0x1,%ymm0,%xmm1
+  .byte  197,249,111,84,36,192               // vmovdqa       -0x40(%rsp),%xmm2
+  .byte  196,226,105,64,201                  // vpmulld       %xmm1,%xmm2,%xmm1
+  .byte  197,249,127,140,36,32,1,0,0         // vmovdqa       %xmm1,0x120(%rsp)
+  .byte  196,226,105,64,192                  // vpmulld       %xmm0,%xmm2,%xmm0
+  .byte  197,249,127,68,36,192               // vmovdqa       %xmm0,-0x40(%rsp)
+  .byte  197,241,254,76,36,96                // vpaddd        0x60(%rsp),%xmm1,%xmm1
+  .byte  197,249,127,140,36,176,1,0,0        // vmovdqa       %xmm1,0x1b0(%rsp)
+  .byte  197,241,254,172,36,224,0,0,0        // vpaddd        0xe0(%rsp),%xmm1,%xmm5
+  .byte  196,193,81,254,204                  // vpaddd        %xmm12,%xmm5,%xmm1
+  .byte  196,194,113,64,225                  // vpmulld       %xmm9,%xmm1,%xmm4
+  .byte  197,121,254,180,36,192,1,0,0        // vpaddd        0x1c0(%rsp),%xmm0,%xmm14
+  .byte  197,137,254,84,36,240               // vpaddd        -0x10(%rsp),%xmm14,%xmm2
+  .byte  196,193,105,254,248                 // vpaddd        %xmm8,%xmm2,%xmm7
+  .byte  196,194,65,64,249                   // vpmulld       %xmm9,%xmm7,%xmm7
+  .byte  196,193,121,126,249                 // vmovd         %xmm7,%r9d
+  .byte  196,195,121,22,248,1                // vpextrd       $0x1,%xmm7,%r8d
+  .byte  196,195,121,22,250,2                // vpextrd       $0x2,%xmm7,%r10d
+  .byte  196,195,121,22,251,3                // vpextrd       $0x3,%xmm7,%r11d
+  .byte  196,193,121,126,231                 // vmovd         %xmm4,%r15d
+  .byte  196,195,121,22,230,1                // vpextrd       $0x1,%xmm4,%r14d
+  .byte  196,195,121,22,228,2                // vpextrd       $0x2,%xmm4,%r12d
+  .byte  196,227,121,22,227,3                // vpextrd       $0x3,%xmm4,%ebx
+  .byte  196,161,122,16,28,184               // vmovss        (%rax,%r15,4),%xmm3
+  .byte  196,163,97,33,28,176,16             // vinsertps     $0x10,(%rax,%r14,4),%xmm3,%xmm3
+  .byte  196,163,97,33,28,160,32             // vinsertps     $0x20,(%rax,%r12,4),%xmm3,%xmm3
+  .byte  196,227,97,33,28,152,48             // vinsertps     $0x30,(%rax,%rbx,4),%xmm3,%xmm3
+  .byte  196,161,122,16,52,136               // vmovss        (%rax,%r9,4),%xmm6
+  .byte  196,163,73,33,52,128,16             // vinsertps     $0x10,(%rax,%r8,4),%xmm6,%xmm6
+  .byte  196,163,73,33,52,144,32             // vinsertps     $0x20,(%rax,%r10,4),%xmm6,%xmm6
+  .byte  196,163,73,33,52,152,48             // vinsertps     $0x30,(%rax,%r11,4),%xmm6,%xmm6
+  .byte  196,227,77,24,203,1                 // vinsertf128   $0x1,%xmm3,%ymm6,%ymm1
+  .byte  197,249,118,192                     // vpcmpeqd      %xmm0,%xmm0,%xmm0
+  .byte  197,193,250,216                     // vpsubd        %xmm0,%xmm7,%xmm3
+  .byte  196,195,249,22,216,1                // vpextrq       $0x1,%xmm3,%r8
+  .byte  196,193,249,126,217                 // vmovq         %xmm3,%r9
+  .byte  197,217,250,216                     // vpsubd        %xmm0,%xmm4,%xmm3
+  .byte  196,195,249,22,218,1                // vpextrq       $0x1,%xmm3,%r10
+  .byte  196,225,249,126,219                 // vmovq         %xmm3,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,28,152               // vmovss        (%rax,%r11,4),%xmm3
+  .byte  196,227,97,33,28,152,16             // vinsertps     $0x10,(%rax,%rbx,4),%xmm3,%xmm3
+  .byte  196,161,122,16,52,176               // vmovss        (%rax,%r14,4),%xmm6
+  .byte  196,227,97,33,222,32                // vinsertps     $0x20,%xmm6,%xmm3,%xmm3
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,52,144               // vmovss        (%rax,%r10,4),%xmm6
+  .byte  196,227,97,33,222,48                // vinsertps     $0x30,%xmm6,%xmm3,%xmm3
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,52,152                   // vmovss        (%rax,%rbx,4),%xmm6
+  .byte  196,163,73,33,52,136,16             // vinsertps     $0x10,(%rax,%r9,4),%xmm6,%xmm6
+  .byte  196,161,122,16,4,144                // vmovss        (%rax,%r10,4),%xmm0
+  .byte  196,227,73,33,192,32                // vinsertps     $0x20,%xmm0,%xmm6,%xmm0
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,52,128               // vmovss        (%rax,%r8,4),%xmm6
+  .byte  196,227,121,33,198,48               // vinsertps     $0x30,%xmm6,%xmm0,%xmm0
+  .byte  196,99,125,24,235,1                 // vinsertf128   $0x1,%xmm3,%ymm0,%ymm13
+  .byte  196,193,65,254,194                  // vpaddd        %xmm10,%xmm7,%xmm0
+  .byte  196,195,249,22,192,1                // vpextrq       $0x1,%xmm0,%r8
+  .byte  196,193,249,126,193                 // vmovq         %xmm0,%r9
+  .byte  196,193,89,254,194                  // vpaddd        %xmm10,%xmm4,%xmm0
+  .byte  196,195,249,22,194,1                // vpextrq       $0x1,%xmm0,%r10
+  .byte  196,225,249,126,195                 // vmovq         %xmm0,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,4,152                // vmovss        (%rax,%r11,4),%xmm0
+  .byte  196,227,121,33,4,152,16             // vinsertps     $0x10,(%rax,%rbx,4),%xmm0,%xmm0
+  .byte  196,161,122,16,28,176               // vmovss        (%rax,%r14,4),%xmm3
+  .byte  196,227,121,33,195,32               // vinsertps     $0x20,%xmm3,%xmm0,%xmm0
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,28,144               // vmovss        (%rax,%r10,4),%xmm3
+  .byte  196,227,121,33,195,48               // vinsertps     $0x30,%xmm3,%xmm0,%xmm0
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,28,152                   // vmovss        (%rax,%rbx,4),%xmm3
+  .byte  196,163,97,33,28,136,16             // vinsertps     $0x10,(%rax,%r9,4),%xmm3,%xmm3
+  .byte  196,161,122,16,36,144               // vmovss        (%rax,%r10,4),%xmm4
+  .byte  196,227,97,33,220,32                // vinsertps     $0x20,%xmm4,%xmm3,%xmm3
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,36,128               // vmovss        (%rax,%r8,4),%xmm4
+  .byte  196,227,97,33,220,48                // vinsertps     $0x30,%xmm4,%xmm3,%xmm3
+  .byte  196,99,101,24,216,1                 // vinsertf128   $0x1,%xmm0,%ymm3,%ymm11
+  .byte  197,121,111,100,36,160              // vmovdqa       -0x60(%rsp),%xmm12
+  .byte  197,153,254,194                     // vpaddd        %xmm2,%xmm12,%xmm0
+  .byte  197,121,111,68,36,176               // vmovdqa       -0x50(%rsp),%xmm8
+  .byte  197,185,254,213                     // vpaddd        %xmm5,%xmm8,%xmm2
+  .byte  196,194,105,64,225                  // vpmulld       %xmm9,%xmm2,%xmm4
+  .byte  196,194,121,64,233                  // vpmulld       %xmm9,%xmm0,%xmm5
+  .byte  196,193,121,126,233                 // vmovd         %xmm5,%r9d
+  .byte  196,195,121,22,232,1                // vpextrd       $0x1,%xmm5,%r8d
+  .byte  196,195,121,22,234,2                // vpextrd       $0x2,%xmm5,%r10d
+  .byte  196,195,121,22,235,3                // vpextrd       $0x3,%xmm5,%r11d
+  .byte  196,193,121,126,231                 // vmovd         %xmm4,%r15d
+  .byte  196,195,121,22,230,1                // vpextrd       $0x1,%xmm4,%r14d
+  .byte  196,195,121,22,228,2                // vpextrd       $0x2,%xmm4,%r12d
+  .byte  196,227,121,22,227,3                // vpextrd       $0x3,%xmm4,%ebx
+  .byte  196,161,122,16,4,184                // vmovss        (%rax,%r15,4),%xmm0
+  .byte  196,163,121,33,4,176,16             // vinsertps     $0x10,(%rax,%r14,4),%xmm0,%xmm0
+  .byte  196,163,121,33,4,160,32             // vinsertps     $0x20,(%rax,%r12,4),%xmm0,%xmm0
+  .byte  196,227,121,33,4,152,48             // vinsertps     $0x30,(%rax,%rbx,4),%xmm0,%xmm0
+  .byte  196,161,122,16,20,136               // vmovss        (%rax,%r9,4),%xmm2
+  .byte  196,163,105,33,20,128,16            // vinsertps     $0x10,(%rax,%r8,4),%xmm2,%xmm2
+  .byte  196,163,105,33,20,144,32            // vinsertps     $0x20,(%rax,%r10,4),%xmm2,%xmm2
+  .byte  196,163,105,33,20,152,48            // vinsertps     $0x30,(%rax,%r11,4),%xmm2,%xmm2
+  .byte  196,227,109,24,208,1                // vinsertf128   $0x1,%xmm0,%ymm2,%ymm2
+  .byte  197,225,118,219                     // vpcmpeqd      %xmm3,%xmm3,%xmm3
+  .byte  197,209,250,195                     // vpsubd        %xmm3,%xmm5,%xmm0
+  .byte  196,195,249,22,192,1                // vpextrq       $0x1,%xmm0,%r8
+  .byte  196,193,249,126,193                 // vmovq         %xmm0,%r9
+  .byte  197,217,250,195                     // vpsubd        %xmm3,%xmm4,%xmm0
+  .byte  196,195,249,22,194,1                // vpextrq       $0x1,%xmm0,%r10
+  .byte  196,225,249,126,195                 // vmovq         %xmm0,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,4,152                // vmovss        (%rax,%r11,4),%xmm0
+  .byte  196,227,121,33,4,152,16             // vinsertps     $0x10,(%rax,%rbx,4),%xmm0,%xmm0
+  .byte  196,161,122,16,28,176               // vmovss        (%rax,%r14,4),%xmm3
+  .byte  196,227,121,33,195,32               // vinsertps     $0x20,%xmm3,%xmm0,%xmm0
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,28,144               // vmovss        (%rax,%r10,4),%xmm3
+  .byte  196,227,121,33,195,48               // vinsertps     $0x30,%xmm3,%xmm0,%xmm0
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,28,152                   // vmovss        (%rax,%rbx,4),%xmm3
+  .byte  196,163,97,33,28,136,16             // vinsertps     $0x10,(%rax,%r9,4),%xmm3,%xmm3
+  .byte  196,161,122,16,52,144               // vmovss        (%rax,%r10,4),%xmm6
+  .byte  196,227,97,33,222,32                // vinsertps     $0x20,%xmm6,%xmm3,%xmm3
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,52,128               // vmovss        (%rax,%r8,4),%xmm6
+  .byte  196,227,97,33,222,48                // vinsertps     $0x30,%xmm6,%xmm3,%xmm3
+  .byte  196,227,101,24,248,1                // vinsertf128   $0x1,%xmm0,%ymm3,%ymm7
+  .byte  196,193,81,254,194                  // vpaddd        %xmm10,%xmm5,%xmm0
+  .byte  196,195,249,22,192,1                // vpextrq       $0x1,%xmm0,%r8
+  .byte  196,193,249,126,193                 // vmovq         %xmm0,%r9
+  .byte  196,193,89,254,194                  // vpaddd        %xmm10,%xmm4,%xmm0
+  .byte  196,195,249,22,194,1                // vpextrq       $0x1,%xmm0,%r10
+  .byte  196,225,249,126,195                 // vmovq         %xmm0,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,4,152                // vmovss        (%rax,%r11,4),%xmm0
+  .byte  196,227,121,33,4,152,16             // vinsertps     $0x10,(%rax,%rbx,4),%xmm0,%xmm0
+  .byte  196,161,122,16,28,176               // vmovss        (%rax,%r14,4),%xmm3
+  .byte  196,227,121,33,195,32               // vinsertps     $0x20,%xmm3,%xmm0,%xmm0
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,28,144               // vmovss        (%rax,%r10,4),%xmm3
+  .byte  196,227,121,33,195,48               // vinsertps     $0x30,%xmm3,%xmm0,%xmm0
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,28,152                   // vmovss        (%rax,%rbx,4),%xmm3
+  .byte  196,163,97,33,28,136,16             // vinsertps     $0x10,(%rax,%r9,4),%xmm3,%xmm3
+  .byte  196,161,122,16,36,144               // vmovss        (%rax,%r10,4),%xmm4
+  .byte  196,227,97,33,220,32                // vinsertps     $0x20,%xmm4,%xmm3,%xmm3
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,36,128               // vmovss        (%rax,%r8,4),%xmm4
+  .byte  196,227,97,33,220,48                // vinsertps     $0x30,%xmm4,%xmm3,%xmm3
+  .byte  196,227,101,24,192,1                // vinsertf128   $0x1,%xmm0,%ymm3,%ymm0
+  .byte  197,236,92,209                      // vsubps        %ymm1,%ymm2,%ymm2
+  .byte  197,132,89,210                      // vmulps        %ymm2,%ymm15,%ymm2
+  .byte  197,244,88,202                      // vaddps        %ymm2,%ymm1,%ymm1
+  .byte  197,252,17,76,36,96                 // vmovups       %ymm1,0x60(%rsp)
+  .byte  196,193,68,92,213                   // vsubps        %ymm13,%ymm7,%ymm2
+  .byte  197,132,89,210                      // vmulps        %ymm2,%ymm15,%ymm2
+  .byte  197,148,88,202                      // vaddps        %ymm2,%ymm13,%ymm1
+  .byte  197,252,17,140,36,32,2,0,0          // vmovups       %ymm1,0x220(%rsp)
+  .byte  196,193,124,92,195                  // vsubps        %ymm11,%ymm0,%ymm0
+  .byte  197,132,89,192                      // vmulps        %ymm0,%ymm15,%ymm0
+  .byte  197,164,88,192                      // vaddps        %ymm0,%ymm11,%ymm0
+  .byte  197,252,17,132,36,0,2,0,0           // vmovups       %ymm0,0x200(%rsp)
+  .byte  197,249,111,132,36,176,1,0,0        // vmovdqa       0x1b0(%rsp),%xmm0
+  .byte  197,249,254,108,36,208              // vpaddd        -0x30(%rsp),%xmm0,%xmm5
+  .byte  197,137,254,100,36,224              // vpaddd        -0x20(%rsp),%xmm14,%xmm4
+  .byte  197,209,254,68,36,128               // vpaddd        -0x80(%rsp),%xmm5,%xmm0
+  .byte  196,66,121,64,217                   // vpmulld       %xmm9,%xmm0,%xmm11
+  .byte  197,121,111,108,36,144              // vmovdqa       -0x70(%rsp),%xmm13
+  .byte  196,193,89,254,197                  // vpaddd        %xmm13,%xmm4,%xmm0
+  .byte  196,194,121,64,209                  // vpmulld       %xmm9,%xmm0,%xmm2
+  .byte  196,193,121,126,209                 // vmovd         %xmm2,%r9d
+  .byte  196,195,121,22,208,1                // vpextrd       $0x1,%xmm2,%r8d
+  .byte  196,195,121,22,210,2                // vpextrd       $0x2,%xmm2,%r10d
+  .byte  196,195,121,22,211,3                // vpextrd       $0x3,%xmm2,%r11d
+  .byte  196,65,121,126,223                  // vmovd         %xmm11,%r15d
+  .byte  196,67,121,22,222,1                 // vpextrd       $0x1,%xmm11,%r14d
+  .byte  196,67,121,22,220,2                 // vpextrd       $0x2,%xmm11,%r12d
+  .byte  196,99,121,22,219,3                 // vpextrd       $0x3,%xmm11,%ebx
+  .byte  196,161,122,16,4,184                // vmovss        (%rax,%r15,4),%xmm0
+  .byte  196,163,121,33,4,176,16             // vinsertps     $0x10,(%rax,%r14,4),%xmm0,%xmm0
+  .byte  196,163,121,33,4,160,32             // vinsertps     $0x20,(%rax,%r12,4),%xmm0,%xmm0
+  .byte  196,227,121,33,4,152,48             // vinsertps     $0x30,(%rax,%rbx,4),%xmm0,%xmm0
+  .byte  196,161,122,16,12,136               // vmovss        (%rax,%r9,4),%xmm1
+  .byte  196,163,113,33,12,128,16            // vinsertps     $0x10,(%rax,%r8,4),%xmm1,%xmm1
+  .byte  196,163,113,33,12,144,32            // vinsertps     $0x20,(%rax,%r10,4),%xmm1,%xmm1
+  .byte  196,163,113,33,12,152,48            // vinsertps     $0x30,(%rax,%r11,4),%xmm1,%xmm1
+  .byte  196,227,117,24,192,1                // vinsertf128   $0x1,%xmm0,%ymm1,%ymm0
+  .byte  197,225,118,219                     // vpcmpeqd      %xmm3,%xmm3,%xmm3
+  .byte  197,233,250,203                     // vpsubd        %xmm3,%xmm2,%xmm1
+  .byte  196,195,249,22,200,1                // vpextrq       $0x1,%xmm1,%r8
+  .byte  196,193,249,126,201                 // vmovq         %xmm1,%r9
+  .byte  197,161,250,203                     // vpsubd        %xmm3,%xmm11,%xmm1
+  .byte  197,193,118,255                     // vpcmpeqd      %xmm7,%xmm7,%xmm7
+  .byte  196,195,249,22,202,1                // vpextrq       $0x1,%xmm1,%r10
+  .byte  196,225,249,126,203                 // vmovq         %xmm1,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,12,152               // vmovss        (%rax,%r11,4),%xmm1
+  .byte  196,227,113,33,12,152,16            // vinsertps     $0x10,(%rax,%rbx,4),%xmm1,%xmm1
+  .byte  196,161,122,16,28,176               // vmovss        (%rax,%r14,4),%xmm3
+  .byte  196,227,113,33,203,32               // vinsertps     $0x20,%xmm3,%xmm1,%xmm1
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,28,144               // vmovss        (%rax,%r10,4),%xmm3
+  .byte  196,227,113,33,203,48               // vinsertps     $0x30,%xmm3,%xmm1,%xmm1
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,28,152                   // vmovss        (%rax,%rbx,4),%xmm3
+  .byte  196,163,97,33,28,136,16             // vinsertps     $0x10,(%rax,%r9,4),%xmm3,%xmm3
+  .byte  196,161,122,16,52,144               // vmovss        (%rax,%r10,4),%xmm6
+  .byte  196,227,97,33,222,32                // vinsertps     $0x20,%xmm6,%xmm3,%xmm3
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,52,128               // vmovss        (%rax,%r8,4),%xmm6
+  .byte  196,227,97,33,222,48                // vinsertps     $0x30,%xmm6,%xmm3,%xmm3
+  .byte  196,227,101,24,201,1                // vinsertf128   $0x1,%xmm1,%ymm3,%ymm1
+  .byte  196,193,105,254,210                 // vpaddd        %xmm10,%xmm2,%xmm2
+  .byte  196,195,249,22,208,1                // vpextrq       $0x1,%xmm2,%r8
+  .byte  196,193,249,126,209                 // vmovq         %xmm2,%r9
+  .byte  196,193,33,254,210                  // vpaddd        %xmm10,%xmm11,%xmm2
+  .byte  196,195,249,22,210,1                // vpextrq       $0x1,%xmm2,%r10
+  .byte  196,225,249,126,211                 // vmovq         %xmm2,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,20,152               // vmovss        (%rax,%r11,4),%xmm2
+  .byte  196,227,105,33,20,152,16            // vinsertps     $0x10,(%rax,%rbx,4),%xmm2,%xmm2
+  .byte  196,161,122,16,28,176               // vmovss        (%rax,%r14,4),%xmm3
+  .byte  196,227,105,33,211,32               // vinsertps     $0x20,%xmm3,%xmm2,%xmm2
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,28,144               // vmovss        (%rax,%r10,4),%xmm3
+  .byte  196,227,105,33,211,48               // vinsertps     $0x30,%xmm3,%xmm2,%xmm2
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,28,152                   // vmovss        (%rax,%rbx,4),%xmm3
+  .byte  196,163,97,33,28,136,16             // vinsertps     $0x10,(%rax,%r9,4),%xmm3,%xmm3
+  .byte  196,161,122,16,52,144               // vmovss        (%rax,%r10,4),%xmm6
+  .byte  196,227,97,33,222,32                // vinsertps     $0x20,%xmm6,%xmm3,%xmm3
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,52,128               // vmovss        (%rax,%r8,4),%xmm6
+  .byte  196,227,97,33,222,48                // vinsertps     $0x30,%xmm6,%xmm3,%xmm3
+  .byte  196,99,101,24,218,1                 // vinsertf128   $0x1,%xmm2,%ymm3,%ymm11
+  .byte  197,153,254,212                     // vpaddd        %xmm4,%xmm12,%xmm2
+  .byte  197,185,254,221                     // vpaddd        %xmm5,%xmm8,%xmm3
+  .byte  196,194,97,64,225                   // vpmulld       %xmm9,%xmm3,%xmm4
+  .byte  196,194,105,64,233                  // vpmulld       %xmm9,%xmm2,%xmm5
+  .byte  196,193,121,126,233                 // vmovd         %xmm5,%r9d
+  .byte  196,195,121,22,232,1                // vpextrd       $0x1,%xmm5,%r8d
+  .byte  196,195,121,22,234,2                // vpextrd       $0x2,%xmm5,%r10d
+  .byte  196,195,121,22,235,3                // vpextrd       $0x3,%xmm5,%r11d
+  .byte  196,193,121,126,231                 // vmovd         %xmm4,%r15d
+  .byte  196,195,121,22,230,1                // vpextrd       $0x1,%xmm4,%r14d
+  .byte  196,195,121,22,228,2                // vpextrd       $0x2,%xmm4,%r12d
+  .byte  196,227,121,22,227,3                // vpextrd       $0x3,%xmm4,%ebx
+  .byte  196,161,122,16,20,184               // vmovss        (%rax,%r15,4),%xmm2
+  .byte  196,163,105,33,20,176,16            // vinsertps     $0x10,(%rax,%r14,4),%xmm2,%xmm2
+  .byte  196,163,105,33,20,160,32            // vinsertps     $0x20,(%rax,%r12,4),%xmm2,%xmm2
+  .byte  196,227,105,33,20,152,48            // vinsertps     $0x30,(%rax,%rbx,4),%xmm2,%xmm2
+  .byte  196,161,122,16,28,136               // vmovss        (%rax,%r9,4),%xmm3
+  .byte  196,163,97,33,28,128,16             // vinsertps     $0x10,(%rax,%r8,4),%xmm3,%xmm3
+  .byte  196,163,97,33,28,144,32             // vinsertps     $0x20,(%rax,%r10,4),%xmm3,%xmm3
+  .byte  196,163,97,33,28,152,48             // vinsertps     $0x30,(%rax,%r11,4),%xmm3,%xmm3
+  .byte  196,227,101,24,210,1                // vinsertf128   $0x1,%xmm2,%ymm3,%ymm2
+  .byte  197,209,250,223                     // vpsubd        %xmm7,%xmm5,%xmm3
+  .byte  196,195,249,22,216,1                // vpextrq       $0x1,%xmm3,%r8
+  .byte  196,193,249,126,217                 // vmovq         %xmm3,%r9
+  .byte  197,217,250,223                     // vpsubd        %xmm7,%xmm4,%xmm3
+  .byte  196,195,249,22,218,1                // vpextrq       $0x1,%xmm3,%r10
+  .byte  196,225,249,126,219                 // vmovq         %xmm3,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,28,152               // vmovss        (%rax,%r11,4),%xmm3
+  .byte  196,227,97,33,28,152,16             // vinsertps     $0x10,(%rax,%rbx,4),%xmm3,%xmm3
+  .byte  196,161,122,16,52,176               // vmovss        (%rax,%r14,4),%xmm6
+  .byte  196,227,97,33,222,32                // vinsertps     $0x20,%xmm6,%xmm3,%xmm3
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,52,144               // vmovss        (%rax,%r10,4),%xmm6
+  .byte  196,227,97,33,222,48                // vinsertps     $0x30,%xmm6,%xmm3,%xmm3
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,52,152                   // vmovss        (%rax,%rbx,4),%xmm6
+  .byte  196,163,73,33,52,136,16             // vinsertps     $0x10,(%rax,%r9,4),%xmm6,%xmm6
+  .byte  196,161,122,16,60,144               // vmovss        (%rax,%r10,4),%xmm7
+  .byte  196,227,73,33,247,32                // vinsertps     $0x20,%xmm7,%xmm6,%xmm6
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,60,128               // vmovss        (%rax,%r8,4),%xmm7
+  .byte  196,227,73,33,247,48                // vinsertps     $0x30,%xmm7,%xmm6,%xmm6
+  .byte  196,99,77,24,243,1                  // vinsertf128   $0x1,%xmm3,%ymm6,%ymm14
+  .byte  196,193,81,254,218                  // vpaddd        %xmm10,%xmm5,%xmm3
+  .byte  196,195,249,22,216,1                // vpextrq       $0x1,%xmm3,%r8
+  .byte  196,193,249,126,217                 // vmovq         %xmm3,%r9
+  .byte  196,193,89,254,218                  // vpaddd        %xmm10,%xmm4,%xmm3
+  .byte  196,195,249,22,218,1                // vpextrq       $0x1,%xmm3,%r10
+  .byte  196,225,249,126,219                 // vmovq         %xmm3,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,28,152               // vmovss        (%rax,%r11,4),%xmm3
+  .byte  196,227,97,33,28,152,16             // vinsertps     $0x10,(%rax,%rbx,4),%xmm3,%xmm3
+  .byte  196,161,122,16,36,176               // vmovss        (%rax,%r14,4),%xmm4
+  .byte  196,227,97,33,220,32                // vinsertps     $0x20,%xmm4,%xmm3,%xmm3
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,36,144               // vmovss        (%rax,%r10,4),%xmm4
+  .byte  196,227,97,33,220,48                // vinsertps     $0x30,%xmm4,%xmm3,%xmm3
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,36,152                   // vmovss        (%rax,%rbx,4),%xmm4
+  .byte  196,163,89,33,36,136,16             // vinsertps     $0x10,(%rax,%r9,4),%xmm4,%xmm4
+  .byte  196,161,122,16,44,144               // vmovss        (%rax,%r10,4),%xmm5
+  .byte  196,227,89,33,229,32                // vinsertps     $0x20,%xmm5,%xmm4,%xmm4
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,44,128               // vmovss        (%rax,%r8,4),%xmm5
+  .byte  196,227,89,33,229,48                // vinsertps     $0x30,%xmm5,%xmm4,%xmm4
+  .byte  196,227,93,24,219,1                 // vinsertf128   $0x1,%xmm3,%ymm4,%ymm3
+  .byte  197,236,92,208                      // vsubps        %ymm0,%ymm2,%ymm2
+  .byte  197,124,17,188,36,128,1,0,0         // vmovups       %ymm15,0x180(%rsp)
+  .byte  197,132,89,210                      // vmulps        %ymm2,%ymm15,%ymm2
+  .byte  197,252,88,194                      // vaddps        %ymm2,%ymm0,%ymm0
+  .byte  197,140,92,209                      // vsubps        %ymm1,%ymm14,%ymm2
+  .byte  197,132,89,210                      // vmulps        %ymm2,%ymm15,%ymm2
+  .byte  197,244,88,202                      // vaddps        %ymm2,%ymm1,%ymm1
+  .byte  196,193,100,92,211                  // vsubps        %ymm11,%ymm3,%ymm2
+  .byte  197,132,89,210                      // vmulps        %ymm2,%ymm15,%ymm2
+  .byte  197,164,88,210                      // vaddps        %ymm2,%ymm11,%ymm2
+  .byte  197,252,16,100,36,96                // vmovups       0x60(%rsp),%ymm4
+  .byte  197,252,92,196                      // vsubps        %ymm4,%ymm0,%ymm0
+  .byte  197,252,16,156,36,192,0,0,0         // vmovups       0xc0(%rsp),%ymm3
+  .byte  197,228,89,192                      // vmulps        %ymm0,%ymm3,%ymm0
+  .byte  197,220,88,192                      // vaddps        %ymm0,%ymm4,%ymm0
+  .byte  197,252,16,164,36,32,2,0,0          // vmovups       0x220(%rsp),%ymm4
+  .byte  197,244,92,204                      // vsubps        %ymm4,%ymm1,%ymm1
+  .byte  197,228,89,201                      // vmulps        %ymm1,%ymm3,%ymm1
+  .byte  197,220,88,201                      // vaddps        %ymm1,%ymm4,%ymm1
+  .byte  197,252,16,164,36,0,2,0,0           // vmovups       0x200(%rsp),%ymm4
+  .byte  197,236,92,212                      // vsubps        %ymm4,%ymm2,%ymm2
+  .byte  197,228,89,210                      // vmulps        %ymm2,%ymm3,%ymm2
+  .byte  197,220,88,210                      // vaddps        %ymm2,%ymm4,%ymm2
+  .byte  197,252,91,156,36,64,1,0,0          // vcvtdq2ps     0x140(%rsp),%ymm3
+  .byte  197,252,16,164,36,0,1,0,0           // vmovups       0x100(%rsp),%ymm4
+  .byte  197,220,92,219                      // vsubps        %ymm3,%ymm4,%ymm3
+  .byte  197,252,17,92,36,96                 // vmovups       %ymm3,0x60(%rsp)
+  .byte  197,252,16,164,36,128,0,0,0         // vmovups       0x80(%rsp),%ymm4
+  .byte  197,252,92,196                      // vsubps        %ymm4,%ymm0,%ymm0
+  .byte  197,228,89,192                      // vmulps        %ymm0,%ymm3,%ymm0
+  .byte  197,220,88,192                      // vaddps        %ymm0,%ymm4,%ymm0
+  .byte  197,252,17,132,36,0,1,0,0           // vmovups       %ymm0,0x100(%rsp)
+  .byte  197,252,16,100,36,64                // vmovups       0x40(%rsp),%ymm4
+  .byte  197,244,92,196                      // vsubps        %ymm4,%ymm1,%ymm0
+  .byte  197,228,89,192                      // vmulps        %ymm0,%ymm3,%ymm0
+  .byte  197,220,88,192                      // vaddps        %ymm0,%ymm4,%ymm0
+  .byte  197,252,17,132,36,64,1,0,0          // vmovups       %ymm0,0x140(%rsp)
+  .byte  197,252,16,76,36,32                 // vmovups       0x20(%rsp),%ymm1
+  .byte  197,236,92,193                      // vsubps        %ymm1,%ymm2,%ymm0
+  .byte  197,228,89,192                      // vmulps        %ymm0,%ymm3,%ymm0
+  .byte  197,244,88,192                      // vaddps        %ymm0,%ymm1,%ymm0
+  .byte  197,252,17,132,36,128,0,0,0         // vmovups       %ymm0,0x80(%rsp)
+  .byte  197,252,16,4,36                     // vmovups       (%rsp),%ymm0
+  .byte  197,252,88,132,36,224,1,0,0         // vaddps        0x1e0(%rsp),%ymm0,%ymm0
+  .byte  197,254,91,192                      // vcvttps2dq    %ymm0,%ymm0
+  .byte  197,254,127,68,36,64                // vmovdqu       %ymm0,0x40(%rsp)
+  .byte  197,249,254,148,36,96,1,0,0         // vpaddd        0x160(%rsp),%xmm0,%xmm2
+  .byte  197,249,127,20,36                   // vmovdqa       %xmm2,(%rsp)
+  .byte  196,227,125,25,192,1                // vextractf128  $0x1,%ymm0,%xmm0
+  .byte  197,249,127,68,36,32                // vmovdqa       %xmm0,0x20(%rsp)
+  .byte  197,121,254,188,36,160,0,0,0        // vpaddd        0xa0(%rsp),%xmm0,%xmm15
+  .byte  197,129,254,172,36,224,0,0,0        // vpaddd        0xe0(%rsp),%xmm15,%xmm5
+  .byte  197,249,111,100,36,128              // vmovdqa       -0x80(%rsp),%xmm4
+  .byte  197,217,254,197                     // vpaddd        %xmm5,%xmm4,%xmm0
+  .byte  196,194,121,64,201                  // vpmulld       %xmm9,%xmm0,%xmm1
+  .byte  197,233,254,84,36,240               // vpaddd        -0x10(%rsp),%xmm2,%xmm2
+  .byte  197,145,254,194                     // vpaddd        %xmm2,%xmm13,%xmm0
+  .byte  196,194,121,64,193                  // vpmulld       %xmm9,%xmm0,%xmm0
+  .byte  196,193,121,126,193                 // vmovd         %xmm0,%r9d
+  .byte  196,195,121,22,192,1                // vpextrd       $0x1,%xmm0,%r8d
+  .byte  196,195,121,22,194,2                // vpextrd       $0x2,%xmm0,%r10d
+  .byte  196,195,121,22,195,3                // vpextrd       $0x3,%xmm0,%r11d
+  .byte  196,193,121,126,207                 // vmovd         %xmm1,%r15d
+  .byte  196,195,121,22,206,1                // vpextrd       $0x1,%xmm1,%r14d
+  .byte  196,195,121,22,204,2                // vpextrd       $0x2,%xmm1,%r12d
+  .byte  196,227,121,22,203,3                // vpextrd       $0x3,%xmm1,%ebx
+  .byte  196,161,122,16,52,184               // vmovss        (%rax,%r15,4),%xmm6
+  .byte  196,163,73,33,52,176,16             // vinsertps     $0x10,(%rax,%r14,4),%xmm6,%xmm6
+  .byte  196,163,73,33,52,160,32             // vinsertps     $0x20,(%rax,%r12,4),%xmm6,%xmm6
+  .byte  196,227,73,33,52,152,48             // vinsertps     $0x30,(%rax,%rbx,4),%xmm6,%xmm6
+  .byte  196,161,122,16,60,136               // vmovss        (%rax,%r9,4),%xmm7
+  .byte  196,163,65,33,60,128,16             // vinsertps     $0x10,(%rax,%r8,4),%xmm7,%xmm7
+  .byte  196,163,65,33,60,144,32             // vinsertps     $0x20,(%rax,%r10,4),%xmm7,%xmm7
+  .byte  196,163,65,33,60,152,48             // vinsertps     $0x30,(%rax,%r11,4),%xmm7,%xmm7
+  .byte  196,99,69,24,246,1                  // vinsertf128   $0x1,%xmm6,%ymm7,%ymm14
+  .byte  197,225,118,219                     // vpcmpeqd      %xmm3,%xmm3,%xmm3
+  .byte  197,249,250,243                     // vpsubd        %xmm3,%xmm0,%xmm6
+  .byte  196,195,249,22,240,1                // vpextrq       $0x1,%xmm6,%r8
+  .byte  196,193,249,126,241                 // vmovq         %xmm6,%r9
+  .byte  197,241,250,243                     // vpsubd        %xmm3,%xmm1,%xmm6
+  .byte  196,65,17,118,237                   // vpcmpeqd      %xmm13,%xmm13,%xmm13
+  .byte  196,195,249,22,242,1                // vpextrq       $0x1,%xmm6,%r10
+  .byte  196,225,249,126,243                 // vmovq         %xmm6,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,52,152               // vmovss        (%rax,%r11,4),%xmm6
+  .byte  196,227,73,33,52,152,16             // vinsertps     $0x10,(%rax,%rbx,4),%xmm6,%xmm6
+  .byte  196,161,122,16,60,176               // vmovss        (%rax,%r14,4),%xmm7
+  .byte  196,227,73,33,247,32                // vinsertps     $0x20,%xmm7,%xmm6,%xmm6
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,60,144               // vmovss        (%rax,%r10,4),%xmm7
+  .byte  196,227,73,33,247,48                // vinsertps     $0x30,%xmm7,%xmm6,%xmm6
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,60,152                   // vmovss        (%rax,%rbx,4),%xmm7
+  .byte  196,163,65,33,60,136,16             // vinsertps     $0x10,(%rax,%r9,4),%xmm7,%xmm7
+  .byte  196,161,122,16,28,144               // vmovss        (%rax,%r10,4),%xmm3
+  .byte  196,227,65,33,219,32                // vinsertps     $0x20,%xmm3,%xmm7,%xmm3
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,60,128               // vmovss        (%rax,%r8,4),%xmm7
+  .byte  196,227,97,33,223,48                // vinsertps     $0x30,%xmm7,%xmm3,%xmm3
+  .byte  196,227,101,24,254,1                // vinsertf128   $0x1,%xmm6,%ymm3,%ymm7
+  .byte  196,193,121,254,194                 // vpaddd        %xmm10,%xmm0,%xmm0
+  .byte  196,195,249,22,192,1                // vpextrq       $0x1,%xmm0,%r8
+  .byte  196,193,249,126,193                 // vmovq         %xmm0,%r9
+  .byte  196,193,113,254,194                 // vpaddd        %xmm10,%xmm1,%xmm0
+  .byte  196,195,249,22,194,1                // vpextrq       $0x1,%xmm0,%r10
+  .byte  196,225,249,126,195                 // vmovq         %xmm0,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,4,152                // vmovss        (%rax,%r11,4),%xmm0
+  .byte  196,227,121,33,4,152,16             // vinsertps     $0x10,(%rax,%rbx,4),%xmm0,%xmm0
+  .byte  196,161,122,16,12,176               // vmovss        (%rax,%r14,4),%xmm1
+  .byte  196,227,121,33,193,32               // vinsertps     $0x20,%xmm1,%xmm0,%xmm0
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,12,144               // vmovss        (%rax,%r10,4),%xmm1
+  .byte  196,227,121,33,193,48               // vinsertps     $0x30,%xmm1,%xmm0,%xmm0
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,12,152                   // vmovss        (%rax,%rbx,4),%xmm1
+  .byte  196,163,113,33,12,136,16            // vinsertps     $0x10,(%rax,%r9,4),%xmm1,%xmm1
+  .byte  196,161,122,16,28,144               // vmovss        (%rax,%r10,4),%xmm3
+  .byte  196,227,113,33,203,32               // vinsertps     $0x20,%xmm3,%xmm1,%xmm1
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,28,128               // vmovss        (%rax,%r8,4),%xmm3
+  .byte  196,227,113,33,203,48               // vinsertps     $0x30,%xmm3,%xmm1,%xmm1
+  .byte  196,99,117,24,192,1                 // vinsertf128   $0x1,%xmm0,%ymm1,%ymm8
+  .byte  197,121,111,100,36,160              // vmovdqa       -0x60(%rsp),%xmm12
+  .byte  197,153,254,194                     // vpaddd        %xmm2,%xmm12,%xmm0
+  .byte  197,121,111,92,36,176               // vmovdqa       -0x50(%rsp),%xmm11
+  .byte  197,161,254,205                     // vpaddd        %xmm5,%xmm11,%xmm1
+  .byte  196,194,113,64,201                  // vpmulld       %xmm9,%xmm1,%xmm1
+  .byte  196,194,121,64,193                  // vpmulld       %xmm9,%xmm0,%xmm0
+  .byte  196,193,121,126,193                 // vmovd         %xmm0,%r9d
+  .byte  196,195,121,22,192,1                // vpextrd       $0x1,%xmm0,%r8d
+  .byte  196,195,121,22,194,2                // vpextrd       $0x2,%xmm0,%r10d
+  .byte  196,195,121,22,195,3                // vpextrd       $0x3,%xmm0,%r11d
+  .byte  196,193,121,126,207                 // vmovd         %xmm1,%r15d
+  .byte  196,195,121,22,206,1                // vpextrd       $0x1,%xmm1,%r14d
+  .byte  196,195,121,22,204,2                // vpextrd       $0x2,%xmm1,%r12d
+  .byte  196,227,121,22,203,3                // vpextrd       $0x3,%xmm1,%ebx
+  .byte  196,161,122,16,20,184               // vmovss        (%rax,%r15,4),%xmm2
+  .byte  196,163,105,33,20,176,16            // vinsertps     $0x10,(%rax,%r14,4),%xmm2,%xmm2
+  .byte  196,163,105,33,20,160,32            // vinsertps     $0x20,(%rax,%r12,4),%xmm2,%xmm2
+  .byte  196,227,105,33,20,152,48            // vinsertps     $0x30,(%rax,%rbx,4),%xmm2,%xmm2
+  .byte  196,161,122,16,28,136               // vmovss        (%rax,%r9,4),%xmm3
+  .byte  196,163,97,33,28,128,16             // vinsertps     $0x10,(%rax,%r8,4),%xmm3,%xmm3
+  .byte  196,163,97,33,28,144,32             // vinsertps     $0x20,(%rax,%r10,4),%xmm3,%xmm3
+  .byte  196,163,97,33,28,152,48             // vinsertps     $0x30,(%rax,%r11,4),%xmm3,%xmm3
+  .byte  196,227,101,24,210,1                // vinsertf128   $0x1,%xmm2,%ymm3,%ymm2
+  .byte  196,193,121,250,221                 // vpsubd        %xmm13,%xmm0,%xmm3
+  .byte  196,195,249,22,216,1                // vpextrq       $0x1,%xmm3,%r8
+  .byte  196,193,249,126,217                 // vmovq         %xmm3,%r9
+  .byte  196,193,113,250,221                 // vpsubd        %xmm13,%xmm1,%xmm3
+  .byte  196,195,249,22,218,1                // vpextrq       $0x1,%xmm3,%r10
+  .byte  196,225,249,126,219                 // vmovq         %xmm3,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,28,152               // vmovss        (%rax,%r11,4),%xmm3
+  .byte  196,227,97,33,28,152,16             // vinsertps     $0x10,(%rax,%rbx,4),%xmm3,%xmm3
+  .byte  196,161,122,16,44,176               // vmovss        (%rax,%r14,4),%xmm5
+  .byte  196,227,97,33,221,32                // vinsertps     $0x20,%xmm5,%xmm3,%xmm3
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,44,144               // vmovss        (%rax,%r10,4),%xmm5
+  .byte  196,227,97,33,221,48                // vinsertps     $0x30,%xmm5,%xmm3,%xmm3
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,44,152                   // vmovss        (%rax,%rbx,4),%xmm5
+  .byte  196,163,81,33,44,136,16             // vinsertps     $0x10,(%rax,%r9,4),%xmm5,%xmm5
+  .byte  196,161,122,16,52,144               // vmovss        (%rax,%r10,4),%xmm6
+  .byte  196,227,81,33,238,32                // vinsertps     $0x20,%xmm6,%xmm5,%xmm5
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,52,128               // vmovss        (%rax,%r8,4),%xmm6
+  .byte  196,227,81,33,238,48                // vinsertps     $0x30,%xmm6,%xmm5,%xmm5
+  .byte  196,227,85,24,235,1                 // vinsertf128   $0x1,%xmm3,%ymm5,%ymm5
+  .byte  196,193,121,254,194                 // vpaddd        %xmm10,%xmm0,%xmm0
+  .byte  196,195,249,22,192,1                // vpextrq       $0x1,%xmm0,%r8
+  .byte  196,193,249,126,193                 // vmovq         %xmm0,%r9
+  .byte  196,193,113,254,194                 // vpaddd        %xmm10,%xmm1,%xmm0
+  .byte  196,195,249,22,194,1                // vpextrq       $0x1,%xmm0,%r10
+  .byte  196,225,249,126,195                 // vmovq         %xmm0,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,4,152                // vmovss        (%rax,%r11,4),%xmm0
+  .byte  196,227,121,33,4,152,16             // vinsertps     $0x10,(%rax,%rbx,4),%xmm0,%xmm0
+  .byte  196,161,122,16,12,176               // vmovss        (%rax,%r14,4),%xmm1
+  .byte  196,227,121,33,193,32               // vinsertps     $0x20,%xmm1,%xmm0,%xmm0
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,12,144               // vmovss        (%rax,%r10,4),%xmm1
+  .byte  196,227,121,33,193,48               // vinsertps     $0x30,%xmm1,%xmm0,%xmm0
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,12,152                   // vmovss        (%rax,%rbx,4),%xmm1
+  .byte  196,163,113,33,12,136,16            // vinsertps     $0x10,(%rax,%r9,4),%xmm1,%xmm1
+  .byte  196,161,122,16,28,144               // vmovss        (%rax,%r10,4),%xmm3
+  .byte  196,227,113,33,203,32               // vinsertps     $0x20,%xmm3,%xmm1,%xmm1
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,28,128               // vmovss        (%rax,%r8,4),%xmm3
+  .byte  196,227,113,33,203,48               // vinsertps     $0x30,%xmm3,%xmm1,%xmm1
+  .byte  196,227,117,24,192,1                // vinsertf128   $0x1,%xmm0,%ymm1,%ymm0
+  .byte  196,193,108,92,206                  // vsubps        %ymm14,%ymm2,%ymm1
+  .byte  197,252,16,148,36,128,1,0,0         // vmovups       0x180(%rsp),%ymm2
+  .byte  197,236,89,201                      // vmulps        %ymm1,%ymm2,%ymm1
+  .byte  197,12,88,241                       // vaddps        %ymm1,%ymm14,%ymm14
+  .byte  197,212,92,207                      // vsubps        %ymm7,%ymm5,%ymm1
+  .byte  197,236,89,201                      // vmulps        %ymm1,%ymm2,%ymm1
+  .byte  197,196,88,201                      // vaddps        %ymm1,%ymm7,%ymm1
+  .byte  197,252,17,140,36,160,0,0,0         // vmovups       %ymm1,0xa0(%rsp)
+  .byte  196,193,124,92,192                  // vsubps        %ymm8,%ymm0,%ymm0
+  .byte  197,236,89,192                      // vmulps        %ymm0,%ymm2,%ymm0
+  .byte  197,60,88,192                       // vaddps        %ymm0,%ymm8,%ymm8
+  .byte  197,129,254,68,36,208               // vpaddd        -0x30(%rsp),%xmm15,%xmm0
+  .byte  197,249,111,12,36                   // vmovdqa       (%rsp),%xmm1
+  .byte  197,241,254,124,36,224              // vpaddd        -0x20(%rsp),%xmm1,%xmm7
+  .byte  197,249,254,204                     // vpaddd        %xmm4,%xmm0,%xmm1
+  .byte  196,194,113,64,201                  // vpmulld       %xmm9,%xmm1,%xmm1
+  .byte  197,121,111,124,36,144              // vmovdqa       -0x70(%rsp),%xmm15
+  .byte  196,193,65,254,215                  // vpaddd        %xmm15,%xmm7,%xmm2
+  .byte  196,194,105,64,209                  // vpmulld       %xmm9,%xmm2,%xmm2
+  .byte  196,193,121,126,209                 // vmovd         %xmm2,%r9d
+  .byte  196,195,121,22,208,1                // vpextrd       $0x1,%xmm2,%r8d
+  .byte  196,195,121,22,210,2                // vpextrd       $0x2,%xmm2,%r10d
+  .byte  196,195,121,22,211,3                // vpextrd       $0x3,%xmm2,%r11d
+  .byte  196,193,121,126,207                 // vmovd         %xmm1,%r15d
+  .byte  196,195,121,22,206,1                // vpextrd       $0x1,%xmm1,%r14d
+  .byte  196,195,121,22,204,2                // vpextrd       $0x2,%xmm1,%r12d
+  .byte  196,227,121,22,203,3                // vpextrd       $0x3,%xmm1,%ebx
+  .byte  196,161,122,16,28,184               // vmovss        (%rax,%r15,4),%xmm3
+  .byte  196,163,97,33,28,176,16             // vinsertps     $0x10,(%rax,%r14,4),%xmm3,%xmm3
+  .byte  196,163,97,33,28,160,32             // vinsertps     $0x20,(%rax,%r12,4),%xmm3,%xmm3
+  .byte  196,227,97,33,28,152,48             // vinsertps     $0x30,(%rax,%rbx,4),%xmm3,%xmm3
+  .byte  196,161,122,16,36,136               // vmovss        (%rax,%r9,4),%xmm4
+  .byte  196,163,89,33,36,128,16             // vinsertps     $0x10,(%rax,%r8,4),%xmm4,%xmm4
+  .byte  196,163,89,33,36,144,32             // vinsertps     $0x20,(%rax,%r10,4),%xmm4,%xmm4
+  .byte  196,163,89,33,36,152,48             // vinsertps     $0x30,(%rax,%r11,4),%xmm4,%xmm4
+  .byte  196,227,93,24,227,1                 // vinsertf128   $0x1,%xmm3,%ymm4,%ymm4
+  .byte  197,209,118,237                     // vpcmpeqd      %xmm5,%xmm5,%xmm5
+  .byte  197,233,250,221                     // vpsubd        %xmm5,%xmm2,%xmm3
+  .byte  196,195,249,22,216,1                // vpextrq       $0x1,%xmm3,%r8
+  .byte  196,193,249,126,217                 // vmovq         %xmm3,%r9
+  .byte  197,241,250,221                     // vpsubd        %xmm5,%xmm1,%xmm3
+  .byte  196,195,249,22,218,1                // vpextrq       $0x1,%xmm3,%r10
+  .byte  196,225,249,126,219                 // vmovq         %xmm3,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,28,152               // vmovss        (%rax,%r11,4),%xmm3
+  .byte  196,227,97,33,28,152,16             // vinsertps     $0x10,(%rax,%rbx,4),%xmm3,%xmm3
+  .byte  196,161,122,16,44,176               // vmovss        (%rax,%r14,4),%xmm5
+  .byte  196,227,97,33,221,32                // vinsertps     $0x20,%xmm5,%xmm3,%xmm3
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,44,144               // vmovss        (%rax,%r10,4),%xmm5
+  .byte  196,227,97,33,221,48                // vinsertps     $0x30,%xmm5,%xmm3,%xmm3
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,44,152                   // vmovss        (%rax,%rbx,4),%xmm5
+  .byte  196,163,81,33,44,136,16             // vinsertps     $0x10,(%rax,%r9,4),%xmm5,%xmm5
+  .byte  196,161,122,16,52,144               // vmovss        (%rax,%r10,4),%xmm6
+  .byte  196,227,81,33,238,32                // vinsertps     $0x20,%xmm6,%xmm5,%xmm5
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,52,128               // vmovss        (%rax,%r8,4),%xmm6
+  .byte  196,227,81,33,238,48                // vinsertps     $0x30,%xmm6,%xmm5,%xmm5
+  .byte  196,227,85,24,235,1                 // vinsertf128   $0x1,%xmm3,%ymm5,%ymm5
+  .byte  196,193,105,254,210                 // vpaddd        %xmm10,%xmm2,%xmm2
+  .byte  196,195,249,22,208,1                // vpextrq       $0x1,%xmm2,%r8
+  .byte  196,193,249,126,209                 // vmovq         %xmm2,%r9
+  .byte  196,193,113,254,202                 // vpaddd        %xmm10,%xmm1,%xmm1
+  .byte  196,195,249,22,202,1                // vpextrq       $0x1,%xmm1,%r10
+  .byte  196,225,249,126,203                 // vmovq         %xmm1,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,12,152               // vmovss        (%rax,%r11,4),%xmm1
+  .byte  196,227,113,33,12,152,16            // vinsertps     $0x10,(%rax,%rbx,4),%xmm1,%xmm1
+  .byte  196,161,122,16,20,176               // vmovss        (%rax,%r14,4),%xmm2
+  .byte  196,227,113,33,202,32               // vinsertps     $0x20,%xmm2,%xmm1,%xmm1
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,20,144               // vmovss        (%rax,%r10,4),%xmm2
+  .byte  196,227,113,33,202,48               // vinsertps     $0x30,%xmm2,%xmm1,%xmm1
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,20,152                   // vmovss        (%rax,%rbx,4),%xmm2
+  .byte  196,163,105,33,20,136,16            // vinsertps     $0x10,(%rax,%r9,4),%xmm2,%xmm2
+  .byte  196,161,122,16,28,144               // vmovss        (%rax,%r10,4),%xmm3
+  .byte  196,227,105,33,211,32               // vinsertps     $0x20,%xmm3,%xmm2,%xmm2
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,28,128               // vmovss        (%rax,%r8,4),%xmm3
+  .byte  196,227,105,33,211,48               // vinsertps     $0x30,%xmm3,%xmm2,%xmm2
+  .byte  196,99,109,24,233,1                 // vinsertf128   $0x1,%xmm1,%ymm2,%ymm13
+  .byte  197,153,254,215                     // vpaddd        %xmm7,%xmm12,%xmm2
+  .byte  197,161,254,192                     // vpaddd        %xmm0,%xmm11,%xmm0
+  .byte  196,65,121,111,227                  // vmovdqa       %xmm11,%xmm12
+  .byte  196,194,121,64,201                  // vpmulld       %xmm9,%xmm0,%xmm1
+  .byte  196,194,105,64,209                  // vpmulld       %xmm9,%xmm2,%xmm2
+  .byte  196,193,121,126,209                 // vmovd         %xmm2,%r9d
+  .byte  196,195,121,22,208,1                // vpextrd       $0x1,%xmm2,%r8d
+  .byte  196,195,121,22,210,2                // vpextrd       $0x2,%xmm2,%r10d
+  .byte  196,195,121,22,211,3                // vpextrd       $0x3,%xmm2,%r11d
+  .byte  196,193,121,126,207                 // vmovd         %xmm1,%r15d
+  .byte  196,195,121,22,206,1                // vpextrd       $0x1,%xmm1,%r14d
+  .byte  196,195,121,22,204,2                // vpextrd       $0x2,%xmm1,%r12d
+  .byte  196,227,121,22,203,3                // vpextrd       $0x3,%xmm1,%ebx
+  .byte  196,161,122,16,4,184                // vmovss        (%rax,%r15,4),%xmm0
+  .byte  196,163,121,33,4,176,16             // vinsertps     $0x10,(%rax,%r14,4),%xmm0,%xmm0
+  .byte  196,163,121,33,4,160,32             // vinsertps     $0x20,(%rax,%r12,4),%xmm0,%xmm0
+  .byte  196,227,121,33,4,152,48             // vinsertps     $0x30,(%rax,%rbx,4),%xmm0,%xmm0
+  .byte  196,161,122,16,28,136               // vmovss        (%rax,%r9,4),%xmm3
+  .byte  196,163,97,33,28,128,16             // vinsertps     $0x10,(%rax,%r8,4),%xmm3,%xmm3
+  .byte  196,163,97,33,28,144,32             // vinsertps     $0x20,(%rax,%r10,4),%xmm3,%xmm3
+  .byte  196,163,97,33,28,152,48             // vinsertps     $0x30,(%rax,%r11,4),%xmm3,%xmm3
+  .byte  196,227,101,24,192,1                // vinsertf128   $0x1,%xmm0,%ymm3,%ymm0
+  .byte  197,201,118,246                     // vpcmpeqd      %xmm6,%xmm6,%xmm6
+  .byte  197,233,250,222                     // vpsubd        %xmm6,%xmm2,%xmm3
+  .byte  196,195,249,22,216,1                // vpextrq       $0x1,%xmm3,%r8
+  .byte  196,193,249,126,217                 // vmovq         %xmm3,%r9
+  .byte  197,241,250,222                     // vpsubd        %xmm6,%xmm1,%xmm3
+  .byte  196,195,249,22,218,1                // vpextrq       $0x1,%xmm3,%r10
+  .byte  196,225,249,126,219                 // vmovq         %xmm3,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,28,152               // vmovss        (%rax,%r11,4),%xmm3
+  .byte  196,227,97,33,28,152,16             // vinsertps     $0x10,(%rax,%rbx,4),%xmm3,%xmm3
+  .byte  196,161,122,16,52,176               // vmovss        (%rax,%r14,4),%xmm6
+  .byte  196,227,97,33,222,32                // vinsertps     $0x20,%xmm6,%xmm3,%xmm3
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,52,144               // vmovss        (%rax,%r10,4),%xmm6
+  .byte  196,227,97,33,222,48                // vinsertps     $0x30,%xmm6,%xmm3,%xmm3
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,52,152                   // vmovss        (%rax,%rbx,4),%xmm6
+  .byte  196,163,73,33,52,136,16             // vinsertps     $0x10,(%rax,%r9,4),%xmm6,%xmm6
+  .byte  196,161,122,16,60,144               // vmovss        (%rax,%r10,4),%xmm7
+  .byte  196,227,73,33,247,32                // vinsertps     $0x20,%xmm7,%xmm6,%xmm6
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,60,128               // vmovss        (%rax,%r8,4),%xmm7
+  .byte  196,227,73,33,247,48                // vinsertps     $0x30,%xmm7,%xmm6,%xmm6
+  .byte  196,227,77,24,243,1                 // vinsertf128   $0x1,%xmm3,%ymm6,%ymm6
+  .byte  196,193,105,254,210                 // vpaddd        %xmm10,%xmm2,%xmm2
+  .byte  196,195,249,22,208,1                // vpextrq       $0x1,%xmm2,%r8
+  .byte  196,193,249,126,209                 // vmovq         %xmm2,%r9
+  .byte  196,193,113,254,202                 // vpaddd        %xmm10,%xmm1,%xmm1
+  .byte  196,195,249,22,202,1                // vpextrq       $0x1,%xmm1,%r10
+  .byte  196,225,249,126,203                 // vmovq         %xmm1,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,12,152               // vmovss        (%rax,%r11,4),%xmm1
+  .byte  196,227,113,33,12,152,16            // vinsertps     $0x10,(%rax,%rbx,4),%xmm1,%xmm1
+  .byte  196,161,122,16,20,176               // vmovss        (%rax,%r14,4),%xmm2
+  .byte  196,227,113,33,202,32               // vinsertps     $0x20,%xmm2,%xmm1,%xmm1
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,20,144               // vmovss        (%rax,%r10,4),%xmm2
+  .byte  196,227,113,33,202,48               // vinsertps     $0x30,%xmm2,%xmm1,%xmm1
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,20,152                   // vmovss        (%rax,%rbx,4),%xmm2
+  .byte  196,163,105,33,20,136,16            // vinsertps     $0x10,(%rax,%r9,4),%xmm2,%xmm2
+  .byte  196,161,122,16,28,144               // vmovss        (%rax,%r10,4),%xmm3
+  .byte  196,227,105,33,211,32               // vinsertps     $0x20,%xmm3,%xmm2,%xmm2
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,28,128               // vmovss        (%rax,%r8,4),%xmm3
+  .byte  196,227,105,33,211,48               // vinsertps     $0x30,%xmm3,%xmm2,%xmm2
+  .byte  196,227,109,24,201,1                // vinsertf128   $0x1,%xmm1,%ymm2,%ymm1
+  .byte  197,252,92,196                      // vsubps        %ymm4,%ymm0,%ymm0
+  .byte  197,252,16,156,36,128,1,0,0         // vmovups       0x180(%rsp),%ymm3
+  .byte  197,228,89,192                      // vmulps        %ymm0,%ymm3,%ymm0
+  .byte  197,220,88,192                      // vaddps        %ymm0,%ymm4,%ymm0
+  .byte  197,204,92,213                      // vsubps        %ymm5,%ymm6,%ymm2
+  .byte  197,228,89,210                      // vmulps        %ymm2,%ymm3,%ymm2
+  .byte  197,212,88,210                      // vaddps        %ymm2,%ymm5,%ymm2
+  .byte  196,193,116,92,205                  // vsubps        %ymm13,%ymm1,%ymm1
+  .byte  197,228,89,201                      // vmulps        %ymm1,%ymm3,%ymm1
+  .byte  197,148,88,201                      // vaddps        %ymm1,%ymm13,%ymm1
+  .byte  196,193,124,92,198                  // vsubps        %ymm14,%ymm0,%ymm0
+  .byte  197,252,16,156,36,192,0,0,0         // vmovups       0xc0(%rsp),%ymm3
+  .byte  197,228,89,192                      // vmulps        %ymm0,%ymm3,%ymm0
+  .byte  197,140,88,192                      // vaddps        %ymm0,%ymm14,%ymm0
+  .byte  197,252,17,4,36                     // vmovups       %ymm0,(%rsp)
+  .byte  197,252,16,164,36,160,0,0,0         // vmovups       0xa0(%rsp),%ymm4
+  .byte  197,236,92,196                      // vsubps        %ymm4,%ymm2,%ymm0
+  .byte  197,228,89,192                      // vmulps        %ymm0,%ymm3,%ymm0
+  .byte  197,220,88,192                      // vaddps        %ymm0,%ymm4,%ymm0
+  .byte  197,252,17,132,36,160,0,0,0         // vmovups       %ymm0,0xa0(%rsp)
+  .byte  196,193,116,92,192                  // vsubps        %ymm8,%ymm1,%ymm0
+  .byte  197,228,89,192                      // vmulps        %ymm0,%ymm3,%ymm0
+  .byte  197,188,88,192                      // vaddps        %ymm0,%ymm8,%ymm0
+  .byte  197,252,17,132,36,96,1,0,0          // vmovups       %ymm0,0x160(%rsp)
+  .byte  197,254,111,68,36,64                // vmovdqu       0x40(%rsp),%ymm0
+  .byte  197,121,254,116,36,192              // vpaddd        -0x40(%rsp),%xmm0,%xmm14
+  .byte  197,249,111,68,36,32                // vmovdqa       0x20(%rsp),%xmm0
+  .byte  197,121,254,172,36,32,1,0,0         // vpaddd        0x120(%rsp),%xmm0,%xmm13
+  .byte  197,145,254,188,36,224,0,0,0        // vpaddd        0xe0(%rsp),%xmm13,%xmm7
+  .byte  197,137,254,108,36,240              // vpaddd        -0x10(%rsp),%xmm14,%xmm5
+  .byte  197,193,254,76,36,128               // vpaddd        -0x80(%rsp),%xmm7,%xmm1
+  .byte  196,194,113,64,209                  // vpmulld       %xmm9,%xmm1,%xmm2
+  .byte  196,193,81,254,207                  // vpaddd        %xmm15,%xmm5,%xmm1
+  .byte  196,194,113,64,225                  // vpmulld       %xmm9,%xmm1,%xmm4
+  .byte  196,193,121,126,225                 // vmovd         %xmm4,%r9d
+  .byte  196,195,121,22,224,1                // vpextrd       $0x1,%xmm4,%r8d
+  .byte  196,195,121,22,226,2                // vpextrd       $0x2,%xmm4,%r10d
+  .byte  196,195,121,22,227,3                // vpextrd       $0x3,%xmm4,%r11d
+  .byte  196,193,121,126,215                 // vmovd         %xmm2,%r15d
+  .byte  196,195,121,22,214,1                // vpextrd       $0x1,%xmm2,%r14d
+  .byte  196,195,121,22,212,2                // vpextrd       $0x2,%xmm2,%r12d
+  .byte  196,227,121,22,211,3                // vpextrd       $0x3,%xmm2,%ebx
+  .byte  196,161,122,16,12,184               // vmovss        (%rax,%r15,4),%xmm1
+  .byte  196,163,113,33,12,176,16            // vinsertps     $0x10,(%rax,%r14,4),%xmm1,%xmm1
+  .byte  196,163,113,33,12,160,32            // vinsertps     $0x20,(%rax,%r12,4),%xmm1,%xmm1
+  .byte  196,227,113,33,12,152,48            // vinsertps     $0x30,(%rax,%rbx,4),%xmm1,%xmm1
+  .byte  196,161,122,16,28,136               // vmovss        (%rax,%r9,4),%xmm3
+  .byte  196,163,97,33,28,128,16             // vinsertps     $0x10,(%rax,%r8,4),%xmm3,%xmm3
+  .byte  196,163,97,33,28,144,32             // vinsertps     $0x20,(%rax,%r10,4),%xmm3,%xmm3
+  .byte  196,163,97,33,28,152,48             // vinsertps     $0x30,(%rax,%r11,4),%xmm3,%xmm3
+  .byte  196,227,101,24,217,1                // vinsertf128   $0x1,%xmm1,%ymm3,%ymm3
+  .byte  197,249,118,192                     // vpcmpeqd      %xmm0,%xmm0,%xmm0
+  .byte  197,217,250,200                     // vpsubd        %xmm0,%xmm4,%xmm1
+  .byte  196,195,249,22,200,1                // vpextrq       $0x1,%xmm1,%r8
+  .byte  196,193,249,126,201                 // vmovq         %xmm1,%r9
+  .byte  197,233,250,200                     // vpsubd        %xmm0,%xmm2,%xmm1
+  .byte  196,65,1,118,255                    // vpcmpeqd      %xmm15,%xmm15,%xmm15
+  .byte  196,195,249,22,202,1                // vpextrq       $0x1,%xmm1,%r10
+  .byte  196,225,249,126,203                 // vmovq         %xmm1,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,12,152               // vmovss        (%rax,%r11,4),%xmm1
+  .byte  196,227,113,33,12,152,16            // vinsertps     $0x10,(%rax,%rbx,4),%xmm1,%xmm1
+  .byte  196,161,122,16,52,176               // vmovss        (%rax,%r14,4),%xmm6
+  .byte  196,227,113,33,206,32               // vinsertps     $0x20,%xmm6,%xmm1,%xmm1
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,52,144               // vmovss        (%rax,%r10,4),%xmm6
+  .byte  196,227,113,33,206,48               // vinsertps     $0x30,%xmm6,%xmm1,%xmm1
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,52,152                   // vmovss        (%rax,%rbx,4),%xmm6
+  .byte  196,163,73,33,52,136,16             // vinsertps     $0x10,(%rax,%r9,4),%xmm6,%xmm6
+  .byte  196,161,122,16,4,144                // vmovss        (%rax,%r10,4),%xmm0
+  .byte  196,227,73,33,192,32                // vinsertps     $0x20,%xmm0,%xmm6,%xmm0
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,52,128               // vmovss        (%rax,%r8,4),%xmm6
+  .byte  196,227,121,33,198,48               // vinsertps     $0x30,%xmm6,%xmm0,%xmm0
+  .byte  196,227,125,24,201,1                // vinsertf128   $0x1,%xmm1,%ymm0,%ymm1
+  .byte  196,193,89,254,194                  // vpaddd        %xmm10,%xmm4,%xmm0
+  .byte  196,195,249,22,192,1                // vpextrq       $0x1,%xmm0,%r8
+  .byte  196,193,249,126,193                 // vmovq         %xmm0,%r9
+  .byte  196,193,105,254,194                 // vpaddd        %xmm10,%xmm2,%xmm0
+  .byte  196,195,249,22,194,1                // vpextrq       $0x1,%xmm0,%r10
+  .byte  196,225,249,126,195                 // vmovq         %xmm0,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,4,152                // vmovss        (%rax,%r11,4),%xmm0
+  .byte  196,227,121,33,4,152,16             // vinsertps     $0x10,(%rax,%rbx,4),%xmm0,%xmm0
+  .byte  196,161,122,16,20,176               // vmovss        (%rax,%r14,4),%xmm2
+  .byte  196,227,121,33,194,32               // vinsertps     $0x20,%xmm2,%xmm0,%xmm0
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,20,144               // vmovss        (%rax,%r10,4),%xmm2
+  .byte  196,227,121,33,194,48               // vinsertps     $0x30,%xmm2,%xmm0,%xmm0
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,20,152                   // vmovss        (%rax,%rbx,4),%xmm2
+  .byte  196,163,105,33,20,136,16            // vinsertps     $0x10,(%rax,%r9,4),%xmm2,%xmm2
+  .byte  196,161,122,16,36,144               // vmovss        (%rax,%r10,4),%xmm4
+  .byte  196,227,105,33,212,32               // vinsertps     $0x20,%xmm4,%xmm2,%xmm2
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,36,128               // vmovss        (%rax,%r8,4),%xmm4
+  .byte  196,227,105,33,212,48               // vinsertps     $0x30,%xmm4,%xmm2,%xmm2
+  .byte  196,99,109,24,216,1                 // vinsertf128   $0x1,%xmm0,%ymm2,%ymm11
+  .byte  197,121,111,68,36,160               // vmovdqa       -0x60(%rsp),%xmm8
+  .byte  197,185,254,197                     // vpaddd        %xmm5,%xmm8,%xmm0
+  .byte  197,153,254,215                     // vpaddd        %xmm7,%xmm12,%xmm2
+  .byte  196,194,105,64,233                  // vpmulld       %xmm9,%xmm2,%xmm5
+  .byte  196,194,121,64,225                  // vpmulld       %xmm9,%xmm0,%xmm4
+  .byte  196,193,121,126,225                 // vmovd         %xmm4,%r9d
+  .byte  196,195,121,22,224,1                // vpextrd       $0x1,%xmm4,%r8d
+  .byte  196,195,121,22,226,2                // vpextrd       $0x2,%xmm4,%r10d
+  .byte  196,195,121,22,227,3                // vpextrd       $0x3,%xmm4,%r11d
+  .byte  196,193,121,126,239                 // vmovd         %xmm5,%r15d
+  .byte  196,195,121,22,238,1                // vpextrd       $0x1,%xmm5,%r14d
+  .byte  196,195,121,22,236,2                // vpextrd       $0x2,%xmm5,%r12d
+  .byte  196,227,121,22,235,3                // vpextrd       $0x3,%xmm5,%ebx
+  .byte  196,161,122,16,4,184                // vmovss        (%rax,%r15,4),%xmm0
+  .byte  196,163,121,33,4,176,16             // vinsertps     $0x10,(%rax,%r14,4),%xmm0,%xmm0
+  .byte  196,163,121,33,4,160,32             // vinsertps     $0x20,(%rax,%r12,4),%xmm0,%xmm0
+  .byte  196,227,121,33,4,152,48             // vinsertps     $0x30,(%rax,%rbx,4),%xmm0,%xmm0
+  .byte  196,161,122,16,20,136               // vmovss        (%rax,%r9,4),%xmm2
+  .byte  196,163,105,33,20,128,16            // vinsertps     $0x10,(%rax,%r8,4),%xmm2,%xmm2
+  .byte  196,163,105,33,20,144,32            // vinsertps     $0x20,(%rax,%r10,4),%xmm2,%xmm2
+  .byte  196,163,105,33,20,152,48            // vinsertps     $0x30,(%rax,%r11,4),%xmm2,%xmm2
+  .byte  196,227,109,24,208,1                // vinsertf128   $0x1,%xmm0,%ymm2,%ymm2
+  .byte  196,193,89,250,199                  // vpsubd        %xmm15,%xmm4,%xmm0
+  .byte  196,195,249,22,192,1                // vpextrq       $0x1,%xmm0,%r8
+  .byte  196,193,249,126,193                 // vmovq         %xmm0,%r9
+  .byte  196,193,81,250,199                  // vpsubd        %xmm15,%xmm5,%xmm0
+  .byte  196,195,249,22,194,1                // vpextrq       $0x1,%xmm0,%r10
+  .byte  196,225,249,126,195                 // vmovq         %xmm0,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,4,152                // vmovss        (%rax,%r11,4),%xmm0
+  .byte  196,227,121,33,4,152,16             // vinsertps     $0x10,(%rax,%rbx,4),%xmm0,%xmm0
+  .byte  196,161,122,16,52,176               // vmovss        (%rax,%r14,4),%xmm6
+  .byte  196,227,121,33,198,32               // vinsertps     $0x20,%xmm6,%xmm0,%xmm0
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,52,144               // vmovss        (%rax,%r10,4),%xmm6
+  .byte  196,227,121,33,198,48               // vinsertps     $0x30,%xmm6,%xmm0,%xmm0
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,52,152                   // vmovss        (%rax,%rbx,4),%xmm6
+  .byte  196,163,73,33,52,136,16             // vinsertps     $0x10,(%rax,%r9,4),%xmm6,%xmm6
+  .byte  196,161,122,16,60,144               // vmovss        (%rax,%r10,4),%xmm7
+  .byte  196,227,73,33,247,32                // vinsertps     $0x20,%xmm7,%xmm6,%xmm6
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,60,128               // vmovss        (%rax,%r8,4),%xmm7
+  .byte  196,227,73,33,247,48                // vinsertps     $0x30,%xmm7,%xmm6,%xmm6
+  .byte  196,227,77,24,240,1                 // vinsertf128   $0x1,%xmm0,%ymm6,%ymm6
+  .byte  196,193,89,254,194                  // vpaddd        %xmm10,%xmm4,%xmm0
+  .byte  196,195,249,22,192,1                // vpextrq       $0x1,%xmm0,%r8
+  .byte  196,193,249,126,193                 // vmovq         %xmm0,%r9
+  .byte  196,193,81,254,194                  // vpaddd        %xmm10,%xmm5,%xmm0
+  .byte  196,195,249,22,194,1                // vpextrq       $0x1,%xmm0,%r10
+  .byte  196,225,249,126,195                 // vmovq         %xmm0,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,4,152                // vmovss        (%rax,%r11,4),%xmm0
+  .byte  196,227,121,33,4,152,16             // vinsertps     $0x10,(%rax,%rbx,4),%xmm0,%xmm0
+  .byte  196,161,122,16,36,176               // vmovss        (%rax,%r14,4),%xmm4
+  .byte  196,227,121,33,196,32               // vinsertps     $0x20,%xmm4,%xmm0,%xmm0
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,36,144               // vmovss        (%rax,%r10,4),%xmm4
+  .byte  196,227,121,33,196,48               // vinsertps     $0x30,%xmm4,%xmm0,%xmm0
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,36,152                   // vmovss        (%rax,%rbx,4),%xmm4
+  .byte  196,163,89,33,36,136,16             // vinsertps     $0x10,(%rax,%r9,4),%xmm4,%xmm4
+  .byte  196,161,122,16,44,144               // vmovss        (%rax,%r10,4),%xmm5
+  .byte  196,227,89,33,229,32                // vinsertps     $0x20,%xmm5,%xmm4,%xmm4
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,44,128               // vmovss        (%rax,%r8,4),%xmm5
+  .byte  196,227,89,33,229,48                // vinsertps     $0x30,%xmm5,%xmm4,%xmm4
+  .byte  196,227,93,24,192,1                 // vinsertf128   $0x1,%xmm0,%ymm4,%ymm0
+  .byte  197,236,92,211                      // vsubps        %ymm3,%ymm2,%ymm2
+  .byte  197,252,16,164,36,128,1,0,0         // vmovups       0x180(%rsp),%ymm4
+  .byte  197,220,89,210                      // vmulps        %ymm2,%ymm4,%ymm2
+  .byte  197,228,88,210                      // vaddps        %ymm2,%ymm3,%ymm2
+  .byte  197,252,17,148,36,224,0,0,0         // vmovups       %ymm2,0xe0(%rsp)
+  .byte  197,204,92,209                      // vsubps        %ymm1,%ymm6,%ymm2
+  .byte  197,220,89,210                      // vmulps        %ymm2,%ymm4,%ymm2
+  .byte  197,116,88,250                      // vaddps        %ymm2,%ymm1,%ymm15
+  .byte  196,193,124,92,195                  // vsubps        %ymm11,%ymm0,%ymm0
+  .byte  197,220,89,192                      // vmulps        %ymm0,%ymm4,%ymm0
+  .byte  197,124,40,228                      // vmovaps       %ymm4,%ymm12
+  .byte  197,36,88,216                       // vaddps        %ymm0,%ymm11,%ymm11
+  .byte  197,145,254,124,36,208              // vpaddd        -0x30(%rsp),%xmm13,%xmm7
+  .byte  197,137,254,68,36,224               // vpaddd        -0x20(%rsp),%xmm14,%xmm0
+  .byte  197,249,254,76,36,144               // vpaddd        -0x70(%rsp),%xmm0,%xmm1
+  .byte  197,193,254,84,36,128               // vpaddd        -0x80(%rsp),%xmm7,%xmm2
+  .byte  196,66,105,64,241                   // vpmulld       %xmm9,%xmm2,%xmm14
+  .byte  196,194,113,64,209                  // vpmulld       %xmm9,%xmm1,%xmm2
+  .byte  196,193,121,126,209                 // vmovd         %xmm2,%r9d
+  .byte  196,195,121,22,208,1                // vpextrd       $0x1,%xmm2,%r8d
+  .byte  196,195,121,22,210,2                // vpextrd       $0x2,%xmm2,%r10d
+  .byte  196,195,121,22,211,3                // vpextrd       $0x3,%xmm2,%r11d
+  .byte  196,65,121,126,247                  // vmovd         %xmm14,%r15d
+  .byte  196,67,121,22,246,1                 // vpextrd       $0x1,%xmm14,%r14d
+  .byte  196,67,121,22,244,2                 // vpextrd       $0x2,%xmm14,%r12d
+  .byte  196,99,121,22,243,3                 // vpextrd       $0x3,%xmm14,%ebx
+  .byte  196,161,122,16,12,184               // vmovss        (%rax,%r15,4),%xmm1
+  .byte  196,163,113,33,12,176,16            // vinsertps     $0x10,(%rax,%r14,4),%xmm1,%xmm1
+  .byte  196,163,113,33,12,160,32            // vinsertps     $0x20,(%rax,%r12,4),%xmm1,%xmm1
+  .byte  196,227,113,33,12,152,48            // vinsertps     $0x30,(%rax,%rbx,4),%xmm1,%xmm1
+  .byte  196,161,122,16,28,136               // vmovss        (%rax,%r9,4),%xmm3
+  .byte  196,163,97,33,28,128,16             // vinsertps     $0x10,(%rax,%r8,4),%xmm3,%xmm3
+  .byte  196,163,97,33,28,144,32             // vinsertps     $0x20,(%rax,%r10,4),%xmm3,%xmm3
+  .byte  196,163,97,33,28,152,48             // vinsertps     $0x30,(%rax,%r11,4),%xmm3,%xmm3
+  .byte  196,227,101,24,201,1                // vinsertf128   $0x1,%xmm1,%ymm3,%ymm1
+  .byte  197,217,118,228                     // vpcmpeqd      %xmm4,%xmm4,%xmm4
+  .byte  197,233,250,220                     // vpsubd        %xmm4,%xmm2,%xmm3
+  .byte  196,195,249,22,216,1                // vpextrq       $0x1,%xmm3,%r8
+  .byte  196,193,249,126,217                 // vmovq         %xmm3,%r9
+  .byte  197,137,250,220                     // vpsubd        %xmm4,%xmm14,%xmm3
+  .byte  197,201,118,246                     // vpcmpeqd      %xmm6,%xmm6,%xmm6
+  .byte  196,195,249,22,218,1                // vpextrq       $0x1,%xmm3,%r10
+  .byte  196,225,249,126,219                 // vmovq         %xmm3,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,28,152               // vmovss        (%rax,%r11,4),%xmm3
+  .byte  196,227,97,33,28,152,16             // vinsertps     $0x10,(%rax,%rbx,4),%xmm3,%xmm3
+  .byte  196,161,122,16,44,176               // vmovss        (%rax,%r14,4),%xmm5
+  .byte  196,227,97,33,221,32                // vinsertps     $0x20,%xmm5,%xmm3,%xmm3
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,44,144               // vmovss        (%rax,%r10,4),%xmm5
+  .byte  196,227,97,33,221,48                // vinsertps     $0x30,%xmm5,%xmm3,%xmm3
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,44,152                   // vmovss        (%rax,%rbx,4),%xmm5
+  .byte  196,163,81,33,44,136,16             // vinsertps     $0x10,(%rax,%r9,4),%xmm5,%xmm5
+  .byte  196,161,122,16,36,144               // vmovss        (%rax,%r10,4),%xmm4
+  .byte  196,227,81,33,228,32                // vinsertps     $0x20,%xmm4,%xmm5,%xmm4
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,44,128               // vmovss        (%rax,%r8,4),%xmm5
+  .byte  196,227,89,33,229,48                // vinsertps     $0x30,%xmm5,%xmm4,%xmm4
+  .byte  196,227,93,24,235,1                 // vinsertf128   $0x1,%xmm3,%ymm4,%ymm5
+  .byte  196,193,105,254,210                 // vpaddd        %xmm10,%xmm2,%xmm2
+  .byte  196,195,249,22,208,1                // vpextrq       $0x1,%xmm2,%r8
+  .byte  196,193,249,126,209                 // vmovq         %xmm2,%r9
+  .byte  196,193,9,254,210                   // vpaddd        %xmm10,%xmm14,%xmm2
+  .byte  196,195,249,22,210,1                // vpextrq       $0x1,%xmm2,%r10
+  .byte  196,225,249,126,211                 // vmovq         %xmm2,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,20,152               // vmovss        (%rax,%r11,4),%xmm2
+  .byte  196,227,105,33,20,152,16            // vinsertps     $0x10,(%rax,%rbx,4),%xmm2,%xmm2
+  .byte  196,161,122,16,28,176               // vmovss        (%rax,%r14,4),%xmm3
+  .byte  196,227,105,33,211,32               // vinsertps     $0x20,%xmm3,%xmm2,%xmm2
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,28,144               // vmovss        (%rax,%r10,4),%xmm3
+  .byte  196,227,105,33,211,48               // vinsertps     $0x30,%xmm3,%xmm2,%xmm2
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,28,152                   // vmovss        (%rax,%rbx,4),%xmm3
+  .byte  196,163,97,33,28,136,16             // vinsertps     $0x10,(%rax,%r9,4),%xmm3,%xmm3
+  .byte  196,161,122,16,36,144               // vmovss        (%rax,%r10,4),%xmm4
+  .byte  196,227,97,33,220,32                // vinsertps     $0x20,%xmm4,%xmm3,%xmm3
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,36,128               // vmovss        (%rax,%r8,4),%xmm4
+  .byte  196,227,97,33,220,48                // vinsertps     $0x30,%xmm4,%xmm3,%xmm3
+  .byte  196,99,101,24,242,1                 // vinsertf128   $0x1,%xmm2,%ymm3,%ymm14
+  .byte  197,185,254,192                     // vpaddd        %xmm0,%xmm8,%xmm0
+  .byte  197,193,254,84,36,176               // vpaddd        -0x50(%rsp),%xmm7,%xmm2
+  .byte  196,194,105,64,209                  // vpmulld       %xmm9,%xmm2,%xmm2
+  .byte  196,194,121,64,217                  // vpmulld       %xmm9,%xmm0,%xmm3
+  .byte  196,193,121,126,217                 // vmovd         %xmm3,%r9d
+  .byte  196,195,121,22,216,1                // vpextrd       $0x1,%xmm3,%r8d
+  .byte  196,195,121,22,218,2                // vpextrd       $0x2,%xmm3,%r10d
+  .byte  196,195,121,22,219,3                // vpextrd       $0x3,%xmm3,%r11d
+  .byte  196,193,121,126,215                 // vmovd         %xmm2,%r15d
+  .byte  196,195,121,22,214,1                // vpextrd       $0x1,%xmm2,%r14d
+  .byte  196,195,121,22,212,2                // vpextrd       $0x2,%xmm2,%r12d
+  .byte  196,227,121,22,211,3                // vpextrd       $0x3,%xmm2,%ebx
+  .byte  196,161,122,16,4,184                // vmovss        (%rax,%r15,4),%xmm0
+  .byte  196,163,121,33,4,176,16             // vinsertps     $0x10,(%rax,%r14,4),%xmm0,%xmm0
+  .byte  196,163,121,33,4,160,32             // vinsertps     $0x20,(%rax,%r12,4),%xmm0,%xmm0
+  .byte  196,227,121,33,4,152,48             // vinsertps     $0x30,(%rax,%rbx,4),%xmm0,%xmm0
+  .byte  196,161,122,16,36,136               // vmovss        (%rax,%r9,4),%xmm4
+  .byte  196,163,89,33,36,128,16             // vinsertps     $0x10,(%rax,%r8,4),%xmm4,%xmm4
+  .byte  196,163,89,33,36,144,32             // vinsertps     $0x20,(%rax,%r10,4),%xmm4,%xmm4
+  .byte  196,163,89,33,36,152,48             // vinsertps     $0x30,(%rax,%r11,4),%xmm4,%xmm4
+  .byte  196,227,93,24,192,1                 // vinsertf128   $0x1,%xmm0,%ymm4,%ymm0
+  .byte  197,225,250,230                     // vpsubd        %xmm6,%xmm3,%xmm4
+  .byte  196,195,249,22,224,1                // vpextrq       $0x1,%xmm4,%r8
+  .byte  196,193,249,126,225                 // vmovq         %xmm4,%r9
+  .byte  197,233,250,230                     // vpsubd        %xmm6,%xmm2,%xmm4
+  .byte  196,195,249,22,226,1                // vpextrq       $0x1,%xmm4,%r10
+  .byte  196,225,249,126,227                 // vmovq         %xmm4,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,36,152               // vmovss        (%rax,%r11,4),%xmm4
+  .byte  196,227,89,33,36,152,16             // vinsertps     $0x10,(%rax,%rbx,4),%xmm4,%xmm4
+  .byte  196,161,122,16,60,176               // vmovss        (%rax,%r14,4),%xmm7
+  .byte  196,227,89,33,231,32                // vinsertps     $0x20,%xmm7,%xmm4,%xmm4
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,60,144               // vmovss        (%rax,%r10,4),%xmm7
+  .byte  196,227,89,33,231,48                // vinsertps     $0x30,%xmm7,%xmm4,%xmm4
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,60,152                   // vmovss        (%rax,%rbx,4),%xmm7
+  .byte  196,163,65,33,60,136,16             // vinsertps     $0x10,(%rax,%r9,4),%xmm7,%xmm7
+  .byte  196,161,122,16,52,144               // vmovss        (%rax,%r10,4),%xmm6
+  .byte  196,227,65,33,246,32                // vinsertps     $0x20,%xmm6,%xmm7,%xmm6
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,60,128               // vmovss        (%rax,%r8,4),%xmm7
+  .byte  196,227,73,33,247,48                // vinsertps     $0x30,%xmm7,%xmm6,%xmm6
+  .byte  196,227,77,24,252,1                 // vinsertf128   $0x1,%xmm4,%ymm6,%ymm7
+  .byte  196,193,97,254,218                  // vpaddd        %xmm10,%xmm3,%xmm3
+  .byte  196,195,249,22,216,1                // vpextrq       $0x1,%xmm3,%r8
+  .byte  196,193,249,126,217                 // vmovq         %xmm3,%r9
+  .byte  196,193,105,254,210                 // vpaddd        %xmm10,%xmm2,%xmm2
+  .byte  196,195,249,22,210,1                // vpextrq       $0x1,%xmm2,%r10
+  .byte  196,225,249,126,211                 // vmovq         %xmm2,%rbx
+  .byte  65,137,219                          // mov           %ebx,%r11d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  196,161,122,16,20,152               // vmovss        (%rax,%r11,4),%xmm2
+  .byte  196,227,105,33,20,152,16            // vinsertps     $0x10,(%rax,%rbx,4),%xmm2,%xmm2
+  .byte  196,161,122,16,28,176               // vmovss        (%rax,%r14,4),%xmm3
+  .byte  196,227,105,33,211,32               // vinsertps     $0x20,%xmm3,%xmm2,%xmm2
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,161,122,16,28,144               // vmovss        (%rax,%r10,4),%xmm3
+  .byte  196,227,105,33,211,48               // vinsertps     $0x30,%xmm3,%xmm2,%xmm2
+  .byte  68,137,203                          // mov           %r9d,%ebx
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,194                          // mov           %r8d,%r10d
+  .byte  197,250,16,28,152                   // vmovss        (%rax,%rbx,4),%xmm3
+  .byte  196,163,97,33,28,136,16             // vinsertps     $0x10,(%rax,%r9,4),%xmm3,%xmm3
+  .byte  196,161,122,16,36,144               // vmovss        (%rax,%r10,4),%xmm4
+  .byte  196,227,97,33,220,32                // vinsertps     $0x20,%xmm4,%xmm3,%xmm3
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  196,161,122,16,36,128               // vmovss        (%rax,%r8,4),%xmm4
+  .byte  196,227,97,33,220,48                // vinsertps     $0x30,%xmm4,%xmm3,%xmm3
+  .byte  196,227,101,24,210,1                // vinsertf128   $0x1,%xmm2,%ymm3,%ymm2
+  .byte  197,252,92,193                      // vsubps        %ymm1,%ymm0,%ymm0
+  .byte  197,156,89,192                      // vmulps        %ymm0,%ymm12,%ymm0
+  .byte  197,244,88,192                      // vaddps        %ymm0,%ymm1,%ymm0
+  .byte  197,196,92,205                      // vsubps        %ymm5,%ymm7,%ymm1
+  .byte  197,156,89,201                      // vmulps        %ymm1,%ymm12,%ymm1
+  .byte  197,212,88,201                      // vaddps        %ymm1,%ymm5,%ymm1
+  .byte  196,193,108,92,214                  // vsubps        %ymm14,%ymm2,%ymm2
+  .byte  197,156,89,210                      // vmulps        %ymm2,%ymm12,%ymm2
+  .byte  197,140,88,210                      // vaddps        %ymm2,%ymm14,%ymm2
+  .byte  197,252,16,164,36,224,0,0,0         // vmovups       0xe0(%rsp),%ymm4
+  .byte  197,252,92,196                      // vsubps        %ymm4,%ymm0,%ymm0
+  .byte  197,252,16,156,36,192,0,0,0         // vmovups       0xc0(%rsp),%ymm3
+  .byte  197,228,89,192                      // vmulps        %ymm0,%ymm3,%ymm0
+  .byte  197,220,88,192                      // vaddps        %ymm0,%ymm4,%ymm0
+  .byte  196,193,116,92,207                  // vsubps        %ymm15,%ymm1,%ymm1
+  .byte  197,228,89,201                      // vmulps        %ymm1,%ymm3,%ymm1
+  .byte  197,132,88,201                      // vaddps        %ymm1,%ymm15,%ymm1
+  .byte  196,193,108,92,211                  // vsubps        %ymm11,%ymm2,%ymm2
+  .byte  197,228,89,210                      // vmulps        %ymm2,%ymm3,%ymm2
+  .byte  197,164,88,210                      // vaddps        %ymm2,%ymm11,%ymm2
+  .byte  197,252,16,36,36                    // vmovups       (%rsp),%ymm4
+  .byte  197,252,92,196                      // vsubps        %ymm4,%ymm0,%ymm0
+  .byte  197,252,16,92,36,96                 // vmovups       0x60(%rsp),%ymm3
+  .byte  197,228,89,192                      // vmulps        %ymm0,%ymm3,%ymm0
+  .byte  197,220,88,192                      // vaddps        %ymm0,%ymm4,%ymm0
+  .byte  197,252,16,164,36,160,0,0,0         // vmovups       0xa0(%rsp),%ymm4
+  .byte  197,244,92,204                      // vsubps        %ymm4,%ymm1,%ymm1
+  .byte  197,228,89,201                      // vmulps        %ymm1,%ymm3,%ymm1
+  .byte  197,220,88,201                      // vaddps        %ymm1,%ymm4,%ymm1
+  .byte  197,252,16,164,36,96,1,0,0          // vmovups       0x160(%rsp),%ymm4
+  .byte  197,236,92,212                      // vsubps        %ymm4,%ymm2,%ymm2
+  .byte  197,228,89,210                      // vmulps        %ymm2,%ymm3,%ymm2
+  .byte  197,220,88,210                      // vaddps        %ymm2,%ymm4,%ymm2
+  .byte  197,252,91,156,36,192,1,0,0         // vcvtdq2ps     0x1c0(%rsp),%ymm3
+  .byte  197,252,16,164,36,224,1,0,0         // vmovups       0x1e0(%rsp),%ymm4
+  .byte  197,220,92,219                      // vsubps        %ymm3,%ymm4,%ymm3
+  .byte  197,252,16,164,36,0,1,0,0           // vmovups       0x100(%rsp),%ymm4
+  .byte  197,252,92,196                      // vsubps        %ymm4,%ymm0,%ymm0
+  .byte  197,228,89,192                      // vmulps        %ymm0,%ymm3,%ymm0
+  .byte  197,220,88,192                      // vaddps        %ymm0,%ymm4,%ymm0
+  .byte  197,252,16,164,36,64,1,0,0          // vmovups       0x140(%rsp),%ymm4
+  .byte  197,244,92,204                      // vsubps        %ymm4,%ymm1,%ymm1
+  .byte  197,228,89,201                      // vmulps        %ymm1,%ymm3,%ymm1
+  .byte  197,220,88,201                      // vaddps        %ymm1,%ymm4,%ymm1
+  .byte  197,252,16,164,36,128,0,0,0         // vmovups       0x80(%rsp),%ymm4
+  .byte  197,236,92,212                      // vsubps        %ymm4,%ymm2,%ymm2
+  .byte  197,228,89,210                      // vmulps        %ymm2,%ymm3,%ymm2
+  .byte  197,220,88,210                      // vaddps        %ymm2,%ymm4,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,29,136,252,1,0       // vbroadcastss  0x1fc88(%rip),%ymm3        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,252,16,164,36,64,2,0,0          // vmovups       0x240(%rsp),%ymm4
+  .byte  197,252,16,172,36,96,2,0,0          // vmovups       0x260(%rsp),%ymm5
+  .byte  197,252,16,180,36,128,2,0,0         // vmovups       0x280(%rsp),%ymm6
+  .byte  197,252,16,188,36,160,2,0,0         // vmovups       0x2a0(%rsp),%ymm7
+  .byte  72,129,196,216,2,0,0                // add           $0x2d8,%rsp
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_gauss_a_to_rgba_avx
+.globl _sk_gauss_a_to_rgba_avx
+FUNCTION(_sk_gauss_a_to_rgba_avx)
+_sk_gauss_a_to_rgba_avx:
+  .byte  196,226,125,24,5,191,253,1,0        // vbroadcastss  0x1fdbf(%rip),%ymm0        # 3c670 <_sk_srcover_bgra_8888_sse2_lowp+0x424>
+  .byte  197,228,89,192                      // vmulps        %ymm0,%ymm3,%ymm0
+  .byte  196,226,125,24,13,182,253,1,0       // vbroadcastss  0x1fdb6(%rip),%ymm1        # 3c674 <_sk_srcover_bgra_8888_sse2_lowp+0x428>
+  .byte  197,252,88,193                      // vaddps        %ymm1,%ymm0,%ymm0
+  .byte  197,252,89,195                      // vmulps        %ymm3,%ymm0,%ymm0
+  .byte  196,226,125,24,13,169,253,1,0       // vbroadcastss  0x1fda9(%rip),%ymm1        # 3c678 <_sk_srcover_bgra_8888_sse2_lowp+0x42c>
+  .byte  197,252,88,193                      // vaddps        %ymm1,%ymm0,%ymm0
+  .byte  197,252,89,195                      // vmulps        %ymm3,%ymm0,%ymm0
+  .byte  196,226,125,24,13,156,253,1,0       // vbroadcastss  0x1fd9c(%rip),%ymm1        # 3c67c <_sk_srcover_bgra_8888_sse2_lowp+0x430>
+  .byte  197,252,88,193                      // vaddps        %ymm1,%ymm0,%ymm0
+  .byte  197,252,89,195                      // vmulps        %ymm3,%ymm0,%ymm0
+  .byte  196,226,125,24,13,143,253,1,0       // vbroadcastss  0x1fd8f(%rip),%ymm1        # 3c680 <_sk_srcover_bgra_8888_sse2_lowp+0x434>
+  .byte  197,252,88,193                      // vaddps        %ymm1,%ymm0,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,40,200                      // vmovaps       %ymm0,%ymm1
+  .byte  197,252,40,208                      // vmovaps       %ymm0,%ymm2
+  .byte  197,252,40,216                      // vmovaps       %ymm0,%ymm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bilerp_clamp_8888_avx
+.globl _sk_bilerp_clamp_8888_avx
+FUNCTION(_sk_bilerp_clamp_8888_avx)
+_sk_bilerp_clamp_8888_avx:
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,129,236,120,1,0,0                // sub           $0x178,%rsp
+  .byte  197,254,127,124,36,32               // vmovdqu       %ymm7,0x20(%rsp)
+  .byte  197,252,17,52,36                    // vmovups       %ymm6,(%rsp)
+  .byte  197,252,17,108,36,224               // vmovups       %ymm5,-0x20(%rsp)
+  .byte  197,252,17,100,36,192               // vmovups       %ymm4,-0x40(%rsp)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,29,195,251,1,0       // vbroadcastss  0x1fbc3(%rip),%ymm3        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  197,252,17,132,36,64,1,0,0          // vmovups       %ymm0,0x140(%rsp)
+  .byte  197,252,88,195                      // vaddps        %ymm3,%ymm0,%ymm0
+  .byte  196,227,125,8,208,1                 // vroundps      $0x1,%ymm0,%ymm2
+  .byte  197,252,92,194                      // vsubps        %ymm2,%ymm0,%ymm0
+  .byte  197,252,17,140,36,192,0,0,0         // vmovups       %ymm1,0xc0(%rsp)
+  .byte  197,244,88,203                      // vaddps        %ymm3,%ymm1,%ymm1
+  .byte  196,227,125,8,209,1                 // vroundps      $0x1,%ymm1,%ymm2
+  .byte  197,244,92,210                      // vsubps        %ymm2,%ymm1,%ymm2
+  .byte  196,226,125,24,13,144,251,1,0       // vbroadcastss  0x1fb90(%rip),%ymm1        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,252,17,132,36,32,1,0,0          // vmovups       %ymm0,0x120(%rsp)
+  .byte  197,244,92,192                      // vsubps        %ymm0,%ymm1,%ymm0
+  .byte  197,252,17,132,36,224,0,0,0         // vmovups       %ymm0,0xe0(%rsp)
+  .byte  197,252,17,148,36,160,0,0,0         // vmovups       %ymm2,0xa0(%rsp)
+  .byte  197,244,92,194                      // vsubps        %ymm2,%ymm1,%ymm0
+  .byte  197,252,17,68,36,64                 // vmovups       %ymm0,0x40(%rsp)
+  .byte  196,226,125,24,72,12                // vbroadcastss  0xc(%rax),%ymm1
+  .byte  196,227,125,25,202,1                // vextractf128  $0x1,%ymm1,%xmm2
+  .byte  197,225,118,219                     // vpcmpeqd      %xmm3,%xmm3,%xmm3
+  .byte  197,233,254,211                     // vpaddd        %xmm3,%xmm2,%xmm2
+  .byte  197,241,254,203                     // vpaddd        %xmm3,%xmm1,%xmm1
+  .byte  196,227,117,24,194,1                // vinsertf128   $0x1,%xmm2,%ymm1,%ymm0
+  .byte  197,252,17,132,36,0,1,0,0           // vmovups       %ymm0,0x100(%rsp)
+  .byte  196,226,125,24,72,16                // vbroadcastss  0x10(%rax),%ymm1
+  .byte  196,227,125,25,202,1                // vextractf128  $0x1,%ymm1,%xmm2
+  .byte  197,233,254,211                     // vpaddd        %xmm3,%xmm2,%xmm2
+  .byte  197,241,254,203                     // vpaddd        %xmm3,%xmm1,%xmm1
+  .byte  196,227,117,24,194,1                // vinsertf128   $0x1,%xmm2,%ymm1,%ymm0
+  .byte  197,252,17,132,36,128,0,0,0         // vmovups       %ymm0,0x80(%rsp)
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  196,226,125,24,64,8                 // vbroadcastss  0x8(%rax),%ymm0
+  .byte  197,252,17,68,36,96                 // vmovups       %ymm0,0x60(%rsp)
+  .byte  197,250,16,5,90,252,1,0             // vmovss        0x1fc5a(%rip),%xmm0        # 3c650 <_sk_srcover_bgra_8888_sse2_lowp+0x404>
+  .byte  197,124,40,53,2,2,2,0               // vmovaps       0x20202(%rip),%ymm14        # 3cc00 <_sk_srcover_bgra_8888_sse2_lowp+0x9b4>
+  .byte  196,98,125,24,45,109,251,1,0        // vbroadcastss  0x1fb6d(%rip),%ymm13        # 3c574 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
+  .byte  197,248,40,224                      // vmovaps       %xmm0,%xmm4
+  .byte  196,227,121,4,204,0                 // vpermilps     $0x0,%xmm4,%xmm1
+  .byte  196,227,117,24,201,1                // vinsertf128   $0x1,%xmm1,%ymm1,%ymm1
+  .byte  197,244,88,140,36,192,0,0,0         // vaddps        0xc0(%rsp),%ymm1,%ymm1
+  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
+  .byte  197,252,95,201                      // vmaxps        %ymm1,%ymm0,%ymm1
+  .byte  197,248,41,100,36,144               // vmovaps       %xmm4,-0x70(%rsp)
+  .byte  197,248,46,37,68,252,1,0            // vucomiss      0x1fc44(%rip),%xmm4        # 3c68c <_sk_srcover_bgra_8888_sse2_lowp+0x440>
+  .byte  197,252,16,132,36,160,0,0,0         // vmovups       0xa0(%rsp),%ymm0
+  .byte  197,252,17,68,36,160                // vmovups       %ymm0,-0x60(%rsp)
+  .byte  119,12                              // ja            1ca65 <_sk_bilerp_clamp_8888_avx+0x160>
+  .byte  197,252,16,68,36,64                 // vmovups       0x40(%rsp),%ymm0
+  .byte  197,252,17,68,36,160                // vmovups       %ymm0,-0x60(%rsp)
+  .byte  197,244,93,140,36,128,0,0,0         // vminps        0x80(%rsp),%ymm1,%ymm1
+  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
+  .byte  196,227,125,25,205,1                // vextractf128  $0x1,%ymm1,%xmm5
+  .byte  197,254,111,68,36,96                // vmovdqu       0x60(%rsp),%ymm0
+  .byte  196,227,125,25,198,1                // vextractf128  $0x1,%ymm0,%xmm6
+  .byte  196,226,73,64,237                   // vpmulld       %xmm5,%xmm6,%xmm5
+  .byte  196,226,121,64,201                  // vpmulld       %xmm1,%xmm0,%xmm1
+  .byte  196,99,117,24,253,1                 // vinsertf128   $0x1,%xmm5,%ymm1,%ymm15
+  .byte  197,122,16,37,180,251,1,0           // vmovss        0x1fbb4(%rip),%xmm12        # 3c650 <_sk_srcover_bgra_8888_sse2_lowp+0x404>
+  .byte  196,195,121,4,204,0                 // vpermilps     $0x0,%xmm12,%xmm1
+  .byte  196,227,117,24,201,1                // vinsertf128   $0x1,%xmm1,%ymm1,%ymm1
+  .byte  197,244,88,140,36,64,1,0,0          // vaddps        0x140(%rsp),%ymm1,%ymm1
+  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
+  .byte  197,252,95,201                      // vmaxps        %ymm1,%ymm0,%ymm1
+  .byte  197,244,93,140,36,0,1,0,0           // vminps        0x100(%rsp),%ymm1,%ymm1
+  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
+  .byte  196,227,125,25,205,1                // vextractf128  $0x1,%ymm1,%xmm5
+  .byte  196,99,125,25,254,1                 // vextractf128  $0x1,%ymm15,%xmm6
+  .byte  197,201,254,237                     // vpaddd        %xmm5,%xmm6,%xmm5
+  .byte  196,227,249,22,232,1                // vpextrq       $0x1,%xmm5,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  196,193,249,126,234                 // vmovq         %xmm5,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  197,129,254,201                     // vpaddd        %xmm1,%xmm15,%xmm1
+  .byte  196,227,249,22,203,1                // vpextrq       $0x1,%xmm1,%rbx
+  .byte  65,137,222                          // mov           %ebx,%r14d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  196,193,249,126,207                 // vmovq         %xmm1,%r15
+  .byte  69,137,252                          // mov           %r15d,%r12d
+  .byte  73,193,239,32                       // shr           $0x20,%r15
+  .byte  196,129,121,110,12,160              // vmovd         (%r8,%r12,4),%xmm1
+  .byte  196,131,113,34,12,184,1             // vpinsrd       $0x1,(%r8,%r15,4),%xmm1,%xmm1
+  .byte  196,131,113,34,12,176,2             // vpinsrd       $0x2,(%r8,%r14,4),%xmm1,%xmm1
+  .byte  196,195,113,34,12,152,3             // vpinsrd       $0x3,(%r8,%rbx,4),%xmm1,%xmm1
+  .byte  196,129,121,110,44,152              // vmovd         (%r8,%r11,4),%xmm5
+  .byte  196,131,81,34,44,144,1              // vpinsrd       $0x1,(%r8,%r10,4),%xmm5,%xmm5
+  .byte  196,131,81,34,44,136,2              // vpinsrd       $0x2,(%r8,%r9,4),%xmm5,%xmm5
+  .byte  196,195,81,34,4,128,3               // vpinsrd       $0x3,(%r8,%rax,4),%xmm5,%xmm0
+  .byte  196,227,117,24,232,1                // vinsertf128   $0x1,%xmm0,%ymm1,%ymm5
+  .byte  196,193,84,84,238                   // vandps        %ymm14,%ymm5,%ymm5
+  .byte  197,252,91,237                      // vcvtdq2ps     %ymm5,%ymm5
+  .byte  196,193,84,89,245                   // vmulps        %ymm13,%ymm5,%ymm6
+  .byte  197,209,114,209,8                   // vpsrld        $0x8,%xmm1,%xmm5
+  .byte  197,217,114,208,8                   // vpsrld        $0x8,%xmm0,%xmm4
+  .byte  196,227,85,24,228,1                 // vinsertf128   $0x1,%xmm4,%ymm5,%ymm4
+  .byte  196,193,92,84,230                   // vandps        %ymm14,%ymm4,%ymm4
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  196,193,92,89,237                   // vmulps        %ymm13,%ymm4,%ymm5
+  .byte  197,217,114,209,16                  // vpsrld        $0x10,%xmm1,%xmm4
+  .byte  197,193,114,208,16                  // vpsrld        $0x10,%xmm0,%xmm7
+  .byte  196,227,93,24,231,1                 // vinsertf128   $0x1,%xmm7,%ymm4,%ymm4
+  .byte  196,193,92,84,230                   // vandps        %ymm14,%ymm4,%ymm4
+  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
+  .byte  196,65,92,89,221                    // vmulps        %ymm13,%ymm4,%ymm11
+  .byte  197,241,114,209,24                  // vpsrld        $0x18,%xmm1,%xmm1
+  .byte  197,249,114,208,24                  // vpsrld        $0x18,%xmm0,%xmm0
+  .byte  196,227,117,24,192,1                // vinsertf128   $0x1,%xmm0,%ymm1,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  196,193,124,89,205                  // vmulps        %ymm13,%ymm0,%ymm1
+  .byte  197,120,46,37,217,250,1,0           // vucomiss      0x1fad9(%rip),%xmm12        # 3c68c <_sk_srcover_bgra_8888_sse2_lowp+0x440>
+  .byte  197,124,16,148,36,32,1,0,0          // vmovups       0x120(%rsp),%ymm10
+  .byte  119,9                               // ja            1cbc7 <_sk_bilerp_clamp_8888_avx+0x2c2>
+  .byte  197,124,16,148,36,224,0,0,0         // vmovups       0xe0(%rsp),%ymm10
+  .byte  197,172,89,68,36,160                // vmulps        -0x60(%rsp),%ymm10,%ymm0
+  .byte  197,252,89,230                      // vmulps        %ymm6,%ymm0,%ymm4
+  .byte  197,52,88,204                       // vaddps        %ymm4,%ymm9,%ymm9
+  .byte  197,252,89,229                      // vmulps        %ymm5,%ymm0,%ymm4
+  .byte  197,60,88,196                       // vaddps        %ymm4,%ymm8,%ymm8
+  .byte  196,193,124,89,227                  // vmulps        %ymm11,%ymm0,%ymm4
+  .byte  197,236,88,212                      // vaddps        %ymm4,%ymm2,%ymm2
+  .byte  197,252,89,193                      // vmulps        %ymm1,%ymm0,%ymm0
+  .byte  197,228,88,216                      // vaddps        %ymm0,%ymm3,%ymm3
+  .byte  197,26,88,37,6,249,1,0              // vaddss        0x1f906(%rip),%xmm12,%xmm12        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,250,16,5,250,248,1,0            // vmovss        0x1f8fa(%rip),%xmm0        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  196,193,120,46,196                  // vucomiss      %xmm12,%xmm0
+  .byte  15,131,147,254,255,255              // jae           1ca9c <_sk_bilerp_clamp_8888_avx+0x197>
+  .byte  197,248,40,100,36,144               // vmovaps       -0x70(%rsp),%xmm4
+  .byte  197,218,88,37,229,248,1,0           // vaddss        0x1f8e5(%rip),%xmm4,%xmm4        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,250,16,5,217,248,1,0            // vmovss        0x1f8d9(%rip),%xmm0        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  197,248,46,196                      // vucomiss      %xmm4,%xmm0
+  .byte  15,131,244,253,255,255              // jae           1ca1d <_sk_bilerp_clamp_8888_avx+0x118>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,41,200                      // vmovaps       %ymm9,%ymm0
+  .byte  197,124,41,193                      // vmovaps       %ymm8,%ymm1
+  .byte  197,252,16,100,36,192               // vmovups       -0x40(%rsp),%ymm4
+  .byte  197,252,16,108,36,224               // vmovups       -0x20(%rsp),%ymm5
+  .byte  197,252,16,52,36                    // vmovups       (%rsp),%ymm6
+  .byte  197,252,16,124,36,32                // vmovups       0x20(%rsp),%ymm7
+  .byte  72,129,196,120,1,0,0                // add           $0x178,%rsp
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_start_pipeline_sse41
+.globl _sk_start_pipeline_sse41
+FUNCTION(_sk_start_pipeline_sse41)
+_sk_start_pipeline_sse41:
+  .byte  85                                  // push          %rbp
+  .byte  72,137,229                          // mov           %rsp,%rbp
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,85                               // push          %r13
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,131,236,24                       // sub           $0x18,%rsp
+  .byte  73,137,215                          // mov           %rdx,%r15
+  .byte  72,137,243                          // mov           %rsi,%rbx
+  .byte  72,137,125,208                      // mov           %rdi,-0x30(%rbp)
+  .byte  76,137,198                          // mov           %r8,%rsi
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  73,137,197                          // mov           %rax,%r13
+  .byte  73,137,246                          // mov           %rsi,%r14
+  .byte  72,137,77,192                       // mov           %rcx,-0x40(%rbp)
+  .byte  72,57,203                           // cmp           %rcx,%rbx
+  .byte  15,131,131,0,0,0                    // jae           1cd10 <_sk_start_pipeline_sse41+0xb6>
+  .byte  72,139,69,208                       // mov           -0x30(%rbp),%rax
+  .byte  72,141,64,4                         // lea           0x4(%rax),%rax
+  .byte  72,137,69,200                       // mov           %rax,-0x38(%rbp)
+  .byte  76,57,125,200                       // cmp           %r15,-0x38(%rbp)
+  .byte  72,139,85,208                       // mov           -0x30(%rbp),%rdx
+  .byte  119,59                              // ja            1ccde <_sk_start_pipeline_sse41+0x84>
+  .byte  76,139,101,208                      // mov           -0x30(%rbp),%r12
+  .byte  49,255                              // xor           %edi,%edi
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  15,87,201                           // xorps         %xmm1,%xmm1
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,87,237                           // xorps         %xmm5,%xmm5
+  .byte  15,87,246                           // xorps         %xmm6,%xmm6
+  .byte  15,87,255                           // xorps         %xmm7,%xmm7
+  .byte  76,137,246                          // mov           %r14,%rsi
+  .byte  76,137,226                          // mov           %r12,%rdx
+  .byte  72,137,217                          // mov           %rbx,%rcx
+  .byte  65,255,213                          // callq         *%r13
+  .byte  73,141,84,36,4                      // lea           0x4(%r12),%rdx
+  .byte  73,131,196,8                        // add           $0x8,%r12
+  .byte  77,57,252                           // cmp           %r15,%r12
+  .byte  73,137,212                          // mov           %rdx,%r12
+  .byte  118,201                             // jbe           1cca7 <_sk_start_pipeline_sse41+0x4d>
+  .byte  76,137,255                          // mov           %r15,%rdi
+  .byte  72,41,215                           // sub           %rdx,%rdi
+  .byte  116,33                              // je            1cd07 <_sk_start_pipeline_sse41+0xad>
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  15,87,201                           // xorps         %xmm1,%xmm1
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,87,237                           // xorps         %xmm5,%xmm5
+  .byte  15,87,246                           // xorps         %xmm6,%xmm6
+  .byte  15,87,255                           // xorps         %xmm7,%xmm7
+  .byte  76,137,246                          // mov           %r14,%rsi
+  .byte  72,137,217                          // mov           %rbx,%rcx
+  .byte  65,255,213                          // callq         *%r13
+  .byte  72,255,195                          // inc           %rbx
+  .byte  72,59,93,192                        // cmp           -0x40(%rbp),%rbx
+  .byte  117,137                             // jne           1cc99 <_sk_start_pipeline_sse41+0x3f>
+  .byte  72,131,196,24                       // add           $0x18,%rsp
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,93                               // pop           %r13
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  93                                  // pop           %rbp
+  .byte  195                                 // retq
+
+HIDDEN _sk_just_return_sse41
+.globl _sk_just_return_sse41
+FUNCTION(_sk_just_return_sse41)
+_sk_just_return_sse41:
+  .byte  195                                 // retq
+
+HIDDEN _sk_seed_shader_sse41
+.globl _sk_seed_shader_sse41
+FUNCTION(_sk_seed_shader_sse41)
+_sk_seed_shader_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,15,110,194                      // movd          %edx,%xmm0
+  .byte  102,15,112,192,0                    // pshufd        $0x0,%xmm0,%xmm0
+  .byte  15,91,200                           // cvtdq2ps      %xmm0,%xmm1
+  .byte  15,16,0                             // movups        (%rax),%xmm0
+  .byte  15,88,193                           // addps         %xmm1,%xmm0
+  .byte  102,15,110,201                      // movd          %ecx,%xmm1
+  .byte  102,15,112,201,0                    // pshufd        $0x0,%xmm1,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  15,88,13,185,1,2,0                  // addps         0x201b9(%rip),%xmm1        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,21,192,1,2,0                  // movaps        0x201c0(%rip),%xmm2        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,87,237                           // xorps         %xmm5,%xmm5
+  .byte  15,87,246                           // xorps         %xmm6,%xmm6
+  .byte  15,87,255                           // xorps         %xmm7,%xmm7
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_dither_sse41
+.globl _sk_dither_sse41
+FUNCTION(_sk_dither_sse41)
+_sk_dither_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,68,15,110,194                   // movd          %edx,%xmm8
+  .byte  102,69,15,112,192,0                 // pshufd        $0x0,%xmm8,%xmm8
+  .byte  102,68,15,254,5,105,1,2,0           // paddd         0x20169(%rip),%xmm8        # 3cee0 <_sk_srcover_bgra_8888_sse2_lowp+0xc94>
+  .byte  102,68,15,110,201                   // movd          %ecx,%xmm9
+  .byte  102,69,15,112,201,0                 // pshufd        $0x0,%xmm9,%xmm9
+  .byte  102,69,15,239,200                   // pxor          %xmm8,%xmm9
+  .byte  102,68,15,111,21,144,1,2,0          // movdqa        0x20190(%rip),%xmm10        # 3cf20 <_sk_srcover_bgra_8888_sse2_lowp+0xcd4>
+  .byte  102,69,15,111,217                   // movdqa        %xmm9,%xmm11
+  .byte  102,69,15,219,218                   // pand          %xmm10,%xmm11
+  .byte  102,65,15,114,243,5                 // pslld         $0x5,%xmm11
+  .byte  102,69,15,219,208                   // pand          %xmm8,%xmm10
+  .byte  102,65,15,114,242,4                 // pslld         $0x4,%xmm10
+  .byte  102,68,15,111,37,124,1,2,0          // movdqa        0x2017c(%rip),%xmm12        # 3cf30 <_sk_srcover_bgra_8888_sse2_lowp+0xce4>
+  .byte  102,68,15,111,45,131,1,2,0          // movdqa        0x20183(%rip),%xmm13        # 3cf40 <_sk_srcover_bgra_8888_sse2_lowp+0xcf4>
+  .byte  102,69,15,111,241                   // movdqa        %xmm9,%xmm14
+  .byte  102,69,15,219,245                   // pand          %xmm13,%xmm14
+  .byte  102,65,15,114,246,2                 // pslld         $0x2,%xmm14
+  .byte  102,69,15,235,243                   // por           %xmm11,%xmm14
+  .byte  102,69,15,219,232                   // pand          %xmm8,%xmm13
+  .byte  102,69,15,254,237                   // paddd         %xmm13,%xmm13
+  .byte  102,69,15,235,234                   // por           %xmm10,%xmm13
+  .byte  102,69,15,219,204                   // pand          %xmm12,%xmm9
+  .byte  102,65,15,114,209,1                 // psrld         $0x1,%xmm9
+  .byte  102,69,15,219,196                   // pand          %xmm12,%xmm8
+  .byte  102,65,15,114,208,2                 // psrld         $0x2,%xmm8
+  .byte  102,69,15,235,197                   // por           %xmm13,%xmm8
+  .byte  102,69,15,235,198                   // por           %xmm14,%xmm8
+  .byte  102,69,15,235,193                   // por           %xmm9,%xmm8
+  .byte  69,15,91,192                        // cvtdq2ps      %xmm8,%xmm8
+  .byte  68,15,89,5,62,1,2,0                 // mulps         0x2013e(%rip),%xmm8        # 3cf50 <_sk_srcover_bgra_8888_sse2_lowp+0xd04>
+  .byte  68,15,88,5,70,1,2,0                 // addps         0x20146(%rip),%xmm8        # 3cf60 <_sk_srcover_bgra_8888_sse2_lowp+0xd14>
+  .byte  243,68,15,16,16                     // movss         (%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  69,15,89,208                        // mulps         %xmm8,%xmm10
+  .byte  65,15,88,194                        // addps         %xmm10,%xmm0
+  .byte  65,15,88,202                        // addps         %xmm10,%xmm1
+  .byte  68,15,88,210                        // addps         %xmm2,%xmm10
+  .byte  15,93,195                           // minps         %xmm3,%xmm0
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  68,15,95,192                        // maxps         %xmm0,%xmm8
+  .byte  15,93,203                           // minps         %xmm3,%xmm1
+  .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
+  .byte  68,15,95,201                        // maxps         %xmm1,%xmm9
+  .byte  68,15,93,211                        // minps         %xmm3,%xmm10
+  .byte  65,15,95,210                        // maxps         %xmm10,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  65,15,40,201                        // movaps        %xmm9,%xmm1
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_uniform_color_sse41
+.globl _sk_uniform_color_sse41
+FUNCTION(_sk_uniform_color_sse41)
+_sk_uniform_color_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,15,16,0                         // movss         (%rax),%xmm0
+  .byte  243,15,16,72,4                      // movss         0x4(%rax),%xmm1
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
+  .byte  243,15,16,80,8                      // movss         0x8(%rax),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  243,15,16,88,12                     // movss         0xc(%rax),%xmm3
+  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_black_color_sse41
+.globl _sk_black_color_sse41
+FUNCTION(_sk_black_color_sse41)
+_sk_black_color_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,29,124,0,2,0                  // movaps        0x2007c(%rip),%xmm3        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  15,87,201                           // xorps         %xmm1,%xmm1
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_white_color_sse41
+.globl _sk_white_color_sse41
+FUNCTION(_sk_white_color_sse41)
+_sk_white_color_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,5,104,0,2,0                   // movaps        0x20068(%rip),%xmm0        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  15,40,208                           // movaps        %xmm0,%xmm2
+  .byte  15,40,216                           // movaps        %xmm0,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_load_rgba_sse41
+.globl _sk_load_rgba_sse41
+FUNCTION(_sk_load_rgba_sse41)
+_sk_load_rgba_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,16,0                             // movups        (%rax),%xmm0
+  .byte  15,16,72,16                         // movups        0x10(%rax),%xmm1
+  .byte  15,16,80,32                         // movups        0x20(%rax),%xmm2
+  .byte  15,16,88,48                         // movups        0x30(%rax),%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_store_rgba_sse41
+.globl _sk_store_rgba_sse41
+FUNCTION(_sk_store_rgba_sse41)
+_sk_store_rgba_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,17,0                             // movups        %xmm0,(%rax)
+  .byte  15,17,72,16                         // movups        %xmm1,0x10(%rax)
+  .byte  15,17,80,32                         // movups        %xmm2,0x20(%rax)
+  .byte  15,17,88,48                         // movups        %xmm3,0x30(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_clear_sse41
+.globl _sk_clear_sse41
+FUNCTION(_sk_clear_sse41)
+_sk_clear_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  15,87,201                           // xorps         %xmm1,%xmm1
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_srcatop_sse41
+.globl _sk_srcatop_sse41
+FUNCTION(_sk_srcatop_sse41)
+_sk_srcatop_sse41:
+  .byte  15,89,199                           // mulps         %xmm7,%xmm0
+  .byte  68,15,40,5,24,0,2,0                 // movaps        0x20018(%rip),%xmm8        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  68,15,92,195                        // subps         %xmm3,%xmm8
+  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
+  .byte  68,15,89,204                        // mulps         %xmm4,%xmm9
+  .byte  65,15,88,193                        // addps         %xmm9,%xmm0
+  .byte  15,89,207                           // mulps         %xmm7,%xmm1
+  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
+  .byte  68,15,89,205                        // mulps         %xmm5,%xmm9
+  .byte  65,15,88,201                        // addps         %xmm9,%xmm1
+  .byte  15,89,215                           // mulps         %xmm7,%xmm2
+  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
+  .byte  68,15,89,206                        // mulps         %xmm6,%xmm9
+  .byte  65,15,88,209                        // addps         %xmm9,%xmm2
+  .byte  15,89,223                           // mulps         %xmm7,%xmm3
+  .byte  68,15,89,199                        // mulps         %xmm7,%xmm8
+  .byte  65,15,88,216                        // addps         %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_dstatop_sse41
+.globl _sk_dstatop_sse41
+FUNCTION(_sk_dstatop_sse41)
+_sk_dstatop_sse41:
+  .byte  68,15,40,195                        // movaps        %xmm3,%xmm8
+  .byte  68,15,89,196                        // mulps         %xmm4,%xmm8
+  .byte  68,15,40,13,203,255,1,0             // movaps        0x1ffcb(%rip),%xmm9        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  68,15,92,207                        // subps         %xmm7,%xmm9
+  .byte  65,15,89,193                        // mulps         %xmm9,%xmm0
+  .byte  65,15,88,192                        // addps         %xmm8,%xmm0
+  .byte  68,15,40,195                        // movaps        %xmm3,%xmm8
+  .byte  68,15,89,197                        // mulps         %xmm5,%xmm8
+  .byte  65,15,89,201                        // mulps         %xmm9,%xmm1
+  .byte  65,15,88,200                        // addps         %xmm8,%xmm1
+  .byte  68,15,40,195                        // movaps        %xmm3,%xmm8
+  .byte  68,15,89,198                        // mulps         %xmm6,%xmm8
+  .byte  65,15,89,209                        // mulps         %xmm9,%xmm2
+  .byte  65,15,88,208                        // addps         %xmm8,%xmm2
+  .byte  68,15,89,203                        // mulps         %xmm3,%xmm9
+  .byte  15,89,223                           // mulps         %xmm7,%xmm3
+  .byte  65,15,88,217                        // addps         %xmm9,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_srcin_sse41
+.globl _sk_srcin_sse41
+FUNCTION(_sk_srcin_sse41)
+_sk_srcin_sse41:
+  .byte  15,89,199                           // mulps         %xmm7,%xmm0
+  .byte  15,89,207                           // mulps         %xmm7,%xmm1
+  .byte  15,89,215                           // mulps         %xmm7,%xmm2
+  .byte  15,89,223                           // mulps         %xmm7,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_dstin_sse41
+.globl _sk_dstin_sse41
+FUNCTION(_sk_dstin_sse41)
+_sk_dstin_sse41:
+  .byte  15,40,195                           // movaps        %xmm3,%xmm0
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  15,40,203                           // movaps        %xmm3,%xmm1
+  .byte  15,89,205                           // mulps         %xmm5,%xmm1
+  .byte  15,40,211                           // movaps        %xmm3,%xmm2
+  .byte  15,89,214                           // mulps         %xmm6,%xmm2
+  .byte  15,89,223                           // mulps         %xmm7,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_srcout_sse41
+.globl _sk_srcout_sse41
+FUNCTION(_sk_srcout_sse41)
+_sk_srcout_sse41:
+  .byte  68,15,40,5,95,255,1,0               // movaps        0x1ff5f(%rip),%xmm8        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  68,15,92,199                        // subps         %xmm7,%xmm8
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
+  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
+  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_dstout_sse41
+.globl _sk_dstout_sse41
+FUNCTION(_sk_dstout_sse41)
+_sk_dstout_sse41:
+  .byte  68,15,40,5,63,255,1,0               // movaps        0x1ff3f(%rip),%xmm8        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  68,15,92,195                        // subps         %xmm3,%xmm8
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  65,15,40,200                        // movaps        %xmm8,%xmm1
+  .byte  15,89,205                           // mulps         %xmm5,%xmm1
+  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
+  .byte  15,89,214                           // mulps         %xmm6,%xmm2
+  .byte  68,15,89,199                        // mulps         %xmm7,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,216                        // movaps        %xmm8,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_srcover_sse41
+.globl _sk_srcover_sse41
+FUNCTION(_sk_srcover_sse41)
+_sk_srcover_sse41:
+  .byte  68,15,40,5,18,255,1,0               // movaps        0x1ff12(%rip),%xmm8        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  68,15,92,195                        // subps         %xmm3,%xmm8
+  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
+  .byte  68,15,89,204                        // mulps         %xmm4,%xmm9
+  .byte  65,15,88,193                        // addps         %xmm9,%xmm0
+  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
+  .byte  68,15,89,205                        // mulps         %xmm5,%xmm9
+  .byte  65,15,88,201                        // addps         %xmm9,%xmm1
+  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
+  .byte  68,15,89,206                        // mulps         %xmm6,%xmm9
+  .byte  65,15,88,209                        // addps         %xmm9,%xmm2
+  .byte  68,15,89,199                        // mulps         %xmm7,%xmm8
+  .byte  65,15,88,216                        // addps         %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_dstover_sse41
+.globl _sk_dstover_sse41
+FUNCTION(_sk_dstover_sse41)
+_sk_dstover_sse41:
+  .byte  68,15,40,5,214,254,1,0              // movaps        0x1fed6(%rip),%xmm8        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  68,15,92,199                        // subps         %xmm7,%xmm8
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  15,88,196                           // addps         %xmm4,%xmm0
+  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
+  .byte  15,88,205                           // addps         %xmm5,%xmm1
+  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
+  .byte  15,88,214                           // addps         %xmm6,%xmm2
+  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
+  .byte  15,88,223                           // addps         %xmm7,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_modulate_sse41
+.globl _sk_modulate_sse41
+FUNCTION(_sk_modulate_sse41)
+_sk_modulate_sse41:
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  15,89,205                           // mulps         %xmm5,%xmm1
+  .byte  15,89,214                           // mulps         %xmm6,%xmm2
+  .byte  15,89,223                           // mulps         %xmm7,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_multiply_sse41
+.globl _sk_multiply_sse41
+FUNCTION(_sk_multiply_sse41)
+_sk_multiply_sse41:
+  .byte  68,15,40,5,154,254,1,0              // movaps        0x1fe9a(%rip),%xmm8        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
+  .byte  68,15,92,207                        // subps         %xmm7,%xmm9
+  .byte  69,15,40,209                        // movaps        %xmm9,%xmm10
+  .byte  68,15,89,208                        // mulps         %xmm0,%xmm10
+  .byte  68,15,92,195                        // subps         %xmm3,%xmm8
+  .byte  69,15,40,216                        // movaps        %xmm8,%xmm11
+  .byte  68,15,89,220                        // mulps         %xmm4,%xmm11
+  .byte  69,15,88,218                        // addps         %xmm10,%xmm11
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  65,15,88,195                        // addps         %xmm11,%xmm0
+  .byte  69,15,40,209                        // movaps        %xmm9,%xmm10
+  .byte  68,15,89,209                        // mulps         %xmm1,%xmm10
+  .byte  69,15,40,216                        // movaps        %xmm8,%xmm11
+  .byte  68,15,89,221                        // mulps         %xmm5,%xmm11
+  .byte  69,15,88,218                        // addps         %xmm10,%xmm11
+  .byte  15,89,205                           // mulps         %xmm5,%xmm1
+  .byte  65,15,88,203                        // addps         %xmm11,%xmm1
+  .byte  69,15,40,209                        // movaps        %xmm9,%xmm10
+  .byte  68,15,89,210                        // mulps         %xmm2,%xmm10
+  .byte  69,15,40,216                        // movaps        %xmm8,%xmm11
+  .byte  68,15,89,222                        // mulps         %xmm6,%xmm11
+  .byte  69,15,88,218                        // addps         %xmm10,%xmm11
+  .byte  15,89,214                           // mulps         %xmm6,%xmm2
+  .byte  65,15,88,211                        // addps         %xmm11,%xmm2
+  .byte  68,15,89,203                        // mulps         %xmm3,%xmm9
+  .byte  68,15,89,199                        // mulps         %xmm7,%xmm8
+  .byte  69,15,88,193                        // addps         %xmm9,%xmm8
+  .byte  15,89,223                           // mulps         %xmm7,%xmm3
+  .byte  65,15,88,216                        // addps         %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_plus__sse41
+.globl _sk_plus__sse41
+FUNCTION(_sk_plus__sse41)
+_sk_plus__sse41:
+  .byte  15,88,196                           // addps         %xmm4,%xmm0
+  .byte  68,15,40,5,27,254,1,0               // movaps        0x1fe1b(%rip),%xmm8        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  65,15,93,192                        // minps         %xmm8,%xmm0
+  .byte  15,88,205                           // addps         %xmm5,%xmm1
+  .byte  65,15,93,200                        // minps         %xmm8,%xmm1
+  .byte  15,88,214                           // addps         %xmm6,%xmm2
+  .byte  65,15,93,208                        // minps         %xmm8,%xmm2
+  .byte  15,88,223                           // addps         %xmm7,%xmm3
+  .byte  65,15,93,216                        // minps         %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_screen_sse41
+.globl _sk_screen_sse41
+FUNCTION(_sk_screen_sse41)
+_sk_screen_sse41:
+  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
+  .byte  15,88,196                           // addps         %xmm4,%xmm0
+  .byte  68,15,89,196                        // mulps         %xmm4,%xmm8
+  .byte  65,15,92,192                        // subps         %xmm8,%xmm0
+  .byte  68,15,40,193                        // movaps        %xmm1,%xmm8
+  .byte  68,15,88,197                        // addps         %xmm5,%xmm8
+  .byte  15,89,205                           // mulps         %xmm5,%xmm1
+  .byte  68,15,92,193                        // subps         %xmm1,%xmm8
+  .byte  68,15,40,202                        // movaps        %xmm2,%xmm9
+  .byte  68,15,88,206                        // addps         %xmm6,%xmm9
+  .byte  15,89,214                           // mulps         %xmm6,%xmm2
+  .byte  68,15,92,202                        // subps         %xmm2,%xmm9
+  .byte  68,15,40,211                        // movaps        %xmm3,%xmm10
+  .byte  68,15,88,215                        // addps         %xmm7,%xmm10
+  .byte  15,89,223                           // mulps         %xmm7,%xmm3
+  .byte  68,15,92,211                        // subps         %xmm3,%xmm10
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,200                        // movaps        %xmm8,%xmm1
+  .byte  65,15,40,209                        // movaps        %xmm9,%xmm2
+  .byte  65,15,40,218                        // movaps        %xmm10,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xor__sse41
+.globl _sk_xor__sse41
+FUNCTION(_sk_xor__sse41)
+_sk_xor__sse41:
+  .byte  68,15,40,195                        // movaps        %xmm3,%xmm8
+  .byte  15,40,29,167,253,1,0                // movaps        0x1fda7(%rip),%xmm3        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  68,15,40,203                        // movaps        %xmm3,%xmm9
+  .byte  68,15,92,207                        // subps         %xmm7,%xmm9
+  .byte  65,15,89,193                        // mulps         %xmm9,%xmm0
+  .byte  65,15,92,216                        // subps         %xmm8,%xmm3
+  .byte  68,15,40,211                        // movaps        %xmm3,%xmm10
+  .byte  68,15,89,212                        // mulps         %xmm4,%xmm10
+  .byte  65,15,88,194                        // addps         %xmm10,%xmm0
+  .byte  65,15,89,201                        // mulps         %xmm9,%xmm1
+  .byte  68,15,40,211                        // movaps        %xmm3,%xmm10
+  .byte  68,15,89,213                        // mulps         %xmm5,%xmm10
+  .byte  65,15,88,202                        // addps         %xmm10,%xmm1
+  .byte  65,15,89,209                        // mulps         %xmm9,%xmm2
+  .byte  68,15,40,211                        // movaps        %xmm3,%xmm10
+  .byte  68,15,89,214                        // mulps         %xmm6,%xmm10
+  .byte  65,15,88,210                        // addps         %xmm10,%xmm2
+  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
+  .byte  15,89,223                           // mulps         %xmm7,%xmm3
+  .byte  65,15,88,217                        // addps         %xmm9,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_darken_sse41
+.globl _sk_darken_sse41
+FUNCTION(_sk_darken_sse41)
+_sk_darken_sse41:
+  .byte  68,15,40,193                        // movaps        %xmm1,%xmm8
+  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
+  .byte  15,88,196                           // addps         %xmm4,%xmm0
+  .byte  68,15,89,207                        // mulps         %xmm7,%xmm9
+  .byte  15,40,203                           // movaps        %xmm3,%xmm1
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  68,15,95,201                        // maxps         %xmm1,%xmm9
+  .byte  65,15,92,193                        // subps         %xmm9,%xmm0
+  .byte  65,15,40,200                        // movaps        %xmm8,%xmm1
+  .byte  15,88,205                           // addps         %xmm5,%xmm1
+  .byte  68,15,89,199                        // mulps         %xmm7,%xmm8
+  .byte  68,15,40,203                        // movaps        %xmm3,%xmm9
+  .byte  68,15,89,205                        // mulps         %xmm5,%xmm9
+  .byte  69,15,95,193                        // maxps         %xmm9,%xmm8
+  .byte  65,15,92,200                        // subps         %xmm8,%xmm1
+  .byte  68,15,40,194                        // movaps        %xmm2,%xmm8
+  .byte  68,15,88,198                        // addps         %xmm6,%xmm8
+  .byte  15,89,215                           // mulps         %xmm7,%xmm2
+  .byte  68,15,40,203                        // movaps        %xmm3,%xmm9
+  .byte  68,15,89,206                        // mulps         %xmm6,%xmm9
+  .byte  65,15,95,209                        // maxps         %xmm9,%xmm2
+  .byte  68,15,92,194                        // subps         %xmm2,%xmm8
+  .byte  15,40,21,2,253,1,0                  // movaps        0x1fd02(%rip),%xmm2        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  15,92,211                           // subps         %xmm3,%xmm2
+  .byte  15,89,215                           // mulps         %xmm7,%xmm2
+  .byte  15,88,218                           // addps         %xmm2,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_lighten_sse41
+.globl _sk_lighten_sse41
+FUNCTION(_sk_lighten_sse41)
+_sk_lighten_sse41:
+  .byte  68,15,40,193                        // movaps        %xmm1,%xmm8
+  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
+  .byte  15,88,196                           // addps         %xmm4,%xmm0
+  .byte  68,15,89,207                        // mulps         %xmm7,%xmm9
+  .byte  15,40,203                           // movaps        %xmm3,%xmm1
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  68,15,93,201                        // minps         %xmm1,%xmm9
+  .byte  65,15,92,193                        // subps         %xmm9,%xmm0
+  .byte  65,15,40,200                        // movaps        %xmm8,%xmm1
+  .byte  15,88,205                           // addps         %xmm5,%xmm1
+  .byte  68,15,89,199                        // mulps         %xmm7,%xmm8
+  .byte  68,15,40,203                        // movaps        %xmm3,%xmm9
+  .byte  68,15,89,205                        // mulps         %xmm5,%xmm9
+  .byte  69,15,93,193                        // minps         %xmm9,%xmm8
+  .byte  65,15,92,200                        // subps         %xmm8,%xmm1
+  .byte  68,15,40,194                        // movaps        %xmm2,%xmm8
+  .byte  68,15,88,198                        // addps         %xmm6,%xmm8
+  .byte  15,89,215                           // mulps         %xmm7,%xmm2
+  .byte  68,15,40,203                        // movaps        %xmm3,%xmm9
+  .byte  68,15,89,206                        // mulps         %xmm6,%xmm9
+  .byte  65,15,93,209                        // minps         %xmm9,%xmm2
+  .byte  68,15,92,194                        // subps         %xmm2,%xmm8
+  .byte  15,40,21,151,252,1,0                // movaps        0x1fc97(%rip),%xmm2        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  15,92,211                           // subps         %xmm3,%xmm2
+  .byte  15,89,215                           // mulps         %xmm7,%xmm2
+  .byte  15,88,218                           // addps         %xmm2,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_difference_sse41
+.globl _sk_difference_sse41
+FUNCTION(_sk_difference_sse41)
+_sk_difference_sse41:
+  .byte  68,15,40,193                        // movaps        %xmm1,%xmm8
+  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
+  .byte  15,88,196                           // addps         %xmm4,%xmm0
+  .byte  68,15,89,207                        // mulps         %xmm7,%xmm9
+  .byte  15,40,203                           // movaps        %xmm3,%xmm1
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  68,15,93,201                        // minps         %xmm1,%xmm9
+  .byte  69,15,88,201                        // addps         %xmm9,%xmm9
+  .byte  65,15,92,193                        // subps         %xmm9,%xmm0
+  .byte  65,15,40,200                        // movaps        %xmm8,%xmm1
+  .byte  15,88,205                           // addps         %xmm5,%xmm1
+  .byte  68,15,89,199                        // mulps         %xmm7,%xmm8
+  .byte  68,15,40,203                        // movaps        %xmm3,%xmm9
+  .byte  68,15,89,205                        // mulps         %xmm5,%xmm9
+  .byte  69,15,93,193                        // minps         %xmm9,%xmm8
+  .byte  69,15,88,192                        // addps         %xmm8,%xmm8
+  .byte  65,15,92,200                        // subps         %xmm8,%xmm1
+  .byte  68,15,40,194                        // movaps        %xmm2,%xmm8
+  .byte  68,15,88,198                        // addps         %xmm6,%xmm8
+  .byte  15,89,215                           // mulps         %xmm7,%xmm2
+  .byte  68,15,40,203                        // movaps        %xmm3,%xmm9
+  .byte  68,15,89,206                        // mulps         %xmm6,%xmm9
+  .byte  65,15,93,209                        // minps         %xmm9,%xmm2
+  .byte  15,88,210                           // addps         %xmm2,%xmm2
+  .byte  68,15,92,194                        // subps         %xmm2,%xmm8
+  .byte  15,40,21,33,252,1,0                 // movaps        0x1fc21(%rip),%xmm2        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  15,92,211                           // subps         %xmm3,%xmm2
+  .byte  15,89,215                           // mulps         %xmm7,%xmm2
+  .byte  15,88,218                           // addps         %xmm2,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_exclusion_sse41
+.globl _sk_exclusion_sse41
+FUNCTION(_sk_exclusion_sse41)
+_sk_exclusion_sse41:
+  .byte  68,15,40,193                        // movaps        %xmm1,%xmm8
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  15,88,196                           // addps         %xmm4,%xmm0
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  15,88,201                           // addps         %xmm1,%xmm1
+  .byte  15,92,193                           // subps         %xmm1,%xmm0
+  .byte  65,15,40,200                        // movaps        %xmm8,%xmm1
+  .byte  15,88,205                           // addps         %xmm5,%xmm1
+  .byte  68,15,89,197                        // mulps         %xmm5,%xmm8
+  .byte  69,15,88,192                        // addps         %xmm8,%xmm8
+  .byte  65,15,92,200                        // subps         %xmm8,%xmm1
+  .byte  68,15,40,194                        // movaps        %xmm2,%xmm8
+  .byte  68,15,88,198                        // addps         %xmm6,%xmm8
+  .byte  15,89,214                           // mulps         %xmm6,%xmm2
+  .byte  15,88,210                           // addps         %xmm2,%xmm2
+  .byte  68,15,92,194                        // subps         %xmm2,%xmm8
+  .byte  15,40,21,209,251,1,0                // movaps        0x1fbd1(%rip),%xmm2        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  15,92,211                           // subps         %xmm3,%xmm2
+  .byte  15,89,215                           // mulps         %xmm7,%xmm2
+  .byte  15,88,218                           // addps         %xmm2,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_colorburn_sse41
+.globl _sk_colorburn_sse41
+FUNCTION(_sk_colorburn_sse41)
+_sk_colorburn_sse41:
+  .byte  68,15,40,29,184,251,1,0             // movaps        0x1fbb8(%rip),%xmm11        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,40,227                        // movaps        %xmm11,%xmm12
+  .byte  68,15,92,231                        // subps         %xmm7,%xmm12
+  .byte  69,15,40,204                        // movaps        %xmm12,%xmm9
+  .byte  68,15,89,200                        // mulps         %xmm0,%xmm9
+  .byte  68,15,40,199                        // movaps        %xmm7,%xmm8
+  .byte  68,15,92,196                        // subps         %xmm4,%xmm8
+  .byte  68,15,89,195                        // mulps         %xmm3,%xmm8
+  .byte  68,15,83,208                        // rcpps         %xmm0,%xmm10
+  .byte  69,15,89,208                        // mulps         %xmm8,%xmm10
+  .byte  68,15,40,239                        // movaps        %xmm7,%xmm13
+  .byte  69,15,93,234                        // minps         %xmm10,%xmm13
+  .byte  68,15,40,199                        // movaps        %xmm7,%xmm8
+  .byte  69,15,92,197                        // subps         %xmm13,%xmm8
+  .byte  68,15,89,195                        // mulps         %xmm3,%xmm8
+  .byte  69,15,88,193                        // addps         %xmm9,%xmm8
+  .byte  68,15,88,204                        // addps         %xmm4,%xmm9
+  .byte  69,15,87,210                        // xorps         %xmm10,%xmm10
+  .byte  68,15,92,219                        // subps         %xmm3,%xmm11
+  .byte  69,15,40,235                        // movaps        %xmm11,%xmm13
+  .byte  68,15,89,236                        // mulps         %xmm4,%xmm13
+  .byte  65,15,194,194,0                     // cmpeqps       %xmm10,%xmm0
+  .byte  69,15,88,197                        // addps         %xmm13,%xmm8
+  .byte  102,69,15,56,20,197                 // blendvps      %xmm0,%xmm13,%xmm8
+  .byte  15,40,196                           // movaps        %xmm4,%xmm0
+  .byte  15,194,199,0                        // cmpeqps       %xmm7,%xmm0
+  .byte  102,69,15,56,20,193                 // blendvps      %xmm0,%xmm9,%xmm8
+  .byte  69,15,40,236                        // movaps        %xmm12,%xmm13
+  .byte  68,15,89,233                        // mulps         %xmm1,%xmm13
+  .byte  15,40,199                           // movaps        %xmm7,%xmm0
+  .byte  15,92,197                           // subps         %xmm5,%xmm0
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  68,15,83,201                        // rcpps         %xmm1,%xmm9
+  .byte  68,15,89,200                        // mulps         %xmm0,%xmm9
+  .byte  15,40,199                           // movaps        %xmm7,%xmm0
+  .byte  65,15,93,193                        // minps         %xmm9,%xmm0
+  .byte  68,15,40,207                        // movaps        %xmm7,%xmm9
+  .byte  68,15,92,200                        // subps         %xmm0,%xmm9
+  .byte  69,15,40,243                        // movaps        %xmm11,%xmm14
+  .byte  68,15,89,245                        // mulps         %xmm5,%xmm14
+  .byte  65,15,194,202,0                     // cmpeqps       %xmm10,%xmm1
+  .byte  68,15,89,203                        // mulps         %xmm3,%xmm9
+  .byte  69,15,88,205                        // addps         %xmm13,%xmm9
+  .byte  69,15,88,206                        // addps         %xmm14,%xmm9
+  .byte  15,40,193                           // movaps        %xmm1,%xmm0
+  .byte  102,69,15,56,20,206                 // blendvps      %xmm0,%xmm14,%xmm9
+  .byte  68,15,88,237                        // addps         %xmm5,%xmm13
+  .byte  15,40,197                           // movaps        %xmm5,%xmm0
+  .byte  15,194,199,0                        // cmpeqps       %xmm7,%xmm0
+  .byte  102,69,15,56,20,205                 // blendvps      %xmm0,%xmm13,%xmm9
+  .byte  68,15,89,226                        // mulps         %xmm2,%xmm12
+  .byte  68,15,194,210,0                     // cmpeqps       %xmm2,%xmm10
+  .byte  15,40,199                           // movaps        %xmm7,%xmm0
+  .byte  15,92,198                           // subps         %xmm6,%xmm0
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  15,83,202                           // rcpps         %xmm2,%xmm1
+  .byte  15,89,200                           // mulps         %xmm0,%xmm1
+  .byte  15,40,199                           // movaps        %xmm7,%xmm0
+  .byte  15,93,193                           // minps         %xmm1,%xmm0
+  .byte  15,40,215                           // movaps        %xmm7,%xmm2
+  .byte  15,92,208                           // subps         %xmm0,%xmm2
+  .byte  65,15,40,203                        // movaps        %xmm11,%xmm1
+  .byte  15,89,206                           // mulps         %xmm6,%xmm1
+  .byte  15,89,211                           // mulps         %xmm3,%xmm2
+  .byte  65,15,88,212                        // addps         %xmm12,%xmm2
+  .byte  15,88,209                           // addps         %xmm1,%xmm2
+  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
+  .byte  102,15,56,20,209                    // blendvps      %xmm0,%xmm1,%xmm2
+  .byte  68,15,88,230                        // addps         %xmm6,%xmm12
+  .byte  15,40,198                           // movaps        %xmm6,%xmm0
+  .byte  15,194,199,0                        // cmpeqps       %xmm7,%xmm0
+  .byte  102,65,15,56,20,212                 // blendvps      %xmm0,%xmm12,%xmm2
+  .byte  68,15,89,223                        // mulps         %xmm7,%xmm11
+  .byte  65,15,88,219                        // addps         %xmm11,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  65,15,40,201                        // movaps        %xmm9,%xmm1
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_colordodge_sse41
+.globl _sk_colordodge_sse41
+FUNCTION(_sk_colordodge_sse41)
+_sk_colordodge_sse41:
+  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
+  .byte  68,15,40,21,130,250,1,0             // movaps        0x1fa82(%rip),%xmm10        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,40,218                        // movaps        %xmm10,%xmm11
+  .byte  68,15,92,223                        // subps         %xmm7,%xmm11
+  .byte  69,15,40,227                        // movaps        %xmm11,%xmm12
+  .byte  69,15,89,224                        // mulps         %xmm8,%xmm12
+  .byte  68,15,40,235                        // movaps        %xmm3,%xmm13
+  .byte  68,15,89,236                        // mulps         %xmm4,%xmm13
+  .byte  15,40,195                           // movaps        %xmm3,%xmm0
+  .byte  65,15,92,192                        // subps         %xmm8,%xmm0
+  .byte  68,15,83,200                        // rcpps         %xmm0,%xmm9
+  .byte  69,15,89,205                        // mulps         %xmm13,%xmm9
+  .byte  68,15,40,239                        // movaps        %xmm7,%xmm13
+  .byte  68,15,40,247                        // movaps        %xmm7,%xmm14
+  .byte  69,15,93,241                        // minps         %xmm9,%xmm14
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  15,194,195,0                        // cmpeqps       %xmm3,%xmm0
+  .byte  68,15,89,243                        // mulps         %xmm3,%xmm14
+  .byte  69,15,88,244                        // addps         %xmm12,%xmm14
+  .byte  102,69,15,56,20,240                 // blendvps      %xmm0,%xmm8,%xmm14
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,92,211                        // subps         %xmm3,%xmm10
+  .byte  69,15,40,194                        // movaps        %xmm10,%xmm8
+  .byte  68,15,89,196                        // mulps         %xmm4,%xmm8
+  .byte  69,15,88,198                        // addps         %xmm14,%xmm8
+  .byte  15,40,196                           // movaps        %xmm4,%xmm0
+  .byte  65,15,194,193,0                     // cmpeqps       %xmm9,%xmm0
+  .byte  102,69,15,56,20,196                 // blendvps      %xmm0,%xmm12,%xmm8
+  .byte  68,15,40,227                        // movaps        %xmm3,%xmm12
+  .byte  68,15,89,229                        // mulps         %xmm5,%xmm12
+  .byte  15,40,195                           // movaps        %xmm3,%xmm0
+  .byte  15,92,193                           // subps         %xmm1,%xmm0
+  .byte  15,83,192                           // rcpps         %xmm0,%xmm0
+  .byte  65,15,89,196                        // mulps         %xmm12,%xmm0
+  .byte  69,15,40,227                        // movaps        %xmm11,%xmm12
+  .byte  68,15,89,225                        // mulps         %xmm1,%xmm12
+  .byte  68,15,93,232                        // minps         %xmm0,%xmm13
+  .byte  15,40,193                           // movaps        %xmm1,%xmm0
+  .byte  15,194,195,0                        // cmpeqps       %xmm3,%xmm0
+  .byte  68,15,89,235                        // mulps         %xmm3,%xmm13
+  .byte  69,15,88,236                        // addps         %xmm12,%xmm13
+  .byte  102,68,15,56,20,233                 // blendvps      %xmm0,%xmm1,%xmm13
+  .byte  65,15,40,202                        // movaps        %xmm10,%xmm1
+  .byte  15,89,205                           // mulps         %xmm5,%xmm1
+  .byte  65,15,88,205                        // addps         %xmm13,%xmm1
+  .byte  15,40,197                           // movaps        %xmm5,%xmm0
+  .byte  65,15,194,193,0                     // cmpeqps       %xmm9,%xmm0
+  .byte  102,65,15,56,20,204                 // blendvps      %xmm0,%xmm12,%xmm1
+  .byte  68,15,40,227                        // movaps        %xmm3,%xmm12
+  .byte  68,15,89,230                        // mulps         %xmm6,%xmm12
+  .byte  15,40,195                           // movaps        %xmm3,%xmm0
+  .byte  15,92,194                           // subps         %xmm2,%xmm0
+  .byte  15,83,192                           // rcpps         %xmm0,%xmm0
+  .byte  65,15,89,196                        // mulps         %xmm12,%xmm0
+  .byte  68,15,40,231                        // movaps        %xmm7,%xmm12
+  .byte  68,15,89,218                        // mulps         %xmm2,%xmm11
+  .byte  68,15,93,224                        // minps         %xmm0,%xmm12
+  .byte  15,40,194                           // movaps        %xmm2,%xmm0
+  .byte  15,194,195,0                        // cmpeqps       %xmm3,%xmm0
+  .byte  68,15,89,227                        // mulps         %xmm3,%xmm12
+  .byte  69,15,88,227                        // addps         %xmm11,%xmm12
+  .byte  102,68,15,56,20,226                 // blendvps      %xmm0,%xmm2,%xmm12
+  .byte  65,15,40,210                        // movaps        %xmm10,%xmm2
+  .byte  15,89,214                           // mulps         %xmm6,%xmm2
+  .byte  65,15,88,212                        // addps         %xmm12,%xmm2
+  .byte  68,15,194,206,0                     // cmpeqps       %xmm6,%xmm9
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  102,65,15,56,20,211                 // blendvps      %xmm0,%xmm11,%xmm2
+  .byte  68,15,89,215                        // mulps         %xmm7,%xmm10
+  .byte  65,15,88,218                        // addps         %xmm10,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_hardlight_sse41
+.globl _sk_hardlight_sse41
+FUNCTION(_sk_hardlight_sse41)
+_sk_hardlight_sse41:
+  .byte  15,41,116,36,232                    // movaps        %xmm6,-0x18(%rsp)
+  .byte  68,15,40,229                        // movaps        %xmm5,%xmm12
+  .byte  15,40,244                           // movaps        %xmm4,%xmm6
+  .byte  15,40,227                           // movaps        %xmm3,%xmm4
+  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
+  .byte  68,15,40,21,77,249,1,0              // movaps        0x1f94d(%rip),%xmm10        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  65,15,40,234                        // movaps        %xmm10,%xmm5
+  .byte  15,92,239                           // subps         %xmm7,%xmm5
+  .byte  15,40,197                           // movaps        %xmm5,%xmm0
+  .byte  65,15,89,193                        // mulps         %xmm9,%xmm0
+  .byte  68,15,92,212                        // subps         %xmm4,%xmm10
+  .byte  69,15,40,194                        // movaps        %xmm10,%xmm8
+  .byte  68,15,89,198                        // mulps         %xmm6,%xmm8
+  .byte  68,15,88,192                        // addps         %xmm0,%xmm8
+  .byte  68,15,40,252                        // movaps        %xmm4,%xmm15
+  .byte  69,15,92,249                        // subps         %xmm9,%xmm15
+  .byte  15,89,223                           // mulps         %xmm7,%xmm3
+  .byte  68,15,40,239                        // movaps        %xmm7,%xmm13
+  .byte  68,15,40,247                        // movaps        %xmm7,%xmm14
+  .byte  15,40,199                           // movaps        %xmm7,%xmm0
+  .byte  15,92,198                           // subps         %xmm6,%xmm0
+  .byte  65,15,89,199                        // mulps         %xmm15,%xmm0
+  .byte  15,88,192                           // addps         %xmm0,%xmm0
+  .byte  68,15,40,251                        // movaps        %xmm3,%xmm15
+  .byte  68,15,92,248                        // subps         %xmm0,%xmm15
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  15,88,192                           // addps         %xmm0,%xmm0
+  .byte  15,194,196,2                        // cmpleps       %xmm4,%xmm0
+  .byte  68,15,89,206                        // mulps         %xmm6,%xmm9
+  .byte  69,15,88,201                        // addps         %xmm9,%xmm9
+  .byte  102,69,15,56,20,249                 // blendvps      %xmm0,%xmm9,%xmm15
+  .byte  68,15,40,221                        // movaps        %xmm5,%xmm11
+  .byte  68,15,89,217                        // mulps         %xmm1,%xmm11
+  .byte  15,40,196                           // movaps        %xmm4,%xmm0
+  .byte  15,92,193                           // subps         %xmm1,%xmm0
+  .byte  69,15,40,204                        // movaps        %xmm12,%xmm9
+  .byte  69,15,92,233                        // subps         %xmm9,%xmm13
+  .byte  68,15,89,232                        // mulps         %xmm0,%xmm13
+  .byte  69,15,88,237                        // addps         %xmm13,%xmm13
+  .byte  68,15,40,227                        // movaps        %xmm3,%xmm12
+  .byte  69,15,92,229                        // subps         %xmm13,%xmm12
+  .byte  15,40,193                           // movaps        %xmm1,%xmm0
+  .byte  15,88,192                           // addps         %xmm0,%xmm0
+  .byte  15,194,196,2                        // cmpleps       %xmm4,%xmm0
+  .byte  65,15,89,201                        // mulps         %xmm9,%xmm1
+  .byte  69,15,40,233                        // movaps        %xmm9,%xmm13
+  .byte  15,88,201                           // addps         %xmm1,%xmm1
+  .byte  102,68,15,56,20,225                 // blendvps      %xmm0,%xmm1,%xmm12
+  .byte  65,15,40,202                        // movaps        %xmm10,%xmm1
+  .byte  69,15,40,202                        // movaps        %xmm10,%xmm9
+  .byte  68,15,89,215                        // mulps         %xmm7,%xmm10
+  .byte  69,15,88,199                        // addps         %xmm15,%xmm8
+  .byte  65,15,89,205                        // mulps         %xmm13,%xmm1
+  .byte  65,15,88,203                        // addps         %xmm11,%xmm1
+  .byte  65,15,88,204                        // addps         %xmm12,%xmm1
+  .byte  15,89,234                           // mulps         %xmm2,%xmm5
+  .byte  68,15,40,92,36,232                  // movaps        -0x18(%rsp),%xmm11
+  .byte  69,15,89,203                        // mulps         %xmm11,%xmm9
+  .byte  68,15,88,205                        // addps         %xmm5,%xmm9
+  .byte  15,40,194                           // movaps        %xmm2,%xmm0
+  .byte  15,88,192                           // addps         %xmm0,%xmm0
+  .byte  15,194,196,2                        // cmpleps       %xmm4,%xmm0
+  .byte  15,40,236                           // movaps        %xmm4,%xmm5
+  .byte  15,92,234                           // subps         %xmm2,%xmm5
+  .byte  65,15,89,211                        // mulps         %xmm11,%xmm2
+  .byte  15,88,210                           // addps         %xmm2,%xmm2
+  .byte  69,15,92,243                        // subps         %xmm11,%xmm14
+  .byte  68,15,89,245                        // mulps         %xmm5,%xmm14
+  .byte  69,15,88,246                        // addps         %xmm14,%xmm14
+  .byte  65,15,92,222                        // subps         %xmm14,%xmm3
+  .byte  102,15,56,20,218                    // blendvps      %xmm0,%xmm2,%xmm3
+  .byte  68,15,88,203                        // addps         %xmm3,%xmm9
+  .byte  65,15,88,226                        // addps         %xmm10,%xmm4
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  65,15,40,209                        // movaps        %xmm9,%xmm2
+  .byte  15,40,220                           // movaps        %xmm4,%xmm3
+  .byte  15,40,230                           // movaps        %xmm6,%xmm4
+  .byte  65,15,40,237                        // movaps        %xmm13,%xmm5
+  .byte  65,15,40,243                        // movaps        %xmm11,%xmm6
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_overlay_sse41
+.globl _sk_overlay_sse41
+FUNCTION(_sk_overlay_sse41)
+_sk_overlay_sse41:
+  .byte  68,15,40,201                        // movaps        %xmm1,%xmm9
+  .byte  68,15,40,240                        // movaps        %xmm0,%xmm14
+  .byte  68,15,40,21,34,248,1,0              // movaps        0x1f822(%rip),%xmm10        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,40,218                        // movaps        %xmm10,%xmm11
+  .byte  68,15,92,223                        // subps         %xmm7,%xmm11
+  .byte  65,15,40,195                        // movaps        %xmm11,%xmm0
+  .byte  65,15,89,198                        // mulps         %xmm14,%xmm0
+  .byte  68,15,92,211                        // subps         %xmm3,%xmm10
+  .byte  69,15,40,194                        // movaps        %xmm10,%xmm8
+  .byte  68,15,89,196                        // mulps         %xmm4,%xmm8
+  .byte  68,15,88,192                        // addps         %xmm0,%xmm8
+  .byte  68,15,40,235                        // movaps        %xmm3,%xmm13
+  .byte  69,15,92,238                        // subps         %xmm14,%xmm13
+  .byte  68,15,89,244                        // mulps         %xmm4,%xmm14
+  .byte  15,40,207                           // movaps        %xmm7,%xmm1
+  .byte  15,92,204                           // subps         %xmm4,%xmm1
+  .byte  15,40,196                           // movaps        %xmm4,%xmm0
+  .byte  15,88,192                           // addps         %xmm0,%xmm0
+  .byte  15,194,199,2                        // cmpleps       %xmm7,%xmm0
+  .byte  69,15,88,246                        // addps         %xmm14,%xmm14
+  .byte  68,15,40,227                        // movaps        %xmm3,%xmm12
+  .byte  68,15,89,231                        // mulps         %xmm7,%xmm12
+  .byte  65,15,89,205                        // mulps         %xmm13,%xmm1
+  .byte  15,88,201                           // addps         %xmm1,%xmm1
+  .byte  69,15,40,236                        // movaps        %xmm12,%xmm13
+  .byte  68,15,92,233                        // subps         %xmm1,%xmm13
+  .byte  102,69,15,56,20,238                 // blendvps      %xmm0,%xmm14,%xmm13
+  .byte  69,15,88,197                        // addps         %xmm13,%xmm8
+  .byte  65,15,40,195                        // movaps        %xmm11,%xmm0
+  .byte  65,15,89,193                        // mulps         %xmm9,%xmm0
+  .byte  65,15,40,202                        // movaps        %xmm10,%xmm1
+  .byte  15,89,205                           // mulps         %xmm5,%xmm1
+  .byte  15,88,200                           // addps         %xmm0,%xmm1
+  .byte  68,15,40,235                        // movaps        %xmm3,%xmm13
+  .byte  69,15,92,233                        // subps         %xmm9,%xmm13
+  .byte  68,15,89,205                        // mulps         %xmm5,%xmm9
+  .byte  68,15,40,247                        // movaps        %xmm7,%xmm14
+  .byte  68,15,92,245                        // subps         %xmm5,%xmm14
+  .byte  15,40,197                           // movaps        %xmm5,%xmm0
+  .byte  15,88,192                           // addps         %xmm0,%xmm0
+  .byte  15,194,199,2                        // cmpleps       %xmm7,%xmm0
+  .byte  69,15,88,201                        // addps         %xmm9,%xmm9
+  .byte  69,15,89,245                        // mulps         %xmm13,%xmm14
+  .byte  69,15,88,246                        // addps         %xmm14,%xmm14
+  .byte  69,15,40,236                        // movaps        %xmm12,%xmm13
+  .byte  69,15,92,238                        // subps         %xmm14,%xmm13
+  .byte  102,69,15,56,20,233                 // blendvps      %xmm0,%xmm9,%xmm13
+  .byte  65,15,88,205                        // addps         %xmm13,%xmm1
+  .byte  68,15,89,218                        // mulps         %xmm2,%xmm11
+  .byte  69,15,40,202                        // movaps        %xmm10,%xmm9
+  .byte  68,15,89,206                        // mulps         %xmm6,%xmm9
+  .byte  69,15,88,203                        // addps         %xmm11,%xmm9
+  .byte  68,15,40,219                        // movaps        %xmm3,%xmm11
+  .byte  68,15,92,218                        // subps         %xmm2,%xmm11
+  .byte  15,89,214                           // mulps         %xmm6,%xmm2
+  .byte  68,15,40,239                        // movaps        %xmm7,%xmm13
+  .byte  68,15,92,238                        // subps         %xmm6,%xmm13
+  .byte  15,40,198                           // movaps        %xmm6,%xmm0
+  .byte  15,88,192                           // addps         %xmm0,%xmm0
+  .byte  15,194,199,2                        // cmpleps       %xmm7,%xmm0
+  .byte  15,88,210                           // addps         %xmm2,%xmm2
+  .byte  69,15,89,235                        // mulps         %xmm11,%xmm13
+  .byte  69,15,88,237                        // addps         %xmm13,%xmm13
+  .byte  69,15,92,229                        // subps         %xmm13,%xmm12
+  .byte  102,68,15,56,20,226                 // blendvps      %xmm0,%xmm2,%xmm12
+  .byte  69,15,88,204                        // addps         %xmm12,%xmm9
+  .byte  68,15,89,215                        // mulps         %xmm7,%xmm10
+  .byte  65,15,88,218                        // addps         %xmm10,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  65,15,40,209                        // movaps        %xmm9,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_softlight_sse41
+.globl _sk_softlight_sse41
+FUNCTION(_sk_softlight_sse41)
+_sk_softlight_sse41:
+  .byte  15,41,116,36,216                    // movaps        %xmm6,-0x28(%rsp)
+  .byte  15,40,244                           // movaps        %xmm4,%xmm6
+  .byte  15,41,84,36,232                     // movaps        %xmm2,-0x18(%rsp)
+  .byte  15,41,76,36,200                     // movaps        %xmm1,-0x38(%rsp)
+  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,194,207,1                     // cmpltps       %xmm7,%xmm9
+  .byte  15,40,198                           // movaps        %xmm6,%xmm0
+  .byte  15,94,199                           // divps         %xmm7,%xmm0
+  .byte  65,15,84,193                        // andps         %xmm9,%xmm0
+  .byte  15,40,13,233,246,1,0                // movaps        0x1f6e9(%rip),%xmm1        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  68,15,40,209                        // movaps        %xmm1,%xmm10
+  .byte  68,15,92,208                        // subps         %xmm0,%xmm10
+  .byte  68,15,40,240                        // movaps        %xmm0,%xmm14
+  .byte  68,15,40,248                        // movaps        %xmm0,%xmm15
+  .byte  15,82,208                           // rsqrtps       %xmm0,%xmm2
+  .byte  68,15,83,218                        // rcpps         %xmm2,%xmm11
+  .byte  68,15,92,216                        // subps         %xmm0,%xmm11
+  .byte  15,88,192                           // addps         %xmm0,%xmm0
+  .byte  15,88,192                           // addps         %xmm0,%xmm0
+  .byte  15,40,208                           // movaps        %xmm0,%xmm2
+  .byte  15,89,210                           // mulps         %xmm2,%xmm2
+  .byte  15,88,208                           // addps         %xmm0,%xmm2
+  .byte  68,15,40,45,23,247,1,0              // movaps        0x1f717(%rip),%xmm13        # 3cf70 <_sk_srcover_bgra_8888_sse2_lowp+0xd24>
+  .byte  69,15,88,245                        // addps         %xmm13,%xmm14
+  .byte  68,15,89,242                        // mulps         %xmm2,%xmm14
+  .byte  68,15,40,37,23,247,1,0              // movaps        0x1f717(%rip),%xmm12        # 3cf80 <_sk_srcover_bgra_8888_sse2_lowp+0xd34>
+  .byte  69,15,89,252                        // mulps         %xmm12,%xmm15
+  .byte  69,15,88,254                        // addps         %xmm14,%xmm15
+  .byte  15,40,198                           // movaps        %xmm6,%xmm0
+  .byte  15,88,192                           // addps         %xmm0,%xmm0
+  .byte  15,88,192                           // addps         %xmm0,%xmm0
+  .byte  15,194,199,2                        // cmpleps       %xmm7,%xmm0
+  .byte  102,69,15,56,20,223                 // blendvps      %xmm0,%xmm15,%xmm11
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  15,88,192                           // addps         %xmm0,%xmm0
+  .byte  15,40,208                           // movaps        %xmm0,%xmm2
+  .byte  15,92,211                           // subps         %xmm3,%xmm2
+  .byte  68,15,89,210                        // mulps         %xmm2,%xmm10
+  .byte  68,15,88,211                        // addps         %xmm3,%xmm10
+  .byte  68,15,89,214                        // mulps         %xmm6,%xmm10
+  .byte  15,89,215                           // mulps         %xmm7,%xmm2
+  .byte  68,15,89,218                        // mulps         %xmm2,%xmm11
+  .byte  15,40,211                           // movaps        %xmm3,%xmm2
+  .byte  15,89,214                           // mulps         %xmm6,%xmm2
+  .byte  68,15,88,218                        // addps         %xmm2,%xmm11
+  .byte  15,194,195,2                        // cmpleps       %xmm3,%xmm0
+  .byte  102,69,15,56,20,218                 // blendvps      %xmm0,%xmm10,%xmm11
+  .byte  68,15,40,213                        // movaps        %xmm5,%xmm10
+  .byte  68,15,94,215                        // divps         %xmm7,%xmm10
+  .byte  69,15,84,209                        // andps         %xmm9,%xmm10
+  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
+  .byte  15,88,192                           // addps         %xmm0,%xmm0
+  .byte  15,88,192                           // addps         %xmm0,%xmm0
+  .byte  15,40,208                           // movaps        %xmm0,%xmm2
+  .byte  15,89,210                           // mulps         %xmm2,%xmm2
+  .byte  15,88,208                           // addps         %xmm0,%xmm2
+  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
+  .byte  65,15,88,197                        // addps         %xmm13,%xmm0
+  .byte  15,89,194                           // mulps         %xmm2,%xmm0
+  .byte  65,15,40,210                        // movaps        %xmm10,%xmm2
+  .byte  65,15,89,212                        // mulps         %xmm12,%xmm2
+  .byte  15,88,208                           // addps         %xmm0,%xmm2
+  .byte  65,15,82,194                        // rsqrtps       %xmm10,%xmm0
+  .byte  68,15,83,240                        // rcpps         %xmm0,%xmm14
+  .byte  69,15,92,242                        // subps         %xmm10,%xmm14
+  .byte  15,40,197                           // movaps        %xmm5,%xmm0
+  .byte  15,40,229                           // movaps        %xmm5,%xmm4
+  .byte  15,88,192                           // addps         %xmm0,%xmm0
+  .byte  15,88,192                           // addps         %xmm0,%xmm0
+  .byte  15,194,199,2                        // cmpleps       %xmm7,%xmm0
+  .byte  102,68,15,56,20,242                 // blendvps      %xmm0,%xmm2,%xmm14
+  .byte  68,15,40,249                        // movaps        %xmm1,%xmm15
+  .byte  69,15,92,250                        // subps         %xmm10,%xmm15
+  .byte  15,40,108,36,200                    // movaps        -0x38(%rsp),%xmm5
+  .byte  15,40,197                           // movaps        %xmm5,%xmm0
+  .byte  15,88,192                           // addps         %xmm0,%xmm0
+  .byte  15,40,208                           // movaps        %xmm0,%xmm2
+  .byte  15,92,211                           // subps         %xmm3,%xmm2
+  .byte  68,15,89,250                        // mulps         %xmm2,%xmm15
+  .byte  15,89,215                           // mulps         %xmm7,%xmm2
+  .byte  68,15,89,242                        // mulps         %xmm2,%xmm14
+  .byte  15,40,211                           // movaps        %xmm3,%xmm2
+  .byte  15,41,100,36,184                    // movaps        %xmm4,-0x48(%rsp)
+  .byte  15,89,212                           // mulps         %xmm4,%xmm2
+  .byte  68,15,88,242                        // addps         %xmm2,%xmm14
+  .byte  68,15,88,251                        // addps         %xmm3,%xmm15
+  .byte  68,15,89,252                        // mulps         %xmm4,%xmm15
+  .byte  15,194,195,2                        // cmpleps       %xmm3,%xmm0
+  .byte  102,69,15,56,20,247                 // blendvps      %xmm0,%xmm15,%xmm14
+  .byte  68,15,40,249                        // movaps        %xmm1,%xmm15
+  .byte  15,40,100,36,216                    // movaps        -0x28(%rsp),%xmm4
+  .byte  15,40,196                           // movaps        %xmm4,%xmm0
+  .byte  15,94,199                           // divps         %xmm7,%xmm0
+  .byte  65,15,84,193                        // andps         %xmm9,%xmm0
+  .byte  68,15,40,209                        // movaps        %xmm1,%xmm10
+  .byte  15,92,200                           // subps         %xmm0,%xmm1
+  .byte  68,15,88,232                        // addps         %xmm0,%xmm13
+  .byte  68,15,89,224                        // mulps         %xmm0,%xmm12
+  .byte  15,82,208                           // rsqrtps       %xmm0,%xmm2
+  .byte  68,15,83,202                        // rcpps         %xmm2,%xmm9
+  .byte  68,15,92,200                        // subps         %xmm0,%xmm9
+  .byte  15,88,192                           // addps         %xmm0,%xmm0
+  .byte  15,88,192                           // addps         %xmm0,%xmm0
+  .byte  15,40,208                           // movaps        %xmm0,%xmm2
+  .byte  15,89,210                           // mulps         %xmm2,%xmm2
+  .byte  15,88,208                           // addps         %xmm0,%xmm2
+  .byte  68,15,89,234                        // mulps         %xmm2,%xmm13
+  .byte  69,15,88,229                        // addps         %xmm13,%xmm12
+  .byte  15,40,196                           // movaps        %xmm4,%xmm0
+  .byte  15,88,192                           // addps         %xmm0,%xmm0
+  .byte  15,88,192                           // addps         %xmm0,%xmm0
+  .byte  15,194,199,2                        // cmpleps       %xmm7,%xmm0
+  .byte  102,69,15,56,20,204                 // blendvps      %xmm0,%xmm12,%xmm9
+  .byte  68,15,40,100,36,232                 // movaps        -0x18(%rsp),%xmm12
+  .byte  65,15,40,196                        // movaps        %xmm12,%xmm0
+  .byte  15,88,192                           // addps         %xmm0,%xmm0
+  .byte  15,40,208                           // movaps        %xmm0,%xmm2
+  .byte  15,92,211                           // subps         %xmm3,%xmm2
+  .byte  15,89,202                           // mulps         %xmm2,%xmm1
+  .byte  15,89,215                           // mulps         %xmm7,%xmm2
+  .byte  68,15,89,202                        // mulps         %xmm2,%xmm9
+  .byte  15,40,211                           // movaps        %xmm3,%xmm2
+  .byte  15,89,212                           // mulps         %xmm4,%xmm2
+  .byte  68,15,88,202                        // addps         %xmm2,%xmm9
+  .byte  15,88,203                           // addps         %xmm3,%xmm1
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  15,194,195,2                        // cmpleps       %xmm3,%xmm0
+  .byte  102,68,15,56,20,201                 // blendvps      %xmm0,%xmm1,%xmm9
+  .byte  68,15,92,255                        // subps         %xmm7,%xmm15
+  .byte  69,15,89,199                        // mulps         %xmm15,%xmm8
+  .byte  15,40,205                           // movaps        %xmm5,%xmm1
+  .byte  65,15,89,207                        // mulps         %xmm15,%xmm1
+  .byte  69,15,89,252                        // mulps         %xmm12,%xmm15
+  .byte  68,15,92,211                        // subps         %xmm3,%xmm10
+  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
+  .byte  15,89,198                           // mulps         %xmm6,%xmm0
+  .byte  68,15,88,192                        // addps         %xmm0,%xmm8
+  .byte  69,15,88,195                        // addps         %xmm11,%xmm8
+  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
+  .byte  15,40,108,36,184                    // movaps        -0x48(%rsp),%xmm5
+  .byte  15,89,197                           // mulps         %xmm5,%xmm0
+  .byte  15,88,200                           // addps         %xmm0,%xmm1
+  .byte  65,15,88,206                        // addps         %xmm14,%xmm1
+  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  15,40,212                           // movaps        %xmm4,%xmm2
+  .byte  65,15,88,199                        // addps         %xmm15,%xmm0
+  .byte  68,15,88,200                        // addps         %xmm0,%xmm9
+  .byte  68,15,89,215                        // mulps         %xmm7,%xmm10
+  .byte  65,15,88,218                        // addps         %xmm10,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,230                           // movaps        %xmm6,%xmm4
+  .byte  15,40,242                           // movaps        %xmm2,%xmm6
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  65,15,40,209                        // movaps        %xmm9,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_hue_sse41
+.globl _sk_hue_sse41
+FUNCTION(_sk_hue_sse41)
+_sk_hue_sse41:
+  .byte  15,41,124,36,152                    // movaps        %xmm7,-0x68(%rsp)
+  .byte  68,15,40,246                        // movaps        %xmm6,%xmm14
+  .byte  15,40,244                           // movaps        %xmm4,%xmm6
+  .byte  68,15,40,195                        // movaps        %xmm3,%xmm8
+  .byte  15,41,84,36,232                     // movaps        %xmm2,-0x18(%rsp)
+  .byte  15,41,76,36,216                     // movaps        %xmm1,-0x28(%rsp)
+  .byte  68,15,40,208                        // movaps        %xmm0,%xmm10
+  .byte  68,15,41,84,36,200                  // movaps        %xmm10,-0x38(%rsp)
+  .byte  69,15,89,208                        // mulps         %xmm8,%xmm10
+  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
+  .byte  68,15,40,234                        // movaps        %xmm2,%xmm13
+  .byte  69,15,89,232                        // mulps         %xmm8,%xmm13
+  .byte  68,15,40,205                        // movaps        %xmm5,%xmm9
+  .byte  68,15,40,221                        // movaps        %xmm5,%xmm11
+  .byte  15,41,108,36,184                    // movaps        %xmm5,-0x48(%rsp)
+  .byte  69,15,95,222                        // maxps         %xmm14,%xmm11
+  .byte  15,40,254                           // movaps        %xmm6,%xmm7
+  .byte  68,15,40,230                        // movaps        %xmm6,%xmm12
+  .byte  15,40,214                           // movaps        %xmm6,%xmm2
+  .byte  65,15,95,211                        // maxps         %xmm11,%xmm2
+  .byte  65,15,40,230                        // movaps        %xmm14,%xmm4
+  .byte  15,41,100,36,168                    // movaps        %xmm4,-0x58(%rsp)
+  .byte  68,15,93,204                        // minps         %xmm4,%xmm9
+  .byte  65,15,93,249                        // minps         %xmm9,%xmm7
+  .byte  15,92,215                           // subps         %xmm7,%xmm2
+  .byte  15,40,249                           // movaps        %xmm1,%xmm7
+  .byte  65,15,93,253                        // minps         %xmm13,%xmm7
+  .byte  65,15,40,218                        // movaps        %xmm10,%xmm3
+  .byte  15,93,223                           // minps         %xmm7,%xmm3
+  .byte  15,40,249                           // movaps        %xmm1,%xmm7
+  .byte  65,15,95,253                        // maxps         %xmm13,%xmm7
+  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
+  .byte  15,95,199                           // maxps         %xmm7,%xmm0
+  .byte  15,40,253                           // movaps        %xmm5,%xmm7
+  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
+  .byte  15,92,195                           // subps         %xmm3,%xmm0
+  .byte  68,15,92,211                        // subps         %xmm3,%xmm10
+  .byte  15,92,203                           // subps         %xmm3,%xmm1
+  .byte  68,15,92,235                        // subps         %xmm3,%xmm13
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  68,15,89,210                        // mulps         %xmm2,%xmm10
+  .byte  68,15,94,208                        // divps         %xmm0,%xmm10
+  .byte  15,89,202                           // mulps         %xmm2,%xmm1
+  .byte  15,94,200                           // divps         %xmm0,%xmm1
+  .byte  68,15,89,234                        // mulps         %xmm2,%xmm13
+  .byte  68,15,94,232                        // divps         %xmm0,%xmm13
+  .byte  15,194,195,4                        // cmpneqps      %xmm3,%xmm0
+  .byte  68,15,84,208                        // andps         %xmm0,%xmm10
+  .byte  15,84,200                           // andps         %xmm0,%xmm1
+  .byte  68,15,84,232                        // andps         %xmm0,%xmm13
+  .byte  15,40,5,130,244,1,0                 // movaps        0x1f482(%rip),%xmm0        # 3cf90 <_sk_srcover_bgra_8888_sse2_lowp+0xd44>
+  .byte  68,15,89,224                        // mulps         %xmm0,%xmm12
+  .byte  15,40,21,135,244,1,0                // movaps        0x1f487(%rip),%xmm2        # 3cfa0 <_sk_srcover_bgra_8888_sse2_lowp+0xd54>
+  .byte  15,89,250                           // mulps         %xmm2,%xmm7
+  .byte  65,15,88,252                        // addps         %xmm12,%xmm7
+  .byte  68,15,40,53,136,244,1,0             // movaps        0x1f488(%rip),%xmm14        # 3cfb0 <_sk_srcover_bgra_8888_sse2_lowp+0xd64>
+  .byte  68,15,40,252                        // movaps        %xmm4,%xmm15
+  .byte  69,15,89,254                        // mulps         %xmm14,%xmm15
+  .byte  68,15,88,255                        // addps         %xmm7,%xmm15
+  .byte  65,15,40,218                        // movaps        %xmm10,%xmm3
+  .byte  15,89,216                           // mulps         %xmm0,%xmm3
+  .byte  15,40,249                           // movaps        %xmm1,%xmm7
+  .byte  15,89,250                           // mulps         %xmm2,%xmm7
+  .byte  15,88,251                           // addps         %xmm3,%xmm7
+  .byte  65,15,40,221                        // movaps        %xmm13,%xmm3
+  .byte  65,15,89,222                        // mulps         %xmm14,%xmm3
+  .byte  15,88,223                           // addps         %xmm7,%xmm3
+  .byte  69,15,89,248                        // mulps         %xmm8,%xmm15
+  .byte  68,15,92,251                        // subps         %xmm3,%xmm15
+  .byte  69,15,88,215                        // addps         %xmm15,%xmm10
+  .byte  65,15,88,207                        // addps         %xmm15,%xmm1
+  .byte  69,15,88,253                        // addps         %xmm13,%xmm15
+  .byte  15,40,217                           // movaps        %xmm1,%xmm3
+  .byte  65,15,93,223                        // minps         %xmm15,%xmm3
+  .byte  65,15,40,250                        // movaps        %xmm10,%xmm7
+  .byte  15,93,251                           // minps         %xmm3,%xmm7
+  .byte  65,15,89,194                        // mulps         %xmm10,%xmm0
+  .byte  15,89,209                           // mulps         %xmm1,%xmm2
+  .byte  15,88,208                           // addps         %xmm0,%xmm2
+  .byte  69,15,89,247                        // mulps         %xmm15,%xmm14
+  .byte  68,15,88,242                        // addps         %xmm2,%xmm14
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,194,207,2                     // cmpleps       %xmm7,%xmm9
+  .byte  65,15,40,222                        // movaps        %xmm14,%xmm3
+  .byte  15,92,223                           // subps         %xmm7,%xmm3
+  .byte  69,15,40,234                        // movaps        %xmm10,%xmm13
+  .byte  69,15,92,238                        // subps         %xmm14,%xmm13
+  .byte  69,15,89,238                        // mulps         %xmm14,%xmm13
+  .byte  68,15,94,235                        // divps         %xmm3,%xmm13
+  .byte  69,15,88,238                        // addps         %xmm14,%xmm13
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  102,69,15,56,20,234                 // blendvps      %xmm0,%xmm10,%xmm13
+  .byte  15,40,193                           // movaps        %xmm1,%xmm0
+  .byte  65,15,95,199                        // maxps         %xmm15,%xmm0
+  .byte  68,15,95,208                        // maxps         %xmm0,%xmm10
+  .byte  65,15,40,248                        // movaps        %xmm8,%xmm7
+  .byte  15,40,108,36,152                    // movaps        -0x68(%rsp),%xmm5
+  .byte  15,89,253                           // mulps         %xmm5,%xmm7
+  .byte  15,40,231                           // movaps        %xmm7,%xmm4
+  .byte  65,15,194,226,1                     // cmpltps       %xmm10,%xmm4
+  .byte  65,15,40,213                        // movaps        %xmm13,%xmm2
+  .byte  65,15,92,214                        // subps         %xmm14,%xmm2
+  .byte  68,15,40,223                        // movaps        %xmm7,%xmm11
+  .byte  69,15,92,222                        // subps         %xmm14,%xmm11
+  .byte  65,15,89,211                        // mulps         %xmm11,%xmm2
+  .byte  69,15,92,214                        // subps         %xmm14,%xmm10
+  .byte  65,15,94,210                        // divps         %xmm10,%xmm2
+  .byte  65,15,88,214                        // addps         %xmm14,%xmm2
+  .byte  15,40,196                           // movaps        %xmm4,%xmm0
+  .byte  102,68,15,56,20,234                 // blendvps      %xmm0,%xmm2,%xmm13
+  .byte  68,15,40,225                        // movaps        %xmm1,%xmm12
+  .byte  69,15,92,230                        // subps         %xmm14,%xmm12
+  .byte  69,15,89,230                        // mulps         %xmm14,%xmm12
+  .byte  68,15,94,227                        // divps         %xmm3,%xmm12
+  .byte  69,15,88,230                        // addps         %xmm14,%xmm12
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  102,68,15,56,20,225                 // blendvps      %xmm0,%xmm1,%xmm12
+  .byte  65,15,40,204                        // movaps        %xmm12,%xmm1
+  .byte  65,15,92,206                        // subps         %xmm14,%xmm1
+  .byte  65,15,89,203                        // mulps         %xmm11,%xmm1
+  .byte  65,15,94,202                        // divps         %xmm10,%xmm1
+  .byte  65,15,88,206                        // addps         %xmm14,%xmm1
+  .byte  15,40,196                           // movaps        %xmm4,%xmm0
+  .byte  102,68,15,56,20,225                 // blendvps      %xmm0,%xmm1,%xmm12
+  .byte  65,15,40,207                        // movaps        %xmm15,%xmm1
+  .byte  65,15,92,206                        // subps         %xmm14,%xmm1
+  .byte  65,15,89,206                        // mulps         %xmm14,%xmm1
+  .byte  15,94,203                           // divps         %xmm3,%xmm1
+  .byte  65,15,88,206                        // addps         %xmm14,%xmm1
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  102,65,15,56,20,207                 // blendvps      %xmm0,%xmm15,%xmm1
+  .byte  15,40,209                           // movaps        %xmm1,%xmm2
+  .byte  65,15,92,214                        // subps         %xmm14,%xmm2
+  .byte  65,15,89,211                        // mulps         %xmm11,%xmm2
+  .byte  65,15,94,210                        // divps         %xmm10,%xmm2
+  .byte  65,15,88,214                        // addps         %xmm14,%xmm2
+  .byte  15,40,196                           // movaps        %xmm4,%xmm0
+  .byte  102,15,56,20,202                    // blendvps      %xmm0,%xmm2,%xmm1
+  .byte  68,15,40,13,156,242,1,0             // movaps        0x1f29c(%rip),%xmm9        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  65,15,40,225                        // movaps        %xmm9,%xmm4
+  .byte  15,92,229                           // subps         %xmm5,%xmm4
+  .byte  15,40,68,36,200                     // movaps        -0x38(%rsp),%xmm0
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  15,40,92,36,216                     // movaps        -0x28(%rsp),%xmm3
+  .byte  15,89,220                           // mulps         %xmm4,%xmm3
+  .byte  15,89,100,36,232                    // mulps         -0x18(%rsp),%xmm4
+  .byte  69,15,92,200                        // subps         %xmm8,%xmm9
+  .byte  68,15,88,197                        // addps         %xmm5,%xmm8
+  .byte  68,15,40,213                        // movaps        %xmm5,%xmm10
+  .byte  68,15,92,199                        // subps         %xmm7,%xmm8
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  68,15,95,234                        // maxps         %xmm2,%xmm13
+  .byte  68,15,95,226                        // maxps         %xmm2,%xmm12
+  .byte  15,95,202                           // maxps         %xmm2,%xmm1
+  .byte  65,15,40,209                        // movaps        %xmm9,%xmm2
+  .byte  15,89,214                           // mulps         %xmm6,%xmm2
+  .byte  15,88,194                           // addps         %xmm2,%xmm0
+  .byte  65,15,88,197                        // addps         %xmm13,%xmm0
+  .byte  65,15,40,209                        // movaps        %xmm9,%xmm2
+  .byte  15,40,108,36,184                    // movaps        -0x48(%rsp),%xmm5
+  .byte  15,89,213                           // mulps         %xmm5,%xmm2
+  .byte  15,88,218                           // addps         %xmm2,%xmm3
+  .byte  65,15,88,220                        // addps         %xmm12,%xmm3
+  .byte  15,40,211                           // movaps        %xmm3,%xmm2
+  .byte  15,40,92,36,168                     // movaps        -0x58(%rsp),%xmm3
+  .byte  68,15,89,203                        // mulps         %xmm3,%xmm9
+  .byte  68,15,88,204                        // addps         %xmm4,%xmm9
+  .byte  68,15,88,201                        // addps         %xmm1,%xmm9
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,230                           // movaps        %xmm6,%xmm4
+  .byte  15,40,243                           // movaps        %xmm3,%xmm6
+  .byte  15,40,202                           // movaps        %xmm2,%xmm1
+  .byte  65,15,40,209                        // movaps        %xmm9,%xmm2
+  .byte  65,15,40,216                        // movaps        %xmm8,%xmm3
+  .byte  65,15,40,250                        // movaps        %xmm10,%xmm7
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_saturation_sse41
+.globl _sk_saturation_sse41
+FUNCTION(_sk_saturation_sse41)
+_sk_saturation_sse41:
+  .byte  68,15,40,206                        // movaps        %xmm6,%xmm9
+  .byte  15,40,245                           // movaps        %xmm5,%xmm6
+  .byte  15,40,236                           // movaps        %xmm4,%xmm5
+  .byte  15,40,227                           // movaps        %xmm3,%xmm4
+  .byte  15,41,76,36,216                     // movaps        %xmm1,-0x28(%rsp)
+  .byte  15,41,68,36,200                     // movaps        %xmm0,-0x38(%rsp)
+  .byte  68,15,40,212                        // movaps        %xmm4,%xmm10
+  .byte  68,15,89,213                        // mulps         %xmm5,%xmm10
+  .byte  68,15,40,220                        // movaps        %xmm4,%xmm11
+  .byte  68,15,89,222                        // mulps         %xmm6,%xmm11
+  .byte  68,15,40,196                        // movaps        %xmm4,%xmm8
+  .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
+  .byte  69,15,40,241                        // movaps        %xmm9,%xmm14
+  .byte  68,15,41,116,36,184                 // movaps        %xmm14,-0x48(%rsp)
+  .byte  15,40,217                           // movaps        %xmm1,%xmm3
+  .byte  68,15,40,202                        // movaps        %xmm2,%xmm9
+  .byte  68,15,41,76,36,232                  // movaps        %xmm9,-0x18(%rsp)
+  .byte  65,15,95,217                        // maxps         %xmm9,%xmm3
+  .byte  15,40,208                           // movaps        %xmm0,%xmm2
+  .byte  15,95,211                           // maxps         %xmm3,%xmm2
+  .byte  68,15,40,225                        // movaps        %xmm1,%xmm12
+  .byte  69,15,93,225                        // minps         %xmm9,%xmm12
+  .byte  15,40,216                           // movaps        %xmm0,%xmm3
+  .byte  65,15,93,220                        // minps         %xmm12,%xmm3
+  .byte  15,92,211                           // subps         %xmm3,%xmm2
+  .byte  15,89,215                           // mulps         %xmm7,%xmm2
+  .byte  68,15,40,231                        // movaps        %xmm7,%xmm12
+  .byte  68,15,41,100,36,168                 // movaps        %xmm12,-0x58(%rsp)
+  .byte  65,15,40,195                        // movaps        %xmm11,%xmm0
+  .byte  65,15,93,192                        // minps         %xmm8,%xmm0
+  .byte  65,15,40,218                        // movaps        %xmm10,%xmm3
+  .byte  15,93,216                           // minps         %xmm0,%xmm3
+  .byte  65,15,40,195                        // movaps        %xmm11,%xmm0
+  .byte  65,15,95,192                        // maxps         %xmm8,%xmm0
+  .byte  65,15,40,250                        // movaps        %xmm10,%xmm7
+  .byte  15,95,248                           // maxps         %xmm0,%xmm7
+  .byte  15,92,251                           // subps         %xmm3,%xmm7
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  68,15,92,211                        // subps         %xmm3,%xmm10
+  .byte  68,15,89,210                        // mulps         %xmm2,%xmm10
+  .byte  68,15,94,215                        // divps         %xmm7,%xmm10
+  .byte  68,15,92,219                        // subps         %xmm3,%xmm11
+  .byte  68,15,89,218                        // mulps         %xmm2,%xmm11
+  .byte  68,15,94,223                        // divps         %xmm7,%xmm11
+  .byte  68,15,92,195                        // subps         %xmm3,%xmm8
+  .byte  68,15,89,194                        // mulps         %xmm2,%xmm8
+  .byte  68,15,94,199                        // divps         %xmm7,%xmm8
+  .byte  15,194,248,4                        // cmpneqps      %xmm0,%xmm7
+  .byte  68,15,84,215                        // andps         %xmm7,%xmm10
+  .byte  68,15,84,223                        // andps         %xmm7,%xmm11
+  .byte  68,15,84,199                        // andps         %xmm7,%xmm8
+  .byte  15,40,21,198,241,1,0                // movaps        0x1f1c6(%rip),%xmm2        # 3cf90 <_sk_srcover_bgra_8888_sse2_lowp+0xd44>
+  .byte  15,40,221                           // movaps        %xmm5,%xmm3
+  .byte  15,89,218                           // mulps         %xmm2,%xmm3
+  .byte  15,40,13,201,241,1,0                // movaps        0x1f1c9(%rip),%xmm1        # 3cfa0 <_sk_srcover_bgra_8888_sse2_lowp+0xd54>
+  .byte  15,40,254                           // movaps        %xmm6,%xmm7
+  .byte  15,89,249                           // mulps         %xmm1,%xmm7
+  .byte  15,88,251                           // addps         %xmm3,%xmm7
+  .byte  68,15,40,45,200,241,1,0             // movaps        0x1f1c8(%rip),%xmm13        # 3cfb0 <_sk_srcover_bgra_8888_sse2_lowp+0xd64>
+  .byte  69,15,89,245                        // mulps         %xmm13,%xmm14
+  .byte  68,15,88,247                        // addps         %xmm7,%xmm14
+  .byte  65,15,40,218                        // movaps        %xmm10,%xmm3
+  .byte  15,89,218                           // mulps         %xmm2,%xmm3
+  .byte  65,15,40,251                        // movaps        %xmm11,%xmm7
+  .byte  15,89,249                           // mulps         %xmm1,%xmm7
+  .byte  15,88,251                           // addps         %xmm3,%xmm7
+  .byte  65,15,40,216                        // movaps        %xmm8,%xmm3
+  .byte  65,15,89,221                        // mulps         %xmm13,%xmm3
+  .byte  15,88,223                           // addps         %xmm7,%xmm3
+  .byte  68,15,89,244                        // mulps         %xmm4,%xmm14
+  .byte  68,15,92,243                        // subps         %xmm3,%xmm14
+  .byte  69,15,88,214                        // addps         %xmm14,%xmm10
+  .byte  69,15,88,222                        // addps         %xmm14,%xmm11
+  .byte  69,15,88,240                        // addps         %xmm8,%xmm14
+  .byte  65,15,40,195                        // movaps        %xmm11,%xmm0
+  .byte  65,15,93,198                        // minps         %xmm14,%xmm0
+  .byte  65,15,40,218                        // movaps        %xmm10,%xmm3
+  .byte  15,93,216                           // minps         %xmm0,%xmm3
+  .byte  65,15,89,210                        // mulps         %xmm10,%xmm2
+  .byte  65,15,89,203                        // mulps         %xmm11,%xmm1
+  .byte  15,88,202                           // addps         %xmm2,%xmm1
+  .byte  69,15,89,238                        // mulps         %xmm14,%xmm13
+  .byte  68,15,88,233                        // addps         %xmm1,%xmm13
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,194,203,2                     // cmpleps       %xmm3,%xmm9
+  .byte  65,15,40,253                        // movaps        %xmm13,%xmm7
+  .byte  15,92,251                           // subps         %xmm3,%xmm7
+  .byte  69,15,40,250                        // movaps        %xmm10,%xmm15
+  .byte  69,15,92,253                        // subps         %xmm13,%xmm15
+  .byte  69,15,89,253                        // mulps         %xmm13,%xmm15
+  .byte  68,15,94,255                        // divps         %xmm7,%xmm15
+  .byte  69,15,88,253                        // addps         %xmm13,%xmm15
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  102,69,15,56,20,250                 // blendvps      %xmm0,%xmm10,%xmm15
+  .byte  65,15,40,195                        // movaps        %xmm11,%xmm0
+  .byte  65,15,95,198                        // maxps         %xmm14,%xmm0
+  .byte  68,15,95,208                        // maxps         %xmm0,%xmm10
+  .byte  15,40,212                           // movaps        %xmm4,%xmm2
+  .byte  65,15,89,212                        // mulps         %xmm12,%xmm2
+  .byte  68,15,40,194                        // movaps        %xmm2,%xmm8
+  .byte  69,15,194,194,1                     // cmpltps       %xmm10,%xmm8
+  .byte  65,15,40,223                        // movaps        %xmm15,%xmm3
+  .byte  65,15,92,221                        // subps         %xmm13,%xmm3
+  .byte  15,40,202                           // movaps        %xmm2,%xmm1
+  .byte  65,15,92,205                        // subps         %xmm13,%xmm1
+  .byte  15,89,217                           // mulps         %xmm1,%xmm3
+  .byte  69,15,92,213                        // subps         %xmm13,%xmm10
+  .byte  65,15,94,218                        // divps         %xmm10,%xmm3
+  .byte  65,15,88,221                        // addps         %xmm13,%xmm3
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  102,68,15,56,20,251                 // blendvps      %xmm0,%xmm3,%xmm15
+  .byte  69,15,40,227                        // movaps        %xmm11,%xmm12
+  .byte  69,15,92,229                        // subps         %xmm13,%xmm12
+  .byte  69,15,89,229                        // mulps         %xmm13,%xmm12
+  .byte  68,15,94,231                        // divps         %xmm7,%xmm12
+  .byte  69,15,88,229                        // addps         %xmm13,%xmm12
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  102,69,15,56,20,227                 // blendvps      %xmm0,%xmm11,%xmm12
+  .byte  65,15,40,220                        // movaps        %xmm12,%xmm3
+  .byte  65,15,92,221                        // subps         %xmm13,%xmm3
+  .byte  15,89,217                           // mulps         %xmm1,%xmm3
+  .byte  65,15,94,218                        // divps         %xmm10,%xmm3
+  .byte  65,15,88,221                        // addps         %xmm13,%xmm3
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  102,68,15,56,20,227                 // blendvps      %xmm0,%xmm3,%xmm12
+  .byte  69,15,40,222                        // movaps        %xmm14,%xmm11
+  .byte  69,15,92,221                        // subps         %xmm13,%xmm11
+  .byte  69,15,89,221                        // mulps         %xmm13,%xmm11
+  .byte  68,15,94,223                        // divps         %xmm7,%xmm11
+  .byte  69,15,88,221                        // addps         %xmm13,%xmm11
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  102,69,15,56,20,222                 // blendvps      %xmm0,%xmm14,%xmm11
+  .byte  65,15,40,251                        // movaps        %xmm11,%xmm7
+  .byte  65,15,92,253                        // subps         %xmm13,%xmm7
+  .byte  15,89,249                           // mulps         %xmm1,%xmm7
+  .byte  65,15,94,250                        // divps         %xmm10,%xmm7
+  .byte  65,15,88,253                        // addps         %xmm13,%xmm7
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  102,68,15,56,20,223                 // blendvps      %xmm0,%xmm7,%xmm11
+  .byte  68,15,40,13,222,239,1,0             // movaps        0x1efde(%rip),%xmm9        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,40,193                        // movaps        %xmm9,%xmm8
+  .byte  68,15,92,204                        // subps         %xmm4,%xmm9
+  .byte  15,40,124,36,168                    // movaps        -0x58(%rsp),%xmm7
+  .byte  15,88,231                           // addps         %xmm7,%xmm4
+  .byte  15,92,226                           // subps         %xmm2,%xmm4
+  .byte  15,40,220                           // movaps        %xmm4,%xmm3
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  68,15,95,248                        // maxps         %xmm0,%xmm15
+  .byte  68,15,95,224                        // maxps         %xmm0,%xmm12
+  .byte  68,15,95,216                        // maxps         %xmm0,%xmm11
+  .byte  65,15,40,201                        // movaps        %xmm9,%xmm1
+  .byte  15,89,205                           // mulps         %xmm5,%xmm1
+  .byte  68,15,92,199                        // subps         %xmm7,%xmm8
+  .byte  15,40,68,36,200                     // movaps        -0x38(%rsp),%xmm0
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  15,88,193                           // addps         %xmm1,%xmm0
+  .byte  65,15,88,199                        // addps         %xmm15,%xmm0
+  .byte  65,15,40,201                        // movaps        %xmm9,%xmm1
+  .byte  15,89,206                           // mulps         %xmm6,%xmm1
+  .byte  15,40,84,36,216                     // movaps        -0x28(%rsp),%xmm2
+  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
+  .byte  15,88,209                           // addps         %xmm1,%xmm2
+  .byte  65,15,88,212                        // addps         %xmm12,%xmm2
+  .byte  15,40,202                           // movaps        %xmm2,%xmm1
+  .byte  68,15,89,68,36,232                  // mulps         -0x18(%rsp),%xmm8
+  .byte  15,40,84,36,184                     // movaps        -0x48(%rsp),%xmm2
+  .byte  68,15,89,202                        // mulps         %xmm2,%xmm9
+  .byte  69,15,88,200                        // addps         %xmm8,%xmm9
+  .byte  69,15,88,203                        // addps         %xmm11,%xmm9
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,229                           // movaps        %xmm5,%xmm4
+  .byte  15,40,238                           // movaps        %xmm6,%xmm5
+  .byte  15,40,242                           // movaps        %xmm2,%xmm6
+  .byte  65,15,40,209                        // movaps        %xmm9,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_color_sse41
+.globl _sk_color_sse41
+FUNCTION(_sk_color_sse41)
+_sk_color_sse41:
+  .byte  68,15,40,230                        // movaps        %xmm6,%xmm12
+  .byte  68,15,41,100,36,200                 // movaps        %xmm12,-0x38(%rsp)
+  .byte  68,15,40,221                        // movaps        %xmm5,%xmm11
+  .byte  68,15,41,92,36,216                  // movaps        %xmm11,-0x28(%rsp)
+  .byte  68,15,40,212                        // movaps        %xmm4,%xmm10
+  .byte  68,15,41,84,36,232                  // movaps        %xmm10,-0x18(%rsp)
+  .byte  15,40,243                           // movaps        %xmm3,%xmm6
+  .byte  15,41,84,36,184                     // movaps        %xmm2,-0x48(%rsp)
+  .byte  15,40,233                           // movaps        %xmm1,%xmm5
+  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
+  .byte  69,15,40,240                        // movaps        %xmm8,%xmm14
+  .byte  15,40,231                           // movaps        %xmm7,%xmm4
+  .byte  68,15,89,244                        // mulps         %xmm4,%xmm14
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  68,15,40,13,153,239,1,0             // movaps        0x1ef99(%rip),%xmm9        # 3cf90 <_sk_srcover_bgra_8888_sse2_lowp+0xd44>
+  .byte  65,15,40,250                        // movaps        %xmm10,%xmm7
+  .byte  65,15,89,249                        // mulps         %xmm9,%xmm7
+  .byte  68,15,40,21,153,239,1,0             // movaps        0x1ef99(%rip),%xmm10        # 3cfa0 <_sk_srcover_bgra_8888_sse2_lowp+0xd54>
+  .byte  65,15,40,219                        // movaps        %xmm11,%xmm3
+  .byte  65,15,89,218                        // mulps         %xmm10,%xmm3
+  .byte  15,88,223                           // addps         %xmm7,%xmm3
+  .byte  68,15,40,29,150,239,1,0             // movaps        0x1ef96(%rip),%xmm11        # 3cfb0 <_sk_srcover_bgra_8888_sse2_lowp+0xd64>
+  .byte  69,15,40,236                        // movaps        %xmm12,%xmm13
+  .byte  69,15,89,235                        // mulps         %xmm11,%xmm13
+  .byte  68,15,88,235                        // addps         %xmm3,%xmm13
+  .byte  65,15,40,222                        // movaps        %xmm14,%xmm3
+  .byte  65,15,89,217                        // mulps         %xmm9,%xmm3
+  .byte  15,40,249                           // movaps        %xmm1,%xmm7
+  .byte  65,15,89,250                        // mulps         %xmm10,%xmm7
+  .byte  15,88,251                           // addps         %xmm3,%xmm7
+  .byte  15,40,194                           // movaps        %xmm2,%xmm0
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  15,40,216                           // movaps        %xmm0,%xmm3
+  .byte  65,15,89,219                        // mulps         %xmm11,%xmm3
+  .byte  15,88,223                           // addps         %xmm7,%xmm3
+  .byte  68,15,89,238                        // mulps         %xmm6,%xmm13
+  .byte  68,15,92,235                        // subps         %xmm3,%xmm13
+  .byte  69,15,88,245                        // addps         %xmm13,%xmm14
+  .byte  65,15,88,205                        // addps         %xmm13,%xmm1
+  .byte  68,15,88,232                        // addps         %xmm0,%xmm13
+  .byte  15,40,193                           // movaps        %xmm1,%xmm0
+  .byte  65,15,93,197                        // minps         %xmm13,%xmm0
+  .byte  65,15,40,222                        // movaps        %xmm14,%xmm3
+  .byte  15,93,216                           // minps         %xmm0,%xmm3
+  .byte  69,15,89,206                        // mulps         %xmm14,%xmm9
+  .byte  68,15,89,209                        // mulps         %xmm1,%xmm10
+  .byte  69,15,88,209                        // addps         %xmm9,%xmm10
+  .byte  69,15,89,221                        // mulps         %xmm13,%xmm11
+  .byte  69,15,88,218                        // addps         %xmm10,%xmm11
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,194,203,2                     // cmpleps       %xmm3,%xmm9
+  .byte  69,15,40,230                        // movaps        %xmm14,%xmm12
+  .byte  69,15,92,227                        // subps         %xmm11,%xmm12
+  .byte  69,15,89,227                        // mulps         %xmm11,%xmm12
+  .byte  65,15,40,251                        // movaps        %xmm11,%xmm7
+  .byte  15,92,251                           // subps         %xmm3,%xmm7
+  .byte  68,15,94,231                        // divps         %xmm7,%xmm12
+  .byte  69,15,88,227                        // addps         %xmm11,%xmm12
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  102,69,15,56,20,230                 // blendvps      %xmm0,%xmm14,%xmm12
+  .byte  15,40,193                           // movaps        %xmm1,%xmm0
+  .byte  65,15,95,197                        // maxps         %xmm13,%xmm0
+  .byte  65,15,40,214                        // movaps        %xmm14,%xmm2
+  .byte  15,95,208                           // maxps         %xmm0,%xmm2
+  .byte  15,40,222                           // movaps        %xmm6,%xmm3
+  .byte  15,89,220                           // mulps         %xmm4,%xmm3
+  .byte  68,15,40,211                        // movaps        %xmm3,%xmm10
+  .byte  68,15,194,210,1                     // cmpltps       %xmm2,%xmm10
+  .byte  69,15,40,244                        // movaps        %xmm12,%xmm14
+  .byte  69,15,92,243                        // subps         %xmm11,%xmm14
+  .byte  68,15,40,251                        // movaps        %xmm3,%xmm15
+  .byte  69,15,92,251                        // subps         %xmm11,%xmm15
+  .byte  69,15,89,247                        // mulps         %xmm15,%xmm14
+  .byte  65,15,92,211                        // subps         %xmm11,%xmm2
+  .byte  68,15,94,242                        // divps         %xmm2,%xmm14
+  .byte  69,15,88,243                        // addps         %xmm11,%xmm14
+  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
+  .byte  102,69,15,56,20,230                 // blendvps      %xmm0,%xmm14,%xmm12
+  .byte  68,15,40,241                        // movaps        %xmm1,%xmm14
+  .byte  69,15,92,243                        // subps         %xmm11,%xmm14
+  .byte  69,15,89,243                        // mulps         %xmm11,%xmm14
+  .byte  68,15,94,247                        // divps         %xmm7,%xmm14
+  .byte  69,15,88,243                        // addps         %xmm11,%xmm14
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  102,68,15,56,20,241                 // blendvps      %xmm0,%xmm1,%xmm14
+  .byte  65,15,40,206                        // movaps        %xmm14,%xmm1
+  .byte  65,15,92,203                        // subps         %xmm11,%xmm1
+  .byte  65,15,89,207                        // mulps         %xmm15,%xmm1
+  .byte  15,94,202                           // divps         %xmm2,%xmm1
+  .byte  65,15,88,203                        // addps         %xmm11,%xmm1
+  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
+  .byte  102,68,15,56,20,241                 // blendvps      %xmm0,%xmm1,%xmm14
+  .byte  65,15,40,205                        // movaps        %xmm13,%xmm1
+  .byte  65,15,92,203                        // subps         %xmm11,%xmm1
+  .byte  65,15,89,203                        // mulps         %xmm11,%xmm1
+  .byte  15,94,207                           // divps         %xmm7,%xmm1
+  .byte  65,15,88,203                        // addps         %xmm11,%xmm1
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  102,65,15,56,20,205                 // blendvps      %xmm0,%xmm13,%xmm1
+  .byte  15,40,249                           // movaps        %xmm1,%xmm7
+  .byte  65,15,92,251                        // subps         %xmm11,%xmm7
+  .byte  65,15,89,255                        // mulps         %xmm15,%xmm7
+  .byte  15,94,250                           // divps         %xmm2,%xmm7
+  .byte  65,15,88,251                        // addps         %xmm11,%xmm7
+  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
+  .byte  102,15,56,20,207                    // blendvps      %xmm0,%xmm7,%xmm1
+  .byte  68,15,40,13,162,237,1,0             // movaps        0x1eda2(%rip),%xmm9        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  15,92,196                           // subps         %xmm4,%xmm0
+  .byte  68,15,89,192                        // mulps         %xmm0,%xmm8
+  .byte  15,89,232                           // mulps         %xmm0,%xmm5
+  .byte  15,89,68,36,184                     // mulps         -0x48(%rsp),%xmm0
+  .byte  68,15,92,206                        // subps         %xmm6,%xmm9
+  .byte  15,88,244                           // addps         %xmm4,%xmm6
+  .byte  15,40,252                           // movaps        %xmm4,%xmm7
+  .byte  15,92,243                           // subps         %xmm3,%xmm6
+  .byte  15,40,222                           // movaps        %xmm6,%xmm3
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  68,15,95,226                        // maxps         %xmm2,%xmm12
+  .byte  68,15,95,242                        // maxps         %xmm2,%xmm14
+  .byte  15,95,202                           // maxps         %xmm2,%xmm1
+  .byte  65,15,40,209                        // movaps        %xmm9,%xmm2
+  .byte  15,40,100,36,232                    // movaps        -0x18(%rsp),%xmm4
+  .byte  15,89,212                           // mulps         %xmm4,%xmm2
+  .byte  68,15,88,194                        // addps         %xmm2,%xmm8
+  .byte  69,15,88,196                        // addps         %xmm12,%xmm8
+  .byte  65,15,40,209                        // movaps        %xmm9,%xmm2
+  .byte  15,40,116,36,216                    // movaps        -0x28(%rsp),%xmm6
+  .byte  15,89,214                           // mulps         %xmm6,%xmm2
+  .byte  68,15,40,213                        // movaps        %xmm5,%xmm10
+  .byte  68,15,88,210                        // addps         %xmm2,%xmm10
+  .byte  69,15,88,214                        // addps         %xmm14,%xmm10
+  .byte  15,40,84,36,200                     // movaps        -0x38(%rsp),%xmm2
+  .byte  68,15,89,202                        // mulps         %xmm2,%xmm9
+  .byte  68,15,88,200                        // addps         %xmm0,%xmm9
+  .byte  68,15,88,201                        // addps         %xmm1,%xmm9
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,238                           // movaps        %xmm6,%xmm5
+  .byte  15,40,242                           // movaps        %xmm2,%xmm6
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  65,15,40,202                        // movaps        %xmm10,%xmm1
+  .byte  65,15,40,209                        // movaps        %xmm9,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_luminosity_sse41
+.globl _sk_luminosity_sse41
+FUNCTION(_sk_luminosity_sse41)
+_sk_luminosity_sse41:
+  .byte  15,41,116,36,200                    // movaps        %xmm6,-0x38(%rsp)
+  .byte  15,41,108,36,232                    // movaps        %xmm5,-0x18(%rsp)
+  .byte  68,15,40,196                        // movaps        %xmm4,%xmm8
+  .byte  68,15,41,68,36,216                  // movaps        %xmm8,-0x28(%rsp)
+  .byte  15,41,84,36,184                     // movaps        %xmm2,-0x48(%rsp)
+  .byte  15,40,224                           // movaps        %xmm0,%xmm4
+  .byte  68,15,40,219                        // movaps        %xmm3,%xmm11
+  .byte  69,15,89,216                        // mulps         %xmm8,%xmm11
+  .byte  68,15,40,203                        // movaps        %xmm3,%xmm9
+  .byte  68,15,89,205                        // mulps         %xmm5,%xmm9
+  .byte  68,15,40,5,106,237,1,0              // movaps        0x1ed6a(%rip),%xmm8        # 3cf90 <_sk_srcover_bgra_8888_sse2_lowp+0xd44>
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  68,15,40,21,110,237,1,0             // movaps        0x1ed6e(%rip),%xmm10        # 3cfa0 <_sk_srcover_bgra_8888_sse2_lowp+0xd54>
+  .byte  15,40,233                           // movaps        %xmm1,%xmm5
+  .byte  65,15,89,234                        // mulps         %xmm10,%xmm5
+  .byte  15,88,232                           // addps         %xmm0,%xmm5
+  .byte  68,15,40,37,108,237,1,0             // movaps        0x1ed6c(%rip),%xmm12        # 3cfb0 <_sk_srcover_bgra_8888_sse2_lowp+0xd64>
+  .byte  68,15,40,242                        // movaps        %xmm2,%xmm14
+  .byte  69,15,89,244                        // mulps         %xmm12,%xmm14
+  .byte  68,15,88,245                        // addps         %xmm5,%xmm14
+  .byte  65,15,40,235                        // movaps        %xmm11,%xmm5
+  .byte  65,15,89,232                        // mulps         %xmm8,%xmm5
+  .byte  65,15,40,209                        // movaps        %xmm9,%xmm2
+  .byte  65,15,89,210                        // mulps         %xmm10,%xmm2
+  .byte  15,88,213                           // addps         %xmm5,%xmm2
+  .byte  15,40,195                           // movaps        %xmm3,%xmm0
+  .byte  15,89,198                           // mulps         %xmm6,%xmm0
+  .byte  15,40,232                           // movaps        %xmm0,%xmm5
+  .byte  65,15,89,236                        // mulps         %xmm12,%xmm5
+  .byte  15,88,234                           // addps         %xmm2,%xmm5
+  .byte  68,15,89,247                        // mulps         %xmm7,%xmm14
+  .byte  68,15,92,245                        // subps         %xmm5,%xmm14
+  .byte  69,15,88,222                        // addps         %xmm14,%xmm11
+  .byte  69,15,88,206                        // addps         %xmm14,%xmm9
+  .byte  68,15,88,240                        // addps         %xmm0,%xmm14
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  65,15,93,198                        // minps         %xmm14,%xmm0
+  .byte  65,15,40,235                        // movaps        %xmm11,%xmm5
+  .byte  15,93,232                           // minps         %xmm0,%xmm5
+  .byte  69,15,89,195                        // mulps         %xmm11,%xmm8
+  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
+  .byte  69,15,88,208                        // addps         %xmm8,%xmm10
+  .byte  69,15,89,230                        // mulps         %xmm14,%xmm12
+  .byte  69,15,88,226                        // addps         %xmm10,%xmm12
+  .byte  69,15,87,210                        // xorps         %xmm10,%xmm10
+  .byte  68,15,194,213,2                     // cmpleps       %xmm5,%xmm10
+  .byte  69,15,40,235                        // movaps        %xmm11,%xmm13
+  .byte  69,15,92,236                        // subps         %xmm12,%xmm13
+  .byte  69,15,89,236                        // mulps         %xmm12,%xmm13
+  .byte  65,15,40,244                        // movaps        %xmm12,%xmm6
+  .byte  15,92,245                           // subps         %xmm5,%xmm6
+  .byte  68,15,94,238                        // divps         %xmm6,%xmm13
+  .byte  69,15,88,236                        // addps         %xmm12,%xmm13
+  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
+  .byte  102,69,15,56,20,235                 // blendvps      %xmm0,%xmm11,%xmm13
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  65,15,95,198                        // maxps         %xmm14,%xmm0
+  .byte  65,15,40,211                        // movaps        %xmm11,%xmm2
+  .byte  15,95,208                           // maxps         %xmm0,%xmm2
+  .byte  15,40,235                           // movaps        %xmm3,%xmm5
+  .byte  15,89,239                           // mulps         %xmm7,%xmm5
+  .byte  68,15,40,221                        // movaps        %xmm5,%xmm11
+  .byte  68,15,194,218,1                     // cmpltps       %xmm2,%xmm11
+  .byte  69,15,40,197                        // movaps        %xmm13,%xmm8
+  .byte  69,15,92,196                        // subps         %xmm12,%xmm8
+  .byte  68,15,40,253                        // movaps        %xmm5,%xmm15
+  .byte  69,15,92,252                        // subps         %xmm12,%xmm15
+  .byte  69,15,89,199                        // mulps         %xmm15,%xmm8
+  .byte  65,15,92,212                        // subps         %xmm12,%xmm2
+  .byte  68,15,94,194                        // divps         %xmm2,%xmm8
+  .byte  69,15,88,196                        // addps         %xmm12,%xmm8
+  .byte  65,15,40,195                        // movaps        %xmm11,%xmm0
+  .byte  102,69,15,56,20,232                 // blendvps      %xmm0,%xmm8,%xmm13
+  .byte  69,15,40,193                        // movaps        %xmm9,%xmm8
+  .byte  69,15,92,196                        // subps         %xmm12,%xmm8
+  .byte  69,15,89,196                        // mulps         %xmm12,%xmm8
+  .byte  68,15,94,198                        // divps         %xmm6,%xmm8
+  .byte  69,15,88,196                        // addps         %xmm12,%xmm8
+  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
+  .byte  102,69,15,56,20,193                 // blendvps      %xmm0,%xmm9,%xmm8
+  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
+  .byte  69,15,92,204                        // subps         %xmm12,%xmm9
+  .byte  69,15,89,207                        // mulps         %xmm15,%xmm9
+  .byte  68,15,94,202                        // divps         %xmm2,%xmm9
+  .byte  69,15,88,204                        // addps         %xmm12,%xmm9
+  .byte  65,15,40,195                        // movaps        %xmm11,%xmm0
+  .byte  102,69,15,56,20,193                 // blendvps      %xmm0,%xmm9,%xmm8
+  .byte  69,15,40,206                        // movaps        %xmm14,%xmm9
+  .byte  69,15,92,204                        // subps         %xmm12,%xmm9
+  .byte  69,15,89,204                        // mulps         %xmm12,%xmm9
+  .byte  68,15,94,206                        // divps         %xmm6,%xmm9
+  .byte  69,15,88,204                        // addps         %xmm12,%xmm9
+  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
+  .byte  102,69,15,56,20,206                 // blendvps      %xmm0,%xmm14,%xmm9
+  .byte  65,15,40,241                        // movaps        %xmm9,%xmm6
+  .byte  65,15,92,244                        // subps         %xmm12,%xmm6
+  .byte  65,15,89,247                        // mulps         %xmm15,%xmm6
+  .byte  15,94,242                           // divps         %xmm2,%xmm6
+  .byte  65,15,88,244                        // addps         %xmm12,%xmm6
+  .byte  65,15,40,195                        // movaps        %xmm11,%xmm0
+  .byte  102,68,15,56,20,206                 // blendvps      %xmm0,%xmm6,%xmm9
+  .byte  15,40,5,114,235,1,0                 // movaps        0x1eb72(%rip),%xmm0        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  15,40,208                           // movaps        %xmm0,%xmm2
+  .byte  15,92,215                           // subps         %xmm7,%xmm2
+  .byte  15,89,226                           // mulps         %xmm2,%xmm4
+  .byte  15,89,202                           // mulps         %xmm2,%xmm1
+  .byte  15,89,84,36,184                     // mulps         -0x48(%rsp),%xmm2
+  .byte  15,92,195                           // subps         %xmm3,%xmm0
+  .byte  15,88,223                           // addps         %xmm7,%xmm3
+  .byte  15,92,221                           // subps         %xmm5,%xmm3
+  .byte  15,87,237                           // xorps         %xmm5,%xmm5
+  .byte  68,15,95,237                        // maxps         %xmm5,%xmm13
+  .byte  68,15,95,197                        // maxps         %xmm5,%xmm8
+  .byte  68,15,95,205                        // maxps         %xmm5,%xmm9
+  .byte  15,40,232                           // movaps        %xmm0,%xmm5
+  .byte  68,15,40,84,36,216                  // movaps        -0x28(%rsp),%xmm10
+  .byte  65,15,89,234                        // mulps         %xmm10,%xmm5
+  .byte  15,88,229                           // addps         %xmm5,%xmm4
+  .byte  65,15,88,229                        // addps         %xmm13,%xmm4
+  .byte  15,40,240                           // movaps        %xmm0,%xmm6
+  .byte  15,40,108,36,232                    // movaps        -0x18(%rsp),%xmm5
+  .byte  15,89,245                           // mulps         %xmm5,%xmm6
+  .byte  15,88,206                           // addps         %xmm6,%xmm1
+  .byte  65,15,88,200                        // addps         %xmm8,%xmm1
+  .byte  15,40,116,36,200                    // movaps        -0x38(%rsp),%xmm6
+  .byte  15,89,198                           // mulps         %xmm6,%xmm0
+  .byte  15,88,194                           // addps         %xmm2,%xmm0
+  .byte  68,15,88,200                        // addps         %xmm0,%xmm9
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,196                           // movaps        %xmm4,%xmm0
+  .byte  65,15,40,209                        // movaps        %xmm9,%xmm2
+  .byte  65,15,40,226                        // movaps        %xmm10,%xmm4
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_srcover_rgba_8888_sse41
+.globl _sk_srcover_rgba_8888_sse41
+FUNCTION(_sk_srcover_rgba_8888_sse41)
+_sk_srcover_rgba_8888_sse41:
+  .byte  102,68,15,111,200                   // movdqa        %xmm0,%xmm9
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,0,1,0,0                      // jne           1e52a <_sk_srcover_rgba_8888_sse41+0x11f>
+  .byte  243,65,15,111,4,144                 // movdqu        (%r8,%rdx,4),%xmm0
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  102,15,111,37,133,235,1,0           // movdqa        0x1eb85(%rip),%xmm4        # 3cfc0 <_sk_srcover_bgra_8888_sse2_lowp+0xd74>
+  .byte  102,15,219,224                      // pand          %xmm0,%xmm4
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  102,15,111,232                      // movdqa        %xmm0,%xmm5
+  .byte  102,15,56,0,45,129,235,1,0          // pshufb        0x1eb81(%rip),%xmm5        # 3cfd0 <_sk_srcover_bgra_8888_sse2_lowp+0xd84>
+  .byte  15,91,237                           // cvtdq2ps      %xmm5,%xmm5
+  .byte  102,15,111,240                      // movdqa        %xmm0,%xmm6
+  .byte  102,15,56,0,53,129,235,1,0          // pshufb        0x1eb81(%rip),%xmm6        # 3cfe0 <_sk_srcover_bgra_8888_sse2_lowp+0xd94>
+  .byte  69,15,87,219                        // xorps         %xmm11,%xmm11
+  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
+  .byte  102,15,114,208,24                   // psrld         $0x18,%xmm0
+  .byte  15,91,248                           // cvtdq2ps      %xmm0,%xmm7
+  .byte  68,15,40,5,154,234,1,0              // movaps        0x1ea9a(%rip),%xmm8        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  68,15,92,195                        // subps         %xmm3,%xmm8
+  .byte  68,15,40,37,110,235,1,0             // movaps        0x1eb6e(%rip),%xmm12        # 3cff0 <_sk_srcover_bgra_8888_sse2_lowp+0xda4>
+  .byte  69,15,89,204                        // mulps         %xmm12,%xmm9
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  65,15,88,193                        // addps         %xmm9,%xmm0
+  .byte  65,15,89,204                        // mulps         %xmm12,%xmm1
+  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
+  .byte  68,15,89,205                        // mulps         %xmm5,%xmm9
+  .byte  68,15,88,201                        // addps         %xmm1,%xmm9
+  .byte  65,15,89,212                        // mulps         %xmm12,%xmm2
+  .byte  69,15,40,208                        // movaps        %xmm8,%xmm10
+  .byte  68,15,89,214                        // mulps         %xmm6,%xmm10
+  .byte  68,15,88,210                        // addps         %xmm2,%xmm10
+  .byte  65,15,89,220                        // mulps         %xmm12,%xmm3
+  .byte  68,15,89,199                        // mulps         %xmm7,%xmm8
+  .byte  68,15,88,195                        // addps         %xmm3,%xmm8
+  .byte  15,87,201                           // xorps         %xmm1,%xmm1
+  .byte  15,95,200                           // maxps         %xmm0,%xmm1
+  .byte  65,15,93,204                        // minps         %xmm12,%xmm1
+  .byte  102,15,91,201                       // cvtps2dq      %xmm1,%xmm1
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  65,15,95,209                        // maxps         %xmm9,%xmm2
+  .byte  65,15,93,212                        // minps         %xmm12,%xmm2
+  .byte  102,15,91,210                       // cvtps2dq      %xmm2,%xmm2
+  .byte  102,15,114,242,8                    // pslld         $0x8,%xmm2
+  .byte  102,15,235,209                      // por           %xmm1,%xmm2
+  .byte  102,15,87,201                       // xorpd         %xmm1,%xmm1
+  .byte  65,15,95,202                        // maxps         %xmm10,%xmm1
+  .byte  65,15,93,204                        // minps         %xmm12,%xmm1
+  .byte  102,15,91,217                       // cvtps2dq      %xmm1,%xmm3
+  .byte  102,15,114,243,16                   // pslld         $0x10,%xmm3
+  .byte  69,15,95,216                        // maxps         %xmm8,%xmm11
+  .byte  69,15,93,220                        // minps         %xmm12,%xmm11
+  .byte  102,65,15,91,203                    // cvtps2dq      %xmm11,%xmm1
+  .byte  102,15,114,241,24                   // pslld         $0x18,%xmm1
+  .byte  102,15,235,203                      // por           %xmm3,%xmm1
+  .byte  102,15,235,202                      // por           %xmm2,%xmm1
+  .byte  117,75                              // jne           1e55f <_sk_srcover_rgba_8888_sse41+0x154>
+  .byte  243,65,15,127,12,144                // movdqu        %xmm1,(%r8,%rdx,4)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,201                        // movaps        %xmm9,%xmm1
+  .byte  65,15,40,210                        // movaps        %xmm10,%xmm2
+  .byte  65,15,40,216                        // movaps        %xmm8,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,78                              // je            1e580 <_sk_srcover_rgba_8888_sse41+0x175>
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,20                              // je            1e54e <_sk_srcover_rgba_8888_sse41+0x143>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  15,133,238,254,255,255              // jne           1e430 <_sk_srcover_rgba_8888_sse41+0x25>
+  .byte  102,65,15,110,68,144,8              // movd          0x8(%r8,%rdx,4),%xmm0
+  .byte  102,15,112,192,69                   // pshufd        $0x45,%xmm0,%xmm0
+  .byte  243,65,15,126,36,144                // movq          (%r8,%rdx,4),%xmm4
+  .byte  102,15,58,14,196,15                 // pblendw       $0xf,%xmm4,%xmm0
+  .byte  233,209,254,255,255                 // jmpq          1e430 <_sk_srcover_rgba_8888_sse41+0x25>
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,36                              // je            1e58b <_sk_srcover_rgba_8888_sse41+0x180>
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,13                              // je            1e578 <_sk_srcover_rgba_8888_sse41+0x16d>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,171                             // jne           1e51a <_sk_srcover_rgba_8888_sse41+0x10f>
+  .byte  102,65,15,58,22,76,144,8,2          // pextrd        $0x2,%xmm1,0x8(%r8,%rdx,4)
+  .byte  102,65,15,214,12,144                // movq          %xmm1,(%r8,%rdx,4)
+  .byte  235,154                             // jmp           1e51a <_sk_srcover_rgba_8888_sse41+0x10f>
+  .byte  102,65,15,110,4,144                 // movd          (%r8,%rdx,4),%xmm0
+  .byte  233,165,254,255,255                 // jmpq          1e430 <_sk_srcover_rgba_8888_sse41+0x25>
+  .byte  102,65,15,126,12,144                // movd          %xmm1,(%r8,%rdx,4)
+  .byte  235,135                             // jmp           1e51a <_sk_srcover_rgba_8888_sse41+0x10f>
+
+HIDDEN _sk_srcover_bgra_8888_sse41
+.globl _sk_srcover_bgra_8888_sse41
+FUNCTION(_sk_srcover_bgra_8888_sse41)
+_sk_srcover_bgra_8888_sse41:
+  .byte  102,68,15,111,200                   // movdqa        %xmm0,%xmm9
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,0,1,0,0                      // jne           1e6b2 <_sk_srcover_bgra_8888_sse41+0x11f>
+  .byte  243,65,15,111,4,144                 // movdqu        (%r8,%rdx,4),%xmm0
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  102,15,111,37,253,233,1,0           // movdqa        0x1e9fd(%rip),%xmm4        # 3cfc0 <_sk_srcover_bgra_8888_sse2_lowp+0xd74>
+  .byte  102,15,219,224                      // pand          %xmm0,%xmm4
+  .byte  15,91,244                           // cvtdq2ps      %xmm4,%xmm6
+  .byte  102,15,111,224                      // movdqa        %xmm0,%xmm4
+  .byte  102,15,56,0,37,249,233,1,0          // pshufb        0x1e9f9(%rip),%xmm4        # 3cfd0 <_sk_srcover_bgra_8888_sse2_lowp+0xd84>
+  .byte  15,91,236                           // cvtdq2ps      %xmm4,%xmm5
+  .byte  102,15,111,224                      // movdqa        %xmm0,%xmm4
+  .byte  102,15,56,0,37,249,233,1,0          // pshufb        0x1e9f9(%rip),%xmm4        # 3cfe0 <_sk_srcover_bgra_8888_sse2_lowp+0xd94>
+  .byte  69,15,87,219                        // xorps         %xmm11,%xmm11
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  102,15,114,208,24                   // psrld         $0x18,%xmm0
+  .byte  15,91,248                           // cvtdq2ps      %xmm0,%xmm7
+  .byte  68,15,40,5,18,233,1,0               // movaps        0x1e912(%rip),%xmm8        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  68,15,92,195                        // subps         %xmm3,%xmm8
+  .byte  68,15,40,37,230,233,1,0             // movaps        0x1e9e6(%rip),%xmm12        # 3cff0 <_sk_srcover_bgra_8888_sse2_lowp+0xda4>
+  .byte  69,15,89,204                        // mulps         %xmm12,%xmm9
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  65,15,88,193                        // addps         %xmm9,%xmm0
+  .byte  65,15,89,204                        // mulps         %xmm12,%xmm1
+  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
+  .byte  68,15,89,205                        // mulps         %xmm5,%xmm9
+  .byte  68,15,88,201                        // addps         %xmm1,%xmm9
+  .byte  65,15,89,212                        // mulps         %xmm12,%xmm2
+  .byte  69,15,40,208                        // movaps        %xmm8,%xmm10
+  .byte  68,15,89,214                        // mulps         %xmm6,%xmm10
+  .byte  68,15,88,210                        // addps         %xmm2,%xmm10
+  .byte  65,15,89,220                        // mulps         %xmm12,%xmm3
+  .byte  68,15,89,199                        // mulps         %xmm7,%xmm8
+  .byte  68,15,88,195                        // addps         %xmm3,%xmm8
+  .byte  15,87,201                           // xorps         %xmm1,%xmm1
+  .byte  65,15,95,202                        // maxps         %xmm10,%xmm1
+  .byte  65,15,93,204                        // minps         %xmm12,%xmm1
+  .byte  102,15,91,201                       // cvtps2dq      %xmm1,%xmm1
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  65,15,95,209                        // maxps         %xmm9,%xmm2
+  .byte  65,15,93,212                        // minps         %xmm12,%xmm2
+  .byte  102,15,91,210                       // cvtps2dq      %xmm2,%xmm2
+  .byte  102,15,114,242,8                    // pslld         $0x8,%xmm2
+  .byte  102,15,235,209                      // por           %xmm1,%xmm2
+  .byte  102,15,87,201                       // xorpd         %xmm1,%xmm1
+  .byte  15,95,200                           // maxps         %xmm0,%xmm1
+  .byte  65,15,93,204                        // minps         %xmm12,%xmm1
+  .byte  102,15,91,217                       // cvtps2dq      %xmm1,%xmm3
+  .byte  102,15,114,243,16                   // pslld         $0x10,%xmm3
+  .byte  69,15,95,216                        // maxps         %xmm8,%xmm11
+  .byte  69,15,93,220                        // minps         %xmm12,%xmm11
+  .byte  102,65,15,91,203                    // cvtps2dq      %xmm11,%xmm1
+  .byte  102,15,114,241,24                   // pslld         $0x18,%xmm1
+  .byte  102,15,235,203                      // por           %xmm3,%xmm1
+  .byte  102,15,235,202                      // por           %xmm2,%xmm1
+  .byte  117,75                              // jne           1e6e7 <_sk_srcover_bgra_8888_sse41+0x154>
+  .byte  243,65,15,127,12,144                // movdqu        %xmm1,(%r8,%rdx,4)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,201                        // movaps        %xmm9,%xmm1
+  .byte  65,15,40,210                        // movaps        %xmm10,%xmm2
+  .byte  65,15,40,216                        // movaps        %xmm8,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,78                              // je            1e708 <_sk_srcover_bgra_8888_sse41+0x175>
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,20                              // je            1e6d6 <_sk_srcover_bgra_8888_sse41+0x143>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  15,133,238,254,255,255              // jne           1e5b8 <_sk_srcover_bgra_8888_sse41+0x25>
+  .byte  102,65,15,110,68,144,8              // movd          0x8(%r8,%rdx,4),%xmm0
+  .byte  102,15,112,192,69                   // pshufd        $0x45,%xmm0,%xmm0
+  .byte  243,65,15,126,36,144                // movq          (%r8,%rdx,4),%xmm4
+  .byte  102,15,58,14,196,15                 // pblendw       $0xf,%xmm4,%xmm0
+  .byte  233,209,254,255,255                 // jmpq          1e5b8 <_sk_srcover_bgra_8888_sse41+0x25>
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,36                              // je            1e713 <_sk_srcover_bgra_8888_sse41+0x180>
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,13                              // je            1e700 <_sk_srcover_bgra_8888_sse41+0x16d>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,171                             // jne           1e6a2 <_sk_srcover_bgra_8888_sse41+0x10f>
+  .byte  102,65,15,58,22,76,144,8,2          // pextrd        $0x2,%xmm1,0x8(%r8,%rdx,4)
+  .byte  102,65,15,214,12,144                // movq          %xmm1,(%r8,%rdx,4)
+  .byte  235,154                             // jmp           1e6a2 <_sk_srcover_bgra_8888_sse41+0x10f>
+  .byte  102,65,15,110,4,144                 // movd          (%r8,%rdx,4),%xmm0
+  .byte  233,165,254,255,255                 // jmpq          1e5b8 <_sk_srcover_bgra_8888_sse41+0x25>
+  .byte  102,65,15,126,12,144                // movd          %xmm1,(%r8,%rdx,4)
+  .byte  235,135                             // jmp           1e6a2 <_sk_srcover_bgra_8888_sse41+0x10f>
+
+HIDDEN _sk_clamp_0_sse41
+.globl _sk_clamp_0_sse41
+FUNCTION(_sk_clamp_0_sse41)
+_sk_clamp_0_sse41:
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  65,15,95,192                        // maxps         %xmm8,%xmm0
+  .byte  65,15,95,200                        // maxps         %xmm8,%xmm1
+  .byte  65,15,95,208                        // maxps         %xmm8,%xmm2
+  .byte  65,15,95,216                        // maxps         %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_clamp_1_sse41
+.globl _sk_clamp_1_sse41
+FUNCTION(_sk_clamp_1_sse41)
+_sk_clamp_1_sse41:
+  .byte  68,15,40,5,213,231,1,0              // movaps        0x1e7d5(%rip),%xmm8        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  65,15,93,192                        // minps         %xmm8,%xmm0
+  .byte  65,15,93,200                        // minps         %xmm8,%xmm1
+  .byte  65,15,93,208                        // minps         %xmm8,%xmm2
+  .byte  65,15,93,216                        // minps         %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_clamp_a_sse41
+.globl _sk_clamp_a_sse41
+FUNCTION(_sk_clamp_a_sse41)
+_sk_clamp_a_sse41:
+  .byte  15,93,29,186,231,1,0                // minps         0x1e7ba(%rip),%xmm3        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  15,93,195                           // minps         %xmm3,%xmm0
+  .byte  15,93,203                           // minps         %xmm3,%xmm1
+  .byte  15,93,211                           // minps         %xmm3,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_clamp_a_dst_sse41
+.globl _sk_clamp_a_dst_sse41
+FUNCTION(_sk_clamp_a_dst_sse41)
+_sk_clamp_a_dst_sse41:
+  .byte  15,93,61,166,231,1,0                // minps         0x1e7a6(%rip),%xmm7        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  15,93,231                           // minps         %xmm7,%xmm4
+  .byte  15,93,239                           // minps         %xmm7,%xmm5
+  .byte  15,93,247                           // minps         %xmm7,%xmm6
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_set_rgb_sse41
+.globl _sk_set_rgb_sse41
+FUNCTION(_sk_set_rgb_sse41)
+_sk_set_rgb_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,15,16,0                         // movss         (%rax),%xmm0
+  .byte  243,15,16,72,4                      // movss         0x4(%rax),%xmm1
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
+  .byte  243,15,16,80,8                      // movss         0x8(%rax),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_swap_rb_sse41
+.globl _sk_swap_rb_sse41
+FUNCTION(_sk_swap_rb_sse41)
+_sk_swap_rb_sse41:
+  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,194                           // movaps        %xmm2,%xmm0
+  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_invert_sse41
+.globl _sk_invert_sse41
+FUNCTION(_sk_invert_sse41)
+_sk_invert_sse41:
+  .byte  68,15,40,5,98,231,1,0               // movaps        0x1e762(%rip),%xmm8        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
+  .byte  68,15,92,200                        // subps         %xmm0,%xmm9
+  .byte  69,15,40,208                        // movaps        %xmm8,%xmm10
+  .byte  68,15,92,209                        // subps         %xmm1,%xmm10
+  .byte  69,15,40,216                        // movaps        %xmm8,%xmm11
+  .byte  68,15,92,218                        // subps         %xmm2,%xmm11
+  .byte  68,15,92,195                        // subps         %xmm3,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  65,15,40,202                        // movaps        %xmm10,%xmm1
+  .byte  65,15,40,211                        // movaps        %xmm11,%xmm2
+  .byte  65,15,40,216                        // movaps        %xmm8,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_move_src_dst_sse41
+.globl _sk_move_src_dst_sse41
+FUNCTION(_sk_move_src_dst_sse41)
+_sk_move_src_dst_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,224                           // movaps        %xmm0,%xmm4
+  .byte  15,40,233                           // movaps        %xmm1,%xmm5
+  .byte  15,40,242                           // movaps        %xmm2,%xmm6
+  .byte  15,40,251                           // movaps        %xmm3,%xmm7
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_move_dst_src_sse41
+.globl _sk_move_dst_src_sse41
+FUNCTION(_sk_move_dst_src_sse41)
+_sk_move_dst_src_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,196                           // movaps        %xmm4,%xmm0
+  .byte  15,40,205                           // movaps        %xmm5,%xmm1
+  .byte  15,40,214                           // movaps        %xmm6,%xmm2
+  .byte  15,40,223                           // movaps        %xmm7,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_premul_sse41
+.globl _sk_premul_sse41
+FUNCTION(_sk_premul_sse41)
+_sk_premul_sse41:
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  15,89,203                           // mulps         %xmm3,%xmm1
+  .byte  15,89,211                           // mulps         %xmm3,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_premul_dst_sse41
+.globl _sk_premul_dst_sse41
+FUNCTION(_sk_premul_dst_sse41)
+_sk_premul_dst_sse41:
+  .byte  15,89,231                           // mulps         %xmm7,%xmm4
+  .byte  15,89,239                           // mulps         %xmm7,%xmm5
+  .byte  15,89,247                           // mulps         %xmm7,%xmm6
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_unpremul_sse41
+.globl _sk_unpremul_sse41
+FUNCTION(_sk_unpremul_sse41)
+_sk_unpremul_sse41:
+  .byte  68,15,40,5,240,230,1,0              // movaps        0x1e6f0(%rip),%xmm8        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  68,15,94,195                        // divps         %xmm3,%xmm8
+  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
+  .byte  68,15,194,13,207,231,1,0,1          // cmpltps       0x1e7cf(%rip),%xmm9        # 3d000 <_sk_srcover_bgra_8888_sse2_lowp+0xdb4>
+  .byte  69,15,84,200                        // andps         %xmm8,%xmm9
+  .byte  65,15,89,193                        // mulps         %xmm9,%xmm0
+  .byte  65,15,89,201                        // mulps         %xmm9,%xmm1
+  .byte  65,15,89,209                        // mulps         %xmm9,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_force_opaque_sse41
+.globl _sk_force_opaque_sse41
+FUNCTION(_sk_force_opaque_sse41)
+_sk_force_opaque_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,29,194,230,1,0                // movaps        0x1e6c2(%rip),%xmm3        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_force_opaque_dst_sse41
+.globl _sk_force_opaque_dst_sse41
+FUNCTION(_sk_force_opaque_dst_sse41)
+_sk_force_opaque_dst_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,61,183,230,1,0                // movaps        0x1e6b7(%rip),%xmm7        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_from_srgb_sse41
+.globl _sk_from_srgb_sse41
+FUNCTION(_sk_from_srgb_sse41)
+_sk_from_srgb_sse41:
+  .byte  68,15,40,29,173,231,1,0             // movaps        0x1e7ad(%rip),%xmm11        # 3d010 <_sk_srcover_bgra_8888_sse2_lowp+0xdc4>
+  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
+  .byte  69,15,89,203                        // mulps         %xmm11,%xmm9
+  .byte  68,15,40,208                        // movaps        %xmm0,%xmm10
+  .byte  69,15,89,210                        // mulps         %xmm10,%xmm10
+  .byte  68,15,40,37,21,231,1,0              // movaps        0x1e715(%rip),%xmm12        # 3cf90 <_sk_srcover_bgra_8888_sse2_lowp+0xd44>
+  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
+  .byte  69,15,89,196                        // mulps         %xmm12,%xmm8
+  .byte  68,15,40,45,149,231,1,0             // movaps        0x1e795(%rip),%xmm13        # 3d020 <_sk_srcover_bgra_8888_sse2_lowp+0xdd4>
+  .byte  69,15,88,197                        // addps         %xmm13,%xmm8
+  .byte  69,15,89,194                        // mulps         %xmm10,%xmm8
+  .byte  68,15,40,53,149,231,1,0             // movaps        0x1e795(%rip),%xmm14        # 3d030 <_sk_srcover_bgra_8888_sse2_lowp+0xde4>
+  .byte  69,15,88,198                        // addps         %xmm14,%xmm8
+  .byte  68,15,40,61,153,231,1,0             // movaps        0x1e799(%rip),%xmm15        # 3d040 <_sk_srcover_bgra_8888_sse2_lowp+0xdf4>
+  .byte  65,15,194,199,1                     // cmpltps       %xmm15,%xmm0
+  .byte  102,69,15,56,20,193                 // blendvps      %xmm0,%xmm9,%xmm8
+  .byte  68,15,40,209                        // movaps        %xmm1,%xmm10
+  .byte  69,15,89,211                        // mulps         %xmm11,%xmm10
+  .byte  15,40,193                           // movaps        %xmm1,%xmm0
+  .byte  15,89,192                           // mulps         %xmm0,%xmm0
+  .byte  68,15,40,201                        // movaps        %xmm1,%xmm9
+  .byte  69,15,89,204                        // mulps         %xmm12,%xmm9
+  .byte  69,15,88,205                        // addps         %xmm13,%xmm9
+  .byte  68,15,89,200                        // mulps         %xmm0,%xmm9
+  .byte  69,15,88,206                        // addps         %xmm14,%xmm9
+  .byte  65,15,194,207,1                     // cmpltps       %xmm15,%xmm1
+  .byte  15,40,193                           // movaps        %xmm1,%xmm0
+  .byte  102,69,15,56,20,202                 // blendvps      %xmm0,%xmm10,%xmm9
+  .byte  68,15,89,218                        // mulps         %xmm2,%xmm11
+  .byte  68,15,40,210                        // movaps        %xmm2,%xmm10
+  .byte  69,15,89,210                        // mulps         %xmm10,%xmm10
+  .byte  68,15,89,226                        // mulps         %xmm2,%xmm12
+  .byte  69,15,88,229                        // addps         %xmm13,%xmm12
+  .byte  69,15,89,212                        // mulps         %xmm12,%xmm10
+  .byte  69,15,88,214                        // addps         %xmm14,%xmm10
+  .byte  65,15,194,215,1                     // cmpltps       %xmm15,%xmm2
+  .byte  15,40,194                           // movaps        %xmm2,%xmm0
+  .byte  102,69,15,56,20,211                 // blendvps      %xmm0,%xmm11,%xmm10
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  65,15,40,201                        // movaps        %xmm9,%xmm1
+  .byte  65,15,40,210                        // movaps        %xmm10,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_from_srgb_dst_sse41
+.globl _sk_from_srgb_dst_sse41
+FUNCTION(_sk_from_srgb_dst_sse41)
+_sk_from_srgb_dst_sse41:
+  .byte  68,15,40,204                        // movaps        %xmm4,%xmm9
+  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
+  .byte  68,15,40,29,228,230,1,0             // movaps        0x1e6e4(%rip),%xmm11        # 3d010 <_sk_srcover_bgra_8888_sse2_lowp+0xdc4>
+  .byte  69,15,40,209                        // movaps        %xmm9,%xmm10
+  .byte  69,15,89,211                        // mulps         %xmm11,%xmm10
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  15,89,192                           // mulps         %xmm0,%xmm0
+  .byte  68,15,40,37,77,230,1,0              // movaps        0x1e64d(%rip),%xmm12        # 3cf90 <_sk_srcover_bgra_8888_sse2_lowp+0xd44>
+  .byte  65,15,89,228                        // mulps         %xmm12,%xmm4
+  .byte  68,15,40,45,209,230,1,0             // movaps        0x1e6d1(%rip),%xmm13        # 3d020 <_sk_srcover_bgra_8888_sse2_lowp+0xdd4>
+  .byte  65,15,88,229                        // addps         %xmm13,%xmm4
+  .byte  15,89,224                           // mulps         %xmm0,%xmm4
+  .byte  68,15,40,53,210,230,1,0             // movaps        0x1e6d2(%rip),%xmm14        # 3d030 <_sk_srcover_bgra_8888_sse2_lowp+0xde4>
+  .byte  65,15,88,230                        // addps         %xmm14,%xmm4
+  .byte  68,15,40,61,214,230,1,0             // movaps        0x1e6d6(%rip),%xmm15        # 3d040 <_sk_srcover_bgra_8888_sse2_lowp+0xdf4>
+  .byte  69,15,194,207,1                     // cmpltps       %xmm15,%xmm9
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  102,65,15,56,20,226                 // blendvps      %xmm0,%xmm10,%xmm4
+  .byte  68,15,40,213                        // movaps        %xmm5,%xmm10
+  .byte  69,15,89,211                        // mulps         %xmm11,%xmm10
+  .byte  15,40,197                           // movaps        %xmm5,%xmm0
+  .byte  15,89,192                           // mulps         %xmm0,%xmm0
+  .byte  68,15,40,205                        // movaps        %xmm5,%xmm9
+  .byte  69,15,89,204                        // mulps         %xmm12,%xmm9
+  .byte  69,15,88,205                        // addps         %xmm13,%xmm9
+  .byte  68,15,89,200                        // mulps         %xmm0,%xmm9
+  .byte  69,15,88,206                        // addps         %xmm14,%xmm9
+  .byte  65,15,194,239,1                     // cmpltps       %xmm15,%xmm5
+  .byte  15,40,197                           // movaps        %xmm5,%xmm0
+  .byte  102,69,15,56,20,202                 // blendvps      %xmm0,%xmm10,%xmm9
+  .byte  68,15,89,222                        // mulps         %xmm6,%xmm11
+  .byte  68,15,40,214                        // movaps        %xmm6,%xmm10
+  .byte  69,15,89,210                        // mulps         %xmm10,%xmm10
+  .byte  68,15,89,230                        // mulps         %xmm6,%xmm12
+  .byte  69,15,88,229                        // addps         %xmm13,%xmm12
+  .byte  69,15,89,212                        // mulps         %xmm12,%xmm10
+  .byte  69,15,88,214                        // addps         %xmm14,%xmm10
+  .byte  65,15,194,247,1                     // cmpltps       %xmm15,%xmm6
+  .byte  15,40,198                           // movaps        %xmm6,%xmm0
+  .byte  102,69,15,56,20,211                 // blendvps      %xmm0,%xmm11,%xmm10
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  65,15,40,233                        // movaps        %xmm9,%xmm5
+  .byte  65,15,40,242                        // movaps        %xmm10,%xmm6
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_to_srgb_sse41
+.globl _sk_to_srgb_sse41
+FUNCTION(_sk_to_srgb_sse41)
+_sk_to_srgb_sse41:
+  .byte  15,41,124,36,232                    // movaps        %xmm7,-0x18(%rsp)
+  .byte  15,40,254                           // movaps        %xmm6,%xmm7
+  .byte  15,40,245                           // movaps        %xmm5,%xmm6
+  .byte  15,40,236                           // movaps        %xmm4,%xmm5
+  .byte  15,40,227                           // movaps        %xmm3,%xmm4
+  .byte  15,40,218                           // movaps        %xmm2,%xmm3
+  .byte  15,40,209                           // movaps        %xmm1,%xmm2
+  .byte  68,15,82,192                        // rsqrtps       %xmm0,%xmm8
+  .byte  68,15,40,29,74,230,1,0              // movaps        0x1e64a(%rip),%xmm11        # 3d050 <_sk_srcover_bgra_8888_sse2_lowp+0xe04>
+  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
+  .byte  69,15,89,203                        // mulps         %xmm11,%xmm9
+  .byte  68,15,40,37,74,230,1,0              // movaps        0x1e64a(%rip),%xmm12        # 3d060 <_sk_srcover_bgra_8888_sse2_lowp+0xe14>
+  .byte  69,15,40,248                        // movaps        %xmm8,%xmm15
+  .byte  69,15,89,252                        // mulps         %xmm12,%xmm15
+  .byte  68,15,40,21,74,230,1,0              // movaps        0x1e64a(%rip),%xmm10        # 3d070 <_sk_srcover_bgra_8888_sse2_lowp+0xe24>
+  .byte  69,15,88,250                        // addps         %xmm10,%xmm15
+  .byte  69,15,89,248                        // mulps         %xmm8,%xmm15
+  .byte  68,15,40,45,74,230,1,0              // movaps        0x1e64a(%rip),%xmm13        # 3d080 <_sk_srcover_bgra_8888_sse2_lowp+0xe34>
+  .byte  69,15,88,253                        // addps         %xmm13,%xmm15
+  .byte  68,15,40,53,78,230,1,0              // movaps        0x1e64e(%rip),%xmm14        # 3d090 <_sk_srcover_bgra_8888_sse2_lowp+0xe44>
+  .byte  69,15,88,198                        // addps         %xmm14,%xmm8
+  .byte  69,15,83,192                        // rcpps         %xmm8,%xmm8
+  .byte  69,15,89,199                        // mulps         %xmm15,%xmm8
+  .byte  68,15,40,61,74,230,1,0              // movaps        0x1e64a(%rip),%xmm15        # 3d0a0 <_sk_srcover_bgra_8888_sse2_lowp+0xe54>
+  .byte  65,15,194,199,1                     // cmpltps       %xmm15,%xmm0
+  .byte  102,69,15,56,20,193                 // blendvps      %xmm0,%xmm9,%xmm8
+  .byte  68,15,82,202                        // rsqrtps       %xmm2,%xmm9
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  65,15,89,196                        // mulps         %xmm12,%xmm0
+  .byte  65,15,88,194                        // addps         %xmm10,%xmm0
+  .byte  65,15,89,193                        // mulps         %xmm9,%xmm0
+  .byte  65,15,88,197                        // addps         %xmm13,%xmm0
+  .byte  69,15,88,206                        // addps         %xmm14,%xmm9
+  .byte  69,15,83,201                        // rcpps         %xmm9,%xmm9
+  .byte  68,15,89,200                        // mulps         %xmm0,%xmm9
+  .byte  65,15,89,203                        // mulps         %xmm11,%xmm1
+  .byte  65,15,194,215,1                     // cmpltps       %xmm15,%xmm2
+  .byte  15,40,194                           // movaps        %xmm2,%xmm0
+  .byte  102,68,15,56,20,201                 // blendvps      %xmm0,%xmm1,%xmm9
+  .byte  15,82,195                           // rsqrtps       %xmm3,%xmm0
+  .byte  68,15,89,224                        // mulps         %xmm0,%xmm12
+  .byte  69,15,88,226                        // addps         %xmm10,%xmm12
+  .byte  68,15,89,224                        // mulps         %xmm0,%xmm12
+  .byte  69,15,88,229                        // addps         %xmm13,%xmm12
+  .byte  65,15,88,198                        // addps         %xmm14,%xmm0
+  .byte  68,15,83,208                        // rcpps         %xmm0,%xmm10
+  .byte  69,15,89,212                        // mulps         %xmm12,%xmm10
+  .byte  68,15,89,219                        // mulps         %xmm3,%xmm11
+  .byte  65,15,194,223,1                     // cmpltps       %xmm15,%xmm3
+  .byte  15,40,195                           // movaps        %xmm3,%xmm0
+  .byte  102,69,15,56,20,211                 // blendvps      %xmm0,%xmm11,%xmm10
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  65,15,40,201                        // movaps        %xmm9,%xmm1
+  .byte  65,15,40,210                        // movaps        %xmm10,%xmm2
+  .byte  15,40,220                           // movaps        %xmm4,%xmm3
+  .byte  15,40,229                           // movaps        %xmm5,%xmm4
+  .byte  15,40,238                           // movaps        %xmm6,%xmm5
+  .byte  15,40,247                           // movaps        %xmm7,%xmm6
+  .byte  15,40,124,36,232                    // movaps        -0x18(%rsp),%xmm7
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_rgb_to_hsl_sse41
+.globl _sk_rgb_to_hsl_sse41
+FUNCTION(_sk_rgb_to_hsl_sse41)
+_sk_rgb_to_hsl_sse41:
+  .byte  68,15,40,201                        // movaps        %xmm1,%xmm9
+  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  15,95,194                           // maxps         %xmm2,%xmm0
+  .byte  69,15,40,216                        // movaps        %xmm8,%xmm11
+  .byte  68,15,95,216                        // maxps         %xmm0,%xmm11
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  15,93,194                           // minps         %xmm2,%xmm0
+  .byte  69,15,40,224                        // movaps        %xmm8,%xmm12
+  .byte  68,15,93,224                        // minps         %xmm0,%xmm12
+  .byte  65,15,40,203                        // movaps        %xmm11,%xmm1
+  .byte  65,15,92,204                        // subps         %xmm12,%xmm1
+  .byte  68,15,40,53,241,227,1,0             // movaps        0x1e3f1(%rip),%xmm14        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  68,15,94,241                        // divps         %xmm1,%xmm14
+  .byte  69,15,40,211                        // movaps        %xmm11,%xmm10
+  .byte  69,15,194,208,0                     // cmpeqps       %xmm8,%xmm10
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  15,92,194                           // subps         %xmm2,%xmm0
+  .byte  65,15,89,198                        // mulps         %xmm14,%xmm0
+  .byte  69,15,40,249                        // movaps        %xmm9,%xmm15
+  .byte  68,15,194,250,1                     // cmpltps       %xmm2,%xmm15
+  .byte  68,15,84,61,104,229,1,0             // andps         0x1e568(%rip),%xmm15        # 3d0b0 <_sk_srcover_bgra_8888_sse2_lowp+0xe64>
+  .byte  68,15,88,248                        // addps         %xmm0,%xmm15
+  .byte  65,15,40,195                        // movaps        %xmm11,%xmm0
+  .byte  65,15,194,193,0                     // cmpeqps       %xmm9,%xmm0
+  .byte  65,15,92,208                        // subps         %xmm8,%xmm2
+  .byte  65,15,89,214                        // mulps         %xmm14,%xmm2
+  .byte  68,15,40,45,91,229,1,0              // movaps        0x1e55b(%rip),%xmm13        # 3d0c0 <_sk_srcover_bgra_8888_sse2_lowp+0xe74>
+  .byte  65,15,88,213                        // addps         %xmm13,%xmm2
+  .byte  69,15,92,193                        // subps         %xmm9,%xmm8
+  .byte  69,15,89,198                        // mulps         %xmm14,%xmm8
+  .byte  68,15,88,5,87,229,1,0               // addps         0x1e557(%rip),%xmm8        # 3d0d0 <_sk_srcover_bgra_8888_sse2_lowp+0xe84>
+  .byte  102,68,15,56,20,194                 // blendvps      %xmm0,%xmm2,%xmm8
+  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
+  .byte  102,69,15,56,20,199                 // blendvps      %xmm0,%xmm15,%xmm8
+  .byte  68,15,89,5,79,229,1,0               // mulps         0x1e54f(%rip),%xmm8        # 3d0e0 <_sk_srcover_bgra_8888_sse2_lowp+0xe94>
+  .byte  69,15,40,203                        // movaps        %xmm11,%xmm9
+  .byte  69,15,194,204,4                     // cmpneqps      %xmm12,%xmm9
+  .byte  69,15,84,193                        // andps         %xmm9,%xmm8
+  .byte  69,15,92,235                        // subps         %xmm11,%xmm13
+  .byte  69,15,88,220                        // addps         %xmm12,%xmm11
+  .byte  15,40,5,83,227,1,0                  // movaps        0x1e353(%rip),%xmm0        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  65,15,40,211                        // movaps        %xmm11,%xmm2
+  .byte  15,89,208                           // mulps         %xmm0,%xmm2
+  .byte  15,194,194,1                        // cmpltps       %xmm2,%xmm0
+  .byte  69,15,92,236                        // subps         %xmm12,%xmm13
+  .byte  102,69,15,56,20,221                 // blendvps      %xmm0,%xmm13,%xmm11
+  .byte  65,15,94,203                        // divps         %xmm11,%xmm1
+  .byte  65,15,84,201                        // andps         %xmm9,%xmm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_hsl_to_rgb_sse41
+.globl _sk_hsl_to_rgb_sse41
+FUNCTION(_sk_hsl_to_rgb_sse41)
+_sk_hsl_to_rgb_sse41:
+  .byte  15,41,124,36,232                    // movaps        %xmm7,-0x18(%rsp)
+  .byte  15,41,116,36,216                    // movaps        %xmm6,-0x28(%rsp)
+  .byte  15,41,108,36,200                    // movaps        %xmm5,-0x38(%rsp)
+  .byte  15,41,100,36,184                    // movaps        %xmm4,-0x48(%rsp)
+  .byte  15,41,92,36,168                     // movaps        %xmm3,-0x58(%rsp)
+  .byte  68,15,40,208                        // movaps        %xmm0,%xmm10
+  .byte  68,15,40,13,9,227,1,0               // movaps        0x1e309(%rip),%xmm9        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  15,194,194,2                        // cmpleps       %xmm2,%xmm0
+  .byte  15,40,217                           // movaps        %xmm1,%xmm3
+  .byte  15,40,233                           // movaps        %xmm1,%xmm5
+  .byte  15,89,234                           // mulps         %xmm2,%xmm5
+  .byte  15,92,221                           // subps         %xmm5,%xmm3
+  .byte  102,15,56,20,235                    // blendvps      %xmm0,%xmm3,%xmm5
+  .byte  15,88,234                           // addps         %xmm2,%xmm5
+  .byte  68,15,40,194                        // movaps        %xmm2,%xmm8
+  .byte  15,41,84,36,152                     // movaps        %xmm2,-0x68(%rsp)
+  .byte  69,15,88,192                        // addps         %xmm8,%xmm8
+  .byte  68,15,92,197                        // subps         %xmm5,%xmm8
+  .byte  68,15,40,53,196,228,1,0             // movaps        0x1e4c4(%rip),%xmm14        # 3d0f0 <_sk_srcover_bgra_8888_sse2_lowp+0xea4>
+  .byte  69,15,88,242                        // addps         %xmm10,%xmm14
+  .byte  102,65,15,58,8,198,1                // roundps       $0x1,%xmm14,%xmm0
+  .byte  68,15,92,240                        // subps         %xmm0,%xmm14
+  .byte  68,15,40,29,189,228,1,0             // movaps        0x1e4bd(%rip),%xmm11        # 3d100 <_sk_srcover_bgra_8888_sse2_lowp+0xeb4>
+  .byte  65,15,40,195                        // movaps        %xmm11,%xmm0
+  .byte  65,15,194,198,2                     // cmpleps       %xmm14,%xmm0
+  .byte  15,40,245                           // movaps        %xmm5,%xmm6
+  .byte  65,15,92,240                        // subps         %xmm8,%xmm6
+  .byte  15,40,61,86,228,1,0                 // movaps        0x1e456(%rip),%xmm7        # 3d0b0 <_sk_srcover_bgra_8888_sse2_lowp+0xe64>
+  .byte  69,15,40,238                        // movaps        %xmm14,%xmm13
+  .byte  68,15,89,239                        // mulps         %xmm7,%xmm13
+  .byte  15,40,29,103,228,1,0                // movaps        0x1e467(%rip),%xmm3        # 3d0d0 <_sk_srcover_bgra_8888_sse2_lowp+0xe84>
+  .byte  68,15,40,227                        // movaps        %xmm3,%xmm12
+  .byte  69,15,92,229                        // subps         %xmm13,%xmm12
+  .byte  68,15,89,230                        // mulps         %xmm6,%xmm12
+  .byte  69,15,88,224                        // addps         %xmm8,%xmm12
+  .byte  102,69,15,56,20,224                 // blendvps      %xmm0,%xmm8,%xmm12
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  65,15,194,198,2                     // cmpleps       %xmm14,%xmm0
+  .byte  68,15,40,253                        // movaps        %xmm5,%xmm15
+  .byte  102,69,15,56,20,252                 // blendvps      %xmm0,%xmm12,%xmm15
+  .byte  68,15,40,37,70,228,1,0              // movaps        0x1e446(%rip),%xmm12        # 3d0e0 <_sk_srcover_bgra_8888_sse2_lowp+0xe94>
+  .byte  65,15,40,196                        // movaps        %xmm12,%xmm0
+  .byte  65,15,194,198,2                     // cmpleps       %xmm14,%xmm0
+  .byte  68,15,89,238                        // mulps         %xmm6,%xmm13
+  .byte  69,15,88,232                        // addps         %xmm8,%xmm13
+  .byte  102,69,15,56,20,239                 // blendvps      %xmm0,%xmm15,%xmm13
+  .byte  69,15,87,246                        // xorps         %xmm14,%xmm14
+  .byte  68,15,194,241,0                     // cmpeqps       %xmm1,%xmm14
+  .byte  65,15,40,198                        // movaps        %xmm14,%xmm0
+  .byte  102,68,15,56,20,234                 // blendvps      %xmm0,%xmm2,%xmm13
+  .byte  102,65,15,58,8,194,1                // roundps       $0x1,%xmm10,%xmm0
+  .byte  69,15,40,250                        // movaps        %xmm10,%xmm15
+  .byte  68,15,92,248                        // subps         %xmm0,%xmm15
+  .byte  65,15,40,195                        // movaps        %xmm11,%xmm0
+  .byte  65,15,194,199,2                     // cmpleps       %xmm15,%xmm0
+  .byte  65,15,40,207                        // movaps        %xmm15,%xmm1
+  .byte  15,89,207                           // mulps         %xmm7,%xmm1
+  .byte  15,40,211                           // movaps        %xmm3,%xmm2
+  .byte  15,92,209                           // subps         %xmm1,%xmm2
+  .byte  15,89,214                           // mulps         %xmm6,%xmm2
+  .byte  65,15,88,208                        // addps         %xmm8,%xmm2
+  .byte  102,65,15,56,20,208                 // blendvps      %xmm0,%xmm8,%xmm2
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  65,15,194,199,2                     // cmpleps       %xmm15,%xmm0
+  .byte  15,40,229                           // movaps        %xmm5,%xmm4
+  .byte  102,15,56,20,226                    // blendvps      %xmm0,%xmm2,%xmm4
+  .byte  65,15,40,196                        // movaps        %xmm12,%xmm0
+  .byte  65,15,194,199,2                     // cmpleps       %xmm15,%xmm0
+  .byte  15,89,206                           // mulps         %xmm6,%xmm1
+  .byte  65,15,88,200                        // addps         %xmm8,%xmm1
+  .byte  102,15,56,20,204                    // blendvps      %xmm0,%xmm4,%xmm1
+  .byte  65,15,40,198                        // movaps        %xmm14,%xmm0
+  .byte  15,40,84,36,152                     // movaps        -0x68(%rsp),%xmm2
+  .byte  102,15,56,20,202                    // blendvps      %xmm0,%xmm2,%xmm1
+  .byte  68,15,88,21,222,227,1,0             // addps         0x1e3de(%rip),%xmm10        # 3d110 <_sk_srcover_bgra_8888_sse2_lowp+0xec4>
+  .byte  102,65,15,58,8,194,1                // roundps       $0x1,%xmm10,%xmm0
+  .byte  68,15,92,208                        // subps         %xmm0,%xmm10
+  .byte  69,15,194,218,2                     // cmpleps       %xmm10,%xmm11
+  .byte  65,15,89,250                        // mulps         %xmm10,%xmm7
+  .byte  15,92,223                           // subps         %xmm7,%xmm3
+  .byte  15,89,222                           // mulps         %xmm6,%xmm3
+  .byte  65,15,88,216                        // addps         %xmm8,%xmm3
+  .byte  65,15,40,195                        // movaps        %xmm11,%xmm0
+  .byte  102,65,15,56,20,216                 // blendvps      %xmm0,%xmm8,%xmm3
+  .byte  69,15,194,202,2                     // cmpleps       %xmm10,%xmm9
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  102,15,56,20,235                    // blendvps      %xmm0,%xmm3,%xmm5
+  .byte  69,15,194,226,2                     // cmpleps       %xmm10,%xmm12
+  .byte  15,89,254                           // mulps         %xmm6,%xmm7
+  .byte  68,15,88,199                        // addps         %xmm7,%xmm8
+  .byte  65,15,40,196                        // movaps        %xmm12,%xmm0
+  .byte  102,68,15,56,20,197                 // blendvps      %xmm0,%xmm5,%xmm8
+  .byte  65,15,40,198                        // movaps        %xmm14,%xmm0
+  .byte  102,68,15,56,20,194                 // blendvps      %xmm0,%xmm2,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,197                        // movaps        %xmm13,%xmm0
+  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
+  .byte  15,40,92,36,168                     // movaps        -0x58(%rsp),%xmm3
+  .byte  15,40,100,36,184                    // movaps        -0x48(%rsp),%xmm4
+  .byte  15,40,108,36,200                    // movaps        -0x38(%rsp),%xmm5
+  .byte  15,40,116,36,216                    // movaps        -0x28(%rsp),%xmm6
+  .byte  15,40,124,36,232                    // movaps        -0x18(%rsp),%xmm7
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_scale_1_float_sse41
+.globl _sk_scale_1_float_sse41
+FUNCTION(_sk_scale_1_float_sse41)
+_sk_scale_1_float_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,0                      // movss         (%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
+  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
+  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_scale_u8_sse41
+.globl _sk_scale_u8_sse41
+FUNCTION(_sk_scale_u8_sse41)
+_sk_scale_u8_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,52                              // jne           1ee13 <_sk_scale_u8_sse41+0x46>
+  .byte  102,69,15,56,49,4,16                // pmovzxbd      (%r8,%rdx,1),%xmm8
+  .byte  102,68,15,219,5,209,225,1,0         // pand          0x1e1d1(%rip),%xmm8        # 3cfc0 <_sk_srcover_bgra_8888_sse2_lowp+0xd74>
+  .byte  69,15,91,192                        // cvtdq2ps      %xmm8,%xmm8
+  .byte  68,15,89,5,37,227,1,0               // mulps         0x1e325(%rip),%xmm8        # 3d120 <_sk_srcover_bgra_8888_sse2_lowp+0xed4>
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
+  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
+  .byte  68,15,89,195                        // mulps         %xmm3,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,216                        // movaps        %xmm8,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,55                              // je            1ee52 <_sk_scale_u8_sse41+0x85>
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,21                              // je            1ee39 <_sk_scale_u8_sse41+0x6c>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,190                             // jne           1ede6 <_sk_scale_u8_sse41+0x19>
+  .byte  65,15,182,68,16,2                   // movzbl        0x2(%r8,%rdx,1),%eax
+  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
+  .byte  102,69,15,112,192,69                // pshufd        $0x45,%xmm8,%xmm8
+  .byte  65,15,183,4,16                      // movzwl        (%r8,%rdx,1),%eax
+  .byte  102,68,15,110,200                   // movd          %eax,%xmm9
+  .byte  102,69,15,56,49,201                 // pmovzxbd      %xmm9,%xmm9
+  .byte  102,69,15,58,14,193,15              // pblendw       $0xf,%xmm9,%xmm8
+  .byte  235,148                             // jmp           1ede6 <_sk_scale_u8_sse41+0x19>
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
+  .byte  235,136                             // jmp           1ede6 <_sk_scale_u8_sse41+0x19>
+
+HIDDEN _sk_scale_565_sse41
+.globl _sk_scale_565_sse41
+FUNCTION(_sk_scale_565_sse41)
+_sk_scale_565_sse41:
+  .byte  102,68,15,111,192                   // movdqa        %xmm0,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,159,0,0,0                    // jne           1ef1b <_sk_scale_565_sse41+0xbd>
+  .byte  102,69,15,56,51,28,80               // pmovzxwd      (%r8,%rdx,2),%xmm11
+  .byte  102,15,111,5,165,226,1,0            // movdqa        0x1e2a5(%rip),%xmm0        # 3d130 <_sk_srcover_bgra_8888_sse2_lowp+0xee4>
+  .byte  102,65,15,219,195                   // pand          %xmm11,%xmm0
+  .byte  68,15,91,200                        // cvtdq2ps      %xmm0,%xmm9
+  .byte  68,15,89,13,164,226,1,0             // mulps         0x1e2a4(%rip),%xmm9        # 3d140 <_sk_srcover_bgra_8888_sse2_lowp+0xef4>
+  .byte  102,15,111,5,172,226,1,0            // movdqa        0x1e2ac(%rip),%xmm0        # 3d150 <_sk_srcover_bgra_8888_sse2_lowp+0xf04>
+  .byte  102,65,15,219,195                   // pand          %xmm11,%xmm0
+  .byte  68,15,91,208                        // cvtdq2ps      %xmm0,%xmm10
+  .byte  68,15,89,21,171,226,1,0             // mulps         0x1e2ab(%rip),%xmm10        # 3d160 <_sk_srcover_bgra_8888_sse2_lowp+0xf14>
+  .byte  102,68,15,219,29,178,226,1,0        // pand          0x1e2b2(%rip),%xmm11        # 3d170 <_sk_srcover_bgra_8888_sse2_lowp+0xf24>
+  .byte  69,15,91,219                        // cvtdq2ps      %xmm11,%xmm11
+  .byte  68,15,89,29,182,226,1,0             // mulps         0x1e2b6(%rip),%xmm11        # 3d180 <_sk_srcover_bgra_8888_sse2_lowp+0xf34>
+  .byte  15,40,195                           // movaps        %xmm3,%xmm0
+  .byte  15,194,199,1                        // cmpltps       %xmm7,%xmm0
+  .byte  69,15,40,226                        // movaps        %xmm10,%xmm12
+  .byte  69,15,93,227                        // minps         %xmm11,%xmm12
+  .byte  69,15,40,233                        // movaps        %xmm9,%xmm13
+  .byte  69,15,93,236                        // minps         %xmm12,%xmm13
+  .byte  69,15,40,242                        // movaps        %xmm10,%xmm14
+  .byte  69,15,95,243                        // maxps         %xmm11,%xmm14
+  .byte  69,15,40,225                        // movaps        %xmm9,%xmm12
+  .byte  69,15,95,230                        // maxps         %xmm14,%xmm12
+  .byte  102,69,15,56,20,229                 // blendvps      %xmm0,%xmm13,%xmm12
+  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
+  .byte  68,15,89,209                        // mulps         %xmm1,%xmm10
+  .byte  68,15,89,218                        // mulps         %xmm2,%xmm11
+  .byte  68,15,89,227                        // mulps         %xmm3,%xmm12
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  65,15,40,202                        // movaps        %xmm10,%xmm1
+  .byte  65,15,40,211                        // movaps        %xmm11,%xmm2
+  .byte  65,15,40,220                        // movaps        %xmm12,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,56                              // je            1ef5b <_sk_scale_565_sse41+0xfd>
+  .byte  102,69,15,239,219                   // pxor          %xmm11,%xmm11
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,24                              // je            1ef44 <_sk_scale_565_sse41+0xe6>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  15,133,79,255,255,255               // jne           1ee83 <_sk_scale_565_sse41+0x25>
+  .byte  65,15,183,68,80,4                   // movzwl        0x4(%r8,%rdx,2),%eax
+  .byte  102,15,110,192                      // movd          %eax,%xmm0
+  .byte  102,68,15,112,216,69                // pshufd        $0x45,%xmm0,%xmm11
+  .byte  102,65,15,110,4,80                  // movd          (%r8,%rdx,2),%xmm0
+  .byte  102,15,56,51,192                    // pmovzxwd      %xmm0,%xmm0
+  .byte  102,68,15,58,14,216,15              // pblendw       $0xf,%xmm0,%xmm11
+  .byte  233,40,255,255,255                  // jmpq          1ee83 <_sk_scale_565_sse41+0x25>
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  102,68,15,110,216                   // movd          %eax,%xmm11
+  .byte  233,25,255,255,255                  // jmpq          1ee83 <_sk_scale_565_sse41+0x25>
+
+HIDDEN _sk_lerp_1_float_sse41
+.globl _sk_lerp_1_float_sse41
+FUNCTION(_sk_lerp_1_float_sse41)
+_sk_lerp_1_float_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,0                      // movss         (%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  15,92,196                           // subps         %xmm4,%xmm0
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  15,88,196                           // addps         %xmm4,%xmm0
+  .byte  15,92,205                           // subps         %xmm5,%xmm1
+  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
+  .byte  15,88,205                           // addps         %xmm5,%xmm1
+  .byte  15,92,214                           // subps         %xmm6,%xmm2
+  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
+  .byte  15,88,214                           // addps         %xmm6,%xmm2
+  .byte  15,92,223                           // subps         %xmm7,%xmm3
+  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
+  .byte  15,88,223                           // addps         %xmm7,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_lerp_u8_sse41
+.globl _sk_lerp_u8_sse41
+FUNCTION(_sk_lerp_u8_sse41)
+_sk_lerp_u8_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,72                              // jne           1effc <_sk_lerp_u8_sse41+0x5a>
+  .byte  102,69,15,56,49,4,16                // pmovzxbd      (%r8,%rdx,1),%xmm8
+  .byte  102,68,15,219,5,252,223,1,0         // pand          0x1dffc(%rip),%xmm8        # 3cfc0 <_sk_srcover_bgra_8888_sse2_lowp+0xd74>
+  .byte  69,15,91,192                        // cvtdq2ps      %xmm8,%xmm8
+  .byte  68,15,89,5,80,225,1,0               // mulps         0x1e150(%rip),%xmm8        # 3d120 <_sk_srcover_bgra_8888_sse2_lowp+0xed4>
+  .byte  15,92,196                           // subps         %xmm4,%xmm0
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  15,88,196                           // addps         %xmm4,%xmm0
+  .byte  15,92,205                           // subps         %xmm5,%xmm1
+  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
+  .byte  15,88,205                           // addps         %xmm5,%xmm1
+  .byte  15,92,214                           // subps         %xmm6,%xmm2
+  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
+  .byte  15,88,214                           // addps         %xmm6,%xmm2
+  .byte  15,92,223                           // subps         %xmm7,%xmm3
+  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
+  .byte  15,88,223                           // addps         %xmm7,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,55                              // je            1f03b <_sk_lerp_u8_sse41+0x99>
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,21                              // je            1f022 <_sk_lerp_u8_sse41+0x80>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,170                             // jne           1efbb <_sk_lerp_u8_sse41+0x19>
+  .byte  65,15,182,68,16,2                   // movzbl        0x2(%r8,%rdx,1),%eax
+  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
+  .byte  102,69,15,112,192,69                // pshufd        $0x45,%xmm8,%xmm8
+  .byte  65,15,183,4,16                      // movzwl        (%r8,%rdx,1),%eax
+  .byte  102,68,15,110,200                   // movd          %eax,%xmm9
+  .byte  102,69,15,56,49,201                 // pmovzxbd      %xmm9,%xmm9
+  .byte  102,69,15,58,14,193,15              // pblendw       $0xf,%xmm9,%xmm8
+  .byte  235,128                             // jmp           1efbb <_sk_lerp_u8_sse41+0x19>
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
+  .byte  233,113,255,255,255                 // jmpq          1efbb <_sk_lerp_u8_sse41+0x19>
+
+HIDDEN _sk_lerp_565_sse41
+.globl _sk_lerp_565_sse41
+FUNCTION(_sk_lerp_565_sse41)
+_sk_lerp_565_sse41:
+  .byte  102,68,15,111,192                   // movdqa        %xmm0,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,165,0,0,0                    // jne           1f10d <_sk_lerp_565_sse41+0xc3>
+  .byte  102,69,15,56,51,20,80               // pmovzxwd      (%r8,%rdx,2),%xmm10
+  .byte  102,15,111,5,185,224,1,0            // movdqa        0x1e0b9(%rip),%xmm0        # 3d130 <_sk_srcover_bgra_8888_sse2_lowp+0xee4>
+  .byte  102,65,15,219,194                   // pand          %xmm10,%xmm0
+  .byte  68,15,91,200                        // cvtdq2ps      %xmm0,%xmm9
+  .byte  68,15,89,13,184,224,1,0             // mulps         0x1e0b8(%rip),%xmm9        # 3d140 <_sk_srcover_bgra_8888_sse2_lowp+0xef4>
+  .byte  102,15,111,5,192,224,1,0            // movdqa        0x1e0c0(%rip),%xmm0        # 3d150 <_sk_srcover_bgra_8888_sse2_lowp+0xf04>
+  .byte  102,65,15,219,194                   // pand          %xmm10,%xmm0
+  .byte  68,15,91,216                        // cvtdq2ps      %xmm0,%xmm11
+  .byte  68,15,89,29,191,224,1,0             // mulps         0x1e0bf(%rip),%xmm11        # 3d160 <_sk_srcover_bgra_8888_sse2_lowp+0xf14>
+  .byte  102,68,15,219,21,198,224,1,0        // pand          0x1e0c6(%rip),%xmm10        # 3d170 <_sk_srcover_bgra_8888_sse2_lowp+0xf24>
+  .byte  69,15,91,210                        // cvtdq2ps      %xmm10,%xmm10
+  .byte  68,15,89,21,202,224,1,0             // mulps         0x1e0ca(%rip),%xmm10        # 3d180 <_sk_srcover_bgra_8888_sse2_lowp+0xf34>
+  .byte  15,40,195                           // movaps        %xmm3,%xmm0
+  .byte  15,194,199,1                        // cmpltps       %xmm7,%xmm0
+  .byte  69,15,40,227                        // movaps        %xmm11,%xmm12
+  .byte  15,92,205                           // subps         %xmm5,%xmm1
+  .byte  65,15,89,203                        // mulps         %xmm11,%xmm1
+  .byte  69,15,93,218                        // minps         %xmm10,%xmm11
+  .byte  69,15,40,233                        // movaps        %xmm9,%xmm13
+  .byte  68,15,92,196                        // subps         %xmm4,%xmm8
+  .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
+  .byte  69,15,93,203                        // minps         %xmm11,%xmm9
+  .byte  69,15,95,226                        // maxps         %xmm10,%xmm12
+  .byte  69,15,95,236                        // maxps         %xmm12,%xmm13
+  .byte  102,69,15,56,20,233                 // blendvps      %xmm0,%xmm9,%xmm13
+  .byte  68,15,88,196                        // addps         %xmm4,%xmm8
+  .byte  15,88,205                           // addps         %xmm5,%xmm1
+  .byte  15,92,214                           // subps         %xmm6,%xmm2
+  .byte  65,15,89,210                        // mulps         %xmm10,%xmm2
+  .byte  15,88,214                           // addps         %xmm6,%xmm2
+  .byte  15,92,223                           // subps         %xmm7,%xmm3
+  .byte  65,15,89,221                        // mulps         %xmm13,%xmm3
+  .byte  15,88,223                           // addps         %xmm7,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,56                              // je            1f14d <_sk_lerp_565_sse41+0x103>
+  .byte  102,69,15,239,210                   // pxor          %xmm10,%xmm10
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,24                              // je            1f136 <_sk_lerp_565_sse41+0xec>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  15,133,73,255,255,255               // jne           1f06f <_sk_lerp_565_sse41+0x25>
+  .byte  65,15,183,68,80,4                   // movzwl        0x4(%r8,%rdx,2),%eax
+  .byte  102,15,110,192                      // movd          %eax,%xmm0
+  .byte  102,68,15,112,208,69                // pshufd        $0x45,%xmm0,%xmm10
+  .byte  102,65,15,110,4,80                  // movd          (%r8,%rdx,2),%xmm0
+  .byte  102,15,56,51,192                    // pmovzxwd      %xmm0,%xmm0
+  .byte  102,68,15,58,14,208,15              // pblendw       $0xf,%xmm0,%xmm10
+  .byte  233,34,255,255,255                  // jmpq          1f06f <_sk_lerp_565_sse41+0x25>
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  102,68,15,110,208                   // movd          %eax,%xmm10
+  .byte  233,19,255,255,255                  // jmpq          1f06f <_sk_lerp_565_sse41+0x25>
+
+HIDDEN _sk_load_tables_sse41
+.globl _sk_load_tables_sse41
+FUNCTION(_sk_load_tables_sse41)
+_sk_load_tables_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,20,1,0,0                     // jne           1f27e <_sk_load_tables_sse41+0x122>
+  .byte  243,69,15,111,4,144                 // movdqu        (%r8,%rdx,4),%xmm8
+  .byte  65,86                               // push          %r14
+  .byte  83                                  // push          %rbx
+  .byte  102,15,111,5,69,222,1,0             // movdqa        0x1de45(%rip),%xmm0        # 3cfc0 <_sk_srcover_bgra_8888_sse2_lowp+0xd74>
+  .byte  102,65,15,219,192                   // pand          %xmm8,%xmm0
+  .byte  102,73,15,58,22,192,1               // pextrq        $0x1,%xmm0,%r8
+  .byte  102,73,15,126,193                   // movq          %xmm0,%r9
+  .byte  69,15,182,209                       // movzbl        %r9b,%r10d
+  .byte  73,193,233,30                       // shr           $0x1e,%r9
+  .byte  69,15,182,216                       // movzbl        %r8b,%r11d
+  .byte  73,193,232,30                       // shr           $0x1e,%r8
+  .byte  72,139,88,8                         // mov           0x8(%rax),%rbx
+  .byte  76,139,112,16                       // mov           0x10(%rax),%r14
+  .byte  243,66,15,16,4,147                  // movss         (%rbx,%r10,4),%xmm0
+  .byte  102,66,15,58,33,4,11,16             // insertps      $0x10,(%rbx,%r9,1),%xmm0
+  .byte  102,66,15,58,33,4,155,32            // insertps      $0x20,(%rbx,%r11,4),%xmm0
+  .byte  102,66,15,58,33,4,3,48              // insertps      $0x30,(%rbx,%r8,1),%xmm0
+  .byte  102,65,15,111,200                   // movdqa        %xmm8,%xmm1
+  .byte  102,15,56,0,13,0,222,1,0            // pshufb        0x1de00(%rip),%xmm1        # 3cfd0 <_sk_srcover_bgra_8888_sse2_lowp+0xd84>
+  .byte  102,73,15,58,22,200,1               // pextrq        $0x1,%xmm1,%r8
+  .byte  102,72,15,126,203                   // movq          %xmm1,%rbx
+  .byte  68,15,182,203                       // movzbl        %bl,%r9d
+  .byte  72,193,235,30                       // shr           $0x1e,%rbx
+  .byte  69,15,182,208                       // movzbl        %r8b,%r10d
+  .byte  73,193,232,30                       // shr           $0x1e,%r8
+  .byte  243,67,15,16,12,142                 // movss         (%r14,%r9,4),%xmm1
+  .byte  102,65,15,58,33,12,30,16            // insertps      $0x10,(%r14,%rbx,1),%xmm1
+  .byte  243,67,15,16,20,150                 // movss         (%r14,%r10,4),%xmm2
+  .byte  102,15,58,33,202,32                 // insertps      $0x20,%xmm2,%xmm1
+  .byte  243,67,15,16,20,6                   // movss         (%r14,%r8,1),%xmm2
+  .byte  102,15,58,33,202,48                 // insertps      $0x30,%xmm2,%xmm1
+  .byte  76,139,64,24                        // mov           0x18(%rax),%r8
+  .byte  102,65,15,111,208                   // movdqa        %xmm8,%xmm2
+  .byte  102,15,56,0,21,188,221,1,0          // pshufb        0x1ddbc(%rip),%xmm2        # 3cfe0 <_sk_srcover_bgra_8888_sse2_lowp+0xd94>
+  .byte  102,72,15,58,22,211,1               // pextrq        $0x1,%xmm2,%rbx
+  .byte  102,72,15,126,208                   // movq          %xmm2,%rax
+  .byte  68,15,182,200                       // movzbl        %al,%r9d
+  .byte  72,193,232,30                       // shr           $0x1e,%rax
+  .byte  68,15,182,211                       // movzbl        %bl,%r10d
+  .byte  72,193,235,30                       // shr           $0x1e,%rbx
+  .byte  243,67,15,16,20,136                 // movss         (%r8,%r9,4),%xmm2
+  .byte  102,65,15,58,33,20,0,16             // insertps      $0x10,(%r8,%rax,1),%xmm2
+  .byte  243,67,15,16,28,144                 // movss         (%r8,%r10,4),%xmm3
+  .byte  102,15,58,33,211,32                 // insertps      $0x20,%xmm3,%xmm2
+  .byte  243,65,15,16,28,24                  // movss         (%r8,%rbx,1),%xmm3
+  .byte  102,15,58,33,211,48                 // insertps      $0x30,%xmm3,%xmm2
+  .byte  102,65,15,114,208,24                // psrld         $0x18,%xmm8
+  .byte  65,15,91,216                        // cvtdq2ps      %xmm8,%xmm3
+  .byte  15,89,29,169,222,1,0                // mulps         0x1dea9(%rip),%xmm3        # 3d120 <_sk_srcover_bgra_8888_sse2_lowp+0xed4>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  91                                  // pop           %rbx
+  .byte  65,94                               // pop           %r14
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,137,249                          // mov           %edi,%r9d
+  .byte  65,128,225,3                        // and           $0x3,%r9b
+  .byte  65,128,249,1                        // cmp           $0x1,%r9b
+  .byte  116,52                              // je            1f2bf <_sk_load_tables_sse41+0x163>
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  65,128,249,2                        // cmp           $0x2,%r9b
+  .byte  116,23                              // je            1f2ad <_sk_load_tables_sse41+0x151>
+  .byte  65,128,249,3                        // cmp           $0x3,%r9b
+  .byte  15,133,208,254,255,255              // jne           1f170 <_sk_load_tables_sse41+0x14>
+  .byte  102,65,15,110,68,144,8              // movd          0x8(%r8,%rdx,4),%xmm0
+  .byte  102,68,15,112,192,69                // pshufd        $0x45,%xmm0,%xmm8
+  .byte  243,65,15,126,4,144                 // movq          (%r8,%rdx,4),%xmm0
+  .byte  102,68,15,58,14,192,15              // pblendw       $0xf,%xmm0,%xmm8
+  .byte  233,177,254,255,255                 // jmpq          1f170 <_sk_load_tables_sse41+0x14>
+  .byte  102,69,15,110,4,144                 // movd          (%r8,%rdx,4),%xmm8
+  .byte  233,166,254,255,255                 // jmpq          1f170 <_sk_load_tables_sse41+0x14>
+
+HIDDEN _sk_load_tables_u16_be_sse41
+.globl _sk_load_tables_u16_be_sse41
+FUNCTION(_sk_load_tables_u16_be_sse41)
+_sk_load_tables_u16_be_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  76,141,12,149,0,0,0,0               // lea           0x0(,%rdx,4),%r9
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,95,1,0,0                     // jne           1f43f <_sk_load_tables_u16_be_sse41+0x175>
+  .byte  102,67,15,16,4,72                   // movupd        (%r8,%r9,2),%xmm0
+  .byte  243,67,15,111,76,72,16              // movdqu        0x10(%r8,%r9,2),%xmm1
+  .byte  65,86                               // push          %r14
+  .byte  83                                  // push          %rbx
+  .byte  102,68,15,40,200                    // movapd        %xmm0,%xmm9
+  .byte  102,68,15,97,201                    // punpcklwd     %xmm1,%xmm9
+  .byte  102,15,105,193                      // punpckhwd     %xmm1,%xmm0
+  .byte  102,65,15,111,201                   // movdqa        %xmm9,%xmm1
+  .byte  102,15,97,200                       // punpcklwd     %xmm0,%xmm1
+  .byte  102,68,15,105,200                   // punpckhwd     %xmm0,%xmm9
+  .byte  102,68,15,111,5,123,222,1,0         // movdqa        0x1de7b(%rip),%xmm8        # 3d190 <_sk_srcover_bgra_8888_sse2_lowp+0xf44>
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,65,15,219,192                   // pand          %xmm8,%xmm0
+  .byte  102,15,56,51,192                    // pmovzxwd      %xmm0,%xmm0
+  .byte  102,73,15,58,22,192,1               // pextrq        $0x1,%xmm0,%r8
+  .byte  102,73,15,126,193                   // movq          %xmm0,%r9
+  .byte  69,15,182,209                       // movzbl        %r9b,%r10d
+  .byte  73,193,233,30                       // shr           $0x1e,%r9
+  .byte  69,15,182,216                       // movzbl        %r8b,%r11d
+  .byte  73,193,232,30                       // shr           $0x1e,%r8
+  .byte  72,139,88,8                         // mov           0x8(%rax),%rbx
+  .byte  76,139,112,16                       // mov           0x10(%rax),%r14
+  .byte  243,66,15,16,4,147                  // movss         (%rbx,%r10,4),%xmm0
+  .byte  102,66,15,58,33,4,11,16             // insertps      $0x10,(%rbx,%r9,1),%xmm0
+  .byte  243,66,15,16,20,155                 // movss         (%rbx,%r11,4),%xmm2
+  .byte  102,15,58,33,194,32                 // insertps      $0x20,%xmm2,%xmm0
+  .byte  243,66,15,16,20,3                   // movss         (%rbx,%r8,1),%xmm2
+  .byte  102,15,58,33,194,48                 // insertps      $0x30,%xmm2,%xmm0
+  .byte  102,15,56,0,13,42,222,1,0           // pshufb        0x1de2a(%rip),%xmm1        # 3d1a0 <_sk_srcover_bgra_8888_sse2_lowp+0xf54>
+  .byte  102,15,56,51,201                    // pmovzxwd      %xmm1,%xmm1
+  .byte  102,73,15,58,22,200,1               // pextrq        $0x1,%xmm1,%r8
+  .byte  102,72,15,126,203                   // movq          %xmm1,%rbx
+  .byte  68,15,182,203                       // movzbl        %bl,%r9d
+  .byte  72,193,235,30                       // shr           $0x1e,%rbx
+  .byte  69,15,182,208                       // movzbl        %r8b,%r10d
+  .byte  73,193,232,30                       // shr           $0x1e,%r8
+  .byte  243,67,15,16,12,142                 // movss         (%r14,%r9,4),%xmm1
+  .byte  102,65,15,58,33,12,30,16            // insertps      $0x10,(%r14,%rbx,1),%xmm1
+  .byte  243,67,15,16,20,150                 // movss         (%r14,%r10,4),%xmm2
+  .byte  102,15,58,33,202,32                 // insertps      $0x20,%xmm2,%xmm1
+  .byte  243,67,15,16,20,6                   // movss         (%r14,%r8,1),%xmm2
+  .byte  102,15,58,33,202,48                 // insertps      $0x30,%xmm2,%xmm1
+  .byte  76,139,64,24                        // mov           0x18(%rax),%r8
+  .byte  102,69,15,219,193                   // pand          %xmm9,%xmm8
+  .byte  102,65,15,56,51,208                 // pmovzxwd      %xmm8,%xmm2
+  .byte  102,72,15,58,22,211,1               // pextrq        $0x1,%xmm2,%rbx
+  .byte  102,72,15,126,208                   // movq          %xmm2,%rax
+  .byte  68,15,182,200                       // movzbl        %al,%r9d
+  .byte  72,193,232,30                       // shr           $0x1e,%rax
+  .byte  68,15,182,211                       // movzbl        %bl,%r10d
+  .byte  72,193,235,30                       // shr           $0x1e,%rbx
+  .byte  243,67,15,16,20,136                 // movss         (%r8,%r9,4),%xmm2
+  .byte  102,65,15,58,33,20,0,16             // insertps      $0x10,(%r8,%rax,1),%xmm2
+  .byte  243,67,15,16,28,144                 // movss         (%r8,%r10,4),%xmm3
+  .byte  102,15,58,33,211,32                 // insertps      $0x20,%xmm3,%xmm2
+  .byte  243,65,15,16,28,24                  // movss         (%r8,%rbx,1),%xmm3
+  .byte  102,15,58,33,211,48                 // insertps      $0x30,%xmm3,%xmm2
+  .byte  102,65,15,112,217,78                // pshufd        $0x4e,%xmm9,%xmm3
+  .byte  102,68,15,111,195                   // movdqa        %xmm3,%xmm8
+  .byte  102,65,15,113,240,8                 // psllw         $0x8,%xmm8
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  102,65,15,235,216                   // por           %xmm8,%xmm3
+  .byte  102,15,56,51,219                    // pmovzxwd      %xmm3,%xmm3
+  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
+  .byte  15,89,29,120,221,1,0                // mulps         0x1dd78(%rip),%xmm3        # 3d1b0 <_sk_srcover_bgra_8888_sse2_lowp+0xf64>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  91                                  // pop           %rbx
+  .byte  65,94                               // pop           %r14
+  .byte  255,224                             // jmpq          *%rax
+  .byte  242,67,15,16,4,72                   // movsd         (%r8,%r9,2),%xmm0
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  117,13                              // jne           1f458 <_sk_load_tables_u16_be_sse41+0x18e>
+  .byte  243,15,126,192                      // movq          %xmm0,%xmm0
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  233,149,254,255,255                 // jmpq          1f2ed <_sk_load_tables_u16_be_sse41+0x23>
+  .byte  102,67,15,22,68,72,8                // movhpd        0x8(%r8,%r9,2),%xmm0
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  15,130,128,254,255,255              // jb            1f2ed <_sk_load_tables_u16_be_sse41+0x23>
+  .byte  243,67,15,126,76,72,16              // movq          0x10(%r8,%r9,2),%xmm1
+  .byte  233,116,254,255,255                 // jmpq          1f2ed <_sk_load_tables_u16_be_sse41+0x23>
+
+HIDDEN _sk_load_tables_rgb_u16_be_sse41
+.globl _sk_load_tables_rgb_u16_be_sse41
+FUNCTION(_sk_load_tables_rgb_u16_be_sse41)
+_sk_load_tables_rgb_u16_be_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  76,141,12,82                        // lea           (%rdx,%rdx,2),%r9
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,79,1,0,0                     // jne           1f5da <_sk_load_tables_rgb_u16_be_sse41+0x161>
+  .byte  243,67,15,111,20,72                 // movdqu        (%r8,%r9,2),%xmm2
+  .byte  243,67,15,111,76,72,8               // movdqu        0x8(%r8,%r9,2),%xmm1
+  .byte  102,15,115,217,4                    // psrldq        $0x4,%xmm1
+  .byte  102,68,15,111,202                   // movdqa        %xmm2,%xmm9
+  .byte  102,65,15,115,217,6                 // psrldq        $0x6,%xmm9
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,15,115,216,6                    // psrldq        $0x6,%xmm0
+  .byte  65,86                               // push          %r14
+  .byte  83                                  // push          %rbx
+  .byte  102,68,15,97,200                    // punpcklwd     %xmm0,%xmm9
+  .byte  102,15,97,209                       // punpcklwd     %xmm1,%xmm2
+  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
+  .byte  102,65,15,97,201                    // punpcklwd     %xmm9,%xmm1
+  .byte  102,68,15,111,5,193,220,1,0         // movdqa        0x1dcc1(%rip),%xmm8        # 3d190 <_sk_srcover_bgra_8888_sse2_lowp+0xf44>
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,65,15,219,192                   // pand          %xmm8,%xmm0
+  .byte  102,15,56,51,192                    // pmovzxwd      %xmm0,%xmm0
+  .byte  102,73,15,58,22,192,1               // pextrq        $0x1,%xmm0,%r8
+  .byte  102,73,15,126,193                   // movq          %xmm0,%r9
+  .byte  69,15,182,209                       // movzbl        %r9b,%r10d
+  .byte  73,193,233,30                       // shr           $0x1e,%r9
+  .byte  69,15,182,216                       // movzbl        %r8b,%r11d
+  .byte  73,193,232,30                       // shr           $0x1e,%r8
+  .byte  72,139,88,8                         // mov           0x8(%rax),%rbx
+  .byte  76,139,112,16                       // mov           0x10(%rax),%r14
+  .byte  243,66,15,16,4,147                  // movss         (%rbx,%r10,4),%xmm0
+  .byte  102,66,15,58,33,4,11,16             // insertps      $0x10,(%rbx,%r9,1),%xmm0
+  .byte  243,66,15,16,28,155                 // movss         (%rbx,%r11,4),%xmm3
+  .byte  102,15,58,33,195,32                 // insertps      $0x20,%xmm3,%xmm0
+  .byte  243,66,15,16,28,3                   // movss         (%rbx,%r8,1),%xmm3
+  .byte  102,15,58,33,195,48                 // insertps      $0x30,%xmm3,%xmm0
+  .byte  102,15,56,0,13,112,220,1,0          // pshufb        0x1dc70(%rip),%xmm1        # 3d1a0 <_sk_srcover_bgra_8888_sse2_lowp+0xf54>
+  .byte  102,15,56,51,201                    // pmovzxwd      %xmm1,%xmm1
+  .byte  102,73,15,58,22,200,1               // pextrq        $0x1,%xmm1,%r8
+  .byte  102,72,15,126,203                   // movq          %xmm1,%rbx
+  .byte  68,15,182,203                       // movzbl        %bl,%r9d
+  .byte  72,193,235,30                       // shr           $0x1e,%rbx
+  .byte  69,15,182,208                       // movzbl        %r8b,%r10d
+  .byte  73,193,232,30                       // shr           $0x1e,%r8
+  .byte  243,67,15,16,12,142                 // movss         (%r14,%r9,4),%xmm1
+  .byte  102,65,15,58,33,12,30,16            // insertps      $0x10,(%r14,%rbx,1),%xmm1
+  .byte  243,67,15,16,28,150                 // movss         (%r14,%r10,4),%xmm3
+  .byte  102,15,58,33,203,32                 // insertps      $0x20,%xmm3,%xmm1
+  .byte  243,67,15,16,28,6                   // movss         (%r14,%r8,1),%xmm3
+  .byte  102,15,58,33,203,48                 // insertps      $0x30,%xmm3,%xmm1
+  .byte  76,139,64,24                        // mov           0x18(%rax),%r8
+  .byte  102,65,15,105,209                   // punpckhwd     %xmm9,%xmm2
+  .byte  102,65,15,219,208                   // pand          %xmm8,%xmm2
+  .byte  102,15,56,51,210                    // pmovzxwd      %xmm2,%xmm2
+  .byte  102,72,15,58,22,211,1               // pextrq        $0x1,%xmm2,%rbx
+  .byte  102,72,15,126,208                   // movq          %xmm2,%rax
+  .byte  68,15,182,200                       // movzbl        %al,%r9d
+  .byte  72,193,232,30                       // shr           $0x1e,%rax
+  .byte  68,15,182,211                       // movzbl        %bl,%r10d
+  .byte  72,193,235,30                       // shr           $0x1e,%rbx
+  .byte  243,67,15,16,20,136                 // movss         (%r8,%r9,4),%xmm2
+  .byte  102,65,15,58,33,20,0,16             // insertps      $0x10,(%r8,%rax,1),%xmm2
+  .byte  243,67,15,16,28,144                 // movss         (%r8,%r10,4),%xmm3
+  .byte  102,15,58,33,211,32                 // insertps      $0x20,%xmm3,%xmm2
+  .byte  243,65,15,16,28,24                  // movss         (%r8,%rbx,1),%xmm3
+  .byte  102,15,58,33,211,48                 // insertps      $0x30,%xmm3,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,29,59,217,1,0                 // movaps        0x1d93b(%rip),%xmm3        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  91                                  // pop           %rbx
+  .byte  65,94                               // pop           %r14
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,67,15,110,20,72                 // movd          (%r8,%r9,2),%xmm2
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  102,67,15,196,84,72,4,2             // pinsrw        $0x2,0x4(%r8,%r9,2),%xmm2
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  117,14                              // jne           1f600 <_sk_load_tables_rgb_u16_be_sse41+0x187>
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
+  .byte  233,177,254,255,255                 // jmpq          1f4b1 <_sk_load_tables_rgb_u16_be_sse41+0x38>
+  .byte  102,71,15,110,76,72,6               // movd          0x6(%r8,%r9,2),%xmm9
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  102,71,15,196,76,72,10,2            // pinsrw        $0x2,0xa(%r8,%r9,2),%xmm9
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  114,24                              // jb            1f631 <_sk_load_tables_rgb_u16_be_sse41+0x1b8>
+  .byte  102,67,15,110,76,72,12              // movd          0xc(%r8,%r9,2),%xmm1
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  102,67,15,196,76,72,16,2            // pinsrw        $0x2,0x10(%r8,%r9,2),%xmm1
+  .byte  233,128,254,255,255                 // jmpq          1f4b1 <_sk_load_tables_rgb_u16_be_sse41+0x38>
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  233,119,254,255,255                 // jmpq          1f4b1 <_sk_load_tables_rgb_u16_be_sse41+0x38>
+
+HIDDEN _sk_byte_tables_sse41
+.globl _sk_byte_tables_sse41
+FUNCTION(_sk_byte_tables_sse41)
+_sk_byte_tables_sse41:
+  .byte  85                                  // push          %rbp
+  .byte  65,86                               // push          %r14
+  .byte  83                                  // push          %rbx
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  69,15,87,219                        // xorps         %xmm11,%xmm11
+  .byte  68,15,95,216                        // maxps         %xmm0,%xmm11
+  .byte  68,15,40,13,188,216,1,0             // movaps        0x1d8bc(%rip),%xmm9        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,93,217                        // minps         %xmm9,%xmm11
+  .byte  68,15,40,21,144,217,1,0             // movaps        0x1d990(%rip),%xmm10        # 3cff0 <_sk_srcover_bgra_8888_sse2_lowp+0xda4>
+  .byte  69,15,89,218                        // mulps         %xmm10,%xmm11
+  .byte  102,65,15,91,195                    // cvtps2dq      %xmm11,%xmm0
+  .byte  102,73,15,58,22,192,1               // pextrq        $0x1,%xmm0,%r8
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  77,137,194                          // mov           %r8,%r10
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  102,73,15,126,192                   // movq          %xmm0,%r8
+  .byte  69,137,195                          // mov           %r8d,%r11d
+  .byte  77,137,198                          // mov           %r8,%r14
+  .byte  73,193,238,32                       // shr           $0x20,%r14
+  .byte  72,139,24                           // mov           (%rax),%rbx
+  .byte  76,139,64,8                         // mov           0x8(%rax),%r8
+  .byte  70,15,182,52,51                     // movzbl        (%rbx,%r14,1),%r14d
+  .byte  66,15,182,44,27                     // movzbl        (%rbx,%r11,1),%ebp
+  .byte  102,15,110,197                      // movd          %ebp,%xmm0
+  .byte  102,65,15,58,32,198,1               // pinsrb        $0x1,%r14d,%xmm0
+  .byte  66,15,182,44,11                     // movzbl        (%rbx,%r9,1),%ebp
+  .byte  102,15,58,32,197,2                  // pinsrb        $0x2,%ebp,%xmm0
+  .byte  66,15,182,44,19                     // movzbl        (%rbx,%r10,1),%ebp
+  .byte  102,15,58,32,197,3                  // pinsrb        $0x3,%ebp,%xmm0
+  .byte  102,15,56,49,192                    // pmovzxbd      %xmm0,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  68,15,40,29,85,218,1,0              // movaps        0x1da55(%rip),%xmm11        # 3d120 <_sk_srcover_bgra_8888_sse2_lowp+0xed4>
+  .byte  65,15,89,195                        // mulps         %xmm11,%xmm0
+  .byte  69,15,87,228                        // xorps         %xmm12,%xmm12
+  .byte  68,15,95,225                        // maxps         %xmm1,%xmm12
+  .byte  69,15,93,225                        // minps         %xmm9,%xmm12
+  .byte  69,15,89,226                        // mulps         %xmm10,%xmm12
+  .byte  102,65,15,91,204                    // cvtps2dq      %xmm12,%xmm1
+  .byte  102,72,15,58,22,205,1               // pextrq        $0x1,%xmm1,%rbp
+  .byte  65,137,233                          // mov           %ebp,%r9d
+  .byte  72,193,237,32                       // shr           $0x20,%rbp
+  .byte  102,72,15,126,203                   // movq          %xmm1,%rbx
+  .byte  65,137,218                          // mov           %ebx,%r10d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,15,182,28,24                     // movzbl        (%r8,%rbx,1),%r11d
+  .byte  67,15,182,28,16                     // movzbl        (%r8,%r10,1),%ebx
+  .byte  102,15,110,203                      // movd          %ebx,%xmm1
+  .byte  102,65,15,58,32,203,1               // pinsrb        $0x1,%r11d,%xmm1
+  .byte  67,15,182,28,8                      // movzbl        (%r8,%r9,1),%ebx
+  .byte  102,15,58,32,203,2                  // pinsrb        $0x2,%ebx,%xmm1
+  .byte  65,15,182,44,40                     // movzbl        (%r8,%rbp,1),%ebp
+  .byte  102,15,58,32,205,3                  // pinsrb        $0x3,%ebp,%xmm1
+  .byte  102,15,56,49,201                    // pmovzxbd      %xmm1,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  65,15,89,203                        // mulps         %xmm11,%xmm1
+  .byte  76,139,72,16                        // mov           0x10(%rax),%r9
+  .byte  69,15,87,228                        // xorps         %xmm12,%xmm12
+  .byte  68,15,95,226                        // maxps         %xmm2,%xmm12
+  .byte  69,15,93,225                        // minps         %xmm9,%xmm12
+  .byte  69,15,89,226                        // mulps         %xmm10,%xmm12
+  .byte  102,65,15,91,212                    // cvtps2dq      %xmm12,%xmm2
+  .byte  102,72,15,58,22,211,1               // pextrq        $0x1,%xmm2,%rbx
+  .byte  65,137,216                          // mov           %ebx,%r8d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  102,72,15,126,213                   // movq          %xmm2,%rbp
+  .byte  65,137,234                          // mov           %ebp,%r10d
+  .byte  72,193,237,32                       // shr           $0x20,%rbp
+  .byte  69,15,182,28,41                     // movzbl        (%r9,%rbp,1),%r11d
+  .byte  67,15,182,44,17                     // movzbl        (%r9,%r10,1),%ebp
+  .byte  102,15,110,213                      // movd          %ebp,%xmm2
+  .byte  102,65,15,58,32,211,1               // pinsrb        $0x1,%r11d,%xmm2
+  .byte  67,15,182,44,1                      // movzbl        (%r9,%r8,1),%ebp
+  .byte  102,15,58,32,213,2                  // pinsrb        $0x2,%ebp,%xmm2
+  .byte  65,15,182,44,25                     // movzbl        (%r9,%rbx,1),%ebp
+  .byte  102,15,58,32,213,3                  // pinsrb        $0x3,%ebp,%xmm2
+  .byte  102,15,56,49,210                    // pmovzxbd      %xmm2,%xmm2
+  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
+  .byte  65,15,89,211                        // mulps         %xmm11,%xmm2
+  .byte  72,139,64,24                        // mov           0x18(%rax),%rax
+  .byte  68,15,95,195                        // maxps         %xmm3,%xmm8
+  .byte  69,15,93,193                        // minps         %xmm9,%xmm8
+  .byte  69,15,89,194                        // mulps         %xmm10,%xmm8
+  .byte  102,65,15,91,216                    // cvtps2dq      %xmm8,%xmm3
+  .byte  102,72,15,58,22,221,1               // pextrq        $0x1,%xmm3,%rbp
+  .byte  65,137,232                          // mov           %ebp,%r8d
+  .byte  72,193,237,32                       // shr           $0x20,%rbp
+  .byte  102,72,15,126,219                   // movq          %xmm3,%rbx
+  .byte  65,137,217                          // mov           %ebx,%r9d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  68,15,182,20,24                     // movzbl        (%rax,%rbx,1),%r10d
+  .byte  66,15,182,28,8                      // movzbl        (%rax,%r9,1),%ebx
+  .byte  102,15,110,219                      // movd          %ebx,%xmm3
+  .byte  102,65,15,58,32,218,1               // pinsrb        $0x1,%r10d,%xmm3
+  .byte  66,15,182,28,0                      // movzbl        (%rax,%r8,1),%ebx
+  .byte  102,15,58,32,219,2                  // pinsrb        $0x2,%ebx,%xmm3
+  .byte  15,182,4,40                         // movzbl        (%rax,%rbp,1),%eax
+  .byte  102,15,58,32,216,3                  // pinsrb        $0x3,%eax,%xmm3
+  .byte  102,15,56,49,219                    // pmovzxbd      %xmm3,%xmm3
+  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
+  .byte  65,15,89,219                        // mulps         %xmm11,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  91                                  // pop           %rbx
+  .byte  65,94                               // pop           %r14
+  .byte  93                                  // pop           %rbp
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_byte_tables_rgb_sse41
+.globl _sk_byte_tables_rgb_sse41
+FUNCTION(_sk_byte_tables_rgb_sse41)
+_sk_byte_tables_rgb_sse41:
+  .byte  85                                  // push          %rbp
+  .byte  65,86                               // push          %r14
+  .byte  83                                  // push          %rbx
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  68,139,64,24                        // mov           0x18(%rax),%r8d
+  .byte  65,255,200                          // dec           %r8d
+  .byte  102,69,15,110,192                   // movd          %r8d,%xmm8
+  .byte  102,69,15,112,192,0                 // pshufd        $0x0,%xmm8,%xmm8
+  .byte  69,15,91,192                        // cvtdq2ps      %xmm8,%xmm8
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  69,15,87,219                        // xorps         %xmm11,%xmm11
+  .byte  68,15,95,216                        // maxps         %xmm0,%xmm11
+  .byte  68,15,40,21,212,214,1,0             // movaps        0x1d6d4(%rip),%xmm10        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,93,218                        // minps         %xmm10,%xmm11
+  .byte  69,15,89,216                        // mulps         %xmm8,%xmm11
+  .byte  102,65,15,91,195                    // cvtps2dq      %xmm11,%xmm0
+  .byte  102,73,15,58,22,192,1               // pextrq        $0x1,%xmm0,%r8
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  77,137,194                          // mov           %r8,%r10
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  102,73,15,126,192                   // movq          %xmm0,%r8
+  .byte  69,137,195                          // mov           %r8d,%r11d
+  .byte  77,137,198                          // mov           %r8,%r14
+  .byte  73,193,238,32                       // shr           $0x20,%r14
+  .byte  72,139,24                           // mov           (%rax),%rbx
+  .byte  76,139,64,8                         // mov           0x8(%rax),%r8
+  .byte  70,15,182,52,51                     // movzbl        (%rbx,%r14,1),%r14d
+  .byte  66,15,182,44,27                     // movzbl        (%rbx,%r11,1),%ebp
+  .byte  102,15,110,197                      // movd          %ebp,%xmm0
+  .byte  102,65,15,58,32,198,1               // pinsrb        $0x1,%r14d,%xmm0
+  .byte  66,15,182,44,11                     // movzbl        (%rbx,%r9,1),%ebp
+  .byte  102,15,58,32,197,2                  // pinsrb        $0x2,%ebp,%xmm0
+  .byte  66,15,182,44,19                     // movzbl        (%rbx,%r10,1),%ebp
+  .byte  102,15,58,32,197,3                  // pinsrb        $0x3,%ebp,%xmm0
+  .byte  102,15,56,49,192                    // pmovzxbd      %xmm0,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  68,15,40,29,117,216,1,0             // movaps        0x1d875(%rip),%xmm11        # 3d120 <_sk_srcover_bgra_8888_sse2_lowp+0xed4>
+  .byte  65,15,89,195                        // mulps         %xmm11,%xmm0
+  .byte  69,15,87,228                        // xorps         %xmm12,%xmm12
+  .byte  68,15,95,225                        // maxps         %xmm1,%xmm12
+  .byte  69,15,93,226                        // minps         %xmm10,%xmm12
+  .byte  69,15,89,224                        // mulps         %xmm8,%xmm12
+  .byte  102,65,15,91,204                    // cvtps2dq      %xmm12,%xmm1
+  .byte  102,72,15,58,22,205,1               // pextrq        $0x1,%xmm1,%rbp
+  .byte  65,137,233                          // mov           %ebp,%r9d
+  .byte  72,193,237,32                       // shr           $0x20,%rbp
+  .byte  102,72,15,126,203                   // movq          %xmm1,%rbx
+  .byte  65,137,218                          // mov           %ebx,%r10d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,15,182,28,24                     // movzbl        (%r8,%rbx,1),%r11d
+  .byte  67,15,182,28,16                     // movzbl        (%r8,%r10,1),%ebx
+  .byte  102,15,110,203                      // movd          %ebx,%xmm1
+  .byte  102,65,15,58,32,203,1               // pinsrb        $0x1,%r11d,%xmm1
+  .byte  67,15,182,28,8                      // movzbl        (%r8,%r9,1),%ebx
+  .byte  102,15,58,32,203,2                  // pinsrb        $0x2,%ebx,%xmm1
+  .byte  65,15,182,44,40                     // movzbl        (%r8,%rbp,1),%ebp
+  .byte  102,15,58,32,205,3                  // pinsrb        $0x3,%ebp,%xmm1
+  .byte  102,15,56,49,201                    // pmovzxbd      %xmm1,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  65,15,89,203                        // mulps         %xmm11,%xmm1
+  .byte  72,139,64,16                        // mov           0x10(%rax),%rax
+  .byte  68,15,95,202                        // maxps         %xmm2,%xmm9
+  .byte  69,15,93,202                        // minps         %xmm10,%xmm9
+  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
+  .byte  102,65,15,91,209                    // cvtps2dq      %xmm9,%xmm2
+  .byte  102,72,15,58,22,213,1               // pextrq        $0x1,%xmm2,%rbp
+  .byte  65,137,232                          // mov           %ebp,%r8d
+  .byte  72,193,237,32                       // shr           $0x20,%rbp
+  .byte  102,72,15,126,211                   // movq          %xmm2,%rbx
+  .byte  65,137,217                          // mov           %ebx,%r9d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  68,15,182,20,24                     // movzbl        (%rax,%rbx,1),%r10d
+  .byte  66,15,182,28,8                      // movzbl        (%rax,%r9,1),%ebx
+  .byte  102,15,110,211                      // movd          %ebx,%xmm2
+  .byte  102,65,15,58,32,210,1               // pinsrb        $0x1,%r10d,%xmm2
+  .byte  66,15,182,28,0                      // movzbl        (%rax,%r8,1),%ebx
+  .byte  102,15,58,32,211,2                  // pinsrb        $0x2,%ebx,%xmm2
+  .byte  15,182,4,40                         // movzbl        (%rax,%rbp,1),%eax
+  .byte  102,15,58,32,208,3                  // pinsrb        $0x3,%eax,%xmm2
+  .byte  102,15,56,49,210                    // pmovzxbd      %xmm2,%xmm2
+  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
+  .byte  65,15,89,211                        // mulps         %xmm11,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  91                                  // pop           %rbx
+  .byte  65,94                               // pop           %r14
+  .byte  93                                  // pop           %rbp
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_table_r_sse41
+.globl _sk_table_r_sse41
+FUNCTION(_sk_table_r_sse41)
+_sk_table_r_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  139,64,8                            // mov           0x8(%rax),%eax
+  .byte  255,200                             // dec           %eax
+  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
+  .byte  102,69,15,112,192,0                 // pshufd        $0x0,%xmm8,%xmm8
+  .byte  69,15,91,192                        // cvtdq2ps      %xmm8,%xmm8
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,95,200                        // maxps         %xmm0,%xmm9
+  .byte  68,15,93,13,101,213,1,0             // minps         0x1d565(%rip),%xmm9        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
+  .byte  102,65,15,91,193                    // cvtps2dq      %xmm9,%xmm0
+  .byte  102,72,15,58,22,192,1               // pextrq        $0x1,%xmm0,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  102,73,15,126,194                   // movq          %xmm0,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  243,67,15,16,4,152                  // movss         (%r8,%r11,4),%xmm0
+  .byte  102,67,15,58,33,4,144,16            // insertps      $0x10,(%r8,%r10,4),%xmm0
+  .byte  243,71,15,16,4,136                  // movss         (%r8,%r9,4),%xmm8
+  .byte  102,65,15,58,33,192,32              // insertps      $0x20,%xmm8,%xmm0
+  .byte  243,69,15,16,4,128                  // movss         (%r8,%rax,4),%xmm8
+  .byte  102,65,15,58,33,192,48              // insertps      $0x30,%xmm8,%xmm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_table_g_sse41
+.globl _sk_table_g_sse41
+FUNCTION(_sk_table_g_sse41)
+_sk_table_g_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  139,64,8                            // mov           0x8(%rax),%eax
+  .byte  255,200                             // dec           %eax
+  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
+  .byte  102,69,15,112,192,0                 // pshufd        $0x0,%xmm8,%xmm8
+  .byte  69,15,91,192                        // cvtdq2ps      %xmm8,%xmm8
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,95,201                        // maxps         %xmm1,%xmm9
+  .byte  68,15,93,13,237,212,1,0             // minps         0x1d4ed(%rip),%xmm9        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
+  .byte  102,65,15,91,201                    // cvtps2dq      %xmm9,%xmm1
+  .byte  102,72,15,58,22,200,1               // pextrq        $0x1,%xmm1,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  102,73,15,126,202                   // movq          %xmm1,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  243,67,15,16,12,152                 // movss         (%r8,%r11,4),%xmm1
+  .byte  102,67,15,58,33,12,144,16           // insertps      $0x10,(%r8,%r10,4),%xmm1
+  .byte  243,71,15,16,4,136                  // movss         (%r8,%r9,4),%xmm8
+  .byte  102,65,15,58,33,200,32              // insertps      $0x20,%xmm8,%xmm1
+  .byte  243,69,15,16,4,128                  // movss         (%r8,%rax,4),%xmm8
+  .byte  102,65,15,58,33,200,48              // insertps      $0x30,%xmm8,%xmm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_table_b_sse41
+.globl _sk_table_b_sse41
+FUNCTION(_sk_table_b_sse41)
+_sk_table_b_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  139,64,8                            // mov           0x8(%rax),%eax
+  .byte  255,200                             // dec           %eax
+  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
+  .byte  102,69,15,112,192,0                 // pshufd        $0x0,%xmm8,%xmm8
+  .byte  69,15,91,192                        // cvtdq2ps      %xmm8,%xmm8
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,95,202                        // maxps         %xmm2,%xmm9
+  .byte  68,15,93,13,117,212,1,0             // minps         0x1d475(%rip),%xmm9        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
+  .byte  102,65,15,91,209                    // cvtps2dq      %xmm9,%xmm2
+  .byte  102,72,15,58,22,208,1               // pextrq        $0x1,%xmm2,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  102,73,15,126,210                   // movq          %xmm2,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  243,67,15,16,20,152                 // movss         (%r8,%r11,4),%xmm2
+  .byte  102,67,15,58,33,20,144,16           // insertps      $0x10,(%r8,%r10,4),%xmm2
+  .byte  243,71,15,16,4,136                  // movss         (%r8,%r9,4),%xmm8
+  .byte  102,65,15,58,33,208,32              // insertps      $0x20,%xmm8,%xmm2
+  .byte  243,69,15,16,4,128                  // movss         (%r8,%rax,4),%xmm8
+  .byte  102,65,15,58,33,208,48              // insertps      $0x30,%xmm8,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_table_a_sse41
+.globl _sk_table_a_sse41
+FUNCTION(_sk_table_a_sse41)
+_sk_table_a_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  139,64,8                            // mov           0x8(%rax),%eax
+  .byte  255,200                             // dec           %eax
+  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
+  .byte  102,69,15,112,192,0                 // pshufd        $0x0,%xmm8,%xmm8
+  .byte  69,15,91,192                        // cvtdq2ps      %xmm8,%xmm8
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,95,203                        // maxps         %xmm3,%xmm9
+  .byte  68,15,93,13,253,211,1,0             // minps         0x1d3fd(%rip),%xmm9        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
+  .byte  102,65,15,91,217                    // cvtps2dq      %xmm9,%xmm3
+  .byte  102,72,15,58,22,216,1               // pextrq        $0x1,%xmm3,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  102,73,15,126,218                   // movq          %xmm3,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  243,67,15,16,28,152                 // movss         (%r8,%r11,4),%xmm3
+  .byte  102,67,15,58,33,28,144,16           // insertps      $0x10,(%r8,%r10,4),%xmm3
+  .byte  243,71,15,16,4,136                  // movss         (%r8,%r9,4),%xmm8
+  .byte  102,65,15,58,33,216,32              // insertps      $0x20,%xmm8,%xmm3
+  .byte  243,69,15,16,4,128                  // movss         (%r8,%rax,4),%xmm8
+  .byte  102,65,15,58,33,216,48              // insertps      $0x30,%xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_parametric_r_sse41
+.globl _sk_parametric_r_sse41
+FUNCTION(_sk_parametric_r_sse41)
+_sk_parametric_r_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,64,16                  // movss         0x10(%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  243,68,15,16,72,12                  // movss         0xc(%rax),%xmm9
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  68,15,89,200                        // mulps         %xmm0,%xmm9
+  .byte  243,68,15,16,80,4                   // movss         0x4(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  68,15,89,208                        // mulps         %xmm0,%xmm10
+  .byte  65,15,194,192,2                     // cmpleps       %xmm8,%xmm0
+  .byte  243,68,15,16,64,24                  // movss         0x18(%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  69,15,88,200                        // addps         %xmm8,%xmm9
+  .byte  243,68,15,16,32                     // movss         (%rax),%xmm12
+  .byte  243,68,15,16,64,8                   // movss         0x8(%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  69,15,88,208                        // addps         %xmm8,%xmm10
+  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
+  .byte  69,15,87,219                        // xorps         %xmm11,%xmm11
+  .byte  69,15,91,194                        // cvtdq2ps      %xmm10,%xmm8
+  .byte  68,15,89,5,246,213,1,0              // mulps         0x1d5f6(%rip),%xmm8        # 3d1c0 <_sk_srcover_bgra_8888_sse2_lowp+0xf74>
+  .byte  68,15,40,45,254,213,1,0             // movaps        0x1d5fe(%rip),%xmm13        # 3d1d0 <_sk_srcover_bgra_8888_sse2_lowp+0xf84>
+  .byte  69,15,84,234                        // andps         %xmm10,%xmm13
+  .byte  68,15,86,45,34,211,1,0              // orps          0x1d322(%rip),%xmm13        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  68,15,88,5,250,213,1,0              // addps         0x1d5fa(%rip),%xmm8        # 3d1e0 <_sk_srcover_bgra_8888_sse2_lowp+0xf94>
+  .byte  68,15,40,53,2,214,1,0               // movaps        0x1d602(%rip),%xmm14        # 3d1f0 <_sk_srcover_bgra_8888_sse2_lowp+0xfa4>
+  .byte  69,15,89,245                        // mulps         %xmm13,%xmm14
+  .byte  69,15,92,198                        // subps         %xmm14,%xmm8
+  .byte  68,15,88,45,2,214,1,0               // addps         0x1d602(%rip),%xmm13        # 3d200 <_sk_srcover_bgra_8888_sse2_lowp+0xfb4>
+  .byte  68,15,40,53,10,214,1,0              // movaps        0x1d60a(%rip),%xmm14        # 3d210 <_sk_srcover_bgra_8888_sse2_lowp+0xfc4>
+  .byte  69,15,94,245                        // divps         %xmm13,%xmm14
+  .byte  69,15,92,198                        // subps         %xmm14,%xmm8
+  .byte  69,15,89,196                        // mulps         %xmm12,%xmm8
+  .byte  102,69,15,58,8,224,1                // roundps       $0x1,%xmm8,%xmm12
+  .byte  69,15,40,232                        // movaps        %xmm8,%xmm13
+  .byte  69,15,92,236                        // subps         %xmm12,%xmm13
+  .byte  68,15,88,5,247,213,1,0              // addps         0x1d5f7(%rip),%xmm8        # 3d220 <_sk_srcover_bgra_8888_sse2_lowp+0xfd4>
+  .byte  68,15,40,37,255,213,1,0             // movaps        0x1d5ff(%rip),%xmm12        # 3d230 <_sk_srcover_bgra_8888_sse2_lowp+0xfe4>
+  .byte  69,15,89,229                        // mulps         %xmm13,%xmm12
+  .byte  69,15,92,196                        // subps         %xmm12,%xmm8
+  .byte  68,15,40,37,255,213,1,0             // movaps        0x1d5ff(%rip),%xmm12        # 3d240 <_sk_srcover_bgra_8888_sse2_lowp+0xff4>
+  .byte  69,15,92,229                        // subps         %xmm13,%xmm12
+  .byte  68,15,40,45,3,214,1,0               // movaps        0x1d603(%rip),%xmm13        # 3d250 <_sk_srcover_bgra_8888_sse2_lowp+0x1004>
+  .byte  69,15,94,236                        // divps         %xmm12,%xmm13
+  .byte  69,15,88,232                        // addps         %xmm8,%xmm13
+  .byte  68,15,89,45,3,214,1,0               // mulps         0x1d603(%rip),%xmm13        # 3d260 <_sk_srcover_bgra_8888_sse2_lowp+0x1014>
+  .byte  102,69,15,91,197                    // cvtps2dq      %xmm13,%xmm8
+  .byte  69,15,194,211,4                     // cmpneqps      %xmm11,%xmm10
+  .byte  69,15,84,208                        // andps         %xmm8,%xmm10
+  .byte  243,68,15,16,64,20                  // movss         0x14(%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  69,15,88,194                        // addps         %xmm10,%xmm8
+  .byte  102,69,15,56,20,193                 // blendvps      %xmm0,%xmm9,%xmm8
+  .byte  69,15,95,195                        // maxps         %xmm11,%xmm8
+  .byte  68,15,93,5,132,210,1,0              // minps         0x1d284(%rip),%xmm8        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_parametric_g_sse41
+.globl _sk_parametric_g_sse41
+FUNCTION(_sk_parametric_g_sse41)
+_sk_parametric_g_sse41:
+  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,88,16                  // movss         0x10(%rax),%xmm11
+  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
+  .byte  243,68,15,16,72,12                  // movss         0xc(%rax),%xmm9
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  68,15,89,201                        // mulps         %xmm1,%xmm9
+  .byte  243,68,15,16,80,4                   // movss         0x4(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  68,15,89,209                        // mulps         %xmm1,%xmm10
+  .byte  15,40,193                           // movaps        %xmm1,%xmm0
+  .byte  65,15,194,195,2                     // cmpleps       %xmm11,%xmm0
+  .byte  243,15,16,72,24                     // movss         0x18(%rax),%xmm1
+  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
+  .byte  68,15,88,201                        // addps         %xmm1,%xmm9
+  .byte  243,68,15,16,32                     // movss         (%rax),%xmm12
+  .byte  243,15,16,72,8                      // movss         0x8(%rax),%xmm1
+  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
+  .byte  68,15,88,209                        // addps         %xmm1,%xmm10
+  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
+  .byte  69,15,87,219                        // xorps         %xmm11,%xmm11
+  .byte  69,15,91,242                        // cvtdq2ps      %xmm10,%xmm14
+  .byte  68,15,89,53,193,212,1,0             // mulps         0x1d4c1(%rip),%xmm14        # 3d1c0 <_sk_srcover_bgra_8888_sse2_lowp+0xf74>
+  .byte  68,15,40,45,201,212,1,0             // movaps        0x1d4c9(%rip),%xmm13        # 3d1d0 <_sk_srcover_bgra_8888_sse2_lowp+0xf84>
+  .byte  69,15,84,234                        // andps         %xmm10,%xmm13
+  .byte  68,15,86,45,237,209,1,0             // orps          0x1d1ed(%rip),%xmm13        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  68,15,88,53,197,212,1,0             // addps         0x1d4c5(%rip),%xmm14        # 3d1e0 <_sk_srcover_bgra_8888_sse2_lowp+0xf94>
+  .byte  15,40,13,206,212,1,0                // movaps        0x1d4ce(%rip),%xmm1        # 3d1f0 <_sk_srcover_bgra_8888_sse2_lowp+0xfa4>
+  .byte  65,15,89,205                        // mulps         %xmm13,%xmm1
+  .byte  68,15,92,241                        // subps         %xmm1,%xmm14
+  .byte  68,15,88,45,206,212,1,0             // addps         0x1d4ce(%rip),%xmm13        # 3d200 <_sk_srcover_bgra_8888_sse2_lowp+0xfb4>
+  .byte  15,40,13,215,212,1,0                // movaps        0x1d4d7(%rip),%xmm1        # 3d210 <_sk_srcover_bgra_8888_sse2_lowp+0xfc4>
+  .byte  65,15,94,205                        // divps         %xmm13,%xmm1
+  .byte  68,15,92,241                        // subps         %xmm1,%xmm14
+  .byte  69,15,89,244                        // mulps         %xmm12,%xmm14
+  .byte  102,69,15,58,8,230,1                // roundps       $0x1,%xmm14,%xmm12
+  .byte  69,15,40,238                        // movaps        %xmm14,%xmm13
+  .byte  69,15,92,236                        // subps         %xmm12,%xmm13
+  .byte  68,15,88,53,196,212,1,0             // addps         0x1d4c4(%rip),%xmm14        # 3d220 <_sk_srcover_bgra_8888_sse2_lowp+0xfd4>
+  .byte  15,40,13,205,212,1,0                // movaps        0x1d4cd(%rip),%xmm1        # 3d230 <_sk_srcover_bgra_8888_sse2_lowp+0xfe4>
+  .byte  65,15,89,205                        // mulps         %xmm13,%xmm1
+  .byte  68,15,92,241                        // subps         %xmm1,%xmm14
+  .byte  68,15,40,37,205,212,1,0             // movaps        0x1d4cd(%rip),%xmm12        # 3d240 <_sk_srcover_bgra_8888_sse2_lowp+0xff4>
+  .byte  69,15,92,229                        // subps         %xmm13,%xmm12
+  .byte  15,40,13,210,212,1,0                // movaps        0x1d4d2(%rip),%xmm1        # 3d250 <_sk_srcover_bgra_8888_sse2_lowp+0x1004>
+  .byte  65,15,94,204                        // divps         %xmm12,%xmm1
+  .byte  65,15,88,206                        // addps         %xmm14,%xmm1
+  .byte  15,89,13,211,212,1,0                // mulps         0x1d4d3(%rip),%xmm1        # 3d260 <_sk_srcover_bgra_8888_sse2_lowp+0x1014>
+  .byte  102,15,91,201                       // cvtps2dq      %xmm1,%xmm1
+  .byte  69,15,194,211,4                     // cmpneqps      %xmm11,%xmm10
+  .byte  68,15,84,209                        // andps         %xmm1,%xmm10
+  .byte  243,15,16,72,20                     // movss         0x14(%rax),%xmm1
+  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
+  .byte  65,15,88,202                        // addps         %xmm10,%xmm1
+  .byte  102,65,15,56,20,201                 // blendvps      %xmm0,%xmm9,%xmm1
+  .byte  65,15,95,203                        // maxps         %xmm11,%xmm1
+  .byte  15,93,13,88,209,1,0                 // minps         0x1d158(%rip),%xmm1        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_parametric_b_sse41
+.globl _sk_parametric_b_sse41
+FUNCTION(_sk_parametric_b_sse41)
+_sk_parametric_b_sse41:
+  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,88,16                  // movss         0x10(%rax),%xmm11
+  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
+  .byte  243,68,15,16,72,12                  // movss         0xc(%rax),%xmm9
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  68,15,89,202                        // mulps         %xmm2,%xmm9
+  .byte  243,68,15,16,80,4                   // movss         0x4(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  68,15,89,210                        // mulps         %xmm2,%xmm10
+  .byte  15,40,194                           // movaps        %xmm2,%xmm0
+  .byte  65,15,194,195,2                     // cmpleps       %xmm11,%xmm0
+  .byte  243,15,16,80,24                     // movss         0x18(%rax),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  68,15,88,202                        // addps         %xmm2,%xmm9
+  .byte  243,68,15,16,32                     // movss         (%rax),%xmm12
+  .byte  243,15,16,80,8                      // movss         0x8(%rax),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  68,15,88,210                        // addps         %xmm2,%xmm10
+  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
+  .byte  69,15,87,219                        // xorps         %xmm11,%xmm11
+  .byte  69,15,91,242                        // cvtdq2ps      %xmm10,%xmm14
+  .byte  68,15,89,53,149,211,1,0             // mulps         0x1d395(%rip),%xmm14        # 3d1c0 <_sk_srcover_bgra_8888_sse2_lowp+0xf74>
+  .byte  68,15,40,45,157,211,1,0             // movaps        0x1d39d(%rip),%xmm13        # 3d1d0 <_sk_srcover_bgra_8888_sse2_lowp+0xf84>
+  .byte  69,15,84,234                        // andps         %xmm10,%xmm13
+  .byte  68,15,86,45,193,208,1,0             // orps          0x1d0c1(%rip),%xmm13        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  68,15,88,53,153,211,1,0             // addps         0x1d399(%rip),%xmm14        # 3d1e0 <_sk_srcover_bgra_8888_sse2_lowp+0xf94>
+  .byte  15,40,21,162,211,1,0                // movaps        0x1d3a2(%rip),%xmm2        # 3d1f0 <_sk_srcover_bgra_8888_sse2_lowp+0xfa4>
+  .byte  65,15,89,213                        // mulps         %xmm13,%xmm2
+  .byte  68,15,92,242                        // subps         %xmm2,%xmm14
+  .byte  68,15,88,45,162,211,1,0             // addps         0x1d3a2(%rip),%xmm13        # 3d200 <_sk_srcover_bgra_8888_sse2_lowp+0xfb4>
+  .byte  15,40,21,171,211,1,0                // movaps        0x1d3ab(%rip),%xmm2        # 3d210 <_sk_srcover_bgra_8888_sse2_lowp+0xfc4>
+  .byte  65,15,94,213                        // divps         %xmm13,%xmm2
+  .byte  68,15,92,242                        // subps         %xmm2,%xmm14
+  .byte  69,15,89,244                        // mulps         %xmm12,%xmm14
+  .byte  102,69,15,58,8,230,1                // roundps       $0x1,%xmm14,%xmm12
+  .byte  69,15,40,238                        // movaps        %xmm14,%xmm13
+  .byte  69,15,92,236                        // subps         %xmm12,%xmm13
+  .byte  68,15,88,53,152,211,1,0             // addps         0x1d398(%rip),%xmm14        # 3d220 <_sk_srcover_bgra_8888_sse2_lowp+0xfd4>
+  .byte  15,40,21,161,211,1,0                // movaps        0x1d3a1(%rip),%xmm2        # 3d230 <_sk_srcover_bgra_8888_sse2_lowp+0xfe4>
+  .byte  65,15,89,213                        // mulps         %xmm13,%xmm2
+  .byte  68,15,92,242                        // subps         %xmm2,%xmm14
+  .byte  68,15,40,37,161,211,1,0             // movaps        0x1d3a1(%rip),%xmm12        # 3d240 <_sk_srcover_bgra_8888_sse2_lowp+0xff4>
+  .byte  69,15,92,229                        // subps         %xmm13,%xmm12
+  .byte  15,40,21,166,211,1,0                // movaps        0x1d3a6(%rip),%xmm2        # 3d250 <_sk_srcover_bgra_8888_sse2_lowp+0x1004>
+  .byte  65,15,94,212                        // divps         %xmm12,%xmm2
+  .byte  65,15,88,214                        // addps         %xmm14,%xmm2
+  .byte  15,89,21,167,211,1,0                // mulps         0x1d3a7(%rip),%xmm2        # 3d260 <_sk_srcover_bgra_8888_sse2_lowp+0x1014>
+  .byte  102,15,91,210                       // cvtps2dq      %xmm2,%xmm2
+  .byte  69,15,194,211,4                     // cmpneqps      %xmm11,%xmm10
+  .byte  68,15,84,210                        // andps         %xmm2,%xmm10
+  .byte  243,15,16,80,20                     // movss         0x14(%rax),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  65,15,88,210                        // addps         %xmm10,%xmm2
+  .byte  102,65,15,56,20,209                 // blendvps      %xmm0,%xmm9,%xmm2
+  .byte  65,15,95,211                        // maxps         %xmm11,%xmm2
+  .byte  15,93,21,44,208,1,0                 // minps         0x1d02c(%rip),%xmm2        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_parametric_a_sse41
+.globl _sk_parametric_a_sse41
+FUNCTION(_sk_parametric_a_sse41)
+_sk_parametric_a_sse41:
+  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,88,16                  // movss         0x10(%rax),%xmm11
+  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
+  .byte  243,68,15,16,72,12                  // movss         0xc(%rax),%xmm9
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  68,15,89,203                        // mulps         %xmm3,%xmm9
+  .byte  243,68,15,16,80,4                   // movss         0x4(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  68,15,89,211                        // mulps         %xmm3,%xmm10
+  .byte  15,40,195                           // movaps        %xmm3,%xmm0
+  .byte  65,15,194,195,2                     // cmpleps       %xmm11,%xmm0
+  .byte  243,15,16,88,24                     // movss         0x18(%rax),%xmm3
+  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
+  .byte  68,15,88,203                        // addps         %xmm3,%xmm9
+  .byte  243,68,15,16,32                     // movss         (%rax),%xmm12
+  .byte  243,15,16,88,8                      // movss         0x8(%rax),%xmm3
+  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
+  .byte  68,15,88,211                        // addps         %xmm3,%xmm10
+  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
+  .byte  69,15,87,219                        // xorps         %xmm11,%xmm11
+  .byte  69,15,91,242                        // cvtdq2ps      %xmm10,%xmm14
+  .byte  68,15,89,53,105,210,1,0             // mulps         0x1d269(%rip),%xmm14        # 3d1c0 <_sk_srcover_bgra_8888_sse2_lowp+0xf74>
+  .byte  68,15,40,45,113,210,1,0             // movaps        0x1d271(%rip),%xmm13        # 3d1d0 <_sk_srcover_bgra_8888_sse2_lowp+0xf84>
+  .byte  69,15,84,234                        // andps         %xmm10,%xmm13
+  .byte  68,15,86,45,149,207,1,0             // orps          0x1cf95(%rip),%xmm13        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  68,15,88,53,109,210,1,0             // addps         0x1d26d(%rip),%xmm14        # 3d1e0 <_sk_srcover_bgra_8888_sse2_lowp+0xf94>
+  .byte  15,40,29,118,210,1,0                // movaps        0x1d276(%rip),%xmm3        # 3d1f0 <_sk_srcover_bgra_8888_sse2_lowp+0xfa4>
+  .byte  65,15,89,221                        // mulps         %xmm13,%xmm3
+  .byte  68,15,92,243                        // subps         %xmm3,%xmm14
+  .byte  68,15,88,45,118,210,1,0             // addps         0x1d276(%rip),%xmm13        # 3d200 <_sk_srcover_bgra_8888_sse2_lowp+0xfb4>
+  .byte  15,40,29,127,210,1,0                // movaps        0x1d27f(%rip),%xmm3        # 3d210 <_sk_srcover_bgra_8888_sse2_lowp+0xfc4>
+  .byte  65,15,94,221                        // divps         %xmm13,%xmm3
+  .byte  68,15,92,243                        // subps         %xmm3,%xmm14
+  .byte  69,15,89,244                        // mulps         %xmm12,%xmm14
+  .byte  102,69,15,58,8,230,1                // roundps       $0x1,%xmm14,%xmm12
+  .byte  69,15,40,238                        // movaps        %xmm14,%xmm13
+  .byte  69,15,92,236                        // subps         %xmm12,%xmm13
+  .byte  68,15,88,53,108,210,1,0             // addps         0x1d26c(%rip),%xmm14        # 3d220 <_sk_srcover_bgra_8888_sse2_lowp+0xfd4>
+  .byte  15,40,29,117,210,1,0                // movaps        0x1d275(%rip),%xmm3        # 3d230 <_sk_srcover_bgra_8888_sse2_lowp+0xfe4>
+  .byte  65,15,89,221                        // mulps         %xmm13,%xmm3
+  .byte  68,15,92,243                        // subps         %xmm3,%xmm14
+  .byte  68,15,40,37,117,210,1,0             // movaps        0x1d275(%rip),%xmm12        # 3d240 <_sk_srcover_bgra_8888_sse2_lowp+0xff4>
+  .byte  69,15,92,229                        // subps         %xmm13,%xmm12
+  .byte  15,40,29,122,210,1,0                // movaps        0x1d27a(%rip),%xmm3        # 3d250 <_sk_srcover_bgra_8888_sse2_lowp+0x1004>
+  .byte  65,15,94,220                        // divps         %xmm12,%xmm3
+  .byte  65,15,88,222                        // addps         %xmm14,%xmm3
+  .byte  15,89,29,123,210,1,0                // mulps         0x1d27b(%rip),%xmm3        # 3d260 <_sk_srcover_bgra_8888_sse2_lowp+0x1014>
+  .byte  102,15,91,219                       // cvtps2dq      %xmm3,%xmm3
+  .byte  69,15,194,211,4                     // cmpneqps      %xmm11,%xmm10
+  .byte  68,15,84,211                        // andps         %xmm3,%xmm10
+  .byte  243,15,16,88,20                     // movss         0x14(%rax),%xmm3
+  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
+  .byte  65,15,88,218                        // addps         %xmm10,%xmm3
+  .byte  102,65,15,56,20,217                 // blendvps      %xmm0,%xmm9,%xmm3
+  .byte  65,15,95,219                        // maxps         %xmm11,%xmm3
+  .byte  15,93,29,0,207,1,0                  // minps         0x1cf00(%rip),%xmm3        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_gamma_sse41
+.globl _sk_gamma_sse41
+FUNCTION(_sk_gamma_sse41)
+_sk_gamma_sse41:
+  .byte  15,41,124,36,232                    // movaps        %xmm7,-0x18(%rsp)
+  .byte  15,41,116,36,216                    // movaps        %xmm6,-0x28(%rsp)
+  .byte  15,41,108,36,200                    // movaps        %xmm5,-0x38(%rsp)
+  .byte  15,41,100,36,184                    // movaps        %xmm4,-0x48(%rsp)
+  .byte  15,41,92,36,168                     // movaps        %xmm3,-0x58(%rsp)
+  .byte  68,15,40,226                        // movaps        %xmm2,%xmm12
+  .byte  68,15,40,209                        // movaps        %xmm1,%xmm10
+  .byte  15,40,224                           // movaps        %xmm0,%xmm4
+  .byte  15,91,244                           // cvtdq2ps      %xmm4,%xmm6
+  .byte  15,40,5,122,209,1,0                 // movaps        0x1d17a(%rip),%xmm0        # 3d1c0 <_sk_srcover_bgra_8888_sse2_lowp+0xf74>
+  .byte  15,89,240                           // mulps         %xmm0,%xmm6
+  .byte  15,40,232                           // movaps        %xmm0,%xmm5
+  .byte  68,15,40,5,124,209,1,0              // movaps        0x1d17c(%rip),%xmm8        # 3d1d0 <_sk_srcover_bgra_8888_sse2_lowp+0xf84>
+  .byte  15,40,196                           // movaps        %xmm4,%xmm0
+  .byte  65,15,84,192                        // andps         %xmm8,%xmm0
+  .byte  15,86,5,158,206,1,0                 // orps          0x1ce9e(%rip),%xmm0        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  15,88,53,119,209,1,0                // addps         0x1d177(%rip),%xmm6        # 3d1e0 <_sk_srcover_bgra_8888_sse2_lowp+0xf94>
+  .byte  68,15,40,29,127,209,1,0             // movaps        0x1d17f(%rip),%xmm11        # 3d1f0 <_sk_srcover_bgra_8888_sse2_lowp+0xfa4>
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  65,15,89,203                        // mulps         %xmm11,%xmm1
+  .byte  15,92,241                           // subps         %xmm1,%xmm6
+  .byte  68,15,40,61,125,209,1,0             // movaps        0x1d17d(%rip),%xmm15        # 3d200 <_sk_srcover_bgra_8888_sse2_lowp+0xfb4>
+  .byte  65,15,88,199                        // addps         %xmm15,%xmm0
+  .byte  68,15,40,53,129,209,1,0             // movaps        0x1d181(%rip),%xmm14        # 3d210 <_sk_srcover_bgra_8888_sse2_lowp+0xfc4>
+  .byte  65,15,40,206                        // movaps        %xmm14,%xmm1
+  .byte  15,94,200                           // divps         %xmm0,%xmm1
+  .byte  15,92,241                           // subps         %xmm1,%xmm6
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,15,16,16                        // movss         (%rax),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  15,89,242                           // mulps         %xmm2,%xmm6
+  .byte  102,15,58,8,198,1                   // roundps       $0x1,%xmm6,%xmm0
+  .byte  15,40,206                           // movaps        %xmm6,%xmm1
+  .byte  15,92,200                           // subps         %xmm0,%xmm1
+  .byte  15,88,53,103,209,1,0                // addps         0x1d167(%rip),%xmm6        # 3d220 <_sk_srcover_bgra_8888_sse2_lowp+0xfd4>
+  .byte  15,40,29,128,209,1,0                // movaps        0x1d180(%rip),%xmm3        # 3d240 <_sk_srcover_bgra_8888_sse2_lowp+0xff4>
+  .byte  68,15,40,203                        // movaps        %xmm3,%xmm9
+  .byte  68,15,92,201                        // subps         %xmm1,%xmm9
+  .byte  15,40,193                           // movaps        %xmm1,%xmm0
+  .byte  15,40,13,94,209,1,0                 // movaps        0x1d15e(%rip),%xmm1        # 3d230 <_sk_srcover_bgra_8888_sse2_lowp+0xfe4>
+  .byte  15,89,193                           // mulps         %xmm1,%xmm0
+  .byte  15,92,240                           // subps         %xmm0,%xmm6
+  .byte  68,15,40,45,112,209,1,0             // movaps        0x1d170(%rip),%xmm13        # 3d250 <_sk_srcover_bgra_8888_sse2_lowp+0x1004>
+  .byte  65,15,40,197                        // movaps        %xmm13,%xmm0
+  .byte  65,15,94,193                        // divps         %xmm9,%xmm0
+  .byte  15,88,198                           // addps         %xmm6,%xmm0
+  .byte  68,15,40,13,109,209,1,0             // movaps        0x1d16d(%rip),%xmm9        # 3d260 <_sk_srcover_bgra_8888_sse2_lowp+0x1014>
+  .byte  65,15,89,193                        // mulps         %xmm9,%xmm0
+  .byte  102,15,91,192                       // cvtps2dq      %xmm0,%xmm0
+  .byte  15,87,246                           // xorps         %xmm6,%xmm6
+  .byte  15,194,230,4                        // cmpneqps      %xmm6,%xmm4
+  .byte  15,84,224                           // andps         %xmm0,%xmm4
+  .byte  65,15,91,194                        // cvtdq2ps      %xmm10,%xmm0
+  .byte  15,89,197                           // mulps         %xmm5,%xmm0
+  .byte  65,15,40,250                        // movaps        %xmm10,%xmm7
+  .byte  65,15,84,248                        // andps         %xmm8,%xmm7
+  .byte  15,40,53,229,205,1,0                // movaps        0x1cde5(%rip),%xmm6        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  15,86,254                           // orps          %xmm6,%xmm7
+  .byte  15,88,5,187,208,1,0                 // addps         0x1d0bb(%rip),%xmm0        # 3d1e0 <_sk_srcover_bgra_8888_sse2_lowp+0xf94>
+  .byte  15,40,239                           // movaps        %xmm7,%xmm5
+  .byte  65,15,89,235                        // mulps         %xmm11,%xmm5
+  .byte  15,92,197                           // subps         %xmm5,%xmm0
+  .byte  65,15,88,255                        // addps         %xmm15,%xmm7
+  .byte  65,15,40,238                        // movaps        %xmm14,%xmm5
+  .byte  15,94,239                           // divps         %xmm7,%xmm5
+  .byte  15,92,197                           // subps         %xmm5,%xmm0
+  .byte  15,89,194                           // mulps         %xmm2,%xmm0
+  .byte  102,15,58,8,232,1                   // roundps       $0x1,%xmm0,%xmm5
+  .byte  15,40,248                           // movaps        %xmm0,%xmm7
+  .byte  15,92,253                           // subps         %xmm5,%xmm7
+  .byte  68,15,40,61,204,208,1,0             // movaps        0x1d0cc(%rip),%xmm15        # 3d220 <_sk_srcover_bgra_8888_sse2_lowp+0xfd4>
+  .byte  65,15,88,199                        // addps         %xmm15,%xmm0
+  .byte  15,40,235                           // movaps        %xmm3,%xmm5
+  .byte  15,92,239                           // subps         %xmm7,%xmm5
+  .byte  15,89,249                           // mulps         %xmm1,%xmm7
+  .byte  15,92,199                           // subps         %xmm7,%xmm0
+  .byte  65,15,40,253                        // movaps        %xmm13,%xmm7
+  .byte  15,94,253                           // divps         %xmm5,%xmm7
+  .byte  15,88,248                           // addps         %xmm0,%xmm7
+  .byte  65,15,89,249                        // mulps         %xmm9,%xmm7
+  .byte  102,15,91,199                       // cvtps2dq      %xmm7,%xmm0
+  .byte  15,87,255                           // xorps         %xmm7,%xmm7
+  .byte  68,15,194,215,4                     // cmpneqps      %xmm7,%xmm10
+  .byte  68,15,84,208                        // andps         %xmm0,%xmm10
+  .byte  65,15,91,196                        // cvtdq2ps      %xmm12,%xmm0
+  .byte  15,89,5,51,208,1,0                  // mulps         0x1d033(%rip),%xmm0        # 3d1c0 <_sk_srcover_bgra_8888_sse2_lowp+0xf74>
+  .byte  69,15,84,196                        // andps         %xmm12,%xmm8
+  .byte  68,15,86,198                        // orps          %xmm6,%xmm8
+  .byte  15,88,5,68,208,1,0                  // addps         0x1d044(%rip),%xmm0        # 3d1e0 <_sk_srcover_bgra_8888_sse2_lowp+0xf94>
+  .byte  69,15,89,216                        // mulps         %xmm8,%xmm11
+  .byte  65,15,92,195                        // subps         %xmm11,%xmm0
+  .byte  68,15,88,5,84,208,1,0               // addps         0x1d054(%rip),%xmm8        # 3d200 <_sk_srcover_bgra_8888_sse2_lowp+0xfb4>
+  .byte  69,15,94,240                        // divps         %xmm8,%xmm14
+  .byte  65,15,92,198                        // subps         %xmm14,%xmm0
+  .byte  15,89,194                           // mulps         %xmm2,%xmm0
+  .byte  102,15,58,8,208,1                   // roundps       $0x1,%xmm0,%xmm2
+  .byte  15,40,232                           // movaps        %xmm0,%xmm5
+  .byte  15,92,234                           // subps         %xmm2,%xmm5
+  .byte  65,15,88,199                        // addps         %xmm15,%xmm0
+  .byte  15,89,205                           // mulps         %xmm5,%xmm1
+  .byte  15,92,193                           // subps         %xmm1,%xmm0
+  .byte  15,92,221                           // subps         %xmm5,%xmm3
+  .byte  68,15,94,235                        // divps         %xmm3,%xmm13
+  .byte  68,15,88,232                        // addps         %xmm0,%xmm13
+  .byte  69,15,89,233                        // mulps         %xmm9,%xmm13
+  .byte  68,15,194,231,4                     // cmpneqps      %xmm7,%xmm12
+  .byte  102,65,15,91,197                    // cvtps2dq      %xmm13,%xmm0
+  .byte  68,15,84,224                        // andps         %xmm0,%xmm12
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,196                           // movaps        %xmm4,%xmm0
+  .byte  65,15,40,202                        // movaps        %xmm10,%xmm1
+  .byte  65,15,40,212                        // movaps        %xmm12,%xmm2
+  .byte  15,40,92,36,168                     // movaps        -0x58(%rsp),%xmm3
+  .byte  15,40,100,36,184                    // movaps        -0x48(%rsp),%xmm4
+  .byte  15,40,108,36,200                    // movaps        -0x38(%rsp),%xmm5
+  .byte  15,40,116,36,216                    // movaps        -0x28(%rsp),%xmm6
+  .byte  15,40,124,36,232                    // movaps        -0x18(%rsp),%xmm7
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_gamma_dst_sse41
+.globl _sk_gamma_dst_sse41
+FUNCTION(_sk_gamma_dst_sse41)
+_sk_gamma_dst_sse41:
+  .byte  15,41,124,36,232                    // movaps        %xmm7,-0x18(%rsp)
+  .byte  68,15,40,230                        // movaps        %xmm6,%xmm12
+  .byte  68,15,40,213                        // movaps        %xmm5,%xmm10
+  .byte  15,40,236                           // movaps        %xmm4,%xmm5
+  .byte  15,41,92,36,216                     // movaps        %xmm3,-0x28(%rsp)
+  .byte  15,41,84,36,200                     // movaps        %xmm2,-0x38(%rsp)
+  .byte  15,41,76,36,184                     // movaps        %xmm1,-0x48(%rsp)
+  .byte  15,41,68,36,168                     // movaps        %xmm0,-0x58(%rsp)
+  .byte  15,91,221                           // cvtdq2ps      %xmm5,%xmm3
+  .byte  15,40,5,128,207,1,0                 // movaps        0x1cf80(%rip),%xmm0        # 3d1c0 <_sk_srcover_bgra_8888_sse2_lowp+0xf74>
+  .byte  15,89,216                           // mulps         %xmm0,%xmm3
+  .byte  15,40,240                           // movaps        %xmm0,%xmm6
+  .byte  68,15,40,5,130,207,1,0              // movaps        0x1cf82(%rip),%xmm8        # 3d1d0 <_sk_srcover_bgra_8888_sse2_lowp+0xf84>
+  .byte  15,40,197                           // movaps        %xmm5,%xmm0
+  .byte  65,15,84,192                        // andps         %xmm8,%xmm0
+  .byte  15,86,5,164,204,1,0                 // orps          0x1cca4(%rip),%xmm0        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  15,88,29,125,207,1,0                // addps         0x1cf7d(%rip),%xmm3        # 3d1e0 <_sk_srcover_bgra_8888_sse2_lowp+0xf94>
+  .byte  68,15,40,29,133,207,1,0             // movaps        0x1cf85(%rip),%xmm11        # 3d1f0 <_sk_srcover_bgra_8888_sse2_lowp+0xfa4>
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  65,15,89,203                        // mulps         %xmm11,%xmm1
+  .byte  15,92,217                           // subps         %xmm1,%xmm3
+  .byte  68,15,40,61,131,207,1,0             // movaps        0x1cf83(%rip),%xmm15        # 3d200 <_sk_srcover_bgra_8888_sse2_lowp+0xfb4>
+  .byte  65,15,88,199                        // addps         %xmm15,%xmm0
+  .byte  68,15,40,53,135,207,1,0             // movaps        0x1cf87(%rip),%xmm14        # 3d210 <_sk_srcover_bgra_8888_sse2_lowp+0xfc4>
+  .byte  65,15,40,206                        // movaps        %xmm14,%xmm1
+  .byte  15,94,200                           // divps         %xmm0,%xmm1
+  .byte  15,92,217                           // subps         %xmm1,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,15,16,16                        // movss         (%rax),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  15,89,218                           // mulps         %xmm2,%xmm3
+  .byte  102,15,58,8,195,1                   // roundps       $0x1,%xmm3,%xmm0
+  .byte  15,40,203                           // movaps        %xmm3,%xmm1
+  .byte  15,92,200                           // subps         %xmm0,%xmm1
+  .byte  15,88,29,109,207,1,0                // addps         0x1cf6d(%rip),%xmm3        # 3d220 <_sk_srcover_bgra_8888_sse2_lowp+0xfd4>
+  .byte  15,40,37,134,207,1,0                // movaps        0x1cf86(%rip),%xmm4        # 3d240 <_sk_srcover_bgra_8888_sse2_lowp+0xff4>
+  .byte  68,15,40,204                        // movaps        %xmm4,%xmm9
+  .byte  68,15,92,201                        // subps         %xmm1,%xmm9
+  .byte  15,40,193                           // movaps        %xmm1,%xmm0
+  .byte  15,40,13,100,207,1,0                // movaps        0x1cf64(%rip),%xmm1        # 3d230 <_sk_srcover_bgra_8888_sse2_lowp+0xfe4>
+  .byte  15,89,193                           // mulps         %xmm1,%xmm0
+  .byte  15,92,216                           // subps         %xmm0,%xmm3
+  .byte  68,15,40,45,118,207,1,0             // movaps        0x1cf76(%rip),%xmm13        # 3d250 <_sk_srcover_bgra_8888_sse2_lowp+0x1004>
+  .byte  65,15,40,197                        // movaps        %xmm13,%xmm0
+  .byte  65,15,94,193                        // divps         %xmm9,%xmm0
+  .byte  15,88,195                           // addps         %xmm3,%xmm0
+  .byte  68,15,40,13,115,207,1,0             // movaps        0x1cf73(%rip),%xmm9        # 3d260 <_sk_srcover_bgra_8888_sse2_lowp+0x1014>
+  .byte  65,15,89,193                        // mulps         %xmm9,%xmm0
+  .byte  102,15,91,192                       // cvtps2dq      %xmm0,%xmm0
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  15,194,235,4                        // cmpneqps      %xmm3,%xmm5
+  .byte  15,84,232                           // andps         %xmm0,%xmm5
+  .byte  65,15,91,194                        // cvtdq2ps      %xmm10,%xmm0
+  .byte  15,89,198                           // mulps         %xmm6,%xmm0
+  .byte  65,15,40,250                        // movaps        %xmm10,%xmm7
+  .byte  65,15,84,248                        // andps         %xmm8,%xmm7
+  .byte  15,40,29,235,203,1,0                // movaps        0x1cbeb(%rip),%xmm3        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  15,86,251                           // orps          %xmm3,%xmm7
+  .byte  15,88,5,193,206,1,0                 // addps         0x1cec1(%rip),%xmm0        # 3d1e0 <_sk_srcover_bgra_8888_sse2_lowp+0xf94>
+  .byte  15,40,247                           // movaps        %xmm7,%xmm6
+  .byte  65,15,89,243                        // mulps         %xmm11,%xmm6
+  .byte  15,92,198                           // subps         %xmm6,%xmm0
+  .byte  65,15,88,255                        // addps         %xmm15,%xmm7
+  .byte  65,15,40,246                        // movaps        %xmm14,%xmm6
+  .byte  15,94,247                           // divps         %xmm7,%xmm6
+  .byte  15,92,198                           // subps         %xmm6,%xmm0
+  .byte  15,89,194                           // mulps         %xmm2,%xmm0
+  .byte  102,15,58,8,240,1                   // roundps       $0x1,%xmm0,%xmm6
+  .byte  15,40,248                           // movaps        %xmm0,%xmm7
+  .byte  15,92,254                           // subps         %xmm6,%xmm7
+  .byte  68,15,40,61,210,206,1,0             // movaps        0x1ced2(%rip),%xmm15        # 3d220 <_sk_srcover_bgra_8888_sse2_lowp+0xfd4>
+  .byte  65,15,88,199                        // addps         %xmm15,%xmm0
+  .byte  15,40,244                           // movaps        %xmm4,%xmm6
+  .byte  15,92,247                           // subps         %xmm7,%xmm6
+  .byte  15,89,249                           // mulps         %xmm1,%xmm7
+  .byte  15,92,199                           // subps         %xmm7,%xmm0
+  .byte  65,15,40,253                        // movaps        %xmm13,%xmm7
+  .byte  15,94,254                           // divps         %xmm6,%xmm7
+  .byte  15,88,248                           // addps         %xmm0,%xmm7
+  .byte  65,15,89,249                        // mulps         %xmm9,%xmm7
+  .byte  102,15,91,199                       // cvtps2dq      %xmm7,%xmm0
+  .byte  15,87,255                           // xorps         %xmm7,%xmm7
+  .byte  68,15,194,215,4                     // cmpneqps      %xmm7,%xmm10
+  .byte  68,15,84,208                        // andps         %xmm0,%xmm10
+  .byte  65,15,91,196                        // cvtdq2ps      %xmm12,%xmm0
+  .byte  15,89,5,57,206,1,0                  // mulps         0x1ce39(%rip),%xmm0        # 3d1c0 <_sk_srcover_bgra_8888_sse2_lowp+0xf74>
+  .byte  69,15,84,196                        // andps         %xmm12,%xmm8
+  .byte  68,15,86,195                        // orps          %xmm3,%xmm8
+  .byte  15,88,5,74,206,1,0                  // addps         0x1ce4a(%rip),%xmm0        # 3d1e0 <_sk_srcover_bgra_8888_sse2_lowp+0xf94>
+  .byte  69,15,89,216                        // mulps         %xmm8,%xmm11
+  .byte  65,15,92,195                        // subps         %xmm11,%xmm0
+  .byte  68,15,88,5,90,206,1,0               // addps         0x1ce5a(%rip),%xmm8        # 3d200 <_sk_srcover_bgra_8888_sse2_lowp+0xfb4>
+  .byte  69,15,94,240                        // divps         %xmm8,%xmm14
+  .byte  65,15,92,198                        // subps         %xmm14,%xmm0
+  .byte  15,89,194                           // mulps         %xmm2,%xmm0
+  .byte  102,15,58,8,208,1                   // roundps       $0x1,%xmm0,%xmm2
+  .byte  15,40,240                           // movaps        %xmm0,%xmm6
+  .byte  15,92,242                           // subps         %xmm2,%xmm6
+  .byte  65,15,88,199                        // addps         %xmm15,%xmm0
+  .byte  15,89,206                           // mulps         %xmm6,%xmm1
+  .byte  15,92,193                           // subps         %xmm1,%xmm0
+  .byte  15,92,230                           // subps         %xmm6,%xmm4
+  .byte  68,15,94,236                        // divps         %xmm4,%xmm13
+  .byte  68,15,88,232                        // addps         %xmm0,%xmm13
+  .byte  69,15,89,233                        // mulps         %xmm9,%xmm13
+  .byte  68,15,194,231,4                     // cmpneqps      %xmm7,%xmm12
+  .byte  102,65,15,91,197                    // cvtps2dq      %xmm13,%xmm0
+  .byte  68,15,84,224                        // andps         %xmm0,%xmm12
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,68,36,168                     // movaps        -0x58(%rsp),%xmm0
+  .byte  15,40,76,36,184                     // movaps        -0x48(%rsp),%xmm1
+  .byte  15,40,84,36,200                     // movaps        -0x38(%rsp),%xmm2
+  .byte  15,40,92,36,216                     // movaps        -0x28(%rsp),%xmm3
+  .byte  15,40,229                           // movaps        %xmm5,%xmm4
+  .byte  65,15,40,234                        // movaps        %xmm10,%xmm5
+  .byte  65,15,40,244                        // movaps        %xmm12,%xmm6
+  .byte  15,40,124,36,232                    // movaps        -0x18(%rsp),%xmm7
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_lab_to_xyz_sse41
+.globl _sk_lab_to_xyz_sse41
+FUNCTION(_sk_lab_to_xyz_sse41)
+_sk_lab_to_xyz_sse41:
+  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
+  .byte  68,15,89,5,88,206,1,0               // mulps         0x1ce58(%rip),%xmm8        # 3d270 <_sk_srcover_bgra_8888_sse2_lowp+0x1024>
+  .byte  68,15,40,13,208,203,1,0             // movaps        0x1cbd0(%rip),%xmm9        # 3cff0 <_sk_srcover_bgra_8888_sse2_lowp+0xda4>
+  .byte  65,15,89,201                        // mulps         %xmm9,%xmm1
+  .byte  15,40,5,85,206,1,0                  // movaps        0x1ce55(%rip),%xmm0        # 3d280 <_sk_srcover_bgra_8888_sse2_lowp+0x1034>
+  .byte  15,88,200                           // addps         %xmm0,%xmm1
+  .byte  65,15,89,209                        // mulps         %xmm9,%xmm2
+  .byte  15,88,208                           // addps         %xmm0,%xmm2
+  .byte  68,15,88,5,83,206,1,0               // addps         0x1ce53(%rip),%xmm8        # 3d290 <_sk_srcover_bgra_8888_sse2_lowp+0x1044>
+  .byte  68,15,89,5,91,206,1,0               // mulps         0x1ce5b(%rip),%xmm8        # 3d2a0 <_sk_srcover_bgra_8888_sse2_lowp+0x1054>
+  .byte  15,89,13,100,206,1,0                // mulps         0x1ce64(%rip),%xmm1        # 3d2b0 <_sk_srcover_bgra_8888_sse2_lowp+0x1064>
+  .byte  65,15,88,200                        // addps         %xmm8,%xmm1
+  .byte  15,89,21,105,206,1,0                // mulps         0x1ce69(%rip),%xmm2        # 3d2c0 <_sk_srcover_bgra_8888_sse2_lowp+0x1074>
+  .byte  69,15,40,208                        // movaps        %xmm8,%xmm10
+  .byte  68,15,92,210                        // subps         %xmm2,%xmm10
+  .byte  68,15,40,217                        // movaps        %xmm1,%xmm11
+  .byte  69,15,89,219                        // mulps         %xmm11,%xmm11
+  .byte  68,15,89,217                        // mulps         %xmm1,%xmm11
+  .byte  68,15,40,13,93,206,1,0              // movaps        0x1ce5d(%rip),%xmm9        # 3d2d0 <_sk_srcover_bgra_8888_sse2_lowp+0x1084>
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  65,15,194,195,1                     // cmpltps       %xmm11,%xmm0
+  .byte  15,40,21,93,206,1,0                 // movaps        0x1ce5d(%rip),%xmm2        # 3d2e0 <_sk_srcover_bgra_8888_sse2_lowp+0x1094>
+  .byte  15,88,202                           // addps         %xmm2,%xmm1
+  .byte  68,15,40,37,98,206,1,0              // movaps        0x1ce62(%rip),%xmm12        # 3d2f0 <_sk_srcover_bgra_8888_sse2_lowp+0x10a4>
+  .byte  65,15,89,204                        // mulps         %xmm12,%xmm1
+  .byte  102,65,15,56,20,203                 // blendvps      %xmm0,%xmm11,%xmm1
+  .byte  69,15,40,216                        // movaps        %xmm8,%xmm11
+  .byte  69,15,89,219                        // mulps         %xmm11,%xmm11
+  .byte  69,15,89,216                        // mulps         %xmm8,%xmm11
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  65,15,194,195,1                     // cmpltps       %xmm11,%xmm0
+  .byte  68,15,88,194                        // addps         %xmm2,%xmm8
+  .byte  69,15,89,196                        // mulps         %xmm12,%xmm8
+  .byte  102,69,15,56,20,195                 // blendvps      %xmm0,%xmm11,%xmm8
+  .byte  69,15,40,218                        // movaps        %xmm10,%xmm11
+  .byte  69,15,89,219                        // mulps         %xmm11,%xmm11
+  .byte  69,15,89,218                        // mulps         %xmm10,%xmm11
+  .byte  69,15,194,203,1                     // cmpltps       %xmm11,%xmm9
+  .byte  65,15,88,210                        // addps         %xmm10,%xmm2
+  .byte  65,15,89,212                        // mulps         %xmm12,%xmm2
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  102,65,15,56,20,211                 // blendvps      %xmm0,%xmm11,%xmm2
+  .byte  15,89,13,27,206,1,0                 // mulps         0x1ce1b(%rip),%xmm1        # 3d300 <_sk_srcover_bgra_8888_sse2_lowp+0x10b4>
+  .byte  15,89,21,36,206,1,0                 // mulps         0x1ce24(%rip),%xmm2        # 3d310 <_sk_srcover_bgra_8888_sse2_lowp+0x10c4>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,193                           // movaps        %xmm1,%xmm0
+  .byte  65,15,40,200                        // movaps        %xmm8,%xmm1
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_load_a8_sse41
+.globl _sk_load_a8_sse41
+FUNCTION(_sk_load_a8_sse41)
+_sk_load_a8_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,39                              // jne           20530 <_sk_load_a8_sse41+0x39>
+  .byte  102,65,15,56,49,4,16                // pmovzxbd      (%r8,%rdx,1),%xmm0
+  .byte  102,15,219,5,168,202,1,0            // pand          0x1caa8(%rip),%xmm0        # 3cfc0 <_sk_srcover_bgra_8888_sse2_lowp+0xd74>
+  .byte  15,91,216                           // cvtdq2ps      %xmm0,%xmm3
+  .byte  15,89,29,254,203,1,0                // mulps         0x1cbfe(%rip),%xmm3        # 3d120 <_sk_srcover_bgra_8888_sse2_lowp+0xed4>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,49                              // je            20569 <_sk_load_a8_sse41+0x72>
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,19                              // je            20553 <_sk_load_a8_sse41+0x5c>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,204                             // jne           20510 <_sk_load_a8_sse41+0x19>
+  .byte  65,15,182,68,16,2                   // movzbl        0x2(%r8,%rdx,1),%eax
+  .byte  102,15,110,192                      // movd          %eax,%xmm0
+  .byte  102,15,112,192,69                   // pshufd        $0x45,%xmm0,%xmm0
+  .byte  65,15,183,4,16                      // movzwl        (%r8,%rdx,1),%eax
+  .byte  102,15,110,200                      // movd          %eax,%xmm1
+  .byte  102,15,56,49,201                    // pmovzxbd      %xmm1,%xmm1
+  .byte  102,15,58,14,193,15                 // pblendw       $0xf,%xmm1,%xmm0
+  .byte  235,167                             // jmp           20510 <_sk_load_a8_sse41+0x19>
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  102,15,110,192                      // movd          %eax,%xmm0
+  .byte  235,156                             // jmp           20510 <_sk_load_a8_sse41+0x19>
+
+HIDDEN _sk_load_a8_dst_sse41
+.globl _sk_load_a8_dst_sse41
+FUNCTION(_sk_load_a8_dst_sse41)
+_sk_load_a8_dst_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,39                              // jne           205ad <_sk_load_a8_dst_sse41+0x39>
+  .byte  102,65,15,56,49,36,16               // pmovzxbd      (%r8,%rdx,1),%xmm4
+  .byte  102,15,219,37,43,202,1,0            // pand          0x1ca2b(%rip),%xmm4        # 3cfc0 <_sk_srcover_bgra_8888_sse2_lowp+0xd74>
+  .byte  15,91,252                           // cvtdq2ps      %xmm4,%xmm7
+  .byte  15,89,61,129,203,1,0                // mulps         0x1cb81(%rip),%xmm7        # 3d120 <_sk_srcover_bgra_8888_sse2_lowp+0xed4>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  102,15,239,237                      // pxor          %xmm5,%xmm5
+  .byte  15,87,246                           // xorps         %xmm6,%xmm6
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,49                              // je            205e6 <_sk_load_a8_dst_sse41+0x72>
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,19                              // je            205d0 <_sk_load_a8_dst_sse41+0x5c>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,204                             // jne           2058d <_sk_load_a8_dst_sse41+0x19>
+  .byte  65,15,182,68,16,2                   // movzbl        0x2(%r8,%rdx,1),%eax
+  .byte  102,15,110,224                      // movd          %eax,%xmm4
+  .byte  102,15,112,228,69                   // pshufd        $0x45,%xmm4,%xmm4
+  .byte  65,15,183,4,16                      // movzwl        (%r8,%rdx,1),%eax
+  .byte  102,15,110,232                      // movd          %eax,%xmm5
+  .byte  102,15,56,49,237                    // pmovzxbd      %xmm5,%xmm5
+  .byte  102,15,58,14,229,15                 // pblendw       $0xf,%xmm5,%xmm4
+  .byte  235,167                             // jmp           2058d <_sk_load_a8_dst_sse41+0x19>
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  102,15,110,224                      // movd          %eax,%xmm4
+  .byte  235,156                             // jmp           2058d <_sk_load_a8_dst_sse41+0x19>
+
+HIDDEN _sk_gather_a8_sse41
+.globl _sk_gather_a8_sse41
+FUNCTION(_sk_gather_a8_sse41)
+_sk_gather_a8_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,15,16,80,12                     // movss         0xc(%rax),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  102,69,15,118,192                   // pcmpeqd       %xmm8,%xmm8
+  .byte  102,65,15,254,208                   // paddd         %xmm8,%xmm2
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,95,200                        // maxps         %xmm0,%xmm9
+  .byte  68,15,93,202                        // minps         %xmm2,%xmm9
+  .byte  243,15,16,64,16                     // movss         0x10(%rax),%xmm0
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  102,65,15,254,192                   // paddd         %xmm8,%xmm0
+  .byte  15,95,217                           // maxps         %xmm1,%xmm3
+  .byte  15,93,216                           // minps         %xmm0,%xmm3
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  243,15,91,195                       // cvttps2dq     %xmm3,%xmm0
+  .byte  102,15,110,72,8                     // movd          0x8(%rax),%xmm1
+  .byte  102,15,112,201,0                    // pshufd        $0x0,%xmm1,%xmm1
+  .byte  102,15,56,64,200                    // pmulld        %xmm0,%xmm1
+  .byte  243,65,15,91,193                    // cvttps2dq     %xmm9,%xmm0
+  .byte  102,15,254,193                      // paddd         %xmm1,%xmm0
+  .byte  102,72,15,58,22,192,1               // pextrq        $0x1,%xmm0,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  102,73,15,126,194                   // movq          %xmm0,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  71,15,182,20,16                     // movzbl        (%r8,%r10,1),%r10d
+  .byte  71,15,182,28,24                     // movzbl        (%r8,%r11,1),%r11d
+  .byte  102,65,15,110,195                   // movd          %r11d,%xmm0
+  .byte  102,65,15,58,32,194,1               // pinsrb        $0x1,%r10d,%xmm0
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  102,65,15,58,32,193,2               // pinsrb        $0x2,%r9d,%xmm0
+  .byte  65,15,182,4,0                       // movzbl        (%r8,%rax,1),%eax
+  .byte  102,15,58,32,192,3                  // pinsrb        $0x3,%eax,%xmm0
+  .byte  102,15,56,49,192                    // pmovzxbd      %xmm0,%xmm0
+  .byte  15,91,216                           // cvtdq2ps      %xmm0,%xmm3
+  .byte  15,89,29,130,202,1,0                // mulps         0x1ca82(%rip),%xmm3        # 3d120 <_sk_srcover_bgra_8888_sse2_lowp+0xed4>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_store_a8_sse41
+.globl _sk_store_a8_sse41
+FUNCTION(_sk_store_a8_sse41)
+_sk_store_a8_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  68,15,95,195                        // maxps         %xmm3,%xmm8
+  .byte  68,15,93,5,71,200,1,0               // minps         0x1c847(%rip),%xmm8        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  68,15,89,5,31,201,1,0               // mulps         0x1c91f(%rip),%xmm8        # 3cff0 <_sk_srcover_bgra_8888_sse2_lowp+0xda4>
+  .byte  102,69,15,91,192                    // cvtps2dq      %xmm8,%xmm8
+  .byte  102,68,15,56,43,192                 // packusdw      %xmm0,%xmm8
+  .byte  102,68,15,103,192                   // packuswb      %xmm0,%xmm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,13                              // jne           206f3 <_sk_store_a8_sse41+0x47>
+  .byte  102,68,15,126,192                   // movd          %xmm8,%eax
+  .byte  65,137,4,16                         // mov           %eax,(%r8,%rdx,1)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,69,15,56,49,192                 // pmovzxbd      %xmm8,%xmm8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,37                              // je            20726 <_sk_store_a8_sse41+0x7a>
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,13                              // je            20712 <_sk_store_a8_sse41+0x66>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,230                             // jne           206ef <_sk_store_a8_sse41+0x43>
+  .byte  102,69,15,58,20,68,16,2,8           // pextrb        $0x8,%xmm8,0x2(%r8,%rdx,1)
+  .byte  102,68,15,56,0,5,4,204,1,0          // pshufb        0x1cc04(%rip),%xmm8        # 3d320 <_sk_srcover_bgra_8888_sse2_lowp+0x10d4>
+  .byte  102,69,15,58,21,4,16,0              // pextrw        $0x0,%xmm8,(%r8,%rdx,1)
+  .byte  235,201                             // jmp           206ef <_sk_store_a8_sse41+0x43>
+  .byte  102,69,15,58,20,4,16,0              // pextrb        $0x0,%xmm8,(%r8,%rdx,1)
+  .byte  235,191                             // jmp           206ef <_sk_store_a8_sse41+0x43>
+
+HIDDEN _sk_load_g8_sse41
+.globl _sk_load_g8_sse41
+FUNCTION(_sk_load_g8_sse41)
+_sk_load_g8_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,42                              // jne           2076c <_sk_load_g8_sse41+0x3c>
+  .byte  102,65,15,56,49,4,16                // pmovzxbd      (%r8,%rdx,1),%xmm0
+  .byte  102,15,219,5,111,200,1,0            // pand          0x1c86f(%rip),%xmm0        # 3cfc0 <_sk_srcover_bgra_8888_sse2_lowp+0xd74>
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  15,89,5,197,201,1,0                 // mulps         0x1c9c5(%rip),%xmm0        # 3d120 <_sk_srcover_bgra_8888_sse2_lowp+0xed4>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,29,172,199,1,0                // movaps        0x1c7ac(%rip),%xmm3        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  15,40,208                           // movaps        %xmm0,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,49                              // je            207a5 <_sk_load_g8_sse41+0x75>
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,19                              // je            2078f <_sk_load_g8_sse41+0x5f>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,201                             // jne           20749 <_sk_load_g8_sse41+0x19>
+  .byte  65,15,182,68,16,2                   // movzbl        0x2(%r8,%rdx,1),%eax
+  .byte  102,15,110,192                      // movd          %eax,%xmm0
+  .byte  102,15,112,192,69                   // pshufd        $0x45,%xmm0,%xmm0
+  .byte  65,15,183,4,16                      // movzwl        (%r8,%rdx,1),%eax
+  .byte  102,15,110,200                      // movd          %eax,%xmm1
+  .byte  102,15,56,49,201                    // pmovzxbd      %xmm1,%xmm1
+  .byte  102,15,58,14,193,15                 // pblendw       $0xf,%xmm1,%xmm0
+  .byte  235,164                             // jmp           20749 <_sk_load_g8_sse41+0x19>
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  102,15,110,192                      // movd          %eax,%xmm0
+  .byte  235,153                             // jmp           20749 <_sk_load_g8_sse41+0x19>
+
+HIDDEN _sk_load_g8_dst_sse41
+.globl _sk_load_g8_dst_sse41
+FUNCTION(_sk_load_g8_dst_sse41)
+_sk_load_g8_dst_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,42                              // jne           207ec <_sk_load_g8_dst_sse41+0x3c>
+  .byte  102,65,15,56,49,36,16               // pmovzxbd      (%r8,%rdx,1),%xmm4
+  .byte  102,15,219,37,239,199,1,0           // pand          0x1c7ef(%rip),%xmm4        # 3cfc0 <_sk_srcover_bgra_8888_sse2_lowp+0xd74>
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  15,89,37,69,201,1,0                 // mulps         0x1c945(%rip),%xmm4        # 3d120 <_sk_srcover_bgra_8888_sse2_lowp+0xed4>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,61,44,199,1,0                 // movaps        0x1c72c(%rip),%xmm7        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  15,40,236                           // movaps        %xmm4,%xmm5
+  .byte  15,40,244                           // movaps        %xmm4,%xmm6
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,49                              // je            20825 <_sk_load_g8_dst_sse41+0x75>
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,19                              // je            2080f <_sk_load_g8_dst_sse41+0x5f>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,201                             // jne           207c9 <_sk_load_g8_dst_sse41+0x19>
+  .byte  65,15,182,68,16,2                   // movzbl        0x2(%r8,%rdx,1),%eax
+  .byte  102,15,110,224                      // movd          %eax,%xmm4
+  .byte  102,15,112,228,69                   // pshufd        $0x45,%xmm4,%xmm4
+  .byte  65,15,183,4,16                      // movzwl        (%r8,%rdx,1),%eax
+  .byte  102,15,110,232                      // movd          %eax,%xmm5
+  .byte  102,15,56,49,237                    // pmovzxbd      %xmm5,%xmm5
+  .byte  102,15,58,14,229,15                 // pblendw       $0xf,%xmm5,%xmm4
+  .byte  235,164                             // jmp           207c9 <_sk_load_g8_dst_sse41+0x19>
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  102,15,110,224                      // movd          %eax,%xmm4
+  .byte  235,153                             // jmp           207c9 <_sk_load_g8_dst_sse41+0x19>
+
+HIDDEN _sk_gather_g8_sse41
+.globl _sk_gather_g8_sse41
+FUNCTION(_sk_gather_g8_sse41)
+_sk_gather_g8_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,15,16,80,12                     // movss         0xc(%rax),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  102,69,15,118,192                   // pcmpeqd       %xmm8,%xmm8
+  .byte  102,65,15,254,208                   // paddd         %xmm8,%xmm2
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,95,200                        // maxps         %xmm0,%xmm9
+  .byte  68,15,93,202                        // minps         %xmm2,%xmm9
+  .byte  243,15,16,64,16                     // movss         0x10(%rax),%xmm0
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  102,65,15,254,192                   // paddd         %xmm8,%xmm0
+  .byte  15,95,217                           // maxps         %xmm1,%xmm3
+  .byte  15,93,216                           // minps         %xmm0,%xmm3
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  243,15,91,195                       // cvttps2dq     %xmm3,%xmm0
+  .byte  102,15,110,72,8                     // movd          0x8(%rax),%xmm1
+  .byte  102,15,112,201,0                    // pshufd        $0x0,%xmm1,%xmm1
+  .byte  102,15,56,64,200                    // pmulld        %xmm0,%xmm1
+  .byte  243,65,15,91,193                    // cvttps2dq     %xmm9,%xmm0
+  .byte  102,15,254,193                      // paddd         %xmm1,%xmm0
+  .byte  102,72,15,58,22,192,1               // pextrq        $0x1,%xmm0,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  102,73,15,126,194                   // movq          %xmm0,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  71,15,182,20,16                     // movzbl        (%r8,%r10,1),%r10d
+  .byte  71,15,182,28,24                     // movzbl        (%r8,%r11,1),%r11d
+  .byte  102,65,15,110,195                   // movd          %r11d,%xmm0
+  .byte  102,65,15,58,32,194,1               // pinsrb        $0x1,%r10d,%xmm0
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  102,65,15,58,32,193,2               // pinsrb        $0x2,%r9d,%xmm0
+  .byte  65,15,182,4,0                       // movzbl        (%r8,%rax,1),%eax
+  .byte  102,15,58,32,192,3                  // pinsrb        $0x3,%eax,%xmm0
+  .byte  102,15,56,49,192                    // pmovzxbd      %xmm0,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  15,89,5,67,200,1,0                  // mulps         0x1c843(%rip),%xmm0        # 3d120 <_sk_srcover_bgra_8888_sse2_lowp+0xed4>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,29,42,198,1,0                 // movaps        0x1c62a(%rip),%xmm3        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  15,40,208                           // movaps        %xmm0,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_load_565_sse41
+.globl _sk_load_565_sse41
+FUNCTION(_sk_load_565_sse41)
+_sk_load_565_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,80                              // jne           20953 <_sk_load_565_sse41+0x65>
+  .byte  102,65,15,56,51,20,80               // pmovzxwd      (%r8,%rdx,2),%xmm2
+  .byte  102,15,111,5,30,200,1,0             // movdqa        0x1c81e(%rip),%xmm0        # 3d130 <_sk_srcover_bgra_8888_sse2_lowp+0xee4>
+  .byte  102,15,219,194                      // pand          %xmm2,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  15,89,5,32,200,1,0                  // mulps         0x1c820(%rip),%xmm0        # 3d140 <_sk_srcover_bgra_8888_sse2_lowp+0xef4>
+  .byte  102,15,111,13,40,200,1,0            // movdqa        0x1c828(%rip),%xmm1        # 3d150 <_sk_srcover_bgra_8888_sse2_lowp+0xf04>
+  .byte  102,15,219,202                      // pand          %xmm2,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  15,89,13,42,200,1,0                 // mulps         0x1c82a(%rip),%xmm1        # 3d160 <_sk_srcover_bgra_8888_sse2_lowp+0xf14>
+  .byte  102,15,219,21,50,200,1,0            // pand          0x1c832(%rip),%xmm2        # 3d170 <_sk_srcover_bgra_8888_sse2_lowp+0xf24>
+  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
+  .byte  15,89,21,56,200,1,0                 // mulps         0x1c838(%rip),%xmm2        # 3d180 <_sk_srcover_bgra_8888_sse2_lowp+0xf34>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,29,191,197,1,0                // movaps        0x1c5bf(%rip),%xmm3        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,46                              // je            20989 <_sk_load_565_sse41+0x9b>
+  .byte  102,15,239,210                      // pxor          %xmm2,%xmm2
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,19                              // je            20976 <_sk_load_565_sse41+0x88>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,163                             // jne           2090a <_sk_load_565_sse41+0x1c>
+  .byte  65,15,183,68,80,4                   // movzwl        0x4(%r8,%rdx,2),%eax
+  .byte  102,15,110,192                      // movd          %eax,%xmm0
+  .byte  102,15,112,208,69                   // pshufd        $0x45,%xmm0,%xmm2
+  .byte  102,65,15,110,4,80                  // movd          (%r8,%rdx,2),%xmm0
+  .byte  102,15,56,51,192                    // pmovzxwd      %xmm0,%xmm0
+  .byte  102,15,58,14,208,15                 // pblendw       $0xf,%xmm0,%xmm2
+  .byte  235,129                             // jmp           2090a <_sk_load_565_sse41+0x1c>
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  102,15,110,208                      // movd          %eax,%xmm2
+  .byte  233,115,255,255,255                 // jmpq          2090a <_sk_load_565_sse41+0x1c>
+
+HIDDEN _sk_load_565_dst_sse41
+.globl _sk_load_565_dst_sse41
+FUNCTION(_sk_load_565_dst_sse41)
+_sk_load_565_dst_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,80                              // jne           209fc <_sk_load_565_dst_sse41+0x65>
+  .byte  102,65,15,56,51,52,80               // pmovzxwd      (%r8,%rdx,2),%xmm6
+  .byte  102,15,111,37,117,199,1,0           // movdqa        0x1c775(%rip),%xmm4        # 3d130 <_sk_srcover_bgra_8888_sse2_lowp+0xee4>
+  .byte  102,15,219,230                      // pand          %xmm6,%xmm4
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  15,89,37,119,199,1,0                // mulps         0x1c777(%rip),%xmm4        # 3d140 <_sk_srcover_bgra_8888_sse2_lowp+0xef4>
+  .byte  102,15,111,45,127,199,1,0           // movdqa        0x1c77f(%rip),%xmm5        # 3d150 <_sk_srcover_bgra_8888_sse2_lowp+0xf04>
+  .byte  102,15,219,238                      // pand          %xmm6,%xmm5
+  .byte  15,91,237                           // cvtdq2ps      %xmm5,%xmm5
+  .byte  15,89,45,129,199,1,0                // mulps         0x1c781(%rip),%xmm5        # 3d160 <_sk_srcover_bgra_8888_sse2_lowp+0xf14>
+  .byte  102,15,219,53,137,199,1,0           // pand          0x1c789(%rip),%xmm6        # 3d170 <_sk_srcover_bgra_8888_sse2_lowp+0xf24>
+  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
+  .byte  15,89,53,143,199,1,0                // mulps         0x1c78f(%rip),%xmm6        # 3d180 <_sk_srcover_bgra_8888_sse2_lowp+0xf34>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,61,22,197,1,0                 // movaps        0x1c516(%rip),%xmm7        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,46                              // je            20a32 <_sk_load_565_dst_sse41+0x9b>
+  .byte  102,15,239,246                      // pxor          %xmm6,%xmm6
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,19                              // je            20a1f <_sk_load_565_dst_sse41+0x88>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,163                             // jne           209b3 <_sk_load_565_dst_sse41+0x1c>
+  .byte  65,15,183,68,80,4                   // movzwl        0x4(%r8,%rdx,2),%eax
+  .byte  102,15,110,224                      // movd          %eax,%xmm4
+  .byte  102,15,112,244,69                   // pshufd        $0x45,%xmm4,%xmm6
+  .byte  102,65,15,110,36,80                 // movd          (%r8,%rdx,2),%xmm4
+  .byte  102,15,56,51,228                    // pmovzxwd      %xmm4,%xmm4
+  .byte  102,15,58,14,244,15                 // pblendw       $0xf,%xmm4,%xmm6
+  .byte  235,129                             // jmp           209b3 <_sk_load_565_dst_sse41+0x1c>
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  102,15,110,240                      // movd          %eax,%xmm6
+  .byte  233,115,255,255,255                 // jmpq          209b3 <_sk_load_565_dst_sse41+0x1c>
+
+HIDDEN _sk_gather_565_sse41
+.globl _sk_gather_565_sse41
+FUNCTION(_sk_gather_565_sse41)
+_sk_gather_565_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,15,16,80,12                     // movss         0xc(%rax),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  102,69,15,118,192                   // pcmpeqd       %xmm8,%xmm8
+  .byte  102,65,15,254,208                   // paddd         %xmm8,%xmm2
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,95,200                        // maxps         %xmm0,%xmm9
+  .byte  68,15,93,202                        // minps         %xmm2,%xmm9
+  .byte  243,15,16,64,16                     // movss         0x10(%rax),%xmm0
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  102,65,15,254,192                   // paddd         %xmm8,%xmm0
+  .byte  15,95,217                           // maxps         %xmm1,%xmm3
+  .byte  15,93,216                           // minps         %xmm0,%xmm3
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  243,15,91,195                       // cvttps2dq     %xmm3,%xmm0
+  .byte  102,15,110,72,8                     // movd          0x8(%rax),%xmm1
+  .byte  102,15,112,201,0                    // pshufd        $0x0,%xmm1,%xmm1
+  .byte  102,15,56,64,200                    // pmulld        %xmm0,%xmm1
+  .byte  243,65,15,91,193                    // cvttps2dq     %xmm9,%xmm0
+  .byte  102,15,254,193                      // paddd         %xmm1,%xmm0
+  .byte  102,72,15,58,22,192,1               // pextrq        $0x1,%xmm0,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  102,73,15,126,194                   // movq          %xmm0,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  71,15,183,20,80                     // movzwl        (%r8,%r10,2),%r10d
+  .byte  71,15,183,28,88                     // movzwl        (%r8,%r11,2),%r11d
+  .byte  102,65,15,110,195                   // movd          %r11d,%xmm0
+  .byte  102,65,15,196,194,1                 // pinsrw        $0x1,%r10d,%xmm0
+  .byte  71,15,183,12,72                     // movzwl        (%r8,%r9,2),%r9d
+  .byte  102,65,15,196,193,2                 // pinsrw        $0x2,%r9d,%xmm0
+  .byte  65,15,183,4,64                      // movzwl        (%r8,%rax,2),%eax
+  .byte  102,15,196,192,3                    // pinsrw        $0x3,%eax,%xmm0
+  .byte  102,15,56,51,208                    // pmovzxwd      %xmm0,%xmm2
+  .byte  102,15,111,5,72,198,1,0             // movdqa        0x1c648(%rip),%xmm0        # 3d130 <_sk_srcover_bgra_8888_sse2_lowp+0xee4>
+  .byte  102,15,219,194                      // pand          %xmm2,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  15,89,5,74,198,1,0                  // mulps         0x1c64a(%rip),%xmm0        # 3d140 <_sk_srcover_bgra_8888_sse2_lowp+0xef4>
+  .byte  102,15,111,13,82,198,1,0            // movdqa        0x1c652(%rip),%xmm1        # 3d150 <_sk_srcover_bgra_8888_sse2_lowp+0xf04>
+  .byte  102,15,219,202                      // pand          %xmm2,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  15,89,13,84,198,1,0                 // mulps         0x1c654(%rip),%xmm1        # 3d160 <_sk_srcover_bgra_8888_sse2_lowp+0xf14>
+  .byte  102,15,219,21,92,198,1,0            // pand          0x1c65c(%rip),%xmm2        # 3d170 <_sk_srcover_bgra_8888_sse2_lowp+0xf24>
+  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
+  .byte  15,89,21,98,198,1,0                 // mulps         0x1c662(%rip),%xmm2        # 3d180 <_sk_srcover_bgra_8888_sse2_lowp+0xf34>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,29,233,195,1,0                // movaps        0x1c3e9(%rip),%xmm3        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_store_565_sse41
+.globl _sk_store_565_sse41
+FUNCTION(_sk_store_565_sse41)
+_sk_store_565_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,95,200                        // maxps         %xmm0,%xmm9
+  .byte  68,15,40,21,195,195,1,0             // movaps        0x1c3c3(%rip),%xmm10        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,93,202                        // minps         %xmm10,%xmm9
+  .byte  68,15,40,29,215,199,1,0             // movaps        0x1c7d7(%rip),%xmm11        # 3d330 <_sk_srcover_bgra_8888_sse2_lowp+0x10e4>
+  .byte  69,15,89,203                        // mulps         %xmm11,%xmm9
+  .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
+  .byte  102,65,15,114,241,11                // pslld         $0xb,%xmm9
+  .byte  69,15,87,228                        // xorps         %xmm12,%xmm12
+  .byte  68,15,95,225                        // maxps         %xmm1,%xmm12
+  .byte  69,15,93,226                        // minps         %xmm10,%xmm12
+  .byte  68,15,89,37,196,199,1,0             // mulps         0x1c7c4(%rip),%xmm12        # 3d340 <_sk_srcover_bgra_8888_sse2_lowp+0x10f4>
+  .byte  102,69,15,91,228                    // cvtps2dq      %xmm12,%xmm12
+  .byte  102,65,15,114,244,5                 // pslld         $0x5,%xmm12
+  .byte  68,15,95,194                        // maxps         %xmm2,%xmm8
+  .byte  69,15,93,194                        // minps         %xmm10,%xmm8
+  .byte  69,15,89,195                        // mulps         %xmm11,%xmm8
+  .byte  102,69,15,91,192                    // cvtps2dq      %xmm8,%xmm8
+  .byte  102,69,15,86,193                    // orpd          %xmm9,%xmm8
+  .byte  102,69,15,86,196                    // orpd          %xmm12,%xmm8
+  .byte  102,68,15,56,43,192                 // packusdw      %xmm0,%xmm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,10                              // jne           20bb7 <_sk_store_565_sse41+0x8e>
+  .byte  102,69,15,214,4,80                  // movq          %xmm8,(%r8,%rdx,2)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,69,15,56,51,192                 // pmovzxwd      %xmm8,%xmm8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,31                              // je            20be4 <_sk_store_565_sse41+0xbb>
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,13                              // je            20bd6 <_sk_store_565_sse41+0xad>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,230                             // jne           20bb3 <_sk_store_565_sse41+0x8a>
+  .byte  102,69,15,58,21,68,80,4,4           // pextrw        $0x4,%xmm8,0x4(%r8,%rdx,2)
+  .byte  242,69,15,112,192,232               // pshuflw       $0xe8,%xmm8,%xmm8
+  .byte  102,69,15,126,4,80                  // movd          %xmm8,(%r8,%rdx,2)
+  .byte  235,207                             // jmp           20bb3 <_sk_store_565_sse41+0x8a>
+  .byte  102,69,15,58,21,4,80,0              // pextrw        $0x0,%xmm8,(%r8,%rdx,2)
+  .byte  235,197                             // jmp           20bb3 <_sk_store_565_sse41+0x8a>
+
+HIDDEN _sk_load_4444_sse41
+.globl _sk_load_4444_sse41
+FUNCTION(_sk_load_4444_sse41)
+_sk_load_4444_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,95                              // jne           20c62 <_sk_load_4444_sse41+0x74>
+  .byte  102,65,15,56,51,28,80               // pmovzxwd      (%r8,%rdx,2),%xmm3
+  .byte  102,15,111,5,62,199,1,0             // movdqa        0x1c73e(%rip),%xmm0        # 3d350 <_sk_srcover_bgra_8888_sse2_lowp+0x1104>
+  .byte  102,15,219,195                      // pand          %xmm3,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  15,89,5,64,199,1,0                  // mulps         0x1c740(%rip),%xmm0        # 3d360 <_sk_srcover_bgra_8888_sse2_lowp+0x1114>
+  .byte  102,15,111,13,72,199,1,0            // movdqa        0x1c748(%rip),%xmm1        # 3d370 <_sk_srcover_bgra_8888_sse2_lowp+0x1124>
+  .byte  102,15,219,203                      // pand          %xmm3,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  15,89,13,74,199,1,0                 // mulps         0x1c74a(%rip),%xmm1        # 3d380 <_sk_srcover_bgra_8888_sse2_lowp+0x1134>
+  .byte  102,15,111,21,82,199,1,0            // movdqa        0x1c752(%rip),%xmm2        # 3d390 <_sk_srcover_bgra_8888_sse2_lowp+0x1144>
+  .byte  102,15,219,211                      // pand          %xmm3,%xmm2
+  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
+  .byte  15,89,21,84,199,1,0                 // mulps         0x1c754(%rip),%xmm2        # 3d3a0 <_sk_srcover_bgra_8888_sse2_lowp+0x1154>
+  .byte  102,15,219,29,92,199,1,0            // pand          0x1c75c(%rip),%xmm3        # 3d3b0 <_sk_srcover_bgra_8888_sse2_lowp+0x1164>
+  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
+  .byte  15,89,29,98,199,1,0                 // mulps         0x1c762(%rip),%xmm3        # 3d3c0 <_sk_srcover_bgra_8888_sse2_lowp+0x1174>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,49                              // je            20c9b <_sk_load_4444_sse41+0xad>
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,19                              // je            20c85 <_sk_load_4444_sse41+0x97>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,148                             // jne           20c0a <_sk_load_4444_sse41+0x1c>
+  .byte  65,15,183,68,80,4                   // movzwl        0x4(%r8,%rdx,2),%eax
+  .byte  102,15,110,192                      // movd          %eax,%xmm0
+  .byte  102,15,112,216,69                   // pshufd        $0x45,%xmm0,%xmm3
+  .byte  102,65,15,110,4,80                  // movd          (%r8,%rdx,2),%xmm0
+  .byte  102,15,56,51,192                    // pmovzxwd      %xmm0,%xmm0
+  .byte  102,15,58,14,216,15                 // pblendw       $0xf,%xmm0,%xmm3
+  .byte  233,111,255,255,255                 // jmpq          20c0a <_sk_load_4444_sse41+0x1c>
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  102,15,110,216                      // movd          %eax,%xmm3
+  .byte  233,97,255,255,255                  // jmpq          20c0a <_sk_load_4444_sse41+0x1c>
+
+HIDDEN _sk_load_4444_dst_sse41
+.globl _sk_load_4444_dst_sse41
+FUNCTION(_sk_load_4444_dst_sse41)
+_sk_load_4444_dst_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,95                              // jne           20d1d <_sk_load_4444_dst_sse41+0x74>
+  .byte  102,65,15,56,51,60,80               // pmovzxwd      (%r8,%rdx,2),%xmm7
+  .byte  102,15,111,37,131,198,1,0           // movdqa        0x1c683(%rip),%xmm4        # 3d350 <_sk_srcover_bgra_8888_sse2_lowp+0x1104>
+  .byte  102,15,219,231                      // pand          %xmm7,%xmm4
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  15,89,37,133,198,1,0                // mulps         0x1c685(%rip),%xmm4        # 3d360 <_sk_srcover_bgra_8888_sse2_lowp+0x1114>
+  .byte  102,15,111,45,141,198,1,0           // movdqa        0x1c68d(%rip),%xmm5        # 3d370 <_sk_srcover_bgra_8888_sse2_lowp+0x1124>
+  .byte  102,15,219,239                      // pand          %xmm7,%xmm5
+  .byte  15,91,237                           // cvtdq2ps      %xmm5,%xmm5
+  .byte  15,89,45,143,198,1,0                // mulps         0x1c68f(%rip),%xmm5        # 3d380 <_sk_srcover_bgra_8888_sse2_lowp+0x1134>
+  .byte  102,15,111,53,151,198,1,0           // movdqa        0x1c697(%rip),%xmm6        # 3d390 <_sk_srcover_bgra_8888_sse2_lowp+0x1144>
+  .byte  102,15,219,247                      // pand          %xmm7,%xmm6
+  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
+  .byte  15,89,53,153,198,1,0                // mulps         0x1c699(%rip),%xmm6        # 3d3a0 <_sk_srcover_bgra_8888_sse2_lowp+0x1154>
+  .byte  102,15,219,61,161,198,1,0           // pand          0x1c6a1(%rip),%xmm7        # 3d3b0 <_sk_srcover_bgra_8888_sse2_lowp+0x1164>
+  .byte  15,91,255                           // cvtdq2ps      %xmm7,%xmm7
+  .byte  15,89,61,167,198,1,0                // mulps         0x1c6a7(%rip),%xmm7        # 3d3c0 <_sk_srcover_bgra_8888_sse2_lowp+0x1174>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,49                              // je            20d56 <_sk_load_4444_dst_sse41+0xad>
+  .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,19                              // je            20d40 <_sk_load_4444_dst_sse41+0x97>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,148                             // jne           20cc5 <_sk_load_4444_dst_sse41+0x1c>
+  .byte  65,15,183,68,80,4                   // movzwl        0x4(%r8,%rdx,2),%eax
+  .byte  102,15,110,224                      // movd          %eax,%xmm4
+  .byte  102,15,112,252,69                   // pshufd        $0x45,%xmm4,%xmm7
+  .byte  102,65,15,110,36,80                 // movd          (%r8,%rdx,2),%xmm4
+  .byte  102,15,56,51,228                    // pmovzxwd      %xmm4,%xmm4
+  .byte  102,15,58,14,252,15                 // pblendw       $0xf,%xmm4,%xmm7
+  .byte  233,111,255,255,255                 // jmpq          20cc5 <_sk_load_4444_dst_sse41+0x1c>
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  102,15,110,248                      // movd          %eax,%xmm7
+  .byte  233,97,255,255,255                  // jmpq          20cc5 <_sk_load_4444_dst_sse41+0x1c>
+
+HIDDEN _sk_gather_4444_sse41
+.globl _sk_gather_4444_sse41
+FUNCTION(_sk_gather_4444_sse41)
+_sk_gather_4444_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,15,16,80,12                     // movss         0xc(%rax),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  102,69,15,118,192                   // pcmpeqd       %xmm8,%xmm8
+  .byte  102,65,15,254,208                   // paddd         %xmm8,%xmm2
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,95,200                        // maxps         %xmm0,%xmm9
+  .byte  68,15,93,202                        // minps         %xmm2,%xmm9
+  .byte  243,15,16,64,16                     // movss         0x10(%rax),%xmm0
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  102,65,15,254,192                   // paddd         %xmm8,%xmm0
+  .byte  15,95,217                           // maxps         %xmm1,%xmm3
+  .byte  15,93,216                           // minps         %xmm0,%xmm3
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  243,15,91,195                       // cvttps2dq     %xmm3,%xmm0
+  .byte  102,15,110,72,8                     // movd          0x8(%rax),%xmm1
+  .byte  102,15,112,201,0                    // pshufd        $0x0,%xmm1,%xmm1
+  .byte  102,15,56,64,200                    // pmulld        %xmm0,%xmm1
+  .byte  243,65,15,91,193                    // cvttps2dq     %xmm9,%xmm0
+  .byte  102,15,254,193                      // paddd         %xmm1,%xmm0
+  .byte  102,72,15,58,22,192,1               // pextrq        $0x1,%xmm0,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  102,73,15,126,194                   // movq          %xmm0,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  71,15,183,20,80                     // movzwl        (%r8,%r10,2),%r10d
+  .byte  71,15,183,28,88                     // movzwl        (%r8,%r11,2),%r11d
+  .byte  102,65,15,110,195                   // movd          %r11d,%xmm0
+  .byte  102,65,15,196,194,1                 // pinsrw        $0x1,%r10d,%xmm0
+  .byte  71,15,183,12,72                     // movzwl        (%r8,%r9,2),%r9d
+  .byte  102,65,15,196,193,2                 // pinsrw        $0x2,%r9d,%xmm0
+  .byte  65,15,183,4,64                      // movzwl        (%r8,%rax,2),%eax
+  .byte  102,15,196,192,3                    // pinsrw        $0x3,%eax,%xmm0
+  .byte  102,15,56,51,216                    // pmovzxwd      %xmm0,%xmm3
+  .byte  102,15,111,5,68,197,1,0             // movdqa        0x1c544(%rip),%xmm0        # 3d350 <_sk_srcover_bgra_8888_sse2_lowp+0x1104>
+  .byte  102,15,219,195                      // pand          %xmm3,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  15,89,5,70,197,1,0                  // mulps         0x1c546(%rip),%xmm0        # 3d360 <_sk_srcover_bgra_8888_sse2_lowp+0x1114>
+  .byte  102,15,111,13,78,197,1,0            // movdqa        0x1c54e(%rip),%xmm1        # 3d370 <_sk_srcover_bgra_8888_sse2_lowp+0x1124>
+  .byte  102,15,219,203                      // pand          %xmm3,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  15,89,13,80,197,1,0                 // mulps         0x1c550(%rip),%xmm1        # 3d380 <_sk_srcover_bgra_8888_sse2_lowp+0x1134>
+  .byte  102,15,111,21,88,197,1,0            // movdqa        0x1c558(%rip),%xmm2        # 3d390 <_sk_srcover_bgra_8888_sse2_lowp+0x1144>
+  .byte  102,15,219,211                      // pand          %xmm3,%xmm2
+  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
+  .byte  15,89,21,90,197,1,0                 // mulps         0x1c55a(%rip),%xmm2        # 3d3a0 <_sk_srcover_bgra_8888_sse2_lowp+0x1154>
+  .byte  102,15,219,29,98,197,1,0            // pand          0x1c562(%rip),%xmm3        # 3d3b0 <_sk_srcover_bgra_8888_sse2_lowp+0x1164>
+  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
+  .byte  15,89,29,104,197,1,0                // mulps         0x1c568(%rip),%xmm3        # 3d3c0 <_sk_srcover_bgra_8888_sse2_lowp+0x1174>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_store_4444_sse41
+.globl _sk_store_4444_sse41
+FUNCTION(_sk_store_4444_sse41)
+_sk_store_4444_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,95,200                        // maxps         %xmm0,%xmm9
+  .byte  68,15,40,21,144,192,1,0             // movaps        0x1c090(%rip),%xmm10        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,93,202                        // minps         %xmm10,%xmm9
+  .byte  68,15,40,29,68,197,1,0              // movaps        0x1c544(%rip),%xmm11        # 3d3d0 <_sk_srcover_bgra_8888_sse2_lowp+0x1184>
+  .byte  69,15,89,203                        // mulps         %xmm11,%xmm9
+  .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
+  .byte  102,65,15,114,241,12                // pslld         $0xc,%xmm9
+  .byte  69,15,87,228                        // xorps         %xmm12,%xmm12
+  .byte  68,15,95,225                        // maxps         %xmm1,%xmm12
+  .byte  69,15,93,226                        // minps         %xmm10,%xmm12
+  .byte  69,15,89,227                        // mulps         %xmm11,%xmm12
+  .byte  102,69,15,91,228                    // cvtps2dq      %xmm12,%xmm12
+  .byte  102,65,15,114,244,8                 // pslld         $0x8,%xmm12
+  .byte  102,69,15,235,225                   // por           %xmm9,%xmm12
+  .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
+  .byte  68,15,95,202                        // maxps         %xmm2,%xmm9
+  .byte  69,15,93,202                        // minps         %xmm10,%xmm9
+  .byte  69,15,89,203                        // mulps         %xmm11,%xmm9
+  .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
+  .byte  102,65,15,114,241,4                 // pslld         $0x4,%xmm9
+  .byte  68,15,95,195                        // maxps         %xmm3,%xmm8
+  .byte  69,15,93,194                        // minps         %xmm10,%xmm8
+  .byte  69,15,89,195                        // mulps         %xmm11,%xmm8
+  .byte  102,69,15,91,192                    // cvtps2dq      %xmm8,%xmm8
+  .byte  102,69,15,86,193                    // orpd          %xmm9,%xmm8
+  .byte  102,69,15,86,196                    // orpd          %xmm12,%xmm8
+  .byte  102,68,15,56,43,192                 // packusdw      %xmm0,%xmm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,10                              // jne           20f07 <_sk_store_4444_sse41+0xab>
+  .byte  102,69,15,214,4,80                  // movq          %xmm8,(%r8,%rdx,2)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,69,15,56,51,192                 // pmovzxwd      %xmm8,%xmm8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,31                              // je            20f34 <_sk_store_4444_sse41+0xd8>
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,13                              // je            20f26 <_sk_store_4444_sse41+0xca>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,230                             // jne           20f03 <_sk_store_4444_sse41+0xa7>
+  .byte  102,69,15,58,21,68,80,4,4           // pextrw        $0x4,%xmm8,0x4(%r8,%rdx,2)
+  .byte  242,69,15,112,192,232               // pshuflw       $0xe8,%xmm8,%xmm8
+  .byte  102,69,15,126,4,80                  // movd          %xmm8,(%r8,%rdx,2)
+  .byte  235,207                             // jmp           20f03 <_sk_store_4444_sse41+0xa7>
+  .byte  102,69,15,58,21,4,80,0              // pextrw        $0x0,%xmm8,(%r8,%rdx,2)
+  .byte  235,197                             // jmp           20f03 <_sk_store_4444_sse41+0xa7>
+
+HIDDEN _sk_load_8888_sse41
+.globl _sk_load_8888_sse41
+FUNCTION(_sk_load_8888_sse41)
+_sk_load_8888_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,89                              // jne           20fad <_sk_load_8888_sse41+0x6f>
+  .byte  243,65,15,111,28,144                // movdqu        (%r8,%rdx,4),%xmm3
+  .byte  102,15,111,5,94,192,1,0             // movdqa        0x1c05e(%rip),%xmm0        # 3cfc0 <_sk_srcover_bgra_8888_sse2_lowp+0xd74>
+  .byte  102,15,219,195                      // pand          %xmm3,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  68,15,40,5,175,193,1,0              // movaps        0x1c1af(%rip),%xmm8        # 3d120 <_sk_srcover_bgra_8888_sse2_lowp+0xed4>
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
+  .byte  102,15,56,0,13,78,192,1,0           // pshufb        0x1c04e(%rip),%xmm1        # 3cfd0 <_sk_srcover_bgra_8888_sse2_lowp+0xd84>
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
+  .byte  102,15,111,211                      // movdqa        %xmm3,%xmm2
+  .byte  102,15,56,0,21,74,192,1,0           // pshufb        0x1c04a(%rip),%xmm2        # 3cfe0 <_sk_srcover_bgra_8888_sse2_lowp+0xd94>
+  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
+  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
+  .byte  102,15,114,211,24                   // psrld         $0x18,%xmm3
+  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
+  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,41                              // je            20fde <_sk_load_8888_sse41+0xa0>
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,16                              // je            20fcd <_sk_load_8888_sse41+0x8f>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,153                             // jne           20f5a <_sk_load_8888_sse41+0x1c>
+  .byte  102,65,15,110,68,144,8              // movd          0x8(%r8,%rdx,4),%xmm0
+  .byte  102,15,112,216,69                   // pshufd        $0x45,%xmm0,%xmm3
+  .byte  243,65,15,126,4,144                 // movq          (%r8,%rdx,4),%xmm0
+  .byte  102,15,58,14,216,15                 // pblendw       $0xf,%xmm0,%xmm3
+  .byte  233,124,255,255,255                 // jmpq          20f5a <_sk_load_8888_sse41+0x1c>
+  .byte  102,65,15,110,28,144                // movd          (%r8,%rdx,4),%xmm3
+  .byte  233,113,255,255,255                 // jmpq          20f5a <_sk_load_8888_sse41+0x1c>
+
+HIDDEN _sk_load_8888_dst_sse41
+.globl _sk_load_8888_dst_sse41
+FUNCTION(_sk_load_8888_dst_sse41)
+_sk_load_8888_dst_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,89                              // jne           21058 <_sk_load_8888_dst_sse41+0x6f>
+  .byte  243,65,15,111,60,144                // movdqu        (%r8,%rdx,4),%xmm7
+  .byte  102,15,111,37,179,191,1,0           // movdqa        0x1bfb3(%rip),%xmm4        # 3cfc0 <_sk_srcover_bgra_8888_sse2_lowp+0xd74>
+  .byte  102,15,219,231                      // pand          %xmm7,%xmm4
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  68,15,40,5,4,193,1,0                // movaps        0x1c104(%rip),%xmm8        # 3d120 <_sk_srcover_bgra_8888_sse2_lowp+0xed4>
+  .byte  65,15,89,224                        // mulps         %xmm8,%xmm4
+  .byte  102,15,111,239                      // movdqa        %xmm7,%xmm5
+  .byte  102,15,56,0,45,163,191,1,0          // pshufb        0x1bfa3(%rip),%xmm5        # 3cfd0 <_sk_srcover_bgra_8888_sse2_lowp+0xd84>
+  .byte  15,91,237                           // cvtdq2ps      %xmm5,%xmm5
+  .byte  65,15,89,232                        // mulps         %xmm8,%xmm5
+  .byte  102,15,111,247                      // movdqa        %xmm7,%xmm6
+  .byte  102,15,56,0,53,159,191,1,0          // pshufb        0x1bf9f(%rip),%xmm6        # 3cfe0 <_sk_srcover_bgra_8888_sse2_lowp+0xd94>
+  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
+  .byte  65,15,89,240                        // mulps         %xmm8,%xmm6
+  .byte  102,15,114,215,24                   // psrld         $0x18,%xmm7
+  .byte  15,91,255                           // cvtdq2ps      %xmm7,%xmm7
+  .byte  65,15,89,248                        // mulps         %xmm8,%xmm7
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,41                              // je            21089 <_sk_load_8888_dst_sse41+0xa0>
+  .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,16                              // je            21078 <_sk_load_8888_dst_sse41+0x8f>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,153                             // jne           21005 <_sk_load_8888_dst_sse41+0x1c>
+  .byte  102,65,15,110,100,144,8             // movd          0x8(%r8,%rdx,4),%xmm4
+  .byte  102,15,112,252,69                   // pshufd        $0x45,%xmm4,%xmm7
+  .byte  243,65,15,126,36,144                // movq          (%r8,%rdx,4),%xmm4
+  .byte  102,15,58,14,252,15                 // pblendw       $0xf,%xmm4,%xmm7
+  .byte  233,124,255,255,255                 // jmpq          21005 <_sk_load_8888_dst_sse41+0x1c>
+  .byte  102,65,15,110,60,144                // movd          (%r8,%rdx,4),%xmm7
+  .byte  233,113,255,255,255                 // jmpq          21005 <_sk_load_8888_dst_sse41+0x1c>
+
+HIDDEN _sk_gather_8888_sse41
+.globl _sk_gather_8888_sse41
+FUNCTION(_sk_gather_8888_sse41)
+_sk_gather_8888_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,15,16,80,12                     // movss         0xc(%rax),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  102,69,15,118,192                   // pcmpeqd       %xmm8,%xmm8
+  .byte  102,65,15,254,208                   // paddd         %xmm8,%xmm2
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,95,200                        // maxps         %xmm0,%xmm9
+  .byte  68,15,93,202                        // minps         %xmm2,%xmm9
+  .byte  243,15,16,64,16                     // movss         0x10(%rax),%xmm0
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  102,65,15,254,192                   // paddd         %xmm8,%xmm0
+  .byte  15,95,217                           // maxps         %xmm1,%xmm3
+  .byte  15,93,216                           // minps         %xmm0,%xmm3
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  243,15,91,195                       // cvttps2dq     %xmm3,%xmm0
+  .byte  102,15,110,72,8                     // movd          0x8(%rax),%xmm1
+  .byte  102,15,112,201,0                    // pshufd        $0x0,%xmm1,%xmm1
+  .byte  102,15,56,64,200                    // pmulld        %xmm0,%xmm1
+  .byte  243,65,15,91,193                    // cvttps2dq     %xmm9,%xmm0
+  .byte  102,15,254,193                      // paddd         %xmm1,%xmm0
+  .byte  102,72,15,126,192                   // movq          %xmm0,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  102,73,15,58,22,194,1               // pextrq        $0x1,%xmm0,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  102,67,15,110,28,136                // movd          (%r8,%r9,4),%xmm3
+  .byte  102,65,15,58,34,28,128,1            // pinsrd        $0x1,(%r8,%rax,4),%xmm3
+  .byte  102,67,15,58,34,28,152,2            // pinsrd        $0x2,(%r8,%r11,4),%xmm3
+  .byte  102,67,15,58,34,28,144,3            // pinsrd        $0x3,(%r8,%r10,4),%xmm3
+  .byte  102,15,111,5,149,190,1,0            // movdqa        0x1be95(%rip),%xmm0        # 3cfc0 <_sk_srcover_bgra_8888_sse2_lowp+0xd74>
+  .byte  102,15,219,195                      // pand          %xmm3,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  68,15,40,5,230,191,1,0              // movaps        0x1bfe6(%rip),%xmm8        # 3d120 <_sk_srcover_bgra_8888_sse2_lowp+0xed4>
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
+  .byte  102,15,56,0,13,133,190,1,0          // pshufb        0x1be85(%rip),%xmm1        # 3cfd0 <_sk_srcover_bgra_8888_sse2_lowp+0xd84>
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
+  .byte  102,15,111,211                      // movdqa        %xmm3,%xmm2
+  .byte  102,15,56,0,21,129,190,1,0          // pshufb        0x1be81(%rip),%xmm2        # 3cfe0 <_sk_srcover_bgra_8888_sse2_lowp+0xd94>
+  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
+  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
+  .byte  102,15,114,211,24                   // psrld         $0x18,%xmm3
+  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
+  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_store_8888_sse41
+.globl _sk_store_8888_sse41
+FUNCTION(_sk_store_8888_sse41)
+_sk_store_8888_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,95,200                        // maxps         %xmm0,%xmm9
+  .byte  68,15,40,21,117,189,1,0             // movaps        0x1bd75(%rip),%xmm10        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,93,202                        // minps         %xmm10,%xmm9
+  .byte  68,15,40,29,73,190,1,0              // movaps        0x1be49(%rip),%xmm11        # 3cff0 <_sk_srcover_bgra_8888_sse2_lowp+0xda4>
+  .byte  69,15,89,203                        // mulps         %xmm11,%xmm9
+  .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
+  .byte  69,15,87,228                        // xorps         %xmm12,%xmm12
+  .byte  68,15,95,225                        // maxps         %xmm1,%xmm12
+  .byte  69,15,93,226                        // minps         %xmm10,%xmm12
+  .byte  69,15,89,227                        // mulps         %xmm11,%xmm12
+  .byte  102,69,15,91,228                    // cvtps2dq      %xmm12,%xmm12
+  .byte  102,65,15,114,244,8                 // pslld         $0x8,%xmm12
+  .byte  102,69,15,235,225                   // por           %xmm9,%xmm12
+  .byte  102,69,15,87,201                    // xorpd         %xmm9,%xmm9
+  .byte  68,15,95,202                        // maxps         %xmm2,%xmm9
+  .byte  69,15,93,202                        // minps         %xmm10,%xmm9
+  .byte  69,15,89,203                        // mulps         %xmm11,%xmm9
+  .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
+  .byte  102,65,15,114,241,16                // pslld         $0x10,%xmm9
+  .byte  68,15,95,195                        // maxps         %xmm3,%xmm8
+  .byte  69,15,93,194                        // minps         %xmm10,%xmm8
+  .byte  69,15,89,195                        // mulps         %xmm11,%xmm8
+  .byte  102,69,15,91,192                    // cvtps2dq      %xmm8,%xmm8
+  .byte  102,65,15,114,240,24                // pslld         $0x18,%xmm8
+  .byte  102,69,15,235,193                   // por           %xmm9,%xmm8
+  .byte  102,69,15,235,196                   // por           %xmm12,%xmm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,10                              // jne           2121c <_sk_store_8888_sse41+0xa6>
+  .byte  243,69,15,127,4,144                 // movdqu        %xmm8,(%r8,%rdx,4)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,25                              // je            2123d <_sk_store_8888_sse41+0xc7>
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,13                              // je            21235 <_sk_store_8888_sse41+0xbf>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,236                             // jne           21218 <_sk_store_8888_sse41+0xa2>
+  .byte  102,69,15,58,22,68,144,8,2          // pextrd        $0x2,%xmm8,0x8(%r8,%rdx,4)
+  .byte  102,69,15,214,4,144                 // movq          %xmm8,(%r8,%rdx,4)
+  .byte  235,219                             // jmp           21218 <_sk_store_8888_sse41+0xa2>
+  .byte  102,69,15,126,4,144                 // movd          %xmm8,(%r8,%rdx,4)
+  .byte  235,211                             // jmp           21218 <_sk_store_8888_sse41+0xa2>
+
+HIDDEN _sk_load_bgra_sse41
+.globl _sk_load_bgra_sse41
+FUNCTION(_sk_load_bgra_sse41)
+_sk_load_bgra_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,89                              // jne           212b4 <_sk_load_bgra_sse41+0x6f>
+  .byte  243,65,15,111,28,144                // movdqu        (%r8,%rdx,4),%xmm3
+  .byte  102,15,111,5,87,189,1,0             // movdqa        0x1bd57(%rip),%xmm0        # 3cfc0 <_sk_srcover_bgra_8888_sse2_lowp+0xd74>
+  .byte  102,15,219,195                      // pand          %xmm3,%xmm0
+  .byte  15,91,208                           // cvtdq2ps      %xmm0,%xmm2
+  .byte  68,15,40,5,168,190,1,0              // movaps        0x1bea8(%rip),%xmm8        # 3d120 <_sk_srcover_bgra_8888_sse2_lowp+0xed4>
+  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
+  .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
+  .byte  102,15,56,0,5,71,189,1,0            // pshufb        0x1bd47(%rip),%xmm0        # 3cfd0 <_sk_srcover_bgra_8888_sse2_lowp+0xd84>
+  .byte  15,91,200                           // cvtdq2ps      %xmm0,%xmm1
+  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
+  .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
+  .byte  102,15,56,0,5,67,189,1,0            // pshufb        0x1bd43(%rip),%xmm0        # 3cfe0 <_sk_srcover_bgra_8888_sse2_lowp+0xd94>
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  102,15,114,211,24                   // psrld         $0x18,%xmm3
+  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
+  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,41                              // je            212e5 <_sk_load_bgra_sse41+0xa0>
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,16                              // je            212d4 <_sk_load_bgra_sse41+0x8f>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,153                             // jne           21261 <_sk_load_bgra_sse41+0x1c>
+  .byte  102,65,15,110,68,144,8              // movd          0x8(%r8,%rdx,4),%xmm0
+  .byte  102,15,112,216,69                   // pshufd        $0x45,%xmm0,%xmm3
+  .byte  243,65,15,126,4,144                 // movq          (%r8,%rdx,4),%xmm0
+  .byte  102,15,58,14,216,15                 // pblendw       $0xf,%xmm0,%xmm3
+  .byte  233,124,255,255,255                 // jmpq          21261 <_sk_load_bgra_sse41+0x1c>
+  .byte  102,65,15,110,28,144                // movd          (%r8,%rdx,4),%xmm3
+  .byte  233,113,255,255,255                 // jmpq          21261 <_sk_load_bgra_sse41+0x1c>
+
+HIDDEN _sk_load_bgra_dst_sse41
+.globl _sk_load_bgra_dst_sse41
+FUNCTION(_sk_load_bgra_dst_sse41)
+_sk_load_bgra_dst_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,89                              // jne           2135f <_sk_load_bgra_dst_sse41+0x6f>
+  .byte  243,65,15,111,60,144                // movdqu        (%r8,%rdx,4),%xmm7
+  .byte  102,15,111,37,172,188,1,0           // movdqa        0x1bcac(%rip),%xmm4        # 3cfc0 <_sk_srcover_bgra_8888_sse2_lowp+0xd74>
+  .byte  102,15,219,231                      // pand          %xmm7,%xmm4
+  .byte  15,91,244                           // cvtdq2ps      %xmm4,%xmm6
+  .byte  68,15,40,5,253,189,1,0              // movaps        0x1bdfd(%rip),%xmm8        # 3d120 <_sk_srcover_bgra_8888_sse2_lowp+0xed4>
+  .byte  65,15,89,240                        // mulps         %xmm8,%xmm6
+  .byte  102,15,111,231                      // movdqa        %xmm7,%xmm4
+  .byte  102,15,56,0,37,156,188,1,0          // pshufb        0x1bc9c(%rip),%xmm4        # 3cfd0 <_sk_srcover_bgra_8888_sse2_lowp+0xd84>
+  .byte  15,91,236                           // cvtdq2ps      %xmm4,%xmm5
+  .byte  65,15,89,232                        // mulps         %xmm8,%xmm5
+  .byte  102,15,111,231                      // movdqa        %xmm7,%xmm4
+  .byte  102,15,56,0,37,152,188,1,0          // pshufb        0x1bc98(%rip),%xmm4        # 3cfe0 <_sk_srcover_bgra_8888_sse2_lowp+0xd94>
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  65,15,89,224                        // mulps         %xmm8,%xmm4
+  .byte  102,15,114,215,24                   // psrld         $0x18,%xmm7
+  .byte  15,91,255                           // cvtdq2ps      %xmm7,%xmm7
+  .byte  65,15,89,248                        // mulps         %xmm8,%xmm7
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,41                              // je            21390 <_sk_load_bgra_dst_sse41+0xa0>
+  .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,16                              // je            2137f <_sk_load_bgra_dst_sse41+0x8f>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,153                             // jne           2130c <_sk_load_bgra_dst_sse41+0x1c>
+  .byte  102,65,15,110,100,144,8             // movd          0x8(%r8,%rdx,4),%xmm4
+  .byte  102,15,112,252,69                   // pshufd        $0x45,%xmm4,%xmm7
+  .byte  243,65,15,126,36,144                // movq          (%r8,%rdx,4),%xmm4
+  .byte  102,15,58,14,252,15                 // pblendw       $0xf,%xmm4,%xmm7
+  .byte  233,124,255,255,255                 // jmpq          2130c <_sk_load_bgra_dst_sse41+0x1c>
+  .byte  102,65,15,110,60,144                // movd          (%r8,%rdx,4),%xmm7
+  .byte  233,113,255,255,255                 // jmpq          2130c <_sk_load_bgra_dst_sse41+0x1c>
+
+HIDDEN _sk_gather_bgra_sse41
+.globl _sk_gather_bgra_sse41
+FUNCTION(_sk_gather_bgra_sse41)
+_sk_gather_bgra_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,15,16,80,12                     // movss         0xc(%rax),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  102,69,15,118,192                   // pcmpeqd       %xmm8,%xmm8
+  .byte  102,65,15,254,208                   // paddd         %xmm8,%xmm2
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,95,200                        // maxps         %xmm0,%xmm9
+  .byte  68,15,93,202                        // minps         %xmm2,%xmm9
+  .byte  243,15,16,64,16                     // movss         0x10(%rax),%xmm0
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  102,65,15,254,192                   // paddd         %xmm8,%xmm0
+  .byte  15,95,217                           // maxps         %xmm1,%xmm3
+  .byte  15,93,216                           // minps         %xmm0,%xmm3
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  243,15,91,195                       // cvttps2dq     %xmm3,%xmm0
+  .byte  102,15,110,72,8                     // movd          0x8(%rax),%xmm1
+  .byte  102,15,112,201,0                    // pshufd        $0x0,%xmm1,%xmm1
+  .byte  102,15,56,64,200                    // pmulld        %xmm0,%xmm1
+  .byte  243,65,15,91,193                    // cvttps2dq     %xmm9,%xmm0
+  .byte  102,15,254,193                      // paddd         %xmm1,%xmm0
+  .byte  102,72,15,126,192                   // movq          %xmm0,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  102,73,15,58,22,194,1               // pextrq        $0x1,%xmm0,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  102,67,15,110,28,136                // movd          (%r8,%r9,4),%xmm3
+  .byte  102,65,15,58,34,28,128,1            // pinsrd        $0x1,(%r8,%rax,4),%xmm3
+  .byte  102,67,15,58,34,28,152,2            // pinsrd        $0x2,(%r8,%r11,4),%xmm3
+  .byte  102,67,15,58,34,28,144,3            // pinsrd        $0x3,(%r8,%r10,4),%xmm3
+  .byte  102,15,111,5,142,187,1,0            // movdqa        0x1bb8e(%rip),%xmm0        # 3cfc0 <_sk_srcover_bgra_8888_sse2_lowp+0xd74>
+  .byte  102,15,219,195                      // pand          %xmm3,%xmm0
+  .byte  15,91,208                           // cvtdq2ps      %xmm0,%xmm2
+  .byte  68,15,40,5,223,188,1,0              // movaps        0x1bcdf(%rip),%xmm8        # 3d120 <_sk_srcover_bgra_8888_sse2_lowp+0xed4>
+  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
+  .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
+  .byte  102,15,56,0,5,126,187,1,0           // pshufb        0x1bb7e(%rip),%xmm0        # 3cfd0 <_sk_srcover_bgra_8888_sse2_lowp+0xd84>
+  .byte  15,91,200                           // cvtdq2ps      %xmm0,%xmm1
+  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
+  .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
+  .byte  102,15,56,0,5,122,187,1,0           // pshufb        0x1bb7a(%rip),%xmm0        # 3cfe0 <_sk_srcover_bgra_8888_sse2_lowp+0xd94>
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  102,15,114,211,24                   // psrld         $0x18,%xmm3
+  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
+  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_store_bgra_sse41
+.globl _sk_store_bgra_sse41
+FUNCTION(_sk_store_bgra_sse41)
+_sk_store_bgra_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,95,202                        // maxps         %xmm2,%xmm9
+  .byte  68,15,40,21,110,186,1,0             // movaps        0x1ba6e(%rip),%xmm10        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,93,202                        // minps         %xmm10,%xmm9
+  .byte  68,15,40,29,66,187,1,0              // movaps        0x1bb42(%rip),%xmm11        # 3cff0 <_sk_srcover_bgra_8888_sse2_lowp+0xda4>
+  .byte  69,15,89,203                        // mulps         %xmm11,%xmm9
+  .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
+  .byte  69,15,87,228                        // xorps         %xmm12,%xmm12
+  .byte  68,15,95,225                        // maxps         %xmm1,%xmm12
+  .byte  69,15,93,226                        // minps         %xmm10,%xmm12
+  .byte  69,15,89,227                        // mulps         %xmm11,%xmm12
+  .byte  102,69,15,91,228                    // cvtps2dq      %xmm12,%xmm12
+  .byte  102,65,15,114,244,8                 // pslld         $0x8,%xmm12
+  .byte  102,69,15,235,225                   // por           %xmm9,%xmm12
+  .byte  102,69,15,87,201                    // xorpd         %xmm9,%xmm9
+  .byte  68,15,95,200                        // maxps         %xmm0,%xmm9
+  .byte  69,15,93,202                        // minps         %xmm10,%xmm9
+  .byte  69,15,89,203                        // mulps         %xmm11,%xmm9
+  .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
+  .byte  102,65,15,114,241,16                // pslld         $0x10,%xmm9
+  .byte  68,15,95,195                        // maxps         %xmm3,%xmm8
+  .byte  69,15,93,194                        // minps         %xmm10,%xmm8
+  .byte  69,15,89,195                        // mulps         %xmm11,%xmm8
+  .byte  102,69,15,91,192                    // cvtps2dq      %xmm8,%xmm8
+  .byte  102,65,15,114,240,24                // pslld         $0x18,%xmm8
+  .byte  102,69,15,235,193                   // por           %xmm9,%xmm8
+  .byte  102,69,15,235,196                   // por           %xmm12,%xmm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,10                              // jne           21523 <_sk_store_bgra_sse41+0xa6>
+  .byte  243,69,15,127,4,144                 // movdqu        %xmm8,(%r8,%rdx,4)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,25                              // je            21544 <_sk_store_bgra_sse41+0xc7>
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,13                              // je            2153c <_sk_store_bgra_sse41+0xbf>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,236                             // jne           2151f <_sk_store_bgra_sse41+0xa2>
+  .byte  102,69,15,58,22,68,144,8,2          // pextrd        $0x2,%xmm8,0x8(%r8,%rdx,4)
+  .byte  102,69,15,214,4,144                 // movq          %xmm8,(%r8,%rdx,4)
+  .byte  235,219                             // jmp           2151f <_sk_store_bgra_sse41+0xa2>
+  .byte  102,69,15,126,4,144                 // movd          %xmm8,(%r8,%rdx,4)
+  .byte  235,211                             // jmp           2151f <_sk_store_bgra_sse41+0xa2>
+
+HIDDEN _sk_load_1010102_sse41
+.globl _sk_load_1010102_sse41
+FUNCTION(_sk_load_1010102_sse41)
+_sk_load_1010102_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,101                             // jne           215c7 <_sk_load_1010102_sse41+0x7b>
+  .byte  243,69,15,111,12,144                // movdqu        (%r8,%rdx,4),%xmm9
+  .byte  102,15,111,21,112,190,1,0           // movdqa        0x1be70(%rip),%xmm2        # 3d3e0 <_sk_srcover_bgra_8888_sse2_lowp+0x1194>
+  .byte  102,65,15,111,193                   // movdqa        %xmm9,%xmm0
+  .byte  102,15,219,194                      // pand          %xmm2,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  68,15,40,5,108,190,1,0              // movaps        0x1be6c(%rip),%xmm8        # 3d3f0 <_sk_srcover_bgra_8888_sse2_lowp+0x11a4>
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  102,65,15,111,201                   // movdqa        %xmm9,%xmm1
+  .byte  102,15,114,209,10                   // psrld         $0xa,%xmm1
+  .byte  102,15,219,202                      // pand          %xmm2,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
+  .byte  102,65,15,111,217                   // movdqa        %xmm9,%xmm3
+  .byte  102,15,114,211,20                   // psrld         $0x14,%xmm3
+  .byte  102,15,219,218                      // pand          %xmm2,%xmm3
+  .byte  15,91,211                           // cvtdq2ps      %xmm3,%xmm2
+  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
+  .byte  102,65,15,114,209,30                // psrld         $0x1e,%xmm9
+  .byte  65,15,91,217                        // cvtdq2ps      %xmm9,%xmm3
+  .byte  15,89,29,45,187,1,0                 // mulps         0x1bb2d(%rip),%xmm3        # 3d0f0 <_sk_srcover_bgra_8888_sse2_lowp+0xea4>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,44                              // je            215fb <_sk_load_1010102_sse41+0xaf>
+  .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,17                              // je            215e9 <_sk_load_1010102_sse41+0x9d>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,140                             // jne           21568 <_sk_load_1010102_sse41+0x1c>
+  .byte  102,65,15,110,68,144,8              // movd          0x8(%r8,%rdx,4),%xmm0
+  .byte  102,68,15,112,200,69                // pshufd        $0x45,%xmm0,%xmm9
+  .byte  243,65,15,126,4,144                 // movq          (%r8,%rdx,4),%xmm0
+  .byte  102,68,15,58,14,200,15              // pblendw       $0xf,%xmm0,%xmm9
+  .byte  233,109,255,255,255                 // jmpq          21568 <_sk_load_1010102_sse41+0x1c>
+  .byte  102,69,15,110,12,144                // movd          (%r8,%rdx,4),%xmm9
+  .byte  233,98,255,255,255                  // jmpq          21568 <_sk_load_1010102_sse41+0x1c>
+
+HIDDEN _sk_load_1010102_dst_sse41
+.globl _sk_load_1010102_dst_sse41
+FUNCTION(_sk_load_1010102_dst_sse41)
+_sk_load_1010102_dst_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,101                             // jne           21681 <_sk_load_1010102_dst_sse41+0x7b>
+  .byte  243,69,15,111,12,144                // movdqu        (%r8,%rdx,4),%xmm9
+  .byte  102,15,111,53,182,189,1,0           // movdqa        0x1bdb6(%rip),%xmm6        # 3d3e0 <_sk_srcover_bgra_8888_sse2_lowp+0x1194>
+  .byte  102,65,15,111,225                   // movdqa        %xmm9,%xmm4
+  .byte  102,15,219,230                      // pand          %xmm6,%xmm4
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  68,15,40,5,178,189,1,0              // movaps        0x1bdb2(%rip),%xmm8        # 3d3f0 <_sk_srcover_bgra_8888_sse2_lowp+0x11a4>
+  .byte  65,15,89,224                        // mulps         %xmm8,%xmm4
+  .byte  102,65,15,111,233                   // movdqa        %xmm9,%xmm5
+  .byte  102,15,114,213,10                   // psrld         $0xa,%xmm5
+  .byte  102,15,219,238                      // pand          %xmm6,%xmm5
+  .byte  15,91,237                           // cvtdq2ps      %xmm5,%xmm5
+  .byte  65,15,89,232                        // mulps         %xmm8,%xmm5
+  .byte  102,65,15,111,249                   // movdqa        %xmm9,%xmm7
+  .byte  102,15,114,215,20                   // psrld         $0x14,%xmm7
+  .byte  102,15,219,254                      // pand          %xmm6,%xmm7
+  .byte  15,91,247                           // cvtdq2ps      %xmm7,%xmm6
+  .byte  65,15,89,240                        // mulps         %xmm8,%xmm6
+  .byte  102,65,15,114,209,30                // psrld         $0x1e,%xmm9
+  .byte  65,15,91,249                        // cvtdq2ps      %xmm9,%xmm7
+  .byte  15,89,61,115,186,1,0                // mulps         0x1ba73(%rip),%xmm7        # 3d0f0 <_sk_srcover_bgra_8888_sse2_lowp+0xea4>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,44                              // je            216b5 <_sk_load_1010102_dst_sse41+0xaf>
+  .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,17                              // je            216a3 <_sk_load_1010102_dst_sse41+0x9d>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,140                             // jne           21622 <_sk_load_1010102_dst_sse41+0x1c>
+  .byte  102,65,15,110,100,144,8             // movd          0x8(%r8,%rdx,4),%xmm4
+  .byte  102,68,15,112,204,69                // pshufd        $0x45,%xmm4,%xmm9
+  .byte  243,65,15,126,36,144                // movq          (%r8,%rdx,4),%xmm4
+  .byte  102,68,15,58,14,204,15              // pblendw       $0xf,%xmm4,%xmm9
+  .byte  233,109,255,255,255                 // jmpq          21622 <_sk_load_1010102_dst_sse41+0x1c>
+  .byte  102,69,15,110,12,144                // movd          (%r8,%rdx,4),%xmm9
+  .byte  233,98,255,255,255                  // jmpq          21622 <_sk_load_1010102_dst_sse41+0x1c>
+
+HIDDEN _sk_gather_1010102_sse41
+.globl _sk_gather_1010102_sse41
+FUNCTION(_sk_gather_1010102_sse41)
+_sk_gather_1010102_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,15,16,80,12                     // movss         0xc(%rax),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  102,69,15,118,192                   // pcmpeqd       %xmm8,%xmm8
+  .byte  102,65,15,254,208                   // paddd         %xmm8,%xmm2
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,95,200                        // maxps         %xmm0,%xmm9
+  .byte  68,15,93,202                        // minps         %xmm2,%xmm9
+  .byte  243,15,16,64,16                     // movss         0x10(%rax),%xmm0
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  102,65,15,254,192                   // paddd         %xmm8,%xmm0
+  .byte  15,95,217                           // maxps         %xmm1,%xmm3
+  .byte  15,93,216                           // minps         %xmm0,%xmm3
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  243,15,91,195                       // cvttps2dq     %xmm3,%xmm0
+  .byte  102,15,110,72,8                     // movd          0x8(%rax),%xmm1
+  .byte  102,15,112,201,0                    // pshufd        $0x0,%xmm1,%xmm1
+  .byte  102,15,56,64,200                    // pmulld        %xmm0,%xmm1
+  .byte  243,65,15,91,193                    // cvttps2dq     %xmm9,%xmm0
+  .byte  102,15,254,193                      // paddd         %xmm1,%xmm0
+  .byte  102,72,15,126,192                   // movq          %xmm0,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  102,73,15,58,22,194,1               // pextrq        $0x1,%xmm0,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  102,71,15,110,12,136                // movd          (%r8,%r9,4),%xmm9
+  .byte  102,69,15,58,34,12,128,1            // pinsrd        $0x1,(%r8,%rax,4),%xmm9
+  .byte  102,71,15,58,34,12,152,2            // pinsrd        $0x2,(%r8,%r11,4),%xmm9
+  .byte  102,71,15,58,34,12,144,3            // pinsrd        $0x3,(%r8,%r10,4),%xmm9
+  .byte  102,15,111,21,137,188,1,0           // movdqa        0x1bc89(%rip),%xmm2        # 3d3e0 <_sk_srcover_bgra_8888_sse2_lowp+0x1194>
+  .byte  102,65,15,111,193                   // movdqa        %xmm9,%xmm0
+  .byte  102,15,219,194                      // pand          %xmm2,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  68,15,40,5,133,188,1,0              // movaps        0x1bc85(%rip),%xmm8        # 3d3f0 <_sk_srcover_bgra_8888_sse2_lowp+0x11a4>
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  102,65,15,111,201                   // movdqa        %xmm9,%xmm1
+  .byte  102,15,114,209,10                   // psrld         $0xa,%xmm1
+  .byte  102,15,219,202                      // pand          %xmm2,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
+  .byte  102,65,15,111,217                   // movdqa        %xmm9,%xmm3
+  .byte  102,15,114,211,20                   // psrld         $0x14,%xmm3
+  .byte  102,15,219,218                      // pand          %xmm2,%xmm3
+  .byte  15,91,211                           // cvtdq2ps      %xmm3,%xmm2
+  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
+  .byte  102,65,15,114,209,30                // psrld         $0x1e,%xmm9
+  .byte  65,15,91,217                        // cvtdq2ps      %xmm9,%xmm3
+  .byte  15,89,29,70,185,1,0                 // mulps         0x1b946(%rip),%xmm3        # 3d0f0 <_sk_srcover_bgra_8888_sse2_lowp+0xea4>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_store_1010102_sse41
+.globl _sk_store_1010102_sse41
+FUNCTION(_sk_store_1010102_sse41)
+_sk_store_1010102_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,95,200                        // maxps         %xmm0,%xmm9
+  .byte  68,15,40,21,61,183,1,0              // movaps        0x1b73d(%rip),%xmm10        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,93,202                        // minps         %xmm10,%xmm9
+  .byte  68,15,40,29,33,188,1,0              // movaps        0x1bc21(%rip),%xmm11        # 3d400 <_sk_srcover_bgra_8888_sse2_lowp+0x11b4>
+  .byte  69,15,89,203                        // mulps         %xmm11,%xmm9
+  .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
+  .byte  69,15,87,228                        // xorps         %xmm12,%xmm12
+  .byte  68,15,95,225                        // maxps         %xmm1,%xmm12
+  .byte  69,15,93,226                        // minps         %xmm10,%xmm12
+  .byte  69,15,89,227                        // mulps         %xmm11,%xmm12
+  .byte  102,69,15,91,228                    // cvtps2dq      %xmm12,%xmm12
+  .byte  102,65,15,114,244,10                // pslld         $0xa,%xmm12
+  .byte  102,69,15,235,225                   // por           %xmm9,%xmm12
+  .byte  102,69,15,87,201                    // xorpd         %xmm9,%xmm9
+  .byte  68,15,95,202                        // maxps         %xmm2,%xmm9
+  .byte  69,15,93,202                        // minps         %xmm10,%xmm9
+  .byte  69,15,89,203                        // mulps         %xmm11,%xmm9
+  .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
+  .byte  102,65,15,114,241,20                // pslld         $0x14,%xmm9
+  .byte  102,69,15,235,204                   // por           %xmm12,%xmm9
+  .byte  68,15,95,195                        // maxps         %xmm3,%xmm8
+  .byte  69,15,93,194                        // minps         %xmm10,%xmm8
+  .byte  68,15,89,5,215,187,1,0              // mulps         0x1bbd7(%rip),%xmm8        # 3d410 <_sk_srcover_bgra_8888_sse2_lowp+0x11c4>
+  .byte  102,69,15,91,192                    // cvtps2dq      %xmm8,%xmm8
+  .byte  102,65,15,114,240,30                // pslld         $0x1e,%xmm8
+  .byte  102,69,15,235,193                   // por           %xmm9,%xmm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,10                              // jne           21858 <_sk_store_1010102_sse41+0xaa>
+  .byte  243,69,15,127,4,144                 // movdqu        %xmm8,(%r8,%rdx,4)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,25                              // je            21879 <_sk_store_1010102_sse41+0xcb>
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,13                              // je            21871 <_sk_store_1010102_sse41+0xc3>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,236                             // jne           21854 <_sk_store_1010102_sse41+0xa6>
+  .byte  102,69,15,58,22,68,144,8,2          // pextrd        $0x2,%xmm8,0x8(%r8,%rdx,4)
+  .byte  102,69,15,214,4,144                 // movq          %xmm8,(%r8,%rdx,4)
+  .byte  235,219                             // jmp           21854 <_sk_store_1010102_sse41+0xa6>
+  .byte  102,69,15,126,4,144                 // movd          %xmm8,(%r8,%rdx,4)
+  .byte  235,211                             // jmp           21854 <_sk_store_1010102_sse41+0xa6>
+
+HIDDEN _sk_load_f16_sse41
+.globl _sk_load_f16_sse41
+FUNCTION(_sk_load_f16_sse41)
+_sk_load_f16_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,3                        // shl           $0x3,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,68,1,0,0                     // jne           219df <_sk_load_f16_sse41+0x15e>
+  .byte  102,65,15,16,4,208                  // movupd        (%r8,%rdx,8),%xmm0
+  .byte  243,65,15,111,76,208,16             // movdqu        0x10(%r8,%rdx,8),%xmm1
+  .byte  102,68,15,40,200                    // movapd        %xmm0,%xmm9
+  .byte  102,68,15,97,201                    // punpcklwd     %xmm1,%xmm9
+  .byte  102,15,105,193                      // punpckhwd     %xmm1,%xmm0
+  .byte  102,69,15,111,225                   // movdqa        %xmm9,%xmm12
+  .byte  102,68,15,97,224                    // punpcklwd     %xmm0,%xmm12
+  .byte  102,68,15,105,200                   // punpckhwd     %xmm0,%xmm9
+  .byte  102,65,15,56,51,212                 // pmovzxwd      %xmm12,%xmm2
+  .byte  102,68,15,111,5,76,187,1,0          // movdqa        0x1bb4c(%rip),%xmm8        # 3d420 <_sk_srcover_bgra_8888_sse2_lowp+0x11d4>
+  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
+  .byte  102,65,15,219,200                   // pand          %xmm8,%xmm1
+  .byte  102,68,15,111,21,74,187,1,0         // movdqa        0x1bb4a(%rip),%xmm10        # 3d430 <_sk_srcover_bgra_8888_sse2_lowp+0x11e4>
+  .byte  102,65,15,219,210                   // pand          %xmm10,%xmm2
+  .byte  102,15,111,29,77,187,1,0            // movdqa        0x1bb4d(%rip),%xmm3        # 3d440 <_sk_srcover_bgra_8888_sse2_lowp+0x11f4>
+  .byte  102,15,114,241,16                   // pslld         $0x10,%xmm1
+  .byte  102,15,111,194                      // movdqa        %xmm2,%xmm0
+  .byte  102,15,56,63,195                    // pmaxud        %xmm3,%xmm0
+  .byte  102,15,118,194                      // pcmpeqd       %xmm2,%xmm0
+  .byte  102,15,114,242,13                   // pslld         $0xd,%xmm2
+  .byte  102,15,235,209                      // por           %xmm1,%xmm2
+  .byte  102,68,15,111,29,57,187,1,0         // movdqa        0x1bb39(%rip),%xmm11        # 3d450 <_sk_srcover_bgra_8888_sse2_lowp+0x1204>
+  .byte  102,65,15,254,211                   // paddd         %xmm11,%xmm2
+  .byte  102,15,219,194                      // pand          %xmm2,%xmm0
+  .byte  102,65,15,112,204,238               // pshufd        $0xee,%xmm12,%xmm1
+  .byte  102,15,56,51,209                    // pmovzxwd      %xmm1,%xmm2
+  .byte  102,68,15,111,226                   // movdqa        %xmm2,%xmm12
+  .byte  102,69,15,219,224                   // pand          %xmm8,%xmm12
+  .byte  102,65,15,219,210                   // pand          %xmm10,%xmm2
+  .byte  102,65,15,114,244,16                // pslld         $0x10,%xmm12
+  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
+  .byte  102,15,56,63,203                    // pmaxud        %xmm3,%xmm1
+  .byte  102,15,118,202                      // pcmpeqd       %xmm2,%xmm1
+  .byte  102,15,114,242,13                   // pslld         $0xd,%xmm2
+  .byte  102,65,15,235,212                   // por           %xmm12,%xmm2
+  .byte  102,65,15,254,211                   // paddd         %xmm11,%xmm2
+  .byte  102,15,219,202                      // pand          %xmm2,%xmm1
+  .byte  102,69,15,56,51,225                 // pmovzxwd      %xmm9,%xmm12
+  .byte  102,69,15,111,236                   // movdqa        %xmm12,%xmm13
+  .byte  102,69,15,219,232                   // pand          %xmm8,%xmm13
+  .byte  102,69,15,219,226                   // pand          %xmm10,%xmm12
+  .byte  102,65,15,114,245,16                // pslld         $0x10,%xmm13
+  .byte  102,65,15,111,212                   // movdqa        %xmm12,%xmm2
+  .byte  102,15,56,63,211                    // pmaxud        %xmm3,%xmm2
+  .byte  102,65,15,118,212                   // pcmpeqd       %xmm12,%xmm2
+  .byte  102,65,15,114,244,13                // pslld         $0xd,%xmm12
+  .byte  102,69,15,235,229                   // por           %xmm13,%xmm12
+  .byte  102,69,15,254,227                   // paddd         %xmm11,%xmm12
+  .byte  102,65,15,219,212                   // pand          %xmm12,%xmm2
+  .byte  102,69,15,112,201,238               // pshufd        $0xee,%xmm9,%xmm9
+  .byte  102,69,15,56,51,201                 // pmovzxwd      %xmm9,%xmm9
+  .byte  102,69,15,219,193                   // pand          %xmm9,%xmm8
+  .byte  102,69,15,219,202                   // pand          %xmm10,%xmm9
+  .byte  102,65,15,114,240,16                // pslld         $0x10,%xmm8
+  .byte  102,65,15,56,63,217                 // pmaxud        %xmm9,%xmm3
+  .byte  102,65,15,118,217                   // pcmpeqd       %xmm9,%xmm3
+  .byte  102,65,15,114,241,13                // pslld         $0xd,%xmm9
+  .byte  102,69,15,235,200                   // por           %xmm8,%xmm9
+  .byte  102,69,15,254,203                   // paddd         %xmm11,%xmm9
+  .byte  102,65,15,219,217                   // pand          %xmm9,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  242,65,15,16,4,208                  // movsd         (%r8,%rdx,8),%xmm0
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  117,13                              // jne           219f8 <_sk_load_f16_sse41+0x177>
+  .byte  243,15,126,192                      // movq          %xmm0,%xmm0
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  233,176,254,255,255                 // jmpq          218a8 <_sk_load_f16_sse41+0x27>
+  .byte  102,65,15,22,68,208,8               // movhpd        0x8(%r8,%rdx,8),%xmm0
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  15,130,155,254,255,255              // jb            218a8 <_sk_load_f16_sse41+0x27>
+  .byte  243,65,15,126,76,208,16             // movq          0x10(%r8,%rdx,8),%xmm1
+  .byte  233,143,254,255,255                 // jmpq          218a8 <_sk_load_f16_sse41+0x27>
+
+HIDDEN _sk_load_f16_dst_sse41
+.globl _sk_load_f16_dst_sse41
+FUNCTION(_sk_load_f16_dst_sse41)
+_sk_load_f16_dst_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,3                        // shl           $0x3,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,68,1,0,0                     // jne           21b77 <_sk_load_f16_dst_sse41+0x15e>
+  .byte  102,65,15,16,36,208                 // movupd        (%r8,%rdx,8),%xmm4
+  .byte  243,65,15,111,108,208,16            // movdqu        0x10(%r8,%rdx,8),%xmm5
+  .byte  102,68,15,40,204                    // movapd        %xmm4,%xmm9
+  .byte  102,68,15,97,205                    // punpcklwd     %xmm5,%xmm9
+  .byte  102,15,105,229                      // punpckhwd     %xmm5,%xmm4
+  .byte  102,69,15,111,225                   // movdqa        %xmm9,%xmm12
+  .byte  102,68,15,97,228                    // punpcklwd     %xmm4,%xmm12
+  .byte  102,68,15,105,204                   // punpckhwd     %xmm4,%xmm9
+  .byte  102,65,15,56,51,244                 // pmovzxwd      %xmm12,%xmm6
+  .byte  102,68,15,111,5,180,185,1,0         // movdqa        0x1b9b4(%rip),%xmm8        # 3d420 <_sk_srcover_bgra_8888_sse2_lowp+0x11d4>
+  .byte  102,15,111,238                      // movdqa        %xmm6,%xmm5
+  .byte  102,65,15,219,232                   // pand          %xmm8,%xmm5
+  .byte  102,68,15,111,21,178,185,1,0        // movdqa        0x1b9b2(%rip),%xmm10        # 3d430 <_sk_srcover_bgra_8888_sse2_lowp+0x11e4>
+  .byte  102,65,15,219,242                   // pand          %xmm10,%xmm6
+  .byte  102,15,111,61,181,185,1,0           // movdqa        0x1b9b5(%rip),%xmm7        # 3d440 <_sk_srcover_bgra_8888_sse2_lowp+0x11f4>
+  .byte  102,15,114,245,16                   // pslld         $0x10,%xmm5
+  .byte  102,15,111,230                      // movdqa        %xmm6,%xmm4
+  .byte  102,15,56,63,231                    // pmaxud        %xmm7,%xmm4
+  .byte  102,15,118,230                      // pcmpeqd       %xmm6,%xmm4
+  .byte  102,15,114,246,13                   // pslld         $0xd,%xmm6
+  .byte  102,15,235,245                      // por           %xmm5,%xmm6
+  .byte  102,68,15,111,29,161,185,1,0        // movdqa        0x1b9a1(%rip),%xmm11        # 3d450 <_sk_srcover_bgra_8888_sse2_lowp+0x1204>
+  .byte  102,65,15,254,243                   // paddd         %xmm11,%xmm6
+  .byte  102,15,219,230                      // pand          %xmm6,%xmm4
+  .byte  102,65,15,112,236,238               // pshufd        $0xee,%xmm12,%xmm5
+  .byte  102,15,56,51,245                    // pmovzxwd      %xmm5,%xmm6
+  .byte  102,68,15,111,230                   // movdqa        %xmm6,%xmm12
+  .byte  102,69,15,219,224                   // pand          %xmm8,%xmm12
+  .byte  102,65,15,219,242                   // pand          %xmm10,%xmm6
+  .byte  102,65,15,114,244,16                // pslld         $0x10,%xmm12
+  .byte  102,15,111,238                      // movdqa        %xmm6,%xmm5
+  .byte  102,15,56,63,239                    // pmaxud        %xmm7,%xmm5
+  .byte  102,15,118,238                      // pcmpeqd       %xmm6,%xmm5
+  .byte  102,15,114,246,13                   // pslld         $0xd,%xmm6
+  .byte  102,65,15,235,244                   // por           %xmm12,%xmm6
+  .byte  102,65,15,254,243                   // paddd         %xmm11,%xmm6
+  .byte  102,15,219,238                      // pand          %xmm6,%xmm5
+  .byte  102,69,15,56,51,225                 // pmovzxwd      %xmm9,%xmm12
+  .byte  102,69,15,111,236                   // movdqa        %xmm12,%xmm13
+  .byte  102,69,15,219,232                   // pand          %xmm8,%xmm13
+  .byte  102,69,15,219,226                   // pand          %xmm10,%xmm12
+  .byte  102,65,15,114,245,16                // pslld         $0x10,%xmm13
+  .byte  102,65,15,111,244                   // movdqa        %xmm12,%xmm6
+  .byte  102,15,56,63,247                    // pmaxud        %xmm7,%xmm6
+  .byte  102,65,15,118,244                   // pcmpeqd       %xmm12,%xmm6
+  .byte  102,65,15,114,244,13                // pslld         $0xd,%xmm12
+  .byte  102,69,15,235,229                   // por           %xmm13,%xmm12
+  .byte  102,69,15,254,227                   // paddd         %xmm11,%xmm12
+  .byte  102,65,15,219,244                   // pand          %xmm12,%xmm6
+  .byte  102,69,15,112,201,238               // pshufd        $0xee,%xmm9,%xmm9
+  .byte  102,69,15,56,51,201                 // pmovzxwd      %xmm9,%xmm9
+  .byte  102,69,15,219,193                   // pand          %xmm9,%xmm8
+  .byte  102,69,15,219,202                   // pand          %xmm10,%xmm9
+  .byte  102,65,15,114,240,16                // pslld         $0x10,%xmm8
+  .byte  102,65,15,56,63,249                 // pmaxud        %xmm9,%xmm7
+  .byte  102,65,15,118,249                   // pcmpeqd       %xmm9,%xmm7
+  .byte  102,65,15,114,241,13                // pslld         $0xd,%xmm9
+  .byte  102,69,15,235,200                   // por           %xmm8,%xmm9
+  .byte  102,69,15,254,203                   // paddd         %xmm11,%xmm9
+  .byte  102,65,15,219,249                   // pand          %xmm9,%xmm7
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  242,65,15,16,36,208                 // movsd         (%r8,%rdx,8),%xmm4
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  117,13                              // jne           21b90 <_sk_load_f16_dst_sse41+0x177>
+  .byte  243,15,126,228                      // movq          %xmm4,%xmm4
+  .byte  102,15,239,237                      // pxor          %xmm5,%xmm5
+  .byte  233,176,254,255,255                 // jmpq          21a40 <_sk_load_f16_dst_sse41+0x27>
+  .byte  102,65,15,22,100,208,8              // movhpd        0x8(%r8,%rdx,8),%xmm4
+  .byte  102,15,239,237                      // pxor          %xmm5,%xmm5
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  15,130,155,254,255,255              // jb            21a40 <_sk_load_f16_dst_sse41+0x27>
+  .byte  243,65,15,126,108,208,16            // movq          0x10(%r8,%rdx,8),%xmm5
+  .byte  233,143,254,255,255                 // jmpq          21a40 <_sk_load_f16_dst_sse41+0x27>
+
+HIDDEN _sk_gather_f16_sse41
+.globl _sk_gather_f16_sse41
+FUNCTION(_sk_gather_f16_sse41)
+_sk_gather_f16_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,15,16,80,12                     // movss         0xc(%rax),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  102,69,15,118,192                   // pcmpeqd       %xmm8,%xmm8
+  .byte  102,65,15,254,208                   // paddd         %xmm8,%xmm2
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,95,200                        // maxps         %xmm0,%xmm9
+  .byte  68,15,93,202                        // minps         %xmm2,%xmm9
+  .byte  243,15,16,64,16                     // movss         0x10(%rax),%xmm0
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  102,65,15,254,192                   // paddd         %xmm8,%xmm0
+  .byte  15,95,217                           // maxps         %xmm1,%xmm3
+  .byte  15,93,216                           // minps         %xmm0,%xmm3
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  243,15,91,195                       // cvttps2dq     %xmm3,%xmm0
+  .byte  102,15,110,72,8                     // movd          0x8(%rax),%xmm1
+  .byte  102,15,112,201,0                    // pshufd        $0x0,%xmm1,%xmm1
+  .byte  102,15,56,64,200                    // pmulld        %xmm0,%xmm1
+  .byte  243,65,15,91,193                    // cvttps2dq     %xmm9,%xmm0
+  .byte  102,15,254,193                      // paddd         %xmm1,%xmm0
+  .byte  102,72,15,126,192                   // movq          %xmm0,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  102,73,15,58,22,194,1               // pextrq        $0x1,%xmm0,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  243,67,15,126,4,208                 // movq          (%r8,%r10,8),%xmm0
+  .byte  243,67,15,126,12,216                // movq          (%r8,%r11,8),%xmm1
+  .byte  102,15,108,200                      // punpcklqdq    %xmm0,%xmm1
+  .byte  243,65,15,126,4,192                 // movq          (%r8,%rax,8),%xmm0
+  .byte  243,67,15,126,20,200                // movq          (%r8,%r9,8),%xmm2
+  .byte  102,15,108,208                      // punpcklqdq    %xmm0,%xmm2
+  .byte  102,68,15,111,202                   // movdqa        %xmm2,%xmm9
+  .byte  102,68,15,97,201                    // punpcklwd     %xmm1,%xmm9
+  .byte  102,15,105,209                      // punpckhwd     %xmm1,%xmm2
+  .byte  102,69,15,111,225                   // movdqa        %xmm9,%xmm12
+  .byte  102,68,15,97,226                    // punpcklwd     %xmm2,%xmm12
+  .byte  102,68,15,105,202                   // punpckhwd     %xmm2,%xmm9
+  .byte  102,65,15,56,51,212                 // pmovzxwd      %xmm12,%xmm2
+  .byte  102,68,15,111,5,178,183,1,0         // movdqa        0x1b7b2(%rip),%xmm8        # 3d420 <_sk_srcover_bgra_8888_sse2_lowp+0x11d4>
+  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
+  .byte  102,65,15,219,200                   // pand          %xmm8,%xmm1
+  .byte  102,68,15,111,21,176,183,1,0        // movdqa        0x1b7b0(%rip),%xmm10        # 3d430 <_sk_srcover_bgra_8888_sse2_lowp+0x11e4>
+  .byte  102,65,15,219,210                   // pand          %xmm10,%xmm2
+  .byte  102,15,111,29,179,183,1,0           // movdqa        0x1b7b3(%rip),%xmm3        # 3d440 <_sk_srcover_bgra_8888_sse2_lowp+0x11f4>
+  .byte  102,15,114,241,16                   // pslld         $0x10,%xmm1
+  .byte  102,15,111,194                      // movdqa        %xmm2,%xmm0
+  .byte  102,15,56,63,195                    // pmaxud        %xmm3,%xmm0
+  .byte  102,15,118,194                      // pcmpeqd       %xmm2,%xmm0
+  .byte  102,15,114,242,13                   // pslld         $0xd,%xmm2
+  .byte  102,15,235,209                      // por           %xmm1,%xmm2
+  .byte  102,68,15,111,29,159,183,1,0        // movdqa        0x1b79f(%rip),%xmm11        # 3d450 <_sk_srcover_bgra_8888_sse2_lowp+0x1204>
+  .byte  102,65,15,254,211                   // paddd         %xmm11,%xmm2
+  .byte  102,15,219,194                      // pand          %xmm2,%xmm0
+  .byte  102,65,15,112,204,238               // pshufd        $0xee,%xmm12,%xmm1
+  .byte  102,15,56,51,209                    // pmovzxwd      %xmm1,%xmm2
+  .byte  102,68,15,111,226                   // movdqa        %xmm2,%xmm12
+  .byte  102,69,15,219,224                   // pand          %xmm8,%xmm12
+  .byte  102,65,15,219,210                   // pand          %xmm10,%xmm2
+  .byte  102,65,15,114,244,16                // pslld         $0x10,%xmm12
+  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
+  .byte  102,15,56,63,203                    // pmaxud        %xmm3,%xmm1
+  .byte  102,15,118,202                      // pcmpeqd       %xmm2,%xmm1
+  .byte  102,15,114,242,13                   // pslld         $0xd,%xmm2
+  .byte  102,65,15,235,212                   // por           %xmm12,%xmm2
+  .byte  102,65,15,254,211                   // paddd         %xmm11,%xmm2
+  .byte  102,15,219,202                      // pand          %xmm2,%xmm1
+  .byte  102,69,15,56,51,225                 // pmovzxwd      %xmm9,%xmm12
+  .byte  102,69,15,111,236                   // movdqa        %xmm12,%xmm13
+  .byte  102,69,15,219,232                   // pand          %xmm8,%xmm13
+  .byte  102,69,15,219,226                   // pand          %xmm10,%xmm12
+  .byte  102,65,15,114,245,16                // pslld         $0x10,%xmm13
+  .byte  102,65,15,111,212                   // movdqa        %xmm12,%xmm2
+  .byte  102,15,56,63,211                    // pmaxud        %xmm3,%xmm2
+  .byte  102,65,15,118,212                   // pcmpeqd       %xmm12,%xmm2
+  .byte  102,65,15,114,244,13                // pslld         $0xd,%xmm12
+  .byte  102,69,15,235,229                   // por           %xmm13,%xmm12
+  .byte  102,69,15,254,227                   // paddd         %xmm11,%xmm12
+  .byte  102,65,15,219,212                   // pand          %xmm12,%xmm2
+  .byte  102,69,15,112,201,238               // pshufd        $0xee,%xmm9,%xmm9
+  .byte  102,69,15,56,51,201                 // pmovzxwd      %xmm9,%xmm9
+  .byte  102,69,15,219,193                   // pand          %xmm9,%xmm8
+  .byte  102,69,15,219,202                   // pand          %xmm10,%xmm9
+  .byte  102,65,15,114,240,16                // pslld         $0x10,%xmm8
+  .byte  102,65,15,56,63,217                 // pmaxud        %xmm9,%xmm3
+  .byte  102,65,15,118,217                   // pcmpeqd       %xmm9,%xmm3
+  .byte  102,65,15,114,241,13                // pslld         $0xd,%xmm9
+  .byte  102,69,15,235,200                   // por           %xmm8,%xmm9
+  .byte  102,69,15,254,203                   // paddd         %xmm11,%xmm9
+  .byte  102,65,15,219,217                   // pand          %xmm9,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_store_f16_sse41
+.globl _sk_store_f16_sse41
+FUNCTION(_sk_store_f16_sse41)
+_sk_store_f16_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,3                        // shl           $0x3,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  102,68,15,111,13,205,182,1,0        // movdqa        0x1b6cd(%rip),%xmm9        # 3d460 <_sk_srcover_bgra_8888_sse2_lowp+0x1214>
+  .byte  102,68,15,111,224                   // movdqa        %xmm0,%xmm12
+  .byte  102,69,15,219,225                   // pand          %xmm9,%xmm12
+  .byte  102,68,15,111,29,202,182,1,0        // movdqa        0x1b6ca(%rip),%xmm11        # 3d470 <_sk_srcover_bgra_8888_sse2_lowp+0x1224>
+  .byte  102,68,15,111,232                   // movdqa        %xmm0,%xmm13
+  .byte  102,69,15,219,235                   // pand          %xmm11,%xmm13
+  .byte  102,68,15,111,21,199,182,1,0        // movdqa        0x1b6c7(%rip),%xmm10        # 3d480 <_sk_srcover_bgra_8888_sse2_lowp+0x1234>
+  .byte  102,65,15,114,212,16                // psrld         $0x10,%xmm12
+  .byte  102,69,15,111,197                   // movdqa        %xmm13,%xmm8
+  .byte  102,69,15,56,63,194                 // pmaxud        %xmm10,%xmm8
+  .byte  102,69,15,118,197                   // pcmpeqd       %xmm13,%xmm8
+  .byte  102,65,15,114,213,13                // psrld         $0xd,%xmm13
+  .byte  102,69,15,254,236                   // paddd         %xmm12,%xmm13
+  .byte  102,68,15,111,37,173,182,1,0        // movdqa        0x1b6ad(%rip),%xmm12        # 3d490 <_sk_srcover_bgra_8888_sse2_lowp+0x1244>
+  .byte  102,69,15,254,236                   // paddd         %xmm12,%xmm13
+  .byte  102,69,15,219,197                   // pand          %xmm13,%xmm8
+  .byte  102,68,15,56,43,192                 // packusdw      %xmm0,%xmm8
+  .byte  102,68,15,111,233                   // movdqa        %xmm1,%xmm13
+  .byte  102,69,15,219,233                   // pand          %xmm9,%xmm13
+  .byte  102,68,15,111,241                   // movdqa        %xmm1,%xmm14
+  .byte  102,69,15,219,243                   // pand          %xmm11,%xmm14
+  .byte  102,65,15,114,213,16                // psrld         $0x10,%xmm13
+  .byte  102,69,15,111,254                   // movdqa        %xmm14,%xmm15
+  .byte  102,69,15,56,63,250                 // pmaxud        %xmm10,%xmm15
+  .byte  102,69,15,118,254                   // pcmpeqd       %xmm14,%xmm15
+  .byte  102,65,15,114,214,13                // psrld         $0xd,%xmm14
+  .byte  102,69,15,254,245                   // paddd         %xmm13,%xmm14
+  .byte  102,69,15,254,244                   // paddd         %xmm12,%xmm14
+  .byte  102,69,15,219,254                   // pand          %xmm14,%xmm15
+  .byte  102,68,15,56,43,248                 // packusdw      %xmm0,%xmm15
+  .byte  102,69,15,97,199                    // punpcklwd     %xmm15,%xmm8
+  .byte  102,68,15,111,242                   // movdqa        %xmm2,%xmm14
+  .byte  102,69,15,219,241                   // pand          %xmm9,%xmm14
+  .byte  102,68,15,111,250                   // movdqa        %xmm2,%xmm15
+  .byte  102,69,15,219,251                   // pand          %xmm11,%xmm15
+  .byte  102,65,15,114,214,16                // psrld         $0x10,%xmm14
+  .byte  102,69,15,111,239                   // movdqa        %xmm15,%xmm13
+  .byte  102,69,15,56,63,234                 // pmaxud        %xmm10,%xmm13
+  .byte  102,69,15,118,239                   // pcmpeqd       %xmm15,%xmm13
+  .byte  102,65,15,114,215,13                // psrld         $0xd,%xmm15
+  .byte  102,69,15,254,254                   // paddd         %xmm14,%xmm15
+  .byte  102,69,15,254,252                   // paddd         %xmm12,%xmm15
+  .byte  102,69,15,219,239                   // pand          %xmm15,%xmm13
+  .byte  102,68,15,56,43,232                 // packusdw      %xmm0,%xmm13
+  .byte  102,68,15,219,203                   // pand          %xmm3,%xmm9
+  .byte  102,68,15,219,219                   // pand          %xmm3,%xmm11
+  .byte  102,65,15,114,209,16                // psrld         $0x10,%xmm9
+  .byte  102,69,15,56,63,211                 // pmaxud        %xmm11,%xmm10
+  .byte  102,69,15,118,211                   // pcmpeqd       %xmm11,%xmm10
+  .byte  102,65,15,114,211,13                // psrld         $0xd,%xmm11
+  .byte  102,69,15,254,217                   // paddd         %xmm9,%xmm11
+  .byte  102,69,15,254,220                   // paddd         %xmm12,%xmm11
+  .byte  102,69,15,219,211                   // pand          %xmm11,%xmm10
+  .byte  102,68,15,56,43,208                 // packusdw      %xmm0,%xmm10
+  .byte  102,69,15,97,234                    // punpcklwd     %xmm10,%xmm13
+  .byte  102,69,15,111,200                   // movdqa        %xmm8,%xmm9
+  .byte  102,69,15,98,205                    // punpckldq     %xmm13,%xmm9
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,21                              // jne           21ee1 <_sk_store_f16_sse41+0x168>
+  .byte  69,15,17,12,208                     // movups        %xmm9,(%r8,%rdx,8)
+  .byte  102,69,15,106,197                   // punpckhdq     %xmm13,%xmm8
+  .byte  243,69,15,127,68,208,16             // movdqu        %xmm8,0x10(%r8,%rdx,8)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,69,15,214,12,208                // movq          %xmm9,(%r8,%rdx,8)
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  116,240                             // je            21edd <_sk_store_f16_sse41+0x164>
+  .byte  102,69,15,23,76,208,8               // movhpd        %xmm9,0x8(%r8,%rdx,8)
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  114,227                             // jb            21edd <_sk_store_f16_sse41+0x164>
+  .byte  102,69,15,106,197                   // punpckhdq     %xmm13,%xmm8
+  .byte  102,69,15,214,68,208,16             // movq          %xmm8,0x10(%r8,%rdx,8)
+  .byte  235,213                             // jmp           21edd <_sk_store_f16_sse41+0x164>
+
+HIDDEN _sk_load_u16_be_sse41
+.globl _sk_load_u16_be_sse41
+FUNCTION(_sk_load_u16_be_sse41)
+_sk_load_u16_be_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,141,4,149,0,0,0,0                // lea           0x0(,%rdx,4),%r8
+  .byte  76,99,72,8                          // movslq        0x8(%rax),%r9
+  .byte  76,15,175,201                       // imul          %rcx,%r9
+  .byte  77,1,201                            // add           %r9,%r9
+  .byte  76,3,8                              // add           (%rax),%r9
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,185,0,0,0                    // jne           21fe2 <_sk_load_u16_be_sse41+0xda>
+  .byte  102,67,15,16,4,65                   // movupd        (%r9,%r8,2),%xmm0
+  .byte  243,67,15,111,76,65,16              // movdqu        0x10(%r9,%r8,2),%xmm1
+  .byte  102,15,40,208                       // movapd        %xmm0,%xmm2
+  .byte  102,15,97,209                       // punpcklwd     %xmm1,%xmm2
+  .byte  102,15,105,193                      // punpckhwd     %xmm1,%xmm0
+  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
+  .byte  102,15,97,200                       // punpcklwd     %xmm0,%xmm1
+  .byte  102,15,105,208                      // punpckhwd     %xmm0,%xmm2
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,15,113,240,8                    // psllw         $0x8,%xmm0
+  .byte  102,15,112,217,78                   // pshufd        $0x4e,%xmm1,%xmm3
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,235,200                      // por           %xmm0,%xmm1
+  .byte  102,15,56,51,193                    // pmovzxwd      %xmm1,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  68,15,40,5,59,178,1,0               // movaps        0x1b23b(%rip),%xmm8        # 3d1b0 <_sk_srcover_bgra_8888_sse2_lowp+0xf64>
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
+  .byte  102,15,113,241,8                    // psllw         $0x8,%xmm1
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  102,15,235,217                      // por           %xmm1,%xmm3
+  .byte  102,15,56,51,203                    // pmovzxwd      %xmm3,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
+  .byte  102,68,15,111,202                   // movdqa        %xmm2,%xmm9
+  .byte  102,65,15,113,241,8                 // psllw         $0x8,%xmm9
+  .byte  102,15,112,218,78                   // pshufd        $0x4e,%xmm2,%xmm3
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,65,15,235,209                   // por           %xmm9,%xmm2
+  .byte  102,15,56,51,210                    // pmovzxwd      %xmm2,%xmm2
+  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
+  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
+  .byte  102,68,15,111,203                   // movdqa        %xmm3,%xmm9
+  .byte  102,65,15,113,241,8                 // psllw         $0x8,%xmm9
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  102,65,15,235,217                   // por           %xmm9,%xmm3
+  .byte  102,15,56,51,219                    // pmovzxwd      %xmm3,%xmm3
+  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
+  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  242,67,15,16,4,65                   // movsd         (%r9,%r8,2),%xmm0
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  117,13                              // jne           21ffb <_sk_load_u16_be_sse41+0xf3>
+  .byte  243,15,126,192                      // movq          %xmm0,%xmm0
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  233,59,255,255,255                  // jmpq          21f36 <_sk_load_u16_be_sse41+0x2e>
+  .byte  102,67,15,22,68,65,8                // movhpd        0x8(%r9,%r8,2),%xmm0
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  15,130,38,255,255,255               // jb            21f36 <_sk_load_u16_be_sse41+0x2e>
+  .byte  243,67,15,126,76,65,16              // movq          0x10(%r9,%r8,2),%xmm1
+  .byte  233,26,255,255,255                  // jmpq          21f36 <_sk_load_u16_be_sse41+0x2e>
+
+HIDDEN _sk_load_rgb_u16_be_sse41
+.globl _sk_load_rgb_u16_be_sse41
+FUNCTION(_sk_load_rgb_u16_be_sse41)
+_sk_load_rgb_u16_be_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,141,4,82                         // lea           (%rdx,%rdx,2),%r8
+  .byte  76,99,72,8                          // movslq        0x8(%rax),%r9
+  .byte  76,15,175,201                       // imul          %rcx,%r9
+  .byte  77,1,201                            // add           %r9,%r9
+  .byte  76,3,8                              // add           (%rax),%r9
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,170,0,0,0                    // jne           220e3 <_sk_load_rgb_u16_be_sse41+0xc7>
+  .byte  243,67,15,111,20,65                 // movdqu        (%r9,%r8,2),%xmm2
+  .byte  243,67,15,111,92,65,8               // movdqu        0x8(%r9,%r8,2),%xmm3
+  .byte  102,15,115,219,4                    // psrldq        $0x4,%xmm3
+  .byte  102,15,111,194                      // movdqa        %xmm2,%xmm0
+  .byte  102,15,115,216,6                    // psrldq        $0x6,%xmm0
+  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
+  .byte  102,15,115,217,6                    // psrldq        $0x6,%xmm1
+  .byte  102,15,97,193                       // punpcklwd     %xmm1,%xmm0
+  .byte  102,15,97,211                       // punpcklwd     %xmm3,%xmm2
+  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
+  .byte  102,15,97,200                       // punpcklwd     %xmm0,%xmm1
+  .byte  102,15,112,217,78                   // pshufd        $0x4e,%xmm1,%xmm3
+  .byte  102,15,105,208                      // punpckhwd     %xmm0,%xmm2
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,15,113,240,8                    // psllw         $0x8,%xmm0
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,235,200                      // por           %xmm0,%xmm1
+  .byte  102,15,56,51,193                    // pmovzxwd      %xmm1,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  68,15,40,5,24,177,1,0               // movaps        0x1b118(%rip),%xmm8        # 3d1b0 <_sk_srcover_bgra_8888_sse2_lowp+0xf64>
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
+  .byte  102,15,113,241,8                    // psllw         $0x8,%xmm1
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  102,15,235,217                      // por           %xmm1,%xmm3
+  .byte  102,15,56,51,203                    // pmovzxwd      %xmm3,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
+  .byte  102,15,111,218                      // movdqa        %xmm2,%xmm3
+  .byte  102,15,113,243,8                    // psllw         $0x8,%xmm3
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,235,211                      // por           %xmm3,%xmm2
+  .byte  102,15,56,51,210                    // pmovzxwd      %xmm2,%xmm2
+  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
+  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,29,47,174,1,0                 // movaps        0x1ae2f(%rip),%xmm3        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,67,15,110,20,65                 // movd          (%r9,%r8,2),%xmm2
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  102,67,15,196,84,65,4,2             // pinsrw        $0x2,0x4(%r9,%r8,2),%xmm2
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  117,13                              // jne           22108 <_sk_load_rgb_u16_be_sse41+0xec>
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  233,85,255,255,255                  // jmpq          2205d <_sk_load_rgb_u16_be_sse41+0x41>
+  .byte  102,67,15,110,68,65,6               // movd          0x6(%r9,%r8,2),%xmm0
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  102,67,15,196,68,65,10,2            // pinsrw        $0x2,0xa(%r9,%r8,2),%xmm0
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  114,24                              // jb            22139 <_sk_load_rgb_u16_be_sse41+0x11d>
+  .byte  102,67,15,110,92,65,12              // movd          0xc(%r9,%r8,2),%xmm3
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  102,67,15,196,92,65,16,2            // pinsrw        $0x2,0x10(%r9,%r8,2),%xmm3
+  .byte  233,36,255,255,255                  // jmpq          2205d <_sk_load_rgb_u16_be_sse41+0x41>
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  233,27,255,255,255                  // jmpq          2205d <_sk_load_rgb_u16_be_sse41+0x41>
+
+HIDDEN _sk_store_u16_be_sse41
+.globl _sk_store_u16_be_sse41
+FUNCTION(_sk_store_u16_be_sse41)
+_sk_store_u16_be_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,141,4,149,0,0,0,0                // lea           0x0(,%rdx,4),%r8
+  .byte  76,99,72,8                          // movslq        0x8(%rax),%r9
+  .byte  76,15,175,201                       // imul          %rcx,%r9
+  .byte  77,1,201                            // add           %r9,%r9
+  .byte  76,3,8                              // add           (%rax),%r9
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  68,15,95,192                        // maxps         %xmm0,%xmm8
+  .byte  68,15,40,21,162,173,1,0             // movaps        0x1ada2(%rip),%xmm10        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,93,194                        // minps         %xmm10,%xmm8
+  .byte  68,15,40,29,38,179,1,0              // movaps        0x1b326(%rip),%xmm11        # 3d4a0 <_sk_srcover_bgra_8888_sse2_lowp+0x1254>
+  .byte  69,15,89,195                        // mulps         %xmm11,%xmm8
+  .byte  102,69,15,91,192                    // cvtps2dq      %xmm8,%xmm8
+  .byte  102,68,15,56,43,192                 // packusdw      %xmm0,%xmm8
+  .byte  102,69,15,111,224                   // movdqa        %xmm8,%xmm12
+  .byte  102,65,15,113,244,8                 // psllw         $0x8,%xmm12
+  .byte  102,65,15,113,208,8                 // psrlw         $0x8,%xmm8
+  .byte  102,69,15,235,196                   // por           %xmm12,%xmm8
+  .byte  102,69,15,239,228                   // pxor          %xmm12,%xmm12
+  .byte  68,15,95,225                        // maxps         %xmm1,%xmm12
+  .byte  69,15,93,226                        // minps         %xmm10,%xmm12
+  .byte  69,15,89,227                        // mulps         %xmm11,%xmm12
+  .byte  102,69,15,91,228                    // cvtps2dq      %xmm12,%xmm12
+  .byte  102,68,15,56,43,224                 // packusdw      %xmm0,%xmm12
+  .byte  102,69,15,111,236                   // movdqa        %xmm12,%xmm13
+  .byte  102,65,15,113,245,8                 // psllw         $0x8,%xmm13
+  .byte  102,65,15,113,212,8                 // psrlw         $0x8,%xmm12
+  .byte  102,69,15,235,229                   // por           %xmm13,%xmm12
+  .byte  102,69,15,97,196                    // punpcklwd     %xmm12,%xmm8
+  .byte  102,69,15,239,228                   // pxor          %xmm12,%xmm12
+  .byte  68,15,95,226                        // maxps         %xmm2,%xmm12
+  .byte  69,15,93,226                        // minps         %xmm10,%xmm12
+  .byte  69,15,89,227                        // mulps         %xmm11,%xmm12
+  .byte  102,69,15,91,228                    // cvtps2dq      %xmm12,%xmm12
+  .byte  102,68,15,56,43,224                 // packusdw      %xmm0,%xmm12
+  .byte  102,69,15,111,236                   // movdqa        %xmm12,%xmm13
+  .byte  102,65,15,113,245,8                 // psllw         $0x8,%xmm13
+  .byte  102,65,15,113,212,8                 // psrlw         $0x8,%xmm12
+  .byte  102,69,15,235,229                   // por           %xmm13,%xmm12
+  .byte  68,15,95,203                        // maxps         %xmm3,%xmm9
+  .byte  69,15,93,202                        // minps         %xmm10,%xmm9
+  .byte  69,15,89,203                        // mulps         %xmm11,%xmm9
+  .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
+  .byte  102,68,15,56,43,200                 // packusdw      %xmm0,%xmm9
+  .byte  102,69,15,111,209                   // movdqa        %xmm9,%xmm10
+  .byte  102,65,15,113,242,8                 // psllw         $0x8,%xmm10
+  .byte  102,65,15,113,209,8                 // psrlw         $0x8,%xmm9
+  .byte  102,69,15,235,202                   // por           %xmm10,%xmm9
+  .byte  102,69,15,97,225                    // punpcklwd     %xmm9,%xmm12
+  .byte  102,69,15,111,200                   // movdqa        %xmm8,%xmm9
+  .byte  102,69,15,98,204                    // punpckldq     %xmm12,%xmm9
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,21                              // jne           2225e <_sk_store_u16_be_sse41+0x11c>
+  .byte  71,15,17,12,65                      // movups        %xmm9,(%r9,%r8,2)
+  .byte  102,69,15,106,196                   // punpckhdq     %xmm12,%xmm8
+  .byte  243,71,15,127,68,65,16              // movdqu        %xmm8,0x10(%r9,%r8,2)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,71,15,214,12,65                 // movq          %xmm9,(%r9,%r8,2)
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  116,240                             // je            2225a <_sk_store_u16_be_sse41+0x118>
+  .byte  102,71,15,23,76,65,8                // movhpd        %xmm9,0x8(%r9,%r8,2)
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  114,227                             // jb            2225a <_sk_store_u16_be_sse41+0x118>
+  .byte  102,69,15,106,196                   // punpckhdq     %xmm12,%xmm8
+  .byte  102,71,15,214,68,65,16              // movq          %xmm8,0x10(%r9,%r8,2)
+  .byte  235,213                             // jmp           2225a <_sk_store_u16_be_sse41+0x118>
+
+HIDDEN _sk_load_f32_sse41
+.globl _sk_load_f32_sse41
+FUNCTION(_sk_load_f32_sse41)
+_sk_load_f32_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,141,4,149,0,0,0,0                // lea           0x0(,%rdx,4),%r8
+  .byte  76,99,72,8                          // movslq        0x8(%rax),%r9
+  .byte  76,15,175,201                       // imul          %rcx,%r9
+  .byte  73,193,225,2                        // shl           $0x2,%r9
+  .byte  76,3,8                              // add           (%rax),%r9
+  .byte  72,137,208                          // mov           %rdx,%rax
+  .byte  72,193,224,4                        // shl           $0x4,%rax
+  .byte  70,15,16,4,8                        // movups        (%rax,%r9,1),%xmm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,66                              // jne           222f1 <_sk_load_f32_sse41+0x6c>
+  .byte  67,15,16,68,129,16                  // movups        0x10(%r9,%r8,4),%xmm0
+  .byte  67,15,16,92,129,32                  // movups        0x20(%r9,%r8,4),%xmm3
+  .byte  71,15,16,76,129,48                  // movups        0x30(%r9,%r8,4),%xmm9
+  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
+  .byte  15,20,208                           // unpcklps      %xmm0,%xmm2
+  .byte  15,40,203                           // movaps        %xmm3,%xmm1
+  .byte  65,15,20,201                        // unpcklps      %xmm9,%xmm1
+  .byte  68,15,21,192                        // unpckhps      %xmm0,%xmm8
+  .byte  65,15,21,217                        // unpckhps      %xmm9,%xmm3
+  .byte  15,40,194                           // movaps        %xmm2,%xmm0
+  .byte  102,15,20,193                       // unpcklpd      %xmm1,%xmm0
+  .byte  15,18,202                           // movhlps       %xmm2,%xmm1
+  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
+  .byte  102,15,20,211                       // unpcklpd      %xmm3,%xmm2
+  .byte  65,15,18,216                        // movhlps       %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  117,8                               // jne           22303 <_sk_load_f32_sse41+0x7e>
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  235,190                             // jmp           222c1 <_sk_load_f32_sse41+0x3c>
+  .byte  67,15,16,68,129,16                  // movups        0x10(%r9,%r8,4),%xmm0
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  114,8                               // jb            22317 <_sk_load_f32_sse41+0x92>
+  .byte  67,15,16,92,129,32                  // movups        0x20(%r9,%r8,4),%xmm3
+  .byte  235,170                             // jmp           222c1 <_sk_load_f32_sse41+0x3c>
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  235,165                             // jmp           222c1 <_sk_load_f32_sse41+0x3c>
+
+HIDDEN _sk_load_f32_dst_sse41
+.globl _sk_load_f32_dst_sse41
+FUNCTION(_sk_load_f32_dst_sse41)
+_sk_load_f32_dst_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,141,4,149,0,0,0,0                // lea           0x0(,%rdx,4),%r8
+  .byte  76,99,72,8                          // movslq        0x8(%rax),%r9
+  .byte  76,15,175,201                       // imul          %rcx,%r9
+  .byte  73,193,225,2                        // shl           $0x2,%r9
+  .byte  76,3,8                              // add           (%rax),%r9
+  .byte  72,137,208                          // mov           %rdx,%rax
+  .byte  72,193,224,4                        // shl           $0x4,%rax
+  .byte  70,15,16,4,8                        // movups        (%rax,%r9,1),%xmm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,66                              // jne           22388 <_sk_load_f32_dst_sse41+0x6c>
+  .byte  67,15,16,100,129,16                 // movups        0x10(%r9,%r8,4),%xmm4
+  .byte  67,15,16,124,129,32                 // movups        0x20(%r9,%r8,4),%xmm7
+  .byte  71,15,16,76,129,48                  // movups        0x30(%r9,%r8,4),%xmm9
+  .byte  65,15,40,240                        // movaps        %xmm8,%xmm6
+  .byte  15,20,244                           // unpcklps      %xmm4,%xmm6
+  .byte  15,40,239                           // movaps        %xmm7,%xmm5
+  .byte  65,15,20,233                        // unpcklps      %xmm9,%xmm5
+  .byte  68,15,21,196                        // unpckhps      %xmm4,%xmm8
+  .byte  65,15,21,249                        // unpckhps      %xmm9,%xmm7
+  .byte  15,40,230                           // movaps        %xmm6,%xmm4
+  .byte  102,15,20,229                       // unpcklpd      %xmm5,%xmm4
+  .byte  15,18,238                           // movhlps       %xmm6,%xmm5
+  .byte  65,15,40,240                        // movaps        %xmm8,%xmm6
+  .byte  102,15,20,247                       // unpcklpd      %xmm7,%xmm6
+  .byte  65,15,18,248                        // movhlps       %xmm8,%xmm7
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  117,8                               // jne           2239a <_sk_load_f32_dst_sse41+0x7e>
+  .byte  15,87,255                           // xorps         %xmm7,%xmm7
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  235,190                             // jmp           22358 <_sk_load_f32_dst_sse41+0x3c>
+  .byte  67,15,16,100,129,16                 // movups        0x10(%r9,%r8,4),%xmm4
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  114,8                               // jb            223ae <_sk_load_f32_dst_sse41+0x92>
+  .byte  67,15,16,124,129,32                 // movups        0x20(%r9,%r8,4),%xmm7
+  .byte  235,170                             // jmp           22358 <_sk_load_f32_dst_sse41+0x3c>
+  .byte  15,87,255                           // xorps         %xmm7,%xmm7
+  .byte  235,165                             // jmp           22358 <_sk_load_f32_dst_sse41+0x3c>
+
+HIDDEN _sk_store_f32_sse41
+.globl _sk_store_f32_sse41
+FUNCTION(_sk_store_f32_sse41)
+_sk_store_f32_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,141,4,149,0,0,0,0                // lea           0x0(,%rdx,4),%r8
+  .byte  76,99,72,8                          // movslq        0x8(%rax),%r9
+  .byte  76,15,175,201                       // imul          %rcx,%r9
+  .byte  73,193,225,2                        // shl           $0x2,%r9
+  .byte  76,3,8                              // add           (%rax),%r9
+  .byte  72,137,208                          // mov           %rdx,%rax
+  .byte  72,193,224,4                        // shl           $0x4,%rax
+  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
+  .byte  68,15,20,201                        // unpcklps      %xmm1,%xmm9
+  .byte  68,15,40,194                        // movaps        %xmm2,%xmm8
+  .byte  68,15,20,195                        // unpcklps      %xmm3,%xmm8
+  .byte  68,15,40,208                        // movaps        %xmm0,%xmm10
+  .byte  68,15,21,209                        // unpckhps      %xmm1,%xmm10
+  .byte  68,15,40,218                        // movaps        %xmm2,%xmm11
+  .byte  68,15,21,219                        // unpckhps      %xmm3,%xmm11
+  .byte  69,15,40,225                        // movaps        %xmm9,%xmm12
+  .byte  102,69,15,20,224                    // unpcklpd      %xmm8,%xmm12
+  .byte  69,15,18,193                        // movhlps       %xmm9,%xmm8
+  .byte  69,15,40,202                        // movaps        %xmm10,%xmm9
+  .byte  102,69,15,20,203                    // unpcklpd      %xmm11,%xmm9
+  .byte  102,70,15,17,36,8                   // movupd        %xmm12,(%rax,%r9,1)
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,29                              // jne           22431 <_sk_store_f32_sse41+0x7e>
+  .byte  102,69,15,21,211                    // unpckhpd      %xmm11,%xmm10
+  .byte  71,15,17,68,129,16                  // movups        %xmm8,0x10(%r9,%r8,4)
+  .byte  102,71,15,17,76,129,32              // movupd        %xmm9,0x20(%r9,%r8,4)
+  .byte  102,71,15,17,84,129,48              // movupd        %xmm10,0x30(%r9,%r8,4)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  116,246                             // je            2242d <_sk_store_f32_sse41+0x7a>
+  .byte  71,15,17,68,129,16                  // movups        %xmm8,0x10(%r9,%r8,4)
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  114,234                             // jb            2242d <_sk_store_f32_sse41+0x7a>
+  .byte  102,71,15,17,76,129,32              // movupd        %xmm9,0x20(%r9,%r8,4)
+  .byte  235,225                             // jmp           2242d <_sk_store_f32_sse41+0x7a>
+
+HIDDEN _sk_repeat_x_sse41
+.globl _sk_repeat_x_sse41
+FUNCTION(_sk_repeat_x_sse41)
+_sk_repeat_x_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,0                      // movss         (%rax),%xmm8
+  .byte  243,68,15,16,72,4                   // movss         0x4(%rax),%xmm9
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  68,15,89,200                        // mulps         %xmm0,%xmm9
+  .byte  102,69,15,58,8,201,1                // roundps       $0x1,%xmm9,%xmm9
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
+  .byte  65,15,92,192                        // subps         %xmm8,%xmm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_repeat_y_sse41
+.globl _sk_repeat_y_sse41
+FUNCTION(_sk_repeat_y_sse41)
+_sk_repeat_y_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,0                      // movss         (%rax),%xmm8
+  .byte  243,68,15,16,72,4                   // movss         0x4(%rax),%xmm9
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  68,15,89,201                        // mulps         %xmm1,%xmm9
+  .byte  102,69,15,58,8,201,1                // roundps       $0x1,%xmm9,%xmm9
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
+  .byte  65,15,92,200                        // subps         %xmm8,%xmm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_mirror_x_sse41
+.globl _sk_mirror_x_sse41
+FUNCTION(_sk_mirror_x_sse41)
+_sk_mirror_x_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,0                      // movss         (%rax),%xmm8
+  .byte  243,68,15,16,72,4                   // movss         0x4(%rax),%xmm9
+  .byte  69,15,40,208                        // movaps        %xmm8,%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  65,15,92,194                        // subps         %xmm10,%xmm0
+  .byte  243,69,15,88,192                    // addss         %xmm8,%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  243,68,15,89,13,35,160,1,0          // mulss         0x1a023(%rip),%xmm9        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  68,15,89,200                        // mulps         %xmm0,%xmm9
+  .byte  102,69,15,58,8,201,1                // roundps       $0x1,%xmm9,%xmm9
+  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
+  .byte  65,15,92,193                        // subps         %xmm9,%xmm0
+  .byte  65,15,92,194                        // subps         %xmm10,%xmm0
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  68,15,92,192                        // subps         %xmm0,%xmm8
+  .byte  65,15,84,192                        // andps         %xmm8,%xmm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_mirror_y_sse41
+.globl _sk_mirror_y_sse41
+FUNCTION(_sk_mirror_y_sse41)
+_sk_mirror_y_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,0                      // movss         (%rax),%xmm8
+  .byte  243,68,15,16,72,4                   // movss         0x4(%rax),%xmm9
+  .byte  69,15,40,208                        // movaps        %xmm8,%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  65,15,92,202                        // subps         %xmm10,%xmm1
+  .byte  243,69,15,88,192                    // addss         %xmm8,%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  243,68,15,89,13,202,159,1,0         // mulss         0x19fca(%rip),%xmm9        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  68,15,89,201                        // mulps         %xmm1,%xmm9
+  .byte  102,69,15,58,8,201,1                // roundps       $0x1,%xmm9,%xmm9
+  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
+  .byte  65,15,92,201                        // subps         %xmm9,%xmm1
+  .byte  65,15,92,202                        // subps         %xmm10,%xmm1
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  68,15,92,193                        // subps         %xmm1,%xmm8
+  .byte  65,15,84,200                        // andps         %xmm8,%xmm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_clamp_x_1_sse41
+.globl _sk_clamp_x_1_sse41
+FUNCTION(_sk_clamp_x_1_sse41)
+_sk_clamp_x_1_sse41:
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  68,15,95,192                        // maxps         %xmm0,%xmm8
+  .byte  68,15,93,5,166,169,1,0              // minps         0x1a9a6(%rip),%xmm8        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_repeat_x_1_sse41
+.globl _sk_repeat_x_1_sse41
+FUNCTION(_sk_repeat_x_1_sse41)
+_sk_repeat_x_1_sse41:
+  .byte  102,68,15,58,8,192,1                // roundps       $0x1,%xmm0,%xmm8
+  .byte  65,15,92,192                        // subps         %xmm8,%xmm0
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  68,15,95,192                        // maxps         %xmm0,%xmm8
+  .byte  68,15,93,5,131,169,1,0              // minps         0x1a983(%rip),%xmm8        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_mirror_x_1_sse41
+.globl _sk_mirror_x_1_sse41
+FUNCTION(_sk_mirror_x_1_sse41)
+_sk_mirror_x_1_sse41:
+  .byte  68,15,40,5,211,169,1,0              // movaps        0x1a9d3(%rip),%xmm8        # 3cf70 <_sk_srcover_bgra_8888_sse2_lowp+0xd24>
+  .byte  65,15,88,192                        // addps         %xmm8,%xmm0
+  .byte  68,15,40,13,87,169,1,0              // movaps        0x1a957(%rip),%xmm9        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  68,15,89,200                        // mulps         %xmm0,%xmm9
+  .byte  102,69,15,58,8,201,1                // roundps       $0x1,%xmm9,%xmm9
+  .byte  69,15,88,201                        // addps         %xmm9,%xmm9
+  .byte  65,15,92,193                        // subps         %xmm9,%xmm0
+  .byte  65,15,88,192                        // addps         %xmm8,%xmm0
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,92,200                        // subps         %xmm0,%xmm9
+  .byte  68,15,84,200                        // andps         %xmm0,%xmm9
+  .byte  69,15,95,193                        // maxps         %xmm9,%xmm8
+  .byte  68,15,93,5,52,169,1,0               // minps         0x1a934(%rip),%xmm8        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_decal_x_sse41
+.globl _sk_decal_x_sse41
+FUNCTION(_sk_decal_x_sse41)
+_sk_decal_x_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  68,15,194,192,2                     // cmpleps       %xmm0,%xmm8
+  .byte  243,68,15,16,72,64                  // movss         0x40(%rax),%xmm9
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  68,15,40,208                        // movaps        %xmm0,%xmm10
+  .byte  69,15,194,209,1                     // cmpltps       %xmm9,%xmm10
+  .byte  69,15,84,208                        // andps         %xmm8,%xmm10
+  .byte  68,15,17,16                         // movups        %xmm10,(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_decal_y_sse41
+.globl _sk_decal_y_sse41
+FUNCTION(_sk_decal_y_sse41)
+_sk_decal_y_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  68,15,194,193,2                     // cmpleps       %xmm1,%xmm8
+  .byte  243,68,15,16,72,68                  // movss         0x44(%rax),%xmm9
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  68,15,40,209                        // movaps        %xmm1,%xmm10
+  .byte  69,15,194,209,1                     // cmpltps       %xmm9,%xmm10
+  .byte  69,15,84,208                        // andps         %xmm8,%xmm10
+  .byte  68,15,17,16                         // movups        %xmm10,(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_decal_x_and_y_sse41
+.globl _sk_decal_x_and_y_sse41
+FUNCTION(_sk_decal_x_and_y_sse41)
+_sk_decal_x_and_y_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,194,200,2                     // cmpleps       %xmm0,%xmm9
+  .byte  243,68,15,16,80,64                  // movss         0x40(%rax),%xmm10
+  .byte  243,68,15,16,88,68                  // movss         0x44(%rax),%xmm11
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  68,15,40,224                        // movaps        %xmm0,%xmm12
+  .byte  69,15,194,226,1                     // cmpltps       %xmm10,%xmm12
+  .byte  68,15,194,193,2                     // cmpleps       %xmm1,%xmm8
+  .byte  69,15,84,193                        // andps         %xmm9,%xmm8
+  .byte  69,15,84,196                        // andps         %xmm12,%xmm8
+  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
+  .byte  68,15,40,201                        // movaps        %xmm1,%xmm9
+  .byte  69,15,194,203,1                     // cmpltps       %xmm11,%xmm9
+  .byte  69,15,84,200                        // andps         %xmm8,%xmm9
+  .byte  68,15,17,8                          // movups        %xmm9,(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_check_decal_mask_sse41
+.globl _sk_check_decal_mask_sse41
+FUNCTION(_sk_check_decal_mask_sse41)
+_sk_check_decal_mask_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  68,15,16,0                          // movups        (%rax),%xmm8
+  .byte  65,15,84,192                        // andps         %xmm8,%xmm0
+  .byte  65,15,84,200                        // andps         %xmm8,%xmm1
+  .byte  65,15,84,208                        // andps         %xmm8,%xmm2
+  .byte  65,15,84,216                        // andps         %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_luminance_to_alpha_sse41
+.globl _sk_luminance_to_alpha_sse41
+FUNCTION(_sk_luminance_to_alpha_sse41)
+_sk_luminance_to_alpha_sse41:
+  .byte  15,40,218                           // movaps        %xmm2,%xmm3
+  .byte  15,89,5,2,174,1,0                   // mulps         0x1ae02(%rip),%xmm0        # 3d4b0 <_sk_srcover_bgra_8888_sse2_lowp+0x1264>
+  .byte  15,89,13,11,174,1,0                 // mulps         0x1ae0b(%rip),%xmm1        # 3d4c0 <_sk_srcover_bgra_8888_sse2_lowp+0x1274>
+  .byte  15,88,200                           // addps         %xmm0,%xmm1
+  .byte  15,89,29,17,174,1,0                 // mulps         0x1ae11(%rip),%xmm3        # 3d4d0 <_sk_srcover_bgra_8888_sse2_lowp+0x1284>
+  .byte  15,88,217                           // addps         %xmm1,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  15,87,201                           // xorps         %xmm1,%xmm1
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_translate_sse41
+.globl _sk_matrix_translate_sse41
+FUNCTION(_sk_matrix_translate_sse41)
+_sk_matrix_translate_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,0                      // movss         (%rax),%xmm8
+  .byte  243,68,15,16,72,4                   // movss         0x4(%rax),%xmm9
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  65,15,88,192                        // addps         %xmm8,%xmm0
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  65,15,88,201                        // addps         %xmm9,%xmm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_scale_translate_sse41
+.globl _sk_matrix_scale_translate_sse41
+FUNCTION(_sk_matrix_scale_translate_sse41)
+_sk_matrix_scale_translate_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,0                      // movss         (%rax),%xmm8
+  .byte  243,68,15,16,72,4                   // movss         0x4(%rax),%xmm9
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  243,68,15,16,80,8                   // movss         0x8(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  65,15,88,194                        // addps         %xmm10,%xmm0
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  243,68,15,16,64,12                  // movss         0xc(%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  65,15,89,201                        // mulps         %xmm9,%xmm1
+  .byte  65,15,88,200                        // addps         %xmm8,%xmm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_2x3_sse41
+.globl _sk_matrix_2x3_sse41
+FUNCTION(_sk_matrix_2x3_sse41)
+_sk_matrix_2x3_sse41:
+  .byte  68,15,40,201                        // movaps        %xmm1,%xmm9
+  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,15,16,0                         // movss         (%rax),%xmm0
+  .byte  243,15,16,72,4                      // movss         0x4(%rax),%xmm1
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  243,68,15,16,80,8                   // movss         0x8(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  243,68,15,16,88,16                  // movss         0x10(%rax),%xmm11
+  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
+  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
+  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  65,15,88,194                        // addps         %xmm10,%xmm0
+  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
+  .byte  243,68,15,16,80,12                  // movss         0xc(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  243,68,15,16,88,20                  // movss         0x14(%rax),%xmm11
+  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
+  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
+  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
+  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
+  .byte  65,15,88,202                        // addps         %xmm10,%xmm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_3x4_sse41
+.globl _sk_matrix_3x4_sse41
+FUNCTION(_sk_matrix_3x4_sse41)
+_sk_matrix_3x4_sse41:
+  .byte  68,15,40,201                        // movaps        %xmm1,%xmm9
+  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,15,16,0                         // movss         (%rax),%xmm0
+  .byte  243,15,16,72,4                      // movss         0x4(%rax),%xmm1
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  243,68,15,16,80,12                  // movss         0xc(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  243,68,15,16,88,24                  // movss         0x18(%rax),%xmm11
+  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
+  .byte  243,68,15,16,96,36                  // movss         0x24(%rax),%xmm12
+  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
+  .byte  68,15,89,218                        // mulps         %xmm2,%xmm11
+  .byte  69,15,88,220                        // addps         %xmm12,%xmm11
+  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
+  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  65,15,88,194                        // addps         %xmm10,%xmm0
+  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
+  .byte  243,68,15,16,80,16                  // movss         0x10(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  243,68,15,16,88,28                  // movss         0x1c(%rax),%xmm11
+  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
+  .byte  243,68,15,16,96,40                  // movss         0x28(%rax),%xmm12
+  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
+  .byte  68,15,89,218                        // mulps         %xmm2,%xmm11
+  .byte  69,15,88,220                        // addps         %xmm12,%xmm11
+  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
+  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
+  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
+  .byte  65,15,88,202                        // addps         %xmm10,%xmm1
+  .byte  243,68,15,16,80,8                   // movss         0x8(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  243,68,15,16,88,20                  // movss         0x14(%rax),%xmm11
+  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
+  .byte  243,68,15,16,96,32                  // movss         0x20(%rax),%xmm12
+  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
+  .byte  243,68,15,16,104,44                 // movss         0x2c(%rax),%xmm13
+  .byte  69,15,198,237,0                     // shufps        $0x0,%xmm13,%xmm13
+  .byte  68,15,89,226                        // mulps         %xmm2,%xmm12
+  .byte  69,15,88,229                        // addps         %xmm13,%xmm12
+  .byte  69,15,89,217                        // mulps         %xmm9,%xmm11
+  .byte  69,15,88,220                        // addps         %xmm12,%xmm11
+  .byte  69,15,89,208                        // mulps         %xmm8,%xmm10
+  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,210                        // movaps        %xmm10,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_4x5_sse41
+.globl _sk_matrix_4x5_sse41
+FUNCTION(_sk_matrix_4x5_sse41)
+_sk_matrix_4x5_sse41:
+  .byte  68,15,40,201                        // movaps        %xmm1,%xmm9
+  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,15,16,0                         // movss         (%rax),%xmm0
+  .byte  243,15,16,72,4                      // movss         0x4(%rax),%xmm1
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  243,68,15,16,80,16                  // movss         0x10(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  243,68,15,16,88,32                  // movss         0x20(%rax),%xmm11
+  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
+  .byte  243,68,15,16,96,48                  // movss         0x30(%rax),%xmm12
+  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
+  .byte  243,68,15,16,104,64                 // movss         0x40(%rax),%xmm13
+  .byte  69,15,198,237,0                     // shufps        $0x0,%xmm13,%xmm13
+  .byte  68,15,89,227                        // mulps         %xmm3,%xmm12
+  .byte  69,15,88,229                        // addps         %xmm13,%xmm12
+  .byte  68,15,89,218                        // mulps         %xmm2,%xmm11
+  .byte  69,15,88,220                        // addps         %xmm12,%xmm11
+  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
+  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  65,15,88,194                        // addps         %xmm10,%xmm0
+  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
+  .byte  243,68,15,16,80,20                  // movss         0x14(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  243,68,15,16,88,36                  // movss         0x24(%rax),%xmm11
+  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
+  .byte  243,68,15,16,96,52                  // movss         0x34(%rax),%xmm12
+  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
+  .byte  243,68,15,16,104,68                 // movss         0x44(%rax),%xmm13
+  .byte  69,15,198,237,0                     // shufps        $0x0,%xmm13,%xmm13
+  .byte  68,15,89,227                        // mulps         %xmm3,%xmm12
+  .byte  69,15,88,229                        // addps         %xmm13,%xmm12
+  .byte  68,15,89,218                        // mulps         %xmm2,%xmm11
+  .byte  69,15,88,220                        // addps         %xmm12,%xmm11
+  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
+  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
+  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
+  .byte  65,15,88,202                        // addps         %xmm10,%xmm1
+  .byte  243,68,15,16,80,8                   // movss         0x8(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  243,68,15,16,88,24                  // movss         0x18(%rax),%xmm11
+  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
+  .byte  243,68,15,16,96,40                  // movss         0x28(%rax),%xmm12
+  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
+  .byte  243,68,15,16,104,56                 // movss         0x38(%rax),%xmm13
+  .byte  69,15,198,237,0                     // shufps        $0x0,%xmm13,%xmm13
+  .byte  243,68,15,16,112,72                 // movss         0x48(%rax),%xmm14
+  .byte  69,15,198,246,0                     // shufps        $0x0,%xmm14,%xmm14
+  .byte  68,15,89,235                        // mulps         %xmm3,%xmm13
+  .byte  69,15,88,238                        // addps         %xmm14,%xmm13
+  .byte  68,15,89,226                        // mulps         %xmm2,%xmm12
+  .byte  69,15,88,229                        // addps         %xmm13,%xmm12
+  .byte  69,15,89,217                        // mulps         %xmm9,%xmm11
+  .byte  69,15,88,220                        // addps         %xmm12,%xmm11
+  .byte  69,15,89,208                        // mulps         %xmm8,%xmm10
+  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
+  .byte  243,68,15,16,88,12                  // movss         0xc(%rax),%xmm11
+  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
+  .byte  243,68,15,16,96,28                  // movss         0x1c(%rax),%xmm12
+  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
+  .byte  243,68,15,16,104,44                 // movss         0x2c(%rax),%xmm13
+  .byte  69,15,198,237,0                     // shufps        $0x0,%xmm13,%xmm13
+  .byte  243,68,15,16,112,60                 // movss         0x3c(%rax),%xmm14
+  .byte  69,15,198,246,0                     // shufps        $0x0,%xmm14,%xmm14
+  .byte  243,68,15,16,120,76                 // movss         0x4c(%rax),%xmm15
+  .byte  69,15,198,255,0                     // shufps        $0x0,%xmm15,%xmm15
+  .byte  68,15,89,243                        // mulps         %xmm3,%xmm14
+  .byte  69,15,88,247                        // addps         %xmm15,%xmm14
+  .byte  68,15,89,234                        // mulps         %xmm2,%xmm13
+  .byte  69,15,88,238                        // addps         %xmm14,%xmm13
+  .byte  69,15,89,225                        // mulps         %xmm9,%xmm12
+  .byte  69,15,88,229                        // addps         %xmm13,%xmm12
+  .byte  69,15,89,216                        // mulps         %xmm8,%xmm11
+  .byte  69,15,88,220                        // addps         %xmm12,%xmm11
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,210                        // movaps        %xmm10,%xmm2
+  .byte  65,15,40,219                        // movaps        %xmm11,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_4x3_sse41
+.globl _sk_matrix_4x3_sse41
+FUNCTION(_sk_matrix_4x3_sse41)
+_sk_matrix_4x3_sse41:
+  .byte  68,15,40,201                        // movaps        %xmm1,%xmm9
+  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,15,16,0                         // movss         (%rax),%xmm0
+  .byte  243,15,16,72,4                      // movss         0x4(%rax),%xmm1
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  243,15,16,80,16                     // movss         0x10(%rax),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  243,15,16,88,32                     // movss         0x20(%rax),%xmm3
+  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
+  .byte  65,15,89,209                        // mulps         %xmm9,%xmm2
+  .byte  15,88,211                           // addps         %xmm3,%xmm2
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  15,88,194                           // addps         %xmm2,%xmm0
+  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
+  .byte  243,15,16,80,20                     // movss         0x14(%rax),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  243,15,16,88,36                     // movss         0x24(%rax),%xmm3
+  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
+  .byte  65,15,89,209                        // mulps         %xmm9,%xmm2
+  .byte  15,88,211                           // addps         %xmm3,%xmm2
+  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
+  .byte  15,88,202                           // addps         %xmm2,%xmm1
+  .byte  243,15,16,80,8                      // movss         0x8(%rax),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  243,15,16,88,24                     // movss         0x18(%rax),%xmm3
+  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
+  .byte  243,68,15,16,80,40                  // movss         0x28(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  65,15,89,217                        // mulps         %xmm9,%xmm3
+  .byte  65,15,88,218                        // addps         %xmm10,%xmm3
+  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
+  .byte  15,88,211                           // addps         %xmm3,%xmm2
+  .byte  243,15,16,88,12                     // movss         0xc(%rax),%xmm3
+  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
+  .byte  243,68,15,16,80,28                  // movss         0x1c(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  243,68,15,16,88,44                  // movss         0x2c(%rax),%xmm11
+  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
+  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
+  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
+  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
+  .byte  65,15,88,218                        // addps         %xmm10,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_perspective_sse41
+.globl _sk_matrix_perspective_sse41
+FUNCTION(_sk_matrix_perspective_sse41)
+_sk_matrix_perspective_sse41:
+  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,15,16,0                         // movss         (%rax),%xmm0
+  .byte  243,68,15,16,72,4                   // movss         0x4(%rax),%xmm9
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  243,68,15,16,80,8                   // movss         0x8(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  68,15,89,201                        // mulps         %xmm1,%xmm9
+  .byte  69,15,88,202                        // addps         %xmm10,%xmm9
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  65,15,88,193                        // addps         %xmm9,%xmm0
+  .byte  243,68,15,16,72,12                  // movss         0xc(%rax),%xmm9
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  243,68,15,16,80,16                  // movss         0x10(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  243,68,15,16,88,20                  // movss         0x14(%rax),%xmm11
+  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
+  .byte  68,15,89,209                        // mulps         %xmm1,%xmm10
+  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
+  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
+  .byte  69,15,88,202                        // addps         %xmm10,%xmm9
+  .byte  243,68,15,16,80,24                  // movss         0x18(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  243,68,15,16,88,28                  // movss         0x1c(%rax),%xmm11
+  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
+  .byte  243,68,15,16,96,32                  // movss         0x20(%rax),%xmm12
+  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
+  .byte  68,15,89,217                        // mulps         %xmm1,%xmm11
+  .byte  69,15,88,220                        // addps         %xmm12,%xmm11
+  .byte  69,15,89,208                        // mulps         %xmm8,%xmm10
+  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
+  .byte  65,15,83,202                        // rcpps         %xmm10,%xmm1
+  .byte  15,89,193                           // mulps         %xmm1,%xmm0
+  .byte  68,15,89,201                        // mulps         %xmm1,%xmm9
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,201                        // movaps        %xmm9,%xmm1
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_evenly_spaced_gradient_sse41
+.globl _sk_evenly_spaced_gradient_sse41
+FUNCTION(_sk_evenly_spaced_gradient_sse41)
+_sk_evenly_spaced_gradient_sse41:
+  .byte  65,86                               // push          %r14
+  .byte  83                                  // push          %rbx
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  72,139,24                           // mov           (%rax),%rbx
+  .byte  76,139,112,8                        // mov           0x8(%rax),%r14
+  .byte  72,255,203                          // dec           %rbx
+  .byte  120,7                               // js            22b5f <_sk_evenly_spaced_gradient_sse41+0x18>
+  .byte  243,72,15,42,203                    // cvtsi2ss      %rbx,%xmm1
+  .byte  235,21                              // jmp           22b74 <_sk_evenly_spaced_gradient_sse41+0x2d>
+  .byte  73,137,216                          // mov           %rbx,%r8
+  .byte  73,209,232                          // shr           %r8
+  .byte  131,227,1                           // and           $0x1,%ebx
+  .byte  76,9,195                            // or            %r8,%rbx
+  .byte  243,72,15,42,203                    // cvtsi2ss      %rbx,%xmm1
+  .byte  243,15,88,201                       // addss         %xmm1,%xmm1
+  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
+  .byte  15,89,200                           // mulps         %xmm0,%xmm1
+  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
+  .byte  102,73,15,58,22,200,1               // pextrq        $0x1,%xmm1,%r8
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  102,73,15,126,202                   // movq          %xmm1,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  243,71,15,16,4,158                  // movss         (%r14,%r11,4),%xmm8
+  .byte  102,71,15,58,33,4,150,16            // insertps      $0x10,(%r14,%r10,4),%xmm8
+  .byte  243,67,15,16,12,142                 // movss         (%r14,%r9,4),%xmm1
+  .byte  102,68,15,58,33,193,32              // insertps      $0x20,%xmm1,%xmm8
+  .byte  243,67,15,16,12,134                 // movss         (%r14,%r8,4),%xmm1
+  .byte  102,68,15,58,33,193,48              // insertps      $0x30,%xmm1,%xmm8
+  .byte  72,139,88,40                        // mov           0x28(%rax),%rbx
+  .byte  243,70,15,16,12,155                 // movss         (%rbx,%r11,4),%xmm9
+  .byte  102,70,15,58,33,12,147,16           // insertps      $0x10,(%rbx,%r10,4),%xmm9
+  .byte  243,66,15,16,12,139                 // movss         (%rbx,%r9,4),%xmm1
+  .byte  102,68,15,58,33,201,32              // insertps      $0x20,%xmm1,%xmm9
+  .byte  243,66,15,16,12,131                 // movss         (%rbx,%r8,4),%xmm1
+  .byte  102,68,15,58,33,201,48              // insertps      $0x30,%xmm1,%xmm9
+  .byte  72,139,88,16                        // mov           0x10(%rax),%rbx
+  .byte  243,66,15,16,12,155                 // movss         (%rbx,%r11,4),%xmm1
+  .byte  102,66,15,58,33,12,147,16           // insertps      $0x10,(%rbx,%r10,4),%xmm1
+  .byte  243,66,15,16,20,139                 // movss         (%rbx,%r9,4),%xmm2
+  .byte  102,15,58,33,202,32                 // insertps      $0x20,%xmm2,%xmm1
+  .byte  243,66,15,16,20,131                 // movss         (%rbx,%r8,4),%xmm2
+  .byte  102,15,58,33,202,48                 // insertps      $0x30,%xmm2,%xmm1
+  .byte  72,139,88,48                        // mov           0x30(%rax),%rbx
+  .byte  243,70,15,16,20,155                 // movss         (%rbx,%r11,4),%xmm10
+  .byte  102,70,15,58,33,20,147,16           // insertps      $0x10,(%rbx,%r10,4),%xmm10
+  .byte  243,66,15,16,20,139                 // movss         (%rbx,%r9,4),%xmm2
+  .byte  102,68,15,58,33,210,32              // insertps      $0x20,%xmm2,%xmm10
+  .byte  243,66,15,16,20,131                 // movss         (%rbx,%r8,4),%xmm2
+  .byte  102,68,15,58,33,210,48              // insertps      $0x30,%xmm2,%xmm10
+  .byte  72,139,88,24                        // mov           0x18(%rax),%rbx
+  .byte  243,66,15,16,20,155                 // movss         (%rbx,%r11,4),%xmm2
+  .byte  102,66,15,58,33,20,147,16           // insertps      $0x10,(%rbx,%r10,4),%xmm2
+  .byte  243,66,15,16,28,139                 // movss         (%rbx,%r9,4),%xmm3
+  .byte  102,15,58,33,211,32                 // insertps      $0x20,%xmm3,%xmm2
+  .byte  243,66,15,16,28,131                 // movss         (%rbx,%r8,4),%xmm3
+  .byte  102,15,58,33,211,48                 // insertps      $0x30,%xmm3,%xmm2
+  .byte  72,139,88,56                        // mov           0x38(%rax),%rbx
+  .byte  243,70,15,16,28,155                 // movss         (%rbx,%r11,4),%xmm11
+  .byte  102,70,15,58,33,28,147,16           // insertps      $0x10,(%rbx,%r10,4),%xmm11
+  .byte  243,66,15,16,28,139                 // movss         (%rbx,%r9,4),%xmm3
+  .byte  102,68,15,58,33,219,32              // insertps      $0x20,%xmm3,%xmm11
+  .byte  243,66,15,16,28,131                 // movss         (%rbx,%r8,4),%xmm3
+  .byte  102,68,15,58,33,219,48              // insertps      $0x30,%xmm3,%xmm11
+  .byte  72,139,88,32                        // mov           0x20(%rax),%rbx
+  .byte  243,66,15,16,28,155                 // movss         (%rbx,%r11,4),%xmm3
+  .byte  102,66,15,58,33,28,147,16           // insertps      $0x10,(%rbx,%r10,4),%xmm3
+  .byte  243,70,15,16,36,139                 // movss         (%rbx,%r9,4),%xmm12
+  .byte  102,65,15,58,33,220,32              // insertps      $0x20,%xmm12,%xmm3
+  .byte  243,70,15,16,36,131                 // movss         (%rbx,%r8,4),%xmm12
+  .byte  102,65,15,58,33,220,48              // insertps      $0x30,%xmm12,%xmm3
+  .byte  72,139,64,64                        // mov           0x40(%rax),%rax
+  .byte  243,70,15,16,36,152                 // movss         (%rax,%r11,4),%xmm12
+  .byte  102,70,15,58,33,36,144,16           // insertps      $0x10,(%rax,%r10,4),%xmm12
+  .byte  243,70,15,16,44,136                 // movss         (%rax,%r9,4),%xmm13
+  .byte  102,69,15,58,33,229,32              // insertps      $0x20,%xmm13,%xmm12
+  .byte  243,70,15,16,44,128                 // movss         (%rax,%r8,4),%xmm13
+  .byte  102,69,15,58,33,229,48              // insertps      $0x30,%xmm13,%xmm12
+  .byte  68,15,89,192                        // mulps         %xmm0,%xmm8
+  .byte  69,15,88,193                        // addps         %xmm9,%xmm8
+  .byte  15,89,200                           // mulps         %xmm0,%xmm1
+  .byte  65,15,88,202                        // addps         %xmm10,%xmm1
+  .byte  15,89,208                           // mulps         %xmm0,%xmm2
+  .byte  65,15,88,211                        // addps         %xmm11,%xmm2
+  .byte  15,89,216                           // mulps         %xmm0,%xmm3
+  .byte  65,15,88,220                        // addps         %xmm12,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  91                                  // pop           %rbx
+  .byte  65,94                               // pop           %r14
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_gradient_sse41
+.globl _sk_gradient_sse41
+FUNCTION(_sk_gradient_sse41)
+_sk_gradient_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  73,131,248,2                        // cmp           $0x2,%r8
+  .byte  114,41                              // jb            22d51 <_sk_gradient_sse41+0x38>
+  .byte  76,139,72,72                        // mov           0x48(%rax),%r9
+  .byte  73,255,200                          // dec           %r8
+  .byte  73,131,193,4                        // add           $0x4,%r9
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  243,65,15,16,17                     // movss         (%r9),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  15,194,208,2                        // cmpleps       %xmm0,%xmm2
+  .byte  102,15,250,202                      // psubd         %xmm2,%xmm1
+  .byte  73,131,193,4                        // add           $0x4,%r9
+  .byte  73,255,200                          // dec           %r8
+  .byte  117,230                             // jne           22d37 <_sk_gradient_sse41+0x1e>
+  .byte  65,86                               // push          %r14
+  .byte  83                                  // push          %rbx
+  .byte  102,73,15,58,22,200,1               // pextrq        $0x1,%xmm1,%r8
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  102,73,15,126,202                   // movq          %xmm1,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  72,139,88,8                         // mov           0x8(%rax),%rbx
+  .byte  76,139,112,16                       // mov           0x10(%rax),%r14
+  .byte  243,70,15,16,4,155                  // movss         (%rbx,%r11,4),%xmm8
+  .byte  102,70,15,58,33,4,147,16            // insertps      $0x10,(%rbx,%r10,4),%xmm8
+  .byte  243,66,15,16,12,139                 // movss         (%rbx,%r9,4),%xmm1
+  .byte  102,68,15,58,33,193,32              // insertps      $0x20,%xmm1,%xmm8
+  .byte  243,66,15,16,12,131                 // movss         (%rbx,%r8,4),%xmm1
+  .byte  102,68,15,58,33,193,48              // insertps      $0x30,%xmm1,%xmm8
+  .byte  72,139,88,40                        // mov           0x28(%rax),%rbx
+  .byte  243,70,15,16,12,155                 // movss         (%rbx,%r11,4),%xmm9
+  .byte  102,70,15,58,33,12,147,16           // insertps      $0x10,(%rbx,%r10,4),%xmm9
+  .byte  243,66,15,16,12,139                 // movss         (%rbx,%r9,4),%xmm1
+  .byte  102,68,15,58,33,201,32              // insertps      $0x20,%xmm1,%xmm9
+  .byte  243,66,15,16,12,131                 // movss         (%rbx,%r8,4),%xmm1
+  .byte  102,68,15,58,33,201,48              // insertps      $0x30,%xmm1,%xmm9
+  .byte  243,67,15,16,12,158                 // movss         (%r14,%r11,4),%xmm1
+  .byte  102,67,15,58,33,12,150,16           // insertps      $0x10,(%r14,%r10,4),%xmm1
+  .byte  243,67,15,16,20,142                 // movss         (%r14,%r9,4),%xmm2
+  .byte  102,15,58,33,202,32                 // insertps      $0x20,%xmm2,%xmm1
+  .byte  243,67,15,16,20,134                 // movss         (%r14,%r8,4),%xmm2
+  .byte  102,15,58,33,202,48                 // insertps      $0x30,%xmm2,%xmm1
+  .byte  72,139,88,48                        // mov           0x30(%rax),%rbx
+  .byte  243,70,15,16,20,155                 // movss         (%rbx,%r11,4),%xmm10
+  .byte  102,70,15,58,33,20,147,16           // insertps      $0x10,(%rbx,%r10,4),%xmm10
+  .byte  243,66,15,16,20,139                 // movss         (%rbx,%r9,4),%xmm2
+  .byte  102,68,15,58,33,210,32              // insertps      $0x20,%xmm2,%xmm10
+  .byte  243,66,15,16,20,131                 // movss         (%rbx,%r8,4),%xmm2
+  .byte  102,68,15,58,33,210,48              // insertps      $0x30,%xmm2,%xmm10
+  .byte  72,139,88,24                        // mov           0x18(%rax),%rbx
+  .byte  243,66,15,16,20,155                 // movss         (%rbx,%r11,4),%xmm2
+  .byte  102,66,15,58,33,20,147,16           // insertps      $0x10,(%rbx,%r10,4),%xmm2
+  .byte  243,66,15,16,28,139                 // movss         (%rbx,%r9,4),%xmm3
+  .byte  102,15,58,33,211,32                 // insertps      $0x20,%xmm3,%xmm2
+  .byte  243,66,15,16,28,131                 // movss         (%rbx,%r8,4),%xmm3
+  .byte  102,15,58,33,211,48                 // insertps      $0x30,%xmm3,%xmm2
+  .byte  72,139,88,56                        // mov           0x38(%rax),%rbx
+  .byte  243,70,15,16,28,155                 // movss         (%rbx,%r11,4),%xmm11
+  .byte  102,70,15,58,33,28,147,16           // insertps      $0x10,(%rbx,%r10,4),%xmm11
+  .byte  243,66,15,16,28,139                 // movss         (%rbx,%r9,4),%xmm3
+  .byte  102,68,15,58,33,219,32              // insertps      $0x20,%xmm3,%xmm11
+  .byte  243,66,15,16,28,131                 // movss         (%rbx,%r8,4),%xmm3
+  .byte  102,68,15,58,33,219,48              // insertps      $0x30,%xmm3,%xmm11
+  .byte  72,139,88,32                        // mov           0x20(%rax),%rbx
+  .byte  243,66,15,16,28,155                 // movss         (%rbx,%r11,4),%xmm3
+  .byte  102,66,15,58,33,28,147,16           // insertps      $0x10,(%rbx,%r10,4),%xmm3
+  .byte  243,70,15,16,36,139                 // movss         (%rbx,%r9,4),%xmm12
+  .byte  102,65,15,58,33,220,32              // insertps      $0x20,%xmm12,%xmm3
+  .byte  243,70,15,16,36,131                 // movss         (%rbx,%r8,4),%xmm12
+  .byte  102,65,15,58,33,220,48              // insertps      $0x30,%xmm12,%xmm3
+  .byte  72,139,64,64                        // mov           0x40(%rax),%rax
+  .byte  243,70,15,16,36,152                 // movss         (%rax,%r11,4),%xmm12
+  .byte  102,70,15,58,33,36,144,16           // insertps      $0x10,(%rax,%r10,4),%xmm12
+  .byte  243,70,15,16,44,136                 // movss         (%rax,%r9,4),%xmm13
+  .byte  102,69,15,58,33,229,32              // insertps      $0x20,%xmm13,%xmm12
+  .byte  243,70,15,16,44,128                 // movss         (%rax,%r8,4),%xmm13
+  .byte  102,69,15,58,33,229,48              // insertps      $0x30,%xmm13,%xmm12
+  .byte  68,15,89,192                        // mulps         %xmm0,%xmm8
+  .byte  69,15,88,193                        // addps         %xmm9,%xmm8
+  .byte  15,89,200                           // mulps         %xmm0,%xmm1
+  .byte  65,15,88,202                        // addps         %xmm10,%xmm1
+  .byte  15,89,208                           // mulps         %xmm0,%xmm2
+  .byte  65,15,88,211                        // addps         %xmm11,%xmm2
+  .byte  15,89,216                           // mulps         %xmm0,%xmm3
+  .byte  65,15,88,220                        // addps         %xmm12,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  91                                  // pop           %rbx
+  .byte  65,94                               // pop           %r14
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_evenly_spaced_2_stop_gradient_sse41
+.globl _sk_evenly_spaced_2_stop_gradient_sse41
+FUNCTION(_sk_evenly_spaced_2_stop_gradient_sse41)
+_sk_evenly_spaced_2_stop_gradient_sse41:
+  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,15,16,0                         // movss         (%rax),%xmm0
+  .byte  243,15,16,72,4                      // movss         0x4(%rax),%xmm1
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  243,15,16,80,16                     // movss         0x10(%rax),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  15,88,194                           // addps         %xmm2,%xmm0
+  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
+  .byte  243,15,16,80,20                     // movss         0x14(%rax),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
+  .byte  15,88,202                           // addps         %xmm2,%xmm1
+  .byte  243,15,16,80,8                      // movss         0x8(%rax),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  243,15,16,88,24                     // movss         0x18(%rax),%xmm3
+  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
+  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
+  .byte  15,88,211                           // addps         %xmm3,%xmm2
+  .byte  243,15,16,88,12                     // movss         0xc(%rax),%xmm3
+  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
+  .byte  243,68,15,16,72,28                  // movss         0x1c(%rax),%xmm9
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
+  .byte  65,15,88,217                        // addps         %xmm9,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xy_to_unit_angle_sse41
+.globl _sk_xy_to_unit_angle_sse41
+FUNCTION(_sk_xy_to_unit_angle_sse41)
+_sk_xy_to_unit_angle_sse41:
+  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  65,15,92,193                        // subps         %xmm9,%xmm0
+  .byte  65,15,84,193                        // andps         %xmm9,%xmm0
+  .byte  69,15,87,219                        // xorps         %xmm11,%xmm11
+  .byte  68,15,92,217                        // subps         %xmm1,%xmm11
+  .byte  68,15,84,217                        // andps         %xmm1,%xmm11
+  .byte  68,15,40,224                        // movaps        %xmm0,%xmm12
+  .byte  69,15,93,227                        // minps         %xmm11,%xmm12
+  .byte  68,15,40,208                        // movaps        %xmm0,%xmm10
+  .byte  69,15,95,211                        // maxps         %xmm11,%xmm10
+  .byte  69,15,94,226                        // divps         %xmm10,%xmm12
+  .byte  69,15,40,236                        // movaps        %xmm12,%xmm13
+  .byte  69,15,89,237                        // mulps         %xmm13,%xmm13
+  .byte  68,15,40,21,59,165,1,0              // movaps        0x1a53b(%rip),%xmm10        # 3d4e0 <_sk_srcover_bgra_8888_sse2_lowp+0x1294>
+  .byte  69,15,89,213                        // mulps         %xmm13,%xmm10
+  .byte  68,15,88,21,63,165,1,0              // addps         0x1a53f(%rip),%xmm10        # 3d4f0 <_sk_srcover_bgra_8888_sse2_lowp+0x12a4>
+  .byte  69,15,89,213                        // mulps         %xmm13,%xmm10
+  .byte  68,15,88,21,67,165,1,0              // addps         0x1a543(%rip),%xmm10        # 3d500 <_sk_srcover_bgra_8888_sse2_lowp+0x12b4>
+  .byte  69,15,89,213                        // mulps         %xmm13,%xmm10
+  .byte  68,15,88,21,71,165,1,0              // addps         0x1a547(%rip),%xmm10        # 3d510 <_sk_srcover_bgra_8888_sse2_lowp+0x12c4>
+  .byte  69,15,89,212                        // mulps         %xmm12,%xmm10
+  .byte  65,15,194,195,1                     // cmpltps       %xmm11,%xmm0
+  .byte  68,15,40,29,70,165,1,0              // movaps        0x1a546(%rip),%xmm11        # 3d520 <_sk_srcover_bgra_8888_sse2_lowp+0x12d4>
+  .byte  69,15,92,218                        // subps         %xmm10,%xmm11
+  .byte  102,69,15,56,20,211                 // blendvps      %xmm0,%xmm11,%xmm10
+  .byte  69,15,194,200,1                     // cmpltps       %xmm8,%xmm9
+  .byte  68,15,40,29,15,159,1,0              // movaps        0x19f0f(%rip),%xmm11        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  69,15,92,218                        // subps         %xmm10,%xmm11
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  102,69,15,56,20,211                 // blendvps      %xmm0,%xmm11,%xmm10
+  .byte  15,40,193                           // movaps        %xmm1,%xmm0
+  .byte  65,15,194,192,1                     // cmpltps       %xmm8,%xmm0
+  .byte  68,15,40,13,1,159,1,0               // movaps        0x19f01(%rip),%xmm9        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,92,202                        // subps         %xmm10,%xmm9
+  .byte  102,69,15,56,20,209                 // blendvps      %xmm0,%xmm9,%xmm10
+  .byte  69,15,194,194,7                     // cmpordps      %xmm10,%xmm8
+  .byte  69,15,84,194                        // andps         %xmm10,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xy_to_radius_sse41
+.globl _sk_xy_to_radius_sse41
+FUNCTION(_sk_xy_to_radius_sse41)
+_sk_xy_to_radius_sse41:
+  .byte  15,89,192                           // mulps         %xmm0,%xmm0
+  .byte  68,15,40,193                        // movaps        %xmm1,%xmm8
+  .byte  69,15,89,192                        // mulps         %xmm8,%xmm8
+  .byte  68,15,88,192                        // addps         %xmm0,%xmm8
+  .byte  65,15,81,192                        // sqrtps        %xmm8,%xmm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_negate_x_sse41
+.globl _sk_negate_x_sse41
+FUNCTION(_sk_negate_x_sse41)
+_sk_negate_x_sse41:
+  .byte  15,87,5,24,164,1,0                  // xorps         0x1a418(%rip),%xmm0        # 3d460 <_sk_srcover_bgra_8888_sse2_lowp+0x1214>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xy_to_2pt_conical_strip_sse41
+.globl _sk_xy_to_2pt_conical_strip_sse41
+FUNCTION(_sk_xy_to_2pt_conical_strip_sse41)
+_sk_xy_to_2pt_conical_strip_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,64,64                  // movss         0x40(%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  68,15,40,201                        // movaps        %xmm1,%xmm9
+  .byte  69,15,89,201                        // mulps         %xmm9,%xmm9
+  .byte  69,15,92,193                        // subps         %xmm9,%xmm8
+  .byte  69,15,81,192                        // sqrtps        %xmm8,%xmm8
+  .byte  65,15,88,192                        // addps         %xmm8,%xmm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xy_to_2pt_conical_focal_on_circle_sse41
+.globl _sk_xy_to_2pt_conical_focal_on_circle_sse41
+FUNCTION(_sk_xy_to_2pt_conical_focal_on_circle_sse41)
+_sk_xy_to_2pt_conical_focal_on_circle_sse41:
+  .byte  68,15,40,193                        // movaps        %xmm1,%xmm8
+  .byte  69,15,89,192                        // mulps         %xmm8,%xmm8
+  .byte  68,15,94,192                        // divps         %xmm0,%xmm8
+  .byte  65,15,88,192                        // addps         %xmm8,%xmm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xy_to_2pt_conical_well_behaved_sse41
+.globl _sk_xy_to_2pt_conical_well_behaved_sse41
+FUNCTION(_sk_xy_to_2pt_conical_well_behaved_sse41)
+_sk_xy_to_2pt_conical_well_behaved_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,64,64                  // movss         0x40(%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  68,15,89,192                        // mulps         %xmm0,%xmm8
+  .byte  15,89,192                           // mulps         %xmm0,%xmm0
+  .byte  68,15,40,201                        // movaps        %xmm1,%xmm9
+  .byte  69,15,89,201                        // mulps         %xmm9,%xmm9
+  .byte  68,15,88,200                        // addps         %xmm0,%xmm9
+  .byte  65,15,81,193                        // sqrtps        %xmm9,%xmm0
+  .byte  65,15,92,192                        // subps         %xmm8,%xmm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xy_to_2pt_conical_greater_sse41
+.globl _sk_xy_to_2pt_conical_greater_sse41
+FUNCTION(_sk_xy_to_2pt_conical_greater_sse41)
+_sk_xy_to_2pt_conical_greater_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,64,64                  // movss         0x40(%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  68,15,89,192                        // mulps         %xmm0,%xmm8
+  .byte  15,89,192                           // mulps         %xmm0,%xmm0
+  .byte  68,15,40,201                        // movaps        %xmm1,%xmm9
+  .byte  69,15,89,201                        // mulps         %xmm9,%xmm9
+  .byte  65,15,92,193                        // subps         %xmm9,%xmm0
+  .byte  15,81,192                           // sqrtps        %xmm0,%xmm0
+  .byte  65,15,92,192                        // subps         %xmm8,%xmm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xy_to_2pt_conical_smaller_sse41
+.globl _sk_xy_to_2pt_conical_smaller_sse41
+FUNCTION(_sk_xy_to_2pt_conical_smaller_sse41)
+_sk_xy_to_2pt_conical_smaller_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,64,64                  // movss         0x40(%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  68,15,89,192                        // mulps         %xmm0,%xmm8
+  .byte  15,89,192                           // mulps         %xmm0,%xmm0
+  .byte  68,15,40,201                        // movaps        %xmm1,%xmm9
+  .byte  69,15,89,201                        // mulps         %xmm9,%xmm9
+  .byte  65,15,92,193                        // subps         %xmm9,%xmm0
+  .byte  15,81,192                           // sqrtps        %xmm0,%xmm0
+  .byte  15,87,5,90,163,1,0                  // xorps         0x1a35a(%rip),%xmm0        # 3d460 <_sk_srcover_bgra_8888_sse2_lowp+0x1214>
+  .byte  65,15,92,192                        // subps         %xmm8,%xmm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_alter_2pt_conical_compensate_focal_sse41
+.globl _sk_alter_2pt_conical_compensate_focal_sse41
+FUNCTION(_sk_alter_2pt_conical_compensate_focal_sse41)
+_sk_alter_2pt_conical_compensate_focal_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,64,68                  // movss         0x44(%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  65,15,88,192                        // addps         %xmm8,%xmm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_alter_2pt_conical_unswap_sse41
+.globl _sk_alter_2pt_conical_unswap_sse41
+FUNCTION(_sk_alter_2pt_conical_unswap_sse41)
+_sk_alter_2pt_conical_unswap_sse41:
+  .byte  68,15,40,5,229,157,1,0              // movaps        0x19de5(%rip),%xmm8        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  68,15,92,192                        // subps         %xmm0,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_mask_2pt_conical_nan_sse41
+.globl _sk_mask_2pt_conical_nan_sse41
+FUNCTION(_sk_mask_2pt_conical_nan_sse41)
+_sk_mask_2pt_conical_nan_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  68,15,194,192,7                     // cmpordps      %xmm0,%xmm8
+  .byte  65,15,84,192                        // andps         %xmm8,%xmm0
+  .byte  68,15,17,0                          // movups        %xmm8,(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_mask_2pt_conical_degenerates_sse41
+.globl _sk_mask_2pt_conical_degenerates_sse41
+FUNCTION(_sk_mask_2pt_conical_degenerates_sse41)
+_sk_mask_2pt_conical_degenerates_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
+  .byte  69,15,95,193                        // maxps         %xmm9,%xmm8
+  .byte  68,15,194,200,1                     // cmpltps       %xmm0,%xmm9
+  .byte  68,15,17,8                          // movups        %xmm9,(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_apply_vector_mask_sse41
+.globl _sk_apply_vector_mask_sse41
+FUNCTION(_sk_apply_vector_mask_sse41)
+_sk_apply_vector_mask_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  68,15,16,0                          // movups        (%rax),%xmm8
+  .byte  65,15,84,192                        // andps         %xmm8,%xmm0
+  .byte  65,15,84,200                        // andps         %xmm8,%xmm1
+  .byte  65,15,84,208                        // andps         %xmm8,%xmm2
+  .byte  65,15,84,216                        // andps         %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_save_xy_sse41
+.globl _sk_save_xy_sse41
+FUNCTION(_sk_save_xy_sse41)
+_sk_save_xy_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  68,15,40,5,111,157,1,0              // movaps        0x19d6f(%rip),%xmm8        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  15,17,0                             // movups        %xmm0,(%rax)
+  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
+  .byte  69,15,88,200                        // addps         %xmm8,%xmm9
+  .byte  102,69,15,58,8,209,1                // roundps       $0x1,%xmm9,%xmm10
+  .byte  69,15,92,202                        // subps         %xmm10,%xmm9
+  .byte  68,15,88,193                        // addps         %xmm1,%xmm8
+  .byte  102,69,15,58,8,208,1                // roundps       $0x1,%xmm8,%xmm10
+  .byte  69,15,92,194                        // subps         %xmm10,%xmm8
+  .byte  15,17,72,64                         // movups        %xmm1,0x40(%rax)
+  .byte  68,15,17,136,128,0,0,0              // movups        %xmm9,0x80(%rax)
+  .byte  68,15,17,128,192,0,0,0              // movups        %xmm8,0xc0(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_accumulate_sse41
+.globl _sk_accumulate_sse41
+FUNCTION(_sk_accumulate_sse41)
+_sk_accumulate_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  68,15,16,128,0,1,0,0                // movups        0x100(%rax),%xmm8
+  .byte  68,15,16,136,64,1,0,0               // movups        0x140(%rax),%xmm9
+  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
+  .byte  69,15,40,193                        // movaps        %xmm9,%xmm8
+  .byte  68,15,89,192                        // mulps         %xmm0,%xmm8
+  .byte  65,15,88,224                        // addps         %xmm8,%xmm4
+  .byte  69,15,40,193                        // movaps        %xmm9,%xmm8
+  .byte  68,15,89,193                        // mulps         %xmm1,%xmm8
+  .byte  65,15,88,232                        // addps         %xmm8,%xmm5
+  .byte  69,15,40,193                        // movaps        %xmm9,%xmm8
+  .byte  68,15,89,194                        // mulps         %xmm2,%xmm8
+  .byte  65,15,88,240                        // addps         %xmm8,%xmm6
+  .byte  68,15,89,203                        // mulps         %xmm3,%xmm9
+  .byte  65,15,88,249                        // addps         %xmm9,%xmm7
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bilinear_nx_sse41
+.globl _sk_bilinear_nx_sse41
+FUNCTION(_sk_bilinear_nx_sse41)
+_sk_bilinear_nx_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,16,0                             // movups        (%rax),%xmm0
+  .byte  68,15,16,128,128,0,0,0              // movups        0x80(%rax),%xmm8
+  .byte  15,88,5,8,163,1,0                   // addps         0x1a308(%rip),%xmm0        # 3d530 <_sk_srcover_bgra_8888_sse2_lowp+0x12e4>
+  .byte  68,15,40,13,224,156,1,0             // movaps        0x19ce0(%rip),%xmm9        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,92,200                        // subps         %xmm8,%xmm9
+  .byte  68,15,17,136,0,1,0,0                // movups        %xmm9,0x100(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bilinear_px_sse41
+.globl _sk_bilinear_px_sse41
+FUNCTION(_sk_bilinear_px_sse41)
+_sk_bilinear_px_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,16,0                             // movups        (%rax),%xmm0
+  .byte  68,15,16,128,128,0,0,0              // movups        0x80(%rax),%xmm8
+  .byte  15,88,5,172,156,1,0                 // addps         0x19cac(%rip),%xmm0        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  68,15,17,128,0,1,0,0                // movups        %xmm8,0x100(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bilinear_ny_sse41
+.globl _sk_bilinear_ny_sse41
+FUNCTION(_sk_bilinear_ny_sse41)
+_sk_bilinear_ny_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,16,72,64                         // movups        0x40(%rax),%xmm1
+  .byte  68,15,16,128,192,0,0,0              // movups        0xc0(%rax),%xmm8
+  .byte  15,88,13,187,162,1,0                // addps         0x1a2bb(%rip),%xmm1        # 3d530 <_sk_srcover_bgra_8888_sse2_lowp+0x12e4>
+  .byte  68,15,40,13,147,156,1,0             // movaps        0x19c93(%rip),%xmm9        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,92,200                        // subps         %xmm8,%xmm9
+  .byte  68,15,17,136,64,1,0,0               // movups        %xmm9,0x140(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bilinear_py_sse41
+.globl _sk_bilinear_py_sse41
+FUNCTION(_sk_bilinear_py_sse41)
+_sk_bilinear_py_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,16,72,64                         // movups        0x40(%rax),%xmm1
+  .byte  68,15,16,128,192,0,0,0              // movups        0xc0(%rax),%xmm8
+  .byte  15,88,13,94,156,1,0                 // addps         0x19c5e(%rip),%xmm1        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  68,15,17,128,64,1,0,0               // movups        %xmm8,0x140(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bicubic_n3x_sse41
+.globl _sk_bicubic_n3x_sse41
+FUNCTION(_sk_bicubic_n3x_sse41)
+_sk_bicubic_n3x_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,16,0                             // movups        (%rax),%xmm0
+  .byte  68,15,16,128,128,0,0,0              // movups        0x80(%rax),%xmm8
+  .byte  15,88,5,126,162,1,0                 // addps         0x1a27e(%rip),%xmm0        # 3d540 <_sk_srcover_bgra_8888_sse2_lowp+0x12f4>
+  .byte  68,15,40,13,70,156,1,0              // movaps        0x19c46(%rip),%xmm9        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,92,200                        // subps         %xmm8,%xmm9
+  .byte  69,15,40,193                        // movaps        %xmm9,%xmm8
+  .byte  69,15,89,192                        // mulps         %xmm8,%xmm8
+  .byte  68,15,89,13,114,162,1,0             // mulps         0x1a272(%rip),%xmm9        # 3d550 <_sk_srcover_bgra_8888_sse2_lowp+0x1304>
+  .byte  68,15,88,13,42,158,1,0              // addps         0x19e2a(%rip),%xmm9        # 3d110 <_sk_srcover_bgra_8888_sse2_lowp+0xec4>
+  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
+  .byte  68,15,17,136,0,1,0,0                // movups        %xmm9,0x100(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bicubic_n1x_sse41
+.globl _sk_bicubic_n1x_sse41
+FUNCTION(_sk_bicubic_n1x_sse41)
+_sk_bicubic_n1x_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,16,0                             // movups        (%rax),%xmm0
+  .byte  68,15,16,128,128,0,0,0              // movups        0x80(%rax),%xmm8
+  .byte  15,88,5,38,162,1,0                  // addps         0x1a226(%rip),%xmm0        # 3d530 <_sk_srcover_bgra_8888_sse2_lowp+0x12e4>
+  .byte  68,15,40,13,254,155,1,0             // movaps        0x19bfe(%rip),%xmm9        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,92,200                        // subps         %xmm8,%xmm9
+  .byte  68,15,40,5,66,162,1,0               // movaps        0x1a242(%rip),%xmm8        # 3d560 <_sk_srcover_bgra_8888_sse2_lowp+0x1314>
+  .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
+  .byte  68,15,88,5,70,162,1,0               // addps         0x1a246(%rip),%xmm8        # 3d570 <_sk_srcover_bgra_8888_sse2_lowp+0x1324>
+  .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
+  .byte  68,15,88,5,202,155,1,0              // addps         0x19bca(%rip),%xmm8        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
+  .byte  68,15,88,5,62,162,1,0               // addps         0x1a23e(%rip),%xmm8        # 3d580 <_sk_srcover_bgra_8888_sse2_lowp+0x1334>
+  .byte  68,15,17,128,0,1,0,0                // movups        %xmm8,0x100(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bicubic_p1x_sse41
+.globl _sk_bicubic_p1x_sse41
+FUNCTION(_sk_bicubic_p1x_sse41)
+_sk_bicubic_p1x_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  68,15,40,5,168,155,1,0              // movaps        0x19ba8(%rip),%xmm8        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  15,16,0                             // movups        (%rax),%xmm0
+  .byte  68,15,16,136,128,0,0,0              // movups        0x80(%rax),%xmm9
+  .byte  65,15,88,192                        // addps         %xmm8,%xmm0
+  .byte  68,15,40,21,241,161,1,0             // movaps        0x1a1f1(%rip),%xmm10        # 3d560 <_sk_srcover_bgra_8888_sse2_lowp+0x1314>
+  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
+  .byte  68,15,88,21,245,161,1,0             // addps         0x1a1f5(%rip),%xmm10        # 3d570 <_sk_srcover_bgra_8888_sse2_lowp+0x1324>
+  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
+  .byte  69,15,88,208                        // addps         %xmm8,%xmm10
+  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
+  .byte  68,15,88,21,241,161,1,0             // addps         0x1a1f1(%rip),%xmm10        # 3d580 <_sk_srcover_bgra_8888_sse2_lowp+0x1334>
+  .byte  68,15,17,144,0,1,0,0                // movups        %xmm10,0x100(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bicubic_p3x_sse41
+.globl _sk_bicubic_p3x_sse41
+FUNCTION(_sk_bicubic_p3x_sse41)
+_sk_bicubic_p3x_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,16,0                             // movups        (%rax),%xmm0
+  .byte  68,15,16,128,128,0,0,0              // movups        0x80(%rax),%xmm8
+  .byte  15,88,5,193,161,1,0                 // addps         0x1a1c1(%rip),%xmm0        # 3d570 <_sk_srcover_bgra_8888_sse2_lowp+0x1324>
+  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
+  .byte  69,15,89,201                        // mulps         %xmm9,%xmm9
+  .byte  68,15,89,5,145,161,1,0              // mulps         0x1a191(%rip),%xmm8        # 3d550 <_sk_srcover_bgra_8888_sse2_lowp+0x1304>
+  .byte  68,15,88,5,73,157,1,0               // addps         0x19d49(%rip),%xmm8        # 3d110 <_sk_srcover_bgra_8888_sse2_lowp+0xec4>
+  .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
+  .byte  68,15,17,128,0,1,0,0                // movups        %xmm8,0x100(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bicubic_n3y_sse41
+.globl _sk_bicubic_n3y_sse41
+FUNCTION(_sk_bicubic_n3y_sse41)
+_sk_bicubic_n3y_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,16,72,64                         // movups        0x40(%rax),%xmm1
+  .byte  68,15,16,128,192,0,0,0              // movups        0xc0(%rax),%xmm8
+  .byte  15,88,13,84,161,1,0                 // addps         0x1a154(%rip),%xmm1        # 3d540 <_sk_srcover_bgra_8888_sse2_lowp+0x12f4>
+  .byte  68,15,40,13,28,155,1,0              // movaps        0x19b1c(%rip),%xmm9        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,92,200                        // subps         %xmm8,%xmm9
+  .byte  69,15,40,193                        // movaps        %xmm9,%xmm8
+  .byte  69,15,89,192                        // mulps         %xmm8,%xmm8
+  .byte  68,15,89,13,72,161,1,0              // mulps         0x1a148(%rip),%xmm9        # 3d550 <_sk_srcover_bgra_8888_sse2_lowp+0x1304>
+  .byte  68,15,88,13,0,157,1,0               // addps         0x19d00(%rip),%xmm9        # 3d110 <_sk_srcover_bgra_8888_sse2_lowp+0xec4>
+  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
+  .byte  68,15,17,136,64,1,0,0               // movups        %xmm9,0x140(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bicubic_n1y_sse41
+.globl _sk_bicubic_n1y_sse41
+FUNCTION(_sk_bicubic_n1y_sse41)
+_sk_bicubic_n1y_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,16,72,64                         // movups        0x40(%rax),%xmm1
+  .byte  68,15,16,128,192,0,0,0              // movups        0xc0(%rax),%xmm8
+  .byte  15,88,13,251,160,1,0                // addps         0x1a0fb(%rip),%xmm1        # 3d530 <_sk_srcover_bgra_8888_sse2_lowp+0x12e4>
+  .byte  68,15,40,13,211,154,1,0             // movaps        0x19ad3(%rip),%xmm9        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,92,200                        // subps         %xmm8,%xmm9
+  .byte  68,15,40,5,23,161,1,0               // movaps        0x1a117(%rip),%xmm8        # 3d560 <_sk_srcover_bgra_8888_sse2_lowp+0x1314>
+  .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
+  .byte  68,15,88,5,27,161,1,0               // addps         0x1a11b(%rip),%xmm8        # 3d570 <_sk_srcover_bgra_8888_sse2_lowp+0x1324>
+  .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
+  .byte  68,15,88,5,159,154,1,0              // addps         0x19a9f(%rip),%xmm8        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
+  .byte  68,15,88,5,19,161,1,0               // addps         0x1a113(%rip),%xmm8        # 3d580 <_sk_srcover_bgra_8888_sse2_lowp+0x1334>
+  .byte  68,15,17,128,64,1,0,0               // movups        %xmm8,0x140(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bicubic_p1y_sse41
+.globl _sk_bicubic_p1y_sse41
+FUNCTION(_sk_bicubic_p1y_sse41)
+_sk_bicubic_p1y_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  68,15,40,5,125,154,1,0              // movaps        0x19a7d(%rip),%xmm8        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  15,16,72,64                         // movups        0x40(%rax),%xmm1
+  .byte  68,15,16,136,192,0,0,0              // movups        0xc0(%rax),%xmm9
+  .byte  65,15,88,200                        // addps         %xmm8,%xmm1
+  .byte  68,15,40,21,197,160,1,0             // movaps        0x1a0c5(%rip),%xmm10        # 3d560 <_sk_srcover_bgra_8888_sse2_lowp+0x1314>
+  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
+  .byte  68,15,88,21,201,160,1,0             // addps         0x1a0c9(%rip),%xmm10        # 3d570 <_sk_srcover_bgra_8888_sse2_lowp+0x1324>
+  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
+  .byte  69,15,88,208                        // addps         %xmm8,%xmm10
+  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
+  .byte  68,15,88,21,197,160,1,0             // addps         0x1a0c5(%rip),%xmm10        # 3d580 <_sk_srcover_bgra_8888_sse2_lowp+0x1334>
+  .byte  68,15,17,144,64,1,0,0               // movups        %xmm10,0x140(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bicubic_p3y_sse41
+.globl _sk_bicubic_p3y_sse41
+FUNCTION(_sk_bicubic_p3y_sse41)
+_sk_bicubic_p3y_sse41:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,16,72,64                         // movups        0x40(%rax),%xmm1
+  .byte  68,15,16,128,192,0,0,0              // movups        0xc0(%rax),%xmm8
+  .byte  15,88,13,148,160,1,0                // addps         0x1a094(%rip),%xmm1        # 3d570 <_sk_srcover_bgra_8888_sse2_lowp+0x1324>
+  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
+  .byte  69,15,89,201                        // mulps         %xmm9,%xmm9
+  .byte  68,15,89,5,100,160,1,0              // mulps         0x1a064(%rip),%xmm8        # 3d550 <_sk_srcover_bgra_8888_sse2_lowp+0x1304>
+  .byte  68,15,88,5,28,156,1,0               // addps         0x19c1c(%rip),%xmm8        # 3d110 <_sk_srcover_bgra_8888_sse2_lowp+0xec4>
+  .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
+  .byte  68,15,17,128,64,1,0,0               // movups        %xmm8,0x140(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_callback_sse41
+.globl _sk_callback_sse41
+FUNCTION(_sk_callback_sse41)
+_sk_callback_sse41:
+  .byte  85                                  // push          %rbp
+  .byte  72,137,229                          // mov           %rsp,%rbp
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,85                               // push          %r13
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,131,236,72                       // sub           $0x48,%rsp
+  .byte  15,41,125,144                       // movaps        %xmm7,-0x70(%rbp)
+  .byte  15,41,117,160                       // movaps        %xmm6,-0x60(%rbp)
+  .byte  15,41,109,176                       // movaps        %xmm5,-0x50(%rbp)
+  .byte  15,41,101,192                       // movaps        %xmm4,-0x40(%rbp)
+  .byte  73,137,206                          // mov           %rcx,%r14
+  .byte  73,137,215                          // mov           %rdx,%r15
+  .byte  73,137,253                          // mov           %rdi,%r13
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  72,137,195                          // mov           %rax,%rbx
+  .byte  73,137,244                          // mov           %rsi,%r12
+  .byte  15,40,224                           // movaps        %xmm0,%xmm4
+  .byte  15,20,225                           // unpcklps      %xmm1,%xmm4
+  .byte  15,40,234                           // movaps        %xmm2,%xmm5
+  .byte  15,20,235                           // unpcklps      %xmm3,%xmm5
+  .byte  15,21,193                           // unpckhps      %xmm1,%xmm0
+  .byte  15,21,211                           // unpckhps      %xmm3,%xmm2
+  .byte  15,40,204                           // movaps        %xmm4,%xmm1
+  .byte  102,15,20,205                       // unpcklpd      %xmm5,%xmm1
+  .byte  15,18,236                           // movhlps       %xmm4,%xmm5
+  .byte  15,40,216                           // movaps        %xmm0,%xmm3
+  .byte  102,15,20,218                       // unpcklpd      %xmm2,%xmm3
+  .byte  102,15,17,75,8                      // movupd        %xmm1,0x8(%rbx)
+  .byte  15,18,208                           // movhlps       %xmm0,%xmm2
+  .byte  15,17,107,24                        // movups        %xmm5,0x18(%rbx)
+  .byte  102,15,17,91,40                     // movupd        %xmm3,0x28(%rbx)
+  .byte  15,17,83,56                         // movups        %xmm2,0x38(%rbx)
+  .byte  77,133,237                          // test          %r13,%r13
+  .byte  190,4,0,0,0                         // mov           $0x4,%esi
+  .byte  65,15,69,245                        // cmovne        %r13d,%esi
+  .byte  72,137,223                          // mov           %rbx,%rdi
+  .byte  255,19                              // callq         *(%rbx)
+  .byte  72,139,131,8,1,0,0                  // mov           0x108(%rbx),%rax
+  .byte  15,16,32                            // movups        (%rax),%xmm4
+  .byte  15,16,64,16                         // movups        0x10(%rax),%xmm0
+  .byte  15,16,88,32                         // movups        0x20(%rax),%xmm3
+  .byte  15,16,80,48                         // movups        0x30(%rax),%xmm2
+  .byte  15,40,236                           // movaps        %xmm4,%xmm5
+  .byte  15,20,232                           // unpcklps      %xmm0,%xmm5
+  .byte  15,40,203                           // movaps        %xmm3,%xmm1
+  .byte  15,20,202                           // unpcklps      %xmm2,%xmm1
+  .byte  15,21,224                           // unpckhps      %xmm0,%xmm4
+  .byte  15,21,218                           // unpckhps      %xmm2,%xmm3
+  .byte  15,40,197                           // movaps        %xmm5,%xmm0
+  .byte  102,15,20,193                       // unpcklpd      %xmm1,%xmm0
+  .byte  15,18,205                           // movhlps       %xmm5,%xmm1
+  .byte  15,40,212                           // movaps        %xmm4,%xmm2
+  .byte  102,15,20,211                       // unpcklpd      %xmm3,%xmm2
+  .byte  15,18,220                           // movhlps       %xmm4,%xmm3
+  .byte  76,137,230                          // mov           %r12,%rsi
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,137,239                          // mov           %r13,%rdi
+  .byte  76,137,250                          // mov           %r15,%rdx
+  .byte  76,137,241                          // mov           %r14,%rcx
+  .byte  15,40,101,192                       // movaps        -0x40(%rbp),%xmm4
+  .byte  15,40,109,176                       // movaps        -0x50(%rbp),%xmm5
+  .byte  15,40,117,160                       // movaps        -0x60(%rbp),%xmm6
+  .byte  15,40,125,144                       // movaps        -0x70(%rbp),%xmm7
+  .byte  72,131,196,72                       // add           $0x48,%rsp
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,93                               // pop           %r13
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  93                                  // pop           %rbp
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_clut_3D_sse41
+.globl _sk_clut_3D_sse41
+FUNCTION(_sk_clut_3D_sse41)
+_sk_clut_3D_sse41:
+  .byte  85                                  // push          %rbp
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,85                               // push          %r13
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,131,236,56                       // sub           $0x38,%rsp
+  .byte  15,41,124,36,32                     // movaps        %xmm7,0x20(%rsp)
+  .byte  15,41,116,36,16                     // movaps        %xmm6,0x10(%rsp)
+  .byte  15,41,44,36                         // movaps        %xmm5,(%rsp)
+  .byte  15,41,100,36,240                    // movaps        %xmm4,-0x10(%rsp)
+  .byte  15,41,92,36,224                     // movaps        %xmm3,-0x20(%rsp)
+  .byte  15,40,216                           // movaps        %xmm0,%xmm3
+  .byte  72,137,76,36,136                    // mov           %rcx,-0x78(%rsp)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  68,139,64,16                        // mov           0x10(%rax),%r8d
+  .byte  69,141,72,255                       // lea           -0x1(%r8),%r9d
+  .byte  102,65,15,110,193                   // movd          %r9d,%xmm0
+  .byte  102,15,112,192,0                    // pshufd        $0x0,%xmm0,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  15,89,194                           // mulps         %xmm2,%xmm0
+  .byte  15,41,68,36,208                     // movaps        %xmm0,-0x30(%rsp)
+  .byte  243,15,91,240                       // cvttps2dq     %xmm0,%xmm6
+  .byte  15,40,37,79,159,1,0                 // movaps        0x19f4f(%rip),%xmm4        # 3d590 <_sk_srcover_bgra_8888_sse2_lowp+0x1344>
+  .byte  15,88,196                           // addps         %xmm4,%xmm0
+  .byte  15,41,68,36,176                     // movaps        %xmm0,-0x50(%rsp)
+  .byte  102,65,15,110,208                   // movd          %r8d,%xmm2
+  .byte  102,68,15,112,202,0                 // pshufd        $0x0,%xmm2,%xmm9
+  .byte  68,139,64,12                        // mov           0xc(%rax),%r8d
+  .byte  69,141,72,255                       // lea           -0x1(%r8),%r9d
+  .byte  102,65,15,110,233                   // movd          %r9d,%xmm5
+  .byte  102,15,112,237,0                    // pshufd        $0x0,%xmm5,%xmm5
+  .byte  15,91,253                           // cvtdq2ps      %xmm5,%xmm7
+  .byte  15,89,249                           // mulps         %xmm1,%xmm7
+  .byte  15,41,124,36,144                    // movaps        %xmm7,-0x70(%rsp)
+  .byte  243,15,91,239                       // cvttps2dq     %xmm7,%xmm5
+  .byte  102,15,127,108,36,160               // movdqa        %xmm5,-0x60(%rsp)
+  .byte  15,40,207                           // movaps        %xmm7,%xmm1
+  .byte  15,88,204                           // addps         %xmm4,%xmm1
+  .byte  243,68,15,91,209                    // cvttps2dq     %xmm1,%xmm10
+  .byte  102,69,15,56,64,209                 // pmulld        %xmm9,%xmm10
+  .byte  102,68,15,56,64,205                 // pmulld        %xmm5,%xmm9
+  .byte  102,65,15,110,192                   // movd          %r8d,%xmm0
+  .byte  102,15,56,64,194                    // pmulld        %xmm2,%xmm0
+  .byte  68,139,64,8                         // mov           0x8(%rax),%r8d
+  .byte  65,255,200                          // dec           %r8d
+  .byte  102,65,15,110,200                   // movd          %r8d,%xmm1
+  .byte  102,15,112,201,0                    // pshufd        $0x0,%xmm1,%xmm1
+  .byte  68,15,91,217                        // cvtdq2ps      %xmm1,%xmm11
+  .byte  68,15,89,219                        // mulps         %xmm3,%xmm11
+  .byte  102,65,15,111,209                   // movdqa        %xmm9,%xmm2
+  .byte  102,15,111,238                      // movdqa        %xmm6,%xmm5
+  .byte  102,15,127,108,36,192               // movdqa        %xmm5,-0x40(%rsp)
+  .byte  102,15,254,213                      // paddd         %xmm5,%xmm2
+  .byte  102,68,15,112,192,0                 // pshufd        $0x0,%xmm0,%xmm8
+  .byte  65,15,88,227                        // addps         %xmm11,%xmm4
+  .byte  243,68,15,91,244                    // cvttps2dq     %xmm4,%xmm14
+  .byte  102,69,15,56,64,240                 // pmulld        %xmm8,%xmm14
+  .byte  243,65,15,91,195                    // cvttps2dq     %xmm11,%xmm0
+  .byte  102,68,15,56,64,192                 // pmulld        %xmm0,%xmm8
+  .byte  102,65,15,111,216                   // movdqa        %xmm8,%xmm3
+  .byte  102,15,254,218                      // paddd         %xmm2,%xmm3
+  .byte  102,68,15,111,37,166,158,1,0        // movdqa        0x19ea6(%rip),%xmm12        # 3d5a0 <_sk_srcover_bgra_8888_sse2_lowp+0x1354>
+  .byte  102,65,15,56,64,220                 // pmulld        %xmm12,%xmm3
+  .byte  102,15,118,228                      // pcmpeqd       %xmm4,%xmm4
+  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
+  .byte  102,15,250,204                      // psubd         %xmm4,%xmm1
+  .byte  102,69,15,118,237                   // pcmpeqd       %xmm13,%xmm13
+  .byte  102,73,15,58,22,200,1               // pextrq        $0x1,%xmm1,%r8
+  .byte  102,73,15,126,201                   // movq          %xmm1,%r9
+  .byte  72,139,0                            // mov           (%rax),%rax
+  .byte  69,137,202                          // mov           %r9d,%r10d
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,195                          // mov           %r8d,%r11d
+  .byte  243,66,15,16,12,144                 // movss         (%rax,%r10,4),%xmm1
+  .byte  102,66,15,58,33,12,136,16           // insertps      $0x10,(%rax,%r9,4),%xmm1
+  .byte  243,66,15,16,36,152                 // movss         (%rax,%r11,4),%xmm4
+  .byte  102,15,58,33,204,32                 // insertps      $0x20,%xmm4,%xmm1
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,36,128                 // movss         (%rax,%r8,4),%xmm4
+  .byte  102,15,58,33,204,48                 // insertps      $0x30,%xmm4,%xmm1
+  .byte  102,65,15,126,216                   // movd          %xmm3,%r8d
+  .byte  102,65,15,58,22,217,1               // pextrd        $0x1,%xmm3,%r9d
+  .byte  102,65,15,58,22,218,2               // pextrd        $0x2,%xmm3,%r10d
+  .byte  102,65,15,58,22,219,3               // pextrd        $0x3,%xmm3,%r11d
+  .byte  102,15,111,37,202,151,1,0           // movdqa        0x197ca(%rip),%xmm4        # 3cf40 <_sk_srcover_bgra_8888_sse2_lowp+0xcf4>
+  .byte  102,15,254,220                      // paddd         %xmm4,%xmm3
+  .byte  102,15,111,252                      // movdqa        %xmm4,%xmm7
+  .byte  102,73,15,58,22,222,1               // pextrq        $0x1,%xmm3,%r14
+  .byte  102,72,15,126,219                   // movq          %xmm3,%rbx
+  .byte  65,137,223                          // mov           %ebx,%r15d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,244                          // mov           %r14d,%r12d
+  .byte  243,66,15,16,36,184                 // movss         (%rax,%r15,4),%xmm4
+  .byte  102,15,58,33,36,152,16              // insertps      $0x10,(%rax,%rbx,4),%xmm4
+  .byte  243,66,15,16,28,160                 // movss         (%rax,%r12,4),%xmm3
+  .byte  102,15,58,33,227,32                 // insertps      $0x20,%xmm3,%xmm4
+  .byte  73,193,238,32                       // shr           $0x20,%r14
+  .byte  243,66,15,16,28,176                 // movss         (%rax,%r14,4),%xmm3
+  .byte  102,15,58,33,227,48                 // insertps      $0x30,%xmm3,%xmm4
+  .byte  102,65,15,254,214                   // paddd         %xmm14,%xmm2
+  .byte  102,65,15,56,64,212                 // pmulld        %xmm12,%xmm2
+  .byte  102,15,111,218                      // movdqa        %xmm2,%xmm3
+  .byte  102,65,15,250,221                   // psubd         %xmm13,%xmm3
+  .byte  102,69,15,118,255                   // pcmpeqd       %xmm15,%xmm15
+  .byte  102,73,15,58,22,222,1               // pextrq        $0x1,%xmm3,%r14
+  .byte  102,72,15,126,219                   // movq          %xmm3,%rbx
+  .byte  65,137,223                          // mov           %ebx,%r15d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,244                          // mov           %r14d,%r12d
+  .byte  243,66,15,16,28,184                 // movss         (%rax,%r15,4),%xmm3
+  .byte  102,15,58,33,28,152,16              // insertps      $0x10,(%rax,%rbx,4),%xmm3
+  .byte  243,66,15,16,52,160                 // movss         (%rax,%r12,4),%xmm6
+  .byte  102,15,58,33,222,32                 // insertps      $0x20,%xmm6,%xmm3
+  .byte  73,193,238,32                       // shr           $0x20,%r14
+  .byte  243,66,15,16,52,176                 // movss         (%rax,%r14,4),%xmm6
+  .byte  102,15,58,33,222,48                 // insertps      $0x30,%xmm6,%xmm3
+  .byte  102,65,15,126,213                   // movd          %xmm2,%r13d
+  .byte  102,65,15,58,22,214,1               // pextrd        $0x1,%xmm2,%r14d
+  .byte  102,65,15,58,22,215,2               // pextrd        $0x2,%xmm2,%r15d
+  .byte  102,65,15,58,22,212,3               // pextrd        $0x3,%xmm2,%r12d
+  .byte  102,15,254,215                      // paddd         %xmm7,%xmm2
+  .byte  102,68,15,111,239                   // movdqa        %xmm7,%xmm13
+  .byte  102,72,15,58,22,211,1               // pextrq        $0x1,%xmm2,%rbx
+  .byte  102,72,15,126,213                   // movq          %xmm2,%rbp
+  .byte  137,233                             // mov           %ebp,%ecx
+  .byte  72,193,237,32                       // shr           $0x20,%rbp
+  .byte  243,15,16,60,136                    // movss         (%rax,%rcx,4),%xmm7
+  .byte  102,15,58,33,60,168,16              // insertps      $0x10,(%rax,%rbp,4),%xmm7
+  .byte  137,217                             // mov           %ebx,%ecx
+  .byte  243,15,16,20,136                    // movss         (%rax,%rcx,4),%xmm2
+  .byte  102,15,58,33,250,32                 // insertps      $0x20,%xmm2,%xmm7
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  243,15,16,20,152                    // movss         (%rax,%rbx,4),%xmm2
+  .byte  102,15,58,33,250,48                 // insertps      $0x30,%xmm2,%xmm7
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  68,15,92,216                        // subps         %xmm0,%xmm11
+  .byte  243,66,15,16,20,128                 // movss         (%rax,%r8,4),%xmm2
+  .byte  102,66,15,58,33,20,136,16           // insertps      $0x10,(%rax,%r9,4),%xmm2
+  .byte  102,66,15,58,33,20,144,32           // insertps      $0x20,(%rax,%r10,4),%xmm2
+  .byte  102,66,15,58,33,20,152,48           // insertps      $0x30,(%rax,%r11,4),%xmm2
+  .byte  243,66,15,16,4,168                  // movss         (%rax,%r13,4),%xmm0
+  .byte  102,66,15,58,33,4,176,16            // insertps      $0x10,(%rax,%r14,4),%xmm0
+  .byte  102,66,15,58,33,4,184,32            // insertps      $0x20,(%rax,%r15,4),%xmm0
+  .byte  102,66,15,58,33,4,160,48            // insertps      $0x30,(%rax,%r12,4),%xmm0
+  .byte  15,92,194                           // subps         %xmm2,%xmm0
+  .byte  65,15,89,195                        // mulps         %xmm11,%xmm0
+  .byte  15,88,194                           // addps         %xmm2,%xmm0
+  .byte  15,92,217                           // subps         %xmm1,%xmm3
+  .byte  65,15,89,219                        // mulps         %xmm11,%xmm3
+  .byte  15,88,217                           // addps         %xmm1,%xmm3
+  .byte  15,92,252                           // subps         %xmm4,%xmm7
+  .byte  65,15,89,251                        // mulps         %xmm11,%xmm7
+  .byte  15,88,252                           // addps         %xmm4,%xmm7
+  .byte  102,65,15,111,226                   // movdqa        %xmm10,%xmm4
+  .byte  102,15,254,229                      // paddd         %xmm5,%xmm4
+  .byte  102,15,111,204                      // movdqa        %xmm4,%xmm1
+  .byte  102,65,15,254,200                   // paddd         %xmm8,%xmm1
+  .byte  102,65,15,56,64,204                 // pmulld        %xmm12,%xmm1
+  .byte  102,15,126,201                      // movd          %xmm1,%ecx
+  .byte  102,15,58,22,205,1                  // pextrd        $0x1,%xmm1,%ebp
+  .byte  102,65,15,58,22,200,2               // pextrd        $0x2,%xmm1,%r8d
+  .byte  102,15,58,22,203,3                  // pextrd        $0x3,%xmm1,%ebx
+  .byte  243,15,16,20,136                    // movss         (%rax,%rcx,4),%xmm2
+  .byte  102,15,58,33,20,168,16              // insertps      $0x10,(%rax,%rbp,4),%xmm2
+  .byte  102,66,15,58,33,20,128,32           // insertps      $0x20,(%rax,%r8,4),%xmm2
+  .byte  243,15,16,52,152                    // movss         (%rax,%rbx,4),%xmm6
+  .byte  102,15,58,33,214,48                 // insertps      $0x30,%xmm6,%xmm2
+  .byte  102,15,111,241                      // movdqa        %xmm1,%xmm6
+  .byte  102,65,15,250,247                   // psubd         %xmm15,%xmm6
+  .byte  102,69,15,118,255                   // pcmpeqd       %xmm15,%xmm15
+  .byte  102,72,15,58,22,241,1               // pextrq        $0x1,%xmm6,%rcx
+  .byte  102,72,15,126,245                   // movq          %xmm6,%rbp
+  .byte  65,137,232                          // mov           %ebp,%r8d
+  .byte  72,193,237,32                       // shr           $0x20,%rbp
+  .byte  137,203                             // mov           %ecx,%ebx
+  .byte  243,66,15,16,52,128                 // movss         (%rax,%r8,4),%xmm6
+  .byte  102,15,58,33,52,168,16              // insertps      $0x10,(%rax,%rbp,4),%xmm6
+  .byte  243,15,16,44,152                    // movss         (%rax,%rbx,4),%xmm5
+  .byte  102,15,58,33,245,32                 // insertps      $0x20,%xmm5,%xmm6
+  .byte  72,193,233,32                       // shr           $0x20,%rcx
+  .byte  243,15,16,44,136                    // movss         (%rax,%rcx,4),%xmm5
+  .byte  102,15,58,33,245,48                 // insertps      $0x30,%xmm5,%xmm6
+  .byte  102,65,15,254,205                   // paddd         %xmm13,%xmm1
+  .byte  102,72,15,58,22,201,1               // pextrq        $0x1,%xmm1,%rcx
+  .byte  102,72,15,126,205                   // movq          %xmm1,%rbp
+  .byte  65,137,232                          // mov           %ebp,%r8d
+  .byte  72,193,237,32                       // shr           $0x20,%rbp
+  .byte  137,203                             // mov           %ecx,%ebx
+  .byte  243,66,15,16,12,128                 // movss         (%rax,%r8,4),%xmm1
+  .byte  102,15,58,33,12,168,16              // insertps      $0x10,(%rax,%rbp,4),%xmm1
+  .byte  243,15,16,44,152                    // movss         (%rax,%rbx,4),%xmm5
+  .byte  102,15,58,33,205,32                 // insertps      $0x20,%xmm5,%xmm1
+  .byte  72,193,233,32                       // shr           $0x20,%rcx
+  .byte  243,15,16,44,136                    // movss         (%rax,%rcx,4),%xmm5
+  .byte  102,15,58,33,205,48                 // insertps      $0x30,%xmm5,%xmm1
+  .byte  102,65,15,254,230                   // paddd         %xmm14,%xmm4
+  .byte  102,65,15,56,64,228                 // pmulld        %xmm12,%xmm4
+  .byte  102,15,111,236                      // movdqa        %xmm4,%xmm5
+  .byte  102,65,15,250,239                   // psubd         %xmm15,%xmm5
+  .byte  102,72,15,58,22,233,1               // pextrq        $0x1,%xmm5,%rcx
+  .byte  102,72,15,126,237                   // movq          %xmm5,%rbp
+  .byte  65,137,232                          // mov           %ebp,%r8d
+  .byte  72,193,237,32                       // shr           $0x20,%rbp
+  .byte  137,203                             // mov           %ecx,%ebx
+  .byte  243,70,15,16,36,128                 // movss         (%rax,%r8,4),%xmm12
+  .byte  102,68,15,58,33,36,168,16           // insertps      $0x10,(%rax,%rbp,4),%xmm12
+  .byte  243,15,16,44,152                    // movss         (%rax,%rbx,4),%xmm5
+  .byte  102,68,15,58,33,229,32              // insertps      $0x20,%xmm5,%xmm12
+  .byte  72,193,233,32                       // shr           $0x20,%rcx
+  .byte  243,15,16,44,136                    // movss         (%rax,%rcx,4),%xmm5
+  .byte  102,68,15,58,33,229,48              // insertps      $0x30,%xmm5,%xmm12
+  .byte  102,65,15,126,224                   // movd          %xmm4,%r8d
+  .byte  102,65,15,58,22,227,1               // pextrd        $0x1,%xmm4,%r11d
+  .byte  102,65,15,58,22,226,2               // pextrd        $0x2,%xmm4,%r10d
+  .byte  102,65,15,58,22,225,3               // pextrd        $0x3,%xmm4,%r9d
+  .byte  102,65,15,254,229                   // paddd         %xmm13,%xmm4
+  .byte  102,72,15,58,22,225,1               // pextrq        $0x1,%xmm4,%rcx
+  .byte  102,72,15,126,227                   // movq          %xmm4,%rbx
+  .byte  65,137,222                          // mov           %ebx,%r14d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  137,205                             // mov           %ecx,%ebp
+  .byte  243,70,15,16,60,176                 // movss         (%rax,%r14,4),%xmm15
+  .byte  102,68,15,58,33,60,152,16           // insertps      $0x10,(%rax,%rbx,4),%xmm15
+  .byte  243,15,16,36,168                    // movss         (%rax,%rbp,4),%xmm4
+  .byte  102,68,15,58,33,252,32              // insertps      $0x20,%xmm4,%xmm15
+  .byte  72,193,233,32                       // shr           $0x20,%rcx
+  .byte  243,15,16,36,136                    // movss         (%rax,%rcx,4),%xmm4
+  .byte  102,68,15,58,33,252,48              // insertps      $0x30,%xmm4,%xmm15
+  .byte  243,66,15,16,36,128                 // movss         (%rax,%r8,4),%xmm4
+  .byte  102,66,15,58,33,36,152,16           // insertps      $0x10,(%rax,%r11,4),%xmm4
+  .byte  102,66,15,58,33,36,144,32           // insertps      $0x20,(%rax,%r10,4),%xmm4
+  .byte  102,66,15,58,33,36,136,48           // insertps      $0x30,(%rax,%r9,4),%xmm4
+  .byte  15,92,226                           // subps         %xmm2,%xmm4
+  .byte  65,15,89,227                        // mulps         %xmm11,%xmm4
+  .byte  15,88,226                           // addps         %xmm2,%xmm4
+  .byte  68,15,92,230                        // subps         %xmm6,%xmm12
+  .byte  69,15,89,227                        // mulps         %xmm11,%xmm12
+  .byte  68,15,88,230                        // addps         %xmm6,%xmm12
+  .byte  68,15,92,249                        // subps         %xmm1,%xmm15
+  .byte  69,15,89,251                        // mulps         %xmm11,%xmm15
+  .byte  68,15,88,249                        // addps         %xmm1,%xmm15
+  .byte  15,91,76,36,160                     // cvtdq2ps      -0x60(%rsp),%xmm1
+  .byte  68,15,40,108,36,144                 // movaps        -0x70(%rsp),%xmm13
+  .byte  68,15,92,233                        // subps         %xmm1,%xmm13
+  .byte  15,92,224                           // subps         %xmm0,%xmm4
+  .byte  65,15,89,229                        // mulps         %xmm13,%xmm4
+  .byte  15,88,224                           // addps         %xmm0,%xmm4
+  .byte  68,15,92,227                        // subps         %xmm3,%xmm12
+  .byte  69,15,89,229                        // mulps         %xmm13,%xmm12
+  .byte  68,15,88,227                        // addps         %xmm3,%xmm12
+  .byte  68,15,92,255                        // subps         %xmm7,%xmm15
+  .byte  69,15,89,253                        // mulps         %xmm13,%xmm15
+  .byte  68,15,88,255                        // addps         %xmm7,%xmm15
+  .byte  243,15,91,84,36,176                 // cvttps2dq     -0x50(%rsp),%xmm2
+  .byte  102,68,15,254,202                   // paddd         %xmm2,%xmm9
+  .byte  102,65,15,111,192                   // movdqa        %xmm8,%xmm0
+  .byte  102,65,15,254,193                   // paddd         %xmm9,%xmm0
+  .byte  102,15,111,45,181,154,1,0           // movdqa        0x19ab5(%rip),%xmm5        # 3d5a0 <_sk_srcover_bgra_8888_sse2_lowp+0x1354>
+  .byte  102,15,56,64,197                    // pmulld        %xmm5,%xmm0
+  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
+  .byte  102,15,118,246                      // pcmpeqd       %xmm6,%xmm6
+  .byte  102,15,250,206                      // psubd         %xmm6,%xmm1
+  .byte  102,72,15,58,22,201,1               // pextrq        $0x1,%xmm1,%rcx
+  .byte  102,72,15,126,205                   // movq          %xmm1,%rbp
+  .byte  137,235                             // mov           %ebp,%ebx
+  .byte  72,193,237,32                       // shr           $0x20,%rbp
+  .byte  65,137,200                          // mov           %ecx,%r8d
+  .byte  243,15,16,12,152                    // movss         (%rax,%rbx,4),%xmm1
+  .byte  102,15,58,33,12,168,16              // insertps      $0x10,(%rax,%rbp,4),%xmm1
+  .byte  243,66,15,16,28,128                 // movss         (%rax,%r8,4),%xmm3
+  .byte  102,15,58,33,203,32                 // insertps      $0x20,%xmm3,%xmm1
+  .byte  72,193,233,32                       // shr           $0x20,%rcx
+  .byte  243,15,16,28,136                    // movss         (%rax,%rcx,4),%xmm3
+  .byte  102,15,58,33,203,48                 // insertps      $0x30,%xmm3,%xmm1
+  .byte  102,65,15,126,192                   // movd          %xmm0,%r8d
+  .byte  102,65,15,58,22,193,1               // pextrd        $0x1,%xmm0,%r9d
+  .byte  102,65,15,58,22,194,2               // pextrd        $0x2,%xmm0,%r10d
+  .byte  102,65,15,58,22,195,3               // pextrd        $0x3,%xmm0,%r11d
+  .byte  102,15,111,61,230,147,1,0           // movdqa        0x193e6(%rip),%xmm7        # 3cf40 <_sk_srcover_bgra_8888_sse2_lowp+0xcf4>
+  .byte  102,15,254,199                      // paddd         %xmm7,%xmm0
+  .byte  102,72,15,58,22,193,1               // pextrq        $0x1,%xmm0,%rcx
+  .byte  102,72,15,126,195                   // movq          %xmm0,%rbx
+  .byte  137,221                             // mov           %ebx,%ebp
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  65,137,206                          // mov           %ecx,%r14d
+  .byte  243,15,16,4,168                     // movss         (%rax,%rbp,4),%xmm0
+  .byte  102,15,58,33,4,152,16               // insertps      $0x10,(%rax,%rbx,4),%xmm0
+  .byte  243,66,15,16,28,176                 // movss         (%rax,%r14,4),%xmm3
+  .byte  102,15,58,33,195,32                 // insertps      $0x20,%xmm3,%xmm0
+  .byte  72,193,233,32                       // shr           $0x20,%rcx
+  .byte  243,15,16,28,136                    // movss         (%rax,%rcx,4),%xmm3
+  .byte  102,15,58,33,195,48                 // insertps      $0x30,%xmm3,%xmm0
+  .byte  102,69,15,254,206                   // paddd         %xmm14,%xmm9
+  .byte  102,68,15,56,64,205                 // pmulld        %xmm5,%xmm9
+  .byte  102,65,15,111,217                   // movdqa        %xmm9,%xmm3
+  .byte  102,15,250,222                      // psubd         %xmm6,%xmm3
+  .byte  102,72,15,58,22,217,1               // pextrq        $0x1,%xmm3,%rcx
+  .byte  102,72,15,126,219                   // movq          %xmm3,%rbx
+  .byte  137,221                             // mov           %ebx,%ebp
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  65,137,206                          // mov           %ecx,%r14d
+  .byte  243,15,16,52,168                    // movss         (%rax,%rbp,4),%xmm6
+  .byte  102,15,58,33,52,152,16              // insertps      $0x10,(%rax,%rbx,4),%xmm6
+  .byte  243,66,15,16,28,176                 // movss         (%rax,%r14,4),%xmm3
+  .byte  102,15,58,33,243,32                 // insertps      $0x20,%xmm3,%xmm6
+  .byte  72,193,233,32                       // shr           $0x20,%rcx
+  .byte  243,15,16,28,136                    // movss         (%rax,%rcx,4),%xmm3
+  .byte  102,15,58,33,243,48                 // insertps      $0x30,%xmm3,%xmm6
+  .byte  102,69,15,126,205                   // movd          %xmm9,%r13d
+  .byte  102,69,15,58,22,207,1               // pextrd        $0x1,%xmm9,%r15d
+  .byte  102,69,15,58,22,204,2               // pextrd        $0x2,%xmm9,%r12d
+  .byte  102,69,15,58,22,206,3               // pextrd        $0x3,%xmm9,%r14d
+  .byte  102,68,15,254,207                   // paddd         %xmm7,%xmm9
+  .byte  102,76,15,58,22,203,1               // pextrq        $0x1,%xmm9,%rbx
+  .byte  102,76,15,126,205                   // movq          %xmm9,%rbp
+  .byte  137,233                             // mov           %ebp,%ecx
+  .byte  72,193,237,32                       // shr           $0x20,%rbp
+  .byte  243,15,16,60,136                    // movss         (%rax,%rcx,4),%xmm7
+  .byte  102,15,58,33,60,168,16              // insertps      $0x10,(%rax,%rbp,4),%xmm7
+  .byte  137,217                             // mov           %ebx,%ecx
+  .byte  243,15,16,28,136                    // movss         (%rax,%rcx,4),%xmm3
+  .byte  102,15,58,33,251,32                 // insertps      $0x20,%xmm3,%xmm7
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  243,15,16,28,152                    // movss         (%rax,%rbx,4),%xmm3
+  .byte  102,15,58,33,251,48                 // insertps      $0x30,%xmm3,%xmm7
+  .byte  243,66,15,16,44,128                 // movss         (%rax,%r8,4),%xmm5
+  .byte  102,66,15,58,33,44,136,16           // insertps      $0x10,(%rax,%r9,4),%xmm5
+  .byte  102,66,15,58,33,44,144,32           // insertps      $0x20,(%rax,%r10,4),%xmm5
+  .byte  102,66,15,58,33,44,152,48           // insertps      $0x30,(%rax,%r11,4),%xmm5
+  .byte  243,66,15,16,28,168                 // movss         (%rax,%r13,4),%xmm3
+  .byte  102,66,15,58,33,28,184,16           // insertps      $0x10,(%rax,%r15,4),%xmm3
+  .byte  102,66,15,58,33,28,160,32           // insertps      $0x20,(%rax,%r12,4),%xmm3
+  .byte  102,66,15,58,33,28,176,48           // insertps      $0x30,(%rax,%r14,4),%xmm3
+  .byte  15,92,221                           // subps         %xmm5,%xmm3
+  .byte  65,15,89,219                        // mulps         %xmm11,%xmm3
+  .byte  15,88,221                           // addps         %xmm5,%xmm3
+  .byte  15,92,241                           // subps         %xmm1,%xmm6
+  .byte  65,15,89,243                        // mulps         %xmm11,%xmm6
+  .byte  15,88,241                           // addps         %xmm1,%xmm6
+  .byte  15,92,248                           // subps         %xmm0,%xmm7
+  .byte  65,15,89,251                        // mulps         %xmm11,%xmm7
+  .byte  15,88,248                           // addps         %xmm0,%xmm7
+  .byte  102,68,15,254,210                   // paddd         %xmm2,%xmm10
+  .byte  102,69,15,254,194                   // paddd         %xmm10,%xmm8
+  .byte  102,15,111,13,241,152,1,0           // movdqa        0x198f1(%rip),%xmm1        # 3d5a0 <_sk_srcover_bgra_8888_sse2_lowp+0x1354>
+  .byte  102,68,15,56,64,193                 // pmulld        %xmm1,%xmm8
+  .byte  102,65,15,111,192                   // movdqa        %xmm8,%xmm0
+  .byte  102,15,118,237                      // pcmpeqd       %xmm5,%xmm5
+  .byte  102,15,250,197                      // psubd         %xmm5,%xmm0
+  .byte  102,72,15,58,22,193,1               // pextrq        $0x1,%xmm0,%rcx
+  .byte  102,72,15,126,197                   // movq          %xmm0,%rbp
+  .byte  137,235                             // mov           %ebp,%ebx
+  .byte  72,193,237,32                       // shr           $0x20,%rbp
+  .byte  65,137,200                          // mov           %ecx,%r8d
+  .byte  243,68,15,16,12,152                 // movss         (%rax,%rbx,4),%xmm9
+  .byte  102,68,15,58,33,12,168,16           // insertps      $0x10,(%rax,%rbp,4),%xmm9
+  .byte  243,66,15,16,4,128                  // movss         (%rax,%r8,4),%xmm0
+  .byte  102,68,15,58,33,200,32              // insertps      $0x20,%xmm0,%xmm9
+  .byte  72,193,233,32                       // shr           $0x20,%rcx
+  .byte  243,15,16,4,136                     // movss         (%rax,%rcx,4),%xmm0
+  .byte  102,68,15,58,33,200,48              // insertps      $0x30,%xmm0,%xmm9
+  .byte  102,69,15,126,192                   // movd          %xmm8,%r8d
+  .byte  102,69,15,58,22,193,1               // pextrd        $0x1,%xmm8,%r9d
+  .byte  102,69,15,58,22,194,2               // pextrd        $0x2,%xmm8,%r10d
+  .byte  102,69,15,58,22,195,3               // pextrd        $0x3,%xmm8,%r11d
+  .byte  102,15,111,21,28,146,1,0            // movdqa        0x1921c(%rip),%xmm2        # 3cf40 <_sk_srcover_bgra_8888_sse2_lowp+0xcf4>
+  .byte  102,68,15,254,194                   // paddd         %xmm2,%xmm8
+  .byte  102,76,15,58,22,193,1               // pextrq        $0x1,%xmm8,%rcx
+  .byte  102,76,15,126,195                   // movq          %xmm8,%rbx
+  .byte  137,221                             // mov           %ebx,%ebp
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  65,137,206                          // mov           %ecx,%r14d
+  .byte  243,68,15,16,4,168                  // movss         (%rax,%rbp,4),%xmm8
+  .byte  102,68,15,58,33,4,152,16            // insertps      $0x10,(%rax,%rbx,4),%xmm8
+  .byte  243,66,15,16,4,176                  // movss         (%rax,%r14,4),%xmm0
+  .byte  102,68,15,58,33,192,32              // insertps      $0x20,%xmm0,%xmm8
+  .byte  72,193,233,32                       // shr           $0x20,%rcx
+  .byte  243,15,16,4,136                     // movss         (%rax,%rcx,4),%xmm0
+  .byte  102,68,15,58,33,192,48              // insertps      $0x30,%xmm0,%xmm8
+  .byte  102,69,15,254,214                   // paddd         %xmm14,%xmm10
+  .byte  102,68,15,56,64,209                 // pmulld        %xmm1,%xmm10
+  .byte  102,65,15,111,194                   // movdqa        %xmm10,%xmm0
+  .byte  102,15,250,197                      // psubd         %xmm5,%xmm0
+  .byte  102,72,15,58,22,193,1               // pextrq        $0x1,%xmm0,%rcx
+  .byte  102,72,15,126,195                   // movq          %xmm0,%rbx
+  .byte  137,221                             // mov           %ebx,%ebp
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  65,137,206                          // mov           %ecx,%r14d
+  .byte  243,15,16,12,168                    // movss         (%rax,%rbp,4),%xmm1
+  .byte  102,15,58,33,12,152,16              // insertps      $0x10,(%rax,%rbx,4),%xmm1
+  .byte  243,66,15,16,4,176                  // movss         (%rax,%r14,4),%xmm0
+  .byte  102,15,58,33,200,32                 // insertps      $0x20,%xmm0,%xmm1
+  .byte  72,193,233,32                       // shr           $0x20,%rcx
+  .byte  243,15,16,4,136                     // movss         (%rax,%rcx,4),%xmm0
+  .byte  102,15,58,33,200,48                 // insertps      $0x30,%xmm0,%xmm1
+  .byte  102,69,15,126,213                   // movd          %xmm10,%r13d
+  .byte  102,69,15,58,22,215,1               // pextrd        $0x1,%xmm10,%r15d
+  .byte  102,69,15,58,22,212,2               // pextrd        $0x2,%xmm10,%r12d
+  .byte  102,69,15,58,22,214,3               // pextrd        $0x3,%xmm10,%r14d
+  .byte  102,68,15,254,210                   // paddd         %xmm2,%xmm10
+  .byte  102,76,15,58,22,211,1               // pextrq        $0x1,%xmm10,%rbx
+  .byte  102,76,15,126,213                   // movq          %xmm10,%rbp
+  .byte  137,233                             // mov           %ebp,%ecx
+  .byte  72,193,237,32                       // shr           $0x20,%rbp
+  .byte  243,15,16,20,136                    // movss         (%rax,%rcx,4),%xmm2
+  .byte  102,15,58,33,20,168,16              // insertps      $0x10,(%rax,%rbp,4),%xmm2
+  .byte  137,217                             // mov           %ebx,%ecx
+  .byte  243,15,16,4,136                     // movss         (%rax,%rcx,4),%xmm0
+  .byte  102,15,58,33,208,32                 // insertps      $0x20,%xmm0,%xmm2
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  243,15,16,4,152                     // movss         (%rax,%rbx,4),%xmm0
+  .byte  102,15,58,33,208,48                 // insertps      $0x30,%xmm0,%xmm2
+  .byte  243,66,15,16,44,128                 // movss         (%rax,%r8,4),%xmm5
+  .byte  102,66,15,58,33,44,136,16           // insertps      $0x10,(%rax,%r9,4),%xmm5
+  .byte  102,66,15,58,33,44,144,32           // insertps      $0x20,(%rax,%r10,4),%xmm5
+  .byte  102,66,15,58,33,44,152,48           // insertps      $0x30,(%rax,%r11,4),%xmm5
+  .byte  243,66,15,16,4,168                  // movss         (%rax,%r13,4),%xmm0
+  .byte  102,66,15,58,33,4,184,16            // insertps      $0x10,(%rax,%r15,4),%xmm0
+  .byte  102,66,15,58,33,4,160,32            // insertps      $0x20,(%rax,%r12,4),%xmm0
+  .byte  102,66,15,58,33,4,176,48            // insertps      $0x30,(%rax,%r14,4),%xmm0
+  .byte  15,92,197                           // subps         %xmm5,%xmm0
+  .byte  65,15,89,195                        // mulps         %xmm11,%xmm0
+  .byte  15,88,197                           // addps         %xmm5,%xmm0
+  .byte  65,15,92,201                        // subps         %xmm9,%xmm1
+  .byte  65,15,89,203                        // mulps         %xmm11,%xmm1
+  .byte  65,15,88,201                        // addps         %xmm9,%xmm1
+  .byte  65,15,92,208                        // subps         %xmm8,%xmm2
+  .byte  65,15,89,211                        // mulps         %xmm11,%xmm2
+  .byte  65,15,88,208                        // addps         %xmm8,%xmm2
+  .byte  15,92,195                           // subps         %xmm3,%xmm0
+  .byte  65,15,89,197                        // mulps         %xmm13,%xmm0
+  .byte  15,88,195                           // addps         %xmm3,%xmm0
+  .byte  15,92,206                           // subps         %xmm6,%xmm1
+  .byte  65,15,89,205                        // mulps         %xmm13,%xmm1
+  .byte  15,88,206                           // addps         %xmm6,%xmm1
+  .byte  15,92,215                           // subps         %xmm7,%xmm2
+  .byte  65,15,89,213                        // mulps         %xmm13,%xmm2
+  .byte  15,88,215                           // addps         %xmm7,%xmm2
+  .byte  15,91,92,36,192                     // cvtdq2ps      -0x40(%rsp),%xmm3
+  .byte  15,40,108,36,208                    // movaps        -0x30(%rsp),%xmm5
+  .byte  15,92,235                           // subps         %xmm3,%xmm5
+  .byte  15,92,196                           // subps         %xmm4,%xmm0
+  .byte  15,89,197                           // mulps         %xmm5,%xmm0
+  .byte  15,88,196                           // addps         %xmm4,%xmm0
+  .byte  65,15,92,204                        // subps         %xmm12,%xmm1
+  .byte  15,89,205                           // mulps         %xmm5,%xmm1
+  .byte  65,15,88,204                        // addps         %xmm12,%xmm1
+  .byte  65,15,92,215                        // subps         %xmm15,%xmm2
+  .byte  15,89,213                           // mulps         %xmm5,%xmm2
+  .byte  65,15,88,215                        // addps         %xmm15,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  72,139,76,36,136                    // mov           -0x78(%rsp),%rcx
+  .byte  15,40,92,36,224                     // movaps        -0x20(%rsp),%xmm3
+  .byte  15,40,100,36,240                    // movaps        -0x10(%rsp),%xmm4
+  .byte  15,40,44,36                         // movaps        (%rsp),%xmm5
+  .byte  15,40,116,36,16                     // movaps        0x10(%rsp),%xmm6
+  .byte  15,40,124,36,32                     // movaps        0x20(%rsp),%xmm7
+  .byte  72,131,196,56                       // add           $0x38,%rsp
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,93                               // pop           %r13
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  93                                  // pop           %rbp
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_clut_4D_sse41
+.globl _sk_clut_4D_sse41
+FUNCTION(_sk_clut_4D_sse41)
+_sk_clut_4D_sse41:
+  .byte  85                                  // push          %rbp
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,85                               // push          %r13
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,129,236,136,0,0,0                // sub           $0x88,%rsp
+  .byte  15,41,124,36,112                    // movaps        %xmm7,0x70(%rsp)
+  .byte  15,41,116,36,96                     // movaps        %xmm6,0x60(%rsp)
+  .byte  15,41,108,36,80                     // movaps        %xmm5,0x50(%rsp)
+  .byte  15,41,100,36,64                     // movaps        %xmm4,0x40(%rsp)
+  .byte  68,15,40,193                        // movaps        %xmm1,%xmm8
+  .byte  72,137,76,36,248                    // mov           %rcx,-0x8(%rsp)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  68,139,64,20                        // mov           0x14(%rax),%r8d
+  .byte  69,141,72,255                       // lea           -0x1(%r8),%r9d
+  .byte  102,65,15,110,201                   // movd          %r9d,%xmm1
+  .byte  102,15,112,201,0                    // pshufd        $0x0,%xmm1,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  15,89,203                           // mulps         %xmm3,%xmm1
+  .byte  15,41,76,36,48                      // movaps        %xmm1,0x30(%rsp)
+  .byte  243,15,91,249                       // cvttps2dq     %xmm1,%xmm7
+  .byte  15,40,29,79,150,1,0                 // movaps        0x1964f(%rip),%xmm3        # 3d590 <_sk_srcover_bgra_8888_sse2_lowp+0x1344>
+  .byte  15,88,203                           // addps         %xmm3,%xmm1
+  .byte  15,41,76,36,160                     // movaps        %xmm1,-0x60(%rsp)
+  .byte  102,65,15,110,232                   // movd          %r8d,%xmm5
+  .byte  102,68,15,112,237,0                 // pshufd        $0x0,%xmm5,%xmm13
+  .byte  68,139,64,16                        // mov           0x10(%rax),%r8d
+  .byte  69,141,72,255                       // lea           -0x1(%r8),%r9d
+  .byte  102,65,15,110,201                   // movd          %r9d,%xmm1
+  .byte  102,15,112,201,0                    // pshufd        $0x0,%xmm1,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  15,89,202                           // mulps         %xmm2,%xmm1
+  .byte  15,41,76,36,224                     // movaps        %xmm1,-0x20(%rsp)
+  .byte  243,15,91,209                       // cvttps2dq     %xmm1,%xmm2
+  .byte  102,15,127,84,36,32                 // movdqa        %xmm2,0x20(%rsp)
+  .byte  15,88,203                           // addps         %xmm3,%xmm1
+  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
+  .byte  102,65,15,56,64,205                 // pmulld        %xmm13,%xmm1
+  .byte  102,15,127,76,36,144                // movdqa        %xmm1,-0x70(%rsp)
+  .byte  102,68,15,56,64,234                 // pmulld        %xmm2,%xmm13
+  .byte  102,65,15,110,240                   // movd          %r8d,%xmm6
+  .byte  102,15,56,64,245                    // pmulld        %xmm5,%xmm6
+  .byte  68,139,64,12                        // mov           0xc(%rax),%r8d
+  .byte  69,141,72,255                       // lea           -0x1(%r8),%r9d
+  .byte  102,65,15,110,201                   // movd          %r9d,%xmm1
+  .byte  102,15,112,201,0                    // pshufd        $0x0,%xmm1,%xmm1
+  .byte  15,91,209                           // cvtdq2ps      %xmm1,%xmm2
+  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
+  .byte  68,139,72,8                         // mov           0x8(%rax),%r9d
+  .byte  65,255,201                          // dec           %r9d
+  .byte  102,65,15,110,201                   // movd          %r9d,%xmm1
+  .byte  102,15,112,201,0                    // pshufd        $0x0,%xmm1,%xmm1
+  .byte  68,15,91,225                        // cvtdq2ps      %xmm1,%xmm12
+  .byte  68,15,89,224                        // mulps         %xmm0,%xmm12
+  .byte  102,65,15,111,229                   // movdqa        %xmm13,%xmm4
+  .byte  102,15,127,124,36,16                // movdqa        %xmm7,0x10(%rsp)
+  .byte  102,15,254,231                      // paddd         %xmm7,%xmm4
+  .byte  102,65,15,110,232                   // movd          %r8d,%xmm5
+  .byte  102,15,56,64,238                    // pmulld        %xmm6,%xmm5
+  .byte  102,68,15,112,246,0                 // pshufd        $0x0,%xmm6,%xmm14
+  .byte  15,40,194                           // movaps        %xmm2,%xmm0
+  .byte  15,88,195                           // addps         %xmm3,%xmm0
+  .byte  243,68,15,91,192                    // cvttps2dq     %xmm0,%xmm8
+  .byte  102,69,15,56,64,198                 // pmulld        %xmm14,%xmm8
+  .byte  102,68,15,127,68,36,208             // movdqa        %xmm8,-0x30(%rsp)
+  .byte  243,15,91,194                       // cvttps2dq     %xmm2,%xmm0
+  .byte  102,15,127,68,36,128                // movdqa        %xmm0,-0x80(%rsp)
+  .byte  102,68,15,56,64,240                 // pmulld        %xmm0,%xmm14
+  .byte  102,65,15,111,206                   // movdqa        %xmm14,%xmm1
+  .byte  102,15,254,204                      // paddd         %xmm4,%xmm1
+  .byte  102,68,15,112,253,0                 // pshufd        $0x0,%xmm5,%xmm15
+  .byte  65,15,88,220                        // addps         %xmm12,%xmm3
+  .byte  243,68,15,91,203                    // cvttps2dq     %xmm3,%xmm9
+  .byte  102,69,15,56,64,207                 // pmulld        %xmm15,%xmm9
+  .byte  243,65,15,91,236                    // cvttps2dq     %xmm12,%xmm5
+  .byte  102,68,15,56,64,253                 // pmulld        %xmm5,%xmm15
+  .byte  102,65,15,111,223                   // movdqa        %xmm15,%xmm3
+  .byte  102,15,254,217                      // paddd         %xmm1,%xmm3
+  .byte  102,68,15,111,29,78,149,1,0         // movdqa        0x1954e(%rip),%xmm11        # 3d5a0 <_sk_srcover_bgra_8888_sse2_lowp+0x1354>
+  .byte  102,65,15,56,64,219                 // pmulld        %xmm11,%xmm3
+  .byte  102,15,118,192                      // pcmpeqd       %xmm0,%xmm0
+  .byte  102,15,111,243                      // movdqa        %xmm3,%xmm6
+  .byte  102,15,250,240                      // psubd         %xmm0,%xmm6
+  .byte  102,73,15,58,22,240,1               // pextrq        $0x1,%xmm6,%r8
+  .byte  102,73,15,126,241                   // movq          %xmm6,%r9
+  .byte  72,139,0                            // mov           (%rax),%rax
+  .byte  69,137,202                          // mov           %r9d,%r10d
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  69,137,195                          // mov           %r8d,%r11d
+  .byte  243,66,15,16,60,144                 // movss         (%rax,%r10,4),%xmm7
+  .byte  102,66,15,58,33,60,136,16           // insertps      $0x10,(%rax,%r9,4),%xmm7
+  .byte  243,66,15,16,52,152                 // movss         (%rax,%r11,4),%xmm6
+  .byte  102,15,58,33,254,32                 // insertps      $0x20,%xmm6,%xmm7
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,52,128                 // movss         (%rax,%r8,4),%xmm6
+  .byte  102,15,58,33,254,48                 // insertps      $0x30,%xmm6,%xmm7
+  .byte  102,65,15,126,216                   // movd          %xmm3,%r8d
+  .byte  102,65,15,58,22,217,1               // pextrd        $0x1,%xmm3,%r9d
+  .byte  102,65,15,58,22,218,2               // pextrd        $0x2,%xmm3,%r10d
+  .byte  102,65,15,58,22,219,3               // pextrd        $0x3,%xmm3,%r11d
+  .byte  102,68,15,111,21,118,142,1,0        // movdqa        0x18e76(%rip),%xmm10        # 3cf40 <_sk_srcover_bgra_8888_sse2_lowp+0xcf4>
+  .byte  102,65,15,254,218                   // paddd         %xmm10,%xmm3
+  .byte  102,73,15,58,22,222,1               // pextrq        $0x1,%xmm3,%r14
+  .byte  102,72,15,126,219                   // movq          %xmm3,%rbx
+  .byte  65,137,223                          // mov           %ebx,%r15d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,244                          // mov           %r14d,%r12d
+  .byte  243,66,15,16,4,184                  // movss         (%rax,%r15,4),%xmm0
+  .byte  102,15,58,33,4,152,16               // insertps      $0x10,(%rax,%rbx,4),%xmm0
+  .byte  243,66,15,16,28,160                 // movss         (%rax,%r12,4),%xmm3
+  .byte  102,15,58,33,195,32                 // insertps      $0x20,%xmm3,%xmm0
+  .byte  73,193,238,32                       // shr           $0x20,%r14
+  .byte  243,66,15,16,28,176                 // movss         (%rax,%r14,4),%xmm3
+  .byte  102,15,58,33,195,48                 // insertps      $0x30,%xmm3,%xmm0
+  .byte  102,68,15,127,76,36,176             // movdqa        %xmm9,-0x50(%rsp)
+  .byte  102,65,15,254,201                   // paddd         %xmm9,%xmm1
+  .byte  102,65,15,56,64,203                 // pmulld        %xmm11,%xmm1
+  .byte  102,15,111,217                      // movdqa        %xmm1,%xmm3
+  .byte  102,15,250,29,132,148,1,0           // psubd         0x19484(%rip),%xmm3        # 3d5b0 <_sk_srcover_bgra_8888_sse2_lowp+0x1364>
+  .byte  102,73,15,58,22,222,1               // pextrq        $0x1,%xmm3,%r14
+  .byte  102,72,15,126,219                   // movq          %xmm3,%rbx
+  .byte  65,137,223                          // mov           %ebx,%r15d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  69,137,244                          // mov           %r14d,%r12d
+  .byte  243,66,15,16,28,184                 // movss         (%rax,%r15,4),%xmm3
+  .byte  102,15,58,33,28,152,16              // insertps      $0x10,(%rax,%rbx,4),%xmm3
+  .byte  243,66,15,16,52,160                 // movss         (%rax,%r12,4),%xmm6
+  .byte  102,15,58,33,222,32                 // insertps      $0x20,%xmm6,%xmm3
+  .byte  73,193,238,32                       // shr           $0x20,%r14
+  .byte  243,66,15,16,52,176                 // movss         (%rax,%r14,4),%xmm6
+  .byte  102,15,58,33,222,48                 // insertps      $0x30,%xmm6,%xmm3
+  .byte  102,65,15,126,205                   // movd          %xmm1,%r13d
+  .byte  102,65,15,58,22,206,1               // pextrd        $0x1,%xmm1,%r14d
+  .byte  102,65,15,58,22,207,2               // pextrd        $0x2,%xmm1,%r15d
+  .byte  102,65,15,58,22,204,3               // pextrd        $0x3,%xmm1,%r12d
+  .byte  102,65,15,254,202                   // paddd         %xmm10,%xmm1
+  .byte  102,72,15,58,22,203,1               // pextrq        $0x1,%xmm1,%rbx
+  .byte  102,72,15,126,205                   // movq          %xmm1,%rbp
+  .byte  137,233                             // mov           %ebp,%ecx
+  .byte  72,193,237,32                       // shr           $0x20,%rbp
+  .byte  243,15,16,12,136                    // movss         (%rax,%rcx,4),%xmm1
+  .byte  102,15,58,33,12,168,16              // insertps      $0x10,(%rax,%rbp,4),%xmm1
+  .byte  137,217                             // mov           %ebx,%ecx
+  .byte  243,15,16,52,136                    // movss         (%rax,%rcx,4),%xmm6
+  .byte  102,15,58,33,206,32                 // insertps      $0x20,%xmm6,%xmm1
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  243,15,16,52,152                    // movss         (%rax,%rbx,4),%xmm6
+  .byte  102,15,58,33,206,48                 // insertps      $0x30,%xmm6,%xmm1
+  .byte  15,91,237                           // cvtdq2ps      %xmm5,%xmm5
+  .byte  68,15,92,229                        // subps         %xmm5,%xmm12
+  .byte  243,66,15,16,44,128                 // movss         (%rax,%r8,4),%xmm5
+  .byte  102,66,15,58,33,44,136,16           // insertps      $0x10,(%rax,%r9,4),%xmm5
+  .byte  102,66,15,58,33,44,144,32           // insertps      $0x20,(%rax,%r10,4),%xmm5
+  .byte  102,66,15,58,33,44,152,48           // insertps      $0x30,(%rax,%r11,4),%xmm5
+  .byte  243,66,15,16,52,168                 // movss         (%rax,%r13,4),%xmm6
+  .byte  102,66,15,58,33,52,176,16           // insertps      $0x10,(%rax,%r14,4),%xmm6
+  .byte  102,66,15,58,33,52,184,32           // insertps      $0x20,(%rax,%r15,4),%xmm6
+  .byte  102,66,15,58,33,52,160,48           // insertps      $0x30,(%rax,%r12,4),%xmm6
+  .byte  15,92,245                           // subps         %xmm5,%xmm6
+  .byte  65,15,89,244                        // mulps         %xmm12,%xmm6
+  .byte  15,88,245                           // addps         %xmm5,%xmm6
+  .byte  15,92,223                           // subps         %xmm7,%xmm3
+  .byte  65,15,89,220                        // mulps         %xmm12,%xmm3
+  .byte  15,88,223                           // addps         %xmm7,%xmm3
+  .byte  15,92,200                           // subps         %xmm0,%xmm1
+  .byte  65,15,89,204                        // mulps         %xmm12,%xmm1
+  .byte  15,88,200                           // addps         %xmm0,%xmm1
+  .byte  102,65,15,254,224                   // paddd         %xmm8,%xmm4
+  .byte  102,15,111,196                      // movdqa        %xmm4,%xmm0
+  .byte  102,68,15,127,124,36,192            // movdqa        %xmm15,-0x40(%rsp)
+  .byte  102,65,15,254,199                   // paddd         %xmm15,%xmm0
+  .byte  102,65,15,56,64,195                 // pmulld        %xmm11,%xmm0
+  .byte  102,15,111,232                      // movdqa        %xmm0,%xmm5
+  .byte  102,15,250,45,100,147,1,0           // psubd         0x19364(%rip),%xmm5        # 3d5b0 <_sk_srcover_bgra_8888_sse2_lowp+0x1364>
+  .byte  102,69,15,118,192                   // pcmpeqd       %xmm8,%xmm8
+  .byte  102,72,15,58,22,233,1               // pextrq        $0x1,%xmm5,%rcx
+  .byte  102,72,15,126,237                   // movq          %xmm5,%rbp
+  .byte  65,137,232                          // mov           %ebp,%r8d
+  .byte  72,193,237,32                       // shr           $0x20,%rbp
+  .byte  137,203                             // mov           %ecx,%ebx
+  .byte  243,66,15,16,60,128                 // movss         (%rax,%r8,4),%xmm7
+  .byte  102,15,58,33,60,168,16              // insertps      $0x10,(%rax,%rbp,4),%xmm7
+  .byte  243,15,16,44,152                    // movss         (%rax,%rbx,4),%xmm5
+  .byte  102,15,58,33,253,32                 // insertps      $0x20,%xmm5,%xmm7
+  .byte  72,193,233,32                       // shr           $0x20,%rcx
+  .byte  243,15,16,44,136                    // movss         (%rax,%rcx,4),%xmm5
+  .byte  102,15,58,33,253,48                 // insertps      $0x30,%xmm5,%xmm7
+  .byte  102,65,15,126,193                   // movd          %xmm0,%r9d
+  .byte  102,65,15,58,22,195,1               // pextrd        $0x1,%xmm0,%r11d
+  .byte  102,65,15,58,22,194,2               // pextrd        $0x2,%xmm0,%r10d
+  .byte  102,65,15,58,22,192,3               // pextrd        $0x3,%xmm0,%r8d
+  .byte  102,65,15,254,194                   // paddd         %xmm10,%xmm0
+  .byte  102,72,15,58,22,193,1               // pextrq        $0x1,%xmm0,%rcx
+  .byte  102,72,15,126,195                   // movq          %xmm0,%rbx
+  .byte  65,137,222                          // mov           %ebx,%r14d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  137,205                             // mov           %ecx,%ebp
+  .byte  243,66,15,16,4,176                  // movss         (%rax,%r14,4),%xmm0
+  .byte  102,15,58,33,4,152,16               // insertps      $0x10,(%rax,%rbx,4),%xmm0
+  .byte  243,15,16,44,168                    // movss         (%rax,%rbp,4),%xmm5
+  .byte  102,15,58,33,197,32                 // insertps      $0x20,%xmm5,%xmm0
+  .byte  72,193,233,32                       // shr           $0x20,%rcx
+  .byte  243,15,16,44,136                    // movss         (%rax,%rcx,4),%xmm5
+  .byte  102,15,58,33,197,48                 // insertps      $0x30,%xmm5,%xmm0
+  .byte  102,65,15,254,225                   // paddd         %xmm9,%xmm4
+  .byte  102,65,15,56,64,227                 // pmulld        %xmm11,%xmm4
+  .byte  102,15,111,236                      // movdqa        %xmm4,%xmm5
+  .byte  102,65,15,250,232                   // psubd         %xmm8,%xmm5
+  .byte  102,72,15,58,22,233,1               // pextrq        $0x1,%xmm5,%rcx
+  .byte  102,72,15,126,235                   // movq          %xmm5,%rbx
+  .byte  65,137,222                          // mov           %ebx,%r14d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  137,205                             // mov           %ecx,%ebp
+  .byte  243,70,15,16,4,176                  // movss         (%rax,%r14,4),%xmm8
+  .byte  102,68,15,58,33,4,152,16            // insertps      $0x10,(%rax,%rbx,4),%xmm8
+  .byte  243,15,16,44,168                    // movss         (%rax,%rbp,4),%xmm5
+  .byte  102,68,15,58,33,197,32              // insertps      $0x20,%xmm5,%xmm8
+  .byte  72,193,233,32                       // shr           $0x20,%rcx
+  .byte  243,15,16,44,136                    // movss         (%rax,%rcx,4),%xmm5
+  .byte  102,68,15,58,33,197,48              // insertps      $0x30,%xmm5,%xmm8
+  .byte  102,65,15,126,231                   // movd          %xmm4,%r15d
+  .byte  102,65,15,58,22,228,1               // pextrd        $0x1,%xmm4,%r12d
+  .byte  102,65,15,58,22,229,2               // pextrd        $0x2,%xmm4,%r13d
+  .byte  102,65,15,58,22,230,3               // pextrd        $0x3,%xmm4,%r14d
+  .byte  102,65,15,254,226                   // paddd         %xmm10,%xmm4
+  .byte  102,72,15,58,22,225,1               // pextrq        $0x1,%xmm4,%rcx
+  .byte  102,72,15,126,227                   // movq          %xmm4,%rbx
+  .byte  137,221                             // mov           %ebx,%ebp
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  243,68,15,16,12,168                 // movss         (%rax,%rbp,4),%xmm9
+  .byte  102,68,15,58,33,12,152,16           // insertps      $0x10,(%rax,%rbx,4),%xmm9
+  .byte  137,203                             // mov           %ecx,%ebx
+  .byte  243,15,16,36,152                    // movss         (%rax,%rbx,4),%xmm4
+  .byte  102,68,15,58,33,204,32              // insertps      $0x20,%xmm4,%xmm9
+  .byte  72,193,233,32                       // shr           $0x20,%rcx
+  .byte  243,15,16,36,136                    // movss         (%rax,%rcx,4),%xmm4
+  .byte  102,68,15,58,33,204,48              // insertps      $0x30,%xmm4,%xmm9
+  .byte  243,66,15,16,36,136                 // movss         (%rax,%r9,4),%xmm4
+  .byte  102,66,15,58,33,36,152,16           // insertps      $0x10,(%rax,%r11,4),%xmm4
+  .byte  102,66,15,58,33,36,144,32           // insertps      $0x20,(%rax,%r10,4),%xmm4
+  .byte  102,66,15,58,33,36,128,48           // insertps      $0x30,(%rax,%r8,4),%xmm4
+  .byte  243,66,15,16,44,184                 // movss         (%rax,%r15,4),%xmm5
+  .byte  102,66,15,58,33,44,160,16           // insertps      $0x10,(%rax,%r12,4),%xmm5
+  .byte  102,66,15,58,33,44,168,32           // insertps      $0x20,(%rax,%r13,4),%xmm5
+  .byte  102,66,15,58,33,44,176,48           // insertps      $0x30,(%rax,%r14,4),%xmm5
+  .byte  15,92,236                           // subps         %xmm4,%xmm5
+  .byte  65,15,89,236                        // mulps         %xmm12,%xmm5
+  .byte  15,88,236                           // addps         %xmm4,%xmm5
+  .byte  68,15,92,199                        // subps         %xmm7,%xmm8
+  .byte  69,15,89,196                        // mulps         %xmm12,%xmm8
+  .byte  68,15,88,199                        // addps         %xmm7,%xmm8
+  .byte  68,15,92,200                        // subps         %xmm0,%xmm9
+  .byte  69,15,89,204                        // mulps         %xmm12,%xmm9
+  .byte  68,15,88,200                        // addps         %xmm0,%xmm9
+  .byte  15,91,68,36,128                     // cvtdq2ps      -0x80(%rsp),%xmm0
+  .byte  15,92,208                           // subps         %xmm0,%xmm2
+  .byte  15,41,84,36,128                     // movaps        %xmm2,-0x80(%rsp)
+  .byte  15,92,238                           // subps         %xmm6,%xmm5
+  .byte  15,89,234                           // mulps         %xmm2,%xmm5
+  .byte  15,88,238                           // addps         %xmm6,%xmm5
+  .byte  68,15,92,195                        // subps         %xmm3,%xmm8
+  .byte  68,15,89,194                        // mulps         %xmm2,%xmm8
+  .byte  68,15,88,195                        // addps         %xmm3,%xmm8
+  .byte  68,15,92,201                        // subps         %xmm1,%xmm9
+  .byte  68,15,89,202                        // mulps         %xmm2,%xmm9
+  .byte  68,15,88,201                        // addps         %xmm1,%xmm9
+  .byte  102,15,111,68,36,144                // movdqa        -0x70(%rsp),%xmm0
+  .byte  102,15,254,68,36,16                 // paddd         0x10(%rsp),%xmm0
+  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
+  .byte  102,65,15,254,206                   // paddd         %xmm14,%xmm1
+  .byte  102,15,111,217                      // movdqa        %xmm1,%xmm3
+  .byte  102,65,15,254,223                   // paddd         %xmm15,%xmm3
+  .byte  102,65,15,111,211                   // movdqa        %xmm11,%xmm2
+  .byte  102,15,56,64,218                    // pmulld        %xmm2,%xmm3
+  .byte  102,15,126,217                      // movd          %xmm3,%ecx
+  .byte  102,15,58,22,221,1                  // pextrd        $0x1,%xmm3,%ebp
+  .byte  102,65,15,58,22,216,2               // pextrd        $0x2,%xmm3,%r8d
+  .byte  102,15,58,22,219,3                  // pextrd        $0x3,%xmm3,%ebx
+  .byte  243,68,15,16,20,136                 // movss         (%rax,%rcx,4),%xmm10
+  .byte  102,68,15,58,33,20,168,16           // insertps      $0x10,(%rax,%rbp,4),%xmm10
+  .byte  102,70,15,58,33,20,128,32           // insertps      $0x20,(%rax,%r8,4),%xmm10
+  .byte  243,15,16,36,152                    // movss         (%rax,%rbx,4),%xmm4
+  .byte  102,68,15,58,33,212,48              // insertps      $0x30,%xmm4,%xmm10
+  .byte  102,15,111,227                      // movdqa        %xmm3,%xmm4
+  .byte  102,15,118,246                      // pcmpeqd       %xmm6,%xmm6
+  .byte  102,15,250,230                      // psubd         %xmm6,%xmm4
+  .byte  102,72,15,58,22,225,1               // pextrq        $0x1,%xmm4,%rcx
+  .byte  102,72,15,126,229                   // movq          %xmm4,%rbp
+  .byte  65,137,232                          // mov           %ebp,%r8d
+  .byte  72,193,237,32                       // shr           $0x20,%rbp
+  .byte  137,203                             // mov           %ecx,%ebx
+  .byte  243,70,15,16,28,128                 // movss         (%rax,%r8,4),%xmm11
+  .byte  102,68,15,58,33,28,168,16           // insertps      $0x10,(%rax,%rbp,4),%xmm11
+  .byte  243,15,16,36,152                    // movss         (%rax,%rbx,4),%xmm4
+  .byte  102,68,15,58,33,220,32              // insertps      $0x20,%xmm4,%xmm11
+  .byte  72,193,233,32                       // shr           $0x20,%rcx
+  .byte  243,15,16,36,136                    // movss         (%rax,%rcx,4),%xmm4
+  .byte  102,68,15,58,33,220,48              // insertps      $0x30,%xmm4,%xmm11
+  .byte  102,15,111,61,104,138,1,0           // movdqa        0x18a68(%rip),%xmm7        # 3cf40 <_sk_srcover_bgra_8888_sse2_lowp+0xcf4>
+  .byte  102,15,254,223                      // paddd         %xmm7,%xmm3
+  .byte  102,72,15,58,22,217,1               // pextrq        $0x1,%xmm3,%rcx
+  .byte  102,72,15,126,221                   // movq          %xmm3,%rbp
+  .byte  65,137,232                          // mov           %ebp,%r8d
+  .byte  72,193,237,32                       // shr           $0x20,%rbp
+  .byte  137,203                             // mov           %ecx,%ebx
+  .byte  243,66,15,16,36,128                 // movss         (%rax,%r8,4),%xmm4
+  .byte  102,15,58,33,36,168,16              // insertps      $0x10,(%rax,%rbp,4),%xmm4
+  .byte  243,15,16,28,152                    // movss         (%rax,%rbx,4),%xmm3
+  .byte  102,15,58,33,227,32                 // insertps      $0x20,%xmm3,%xmm4
+  .byte  72,193,233,32                       // shr           $0x20,%rcx
+  .byte  243,15,16,28,136                    // movss         (%rax,%rcx,4),%xmm3
+  .byte  102,15,58,33,227,48                 // insertps      $0x30,%xmm3,%xmm4
+  .byte  102,68,15,111,124,36,176            // movdqa        -0x50(%rsp),%xmm15
+  .byte  102,65,15,254,207                   // paddd         %xmm15,%xmm1
+  .byte  102,15,56,64,202                    // pmulld        %xmm2,%xmm1
+  .byte  102,15,111,217                      // movdqa        %xmm1,%xmm3
+  .byte  102,15,250,222                      // psubd         %xmm6,%xmm3
+  .byte  102,72,15,58,22,217,1               // pextrq        $0x1,%xmm3,%rcx
+  .byte  102,72,15,126,221                   // movq          %xmm3,%rbp
+  .byte  65,137,232                          // mov           %ebp,%r8d
+  .byte  72,193,237,32                       // shr           $0x20,%rbp
+  .byte  137,203                             // mov           %ecx,%ebx
+  .byte  243,66,15,16,52,128                 // movss         (%rax,%r8,4),%xmm6
+  .byte  102,15,58,33,52,168,16              // insertps      $0x10,(%rax,%rbp,4),%xmm6
+  .byte  243,15,16,28,152                    // movss         (%rax,%rbx,4),%xmm3
+  .byte  102,15,58,33,243,32                 // insertps      $0x20,%xmm3,%xmm6
+  .byte  72,193,233,32                       // shr           $0x20,%rcx
+  .byte  243,15,16,28,136                    // movss         (%rax,%rcx,4),%xmm3
+  .byte  102,15,58,33,243,48                 // insertps      $0x30,%xmm3,%xmm6
+  .byte  102,65,15,126,201                   // movd          %xmm1,%r9d
+  .byte  102,65,15,58,22,203,1               // pextrd        $0x1,%xmm1,%r11d
+  .byte  102,65,15,58,22,202,2               // pextrd        $0x2,%xmm1,%r10d
+  .byte  102,65,15,58,22,200,3               // pextrd        $0x3,%xmm1,%r8d
+  .byte  102,15,254,207                      // paddd         %xmm7,%xmm1
+  .byte  102,72,15,58,22,201,1               // pextrq        $0x1,%xmm1,%rcx
+  .byte  102,72,15,126,203                   // movq          %xmm1,%rbx
+  .byte  65,137,222                          // mov           %ebx,%r14d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  137,205                             // mov           %ecx,%ebp
+  .byte  243,66,15,16,60,176                 // movss         (%rax,%r14,4),%xmm7
+  .byte  102,15,58,33,60,152,16              // insertps      $0x10,(%rax,%rbx,4),%xmm7
+  .byte  243,15,16,12,168                    // movss         (%rax,%rbp,4),%xmm1
+  .byte  102,15,58,33,249,32                 // insertps      $0x20,%xmm1,%xmm7
+  .byte  72,193,233,32                       // shr           $0x20,%rcx
+  .byte  243,15,16,12,136                    // movss         (%rax,%rcx,4),%xmm1
+  .byte  102,15,58,33,249,48                 // insertps      $0x30,%xmm1,%xmm7
+  .byte  243,66,15,16,28,136                 // movss         (%rax,%r9,4),%xmm3
+  .byte  102,66,15,58,33,28,152,16           // insertps      $0x10,(%rax,%r11,4),%xmm3
+  .byte  102,66,15,58,33,28,144,32           // insertps      $0x20,(%rax,%r10,4),%xmm3
+  .byte  102,66,15,58,33,28,128,48           // insertps      $0x30,(%rax,%r8,4),%xmm3
+  .byte  65,15,92,218                        // subps         %xmm10,%xmm3
+  .byte  68,15,41,36,36                      // movaps        %xmm12,(%rsp)
+  .byte  65,15,89,220                        // mulps         %xmm12,%xmm3
+  .byte  65,15,88,218                        // addps         %xmm10,%xmm3
+  .byte  65,15,92,243                        // subps         %xmm11,%xmm6
+  .byte  65,15,89,244                        // mulps         %xmm12,%xmm6
+  .byte  65,15,88,243                        // addps         %xmm11,%xmm6
+  .byte  15,92,252                           // subps         %xmm4,%xmm7
+  .byte  65,15,89,252                        // mulps         %xmm12,%xmm7
+  .byte  15,88,252                           // addps         %xmm4,%xmm7
+  .byte  102,15,254,68,36,208                // paddd         -0x30(%rsp),%xmm0
+  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
+  .byte  102,15,254,76,36,192                // paddd         -0x40(%rsp),%xmm1
+  .byte  102,68,15,111,218                   // movdqa        %xmm2,%xmm11
+  .byte  102,65,15,56,64,203                 // pmulld        %xmm11,%xmm1
+  .byte  102,15,111,225                      // movdqa        %xmm1,%xmm4
+  .byte  102,69,15,118,228                   // pcmpeqd       %xmm12,%xmm12
+  .byte  102,65,15,250,228                   // psubd         %xmm12,%xmm4
+  .byte  102,72,15,58,22,225,1               // pextrq        $0x1,%xmm4,%rcx
+  .byte  102,72,15,126,229                   // movq          %xmm4,%rbp
+  .byte  65,137,232                          // mov           %ebp,%r8d
+  .byte  72,193,237,32                       // shr           $0x20,%rbp
+  .byte  137,203                             // mov           %ecx,%ebx
+  .byte  243,66,15,16,36,128                 // movss         (%rax,%r8,4),%xmm4
+  .byte  102,15,58,33,36,168,16              // insertps      $0x10,(%rax,%rbp,4),%xmm4
+  .byte  243,15,16,20,152                    // movss         (%rax,%rbx,4),%xmm2
+  .byte  102,15,58,33,226,32                 // insertps      $0x20,%xmm2,%xmm4
+  .byte  72,193,233,32                       // shr           $0x20,%rcx
+  .byte  243,15,16,20,136                    // movss         (%rax,%rcx,4),%xmm2
+  .byte  102,15,58,33,226,48                 // insertps      $0x30,%xmm2,%xmm4
+  .byte  102,65,15,126,200                   // movd          %xmm1,%r8d
+  .byte  102,65,15,58,22,201,1               // pextrd        $0x1,%xmm1,%r9d
+  .byte  102,65,15,58,22,202,2               // pextrd        $0x2,%xmm1,%r10d
+  .byte  102,65,15,58,22,203,3               // pextrd        $0x3,%xmm1,%r11d
+  .byte  102,68,15,111,21,172,136,1,0        // movdqa        0x188ac(%rip),%xmm10        # 3cf40 <_sk_srcover_bgra_8888_sse2_lowp+0xcf4>
+  .byte  102,65,15,254,202                   // paddd         %xmm10,%xmm1
+  .byte  102,72,15,58,22,201,1               // pextrq        $0x1,%xmm1,%rcx
+  .byte  102,72,15,126,203                   // movq          %xmm1,%rbx
+  .byte  65,137,222                          // mov           %ebx,%r14d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  137,205                             // mov           %ecx,%ebp
+  .byte  243,66,15,16,12,176                 // movss         (%rax,%r14,4),%xmm1
+  .byte  102,15,58,33,12,152,16              // insertps      $0x10,(%rax,%rbx,4),%xmm1
+  .byte  243,15,16,20,168                    // movss         (%rax,%rbp,4),%xmm2
+  .byte  102,15,58,33,202,32                 // insertps      $0x20,%xmm2,%xmm1
+  .byte  72,193,233,32                       // shr           $0x20,%rcx
+  .byte  243,15,16,20,136                    // movss         (%rax,%rcx,4),%xmm2
+  .byte  102,15,58,33,202,48                 // insertps      $0x30,%xmm2,%xmm1
+  .byte  102,65,15,254,199                   // paddd         %xmm15,%xmm0
+  .byte  102,65,15,56,64,195                 // pmulld        %xmm11,%xmm0
+  .byte  102,15,111,208                      // movdqa        %xmm0,%xmm2
+  .byte  102,65,15,250,212                   // psubd         %xmm12,%xmm2
+  .byte  102,72,15,58,22,209,1               // pextrq        $0x1,%xmm2,%rcx
+  .byte  102,72,15,126,211                   // movq          %xmm2,%rbx
+  .byte  65,137,222                          // mov           %ebx,%r14d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  137,205                             // mov           %ecx,%ebp
+  .byte  243,70,15,16,60,176                 // movss         (%rax,%r14,4),%xmm15
+  .byte  102,68,15,58,33,60,152,16           // insertps      $0x10,(%rax,%rbx,4),%xmm15
+  .byte  243,15,16,20,168                    // movss         (%rax,%rbp,4),%xmm2
+  .byte  102,68,15,58,33,250,32              // insertps      $0x20,%xmm2,%xmm15
+  .byte  72,193,233,32                       // shr           $0x20,%rcx
+  .byte  243,15,16,20,136                    // movss         (%rax,%rcx,4),%xmm2
+  .byte  102,68,15,58,33,250,48              // insertps      $0x30,%xmm2,%xmm15
+  .byte  102,65,15,126,199                   // movd          %xmm0,%r15d
+  .byte  102,65,15,58,22,196,1               // pextrd        $0x1,%xmm0,%r12d
+  .byte  102,65,15,58,22,197,2               // pextrd        $0x2,%xmm0,%r13d
+  .byte  102,65,15,58,22,198,3               // pextrd        $0x3,%xmm0,%r14d
+  .byte  102,65,15,254,194                   // paddd         %xmm10,%xmm0
+  .byte  102,72,15,58,22,193,1               // pextrq        $0x1,%xmm0,%rcx
+  .byte  102,72,15,126,195                   // movq          %xmm0,%rbx
+  .byte  137,221                             // mov           %ebx,%ebp
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  243,68,15,16,28,168                 // movss         (%rax,%rbp,4),%xmm11
+  .byte  102,68,15,58,33,28,152,16           // insertps      $0x10,(%rax,%rbx,4),%xmm11
+  .byte  137,203                             // mov           %ecx,%ebx
+  .byte  243,15,16,4,152                     // movss         (%rax,%rbx,4),%xmm0
+  .byte  102,68,15,58,33,216,32              // insertps      $0x20,%xmm0,%xmm11
+  .byte  72,193,233,32                       // shr           $0x20,%rcx
+  .byte  243,15,16,4,136                     // movss         (%rax,%rcx,4),%xmm0
+  .byte  102,68,15,58,33,216,48              // insertps      $0x30,%xmm0,%xmm11
+  .byte  243,66,15,16,4,128                  // movss         (%rax,%r8,4),%xmm0
+  .byte  102,66,15,58,33,4,136,16            // insertps      $0x10,(%rax,%r9,4),%xmm0
+  .byte  102,66,15,58,33,4,144,32            // insertps      $0x20,(%rax,%r10,4),%xmm0
+  .byte  102,66,15,58,33,4,152,48            // insertps      $0x30,(%rax,%r11,4),%xmm0
+  .byte  243,70,15,16,20,184                 // movss         (%rax,%r15,4),%xmm10
+  .byte  102,70,15,58,33,20,160,16           // insertps      $0x10,(%rax,%r12,4),%xmm10
+  .byte  102,70,15,58,33,20,168,32           // insertps      $0x20,(%rax,%r13,4),%xmm10
+  .byte  102,70,15,58,33,20,176,48           // insertps      $0x30,(%rax,%r14,4),%xmm10
+  .byte  68,15,92,208                        // subps         %xmm0,%xmm10
+  .byte  68,15,40,36,36                      // movaps        (%rsp),%xmm12
+  .byte  69,15,89,212                        // mulps         %xmm12,%xmm10
+  .byte  68,15,88,208                        // addps         %xmm0,%xmm10
+  .byte  68,15,92,252                        // subps         %xmm4,%xmm15
+  .byte  69,15,89,252                        // mulps         %xmm12,%xmm15
+  .byte  68,15,88,252                        // addps         %xmm4,%xmm15
+  .byte  68,15,92,217                        // subps         %xmm1,%xmm11
+  .byte  69,15,89,220                        // mulps         %xmm12,%xmm11
+  .byte  68,15,88,217                        // addps         %xmm1,%xmm11
+  .byte  68,15,92,211                        // subps         %xmm3,%xmm10
+  .byte  15,40,68,36,128                     // movaps        -0x80(%rsp),%xmm0
+  .byte  68,15,89,208                        // mulps         %xmm0,%xmm10
+  .byte  68,15,88,211                        // addps         %xmm3,%xmm10
+  .byte  68,15,92,254                        // subps         %xmm6,%xmm15
+  .byte  68,15,89,248                        // mulps         %xmm0,%xmm15
+  .byte  68,15,88,254                        // addps         %xmm6,%xmm15
+  .byte  68,15,92,223                        // subps         %xmm7,%xmm11
+  .byte  68,15,89,216                        // mulps         %xmm0,%xmm11
+  .byte  68,15,88,223                        // addps         %xmm7,%xmm11
+  .byte  15,91,68,36,32                      // cvtdq2ps      0x20(%rsp),%xmm0
+  .byte  15,40,76,36,224                     // movaps        -0x20(%rsp),%xmm1
+  .byte  15,92,200                           // subps         %xmm0,%xmm1
+  .byte  15,41,76,36,224                     // movaps        %xmm1,-0x20(%rsp)
+  .byte  68,15,92,213                        // subps         %xmm5,%xmm10
+  .byte  68,15,89,209                        // mulps         %xmm1,%xmm10
+  .byte  68,15,88,213                        // addps         %xmm5,%xmm10
+  .byte  69,15,92,248                        // subps         %xmm8,%xmm15
+  .byte  68,15,89,249                        // mulps         %xmm1,%xmm15
+  .byte  69,15,88,248                        // addps         %xmm8,%xmm15
+  .byte  69,15,92,217                        // subps         %xmm9,%xmm11
+  .byte  68,15,89,217                        // mulps         %xmm1,%xmm11
+  .byte  69,15,88,217                        // addps         %xmm9,%xmm11
+  .byte  243,15,91,68,36,160                 // cvttps2dq     -0x60(%rsp),%xmm0
+  .byte  102,15,127,68,36,160                // movdqa        %xmm0,-0x60(%rsp)
+  .byte  102,68,15,254,232                   // paddd         %xmm0,%xmm13
+  .byte  102,65,15,111,222                   // movdqa        %xmm14,%xmm3
+  .byte  102,65,15,254,221                   // paddd         %xmm13,%xmm3
+  .byte  102,15,111,124,36,192               // movdqa        -0x40(%rsp),%xmm7
+  .byte  102,15,111,199                      // movdqa        %xmm7,%xmm0
+  .byte  102,15,254,195                      // paddd         %xmm3,%xmm0
+  .byte  102,15,111,21,38,141,1,0            // movdqa        0x18d26(%rip),%xmm2        # 3d5a0 <_sk_srcover_bgra_8888_sse2_lowp+0x1354>
+  .byte  102,15,56,64,194                    // pmulld        %xmm2,%xmm0
+  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
+  .byte  102,69,15,118,192                   // pcmpeqd       %xmm8,%xmm8
+  .byte  102,65,15,250,200                   // psubd         %xmm8,%xmm1
+  .byte  102,72,15,58,22,201,1               // pextrq        $0x1,%xmm1,%rcx
+  .byte  102,72,15,126,205                   // movq          %xmm1,%rbp
+  .byte  137,235                             // mov           %ebp,%ebx
+  .byte  72,193,237,32                       // shr           $0x20,%rbp
+  .byte  65,137,200                          // mov           %ecx,%r8d
+  .byte  243,15,16,44,152                    // movss         (%rax,%rbx,4),%xmm5
+  .byte  102,15,58,33,44,168,16              // insertps      $0x10,(%rax,%rbp,4),%xmm5
+  .byte  243,66,15,16,12,128                 // movss         (%rax,%r8,4),%xmm1
+  .byte  102,15,58,33,233,32                 // insertps      $0x20,%xmm1,%xmm5
+  .byte  72,193,233,32                       // shr           $0x20,%rcx
+  .byte  243,15,16,12,136                    // movss         (%rax,%rcx,4),%xmm1
+  .byte  102,15,58,33,233,48                 // insertps      $0x30,%xmm1,%xmm5
+  .byte  102,65,15,126,192                   // movd          %xmm0,%r8d
+  .byte  102,65,15,58,22,193,1               // pextrd        $0x1,%xmm0,%r9d
+  .byte  102,65,15,58,22,194,2               // pextrd        $0x2,%xmm0,%r10d
+  .byte  102,65,15,58,22,195,3               // pextrd        $0x3,%xmm0,%r11d
+  .byte  102,15,111,37,85,134,1,0            // movdqa        0x18655(%rip),%xmm4        # 3cf40 <_sk_srcover_bgra_8888_sse2_lowp+0xcf4>
+  .byte  102,15,254,196                      // paddd         %xmm4,%xmm0
+  .byte  102,72,15,58,22,193,1               // pextrq        $0x1,%xmm0,%rcx
+  .byte  102,72,15,126,195                   // movq          %xmm0,%rbx
+  .byte  137,221                             // mov           %ebx,%ebp
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  65,137,206                          // mov           %ecx,%r14d
+  .byte  243,15,16,52,168                    // movss         (%rax,%rbp,4),%xmm6
+  .byte  102,15,58,33,52,152,16              // insertps      $0x10,(%rax,%rbx,4),%xmm6
+  .byte  243,66,15,16,4,176                  // movss         (%rax,%r14,4),%xmm0
+  .byte  102,15,58,33,240,32                 // insertps      $0x20,%xmm0,%xmm6
+  .byte  72,193,233,32                       // shr           $0x20,%rcx
+  .byte  243,15,16,4,136                     // movss         (%rax,%rcx,4),%xmm0
+  .byte  102,15,58,33,240,48                 // insertps      $0x30,%xmm0,%xmm6
+  .byte  102,68,15,111,76,36,176             // movdqa        -0x50(%rsp),%xmm9
+  .byte  102,65,15,254,217                   // paddd         %xmm9,%xmm3
+  .byte  102,15,56,64,218                    // pmulld        %xmm2,%xmm3
+  .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
+  .byte  102,65,15,250,192                   // psubd         %xmm8,%xmm0
+  .byte  102,72,15,58,22,193,1               // pextrq        $0x1,%xmm0,%rcx
+  .byte  102,72,15,126,195                   // movq          %xmm0,%rbx
+  .byte  137,221                             // mov           %ebx,%ebp
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  65,137,206                          // mov           %ecx,%r14d
+  .byte  243,15,16,4,168                     // movss         (%rax,%rbp,4),%xmm0
+  .byte  102,15,58,33,4,152,16               // insertps      $0x10,(%rax,%rbx,4),%xmm0
+  .byte  243,66,15,16,12,176                 // movss         (%rax,%r14,4),%xmm1
+  .byte  102,15,58,33,193,32                 // insertps      $0x20,%xmm1,%xmm0
+  .byte  72,193,233,32                       // shr           $0x20,%rcx
+  .byte  243,15,16,12,136                    // movss         (%rax,%rcx,4),%xmm1
+  .byte  102,15,58,33,193,48                 // insertps      $0x30,%xmm1,%xmm0
+  .byte  102,65,15,126,221                   // movd          %xmm3,%r13d
+  .byte  102,65,15,58,22,223,1               // pextrd        $0x1,%xmm3,%r15d
+  .byte  102,65,15,58,22,220,2               // pextrd        $0x2,%xmm3,%r12d
+  .byte  102,65,15,58,22,222,3               // pextrd        $0x3,%xmm3,%r14d
+  .byte  102,15,254,220                      // paddd         %xmm4,%xmm3
+  .byte  102,68,15,111,196                   // movdqa        %xmm4,%xmm8
+  .byte  102,72,15,58,22,219,1               // pextrq        $0x1,%xmm3,%rbx
+  .byte  102,72,15,126,221                   // movq          %xmm3,%rbp
+  .byte  137,233                             // mov           %ebp,%ecx
+  .byte  72,193,237,32                       // shr           $0x20,%rbp
+  .byte  243,15,16,28,136                    // movss         (%rax,%rcx,4),%xmm3
+  .byte  102,15,58,33,28,168,16              // insertps      $0x10,(%rax,%rbp,4),%xmm3
+  .byte  137,217                             // mov           %ebx,%ecx
+  .byte  243,15,16,12,136                    // movss         (%rax,%rcx,4),%xmm1
+  .byte  102,15,58,33,217,32                 // insertps      $0x20,%xmm1,%xmm3
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  243,15,16,12,152                    // movss         (%rax,%rbx,4),%xmm1
+  .byte  102,15,58,33,217,48                 // insertps      $0x30,%xmm1,%xmm3
+  .byte  243,66,15,16,12,128                 // movss         (%rax,%r8,4),%xmm1
+  .byte  102,66,15,58,33,12,136,16           // insertps      $0x10,(%rax,%r9,4),%xmm1
+  .byte  102,66,15,58,33,12,144,32           // insertps      $0x20,(%rax,%r10,4),%xmm1
+  .byte  102,66,15,58,33,12,152,48           // insertps      $0x30,(%rax,%r11,4),%xmm1
+  .byte  243,66,15,16,36,168                 // movss         (%rax,%r13,4),%xmm4
+  .byte  102,66,15,58,33,36,184,16           // insertps      $0x10,(%rax,%r15,4),%xmm4
+  .byte  102,66,15,58,33,36,160,32           // insertps      $0x20,(%rax,%r12,4),%xmm4
+  .byte  102,66,15,58,33,36,176,48           // insertps      $0x30,(%rax,%r14,4),%xmm4
+  .byte  15,92,225                           // subps         %xmm1,%xmm4
+  .byte  65,15,89,228                        // mulps         %xmm12,%xmm4
+  .byte  15,88,225                           // addps         %xmm1,%xmm4
+  .byte  15,92,197                           // subps         %xmm5,%xmm0
+  .byte  65,15,89,196                        // mulps         %xmm12,%xmm0
+  .byte  15,88,197                           // addps         %xmm5,%xmm0
+  .byte  15,92,222                           // subps         %xmm6,%xmm3
+  .byte  65,15,89,220                        // mulps         %xmm12,%xmm3
+  .byte  15,88,222                           // addps         %xmm6,%xmm3
+  .byte  102,68,15,254,108,36,208            // paddd         -0x30(%rsp),%xmm13
+  .byte  102,65,15,111,205                   // movdqa        %xmm13,%xmm1
+  .byte  102,15,254,207                      // paddd         %xmm7,%xmm1
+  .byte  102,68,15,111,226                   // movdqa        %xmm2,%xmm12
+  .byte  102,65,15,56,64,204                 // pmulld        %xmm12,%xmm1
+  .byte  102,15,111,209                      // movdqa        %xmm1,%xmm2
+  .byte  102,15,250,21,81,139,1,0            // psubd         0x18b51(%rip),%xmm2        # 3d5b0 <_sk_srcover_bgra_8888_sse2_lowp+0x1364>
+  .byte  102,72,15,58,22,209,1               // pextrq        $0x1,%xmm2,%rcx
+  .byte  102,72,15,126,213                   // movq          %xmm2,%rbp
+  .byte  137,235                             // mov           %ebp,%ebx
+  .byte  72,193,237,32                       // shr           $0x20,%rbp
+  .byte  65,137,200                          // mov           %ecx,%r8d
+  .byte  243,15,16,44,152                    // movss         (%rax,%rbx,4),%xmm5
+  .byte  102,15,58,33,44,168,16              // insertps      $0x10,(%rax,%rbp,4),%xmm5
+  .byte  243,66,15,16,20,128                 // movss         (%rax,%r8,4),%xmm2
+  .byte  102,15,58,33,234,32                 // insertps      $0x20,%xmm2,%xmm5
+  .byte  72,193,233,32                       // shr           $0x20,%rcx
+  .byte  243,15,16,20,136                    // movss         (%rax,%rcx,4),%xmm2
+  .byte  102,15,58,33,234,48                 // insertps      $0x30,%xmm2,%xmm5
+  .byte  102,65,15,126,200                   // movd          %xmm1,%r8d
+  .byte  102,65,15,58,22,201,1               // pextrd        $0x1,%xmm1,%r9d
+  .byte  102,65,15,58,22,202,2               // pextrd        $0x2,%xmm1,%r10d
+  .byte  102,65,15,58,22,203,3               // pextrd        $0x3,%xmm1,%r11d
+  .byte  102,65,15,254,200                   // paddd         %xmm8,%xmm1
+  .byte  102,72,15,58,22,201,1               // pextrq        $0x1,%xmm1,%rcx
+  .byte  102,72,15,126,203                   // movq          %xmm1,%rbx
+  .byte  137,221                             // mov           %ebx,%ebp
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  65,137,206                          // mov           %ecx,%r14d
+  .byte  243,15,16,52,168                    // movss         (%rax,%rbp,4),%xmm6
+  .byte  102,15,58,33,52,152,16              // insertps      $0x10,(%rax,%rbx,4),%xmm6
+  .byte  243,66,15,16,12,176                 // movss         (%rax,%r14,4),%xmm1
+  .byte  102,15,58,33,241,32                 // insertps      $0x20,%xmm1,%xmm6
+  .byte  72,193,233,32                       // shr           $0x20,%rcx
+  .byte  243,15,16,12,136                    // movss         (%rax,%rcx,4),%xmm1
+  .byte  102,15,58,33,241,48                 // insertps      $0x30,%xmm1,%xmm6
+  .byte  102,69,15,254,233                   // paddd         %xmm9,%xmm13
+  .byte  102,65,15,111,249                   // movdqa        %xmm9,%xmm7
+  .byte  102,69,15,56,64,236                 // pmulld        %xmm12,%xmm13
+  .byte  102,65,15,111,205                   // movdqa        %xmm13,%xmm1
+  .byte  102,15,250,13,157,138,1,0           // psubd         0x18a9d(%rip),%xmm1        # 3d5b0 <_sk_srcover_bgra_8888_sse2_lowp+0x1364>
+  .byte  102,72,15,58,22,201,1               // pextrq        $0x1,%xmm1,%rcx
+  .byte  102,72,15,126,203                   // movq          %xmm1,%rbx
+  .byte  137,221                             // mov           %ebx,%ebp
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  65,137,206                          // mov           %ecx,%r14d
+  .byte  243,68,15,16,12,168                 // movss         (%rax,%rbp,4),%xmm9
+  .byte  102,68,15,58,33,12,152,16           // insertps      $0x10,(%rax,%rbx,4),%xmm9
+  .byte  243,66,15,16,12,176                 // movss         (%rax,%r14,4),%xmm1
+  .byte  102,68,15,58,33,201,32              // insertps      $0x20,%xmm1,%xmm9
+  .byte  72,193,233,32                       // shr           $0x20,%rcx
+  .byte  243,15,16,12,136                    // movss         (%rax,%rcx,4),%xmm1
+  .byte  102,68,15,58,33,201,48              // insertps      $0x30,%xmm1,%xmm9
+  .byte  102,69,15,126,237                   // movd          %xmm13,%r13d
+  .byte  102,69,15,58,22,239,1               // pextrd        $0x1,%xmm13,%r15d
+  .byte  102,69,15,58,22,236,2               // pextrd        $0x2,%xmm13,%r12d
+  .byte  102,69,15,58,22,238,3               // pextrd        $0x3,%xmm13,%r14d
+  .byte  102,69,15,254,232                   // paddd         %xmm8,%xmm13
+  .byte  102,76,15,58,22,235,1               // pextrq        $0x1,%xmm13,%rbx
+  .byte  102,76,15,126,237                   // movq          %xmm13,%rbp
+  .byte  137,233                             // mov           %ebp,%ecx
+  .byte  72,193,237,32                       // shr           $0x20,%rbp
+  .byte  243,68,15,16,4,136                  // movss         (%rax,%rcx,4),%xmm8
+  .byte  102,68,15,58,33,4,168,16            // insertps      $0x10,(%rax,%rbp,4),%xmm8
+  .byte  137,217                             // mov           %ebx,%ecx
+  .byte  243,15,16,12,136                    // movss         (%rax,%rcx,4),%xmm1
+  .byte  102,68,15,58,33,193,32              // insertps      $0x20,%xmm1,%xmm8
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  243,15,16,12,152                    // movss         (%rax,%rbx,4),%xmm1
+  .byte  102,68,15,58,33,193,48              // insertps      $0x30,%xmm1,%xmm8
+  .byte  243,66,15,16,12,128                 // movss         (%rax,%r8,4),%xmm1
+  .byte  102,66,15,58,33,12,136,16           // insertps      $0x10,(%rax,%r9,4),%xmm1
+  .byte  102,66,15,58,33,12,144,32           // insertps      $0x20,(%rax,%r10,4),%xmm1
+  .byte  102,66,15,58,33,12,152,48           // insertps      $0x30,(%rax,%r11,4),%xmm1
+  .byte  243,70,15,16,36,168                 // movss         (%rax,%r13,4),%xmm12
+  .byte  102,70,15,58,33,36,184,16           // insertps      $0x10,(%rax,%r15,4),%xmm12
+  .byte  102,70,15,58,33,36,160,32           // insertps      $0x20,(%rax,%r12,4),%xmm12
+  .byte  102,70,15,58,33,36,176,48           // insertps      $0x30,(%rax,%r14,4),%xmm12
+  .byte  68,15,92,225                        // subps         %xmm1,%xmm12
+  .byte  68,15,40,44,36                      // movaps        (%rsp),%xmm13
+  .byte  69,15,89,229                        // mulps         %xmm13,%xmm12
+  .byte  68,15,88,225                        // addps         %xmm1,%xmm12
+  .byte  68,15,92,205                        // subps         %xmm5,%xmm9
+  .byte  69,15,89,205                        // mulps         %xmm13,%xmm9
+  .byte  68,15,88,205                        // addps         %xmm5,%xmm9
+  .byte  68,15,92,198                        // subps         %xmm6,%xmm8
+  .byte  69,15,89,197                        // mulps         %xmm13,%xmm8
+  .byte  68,15,88,198                        // addps         %xmm6,%xmm8
+  .byte  68,15,92,228                        // subps         %xmm4,%xmm12
+  .byte  15,40,76,36,128                     // movaps        -0x80(%rsp),%xmm1
+  .byte  68,15,89,225                        // mulps         %xmm1,%xmm12
+  .byte  68,15,88,228                        // addps         %xmm4,%xmm12
+  .byte  68,15,92,200                        // subps         %xmm0,%xmm9
+  .byte  68,15,89,201                        // mulps         %xmm1,%xmm9
+  .byte  68,15,88,200                        // addps         %xmm0,%xmm9
+  .byte  68,15,92,195                        // subps         %xmm3,%xmm8
+  .byte  68,15,89,193                        // mulps         %xmm1,%xmm8
+  .byte  68,15,88,195                        // addps         %xmm3,%xmm8
+  .byte  102,15,111,68,36,144                // movdqa        -0x70(%rsp),%xmm0
+  .byte  102,15,254,68,36,160                // paddd         -0x60(%rsp),%xmm0
+  .byte  102,15,127,68,36,144                // movdqa        %xmm0,-0x70(%rsp)
+  .byte  102,68,15,254,240                   // paddd         %xmm0,%xmm14
+  .byte  102,65,15,111,206                   // movdqa        %xmm14,%xmm1
+  .byte  102,15,111,108,36,192               // movdqa        -0x40(%rsp),%xmm5
+  .byte  102,15,254,205                      // paddd         %xmm5,%xmm1
+  .byte  102,15,111,37,52,137,1,0            // movdqa        0x18934(%rip),%xmm4        # 3d5a0 <_sk_srcover_bgra_8888_sse2_lowp+0x1354>
+  .byte  102,15,56,64,204                    // pmulld        %xmm4,%xmm1
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,15,118,246                      // pcmpeqd       %xmm6,%xmm6
+  .byte  102,15,250,198                      // psubd         %xmm6,%xmm0
+  .byte  102,72,15,58,22,193,1               // pextrq        $0x1,%xmm0,%rcx
+  .byte  102,72,15,126,197                   // movq          %xmm0,%rbp
+  .byte  137,235                             // mov           %ebp,%ebx
+  .byte  72,193,237,32                       // shr           $0x20,%rbp
+  .byte  65,137,200                          // mov           %ecx,%r8d
+  .byte  243,15,16,4,152                     // movss         (%rax,%rbx,4),%xmm0
+  .byte  102,15,58,33,4,168,16               // insertps      $0x10,(%rax,%rbp,4),%xmm0
+  .byte  243,66,15,16,20,128                 // movss         (%rax,%r8,4),%xmm2
+  .byte  102,15,58,33,194,32                 // insertps      $0x20,%xmm2,%xmm0
+  .byte  72,193,233,32                       // shr           $0x20,%rcx
+  .byte  243,15,16,20,136                    // movss         (%rax,%rcx,4),%xmm2
+  .byte  102,15,58,33,194,48                 // insertps      $0x30,%xmm2,%xmm0
+  .byte  102,65,15,126,200                   // movd          %xmm1,%r8d
+  .byte  102,65,15,58,22,201,1               // pextrd        $0x1,%xmm1,%r9d
+  .byte  102,65,15,58,22,202,2               // pextrd        $0x2,%xmm1,%r10d
+  .byte  102,65,15,58,22,203,3               // pextrd        $0x3,%xmm1,%r11d
+  .byte  102,15,111,29,101,130,1,0           // movdqa        0x18265(%rip),%xmm3        # 3cf40 <_sk_srcover_bgra_8888_sse2_lowp+0xcf4>
+  .byte  102,15,254,203                      // paddd         %xmm3,%xmm1
+  .byte  102,72,15,58,22,201,1               // pextrq        $0x1,%xmm1,%rcx
+  .byte  102,72,15,126,203                   // movq          %xmm1,%rbx
+  .byte  137,221                             // mov           %ebx,%ebp
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  65,137,206                          // mov           %ecx,%r14d
+  .byte  243,15,16,12,168                    // movss         (%rax,%rbp,4),%xmm1
+  .byte  102,15,58,33,12,152,16              // insertps      $0x10,(%rax,%rbx,4),%xmm1
+  .byte  243,66,15,16,20,176                 // movss         (%rax,%r14,4),%xmm2
+  .byte  102,15,58,33,202,32                 // insertps      $0x20,%xmm2,%xmm1
+  .byte  72,193,233,32                       // shr           $0x20,%rcx
+  .byte  243,15,16,20,136                    // movss         (%rax,%rcx,4),%xmm2
+  .byte  102,15,58,33,202,48                 // insertps      $0x30,%xmm2,%xmm1
+  .byte  102,68,15,254,247                   // paddd         %xmm7,%xmm14
+  .byte  102,68,15,56,64,244                 // pmulld        %xmm4,%xmm14
+  .byte  102,15,111,252                      // movdqa        %xmm4,%xmm7
+  .byte  102,65,15,111,214                   // movdqa        %xmm14,%xmm2
+  .byte  102,15,250,214                      // psubd         %xmm6,%xmm2
+  .byte  102,72,15,58,22,209,1               // pextrq        $0x1,%xmm2,%rcx
+  .byte  102,72,15,126,211                   // movq          %xmm2,%rbx
+  .byte  137,221                             // mov           %ebx,%ebp
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  65,137,206                          // mov           %ecx,%r14d
+  .byte  243,15,16,52,168                    // movss         (%rax,%rbp,4),%xmm6
+  .byte  102,15,58,33,52,152,16              // insertps      $0x10,(%rax,%rbx,4),%xmm6
+  .byte  243,66,15,16,20,176                 // movss         (%rax,%r14,4),%xmm2
+  .byte  102,15,58,33,242,32                 // insertps      $0x20,%xmm2,%xmm6
+  .byte  72,193,233,32                       // shr           $0x20,%rcx
+  .byte  243,15,16,20,136                    // movss         (%rax,%rcx,4),%xmm2
+  .byte  102,15,58,33,242,48                 // insertps      $0x30,%xmm2,%xmm6
+  .byte  102,69,15,126,245                   // movd          %xmm14,%r13d
+  .byte  102,69,15,58,22,247,1               // pextrd        $0x1,%xmm14,%r15d
+  .byte  102,69,15,58,22,244,2               // pextrd        $0x2,%xmm14,%r12d
+  .byte  102,69,15,58,22,246,3               // pextrd        $0x3,%xmm14,%r14d
+  .byte  102,68,15,254,243                   // paddd         %xmm3,%xmm14
+  .byte  102,76,15,58,22,243,1               // pextrq        $0x1,%xmm14,%rbx
+  .byte  102,76,15,126,245                   // movq          %xmm14,%rbp
+  .byte  137,233                             // mov           %ebp,%ecx
+  .byte  72,193,237,32                       // shr           $0x20,%rbp
+  .byte  243,15,16,36,136                    // movss         (%rax,%rcx,4),%xmm4
+  .byte  102,15,58,33,36,168,16              // insertps      $0x10,(%rax,%rbp,4),%xmm4
+  .byte  137,217                             // mov           %ebx,%ecx
+  .byte  243,15,16,20,136                    // movss         (%rax,%rcx,4),%xmm2
+  .byte  102,15,58,33,226,32                 // insertps      $0x20,%xmm2,%xmm4
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  243,15,16,20,152                    // movss         (%rax,%rbx,4),%xmm2
+  .byte  102,15,58,33,226,48                 // insertps      $0x30,%xmm2,%xmm4
+  .byte  243,66,15,16,20,128                 // movss         (%rax,%r8,4),%xmm2
+  .byte  102,66,15,58,33,20,136,16           // insertps      $0x10,(%rax,%r9,4),%xmm2
+  .byte  102,66,15,58,33,20,144,32           // insertps      $0x20,(%rax,%r10,4),%xmm2
+  .byte  102,66,15,58,33,20,152,48           // insertps      $0x30,(%rax,%r11,4),%xmm2
+  .byte  243,66,15,16,28,168                 // movss         (%rax,%r13,4),%xmm3
+  .byte  102,66,15,58,33,28,184,16           // insertps      $0x10,(%rax,%r15,4),%xmm3
+  .byte  102,66,15,58,33,28,160,32           // insertps      $0x20,(%rax,%r12,4),%xmm3
+  .byte  102,66,15,58,33,28,176,48           // insertps      $0x30,(%rax,%r14,4),%xmm3
+  .byte  15,92,218                           // subps         %xmm2,%xmm3
+  .byte  65,15,89,221                        // mulps         %xmm13,%xmm3
+  .byte  15,88,218                           // addps         %xmm2,%xmm3
+  .byte  15,92,240                           // subps         %xmm0,%xmm6
+  .byte  65,15,89,245                        // mulps         %xmm13,%xmm6
+  .byte  15,88,240                           // addps         %xmm0,%xmm6
+  .byte  15,92,225                           // subps         %xmm1,%xmm4
+  .byte  65,15,89,229                        // mulps         %xmm13,%xmm4
+  .byte  15,88,225                           // addps         %xmm1,%xmm4
+  .byte  102,15,111,68,36,144                // movdqa        -0x70(%rsp),%xmm0
+  .byte  102,15,254,68,36,208                // paddd         -0x30(%rsp),%xmm0
+  .byte  102,15,254,232                      // paddd         %xmm0,%xmm5
+  .byte  102,15,111,208                      // movdqa        %xmm0,%xmm2
+  .byte  102,15,56,64,239                    // pmulld        %xmm7,%xmm5
+  .byte  102,15,111,205                      // movdqa        %xmm5,%xmm1
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,15,250,5,101,135,1,0            // psubd         0x18765(%rip),%xmm0        # 3d5b0 <_sk_srcover_bgra_8888_sse2_lowp+0x1364>
+  .byte  102,72,15,58,22,193,1               // pextrq        $0x1,%xmm0,%rcx
+  .byte  102,72,15,126,197                   // movq          %xmm0,%rbp
+  .byte  137,235                             // mov           %ebp,%ebx
+  .byte  72,193,237,32                       // shr           $0x20,%rbp
+  .byte  65,137,200                          // mov           %ecx,%r8d
+  .byte  243,15,16,44,152                    // movss         (%rax,%rbx,4),%xmm5
+  .byte  102,15,58,33,44,168,16              // insertps      $0x10,(%rax,%rbp,4),%xmm5
+  .byte  243,66,15,16,4,128                  // movss         (%rax,%r8,4),%xmm0
+  .byte  102,15,58,33,232,32                 // insertps      $0x20,%xmm0,%xmm5
+  .byte  72,193,233,32                       // shr           $0x20,%rcx
+  .byte  243,15,16,4,136                     // movss         (%rax,%rcx,4),%xmm0
+  .byte  102,15,58,33,232,48                 // insertps      $0x30,%xmm0,%xmm5
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,65,15,126,192                   // movd          %xmm0,%r8d
+  .byte  102,65,15,58,22,193,1               // pextrd        $0x1,%xmm0,%r9d
+  .byte  102,65,15,58,22,194,2               // pextrd        $0x2,%xmm0,%r10d
+  .byte  102,65,15,58,22,195,3               // pextrd        $0x3,%xmm0,%r11d
+  .byte  102,15,254,5,147,128,1,0            // paddd         0x18093(%rip),%xmm0        # 3cf40 <_sk_srcover_bgra_8888_sse2_lowp+0xcf4>
+  .byte  102,72,15,58,22,193,1               // pextrq        $0x1,%xmm0,%rcx
+  .byte  102,72,15,126,195                   // movq          %xmm0,%rbx
+  .byte  137,221                             // mov           %ebx,%ebp
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  65,137,206                          // mov           %ecx,%r14d
+  .byte  243,68,15,16,52,168                 // movss         (%rax,%rbp,4),%xmm14
+  .byte  102,68,15,58,33,52,152,16           // insertps      $0x10,(%rax,%rbx,4),%xmm14
+  .byte  243,66,15,16,4,176                  // movss         (%rax,%r14,4),%xmm0
+  .byte  102,68,15,58,33,240,32              // insertps      $0x20,%xmm0,%xmm14
+  .byte  72,193,233,32                       // shr           $0x20,%rcx
+  .byte  243,15,16,4,136                     // movss         (%rax,%rcx,4),%xmm0
+  .byte  102,68,15,58,33,240,48              // insertps      $0x30,%xmm0,%xmm14
+  .byte  102,15,254,84,36,176                // paddd         -0x50(%rsp),%xmm2
+  .byte  102,15,56,64,215                    // pmulld        %xmm7,%xmm2
+  .byte  102,15,111,194                      // movdqa        %xmm2,%xmm0
+  .byte  102,15,250,5,172,134,1,0            // psubd         0x186ac(%rip),%xmm0        # 3d5b0 <_sk_srcover_bgra_8888_sse2_lowp+0x1364>
+  .byte  102,72,15,58,22,193,1               // pextrq        $0x1,%xmm0,%rcx
+  .byte  102,72,15,126,195                   // movq          %xmm0,%rbx
+  .byte  137,221                             // mov           %ebx,%ebp
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  65,137,206                          // mov           %ecx,%r14d
+  .byte  243,15,16,12,168                    // movss         (%rax,%rbp,4),%xmm1
+  .byte  102,15,58,33,12,152,16              // insertps      $0x10,(%rax,%rbx,4),%xmm1
+  .byte  243,66,15,16,4,176                  // movss         (%rax,%r14,4),%xmm0
+  .byte  102,15,58,33,200,32                 // insertps      $0x20,%xmm0,%xmm1
+  .byte  72,193,233,32                       // shr           $0x20,%rcx
+  .byte  243,15,16,4,136                     // movss         (%rax,%rcx,4),%xmm0
+  .byte  102,15,58,33,200,48                 // insertps      $0x30,%xmm0,%xmm1
+  .byte  102,15,111,194                      // movdqa        %xmm2,%xmm0
+  .byte  102,65,15,126,197                   // movd          %xmm0,%r13d
+  .byte  102,65,15,58,22,199,1               // pextrd        $0x1,%xmm0,%r15d
+  .byte  102,65,15,58,22,196,2               // pextrd        $0x2,%xmm0,%r12d
+  .byte  102,65,15,58,22,198,3               // pextrd        $0x3,%xmm0,%r14d
+  .byte  102,15,254,5,218,127,1,0            // paddd         0x17fda(%rip),%xmm0        # 3cf40 <_sk_srcover_bgra_8888_sse2_lowp+0xcf4>
+  .byte  102,72,15,58,22,195,1               // pextrq        $0x1,%xmm0,%rbx
+  .byte  102,72,15,126,197                   // movq          %xmm0,%rbp
+  .byte  137,233                             // mov           %ebp,%ecx
+  .byte  72,193,237,32                       // shr           $0x20,%rbp
+  .byte  243,15,16,20,136                    // movss         (%rax,%rcx,4),%xmm2
+  .byte  102,15,58,33,20,168,16              // insertps      $0x10,(%rax,%rbp,4),%xmm2
+  .byte  137,217                             // mov           %ebx,%ecx
+  .byte  243,15,16,4,136                     // movss         (%rax,%rcx,4),%xmm0
+  .byte  102,15,58,33,208,32                 // insertps      $0x20,%xmm0,%xmm2
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  243,15,16,4,152                     // movss         (%rax,%rbx,4),%xmm0
+  .byte  102,15,58,33,208,48                 // insertps      $0x30,%xmm0,%xmm2
+  .byte  243,66,15,16,60,128                 // movss         (%rax,%r8,4),%xmm7
+  .byte  102,66,15,58,33,60,136,16           // insertps      $0x10,(%rax,%r9,4),%xmm7
+  .byte  102,66,15,58,33,60,144,32           // insertps      $0x20,(%rax,%r10,4),%xmm7
+  .byte  102,66,15,58,33,60,152,48           // insertps      $0x30,(%rax,%r11,4),%xmm7
+  .byte  243,66,15,16,4,168                  // movss         (%rax,%r13,4),%xmm0
+  .byte  102,66,15,58,33,4,184,16            // insertps      $0x10,(%rax,%r15,4),%xmm0
+  .byte  102,66,15,58,33,4,160,32            // insertps      $0x20,(%rax,%r12,4),%xmm0
+  .byte  102,66,15,58,33,4,176,48            // insertps      $0x30,(%rax,%r14,4),%xmm0
+  .byte  15,92,199                           // subps         %xmm7,%xmm0
+  .byte  65,15,89,197                        // mulps         %xmm13,%xmm0
+  .byte  15,88,199                           // addps         %xmm7,%xmm0
+  .byte  15,92,205                           // subps         %xmm5,%xmm1
+  .byte  65,15,89,205                        // mulps         %xmm13,%xmm1
+  .byte  15,88,205                           // addps         %xmm5,%xmm1
+  .byte  65,15,92,214                        // subps         %xmm14,%xmm2
+  .byte  65,15,89,213                        // mulps         %xmm13,%xmm2
+  .byte  65,15,88,214                        // addps         %xmm14,%xmm2
+  .byte  15,92,195                           // subps         %xmm3,%xmm0
+  .byte  15,40,108,36,128                    // movaps        -0x80(%rsp),%xmm5
+  .byte  15,89,197                           // mulps         %xmm5,%xmm0
+  .byte  15,88,195                           // addps         %xmm3,%xmm0
+  .byte  15,92,206                           // subps         %xmm6,%xmm1
+  .byte  15,89,205                           // mulps         %xmm5,%xmm1
+  .byte  15,88,206                           // addps         %xmm6,%xmm1
+  .byte  15,92,212                           // subps         %xmm4,%xmm2
+  .byte  15,89,213                           // mulps         %xmm5,%xmm2
+  .byte  15,88,212                           // addps         %xmm4,%xmm2
+  .byte  65,15,92,196                        // subps         %xmm12,%xmm0
+  .byte  15,40,92,36,224                     // movaps        -0x20(%rsp),%xmm3
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  65,15,88,196                        // addps         %xmm12,%xmm0
+  .byte  65,15,92,201                        // subps         %xmm9,%xmm1
+  .byte  15,89,203                           // mulps         %xmm3,%xmm1
+  .byte  65,15,88,201                        // addps         %xmm9,%xmm1
+  .byte  65,15,92,208                        // subps         %xmm8,%xmm2
+  .byte  15,89,211                           // mulps         %xmm3,%xmm2
+  .byte  65,15,88,208                        // addps         %xmm8,%xmm2
+  .byte  15,91,92,36,16                      // cvtdq2ps      0x10(%rsp),%xmm3
+  .byte  15,40,100,36,48                     // movaps        0x30(%rsp),%xmm4
+  .byte  15,92,227                           // subps         %xmm3,%xmm4
+  .byte  65,15,92,194                        // subps         %xmm10,%xmm0
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  65,15,88,194                        // addps         %xmm10,%xmm0
+  .byte  65,15,92,207                        // subps         %xmm15,%xmm1
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  65,15,88,207                        // addps         %xmm15,%xmm1
+  .byte  65,15,92,211                        // subps         %xmm11,%xmm2
+  .byte  15,89,212                           // mulps         %xmm4,%xmm2
+  .byte  65,15,88,211                        // addps         %xmm11,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,29,151,126,1,0                // movaps        0x17e97(%rip),%xmm3        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  72,139,76,36,248                    // mov           -0x8(%rsp),%rcx
+  .byte  15,40,100,36,64                     // movaps        0x40(%rsp),%xmm4
+  .byte  15,40,108,36,80                     // movaps        0x50(%rsp),%xmm5
+  .byte  15,40,116,36,96                     // movaps        0x60(%rsp),%xmm6
+  .byte  15,40,124,36,112                    // movaps        0x70(%rsp),%xmm7
+  .byte  72,129,196,136,0,0,0                // add           $0x88,%rsp
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,93                               // pop           %r13
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  93                                  // pop           %rbp
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_gauss_a_to_rgba_sse41
+.globl _sk_gauss_a_to_rgba_sse41
+FUNCTION(_sk_gauss_a_to_rgba_sse41)
+_sk_gauss_a_to_rgba_sse41:
+  .byte  15,40,5,20,133,1,0                  // movaps        0x18514(%rip),%xmm0        # 3d5c0 <_sk_srcover_bgra_8888_sse2_lowp+0x1374>
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  15,88,5,26,133,1,0                  // addps         0x1851a(%rip),%xmm0        # 3d5d0 <_sk_srcover_bgra_8888_sse2_lowp+0x1384>
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  15,88,5,32,133,1,0                  // addps         0x18520(%rip),%xmm0        # 3d5e0 <_sk_srcover_bgra_8888_sse2_lowp+0x1394>
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  15,88,5,38,133,1,0                  // addps         0x18526(%rip),%xmm0        # 3d5f0 <_sk_srcover_bgra_8888_sse2_lowp+0x13a4>
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  15,88,5,44,133,1,0                  // addps         0x1852c(%rip),%xmm0        # 3d600 <_sk_srcover_bgra_8888_sse2_lowp+0x13b4>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  15,40,208                           // movaps        %xmm0,%xmm2
+  .byte  15,40,216                           // movaps        %xmm0,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bilerp_clamp_8888_sse41
+.globl _sk_bilerp_clamp_8888_sse41
+FUNCTION(_sk_bilerp_clamp_8888_sse41)
+_sk_bilerp_clamp_8888_sse41:
+  .byte  72,131,236,56                       // sub           $0x38,%rsp
+  .byte  15,41,124,36,176                    // movaps        %xmm7,-0x50(%rsp)
+  .byte  15,41,116,36,160                    // movaps        %xmm6,-0x60(%rsp)
+  .byte  15,41,108,36,144                    // movaps        %xmm5,-0x70(%rsp)
+  .byte  15,41,100,36,128                    // movaps        %xmm4,-0x80(%rsp)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,29,254,125,1,0                // movaps        0x17dfe(%rip),%xmm3        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  68,15,40,208                        // movaps        %xmm0,%xmm10
+  .byte  68,15,88,211                        // addps         %xmm3,%xmm10
+  .byte  102,65,15,58,8,210,1                // roundps       $0x1,%xmm10,%xmm2
+  .byte  68,15,92,210                        // subps         %xmm2,%xmm10
+  .byte  15,41,12,36                         // movaps        %xmm1,(%rsp)
+  .byte  15,88,217                           // addps         %xmm1,%xmm3
+  .byte  102,15,58,8,203,1                   // roundps       $0x1,%xmm3,%xmm1
+  .byte  15,92,217                           // subps         %xmm1,%xmm3
+  .byte  15,40,13,228,125,1,0                // movaps        0x17de4(%rip),%xmm1        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  15,40,209                           // movaps        %xmm1,%xmm2
+  .byte  65,15,92,210                        // subps         %xmm10,%xmm2
+  .byte  15,41,84,36,32                      // movaps        %xmm2,0x20(%rsp)
+  .byte  15,41,92,36,240                     // movaps        %xmm3,-0x10(%rsp)
+  .byte  15,92,203                           // subps         %xmm3,%xmm1
+  .byte  15,41,76,36,192                     // movaps        %xmm1,-0x40(%rsp)
+  .byte  243,68,15,16,112,12                 // movss         0xc(%rax),%xmm14
+  .byte  69,15,198,246,0                     // shufps        $0x0,%xmm14,%xmm14
+  .byte  102,15,118,201                      // pcmpeqd       %xmm1,%xmm1
+  .byte  102,68,15,254,241                   // paddd         %xmm1,%xmm14
+  .byte  243,15,16,80,16                     // movss         0x10(%rax),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  102,15,254,209                      // paddd         %xmm1,%xmm2
+  .byte  102,15,127,84,36,224                // movdqa        %xmm2,-0x20(%rsp)
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  102,15,110,72,8                     // movd          0x8(%rax),%xmm1
+  .byte  102,15,112,201,0                    // pshufd        $0x0,%xmm1,%xmm1
+  .byte  102,15,127,76,36,208                // movdqa        %xmm1,-0x30(%rsp)
+  .byte  243,15,16,13,201,116,1,0            // movss         0x174c9(%rip),%xmm1        # 3c650 <_sk_srcover_bgra_8888_sse2_lowp+0x404>
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  15,40,37,143,127,1,0                // movaps        0x17f8f(%rip),%xmm4        # 3d120 <_sk_srcover_bgra_8888_sse2_lowp+0xed4>
+  .byte  102,15,239,210                      // pxor          %xmm2,%xmm2
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  15,40,241                           // movaps        %xmm1,%xmm6
+  .byte  15,40,238                           // movaps        %xmm6,%xmm5
+  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
+  .byte  15,88,44,36                         // addps         (%rsp),%xmm5
+  .byte  15,87,201                           // xorps         %xmm1,%xmm1
+  .byte  15,95,205                           // maxps         %xmm5,%xmm1
+  .byte  15,41,116,36,16                     // movaps        %xmm6,0x10(%rsp)
+  .byte  15,46,53,207,116,1,0                // ucomiss       0x174cf(%rip),%xmm6        # 3c68c <_sk_srcover_bgra_8888_sse2_lowp+0x440>
+  .byte  68,15,40,124,36,240                 // movaps        -0x10(%rsp),%xmm15
+  .byte  119,6                               // ja            251cb <_sk_bilerp_clamp_8888_sse41+0xea>
+  .byte  68,15,40,124,36,192                 // movaps        -0x40(%rsp),%xmm15
+  .byte  15,93,76,36,224                     // minps         -0x20(%rsp),%xmm1
+  .byte  243,68,15,91,233                    // cvttps2dq     %xmm1,%xmm13
+  .byte  102,68,15,56,64,108,36,208          // pmulld        -0x30(%rsp),%xmm13
+  .byte  243,15,16,45,107,116,1,0            // movss         0x1746b(%rip),%xmm5        # 3c650 <_sk_srcover_bgra_8888_sse2_lowp+0x404>
+  .byte  15,40,205                           // movaps        %xmm5,%xmm1
+  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
+  .byte  15,88,200                           // addps         %xmm0,%xmm1
+  .byte  15,87,246                           // xorps         %xmm6,%xmm6
+  .byte  15,95,241                           // maxps         %xmm1,%xmm6
+  .byte  65,15,93,246                        // minps         %xmm14,%xmm6
+  .byte  243,15,91,206                       // cvttps2dq     %xmm6,%xmm1
+  .byte  102,65,15,254,205                   // paddd         %xmm13,%xmm1
+  .byte  102,72,15,58,22,200,1               // pextrq        $0x1,%xmm1,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  102,73,15,126,202                   // movq          %xmm1,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  102,67,15,110,12,152                // movd          (%r8,%r11,4),%xmm1
+  .byte  102,67,15,58,34,12,144,1            // pinsrd        $0x1,(%r8,%r10,4),%xmm1
+  .byte  102,67,15,58,34,12,136,2            // pinsrd        $0x2,(%r8,%r9,4),%xmm1
+  .byte  102,65,15,58,34,12,128,3            // pinsrd        $0x3,(%r8,%rax,4),%xmm1
+  .byte  102,15,111,241                      // movdqa        %xmm1,%xmm6
+  .byte  102,15,219,53,122,125,1,0           // pand          0x17d7a(%rip),%xmm6        # 3cfc0 <_sk_srcover_bgra_8888_sse2_lowp+0xd74>
+  .byte  15,91,254                           // cvtdq2ps      %xmm6,%xmm7
+  .byte  15,89,252                           // mulps         %xmm4,%xmm7
+  .byte  102,15,111,241                      // movdqa        %xmm1,%xmm6
+  .byte  102,15,56,0,53,119,125,1,0          // pshufb        0x17d77(%rip),%xmm6        # 3cfd0 <_sk_srcover_bgra_8888_sse2_lowp+0xd84>
+  .byte  68,15,91,230                        // cvtdq2ps      %xmm6,%xmm12
+  .byte  68,15,89,228                        // mulps         %xmm4,%xmm12
+  .byte  102,15,111,241                      // movdqa        %xmm1,%xmm6
+  .byte  102,15,56,0,53,114,125,1,0          // pshufb        0x17d72(%rip),%xmm6        # 3cfe0 <_sk_srcover_bgra_8888_sse2_lowp+0xd94>
+  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
+  .byte  15,89,244                           // mulps         %xmm4,%xmm6
+  .byte  102,15,114,209,24                   // psrld         $0x18,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  15,46,45,6,116,1,0                  // ucomiss       0x17406(%rip),%xmm5        # 3c68c <_sk_srcover_bgra_8888_sse2_lowp+0x440>
+  .byte  69,15,40,218                        // movaps        %xmm10,%xmm11
+  .byte  119,6                               // ja            25292 <_sk_bilerp_clamp_8888_sse41+0x1b1>
+  .byte  68,15,40,92,36,32                   // movaps        0x20(%rsp),%xmm11
+  .byte  69,15,89,223                        // mulps         %xmm15,%xmm11
+  .byte  65,15,89,251                        // mulps         %xmm11,%xmm7
+  .byte  68,15,88,207                        // addps         %xmm7,%xmm9
+  .byte  69,15,89,227                        // mulps         %xmm11,%xmm12
+  .byte  69,15,88,196                        // addps         %xmm12,%xmm8
+  .byte  65,15,89,243                        // mulps         %xmm11,%xmm6
+  .byte  15,88,214                           // addps         %xmm6,%xmm2
+  .byte  68,15,89,217                        // mulps         %xmm1,%xmm11
+  .byte  65,15,88,219                        // addps         %xmm11,%xmm3
+  .byte  243,15,88,45,63,114,1,0             // addss         0x1723f(%rip),%xmm5        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  243,15,16,13,51,114,1,0             // movss         0x17233(%rip),%xmm1        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  15,46,205                           // ucomiss       %xmm5,%xmm1
+  .byte  15,131,23,255,255,255               // jae           251e5 <_sk_bilerp_clamp_8888_sse41+0x104>
+  .byte  15,40,116,36,16                     // movaps        0x10(%rsp),%xmm6
+  .byte  243,15,88,53,33,114,1,0             // addss         0x17221(%rip),%xmm6        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  243,15,16,13,21,114,1,0             // movss         0x17215(%rip),%xmm1        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  15,46,206                           // ucomiss       %xmm6,%xmm1
+  .byte  15,131,180,254,255,255              // jae           251a0 <_sk_bilerp_clamp_8888_sse41+0xbf>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  65,15,40,200                        // movaps        %xmm8,%xmm1
+  .byte  15,40,100,36,128                    // movaps        -0x80(%rsp),%xmm4
+  .byte  15,40,108,36,144                    // movaps        -0x70(%rsp),%xmm5
+  .byte  15,40,116,36,160                    // movaps        -0x60(%rsp),%xmm6
+  .byte  15,40,124,36,176                    // movaps        -0x50(%rsp),%xmm7
+  .byte  72,131,196,56                       // add           $0x38,%rsp
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_start_pipeline_sse2
+.globl _sk_start_pipeline_sse2
+FUNCTION(_sk_start_pipeline_sse2)
+_sk_start_pipeline_sse2:
+  .byte  85                                  // push          %rbp
+  .byte  72,137,229                          // mov           %rsp,%rbp
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,85                               // push          %r13
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,131,236,24                       // sub           $0x18,%rsp
+  .byte  73,137,215                          // mov           %rdx,%r15
+  .byte  72,137,243                          // mov           %rsi,%rbx
+  .byte  72,137,125,208                      // mov           %rdi,-0x30(%rbp)
+  .byte  76,137,198                          // mov           %r8,%rsi
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  73,137,197                          // mov           %rax,%r13
+  .byte  73,137,246                          // mov           %rsi,%r14
+  .byte  72,137,77,192                       // mov           %rcx,-0x40(%rbp)
+  .byte  72,57,203                           // cmp           %rcx,%rbx
+  .byte  15,131,131,0,0,0                    // jae           253c6 <_sk_start_pipeline_sse2+0xb6>
+  .byte  72,139,69,208                       // mov           -0x30(%rbp),%rax
+  .byte  72,141,64,4                         // lea           0x4(%rax),%rax
+  .byte  72,137,69,200                       // mov           %rax,-0x38(%rbp)
+  .byte  76,57,125,200                       // cmp           %r15,-0x38(%rbp)
+  .byte  72,139,85,208                       // mov           -0x30(%rbp),%rdx
+  .byte  119,59                              // ja            25394 <_sk_start_pipeline_sse2+0x84>
+  .byte  76,139,101,208                      // mov           -0x30(%rbp),%r12
+  .byte  49,255                              // xor           %edi,%edi
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  15,87,201                           // xorps         %xmm1,%xmm1
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,87,237                           // xorps         %xmm5,%xmm5
+  .byte  15,87,246                           // xorps         %xmm6,%xmm6
+  .byte  15,87,255                           // xorps         %xmm7,%xmm7
+  .byte  76,137,246                          // mov           %r14,%rsi
+  .byte  76,137,226                          // mov           %r12,%rdx
+  .byte  72,137,217                          // mov           %rbx,%rcx
+  .byte  65,255,213                          // callq         *%r13
+  .byte  73,141,84,36,4                      // lea           0x4(%r12),%rdx
+  .byte  73,131,196,8                        // add           $0x8,%r12
+  .byte  77,57,252                           // cmp           %r15,%r12
+  .byte  73,137,212                          // mov           %rdx,%r12
+  .byte  118,201                             // jbe           2535d <_sk_start_pipeline_sse2+0x4d>
+  .byte  76,137,255                          // mov           %r15,%rdi
+  .byte  72,41,215                           // sub           %rdx,%rdi
+  .byte  116,33                              // je            253bd <_sk_start_pipeline_sse2+0xad>
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  15,87,201                           // xorps         %xmm1,%xmm1
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,87,237                           // xorps         %xmm5,%xmm5
+  .byte  15,87,246                           // xorps         %xmm6,%xmm6
+  .byte  15,87,255                           // xorps         %xmm7,%xmm7
+  .byte  76,137,246                          // mov           %r14,%rsi
+  .byte  72,137,217                          // mov           %rbx,%rcx
+  .byte  65,255,213                          // callq         *%r13
+  .byte  72,255,195                          // inc           %rbx
+  .byte  72,59,93,192                        // cmp           -0x40(%rbp),%rbx
+  .byte  117,137                             // jne           2534f <_sk_start_pipeline_sse2+0x3f>
+  .byte  72,131,196,24                       // add           $0x18,%rsp
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,93                               // pop           %r13
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  93                                  // pop           %rbp
+  .byte  195                                 // retq
+
+HIDDEN _sk_just_return_sse2
+.globl _sk_just_return_sse2
+FUNCTION(_sk_just_return_sse2)
+_sk_just_return_sse2:
+  .byte  195                                 // retq
+
+HIDDEN _sk_seed_shader_sse2
+.globl _sk_seed_shader_sse2
+FUNCTION(_sk_seed_shader_sse2)
+_sk_seed_shader_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,15,110,194                      // movd          %edx,%xmm0
+  .byte  102,15,112,192,0                    // pshufd        $0x0,%xmm0,%xmm0
+  .byte  15,91,200                           // cvtdq2ps      %xmm0,%xmm1
+  .byte  15,16,0                             // movups        (%rax),%xmm0
+  .byte  15,88,193                           // addps         %xmm1,%xmm0
+  .byte  102,15,110,201                      // movd          %ecx,%xmm1
+  .byte  102,15,112,201,0                    // pshufd        $0x0,%xmm1,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  15,88,13,3,123,1,0                  // addps         0x17b03(%rip),%xmm1        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,21,10,123,1,0                 // movaps        0x17b0a(%rip),%xmm2        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,87,237                           // xorps         %xmm5,%xmm5
+  .byte  15,87,246                           // xorps         %xmm6,%xmm6
+  .byte  15,87,255                           // xorps         %xmm7,%xmm7
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_dither_sse2
+.globl _sk_dither_sse2
+FUNCTION(_sk_dither_sse2)
+_sk_dither_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,68,15,110,194                   // movd          %edx,%xmm8
+  .byte  102,69,15,112,192,0                 // pshufd        $0x0,%xmm8,%xmm8
+  .byte  102,68,15,254,5,179,122,1,0         // paddd         0x17ab3(%rip),%xmm8        # 3cee0 <_sk_srcover_bgra_8888_sse2_lowp+0xc94>
+  .byte  102,68,15,110,201                   // movd          %ecx,%xmm9
+  .byte  102,69,15,112,201,0                 // pshufd        $0x0,%xmm9,%xmm9
+  .byte  102,69,15,239,200                   // pxor          %xmm8,%xmm9
+  .byte  102,68,15,111,21,218,122,1,0        // movdqa        0x17ada(%rip),%xmm10        # 3cf20 <_sk_srcover_bgra_8888_sse2_lowp+0xcd4>
+  .byte  102,69,15,111,217                   // movdqa        %xmm9,%xmm11
+  .byte  102,69,15,219,218                   // pand          %xmm10,%xmm11
+  .byte  102,65,15,114,243,5                 // pslld         $0x5,%xmm11
+  .byte  102,69,15,219,208                   // pand          %xmm8,%xmm10
+  .byte  102,65,15,114,242,4                 // pslld         $0x4,%xmm10
+  .byte  102,68,15,111,37,198,122,1,0        // movdqa        0x17ac6(%rip),%xmm12        # 3cf30 <_sk_srcover_bgra_8888_sse2_lowp+0xce4>
+  .byte  102,68,15,111,45,205,122,1,0        // movdqa        0x17acd(%rip),%xmm13        # 3cf40 <_sk_srcover_bgra_8888_sse2_lowp+0xcf4>
+  .byte  102,69,15,111,241                   // movdqa        %xmm9,%xmm14
+  .byte  102,69,15,219,245                   // pand          %xmm13,%xmm14
+  .byte  102,65,15,114,246,2                 // pslld         $0x2,%xmm14
+  .byte  102,69,15,235,243                   // por           %xmm11,%xmm14
+  .byte  102,69,15,219,232                   // pand          %xmm8,%xmm13
+  .byte  102,69,15,254,237                   // paddd         %xmm13,%xmm13
+  .byte  102,69,15,235,234                   // por           %xmm10,%xmm13
+  .byte  102,69,15,219,204                   // pand          %xmm12,%xmm9
+  .byte  102,65,15,114,209,1                 // psrld         $0x1,%xmm9
+  .byte  102,69,15,219,196                   // pand          %xmm12,%xmm8
+  .byte  102,65,15,114,208,2                 // psrld         $0x2,%xmm8
+  .byte  102,69,15,235,197                   // por           %xmm13,%xmm8
+  .byte  102,69,15,235,198                   // por           %xmm14,%xmm8
+  .byte  102,69,15,235,193                   // por           %xmm9,%xmm8
+  .byte  69,15,91,192                        // cvtdq2ps      %xmm8,%xmm8
+  .byte  68,15,89,5,136,122,1,0              // mulps         0x17a88(%rip),%xmm8        # 3cf50 <_sk_srcover_bgra_8888_sse2_lowp+0xd04>
+  .byte  68,15,88,5,144,122,1,0              // addps         0x17a90(%rip),%xmm8        # 3cf60 <_sk_srcover_bgra_8888_sse2_lowp+0xd14>
+  .byte  243,68,15,16,16                     // movss         (%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  69,15,89,208                        // mulps         %xmm8,%xmm10
+  .byte  65,15,88,194                        // addps         %xmm10,%xmm0
+  .byte  65,15,88,202                        // addps         %xmm10,%xmm1
+  .byte  68,15,88,210                        // addps         %xmm2,%xmm10
+  .byte  15,93,195                           // minps         %xmm3,%xmm0
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  68,15,95,192                        // maxps         %xmm0,%xmm8
+  .byte  15,93,203                           // minps         %xmm3,%xmm1
+  .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
+  .byte  68,15,95,201                        // maxps         %xmm1,%xmm9
+  .byte  68,15,93,211                        // minps         %xmm3,%xmm10
+  .byte  65,15,95,210                        // maxps         %xmm10,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  65,15,40,201                        // movaps        %xmm9,%xmm1
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_uniform_color_sse2
+.globl _sk_uniform_color_sse2
+FUNCTION(_sk_uniform_color_sse2)
+_sk_uniform_color_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,15,16,0                         // movss         (%rax),%xmm0
+  .byte  243,15,16,72,4                      // movss         0x4(%rax),%xmm1
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
+  .byte  243,15,16,80,8                      // movss         0x8(%rax),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  243,15,16,88,12                     // movss         0xc(%rax),%xmm3
+  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_black_color_sse2
+.globl _sk_black_color_sse2
+FUNCTION(_sk_black_color_sse2)
+_sk_black_color_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,29,198,121,1,0                // movaps        0x179c6(%rip),%xmm3        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  15,87,201                           // xorps         %xmm1,%xmm1
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_white_color_sse2
+.globl _sk_white_color_sse2
+FUNCTION(_sk_white_color_sse2)
+_sk_white_color_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,5,178,121,1,0                 // movaps        0x179b2(%rip),%xmm0        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  15,40,208                           // movaps        %xmm0,%xmm2
+  .byte  15,40,216                           // movaps        %xmm0,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_load_rgba_sse2
+.globl _sk_load_rgba_sse2
+FUNCTION(_sk_load_rgba_sse2)
+_sk_load_rgba_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,16,0                             // movups        (%rax),%xmm0
+  .byte  15,16,72,16                         // movups        0x10(%rax),%xmm1
+  .byte  15,16,80,32                         // movups        0x20(%rax),%xmm2
+  .byte  15,16,88,48                         // movups        0x30(%rax),%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_store_rgba_sse2
+.globl _sk_store_rgba_sse2
+FUNCTION(_sk_store_rgba_sse2)
+_sk_store_rgba_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,17,0                             // movups        %xmm0,(%rax)
+  .byte  15,17,72,16                         // movups        %xmm1,0x10(%rax)
+  .byte  15,17,80,32                         // movups        %xmm2,0x20(%rax)
+  .byte  15,17,88,48                         // movups        %xmm3,0x30(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_clear_sse2
+.globl _sk_clear_sse2
+FUNCTION(_sk_clear_sse2)
+_sk_clear_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  15,87,201                           // xorps         %xmm1,%xmm1
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_srcatop_sse2
+.globl _sk_srcatop_sse2
+FUNCTION(_sk_srcatop_sse2)
+_sk_srcatop_sse2:
+  .byte  15,89,199                           // mulps         %xmm7,%xmm0
+  .byte  68,15,40,5,98,121,1,0               // movaps        0x17962(%rip),%xmm8        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  68,15,92,195                        // subps         %xmm3,%xmm8
+  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
+  .byte  68,15,89,204                        // mulps         %xmm4,%xmm9
+  .byte  65,15,88,193                        // addps         %xmm9,%xmm0
+  .byte  15,89,207                           // mulps         %xmm7,%xmm1
+  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
+  .byte  68,15,89,205                        // mulps         %xmm5,%xmm9
+  .byte  65,15,88,201                        // addps         %xmm9,%xmm1
+  .byte  15,89,215                           // mulps         %xmm7,%xmm2
+  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
+  .byte  68,15,89,206                        // mulps         %xmm6,%xmm9
+  .byte  65,15,88,209                        // addps         %xmm9,%xmm2
+  .byte  15,89,223                           // mulps         %xmm7,%xmm3
+  .byte  68,15,89,199                        // mulps         %xmm7,%xmm8
+  .byte  65,15,88,216                        // addps         %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_dstatop_sse2
+.globl _sk_dstatop_sse2
+FUNCTION(_sk_dstatop_sse2)
+_sk_dstatop_sse2:
+  .byte  68,15,40,195                        // movaps        %xmm3,%xmm8
+  .byte  68,15,89,196                        // mulps         %xmm4,%xmm8
+  .byte  68,15,40,13,21,121,1,0              // movaps        0x17915(%rip),%xmm9        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  68,15,92,207                        // subps         %xmm7,%xmm9
+  .byte  65,15,89,193                        // mulps         %xmm9,%xmm0
+  .byte  65,15,88,192                        // addps         %xmm8,%xmm0
+  .byte  68,15,40,195                        // movaps        %xmm3,%xmm8
+  .byte  68,15,89,197                        // mulps         %xmm5,%xmm8
+  .byte  65,15,89,201                        // mulps         %xmm9,%xmm1
+  .byte  65,15,88,200                        // addps         %xmm8,%xmm1
+  .byte  68,15,40,195                        // movaps        %xmm3,%xmm8
+  .byte  68,15,89,198                        // mulps         %xmm6,%xmm8
+  .byte  65,15,89,209                        // mulps         %xmm9,%xmm2
+  .byte  65,15,88,208                        // addps         %xmm8,%xmm2
+  .byte  68,15,89,203                        // mulps         %xmm3,%xmm9
+  .byte  15,89,223                           // mulps         %xmm7,%xmm3
+  .byte  65,15,88,217                        // addps         %xmm9,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_srcin_sse2
+.globl _sk_srcin_sse2
+FUNCTION(_sk_srcin_sse2)
+_sk_srcin_sse2:
+  .byte  15,89,199                           // mulps         %xmm7,%xmm0
+  .byte  15,89,207                           // mulps         %xmm7,%xmm1
+  .byte  15,89,215                           // mulps         %xmm7,%xmm2
+  .byte  15,89,223                           // mulps         %xmm7,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_dstin_sse2
+.globl _sk_dstin_sse2
+FUNCTION(_sk_dstin_sse2)
+_sk_dstin_sse2:
+  .byte  15,40,195                           // movaps        %xmm3,%xmm0
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  15,40,203                           // movaps        %xmm3,%xmm1
+  .byte  15,89,205                           // mulps         %xmm5,%xmm1
+  .byte  15,40,211                           // movaps        %xmm3,%xmm2
+  .byte  15,89,214                           // mulps         %xmm6,%xmm2
+  .byte  15,89,223                           // mulps         %xmm7,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_srcout_sse2
+.globl _sk_srcout_sse2
+FUNCTION(_sk_srcout_sse2)
+_sk_srcout_sse2:
+  .byte  68,15,40,5,169,120,1,0              // movaps        0x178a9(%rip),%xmm8        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  68,15,92,199                        // subps         %xmm7,%xmm8
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
+  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
+  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_dstout_sse2
+.globl _sk_dstout_sse2
+FUNCTION(_sk_dstout_sse2)
+_sk_dstout_sse2:
+  .byte  68,15,40,5,137,120,1,0              // movaps        0x17889(%rip),%xmm8        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  68,15,92,195                        // subps         %xmm3,%xmm8
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  65,15,40,200                        // movaps        %xmm8,%xmm1
+  .byte  15,89,205                           // mulps         %xmm5,%xmm1
+  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
+  .byte  15,89,214                           // mulps         %xmm6,%xmm2
+  .byte  68,15,89,199                        // mulps         %xmm7,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,216                        // movaps        %xmm8,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_srcover_sse2
+.globl _sk_srcover_sse2
+FUNCTION(_sk_srcover_sse2)
+_sk_srcover_sse2:
+  .byte  68,15,40,5,92,120,1,0               // movaps        0x1785c(%rip),%xmm8        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  68,15,92,195                        // subps         %xmm3,%xmm8
+  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
+  .byte  68,15,89,204                        // mulps         %xmm4,%xmm9
+  .byte  65,15,88,193                        // addps         %xmm9,%xmm0
+  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
+  .byte  68,15,89,205                        // mulps         %xmm5,%xmm9
+  .byte  65,15,88,201                        // addps         %xmm9,%xmm1
+  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
+  .byte  68,15,89,206                        // mulps         %xmm6,%xmm9
+  .byte  65,15,88,209                        // addps         %xmm9,%xmm2
+  .byte  68,15,89,199                        // mulps         %xmm7,%xmm8
+  .byte  65,15,88,216                        // addps         %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_dstover_sse2
+.globl _sk_dstover_sse2
+FUNCTION(_sk_dstover_sse2)
+_sk_dstover_sse2:
+  .byte  68,15,40,5,32,120,1,0               // movaps        0x17820(%rip),%xmm8        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  68,15,92,199                        // subps         %xmm7,%xmm8
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  15,88,196                           // addps         %xmm4,%xmm0
+  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
+  .byte  15,88,205                           // addps         %xmm5,%xmm1
+  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
+  .byte  15,88,214                           // addps         %xmm6,%xmm2
+  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
+  .byte  15,88,223                           // addps         %xmm7,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_modulate_sse2
+.globl _sk_modulate_sse2
+FUNCTION(_sk_modulate_sse2)
+_sk_modulate_sse2:
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  15,89,205                           // mulps         %xmm5,%xmm1
+  .byte  15,89,214                           // mulps         %xmm6,%xmm2
+  .byte  15,89,223                           // mulps         %xmm7,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_multiply_sse2
+.globl _sk_multiply_sse2
+FUNCTION(_sk_multiply_sse2)
+_sk_multiply_sse2:
+  .byte  68,15,40,5,228,119,1,0              // movaps        0x177e4(%rip),%xmm8        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
+  .byte  68,15,92,207                        // subps         %xmm7,%xmm9
+  .byte  69,15,40,209                        // movaps        %xmm9,%xmm10
+  .byte  68,15,89,208                        // mulps         %xmm0,%xmm10
+  .byte  68,15,92,195                        // subps         %xmm3,%xmm8
+  .byte  69,15,40,216                        // movaps        %xmm8,%xmm11
+  .byte  68,15,89,220                        // mulps         %xmm4,%xmm11
+  .byte  69,15,88,218                        // addps         %xmm10,%xmm11
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  65,15,88,195                        // addps         %xmm11,%xmm0
+  .byte  69,15,40,209                        // movaps        %xmm9,%xmm10
+  .byte  68,15,89,209                        // mulps         %xmm1,%xmm10
+  .byte  69,15,40,216                        // movaps        %xmm8,%xmm11
+  .byte  68,15,89,221                        // mulps         %xmm5,%xmm11
+  .byte  69,15,88,218                        // addps         %xmm10,%xmm11
+  .byte  15,89,205                           // mulps         %xmm5,%xmm1
+  .byte  65,15,88,203                        // addps         %xmm11,%xmm1
+  .byte  69,15,40,209                        // movaps        %xmm9,%xmm10
+  .byte  68,15,89,210                        // mulps         %xmm2,%xmm10
+  .byte  69,15,40,216                        // movaps        %xmm8,%xmm11
+  .byte  68,15,89,222                        // mulps         %xmm6,%xmm11
+  .byte  69,15,88,218                        // addps         %xmm10,%xmm11
+  .byte  15,89,214                           // mulps         %xmm6,%xmm2
+  .byte  65,15,88,211                        // addps         %xmm11,%xmm2
+  .byte  68,15,89,203                        // mulps         %xmm3,%xmm9
+  .byte  68,15,89,199                        // mulps         %xmm7,%xmm8
+  .byte  69,15,88,193                        // addps         %xmm9,%xmm8
+  .byte  15,89,223                           // mulps         %xmm7,%xmm3
+  .byte  65,15,88,216                        // addps         %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_plus__sse2
+.globl _sk_plus__sse2
+FUNCTION(_sk_plus__sse2)
+_sk_plus__sse2:
+  .byte  15,88,196                           // addps         %xmm4,%xmm0
+  .byte  68,15,40,5,101,119,1,0              // movaps        0x17765(%rip),%xmm8        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  65,15,93,192                        // minps         %xmm8,%xmm0
+  .byte  15,88,205                           // addps         %xmm5,%xmm1
+  .byte  65,15,93,200                        // minps         %xmm8,%xmm1
+  .byte  15,88,214                           // addps         %xmm6,%xmm2
+  .byte  65,15,93,208                        // minps         %xmm8,%xmm2
+  .byte  15,88,223                           // addps         %xmm7,%xmm3
+  .byte  65,15,93,216                        // minps         %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_screen_sse2
+.globl _sk_screen_sse2
+FUNCTION(_sk_screen_sse2)
+_sk_screen_sse2:
+  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
+  .byte  15,88,196                           // addps         %xmm4,%xmm0
+  .byte  68,15,89,196                        // mulps         %xmm4,%xmm8
+  .byte  65,15,92,192                        // subps         %xmm8,%xmm0
+  .byte  68,15,40,193                        // movaps        %xmm1,%xmm8
+  .byte  68,15,88,197                        // addps         %xmm5,%xmm8
+  .byte  15,89,205                           // mulps         %xmm5,%xmm1
+  .byte  68,15,92,193                        // subps         %xmm1,%xmm8
+  .byte  68,15,40,202                        // movaps        %xmm2,%xmm9
+  .byte  68,15,88,206                        // addps         %xmm6,%xmm9
+  .byte  15,89,214                           // mulps         %xmm6,%xmm2
+  .byte  68,15,92,202                        // subps         %xmm2,%xmm9
+  .byte  68,15,40,211                        // movaps        %xmm3,%xmm10
+  .byte  68,15,88,215                        // addps         %xmm7,%xmm10
+  .byte  15,89,223                           // mulps         %xmm7,%xmm3
+  .byte  68,15,92,211                        // subps         %xmm3,%xmm10
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,200                        // movaps        %xmm8,%xmm1
+  .byte  65,15,40,209                        // movaps        %xmm9,%xmm2
+  .byte  65,15,40,218                        // movaps        %xmm10,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xor__sse2
+.globl _sk_xor__sse2
+FUNCTION(_sk_xor__sse2)
+_sk_xor__sse2:
+  .byte  68,15,40,195                        // movaps        %xmm3,%xmm8
+  .byte  15,40,29,241,118,1,0                // movaps        0x176f1(%rip),%xmm3        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  68,15,40,203                        // movaps        %xmm3,%xmm9
+  .byte  68,15,92,207                        // subps         %xmm7,%xmm9
+  .byte  65,15,89,193                        // mulps         %xmm9,%xmm0
+  .byte  65,15,92,216                        // subps         %xmm8,%xmm3
+  .byte  68,15,40,211                        // movaps        %xmm3,%xmm10
+  .byte  68,15,89,212                        // mulps         %xmm4,%xmm10
+  .byte  65,15,88,194                        // addps         %xmm10,%xmm0
+  .byte  65,15,89,201                        // mulps         %xmm9,%xmm1
+  .byte  68,15,40,211                        // movaps        %xmm3,%xmm10
+  .byte  68,15,89,213                        // mulps         %xmm5,%xmm10
+  .byte  65,15,88,202                        // addps         %xmm10,%xmm1
+  .byte  65,15,89,209                        // mulps         %xmm9,%xmm2
+  .byte  68,15,40,211                        // movaps        %xmm3,%xmm10
+  .byte  68,15,89,214                        // mulps         %xmm6,%xmm10
+  .byte  65,15,88,210                        // addps         %xmm10,%xmm2
+  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
+  .byte  15,89,223                           // mulps         %xmm7,%xmm3
+  .byte  65,15,88,217                        // addps         %xmm9,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_darken_sse2
+.globl _sk_darken_sse2
+FUNCTION(_sk_darken_sse2)
+_sk_darken_sse2:
+  .byte  68,15,40,193                        // movaps        %xmm1,%xmm8
+  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
+  .byte  15,88,196                           // addps         %xmm4,%xmm0
+  .byte  68,15,89,207                        // mulps         %xmm7,%xmm9
+  .byte  15,40,203                           // movaps        %xmm3,%xmm1
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  68,15,95,201                        // maxps         %xmm1,%xmm9
+  .byte  65,15,92,193                        // subps         %xmm9,%xmm0
+  .byte  65,15,40,200                        // movaps        %xmm8,%xmm1
+  .byte  15,88,205                           // addps         %xmm5,%xmm1
+  .byte  68,15,89,199                        // mulps         %xmm7,%xmm8
+  .byte  68,15,40,203                        // movaps        %xmm3,%xmm9
+  .byte  68,15,89,205                        // mulps         %xmm5,%xmm9
+  .byte  69,15,95,193                        // maxps         %xmm9,%xmm8
+  .byte  65,15,92,200                        // subps         %xmm8,%xmm1
+  .byte  68,15,40,194                        // movaps        %xmm2,%xmm8
+  .byte  68,15,88,198                        // addps         %xmm6,%xmm8
+  .byte  15,89,215                           // mulps         %xmm7,%xmm2
+  .byte  68,15,40,203                        // movaps        %xmm3,%xmm9
+  .byte  68,15,89,206                        // mulps         %xmm6,%xmm9
+  .byte  65,15,95,209                        // maxps         %xmm9,%xmm2
+  .byte  68,15,92,194                        // subps         %xmm2,%xmm8
+  .byte  15,40,21,76,118,1,0                 // movaps        0x1764c(%rip),%xmm2        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  15,92,211                           // subps         %xmm3,%xmm2
+  .byte  15,89,215                           // mulps         %xmm7,%xmm2
+  .byte  15,88,218                           // addps         %xmm2,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_lighten_sse2
+.globl _sk_lighten_sse2
+FUNCTION(_sk_lighten_sse2)
+_sk_lighten_sse2:
+  .byte  68,15,40,193                        // movaps        %xmm1,%xmm8
+  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
+  .byte  15,88,196                           // addps         %xmm4,%xmm0
+  .byte  68,15,89,207                        // mulps         %xmm7,%xmm9
+  .byte  15,40,203                           // movaps        %xmm3,%xmm1
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  68,15,93,201                        // minps         %xmm1,%xmm9
+  .byte  65,15,92,193                        // subps         %xmm9,%xmm0
+  .byte  65,15,40,200                        // movaps        %xmm8,%xmm1
+  .byte  15,88,205                           // addps         %xmm5,%xmm1
+  .byte  68,15,89,199                        // mulps         %xmm7,%xmm8
+  .byte  68,15,40,203                        // movaps        %xmm3,%xmm9
+  .byte  68,15,89,205                        // mulps         %xmm5,%xmm9
+  .byte  69,15,93,193                        // minps         %xmm9,%xmm8
+  .byte  65,15,92,200                        // subps         %xmm8,%xmm1
+  .byte  68,15,40,194                        // movaps        %xmm2,%xmm8
+  .byte  68,15,88,198                        // addps         %xmm6,%xmm8
+  .byte  15,89,215                           // mulps         %xmm7,%xmm2
+  .byte  68,15,40,203                        // movaps        %xmm3,%xmm9
+  .byte  68,15,89,206                        // mulps         %xmm6,%xmm9
+  .byte  65,15,93,209                        // minps         %xmm9,%xmm2
+  .byte  68,15,92,194                        // subps         %xmm2,%xmm8
+  .byte  15,40,21,225,117,1,0                // movaps        0x175e1(%rip),%xmm2        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  15,92,211                           // subps         %xmm3,%xmm2
+  .byte  15,89,215                           // mulps         %xmm7,%xmm2
+  .byte  15,88,218                           // addps         %xmm2,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_difference_sse2
+.globl _sk_difference_sse2
+FUNCTION(_sk_difference_sse2)
+_sk_difference_sse2:
+  .byte  68,15,40,193                        // movaps        %xmm1,%xmm8
+  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
+  .byte  15,88,196                           // addps         %xmm4,%xmm0
+  .byte  68,15,89,207                        // mulps         %xmm7,%xmm9
+  .byte  15,40,203                           // movaps        %xmm3,%xmm1
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  68,15,93,201                        // minps         %xmm1,%xmm9
+  .byte  69,15,88,201                        // addps         %xmm9,%xmm9
+  .byte  65,15,92,193                        // subps         %xmm9,%xmm0
+  .byte  65,15,40,200                        // movaps        %xmm8,%xmm1
+  .byte  15,88,205                           // addps         %xmm5,%xmm1
+  .byte  68,15,89,199                        // mulps         %xmm7,%xmm8
+  .byte  68,15,40,203                        // movaps        %xmm3,%xmm9
+  .byte  68,15,89,205                        // mulps         %xmm5,%xmm9
+  .byte  69,15,93,193                        // minps         %xmm9,%xmm8
+  .byte  69,15,88,192                        // addps         %xmm8,%xmm8
+  .byte  65,15,92,200                        // subps         %xmm8,%xmm1
+  .byte  68,15,40,194                        // movaps        %xmm2,%xmm8
+  .byte  68,15,88,198                        // addps         %xmm6,%xmm8
+  .byte  15,89,215                           // mulps         %xmm7,%xmm2
+  .byte  68,15,40,203                        // movaps        %xmm3,%xmm9
+  .byte  68,15,89,206                        // mulps         %xmm6,%xmm9
+  .byte  65,15,93,209                        // minps         %xmm9,%xmm2
+  .byte  15,88,210                           // addps         %xmm2,%xmm2
+  .byte  68,15,92,194                        // subps         %xmm2,%xmm8
+  .byte  15,40,21,107,117,1,0                // movaps        0x1756b(%rip),%xmm2        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  15,92,211                           // subps         %xmm3,%xmm2
+  .byte  15,89,215                           // mulps         %xmm7,%xmm2
+  .byte  15,88,218                           // addps         %xmm2,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_exclusion_sse2
+.globl _sk_exclusion_sse2
+FUNCTION(_sk_exclusion_sse2)
+_sk_exclusion_sse2:
+  .byte  68,15,40,193                        // movaps        %xmm1,%xmm8
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  15,88,196                           // addps         %xmm4,%xmm0
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  15,88,201                           // addps         %xmm1,%xmm1
+  .byte  15,92,193                           // subps         %xmm1,%xmm0
+  .byte  65,15,40,200                        // movaps        %xmm8,%xmm1
+  .byte  15,88,205                           // addps         %xmm5,%xmm1
+  .byte  68,15,89,197                        // mulps         %xmm5,%xmm8
+  .byte  69,15,88,192                        // addps         %xmm8,%xmm8
+  .byte  65,15,92,200                        // subps         %xmm8,%xmm1
+  .byte  68,15,40,194                        // movaps        %xmm2,%xmm8
+  .byte  68,15,88,198                        // addps         %xmm6,%xmm8
+  .byte  15,89,214                           // mulps         %xmm6,%xmm2
+  .byte  15,88,210                           // addps         %xmm2,%xmm2
+  .byte  68,15,92,194                        // subps         %xmm2,%xmm8
+  .byte  15,40,21,27,117,1,0                 // movaps        0x1751b(%rip),%xmm2        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  15,92,211                           // subps         %xmm3,%xmm2
+  .byte  15,89,215                           // mulps         %xmm7,%xmm2
+  .byte  15,88,218                           // addps         %xmm2,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_colorburn_sse2
+.globl _sk_colorburn_sse2
+FUNCTION(_sk_colorburn_sse2)
+_sk_colorburn_sse2:
+  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
+  .byte  68,15,40,13,254,116,1,0             // movaps        0x174fe(%rip),%xmm9        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,40,209                        // movaps        %xmm9,%xmm10
+  .byte  68,15,92,215                        // subps         %xmm7,%xmm10
+  .byte  69,15,40,218                        // movaps        %xmm10,%xmm11
+  .byte  69,15,89,216                        // mulps         %xmm8,%xmm11
+  .byte  15,40,199                           // movaps        %xmm7,%xmm0
+  .byte  15,92,196                           // subps         %xmm4,%xmm0
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  69,15,83,224                        // rcpps         %xmm8,%xmm12
+  .byte  68,15,89,224                        // mulps         %xmm0,%xmm12
+  .byte  15,40,199                           // movaps        %xmm7,%xmm0
+  .byte  65,15,93,196                        // minps         %xmm12,%xmm0
+  .byte  68,15,40,231                        // movaps        %xmm7,%xmm12
+  .byte  68,15,92,224                        // subps         %xmm0,%xmm12
+  .byte  68,15,89,227                        // mulps         %xmm3,%xmm12
+  .byte  69,15,88,227                        // addps         %xmm11,%xmm12
+  .byte  65,15,40,195                        // movaps        %xmm11,%xmm0
+  .byte  15,88,196                           // addps         %xmm4,%xmm0
+  .byte  69,15,87,219                        // xorps         %xmm11,%xmm11
+  .byte  68,15,92,203                        // subps         %xmm3,%xmm9
+  .byte  69,15,40,233                        // movaps        %xmm9,%xmm13
+  .byte  68,15,89,236                        // mulps         %xmm4,%xmm13
+  .byte  69,15,194,195,0                     // cmpeqps       %xmm11,%xmm8
+  .byte  69,15,88,229                        // addps         %xmm13,%xmm12
+  .byte  69,15,84,232                        // andps         %xmm8,%xmm13
+  .byte  69,15,85,196                        // andnps        %xmm12,%xmm8
+  .byte  68,15,40,228                        // movaps        %xmm4,%xmm12
+  .byte  68,15,194,231,0                     // cmpeqps       %xmm7,%xmm12
+  .byte  69,15,86,197                        // orps          %xmm13,%xmm8
+  .byte  65,15,84,196                        // andps         %xmm12,%xmm0
+  .byte  69,15,85,224                        // andnps        %xmm8,%xmm12
+  .byte  65,15,86,196                        // orps          %xmm12,%xmm0
+  .byte  69,15,40,194                        // movaps        %xmm10,%xmm8
+  .byte  68,15,89,193                        // mulps         %xmm1,%xmm8
+  .byte  68,15,40,231                        // movaps        %xmm7,%xmm12
+  .byte  68,15,92,229                        // subps         %xmm5,%xmm12
+  .byte  68,15,89,227                        // mulps         %xmm3,%xmm12
+  .byte  68,15,83,233                        // rcpps         %xmm1,%xmm13
+  .byte  69,15,89,236                        // mulps         %xmm12,%xmm13
+  .byte  68,15,40,231                        // movaps        %xmm7,%xmm12
+  .byte  69,15,93,229                        // minps         %xmm13,%xmm12
+  .byte  68,15,40,239                        // movaps        %xmm7,%xmm13
+  .byte  69,15,92,236                        // subps         %xmm12,%xmm13
+  .byte  69,15,40,225                        // movaps        %xmm9,%xmm12
+  .byte  68,15,89,229                        // mulps         %xmm5,%xmm12
+  .byte  65,15,194,203,0                     // cmpeqps       %xmm11,%xmm1
+  .byte  68,15,89,235                        // mulps         %xmm3,%xmm13
+  .byte  69,15,88,232                        // addps         %xmm8,%xmm13
+  .byte  69,15,88,236                        // addps         %xmm12,%xmm13
+  .byte  68,15,84,225                        // andps         %xmm1,%xmm12
+  .byte  65,15,85,205                        // andnps        %xmm13,%xmm1
+  .byte  68,15,88,197                        // addps         %xmm5,%xmm8
+  .byte  65,15,86,204                        // orps          %xmm12,%xmm1
+  .byte  68,15,40,229                        // movaps        %xmm5,%xmm12
+  .byte  68,15,194,231,0                     // cmpeqps       %xmm7,%xmm12
+  .byte  69,15,84,196                        // andps         %xmm12,%xmm8
+  .byte  68,15,85,225                        // andnps        %xmm1,%xmm12
+  .byte  69,15,86,196                        // orps          %xmm12,%xmm8
+  .byte  68,15,89,210                        // mulps         %xmm2,%xmm10
+  .byte  68,15,194,218,0                     // cmpeqps       %xmm2,%xmm11
+  .byte  15,40,207                           // movaps        %xmm7,%xmm1
+  .byte  15,92,206                           // subps         %xmm6,%xmm1
+  .byte  15,89,203                           // mulps         %xmm3,%xmm1
+  .byte  15,83,210                           // rcpps         %xmm2,%xmm2
+  .byte  15,89,209                           // mulps         %xmm1,%xmm2
+  .byte  15,40,207                           // movaps        %xmm7,%xmm1
+  .byte  15,93,202                           // minps         %xmm2,%xmm1
+  .byte  15,40,215                           // movaps        %xmm7,%xmm2
+  .byte  15,92,209                           // subps         %xmm1,%xmm2
+  .byte  65,15,40,201                        // movaps        %xmm9,%xmm1
+  .byte  15,89,206                           // mulps         %xmm6,%xmm1
+  .byte  15,89,211                           // mulps         %xmm3,%xmm2
+  .byte  65,15,88,210                        // addps         %xmm10,%xmm2
+  .byte  15,88,209                           // addps         %xmm1,%xmm2
+  .byte  65,15,84,203                        // andps         %xmm11,%xmm1
+  .byte  68,15,85,218                        // andnps        %xmm2,%xmm11
+  .byte  65,15,40,210                        // movaps        %xmm10,%xmm2
+  .byte  15,88,214                           // addps         %xmm6,%xmm2
+  .byte  68,15,86,217                        // orps          %xmm1,%xmm11
+  .byte  15,40,206                           // movaps        %xmm6,%xmm1
+  .byte  15,194,207,0                        // cmpeqps       %xmm7,%xmm1
+  .byte  15,84,209                           // andps         %xmm1,%xmm2
+  .byte  65,15,85,203                        // andnps        %xmm11,%xmm1
+  .byte  15,86,209                           // orps          %xmm1,%xmm2
+  .byte  68,15,89,207                        // mulps         %xmm7,%xmm9
+  .byte  65,15,88,217                        // addps         %xmm9,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,200                        // movaps        %xmm8,%xmm1
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_colordodge_sse2
+.globl _sk_colordodge_sse2
+FUNCTION(_sk_colordodge_sse2)
+_sk_colordodge_sse2:
+  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
+  .byte  68,15,40,21,166,115,1,0             // movaps        0x173a6(%rip),%xmm10        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,40,218                        // movaps        %xmm10,%xmm11
+  .byte  68,15,92,223                        // subps         %xmm7,%xmm11
+  .byte  65,15,40,195                        // movaps        %xmm11,%xmm0
+  .byte  65,15,89,193                        // mulps         %xmm9,%xmm0
+  .byte  68,15,40,227                        // movaps        %xmm3,%xmm12
+  .byte  68,15,89,228                        // mulps         %xmm4,%xmm12
+  .byte  68,15,40,195                        // movaps        %xmm3,%xmm8
+  .byte  69,15,92,193                        // subps         %xmm9,%xmm8
+  .byte  69,15,83,192                        // rcpps         %xmm8,%xmm8
+  .byte  69,15,89,196                        // mulps         %xmm12,%xmm8
+  .byte  68,15,40,231                        // movaps        %xmm7,%xmm12
+  .byte  68,15,40,239                        // movaps        %xmm7,%xmm13
+  .byte  69,15,93,232                        // minps         %xmm8,%xmm13
+  .byte  69,15,40,241                        // movaps        %xmm9,%xmm14
+  .byte  68,15,194,243,0                     // cmpeqps       %xmm3,%xmm14
+  .byte  68,15,89,235                        // mulps         %xmm3,%xmm13
+  .byte  68,15,88,232                        // addps         %xmm0,%xmm13
+  .byte  69,15,84,206                        // andps         %xmm14,%xmm9
+  .byte  69,15,85,245                        // andnps        %xmm13,%xmm14
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  68,15,92,211                        // subps         %xmm3,%xmm10
+  .byte  69,15,86,241                        // orps          %xmm9,%xmm14
+  .byte  69,15,40,202                        // movaps        %xmm10,%xmm9
+  .byte  68,15,89,204                        // mulps         %xmm4,%xmm9
+  .byte  69,15,88,241                        // addps         %xmm9,%xmm14
+  .byte  68,15,40,204                        // movaps        %xmm4,%xmm9
+  .byte  69,15,194,200,0                     // cmpeqps       %xmm8,%xmm9
+  .byte  65,15,84,193                        // andps         %xmm9,%xmm0
+  .byte  69,15,85,206                        // andnps        %xmm14,%xmm9
+  .byte  65,15,86,193                        // orps          %xmm9,%xmm0
+  .byte  68,15,40,203                        // movaps        %xmm3,%xmm9
+  .byte  68,15,89,205                        // mulps         %xmm5,%xmm9
+  .byte  68,15,40,235                        // movaps        %xmm3,%xmm13
+  .byte  68,15,92,233                        // subps         %xmm1,%xmm13
+  .byte  69,15,83,237                        // rcpps         %xmm13,%xmm13
+  .byte  69,15,89,233                        // mulps         %xmm9,%xmm13
+  .byte  69,15,40,203                        // movaps        %xmm11,%xmm9
+  .byte  68,15,89,201                        // mulps         %xmm1,%xmm9
+  .byte  69,15,93,229                        // minps         %xmm13,%xmm12
+  .byte  68,15,40,233                        // movaps        %xmm1,%xmm13
+  .byte  68,15,194,235,0                     // cmpeqps       %xmm3,%xmm13
+  .byte  68,15,89,227                        // mulps         %xmm3,%xmm12
+  .byte  69,15,88,225                        // addps         %xmm9,%xmm12
+  .byte  65,15,84,205                        // andps         %xmm13,%xmm1
+  .byte  69,15,85,236                        // andnps        %xmm12,%xmm13
+  .byte  68,15,86,233                        // orps          %xmm1,%xmm13
+  .byte  65,15,40,202                        // movaps        %xmm10,%xmm1
+  .byte  15,89,205                           // mulps         %xmm5,%xmm1
+  .byte  68,15,88,233                        // addps         %xmm1,%xmm13
+  .byte  15,40,205                           // movaps        %xmm5,%xmm1
+  .byte  65,15,194,200,0                     // cmpeqps       %xmm8,%xmm1
+  .byte  68,15,84,201                        // andps         %xmm1,%xmm9
+  .byte  65,15,85,205                        // andnps        %xmm13,%xmm1
+  .byte  68,15,86,201                        // orps          %xmm1,%xmm9
+  .byte  68,15,40,227                        // movaps        %xmm3,%xmm12
+  .byte  68,15,89,230                        // mulps         %xmm6,%xmm12
+  .byte  15,40,203                           // movaps        %xmm3,%xmm1
+  .byte  15,92,202                           // subps         %xmm2,%xmm1
+  .byte  68,15,83,233                        // rcpps         %xmm1,%xmm13
+  .byte  69,15,89,236                        // mulps         %xmm12,%xmm13
+  .byte  68,15,40,231                        // movaps        %xmm7,%xmm12
+  .byte  68,15,89,218                        // mulps         %xmm2,%xmm11
+  .byte  69,15,93,229                        // minps         %xmm13,%xmm12
+  .byte  15,40,202                           // movaps        %xmm2,%xmm1
+  .byte  15,194,203,0                        // cmpeqps       %xmm3,%xmm1
+  .byte  68,15,89,227                        // mulps         %xmm3,%xmm12
+  .byte  69,15,88,227                        // addps         %xmm11,%xmm12
+  .byte  15,84,209                           // andps         %xmm1,%xmm2
+  .byte  65,15,85,204                        // andnps        %xmm12,%xmm1
+  .byte  15,86,202                           // orps          %xmm2,%xmm1
+  .byte  65,15,40,210                        // movaps        %xmm10,%xmm2
+  .byte  15,89,214                           // mulps         %xmm6,%xmm2
+  .byte  15,88,202                           // addps         %xmm2,%xmm1
+  .byte  68,15,194,198,0                     // cmpeqps       %xmm6,%xmm8
+  .byte  69,15,84,216                        // andps         %xmm8,%xmm11
+  .byte  68,15,85,193                        // andnps        %xmm1,%xmm8
+  .byte  69,15,86,195                        // orps          %xmm11,%xmm8
+  .byte  68,15,89,215                        // mulps         %xmm7,%xmm10
+  .byte  65,15,88,218                        // addps         %xmm10,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,201                        // movaps        %xmm9,%xmm1
+  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_hardlight_sse2
+.globl _sk_hardlight_sse2
+FUNCTION(_sk_hardlight_sse2)
+_sk_hardlight_sse2:
+  .byte  15,41,116,36,232                    // movaps        %xmm6,-0x18(%rsp)
+  .byte  15,40,245                           // movaps        %xmm5,%xmm6
+  .byte  15,40,236                           // movaps        %xmm4,%xmm5
+  .byte  68,15,40,29,79,114,1,0              // movaps        0x1724f(%rip),%xmm11        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,40,211                        // movaps        %xmm11,%xmm10
+  .byte  68,15,92,215                        // subps         %xmm7,%xmm10
+  .byte  69,15,40,194                        // movaps        %xmm10,%xmm8
+  .byte  68,15,89,192                        // mulps         %xmm0,%xmm8
+  .byte  68,15,92,219                        // subps         %xmm3,%xmm11
+  .byte  69,15,40,203                        // movaps        %xmm11,%xmm9
+  .byte  68,15,89,205                        // mulps         %xmm5,%xmm9
+  .byte  69,15,88,200                        // addps         %xmm8,%xmm9
+  .byte  68,15,40,195                        // movaps        %xmm3,%xmm8
+  .byte  68,15,92,192                        // subps         %xmm0,%xmm8
+  .byte  15,40,227                           // movaps        %xmm3,%xmm4
+  .byte  15,89,231                           // mulps         %xmm7,%xmm4
+  .byte  68,15,40,239                        // movaps        %xmm7,%xmm13
+  .byte  68,15,40,247                        // movaps        %xmm7,%xmm14
+  .byte  68,15,40,255                        // movaps        %xmm7,%xmm15
+  .byte  68,15,92,253                        // subps         %xmm5,%xmm15
+  .byte  69,15,89,248                        // mulps         %xmm8,%xmm15
+  .byte  69,15,88,255                        // addps         %xmm15,%xmm15
+  .byte  68,15,40,228                        // movaps        %xmm4,%xmm12
+  .byte  69,15,92,231                        // subps         %xmm15,%xmm12
+  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
+  .byte  69,15,88,192                        // addps         %xmm8,%xmm8
+  .byte  68,15,194,195,2                     // cmpleps       %xmm3,%xmm8
+  .byte  15,89,197                           // mulps         %xmm5,%xmm0
+  .byte  15,88,192                           // addps         %xmm0,%xmm0
+  .byte  65,15,84,192                        // andps         %xmm8,%xmm0
+  .byte  69,15,85,196                        // andnps        %xmm12,%xmm8
+  .byte  68,15,86,192                        // orps          %xmm0,%xmm8
+  .byte  69,15,40,251                        // movaps        %xmm11,%xmm15
+  .byte  69,15,40,227                        // movaps        %xmm11,%xmm12
+  .byte  68,15,89,223                        // mulps         %xmm7,%xmm11
+  .byte  69,15,88,193                        // addps         %xmm9,%xmm8
+  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
+  .byte  15,89,193                           // mulps         %xmm1,%xmm0
+  .byte  68,15,89,254                        // mulps         %xmm6,%xmm15
+  .byte  68,15,88,248                        // addps         %xmm0,%xmm15
+  .byte  15,40,195                           // movaps        %xmm3,%xmm0
+  .byte  15,92,193                           // subps         %xmm1,%xmm0
+  .byte  68,15,92,238                        // subps         %xmm6,%xmm13
+  .byte  68,15,89,232                        // mulps         %xmm0,%xmm13
+  .byte  69,15,88,237                        // addps         %xmm13,%xmm13
+  .byte  15,40,196                           // movaps        %xmm4,%xmm0
+  .byte  65,15,92,197                        // subps         %xmm13,%xmm0
+  .byte  68,15,40,201                        // movaps        %xmm1,%xmm9
+  .byte  69,15,88,201                        // addps         %xmm9,%xmm9
+  .byte  68,15,194,203,2                     // cmpleps       %xmm3,%xmm9
+  .byte  15,89,206                           // mulps         %xmm6,%xmm1
+  .byte  15,88,201                           // addps         %xmm1,%xmm1
+  .byte  65,15,84,201                        // andps         %xmm9,%xmm1
+  .byte  68,15,85,200                        // andnps        %xmm0,%xmm9
+  .byte  68,15,86,201                        // orps          %xmm1,%xmm9
+  .byte  69,15,88,207                        // addps         %xmm15,%xmm9
+  .byte  68,15,89,210                        // mulps         %xmm2,%xmm10
+  .byte  68,15,40,108,36,232                 // movaps        -0x18(%rsp),%xmm13
+  .byte  69,15,89,229                        // mulps         %xmm13,%xmm12
+  .byte  69,15,88,226                        // addps         %xmm10,%xmm12
+  .byte  68,15,40,210                        // movaps        %xmm2,%xmm10
+  .byte  69,15,88,210                        // addps         %xmm10,%xmm10
+  .byte  68,15,194,211,2                     // cmpleps       %xmm3,%xmm10
+  .byte  15,40,195                           // movaps        %xmm3,%xmm0
+  .byte  15,92,194                           // subps         %xmm2,%xmm0
+  .byte  65,15,89,213                        // mulps         %xmm13,%xmm2
+  .byte  15,88,210                           // addps         %xmm2,%xmm2
+  .byte  69,15,92,245                        // subps         %xmm13,%xmm14
+  .byte  68,15,89,240                        // mulps         %xmm0,%xmm14
+  .byte  69,15,88,246                        // addps         %xmm14,%xmm14
+  .byte  65,15,92,230                        // subps         %xmm14,%xmm4
+  .byte  65,15,84,210                        // andps         %xmm10,%xmm2
+  .byte  68,15,85,212                        // andnps        %xmm4,%xmm10
+  .byte  68,15,86,210                        // orps          %xmm2,%xmm10
+  .byte  69,15,88,212                        // addps         %xmm12,%xmm10
+  .byte  65,15,88,219                        // addps         %xmm11,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  65,15,40,201                        // movaps        %xmm9,%xmm1
+  .byte  65,15,40,210                        // movaps        %xmm10,%xmm2
+  .byte  15,40,229                           // movaps        %xmm5,%xmm4
+  .byte  15,40,238                           // movaps        %xmm6,%xmm5
+  .byte  65,15,40,245                        // movaps        %xmm13,%xmm6
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_overlay_sse2
+.globl _sk_overlay_sse2
+FUNCTION(_sk_overlay_sse2)
+_sk_overlay_sse2:
+  .byte  68,15,40,193                        // movaps        %xmm1,%xmm8
+  .byte  68,15,40,232                        // movaps        %xmm0,%xmm13
+  .byte  68,15,40,13,13,113,1,0              // movaps        0x1710d(%rip),%xmm9        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,40,209                        // movaps        %xmm9,%xmm10
+  .byte  68,15,92,215                        // subps         %xmm7,%xmm10
+  .byte  69,15,40,218                        // movaps        %xmm10,%xmm11
+  .byte  69,15,89,221                        // mulps         %xmm13,%xmm11
+  .byte  68,15,92,203                        // subps         %xmm3,%xmm9
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  65,15,88,195                        // addps         %xmm11,%xmm0
+  .byte  68,15,40,227                        // movaps        %xmm3,%xmm12
+  .byte  69,15,92,229                        // subps         %xmm13,%xmm12
+  .byte  68,15,89,236                        // mulps         %xmm4,%xmm13
+  .byte  68,15,40,247                        // movaps        %xmm7,%xmm14
+  .byte  68,15,92,244                        // subps         %xmm4,%xmm14
+  .byte  15,40,204                           // movaps        %xmm4,%xmm1
+  .byte  15,88,201                           // addps         %xmm1,%xmm1
+  .byte  15,194,207,2                        // cmpleps       %xmm7,%xmm1
+  .byte  69,15,88,237                        // addps         %xmm13,%xmm13
+  .byte  68,15,40,219                        // movaps        %xmm3,%xmm11
+  .byte  68,15,89,223                        // mulps         %xmm7,%xmm11
+  .byte  69,15,89,244                        // mulps         %xmm12,%xmm14
+  .byte  69,15,88,246                        // addps         %xmm14,%xmm14
+  .byte  69,15,40,227                        // movaps        %xmm11,%xmm12
+  .byte  69,15,92,230                        // subps         %xmm14,%xmm12
+  .byte  68,15,84,233                        // andps         %xmm1,%xmm13
+  .byte  65,15,85,204                        // andnps        %xmm12,%xmm1
+  .byte  65,15,86,205                        // orps          %xmm13,%xmm1
+  .byte  15,88,193                           // addps         %xmm1,%xmm0
+  .byte  69,15,40,226                        // movaps        %xmm10,%xmm12
+  .byte  69,15,89,224                        // mulps         %xmm8,%xmm12
+  .byte  65,15,40,201                        // movaps        %xmm9,%xmm1
+  .byte  15,89,205                           // mulps         %xmm5,%xmm1
+  .byte  65,15,88,204                        // addps         %xmm12,%xmm1
+  .byte  68,15,40,227                        // movaps        %xmm3,%xmm12
+  .byte  69,15,92,224                        // subps         %xmm8,%xmm12
+  .byte  68,15,89,197                        // mulps         %xmm5,%xmm8
+  .byte  68,15,40,239                        // movaps        %xmm7,%xmm13
+  .byte  68,15,92,237                        // subps         %xmm5,%xmm13
+  .byte  68,15,40,245                        // movaps        %xmm5,%xmm14
+  .byte  69,15,88,246                        // addps         %xmm14,%xmm14
+  .byte  68,15,194,247,2                     // cmpleps       %xmm7,%xmm14
+  .byte  69,15,88,192                        // addps         %xmm8,%xmm8
+  .byte  69,15,89,236                        // mulps         %xmm12,%xmm13
+  .byte  69,15,88,237                        // addps         %xmm13,%xmm13
+  .byte  69,15,40,227                        // movaps        %xmm11,%xmm12
+  .byte  69,15,92,229                        // subps         %xmm13,%xmm12
+  .byte  69,15,84,198                        // andps         %xmm14,%xmm8
+  .byte  69,15,85,244                        // andnps        %xmm12,%xmm14
+  .byte  69,15,86,240                        // orps          %xmm8,%xmm14
+  .byte  65,15,88,206                        // addps         %xmm14,%xmm1
+  .byte  68,15,89,210                        // mulps         %xmm2,%xmm10
+  .byte  69,15,40,193                        // movaps        %xmm9,%xmm8
+  .byte  68,15,89,198                        // mulps         %xmm6,%xmm8
+  .byte  69,15,88,194                        // addps         %xmm10,%xmm8
+  .byte  68,15,40,211                        // movaps        %xmm3,%xmm10
+  .byte  68,15,92,210                        // subps         %xmm2,%xmm10
+  .byte  15,89,214                           // mulps         %xmm6,%xmm2
+  .byte  68,15,40,231                        // movaps        %xmm7,%xmm12
+  .byte  68,15,92,230                        // subps         %xmm6,%xmm12
+  .byte  68,15,40,238                        // movaps        %xmm6,%xmm13
+  .byte  69,15,88,237                        // addps         %xmm13,%xmm13
+  .byte  68,15,194,239,2                     // cmpleps       %xmm7,%xmm13
+  .byte  15,88,210                           // addps         %xmm2,%xmm2
+  .byte  69,15,89,226                        // mulps         %xmm10,%xmm12
+  .byte  69,15,88,228                        // addps         %xmm12,%xmm12
+  .byte  69,15,92,220                        // subps         %xmm12,%xmm11
+  .byte  65,15,84,213                        // andps         %xmm13,%xmm2
+  .byte  69,15,85,235                        // andnps        %xmm11,%xmm13
+  .byte  68,15,86,234                        // orps          %xmm2,%xmm13
+  .byte  69,15,88,197                        // addps         %xmm13,%xmm8
+  .byte  68,15,89,207                        // mulps         %xmm7,%xmm9
+  .byte  65,15,88,217                        // addps         %xmm9,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_softlight_sse2
+.globl _sk_softlight_sse2
+FUNCTION(_sk_softlight_sse2)
+_sk_softlight_sse2:
+  .byte  15,41,116,36,216                    // movaps        %xmm6,-0x28(%rsp)
+  .byte  15,40,245                           // movaps        %xmm5,%xmm6
+  .byte  15,40,236                           // movaps        %xmm4,%xmm5
+  .byte  15,41,84,36,232                     // movaps        %xmm2,-0x18(%rsp)
+  .byte  15,40,209                           // movaps        %xmm1,%xmm2
+  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
+  .byte  69,15,87,228                        // xorps         %xmm12,%xmm12
+  .byte  68,15,194,231,1                     // cmpltps       %xmm7,%xmm12
+  .byte  68,15,40,213                        // movaps        %xmm5,%xmm10
+  .byte  68,15,94,215                        // divps         %xmm7,%xmm10
+  .byte  69,15,84,212                        // andps         %xmm12,%xmm10
+  .byte  68,15,40,13,186,111,1,0             // movaps        0x16fba(%rip),%xmm9        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,40,249                        // movaps        %xmm9,%xmm15
+  .byte  69,15,92,250                        // subps         %xmm10,%xmm15
+  .byte  69,15,40,218                        // movaps        %xmm10,%xmm11
+  .byte  69,15,40,234                        // movaps        %xmm10,%xmm13
+  .byte  65,15,82,194                        // rsqrtps       %xmm10,%xmm0
+  .byte  15,83,200                           // rcpps         %xmm0,%xmm1
+  .byte  65,15,92,202                        // subps         %xmm10,%xmm1
+  .byte  69,15,88,210                        // addps         %xmm10,%xmm10
+  .byte  69,15,88,210                        // addps         %xmm10,%xmm10
+  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
+  .byte  15,89,192                           // mulps         %xmm0,%xmm0
+  .byte  65,15,88,194                        // addps         %xmm10,%xmm0
+  .byte  68,15,40,53,228,111,1,0             // movaps        0x16fe4(%rip),%xmm14        # 3cf70 <_sk_srcover_bgra_8888_sse2_lowp+0xd24>
+  .byte  69,15,88,222                        // addps         %xmm14,%xmm11
+  .byte  68,15,89,216                        // mulps         %xmm0,%xmm11
+  .byte  68,15,40,21,228,111,1,0             // movaps        0x16fe4(%rip),%xmm10        # 3cf80 <_sk_srcover_bgra_8888_sse2_lowp+0xd34>
+  .byte  69,15,89,234                        // mulps         %xmm10,%xmm13
+  .byte  69,15,88,235                        // addps         %xmm11,%xmm13
+  .byte  15,88,228                           // addps         %xmm4,%xmm4
+  .byte  15,88,228                           // addps         %xmm4,%xmm4
+  .byte  15,194,231,2                        // cmpleps       %xmm7,%xmm4
+  .byte  68,15,84,236                        // andps         %xmm4,%xmm13
+  .byte  15,85,225                           // andnps        %xmm1,%xmm4
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  15,88,192                           // addps         %xmm0,%xmm0
+  .byte  65,15,86,229                        // orps          %xmm13,%xmm4
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  15,92,203                           // subps         %xmm3,%xmm1
+  .byte  68,15,89,249                        // mulps         %xmm1,%xmm15
+  .byte  15,89,207                           // mulps         %xmm7,%xmm1
+  .byte  15,89,225                           // mulps         %xmm1,%xmm4
+  .byte  15,40,203                           // movaps        %xmm3,%xmm1
+  .byte  15,89,205                           // mulps         %xmm5,%xmm1
+  .byte  15,88,225                           // addps         %xmm1,%xmm4
+  .byte  69,15,40,217                        // movaps        %xmm9,%xmm11
+  .byte  68,15,92,219                        // subps         %xmm3,%xmm11
+  .byte  65,15,40,203                        // movaps        %xmm11,%xmm1
+  .byte  15,89,205                           // mulps         %xmm5,%xmm1
+  .byte  69,15,40,233                        // movaps        %xmm9,%xmm13
+  .byte  68,15,92,239                        // subps         %xmm7,%xmm13
+  .byte  69,15,89,197                        // mulps         %xmm13,%xmm8
+  .byte  68,15,88,193                        // addps         %xmm1,%xmm8
+  .byte  68,15,88,251                        // addps         %xmm3,%xmm15
+  .byte  68,15,89,253                        // mulps         %xmm5,%xmm15
+  .byte  15,194,195,2                        // cmpleps       %xmm3,%xmm0
+  .byte  68,15,84,248                        // andps         %xmm0,%xmm15
+  .byte  15,85,196                           // andnps        %xmm4,%xmm0
+  .byte  65,15,86,199                        // orps          %xmm15,%xmm0
+  .byte  65,15,88,192                        // addps         %xmm8,%xmm0
+  .byte  68,15,40,198                        // movaps        %xmm6,%xmm8
+  .byte  68,15,94,199                        // divps         %xmm7,%xmm8
+  .byte  69,15,84,196                        // andps         %xmm12,%xmm8
+  .byte  65,15,40,200                        // movaps        %xmm8,%xmm1
+  .byte  15,88,201                           // addps         %xmm1,%xmm1
+  .byte  15,88,201                           // addps         %xmm1,%xmm1
+  .byte  15,40,225                           // movaps        %xmm1,%xmm4
+  .byte  15,89,228                           // mulps         %xmm4,%xmm4
+  .byte  15,88,225                           // addps         %xmm1,%xmm4
+  .byte  65,15,40,200                        // movaps        %xmm8,%xmm1
+  .byte  65,15,88,206                        // addps         %xmm14,%xmm1
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  69,15,40,249                        // movaps        %xmm9,%xmm15
+  .byte  69,15,92,248                        // subps         %xmm8,%xmm15
+  .byte  65,15,82,224                        // rsqrtps       %xmm8,%xmm4
+  .byte  15,83,228                           // rcpps         %xmm4,%xmm4
+  .byte  65,15,92,224                        // subps         %xmm8,%xmm4
+  .byte  69,15,89,194                        // mulps         %xmm10,%xmm8
+  .byte  68,15,88,193                        // addps         %xmm1,%xmm8
+  .byte  15,40,206                           // movaps        %xmm6,%xmm1
+  .byte  15,88,201                           // addps         %xmm1,%xmm1
+  .byte  15,88,201                           // addps         %xmm1,%xmm1
+  .byte  15,194,207,2                        // cmpleps       %xmm7,%xmm1
+  .byte  68,15,84,193                        // andps         %xmm1,%xmm8
+  .byte  15,85,204                           // andnps        %xmm4,%xmm1
+  .byte  65,15,86,200                        // orps          %xmm8,%xmm1
+  .byte  68,15,40,194                        // movaps        %xmm2,%xmm8
+  .byte  69,15,88,192                        // addps         %xmm8,%xmm8
+  .byte  65,15,40,224                        // movaps        %xmm8,%xmm4
+  .byte  15,92,227                           // subps         %xmm3,%xmm4
+  .byte  68,15,89,252                        // mulps         %xmm4,%xmm15
+  .byte  15,89,231                           // mulps         %xmm7,%xmm4
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  15,40,227                           // movaps        %xmm3,%xmm4
+  .byte  15,89,230                           // mulps         %xmm6,%xmm4
+  .byte  15,88,204                           // addps         %xmm4,%xmm1
+  .byte  65,15,40,227                        // movaps        %xmm11,%xmm4
+  .byte  15,89,230                           // mulps         %xmm6,%xmm4
+  .byte  65,15,89,213                        // mulps         %xmm13,%xmm2
+  .byte  15,88,212                           // addps         %xmm4,%xmm2
+  .byte  68,15,88,251                        // addps         %xmm3,%xmm15
+  .byte  68,15,89,254                        // mulps         %xmm6,%xmm15
+  .byte  68,15,194,195,2                     // cmpleps       %xmm3,%xmm8
+  .byte  69,15,84,248                        // andps         %xmm8,%xmm15
+  .byte  68,15,85,193                        // andnps        %xmm1,%xmm8
+  .byte  69,15,86,199                        // orps          %xmm15,%xmm8
+  .byte  68,15,88,194                        // addps         %xmm2,%xmm8
+  .byte  68,15,40,124,36,216                 // movaps        -0x28(%rsp),%xmm15
+  .byte  65,15,40,207                        // movaps        %xmm15,%xmm1
+  .byte  15,94,207                           // divps         %xmm7,%xmm1
+  .byte  65,15,84,204                        // andps         %xmm12,%xmm1
+  .byte  68,15,92,201                        // subps         %xmm1,%xmm9
+  .byte  68,15,88,241                        // addps         %xmm1,%xmm14
+  .byte  68,15,89,209                        // mulps         %xmm1,%xmm10
+  .byte  15,82,209                           // rsqrtps       %xmm1,%xmm2
+  .byte  15,83,210                           // rcpps         %xmm2,%xmm2
+  .byte  15,92,209                           // subps         %xmm1,%xmm2
+  .byte  15,88,201                           // addps         %xmm1,%xmm1
+  .byte  15,88,201                           // addps         %xmm1,%xmm1
+  .byte  15,40,225                           // movaps        %xmm1,%xmm4
+  .byte  15,89,228                           // mulps         %xmm4,%xmm4
+  .byte  15,88,225                           // addps         %xmm1,%xmm4
+  .byte  68,15,89,244                        // mulps         %xmm4,%xmm14
+  .byte  69,15,88,214                        // addps         %xmm14,%xmm10
+  .byte  65,15,40,207                        // movaps        %xmm15,%xmm1
+  .byte  15,88,201                           // addps         %xmm1,%xmm1
+  .byte  15,88,201                           // addps         %xmm1,%xmm1
+  .byte  15,194,207,2                        // cmpleps       %xmm7,%xmm1
+  .byte  68,15,84,209                        // andps         %xmm1,%xmm10
+  .byte  15,85,202                           // andnps        %xmm2,%xmm1
+  .byte  15,40,84,36,232                     // movaps        -0x18(%rsp),%xmm2
+  .byte  68,15,89,234                        // mulps         %xmm2,%xmm13
+  .byte  15,88,210                           // addps         %xmm2,%xmm2
+  .byte  65,15,86,202                        // orps          %xmm10,%xmm1
+  .byte  15,40,226                           // movaps        %xmm2,%xmm4
+  .byte  15,92,227                           // subps         %xmm3,%xmm4
+  .byte  68,15,89,204                        // mulps         %xmm4,%xmm9
+  .byte  15,89,231                           // mulps         %xmm7,%xmm4
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  15,40,227                           // movaps        %xmm3,%xmm4
+  .byte  65,15,89,231                        // mulps         %xmm15,%xmm4
+  .byte  15,88,204                           // addps         %xmm4,%xmm1
+  .byte  65,15,40,227                        // movaps        %xmm11,%xmm4
+  .byte  65,15,89,231                        // mulps         %xmm15,%xmm4
+  .byte  65,15,88,229                        // addps         %xmm13,%xmm4
+  .byte  68,15,88,203                        // addps         %xmm3,%xmm9
+  .byte  69,15,89,207                        // mulps         %xmm15,%xmm9
+  .byte  69,15,40,215                        // movaps        %xmm15,%xmm10
+  .byte  15,194,211,2                        // cmpleps       %xmm3,%xmm2
+  .byte  68,15,84,202                        // andps         %xmm2,%xmm9
+  .byte  15,85,209                           // andnps        %xmm1,%xmm2
+  .byte  65,15,86,209                        // orps          %xmm9,%xmm2
+  .byte  15,88,212                           // addps         %xmm4,%xmm2
+  .byte  68,15,89,223                        // mulps         %xmm7,%xmm11
+  .byte  65,15,88,219                        // addps         %xmm11,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,229                           // movaps        %xmm5,%xmm4
+  .byte  15,40,238                           // movaps        %xmm6,%xmm5
+  .byte  65,15,40,242                        // movaps        %xmm10,%xmm6
+  .byte  65,15,40,200                        // movaps        %xmm8,%xmm1
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_hue_sse2
+.globl _sk_hue_sse2
+FUNCTION(_sk_hue_sse2)
+_sk_hue_sse2:
+  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
+  .byte  68,15,89,203                        // mulps         %xmm3,%xmm9
+  .byte  68,15,40,209                        // movaps        %xmm1,%xmm10
+  .byte  68,15,40,225                        // movaps        %xmm1,%xmm12
+  .byte  68,15,89,211                        // mulps         %xmm3,%xmm10
+  .byte  68,15,40,5,119,109,1,0              // movaps        0x16d77(%rip),%xmm8        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,40,216                        // movaps        %xmm8,%xmm11
+  .byte  15,40,207                           // movaps        %xmm7,%xmm1
+  .byte  68,15,92,217                        // subps         %xmm1,%xmm11
+  .byte  65,15,89,195                        // mulps         %xmm11,%xmm0
+  .byte  15,41,68,36,232                     // movaps        %xmm0,-0x18(%rsp)
+  .byte  69,15,89,227                        // mulps         %xmm11,%xmm12
+  .byte  68,15,41,100,36,216                 // movaps        %xmm12,-0x28(%rsp)
+  .byte  68,15,89,218                        // mulps         %xmm2,%xmm11
+  .byte  15,89,211                           // mulps         %xmm3,%xmm2
+  .byte  68,15,40,229                        // movaps        %xmm5,%xmm12
+  .byte  68,15,40,237                        // movaps        %xmm5,%xmm13
+  .byte  15,40,197                           // movaps        %xmm5,%xmm0
+  .byte  15,41,68,36,200                     // movaps        %xmm0,-0x38(%rsp)
+  .byte  15,40,254                           // movaps        %xmm6,%xmm7
+  .byte  68,15,95,239                        // maxps         %xmm7,%xmm13
+  .byte  15,40,236                           // movaps        %xmm4,%xmm5
+  .byte  68,15,40,245                        // movaps        %xmm5,%xmm14
+  .byte  68,15,40,253                        // movaps        %xmm5,%xmm15
+  .byte  69,15,95,253                        // maxps         %xmm13,%xmm15
+  .byte  68,15,93,231                        // minps         %xmm7,%xmm12
+  .byte  69,15,93,244                        // minps         %xmm12,%xmm14
+  .byte  69,15,92,254                        // subps         %xmm14,%xmm15
+  .byte  69,15,40,226                        // movaps        %xmm10,%xmm12
+  .byte  68,15,93,226                        // minps         %xmm2,%xmm12
+  .byte  69,15,40,233                        // movaps        %xmm9,%xmm13
+  .byte  69,15,93,236                        // minps         %xmm12,%xmm13
+  .byte  69,15,40,226                        // movaps        %xmm10,%xmm12
+  .byte  68,15,95,226                        // maxps         %xmm2,%xmm12
+  .byte  69,15,40,241                        // movaps        %xmm9,%xmm14
+  .byte  69,15,95,244                        // maxps         %xmm12,%xmm14
+  .byte  69,15,92,245                        // subps         %xmm13,%xmm14
+  .byte  69,15,92,205                        // subps         %xmm13,%xmm9
+  .byte  69,15,92,213                        // subps         %xmm13,%xmm10
+  .byte  65,15,92,213                        // subps         %xmm13,%xmm2
+  .byte  15,40,240                           // movaps        %xmm0,%xmm6
+  .byte  68,15,89,251                        // mulps         %xmm3,%xmm15
+  .byte  69,15,89,207                        // mulps         %xmm15,%xmm9
+  .byte  69,15,89,215                        // mulps         %xmm15,%xmm10
+  .byte  65,15,89,215                        // mulps         %xmm15,%xmm2
+  .byte  69,15,87,228                        // xorps         %xmm12,%xmm12
+  .byte  69,15,94,206                        // divps         %xmm14,%xmm9
+  .byte  69,15,94,214                        // divps         %xmm14,%xmm10
+  .byte  65,15,94,214                        // divps         %xmm14,%xmm2
+  .byte  69,15,194,244,4                     // cmpneqps      %xmm12,%xmm14
+  .byte  69,15,84,206                        // andps         %xmm14,%xmm9
+  .byte  69,15,84,214                        // andps         %xmm14,%xmm10
+  .byte  65,15,84,214                        // andps         %xmm14,%xmm2
+  .byte  68,15,40,61,52,109,1,0              // movaps        0x16d34(%rip),%xmm15        # 3cf90 <_sk_srcover_bgra_8888_sse2_lowp+0xd44>
+  .byte  65,15,89,231                        // mulps         %xmm15,%xmm4
+  .byte  15,40,5,57,109,1,0                  // movaps        0x16d39(%rip),%xmm0        # 3cfa0 <_sk_srcover_bgra_8888_sse2_lowp+0xd54>
+  .byte  15,89,240                           // mulps         %xmm0,%xmm6
+  .byte  15,88,244                           // addps         %xmm4,%xmm6
+  .byte  68,15,40,53,59,109,1,0              // movaps        0x16d3b(%rip),%xmm14        # 3cfb0 <_sk_srcover_bgra_8888_sse2_lowp+0xd64>
+  .byte  68,15,40,239                        // movaps        %xmm7,%xmm13
+  .byte  69,15,89,238                        // mulps         %xmm14,%xmm13
+  .byte  68,15,88,238                        // addps         %xmm6,%xmm13
+  .byte  65,15,40,225                        // movaps        %xmm9,%xmm4
+  .byte  65,15,89,231                        // mulps         %xmm15,%xmm4
+  .byte  65,15,40,242                        // movaps        %xmm10,%xmm6
+  .byte  15,89,240                           // mulps         %xmm0,%xmm6
+  .byte  15,88,244                           // addps         %xmm4,%xmm6
+  .byte  15,40,226                           // movaps        %xmm2,%xmm4
+  .byte  65,15,89,230                        // mulps         %xmm14,%xmm4
+  .byte  15,88,230                           // addps         %xmm6,%xmm4
+  .byte  68,15,89,235                        // mulps         %xmm3,%xmm13
+  .byte  68,15,92,236                        // subps         %xmm4,%xmm13
+  .byte  69,15,88,205                        // addps         %xmm13,%xmm9
+  .byte  69,15,88,213                        // addps         %xmm13,%xmm10
+  .byte  68,15,88,234                        // addps         %xmm2,%xmm13
+  .byte  65,15,40,210                        // movaps        %xmm10,%xmm2
+  .byte  65,15,93,213                        // minps         %xmm13,%xmm2
+  .byte  65,15,40,241                        // movaps        %xmm9,%xmm6
+  .byte  15,93,242                           // minps         %xmm2,%xmm6
+  .byte  65,15,40,210                        // movaps        %xmm10,%xmm2
+  .byte  65,15,95,213                        // maxps         %xmm13,%xmm2
+  .byte  65,15,40,225                        // movaps        %xmm9,%xmm4
+  .byte  15,95,226                           // maxps         %xmm2,%xmm4
+  .byte  69,15,89,249                        // mulps         %xmm9,%xmm15
+  .byte  65,15,89,194                        // mulps         %xmm10,%xmm0
+  .byte  65,15,88,199                        // addps         %xmm15,%xmm0
+  .byte  69,15,89,245                        // mulps         %xmm13,%xmm14
+  .byte  68,15,88,240                        // addps         %xmm0,%xmm14
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  15,194,214,2                        // cmpleps       %xmm6,%xmm2
+  .byte  69,15,40,254                        // movaps        %xmm14,%xmm15
+  .byte  68,15,92,254                        // subps         %xmm6,%xmm15
+  .byte  65,15,40,241                        // movaps        %xmm9,%xmm6
+  .byte  65,15,92,246                        // subps         %xmm14,%xmm6
+  .byte  65,15,89,246                        // mulps         %xmm14,%xmm6
+  .byte  65,15,94,247                        // divps         %xmm15,%xmm6
+  .byte  65,15,88,246                        // addps         %xmm14,%xmm6
+  .byte  15,40,194                           // movaps        %xmm2,%xmm0
+  .byte  15,85,198                           // andnps        %xmm6,%xmm0
+  .byte  68,15,84,202                        // andps         %xmm2,%xmm9
+  .byte  68,15,86,200                        // orps          %xmm0,%xmm9
+  .byte  15,40,195                           // movaps        %xmm3,%xmm0
+  .byte  15,41,76,36,184                     // movaps        %xmm1,-0x48(%rsp)
+  .byte  15,89,193                           // mulps         %xmm1,%xmm0
+  .byte  68,15,92,195                        // subps         %xmm3,%xmm8
+  .byte  15,88,217                           // addps         %xmm1,%xmm3
+  .byte  15,92,216                           // subps         %xmm0,%xmm3
+  .byte  15,41,92,36,168                     // movaps        %xmm3,-0x58(%rsp)
+  .byte  15,40,240                           // movaps        %xmm0,%xmm6
+  .byte  15,194,196,1                        // cmpltps       %xmm4,%xmm0
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  65,15,85,201                        // andnps        %xmm9,%xmm1
+  .byte  69,15,92,206                        // subps         %xmm14,%xmm9
+  .byte  65,15,92,246                        // subps         %xmm14,%xmm6
+  .byte  68,15,89,206                        // mulps         %xmm6,%xmm9
+  .byte  65,15,92,230                        // subps         %xmm14,%xmm4
+  .byte  68,15,94,204                        // divps         %xmm4,%xmm9
+  .byte  69,15,88,206                        // addps         %xmm14,%xmm9
+  .byte  68,15,84,200                        // andps         %xmm0,%xmm9
+  .byte  68,15,86,201                        // orps          %xmm1,%xmm9
+  .byte  65,15,40,202                        // movaps        %xmm10,%xmm1
+  .byte  65,15,92,206                        // subps         %xmm14,%xmm1
+  .byte  65,15,89,206                        // mulps         %xmm14,%xmm1
+  .byte  65,15,94,207                        // divps         %xmm15,%xmm1
+  .byte  65,15,88,206                        // addps         %xmm14,%xmm1
+  .byte  15,40,218                           // movaps        %xmm2,%xmm3
+  .byte  15,85,217                           // andnps        %xmm1,%xmm3
+  .byte  68,15,84,210                        // andps         %xmm2,%xmm10
+  .byte  68,15,86,211                        // orps          %xmm3,%xmm10
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  65,15,85,202                        // andnps        %xmm10,%xmm1
+  .byte  69,15,92,214                        // subps         %xmm14,%xmm10
+  .byte  68,15,89,214                        // mulps         %xmm6,%xmm10
+  .byte  68,15,94,212                        // divps         %xmm4,%xmm10
+  .byte  69,15,88,214                        // addps         %xmm14,%xmm10
+  .byte  68,15,84,208                        // andps         %xmm0,%xmm10
+  .byte  68,15,86,209                        // orps          %xmm1,%xmm10
+  .byte  65,15,40,205                        // movaps        %xmm13,%xmm1
+  .byte  65,15,92,206                        // subps         %xmm14,%xmm1
+  .byte  65,15,89,206                        // mulps         %xmm14,%xmm1
+  .byte  65,15,94,207                        // divps         %xmm15,%xmm1
+  .byte  65,15,88,206                        // addps         %xmm14,%xmm1
+  .byte  68,15,84,234                        // andps         %xmm2,%xmm13
+  .byte  15,85,209                           // andnps        %xmm1,%xmm2
+  .byte  65,15,86,213                        // orps          %xmm13,%xmm2
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  15,85,202                           // andnps        %xmm2,%xmm1
+  .byte  65,15,92,214                        // subps         %xmm14,%xmm2
+  .byte  15,89,214                           // mulps         %xmm6,%xmm2
+  .byte  15,94,212                           // divps         %xmm4,%xmm2
+  .byte  65,15,88,214                        // addps         %xmm14,%xmm2
+  .byte  15,84,208                           // andps         %xmm0,%xmm2
+  .byte  15,86,209                           // orps          %xmm1,%xmm2
+  .byte  69,15,95,204                        // maxps         %xmm12,%xmm9
+  .byte  69,15,95,212                        // maxps         %xmm12,%xmm10
+  .byte  65,15,95,212                        // maxps         %xmm12,%xmm2
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  15,89,197                           // mulps         %xmm5,%xmm0
+  .byte  15,40,76,36,232                     // movaps        -0x18(%rsp),%xmm1
+  .byte  15,88,200                           // addps         %xmm0,%xmm1
+  .byte  65,15,88,201                        // addps         %xmm9,%xmm1
+  .byte  15,40,193                           // movaps        %xmm1,%xmm0
+  .byte  65,15,40,216                        // movaps        %xmm8,%xmm3
+  .byte  15,40,116,36,200                    // movaps        -0x38(%rsp),%xmm6
+  .byte  15,89,222                           // mulps         %xmm6,%xmm3
+  .byte  15,40,76,36,216                     // movaps        -0x28(%rsp),%xmm1
+  .byte  15,88,203                           // addps         %xmm3,%xmm1
+  .byte  65,15,88,202                        // addps         %xmm10,%xmm1
+  .byte  68,15,89,199                        // mulps         %xmm7,%xmm8
+  .byte  69,15,88,195                        // addps         %xmm11,%xmm8
+  .byte  68,15,88,194                        // addps         %xmm2,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,229                           // movaps        %xmm5,%xmm4
+  .byte  15,40,238                           // movaps        %xmm6,%xmm5
+  .byte  15,40,247                           // movaps        %xmm7,%xmm6
+  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
+  .byte  15,40,92,36,168                     // movaps        -0x58(%rsp),%xmm3
+  .byte  15,40,124,36,184                    // movaps        -0x48(%rsp),%xmm7
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_saturation_sse2
+.globl _sk_saturation_sse2
+FUNCTION(_sk_saturation_sse2)
+_sk_saturation_sse2:
+  .byte  68,15,40,231                        // movaps        %xmm7,%xmm12
+  .byte  68,15,40,198                        // movaps        %xmm6,%xmm8
+  .byte  15,40,251                           // movaps        %xmm3,%xmm7
+  .byte  68,15,40,216                        // movaps        %xmm0,%xmm11
+  .byte  68,15,40,215                        // movaps        %xmm7,%xmm10
+  .byte  68,15,89,212                        // mulps         %xmm4,%xmm10
+  .byte  15,40,244                           // movaps        %xmm4,%xmm6
+  .byte  15,41,116,36,184                    // movaps        %xmm6,-0x48(%rsp)
+  .byte  68,15,40,207                        // movaps        %xmm7,%xmm9
+  .byte  68,15,89,205                        // mulps         %xmm5,%xmm9
+  .byte  15,41,108,36,200                    // movaps        %xmm5,-0x38(%rsp)
+  .byte  15,40,199                           // movaps        %xmm7,%xmm0
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  69,15,40,232                        // movaps        %xmm8,%xmm13
+  .byte  68,15,41,108,36,168                 // movaps        %xmm13,-0x58(%rsp)
+  .byte  15,40,225                           // movaps        %xmm1,%xmm4
+  .byte  15,41,100,36,216                    // movaps        %xmm4,-0x28(%rsp)
+  .byte  15,40,220                           // movaps        %xmm4,%xmm3
+  .byte  15,41,84,36,232                     // movaps        %xmm2,-0x18(%rsp)
+  .byte  15,95,218                           // maxps         %xmm2,%xmm3
+  .byte  65,15,40,203                        // movaps        %xmm11,%xmm1
+  .byte  15,95,203                           // maxps         %xmm3,%xmm1
+  .byte  15,40,220                           // movaps        %xmm4,%xmm3
+  .byte  15,93,218                           // minps         %xmm2,%xmm3
+  .byte  65,15,40,211                        // movaps        %xmm11,%xmm2
+  .byte  15,93,211                           // minps         %xmm3,%xmm2
+  .byte  15,92,202                           // subps         %xmm2,%xmm1
+  .byte  65,15,89,204                        // mulps         %xmm12,%xmm1
+  .byte  65,15,40,228                        // movaps        %xmm12,%xmm4
+  .byte  65,15,40,209                        // movaps        %xmm9,%xmm2
+  .byte  15,93,208                           // minps         %xmm0,%xmm2
+  .byte  69,15,40,194                        // movaps        %xmm10,%xmm8
+  .byte  68,15,93,194                        // minps         %xmm2,%xmm8
+  .byte  65,15,40,209                        // movaps        %xmm9,%xmm2
+  .byte  15,95,208                           // maxps         %xmm0,%xmm2
+  .byte  65,15,40,218                        // movaps        %xmm10,%xmm3
+  .byte  15,95,218                           // maxps         %xmm2,%xmm3
+  .byte  65,15,92,216                        // subps         %xmm8,%xmm3
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  69,15,92,208                        // subps         %xmm8,%xmm10
+  .byte  68,15,89,209                        // mulps         %xmm1,%xmm10
+  .byte  68,15,94,211                        // divps         %xmm3,%xmm10
+  .byte  69,15,92,200                        // subps         %xmm8,%xmm9
+  .byte  68,15,89,201                        // mulps         %xmm1,%xmm9
+  .byte  68,15,94,203                        // divps         %xmm3,%xmm9
+  .byte  65,15,92,192                        // subps         %xmm8,%xmm0
+  .byte  15,89,193                           // mulps         %xmm1,%xmm0
+  .byte  15,94,195                           // divps         %xmm3,%xmm0
+  .byte  15,194,218,4                        // cmpneqps      %xmm2,%xmm3
+  .byte  68,15,84,211                        // andps         %xmm3,%xmm10
+  .byte  68,15,84,203                        // andps         %xmm3,%xmm9
+  .byte  15,84,195                           // andps         %xmm3,%xmm0
+  .byte  68,15,40,5,141,106,1,0              // movaps        0x16a8d(%rip),%xmm8        # 3cf90 <_sk_srcover_bgra_8888_sse2_lowp+0xd44>
+  .byte  15,40,214                           // movaps        %xmm6,%xmm2
+  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
+  .byte  15,40,13,143,106,1,0                // movaps        0x16a8f(%rip),%xmm1        # 3cfa0 <_sk_srcover_bgra_8888_sse2_lowp+0xd54>
+  .byte  15,40,221                           // movaps        %xmm5,%xmm3
+  .byte  15,89,217                           // mulps         %xmm1,%xmm3
+  .byte  15,88,218                           // addps         %xmm2,%xmm3
+  .byte  68,15,40,37,142,106,1,0             // movaps        0x16a8e(%rip),%xmm12        # 3cfb0 <_sk_srcover_bgra_8888_sse2_lowp+0xd64>
+  .byte  69,15,89,236                        // mulps         %xmm12,%xmm13
+  .byte  68,15,88,235                        // addps         %xmm3,%xmm13
+  .byte  65,15,40,210                        // movaps        %xmm10,%xmm2
+  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
+  .byte  65,15,40,217                        // movaps        %xmm9,%xmm3
+  .byte  15,89,217                           // mulps         %xmm1,%xmm3
+  .byte  15,88,218                           // addps         %xmm2,%xmm3
+  .byte  15,40,208                           // movaps        %xmm0,%xmm2
+  .byte  65,15,89,212                        // mulps         %xmm12,%xmm2
+  .byte  15,88,211                           // addps         %xmm3,%xmm2
+  .byte  68,15,89,239                        // mulps         %xmm7,%xmm13
+  .byte  68,15,92,234                        // subps         %xmm2,%xmm13
+  .byte  69,15,88,213                        // addps         %xmm13,%xmm10
+  .byte  69,15,88,205                        // addps         %xmm13,%xmm9
+  .byte  68,15,88,232                        // addps         %xmm0,%xmm13
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  65,15,93,197                        // minps         %xmm13,%xmm0
+  .byte  65,15,40,218                        // movaps        %xmm10,%xmm3
+  .byte  15,93,216                           // minps         %xmm0,%xmm3
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  65,15,95,197                        // maxps         %xmm13,%xmm0
+  .byte  69,15,40,242                        // movaps        %xmm10,%xmm14
+  .byte  68,15,95,240                        // maxps         %xmm0,%xmm14
+  .byte  69,15,89,194                        // mulps         %xmm10,%xmm8
+  .byte  65,15,89,201                        // mulps         %xmm9,%xmm1
+  .byte  65,15,88,200                        // addps         %xmm8,%xmm1
+  .byte  69,15,89,229                        // mulps         %xmm13,%xmm12
+  .byte  68,15,88,225                        // addps         %xmm1,%xmm12
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  15,194,211,2                        // cmpleps       %xmm3,%xmm2
+  .byte  65,15,40,244                        // movaps        %xmm12,%xmm6
+  .byte  15,92,243                           // subps         %xmm3,%xmm6
+  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
+  .byte  65,15,92,196                        // subps         %xmm12,%xmm0
+  .byte  65,15,89,196                        // mulps         %xmm12,%xmm0
+  .byte  15,94,198                           // divps         %xmm6,%xmm0
+  .byte  65,15,88,196                        // addps         %xmm12,%xmm0
+  .byte  15,40,202                           // movaps        %xmm2,%xmm1
+  .byte  15,85,200                           // andnps        %xmm0,%xmm1
+  .byte  68,15,84,210                        // andps         %xmm2,%xmm10
+  .byte  68,15,86,209                        // orps          %xmm1,%xmm10
+  .byte  15,40,223                           // movaps        %xmm7,%xmm3
+  .byte  15,40,236                           // movaps        %xmm4,%xmm5
+  .byte  15,89,221                           // mulps         %xmm5,%xmm3
+  .byte  68,15,40,5,67,105,1,0               // movaps        0x16943(%rip),%xmm8        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  65,15,40,224                        // movaps        %xmm8,%xmm4
+  .byte  68,15,92,199                        // subps         %xmm7,%xmm8
+  .byte  15,88,253                           // addps         %xmm5,%xmm7
+  .byte  15,92,251                           // subps         %xmm3,%xmm7
+  .byte  15,40,203                           // movaps        %xmm3,%xmm1
+  .byte  65,15,194,222,1                     // cmpltps       %xmm14,%xmm3
+  .byte  15,40,195                           // movaps        %xmm3,%xmm0
+  .byte  65,15,85,194                        // andnps        %xmm10,%xmm0
+  .byte  69,15,92,212                        // subps         %xmm12,%xmm10
+  .byte  65,15,92,204                        // subps         %xmm12,%xmm1
+  .byte  68,15,89,209                        // mulps         %xmm1,%xmm10
+  .byte  69,15,92,244                        // subps         %xmm12,%xmm14
+  .byte  69,15,94,214                        // divps         %xmm14,%xmm10
+  .byte  69,15,88,212                        // addps         %xmm12,%xmm10
+  .byte  68,15,84,211                        // andps         %xmm3,%xmm10
+  .byte  68,15,86,208                        // orps          %xmm0,%xmm10
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  65,15,92,196                        // subps         %xmm12,%xmm0
+  .byte  65,15,89,196                        // mulps         %xmm12,%xmm0
+  .byte  15,94,198                           // divps         %xmm6,%xmm0
+  .byte  65,15,88,196                        // addps         %xmm12,%xmm0
+  .byte  68,15,40,250                        // movaps        %xmm2,%xmm15
+  .byte  68,15,85,248                        // andnps        %xmm0,%xmm15
+  .byte  68,15,84,202                        // andps         %xmm2,%xmm9
+  .byte  69,15,86,207                        // orps          %xmm15,%xmm9
+  .byte  15,40,195                           // movaps        %xmm3,%xmm0
+  .byte  65,15,85,193                        // andnps        %xmm9,%xmm0
+  .byte  69,15,92,204                        // subps         %xmm12,%xmm9
+  .byte  68,15,89,201                        // mulps         %xmm1,%xmm9
+  .byte  69,15,94,206                        // divps         %xmm14,%xmm9
+  .byte  69,15,88,204                        // addps         %xmm12,%xmm9
+  .byte  68,15,84,203                        // andps         %xmm3,%xmm9
+  .byte  68,15,86,200                        // orps          %xmm0,%xmm9
+  .byte  65,15,40,197                        // movaps        %xmm13,%xmm0
+  .byte  65,15,92,196                        // subps         %xmm12,%xmm0
+  .byte  65,15,89,196                        // mulps         %xmm12,%xmm0
+  .byte  15,94,198                           // divps         %xmm6,%xmm0
+  .byte  65,15,88,196                        // addps         %xmm12,%xmm0
+  .byte  68,15,84,234                        // andps         %xmm2,%xmm13
+  .byte  15,85,208                           // andnps        %xmm0,%xmm2
+  .byte  65,15,86,213                        // orps          %xmm13,%xmm2
+  .byte  15,40,195                           // movaps        %xmm3,%xmm0
+  .byte  15,85,194                           // andnps        %xmm2,%xmm0
+  .byte  65,15,92,212                        // subps         %xmm12,%xmm2
+  .byte  15,89,209                           // mulps         %xmm1,%xmm2
+  .byte  65,15,94,214                        // divps         %xmm14,%xmm2
+  .byte  65,15,88,212                        // addps         %xmm12,%xmm2
+  .byte  15,84,211                           // andps         %xmm3,%xmm2
+  .byte  15,86,208                           // orps          %xmm0,%xmm2
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  68,15,95,208                        // maxps         %xmm0,%xmm10
+  .byte  68,15,95,200                        // maxps         %xmm0,%xmm9
+  .byte  15,95,208                           // maxps         %xmm0,%xmm2
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  15,40,92,36,184                     // movaps        -0x48(%rsp),%xmm3
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  68,15,40,229                        // movaps        %xmm5,%xmm12
+  .byte  65,15,92,228                        // subps         %xmm12,%xmm4
+  .byte  68,15,89,220                        // mulps         %xmm4,%xmm11
+  .byte  68,15,88,216                        // addps         %xmm0,%xmm11
+  .byte  69,15,88,218                        // addps         %xmm10,%xmm11
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  15,40,108,36,200                    // movaps        -0x38(%rsp),%xmm5
+  .byte  15,89,197                           // mulps         %xmm5,%xmm0
+  .byte  15,40,76,36,216                     // movaps        -0x28(%rsp),%xmm1
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  15,88,200                           // addps         %xmm0,%xmm1
+  .byte  65,15,88,201                        // addps         %xmm9,%xmm1
+  .byte  15,89,100,36,232                    // mulps         -0x18(%rsp),%xmm4
+  .byte  15,40,68,36,168                     // movaps        -0x58(%rsp),%xmm0
+  .byte  68,15,89,192                        // mulps         %xmm0,%xmm8
+  .byte  68,15,88,196                        // addps         %xmm4,%xmm8
+  .byte  68,15,88,194                        // addps         %xmm2,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,227                           // movaps        %xmm3,%xmm4
+  .byte  15,40,240                           // movaps        %xmm0,%xmm6
+  .byte  65,15,40,195                        // movaps        %xmm11,%xmm0
+  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
+  .byte  15,40,223                           // movaps        %xmm7,%xmm3
+  .byte  65,15,40,252                        // movaps        %xmm12,%xmm7
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_color_sse2
+.globl _sk_color_sse2
+FUNCTION(_sk_color_sse2)
+_sk_color_sse2:
+  .byte  68,15,40,199                        // movaps        %xmm7,%xmm8
+  .byte  68,15,40,230                        // movaps        %xmm6,%xmm12
+  .byte  68,15,41,100,36,216                 // movaps        %xmm12,-0x28(%rsp)
+  .byte  68,15,40,221                        // movaps        %xmm5,%xmm11
+  .byte  68,15,41,92,36,232                  // movaps        %xmm11,-0x18(%rsp)
+  .byte  15,40,244                           // movaps        %xmm4,%xmm6
+  .byte  15,41,84,36,184                     // movaps        %xmm2,-0x48(%rsp)
+  .byte  15,40,233                           // movaps        %xmm1,%xmm5
+  .byte  15,40,248                           // movaps        %xmm0,%xmm7
+  .byte  68,15,40,207                        // movaps        %xmm7,%xmm9
+  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
+  .byte  68,15,40,213                        // movaps        %xmm5,%xmm10
+  .byte  69,15,89,208                        // mulps         %xmm8,%xmm10
+  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
+  .byte  68,15,40,45,81,104,1,0              // movaps        0x16851(%rip),%xmm13        # 3cf90 <_sk_srcover_bgra_8888_sse2_lowp+0xd44>
+  .byte  68,15,40,198                        // movaps        %xmm6,%xmm8
+  .byte  69,15,89,197                        // mulps         %xmm13,%xmm8
+  .byte  68,15,40,53,81,104,1,0              // movaps        0x16851(%rip),%xmm14        # 3cfa0 <_sk_srcover_bgra_8888_sse2_lowp+0xd54>
+  .byte  65,15,40,195                        // movaps        %xmm11,%xmm0
+  .byte  65,15,89,198                        // mulps         %xmm14,%xmm0
+  .byte  65,15,88,192                        // addps         %xmm8,%xmm0
+  .byte  68,15,40,29,77,104,1,0              // movaps        0x1684d(%rip),%xmm11        # 3cfb0 <_sk_srcover_bgra_8888_sse2_lowp+0xd64>
+  .byte  69,15,89,227                        // mulps         %xmm11,%xmm12
+  .byte  68,15,88,224                        // addps         %xmm0,%xmm12
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  65,15,89,197                        // mulps         %xmm13,%xmm0
+  .byte  69,15,40,250                        // movaps        %xmm10,%xmm15
+  .byte  69,15,89,254                        // mulps         %xmm14,%xmm15
+  .byte  68,15,88,248                        // addps         %xmm0,%xmm15
+  .byte  68,15,40,5,137,103,1,0              // movaps        0x16789(%rip),%xmm8        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  65,15,40,224                        // movaps        %xmm8,%xmm4
+  .byte  15,92,226                           // subps         %xmm2,%xmm4
+  .byte  15,89,252                           // mulps         %xmm4,%xmm7
+  .byte  15,89,236                           // mulps         %xmm4,%xmm5
+  .byte  15,40,76,36,184                     // movaps        -0x48(%rsp),%xmm1
+  .byte  15,89,225                           // mulps         %xmm1,%xmm4
+  .byte  15,89,202                           // mulps         %xmm2,%xmm1
+  .byte  15,40,193                           // movaps        %xmm1,%xmm0
+  .byte  65,15,89,195                        // mulps         %xmm11,%xmm0
+  .byte  65,15,88,199                        // addps         %xmm15,%xmm0
+  .byte  68,15,89,227                        // mulps         %xmm3,%xmm12
+  .byte  68,15,92,224                        // subps         %xmm0,%xmm12
+  .byte  69,15,88,204                        // addps         %xmm12,%xmm9
+  .byte  69,15,88,212                        // addps         %xmm12,%xmm10
+  .byte  68,15,88,225                        // addps         %xmm1,%xmm12
+  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
+  .byte  65,15,93,196                        // minps         %xmm12,%xmm0
+  .byte  65,15,40,201                        // movaps        %xmm9,%xmm1
+  .byte  15,93,200                           // minps         %xmm0,%xmm1
+  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
+  .byte  65,15,95,196                        // maxps         %xmm12,%xmm0
+  .byte  69,15,40,249                        // movaps        %xmm9,%xmm15
+  .byte  68,15,95,248                        // maxps         %xmm0,%xmm15
+  .byte  69,15,89,233                        // mulps         %xmm9,%xmm13
+  .byte  69,15,89,242                        // mulps         %xmm10,%xmm14
+  .byte  69,15,88,245                        // addps         %xmm13,%xmm14
+  .byte  69,15,89,220                        // mulps         %xmm12,%xmm11
+  .byte  69,15,88,222                        // addps         %xmm14,%xmm11
+  .byte  69,15,87,237                        // xorps         %xmm13,%xmm13
+  .byte  68,15,194,233,2                     // cmpleps       %xmm1,%xmm13
+  .byte  69,15,40,243                        // movaps        %xmm11,%xmm14
+  .byte  68,15,92,241                        // subps         %xmm1,%xmm14
+  .byte  65,15,40,201                        // movaps        %xmm9,%xmm1
+  .byte  65,15,92,203                        // subps         %xmm11,%xmm1
+  .byte  65,15,89,203                        // mulps         %xmm11,%xmm1
+  .byte  65,15,94,206                        // divps         %xmm14,%xmm1
+  .byte  65,15,88,203                        // addps         %xmm11,%xmm1
+  .byte  65,15,40,197                        // movaps        %xmm13,%xmm0
+  .byte  15,85,193                           // andnps        %xmm1,%xmm0
+  .byte  69,15,84,205                        // andps         %xmm13,%xmm9
+  .byte  68,15,86,200                        // orps          %xmm0,%xmm9
+  .byte  15,40,195                           // movaps        %xmm3,%xmm0
+  .byte  15,41,84,36,200                     // movaps        %xmm2,-0x38(%rsp)
+  .byte  15,89,194                           // mulps         %xmm2,%xmm0
+  .byte  68,15,92,195                        // subps         %xmm3,%xmm8
+  .byte  15,88,218                           // addps         %xmm2,%xmm3
+  .byte  15,92,216                           // subps         %xmm0,%xmm3
+  .byte  15,41,92,36,184                     // movaps        %xmm3,-0x48(%rsp)
+  .byte  15,40,216                           // movaps        %xmm0,%xmm3
+  .byte  65,15,194,199,1                     // cmpltps       %xmm15,%xmm0
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  65,15,85,201                        // andnps        %xmm9,%xmm1
+  .byte  69,15,92,203                        // subps         %xmm11,%xmm9
+  .byte  65,15,92,219                        // subps         %xmm11,%xmm3
+  .byte  68,15,89,203                        // mulps         %xmm3,%xmm9
+  .byte  69,15,92,251                        // subps         %xmm11,%xmm15
+  .byte  69,15,94,207                        // divps         %xmm15,%xmm9
+  .byte  69,15,88,203                        // addps         %xmm11,%xmm9
+  .byte  68,15,84,200                        // andps         %xmm0,%xmm9
+  .byte  68,15,86,201                        // orps          %xmm1,%xmm9
+  .byte  65,15,40,202                        // movaps        %xmm10,%xmm1
+  .byte  65,15,92,203                        // subps         %xmm11,%xmm1
+  .byte  65,15,89,203                        // mulps         %xmm11,%xmm1
+  .byte  65,15,94,206                        // divps         %xmm14,%xmm1
+  .byte  65,15,88,203                        // addps         %xmm11,%xmm1
+  .byte  65,15,40,213                        // movaps        %xmm13,%xmm2
+  .byte  15,85,209                           // andnps        %xmm1,%xmm2
+  .byte  69,15,84,213                        // andps         %xmm13,%xmm10
+  .byte  68,15,86,210                        // orps          %xmm2,%xmm10
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  65,15,85,202                        // andnps        %xmm10,%xmm1
+  .byte  69,15,92,211                        // subps         %xmm11,%xmm10
+  .byte  68,15,89,211                        // mulps         %xmm3,%xmm10
+  .byte  69,15,94,215                        // divps         %xmm15,%xmm10
+  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
+  .byte  68,15,84,208                        // andps         %xmm0,%xmm10
+  .byte  68,15,86,209                        // orps          %xmm1,%xmm10
+  .byte  65,15,40,204                        // movaps        %xmm12,%xmm1
+  .byte  65,15,92,203                        // subps         %xmm11,%xmm1
+  .byte  65,15,89,203                        // mulps         %xmm11,%xmm1
+  .byte  65,15,94,206                        // divps         %xmm14,%xmm1
+  .byte  65,15,88,203                        // addps         %xmm11,%xmm1
+  .byte  69,15,84,229                        // andps         %xmm13,%xmm12
+  .byte  68,15,85,233                        // andnps        %xmm1,%xmm13
+  .byte  69,15,86,236                        // orps          %xmm12,%xmm13
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  65,15,85,205                        // andnps        %xmm13,%xmm1
+  .byte  69,15,92,235                        // subps         %xmm11,%xmm13
+  .byte  68,15,89,235                        // mulps         %xmm3,%xmm13
+  .byte  69,15,94,239                        // divps         %xmm15,%xmm13
+  .byte  69,15,88,235                        // addps         %xmm11,%xmm13
+  .byte  68,15,84,232                        // andps         %xmm0,%xmm13
+  .byte  68,15,86,233                        // orps          %xmm1,%xmm13
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  68,15,95,200                        // maxps         %xmm0,%xmm9
+  .byte  68,15,95,208                        // maxps         %xmm0,%xmm10
+  .byte  68,15,95,232                        // maxps         %xmm0,%xmm13
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  15,89,198                           // mulps         %xmm6,%xmm0
+  .byte  15,88,248                           // addps         %xmm0,%xmm7
+  .byte  65,15,88,249                        // addps         %xmm9,%xmm7
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  15,40,84,36,232                     // movaps        -0x18(%rsp),%xmm2
+  .byte  15,89,194                           // mulps         %xmm2,%xmm0
+  .byte  15,88,232                           // addps         %xmm0,%xmm5
+  .byte  65,15,88,234                        // addps         %xmm10,%xmm5
+  .byte  15,40,205                           // movaps        %xmm5,%xmm1
+  .byte  15,40,68,36,216                     // movaps        -0x28(%rsp),%xmm0
+  .byte  68,15,89,192                        // mulps         %xmm0,%xmm8
+  .byte  68,15,88,196                        // addps         %xmm4,%xmm8
+  .byte  69,15,88,197                        // addps         %xmm13,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,230                           // movaps        %xmm6,%xmm4
+  .byte  15,40,234                           // movaps        %xmm2,%xmm5
+  .byte  15,40,240                           // movaps        %xmm0,%xmm6
+  .byte  15,40,199                           // movaps        %xmm7,%xmm0
+  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
+  .byte  15,40,92,36,184                     // movaps        -0x48(%rsp),%xmm3
+  .byte  15,40,124,36,200                    // movaps        -0x38(%rsp),%xmm7
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_luminosity_sse2
+.globl _sk_luminosity_sse2
+FUNCTION(_sk_luminosity_sse2)
+_sk_luminosity_sse2:
+  .byte  68,15,40,215                        // movaps        %xmm7,%xmm10
+  .byte  15,41,116,36,200                    // movaps        %xmm6,-0x38(%rsp)
+  .byte  15,40,245                           // movaps        %xmm5,%xmm6
+  .byte  15,41,116,36,232                    // movaps        %xmm6,-0x18(%rsp)
+  .byte  15,41,100,36,216                    // movaps        %xmm4,-0x28(%rsp)
+  .byte  15,40,235                           // movaps        %xmm3,%xmm5
+  .byte  15,40,248                           // movaps        %xmm0,%xmm7
+  .byte  68,15,40,205                        // movaps        %xmm5,%xmm9
+  .byte  68,15,89,204                        // mulps         %xmm4,%xmm9
+  .byte  15,89,222                           // mulps         %xmm6,%xmm3
+  .byte  68,15,40,37,16,102,1,0              // movaps        0x16610(%rip),%xmm12        # 3cf90 <_sk_srcover_bgra_8888_sse2_lowp+0xd44>
+  .byte  68,15,40,199                        // movaps        %xmm7,%xmm8
+  .byte  69,15,89,196                        // mulps         %xmm12,%xmm8
+  .byte  68,15,40,45,16,102,1,0              // movaps        0x16610(%rip),%xmm13        # 3cfa0 <_sk_srcover_bgra_8888_sse2_lowp+0xd54>
+  .byte  68,15,40,241                        // movaps        %xmm1,%xmm14
+  .byte  69,15,89,245                        // mulps         %xmm13,%xmm14
+  .byte  69,15,88,240                        // addps         %xmm8,%xmm14
+  .byte  68,15,40,29,12,102,1,0              // movaps        0x1660c(%rip),%xmm11        # 3cfb0 <_sk_srcover_bgra_8888_sse2_lowp+0xd64>
+  .byte  68,15,40,5,100,101,1,0              // movaps        0x16564(%rip),%xmm8        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,40,248                        // movaps        %xmm8,%xmm15
+  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
+  .byte  68,15,92,248                        // subps         %xmm0,%xmm15
+  .byte  65,15,89,255                        // mulps         %xmm15,%xmm7
+  .byte  65,15,89,207                        // mulps         %xmm15,%xmm1
+  .byte  15,41,76,36,184                     // movaps        %xmm1,-0x48(%rsp)
+  .byte  68,15,89,250                        // mulps         %xmm2,%xmm15
+  .byte  65,15,89,211                        // mulps         %xmm11,%xmm2
+  .byte  65,15,88,214                        // addps         %xmm14,%xmm2
+  .byte  69,15,40,241                        // movaps        %xmm9,%xmm14
+  .byte  69,15,89,244                        // mulps         %xmm12,%xmm14
+  .byte  68,15,40,211                        // movaps        %xmm3,%xmm10
+  .byte  69,15,89,213                        // mulps         %xmm13,%xmm10
+  .byte  69,15,88,214                        // addps         %xmm14,%xmm10
+  .byte  15,40,229                           // movaps        %xmm5,%xmm4
+  .byte  15,40,116,36,200                    // movaps        -0x38(%rsp),%xmm6
+  .byte  15,89,230                           // mulps         %xmm6,%xmm4
+  .byte  68,15,40,244                        // movaps        %xmm4,%xmm14
+  .byte  69,15,89,243                        // mulps         %xmm11,%xmm14
+  .byte  69,15,88,242                        // addps         %xmm10,%xmm14
+  .byte  15,89,208                           // mulps         %xmm0,%xmm2
+  .byte  65,15,92,214                        // subps         %xmm14,%xmm2
+  .byte  68,15,88,202                        // addps         %xmm2,%xmm9
+  .byte  15,88,218                           // addps         %xmm2,%xmm3
+  .byte  15,88,212                           // addps         %xmm4,%xmm2
+  .byte  68,15,40,211                        // movaps        %xmm3,%xmm10
+  .byte  68,15,93,210                        // minps         %xmm2,%xmm10
+  .byte  65,15,40,225                        // movaps        %xmm9,%xmm4
+  .byte  65,15,93,226                        // minps         %xmm10,%xmm4
+  .byte  68,15,40,211                        // movaps        %xmm3,%xmm10
+  .byte  68,15,95,210                        // maxps         %xmm2,%xmm10
+  .byte  69,15,40,241                        // movaps        %xmm9,%xmm14
+  .byte  69,15,95,242                        // maxps         %xmm10,%xmm14
+  .byte  69,15,89,225                        // mulps         %xmm9,%xmm12
+  .byte  68,15,89,235                        // mulps         %xmm3,%xmm13
+  .byte  69,15,88,236                        // addps         %xmm12,%xmm13
+  .byte  68,15,89,218                        // mulps         %xmm2,%xmm11
+  .byte  69,15,88,221                        // addps         %xmm13,%xmm11
+  .byte  69,15,87,228                        // xorps         %xmm12,%xmm12
+  .byte  68,15,194,228,2                     // cmpleps       %xmm4,%xmm12
+  .byte  69,15,40,211                        // movaps        %xmm11,%xmm10
+  .byte  68,15,92,212                        // subps         %xmm4,%xmm10
+  .byte  65,15,40,225                        // movaps        %xmm9,%xmm4
+  .byte  65,15,92,227                        // subps         %xmm11,%xmm4
+  .byte  65,15,89,227                        // mulps         %xmm11,%xmm4
+  .byte  65,15,94,226                        // divps         %xmm10,%xmm4
+  .byte  65,15,88,227                        // addps         %xmm11,%xmm4
+  .byte  69,15,40,236                        // movaps        %xmm12,%xmm13
+  .byte  68,15,85,236                        // andnps        %xmm4,%xmm13
+  .byte  69,15,84,204                        // andps         %xmm12,%xmm9
+  .byte  69,15,86,205                        // orps          %xmm13,%xmm9
+  .byte  15,40,229                           // movaps        %xmm5,%xmm4
+  .byte  15,41,68,36,168                     // movaps        %xmm0,-0x58(%rsp)
+  .byte  15,89,224                           // mulps         %xmm0,%xmm4
+  .byte  68,15,92,197                        // subps         %xmm5,%xmm8
+  .byte  15,88,232                           // addps         %xmm0,%xmm5
+  .byte  15,92,236                           // subps         %xmm4,%xmm5
+  .byte  68,15,40,236                        // movaps        %xmm4,%xmm13
+  .byte  65,15,194,230,1                     // cmpltps       %xmm14,%xmm4
+  .byte  15,40,196                           // movaps        %xmm4,%xmm0
+  .byte  65,15,85,193                        // andnps        %xmm9,%xmm0
+  .byte  69,15,92,203                        // subps         %xmm11,%xmm9
+  .byte  69,15,92,235                        // subps         %xmm11,%xmm13
+  .byte  69,15,89,205                        // mulps         %xmm13,%xmm9
+  .byte  69,15,92,243                        // subps         %xmm11,%xmm14
+  .byte  69,15,94,206                        // divps         %xmm14,%xmm9
+  .byte  69,15,88,203                        // addps         %xmm11,%xmm9
+  .byte  68,15,84,204                        // andps         %xmm4,%xmm9
+  .byte  68,15,86,200                        // orps          %xmm0,%xmm9
+  .byte  15,40,195                           // movaps        %xmm3,%xmm0
+  .byte  65,15,92,195                        // subps         %xmm11,%xmm0
+  .byte  65,15,89,195                        // mulps         %xmm11,%xmm0
+  .byte  65,15,94,194                        // divps         %xmm10,%xmm0
+  .byte  65,15,88,195                        // addps         %xmm11,%xmm0
+  .byte  65,15,40,204                        // movaps        %xmm12,%xmm1
+  .byte  15,85,200                           // andnps        %xmm0,%xmm1
+  .byte  65,15,84,220                        // andps         %xmm12,%xmm3
+  .byte  15,86,217                           // orps          %xmm1,%xmm3
+  .byte  15,40,196                           // movaps        %xmm4,%xmm0
+  .byte  15,85,195                           // andnps        %xmm3,%xmm0
+  .byte  65,15,92,219                        // subps         %xmm11,%xmm3
+  .byte  65,15,89,221                        // mulps         %xmm13,%xmm3
+  .byte  65,15,94,222                        // divps         %xmm14,%xmm3
+  .byte  65,15,88,219                        // addps         %xmm11,%xmm3
+  .byte  15,84,220                           // andps         %xmm4,%xmm3
+  .byte  15,86,216                           // orps          %xmm0,%xmm3
+  .byte  15,40,194                           // movaps        %xmm2,%xmm0
+  .byte  65,15,92,195                        // subps         %xmm11,%xmm0
+  .byte  65,15,89,195                        // mulps         %xmm11,%xmm0
+  .byte  65,15,94,194                        // divps         %xmm10,%xmm0
+  .byte  65,15,88,195                        // addps         %xmm11,%xmm0
+  .byte  65,15,84,212                        // andps         %xmm12,%xmm2
+  .byte  68,15,85,224                        // andnps        %xmm0,%xmm12
+  .byte  68,15,86,226                        // orps          %xmm2,%xmm12
+  .byte  15,40,196                           // movaps        %xmm4,%xmm0
+  .byte  65,15,85,196                        // andnps        %xmm12,%xmm0
+  .byte  69,15,92,227                        // subps         %xmm11,%xmm12
+  .byte  69,15,89,229                        // mulps         %xmm13,%xmm12
+  .byte  69,15,94,230                        // divps         %xmm14,%xmm12
+  .byte  69,15,88,227                        // addps         %xmm11,%xmm12
+  .byte  68,15,84,228                        // andps         %xmm4,%xmm12
+  .byte  68,15,86,224                        // orps          %xmm0,%xmm12
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  68,15,95,200                        // maxps         %xmm0,%xmm9
+  .byte  15,95,216                           // maxps         %xmm0,%xmm3
+  .byte  68,15,95,224                        // maxps         %xmm0,%xmm12
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  15,40,100,36,216                    // movaps        -0x28(%rsp),%xmm4
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  15,88,248                           // addps         %xmm0,%xmm7
+  .byte  65,15,88,249                        // addps         %xmm9,%xmm7
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  68,15,40,84,36,232                  // movaps        -0x18(%rsp),%xmm10
+  .byte  65,15,89,194                        // mulps         %xmm10,%xmm0
+  .byte  15,40,76,36,184                     // movaps        -0x48(%rsp),%xmm1
+  .byte  15,88,200                           // addps         %xmm0,%xmm1
+  .byte  15,88,203                           // addps         %xmm3,%xmm1
+  .byte  68,15,89,198                        // mulps         %xmm6,%xmm8
+  .byte  69,15,88,199                        // addps         %xmm15,%xmm8
+  .byte  69,15,88,196                        // addps         %xmm12,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,199                           // movaps        %xmm7,%xmm0
+  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
+  .byte  15,40,221                           // movaps        %xmm5,%xmm3
+  .byte  65,15,40,234                        // movaps        %xmm10,%xmm5
+  .byte  15,40,124,36,168                    // movaps        -0x58(%rsp),%xmm7
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_srcover_rgba_8888_sse2
+.globl _sk_srcover_rgba_8888_sse2
+FUNCTION(_sk_srcover_rgba_8888_sse2)
+_sk_srcover_rgba_8888_sse2:
+  .byte  102,68,15,111,200                   // movdqa        %xmm0,%xmm9
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,4,1,0,0                      // jne           26cb6 <_sk_srcover_rgba_8888_sse2+0x123>
+  .byte  243,65,15,111,4,144                 // movdqu        (%r8,%rdx,4),%xmm0
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  102,15,111,53,253,99,1,0            // movdqa        0x163fd(%rip),%xmm6        # 3cfc0 <_sk_srcover_bgra_8888_sse2_lowp+0xd74>
+  .byte  102,15,111,224                      // movdqa        %xmm0,%xmm4
+  .byte  102,15,219,230                      // pand          %xmm6,%xmm4
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  102,15,111,232                      // movdqa        %xmm0,%xmm5
+  .byte  102,15,114,213,8                    // psrld         $0x8,%xmm5
+  .byte  102,15,219,238                      // pand          %xmm6,%xmm5
+  .byte  15,91,237                           // cvtdq2ps      %xmm5,%xmm5
+  .byte  102,15,111,248                      // movdqa        %xmm0,%xmm7
+  .byte  102,15,114,215,16                   // psrld         $0x10,%xmm7
+  .byte  102,15,219,254                      // pand          %xmm6,%xmm7
+  .byte  69,15,87,219                        // xorps         %xmm11,%xmm11
+  .byte  15,91,247                           // cvtdq2ps      %xmm7,%xmm6
+  .byte  102,15,114,208,24                   // psrld         $0x18,%xmm0
+  .byte  15,91,248                           // cvtdq2ps      %xmm0,%xmm7
+  .byte  68,15,40,5,14,99,1,0                // movaps        0x1630e(%rip),%xmm8        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  68,15,92,195                        // subps         %xmm3,%xmm8
+  .byte  68,15,40,37,226,99,1,0              // movaps        0x163e2(%rip),%xmm12        # 3cff0 <_sk_srcover_bgra_8888_sse2_lowp+0xda4>
+  .byte  69,15,89,204                        // mulps         %xmm12,%xmm9
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  65,15,88,193                        // addps         %xmm9,%xmm0
+  .byte  65,15,89,204                        // mulps         %xmm12,%xmm1
+  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
+  .byte  68,15,89,205                        // mulps         %xmm5,%xmm9
+  .byte  68,15,88,201                        // addps         %xmm1,%xmm9
+  .byte  65,15,89,212                        // mulps         %xmm12,%xmm2
+  .byte  69,15,40,208                        // movaps        %xmm8,%xmm10
+  .byte  68,15,89,214                        // mulps         %xmm6,%xmm10
+  .byte  68,15,88,210                        // addps         %xmm2,%xmm10
+  .byte  65,15,89,220                        // mulps         %xmm12,%xmm3
+  .byte  68,15,89,199                        // mulps         %xmm7,%xmm8
+  .byte  68,15,88,195                        // addps         %xmm3,%xmm8
+  .byte  15,87,201                           // xorps         %xmm1,%xmm1
+  .byte  15,95,200                           // maxps         %xmm0,%xmm1
+  .byte  65,15,93,204                        // minps         %xmm12,%xmm1
+  .byte  102,15,91,201                       // cvtps2dq      %xmm1,%xmm1
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  65,15,95,209                        // maxps         %xmm9,%xmm2
+  .byte  65,15,93,212                        // minps         %xmm12,%xmm2
+  .byte  102,15,91,210                       // cvtps2dq      %xmm2,%xmm2
+  .byte  102,15,114,242,8                    // pslld         $0x8,%xmm2
+  .byte  102,15,235,209                      // por           %xmm1,%xmm2
+  .byte  102,15,87,201                       // xorpd         %xmm1,%xmm1
+  .byte  65,15,95,202                        // maxps         %xmm10,%xmm1
+  .byte  65,15,93,204                        // minps         %xmm12,%xmm1
+  .byte  102,15,91,217                       // cvtps2dq      %xmm1,%xmm3
+  .byte  102,15,114,243,16                   // pslld         $0x10,%xmm3
+  .byte  69,15,95,216                        // maxps         %xmm8,%xmm11
+  .byte  69,15,93,220                        // minps         %xmm12,%xmm11
+  .byte  102,65,15,91,203                    // cvtps2dq      %xmm11,%xmm1
+  .byte  102,15,114,241,24                   // pslld         $0x18,%xmm1
+  .byte  102,15,235,203                      // por           %xmm3,%xmm1
+  .byte  102,15,235,202                      // por           %xmm2,%xmm1
+  .byte  117,69                              // jne           26ce5 <_sk_srcover_rgba_8888_sse2+0x152>
+  .byte  243,65,15,127,12,144                // movdqu        %xmm1,(%r8,%rdx,4)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,201                        // movaps        %xmm9,%xmm1
+  .byte  65,15,40,210                        // movaps        %xmm10,%xmm2
+  .byte  65,15,40,216                        // movaps        %xmm8,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,75                              // je            26d09 <_sk_srcover_rgba_8888_sse2+0x176>
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,20                              // je            26cda <_sk_srcover_rgba_8888_sse2+0x147>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  15,133,234,254,255,255              // jne           26bb8 <_sk_srcover_rgba_8888_sse2+0x25>
+  .byte  102,65,15,110,68,144,8              // movd          0x8(%r8,%rdx,4),%xmm0
+  .byte  102,15,112,192,69                   // pshufd        $0x45,%xmm0,%xmm0
+  .byte  102,65,15,18,4,144                  // movlpd        (%r8,%rdx,4),%xmm0
+  .byte  233,211,254,255,255                 // jmpq          26bb8 <_sk_srcover_rgba_8888_sse2+0x25>
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,39                              // je            26d14 <_sk_srcover_rgba_8888_sse2+0x181>
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,16                              // je            26d01 <_sk_srcover_rgba_8888_sse2+0x16e>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,177                             // jne           26ca6 <_sk_srcover_rgba_8888_sse2+0x113>
+  .byte  102,15,112,209,78                   // pshufd        $0x4e,%xmm1,%xmm2
+  .byte  102,65,15,126,84,144,8              // movd          %xmm2,0x8(%r8,%rdx,4)
+  .byte  102,65,15,214,12,144                // movq          %xmm1,(%r8,%rdx,4)
+  .byte  235,157                             // jmp           26ca6 <_sk_srcover_rgba_8888_sse2+0x113>
+  .byte  102,65,15,110,4,144                 // movd          (%r8,%rdx,4),%xmm0
+  .byte  233,164,254,255,255                 // jmpq          26bb8 <_sk_srcover_rgba_8888_sse2+0x25>
+  .byte  102,65,15,126,12,144                // movd          %xmm1,(%r8,%rdx,4)
+  .byte  235,138                             // jmp           26ca6 <_sk_srcover_rgba_8888_sse2+0x113>
+
+HIDDEN _sk_srcover_bgra_8888_sse2
+.globl _sk_srcover_bgra_8888_sse2
+FUNCTION(_sk_srcover_bgra_8888_sse2)
+_sk_srcover_bgra_8888_sse2:
+  .byte  102,68,15,111,200                   // movdqa        %xmm0,%xmm9
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,4,1,0,0                      // jne           26e3f <_sk_srcover_bgra_8888_sse2+0x123>
+  .byte  243,65,15,111,4,144                 // movdqu        (%r8,%rdx,4),%xmm0
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  102,15,111,37,116,98,1,0            // movdqa        0x16274(%rip),%xmm4        # 3cfc0 <_sk_srcover_bgra_8888_sse2_lowp+0xd74>
+  .byte  102,15,111,232                      // movdqa        %xmm0,%xmm5
+  .byte  102,15,219,236                      // pand          %xmm4,%xmm5
+  .byte  15,91,245                           // cvtdq2ps      %xmm5,%xmm6
+  .byte  102,15,111,232                      // movdqa        %xmm0,%xmm5
+  .byte  102,15,114,213,8                    // psrld         $0x8,%xmm5
+  .byte  102,15,219,236                      // pand          %xmm4,%xmm5
+  .byte  15,91,237                           // cvtdq2ps      %xmm5,%xmm5
+  .byte  102,15,111,248                      // movdqa        %xmm0,%xmm7
+  .byte  102,15,114,215,16                   // psrld         $0x10,%xmm7
+  .byte  102,15,219,252                      // pand          %xmm4,%xmm7
+  .byte  69,15,87,219                        // xorps         %xmm11,%xmm11
+  .byte  15,91,231                           // cvtdq2ps      %xmm7,%xmm4
+  .byte  102,15,114,208,24                   // psrld         $0x18,%xmm0
+  .byte  15,91,248                           // cvtdq2ps      %xmm0,%xmm7
+  .byte  68,15,40,5,133,97,1,0               // movaps        0x16185(%rip),%xmm8        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  68,15,92,195                        // subps         %xmm3,%xmm8
+  .byte  68,15,40,37,89,98,1,0               // movaps        0x16259(%rip),%xmm12        # 3cff0 <_sk_srcover_bgra_8888_sse2_lowp+0xda4>
+  .byte  69,15,89,204                        // mulps         %xmm12,%xmm9
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  65,15,88,193                        // addps         %xmm9,%xmm0
+  .byte  65,15,89,204                        // mulps         %xmm12,%xmm1
+  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
+  .byte  68,15,89,205                        // mulps         %xmm5,%xmm9
+  .byte  68,15,88,201                        // addps         %xmm1,%xmm9
+  .byte  65,15,89,212                        // mulps         %xmm12,%xmm2
+  .byte  69,15,40,208                        // movaps        %xmm8,%xmm10
+  .byte  68,15,89,214                        // mulps         %xmm6,%xmm10
+  .byte  68,15,88,210                        // addps         %xmm2,%xmm10
+  .byte  65,15,89,220                        // mulps         %xmm12,%xmm3
+  .byte  68,15,89,199                        // mulps         %xmm7,%xmm8
+  .byte  68,15,88,195                        // addps         %xmm3,%xmm8
+  .byte  15,87,201                           // xorps         %xmm1,%xmm1
+  .byte  65,15,95,202                        // maxps         %xmm10,%xmm1
+  .byte  65,15,93,204                        // minps         %xmm12,%xmm1
+  .byte  102,15,91,201                       // cvtps2dq      %xmm1,%xmm1
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  65,15,95,209                        // maxps         %xmm9,%xmm2
+  .byte  65,15,93,212                        // minps         %xmm12,%xmm2
+  .byte  102,15,91,210                       // cvtps2dq      %xmm2,%xmm2
+  .byte  102,15,114,242,8                    // pslld         $0x8,%xmm2
+  .byte  102,15,235,209                      // por           %xmm1,%xmm2
+  .byte  102,15,87,201                       // xorpd         %xmm1,%xmm1
+  .byte  15,95,200                           // maxps         %xmm0,%xmm1
+  .byte  65,15,93,204                        // minps         %xmm12,%xmm1
+  .byte  102,15,91,217                       // cvtps2dq      %xmm1,%xmm3
+  .byte  102,15,114,243,16                   // pslld         $0x10,%xmm3
+  .byte  69,15,95,216                        // maxps         %xmm8,%xmm11
+  .byte  69,15,93,220                        // minps         %xmm12,%xmm11
+  .byte  102,65,15,91,203                    // cvtps2dq      %xmm11,%xmm1
+  .byte  102,15,114,241,24                   // pslld         $0x18,%xmm1
+  .byte  102,15,235,203                      // por           %xmm3,%xmm1
+  .byte  102,15,235,202                      // por           %xmm2,%xmm1
+  .byte  117,69                              // jne           26e6e <_sk_srcover_bgra_8888_sse2+0x152>
+  .byte  243,65,15,127,12,144                // movdqu        %xmm1,(%r8,%rdx,4)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,201                        // movaps        %xmm9,%xmm1
+  .byte  65,15,40,210                        // movaps        %xmm10,%xmm2
+  .byte  65,15,40,216                        // movaps        %xmm8,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,75                              // je            26e92 <_sk_srcover_bgra_8888_sse2+0x176>
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,20                              // je            26e63 <_sk_srcover_bgra_8888_sse2+0x147>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  15,133,234,254,255,255              // jne           26d41 <_sk_srcover_bgra_8888_sse2+0x25>
+  .byte  102,65,15,110,68,144,8              // movd          0x8(%r8,%rdx,4),%xmm0
+  .byte  102,15,112,192,69                   // pshufd        $0x45,%xmm0,%xmm0
+  .byte  102,65,15,18,4,144                  // movlpd        (%r8,%rdx,4),%xmm0
+  .byte  233,211,254,255,255                 // jmpq          26d41 <_sk_srcover_bgra_8888_sse2+0x25>
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,39                              // je            26e9d <_sk_srcover_bgra_8888_sse2+0x181>
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,16                              // je            26e8a <_sk_srcover_bgra_8888_sse2+0x16e>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,177                             // jne           26e2f <_sk_srcover_bgra_8888_sse2+0x113>
+  .byte  102,15,112,209,78                   // pshufd        $0x4e,%xmm1,%xmm2
+  .byte  102,65,15,126,84,144,8              // movd          %xmm2,0x8(%r8,%rdx,4)
+  .byte  102,65,15,214,12,144                // movq          %xmm1,(%r8,%rdx,4)
+  .byte  235,157                             // jmp           26e2f <_sk_srcover_bgra_8888_sse2+0x113>
+  .byte  102,65,15,110,4,144                 // movd          (%r8,%rdx,4),%xmm0
+  .byte  233,164,254,255,255                 // jmpq          26d41 <_sk_srcover_bgra_8888_sse2+0x25>
+  .byte  102,65,15,126,12,144                // movd          %xmm1,(%r8,%rdx,4)
+  .byte  235,138                             // jmp           26e2f <_sk_srcover_bgra_8888_sse2+0x113>
+
+HIDDEN _sk_clamp_0_sse2
+.globl _sk_clamp_0_sse2
+FUNCTION(_sk_clamp_0_sse2)
+_sk_clamp_0_sse2:
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  65,15,95,192                        // maxps         %xmm8,%xmm0
+  .byte  65,15,95,200                        // maxps         %xmm8,%xmm1
+  .byte  65,15,95,208                        // maxps         %xmm8,%xmm2
+  .byte  65,15,95,216                        // maxps         %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_clamp_1_sse2
+.globl _sk_clamp_1_sse2
+FUNCTION(_sk_clamp_1_sse2)
+_sk_clamp_1_sse2:
+  .byte  68,15,40,5,75,96,1,0                // movaps        0x1604b(%rip),%xmm8        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  65,15,93,192                        // minps         %xmm8,%xmm0
+  .byte  65,15,93,200                        // minps         %xmm8,%xmm1
+  .byte  65,15,93,208                        // minps         %xmm8,%xmm2
+  .byte  65,15,93,216                        // minps         %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_clamp_a_sse2
+.globl _sk_clamp_a_sse2
+FUNCTION(_sk_clamp_a_sse2)
+_sk_clamp_a_sse2:
+  .byte  15,93,29,48,96,1,0                  // minps         0x16030(%rip),%xmm3        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  15,93,195                           // minps         %xmm3,%xmm0
+  .byte  15,93,203                           // minps         %xmm3,%xmm1
+  .byte  15,93,211                           // minps         %xmm3,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_clamp_a_dst_sse2
+.globl _sk_clamp_a_dst_sse2
+FUNCTION(_sk_clamp_a_dst_sse2)
+_sk_clamp_a_dst_sse2:
+  .byte  15,93,61,28,96,1,0                  // minps         0x1601c(%rip),%xmm7        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  15,93,231                           // minps         %xmm7,%xmm4
+  .byte  15,93,239                           // minps         %xmm7,%xmm5
+  .byte  15,93,247                           // minps         %xmm7,%xmm6
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_set_rgb_sse2
+.globl _sk_set_rgb_sse2
+FUNCTION(_sk_set_rgb_sse2)
+_sk_set_rgb_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,15,16,0                         // movss         (%rax),%xmm0
+  .byte  243,15,16,72,4                      // movss         0x4(%rax),%xmm1
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
+  .byte  243,15,16,80,8                      // movss         0x8(%rax),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_swap_rb_sse2
+.globl _sk_swap_rb_sse2
+FUNCTION(_sk_swap_rb_sse2)
+_sk_swap_rb_sse2:
+  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,194                           // movaps        %xmm2,%xmm0
+  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_invert_sse2
+.globl _sk_invert_sse2
+FUNCTION(_sk_invert_sse2)
+_sk_invert_sse2:
+  .byte  68,15,40,5,216,95,1,0               // movaps        0x15fd8(%rip),%xmm8        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
+  .byte  68,15,92,200                        // subps         %xmm0,%xmm9
+  .byte  69,15,40,208                        // movaps        %xmm8,%xmm10
+  .byte  68,15,92,209                        // subps         %xmm1,%xmm10
+  .byte  69,15,40,216                        // movaps        %xmm8,%xmm11
+  .byte  68,15,92,218                        // subps         %xmm2,%xmm11
+  .byte  68,15,92,195                        // subps         %xmm3,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  65,15,40,202                        // movaps        %xmm10,%xmm1
+  .byte  65,15,40,211                        // movaps        %xmm11,%xmm2
+  .byte  65,15,40,216                        // movaps        %xmm8,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_move_src_dst_sse2
+.globl _sk_move_src_dst_sse2
+FUNCTION(_sk_move_src_dst_sse2)
+_sk_move_src_dst_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,224                           // movaps        %xmm0,%xmm4
+  .byte  15,40,233                           // movaps        %xmm1,%xmm5
+  .byte  15,40,242                           // movaps        %xmm2,%xmm6
+  .byte  15,40,251                           // movaps        %xmm3,%xmm7
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_move_dst_src_sse2
+.globl _sk_move_dst_src_sse2
+FUNCTION(_sk_move_dst_src_sse2)
+_sk_move_dst_src_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,196                           // movaps        %xmm4,%xmm0
+  .byte  15,40,205                           // movaps        %xmm5,%xmm1
+  .byte  15,40,214                           // movaps        %xmm6,%xmm2
+  .byte  15,40,223                           // movaps        %xmm7,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_premul_sse2
+.globl _sk_premul_sse2
+FUNCTION(_sk_premul_sse2)
+_sk_premul_sse2:
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  15,89,203                           // mulps         %xmm3,%xmm1
+  .byte  15,89,211                           // mulps         %xmm3,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_premul_dst_sse2
+.globl _sk_premul_dst_sse2
+FUNCTION(_sk_premul_dst_sse2)
+_sk_premul_dst_sse2:
+  .byte  15,89,231                           // mulps         %xmm7,%xmm4
+  .byte  15,89,239                           // mulps         %xmm7,%xmm5
+  .byte  15,89,247                           // mulps         %xmm7,%xmm6
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_unpremul_sse2
+.globl _sk_unpremul_sse2
+FUNCTION(_sk_unpremul_sse2)
+_sk_unpremul_sse2:
+  .byte  68,15,40,5,102,95,1,0               // movaps        0x15f66(%rip),%xmm8        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  68,15,94,195                        // divps         %xmm3,%xmm8
+  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
+  .byte  68,15,194,13,69,96,1,0,1            // cmpltps       0x16045(%rip),%xmm9        # 3d000 <_sk_srcover_bgra_8888_sse2_lowp+0xdb4>
+  .byte  69,15,84,200                        // andps         %xmm8,%xmm9
+  .byte  65,15,89,193                        // mulps         %xmm9,%xmm0
+  .byte  65,15,89,201                        // mulps         %xmm9,%xmm1
+  .byte  65,15,89,209                        // mulps         %xmm9,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_force_opaque_sse2
+.globl _sk_force_opaque_sse2
+FUNCTION(_sk_force_opaque_sse2)
+_sk_force_opaque_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,29,56,95,1,0                  // movaps        0x15f38(%rip),%xmm3        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_force_opaque_dst_sse2
+.globl _sk_force_opaque_dst_sse2
+FUNCTION(_sk_force_opaque_dst_sse2)
+_sk_force_opaque_dst_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,61,45,95,1,0                  // movaps        0x15f2d(%rip),%xmm7        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_from_srgb_sse2
+.globl _sk_from_srgb_sse2
+FUNCTION(_sk_from_srgb_sse2)
+_sk_from_srgb_sse2:
+  .byte  68,15,40,5,35,96,1,0                // movaps        0x16023(%rip),%xmm8        # 3d010 <_sk_srcover_bgra_8888_sse2_lowp+0xdc4>
+  .byte  68,15,40,232                        // movaps        %xmm0,%xmm13
+  .byte  69,15,89,232                        // mulps         %xmm8,%xmm13
+  .byte  68,15,40,216                        // movaps        %xmm0,%xmm11
+  .byte  69,15,89,219                        // mulps         %xmm11,%xmm11
+  .byte  68,15,40,13,139,95,1,0              // movaps        0x15f8b(%rip),%xmm9        # 3cf90 <_sk_srcover_bgra_8888_sse2_lowp+0xd44>
+  .byte  68,15,40,240                        // movaps        %xmm0,%xmm14
+  .byte  69,15,89,241                        // mulps         %xmm9,%xmm14
+  .byte  68,15,40,21,11,96,1,0               // movaps        0x1600b(%rip),%xmm10        # 3d020 <_sk_srcover_bgra_8888_sse2_lowp+0xdd4>
+  .byte  69,15,88,242                        // addps         %xmm10,%xmm14
+  .byte  69,15,89,243                        // mulps         %xmm11,%xmm14
+  .byte  68,15,40,29,11,96,1,0               // movaps        0x1600b(%rip),%xmm11        # 3d030 <_sk_srcover_bgra_8888_sse2_lowp+0xde4>
+  .byte  69,15,88,243                        // addps         %xmm11,%xmm14
+  .byte  68,15,40,37,15,96,1,0               // movaps        0x1600f(%rip),%xmm12        # 3d040 <_sk_srcover_bgra_8888_sse2_lowp+0xdf4>
+  .byte  65,15,194,196,1                     // cmpltps       %xmm12,%xmm0
+  .byte  68,15,84,232                        // andps         %xmm0,%xmm13
+  .byte  65,15,85,198                        // andnps        %xmm14,%xmm0
+  .byte  65,15,86,197                        // orps          %xmm13,%xmm0
+  .byte  68,15,40,233                        // movaps        %xmm1,%xmm13
+  .byte  69,15,89,232                        // mulps         %xmm8,%xmm13
+  .byte  68,15,40,241                        // movaps        %xmm1,%xmm14
+  .byte  69,15,89,246                        // mulps         %xmm14,%xmm14
+  .byte  68,15,40,249                        // movaps        %xmm1,%xmm15
+  .byte  69,15,89,249                        // mulps         %xmm9,%xmm15
+  .byte  69,15,88,250                        // addps         %xmm10,%xmm15
+  .byte  69,15,89,254                        // mulps         %xmm14,%xmm15
+  .byte  69,15,88,251                        // addps         %xmm11,%xmm15
+  .byte  65,15,194,204,1                     // cmpltps       %xmm12,%xmm1
+  .byte  68,15,84,233                        // andps         %xmm1,%xmm13
+  .byte  65,15,85,207                        // andnps        %xmm15,%xmm1
+  .byte  65,15,86,205                        // orps          %xmm13,%xmm1
+  .byte  68,15,89,194                        // mulps         %xmm2,%xmm8
+  .byte  68,15,40,234                        // movaps        %xmm2,%xmm13
+  .byte  69,15,89,237                        // mulps         %xmm13,%xmm13
+  .byte  68,15,89,202                        // mulps         %xmm2,%xmm9
+  .byte  69,15,88,202                        // addps         %xmm10,%xmm9
+  .byte  69,15,89,205                        // mulps         %xmm13,%xmm9
+  .byte  69,15,88,203                        // addps         %xmm11,%xmm9
+  .byte  65,15,194,212,1                     // cmpltps       %xmm12,%xmm2
+  .byte  68,15,84,194                        // andps         %xmm2,%xmm8
+  .byte  65,15,85,209                        // andnps        %xmm9,%xmm2
+  .byte  65,15,86,208                        // orps          %xmm8,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_from_srgb_dst_sse2
+.globl _sk_from_srgb_dst_sse2
+FUNCTION(_sk_from_srgb_dst_sse2)
+_sk_from_srgb_dst_sse2:
+  .byte  68,15,40,5,96,95,1,0                // movaps        0x15f60(%rip),%xmm8        # 3d010 <_sk_srcover_bgra_8888_sse2_lowp+0xdc4>
+  .byte  68,15,40,236                        // movaps        %xmm4,%xmm13
+  .byte  69,15,89,232                        // mulps         %xmm8,%xmm13
+  .byte  68,15,40,220                        // movaps        %xmm4,%xmm11
+  .byte  69,15,89,219                        // mulps         %xmm11,%xmm11
+  .byte  68,15,40,13,200,94,1,0              // movaps        0x15ec8(%rip),%xmm9        # 3cf90 <_sk_srcover_bgra_8888_sse2_lowp+0xd44>
+  .byte  68,15,40,244                        // movaps        %xmm4,%xmm14
+  .byte  69,15,89,241                        // mulps         %xmm9,%xmm14
+  .byte  68,15,40,21,72,95,1,0               // movaps        0x15f48(%rip),%xmm10        # 3d020 <_sk_srcover_bgra_8888_sse2_lowp+0xdd4>
+  .byte  69,15,88,242                        // addps         %xmm10,%xmm14
+  .byte  69,15,89,243                        // mulps         %xmm11,%xmm14
+  .byte  68,15,40,29,72,95,1,0               // movaps        0x15f48(%rip),%xmm11        # 3d030 <_sk_srcover_bgra_8888_sse2_lowp+0xde4>
+  .byte  69,15,88,243                        // addps         %xmm11,%xmm14
+  .byte  68,15,40,37,76,95,1,0               // movaps        0x15f4c(%rip),%xmm12        # 3d040 <_sk_srcover_bgra_8888_sse2_lowp+0xdf4>
+  .byte  65,15,194,228,1                     // cmpltps       %xmm12,%xmm4
+  .byte  68,15,84,236                        // andps         %xmm4,%xmm13
+  .byte  65,15,85,230                        // andnps        %xmm14,%xmm4
+  .byte  65,15,86,229                        // orps          %xmm13,%xmm4
+  .byte  68,15,40,237                        // movaps        %xmm5,%xmm13
+  .byte  69,15,89,232                        // mulps         %xmm8,%xmm13
+  .byte  68,15,40,245                        // movaps        %xmm5,%xmm14
+  .byte  69,15,89,246                        // mulps         %xmm14,%xmm14
+  .byte  68,15,40,253                        // movaps        %xmm5,%xmm15
+  .byte  69,15,89,249                        // mulps         %xmm9,%xmm15
+  .byte  69,15,88,250                        // addps         %xmm10,%xmm15
+  .byte  69,15,89,254                        // mulps         %xmm14,%xmm15
+  .byte  69,15,88,251                        // addps         %xmm11,%xmm15
+  .byte  65,15,194,236,1                     // cmpltps       %xmm12,%xmm5
+  .byte  68,15,84,237                        // andps         %xmm5,%xmm13
+  .byte  65,15,85,239                        // andnps        %xmm15,%xmm5
+  .byte  65,15,86,237                        // orps          %xmm13,%xmm5
+  .byte  68,15,89,198                        // mulps         %xmm6,%xmm8
+  .byte  68,15,40,238                        // movaps        %xmm6,%xmm13
+  .byte  69,15,89,237                        // mulps         %xmm13,%xmm13
+  .byte  68,15,89,206                        // mulps         %xmm6,%xmm9
+  .byte  69,15,88,202                        // addps         %xmm10,%xmm9
+  .byte  69,15,89,205                        // mulps         %xmm13,%xmm9
+  .byte  69,15,88,203                        // addps         %xmm11,%xmm9
+  .byte  65,15,194,244,1                     // cmpltps       %xmm12,%xmm6
+  .byte  68,15,84,198                        // andps         %xmm6,%xmm8
+  .byte  65,15,85,241                        // andnps        %xmm9,%xmm6
+  .byte  65,15,86,240                        // orps          %xmm8,%xmm6
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_to_srgb_sse2
+.globl _sk_to_srgb_sse2
+FUNCTION(_sk_to_srgb_sse2)
+_sk_to_srgb_sse2:
+  .byte  68,15,82,232                        // rsqrtps       %xmm0,%xmm13
+  .byte  68,15,40,5,217,94,1,0               // movaps        0x15ed9(%rip),%xmm8        # 3d050 <_sk_srcover_bgra_8888_sse2_lowp+0xe04>
+  .byte  68,15,40,240                        // movaps        %xmm0,%xmm14
+  .byte  69,15,89,240                        // mulps         %xmm8,%xmm14
+  .byte  68,15,40,13,217,94,1,0              // movaps        0x15ed9(%rip),%xmm9        # 3d060 <_sk_srcover_bgra_8888_sse2_lowp+0xe14>
+  .byte  69,15,40,253                        // movaps        %xmm13,%xmm15
+  .byte  69,15,89,249                        // mulps         %xmm9,%xmm15
+  .byte  68,15,40,21,217,94,1,0              // movaps        0x15ed9(%rip),%xmm10        # 3d070 <_sk_srcover_bgra_8888_sse2_lowp+0xe24>
+  .byte  69,15,88,250                        // addps         %xmm10,%xmm15
+  .byte  69,15,89,253                        // mulps         %xmm13,%xmm15
+  .byte  68,15,40,29,217,94,1,0              // movaps        0x15ed9(%rip),%xmm11        # 3d080 <_sk_srcover_bgra_8888_sse2_lowp+0xe34>
+  .byte  69,15,88,251                        // addps         %xmm11,%xmm15
+  .byte  68,15,40,37,221,94,1,0              // movaps        0x15edd(%rip),%xmm12        # 3d090 <_sk_srcover_bgra_8888_sse2_lowp+0xe44>
+  .byte  69,15,88,236                        // addps         %xmm12,%xmm13
+  .byte  69,15,83,237                        // rcpps         %xmm13,%xmm13
+  .byte  69,15,89,239                        // mulps         %xmm15,%xmm13
+  .byte  68,15,40,61,217,94,1,0              // movaps        0x15ed9(%rip),%xmm15        # 3d0a0 <_sk_srcover_bgra_8888_sse2_lowp+0xe54>
+  .byte  65,15,194,199,1                     // cmpltps       %xmm15,%xmm0
+  .byte  68,15,84,240                        // andps         %xmm0,%xmm14
+  .byte  65,15,85,197                        // andnps        %xmm13,%xmm0
+  .byte  65,15,86,198                        // orps          %xmm14,%xmm0
+  .byte  68,15,82,233                        // rsqrtps       %xmm1,%xmm13
+  .byte  69,15,40,245                        // movaps        %xmm13,%xmm14
+  .byte  69,15,89,241                        // mulps         %xmm9,%xmm14
+  .byte  69,15,88,242                        // addps         %xmm10,%xmm14
+  .byte  69,15,89,245                        // mulps         %xmm13,%xmm14
+  .byte  69,15,88,243                        // addps         %xmm11,%xmm14
+  .byte  69,15,88,236                        // addps         %xmm12,%xmm13
+  .byte  69,15,83,237                        // rcpps         %xmm13,%xmm13
+  .byte  69,15,89,238                        // mulps         %xmm14,%xmm13
+  .byte  68,15,40,241                        // movaps        %xmm1,%xmm14
+  .byte  69,15,89,240                        // mulps         %xmm8,%xmm14
+  .byte  65,15,194,207,1                     // cmpltps       %xmm15,%xmm1
+  .byte  68,15,84,241                        // andps         %xmm1,%xmm14
+  .byte  65,15,85,205                        // andnps        %xmm13,%xmm1
+  .byte  65,15,86,206                        // orps          %xmm14,%xmm1
+  .byte  68,15,82,234                        // rsqrtps       %xmm2,%xmm13
+  .byte  69,15,89,205                        // mulps         %xmm13,%xmm9
+  .byte  69,15,88,202                        // addps         %xmm10,%xmm9
+  .byte  69,15,89,205                        // mulps         %xmm13,%xmm9
+  .byte  69,15,88,203                        // addps         %xmm11,%xmm9
+  .byte  69,15,88,236                        // addps         %xmm12,%xmm13
+  .byte  69,15,83,213                        // rcpps         %xmm13,%xmm10
+  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
+  .byte  68,15,89,194                        // mulps         %xmm2,%xmm8
+  .byte  65,15,194,215,1                     // cmpltps       %xmm15,%xmm2
+  .byte  68,15,84,194                        // andps         %xmm2,%xmm8
+  .byte  65,15,85,210                        // andnps        %xmm10,%xmm2
+  .byte  65,15,86,208                        // orps          %xmm8,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_rgb_to_hsl_sse2
+.globl _sk_rgb_to_hsl_sse2
+FUNCTION(_sk_rgb_to_hsl_sse2)
+_sk_rgb_to_hsl_sse2:
+  .byte  68,15,40,201                        // movaps        %xmm1,%xmm9
+  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  15,95,194                           // maxps         %xmm2,%xmm0
+  .byte  69,15,40,208                        // movaps        %xmm8,%xmm10
+  .byte  68,15,95,208                        // maxps         %xmm0,%xmm10
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  15,93,194                           // minps         %xmm2,%xmm0
+  .byte  69,15,40,216                        // movaps        %xmm8,%xmm11
+  .byte  68,15,93,216                        // minps         %xmm0,%xmm11
+  .byte  65,15,40,202                        // movaps        %xmm10,%xmm1
+  .byte  65,15,92,203                        // subps         %xmm11,%xmm1
+  .byte  68,15,40,45,140,92,1,0              // movaps        0x15c8c(%rip),%xmm13        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  68,15,94,233                        // divps         %xmm1,%xmm13
+  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
+  .byte  65,15,194,192,0                     // cmpeqps       %xmm8,%xmm0
+  .byte  69,15,40,225                        // movaps        %xmm9,%xmm12
+  .byte  68,15,92,226                        // subps         %xmm2,%xmm12
+  .byte  69,15,89,229                        // mulps         %xmm13,%xmm12
+  .byte  69,15,40,241                        // movaps        %xmm9,%xmm14
+  .byte  68,15,194,242,1                     // cmpltps       %xmm2,%xmm14
+  .byte  68,15,84,53,2,94,1,0                // andps         0x15e02(%rip),%xmm14        # 3d0b0 <_sk_srcover_bgra_8888_sse2_lowp+0xe64>
+  .byte  69,15,88,244                        // addps         %xmm12,%xmm14
+  .byte  69,15,40,250                        // movaps        %xmm10,%xmm15
+  .byte  69,15,194,249,0                     // cmpeqps       %xmm9,%xmm15
+  .byte  65,15,92,208                        // subps         %xmm8,%xmm2
+  .byte  65,15,89,213                        // mulps         %xmm13,%xmm2
+  .byte  68,15,40,37,245,93,1,0              // movaps        0x15df5(%rip),%xmm12        # 3d0c0 <_sk_srcover_bgra_8888_sse2_lowp+0xe74>
+  .byte  65,15,88,212                        // addps         %xmm12,%xmm2
+  .byte  69,15,92,193                        // subps         %xmm9,%xmm8
+  .byte  69,15,89,197                        // mulps         %xmm13,%xmm8
+  .byte  68,15,88,5,241,93,1,0               // addps         0x15df1(%rip),%xmm8        # 3d0d0 <_sk_srcover_bgra_8888_sse2_lowp+0xe84>
+  .byte  65,15,84,215                        // andps         %xmm15,%xmm2
+  .byte  69,15,85,248                        // andnps        %xmm8,%xmm15
+  .byte  68,15,86,250                        // orps          %xmm2,%xmm15
+  .byte  68,15,84,240                        // andps         %xmm0,%xmm14
+  .byte  65,15,85,199                        // andnps        %xmm15,%xmm0
+  .byte  65,15,86,198                        // orps          %xmm14,%xmm0
+  .byte  15,89,5,226,93,1,0                  // mulps         0x15de2(%rip),%xmm0        # 3d0e0 <_sk_srcover_bgra_8888_sse2_lowp+0xe94>
+  .byte  69,15,40,194                        // movaps        %xmm10,%xmm8
+  .byte  69,15,194,195,4                     // cmpneqps      %xmm11,%xmm8
+  .byte  65,15,84,192                        // andps         %xmm8,%xmm0
+  .byte  69,15,92,226                        // subps         %xmm10,%xmm12
+  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
+  .byte  68,15,40,13,229,91,1,0              // movaps        0x15be5(%rip),%xmm9        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  65,15,40,210                        // movaps        %xmm10,%xmm2
+  .byte  65,15,89,209                        // mulps         %xmm9,%xmm2
+  .byte  68,15,194,202,1                     // cmpltps       %xmm2,%xmm9
+  .byte  69,15,92,227                        // subps         %xmm11,%xmm12
+  .byte  69,15,84,225                        // andps         %xmm9,%xmm12
+  .byte  69,15,85,202                        // andnps        %xmm10,%xmm9
+  .byte  69,15,86,204                        // orps          %xmm12,%xmm9
+  .byte  65,15,94,201                        // divps         %xmm9,%xmm1
+  .byte  65,15,84,200                        // andps         %xmm8,%xmm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_hsl_to_rgb_sse2
+.globl _sk_hsl_to_rgb_sse2
+FUNCTION(_sk_hsl_to_rgb_sse2)
+_sk_hsl_to_rgb_sse2:
+  .byte  15,41,124,36,232                    // movaps        %xmm7,-0x18(%rsp)
+  .byte  15,41,116,36,216                    // movaps        %xmm6,-0x28(%rsp)
+  .byte  15,41,108,36,200                    // movaps        %xmm5,-0x38(%rsp)
+  .byte  15,41,100,36,184                    // movaps        %xmm4,-0x48(%rsp)
+  .byte  15,41,92,36,168                     // movaps        %xmm3,-0x58(%rsp)
+  .byte  68,15,40,218                        // movaps        %xmm2,%xmm11
+  .byte  15,40,240                           // movaps        %xmm0,%xmm6
+  .byte  68,15,40,13,148,91,1,0              // movaps        0x15b94(%rip),%xmm9        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  69,15,40,209                        // movaps        %xmm9,%xmm10
+  .byte  69,15,194,211,2                     // cmpleps       %xmm11,%xmm10
+  .byte  15,40,193                           // movaps        %xmm1,%xmm0
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  15,194,217,0                        // cmpeqps       %xmm1,%xmm3
+  .byte  15,40,251                           // movaps        %xmm3,%xmm7
+  .byte  15,41,124,36,136                    // movaps        %xmm7,-0x78(%rsp)
+  .byte  65,15,89,203                        // mulps         %xmm11,%xmm1
+  .byte  15,92,193                           // subps         %xmm1,%xmm0
+  .byte  65,15,84,194                        // andps         %xmm10,%xmm0
+  .byte  68,15,85,209                        // andnps        %xmm1,%xmm10
+  .byte  68,15,86,208                        // orps          %xmm0,%xmm10
+  .byte  68,15,41,92,36,152                  // movaps        %xmm11,-0x68(%rsp)
+  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
+  .byte  69,15,88,219                        // addps         %xmm11,%xmm11
+  .byte  69,15,92,218                        // subps         %xmm10,%xmm11
+  .byte  15,40,5,61,93,1,0                   // movaps        0x15d3d(%rip),%xmm0        # 3d0f0 <_sk_srcover_bgra_8888_sse2_lowp+0xea4>
+  .byte  15,88,198                           // addps         %xmm6,%xmm0
+  .byte  243,15,91,200                       // cvttps2dq     %xmm0,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  15,40,216                           // movaps        %xmm0,%xmm3
+  .byte  15,194,217,1                        // cmpltps       %xmm1,%xmm3
+  .byte  15,84,29,69,91,1,0                  // andps         0x15b45(%rip),%xmm3        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  15,92,203                           // subps         %xmm3,%xmm1
+  .byte  15,92,193                           // subps         %xmm1,%xmm0
+  .byte  68,15,40,45,39,93,1,0               // movaps        0x15d27(%rip),%xmm13        # 3d100 <_sk_srcover_bgra_8888_sse2_lowp+0xeb4>
+  .byte  69,15,40,197                        // movaps        %xmm13,%xmm8
+  .byte  68,15,194,192,2                     // cmpleps       %xmm0,%xmm8
+  .byte  69,15,40,242                        // movaps        %xmm10,%xmm14
+  .byte  69,15,92,243                        // subps         %xmm11,%xmm14
+  .byte  65,15,40,217                        // movaps        %xmm9,%xmm3
+  .byte  15,194,216,2                        // cmpleps       %xmm0,%xmm3
+  .byte  15,40,21,231,92,1,0                 // movaps        0x15ce7(%rip),%xmm2        # 3d0e0 <_sk_srcover_bgra_8888_sse2_lowp+0xe94>
+  .byte  68,15,40,250                        // movaps        %xmm2,%xmm15
+  .byte  68,15,194,248,2                     // cmpleps       %xmm0,%xmm15
+  .byte  15,40,13,167,92,1,0                 // movaps        0x15ca7(%rip),%xmm1        # 3d0b0 <_sk_srcover_bgra_8888_sse2_lowp+0xe64>
+  .byte  15,89,193                           // mulps         %xmm1,%xmm0
+  .byte  15,40,45,189,92,1,0                 // movaps        0x15cbd(%rip),%xmm5        # 3d0d0 <_sk_srcover_bgra_8888_sse2_lowp+0xe84>
+  .byte  15,40,229                           // movaps        %xmm5,%xmm4
+  .byte  15,92,224                           // subps         %xmm0,%xmm4
+  .byte  65,15,89,230                        // mulps         %xmm14,%xmm4
+  .byte  65,15,88,227                        // addps         %xmm11,%xmm4
+  .byte  69,15,40,227                        // movaps        %xmm11,%xmm12
+  .byte  69,15,84,224                        // andps         %xmm8,%xmm12
+  .byte  68,15,85,196                        // andnps        %xmm4,%xmm8
+  .byte  69,15,86,196                        // orps          %xmm12,%xmm8
+  .byte  68,15,84,195                        // andps         %xmm3,%xmm8
+  .byte  65,15,85,218                        // andnps        %xmm10,%xmm3
+  .byte  65,15,86,216                        // orps          %xmm8,%xmm3
+  .byte  65,15,89,198                        // mulps         %xmm14,%xmm0
+  .byte  65,15,88,195                        // addps         %xmm11,%xmm0
+  .byte  65,15,84,223                        // andps         %xmm15,%xmm3
+  .byte  68,15,85,248                        // andnps        %xmm0,%xmm15
+  .byte  68,15,86,251                        // orps          %xmm3,%xmm15
+  .byte  68,15,40,199                        // movaps        %xmm7,%xmm8
+  .byte  69,15,85,199                        // andnps        %xmm15,%xmm8
+  .byte  243,15,91,198                       // cvttps2dq     %xmm6,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  15,40,222                           // movaps        %xmm6,%xmm3
+  .byte  15,194,216,1                        // cmpltps       %xmm0,%xmm3
+  .byte  15,84,29,162,90,1,0                 // andps         0x15aa2(%rip),%xmm3        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  15,92,195                           // subps         %xmm3,%xmm0
+  .byte  68,15,40,230                        // movaps        %xmm6,%xmm12
+  .byte  68,15,92,224                        // subps         %xmm0,%xmm12
+  .byte  69,15,40,253                        // movaps        %xmm13,%xmm15
+  .byte  69,15,194,252,2                     // cmpleps       %xmm12,%xmm15
+  .byte  65,15,40,225                        // movaps        %xmm9,%xmm4
+  .byte  65,15,194,228,2                     // cmpleps       %xmm12,%xmm4
+  .byte  15,40,218                           // movaps        %xmm2,%xmm3
+  .byte  65,15,194,220,2                     // cmpleps       %xmm12,%xmm3
+  .byte  68,15,89,225                        // mulps         %xmm1,%xmm12
+  .byte  15,40,197                           // movaps        %xmm5,%xmm0
+  .byte  65,15,92,196                        // subps         %xmm12,%xmm0
+  .byte  65,15,89,198                        // mulps         %xmm14,%xmm0
+  .byte  65,15,88,195                        // addps         %xmm11,%xmm0
+  .byte  65,15,40,251                        // movaps        %xmm11,%xmm7
+  .byte  65,15,84,255                        // andps         %xmm15,%xmm7
+  .byte  68,15,85,248                        // andnps        %xmm0,%xmm15
+  .byte  68,15,86,255                        // orps          %xmm7,%xmm15
+  .byte  68,15,84,252                        // andps         %xmm4,%xmm15
+  .byte  65,15,85,226                        // andnps        %xmm10,%xmm4
+  .byte  65,15,86,231                        // orps          %xmm15,%xmm4
+  .byte  69,15,89,230                        // mulps         %xmm14,%xmm12
+  .byte  69,15,88,227                        // addps         %xmm11,%xmm12
+  .byte  15,84,227                           // andps         %xmm3,%xmm4
+  .byte  65,15,85,220                        // andnps        %xmm12,%xmm3
+  .byte  15,86,220                           // orps          %xmm4,%xmm3
+  .byte  15,40,124,36,136                    // movaps        -0x78(%rsp),%xmm7
+  .byte  15,40,231                           // movaps        %xmm7,%xmm4
+  .byte  15,85,227                           // andnps        %xmm3,%xmm4
+  .byte  15,88,53,42,92,1,0                  // addps         0x15c2a(%rip),%xmm6        # 3d110 <_sk_srcover_bgra_8888_sse2_lowp+0xec4>
+  .byte  243,15,91,198                       // cvttps2dq     %xmm6,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  15,40,222                           // movaps        %xmm6,%xmm3
+  .byte  15,194,216,1                        // cmpltps       %xmm0,%xmm3
+  .byte  15,84,29,21,90,1,0                  // andps         0x15a15(%rip),%xmm3        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  15,92,195                           // subps         %xmm3,%xmm0
+  .byte  15,92,240                           // subps         %xmm0,%xmm6
+  .byte  15,89,206                           // mulps         %xmm6,%xmm1
+  .byte  15,92,233                           // subps         %xmm1,%xmm5
+  .byte  65,15,89,238                        // mulps         %xmm14,%xmm5
+  .byte  65,15,89,206                        // mulps         %xmm14,%xmm1
+  .byte  65,15,88,235                        // addps         %xmm11,%xmm5
+  .byte  65,15,88,203                        // addps         %xmm11,%xmm1
+  .byte  68,15,194,238,2                     // cmpleps       %xmm6,%xmm13
+  .byte  69,15,84,221                        // andps         %xmm13,%xmm11
+  .byte  68,15,85,237                        // andnps        %xmm5,%xmm13
+  .byte  69,15,86,235                        // orps          %xmm11,%xmm13
+  .byte  68,15,194,206,2                     // cmpleps       %xmm6,%xmm9
+  .byte  69,15,84,233                        // andps         %xmm9,%xmm13
+  .byte  69,15,85,202                        // andnps        %xmm10,%xmm9
+  .byte  69,15,86,205                        // orps          %xmm13,%xmm9
+  .byte  15,194,214,2                        // cmpleps       %xmm6,%xmm2
+  .byte  68,15,84,202                        // andps         %xmm2,%xmm9
+  .byte  15,85,209                           // andnps        %xmm1,%xmm2
+  .byte  65,15,86,209                        // orps          %xmm9,%xmm2
+  .byte  15,40,68,36,152                     // movaps        -0x68(%rsp),%xmm0
+  .byte  15,40,207                           // movaps        %xmm7,%xmm1
+  .byte  15,84,193                           // andps         %xmm1,%xmm0
+  .byte  15,85,202                           // andnps        %xmm2,%xmm1
+  .byte  68,15,86,192                        // orps          %xmm0,%xmm8
+  .byte  15,86,224                           // orps          %xmm0,%xmm4
+  .byte  15,86,193                           // orps          %xmm1,%xmm0
+  .byte  15,40,208                           // movaps        %xmm0,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  15,40,204                           // movaps        %xmm4,%xmm1
+  .byte  15,40,92,36,168                     // movaps        -0x58(%rsp),%xmm3
+  .byte  15,40,100,36,184                    // movaps        -0x48(%rsp),%xmm4
+  .byte  15,40,108,36,200                    // movaps        -0x38(%rsp),%xmm5
+  .byte  15,40,116,36,216                    // movaps        -0x28(%rsp),%xmm6
+  .byte  15,40,124,36,232                    // movaps        -0x18(%rsp),%xmm7
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_scale_1_float_sse2
+.globl _sk_scale_1_float_sse2
+FUNCTION(_sk_scale_1_float_sse2)
+_sk_scale_1_float_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,0                      // movss         (%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
+  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
+  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_scale_u8_sse2
+.globl _sk_scale_u8_sse2
+FUNCTION(_sk_scale_u8_sse2)
+_sk_scale_u8_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,61                              // jne           275f6 <_sk_scale_u8_sse2+0x4f>
+  .byte  102,69,15,110,4,16                  // movd          (%r8,%rdx,1),%xmm8
+  .byte  102,68,15,96,192                    // punpcklbw     %xmm0,%xmm8
+  .byte  102,68,15,97,192                    // punpcklwd     %xmm0,%xmm8
+  .byte  102,68,15,219,5,238,89,1,0          // pand          0x159ee(%rip),%xmm8        # 3cfc0 <_sk_srcover_bgra_8888_sse2_lowp+0xd74>
+  .byte  69,15,91,192                        // cvtdq2ps      %xmm8,%xmm8
+  .byte  68,15,89,5,66,91,1,0                // mulps         0x15b42(%rip),%xmm8        # 3d120 <_sk_srcover_bgra_8888_sse2_lowp+0xed4>
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
+  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
+  .byte  68,15,89,195                        // mulps         %xmm3,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,216                        // movaps        %xmm8,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,57                              // je            27637 <_sk_scale_u8_sse2+0x90>
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,21                              // je            2761c <_sk_scale_u8_sse2+0x75>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,190                             // jne           275c9 <_sk_scale_u8_sse2+0x22>
+  .byte  65,15,182,68,16,2                   // movzbl        0x2(%r8,%rdx,1),%eax
+  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
+  .byte  102,69,15,112,192,69                // pshufd        $0x45,%xmm8,%xmm8
+  .byte  65,15,183,4,16                      // movzwl        (%r8,%rdx,1),%eax
+  .byte  102,68,15,110,200                   // movd          %eax,%xmm9
+  .byte  102,68,15,96,200                    // punpcklbw     %xmm0,%xmm9
+  .byte  102,68,15,97,200                    // punpcklwd     %xmm0,%xmm9
+  .byte  242,69,15,16,193                    // movsd         %xmm9,%xmm8
+  .byte  235,146                             // jmp           275c9 <_sk_scale_u8_sse2+0x22>
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
+  .byte  235,134                             // jmp           275c9 <_sk_scale_u8_sse2+0x22>
+
+HIDDEN _sk_scale_565_sse2
+.globl _sk_scale_565_sse2
+FUNCTION(_sk_scale_565_sse2)
+_sk_scale_565_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,173,0,0,0                    // jne           27709 <_sk_scale_565_sse2+0xc6>
+  .byte  243,69,15,126,20,80                 // movq          (%r8,%rdx,2),%xmm10
+  .byte  102,68,15,97,208                    // punpcklwd     %xmm0,%xmm10
+  .byte  102,68,15,111,5,192,90,1,0          // movdqa        0x15ac0(%rip),%xmm8        # 3d130 <_sk_srcover_bgra_8888_sse2_lowp+0xee4>
+  .byte  102,69,15,219,194                   // pand          %xmm10,%xmm8
+  .byte  69,15,91,192                        // cvtdq2ps      %xmm8,%xmm8
+  .byte  68,15,89,5,191,90,1,0               // mulps         0x15abf(%rip),%xmm8        # 3d140 <_sk_srcover_bgra_8888_sse2_lowp+0xef4>
+  .byte  102,68,15,111,13,198,90,1,0         // movdqa        0x15ac6(%rip),%xmm9        # 3d150 <_sk_srcover_bgra_8888_sse2_lowp+0xf04>
+  .byte  102,69,15,219,202                   // pand          %xmm10,%xmm9
+  .byte  69,15,91,201                        // cvtdq2ps      %xmm9,%xmm9
+  .byte  68,15,89,13,197,90,1,0              // mulps         0x15ac5(%rip),%xmm9        # 3d160 <_sk_srcover_bgra_8888_sse2_lowp+0xf14>
+  .byte  102,68,15,219,21,204,90,1,0         // pand          0x15acc(%rip),%xmm10        # 3d170 <_sk_srcover_bgra_8888_sse2_lowp+0xf24>
+  .byte  69,15,91,210                        // cvtdq2ps      %xmm10,%xmm10
+  .byte  68,15,89,21,208,90,1,0              // mulps         0x15ad0(%rip),%xmm10        # 3d180 <_sk_srcover_bgra_8888_sse2_lowp+0xf34>
+  .byte  68,15,40,219                        // movaps        %xmm3,%xmm11
+  .byte  68,15,194,223,1                     // cmpltps       %xmm7,%xmm11
+  .byte  69,15,40,225                        // movaps        %xmm9,%xmm12
+  .byte  69,15,93,226                        // minps         %xmm10,%xmm12
+  .byte  69,15,40,232                        // movaps        %xmm8,%xmm13
+  .byte  69,15,93,236                        // minps         %xmm12,%xmm13
+  .byte  69,15,40,225                        // movaps        %xmm9,%xmm12
+  .byte  69,15,95,226                        // maxps         %xmm10,%xmm12
+  .byte  69,15,40,240                        // movaps        %xmm8,%xmm14
+  .byte  69,15,95,244                        // maxps         %xmm12,%xmm14
+  .byte  69,15,84,235                        // andps         %xmm11,%xmm13
+  .byte  69,15,85,222                        // andnps        %xmm14,%xmm11
+  .byte  69,15,86,221                        // orps          %xmm13,%xmm11
+  .byte  68,15,89,192                        // mulps         %xmm0,%xmm8
+  .byte  68,15,89,201                        // mulps         %xmm1,%xmm9
+  .byte  68,15,89,210                        // mulps         %xmm2,%xmm10
+  .byte  68,15,89,219                        // mulps         %xmm3,%xmm11
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  65,15,40,201                        // movaps        %xmm9,%xmm1
+  .byte  65,15,40,210                        // movaps        %xmm10,%xmm2
+  .byte  65,15,40,219                        // movaps        %xmm11,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,56                              // je            27749 <_sk_scale_565_sse2+0x106>
+  .byte  102,69,15,239,210                   // pxor          %xmm10,%xmm10
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,25                              // je            27733 <_sk_scale_565_sse2+0xf0>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  15,133,69,255,255,255               // jne           27667 <_sk_scale_565_sse2+0x24>
+  .byte  65,15,183,68,80,4                   // movzwl        0x4(%r8,%rdx,2),%eax
+  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
+  .byte  102,69,15,112,208,69                // pshufd        $0x45,%xmm8,%xmm10
+  .byte  102,69,15,110,4,80                  // movd          (%r8,%rdx,2),%xmm8
+  .byte  242,69,15,112,192,212               // pshuflw       $0xd4,%xmm8,%xmm8
+  .byte  242,69,15,16,208                    // movsd         %xmm8,%xmm10
+  .byte  233,30,255,255,255                  // jmpq          27667 <_sk_scale_565_sse2+0x24>
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  102,68,15,110,208                   // movd          %eax,%xmm10
+  .byte  233,15,255,255,255                  // jmpq          27667 <_sk_scale_565_sse2+0x24>
+
+HIDDEN _sk_lerp_1_float_sse2
+.globl _sk_lerp_1_float_sse2
+FUNCTION(_sk_lerp_1_float_sse2)
+_sk_lerp_1_float_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,0                      // movss         (%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  15,92,196                           // subps         %xmm4,%xmm0
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  15,88,196                           // addps         %xmm4,%xmm0
+  .byte  15,92,205                           // subps         %xmm5,%xmm1
+  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
+  .byte  15,88,205                           // addps         %xmm5,%xmm1
+  .byte  15,92,214                           // subps         %xmm6,%xmm2
+  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
+  .byte  15,88,214                           // addps         %xmm6,%xmm2
+  .byte  15,92,223                           // subps         %xmm7,%xmm3
+  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
+  .byte  15,88,223                           // addps         %xmm7,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_lerp_u8_sse2
+.globl _sk_lerp_u8_sse2
+FUNCTION(_sk_lerp_u8_sse2)
+_sk_lerp_u8_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,81                              // jne           277f3 <_sk_lerp_u8_sse2+0x63>
+  .byte  102,69,15,110,4,16                  // movd          (%r8,%rdx,1),%xmm8
+  .byte  102,68,15,96,192                    // punpcklbw     %xmm0,%xmm8
+  .byte  102,68,15,97,192                    // punpcklwd     %xmm0,%xmm8
+  .byte  102,68,15,219,5,5,88,1,0            // pand          0x15805(%rip),%xmm8        # 3cfc0 <_sk_srcover_bgra_8888_sse2_lowp+0xd74>
+  .byte  69,15,91,192                        // cvtdq2ps      %xmm8,%xmm8
+  .byte  68,15,89,5,89,89,1,0                // mulps         0x15959(%rip),%xmm8        # 3d120 <_sk_srcover_bgra_8888_sse2_lowp+0xed4>
+  .byte  15,92,196                           // subps         %xmm4,%xmm0
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  15,88,196                           // addps         %xmm4,%xmm0
+  .byte  15,92,205                           // subps         %xmm5,%xmm1
+  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
+  .byte  15,88,205                           // addps         %xmm5,%xmm1
+  .byte  15,92,214                           // subps         %xmm6,%xmm2
+  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
+  .byte  15,88,214                           // addps         %xmm6,%xmm2
+  .byte  15,92,223                           // subps         %xmm7,%xmm3
+  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
+  .byte  15,88,223                           // addps         %xmm7,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,60                              // je            27837 <_sk_lerp_u8_sse2+0xa7>
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,21                              // je            27819 <_sk_lerp_u8_sse2+0x89>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,170                             // jne           277b2 <_sk_lerp_u8_sse2+0x22>
+  .byte  65,15,182,68,16,2                   // movzbl        0x2(%r8,%rdx,1),%eax
+  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
+  .byte  102,69,15,112,192,69                // pshufd        $0x45,%xmm8,%xmm8
+  .byte  65,15,183,4,16                      // movzwl        (%r8,%rdx,1),%eax
+  .byte  102,68,15,110,200                   // movd          %eax,%xmm9
+  .byte  102,68,15,96,200                    // punpcklbw     %xmm0,%xmm9
+  .byte  102,68,15,97,200                    // punpcklwd     %xmm0,%xmm9
+  .byte  242,69,15,16,193                    // movsd         %xmm9,%xmm8
+  .byte  233,123,255,255,255                 // jmpq          277b2 <_sk_lerp_u8_sse2+0x22>
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
+  .byte  233,108,255,255,255                 // jmpq          277b2 <_sk_lerp_u8_sse2+0x22>
+
+HIDDEN _sk_lerp_565_sse2
+.globl _sk_lerp_565_sse2
+FUNCTION(_sk_lerp_565_sse2)
+_sk_lerp_565_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,173,0,0,0                    // jne           2790c <_sk_lerp_565_sse2+0xc6>
+  .byte  243,69,15,126,4,80                  // movq          (%r8,%rdx,2),%xmm8
+  .byte  102,68,15,97,192                    // punpcklwd     %xmm0,%xmm8
+  .byte  102,68,15,111,13,189,88,1,0         // movdqa        0x158bd(%rip),%xmm9        # 3d130 <_sk_srcover_bgra_8888_sse2_lowp+0xee4>
+  .byte  102,69,15,219,200                   // pand          %xmm8,%xmm9
+  .byte  69,15,91,201                        // cvtdq2ps      %xmm9,%xmm9
+  .byte  68,15,89,13,188,88,1,0              // mulps         0x158bc(%rip),%xmm9        # 3d140 <_sk_srcover_bgra_8888_sse2_lowp+0xef4>
+  .byte  102,68,15,111,21,195,88,1,0         // movdqa        0x158c3(%rip),%xmm10        # 3d150 <_sk_srcover_bgra_8888_sse2_lowp+0xf04>
+  .byte  102,69,15,219,208                   // pand          %xmm8,%xmm10
+  .byte  69,15,91,218                        // cvtdq2ps      %xmm10,%xmm11
+  .byte  68,15,89,29,194,88,1,0              // mulps         0x158c2(%rip),%xmm11        # 3d160 <_sk_srcover_bgra_8888_sse2_lowp+0xf14>
+  .byte  102,68,15,219,5,201,88,1,0          // pand          0x158c9(%rip),%xmm8        # 3d170 <_sk_srcover_bgra_8888_sse2_lowp+0xf24>
+  .byte  69,15,91,192                        // cvtdq2ps      %xmm8,%xmm8
+  .byte  68,15,89,5,205,88,1,0               // mulps         0x158cd(%rip),%xmm8        # 3d180 <_sk_srcover_bgra_8888_sse2_lowp+0xf34>
+  .byte  68,15,40,211                        // movaps        %xmm3,%xmm10
+  .byte  68,15,194,215,1                     // cmpltps       %xmm7,%xmm10
+  .byte  69,15,40,227                        // movaps        %xmm11,%xmm12
+  .byte  15,92,205                           // subps         %xmm5,%xmm1
+  .byte  65,15,89,203                        // mulps         %xmm11,%xmm1
+  .byte  69,15,93,216                        // minps         %xmm8,%xmm11
+  .byte  69,15,40,233                        // movaps        %xmm9,%xmm13
+  .byte  15,92,196                           // subps         %xmm4,%xmm0
+  .byte  65,15,89,193                        // mulps         %xmm9,%xmm0
+  .byte  69,15,93,203                        // minps         %xmm11,%xmm9
+  .byte  69,15,95,224                        // maxps         %xmm8,%xmm12
+  .byte  69,15,95,236                        // maxps         %xmm12,%xmm13
+  .byte  69,15,84,202                        // andps         %xmm10,%xmm9
+  .byte  69,15,85,213                        // andnps        %xmm13,%xmm10
+  .byte  69,15,86,209                        // orps          %xmm9,%xmm10
+  .byte  15,88,196                           // addps         %xmm4,%xmm0
+  .byte  15,88,205                           // addps         %xmm5,%xmm1
+  .byte  15,92,214                           // subps         %xmm6,%xmm2
+  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
+  .byte  15,88,214                           // addps         %xmm6,%xmm2
+  .byte  15,92,223                           // subps         %xmm7,%xmm3
+  .byte  65,15,89,218                        // mulps         %xmm10,%xmm3
+  .byte  15,88,223                           // addps         %xmm7,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,56                              // je            2794c <_sk_lerp_565_sse2+0x106>
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,25                              // je            27936 <_sk_lerp_565_sse2+0xf0>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  15,133,69,255,255,255               // jne           2786a <_sk_lerp_565_sse2+0x24>
+  .byte  65,15,183,68,80,4                   // movzwl        0x4(%r8,%rdx,2),%eax
+  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
+  .byte  102,69,15,112,192,69                // pshufd        $0x45,%xmm8,%xmm8
+  .byte  102,69,15,110,12,80                 // movd          (%r8,%rdx,2),%xmm9
+  .byte  242,69,15,112,201,212               // pshuflw       $0xd4,%xmm9,%xmm9
+  .byte  242,69,15,16,193                    // movsd         %xmm9,%xmm8
+  .byte  233,30,255,255,255                  // jmpq          2786a <_sk_lerp_565_sse2+0x24>
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
+  .byte  233,15,255,255,255                  // jmpq          2786a <_sk_lerp_565_sse2+0x24>
+
+HIDDEN _sk_load_tables_sse2
+.globl _sk_load_tables_sse2
+FUNCTION(_sk_load_tables_sse2)
+_sk_load_tables_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,34,1,0,0                     // jne           27a8b <_sk_load_tables_sse2+0x130>
+  .byte  243,69,15,111,12,144                // movdqu        (%r8,%rdx,4),%xmm9
+  .byte  65,86                               // push          %r14
+  .byte  83                                  // push          %rbx
+  .byte  102,68,15,111,5,69,86,1,0           // movdqa        0x15645(%rip),%xmm8        # 3cfc0 <_sk_srcover_bgra_8888_sse2_lowp+0xd74>
+  .byte  102,65,15,111,193                   // movdqa        %xmm9,%xmm0
+  .byte  102,65,15,219,192                   // pand          %xmm8,%xmm0
+  .byte  102,15,112,200,78                   // pshufd        $0x4e,%xmm0,%xmm1
+  .byte  102,73,15,126,200                   // movq          %xmm1,%r8
+  .byte  102,73,15,126,193                   // movq          %xmm0,%r9
+  .byte  69,15,182,209                       // movzbl        %r9b,%r10d
+  .byte  73,193,233,30                       // shr           $0x1e,%r9
+  .byte  69,15,182,216                       // movzbl        %r8b,%r11d
+  .byte  73,193,232,30                       // shr           $0x1e,%r8
+  .byte  72,139,88,8                         // mov           0x8(%rax),%rbx
+  .byte  76,139,112,16                       // mov           0x10(%rax),%r14
+  .byte  243,66,15,16,12,11                  // movss         (%rbx,%r9,1),%xmm1
+  .byte  243,66,15,16,4,147                  // movss         (%rbx,%r10,4),%xmm0
+  .byte  15,20,193                           // unpcklps      %xmm1,%xmm0
+  .byte  243,66,15,16,12,3                   // movss         (%rbx,%r8,1),%xmm1
+  .byte  243,66,15,16,20,155                 // movss         (%rbx,%r11,4),%xmm2
+  .byte  15,20,209                           // unpcklps      %xmm1,%xmm2
+  .byte  102,15,20,194                       // unpcklpd      %xmm2,%xmm0
+  .byte  102,65,15,111,201                   // movdqa        %xmm9,%xmm1
+  .byte  102,15,114,209,8                    // psrld         $0x8,%xmm1
+  .byte  102,65,15,219,200                   // pand          %xmm8,%xmm1
+  .byte  102,15,112,209,78                   // pshufd        $0x4e,%xmm1,%xmm2
+  .byte  102,73,15,126,208                   // movq          %xmm2,%r8
+  .byte  102,72,15,126,203                   // movq          %xmm1,%rbx
+  .byte  68,15,182,203                       // movzbl        %bl,%r9d
+  .byte  72,193,235,30                       // shr           $0x1e,%rbx
+  .byte  69,15,182,208                       // movzbl        %r8b,%r10d
+  .byte  73,193,232,30                       // shr           $0x1e,%r8
+  .byte  243,65,15,16,20,30                  // movss         (%r14,%rbx,1),%xmm2
+  .byte  243,67,15,16,12,142                 // movss         (%r14,%r9,4),%xmm1
+  .byte  15,20,202                           // unpcklps      %xmm2,%xmm1
+  .byte  243,67,15,16,20,6                   // movss         (%r14,%r8,1),%xmm2
+  .byte  243,67,15,16,28,150                 // movss         (%r14,%r10,4),%xmm3
+  .byte  15,20,218                           // unpcklps      %xmm2,%xmm3
+  .byte  102,15,20,203                       // unpcklpd      %xmm3,%xmm1
+  .byte  76,139,64,24                        // mov           0x18(%rax),%r8
+  .byte  102,65,15,111,209                   // movdqa        %xmm9,%xmm2
+  .byte  102,15,114,210,16                   // psrld         $0x10,%xmm2
+  .byte  102,65,15,219,208                   // pand          %xmm8,%xmm2
+  .byte  102,15,112,218,78                   // pshufd        $0x4e,%xmm2,%xmm3
+  .byte  102,72,15,126,219                   // movq          %xmm3,%rbx
+  .byte  102,72,15,126,208                   // movq          %xmm2,%rax
+  .byte  68,15,182,200                       // movzbl        %al,%r9d
+  .byte  72,193,232,30                       // shr           $0x1e,%rax
+  .byte  68,15,182,211                       // movzbl        %bl,%r10d
+  .byte  72,193,235,30                       // shr           $0x1e,%rbx
+  .byte  243,65,15,16,28,0                   // movss         (%r8,%rax,1),%xmm3
+  .byte  243,67,15,16,20,136                 // movss         (%r8,%r9,4),%xmm2
+  .byte  15,20,211                           // unpcklps      %xmm3,%xmm2
+  .byte  243,69,15,16,4,24                   // movss         (%r8,%rbx,1),%xmm8
+  .byte  243,67,15,16,28,144                 // movss         (%r8,%r10,4),%xmm3
+  .byte  65,15,20,216                        // unpcklps      %xmm8,%xmm3
+  .byte  102,15,20,211                       // unpcklpd      %xmm3,%xmm2
+  .byte  102,65,15,114,209,24                // psrld         $0x18,%xmm9
+  .byte  65,15,91,217                        // cvtdq2ps      %xmm9,%xmm3
+  .byte  15,89,29,156,86,1,0                 // mulps         0x1569c(%rip),%xmm3        # 3d120 <_sk_srcover_bgra_8888_sse2_lowp+0xed4>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  91                                  // pop           %rbx
+  .byte  65,94                               // pop           %r14
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,137,249                          // mov           %edi,%r9d
+  .byte  65,128,225,3                        // and           $0x3,%r9b
+  .byte  65,128,249,1                        // cmp           $0x1,%r9b
+  .byte  116,45                              // je            27ac5 <_sk_load_tables_sse2+0x16a>
+  .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
+  .byte  65,128,249,2                        // cmp           $0x2,%r9b
+  .byte  116,23                              // je            27aba <_sk_load_tables_sse2+0x15f>
+  .byte  65,128,249,3                        // cmp           $0x3,%r9b
+  .byte  15,133,194,254,255,255              // jne           2796f <_sk_load_tables_sse2+0x14>
+  .byte  102,65,15,110,68,144,8              // movd          0x8(%r8,%rdx,4),%xmm0
+  .byte  102,68,15,112,200,69                // pshufd        $0x45,%xmm0,%xmm9
+  .byte  102,69,15,18,12,144                 // movlpd        (%r8,%rdx,4),%xmm9
+  .byte  233,170,254,255,255                 // jmpq          2796f <_sk_load_tables_sse2+0x14>
+  .byte  102,69,15,110,12,144                // movd          (%r8,%rdx,4),%xmm9
+  .byte  233,159,254,255,255                 // jmpq          2796f <_sk_load_tables_sse2+0x14>
+
+HIDDEN _sk_load_tables_u16_be_sse2
+.globl _sk_load_tables_u16_be_sse2
+FUNCTION(_sk_load_tables_u16_be_sse2)
+_sk_load_tables_u16_be_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  76,141,12,149,0,0,0,0               // lea           0x0(,%rdx,4),%r9
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,93,1,0,0                     // jne           27c43 <_sk_load_tables_u16_be_sse2+0x173>
+  .byte  102,67,15,16,4,72                   // movupd        (%r8,%r9,2),%xmm0
+  .byte  243,67,15,111,76,72,16              // movdqu        0x10(%r8,%r9,2),%xmm1
+  .byte  65,86                               // push          %r14
+  .byte  83                                  // push          %rbx
+  .byte  102,68,15,40,200                    // movapd        %xmm0,%xmm9
+  .byte  102,68,15,97,201                    // punpcklwd     %xmm1,%xmm9
+  .byte  102,15,105,193                      // punpckhwd     %xmm1,%xmm0
+  .byte  102,65,15,111,201                   // movdqa        %xmm9,%xmm1
+  .byte  102,15,97,200                       // punpcklwd     %xmm0,%xmm1
+  .byte  102,68,15,105,200                   // punpckhwd     %xmm0,%xmm9
+  .byte  102,15,111,21,118,86,1,0            // movdqa        0x15676(%rip),%xmm2        # 3d190 <_sk_srcover_bgra_8888_sse2_lowp+0xf44>
+  .byte  102,15,112,217,238                  // pshufd        $0xee,%xmm1,%xmm3
+  .byte  102,15,219,202                      // pand          %xmm2,%xmm1
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  102,65,15,97,200                    // punpcklwd     %xmm8,%xmm1
+  .byte  102,15,112,193,78                   // pshufd        $0x4e,%xmm1,%xmm0
+  .byte  102,73,15,126,192                   // movq          %xmm0,%r8
+  .byte  102,73,15,126,201                   // movq          %xmm1,%r9
+  .byte  69,15,182,209                       // movzbl        %r9b,%r10d
+  .byte  73,193,233,30                       // shr           $0x1e,%r9
+  .byte  69,15,182,216                       // movzbl        %r8b,%r11d
+  .byte  73,193,232,30                       // shr           $0x1e,%r8
+  .byte  72,139,88,8                         // mov           0x8(%rax),%rbx
+  .byte  76,139,112,16                       // mov           0x10(%rax),%r14
+  .byte  243,66,15,16,12,11                  // movss         (%rbx,%r9,1),%xmm1
+  .byte  243,66,15,16,4,147                  // movss         (%rbx,%r10,4),%xmm0
+  .byte  15,20,193                           // unpcklps      %xmm1,%xmm0
+  .byte  243,70,15,16,20,3                   // movss         (%rbx,%r8,1),%xmm10
+  .byte  243,66,15,16,12,155                 // movss         (%rbx,%r11,4),%xmm1
+  .byte  65,15,20,202                        // unpcklps      %xmm10,%xmm1
+  .byte  102,15,20,193                       // unpcklpd      %xmm1,%xmm0
+  .byte  102,15,219,218                      // pand          %xmm2,%xmm3
+  .byte  102,65,15,97,216                    // punpcklwd     %xmm8,%xmm3
+  .byte  102,15,112,203,78                   // pshufd        $0x4e,%xmm3,%xmm1
+  .byte  102,73,15,126,200                   // movq          %xmm1,%r8
+  .byte  102,72,15,126,219                   // movq          %xmm3,%rbx
+  .byte  68,15,182,203                       // movzbl        %bl,%r9d
+  .byte  72,193,235,30                       // shr           $0x1e,%rbx
+  .byte  69,15,182,208                       // movzbl        %r8b,%r10d
+  .byte  73,193,232,30                       // shr           $0x1e,%r8
+  .byte  243,65,15,16,28,30                  // movss         (%r14,%rbx,1),%xmm3
+  .byte  243,67,15,16,12,142                 // movss         (%r14,%r9,4),%xmm1
+  .byte  15,20,203                           // unpcklps      %xmm3,%xmm1
+  .byte  243,71,15,16,20,6                   // movss         (%r14,%r8,1),%xmm10
+  .byte  243,67,15,16,28,150                 // movss         (%r14,%r10,4),%xmm3
+  .byte  65,15,20,218                        // unpcklps      %xmm10,%xmm3
+  .byte  102,15,20,203                       // unpcklpd      %xmm3,%xmm1
+  .byte  76,139,64,24                        // mov           0x18(%rax),%r8
+  .byte  102,65,15,219,209                   // pand          %xmm9,%xmm2
+  .byte  102,65,15,97,208                    // punpcklwd     %xmm8,%xmm2
+  .byte  102,15,112,218,78                   // pshufd        $0x4e,%xmm2,%xmm3
+  .byte  102,72,15,126,219                   // movq          %xmm3,%rbx
+  .byte  102,72,15,126,208                   // movq          %xmm2,%rax
+  .byte  68,15,182,200                       // movzbl        %al,%r9d
+  .byte  72,193,232,30                       // shr           $0x1e,%rax
+  .byte  68,15,182,211                       // movzbl        %bl,%r10d
+  .byte  72,193,235,30                       // shr           $0x1e,%rbx
+  .byte  243,65,15,16,28,0                   // movss         (%r8,%rax,1),%xmm3
+  .byte  243,67,15,16,20,136                 // movss         (%r8,%r9,4),%xmm2
+  .byte  15,20,211                           // unpcklps      %xmm3,%xmm2
+  .byte  243,69,15,16,20,24                  // movss         (%r8,%rbx,1),%xmm10
+  .byte  243,67,15,16,28,144                 // movss         (%r8,%r10,4),%xmm3
+  .byte  65,15,20,218                        // unpcklps      %xmm10,%xmm3
+  .byte  102,15,20,211                       // unpcklpd      %xmm3,%xmm2
+  .byte  102,65,15,112,217,78                // pshufd        $0x4e,%xmm9,%xmm3
+  .byte  102,68,15,111,203                   // movdqa        %xmm3,%xmm9
+  .byte  102,65,15,113,241,8                 // psllw         $0x8,%xmm9
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  102,65,15,235,217                   // por           %xmm9,%xmm3
+  .byte  102,65,15,97,216                    // punpcklwd     %xmm8,%xmm3
+  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
+  .byte  15,89,29,116,85,1,0                 // mulps         0x15574(%rip),%xmm3        # 3d1b0 <_sk_srcover_bgra_8888_sse2_lowp+0xf64>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  91                                  // pop           %rbx
+  .byte  65,94                               // pop           %r14
+  .byte  255,224                             // jmpq          *%rax
+  .byte  242,67,15,16,4,72                   // movsd         (%r8,%r9,2),%xmm0
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  117,13                              // jne           27c5c <_sk_load_tables_u16_be_sse2+0x18c>
+  .byte  243,15,126,192                      // movq          %xmm0,%xmm0
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  233,151,254,255,255                 // jmpq          27af3 <_sk_load_tables_u16_be_sse2+0x23>
+  .byte  102,67,15,22,68,72,8                // movhpd        0x8(%r8,%r9,2),%xmm0
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  15,130,130,254,255,255              // jb            27af3 <_sk_load_tables_u16_be_sse2+0x23>
+  .byte  243,67,15,126,76,72,16              // movq          0x10(%r8,%r9,2),%xmm1
+  .byte  233,118,254,255,255                 // jmpq          27af3 <_sk_load_tables_u16_be_sse2+0x23>
+
+HIDDEN _sk_load_tables_rgb_u16_be_sse2
+.globl _sk_load_tables_rgb_u16_be_sse2
+FUNCTION(_sk_load_tables_rgb_u16_be_sse2)
+_sk_load_tables_rgb_u16_be_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  76,141,12,82                        // lea           (%rdx,%rdx,2),%r9
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,81,1,0,0                     // jne           27de0 <_sk_load_tables_rgb_u16_be_sse2+0x163>
+  .byte  243,67,15,111,20,72                 // movdqu        (%r8,%r9,2),%xmm2
+  .byte  243,67,15,111,76,72,8               // movdqu        0x8(%r8,%r9,2),%xmm1
+  .byte  102,15,115,217,4                    // psrldq        $0x4,%xmm1
+  .byte  102,68,15,111,210                   // movdqa        %xmm2,%xmm10
+  .byte  102,65,15,115,218,6                 // psrldq        $0x6,%xmm10
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,15,115,216,6                    // psrldq        $0x6,%xmm0
+  .byte  65,86                               // push          %r14
+  .byte  83                                  // push          %rbx
+  .byte  102,68,15,97,208                    // punpcklwd     %xmm0,%xmm10
+  .byte  102,15,97,209                       // punpcklwd     %xmm1,%xmm2
+  .byte  102,15,111,194                      // movdqa        %xmm2,%xmm0
+  .byte  102,65,15,97,194                    // punpcklwd     %xmm10,%xmm0
+  .byte  102,15,112,200,78                   // pshufd        $0x4e,%xmm0,%xmm1
+  .byte  102,68,15,111,5,184,84,1,0          // movdqa        0x154b8(%rip),%xmm8        # 3d190 <_sk_srcover_bgra_8888_sse2_lowp+0xf44>
+  .byte  102,65,15,219,192                   // pand          %xmm8,%xmm0
+  .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
+  .byte  102,65,15,97,193                    // punpcklwd     %xmm9,%xmm0
+  .byte  102,15,112,216,78                   // pshufd        $0x4e,%xmm0,%xmm3
+  .byte  102,73,15,126,216                   // movq          %xmm3,%r8
+  .byte  102,73,15,126,193                   // movq          %xmm0,%r9
+  .byte  69,15,182,209                       // movzbl        %r9b,%r10d
+  .byte  73,193,233,30                       // shr           $0x1e,%r9
+  .byte  69,15,182,216                       // movzbl        %r8b,%r11d
+  .byte  73,193,232,30                       // shr           $0x1e,%r8
+  .byte  72,139,88,8                         // mov           0x8(%rax),%rbx
+  .byte  76,139,112,16                       // mov           0x10(%rax),%r14
+  .byte  243,66,15,16,28,11                  // movss         (%rbx,%r9,1),%xmm3
+  .byte  243,66,15,16,4,147                  // movss         (%rbx,%r10,4),%xmm0
+  .byte  15,20,195                           // unpcklps      %xmm3,%xmm0
+  .byte  243,70,15,16,28,3                   // movss         (%rbx,%r8,1),%xmm11
+  .byte  243,66,15,16,28,155                 // movss         (%rbx,%r11,4),%xmm3
+  .byte  65,15,20,219                        // unpcklps      %xmm11,%xmm3
+  .byte  102,15,20,195                       // unpcklpd      %xmm3,%xmm0
+  .byte  102,65,15,219,200                   // pand          %xmm8,%xmm1
+  .byte  102,65,15,97,201                    // punpcklwd     %xmm9,%xmm1
+  .byte  102,15,112,217,78                   // pshufd        $0x4e,%xmm1,%xmm3
+  .byte  102,73,15,126,216                   // movq          %xmm3,%r8
+  .byte  102,72,15,126,203                   // movq          %xmm1,%rbx
+  .byte  68,15,182,203                       // movzbl        %bl,%r9d
+  .byte  72,193,235,30                       // shr           $0x1e,%rbx
+  .byte  69,15,182,208                       // movzbl        %r8b,%r10d
+  .byte  73,193,232,30                       // shr           $0x1e,%r8
+  .byte  243,65,15,16,28,30                  // movss         (%r14,%rbx,1),%xmm3
+  .byte  243,67,15,16,12,142                 // movss         (%r14,%r9,4),%xmm1
+  .byte  15,20,203                           // unpcklps      %xmm3,%xmm1
+  .byte  243,71,15,16,28,6                   // movss         (%r14,%r8,1),%xmm11
+  .byte  243,67,15,16,28,150                 // movss         (%r14,%r10,4),%xmm3
+  .byte  65,15,20,219                        // unpcklps      %xmm11,%xmm3
+  .byte  102,15,20,203                       // unpcklpd      %xmm3,%xmm1
+  .byte  76,139,64,24                        // mov           0x18(%rax),%r8
+  .byte  102,65,15,105,210                   // punpckhwd     %xmm10,%xmm2
+  .byte  102,65,15,219,208                   // pand          %xmm8,%xmm2
+  .byte  102,65,15,97,209                    // punpcklwd     %xmm9,%xmm2
+  .byte  102,15,112,218,78                   // pshufd        $0x4e,%xmm2,%xmm3
+  .byte  102,72,15,126,219                   // movq          %xmm3,%rbx
+  .byte  102,72,15,126,208                   // movq          %xmm2,%rax
+  .byte  68,15,182,200                       // movzbl        %al,%r9d
+  .byte  72,193,232,30                       // shr           $0x1e,%rax
+  .byte  68,15,182,211                       // movzbl        %bl,%r10d
+  .byte  72,193,235,30                       // shr           $0x1e,%rbx
+  .byte  243,65,15,16,28,0                   // movss         (%r8,%rax,1),%xmm3
+  .byte  243,67,15,16,20,136                 // movss         (%r8,%r9,4),%xmm2
+  .byte  15,20,211                           // unpcklps      %xmm3,%xmm2
+  .byte  243,69,15,16,4,24                   // movss         (%r8,%rbx,1),%xmm8
+  .byte  243,67,15,16,28,144                 // movss         (%r8,%r10,4),%xmm3
+  .byte  65,15,20,216                        // unpcklps      %xmm8,%xmm3
+  .byte  102,15,20,211                       // unpcklpd      %xmm3,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,29,53,81,1,0                  // movaps        0x15135(%rip),%xmm3        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  91                                  // pop           %rbx
+  .byte  65,94                               // pop           %r14
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,67,15,110,20,72                 // movd          (%r8,%r9,2),%xmm2
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  102,67,15,196,84,72,4,2             // pinsrw        $0x2,0x4(%r8,%r9,2),%xmm2
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  117,14                              // jne           27e06 <_sk_load_tables_rgb_u16_be_sse2+0x189>
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  102,69,15,239,210                   // pxor          %xmm10,%xmm10
+  .byte  233,175,254,255,255                 // jmpq          27cb5 <_sk_load_tables_rgb_u16_be_sse2+0x38>
+  .byte  102,71,15,110,84,72,6               // movd          0x6(%r8,%r9,2),%xmm10
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  102,71,15,196,84,72,10,2            // pinsrw        $0x2,0xa(%r8,%r9,2),%xmm10
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  114,24                              // jb            27e37 <_sk_load_tables_rgb_u16_be_sse2+0x1ba>
+  .byte  102,67,15,110,76,72,12              // movd          0xc(%r8,%r9,2),%xmm1
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  102,67,15,196,76,72,16,2            // pinsrw        $0x2,0x10(%r8,%r9,2),%xmm1
+  .byte  233,126,254,255,255                 // jmpq          27cb5 <_sk_load_tables_rgb_u16_be_sse2+0x38>
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  233,117,254,255,255                 // jmpq          27cb5 <_sk_load_tables_rgb_u16_be_sse2+0x38>
+
+HIDDEN _sk_byte_tables_sse2
+.globl _sk_byte_tables_sse2
+FUNCTION(_sk_byte_tables_sse2)
+_sk_byte_tables_sse2:
+  .byte  85                                  // push          %rbp
+  .byte  65,86                               // push          %r14
+  .byte  83                                  // push          %rbx
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  69,15,87,219                        // xorps         %xmm11,%xmm11
+  .byte  68,15,95,216                        // maxps         %xmm0,%xmm11
+  .byte  68,15,40,13,181,80,1,0              // movaps        0x150b5(%rip),%xmm9        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,93,217                        // minps         %xmm9,%xmm11
+  .byte  68,15,40,21,137,81,1,0              // movaps        0x15189(%rip),%xmm10        # 3cff0 <_sk_srcover_bgra_8888_sse2_lowp+0xda4>
+  .byte  69,15,89,218                        // mulps         %xmm10,%xmm11
+  .byte  102,65,15,91,195                    // cvtps2dq      %xmm11,%xmm0
+  .byte  102,73,15,126,192                   // movq          %xmm0,%r8
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  77,137,194                          // mov           %r8,%r10
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  102,15,112,192,78                   // pshufd        $0x4e,%xmm0,%xmm0
+  .byte  102,73,15,126,192                   // movq          %xmm0,%r8
+  .byte  69,137,195                          // mov           %r8d,%r11d
+  .byte  77,137,198                          // mov           %r8,%r14
+  .byte  73,193,238,32                       // shr           $0x20,%r14
+  .byte  72,139,24                           // mov           (%rax),%rbx
+  .byte  76,139,64,8                         // mov           0x8(%rax),%r8
+  .byte  70,15,182,28,27                     // movzbl        (%rbx,%r11,1),%r11d
+  .byte  66,15,182,44,51                     // movzbl        (%rbx,%r14,1),%ebp
+  .byte  193,229,8                           // shl           $0x8,%ebp
+  .byte  68,9,221                            // or            %r11d,%ebp
+  .byte  70,15,182,12,11                     // movzbl        (%rbx,%r9,1),%r9d
+  .byte  66,15,182,28,19                     // movzbl        (%rbx,%r10,1),%ebx
+  .byte  193,227,8                           // shl           $0x8,%ebx
+  .byte  68,9,203                            // or            %r9d,%ebx
+  .byte  102,15,110,195                      // movd          %ebx,%xmm0
+  .byte  102,15,196,197,1                    // pinsrw        $0x1,%ebp,%xmm0
+  .byte  102,65,15,96,192                    // punpcklbw     %xmm8,%xmm0
+  .byte  102,65,15,97,192                    // punpcklwd     %xmm8,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  68,15,40,29,72,82,1,0               // movaps        0x15248(%rip),%xmm11        # 3d120 <_sk_srcover_bgra_8888_sse2_lowp+0xed4>
+  .byte  65,15,89,195                        // mulps         %xmm11,%xmm0
+  .byte  69,15,87,228                        // xorps         %xmm12,%xmm12
+  .byte  68,15,95,225                        // maxps         %xmm1,%xmm12
+  .byte  69,15,93,225                        // minps         %xmm9,%xmm12
+  .byte  69,15,89,226                        // mulps         %xmm10,%xmm12
+  .byte  102,65,15,91,204                    // cvtps2dq      %xmm12,%xmm1
+  .byte  102,72,15,126,205                   // movq          %xmm1,%rbp
+  .byte  65,137,233                          // mov           %ebp,%r9d
+  .byte  72,193,237,32                       // shr           $0x20,%rbp
+  .byte  102,15,112,201,78                   // pshufd        $0x4e,%xmm1,%xmm1
+  .byte  102,72,15,126,203                   // movq          %xmm1,%rbx
+  .byte  65,137,218                          // mov           %ebx,%r10d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  71,15,182,20,16                     // movzbl        (%r8,%r10,1),%r10d
+  .byte  65,15,182,28,24                     // movzbl        (%r8,%rbx,1),%ebx
+  .byte  193,227,8                           // shl           $0x8,%ebx
+  .byte  68,9,211                            // or            %r10d,%ebx
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  65,15,182,44,40                     // movzbl        (%r8,%rbp,1),%ebp
+  .byte  193,229,8                           // shl           $0x8,%ebp
+  .byte  68,9,205                            // or            %r9d,%ebp
+  .byte  102,15,110,205                      // movd          %ebp,%xmm1
+  .byte  102,15,196,203,1                    // pinsrw        $0x1,%ebx,%xmm1
+  .byte  102,65,15,96,200                    // punpcklbw     %xmm8,%xmm1
+  .byte  102,65,15,97,200                    // punpcklwd     %xmm8,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  65,15,89,203                        // mulps         %xmm11,%xmm1
+  .byte  76,139,72,16                        // mov           0x10(%rax),%r9
+  .byte  69,15,87,228                        // xorps         %xmm12,%xmm12
+  .byte  68,15,95,226                        // maxps         %xmm2,%xmm12
+  .byte  69,15,93,225                        // minps         %xmm9,%xmm12
+  .byte  69,15,89,226                        // mulps         %xmm10,%xmm12
+  .byte  102,65,15,91,212                    // cvtps2dq      %xmm12,%xmm2
+  .byte  102,72,15,126,211                   // movq          %xmm2,%rbx
+  .byte  65,137,216                          // mov           %ebx,%r8d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  102,15,112,210,78                   // pshufd        $0x4e,%xmm2,%xmm2
+  .byte  102,72,15,126,213                   // movq          %xmm2,%rbp
+  .byte  65,137,234                          // mov           %ebp,%r10d
+  .byte  72,193,237,32                       // shr           $0x20,%rbp
+  .byte  71,15,182,20,17                     // movzbl        (%r9,%r10,1),%r10d
+  .byte  65,15,182,44,41                     // movzbl        (%r9,%rbp,1),%ebp
+  .byte  193,229,8                           // shl           $0x8,%ebp
+  .byte  68,9,213                            // or            %r10d,%ebp
+  .byte  71,15,182,4,1                       // movzbl        (%r9,%r8,1),%r8d
+  .byte  65,15,182,28,25                     // movzbl        (%r9,%rbx,1),%ebx
+  .byte  193,227,8                           // shl           $0x8,%ebx
+  .byte  68,9,195                            // or            %r8d,%ebx
+  .byte  102,15,110,211                      // movd          %ebx,%xmm2
+  .byte  102,15,196,213,1                    // pinsrw        $0x1,%ebp,%xmm2
+  .byte  102,65,15,96,208                    // punpcklbw     %xmm8,%xmm2
+  .byte  102,65,15,97,208                    // punpcklwd     %xmm8,%xmm2
+  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
+  .byte  65,15,89,211                        // mulps         %xmm11,%xmm2
+  .byte  72,139,64,24                        // mov           0x18(%rax),%rax
+  .byte  69,15,87,228                        // xorps         %xmm12,%xmm12
+  .byte  68,15,95,227                        // maxps         %xmm3,%xmm12
+  .byte  69,15,93,225                        // minps         %xmm9,%xmm12
+  .byte  69,15,89,226                        // mulps         %xmm10,%xmm12
+  .byte  102,65,15,91,220                    // cvtps2dq      %xmm12,%xmm3
+  .byte  102,72,15,126,221                   // movq          %xmm3,%rbp
+  .byte  65,137,232                          // mov           %ebp,%r8d
+  .byte  72,193,237,32                       // shr           $0x20,%rbp
+  .byte  102,15,112,219,78                   // pshufd        $0x4e,%xmm3,%xmm3
+  .byte  102,72,15,126,219                   // movq          %xmm3,%rbx
+  .byte  65,137,217                          // mov           %ebx,%r9d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  70,15,182,12,8                      // movzbl        (%rax,%r9,1),%r9d
+  .byte  15,182,28,24                        // movzbl        (%rax,%rbx,1),%ebx
+  .byte  193,227,8                           // shl           $0x8,%ebx
+  .byte  68,9,203                            // or            %r9d,%ebx
+  .byte  70,15,182,4,0                       // movzbl        (%rax,%r8,1),%r8d
+  .byte  15,182,4,40                         // movzbl        (%rax,%rbp,1),%eax
+  .byte  193,224,8                           // shl           $0x8,%eax
+  .byte  68,9,192                            // or            %r8d,%eax
+  .byte  102,15,110,216                      // movd          %eax,%xmm3
+  .byte  102,15,196,219,1                    // pinsrw        $0x1,%ebx,%xmm3
+  .byte  102,65,15,96,216                    // punpcklbw     %xmm8,%xmm3
+  .byte  102,65,15,97,216                    // punpcklwd     %xmm8,%xmm3
+  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
+  .byte  65,15,89,219                        // mulps         %xmm11,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  91                                  // pop           %rbx
+  .byte  65,94                               // pop           %r14
+  .byte  93                                  // pop           %rbp
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_byte_tables_rgb_sse2
+.globl _sk_byte_tables_rgb_sse2
+FUNCTION(_sk_byte_tables_rgb_sse2)
+_sk_byte_tables_rgb_sse2:
+  .byte  85                                  // push          %rbp
+  .byte  65,86                               // push          %r14
+  .byte  83                                  // push          %rbx
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  68,139,64,24                        // mov           0x18(%rax),%r8d
+  .byte  65,255,200                          // dec           %r8d
+  .byte  102,69,15,110,192                   // movd          %r8d,%xmm8
+  .byte  102,69,15,112,192,0                 // pshufd        $0x0,%xmm8,%xmm8
+  .byte  69,15,91,200                        // cvtdq2ps      %xmm8,%xmm9
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  69,15,87,219                        // xorps         %xmm11,%xmm11
+  .byte  68,15,95,216                        // maxps         %xmm0,%xmm11
+  .byte  68,15,40,21,177,78,1,0              // movaps        0x14eb1(%rip),%xmm10        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,93,218                        // minps         %xmm10,%xmm11
+  .byte  69,15,89,217                        // mulps         %xmm9,%xmm11
+  .byte  102,65,15,91,195                    // cvtps2dq      %xmm11,%xmm0
+  .byte  102,73,15,126,192                   // movq          %xmm0,%r8
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  77,137,194                          // mov           %r8,%r10
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  102,15,112,192,78                   // pshufd        $0x4e,%xmm0,%xmm0
+  .byte  102,73,15,126,192                   // movq          %xmm0,%r8
+  .byte  69,137,195                          // mov           %r8d,%r11d
+  .byte  77,137,198                          // mov           %r8,%r14
+  .byte  73,193,238,32                       // shr           $0x20,%r14
+  .byte  72,139,24                           // mov           (%rax),%rbx
+  .byte  76,139,64,8                         // mov           0x8(%rax),%r8
+  .byte  70,15,182,28,27                     // movzbl        (%rbx,%r11,1),%r11d
+  .byte  66,15,182,44,51                     // movzbl        (%rbx,%r14,1),%ebp
+  .byte  193,229,8                           // shl           $0x8,%ebp
+  .byte  68,9,221                            // or            %r11d,%ebp
+  .byte  70,15,182,12,11                     // movzbl        (%rbx,%r9,1),%r9d
+  .byte  66,15,182,28,19                     // movzbl        (%rbx,%r10,1),%ebx
+  .byte  193,227,8                           // shl           $0x8,%ebx
+  .byte  68,9,203                            // or            %r9d,%ebx
+  .byte  102,15,110,195                      // movd          %ebx,%xmm0
+  .byte  102,15,196,197,1                    // pinsrw        $0x1,%ebp,%xmm0
+  .byte  102,65,15,96,192                    // punpcklbw     %xmm8,%xmm0
+  .byte  102,65,15,97,192                    // punpcklwd     %xmm8,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  68,15,40,29,76,80,1,0               // movaps        0x1504c(%rip),%xmm11        # 3d120 <_sk_srcover_bgra_8888_sse2_lowp+0xed4>
+  .byte  65,15,89,195                        // mulps         %xmm11,%xmm0
+  .byte  69,15,87,228                        // xorps         %xmm12,%xmm12
+  .byte  68,15,95,225                        // maxps         %xmm1,%xmm12
+  .byte  69,15,93,226                        // minps         %xmm10,%xmm12
+  .byte  69,15,89,225                        // mulps         %xmm9,%xmm12
+  .byte  102,65,15,91,204                    // cvtps2dq      %xmm12,%xmm1
+  .byte  102,72,15,126,205                   // movq          %xmm1,%rbp
+  .byte  65,137,233                          // mov           %ebp,%r9d
+  .byte  72,193,237,32                       // shr           $0x20,%rbp
+  .byte  102,15,112,201,78                   // pshufd        $0x4e,%xmm1,%xmm1
+  .byte  102,72,15,126,203                   // movq          %xmm1,%rbx
+  .byte  65,137,218                          // mov           %ebx,%r10d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  71,15,182,20,16                     // movzbl        (%r8,%r10,1),%r10d
+  .byte  65,15,182,28,24                     // movzbl        (%r8,%rbx,1),%ebx
+  .byte  193,227,8                           // shl           $0x8,%ebx
+  .byte  68,9,211                            // or            %r10d,%ebx
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  65,15,182,44,40                     // movzbl        (%r8,%rbp,1),%ebp
+  .byte  193,229,8                           // shl           $0x8,%ebp
+  .byte  68,9,205                            // or            %r9d,%ebp
+  .byte  102,15,110,205                      // movd          %ebp,%xmm1
+  .byte  102,15,196,203,1                    // pinsrw        $0x1,%ebx,%xmm1
+  .byte  102,65,15,96,200                    // punpcklbw     %xmm8,%xmm1
+  .byte  102,65,15,97,200                    // punpcklwd     %xmm8,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  65,15,89,203                        // mulps         %xmm11,%xmm1
+  .byte  72,139,64,16                        // mov           0x10(%rax),%rax
+  .byte  69,15,87,228                        // xorps         %xmm12,%xmm12
+  .byte  68,15,95,226                        // maxps         %xmm2,%xmm12
+  .byte  69,15,93,226                        // minps         %xmm10,%xmm12
+  .byte  69,15,89,225                        // mulps         %xmm9,%xmm12
+  .byte  102,65,15,91,212                    // cvtps2dq      %xmm12,%xmm2
+  .byte  102,72,15,126,213                   // movq          %xmm2,%rbp
+  .byte  65,137,232                          // mov           %ebp,%r8d
+  .byte  72,193,237,32                       // shr           $0x20,%rbp
+  .byte  102,15,112,210,78                   // pshufd        $0x4e,%xmm2,%xmm2
+  .byte  102,72,15,126,211                   // movq          %xmm2,%rbx
+  .byte  65,137,217                          // mov           %ebx,%r9d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  70,15,182,12,8                      // movzbl        (%rax,%r9,1),%r9d
+  .byte  15,182,28,24                        // movzbl        (%rax,%rbx,1),%ebx
+  .byte  193,227,8                           // shl           $0x8,%ebx
+  .byte  68,9,203                            // or            %r9d,%ebx
+  .byte  70,15,182,4,0                       // movzbl        (%rax,%r8,1),%r8d
+  .byte  15,182,4,40                         // movzbl        (%rax,%rbp,1),%eax
+  .byte  193,224,8                           // shl           $0x8,%eax
+  .byte  68,9,192                            // or            %r8d,%eax
+  .byte  102,15,110,208                      // movd          %eax,%xmm2
+  .byte  102,15,196,211,1                    // pinsrw        $0x1,%ebx,%xmm2
+  .byte  102,65,15,96,208                    // punpcklbw     %xmm8,%xmm2
+  .byte  102,65,15,97,208                    // punpcklwd     %xmm8,%xmm2
+  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
+  .byte  65,15,89,211                        // mulps         %xmm11,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  91                                  // pop           %rbx
+  .byte  65,94                               // pop           %r14
+  .byte  93                                  // pop           %rbp
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_table_r_sse2
+.globl _sk_table_r_sse2
+FUNCTION(_sk_table_r_sse2)
+_sk_table_r_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  139,64,8                            // mov           0x8(%rax),%eax
+  .byte  255,200                             // dec           %eax
+  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
+  .byte  102,69,15,112,192,0                 // pshufd        $0x0,%xmm8,%xmm8
+  .byte  69,15,91,192                        // cvtdq2ps      %xmm8,%xmm8
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,95,200                        // maxps         %xmm0,%xmm9
+  .byte  68,15,93,13,45,77,1,0               // minps         0x14d2d(%rip),%xmm9        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
+  .byte  102,69,15,91,193                    // cvtps2dq      %xmm9,%xmm8
+  .byte  102,65,15,112,192,78                // pshufd        $0x4e,%xmm8,%xmm0
+  .byte  102,72,15,126,192                   // movq          %xmm0,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  102,77,15,126,194                   // movq          %xmm8,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  243,71,15,16,4,144                  // movss         (%r8,%r10,4),%xmm8
+  .byte  243,67,15,16,4,152                  // movss         (%r8,%r11,4),%xmm0
+  .byte  65,15,20,192                        // unpcklps      %xmm8,%xmm0
+  .byte  243,69,15,16,4,128                  // movss         (%r8,%rax,4),%xmm8
+  .byte  243,71,15,16,12,136                 // movss         (%r8,%r9,4),%xmm9
+  .byte  69,15,20,200                        // unpcklps      %xmm8,%xmm9
+  .byte  102,65,15,20,193                    // unpcklpd      %xmm9,%xmm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_table_g_sse2
+.globl _sk_table_g_sse2
+FUNCTION(_sk_table_g_sse2)
+_sk_table_g_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  139,64,8                            // mov           0x8(%rax),%eax
+  .byte  255,200                             // dec           %eax
+  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
+  .byte  102,69,15,112,192,0                 // pshufd        $0x0,%xmm8,%xmm8
+  .byte  69,15,91,192                        // cvtdq2ps      %xmm8,%xmm8
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,95,201                        // maxps         %xmm1,%xmm9
+  .byte  68,15,93,13,180,76,1,0              // minps         0x14cb4(%rip),%xmm9        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
+  .byte  102,69,15,91,193                    // cvtps2dq      %xmm9,%xmm8
+  .byte  102,65,15,112,200,78                // pshufd        $0x4e,%xmm8,%xmm1
+  .byte  102,72,15,126,200                   // movq          %xmm1,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  102,77,15,126,194                   // movq          %xmm8,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  243,71,15,16,4,144                  // movss         (%r8,%r10,4),%xmm8
+  .byte  243,67,15,16,12,152                 // movss         (%r8,%r11,4),%xmm1
+  .byte  65,15,20,200                        // unpcklps      %xmm8,%xmm1
+  .byte  243,69,15,16,4,128                  // movss         (%r8,%rax,4),%xmm8
+  .byte  243,71,15,16,12,136                 // movss         (%r8,%r9,4),%xmm9
+  .byte  69,15,20,200                        // unpcklps      %xmm8,%xmm9
+  .byte  102,65,15,20,201                    // unpcklpd      %xmm9,%xmm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_table_b_sse2
+.globl _sk_table_b_sse2
+FUNCTION(_sk_table_b_sse2)
+_sk_table_b_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  139,64,8                            // mov           0x8(%rax),%eax
+  .byte  255,200                             // dec           %eax
+  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
+  .byte  102,69,15,112,192,0                 // pshufd        $0x0,%xmm8,%xmm8
+  .byte  69,15,91,192                        // cvtdq2ps      %xmm8,%xmm8
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,95,202                        // maxps         %xmm2,%xmm9
+  .byte  68,15,93,13,59,76,1,0               // minps         0x14c3b(%rip),%xmm9        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
+  .byte  102,69,15,91,193                    // cvtps2dq      %xmm9,%xmm8
+  .byte  102,65,15,112,208,78                // pshufd        $0x4e,%xmm8,%xmm2
+  .byte  102,72,15,126,208                   // movq          %xmm2,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  102,77,15,126,194                   // movq          %xmm8,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  243,71,15,16,4,144                  // movss         (%r8,%r10,4),%xmm8
+  .byte  243,67,15,16,20,152                 // movss         (%r8,%r11,4),%xmm2
+  .byte  65,15,20,208                        // unpcklps      %xmm8,%xmm2
+  .byte  243,69,15,16,4,128                  // movss         (%r8,%rax,4),%xmm8
+  .byte  243,71,15,16,12,136                 // movss         (%r8,%r9,4),%xmm9
+  .byte  69,15,20,200                        // unpcklps      %xmm8,%xmm9
+  .byte  102,65,15,20,209                    // unpcklpd      %xmm9,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_table_a_sse2
+.globl _sk_table_a_sse2
+FUNCTION(_sk_table_a_sse2)
+_sk_table_a_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  139,64,8                            // mov           0x8(%rax),%eax
+  .byte  255,200                             // dec           %eax
+  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
+  .byte  102,69,15,112,192,0                 // pshufd        $0x0,%xmm8,%xmm8
+  .byte  69,15,91,192                        // cvtdq2ps      %xmm8,%xmm8
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,95,203                        // maxps         %xmm3,%xmm9
+  .byte  68,15,93,13,194,75,1,0              // minps         0x14bc2(%rip),%xmm9        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
+  .byte  102,69,15,91,193                    // cvtps2dq      %xmm9,%xmm8
+  .byte  102,65,15,112,216,78                // pshufd        $0x4e,%xmm8,%xmm3
+  .byte  102,72,15,126,216                   // movq          %xmm3,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  102,77,15,126,194                   // movq          %xmm8,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  243,71,15,16,4,144                  // movss         (%r8,%r10,4),%xmm8
+  .byte  243,67,15,16,28,152                 // movss         (%r8,%r11,4),%xmm3
+  .byte  65,15,20,216                        // unpcklps      %xmm8,%xmm3
+  .byte  243,69,15,16,4,128                  // movss         (%r8,%rax,4),%xmm8
+  .byte  243,71,15,16,12,136                 // movss         (%r8,%r9,4),%xmm9
+  .byte  69,15,20,200                        // unpcklps      %xmm8,%xmm9
+  .byte  102,65,15,20,217                    // unpcklpd      %xmm9,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_parametric_r_sse2
+.globl _sk_parametric_r_sse2
+FUNCTION(_sk_parametric_r_sse2)
+_sk_parametric_r_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,80,16                  // movss         0x10(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  243,68,15,16,64,12                  // movss         0xc(%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  68,15,89,192                        // mulps         %xmm0,%xmm8
+  .byte  243,68,15,16,72,4                   // movss         0x4(%rax),%xmm9
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  68,15,89,200                        // mulps         %xmm0,%xmm9
+  .byte  65,15,194,194,2                     // cmpleps       %xmm10,%xmm0
+  .byte  243,68,15,16,80,24                  // movss         0x18(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  69,15,88,194                        // addps         %xmm10,%xmm8
+  .byte  243,68,15,16,32                     // movss         (%rax),%xmm12
+  .byte  243,68,15,16,80,8                   // movss         0x8(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  69,15,88,202                        // addps         %xmm10,%xmm9
+  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
+  .byte  69,15,87,210                        // xorps         %xmm10,%xmm10
+  .byte  69,15,91,217                        // cvtdq2ps      %xmm9,%xmm11
+  .byte  68,15,89,29,186,77,1,0              // mulps         0x14dba(%rip),%xmm11        # 3d1c0 <_sk_srcover_bgra_8888_sse2_lowp+0xf74>
+  .byte  68,15,40,45,194,77,1,0              // movaps        0x14dc2(%rip),%xmm13        # 3d1d0 <_sk_srcover_bgra_8888_sse2_lowp+0xf84>
+  .byte  69,15,84,233                        // andps         %xmm9,%xmm13
+  .byte  68,15,86,45,230,74,1,0              // orps          0x14ae6(%rip),%xmm13        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  68,15,88,29,190,77,1,0              // addps         0x14dbe(%rip),%xmm11        # 3d1e0 <_sk_srcover_bgra_8888_sse2_lowp+0xf94>
+  .byte  68,15,40,53,198,77,1,0              // movaps        0x14dc6(%rip),%xmm14        # 3d1f0 <_sk_srcover_bgra_8888_sse2_lowp+0xfa4>
+  .byte  69,15,89,245                        // mulps         %xmm13,%xmm14
+  .byte  69,15,92,222                        // subps         %xmm14,%xmm11
+  .byte  68,15,88,45,198,77,1,0              // addps         0x14dc6(%rip),%xmm13        # 3d200 <_sk_srcover_bgra_8888_sse2_lowp+0xfb4>
+  .byte  68,15,40,53,206,77,1,0              // movaps        0x14dce(%rip),%xmm14        # 3d210 <_sk_srcover_bgra_8888_sse2_lowp+0xfc4>
+  .byte  69,15,94,245                        // divps         %xmm13,%xmm14
+  .byte  69,15,92,222                        // subps         %xmm14,%xmm11
+  .byte  69,15,89,220                        // mulps         %xmm12,%xmm11
+  .byte  243,69,15,91,227                    // cvttps2dq     %xmm11,%xmm12
+  .byte  69,15,91,236                        // cvtdq2ps      %xmm12,%xmm13
+  .byte  69,15,40,243                        // movaps        %xmm11,%xmm14
+  .byte  69,15,194,245,1                     // cmpltps       %xmm13,%xmm14
+  .byte  68,15,40,37,168,74,1,0              // movaps        0x14aa8(%rip),%xmm12        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,84,244                        // andps         %xmm12,%xmm14
+  .byte  69,15,92,238                        // subps         %xmm14,%xmm13
+  .byte  69,15,40,243                        // movaps        %xmm11,%xmm14
+  .byte  69,15,92,245                        // subps         %xmm13,%xmm14
+  .byte  68,15,88,29,160,77,1,0              // addps         0x14da0(%rip),%xmm11        # 3d220 <_sk_srcover_bgra_8888_sse2_lowp+0xfd4>
+  .byte  68,15,40,45,168,77,1,0              // movaps        0x14da8(%rip),%xmm13        # 3d230 <_sk_srcover_bgra_8888_sse2_lowp+0xfe4>
+  .byte  69,15,89,238                        // mulps         %xmm14,%xmm13
+  .byte  69,15,92,221                        // subps         %xmm13,%xmm11
+  .byte  68,15,40,45,168,77,1,0              // movaps        0x14da8(%rip),%xmm13        # 3d240 <_sk_srcover_bgra_8888_sse2_lowp+0xff4>
+  .byte  69,15,92,238                        // subps         %xmm14,%xmm13
+  .byte  68,15,40,53,172,77,1,0              // movaps        0x14dac(%rip),%xmm14        # 3d250 <_sk_srcover_bgra_8888_sse2_lowp+0x1004>
+  .byte  69,15,94,245                        // divps         %xmm13,%xmm14
+  .byte  69,15,88,243                        // addps         %xmm11,%xmm14
+  .byte  68,15,89,53,172,77,1,0              // mulps         0x14dac(%rip),%xmm14        # 3d260 <_sk_srcover_bgra_8888_sse2_lowp+0x1014>
+  .byte  102,69,15,91,222                    // cvtps2dq      %xmm14,%xmm11
+  .byte  69,15,194,202,4                     // cmpneqps      %xmm10,%xmm9
+  .byte  69,15,84,203                        // andps         %xmm11,%xmm9
+  .byte  243,68,15,16,88,20                  // movss         0x14(%rax),%xmm11
+  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
+  .byte  69,15,88,217                        // addps         %xmm9,%xmm11
+  .byte  68,15,84,192                        // andps         %xmm0,%xmm8
+  .byte  65,15,85,195                        // andnps        %xmm11,%xmm0
+  .byte  65,15,86,192                        // orps          %xmm8,%xmm0
+  .byte  65,15,95,194                        // maxps         %xmm10,%xmm0
+  .byte  65,15,93,196                        // minps         %xmm12,%xmm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_parametric_g_sse2
+.globl _sk_parametric_g_sse2
+FUNCTION(_sk_parametric_g_sse2)
+_sk_parametric_g_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,80,16                  // movss         0x10(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  243,68,15,16,64,12                  // movss         0xc(%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  68,15,89,193                        // mulps         %xmm1,%xmm8
+  .byte  243,68,15,16,72,4                   // movss         0x4(%rax),%xmm9
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  68,15,89,201                        // mulps         %xmm1,%xmm9
+  .byte  65,15,194,202,2                     // cmpleps       %xmm10,%xmm1
+  .byte  243,68,15,16,80,24                  // movss         0x18(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  69,15,88,194                        // addps         %xmm10,%xmm8
+  .byte  243,68,15,16,32                     // movss         (%rax),%xmm12
+  .byte  243,68,15,16,80,8                   // movss         0x8(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  69,15,88,202                        // addps         %xmm10,%xmm9
+  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
+  .byte  69,15,87,210                        // xorps         %xmm10,%xmm10
+  .byte  69,15,91,217                        // cvtdq2ps      %xmm9,%xmm11
+  .byte  68,15,89,29,111,76,1,0              // mulps         0x14c6f(%rip),%xmm11        # 3d1c0 <_sk_srcover_bgra_8888_sse2_lowp+0xf74>
+  .byte  68,15,40,45,119,76,1,0              // movaps        0x14c77(%rip),%xmm13        # 3d1d0 <_sk_srcover_bgra_8888_sse2_lowp+0xf84>
+  .byte  69,15,84,233                        // andps         %xmm9,%xmm13
+  .byte  68,15,86,45,155,73,1,0              // orps          0x1499b(%rip),%xmm13        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  68,15,88,29,115,76,1,0              // addps         0x14c73(%rip),%xmm11        # 3d1e0 <_sk_srcover_bgra_8888_sse2_lowp+0xf94>
+  .byte  68,15,40,53,123,76,1,0              // movaps        0x14c7b(%rip),%xmm14        # 3d1f0 <_sk_srcover_bgra_8888_sse2_lowp+0xfa4>
+  .byte  69,15,89,245                        // mulps         %xmm13,%xmm14
+  .byte  69,15,92,222                        // subps         %xmm14,%xmm11
+  .byte  68,15,88,45,123,76,1,0              // addps         0x14c7b(%rip),%xmm13        # 3d200 <_sk_srcover_bgra_8888_sse2_lowp+0xfb4>
+  .byte  68,15,40,53,131,76,1,0              // movaps        0x14c83(%rip),%xmm14        # 3d210 <_sk_srcover_bgra_8888_sse2_lowp+0xfc4>
+  .byte  69,15,94,245                        // divps         %xmm13,%xmm14
+  .byte  69,15,92,222                        // subps         %xmm14,%xmm11
+  .byte  69,15,89,220                        // mulps         %xmm12,%xmm11
+  .byte  243,69,15,91,227                    // cvttps2dq     %xmm11,%xmm12
+  .byte  69,15,91,236                        // cvtdq2ps      %xmm12,%xmm13
+  .byte  69,15,40,243                        // movaps        %xmm11,%xmm14
+  .byte  69,15,194,245,1                     // cmpltps       %xmm13,%xmm14
+  .byte  68,15,40,37,93,73,1,0               // movaps        0x1495d(%rip),%xmm12        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,84,244                        // andps         %xmm12,%xmm14
+  .byte  69,15,92,238                        // subps         %xmm14,%xmm13
+  .byte  69,15,40,243                        // movaps        %xmm11,%xmm14
+  .byte  69,15,92,245                        // subps         %xmm13,%xmm14
+  .byte  68,15,88,29,85,76,1,0               // addps         0x14c55(%rip),%xmm11        # 3d220 <_sk_srcover_bgra_8888_sse2_lowp+0xfd4>
+  .byte  68,15,40,45,93,76,1,0               // movaps        0x14c5d(%rip),%xmm13        # 3d230 <_sk_srcover_bgra_8888_sse2_lowp+0xfe4>
+  .byte  69,15,89,238                        // mulps         %xmm14,%xmm13
+  .byte  69,15,92,221                        // subps         %xmm13,%xmm11
+  .byte  68,15,40,45,93,76,1,0               // movaps        0x14c5d(%rip),%xmm13        # 3d240 <_sk_srcover_bgra_8888_sse2_lowp+0xff4>
+  .byte  69,15,92,238                        // subps         %xmm14,%xmm13
+  .byte  68,15,40,53,97,76,1,0               // movaps        0x14c61(%rip),%xmm14        # 3d250 <_sk_srcover_bgra_8888_sse2_lowp+0x1004>
+  .byte  69,15,94,245                        // divps         %xmm13,%xmm14
+  .byte  69,15,88,243                        // addps         %xmm11,%xmm14
+  .byte  68,15,89,53,97,76,1,0               // mulps         0x14c61(%rip),%xmm14        # 3d260 <_sk_srcover_bgra_8888_sse2_lowp+0x1014>
+  .byte  102,69,15,91,222                    // cvtps2dq      %xmm14,%xmm11
+  .byte  69,15,194,202,4                     // cmpneqps      %xmm10,%xmm9
+  .byte  69,15,84,203                        // andps         %xmm11,%xmm9
+  .byte  243,68,15,16,88,20                  // movss         0x14(%rax),%xmm11
+  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
+  .byte  69,15,88,217                        // addps         %xmm9,%xmm11
+  .byte  68,15,84,193                        // andps         %xmm1,%xmm8
+  .byte  65,15,85,203                        // andnps        %xmm11,%xmm1
+  .byte  65,15,86,200                        // orps          %xmm8,%xmm1
+  .byte  65,15,95,202                        // maxps         %xmm10,%xmm1
+  .byte  65,15,93,204                        // minps         %xmm12,%xmm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_parametric_b_sse2
+.globl _sk_parametric_b_sse2
+FUNCTION(_sk_parametric_b_sse2)
+_sk_parametric_b_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,80,16                  // movss         0x10(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  243,68,15,16,64,12                  // movss         0xc(%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  68,15,89,194                        // mulps         %xmm2,%xmm8
+  .byte  243,68,15,16,72,4                   // movss         0x4(%rax),%xmm9
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  68,15,89,202                        // mulps         %xmm2,%xmm9
+  .byte  65,15,194,210,2                     // cmpleps       %xmm10,%xmm2
+  .byte  243,68,15,16,80,24                  // movss         0x18(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  69,15,88,194                        // addps         %xmm10,%xmm8
+  .byte  243,68,15,16,32                     // movss         (%rax),%xmm12
+  .byte  243,68,15,16,80,8                   // movss         0x8(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  69,15,88,202                        // addps         %xmm10,%xmm9
+  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
+  .byte  69,15,87,210                        // xorps         %xmm10,%xmm10
+  .byte  69,15,91,217                        // cvtdq2ps      %xmm9,%xmm11
+  .byte  68,15,89,29,36,75,1,0               // mulps         0x14b24(%rip),%xmm11        # 3d1c0 <_sk_srcover_bgra_8888_sse2_lowp+0xf74>
+  .byte  68,15,40,45,44,75,1,0               // movaps        0x14b2c(%rip),%xmm13        # 3d1d0 <_sk_srcover_bgra_8888_sse2_lowp+0xf84>
+  .byte  69,15,84,233                        // andps         %xmm9,%xmm13
+  .byte  68,15,86,45,80,72,1,0               // orps          0x14850(%rip),%xmm13        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  68,15,88,29,40,75,1,0               // addps         0x14b28(%rip),%xmm11        # 3d1e0 <_sk_srcover_bgra_8888_sse2_lowp+0xf94>
+  .byte  68,15,40,53,48,75,1,0               // movaps        0x14b30(%rip),%xmm14        # 3d1f0 <_sk_srcover_bgra_8888_sse2_lowp+0xfa4>
+  .byte  69,15,89,245                        // mulps         %xmm13,%xmm14
+  .byte  69,15,92,222                        // subps         %xmm14,%xmm11
+  .byte  68,15,88,45,48,75,1,0               // addps         0x14b30(%rip),%xmm13        # 3d200 <_sk_srcover_bgra_8888_sse2_lowp+0xfb4>
+  .byte  68,15,40,53,56,75,1,0               // movaps        0x14b38(%rip),%xmm14        # 3d210 <_sk_srcover_bgra_8888_sse2_lowp+0xfc4>
+  .byte  69,15,94,245                        // divps         %xmm13,%xmm14
+  .byte  69,15,92,222                        // subps         %xmm14,%xmm11
+  .byte  69,15,89,220                        // mulps         %xmm12,%xmm11
+  .byte  243,69,15,91,227                    // cvttps2dq     %xmm11,%xmm12
+  .byte  69,15,91,236                        // cvtdq2ps      %xmm12,%xmm13
+  .byte  69,15,40,243                        // movaps        %xmm11,%xmm14
+  .byte  69,15,194,245,1                     // cmpltps       %xmm13,%xmm14
+  .byte  68,15,40,37,18,72,1,0               // movaps        0x14812(%rip),%xmm12        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,84,244                        // andps         %xmm12,%xmm14
+  .byte  69,15,92,238                        // subps         %xmm14,%xmm13
+  .byte  69,15,40,243                        // movaps        %xmm11,%xmm14
+  .byte  69,15,92,245                        // subps         %xmm13,%xmm14
+  .byte  68,15,88,29,10,75,1,0               // addps         0x14b0a(%rip),%xmm11        # 3d220 <_sk_srcover_bgra_8888_sse2_lowp+0xfd4>
+  .byte  68,15,40,45,18,75,1,0               // movaps        0x14b12(%rip),%xmm13        # 3d230 <_sk_srcover_bgra_8888_sse2_lowp+0xfe4>
+  .byte  69,15,89,238                        // mulps         %xmm14,%xmm13
+  .byte  69,15,92,221                        // subps         %xmm13,%xmm11
+  .byte  68,15,40,45,18,75,1,0               // movaps        0x14b12(%rip),%xmm13        # 3d240 <_sk_srcover_bgra_8888_sse2_lowp+0xff4>
+  .byte  69,15,92,238                        // subps         %xmm14,%xmm13
+  .byte  68,15,40,53,22,75,1,0               // movaps        0x14b16(%rip),%xmm14        # 3d250 <_sk_srcover_bgra_8888_sse2_lowp+0x1004>
+  .byte  69,15,94,245                        // divps         %xmm13,%xmm14
+  .byte  69,15,88,243                        // addps         %xmm11,%xmm14
+  .byte  68,15,89,53,22,75,1,0               // mulps         0x14b16(%rip),%xmm14        # 3d260 <_sk_srcover_bgra_8888_sse2_lowp+0x1014>
+  .byte  102,69,15,91,222                    // cvtps2dq      %xmm14,%xmm11
+  .byte  69,15,194,202,4                     // cmpneqps      %xmm10,%xmm9
+  .byte  69,15,84,203                        // andps         %xmm11,%xmm9
+  .byte  243,68,15,16,88,20                  // movss         0x14(%rax),%xmm11
+  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
+  .byte  69,15,88,217                        // addps         %xmm9,%xmm11
+  .byte  68,15,84,194                        // andps         %xmm2,%xmm8
+  .byte  65,15,85,211                        // andnps        %xmm11,%xmm2
+  .byte  65,15,86,208                        // orps          %xmm8,%xmm2
+  .byte  65,15,95,210                        // maxps         %xmm10,%xmm2
+  .byte  65,15,93,212                        // minps         %xmm12,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_parametric_a_sse2
+.globl _sk_parametric_a_sse2
+FUNCTION(_sk_parametric_a_sse2)
+_sk_parametric_a_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,80,16                  // movss         0x10(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  243,68,15,16,64,12                  // movss         0xc(%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  68,15,89,195                        // mulps         %xmm3,%xmm8
+  .byte  243,68,15,16,72,4                   // movss         0x4(%rax),%xmm9
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  68,15,89,203                        // mulps         %xmm3,%xmm9
+  .byte  65,15,194,218,2                     // cmpleps       %xmm10,%xmm3
+  .byte  243,68,15,16,80,24                  // movss         0x18(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  69,15,88,194                        // addps         %xmm10,%xmm8
+  .byte  243,68,15,16,32                     // movss         (%rax),%xmm12
+  .byte  243,68,15,16,80,8                   // movss         0x8(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  69,15,88,202                        // addps         %xmm10,%xmm9
+  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
+  .byte  69,15,87,210                        // xorps         %xmm10,%xmm10
+  .byte  69,15,91,217                        // cvtdq2ps      %xmm9,%xmm11
+  .byte  68,15,89,29,217,73,1,0              // mulps         0x149d9(%rip),%xmm11        # 3d1c0 <_sk_srcover_bgra_8888_sse2_lowp+0xf74>
+  .byte  68,15,40,45,225,73,1,0              // movaps        0x149e1(%rip),%xmm13        # 3d1d0 <_sk_srcover_bgra_8888_sse2_lowp+0xf84>
+  .byte  69,15,84,233                        // andps         %xmm9,%xmm13
+  .byte  68,15,86,45,5,71,1,0                // orps          0x14705(%rip),%xmm13        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  68,15,88,29,221,73,1,0              // addps         0x149dd(%rip),%xmm11        # 3d1e0 <_sk_srcover_bgra_8888_sse2_lowp+0xf94>
+  .byte  68,15,40,53,229,73,1,0              // movaps        0x149e5(%rip),%xmm14        # 3d1f0 <_sk_srcover_bgra_8888_sse2_lowp+0xfa4>
+  .byte  69,15,89,245                        // mulps         %xmm13,%xmm14
+  .byte  69,15,92,222                        // subps         %xmm14,%xmm11
+  .byte  68,15,88,45,229,73,1,0              // addps         0x149e5(%rip),%xmm13        # 3d200 <_sk_srcover_bgra_8888_sse2_lowp+0xfb4>
+  .byte  68,15,40,53,237,73,1,0              // movaps        0x149ed(%rip),%xmm14        # 3d210 <_sk_srcover_bgra_8888_sse2_lowp+0xfc4>
+  .byte  69,15,94,245                        // divps         %xmm13,%xmm14
+  .byte  69,15,92,222                        // subps         %xmm14,%xmm11
+  .byte  69,15,89,220                        // mulps         %xmm12,%xmm11
+  .byte  243,69,15,91,227                    // cvttps2dq     %xmm11,%xmm12
+  .byte  69,15,91,236                        // cvtdq2ps      %xmm12,%xmm13
+  .byte  69,15,40,243                        // movaps        %xmm11,%xmm14
+  .byte  69,15,194,245,1                     // cmpltps       %xmm13,%xmm14
+  .byte  68,15,40,37,199,70,1,0              // movaps        0x146c7(%rip),%xmm12        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,84,244                        // andps         %xmm12,%xmm14
+  .byte  69,15,92,238                        // subps         %xmm14,%xmm13
+  .byte  69,15,40,243                        // movaps        %xmm11,%xmm14
+  .byte  69,15,92,245                        // subps         %xmm13,%xmm14
+  .byte  68,15,88,29,191,73,1,0              // addps         0x149bf(%rip),%xmm11        # 3d220 <_sk_srcover_bgra_8888_sse2_lowp+0xfd4>
+  .byte  68,15,40,45,199,73,1,0              // movaps        0x149c7(%rip),%xmm13        # 3d230 <_sk_srcover_bgra_8888_sse2_lowp+0xfe4>
+  .byte  69,15,89,238                        // mulps         %xmm14,%xmm13
+  .byte  69,15,92,221                        // subps         %xmm13,%xmm11
+  .byte  68,15,40,45,199,73,1,0              // movaps        0x149c7(%rip),%xmm13        # 3d240 <_sk_srcover_bgra_8888_sse2_lowp+0xff4>
+  .byte  69,15,92,238                        // subps         %xmm14,%xmm13
+  .byte  68,15,40,53,203,73,1,0              // movaps        0x149cb(%rip),%xmm14        # 3d250 <_sk_srcover_bgra_8888_sse2_lowp+0x1004>
+  .byte  69,15,94,245                        // divps         %xmm13,%xmm14
+  .byte  69,15,88,243                        // addps         %xmm11,%xmm14
+  .byte  68,15,89,53,203,73,1,0              // mulps         0x149cb(%rip),%xmm14        # 3d260 <_sk_srcover_bgra_8888_sse2_lowp+0x1014>
+  .byte  102,69,15,91,222                    // cvtps2dq      %xmm14,%xmm11
+  .byte  69,15,194,202,4                     // cmpneqps      %xmm10,%xmm9
+  .byte  69,15,84,203                        // andps         %xmm11,%xmm9
+  .byte  243,68,15,16,88,20                  // movss         0x14(%rax),%xmm11
+  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
+  .byte  69,15,88,217                        // addps         %xmm9,%xmm11
+  .byte  68,15,84,195                        // andps         %xmm3,%xmm8
+  .byte  65,15,85,219                        // andnps        %xmm11,%xmm3
+  .byte  65,15,86,216                        // orps          %xmm8,%xmm3
+  .byte  65,15,95,218                        // maxps         %xmm10,%xmm3
+  .byte  65,15,93,220                        // minps         %xmm12,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_gamma_sse2
+.globl _sk_gamma_sse2
+FUNCTION(_sk_gamma_sse2)
+_sk_gamma_sse2:
+  .byte  15,41,124,36,232                    // movaps        %xmm7,-0x18(%rsp)
+  .byte  15,41,116,36,216                    // movaps        %xmm6,-0x28(%rsp)
+  .byte  15,41,108,36,200                    // movaps        %xmm5,-0x38(%rsp)
+  .byte  15,41,100,36,184                    // movaps        %xmm4,-0x48(%rsp)
+  .byte  15,41,92,36,168                     // movaps        %xmm3,-0x58(%rsp)
+  .byte  68,15,40,226                        // movaps        %xmm2,%xmm12
+  .byte  68,15,40,209                        // movaps        %xmm1,%xmm10
+  .byte  15,40,224                           // movaps        %xmm0,%xmm4
+  .byte  15,91,244                           // cvtdq2ps      %xmm4,%xmm6
+  .byte  15,40,5,200,72,1,0                  // movaps        0x148c8(%rip),%xmm0        # 3d1c0 <_sk_srcover_bgra_8888_sse2_lowp+0xf74>
+  .byte  15,89,240                           // mulps         %xmm0,%xmm6
+  .byte  15,40,232                           // movaps        %xmm0,%xmm5
+  .byte  68,15,40,5,202,72,1,0               // movaps        0x148ca(%rip),%xmm8        # 3d1d0 <_sk_srcover_bgra_8888_sse2_lowp+0xf84>
+  .byte  15,40,196                           // movaps        %xmm4,%xmm0
+  .byte  65,15,84,192                        // andps         %xmm8,%xmm0
+  .byte  15,86,5,236,69,1,0                  // orps          0x145ec(%rip),%xmm0        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  15,88,53,197,72,1,0                 // addps         0x148c5(%rip),%xmm6        # 3d1e0 <_sk_srcover_bgra_8888_sse2_lowp+0xf94>
+  .byte  68,15,40,29,205,72,1,0              // movaps        0x148cd(%rip),%xmm11        # 3d1f0 <_sk_srcover_bgra_8888_sse2_lowp+0xfa4>
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  65,15,89,203                        // mulps         %xmm11,%xmm1
+  .byte  15,92,241                           // subps         %xmm1,%xmm6
+  .byte  68,15,40,61,203,72,1,0              // movaps        0x148cb(%rip),%xmm15        # 3d200 <_sk_srcover_bgra_8888_sse2_lowp+0xfb4>
+  .byte  65,15,88,199                        // addps         %xmm15,%xmm0
+  .byte  68,15,40,45,207,72,1,0              // movaps        0x148cf(%rip),%xmm13        # 3d210 <_sk_srcover_bgra_8888_sse2_lowp+0xfc4>
+  .byte  65,15,40,205                        // movaps        %xmm13,%xmm1
+  .byte  15,94,200                           // divps         %xmm0,%xmm1
+  .byte  15,92,241                           // subps         %xmm1,%xmm6
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,15,16,24                        // movss         (%rax),%xmm3
+  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
+  .byte  15,89,243                           // mulps         %xmm3,%xmm6
+  .byte  243,15,91,198                       // cvttps2dq     %xmm6,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  15,40,206                           // movaps        %xmm6,%xmm1
+  .byte  15,194,200,1                        // cmpltps       %xmm0,%xmm1
+  .byte  15,84,13,163,69,1,0                 // andps         0x145a3(%rip),%xmm1        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  15,92,193                           // subps         %xmm1,%xmm0
+  .byte  15,40,206                           // movaps        %xmm6,%xmm1
+  .byte  15,92,200                           // subps         %xmm0,%xmm1
+  .byte  15,88,53,163,72,1,0                 // addps         0x148a3(%rip),%xmm6        # 3d220 <_sk_srcover_bgra_8888_sse2_lowp+0xfd4>
+  .byte  15,40,21,188,72,1,0                 // movaps        0x148bc(%rip),%xmm2        # 3d240 <_sk_srcover_bgra_8888_sse2_lowp+0xff4>
+  .byte  68,15,40,202                        // movaps        %xmm2,%xmm9
+  .byte  68,15,92,201                        // subps         %xmm1,%xmm9
+  .byte  15,40,193                           // movaps        %xmm1,%xmm0
+  .byte  15,40,13,154,72,1,0                 // movaps        0x1489a(%rip),%xmm1        # 3d230 <_sk_srcover_bgra_8888_sse2_lowp+0xfe4>
+  .byte  15,89,193                           // mulps         %xmm1,%xmm0
+  .byte  15,92,240                           // subps         %xmm0,%xmm6
+  .byte  68,15,40,53,172,72,1,0              // movaps        0x148ac(%rip),%xmm14        # 3d250 <_sk_srcover_bgra_8888_sse2_lowp+0x1004>
+  .byte  65,15,40,198                        // movaps        %xmm14,%xmm0
+  .byte  65,15,94,193                        // divps         %xmm9,%xmm0
+  .byte  15,88,198                           // addps         %xmm6,%xmm0
+  .byte  68,15,40,13,169,72,1,0              // movaps        0x148a9(%rip),%xmm9        # 3d260 <_sk_srcover_bgra_8888_sse2_lowp+0x1014>
+  .byte  65,15,89,193                        // mulps         %xmm9,%xmm0
+  .byte  102,15,91,192                       // cvtps2dq      %xmm0,%xmm0
+  .byte  15,87,246                           // xorps         %xmm6,%xmm6
+  .byte  15,194,230,4                        // cmpneqps      %xmm6,%xmm4
+  .byte  15,84,224                           // andps         %xmm0,%xmm4
+  .byte  65,15,91,194                        // cvtdq2ps      %xmm10,%xmm0
+  .byte  15,89,197                           // mulps         %xmm5,%xmm0
+  .byte  65,15,40,250                        // movaps        %xmm10,%xmm7
+  .byte  65,15,84,248                        // andps         %xmm8,%xmm7
+  .byte  15,40,53,33,69,1,0                  // movaps        0x14521(%rip),%xmm6        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  15,86,254                           // orps          %xmm6,%xmm7
+  .byte  15,88,5,247,71,1,0                  // addps         0x147f7(%rip),%xmm0        # 3d1e0 <_sk_srcover_bgra_8888_sse2_lowp+0xf94>
+  .byte  15,40,239                           // movaps        %xmm7,%xmm5
+  .byte  65,15,89,235                        // mulps         %xmm11,%xmm5
+  .byte  15,92,197                           // subps         %xmm5,%xmm0
+  .byte  65,15,88,255                        // addps         %xmm15,%xmm7
+  .byte  65,15,40,237                        // movaps        %xmm13,%xmm5
+  .byte  15,94,239                           // divps         %xmm7,%xmm5
+  .byte  15,92,197                           // subps         %xmm5,%xmm0
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  243,15,91,232                       // cvttps2dq     %xmm0,%xmm5
+  .byte  15,91,237                           // cvtdq2ps      %xmm5,%xmm5
+  .byte  15,40,248                           // movaps        %xmm0,%xmm7
+  .byte  15,194,253,1                        // cmpltps       %xmm5,%xmm7
+  .byte  68,15,40,61,246,68,1,0              // movaps        0x144f6(%rip),%xmm15        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  65,15,84,255                        // andps         %xmm15,%xmm7
+  .byte  15,92,239                           // subps         %xmm7,%xmm5
+  .byte  15,40,248                           // movaps        %xmm0,%xmm7
+  .byte  15,92,253                           // subps         %xmm5,%xmm7
+  .byte  15,88,5,242,71,1,0                  // addps         0x147f2(%rip),%xmm0        # 3d220 <_sk_srcover_bgra_8888_sse2_lowp+0xfd4>
+  .byte  15,40,234                           // movaps        %xmm2,%xmm5
+  .byte  15,92,239                           // subps         %xmm7,%xmm5
+  .byte  15,89,249                           // mulps         %xmm1,%xmm7
+  .byte  15,92,199                           // subps         %xmm7,%xmm0
+  .byte  65,15,40,254                        // movaps        %xmm14,%xmm7
+  .byte  15,94,253                           // divps         %xmm5,%xmm7
+  .byte  15,88,248                           // addps         %xmm0,%xmm7
+  .byte  65,15,89,249                        // mulps         %xmm9,%xmm7
+  .byte  102,15,91,199                       // cvtps2dq      %xmm7,%xmm0
+  .byte  15,87,255                           // xorps         %xmm7,%xmm7
+  .byte  68,15,194,215,4                     // cmpneqps      %xmm7,%xmm10
+  .byte  68,15,84,208                        // andps         %xmm0,%xmm10
+  .byte  65,15,91,196                        // cvtdq2ps      %xmm12,%xmm0
+  .byte  15,89,5,93,71,1,0                   // mulps         0x1475d(%rip),%xmm0        # 3d1c0 <_sk_srcover_bgra_8888_sse2_lowp+0xf74>
+  .byte  69,15,84,196                        // andps         %xmm12,%xmm8
+  .byte  68,15,86,198                        // orps          %xmm6,%xmm8
+  .byte  15,88,5,110,71,1,0                  // addps         0x1476e(%rip),%xmm0        # 3d1e0 <_sk_srcover_bgra_8888_sse2_lowp+0xf94>
+  .byte  69,15,89,216                        // mulps         %xmm8,%xmm11
+  .byte  65,15,92,195                        // subps         %xmm11,%xmm0
+  .byte  68,15,88,5,126,71,1,0               // addps         0x1477e(%rip),%xmm8        # 3d200 <_sk_srcover_bgra_8888_sse2_lowp+0xfb4>
+  .byte  69,15,94,232                        // divps         %xmm8,%xmm13
+  .byte  65,15,92,197                        // subps         %xmm13,%xmm0
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  243,15,91,216                       // cvttps2dq     %xmm0,%xmm3
+  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
+  .byte  15,40,232                           // movaps        %xmm0,%xmm5
+  .byte  15,194,235,1                        // cmpltps       %xmm3,%xmm5
+  .byte  65,15,84,239                        // andps         %xmm15,%xmm5
+  .byte  15,92,221                           // subps         %xmm5,%xmm3
+  .byte  15,40,232                           // movaps        %xmm0,%xmm5
+  .byte  15,92,235                           // subps         %xmm3,%xmm5
+  .byte  15,88,5,113,71,1,0                  // addps         0x14771(%rip),%xmm0        # 3d220 <_sk_srcover_bgra_8888_sse2_lowp+0xfd4>
+  .byte  15,89,205                           // mulps         %xmm5,%xmm1
+  .byte  15,92,193                           // subps         %xmm1,%xmm0
+  .byte  15,92,213                           // subps         %xmm5,%xmm2
+  .byte  68,15,94,242                        // divps         %xmm2,%xmm14
+  .byte  68,15,88,240                        // addps         %xmm0,%xmm14
+  .byte  69,15,89,241                        // mulps         %xmm9,%xmm14
+  .byte  68,15,194,231,4                     // cmpneqps      %xmm7,%xmm12
+  .byte  102,65,15,91,198                    // cvtps2dq      %xmm14,%xmm0
+  .byte  68,15,84,224                        // andps         %xmm0,%xmm12
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,196                           // movaps        %xmm4,%xmm0
+  .byte  65,15,40,202                        // movaps        %xmm10,%xmm1
+  .byte  65,15,40,212                        // movaps        %xmm12,%xmm2
+  .byte  15,40,92,36,168                     // movaps        -0x58(%rsp),%xmm3
+  .byte  15,40,100,36,184                    // movaps        -0x48(%rsp),%xmm4
+  .byte  15,40,108,36,200                    // movaps        -0x38(%rsp),%xmm5
+  .byte  15,40,116,36,216                    // movaps        -0x28(%rsp),%xmm6
+  .byte  15,40,124,36,232                    // movaps        -0x18(%rsp),%xmm7
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_gamma_dst_sse2
+.globl _sk_gamma_dst_sse2
+FUNCTION(_sk_gamma_dst_sse2)
+_sk_gamma_dst_sse2:
+  .byte  15,41,124,36,232                    // movaps        %xmm7,-0x18(%rsp)
+  .byte  68,15,40,230                        // movaps        %xmm6,%xmm12
+  .byte  68,15,40,213                        // movaps        %xmm5,%xmm10
+  .byte  15,40,236                           // movaps        %xmm4,%xmm5
+  .byte  15,41,92,36,216                     // movaps        %xmm3,-0x28(%rsp)
+  .byte  15,41,84,36,200                     // movaps        %xmm2,-0x38(%rsp)
+  .byte  15,41,76,36,184                     // movaps        %xmm1,-0x48(%rsp)
+  .byte  15,41,68,36,168                     // movaps        %xmm0,-0x58(%rsp)
+  .byte  15,91,221                           // cvtdq2ps      %xmm5,%xmm3
+  .byte  15,40,5,152,70,1,0                  // movaps        0x14698(%rip),%xmm0        # 3d1c0 <_sk_srcover_bgra_8888_sse2_lowp+0xf74>
+  .byte  15,89,216                           // mulps         %xmm0,%xmm3
+  .byte  15,40,240                           // movaps        %xmm0,%xmm6
+  .byte  68,15,40,5,154,70,1,0               // movaps        0x1469a(%rip),%xmm8        # 3d1d0 <_sk_srcover_bgra_8888_sse2_lowp+0xf84>
+  .byte  15,40,197                           // movaps        %xmm5,%xmm0
+  .byte  65,15,84,192                        // andps         %xmm8,%xmm0
+  .byte  15,86,5,188,67,1,0                  // orps          0x143bc(%rip),%xmm0        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  15,88,29,149,70,1,0                 // addps         0x14695(%rip),%xmm3        # 3d1e0 <_sk_srcover_bgra_8888_sse2_lowp+0xf94>
+  .byte  68,15,40,29,157,70,1,0              // movaps        0x1469d(%rip),%xmm11        # 3d1f0 <_sk_srcover_bgra_8888_sse2_lowp+0xfa4>
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  65,15,89,203                        // mulps         %xmm11,%xmm1
+  .byte  15,92,217                           // subps         %xmm1,%xmm3
+  .byte  68,15,40,61,155,70,1,0              // movaps        0x1469b(%rip),%xmm15        # 3d200 <_sk_srcover_bgra_8888_sse2_lowp+0xfb4>
+  .byte  65,15,88,199                        // addps         %xmm15,%xmm0
+  .byte  68,15,40,45,159,70,1,0              // movaps        0x1469f(%rip),%xmm13        # 3d210 <_sk_srcover_bgra_8888_sse2_lowp+0xfc4>
+  .byte  65,15,40,205                        // movaps        %xmm13,%xmm1
+  .byte  15,94,200                           // divps         %xmm0,%xmm1
+  .byte  15,92,217                           // subps         %xmm1,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,15,16,32                        // movss         (%rax),%xmm4
+  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
+  .byte  15,89,220                           // mulps         %xmm4,%xmm3
+  .byte  243,15,91,195                       // cvttps2dq     %xmm3,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  15,40,203                           // movaps        %xmm3,%xmm1
+  .byte  15,194,200,1                        // cmpltps       %xmm0,%xmm1
+  .byte  15,84,13,115,67,1,0                 // andps         0x14373(%rip),%xmm1        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  15,92,193                           // subps         %xmm1,%xmm0
+  .byte  15,40,203                           // movaps        %xmm3,%xmm1
+  .byte  15,92,200                           // subps         %xmm0,%xmm1
+  .byte  15,88,29,115,70,1,0                 // addps         0x14673(%rip),%xmm3        # 3d220 <_sk_srcover_bgra_8888_sse2_lowp+0xfd4>
+  .byte  15,40,21,140,70,1,0                 // movaps        0x1468c(%rip),%xmm2        # 3d240 <_sk_srcover_bgra_8888_sse2_lowp+0xff4>
+  .byte  68,15,40,202                        // movaps        %xmm2,%xmm9
+  .byte  68,15,92,201                        // subps         %xmm1,%xmm9
+  .byte  15,40,193                           // movaps        %xmm1,%xmm0
+  .byte  15,40,13,106,70,1,0                 // movaps        0x1466a(%rip),%xmm1        # 3d230 <_sk_srcover_bgra_8888_sse2_lowp+0xfe4>
+  .byte  15,89,193                           // mulps         %xmm1,%xmm0
+  .byte  15,92,216                           // subps         %xmm0,%xmm3
+  .byte  68,15,40,53,124,70,1,0              // movaps        0x1467c(%rip),%xmm14        # 3d250 <_sk_srcover_bgra_8888_sse2_lowp+0x1004>
+  .byte  65,15,40,198                        // movaps        %xmm14,%xmm0
+  .byte  65,15,94,193                        // divps         %xmm9,%xmm0
+  .byte  15,88,195                           // addps         %xmm3,%xmm0
+  .byte  68,15,40,13,121,70,1,0              // movaps        0x14679(%rip),%xmm9        # 3d260 <_sk_srcover_bgra_8888_sse2_lowp+0x1014>
+  .byte  65,15,89,193                        // mulps         %xmm9,%xmm0
+  .byte  102,15,91,192                       // cvtps2dq      %xmm0,%xmm0
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  15,194,235,4                        // cmpneqps      %xmm3,%xmm5
+  .byte  15,84,232                           // andps         %xmm0,%xmm5
+  .byte  65,15,91,194                        // cvtdq2ps      %xmm10,%xmm0
+  .byte  15,89,198                           // mulps         %xmm6,%xmm0
+  .byte  65,15,40,250                        // movaps        %xmm10,%xmm7
+  .byte  65,15,84,248                        // andps         %xmm8,%xmm7
+  .byte  15,40,29,241,66,1,0                 // movaps        0x142f1(%rip),%xmm3        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  15,86,251                           // orps          %xmm3,%xmm7
+  .byte  15,88,5,199,69,1,0                  // addps         0x145c7(%rip),%xmm0        # 3d1e0 <_sk_srcover_bgra_8888_sse2_lowp+0xf94>
+  .byte  15,40,247                           // movaps        %xmm7,%xmm6
+  .byte  65,15,89,243                        // mulps         %xmm11,%xmm6
+  .byte  15,92,198                           // subps         %xmm6,%xmm0
+  .byte  65,15,88,255                        // addps         %xmm15,%xmm7
+  .byte  65,15,40,245                        // movaps        %xmm13,%xmm6
+  .byte  15,94,247                           // divps         %xmm7,%xmm6
+  .byte  15,92,198                           // subps         %xmm6,%xmm0
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  243,15,91,240                       // cvttps2dq     %xmm0,%xmm6
+  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
+  .byte  15,40,248                           // movaps        %xmm0,%xmm7
+  .byte  15,194,254,1                        // cmpltps       %xmm6,%xmm7
+  .byte  68,15,40,61,198,66,1,0              // movaps        0x142c6(%rip),%xmm15        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  65,15,84,255                        // andps         %xmm15,%xmm7
+  .byte  15,92,247                           // subps         %xmm7,%xmm6
+  .byte  15,40,248                           // movaps        %xmm0,%xmm7
+  .byte  15,92,254                           // subps         %xmm6,%xmm7
+  .byte  15,88,5,194,69,1,0                  // addps         0x145c2(%rip),%xmm0        # 3d220 <_sk_srcover_bgra_8888_sse2_lowp+0xfd4>
+  .byte  15,40,242                           // movaps        %xmm2,%xmm6
+  .byte  15,92,247                           // subps         %xmm7,%xmm6
+  .byte  15,89,249                           // mulps         %xmm1,%xmm7
+  .byte  15,92,199                           // subps         %xmm7,%xmm0
+  .byte  65,15,40,254                        // movaps        %xmm14,%xmm7
+  .byte  15,94,254                           // divps         %xmm6,%xmm7
+  .byte  15,88,248                           // addps         %xmm0,%xmm7
+  .byte  65,15,89,249                        // mulps         %xmm9,%xmm7
+  .byte  102,15,91,199                       // cvtps2dq      %xmm7,%xmm0
+  .byte  15,87,255                           // xorps         %xmm7,%xmm7
+  .byte  68,15,194,215,4                     // cmpneqps      %xmm7,%xmm10
+  .byte  68,15,84,208                        // andps         %xmm0,%xmm10
+  .byte  65,15,91,196                        // cvtdq2ps      %xmm12,%xmm0
+  .byte  15,89,5,45,69,1,0                   // mulps         0x1452d(%rip),%xmm0        # 3d1c0 <_sk_srcover_bgra_8888_sse2_lowp+0xf74>
+  .byte  69,15,84,196                        // andps         %xmm12,%xmm8
+  .byte  68,15,86,195                        // orps          %xmm3,%xmm8
+  .byte  15,88,5,62,69,1,0                   // addps         0x1453e(%rip),%xmm0        # 3d1e0 <_sk_srcover_bgra_8888_sse2_lowp+0xf94>
+  .byte  69,15,89,216                        // mulps         %xmm8,%xmm11
+  .byte  65,15,92,195                        // subps         %xmm11,%xmm0
+  .byte  68,15,88,5,78,69,1,0                // addps         0x1454e(%rip),%xmm8        # 3d200 <_sk_srcover_bgra_8888_sse2_lowp+0xfb4>
+  .byte  69,15,94,232                        // divps         %xmm8,%xmm13
+  .byte  65,15,92,197                        // subps         %xmm13,%xmm0
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  243,15,91,224                       // cvttps2dq     %xmm0,%xmm4
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  15,40,240                           // movaps        %xmm0,%xmm6
+  .byte  15,194,244,1                        // cmpltps       %xmm4,%xmm6
+  .byte  65,15,84,247                        // andps         %xmm15,%xmm6
+  .byte  15,92,230                           // subps         %xmm6,%xmm4
+  .byte  15,40,240                           // movaps        %xmm0,%xmm6
+  .byte  15,92,244                           // subps         %xmm4,%xmm6
+  .byte  15,88,5,65,69,1,0                   // addps         0x14541(%rip),%xmm0        # 3d220 <_sk_srcover_bgra_8888_sse2_lowp+0xfd4>
+  .byte  15,89,206                           // mulps         %xmm6,%xmm1
+  .byte  15,92,193                           // subps         %xmm1,%xmm0
+  .byte  15,92,214                           // subps         %xmm6,%xmm2
+  .byte  68,15,94,242                        // divps         %xmm2,%xmm14
+  .byte  68,15,88,240                        // addps         %xmm0,%xmm14
+  .byte  69,15,89,241                        // mulps         %xmm9,%xmm14
+  .byte  68,15,194,231,4                     // cmpneqps      %xmm7,%xmm12
+  .byte  102,65,15,91,198                    // cvtps2dq      %xmm14,%xmm0
+  .byte  68,15,84,224                        // andps         %xmm0,%xmm12
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,68,36,168                     // movaps        -0x58(%rsp),%xmm0
+  .byte  15,40,76,36,184                     // movaps        -0x48(%rsp),%xmm1
+  .byte  15,40,84,36,200                     // movaps        -0x38(%rsp),%xmm2
+  .byte  15,40,92,36,216                     // movaps        -0x28(%rsp),%xmm3
+  .byte  15,40,229                           // movaps        %xmm5,%xmm4
+  .byte  65,15,40,234                        // movaps        %xmm10,%xmm5
+  .byte  65,15,40,244                        // movaps        %xmm12,%xmm6
+  .byte  15,40,124,36,232                    // movaps        -0x18(%rsp),%xmm7
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_lab_to_xyz_sse2
+.globl _sk_lab_to_xyz_sse2
+FUNCTION(_sk_lab_to_xyz_sse2)
+_sk_lab_to_xyz_sse2:
+  .byte  15,89,5,63,69,1,0                   // mulps         0x1453f(%rip),%xmm0        # 3d270 <_sk_srcover_bgra_8888_sse2_lowp+0x1024>
+  .byte  68,15,40,5,183,66,1,0               // movaps        0x142b7(%rip),%xmm8        # 3cff0 <_sk_srcover_bgra_8888_sse2_lowp+0xda4>
+  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
+  .byte  68,15,40,13,59,69,1,0               // movaps        0x1453b(%rip),%xmm9        # 3d280 <_sk_srcover_bgra_8888_sse2_lowp+0x1034>
+  .byte  65,15,88,201                        // addps         %xmm9,%xmm1
+  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
+  .byte  65,15,88,209                        // addps         %xmm9,%xmm2
+  .byte  15,88,5,56,69,1,0                   // addps         0x14538(%rip),%xmm0        # 3d290 <_sk_srcover_bgra_8888_sse2_lowp+0x1044>
+  .byte  15,89,5,65,69,1,0                   // mulps         0x14541(%rip),%xmm0        # 3d2a0 <_sk_srcover_bgra_8888_sse2_lowp+0x1054>
+  .byte  15,89,13,74,69,1,0                  // mulps         0x1454a(%rip),%xmm1        # 3d2b0 <_sk_srcover_bgra_8888_sse2_lowp+0x1064>
+  .byte  15,88,200                           // addps         %xmm0,%xmm1
+  .byte  15,89,21,80,69,1,0                  // mulps         0x14550(%rip),%xmm2        # 3d2c0 <_sk_srcover_bgra_8888_sse2_lowp+0x1074>
+  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
+  .byte  68,15,92,202                        // subps         %xmm2,%xmm9
+  .byte  68,15,40,225                        // movaps        %xmm1,%xmm12
+  .byte  69,15,89,228                        // mulps         %xmm12,%xmm12
+  .byte  68,15,89,225                        // mulps         %xmm1,%xmm12
+  .byte  15,40,21,69,69,1,0                  // movaps        0x14545(%rip),%xmm2        # 3d2d0 <_sk_srcover_bgra_8888_sse2_lowp+0x1084>
+  .byte  68,15,40,194                        // movaps        %xmm2,%xmm8
+  .byte  69,15,194,196,1                     // cmpltps       %xmm12,%xmm8
+  .byte  68,15,40,21,68,69,1,0               // movaps        0x14544(%rip),%xmm10        # 3d2e0 <_sk_srcover_bgra_8888_sse2_lowp+0x1094>
+  .byte  65,15,88,202                        // addps         %xmm10,%xmm1
+  .byte  68,15,40,29,72,69,1,0               // movaps        0x14548(%rip),%xmm11        # 3d2f0 <_sk_srcover_bgra_8888_sse2_lowp+0x10a4>
+  .byte  65,15,89,203                        // mulps         %xmm11,%xmm1
+  .byte  69,15,84,224                        // andps         %xmm8,%xmm12
+  .byte  68,15,85,193                        // andnps        %xmm1,%xmm8
+  .byte  69,15,86,196                        // orps          %xmm12,%xmm8
+  .byte  68,15,40,224                        // movaps        %xmm0,%xmm12
+  .byte  69,15,89,228                        // mulps         %xmm12,%xmm12
+  .byte  68,15,89,224                        // mulps         %xmm0,%xmm12
+  .byte  15,40,202                           // movaps        %xmm2,%xmm1
+  .byte  65,15,194,204,1                     // cmpltps       %xmm12,%xmm1
+  .byte  65,15,88,194                        // addps         %xmm10,%xmm0
+  .byte  65,15,89,195                        // mulps         %xmm11,%xmm0
+  .byte  68,15,84,225                        // andps         %xmm1,%xmm12
+  .byte  15,85,200                           // andnps        %xmm0,%xmm1
+  .byte  65,15,86,204                        // orps          %xmm12,%xmm1
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  15,89,192                           // mulps         %xmm0,%xmm0
+  .byte  65,15,89,193                        // mulps         %xmm9,%xmm0
+  .byte  15,194,208,1                        // cmpltps       %xmm0,%xmm2
+  .byte  69,15,88,202                        // addps         %xmm10,%xmm9
+  .byte  69,15,89,203                        // mulps         %xmm11,%xmm9
+  .byte  15,84,194                           // andps         %xmm2,%xmm0
+  .byte  65,15,85,209                        // andnps        %xmm9,%xmm2
+  .byte  15,86,208                           // orps          %xmm0,%xmm2
+  .byte  68,15,89,5,248,68,1,0               // mulps         0x144f8(%rip),%xmm8        # 3d300 <_sk_srcover_bgra_8888_sse2_lowp+0x10b4>
+  .byte  15,89,21,1,69,1,0                   // mulps         0x14501(%rip),%xmm2        # 3d310 <_sk_srcover_bgra_8888_sse2_lowp+0x10c4>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_load_a8_sse2
+.globl _sk_load_a8_sse2
+FUNCTION(_sk_load_a8_sse2)
+_sk_load_a8_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,46                              // jne           28e57 <_sk_load_a8_sse2+0x40>
+  .byte  102,65,15,110,4,16                  // movd          (%r8,%rdx,1),%xmm0
+  .byte  102,15,96,192                       // punpcklbw     %xmm0,%xmm0
+  .byte  102,15,97,192                       // punpcklwd     %xmm0,%xmm0
+  .byte  102,15,219,5,129,65,1,0             // pand          0x14181(%rip),%xmm0        # 3cfc0 <_sk_srcover_bgra_8888_sse2_lowp+0xd74>
+  .byte  15,91,216                           // cvtdq2ps      %xmm0,%xmm3
+  .byte  15,89,29,215,66,1,0                 // mulps         0x142d7(%rip),%xmm3        # 3d120 <_sk_srcover_bgra_8888_sse2_lowp+0xed4>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  102,15,87,201                       // xorpd         %xmm1,%xmm1
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,50                              // je            28e91 <_sk_load_a8_sse2+0x7a>
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,19                              // je            28e7a <_sk_load_a8_sse2+0x63>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,204                             // jne           28e37 <_sk_load_a8_sse2+0x20>
+  .byte  65,15,182,68,16,2                   // movzbl        0x2(%r8,%rdx,1),%eax
+  .byte  102,15,110,192                      // movd          %eax,%xmm0
+  .byte  102,15,112,192,69                   // pshufd        $0x45,%xmm0,%xmm0
+  .byte  65,15,183,4,16                      // movzwl        (%r8,%rdx,1),%eax
+  .byte  102,15,110,200                      // movd          %eax,%xmm1
+  .byte  102,15,96,200                       // punpcklbw     %xmm0,%xmm1
+  .byte  102,15,97,200                       // punpcklwd     %xmm0,%xmm1
+  .byte  242,15,16,193                       // movsd         %xmm1,%xmm0
+  .byte  235,166                             // jmp           28e37 <_sk_load_a8_sse2+0x20>
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  102,15,110,192                      // movd          %eax,%xmm0
+  .byte  235,155                             // jmp           28e37 <_sk_load_a8_sse2+0x20>
+
+HIDDEN _sk_load_a8_dst_sse2
+.globl _sk_load_a8_dst_sse2
+FUNCTION(_sk_load_a8_dst_sse2)
+_sk_load_a8_dst_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,46                              // jne           28edc <_sk_load_a8_dst_sse2+0x40>
+  .byte  102,65,15,110,36,16                 // movd          (%r8,%rdx,1),%xmm4
+  .byte  102,15,96,224                       // punpcklbw     %xmm0,%xmm4
+  .byte  102,15,97,224                       // punpcklwd     %xmm0,%xmm4
+  .byte  102,15,219,37,252,64,1,0            // pand          0x140fc(%rip),%xmm4        # 3cfc0 <_sk_srcover_bgra_8888_sse2_lowp+0xd74>
+  .byte  15,91,252                           // cvtdq2ps      %xmm4,%xmm7
+  .byte  15,89,61,82,66,1,0                  // mulps         0x14252(%rip),%xmm7        # 3d120 <_sk_srcover_bgra_8888_sse2_lowp+0xed4>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  102,15,87,237                       // xorpd         %xmm5,%xmm5
+  .byte  15,87,246                           // xorps         %xmm6,%xmm6
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,50                              // je            28f16 <_sk_load_a8_dst_sse2+0x7a>
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,19                              // je            28eff <_sk_load_a8_dst_sse2+0x63>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,204                             // jne           28ebc <_sk_load_a8_dst_sse2+0x20>
+  .byte  65,15,182,68,16,2                   // movzbl        0x2(%r8,%rdx,1),%eax
+  .byte  102,15,110,224                      // movd          %eax,%xmm4
+  .byte  102,15,112,228,69                   // pshufd        $0x45,%xmm4,%xmm4
+  .byte  65,15,183,4,16                      // movzwl        (%r8,%rdx,1),%eax
+  .byte  102,15,110,232                      // movd          %eax,%xmm5
+  .byte  102,15,96,232                       // punpcklbw     %xmm0,%xmm5
+  .byte  102,15,97,232                       // punpcklwd     %xmm0,%xmm5
+  .byte  242,15,16,229                       // movsd         %xmm5,%xmm4
+  .byte  235,166                             // jmp           28ebc <_sk_load_a8_dst_sse2+0x20>
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  102,15,110,224                      // movd          %eax,%xmm4
+  .byte  235,155                             // jmp           28ebc <_sk_load_a8_dst_sse2+0x20>
+
+HIDDEN _sk_gather_a8_sse2
+.globl _sk_gather_a8_sse2
+FUNCTION(_sk_gather_a8_sse2)
+_sk_gather_a8_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,15,16,88,12                     // movss         0xc(%rax),%xmm3
+  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
+  .byte  102,69,15,118,201                   // pcmpeqd       %xmm9,%xmm9
+  .byte  102,65,15,254,217                   // paddd         %xmm9,%xmm3
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  15,95,208                           // maxps         %xmm0,%xmm2
+  .byte  15,93,211                           // minps         %xmm3,%xmm2
+  .byte  243,15,16,64,16                     // movss         0x10(%rax),%xmm0
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  102,65,15,254,193                   // paddd         %xmm9,%xmm0
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  15,95,217                           // maxps         %xmm1,%xmm3
+  .byte  15,93,216                           // minps         %xmm0,%xmm3
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  243,15,91,195                       // cvttps2dq     %xmm3,%xmm0
+  .byte  102,15,110,72,8                     // movd          0x8(%rax),%xmm1
+  .byte  102,15,112,201,0                    // pshufd        $0x0,%xmm1,%xmm1
+  .byte  102,15,112,216,245                  // pshufd        $0xf5,%xmm0,%xmm3
+  .byte  102,15,244,217                      // pmuludq       %xmm1,%xmm3
+  .byte  102,15,244,200                      // pmuludq       %xmm0,%xmm1
+  .byte  102,15,112,193,232                  // pshufd        $0xe8,%xmm1,%xmm0
+  .byte  102,15,112,203,232                  // pshufd        $0xe8,%xmm3,%xmm1
+  .byte  102,15,98,193                       // punpckldq     %xmm1,%xmm0
+  .byte  243,15,91,202                       // cvttps2dq     %xmm2,%xmm1
+  .byte  102,15,254,200                      // paddd         %xmm0,%xmm1
+  .byte  102,72,15,126,200                   // movq          %xmm1,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  102,15,112,193,78                   // pshufd        $0x4e,%xmm1,%xmm0
+  .byte  102,73,15,126,194                   // movq          %xmm0,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  71,15,182,28,24                     // movzbl        (%r8,%r11,1),%r11d
+  .byte  71,15,182,20,16                     // movzbl        (%r8,%r10,1),%r10d
+  .byte  65,193,226,8                        // shl           $0x8,%r10d
+  .byte  69,9,218                            // or            %r11d,%r10d
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  65,15,182,4,0                       // movzbl        (%r8,%rax,1),%eax
+  .byte  193,224,8                           // shl           $0x8,%eax
+  .byte  68,9,200                            // or            %r9d,%eax
+  .byte  102,15,110,192                      // movd          %eax,%xmm0
+  .byte  102,65,15,196,194,1                 // pinsrw        $0x1,%r10d,%xmm0
+  .byte  102,65,15,96,192                    // punpcklbw     %xmm8,%xmm0
+  .byte  102,65,15,97,192                    // punpcklwd     %xmm8,%xmm0
+  .byte  15,91,216                           // cvtdq2ps      %xmm0,%xmm3
+  .byte  15,89,29,53,65,1,0                  // mulps         0x14135(%rip),%xmm3        # 3d120 <_sk_srcover_bgra_8888_sse2_lowp+0xed4>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_store_a8_sse2
+.globl _sk_store_a8_sse2
+FUNCTION(_sk_store_a8_sse2)
+_sk_store_a8_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  68,15,95,195                        // maxps         %xmm3,%xmm8
+  .byte  68,15,93,5,250,62,1,0               // minps         0x13efa(%rip),%xmm8        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  68,15,89,5,210,63,1,0               // mulps         0x13fd2(%rip),%xmm8        # 3cff0 <_sk_srcover_bgra_8888_sse2_lowp+0xda4>
+  .byte  102,69,15,91,192                    // cvtps2dq      %xmm8,%xmm8
+  .byte  102,65,15,114,240,16                // pslld         $0x10,%xmm8
+  .byte  102,65,15,114,224,16                // psrad         $0x10,%xmm8
+  .byte  102,68,15,107,192                   // packssdw      %xmm0,%xmm8
+  .byte  102,68,15,103,192                   // packuswb      %xmm0,%xmm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,13                              // jne           2904b <_sk_store_a8_sse2+0x52>
+  .byte  102,68,15,126,192                   // movd          %xmm8,%eax
+  .byte  65,137,4,16                         // mov           %eax,(%r8,%rdx,1)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,68,15,96,192                    // punpcklbw     %xmm0,%xmm8
+  .byte  102,68,15,97,192                    // punpcklwd     %xmm0,%xmm8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,50                              // je            2908f <_sk_store_a8_sse2+0x96>
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,15                              // je            29070 <_sk_store_a8_sse2+0x77>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,226                             // jne           29047 <_sk_store_a8_sse2+0x4e>
+  .byte  102,65,15,197,192,4                 // pextrw        $0x4,%xmm8,%eax
+  .byte  65,136,68,16,2                      // mov           %al,0x2(%r8,%rdx,1)
+  .byte  102,68,15,219,5,71,63,1,0           // pand          0x13f47(%rip),%xmm8        # 3cfc0 <_sk_srcover_bgra_8888_sse2_lowp+0xd74>
+  .byte  102,69,15,103,192                   // packuswb      %xmm8,%xmm8
+  .byte  102,69,15,103,192                   // packuswb      %xmm8,%xmm8
+  .byte  102,68,15,126,192                   // movd          %xmm8,%eax
+  .byte  102,65,137,4,16                     // mov           %ax,(%r8,%rdx,1)
+  .byte  235,184                             // jmp           29047 <_sk_store_a8_sse2+0x4e>
+  .byte  102,68,15,126,192                   // movd          %xmm8,%eax
+  .byte  65,136,4,16                         // mov           %al,(%r8,%rdx,1)
+  .byte  235,173                             // jmp           29047 <_sk_store_a8_sse2+0x4e>
+
+HIDDEN _sk_load_g8_sse2
+.globl _sk_load_g8_sse2
+FUNCTION(_sk_load_g8_sse2)
+_sk_load_g8_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,49                              // jne           290dd <_sk_load_g8_sse2+0x43>
+  .byte  102,65,15,110,4,16                  // movd          (%r8,%rdx,1),%xmm0
+  .byte  102,15,96,192                       // punpcklbw     %xmm0,%xmm0
+  .byte  102,15,97,192                       // punpcklwd     %xmm0,%xmm0
+  .byte  102,15,219,5,254,62,1,0             // pand          0x13efe(%rip),%xmm0        # 3cfc0 <_sk_srcover_bgra_8888_sse2_lowp+0xd74>
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  15,89,5,84,64,1,0                   // mulps         0x14054(%rip),%xmm0        # 3d120 <_sk_srcover_bgra_8888_sse2_lowp+0xed4>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,29,59,62,1,0                  // movaps        0x13e3b(%rip),%xmm3        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  15,40,208                           // movaps        %xmm0,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,50                              // je            29117 <_sk_load_g8_sse2+0x7d>
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,19                              // je            29100 <_sk_load_g8_sse2+0x66>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,201                             // jne           290ba <_sk_load_g8_sse2+0x20>
+  .byte  65,15,182,68,16,2                   // movzbl        0x2(%r8,%rdx,1),%eax
+  .byte  102,15,110,192                      // movd          %eax,%xmm0
+  .byte  102,15,112,192,69                   // pshufd        $0x45,%xmm0,%xmm0
+  .byte  65,15,183,4,16                      // movzwl        (%r8,%rdx,1),%eax
+  .byte  102,15,110,200                      // movd          %eax,%xmm1
+  .byte  102,15,96,200                       // punpcklbw     %xmm0,%xmm1
+  .byte  102,15,97,200                       // punpcklwd     %xmm0,%xmm1
+  .byte  242,15,16,193                       // movsd         %xmm1,%xmm0
+  .byte  235,163                             // jmp           290ba <_sk_load_g8_sse2+0x20>
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  102,15,110,192                      // movd          %eax,%xmm0
+  .byte  235,152                             // jmp           290ba <_sk_load_g8_sse2+0x20>
+
+HIDDEN _sk_load_g8_dst_sse2
+.globl _sk_load_g8_dst_sse2
+FUNCTION(_sk_load_g8_dst_sse2)
+_sk_load_g8_dst_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,49                              // jne           29165 <_sk_load_g8_dst_sse2+0x43>
+  .byte  102,65,15,110,36,16                 // movd          (%r8,%rdx,1),%xmm4
+  .byte  102,15,96,224                       // punpcklbw     %xmm0,%xmm4
+  .byte  102,15,97,224                       // punpcklwd     %xmm0,%xmm4
+  .byte  102,15,219,37,118,62,1,0            // pand          0x13e76(%rip),%xmm4        # 3cfc0 <_sk_srcover_bgra_8888_sse2_lowp+0xd74>
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  15,89,37,204,63,1,0                 // mulps         0x13fcc(%rip),%xmm4        # 3d120 <_sk_srcover_bgra_8888_sse2_lowp+0xed4>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,61,179,61,1,0                 // movaps        0x13db3(%rip),%xmm7        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  15,40,236                           // movaps        %xmm4,%xmm5
+  .byte  15,40,244                           // movaps        %xmm4,%xmm6
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,50                              // je            2919f <_sk_load_g8_dst_sse2+0x7d>
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,19                              // je            29188 <_sk_load_g8_dst_sse2+0x66>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,201                             // jne           29142 <_sk_load_g8_dst_sse2+0x20>
+  .byte  65,15,182,68,16,2                   // movzbl        0x2(%r8,%rdx,1),%eax
+  .byte  102,15,110,224                      // movd          %eax,%xmm4
+  .byte  102,15,112,228,69                   // pshufd        $0x45,%xmm4,%xmm4
+  .byte  65,15,183,4,16                      // movzwl        (%r8,%rdx,1),%eax
+  .byte  102,15,110,232                      // movd          %eax,%xmm5
+  .byte  102,15,96,232                       // punpcklbw     %xmm0,%xmm5
+  .byte  102,15,97,232                       // punpcklwd     %xmm0,%xmm5
+  .byte  242,15,16,229                       // movsd         %xmm5,%xmm4
+  .byte  235,163                             // jmp           29142 <_sk_load_g8_dst_sse2+0x20>
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  102,15,110,224                      // movd          %eax,%xmm4
+  .byte  235,152                             // jmp           29142 <_sk_load_g8_dst_sse2+0x20>
+
+HIDDEN _sk_gather_g8_sse2
+.globl _sk_gather_g8_sse2
+FUNCTION(_sk_gather_g8_sse2)
+_sk_gather_g8_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,15,16,88,12                     // movss         0xc(%rax),%xmm3
+  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
+  .byte  102,69,15,118,201                   // pcmpeqd       %xmm9,%xmm9
+  .byte  102,65,15,254,217                   // paddd         %xmm9,%xmm3
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  15,95,208                           // maxps         %xmm0,%xmm2
+  .byte  15,93,211                           // minps         %xmm3,%xmm2
+  .byte  243,15,16,64,16                     // movss         0x10(%rax),%xmm0
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  102,65,15,254,193                   // paddd         %xmm9,%xmm0
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  15,95,217                           // maxps         %xmm1,%xmm3
+  .byte  15,93,216                           // minps         %xmm0,%xmm3
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  243,15,91,195                       // cvttps2dq     %xmm3,%xmm0
+  .byte  102,15,110,72,8                     // movd          0x8(%rax),%xmm1
+  .byte  102,15,112,201,0                    // pshufd        $0x0,%xmm1,%xmm1
+  .byte  102,15,112,216,245                  // pshufd        $0xf5,%xmm0,%xmm3
+  .byte  102,15,244,217                      // pmuludq       %xmm1,%xmm3
+  .byte  102,15,244,200                      // pmuludq       %xmm0,%xmm1
+  .byte  102,15,112,193,232                  // pshufd        $0xe8,%xmm1,%xmm0
+  .byte  102,15,112,203,232                  // pshufd        $0xe8,%xmm3,%xmm1
+  .byte  102,15,98,193                       // punpckldq     %xmm1,%xmm0
+  .byte  243,15,91,202                       // cvttps2dq     %xmm2,%xmm1
+  .byte  102,15,254,200                      // paddd         %xmm0,%xmm1
+  .byte  102,72,15,126,200                   // movq          %xmm1,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  102,15,112,193,78                   // pshufd        $0x4e,%xmm1,%xmm0
+  .byte  102,73,15,126,194                   // movq          %xmm0,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  71,15,182,28,24                     // movzbl        (%r8,%r11,1),%r11d
+  .byte  71,15,182,20,16                     // movzbl        (%r8,%r10,1),%r10d
+  .byte  65,193,226,8                        // shl           $0x8,%r10d
+  .byte  69,9,218                            // or            %r11d,%r10d
+  .byte  71,15,182,12,8                      // movzbl        (%r8,%r9,1),%r9d
+  .byte  65,15,182,4,0                       // movzbl        (%r8,%rax,1),%eax
+  .byte  193,224,8                           // shl           $0x8,%eax
+  .byte  68,9,200                            // or            %r9d,%eax
+  .byte  102,15,110,192                      // movd          %eax,%xmm0
+  .byte  102,65,15,196,194,1                 // pinsrw        $0x1,%r10d,%xmm0
+  .byte  102,65,15,96,192                    // punpcklbw     %xmm8,%xmm0
+  .byte  102,65,15,97,192                    // punpcklwd     %xmm8,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  15,89,5,172,62,1,0                  // mulps         0x13eac(%rip),%xmm0        # 3d120 <_sk_srcover_bgra_8888_sse2_lowp+0xed4>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,29,147,60,1,0                 // movaps        0x13c93(%rip),%xmm3        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  15,40,208                           // movaps        %xmm0,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_load_565_sse2
+.globl _sk_load_565_sse2
+FUNCTION(_sk_load_565_sse2)
+_sk_load_565_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,83                              // jne           292ed <_sk_load_565_sse2+0x68>
+  .byte  243,65,15,126,20,80                 // movq          (%r8,%rdx,2),%xmm2
+  .byte  102,15,97,208                       // punpcklwd     %xmm0,%xmm2
+  .byte  102,15,111,5,132,62,1,0             // movdqa        0x13e84(%rip),%xmm0        # 3d130 <_sk_srcover_bgra_8888_sse2_lowp+0xee4>
+  .byte  102,15,219,194                      // pand          %xmm2,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  15,89,5,134,62,1,0                  // mulps         0x13e86(%rip),%xmm0        # 3d140 <_sk_srcover_bgra_8888_sse2_lowp+0xef4>
+  .byte  102,15,111,13,142,62,1,0            // movdqa        0x13e8e(%rip),%xmm1        # 3d150 <_sk_srcover_bgra_8888_sse2_lowp+0xf04>
+  .byte  102,15,219,202                      // pand          %xmm2,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  15,89,13,144,62,1,0                 // mulps         0x13e90(%rip),%xmm1        # 3d160 <_sk_srcover_bgra_8888_sse2_lowp+0xf14>
+  .byte  102,15,219,21,152,62,1,0            // pand          0x13e98(%rip),%xmm2        # 3d170 <_sk_srcover_bgra_8888_sse2_lowp+0xf24>
+  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
+  .byte  15,89,21,158,62,1,0                 // mulps         0x13e9e(%rip),%xmm2        # 3d180 <_sk_srcover_bgra_8888_sse2_lowp+0xf34>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,29,37,60,1,0                  // movaps        0x13c25(%rip),%xmm3        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,44                              // je            29321 <_sk_load_565_sse2+0x9c>
+  .byte  102,15,239,210                      // pxor          %xmm2,%xmm2
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,19                              // je            29310 <_sk_load_565_sse2+0x8b>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,163                             // jne           292a4 <_sk_load_565_sse2+0x1f>
+  .byte  65,15,183,68,80,4                   // movzwl        0x4(%r8,%rdx,2),%eax
+  .byte  102,15,110,192                      // movd          %eax,%xmm0
+  .byte  102,15,112,208,69                   // pshufd        $0x45,%xmm0,%xmm2
+  .byte  102,65,15,110,4,80                  // movd          (%r8,%rdx,2),%xmm0
+  .byte  242,15,112,192,212                  // pshuflw       $0xd4,%xmm0,%xmm0
+  .byte  242,15,16,208                       // movsd         %xmm0,%xmm2
+  .byte  235,131                             // jmp           292a4 <_sk_load_565_sse2+0x1f>
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  102,15,110,208                      // movd          %eax,%xmm2
+  .byte  233,117,255,255,255                 // jmpq          292a4 <_sk_load_565_sse2+0x1f>
+
+HIDDEN _sk_load_565_dst_sse2
+.globl _sk_load_565_dst_sse2
+FUNCTION(_sk_load_565_dst_sse2)
+_sk_load_565_dst_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,83                              // jne           29397 <_sk_load_565_dst_sse2+0x68>
+  .byte  243,65,15,126,52,80                 // movq          (%r8,%rdx,2),%xmm6
+  .byte  102,15,97,240                       // punpcklwd     %xmm0,%xmm6
+  .byte  102,15,111,37,218,61,1,0            // movdqa        0x13dda(%rip),%xmm4        # 3d130 <_sk_srcover_bgra_8888_sse2_lowp+0xee4>
+  .byte  102,15,219,230                      // pand          %xmm6,%xmm4
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  15,89,37,220,61,1,0                 // mulps         0x13ddc(%rip),%xmm4        # 3d140 <_sk_srcover_bgra_8888_sse2_lowp+0xef4>
+  .byte  102,15,111,45,228,61,1,0            // movdqa        0x13de4(%rip),%xmm5        # 3d150 <_sk_srcover_bgra_8888_sse2_lowp+0xf04>
+  .byte  102,15,219,238                      // pand          %xmm6,%xmm5
+  .byte  15,91,237                           // cvtdq2ps      %xmm5,%xmm5
+  .byte  15,89,45,230,61,1,0                 // mulps         0x13de6(%rip),%xmm5        # 3d160 <_sk_srcover_bgra_8888_sse2_lowp+0xf14>
+  .byte  102,15,219,53,238,61,1,0            // pand          0x13dee(%rip),%xmm6        # 3d170 <_sk_srcover_bgra_8888_sse2_lowp+0xf24>
+  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
+  .byte  15,89,53,244,61,1,0                 // mulps         0x13df4(%rip),%xmm6        # 3d180 <_sk_srcover_bgra_8888_sse2_lowp+0xf34>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,61,123,59,1,0                 // movaps        0x13b7b(%rip),%xmm7        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,44                              // je            293cb <_sk_load_565_dst_sse2+0x9c>
+  .byte  102,15,239,246                      // pxor          %xmm6,%xmm6
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,19                              // je            293ba <_sk_load_565_dst_sse2+0x8b>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,163                             // jne           2934e <_sk_load_565_dst_sse2+0x1f>
+  .byte  65,15,183,68,80,4                   // movzwl        0x4(%r8,%rdx,2),%eax
+  .byte  102,15,110,224                      // movd          %eax,%xmm4
+  .byte  102,15,112,244,69                   // pshufd        $0x45,%xmm4,%xmm6
+  .byte  102,65,15,110,36,80                 // movd          (%r8,%rdx,2),%xmm4
+  .byte  242,15,112,228,212                  // pshuflw       $0xd4,%xmm4,%xmm4
+  .byte  242,15,16,244                       // movsd         %xmm4,%xmm6
+  .byte  235,131                             // jmp           2934e <_sk_load_565_dst_sse2+0x1f>
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  102,15,110,240                      // movd          %eax,%xmm6
+  .byte  233,117,255,255,255                 // jmpq          2934e <_sk_load_565_dst_sse2+0x1f>
+
+HIDDEN _sk_gather_565_sse2
+.globl _sk_gather_565_sse2
+FUNCTION(_sk_gather_565_sse2)
+_sk_gather_565_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,15,16,88,12                     // movss         0xc(%rax),%xmm3
+  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
+  .byte  102,69,15,118,201                   // pcmpeqd       %xmm9,%xmm9
+  .byte  102,65,15,254,217                   // paddd         %xmm9,%xmm3
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  15,95,208                           // maxps         %xmm0,%xmm2
+  .byte  15,93,211                           // minps         %xmm3,%xmm2
+  .byte  243,15,16,64,16                     // movss         0x10(%rax),%xmm0
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  102,65,15,254,193                   // paddd         %xmm9,%xmm0
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  15,95,217                           // maxps         %xmm1,%xmm3
+  .byte  15,93,216                           // minps         %xmm0,%xmm3
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  243,15,91,195                       // cvttps2dq     %xmm3,%xmm0
+  .byte  102,15,110,72,8                     // movd          0x8(%rax),%xmm1
+  .byte  102,15,112,201,0                    // pshufd        $0x0,%xmm1,%xmm1
+  .byte  102,15,112,216,245                  // pshufd        $0xf5,%xmm0,%xmm3
+  .byte  102,15,244,217                      // pmuludq       %xmm1,%xmm3
+  .byte  102,15,244,200                      // pmuludq       %xmm0,%xmm1
+  .byte  102,15,112,193,232                  // pshufd        $0xe8,%xmm1,%xmm0
+  .byte  102,15,112,203,232                  // pshufd        $0xe8,%xmm3,%xmm1
+  .byte  102,15,98,193                       // punpckldq     %xmm1,%xmm0
+  .byte  243,15,91,202                       // cvttps2dq     %xmm2,%xmm1
+  .byte  102,15,254,200                      // paddd         %xmm0,%xmm1
+  .byte  102,15,112,193,78                   // pshufd        $0x4e,%xmm1,%xmm0
+  .byte  102,72,15,126,192                   // movq          %xmm0,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  102,73,15,126,202                   // movq          %xmm1,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  71,15,183,20,80                     // movzwl        (%r8,%r10,2),%r10d
+  .byte  71,15,183,28,88                     // movzwl        (%r8,%r11,2),%r11d
+  .byte  102,65,15,110,211                   // movd          %r11d,%xmm2
+  .byte  102,65,15,196,210,1                 // pinsrw        $0x1,%r10d,%xmm2
+  .byte  71,15,183,12,72                     // movzwl        (%r8,%r9,2),%r9d
+  .byte  102,65,15,196,209,2                 // pinsrw        $0x2,%r9d,%xmm2
+  .byte  65,15,183,4,64                      // movzwl        (%r8,%rax,2),%eax
+  .byte  102,15,196,208,3                    // pinsrw        $0x3,%eax,%xmm2
+  .byte  102,65,15,97,208                    // punpcklwd     %xmm8,%xmm2
+  .byte  102,15,111,5,149,60,1,0             // movdqa        0x13c95(%rip),%xmm0        # 3d130 <_sk_srcover_bgra_8888_sse2_lowp+0xee4>
+  .byte  102,15,219,194                      // pand          %xmm2,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  15,89,5,151,60,1,0                  // mulps         0x13c97(%rip),%xmm0        # 3d140 <_sk_srcover_bgra_8888_sse2_lowp+0xef4>
+  .byte  102,15,111,13,159,60,1,0            // movdqa        0x13c9f(%rip),%xmm1        # 3d150 <_sk_srcover_bgra_8888_sse2_lowp+0xf04>
+  .byte  102,15,219,202                      // pand          %xmm2,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  15,89,13,161,60,1,0                 // mulps         0x13ca1(%rip),%xmm1        # 3d160 <_sk_srcover_bgra_8888_sse2_lowp+0xf14>
+  .byte  102,15,219,21,169,60,1,0            // pand          0x13ca9(%rip),%xmm2        # 3d170 <_sk_srcover_bgra_8888_sse2_lowp+0xf24>
+  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
+  .byte  15,89,21,175,60,1,0                 // mulps         0x13caf(%rip),%xmm2        # 3d180 <_sk_srcover_bgra_8888_sse2_lowp+0xf34>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,29,54,58,1,0                  // movaps        0x13a36(%rip),%xmm3        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_store_565_sse2
+.globl _sk_store_565_sse2
+FUNCTION(_sk_store_565_sse2)
+_sk_store_565_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,95,200                        // maxps         %xmm0,%xmm9
+  .byte  68,15,40,21,16,58,1,0               // movaps        0x13a10(%rip),%xmm10        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,93,202                        // minps         %xmm10,%xmm9
+  .byte  68,15,40,29,36,62,1,0               // movaps        0x13e24(%rip),%xmm11        # 3d330 <_sk_srcover_bgra_8888_sse2_lowp+0x10e4>
+  .byte  69,15,89,203                        // mulps         %xmm11,%xmm9
+  .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
+  .byte  102,65,15,114,241,11                // pslld         $0xb,%xmm9
+  .byte  69,15,87,228                        // xorps         %xmm12,%xmm12
+  .byte  68,15,95,225                        // maxps         %xmm1,%xmm12
+  .byte  69,15,93,226                        // minps         %xmm10,%xmm12
+  .byte  68,15,89,37,17,62,1,0               // mulps         0x13e11(%rip),%xmm12        # 3d340 <_sk_srcover_bgra_8888_sse2_lowp+0x10f4>
+  .byte  102,69,15,91,228                    // cvtps2dq      %xmm12,%xmm12
+  .byte  102,65,15,114,244,5                 // pslld         $0x5,%xmm12
+  .byte  68,15,95,194                        // maxps         %xmm2,%xmm8
+  .byte  69,15,93,194                        // minps         %xmm10,%xmm8
+  .byte  69,15,89,195                        // mulps         %xmm11,%xmm8
+  .byte  102,69,15,91,192                    // cvtps2dq      %xmm8,%xmm8
+  .byte  102,69,15,86,193                    // orpd          %xmm9,%xmm8
+  .byte  102,69,15,86,196                    // orpd          %xmm12,%xmm8
+  .byte  102,65,15,114,240,16                // pslld         $0x10,%xmm8
+  .byte  102,65,15,114,224,16                // psrad         $0x10,%xmm8
+  .byte  102,68,15,107,192                   // packssdw      %xmm0,%xmm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,10                              // jne           29575 <_sk_store_565_sse2+0x99>
+  .byte  102,69,15,214,4,80                  // movq          %xmm8,(%r8,%rdx,2)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,68,15,97,192                    // punpcklwd     %xmm0,%xmm8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,34                              // je            295a4 <_sk_store_565_sse2+0xc8>
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,16                              // je            29596 <_sk_store_565_sse2+0xba>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,231                             // jne           29571 <_sk_store_565_sse2+0x95>
+  .byte  102,65,15,197,192,4                 // pextrw        $0x4,%xmm8,%eax
+  .byte  102,65,137,68,80,4                  // mov           %ax,0x4(%r8,%rdx,2)
+  .byte  242,69,15,112,192,232               // pshuflw       $0xe8,%xmm8,%xmm8
+  .byte  102,69,15,126,4,80                  // movd          %xmm8,(%r8,%rdx,2)
+  .byte  235,205                             // jmp           29571 <_sk_store_565_sse2+0x95>
+  .byte  102,68,15,126,192                   // movd          %xmm8,%eax
+  .byte  102,65,137,4,80                     // mov           %ax,(%r8,%rdx,2)
+  .byte  235,193                             // jmp           29571 <_sk_store_565_sse2+0x95>
+
+HIDDEN _sk_load_4444_sse2
+.globl _sk_load_4444_sse2
+FUNCTION(_sk_load_4444_sse2)
+_sk_load_4444_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,98                              // jne           29627 <_sk_load_4444_sse2+0x77>
+  .byte  243,65,15,126,28,80                 // movq          (%r8,%rdx,2),%xmm3
+  .byte  102,15,97,216                       // punpcklwd     %xmm0,%xmm3
+  .byte  102,15,111,5,121,61,1,0             // movdqa        0x13d79(%rip),%xmm0        # 3d350 <_sk_srcover_bgra_8888_sse2_lowp+0x1104>
+  .byte  102,15,219,195                      // pand          %xmm3,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  15,89,5,123,61,1,0                  // mulps         0x13d7b(%rip),%xmm0        # 3d360 <_sk_srcover_bgra_8888_sse2_lowp+0x1114>
+  .byte  102,15,111,13,131,61,1,0            // movdqa        0x13d83(%rip),%xmm1        # 3d370 <_sk_srcover_bgra_8888_sse2_lowp+0x1124>
+  .byte  102,15,219,203                      // pand          %xmm3,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  15,89,13,133,61,1,0                 // mulps         0x13d85(%rip),%xmm1        # 3d380 <_sk_srcover_bgra_8888_sse2_lowp+0x1134>
+  .byte  102,15,111,21,141,61,1,0            // movdqa        0x13d8d(%rip),%xmm2        # 3d390 <_sk_srcover_bgra_8888_sse2_lowp+0x1144>
+  .byte  102,15,219,211                      // pand          %xmm3,%xmm2
+  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
+  .byte  15,89,21,143,61,1,0                 // mulps         0x13d8f(%rip),%xmm2        # 3d3a0 <_sk_srcover_bgra_8888_sse2_lowp+0x1154>
+  .byte  102,15,219,29,151,61,1,0            // pand          0x13d97(%rip),%xmm3        # 3d3b0 <_sk_srcover_bgra_8888_sse2_lowp+0x1164>
+  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
+  .byte  15,89,29,157,61,1,0                 // mulps         0x13d9d(%rip),%xmm3        # 3d3c0 <_sk_srcover_bgra_8888_sse2_lowp+0x1174>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,47                              // je            2965e <_sk_load_4444_sse2+0xae>
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,19                              // je            2964a <_sk_load_4444_sse2+0x9a>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,148                             // jne           295cf <_sk_load_4444_sse2+0x1f>
+  .byte  65,15,183,68,80,4                   // movzwl        0x4(%r8,%rdx,2),%eax
+  .byte  102,15,110,192                      // movd          %eax,%xmm0
+  .byte  102,15,112,216,69                   // pshufd        $0x45,%xmm0,%xmm3
+  .byte  102,65,15,110,4,80                  // movd          (%r8,%rdx,2),%xmm0
+  .byte  242,15,112,192,212                  // pshuflw       $0xd4,%xmm0,%xmm0
+  .byte  242,15,16,216                       // movsd         %xmm0,%xmm3
+  .byte  233,113,255,255,255                 // jmpq          295cf <_sk_load_4444_sse2+0x1f>
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  102,15,110,216                      // movd          %eax,%xmm3
+  .byte  233,99,255,255,255                  // jmpq          295cf <_sk_load_4444_sse2+0x1f>
+
+HIDDEN _sk_load_4444_dst_sse2
+.globl _sk_load_4444_dst_sse2
+FUNCTION(_sk_load_4444_dst_sse2)
+_sk_load_4444_dst_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,98                              // jne           296e3 <_sk_load_4444_dst_sse2+0x77>
+  .byte  243,65,15,126,60,80                 // movq          (%r8,%rdx,2),%xmm7
+  .byte  102,15,97,248                       // punpcklwd     %xmm0,%xmm7
+  .byte  102,15,111,37,189,60,1,0            // movdqa        0x13cbd(%rip),%xmm4        # 3d350 <_sk_srcover_bgra_8888_sse2_lowp+0x1104>
+  .byte  102,15,219,231                      // pand          %xmm7,%xmm4
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  15,89,37,191,60,1,0                 // mulps         0x13cbf(%rip),%xmm4        # 3d360 <_sk_srcover_bgra_8888_sse2_lowp+0x1114>
+  .byte  102,15,111,45,199,60,1,0            // movdqa        0x13cc7(%rip),%xmm5        # 3d370 <_sk_srcover_bgra_8888_sse2_lowp+0x1124>
+  .byte  102,15,219,239                      // pand          %xmm7,%xmm5
+  .byte  15,91,237                           // cvtdq2ps      %xmm5,%xmm5
+  .byte  15,89,45,201,60,1,0                 // mulps         0x13cc9(%rip),%xmm5        # 3d380 <_sk_srcover_bgra_8888_sse2_lowp+0x1134>
+  .byte  102,15,111,53,209,60,1,0            // movdqa        0x13cd1(%rip),%xmm6        # 3d390 <_sk_srcover_bgra_8888_sse2_lowp+0x1144>
+  .byte  102,15,219,247                      // pand          %xmm7,%xmm6
+  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
+  .byte  15,89,53,211,60,1,0                 // mulps         0x13cd3(%rip),%xmm6        # 3d3a0 <_sk_srcover_bgra_8888_sse2_lowp+0x1154>
+  .byte  102,15,219,61,219,60,1,0            // pand          0x13cdb(%rip),%xmm7        # 3d3b0 <_sk_srcover_bgra_8888_sse2_lowp+0x1164>
+  .byte  15,91,255                           // cvtdq2ps      %xmm7,%xmm7
+  .byte  15,89,61,225,60,1,0                 // mulps         0x13ce1(%rip),%xmm7        # 3d3c0 <_sk_srcover_bgra_8888_sse2_lowp+0x1174>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,47                              // je            2971a <_sk_load_4444_dst_sse2+0xae>
+  .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,19                              // je            29706 <_sk_load_4444_dst_sse2+0x9a>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,148                             // jne           2968b <_sk_load_4444_dst_sse2+0x1f>
+  .byte  65,15,183,68,80,4                   // movzwl        0x4(%r8,%rdx,2),%eax
+  .byte  102,15,110,224                      // movd          %eax,%xmm4
+  .byte  102,15,112,252,69                   // pshufd        $0x45,%xmm4,%xmm7
+  .byte  102,65,15,110,36,80                 // movd          (%r8,%rdx,2),%xmm4
+  .byte  242,15,112,228,212                  // pshuflw       $0xd4,%xmm4,%xmm4
+  .byte  242,15,16,252                       // movsd         %xmm4,%xmm7
+  .byte  233,113,255,255,255                 // jmpq          2968b <_sk_load_4444_dst_sse2+0x1f>
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  102,15,110,248                      // movd          %eax,%xmm7
+  .byte  233,99,255,255,255                  // jmpq          2968b <_sk_load_4444_dst_sse2+0x1f>
+
+HIDDEN _sk_gather_4444_sse2
+.globl _sk_gather_4444_sse2
+FUNCTION(_sk_gather_4444_sse2)
+_sk_gather_4444_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,15,16,88,12                     // movss         0xc(%rax),%xmm3
+  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
+  .byte  102,69,15,118,201                   // pcmpeqd       %xmm9,%xmm9
+  .byte  102,65,15,254,217                   // paddd         %xmm9,%xmm3
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  15,95,208                           // maxps         %xmm0,%xmm2
+  .byte  15,93,211                           // minps         %xmm3,%xmm2
+  .byte  243,15,16,64,16                     // movss         0x10(%rax),%xmm0
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  102,65,15,254,193                   // paddd         %xmm9,%xmm0
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  15,95,217                           // maxps         %xmm1,%xmm3
+  .byte  15,93,216                           // minps         %xmm0,%xmm3
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  243,15,91,195                       // cvttps2dq     %xmm3,%xmm0
+  .byte  102,15,110,72,8                     // movd          0x8(%rax),%xmm1
+  .byte  102,15,112,201,0                    // pshufd        $0x0,%xmm1,%xmm1
+  .byte  102,15,112,216,245                  // pshufd        $0xf5,%xmm0,%xmm3
+  .byte  102,15,244,217                      // pmuludq       %xmm1,%xmm3
+  .byte  102,15,244,200                      // pmuludq       %xmm0,%xmm1
+  .byte  102,15,112,193,232                  // pshufd        $0xe8,%xmm1,%xmm0
+  .byte  102,15,112,203,232                  // pshufd        $0xe8,%xmm3,%xmm1
+  .byte  102,15,98,193                       // punpckldq     %xmm1,%xmm0
+  .byte  243,15,91,202                       // cvttps2dq     %xmm2,%xmm1
+  .byte  102,15,254,200                      // paddd         %xmm0,%xmm1
+  .byte  102,15,112,193,78                   // pshufd        $0x4e,%xmm1,%xmm0
+  .byte  102,72,15,126,192                   // movq          %xmm0,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  102,73,15,126,202                   // movq          %xmm1,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  71,15,183,20,80                     // movzwl        (%r8,%r10,2),%r10d
+  .byte  71,15,183,28,88                     // movzwl        (%r8,%r11,2),%r11d
+  .byte  102,65,15,110,219                   // movd          %r11d,%xmm3
+  .byte  102,65,15,196,218,1                 // pinsrw        $0x1,%r10d,%xmm3
+  .byte  71,15,183,12,72                     // movzwl        (%r8,%r9,2),%r9d
+  .byte  102,65,15,196,217,2                 // pinsrw        $0x2,%r9d,%xmm3
+  .byte  65,15,183,4,64                      // movzwl        (%r8,%rax,2),%eax
+  .byte  102,15,196,216,3                    // pinsrw        $0x3,%eax,%xmm3
+  .byte  102,65,15,97,216                    // punpcklwd     %xmm8,%xmm3
+  .byte  102,15,111,5,102,59,1,0             // movdqa        0x13b66(%rip),%xmm0        # 3d350 <_sk_srcover_bgra_8888_sse2_lowp+0x1104>
+  .byte  102,15,219,195                      // pand          %xmm3,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  15,89,5,104,59,1,0                  // mulps         0x13b68(%rip),%xmm0        # 3d360 <_sk_srcover_bgra_8888_sse2_lowp+0x1114>
+  .byte  102,15,111,13,112,59,1,0            // movdqa        0x13b70(%rip),%xmm1        # 3d370 <_sk_srcover_bgra_8888_sse2_lowp+0x1124>
+  .byte  102,15,219,203                      // pand          %xmm3,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  15,89,13,114,59,1,0                 // mulps         0x13b72(%rip),%xmm1        # 3d380 <_sk_srcover_bgra_8888_sse2_lowp+0x1134>
+  .byte  102,15,111,21,122,59,1,0            // movdqa        0x13b7a(%rip),%xmm2        # 3d390 <_sk_srcover_bgra_8888_sse2_lowp+0x1144>
+  .byte  102,15,219,211                      // pand          %xmm3,%xmm2
+  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
+  .byte  15,89,21,124,59,1,0                 // mulps         0x13b7c(%rip),%xmm2        # 3d3a0 <_sk_srcover_bgra_8888_sse2_lowp+0x1154>
+  .byte  102,15,219,29,132,59,1,0            // pand          0x13b84(%rip),%xmm3        # 3d3b0 <_sk_srcover_bgra_8888_sse2_lowp+0x1164>
+  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
+  .byte  15,89,29,138,59,1,0                 // mulps         0x13b8a(%rip),%xmm3        # 3d3c0 <_sk_srcover_bgra_8888_sse2_lowp+0x1174>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_store_4444_sse2
+.globl _sk_store_4444_sse2
+FUNCTION(_sk_store_4444_sse2)
+_sk_store_4444_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,95,200                        // maxps         %xmm0,%xmm9
+  .byte  68,15,40,21,178,54,1,0              // movaps        0x136b2(%rip),%xmm10        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,93,202                        // minps         %xmm10,%xmm9
+  .byte  68,15,40,29,102,59,1,0              // movaps        0x13b66(%rip),%xmm11        # 3d3d0 <_sk_srcover_bgra_8888_sse2_lowp+0x1184>
+  .byte  69,15,89,203                        // mulps         %xmm11,%xmm9
+  .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
+  .byte  102,65,15,114,241,12                // pslld         $0xc,%xmm9
+  .byte  69,15,87,228                        // xorps         %xmm12,%xmm12
+  .byte  68,15,95,225                        // maxps         %xmm1,%xmm12
+  .byte  69,15,93,226                        // minps         %xmm10,%xmm12
+  .byte  69,15,89,227                        // mulps         %xmm11,%xmm12
+  .byte  102,69,15,91,228                    // cvtps2dq      %xmm12,%xmm12
+  .byte  102,65,15,114,244,8                 // pslld         $0x8,%xmm12
+  .byte  102,69,15,235,225                   // por           %xmm9,%xmm12
+  .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
+  .byte  68,15,95,202                        // maxps         %xmm2,%xmm9
+  .byte  69,15,93,202                        // minps         %xmm10,%xmm9
+  .byte  69,15,89,203                        // mulps         %xmm11,%xmm9
+  .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
+  .byte  102,65,15,114,241,4                 // pslld         $0x4,%xmm9
+  .byte  68,15,95,195                        // maxps         %xmm3,%xmm8
+  .byte  69,15,93,194                        // minps         %xmm10,%xmm8
+  .byte  69,15,89,195                        // mulps         %xmm11,%xmm8
+  .byte  102,69,15,91,192                    // cvtps2dq      %xmm8,%xmm8
+  .byte  102,69,15,86,193                    // orpd          %xmm9,%xmm8
+  .byte  102,69,15,86,196                    // orpd          %xmm12,%xmm8
+  .byte  102,65,15,114,240,16                // pslld         $0x10,%xmm8
+  .byte  102,65,15,114,224,16                // psrad         $0x10,%xmm8
+  .byte  102,68,15,107,192                   // packssdw      %xmm0,%xmm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,10                              // jne           298f0 <_sk_store_4444_sse2+0xb6>
+  .byte  102,69,15,214,4,80                  // movq          %xmm8,(%r8,%rdx,2)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,68,15,97,192                    // punpcklwd     %xmm0,%xmm8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,34                              // je            2991f <_sk_store_4444_sse2+0xe5>
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,16                              // je            29911 <_sk_store_4444_sse2+0xd7>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,231                             // jne           298ec <_sk_store_4444_sse2+0xb2>
+  .byte  102,65,15,197,192,4                 // pextrw        $0x4,%xmm8,%eax
+  .byte  102,65,137,68,80,4                  // mov           %ax,0x4(%r8,%rdx,2)
+  .byte  242,69,15,112,192,232               // pshuflw       $0xe8,%xmm8,%xmm8
+  .byte  102,69,15,126,4,80                  // movd          %xmm8,(%r8,%rdx,2)
+  .byte  235,205                             // jmp           298ec <_sk_store_4444_sse2+0xb2>
+  .byte  102,68,15,126,192                   // movd          %xmm8,%eax
+  .byte  102,65,137,4,80                     // mov           %ax,(%r8,%rdx,2)
+  .byte  235,193                             // jmp           298ec <_sk_store_4444_sse2+0xb2>
+
+HIDDEN _sk_load_8888_sse2
+.globl _sk_load_8888_sse2
+FUNCTION(_sk_load_8888_sse2)
+_sk_load_8888_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,98                              // jne           299a3 <_sk_load_8888_sse2+0x78>
+  .byte  243,69,15,111,12,144                // movdqu        (%r8,%rdx,4),%xmm9
+  .byte  102,15,111,21,113,54,1,0            // movdqa        0x13671(%rip),%xmm2        # 3cfc0 <_sk_srcover_bgra_8888_sse2_lowp+0xd74>
+  .byte  102,65,15,111,193                   // movdqa        %xmm9,%xmm0
+  .byte  102,15,219,194                      // pand          %xmm2,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  68,15,40,5,189,55,1,0               // movaps        0x137bd(%rip),%xmm8        # 3d120 <_sk_srcover_bgra_8888_sse2_lowp+0xed4>
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  102,65,15,111,201                   // movdqa        %xmm9,%xmm1
+  .byte  102,15,114,209,8                    // psrld         $0x8,%xmm1
+  .byte  102,15,219,202                      // pand          %xmm2,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
+  .byte  102,65,15,111,217                   // movdqa        %xmm9,%xmm3
+  .byte  102,15,114,211,16                   // psrld         $0x10,%xmm3
+  .byte  102,15,219,218                      // pand          %xmm2,%xmm3
+  .byte  15,91,211                           // cvtdq2ps      %xmm3,%xmm2
+  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
+  .byte  102,65,15,114,209,24                // psrld         $0x18,%xmm9
+  .byte  65,15,91,217                        // cvtdq2ps      %xmm9,%xmm3
+  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,37                              // je            299d0 <_sk_load_8888_sse2+0xa5>
+  .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,17                              // je            299c5 <_sk_load_8888_sse2+0x9a>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,143                             // jne           29947 <_sk_load_8888_sse2+0x1c>
+  .byte  102,65,15,110,68,144,8              // movd          0x8(%r8,%rdx,4),%xmm0
+  .byte  102,68,15,112,200,69                // pshufd        $0x45,%xmm0,%xmm9
+  .byte  102,69,15,18,12,144                 // movlpd        (%r8,%rdx,4),%xmm9
+  .byte  233,119,255,255,255                 // jmpq          29947 <_sk_load_8888_sse2+0x1c>
+  .byte  102,69,15,110,12,144                // movd          (%r8,%rdx,4),%xmm9
+  .byte  233,108,255,255,255                 // jmpq          29947 <_sk_load_8888_sse2+0x1c>
+
+HIDDEN _sk_load_8888_dst_sse2
+.globl _sk_load_8888_dst_sse2
+FUNCTION(_sk_load_8888_dst_sse2)
+_sk_load_8888_dst_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,98                              // jne           29a53 <_sk_load_8888_dst_sse2+0x78>
+  .byte  243,69,15,111,12,144                // movdqu        (%r8,%rdx,4),%xmm9
+  .byte  102,15,111,53,193,53,1,0            // movdqa        0x135c1(%rip),%xmm6        # 3cfc0 <_sk_srcover_bgra_8888_sse2_lowp+0xd74>
+  .byte  102,65,15,111,225                   // movdqa        %xmm9,%xmm4
+  .byte  102,15,219,230                      // pand          %xmm6,%xmm4
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  68,15,40,5,13,55,1,0                // movaps        0x1370d(%rip),%xmm8        # 3d120 <_sk_srcover_bgra_8888_sse2_lowp+0xed4>
+  .byte  65,15,89,224                        // mulps         %xmm8,%xmm4
+  .byte  102,65,15,111,233                   // movdqa        %xmm9,%xmm5
+  .byte  102,15,114,213,8                    // psrld         $0x8,%xmm5
+  .byte  102,15,219,238                      // pand          %xmm6,%xmm5
+  .byte  15,91,237                           // cvtdq2ps      %xmm5,%xmm5
+  .byte  65,15,89,232                        // mulps         %xmm8,%xmm5
+  .byte  102,65,15,111,249                   // movdqa        %xmm9,%xmm7
+  .byte  102,15,114,215,16                   // psrld         $0x10,%xmm7
+  .byte  102,15,219,254                      // pand          %xmm6,%xmm7
+  .byte  15,91,247                           // cvtdq2ps      %xmm7,%xmm6
+  .byte  65,15,89,240                        // mulps         %xmm8,%xmm6
+  .byte  102,65,15,114,209,24                // psrld         $0x18,%xmm9
+  .byte  65,15,91,249                        // cvtdq2ps      %xmm9,%xmm7
+  .byte  65,15,89,248                        // mulps         %xmm8,%xmm7
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,37                              // je            29a80 <_sk_load_8888_dst_sse2+0xa5>
+  .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,17                              // je            29a75 <_sk_load_8888_dst_sse2+0x9a>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,143                             // jne           299f7 <_sk_load_8888_dst_sse2+0x1c>
+  .byte  102,65,15,110,100,144,8             // movd          0x8(%r8,%rdx,4),%xmm4
+  .byte  102,68,15,112,204,69                // pshufd        $0x45,%xmm4,%xmm9
+  .byte  102,69,15,18,12,144                 // movlpd        (%r8,%rdx,4),%xmm9
+  .byte  233,119,255,255,255                 // jmpq          299f7 <_sk_load_8888_dst_sse2+0x1c>
+  .byte  102,69,15,110,12,144                // movd          (%r8,%rdx,4),%xmm9
+  .byte  233,108,255,255,255                 // jmpq          299f7 <_sk_load_8888_dst_sse2+0x1c>
+
+HIDDEN _sk_gather_8888_sse2
+.globl _sk_gather_8888_sse2
+FUNCTION(_sk_gather_8888_sse2)
+_sk_gather_8888_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,15,16,80,12                     // movss         0xc(%rax),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  102,69,15,118,192                   // pcmpeqd       %xmm8,%xmm8
+  .byte  102,65,15,254,208                   // paddd         %xmm8,%xmm2
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,95,200                        // maxps         %xmm0,%xmm9
+  .byte  68,15,93,202                        // minps         %xmm2,%xmm9
+  .byte  243,15,16,64,16                     // movss         0x10(%rax),%xmm0
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  102,65,15,254,192                   // paddd         %xmm8,%xmm0
+  .byte  15,95,217                           // maxps         %xmm1,%xmm3
+  .byte  15,93,216                           // minps         %xmm0,%xmm3
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  243,15,91,195                       // cvttps2dq     %xmm3,%xmm0
+  .byte  102,15,110,72,8                     // movd          0x8(%rax),%xmm1
+  .byte  102,15,112,201,0                    // pshufd        $0x0,%xmm1,%xmm1
+  .byte  102,15,112,208,245                  // pshufd        $0xf5,%xmm0,%xmm2
+  .byte  102,15,244,209                      // pmuludq       %xmm1,%xmm2
+  .byte  102,15,244,200                      // pmuludq       %xmm0,%xmm1
+  .byte  102,15,112,193,232                  // pshufd        $0xe8,%xmm1,%xmm0
+  .byte  102,15,112,202,232                  // pshufd        $0xe8,%xmm2,%xmm1
+  .byte  102,15,98,193                       // punpckldq     %xmm1,%xmm0
+  .byte  243,65,15,91,201                    // cvttps2dq     %xmm9,%xmm1
+  .byte  102,15,254,200                      // paddd         %xmm0,%xmm1
+  .byte  102,15,112,193,78                   // pshufd        $0x4e,%xmm1,%xmm0
+  .byte  102,72,15,126,192                   // movq          %xmm0,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  102,73,15,126,202                   // movq          %xmm1,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  102,67,15,110,4,144                 // movd          (%r8,%r10,4),%xmm0
+  .byte  102,71,15,110,12,152                // movd          (%r8,%r11,4),%xmm9
+  .byte  102,68,15,98,200                    // punpckldq     %xmm0,%xmm9
+  .byte  102,65,15,110,4,128                 // movd          (%r8,%rax,4),%xmm0
+  .byte  102,67,15,110,12,136                // movd          (%r8,%r9,4),%xmm1
+  .byte  102,15,98,200                       // punpckldq     %xmm0,%xmm1
+  .byte  102,68,15,108,201                   // punpcklqdq    %xmm1,%xmm9
+  .byte  102,15,111,21,125,52,1,0            // movdqa        0x1347d(%rip),%xmm2        # 3cfc0 <_sk_srcover_bgra_8888_sse2_lowp+0xd74>
+  .byte  102,65,15,111,193                   // movdqa        %xmm9,%xmm0
+  .byte  102,15,219,194                      // pand          %xmm2,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  68,15,40,5,201,53,1,0               // movaps        0x135c9(%rip),%xmm8        # 3d120 <_sk_srcover_bgra_8888_sse2_lowp+0xed4>
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  102,65,15,111,201                   // movdqa        %xmm9,%xmm1
+  .byte  102,15,114,209,8                    // psrld         $0x8,%xmm1
+  .byte  102,15,219,202                      // pand          %xmm2,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
+  .byte  102,65,15,111,217                   // movdqa        %xmm9,%xmm3
+  .byte  102,15,114,211,16                   // psrld         $0x10,%xmm3
+  .byte  102,15,219,218                      // pand          %xmm2,%xmm3
+  .byte  15,91,211                           // cvtdq2ps      %xmm3,%xmm2
+  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
+  .byte  102,65,15,114,209,24                // psrld         $0x18,%xmm9
+  .byte  65,15,91,217                        // cvtdq2ps      %xmm9,%xmm3
+  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_store_8888_sse2
+.globl _sk_store_8888_sse2
+FUNCTION(_sk_store_8888_sse2)
+_sk_store_8888_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,95,200                        // maxps         %xmm0,%xmm9
+  .byte  68,15,40,21,84,51,1,0               // movaps        0x13354(%rip),%xmm10        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,93,202                        // minps         %xmm10,%xmm9
+  .byte  68,15,40,29,40,52,1,0               // movaps        0x13428(%rip),%xmm11        # 3cff0 <_sk_srcover_bgra_8888_sse2_lowp+0xda4>
+  .byte  69,15,89,203                        // mulps         %xmm11,%xmm9
+  .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
+  .byte  69,15,87,228                        // xorps         %xmm12,%xmm12
+  .byte  68,15,95,225                        // maxps         %xmm1,%xmm12
+  .byte  69,15,93,226                        // minps         %xmm10,%xmm12
+  .byte  69,15,89,227                        // mulps         %xmm11,%xmm12
+  .byte  102,69,15,91,228                    // cvtps2dq      %xmm12,%xmm12
+  .byte  102,65,15,114,244,8                 // pslld         $0x8,%xmm12
+  .byte  102,69,15,235,225                   // por           %xmm9,%xmm12
+  .byte  102,69,15,87,201                    // xorpd         %xmm9,%xmm9
+  .byte  68,15,95,202                        // maxps         %xmm2,%xmm9
+  .byte  69,15,93,202                        // minps         %xmm10,%xmm9
+  .byte  69,15,89,203                        // mulps         %xmm11,%xmm9
+  .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
+  .byte  102,65,15,114,241,16                // pslld         $0x10,%xmm9
+  .byte  68,15,95,195                        // maxps         %xmm3,%xmm8
+  .byte  69,15,93,194                        // minps         %xmm10,%xmm8
+  .byte  69,15,89,195                        // mulps         %xmm11,%xmm8
+  .byte  102,69,15,91,192                    // cvtps2dq      %xmm8,%xmm8
+  .byte  102,65,15,114,240,24                // pslld         $0x18,%xmm8
+  .byte  102,69,15,235,193                   // por           %xmm9,%xmm8
+  .byte  102,69,15,235,196                   // por           %xmm12,%xmm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,10                              // jne           29c3d <_sk_store_8888_sse2+0xa6>
+  .byte  243,69,15,127,4,144                 // movdqu        %xmm8,(%r8,%rdx,4)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,29                              // je            29c62 <_sk_store_8888_sse2+0xcb>
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,17                              // je            29c5a <_sk_store_8888_sse2+0xc3>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,236                             // jne           29c39 <_sk_store_8888_sse2+0xa2>
+  .byte  102,69,15,112,200,78                // pshufd        $0x4e,%xmm8,%xmm9
+  .byte  102,69,15,126,76,144,8              // movd          %xmm9,0x8(%r8,%rdx,4)
+  .byte  102,69,15,214,4,144                 // movq          %xmm8,(%r8,%rdx,4)
+  .byte  235,215                             // jmp           29c39 <_sk_store_8888_sse2+0xa2>
+  .byte  102,69,15,126,4,144                 // movd          %xmm8,(%r8,%rdx,4)
+  .byte  235,207                             // jmp           29c39 <_sk_store_8888_sse2+0xa2>
+
+HIDDEN _sk_load_bgra_sse2
+.globl _sk_load_bgra_sse2
+FUNCTION(_sk_load_bgra_sse2)
+_sk_load_bgra_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,98                              // jne           29ce2 <_sk_load_bgra_sse2+0x78>
+  .byte  243,69,15,111,12,144                // movdqu        (%r8,%rdx,4),%xmm9
+  .byte  102,15,111,5,50,51,1,0              // movdqa        0x13332(%rip),%xmm0        # 3cfc0 <_sk_srcover_bgra_8888_sse2_lowp+0xd74>
+  .byte  102,65,15,111,201                   // movdqa        %xmm9,%xmm1
+  .byte  102,15,219,200                      // pand          %xmm0,%xmm1
+  .byte  15,91,209                           // cvtdq2ps      %xmm1,%xmm2
+  .byte  68,15,40,5,126,52,1,0               // movaps        0x1347e(%rip),%xmm8        # 3d120 <_sk_srcover_bgra_8888_sse2_lowp+0xed4>
+  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
+  .byte  102,65,15,111,201                   // movdqa        %xmm9,%xmm1
+  .byte  102,15,114,209,8                    // psrld         $0x8,%xmm1
+  .byte  102,15,219,200                      // pand          %xmm0,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
+  .byte  102,65,15,111,217                   // movdqa        %xmm9,%xmm3
+  .byte  102,15,114,211,16                   // psrld         $0x10,%xmm3
+  .byte  102,15,219,216                      // pand          %xmm0,%xmm3
+  .byte  15,91,195                           // cvtdq2ps      %xmm3,%xmm0
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  102,65,15,114,209,24                // psrld         $0x18,%xmm9
+  .byte  65,15,91,217                        // cvtdq2ps      %xmm9,%xmm3
+  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,37                              // je            29d0f <_sk_load_bgra_sse2+0xa5>
+  .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,17                              // je            29d04 <_sk_load_bgra_sse2+0x9a>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,143                             // jne           29c86 <_sk_load_bgra_sse2+0x1c>
+  .byte  102,65,15,110,68,144,8              // movd          0x8(%r8,%rdx,4),%xmm0
+  .byte  102,68,15,112,200,69                // pshufd        $0x45,%xmm0,%xmm9
+  .byte  102,69,15,18,12,144                 // movlpd        (%r8,%rdx,4),%xmm9
+  .byte  233,119,255,255,255                 // jmpq          29c86 <_sk_load_bgra_sse2+0x1c>
+  .byte  102,69,15,110,12,144                // movd          (%r8,%rdx,4),%xmm9
+  .byte  233,108,255,255,255                 // jmpq          29c86 <_sk_load_bgra_sse2+0x1c>
+
+HIDDEN _sk_load_bgra_dst_sse2
+.globl _sk_load_bgra_dst_sse2
+FUNCTION(_sk_load_bgra_dst_sse2)
+_sk_load_bgra_dst_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,98                              // jne           29d92 <_sk_load_bgra_dst_sse2+0x78>
+  .byte  243,69,15,111,12,144                // movdqu        (%r8,%rdx,4),%xmm9
+  .byte  102,15,111,37,130,50,1,0            // movdqa        0x13282(%rip),%xmm4        # 3cfc0 <_sk_srcover_bgra_8888_sse2_lowp+0xd74>
+  .byte  102,65,15,111,233                   // movdqa        %xmm9,%xmm5
+  .byte  102,15,219,236                      // pand          %xmm4,%xmm5
+  .byte  15,91,245                           // cvtdq2ps      %xmm5,%xmm6
+  .byte  68,15,40,5,206,51,1,0               // movaps        0x133ce(%rip),%xmm8        # 3d120 <_sk_srcover_bgra_8888_sse2_lowp+0xed4>
+  .byte  65,15,89,240                        // mulps         %xmm8,%xmm6
+  .byte  102,65,15,111,233                   // movdqa        %xmm9,%xmm5
+  .byte  102,15,114,213,8                    // psrld         $0x8,%xmm5
+  .byte  102,15,219,236                      // pand          %xmm4,%xmm5
+  .byte  15,91,237                           // cvtdq2ps      %xmm5,%xmm5
+  .byte  65,15,89,232                        // mulps         %xmm8,%xmm5
+  .byte  102,65,15,111,249                   // movdqa        %xmm9,%xmm7
+  .byte  102,15,114,215,16                   // psrld         $0x10,%xmm7
+  .byte  102,15,219,252                      // pand          %xmm4,%xmm7
+  .byte  15,91,231                           // cvtdq2ps      %xmm7,%xmm4
+  .byte  65,15,89,224                        // mulps         %xmm8,%xmm4
+  .byte  102,65,15,114,209,24                // psrld         $0x18,%xmm9
+  .byte  65,15,91,249                        // cvtdq2ps      %xmm9,%xmm7
+  .byte  65,15,89,248                        // mulps         %xmm8,%xmm7
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,37                              // je            29dbf <_sk_load_bgra_dst_sse2+0xa5>
+  .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,17                              // je            29db4 <_sk_load_bgra_dst_sse2+0x9a>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,143                             // jne           29d36 <_sk_load_bgra_dst_sse2+0x1c>
+  .byte  102,65,15,110,100,144,8             // movd          0x8(%r8,%rdx,4),%xmm4
+  .byte  102,68,15,112,204,69                // pshufd        $0x45,%xmm4,%xmm9
+  .byte  102,69,15,18,12,144                 // movlpd        (%r8,%rdx,4),%xmm9
+  .byte  233,119,255,255,255                 // jmpq          29d36 <_sk_load_bgra_dst_sse2+0x1c>
+  .byte  102,69,15,110,12,144                // movd          (%r8,%rdx,4),%xmm9
+  .byte  233,108,255,255,255                 // jmpq          29d36 <_sk_load_bgra_dst_sse2+0x1c>
+
+HIDDEN _sk_gather_bgra_sse2
+.globl _sk_gather_bgra_sse2
+FUNCTION(_sk_gather_bgra_sse2)
+_sk_gather_bgra_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,15,16,80,12                     // movss         0xc(%rax),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  102,69,15,118,192                   // pcmpeqd       %xmm8,%xmm8
+  .byte  102,65,15,254,208                   // paddd         %xmm8,%xmm2
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,95,200                        // maxps         %xmm0,%xmm9
+  .byte  68,15,93,202                        // minps         %xmm2,%xmm9
+  .byte  243,15,16,64,16                     // movss         0x10(%rax),%xmm0
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  102,65,15,254,192                   // paddd         %xmm8,%xmm0
+  .byte  15,95,217                           // maxps         %xmm1,%xmm3
+  .byte  15,93,216                           // minps         %xmm0,%xmm3
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  243,15,91,195                       // cvttps2dq     %xmm3,%xmm0
+  .byte  102,15,110,72,8                     // movd          0x8(%rax),%xmm1
+  .byte  102,15,112,201,0                    // pshufd        $0x0,%xmm1,%xmm1
+  .byte  102,15,112,208,245                  // pshufd        $0xf5,%xmm0,%xmm2
+  .byte  102,15,244,209                      // pmuludq       %xmm1,%xmm2
+  .byte  102,15,244,200                      // pmuludq       %xmm0,%xmm1
+  .byte  102,15,112,193,232                  // pshufd        $0xe8,%xmm1,%xmm0
+  .byte  102,15,112,202,232                  // pshufd        $0xe8,%xmm2,%xmm1
+  .byte  102,15,98,193                       // punpckldq     %xmm1,%xmm0
+  .byte  243,65,15,91,201                    // cvttps2dq     %xmm9,%xmm1
+  .byte  102,15,254,200                      // paddd         %xmm0,%xmm1
+  .byte  102,15,112,193,78                   // pshufd        $0x4e,%xmm1,%xmm0
+  .byte  102,72,15,126,192                   // movq          %xmm0,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  102,73,15,126,202                   // movq          %xmm1,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  102,67,15,110,4,144                 // movd          (%r8,%r10,4),%xmm0
+  .byte  102,71,15,110,12,152                // movd          (%r8,%r11,4),%xmm9
+  .byte  102,68,15,98,200                    // punpckldq     %xmm0,%xmm9
+  .byte  102,65,15,110,4,128                 // movd          (%r8,%rax,4),%xmm0
+  .byte  102,67,15,110,12,136                // movd          (%r8,%r9,4),%xmm1
+  .byte  102,15,98,200                       // punpckldq     %xmm0,%xmm1
+  .byte  102,68,15,108,201                   // punpcklqdq    %xmm1,%xmm9
+  .byte  102,15,111,5,62,49,1,0              // movdqa        0x1313e(%rip),%xmm0        # 3cfc0 <_sk_srcover_bgra_8888_sse2_lowp+0xd74>
+  .byte  102,65,15,111,201                   // movdqa        %xmm9,%xmm1
+  .byte  102,15,219,200                      // pand          %xmm0,%xmm1
+  .byte  15,91,209                           // cvtdq2ps      %xmm1,%xmm2
+  .byte  68,15,40,5,138,50,1,0               // movaps        0x1328a(%rip),%xmm8        # 3d120 <_sk_srcover_bgra_8888_sse2_lowp+0xed4>
+  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
+  .byte  102,65,15,111,201                   // movdqa        %xmm9,%xmm1
+  .byte  102,15,114,209,8                    // psrld         $0x8,%xmm1
+  .byte  102,15,219,200                      // pand          %xmm0,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
+  .byte  102,65,15,111,217                   // movdqa        %xmm9,%xmm3
+  .byte  102,15,114,211,16                   // psrld         $0x10,%xmm3
+  .byte  102,15,219,216                      // pand          %xmm0,%xmm3
+  .byte  15,91,195                           // cvtdq2ps      %xmm3,%xmm0
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  102,65,15,114,209,24                // psrld         $0x18,%xmm9
+  .byte  65,15,91,217                        // cvtdq2ps      %xmm9,%xmm3
+  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_store_bgra_sse2
+.globl _sk_store_bgra_sse2
+FUNCTION(_sk_store_bgra_sse2)
+_sk_store_bgra_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,95,202                        // maxps         %xmm2,%xmm9
+  .byte  68,15,40,21,21,48,1,0               // movaps        0x13015(%rip),%xmm10        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,93,202                        // minps         %xmm10,%xmm9
+  .byte  68,15,40,29,233,48,1,0              // movaps        0x130e9(%rip),%xmm11        # 3cff0 <_sk_srcover_bgra_8888_sse2_lowp+0xda4>
+  .byte  69,15,89,203                        // mulps         %xmm11,%xmm9
+  .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
+  .byte  69,15,87,228                        // xorps         %xmm12,%xmm12
+  .byte  68,15,95,225                        // maxps         %xmm1,%xmm12
+  .byte  69,15,93,226                        // minps         %xmm10,%xmm12
+  .byte  69,15,89,227                        // mulps         %xmm11,%xmm12
+  .byte  102,69,15,91,228                    // cvtps2dq      %xmm12,%xmm12
+  .byte  102,65,15,114,244,8                 // pslld         $0x8,%xmm12
+  .byte  102,69,15,235,225                   // por           %xmm9,%xmm12
+  .byte  102,69,15,87,201                    // xorpd         %xmm9,%xmm9
+  .byte  68,15,95,200                        // maxps         %xmm0,%xmm9
+  .byte  69,15,93,202                        // minps         %xmm10,%xmm9
+  .byte  69,15,89,203                        // mulps         %xmm11,%xmm9
+  .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
+  .byte  102,65,15,114,241,16                // pslld         $0x10,%xmm9
+  .byte  68,15,95,195                        // maxps         %xmm3,%xmm8
+  .byte  69,15,93,194                        // minps         %xmm10,%xmm8
+  .byte  69,15,89,195                        // mulps         %xmm11,%xmm8
+  .byte  102,69,15,91,192                    // cvtps2dq      %xmm8,%xmm8
+  .byte  102,65,15,114,240,24                // pslld         $0x18,%xmm8
+  .byte  102,69,15,235,193                   // por           %xmm9,%xmm8
+  .byte  102,69,15,235,196                   // por           %xmm12,%xmm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,10                              // jne           29f7c <_sk_store_bgra_sse2+0xa6>
+  .byte  243,69,15,127,4,144                 // movdqu        %xmm8,(%r8,%rdx,4)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,29                              // je            29fa1 <_sk_store_bgra_sse2+0xcb>
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,17                              // je            29f99 <_sk_store_bgra_sse2+0xc3>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,236                             // jne           29f78 <_sk_store_bgra_sse2+0xa2>
+  .byte  102,69,15,112,200,78                // pshufd        $0x4e,%xmm8,%xmm9
+  .byte  102,69,15,126,76,144,8              // movd          %xmm9,0x8(%r8,%rdx,4)
+  .byte  102,69,15,214,4,144                 // movq          %xmm8,(%r8,%rdx,4)
+  .byte  235,215                             // jmp           29f78 <_sk_store_bgra_sse2+0xa2>
+  .byte  102,69,15,126,4,144                 // movd          %xmm8,(%r8,%rdx,4)
+  .byte  235,207                             // jmp           29f78 <_sk_store_bgra_sse2+0xa2>
+
+HIDDEN _sk_load_1010102_sse2
+.globl _sk_load_1010102_sse2
+FUNCTION(_sk_load_1010102_sse2)
+_sk_load_1010102_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,101                             // jne           2a024 <_sk_load_1010102_sse2+0x7b>
+  .byte  243,69,15,111,12,144                // movdqu        (%r8,%rdx,4),%xmm9
+  .byte  102,15,111,21,19,52,1,0             // movdqa        0x13413(%rip),%xmm2        # 3d3e0 <_sk_srcover_bgra_8888_sse2_lowp+0x1194>
+  .byte  102,65,15,111,193                   // movdqa        %xmm9,%xmm0
+  .byte  102,15,219,194                      // pand          %xmm2,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  68,15,40,5,15,52,1,0                // movaps        0x1340f(%rip),%xmm8        # 3d3f0 <_sk_srcover_bgra_8888_sse2_lowp+0x11a4>
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  102,65,15,111,201                   // movdqa        %xmm9,%xmm1
+  .byte  102,15,114,209,10                   // psrld         $0xa,%xmm1
+  .byte  102,15,219,202                      // pand          %xmm2,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
+  .byte  102,65,15,111,217                   // movdqa        %xmm9,%xmm3
+  .byte  102,15,114,211,20                   // psrld         $0x14,%xmm3
+  .byte  102,15,219,218                      // pand          %xmm2,%xmm3
+  .byte  15,91,211                           // cvtdq2ps      %xmm3,%xmm2
+  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
+  .byte  102,65,15,114,209,30                // psrld         $0x1e,%xmm9
+  .byte  65,15,91,217                        // cvtdq2ps      %xmm9,%xmm3
+  .byte  15,89,29,208,48,1,0                 // mulps         0x130d0(%rip),%xmm3        # 3d0f0 <_sk_srcover_bgra_8888_sse2_lowp+0xea4>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,37                              // je            2a051 <_sk_load_1010102_sse2+0xa8>
+  .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,17                              // je            2a046 <_sk_load_1010102_sse2+0x9d>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,140                             // jne           29fc5 <_sk_load_1010102_sse2+0x1c>
+  .byte  102,65,15,110,68,144,8              // movd          0x8(%r8,%rdx,4),%xmm0
+  .byte  102,68,15,112,200,69                // pshufd        $0x45,%xmm0,%xmm9
+  .byte  102,69,15,18,12,144                 // movlpd        (%r8,%rdx,4),%xmm9
+  .byte  233,116,255,255,255                 // jmpq          29fc5 <_sk_load_1010102_sse2+0x1c>
+  .byte  102,69,15,110,12,144                // movd          (%r8,%rdx,4),%xmm9
+  .byte  233,105,255,255,255                 // jmpq          29fc5 <_sk_load_1010102_sse2+0x1c>
+
+HIDDEN _sk_load_1010102_dst_sse2
+.globl _sk_load_1010102_dst_sse2
+FUNCTION(_sk_load_1010102_dst_sse2)
+_sk_load_1010102_dst_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,101                             // jne           2a0d7 <_sk_load_1010102_dst_sse2+0x7b>
+  .byte  243,69,15,111,12,144                // movdqu        (%r8,%rdx,4),%xmm9
+  .byte  102,15,111,53,96,51,1,0             // movdqa        0x13360(%rip),%xmm6        # 3d3e0 <_sk_srcover_bgra_8888_sse2_lowp+0x1194>
+  .byte  102,65,15,111,225                   // movdqa        %xmm9,%xmm4
+  .byte  102,15,219,230                      // pand          %xmm6,%xmm4
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  68,15,40,5,92,51,1,0                // movaps        0x1335c(%rip),%xmm8        # 3d3f0 <_sk_srcover_bgra_8888_sse2_lowp+0x11a4>
+  .byte  65,15,89,224                        // mulps         %xmm8,%xmm4
+  .byte  102,65,15,111,233                   // movdqa        %xmm9,%xmm5
+  .byte  102,15,114,213,10                   // psrld         $0xa,%xmm5
+  .byte  102,15,219,238                      // pand          %xmm6,%xmm5
+  .byte  15,91,237                           // cvtdq2ps      %xmm5,%xmm5
+  .byte  65,15,89,232                        // mulps         %xmm8,%xmm5
+  .byte  102,65,15,111,249                   // movdqa        %xmm9,%xmm7
+  .byte  102,15,114,215,20                   // psrld         $0x14,%xmm7
+  .byte  102,15,219,254                      // pand          %xmm6,%xmm7
+  .byte  15,91,247                           // cvtdq2ps      %xmm7,%xmm6
+  .byte  65,15,89,240                        // mulps         %xmm8,%xmm6
+  .byte  102,65,15,114,209,30                // psrld         $0x1e,%xmm9
+  .byte  65,15,91,249                        // cvtdq2ps      %xmm9,%xmm7
+  .byte  15,89,61,29,48,1,0                  // mulps         0x1301d(%rip),%xmm7        # 3d0f0 <_sk_srcover_bgra_8888_sse2_lowp+0xea4>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,37                              // je            2a104 <_sk_load_1010102_dst_sse2+0xa8>
+  .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,17                              // je            2a0f9 <_sk_load_1010102_dst_sse2+0x9d>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,140                             // jne           2a078 <_sk_load_1010102_dst_sse2+0x1c>
+  .byte  102,65,15,110,100,144,8             // movd          0x8(%r8,%rdx,4),%xmm4
+  .byte  102,68,15,112,204,69                // pshufd        $0x45,%xmm4,%xmm9
+  .byte  102,69,15,18,12,144                 // movlpd        (%r8,%rdx,4),%xmm9
+  .byte  233,116,255,255,255                 // jmpq          2a078 <_sk_load_1010102_dst_sse2+0x1c>
+  .byte  102,69,15,110,12,144                // movd          (%r8,%rdx,4),%xmm9
+  .byte  233,105,255,255,255                 // jmpq          2a078 <_sk_load_1010102_dst_sse2+0x1c>
+
+HIDDEN _sk_gather_1010102_sse2
+.globl _sk_gather_1010102_sse2
+FUNCTION(_sk_gather_1010102_sse2)
+_sk_gather_1010102_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,15,16,80,12                     // movss         0xc(%rax),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  102,69,15,118,192                   // pcmpeqd       %xmm8,%xmm8
+  .byte  102,65,15,254,208                   // paddd         %xmm8,%xmm2
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,95,200                        // maxps         %xmm0,%xmm9
+  .byte  68,15,93,202                        // minps         %xmm2,%xmm9
+  .byte  243,15,16,64,16                     // movss         0x10(%rax),%xmm0
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  102,65,15,254,192                   // paddd         %xmm8,%xmm0
+  .byte  15,95,217                           // maxps         %xmm1,%xmm3
+  .byte  15,93,216                           // minps         %xmm0,%xmm3
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  243,15,91,195                       // cvttps2dq     %xmm3,%xmm0
+  .byte  102,15,110,72,8                     // movd          0x8(%rax),%xmm1
+  .byte  102,15,112,201,0                    // pshufd        $0x0,%xmm1,%xmm1
+  .byte  102,15,112,208,245                  // pshufd        $0xf5,%xmm0,%xmm2
+  .byte  102,15,244,209                      // pmuludq       %xmm1,%xmm2
+  .byte  102,15,244,200                      // pmuludq       %xmm0,%xmm1
+  .byte  102,15,112,193,232                  // pshufd        $0xe8,%xmm1,%xmm0
+  .byte  102,15,112,202,232                  // pshufd        $0xe8,%xmm2,%xmm1
+  .byte  102,15,98,193                       // punpckldq     %xmm1,%xmm0
+  .byte  243,65,15,91,201                    // cvttps2dq     %xmm9,%xmm1
+  .byte  102,15,254,200                      // paddd         %xmm0,%xmm1
+  .byte  102,15,112,193,78                   // pshufd        $0x4e,%xmm1,%xmm0
+  .byte  102,72,15,126,192                   // movq          %xmm0,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  102,73,15,126,202                   // movq          %xmm1,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  102,67,15,110,4,144                 // movd          (%r8,%r10,4),%xmm0
+  .byte  102,71,15,110,12,152                // movd          (%r8,%r11,4),%xmm9
+  .byte  102,68,15,98,200                    // punpckldq     %xmm0,%xmm9
+  .byte  102,65,15,110,4,128                 // movd          (%r8,%rax,4),%xmm0
+  .byte  102,67,15,110,12,136                // movd          (%r8,%r9,4),%xmm1
+  .byte  102,15,98,200                       // punpckldq     %xmm0,%xmm1
+  .byte  102,68,15,108,201                   // punpcklqdq    %xmm1,%xmm9
+  .byte  102,15,111,21,25,50,1,0             // movdqa        0x13219(%rip),%xmm2        # 3d3e0 <_sk_srcover_bgra_8888_sse2_lowp+0x1194>
+  .byte  102,65,15,111,193                   // movdqa        %xmm9,%xmm0
+  .byte  102,15,219,194                      // pand          %xmm2,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  68,15,40,5,21,50,1,0                // movaps        0x13215(%rip),%xmm8        # 3d3f0 <_sk_srcover_bgra_8888_sse2_lowp+0x11a4>
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  102,65,15,111,201                   // movdqa        %xmm9,%xmm1
+  .byte  102,15,114,209,10                   // psrld         $0xa,%xmm1
+  .byte  102,15,219,202                      // pand          %xmm2,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
+  .byte  102,65,15,111,217                   // movdqa        %xmm9,%xmm3
+  .byte  102,15,114,211,20                   // psrld         $0x14,%xmm3
+  .byte  102,15,219,218                      // pand          %xmm2,%xmm3
+  .byte  15,91,211                           // cvtdq2ps      %xmm3,%xmm2
+  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
+  .byte  102,65,15,114,209,30                // psrld         $0x1e,%xmm9
+  .byte  65,15,91,217                        // cvtdq2ps      %xmm9,%xmm3
+  .byte  15,89,29,214,46,1,0                 // mulps         0x12ed6(%rip),%xmm3        # 3d0f0 <_sk_srcover_bgra_8888_sse2_lowp+0xea4>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_store_1010102_sse2
+.globl _sk_store_1010102_sse2
+FUNCTION(_sk_store_1010102_sse2)
+_sk_store_1010102_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,95,200                        // maxps         %xmm0,%xmm9
+  .byte  68,15,40,21,205,44,1,0              // movaps        0x12ccd(%rip),%xmm10        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,93,202                        // minps         %xmm10,%xmm9
+  .byte  68,15,40,29,177,49,1,0              // movaps        0x131b1(%rip),%xmm11        # 3d400 <_sk_srcover_bgra_8888_sse2_lowp+0x11b4>
+  .byte  69,15,89,203                        // mulps         %xmm11,%xmm9
+  .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
+  .byte  69,15,87,228                        // xorps         %xmm12,%xmm12
+  .byte  68,15,95,225                        // maxps         %xmm1,%xmm12
+  .byte  69,15,93,226                        // minps         %xmm10,%xmm12
+  .byte  69,15,89,227                        // mulps         %xmm11,%xmm12
+  .byte  102,69,15,91,228                    // cvtps2dq      %xmm12,%xmm12
+  .byte  102,65,15,114,244,10                // pslld         $0xa,%xmm12
+  .byte  102,69,15,235,225                   // por           %xmm9,%xmm12
+  .byte  102,69,15,87,201                    // xorpd         %xmm9,%xmm9
+  .byte  68,15,95,202                        // maxps         %xmm2,%xmm9
+  .byte  69,15,93,202                        // minps         %xmm10,%xmm9
+  .byte  69,15,89,203                        // mulps         %xmm11,%xmm9
+  .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
+  .byte  102,65,15,114,241,20                // pslld         $0x14,%xmm9
+  .byte  102,69,15,235,204                   // por           %xmm12,%xmm9
+  .byte  68,15,95,195                        // maxps         %xmm3,%xmm8
+  .byte  69,15,93,194                        // minps         %xmm10,%xmm8
+  .byte  68,15,89,5,103,49,1,0               // mulps         0x13167(%rip),%xmm8        # 3d410 <_sk_srcover_bgra_8888_sse2_lowp+0x11c4>
+  .byte  102,69,15,91,192                    // cvtps2dq      %xmm8,%xmm8
+  .byte  102,65,15,114,240,30                // pslld         $0x1e,%xmm8
+  .byte  102,69,15,235,193                   // por           %xmm9,%xmm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,10                              // jne           2a2c8 <_sk_store_1010102_sse2+0xaa>
+  .byte  243,69,15,127,4,144                 // movdqu        %xmm8,(%r8,%rdx,4)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,29                              // je            2a2ed <_sk_store_1010102_sse2+0xcf>
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,17                              // je            2a2e5 <_sk_store_1010102_sse2+0xc7>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  117,236                             // jne           2a2c4 <_sk_store_1010102_sse2+0xa6>
+  .byte  102,69,15,112,200,78                // pshufd        $0x4e,%xmm8,%xmm9
+  .byte  102,69,15,126,76,144,8              // movd          %xmm9,0x8(%r8,%rdx,4)
+  .byte  102,69,15,214,4,144                 // movq          %xmm8,(%r8,%rdx,4)
+  .byte  235,215                             // jmp           2a2c4 <_sk_store_1010102_sse2+0xa6>
+  .byte  102,69,15,126,4,144                 // movd          %xmm8,(%r8,%rdx,4)
+  .byte  235,207                             // jmp           2a2c4 <_sk_store_1010102_sse2+0xa6>
+
+HIDDEN _sk_load_f16_sse2
+.globl _sk_load_f16_sse2
+FUNCTION(_sk_load_f16_sse2)
+_sk_load_f16_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,3                        // shl           $0x3,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,47,1,0,0                     // jne           2a43e <_sk_load_f16_sse2+0x149>
+  .byte  102,65,15,16,4,208                  // movupd        (%r8,%rdx,8),%xmm0
+  .byte  243,65,15,111,76,208,16             // movdqu        0x10(%r8,%rdx,8),%xmm1
+  .byte  102,68,15,40,192                    // movapd        %xmm0,%xmm8
+  .byte  102,68,15,97,193                    // punpcklwd     %xmm1,%xmm8
+  .byte  102,15,105,193                      // punpckhwd     %xmm1,%xmm0
+  .byte  102,65,15,111,208                   // movdqa        %xmm8,%xmm2
+  .byte  102,15,97,208                       // punpcklwd     %xmm0,%xmm2
+  .byte  102,68,15,105,192                   // punpckhwd     %xmm0,%xmm8
+  .byte  102,69,15,239,210                   // pxor          %xmm10,%xmm10
+  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
+  .byte  102,65,15,97,202                    // punpcklwd     %xmm10,%xmm1
+  .byte  102,68,15,111,13,209,48,1,0         // movdqa        0x130d1(%rip),%xmm9        # 3d420 <_sk_srcover_bgra_8888_sse2_lowp+0x11d4>
+  .byte  102,68,15,111,225                   // movdqa        %xmm1,%xmm12
+  .byte  102,69,15,219,225                   // pand          %xmm9,%xmm12
+  .byte  102,68,15,111,29,206,48,1,0         // movdqa        0x130ce(%rip),%xmm11        # 3d430 <_sk_srcover_bgra_8888_sse2_lowp+0x11e4>
+  .byte  102,65,15,219,203                   // pand          %xmm11,%xmm1
+  .byte  102,15,111,29,209,48,1,0            // movdqa        0x130d1(%rip),%xmm3        # 3d440 <_sk_srcover_bgra_8888_sse2_lowp+0x11f4>
+  .byte  102,65,15,114,244,16                // pslld         $0x10,%xmm12
+  .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
+  .byte  102,15,102,193                      // pcmpgtd       %xmm1,%xmm0
+  .byte  102,15,114,241,13                   // pslld         $0xd,%xmm1
+  .byte  102,65,15,235,204                   // por           %xmm12,%xmm1
+  .byte  102,68,15,111,37,192,48,1,0         // movdqa        0x130c0(%rip),%xmm12        # 3d450 <_sk_srcover_bgra_8888_sse2_lowp+0x1204>
+  .byte  102,65,15,254,204                   // paddd         %xmm12,%xmm1
+  .byte  102,15,223,193                      // pandn         %xmm1,%xmm0
+  .byte  102,65,15,105,210                   // punpckhwd     %xmm10,%xmm2
+  .byte  102,68,15,111,234                   // movdqa        %xmm2,%xmm13
+  .byte  102,69,15,219,233                   // pand          %xmm9,%xmm13
+  .byte  102,65,15,219,211                   // pand          %xmm11,%xmm2
+  .byte  102,65,15,114,245,16                // pslld         $0x10,%xmm13
+  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
+  .byte  102,15,102,202                      // pcmpgtd       %xmm2,%xmm1
+  .byte  102,15,114,242,13                   // pslld         $0xd,%xmm2
+  .byte  102,65,15,235,213                   // por           %xmm13,%xmm2
+  .byte  102,65,15,254,212                   // paddd         %xmm12,%xmm2
+  .byte  102,15,223,202                      // pandn         %xmm2,%xmm1
+  .byte  102,69,15,111,232                   // movdqa        %xmm8,%xmm13
+  .byte  102,69,15,97,234                    // punpcklwd     %xmm10,%xmm13
+  .byte  102,69,15,111,245                   // movdqa        %xmm13,%xmm14
+  .byte  102,69,15,219,241                   // pand          %xmm9,%xmm14
+  .byte  102,69,15,219,235                   // pand          %xmm11,%xmm13
+  .byte  102,65,15,114,246,16                // pslld         $0x10,%xmm14
+  .byte  102,15,111,211                      // movdqa        %xmm3,%xmm2
+  .byte  102,65,15,102,213                   // pcmpgtd       %xmm13,%xmm2
+  .byte  102,65,15,114,245,13                // pslld         $0xd,%xmm13
+  .byte  102,69,15,235,238                   // por           %xmm14,%xmm13
+  .byte  102,69,15,254,236                   // paddd         %xmm12,%xmm13
+  .byte  102,65,15,223,213                   // pandn         %xmm13,%xmm2
+  .byte  102,69,15,105,194                   // punpckhwd     %xmm10,%xmm8
+  .byte  102,69,15,219,200                   // pand          %xmm8,%xmm9
+  .byte  102,69,15,219,195                   // pand          %xmm11,%xmm8
+  .byte  102,65,15,114,241,16                // pslld         $0x10,%xmm9
+  .byte  102,65,15,102,216                   // pcmpgtd       %xmm8,%xmm3
+  .byte  102,65,15,114,240,13                // pslld         $0xd,%xmm8
+  .byte  102,69,15,235,193                   // por           %xmm9,%xmm8
+  .byte  102,69,15,254,196                   // paddd         %xmm12,%xmm8
+  .byte  102,65,15,223,216                   // pandn         %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  242,65,15,16,4,208                  // movsd         (%r8,%rdx,8),%xmm0
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  117,13                              // jne           2a457 <_sk_load_f16_sse2+0x162>
+  .byte  243,15,126,192                      // movq          %xmm0,%xmm0
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  233,197,254,255,255                 // jmpq          2a31c <_sk_load_f16_sse2+0x27>
+  .byte  102,65,15,22,68,208,8               // movhpd        0x8(%r8,%rdx,8),%xmm0
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  15,130,176,254,255,255              // jb            2a31c <_sk_load_f16_sse2+0x27>
+  .byte  243,65,15,126,76,208,16             // movq          0x10(%r8,%rdx,8),%xmm1
+  .byte  233,164,254,255,255                 // jmpq          2a31c <_sk_load_f16_sse2+0x27>
+
+HIDDEN _sk_load_f16_dst_sse2
+.globl _sk_load_f16_dst_sse2
+FUNCTION(_sk_load_f16_dst_sse2)
+_sk_load_f16_dst_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,3                        // shl           $0x3,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,47,1,0,0                     // jne           2a5c1 <_sk_load_f16_dst_sse2+0x149>
+  .byte  102,65,15,16,36,208                 // movupd        (%r8,%rdx,8),%xmm4
+  .byte  243,65,15,111,108,208,16            // movdqu        0x10(%r8,%rdx,8),%xmm5
+  .byte  102,68,15,40,196                    // movapd        %xmm4,%xmm8
+  .byte  102,68,15,97,197                    // punpcklwd     %xmm5,%xmm8
+  .byte  102,15,105,229                      // punpckhwd     %xmm5,%xmm4
+  .byte  102,65,15,111,240                   // movdqa        %xmm8,%xmm6
+  .byte  102,15,97,244                       // punpcklwd     %xmm4,%xmm6
+  .byte  102,68,15,105,196                   // punpckhwd     %xmm4,%xmm8
+  .byte  102,69,15,239,210                   // pxor          %xmm10,%xmm10
+  .byte  102,15,111,238                      // movdqa        %xmm6,%xmm5
+  .byte  102,65,15,97,234                    // punpcklwd     %xmm10,%xmm5
+  .byte  102,68,15,111,13,78,47,1,0          // movdqa        0x12f4e(%rip),%xmm9        # 3d420 <_sk_srcover_bgra_8888_sse2_lowp+0x11d4>
+  .byte  102,68,15,111,229                   // movdqa        %xmm5,%xmm12
+  .byte  102,69,15,219,225                   // pand          %xmm9,%xmm12
+  .byte  102,68,15,111,29,75,47,1,0          // movdqa        0x12f4b(%rip),%xmm11        # 3d430 <_sk_srcover_bgra_8888_sse2_lowp+0x11e4>
+  .byte  102,65,15,219,235                   // pand          %xmm11,%xmm5
+  .byte  102,15,111,61,78,47,1,0             // movdqa        0x12f4e(%rip),%xmm7        # 3d440 <_sk_srcover_bgra_8888_sse2_lowp+0x11f4>
+  .byte  102,65,15,114,244,16                // pslld         $0x10,%xmm12
+  .byte  102,15,111,231                      // movdqa        %xmm7,%xmm4
+  .byte  102,15,102,229                      // pcmpgtd       %xmm5,%xmm4
+  .byte  102,15,114,245,13                   // pslld         $0xd,%xmm5
+  .byte  102,65,15,235,236                   // por           %xmm12,%xmm5
+  .byte  102,68,15,111,37,61,47,1,0          // movdqa        0x12f3d(%rip),%xmm12        # 3d450 <_sk_srcover_bgra_8888_sse2_lowp+0x1204>
+  .byte  102,65,15,254,236                   // paddd         %xmm12,%xmm5
+  .byte  102,15,223,229                      // pandn         %xmm5,%xmm4
+  .byte  102,65,15,105,242                   // punpckhwd     %xmm10,%xmm6
+  .byte  102,68,15,111,238                   // movdqa        %xmm6,%xmm13
+  .byte  102,69,15,219,233                   // pand          %xmm9,%xmm13
+  .byte  102,65,15,219,243                   // pand          %xmm11,%xmm6
+  .byte  102,65,15,114,245,16                // pslld         $0x10,%xmm13
+  .byte  102,15,111,239                      // movdqa        %xmm7,%xmm5
+  .byte  102,15,102,238                      // pcmpgtd       %xmm6,%xmm5
+  .byte  102,15,114,246,13                   // pslld         $0xd,%xmm6
+  .byte  102,65,15,235,245                   // por           %xmm13,%xmm6
+  .byte  102,65,15,254,244                   // paddd         %xmm12,%xmm6
+  .byte  102,15,223,238                      // pandn         %xmm6,%xmm5
+  .byte  102,69,15,111,232                   // movdqa        %xmm8,%xmm13
+  .byte  102,69,15,97,234                    // punpcklwd     %xmm10,%xmm13
+  .byte  102,69,15,111,245                   // movdqa        %xmm13,%xmm14
+  .byte  102,69,15,219,241                   // pand          %xmm9,%xmm14
+  .byte  102,69,15,219,235                   // pand          %xmm11,%xmm13
+  .byte  102,65,15,114,246,16                // pslld         $0x10,%xmm14
+  .byte  102,15,111,247                      // movdqa        %xmm7,%xmm6
+  .byte  102,65,15,102,245                   // pcmpgtd       %xmm13,%xmm6
+  .byte  102,65,15,114,245,13                // pslld         $0xd,%xmm13
+  .byte  102,69,15,235,238                   // por           %xmm14,%xmm13
+  .byte  102,69,15,254,236                   // paddd         %xmm12,%xmm13
+  .byte  102,65,15,223,245                   // pandn         %xmm13,%xmm6
+  .byte  102,69,15,105,194                   // punpckhwd     %xmm10,%xmm8
+  .byte  102,69,15,219,200                   // pand          %xmm8,%xmm9
+  .byte  102,69,15,219,195                   // pand          %xmm11,%xmm8
+  .byte  102,65,15,114,241,16                // pslld         $0x10,%xmm9
+  .byte  102,65,15,102,248                   // pcmpgtd       %xmm8,%xmm7
+  .byte  102,65,15,114,240,13                // pslld         $0xd,%xmm8
+  .byte  102,69,15,235,193                   // por           %xmm9,%xmm8
+  .byte  102,69,15,254,196                   // paddd         %xmm12,%xmm8
+  .byte  102,65,15,223,248                   // pandn         %xmm8,%xmm7
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  242,65,15,16,36,208                 // movsd         (%r8,%rdx,8),%xmm4
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  117,13                              // jne           2a5da <_sk_load_f16_dst_sse2+0x162>
+  .byte  243,15,126,228                      // movq          %xmm4,%xmm4
+  .byte  102,15,239,237                      // pxor          %xmm5,%xmm5
+  .byte  233,197,254,255,255                 // jmpq          2a49f <_sk_load_f16_dst_sse2+0x27>
+  .byte  102,65,15,22,100,208,8              // movhpd        0x8(%r8,%rdx,8),%xmm4
+  .byte  102,15,239,237                      // pxor          %xmm5,%xmm5
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  15,130,176,254,255,255              // jb            2a49f <_sk_load_f16_dst_sse2+0x27>
+  .byte  243,65,15,126,108,208,16            // movq          0x10(%r8,%rdx,8),%xmm5
+  .byte  233,164,254,255,255                 // jmpq          2a49f <_sk_load_f16_dst_sse2+0x27>
+
+HIDDEN _sk_gather_f16_sse2
+.globl _sk_gather_f16_sse2
+FUNCTION(_sk_gather_f16_sse2)
+_sk_gather_f16_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,15,16,80,12                     // movss         0xc(%rax),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  102,69,15,118,201                   // pcmpeqd       %xmm9,%xmm9
+  .byte  102,65,15,254,209                   // paddd         %xmm9,%xmm2
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  15,95,216                           // maxps         %xmm0,%xmm3
+  .byte  15,93,218                           // minps         %xmm2,%xmm3
+  .byte  243,15,16,64,16                     // movss         0x10(%rax),%xmm0
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  102,65,15,254,193                   // paddd         %xmm9,%xmm0
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  15,95,209                           // maxps         %xmm1,%xmm2
+  .byte  15,93,208                           // minps         %xmm0,%xmm2
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  243,15,91,194                       // cvttps2dq     %xmm2,%xmm0
+  .byte  102,15,110,72,8                     // movd          0x8(%rax),%xmm1
+  .byte  102,15,112,201,0                    // pshufd        $0x0,%xmm1,%xmm1
+  .byte  102,15,112,208,245                  // pshufd        $0xf5,%xmm0,%xmm2
+  .byte  102,15,244,209                      // pmuludq       %xmm1,%xmm2
+  .byte  102,15,244,200                      // pmuludq       %xmm0,%xmm1
+  .byte  102,15,112,193,232                  // pshufd        $0xe8,%xmm1,%xmm0
+  .byte  102,15,112,202,232                  // pshufd        $0xe8,%xmm2,%xmm1
+  .byte  102,15,98,193                       // punpckldq     %xmm1,%xmm0
+  .byte  243,15,91,203                       // cvttps2dq     %xmm3,%xmm1
+  .byte  102,15,254,200                      // paddd         %xmm0,%xmm1
+  .byte  102,15,112,193,78                   // pshufd        $0x4e,%xmm1,%xmm0
+  .byte  102,72,15,126,192                   // movq          %xmm0,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  102,73,15,126,202                   // movq          %xmm1,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  243,67,15,126,4,208                 // movq          (%r8,%r10,8),%xmm0
+  .byte  243,67,15,126,12,216                // movq          (%r8,%r11,8),%xmm1
+  .byte  102,15,108,200                      // punpcklqdq    %xmm0,%xmm1
+  .byte  243,65,15,126,4,192                 // movq          (%r8,%rax,8),%xmm0
+  .byte  243,67,15,126,20,200                // movq          (%r8,%r9,8),%xmm2
+  .byte  102,15,108,208                      // punpcklqdq    %xmm0,%xmm2
+  .byte  102,68,15,111,201                   // movdqa        %xmm1,%xmm9
+  .byte  102,68,15,97,202                    // punpcklwd     %xmm2,%xmm9
+  .byte  102,15,105,202                      // punpckhwd     %xmm2,%xmm1
+  .byte  102,65,15,111,209                   // movdqa        %xmm9,%xmm2
+  .byte  102,15,97,209                       // punpcklwd     %xmm1,%xmm2
+  .byte  102,68,15,105,201                   // punpckhwd     %xmm1,%xmm9
+  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
+  .byte  102,65,15,97,200                    // punpcklwd     %xmm8,%xmm1
+  .byte  102,68,15,111,21,76,45,1,0          // movdqa        0x12d4c(%rip),%xmm10        # 3d420 <_sk_srcover_bgra_8888_sse2_lowp+0x11d4>
+  .byte  102,68,15,111,225                   // movdqa        %xmm1,%xmm12
+  .byte  102,69,15,219,226                   // pand          %xmm10,%xmm12
+  .byte  102,68,15,111,29,73,45,1,0          // movdqa        0x12d49(%rip),%xmm11        # 3d430 <_sk_srcover_bgra_8888_sse2_lowp+0x11e4>
+  .byte  102,65,15,219,203                   // pand          %xmm11,%xmm1
+  .byte  102,15,111,29,76,45,1,0             // movdqa        0x12d4c(%rip),%xmm3        # 3d440 <_sk_srcover_bgra_8888_sse2_lowp+0x11f4>
+  .byte  102,65,15,114,244,16                // pslld         $0x10,%xmm12
+  .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
+  .byte  102,15,102,193                      // pcmpgtd       %xmm1,%xmm0
+  .byte  102,15,114,241,13                   // pslld         $0xd,%xmm1
+  .byte  102,65,15,235,204                   // por           %xmm12,%xmm1
+  .byte  102,68,15,111,37,59,45,1,0          // movdqa        0x12d3b(%rip),%xmm12        # 3d450 <_sk_srcover_bgra_8888_sse2_lowp+0x1204>
+  .byte  102,65,15,254,204                   // paddd         %xmm12,%xmm1
+  .byte  102,15,223,193                      // pandn         %xmm1,%xmm0
+  .byte  102,65,15,105,208                   // punpckhwd     %xmm8,%xmm2
+  .byte  102,68,15,111,234                   // movdqa        %xmm2,%xmm13
+  .byte  102,69,15,219,234                   // pand          %xmm10,%xmm13
+  .byte  102,65,15,219,211                   // pand          %xmm11,%xmm2
+  .byte  102,65,15,114,245,16                // pslld         $0x10,%xmm13
+  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
+  .byte  102,15,102,202                      // pcmpgtd       %xmm2,%xmm1
+  .byte  102,15,114,242,13                   // pslld         $0xd,%xmm2
+  .byte  102,65,15,235,213                   // por           %xmm13,%xmm2
+  .byte  102,65,15,254,212                   // paddd         %xmm12,%xmm2
+  .byte  102,15,223,202                      // pandn         %xmm2,%xmm1
+  .byte  102,69,15,111,233                   // movdqa        %xmm9,%xmm13
+  .byte  102,69,15,97,232                    // punpcklwd     %xmm8,%xmm13
+  .byte  102,69,15,111,245                   // movdqa        %xmm13,%xmm14
+  .byte  102,69,15,219,242                   // pand          %xmm10,%xmm14
+  .byte  102,69,15,219,235                   // pand          %xmm11,%xmm13
+  .byte  102,65,15,114,246,16                // pslld         $0x10,%xmm14
+  .byte  102,15,111,211                      // movdqa        %xmm3,%xmm2
+  .byte  102,65,15,102,213                   // pcmpgtd       %xmm13,%xmm2
+  .byte  102,65,15,114,245,13                // pslld         $0xd,%xmm13
+  .byte  102,69,15,235,238                   // por           %xmm14,%xmm13
+  .byte  102,69,15,254,236                   // paddd         %xmm12,%xmm13
+  .byte  102,65,15,223,213                   // pandn         %xmm13,%xmm2
+  .byte  102,69,15,105,200                   // punpckhwd     %xmm8,%xmm9
+  .byte  102,69,15,219,209                   // pand          %xmm9,%xmm10
+  .byte  102,69,15,219,203                   // pand          %xmm11,%xmm9
+  .byte  102,65,15,114,242,16                // pslld         $0x10,%xmm10
+  .byte  102,65,15,102,217                   // pcmpgtd       %xmm9,%xmm3
+  .byte  102,65,15,114,241,13                // pslld         $0xd,%xmm9
+  .byte  102,69,15,235,202                   // por           %xmm10,%xmm9
+  .byte  102,69,15,254,204                   // paddd         %xmm12,%xmm9
+  .byte  102,65,15,223,217                   // pandn         %xmm9,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_store_f16_sse2
+.globl _sk_store_f16_sse2
+FUNCTION(_sk_store_f16_sse2)
+_sk_store_f16_sse2:
+  .byte  15,41,124,36,232                    // movaps        %xmm7,-0x18(%rsp)
+  .byte  102,68,15,111,29,143,44,1,0         // movdqa        0x12c8f(%rip),%xmm11        # 3d460 <_sk_srcover_bgra_8888_sse2_lowp+0x1214>
+  .byte  102,68,15,111,192                   // movdqa        %xmm0,%xmm8
+  .byte  102,69,15,219,195                   // pand          %xmm11,%xmm8
+  .byte  102,68,15,111,21,140,44,1,0         // movdqa        0x12c8c(%rip),%xmm10        # 3d470 <_sk_srcover_bgra_8888_sse2_lowp+0x1224>
+  .byte  102,68,15,111,240                   // movdqa        %xmm0,%xmm14
+  .byte  102,69,15,219,242                   // pand          %xmm10,%xmm14
+  .byte  102,15,111,61,138,44,1,0            // movdqa        0x12c8a(%rip),%xmm7        # 3d480 <_sk_srcover_bgra_8888_sse2_lowp+0x1234>
+  .byte  102,68,15,111,37,17,46,1,0          // movdqa        0x12e11(%rip),%xmm12        # 3d610 <_sk_srcover_bgra_8888_sse2_lowp+0x13c4>
+  .byte  102,68,15,111,248                   // movdqa        %xmm0,%xmm15
+  .byte  102,65,15,114,247,3                 // pslld         $0x3,%xmm15
+  .byte  102,69,15,219,252                   // pand          %xmm12,%xmm15
+  .byte  102,69,15,254,248                   // paddd         %xmm8,%xmm15
+  .byte  102,68,15,111,45,163,40,1,0         // movdqa        0x128a3(%rip),%xmm13        # 3d0c0 <_sk_srcover_bgra_8888_sse2_lowp+0xe74>
+  .byte  102,69,15,254,253                   // paddd         %xmm13,%xmm15
+  .byte  102,65,15,114,231,16                // psrad         $0x10,%xmm15
+  .byte  102,68,15,111,199                   // movdqa        %xmm7,%xmm8
+  .byte  102,69,15,102,198                   // pcmpgtd       %xmm14,%xmm8
+  .byte  102,69,15,223,199                   // pandn         %xmm15,%xmm8
+  .byte  102,68,15,111,241                   // movdqa        %xmm1,%xmm14
+  .byte  102,69,15,219,243                   // pand          %xmm11,%xmm14
+  .byte  102,68,15,111,249                   // movdqa        %xmm1,%xmm15
+  .byte  102,65,15,114,247,3                 // pslld         $0x3,%xmm15
+  .byte  102,69,15,219,252                   // pand          %xmm12,%xmm15
+  .byte  102,69,15,254,254                   // paddd         %xmm14,%xmm15
+  .byte  102,68,15,111,241                   // movdqa        %xmm1,%xmm14
+  .byte  102,69,15,219,242                   // pand          %xmm10,%xmm14
+  .byte  102,68,15,111,207                   // movdqa        %xmm7,%xmm9
+  .byte  102,69,15,102,206                   // pcmpgtd       %xmm14,%xmm9
+  .byte  102,68,15,107,192                   // packssdw      %xmm0,%xmm8
+  .byte  102,69,15,254,253                   // paddd         %xmm13,%xmm15
+  .byte  102,65,15,114,231,16                // psrad         $0x10,%xmm15
+  .byte  102,69,15,223,207                   // pandn         %xmm15,%xmm9
+  .byte  102,68,15,107,200                   // packssdw      %xmm0,%xmm9
+  .byte  102,69,15,97,193                    // punpcklwd     %xmm9,%xmm8
+  .byte  102,68,15,111,202                   // movdqa        %xmm2,%xmm9
+  .byte  102,69,15,219,203                   // pand          %xmm11,%xmm9
+  .byte  102,68,15,111,250                   // movdqa        %xmm2,%xmm15
+  .byte  102,65,15,114,247,3                 // pslld         $0x3,%xmm15
+  .byte  102,69,15,219,252                   // pand          %xmm12,%xmm15
+  .byte  102,69,15,254,249                   // paddd         %xmm9,%xmm15
+  .byte  102,68,15,111,202                   // movdqa        %xmm2,%xmm9
+  .byte  102,69,15,219,202                   // pand          %xmm10,%xmm9
+  .byte  102,68,15,111,247                   // movdqa        %xmm7,%xmm14
+  .byte  102,69,15,102,241                   // pcmpgtd       %xmm9,%xmm14
+  .byte  102,69,15,254,253                   // paddd         %xmm13,%xmm15
+  .byte  102,65,15,114,231,16                // psrad         $0x10,%xmm15
+  .byte  102,69,15,223,247                   // pandn         %xmm15,%xmm14
+  .byte  102,68,15,111,203                   // movdqa        %xmm3,%xmm9
+  .byte  102,65,15,114,241,3                 // pslld         $0x3,%xmm9
+  .byte  102,69,15,219,204                   // pand          %xmm12,%xmm9
+  .byte  102,68,15,219,219                   // pand          %xmm3,%xmm11
+  .byte  102,69,15,254,203                   // paddd         %xmm11,%xmm9
+  .byte  102,69,15,254,205                   // paddd         %xmm13,%xmm9
+  .byte  102,68,15,219,211                   // pand          %xmm3,%xmm10
+  .byte  102,65,15,102,250                   // pcmpgtd       %xmm10,%xmm7
+  .byte  102,65,15,114,225,16                // psrad         $0x10,%xmm9
+  .byte  102,65,15,223,249                   // pandn         %xmm9,%xmm7
+  .byte  102,68,15,107,240                   // packssdw      %xmm0,%xmm14
+  .byte  102,15,107,248                      // packssdw      %xmm0,%xmm7
+  .byte  102,68,15,97,247                    // punpcklwd     %xmm7,%xmm14
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,3                        // shl           $0x3,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,37                              // jne           2a949 <_sk_store_f16_sse2+0x186>
+  .byte  102,65,15,111,248                   // movdqa        %xmm8,%xmm7
+  .byte  102,65,15,98,254                    // punpckldq     %xmm14,%xmm7
+  .byte  243,65,15,127,60,208                // movdqu        %xmm7,(%r8,%rdx,8)
+  .byte  102,69,15,106,198                   // punpckhdq     %xmm14,%xmm8
+  .byte  243,69,15,127,68,208,16             // movdqu        %xmm8,0x10(%r8,%rdx,8)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,124,36,232                    // movaps        -0x18(%rsp),%xmm7
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,69,15,111,200                   // movdqa        %xmm8,%xmm9
+  .byte  102,69,15,98,206                    // punpckldq     %xmm14,%xmm9
+  .byte  102,69,15,214,12,208                // movq          %xmm9,(%r8,%rdx,8)
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  116,225                             // je            2a940 <_sk_store_f16_sse2+0x17d>
+  .byte  102,69,15,23,76,208,8               // movhpd        %xmm9,0x8(%r8,%rdx,8)
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  114,212                             // jb            2a940 <_sk_store_f16_sse2+0x17d>
+  .byte  102,69,15,106,198                   // punpckhdq     %xmm14,%xmm8
+  .byte  102,69,15,214,68,208,16             // movq          %xmm8,0x10(%r8,%rdx,8)
+  .byte  235,198                             // jmp           2a940 <_sk_store_f16_sse2+0x17d>
+
+HIDDEN _sk_load_u16_be_sse2
+.globl _sk_load_u16_be_sse2
+FUNCTION(_sk_load_u16_be_sse2)
+_sk_load_u16_be_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,141,4,149,0,0,0,0                // lea           0x0(,%rdx,4),%r8
+  .byte  76,99,72,8                          // movslq        0x8(%rax),%r9
+  .byte  76,15,175,201                       // imul          %rcx,%r9
+  .byte  77,1,201                            // add           %r9,%r9
+  .byte  76,3,8                              // add           (%rax),%r9
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,190,0,0,0                    // jne           2aa59 <_sk_load_u16_be_sse2+0xdf>
+  .byte  102,67,15,16,4,65                   // movupd        (%r9,%r8,2),%xmm0
+  .byte  243,67,15,111,76,65,16              // movdqu        0x10(%r9,%r8,2),%xmm1
+  .byte  102,15,40,208                       // movapd        %xmm0,%xmm2
+  .byte  102,15,97,209                       // punpcklwd     %xmm1,%xmm2
+  .byte  102,15,105,193                      // punpckhwd     %xmm1,%xmm0
+  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
+  .byte  102,15,97,200                       // punpcklwd     %xmm0,%xmm1
+  .byte  102,15,105,208                      // punpckhwd     %xmm0,%xmm2
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,15,113,240,8                    // psllw         $0x8,%xmm0
+  .byte  102,15,112,217,78                   // pshufd        $0x4e,%xmm1,%xmm3
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,235,200                      // por           %xmm0,%xmm1
+  .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
+  .byte  102,65,15,97,201                    // punpcklwd     %xmm9,%xmm1
+  .byte  15,91,193                           // cvtdq2ps      %xmm1,%xmm0
+  .byte  68,15,40,5,196,39,1,0               // movaps        0x127c4(%rip),%xmm8        # 3d1b0 <_sk_srcover_bgra_8888_sse2_lowp+0xf64>
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
+  .byte  102,15,113,241,8                    // psllw         $0x8,%xmm1
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  102,15,235,217                      // por           %xmm1,%xmm3
+  .byte  102,65,15,97,217                    // punpcklwd     %xmm9,%xmm3
+  .byte  15,91,203                           // cvtdq2ps      %xmm3,%xmm1
+  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
+  .byte  102,68,15,111,210                   // movdqa        %xmm2,%xmm10
+  .byte  102,65,15,113,242,8                 // psllw         $0x8,%xmm10
+  .byte  102,15,112,218,78                   // pshufd        $0x4e,%xmm2,%xmm3
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,65,15,235,210                   // por           %xmm10,%xmm2
+  .byte  102,65,15,97,209                    // punpcklwd     %xmm9,%xmm2
+  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
+  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
+  .byte  102,68,15,111,211                   // movdqa        %xmm3,%xmm10
+  .byte  102,65,15,113,242,8                 // psllw         $0x8,%xmm10
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  102,65,15,235,218                   // por           %xmm10,%xmm3
+  .byte  102,65,15,97,217                    // punpcklwd     %xmm9,%xmm3
+  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
+  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  242,67,15,16,4,65                   // movsd         (%r9,%r8,2),%xmm0
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  117,13                              // jne           2aa72 <_sk_load_u16_be_sse2+0xf8>
+  .byte  243,15,126,192                      // movq          %xmm0,%xmm0
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  233,54,255,255,255                  // jmpq          2a9a8 <_sk_load_u16_be_sse2+0x2e>
+  .byte  102,67,15,22,68,65,8                // movhpd        0x8(%r9,%r8,2),%xmm0
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  15,130,33,255,255,255               // jb            2a9a8 <_sk_load_u16_be_sse2+0x2e>
+  .byte  243,67,15,126,76,65,16              // movq          0x10(%r9,%r8,2),%xmm1
+  .byte  233,21,255,255,255                  // jmpq          2a9a8 <_sk_load_u16_be_sse2+0x2e>
+
+HIDDEN _sk_load_rgb_u16_be_sse2
+.globl _sk_load_rgb_u16_be_sse2
+FUNCTION(_sk_load_rgb_u16_be_sse2)
+_sk_load_rgb_u16_be_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,141,4,82                         // lea           (%rdx,%rdx,2),%r8
+  .byte  76,99,72,8                          // movslq        0x8(%rax),%r9
+  .byte  76,15,175,201                       // imul          %rcx,%r9
+  .byte  77,1,201                            // add           %r9,%r9
+  .byte  76,3,8                              // add           (%rax),%r9
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  15,133,175,0,0,0                    // jne           2ab5f <_sk_load_rgb_u16_be_sse2+0xcc>
+  .byte  243,67,15,111,20,65                 // movdqu        (%r9,%r8,2),%xmm2
+  .byte  243,67,15,111,92,65,8               // movdqu        0x8(%r9,%r8,2),%xmm3
+  .byte  102,15,115,219,4                    // psrldq        $0x4,%xmm3
+  .byte  102,15,111,194                      // movdqa        %xmm2,%xmm0
+  .byte  102,15,115,216,6                    // psrldq        $0x6,%xmm0
+  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
+  .byte  102,15,115,217,6                    // psrldq        $0x6,%xmm1
+  .byte  102,15,97,193                       // punpcklwd     %xmm1,%xmm0
+  .byte  102,15,97,211                       // punpcklwd     %xmm3,%xmm2
+  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
+  .byte  102,15,97,200                       // punpcklwd     %xmm0,%xmm1
+  .byte  102,15,112,217,78                   // pshufd        $0x4e,%xmm1,%xmm3
+  .byte  102,15,105,208                      // punpckhwd     %xmm0,%xmm2
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,15,113,240,8                    // psllw         $0x8,%xmm0
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,235,200                      // por           %xmm0,%xmm1
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  102,65,15,97,200                    // punpcklwd     %xmm8,%xmm1
+  .byte  15,91,193                           // cvtdq2ps      %xmm1,%xmm0
+  .byte  68,15,40,13,156,38,1,0              // movaps        0x1269c(%rip),%xmm9        # 3d1b0 <_sk_srcover_bgra_8888_sse2_lowp+0xf64>
+  .byte  65,15,89,193                        // mulps         %xmm9,%xmm0
+  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
+  .byte  102,15,113,241,8                    // psllw         $0x8,%xmm1
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  102,15,235,217                      // por           %xmm1,%xmm3
+  .byte  102,65,15,97,216                    // punpcklwd     %xmm8,%xmm3
+  .byte  15,91,203                           // cvtdq2ps      %xmm3,%xmm1
+  .byte  65,15,89,201                        // mulps         %xmm9,%xmm1
+  .byte  102,15,111,218                      // movdqa        %xmm2,%xmm3
+  .byte  102,15,113,243,8                    // psllw         $0x8,%xmm3
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,235,211                      // por           %xmm3,%xmm2
+  .byte  102,65,15,97,208                    // punpcklwd     %xmm8,%xmm2
+  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
+  .byte  65,15,89,209                        // mulps         %xmm9,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,29,179,35,1,0                 // movaps        0x123b3(%rip),%xmm3        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,67,15,110,20,65                 // movd          (%r9,%r8,2),%xmm2
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  102,67,15,196,84,65,4,2             // pinsrw        $0x2,0x4(%r9,%r8,2),%xmm2
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  117,13                              // jne           2ab84 <_sk_load_rgb_u16_be_sse2+0xf1>
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  233,80,255,255,255                  // jmpq          2aad4 <_sk_load_rgb_u16_be_sse2+0x41>
+  .byte  102,67,15,110,68,65,6               // movd          0x6(%r9,%r8,2),%xmm0
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  102,67,15,196,68,65,10,2            // pinsrw        $0x2,0xa(%r9,%r8,2),%xmm0
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  114,24                              // jb            2abb5 <_sk_load_rgb_u16_be_sse2+0x122>
+  .byte  102,67,15,110,92,65,12              // movd          0xc(%r9,%r8,2),%xmm3
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  102,67,15,196,92,65,16,2            // pinsrw        $0x2,0x10(%r9,%r8,2),%xmm3
+  .byte  233,31,255,255,255                  // jmpq          2aad4 <_sk_load_rgb_u16_be_sse2+0x41>
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  233,22,255,255,255                  // jmpq          2aad4 <_sk_load_rgb_u16_be_sse2+0x41>
+
+HIDDEN _sk_store_u16_be_sse2
+.globl _sk_store_u16_be_sse2
+FUNCTION(_sk_store_u16_be_sse2)
+_sk_store_u16_be_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,141,4,149,0,0,0,0                // lea           0x0(,%rdx,4),%r8
+  .byte  76,99,72,8                          // movslq        0x8(%rax),%r9
+  .byte  76,15,175,201                       // imul          %rcx,%r9
+  .byte  77,1,201                            // add           %r9,%r9
+  .byte  76,3,8                              // add           (%rax),%r9
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  68,15,95,192                        // maxps         %xmm0,%xmm8
+  .byte  68,15,40,21,38,35,1,0               // movaps        0x12326(%rip),%xmm10        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,93,194                        // minps         %xmm10,%xmm8
+  .byte  68,15,40,29,170,40,1,0              // movaps        0x128aa(%rip),%xmm11        # 3d4a0 <_sk_srcover_bgra_8888_sse2_lowp+0x1254>
+  .byte  69,15,89,195                        // mulps         %xmm11,%xmm8
+  .byte  102,69,15,91,192                    // cvtps2dq      %xmm8,%xmm8
+  .byte  102,65,15,114,240,16                // pslld         $0x10,%xmm8
+  .byte  102,65,15,114,224,16                // psrad         $0x10,%xmm8
+  .byte  102,68,15,107,192                   // packssdw      %xmm0,%xmm8
+  .byte  102,69,15,111,224                   // movdqa        %xmm8,%xmm12
+  .byte  102,65,15,113,244,8                 // psllw         $0x8,%xmm12
+  .byte  102,65,15,113,208,8                 // psrlw         $0x8,%xmm8
+  .byte  102,69,15,235,196                   // por           %xmm12,%xmm8
+  .byte  102,69,15,239,228                   // pxor          %xmm12,%xmm12
+  .byte  68,15,95,225                        // maxps         %xmm1,%xmm12
+  .byte  69,15,93,226                        // minps         %xmm10,%xmm12
+  .byte  69,15,89,227                        // mulps         %xmm11,%xmm12
+  .byte  102,69,15,91,228                    // cvtps2dq      %xmm12,%xmm12
+  .byte  102,65,15,114,244,16                // pslld         $0x10,%xmm12
+  .byte  102,65,15,114,228,16                // psrad         $0x10,%xmm12
+  .byte  102,68,15,107,224                   // packssdw      %xmm0,%xmm12
+  .byte  102,69,15,111,236                   // movdqa        %xmm12,%xmm13
+  .byte  102,65,15,113,245,8                 // psllw         $0x8,%xmm13
+  .byte  102,65,15,113,212,8                 // psrlw         $0x8,%xmm12
+  .byte  102,69,15,235,229                   // por           %xmm13,%xmm12
+  .byte  102,69,15,97,196                    // punpcklwd     %xmm12,%xmm8
+  .byte  102,69,15,239,228                   // pxor          %xmm12,%xmm12
+  .byte  68,15,95,226                        // maxps         %xmm2,%xmm12
+  .byte  69,15,93,226                        // minps         %xmm10,%xmm12
+  .byte  69,15,89,227                        // mulps         %xmm11,%xmm12
+  .byte  102,69,15,91,228                    // cvtps2dq      %xmm12,%xmm12
+  .byte  102,65,15,114,244,16                // pslld         $0x10,%xmm12
+  .byte  102,65,15,114,228,16                // psrad         $0x10,%xmm12
+  .byte  102,68,15,107,224                   // packssdw      %xmm0,%xmm12
+  .byte  102,69,15,111,236                   // movdqa        %xmm12,%xmm13
+  .byte  102,65,15,113,245,8                 // psllw         $0x8,%xmm13
+  .byte  102,65,15,113,212,8                 // psrlw         $0x8,%xmm12
+  .byte  102,69,15,235,229                   // por           %xmm13,%xmm12
+  .byte  68,15,95,203                        // maxps         %xmm3,%xmm9
+  .byte  69,15,93,202                        // minps         %xmm10,%xmm9
+  .byte  69,15,89,203                        // mulps         %xmm11,%xmm9
+  .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
+  .byte  102,65,15,114,241,16                // pslld         $0x10,%xmm9
+  .byte  102,65,15,114,225,16                // psrad         $0x10,%xmm9
+  .byte  102,68,15,107,200                   // packssdw      %xmm0,%xmm9
+  .byte  102,69,15,111,209                   // movdqa        %xmm9,%xmm10
+  .byte  102,65,15,113,242,8                 // psllw         $0x8,%xmm10
+  .byte  102,65,15,113,209,8                 // psrlw         $0x8,%xmm9
+  .byte  102,69,15,235,202                   // por           %xmm10,%xmm9
+  .byte  102,69,15,97,225                    // punpcklwd     %xmm9,%xmm12
+  .byte  102,69,15,111,200                   // movdqa        %xmm8,%xmm9
+  .byte  102,69,15,98,204                    // punpckldq     %xmm12,%xmm9
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,21                              // jne           2ad06 <_sk_store_u16_be_sse2+0x148>
+  .byte  71,15,17,12,65                      // movups        %xmm9,(%r9,%r8,2)
+  .byte  102,69,15,106,196                   // punpckhdq     %xmm12,%xmm8
+  .byte  243,71,15,127,68,65,16              // movdqu        %xmm8,0x10(%r9,%r8,2)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,71,15,214,12,65                 // movq          %xmm9,(%r9,%r8,2)
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  116,240                             // je            2ad02 <_sk_store_u16_be_sse2+0x144>
+  .byte  102,71,15,23,76,65,8                // movhpd        %xmm9,0x8(%r9,%r8,2)
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  114,227                             // jb            2ad02 <_sk_store_u16_be_sse2+0x144>
+  .byte  102,69,15,106,196                   // punpckhdq     %xmm12,%xmm8
+  .byte  102,71,15,214,68,65,16              // movq          %xmm8,0x10(%r9,%r8,2)
+  .byte  235,213                             // jmp           2ad02 <_sk_store_u16_be_sse2+0x144>
+
+HIDDEN _sk_load_f32_sse2
+.globl _sk_load_f32_sse2
+FUNCTION(_sk_load_f32_sse2)
+_sk_load_f32_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,141,4,149,0,0,0,0                // lea           0x0(,%rdx,4),%r8
+  .byte  76,99,72,8                          // movslq        0x8(%rax),%r9
+  .byte  76,15,175,201                       // imul          %rcx,%r9
+  .byte  73,193,225,2                        // shl           $0x2,%r9
+  .byte  76,3,8                              // add           (%rax),%r9
+  .byte  72,137,208                          // mov           %rdx,%rax
+  .byte  72,193,224,4                        // shl           $0x4,%rax
+  .byte  70,15,16,4,8                        // movups        (%rax,%r9,1),%xmm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,66                              // jne           2ad99 <_sk_load_f32_sse2+0x6c>
+  .byte  67,15,16,68,129,16                  // movups        0x10(%r9,%r8,4),%xmm0
+  .byte  67,15,16,92,129,32                  // movups        0x20(%r9,%r8,4),%xmm3
+  .byte  71,15,16,76,129,48                  // movups        0x30(%r9,%r8,4),%xmm9
+  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
+  .byte  15,20,208                           // unpcklps      %xmm0,%xmm2
+  .byte  15,40,203                           // movaps        %xmm3,%xmm1
+  .byte  65,15,20,201                        // unpcklps      %xmm9,%xmm1
+  .byte  68,15,21,192                        // unpckhps      %xmm0,%xmm8
+  .byte  65,15,21,217                        // unpckhps      %xmm9,%xmm3
+  .byte  15,40,194                           // movaps        %xmm2,%xmm0
+  .byte  102,15,20,193                       // unpcklpd      %xmm1,%xmm0
+  .byte  15,18,202                           // movhlps       %xmm2,%xmm1
+  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
+  .byte  102,15,20,211                       // unpcklpd      %xmm3,%xmm2
+  .byte  65,15,18,216                        // movhlps       %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  117,8                               // jne           2adab <_sk_load_f32_sse2+0x7e>
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  235,190                             // jmp           2ad69 <_sk_load_f32_sse2+0x3c>
+  .byte  67,15,16,68,129,16                  // movups        0x10(%r9,%r8,4),%xmm0
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  114,8                               // jb            2adbf <_sk_load_f32_sse2+0x92>
+  .byte  67,15,16,92,129,32                  // movups        0x20(%r9,%r8,4),%xmm3
+  .byte  235,170                             // jmp           2ad69 <_sk_load_f32_sse2+0x3c>
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  235,165                             // jmp           2ad69 <_sk_load_f32_sse2+0x3c>
+
+HIDDEN _sk_load_f32_dst_sse2
+.globl _sk_load_f32_dst_sse2
+FUNCTION(_sk_load_f32_dst_sse2)
+_sk_load_f32_dst_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,141,4,149,0,0,0,0                // lea           0x0(,%rdx,4),%r8
+  .byte  76,99,72,8                          // movslq        0x8(%rax),%r9
+  .byte  76,15,175,201                       // imul          %rcx,%r9
+  .byte  73,193,225,2                        // shl           $0x2,%r9
+  .byte  76,3,8                              // add           (%rax),%r9
+  .byte  72,137,208                          // mov           %rdx,%rax
+  .byte  72,193,224,4                        // shl           $0x4,%rax
+  .byte  70,15,16,4,8                        // movups        (%rax,%r9,1),%xmm8
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,66                              // jne           2ae30 <_sk_load_f32_dst_sse2+0x6c>
+  .byte  67,15,16,100,129,16                 // movups        0x10(%r9,%r8,4),%xmm4
+  .byte  67,15,16,124,129,32                 // movups        0x20(%r9,%r8,4),%xmm7
+  .byte  71,15,16,76,129,48                  // movups        0x30(%r9,%r8,4),%xmm9
+  .byte  65,15,40,240                        // movaps        %xmm8,%xmm6
+  .byte  15,20,244                           // unpcklps      %xmm4,%xmm6
+  .byte  15,40,239                           // movaps        %xmm7,%xmm5
+  .byte  65,15,20,233                        // unpcklps      %xmm9,%xmm5
+  .byte  68,15,21,196                        // unpckhps      %xmm4,%xmm8
+  .byte  65,15,21,249                        // unpckhps      %xmm9,%xmm7
+  .byte  15,40,230                           // movaps        %xmm6,%xmm4
+  .byte  102,15,20,229                       // unpcklpd      %xmm5,%xmm4
+  .byte  15,18,238                           // movhlps       %xmm6,%xmm5
+  .byte  65,15,40,240                        // movaps        %xmm8,%xmm6
+  .byte  102,15,20,247                       // unpcklpd      %xmm7,%xmm6
+  .byte  65,15,18,248                        // movhlps       %xmm8,%xmm7
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  117,8                               // jne           2ae42 <_sk_load_f32_dst_sse2+0x7e>
+  .byte  15,87,255                           // xorps         %xmm7,%xmm7
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  235,190                             // jmp           2ae00 <_sk_load_f32_dst_sse2+0x3c>
+  .byte  67,15,16,100,129,16                 // movups        0x10(%r9,%r8,4),%xmm4
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  114,8                               // jb            2ae56 <_sk_load_f32_dst_sse2+0x92>
+  .byte  67,15,16,124,129,32                 // movups        0x20(%r9,%r8,4),%xmm7
+  .byte  235,170                             // jmp           2ae00 <_sk_load_f32_dst_sse2+0x3c>
+  .byte  15,87,255                           // xorps         %xmm7,%xmm7
+  .byte  235,165                             // jmp           2ae00 <_sk_load_f32_dst_sse2+0x3c>
+
+HIDDEN _sk_store_f32_sse2
+.globl _sk_store_f32_sse2
+FUNCTION(_sk_store_f32_sse2)
+_sk_store_f32_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,141,4,149,0,0,0,0                // lea           0x0(,%rdx,4),%r8
+  .byte  76,99,72,8                          // movslq        0x8(%rax),%r9
+  .byte  76,15,175,201                       // imul          %rcx,%r9
+  .byte  73,193,225,2                        // shl           $0x2,%r9
+  .byte  76,3,8                              // add           (%rax),%r9
+  .byte  72,137,208                          // mov           %rdx,%rax
+  .byte  72,193,224,4                        // shl           $0x4,%rax
+  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
+  .byte  68,15,20,201                        // unpcklps      %xmm1,%xmm9
+  .byte  68,15,40,194                        // movaps        %xmm2,%xmm8
+  .byte  68,15,20,195                        // unpcklps      %xmm3,%xmm8
+  .byte  68,15,40,208                        // movaps        %xmm0,%xmm10
+  .byte  68,15,21,209                        // unpckhps      %xmm1,%xmm10
+  .byte  68,15,40,218                        // movaps        %xmm2,%xmm11
+  .byte  68,15,21,219                        // unpckhps      %xmm3,%xmm11
+  .byte  69,15,40,225                        // movaps        %xmm9,%xmm12
+  .byte  102,69,15,20,224                    // unpcklpd      %xmm8,%xmm12
+  .byte  69,15,18,193                        // movhlps       %xmm9,%xmm8
+  .byte  69,15,40,202                        // movaps        %xmm10,%xmm9
+  .byte  102,69,15,20,203                    // unpcklpd      %xmm11,%xmm9
+  .byte  102,70,15,17,36,8                   // movupd        %xmm12,(%rax,%r9,1)
+  .byte  72,133,255                          // test          %rdi,%rdi
+  .byte  117,29                              // jne           2aed9 <_sk_store_f32_sse2+0x7e>
+  .byte  102,69,15,21,211                    // unpckhpd      %xmm11,%xmm10
+  .byte  71,15,17,68,129,16                  // movups        %xmm8,0x10(%r9,%r8,4)
+  .byte  102,71,15,17,76,129,32              // movupd        %xmm9,0x20(%r9,%r8,4)
+  .byte  102,71,15,17,84,129,48              // movupd        %xmm10,0x30(%r9,%r8,4)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  72,131,255,1                        // cmp           $0x1,%rdi
+  .byte  116,246                             // je            2aed5 <_sk_store_f32_sse2+0x7a>
+  .byte  71,15,17,68,129,16                  // movups        %xmm8,0x10(%r9,%r8,4)
+  .byte  72,131,255,3                        // cmp           $0x3,%rdi
+  .byte  114,234                             // jb            2aed5 <_sk_store_f32_sse2+0x7a>
+  .byte  102,71,15,17,76,129,32              // movupd        %xmm9,0x20(%r9,%r8,4)
+  .byte  235,225                             // jmp           2aed5 <_sk_store_f32_sse2+0x7a>
+
+HIDDEN _sk_repeat_x_sse2
+.globl _sk_repeat_x_sse2
+FUNCTION(_sk_repeat_x_sse2)
+_sk_repeat_x_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,0                      // movss         (%rax),%xmm8
+  .byte  243,68,15,16,72,4                   // movss         0x4(%rax),%xmm9
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  68,15,89,200                        // mulps         %xmm0,%xmm9
+  .byte  243,69,15,91,209                    // cvttps2dq     %xmm9,%xmm10
+  .byte  69,15,91,210                        // cvtdq2ps      %xmm10,%xmm10
+  .byte  69,15,194,202,1                     // cmpltps       %xmm10,%xmm9
+  .byte  68,15,84,13,240,31,1,0              // andps         0x11ff0(%rip),%xmm9        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,92,209                        // subps         %xmm9,%xmm10
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  69,15,89,194                        // mulps         %xmm10,%xmm8
+  .byte  65,15,92,192                        // subps         %xmm8,%xmm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_repeat_y_sse2
+.globl _sk_repeat_y_sse2
+FUNCTION(_sk_repeat_y_sse2)
+_sk_repeat_y_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,0                      // movss         (%rax),%xmm8
+  .byte  243,68,15,16,72,4                   // movss         0x4(%rax),%xmm9
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  68,15,89,201                        // mulps         %xmm1,%xmm9
+  .byte  243,69,15,91,209                    // cvttps2dq     %xmm9,%xmm10
+  .byte  69,15,91,210                        // cvtdq2ps      %xmm10,%xmm10
+  .byte  69,15,194,202,1                     // cmpltps       %xmm10,%xmm9
+  .byte  68,15,84,13,175,31,1,0              // andps         0x11faf(%rip),%xmm9        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,92,209                        // subps         %xmm9,%xmm10
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  69,15,89,194                        // mulps         %xmm10,%xmm8
+  .byte  65,15,92,200                        // subps         %xmm8,%xmm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_mirror_x_sse2
+.globl _sk_mirror_x_sse2
+FUNCTION(_sk_mirror_x_sse2)
+_sk_mirror_x_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,0                      // movss         (%rax),%xmm8
+  .byte  243,68,15,16,72,4                   // movss         0x4(%rax),%xmm9
+  .byte  69,15,40,208                        // movaps        %xmm8,%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  65,15,92,194                        // subps         %xmm10,%xmm0
+  .byte  243,69,15,88,192                    // addss         %xmm8,%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  243,68,15,89,13,85,21,1,0           // mulss         0x11555(%rip),%xmm9        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  68,15,89,200                        // mulps         %xmm0,%xmm9
+  .byte  243,69,15,91,217                    // cvttps2dq     %xmm9,%xmm11
+  .byte  69,15,91,219                        // cvtdq2ps      %xmm11,%xmm11
+  .byte  69,15,194,203,1                     // cmpltps       %xmm11,%xmm9
+  .byte  68,15,84,13,78,31,1,0               // andps         0x11f4e(%rip),%xmm9        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,87,228                        // xorps         %xmm12,%xmm12
+  .byte  69,15,92,217                        // subps         %xmm9,%xmm11
+  .byte  69,15,89,216                        // mulps         %xmm8,%xmm11
+  .byte  65,15,92,195                        // subps         %xmm11,%xmm0
+  .byte  65,15,92,194                        // subps         %xmm10,%xmm0
+  .byte  68,15,92,224                        // subps         %xmm0,%xmm12
+  .byte  65,15,84,196                        // andps         %xmm12,%xmm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_mirror_y_sse2
+.globl _sk_mirror_y_sse2
+FUNCTION(_sk_mirror_y_sse2)
+_sk_mirror_y_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,0                      // movss         (%rax),%xmm8
+  .byte  243,68,15,16,72,4                   // movss         0x4(%rax),%xmm9
+  .byte  69,15,40,208                        // movaps        %xmm8,%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  65,15,92,202                        // subps         %xmm10,%xmm1
+  .byte  243,69,15,88,192                    // addss         %xmm8,%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  243,68,15,89,13,233,20,1,0          // mulss         0x114e9(%rip),%xmm9        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  68,15,89,201                        // mulps         %xmm1,%xmm9
+  .byte  243,69,15,91,217                    // cvttps2dq     %xmm9,%xmm11
+  .byte  69,15,91,219                        // cvtdq2ps      %xmm11,%xmm11
+  .byte  69,15,194,203,1                     // cmpltps       %xmm11,%xmm9
+  .byte  68,15,84,13,226,30,1,0              // andps         0x11ee2(%rip),%xmm9        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,87,228                        // xorps         %xmm12,%xmm12
+  .byte  69,15,92,217                        // subps         %xmm9,%xmm11
+  .byte  69,15,89,216                        // mulps         %xmm8,%xmm11
+  .byte  65,15,92,203                        // subps         %xmm11,%xmm1
+  .byte  65,15,92,202                        // subps         %xmm10,%xmm1
+  .byte  68,15,92,225                        // subps         %xmm1,%xmm12
+  .byte  65,15,84,204                        // andps         %xmm12,%xmm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_clamp_x_1_sse2
+.globl _sk_clamp_x_1_sse2
+FUNCTION(_sk_clamp_x_1_sse2)
+_sk_clamp_x_1_sse2:
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  68,15,95,192                        // maxps         %xmm0,%xmm8
+  .byte  68,15,93,5,178,30,1,0               // minps         0x11eb2(%rip),%xmm8        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_repeat_x_1_sse2
+.globl _sk_repeat_x_1_sse2
+FUNCTION(_sk_repeat_x_1_sse2)
+_sk_repeat_x_1_sse2:
+  .byte  243,68,15,91,192                    // cvttps2dq     %xmm0,%xmm8
+  .byte  69,15,91,200                        // cvtdq2ps      %xmm8,%xmm9
+  .byte  68,15,40,208                        // movaps        %xmm0,%xmm10
+  .byte  69,15,194,209,1                     // cmpltps       %xmm9,%xmm10
+  .byte  68,15,40,29,144,30,1,0              // movaps        0x11e90(%rip),%xmm11        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,84,211                        // andps         %xmm11,%xmm10
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  69,15,92,202                        // subps         %xmm10,%xmm9
+  .byte  65,15,92,193                        // subps         %xmm9,%xmm0
+  .byte  68,15,95,192                        // maxps         %xmm0,%xmm8
+  .byte  69,15,93,195                        // minps         %xmm11,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_mirror_x_1_sse2
+.globl _sk_mirror_x_1_sse2
+FUNCTION(_sk_mirror_x_1_sse2)
+_sk_mirror_x_1_sse2:
+  .byte  68,15,40,13,200,30,1,0              // movaps        0x11ec8(%rip),%xmm9        # 3cf70 <_sk_srcover_bgra_8888_sse2_lowp+0xd24>
+  .byte  65,15,88,193                        // addps         %xmm9,%xmm0
+  .byte  68,15,40,21,76,30,1,0               // movaps        0x11e4c(%rip),%xmm10        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  68,15,89,208                        // mulps         %xmm0,%xmm10
+  .byte  243,69,15,91,194                    // cvttps2dq     %xmm10,%xmm8
+  .byte  69,15,91,216                        // cvtdq2ps      %xmm8,%xmm11
+  .byte  69,15,194,211,1                     // cmpltps       %xmm11,%xmm10
+  .byte  68,15,40,37,66,30,1,0               // movaps        0x11e42(%rip),%xmm12        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,84,212                        // andps         %xmm12,%xmm10
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  69,15,92,218                        // subps         %xmm10,%xmm11
+  .byte  69,15,88,219                        // addps         %xmm11,%xmm11
+  .byte  65,15,92,195                        // subps         %xmm11,%xmm0
+  .byte  65,15,88,193                        // addps         %xmm9,%xmm0
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,92,200                        // subps         %xmm0,%xmm9
+  .byte  68,15,84,200                        // andps         %xmm0,%xmm9
+  .byte  69,15,95,193                        // maxps         %xmm9,%xmm8
+  .byte  69,15,93,196                        // minps         %xmm12,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_decal_x_sse2
+.globl _sk_decal_x_sse2
+FUNCTION(_sk_decal_x_sse2)
+_sk_decal_x_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  68,15,194,192,2                     // cmpleps       %xmm0,%xmm8
+  .byte  243,68,15,16,72,64                  // movss         0x40(%rax),%xmm9
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  68,15,40,208                        // movaps        %xmm0,%xmm10
+  .byte  69,15,194,209,1                     // cmpltps       %xmm9,%xmm10
+  .byte  69,15,84,208                        // andps         %xmm8,%xmm10
+  .byte  68,15,17,16                         // movups        %xmm10,(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_decal_y_sse2
+.globl _sk_decal_y_sse2
+FUNCTION(_sk_decal_y_sse2)
+_sk_decal_y_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  68,15,194,193,2                     // cmpleps       %xmm1,%xmm8
+  .byte  243,68,15,16,72,68                  // movss         0x44(%rax),%xmm9
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  68,15,40,209                        // movaps        %xmm1,%xmm10
+  .byte  69,15,194,209,1                     // cmpltps       %xmm9,%xmm10
+  .byte  69,15,84,208                        // andps         %xmm8,%xmm10
+  .byte  68,15,17,16                         // movups        %xmm10,(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_decal_x_and_y_sse2
+.globl _sk_decal_x_and_y_sse2
+FUNCTION(_sk_decal_x_and_y_sse2)
+_sk_decal_x_and_y_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,194,200,2                     // cmpleps       %xmm0,%xmm9
+  .byte  243,68,15,16,80,64                  // movss         0x40(%rax),%xmm10
+  .byte  243,68,15,16,88,68                  // movss         0x44(%rax),%xmm11
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  68,15,40,224                        // movaps        %xmm0,%xmm12
+  .byte  69,15,194,226,1                     // cmpltps       %xmm10,%xmm12
+  .byte  68,15,194,193,2                     // cmpleps       %xmm1,%xmm8
+  .byte  69,15,84,193                        // andps         %xmm9,%xmm8
+  .byte  69,15,84,196                        // andps         %xmm12,%xmm8
+  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
+  .byte  68,15,40,201                        // movaps        %xmm1,%xmm9
+  .byte  69,15,194,203,1                     // cmpltps       %xmm11,%xmm9
+  .byte  69,15,84,200                        // andps         %xmm8,%xmm9
+  .byte  68,15,17,8                          // movups        %xmm9,(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_check_decal_mask_sse2
+.globl _sk_check_decal_mask_sse2
+FUNCTION(_sk_check_decal_mask_sse2)
+_sk_check_decal_mask_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  68,15,16,0                          // movups        (%rax),%xmm8
+  .byte  65,15,84,192                        // andps         %xmm8,%xmm0
+  .byte  65,15,84,200                        // andps         %xmm8,%xmm1
+  .byte  65,15,84,208                        // andps         %xmm8,%xmm2
+  .byte  65,15,84,216                        // andps         %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_luminance_to_alpha_sse2
+.globl _sk_luminance_to_alpha_sse2
+FUNCTION(_sk_luminance_to_alpha_sse2)
+_sk_luminance_to_alpha_sse2:
+  .byte  15,40,218                           // movaps        %xmm2,%xmm3
+  .byte  15,89,5,228,34,1,0                  // mulps         0x122e4(%rip),%xmm0        # 3d4b0 <_sk_srcover_bgra_8888_sse2_lowp+0x1264>
+  .byte  15,89,13,237,34,1,0                 // mulps         0x122ed(%rip),%xmm1        # 3d4c0 <_sk_srcover_bgra_8888_sse2_lowp+0x1274>
+  .byte  15,88,200                           // addps         %xmm0,%xmm1
+  .byte  15,89,29,243,34,1,0                 // mulps         0x122f3(%rip),%xmm3        # 3d4d0 <_sk_srcover_bgra_8888_sse2_lowp+0x1284>
+  .byte  15,88,217                           // addps         %xmm1,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  15,87,201                           // xorps         %xmm1,%xmm1
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_translate_sse2
+.globl _sk_matrix_translate_sse2
+FUNCTION(_sk_matrix_translate_sse2)
+_sk_matrix_translate_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,0                      // movss         (%rax),%xmm8
+  .byte  243,68,15,16,72,4                   // movss         0x4(%rax),%xmm9
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  65,15,88,192                        // addps         %xmm8,%xmm0
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  65,15,88,201                        // addps         %xmm9,%xmm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_scale_translate_sse2
+.globl _sk_matrix_scale_translate_sse2
+FUNCTION(_sk_matrix_scale_translate_sse2)
+_sk_matrix_scale_translate_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,0                      // movss         (%rax),%xmm8
+  .byte  243,68,15,16,72,4                   // movss         0x4(%rax),%xmm9
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  243,68,15,16,80,8                   // movss         0x8(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  65,15,88,194                        // addps         %xmm10,%xmm0
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  243,68,15,16,64,12                  // movss         0xc(%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  65,15,89,201                        // mulps         %xmm9,%xmm1
+  .byte  65,15,88,200                        // addps         %xmm8,%xmm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_2x3_sse2
+.globl _sk_matrix_2x3_sse2
+FUNCTION(_sk_matrix_2x3_sse2)
+_sk_matrix_2x3_sse2:
+  .byte  68,15,40,201                        // movaps        %xmm1,%xmm9
+  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,15,16,0                         // movss         (%rax),%xmm0
+  .byte  243,15,16,72,4                      // movss         0x4(%rax),%xmm1
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  243,68,15,16,80,8                   // movss         0x8(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  243,68,15,16,88,16                  // movss         0x10(%rax),%xmm11
+  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
+  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
+  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  65,15,88,194                        // addps         %xmm10,%xmm0
+  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
+  .byte  243,68,15,16,80,12                  // movss         0xc(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  243,68,15,16,88,20                  // movss         0x14(%rax),%xmm11
+  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
+  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
+  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
+  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
+  .byte  65,15,88,202                        // addps         %xmm10,%xmm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_3x4_sse2
+.globl _sk_matrix_3x4_sse2
+FUNCTION(_sk_matrix_3x4_sse2)
+_sk_matrix_3x4_sse2:
+  .byte  68,15,40,201                        // movaps        %xmm1,%xmm9
+  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,15,16,0                         // movss         (%rax),%xmm0
+  .byte  243,15,16,72,4                      // movss         0x4(%rax),%xmm1
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  243,68,15,16,80,12                  // movss         0xc(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  243,68,15,16,88,24                  // movss         0x18(%rax),%xmm11
+  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
+  .byte  243,68,15,16,96,36                  // movss         0x24(%rax),%xmm12
+  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
+  .byte  68,15,89,218                        // mulps         %xmm2,%xmm11
+  .byte  69,15,88,220                        // addps         %xmm12,%xmm11
+  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
+  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  65,15,88,194                        // addps         %xmm10,%xmm0
+  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
+  .byte  243,68,15,16,80,16                  // movss         0x10(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  243,68,15,16,88,28                  // movss         0x1c(%rax),%xmm11
+  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
+  .byte  243,68,15,16,96,40                  // movss         0x28(%rax),%xmm12
+  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
+  .byte  68,15,89,218                        // mulps         %xmm2,%xmm11
+  .byte  69,15,88,220                        // addps         %xmm12,%xmm11
+  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
+  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
+  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
+  .byte  65,15,88,202                        // addps         %xmm10,%xmm1
+  .byte  243,68,15,16,80,8                   // movss         0x8(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  243,68,15,16,88,20                  // movss         0x14(%rax),%xmm11
+  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
+  .byte  243,68,15,16,96,32                  // movss         0x20(%rax),%xmm12
+  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
+  .byte  243,68,15,16,104,44                 // movss         0x2c(%rax),%xmm13
+  .byte  69,15,198,237,0                     // shufps        $0x0,%xmm13,%xmm13
+  .byte  68,15,89,226                        // mulps         %xmm2,%xmm12
+  .byte  69,15,88,229                        // addps         %xmm13,%xmm12
+  .byte  69,15,89,217                        // mulps         %xmm9,%xmm11
+  .byte  69,15,88,220                        // addps         %xmm12,%xmm11
+  .byte  69,15,89,208                        // mulps         %xmm8,%xmm10
+  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,210                        // movaps        %xmm10,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_4x5_sse2
+.globl _sk_matrix_4x5_sse2
+FUNCTION(_sk_matrix_4x5_sse2)
+_sk_matrix_4x5_sse2:
+  .byte  68,15,40,201                        // movaps        %xmm1,%xmm9
+  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,15,16,0                         // movss         (%rax),%xmm0
+  .byte  243,15,16,72,4                      // movss         0x4(%rax),%xmm1
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  243,68,15,16,80,16                  // movss         0x10(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  243,68,15,16,88,32                  // movss         0x20(%rax),%xmm11
+  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
+  .byte  243,68,15,16,96,48                  // movss         0x30(%rax),%xmm12
+  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
+  .byte  243,68,15,16,104,64                 // movss         0x40(%rax),%xmm13
+  .byte  69,15,198,237,0                     // shufps        $0x0,%xmm13,%xmm13
+  .byte  68,15,89,227                        // mulps         %xmm3,%xmm12
+  .byte  69,15,88,229                        // addps         %xmm13,%xmm12
+  .byte  68,15,89,218                        // mulps         %xmm2,%xmm11
+  .byte  69,15,88,220                        // addps         %xmm12,%xmm11
+  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
+  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  65,15,88,194                        // addps         %xmm10,%xmm0
+  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
+  .byte  243,68,15,16,80,20                  // movss         0x14(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  243,68,15,16,88,36                  // movss         0x24(%rax),%xmm11
+  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
+  .byte  243,68,15,16,96,52                  // movss         0x34(%rax),%xmm12
+  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
+  .byte  243,68,15,16,104,68                 // movss         0x44(%rax),%xmm13
+  .byte  69,15,198,237,0                     // shufps        $0x0,%xmm13,%xmm13
+  .byte  68,15,89,227                        // mulps         %xmm3,%xmm12
+  .byte  69,15,88,229                        // addps         %xmm13,%xmm12
+  .byte  68,15,89,218                        // mulps         %xmm2,%xmm11
+  .byte  69,15,88,220                        // addps         %xmm12,%xmm11
+  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
+  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
+  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
+  .byte  65,15,88,202                        // addps         %xmm10,%xmm1
+  .byte  243,68,15,16,80,8                   // movss         0x8(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  243,68,15,16,88,24                  // movss         0x18(%rax),%xmm11
+  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
+  .byte  243,68,15,16,96,40                  // movss         0x28(%rax),%xmm12
+  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
+  .byte  243,68,15,16,104,56                 // movss         0x38(%rax),%xmm13
+  .byte  69,15,198,237,0                     // shufps        $0x0,%xmm13,%xmm13
+  .byte  243,68,15,16,112,72                 // movss         0x48(%rax),%xmm14
+  .byte  69,15,198,246,0                     // shufps        $0x0,%xmm14,%xmm14
+  .byte  68,15,89,235                        // mulps         %xmm3,%xmm13
+  .byte  69,15,88,238                        // addps         %xmm14,%xmm13
+  .byte  68,15,89,226                        // mulps         %xmm2,%xmm12
+  .byte  69,15,88,229                        // addps         %xmm13,%xmm12
+  .byte  69,15,89,217                        // mulps         %xmm9,%xmm11
+  .byte  69,15,88,220                        // addps         %xmm12,%xmm11
+  .byte  69,15,89,208                        // mulps         %xmm8,%xmm10
+  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
+  .byte  243,68,15,16,88,12                  // movss         0xc(%rax),%xmm11
+  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
+  .byte  243,68,15,16,96,28                  // movss         0x1c(%rax),%xmm12
+  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
+  .byte  243,68,15,16,104,44                 // movss         0x2c(%rax),%xmm13
+  .byte  69,15,198,237,0                     // shufps        $0x0,%xmm13,%xmm13
+  .byte  243,68,15,16,112,60                 // movss         0x3c(%rax),%xmm14
+  .byte  69,15,198,246,0                     // shufps        $0x0,%xmm14,%xmm14
+  .byte  243,68,15,16,120,76                 // movss         0x4c(%rax),%xmm15
+  .byte  69,15,198,255,0                     // shufps        $0x0,%xmm15,%xmm15
+  .byte  68,15,89,243                        // mulps         %xmm3,%xmm14
+  .byte  69,15,88,247                        // addps         %xmm15,%xmm14
+  .byte  68,15,89,234                        // mulps         %xmm2,%xmm13
+  .byte  69,15,88,238                        // addps         %xmm14,%xmm13
+  .byte  69,15,89,225                        // mulps         %xmm9,%xmm12
+  .byte  69,15,88,229                        // addps         %xmm13,%xmm12
+  .byte  69,15,89,216                        // mulps         %xmm8,%xmm11
+  .byte  69,15,88,220                        // addps         %xmm12,%xmm11
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,210                        // movaps        %xmm10,%xmm2
+  .byte  65,15,40,219                        // movaps        %xmm11,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_4x3_sse2
+.globl _sk_matrix_4x3_sse2
+FUNCTION(_sk_matrix_4x3_sse2)
+_sk_matrix_4x3_sse2:
+  .byte  68,15,40,201                        // movaps        %xmm1,%xmm9
+  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,15,16,0                         // movss         (%rax),%xmm0
+  .byte  243,15,16,72,4                      // movss         0x4(%rax),%xmm1
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  243,15,16,80,16                     // movss         0x10(%rax),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  243,15,16,88,32                     // movss         0x20(%rax),%xmm3
+  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
+  .byte  65,15,89,209                        // mulps         %xmm9,%xmm2
+  .byte  15,88,211                           // addps         %xmm3,%xmm2
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  15,88,194                           // addps         %xmm2,%xmm0
+  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
+  .byte  243,15,16,80,20                     // movss         0x14(%rax),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  243,15,16,88,36                     // movss         0x24(%rax),%xmm3
+  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
+  .byte  65,15,89,209                        // mulps         %xmm9,%xmm2
+  .byte  15,88,211                           // addps         %xmm3,%xmm2
+  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
+  .byte  15,88,202                           // addps         %xmm2,%xmm1
+  .byte  243,15,16,80,8                      // movss         0x8(%rax),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  243,15,16,88,24                     // movss         0x18(%rax),%xmm3
+  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
+  .byte  243,68,15,16,80,40                  // movss         0x28(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  65,15,89,217                        // mulps         %xmm9,%xmm3
+  .byte  65,15,88,218                        // addps         %xmm10,%xmm3
+  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
+  .byte  15,88,211                           // addps         %xmm3,%xmm2
+  .byte  243,15,16,88,12                     // movss         0xc(%rax),%xmm3
+  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
+  .byte  243,68,15,16,80,28                  // movss         0x1c(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  243,68,15,16,88,44                  // movss         0x2c(%rax),%xmm11
+  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
+  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
+  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
+  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
+  .byte  65,15,88,218                        // addps         %xmm10,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_perspective_sse2
+.globl _sk_matrix_perspective_sse2
+FUNCTION(_sk_matrix_perspective_sse2)
+_sk_matrix_perspective_sse2:
+  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,15,16,0                         // movss         (%rax),%xmm0
+  .byte  243,68,15,16,72,4                   // movss         0x4(%rax),%xmm9
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  243,68,15,16,80,8                   // movss         0x8(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  68,15,89,201                        // mulps         %xmm1,%xmm9
+  .byte  69,15,88,202                        // addps         %xmm10,%xmm9
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  65,15,88,193                        // addps         %xmm9,%xmm0
+  .byte  243,68,15,16,72,12                  // movss         0xc(%rax),%xmm9
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  243,68,15,16,80,16                  // movss         0x10(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  243,68,15,16,88,20                  // movss         0x14(%rax),%xmm11
+  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
+  .byte  68,15,89,209                        // mulps         %xmm1,%xmm10
+  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
+  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
+  .byte  69,15,88,202                        // addps         %xmm10,%xmm9
+  .byte  243,68,15,16,80,24                  // movss         0x18(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  243,68,15,16,88,28                  // movss         0x1c(%rax),%xmm11
+  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
+  .byte  243,68,15,16,96,32                  // movss         0x20(%rax),%xmm12
+  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
+  .byte  68,15,89,217                        // mulps         %xmm1,%xmm11
+  .byte  69,15,88,220                        // addps         %xmm12,%xmm11
+  .byte  69,15,89,208                        // mulps         %xmm8,%xmm10
+  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
+  .byte  65,15,83,202                        // rcpps         %xmm10,%xmm1
+  .byte  15,89,193                           // mulps         %xmm1,%xmm0
+  .byte  68,15,89,201                        // mulps         %xmm1,%xmm9
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,201                        // movaps        %xmm9,%xmm1
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_evenly_spaced_gradient_sse2
+.globl _sk_evenly_spaced_gradient_sse2
+FUNCTION(_sk_evenly_spaced_gradient_sse2)
+_sk_evenly_spaced_gradient_sse2:
+  .byte  65,86                               // push          %r14
+  .byte  83                                  // push          %rbx
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  72,139,24                           // mov           (%rax),%rbx
+  .byte  76,139,112,8                        // mov           0x8(%rax),%r14
+  .byte  72,255,203                          // dec           %rbx
+  .byte  120,7                               // js            2b67d <_sk_evenly_spaced_gradient_sse2+0x18>
+  .byte  243,72,15,42,203                    // cvtsi2ss      %rbx,%xmm1
+  .byte  235,21                              // jmp           2b692 <_sk_evenly_spaced_gradient_sse2+0x2d>
+  .byte  73,137,216                          // mov           %rbx,%r8
+  .byte  73,209,232                          // shr           %r8
+  .byte  131,227,1                           // and           $0x1,%ebx
+  .byte  76,9,195                            // or            %r8,%rbx
+  .byte  243,72,15,42,203                    // cvtsi2ss      %rbx,%xmm1
+  .byte  243,15,88,201                       // addss         %xmm1,%xmm1
+  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
+  .byte  15,89,200                           // mulps         %xmm0,%xmm1
+  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
+  .byte  102,15,112,209,78                   // pshufd        $0x4e,%xmm1,%xmm2
+  .byte  102,73,15,126,209                   // movq          %xmm2,%r9
+  .byte  69,137,200                          // mov           %r9d,%r8d
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  102,73,15,126,203                   // movq          %xmm1,%r11
+  .byte  69,137,218                          // mov           %r11d,%r10d
+  .byte  73,193,235,32                       // shr           $0x20,%r11
+  .byte  243,67,15,16,12,158                 // movss         (%r14,%r11,4),%xmm1
+  .byte  243,71,15,16,4,150                  // movss         (%r14,%r10,4),%xmm8
+  .byte  68,15,20,193                        // unpcklps      %xmm1,%xmm8
+  .byte  243,67,15,16,12,142                 // movss         (%r14,%r9,4),%xmm1
+  .byte  243,67,15,16,20,134                 // movss         (%r14,%r8,4),%xmm2
+  .byte  15,20,209                           // unpcklps      %xmm1,%xmm2
+  .byte  102,68,15,20,194                    // unpcklpd      %xmm2,%xmm8
+  .byte  72,139,88,40                        // mov           0x28(%rax),%rbx
+  .byte  243,66,15,16,12,155                 // movss         (%rbx,%r11,4),%xmm1
+  .byte  243,70,15,16,12,147                 // movss         (%rbx,%r10,4),%xmm9
+  .byte  68,15,20,201                        // unpcklps      %xmm1,%xmm9
+  .byte  243,66,15,16,12,139                 // movss         (%rbx,%r9,4),%xmm1
+  .byte  243,66,15,16,20,131                 // movss         (%rbx,%r8,4),%xmm2
+  .byte  15,20,209                           // unpcklps      %xmm1,%xmm2
+  .byte  102,68,15,20,202                    // unpcklpd      %xmm2,%xmm9
+  .byte  72,139,88,16                        // mov           0x10(%rax),%rbx
+  .byte  243,66,15,16,20,155                 // movss         (%rbx,%r11,4),%xmm2
+  .byte  243,66,15,16,12,147                 // movss         (%rbx,%r10,4),%xmm1
+  .byte  15,20,202                           // unpcklps      %xmm2,%xmm1
+  .byte  243,66,15,16,20,139                 // movss         (%rbx,%r9,4),%xmm2
+  .byte  243,66,15,16,28,131                 // movss         (%rbx,%r8,4),%xmm3
+  .byte  15,20,218                           // unpcklps      %xmm2,%xmm3
+  .byte  102,15,20,203                       // unpcklpd      %xmm3,%xmm1
+  .byte  72,139,88,48                        // mov           0x30(%rax),%rbx
+  .byte  243,66,15,16,20,155                 // movss         (%rbx,%r11,4),%xmm2
+  .byte  243,70,15,16,20,147                 // movss         (%rbx,%r10,4),%xmm10
+  .byte  68,15,20,210                        // unpcklps      %xmm2,%xmm10
+  .byte  243,66,15,16,20,139                 // movss         (%rbx,%r9,4),%xmm2
+  .byte  243,66,15,16,28,131                 // movss         (%rbx,%r8,4),%xmm3
+  .byte  15,20,218                           // unpcklps      %xmm2,%xmm3
+  .byte  102,68,15,20,211                    // unpcklpd      %xmm3,%xmm10
+  .byte  72,139,88,24                        // mov           0x18(%rax),%rbx
+  .byte  243,66,15,16,28,155                 // movss         (%rbx,%r11,4),%xmm3
+  .byte  243,66,15,16,20,147                 // movss         (%rbx,%r10,4),%xmm2
+  .byte  15,20,211                           // unpcklps      %xmm3,%xmm2
+  .byte  243,70,15,16,28,139                 // movss         (%rbx,%r9,4),%xmm11
+  .byte  243,66,15,16,28,131                 // movss         (%rbx,%r8,4),%xmm3
+  .byte  65,15,20,219                        // unpcklps      %xmm11,%xmm3
+  .byte  102,15,20,211                       // unpcklpd      %xmm3,%xmm2
+  .byte  72,139,88,56                        // mov           0x38(%rax),%rbx
+  .byte  243,66,15,16,28,155                 // movss         (%rbx,%r11,4),%xmm3
+  .byte  243,70,15,16,28,147                 // movss         (%rbx,%r10,4),%xmm11
+  .byte  68,15,20,219                        // unpcklps      %xmm3,%xmm11
+  .byte  243,70,15,16,36,139                 // movss         (%rbx,%r9,4),%xmm12
+  .byte  243,66,15,16,28,131                 // movss         (%rbx,%r8,4),%xmm3
+  .byte  65,15,20,220                        // unpcklps      %xmm12,%xmm3
+  .byte  102,68,15,20,219                    // unpcklpd      %xmm3,%xmm11
+  .byte  72,139,88,32                        // mov           0x20(%rax),%rbx
+  .byte  243,70,15,16,36,155                 // movss         (%rbx,%r11,4),%xmm12
+  .byte  243,66,15,16,28,147                 // movss         (%rbx,%r10,4),%xmm3
+  .byte  65,15,20,220                        // unpcklps      %xmm12,%xmm3
+  .byte  243,70,15,16,36,139                 // movss         (%rbx,%r9,4),%xmm12
+  .byte  243,70,15,16,44,131                 // movss         (%rbx,%r8,4),%xmm13
+  .byte  69,15,20,236                        // unpcklps      %xmm12,%xmm13
+  .byte  102,65,15,20,221                    // unpcklpd      %xmm13,%xmm3
+  .byte  72,139,64,64                        // mov           0x40(%rax),%rax
+  .byte  243,70,15,16,36,152                 // movss         (%rax,%r11,4),%xmm12
+  .byte  243,70,15,16,44,144                 // movss         (%rax,%r10,4),%xmm13
+  .byte  69,15,20,236                        // unpcklps      %xmm12,%xmm13
+  .byte  243,70,15,16,36,136                 // movss         (%rax,%r9,4),%xmm12
+  .byte  243,70,15,16,52,128                 // movss         (%rax,%r8,4),%xmm14
+  .byte  69,15,20,244                        // unpcklps      %xmm12,%xmm14
+  .byte  102,69,15,20,238                    // unpcklpd      %xmm14,%xmm13
+  .byte  68,15,89,192                        // mulps         %xmm0,%xmm8
+  .byte  69,15,88,193                        // addps         %xmm9,%xmm8
+  .byte  15,89,200                           // mulps         %xmm0,%xmm1
+  .byte  65,15,88,202                        // addps         %xmm10,%xmm1
+  .byte  15,89,208                           // mulps         %xmm0,%xmm2
+  .byte  65,15,88,211                        // addps         %xmm11,%xmm2
+  .byte  15,89,216                           // mulps         %xmm0,%xmm3
+  .byte  65,15,88,221                        // addps         %xmm13,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  91                                  // pop           %rbx
+  .byte  65,94                               // pop           %r14
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_gradient_sse2
+.globl _sk_gradient_sse2
+FUNCTION(_sk_gradient_sse2)
+_sk_gradient_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  73,131,248,2                        // cmp           $0x2,%r8
+  .byte  114,41                              // jb            2b856 <_sk_gradient_sse2+0x38>
+  .byte  76,139,72,72                        // mov           0x48(%rax),%r9
+  .byte  73,255,200                          // dec           %r8
+  .byte  73,131,193,4                        // add           $0x4,%r9
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  243,65,15,16,17                     // movss         (%r9),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  15,194,208,2                        // cmpleps       %xmm0,%xmm2
+  .byte  102,15,250,202                      // psubd         %xmm2,%xmm1
+  .byte  73,131,193,4                        // add           $0x4,%r9
+  .byte  73,255,200                          // dec           %r8
+  .byte  117,230                             // jne           2b83c <_sk_gradient_sse2+0x1e>
+  .byte  65,86                               // push          %r14
+  .byte  83                                  // push          %rbx
+  .byte  102,15,112,209,78                   // pshufd        $0x4e,%xmm1,%xmm2
+  .byte  102,73,15,126,209                   // movq          %xmm2,%r9
+  .byte  69,137,200                          // mov           %r9d,%r8d
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  102,73,15,126,203                   // movq          %xmm1,%r11
+  .byte  69,137,218                          // mov           %r11d,%r10d
+  .byte  73,193,235,32                       // shr           $0x20,%r11
+  .byte  72,139,88,8                         // mov           0x8(%rax),%rbx
+  .byte  76,139,112,16                       // mov           0x10(%rax),%r14
+  .byte  243,66,15,16,12,155                 // movss         (%rbx,%r11,4),%xmm1
+  .byte  243,70,15,16,4,147                  // movss         (%rbx,%r10,4),%xmm8
+  .byte  68,15,20,193                        // unpcklps      %xmm1,%xmm8
+  .byte  243,66,15,16,12,139                 // movss         (%rbx,%r9,4),%xmm1
+  .byte  243,66,15,16,20,131                 // movss         (%rbx,%r8,4),%xmm2
+  .byte  15,20,209                           // unpcklps      %xmm1,%xmm2
+  .byte  102,68,15,20,194                    // unpcklpd      %xmm2,%xmm8
+  .byte  72,139,88,40                        // mov           0x28(%rax),%rbx
+  .byte  243,66,15,16,12,155                 // movss         (%rbx,%r11,4),%xmm1
+  .byte  243,70,15,16,12,147                 // movss         (%rbx,%r10,4),%xmm9
+  .byte  68,15,20,201                        // unpcklps      %xmm1,%xmm9
+  .byte  243,66,15,16,12,139                 // movss         (%rbx,%r9,4),%xmm1
+  .byte  243,66,15,16,20,131                 // movss         (%rbx,%r8,4),%xmm2
+  .byte  15,20,209                           // unpcklps      %xmm1,%xmm2
+  .byte  102,68,15,20,202                    // unpcklpd      %xmm2,%xmm9
+  .byte  243,67,15,16,20,158                 // movss         (%r14,%r11,4),%xmm2
+  .byte  243,67,15,16,12,150                 // movss         (%r14,%r10,4),%xmm1
+  .byte  15,20,202                           // unpcklps      %xmm2,%xmm1
+  .byte  243,67,15,16,20,142                 // movss         (%r14,%r9,4),%xmm2
+  .byte  243,67,15,16,28,134                 // movss         (%r14,%r8,4),%xmm3
+  .byte  15,20,218                           // unpcklps      %xmm2,%xmm3
+  .byte  102,15,20,203                       // unpcklpd      %xmm3,%xmm1
+  .byte  72,139,88,48                        // mov           0x30(%rax),%rbx
+  .byte  243,66,15,16,20,155                 // movss         (%rbx,%r11,4),%xmm2
+  .byte  243,70,15,16,20,147                 // movss         (%rbx,%r10,4),%xmm10
+  .byte  68,15,20,210                        // unpcklps      %xmm2,%xmm10
+  .byte  243,66,15,16,20,139                 // movss         (%rbx,%r9,4),%xmm2
+  .byte  243,66,15,16,28,131                 // movss         (%rbx,%r8,4),%xmm3
+  .byte  15,20,218                           // unpcklps      %xmm2,%xmm3
+  .byte  102,68,15,20,211                    // unpcklpd      %xmm3,%xmm10
+  .byte  72,139,88,24                        // mov           0x18(%rax),%rbx
+  .byte  243,66,15,16,28,155                 // movss         (%rbx,%r11,4),%xmm3
+  .byte  243,66,15,16,20,147                 // movss         (%rbx,%r10,4),%xmm2
+  .byte  15,20,211                           // unpcklps      %xmm3,%xmm2
+  .byte  243,70,15,16,28,139                 // movss         (%rbx,%r9,4),%xmm11
+  .byte  243,66,15,16,28,131                 // movss         (%rbx,%r8,4),%xmm3
+  .byte  65,15,20,219                        // unpcklps      %xmm11,%xmm3
+  .byte  102,15,20,211                       // unpcklpd      %xmm3,%xmm2
+  .byte  72,139,88,56                        // mov           0x38(%rax),%rbx
+  .byte  243,66,15,16,28,155                 // movss         (%rbx,%r11,4),%xmm3
+  .byte  243,70,15,16,28,147                 // movss         (%rbx,%r10,4),%xmm11
+  .byte  68,15,20,219                        // unpcklps      %xmm3,%xmm11
+  .byte  243,70,15,16,36,139                 // movss         (%rbx,%r9,4),%xmm12
+  .byte  243,66,15,16,28,131                 // movss         (%rbx,%r8,4),%xmm3
+  .byte  65,15,20,220                        // unpcklps      %xmm12,%xmm3
+  .byte  102,68,15,20,219                    // unpcklpd      %xmm3,%xmm11
+  .byte  72,139,88,32                        // mov           0x20(%rax),%rbx
+  .byte  243,70,15,16,36,155                 // movss         (%rbx,%r11,4),%xmm12
+  .byte  243,66,15,16,28,147                 // movss         (%rbx,%r10,4),%xmm3
+  .byte  65,15,20,220                        // unpcklps      %xmm12,%xmm3
+  .byte  243,70,15,16,36,139                 // movss         (%rbx,%r9,4),%xmm12
+  .byte  243,70,15,16,44,131                 // movss         (%rbx,%r8,4),%xmm13
+  .byte  69,15,20,236                        // unpcklps      %xmm12,%xmm13
+  .byte  102,65,15,20,221                    // unpcklpd      %xmm13,%xmm3
+  .byte  72,139,64,64                        // mov           0x40(%rax),%rax
+  .byte  243,70,15,16,36,152                 // movss         (%rax,%r11,4),%xmm12
+  .byte  243,70,15,16,44,144                 // movss         (%rax,%r10,4),%xmm13
+  .byte  69,15,20,236                        // unpcklps      %xmm12,%xmm13
+  .byte  243,70,15,16,36,136                 // movss         (%rax,%r9,4),%xmm12
+  .byte  243,70,15,16,52,128                 // movss         (%rax,%r8,4),%xmm14
+  .byte  69,15,20,244                        // unpcklps      %xmm12,%xmm14
+  .byte  102,69,15,20,238                    // unpcklpd      %xmm14,%xmm13
+  .byte  68,15,89,192                        // mulps         %xmm0,%xmm8
+  .byte  69,15,88,193                        // addps         %xmm9,%xmm8
+  .byte  15,89,200                           // mulps         %xmm0,%xmm1
+  .byte  65,15,88,202                        // addps         %xmm10,%xmm1
+  .byte  15,89,208                           // mulps         %xmm0,%xmm2
+  .byte  65,15,88,211                        // addps         %xmm11,%xmm2
+  .byte  15,89,216                           // mulps         %xmm0,%xmm3
+  .byte  65,15,88,221                        // addps         %xmm13,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  91                                  // pop           %rbx
+  .byte  65,94                               // pop           %r14
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_evenly_spaced_2_stop_gradient_sse2
+.globl _sk_evenly_spaced_2_stop_gradient_sse2
+FUNCTION(_sk_evenly_spaced_2_stop_gradient_sse2)
+_sk_evenly_spaced_2_stop_gradient_sse2:
+  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,15,16,0                         // movss         (%rax),%xmm0
+  .byte  243,15,16,72,4                      // movss         0x4(%rax),%xmm1
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  243,15,16,80,16                     // movss         0x10(%rax),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  15,88,194                           // addps         %xmm2,%xmm0
+  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
+  .byte  243,15,16,80,20                     // movss         0x14(%rax),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
+  .byte  15,88,202                           // addps         %xmm2,%xmm1
+  .byte  243,15,16,80,8                      // movss         0x8(%rax),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  243,15,16,88,24                     // movss         0x18(%rax),%xmm3
+  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
+  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
+  .byte  15,88,211                           // addps         %xmm3,%xmm2
+  .byte  243,15,16,88,12                     // movss         0xc(%rax),%xmm3
+  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
+  .byte  243,68,15,16,72,28                  // movss         0x1c(%rax),%xmm9
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
+  .byte  65,15,88,217                        // addps         %xmm9,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xy_to_unit_angle_sse2
+.globl _sk_xy_to_unit_angle_sse2
+FUNCTION(_sk_xy_to_unit_angle_sse2)
+_sk_xy_to_unit_angle_sse2:
+  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  69,15,92,200                        // subps         %xmm8,%xmm9
+  .byte  69,15,84,200                        // andps         %xmm8,%xmm9
+  .byte  69,15,87,210                        // xorps         %xmm10,%xmm10
+  .byte  68,15,92,209                        // subps         %xmm1,%xmm10
+  .byte  68,15,84,209                        // andps         %xmm1,%xmm10
+  .byte  69,15,40,217                        // movaps        %xmm9,%xmm11
+  .byte  69,15,93,218                        // minps         %xmm10,%xmm11
+  .byte  69,15,40,225                        // movaps        %xmm9,%xmm12
+  .byte  69,15,95,226                        // maxps         %xmm10,%xmm12
+  .byte  69,15,94,220                        // divps         %xmm12,%xmm11
+  .byte  69,15,40,227                        // movaps        %xmm11,%xmm12
+  .byte  69,15,89,228                        // mulps         %xmm12,%xmm12
+  .byte  68,15,40,45,79,26,1,0               // movaps        0x11a4f(%rip),%xmm13        # 3d4e0 <_sk_srcover_bgra_8888_sse2_lowp+0x1294>
+  .byte  69,15,89,236                        // mulps         %xmm12,%xmm13
+  .byte  68,15,88,45,83,26,1,0               // addps         0x11a53(%rip),%xmm13        # 3d4f0 <_sk_srcover_bgra_8888_sse2_lowp+0x12a4>
+  .byte  69,15,89,236                        // mulps         %xmm12,%xmm13
+  .byte  68,15,88,45,87,26,1,0               // addps         0x11a57(%rip),%xmm13        # 3d500 <_sk_srcover_bgra_8888_sse2_lowp+0x12b4>
+  .byte  69,15,89,236                        // mulps         %xmm12,%xmm13
+  .byte  68,15,88,45,91,26,1,0               // addps         0x11a5b(%rip),%xmm13        # 3d510 <_sk_srcover_bgra_8888_sse2_lowp+0x12c4>
+  .byte  69,15,89,235                        // mulps         %xmm11,%xmm13
+  .byte  69,15,194,202,1                     // cmpltps       %xmm10,%xmm9
+  .byte  68,15,40,21,90,26,1,0               // movaps        0x11a5a(%rip),%xmm10        # 3d520 <_sk_srcover_bgra_8888_sse2_lowp+0x12d4>
+  .byte  69,15,92,213                        // subps         %xmm13,%xmm10
+  .byte  69,15,84,209                        // andps         %xmm9,%xmm10
+  .byte  69,15,85,205                        // andnps        %xmm13,%xmm9
+  .byte  69,15,86,202                        // orps          %xmm10,%xmm9
+  .byte  68,15,194,192,1                     // cmpltps       %xmm0,%xmm8
+  .byte  68,15,40,21,29,20,1,0               // movaps        0x1141d(%rip),%xmm10        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  69,15,92,209                        // subps         %xmm9,%xmm10
+  .byte  69,15,84,208                        // andps         %xmm8,%xmm10
+  .byte  69,15,85,193                        // andnps        %xmm9,%xmm8
+  .byte  69,15,86,194                        // orps          %xmm10,%xmm8
+  .byte  68,15,40,201                        // movaps        %xmm1,%xmm9
+  .byte  68,15,194,200,1                     // cmpltps       %xmm0,%xmm9
+  .byte  68,15,40,21,12,20,1,0               // movaps        0x1140c(%rip),%xmm10        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,92,208                        // subps         %xmm8,%xmm10
+  .byte  69,15,84,209                        // andps         %xmm9,%xmm10
+  .byte  69,15,85,200                        // andnps        %xmm8,%xmm9
+  .byte  69,15,86,202                        // orps          %xmm10,%xmm9
+  .byte  65,15,194,193,7                     // cmpordps      %xmm9,%xmm0
+  .byte  65,15,84,193                        // andps         %xmm9,%xmm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xy_to_radius_sse2
+.globl _sk_xy_to_radius_sse2
+FUNCTION(_sk_xy_to_radius_sse2)
+_sk_xy_to_radius_sse2:
+  .byte  15,89,192                           // mulps         %xmm0,%xmm0
+  .byte  68,15,40,193                        // movaps        %xmm1,%xmm8
+  .byte  69,15,89,192                        // mulps         %xmm8,%xmm8
+  .byte  68,15,88,192                        // addps         %xmm0,%xmm8
+  .byte  65,15,81,192                        // sqrtps        %xmm8,%xmm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_negate_x_sse2
+.globl _sk_negate_x_sse2
+FUNCTION(_sk_negate_x_sse2)
+_sk_negate_x_sse2:
+  .byte  15,87,5,33,25,1,0                   // xorps         0x11921(%rip),%xmm0        # 3d460 <_sk_srcover_bgra_8888_sse2_lowp+0x1214>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xy_to_2pt_conical_strip_sse2
+.globl _sk_xy_to_2pt_conical_strip_sse2
+FUNCTION(_sk_xy_to_2pt_conical_strip_sse2)
+_sk_xy_to_2pt_conical_strip_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,64,64                  // movss         0x40(%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  68,15,40,201                        // movaps        %xmm1,%xmm9
+  .byte  69,15,89,201                        // mulps         %xmm9,%xmm9
+  .byte  69,15,92,193                        // subps         %xmm9,%xmm8
+  .byte  69,15,81,192                        // sqrtps        %xmm8,%xmm8
+  .byte  65,15,88,192                        // addps         %xmm8,%xmm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xy_to_2pt_conical_focal_on_circle_sse2
+.globl _sk_xy_to_2pt_conical_focal_on_circle_sse2
+FUNCTION(_sk_xy_to_2pt_conical_focal_on_circle_sse2)
+_sk_xy_to_2pt_conical_focal_on_circle_sse2:
+  .byte  68,15,40,193                        // movaps        %xmm1,%xmm8
+  .byte  69,15,89,192                        // mulps         %xmm8,%xmm8
+  .byte  68,15,94,192                        // divps         %xmm0,%xmm8
+  .byte  65,15,88,192                        // addps         %xmm8,%xmm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xy_to_2pt_conical_well_behaved_sse2
+.globl _sk_xy_to_2pt_conical_well_behaved_sse2
+FUNCTION(_sk_xy_to_2pt_conical_well_behaved_sse2)
+_sk_xy_to_2pt_conical_well_behaved_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,64,64                  // movss         0x40(%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  68,15,89,192                        // mulps         %xmm0,%xmm8
+  .byte  15,89,192                           // mulps         %xmm0,%xmm0
+  .byte  68,15,40,201                        // movaps        %xmm1,%xmm9
+  .byte  69,15,89,201                        // mulps         %xmm9,%xmm9
+  .byte  68,15,88,200                        // addps         %xmm0,%xmm9
+  .byte  65,15,81,193                        // sqrtps        %xmm9,%xmm0
+  .byte  65,15,92,192                        // subps         %xmm8,%xmm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xy_to_2pt_conical_greater_sse2
+.globl _sk_xy_to_2pt_conical_greater_sse2
+FUNCTION(_sk_xy_to_2pt_conical_greater_sse2)
+_sk_xy_to_2pt_conical_greater_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,64,64                  // movss         0x40(%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  68,15,89,192                        // mulps         %xmm0,%xmm8
+  .byte  15,89,192                           // mulps         %xmm0,%xmm0
+  .byte  68,15,40,201                        // movaps        %xmm1,%xmm9
+  .byte  69,15,89,201                        // mulps         %xmm9,%xmm9
+  .byte  65,15,92,193                        // subps         %xmm9,%xmm0
+  .byte  15,81,192                           // sqrtps        %xmm0,%xmm0
+  .byte  65,15,92,192                        // subps         %xmm8,%xmm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xy_to_2pt_conical_smaller_sse2
+.globl _sk_xy_to_2pt_conical_smaller_sse2
+FUNCTION(_sk_xy_to_2pt_conical_smaller_sse2)
+_sk_xy_to_2pt_conical_smaller_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,64,64                  // movss         0x40(%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  68,15,89,192                        // mulps         %xmm0,%xmm8
+  .byte  15,89,192                           // mulps         %xmm0,%xmm0
+  .byte  68,15,40,201                        // movaps        %xmm1,%xmm9
+  .byte  69,15,89,201                        // mulps         %xmm9,%xmm9
+  .byte  65,15,92,193                        // subps         %xmm9,%xmm0
+  .byte  15,81,192                           // sqrtps        %xmm0,%xmm0
+  .byte  15,87,5,99,24,1,0                   // xorps         0x11863(%rip),%xmm0        # 3d460 <_sk_srcover_bgra_8888_sse2_lowp+0x1214>
+  .byte  65,15,92,192                        // subps         %xmm8,%xmm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_alter_2pt_conical_compensate_focal_sse2
+.globl _sk_alter_2pt_conical_compensate_focal_sse2
+FUNCTION(_sk_alter_2pt_conical_compensate_focal_sse2)
+_sk_alter_2pt_conical_compensate_focal_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,64,68                  // movss         0x44(%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  65,15,88,192                        // addps         %xmm8,%xmm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_alter_2pt_conical_unswap_sse2
+.globl _sk_alter_2pt_conical_unswap_sse2
+FUNCTION(_sk_alter_2pt_conical_unswap_sse2)
+_sk_alter_2pt_conical_unswap_sse2:
+  .byte  68,15,40,5,238,18,1,0               // movaps        0x112ee(%rip),%xmm8        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  68,15,92,192                        // subps         %xmm0,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_mask_2pt_conical_nan_sse2
+.globl _sk_mask_2pt_conical_nan_sse2
+FUNCTION(_sk_mask_2pt_conical_nan_sse2)
+_sk_mask_2pt_conical_nan_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  68,15,194,192,7                     // cmpordps      %xmm0,%xmm8
+  .byte  65,15,84,192                        // andps         %xmm8,%xmm0
+  .byte  68,15,17,0                          // movups        %xmm8,(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_mask_2pt_conical_degenerates_sse2
+.globl _sk_mask_2pt_conical_degenerates_sse2
+FUNCTION(_sk_mask_2pt_conical_degenerates_sse2)
+_sk_mask_2pt_conical_degenerates_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
+  .byte  69,15,95,193                        // maxps         %xmm9,%xmm8
+  .byte  68,15,194,200,1                     // cmpltps       %xmm0,%xmm9
+  .byte  68,15,17,8                          // movups        %xmm9,(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_apply_vector_mask_sse2
+.globl _sk_apply_vector_mask_sse2
+FUNCTION(_sk_apply_vector_mask_sse2)
+_sk_apply_vector_mask_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  68,15,16,0                          // movups        (%rax),%xmm8
+  .byte  65,15,84,192                        // andps         %xmm8,%xmm0
+  .byte  65,15,84,200                        // andps         %xmm8,%xmm1
+  .byte  65,15,84,208                        // andps         %xmm8,%xmm2
+  .byte  65,15,84,216                        // andps         %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_save_xy_sse2
+.globl _sk_save_xy_sse2
+FUNCTION(_sk_save_xy_sse2)
+_sk_save_xy_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  68,15,40,5,120,18,1,0               // movaps        0x11278(%rip),%xmm8        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  15,17,0                             // movups        %xmm0,(%rax)
+  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
+  .byte  69,15,88,200                        // addps         %xmm8,%xmm9
+  .byte  243,69,15,91,209                    // cvttps2dq     %xmm9,%xmm10
+  .byte  69,15,91,210                        // cvtdq2ps      %xmm10,%xmm10
+  .byte  69,15,40,217                        // movaps        %xmm9,%xmm11
+  .byte  69,15,194,218,1                     // cmpltps       %xmm10,%xmm11
+  .byte  68,15,40,37,99,18,1,0               // movaps        0x11263(%rip),%xmm12        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,84,220                        // andps         %xmm12,%xmm11
+  .byte  69,15,92,211                        // subps         %xmm11,%xmm10
+  .byte  69,15,92,202                        // subps         %xmm10,%xmm9
+  .byte  68,15,88,193                        // addps         %xmm1,%xmm8
+  .byte  243,69,15,91,208                    // cvttps2dq     %xmm8,%xmm10
+  .byte  69,15,91,210                        // cvtdq2ps      %xmm10,%xmm10
+  .byte  69,15,40,216                        // movaps        %xmm8,%xmm11
+  .byte  69,15,194,218,1                     // cmpltps       %xmm10,%xmm11
+  .byte  69,15,84,220                        // andps         %xmm12,%xmm11
+  .byte  69,15,92,211                        // subps         %xmm11,%xmm10
+  .byte  69,15,92,194                        // subps         %xmm10,%xmm8
+  .byte  15,17,72,64                         // movups        %xmm1,0x40(%rax)
+  .byte  68,15,17,136,128,0,0,0              // movups        %xmm9,0x80(%rax)
+  .byte  68,15,17,128,192,0,0,0              // movups        %xmm8,0xc0(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_accumulate_sse2
+.globl _sk_accumulate_sse2
+FUNCTION(_sk_accumulate_sse2)
+_sk_accumulate_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  68,15,16,128,0,1,0,0                // movups        0x100(%rax),%xmm8
+  .byte  68,15,16,136,64,1,0,0               // movups        0x140(%rax),%xmm9
+  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
+  .byte  69,15,40,193                        // movaps        %xmm9,%xmm8
+  .byte  68,15,89,192                        // mulps         %xmm0,%xmm8
+  .byte  65,15,88,224                        // addps         %xmm8,%xmm4
+  .byte  69,15,40,193                        // movaps        %xmm9,%xmm8
+  .byte  68,15,89,193                        // mulps         %xmm1,%xmm8
+  .byte  65,15,88,232                        // addps         %xmm8,%xmm5
+  .byte  69,15,40,193                        // movaps        %xmm9,%xmm8
+  .byte  68,15,89,194                        // mulps         %xmm2,%xmm8
+  .byte  65,15,88,240                        // addps         %xmm8,%xmm6
+  .byte  68,15,89,203                        // mulps         %xmm3,%xmm9
+  .byte  65,15,88,249                        // addps         %xmm9,%xmm7
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bilinear_nx_sse2
+.globl _sk_bilinear_nx_sse2
+FUNCTION(_sk_bilinear_nx_sse2)
+_sk_bilinear_nx_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,16,0                             // movups        (%rax),%xmm0
+  .byte  68,15,16,128,128,0,0,0              // movups        0x80(%rax),%xmm8
+  .byte  15,88,5,227,23,1,0                  // addps         0x117e3(%rip),%xmm0        # 3d530 <_sk_srcover_bgra_8888_sse2_lowp+0x12e4>
+  .byte  68,15,40,13,187,17,1,0              // movaps        0x111bb(%rip),%xmm9        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,92,200                        // subps         %xmm8,%xmm9
+  .byte  68,15,17,136,0,1,0,0                // movups        %xmm9,0x100(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bilinear_px_sse2
+.globl _sk_bilinear_px_sse2
+FUNCTION(_sk_bilinear_px_sse2)
+_sk_bilinear_px_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,16,0                             // movups        (%rax),%xmm0
+  .byte  68,15,16,128,128,0,0,0              // movups        0x80(%rax),%xmm8
+  .byte  15,88,5,135,17,1,0                  // addps         0x11187(%rip),%xmm0        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  68,15,17,128,0,1,0,0                // movups        %xmm8,0x100(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bilinear_ny_sse2
+.globl _sk_bilinear_ny_sse2
+FUNCTION(_sk_bilinear_ny_sse2)
+_sk_bilinear_ny_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,16,72,64                         // movups        0x40(%rax),%xmm1
+  .byte  68,15,16,128,192,0,0,0              // movups        0xc0(%rax),%xmm8
+  .byte  15,88,13,150,23,1,0                 // addps         0x11796(%rip),%xmm1        # 3d530 <_sk_srcover_bgra_8888_sse2_lowp+0x12e4>
+  .byte  68,15,40,13,110,17,1,0              // movaps        0x1116e(%rip),%xmm9        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,92,200                        // subps         %xmm8,%xmm9
+  .byte  68,15,17,136,64,1,0,0               // movups        %xmm9,0x140(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bilinear_py_sse2
+.globl _sk_bilinear_py_sse2
+FUNCTION(_sk_bilinear_py_sse2)
+_sk_bilinear_py_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,16,72,64                         // movups        0x40(%rax),%xmm1
+  .byte  68,15,16,128,192,0,0,0              // movups        0xc0(%rax),%xmm8
+  .byte  15,88,13,57,17,1,0                  // addps         0x11139(%rip),%xmm1        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  68,15,17,128,64,1,0,0               // movups        %xmm8,0x140(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bicubic_n3x_sse2
+.globl _sk_bicubic_n3x_sse2
+FUNCTION(_sk_bicubic_n3x_sse2)
+_sk_bicubic_n3x_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,16,0                             // movups        (%rax),%xmm0
+  .byte  68,15,16,128,128,0,0,0              // movups        0x80(%rax),%xmm8
+  .byte  15,88,5,89,23,1,0                   // addps         0x11759(%rip),%xmm0        # 3d540 <_sk_srcover_bgra_8888_sse2_lowp+0x12f4>
+  .byte  68,15,40,13,33,17,1,0               // movaps        0x11121(%rip),%xmm9        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,92,200                        // subps         %xmm8,%xmm9
+  .byte  69,15,40,193                        // movaps        %xmm9,%xmm8
+  .byte  69,15,89,192                        // mulps         %xmm8,%xmm8
+  .byte  68,15,89,13,77,23,1,0               // mulps         0x1174d(%rip),%xmm9        # 3d550 <_sk_srcover_bgra_8888_sse2_lowp+0x1304>
+  .byte  68,15,88,13,5,19,1,0                // addps         0x11305(%rip),%xmm9        # 3d110 <_sk_srcover_bgra_8888_sse2_lowp+0xec4>
+  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
+  .byte  68,15,17,136,0,1,0,0                // movups        %xmm9,0x100(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bicubic_n1x_sse2
+.globl _sk_bicubic_n1x_sse2
+FUNCTION(_sk_bicubic_n1x_sse2)
+_sk_bicubic_n1x_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,16,0                             // movups        (%rax),%xmm0
+  .byte  68,15,16,128,128,0,0,0              // movups        0x80(%rax),%xmm8
+  .byte  15,88,5,1,23,1,0                    // addps         0x11701(%rip),%xmm0        # 3d530 <_sk_srcover_bgra_8888_sse2_lowp+0x12e4>
+  .byte  68,15,40,13,217,16,1,0              // movaps        0x110d9(%rip),%xmm9        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,92,200                        // subps         %xmm8,%xmm9
+  .byte  68,15,40,5,29,23,1,0                // movaps        0x1171d(%rip),%xmm8        # 3d560 <_sk_srcover_bgra_8888_sse2_lowp+0x1314>
+  .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
+  .byte  68,15,88,5,33,23,1,0                // addps         0x11721(%rip),%xmm8        # 3d570 <_sk_srcover_bgra_8888_sse2_lowp+0x1324>
+  .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
+  .byte  68,15,88,5,165,16,1,0               // addps         0x110a5(%rip),%xmm8        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
+  .byte  68,15,88,5,25,23,1,0                // addps         0x11719(%rip),%xmm8        # 3d580 <_sk_srcover_bgra_8888_sse2_lowp+0x1334>
+  .byte  68,15,17,128,0,1,0,0                // movups        %xmm8,0x100(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bicubic_p1x_sse2
+.globl _sk_bicubic_p1x_sse2
+FUNCTION(_sk_bicubic_p1x_sse2)
+_sk_bicubic_p1x_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  68,15,40,5,131,16,1,0               // movaps        0x11083(%rip),%xmm8        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  15,16,0                             // movups        (%rax),%xmm0
+  .byte  68,15,16,136,128,0,0,0              // movups        0x80(%rax),%xmm9
+  .byte  65,15,88,192                        // addps         %xmm8,%xmm0
+  .byte  68,15,40,21,204,22,1,0              // movaps        0x116cc(%rip),%xmm10        # 3d560 <_sk_srcover_bgra_8888_sse2_lowp+0x1314>
+  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
+  .byte  68,15,88,21,208,22,1,0              // addps         0x116d0(%rip),%xmm10        # 3d570 <_sk_srcover_bgra_8888_sse2_lowp+0x1324>
+  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
+  .byte  69,15,88,208                        // addps         %xmm8,%xmm10
+  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
+  .byte  68,15,88,21,204,22,1,0              // addps         0x116cc(%rip),%xmm10        # 3d580 <_sk_srcover_bgra_8888_sse2_lowp+0x1334>
+  .byte  68,15,17,144,0,1,0,0                // movups        %xmm10,0x100(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bicubic_p3x_sse2
+.globl _sk_bicubic_p3x_sse2
+FUNCTION(_sk_bicubic_p3x_sse2)
+_sk_bicubic_p3x_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,16,0                             // movups        (%rax),%xmm0
+  .byte  68,15,16,128,128,0,0,0              // movups        0x80(%rax),%xmm8
+  .byte  15,88,5,156,22,1,0                  // addps         0x1169c(%rip),%xmm0        # 3d570 <_sk_srcover_bgra_8888_sse2_lowp+0x1324>
+  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
+  .byte  69,15,89,201                        // mulps         %xmm9,%xmm9
+  .byte  68,15,89,5,108,22,1,0               // mulps         0x1166c(%rip),%xmm8        # 3d550 <_sk_srcover_bgra_8888_sse2_lowp+0x1304>
+  .byte  68,15,88,5,36,18,1,0                // addps         0x11224(%rip),%xmm8        # 3d110 <_sk_srcover_bgra_8888_sse2_lowp+0xec4>
+  .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
+  .byte  68,15,17,128,0,1,0,0                // movups        %xmm8,0x100(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bicubic_n3y_sse2
+.globl _sk_bicubic_n3y_sse2
+FUNCTION(_sk_bicubic_n3y_sse2)
+_sk_bicubic_n3y_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,16,72,64                         // movups        0x40(%rax),%xmm1
+  .byte  68,15,16,128,192,0,0,0              // movups        0xc0(%rax),%xmm8
+  .byte  15,88,13,47,22,1,0                  // addps         0x1162f(%rip),%xmm1        # 3d540 <_sk_srcover_bgra_8888_sse2_lowp+0x12f4>
+  .byte  68,15,40,13,247,15,1,0              // movaps        0x10ff7(%rip),%xmm9        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,92,200                        // subps         %xmm8,%xmm9
+  .byte  69,15,40,193                        // movaps        %xmm9,%xmm8
+  .byte  69,15,89,192                        // mulps         %xmm8,%xmm8
+  .byte  68,15,89,13,35,22,1,0               // mulps         0x11623(%rip),%xmm9        # 3d550 <_sk_srcover_bgra_8888_sse2_lowp+0x1304>
+  .byte  68,15,88,13,219,17,1,0              // addps         0x111db(%rip),%xmm9        # 3d110 <_sk_srcover_bgra_8888_sse2_lowp+0xec4>
+  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
+  .byte  68,15,17,136,64,1,0,0               // movups        %xmm9,0x140(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bicubic_n1y_sse2
+.globl _sk_bicubic_n1y_sse2
+FUNCTION(_sk_bicubic_n1y_sse2)
+_sk_bicubic_n1y_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,16,72,64                         // movups        0x40(%rax),%xmm1
+  .byte  68,15,16,128,192,0,0,0              // movups        0xc0(%rax),%xmm8
+  .byte  15,88,13,214,21,1,0                 // addps         0x115d6(%rip),%xmm1        # 3d530 <_sk_srcover_bgra_8888_sse2_lowp+0x12e4>
+  .byte  68,15,40,13,174,15,1,0              // movaps        0x10fae(%rip),%xmm9        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,92,200                        // subps         %xmm8,%xmm9
+  .byte  68,15,40,5,242,21,1,0               // movaps        0x115f2(%rip),%xmm8        # 3d560 <_sk_srcover_bgra_8888_sse2_lowp+0x1314>
+  .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
+  .byte  68,15,88,5,246,21,1,0               // addps         0x115f6(%rip),%xmm8        # 3d570 <_sk_srcover_bgra_8888_sse2_lowp+0x1324>
+  .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
+  .byte  68,15,88,5,122,15,1,0               // addps         0x10f7a(%rip),%xmm8        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
+  .byte  68,15,88,5,238,21,1,0               // addps         0x115ee(%rip),%xmm8        # 3d580 <_sk_srcover_bgra_8888_sse2_lowp+0x1334>
+  .byte  68,15,17,128,64,1,0,0               // movups        %xmm8,0x140(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bicubic_p1y_sse2
+.globl _sk_bicubic_p1y_sse2
+FUNCTION(_sk_bicubic_p1y_sse2)
+_sk_bicubic_p1y_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  68,15,40,5,88,15,1,0                // movaps        0x10f58(%rip),%xmm8        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  15,16,72,64                         // movups        0x40(%rax),%xmm1
+  .byte  68,15,16,136,192,0,0,0              // movups        0xc0(%rax),%xmm9
+  .byte  65,15,88,200                        // addps         %xmm8,%xmm1
+  .byte  68,15,40,21,160,21,1,0              // movaps        0x115a0(%rip),%xmm10        # 3d560 <_sk_srcover_bgra_8888_sse2_lowp+0x1314>
+  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
+  .byte  68,15,88,21,164,21,1,0              // addps         0x115a4(%rip),%xmm10        # 3d570 <_sk_srcover_bgra_8888_sse2_lowp+0x1324>
+  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
+  .byte  69,15,88,208                        // addps         %xmm8,%xmm10
+  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
+  .byte  68,15,88,21,160,21,1,0              // addps         0x115a0(%rip),%xmm10        # 3d580 <_sk_srcover_bgra_8888_sse2_lowp+0x1334>
+  .byte  68,15,17,144,64,1,0,0               // movups        %xmm10,0x140(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bicubic_p3y_sse2
+.globl _sk_bicubic_p3y_sse2
+FUNCTION(_sk_bicubic_p3y_sse2)
+_sk_bicubic_p3y_sse2:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,16,72,64                         // movups        0x40(%rax),%xmm1
+  .byte  68,15,16,128,192,0,0,0              // movups        0xc0(%rax),%xmm8
+  .byte  15,88,13,111,21,1,0                 // addps         0x1156f(%rip),%xmm1        # 3d570 <_sk_srcover_bgra_8888_sse2_lowp+0x1324>
+  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
+  .byte  69,15,89,201                        // mulps         %xmm9,%xmm9
+  .byte  68,15,89,5,63,21,1,0                // mulps         0x1153f(%rip),%xmm8        # 3d550 <_sk_srcover_bgra_8888_sse2_lowp+0x1304>
+  .byte  68,15,88,5,247,16,1,0               // addps         0x110f7(%rip),%xmm8        # 3d110 <_sk_srcover_bgra_8888_sse2_lowp+0xec4>
+  .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
+  .byte  68,15,17,128,64,1,0,0               // movups        %xmm8,0x140(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_callback_sse2
+.globl _sk_callback_sse2
+FUNCTION(_sk_callback_sse2)
+_sk_callback_sse2:
+  .byte  85                                  // push          %rbp
+  .byte  72,137,229                          // mov           %rsp,%rbp
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,85                               // push          %r13
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,131,236,72                       // sub           $0x48,%rsp
+  .byte  15,41,125,144                       // movaps        %xmm7,-0x70(%rbp)
+  .byte  15,41,117,160                       // movaps        %xmm6,-0x60(%rbp)
+  .byte  15,41,109,176                       // movaps        %xmm5,-0x50(%rbp)
+  .byte  15,41,101,192                       // movaps        %xmm4,-0x40(%rbp)
+  .byte  73,137,206                          // mov           %rcx,%r14
+  .byte  73,137,215                          // mov           %rdx,%r15
+  .byte  73,137,253                          // mov           %rdi,%r13
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  72,137,195                          // mov           %rax,%rbx
+  .byte  73,137,244                          // mov           %rsi,%r12
+  .byte  15,40,224                           // movaps        %xmm0,%xmm4
+  .byte  15,20,225                           // unpcklps      %xmm1,%xmm4
+  .byte  15,40,234                           // movaps        %xmm2,%xmm5
+  .byte  15,20,235                           // unpcklps      %xmm3,%xmm5
+  .byte  15,21,193                           // unpckhps      %xmm1,%xmm0
+  .byte  15,21,211                           // unpckhps      %xmm3,%xmm2
+  .byte  15,40,204                           // movaps        %xmm4,%xmm1
+  .byte  102,15,20,205                       // unpcklpd      %xmm5,%xmm1
+  .byte  15,18,236                           // movhlps       %xmm4,%xmm5
+  .byte  15,40,216                           // movaps        %xmm0,%xmm3
+  .byte  102,15,20,218                       // unpcklpd      %xmm2,%xmm3
+  .byte  102,15,17,75,8                      // movupd        %xmm1,0x8(%rbx)
+  .byte  15,18,208                           // movhlps       %xmm0,%xmm2
+  .byte  15,17,107,24                        // movups        %xmm5,0x18(%rbx)
+  .byte  102,15,17,91,40                     // movupd        %xmm3,0x28(%rbx)
+  .byte  15,17,83,56                         // movups        %xmm2,0x38(%rbx)
+  .byte  77,133,237                          // test          %r13,%r13
+  .byte  190,4,0,0,0                         // mov           $0x4,%esi
+  .byte  65,15,69,245                        // cmovne        %r13d,%esi
+  .byte  72,137,223                          // mov           %rbx,%rdi
+  .byte  255,19                              // callq         *(%rbx)
+  .byte  72,139,131,8,1,0,0                  // mov           0x108(%rbx),%rax
+  .byte  15,16,32                            // movups        (%rax),%xmm4
+  .byte  15,16,64,16                         // movups        0x10(%rax),%xmm0
+  .byte  15,16,88,32                         // movups        0x20(%rax),%xmm3
+  .byte  15,16,80,48                         // movups        0x30(%rax),%xmm2
+  .byte  15,40,236                           // movaps        %xmm4,%xmm5
+  .byte  15,20,232                           // unpcklps      %xmm0,%xmm5
+  .byte  15,40,203                           // movaps        %xmm3,%xmm1
+  .byte  15,20,202                           // unpcklps      %xmm2,%xmm1
+  .byte  15,21,224                           // unpckhps      %xmm0,%xmm4
+  .byte  15,21,218                           // unpckhps      %xmm2,%xmm3
+  .byte  15,40,197                           // movaps        %xmm5,%xmm0
+  .byte  102,15,20,193                       // unpcklpd      %xmm1,%xmm0
+  .byte  15,18,205                           // movhlps       %xmm5,%xmm1
+  .byte  15,40,212                           // movaps        %xmm4,%xmm2
+  .byte  102,15,20,211                       // unpcklpd      %xmm3,%xmm2
+  .byte  15,18,220                           // movhlps       %xmm4,%xmm3
+  .byte  76,137,230                          // mov           %r12,%rsi
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,137,239                          // mov           %r13,%rdi
+  .byte  76,137,250                          // mov           %r15,%rdx
+  .byte  76,137,241                          // mov           %r14,%rcx
+  .byte  15,40,101,192                       // movaps        -0x40(%rbp),%xmm4
+  .byte  15,40,109,176                       // movaps        -0x50(%rbp),%xmm5
+  .byte  15,40,117,160                       // movaps        -0x60(%rbp),%xmm6
+  .byte  15,40,125,144                       // movaps        -0x70(%rbp),%xmm7
+  .byte  72,131,196,72                       // add           $0x48,%rsp
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,93                               // pop           %r13
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  93                                  // pop           %rbp
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_clut_3D_sse2
+.globl _sk_clut_3D_sse2
+FUNCTION(_sk_clut_3D_sse2)
+_sk_clut_3D_sse2:
+  .byte  83                                  // push          %rbx
+  .byte  72,131,236,64                       // sub           $0x40,%rsp
+  .byte  15,41,124,36,48                     // movaps        %xmm7,0x30(%rsp)
+  .byte  15,41,116,36,32                     // movaps        %xmm6,0x20(%rsp)
+  .byte  15,41,108,36,16                     // movaps        %xmm5,0x10(%rsp)
+  .byte  15,41,36,36                         // movaps        %xmm4,(%rsp)
+  .byte  15,41,92,36,240                     // movaps        %xmm3,-0x10(%rsp)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  68,139,64,16                        // mov           0x10(%rax),%r8d
+  .byte  69,141,72,255                       // lea           -0x1(%r8),%r9d
+  .byte  102,65,15,110,217                   // movd          %r9d,%xmm3
+  .byte  102,15,112,219,0                    // pshufd        $0x0,%xmm3,%xmm3
+  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
+  .byte  15,89,218                           // mulps         %xmm2,%xmm3
+  .byte  243,68,15,91,235                    // cvttps2dq     %xmm3,%xmm13
+  .byte  68,15,40,219                        // movaps        %xmm3,%xmm11
+  .byte  68,15,41,92,36,224                  // movaps        %xmm11,-0x20(%rsp)
+  .byte  102,65,15,110,208                   // movd          %r8d,%xmm2
+  .byte  102,68,15,112,250,0                 // pshufd        $0x0,%xmm2,%xmm15
+  .byte  68,139,64,12                        // mov           0xc(%rax),%r8d
+  .byte  69,141,72,255                       // lea           -0x1(%r8),%r9d
+  .byte  102,65,15,110,217                   // movd          %r9d,%xmm3
+  .byte  102,15,112,219,0                    // pshufd        $0x0,%xmm3,%xmm3
+  .byte  15,91,251                           // cvtdq2ps      %xmm3,%xmm7
+  .byte  15,89,249                           // mulps         %xmm1,%xmm7
+  .byte  243,15,91,239                       // cvttps2dq     %xmm7,%xmm5
+  .byte  102,15,127,108,36,128               // movdqa        %xmm5,-0x80(%rsp)
+  .byte  15,41,124,36,144                    // movaps        %xmm7,-0x70(%rsp)
+  .byte  102,15,112,205,245                  // pshufd        $0xf5,%xmm5,%xmm1
+  .byte  102,65,15,244,207                   // pmuludq       %xmm15,%xmm1
+  .byte  102,65,15,111,223                   // movdqa        %xmm15,%xmm3
+  .byte  102,15,244,221                      // pmuludq       %xmm5,%xmm3
+  .byte  102,68,15,112,211,232               // pshufd        $0xe8,%xmm3,%xmm10
+  .byte  102,15,112,201,232                  // pshufd        $0xe8,%xmm1,%xmm1
+  .byte  102,68,15,98,209                    // punpckldq     %xmm1,%xmm10
+  .byte  102,65,15,110,200                   // movd          %r8d,%xmm1
+  .byte  102,15,244,202                      // pmuludq       %xmm2,%xmm1
+  .byte  102,15,112,209,0                    // pshufd        $0x0,%xmm1,%xmm2
+  .byte  68,139,64,8                         // mov           0x8(%rax),%r8d
+  .byte  65,255,200                          // dec           %r8d
+  .byte  102,65,15,110,200                   // movd          %r8d,%xmm1
+  .byte  102,15,112,201,0                    // pshufd        $0x0,%xmm1,%xmm1
+  .byte  68,15,91,241                        // cvtdq2ps      %xmm1,%xmm14
+  .byte  68,15,89,240                        // mulps         %xmm0,%xmm14
+  .byte  243,69,15,91,206                    // cvttps2dq     %xmm14,%xmm9
+  .byte  102,65,15,112,193,245               // pshufd        $0xf5,%xmm9,%xmm0
+  .byte  102,15,244,194                      // pmuludq       %xmm2,%xmm0
+  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
+  .byte  102,65,15,244,201                   // pmuludq       %xmm9,%xmm1
+  .byte  102,15,112,217,232                  // pshufd        $0xe8,%xmm1,%xmm3
+  .byte  102,15,112,192,232                  // pshufd        $0xe8,%xmm0,%xmm0
+  .byte  102,15,98,216                       // punpckldq     %xmm0,%xmm3
+  .byte  102,15,127,92,36,176                // movdqa        %xmm3,-0x50(%rsp)
+  .byte  102,65,15,111,202                   // movdqa        %xmm10,%xmm1
+  .byte  102,65,15,254,205                   // paddd         %xmm13,%xmm1
+  .byte  102,68,15,127,108,36,208            // movdqa        %xmm13,-0x30(%rsp)
+  .byte  102,15,254,217                      // paddd         %xmm1,%xmm3
+  .byte  102,68,15,111,5,134,19,1,0          // movdqa        0x11386(%rip),%xmm8        # 3d5a0 <_sk_srcover_bgra_8888_sse2_lowp+0x1354>
+  .byte  102,15,112,195,245                  // pshufd        $0xf5,%xmm3,%xmm0
+  .byte  102,65,15,244,216                   // pmuludq       %xmm8,%xmm3
+  .byte  102,65,15,244,192                   // pmuludq       %xmm8,%xmm0
+  .byte  102,15,112,224,232                  // pshufd        $0xe8,%xmm0,%xmm4
+  .byte  102,15,112,195,232                  // pshufd        $0xe8,%xmm3,%xmm0
+  .byte  102,15,98,196                       // punpckldq     %xmm4,%xmm0
+  .byte  102,65,15,126,216                   // movd          %xmm3,%r8d
+  .byte  102,15,112,216,229                  // pshufd        $0xe5,%xmm0,%xmm3
+  .byte  102,65,15,126,217                   // movd          %xmm3,%r9d
+  .byte  102,15,112,216,78                   // pshufd        $0x4e,%xmm0,%xmm3
+  .byte  102,65,15,126,218                   // movd          %xmm3,%r10d
+  .byte  102,15,112,216,231                  // pshufd        $0xe7,%xmm0,%xmm3
+  .byte  102,65,15,126,219                   // movd          %xmm3,%r11d
+  .byte  72,139,24                           // mov           (%rax),%rbx
+  .byte  243,66,15,16,28,155                 // movss         (%rbx,%r11,4),%xmm3
+  .byte  243,66,15,16,36,147                 // movss         (%rbx,%r10,4),%xmm4
+  .byte  15,20,227                           // unpcklps      %xmm3,%xmm4
+  .byte  243,66,15,16,28,139                 // movss         (%rbx,%r9,4),%xmm3
+  .byte  243,66,15,16,52,131                 // movss         (%rbx,%r8,4),%xmm6
+  .byte  15,20,243                           // unpcklps      %xmm3,%xmm6
+  .byte  102,15,20,244                       // unpcklpd      %xmm4,%xmm6
+  .byte  102,15,118,228                      // pcmpeqd       %xmm4,%xmm4
+  .byte  102,15,111,216                      // movdqa        %xmm0,%xmm3
+  .byte  102,15,250,220                      // psubd         %xmm4,%xmm3
+  .byte  102,15,112,227,78                   // pshufd        $0x4e,%xmm3,%xmm4
+  .byte  102,73,15,126,224                   // movq          %xmm4,%r8
+  .byte  102,73,15,126,217                   // movq          %xmm3,%r9
+  .byte  69,137,202                          // mov           %r9d,%r10d
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  243,66,15,16,36,139                 // movss         (%rbx,%r9,4),%xmm4
+  .byte  243,66,15,16,28,147                 // movss         (%rbx,%r10,4),%xmm3
+  .byte  15,20,220                           // unpcklps      %xmm4,%xmm3
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,36,131                 // movss         (%rbx,%r8,4),%xmm4
+  .byte  243,66,15,16,44,139                 // movss         (%rbx,%r9,4),%xmm5
+  .byte  15,20,236                           // unpcklps      %xmm4,%xmm5
+  .byte  102,15,20,221                       // unpcklpd      %xmm5,%xmm3
+  .byte  102,68,15,111,37,109,12,1,0         // movdqa        0x10c6d(%rip),%xmm12        # 3cf40 <_sk_srcover_bgra_8888_sse2_lowp+0xcf4>
+  .byte  102,65,15,254,196                   // paddd         %xmm12,%xmm0
+  .byte  102,15,112,224,78                   // pshufd        $0x4e,%xmm0,%xmm4
+  .byte  102,73,15,126,224                   // movq          %xmm4,%r8
+  .byte  102,73,15,126,193                   // movq          %xmm0,%r9
+  .byte  69,137,202                          // mov           %r9d,%r10d
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  243,66,15,16,4,139                  // movss         (%rbx,%r9,4),%xmm0
+  .byte  243,66,15,16,44,147                 // movss         (%rbx,%r10,4),%xmm5
+  .byte  15,20,232                           // unpcklps      %xmm0,%xmm5
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,4,131                  // movss         (%rbx,%r8,4),%xmm0
+  .byte  243,66,15,16,36,139                 // movss         (%rbx,%r9,4),%xmm4
+  .byte  15,20,224                           // unpcklps      %xmm0,%xmm4
+  .byte  102,15,20,236                       // unpcklpd      %xmm4,%xmm5
+  .byte  15,40,37,114,18,1,0                 // movaps        0x11272(%rip),%xmm4        # 3d590 <_sk_srcover_bgra_8888_sse2_lowp+0x1344>
+  .byte  68,15,88,220                        // addps         %xmm4,%xmm11
+  .byte  68,15,41,92,36,192                  // movaps        %xmm11,-0x40(%rsp)
+  .byte  68,15,40,223                        // movaps        %xmm7,%xmm11
+  .byte  68,15,88,220                        // addps         %xmm4,%xmm11
+  .byte  65,15,88,230                        // addps         %xmm14,%xmm4
+  .byte  243,15,91,228                       // cvttps2dq     %xmm4,%xmm4
+  .byte  102,15,112,252,245                  // pshufd        $0xf5,%xmm4,%xmm7
+  .byte  102,15,244,250                      // pmuludq       %xmm2,%xmm7
+  .byte  102,15,244,212                      // pmuludq       %xmm4,%xmm2
+  .byte  102,15,112,194,232                  // pshufd        $0xe8,%xmm2,%xmm0
+  .byte  102,15,112,215,232                  // pshufd        $0xe8,%xmm7,%xmm2
+  .byte  102,15,98,194                       // punpckldq     %xmm2,%xmm0
+  .byte  102,15,127,68,36,160                // movdqa        %xmm0,-0x60(%rsp)
+  .byte  102,15,254,200                      // paddd         %xmm0,%xmm1
+  .byte  102,15,112,209,245                  // pshufd        $0xf5,%xmm1,%xmm2
+  .byte  102,65,15,244,200                   // pmuludq       %xmm8,%xmm1
+  .byte  102,65,15,244,208                   // pmuludq       %xmm8,%xmm2
+  .byte  102,15,112,226,232                  // pshufd        $0xe8,%xmm2,%xmm4
+  .byte  102,15,112,209,232                  // pshufd        $0xe8,%xmm1,%xmm2
+  .byte  102,15,98,212                       // punpckldq     %xmm4,%xmm2
+  .byte  102,65,15,126,200                   // movd          %xmm1,%r8d
+  .byte  102,15,112,202,229                  // pshufd        $0xe5,%xmm2,%xmm1
+  .byte  102,65,15,126,201                   // movd          %xmm1,%r9d
+  .byte  102,15,112,202,78                   // pshufd        $0x4e,%xmm2,%xmm1
+  .byte  102,65,15,126,202                   // movd          %xmm1,%r10d
+  .byte  102,15,112,202,231                  // pshufd        $0xe7,%xmm2,%xmm1
+  .byte  102,15,126,200                      // movd          %xmm1,%eax
+  .byte  243,15,16,12,131                    // movss         (%rbx,%rax,4),%xmm1
+  .byte  243,66,15,16,36,147                 // movss         (%rbx,%r10,4),%xmm4
+  .byte  15,20,225                           // unpcklps      %xmm1,%xmm4
+  .byte  243,66,15,16,12,139                 // movss         (%rbx,%r9,4),%xmm1
+  .byte  243,66,15,16,60,131                 // movss         (%rbx,%r8,4),%xmm7
+  .byte  15,20,249                           // unpcklps      %xmm1,%xmm7
+  .byte  102,15,20,252                       // unpcklpd      %xmm4,%xmm7
+  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
+  .byte  102,15,250,13,231,17,1,0            // psubd         0x111e7(%rip),%xmm1        # 3d5b0 <_sk_srcover_bgra_8888_sse2_lowp+0x1364>
+  .byte  102,15,112,225,78                   // pshufd        $0x4e,%xmm1,%xmm4
+  .byte  102,73,15,126,224                   // movq          %xmm4,%r8
+  .byte  102,72,15,126,200                   // movq          %xmm1,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  243,15,16,12,131                    // movss         (%rbx,%rax,4),%xmm1
+  .byte  243,66,15,16,36,139                 // movss         (%rbx,%r9,4),%xmm4
+  .byte  15,20,225                           // unpcklps      %xmm1,%xmm4
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,12,131                 // movss         (%rbx,%r8,4),%xmm1
+  .byte  243,15,16,4,131                     // movss         (%rbx,%rax,4),%xmm0
+  .byte  15,20,193                           // unpcklps      %xmm1,%xmm0
+  .byte  102,15,20,224                       // unpcklpd      %xmm0,%xmm4
+  .byte  102,65,15,254,212                   // paddd         %xmm12,%xmm2
+  .byte  102,15,112,194,78                   // pshufd        $0x4e,%xmm2,%xmm0
+  .byte  102,73,15,126,192                   // movq          %xmm0,%r8
+  .byte  102,72,15,126,208                   // movq          %xmm2,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  243,15,16,4,131                     // movss         (%rbx,%rax,4),%xmm0
+  .byte  243,66,15,16,20,139                 // movss         (%rbx,%r9,4),%xmm2
+  .byte  15,20,208                           // unpcklps      %xmm0,%xmm2
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,4,131                  // movss         (%rbx,%r8,4),%xmm0
+  .byte  243,15,16,12,131                    // movss         (%rbx,%rax,4),%xmm1
+  .byte  15,20,200                           // unpcklps      %xmm0,%xmm1
+  .byte  102,15,20,209                       // unpcklpd      %xmm1,%xmm2
+  .byte  65,15,91,193                        // cvtdq2ps      %xmm9,%xmm0
+  .byte  68,15,92,240                        // subps         %xmm0,%xmm14
+  .byte  15,92,254                           // subps         %xmm6,%xmm7
+  .byte  65,15,89,254                        // mulps         %xmm14,%xmm7
+  .byte  15,88,254                           // addps         %xmm6,%xmm7
+  .byte  15,92,227                           // subps         %xmm3,%xmm4
+  .byte  65,15,89,230                        // mulps         %xmm14,%xmm4
+  .byte  15,88,227                           // addps         %xmm3,%xmm4
+  .byte  15,92,213                           // subps         %xmm5,%xmm2
+  .byte  65,15,89,214                        // mulps         %xmm14,%xmm2
+  .byte  15,88,213                           // addps         %xmm5,%xmm2
+  .byte  243,65,15,91,195                    // cvttps2dq     %xmm11,%xmm0
+  .byte  102,15,112,200,245                  // pshufd        $0xf5,%xmm0,%xmm1
+  .byte  102,65,15,244,207                   // pmuludq       %xmm15,%xmm1
+  .byte  102,68,15,244,248                   // pmuludq       %xmm0,%xmm15
+  .byte  102,69,15,112,231,232               // pshufd        $0xe8,%xmm15,%xmm12
+  .byte  102,15,112,193,232                  // pshufd        $0xe8,%xmm1,%xmm0
+  .byte  102,68,15,98,224                    // punpckldq     %xmm0,%xmm12
+  .byte  102,65,15,111,244                   // movdqa        %xmm12,%xmm6
+  .byte  102,65,15,254,245                   // paddd         %xmm13,%xmm6
+  .byte  102,15,111,206                      // movdqa        %xmm6,%xmm1
+  .byte  102,15,254,76,36,176                // paddd         -0x50(%rsp),%xmm1
+  .byte  102,15,112,193,245                  // pshufd        $0xf5,%xmm1,%xmm0
+  .byte  102,65,15,244,200                   // pmuludq       %xmm8,%xmm1
+  .byte  102,65,15,244,192                   // pmuludq       %xmm8,%xmm0
+  .byte  102,69,15,111,216                   // movdqa        %xmm8,%xmm11
+  .byte  102,15,112,216,232                  // pshufd        $0xe8,%xmm0,%xmm3
+  .byte  102,15,112,193,232                  // pshufd        $0xe8,%xmm1,%xmm0
+  .byte  102,15,98,195                       // punpckldq     %xmm3,%xmm0
+  .byte  102,65,15,126,200                   // movd          %xmm1,%r8d
+  .byte  102,15,112,200,229                  // pshufd        $0xe5,%xmm0,%xmm1
+  .byte  102,65,15,126,201                   // movd          %xmm1,%r9d
+  .byte  102,15,112,200,78                   // pshufd        $0x4e,%xmm0,%xmm1
+  .byte  102,65,15,126,202                   // movd          %xmm1,%r10d
+  .byte  102,15,112,200,231                  // pshufd        $0xe7,%xmm0,%xmm1
+  .byte  102,15,126,200                      // movd          %xmm1,%eax
+  .byte  243,15,16,12,131                    // movss         (%rbx,%rax,4),%xmm1
+  .byte  243,66,15,16,28,147                 // movss         (%rbx,%r10,4),%xmm3
+  .byte  15,20,217                           // unpcklps      %xmm1,%xmm3
+  .byte  243,66,15,16,12,139                 // movss         (%rbx,%r9,4),%xmm1
+  .byte  243,70,15,16,4,131                  // movss         (%rbx,%r8,4),%xmm8
+  .byte  68,15,20,193                        // unpcklps      %xmm1,%xmm8
+  .byte  102,68,15,20,195                    // unpcklpd      %xmm3,%xmm8
+  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
+  .byte  102,69,15,118,201                   // pcmpeqd       %xmm9,%xmm9
+  .byte  102,65,15,250,201                   // psubd         %xmm9,%xmm1
+  .byte  102,15,112,217,78                   // pshufd        $0x4e,%xmm1,%xmm3
+  .byte  102,73,15,126,216                   // movq          %xmm3,%r8
+  .byte  102,72,15,126,200                   // movq          %xmm1,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  243,15,16,12,131                    // movss         (%rbx,%rax,4),%xmm1
+  .byte  243,66,15,16,28,139                 // movss         (%rbx,%r9,4),%xmm3
+  .byte  15,20,217                           // unpcklps      %xmm1,%xmm3
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,12,131                 // movss         (%rbx,%r8,4),%xmm1
+  .byte  243,15,16,44,131                    // movss         (%rbx,%rax,4),%xmm5
+  .byte  15,20,233                           // unpcklps      %xmm1,%xmm5
+  .byte  102,15,20,221                       // unpcklpd      %xmm5,%xmm3
+  .byte  102,68,15,111,45,223,9,1,0          // movdqa        0x109df(%rip),%xmm13        # 3cf40 <_sk_srcover_bgra_8888_sse2_lowp+0xcf4>
+  .byte  102,65,15,254,197                   // paddd         %xmm13,%xmm0
+  .byte  102,15,112,200,78                   // pshufd        $0x4e,%xmm0,%xmm1
+  .byte  102,73,15,126,200                   // movq          %xmm1,%r8
+  .byte  102,72,15,126,192                   // movq          %xmm0,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  243,15,16,4,131                     // movss         (%rbx,%rax,4),%xmm0
+  .byte  243,66,15,16,12,139                 // movss         (%rbx,%r9,4),%xmm1
+  .byte  15,20,200                           // unpcklps      %xmm0,%xmm1
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,4,131                  // movss         (%rbx,%r8,4),%xmm0
+  .byte  243,15,16,44,131                    // movss         (%rbx,%rax,4),%xmm5
+  .byte  15,20,232                           // unpcklps      %xmm0,%xmm5
+  .byte  102,15,20,205                       // unpcklpd      %xmm5,%xmm1
+  .byte  102,15,254,116,36,160               // paddd         -0x60(%rsp),%xmm6
+  .byte  102,15,112,198,245                  // pshufd        $0xf5,%xmm6,%xmm0
+  .byte  102,65,15,244,243                   // pmuludq       %xmm11,%xmm6
+  .byte  102,65,15,244,195                   // pmuludq       %xmm11,%xmm0
+  .byte  102,15,112,232,232                  // pshufd        $0xe8,%xmm0,%xmm5
+  .byte  102,15,112,198,232                  // pshufd        $0xe8,%xmm6,%xmm0
+  .byte  102,15,98,197                       // punpckldq     %xmm5,%xmm0
+  .byte  102,65,15,126,240                   // movd          %xmm6,%r8d
+  .byte  102,15,112,232,229                  // pshufd        $0xe5,%xmm0,%xmm5
+  .byte  102,65,15,126,233                   // movd          %xmm5,%r9d
+  .byte  102,15,112,232,78                   // pshufd        $0x4e,%xmm0,%xmm5
+  .byte  102,65,15,126,234                   // movd          %xmm5,%r10d
+  .byte  102,15,112,232,231                  // pshufd        $0xe7,%xmm0,%xmm5
+  .byte  102,15,126,232                      // movd          %xmm5,%eax
+  .byte  243,15,16,44,131                    // movss         (%rbx,%rax,4),%xmm5
+  .byte  243,66,15,16,52,147                 // movss         (%rbx,%r10,4),%xmm6
+  .byte  15,20,245                           // unpcklps      %xmm5,%xmm6
+  .byte  243,66,15,16,44,139                 // movss         (%rbx,%r9,4),%xmm5
+  .byte  243,70,15,16,60,131                 // movss         (%rbx,%r8,4),%xmm15
+  .byte  68,15,20,253                        // unpcklps      %xmm5,%xmm15
+  .byte  102,68,15,20,254                    // unpcklpd      %xmm6,%xmm15
+  .byte  102,15,111,232                      // movdqa        %xmm0,%xmm5
+  .byte  102,65,15,250,233                   // psubd         %xmm9,%xmm5
+  .byte  102,15,112,245,78                   // pshufd        $0x4e,%xmm5,%xmm6
+  .byte  102,73,15,126,240                   // movq          %xmm6,%r8
+  .byte  102,72,15,126,232                   // movq          %xmm5,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  243,15,16,44,131                    // movss         (%rbx,%rax,4),%xmm5
+  .byte  243,70,15,16,28,139                 // movss         (%rbx,%r9,4),%xmm11
+  .byte  68,15,20,221                        // unpcklps      %xmm5,%xmm11
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,44,131                 // movss         (%rbx,%r8,4),%xmm5
+  .byte  243,15,16,52,131                    // movss         (%rbx,%rax,4),%xmm6
+  .byte  15,20,245                           // unpcklps      %xmm5,%xmm6
+  .byte  102,68,15,20,222                    // unpcklpd      %xmm6,%xmm11
+  .byte  102,65,15,254,197                   // paddd         %xmm13,%xmm0
+  .byte  102,15,112,232,78                   // pshufd        $0x4e,%xmm0,%xmm5
+  .byte  102,73,15,126,232                   // movq          %xmm5,%r8
+  .byte  102,72,15,126,192                   // movq          %xmm0,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  243,15,16,4,131                     // movss         (%rbx,%rax,4),%xmm0
+  .byte  243,70,15,16,12,139                 // movss         (%rbx,%r9,4),%xmm9
+  .byte  68,15,20,200                        // unpcklps      %xmm0,%xmm9
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,4,131                  // movss         (%rbx,%r8,4),%xmm0
+  .byte  243,15,16,44,131                    // movss         (%rbx,%rax,4),%xmm5
+  .byte  15,20,232                           // unpcklps      %xmm0,%xmm5
+  .byte  102,68,15,20,205                    // unpcklpd      %xmm5,%xmm9
+  .byte  69,15,92,248                        // subps         %xmm8,%xmm15
+  .byte  69,15,89,254                        // mulps         %xmm14,%xmm15
+  .byte  69,15,88,248                        // addps         %xmm8,%xmm15
+  .byte  68,15,92,219                        // subps         %xmm3,%xmm11
+  .byte  69,15,89,222                        // mulps         %xmm14,%xmm11
+  .byte  68,15,88,219                        // addps         %xmm3,%xmm11
+  .byte  68,15,92,201                        // subps         %xmm1,%xmm9
+  .byte  69,15,89,206                        // mulps         %xmm14,%xmm9
+  .byte  68,15,88,201                        // addps         %xmm1,%xmm9
+  .byte  15,91,68,36,128                     // cvtdq2ps      -0x80(%rsp),%xmm0
+  .byte  15,40,76,36,144                     // movaps        -0x70(%rsp),%xmm1
+  .byte  15,92,200                           // subps         %xmm0,%xmm1
+  .byte  15,41,76,36,144                     // movaps        %xmm1,-0x70(%rsp)
+  .byte  68,15,92,255                        // subps         %xmm7,%xmm15
+  .byte  68,15,89,249                        // mulps         %xmm1,%xmm15
+  .byte  68,15,88,255                        // addps         %xmm7,%xmm15
+  .byte  68,15,92,220                        // subps         %xmm4,%xmm11
+  .byte  68,15,89,217                        // mulps         %xmm1,%xmm11
+  .byte  68,15,88,220                        // addps         %xmm4,%xmm11
+  .byte  68,15,92,202                        // subps         %xmm2,%xmm9
+  .byte  68,15,89,201                        // mulps         %xmm1,%xmm9
+  .byte  68,15,88,202                        // addps         %xmm2,%xmm9
+  .byte  243,15,91,68,36,192                 // cvttps2dq     -0x40(%rsp),%xmm0
+  .byte  102,15,127,68,36,128                // movdqa        %xmm0,-0x80(%rsp)
+  .byte  102,68,15,254,208                   // paddd         %xmm0,%xmm10
+  .byte  102,15,111,116,36,176               // movdqa        -0x50(%rsp),%xmm6
+  .byte  102,15,111,206                      // movdqa        %xmm6,%xmm1
+  .byte  102,65,15,254,202                   // paddd         %xmm10,%xmm1
+  .byte  102,15,112,209,245                  // pshufd        $0xf5,%xmm1,%xmm2
+  .byte  102,15,111,29,130,14,1,0            // movdqa        0x10e82(%rip),%xmm3        # 3d5a0 <_sk_srcover_bgra_8888_sse2_lowp+0x1354>
+  .byte  102,15,244,203                      // pmuludq       %xmm3,%xmm1
+  .byte  102,15,244,211                      // pmuludq       %xmm3,%xmm2
+  .byte  102,15,111,251                      // movdqa        %xmm3,%xmm7
+  .byte  102,15,112,210,232                  // pshufd        $0xe8,%xmm2,%xmm2
+  .byte  102,15,112,217,232                  // pshufd        $0xe8,%xmm1,%xmm3
+  .byte  102,15,98,218                       // punpckldq     %xmm2,%xmm3
+  .byte  102,65,15,126,200                   // movd          %xmm1,%r8d
+  .byte  102,15,112,203,229                  // pshufd        $0xe5,%xmm3,%xmm1
+  .byte  102,65,15,126,201                   // movd          %xmm1,%r9d
+  .byte  102,15,112,203,78                   // pshufd        $0x4e,%xmm3,%xmm1
+  .byte  102,65,15,126,202                   // movd          %xmm1,%r10d
+  .byte  102,15,112,203,231                  // pshufd        $0xe7,%xmm3,%xmm1
+  .byte  102,15,126,200                      // movd          %xmm1,%eax
+  .byte  243,15,16,12,131                    // movss         (%rbx,%rax,4),%xmm1
+  .byte  243,66,15,16,20,147                 // movss         (%rbx,%r10,4),%xmm2
+  .byte  15,20,209                           // unpcklps      %xmm1,%xmm2
+  .byte  243,66,15,16,36,139                 // movss         (%rbx,%r9,4),%xmm4
+  .byte  243,66,15,16,12,131                 // movss         (%rbx,%r8,4),%xmm1
+  .byte  15,20,204                           // unpcklps      %xmm4,%xmm1
+  .byte  102,15,20,202                       // unpcklpd      %xmm2,%xmm1
+  .byte  102,15,111,211                      // movdqa        %xmm3,%xmm2
+  .byte  102,69,15,118,237                   // pcmpeqd       %xmm13,%xmm13
+  .byte  102,65,15,250,213                   // psubd         %xmm13,%xmm2
+  .byte  102,15,112,226,78                   // pshufd        $0x4e,%xmm2,%xmm4
+  .byte  102,73,15,126,224                   // movq          %xmm4,%r8
+  .byte  102,72,15,126,208                   // movq          %xmm2,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  243,15,16,36,131                    // movss         (%rbx,%rax,4),%xmm4
+  .byte  243,66,15,16,20,139                 // movss         (%rbx,%r9,4),%xmm2
+  .byte  15,20,212                           // unpcklps      %xmm4,%xmm2
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,36,131                 // movss         (%rbx,%r8,4),%xmm4
+  .byte  243,15,16,44,131                    // movss         (%rbx,%rax,4),%xmm5
+  .byte  15,20,236                           // unpcklps      %xmm4,%xmm5
+  .byte  102,15,20,213                       // unpcklpd      %xmm5,%xmm2
+  .byte  102,15,111,5,114,7,1,0              // movdqa        0x10772(%rip),%xmm0        # 3cf40 <_sk_srcover_bgra_8888_sse2_lowp+0xcf4>
+  .byte  102,15,254,216                      // paddd         %xmm0,%xmm3
+  .byte  102,15,112,227,78                   // pshufd        $0x4e,%xmm3,%xmm4
+  .byte  102,73,15,126,224                   // movq          %xmm4,%r8
+  .byte  102,72,15,126,216                   // movq          %xmm3,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  243,15,16,36,131                    // movss         (%rbx,%rax,4),%xmm4
+  .byte  243,66,15,16,28,139                 // movss         (%rbx,%r9,4),%xmm3
+  .byte  15,20,220                           // unpcklps      %xmm4,%xmm3
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,36,131                 // movss         (%rbx,%r8,4),%xmm4
+  .byte  243,15,16,44,131                    // movss         (%rbx,%rax,4),%xmm5
+  .byte  15,20,236                           // unpcklps      %xmm4,%xmm5
+  .byte  102,15,20,221                       // unpcklpd      %xmm5,%xmm3
+  .byte  102,68,15,254,84,36,160             // paddd         -0x60(%rsp),%xmm10
+  .byte  102,65,15,112,226,245               // pshufd        $0xf5,%xmm10,%xmm4
+  .byte  102,68,15,244,215                   // pmuludq       %xmm7,%xmm10
+  .byte  102,15,244,231                      // pmuludq       %xmm7,%xmm4
+  .byte  102,15,112,236,232                  // pshufd        $0xe8,%xmm4,%xmm5
+  .byte  102,65,15,112,226,232               // pshufd        $0xe8,%xmm10,%xmm4
+  .byte  102,15,98,229                       // punpckldq     %xmm5,%xmm4
+  .byte  102,69,15,126,208                   // movd          %xmm10,%r8d
+  .byte  102,15,112,236,229                  // pshufd        $0xe5,%xmm4,%xmm5
+  .byte  102,65,15,126,233                   // movd          %xmm5,%r9d
+  .byte  102,15,112,236,78                   // pshufd        $0x4e,%xmm4,%xmm5
+  .byte  102,65,15,126,234                   // movd          %xmm5,%r10d
+  .byte  102,15,112,236,231                  // pshufd        $0xe7,%xmm4,%xmm5
+  .byte  102,15,126,232                      // movd          %xmm5,%eax
+  .byte  243,15,16,44,131                    // movss         (%rbx,%rax,4),%xmm5
+  .byte  243,66,15,16,60,147                 // movss         (%rbx,%r10,4),%xmm7
+  .byte  15,20,253                           // unpcklps      %xmm5,%xmm7
+  .byte  243,66,15,16,44,139                 // movss         (%rbx,%r9,4),%xmm5
+  .byte  243,70,15,16,4,131                  // movss         (%rbx,%r8,4),%xmm8
+  .byte  68,15,20,197                        // unpcklps      %xmm5,%xmm8
+  .byte  102,68,15,20,199                    // unpcklpd      %xmm7,%xmm8
+  .byte  102,15,111,236                      // movdqa        %xmm4,%xmm5
+  .byte  102,65,15,250,237                   // psubd         %xmm13,%xmm5
+  .byte  102,15,112,253,78                   // pshufd        $0x4e,%xmm5,%xmm7
+  .byte  102,73,15,126,248                   // movq          %xmm7,%r8
+  .byte  102,72,15,126,232                   // movq          %xmm5,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  243,15,16,44,131                    // movss         (%rbx,%rax,4),%xmm5
+  .byte  243,70,15,16,44,139                 // movss         (%rbx,%r9,4),%xmm13
+  .byte  68,15,20,237                        // unpcklps      %xmm5,%xmm13
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,44,131                 // movss         (%rbx,%r8,4),%xmm5
+  .byte  243,15,16,60,131                    // movss         (%rbx,%rax,4),%xmm7
+  .byte  15,20,253                           // unpcklps      %xmm5,%xmm7
+  .byte  102,68,15,20,239                    // unpcklpd      %xmm7,%xmm13
+  .byte  102,15,254,224                      // paddd         %xmm0,%xmm4
+  .byte  102,15,112,236,78                   // pshufd        $0x4e,%xmm4,%xmm5
+  .byte  102,73,15,126,232                   // movq          %xmm5,%r8
+  .byte  102,72,15,126,224                   // movq          %xmm4,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  243,15,16,36,131                    // movss         (%rbx,%rax,4),%xmm4
+  .byte  243,66,15,16,44,139                 // movss         (%rbx,%r9,4),%xmm5
+  .byte  15,20,236                           // unpcklps      %xmm4,%xmm5
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,36,131                 // movss         (%rbx,%r8,4),%xmm4
+  .byte  243,15,16,60,131                    // movss         (%rbx,%rax,4),%xmm7
+  .byte  15,20,252                           // unpcklps      %xmm4,%xmm7
+  .byte  102,15,20,239                       // unpcklpd      %xmm7,%xmm5
+  .byte  68,15,92,193                        // subps         %xmm1,%xmm8
+  .byte  69,15,89,198                        // mulps         %xmm14,%xmm8
+  .byte  68,15,88,193                        // addps         %xmm1,%xmm8
+  .byte  68,15,92,234                        // subps         %xmm2,%xmm13
+  .byte  69,15,89,238                        // mulps         %xmm14,%xmm13
+  .byte  68,15,88,234                        // addps         %xmm2,%xmm13
+  .byte  15,92,235                           // subps         %xmm3,%xmm5
+  .byte  65,15,89,238                        // mulps         %xmm14,%xmm5
+  .byte  15,88,235                           // addps         %xmm3,%xmm5
+  .byte  102,68,15,254,100,36,128            // paddd         -0x80(%rsp),%xmm12
+  .byte  102,15,111,214                      // movdqa        %xmm6,%xmm2
+  .byte  102,65,15,254,212                   // paddd         %xmm12,%xmm2
+  .byte  102,15,112,194,245                  // pshufd        $0xf5,%xmm2,%xmm0
+  .byte  102,15,111,13,95,12,1,0             // movdqa        0x10c5f(%rip),%xmm1        # 3d5a0 <_sk_srcover_bgra_8888_sse2_lowp+0x1354>
+  .byte  102,15,244,209                      // pmuludq       %xmm1,%xmm2
+  .byte  102,15,244,193                      // pmuludq       %xmm1,%xmm0
+  .byte  102,15,111,241                      // movdqa        %xmm1,%xmm6
+  .byte  102,15,112,200,232                  // pshufd        $0xe8,%xmm0,%xmm1
+  .byte  102,15,112,194,232                  // pshufd        $0xe8,%xmm2,%xmm0
+  .byte  102,15,98,193                       // punpckldq     %xmm1,%xmm0
+  .byte  102,65,15,126,208                   // movd          %xmm2,%r8d
+  .byte  102,15,112,200,229                  // pshufd        $0xe5,%xmm0,%xmm1
+  .byte  102,65,15,126,201                   // movd          %xmm1,%r9d
+  .byte  102,15,112,200,78                   // pshufd        $0x4e,%xmm0,%xmm1
+  .byte  102,65,15,126,202                   // movd          %xmm1,%r10d
+  .byte  102,15,112,200,231                  // pshufd        $0xe7,%xmm0,%xmm1
+  .byte  102,15,126,200                      // movd          %xmm1,%eax
+  .byte  243,15,16,12,131                    // movss         (%rbx,%rax,4),%xmm1
+  .byte  243,66,15,16,20,147                 // movss         (%rbx,%r10,4),%xmm2
+  .byte  15,20,209                           // unpcklps      %xmm1,%xmm2
+  .byte  243,66,15,16,12,139                 // movss         (%rbx,%r9,4),%xmm1
+  .byte  243,70,15,16,20,131                 // movss         (%rbx,%r8,4),%xmm10
+  .byte  68,15,20,209                        // unpcklps      %xmm1,%xmm10
+  .byte  102,68,15,20,210                    // unpcklpd      %xmm2,%xmm10
+  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
+  .byte  102,15,250,13,4,12,1,0              // psubd         0x10c04(%rip),%xmm1        # 3d5b0 <_sk_srcover_bgra_8888_sse2_lowp+0x1364>
+  .byte  102,15,112,209,78                   // pshufd        $0x4e,%xmm1,%xmm2
+  .byte  102,73,15,126,208                   // movq          %xmm2,%r8
+  .byte  102,72,15,126,200                   // movq          %xmm1,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  243,15,16,12,131                    // movss         (%rbx,%rax,4),%xmm1
+  .byte  243,66,15,16,36,139                 // movss         (%rbx,%r9,4),%xmm4
+  .byte  15,20,225                           // unpcklps      %xmm1,%xmm4
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,12,131                 // movss         (%rbx,%r8,4),%xmm1
+  .byte  243,15,16,20,131                    // movss         (%rbx,%rax,4),%xmm2
+  .byte  15,20,209                           // unpcklps      %xmm1,%xmm2
+  .byte  102,15,20,226                       // unpcklpd      %xmm2,%xmm4
+  .byte  102,15,254,5,79,5,1,0               // paddd         0x1054f(%rip),%xmm0        # 3cf40 <_sk_srcover_bgra_8888_sse2_lowp+0xcf4>
+  .byte  102,15,112,200,78                   // pshufd        $0x4e,%xmm0,%xmm1
+  .byte  102,73,15,126,200                   // movq          %xmm1,%r8
+  .byte  102,72,15,126,192                   // movq          %xmm0,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  243,15,16,4,131                     // movss         (%rbx,%rax,4),%xmm0
+  .byte  243,66,15,16,28,139                 // movss         (%rbx,%r9,4),%xmm3
+  .byte  15,20,216                           // unpcklps      %xmm0,%xmm3
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,4,131                  // movss         (%rbx,%r8,4),%xmm0
+  .byte  243,15,16,12,131                    // movss         (%rbx,%rax,4),%xmm1
+  .byte  15,20,200                           // unpcklps      %xmm0,%xmm1
+  .byte  102,15,20,217                       // unpcklpd      %xmm1,%xmm3
+  .byte  102,68,15,254,100,36,160            // paddd         -0x60(%rsp),%xmm12
+  .byte  102,65,15,112,196,245               // pshufd        $0xf5,%xmm12,%xmm0
+  .byte  102,68,15,244,230                   // pmuludq       %xmm6,%xmm12
+  .byte  102,15,244,198                      // pmuludq       %xmm6,%xmm0
+  .byte  102,15,112,192,232                  // pshufd        $0xe8,%xmm0,%xmm0
+  .byte  102,65,15,112,212,232               // pshufd        $0xe8,%xmm12,%xmm2
+  .byte  102,15,98,208                       // punpckldq     %xmm0,%xmm2
+  .byte  102,69,15,126,224                   // movd          %xmm12,%r8d
+  .byte  102,15,112,194,229                  // pshufd        $0xe5,%xmm2,%xmm0
+  .byte  102,65,15,126,193                   // movd          %xmm0,%r9d
+  .byte  102,15,112,194,78                   // pshufd        $0x4e,%xmm2,%xmm0
+  .byte  102,65,15,126,194                   // movd          %xmm0,%r10d
+  .byte  102,15,112,194,231                  // pshufd        $0xe7,%xmm2,%xmm0
+  .byte  102,15,126,192                      // movd          %xmm0,%eax
+  .byte  243,15,16,4,131                     // movss         (%rbx,%rax,4),%xmm0
+  .byte  243,66,15,16,12,147                 // movss         (%rbx,%r10,4),%xmm1
+  .byte  15,20,200                           // unpcklps      %xmm0,%xmm1
+  .byte  243,66,15,16,60,139                 // movss         (%rbx,%r9,4),%xmm7
+  .byte  243,66,15,16,4,131                  // movss         (%rbx,%r8,4),%xmm0
+  .byte  15,20,199                           // unpcklps      %xmm7,%xmm0
+  .byte  102,15,20,193                       // unpcklpd      %xmm1,%xmm0
+  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
+  .byte  102,15,250,13,14,11,1,0             // psubd         0x10b0e(%rip),%xmm1        # 3d5b0 <_sk_srcover_bgra_8888_sse2_lowp+0x1364>
+  .byte  102,15,112,249,78                   // pshufd        $0x4e,%xmm1,%xmm7
+  .byte  102,73,15,126,248                   // movq          %xmm7,%r8
+  .byte  102,72,15,126,200                   // movq          %xmm1,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  243,15,16,60,131                    // movss         (%rbx,%rax,4),%xmm7
+  .byte  243,66,15,16,12,139                 // movss         (%rbx,%r9,4),%xmm1
+  .byte  15,20,207                           // unpcklps      %xmm7,%xmm1
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,60,131                 // movss         (%rbx,%r8,4),%xmm7
+  .byte  243,15,16,52,131                    // movss         (%rbx,%rax,4),%xmm6
+  .byte  15,20,247                           // unpcklps      %xmm7,%xmm6
+  .byte  102,15,20,206                       // unpcklpd      %xmm6,%xmm1
+  .byte  102,15,254,21,89,4,1,0              // paddd         0x10459(%rip),%xmm2        # 3cf40 <_sk_srcover_bgra_8888_sse2_lowp+0xcf4>
+  .byte  102,15,112,242,78                   // pshufd        $0x4e,%xmm2,%xmm6
+  .byte  102,73,15,126,240                   // movq          %xmm6,%r8
+  .byte  102,72,15,126,208                   // movq          %xmm2,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  243,15,16,52,131                    // movss         (%rbx,%rax,4),%xmm6
+  .byte  243,66,15,16,20,139                 // movss         (%rbx,%r9,4),%xmm2
+  .byte  15,20,214                           // unpcklps      %xmm6,%xmm2
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,52,131                 // movss         (%rbx,%r8,4),%xmm6
+  .byte  243,15,16,60,131                    // movss         (%rbx,%rax,4),%xmm7
+  .byte  15,20,254                           // unpcklps      %xmm6,%xmm7
+  .byte  102,15,20,215                       // unpcklpd      %xmm7,%xmm2
+  .byte  65,15,92,194                        // subps         %xmm10,%xmm0
+  .byte  65,15,89,198                        // mulps         %xmm14,%xmm0
+  .byte  65,15,88,194                        // addps         %xmm10,%xmm0
+  .byte  15,92,204                           // subps         %xmm4,%xmm1
+  .byte  65,15,89,206                        // mulps         %xmm14,%xmm1
+  .byte  15,88,204                           // addps         %xmm4,%xmm1
+  .byte  15,92,211                           // subps         %xmm3,%xmm2
+  .byte  65,15,89,214                        // mulps         %xmm14,%xmm2
+  .byte  15,88,211                           // addps         %xmm3,%xmm2
+  .byte  65,15,92,192                        // subps         %xmm8,%xmm0
+  .byte  15,40,92,36,144                     // movaps        -0x70(%rsp),%xmm3
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  65,15,88,192                        // addps         %xmm8,%xmm0
+  .byte  65,15,92,205                        // subps         %xmm13,%xmm1
+  .byte  15,89,203                           // mulps         %xmm3,%xmm1
+  .byte  65,15,88,205                        // addps         %xmm13,%xmm1
+  .byte  15,92,213                           // subps         %xmm5,%xmm2
+  .byte  15,89,211                           // mulps         %xmm3,%xmm2
+  .byte  15,88,213                           // addps         %xmm5,%xmm2
+  .byte  15,91,92,36,208                     // cvtdq2ps      -0x30(%rsp),%xmm3
+  .byte  15,40,100,36,224                    // movaps        -0x20(%rsp),%xmm4
+  .byte  15,92,227                           // subps         %xmm3,%xmm4
+  .byte  65,15,92,199                        // subps         %xmm15,%xmm0
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  65,15,88,199                        // addps         %xmm15,%xmm0
+  .byte  65,15,92,203                        // subps         %xmm11,%xmm1
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  65,15,88,203                        // addps         %xmm11,%xmm1
+  .byte  65,15,92,209                        // subps         %xmm9,%xmm2
+  .byte  15,89,212                           // mulps         %xmm4,%xmm2
+  .byte  65,15,88,209                        // addps         %xmm9,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,92,36,240                     // movaps        -0x10(%rsp),%xmm3
+  .byte  15,40,36,36                         // movaps        (%rsp),%xmm4
+  .byte  15,40,108,36,16                     // movaps        0x10(%rsp),%xmm5
+  .byte  15,40,116,36,32                     // movaps        0x20(%rsp),%xmm6
+  .byte  15,40,124,36,48                     // movaps        0x30(%rsp),%xmm7
+  .byte  72,131,196,64                       // add           $0x40,%rsp
+  .byte  91                                  // pop           %rbx
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_clut_4D_sse2
+.globl _sk_clut_4D_sse2
+FUNCTION(_sk_clut_4D_sse2)
+_sk_clut_4D_sse2:
+  .byte  83                                  // push          %rbx
+  .byte  72,129,236,160,0,0,0                // sub           $0xa0,%rsp
+  .byte  15,41,188,36,144,0,0,0              // movaps        %xmm7,0x90(%rsp)
+  .byte  15,41,180,36,128,0,0,0              // movaps        %xmm6,0x80(%rsp)
+  .byte  15,41,108,36,112                    // movaps        %xmm5,0x70(%rsp)
+  .byte  15,41,100,36,96                     // movaps        %xmm4,0x60(%rsp)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  68,139,64,20                        // mov           0x14(%rax),%r8d
+  .byte  69,141,72,255                       // lea           -0x1(%r8),%r9d
+  .byte  102,65,15,110,225                   // movd          %r9d,%xmm4
+  .byte  102,15,112,228,0                    // pshufd        $0x0,%xmm4,%xmm4
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  15,89,227                           // mulps         %xmm3,%xmm4
+  .byte  15,40,236                           // movaps        %xmm4,%xmm5
+  .byte  102,65,15,110,216                   // movd          %r8d,%xmm3
+  .byte  102,15,112,251,0                    // pshufd        $0x0,%xmm3,%xmm7
+  .byte  102,15,127,124,36,128               // movdqa        %xmm7,-0x80(%rsp)
+  .byte  68,139,64,16                        // mov           0x10(%rax),%r8d
+  .byte  69,141,72,255                       // lea           -0x1(%r8),%r9d
+  .byte  102,65,15,110,225                   // movd          %r9d,%xmm4
+  .byte  102,15,112,228,0                    // pshufd        $0x0,%xmm4,%xmm4
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  15,89,226                           // mulps         %xmm2,%xmm4
+  .byte  243,15,91,244                       // cvttps2dq     %xmm4,%xmm6
+  .byte  102,15,127,116,36,208               // movdqa        %xmm6,-0x30(%rsp)
+  .byte  68,15,40,252                        // movaps        %xmm4,%xmm15
+  .byte  68,15,41,124,36,240                 // movaps        %xmm15,-0x10(%rsp)
+  .byte  102,15,112,214,245                  // pshufd        $0xf5,%xmm6,%xmm2
+  .byte  102,15,244,215                      // pmuludq       %xmm7,%xmm2
+  .byte  102,15,111,231                      // movdqa        %xmm7,%xmm4
+  .byte  102,15,244,230                      // pmuludq       %xmm6,%xmm4
+  .byte  102,68,15,112,244,232               // pshufd        $0xe8,%xmm4,%xmm14
+  .byte  102,15,112,210,232                  // pshufd        $0xe8,%xmm2,%xmm2
+  .byte  102,68,15,98,242                    // punpckldq     %xmm2,%xmm14
+  .byte  102,65,15,110,208                   // movd          %r8d,%xmm2
+  .byte  102,15,244,211                      // pmuludq       %xmm3,%xmm2
+  .byte  102,15,112,210,232                  // pshufd        $0xe8,%xmm2,%xmm2
+  .byte  102,15,244,216                      // pmuludq       %xmm0,%xmm3
+  .byte  102,15,112,219,232                  // pshufd        $0xe8,%xmm3,%xmm3
+  .byte  102,15,98,211                       // punpckldq     %xmm3,%xmm2
+  .byte  102,68,15,112,226,0                 // pshufd        $0x0,%xmm2,%xmm12
+  .byte  68,139,64,12                        // mov           0xc(%rax),%r8d
+  .byte  69,141,72,255                       // lea           -0x1(%r8),%r9d
+  .byte  102,65,15,110,217                   // movd          %r9d,%xmm3
+  .byte  102,15,112,219,0                    // pshufd        $0x0,%xmm3,%xmm3
+  .byte  68,15,91,219                        // cvtdq2ps      %xmm3,%xmm11
+  .byte  68,15,89,217                        // mulps         %xmm1,%xmm11
+  .byte  243,65,15,91,227                    // cvttps2dq     %xmm11,%xmm4
+  .byte  102,15,127,100,36,192               // movdqa        %xmm4,-0x40(%rsp)
+  .byte  68,15,41,92,36,144                  // movaps        %xmm11,-0x70(%rsp)
+  .byte  102,15,112,204,245                  // pshufd        $0xf5,%xmm4,%xmm1
+  .byte  102,65,15,244,204                   // pmuludq       %xmm12,%xmm1
+  .byte  102,65,15,111,220                   // movdqa        %xmm12,%xmm3
+  .byte  102,15,244,220                      // pmuludq       %xmm4,%xmm3
+  .byte  102,15,112,219,232                  // pshufd        $0xe8,%xmm3,%xmm3
+  .byte  102,15,112,201,232                  // pshufd        $0xe8,%xmm1,%xmm1
+  .byte  102,15,98,217                       // punpckldq     %xmm1,%xmm3
+  .byte  102,15,127,28,36                    // movdqa        %xmm3,(%rsp)
+  .byte  102,65,15,110,200                   // movd          %r8d,%xmm1
+  .byte  102,15,244,202                      // pmuludq       %xmm2,%xmm1
+  .byte  102,15,112,201,0                    // pshufd        $0x0,%xmm1,%xmm1
+  .byte  68,139,64,8                         // mov           0x8(%rax),%r8d
+  .byte  65,255,200                          // dec           %r8d
+  .byte  102,65,15,110,208                   // movd          %r8d,%xmm2
+  .byte  102,15,112,210,0                    // pshufd        $0x0,%xmm2,%xmm2
+  .byte  68,15,91,234                        // cvtdq2ps      %xmm2,%xmm13
+  .byte  68,15,89,232                        // mulps         %xmm0,%xmm13
+  .byte  243,69,15,91,205                    // cvttps2dq     %xmm13,%xmm9
+  .byte  102,65,15,112,193,245               // pshufd        $0xf5,%xmm9,%xmm0
+  .byte  102,15,244,193                      // pmuludq       %xmm1,%xmm0
+  .byte  102,15,111,209                      // movdqa        %xmm1,%xmm2
+  .byte  102,65,15,244,209                   // pmuludq       %xmm9,%xmm2
+  .byte  102,15,112,226,232                  // pshufd        $0xe8,%xmm2,%xmm4
+  .byte  102,15,112,192,232                  // pshufd        $0xe8,%xmm0,%xmm0
+  .byte  102,15,98,224                       // punpckldq     %xmm0,%xmm4
+  .byte  102,15,127,100,36,160               // movdqa        %xmm4,-0x60(%rsp)
+  .byte  243,15,91,197                       // cvttps2dq     %xmm5,%xmm0
+  .byte  102,15,127,68,36,48                 // movdqa        %xmm0,0x30(%rsp)
+  .byte  68,15,40,197                        // movaps        %xmm5,%xmm8
+  .byte  68,15,41,68,36,80                   // movaps        %xmm8,0x50(%rsp)
+  .byte  102,69,15,111,214                   // movdqa        %xmm14,%xmm10
+  .byte  102,68,15,254,208                   // paddd         %xmm0,%xmm10
+  .byte  102,15,111,211                      // movdqa        %xmm3,%xmm2
+  .byte  102,65,15,254,210                   // paddd         %xmm10,%xmm2
+  .byte  102,15,111,220                      // movdqa        %xmm4,%xmm3
+  .byte  102,15,254,218                      // paddd         %xmm2,%xmm3
+  .byte  102,15,111,37,81,8,1,0              // movdqa        0x10851(%rip),%xmm4        # 3d5a0 <_sk_srcover_bgra_8888_sse2_lowp+0x1354>
+  .byte  102,15,112,195,245                  // pshufd        $0xf5,%xmm3,%xmm0
+  .byte  102,15,244,220                      // pmuludq       %xmm4,%xmm3
+  .byte  102,15,244,196                      // pmuludq       %xmm4,%xmm0
+  .byte  102,15,112,224,232                  // pshufd        $0xe8,%xmm0,%xmm4
+  .byte  102,15,112,195,232                  // pshufd        $0xe8,%xmm3,%xmm0
+  .byte  102,15,98,196                       // punpckldq     %xmm4,%xmm0
+  .byte  102,65,15,126,216                   // movd          %xmm3,%r8d
+  .byte  102,15,112,216,229                  // pshufd        $0xe5,%xmm0,%xmm3
+  .byte  102,65,15,126,217                   // movd          %xmm3,%r9d
+  .byte  102,15,112,216,78                   // pshufd        $0x4e,%xmm0,%xmm3
+  .byte  102,65,15,126,218                   // movd          %xmm3,%r10d
+  .byte  102,15,112,216,231                  // pshufd        $0xe7,%xmm0,%xmm3
+  .byte  102,65,15,126,219                   // movd          %xmm3,%r11d
+  .byte  72,139,24                           // mov           (%rax),%rbx
+  .byte  243,66,15,16,28,155                 // movss         (%rbx,%r11,4),%xmm3
+  .byte  243,66,15,16,36,147                 // movss         (%rbx,%r10,4),%xmm4
+  .byte  15,20,227                           // unpcklps      %xmm3,%xmm4
+  .byte  243,66,15,16,28,139                 // movss         (%rbx,%r9,4),%xmm3
+  .byte  243,66,15,16,60,131                 // movss         (%rbx,%r8,4),%xmm7
+  .byte  15,20,251                           // unpcklps      %xmm3,%xmm7
+  .byte  102,15,20,252                       // unpcklpd      %xmm4,%xmm7
+  .byte  102,15,118,228                      // pcmpeqd       %xmm4,%xmm4
+  .byte  102,15,111,216                      // movdqa        %xmm0,%xmm3
+  .byte  102,15,250,220                      // psubd         %xmm4,%xmm3
+  .byte  102,15,112,227,78                   // pshufd        $0x4e,%xmm3,%xmm4
+  .byte  102,73,15,126,224                   // movq          %xmm4,%r8
+  .byte  102,73,15,126,217                   // movq          %xmm3,%r9
+  .byte  69,137,202                          // mov           %r9d,%r10d
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  243,66,15,16,36,139                 // movss         (%rbx,%r9,4),%xmm4
+  .byte  243,66,15,16,44,147                 // movss         (%rbx,%r10,4),%xmm5
+  .byte  15,20,236                           // unpcklps      %xmm4,%xmm5
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,36,131                 // movss         (%rbx,%r8,4),%xmm4
+  .byte  243,66,15,16,52,139                 // movss         (%rbx,%r9,4),%xmm6
+  .byte  15,20,244                           // unpcklps      %xmm4,%xmm6
+  .byte  102,15,20,238                       // unpcklpd      %xmm6,%xmm5
+  .byte  102,15,254,5,59,1,1,0               // paddd         0x1013b(%rip),%xmm0        # 3cf40 <_sk_srcover_bgra_8888_sse2_lowp+0xcf4>
+  .byte  102,15,112,224,78                   // pshufd        $0x4e,%xmm0,%xmm4
+  .byte  102,73,15,126,224                   // movq          %xmm4,%r8
+  .byte  102,73,15,126,193                   // movq          %xmm0,%r9
+  .byte  69,137,202                          // mov           %r9d,%r10d
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  243,66,15,16,36,139                 // movss         (%rbx,%r9,4),%xmm4
+  .byte  243,66,15,16,28,147                 // movss         (%rbx,%r10,4),%xmm3
+  .byte  15,20,220                           // unpcklps      %xmm4,%xmm3
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,36,131                 // movss         (%rbx,%r8,4),%xmm4
+  .byte  243,66,15,16,52,139                 // movss         (%rbx,%r9,4),%xmm6
+  .byte  15,20,244                           // unpcklps      %xmm4,%xmm6
+  .byte  102,15,20,222                       // unpcklpd      %xmm6,%xmm3
+  .byte  15,40,53,69,7,1,0                   // movaps        0x10745(%rip),%xmm6        # 3d590 <_sk_srcover_bgra_8888_sse2_lowp+0x1344>
+  .byte  68,15,88,198                        // addps         %xmm6,%xmm8
+  .byte  68,15,41,68,36,176                  // movaps        %xmm8,-0x50(%rsp)
+  .byte  68,15,88,254                        // addps         %xmm6,%xmm15
+  .byte  68,15,41,124,36,64                  // movaps        %xmm15,0x40(%rsp)
+  .byte  69,15,40,195                        // movaps        %xmm11,%xmm8
+  .byte  68,15,88,198                        // addps         %xmm6,%xmm8
+  .byte  65,15,88,245                        // addps         %xmm13,%xmm6
+  .byte  243,15,91,246                       // cvttps2dq     %xmm6,%xmm6
+  .byte  102,15,112,198,245                  // pshufd        $0xf5,%xmm6,%xmm0
+  .byte  102,15,244,193                      // pmuludq       %xmm1,%xmm0
+  .byte  102,15,244,206                      // pmuludq       %xmm6,%xmm1
+  .byte  102,68,15,112,249,232               // pshufd        $0xe8,%xmm1,%xmm15
+  .byte  102,15,112,192,232                  // pshufd        $0xe8,%xmm0,%xmm0
+  .byte  102,68,15,98,248                    // punpckldq     %xmm0,%xmm15
+  .byte  102,65,15,254,215                   // paddd         %xmm15,%xmm2
+  .byte  102,68,15,127,124,36,224            // movdqa        %xmm15,-0x20(%rsp)
+  .byte  102,15,112,194,245                  // pshufd        $0xf5,%xmm2,%xmm0
+  .byte  102,15,111,13,251,6,1,0             // movdqa        0x106fb(%rip),%xmm1        # 3d5a0 <_sk_srcover_bgra_8888_sse2_lowp+0x1354>
+  .byte  102,15,244,209                      // pmuludq       %xmm1,%xmm2
+  .byte  102,15,244,193                      // pmuludq       %xmm1,%xmm0
+  .byte  102,15,112,192,232                  // pshufd        $0xe8,%xmm0,%xmm0
+  .byte  102,15,112,202,232                  // pshufd        $0xe8,%xmm2,%xmm1
+  .byte  102,15,98,200                       // punpckldq     %xmm0,%xmm1
+  .byte  102,65,15,126,208                   // movd          %xmm2,%r8d
+  .byte  102,15,112,193,229                  // pshufd        $0xe5,%xmm1,%xmm0
+  .byte  102,65,15,126,193                   // movd          %xmm0,%r9d
+  .byte  102,15,112,193,78                   // pshufd        $0x4e,%xmm1,%xmm0
+  .byte  102,65,15,126,194                   // movd          %xmm0,%r10d
+  .byte  102,15,112,193,231                  // pshufd        $0xe7,%xmm1,%xmm0
+  .byte  102,15,126,192                      // movd          %xmm0,%eax
+  .byte  243,15,16,4,131                     // movss         (%rbx,%rax,4),%xmm0
+  .byte  243,66,15,16,20,147                 // movss         (%rbx,%r10,4),%xmm2
+  .byte  15,20,208                           // unpcklps      %xmm0,%xmm2
+  .byte  243,66,15,16,4,139                  // movss         (%rbx,%r9,4),%xmm0
+  .byte  243,66,15,16,52,131                 // movss         (%rbx,%r8,4),%xmm6
+  .byte  15,20,240                           // unpcklps      %xmm0,%xmm6
+  .byte  102,15,20,242                       // unpcklpd      %xmm2,%xmm6
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,15,250,5,166,6,1,0              // psubd         0x106a6(%rip),%xmm0        # 3d5b0 <_sk_srcover_bgra_8888_sse2_lowp+0x1364>
+  .byte  102,15,112,208,78                   // pshufd        $0x4e,%xmm0,%xmm2
+  .byte  102,73,15,126,208                   // movq          %xmm2,%r8
+  .byte  102,72,15,126,192                   // movq          %xmm0,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  243,15,16,4,131                     // movss         (%rbx,%rax,4),%xmm0
+  .byte  243,66,15,16,20,139                 // movss         (%rbx,%r9,4),%xmm2
+  .byte  15,20,208                           // unpcklps      %xmm0,%xmm2
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,4,131                  // movss         (%rbx,%r8,4),%xmm0
+  .byte  243,68,15,16,28,131                 // movss         (%rbx,%rax,4),%xmm11
+  .byte  68,15,20,216                        // unpcklps      %xmm0,%xmm11
+  .byte  102,65,15,20,211                    // unpcklpd      %xmm11,%xmm2
+  .byte  102,15,254,13,238,255,0,0           // paddd         0xffee(%rip),%xmm1        # 3cf40 <_sk_srcover_bgra_8888_sse2_lowp+0xcf4>
+  .byte  102,15,112,193,78                   // pshufd        $0x4e,%xmm1,%xmm0
+  .byte  102,73,15,126,192                   // movq          %xmm0,%r8
+  .byte  102,72,15,126,200                   // movq          %xmm1,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  243,15,16,4,131                     // movss         (%rbx,%rax,4),%xmm0
+  .byte  243,66,15,16,12,139                 // movss         (%rbx,%r9,4),%xmm1
+  .byte  15,20,200                           // unpcklps      %xmm0,%xmm1
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,4,131                  // movss         (%rbx,%r8,4),%xmm0
+  .byte  243,15,16,36,131                    // movss         (%rbx,%rax,4),%xmm4
+  .byte  15,20,224                           // unpcklps      %xmm0,%xmm4
+  .byte  102,15,20,204                       // unpcklpd      %xmm4,%xmm1
+  .byte  65,15,91,193                        // cvtdq2ps      %xmm9,%xmm0
+  .byte  68,15,92,232                        // subps         %xmm0,%xmm13
+  .byte  15,92,247                           // subps         %xmm7,%xmm6
+  .byte  65,15,89,245                        // mulps         %xmm13,%xmm6
+  .byte  15,88,247                           // addps         %xmm7,%xmm6
+  .byte  15,92,213                           // subps         %xmm5,%xmm2
+  .byte  65,15,89,213                        // mulps         %xmm13,%xmm2
+  .byte  15,88,213                           // addps         %xmm5,%xmm2
+  .byte  15,92,203                           // subps         %xmm3,%xmm1
+  .byte  65,15,89,205                        // mulps         %xmm13,%xmm1
+  .byte  15,88,203                           // addps         %xmm3,%xmm1
+  .byte  243,65,15,91,192                    // cvttps2dq     %xmm8,%xmm0
+  .byte  102,15,112,216,245                  // pshufd        $0xf5,%xmm0,%xmm3
+  .byte  102,65,15,244,220                   // pmuludq       %xmm12,%xmm3
+  .byte  102,68,15,244,224                   // pmuludq       %xmm0,%xmm12
+  .byte  102,65,15,112,228,232               // pshufd        $0xe8,%xmm12,%xmm4
+  .byte  102,15,112,195,232                  // pshufd        $0xe8,%xmm3,%xmm0
+  .byte  102,15,98,224                       // punpckldq     %xmm0,%xmm4
+  .byte  102,15,127,100,36,16                // movdqa        %xmm4,0x10(%rsp)
+  .byte  102,68,15,254,212                   // paddd         %xmm4,%xmm10
+  .byte  102,65,15,111,194                   // movdqa        %xmm10,%xmm0
+  .byte  102,15,254,68,36,160                // paddd         -0x60(%rsp),%xmm0
+  .byte  102,15,112,216,245                  // pshufd        $0xf5,%xmm0,%xmm3
+  .byte  102,15,111,37,165,5,1,0             // movdqa        0x105a5(%rip),%xmm4        # 3d5a0 <_sk_srcover_bgra_8888_sse2_lowp+0x1354>
+  .byte  102,15,244,196                      // pmuludq       %xmm4,%xmm0
+  .byte  102,15,244,220                      // pmuludq       %xmm4,%xmm3
+  .byte  102,68,15,111,220                   // movdqa        %xmm4,%xmm11
+  .byte  102,15,112,219,232                  // pshufd        $0xe8,%xmm3,%xmm3
+  .byte  102,15,112,224,232                  // pshufd        $0xe8,%xmm0,%xmm4
+  .byte  102,15,98,227                       // punpckldq     %xmm3,%xmm4
+  .byte  102,65,15,126,192                   // movd          %xmm0,%r8d
+  .byte  102,15,112,196,229                  // pshufd        $0xe5,%xmm4,%xmm0
+  .byte  102,65,15,126,193                   // movd          %xmm0,%r9d
+  .byte  102,15,112,196,78                   // pshufd        $0x4e,%xmm4,%xmm0
+  .byte  102,65,15,126,194                   // movd          %xmm0,%r10d
+  .byte  102,15,112,196,231                  // pshufd        $0xe7,%xmm4,%xmm0
+  .byte  102,15,126,192                      // movd          %xmm0,%eax
+  .byte  243,15,16,4,131                     // movss         (%rbx,%rax,4),%xmm0
+  .byte  243,66,15,16,44,147                 // movss         (%rbx,%r10,4),%xmm5
+  .byte  15,20,232                           // unpcklps      %xmm0,%xmm5
+  .byte  243,66,15,16,4,139                  // movss         (%rbx,%r9,4),%xmm0
+  .byte  243,70,15,16,12,131                 // movss         (%rbx,%r8,4),%xmm9
+  .byte  68,15,20,200                        // unpcklps      %xmm0,%xmm9
+  .byte  102,68,15,20,205                    // unpcklpd      %xmm5,%xmm9
+  .byte  102,15,111,196                      // movdqa        %xmm4,%xmm0
+  .byte  102,69,15,118,228                   // pcmpeqd       %xmm12,%xmm12
+  .byte  102,65,15,250,196                   // psubd         %xmm12,%xmm0
+  .byte  102,15,112,232,78                   // pshufd        $0x4e,%xmm0,%xmm5
+  .byte  102,73,15,126,232                   // movq          %xmm5,%r8
+  .byte  102,72,15,126,192                   // movq          %xmm0,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  243,15,16,44,131                    // movss         (%rbx,%rax,4),%xmm5
+  .byte  243,66,15,16,4,139                  // movss         (%rbx,%r9,4),%xmm0
+  .byte  15,20,197                           // unpcklps      %xmm5,%xmm0
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,44,131                 // movss         (%rbx,%r8,4),%xmm5
+  .byte  243,15,16,60,131                    // movss         (%rbx,%rax,4),%xmm7
+  .byte  15,20,253                           // unpcklps      %xmm5,%xmm7
+  .byte  102,15,20,199                       // unpcklpd      %xmm7,%xmm0
+  .byte  102,68,15,111,5,145,254,0,0         // movdqa        0xfe91(%rip),%xmm8        # 3cf40 <_sk_srcover_bgra_8888_sse2_lowp+0xcf4>
+  .byte  102,65,15,254,224                   // paddd         %xmm8,%xmm4
+  .byte  102,15,112,236,78                   // pshufd        $0x4e,%xmm4,%xmm5
+  .byte  102,73,15,126,232                   // movq          %xmm5,%r8
+  .byte  102,72,15,126,224                   // movq          %xmm4,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  243,15,16,44,131                    // movss         (%rbx,%rax,4),%xmm5
+  .byte  243,66,15,16,36,139                 // movss         (%rbx,%r9,4),%xmm4
+  .byte  15,20,229                           // unpcklps      %xmm5,%xmm4
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,44,131                 // movss         (%rbx,%r8,4),%xmm5
+  .byte  243,15,16,60,131                    // movss         (%rbx,%rax,4),%xmm7
+  .byte  15,20,253                           // unpcklps      %xmm5,%xmm7
+  .byte  102,15,20,231                       // unpcklpd      %xmm7,%xmm4
+  .byte  102,69,15,254,215                   // paddd         %xmm15,%xmm10
+  .byte  102,65,15,112,234,245               // pshufd        $0xf5,%xmm10,%xmm5
+  .byte  102,69,15,244,211                   // pmuludq       %xmm11,%xmm10
+  .byte  102,65,15,244,235                   // pmuludq       %xmm11,%xmm5
+  .byte  102,69,15,111,251                   // movdqa        %xmm11,%xmm15
+  .byte  102,15,112,253,232                  // pshufd        $0xe8,%xmm5,%xmm7
+  .byte  102,65,15,112,234,232               // pshufd        $0xe8,%xmm10,%xmm5
+  .byte  102,15,98,239                       // punpckldq     %xmm7,%xmm5
+  .byte  102,69,15,126,208                   // movd          %xmm10,%r8d
+  .byte  102,15,112,253,229                  // pshufd        $0xe5,%xmm5,%xmm7
+  .byte  102,65,15,126,249                   // movd          %xmm7,%r9d
+  .byte  102,15,112,253,78                   // pshufd        $0x4e,%xmm5,%xmm7
+  .byte  102,65,15,126,250                   // movd          %xmm7,%r10d
+  .byte  102,15,112,253,231                  // pshufd        $0xe7,%xmm5,%xmm7
+  .byte  102,15,126,248                      // movd          %xmm7,%eax
+  .byte  243,15,16,60,131                    // movss         (%rbx,%rax,4),%xmm7
+  .byte  243,66,15,16,28,147                 // movss         (%rbx,%r10,4),%xmm3
+  .byte  15,20,223                           // unpcklps      %xmm7,%xmm3
+  .byte  243,66,15,16,60,139                 // movss         (%rbx,%r9,4),%xmm7
+  .byte  243,70,15,16,28,131                 // movss         (%rbx,%r8,4),%xmm11
+  .byte  68,15,20,223                        // unpcklps      %xmm7,%xmm11
+  .byte  102,68,15,20,219                    // unpcklpd      %xmm3,%xmm11
+  .byte  102,15,111,221                      // movdqa        %xmm5,%xmm3
+  .byte  102,65,15,250,220                   // psubd         %xmm12,%xmm3
+  .byte  102,15,112,251,78                   // pshufd        $0x4e,%xmm3,%xmm7
+  .byte  102,73,15,126,248                   // movq          %xmm7,%r8
+  .byte  102,72,15,126,216                   // movq          %xmm3,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  243,15,16,28,131                    // movss         (%rbx,%rax,4),%xmm3
+  .byte  243,70,15,16,20,139                 // movss         (%rbx,%r9,4),%xmm10
+  .byte  68,15,20,211                        // unpcklps      %xmm3,%xmm10
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,28,131                 // movss         (%rbx,%r8,4),%xmm3
+  .byte  243,15,16,60,131                    // movss         (%rbx,%rax,4),%xmm7
+  .byte  15,20,251                           // unpcklps      %xmm3,%xmm7
+  .byte  102,68,15,20,215                    // unpcklpd      %xmm7,%xmm10
+  .byte  102,65,15,254,232                   // paddd         %xmm8,%xmm5
+  .byte  102,15,112,221,78                   // pshufd        $0x4e,%xmm5,%xmm3
+  .byte  102,73,15,126,216                   // movq          %xmm3,%r8
+  .byte  102,72,15,126,232                   // movq          %xmm5,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  243,15,16,28,131                    // movss         (%rbx,%rax,4),%xmm3
+  .byte  243,70,15,16,36,139                 // movss         (%rbx,%r9,4),%xmm12
+  .byte  68,15,20,227                        // unpcklps      %xmm3,%xmm12
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,28,131                 // movss         (%rbx,%r8,4),%xmm3
+  .byte  243,15,16,60,131                    // movss         (%rbx,%rax,4),%xmm7
+  .byte  15,20,251                           // unpcklps      %xmm3,%xmm7
+  .byte  102,68,15,20,231                    // unpcklpd      %xmm7,%xmm12
+  .byte  69,15,92,217                        // subps         %xmm9,%xmm11
+  .byte  68,15,41,108,36,32                  // movaps        %xmm13,0x20(%rsp)
+  .byte  69,15,89,221                        // mulps         %xmm13,%xmm11
+  .byte  69,15,88,217                        // addps         %xmm9,%xmm11
+  .byte  68,15,92,208                        // subps         %xmm0,%xmm10
+  .byte  69,15,89,213                        // mulps         %xmm13,%xmm10
+  .byte  68,15,88,208                        // addps         %xmm0,%xmm10
+  .byte  68,15,92,228                        // subps         %xmm4,%xmm12
+  .byte  69,15,89,229                        // mulps         %xmm13,%xmm12
+  .byte  68,15,88,228                        // addps         %xmm4,%xmm12
+  .byte  15,91,68,36,192                     // cvtdq2ps      -0x40(%rsp),%xmm0
+  .byte  15,40,92,36,144                     // movaps        -0x70(%rsp),%xmm3
+  .byte  15,92,216                           // subps         %xmm0,%xmm3
+  .byte  15,41,92,36,144                     // movaps        %xmm3,-0x70(%rsp)
+  .byte  68,15,92,222                        // subps         %xmm6,%xmm11
+  .byte  68,15,89,219                        // mulps         %xmm3,%xmm11
+  .byte  68,15,88,222                        // addps         %xmm6,%xmm11
+  .byte  68,15,92,210                        // subps         %xmm2,%xmm10
+  .byte  68,15,89,211                        // mulps         %xmm3,%xmm10
+  .byte  68,15,88,210                        // addps         %xmm2,%xmm10
+  .byte  68,15,92,225                        // subps         %xmm1,%xmm12
+  .byte  68,15,89,227                        // mulps         %xmm3,%xmm12
+  .byte  68,15,88,225                        // addps         %xmm1,%xmm12
+  .byte  243,15,91,68,36,64                  // cvttps2dq     0x40(%rsp),%xmm0
+  .byte  102,15,112,200,245                  // pshufd        $0xf5,%xmm0,%xmm1
+  .byte  102,15,111,84,36,128                // movdqa        -0x80(%rsp),%xmm2
+  .byte  102,15,244,202                      // pmuludq       %xmm2,%xmm1
+  .byte  102,15,244,208                      // pmuludq       %xmm0,%xmm2
+  .byte  102,68,15,112,202,232               // pshufd        $0xe8,%xmm2,%xmm9
+  .byte  102,15,112,193,232                  // pshufd        $0xe8,%xmm1,%xmm0
+  .byte  102,68,15,98,200                    // punpckldq     %xmm0,%xmm9
+  .byte  102,68,15,127,76,36,128             // movdqa        %xmm9,-0x80(%rsp)
+  .byte  102,68,15,254,76,36,48              // paddd         0x30(%rsp),%xmm9
+  .byte  102,65,15,111,193                   // movdqa        %xmm9,%xmm0
+  .byte  102,15,254,4,36                     // paddd         (%rsp),%xmm0
+  .byte  102,15,111,208                      // movdqa        %xmm0,%xmm2
+  .byte  102,68,15,111,68,36,160             // movdqa        -0x60(%rsp),%xmm8
+  .byte  102,65,15,254,208                   // paddd         %xmm8,%xmm2
+  .byte  102,15,112,202,245                  // pshufd        $0xf5,%xmm2,%xmm1
+  .byte  102,65,15,111,223                   // movdqa        %xmm15,%xmm3
+  .byte  102,15,244,211                      // pmuludq       %xmm3,%xmm2
+  .byte  102,15,244,203                      // pmuludq       %xmm3,%xmm1
+  .byte  102,15,111,243                      // movdqa        %xmm3,%xmm6
+  .byte  102,15,112,217,232                  // pshufd        $0xe8,%xmm1,%xmm3
+  .byte  102,15,112,202,232                  // pshufd        $0xe8,%xmm2,%xmm1
+  .byte  102,15,98,203                       // punpckldq     %xmm3,%xmm1
+  .byte  102,65,15,126,208                   // movd          %xmm2,%r8d
+  .byte  102,15,112,209,229                  // pshufd        $0xe5,%xmm1,%xmm2
+  .byte  102,65,15,126,209                   // movd          %xmm2,%r9d
+  .byte  102,15,112,209,78                   // pshufd        $0x4e,%xmm1,%xmm2
+  .byte  102,65,15,126,210                   // movd          %xmm2,%r10d
+  .byte  102,15,112,209,231                  // pshufd        $0xe7,%xmm1,%xmm2
+  .byte  102,15,126,208                      // movd          %xmm2,%eax
+  .byte  243,15,16,20,131                    // movss         (%rbx,%rax,4),%xmm2
+  .byte  243,66,15,16,36,147                 // movss         (%rbx,%r10,4),%xmm4
+  .byte  15,20,226                           // unpcklps      %xmm2,%xmm4
+  .byte  243,66,15,16,20,139                 // movss         (%rbx,%r9,4),%xmm2
+  .byte  243,66,15,16,28,131                 // movss         (%rbx,%r8,4),%xmm3
+  .byte  15,20,218                           // unpcklps      %xmm2,%xmm3
+  .byte  102,15,20,220                       // unpcklpd      %xmm4,%xmm3
+  .byte  102,15,111,209                      // movdqa        %xmm1,%xmm2
+  .byte  102,15,118,237                      // pcmpeqd       %xmm5,%xmm5
+  .byte  102,15,250,213                      // psubd         %xmm5,%xmm2
+  .byte  102,15,112,226,78                   // pshufd        $0x4e,%xmm2,%xmm4
+  .byte  102,73,15,126,224                   // movq          %xmm4,%r8
+  .byte  102,72,15,126,208                   // movq          %xmm2,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  243,15,16,20,131                    // movss         (%rbx,%rax,4),%xmm2
+  .byte  243,66,15,16,60,139                 // movss         (%rbx,%r9,4),%xmm7
+  .byte  15,20,250                           // unpcklps      %xmm2,%xmm7
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,20,131                 // movss         (%rbx,%r8,4),%xmm2
+  .byte  243,15,16,36,131                    // movss         (%rbx,%rax,4),%xmm4
+  .byte  15,20,226                           // unpcklps      %xmm2,%xmm4
+  .byte  102,15,20,252                       // unpcklpd      %xmm4,%xmm7
+  .byte  102,68,15,111,61,235,251,0,0        // movdqa        0xfbeb(%rip),%xmm15        # 3cf40 <_sk_srcover_bgra_8888_sse2_lowp+0xcf4>
+  .byte  102,65,15,254,207                   // paddd         %xmm15,%xmm1
+  .byte  102,15,112,209,78                   // pshufd        $0x4e,%xmm1,%xmm2
+  .byte  102,73,15,126,208                   // movq          %xmm2,%r8
+  .byte  102,72,15,126,200                   // movq          %xmm1,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  243,15,16,12,131                    // movss         (%rbx,%rax,4),%xmm1
+  .byte  243,66,15,16,20,139                 // movss         (%rbx,%r9,4),%xmm2
+  .byte  15,20,209                           // unpcklps      %xmm1,%xmm2
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,12,131                 // movss         (%rbx,%r8,4),%xmm1
+  .byte  243,15,16,36,131                    // movss         (%rbx,%rax,4),%xmm4
+  .byte  15,20,225                           // unpcklps      %xmm1,%xmm4
+  .byte  102,15,20,212                       // unpcklpd      %xmm4,%xmm2
+  .byte  102,68,15,111,108,36,224            // movdqa        -0x20(%rsp),%xmm13
+  .byte  102,65,15,254,197                   // paddd         %xmm13,%xmm0
+  .byte  102,15,112,200,245                  // pshufd        $0xf5,%xmm0,%xmm1
+  .byte  102,15,244,198                      // pmuludq       %xmm6,%xmm0
+  .byte  102,15,244,206                      // pmuludq       %xmm6,%xmm1
+  .byte  102,15,112,201,232                  // pshufd        $0xe8,%xmm1,%xmm1
+  .byte  102,15,112,224,232                  // pshufd        $0xe8,%xmm0,%xmm4
+  .byte  102,15,98,225                       // punpckldq     %xmm1,%xmm4
+  .byte  102,65,15,126,192                   // movd          %xmm0,%r8d
+  .byte  102,15,112,196,229                  // pshufd        $0xe5,%xmm4,%xmm0
+  .byte  102,65,15,126,193                   // movd          %xmm0,%r9d
+  .byte  102,15,112,196,78                   // pshufd        $0x4e,%xmm4,%xmm0
+  .byte  102,65,15,126,194                   // movd          %xmm0,%r10d
+  .byte  102,15,112,196,231                  // pshufd        $0xe7,%xmm4,%xmm0
+  .byte  102,15,126,192                      // movd          %xmm0,%eax
+  .byte  243,15,16,4,131                     // movss         (%rbx,%rax,4),%xmm0
+  .byte  243,66,15,16,52,147                 // movss         (%rbx,%r10,4),%xmm6
+  .byte  15,20,240                           // unpcklps      %xmm0,%xmm6
+  .byte  243,66,15,16,4,139                  // movss         (%rbx,%r9,4),%xmm0
+  .byte  243,66,15,16,12,131                 // movss         (%rbx,%r8,4),%xmm1
+  .byte  15,20,200                           // unpcklps      %xmm0,%xmm1
+  .byte  102,15,20,206                       // unpcklpd      %xmm6,%xmm1
+  .byte  102,15,111,196                      // movdqa        %xmm4,%xmm0
+  .byte  102,15,250,197                      // psubd         %xmm5,%xmm0
+  .byte  102,15,112,240,78                   // pshufd        $0x4e,%xmm0,%xmm6
+  .byte  102,73,15,126,240                   // movq          %xmm6,%r8
+  .byte  102,72,15,126,192                   // movq          %xmm0,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  243,15,16,52,131                    // movss         (%rbx,%rax,4),%xmm6
+  .byte  243,66,15,16,4,139                  // movss         (%rbx,%r9,4),%xmm0
+  .byte  15,20,198                           // unpcklps      %xmm6,%xmm0
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,52,131                 // movss         (%rbx,%r8,4),%xmm6
+  .byte  243,15,16,44,131                    // movss         (%rbx,%rax,4),%xmm5
+  .byte  15,20,238                           // unpcklps      %xmm6,%xmm5
+  .byte  102,15,20,197                       // unpcklpd      %xmm5,%xmm0
+  .byte  102,65,15,254,231                   // paddd         %xmm15,%xmm4
+  .byte  102,15,112,236,78                   // pshufd        $0x4e,%xmm4,%xmm5
+  .byte  102,73,15,126,232                   // movq          %xmm5,%r8
+  .byte  102,72,15,126,224                   // movq          %xmm4,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  243,15,16,44,131                    // movss         (%rbx,%rax,4),%xmm5
+  .byte  243,66,15,16,36,139                 // movss         (%rbx,%r9,4),%xmm4
+  .byte  15,20,229                           // unpcklps      %xmm5,%xmm4
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,44,131                 // movss         (%rbx,%r8,4),%xmm5
+  .byte  243,15,16,52,131                    // movss         (%rbx,%rax,4),%xmm6
+  .byte  15,20,245                           // unpcklps      %xmm5,%xmm6
+  .byte  102,15,20,230                       // unpcklpd      %xmm6,%xmm4
+  .byte  15,92,203                           // subps         %xmm3,%xmm1
+  .byte  15,40,108,36,32                     // movaps        0x20(%rsp),%xmm5
+  .byte  15,89,205                           // mulps         %xmm5,%xmm1
+  .byte  15,88,203                           // addps         %xmm3,%xmm1
+  .byte  15,92,199                           // subps         %xmm7,%xmm0
+  .byte  15,89,197                           // mulps         %xmm5,%xmm0
+  .byte  15,88,199                           // addps         %xmm7,%xmm0
+  .byte  15,92,226                           // subps         %xmm2,%xmm4
+  .byte  15,89,229                           // mulps         %xmm5,%xmm4
+  .byte  15,88,226                           // addps         %xmm2,%xmm4
+  .byte  102,68,15,254,76,36,16              // paddd         0x10(%rsp),%xmm9
+  .byte  102,65,15,111,217                   // movdqa        %xmm9,%xmm3
+  .byte  102,65,15,254,216                   // paddd         %xmm8,%xmm3
+  .byte  102,15,112,211,245                  // pshufd        $0xf5,%xmm3,%xmm2
+  .byte  102,15,111,45,218,0,1,0             // movdqa        0x100da(%rip),%xmm5        # 3d5a0 <_sk_srcover_bgra_8888_sse2_lowp+0x1354>
+  .byte  102,15,244,221                      // pmuludq       %xmm5,%xmm3
+  .byte  102,15,244,213                      // pmuludq       %xmm5,%xmm2
+  .byte  102,15,112,234,232                  // pshufd        $0xe8,%xmm2,%xmm5
+  .byte  102,15,112,211,232                  // pshufd        $0xe8,%xmm3,%xmm2
+  .byte  102,15,98,213                       // punpckldq     %xmm5,%xmm2
+  .byte  102,65,15,126,216                   // movd          %xmm3,%r8d
+  .byte  102,15,112,218,229                  // pshufd        $0xe5,%xmm2,%xmm3
+  .byte  102,65,15,126,217                   // movd          %xmm3,%r9d
+  .byte  102,15,112,218,78                   // pshufd        $0x4e,%xmm2,%xmm3
+  .byte  102,65,15,126,218                   // movd          %xmm3,%r10d
+  .byte  102,15,112,218,231                  // pshufd        $0xe7,%xmm2,%xmm3
+  .byte  102,15,126,216                      // movd          %xmm3,%eax
+  .byte  243,15,16,28,131                    // movss         (%rbx,%rax,4),%xmm3
+  .byte  243,66,15,16,44,147                 // movss         (%rbx,%r10,4),%xmm5
+  .byte  15,20,235                           // unpcklps      %xmm3,%xmm5
+  .byte  243,66,15,16,52,139                 // movss         (%rbx,%r9,4),%xmm6
+  .byte  243,70,15,16,4,131                  // movss         (%rbx,%r8,4),%xmm8
+  .byte  68,15,20,198                        // unpcklps      %xmm6,%xmm8
+  .byte  102,68,15,20,197                    // unpcklpd      %xmm5,%xmm8
+  .byte  102,15,111,234                      // movdqa        %xmm2,%xmm5
+  .byte  102,15,250,45,131,0,1,0             // psubd         0x10083(%rip),%xmm5        # 3d5b0 <_sk_srcover_bgra_8888_sse2_lowp+0x1364>
+  .byte  102,15,112,245,78                   // pshufd        $0x4e,%xmm5,%xmm6
+  .byte  102,73,15,126,240                   // movq          %xmm6,%r8
+  .byte  102,72,15,126,232                   // movq          %xmm5,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  243,15,16,44,131                    // movss         (%rbx,%rax,4),%xmm5
+  .byte  243,66,15,16,60,139                 // movss         (%rbx,%r9,4),%xmm7
+  .byte  15,20,253                           // unpcklps      %xmm5,%xmm7
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,44,131                 // movss         (%rbx,%r8,4),%xmm5
+  .byte  243,15,16,52,131                    // movss         (%rbx,%rax,4),%xmm6
+  .byte  15,20,245                           // unpcklps      %xmm5,%xmm6
+  .byte  102,15,20,254                       // unpcklpd      %xmm6,%xmm7
+  .byte  102,65,15,254,215                   // paddd         %xmm15,%xmm2
+  .byte  102,15,112,234,78                   // pshufd        $0x4e,%xmm2,%xmm5
+  .byte  102,73,15,126,232                   // movq          %xmm5,%r8
+  .byte  102,72,15,126,208                   // movq          %xmm2,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  243,15,16,44,131                    // movss         (%rbx,%rax,4),%xmm5
+  .byte  243,66,15,16,20,139                 // movss         (%rbx,%r9,4),%xmm2
+  .byte  15,20,213                           // unpcklps      %xmm5,%xmm2
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,44,131                 // movss         (%rbx,%r8,4),%xmm5
+  .byte  243,15,16,52,131                    // movss         (%rbx,%rax,4),%xmm6
+  .byte  15,20,245                           // unpcklps      %xmm5,%xmm6
+  .byte  102,15,20,214                       // unpcklpd      %xmm6,%xmm2
+  .byte  102,69,15,254,205                   // paddd         %xmm13,%xmm9
+  .byte  102,65,15,112,233,245               // pshufd        $0xf5,%xmm9,%xmm5
+  .byte  102,15,111,29,225,255,0,0           // movdqa        0xffe1(%rip),%xmm3        # 3d5a0 <_sk_srcover_bgra_8888_sse2_lowp+0x1354>
+  .byte  102,68,15,244,203                   // pmuludq       %xmm3,%xmm9
+  .byte  102,15,244,235                      // pmuludq       %xmm3,%xmm5
+  .byte  102,15,112,237,232                  // pshufd        $0xe8,%xmm5,%xmm5
+  .byte  102,69,15,112,249,232               // pshufd        $0xe8,%xmm9,%xmm15
+  .byte  102,68,15,98,253                    // punpckldq     %xmm5,%xmm15
+  .byte  102,69,15,126,200                   // movd          %xmm9,%r8d
+  .byte  102,65,15,112,239,229               // pshufd        $0xe5,%xmm15,%xmm5
+  .byte  102,65,15,126,233                   // movd          %xmm5,%r9d
+  .byte  102,65,15,112,239,78                // pshufd        $0x4e,%xmm15,%xmm5
+  .byte  102,65,15,126,234                   // movd          %xmm5,%r10d
+  .byte  102,65,15,112,239,231               // pshufd        $0xe7,%xmm15,%xmm5
+  .byte  102,15,126,232                      // movd          %xmm5,%eax
+  .byte  243,68,15,16,12,131                 // movss         (%rbx,%rax,4),%xmm9
+  .byte  243,66,15,16,44,147                 // movss         (%rbx,%r10,4),%xmm5
+  .byte  65,15,20,233                        // unpcklps      %xmm9,%xmm5
+  .byte  243,70,15,16,12,139                 // movss         (%rbx,%r9,4),%xmm9
+  .byte  243,70,15,16,44,131                 // movss         (%rbx,%r8,4),%xmm13
+  .byte  69,15,20,233                        // unpcklps      %xmm9,%xmm13
+  .byte  102,68,15,20,237                    // unpcklpd      %xmm5,%xmm13
+  .byte  102,65,15,111,239                   // movdqa        %xmm15,%xmm5
+  .byte  102,15,250,45,129,255,0,0           // psubd         0xff81(%rip),%xmm5        # 3d5b0 <_sk_srcover_bgra_8888_sse2_lowp+0x1364>
+  .byte  102,15,112,221,78                   // pshufd        $0x4e,%xmm5,%xmm3
+  .byte  102,73,15,126,216                   // movq          %xmm3,%r8
+  .byte  102,72,15,126,232                   // movq          %xmm5,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  243,15,16,28,131                    // movss         (%rbx,%rax,4),%xmm3
+  .byte  243,66,15,16,52,139                 // movss         (%rbx,%r9,4),%xmm6
+  .byte  15,20,243                           // unpcklps      %xmm3,%xmm6
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,28,131                 // movss         (%rbx,%r8,4),%xmm3
+  .byte  243,15,16,44,131                    // movss         (%rbx,%rax,4),%xmm5
+  .byte  15,20,235                           // unpcklps      %xmm3,%xmm5
+  .byte  102,15,20,245                       // unpcklpd      %xmm5,%xmm6
+  .byte  102,68,15,111,13,203,248,0,0        // movdqa        0xf8cb(%rip),%xmm9        # 3cf40 <_sk_srcover_bgra_8888_sse2_lowp+0xcf4>
+  .byte  102,69,15,254,249                   // paddd         %xmm9,%xmm15
+  .byte  102,65,15,112,223,78                // pshufd        $0x4e,%xmm15,%xmm3
+  .byte  102,73,15,126,216                   // movq          %xmm3,%r8
+  .byte  102,76,15,126,248                   // movq          %xmm15,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  243,15,16,28,131                    // movss         (%rbx,%rax,4),%xmm3
+  .byte  243,70,15,16,60,139                 // movss         (%rbx,%r9,4),%xmm15
+  .byte  68,15,20,251                        // unpcklps      %xmm3,%xmm15
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,28,131                 // movss         (%rbx,%r8,4),%xmm3
+  .byte  243,15,16,44,131                    // movss         (%rbx,%rax,4),%xmm5
+  .byte  15,20,235                           // unpcklps      %xmm3,%xmm5
+  .byte  102,68,15,20,253                    // unpcklpd      %xmm5,%xmm15
+  .byte  69,15,92,232                        // subps         %xmm8,%xmm13
+  .byte  15,40,92,36,32                      // movaps        0x20(%rsp),%xmm3
+  .byte  68,15,89,235                        // mulps         %xmm3,%xmm13
+  .byte  69,15,88,232                        // addps         %xmm8,%xmm13
+  .byte  15,92,247                           // subps         %xmm7,%xmm6
+  .byte  15,89,243                           // mulps         %xmm3,%xmm6
+  .byte  15,88,247                           // addps         %xmm7,%xmm6
+  .byte  68,15,92,250                        // subps         %xmm2,%xmm15
+  .byte  68,15,89,251                        // mulps         %xmm3,%xmm15
+  .byte  68,15,40,195                        // movaps        %xmm3,%xmm8
+  .byte  68,15,88,250                        // addps         %xmm2,%xmm15
+  .byte  68,15,92,233                        // subps         %xmm1,%xmm13
+  .byte  15,40,84,36,144                     // movaps        -0x70(%rsp),%xmm2
+  .byte  68,15,89,234                        // mulps         %xmm2,%xmm13
+  .byte  68,15,88,233                        // addps         %xmm1,%xmm13
+  .byte  65,15,40,205                        // movaps        %xmm13,%xmm1
+  .byte  15,92,240                           // subps         %xmm0,%xmm6
+  .byte  15,89,242                           // mulps         %xmm2,%xmm6
+  .byte  15,88,240                           // addps         %xmm0,%xmm6
+  .byte  68,15,92,252                        // subps         %xmm4,%xmm15
+  .byte  68,15,89,250                        // mulps         %xmm2,%xmm15
+  .byte  68,15,88,252                        // addps         %xmm4,%xmm15
+  .byte  15,91,68,36,208                     // cvtdq2ps      -0x30(%rsp),%xmm0
+  .byte  15,40,84,36,240                     // movaps        -0x10(%rsp),%xmm2
+  .byte  15,92,208                           // subps         %xmm0,%xmm2
+  .byte  15,41,84,36,240                     // movaps        %xmm2,-0x10(%rsp)
+  .byte  65,15,92,203                        // subps         %xmm11,%xmm1
+  .byte  15,89,202                           // mulps         %xmm2,%xmm1
+  .byte  65,15,88,203                        // addps         %xmm11,%xmm1
+  .byte  15,41,76,36,208                     // movaps        %xmm1,-0x30(%rsp)
+  .byte  65,15,92,242                        // subps         %xmm10,%xmm6
+  .byte  15,89,242                           // mulps         %xmm2,%xmm6
+  .byte  65,15,88,242                        // addps         %xmm10,%xmm6
+  .byte  15,41,116,36,192                    // movaps        %xmm6,-0x40(%rsp)
+  .byte  69,15,92,252                        // subps         %xmm12,%xmm15
+  .byte  68,15,89,250                        // mulps         %xmm2,%xmm15
+  .byte  69,15,88,252                        // addps         %xmm12,%xmm15
+  .byte  243,15,91,68,36,176                 // cvttps2dq     -0x50(%rsp),%xmm0
+  .byte  102,15,127,68,36,176                // movdqa        %xmm0,-0x50(%rsp)
+  .byte  102,68,15,254,240                   // paddd         %xmm0,%xmm14
+  .byte  102,15,111,28,36                    // movdqa        (%rsp),%xmm3
+  .byte  102,65,15,254,222                   // paddd         %xmm14,%xmm3
+  .byte  102,68,15,111,92,36,160             // movdqa        -0x60(%rsp),%xmm11
+  .byte  102,65,15,111,195                   // movdqa        %xmm11,%xmm0
+  .byte  102,15,254,195                      // paddd         %xmm3,%xmm0
+  .byte  102,15,112,200,245                  // pshufd        $0xf5,%xmm0,%xmm1
+  .byte  102,15,111,21,28,254,0,0            // movdqa        0xfe1c(%rip),%xmm2        # 3d5a0 <_sk_srcover_bgra_8888_sse2_lowp+0x1354>
+  .byte  102,15,244,194                      // pmuludq       %xmm2,%xmm0
+  .byte  102,15,244,202                      // pmuludq       %xmm2,%xmm1
+  .byte  102,68,15,111,234                   // movdqa        %xmm2,%xmm13
+  .byte  102,15,112,201,232                  // pshufd        $0xe8,%xmm1,%xmm1
+  .byte  102,15,112,208,232                  // pshufd        $0xe8,%xmm0,%xmm2
+  .byte  102,15,98,209                       // punpckldq     %xmm1,%xmm2
+  .byte  102,65,15,126,192                   // movd          %xmm0,%r8d
+  .byte  102,15,112,194,229                  // pshufd        $0xe5,%xmm2,%xmm0
+  .byte  102,65,15,126,193                   // movd          %xmm0,%r9d
+  .byte  102,15,112,194,78                   // pshufd        $0x4e,%xmm2,%xmm0
+  .byte  102,65,15,126,194                   // movd          %xmm0,%r10d
+  .byte  102,15,112,194,231                  // pshufd        $0xe7,%xmm2,%xmm0
+  .byte  102,15,126,192                      // movd          %xmm0,%eax
+  .byte  243,15,16,4,131                     // movss         (%rbx,%rax,4),%xmm0
+  .byte  243,66,15,16,36,147                 // movss         (%rbx,%r10,4),%xmm4
+  .byte  15,20,224                           // unpcklps      %xmm0,%xmm4
+  .byte  243,66,15,16,4,139                  // movss         (%rbx,%r9,4),%xmm0
+  .byte  243,66,15,16,12,131                 // movss         (%rbx,%r8,4),%xmm1
+  .byte  15,20,200                           // unpcklps      %xmm0,%xmm1
+  .byte  102,15,20,204                       // unpcklpd      %xmm4,%xmm1
+  .byte  102,15,111,194                      // movdqa        %xmm2,%xmm0
+  .byte  102,15,118,255                      // pcmpeqd       %xmm7,%xmm7
+  .byte  102,15,250,199                      // psubd         %xmm7,%xmm0
+  .byte  102,15,112,224,78                   // pshufd        $0x4e,%xmm0,%xmm4
+  .byte  102,73,15,126,224                   // movq          %xmm4,%r8
+  .byte  102,72,15,126,192                   // movq          %xmm0,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  243,15,16,36,131                    // movss         (%rbx,%rax,4),%xmm4
+  .byte  243,66,15,16,4,139                  // movss         (%rbx,%r9,4),%xmm0
+  .byte  15,20,196                           // unpcklps      %xmm4,%xmm0
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,36,131                 // movss         (%rbx,%r8,4),%xmm4
+  .byte  243,15,16,44,131                    // movss         (%rbx,%rax,4),%xmm5
+  .byte  15,20,236                           // unpcklps      %xmm4,%xmm5
+  .byte  102,15,20,197                       // unpcklpd      %xmm5,%xmm0
+  .byte  102,65,15,254,209                   // paddd         %xmm9,%xmm2
+  .byte  102,15,112,226,78                   // pshufd        $0x4e,%xmm2,%xmm4
+  .byte  102,73,15,126,224                   // movq          %xmm4,%r8
+  .byte  102,72,15,126,208                   // movq          %xmm2,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  243,15,16,36,131                    // movss         (%rbx,%rax,4),%xmm4
+  .byte  243,66,15,16,20,139                 // movss         (%rbx,%r9,4),%xmm2
+  .byte  15,20,212                           // unpcklps      %xmm4,%xmm2
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,36,131                 // movss         (%rbx,%r8,4),%xmm4
+  .byte  243,15,16,44,131                    // movss         (%rbx,%rax,4),%xmm5
+  .byte  15,20,236                           // unpcklps      %xmm4,%xmm5
+  .byte  102,15,20,213                       // unpcklpd      %xmm5,%xmm2
+  .byte  102,68,15,111,84,36,224             // movdqa        -0x20(%rsp),%xmm10
+  .byte  102,65,15,254,218                   // paddd         %xmm10,%xmm3
+  .byte  102,15,112,227,245                  // pshufd        $0xf5,%xmm3,%xmm4
+  .byte  102,65,15,244,221                   // pmuludq       %xmm13,%xmm3
+  .byte  102,65,15,244,229                   // pmuludq       %xmm13,%xmm4
+  .byte  102,15,112,236,232                  // pshufd        $0xe8,%xmm4,%xmm5
+  .byte  102,15,112,227,232                  // pshufd        $0xe8,%xmm3,%xmm4
+  .byte  102,15,98,229                       // punpckldq     %xmm5,%xmm4
+  .byte  102,65,15,126,216                   // movd          %xmm3,%r8d
+  .byte  102,15,112,220,229                  // pshufd        $0xe5,%xmm4,%xmm3
+  .byte  102,65,15,126,217                   // movd          %xmm3,%r9d
+  .byte  102,15,112,220,78                   // pshufd        $0x4e,%xmm4,%xmm3
+  .byte  102,65,15,126,218                   // movd          %xmm3,%r10d
+  .byte  102,15,112,220,231                  // pshufd        $0xe7,%xmm4,%xmm3
+  .byte  102,15,126,216                      // movd          %xmm3,%eax
+  .byte  243,15,16,28,131                    // movss         (%rbx,%rax,4),%xmm3
+  .byte  243,66,15,16,44,147                 // movss         (%rbx,%r10,4),%xmm5
+  .byte  15,20,235                           // unpcklps      %xmm3,%xmm5
+  .byte  243,66,15,16,52,139                 // movss         (%rbx,%r9,4),%xmm6
+  .byte  243,66,15,16,28,131                 // movss         (%rbx,%r8,4),%xmm3
+  .byte  15,20,222                           // unpcklps      %xmm6,%xmm3
+  .byte  102,15,20,221                       // unpcklpd      %xmm5,%xmm3
+  .byte  102,15,111,236                      // movdqa        %xmm4,%xmm5
+  .byte  102,15,250,239                      // psubd         %xmm7,%xmm5
+  .byte  102,69,15,118,228                   // pcmpeqd       %xmm12,%xmm12
+  .byte  102,15,112,245,78                   // pshufd        $0x4e,%xmm5,%xmm6
+  .byte  102,73,15,126,240                   // movq          %xmm6,%r8
+  .byte  102,72,15,126,232                   // movq          %xmm5,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  243,15,16,52,131                    // movss         (%rbx,%rax,4),%xmm6
+  .byte  243,66,15,16,44,139                 // movss         (%rbx,%r9,4),%xmm5
+  .byte  15,20,238                           // unpcklps      %xmm6,%xmm5
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,52,131                 // movss         (%rbx,%r8,4),%xmm6
+  .byte  243,15,16,60,131                    // movss         (%rbx,%rax,4),%xmm7
+  .byte  15,20,254                           // unpcklps      %xmm6,%xmm7
+  .byte  102,15,20,239                       // unpcklpd      %xmm7,%xmm5
+  .byte  102,65,15,254,225                   // paddd         %xmm9,%xmm4
+  .byte  102,15,112,244,78                   // pshufd        $0x4e,%xmm4,%xmm6
+  .byte  102,73,15,126,240                   // movq          %xmm6,%r8
+  .byte  102,72,15,126,224                   // movq          %xmm4,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  243,15,16,36,131                    // movss         (%rbx,%rax,4),%xmm4
+  .byte  243,66,15,16,60,139                 // movss         (%rbx,%r9,4),%xmm7
+  .byte  15,20,252                           // unpcklps      %xmm4,%xmm7
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,36,131                 // movss         (%rbx,%r8,4),%xmm4
+  .byte  243,15,16,52,131                    // movss         (%rbx,%rax,4),%xmm6
+  .byte  15,20,244                           // unpcklps      %xmm4,%xmm6
+  .byte  102,15,20,254                       // unpcklpd      %xmm6,%xmm7
+  .byte  15,92,217                           // subps         %xmm1,%xmm3
+  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
+  .byte  15,88,217                           // addps         %xmm1,%xmm3
+  .byte  15,92,232                           // subps         %xmm0,%xmm5
+  .byte  65,15,89,232                        // mulps         %xmm8,%xmm5
+  .byte  15,88,232                           // addps         %xmm0,%xmm5
+  .byte  15,92,250                           // subps         %xmm2,%xmm7
+  .byte  65,15,89,248                        // mulps         %xmm8,%xmm7
+  .byte  15,88,250                           // addps         %xmm2,%xmm7
+  .byte  102,68,15,254,116,36,16             // paddd         0x10(%rsp),%xmm14
+  .byte  102,65,15,111,206                   // movdqa        %xmm14,%xmm1
+  .byte  102,65,15,254,203                   // paddd         %xmm11,%xmm1
+  .byte  102,15,112,193,245                  // pshufd        $0xf5,%xmm1,%xmm0
+  .byte  102,65,15,244,205                   // pmuludq       %xmm13,%xmm1
+  .byte  102,65,15,244,197                   // pmuludq       %xmm13,%xmm0
+  .byte  102,15,112,208,232                  // pshufd        $0xe8,%xmm0,%xmm2
+  .byte  102,15,112,193,232                  // pshufd        $0xe8,%xmm1,%xmm0
+  .byte  102,15,98,194                       // punpckldq     %xmm2,%xmm0
+  .byte  102,65,15,126,200                   // movd          %xmm1,%r8d
+  .byte  102,15,112,200,229                  // pshufd        $0xe5,%xmm0,%xmm1
+  .byte  102,65,15,126,201                   // movd          %xmm1,%r9d
+  .byte  102,15,112,200,78                   // pshufd        $0x4e,%xmm0,%xmm1
+  .byte  102,65,15,126,202                   // movd          %xmm1,%r10d
+  .byte  102,15,112,200,231                  // pshufd        $0xe7,%xmm0,%xmm1
+  .byte  102,15,126,200                      // movd          %xmm1,%eax
+  .byte  243,15,16,12,131                    // movss         (%rbx,%rax,4),%xmm1
+  .byte  243,66,15,16,36,147                 // movss         (%rbx,%r10,4),%xmm4
+  .byte  15,20,225                           // unpcklps      %xmm1,%xmm4
+  .byte  243,66,15,16,12,139                 // movss         (%rbx,%r9,4),%xmm1
+  .byte  243,70,15,16,28,131                 // movss         (%rbx,%r8,4),%xmm11
+  .byte  68,15,20,217                        // unpcklps      %xmm1,%xmm11
+  .byte  102,68,15,20,220                    // unpcklpd      %xmm4,%xmm11
+  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
+  .byte  102,65,15,250,204                   // psubd         %xmm12,%xmm1
+  .byte  102,15,112,225,78                   // pshufd        $0x4e,%xmm1,%xmm4
+  .byte  102,73,15,126,224                   // movq          %xmm4,%r8
+  .byte  102,72,15,126,200                   // movq          %xmm1,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  243,15,16,36,131                    // movss         (%rbx,%rax,4),%xmm4
+  .byte  243,66,15,16,12,139                 // movss         (%rbx,%r9,4),%xmm1
+  .byte  15,20,204                           // unpcklps      %xmm4,%xmm1
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,36,131                 // movss         (%rbx,%r8,4),%xmm4
+  .byte  243,15,16,52,131                    // movss         (%rbx,%rax,4),%xmm6
+  .byte  15,20,244                           // unpcklps      %xmm4,%xmm6
+  .byte  102,15,20,206                       // unpcklpd      %xmm6,%xmm1
+  .byte  102,65,15,254,193                   // paddd         %xmm9,%xmm0
+  .byte  102,15,112,224,78                   // pshufd        $0x4e,%xmm0,%xmm4
+  .byte  102,73,15,126,224                   // movq          %xmm4,%r8
+  .byte  102,72,15,126,192                   // movq          %xmm0,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  243,15,16,36,131                    // movss         (%rbx,%rax,4),%xmm4
+  .byte  243,66,15,16,4,139                  // movss         (%rbx,%r9,4),%xmm0
+  .byte  15,20,196                           // unpcklps      %xmm4,%xmm0
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,36,131                 // movss         (%rbx,%r8,4),%xmm4
+  .byte  243,15,16,52,131                    // movss         (%rbx,%rax,4),%xmm6
+  .byte  15,20,244                           // unpcklps      %xmm4,%xmm6
+  .byte  102,15,20,198                       // unpcklpd      %xmm6,%xmm0
+  .byte  102,69,15,254,242                   // paddd         %xmm10,%xmm14
+  .byte  102,69,15,111,226                   // movdqa        %xmm10,%xmm12
+  .byte  102,65,15,112,230,245               // pshufd        $0xf5,%xmm14,%xmm4
+  .byte  102,69,15,244,245                   // pmuludq       %xmm13,%xmm14
+  .byte  102,65,15,244,229                   // pmuludq       %xmm13,%xmm4
+  .byte  102,15,112,244,232                  // pshufd        $0xe8,%xmm4,%xmm6
+  .byte  102,65,15,112,230,232               // pshufd        $0xe8,%xmm14,%xmm4
+  .byte  102,15,98,230                       // punpckldq     %xmm6,%xmm4
+  .byte  102,69,15,126,240                   // movd          %xmm14,%r8d
+  .byte  102,15,112,244,229                  // pshufd        $0xe5,%xmm4,%xmm6
+  .byte  102,65,15,126,241                   // movd          %xmm6,%r9d
+  .byte  102,15,112,244,78                   // pshufd        $0x4e,%xmm4,%xmm6
+  .byte  102,65,15,126,242                   // movd          %xmm6,%r10d
+  .byte  102,15,112,244,231                  // pshufd        $0xe7,%xmm4,%xmm6
+  .byte  102,15,126,240                      // movd          %xmm6,%eax
+  .byte  243,15,16,52,131                    // movss         (%rbx,%rax,4),%xmm6
+  .byte  243,66,15,16,20,147                 // movss         (%rbx,%r10,4),%xmm2
+  .byte  15,20,214                           // unpcklps      %xmm6,%xmm2
+  .byte  243,66,15,16,52,139                 // movss         (%rbx,%r9,4),%xmm6
+  .byte  243,70,15,16,44,131                 // movss         (%rbx,%r8,4),%xmm13
+  .byte  68,15,20,238                        // unpcklps      %xmm6,%xmm13
+  .byte  102,68,15,20,234                    // unpcklpd      %xmm2,%xmm13
+  .byte  102,15,111,212                      // movdqa        %xmm4,%xmm2
+  .byte  102,15,250,21,184,250,0,0           // psubd         0xfab8(%rip),%xmm2        # 3d5b0 <_sk_srcover_bgra_8888_sse2_lowp+0x1364>
+  .byte  102,15,112,242,78                   // pshufd        $0x4e,%xmm2,%xmm6
+  .byte  102,73,15,126,240                   // movq          %xmm6,%r8
+  .byte  102,72,15,126,208                   // movq          %xmm2,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  243,15,16,20,131                    // movss         (%rbx,%rax,4),%xmm2
+  .byte  243,70,15,16,20,139                 // movss         (%rbx,%r9,4),%xmm10
+  .byte  68,15,20,210                        // unpcklps      %xmm2,%xmm10
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,20,131                 // movss         (%rbx,%r8,4),%xmm2
+  .byte  243,15,16,52,131                    // movss         (%rbx,%rax,4),%xmm6
+  .byte  15,20,242                           // unpcklps      %xmm2,%xmm6
+  .byte  102,68,15,20,214                    // unpcklpd      %xmm6,%xmm10
+  .byte  102,65,15,254,225                   // paddd         %xmm9,%xmm4
+  .byte  102,15,112,212,78                   // pshufd        $0x4e,%xmm4,%xmm2
+  .byte  102,73,15,126,208                   // movq          %xmm2,%r8
+  .byte  102,72,15,126,224                   // movq          %xmm4,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  243,15,16,20,131                    // movss         (%rbx,%rax,4),%xmm2
+  .byte  243,70,15,16,12,139                 // movss         (%rbx,%r9,4),%xmm9
+  .byte  68,15,20,202                        // unpcklps      %xmm2,%xmm9
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,20,131                 // movss         (%rbx,%r8,4),%xmm2
+  .byte  243,15,16,52,131                    // movss         (%rbx,%rax,4),%xmm6
+  .byte  15,20,242                           // unpcklps      %xmm2,%xmm6
+  .byte  102,68,15,20,206                    // unpcklpd      %xmm6,%xmm9
+  .byte  69,15,92,235                        // subps         %xmm11,%xmm13
+  .byte  69,15,89,232                        // mulps         %xmm8,%xmm13
+  .byte  69,15,88,235                        // addps         %xmm11,%xmm13
+  .byte  68,15,92,209                        // subps         %xmm1,%xmm10
+  .byte  69,15,89,208                        // mulps         %xmm8,%xmm10
+  .byte  68,15,88,209                        // addps         %xmm1,%xmm10
+  .byte  68,15,92,200                        // subps         %xmm0,%xmm9
+  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
+  .byte  69,15,40,216                        // movaps        %xmm8,%xmm11
+  .byte  68,15,88,200                        // addps         %xmm0,%xmm9
+  .byte  68,15,92,235                        // subps         %xmm3,%xmm13
+  .byte  15,40,68,36,144                     // movaps        -0x70(%rsp),%xmm0
+  .byte  68,15,89,232                        // mulps         %xmm0,%xmm13
+  .byte  68,15,88,235                        // addps         %xmm3,%xmm13
+  .byte  68,15,92,213                        // subps         %xmm5,%xmm10
+  .byte  68,15,89,208                        // mulps         %xmm0,%xmm10
+  .byte  68,15,88,213                        // addps         %xmm5,%xmm10
+  .byte  68,15,92,207                        // subps         %xmm7,%xmm9
+  .byte  68,15,89,200                        // mulps         %xmm0,%xmm9
+  .byte  68,15,88,207                        // addps         %xmm7,%xmm9
+  .byte  102,15,111,68,36,128                // movdqa        -0x80(%rsp),%xmm0
+  .byte  102,15,254,68,36,176                // paddd         -0x50(%rsp),%xmm0
+  .byte  102,15,127,68,36,128                // movdqa        %xmm0,-0x80(%rsp)
+  .byte  102,15,111,12,36                    // movdqa        (%rsp),%xmm1
+  .byte  102,15,254,200                      // paddd         %xmm0,%xmm1
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,15,111,225                      // movdqa        %xmm1,%xmm4
+  .byte  102,68,15,111,116,36,160            // movdqa        -0x60(%rsp),%xmm14
+  .byte  102,65,15,254,198                   // paddd         %xmm14,%xmm0
+  .byte  102,15,112,200,245                  // pshufd        $0xf5,%xmm0,%xmm1
+  .byte  102,68,15,111,5,151,249,0,0         // movdqa        0xf997(%rip),%xmm8        # 3d5a0 <_sk_srcover_bgra_8888_sse2_lowp+0x1354>
+  .byte  102,65,15,244,192                   // pmuludq       %xmm8,%xmm0
+  .byte  102,65,15,244,200                   // pmuludq       %xmm8,%xmm1
+  .byte  102,65,15,111,240                   // movdqa        %xmm8,%xmm6
+  .byte  102,15,112,201,232                  // pshufd        $0xe8,%xmm1,%xmm1
+  .byte  102,15,112,208,232                  // pshufd        $0xe8,%xmm0,%xmm2
+  .byte  102,15,98,209                       // punpckldq     %xmm1,%xmm2
+  .byte  102,65,15,126,192                   // movd          %xmm0,%r8d
+  .byte  102,15,112,194,229                  // pshufd        $0xe5,%xmm2,%xmm0
+  .byte  102,65,15,126,193                   // movd          %xmm0,%r9d
+  .byte  102,15,112,194,78                   // pshufd        $0x4e,%xmm2,%xmm0
+  .byte  102,65,15,126,194                   // movd          %xmm0,%r10d
+  .byte  102,15,112,194,231                  // pshufd        $0xe7,%xmm2,%xmm0
+  .byte  102,15,126,192                      // movd          %xmm0,%eax
+  .byte  243,15,16,4,131                     // movss         (%rbx,%rax,4),%xmm0
+  .byte  243,66,15,16,12,147                 // movss         (%rbx,%r10,4),%xmm1
+  .byte  15,20,200                           // unpcklps      %xmm0,%xmm1
+  .byte  243,66,15,16,28,139                 // movss         (%rbx,%r9,4),%xmm3
+  .byte  243,66,15,16,4,131                  // movss         (%rbx,%r8,4),%xmm0
+  .byte  15,20,195                           // unpcklps      %xmm3,%xmm0
+  .byte  102,15,20,193                       // unpcklpd      %xmm1,%xmm0
+  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
+  .byte  102,15,118,255                      // pcmpeqd       %xmm7,%xmm7
+  .byte  102,15,250,207                      // psubd         %xmm7,%xmm1
+  .byte  102,15,112,217,78                   // pshufd        $0x4e,%xmm1,%xmm3
+  .byte  102,73,15,126,216                   // movq          %xmm3,%r8
+  .byte  102,72,15,126,200                   // movq          %xmm1,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  243,15,16,28,131                    // movss         (%rbx,%rax,4),%xmm3
+  .byte  243,66,15,16,12,139                 // movss         (%rbx,%r9,4),%xmm1
+  .byte  15,20,203                           // unpcklps      %xmm3,%xmm1
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,28,131                 // movss         (%rbx,%r8,4),%xmm3
+  .byte  243,15,16,44,131                    // movss         (%rbx,%rax,4),%xmm5
+  .byte  15,20,235                           // unpcklps      %xmm3,%xmm5
+  .byte  102,15,20,205                       // unpcklpd      %xmm5,%xmm1
+  .byte  102,68,15,111,5,133,242,0,0         // movdqa        0xf285(%rip),%xmm8        # 3cf40 <_sk_srcover_bgra_8888_sse2_lowp+0xcf4>
+  .byte  102,65,15,254,208                   // paddd         %xmm8,%xmm2
+  .byte  102,15,112,218,78                   // pshufd        $0x4e,%xmm2,%xmm3
+  .byte  102,73,15,126,216                   // movq          %xmm3,%r8
+  .byte  102,72,15,126,208                   // movq          %xmm2,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  243,15,16,28,131                    // movss         (%rbx,%rax,4),%xmm3
+  .byte  243,66,15,16,20,139                 // movss         (%rbx,%r9,4),%xmm2
+  .byte  15,20,211                           // unpcklps      %xmm3,%xmm2
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,28,131                 // movss         (%rbx,%r8,4),%xmm3
+  .byte  243,15,16,44,131                    // movss         (%rbx,%rax,4),%xmm5
+  .byte  15,20,235                           // unpcklps      %xmm3,%xmm5
+  .byte  102,15,20,213                       // unpcklpd      %xmm5,%xmm2
+  .byte  102,65,15,254,228                   // paddd         %xmm12,%xmm4
+  .byte  102,15,112,220,245                  // pshufd        $0xf5,%xmm4,%xmm3
+  .byte  102,15,244,230                      // pmuludq       %xmm6,%xmm4
+  .byte  102,15,244,222                      // pmuludq       %xmm6,%xmm3
+  .byte  102,15,112,235,232                  // pshufd        $0xe8,%xmm3,%xmm5
+  .byte  102,15,112,220,232                  // pshufd        $0xe8,%xmm4,%xmm3
+  .byte  102,15,98,221                       // punpckldq     %xmm5,%xmm3
+  .byte  102,65,15,126,224                   // movd          %xmm4,%r8d
+  .byte  102,15,112,235,229                  // pshufd        $0xe5,%xmm3,%xmm5
+  .byte  102,65,15,126,233                   // movd          %xmm5,%r9d
+  .byte  102,15,112,235,78                   // pshufd        $0x4e,%xmm3,%xmm5
+  .byte  102,65,15,126,234                   // movd          %xmm5,%r10d
+  .byte  102,15,112,235,231                  // pshufd        $0xe7,%xmm3,%xmm5
+  .byte  102,15,126,232                      // movd          %xmm5,%eax
+  .byte  243,15,16,44,131                    // movss         (%rbx,%rax,4),%xmm5
+  .byte  243,66,15,16,52,147                 // movss         (%rbx,%r10,4),%xmm6
+  .byte  15,20,245                           // unpcklps      %xmm5,%xmm6
+  .byte  243,66,15,16,44,139                 // movss         (%rbx,%r9,4),%xmm5
+  .byte  243,70,15,16,36,131                 // movss         (%rbx,%r8,4),%xmm12
+  .byte  68,15,20,229                        // unpcklps      %xmm5,%xmm12
+  .byte  102,68,15,20,230                    // unpcklpd      %xmm6,%xmm12
+  .byte  102,15,111,235                      // movdqa        %xmm3,%xmm5
+  .byte  102,15,250,239                      // psubd         %xmm7,%xmm5
+  .byte  102,15,112,245,78                   // pshufd        $0x4e,%xmm5,%xmm6
+  .byte  102,73,15,126,240                   // movq          %xmm6,%r8
+  .byte  102,72,15,126,232                   // movq          %xmm5,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  243,15,16,44,131                    // movss         (%rbx,%rax,4),%xmm5
+  .byte  243,66,15,16,60,139                 // movss         (%rbx,%r9,4),%xmm7
+  .byte  15,20,253                           // unpcklps      %xmm5,%xmm7
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,44,131                 // movss         (%rbx,%r8,4),%xmm5
+  .byte  243,15,16,52,131                    // movss         (%rbx,%rax,4),%xmm6
+  .byte  15,20,245                           // unpcklps      %xmm5,%xmm6
+  .byte  102,15,20,254                       // unpcklpd      %xmm6,%xmm7
+  .byte  102,65,15,254,216                   // paddd         %xmm8,%xmm3
+  .byte  102,15,112,235,78                   // pshufd        $0x4e,%xmm3,%xmm5
+  .byte  102,73,15,126,232                   // movq          %xmm5,%r8
+  .byte  102,72,15,126,216                   // movq          %xmm3,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  243,15,16,28,131                    // movss         (%rbx,%rax,4),%xmm3
+  .byte  243,66,15,16,44,139                 // movss         (%rbx,%r9,4),%xmm5
+  .byte  15,20,235                           // unpcklps      %xmm3,%xmm5
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,28,131                 // movss         (%rbx,%r8,4),%xmm3
+  .byte  243,15,16,52,131                    // movss         (%rbx,%rax,4),%xmm6
+  .byte  15,20,243                           // unpcklps      %xmm3,%xmm6
+  .byte  102,15,20,238                       // unpcklpd      %xmm6,%xmm5
+  .byte  68,15,92,224                        // subps         %xmm0,%xmm12
+  .byte  69,15,89,227                        // mulps         %xmm11,%xmm12
+  .byte  68,15,88,224                        // addps         %xmm0,%xmm12
+  .byte  15,92,249                           // subps         %xmm1,%xmm7
+  .byte  65,15,89,251                        // mulps         %xmm11,%xmm7
+  .byte  15,88,249                           // addps         %xmm1,%xmm7
+  .byte  15,92,234                           // subps         %xmm2,%xmm5
+  .byte  65,15,89,235                        // mulps         %xmm11,%xmm5
+  .byte  15,88,234                           // addps         %xmm2,%xmm5
+  .byte  102,15,111,68,36,128                // movdqa        -0x80(%rsp),%xmm0
+  .byte  102,15,254,68,36,16                 // paddd         0x10(%rsp),%xmm0
+  .byte  102,65,15,111,214                   // movdqa        %xmm14,%xmm2
+  .byte  102,15,254,208                      // paddd         %xmm0,%xmm2
+  .byte  102,15,111,240                      // movdqa        %xmm0,%xmm6
+  .byte  102,15,112,194,245                  // pshufd        $0xf5,%xmm2,%xmm0
+  .byte  102,15,111,37,113,247,0,0           // movdqa        0xf771(%rip),%xmm4        # 3d5a0 <_sk_srcover_bgra_8888_sse2_lowp+0x1354>
+  .byte  102,15,244,212                      // pmuludq       %xmm4,%xmm2
+  .byte  102,15,244,196                      // pmuludq       %xmm4,%xmm0
+  .byte  102,15,112,200,232                  // pshufd        $0xe8,%xmm0,%xmm1
+  .byte  102,15,112,194,232                  // pshufd        $0xe8,%xmm2,%xmm0
+  .byte  102,15,98,193                       // punpckldq     %xmm1,%xmm0
+  .byte  102,65,15,126,208                   // movd          %xmm2,%r8d
+  .byte  102,15,112,200,229                  // pshufd        $0xe5,%xmm0,%xmm1
+  .byte  102,65,15,126,201                   // movd          %xmm1,%r9d
+  .byte  102,15,112,200,78                   // pshufd        $0x4e,%xmm0,%xmm1
+  .byte  102,65,15,126,202                   // movd          %xmm1,%r10d
+  .byte  102,15,112,200,231                  // pshufd        $0xe7,%xmm0,%xmm1
+  .byte  102,15,126,200                      // movd          %xmm1,%eax
+  .byte  243,15,16,12,131                    // movss         (%rbx,%rax,4),%xmm1
+  .byte  243,66,15,16,20,147                 // movss         (%rbx,%r10,4),%xmm2
+  .byte  15,20,209                           // unpcklps      %xmm1,%xmm2
+  .byte  243,66,15,16,12,139                 // movss         (%rbx,%r9,4),%xmm1
+  .byte  243,70,15,16,4,131                  // movss         (%rbx,%r8,4),%xmm8
+  .byte  68,15,20,193                        // unpcklps      %xmm1,%xmm8
+  .byte  102,68,15,20,194                    // unpcklpd      %xmm2,%xmm8
+  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
+  .byte  102,15,250,13,26,247,0,0            // psubd         0xf71a(%rip),%xmm1        # 3d5b0 <_sk_srcover_bgra_8888_sse2_lowp+0x1364>
+  .byte  102,15,112,209,78                   // pshufd        $0x4e,%xmm1,%xmm2
+  .byte  102,73,15,126,208                   // movq          %xmm2,%r8
+  .byte  102,72,15,126,200                   // movq          %xmm1,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  243,15,16,12,131                    // movss         (%rbx,%rax,4),%xmm1
+  .byte  243,70,15,16,52,139                 // movss         (%rbx,%r9,4),%xmm14
+  .byte  68,15,20,241                        // unpcklps      %xmm1,%xmm14
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,12,131                 // movss         (%rbx,%r8,4),%xmm1
+  .byte  243,15,16,20,131                    // movss         (%rbx,%rax,4),%xmm2
+  .byte  15,20,209                           // unpcklps      %xmm1,%xmm2
+  .byte  102,68,15,20,242                    // unpcklpd      %xmm2,%xmm14
+  .byte  102,15,254,5,99,240,0,0             // paddd         0xf063(%rip),%xmm0        # 3cf40 <_sk_srcover_bgra_8888_sse2_lowp+0xcf4>
+  .byte  102,15,112,200,78                   // pshufd        $0x4e,%xmm0,%xmm1
+  .byte  102,73,15,126,200                   // movq          %xmm1,%r8
+  .byte  102,72,15,126,192                   // movq          %xmm0,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  243,15,16,4,131                     // movss         (%rbx,%rax,4),%xmm0
+  .byte  243,66,15,16,28,139                 // movss         (%rbx,%r9,4),%xmm3
+  .byte  15,20,216                           // unpcklps      %xmm0,%xmm3
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,4,131                  // movss         (%rbx,%r8,4),%xmm0
+  .byte  243,15,16,12,131                    // movss         (%rbx,%rax,4),%xmm1
+  .byte  15,20,200                           // unpcklps      %xmm0,%xmm1
+  .byte  102,15,20,217                       // unpcklpd      %xmm1,%xmm3
+  .byte  102,15,111,206                      // movdqa        %xmm6,%xmm1
+  .byte  102,15,254,76,36,224                // paddd         -0x20(%rsp),%xmm1
+  .byte  102,15,112,193,245                  // pshufd        $0xf5,%xmm1,%xmm0
+  .byte  102,15,244,204                      // pmuludq       %xmm4,%xmm1
+  .byte  102,15,244,196                      // pmuludq       %xmm4,%xmm0
+  .byte  102,15,112,192,232                  // pshufd        $0xe8,%xmm0,%xmm0
+  .byte  102,15,112,209,232                  // pshufd        $0xe8,%xmm1,%xmm2
+  .byte  102,15,98,208                       // punpckldq     %xmm0,%xmm2
+  .byte  102,65,15,126,200                   // movd          %xmm1,%r8d
+  .byte  102,15,112,194,229                  // pshufd        $0xe5,%xmm2,%xmm0
+  .byte  102,65,15,126,193                   // movd          %xmm0,%r9d
+  .byte  102,15,112,194,78                   // pshufd        $0x4e,%xmm2,%xmm0
+  .byte  102,65,15,126,194                   // movd          %xmm0,%r10d
+  .byte  102,15,112,194,231                  // pshufd        $0xe7,%xmm2,%xmm0
+  .byte  102,15,126,192                      // movd          %xmm0,%eax
+  .byte  243,15,16,4,131                     // movss         (%rbx,%rax,4),%xmm0
+  .byte  243,66,15,16,12,147                 // movss         (%rbx,%r10,4),%xmm1
+  .byte  15,20,200                           // unpcklps      %xmm0,%xmm1
+  .byte  243,66,15,16,52,139                 // movss         (%rbx,%r9,4),%xmm6
+  .byte  243,66,15,16,4,131                  // movss         (%rbx,%r8,4),%xmm0
+  .byte  15,20,198                           // unpcklps      %xmm6,%xmm0
+  .byte  102,15,20,193                       // unpcklpd      %xmm1,%xmm0
+  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
+  .byte  102,15,250,13,34,246,0,0            // psubd         0xf622(%rip),%xmm1        # 3d5b0 <_sk_srcover_bgra_8888_sse2_lowp+0x1364>
+  .byte  102,15,112,241,78                   // pshufd        $0x4e,%xmm1,%xmm6
+  .byte  102,73,15,126,240                   // movq          %xmm6,%r8
+  .byte  102,72,15,126,200                   // movq          %xmm1,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  243,15,16,52,131                    // movss         (%rbx,%rax,4),%xmm6
+  .byte  243,66,15,16,12,139                 // movss         (%rbx,%r9,4),%xmm1
+  .byte  15,20,206                           // unpcklps      %xmm6,%xmm1
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,52,131                 // movss         (%rbx,%r8,4),%xmm6
+  .byte  243,15,16,36,131                    // movss         (%rbx,%rax,4),%xmm4
+  .byte  15,20,230                           // unpcklps      %xmm6,%xmm4
+  .byte  102,15,20,204                       // unpcklpd      %xmm4,%xmm1
+  .byte  102,15,254,21,109,239,0,0           // paddd         0xef6d(%rip),%xmm2        # 3cf40 <_sk_srcover_bgra_8888_sse2_lowp+0xcf4>
+  .byte  102,15,112,226,78                   // pshufd        $0x4e,%xmm2,%xmm4
+  .byte  102,73,15,126,224                   // movq          %xmm4,%r8
+  .byte  102,72,15,126,208                   // movq          %xmm2,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  243,15,16,36,131                    // movss         (%rbx,%rax,4),%xmm4
+  .byte  243,66,15,16,20,139                 // movss         (%rbx,%r9,4),%xmm2
+  .byte  15,20,212                           // unpcklps      %xmm4,%xmm2
+  .byte  68,137,192                          // mov           %r8d,%eax
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  243,66,15,16,36,131                 // movss         (%rbx,%r8,4),%xmm4
+  .byte  243,15,16,52,131                    // movss         (%rbx,%rax,4),%xmm6
+  .byte  15,20,244                           // unpcklps      %xmm4,%xmm6
+  .byte  102,15,20,214                       // unpcklpd      %xmm6,%xmm2
+  .byte  65,15,92,192                        // subps         %xmm8,%xmm0
+  .byte  65,15,89,195                        // mulps         %xmm11,%xmm0
+  .byte  65,15,88,192                        // addps         %xmm8,%xmm0
+  .byte  65,15,92,206                        // subps         %xmm14,%xmm1
+  .byte  65,15,89,203                        // mulps         %xmm11,%xmm1
+  .byte  65,15,88,206                        // addps         %xmm14,%xmm1
+  .byte  15,92,211                           // subps         %xmm3,%xmm2
+  .byte  65,15,89,211                        // mulps         %xmm11,%xmm2
+  .byte  15,88,211                           // addps         %xmm3,%xmm2
+  .byte  65,15,92,196                        // subps         %xmm12,%xmm0
+  .byte  15,40,92,36,144                     // movaps        -0x70(%rsp),%xmm3
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  65,15,88,196                        // addps         %xmm12,%xmm0
+  .byte  15,92,207                           // subps         %xmm7,%xmm1
+  .byte  15,89,203                           // mulps         %xmm3,%xmm1
+  .byte  15,88,207                           // addps         %xmm7,%xmm1
+  .byte  15,92,213                           // subps         %xmm5,%xmm2
+  .byte  15,89,211                           // mulps         %xmm3,%xmm2
+  .byte  15,88,213                           // addps         %xmm5,%xmm2
+  .byte  65,15,92,197                        // subps         %xmm13,%xmm0
+  .byte  15,40,92,36,240                     // movaps        -0x10(%rsp),%xmm3
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  65,15,88,197                        // addps         %xmm13,%xmm0
+  .byte  65,15,92,202                        // subps         %xmm10,%xmm1
+  .byte  15,89,203                           // mulps         %xmm3,%xmm1
+  .byte  65,15,88,202                        // addps         %xmm10,%xmm1
+  .byte  65,15,92,209                        // subps         %xmm9,%xmm2
+  .byte  15,89,211                           // mulps         %xmm3,%xmm2
+  .byte  65,15,88,209                        // addps         %xmm9,%xmm2
+  .byte  15,91,92,36,48                      // cvtdq2ps      0x30(%rsp),%xmm3
+  .byte  15,40,100,36,80                     // movaps        0x50(%rsp),%xmm4
+  .byte  15,92,227                           // subps         %xmm3,%xmm4
+  .byte  15,40,92,36,208                     // movaps        -0x30(%rsp),%xmm3
+  .byte  15,92,195                           // subps         %xmm3,%xmm0
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  15,88,195                           // addps         %xmm3,%xmm0
+  .byte  15,40,92,36,192                     // movaps        -0x40(%rsp),%xmm3
+  .byte  15,92,203                           // subps         %xmm3,%xmm1
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  15,88,203                           // addps         %xmm3,%xmm1
+  .byte  65,15,92,215                        // subps         %xmm15,%xmm2
+  .byte  15,89,212                           // mulps         %xmm4,%xmm2
+  .byte  65,15,88,215                        // addps         %xmm15,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,29,89,238,0,0                 // movaps        0xee59(%rip),%xmm3        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  15,40,100,36,96                     // movaps        0x60(%rsp),%xmm4
+  .byte  15,40,108,36,112                    // movaps        0x70(%rsp),%xmm5
+  .byte  15,40,180,36,128,0,0,0              // movaps        0x80(%rsp),%xmm6
+  .byte  15,40,188,36,144,0,0,0              // movaps        0x90(%rsp),%xmm7
+  .byte  72,129,196,160,0,0,0                // add           $0xa0,%rsp
+  .byte  91                                  // pop           %rbx
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_gauss_a_to_rgba_sse2
+.globl _sk_gauss_a_to_rgba_sse2
+FUNCTION(_sk_gauss_a_to_rgba_sse2)
+_sk_gauss_a_to_rgba_sse2:
+  .byte  15,40,5,222,244,0,0                 // movaps        0xf4de(%rip),%xmm0        # 3d5c0 <_sk_srcover_bgra_8888_sse2_lowp+0x1374>
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  15,88,5,228,244,0,0                 // addps         0xf4e4(%rip),%xmm0        # 3d5d0 <_sk_srcover_bgra_8888_sse2_lowp+0x1384>
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  15,88,5,234,244,0,0                 // addps         0xf4ea(%rip),%xmm0        # 3d5e0 <_sk_srcover_bgra_8888_sse2_lowp+0x1394>
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  15,88,5,240,244,0,0                 // addps         0xf4f0(%rip),%xmm0        # 3d5f0 <_sk_srcover_bgra_8888_sse2_lowp+0x13a4>
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  15,88,5,246,244,0,0                 // addps         0xf4f6(%rip),%xmm0        # 3d600 <_sk_srcover_bgra_8888_sse2_lowp+0x13b4>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  15,40,208                           // movaps        %xmm0,%xmm2
+  .byte  15,40,216                           // movaps        %xmm0,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_bilerp_clamp_8888_sse2
+.globl _sk_bilerp_clamp_8888_sse2
+FUNCTION(_sk_bilerp_clamp_8888_sse2)
+_sk_bilerp_clamp_8888_sse2:
+  .byte  72,131,236,88                       // sub           $0x58,%rsp
+  .byte  15,41,124,36,176                    // movaps        %xmm7,-0x50(%rsp)
+  .byte  15,41,116,36,160                    // movaps        %xmm6,-0x60(%rsp)
+  .byte  15,41,108,36,144                    // movaps        %xmm5,-0x70(%rsp)
+  .byte  15,41,100,36,128                    // movaps        %xmm4,-0x80(%rsp)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,37,200,237,0,0                // movaps        0xedc8(%rip),%xmm4        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  15,41,68,36,64                      // movaps        %xmm0,0x40(%rsp)
+  .byte  15,40,232                           // movaps        %xmm0,%xmm5
+  .byte  15,88,236                           // addps         %xmm4,%xmm5
+  .byte  243,15,91,197                       // cvttps2dq     %xmm5,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  15,40,213                           // movaps        %xmm5,%xmm2
+  .byte  15,194,208,1                        // cmpltps       %xmm0,%xmm2
+  .byte  15,40,53,184,237,0,0                // movaps        0xedb8(%rip),%xmm6        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  15,84,214                           // andps         %xmm6,%xmm2
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  15,92,194                           // subps         %xmm2,%xmm0
+  .byte  15,92,232                           // subps         %xmm0,%xmm5
+  .byte  15,41,12,36                         // movaps        %xmm1,(%rsp)
+  .byte  15,88,225                           // addps         %xmm1,%xmm4
+  .byte  243,15,91,204                       // cvttps2dq     %xmm4,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  15,40,212                           // movaps        %xmm4,%xmm2
+  .byte  15,194,209,1                        // cmpltps       %xmm1,%xmm2
+  .byte  15,84,214                           // andps         %xmm6,%xmm2
+  .byte  15,92,202                           // subps         %xmm2,%xmm1
+  .byte  15,92,225                           // subps         %xmm1,%xmm4
+  .byte  15,40,198                           // movaps        %xmm6,%xmm0
+  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%rsp)
+  .byte  15,92,197                           // subps         %xmm5,%xmm0
+  .byte  15,41,68,36,32                      // movaps        %xmm0,0x20(%rsp)
+  .byte  15,41,100,36,240                    // movaps        %xmm4,-0x10(%rsp)
+  .byte  15,92,244                           // subps         %xmm4,%xmm6
+  .byte  15,41,116,36,192                    // movaps        %xmm6,-0x40(%rsp)
+  .byte  243,68,15,16,112,12                 // movss         0xc(%rax),%xmm14
+  .byte  69,15,198,246,0                     // shufps        $0x0,%xmm14,%xmm14
+  .byte  102,15,118,201                      // pcmpeqd       %xmm1,%xmm1
+  .byte  102,68,15,254,241                   // paddd         %xmm1,%xmm14
+  .byte  243,15,16,64,16                     // movss         0x10(%rax),%xmm0
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  102,15,254,193                      // paddd         %xmm1,%xmm0
+  .byte  102,15,127,68,36,224                // movdqa        %xmm0,-0x20(%rsp)
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  102,15,110,72,8                     // movd          0x8(%rax),%xmm1
+  .byte  102,15,112,193,0                    // pshufd        $0x0,%xmm1,%xmm0
+  .byte  102,15,127,68,36,208                // movdqa        %xmm0,-0x30(%rsp)
+  .byte  243,15,16,5,111,228,0,0             // movss         0xe46f(%rip),%xmm0        # 3c650 <_sk_srcover_bgra_8888_sse2_lowp+0x404>
+  .byte  102,15,111,45,215,237,0,0           // movdqa        0xedd7(%rip),%xmm5        # 3cfc0 <_sk_srcover_bgra_8888_sse2_lowp+0xd74>
+  .byte  15,40,37,48,239,0,0                 // movaps        0xef30(%rip),%xmm4        # 3d120 <_sk_srcover_bgra_8888_sse2_lowp+0xed4>
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  15,40,248                           // movaps        %xmm0,%xmm7
+  .byte  15,40,247                           // movaps        %xmm7,%xmm6
+  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
+  .byte  15,88,52,36                         // addps         (%rsp),%xmm6
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  15,95,206                           // maxps         %xmm6,%xmm1
+  .byte  15,41,124,36,16                     // movaps        %xmm7,0x10(%rsp)
+  .byte  15,46,61,112,228,0,0                // ucomiss       0xe470(%rip),%xmm7        # 3c68c <_sk_srcover_bgra_8888_sse2_lowp+0x440>
+  .byte  68,15,40,124,36,240                 // movaps        -0x10(%rsp),%xmm15
+  .byte  119,6                               // ja            2e22a <_sk_bilerp_clamp_8888_sse2+0x113>
+  .byte  68,15,40,124,36,192                 // movaps        -0x40(%rsp),%xmm15
+  .byte  15,93,76,36,224                     // minps         -0x20(%rsp),%xmm1
+  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
+  .byte  102,15,111,68,36,208                // movdqa        -0x30(%rsp),%xmm0
+  .byte  102,15,111,240                      // movdqa        %xmm0,%xmm6
+  .byte  102,15,244,241                      // pmuludq       %xmm1,%xmm6
+  .byte  102,68,15,112,230,232               // pshufd        $0xe8,%xmm6,%xmm12
+  .byte  102,15,112,201,245                  // pshufd        $0xf5,%xmm1,%xmm1
+  .byte  102,15,112,240,245                  // pshufd        $0xf5,%xmm0,%xmm6
+  .byte  102,15,244,241                      // pmuludq       %xmm1,%xmm6
+  .byte  102,15,112,206,232                  // pshufd        $0xe8,%xmm6,%xmm1
+  .byte  102,68,15,98,225                    // punpckldq     %xmm1,%xmm12
+  .byte  243,15,16,13,233,227,0,0            // movss         0xe3e9(%rip),%xmm1        # 3c650 <_sk_srcover_bgra_8888_sse2_lowp+0x404>
+  .byte  15,40,241                           // movaps        %xmm1,%xmm6
+  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
+  .byte  15,88,116,36,64                     // addps         0x40(%rsp),%xmm6
+  .byte  15,87,255                           // xorps         %xmm7,%xmm7
+  .byte  15,95,254                           // maxps         %xmm6,%xmm7
+  .byte  65,15,93,254                        // minps         %xmm14,%xmm7
+  .byte  243,15,91,247                       // cvttps2dq     %xmm7,%xmm6
+  .byte  102,65,15,254,244                   // paddd         %xmm12,%xmm6
+  .byte  102,15,112,254,78                   // pshufd        $0x4e,%xmm6,%xmm7
+  .byte  102,72,15,126,248                   // movq          %xmm7,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  102,73,15,126,242                   // movq          %xmm6,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  102,67,15,110,52,144                // movd          (%r8,%r10,4),%xmm6
+  .byte  102,67,15,110,4,152                 // movd          (%r8,%r11,4),%xmm0
+  .byte  102,15,98,198                       // punpckldq     %xmm6,%xmm0
+  .byte  102,65,15,110,52,128                // movd          (%r8,%rax,4),%xmm6
+  .byte  102,67,15,110,60,136                // movd          (%r8,%r9,4),%xmm7
+  .byte  102,15,98,254                       // punpckldq     %xmm6,%xmm7
+  .byte  102,15,108,199                      // punpcklqdq    %xmm7,%xmm0
+  .byte  102,15,111,240                      // movdqa        %xmm0,%xmm6
+  .byte  102,15,219,245                      // pand          %xmm5,%xmm6
+  .byte  68,15,91,238                        // cvtdq2ps      %xmm6,%xmm13
+  .byte  68,15,89,236                        // mulps         %xmm4,%xmm13
+  .byte  102,15,111,240                      // movdqa        %xmm0,%xmm6
+  .byte  102,15,114,214,8                    // psrld         $0x8,%xmm6
+  .byte  102,15,219,245                      // pand          %xmm5,%xmm6
+  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
+  .byte  15,89,244                           // mulps         %xmm4,%xmm6
+  .byte  102,15,111,248                      // movdqa        %xmm0,%xmm7
+  .byte  102,15,114,215,16                   // psrld         $0x10,%xmm7
+  .byte  102,15,219,253                      // pand          %xmm5,%xmm7
+  .byte  15,91,255                           // cvtdq2ps      %xmm7,%xmm7
+  .byte  15,89,252                           // mulps         %xmm4,%xmm7
+  .byte  102,15,114,208,24                   // psrld         $0x18,%xmm0
+  .byte  68,15,91,208                        // cvtdq2ps      %xmm0,%xmm10
+  .byte  68,15,89,212                        // mulps         %xmm4,%xmm10
+  .byte  15,46,13,123,227,0,0                // ucomiss       0xe37b(%rip),%xmm1        # 3c68c <_sk_srcover_bgra_8888_sse2_lowp+0x440>
+  .byte  68,15,40,92,36,48                   // movaps        0x30(%rsp),%xmm11
+  .byte  119,6                               // ja            2e31f <_sk_bilerp_clamp_8888_sse2+0x208>
+  .byte  68,15,40,92,36,32                   // movaps        0x20(%rsp),%xmm11
+  .byte  69,15,89,223                        // mulps         %xmm15,%xmm11
+  .byte  69,15,89,235                        // mulps         %xmm11,%xmm13
+  .byte  69,15,88,205                        // addps         %xmm13,%xmm9
+  .byte  65,15,89,243                        // mulps         %xmm11,%xmm6
+  .byte  68,15,88,198                        // addps         %xmm6,%xmm8
+  .byte  65,15,89,251                        // mulps         %xmm11,%xmm7
+  .byte  15,88,215                           // addps         %xmm7,%xmm2
+  .byte  69,15,89,218                        // mulps         %xmm10,%xmm11
+  .byte  65,15,88,219                        // addps         %xmm11,%xmm3
+  .byte  243,15,88,13,178,225,0,0            // addss         0xe1b2(%rip),%xmm1        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  243,15,16,5,166,225,0,0             // movss         0xe1a6(%rip),%xmm0        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  15,46,193                           // ucomiss       %xmm1,%xmm0
+  .byte  15,131,12,255,255,255               // jae           2e267 <_sk_bilerp_clamp_8888_sse2+0x150>
+  .byte  15,40,124,36,16                     // movaps        0x10(%rsp),%xmm7
+  .byte  243,15,88,61,148,225,0,0            // addss         0xe194(%rip),%xmm7        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  243,15,16,5,136,225,0,0             // movss         0xe188(%rip),%xmm0        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  15,46,199                           // ucomiss       %xmm7,%xmm0
+  .byte  15,131,133,254,255,255              // jae           2e1fe <_sk_bilerp_clamp_8888_sse2+0xe7>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  65,15,40,200                        // movaps        %xmm8,%xmm1
+  .byte  15,40,100,36,128                    // movaps        -0x80(%rsp),%xmm4
+  .byte  15,40,108,36,144                    // movaps        -0x70(%rsp),%xmm5
+  .byte  15,40,116,36,160                    // movaps        -0x60(%rsp),%xmm6
+  .byte  15,40,124,36,176                    // movaps        -0x50(%rsp),%xmm7
+  .byte  72,131,196,88                       // add           $0x58,%rsp
+  .byte  255,224                             // jmpq          *%rax
+  .byte  144                                 // nop
+  .byte  144                                 // nop
+  .byte  144                                 // nop
+
+HIDDEN _sk_start_pipeline_hsw_lowp
+.globl _sk_start_pipeline_hsw_lowp
+FUNCTION(_sk_start_pipeline_hsw_lowp)
+_sk_start_pipeline_hsw_lowp:
+  .byte  85                                  // push          %rbp
+  .byte  72,137,229                          // mov           %rsp,%rbp
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,85                               // push          %r13
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,131,236,24                       // sub           $0x18,%rsp
+  .byte  73,137,215                          // mov           %rdx,%r15
+  .byte  72,137,243                          // mov           %rsi,%rbx
+  .byte  72,137,125,208                      // mov           %rdi,-0x30(%rbp)
+  .byte  76,137,198                          // mov           %r8,%rsi
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  73,137,197                          // mov           %rax,%r13
+  .byte  73,137,246                          // mov           %rsi,%r14
+  .byte  72,137,77,192                       // mov           %rcx,-0x40(%rbp)
+  .byte  72,57,203                           // cmp           %rcx,%rbx
+  .byte  15,131,151,0,0,0                    // jae           2e46a <_sk_start_pipeline_hsw_lowp+0xca>
+  .byte  72,139,69,208                       // mov           -0x30(%rbp),%rax
+  .byte  72,141,64,16                        // lea           0x10(%rax),%rax
+  .byte  72,137,69,200                       // mov           %rax,-0x38(%rbp)
+  .byte  72,139,85,208                       // mov           -0x30(%rbp),%rdx
+  .byte  76,57,125,200                       // cmp           %r15,-0x38(%rbp)
+  .byte  119,67                              // ja            2e42c <_sk_start_pipeline_hsw_lowp+0x8c>
+  .byte  76,139,101,208                      // mov           -0x30(%rbp),%r12
+  .byte  49,255                              // xor           %edi,%edi
+  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  197,220,87,228                      // vxorps        %ymm4,%ymm4,%ymm4
+  .byte  197,212,87,237                      // vxorps        %ymm5,%ymm5,%ymm5
+  .byte  197,204,87,246                      // vxorps        %ymm6,%ymm6,%ymm6
+  .byte  197,196,87,255                      // vxorps        %ymm7,%ymm7,%ymm7
+  .byte  76,137,246                          // mov           %r14,%rsi
+  .byte  76,137,226                          // mov           %r12,%rdx
+  .byte  72,137,217                          // mov           %rbx,%rcx
+  .byte  65,255,213                          // callq         *%r13
+  .byte  73,141,84,36,16                     // lea           0x10(%r12),%rdx
+  .byte  73,131,196,32                       // add           $0x20,%r12
+  .byte  77,57,252                           // cmp           %r15,%r12
+  .byte  73,137,212                          // mov           %rdx,%r12
+  .byte  118,193                             // jbe           2e3ed <_sk_start_pipeline_hsw_lowp+0x4d>
+  .byte  76,137,255                          // mov           %r15,%rdi
+  .byte  72,41,215                           // sub           %rdx,%rdi
+  .byte  116,41                              // je            2e45d <_sk_start_pipeline_hsw_lowp+0xbd>
+  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  197,220,87,228                      // vxorps        %ymm4,%ymm4,%ymm4
+  .byte  197,212,87,237                      // vxorps        %ymm5,%ymm5,%ymm5
+  .byte  197,204,87,246                      // vxorps        %ymm6,%ymm6,%ymm6
+  .byte  197,196,87,255                      // vxorps        %ymm7,%ymm7,%ymm7
+  .byte  76,137,246                          // mov           %r14,%rsi
+  .byte  72,137,217                          // mov           %rbx,%rcx
+  .byte  65,255,213                          // callq         *%r13
+  .byte  72,255,195                          // inc           %rbx
+  .byte  72,59,93,192                        // cmp           -0x40(%rbp),%rbx
+  .byte  15,133,117,255,255,255              // jne           2e3df <_sk_start_pipeline_hsw_lowp+0x3f>
+  .byte  72,131,196,24                       // add           $0x18,%rsp
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,93                               // pop           %r13
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  93                                  // pop           %rbp
+  .byte  197,248,119                         // vzeroupper
+  .byte  195                                 // retq
+
+HIDDEN _sk_just_return_hsw_lowp
+.globl _sk_just_return_hsw_lowp
+FUNCTION(_sk_just_return_hsw_lowp)
+_sk_just_return_hsw_lowp:
+  .byte  195                                 // retq
+
+HIDDEN _sk_seed_shader_hsw_lowp
+.globl _sk_seed_shader_hsw_lowp
+FUNCTION(_sk_seed_shader_hsw_lowp)
+_sk_seed_shader_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,249,110,194                     // vmovd         %edx,%xmm0
+  .byte  196,226,125,88,192                  // vpbroadcastd  %xmm0,%ymm0
+  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
+  .byte  197,252,88,72,32                    // vaddps        0x20(%rax),%ymm0,%ymm1
+  .byte  197,252,88,0                        // vaddps        (%rax),%ymm0,%ymm0
+  .byte  197,249,110,209                     // vmovd         %ecx,%xmm2
+  .byte  196,226,125,88,210                  // vpbroadcastd  %xmm2,%ymm2
+  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
+  .byte  196,226,125,24,29,77,224,0,0        // vbroadcastss  0xe04d(%rip),%ymm3        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  197,236,88,211                      // vaddps        %ymm3,%ymm2,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,40,218                      // vmovaps       %ymm2,%ymm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_translate_hsw_lowp
+.globl _sk_matrix_translate_hsw_lowp
+FUNCTION(_sk_matrix_translate_hsw_lowp)
+_sk_matrix_translate_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,0                     // vbroadcastss  (%rax),%ymm8
+  .byte  196,193,124,88,192                  // vaddps        %ymm8,%ymm0,%ymm0
+  .byte  196,193,116,88,200                  // vaddps        %ymm8,%ymm1,%ymm1
+  .byte  196,98,125,24,64,4                  // vbroadcastss  0x4(%rax),%ymm8
+  .byte  196,193,108,88,208                  // vaddps        %ymm8,%ymm2,%ymm2
+  .byte  196,193,100,88,216                  // vaddps        %ymm8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_scale_translate_hsw_lowp
+.globl _sk_matrix_scale_translate_hsw_lowp
+FUNCTION(_sk_matrix_scale_translate_hsw_lowp)
+_sk_matrix_scale_translate_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,0                     // vbroadcastss  (%rax),%ymm8
+  .byte  196,98,125,24,72,8                  // vbroadcastss  0x8(%rax),%ymm9
+  .byte  196,194,61,168,193                  // vfmadd213ps   %ymm9,%ymm8,%ymm0
+  .byte  196,194,61,168,201                  // vfmadd213ps   %ymm9,%ymm8,%ymm1
+  .byte  196,98,125,24,64,4                  // vbroadcastss  0x4(%rax),%ymm8
+  .byte  196,98,125,24,72,12                 // vbroadcastss  0xc(%rax),%ymm9
+  .byte  196,194,61,168,209                  // vfmadd213ps   %ymm9,%ymm8,%ymm2
+  .byte  196,194,61,168,217                  // vfmadd213ps   %ymm9,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_2x3_hsw_lowp
+.globl _sk_matrix_2x3_hsw_lowp
+FUNCTION(_sk_matrix_2x3_hsw_lowp)
+_sk_matrix_2x3_hsw_lowp:
+  .byte  197,124,40,192                      // vmovaps       %ymm0,%ymm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,16                    // vbroadcastss  (%rax),%ymm10
+  .byte  196,226,125,24,64,8                 // vbroadcastss  0x8(%rax),%ymm0
+  .byte  196,98,125,24,88,16                 // vbroadcastss  0x10(%rax),%ymm11
+  .byte  197,124,40,200                      // vmovaps       %ymm0,%ymm9
+  .byte  196,66,101,168,203                  // vfmadd213ps   %ymm11,%ymm3,%ymm9
+  .byte  196,194,109,168,195                 // vfmadd213ps   %ymm11,%ymm2,%ymm0
+  .byte  196,194,61,184,194                  // vfmadd231ps   %ymm10,%ymm8,%ymm0
+  .byte  196,66,117,184,202                  // vfmadd231ps   %ymm10,%ymm1,%ymm9
+  .byte  196,98,125,24,80,4                  // vbroadcastss  0x4(%rax),%ymm10
+  .byte  196,98,125,24,88,12                 // vbroadcastss  0xc(%rax),%ymm11
+  .byte  196,98,125,24,96,20                 // vbroadcastss  0x14(%rax),%ymm12
+  .byte  196,194,37,168,220                  // vfmadd213ps   %ymm12,%ymm11,%ymm3
+  .byte  196,66,109,168,220                  // vfmadd213ps   %ymm12,%ymm2,%ymm11
+  .byte  196,66,45,168,195                   // vfmadd213ps   %ymm11,%ymm10,%ymm8
+  .byte  196,194,117,184,218                 // vfmadd231ps   %ymm10,%ymm1,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,41,201                      // vmovaps       %ymm9,%ymm1
+  .byte  197,124,41,194                      // vmovaps       %ymm8,%ymm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_perspective_hsw_lowp
+.globl _sk_matrix_perspective_hsw_lowp
+FUNCTION(_sk_matrix_perspective_hsw_lowp)
+_sk_matrix_perspective_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,24,8                     // vbroadcastss  (%rax),%ymm9
+  .byte  196,98,125,24,64,4                  // vbroadcastss  0x4(%rax),%ymm8
+  .byte  196,98,125,24,80,8                  // vbroadcastss  0x8(%rax),%ymm10
+  .byte  196,65,124,40,216                   // vmovaps       %ymm8,%ymm11
+  .byte  196,66,109,168,218                  // vfmadd213ps   %ymm10,%ymm2,%ymm11
+  .byte  196,66,101,168,194                  // vfmadd213ps   %ymm10,%ymm3,%ymm8
+  .byte  196,66,117,184,193                  // vfmadd231ps   %ymm9,%ymm1,%ymm8
+  .byte  196,66,125,184,217                  // vfmadd231ps   %ymm9,%ymm0,%ymm11
+  .byte  196,98,125,24,72,12                 // vbroadcastss  0xc(%rax),%ymm9
+  .byte  196,98,125,24,80,16                 // vbroadcastss  0x10(%rax),%ymm10
+  .byte  196,98,125,24,96,20                 // vbroadcastss  0x14(%rax),%ymm12
+  .byte  196,65,124,40,234                   // vmovaps       %ymm10,%ymm13
+  .byte  196,66,109,168,236                  // vfmadd213ps   %ymm12,%ymm2,%ymm13
+  .byte  196,66,101,168,212                  // vfmadd213ps   %ymm12,%ymm3,%ymm10
+  .byte  196,66,117,184,209                  // vfmadd231ps   %ymm9,%ymm1,%ymm10
+  .byte  196,66,125,184,233                  // vfmadd231ps   %ymm9,%ymm0,%ymm13
+  .byte  196,98,125,24,72,24                 // vbroadcastss  0x18(%rax),%ymm9
+  .byte  196,98,125,24,96,28                 // vbroadcastss  0x1c(%rax),%ymm12
+  .byte  196,98,125,24,112,32                // vbroadcastss  0x20(%rax),%ymm14
+  .byte  196,194,29,168,214                  // vfmadd213ps   %ymm14,%ymm12,%ymm2
+  .byte  196,66,101,168,230                  // vfmadd213ps   %ymm14,%ymm3,%ymm12
+  .byte  196,194,53,168,204                  // vfmadd213ps   %ymm12,%ymm9,%ymm1
+  .byte  196,194,125,184,209                 // vfmadd231ps   %ymm9,%ymm0,%ymm2
+  .byte  197,252,83,210                      // vrcpps        %ymm2,%ymm2
+  .byte  197,252,83,217                      // vrcpps        %ymm1,%ymm3
+  .byte  197,164,89,194                      // vmulps        %ymm2,%ymm11,%ymm0
+  .byte  197,188,89,203                      // vmulps        %ymm3,%ymm8,%ymm1
+  .byte  197,148,89,210                      // vmulps        %ymm2,%ymm13,%ymm2
+  .byte  197,172,89,219                      // vmulps        %ymm3,%ymm10,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_uniform_color_hsw_lowp
+.globl _sk_uniform_color_hsw_lowp
+FUNCTION(_sk_uniform_color_hsw_lowp)
+_sk_uniform_color_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,121,64,16               // vpbroadcastw  0x10(%rax),%ymm0
+  .byte  196,226,125,121,72,18               // vpbroadcastw  0x12(%rax),%ymm1
+  .byte  196,226,125,121,80,20               // vpbroadcastw  0x14(%rax),%ymm2
+  .byte  196,226,125,121,88,22               // vpbroadcastw  0x16(%rax),%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_black_color_hsw_lowp
+.globl _sk_black_color_hsw_lowp
+FUNCTION(_sk_black_color_hsw_lowp)
+_sk_black_color_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,121,29,16,230,0,0       // vpbroadcastw  0xe610(%rip),%ymm3        # 3cc40 <_sk_srcover_bgra_8888_sse2_lowp+0x9f4>
+  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_white_color_hsw_lowp
+.globl _sk_white_color_hsw_lowp
+FUNCTION(_sk_white_color_hsw_lowp)
+_sk_white_color_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,121,5,249,229,0,0       // vpbroadcastw  0xe5f9(%rip),%ymm0        # 3cc42 <_sk_srcover_bgra_8888_sse2_lowp+0x9f6>
+  .byte  197,253,111,200                     // vmovdqa       %ymm0,%ymm1
+  .byte  197,253,111,208                     // vmovdqa       %ymm0,%ymm2
+  .byte  197,253,111,216                     // vmovdqa       %ymm0,%ymm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_set_rgb_hsw_lowp
+.globl _sk_set_rgb_hsw_lowp
+FUNCTION(_sk_set_rgb_hsw_lowp)
+_sk_set_rgb_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,122,16,5,151,222,0,0            // vmovss        0xde97(%rip),%xmm8        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  197,250,16,21,191,222,0,0           // vmovss        0xdebf(%rip),%xmm2        # 3c528 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  .byte  197,250,16,0                        // vmovss        (%rax),%xmm0
+  .byte  196,226,57,153,194                  // vfmadd132ss   %xmm2,%xmm8,%xmm0
+  .byte  197,122,44,192                      // vcvttss2si    %xmm0,%r8d
+  .byte  196,193,121,110,192                 // vmovd         %r8d,%xmm0
+  .byte  196,226,125,121,192                 // vpbroadcastw  %xmm0,%ymm0
+  .byte  197,250,16,72,4                     // vmovss        0x4(%rax),%xmm1
+  .byte  196,226,57,153,202                  // vfmadd132ss   %xmm2,%xmm8,%xmm1
+  .byte  197,122,44,193                      // vcvttss2si    %xmm1,%r8d
+  .byte  196,193,121,110,200                 // vmovd         %r8d,%xmm1
+  .byte  196,226,125,121,201                 // vpbroadcastw  %xmm1,%ymm1
+  .byte  196,226,57,153,80,8                 // vfmadd132ss   0x8(%rax),%xmm8,%xmm2
+  .byte  197,250,44,194                      // vcvttss2si    %xmm2,%eax
+  .byte  197,249,110,208                     // vmovd         %eax,%xmm2
+  .byte  196,226,125,121,210                 // vpbroadcastw  %xmm2,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_clamp_a_hsw_lowp
+.globl _sk_clamp_a_hsw_lowp
+FUNCTION(_sk_clamp_a_hsw_lowp)
+_sk_clamp_a_hsw_lowp:
+  .byte  196,226,125,58,195                  // vpminuw       %ymm3,%ymm0,%ymm0
+  .byte  196,226,117,58,203                  // vpminuw       %ymm3,%ymm1,%ymm1
+  .byte  196,226,109,58,211                  // vpminuw       %ymm3,%ymm2,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_clamp_a_dst_hsw_lowp
+.globl _sk_clamp_a_dst_hsw_lowp
+FUNCTION(_sk_clamp_a_dst_hsw_lowp)
+_sk_clamp_a_dst_hsw_lowp:
+  .byte  196,226,93,58,231                   // vpminuw       %ymm7,%ymm4,%ymm4
+  .byte  196,226,85,58,239                   // vpminuw       %ymm7,%ymm5,%ymm5
+  .byte  196,226,77,58,247                   // vpminuw       %ymm7,%ymm6,%ymm6
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_premul_hsw_lowp
+.globl _sk_premul_hsw_lowp
+FUNCTION(_sk_premul_hsw_lowp)
+_sk_premul_hsw_lowp:
+  .byte  197,229,213,192                     // vpmullw       %ymm0,%ymm3,%ymm0
+  .byte  196,98,125,121,5,98,229,0,0         // vpbroadcastw  0xe562(%rip),%ymm8        # 3cc44 <_sk_srcover_bgra_8888_sse2_lowp+0x9f8>
+  .byte  196,193,125,253,192                 // vpaddw        %ymm8,%ymm0,%ymm0
+  .byte  197,253,113,208,8                   // vpsrlw        $0x8,%ymm0,%ymm0
+  .byte  197,229,213,201                     // vpmullw       %ymm1,%ymm3,%ymm1
+  .byte  196,193,117,253,200                 // vpaddw        %ymm8,%ymm1,%ymm1
+  .byte  197,245,113,209,8                   // vpsrlw        $0x8,%ymm1,%ymm1
+  .byte  197,229,213,210                     // vpmullw       %ymm2,%ymm3,%ymm2
+  .byte  196,193,109,253,208                 // vpaddw        %ymm8,%ymm2,%ymm2
+  .byte  197,237,113,210,8                   // vpsrlw        $0x8,%ymm2,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_premul_dst_hsw_lowp
+.globl _sk_premul_dst_hsw_lowp
+FUNCTION(_sk_premul_dst_hsw_lowp)
+_sk_premul_dst_hsw_lowp:
+  .byte  197,197,213,228                     // vpmullw       %ymm4,%ymm7,%ymm4
+  .byte  196,98,125,121,5,45,229,0,0         // vpbroadcastw  0xe52d(%rip),%ymm8        # 3cc46 <_sk_srcover_bgra_8888_sse2_lowp+0x9fa>
+  .byte  196,193,93,253,224                  // vpaddw        %ymm8,%ymm4,%ymm4
+  .byte  197,221,113,212,8                   // vpsrlw        $0x8,%ymm4,%ymm4
+  .byte  197,197,213,237                     // vpmullw       %ymm5,%ymm7,%ymm5
+  .byte  196,193,85,253,232                  // vpaddw        %ymm8,%ymm5,%ymm5
+  .byte  197,213,113,213,8                   // vpsrlw        $0x8,%ymm5,%ymm5
+  .byte  197,197,213,246                     // vpmullw       %ymm6,%ymm7,%ymm6
+  .byte  196,193,77,253,240                  // vpaddw        %ymm8,%ymm6,%ymm6
+  .byte  197,205,113,214,8                   // vpsrlw        $0x8,%ymm6,%ymm6
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_force_opaque_hsw_lowp
+.globl _sk_force_opaque_hsw_lowp
+FUNCTION(_sk_force_opaque_hsw_lowp)
+_sk_force_opaque_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,121,29,250,228,0,0      // vpbroadcastw  0xe4fa(%rip),%ymm3        # 3cc48 <_sk_srcover_bgra_8888_sse2_lowp+0x9fc>
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_force_opaque_dst_hsw_lowp
+.globl _sk_force_opaque_dst_hsw_lowp
+FUNCTION(_sk_force_opaque_dst_hsw_lowp)
+_sk_force_opaque_dst_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,121,61,239,228,0,0      // vpbroadcastw  0xe4ef(%rip),%ymm7        # 3cc4a <_sk_srcover_bgra_8888_sse2_lowp+0x9fe>
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_swap_rb_hsw_lowp
+.globl _sk_swap_rb_hsw_lowp
+FUNCTION(_sk_swap_rb_hsw_lowp)
+_sk_swap_rb_hsw_lowp:
+  .byte  197,124,40,192                      // vmovaps       %ymm0,%ymm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,40,194                      // vmovaps       %ymm2,%ymm0
+  .byte  197,124,41,194                      // vmovaps       %ymm8,%ymm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_move_src_dst_hsw_lowp
+.globl _sk_move_src_dst_hsw_lowp
+FUNCTION(_sk_move_src_dst_hsw_lowp)
+_sk_move_src_dst_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,40,224                      // vmovaps       %ymm0,%ymm4
+  .byte  197,252,40,233                      // vmovaps       %ymm1,%ymm5
+  .byte  197,252,40,242                      // vmovaps       %ymm2,%ymm6
+  .byte  197,252,40,251                      // vmovaps       %ymm3,%ymm7
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_move_dst_src_hsw_lowp
+.globl _sk_move_dst_src_hsw_lowp
+FUNCTION(_sk_move_dst_src_hsw_lowp)
+_sk_move_dst_src_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,40,196                      // vmovaps       %ymm4,%ymm0
+  .byte  197,252,40,205                      // vmovaps       %ymm5,%ymm1
+  .byte  197,252,40,214                      // vmovaps       %ymm6,%ymm2
+  .byte  197,252,40,223                      // vmovaps       %ymm7,%ymm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_invert_hsw_lowp
+.globl _sk_invert_hsw_lowp
+FUNCTION(_sk_invert_hsw_lowp)
+_sk_invert_hsw_lowp:
+  .byte  196,98,125,121,5,174,228,0,0        // vpbroadcastw  0xe4ae(%rip),%ymm8        # 3cc4c <_sk_srcover_bgra_8888_sse2_lowp+0xa00>
+  .byte  197,189,249,192                     // vpsubw        %ymm0,%ymm8,%ymm0
+  .byte  197,189,249,201                     // vpsubw        %ymm1,%ymm8,%ymm1
+  .byte  197,189,249,210                     // vpsubw        %ymm2,%ymm8,%ymm2
+  .byte  197,189,249,219                     // vpsubw        %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_clear_hsw_lowp
+.globl _sk_clear_hsw_lowp
+FUNCTION(_sk_clear_hsw_lowp)
+_sk_clear_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
+  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_srcatop_hsw_lowp
+.globl _sk_srcatop_hsw_lowp
+FUNCTION(_sk_srcatop_hsw_lowp)
+_sk_srcatop_hsw_lowp:
+  .byte  197,197,213,192                     // vpmullw       %ymm0,%ymm7,%ymm0
+  .byte  196,98,125,121,5,123,228,0,0        // vpbroadcastw  0xe47b(%rip),%ymm8        # 3cc4e <_sk_srcover_bgra_8888_sse2_lowp+0xa02>
+  .byte  197,189,249,219                     // vpsubw        %ymm3,%ymm8,%ymm3
+  .byte  197,101,213,204                     // vpmullw       %ymm4,%ymm3,%ymm9
+  .byte  196,193,125,253,192                 // vpaddw        %ymm8,%ymm0,%ymm0
+  .byte  197,181,253,192                     // vpaddw        %ymm0,%ymm9,%ymm0
+  .byte  197,253,113,208,8                   // vpsrlw        $0x8,%ymm0,%ymm0
+  .byte  197,197,213,201                     // vpmullw       %ymm1,%ymm7,%ymm1
+  .byte  197,101,213,205                     // vpmullw       %ymm5,%ymm3,%ymm9
+  .byte  196,193,117,253,200                 // vpaddw        %ymm8,%ymm1,%ymm1
+  .byte  197,181,253,201                     // vpaddw        %ymm1,%ymm9,%ymm1
+  .byte  197,245,113,209,8                   // vpsrlw        $0x8,%ymm1,%ymm1
+  .byte  197,197,213,210                     // vpmullw       %ymm2,%ymm7,%ymm2
+  .byte  197,229,213,222                     // vpmullw       %ymm6,%ymm3,%ymm3
+  .byte  196,193,109,253,208                 // vpaddw        %ymm8,%ymm2,%ymm2
+  .byte  197,229,253,210                     // vpaddw        %ymm2,%ymm3,%ymm2
+  .byte  197,237,113,210,8                   // vpsrlw        $0x8,%ymm2,%ymm2
+  .byte  196,193,69,213,216                  // vpmullw       %ymm8,%ymm7,%ymm3
+  .byte  196,193,101,253,216                 // vpaddw        %ymm8,%ymm3,%ymm3
+  .byte  197,229,113,211,8                   // vpsrlw        $0x8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_dstatop_hsw_lowp
+.globl _sk_dstatop_hsw_lowp
+FUNCTION(_sk_dstatop_hsw_lowp)
+_sk_dstatop_hsw_lowp:
+  .byte  197,93,213,195                      // vpmullw       %ymm3,%ymm4,%ymm8
+  .byte  196,98,125,121,13,27,228,0,0        // vpbroadcastw  0xe41b(%rip),%ymm9        # 3cc50 <_sk_srcover_bgra_8888_sse2_lowp+0xa04>
+  .byte  197,53,249,215                      // vpsubw        %ymm7,%ymm9,%ymm10
+  .byte  197,173,213,192                     // vpmullw       %ymm0,%ymm10,%ymm0
+  .byte  196,65,61,253,193                   // vpaddw        %ymm9,%ymm8,%ymm8
+  .byte  196,193,125,253,192                 // vpaddw        %ymm8,%ymm0,%ymm0
+  .byte  197,253,113,208,8                   // vpsrlw        $0x8,%ymm0,%ymm0
+  .byte  197,85,213,195                      // vpmullw       %ymm3,%ymm5,%ymm8
+  .byte  197,173,213,201                     // vpmullw       %ymm1,%ymm10,%ymm1
+  .byte  196,65,61,253,193                   // vpaddw        %ymm9,%ymm8,%ymm8
+  .byte  196,193,117,253,200                 // vpaddw        %ymm8,%ymm1,%ymm1
+  .byte  197,245,113,209,8                   // vpsrlw        $0x8,%ymm1,%ymm1
+  .byte  197,77,213,195                      // vpmullw       %ymm3,%ymm6,%ymm8
+  .byte  197,173,213,210                     // vpmullw       %ymm2,%ymm10,%ymm2
+  .byte  196,65,61,253,193                   // vpaddw        %ymm9,%ymm8,%ymm8
+  .byte  196,193,109,253,208                 // vpaddw        %ymm8,%ymm2,%ymm2
+  .byte  197,237,113,210,8                   // vpsrlw        $0x8,%ymm2,%ymm2
+  .byte  196,193,101,213,217                 // vpmullw       %ymm9,%ymm3,%ymm3
+  .byte  196,193,101,253,217                 // vpaddw        %ymm9,%ymm3,%ymm3
+  .byte  197,229,113,211,8                   // vpsrlw        $0x8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_srcin_hsw_lowp
+.globl _sk_srcin_hsw_lowp
+FUNCTION(_sk_srcin_hsw_lowp)
+_sk_srcin_hsw_lowp:
+  .byte  197,197,213,192                     // vpmullw       %ymm0,%ymm7,%ymm0
+  .byte  196,98,125,121,5,184,227,0,0        // vpbroadcastw  0xe3b8(%rip),%ymm8        # 3cc52 <_sk_srcover_bgra_8888_sse2_lowp+0xa06>
+  .byte  196,193,125,253,192                 // vpaddw        %ymm8,%ymm0,%ymm0
+  .byte  197,253,113,208,8                   // vpsrlw        $0x8,%ymm0,%ymm0
+  .byte  197,197,213,201                     // vpmullw       %ymm1,%ymm7,%ymm1
+  .byte  196,193,117,253,200                 // vpaddw        %ymm8,%ymm1,%ymm1
+  .byte  197,245,113,209,8                   // vpsrlw        $0x8,%ymm1,%ymm1
+  .byte  197,197,213,210                     // vpmullw       %ymm2,%ymm7,%ymm2
+  .byte  196,193,109,253,208                 // vpaddw        %ymm8,%ymm2,%ymm2
+  .byte  197,237,113,210,8                   // vpsrlw        $0x8,%ymm2,%ymm2
+  .byte  197,197,213,219                     // vpmullw       %ymm3,%ymm7,%ymm3
+  .byte  196,193,101,253,216                 // vpaddw        %ymm8,%ymm3,%ymm3
+  .byte  197,229,113,211,8                   // vpsrlw        $0x8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_dstin_hsw_lowp
+.globl _sk_dstin_hsw_lowp
+FUNCTION(_sk_dstin_hsw_lowp)
+_sk_dstin_hsw_lowp:
+  .byte  197,221,213,195                     // vpmullw       %ymm3,%ymm4,%ymm0
+  .byte  196,98,125,121,5,117,227,0,0        // vpbroadcastw  0xe375(%rip),%ymm8        # 3cc54 <_sk_srcover_bgra_8888_sse2_lowp+0xa08>
+  .byte  196,193,125,253,192                 // vpaddw        %ymm8,%ymm0,%ymm0
+  .byte  197,253,113,208,8                   // vpsrlw        $0x8,%ymm0,%ymm0
+  .byte  197,213,213,203                     // vpmullw       %ymm3,%ymm5,%ymm1
+  .byte  196,193,117,253,200                 // vpaddw        %ymm8,%ymm1,%ymm1
+  .byte  197,245,113,209,8                   // vpsrlw        $0x8,%ymm1,%ymm1
+  .byte  197,205,213,211                     // vpmullw       %ymm3,%ymm6,%ymm2
+  .byte  196,193,109,253,208                 // vpaddw        %ymm8,%ymm2,%ymm2
+  .byte  197,237,113,210,8                   // vpsrlw        $0x8,%ymm2,%ymm2
+  .byte  197,197,213,219                     // vpmullw       %ymm3,%ymm7,%ymm3
+  .byte  196,193,101,253,216                 // vpaddw        %ymm8,%ymm3,%ymm3
+  .byte  197,229,113,211,8                   // vpsrlw        $0x8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_srcout_hsw_lowp
+.globl _sk_srcout_hsw_lowp
+FUNCTION(_sk_srcout_hsw_lowp)
+_sk_srcout_hsw_lowp:
+  .byte  196,98,125,121,5,54,227,0,0         // vpbroadcastw  0xe336(%rip),%ymm8        # 3cc56 <_sk_srcover_bgra_8888_sse2_lowp+0xa0a>
+  .byte  197,61,249,207                      // vpsubw        %ymm7,%ymm8,%ymm9
+  .byte  197,181,213,192                     // vpmullw       %ymm0,%ymm9,%ymm0
+  .byte  196,193,125,253,192                 // vpaddw        %ymm8,%ymm0,%ymm0
+  .byte  197,253,113,208,8                   // vpsrlw        $0x8,%ymm0,%ymm0
+  .byte  197,181,213,201                     // vpmullw       %ymm1,%ymm9,%ymm1
+  .byte  196,193,117,253,200                 // vpaddw        %ymm8,%ymm1,%ymm1
+  .byte  197,245,113,209,8                   // vpsrlw        $0x8,%ymm1,%ymm1
+  .byte  197,181,213,210                     // vpmullw       %ymm2,%ymm9,%ymm2
+  .byte  196,193,109,253,208                 // vpaddw        %ymm8,%ymm2,%ymm2
+  .byte  197,237,113,210,8                   // vpsrlw        $0x8,%ymm2,%ymm2
+  .byte  197,181,213,219                     // vpmullw       %ymm3,%ymm9,%ymm3
+  .byte  196,193,101,253,216                 // vpaddw        %ymm8,%ymm3,%ymm3
+  .byte  197,229,113,211,8                   // vpsrlw        $0x8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_dstout_hsw_lowp
+.globl _sk_dstout_hsw_lowp
+FUNCTION(_sk_dstout_hsw_lowp)
+_sk_dstout_hsw_lowp:
+  .byte  196,98,125,121,5,239,226,0,0        // vpbroadcastw  0xe2ef(%rip),%ymm8        # 3cc58 <_sk_srcover_bgra_8888_sse2_lowp+0xa0c>
+  .byte  197,189,249,219                     // vpsubw        %ymm3,%ymm8,%ymm3
+  .byte  197,229,213,196                     // vpmullw       %ymm4,%ymm3,%ymm0
+  .byte  196,193,125,253,192                 // vpaddw        %ymm8,%ymm0,%ymm0
+  .byte  197,253,113,208,8                   // vpsrlw        $0x8,%ymm0,%ymm0
+  .byte  197,229,213,205                     // vpmullw       %ymm5,%ymm3,%ymm1
+  .byte  196,193,117,253,200                 // vpaddw        %ymm8,%ymm1,%ymm1
+  .byte  197,245,113,209,8                   // vpsrlw        $0x8,%ymm1,%ymm1
+  .byte  197,229,213,214                     // vpmullw       %ymm6,%ymm3,%ymm2
+  .byte  196,193,109,253,208                 // vpaddw        %ymm8,%ymm2,%ymm2
+  .byte  197,237,113,210,8                   // vpsrlw        $0x8,%ymm2,%ymm2
+  .byte  197,229,213,223                     // vpmullw       %ymm7,%ymm3,%ymm3
+  .byte  196,193,101,253,216                 // vpaddw        %ymm8,%ymm3,%ymm3
+  .byte  197,229,113,211,8                   // vpsrlw        $0x8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_srcover_hsw_lowp
+.globl _sk_srcover_hsw_lowp
+FUNCTION(_sk_srcover_hsw_lowp)
+_sk_srcover_hsw_lowp:
+  .byte  196,98,125,121,5,168,226,0,0        // vpbroadcastw  0xe2a8(%rip),%ymm8        # 3cc5a <_sk_srcover_bgra_8888_sse2_lowp+0xa0e>
+  .byte  197,61,249,203                      // vpsubw        %ymm3,%ymm8,%ymm9
+  .byte  197,53,213,212                      // vpmullw       %ymm4,%ymm9,%ymm10
+  .byte  196,65,45,253,208                   // vpaddw        %ymm8,%ymm10,%ymm10
+  .byte  196,193,45,113,210,8                // vpsrlw        $0x8,%ymm10,%ymm10
+  .byte  197,173,253,192                     // vpaddw        %ymm0,%ymm10,%ymm0
+  .byte  197,53,213,213                      // vpmullw       %ymm5,%ymm9,%ymm10
+  .byte  196,65,45,253,208                   // vpaddw        %ymm8,%ymm10,%ymm10
+  .byte  196,193,45,113,210,8                // vpsrlw        $0x8,%ymm10,%ymm10
+  .byte  197,173,253,201                     // vpaddw        %ymm1,%ymm10,%ymm1
+  .byte  197,53,213,214                      // vpmullw       %ymm6,%ymm9,%ymm10
+  .byte  196,65,45,253,208                   // vpaddw        %ymm8,%ymm10,%ymm10
+  .byte  196,193,45,113,210,8                // vpsrlw        $0x8,%ymm10,%ymm10
+  .byte  197,173,253,210                     // vpaddw        %ymm2,%ymm10,%ymm2
+  .byte  197,53,213,207                      // vpmullw       %ymm7,%ymm9,%ymm9
+  .byte  196,65,53,253,192                   // vpaddw        %ymm8,%ymm9,%ymm8
+  .byte  196,193,61,113,208,8                // vpsrlw        $0x8,%ymm8,%ymm8
+  .byte  197,189,253,219                     // vpaddw        %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_dstover_hsw_lowp
+.globl _sk_dstover_hsw_lowp
+FUNCTION(_sk_dstover_hsw_lowp)
+_sk_dstover_hsw_lowp:
+  .byte  196,98,125,121,5,77,226,0,0         // vpbroadcastw  0xe24d(%rip),%ymm8        # 3cc5c <_sk_srcover_bgra_8888_sse2_lowp+0xa10>
+  .byte  197,61,249,207                      // vpsubw        %ymm7,%ymm8,%ymm9
+  .byte  197,181,213,192                     // vpmullw       %ymm0,%ymm9,%ymm0
+  .byte  196,193,125,253,192                 // vpaddw        %ymm8,%ymm0,%ymm0
+  .byte  197,253,113,208,8                   // vpsrlw        $0x8,%ymm0,%ymm0
+  .byte  197,253,253,196                     // vpaddw        %ymm4,%ymm0,%ymm0
+  .byte  197,181,213,201                     // vpmullw       %ymm1,%ymm9,%ymm1
+  .byte  196,193,117,253,200                 // vpaddw        %ymm8,%ymm1,%ymm1
+  .byte  197,245,113,209,8                   // vpsrlw        $0x8,%ymm1,%ymm1
+  .byte  197,245,253,205                     // vpaddw        %ymm5,%ymm1,%ymm1
+  .byte  197,181,213,210                     // vpmullw       %ymm2,%ymm9,%ymm2
+  .byte  196,193,109,253,208                 // vpaddw        %ymm8,%ymm2,%ymm2
+  .byte  197,237,113,210,8                   // vpsrlw        $0x8,%ymm2,%ymm2
+  .byte  197,237,253,214                     // vpaddw        %ymm6,%ymm2,%ymm2
+  .byte  197,181,213,219                     // vpmullw       %ymm3,%ymm9,%ymm3
+  .byte  196,193,101,253,216                 // vpaddw        %ymm8,%ymm3,%ymm3
+  .byte  197,229,113,211,8                   // vpsrlw        $0x8,%ymm3,%ymm3
+  .byte  197,229,253,223                     // vpaddw        %ymm7,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_modulate_hsw_lowp
+.globl _sk_modulate_hsw_lowp
+FUNCTION(_sk_modulate_hsw_lowp)
+_sk_modulate_hsw_lowp:
+  .byte  197,221,213,192                     // vpmullw       %ymm0,%ymm4,%ymm0
+  .byte  196,98,125,121,5,242,225,0,0        // vpbroadcastw  0xe1f2(%rip),%ymm8        # 3cc5e <_sk_srcover_bgra_8888_sse2_lowp+0xa12>
+  .byte  196,193,125,253,192                 // vpaddw        %ymm8,%ymm0,%ymm0
+  .byte  197,253,113,208,8                   // vpsrlw        $0x8,%ymm0,%ymm0
+  .byte  197,213,213,201                     // vpmullw       %ymm1,%ymm5,%ymm1
+  .byte  196,193,117,253,200                 // vpaddw        %ymm8,%ymm1,%ymm1
+  .byte  197,245,113,209,8                   // vpsrlw        $0x8,%ymm1,%ymm1
+  .byte  197,205,213,210                     // vpmullw       %ymm2,%ymm6,%ymm2
+  .byte  196,193,109,253,208                 // vpaddw        %ymm8,%ymm2,%ymm2
+  .byte  197,237,113,210,8                   // vpsrlw        $0x8,%ymm2,%ymm2
+  .byte  197,197,213,219                     // vpmullw       %ymm3,%ymm7,%ymm3
+  .byte  196,193,101,253,216                 // vpaddw        %ymm8,%ymm3,%ymm3
+  .byte  197,229,113,211,8                   // vpsrlw        $0x8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_multiply_hsw_lowp
+.globl _sk_multiply_hsw_lowp
+FUNCTION(_sk_multiply_hsw_lowp)
+_sk_multiply_hsw_lowp:
+  .byte  196,98,125,121,5,179,225,0,0        // vpbroadcastw  0xe1b3(%rip),%ymm8        # 3cc60 <_sk_srcover_bgra_8888_sse2_lowp+0xa14>
+  .byte  197,61,249,203                      // vpsubw        %ymm3,%ymm8,%ymm9
+  .byte  197,53,213,212                      // vpmullw       %ymm4,%ymm9,%ymm10
+  .byte  196,65,93,253,216                   // vpaddw        %ymm8,%ymm4,%ymm11
+  .byte  197,37,249,223                      // vpsubw        %ymm7,%ymm11,%ymm11
+  .byte  197,165,213,192                     // vpmullw       %ymm0,%ymm11,%ymm0
+  .byte  196,65,45,253,208                   // vpaddw        %ymm8,%ymm10,%ymm10
+  .byte  196,193,125,253,194                 // vpaddw        %ymm10,%ymm0,%ymm0
+  .byte  197,253,113,208,8                   // vpsrlw        $0x8,%ymm0,%ymm0
+  .byte  197,53,213,213                      // vpmullw       %ymm5,%ymm9,%ymm10
+  .byte  196,65,85,253,216                   // vpaddw        %ymm8,%ymm5,%ymm11
+  .byte  197,37,249,223                      // vpsubw        %ymm7,%ymm11,%ymm11
+  .byte  197,165,213,201                     // vpmullw       %ymm1,%ymm11,%ymm1
+  .byte  196,65,45,253,208                   // vpaddw        %ymm8,%ymm10,%ymm10
+  .byte  196,193,117,253,202                 // vpaddw        %ymm10,%ymm1,%ymm1
+  .byte  197,245,113,209,8                   // vpsrlw        $0x8,%ymm1,%ymm1
+  .byte  197,53,213,214                      // vpmullw       %ymm6,%ymm9,%ymm10
+  .byte  196,65,77,253,216                   // vpaddw        %ymm8,%ymm6,%ymm11
+  .byte  197,37,249,223                      // vpsubw        %ymm7,%ymm11,%ymm11
+  .byte  197,165,213,210                     // vpmullw       %ymm2,%ymm11,%ymm2
+  .byte  196,65,45,253,208                   // vpaddw        %ymm8,%ymm10,%ymm10
+  .byte  196,193,109,253,210                 // vpaddw        %ymm10,%ymm2,%ymm2
+  .byte  197,237,113,210,8                   // vpsrlw        $0x8,%ymm2,%ymm2
+  .byte  197,53,213,207                      // vpmullw       %ymm7,%ymm9,%ymm9
+  .byte  196,193,101,213,216                 // vpmullw       %ymm8,%ymm3,%ymm3
+  .byte  196,193,101,253,216                 // vpaddw        %ymm8,%ymm3,%ymm3
+  .byte  197,181,253,219                     // vpaddw        %ymm3,%ymm9,%ymm3
+  .byte  197,229,113,211,8                   // vpsrlw        $0x8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_plus__hsw_lowp
+.globl _sk_plus__hsw_lowp
+FUNCTION(_sk_plus__hsw_lowp)
+_sk_plus__hsw_lowp:
+  .byte  197,221,253,192                     // vpaddw        %ymm0,%ymm4,%ymm0
+  .byte  196,98,125,121,5,41,225,0,0         // vpbroadcastw  0xe129(%rip),%ymm8        # 3cc62 <_sk_srcover_bgra_8888_sse2_lowp+0xa16>
+  .byte  196,194,125,58,192                  // vpminuw       %ymm8,%ymm0,%ymm0
+  .byte  197,213,253,201                     // vpaddw        %ymm1,%ymm5,%ymm1
+  .byte  196,194,117,58,200                  // vpminuw       %ymm8,%ymm1,%ymm1
+  .byte  197,205,253,210                     // vpaddw        %ymm2,%ymm6,%ymm2
+  .byte  196,194,109,58,208                  // vpminuw       %ymm8,%ymm2,%ymm2
+  .byte  197,197,253,219                     // vpaddw        %ymm3,%ymm7,%ymm3
+  .byte  196,194,101,58,216                  // vpminuw       %ymm8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_screen_hsw_lowp
+.globl _sk_screen_hsw_lowp
+FUNCTION(_sk_screen_hsw_lowp)
+_sk_screen_hsw_lowp:
+  .byte  197,93,253,192                      // vpaddw        %ymm0,%ymm4,%ymm8
+  .byte  197,221,213,192                     // vpmullw       %ymm0,%ymm4,%ymm0
+  .byte  196,98,125,121,13,246,224,0,0       // vpbroadcastw  0xe0f6(%rip),%ymm9        # 3cc64 <_sk_srcover_bgra_8888_sse2_lowp+0xa18>
+  .byte  196,193,125,253,193                 // vpaddw        %ymm9,%ymm0,%ymm0
+  .byte  197,253,113,208,8                   // vpsrlw        $0x8,%ymm0,%ymm0
+  .byte  197,189,249,192                     // vpsubw        %ymm0,%ymm8,%ymm0
+  .byte  197,85,253,193                      // vpaddw        %ymm1,%ymm5,%ymm8
+  .byte  197,213,213,201                     // vpmullw       %ymm1,%ymm5,%ymm1
+  .byte  196,193,117,253,201                 // vpaddw        %ymm9,%ymm1,%ymm1
+  .byte  197,245,113,209,8                   // vpsrlw        $0x8,%ymm1,%ymm1
+  .byte  197,189,249,201                     // vpsubw        %ymm1,%ymm8,%ymm1
+  .byte  197,77,253,194                      // vpaddw        %ymm2,%ymm6,%ymm8
+  .byte  197,205,213,210                     // vpmullw       %ymm2,%ymm6,%ymm2
+  .byte  196,193,109,253,209                 // vpaddw        %ymm9,%ymm2,%ymm2
+  .byte  197,237,113,210,8                   // vpsrlw        $0x8,%ymm2,%ymm2
+  .byte  197,189,249,210                     // vpsubw        %ymm2,%ymm8,%ymm2
+  .byte  197,69,253,195                      // vpaddw        %ymm3,%ymm7,%ymm8
+  .byte  197,197,213,219                     // vpmullw       %ymm3,%ymm7,%ymm3
+  .byte  196,193,101,253,217                 // vpaddw        %ymm9,%ymm3,%ymm3
+  .byte  197,229,113,211,8                   // vpsrlw        $0x8,%ymm3,%ymm3
+  .byte  197,189,249,219                     // vpsubw        %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xor__hsw_lowp
+.globl _sk_xor__hsw_lowp
+FUNCTION(_sk_xor__hsw_lowp)
+_sk_xor__hsw_lowp:
+  .byte  196,98,125,121,5,155,224,0,0        // vpbroadcastw  0xe09b(%rip),%ymm8        # 3cc66 <_sk_srcover_bgra_8888_sse2_lowp+0xa1a>
+  .byte  197,61,249,207                      // vpsubw        %ymm7,%ymm8,%ymm9
+  .byte  197,181,213,192                     // vpmullw       %ymm0,%ymm9,%ymm0
+  .byte  197,61,249,211                      // vpsubw        %ymm3,%ymm8,%ymm10
+  .byte  197,45,213,220                      // vpmullw       %ymm4,%ymm10,%ymm11
+  .byte  197,165,253,192                     // vpaddw        %ymm0,%ymm11,%ymm0
+  .byte  196,193,125,253,192                 // vpaddw        %ymm8,%ymm0,%ymm0
+  .byte  197,253,113,208,8                   // vpsrlw        $0x8,%ymm0,%ymm0
+  .byte  197,181,213,201                     // vpmullw       %ymm1,%ymm9,%ymm1
+  .byte  197,45,213,221                      // vpmullw       %ymm5,%ymm10,%ymm11
+  .byte  197,165,253,201                     // vpaddw        %ymm1,%ymm11,%ymm1
+  .byte  196,193,117,253,200                 // vpaddw        %ymm8,%ymm1,%ymm1
+  .byte  197,245,113,209,8                   // vpsrlw        $0x8,%ymm1,%ymm1
+  .byte  197,181,213,210                     // vpmullw       %ymm2,%ymm9,%ymm2
+  .byte  197,45,213,222                      // vpmullw       %ymm6,%ymm10,%ymm11
+  .byte  197,165,253,210                     // vpaddw        %ymm2,%ymm11,%ymm2
+  .byte  196,193,109,253,208                 // vpaddw        %ymm8,%ymm2,%ymm2
+  .byte  197,237,113,210,8                   // vpsrlw        $0x8,%ymm2,%ymm2
+  .byte  197,181,213,219                     // vpmullw       %ymm3,%ymm9,%ymm3
+  .byte  197,45,213,207                      // vpmullw       %ymm7,%ymm10,%ymm9
+  .byte  197,181,253,219                     // vpaddw        %ymm3,%ymm9,%ymm3
+  .byte  196,193,101,253,216                 // vpaddw        %ymm8,%ymm3,%ymm3
+  .byte  197,229,113,211,8                   // vpsrlw        $0x8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_darken_hsw_lowp
+.globl _sk_darken_hsw_lowp
+FUNCTION(_sk_darken_hsw_lowp)
+_sk_darken_hsw_lowp:
+  .byte  197,93,253,192                      // vpaddw        %ymm0,%ymm4,%ymm8
+  .byte  197,197,213,192                     // vpmullw       %ymm0,%ymm7,%ymm0
+  .byte  197,93,213,203                      // vpmullw       %ymm3,%ymm4,%ymm9
+  .byte  196,194,125,62,193                  // vpmaxuw       %ymm9,%ymm0,%ymm0
+  .byte  196,98,125,121,13,31,224,0,0        // vpbroadcastw  0xe01f(%rip),%ymm9        # 3cc68 <_sk_srcover_bgra_8888_sse2_lowp+0xa1c>
+  .byte  196,193,125,253,193                 // vpaddw        %ymm9,%ymm0,%ymm0
+  .byte  197,253,113,208,8                   // vpsrlw        $0x8,%ymm0,%ymm0
+  .byte  197,189,249,192                     // vpsubw        %ymm0,%ymm8,%ymm0
+  .byte  197,85,253,193                      // vpaddw        %ymm1,%ymm5,%ymm8
+  .byte  197,197,213,201                     // vpmullw       %ymm1,%ymm7,%ymm1
+  .byte  197,85,213,211                      // vpmullw       %ymm3,%ymm5,%ymm10
+  .byte  196,194,117,62,202                  // vpmaxuw       %ymm10,%ymm1,%ymm1
+  .byte  196,193,117,253,201                 // vpaddw        %ymm9,%ymm1,%ymm1
+  .byte  197,245,113,209,8                   // vpsrlw        $0x8,%ymm1,%ymm1
+  .byte  197,189,249,201                     // vpsubw        %ymm1,%ymm8,%ymm1
+  .byte  197,77,253,194                      // vpaddw        %ymm2,%ymm6,%ymm8
+  .byte  197,197,213,210                     // vpmullw       %ymm2,%ymm7,%ymm2
+  .byte  197,77,213,211                      // vpmullw       %ymm3,%ymm6,%ymm10
+  .byte  196,194,109,62,210                  // vpmaxuw       %ymm10,%ymm2,%ymm2
+  .byte  196,193,109,253,209                 // vpaddw        %ymm9,%ymm2,%ymm2
+  .byte  197,237,113,210,8                   // vpsrlw        $0x8,%ymm2,%ymm2
+  .byte  197,189,249,210                     // vpsubw        %ymm2,%ymm8,%ymm2
+  .byte  197,53,249,195                      // vpsubw        %ymm3,%ymm9,%ymm8
+  .byte  197,61,213,199                      // vpmullw       %ymm7,%ymm8,%ymm8
+  .byte  196,65,61,253,193                   // vpaddw        %ymm9,%ymm8,%ymm8
+  .byte  196,193,61,113,208,8                // vpsrlw        $0x8,%ymm8,%ymm8
+  .byte  197,189,253,219                     // vpaddw        %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_lighten_hsw_lowp
+.globl _sk_lighten_hsw_lowp
+FUNCTION(_sk_lighten_hsw_lowp)
+_sk_lighten_hsw_lowp:
+  .byte  197,93,253,192                      // vpaddw        %ymm0,%ymm4,%ymm8
+  .byte  197,197,213,192                     // vpmullw       %ymm0,%ymm7,%ymm0
+  .byte  197,93,213,203                      // vpmullw       %ymm3,%ymm4,%ymm9
+  .byte  196,194,125,58,193                  // vpminuw       %ymm9,%ymm0,%ymm0
+  .byte  196,98,125,121,13,160,223,0,0       // vpbroadcastw  0xdfa0(%rip),%ymm9        # 3cc6a <_sk_srcover_bgra_8888_sse2_lowp+0xa1e>
+  .byte  196,193,125,253,193                 // vpaddw        %ymm9,%ymm0,%ymm0
+  .byte  197,253,113,208,8                   // vpsrlw        $0x8,%ymm0,%ymm0
+  .byte  197,189,249,192                     // vpsubw        %ymm0,%ymm8,%ymm0
+  .byte  197,85,253,193                      // vpaddw        %ymm1,%ymm5,%ymm8
+  .byte  197,197,213,201                     // vpmullw       %ymm1,%ymm7,%ymm1
+  .byte  197,85,213,211                      // vpmullw       %ymm3,%ymm5,%ymm10
+  .byte  196,194,117,58,202                  // vpminuw       %ymm10,%ymm1,%ymm1
+  .byte  196,193,117,253,201                 // vpaddw        %ymm9,%ymm1,%ymm1
+  .byte  197,245,113,209,8                   // vpsrlw        $0x8,%ymm1,%ymm1
+  .byte  197,189,249,201                     // vpsubw        %ymm1,%ymm8,%ymm1
+  .byte  197,77,253,194                      // vpaddw        %ymm2,%ymm6,%ymm8
+  .byte  197,197,213,210                     // vpmullw       %ymm2,%ymm7,%ymm2
+  .byte  197,77,213,211                      // vpmullw       %ymm3,%ymm6,%ymm10
+  .byte  196,194,109,58,210                  // vpminuw       %ymm10,%ymm2,%ymm2
+  .byte  196,193,109,253,209                 // vpaddw        %ymm9,%ymm2,%ymm2
+  .byte  197,237,113,210,8                   // vpsrlw        $0x8,%ymm2,%ymm2
+  .byte  197,189,249,210                     // vpsubw        %ymm2,%ymm8,%ymm2
+  .byte  197,53,249,195                      // vpsubw        %ymm3,%ymm9,%ymm8
+  .byte  197,61,213,199                      // vpmullw       %ymm7,%ymm8,%ymm8
+  .byte  196,65,61,253,193                   // vpaddw        %ymm9,%ymm8,%ymm8
+  .byte  196,193,61,113,208,8                // vpsrlw        $0x8,%ymm8,%ymm8
+  .byte  197,189,253,219                     // vpaddw        %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_difference_hsw_lowp
+.globl _sk_difference_hsw_lowp
+FUNCTION(_sk_difference_hsw_lowp)
+_sk_difference_hsw_lowp:
+  .byte  197,93,253,192                      // vpaddw        %ymm0,%ymm4,%ymm8
+  .byte  197,197,213,192                     // vpmullw       %ymm0,%ymm7,%ymm0
+  .byte  197,93,213,203                      // vpmullw       %ymm3,%ymm4,%ymm9
+  .byte  196,194,125,58,193                  // vpminuw       %ymm9,%ymm0,%ymm0
+  .byte  196,98,125,121,13,33,223,0,0        // vpbroadcastw  0xdf21(%rip),%ymm9        # 3cc6c <_sk_srcover_bgra_8888_sse2_lowp+0xa20>
+  .byte  196,193,125,253,193                 // vpaddw        %ymm9,%ymm0,%ymm0
+  .byte  197,253,113,208,7                   // vpsrlw        $0x7,%ymm0,%ymm0
+  .byte  196,98,125,121,21,16,223,0,0        // vpbroadcastw  0xdf10(%rip),%ymm10        # 3cc6e <_sk_srcover_bgra_8888_sse2_lowp+0xa22>
+  .byte  196,193,125,219,194                 // vpand         %ymm10,%ymm0,%ymm0
+  .byte  197,189,249,192                     // vpsubw        %ymm0,%ymm8,%ymm0
+  .byte  197,85,253,193                      // vpaddw        %ymm1,%ymm5,%ymm8
+  .byte  197,197,213,201                     // vpmullw       %ymm1,%ymm7,%ymm1
+  .byte  197,85,213,219                      // vpmullw       %ymm3,%ymm5,%ymm11
+  .byte  196,194,117,58,203                  // vpminuw       %ymm11,%ymm1,%ymm1
+  .byte  196,193,117,253,201                 // vpaddw        %ymm9,%ymm1,%ymm1
+  .byte  197,245,113,209,7                   // vpsrlw        $0x7,%ymm1,%ymm1
+  .byte  196,193,117,219,202                 // vpand         %ymm10,%ymm1,%ymm1
+  .byte  197,189,249,201                     // vpsubw        %ymm1,%ymm8,%ymm1
+  .byte  197,77,253,194                      // vpaddw        %ymm2,%ymm6,%ymm8
+  .byte  197,197,213,210                     // vpmullw       %ymm2,%ymm7,%ymm2
+  .byte  197,77,213,219                      // vpmullw       %ymm3,%ymm6,%ymm11
+  .byte  196,194,109,58,211                  // vpminuw       %ymm11,%ymm2,%ymm2
+  .byte  196,193,109,253,209                 // vpaddw        %ymm9,%ymm2,%ymm2
+  .byte  197,237,113,210,7                   // vpsrlw        $0x7,%ymm2,%ymm2
+  .byte  196,193,109,219,210                 // vpand         %ymm10,%ymm2,%ymm2
+  .byte  197,189,249,210                     // vpsubw        %ymm2,%ymm8,%ymm2
+  .byte  197,53,249,195                      // vpsubw        %ymm3,%ymm9,%ymm8
+  .byte  197,61,213,199                      // vpmullw       %ymm7,%ymm8,%ymm8
+  .byte  196,65,61,253,193                   // vpaddw        %ymm9,%ymm8,%ymm8
+  .byte  196,193,61,113,208,8                // vpsrlw        $0x8,%ymm8,%ymm8
+  .byte  197,189,253,219                     // vpaddw        %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_exclusion_hsw_lowp
+.globl _sk_exclusion_hsw_lowp
+FUNCTION(_sk_exclusion_hsw_lowp)
+_sk_exclusion_hsw_lowp:
+  .byte  197,93,253,192                      // vpaddw        %ymm0,%ymm4,%ymm8
+  .byte  197,221,213,192                     // vpmullw       %ymm0,%ymm4,%ymm0
+  .byte  196,98,125,121,13,149,222,0,0       // vpbroadcastw  0xde95(%rip),%ymm9        # 3cc70 <_sk_srcover_bgra_8888_sse2_lowp+0xa24>
+  .byte  196,193,125,253,193                 // vpaddw        %ymm9,%ymm0,%ymm0
+  .byte  197,253,113,208,7                   // vpsrlw        $0x7,%ymm0,%ymm0
+  .byte  196,98,125,121,21,132,222,0,0       // vpbroadcastw  0xde84(%rip),%ymm10        # 3cc72 <_sk_srcover_bgra_8888_sse2_lowp+0xa26>
+  .byte  196,193,125,219,194                 // vpand         %ymm10,%ymm0,%ymm0
+  .byte  197,189,249,192                     // vpsubw        %ymm0,%ymm8,%ymm0
+  .byte  197,85,253,193                      // vpaddw        %ymm1,%ymm5,%ymm8
+  .byte  197,213,213,201                     // vpmullw       %ymm1,%ymm5,%ymm1
+  .byte  196,193,117,253,201                 // vpaddw        %ymm9,%ymm1,%ymm1
+  .byte  197,245,113,209,7                   // vpsrlw        $0x7,%ymm1,%ymm1
+  .byte  196,193,117,219,202                 // vpand         %ymm10,%ymm1,%ymm1
+  .byte  197,189,249,201                     // vpsubw        %ymm1,%ymm8,%ymm1
+  .byte  197,77,253,194                      // vpaddw        %ymm2,%ymm6,%ymm8
+  .byte  197,205,213,210                     // vpmullw       %ymm2,%ymm6,%ymm2
+  .byte  196,193,109,253,209                 // vpaddw        %ymm9,%ymm2,%ymm2
+  .byte  197,237,113,210,7                   // vpsrlw        $0x7,%ymm2,%ymm2
+  .byte  196,193,109,219,210                 // vpand         %ymm10,%ymm2,%ymm2
+  .byte  197,189,249,210                     // vpsubw        %ymm2,%ymm8,%ymm2
+  .byte  197,53,249,195                      // vpsubw        %ymm3,%ymm9,%ymm8
+  .byte  197,61,213,199                      // vpmullw       %ymm7,%ymm8,%ymm8
+  .byte  196,65,61,253,193                   // vpaddw        %ymm9,%ymm8,%ymm8
+  .byte  196,193,61,113,208,8                // vpsrlw        $0x8,%ymm8,%ymm8
+  .byte  197,189,253,219                     // vpaddw        %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_hardlight_hsw_lowp
+.globl _sk_hardlight_hsw_lowp
+FUNCTION(_sk_hardlight_hsw_lowp)
+_sk_hardlight_hsw_lowp:
+  .byte  197,125,253,192                     // vpaddw        %ymm0,%ymm0,%ymm8
+  .byte  196,98,125,121,13,33,222,0,0        // vpbroadcastw  0xde21(%rip),%ymm9        # 3cc76 <_sk_srcover_bgra_8888_sse2_lowp+0xa2a>
+  .byte  196,65,101,239,209                  // vpxor         %ymm9,%ymm3,%ymm10
+  .byte  196,65,61,239,217                   // vpxor         %ymm9,%ymm8,%ymm11
+  .byte  196,65,37,101,218                   // vpcmpgtw      %ymm10,%ymm11,%ymm11
+  .byte  197,61,213,228                      // vpmullw       %ymm4,%ymm8,%ymm12
+  .byte  197,69,213,195                      // vpmullw       %ymm3,%ymm7,%ymm8
+  .byte  197,101,249,232                     // vpsubw        %ymm0,%ymm3,%ymm13
+  .byte  197,69,249,244                      // vpsubw        %ymm4,%ymm7,%ymm14
+  .byte  196,65,21,213,238                   // vpmullw       %ymm14,%ymm13,%ymm13
+  .byte  196,65,21,253,237                   // vpaddw        %ymm13,%ymm13,%ymm13
+  .byte  196,65,61,249,237                   // vpsubw        %ymm13,%ymm8,%ymm13
+  .byte  196,67,29,76,221,176                // vpblendvb     %ymm11,%ymm13,%ymm12,%ymm11
+  .byte  197,117,253,225                     // vpaddw        %ymm1,%ymm1,%ymm12
+  .byte  197,101,249,233                     // vpsubw        %ymm1,%ymm3,%ymm13
+  .byte  197,69,249,245                      // vpsubw        %ymm5,%ymm7,%ymm14
+  .byte  196,65,21,213,238                   // vpmullw       %ymm14,%ymm13,%ymm13
+  .byte  196,65,29,239,241                   // vpxor         %ymm9,%ymm12,%ymm14
+  .byte  196,65,13,101,242                   // vpcmpgtw      %ymm10,%ymm14,%ymm14
+  .byte  197,29,213,229                      // vpmullw       %ymm5,%ymm12,%ymm12
+  .byte  196,65,21,253,237                   // vpaddw        %ymm13,%ymm13,%ymm13
+  .byte  196,65,61,249,237                   // vpsubw        %ymm13,%ymm8,%ymm13
+  .byte  196,67,29,76,229,224                // vpblendvb     %ymm14,%ymm13,%ymm12,%ymm12
+  .byte  197,109,253,234                     // vpaddw        %ymm2,%ymm2,%ymm13
+  .byte  196,65,21,239,201                   // vpxor         %ymm9,%ymm13,%ymm9
+  .byte  196,65,53,101,202                   // vpcmpgtw      %ymm10,%ymm9,%ymm9
+  .byte  197,101,249,210                     // vpsubw        %ymm2,%ymm3,%ymm10
+  .byte  197,69,249,246                      // vpsubw        %ymm6,%ymm7,%ymm14
+  .byte  196,65,45,213,214                   // vpmullw       %ymm14,%ymm10,%ymm10
+  .byte  196,98,125,121,53,152,221,0,0       // vpbroadcastw  0xdd98(%rip),%ymm14        # 3cc74 <_sk_srcover_bgra_8888_sse2_lowp+0xa28>
+  .byte  196,65,45,253,210                   // vpaddw        %ymm10,%ymm10,%ymm10
+  .byte  196,65,61,249,194                   // vpsubw        %ymm10,%ymm8,%ymm8
+  .byte  197,13,249,215                      // vpsubw        %ymm7,%ymm14,%ymm10
+  .byte  197,173,213,192                     // vpmullw       %ymm0,%ymm10,%ymm0
+  .byte  197,21,213,238                      // vpmullw       %ymm6,%ymm13,%ymm13
+  .byte  196,67,21,76,192,144                // vpblendvb     %ymm9,%ymm8,%ymm13,%ymm8
+  .byte  197,13,249,203                      // vpsubw        %ymm3,%ymm14,%ymm9
+  .byte  197,53,213,236                      // vpmullw       %ymm4,%ymm9,%ymm13
+  .byte  197,149,253,192                     // vpaddw        %ymm0,%ymm13,%ymm0
+  .byte  196,65,37,253,222                   // vpaddw        %ymm14,%ymm11,%ymm11
+  .byte  196,193,125,253,195                 // vpaddw        %ymm11,%ymm0,%ymm0
+  .byte  197,173,213,201                     // vpmullw       %ymm1,%ymm10,%ymm1
+  .byte  197,53,213,221                      // vpmullw       %ymm5,%ymm9,%ymm11
+  .byte  197,165,253,201                     // vpaddw        %ymm1,%ymm11,%ymm1
+  .byte  196,65,29,253,222                   // vpaddw        %ymm14,%ymm12,%ymm11
+  .byte  196,193,117,253,203                 // vpaddw        %ymm11,%ymm1,%ymm1
+  .byte  197,173,213,210                     // vpmullw       %ymm2,%ymm10,%ymm2
+  .byte  197,53,213,214                      // vpmullw       %ymm6,%ymm9,%ymm10
+  .byte  197,173,253,210                     // vpaddw        %ymm2,%ymm10,%ymm2
+  .byte  196,65,61,253,198                   // vpaddw        %ymm14,%ymm8,%ymm8
+  .byte  196,193,109,253,208                 // vpaddw        %ymm8,%ymm2,%ymm2
+  .byte  197,53,213,199                      // vpmullw       %ymm7,%ymm9,%ymm8
+  .byte  196,65,61,253,198                   // vpaddw        %ymm14,%ymm8,%ymm8
+  .byte  196,193,61,113,208,8                // vpsrlw        $0x8,%ymm8,%ymm8
+  .byte  197,189,253,219                     // vpaddw        %ymm3,%ymm8,%ymm3
+  .byte  197,253,113,208,8                   // vpsrlw        $0x8,%ymm0,%ymm0
+  .byte  197,245,113,209,8                   // vpsrlw        $0x8,%ymm1,%ymm1
+  .byte  197,237,113,210,8                   // vpsrlw        $0x8,%ymm2,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_overlay_hsw_lowp
+.globl _sk_overlay_hsw_lowp
+FUNCTION(_sk_overlay_hsw_lowp)
+_sk_overlay_hsw_lowp:
+  .byte  197,93,253,196                      // vpaddw        %ymm4,%ymm4,%ymm8
+  .byte  196,98,125,121,13,13,221,0,0        // vpbroadcastw  0xdd0d(%rip),%ymm9        # 3cc7a <_sk_srcover_bgra_8888_sse2_lowp+0xa2e>
+  .byte  196,65,69,239,209                   // vpxor         %ymm9,%ymm7,%ymm10
+  .byte  196,65,61,239,193                   // vpxor         %ymm9,%ymm8,%ymm8
+  .byte  196,65,61,101,218                   // vpcmpgtw      %ymm10,%ymm8,%ymm11
+  .byte  197,125,213,196                     // vpmullw       %ymm4,%ymm0,%ymm8
+  .byte  196,65,61,253,224                   // vpaddw        %ymm8,%ymm8,%ymm12
+  .byte  197,69,213,195                      // vpmullw       %ymm3,%ymm7,%ymm8
+  .byte  197,101,249,232                     // vpsubw        %ymm0,%ymm3,%ymm13
+  .byte  197,69,249,244                      // vpsubw        %ymm4,%ymm7,%ymm14
+  .byte  196,65,21,213,238                   // vpmullw       %ymm14,%ymm13,%ymm13
+  .byte  196,65,21,253,237                   // vpaddw        %ymm13,%ymm13,%ymm13
+  .byte  196,65,61,249,237                   // vpsubw        %ymm13,%ymm8,%ymm13
+  .byte  196,67,29,76,221,176                // vpblendvb     %ymm11,%ymm13,%ymm12,%ymm11
+  .byte  197,85,253,229                      // vpaddw        %ymm5,%ymm5,%ymm12
+  .byte  196,65,29,239,225                   // vpxor         %ymm9,%ymm12,%ymm12
+  .byte  196,65,29,101,226                   // vpcmpgtw      %ymm10,%ymm12,%ymm12
+  .byte  197,101,249,233                     // vpsubw        %ymm1,%ymm3,%ymm13
+  .byte  197,69,249,245                      // vpsubw        %ymm5,%ymm7,%ymm14
+  .byte  196,65,21,213,238                   // vpmullw       %ymm14,%ymm13,%ymm13
+  .byte  197,117,213,245                     // vpmullw       %ymm5,%ymm1,%ymm14
+  .byte  196,65,13,253,246                   // vpaddw        %ymm14,%ymm14,%ymm14
+  .byte  196,65,21,253,237                   // vpaddw        %ymm13,%ymm13,%ymm13
+  .byte  196,65,61,249,237                   // vpsubw        %ymm13,%ymm8,%ymm13
+  .byte  196,67,13,76,229,192                // vpblendvb     %ymm12,%ymm13,%ymm14,%ymm12
+  .byte  196,98,125,121,45,149,220,0,0       // vpbroadcastw  0xdc95(%rip),%ymm13        # 3cc78 <_sk_srcover_bgra_8888_sse2_lowp+0xa2c>
+  .byte  197,77,253,246                      // vpaddw        %ymm6,%ymm6,%ymm14
+  .byte  196,65,13,239,201                   // vpxor         %ymm9,%ymm14,%ymm9
+  .byte  196,65,53,101,202                   // vpcmpgtw      %ymm10,%ymm9,%ymm9
+  .byte  197,101,249,210                     // vpsubw        %ymm2,%ymm3,%ymm10
+  .byte  197,69,249,246                      // vpsubw        %ymm6,%ymm7,%ymm14
+  .byte  196,65,45,213,214                   // vpmullw       %ymm14,%ymm10,%ymm10
+  .byte  197,21,249,247                      // vpsubw        %ymm7,%ymm13,%ymm14
+  .byte  197,141,213,192                     // vpmullw       %ymm0,%ymm14,%ymm0
+  .byte  196,65,45,253,210                   // vpaddw        %ymm10,%ymm10,%ymm10
+  .byte  196,65,61,249,194                   // vpsubw        %ymm10,%ymm8,%ymm8
+  .byte  197,109,213,214                     // vpmullw       %ymm6,%ymm2,%ymm10
+  .byte  196,65,45,253,210                   // vpaddw        %ymm10,%ymm10,%ymm10
+  .byte  196,67,45,76,192,144                // vpblendvb     %ymm9,%ymm8,%ymm10,%ymm8
+  .byte  197,21,249,203                      // vpsubw        %ymm3,%ymm13,%ymm9
+  .byte  197,53,213,212                      // vpmullw       %ymm4,%ymm9,%ymm10
+  .byte  197,173,253,192                     // vpaddw        %ymm0,%ymm10,%ymm0
+  .byte  196,65,37,253,213                   // vpaddw        %ymm13,%ymm11,%ymm10
+  .byte  196,193,125,253,194                 // vpaddw        %ymm10,%ymm0,%ymm0
+  .byte  197,141,213,201                     // vpmullw       %ymm1,%ymm14,%ymm1
+  .byte  197,53,213,213                      // vpmullw       %ymm5,%ymm9,%ymm10
+  .byte  197,173,253,201                     // vpaddw        %ymm1,%ymm10,%ymm1
+  .byte  196,65,29,253,213                   // vpaddw        %ymm13,%ymm12,%ymm10
+  .byte  196,193,117,253,202                 // vpaddw        %ymm10,%ymm1,%ymm1
+  .byte  197,141,213,210                     // vpmullw       %ymm2,%ymm14,%ymm2
+  .byte  197,53,213,214                      // vpmullw       %ymm6,%ymm9,%ymm10
+  .byte  197,173,253,210                     // vpaddw        %ymm2,%ymm10,%ymm2
+  .byte  196,65,61,253,197                   // vpaddw        %ymm13,%ymm8,%ymm8
+  .byte  196,193,109,253,208                 // vpaddw        %ymm8,%ymm2,%ymm2
+  .byte  197,53,213,199                      // vpmullw       %ymm7,%ymm9,%ymm8
+  .byte  196,65,61,253,197                   // vpaddw        %ymm13,%ymm8,%ymm8
+  .byte  196,193,61,113,208,8                // vpsrlw        $0x8,%ymm8,%ymm8
+  .byte  197,189,253,219                     // vpaddw        %ymm3,%ymm8,%ymm3
+  .byte  197,253,113,208,8                   // vpsrlw        $0x8,%ymm0,%ymm0
+  .byte  197,245,113,209,8                   // vpsrlw        $0x8,%ymm1,%ymm1
+  .byte  197,237,113,210,8                   // vpsrlw        $0x8,%ymm2,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_load_8888_hsw_lowp
+.globl _sk_load_8888_hsw_lowp
+FUNCTION(_sk_load_8888_hsw_lowp)
+_sk_load_8888_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,15                               // and           $0xf,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,14                               // cmp           $0xe,%al
+  .byte  119,55                              // ja            2f0d9 <_sk_load_8888_hsw_lowp+0x52>
+  .byte  197,253,239,192                     // vpxor         %ymm0,%ymm0,%ymm0
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,160,1,0,0                 // lea           0x1a0(%rip),%r9        # 2f250 <_sk_load_8888_hsw_lowp+0x1c9>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  197,245,239,201                     // vpxor         %ymm1,%ymm1,%ymm1
+  .byte  197,237,239,210                     // vpxor         %ymm2,%ymm2,%ymm2
+  .byte  196,65,61,239,192                   // vpxor         %ymm8,%ymm8,%ymm8
+  .byte  197,229,239,219                     // vpxor         %ymm3,%ymm3,%ymm3
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,193,121,110,12,144              // vmovd         (%r8,%rdx,4),%xmm1
+  .byte  197,253,239,192                     // vpxor         %ymm0,%ymm0,%ymm0
+  .byte  233,39,1,0,0                        // jmpq          2f200 <_sk_load_8888_hsw_lowp+0x179>
+  .byte  196,193,126,111,12,144              // vmovdqu       (%r8,%rdx,4),%ymm1
+  .byte  196,193,126,111,68,144,32           // vmovdqu       0x20(%r8,%rdx,4),%ymm0
+  .byte  233,21,1,0,0                        // jmpq          2f200 <_sk_load_8888_hsw_lowp+0x179>
+  .byte  196,193,121,110,68,144,8            // vmovd         0x8(%r8,%rdx,4),%xmm0
+  .byte  196,226,121,89,192                  // vpbroadcastq  %xmm0,%xmm0
+  .byte  197,229,239,219                     // vpxor         %ymm3,%ymm3,%ymm3
+  .byte  196,227,101,2,192,4                 // vpblendd      $0x4,%ymm0,%ymm3,%ymm0
+  .byte  196,194,121,53,12,144               // vpmovzxdq     (%r8,%rdx,4),%xmm1
+  .byte  197,249,112,201,232                 // vpshufd       $0xe8,%xmm1,%xmm1
+  .byte  196,227,125,2,201,3                 // vpblendd      $0x3,%ymm1,%ymm0,%ymm1
+  .byte  197,253,111,195                     // vmovdqa       %ymm3,%ymm0
+  .byte  233,229,0,0,0                       // jmpq          2f200 <_sk_load_8888_hsw_lowp+0x179>
+  .byte  196,193,121,110,68,144,24           // vmovd         0x18(%r8,%rdx,4),%xmm0
+  .byte  196,226,125,89,192                  // vpbroadcastq  %xmm0,%ymm0
+  .byte  197,245,239,201                     // vpxor         %ymm1,%ymm1,%ymm1
+  .byte  196,227,117,2,192,64                // vpblendd      $0x40,%ymm0,%ymm1,%ymm0
+  .byte  196,227,125,57,194,1                // vextracti128  $0x1,%ymm0,%xmm2
+  .byte  196,195,105,34,84,144,20,1          // vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm2,%xmm2
+  .byte  196,227,125,56,194,1                // vinserti128   $0x1,%xmm2,%ymm0,%ymm0
+  .byte  197,253,111,209                     // vmovdqa       %ymm1,%ymm2
+  .byte  196,227,125,57,193,1                // vextracti128  $0x1,%ymm0,%xmm1
+  .byte  196,195,113,34,76,144,16,0          // vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm1,%xmm1
+  .byte  196,227,125,56,193,1                // vinserti128   $0x1,%xmm1,%ymm0,%ymm0
+  .byte  197,125,111,194                     // vmovdqa       %ymm2,%ymm8
+  .byte  196,193,122,111,12,144              // vmovdqu       (%r8,%rdx,4),%xmm1
+  .byte  196,227,117,2,200,240               // vpblendd      $0xf0,%ymm0,%ymm1,%ymm1
+  .byte  197,125,127,192                     // vmovdqa       %ymm8,%ymm0
+  .byte  233,138,0,0,0                       // jmpq          2f200 <_sk_load_8888_hsw_lowp+0x179>
+  .byte  196,193,121,110,68,144,40           // vmovd         0x28(%r8,%rdx,4),%xmm0
+  .byte  196,226,121,89,192                  // vpbroadcastq  %xmm0,%xmm0
+  .byte  197,245,239,201                     // vpxor         %ymm1,%ymm1,%ymm1
+  .byte  196,227,117,2,192,4                 // vpblendd      $0x4,%ymm0,%ymm1,%ymm0
+  .byte  196,195,121,34,76,144,36,1          // vpinsrd       $0x1,0x24(%r8,%rdx,4),%xmm0,%xmm1
+  .byte  196,227,125,2,193,15                // vpblendd      $0xf,%ymm1,%ymm0,%ymm0
+  .byte  196,193,121,110,76,144,32           // vmovd         0x20(%r8,%rdx,4),%xmm1
+  .byte  196,227,125,2,193,1                 // vpblendd      $0x1,%ymm1,%ymm0,%ymm0
+  .byte  196,193,126,111,12,144              // vmovdqu       (%r8,%rdx,4),%ymm1
+  .byte  235,81                              // jmp           2f200 <_sk_load_8888_hsw_lowp+0x179>
+  .byte  196,193,121,110,68,144,56           // vmovd         0x38(%r8,%rdx,4),%xmm0
+  .byte  196,226,125,89,192                  // vpbroadcastq  %xmm0,%ymm0
+  .byte  197,245,239,201                     // vpxor         %ymm1,%ymm1,%ymm1
+  .byte  196,227,117,2,192,64                // vpblendd      $0x40,%ymm0,%ymm1,%ymm0
+  .byte  196,227,125,57,193,1                // vextracti128  $0x1,%ymm0,%xmm1
+  .byte  196,195,113,34,76,144,52,1          // vpinsrd       $0x1,0x34(%r8,%rdx,4),%xmm1,%xmm1
+  .byte  196,227,125,56,193,1                // vinserti128   $0x1,%xmm1,%ymm0,%ymm0
+  .byte  196,227,125,57,193,1                // vextracti128  $0x1,%ymm0,%xmm1
+  .byte  196,195,113,34,76,144,48,0          // vpinsrd       $0x0,0x30(%r8,%rdx,4),%xmm1,%xmm1
+  .byte  196,227,125,56,193,1                // vinserti128   $0x1,%xmm1,%ymm0,%ymm0
+  .byte  196,193,126,111,12,144              // vmovdqu       (%r8,%rdx,4),%ymm1
+  .byte  196,193,122,111,84,144,32           // vmovdqu       0x20(%r8,%rdx,4),%xmm2
+  .byte  196,227,109,2,192,240               // vpblendd      $0xf0,%ymm0,%ymm2,%ymm0
+  .byte  196,227,117,56,208,1                // vinserti128   $0x1,%xmm0,%ymm1,%ymm2
+  .byte  196,227,117,70,216,49               // vperm2i128    $0x31,%ymm0,%ymm1,%ymm3
+  .byte  197,253,239,192                     // vpxor         %ymm0,%ymm0,%ymm0
+  .byte  196,227,101,14,200,170              // vpblendw      $0xaa,%ymm0,%ymm3,%ymm1
+  .byte  196,227,109,14,192,170              // vpblendw      $0xaa,%ymm0,%ymm2,%ymm0
+  .byte  196,226,125,43,201                  // vpackusdw     %ymm1,%ymm0,%ymm1
+  .byte  197,125,111,5,87,218,0,0            // vmovdqa       0xda57(%rip),%ymm8        # 3cc80 <_sk_srcover_bgra_8888_sse2_lowp+0xa34>
+  .byte  196,193,117,219,192                 // vpand         %ymm8,%ymm1,%ymm0
+  .byte  197,245,113,209,8                   // vpsrlw        $0x8,%ymm1,%ymm1
+  .byte  197,229,114,211,16                  // vpsrld        $0x10,%ymm3,%ymm3
+  .byte  197,237,114,210,16                  // vpsrld        $0x10,%ymm2,%ymm2
+  .byte  196,226,109,43,219                  // vpackusdw     %ymm3,%ymm2,%ymm3
+  .byte  196,193,101,219,208                 // vpand         %ymm8,%ymm3,%ymm2
+  .byte  197,229,113,211,8                   // vpsrlw        $0x8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  122,254                             // jp            2f250 <_sk_load_8888_hsw_lowp+0x1c9>
+  .byte  255                                 // (bad)
+  .byte  255,177,254,255,255,155             // pushq         -0x64000002(%rcx)
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,17                              // callq         *(%rcx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  249                                 // stc
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,225                             // jmpq          *%rcx
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,203                             // dec           %ebx
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,87,255                          // callq         *-0x1(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255,74,255                          // decl          -0x1(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  60,255                              // cmp           $0xff,%al
+  .byte  255                                 // (bad)
+  .byte  255,38                              // jmpq          *(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,157,255,255,255,137             // lcall         *-0x76000001(%rbp)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,117,255                         // pushq         -0x1(%rbp)
+  .byte  255                                 // (bad)
+  .byte  255,95,255                          // lcall         *-0x1(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_8888_dst_hsw_lowp
+.globl _sk_load_8888_dst_hsw_lowp
+FUNCTION(_sk_load_8888_dst_hsw_lowp)
+_sk_load_8888_dst_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,15                               // and           $0xf,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,14                               // cmp           $0xe,%al
+  .byte  119,55                              // ja            2f2de <_sk_load_8888_dst_hsw_lowp+0x52>
+  .byte  197,221,239,228                     // vpxor         %ymm4,%ymm4,%ymm4
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,163,1,0,0                 // lea           0x1a3(%rip),%r9        # 2f458 <_sk_load_8888_dst_hsw_lowp+0x1cc>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  197,213,239,237                     // vpxor         %ymm5,%ymm5,%ymm5
+  .byte  197,205,239,246                     // vpxor         %ymm6,%ymm6,%ymm6
+  .byte  196,65,61,239,192                   // vpxor         %ymm8,%ymm8,%ymm8
+  .byte  197,197,239,255                     // vpxor         %ymm7,%ymm7,%ymm7
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,193,121,110,44,144              // vmovd         (%r8,%rdx,4),%xmm5
+  .byte  197,221,239,228                     // vpxor         %ymm4,%ymm4,%ymm4
+  .byte  233,39,1,0,0                        // jmpq          2f405 <_sk_load_8888_dst_hsw_lowp+0x179>
+  .byte  196,193,126,111,44,144              // vmovdqu       (%r8,%rdx,4),%ymm5
+  .byte  196,193,126,111,100,144,32          // vmovdqu       0x20(%r8,%rdx,4),%ymm4
+  .byte  233,21,1,0,0                        // jmpq          2f405 <_sk_load_8888_dst_hsw_lowp+0x179>
+  .byte  196,193,121,110,100,144,8           // vmovd         0x8(%r8,%rdx,4),%xmm4
+  .byte  196,226,121,89,228                  // vpbroadcastq  %xmm4,%xmm4
+  .byte  197,197,239,255                     // vpxor         %ymm7,%ymm7,%ymm7
+  .byte  196,227,69,2,228,4                  // vpblendd      $0x4,%ymm4,%ymm7,%ymm4
+  .byte  196,194,121,53,44,144               // vpmovzxdq     (%r8,%rdx,4),%xmm5
+  .byte  197,249,112,237,232                 // vpshufd       $0xe8,%xmm5,%xmm5
+  .byte  196,227,93,2,237,3                  // vpblendd      $0x3,%ymm5,%ymm4,%ymm5
+  .byte  197,253,111,231                     // vmovdqa       %ymm7,%ymm4
+  .byte  233,229,0,0,0                       // jmpq          2f405 <_sk_load_8888_dst_hsw_lowp+0x179>
+  .byte  196,193,121,110,100,144,24          // vmovd         0x18(%r8,%rdx,4),%xmm4
+  .byte  196,226,125,89,228                  // vpbroadcastq  %xmm4,%ymm4
+  .byte  197,213,239,237                     // vpxor         %ymm5,%ymm5,%ymm5
+  .byte  196,227,85,2,228,64                 // vpblendd      $0x40,%ymm4,%ymm5,%ymm4
+  .byte  196,227,125,57,230,1                // vextracti128  $0x1,%ymm4,%xmm6
+  .byte  196,195,73,34,116,144,20,1          // vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm6,%xmm6
+  .byte  196,227,93,56,230,1                 // vinserti128   $0x1,%xmm6,%ymm4,%ymm4
+  .byte  197,253,111,245                     // vmovdqa       %ymm5,%ymm6
+  .byte  196,227,125,57,229,1                // vextracti128  $0x1,%ymm4,%xmm5
+  .byte  196,195,81,34,108,144,16,0          // vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm5,%xmm5
+  .byte  196,227,93,56,229,1                 // vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  .byte  197,125,111,198                     // vmovdqa       %ymm6,%ymm8
+  .byte  196,193,122,111,44,144              // vmovdqu       (%r8,%rdx,4),%xmm5
+  .byte  196,227,85,2,236,240                // vpblendd      $0xf0,%ymm4,%ymm5,%ymm5
+  .byte  197,125,127,196                     // vmovdqa       %ymm8,%ymm4
+  .byte  233,138,0,0,0                       // jmpq          2f405 <_sk_load_8888_dst_hsw_lowp+0x179>
+  .byte  196,193,121,110,100,144,40          // vmovd         0x28(%r8,%rdx,4),%xmm4
+  .byte  196,226,121,89,228                  // vpbroadcastq  %xmm4,%xmm4
+  .byte  197,213,239,237                     // vpxor         %ymm5,%ymm5,%ymm5
+  .byte  196,227,85,2,228,4                  // vpblendd      $0x4,%ymm4,%ymm5,%ymm4
+  .byte  196,195,89,34,108,144,36,1          // vpinsrd       $0x1,0x24(%r8,%rdx,4),%xmm4,%xmm5
+  .byte  196,227,93,2,229,15                 // vpblendd      $0xf,%ymm5,%ymm4,%ymm4
+  .byte  196,193,121,110,108,144,32          // vmovd         0x20(%r8,%rdx,4),%xmm5
+  .byte  196,227,93,2,229,1                  // vpblendd      $0x1,%ymm5,%ymm4,%ymm4
+  .byte  196,193,126,111,44,144              // vmovdqu       (%r8,%rdx,4),%ymm5
+  .byte  235,81                              // jmp           2f405 <_sk_load_8888_dst_hsw_lowp+0x179>
+  .byte  196,193,121,110,100,144,56          // vmovd         0x38(%r8,%rdx,4),%xmm4
+  .byte  196,226,125,89,228                  // vpbroadcastq  %xmm4,%ymm4
+  .byte  197,213,239,237                     // vpxor         %ymm5,%ymm5,%ymm5
+  .byte  196,227,85,2,228,64                 // vpblendd      $0x40,%ymm4,%ymm5,%ymm4
+  .byte  196,227,125,57,229,1                // vextracti128  $0x1,%ymm4,%xmm5
+  .byte  196,195,81,34,108,144,52,1          // vpinsrd       $0x1,0x34(%r8,%rdx,4),%xmm5,%xmm5
+  .byte  196,227,93,56,229,1                 // vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  .byte  196,227,125,57,229,1                // vextracti128  $0x1,%ymm4,%xmm5
+  .byte  196,195,81,34,108,144,48,0          // vpinsrd       $0x0,0x30(%r8,%rdx,4),%xmm5,%xmm5
+  .byte  196,227,93,56,229,1                 // vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  .byte  196,193,126,111,44,144              // vmovdqu       (%r8,%rdx,4),%ymm5
+  .byte  196,193,122,111,116,144,32          // vmovdqu       0x20(%r8,%rdx,4),%xmm6
+  .byte  196,227,77,2,228,240                // vpblendd      $0xf0,%ymm4,%ymm6,%ymm4
+  .byte  196,227,85,56,244,1                 // vinserti128   $0x1,%xmm4,%ymm5,%ymm6
+  .byte  196,227,85,70,252,49                // vperm2i128    $0x31,%ymm4,%ymm5,%ymm7
+  .byte  197,221,239,228                     // vpxor         %ymm4,%ymm4,%ymm4
+  .byte  196,227,69,14,236,170               // vpblendw      $0xaa,%ymm4,%ymm7,%ymm5
+  .byte  196,227,77,14,228,170               // vpblendw      $0xaa,%ymm4,%ymm6,%ymm4
+  .byte  196,226,93,43,237                   // vpackusdw     %ymm5,%ymm4,%ymm5
+  .byte  197,125,111,5,114,216,0,0           // vmovdqa       0xd872(%rip),%ymm8        # 3cca0 <_sk_srcover_bgra_8888_sse2_lowp+0xa54>
+  .byte  196,193,85,219,224                  // vpand         %ymm8,%ymm5,%ymm4
+  .byte  197,213,113,213,8                   // vpsrlw        $0x8,%ymm5,%ymm5
+  .byte  197,197,114,215,16                  // vpsrld        $0x10,%ymm7,%ymm7
+  .byte  197,205,114,214,16                  // vpsrld        $0x10,%ymm6,%ymm6
+  .byte  196,226,77,43,255                   // vpackusdw     %ymm7,%ymm6,%ymm7
+  .byte  196,193,69,219,240                  // vpand         %ymm8,%ymm7,%ymm6
+  .byte  197,197,113,215,8                   // vpsrlw        $0x8,%ymm7,%ymm7
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  15,31,0                             // nopl          (%rax)
+  .byte  119,254                             // ja            2f458 <_sk_load_8888_dst_hsw_lowp+0x1cc>
+  .byte  255                                 // (bad)
+  .byte  255,174,254,255,255,152             // ljmp          *-0x67000002(%rsi)
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,14                              // decl          (%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,246                             // push          %rsi
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  222,254                             // fdivrp        %st,%st(6)
+  .byte  255                                 // (bad)
+  .byte  255,200                             // dec           %eax
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,84,255,255                      // callq         *-0x1(%rdi,%rdi,8)
+  .byte  255,71,255                          // incl          -0x1(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  57,255                              // cmp           %edi,%edi
+  .byte  255                                 // (bad)
+  .byte  255,35                              // jmpq          *(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,154,255,255,255,134             // lcall         *-0x79000001(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,114,255                         // pushq         -0x1(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255,92,255,255                      // lcall         *-0x1(%rdi,%rdi,8)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_store_8888_hsw_lowp
+.globl _sk_store_8888_hsw_lowp
+FUNCTION(_sk_store_8888_hsw_lowp)
+_sk_store_8888_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  197,189,113,241,8                   // vpsllw        $0x8,%ymm1,%ymm8
+  .byte  197,61,235,192                      // vpor          %ymm0,%ymm8,%ymm8
+  .byte  196,66,125,51,200                   // vpmovzxwd     %xmm8,%ymm9
+  .byte  196,67,125,57,192,1                 // vextracti128  $0x1,%ymm8,%xmm8
+  .byte  196,66,125,51,208                   // vpmovzxwd     %xmm8,%ymm10
+  .byte  197,189,113,243,8                   // vpsllw        $0x8,%ymm3,%ymm8
+  .byte  197,61,235,194                      // vpor          %ymm2,%ymm8,%ymm8
+  .byte  196,67,125,57,195,1                 // vextracti128  $0x1,%ymm8,%xmm11
+  .byte  196,66,125,51,219                   // vpmovzxwd     %xmm11,%ymm11
+  .byte  196,66,125,51,192                   // vpmovzxwd     %xmm8,%ymm8
+  .byte  196,193,61,114,240,16               // vpslld        $0x10,%ymm8,%ymm8
+  .byte  196,65,61,235,193                   // vpor          %ymm9,%ymm8,%ymm8
+  .byte  196,193,53,114,243,16               // vpslld        $0x10,%ymm11,%ymm9
+  .byte  196,65,53,235,202                   // vpor          %ymm10,%ymm9,%ymm9
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,15                               // and           $0xf,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,14                               // cmp           $0xe,%al
+  .byte  119,30                              // ja            2f515 <_sk_store_8888_hsw_lowp+0x81>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,195,0,0,0                 // lea           0xc3(%rip),%r9        # 2f5c4 <_sk_store_8888_hsw_lowp+0x130>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,65,121,126,4,144                // vmovd         %xmm8,(%r8,%rdx,4)
+  .byte  233,171,0,0,0                       // jmpq          2f5c0 <_sk_store_8888_hsw_lowp+0x12c>
+  .byte  196,65,126,127,4,144                // vmovdqu       %ymm8,(%r8,%rdx,4)
+  .byte  196,65,126,127,76,144,32            // vmovdqu       %ymm9,0x20(%r8,%rdx,4)
+  .byte  233,153,0,0,0                       // jmpq          2f5c0 <_sk_store_8888_hsw_lowp+0x12c>
+  .byte  196,67,121,22,68,144,8,2            // vpextrd       $0x2,%xmm8,0x8(%r8,%rdx,4)
+  .byte  196,65,121,214,4,144                // vmovq         %xmm8,(%r8,%rdx,4)
+  .byte  233,134,0,0,0                       // jmpq          2f5c0 <_sk_store_8888_hsw_lowp+0x12c>
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,22,76,144,24,2           // vpextrd       $0x2,%xmm9,0x18(%r8,%rdx,4)
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,22,76,144,20,1           // vpextrd       $0x1,%xmm9,0x14(%r8,%rdx,4)
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,65,121,126,76,144,16            // vmovd         %xmm9,0x10(%r8,%rdx,4)
+  .byte  196,65,122,127,4,144                // vmovdqu       %xmm8,(%r8,%rdx,4)
+  .byte  235,85                              // jmp           2f5c0 <_sk_store_8888_hsw_lowp+0x12c>
+  .byte  196,67,121,22,76,144,40,2           // vpextrd       $0x2,%xmm9,0x28(%r8,%rdx,4)
+  .byte  196,67,121,22,76,144,36,1           // vpextrd       $0x1,%xmm9,0x24(%r8,%rdx,4)
+  .byte  196,65,121,126,76,144,32            // vmovd         %xmm9,0x20(%r8,%rdx,4)
+  .byte  196,65,126,127,4,144                // vmovdqu       %ymm8,(%r8,%rdx,4)
+  .byte  235,54                              // jmp           2f5c0 <_sk_store_8888_hsw_lowp+0x12c>
+  .byte  196,67,125,57,202,1                 // vextracti128  $0x1,%ymm9,%xmm10
+  .byte  196,67,121,22,84,144,56,2           // vpextrd       $0x2,%xmm10,0x38(%r8,%rdx,4)
+  .byte  196,67,125,57,202,1                 // vextracti128  $0x1,%ymm9,%xmm10
+  .byte  196,67,121,22,84,144,52,1           // vpextrd       $0x1,%xmm10,0x34(%r8,%rdx,4)
+  .byte  196,67,125,57,202,1                 // vextracti128  $0x1,%ymm9,%xmm10
+  .byte  196,65,121,126,84,144,48            // vmovd         %xmm10,0x30(%r8,%rdx,4)
+  .byte  196,65,126,127,4,144                // vmovdqu       %ymm8,(%r8,%rdx,4)
+  .byte  196,65,122,127,76,144,32            // vmovdqu       %xmm9,0x20(%r8,%rdx,4)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  70,255                              // rex.RX        (bad)
+  .byte  255                                 // (bad)
+  .byte  255,107,255                         // ljmp          *-0x1(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255,99,255                          // jmpq          *-0x1(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255,159,255,255,255,146             // lcall         *-0x6d000001(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,132,255,255,255,118,255         // incl          -0x890001(%rdi,%rdi,8)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  190,255,255,255,183                 // mov           $0xb7ffffff,%esi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,175,255,255,255,167             // ljmp          *-0x58000001(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  239                                 // out           %eax,(%dx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,226                             // jmpq          *%rdx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,212                             // callq         *%rsp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,198                             // inc           %esi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_bgra_hsw_lowp
+.globl _sk_load_bgra_hsw_lowp
+FUNCTION(_sk_load_bgra_hsw_lowp)
+_sk_load_bgra_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,15                               // and           $0xf,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,14                               // cmp           $0xe,%al
+  .byte  119,55                              // ja            2f652 <_sk_load_bgra_hsw_lowp+0x52>
+  .byte  197,253,239,192                     // vpxor         %ymm0,%ymm0,%ymm0
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,163,1,0,0                 // lea           0x1a3(%rip),%r9        # 2f7cc <_sk_load_bgra_hsw_lowp+0x1cc>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  197,245,239,201                     // vpxor         %ymm1,%ymm1,%ymm1
+  .byte  197,237,239,210                     // vpxor         %ymm2,%ymm2,%ymm2
+  .byte  196,65,61,239,192                   // vpxor         %ymm8,%ymm8,%ymm8
+  .byte  197,229,239,219                     // vpxor         %ymm3,%ymm3,%ymm3
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,193,121,110,12,144              // vmovd         (%r8,%rdx,4),%xmm1
+  .byte  197,253,239,192                     // vpxor         %ymm0,%ymm0,%ymm0
+  .byte  233,39,1,0,0                        // jmpq          2f779 <_sk_load_bgra_hsw_lowp+0x179>
+  .byte  196,193,126,111,12,144              // vmovdqu       (%r8,%rdx,4),%ymm1
+  .byte  196,193,126,111,68,144,32           // vmovdqu       0x20(%r8,%rdx,4),%ymm0
+  .byte  233,21,1,0,0                        // jmpq          2f779 <_sk_load_bgra_hsw_lowp+0x179>
+  .byte  196,193,121,110,68,144,8            // vmovd         0x8(%r8,%rdx,4),%xmm0
+  .byte  196,226,121,89,192                  // vpbroadcastq  %xmm0,%xmm0
+  .byte  197,229,239,219                     // vpxor         %ymm3,%ymm3,%ymm3
+  .byte  196,227,101,2,192,4                 // vpblendd      $0x4,%ymm0,%ymm3,%ymm0
+  .byte  196,194,121,53,12,144               // vpmovzxdq     (%r8,%rdx,4),%xmm1
+  .byte  197,249,112,201,232                 // vpshufd       $0xe8,%xmm1,%xmm1
+  .byte  196,227,125,2,201,3                 // vpblendd      $0x3,%ymm1,%ymm0,%ymm1
+  .byte  197,253,111,195                     // vmovdqa       %ymm3,%ymm0
+  .byte  233,229,0,0,0                       // jmpq          2f779 <_sk_load_bgra_hsw_lowp+0x179>
+  .byte  196,193,121,110,68,144,24           // vmovd         0x18(%r8,%rdx,4),%xmm0
+  .byte  196,226,125,89,192                  // vpbroadcastq  %xmm0,%ymm0
+  .byte  197,245,239,201                     // vpxor         %ymm1,%ymm1,%ymm1
+  .byte  196,227,117,2,192,64                // vpblendd      $0x40,%ymm0,%ymm1,%ymm0
+  .byte  196,227,125,57,194,1                // vextracti128  $0x1,%ymm0,%xmm2
+  .byte  196,195,105,34,84,144,20,1          // vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm2,%xmm2
+  .byte  196,227,125,56,194,1                // vinserti128   $0x1,%xmm2,%ymm0,%ymm0
+  .byte  197,253,111,209                     // vmovdqa       %ymm1,%ymm2
+  .byte  196,227,125,57,193,1                // vextracti128  $0x1,%ymm0,%xmm1
+  .byte  196,195,113,34,76,144,16,0          // vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm1,%xmm1
+  .byte  196,227,125,56,193,1                // vinserti128   $0x1,%xmm1,%ymm0,%ymm0
+  .byte  197,125,111,194                     // vmovdqa       %ymm2,%ymm8
+  .byte  196,193,122,111,12,144              // vmovdqu       (%r8,%rdx,4),%xmm1
+  .byte  196,227,117,2,200,240               // vpblendd      $0xf0,%ymm0,%ymm1,%ymm1
+  .byte  197,125,127,192                     // vmovdqa       %ymm8,%ymm0
+  .byte  233,138,0,0,0                       // jmpq          2f779 <_sk_load_bgra_hsw_lowp+0x179>
+  .byte  196,193,121,110,68,144,40           // vmovd         0x28(%r8,%rdx,4),%xmm0
+  .byte  196,226,121,89,192                  // vpbroadcastq  %xmm0,%xmm0
+  .byte  197,245,239,201                     // vpxor         %ymm1,%ymm1,%ymm1
+  .byte  196,227,117,2,192,4                 // vpblendd      $0x4,%ymm0,%ymm1,%ymm0
+  .byte  196,195,121,34,76,144,36,1          // vpinsrd       $0x1,0x24(%r8,%rdx,4),%xmm0,%xmm1
+  .byte  196,227,125,2,193,15                // vpblendd      $0xf,%ymm1,%ymm0,%ymm0
+  .byte  196,193,121,110,76,144,32           // vmovd         0x20(%r8,%rdx,4),%xmm1
+  .byte  196,227,125,2,193,1                 // vpblendd      $0x1,%ymm1,%ymm0,%ymm0
+  .byte  196,193,126,111,12,144              // vmovdqu       (%r8,%rdx,4),%ymm1
+  .byte  235,81                              // jmp           2f779 <_sk_load_bgra_hsw_lowp+0x179>
+  .byte  196,193,121,110,68,144,56           // vmovd         0x38(%r8,%rdx,4),%xmm0
+  .byte  196,226,125,89,192                  // vpbroadcastq  %xmm0,%ymm0
+  .byte  197,245,239,201                     // vpxor         %ymm1,%ymm1,%ymm1
+  .byte  196,227,117,2,192,64                // vpblendd      $0x40,%ymm0,%ymm1,%ymm0
+  .byte  196,227,125,57,193,1                // vextracti128  $0x1,%ymm0,%xmm1
+  .byte  196,195,113,34,76,144,52,1          // vpinsrd       $0x1,0x34(%r8,%rdx,4),%xmm1,%xmm1
+  .byte  196,227,125,56,193,1                // vinserti128   $0x1,%xmm1,%ymm0,%ymm0
+  .byte  196,227,125,57,193,1                // vextracti128  $0x1,%ymm0,%xmm1
+  .byte  196,195,113,34,76,144,48,0          // vpinsrd       $0x0,0x30(%r8,%rdx,4),%xmm1,%xmm1
+  .byte  196,227,125,56,193,1                // vinserti128   $0x1,%xmm1,%ymm0,%ymm0
+  .byte  196,193,126,111,12,144              // vmovdqu       (%r8,%rdx,4),%ymm1
+  .byte  196,193,122,111,84,144,32           // vmovdqu       0x20(%r8,%rdx,4),%xmm2
+  .byte  196,227,109,2,192,240               // vpblendd      $0xf0,%ymm0,%ymm2,%ymm0
+  .byte  196,227,117,56,216,1                // vinserti128   $0x1,%xmm0,%ymm1,%ymm3
+  .byte  196,227,117,70,192,49               // vperm2i128    $0x31,%ymm0,%ymm1,%ymm0
+  .byte  197,245,239,201                     // vpxor         %ymm1,%ymm1,%ymm1
+  .byte  196,227,125,14,209,170              // vpblendw      $0xaa,%ymm1,%ymm0,%ymm2
+  .byte  196,227,101,14,201,170              // vpblendw      $0xaa,%ymm1,%ymm3,%ymm1
+  .byte  196,226,117,43,202                  // vpackusdw     %ymm2,%ymm1,%ymm1
+  .byte  197,125,111,5,30,213,0,0            // vmovdqa       0xd51e(%rip),%ymm8        # 3ccc0 <_sk_srcover_bgra_8888_sse2_lowp+0xa74>
+  .byte  196,193,117,219,208                 // vpand         %ymm8,%ymm1,%ymm2
+  .byte  197,245,113,209,8                   // vpsrlw        $0x8,%ymm1,%ymm1
+  .byte  197,253,114,208,16                  // vpsrld        $0x10,%ymm0,%ymm0
+  .byte  197,229,114,211,16                  // vpsrld        $0x10,%ymm3,%ymm3
+  .byte  196,226,101,43,216                  // vpackusdw     %ymm0,%ymm3,%ymm3
+  .byte  196,193,101,219,192                 // vpand         %ymm8,%ymm3,%ymm0
+  .byte  197,229,113,211,8                   // vpsrlw        $0x8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  15,31,0                             // nopl          (%rax)
+  .byte  119,254                             // ja            2f7cc <_sk_load_bgra_hsw_lowp+0x1cc>
+  .byte  255                                 // (bad)
+  .byte  255,174,254,255,255,152             // ljmp          *-0x67000002(%rsi)
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,14                              // decl          (%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,246                             // push          %rsi
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  222,254                             // fdivrp        %st,%st(6)
+  .byte  255                                 // (bad)
+  .byte  255,200                             // dec           %eax
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,84,255,255                      // callq         *-0x1(%rdi,%rdi,8)
+  .byte  255,71,255                          // incl          -0x1(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  57,255                              // cmp           %edi,%edi
+  .byte  255                                 // (bad)
+  .byte  255,35                              // jmpq          *(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,154,255,255,255,134             // lcall         *-0x79000001(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,114,255                         // pushq         -0x1(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255,92,255,255                      // lcall         *-0x1(%rdi,%rdi,8)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_bgra_dst_hsw_lowp
+.globl _sk_load_bgra_dst_hsw_lowp
+FUNCTION(_sk_load_bgra_dst_hsw_lowp)
+_sk_load_bgra_dst_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,15                               // and           $0xf,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,14                               // cmp           $0xe,%al
+  .byte  119,55                              // ja            2f85a <_sk_load_bgra_dst_hsw_lowp+0x52>
+  .byte  197,221,239,228                     // vpxor         %ymm4,%ymm4,%ymm4
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,163,1,0,0                 // lea           0x1a3(%rip),%r9        # 2f9d4 <_sk_load_bgra_dst_hsw_lowp+0x1cc>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  197,213,239,237                     // vpxor         %ymm5,%ymm5,%ymm5
+  .byte  197,205,239,246                     // vpxor         %ymm6,%ymm6,%ymm6
+  .byte  196,65,61,239,192                   // vpxor         %ymm8,%ymm8,%ymm8
+  .byte  197,197,239,255                     // vpxor         %ymm7,%ymm7,%ymm7
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,193,121,110,44,144              // vmovd         (%r8,%rdx,4),%xmm5
+  .byte  197,221,239,228                     // vpxor         %ymm4,%ymm4,%ymm4
+  .byte  233,39,1,0,0                        // jmpq          2f981 <_sk_load_bgra_dst_hsw_lowp+0x179>
+  .byte  196,193,126,111,44,144              // vmovdqu       (%r8,%rdx,4),%ymm5
+  .byte  196,193,126,111,100,144,32          // vmovdqu       0x20(%r8,%rdx,4),%ymm4
+  .byte  233,21,1,0,0                        // jmpq          2f981 <_sk_load_bgra_dst_hsw_lowp+0x179>
+  .byte  196,193,121,110,100,144,8           // vmovd         0x8(%r8,%rdx,4),%xmm4
+  .byte  196,226,121,89,228                  // vpbroadcastq  %xmm4,%xmm4
+  .byte  197,197,239,255                     // vpxor         %ymm7,%ymm7,%ymm7
+  .byte  196,227,69,2,228,4                  // vpblendd      $0x4,%ymm4,%ymm7,%ymm4
+  .byte  196,194,121,53,44,144               // vpmovzxdq     (%r8,%rdx,4),%xmm5
+  .byte  197,249,112,237,232                 // vpshufd       $0xe8,%xmm5,%xmm5
+  .byte  196,227,93,2,237,3                  // vpblendd      $0x3,%ymm5,%ymm4,%ymm5
+  .byte  197,253,111,231                     // vmovdqa       %ymm7,%ymm4
+  .byte  233,229,0,0,0                       // jmpq          2f981 <_sk_load_bgra_dst_hsw_lowp+0x179>
+  .byte  196,193,121,110,100,144,24          // vmovd         0x18(%r8,%rdx,4),%xmm4
+  .byte  196,226,125,89,228                  // vpbroadcastq  %xmm4,%ymm4
+  .byte  197,213,239,237                     // vpxor         %ymm5,%ymm5,%ymm5
+  .byte  196,227,85,2,228,64                 // vpblendd      $0x40,%ymm4,%ymm5,%ymm4
+  .byte  196,227,125,57,230,1                // vextracti128  $0x1,%ymm4,%xmm6
+  .byte  196,195,73,34,116,144,20,1          // vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm6,%xmm6
+  .byte  196,227,93,56,230,1                 // vinserti128   $0x1,%xmm6,%ymm4,%ymm4
+  .byte  197,253,111,245                     // vmovdqa       %ymm5,%ymm6
+  .byte  196,227,125,57,229,1                // vextracti128  $0x1,%ymm4,%xmm5
+  .byte  196,195,81,34,108,144,16,0          // vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm5,%xmm5
+  .byte  196,227,93,56,229,1                 // vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  .byte  197,125,111,198                     // vmovdqa       %ymm6,%ymm8
+  .byte  196,193,122,111,44,144              // vmovdqu       (%r8,%rdx,4),%xmm5
+  .byte  196,227,85,2,236,240                // vpblendd      $0xf0,%ymm4,%ymm5,%ymm5
+  .byte  197,125,127,196                     // vmovdqa       %ymm8,%ymm4
+  .byte  233,138,0,0,0                       // jmpq          2f981 <_sk_load_bgra_dst_hsw_lowp+0x179>
+  .byte  196,193,121,110,100,144,40          // vmovd         0x28(%r8,%rdx,4),%xmm4
+  .byte  196,226,121,89,228                  // vpbroadcastq  %xmm4,%xmm4
+  .byte  197,213,239,237                     // vpxor         %ymm5,%ymm5,%ymm5
+  .byte  196,227,85,2,228,4                  // vpblendd      $0x4,%ymm4,%ymm5,%ymm4
+  .byte  196,195,89,34,108,144,36,1          // vpinsrd       $0x1,0x24(%r8,%rdx,4),%xmm4,%xmm5
+  .byte  196,227,93,2,229,15                 // vpblendd      $0xf,%ymm5,%ymm4,%ymm4
+  .byte  196,193,121,110,108,144,32          // vmovd         0x20(%r8,%rdx,4),%xmm5
+  .byte  196,227,93,2,229,1                  // vpblendd      $0x1,%ymm5,%ymm4,%ymm4
+  .byte  196,193,126,111,44,144              // vmovdqu       (%r8,%rdx,4),%ymm5
+  .byte  235,81                              // jmp           2f981 <_sk_load_bgra_dst_hsw_lowp+0x179>
+  .byte  196,193,121,110,100,144,56          // vmovd         0x38(%r8,%rdx,4),%xmm4
+  .byte  196,226,125,89,228                  // vpbroadcastq  %xmm4,%ymm4
+  .byte  197,213,239,237                     // vpxor         %ymm5,%ymm5,%ymm5
+  .byte  196,227,85,2,228,64                 // vpblendd      $0x40,%ymm4,%ymm5,%ymm4
+  .byte  196,227,125,57,229,1                // vextracti128  $0x1,%ymm4,%xmm5
+  .byte  196,195,81,34,108,144,52,1          // vpinsrd       $0x1,0x34(%r8,%rdx,4),%xmm5,%xmm5
+  .byte  196,227,93,56,229,1                 // vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  .byte  196,227,125,57,229,1                // vextracti128  $0x1,%ymm4,%xmm5
+  .byte  196,195,81,34,108,144,48,0          // vpinsrd       $0x0,0x30(%r8,%rdx,4),%xmm5,%xmm5
+  .byte  196,227,93,56,229,1                 // vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  .byte  196,193,126,111,44,144              // vmovdqu       (%r8,%rdx,4),%ymm5
+  .byte  196,193,122,111,116,144,32          // vmovdqu       0x20(%r8,%rdx,4),%xmm6
+  .byte  196,227,77,2,228,240                // vpblendd      $0xf0,%ymm4,%ymm6,%ymm4
+  .byte  196,227,85,56,252,1                 // vinserti128   $0x1,%xmm4,%ymm5,%ymm7
+  .byte  196,227,85,70,228,49                // vperm2i128    $0x31,%ymm4,%ymm5,%ymm4
+  .byte  197,213,239,237                     // vpxor         %ymm5,%ymm5,%ymm5
+  .byte  196,227,93,14,245,170               // vpblendw      $0xaa,%ymm5,%ymm4,%ymm6
+  .byte  196,227,69,14,237,170               // vpblendw      $0xaa,%ymm5,%ymm7,%ymm5
+  .byte  196,226,85,43,238                   // vpackusdw     %ymm6,%ymm5,%ymm5
+  .byte  197,125,111,5,54,211,0,0            // vmovdqa       0xd336(%rip),%ymm8        # 3cce0 <_sk_srcover_bgra_8888_sse2_lowp+0xa94>
+  .byte  196,193,85,219,240                  // vpand         %ymm8,%ymm5,%ymm6
+  .byte  197,213,113,213,8                   // vpsrlw        $0x8,%ymm5,%ymm5
+  .byte  197,221,114,212,16                  // vpsrld        $0x10,%ymm4,%ymm4
+  .byte  197,197,114,215,16                  // vpsrld        $0x10,%ymm7,%ymm7
+  .byte  196,226,69,43,252                   // vpackusdw     %ymm4,%ymm7,%ymm7
+  .byte  196,193,69,219,224                  // vpand         %ymm8,%ymm7,%ymm4
+  .byte  197,197,113,215,8                   // vpsrlw        $0x8,%ymm7,%ymm7
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  15,31,0                             // nopl          (%rax)
+  .byte  119,254                             // ja            2f9d4 <_sk_load_bgra_dst_hsw_lowp+0x1cc>
+  .byte  255                                 // (bad)
+  .byte  255,174,254,255,255,152             // ljmp          *-0x67000002(%rsi)
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,14                              // decl          (%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,246                             // push          %rsi
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  222,254                             // fdivrp        %st,%st(6)
+  .byte  255                                 // (bad)
+  .byte  255,200                             // dec           %eax
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,84,255,255                      // callq         *-0x1(%rdi,%rdi,8)
+  .byte  255,71,255                          // incl          -0x1(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  57,255                              // cmp           %edi,%edi
+  .byte  255                                 // (bad)
+  .byte  255,35                              // jmpq          *(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,154,255,255,255,134             // lcall         *-0x79000001(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,114,255                         // pushq         -0x1(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255,92,255,255                      // lcall         *-0x1(%rdi,%rdi,8)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_store_bgra_hsw_lowp
+.globl _sk_store_bgra_hsw_lowp
+FUNCTION(_sk_store_bgra_hsw_lowp)
+_sk_store_bgra_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  197,189,113,241,8                   // vpsllw        $0x8,%ymm1,%ymm8
+  .byte  197,61,235,194                      // vpor          %ymm2,%ymm8,%ymm8
+  .byte  196,66,125,51,200                   // vpmovzxwd     %xmm8,%ymm9
+  .byte  196,67,125,57,192,1                 // vextracti128  $0x1,%ymm8,%xmm8
+  .byte  196,66,125,51,208                   // vpmovzxwd     %xmm8,%ymm10
+  .byte  197,189,113,243,8                   // vpsllw        $0x8,%ymm3,%ymm8
+  .byte  197,61,235,192                      // vpor          %ymm0,%ymm8,%ymm8
+  .byte  196,67,125,57,195,1                 // vextracti128  $0x1,%ymm8,%xmm11
+  .byte  196,66,125,51,219                   // vpmovzxwd     %xmm11,%ymm11
+  .byte  196,66,125,51,192                   // vpmovzxwd     %xmm8,%ymm8
+  .byte  196,193,61,114,240,16               // vpslld        $0x10,%ymm8,%ymm8
+  .byte  196,65,61,235,193                   // vpor          %ymm9,%ymm8,%ymm8
+  .byte  196,193,53,114,243,16               // vpslld        $0x10,%ymm11,%ymm9
+  .byte  196,65,53,235,202                   // vpor          %ymm10,%ymm9,%ymm9
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,15                               // and           $0xf,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,14                               // cmp           $0xe,%al
+  .byte  119,30                              // ja            2fa91 <_sk_store_bgra_hsw_lowp+0x81>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,195,0,0,0                 // lea           0xc3(%rip),%r9        # 2fb40 <_sk_store_bgra_hsw_lowp+0x130>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,65,121,126,4,144                // vmovd         %xmm8,(%r8,%rdx,4)
+  .byte  233,171,0,0,0                       // jmpq          2fb3c <_sk_store_bgra_hsw_lowp+0x12c>
+  .byte  196,65,126,127,4,144                // vmovdqu       %ymm8,(%r8,%rdx,4)
+  .byte  196,65,126,127,76,144,32            // vmovdqu       %ymm9,0x20(%r8,%rdx,4)
+  .byte  233,153,0,0,0                       // jmpq          2fb3c <_sk_store_bgra_hsw_lowp+0x12c>
+  .byte  196,67,121,22,68,144,8,2            // vpextrd       $0x2,%xmm8,0x8(%r8,%rdx,4)
+  .byte  196,65,121,214,4,144                // vmovq         %xmm8,(%r8,%rdx,4)
+  .byte  233,134,0,0,0                       // jmpq          2fb3c <_sk_store_bgra_hsw_lowp+0x12c>
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,22,76,144,24,2           // vpextrd       $0x2,%xmm9,0x18(%r8,%rdx,4)
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,22,76,144,20,1           // vpextrd       $0x1,%xmm9,0x14(%r8,%rdx,4)
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,65,121,126,76,144,16            // vmovd         %xmm9,0x10(%r8,%rdx,4)
+  .byte  196,65,122,127,4,144                // vmovdqu       %xmm8,(%r8,%rdx,4)
+  .byte  235,85                              // jmp           2fb3c <_sk_store_bgra_hsw_lowp+0x12c>
+  .byte  196,67,121,22,76,144,40,2           // vpextrd       $0x2,%xmm9,0x28(%r8,%rdx,4)
+  .byte  196,67,121,22,76,144,36,1           // vpextrd       $0x1,%xmm9,0x24(%r8,%rdx,4)
+  .byte  196,65,121,126,76,144,32            // vmovd         %xmm9,0x20(%r8,%rdx,4)
+  .byte  196,65,126,127,4,144                // vmovdqu       %ymm8,(%r8,%rdx,4)
+  .byte  235,54                              // jmp           2fb3c <_sk_store_bgra_hsw_lowp+0x12c>
+  .byte  196,67,125,57,202,1                 // vextracti128  $0x1,%ymm9,%xmm10
+  .byte  196,67,121,22,84,144,56,2           // vpextrd       $0x2,%xmm10,0x38(%r8,%rdx,4)
+  .byte  196,67,125,57,202,1                 // vextracti128  $0x1,%ymm9,%xmm10
+  .byte  196,67,121,22,84,144,52,1           // vpextrd       $0x1,%xmm10,0x34(%r8,%rdx,4)
+  .byte  196,67,125,57,202,1                 // vextracti128  $0x1,%ymm9,%xmm10
+  .byte  196,65,121,126,84,144,48            // vmovd         %xmm10,0x30(%r8,%rdx,4)
+  .byte  196,65,126,127,4,144                // vmovdqu       %ymm8,(%r8,%rdx,4)
+  .byte  196,65,122,127,76,144,32            // vmovdqu       %xmm9,0x20(%r8,%rdx,4)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  70,255                              // rex.RX        (bad)
+  .byte  255                                 // (bad)
+  .byte  255,107,255                         // ljmp          *-0x1(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255,99,255                          // jmpq          *-0x1(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255,159,255,255,255,146             // lcall         *-0x6d000001(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,132,255,255,255,118,255         // incl          -0x890001(%rdi,%rdi,8)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  190,255,255,255,183                 // mov           $0xb7ffffff,%esi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,175,255,255,255,167             // ljmp          *-0x58000001(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  239                                 // out           %eax,(%dx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,226                             // jmpq          *%rdx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,212                             // callq         *%rsp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,198                             // inc           %esi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_gather_8888_hsw_lowp
+.globl _sk_gather_8888_hsw_lowp
+FUNCTION(_sk_gather_8888_hsw_lowp)
+_sk_gather_8888_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,88,64,12                 // vpbroadcastd  0xc(%rax),%ymm8
+  .byte  196,65,53,118,201                   // vpcmpeqd      %ymm9,%ymm9,%ymm9
+  .byte  196,65,61,254,193                   // vpaddd        %ymm9,%ymm8,%ymm8
+  .byte  196,65,44,87,210                    // vxorps        %ymm10,%ymm10,%ymm10
+  .byte  196,193,124,95,194                  // vmaxps        %ymm10,%ymm0,%ymm0
+  .byte  196,193,116,95,202                  // vmaxps        %ymm10,%ymm1,%ymm1
+  .byte  196,193,116,93,200                  // vminps        %ymm8,%ymm1,%ymm1
+  .byte  196,193,124,93,192                  // vminps        %ymm8,%ymm0,%ymm0
+  .byte  196,98,125,88,64,16                 // vpbroadcastd  0x10(%rax),%ymm8
+  .byte  196,65,61,254,193                   // vpaddd        %ymm9,%ymm8,%ymm8
+  .byte  196,193,100,95,218                  // vmaxps        %ymm10,%ymm3,%ymm3
+  .byte  196,193,108,95,210                  // vmaxps        %ymm10,%ymm2,%ymm2
+  .byte  196,193,108,93,208                  // vminps        %ymm8,%ymm2,%ymm2
+  .byte  196,193,100,93,216                  // vminps        %ymm8,%ymm3,%ymm3
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  197,254,91,219                      // vcvttps2dq    %ymm3,%ymm3
+  .byte  197,254,91,210                      // vcvttps2dq    %ymm2,%ymm2
+  .byte  196,98,125,88,64,8                  // vpbroadcastd  0x8(%rax),%ymm8
+  .byte  196,226,61,64,210                   // vpmulld       %ymm2,%ymm8,%ymm2
+  .byte  196,226,61,64,219                   // vpmulld       %ymm3,%ymm8,%ymm3
+  .byte  197,254,91,192                      // vcvttps2dq    %ymm0,%ymm0
+  .byte  197,237,254,192                     // vpaddd        %ymm0,%ymm2,%ymm0
+  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
+  .byte  197,229,254,201                     // vpaddd        %ymm1,%ymm3,%ymm1
+  .byte  197,237,118,210                     // vpcmpeqd      %ymm2,%ymm2,%ymm2
+  .byte  197,229,239,219                     // vpxor         %ymm3,%ymm3,%ymm3
+  .byte  196,194,109,144,28,128              // vpgatherdd    %ymm2,(%r8,%ymm0,4),%ymm3
+  .byte  197,253,239,192                     // vpxor         %ymm0,%ymm0,%ymm0
+  .byte  196,194,53,144,4,136                // vpgatherdd    %ymm9,(%r8,%ymm1,4),%ymm0
+  .byte  196,227,101,56,208,1                // vinserti128   $0x1,%xmm0,%ymm3,%ymm2
+  .byte  196,227,101,70,216,49               // vperm2i128    $0x31,%ymm0,%ymm3,%ymm3
+  .byte  196,195,101,14,194,170              // vpblendw      $0xaa,%ymm10,%ymm3,%ymm0
+  .byte  196,195,109,14,202,170              // vpblendw      $0xaa,%ymm10,%ymm2,%ymm1
+  .byte  196,226,117,43,200                  // vpackusdw     %ymm0,%ymm1,%ymm1
+  .byte  197,125,111,5,210,208,0,0           // vmovdqa       0xd0d2(%rip),%ymm8        # 3cd00 <_sk_srcover_bgra_8888_sse2_lowp+0xab4>
+  .byte  196,193,117,219,192                 // vpand         %ymm8,%ymm1,%ymm0
+  .byte  197,245,113,209,8                   // vpsrlw        $0x8,%ymm1,%ymm1
+  .byte  197,229,114,211,16                  // vpsrld        $0x10,%ymm3,%ymm3
+  .byte  197,237,114,210,16                  // vpsrld        $0x10,%ymm2,%ymm2
+  .byte  196,226,109,43,219                  // vpackusdw     %ymm3,%ymm2,%ymm3
+  .byte  196,193,101,219,208                 // vpand         %ymm8,%ymm3,%ymm2
+  .byte  197,229,113,211,8                   // vpsrlw        $0x8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_gather_bgra_hsw_lowp
+.globl _sk_gather_bgra_hsw_lowp
+FUNCTION(_sk_gather_bgra_hsw_lowp)
+_sk_gather_bgra_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,88,64,12                 // vpbroadcastd  0xc(%rax),%ymm8
+  .byte  196,65,53,118,201                   // vpcmpeqd      %ymm9,%ymm9,%ymm9
+  .byte  196,65,61,254,193                   // vpaddd        %ymm9,%ymm8,%ymm8
+  .byte  196,65,44,87,210                    // vxorps        %ymm10,%ymm10,%ymm10
+  .byte  196,193,124,95,194                  // vmaxps        %ymm10,%ymm0,%ymm0
+  .byte  196,193,116,95,202                  // vmaxps        %ymm10,%ymm1,%ymm1
+  .byte  196,193,116,93,200                  // vminps        %ymm8,%ymm1,%ymm1
+  .byte  196,193,124,93,192                  // vminps        %ymm8,%ymm0,%ymm0
+  .byte  196,98,125,88,64,16                 // vpbroadcastd  0x10(%rax),%ymm8
+  .byte  196,65,61,254,193                   // vpaddd        %ymm9,%ymm8,%ymm8
+  .byte  196,193,100,95,218                  // vmaxps        %ymm10,%ymm3,%ymm3
+  .byte  196,193,108,95,210                  // vmaxps        %ymm10,%ymm2,%ymm2
+  .byte  196,193,108,93,208                  // vminps        %ymm8,%ymm2,%ymm2
+  .byte  196,193,100,93,216                  // vminps        %ymm8,%ymm3,%ymm3
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  197,254,91,219                      // vcvttps2dq    %ymm3,%ymm3
+  .byte  197,254,91,210                      // vcvttps2dq    %ymm2,%ymm2
+  .byte  196,98,125,88,64,8                  // vpbroadcastd  0x8(%rax),%ymm8
+  .byte  196,226,61,64,210                   // vpmulld       %ymm2,%ymm8,%ymm2
+  .byte  196,226,61,64,219                   // vpmulld       %ymm3,%ymm8,%ymm3
+  .byte  197,254,91,192                      // vcvttps2dq    %ymm0,%ymm0
+  .byte  197,237,254,192                     // vpaddd        %ymm0,%ymm2,%ymm0
+  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
+  .byte  197,229,254,201                     // vpaddd        %ymm1,%ymm3,%ymm1
+  .byte  197,237,118,210                     // vpcmpeqd      %ymm2,%ymm2,%ymm2
+  .byte  197,229,239,219                     // vpxor         %ymm3,%ymm3,%ymm3
+  .byte  196,194,109,144,28,128              // vpgatherdd    %ymm2,(%r8,%ymm0,4),%ymm3
+  .byte  197,253,239,192                     // vpxor         %ymm0,%ymm0,%ymm0
+  .byte  196,194,53,144,4,136                // vpgatherdd    %ymm9,(%r8,%ymm1,4),%ymm0
+  .byte  196,99,101,56,192,1                 // vinserti128   $0x1,%xmm0,%ymm3,%ymm8
+  .byte  196,227,101,70,192,49               // vperm2i128    $0x31,%ymm0,%ymm3,%ymm0
+  .byte  196,195,125,14,202,170              // vpblendw      $0xaa,%ymm10,%ymm0,%ymm1
+  .byte  196,195,61,14,210,170               // vpblendw      $0xaa,%ymm10,%ymm8,%ymm2
+  .byte  196,226,109,43,201                  // vpackusdw     %ymm1,%ymm2,%ymm1
+  .byte  197,253,111,29,25,208,0,0           // vmovdqa       0xd019(%rip),%ymm3        # 3cd20 <_sk_srcover_bgra_8888_sse2_lowp+0xad4>
+  .byte  197,245,219,211                     // vpand         %ymm3,%ymm1,%ymm2
+  .byte  197,245,113,209,8                   // vpsrlw        $0x8,%ymm1,%ymm1
+  .byte  197,253,114,208,16                  // vpsrld        $0x10,%ymm0,%ymm0
+  .byte  196,193,61,114,208,16               // vpsrld        $0x10,%ymm8,%ymm8
+  .byte  196,98,61,43,192                    // vpackusdw     %ymm0,%ymm8,%ymm8
+  .byte  197,189,219,195                     // vpand         %ymm3,%ymm8,%ymm0
+  .byte  196,193,101,113,208,8               // vpsrlw        $0x8,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_load_565_hsw_lowp
+.globl _sk_load_565_hsw_lowp
+FUNCTION(_sk_load_565_hsw_lowp)
+_sk_load_565_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,15                               // and           $0xf,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,14                               // cmp           $0xe,%al
+  .byte  119,37                              // ja            2fd6d <_sk_load_565_hsw_lowp+0x3f>
+  .byte  197,253,239,192                     // vpxor         %ymm0,%ymm0,%ymm0
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,130,1,0,0                 // lea           0x182(%rip),%r9        # 2fed8 <_sk_load_565_hsw_lowp+0x1aa>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  197,249,110,192                     // vmovd         %eax,%xmm0
+  .byte  233,8,1,0,0                         // jmpq          2fe75 <_sk_load_565_hsw_lowp+0x147>
+  .byte  196,193,126,111,4,80                // vmovdqu       (%r8,%rdx,2),%ymm0
+  .byte  233,253,0,0,0                       // jmpq          2fe75 <_sk_load_565_hsw_lowp+0x147>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  196,193,121,196,76,80,4,2           // vpinsrw       $0x2,0x4(%r8,%rdx,2),%xmm0,%xmm1
+  .byte  196,227,117,56,192,1                // vinserti128   $0x1,%xmm0,%ymm1,%ymm0
+  .byte  196,193,121,110,12,80               // vmovd         (%r8,%rdx,2),%xmm1
+  .byte  196,227,125,2,193,1                 // vpblendd      $0x1,%ymm1,%ymm0,%ymm0
+  .byte  233,218,0,0,0                       // jmpq          2fe75 <_sk_load_565_hsw_lowp+0x147>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  196,193,121,196,76,80,12,6          // vpinsrw       $0x6,0xc(%r8,%rdx,2),%xmm0,%xmm1
+  .byte  196,227,117,56,192,1                // vinserti128   $0x1,%xmm0,%ymm1,%ymm0
+  .byte  196,193,121,196,76,80,10,5          // vpinsrw       $0x5,0xa(%r8,%rdx,2),%xmm0,%xmm1
+  .byte  196,227,125,2,193,15                // vpblendd      $0xf,%ymm1,%ymm0,%ymm0
+  .byte  196,193,121,196,76,80,8,4           // vpinsrw       $0x4,0x8(%r8,%rdx,2),%xmm0,%xmm1
+  .byte  196,227,125,2,193,15                // vpblendd      $0xf,%ymm1,%ymm0,%ymm0
+  .byte  196,193,122,126,12,80               // vmovq         (%r8,%rdx,2),%xmm1
+  .byte  196,227,125,2,193,3                 // vpblendd      $0x3,%ymm1,%ymm0,%ymm0
+  .byte  233,155,0,0,0                       // jmpq          2fe75 <_sk_load_565_hsw_lowp+0x147>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  196,193,121,196,76,80,20,2          // vpinsrw       $0x2,0x14(%r8,%rdx,2),%xmm0,%xmm1
+  .byte  196,227,125,56,193,1                // vinserti128   $0x1,%xmm1,%ymm0,%ymm0
+  .byte  196,227,125,57,193,1                // vextracti128  $0x1,%ymm0,%xmm1
+  .byte  196,193,113,196,76,80,18,1          // vpinsrw       $0x1,0x12(%r8,%rdx,2),%xmm1,%xmm1
+  .byte  196,227,125,56,193,1                // vinserti128   $0x1,%xmm1,%ymm0,%ymm0
+  .byte  196,227,125,57,193,1                // vextracti128  $0x1,%ymm0,%xmm1
+  .byte  196,193,113,196,76,80,16,0          // vpinsrw       $0x0,0x10(%r8,%rdx,2),%xmm1,%xmm1
+  .byte  196,227,125,56,193,1                // vinserti128   $0x1,%xmm1,%ymm0,%ymm0
+  .byte  196,193,122,111,12,80               // vmovdqu       (%r8,%rdx,2),%xmm1
+  .byte  196,227,117,2,192,240               // vpblendd      $0xf0,%ymm0,%ymm1,%ymm0
+  .byte  235,83                              // jmp           2fe75 <_sk_load_565_hsw_lowp+0x147>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  196,193,121,196,76,80,28,6          // vpinsrw       $0x6,0x1c(%r8,%rdx,2),%xmm0,%xmm1
+  .byte  196,227,125,56,193,1                // vinserti128   $0x1,%xmm1,%ymm0,%ymm0
+  .byte  196,227,125,57,193,1                // vextracti128  $0x1,%ymm0,%xmm1
+  .byte  196,193,113,196,76,80,26,5          // vpinsrw       $0x5,0x1a(%r8,%rdx,2),%xmm1,%xmm1
+  .byte  196,227,125,56,193,1                // vinserti128   $0x1,%xmm1,%ymm0,%ymm0
+  .byte  196,227,125,57,193,1                // vextracti128  $0x1,%ymm0,%xmm1
+  .byte  196,193,113,196,76,80,24,4          // vpinsrw       $0x4,0x18(%r8,%rdx,2),%xmm1,%xmm1
+  .byte  196,227,125,56,193,1                // vinserti128   $0x1,%xmm1,%ymm0,%ymm0
+  .byte  196,193,122,126,76,80,16            // vmovq         0x10(%r8,%rdx,2),%xmm1
+  .byte  196,193,122,111,20,80               // vmovdqu       (%r8,%rdx,2),%xmm2
+  .byte  196,227,109,56,201,1                // vinserti128   $0x1,%xmm1,%ymm2,%ymm1
+  .byte  196,227,117,2,192,192               // vpblendd      $0xc0,%ymm0,%ymm1,%ymm0
+  .byte  196,226,125,121,13,194,206,0,0      // vpbroadcastw  0xcec2(%rip),%ymm1        # 3cd40 <_sk_srcover_bgra_8888_sse2_lowp+0xaf4>
+  .byte  197,237,113,208,8                   // vpsrlw        $0x8,%ymm0,%ymm2
+  .byte  197,237,219,201                     // vpand         %ymm1,%ymm2,%ymm1
+  .byte  197,237,113,208,5                   // vpsrlw        $0x5,%ymm0,%ymm2
+  .byte  196,226,125,121,29,173,206,0,0      // vpbroadcastw  0xcead(%rip),%ymm3        # 3cd42 <_sk_srcover_bgra_8888_sse2_lowp+0xaf6>
+  .byte  197,237,219,211                     // vpand         %ymm3,%ymm2,%ymm2
+  .byte  196,226,125,121,29,162,206,0,0      // vpbroadcastw  0xcea2(%rip),%ymm3        # 3cd44 <_sk_srcover_bgra_8888_sse2_lowp+0xaf8>
+  .byte  197,253,219,219                     // vpand         %ymm3,%ymm0,%ymm3
+  .byte  197,253,113,208,13                  // vpsrlw        $0xd,%ymm0,%ymm0
+  .byte  197,245,235,192                     // vpor          %ymm0,%ymm1,%ymm0
+  .byte  197,245,113,242,2                   // vpsllw        $0x2,%ymm2,%ymm1
+  .byte  197,237,113,210,4                   // vpsrlw        $0x4,%ymm2,%ymm2
+  .byte  197,245,235,202                     // vpor          %ymm2,%ymm1,%ymm1
+  .byte  197,237,113,243,3                   // vpsllw        $0x3,%ymm3,%ymm2
+  .byte  197,229,113,211,2                   // vpsrlw        $0x2,%ymm3,%ymm3
+  .byte  197,237,235,211                     // vpor          %ymm3,%ymm2,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,121,29,112,206,0,0      // vpbroadcastw  0xce70(%rip),%ymm3        # 3cd46 <_sk_srcover_bgra_8888_sse2_lowp+0xafa>
+  .byte  255,224                             // jmpq          *%rax
+  .byte  135,254                             // xchg          %edi,%esi
+  .byte  255                                 // (bad)
+  .byte  255,178,254,255,255,160             // pushq         -0x5f000002(%rdx)
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,241                             // push          %rcx
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,227                             // jmpq          *%rbx
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,213                             // callq         *%rbp
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,195                             // inc           %ebx
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  60,255                              // cmp           $0xff,%al
+  .byte  255                                 // (bad)
+  .byte  255,40                              // ljmp          *(%rax)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,20,255                          // callq         *(%rdi,%rdi,8)
+  .byte  255                                 // (bad)
+  .byte  255,2                               // incl          (%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,132,255,255,255,112,255         // incl          -0x8f0001(%rdi,%rdi,8)
+  .byte  255                                 // (bad)
+  .byte  255,92,255,255                      // lcall         *-0x1(%rdi,%rdi,8)
+  .byte  255,74,255                          // decl          -0x1(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_565_dst_hsw_lowp
+.globl _sk_load_565_dst_hsw_lowp
+FUNCTION(_sk_load_565_dst_hsw_lowp)
+_sk_load_565_dst_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,15                               // and           $0xf,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,14                               // cmp           $0xe,%al
+  .byte  119,37                              // ja            2ff53 <_sk_load_565_dst_hsw_lowp+0x3f>
+  .byte  197,221,239,228                     // vpxor         %ymm4,%ymm4,%ymm4
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,132,1,0,0                 // lea           0x184(%rip),%r9        # 300c0 <_sk_load_565_dst_hsw_lowp+0x1ac>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  197,249,110,224                     // vmovd         %eax,%xmm4
+  .byte  233,8,1,0,0                         // jmpq          3005b <_sk_load_565_dst_hsw_lowp+0x147>
+  .byte  196,193,126,111,36,80               // vmovdqu       (%r8,%rdx,2),%ymm4
+  .byte  233,253,0,0,0                       // jmpq          3005b <_sk_load_565_dst_hsw_lowp+0x147>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  196,193,89,196,108,80,4,2           // vpinsrw       $0x2,0x4(%r8,%rdx,2),%xmm4,%xmm5
+  .byte  196,227,85,56,228,1                 // vinserti128   $0x1,%xmm4,%ymm5,%ymm4
+  .byte  196,193,121,110,44,80               // vmovd         (%r8,%rdx,2),%xmm5
+  .byte  196,227,93,2,229,1                  // vpblendd      $0x1,%ymm5,%ymm4,%ymm4
+  .byte  233,218,0,0,0                       // jmpq          3005b <_sk_load_565_dst_hsw_lowp+0x147>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  196,193,89,196,108,80,12,6          // vpinsrw       $0x6,0xc(%r8,%rdx,2),%xmm4,%xmm5
+  .byte  196,227,85,56,228,1                 // vinserti128   $0x1,%xmm4,%ymm5,%ymm4
+  .byte  196,193,89,196,108,80,10,5          // vpinsrw       $0x5,0xa(%r8,%rdx,2),%xmm4,%xmm5
+  .byte  196,227,93,2,229,15                 // vpblendd      $0xf,%ymm5,%ymm4,%ymm4
+  .byte  196,193,89,196,108,80,8,4           // vpinsrw       $0x4,0x8(%r8,%rdx,2),%xmm4,%xmm5
+  .byte  196,227,93,2,229,15                 // vpblendd      $0xf,%ymm5,%ymm4,%ymm4
+  .byte  196,193,122,126,44,80               // vmovq         (%r8,%rdx,2),%xmm5
+  .byte  196,227,93,2,229,3                  // vpblendd      $0x3,%ymm5,%ymm4,%ymm4
+  .byte  233,155,0,0,0                       // jmpq          3005b <_sk_load_565_dst_hsw_lowp+0x147>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  196,193,89,196,108,80,20,2          // vpinsrw       $0x2,0x14(%r8,%rdx,2),%xmm4,%xmm5
+  .byte  196,227,93,56,229,1                 // vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  .byte  196,227,125,57,229,1                // vextracti128  $0x1,%ymm4,%xmm5
+  .byte  196,193,81,196,108,80,18,1          // vpinsrw       $0x1,0x12(%r8,%rdx,2),%xmm5,%xmm5
+  .byte  196,227,93,56,229,1                 // vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  .byte  196,227,125,57,229,1                // vextracti128  $0x1,%ymm4,%xmm5
+  .byte  196,193,81,196,108,80,16,0          // vpinsrw       $0x0,0x10(%r8,%rdx,2),%xmm5,%xmm5
+  .byte  196,227,93,56,229,1                 // vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  .byte  196,193,122,111,44,80               // vmovdqu       (%r8,%rdx,2),%xmm5
+  .byte  196,227,85,2,228,240                // vpblendd      $0xf0,%ymm4,%ymm5,%ymm4
+  .byte  235,83                              // jmp           3005b <_sk_load_565_dst_hsw_lowp+0x147>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  196,193,89,196,108,80,28,6          // vpinsrw       $0x6,0x1c(%r8,%rdx,2),%xmm4,%xmm5
+  .byte  196,227,93,56,229,1                 // vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  .byte  196,227,125,57,229,1                // vextracti128  $0x1,%ymm4,%xmm5
+  .byte  196,193,81,196,108,80,26,5          // vpinsrw       $0x5,0x1a(%r8,%rdx,2),%xmm5,%xmm5
+  .byte  196,227,93,56,229,1                 // vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  .byte  196,227,125,57,229,1                // vextracti128  $0x1,%ymm4,%xmm5
+  .byte  196,193,81,196,108,80,24,4          // vpinsrw       $0x4,0x18(%r8,%rdx,2),%xmm5,%xmm5
+  .byte  196,227,93,56,229,1                 // vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  .byte  196,193,122,126,108,80,16           // vmovq         0x10(%r8,%rdx,2),%xmm5
+  .byte  196,193,122,111,52,80               // vmovdqu       (%r8,%rdx,2),%xmm6
+  .byte  196,227,77,56,237,1                 // vinserti128   $0x1,%xmm5,%ymm6,%ymm5
+  .byte  196,227,85,2,228,192                // vpblendd      $0xc0,%ymm4,%ymm5,%ymm4
+  .byte  196,226,125,121,45,228,204,0,0      // vpbroadcastw  0xcce4(%rip),%ymm5        # 3cd48 <_sk_srcover_bgra_8888_sse2_lowp+0xafc>
+  .byte  197,205,113,212,8                   // vpsrlw        $0x8,%ymm4,%ymm6
+  .byte  197,205,219,237                     // vpand         %ymm5,%ymm6,%ymm5
+  .byte  197,205,113,212,5                   // vpsrlw        $0x5,%ymm4,%ymm6
+  .byte  196,226,125,121,61,207,204,0,0      // vpbroadcastw  0xcccf(%rip),%ymm7        # 3cd4a <_sk_srcover_bgra_8888_sse2_lowp+0xafe>
+  .byte  197,205,219,247                     // vpand         %ymm7,%ymm6,%ymm6
+  .byte  196,226,125,121,61,196,204,0,0      // vpbroadcastw  0xccc4(%rip),%ymm7        # 3cd4c <_sk_srcover_bgra_8888_sse2_lowp+0xb00>
+  .byte  197,221,219,255                     // vpand         %ymm7,%ymm4,%ymm7
+  .byte  197,221,113,212,13                  // vpsrlw        $0xd,%ymm4,%ymm4
+  .byte  197,213,235,228                     // vpor          %ymm4,%ymm5,%ymm4
+  .byte  197,213,113,246,2                   // vpsllw        $0x2,%ymm6,%ymm5
+  .byte  197,205,113,214,4                   // vpsrlw        $0x4,%ymm6,%ymm6
+  .byte  197,213,235,238                     // vpor          %ymm6,%ymm5,%ymm5
+  .byte  197,205,113,247,3                   // vpsllw        $0x3,%ymm7,%ymm6
+  .byte  197,197,113,215,2                   // vpsrlw        $0x2,%ymm7,%ymm7
+  .byte  197,205,235,247                     // vpor          %ymm7,%ymm6,%ymm6
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,121,61,146,204,0,0      // vpbroadcastw  0xcc92(%rip),%ymm7        # 3cd4e <_sk_srcover_bgra_8888_sse2_lowp+0xb02>
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  133,254                             // test          %edi,%esi
+  .byte  255                                 // (bad)
+  .byte  255,176,254,255,255,158             // pushq         -0x61000002(%rax)
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  239                                 // out           %eax,(%dx)
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,225                             // jmpq          *%rcx
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,211                             // callq         *%rbx
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,193                             // inc           %ecx
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  58,255                              // cmp           %bh,%bh
+  .byte  255                                 // (bad)
+  .byte  255,38                              // jmpq          *(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,18                              // callq         *(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,130,255,255,255,110             // incl          0x6effffff(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,90,255                          // lcall         *-0x1(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255,72,255                          // decl          -0x1(%rax)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_store_565_hsw_lowp
+.globl _sk_store_565_hsw_lowp
+FUNCTION(_sk_store_565_hsw_lowp)
+_sk_store_565_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  196,98,125,121,5,59,204,0,0         // vpbroadcastw  0xcc3b(%rip),%ymm8        # 3cd50 <_sk_srcover_bgra_8888_sse2_lowp+0xb04>
+  .byte  197,181,113,240,8                   // vpsllw        $0x8,%ymm0,%ymm9
+  .byte  196,65,53,219,192                   // vpand         %ymm8,%ymm9,%ymm8
+  .byte  196,98,125,121,13,42,204,0,0        // vpbroadcastw  0xcc2a(%rip),%ymm9        # 3cd52 <_sk_srcover_bgra_8888_sse2_lowp+0xb06>
+  .byte  197,173,113,241,3                   // vpsllw        $0x3,%ymm1,%ymm10
+  .byte  196,65,45,219,201                   // vpand         %ymm9,%ymm10,%ymm9
+  .byte  196,65,53,235,192                   // vpor          %ymm8,%ymm9,%ymm8
+  .byte  197,181,113,210,3                   // vpsrlw        $0x3,%ymm2,%ymm9
+  .byte  196,65,61,235,193                   // vpor          %ymm9,%ymm8,%ymm8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,15                               // and           $0xf,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,14                               // cmp           $0xe,%al
+  .byte  119,31                              // ja            3016a <_sk_store_565_hsw_lowp+0x6e>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,195,0,0,0                 // lea           0xc3(%rip),%r9        # 30218 <_sk_store_565_hsw_lowp+0x11c>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,67,121,21,4,80,0                // vpextrw       $0x0,%xmm8,(%r8,%rdx,2)
+  .byte  233,167,0,0,0                       // jmpq          30211 <_sk_store_565_hsw_lowp+0x115>
+  .byte  196,65,126,127,4,80                 // vmovdqu       %ymm8,(%r8,%rdx,2)
+  .byte  233,156,0,0,0                       // jmpq          30211 <_sk_store_565_hsw_lowp+0x115>
+  .byte  196,67,121,21,68,80,4,2             // vpextrw       $0x2,%xmm8,0x4(%r8,%rdx,2)
+  .byte  196,65,121,126,4,80                 // vmovd         %xmm8,(%r8,%rdx,2)
+  .byte  233,137,0,0,0                       // jmpq          30211 <_sk_store_565_hsw_lowp+0x115>
+  .byte  196,67,121,21,68,80,12,6            // vpextrw       $0x6,%xmm8,0xc(%r8,%rdx,2)
+  .byte  196,67,121,21,68,80,10,5            // vpextrw       $0x5,%xmm8,0xa(%r8,%rdx,2)
+  .byte  196,67,121,21,68,80,8,4             // vpextrw       $0x4,%xmm8,0x8(%r8,%rdx,2)
+  .byte  196,65,121,214,4,80                 // vmovq         %xmm8,(%r8,%rdx,2)
+  .byte  235,105                             // jmp           30211 <_sk_store_565_hsw_lowp+0x115>
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,21,76,80,20,2            // vpextrw       $0x2,%xmm9,0x14(%r8,%rdx,2)
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,21,76,80,18,1            // vpextrw       $0x1,%xmm9,0x12(%r8,%rdx,2)
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,21,76,80,16,0            // vpextrw       $0x0,%xmm9,0x10(%r8,%rdx,2)
+  .byte  235,55                              // jmp           3020b <_sk_store_565_hsw_lowp+0x10f>
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,21,76,80,28,6            // vpextrw       $0x6,%xmm9,0x1c(%r8,%rdx,2)
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,21,76,80,26,5            // vpextrw       $0x5,%xmm9,0x1a(%r8,%rdx,2)
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,21,76,80,24,4            // vpextrw       $0x4,%xmm9,0x18(%r8,%rdx,2)
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,65,121,214,76,80,16             // vmovq         %xmm9,0x10(%r8,%rdx,2)
+  .byte  196,65,122,127,4,80                 // vmovdqu       %xmm8,(%r8,%rdx,2)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  15,31,0                             // nopl          (%rax)
+  .byte  70,255                              // rex.RX        (bad)
+  .byte  255                                 // (bad)
+  .byte  255,101,255                         // jmpq          *-0x1(%rbp)
+  .byte  255                                 // (bad)
+  .byte  255,93,255                          // lcall         *-0x1(%rbp)
+  .byte  255                                 // (bad)
+  .byte  255,136,255,255,255,128             // decl          -0x7f000001(%rax)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  120,255                             // js            3022d <_sk_store_565_hsw_lowp+0x131>
+  .byte  255                                 // (bad)
+  .byte  255,112,255                         // pushq         -0x1(%rax)
+  .byte  255                                 // (bad)
+  .byte  255,243                             // push          %rbx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,172,255,255,255,158,255         // ljmp          *-0x610001(%rdi,%rdi,8)
+  .byte  255                                 // (bad)
+  .byte  255,144,255,255,255,230             // callq         *-0x19000001(%rax)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  216,255                             // fdivr         %st(7),%st
+  .byte  255                                 // (bad)
+  .byte  255,202                             // dec           %edx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  188                                 // .byte         0xbc
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_gather_565_hsw_lowp
+.globl _sk_gather_565_hsw_lowp
+FUNCTION(_sk_gather_565_hsw_lowp)
+_sk_gather_565_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,88,64,12                 // vpbroadcastd  0xc(%rax),%ymm8
+  .byte  196,65,53,118,201                   // vpcmpeqd      %ymm9,%ymm9,%ymm9
+  .byte  196,65,61,254,193                   // vpaddd        %ymm9,%ymm8,%ymm8
+  .byte  196,65,44,87,210                    // vxorps        %ymm10,%ymm10,%ymm10
+  .byte  196,193,124,95,194                  // vmaxps        %ymm10,%ymm0,%ymm0
+  .byte  196,193,116,95,202                  // vmaxps        %ymm10,%ymm1,%ymm1
+  .byte  196,193,116,93,200                  // vminps        %ymm8,%ymm1,%ymm1
+  .byte  196,193,124,93,192                  // vminps        %ymm8,%ymm0,%ymm0
+  .byte  196,98,125,88,64,16                 // vpbroadcastd  0x10(%rax),%ymm8
+  .byte  196,65,61,254,193                   // vpaddd        %ymm9,%ymm8,%ymm8
+  .byte  196,193,100,95,218                  // vmaxps        %ymm10,%ymm3,%ymm3
+  .byte  196,193,108,95,210                  // vmaxps        %ymm10,%ymm2,%ymm2
+  .byte  196,193,108,93,208                  // vminps        %ymm8,%ymm2,%ymm2
+  .byte  196,193,100,93,216                  // vminps        %ymm8,%ymm3,%ymm3
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  197,254,91,219                      // vcvttps2dq    %ymm3,%ymm3
+  .byte  197,254,91,210                      // vcvttps2dq    %ymm2,%ymm2
+  .byte  196,98,125,88,64,8                  // vpbroadcastd  0x8(%rax),%ymm8
+  .byte  196,226,61,64,210                   // vpmulld       %ymm2,%ymm8,%ymm2
+  .byte  196,226,61,64,219                   // vpmulld       %ymm3,%ymm8,%ymm3
+  .byte  197,254,91,192                      // vcvttps2dq    %ymm0,%ymm0
+  .byte  197,237,254,192                     // vpaddd        %ymm0,%ymm2,%ymm0
+  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
+  .byte  197,229,254,201                     // vpaddd        %ymm1,%ymm3,%ymm1
+  .byte  196,193,249,126,201                 // vmovq         %xmm1,%r9
+  .byte  68,137,200                          // mov           %r9d,%eax
+  .byte  65,15,183,4,64                      // movzwl        (%r8,%rax,2),%eax
+  .byte  197,249,110,208                     // vmovd         %eax,%xmm2
+  .byte  196,195,249,22,202,1                // vpextrq       $0x1,%xmm1,%r10
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  67,15,183,4,72                      // movzwl        (%r8,%r9,2),%eax
+  .byte  197,233,196,208,1                   // vpinsrw       $0x1,%eax,%xmm2,%xmm2
+  .byte  68,137,208                          // mov           %r10d,%eax
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,227,125,57,201,1                // vextracti128  $0x1,%ymm1,%xmm1
+  .byte  65,15,183,4,64                      // movzwl        (%r8,%rax,2),%eax
+  .byte  197,233,196,208,2                   // vpinsrw       $0x2,%eax,%xmm2,%xmm2
+  .byte  196,193,249,126,201                 // vmovq         %xmm1,%r9
+  .byte  67,15,183,4,80                      // movzwl        (%r8,%r10,2),%eax
+  .byte  197,233,196,208,3                   // vpinsrw       $0x3,%eax,%xmm2,%xmm2
+  .byte  68,137,200                          // mov           %r9d,%eax
+  .byte  65,15,183,4,64                      // movzwl        (%r8,%rax,2),%eax
+  .byte  197,233,196,208,4                   // vpinsrw       $0x4,%eax,%xmm2,%xmm2
+  .byte  196,195,249,22,202,1                // vpextrq       $0x1,%xmm1,%r10
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  67,15,183,4,72                      // movzwl        (%r8,%r9,2),%eax
+  .byte  197,233,196,200,5                   // vpinsrw       $0x5,%eax,%xmm2,%xmm1
+  .byte  68,137,208                          // mov           %r10d,%eax
+  .byte  65,15,183,4,64                      // movzwl        (%r8,%rax,2),%eax
+  .byte  197,241,196,200,6                   // vpinsrw       $0x6,%eax,%xmm1,%xmm1
+  .byte  196,193,249,126,193                 // vmovq         %xmm0,%r9
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  67,15,183,4,80                      // movzwl        (%r8,%r10,2),%eax
+  .byte  197,241,196,200,7                   // vpinsrw       $0x7,%eax,%xmm1,%xmm1
+  .byte  68,137,200                          // mov           %r9d,%eax
+  .byte  65,15,183,4,64                      // movzwl        (%r8,%rax,2),%eax
+  .byte  197,249,110,208                     // vmovd         %eax,%xmm2
+  .byte  196,195,249,22,194,1                // vpextrq       $0x1,%xmm0,%r10
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  67,15,183,4,72                      // movzwl        (%r8,%r9,2),%eax
+  .byte  197,233,196,208,1                   // vpinsrw       $0x1,%eax,%xmm2,%xmm2
+  .byte  68,137,208                          // mov           %r10d,%eax
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,227,125,57,192,1                // vextracti128  $0x1,%ymm0,%xmm0
+  .byte  65,15,183,4,64                      // movzwl        (%r8,%rax,2),%eax
+  .byte  197,233,196,208,2                   // vpinsrw       $0x2,%eax,%xmm2,%xmm2
+  .byte  196,193,249,126,193                 // vmovq         %xmm0,%r9
+  .byte  67,15,183,4,80                      // movzwl        (%r8,%r10,2),%eax
+  .byte  197,233,196,208,3                   // vpinsrw       $0x3,%eax,%xmm2,%xmm2
+  .byte  68,137,200                          // mov           %r9d,%eax
+  .byte  65,15,183,4,64                      // movzwl        (%r8,%rax,2),%eax
+  .byte  197,233,196,208,4                   // vpinsrw       $0x4,%eax,%xmm2,%xmm2
+  .byte  196,195,249,22,194,1                // vpextrq       $0x1,%xmm0,%r10
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  67,15,183,4,72                      // movzwl        (%r8,%r9,2),%eax
+  .byte  197,233,196,192,5                   // vpinsrw       $0x5,%eax,%xmm2,%xmm0
+  .byte  68,137,208                          // mov           %r10d,%eax
+  .byte  65,15,183,4,64                      // movzwl        (%r8,%rax,2),%eax
+  .byte  197,249,196,192,6                   // vpinsrw       $0x6,%eax,%xmm0,%xmm0
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  67,15,183,4,80                      // movzwl        (%r8,%r10,2),%eax
+  .byte  197,249,196,192,7                   // vpinsrw       $0x7,%eax,%xmm0,%xmm0
+  .byte  196,227,125,56,193,1                // vinserti128   $0x1,%xmm1,%ymm0,%ymm0
+  .byte  196,226,125,121,13,110,201,0,0      // vpbroadcastw  0xc96e(%rip),%ymm1        # 3cd54 <_sk_srcover_bgra_8888_sse2_lowp+0xb08>
+  .byte  197,237,113,208,8                   // vpsrlw        $0x8,%ymm0,%ymm2
+  .byte  197,237,219,201                     // vpand         %ymm1,%ymm2,%ymm1
+  .byte  197,237,113,208,5                   // vpsrlw        $0x5,%ymm0,%ymm2
+  .byte  196,226,125,121,29,89,201,0,0       // vpbroadcastw  0xc959(%rip),%ymm3        # 3cd56 <_sk_srcover_bgra_8888_sse2_lowp+0xb0a>
+  .byte  197,237,219,211                     // vpand         %ymm3,%ymm2,%ymm2
+  .byte  196,226,125,121,29,78,201,0,0       // vpbroadcastw  0xc94e(%rip),%ymm3        # 3cd58 <_sk_srcover_bgra_8888_sse2_lowp+0xb0c>
+  .byte  197,253,219,219                     // vpand         %ymm3,%ymm0,%ymm3
+  .byte  197,253,113,208,13                  // vpsrlw        $0xd,%ymm0,%ymm0
+  .byte  197,245,235,192                     // vpor          %ymm0,%ymm1,%ymm0
+  .byte  197,245,113,242,2                   // vpsllw        $0x2,%ymm2,%ymm1
+  .byte  197,237,113,210,4                   // vpsrlw        $0x4,%ymm2,%ymm2
+  .byte  197,245,235,202                     // vpor          %ymm2,%ymm1,%ymm1
+  .byte  197,237,113,243,3                   // vpsllw        $0x3,%ymm3,%ymm2
+  .byte  197,229,113,211,2                   // vpsrlw        $0x2,%ymm3,%ymm3
+  .byte  197,237,235,211                     // vpor          %ymm3,%ymm2,%ymm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,121,29,28,201,0,0       // vpbroadcastw  0xc91c(%rip),%ymm3        # 3cd5a <_sk_srcover_bgra_8888_sse2_lowp+0xb0e>
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_load_4444_hsw_lowp
+.globl _sk_load_4444_hsw_lowp
+FUNCTION(_sk_load_4444_hsw_lowp)
+_sk_load_4444_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,15                               // and           $0xf,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,14                               // cmp           $0xe,%al
+  .byte  119,37                              // ja            3047f <_sk_load_4444_hsw_lowp+0x3f>
+  .byte  197,253,239,192                     // vpxor         %ymm0,%ymm0,%ymm0
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,112,1,0,0                 // lea           0x170(%rip),%r9        # 305d8 <_sk_load_4444_hsw_lowp+0x198>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  197,249,110,192                     // vmovd         %eax,%xmm0
+  .byte  233,8,1,0,0                         // jmpq          30587 <_sk_load_4444_hsw_lowp+0x147>
+  .byte  196,193,126,111,4,80                // vmovdqu       (%r8,%rdx,2),%ymm0
+  .byte  233,253,0,0,0                       // jmpq          30587 <_sk_load_4444_hsw_lowp+0x147>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  196,193,121,196,76,80,4,2           // vpinsrw       $0x2,0x4(%r8,%rdx,2),%xmm0,%xmm1
+  .byte  196,227,117,56,192,1                // vinserti128   $0x1,%xmm0,%ymm1,%ymm0
+  .byte  196,193,121,110,12,80               // vmovd         (%r8,%rdx,2),%xmm1
+  .byte  196,227,125,2,193,1                 // vpblendd      $0x1,%ymm1,%ymm0,%ymm0
+  .byte  233,218,0,0,0                       // jmpq          30587 <_sk_load_4444_hsw_lowp+0x147>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  196,193,121,196,76,80,12,6          // vpinsrw       $0x6,0xc(%r8,%rdx,2),%xmm0,%xmm1
+  .byte  196,227,117,56,192,1                // vinserti128   $0x1,%xmm0,%ymm1,%ymm0
+  .byte  196,193,121,196,76,80,10,5          // vpinsrw       $0x5,0xa(%r8,%rdx,2),%xmm0,%xmm1
+  .byte  196,227,125,2,193,15                // vpblendd      $0xf,%ymm1,%ymm0,%ymm0
+  .byte  196,193,121,196,76,80,8,4           // vpinsrw       $0x4,0x8(%r8,%rdx,2),%xmm0,%xmm1
+  .byte  196,227,125,2,193,15                // vpblendd      $0xf,%ymm1,%ymm0,%ymm0
+  .byte  196,193,122,126,12,80               // vmovq         (%r8,%rdx,2),%xmm1
+  .byte  196,227,125,2,193,3                 // vpblendd      $0x3,%ymm1,%ymm0,%ymm0
+  .byte  233,155,0,0,0                       // jmpq          30587 <_sk_load_4444_hsw_lowp+0x147>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  196,193,121,196,76,80,20,2          // vpinsrw       $0x2,0x14(%r8,%rdx,2),%xmm0,%xmm1
+  .byte  196,227,125,56,193,1                // vinserti128   $0x1,%xmm1,%ymm0,%ymm0
+  .byte  196,227,125,57,193,1                // vextracti128  $0x1,%ymm0,%xmm1
+  .byte  196,193,113,196,76,80,18,1          // vpinsrw       $0x1,0x12(%r8,%rdx,2),%xmm1,%xmm1
+  .byte  196,227,125,56,193,1                // vinserti128   $0x1,%xmm1,%ymm0,%ymm0
+  .byte  196,227,125,57,193,1                // vextracti128  $0x1,%ymm0,%xmm1
+  .byte  196,193,113,196,76,80,16,0          // vpinsrw       $0x0,0x10(%r8,%rdx,2),%xmm1,%xmm1
+  .byte  196,227,125,56,193,1                // vinserti128   $0x1,%xmm1,%ymm0,%ymm0
+  .byte  196,193,122,111,12,80               // vmovdqu       (%r8,%rdx,2),%xmm1
+  .byte  196,227,117,2,192,240               // vpblendd      $0xf0,%ymm0,%ymm1,%ymm0
+  .byte  235,83                              // jmp           30587 <_sk_load_4444_hsw_lowp+0x147>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  196,193,121,196,76,80,28,6          // vpinsrw       $0x6,0x1c(%r8,%rdx,2),%xmm0,%xmm1
+  .byte  196,227,125,56,193,1                // vinserti128   $0x1,%xmm1,%ymm0,%ymm0
+  .byte  196,227,125,57,193,1                // vextracti128  $0x1,%ymm0,%xmm1
+  .byte  196,193,113,196,76,80,26,5          // vpinsrw       $0x5,0x1a(%r8,%rdx,2),%xmm1,%xmm1
+  .byte  196,227,125,56,193,1                // vinserti128   $0x1,%xmm1,%ymm0,%ymm0
+  .byte  196,227,125,57,193,1                // vextracti128  $0x1,%ymm0,%xmm1
+  .byte  196,193,113,196,76,80,24,4          // vpinsrw       $0x4,0x18(%r8,%rdx,2),%xmm1,%xmm1
+  .byte  196,227,125,56,193,1                // vinserti128   $0x1,%xmm1,%ymm0,%ymm0
+  .byte  196,193,122,126,76,80,16            // vmovq         0x10(%r8,%rdx,2),%xmm1
+  .byte  196,193,122,111,20,80               // vmovdqu       (%r8,%rdx,2),%xmm2
+  .byte  196,227,109,56,201,1                // vinserti128   $0x1,%xmm1,%ymm2,%ymm1
+  .byte  196,227,117,2,192,192               // vpblendd      $0xc0,%ymm0,%ymm1,%ymm0
+  .byte  197,245,113,208,12                  // vpsrlw        $0xc,%ymm0,%ymm1
+  .byte  197,237,113,208,8                   // vpsrlw        $0x8,%ymm0,%ymm2
+  .byte  196,226,125,121,29,194,199,0,0      // vpbroadcastw  0xc7c2(%rip),%ymm3        # 3cd5c <_sk_srcover_bgra_8888_sse2_lowp+0xb10>
+  .byte  197,237,219,211                     // vpand         %ymm3,%ymm2,%ymm2
+  .byte  197,189,113,208,4                   // vpsrlw        $0x4,%ymm0,%ymm8
+  .byte  197,61,219,195                      // vpand         %ymm3,%ymm8,%ymm8
+  .byte  197,253,219,219                     // vpand         %ymm3,%ymm0,%ymm3
+  .byte  197,253,113,241,4                   // vpsllw        $0x4,%ymm1,%ymm0
+  .byte  197,253,235,193                     // vpor          %ymm1,%ymm0,%ymm0
+  .byte  197,245,113,242,4                   // vpsllw        $0x4,%ymm2,%ymm1
+  .byte  197,245,235,202                     // vpor          %ymm2,%ymm1,%ymm1
+  .byte  196,193,109,113,240,4               // vpsllw        $0x4,%ymm8,%ymm2
+  .byte  196,193,109,235,208                 // vpor          %ymm8,%ymm2,%ymm2
+  .byte  197,189,113,243,4                   // vpsllw        $0x4,%ymm3,%ymm8
+  .byte  197,189,235,219                     // vpor          %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  15,31,0                             // nopl          (%rax)
+  .byte  153                                 // cltd
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,196                             // inc           %esp
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,178,254,255,255,3               // pushq         0x3fffffe(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,245                             // push          %rbp
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,231                             // jmpq          *%rdi
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,213                             // callq         *%rbp
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,78,255                          // decl          -0x1(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  58,255                              // cmp           %bh,%bh
+  .byte  255                                 // (bad)
+  .byte  255,38                              // jmpq          *(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,20,255                          // callq         *(%rdi,%rdi,8)
+  .byte  255                                 // (bad)
+  .byte  255,150,255,255,255,130             // callq         *-0x7d000001(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,110,255                         // ljmp          *-0x1(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255,92,255,255                      // lcall         *-0x1(%rdi,%rdi,8)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_4444_dst_hsw_lowp
+.globl _sk_load_4444_dst_hsw_lowp
+FUNCTION(_sk_load_4444_dst_hsw_lowp)
+_sk_load_4444_dst_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,15                               // and           $0xf,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,14                               // cmp           $0xe,%al
+  .byte  119,37                              // ja            30653 <_sk_load_4444_dst_hsw_lowp+0x3f>
+  .byte  197,221,239,228                     // vpxor         %ymm4,%ymm4,%ymm4
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,112,1,0,0                 // lea           0x170(%rip),%r9        # 307ac <_sk_load_4444_dst_hsw_lowp+0x198>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  197,249,110,224                     // vmovd         %eax,%xmm4
+  .byte  233,8,1,0,0                         // jmpq          3075b <_sk_load_4444_dst_hsw_lowp+0x147>
+  .byte  196,193,126,111,36,80               // vmovdqu       (%r8,%rdx,2),%ymm4
+  .byte  233,253,0,0,0                       // jmpq          3075b <_sk_load_4444_dst_hsw_lowp+0x147>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  196,193,89,196,108,80,4,2           // vpinsrw       $0x2,0x4(%r8,%rdx,2),%xmm4,%xmm5
+  .byte  196,227,85,56,228,1                 // vinserti128   $0x1,%xmm4,%ymm5,%ymm4
+  .byte  196,193,121,110,44,80               // vmovd         (%r8,%rdx,2),%xmm5
+  .byte  196,227,93,2,229,1                  // vpblendd      $0x1,%ymm5,%ymm4,%ymm4
+  .byte  233,218,0,0,0                       // jmpq          3075b <_sk_load_4444_dst_hsw_lowp+0x147>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  196,193,89,196,108,80,12,6          // vpinsrw       $0x6,0xc(%r8,%rdx,2),%xmm4,%xmm5
+  .byte  196,227,85,56,228,1                 // vinserti128   $0x1,%xmm4,%ymm5,%ymm4
+  .byte  196,193,89,196,108,80,10,5          // vpinsrw       $0x5,0xa(%r8,%rdx,2),%xmm4,%xmm5
+  .byte  196,227,93,2,229,15                 // vpblendd      $0xf,%ymm5,%ymm4,%ymm4
+  .byte  196,193,89,196,108,80,8,4           // vpinsrw       $0x4,0x8(%r8,%rdx,2),%xmm4,%xmm5
+  .byte  196,227,93,2,229,15                 // vpblendd      $0xf,%ymm5,%ymm4,%ymm4
+  .byte  196,193,122,126,44,80               // vmovq         (%r8,%rdx,2),%xmm5
+  .byte  196,227,93,2,229,3                  // vpblendd      $0x3,%ymm5,%ymm4,%ymm4
+  .byte  233,155,0,0,0                       // jmpq          3075b <_sk_load_4444_dst_hsw_lowp+0x147>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  196,193,89,196,108,80,20,2          // vpinsrw       $0x2,0x14(%r8,%rdx,2),%xmm4,%xmm5
+  .byte  196,227,93,56,229,1                 // vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  .byte  196,227,125,57,229,1                // vextracti128  $0x1,%ymm4,%xmm5
+  .byte  196,193,81,196,108,80,18,1          // vpinsrw       $0x1,0x12(%r8,%rdx,2),%xmm5,%xmm5
+  .byte  196,227,93,56,229,1                 // vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  .byte  196,227,125,57,229,1                // vextracti128  $0x1,%ymm4,%xmm5
+  .byte  196,193,81,196,108,80,16,0          // vpinsrw       $0x0,0x10(%r8,%rdx,2),%xmm5,%xmm5
+  .byte  196,227,93,56,229,1                 // vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  .byte  196,193,122,111,44,80               // vmovdqu       (%r8,%rdx,2),%xmm5
+  .byte  196,227,85,2,228,240                // vpblendd      $0xf0,%ymm4,%ymm5,%ymm4
+  .byte  235,83                              // jmp           3075b <_sk_load_4444_dst_hsw_lowp+0x147>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  196,193,89,196,108,80,28,6          // vpinsrw       $0x6,0x1c(%r8,%rdx,2),%xmm4,%xmm5
+  .byte  196,227,93,56,229,1                 // vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  .byte  196,227,125,57,229,1                // vextracti128  $0x1,%ymm4,%xmm5
+  .byte  196,193,81,196,108,80,26,5          // vpinsrw       $0x5,0x1a(%r8,%rdx,2),%xmm5,%xmm5
+  .byte  196,227,93,56,229,1                 // vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  .byte  196,227,125,57,229,1                // vextracti128  $0x1,%ymm4,%xmm5
+  .byte  196,193,81,196,108,80,24,4          // vpinsrw       $0x4,0x18(%r8,%rdx,2),%xmm5,%xmm5
+  .byte  196,227,93,56,229,1                 // vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  .byte  196,193,122,126,108,80,16           // vmovq         0x10(%r8,%rdx,2),%xmm5
+  .byte  196,193,122,111,52,80               // vmovdqu       (%r8,%rdx,2),%xmm6
+  .byte  196,227,77,56,237,1                 // vinserti128   $0x1,%xmm5,%ymm6,%ymm5
+  .byte  196,227,85,2,228,192                // vpblendd      $0xc0,%ymm4,%ymm5,%ymm4
+  .byte  197,213,113,212,12                  // vpsrlw        $0xc,%ymm4,%ymm5
+  .byte  197,205,113,212,8                   // vpsrlw        $0x8,%ymm4,%ymm6
+  .byte  196,226,125,121,61,240,197,0,0      // vpbroadcastw  0xc5f0(%rip),%ymm7        # 3cd5e <_sk_srcover_bgra_8888_sse2_lowp+0xb12>
+  .byte  197,205,219,247                     // vpand         %ymm7,%ymm6,%ymm6
+  .byte  197,189,113,212,4                   // vpsrlw        $0x4,%ymm4,%ymm8
+  .byte  197,61,219,199                      // vpand         %ymm7,%ymm8,%ymm8
+  .byte  197,221,219,255                     // vpand         %ymm7,%ymm4,%ymm7
+  .byte  197,221,113,245,4                   // vpsllw        $0x4,%ymm5,%ymm4
+  .byte  197,221,235,229                     // vpor          %ymm5,%ymm4,%ymm4
+  .byte  197,213,113,246,4                   // vpsllw        $0x4,%ymm6,%ymm5
+  .byte  197,213,235,238                     // vpor          %ymm6,%ymm5,%ymm5
+  .byte  196,193,77,113,240,4                // vpsllw        $0x4,%ymm8,%ymm6
+  .byte  196,193,77,235,240                  // vpor          %ymm8,%ymm6,%ymm6
+  .byte  197,189,113,247,4                   // vpsllw        $0x4,%ymm7,%ymm8
+  .byte  197,189,235,255                     // vpor          %ymm7,%ymm8,%ymm7
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  15,31,0                             // nopl          (%rax)
+  .byte  153                                 // cltd
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,196                             // inc           %esp
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,178,254,255,255,3               // pushq         0x3fffffe(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,245                             // push          %rbp
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,231                             // jmpq          *%rdi
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,213                             // callq         *%rbp
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,78,255                          // decl          -0x1(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  58,255                              // cmp           %bh,%bh
+  .byte  255                                 // (bad)
+  .byte  255,38                              // jmpq          *(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,20,255                          // callq         *(%rdi,%rdi,8)
+  .byte  255                                 // (bad)
+  .byte  255,150,255,255,255,130             // callq         *-0x7d000001(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,110,255                         // ljmp          *-0x1(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255,92,255,255                      // lcall         *-0x1(%rdi,%rdi,8)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_store_4444_hsw_lowp
+.globl _sk_store_4444_hsw_lowp
+FUNCTION(_sk_store_4444_hsw_lowp)
+_sk_store_4444_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  196,98,125,121,5,95,197,0,0         // vpbroadcastw  0xc55f(%rip),%ymm8        # 3cd60 <_sk_srcover_bgra_8888_sse2_lowp+0xb14>
+  .byte  197,181,113,240,8                   // vpsllw        $0x8,%ymm0,%ymm9
+  .byte  196,65,53,219,192                   // vpand         %ymm8,%ymm9,%ymm8
+  .byte  197,181,113,241,4                   // vpsllw        $0x4,%ymm1,%ymm9
+  .byte  197,53,219,13,104,197,0,0           // vpand         0xc568(%rip),%ymm9,%ymm9        # 3cd80 <_sk_srcover_bgra_8888_sse2_lowp+0xb34>
+  .byte  196,65,53,235,192                   // vpor          %ymm8,%ymm9,%ymm8
+  .byte  196,98,125,121,13,122,197,0,0       // vpbroadcastw  0xc57a(%rip),%ymm9        # 3cda0 <_sk_srcover_bgra_8888_sse2_lowp+0xb54>
+  .byte  196,65,109,219,201                  // vpand         %ymm9,%ymm2,%ymm9
+  .byte  197,173,113,211,4                   // vpsrlw        $0x4,%ymm3,%ymm10
+  .byte  196,65,53,235,202                   // vpor          %ymm10,%ymm9,%ymm9
+  .byte  196,65,61,235,193                   // vpor          %ymm9,%ymm8,%ymm8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,15                               // and           $0xf,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,14                               // cmp           $0xe,%al
+  .byte  119,31                              // ja            30863 <_sk_store_4444_hsw_lowp+0x7b>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,194,0,0,0                 // lea           0xc2(%rip),%r9        # 30910 <_sk_store_4444_hsw_lowp+0x128>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,67,121,21,4,80,0                // vpextrw       $0x0,%xmm8,(%r8,%rdx,2)
+  .byte  233,167,0,0,0                       // jmpq          3090a <_sk_store_4444_hsw_lowp+0x122>
+  .byte  196,65,126,127,4,80                 // vmovdqu       %ymm8,(%r8,%rdx,2)
+  .byte  233,156,0,0,0                       // jmpq          3090a <_sk_store_4444_hsw_lowp+0x122>
+  .byte  196,67,121,21,68,80,4,2             // vpextrw       $0x2,%xmm8,0x4(%r8,%rdx,2)
+  .byte  196,65,121,126,4,80                 // vmovd         %xmm8,(%r8,%rdx,2)
+  .byte  233,137,0,0,0                       // jmpq          3090a <_sk_store_4444_hsw_lowp+0x122>
+  .byte  196,67,121,21,68,80,12,6            // vpextrw       $0x6,%xmm8,0xc(%r8,%rdx,2)
+  .byte  196,67,121,21,68,80,10,5            // vpextrw       $0x5,%xmm8,0xa(%r8,%rdx,2)
+  .byte  196,67,121,21,68,80,8,4             // vpextrw       $0x4,%xmm8,0x8(%r8,%rdx,2)
+  .byte  196,65,121,214,4,80                 // vmovq         %xmm8,(%r8,%rdx,2)
+  .byte  235,105                             // jmp           3090a <_sk_store_4444_hsw_lowp+0x122>
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,21,76,80,20,2            // vpextrw       $0x2,%xmm9,0x14(%r8,%rdx,2)
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,21,76,80,18,1            // vpextrw       $0x1,%xmm9,0x12(%r8,%rdx,2)
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,21,76,80,16,0            // vpextrw       $0x0,%xmm9,0x10(%r8,%rdx,2)
+  .byte  235,55                              // jmp           30904 <_sk_store_4444_hsw_lowp+0x11c>
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,21,76,80,28,6            // vpextrw       $0x6,%xmm9,0x1c(%r8,%rdx,2)
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,21,76,80,26,5            // vpextrw       $0x5,%xmm9,0x1a(%r8,%rdx,2)
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,21,76,80,24,4            // vpextrw       $0x4,%xmm9,0x18(%r8,%rdx,2)
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,65,121,214,76,80,16             // vmovq         %xmm9,0x10(%r8,%rdx,2)
+  .byte  196,65,122,127,4,80                 // vmovdqu       %xmm8,(%r8,%rdx,2)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  71,255                              // rex.RXB       (bad)
+  .byte  255                                 // (bad)
+  .byte  255,102,255                         // jmpq          *-0x1(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255,94,255                          // lcall         *-0x1(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255,137,255,255,255,129             // decl          -0x7e000001(%rcx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  121,255                             // jns           30925 <_sk_store_4444_hsw_lowp+0x13d>
+  .byte  255                                 // (bad)
+  .byte  255,113,255                         // pushq         -0x1(%rcx)
+  .byte  255                                 // (bad)
+  .byte  255,244                             // push          %rsp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,173,255,255,255,159             // ljmp          *-0x60000001(%rbp)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,145,255,255,255,231             // callq         *-0x18000001(%rcx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  217,255                             // fcos
+  .byte  255                                 // (bad)
+  .byte  255,203                             // dec           %ebx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  189                                 // .byte         0xbd
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_gather_4444_hsw_lowp
+.globl _sk_gather_4444_hsw_lowp
+FUNCTION(_sk_gather_4444_hsw_lowp)
+_sk_gather_4444_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,88,64,12                 // vpbroadcastd  0xc(%rax),%ymm8
+  .byte  196,65,53,118,201                   // vpcmpeqd      %ymm9,%ymm9,%ymm9
+  .byte  196,65,61,254,193                   // vpaddd        %ymm9,%ymm8,%ymm8
+  .byte  196,65,44,87,210                    // vxorps        %ymm10,%ymm10,%ymm10
+  .byte  196,193,124,95,194                  // vmaxps        %ymm10,%ymm0,%ymm0
+  .byte  196,193,116,95,202                  // vmaxps        %ymm10,%ymm1,%ymm1
+  .byte  196,193,116,93,200                  // vminps        %ymm8,%ymm1,%ymm1
+  .byte  196,193,124,93,192                  // vminps        %ymm8,%ymm0,%ymm0
+  .byte  196,98,125,88,64,16                 // vpbroadcastd  0x10(%rax),%ymm8
+  .byte  196,65,61,254,193                   // vpaddd        %ymm9,%ymm8,%ymm8
+  .byte  196,193,100,95,218                  // vmaxps        %ymm10,%ymm3,%ymm3
+  .byte  196,193,108,95,210                  // vmaxps        %ymm10,%ymm2,%ymm2
+  .byte  196,193,108,93,208                  // vminps        %ymm8,%ymm2,%ymm2
+  .byte  196,193,100,93,216                  // vminps        %ymm8,%ymm3,%ymm3
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  197,254,91,219                      // vcvttps2dq    %ymm3,%ymm3
+  .byte  197,254,91,210                      // vcvttps2dq    %ymm2,%ymm2
+  .byte  196,98,125,88,64,8                  // vpbroadcastd  0x8(%rax),%ymm8
+  .byte  196,226,61,64,210                   // vpmulld       %ymm2,%ymm8,%ymm2
+  .byte  196,226,61,64,219                   // vpmulld       %ymm3,%ymm8,%ymm3
+  .byte  197,254,91,192                      // vcvttps2dq    %ymm0,%ymm0
+  .byte  197,237,254,192                     // vpaddd        %ymm0,%ymm2,%ymm0
+  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
+  .byte  197,229,254,201                     // vpaddd        %ymm1,%ymm3,%ymm1
+  .byte  196,193,249,126,201                 // vmovq         %xmm1,%r9
+  .byte  68,137,200                          // mov           %r9d,%eax
+  .byte  65,15,183,4,64                      // movzwl        (%r8,%rax,2),%eax
+  .byte  197,249,110,208                     // vmovd         %eax,%xmm2
+  .byte  196,195,249,22,202,1                // vpextrq       $0x1,%xmm1,%r10
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  67,15,183,4,72                      // movzwl        (%r8,%r9,2),%eax
+  .byte  197,233,196,208,1                   // vpinsrw       $0x1,%eax,%xmm2,%xmm2
+  .byte  68,137,208                          // mov           %r10d,%eax
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,227,125,57,201,1                // vextracti128  $0x1,%ymm1,%xmm1
+  .byte  65,15,183,4,64                      // movzwl        (%r8,%rax,2),%eax
+  .byte  197,233,196,208,2                   // vpinsrw       $0x2,%eax,%xmm2,%xmm2
+  .byte  196,193,249,126,201                 // vmovq         %xmm1,%r9
+  .byte  67,15,183,4,80                      // movzwl        (%r8,%r10,2),%eax
+  .byte  197,233,196,208,3                   // vpinsrw       $0x3,%eax,%xmm2,%xmm2
+  .byte  68,137,200                          // mov           %r9d,%eax
+  .byte  65,15,183,4,64                      // movzwl        (%r8,%rax,2),%eax
+  .byte  197,233,196,208,4                   // vpinsrw       $0x4,%eax,%xmm2,%xmm2
+  .byte  196,195,249,22,202,1                // vpextrq       $0x1,%xmm1,%r10
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  67,15,183,4,72                      // movzwl        (%r8,%r9,2),%eax
+  .byte  197,233,196,200,5                   // vpinsrw       $0x5,%eax,%xmm2,%xmm1
+  .byte  68,137,208                          // mov           %r10d,%eax
+  .byte  65,15,183,4,64                      // movzwl        (%r8,%rax,2),%eax
+  .byte  197,241,196,200,6                   // vpinsrw       $0x6,%eax,%xmm1,%xmm1
+  .byte  196,193,249,126,193                 // vmovq         %xmm0,%r9
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  67,15,183,4,80                      // movzwl        (%r8,%r10,2),%eax
+  .byte  197,241,196,200,7                   // vpinsrw       $0x7,%eax,%xmm1,%xmm1
+  .byte  68,137,200                          // mov           %r9d,%eax
+  .byte  65,15,183,4,64                      // movzwl        (%r8,%rax,2),%eax
+  .byte  197,249,110,208                     // vmovd         %eax,%xmm2
+  .byte  196,195,249,22,194,1                // vpextrq       $0x1,%xmm0,%r10
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  67,15,183,4,72                      // movzwl        (%r8,%r9,2),%eax
+  .byte  197,233,196,208,1                   // vpinsrw       $0x1,%eax,%xmm2,%xmm2
+  .byte  68,137,208                          // mov           %r10d,%eax
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,227,125,57,192,1                // vextracti128  $0x1,%ymm0,%xmm0
+  .byte  65,15,183,4,64                      // movzwl        (%r8,%rax,2),%eax
+  .byte  197,233,196,208,2                   // vpinsrw       $0x2,%eax,%xmm2,%xmm2
+  .byte  196,193,249,126,193                 // vmovq         %xmm0,%r9
+  .byte  67,15,183,4,80                      // movzwl        (%r8,%r10,2),%eax
+  .byte  197,233,196,208,3                   // vpinsrw       $0x3,%eax,%xmm2,%xmm2
+  .byte  68,137,200                          // mov           %r9d,%eax
+  .byte  65,15,183,4,64                      // movzwl        (%r8,%rax,2),%eax
+  .byte  197,233,196,208,4                   // vpinsrw       $0x4,%eax,%xmm2,%xmm2
+  .byte  196,195,249,22,194,1                // vpextrq       $0x1,%xmm0,%r10
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  67,15,183,4,72                      // movzwl        (%r8,%r9,2),%eax
+  .byte  197,233,196,192,5                   // vpinsrw       $0x5,%eax,%xmm2,%xmm0
+  .byte  68,137,208                          // mov           %r10d,%eax
+  .byte  65,15,183,4,64                      // movzwl        (%r8,%rax,2),%eax
+  .byte  197,249,196,192,6                   // vpinsrw       $0x6,%eax,%xmm0,%xmm0
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  67,15,183,4,80                      // movzwl        (%r8,%r10,2),%eax
+  .byte  197,249,196,192,7                   // vpinsrw       $0x7,%eax,%xmm0,%xmm0
+  .byte  196,227,125,56,193,1                // vinserti128   $0x1,%xmm1,%ymm0,%ymm0
+  .byte  197,245,113,208,12                  // vpsrlw        $0xc,%ymm0,%ymm1
+  .byte  197,237,113,208,8                   // vpsrlw        $0x8,%ymm0,%ymm2
+  .byte  196,226,125,121,29,186,194,0,0      // vpbroadcastw  0xc2ba(%rip),%ymm3        # 3cda2 <_sk_srcover_bgra_8888_sse2_lowp+0xb56>
+  .byte  197,237,219,211                     // vpand         %ymm3,%ymm2,%ymm2
+  .byte  197,189,113,208,4                   // vpsrlw        $0x4,%ymm0,%ymm8
+  .byte  197,61,219,195                      // vpand         %ymm3,%ymm8,%ymm8
+  .byte  197,253,219,219                     // vpand         %ymm3,%ymm0,%ymm3
+  .byte  197,253,113,241,4                   // vpsllw        $0x4,%ymm1,%ymm0
+  .byte  197,253,235,193                     // vpor          %ymm1,%ymm0,%ymm0
+  .byte  197,245,113,242,4                   // vpsllw        $0x4,%ymm2,%ymm1
+  .byte  197,245,235,202                     // vpor          %ymm2,%ymm1,%ymm1
+  .byte  196,193,109,113,240,4               // vpsllw        $0x4,%ymm8,%ymm2
+  .byte  196,193,109,235,208                 // vpor          %ymm8,%ymm2,%ymm2
+  .byte  197,189,113,243,4                   // vpsllw        $0x4,%ymm3,%ymm8
+  .byte  197,189,235,219                     // vpor          %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_load_a8_hsw_lowp
+.globl _sk_load_a8_hsw_lowp
+FUNCTION(_sk_load_a8_hsw_lowp)
+_sk_load_a8_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,15                               // and           $0xf,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,14                               // cmp           $0xe,%al
+  .byte  119,37                              // ja            30b5f <_sk_load_a8_hsw_lowp+0x3c>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,220,0,0,0                 // lea           0xdc(%rip),%r9        # 30c24 <_sk_load_a8_hsw_lowp+0x101>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  197,249,110,192                     // vmovd         %eax,%xmm0
+  .byte  233,175,0,0,0                       // jmpq          30c0e <_sk_load_a8_hsw_lowp+0xeb>
+  .byte  196,193,122,111,4,16                // vmovdqu       (%r8,%rdx,1),%xmm0
+  .byte  233,164,0,0,0                       // jmpq          30c0e <_sk_load_a8_hsw_lowp+0xeb>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  196,195,121,32,68,16,2,2            // vpinsrb       $0x2,0x2(%r8,%rdx,1),%xmm0,%xmm0
+  .byte  65,15,183,4,16                      // movzwl        (%r8,%rdx,1),%eax
+  .byte  197,249,110,200                     // vmovd         %eax,%xmm1
+  .byte  196,227,121,14,193,1                // vpblendw      $0x1,%xmm1,%xmm0,%xmm0
+  .byte  233,132,0,0,0                       // jmpq          30c0e <_sk_load_a8_hsw_lowp+0xeb>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  196,195,121,32,68,16,6,6            // vpinsrb       $0x6,0x6(%r8,%rdx,1),%xmm0,%xmm0
+  .byte  196,195,121,32,68,16,5,5            // vpinsrb       $0x5,0x5(%r8,%rdx,1),%xmm0,%xmm0
+  .byte  196,195,121,32,68,16,4,4            // vpinsrb       $0x4,0x4(%r8,%rdx,1),%xmm0,%xmm0
+  .byte  196,193,121,110,12,16               // vmovd         (%r8,%rdx,1),%xmm1
+  .byte  196,227,121,2,193,1                 // vpblendd      $0x1,%xmm1,%xmm0,%xmm0
+  .byte  235,90                              // jmp           30c0e <_sk_load_a8_hsw_lowp+0xeb>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  196,195,121,32,68,16,10,10          // vpinsrb       $0xa,0xa(%r8,%rdx,1),%xmm0,%xmm0
+  .byte  196,195,121,32,68,16,9,9            // vpinsrb       $0x9,0x9(%r8,%rdx,1),%xmm0,%xmm0
+  .byte  196,195,121,32,68,16,8,8            // vpinsrb       $0x8,0x8(%r8,%rdx,1),%xmm0,%xmm0
+  .byte  196,193,122,126,12,16               // vmovq         (%r8,%rdx,1),%xmm1
+  .byte  196,227,113,2,192,12                // vpblendd      $0xc,%xmm0,%xmm1,%xmm0
+  .byte  235,48                              // jmp           30c0e <_sk_load_a8_hsw_lowp+0xeb>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  196,195,121,32,68,16,14,14          // vpinsrb       $0xe,0xe(%r8,%rdx,1),%xmm0,%xmm0
+  .byte  196,195,121,32,68,16,13,13          // vpinsrb       $0xd,0xd(%r8,%rdx,1),%xmm0,%xmm0
+  .byte  196,195,121,32,68,16,12,12          // vpinsrb       $0xc,0xc(%r8,%rdx,1),%xmm0,%xmm0
+  .byte  196,193,122,126,12,16               // vmovq         (%r8,%rdx,1),%xmm1
+  .byte  196,195,113,34,76,16,8,2            // vpinsrd       $0x2,0x8(%r8,%rdx,1),%xmm1,%xmm1
+  .byte  196,227,113,2,192,8                 // vpblendd      $0x8,%xmm0,%xmm1,%xmm0
+  .byte  196,226,125,48,216                  // vpmovzxbw     %xmm0,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,253,239,192                     // vpxor         %ymm0,%ymm0,%ymm0
+  .byte  197,245,239,201                     // vpxor         %ymm1,%ymm1,%ymm1
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  255,224                             // jmpq          *%rax
+  .byte  144                                 // nop
+  .byte  45,255,255,255,82                   // sub           $0x52ffffff,%eax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,70,255                          // incl          -0x1(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255,130,255,255,255,122             // incl          0x7affffff(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,114,255                         // pushq         -0x1(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255,102,255                         // jmpq          *-0x1(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255,172,255,255,255,164,255         // ljmp          *-0x5b0001(%rdi,%rdi,8)
+  .byte  255                                 // (bad)
+  .byte  255,156,255,255,255,144,255         // lcall         *-0x6f0001(%rdi,%rdi,8)
+  .byte  255                                 // (bad)
+  .byte  255,214                             // callq         *%rsi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,206                             // dec           %esi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,198                             // inc           %esi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  186                                 // .byte         0xba
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_a8_dst_hsw_lowp
+.globl _sk_load_a8_dst_hsw_lowp
+FUNCTION(_sk_load_a8_dst_hsw_lowp)
+_sk_load_a8_dst_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,15                               // and           $0xf,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,14                               // cmp           $0xe,%al
+  .byte  119,37                              // ja            30c9c <_sk_load_a8_dst_hsw_lowp+0x3c>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,219,0,0,0                 // lea           0xdb(%rip),%r9        # 30d60 <_sk_load_a8_dst_hsw_lowp+0x100>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  197,249,110,224                     // vmovd         %eax,%xmm4
+  .byte  233,175,0,0,0                       // jmpq          30d4b <_sk_load_a8_dst_hsw_lowp+0xeb>
+  .byte  196,193,122,111,36,16               // vmovdqu       (%r8,%rdx,1),%xmm4
+  .byte  233,164,0,0,0                       // jmpq          30d4b <_sk_load_a8_dst_hsw_lowp+0xeb>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  196,195,89,32,100,16,2,2            // vpinsrb       $0x2,0x2(%r8,%rdx,1),%xmm4,%xmm4
+  .byte  65,15,183,4,16                      // movzwl        (%r8,%rdx,1),%eax
+  .byte  197,249,110,232                     // vmovd         %eax,%xmm5
+  .byte  196,227,89,14,229,1                 // vpblendw      $0x1,%xmm5,%xmm4,%xmm4
+  .byte  233,132,0,0,0                       // jmpq          30d4b <_sk_load_a8_dst_hsw_lowp+0xeb>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  196,195,89,32,100,16,6,6            // vpinsrb       $0x6,0x6(%r8,%rdx,1),%xmm4,%xmm4
+  .byte  196,195,89,32,100,16,5,5            // vpinsrb       $0x5,0x5(%r8,%rdx,1),%xmm4,%xmm4
+  .byte  196,195,89,32,100,16,4,4            // vpinsrb       $0x4,0x4(%r8,%rdx,1),%xmm4,%xmm4
+  .byte  196,193,121,110,44,16               // vmovd         (%r8,%rdx,1),%xmm5
+  .byte  196,227,89,2,229,1                  // vpblendd      $0x1,%xmm5,%xmm4,%xmm4
+  .byte  235,90                              // jmp           30d4b <_sk_load_a8_dst_hsw_lowp+0xeb>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  196,195,89,32,100,16,10,10          // vpinsrb       $0xa,0xa(%r8,%rdx,1),%xmm4,%xmm4
+  .byte  196,195,89,32,100,16,9,9            // vpinsrb       $0x9,0x9(%r8,%rdx,1),%xmm4,%xmm4
+  .byte  196,195,89,32,100,16,8,8            // vpinsrb       $0x8,0x8(%r8,%rdx,1),%xmm4,%xmm4
+  .byte  196,193,122,126,44,16               // vmovq         (%r8,%rdx,1),%xmm5
+  .byte  196,227,81,2,228,12                 // vpblendd      $0xc,%xmm4,%xmm5,%xmm4
+  .byte  235,48                              // jmp           30d4b <_sk_load_a8_dst_hsw_lowp+0xeb>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  196,195,89,32,100,16,14,14          // vpinsrb       $0xe,0xe(%r8,%rdx,1),%xmm4,%xmm4
+  .byte  196,195,89,32,100,16,13,13          // vpinsrb       $0xd,0xd(%r8,%rdx,1),%xmm4,%xmm4
+  .byte  196,195,89,32,100,16,12,12          // vpinsrb       $0xc,0xc(%r8,%rdx,1),%xmm4,%xmm4
+  .byte  196,193,122,126,44,16               // vmovq         (%r8,%rdx,1),%xmm5
+  .byte  196,195,81,34,108,16,8,2            // vpinsrd       $0x2,0x8(%r8,%rdx,1),%xmm5,%xmm5
+  .byte  196,227,81,2,228,8                  // vpblendd      $0x8,%xmm4,%xmm5,%xmm4
+  .byte  196,226,125,48,252                  // vpmovzxbw     %xmm4,%ymm7
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,221,239,228                     // vpxor         %ymm4,%ymm4,%ymm4
+  .byte  197,213,239,237                     // vpxor         %ymm5,%ymm5,%ymm5
+  .byte  197,204,87,246                      // vxorps        %ymm6,%ymm6,%ymm6
+  .byte  255,224                             // jmpq          *%rax
+  .byte  46,255                              // cs            (bad)
+  .byte  255                                 // (bad)
+  .byte  255,83,255                          // callq         *-0x1(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255,71,255                          // incl          -0x1(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255,131,255,255,255,123             // incl          0x7bffffff(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,115,255                         // pushq         -0x1(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255,103,255                         // jmpq          *-0x1(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255,173,255,255,255,165             // ljmp          *-0x5a000001(%rbp)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,157,255,255,255,145             // lcall         *-0x6e000001(%rbp)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,215                             // callq         *%rdi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,207                             // dec           %edi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,199                             // inc           %edi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  187                                 // .byte         0xbb
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_store_a8_hsw_lowp
+.globl _sk_store_a8_hsw_lowp
+FUNCTION(_sk_store_a8_hsw_lowp)
+_sk_store_a8_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  196,195,125,57,216,1                // vextracti128  $0x1,%ymm3,%xmm8
+  .byte  197,121,111,13,105,200,0,0          // vmovdqa       0xc869(%rip),%xmm9        # 3d620 <_sk_srcover_bgra_8888_sse2_lowp+0x13d4>
+  .byte  196,66,57,0,193                     // vpshufb       %xmm9,%xmm8,%xmm8
+  .byte  196,66,97,0,201                     // vpshufb       %xmm9,%xmm3,%xmm9
+  .byte  196,65,49,108,192                   // vpunpcklqdq   %xmm8,%xmm9,%xmm8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,15                               // and           $0xf,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,14                               // cmp           $0xe,%al
+  .byte  119,28                              // ja            30dec <_sk_store_a8_hsw_lowp+0x50>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,146,0,0,0                 // lea           0x92(%rip),%r9        # 30e6c <_sk_store_a8_hsw_lowp+0xd0>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,67,121,20,4,16,0                // vpextrb       $0x0,%xmm8,(%r8,%rdx,1)
+  .byte  235,121                             // jmp           30e65 <_sk_store_a8_hsw_lowp+0xc9>
+  .byte  196,65,122,127,4,16                 // vmovdqu       %xmm8,(%r8,%rdx,1)
+  .byte  235,113                             // jmp           30e65 <_sk_store_a8_hsw_lowp+0xc9>
+  .byte  196,67,121,20,68,16,2,2             // vpextrb       $0x2,%xmm8,0x2(%r8,%rdx,1)
+  .byte  196,67,121,21,4,16,0                // vpextrw       $0x0,%xmm8,(%r8,%rdx,1)
+  .byte  235,96                              // jmp           30e65 <_sk_store_a8_hsw_lowp+0xc9>
+  .byte  196,67,121,20,68,16,6,6             // vpextrb       $0x6,%xmm8,0x6(%r8,%rdx,1)
+  .byte  196,67,121,20,68,16,5,5             // vpextrb       $0x5,%xmm8,0x5(%r8,%rdx,1)
+  .byte  196,67,121,20,68,16,4,4             // vpextrb       $0x4,%xmm8,0x4(%r8,%rdx,1)
+  .byte  196,65,121,126,4,16                 // vmovd         %xmm8,(%r8,%rdx,1)
+  .byte  235,64                              // jmp           30e65 <_sk_store_a8_hsw_lowp+0xc9>
+  .byte  196,67,121,20,68,16,10,10           // vpextrb       $0xa,%xmm8,0xa(%r8,%rdx,1)
+  .byte  196,67,121,20,68,16,9,9             // vpextrb       $0x9,%xmm8,0x9(%r8,%rdx,1)
+  .byte  196,67,121,20,68,16,8,8             // vpextrb       $0x8,%xmm8,0x8(%r8,%rdx,1)
+  .byte  235,32                              // jmp           30e5f <_sk_store_a8_hsw_lowp+0xc3>
+  .byte  196,67,121,20,68,16,14,14           // vpextrb       $0xe,%xmm8,0xe(%r8,%rdx,1)
+  .byte  196,67,121,20,68,16,13,13           // vpextrb       $0xd,%xmm8,0xd(%r8,%rdx,1)
+  .byte  196,67,121,20,68,16,12,12           // vpextrb       $0xc,%xmm8,0xc(%r8,%rdx,1)
+  .byte  196,67,121,22,68,16,8,2             // vpextrd       $0x2,%xmm8,0x8(%r8,%rdx,1)
+  .byte  196,65,121,214,4,16                 // vmovq         %xmm8,(%r8,%rdx,1)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  15,31,0                             // nopl          (%rax)
+  .byte  119,255                             // ja            30e6d <_sk_store_a8_hsw_lowp+0xd1>
+  .byte  255                                 // (bad)
+  .byte  255,144,255,255,255,136             // callq         *-0x77000001(%rax)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,177,255,255,255,169             // pushq         -0x56000001(%rcx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,161,255,255,255,153             // jmpq          *-0x66000001(%rcx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,243                             // push          %rbx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,201                             // dec           %ecx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,193                             // inc           %ecx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  185,255,255,255,235                 // mov           $0xebffffff,%ecx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,227                             // jmpq          *%rbx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  219,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,211                             // callq         *%rbx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_gather_a8_hsw_lowp
+.globl _sk_gather_a8_hsw_lowp
+FUNCTION(_sk_gather_a8_hsw_lowp)
+_sk_gather_a8_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,88,64,12                 // vpbroadcastd  0xc(%rax),%ymm8
+  .byte  196,65,53,118,201                   // vpcmpeqd      %ymm9,%ymm9,%ymm9
+  .byte  196,65,61,254,193                   // vpaddd        %ymm9,%ymm8,%ymm8
+  .byte  196,65,44,87,210                    // vxorps        %ymm10,%ymm10,%ymm10
+  .byte  196,193,124,95,194                  // vmaxps        %ymm10,%ymm0,%ymm0
+  .byte  196,193,116,95,202                  // vmaxps        %ymm10,%ymm1,%ymm1
+  .byte  196,65,116,93,216                   // vminps        %ymm8,%ymm1,%ymm11
+  .byte  196,193,124,93,192                  // vminps        %ymm8,%ymm0,%ymm0
+  .byte  196,226,125,88,72,16                // vpbroadcastd  0x10(%rax),%ymm1
+  .byte  196,193,117,254,201                 // vpaddd        %ymm9,%ymm1,%ymm1
+  .byte  196,193,100,95,218                  // vmaxps        %ymm10,%ymm3,%ymm3
+  .byte  196,193,108,95,210                  // vmaxps        %ymm10,%ymm2,%ymm2
+  .byte  197,236,93,209                      // vminps        %ymm1,%ymm2,%ymm2
+  .byte  197,228,93,201                      // vminps        %ymm1,%ymm3,%ymm1
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
+  .byte  197,254,91,210                      // vcvttps2dq    %ymm2,%ymm2
+  .byte  196,226,125,88,88,8                 // vpbroadcastd  0x8(%rax),%ymm3
+  .byte  196,226,101,64,210                  // vpmulld       %ymm2,%ymm3,%ymm2
+  .byte  196,226,101,64,217                  // vpmulld       %ymm1,%ymm3,%ymm3
+  .byte  197,254,91,192                      // vcvttps2dq    %ymm0,%ymm0
+  .byte  197,237,254,200                     // vpaddd        %ymm0,%ymm2,%ymm1
+  .byte  196,193,126,91,195                  // vcvttps2dq    %ymm11,%ymm0
+  .byte  197,229,254,192                     // vpaddd        %ymm0,%ymm3,%ymm0
+  .byte  196,193,249,126,201                 // vmovq         %xmm1,%r9
+  .byte  68,137,200                          // mov           %r9d,%eax
+  .byte  65,15,182,4,0                       // movzbl        (%r8,%rax,1),%eax
+  .byte  197,249,110,208                     // vmovd         %eax,%xmm2
+  .byte  196,195,249,22,202,1                // vpextrq       $0x1,%xmm1,%r10
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  67,15,182,4,8                       // movzbl        (%r8,%r9,1),%eax
+  .byte  196,227,105,32,208,1                // vpinsrb       $0x1,%eax,%xmm2,%xmm2
+  .byte  68,137,208                          // mov           %r10d,%eax
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,227,125,57,201,1                // vextracti128  $0x1,%ymm1,%xmm1
+  .byte  65,15,182,4,0                       // movzbl        (%r8,%rax,1),%eax
+  .byte  196,227,105,32,208,2                // vpinsrb       $0x2,%eax,%xmm2,%xmm2
+  .byte  196,193,249,126,201                 // vmovq         %xmm1,%r9
+  .byte  67,15,182,4,16                      // movzbl        (%r8,%r10,1),%eax
+  .byte  196,227,105,32,208,3                // vpinsrb       $0x3,%eax,%xmm2,%xmm2
+  .byte  68,137,200                          // mov           %r9d,%eax
+  .byte  65,15,182,4,0                       // movzbl        (%r8,%rax,1),%eax
+  .byte  196,227,105,32,208,4                // vpinsrb       $0x4,%eax,%xmm2,%xmm2
+  .byte  196,195,249,22,202,1                // vpextrq       $0x1,%xmm1,%r10
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  67,15,182,4,8                       // movzbl        (%r8,%r9,1),%eax
+  .byte  196,227,105,32,200,5                // vpinsrb       $0x5,%eax,%xmm2,%xmm1
+  .byte  68,137,208                          // mov           %r10d,%eax
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  65,15,182,4,0                       // movzbl        (%r8,%rax,1),%eax
+  .byte  196,227,113,32,200,6                // vpinsrb       $0x6,%eax,%xmm1,%xmm1
+  .byte  196,193,249,126,193                 // vmovq         %xmm0,%r9
+  .byte  67,15,182,4,16                      // movzbl        (%r8,%r10,1),%eax
+  .byte  196,227,113,32,200,7                // vpinsrb       $0x7,%eax,%xmm1,%xmm1
+  .byte  68,137,200                          // mov           %r9d,%eax
+  .byte  65,15,182,4,0                       // movzbl        (%r8,%rax,1),%eax
+  .byte  196,227,113,32,200,8                // vpinsrb       $0x8,%eax,%xmm1,%xmm1
+  .byte  196,195,249,22,194,1                // vpextrq       $0x1,%xmm0,%r10
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  67,15,182,4,8                       // movzbl        (%r8,%r9,1),%eax
+  .byte  196,227,113,32,200,9                // vpinsrb       $0x9,%eax,%xmm1,%xmm1
+  .byte  68,137,208                          // mov           %r10d,%eax
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,227,125,57,192,1                // vextracti128  $0x1,%ymm0,%xmm0
+  .byte  65,15,182,4,0                       // movzbl        (%r8,%rax,1),%eax
+  .byte  196,227,113,32,200,10               // vpinsrb       $0xa,%eax,%xmm1,%xmm1
+  .byte  196,193,249,126,193                 // vmovq         %xmm0,%r9
+  .byte  67,15,182,4,16                      // movzbl        (%r8,%r10,1),%eax
+  .byte  196,227,113,32,200,11               // vpinsrb       $0xb,%eax,%xmm1,%xmm1
+  .byte  68,137,200                          // mov           %r9d,%eax
+  .byte  65,15,182,4,0                       // movzbl        (%r8,%rax,1),%eax
+  .byte  196,227,113,32,200,12               // vpinsrb       $0xc,%eax,%xmm1,%xmm1
+  .byte  196,195,249,22,194,1                // vpextrq       $0x1,%xmm0,%r10
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  67,15,182,4,8                       // movzbl        (%r8,%r9,1),%eax
+  .byte  196,227,113,32,192,13               // vpinsrb       $0xd,%eax,%xmm1,%xmm0
+  .byte  68,137,208                          // mov           %r10d,%eax
+  .byte  65,15,182,4,0                       // movzbl        (%r8,%rax,1),%eax
+  .byte  196,227,121,32,192,14               // vpinsrb       $0xe,%eax,%xmm0,%xmm0
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  67,15,182,4,16                      // movzbl        (%r8,%r10,1),%eax
+  .byte  196,227,121,32,192,15               // vpinsrb       $0xf,%eax,%xmm0,%xmm0
+  .byte  196,226,125,48,216                  // vpmovzxbw     %xmm0,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,253,239,192                     // vpxor         %ymm0,%ymm0,%ymm0
+  .byte  197,245,239,201                     // vpxor         %ymm1,%ymm1,%ymm1
+  .byte  197,237,239,210                     // vpxor         %ymm2,%ymm2,%ymm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_load_g8_hsw_lowp
+.globl _sk_load_g8_hsw_lowp
+FUNCTION(_sk_load_g8_hsw_lowp)
+_sk_load_g8_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,15                               // and           $0xf,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,14                               // cmp           $0xe,%al
+  .byte  119,37                              // ja            3108b <_sk_load_g8_hsw_lowp+0x3c>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,224,0,0,0                 // lea           0xe0(%rip),%r9        # 31154 <_sk_load_g8_hsw_lowp+0x105>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  197,249,110,192                     // vmovd         %eax,%xmm0
+  .byte  233,175,0,0,0                       // jmpq          3113a <_sk_load_g8_hsw_lowp+0xeb>
+  .byte  196,193,122,111,4,16                // vmovdqu       (%r8,%rdx,1),%xmm0
+  .byte  233,164,0,0,0                       // jmpq          3113a <_sk_load_g8_hsw_lowp+0xeb>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  196,195,121,32,68,16,2,2            // vpinsrb       $0x2,0x2(%r8,%rdx,1),%xmm0,%xmm0
+  .byte  65,15,183,4,16                      // movzwl        (%r8,%rdx,1),%eax
+  .byte  197,249,110,200                     // vmovd         %eax,%xmm1
+  .byte  196,227,121,14,193,1                // vpblendw      $0x1,%xmm1,%xmm0,%xmm0
+  .byte  233,132,0,0,0                       // jmpq          3113a <_sk_load_g8_hsw_lowp+0xeb>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  196,195,121,32,68,16,6,6            // vpinsrb       $0x6,0x6(%r8,%rdx,1),%xmm0,%xmm0
+  .byte  196,195,121,32,68,16,5,5            // vpinsrb       $0x5,0x5(%r8,%rdx,1),%xmm0,%xmm0
+  .byte  196,195,121,32,68,16,4,4            // vpinsrb       $0x4,0x4(%r8,%rdx,1),%xmm0,%xmm0
+  .byte  196,193,121,110,12,16               // vmovd         (%r8,%rdx,1),%xmm1
+  .byte  196,227,121,2,193,1                 // vpblendd      $0x1,%xmm1,%xmm0,%xmm0
+  .byte  235,90                              // jmp           3113a <_sk_load_g8_hsw_lowp+0xeb>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  196,195,121,32,68,16,10,10          // vpinsrb       $0xa,0xa(%r8,%rdx,1),%xmm0,%xmm0
+  .byte  196,195,121,32,68,16,9,9            // vpinsrb       $0x9,0x9(%r8,%rdx,1),%xmm0,%xmm0
+  .byte  196,195,121,32,68,16,8,8            // vpinsrb       $0x8,0x8(%r8,%rdx,1),%xmm0,%xmm0
+  .byte  196,193,122,126,12,16               // vmovq         (%r8,%rdx,1),%xmm1
+  .byte  196,227,113,2,192,12                // vpblendd      $0xc,%xmm0,%xmm1,%xmm0
+  .byte  235,48                              // jmp           3113a <_sk_load_g8_hsw_lowp+0xeb>
+  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
+  .byte  196,195,121,32,68,16,14,14          // vpinsrb       $0xe,0xe(%r8,%rdx,1),%xmm0,%xmm0
+  .byte  196,195,121,32,68,16,13,13          // vpinsrb       $0xd,0xd(%r8,%rdx,1),%xmm0,%xmm0
+  .byte  196,195,121,32,68,16,12,12          // vpinsrb       $0xc,0xc(%r8,%rdx,1),%xmm0,%xmm0
+  .byte  196,193,122,126,12,16               // vmovq         (%r8,%rdx,1),%xmm1
+  .byte  196,195,113,34,76,16,8,2            // vpinsrd       $0x2,0x8(%r8,%rdx,1),%xmm1,%xmm1
+  .byte  196,227,113,2,192,8                 // vpblendd      $0x8,%xmm0,%xmm1,%xmm0
+  .byte  196,226,125,48,192                  // vpmovzxbw     %xmm0,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,121,29,90,188,0,0       // vpbroadcastw  0xbc5a(%rip),%ymm3        # 3cda4 <_sk_srcover_bgra_8888_sse2_lowp+0xb58>
+  .byte  197,253,111,200                     // vmovdqa       %ymm0,%ymm1
+  .byte  197,253,111,208                     // vmovdqa       %ymm0,%ymm2
+  .byte  255,224                             // jmpq          *%rax
+  .byte  41,255                              // sub           %edi,%edi
+  .byte  255                                 // (bad)
+  .byte  255,78,255                          // decl          -0x1(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255,66,255                          // incl          -0x1(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  126,255                             // jle           31161 <_sk_load_g8_hsw_lowp+0x112>
+  .byte  255                                 // (bad)
+  .byte  255,118,255                         // pushq         -0x1(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255,110,255                         // ljmp          *-0x1(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255,98,255                          // jmpq          *-0x1(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255,168,255,255,255,160             // ljmp          *-0x5f000001(%rax)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,152,255,255,255,140             // lcall         *-0x73000001(%rax)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,210                             // callq         *%rdx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,202                             // dec           %edx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,194                             // inc           %edx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+  .byte  182,255                             // mov           $0xff,%dh
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_g8_dst_hsw_lowp
+.globl _sk_load_g8_dst_hsw_lowp
+FUNCTION(_sk_load_g8_dst_hsw_lowp)
+_sk_load_g8_dst_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,15                               // and           $0xf,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,14                               // cmp           $0xe,%al
+  .byte  119,37                              // ja            311cc <_sk_load_g8_dst_hsw_lowp+0x3c>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,227,0,0,0                 // lea           0xe3(%rip),%r9        # 31298 <_sk_load_g8_dst_hsw_lowp+0x108>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  197,249,110,224                     // vmovd         %eax,%xmm4
+  .byte  233,175,0,0,0                       // jmpq          3127b <_sk_load_g8_dst_hsw_lowp+0xeb>
+  .byte  196,193,122,111,36,16               // vmovdqu       (%r8,%rdx,1),%xmm4
+  .byte  233,164,0,0,0                       // jmpq          3127b <_sk_load_g8_dst_hsw_lowp+0xeb>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  196,195,89,32,100,16,2,2            // vpinsrb       $0x2,0x2(%r8,%rdx,1),%xmm4,%xmm4
+  .byte  65,15,183,4,16                      // movzwl        (%r8,%rdx,1),%eax
+  .byte  197,249,110,232                     // vmovd         %eax,%xmm5
+  .byte  196,227,89,14,229,1                 // vpblendw      $0x1,%xmm5,%xmm4,%xmm4
+  .byte  233,132,0,0,0                       // jmpq          3127b <_sk_load_g8_dst_hsw_lowp+0xeb>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  196,195,89,32,100,16,6,6            // vpinsrb       $0x6,0x6(%r8,%rdx,1),%xmm4,%xmm4
+  .byte  196,195,89,32,100,16,5,5            // vpinsrb       $0x5,0x5(%r8,%rdx,1),%xmm4,%xmm4
+  .byte  196,195,89,32,100,16,4,4            // vpinsrb       $0x4,0x4(%r8,%rdx,1),%xmm4,%xmm4
+  .byte  196,193,121,110,44,16               // vmovd         (%r8,%rdx,1),%xmm5
+  .byte  196,227,89,2,229,1                  // vpblendd      $0x1,%xmm5,%xmm4,%xmm4
+  .byte  235,90                              // jmp           3127b <_sk_load_g8_dst_hsw_lowp+0xeb>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  196,195,89,32,100,16,10,10          // vpinsrb       $0xa,0xa(%r8,%rdx,1),%xmm4,%xmm4
+  .byte  196,195,89,32,100,16,9,9            // vpinsrb       $0x9,0x9(%r8,%rdx,1),%xmm4,%xmm4
+  .byte  196,195,89,32,100,16,8,8            // vpinsrb       $0x8,0x8(%r8,%rdx,1),%xmm4,%xmm4
+  .byte  196,193,122,126,44,16               // vmovq         (%r8,%rdx,1),%xmm5
+  .byte  196,227,81,2,228,12                 // vpblendd      $0xc,%xmm4,%xmm5,%xmm4
+  .byte  235,48                              // jmp           3127b <_sk_load_g8_dst_hsw_lowp+0xeb>
+  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
+  .byte  196,195,89,32,100,16,14,14          // vpinsrb       $0xe,0xe(%r8,%rdx,1),%xmm4,%xmm4
+  .byte  196,195,89,32,100,16,13,13          // vpinsrb       $0xd,0xd(%r8,%rdx,1),%xmm4,%xmm4
+  .byte  196,195,89,32,100,16,12,12          // vpinsrb       $0xc,0xc(%r8,%rdx,1),%xmm4,%xmm4
+  .byte  196,193,122,126,44,16               // vmovq         (%r8,%rdx,1),%xmm5
+  .byte  196,195,81,34,108,16,8,2            // vpinsrd       $0x2,0x8(%r8,%rdx,1),%xmm5,%xmm5
+  .byte  196,227,81,2,228,8                  // vpblendd      $0x8,%xmm4,%xmm5,%xmm4
+  .byte  196,226,125,48,228                  // vpmovzxbw     %xmm4,%ymm4
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,121,61,27,187,0,0       // vpbroadcastw  0xbb1b(%rip),%ymm7        # 3cda6 <_sk_srcover_bgra_8888_sse2_lowp+0xb5a>
+  .byte  197,253,111,236                     // vmovdqa       %ymm4,%ymm5
+  .byte  197,253,111,244                     // vmovdqa       %ymm4,%ymm6
+  .byte  255,224                             // jmpq          *%rax
+  .byte  15,31,0                             // nopl          (%rax)
+  .byte  38,255                              // es            (bad)
+  .byte  255                                 // (bad)
+  .byte  255,75,255                          // decl          -0x1(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  63                                  // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  123,255                             // jnp           312a5 <_sk_load_g8_dst_hsw_lowp+0x115>
+  .byte  255                                 // (bad)
+  .byte  255,115,255                         // pushq         -0x1(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255,107,255                         // ljmp          *-0x1(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255,95,255                          // lcall         *-0x1(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255,165,255,255,255,157             // jmpq          *-0x62000001(%rbp)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,149,255,255,255,137             // callq         *-0x76000001(%rbp)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,207                             // dec           %edi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,199                             // inc           %edi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  191,255,255,255,179                 // mov           $0xb3ffffff,%edi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_luminance_to_alpha_hsw_lowp
+.globl _sk_luminance_to_alpha_hsw_lowp
+FUNCTION(_sk_luminance_to_alpha_hsw_lowp)
+_sk_luminance_to_alpha_hsw_lowp:
+  .byte  196,226,125,121,29,203,186,0,0      // vpbroadcastw  0xbacb(%rip),%ymm3        # 3cda8 <_sk_srcover_bgra_8888_sse2_lowp+0xb5c>
+  .byte  197,253,213,195                     // vpmullw       %ymm3,%ymm0,%ymm0
+  .byte  196,226,125,121,29,192,186,0,0      // vpbroadcastw  0xbac0(%rip),%ymm3        # 3cdaa <_sk_srcover_bgra_8888_sse2_lowp+0xb5e>
+  .byte  197,245,213,203                     // vpmullw       %ymm3,%ymm1,%ymm1
+  .byte  197,245,253,192                     // vpaddw        %ymm0,%ymm1,%ymm0
+  .byte  196,226,125,121,13,177,186,0,0      // vpbroadcastw  0xbab1(%rip),%ymm1        # 3cdac <_sk_srcover_bgra_8888_sse2_lowp+0xb60>
+  .byte  197,237,213,201                     // vpmullw       %ymm1,%ymm2,%ymm1
+  .byte  197,253,253,193                     // vpaddw        %ymm1,%ymm0,%ymm0
+  .byte  197,229,113,208,8                   // vpsrlw        $0x8,%ymm0,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,253,239,192                     // vpxor         %ymm0,%ymm0,%ymm0
+  .byte  197,245,239,201                     // vpxor         %ymm1,%ymm1,%ymm1
+  .byte  197,237,239,210                     // vpxor         %ymm2,%ymm2,%ymm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_gather_g8_hsw_lowp
+.globl _sk_gather_g8_hsw_lowp
+FUNCTION(_sk_gather_g8_hsw_lowp)
+_sk_gather_g8_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,98,125,88,64,12                 // vpbroadcastd  0xc(%rax),%ymm8
+  .byte  196,65,53,118,201                   // vpcmpeqd      %ymm9,%ymm9,%ymm9
+  .byte  196,65,61,254,193                   // vpaddd        %ymm9,%ymm8,%ymm8
+  .byte  196,65,44,87,210                    // vxorps        %ymm10,%ymm10,%ymm10
+  .byte  196,193,124,95,194                  // vmaxps        %ymm10,%ymm0,%ymm0
+  .byte  196,193,116,95,202                  // vmaxps        %ymm10,%ymm1,%ymm1
+  .byte  196,65,116,93,216                   // vminps        %ymm8,%ymm1,%ymm11
+  .byte  196,193,124,93,192                  // vminps        %ymm8,%ymm0,%ymm0
+  .byte  196,226,125,88,72,16                // vpbroadcastd  0x10(%rax),%ymm1
+  .byte  196,193,117,254,201                 // vpaddd        %ymm9,%ymm1,%ymm1
+  .byte  196,193,100,95,218                  // vmaxps        %ymm10,%ymm3,%ymm3
+  .byte  196,193,108,95,210                  // vmaxps        %ymm10,%ymm2,%ymm2
+  .byte  197,236,93,209                      // vminps        %ymm1,%ymm2,%ymm2
+  .byte  197,228,93,201                      // vminps        %ymm1,%ymm3,%ymm1
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
+  .byte  197,254,91,210                      // vcvttps2dq    %ymm2,%ymm2
+  .byte  196,226,125,88,88,8                 // vpbroadcastd  0x8(%rax),%ymm3
+  .byte  196,226,101,64,210                  // vpmulld       %ymm2,%ymm3,%ymm2
+  .byte  196,226,101,64,217                  // vpmulld       %ymm1,%ymm3,%ymm3
+  .byte  197,254,91,192                      // vcvttps2dq    %ymm0,%ymm0
+  .byte  197,237,254,200                     // vpaddd        %ymm0,%ymm2,%ymm1
+  .byte  196,193,126,91,195                  // vcvttps2dq    %ymm11,%ymm0
+  .byte  197,229,254,192                     // vpaddd        %ymm0,%ymm3,%ymm0
+  .byte  196,193,249,126,201                 // vmovq         %xmm1,%r9
+  .byte  68,137,200                          // mov           %r9d,%eax
+  .byte  65,15,182,4,0                       // movzbl        (%r8,%rax,1),%eax
+  .byte  197,249,110,208                     // vmovd         %eax,%xmm2
+  .byte  196,195,249,22,202,1                // vpextrq       $0x1,%xmm1,%r10
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  67,15,182,4,8                       // movzbl        (%r8,%r9,1),%eax
+  .byte  196,227,105,32,208,1                // vpinsrb       $0x1,%eax,%xmm2,%xmm2
+  .byte  68,137,208                          // mov           %r10d,%eax
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,227,125,57,201,1                // vextracti128  $0x1,%ymm1,%xmm1
+  .byte  65,15,182,4,0                       // movzbl        (%r8,%rax,1),%eax
+  .byte  196,227,105,32,208,2                // vpinsrb       $0x2,%eax,%xmm2,%xmm2
+  .byte  196,193,249,126,201                 // vmovq         %xmm1,%r9
+  .byte  67,15,182,4,16                      // movzbl        (%r8,%r10,1),%eax
+  .byte  196,227,105,32,208,3                // vpinsrb       $0x3,%eax,%xmm2,%xmm2
+  .byte  68,137,200                          // mov           %r9d,%eax
+  .byte  65,15,182,4,0                       // movzbl        (%r8,%rax,1),%eax
+  .byte  196,227,105,32,208,4                // vpinsrb       $0x4,%eax,%xmm2,%xmm2
+  .byte  196,195,249,22,202,1                // vpextrq       $0x1,%xmm1,%r10
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  67,15,182,4,8                       // movzbl        (%r8,%r9,1),%eax
+  .byte  196,227,105,32,200,5                // vpinsrb       $0x5,%eax,%xmm2,%xmm1
+  .byte  68,137,208                          // mov           %r10d,%eax
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  65,15,182,4,0                       // movzbl        (%r8,%rax,1),%eax
+  .byte  196,227,113,32,200,6                // vpinsrb       $0x6,%eax,%xmm1,%xmm1
+  .byte  196,193,249,126,193                 // vmovq         %xmm0,%r9
+  .byte  67,15,182,4,16                      // movzbl        (%r8,%r10,1),%eax
+  .byte  196,227,113,32,200,7                // vpinsrb       $0x7,%eax,%xmm1,%xmm1
+  .byte  68,137,200                          // mov           %r9d,%eax
+  .byte  65,15,182,4,0                       // movzbl        (%r8,%rax,1),%eax
+  .byte  196,227,113,32,200,8                // vpinsrb       $0x8,%eax,%xmm1,%xmm1
+  .byte  196,195,249,22,194,1                // vpextrq       $0x1,%xmm0,%r10
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  67,15,182,4,8                       // movzbl        (%r8,%r9,1),%eax
+  .byte  196,227,113,32,200,9                // vpinsrb       $0x9,%eax,%xmm1,%xmm1
+  .byte  68,137,208                          // mov           %r10d,%eax
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  196,227,125,57,192,1                // vextracti128  $0x1,%ymm0,%xmm0
+  .byte  65,15,182,4,0                       // movzbl        (%r8,%rax,1),%eax
+  .byte  196,227,113,32,200,10               // vpinsrb       $0xa,%eax,%xmm1,%xmm1
+  .byte  196,193,249,126,193                 // vmovq         %xmm0,%r9
+  .byte  67,15,182,4,16                      // movzbl        (%r8,%r10,1),%eax
+  .byte  196,227,113,32,200,11               // vpinsrb       $0xb,%eax,%xmm1,%xmm1
+  .byte  68,137,200                          // mov           %r9d,%eax
+  .byte  65,15,182,4,0                       // movzbl        (%r8,%rax,1),%eax
+  .byte  196,227,113,32,200,12               // vpinsrb       $0xc,%eax,%xmm1,%xmm1
+  .byte  196,195,249,22,194,1                // vpextrq       $0x1,%xmm0,%r10
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  67,15,182,4,8                       // movzbl        (%r8,%r9,1),%eax
+  .byte  196,227,113,32,192,13               // vpinsrb       $0xd,%eax,%xmm1,%xmm0
+  .byte  68,137,208                          // mov           %r10d,%eax
+  .byte  65,15,182,4,0                       // movzbl        (%r8,%rax,1),%eax
+  .byte  196,227,121,32,192,14               // vpinsrb       $0xe,%eax,%xmm0,%xmm0
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  67,15,182,4,16                      // movzbl        (%r8,%r10,1),%eax
+  .byte  196,227,121,32,192,15               // vpinsrb       $0xf,%eax,%xmm0,%xmm0
+  .byte  196,226,125,48,192                  // vpmovzxbw     %xmm0,%ymm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,121,29,244,184,0,0      // vpbroadcastw  0xb8f4(%rip),%ymm3        # 3cdae <_sk_srcover_bgra_8888_sse2_lowp+0xb62>
+  .byte  197,253,111,200                     // vmovdqa       %ymm0,%ymm1
+  .byte  197,253,111,208                     // vmovdqa       %ymm0,%ymm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_scale_1_float_hsw_lowp
+.globl _sk_scale_1_float_hsw_lowp
+FUNCTION(_sk_scale_1_float_hsw_lowp)
+_sk_scale_1_float_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,122,16,0                        // vmovss        (%rax),%xmm8
+  .byte  197,122,16,13,86,176,0,0            // vmovss        0xb056(%rip),%xmm9        # 3c528 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  .byte  196,98,57,169,13,29,176,0,0         // vfmadd213ss   0xb01d(%rip),%xmm8,%xmm9        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  196,193,122,44,193                  // vcvttss2si    %xmm9,%eax
+  .byte  197,121,110,192                     // vmovd         %eax,%xmm8
+  .byte  196,66,125,121,192                  // vpbroadcastw  %xmm8,%ymm8
+  .byte  197,189,213,192                     // vpmullw       %ymm0,%ymm8,%ymm0
+  .byte  196,98,125,121,13,186,184,0,0       // vpbroadcastw  0xb8ba(%rip),%ymm9        # 3cdb0 <_sk_srcover_bgra_8888_sse2_lowp+0xb64>
+  .byte  196,193,125,253,193                 // vpaddw        %ymm9,%ymm0,%ymm0
+  .byte  197,253,113,208,8                   // vpsrlw        $0x8,%ymm0,%ymm0
+  .byte  197,189,213,201                     // vpmullw       %ymm1,%ymm8,%ymm1
+  .byte  196,193,117,253,201                 // vpaddw        %ymm9,%ymm1,%ymm1
+  .byte  197,245,113,209,8                   // vpsrlw        $0x8,%ymm1,%ymm1
+  .byte  197,189,213,210                     // vpmullw       %ymm2,%ymm8,%ymm2
+  .byte  196,193,109,253,209                 // vpaddw        %ymm9,%ymm2,%ymm2
+  .byte  197,237,113,210,8                   // vpsrlw        $0x8,%ymm2,%ymm2
+  .byte  197,189,213,219                     // vpmullw       %ymm3,%ymm8,%ymm3
+  .byte  196,193,101,253,217                 // vpaddw        %ymm9,%ymm3,%ymm3
+  .byte  197,229,113,211,8                   // vpsrlw        $0x8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_lerp_1_float_hsw_lowp
+.globl _sk_lerp_1_float_hsw_lowp
+FUNCTION(_sk_lerp_1_float_hsw_lowp)
+_sk_lerp_1_float_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,122,16,0                        // vmovss        (%rax),%xmm8
+  .byte  197,122,16,13,236,175,0,0           // vmovss        0xafec(%rip),%xmm9        # 3c528 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  .byte  196,98,57,169,13,179,175,0,0        // vfmadd213ss   0xafb3(%rip),%xmm8,%xmm9        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  196,193,122,44,193                  // vcvttss2si    %xmm9,%eax
+  .byte  197,121,110,192                     // vmovd         %eax,%xmm8
+  .byte  196,66,125,121,192                  // vpbroadcastw  %xmm8,%ymm8
+  .byte  196,98,125,121,13,86,184,0,0        // vpbroadcastw  0xb856(%rip),%ymm9        # 3cdb2 <_sk_srcover_bgra_8888_sse2_lowp+0xb66>
+  .byte  196,65,53,249,208                   // vpsubw        %ymm8,%ymm9,%ymm10
+  .byte  197,45,213,220                      // vpmullw       %ymm4,%ymm10,%ymm11
+  .byte  197,189,213,192                     // vpmullw       %ymm0,%ymm8,%ymm0
+  .byte  196,193,125,253,193                 // vpaddw        %ymm9,%ymm0,%ymm0
+  .byte  197,165,253,192                     // vpaddw        %ymm0,%ymm11,%ymm0
+  .byte  197,253,113,208,8                   // vpsrlw        $0x8,%ymm0,%ymm0
+  .byte  197,45,213,221                      // vpmullw       %ymm5,%ymm10,%ymm11
+  .byte  197,189,213,201                     // vpmullw       %ymm1,%ymm8,%ymm1
+  .byte  196,193,117,253,201                 // vpaddw        %ymm9,%ymm1,%ymm1
+  .byte  197,165,253,201                     // vpaddw        %ymm1,%ymm11,%ymm1
+  .byte  197,245,113,209,8                   // vpsrlw        $0x8,%ymm1,%ymm1
+  .byte  197,45,213,222                      // vpmullw       %ymm6,%ymm10,%ymm11
+  .byte  197,189,213,210                     // vpmullw       %ymm2,%ymm8,%ymm2
+  .byte  196,193,109,253,209                 // vpaddw        %ymm9,%ymm2,%ymm2
+  .byte  197,165,253,210                     // vpaddw        %ymm2,%ymm11,%ymm2
+  .byte  197,237,113,210,8                   // vpsrlw        $0x8,%ymm2,%ymm2
+  .byte  197,45,213,215                      // vpmullw       %ymm7,%ymm10,%ymm10
+  .byte  197,189,213,219                     // vpmullw       %ymm3,%ymm8,%ymm3
+  .byte  196,193,101,253,217                 // vpaddw        %ymm9,%ymm3,%ymm3
+  .byte  197,173,253,219                     // vpaddw        %ymm3,%ymm10,%ymm3
+  .byte  197,229,113,211,8                   // vpsrlw        $0x8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_scale_u8_hsw_lowp
+.globl _sk_scale_u8_hsw_lowp
+FUNCTION(_sk_scale_u8_hsw_lowp)
+_sk_scale_u8_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,15                               // and           $0xf,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,14                               // cmp           $0xe,%al
+  .byte  119,38                              // ja            315fa <_sk_scale_u8_hsw_lowp+0x3d>
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,21,1,0,0                  // lea           0x115(%rip),%r9        # 316f8 <_sk_scale_u8_hsw_lowp+0x13b>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  197,121,110,192                     // vmovd         %eax,%xmm8
+  .byte  233,179,0,0,0                       // jmpq          316ad <_sk_scale_u8_hsw_lowp+0xf0>
+  .byte  196,65,122,111,4,16                 // vmovdqu       (%r8,%rdx,1),%xmm8
+  .byte  233,168,0,0,0                       // jmpq          316ad <_sk_scale_u8_hsw_lowp+0xf0>
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  196,67,57,32,68,16,2,2              // vpinsrb       $0x2,0x2(%r8,%rdx,1),%xmm8,%xmm8
+  .byte  65,15,183,4,16                      // movzwl        (%r8,%rdx,1),%eax
+  .byte  197,121,110,200                     // vmovd         %eax,%xmm9
+  .byte  196,67,57,14,193,1                  // vpblendw      $0x1,%xmm9,%xmm8,%xmm8
+  .byte  233,135,0,0,0                       // jmpq          316ad <_sk_scale_u8_hsw_lowp+0xf0>
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  196,67,57,32,68,16,6,6              // vpinsrb       $0x6,0x6(%r8,%rdx,1),%xmm8,%xmm8
+  .byte  196,67,57,32,68,16,5,5              // vpinsrb       $0x5,0x5(%r8,%rdx,1),%xmm8,%xmm8
+  .byte  196,67,57,32,68,16,4,4              // vpinsrb       $0x4,0x4(%r8,%rdx,1),%xmm8,%xmm8
+  .byte  196,65,121,110,12,16                // vmovd         (%r8,%rdx,1),%xmm9
+  .byte  196,67,57,2,193,1                   // vpblendd      $0x1,%xmm9,%xmm8,%xmm8
+  .byte  235,92                              // jmp           316ad <_sk_scale_u8_hsw_lowp+0xf0>
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  196,67,57,32,68,16,10,10            // vpinsrb       $0xa,0xa(%r8,%rdx,1),%xmm8,%xmm8
+  .byte  196,67,57,32,68,16,9,9              // vpinsrb       $0x9,0x9(%r8,%rdx,1),%xmm8,%xmm8
+  .byte  196,67,57,32,68,16,8,8              // vpinsrb       $0x8,0x8(%r8,%rdx,1),%xmm8,%xmm8
+  .byte  196,65,122,126,12,16                // vmovq         (%r8,%rdx,1),%xmm9
+  .byte  196,67,49,2,192,12                  // vpblendd      $0xc,%xmm8,%xmm9,%xmm8
+  .byte  235,49                              // jmp           316ad <_sk_scale_u8_hsw_lowp+0xf0>
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  196,67,57,32,68,16,14,14            // vpinsrb       $0xe,0xe(%r8,%rdx,1),%xmm8,%xmm8
+  .byte  196,67,57,32,68,16,13,13            // vpinsrb       $0xd,0xd(%r8,%rdx,1),%xmm8,%xmm8
+  .byte  196,67,57,32,68,16,12,12            // vpinsrb       $0xc,0xc(%r8,%rdx,1),%xmm8,%xmm8
+  .byte  196,65,122,126,12,16                // vmovq         (%r8,%rdx,1),%xmm9
+  .byte  196,67,49,34,76,16,8,2              // vpinsrd       $0x2,0x8(%r8,%rdx,1),%xmm9,%xmm9
+  .byte  196,67,49,2,192,8                   // vpblendd      $0x8,%xmm8,%xmm9,%xmm8
+  .byte  196,66,125,48,192                   // vpmovzxbw     %xmm8,%ymm8
+  .byte  197,189,213,192                     // vpmullw       %ymm0,%ymm8,%ymm0
+  .byte  196,98,125,121,13,245,182,0,0       // vpbroadcastw  0xb6f5(%rip),%ymm9        # 3cdb4 <_sk_srcover_bgra_8888_sse2_lowp+0xb68>
+  .byte  196,193,125,253,193                 // vpaddw        %ymm9,%ymm0,%ymm0
+  .byte  197,253,113,208,8                   // vpsrlw        $0x8,%ymm0,%ymm0
+  .byte  197,189,213,201                     // vpmullw       %ymm1,%ymm8,%ymm1
+  .byte  196,193,117,253,201                 // vpaddw        %ymm9,%ymm1,%ymm1
+  .byte  197,245,113,209,8                   // vpsrlw        $0x8,%ymm1,%ymm1
+  .byte  197,189,213,210                     // vpmullw       %ymm2,%ymm8,%ymm2
+  .byte  196,193,109,253,209                 // vpaddw        %ymm9,%ymm2,%ymm2
+  .byte  197,237,113,210,8                   // vpsrlw        $0x8,%ymm2,%ymm2
+  .byte  197,189,213,219                     // vpmullw       %ymm3,%ymm8,%ymm3
+  .byte  196,193,101,253,217                 // vpaddw        %ymm9,%ymm3,%ymm3
+  .byte  197,229,113,211,8                   // vpsrlw        $0x8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  144                                 // nop
+  .byte  244                                 // hlt
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,26                              // lcall         *(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,13,255,255,255,75               // decl          0x4bffffff(%rip)        # 4c031704 <_sk_srcover_bgra_8888_sse2_lowp+0x4bff54b8>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,67,255                          // incl          -0x1(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  59,255                              // cmp           %edi,%edi
+  .byte  255                                 // (bad)
+  .byte  255,46                              // ljmp          *(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,118,255                         // pushq         -0x1(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255,110,255                         // ljmp          *-0x1(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255,102,255                         // jmpq          *-0x1(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255,89,255                          // lcall         *-0x1(%rcx)
+  .byte  255                                 // (bad)
+  .byte  255,161,255,255,255,153             // jmpq          *-0x66000001(%rcx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,145,255,255,255,132             // callq         *-0x7b000001(%rcx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_lerp_u8_hsw_lowp
+.globl _sk_lerp_u8_hsw_lowp
+FUNCTION(_sk_lerp_u8_hsw_lowp)
+_sk_lerp_u8_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,15                               // and           $0xf,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,14                               // cmp           $0xe,%al
+  .byte  119,38                              // ja            31771 <_sk_lerp_u8_hsw_lowp+0x3d>
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,58,1,0,0                  // lea           0x13a(%rip),%r9        # 31894 <_sk_lerp_u8_hsw_lowp+0x160>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  197,121,110,192                     // vmovd         %eax,%xmm8
+  .byte  233,179,0,0,0                       // jmpq          31824 <_sk_lerp_u8_hsw_lowp+0xf0>
+  .byte  196,65,122,111,4,16                 // vmovdqu       (%r8,%rdx,1),%xmm8
+  .byte  233,168,0,0,0                       // jmpq          31824 <_sk_lerp_u8_hsw_lowp+0xf0>
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  196,67,57,32,68,16,2,2              // vpinsrb       $0x2,0x2(%r8,%rdx,1),%xmm8,%xmm8
+  .byte  65,15,183,4,16                      // movzwl        (%r8,%rdx,1),%eax
+  .byte  197,121,110,200                     // vmovd         %eax,%xmm9
+  .byte  196,67,57,14,193,1                  // vpblendw      $0x1,%xmm9,%xmm8,%xmm8
+  .byte  233,135,0,0,0                       // jmpq          31824 <_sk_lerp_u8_hsw_lowp+0xf0>
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  196,67,57,32,68,16,6,6              // vpinsrb       $0x6,0x6(%r8,%rdx,1),%xmm8,%xmm8
+  .byte  196,67,57,32,68,16,5,5              // vpinsrb       $0x5,0x5(%r8,%rdx,1),%xmm8,%xmm8
+  .byte  196,67,57,32,68,16,4,4              // vpinsrb       $0x4,0x4(%r8,%rdx,1),%xmm8,%xmm8
+  .byte  196,65,121,110,12,16                // vmovd         (%r8,%rdx,1),%xmm9
+  .byte  196,67,57,2,193,1                   // vpblendd      $0x1,%xmm9,%xmm8,%xmm8
+  .byte  235,92                              // jmp           31824 <_sk_lerp_u8_hsw_lowp+0xf0>
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  196,67,57,32,68,16,10,10            // vpinsrb       $0xa,0xa(%r8,%rdx,1),%xmm8,%xmm8
+  .byte  196,67,57,32,68,16,9,9              // vpinsrb       $0x9,0x9(%r8,%rdx,1),%xmm8,%xmm8
+  .byte  196,67,57,32,68,16,8,8              // vpinsrb       $0x8,0x8(%r8,%rdx,1),%xmm8,%xmm8
+  .byte  196,65,122,126,12,16                // vmovq         (%r8,%rdx,1),%xmm9
+  .byte  196,67,49,2,192,12                  // vpblendd      $0xc,%xmm8,%xmm9,%xmm8
+  .byte  235,49                              // jmp           31824 <_sk_lerp_u8_hsw_lowp+0xf0>
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  196,67,57,32,68,16,14,14            // vpinsrb       $0xe,0xe(%r8,%rdx,1),%xmm8,%xmm8
+  .byte  196,67,57,32,68,16,13,13            // vpinsrb       $0xd,0xd(%r8,%rdx,1),%xmm8,%xmm8
+  .byte  196,67,57,32,68,16,12,12            // vpinsrb       $0xc,0xc(%r8,%rdx,1),%xmm8,%xmm8
+  .byte  196,65,122,126,12,16                // vmovq         (%r8,%rdx,1),%xmm9
+  .byte  196,67,49,34,76,16,8,2              // vpinsrd       $0x2,0x8(%r8,%rdx,1),%xmm9,%xmm9
+  .byte  196,67,49,2,192,8                   // vpblendd      $0x8,%xmm8,%xmm9,%xmm8
+  .byte  196,66,125,48,192                   // vpmovzxbw     %xmm8,%ymm8
+  .byte  196,98,125,121,13,132,181,0,0       // vpbroadcastw  0xb584(%rip),%ymm9        # 3cdb6 <_sk_srcover_bgra_8888_sse2_lowp+0xb6a>
+  .byte  196,65,61,239,209                   // vpxor         %ymm9,%ymm8,%ymm10
+  .byte  197,45,213,220                      // vpmullw       %ymm4,%ymm10,%ymm11
+  .byte  197,189,213,192                     // vpmullw       %ymm0,%ymm8,%ymm0
+  .byte  196,193,125,253,193                 // vpaddw        %ymm9,%ymm0,%ymm0
+  .byte  197,165,253,192                     // vpaddw        %ymm0,%ymm11,%ymm0
+  .byte  197,253,113,208,8                   // vpsrlw        $0x8,%ymm0,%ymm0
+  .byte  197,45,213,221                      // vpmullw       %ymm5,%ymm10,%ymm11
+  .byte  197,189,213,201                     // vpmullw       %ymm1,%ymm8,%ymm1
+  .byte  196,193,117,253,201                 // vpaddw        %ymm9,%ymm1,%ymm1
+  .byte  197,165,253,201                     // vpaddw        %ymm1,%ymm11,%ymm1
+  .byte  197,245,113,209,8                   // vpsrlw        $0x8,%ymm1,%ymm1
+  .byte  197,45,213,222                      // vpmullw       %ymm6,%ymm10,%ymm11
+  .byte  197,189,213,210                     // vpmullw       %ymm2,%ymm8,%ymm2
+  .byte  196,193,109,253,209                 // vpaddw        %ymm9,%ymm2,%ymm2
+  .byte  197,165,253,210                     // vpaddw        %ymm2,%ymm11,%ymm2
+  .byte  197,237,113,210,8                   // vpsrlw        $0x8,%ymm2,%ymm2
+  .byte  197,45,213,215                      // vpmullw       %ymm7,%ymm10,%ymm10
+  .byte  197,189,213,219                     // vpmullw       %ymm3,%ymm8,%ymm3
+  .byte  196,193,101,253,217                 // vpaddw        %ymm9,%ymm3,%ymm3
+  .byte  197,173,253,219                     // vpaddw        %ymm3,%ymm10,%ymm3
+  .byte  197,229,113,211,8                   // vpsrlw        $0x8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  144                                 // nop
+  .byte  207                                 // iret
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,245                             // push          %rbp
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  232,254,255,255,38                  // callq         2703189f <_sk_srcover_bgra_8888_sse2_lowp+0x26ff5653>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,30                              // lcall         *(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,22                              // callq         *(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,9                               // decl          (%rcx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,81,255                          // callq         *-0x1(%rcx)
+  .byte  255                                 // (bad)
+  .byte  255,73,255                          // decl          -0x1(%rcx)
+  .byte  255                                 // (bad)
+  .byte  255,65,255                          // incl          -0x1(%rcx)
+  .byte  255                                 // (bad)
+  .byte  255,52,255                          // pushq         (%rdi,%rdi,8)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  124,255                             // jl            318c1 <_sk_lerp_u8_hsw_lowp+0x18d>
+  .byte  255                                 // (bad)
+  .byte  255,116,255,255                     // pushq         -0x1(%rdi,%rdi,8)
+  .byte  255,108,255,255                     // ljmp          *-0x1(%rdi,%rdi,8)
+  .byte  255,95,255                          // lcall         *-0x1(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_scale_565_hsw_lowp
+.globl _sk_scale_565_hsw_lowp
+FUNCTION(_sk_scale_565_hsw_lowp)
+_sk_scale_565_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,15                               // and           $0xf,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,14                               // cmp           $0xe,%al
+  .byte  119,38                              // ja            31910 <_sk_scale_565_hsw_lowp+0x40>
+  .byte  196,65,61,239,192                   // vpxor         %ymm8,%ymm8,%ymm8
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,255,1,0,0                 // lea           0x1ff(%rip),%r9        # 31af8 <_sk_scale_565_hsw_lowp+0x228>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  197,121,110,192                     // vmovd         %eax,%xmm8
+  .byte  233,12,1,0,0                        // jmpq          31a1c <_sk_scale_565_hsw_lowp+0x14c>
+  .byte  196,65,126,111,4,80                 // vmovdqu       (%r8,%rdx,2),%ymm8
+  .byte  233,1,1,0,0                         // jmpq          31a1c <_sk_scale_565_hsw_lowp+0x14c>
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  196,65,57,196,76,80,4,2             // vpinsrw       $0x2,0x4(%r8,%rdx,2),%xmm8,%xmm9
+  .byte  196,67,53,56,192,1                  // vinserti128   $0x1,%xmm8,%ymm9,%ymm8
+  .byte  196,65,121,110,12,80                // vmovd         (%r8,%rdx,2),%xmm9
+  .byte  196,67,61,2,193,1                   // vpblendd      $0x1,%ymm9,%ymm8,%ymm8
+  .byte  233,221,0,0,0                       // jmpq          31a1c <_sk_scale_565_hsw_lowp+0x14c>
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  196,65,57,196,76,80,12,6            // vpinsrw       $0x6,0xc(%r8,%rdx,2),%xmm8,%xmm9
+  .byte  196,67,53,56,192,1                  // vinserti128   $0x1,%xmm8,%ymm9,%ymm8
+  .byte  196,65,57,196,76,80,10,5            // vpinsrw       $0x5,0xa(%r8,%rdx,2),%xmm8,%xmm9
+  .byte  196,67,61,2,193,15                  // vpblendd      $0xf,%ymm9,%ymm8,%ymm8
+  .byte  196,65,57,196,76,80,8,4             // vpinsrw       $0x4,0x8(%r8,%rdx,2),%xmm8,%xmm9
+  .byte  196,67,61,2,193,15                  // vpblendd      $0xf,%ymm9,%ymm8,%ymm8
+  .byte  196,65,122,126,12,80                // vmovq         (%r8,%rdx,2),%xmm9
+  .byte  196,67,61,2,193,3                   // vpblendd      $0x3,%ymm9,%ymm8,%ymm8
+  .byte  233,157,0,0,0                       // jmpq          31a1c <_sk_scale_565_hsw_lowp+0x14c>
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  196,65,57,196,76,80,20,2            // vpinsrw       $0x2,0x14(%r8,%rdx,2),%xmm8,%xmm9
+  .byte  196,67,61,56,193,1                  // vinserti128   $0x1,%xmm9,%ymm8,%ymm8
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,65,49,196,76,80,18,1            // vpinsrw       $0x1,0x12(%r8,%rdx,2),%xmm9,%xmm9
+  .byte  196,67,61,56,193,1                  // vinserti128   $0x1,%xmm9,%ymm8,%ymm8
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,65,49,196,76,80,16,0            // vpinsrw       $0x0,0x10(%r8,%rdx,2),%xmm9,%xmm9
+  .byte  196,67,61,56,193,1                  // vinserti128   $0x1,%xmm9,%ymm8,%ymm8
+  .byte  196,65,122,111,12,80                // vmovdqu       (%r8,%rdx,2),%xmm9
+  .byte  196,67,53,2,192,240                 // vpblendd      $0xf0,%ymm8,%ymm9,%ymm8
+  .byte  235,84                              // jmp           31a1c <_sk_scale_565_hsw_lowp+0x14c>
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  196,65,57,196,76,80,28,6            // vpinsrw       $0x6,0x1c(%r8,%rdx,2),%xmm8,%xmm9
+  .byte  196,67,61,56,193,1                  // vinserti128   $0x1,%xmm9,%ymm8,%ymm8
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,65,49,196,76,80,26,5            // vpinsrw       $0x5,0x1a(%r8,%rdx,2),%xmm9,%xmm9
+  .byte  196,67,61,56,193,1                  // vinserti128   $0x1,%xmm9,%ymm8,%ymm8
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,65,49,196,76,80,24,4            // vpinsrw       $0x4,0x18(%r8,%rdx,2),%xmm9,%xmm9
+  .byte  196,67,61,56,193,1                  // vinserti128   $0x1,%xmm9,%ymm8,%ymm8
+  .byte  196,65,122,126,76,80,16             // vmovq         0x10(%r8,%rdx,2),%xmm9
+  .byte  196,65,122,111,20,80                // vmovdqu       (%r8,%rdx,2),%xmm10
+  .byte  196,67,45,56,201,1                  // vinserti128   $0x1,%xmm9,%ymm10,%ymm9
+  .byte  196,67,53,2,192,192                 // vpblendd      $0xc0,%ymm8,%ymm9,%ymm8
+  .byte  196,98,125,121,13,147,179,0,0       // vpbroadcastw  0xb393(%rip),%ymm9        # 3cdb8 <_sk_srcover_bgra_8888_sse2_lowp+0xb6c>
+  .byte  196,193,45,113,208,8                // vpsrlw        $0x8,%ymm8,%ymm10
+  .byte  196,65,45,219,201                   // vpand         %ymm9,%ymm10,%ymm9
+  .byte  196,193,45,113,208,5                // vpsrlw        $0x5,%ymm8,%ymm10
+  .byte  196,98,125,121,29,123,179,0,0       // vpbroadcastw  0xb37b(%rip),%ymm11        # 3cdba <_sk_srcover_bgra_8888_sse2_lowp+0xb6e>
+  .byte  196,65,45,219,211                   // vpand         %ymm11,%ymm10,%ymm10
+  .byte  196,98,125,121,29,111,179,0,0       // vpbroadcastw  0xb36f(%rip),%ymm11        # 3cdbc <_sk_srcover_bgra_8888_sse2_lowp+0xb70>
+  .byte  196,65,61,219,219                   // vpand         %ymm11,%ymm8,%ymm11
+  .byte  196,193,61,113,208,13               // vpsrlw        $0xd,%ymm8,%ymm8
+  .byte  196,65,53,235,192                   // vpor          %ymm8,%ymm9,%ymm8
+  .byte  196,193,53,113,242,2                // vpsllw        $0x2,%ymm10,%ymm9
+  .byte  196,193,45,113,210,4                // vpsrlw        $0x4,%ymm10,%ymm10
+  .byte  196,65,53,235,202                   // vpor          %ymm10,%ymm9,%ymm9
+  .byte  196,193,45,113,243,3                // vpsllw        $0x3,%ymm11,%ymm10
+  .byte  196,193,37,113,211,2                // vpsrlw        $0x2,%ymm11,%ymm11
+  .byte  196,65,45,235,211                   // vpor          %ymm11,%ymm10,%ymm10
+  .byte  196,98,125,121,29,54,179,0,0        // vpbroadcastw  0xb336(%rip),%ymm11        # 3cdbe <_sk_srcover_bgra_8888_sse2_lowp+0xb72>
+  .byte  196,65,101,239,227                  // vpxor         %ymm11,%ymm3,%ymm12
+  .byte  196,65,69,239,219                   // vpxor         %ymm11,%ymm7,%ymm11
+  .byte  196,65,37,101,220                   // vpcmpgtw      %ymm12,%ymm11,%ymm11
+  .byte  196,66,53,58,226                    // vpminuw       %ymm10,%ymm9,%ymm12
+  .byte  196,66,29,58,224                    // vpminuw       %ymm8,%ymm12,%ymm12
+  .byte  196,66,53,62,234                    // vpmaxuw       %ymm10,%ymm9,%ymm13
+  .byte  196,66,21,62,232                    // vpmaxuw       %ymm8,%ymm13,%ymm13
+  .byte  196,67,21,76,220,176                // vpblendvb     %ymm11,%ymm12,%ymm13,%ymm11
+  .byte  197,189,213,192                     // vpmullw       %ymm0,%ymm8,%ymm0
+  .byte  196,98,125,121,5,2,179,0,0          // vpbroadcastw  0xb302(%rip),%ymm8        # 3cdc0 <_sk_srcover_bgra_8888_sse2_lowp+0xb74>
+  .byte  196,193,125,253,192                 // vpaddw        %ymm8,%ymm0,%ymm0
+  .byte  197,253,113,208,8                   // vpsrlw        $0x8,%ymm0,%ymm0
+  .byte  197,181,213,201                     // vpmullw       %ymm1,%ymm9,%ymm1
+  .byte  196,193,117,253,200                 // vpaddw        %ymm8,%ymm1,%ymm1
+  .byte  197,245,113,209,8                   // vpsrlw        $0x8,%ymm1,%ymm1
+  .byte  197,173,213,210                     // vpmullw       %ymm2,%ymm10,%ymm2
+  .byte  196,193,109,253,208                 // vpaddw        %ymm8,%ymm2,%ymm2
+  .byte  197,237,113,210,8                   // vpsrlw        $0x8,%ymm2,%ymm2
+  .byte  197,165,213,219                     // vpmullw       %ymm3,%ymm11,%ymm3
+  .byte  196,193,101,253,216                 // vpaddw        %ymm8,%ymm3,%ymm3
+  .byte  197,229,113,211,8                   // vpsrlw        $0x8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  10,254                              // or            %dh,%bh
+  .byte  255                                 // (bad)
+  .byte  255,54                              // pushq         (%rsi)
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,35                              // jmpq          *(%rbx)
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,118,254                         // pushq         -0x2(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255,104,254                         // ljmp          *-0x2(%rax)
+  .byte  255                                 // (bad)
+  .byte  255,90,254                          // lcall         *-0x2(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255,71,254                          // incl          -0x2(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255,194                             // inc           %edx
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,174,254,255,255,154             // ljmp          *-0x65000002(%rsi)
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,135,254,255,255,11              // incl          0xbfffffe(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,247                             // push          %rdi
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,227                             // jmpq          *%rbx
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,208                             // callq         *%rax
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_lerp_565_hsw_lowp
+.globl _sk_lerp_565_hsw_lowp
+FUNCTION(_sk_lerp_565_hsw_lowp)
+_sk_lerp_565_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,15                               // and           $0xf,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,14                               // cmp           $0xe,%al
+  .byte  119,38                              // ja            31b74 <_sk_lerp_565_hsw_lowp+0x40>
+  .byte  196,65,61,239,192                   // vpxor         %ymm8,%ymm8,%ymm8
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,51,2,0,0                  // lea           0x233(%rip),%r9        # 31d90 <_sk_lerp_565_hsw_lowp+0x25c>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  197,121,110,192                     // vmovd         %eax,%xmm8
+  .byte  233,12,1,0,0                        // jmpq          31c80 <_sk_lerp_565_hsw_lowp+0x14c>
+  .byte  196,65,126,111,4,80                 // vmovdqu       (%r8,%rdx,2),%ymm8
+  .byte  233,1,1,0,0                         // jmpq          31c80 <_sk_lerp_565_hsw_lowp+0x14c>
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  196,65,57,196,76,80,4,2             // vpinsrw       $0x2,0x4(%r8,%rdx,2),%xmm8,%xmm9
+  .byte  196,67,53,56,192,1                  // vinserti128   $0x1,%xmm8,%ymm9,%ymm8
+  .byte  196,65,121,110,12,80                // vmovd         (%r8,%rdx,2),%xmm9
+  .byte  196,67,61,2,193,1                   // vpblendd      $0x1,%ymm9,%ymm8,%ymm8
+  .byte  233,221,0,0,0                       // jmpq          31c80 <_sk_lerp_565_hsw_lowp+0x14c>
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  196,65,57,196,76,80,12,6            // vpinsrw       $0x6,0xc(%r8,%rdx,2),%xmm8,%xmm9
+  .byte  196,67,53,56,192,1                  // vinserti128   $0x1,%xmm8,%ymm9,%ymm8
+  .byte  196,65,57,196,76,80,10,5            // vpinsrw       $0x5,0xa(%r8,%rdx,2),%xmm8,%xmm9
+  .byte  196,67,61,2,193,15                  // vpblendd      $0xf,%ymm9,%ymm8,%ymm8
+  .byte  196,65,57,196,76,80,8,4             // vpinsrw       $0x4,0x8(%r8,%rdx,2),%xmm8,%xmm9
+  .byte  196,67,61,2,193,15                  // vpblendd      $0xf,%ymm9,%ymm8,%ymm8
+  .byte  196,65,122,126,12,80                // vmovq         (%r8,%rdx,2),%xmm9
+  .byte  196,67,61,2,193,3                   // vpblendd      $0x3,%ymm9,%ymm8,%ymm8
+  .byte  233,157,0,0,0                       // jmpq          31c80 <_sk_lerp_565_hsw_lowp+0x14c>
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  196,65,57,196,76,80,20,2            // vpinsrw       $0x2,0x14(%r8,%rdx,2),%xmm8,%xmm9
+  .byte  196,67,61,56,193,1                  // vinserti128   $0x1,%xmm9,%ymm8,%ymm8
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,65,49,196,76,80,18,1            // vpinsrw       $0x1,0x12(%r8,%rdx,2),%xmm9,%xmm9
+  .byte  196,67,61,56,193,1                  // vinserti128   $0x1,%xmm9,%ymm8,%ymm8
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,65,49,196,76,80,16,0            // vpinsrw       $0x0,0x10(%r8,%rdx,2),%xmm9,%xmm9
+  .byte  196,67,61,56,193,1                  // vinserti128   $0x1,%xmm9,%ymm8,%ymm8
+  .byte  196,65,122,111,12,80                // vmovdqu       (%r8,%rdx,2),%xmm9
+  .byte  196,67,53,2,192,240                 // vpblendd      $0xf0,%ymm8,%ymm9,%ymm8
+  .byte  235,84                              // jmp           31c80 <_sk_lerp_565_hsw_lowp+0x14c>
+  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
+  .byte  196,65,57,196,76,80,28,6            // vpinsrw       $0x6,0x1c(%r8,%rdx,2),%xmm8,%xmm9
+  .byte  196,67,61,56,193,1                  // vinserti128   $0x1,%xmm9,%ymm8,%ymm8
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,65,49,196,76,80,26,5            // vpinsrw       $0x5,0x1a(%r8,%rdx,2),%xmm9,%xmm9
+  .byte  196,67,61,56,193,1                  // vinserti128   $0x1,%xmm9,%ymm8,%ymm8
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,65,49,196,76,80,24,4            // vpinsrw       $0x4,0x18(%r8,%rdx,2),%xmm9,%xmm9
+  .byte  196,67,61,56,193,1                  // vinserti128   $0x1,%xmm9,%ymm8,%ymm8
+  .byte  196,65,122,126,76,80,16             // vmovq         0x10(%r8,%rdx,2),%xmm9
+  .byte  196,65,122,111,20,80                // vmovdqu       (%r8,%rdx,2),%xmm10
+  .byte  196,67,45,56,201,1                  // vinserti128   $0x1,%xmm9,%ymm10,%ymm9
+  .byte  196,67,53,2,192,192                 // vpblendd      $0xc0,%ymm8,%ymm9,%ymm8
+  .byte  196,98,125,121,13,57,177,0,0        // vpbroadcastw  0xb139(%rip),%ymm9        # 3cdc2 <_sk_srcover_bgra_8888_sse2_lowp+0xb76>
+  .byte  196,193,45,113,208,8                // vpsrlw        $0x8,%ymm8,%ymm10
+  .byte  196,65,45,219,201                   // vpand         %ymm9,%ymm10,%ymm9
+  .byte  196,193,45,113,208,5                // vpsrlw        $0x5,%ymm8,%ymm10
+  .byte  196,98,125,121,29,33,177,0,0        // vpbroadcastw  0xb121(%rip),%ymm11        # 3cdc4 <_sk_srcover_bgra_8888_sse2_lowp+0xb78>
+  .byte  196,65,45,219,211                   // vpand         %ymm11,%ymm10,%ymm10
+  .byte  196,98,125,121,29,21,177,0,0        // vpbroadcastw  0xb115(%rip),%ymm11        # 3cdc6 <_sk_srcover_bgra_8888_sse2_lowp+0xb7a>
+  .byte  196,65,61,219,219                   // vpand         %ymm11,%ymm8,%ymm11
+  .byte  196,193,61,113,208,13               // vpsrlw        $0xd,%ymm8,%ymm8
+  .byte  196,65,53,235,192                   // vpor          %ymm8,%ymm9,%ymm8
+  .byte  196,193,53,113,242,2                // vpsllw        $0x2,%ymm10,%ymm9
+  .byte  196,193,45,113,210,4                // vpsrlw        $0x4,%ymm10,%ymm10
+  .byte  196,65,53,235,202                   // vpor          %ymm10,%ymm9,%ymm9
+  .byte  196,193,45,113,243,3                // vpsllw        $0x3,%ymm11,%ymm10
+  .byte  196,193,37,113,211,2                // vpsrlw        $0x2,%ymm11,%ymm11
+  .byte  196,65,45,235,211                   // vpor          %ymm11,%ymm10,%ymm10
+  .byte  196,98,125,121,29,220,176,0,0       // vpbroadcastw  0xb0dc(%rip),%ymm11        # 3cdc8 <_sk_srcover_bgra_8888_sse2_lowp+0xb7c>
+  .byte  196,65,101,239,227                  // vpxor         %ymm11,%ymm3,%ymm12
+  .byte  196,65,69,239,219                   // vpxor         %ymm11,%ymm7,%ymm11
+  .byte  196,65,37,101,220                   // vpcmpgtw      %ymm12,%ymm11,%ymm11
+  .byte  196,66,53,58,226                    // vpminuw       %ymm10,%ymm9,%ymm12
+  .byte  196,66,29,58,224                    // vpminuw       %ymm8,%ymm12,%ymm12
+  .byte  196,66,53,62,234                    // vpmaxuw       %ymm10,%ymm9,%ymm13
+  .byte  196,66,21,62,232                    // vpmaxuw       %ymm8,%ymm13,%ymm13
+  .byte  196,67,21,76,220,176                // vpblendvb     %ymm11,%ymm12,%ymm13,%ymm11
+  .byte  196,98,125,121,37,172,176,0,0       // vpbroadcastw  0xb0ac(%rip),%ymm12        # 3cdca <_sk_srcover_bgra_8888_sse2_lowp+0xb7e>
+  .byte  196,65,61,239,236                   // vpxor         %ymm12,%ymm8,%ymm13
+  .byte  197,21,213,236                      // vpmullw       %ymm4,%ymm13,%ymm13
+  .byte  197,189,213,192                     // vpmullw       %ymm0,%ymm8,%ymm0
+  .byte  196,193,125,253,196                 // vpaddw        %ymm12,%ymm0,%ymm0
+  .byte  197,149,253,192                     // vpaddw        %ymm0,%ymm13,%ymm0
+  .byte  197,253,113,208,8                   // vpsrlw        $0x8,%ymm0,%ymm0
+  .byte  196,65,53,239,196                   // vpxor         %ymm12,%ymm9,%ymm8
+  .byte  197,61,213,197                      // vpmullw       %ymm5,%ymm8,%ymm8
+  .byte  197,181,213,201                     // vpmullw       %ymm1,%ymm9,%ymm1
+  .byte  196,193,117,253,204                 // vpaddw        %ymm12,%ymm1,%ymm1
+  .byte  197,189,253,201                     // vpaddw        %ymm1,%ymm8,%ymm1
+  .byte  197,245,113,209,8                   // vpsrlw        $0x8,%ymm1,%ymm1
+  .byte  196,65,45,239,196                   // vpxor         %ymm12,%ymm10,%ymm8
+  .byte  197,61,213,198                      // vpmullw       %ymm6,%ymm8,%ymm8
+  .byte  197,173,213,210                     // vpmullw       %ymm2,%ymm10,%ymm2
+  .byte  196,193,109,253,212                 // vpaddw        %ymm12,%ymm2,%ymm2
+  .byte  197,189,253,210                     // vpaddw        %ymm2,%ymm8,%ymm2
+  .byte  197,237,113,210,8                   // vpsrlw        $0x8,%ymm2,%ymm2
+  .byte  196,65,37,239,196                   // vpxor         %ymm12,%ymm11,%ymm8
+  .byte  197,61,213,199                      // vpmullw       %ymm7,%ymm8,%ymm8
+  .byte  197,165,213,219                     // vpmullw       %ymm3,%ymm11,%ymm3
+  .byte  196,193,101,253,220                 // vpaddw        %ymm12,%ymm3,%ymm3
+  .byte  197,189,253,219                     // vpaddw        %ymm3,%ymm8,%ymm3
+  .byte  197,229,113,211,8                   // vpsrlw        $0x8,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  214                                 // (bad)
+  .byte  253                                 // std
+  .byte  255                                 // (bad)
+  .byte  255,2                               // incl          (%rdx)
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  239                                 // out           %eax,(%dx)
+  .byte  253                                 // std
+  .byte  255                                 // (bad)
+  .byte  255,66,254                          // incl          -0x2(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255,52,254                          // pushq         (%rsi,%rdi,8)
+  .byte  255                                 // (bad)
+  .byte  255,38                              // jmpq          *(%rsi)
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,19                              // callq         *(%rbx)
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,142,254,255,255,122             // decl          0x7afffffe(%rsi)
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,102,254                         // jmpq          *-0x2(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255,83,254                          // callq         *-0x2(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255,215                             // callq         *%rdi
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,195                             // inc           %ebx
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,175,254,255,255,156             // ljmp          *-0x63000002(%rdi)
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_clamp_x_1_hsw_lowp
+.globl _sk_clamp_x_1_hsw_lowp
+FUNCTION(_sk_clamp_x_1_hsw_lowp)
+_sk_clamp_x_1_hsw_lowp:
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  196,193,116,95,200                  // vmaxps        %ymm8,%ymm1,%ymm1
+  .byte  196,193,124,95,192                  // vmaxps        %ymm8,%ymm0,%ymm0
+  .byte  196,98,125,24,5,24,167,0,0          // vbroadcastss  0xa718(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,193,124,93,192                  // vminps        %ymm8,%ymm0,%ymm0
+  .byte  196,193,116,93,200                  // vminps        %ymm8,%ymm1,%ymm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_repeat_x_1_hsw_lowp
+.globl _sk_repeat_x_1_hsw_lowp
+FUNCTION(_sk_repeat_x_1_hsw_lowp)
+_sk_repeat_x_1_hsw_lowp:
+  .byte  196,99,125,8,192,1                  // vroundps      $0x1,%ymm0,%ymm8
+  .byte  196,99,125,8,201,1                  // vroundps      $0x1,%ymm1,%ymm9
+  .byte  196,193,124,92,192                  // vsubps        %ymm8,%ymm0,%ymm0
+  .byte  196,193,116,92,201                  // vsubps        %ymm9,%ymm1,%ymm1
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  196,193,116,95,200                  // vmaxps        %ymm8,%ymm1,%ymm1
+  .byte  196,193,124,95,192                  // vmaxps        %ymm8,%ymm0,%ymm0
+  .byte  196,98,125,24,5,220,166,0,0         // vbroadcastss  0xa6dc(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,193,124,93,192                  // vminps        %ymm8,%ymm0,%ymm0
+  .byte  196,193,116,93,200                  // vminps        %ymm8,%ymm1,%ymm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_mirror_x_1_hsw_lowp
+.globl _sk_mirror_x_1_hsw_lowp
+FUNCTION(_sk_mirror_x_1_hsw_lowp)
+_sk_mirror_x_1_hsw_lowp:
+  .byte  196,98,125,24,5,221,166,0,0         // vbroadcastss  0xa6dd(%rip),%ymm8        # 3c514 <_sk_srcover_bgra_8888_sse2_lowp+0x2c8>
+  .byte  196,193,124,88,192                  // vaddps        %ymm8,%ymm0,%ymm0
+  .byte  196,193,116,88,200                  // vaddps        %ymm8,%ymm1,%ymm1
+  .byte  196,98,125,24,13,174,166,0,0        // vbroadcastss  0xa6ae(%rip),%ymm9        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  196,65,116,89,209                   // vmulps        %ymm9,%ymm1,%ymm10
+  .byte  196,65,124,89,201                   // vmulps        %ymm9,%ymm0,%ymm9
+  .byte  196,67,125,8,201,1                  // vroundps      $0x1,%ymm9,%ymm9
+  .byte  196,67,125,8,210,1                  // vroundps      $0x1,%ymm10,%ymm10
+  .byte  196,65,44,88,210                    // vaddps        %ymm10,%ymm10,%ymm10
+  .byte  196,65,52,88,201                    // vaddps        %ymm9,%ymm9,%ymm9
+  .byte  196,193,124,92,193                  // vsubps        %ymm9,%ymm0,%ymm0
+  .byte  196,193,116,92,202                  // vsubps        %ymm10,%ymm1,%ymm1
+  .byte  196,193,116,88,200                  // vaddps        %ymm8,%ymm1,%ymm1
+  .byte  196,193,124,88,192                  // vaddps        %ymm8,%ymm0,%ymm0
+  .byte  196,98,125,24,5,17,168,0,0          // vbroadcastss  0xa811(%rip),%ymm8        # 3c698 <_sk_srcover_bgra_8888_sse2_lowp+0x44c>
+  .byte  196,193,124,84,192                  // vandps        %ymm8,%ymm0,%ymm0
+  .byte  196,193,116,84,200                  // vandps        %ymm8,%ymm1,%ymm1
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  196,193,116,95,200                  // vmaxps        %ymm8,%ymm1,%ymm1
+  .byte  196,193,124,95,192                  // vmaxps        %ymm8,%ymm0,%ymm0
+  .byte  196,98,125,24,5,83,166,0,0          // vbroadcastss  0xa653(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  196,193,124,93,192                  // vminps        %ymm8,%ymm0,%ymm0
+  .byte  196,193,116,93,200                  // vminps        %ymm8,%ymm1,%ymm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_decal_x_hsw_lowp
+.globl _sk_decal_x_hsw_lowp
+FUNCTION(_sk_decal_x_hsw_lowp)
+_sk_decal_x_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,60,194,201,2                    // vcmpleps      %ymm1,%ymm8,%ymm9
+  .byte  196,67,125,25,202,1                 // vextractf128  $0x1,%ymm9,%xmm10
+  .byte  196,65,49,99,202                    // vpacksswb     %xmm10,%xmm9,%xmm9
+  .byte  197,121,111,21,74,183,0,0           // vmovdqa       0xb74a(%rip),%xmm10        # 3d620 <_sk_srcover_bgra_8888_sse2_lowp+0x13d4>
+  .byte  196,66,49,0,202                     // vpshufb       %xmm10,%xmm9,%xmm9
+  .byte  197,60,194,192,2                    // vcmpleps      %ymm0,%ymm8,%ymm8
+  .byte  196,67,125,25,195,1                 // vextractf128  $0x1,%ymm8,%xmm11
+  .byte  196,65,57,99,195                    // vpacksswb     %xmm11,%xmm8,%xmm8
+  .byte  196,66,57,0,194                     // vpshufb       %xmm10,%xmm8,%xmm8
+  .byte  196,65,57,108,193                   // vpunpcklqdq   %xmm9,%xmm8,%xmm8
+  .byte  196,98,125,24,72,64                 // vbroadcastss  0x40(%rax),%ymm9
+  .byte  196,65,116,194,217,1                // vcmpltps      %ymm9,%ymm1,%ymm11
+  .byte  196,67,125,25,220,1                 // vextractf128  $0x1,%ymm11,%xmm12
+  .byte  196,65,33,99,220                    // vpacksswb     %xmm12,%xmm11,%xmm11
+  .byte  196,66,33,0,218                     // vpshufb       %xmm10,%xmm11,%xmm11
+  .byte  196,65,124,194,201,1                // vcmpltps      %ymm9,%ymm0,%ymm9
+  .byte  196,67,125,25,204,1                 // vextractf128  $0x1,%ymm9,%xmm12
+  .byte  196,65,49,99,204                    // vpacksswb     %xmm12,%xmm9,%xmm9
+  .byte  196,66,49,0,202                     // vpshufb       %xmm10,%xmm9,%xmm9
+  .byte  196,65,49,108,203                   // vpunpcklqdq   %xmm11,%xmm9,%xmm9
+  .byte  196,65,49,219,192                   // vpand         %xmm8,%xmm9,%xmm8
+  .byte  196,66,125,48,192                   // vpmovzxbw     %xmm8,%ymm8
+  .byte  196,193,61,113,240,15               // vpsllw        $0xf,%ymm8,%ymm8
+  .byte  196,193,61,113,224,15               // vpsraw        $0xf,%ymm8,%ymm8
+  .byte  197,126,127,0                       // vmovdqu       %ymm8,(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_decal_y_hsw_lowp
+.globl _sk_decal_y_hsw_lowp
+FUNCTION(_sk_decal_y_hsw_lowp)
+_sk_decal_y_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,60,194,203,2                    // vcmpleps      %ymm3,%ymm8,%ymm9
+  .byte  196,67,125,25,202,1                 // vextractf128  $0x1,%ymm9,%xmm10
+  .byte  196,65,49,99,202                    // vpacksswb     %xmm10,%xmm9,%xmm9
+  .byte  197,121,111,21,183,182,0,0          // vmovdqa       0xb6b7(%rip),%xmm10        # 3d620 <_sk_srcover_bgra_8888_sse2_lowp+0x13d4>
+  .byte  196,66,49,0,202                     // vpshufb       %xmm10,%xmm9,%xmm9
+  .byte  197,60,194,194,2                    // vcmpleps      %ymm2,%ymm8,%ymm8
+  .byte  196,67,125,25,195,1                 // vextractf128  $0x1,%ymm8,%xmm11
+  .byte  196,65,57,99,195                    // vpacksswb     %xmm11,%xmm8,%xmm8
+  .byte  196,66,57,0,194                     // vpshufb       %xmm10,%xmm8,%xmm8
+  .byte  196,65,57,108,193                   // vpunpcklqdq   %xmm9,%xmm8,%xmm8
+  .byte  196,98,125,24,72,68                 // vbroadcastss  0x44(%rax),%ymm9
+  .byte  196,65,100,194,217,1                // vcmpltps      %ymm9,%ymm3,%ymm11
+  .byte  196,67,125,25,220,1                 // vextractf128  $0x1,%ymm11,%xmm12
+  .byte  196,65,33,99,220                    // vpacksswb     %xmm12,%xmm11,%xmm11
+  .byte  196,66,33,0,218                     // vpshufb       %xmm10,%xmm11,%xmm11
+  .byte  196,65,108,194,201,1                // vcmpltps      %ymm9,%ymm2,%ymm9
+  .byte  196,67,125,25,204,1                 // vextractf128  $0x1,%ymm9,%xmm12
+  .byte  196,65,49,99,204                    // vpacksswb     %xmm12,%xmm9,%xmm9
+  .byte  196,66,49,0,202                     // vpshufb       %xmm10,%xmm9,%xmm9
+  .byte  196,65,49,108,203                   // vpunpcklqdq   %xmm11,%xmm9,%xmm9
+  .byte  196,65,49,219,192                   // vpand         %xmm8,%xmm9,%xmm8
+  .byte  196,66,125,48,192                   // vpmovzxbw     %xmm8,%ymm8
+  .byte  196,193,61,113,240,15               // vpsllw        $0xf,%ymm8,%ymm8
+  .byte  196,193,61,113,224,15               // vpsraw        $0xf,%ymm8,%ymm8
+  .byte  197,126,127,0                       // vmovdqu       %ymm8,(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_decal_x_and_y_hsw_lowp
+.globl _sk_decal_x_and_y_hsw_lowp
+FUNCTION(_sk_decal_x_and_y_hsw_lowp)
+_sk_decal_x_and_y_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
+  .byte  197,52,194,193,2                    // vcmpleps      %ymm1,%ymm9,%ymm8
+  .byte  196,67,125,25,194,1                 // vextractf128  $0x1,%ymm8,%xmm10
+  .byte  196,65,57,99,210                    // vpacksswb     %xmm10,%xmm8,%xmm10
+  .byte  197,121,111,5,36,182,0,0            // vmovdqa       0xb624(%rip),%xmm8        # 3d620 <_sk_srcover_bgra_8888_sse2_lowp+0x13d4>
+  .byte  196,66,41,0,208                     // vpshufb       %xmm8,%xmm10,%xmm10
+  .byte  197,52,194,216,2                    // vcmpleps      %ymm0,%ymm9,%ymm11
+  .byte  196,67,125,25,220,1                 // vextractf128  $0x1,%ymm11,%xmm12
+  .byte  196,65,33,99,220                    // vpacksswb     %xmm12,%xmm11,%xmm11
+  .byte  196,66,33,0,216                     // vpshufb       %xmm8,%xmm11,%xmm11
+  .byte  196,65,33,108,210                   // vpunpcklqdq   %xmm10,%xmm11,%xmm10
+  .byte  196,98,125,24,88,64                 // vbroadcastss  0x40(%rax),%ymm11
+  .byte  196,65,116,194,227,1                // vcmpltps      %ymm11,%ymm1,%ymm12
+  .byte  196,67,125,25,229,1                 // vextractf128  $0x1,%ymm12,%xmm13
+  .byte  196,65,25,99,229                    // vpacksswb     %xmm13,%xmm12,%xmm12
+  .byte  196,66,25,0,224                     // vpshufb       %xmm8,%xmm12,%xmm12
+  .byte  196,65,124,194,219,1                // vcmpltps      %ymm11,%ymm0,%ymm11
+  .byte  196,67,125,25,221,1                 // vextractf128  $0x1,%ymm11,%xmm13
+  .byte  196,65,33,99,221                    // vpacksswb     %xmm13,%xmm11,%xmm11
+  .byte  196,66,33,0,216                     // vpshufb       %xmm8,%xmm11,%xmm11
+  .byte  196,65,33,108,220                   // vpunpcklqdq   %xmm12,%xmm11,%xmm11
+  .byte  197,52,194,227,2                    // vcmpleps      %ymm3,%ymm9,%ymm12
+  .byte  196,67,125,25,229,1                 // vextractf128  $0x1,%ymm12,%xmm13
+  .byte  196,65,25,99,229                    // vpacksswb     %xmm13,%xmm12,%xmm12
+  .byte  196,66,25,0,224                     // vpshufb       %xmm8,%xmm12,%xmm12
+  .byte  197,52,194,202,2                    // vcmpleps      %ymm2,%ymm9,%ymm9
+  .byte  196,67,125,25,205,1                 // vextractf128  $0x1,%ymm9,%xmm13
+  .byte  196,65,49,99,205                    // vpacksswb     %xmm13,%xmm9,%xmm9
+  .byte  196,66,49,0,200                     // vpshufb       %xmm8,%xmm9,%xmm9
+  .byte  196,65,49,108,204                   // vpunpcklqdq   %xmm12,%xmm9,%xmm9
+  .byte  196,65,49,219,202                   // vpand         %xmm10,%xmm9,%xmm9
+  .byte  196,65,49,219,203                   // vpand         %xmm11,%xmm9,%xmm9
+  .byte  196,98,125,24,80,68                 // vbroadcastss  0x44(%rax),%ymm10
+  .byte  196,65,100,194,218,1                // vcmpltps      %ymm10,%ymm3,%ymm11
+  .byte  196,67,125,25,220,1                 // vextractf128  $0x1,%ymm11,%xmm12
+  .byte  196,65,33,99,220                    // vpacksswb     %xmm12,%xmm11,%xmm11
+  .byte  196,66,33,0,216                     // vpshufb       %xmm8,%xmm11,%xmm11
+  .byte  196,65,108,194,210,1                // vcmpltps      %ymm10,%ymm2,%ymm10
+  .byte  196,67,125,25,212,1                 // vextractf128  $0x1,%ymm10,%xmm12
+  .byte  196,65,41,99,212                    // vpacksswb     %xmm12,%xmm10,%xmm10
+  .byte  196,66,41,0,192                     // vpshufb       %xmm8,%xmm10,%xmm8
+  .byte  196,65,57,108,195                   // vpunpcklqdq   %xmm11,%xmm8,%xmm8
+  .byte  196,65,49,219,192                   // vpand         %xmm8,%xmm9,%xmm8
+  .byte  196,66,125,48,192                   // vpmovzxbw     %xmm8,%ymm8
+  .byte  196,193,61,113,240,15               // vpsllw        $0xf,%ymm8,%ymm8
+  .byte  196,193,61,113,224,15               // vpsraw        $0xf,%ymm8,%ymm8
+  .byte  197,126,127,0                       // vmovdqu       %ymm8,(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_check_decal_mask_hsw_lowp
+.globl _sk_check_decal_mask_hsw_lowp
+FUNCTION(_sk_check_decal_mask_hsw_lowp)
+_sk_check_decal_mask_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,124,16,0                        // vmovups       (%rax),%ymm8
+  .byte  197,188,84,192                      // vandps        %ymm0,%ymm8,%ymm0
+  .byte  197,188,84,201                      // vandps        %ymm1,%ymm8,%ymm1
+  .byte  197,188,84,210                      // vandps        %ymm2,%ymm8,%ymm2
+  .byte  197,188,84,219                      // vandps        %ymm3,%ymm8,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_gradient_hsw_lowp
+.globl _sk_gradient_hsw_lowp
+FUNCTION(_sk_gradient_hsw_lowp)
+_sk_gradient_hsw_lowp:
+  .byte  72,129,236,152,0,0,0                // sub           $0x98,%rsp
+  .byte  197,254,127,124,36,96               // vmovdqu       %ymm7,0x60(%rsp)
+  .byte  197,252,17,116,36,64                // vmovups       %ymm6,0x40(%rsp)
+  .byte  197,254,127,108,36,32               // vmovdqu       %ymm5,0x20(%rsp)
+  .byte  197,254,127,36,36                   // vmovdqu       %ymm4,(%rsp)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  197,197,239,255                     // vpxor         %ymm7,%ymm7,%ymm7
+  .byte  197,213,239,237                     // vpxor         %ymm5,%ymm5,%ymm5
+  .byte  73,131,248,2                        // cmp           $0x2,%r8
+  .byte  114,60                              // jb            32167 <_sk_gradient_hsw_lowp+0x6d>
+  .byte  76,139,72,72                        // mov           0x48(%rax),%r9
+  .byte  197,197,239,255                     // vpxor         %ymm7,%ymm7,%ymm7
+  .byte  65,186,1,0,0,0                      // mov           $0x1,%r10d
+  .byte  197,213,239,237                     // vpxor         %ymm5,%ymm5,%ymm5
+  .byte  196,130,125,24,20,145               // vbroadcastss  (%r9,%r10,4),%ymm2
+  .byte  197,236,194,216,2                   // vcmpleps      %ymm0,%ymm2,%ymm3
+  .byte  197,197,250,251                     // vpsubd        %ymm3,%ymm7,%ymm7
+  .byte  197,236,194,209,2                   // vcmpleps      %ymm1,%ymm2,%ymm2
+  .byte  197,213,250,234                     // vpsubd        %ymm2,%ymm5,%ymm5
+  .byte  73,255,194                          // inc           %r10
+  .byte  77,57,208                           // cmp           %r10,%r8
+  .byte  117,224                             // jne           3213d <_sk_gradient_hsw_lowp+0x43>
+  .byte  73,131,248,8                        // cmp           $0x8,%r8
+  .byte  15,135,180,0,0,0                    // ja            3221b <_sk_gradient_hsw_lowp+0x121>
+  .byte  76,139,64,8                         // mov           0x8(%rax),%r8
+  .byte  76,139,72,16                        // mov           0x10(%rax),%r9
+  .byte  196,193,124,16,24                   // vmovups       (%r8),%ymm3
+  .byte  196,226,69,22,211                   // vpermps       %ymm3,%ymm7,%ymm2
+  .byte  196,226,85,22,219                   // vpermps       %ymm3,%ymm5,%ymm3
+  .byte  76,139,64,40                        // mov           0x28(%rax),%r8
+  .byte  196,193,124,16,32                   // vmovups       (%r8),%ymm4
+  .byte  196,98,69,22,244                    // vpermps       %ymm4,%ymm7,%ymm14
+  .byte  196,226,85,22,228                   // vpermps       %ymm4,%ymm5,%ymm4
+  .byte  197,252,17,100,36,224               // vmovups       %ymm4,-0x20(%rsp)
+  .byte  196,193,124,16,33                   // vmovups       (%r9),%ymm4
+  .byte  196,98,69,22,196                    // vpermps       %ymm4,%ymm7,%ymm8
+  .byte  196,98,85,22,204                    // vpermps       %ymm4,%ymm5,%ymm9
+  .byte  76,139,64,48                        // mov           0x30(%rax),%r8
+  .byte  196,193,124,16,32                   // vmovups       (%r8),%ymm4
+  .byte  196,98,69,22,236                    // vpermps       %ymm4,%ymm7,%ymm13
+  .byte  196,226,85,22,228                   // vpermps       %ymm4,%ymm5,%ymm4
+  .byte  197,252,17,100,36,128               // vmovups       %ymm4,-0x80(%rsp)
+  .byte  76,139,64,24                        // mov           0x18(%rax),%r8
+  .byte  196,193,124,16,32                   // vmovups       (%r8),%ymm4
+  .byte  196,98,69,22,212                    // vpermps       %ymm4,%ymm7,%ymm10
+  .byte  196,98,85,22,220                    // vpermps       %ymm4,%ymm5,%ymm11
+  .byte  76,139,64,56                        // mov           0x38(%rax),%r8
+  .byte  196,193,124,16,48                   // vmovups       (%r8),%ymm6
+  .byte  196,226,69,22,230                   // vpermps       %ymm6,%ymm7,%ymm4
+  .byte  196,226,85,22,246                   // vpermps       %ymm6,%ymm5,%ymm6
+  .byte  76,139,64,32                        // mov           0x20(%rax),%r8
+  .byte  196,65,124,16,32                    // vmovups       (%r8),%ymm12
+  .byte  196,66,69,22,252                    // vpermps       %ymm12,%ymm7,%ymm15
+  .byte  197,124,17,124,36,192               // vmovups       %ymm15,-0x40(%rsp)
+  .byte  196,66,85,22,228                    // vpermps       %ymm12,%ymm5,%ymm12
+  .byte  197,124,17,100,36,160               // vmovups       %ymm12,-0x60(%rsp)
+  .byte  72,139,64,64                        // mov           0x40(%rax),%rax
+  .byte  197,124,16,56                       // vmovups       (%rax),%ymm15
+  .byte  196,66,69,22,231                    // vpermps       %ymm15,%ymm7,%ymm12
+  .byte  196,194,85,22,255                   // vpermps       %ymm15,%ymm5,%ymm7
+  .byte  233,34,1,0,0                        // jmpq          3233d <_sk_gradient_hsw_lowp+0x243>
+  .byte  76,139,64,8                         // mov           0x8(%rax),%r8
+  .byte  76,139,72,16                        // mov           0x10(%rax),%r9
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  196,194,101,146,20,184              // vgatherdps    %ymm3,(%r8,%ymm7,4),%ymm2
+  .byte  197,221,118,228                     // vpcmpeqd      %ymm4,%ymm4,%ymm4
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  196,194,93,146,28,168               // vgatherdps    %ymm4,(%r8,%ymm5,4),%ymm3
+  .byte  197,221,118,228                     // vpcmpeqd      %ymm4,%ymm4,%ymm4
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  196,66,93,146,4,185                 // vgatherdps    %ymm4,(%r9,%ymm7,4),%ymm8
+  .byte  197,221,118,228                     // vpcmpeqd      %ymm4,%ymm4,%ymm4
+  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
+  .byte  196,66,93,146,12,169                // vgatherdps    %ymm4,(%r9,%ymm5,4),%ymm9
+  .byte  76,139,64,24                        // mov           0x18(%rax),%r8
+  .byte  197,221,118,228                     // vpcmpeqd      %ymm4,%ymm4,%ymm4
+  .byte  196,65,44,87,210                    // vxorps        %ymm10,%ymm10,%ymm10
+  .byte  196,66,93,146,20,184                // vgatherdps    %ymm4,(%r8,%ymm7,4),%ymm10
+  .byte  197,221,118,228                     // vpcmpeqd      %ymm4,%ymm4,%ymm4
+  .byte  196,65,36,87,219                    // vxorps        %ymm11,%ymm11,%ymm11
+  .byte  196,66,93,146,28,168                // vgatherdps    %ymm4,(%r8,%ymm5,4),%ymm11
+  .byte  76,139,64,32                        // mov           0x20(%rax),%r8
+  .byte  197,221,118,228                     // vpcmpeqd      %ymm4,%ymm4,%ymm4
+  .byte  197,204,87,246                      // vxorps        %ymm6,%ymm6,%ymm6
+  .byte  196,194,93,146,52,184               // vgatherdps    %ymm4,(%r8,%ymm7,4),%ymm6
+  .byte  197,252,17,116,36,192               // vmovups       %ymm6,-0x40(%rsp)
+  .byte  197,221,118,228                     // vpcmpeqd      %ymm4,%ymm4,%ymm4
+  .byte  197,204,87,246                      // vxorps        %ymm6,%ymm6,%ymm6
+  .byte  196,194,93,146,52,168               // vgatherdps    %ymm4,(%r8,%ymm5,4),%ymm6
+  .byte  197,252,17,116,36,160               // vmovups       %ymm6,-0x60(%rsp)
+  .byte  76,139,64,40                        // mov           0x28(%rax),%r8
+  .byte  197,221,118,228                     // vpcmpeqd      %ymm4,%ymm4,%ymm4
+  .byte  196,65,12,87,246                    // vxorps        %ymm14,%ymm14,%ymm14
+  .byte  196,66,93,146,52,184                // vgatherdps    %ymm4,(%r8,%ymm7,4),%ymm14
+  .byte  197,221,118,228                     // vpcmpeqd      %ymm4,%ymm4,%ymm4
+  .byte  197,204,87,246                      // vxorps        %ymm6,%ymm6,%ymm6
+  .byte  196,194,93,146,52,168               // vgatherdps    %ymm4,(%r8,%ymm5,4),%ymm6
+  .byte  197,252,17,116,36,224               // vmovups       %ymm6,-0x20(%rsp)
+  .byte  76,139,64,48                        // mov           0x30(%rax),%r8
+  .byte  197,221,118,228                     // vpcmpeqd      %ymm4,%ymm4,%ymm4
+  .byte  196,65,20,87,237                    // vxorps        %ymm13,%ymm13,%ymm13
+  .byte  196,66,93,146,44,184                // vgatherdps    %ymm4,(%r8,%ymm7,4),%ymm13
+  .byte  197,221,118,228                     // vpcmpeqd      %ymm4,%ymm4,%ymm4
+  .byte  197,204,87,246                      // vxorps        %ymm6,%ymm6,%ymm6
+  .byte  196,194,93,146,52,168               // vgatherdps    %ymm4,(%r8,%ymm5,4),%ymm6
+  .byte  197,252,17,116,36,128               // vmovups       %ymm6,-0x80(%rsp)
+  .byte  76,139,64,56                        // mov           0x38(%rax),%r8
+  .byte  197,205,118,246                     // vpcmpeqd      %ymm6,%ymm6,%ymm6
+  .byte  197,220,87,228                      // vxorps        %ymm4,%ymm4,%ymm4
+  .byte  196,194,77,146,36,184               // vgatherdps    %ymm6,(%r8,%ymm7,4),%ymm4
+  .byte  196,65,29,118,228                   // vpcmpeqd      %ymm12,%ymm12,%ymm12
+  .byte  197,204,87,246                      // vxorps        %ymm6,%ymm6,%ymm6
+  .byte  196,194,29,146,52,168               // vgatherdps    %ymm12,(%r8,%ymm5,4),%ymm6
+  .byte  72,139,64,64                        // mov           0x40(%rax),%rax
+  .byte  196,65,5,118,255                    // vpcmpeqd      %ymm15,%ymm15,%ymm15
+  .byte  196,65,28,87,228                    // vxorps        %ymm12,%ymm12,%ymm12
+  .byte  196,98,5,146,36,184                 // vgatherdps    %ymm15,(%rax,%ymm7,4),%ymm12
+  .byte  196,65,5,118,255                    // vpcmpeqd      %ymm15,%ymm15,%ymm15
+  .byte  197,196,87,255                      // vxorps        %ymm7,%ymm7,%ymm7
+  .byte  196,226,5,146,60,168                // vgatherdps    %ymm15,(%rax,%ymm5,4),%ymm7
+  .byte  196,194,125,168,214                 // vfmadd213ps   %ymm14,%ymm0,%ymm2
+  .byte  196,66,125,168,197                  // vfmadd213ps   %ymm13,%ymm0,%ymm8
+  .byte  196,98,125,168,212                  // vfmadd213ps   %ymm4,%ymm0,%ymm10
+  .byte  196,98,125,184,100,36,192           // vfmadd231ps   -0x40(%rsp),%ymm0,%ymm12
+  .byte  196,226,117,168,92,36,224           // vfmadd213ps   -0x20(%rsp),%ymm1,%ymm3
+  .byte  196,98,117,168,76,36,128            // vfmadd213ps   -0x80(%rsp),%ymm1,%ymm9
+  .byte  196,98,117,168,222                  // vfmadd213ps   %ymm6,%ymm1,%ymm11
+  .byte  196,226,117,184,124,36,160          // vfmadd231ps   -0x60(%rsp),%ymm1,%ymm7
+  .byte  196,226,125,24,5,178,161,0,0        // vbroadcastss  0xa1b2(%rip),%ymm0        # 3c528 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  .byte  196,226,125,24,13,121,161,0,0       // vbroadcastss  0xa179(%rip),%ymm1        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  196,226,125,168,217                 // vfmadd213ps   %ymm1,%ymm0,%ymm3
+  .byte  196,226,125,168,209                 // vfmadd213ps   %ymm1,%ymm0,%ymm2
+  .byte  196,98,125,168,201                  // vfmadd213ps   %ymm1,%ymm0,%ymm9
+  .byte  196,98,125,168,193                  // vfmadd213ps   %ymm1,%ymm0,%ymm8
+  .byte  196,98,125,168,217                  // vfmadd213ps   %ymm1,%ymm0,%ymm11
+  .byte  196,98,125,168,209                  // vfmadd213ps   %ymm1,%ymm0,%ymm10
+  .byte  196,226,125,168,249                 // vfmadd213ps   %ymm1,%ymm0,%ymm7
+  .byte  196,98,125,168,225                  // vfmadd213ps   %ymm1,%ymm0,%ymm12
+  .byte  197,254,91,194                      // vcvttps2dq    %ymm2,%ymm0
+  .byte  197,253,111,37,45,170,0,0           // vmovdqa       0xaa2d(%rip),%ymm4        # 3cde0 <_sk_srcover_bgra_8888_sse2_lowp+0xb94>
+  .byte  196,226,125,0,196                   // vpshufb       %ymm4,%ymm0,%ymm0
+  .byte  196,227,253,0,192,232               // vpermq        $0xe8,%ymm0,%ymm0
+  .byte  197,254,91,203                      // vcvttps2dq    %ymm3,%ymm1
+  .byte  196,226,117,0,204                   // vpshufb       %ymm4,%ymm1,%ymm1
+  .byte  196,227,253,0,201,232               // vpermq        $0xe8,%ymm1,%ymm1
+  .byte  196,227,125,56,193,1                // vinserti128   $0x1,%xmm1,%ymm0,%ymm0
+  .byte  196,193,126,91,200                  // vcvttps2dq    %ymm8,%ymm1
+  .byte  196,226,117,0,204                   // vpshufb       %ymm4,%ymm1,%ymm1
+  .byte  196,227,253,0,201,232               // vpermq        $0xe8,%ymm1,%ymm1
+  .byte  196,193,126,91,209                  // vcvttps2dq    %ymm9,%ymm2
+  .byte  196,226,109,0,212                   // vpshufb       %ymm4,%ymm2,%ymm2
+  .byte  196,227,253,0,210,232               // vpermq        $0xe8,%ymm2,%ymm2
+  .byte  196,227,117,56,202,1                // vinserti128   $0x1,%xmm2,%ymm1,%ymm1
+  .byte  196,193,126,91,210                  // vcvttps2dq    %ymm10,%ymm2
+  .byte  196,226,109,0,212                   // vpshufb       %ymm4,%ymm2,%ymm2
+  .byte  196,227,253,0,210,232               // vpermq        $0xe8,%ymm2,%ymm2
+  .byte  196,193,126,91,219                  // vcvttps2dq    %ymm11,%ymm3
+  .byte  196,226,101,0,220                   // vpshufb       %ymm4,%ymm3,%ymm3
+  .byte  196,227,253,0,219,232               // vpermq        $0xe8,%ymm3,%ymm3
+  .byte  196,227,109,56,211,1                // vinserti128   $0x1,%xmm3,%ymm2,%ymm2
+  .byte  196,193,126,91,220                  // vcvttps2dq    %ymm12,%ymm3
+  .byte  196,226,101,0,220                   // vpshufb       %ymm4,%ymm3,%ymm3
+  .byte  197,254,91,239                      // vcvttps2dq    %ymm7,%ymm5
+  .byte  196,226,85,0,228                    // vpshufb       %ymm4,%ymm5,%ymm4
+  .byte  196,227,253,0,219,232               // vpermq        $0xe8,%ymm3,%ymm3
+  .byte  196,227,253,0,228,232               // vpermq        $0xe8,%ymm4,%ymm4
+  .byte  196,227,101,56,220,1                // vinserti128   $0x1,%xmm4,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,16,36,36                    // vmovups       (%rsp),%ymm4
+  .byte  197,252,16,108,36,32                // vmovups       0x20(%rsp),%ymm5
+  .byte  197,252,16,116,36,64                // vmovups       0x40(%rsp),%ymm6
+  .byte  197,252,16,124,36,96                // vmovups       0x60(%rsp),%ymm7
+  .byte  72,129,196,152,0,0,0                // add           $0x98,%rsp
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_evenly_spaced_gradient_hsw_lowp
+.globl _sk_evenly_spaced_gradient_hsw_lowp
+FUNCTION(_sk_evenly_spaced_gradient_hsw_lowp)
+_sk_evenly_spaced_gradient_hsw_lowp:
+  .byte  72,129,236,152,0,0,0                // sub           $0x98,%rsp
+  .byte  197,252,17,124,36,96                // vmovups       %ymm7,0x60(%rsp)
+  .byte  197,252,17,116,36,64                // vmovups       %ymm6,0x40(%rsp)
+  .byte  197,252,17,108,36,32                // vmovups       %ymm5,0x20(%rsp)
+  .byte  197,254,127,36,36                   // vmovdqu       %ymm4,(%rsp)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  77,137,193                          // mov           %r8,%r9
+  .byte  73,255,201                          // dec           %r9
+  .byte  120,7                               // js            32498 <_sk_evenly_spaced_gradient_hsw_lowp+0x32>
+  .byte  196,193,234,42,209                  // vcvtsi2ss     %r9,%xmm2,%xmm2
+  .byte  235,22                              // jmp           324ae <_sk_evenly_spaced_gradient_hsw_lowp+0x48>
+  .byte  77,137,202                          // mov           %r9,%r10
+  .byte  73,209,234                          // shr           %r10
+  .byte  65,131,225,1                        // and           $0x1,%r9d
+  .byte  77,9,209                            // or            %r10,%r9
+  .byte  196,193,234,42,209                  // vcvtsi2ss     %r9,%xmm2,%xmm2
+  .byte  197,234,88,210                      // vaddss        %xmm2,%xmm2,%xmm2
+  .byte  196,226,125,24,210                  // vbroadcastss  %xmm2,%ymm2
+  .byte  197,252,89,218                      // vmulps        %ymm2,%ymm0,%ymm3
+  .byte  197,244,89,210                      // vmulps        %ymm2,%ymm1,%ymm2
+  .byte  197,126,91,242                      // vcvttps2dq    %ymm2,%ymm14
+  .byte  197,254,91,251                      // vcvttps2dq    %ymm3,%ymm7
+  .byte  73,131,248,8                        // cmp           $0x8,%r8
+  .byte  15,135,180,0,0,0                    // ja            32581 <_sk_evenly_spaced_gradient_hsw_lowp+0x11b>
+  .byte  76,139,64,8                         // mov           0x8(%rax),%r8
+  .byte  76,139,72,16                        // mov           0x10(%rax),%r9
+  .byte  196,193,124,16,24                   // vmovups       (%r8),%ymm3
+  .byte  196,226,69,22,211                   // vpermps       %ymm3,%ymm7,%ymm2
+  .byte  196,226,13,22,219                   // vpermps       %ymm3,%ymm14,%ymm3
+  .byte  76,139,64,40                        // mov           0x28(%rax),%r8
+  .byte  196,193,124,16,32                   // vmovups       (%r8),%ymm4
+  .byte  196,98,69,22,236                    // vpermps       %ymm4,%ymm7,%ymm13
+  .byte  196,226,13,22,228                   // vpermps       %ymm4,%ymm14,%ymm4
+  .byte  197,252,17,100,36,224               // vmovups       %ymm4,-0x20(%rsp)
+  .byte  196,193,124,16,33                   // vmovups       (%r9),%ymm4
+  .byte  196,98,69,22,196                    // vpermps       %ymm4,%ymm7,%ymm8
+  .byte  196,98,13,22,204                    // vpermps       %ymm4,%ymm14,%ymm9
+  .byte  76,139,64,48                        // mov           0x30(%rax),%r8
+  .byte  196,193,124,16,40                   // vmovups       (%r8),%ymm5
+  .byte  196,226,69,22,229                   // vpermps       %ymm5,%ymm7,%ymm4
+  .byte  196,226,13,22,237                   // vpermps       %ymm5,%ymm14,%ymm5
+  .byte  197,252,17,108,36,128               // vmovups       %ymm5,-0x80(%rsp)
+  .byte  76,139,64,24                        // mov           0x18(%rax),%r8
+  .byte  196,193,124,16,40                   // vmovups       (%r8),%ymm5
+  .byte  196,98,69,22,213                    // vpermps       %ymm5,%ymm7,%ymm10
+  .byte  196,98,13,22,221                    // vpermps       %ymm5,%ymm14,%ymm11
+  .byte  76,139,64,56                        // mov           0x38(%rax),%r8
+  .byte  196,193,124,16,48                   // vmovups       (%r8),%ymm6
+  .byte  196,226,69,22,238                   // vpermps       %ymm6,%ymm7,%ymm5
+  .byte  196,226,13,22,246                   // vpermps       %ymm6,%ymm14,%ymm6
+  .byte  76,139,64,32                        // mov           0x20(%rax),%r8
+  .byte  196,65,124,16,32                    // vmovups       (%r8),%ymm12
+  .byte  196,66,69,22,252                    // vpermps       %ymm12,%ymm7,%ymm15
+  .byte  197,124,17,124,36,192               // vmovups       %ymm15,-0x40(%rsp)
+  .byte  196,66,13,22,228                    // vpermps       %ymm12,%ymm14,%ymm12
+  .byte  197,124,17,100,36,160               // vmovups       %ymm12,-0x60(%rsp)
+  .byte  72,139,64,64                        // mov           0x40(%rax),%rax
+  .byte  197,124,16,56                       // vmovups       (%rax),%ymm15
+  .byte  196,66,69,22,231                    // vpermps       %ymm15,%ymm7,%ymm12
+  .byte  196,194,13,22,255                   // vpermps       %ymm15,%ymm14,%ymm7
+  .byte  233,33,1,0,0                        // jmpq          326a2 <_sk_evenly_spaced_gradient_hsw_lowp+0x23c>
+  .byte  76,139,64,8                         // mov           0x8(%rax),%r8
+  .byte  76,139,72,16                        // mov           0x10(%rax),%r9
+  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
+  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
+  .byte  196,194,101,146,20,184              // vgatherdps    %ymm3,(%r8,%ymm7,4),%ymm2
+  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
+  .byte  197,221,118,228                     // vpcmpeqd      %ymm4,%ymm4,%ymm4
+  .byte  196,130,93,146,28,176               // vgatherdps    %ymm4,(%r8,%ymm14,4),%ymm3
+  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
+  .byte  197,221,118,228                     // vpcmpeqd      %ymm4,%ymm4,%ymm4
+  .byte  196,66,93,146,4,185                 // vgatherdps    %ymm4,(%r9,%ymm7,4),%ymm8
+  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
+  .byte  197,221,118,228                     // vpcmpeqd      %ymm4,%ymm4,%ymm4
+  .byte  196,2,93,146,12,177                 // vgatherdps    %ymm4,(%r9,%ymm14,4),%ymm9
+  .byte  76,139,64,24                        // mov           0x18(%rax),%r8
+  .byte  196,65,44,87,210                    // vxorps        %ymm10,%ymm10,%ymm10
+  .byte  197,221,118,228                     // vpcmpeqd      %ymm4,%ymm4,%ymm4
+  .byte  196,66,93,146,20,184                // vgatherdps    %ymm4,(%r8,%ymm7,4),%ymm10
+  .byte  196,65,36,87,219                    // vxorps        %ymm11,%ymm11,%ymm11
+  .byte  197,221,118,228                     // vpcmpeqd      %ymm4,%ymm4,%ymm4
+  .byte  196,2,93,146,28,176                 // vgatherdps    %ymm4,(%r8,%ymm14,4),%ymm11
+  .byte  76,139,64,32                        // mov           0x20(%rax),%r8
+  .byte  197,212,87,237                      // vxorps        %ymm5,%ymm5,%ymm5
+  .byte  197,221,118,228                     // vpcmpeqd      %ymm4,%ymm4,%ymm4
+  .byte  196,194,93,146,44,184               // vgatherdps    %ymm4,(%r8,%ymm7,4),%ymm5
+  .byte  197,252,17,108,36,192               // vmovups       %ymm5,-0x40(%rsp)
+  .byte  197,212,87,237                      // vxorps        %ymm5,%ymm5,%ymm5
+  .byte  197,221,118,228                     // vpcmpeqd      %ymm4,%ymm4,%ymm4
+  .byte  196,130,93,146,44,176               // vgatherdps    %ymm4,(%r8,%ymm14,4),%ymm5
+  .byte  197,252,17,108,36,160               // vmovups       %ymm5,-0x60(%rsp)
+  .byte  76,139,64,40                        // mov           0x28(%rax),%r8
+  .byte  196,65,20,87,237                    // vxorps        %ymm13,%ymm13,%ymm13
+  .byte  197,221,118,228                     // vpcmpeqd      %ymm4,%ymm4,%ymm4
+  .byte  196,66,93,146,44,184                // vgatherdps    %ymm4,(%r8,%ymm7,4),%ymm13
+  .byte  197,212,87,237                      // vxorps        %ymm5,%ymm5,%ymm5
+  .byte  197,221,118,228                     // vpcmpeqd      %ymm4,%ymm4,%ymm4
+  .byte  196,130,93,146,44,176               // vgatherdps    %ymm4,(%r8,%ymm14,4),%ymm5
+  .byte  197,252,17,108,36,224               // vmovups       %ymm5,-0x20(%rsp)
+  .byte  76,139,64,48                        // mov           0x30(%rax),%r8
+  .byte  197,220,87,228                      // vxorps        %ymm4,%ymm4,%ymm4
+  .byte  197,213,118,237                     // vpcmpeqd      %ymm5,%ymm5,%ymm5
+  .byte  196,194,85,146,36,184               // vgatherdps    %ymm5,(%r8,%ymm7,4),%ymm4
+  .byte  197,204,87,246                      // vxorps        %ymm6,%ymm6,%ymm6
+  .byte  197,213,118,237                     // vpcmpeqd      %ymm5,%ymm5,%ymm5
+  .byte  196,130,85,146,52,176               // vgatherdps    %ymm5,(%r8,%ymm14,4),%ymm6
+  .byte  197,252,17,116,36,128               // vmovups       %ymm6,-0x80(%rsp)
+  .byte  76,139,64,56                        // mov           0x38(%rax),%r8
+  .byte  197,212,87,237                      // vxorps        %ymm5,%ymm5,%ymm5
+  .byte  197,205,118,246                     // vpcmpeqd      %ymm6,%ymm6,%ymm6
+  .byte  196,194,77,146,44,184               // vgatherdps    %ymm6,(%r8,%ymm7,4),%ymm5
+  .byte  197,204,87,246                      // vxorps        %ymm6,%ymm6,%ymm6
+  .byte  196,65,29,118,228                   // vpcmpeqd      %ymm12,%ymm12,%ymm12
+  .byte  196,130,29,146,52,176               // vgatherdps    %ymm12,(%r8,%ymm14,4),%ymm6
+  .byte  72,139,64,64                        // mov           0x40(%rax),%rax
+  .byte  196,65,28,87,228                    // vxorps        %ymm12,%ymm12,%ymm12
+  .byte  196,65,5,118,255                    // vpcmpeqd      %ymm15,%ymm15,%ymm15
+  .byte  196,98,5,146,36,184                 // vgatherdps    %ymm15,(%rax,%ymm7,4),%ymm12
+  .byte  196,65,5,118,255                    // vpcmpeqd      %ymm15,%ymm15,%ymm15
+  .byte  197,196,87,255                      // vxorps        %ymm7,%ymm7,%ymm7
+  .byte  196,162,5,146,60,176                // vgatherdps    %ymm15,(%rax,%ymm14,4),%ymm7
+  .byte  196,194,125,168,213                 // vfmadd213ps   %ymm13,%ymm0,%ymm2
+  .byte  196,98,125,168,196                  // vfmadd213ps   %ymm4,%ymm0,%ymm8
+  .byte  196,98,125,168,213                  // vfmadd213ps   %ymm5,%ymm0,%ymm10
+  .byte  196,98,125,184,100,36,192           // vfmadd231ps   -0x40(%rsp),%ymm0,%ymm12
+  .byte  196,226,117,168,92,36,224           // vfmadd213ps   -0x20(%rsp),%ymm1,%ymm3
+  .byte  196,98,117,168,76,36,128            // vfmadd213ps   -0x80(%rsp),%ymm1,%ymm9
+  .byte  196,98,117,168,222                  // vfmadd213ps   %ymm6,%ymm1,%ymm11
+  .byte  196,226,117,184,124,36,160          // vfmadd231ps   -0x60(%rsp),%ymm1,%ymm7
+  .byte  196,226,125,24,5,77,158,0,0         // vbroadcastss  0x9e4d(%rip),%ymm0        # 3c528 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  .byte  196,226,125,24,13,20,158,0,0        // vbroadcastss  0x9e14(%rip),%ymm1        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  196,226,125,168,217                 // vfmadd213ps   %ymm1,%ymm0,%ymm3
+  .byte  196,226,125,168,209                 // vfmadd213ps   %ymm1,%ymm0,%ymm2
+  .byte  196,98,125,168,201                  // vfmadd213ps   %ymm1,%ymm0,%ymm9
+  .byte  196,98,125,168,193                  // vfmadd213ps   %ymm1,%ymm0,%ymm8
+  .byte  196,98,125,168,217                  // vfmadd213ps   %ymm1,%ymm0,%ymm11
+  .byte  196,98,125,168,209                  // vfmadd213ps   %ymm1,%ymm0,%ymm10
+  .byte  196,226,125,168,249                 // vfmadd213ps   %ymm1,%ymm0,%ymm7
+  .byte  196,98,125,168,225                  // vfmadd213ps   %ymm1,%ymm0,%ymm12
+  .byte  197,254,91,194                      // vcvttps2dq    %ymm2,%ymm0
+  .byte  197,253,111,37,232,166,0,0          // vmovdqa       0xa6e8(%rip),%ymm4        # 3ce00 <_sk_srcover_bgra_8888_sse2_lowp+0xbb4>
+  .byte  196,226,125,0,196                   // vpshufb       %ymm4,%ymm0,%ymm0
+  .byte  196,227,253,0,192,232               // vpermq        $0xe8,%ymm0,%ymm0
+  .byte  197,254,91,203                      // vcvttps2dq    %ymm3,%ymm1
+  .byte  196,226,117,0,204                   // vpshufb       %ymm4,%ymm1,%ymm1
+  .byte  196,227,253,0,201,232               // vpermq        $0xe8,%ymm1,%ymm1
+  .byte  196,227,125,56,193,1                // vinserti128   $0x1,%xmm1,%ymm0,%ymm0
+  .byte  196,193,126,91,200                  // vcvttps2dq    %ymm8,%ymm1
+  .byte  196,226,117,0,204                   // vpshufb       %ymm4,%ymm1,%ymm1
+  .byte  196,227,253,0,201,232               // vpermq        $0xe8,%ymm1,%ymm1
+  .byte  196,193,126,91,209                  // vcvttps2dq    %ymm9,%ymm2
+  .byte  196,226,109,0,212                   // vpshufb       %ymm4,%ymm2,%ymm2
+  .byte  196,227,253,0,210,232               // vpermq        $0xe8,%ymm2,%ymm2
+  .byte  196,227,117,56,202,1                // vinserti128   $0x1,%xmm2,%ymm1,%ymm1
+  .byte  196,193,126,91,210                  // vcvttps2dq    %ymm10,%ymm2
+  .byte  196,226,109,0,212                   // vpshufb       %ymm4,%ymm2,%ymm2
+  .byte  196,227,253,0,210,232               // vpermq        $0xe8,%ymm2,%ymm2
+  .byte  196,193,126,91,219                  // vcvttps2dq    %ymm11,%ymm3
+  .byte  196,226,101,0,220                   // vpshufb       %ymm4,%ymm3,%ymm3
+  .byte  196,227,253,0,219,232               // vpermq        $0xe8,%ymm3,%ymm3
+  .byte  196,227,109,56,211,1                // vinserti128   $0x1,%xmm3,%ymm2,%ymm2
+  .byte  196,193,126,91,220                  // vcvttps2dq    %ymm12,%ymm3
+  .byte  196,226,101,0,220                   // vpshufb       %ymm4,%ymm3,%ymm3
+  .byte  197,254,91,239                      // vcvttps2dq    %ymm7,%ymm5
+  .byte  196,226,85,0,228                    // vpshufb       %ymm4,%ymm5,%ymm4
+  .byte  196,227,253,0,219,232               // vpermq        $0xe8,%ymm3,%ymm3
+  .byte  196,227,253,0,228,232               // vpermq        $0xe8,%ymm4,%ymm4
+  .byte  196,227,101,56,220,1                // vinserti128   $0x1,%xmm4,%ymm3,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,16,36,36                    // vmovups       (%rsp),%ymm4
+  .byte  197,252,16,108,36,32                // vmovups       0x20(%rsp),%ymm5
+  .byte  197,252,16,116,36,64                // vmovups       0x40(%rsp),%ymm6
+  .byte  197,252,16,124,36,96                // vmovups       0x60(%rsp),%ymm7
+  .byte  72,129,196,152,0,0,0                // add           $0x98,%rsp
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_evenly_spaced_2_stop_gradient_hsw_lowp
+.globl _sk_evenly_spaced_2_stop_gradient_hsw_lowp
+FUNCTION(_sk_evenly_spaced_2_stop_gradient_hsw_lowp)
+_sk_evenly_spaced_2_stop_gradient_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  196,226,125,24,16                   // vbroadcastss  (%rax),%ymm2
+  .byte  196,226,125,24,88,16                // vbroadcastss  0x10(%rax),%ymm3
+  .byte  197,124,40,194                      // vmovaps       %ymm2,%ymm8
+  .byte  196,98,125,168,195                  // vfmadd213ps   %ymm3,%ymm0,%ymm8
+  .byte  196,226,117,168,211                 // vfmadd213ps   %ymm3,%ymm1,%ymm2
+  .byte  196,226,125,24,29,57,157,0,0        // vbroadcastss  0x9d39(%rip),%ymm3        # 3c528 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  .byte  196,98,125,24,29,0,157,0,0          // vbroadcastss  0x9d00(%rip),%ymm11        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  196,194,101,168,211                 // vfmadd213ps   %ymm11,%ymm3,%ymm2
+  .byte  196,66,101,168,195                  // vfmadd213ps   %ymm11,%ymm3,%ymm8
+  .byte  196,65,126,91,192                   // vcvttps2dq    %ymm8,%ymm8
+  .byte  197,125,111,21,17,166,0,0           // vmovdqa       0xa611(%rip),%ymm10        # 3ce20 <_sk_srcover_bgra_8888_sse2_lowp+0xbd4>
+  .byte  196,66,61,0,194                     // vpshufb       %ymm10,%ymm8,%ymm8
+  .byte  196,67,253,0,192,232                // vpermq        $0xe8,%ymm8,%ymm8
+  .byte  197,254,91,210                      // vcvttps2dq    %ymm2,%ymm2
+  .byte  196,194,109,0,210                   // vpshufb       %ymm10,%ymm2,%ymm2
+  .byte  196,227,253,0,210,232               // vpermq        $0xe8,%ymm2,%ymm2
+  .byte  196,99,61,56,194,1                  // vinserti128   $0x1,%xmm2,%ymm8,%ymm8
+  .byte  196,226,125,24,80,4                 // vbroadcastss  0x4(%rax),%ymm2
+  .byte  196,98,125,24,72,20                 // vbroadcastss  0x14(%rax),%ymm9
+  .byte  197,124,40,226                      // vmovaps       %ymm2,%ymm12
+  .byte  196,66,125,168,225                  // vfmadd213ps   %ymm9,%ymm0,%ymm12
+  .byte  196,194,117,168,209                 // vfmadd213ps   %ymm9,%ymm1,%ymm2
+  .byte  196,194,101,168,211                 // vfmadd213ps   %ymm11,%ymm3,%ymm2
+  .byte  196,66,101,168,227                  // vfmadd213ps   %ymm11,%ymm3,%ymm12
+  .byte  196,65,126,91,204                   // vcvttps2dq    %ymm12,%ymm9
+  .byte  196,66,53,0,202                     // vpshufb       %ymm10,%ymm9,%ymm9
+  .byte  196,67,253,0,201,232                // vpermq        $0xe8,%ymm9,%ymm9
+  .byte  197,254,91,210                      // vcvttps2dq    %ymm2,%ymm2
+  .byte  196,194,109,0,210                   // vpshufb       %ymm10,%ymm2,%ymm2
+  .byte  196,227,253,0,210,232               // vpermq        $0xe8,%ymm2,%ymm2
+  .byte  196,99,53,56,202,1                  // vinserti128   $0x1,%xmm2,%ymm9,%ymm9
+  .byte  196,226,125,24,80,8                 // vbroadcastss  0x8(%rax),%ymm2
+  .byte  196,98,125,24,96,24                 // vbroadcastss  0x18(%rax),%ymm12
+  .byte  197,124,40,234                      // vmovaps       %ymm2,%ymm13
+  .byte  196,66,125,168,236                  // vfmadd213ps   %ymm12,%ymm0,%ymm13
+  .byte  196,194,117,168,212                 // vfmadd213ps   %ymm12,%ymm1,%ymm2
+  .byte  196,194,101,168,211                 // vfmadd213ps   %ymm11,%ymm3,%ymm2
+  .byte  196,66,101,168,235                  // vfmadd213ps   %ymm11,%ymm3,%ymm13
+  .byte  196,65,126,91,229                   // vcvttps2dq    %ymm13,%ymm12
+  .byte  196,66,29,0,226                     // vpshufb       %ymm10,%ymm12,%ymm12
+  .byte  196,67,253,0,228,232                // vpermq        $0xe8,%ymm12,%ymm12
+  .byte  197,254,91,210                      // vcvttps2dq    %ymm2,%ymm2
+  .byte  196,194,109,0,210                   // vpshufb       %ymm10,%ymm2,%ymm2
+  .byte  196,227,253,0,210,232               // vpermq        $0xe8,%ymm2,%ymm2
+  .byte  196,227,29,56,210,1                 // vinserti128   $0x1,%xmm2,%ymm12,%ymm2
+  .byte  196,98,125,24,96,12                 // vbroadcastss  0xc(%rax),%ymm12
+  .byte  196,98,125,24,104,28                // vbroadcastss  0x1c(%rax),%ymm13
+  .byte  196,194,29,168,197                  // vfmadd213ps   %ymm13,%ymm12,%ymm0
+  .byte  196,66,117,168,229                  // vfmadd213ps   %ymm13,%ymm1,%ymm12
+  .byte  196,66,101,168,227                  // vfmadd213ps   %ymm11,%ymm3,%ymm12
+  .byte  196,194,101,168,195                 // vfmadd213ps   %ymm11,%ymm3,%ymm0
+  .byte  197,254,91,192                      // vcvttps2dq    %ymm0,%ymm0
+  .byte  196,194,125,0,194                   // vpshufb       %ymm10,%ymm0,%ymm0
+  .byte  196,227,253,0,192,232               // vpermq        $0xe8,%ymm0,%ymm0
+  .byte  196,193,126,91,204                  // vcvttps2dq    %ymm12,%ymm1
+  .byte  196,194,117,0,202                   // vpshufb       %ymm10,%ymm1,%ymm1
+  .byte  196,227,253,0,201,232               // vpermq        $0xe8,%ymm1,%ymm1
+  .byte  196,227,125,56,217,1                // vinserti128   $0x1,%xmm1,%ymm0,%ymm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,125,127,192                     // vmovdqa       %ymm8,%ymm0
+  .byte  197,125,127,201                     // vmovdqa       %ymm9,%ymm1
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xy_to_unit_angle_hsw_lowp
+.globl _sk_xy_to_unit_angle_hsw_lowp
+FUNCTION(_sk_xy_to_unit_angle_hsw_lowp)
+_sk_xy_to_unit_angle_hsw_lowp:
+  .byte  197,252,17,124,36,200               // vmovups       %ymm7,-0x38(%rsp)
+  .byte  197,252,40,254                      // vmovaps       %ymm6,%ymm7
+  .byte  197,252,40,245                      // vmovaps       %ymm5,%ymm6
+  .byte  197,252,40,236                      // vmovaps       %ymm4,%ymm5
+  .byte  197,252,40,227                      // vmovaps       %ymm3,%ymm4
+  .byte  197,252,40,217                      // vmovaps       %ymm1,%ymm3
+  .byte  197,252,40,200                      // vmovaps       %ymm0,%ymm1
+  .byte  196,98,125,24,5,95,157,0,0          // vbroadcastss  0x9d5f(%rip),%ymm8        # 3c698 <_sk_srcover_bgra_8888_sse2_lowp+0x44c>
+  .byte  196,65,116,84,200                   // vandps        %ymm8,%ymm1,%ymm9
+  .byte  196,65,100,84,208                   // vandps        %ymm8,%ymm3,%ymm10
+  .byte  196,65,108,84,216                   // vandps        %ymm8,%ymm2,%ymm11
+  .byte  196,65,92,84,192                    // vandps        %ymm8,%ymm4,%ymm8
+  .byte  196,65,44,194,224,1                 // vcmpltps      %ymm8,%ymm10,%ymm12
+  .byte  196,65,52,194,235,1                 // vcmpltps      %ymm11,%ymm9,%ymm13
+  .byte  196,67,37,74,241,208                // vblendvps     %ymm13,%ymm9,%ymm11,%ymm14
+  .byte  196,67,61,74,250,192                // vblendvps     %ymm12,%ymm10,%ymm8,%ymm15
+  .byte  196,67,53,74,203,208                // vblendvps     %ymm13,%ymm11,%ymm9,%ymm9
+  .byte  196,65,12,94,201                    // vdivps        %ymm9,%ymm14,%ymm9
+  .byte  196,67,45,74,192,192                // vblendvps     %ymm12,%ymm8,%ymm10,%ymm8
+  .byte  196,65,4,94,192                     // vdivps        %ymm8,%ymm15,%ymm8
+  .byte  196,65,60,89,208                    // vmulps        %ymm8,%ymm8,%ymm10
+  .byte  196,98,125,24,29,175,156,0,0        // vbroadcastss  0x9caf(%rip),%ymm11        # 3c638 <_sk_srcover_bgra_8888_sse2_lowp+0x3ec>
+  .byte  196,98,125,24,53,170,156,0,0        // vbroadcastss  0x9caa(%rip),%ymm14        # 3c63c <_sk_srcover_bgra_8888_sse2_lowp+0x3f0>
+  .byte  196,65,124,40,251                   // vmovaps       %ymm11,%ymm15
+  .byte  196,66,45,168,254                   // vfmadd213ps   %ymm14,%ymm10,%ymm15
+  .byte  196,193,52,89,193                   // vmulps        %ymm9,%ymm9,%ymm0
+  .byte  196,66,125,168,222                  // vfmadd213ps   %ymm14,%ymm0,%ymm11
+  .byte  196,98,125,24,53,145,156,0,0        // vbroadcastss  0x9c91(%rip),%ymm14        # 3c640 <_sk_srcover_bgra_8888_sse2_lowp+0x3f4>
+  .byte  196,66,125,168,222                  // vfmadd213ps   %ymm14,%ymm0,%ymm11
+  .byte  196,66,45,168,254                   // vfmadd213ps   %ymm14,%ymm10,%ymm15
+  .byte  196,98,125,24,53,130,156,0,0        // vbroadcastss  0x9c82(%rip),%ymm14        # 3c644 <_sk_srcover_bgra_8888_sse2_lowp+0x3f8>
+  .byte  196,66,45,168,254                   // vfmadd213ps   %ymm14,%ymm10,%ymm15
+  .byte  196,66,125,168,222                  // vfmadd213ps   %ymm14,%ymm0,%ymm11
+  .byte  196,193,52,89,195                   // vmulps        %ymm11,%ymm9,%ymm0
+  .byte  196,98,125,24,13,110,156,0,0        // vbroadcastss  0x9c6e(%rip),%ymm9        # 3c648 <_sk_srcover_bgra_8888_sse2_lowp+0x3fc>
+  .byte  197,52,92,208                       // vsubps        %ymm0,%ymm9,%ymm10
+  .byte  196,195,125,74,194,208              // vblendvps     %ymm13,%ymm10,%ymm0,%ymm0
+  .byte  196,65,60,89,199                    // vmulps        %ymm15,%ymm8,%ymm8
+  .byte  196,65,52,92,200                    // vsubps        %ymm8,%ymm9,%ymm9
+  .byte  196,67,61,74,193,192                // vblendvps     %ymm12,%ymm9,%ymm8,%ymm8
+  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
+  .byte  196,193,116,194,201,1               // vcmpltps      %ymm9,%ymm1,%ymm1
+  .byte  196,98,125,24,21,240,154,0,0        // vbroadcastss  0x9af0(%rip),%ymm10        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  197,44,92,216                       // vsubps        %ymm0,%ymm10,%ymm11
+  .byte  196,195,125,74,195,16               // vblendvps     %ymm1,%ymm11,%ymm0,%ymm0
+  .byte  196,193,100,194,201,1               // vcmpltps      %ymm9,%ymm3,%ymm1
+  .byte  196,193,44,92,216                   // vsubps        %ymm8,%ymm10,%ymm3
+  .byte  196,227,61,74,203,16                // vblendvps     %ymm1,%ymm3,%ymm8,%ymm1
+  .byte  196,193,108,194,217,1               // vcmpltps      %ymm9,%ymm2,%ymm3
+  .byte  196,98,125,24,5,202,154,0,0         // vbroadcastss  0x9aca(%rip),%ymm8        # 3c4fc <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  .byte  197,60,92,208                       // vsubps        %ymm0,%ymm8,%ymm10
+  .byte  196,195,125,74,194,48               // vblendvps     %ymm3,%ymm10,%ymm0,%ymm0
+  .byte  196,193,92,194,217,1                // vcmpltps      %ymm9,%ymm4,%ymm3
+  .byte  197,60,92,193                       // vsubps        %ymm1,%ymm8,%ymm8
+  .byte  196,195,117,74,200,48               // vblendvps     %ymm3,%ymm8,%ymm1,%ymm1
+  .byte  196,193,124,194,217,7               // vcmpordps     %ymm9,%ymm0,%ymm3
+  .byte  197,228,84,192                      // vandps        %ymm0,%ymm3,%ymm0
+  .byte  196,193,116,194,217,7               // vcmpordps     %ymm9,%ymm1,%ymm3
+  .byte  197,228,84,201                      // vandps        %ymm1,%ymm3,%ymm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  197,252,40,220                      // vmovaps       %ymm4,%ymm3
+  .byte  197,252,40,229                      // vmovaps       %ymm5,%ymm4
+  .byte  197,252,40,238                      // vmovaps       %ymm6,%ymm5
+  .byte  197,252,40,247                      // vmovaps       %ymm7,%ymm6
+  .byte  197,252,16,124,36,200               // vmovups       -0x38(%rsp),%ymm7
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xy_to_radius_hsw_lowp
+.globl _sk_xy_to_radius_hsw_lowp
+FUNCTION(_sk_xy_to_radius_hsw_lowp)
+_sk_xy_to_radius_hsw_lowp:
+  .byte  197,108,89,194                      // vmulps        %ymm2,%ymm2,%ymm8
+  .byte  197,100,89,203                      // vmulps        %ymm3,%ymm3,%ymm9
+  .byte  196,98,117,184,201                  // vfmadd231ps   %ymm1,%ymm1,%ymm9
+  .byte  196,98,125,184,192                  // vfmadd231ps   %ymm0,%ymm0,%ymm8
+  .byte  196,193,124,81,192                  // vsqrtps       %ymm8,%ymm0
+  .byte  196,193,124,81,201                  // vsqrtps       %ymm9,%ymm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_srcover_rgba_8888_hsw_lowp
+.globl _sk_srcover_rgba_8888_hsw_lowp
+FUNCTION(_sk_srcover_rgba_8888_hsw_lowp)
+_sk_srcover_rgba_8888_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  77,141,12,144                       // lea           (%r8,%rdx,4),%r9
+  .byte  65,137,250                          // mov           %edi,%r10d
+  .byte  65,128,226,15                       // and           $0xf,%r10b
+  .byte  65,254,202                          // dec           %r10b
+  .byte  69,15,182,194                       // movzbl        %r10b,%r8d
+  .byte  65,128,248,14                       // cmp           $0xe,%r8b
+  .byte  119,51                              // ja            32af6 <_sk_srcover_rgba_8888_hsw_lowp+0x5c>
+  .byte  197,221,239,228                     // vpxor         %ymm4,%ymm4,%ymm4
+  .byte  76,141,29,234,2,0,0                 // lea           0x2ea(%rip),%r11        # 32db8 <_sk_srcover_rgba_8888_hsw_lowp+0x31e>
+  .byte  75,99,4,131                         // movslq        (%r11,%r8,4),%rax
+  .byte  76,1,216                            // add           %r11,%rax
+  .byte  197,213,239,237                     // vpxor         %ymm5,%ymm5,%ymm5
+  .byte  197,205,239,246                     // vpxor         %ymm6,%ymm6,%ymm6
+  .byte  196,65,61,239,192                   // vpxor         %ymm8,%ymm8,%ymm8
+  .byte  197,197,239,255                     // vpxor         %ymm7,%ymm7,%ymm7
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,193,121,110,41                  // vmovd         (%r9),%xmm5
+  .byte  197,221,239,228                     // vpxor         %ymm4,%ymm4,%ymm4
+  .byte  233,22,1,0,0                        // jmpq          32c0c <_sk_srcover_rgba_8888_hsw_lowp+0x172>
+  .byte  196,193,126,111,41                  // vmovdqu       (%r9),%ymm5
+  .byte  196,193,126,111,97,32               // vmovdqu       0x20(%r9),%ymm4
+  .byte  233,6,1,0,0                         // jmpq          32c0c <_sk_srcover_rgba_8888_hsw_lowp+0x172>
+  .byte  196,193,121,110,97,8                // vmovd         0x8(%r9),%xmm4
+  .byte  196,226,121,89,228                  // vpbroadcastq  %xmm4,%xmm4
+  .byte  197,197,239,255                     // vpxor         %ymm7,%ymm7,%ymm7
+  .byte  196,227,69,2,228,4                  // vpblendd      $0x4,%ymm4,%ymm7,%ymm4
+  .byte  196,194,121,53,41                   // vpmovzxdq     (%r9),%xmm5
+  .byte  197,249,112,237,232                 // vpshufd       $0xe8,%xmm5,%xmm5
+  .byte  196,227,93,2,237,3                  // vpblendd      $0x3,%ymm5,%ymm4,%ymm5
+  .byte  197,253,111,231                     // vmovdqa       %ymm7,%ymm4
+  .byte  233,216,0,0,0                       // jmpq          32c0c <_sk_srcover_rgba_8888_hsw_lowp+0x172>
+  .byte  196,193,121,110,97,24               // vmovd         0x18(%r9),%xmm4
+  .byte  196,226,125,89,228                  // vpbroadcastq  %xmm4,%ymm4
+  .byte  197,213,239,237                     // vpxor         %ymm5,%ymm5,%ymm5
+  .byte  196,227,85,2,228,64                 // vpblendd      $0x40,%ymm4,%ymm5,%ymm4
+  .byte  196,227,125,57,230,1                // vextracti128  $0x1,%ymm4,%xmm6
+  .byte  196,195,73,34,113,20,1              // vpinsrd       $0x1,0x14(%r9),%xmm6,%xmm6
+  .byte  196,227,93,56,230,1                 // vinserti128   $0x1,%xmm6,%ymm4,%ymm4
+  .byte  197,253,111,245                     // vmovdqa       %ymm5,%ymm6
+  .byte  196,227,125,57,229,1                // vextracti128  $0x1,%ymm4,%xmm5
+  .byte  196,195,81,34,105,16,0              // vpinsrd       $0x0,0x10(%r9),%xmm5,%xmm5
+  .byte  196,227,93,56,229,1                 // vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  .byte  197,125,111,198                     // vmovdqa       %ymm6,%ymm8
+  .byte  196,193,122,111,41                  // vmovdqu       (%r9),%xmm5
+  .byte  196,227,85,2,236,240                // vpblendd      $0xf0,%ymm4,%ymm5,%ymm5
+  .byte  197,125,127,196                     // vmovdqa       %ymm8,%ymm4
+  .byte  233,129,0,0,0                       // jmpq          32c0c <_sk_srcover_rgba_8888_hsw_lowp+0x172>
+  .byte  196,193,121,110,97,40               // vmovd         0x28(%r9),%xmm4
+  .byte  196,226,121,89,228                  // vpbroadcastq  %xmm4,%xmm4
+  .byte  197,213,239,237                     // vpxor         %ymm5,%ymm5,%ymm5
+  .byte  196,227,85,2,228,4                  // vpblendd      $0x4,%ymm4,%ymm5,%ymm4
+  .byte  196,195,89,34,105,36,1              // vpinsrd       $0x1,0x24(%r9),%xmm4,%xmm5
+  .byte  196,227,93,2,229,15                 // vpblendd      $0xf,%ymm5,%ymm4,%ymm4
+  .byte  196,193,121,110,105,32              // vmovd         0x20(%r9),%xmm5
+  .byte  196,227,93,2,229,1                  // vpblendd      $0x1,%ymm5,%ymm4,%ymm4
+  .byte  196,193,126,111,41                  // vmovdqu       (%r9),%ymm5
+  .byte  235,76                              // jmp           32c0c <_sk_srcover_rgba_8888_hsw_lowp+0x172>
+  .byte  196,193,121,110,97,56               // vmovd         0x38(%r9),%xmm4
+  .byte  196,226,125,89,228                  // vpbroadcastq  %xmm4,%ymm4
+  .byte  197,213,239,237                     // vpxor         %ymm5,%ymm5,%ymm5
+  .byte  196,227,85,2,228,64                 // vpblendd      $0x40,%ymm4,%ymm5,%ymm4
+  .byte  196,227,125,57,229,1                // vextracti128  $0x1,%ymm4,%xmm5
+  .byte  196,195,81,34,105,52,1              // vpinsrd       $0x1,0x34(%r9),%xmm5,%xmm5
+  .byte  196,227,93,56,229,1                 // vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  .byte  196,227,125,57,229,1                // vextracti128  $0x1,%ymm4,%xmm5
+  .byte  196,195,81,34,105,48,0              // vpinsrd       $0x0,0x30(%r9),%xmm5,%xmm5
+  .byte  196,227,93,56,229,1                 // vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  .byte  196,193,126,111,41                  // vmovdqu       (%r9),%ymm5
+  .byte  196,193,122,111,113,32              // vmovdqu       0x20(%r9),%xmm6
+  .byte  196,227,77,2,228,240                // vpblendd      $0xf0,%ymm4,%ymm6,%ymm4
+  .byte  196,227,85,56,244,1                 // vinserti128   $0x1,%xmm4,%ymm5,%ymm6
+  .byte  196,227,85,70,252,49                // vperm2i128    $0x31,%ymm4,%ymm5,%ymm7
+  .byte  197,221,239,228                     // vpxor         %ymm4,%ymm4,%ymm4
+  .byte  196,227,69,14,236,170               // vpblendw      $0xaa,%ymm4,%ymm7,%ymm5
+  .byte  196,227,77,14,228,170               // vpblendw      $0xaa,%ymm4,%ymm6,%ymm4
+  .byte  196,226,93,43,237                   // vpackusdw     %ymm5,%ymm4,%ymm5
+  .byte  197,125,111,5,11,162,0,0            // vmovdqa       0xa20b(%rip),%ymm8        # 3ce40 <_sk_srcover_bgra_8888_sse2_lowp+0xbf4>
+  .byte  196,193,85,219,224                  // vpand         %ymm8,%ymm5,%ymm4
+  .byte  196,98,125,121,13,29,162,0,0        // vpbroadcastw  0xa21d(%rip),%ymm9        # 3ce60 <_sk_srcover_bgra_8888_sse2_lowp+0xc14>
+  .byte  197,213,113,213,8                   // vpsrlw        $0x8,%ymm5,%ymm5
+  .byte  197,197,114,215,16                  // vpsrld        $0x10,%ymm7,%ymm7
+  .byte  197,205,114,214,16                  // vpsrld        $0x10,%ymm6,%ymm6
+  .byte  196,226,77,43,255                   // vpackusdw     %ymm7,%ymm6,%ymm7
+  .byte  196,193,69,219,240                  // vpand         %ymm8,%ymm7,%ymm6
+  .byte  197,197,113,215,8                   // vpsrlw        $0x8,%ymm7,%ymm7
+  .byte  197,53,249,195                      // vpsubw        %ymm3,%ymm9,%ymm8
+  .byte  196,65,93,213,208                   // vpmullw       %ymm8,%ymm4,%ymm10
+  .byte  196,65,45,253,209                   // vpaddw        %ymm9,%ymm10,%ymm10
+  .byte  196,193,45,113,210,8                // vpsrlw        $0x8,%ymm10,%ymm10
+  .byte  197,173,253,192                     // vpaddw        %ymm0,%ymm10,%ymm0
+  .byte  196,65,85,213,208                   // vpmullw       %ymm8,%ymm5,%ymm10
+  .byte  196,65,45,253,209                   // vpaddw        %ymm9,%ymm10,%ymm10
+  .byte  196,193,45,113,210,8                // vpsrlw        $0x8,%ymm10,%ymm10
+  .byte  197,173,253,201                     // vpaddw        %ymm1,%ymm10,%ymm1
+  .byte  196,65,77,213,208                   // vpmullw       %ymm8,%ymm6,%ymm10
+  .byte  196,65,45,253,209                   // vpaddw        %ymm9,%ymm10,%ymm10
+  .byte  196,193,45,113,210,8                // vpsrlw        $0x8,%ymm10,%ymm10
+  .byte  197,173,253,210                     // vpaddw        %ymm2,%ymm10,%ymm2
+  .byte  196,65,69,213,192                   // vpmullw       %ymm8,%ymm7,%ymm8
+  .byte  196,65,61,253,193                   // vpaddw        %ymm9,%ymm8,%ymm8
+  .byte  196,193,61,113,208,8                // vpsrlw        $0x8,%ymm8,%ymm8
+  .byte  197,189,253,219                     // vpaddw        %ymm3,%ymm8,%ymm3
+  .byte  197,189,113,241,8                   // vpsllw        $0x8,%ymm1,%ymm8
+  .byte  197,61,235,192                      // vpor          %ymm0,%ymm8,%ymm8
+  .byte  196,66,125,51,200                   // vpmovzxwd     %xmm8,%ymm9
+  .byte  196,67,125,57,192,1                 // vextracti128  $0x1,%ymm8,%xmm8
+  .byte  196,66,125,51,208                   // vpmovzxwd     %xmm8,%ymm10
+  .byte  197,189,113,243,8                   // vpsllw        $0x8,%ymm3,%ymm8
+  .byte  197,61,235,194                      // vpor          %ymm2,%ymm8,%ymm8
+  .byte  196,67,125,57,195,1                 // vextracti128  $0x1,%ymm8,%xmm11
+  .byte  196,66,125,51,219                   // vpmovzxwd     %xmm11,%ymm11
+  .byte  196,66,125,51,192                   // vpmovzxwd     %xmm8,%ymm8
+  .byte  196,193,61,114,240,16               // vpslld        $0x10,%ymm8,%ymm8
+  .byte  196,65,61,235,193                   // vpor          %ymm9,%ymm8,%ymm8
+  .byte  196,193,53,114,243,16               // vpslld        $0x10,%ymm11,%ymm9
+  .byte  196,65,53,235,202                   // vpor          %ymm10,%ymm9,%ymm9
+  .byte  65,128,250,14                       // cmp           $0xe,%r10b
+  .byte  119,26                              // ja            32d1d <_sk_srcover_rgba_8888_hsw_lowp+0x283>
+  .byte  76,141,21,234,0,0,0                 // lea           0xea(%rip),%r10        # 32df4 <_sk_srcover_rgba_8888_hsw_lowp+0x35a>
+  .byte  75,99,4,130                         // movslq        (%r10,%r8,4),%rax
+  .byte  76,1,208                            // add           %r10,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,65,121,126,1                    // vmovd         %xmm8,(%r9)
+  .byte  233,151,0,0,0                       // jmpq          32db4 <_sk_srcover_rgba_8888_hsw_lowp+0x31a>
+  .byte  196,65,126,127,1                    // vmovdqu       %ymm8,(%r9)
+  .byte  196,65,126,127,73,32                // vmovdqu       %ymm9,0x20(%r9)
+  .byte  233,135,0,0,0                       // jmpq          32db4 <_sk_srcover_rgba_8888_hsw_lowp+0x31a>
+  .byte  196,67,121,22,65,8,2                // vpextrd       $0x2,%xmm8,0x8(%r9)
+  .byte  196,65,121,214,1                    // vmovq         %xmm8,(%r9)
+  .byte  235,121                             // jmp           32db4 <_sk_srcover_rgba_8888_hsw_lowp+0x31a>
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,22,73,24,2               // vpextrd       $0x2,%xmm9,0x18(%r9)
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,22,73,20,1               // vpextrd       $0x1,%xmm9,0x14(%r9)
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,65,121,126,73,16                // vmovd         %xmm9,0x10(%r9)
+  .byte  196,65,122,127,1                    // vmovdqu       %xmm8,(%r9)
+  .byte  235,76                              // jmp           32db4 <_sk_srcover_rgba_8888_hsw_lowp+0x31a>
+  .byte  196,67,121,22,73,40,2               // vpextrd       $0x2,%xmm9,0x28(%r9)
+  .byte  196,67,121,22,73,36,1               // vpextrd       $0x1,%xmm9,0x24(%r9)
+  .byte  196,65,121,126,73,32                // vmovd         %xmm9,0x20(%r9)
+  .byte  196,65,126,127,1                    // vmovdqu       %ymm8,(%r9)
+  .byte  235,49                              // jmp           32db4 <_sk_srcover_rgba_8888_hsw_lowp+0x31a>
+  .byte  196,67,125,57,202,1                 // vextracti128  $0x1,%ymm9,%xmm10
+  .byte  196,67,121,22,81,56,2               // vpextrd       $0x2,%xmm10,0x38(%r9)
+  .byte  196,67,125,57,202,1                 // vextracti128  $0x1,%ymm9,%xmm10
+  .byte  196,67,121,22,81,52,1               // vpextrd       $0x1,%xmm10,0x34(%r9)
+  .byte  196,67,125,57,202,1                 // vextracti128  $0x1,%ymm9,%xmm10
+  .byte  196,65,121,126,81,48                // vmovd         %xmm10,0x30(%r9)
+  .byte  196,65,126,127,1                    // vmovdqu       %ymm8,(%r9)
+  .byte  196,65,122,127,73,32                // vmovdqu       %xmm9,0x20(%r9)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  48,253                              // xor           %bh,%ch
+  .byte  255                                 // (bad)
+  .byte  255,99,253                          // jmpq          *-0x3(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255,78,253                          // decl          -0x3(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  191,253,255,255,168                 // mov           $0xa8fffffd,%edi
+  .byte  253                                 // std
+  .byte  255                                 // (bad)
+  .byte  255,145,253,255,255,124             // callq         *0x7cfffffd(%rcx)
+  .byte  253                                 // std
+  .byte  255                                 // (bad)
+  .byte  255,1                               // incl          (%rcx)
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,245                             // push          %rbp
+  .byte  253                                 // std
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  232,253,255,255,211                 // callq         ffffffffd4032dde <_sk_srcover_bgra_8888_sse2_lowp+0xffffffffd3ff6b92>
+  .byte  253                                 // std
+  .byte  255                                 // (bad)
+  .byte  255,67,254                          // incl          -0x2(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255,48                              // pushq         (%rax)
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,29,254,255,255,8                // lcall         *0x8fffffe(%rip)        # 9032def <_sk_srcover_bgra_8888_sse2_lowp+0x8ff6ba3>
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,31                              // lcall         *(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,64,255                          // incl          -0x1(%rax)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  57,255                              // cmp           %edi,%edi
+  .byte  255                                 // (bad)
+  .byte  255,109,255                         // ljmp          *-0x1(%rbp)
+  .byte  255                                 // (bad)
+  .byte  255,97,255                          // jmpq          *-0x1(%rcx)
+  .byte  255                                 // (bad)
+  .byte  255,84,255,255                      // callq         *-0x1(%rdi,%rdi,8)
+  .byte  255,71,255                          // incl          -0x1(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255,136,255,255,255,130             // decl          -0x7d000001(%rax)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  123,255                             // jnp           32e19 <_sk_srcover_rgba_8888_hsw_lowp+0x37f>
+  .byte  255                                 // (bad)
+  .byte  255,116,255,255                     // pushq         -0x1(%rdi,%rdi,8)
+  .byte  255,181,255,255,255,169             // pushq         -0x56000001(%rbp)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,156,255,255,255,143,255         // lcall         *-0x700001(%rdi,%rdi,8)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_srcover_bgra_8888_hsw_lowp
+.globl _sk_srcover_bgra_8888_hsw_lowp
+FUNCTION(_sk_srcover_bgra_8888_hsw_lowp)
+_sk_srcover_bgra_8888_hsw_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  77,141,12,144                       // lea           (%r8,%rdx,4),%r9
+  .byte  65,137,250                          // mov           %edi,%r10d
+  .byte  65,128,226,15                       // and           $0xf,%r10b
+  .byte  65,254,202                          // dec           %r10b
+  .byte  69,15,182,194                       // movzbl        %r10b,%r8d
+  .byte  65,128,248,14                       // cmp           $0xe,%r8b
+  .byte  119,51                              // ja            32e8c <_sk_srcover_bgra_8888_hsw_lowp+0x5c>
+  .byte  197,221,239,228                     // vpxor         %ymm4,%ymm4,%ymm4
+  .byte  76,141,29,236,2,0,0                 // lea           0x2ec(%rip),%r11        # 33150 <_sk_srcover_bgra_8888_hsw_lowp+0x320>
+  .byte  75,99,4,131                         // movslq        (%r11,%r8,4),%rax
+  .byte  76,1,216                            // add           %r11,%rax
+  .byte  197,213,239,237                     // vpxor         %ymm5,%ymm5,%ymm5
+  .byte  197,205,239,246                     // vpxor         %ymm6,%ymm6,%ymm6
+  .byte  196,65,61,239,192                   // vpxor         %ymm8,%ymm8,%ymm8
+  .byte  197,197,239,255                     // vpxor         %ymm7,%ymm7,%ymm7
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,193,121,110,41                  // vmovd         (%r9),%xmm5
+  .byte  197,221,239,228                     // vpxor         %ymm4,%ymm4,%ymm4
+  .byte  233,22,1,0,0                        // jmpq          32fa2 <_sk_srcover_bgra_8888_hsw_lowp+0x172>
+  .byte  196,193,126,111,41                  // vmovdqu       (%r9),%ymm5
+  .byte  196,193,126,111,97,32               // vmovdqu       0x20(%r9),%ymm4
+  .byte  233,6,1,0,0                         // jmpq          32fa2 <_sk_srcover_bgra_8888_hsw_lowp+0x172>
+  .byte  196,193,121,110,97,8                // vmovd         0x8(%r9),%xmm4
+  .byte  196,226,121,89,228                  // vpbroadcastq  %xmm4,%xmm4
+  .byte  197,197,239,255                     // vpxor         %ymm7,%ymm7,%ymm7
+  .byte  196,227,69,2,228,4                  // vpblendd      $0x4,%ymm4,%ymm7,%ymm4
+  .byte  196,194,121,53,41                   // vpmovzxdq     (%r9),%xmm5
+  .byte  197,249,112,237,232                 // vpshufd       $0xe8,%xmm5,%xmm5
+  .byte  196,227,93,2,237,3                  // vpblendd      $0x3,%ymm5,%ymm4,%ymm5
+  .byte  197,253,111,231                     // vmovdqa       %ymm7,%ymm4
+  .byte  233,216,0,0,0                       // jmpq          32fa2 <_sk_srcover_bgra_8888_hsw_lowp+0x172>
+  .byte  196,193,121,110,97,24               // vmovd         0x18(%r9),%xmm4
+  .byte  196,226,125,89,228                  // vpbroadcastq  %xmm4,%ymm4
+  .byte  197,213,239,237                     // vpxor         %ymm5,%ymm5,%ymm5
+  .byte  196,227,85,2,228,64                 // vpblendd      $0x40,%ymm4,%ymm5,%ymm4
+  .byte  196,227,125,57,230,1                // vextracti128  $0x1,%ymm4,%xmm6
+  .byte  196,195,73,34,113,20,1              // vpinsrd       $0x1,0x14(%r9),%xmm6,%xmm6
+  .byte  196,227,93,56,230,1                 // vinserti128   $0x1,%xmm6,%ymm4,%ymm4
+  .byte  197,253,111,245                     // vmovdqa       %ymm5,%ymm6
+  .byte  196,227,125,57,229,1                // vextracti128  $0x1,%ymm4,%xmm5
+  .byte  196,195,81,34,105,16,0              // vpinsrd       $0x0,0x10(%r9),%xmm5,%xmm5
+  .byte  196,227,93,56,229,1                 // vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  .byte  197,125,111,198                     // vmovdqa       %ymm6,%ymm8
+  .byte  196,193,122,111,41                  // vmovdqu       (%r9),%xmm5
+  .byte  196,227,85,2,236,240                // vpblendd      $0xf0,%ymm4,%ymm5,%ymm5
+  .byte  197,125,127,196                     // vmovdqa       %ymm8,%ymm4
+  .byte  233,129,0,0,0                       // jmpq          32fa2 <_sk_srcover_bgra_8888_hsw_lowp+0x172>
+  .byte  196,193,121,110,97,40               // vmovd         0x28(%r9),%xmm4
+  .byte  196,226,121,89,228                  // vpbroadcastq  %xmm4,%xmm4
+  .byte  197,213,239,237                     // vpxor         %ymm5,%ymm5,%ymm5
+  .byte  196,227,85,2,228,4                  // vpblendd      $0x4,%ymm4,%ymm5,%ymm4
+  .byte  196,195,89,34,105,36,1              // vpinsrd       $0x1,0x24(%r9),%xmm4,%xmm5
+  .byte  196,227,93,2,229,15                 // vpblendd      $0xf,%ymm5,%ymm4,%ymm4
+  .byte  196,193,121,110,105,32              // vmovd         0x20(%r9),%xmm5
+  .byte  196,227,93,2,229,1                  // vpblendd      $0x1,%ymm5,%ymm4,%ymm4
+  .byte  196,193,126,111,41                  // vmovdqu       (%r9),%ymm5
+  .byte  235,76                              // jmp           32fa2 <_sk_srcover_bgra_8888_hsw_lowp+0x172>
+  .byte  196,193,121,110,97,56               // vmovd         0x38(%r9),%xmm4
+  .byte  196,226,125,89,228                  // vpbroadcastq  %xmm4,%ymm4
+  .byte  197,213,239,237                     // vpxor         %ymm5,%ymm5,%ymm5
+  .byte  196,227,85,2,228,64                 // vpblendd      $0x40,%ymm4,%ymm5,%ymm4
+  .byte  196,227,125,57,229,1                // vextracti128  $0x1,%ymm4,%xmm5
+  .byte  196,195,81,34,105,52,1              // vpinsrd       $0x1,0x34(%r9),%xmm5,%xmm5
+  .byte  196,227,93,56,229,1                 // vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  .byte  196,227,125,57,229,1                // vextracti128  $0x1,%ymm4,%xmm5
+  .byte  196,195,81,34,105,48,0              // vpinsrd       $0x0,0x30(%r9),%xmm5,%xmm5
+  .byte  196,227,93,56,229,1                 // vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  .byte  196,193,126,111,41                  // vmovdqu       (%r9),%ymm5
+  .byte  196,193,122,111,113,32              // vmovdqu       0x20(%r9),%xmm6
+  .byte  196,227,77,2,228,240                // vpblendd      $0xf0,%ymm4,%ymm6,%ymm4
+  .byte  196,227,85,56,252,1                 // vinserti128   $0x1,%xmm4,%ymm5,%ymm7
+  .byte  196,227,85,70,228,49                // vperm2i128    $0x31,%ymm4,%ymm5,%ymm4
+  .byte  197,213,239,237                     // vpxor         %ymm5,%ymm5,%ymm5
+  .byte  196,227,93,14,245,170               // vpblendw      $0xaa,%ymm5,%ymm4,%ymm6
+  .byte  196,227,69,14,237,170               // vpblendw      $0xaa,%ymm5,%ymm7,%ymm5
+  .byte  196,226,85,43,238                   // vpackusdw     %ymm6,%ymm5,%ymm5
+  .byte  197,125,111,5,181,158,0,0           // vmovdqa       0x9eb5(%rip),%ymm8        # 3ce80 <_sk_srcover_bgra_8888_sse2_lowp+0xc34>
+  .byte  196,193,85,219,240                  // vpand         %ymm8,%ymm5,%ymm6
+  .byte  196,98,125,121,13,199,158,0,0       // vpbroadcastw  0x9ec7(%rip),%ymm9        # 3cea0 <_sk_srcover_bgra_8888_sse2_lowp+0xc54>
+  .byte  197,213,113,213,8                   // vpsrlw        $0x8,%ymm5,%ymm5
+  .byte  197,221,114,212,16                  // vpsrld        $0x10,%ymm4,%ymm4
+  .byte  197,197,114,215,16                  // vpsrld        $0x10,%ymm7,%ymm7
+  .byte  196,226,69,43,252                   // vpackusdw     %ymm4,%ymm7,%ymm7
+  .byte  196,193,69,219,224                  // vpand         %ymm8,%ymm7,%ymm4
+  .byte  197,197,113,215,8                   // vpsrlw        $0x8,%ymm7,%ymm7
+  .byte  197,53,249,195                      // vpsubw        %ymm3,%ymm9,%ymm8
+  .byte  196,65,93,213,208                   // vpmullw       %ymm8,%ymm4,%ymm10
+  .byte  196,65,45,253,209                   // vpaddw        %ymm9,%ymm10,%ymm10
+  .byte  196,193,45,113,210,8                // vpsrlw        $0x8,%ymm10,%ymm10
+  .byte  197,173,253,192                     // vpaddw        %ymm0,%ymm10,%ymm0
+  .byte  196,65,85,213,208                   // vpmullw       %ymm8,%ymm5,%ymm10
+  .byte  196,65,45,253,209                   // vpaddw        %ymm9,%ymm10,%ymm10
+  .byte  196,193,45,113,210,8                // vpsrlw        $0x8,%ymm10,%ymm10
+  .byte  197,173,253,201                     // vpaddw        %ymm1,%ymm10,%ymm1
+  .byte  196,65,77,213,208                   // vpmullw       %ymm8,%ymm6,%ymm10
+  .byte  196,65,45,253,209                   // vpaddw        %ymm9,%ymm10,%ymm10
+  .byte  196,193,45,113,210,8                // vpsrlw        $0x8,%ymm10,%ymm10
+  .byte  197,173,253,210                     // vpaddw        %ymm2,%ymm10,%ymm2
+  .byte  196,65,69,213,192                   // vpmullw       %ymm8,%ymm7,%ymm8
+  .byte  196,65,61,253,193                   // vpaddw        %ymm9,%ymm8,%ymm8
+  .byte  196,193,61,113,208,8                // vpsrlw        $0x8,%ymm8,%ymm8
+  .byte  197,189,253,219                     // vpaddw        %ymm3,%ymm8,%ymm3
+  .byte  197,189,113,241,8                   // vpsllw        $0x8,%ymm1,%ymm8
+  .byte  197,61,235,194                      // vpor          %ymm2,%ymm8,%ymm8
+  .byte  196,66,125,51,200                   // vpmovzxwd     %xmm8,%ymm9
+  .byte  196,67,125,57,192,1                 // vextracti128  $0x1,%ymm8,%xmm8
+  .byte  196,66,125,51,208                   // vpmovzxwd     %xmm8,%ymm10
+  .byte  197,189,113,243,8                   // vpsllw        $0x8,%ymm3,%ymm8
+  .byte  197,61,235,192                      // vpor          %ymm0,%ymm8,%ymm8
+  .byte  196,67,125,57,195,1                 // vextracti128  $0x1,%ymm8,%xmm11
+  .byte  196,66,125,51,219                   // vpmovzxwd     %xmm11,%ymm11
+  .byte  196,66,125,51,192                   // vpmovzxwd     %xmm8,%ymm8
+  .byte  196,193,61,114,240,16               // vpslld        $0x10,%ymm8,%ymm8
+  .byte  196,65,61,235,193                   // vpor          %ymm9,%ymm8,%ymm8
+  .byte  196,193,53,114,243,16               // vpslld        $0x10,%ymm11,%ymm9
+  .byte  196,65,53,235,202                   // vpor          %ymm10,%ymm9,%ymm9
+  .byte  65,128,250,14                       // cmp           $0xe,%r10b
+  .byte  119,26                              // ja            330b3 <_sk_srcover_bgra_8888_hsw_lowp+0x283>
+  .byte  76,141,21,236,0,0,0                 // lea           0xec(%rip),%r10        # 3318c <_sk_srcover_bgra_8888_hsw_lowp+0x35c>
+  .byte  75,99,4,130                         // movslq        (%r10,%r8,4),%rax
+  .byte  76,1,208                            // add           %r10,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  196,65,121,126,1                    // vmovd         %xmm8,(%r9)
+  .byte  233,151,0,0,0                       // jmpq          3314a <_sk_srcover_bgra_8888_hsw_lowp+0x31a>
+  .byte  196,65,126,127,1                    // vmovdqu       %ymm8,(%r9)
+  .byte  196,65,126,127,73,32                // vmovdqu       %ymm9,0x20(%r9)
+  .byte  233,135,0,0,0                       // jmpq          3314a <_sk_srcover_bgra_8888_hsw_lowp+0x31a>
+  .byte  196,67,121,22,65,8,2                // vpextrd       $0x2,%xmm8,0x8(%r9)
+  .byte  196,65,121,214,1                    // vmovq         %xmm8,(%r9)
+  .byte  235,121                             // jmp           3314a <_sk_srcover_bgra_8888_hsw_lowp+0x31a>
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,22,73,24,2               // vpextrd       $0x2,%xmm9,0x18(%r9)
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,67,121,22,73,20,1               // vpextrd       $0x1,%xmm9,0x14(%r9)
+  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
+  .byte  196,65,121,126,73,16                // vmovd         %xmm9,0x10(%r9)
+  .byte  196,65,122,127,1                    // vmovdqu       %xmm8,(%r9)
+  .byte  235,76                              // jmp           3314a <_sk_srcover_bgra_8888_hsw_lowp+0x31a>
+  .byte  196,67,121,22,73,40,2               // vpextrd       $0x2,%xmm9,0x28(%r9)
+  .byte  196,67,121,22,73,36,1               // vpextrd       $0x1,%xmm9,0x24(%r9)
+  .byte  196,65,121,126,73,32                // vmovd         %xmm9,0x20(%r9)
+  .byte  196,65,126,127,1                    // vmovdqu       %ymm8,(%r9)
+  .byte  235,49                              // jmp           3314a <_sk_srcover_bgra_8888_hsw_lowp+0x31a>
+  .byte  196,67,125,57,202,1                 // vextracti128  $0x1,%ymm9,%xmm10
+  .byte  196,67,121,22,81,56,2               // vpextrd       $0x2,%xmm10,0x38(%r9)
+  .byte  196,67,125,57,202,1                 // vextracti128  $0x1,%ymm9,%xmm10
+  .byte  196,67,121,22,81,52,1               // vpextrd       $0x1,%xmm10,0x34(%r9)
+  .byte  196,67,125,57,202,1                 // vextracti128  $0x1,%ymm9,%xmm10
+  .byte  196,65,121,126,81,48                // vmovd         %xmm10,0x30(%r9)
+  .byte  196,65,126,127,1                    // vmovdqu       %ymm8,(%r9)
+  .byte  196,65,122,127,73,32                // vmovdqu       %xmm9,0x20(%r9)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  46,253                              // cs            std
+  .byte  255                                 // (bad)
+  .byte  255,97,253                          // jmpq          *-0x3(%rcx)
+  .byte  255                                 // (bad)
+  .byte  255,76,253,255                      // decl          -0x1(%rbp,%rdi,8)
+  .byte  255                                 // (bad)
+  .byte  189,253,255,255,166                 // mov           $0xa6fffffd,%ebp
+  .byte  253                                 // std
+  .byte  255                                 // (bad)
+  .byte  255,143,253,255,255,122             // decl          0x7afffffd(%rdi)
+  .byte  253                                 // std
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  253                                 // std
+  .byte  255                                 // (bad)
+  .byte  255,243                             // push          %rbx
+  .byte  253                                 // std
+  .byte  255                                 // (bad)
+  .byte  255,230                             // jmpq          *%rsi
+  .byte  253                                 // std
+  .byte  255                                 // (bad)
+  .byte  255,209                             // callq         *%rcx
+  .byte  253                                 // std
+  .byte  255                                 // (bad)
+  .byte  255,65,254                          // incl          -0x2(%rcx)
+  .byte  255                                 // (bad)
+  .byte  255,46                              // ljmp          *(%rsi)
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,27                              // lcall         *(%rbx)
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,6                               // incl          (%rsi)
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,29,255,255,255,62               // lcall         *0x3effffff(%rip)        # 3f033190 <_sk_srcover_bgra_8888_sse2_lowp+0x3eff6f44>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,55                              // pushq         (%rdi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,107,255                         // ljmp          *-0x1(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255,95,255                          // lcall         *-0x1(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255,82,255                          // callq         *-0x1(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255,69,255                          // incl          -0x1(%rbp)
+  .byte  255                                 // (bad)
+  .byte  255,134,255,255,255,128             // incl          -0x7f000001(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  121,255                             // jns           331b1 <_sk_srcover_bgra_8888_hsw_lowp+0x381>
+  .byte  255                                 // (bad)
+  .byte  255,114,255                         // pushq         -0x1(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255,179,255,255,255,167             // pushq         -0x58000001(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,154,255,255,255,141             // lcall         *-0x72000001(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_start_pipeline_sse41_lowp
+.globl _sk_start_pipeline_sse41_lowp
+FUNCTION(_sk_start_pipeline_sse41_lowp)
+_sk_start_pipeline_sse41_lowp:
+  .byte  85                                  // push          %rbp
+  .byte  72,137,229                          // mov           %rsp,%rbp
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,85                               // push          %r13
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,131,236,24                       // sub           $0x18,%rsp
+  .byte  73,137,215                          // mov           %rdx,%r15
+  .byte  72,137,243                          // mov           %rsi,%rbx
+  .byte  72,137,125,208                      // mov           %rdi,-0x30(%rbp)
+  .byte  76,137,198                          // mov           %r8,%rsi
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  73,137,197                          // mov           %rax,%r13
+  .byte  73,137,246                          // mov           %rsi,%r14
+  .byte  72,137,77,192                       // mov           %rcx,-0x40(%rbp)
+  .byte  72,57,203                           // cmp           %rcx,%rbx
+  .byte  15,131,131,0,0,0                    // jae           3327e <_sk_start_pipeline_sse41_lowp+0xb6>
+  .byte  72,139,69,208                       // mov           -0x30(%rbp),%rax
+  .byte  72,141,64,8                         // lea           0x8(%rax),%rax
+  .byte  72,137,69,200                       // mov           %rax,-0x38(%rbp)
+  .byte  76,57,125,200                       // cmp           %r15,-0x38(%rbp)
+  .byte  72,139,85,208                       // mov           -0x30(%rbp),%rdx
+  .byte  119,59                              // ja            3324c <_sk_start_pipeline_sse41_lowp+0x84>
+  .byte  76,139,101,208                      // mov           -0x30(%rbp),%r12
+  .byte  49,255                              // xor           %edi,%edi
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  15,87,201                           // xorps         %xmm1,%xmm1
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,87,237                           // xorps         %xmm5,%xmm5
+  .byte  15,87,246                           // xorps         %xmm6,%xmm6
+  .byte  15,87,255                           // xorps         %xmm7,%xmm7
+  .byte  76,137,246                          // mov           %r14,%rsi
+  .byte  76,137,226                          // mov           %r12,%rdx
+  .byte  72,137,217                          // mov           %rbx,%rcx
+  .byte  65,255,213                          // callq         *%r13
+  .byte  73,141,84,36,8                      // lea           0x8(%r12),%rdx
+  .byte  73,131,196,16                       // add           $0x10,%r12
+  .byte  77,57,252                           // cmp           %r15,%r12
+  .byte  73,137,212                          // mov           %rdx,%r12
+  .byte  118,201                             // jbe           33215 <_sk_start_pipeline_sse41_lowp+0x4d>
+  .byte  76,137,255                          // mov           %r15,%rdi
+  .byte  72,41,215                           // sub           %rdx,%rdi
+  .byte  116,33                              // je            33275 <_sk_start_pipeline_sse41_lowp+0xad>
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  15,87,201                           // xorps         %xmm1,%xmm1
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,87,237                           // xorps         %xmm5,%xmm5
+  .byte  15,87,246                           // xorps         %xmm6,%xmm6
+  .byte  15,87,255                           // xorps         %xmm7,%xmm7
+  .byte  76,137,246                          // mov           %r14,%rsi
+  .byte  72,137,217                          // mov           %rbx,%rcx
+  .byte  65,255,213                          // callq         *%r13
+  .byte  72,255,195                          // inc           %rbx
+  .byte  72,59,93,192                        // cmp           -0x40(%rbp),%rbx
+  .byte  117,137                             // jne           33207 <_sk_start_pipeline_sse41_lowp+0x3f>
+  .byte  72,131,196,24                       // add           $0x18,%rsp
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,93                               // pop           %r13
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  93                                  // pop           %rbp
+  .byte  195                                 // retq
+
+HIDDEN _sk_just_return_sse41_lowp
+.globl _sk_just_return_sse41_lowp
+FUNCTION(_sk_just_return_sse41_lowp)
+_sk_just_return_sse41_lowp:
+  .byte  195                                 // retq
+
+HIDDEN _sk_seed_shader_sse41_lowp
+.globl _sk_seed_shader_sse41_lowp
+FUNCTION(_sk_seed_shader_sse41_lowp)
+_sk_seed_shader_sse41_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,15,110,194                      // movd          %edx,%xmm0
+  .byte  102,15,112,192,0                    // pshufd        $0x0,%xmm0,%xmm0
+  .byte  15,91,208                           // cvtdq2ps      %xmm0,%xmm2
+  .byte  15,16,0                             // movups        (%rax),%xmm0
+  .byte  15,16,72,16                         // movups        0x10(%rax),%xmm1
+  .byte  15,88,194                           // addps         %xmm2,%xmm0
+  .byte  15,88,202                           // addps         %xmm2,%xmm1
+  .byte  102,15,110,209                      // movd          %ecx,%xmm2
+  .byte  102,15,112,210,0                    // pshufd        $0x0,%xmm2,%xmm2
+  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
+  .byte  15,88,21,68,156,0,0                 // addps         0x9c44(%rip),%xmm2        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,218                           // movaps        %xmm2,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_translate_sse41_lowp
+.globl _sk_matrix_translate_sse41_lowp
+FUNCTION(_sk_matrix_translate_sse41_lowp)
+_sk_matrix_translate_sse41_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,0                      // movss         (%rax),%xmm8
+  .byte  243,68,15,16,72,4                   // movss         0x4(%rax),%xmm9
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  65,15,88,192                        // addps         %xmm8,%xmm0
+  .byte  65,15,88,200                        // addps         %xmm8,%xmm1
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  65,15,88,209                        // addps         %xmm9,%xmm2
+  .byte  65,15,88,217                        // addps         %xmm9,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_scale_translate_sse41_lowp
+.globl _sk_matrix_scale_translate_sse41_lowp
+FUNCTION(_sk_matrix_scale_translate_sse41_lowp)
+_sk_matrix_scale_translate_sse41_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,0                      // movss         (%rax),%xmm8
+  .byte  243,68,15,16,72,4                   // movss         0x4(%rax),%xmm9
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  243,68,15,16,80,8                   // movss         0x8(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  65,15,88,194                        // addps         %xmm10,%xmm0
+  .byte  65,15,88,202                        // addps         %xmm10,%xmm1
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  243,68,15,16,64,12                  // movss         0xc(%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  65,15,89,217                        // mulps         %xmm9,%xmm3
+  .byte  65,15,89,209                        // mulps         %xmm9,%xmm2
+  .byte  65,15,88,208                        // addps         %xmm8,%xmm2
+  .byte  65,15,88,216                        // addps         %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_2x3_sse41_lowp
+.globl _sk_matrix_2x3_sse41_lowp
+FUNCTION(_sk_matrix_2x3_sse41_lowp)
+_sk_matrix_2x3_sse41_lowp:
+  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,15,16,0                         // movss         (%rax),%xmm0
+  .byte  243,68,15,16,88,4                   // movss         0x4(%rax),%xmm11
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  243,68,15,16,80,8                   // movss         0x8(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  243,68,15,16,72,16                  // movss         0x10(%rax),%xmm9
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  68,15,40,226                        // movaps        %xmm2,%xmm12
+  .byte  69,15,89,226                        // mulps         %xmm10,%xmm12
+  .byte  68,15,89,211                        // mulps         %xmm3,%xmm10
+  .byte  69,15,88,209                        // addps         %xmm9,%xmm10
+  .byte  69,15,88,225                        // addps         %xmm9,%xmm12
+  .byte  68,15,40,201                        // movaps        %xmm1,%xmm9
+  .byte  68,15,89,200                        // mulps         %xmm0,%xmm9
+  .byte  69,15,88,202                        // addps         %xmm10,%xmm9
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  65,15,88,196                        // addps         %xmm12,%xmm0
+  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
+  .byte  243,68,15,16,80,12                  // movss         0xc(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  243,68,15,16,96,20                  // movss         0x14(%rax),%xmm12
+  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
+  .byte  65,15,89,210                        // mulps         %xmm10,%xmm2
+  .byte  68,15,89,211                        // mulps         %xmm3,%xmm10
+  .byte  69,15,88,212                        // addps         %xmm12,%xmm10
+  .byte  65,15,88,212                        // addps         %xmm12,%xmm2
+  .byte  65,15,89,203                        // mulps         %xmm11,%xmm1
+  .byte  68,15,88,209                        // addps         %xmm1,%xmm10
+  .byte  69,15,89,216                        // mulps         %xmm8,%xmm11
+  .byte  65,15,88,211                        // addps         %xmm11,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,201                        // movaps        %xmm9,%xmm1
+  .byte  65,15,40,218                        // movaps        %xmm10,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_perspective_sse41_lowp
+.globl _sk_matrix_perspective_sse41_lowp
+FUNCTION(_sk_matrix_perspective_sse41_lowp)
+_sk_matrix_perspective_sse41_lowp:
+  .byte  68,15,40,193                        // movaps        %xmm1,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,15,16,8                         // movss         (%rax),%xmm1
+  .byte  243,68,15,16,80,4                   // movss         0x4(%rax),%xmm10
+  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  243,68,15,16,72,8                   // movss         0x8(%rax),%xmm9
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  68,15,40,219                        // movaps        %xmm3,%xmm11
+  .byte  69,15,89,218                        // mulps         %xmm10,%xmm11
+  .byte  68,15,89,210                        // mulps         %xmm2,%xmm10
+  .byte  69,15,88,209                        // addps         %xmm9,%xmm10
+  .byte  69,15,88,217                        // addps         %xmm9,%xmm11
+  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
+  .byte  68,15,89,201                        // mulps         %xmm1,%xmm9
+  .byte  69,15,88,202                        // addps         %xmm10,%xmm9
+  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
+  .byte  65,15,88,203                        // addps         %xmm11,%xmm1
+  .byte  243,68,15,16,96,12                  // movss         0xc(%rax),%xmm12
+  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
+  .byte  243,68,15,16,80,16                  // movss         0x10(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  243,68,15,16,104,20                 // movss         0x14(%rax),%xmm13
+  .byte  69,15,198,237,0                     // shufps        $0x0,%xmm13,%xmm13
+  .byte  68,15,40,219                        // movaps        %xmm3,%xmm11
+  .byte  69,15,89,218                        // mulps         %xmm10,%xmm11
+  .byte  68,15,89,210                        // mulps         %xmm2,%xmm10
+  .byte  69,15,88,213                        // addps         %xmm13,%xmm10
+  .byte  69,15,88,221                        // addps         %xmm13,%xmm11
+  .byte  68,15,40,232                        // movaps        %xmm0,%xmm13
+  .byte  69,15,89,236                        // mulps         %xmm12,%xmm13
+  .byte  69,15,88,213                        // addps         %xmm13,%xmm10
+  .byte  69,15,89,224                        // mulps         %xmm8,%xmm12
+  .byte  69,15,88,220                        // addps         %xmm12,%xmm11
+  .byte  243,68,15,16,96,24                  // movss         0x18(%rax),%xmm12
+  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
+  .byte  243,68,15,16,104,28                 // movss         0x1c(%rax),%xmm13
+  .byte  69,15,198,237,0                     // shufps        $0x0,%xmm13,%xmm13
+  .byte  243,68,15,16,112,32                 // movss         0x20(%rax),%xmm14
+  .byte  69,15,198,246,0                     // shufps        $0x0,%xmm14,%xmm14
+  .byte  65,15,89,221                        // mulps         %xmm13,%xmm3
+  .byte  68,15,89,234                        // mulps         %xmm2,%xmm13
+  .byte  69,15,88,238                        // addps         %xmm14,%xmm13
+  .byte  65,15,88,222                        // addps         %xmm14,%xmm3
+  .byte  65,15,89,196                        // mulps         %xmm12,%xmm0
+  .byte  65,15,88,197                        // addps         %xmm13,%xmm0
+  .byte  69,15,89,224                        // mulps         %xmm8,%xmm12
+  .byte  68,15,88,227                        // addps         %xmm3,%xmm12
+  .byte  15,83,192                           // rcpps         %xmm0,%xmm0
+  .byte  65,15,83,212                        // rcpps         %xmm12,%xmm2
+  .byte  68,15,89,200                        // mulps         %xmm0,%xmm9
+  .byte  15,89,202                           // mulps         %xmm2,%xmm1
+  .byte  68,15,89,208                        // mulps         %xmm0,%xmm10
+  .byte  68,15,89,218                        // mulps         %xmm2,%xmm11
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  65,15,40,210                        // movaps        %xmm10,%xmm2
+  .byte  65,15,40,219                        // movaps        %xmm11,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_uniform_color_sse41_lowp
+.globl _sk_uniform_color_sse41_lowp
+FUNCTION(_sk_uniform_color_sse41_lowp)
+_sk_uniform_color_sse41_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,15,110,64,16                    // movd          0x10(%rax),%xmm0
+  .byte  242,15,112,192,0                    // pshuflw       $0x0,%xmm0,%xmm0
+  .byte  102,15,112,192,80                   // pshufd        $0x50,%xmm0,%xmm0
+  .byte  68,15,183,64,18                     // movzwl        0x12(%rax),%r8d
+  .byte  102,65,15,110,200                   // movd          %r8d,%xmm1
+  .byte  242,15,112,201,0                    // pshuflw       $0x0,%xmm1,%xmm1
+  .byte  102,15,112,201,80                   // pshufd        $0x50,%xmm1,%xmm1
+  .byte  102,15,110,80,20                    // movd          0x14(%rax),%xmm2
+  .byte  242,15,112,210,0                    // pshuflw       $0x0,%xmm2,%xmm2
+  .byte  102,15,112,210,80                   // pshufd        $0x50,%xmm2,%xmm2
+  .byte  15,183,64,22                        // movzwl        0x16(%rax),%eax
+  .byte  102,15,110,216                      // movd          %eax,%xmm3
+  .byte  242,15,112,219,0                    // pshuflw       $0x0,%xmm3,%xmm3
+  .byte  102,15,112,219,80                   // pshufd        $0x50,%xmm3,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_black_color_sse41_lowp
+.globl _sk_black_color_sse41_lowp
+FUNCTION(_sk_black_color_sse41_lowp)
+_sk_black_color_sse41_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,29,137,153,0,0                // movaps        0x9989(%rip),%xmm3        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  15,87,201                           // xorps         %xmm1,%xmm1
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_white_color_sse41_lowp
+.globl _sk_white_color_sse41_lowp
+FUNCTION(_sk_white_color_sse41_lowp)
+_sk_white_color_sse41_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,5,117,153,0,0                 // movaps        0x9975(%rip),%xmm0        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  15,40,208                           // movaps        %xmm0,%xmm2
+  .byte  15,40,216                           // movaps        %xmm0,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_set_rgb_sse41_lowp
+.globl _sk_set_rgb_sse41_lowp
+FUNCTION(_sk_set_rgb_sse41_lowp)
+_sk_set_rgb_sse41_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,15,16,21,216,143,0,0            // movss         0x8fd8(%rip),%xmm2        # 3c528 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  .byte  243,15,16,0                         // movss         (%rax),%xmm0
+  .byte  243,15,89,194                       // mulss         %xmm2,%xmm0
+  .byte  243,68,15,16,5,151,143,0,0          // movss         0x8f97(%rip),%xmm8        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  243,65,15,88,192                    // addss         %xmm8,%xmm0
+  .byte  243,68,15,44,192                    // cvttss2si     %xmm0,%r8d
+  .byte  102,65,15,110,192                   // movd          %r8d,%xmm0
+  .byte  242,15,112,192,0                    // pshuflw       $0x0,%xmm0,%xmm0
+  .byte  102,15,112,192,80                   // pshufd        $0x50,%xmm0,%xmm0
+  .byte  243,15,16,72,4                      // movss         0x4(%rax),%xmm1
+  .byte  243,15,89,202                       // mulss         %xmm2,%xmm1
+  .byte  243,65,15,88,200                    // addss         %xmm8,%xmm1
+  .byte  243,68,15,44,193                    // cvttss2si     %xmm1,%r8d
+  .byte  102,65,15,110,200                   // movd          %r8d,%xmm1
+  .byte  242,15,112,201,0                    // pshuflw       $0x0,%xmm1,%xmm1
+  .byte  102,15,112,201,80                   // pshufd        $0x50,%xmm1,%xmm1
+  .byte  243,15,89,80,8                      // mulss         0x8(%rax),%xmm2
+  .byte  243,65,15,88,208                    // addss         %xmm8,%xmm2
+  .byte  243,15,44,194                       // cvttss2si     %xmm2,%eax
+  .byte  102,15,110,208                      // movd          %eax,%xmm2
+  .byte  242,15,112,210,0                    // pshuflw       $0x0,%xmm2,%xmm2
+  .byte  102,15,112,210,80                   // pshufd        $0x50,%xmm2,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_clamp_a_sse41_lowp
+.globl _sk_clamp_a_sse41_lowp
+FUNCTION(_sk_clamp_a_sse41_lowp)
+_sk_clamp_a_sse41_lowp:
+  .byte  102,15,56,58,195                    // pminuw        %xmm3,%xmm0
+  .byte  102,15,56,58,203                    // pminuw        %xmm3,%xmm1
+  .byte  102,15,56,58,211                    // pminuw        %xmm3,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_clamp_a_dst_sse41_lowp
+.globl _sk_clamp_a_dst_sse41_lowp
+FUNCTION(_sk_clamp_a_dst_sse41_lowp)
+_sk_clamp_a_dst_sse41_lowp:
+  .byte  102,15,56,58,231                    // pminuw        %xmm7,%xmm4
+  .byte  102,15,56,58,239                    // pminuw        %xmm7,%xmm5
+  .byte  102,15,56,58,247                    // pminuw        %xmm7,%xmm6
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_premul_sse41_lowp
+.globl _sk_premul_sse41_lowp
+FUNCTION(_sk_premul_sse41_lowp)
+_sk_premul_sse41_lowp:
+  .byte  102,15,213,195                      // pmullw        %xmm3,%xmm0
+  .byte  102,68,15,111,5,193,152,0,0         // movdqa        0x98c1(%rip),%xmm8        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,65,15,253,192                   // paddw         %xmm8,%xmm0
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,15,213,203                      // pmullw        %xmm3,%xmm1
+  .byte  102,65,15,253,200                   // paddw         %xmm8,%xmm1
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,213,211                      // pmullw        %xmm3,%xmm2
+  .byte  102,65,15,253,208                   // paddw         %xmm8,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_premul_dst_sse41_lowp
+.globl _sk_premul_dst_sse41_lowp
+FUNCTION(_sk_premul_dst_sse41_lowp)
+_sk_premul_dst_sse41_lowp:
+  .byte  102,15,213,231                      // pmullw        %xmm7,%xmm4
+  .byte  102,68,15,111,5,138,152,0,0         // movdqa        0x988a(%rip),%xmm8        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,65,15,253,224                   // paddw         %xmm8,%xmm4
+  .byte  102,15,113,212,8                    // psrlw         $0x8,%xmm4
+  .byte  102,15,213,239                      // pmullw        %xmm7,%xmm5
+  .byte  102,65,15,253,232                   // paddw         %xmm8,%xmm5
+  .byte  102,15,113,213,8                    // psrlw         $0x8,%xmm5
+  .byte  102,15,213,247                      // pmullw        %xmm7,%xmm6
+  .byte  102,65,15,253,240                   // paddw         %xmm8,%xmm6
+  .byte  102,15,113,214,8                    // psrlw         $0x8,%xmm6
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_force_opaque_sse41_lowp
+.globl _sk_force_opaque_sse41_lowp
+FUNCTION(_sk_force_opaque_sse41_lowp)
+_sk_force_opaque_sse41_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,29,87,152,0,0                 // movaps        0x9857(%rip),%xmm3        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_force_opaque_dst_sse41_lowp
+.globl _sk_force_opaque_dst_sse41_lowp
+FUNCTION(_sk_force_opaque_dst_sse41_lowp)
+_sk_force_opaque_dst_sse41_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,61,76,152,0,0                 // movaps        0x984c(%rip),%xmm7        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_swap_rb_sse41_lowp
+.globl _sk_swap_rb_sse41_lowp
+FUNCTION(_sk_swap_rb_sse41_lowp)
+_sk_swap_rb_sse41_lowp:
+  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,194                           // movaps        %xmm2,%xmm0
+  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_move_src_dst_sse41_lowp
+.globl _sk_move_src_dst_sse41_lowp
+FUNCTION(_sk_move_src_dst_sse41_lowp)
+_sk_move_src_dst_sse41_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,224                           // movaps        %xmm0,%xmm4
+  .byte  15,40,233                           // movaps        %xmm1,%xmm5
+  .byte  15,40,242                           // movaps        %xmm2,%xmm6
+  .byte  15,40,251                           // movaps        %xmm3,%xmm7
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_move_dst_src_sse41_lowp
+.globl _sk_move_dst_src_sse41_lowp
+FUNCTION(_sk_move_dst_src_sse41_lowp)
+_sk_move_dst_src_sse41_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,196                           // movaps        %xmm4,%xmm0
+  .byte  15,40,205                           // movaps        %xmm5,%xmm1
+  .byte  15,40,214                           // movaps        %xmm6,%xmm2
+  .byte  15,40,223                           // movaps        %xmm7,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_invert_sse41_lowp
+.globl _sk_invert_sse41_lowp
+FUNCTION(_sk_invert_sse41_lowp)
+_sk_invert_sse41_lowp:
+  .byte  102,68,15,111,5,18,152,0,0          // movdqa        0x9812(%rip),%xmm8        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,69,15,111,200                   // movdqa        %xmm8,%xmm9
+  .byte  102,68,15,249,200                   // psubw         %xmm0,%xmm9
+  .byte  102,69,15,111,208                   // movdqa        %xmm8,%xmm10
+  .byte  102,68,15,249,209                   // psubw         %xmm1,%xmm10
+  .byte  102,69,15,111,216                   // movdqa        %xmm8,%xmm11
+  .byte  102,68,15,249,218                   // psubw         %xmm2,%xmm11
+  .byte  102,68,15,249,195                   // psubw         %xmm3,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,65,15,111,193                   // movdqa        %xmm9,%xmm0
+  .byte  102,65,15,111,202                   // movdqa        %xmm10,%xmm1
+  .byte  102,65,15,111,211                   // movdqa        %xmm11,%xmm2
+  .byte  102,65,15,111,216                   // movdqa        %xmm8,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_clear_sse41_lowp
+.globl _sk_clear_sse41_lowp
+FUNCTION(_sk_clear_sse41_lowp)
+_sk_clear_sse41_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  15,87,201                           // xorps         %xmm1,%xmm1
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_srcatop_sse41_lowp
+.globl _sk_srcatop_sse41_lowp
+FUNCTION(_sk_srcatop_sse41_lowp)
+_sk_srcatop_sse41_lowp:
+  .byte  102,68,15,111,195                   // movdqa        %xmm3,%xmm8
+  .byte  102,15,213,199                      // pmullw        %xmm7,%xmm0
+  .byte  102,15,111,29,182,151,0,0           // movdqa        0x97b6(%rip),%xmm3        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,68,15,111,203                   // movdqa        %xmm3,%xmm9
+  .byte  102,69,15,249,200                   // psubw         %xmm8,%xmm9
+  .byte  102,69,15,111,193                   // movdqa        %xmm9,%xmm8
+  .byte  102,68,15,213,196                   // pmullw        %xmm4,%xmm8
+  .byte  102,15,253,195                      // paddw         %xmm3,%xmm0
+  .byte  102,65,15,253,192                   // paddw         %xmm8,%xmm0
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,15,213,207                      // pmullw        %xmm7,%xmm1
+  .byte  102,69,15,111,193                   // movdqa        %xmm9,%xmm8
+  .byte  102,68,15,213,197                   // pmullw        %xmm5,%xmm8
+  .byte  102,15,253,203                      // paddw         %xmm3,%xmm1
+  .byte  102,65,15,253,200                   // paddw         %xmm8,%xmm1
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,213,215                      // pmullw        %xmm7,%xmm2
+  .byte  102,68,15,213,206                   // pmullw        %xmm6,%xmm9
+  .byte  102,15,253,211                      // paddw         %xmm3,%xmm2
+  .byte  102,65,15,253,209                   // paddw         %xmm9,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,68,15,111,199                   // movdqa        %xmm7,%xmm8
+  .byte  102,68,15,213,195                   // pmullw        %xmm3,%xmm8
+  .byte  102,65,15,253,216                   // paddw         %xmm8,%xmm3
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_dstatop_sse41_lowp
+.globl _sk_dstatop_sse41_lowp
+FUNCTION(_sk_dstatop_sse41_lowp)
+_sk_dstatop_sse41_lowp:
+  .byte  102,68,15,111,196                   // movdqa        %xmm4,%xmm8
+  .byte  102,68,15,213,195                   // pmullw        %xmm3,%xmm8
+  .byte  102,68,15,111,13,54,151,0,0         // movdqa        0x9736(%rip),%xmm9        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,69,15,253,193                   // paddw         %xmm9,%xmm8
+  .byte  102,68,15,111,213                   // movdqa        %xmm5,%xmm10
+  .byte  102,68,15,213,211                   // pmullw        %xmm3,%xmm10
+  .byte  102,69,15,253,209                   // paddw         %xmm9,%xmm10
+  .byte  102,68,15,111,222                   // movdqa        %xmm6,%xmm11
+  .byte  102,68,15,213,219                   // pmullw        %xmm3,%xmm11
+  .byte  102,69,15,253,217                   // paddw         %xmm9,%xmm11
+  .byte  102,65,15,213,217                   // pmullw        %xmm9,%xmm3
+  .byte  102,65,15,253,217                   // paddw         %xmm9,%xmm3
+  .byte  102,68,15,249,207                   // psubw         %xmm7,%xmm9
+  .byte  102,65,15,213,193                   // pmullw        %xmm9,%xmm0
+  .byte  102,65,15,253,192                   // paddw         %xmm8,%xmm0
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,65,15,213,201                   // pmullw        %xmm9,%xmm1
+  .byte  102,65,15,253,202                   // paddw         %xmm10,%xmm1
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,65,15,213,209                   // pmullw        %xmm9,%xmm2
+  .byte  102,65,15,253,211                   // paddw         %xmm11,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_srcin_sse41_lowp
+.globl _sk_srcin_sse41_lowp
+FUNCTION(_sk_srcin_sse41_lowp)
+_sk_srcin_sse41_lowp:
+  .byte  102,15,213,199                      // pmullw        %xmm7,%xmm0
+  .byte  102,68,15,111,5,193,150,0,0         // movdqa        0x96c1(%rip),%xmm8        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,65,15,253,192                   // paddw         %xmm8,%xmm0
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,15,213,207                      // pmullw        %xmm7,%xmm1
+  .byte  102,65,15,253,200                   // paddw         %xmm8,%xmm1
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,213,215                      // pmullw        %xmm7,%xmm2
+  .byte  102,65,15,253,208                   // paddw         %xmm8,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,213,223                      // pmullw        %xmm7,%xmm3
+  .byte  102,65,15,253,216                   // paddw         %xmm8,%xmm3
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_dstin_sse41_lowp
+.globl _sk_dstin_sse41_lowp
+FUNCTION(_sk_dstin_sse41_lowp)
+_sk_dstin_sse41_lowp:
+  .byte  102,15,111,196                      // movdqa        %xmm4,%xmm0
+  .byte  102,15,213,195                      // pmullw        %xmm3,%xmm0
+  .byte  102,68,15,111,5,120,150,0,0         // movdqa        0x9678(%rip),%xmm8        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,65,15,253,192                   // paddw         %xmm8,%xmm0
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,15,111,205                      // movdqa        %xmm5,%xmm1
+  .byte  102,15,213,203                      // pmullw        %xmm3,%xmm1
+  .byte  102,65,15,253,200                   // paddw         %xmm8,%xmm1
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,111,214                      // movdqa        %xmm6,%xmm2
+  .byte  102,15,213,211                      // pmullw        %xmm3,%xmm2
+  .byte  102,65,15,253,208                   // paddw         %xmm8,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,213,223                      // pmullw        %xmm7,%xmm3
+  .byte  102,65,15,253,216                   // paddw         %xmm8,%xmm3
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_srcout_sse41_lowp
+.globl _sk_srcout_sse41_lowp
+FUNCTION(_sk_srcout_sse41_lowp)
+_sk_srcout_sse41_lowp:
+  .byte  102,68,15,111,5,47,150,0,0          // movdqa        0x962f(%rip),%xmm8        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,69,15,111,200                   // movdqa        %xmm8,%xmm9
+  .byte  102,68,15,249,207                   // psubw         %xmm7,%xmm9
+  .byte  102,65,15,213,193                   // pmullw        %xmm9,%xmm0
+  .byte  102,65,15,253,192                   // paddw         %xmm8,%xmm0
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,65,15,213,201                   // pmullw        %xmm9,%xmm1
+  .byte  102,65,15,253,200                   // paddw         %xmm8,%xmm1
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,65,15,213,209                   // pmullw        %xmm9,%xmm2
+  .byte  102,65,15,253,208                   // paddw         %xmm8,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,65,15,213,217                   // pmullw        %xmm9,%xmm3
+  .byte  102,65,15,253,216                   // paddw         %xmm8,%xmm3
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_dstout_sse41_lowp
+.globl _sk_dstout_sse41_lowp
+FUNCTION(_sk_dstout_sse41_lowp)
+_sk_dstout_sse41_lowp:
+  .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
+  .byte  102,68,15,111,5,216,149,0,0         // movdqa        0x95d8(%rip),%xmm8        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,65,15,111,216                   // movdqa        %xmm8,%xmm3
+  .byte  102,15,249,216                      // psubw         %xmm0,%xmm3
+  .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
+  .byte  102,15,213,196                      // pmullw        %xmm4,%xmm0
+  .byte  102,65,15,253,192                   // paddw         %xmm8,%xmm0
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
+  .byte  102,15,213,205                      // pmullw        %xmm5,%xmm1
+  .byte  102,65,15,253,200                   // paddw         %xmm8,%xmm1
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,111,211                      // movdqa        %xmm3,%xmm2
+  .byte  102,15,213,214                      // pmullw        %xmm6,%xmm2
+  .byte  102,65,15,253,208                   // paddw         %xmm8,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,213,223                      // pmullw        %xmm7,%xmm3
+  .byte  102,65,15,253,216                   // paddw         %xmm8,%xmm3
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_srcover_sse41_lowp
+.globl _sk_srcover_sse41_lowp
+FUNCTION(_sk_srcover_sse41_lowp)
+_sk_srcover_sse41_lowp:
+  .byte  102,68,15,111,13,126,149,0,0        // movdqa        0x957e(%rip),%xmm9        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,69,15,111,193                   // movdqa        %xmm9,%xmm8
+  .byte  102,68,15,249,195                   // psubw         %xmm3,%xmm8
+  .byte  102,69,15,111,208                   // movdqa        %xmm8,%xmm10
+  .byte  102,68,15,213,212                   // pmullw        %xmm4,%xmm10
+  .byte  102,69,15,253,209                   // paddw         %xmm9,%xmm10
+  .byte  102,65,15,113,210,8                 // psrlw         $0x8,%xmm10
+  .byte  102,65,15,253,194                   // paddw         %xmm10,%xmm0
+  .byte  102,69,15,111,208                   // movdqa        %xmm8,%xmm10
+  .byte  102,68,15,213,213                   // pmullw        %xmm5,%xmm10
+  .byte  102,69,15,253,209                   // paddw         %xmm9,%xmm10
+  .byte  102,65,15,113,210,8                 // psrlw         $0x8,%xmm10
+  .byte  102,65,15,253,202                   // paddw         %xmm10,%xmm1
+  .byte  102,69,15,111,208                   // movdqa        %xmm8,%xmm10
+  .byte  102,68,15,213,214                   // pmullw        %xmm6,%xmm10
+  .byte  102,69,15,253,209                   // paddw         %xmm9,%xmm10
+  .byte  102,65,15,113,210,8                 // psrlw         $0x8,%xmm10
+  .byte  102,65,15,253,210                   // paddw         %xmm10,%xmm2
+  .byte  102,68,15,213,199                   // pmullw        %xmm7,%xmm8
+  .byte  102,69,15,253,193                   // paddw         %xmm9,%xmm8
+  .byte  102,65,15,113,208,8                 // psrlw         $0x8,%xmm8
+  .byte  102,65,15,253,216                   // paddw         %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_dstover_sse41_lowp
+.globl _sk_dstover_sse41_lowp
+FUNCTION(_sk_dstover_sse41_lowp)
+_sk_dstover_sse41_lowp:
+  .byte  102,68,15,111,5,4,149,0,0           // movdqa        0x9504(%rip),%xmm8        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,69,15,111,200                   // movdqa        %xmm8,%xmm9
+  .byte  102,68,15,249,207                   // psubw         %xmm7,%xmm9
+  .byte  102,65,15,213,193                   // pmullw        %xmm9,%xmm0
+  .byte  102,65,15,253,192                   // paddw         %xmm8,%xmm0
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,15,253,196                      // paddw         %xmm4,%xmm0
+  .byte  102,65,15,213,201                   // pmullw        %xmm9,%xmm1
+  .byte  102,65,15,253,200                   // paddw         %xmm8,%xmm1
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,253,205                      // paddw         %xmm5,%xmm1
+  .byte  102,65,15,213,209                   // pmullw        %xmm9,%xmm2
+  .byte  102,65,15,253,208                   // paddw         %xmm8,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,253,214                      // paddw         %xmm6,%xmm2
+  .byte  102,65,15,213,217                   // pmullw        %xmm9,%xmm3
+  .byte  102,65,15,253,216                   // paddw         %xmm8,%xmm3
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  102,15,253,223                      // paddw         %xmm7,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_modulate_sse41_lowp
+.globl _sk_modulate_sse41_lowp
+FUNCTION(_sk_modulate_sse41_lowp)
+_sk_modulate_sse41_lowp:
+  .byte  102,15,213,196                      // pmullw        %xmm4,%xmm0
+  .byte  102,68,15,111,5,157,148,0,0         // movdqa        0x949d(%rip),%xmm8        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,65,15,253,192                   // paddw         %xmm8,%xmm0
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,15,213,205                      // pmullw        %xmm5,%xmm1
+  .byte  102,65,15,253,200                   // paddw         %xmm8,%xmm1
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,213,214                      // pmullw        %xmm6,%xmm2
+  .byte  102,65,15,253,208                   // paddw         %xmm8,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,213,223                      // pmullw        %xmm7,%xmm3
+  .byte  102,65,15,253,216                   // paddw         %xmm8,%xmm3
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_multiply_sse41_lowp
+.globl _sk_multiply_sse41_lowp
+FUNCTION(_sk_multiply_sse41_lowp)
+_sk_multiply_sse41_lowp:
+  .byte  102,68,15,111,13,92,148,0,0         // movdqa        0x945c(%rip),%xmm9        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,69,15,111,193                   // movdqa        %xmm9,%xmm8
+  .byte  102,68,15,249,195                   // psubw         %xmm3,%xmm8
+  .byte  102,69,15,111,208                   // movdqa        %xmm8,%xmm10
+  .byte  102,68,15,213,212                   // pmullw        %xmm4,%xmm10
+  .byte  102,68,15,111,220                   // movdqa        %xmm4,%xmm11
+  .byte  102,69,15,253,217                   // paddw         %xmm9,%xmm11
+  .byte  102,68,15,249,223                   // psubw         %xmm7,%xmm11
+  .byte  102,65,15,213,195                   // pmullw        %xmm11,%xmm0
+  .byte  102,69,15,253,209                   // paddw         %xmm9,%xmm10
+  .byte  102,65,15,253,194                   // paddw         %xmm10,%xmm0
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,69,15,111,208                   // movdqa        %xmm8,%xmm10
+  .byte  102,68,15,213,213                   // pmullw        %xmm5,%xmm10
+  .byte  102,68,15,111,221                   // movdqa        %xmm5,%xmm11
+  .byte  102,69,15,253,217                   // paddw         %xmm9,%xmm11
+  .byte  102,68,15,249,223                   // psubw         %xmm7,%xmm11
+  .byte  102,65,15,213,203                   // pmullw        %xmm11,%xmm1
+  .byte  102,69,15,253,209                   // paddw         %xmm9,%xmm10
+  .byte  102,65,15,253,202                   // paddw         %xmm10,%xmm1
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,69,15,111,208                   // movdqa        %xmm8,%xmm10
+  .byte  102,68,15,213,214                   // pmullw        %xmm6,%xmm10
+  .byte  102,68,15,111,222                   // movdqa        %xmm6,%xmm11
+  .byte  102,69,15,253,217                   // paddw         %xmm9,%xmm11
+  .byte  102,68,15,249,223                   // psubw         %xmm7,%xmm11
+  .byte  102,65,15,213,211                   // pmullw        %xmm11,%xmm2
+  .byte  102,69,15,253,209                   // paddw         %xmm9,%xmm10
+  .byte  102,65,15,253,210                   // paddw         %xmm10,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,68,15,213,199                   // pmullw        %xmm7,%xmm8
+  .byte  102,65,15,213,217                   // pmullw        %xmm9,%xmm3
+  .byte  102,65,15,253,217                   // paddw         %xmm9,%xmm3
+  .byte  102,65,15,253,216                   // paddw         %xmm8,%xmm3
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_plus__sse41_lowp
+.globl _sk_plus__sse41_lowp
+FUNCTION(_sk_plus__sse41_lowp)
+_sk_plus__sse41_lowp:
+  .byte  102,15,253,196                      // paddw         %xmm4,%xmm0
+  .byte  102,68,15,111,5,161,147,0,0         // movdqa        0x93a1(%rip),%xmm8        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,65,15,56,58,192                 // pminuw        %xmm8,%xmm0
+  .byte  102,15,253,205                      // paddw         %xmm5,%xmm1
+  .byte  102,65,15,56,58,200                 // pminuw        %xmm8,%xmm1
+  .byte  102,15,253,214                      // paddw         %xmm6,%xmm2
+  .byte  102,65,15,56,58,208                 // pminuw        %xmm8,%xmm2
+  .byte  102,15,253,223                      // paddw         %xmm7,%xmm3
+  .byte  102,65,15,56,58,216                 // pminuw        %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_screen_sse41_lowp
+.globl _sk_screen_sse41_lowp
+FUNCTION(_sk_screen_sse41_lowp)
+_sk_screen_sse41_lowp:
+  .byte  102,68,15,111,193                   // movdqa        %xmm1,%xmm8
+  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
+  .byte  102,15,111,196                      // movdqa        %xmm4,%xmm0
+  .byte  102,15,253,193                      // paddw         %xmm1,%xmm0
+  .byte  102,15,213,204                      // pmullw        %xmm4,%xmm1
+  .byte  102,68,15,111,21,91,147,0,0         // movdqa        0x935b(%rip),%xmm10        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,65,15,253,202                   // paddw         %xmm10,%xmm1
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,249,193                      // psubw         %xmm1,%xmm0
+  .byte  102,15,111,205                      // movdqa        %xmm5,%xmm1
+  .byte  102,65,15,253,200                   // paddw         %xmm8,%xmm1
+  .byte  102,68,15,213,197                   // pmullw        %xmm5,%xmm8
+  .byte  102,69,15,253,194                   // paddw         %xmm10,%xmm8
+  .byte  102,65,15,113,208,8                 // psrlw         $0x8,%xmm8
+  .byte  102,65,15,249,200                   // psubw         %xmm8,%xmm1
+  .byte  102,68,15,111,198                   // movdqa        %xmm6,%xmm8
+  .byte  102,68,15,253,194                   // paddw         %xmm2,%xmm8
+  .byte  102,15,213,214                      // pmullw        %xmm6,%xmm2
+  .byte  102,65,15,253,210                   // paddw         %xmm10,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,68,15,249,194                   // psubw         %xmm2,%xmm8
+  .byte  102,68,15,111,207                   // movdqa        %xmm7,%xmm9
+  .byte  102,68,15,253,203                   // paddw         %xmm3,%xmm9
+  .byte  102,15,213,223                      // pmullw        %xmm7,%xmm3
+  .byte  102,65,15,253,218                   // paddw         %xmm10,%xmm3
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  102,68,15,249,203                   // psubw         %xmm3,%xmm9
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,65,15,111,208                   // movdqa        %xmm8,%xmm2
+  .byte  102,65,15,111,217                   // movdqa        %xmm9,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xor__sse41_lowp
+.globl _sk_xor__sse41_lowp
+FUNCTION(_sk_xor__sse41_lowp)
+_sk_xor__sse41_lowp:
+  .byte  102,68,15,111,195                   // movdqa        %xmm3,%xmm8
+  .byte  102,68,15,111,13,217,146,0,0        // movdqa        0x92d9(%rip),%xmm9        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,69,15,111,209                   // movdqa        %xmm9,%xmm10
+  .byte  102,68,15,249,215                   // psubw         %xmm7,%xmm10
+  .byte  102,65,15,213,194                   // pmullw        %xmm10,%xmm0
+  .byte  102,65,15,111,217                   // movdqa        %xmm9,%xmm3
+  .byte  102,65,15,249,216                   // psubw         %xmm8,%xmm3
+  .byte  102,68,15,111,219                   // movdqa        %xmm3,%xmm11
+  .byte  102,68,15,213,220                   // pmullw        %xmm4,%xmm11
+  .byte  102,65,15,253,195                   // paddw         %xmm11,%xmm0
+  .byte  102,65,15,253,193                   // paddw         %xmm9,%xmm0
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,65,15,213,202                   // pmullw        %xmm10,%xmm1
+  .byte  102,68,15,111,219                   // movdqa        %xmm3,%xmm11
+  .byte  102,68,15,213,221                   // pmullw        %xmm5,%xmm11
+  .byte  102,65,15,253,203                   // paddw         %xmm11,%xmm1
+  .byte  102,65,15,253,201                   // paddw         %xmm9,%xmm1
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,65,15,213,210                   // pmullw        %xmm10,%xmm2
+  .byte  102,68,15,111,219                   // movdqa        %xmm3,%xmm11
+  .byte  102,68,15,213,222                   // pmullw        %xmm6,%xmm11
+  .byte  102,65,15,253,211                   // paddw         %xmm11,%xmm2
+  .byte  102,65,15,253,209                   // paddw         %xmm9,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,69,15,213,208                   // pmullw        %xmm8,%xmm10
+  .byte  102,15,213,223                      // pmullw        %xmm7,%xmm3
+  .byte  102,65,15,253,218                   // paddw         %xmm10,%xmm3
+  .byte  102,65,15,253,217                   // paddw         %xmm9,%xmm3
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_darken_sse41_lowp
+.globl _sk_darken_sse41_lowp
+FUNCTION(_sk_darken_sse41_lowp)
+_sk_darken_sse41_lowp:
+  .byte  102,68,15,111,193                   // movdqa        %xmm1,%xmm8
+  .byte  102,68,15,111,200                   // movdqa        %xmm0,%xmm9
+  .byte  102,15,111,204                      // movdqa        %xmm4,%xmm1
+  .byte  102,15,111,196                      // movdqa        %xmm4,%xmm0
+  .byte  102,65,15,253,193                   // paddw         %xmm9,%xmm0
+  .byte  102,68,15,213,207                   // pmullw        %xmm7,%xmm9
+  .byte  102,15,213,203                      // pmullw        %xmm3,%xmm1
+  .byte  102,65,15,56,62,201                 // pmaxuw        %xmm9,%xmm1
+  .byte  102,68,15,111,13,32,146,0,0         // movdqa        0x9220(%rip),%xmm9        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,65,15,253,201                   // paddw         %xmm9,%xmm1
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,249,193                      // psubw         %xmm1,%xmm0
+  .byte  102,68,15,111,213                   // movdqa        %xmm5,%xmm10
+  .byte  102,15,111,205                      // movdqa        %xmm5,%xmm1
+  .byte  102,65,15,253,200                   // paddw         %xmm8,%xmm1
+  .byte  102,68,15,213,199                   // pmullw        %xmm7,%xmm8
+  .byte  102,68,15,213,211                   // pmullw        %xmm3,%xmm10
+  .byte  102,69,15,56,62,208                 // pmaxuw        %xmm8,%xmm10
+  .byte  102,69,15,253,209                   // paddw         %xmm9,%xmm10
+  .byte  102,65,15,113,210,8                 // psrlw         $0x8,%xmm10
+  .byte  102,65,15,249,202                   // psubw         %xmm10,%xmm1
+  .byte  102,68,15,111,214                   // movdqa        %xmm6,%xmm10
+  .byte  102,68,15,111,198                   // movdqa        %xmm6,%xmm8
+  .byte  102,68,15,253,194                   // paddw         %xmm2,%xmm8
+  .byte  102,15,213,215                      // pmullw        %xmm7,%xmm2
+  .byte  102,68,15,213,211                   // pmullw        %xmm3,%xmm10
+  .byte  102,68,15,56,62,210                 // pmaxuw        %xmm2,%xmm10
+  .byte  102,69,15,253,209                   // paddw         %xmm9,%xmm10
+  .byte  102,65,15,113,210,8                 // psrlw         $0x8,%xmm10
+  .byte  102,69,15,249,194                   // psubw         %xmm10,%xmm8
+  .byte  102,65,15,111,209                   // movdqa        %xmm9,%xmm2
+  .byte  102,15,249,211                      // psubw         %xmm3,%xmm2
+  .byte  102,15,213,215                      // pmullw        %xmm7,%xmm2
+  .byte  102,65,15,253,209                   // paddw         %xmm9,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,253,218                      // paddw         %xmm2,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,65,15,111,208                   // movdqa        %xmm8,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_lighten_sse41_lowp
+.globl _sk_lighten_sse41_lowp
+FUNCTION(_sk_lighten_sse41_lowp)
+_sk_lighten_sse41_lowp:
+  .byte  102,68,15,111,193                   // movdqa        %xmm1,%xmm8
+  .byte  102,68,15,111,200                   // movdqa        %xmm0,%xmm9
+  .byte  102,15,111,204                      // movdqa        %xmm4,%xmm1
+  .byte  102,15,111,196                      // movdqa        %xmm4,%xmm0
+  .byte  102,65,15,253,193                   // paddw         %xmm9,%xmm0
+  .byte  102,68,15,213,207                   // pmullw        %xmm7,%xmm9
+  .byte  102,15,213,203                      // pmullw        %xmm3,%xmm1
+  .byte  102,65,15,56,58,201                 // pminuw        %xmm9,%xmm1
+  .byte  102,68,15,111,13,99,145,0,0         // movdqa        0x9163(%rip),%xmm9        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,65,15,253,201                   // paddw         %xmm9,%xmm1
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,249,193                      // psubw         %xmm1,%xmm0
+  .byte  102,68,15,111,213                   // movdqa        %xmm5,%xmm10
+  .byte  102,15,111,205                      // movdqa        %xmm5,%xmm1
+  .byte  102,65,15,253,200                   // paddw         %xmm8,%xmm1
+  .byte  102,68,15,213,199                   // pmullw        %xmm7,%xmm8
+  .byte  102,68,15,213,211                   // pmullw        %xmm3,%xmm10
+  .byte  102,69,15,56,58,208                 // pminuw        %xmm8,%xmm10
+  .byte  102,69,15,253,209                   // paddw         %xmm9,%xmm10
+  .byte  102,65,15,113,210,8                 // psrlw         $0x8,%xmm10
+  .byte  102,65,15,249,202                   // psubw         %xmm10,%xmm1
+  .byte  102,68,15,111,214                   // movdqa        %xmm6,%xmm10
+  .byte  102,68,15,111,198                   // movdqa        %xmm6,%xmm8
+  .byte  102,68,15,253,194                   // paddw         %xmm2,%xmm8
+  .byte  102,15,213,215                      // pmullw        %xmm7,%xmm2
+  .byte  102,68,15,213,211                   // pmullw        %xmm3,%xmm10
+  .byte  102,68,15,56,58,210                 // pminuw        %xmm2,%xmm10
+  .byte  102,69,15,253,209                   // paddw         %xmm9,%xmm10
+  .byte  102,65,15,113,210,8                 // psrlw         $0x8,%xmm10
+  .byte  102,69,15,249,194                   // psubw         %xmm10,%xmm8
+  .byte  102,65,15,111,209                   // movdqa        %xmm9,%xmm2
+  .byte  102,15,249,211                      // psubw         %xmm3,%xmm2
+  .byte  102,15,213,215                      // pmullw        %xmm7,%xmm2
+  .byte  102,65,15,253,209                   // paddw         %xmm9,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,253,218                      // paddw         %xmm2,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,65,15,111,208                   // movdqa        %xmm8,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_difference_sse41_lowp
+.globl _sk_difference_sse41_lowp
+FUNCTION(_sk_difference_sse41_lowp)
+_sk_difference_sse41_lowp:
+  .byte  102,68,15,111,193                   // movdqa        %xmm1,%xmm8
+  .byte  102,68,15,111,200                   // movdqa        %xmm0,%xmm9
+  .byte  102,15,111,204                      // movdqa        %xmm4,%xmm1
+  .byte  102,15,111,196                      // movdqa        %xmm4,%xmm0
+  .byte  102,65,15,253,193                   // paddw         %xmm9,%xmm0
+  .byte  102,68,15,213,207                   // pmullw        %xmm7,%xmm9
+  .byte  102,15,213,203                      // pmullw        %xmm3,%xmm1
+  .byte  102,65,15,56,58,201                 // pminuw        %xmm9,%xmm1
+  .byte  102,68,15,111,13,166,144,0,0        // movdqa        0x90a6(%rip),%xmm9        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,65,15,253,201                   // paddw         %xmm9,%xmm1
+  .byte  102,15,113,209,7                    // psrlw         $0x7,%xmm1
+  .byte  102,68,15,111,21,19,152,0,0         // movdqa        0x9813(%rip),%xmm10        # 3d630 <_sk_srcover_bgra_8888_sse2_lowp+0x13e4>
+  .byte  102,65,15,219,202                   // pand          %xmm10,%xmm1
+  .byte  102,15,249,193                      // psubw         %xmm1,%xmm0
+  .byte  102,68,15,111,221                   // movdqa        %xmm5,%xmm11
+  .byte  102,15,111,205                      // movdqa        %xmm5,%xmm1
+  .byte  102,65,15,253,200                   // paddw         %xmm8,%xmm1
+  .byte  102,68,15,213,199                   // pmullw        %xmm7,%xmm8
+  .byte  102,68,15,213,219                   // pmullw        %xmm3,%xmm11
+  .byte  102,69,15,56,58,216                 // pminuw        %xmm8,%xmm11
+  .byte  102,69,15,253,217                   // paddw         %xmm9,%xmm11
+  .byte  102,65,15,113,211,7                 // psrlw         $0x7,%xmm11
+  .byte  102,69,15,219,218                   // pand          %xmm10,%xmm11
+  .byte  102,65,15,249,203                   // psubw         %xmm11,%xmm1
+  .byte  102,68,15,111,222                   // movdqa        %xmm6,%xmm11
+  .byte  102,68,15,111,198                   // movdqa        %xmm6,%xmm8
+  .byte  102,68,15,253,194                   // paddw         %xmm2,%xmm8
+  .byte  102,15,213,215                      // pmullw        %xmm7,%xmm2
+  .byte  102,68,15,213,219                   // pmullw        %xmm3,%xmm11
+  .byte  102,68,15,56,58,218                 // pminuw        %xmm2,%xmm11
+  .byte  102,69,15,253,217                   // paddw         %xmm9,%xmm11
+  .byte  102,65,15,113,211,7                 // psrlw         $0x7,%xmm11
+  .byte  102,69,15,219,218                   // pand          %xmm10,%xmm11
+  .byte  102,69,15,249,195                   // psubw         %xmm11,%xmm8
+  .byte  102,65,15,111,209                   // movdqa        %xmm9,%xmm2
+  .byte  102,15,249,211                      // psubw         %xmm3,%xmm2
+  .byte  102,15,213,215                      // pmullw        %xmm7,%xmm2
+  .byte  102,65,15,253,209                   // paddw         %xmm9,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,253,218                      // paddw         %xmm2,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,65,15,111,208                   // movdqa        %xmm8,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_exclusion_sse41_lowp
+.globl _sk_exclusion_sse41_lowp
+FUNCTION(_sk_exclusion_sse41_lowp)
+_sk_exclusion_sse41_lowp:
+  .byte  102,68,15,111,193                   // movdqa        %xmm1,%xmm8
+  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
+  .byte  102,15,111,196                      // movdqa        %xmm4,%xmm0
+  .byte  102,15,253,193                      // paddw         %xmm1,%xmm0
+  .byte  102,15,213,204                      // pmullw        %xmm4,%xmm1
+  .byte  102,68,15,111,13,226,143,0,0        // movdqa        0x8fe2(%rip),%xmm9        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,65,15,253,201                   // paddw         %xmm9,%xmm1
+  .byte  102,15,113,209,7                    // psrlw         $0x7,%xmm1
+  .byte  102,68,15,111,21,79,151,0,0         // movdqa        0x974f(%rip),%xmm10        # 3d630 <_sk_srcover_bgra_8888_sse2_lowp+0x13e4>
+  .byte  102,65,15,219,202                   // pand          %xmm10,%xmm1
+  .byte  102,15,249,193                      // psubw         %xmm1,%xmm0
+  .byte  102,15,111,205                      // movdqa        %xmm5,%xmm1
+  .byte  102,65,15,253,200                   // paddw         %xmm8,%xmm1
+  .byte  102,68,15,213,197                   // pmullw        %xmm5,%xmm8
+  .byte  102,69,15,253,193                   // paddw         %xmm9,%xmm8
+  .byte  102,65,15,113,208,7                 // psrlw         $0x7,%xmm8
+  .byte  102,69,15,219,194                   // pand          %xmm10,%xmm8
+  .byte  102,65,15,249,200                   // psubw         %xmm8,%xmm1
+  .byte  102,68,15,111,198                   // movdqa        %xmm6,%xmm8
+  .byte  102,68,15,253,194                   // paddw         %xmm2,%xmm8
+  .byte  102,15,213,214                      // pmullw        %xmm6,%xmm2
+  .byte  102,65,15,253,209                   // paddw         %xmm9,%xmm2
+  .byte  102,15,113,210,7                    // psrlw         $0x7,%xmm2
+  .byte  102,65,15,219,210                   // pand          %xmm10,%xmm2
+  .byte  102,68,15,249,194                   // psubw         %xmm2,%xmm8
+  .byte  102,65,15,111,209                   // movdqa        %xmm9,%xmm2
+  .byte  102,15,249,211                      // psubw         %xmm3,%xmm2
+  .byte  102,15,213,215                      // pmullw        %xmm7,%xmm2
+  .byte  102,65,15,253,209                   // paddw         %xmm9,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,253,218                      // paddw         %xmm2,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,65,15,111,208                   // movdqa        %xmm8,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_hardlight_sse41_lowp
+.globl _sk_hardlight_sse41_lowp
+FUNCTION(_sk_hardlight_sse41_lowp)
+_sk_hardlight_sse41_lowp:
+  .byte  102,68,15,111,231                   // movdqa        %xmm7,%xmm12
+  .byte  15,41,116,36,232                    // movaps        %xmm6,-0x18(%rsp)
+  .byte  102,15,111,245                      // movdqa        %xmm5,%xmm6
+  .byte  102,15,111,236                      // movdqa        %xmm4,%xmm5
+  .byte  102,68,15,111,192                   // movdqa        %xmm0,%xmm8
+  .byte  102,68,15,111,29,61,143,0,0         // movdqa        0x8f3d(%rip),%xmm11        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,69,15,249,220                   // psubw         %xmm12,%xmm11
+  .byte  102,65,15,111,227                   // movdqa        %xmm11,%xmm4
+  .byte  102,65,15,213,224                   // pmullw        %xmm8,%xmm4
+  .byte  102,68,15,111,251                   // movdqa        %xmm3,%xmm15
+  .byte  102,69,15,249,248                   // psubw         %xmm8,%xmm15
+  .byte  102,69,15,253,192                   // paddw         %xmm8,%xmm8
+  .byte  102,68,15,111,13,166,150,0,0        // movdqa        0x96a6(%rip),%xmm9        # 3d640 <_sk_srcover_bgra_8888_sse2_lowp+0x13f4>
+  .byte  102,68,15,111,243                   // movdqa        %xmm3,%xmm14
+  .byte  102,69,15,239,241                   // pxor          %xmm9,%xmm14
+  .byte  102,65,15,111,196                   // movdqa        %xmm12,%xmm0
+  .byte  102,69,15,111,212                   // movdqa        %xmm12,%xmm10
+  .byte  102,68,15,213,211                   // pmullw        %xmm3,%xmm10
+  .byte  102,15,249,197                      // psubw         %xmm5,%xmm0
+  .byte  102,65,15,213,199                   // pmullw        %xmm15,%xmm0
+  .byte  102,15,253,192                      // paddw         %xmm0,%xmm0
+  .byte  102,69,15,111,250                   // movdqa        %xmm10,%xmm15
+  .byte  102,68,15,249,248                   // psubw         %xmm0,%xmm15
+  .byte  102,65,15,111,192                   // movdqa        %xmm8,%xmm0
+  .byte  102,65,15,239,193                   // pxor          %xmm9,%xmm0
+  .byte  102,65,15,101,198                   // pcmpgtw       %xmm14,%xmm0
+  .byte  102,68,15,213,197                   // pmullw        %xmm5,%xmm8
+  .byte  102,69,15,56,16,199                 // pblendvb      %xmm0,%xmm15,%xmm8
+  .byte  102,65,15,111,196                   // movdqa        %xmm12,%xmm0
+  .byte  102,68,15,111,251                   // movdqa        %xmm3,%xmm15
+  .byte  102,68,15,249,249                   // psubw         %xmm1,%xmm15
+  .byte  102,15,249,198                      // psubw         %xmm6,%xmm0
+  .byte  102,65,15,213,199                   // pmullw        %xmm15,%xmm0
+  .byte  102,15,253,192                      // paddw         %xmm0,%xmm0
+  .byte  102,69,15,111,234                   // movdqa        %xmm10,%xmm13
+  .byte  102,68,15,249,232                   // psubw         %xmm0,%xmm13
+  .byte  102,69,15,111,251                   // movdqa        %xmm11,%xmm15
+  .byte  102,68,15,213,249                   // pmullw        %xmm1,%xmm15
+  .byte  102,15,253,201                      // paddw         %xmm1,%xmm1
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,65,15,239,193                   // pxor          %xmm9,%xmm0
+  .byte  102,65,15,101,198                   // pcmpgtw       %xmm14,%xmm0
+  .byte  102,15,213,206                      // pmullw        %xmm6,%xmm1
+  .byte  102,65,15,56,16,205                 // pblendvb      %xmm0,%xmm13,%xmm1
+  .byte  102,68,15,213,218                   // pmullw        %xmm2,%xmm11
+  .byte  102,68,15,111,235                   // movdqa        %xmm3,%xmm13
+  .byte  102,68,15,249,234                   // psubw         %xmm2,%xmm13
+  .byte  102,15,253,210                      // paddw         %xmm2,%xmm2
+  .byte  102,68,15,239,202                   // pxor          %xmm2,%xmm9
+  .byte  102,69,15,101,206                   // pcmpgtw       %xmm14,%xmm9
+  .byte  102,15,111,68,36,232                // movdqa        -0x18(%rsp),%xmm0
+  .byte  102,15,249,248                      // psubw         %xmm0,%xmm7
+  .byte  102,65,15,213,253                   // pmullw        %xmm13,%xmm7
+  .byte  102,15,253,255                      // paddw         %xmm7,%xmm7
+  .byte  102,68,15,249,215                   // psubw         %xmm7,%xmm10
+  .byte  102,15,213,208                      // pmullw        %xmm0,%xmm2
+  .byte  102,68,15,111,232                   // movdqa        %xmm0,%xmm13
+  .byte  102,65,15,111,193                   // movdqa        %xmm9,%xmm0
+  .byte  102,65,15,56,16,210                 // pblendvb      %xmm0,%xmm10,%xmm2
+  .byte  102,68,15,111,13,46,142,0,0         // movdqa        0x8e2e(%rip),%xmm9        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,65,15,111,193                   // movdqa        %xmm9,%xmm0
+  .byte  102,15,249,195                      // psubw         %xmm3,%xmm0
+  .byte  102,15,111,248                      // movdqa        %xmm0,%xmm7
+  .byte  102,15,213,253                      // pmullw        %xmm5,%xmm7
+  .byte  102,15,253,252                      // paddw         %xmm4,%xmm7
+  .byte  102,69,15,253,193                   // paddw         %xmm9,%xmm8
+  .byte  102,68,15,253,199                   // paddw         %xmm7,%xmm8
+  .byte  102,15,111,224                      // movdqa        %xmm0,%xmm4
+  .byte  102,15,213,230                      // pmullw        %xmm6,%xmm4
+  .byte  102,65,15,253,231                   // paddw         %xmm15,%xmm4
+  .byte  102,65,15,253,201                   // paddw         %xmm9,%xmm1
+  .byte  102,15,253,204                      // paddw         %xmm4,%xmm1
+  .byte  102,15,111,224                      // movdqa        %xmm0,%xmm4
+  .byte  102,65,15,213,229                   // pmullw        %xmm13,%xmm4
+  .byte  102,65,15,253,227                   // paddw         %xmm11,%xmm4
+  .byte  102,65,15,253,209                   // paddw         %xmm9,%xmm2
+  .byte  102,15,253,212                      // paddw         %xmm4,%xmm2
+  .byte  102,65,15,213,196                   // pmullw        %xmm12,%xmm0
+  .byte  102,65,15,253,193                   // paddw         %xmm9,%xmm0
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,15,253,216                      // paddw         %xmm0,%xmm3
+  .byte  102,65,15,113,208,8                 // psrlw         $0x8,%xmm8
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,65,15,111,252                   // movdqa        %xmm12,%xmm7
+  .byte  102,65,15,111,192                   // movdqa        %xmm8,%xmm0
+  .byte  102,15,111,229                      // movdqa        %xmm5,%xmm4
+  .byte  102,15,111,238                      // movdqa        %xmm6,%xmm5
+  .byte  102,65,15,111,245                   // movdqa        %xmm13,%xmm6
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_overlay_sse41_lowp
+.globl _sk_overlay_sse41_lowp
+FUNCTION(_sk_overlay_sse41_lowp)
+_sk_overlay_sse41_lowp:
+  .byte  102,68,15,111,231                   // movdqa        %xmm7,%xmm12
+  .byte  102,68,15,111,192                   // movdqa        %xmm0,%xmm8
+  .byte  102,68,15,111,29,145,141,0,0        // movdqa        0x8d91(%rip),%xmm11        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,69,15,249,220                   // psubw         %xmm12,%xmm11
+  .byte  102,65,15,111,195                   // movdqa        %xmm11,%xmm0
+  .byte  102,65,15,213,192                   // pmullw        %xmm8,%xmm0
+  .byte  102,15,127,68,36,232                // movdqa        %xmm0,-0x18(%rsp)
+  .byte  102,68,15,111,243                   // movdqa        %xmm3,%xmm14
+  .byte  102,69,15,249,240                   // psubw         %xmm8,%xmm14
+  .byte  102,68,15,213,196                   // pmullw        %xmm4,%xmm8
+  .byte  102,69,15,111,252                   // movdqa        %xmm12,%xmm15
+  .byte  102,68,15,249,252                   // psubw         %xmm4,%xmm15
+  .byte  102,15,111,196                      // movdqa        %xmm4,%xmm0
+  .byte  102,15,253,192                      // paddw         %xmm0,%xmm0
+  .byte  102,68,15,111,13,226,148,0,0        // movdqa        0x94e2(%rip),%xmm9        # 3d640 <_sk_srcover_bgra_8888_sse2_lowp+0x13f4>
+  .byte  102,69,15,111,212                   // movdqa        %xmm12,%xmm10
+  .byte  102,68,15,213,211                   // pmullw        %xmm3,%xmm10
+  .byte  102,69,15,213,254                   // pmullw        %xmm14,%xmm15
+  .byte  102,69,15,253,255                   // paddw         %xmm15,%xmm15
+  .byte  102,69,15,111,234                   // movdqa        %xmm10,%xmm13
+  .byte  102,69,15,249,239                   // psubw         %xmm15,%xmm13
+  .byte  102,69,15,111,244                   // movdqa        %xmm12,%xmm14
+  .byte  102,69,15,239,241                   // pxor          %xmm9,%xmm14
+  .byte  102,65,15,239,193                   // pxor          %xmm9,%xmm0
+  .byte  102,65,15,101,198                   // pcmpgtw       %xmm14,%xmm0
+  .byte  102,69,15,253,192                   // paddw         %xmm8,%xmm8
+  .byte  102,69,15,56,16,197                 // pblendvb      %xmm0,%xmm13,%xmm8
+  .byte  102,65,15,111,196                   // movdqa        %xmm12,%xmm0
+  .byte  102,68,15,111,235                   // movdqa        %xmm3,%xmm13
+  .byte  102,68,15,249,233                   // psubw         %xmm1,%xmm13
+  .byte  102,15,249,197                      // psubw         %xmm5,%xmm0
+  .byte  102,65,15,213,197                   // pmullw        %xmm13,%xmm0
+  .byte  102,15,253,192                      // paddw         %xmm0,%xmm0
+  .byte  102,69,15,111,234                   // movdqa        %xmm10,%xmm13
+  .byte  102,68,15,249,232                   // psubw         %xmm0,%xmm13
+  .byte  102,69,15,111,251                   // movdqa        %xmm11,%xmm15
+  .byte  102,68,15,213,249                   // pmullw        %xmm1,%xmm15
+  .byte  102,15,213,205                      // pmullw        %xmm5,%xmm1
+  .byte  102,15,111,197                      // movdqa        %xmm5,%xmm0
+  .byte  102,15,253,192                      // paddw         %xmm0,%xmm0
+  .byte  102,65,15,239,193                   // pxor          %xmm9,%xmm0
+  .byte  102,65,15,101,198                   // pcmpgtw       %xmm14,%xmm0
+  .byte  102,15,253,201                      // paddw         %xmm1,%xmm1
+  .byte  102,65,15,56,16,205                 // pblendvb      %xmm0,%xmm13,%xmm1
+  .byte  102,15,111,198                      // movdqa        %xmm6,%xmm0
+  .byte  102,15,253,192                      // paddw         %xmm0,%xmm0
+  .byte  102,68,15,239,200                   // pxor          %xmm0,%xmm9
+  .byte  102,65,15,111,196                   // movdqa        %xmm12,%xmm0
+  .byte  102,15,249,198                      // psubw         %xmm6,%xmm0
+  .byte  102,69,15,101,206                   // pcmpgtw       %xmm14,%xmm9
+  .byte  102,15,111,251                      // movdqa        %xmm3,%xmm7
+  .byte  102,15,249,250                      // psubw         %xmm2,%xmm7
+  .byte  102,15,213,199                      // pmullw        %xmm7,%xmm0
+  .byte  102,15,253,192                      // paddw         %xmm0,%xmm0
+  .byte  102,68,15,249,208                   // psubw         %xmm0,%xmm10
+  .byte  102,68,15,213,218                   // pmullw        %xmm2,%xmm11
+  .byte  102,15,213,214                      // pmullw        %xmm6,%xmm2
+  .byte  102,15,253,210                      // paddw         %xmm2,%xmm2
+  .byte  102,65,15,111,193                   // movdqa        %xmm9,%xmm0
+  .byte  102,65,15,56,16,210                 // pblendvb      %xmm0,%xmm10,%xmm2
+  .byte  102,68,15,111,13,116,140,0,0        // movdqa        0x8c74(%rip),%xmm9        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,65,15,111,193                   // movdqa        %xmm9,%xmm0
+  .byte  102,15,249,195                      // psubw         %xmm3,%xmm0
+  .byte  102,15,111,248                      // movdqa        %xmm0,%xmm7
+  .byte  102,15,213,252                      // pmullw        %xmm4,%xmm7
+  .byte  102,15,253,124,36,232               // paddw         -0x18(%rsp),%xmm7
+  .byte  102,69,15,253,193                   // paddw         %xmm9,%xmm8
+  .byte  102,68,15,253,199                   // paddw         %xmm7,%xmm8
+  .byte  102,15,111,248                      // movdqa        %xmm0,%xmm7
+  .byte  102,15,213,253                      // pmullw        %xmm5,%xmm7
+  .byte  102,65,15,253,255                   // paddw         %xmm15,%xmm7
+  .byte  102,65,15,253,201                   // paddw         %xmm9,%xmm1
+  .byte  102,15,253,207                      // paddw         %xmm7,%xmm1
+  .byte  102,15,111,248                      // movdqa        %xmm0,%xmm7
+  .byte  102,15,213,254                      // pmullw        %xmm6,%xmm7
+  .byte  102,65,15,253,251                   // paddw         %xmm11,%xmm7
+  .byte  102,65,15,253,209                   // paddw         %xmm9,%xmm2
+  .byte  102,15,253,215                      // paddw         %xmm7,%xmm2
+  .byte  102,65,15,213,196                   // pmullw        %xmm12,%xmm0
+  .byte  102,65,15,253,193                   // paddw         %xmm9,%xmm0
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,15,253,216                      // paddw         %xmm0,%xmm3
+  .byte  102,65,15,113,208,8                 // psrlw         $0x8,%xmm8
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,65,15,111,252                   // movdqa        %xmm12,%xmm7
+  .byte  102,65,15,111,192                   // movdqa        %xmm8,%xmm0
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_load_8888_sse41_lowp
+.globl _sk_load_8888_sse41_lowp
+FUNCTION(_sk_load_8888_sse41_lowp)
+_sk_load_8888_sse41_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,41                              // ja            342fe <_sk_load_8888_sse41_lowp+0x44>
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,240,0,0,0                 // lea           0xf0(%rip),%r9        # 343d4 <_sk_load_8888_sse41_lowp+0x11a>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,65,15,110,20,144                // movd          (%r8,%rdx,4),%xmm2
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  235,89                              // jmp           34357 <_sk_load_8888_sse41_lowp+0x9d>
+  .byte  243,65,15,111,20,144                // movdqu        (%r8,%rdx,4),%xmm2
+  .byte  243,69,15,111,68,144,16             // movdqu        0x10(%r8,%rdx,4),%xmm8
+  .byte  235,74                              // jmp           34357 <_sk_load_8888_sse41_lowp+0x9d>
+  .byte  102,65,15,110,68,144,8              // movd          0x8(%r8,%rdx,4),%xmm0
+  .byte  102,68,15,112,192,69                // pshufd        $0x45,%xmm0,%xmm8
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  243,65,15,126,20,144                // movq          (%r8,%rdx,4),%xmm2
+  .byte  102,65,15,58,14,208,240             // pblendw       $0xf0,%xmm8,%xmm2
+  .byte  102,68,15,111,192                   // movdqa        %xmm0,%xmm8
+  .byte  235,37                              // jmp           34357 <_sk_load_8888_sse41_lowp+0x9d>
+  .byte  102,65,15,110,68,144,24             // movd          0x18(%r8,%rdx,4),%xmm0
+  .byte  102,68,15,112,192,69                // pshufd        $0x45,%xmm0,%xmm8
+  .byte  102,69,15,58,34,68,144,20,1         // pinsrd        $0x1,0x14(%r8,%rdx,4),%xmm8
+  .byte  102,69,15,58,34,68,144,16,0         // pinsrd        $0x0,0x10(%r8,%rdx,4),%xmm8
+  .byte  243,65,15,111,20,144                // movdqu        (%r8,%rdx,4),%xmm2
+  .byte  102,15,111,5,241,146,0,0            // movdqa        0x92f1(%rip),%xmm0        # 3d650 <_sk_srcover_bgra_8888_sse2_lowp+0x1404>
+  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
+  .byte  102,15,56,0,200                     // pshufb        %xmm0,%xmm1
+  .byte  102,65,15,111,216                   // movdqa        %xmm8,%xmm3
+  .byte  102,15,56,0,216                     // pshufb        %xmm0,%xmm3
+  .byte  102,15,108,203                      // punpcklqdq    %xmm3,%xmm1
+  .byte  102,68,15,111,13,49,139,0,0         // movdqa        0x8b31(%rip),%xmm9        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,65,15,219,193                   // pand          %xmm9,%xmm0
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,68,15,111,21,202,146,0,0        // movdqa        0x92ca(%rip),%xmm10        # 3d660 <_sk_srcover_bgra_8888_sse2_lowp+0x1414>
+  .byte  102,15,111,218                      // movdqa        %xmm2,%xmm3
+  .byte  102,65,15,56,0,218                  // pshufb        %xmm10,%xmm3
+  .byte  102,69,15,111,216                   // movdqa        %xmm8,%xmm11
+  .byte  102,69,15,56,0,218                  // pshufb        %xmm10,%xmm11
+  .byte  102,65,15,108,219                   // punpcklqdq    %xmm11,%xmm3
+  .byte  102,68,15,111,21,183,146,0,0        // movdqa        0x92b7(%rip),%xmm10        # 3d670 <_sk_srcover_bgra_8888_sse2_lowp+0x1424>
+  .byte  102,65,15,56,0,210                  // pshufb        %xmm10,%xmm2
+  .byte  102,69,15,56,0,194                  // pshufb        %xmm10,%xmm8
+  .byte  102,65,15,108,208                   // punpcklqdq    %xmm8,%xmm2
+  .byte  102,65,15,219,209                   // pand          %xmm9,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  144                                 // nop
+  .byte  29,255,255,255,74                   // sbb           $0x4affffff,%eax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  57,255                              // cmp           %edi,%edi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  125,255                             // jge           343e1 <_sk_load_8888_sse41_lowp+0x127>
+  .byte  255                                 // (bad)
+  .byte  255,116,255,255                     // pushq         -0x1(%rdi,%rdi,8)
+  .byte  255,107,255                         // ljmp          *-0x1(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255,94,255                          // lcall         *-0x1(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_8888_dst_sse41_lowp
+.globl _sk_load_8888_dst_sse41_lowp
+FUNCTION(_sk_load_8888_dst_sse41_lowp)
+_sk_load_8888_dst_sse41_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,41                              // ja            34434 <_sk_load_8888_dst_sse41_lowp+0x44>
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,242,0,0,0                 // lea           0xf2(%rip),%r9        # 3450c <_sk_load_8888_dst_sse41_lowp+0x11c>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,65,15,110,52,144                // movd          (%r8,%rdx,4),%xmm6
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  235,89                              // jmp           3448d <_sk_load_8888_dst_sse41_lowp+0x9d>
+  .byte  243,65,15,111,52,144                // movdqu        (%r8,%rdx,4),%xmm6
+  .byte  243,69,15,111,68,144,16             // movdqu        0x10(%r8,%rdx,4),%xmm8
+  .byte  235,74                              // jmp           3448d <_sk_load_8888_dst_sse41_lowp+0x9d>
+  .byte  102,65,15,110,100,144,8             // movd          0x8(%r8,%rdx,4),%xmm4
+  .byte  102,68,15,112,196,69                // pshufd        $0x45,%xmm4,%xmm8
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  243,65,15,126,52,144                // movq          (%r8,%rdx,4),%xmm6
+  .byte  102,65,15,58,14,240,240             // pblendw       $0xf0,%xmm8,%xmm6
+  .byte  102,68,15,111,196                   // movdqa        %xmm4,%xmm8
+  .byte  235,37                              // jmp           3448d <_sk_load_8888_dst_sse41_lowp+0x9d>
+  .byte  102,65,15,110,100,144,24            // movd          0x18(%r8,%rdx,4),%xmm4
+  .byte  102,68,15,112,196,69                // pshufd        $0x45,%xmm4,%xmm8
+  .byte  102,69,15,58,34,68,144,20,1         // pinsrd        $0x1,0x14(%r8,%rdx,4),%xmm8
+  .byte  102,69,15,58,34,68,144,16,0         // pinsrd        $0x0,0x10(%r8,%rdx,4),%xmm8
+  .byte  243,65,15,111,52,144                // movdqu        (%r8,%rdx,4),%xmm6
+  .byte  102,15,111,37,187,145,0,0           // movdqa        0x91bb(%rip),%xmm4        # 3d650 <_sk_srcover_bgra_8888_sse2_lowp+0x1404>
+  .byte  102,15,111,238                      // movdqa        %xmm6,%xmm5
+  .byte  102,15,56,0,236                     // pshufb        %xmm4,%xmm5
+  .byte  102,65,15,111,248                   // movdqa        %xmm8,%xmm7
+  .byte  102,15,56,0,252                     // pshufb        %xmm4,%xmm7
+  .byte  102,15,108,239                      // punpcklqdq    %xmm7,%xmm5
+  .byte  102,68,15,111,13,251,137,0,0        // movdqa        0x89fb(%rip),%xmm9        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,15,111,229                      // movdqa        %xmm5,%xmm4
+  .byte  102,65,15,219,225                   // pand          %xmm9,%xmm4
+  .byte  102,15,113,213,8                    // psrlw         $0x8,%xmm5
+  .byte  102,68,15,111,21,148,145,0,0        // movdqa        0x9194(%rip),%xmm10        # 3d660 <_sk_srcover_bgra_8888_sse2_lowp+0x1414>
+  .byte  102,15,111,254                      // movdqa        %xmm6,%xmm7
+  .byte  102,65,15,56,0,250                  // pshufb        %xmm10,%xmm7
+  .byte  102,69,15,111,216                   // movdqa        %xmm8,%xmm11
+  .byte  102,69,15,56,0,218                  // pshufb        %xmm10,%xmm11
+  .byte  102,65,15,108,251                   // punpcklqdq    %xmm11,%xmm7
+  .byte  102,68,15,111,21,129,145,0,0        // movdqa        0x9181(%rip),%xmm10        # 3d670 <_sk_srcover_bgra_8888_sse2_lowp+0x1424>
+  .byte  102,65,15,56,0,242                  // pshufb        %xmm10,%xmm6
+  .byte  102,69,15,56,0,194                  // pshufb        %xmm10,%xmm8
+  .byte  102,65,15,108,240                   // punpcklqdq    %xmm8,%xmm6
+  .byte  102,65,15,219,241                   // pand          %xmm9,%xmm6
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  15,31,0                             // nopl          (%rax)
+  .byte  27,255                              // sbb           %edi,%edi
+  .byte  255                                 // (bad)
+  .byte  255,72,255                          // decl          -0x1(%rax)
+  .byte  255                                 // (bad)
+  .byte  255,55                              // pushq         (%rdi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  123,255                             // jnp           34519 <_sk_load_8888_dst_sse41_lowp+0x129>
+  .byte  255                                 // (bad)
+  .byte  255,114,255                         // pushq         -0x1(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255,105,255                         // ljmp          *-0x1(%rcx)
+  .byte  255                                 // (bad)
+  .byte  255,92,255,255                      // lcall         *-0x1(%rdi,%rdi,8)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_store_8888_sse41_lowp
+.globl _sk_store_8888_sse41_lowp
+FUNCTION(_sk_store_8888_sse41_lowp)
+_sk_store_8888_sse41_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  102,68,15,111,193                   // movdqa        %xmm1,%xmm8
+  .byte  102,65,15,113,240,8                 // psllw         $0x8,%xmm8
+  .byte  102,68,15,235,192                   // por           %xmm0,%xmm8
+  .byte  102,69,15,112,200,78                // pshufd        $0x4e,%xmm8,%xmm9
+  .byte  102,69,15,56,51,209                 // pmovzxwd      %xmm9,%xmm10
+  .byte  102,69,15,56,51,216                 // pmovzxwd      %xmm8,%xmm11
+  .byte  102,68,15,111,227                   // movdqa        %xmm3,%xmm12
+  .byte  102,65,15,113,244,8                 // psllw         $0x8,%xmm12
+  .byte  102,68,15,235,226                   // por           %xmm2,%xmm12
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
+  .byte  102,69,15,105,204                   // punpckhwd     %xmm12,%xmm9
+  .byte  102,69,15,235,202                   // por           %xmm10,%xmm9
+  .byte  102,69,15,97,196                    // punpcklwd     %xmm12,%xmm8
+  .byte  102,69,15,235,195                   // por           %xmm11,%xmm8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,27                              // ja            345ae <_sk_store_8888_sse41_lowp+0x86>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,87,0,0,0                  // lea           0x57(%rip),%r9        # 345f4 <_sk_store_8888_sse41_lowp+0xcc>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,69,15,126,4,144                 // movd          %xmm8,(%r8,%rdx,4)
+  .byte  235,63                              // jmp           345ed <_sk_store_8888_sse41_lowp+0xc5>
+  .byte  243,69,15,127,4,144                 // movdqu        %xmm8,(%r8,%rdx,4)
+  .byte  243,69,15,127,76,144,16             // movdqu        %xmm9,0x10(%r8,%rdx,4)
+  .byte  235,48                              // jmp           345ed <_sk_store_8888_sse41_lowp+0xc5>
+  .byte  102,69,15,58,22,68,144,8,2          // pextrd        $0x2,%xmm8,0x8(%r8,%rdx,4)
+  .byte  102,69,15,214,4,144                 // movq          %xmm8,(%r8,%rdx,4)
+  .byte  235,31                              // jmp           345ed <_sk_store_8888_sse41_lowp+0xc5>
+  .byte  102,69,15,58,22,76,144,24,2         // pextrd        $0x2,%xmm9,0x18(%r8,%rdx,4)
+  .byte  102,69,15,58,22,76,144,20,1         // pextrd        $0x1,%xmm9,0x14(%r8,%rdx,4)
+  .byte  102,69,15,126,76,144,16             // movd          %xmm9,0x10(%r8,%rdx,4)
+  .byte  243,69,15,127,4,144                 // movdqu        %xmm8,(%r8,%rdx,4)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  15,31,0                             // nopl          (%rax)
+  .byte  178,255                             // mov           $0xff,%dl
+  .byte  255                                 // (bad)
+  .byte  255,210                             // callq         *%rdx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,201                             // dec           %ecx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,243                             // push          %rbx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  236                                 // in            (%dx),%al
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,227                             // jmpq          *%rbx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  218,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_bgra_sse41_lowp
+.globl _sk_load_bgra_sse41_lowp
+FUNCTION(_sk_load_bgra_sse41_lowp)
+_sk_load_bgra_sse41_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,41                              // ja            34654 <_sk_load_bgra_sse41_lowp+0x44>
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,242,0,0,0                 // lea           0xf2(%rip),%r9        # 3472c <_sk_load_bgra_sse41_lowp+0x11c>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,65,15,110,4,144                 // movd          (%r8,%rdx,4),%xmm0
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  235,89                              // jmp           346ad <_sk_load_bgra_sse41_lowp+0x9d>
+  .byte  243,65,15,111,4,144                 // movdqu        (%r8,%rdx,4),%xmm0
+  .byte  243,69,15,111,68,144,16             // movdqu        0x10(%r8,%rdx,4),%xmm8
+  .byte  235,74                              // jmp           346ad <_sk_load_bgra_sse41_lowp+0x9d>
+  .byte  102,65,15,110,68,144,8              // movd          0x8(%r8,%rdx,4),%xmm0
+  .byte  102,68,15,112,192,69                // pshufd        $0x45,%xmm0,%xmm8
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  243,65,15,126,4,144                 // movq          (%r8,%rdx,4),%xmm0
+  .byte  102,65,15,58,14,192,240             // pblendw       $0xf0,%xmm8,%xmm0
+  .byte  102,68,15,111,193                   // movdqa        %xmm1,%xmm8
+  .byte  235,37                              // jmp           346ad <_sk_load_bgra_sse41_lowp+0x9d>
+  .byte  102,65,15,110,68,144,24             // movd          0x18(%r8,%rdx,4),%xmm0
+  .byte  102,68,15,112,192,69                // pshufd        $0x45,%xmm0,%xmm8
+  .byte  102,69,15,58,34,68,144,20,1         // pinsrd        $0x1,0x14(%r8,%rdx,4),%xmm8
+  .byte  102,69,15,58,34,68,144,16,0         // pinsrd        $0x0,0x10(%r8,%rdx,4),%xmm8
+  .byte  243,65,15,111,4,144                 // movdqu        (%r8,%rdx,4),%xmm0
+  .byte  102,15,111,21,155,143,0,0           // movdqa        0x8f9b(%rip),%xmm2        # 3d650 <_sk_srcover_bgra_8888_sse2_lowp+0x1404>
+  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
+  .byte  102,15,56,0,202                     // pshufb        %xmm2,%xmm1
+  .byte  102,65,15,111,216                   // movdqa        %xmm8,%xmm3
+  .byte  102,15,56,0,218                     // pshufb        %xmm2,%xmm3
+  .byte  102,15,108,203                      // punpcklqdq    %xmm3,%xmm1
+  .byte  102,68,15,111,13,219,135,0,0        // movdqa        0x87db(%rip),%xmm9        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,15,111,209                      // movdqa        %xmm1,%xmm2
+  .byte  102,65,15,219,209                   // pand          %xmm9,%xmm2
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,68,15,111,21,116,143,0,0        // movdqa        0x8f74(%rip),%xmm10        # 3d660 <_sk_srcover_bgra_8888_sse2_lowp+0x1414>
+  .byte  102,15,111,216                      // movdqa        %xmm0,%xmm3
+  .byte  102,65,15,56,0,218                  // pshufb        %xmm10,%xmm3
+  .byte  102,69,15,111,216                   // movdqa        %xmm8,%xmm11
+  .byte  102,69,15,56,0,218                  // pshufb        %xmm10,%xmm11
+  .byte  102,65,15,108,219                   // punpcklqdq    %xmm11,%xmm3
+  .byte  102,68,15,111,21,97,143,0,0         // movdqa        0x8f61(%rip),%xmm10        # 3d670 <_sk_srcover_bgra_8888_sse2_lowp+0x1424>
+  .byte  102,65,15,56,0,194                  // pshufb        %xmm10,%xmm0
+  .byte  102,69,15,56,0,194                  // pshufb        %xmm10,%xmm8
+  .byte  102,65,15,108,192                   // punpcklqdq    %xmm8,%xmm0
+  .byte  102,65,15,219,193                   // pand          %xmm9,%xmm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  15,31,0                             // nopl          (%rax)
+  .byte  27,255                              // sbb           %edi,%edi
+  .byte  255                                 // (bad)
+  .byte  255,72,255                          // decl          -0x1(%rax)
+  .byte  255                                 // (bad)
+  .byte  255,55                              // pushq         (%rdi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  123,255                             // jnp           34739 <_sk_load_bgra_sse41_lowp+0x129>
+  .byte  255                                 // (bad)
+  .byte  255,114,255                         // pushq         -0x1(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255,105,255                         // ljmp          *-0x1(%rcx)
+  .byte  255                                 // (bad)
+  .byte  255,92,255,255                      // lcall         *-0x1(%rdi,%rdi,8)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_bgra_dst_sse41_lowp
+.globl _sk_load_bgra_dst_sse41_lowp
+FUNCTION(_sk_load_bgra_dst_sse41_lowp)
+_sk_load_bgra_dst_sse41_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,41                              // ja            3478c <_sk_load_bgra_dst_sse41_lowp+0x44>
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,242,0,0,0                 // lea           0xf2(%rip),%r9        # 34864 <_sk_load_bgra_dst_sse41_lowp+0x11c>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  102,15,239,237                      // pxor          %xmm5,%xmm5
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,65,15,110,36,144                // movd          (%r8,%rdx,4),%xmm4
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  235,89                              // jmp           347e5 <_sk_load_bgra_dst_sse41_lowp+0x9d>
+  .byte  243,65,15,111,36,144                // movdqu        (%r8,%rdx,4),%xmm4
+  .byte  243,69,15,111,68,144,16             // movdqu        0x10(%r8,%rdx,4),%xmm8
+  .byte  235,74                              // jmp           347e5 <_sk_load_bgra_dst_sse41_lowp+0x9d>
+  .byte  102,65,15,110,100,144,8             // movd          0x8(%r8,%rdx,4),%xmm4
+  .byte  102,68,15,112,196,69                // pshufd        $0x45,%xmm4,%xmm8
+  .byte  102,15,239,237                      // pxor          %xmm5,%xmm5
+  .byte  243,65,15,126,36,144                // movq          (%r8,%rdx,4),%xmm4
+  .byte  102,65,15,58,14,224,240             // pblendw       $0xf0,%xmm8,%xmm4
+  .byte  102,68,15,111,197                   // movdqa        %xmm5,%xmm8
+  .byte  235,37                              // jmp           347e5 <_sk_load_bgra_dst_sse41_lowp+0x9d>
+  .byte  102,65,15,110,100,144,24            // movd          0x18(%r8,%rdx,4),%xmm4
+  .byte  102,68,15,112,196,69                // pshufd        $0x45,%xmm4,%xmm8
+  .byte  102,69,15,58,34,68,144,20,1         // pinsrd        $0x1,0x14(%r8,%rdx,4),%xmm8
+  .byte  102,69,15,58,34,68,144,16,0         // pinsrd        $0x0,0x10(%r8,%rdx,4),%xmm8
+  .byte  243,65,15,111,36,144                // movdqu        (%r8,%rdx,4),%xmm4
+  .byte  102,15,111,53,99,142,0,0            // movdqa        0x8e63(%rip),%xmm6        # 3d650 <_sk_srcover_bgra_8888_sse2_lowp+0x1404>
+  .byte  102,15,111,236                      // movdqa        %xmm4,%xmm5
+  .byte  102,15,56,0,238                     // pshufb        %xmm6,%xmm5
+  .byte  102,65,15,111,248                   // movdqa        %xmm8,%xmm7
+  .byte  102,15,56,0,254                     // pshufb        %xmm6,%xmm7
+  .byte  102,15,108,239                      // punpcklqdq    %xmm7,%xmm5
+  .byte  102,68,15,111,13,163,134,0,0        // movdqa        0x86a3(%rip),%xmm9        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,15,111,245                      // movdqa        %xmm5,%xmm6
+  .byte  102,65,15,219,241                   // pand          %xmm9,%xmm6
+  .byte  102,15,113,213,8                    // psrlw         $0x8,%xmm5
+  .byte  102,68,15,111,21,60,142,0,0         // movdqa        0x8e3c(%rip),%xmm10        # 3d660 <_sk_srcover_bgra_8888_sse2_lowp+0x1414>
+  .byte  102,15,111,252                      // movdqa        %xmm4,%xmm7
+  .byte  102,65,15,56,0,250                  // pshufb        %xmm10,%xmm7
+  .byte  102,69,15,111,216                   // movdqa        %xmm8,%xmm11
+  .byte  102,69,15,56,0,218                  // pshufb        %xmm10,%xmm11
+  .byte  102,65,15,108,251                   // punpcklqdq    %xmm11,%xmm7
+  .byte  102,68,15,111,21,41,142,0,0         // movdqa        0x8e29(%rip),%xmm10        # 3d670 <_sk_srcover_bgra_8888_sse2_lowp+0x1424>
+  .byte  102,65,15,56,0,226                  // pshufb        %xmm10,%xmm4
+  .byte  102,69,15,56,0,194                  // pshufb        %xmm10,%xmm8
+  .byte  102,65,15,108,224                   // punpcklqdq    %xmm8,%xmm4
+  .byte  102,65,15,219,225                   // pand          %xmm9,%xmm4
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  15,31,0                             // nopl          (%rax)
+  .byte  27,255                              // sbb           %edi,%edi
+  .byte  255                                 // (bad)
+  .byte  255,72,255                          // decl          -0x1(%rax)
+  .byte  255                                 // (bad)
+  .byte  255,55                              // pushq         (%rdi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  123,255                             // jnp           34871 <_sk_load_bgra_dst_sse41_lowp+0x129>
+  .byte  255                                 // (bad)
+  .byte  255,114,255                         // pushq         -0x1(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255,105,255                         // ljmp          *-0x1(%rcx)
+  .byte  255                                 // (bad)
+  .byte  255,92,255,255                      // lcall         *-0x1(%rdi,%rdi,8)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_store_bgra_sse41_lowp
+.globl _sk_store_bgra_sse41_lowp
+FUNCTION(_sk_store_bgra_sse41_lowp)
+_sk_store_bgra_sse41_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  102,68,15,111,193                   // movdqa        %xmm1,%xmm8
+  .byte  102,65,15,113,240,8                 // psllw         $0x8,%xmm8
+  .byte  102,68,15,235,194                   // por           %xmm2,%xmm8
+  .byte  102,69,15,112,200,78                // pshufd        $0x4e,%xmm8,%xmm9
+  .byte  102,69,15,56,51,209                 // pmovzxwd      %xmm9,%xmm10
+  .byte  102,69,15,56,51,216                 // pmovzxwd      %xmm8,%xmm11
+  .byte  102,68,15,111,227                   // movdqa        %xmm3,%xmm12
+  .byte  102,65,15,113,244,8                 // psllw         $0x8,%xmm12
+  .byte  102,68,15,235,224                   // por           %xmm0,%xmm12
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
+  .byte  102,69,15,105,204                   // punpckhwd     %xmm12,%xmm9
+  .byte  102,69,15,235,202                   // por           %xmm10,%xmm9
+  .byte  102,69,15,97,196                    // punpcklwd     %xmm12,%xmm8
+  .byte  102,69,15,235,195                   // por           %xmm11,%xmm8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,27                              // ja            34906 <_sk_store_bgra_sse41_lowp+0x86>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,87,0,0,0                  // lea           0x57(%rip),%r9        # 3494c <_sk_store_bgra_sse41_lowp+0xcc>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,69,15,126,4,144                 // movd          %xmm8,(%r8,%rdx,4)
+  .byte  235,63                              // jmp           34945 <_sk_store_bgra_sse41_lowp+0xc5>
+  .byte  243,69,15,127,4,144                 // movdqu        %xmm8,(%r8,%rdx,4)
+  .byte  243,69,15,127,76,144,16             // movdqu        %xmm9,0x10(%r8,%rdx,4)
+  .byte  235,48                              // jmp           34945 <_sk_store_bgra_sse41_lowp+0xc5>
+  .byte  102,69,15,58,22,68,144,8,2          // pextrd        $0x2,%xmm8,0x8(%r8,%rdx,4)
+  .byte  102,69,15,214,4,144                 // movq          %xmm8,(%r8,%rdx,4)
+  .byte  235,31                              // jmp           34945 <_sk_store_bgra_sse41_lowp+0xc5>
+  .byte  102,69,15,58,22,76,144,24,2         // pextrd        $0x2,%xmm9,0x18(%r8,%rdx,4)
+  .byte  102,69,15,58,22,76,144,20,1         // pextrd        $0x1,%xmm9,0x14(%r8,%rdx,4)
+  .byte  102,69,15,126,76,144,16             // movd          %xmm9,0x10(%r8,%rdx,4)
+  .byte  243,69,15,127,4,144                 // movdqu        %xmm8,(%r8,%rdx,4)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  15,31,0                             // nopl          (%rax)
+  .byte  178,255                             // mov           $0xff,%dl
+  .byte  255                                 // (bad)
+  .byte  255,210                             // callq         *%rdx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,201                             // dec           %ecx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,243                             // push          %rbx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  236                                 // in            (%dx),%al
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,227                             // jmpq          *%rbx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  218,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_gather_8888_sse41_lowp
+.globl _sk_gather_8888_sse41_lowp
+FUNCTION(_sk_gather_8888_sse41_lowp)
+_sk_gather_8888_sse41_lowp:
+  .byte  85                                  // push          %rbp
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,64,12                  // movss         0xc(%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  102,69,15,118,201                   // pcmpeqd       %xmm9,%xmm9
+  .byte  102,69,15,254,193                   // paddd         %xmm9,%xmm8
+  .byte  69,15,87,210                        // xorps         %xmm10,%xmm10
+  .byte  65,15,95,194                        // maxps         %xmm10,%xmm0
+  .byte  65,15,95,202                        // maxps         %xmm10,%xmm1
+  .byte  65,15,93,200                        // minps         %xmm8,%xmm1
+  .byte  65,15,93,192                        // minps         %xmm8,%xmm0
+  .byte  243,68,15,16,64,16                  // movss         0x10(%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  102,69,15,254,193                   // paddd         %xmm9,%xmm8
+  .byte  65,15,95,218                        // maxps         %xmm10,%xmm3
+  .byte  65,15,95,210                        // maxps         %xmm10,%xmm2
+  .byte  65,15,93,208                        // minps         %xmm8,%xmm2
+  .byte  65,15,93,216                        // minps         %xmm8,%xmm3
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  243,68,15,91,195                    // cvttps2dq     %xmm3,%xmm8
+  .byte  243,15,91,210                       // cvttps2dq     %xmm2,%xmm2
+  .byte  102,15,110,88,8                     // movd          0x8(%rax),%xmm3
+  .byte  102,15,112,219,0                    // pshufd        $0x0,%xmm3,%xmm3
+  .byte  102,15,56,64,211                    // pmulld        %xmm3,%xmm2
+  .byte  102,68,15,56,64,195                 // pmulld        %xmm3,%xmm8
+  .byte  243,15,91,192                       // cvttps2dq     %xmm0,%xmm0
+  .byte  102,15,254,194                      // paddd         %xmm2,%xmm0
+  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
+  .byte  102,65,15,254,200                   // paddd         %xmm8,%xmm1
+  .byte  102,72,15,58,22,200,1               // pextrq        $0x1,%xmm1,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  102,73,15,126,202                   // movq          %xmm1,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  102,72,15,58,22,195,1               // pextrq        $0x1,%xmm0,%rbx
+  .byte  65,137,222                          // mov           %ebx,%r14d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  102,73,15,126,199                   // movq          %xmm0,%r15
+  .byte  69,137,252                          // mov           %r15d,%r12d
+  .byte  73,193,239,32                       // shr           $0x20,%r15
+  .byte  67,139,44,184                       // mov           (%r8,%r15,4),%ebp
+  .byte  71,139,52,176                       // mov           (%r8,%r14,4),%r14d
+  .byte  65,139,28,152                       // mov           (%r8,%rbx,4),%ebx
+  .byte  71,139,28,152                       // mov           (%r8,%r11,4),%r11d
+  .byte  71,139,20,144                       // mov           (%r8,%r10,4),%r10d
+  .byte  71,139,12,136                       // mov           (%r8,%r9,4),%r9d
+  .byte  65,139,4,128                        // mov           (%r8,%rax,4),%eax
+  .byte  102,69,15,110,195                   // movd          %r11d,%xmm8
+  .byte  102,69,15,58,34,194,1               // pinsrd        $0x1,%r10d,%xmm8
+  .byte  102,69,15,58,34,193,2               // pinsrd        $0x2,%r9d,%xmm8
+  .byte  102,68,15,58,34,192,3               // pinsrd        $0x3,%eax,%xmm8
+  .byte  102,67,15,110,12,160                // movd          (%r8,%r12,4),%xmm1
+  .byte  102,15,111,209                      // movdqa        %xmm1,%xmm2
+  .byte  102,15,58,34,213,1                  // pinsrd        $0x1,%ebp,%xmm2
+  .byte  102,65,15,58,34,214,2               // pinsrd        $0x2,%r14d,%xmm2
+  .byte  102,15,58,34,211,3                  // pinsrd        $0x3,%ebx,%xmm2
+  .byte  102,15,196,205,1                    // pinsrw        $0x1,%ebp,%xmm1
+  .byte  102,65,15,196,206,2                 // pinsrw        $0x2,%r14d,%xmm1
+  .byte  102,15,196,203,3                    // pinsrw        $0x3,%ebx,%xmm1
+  .byte  102,65,15,196,203,4                 // pinsrw        $0x4,%r11d,%xmm1
+  .byte  102,65,15,196,202,5                 // pinsrw        $0x5,%r10d,%xmm1
+  .byte  102,65,15,196,201,6                 // pinsrw        $0x6,%r9d,%xmm1
+  .byte  102,15,196,200,7                    // pinsrw        $0x7,%eax,%xmm1
+  .byte  102,68,15,111,13,12,132,0,0         // movdqa        0x840c(%rip),%xmm9        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,65,15,219,193                   // pand          %xmm9,%xmm0
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,68,15,111,21,165,139,0,0        // movdqa        0x8ba5(%rip),%xmm10        # 3d660 <_sk_srcover_bgra_8888_sse2_lowp+0x1414>
+  .byte  102,15,111,218                      // movdqa        %xmm2,%xmm3
+  .byte  102,65,15,56,0,218                  // pshufb        %xmm10,%xmm3
+  .byte  102,69,15,111,216                   // movdqa        %xmm8,%xmm11
+  .byte  102,69,15,56,0,218                  // pshufb        %xmm10,%xmm11
+  .byte  102,65,15,108,219                   // punpcklqdq    %xmm11,%xmm3
+  .byte  102,68,15,111,21,146,139,0,0        // movdqa        0x8b92(%rip),%xmm10        # 3d670 <_sk_srcover_bgra_8888_sse2_lowp+0x1424>
+  .byte  102,65,15,56,0,210                  // pshufb        %xmm10,%xmm2
+  .byte  102,69,15,56,0,194                  // pshufb        %xmm10,%xmm8
+  .byte  102,65,15,108,208                   // punpcklqdq    %xmm8,%xmm2
+  .byte  102,65,15,219,209                   // pand          %xmm9,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  93                                  // pop           %rbp
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_gather_bgra_sse41_lowp
+.globl _sk_gather_bgra_sse41_lowp
+FUNCTION(_sk_gather_bgra_sse41_lowp)
+_sk_gather_bgra_sse41_lowp:
+  .byte  85                                  // push          %rbp
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,64,12                  // movss         0xc(%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  102,69,15,118,201                   // pcmpeqd       %xmm9,%xmm9
+  .byte  102,69,15,254,193                   // paddd         %xmm9,%xmm8
+  .byte  69,15,87,210                        // xorps         %xmm10,%xmm10
+  .byte  65,15,95,194                        // maxps         %xmm10,%xmm0
+  .byte  65,15,95,202                        // maxps         %xmm10,%xmm1
+  .byte  65,15,93,200                        // minps         %xmm8,%xmm1
+  .byte  65,15,93,192                        // minps         %xmm8,%xmm0
+  .byte  243,68,15,16,64,16                  // movss         0x10(%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  102,69,15,254,193                   // paddd         %xmm9,%xmm8
+  .byte  65,15,95,218                        // maxps         %xmm10,%xmm3
+  .byte  65,15,95,210                        // maxps         %xmm10,%xmm2
+  .byte  65,15,93,208                        // minps         %xmm8,%xmm2
+  .byte  65,15,93,216                        // minps         %xmm8,%xmm3
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  243,68,15,91,195                    // cvttps2dq     %xmm3,%xmm8
+  .byte  243,15,91,210                       // cvttps2dq     %xmm2,%xmm2
+  .byte  102,15,110,88,8                     // movd          0x8(%rax),%xmm3
+  .byte  102,15,112,219,0                    // pshufd        $0x0,%xmm3,%xmm3
+  .byte  102,15,56,64,211                    // pmulld        %xmm3,%xmm2
+  .byte  102,68,15,56,64,195                 // pmulld        %xmm3,%xmm8
+  .byte  243,15,91,192                       // cvttps2dq     %xmm0,%xmm0
+  .byte  102,15,254,194                      // paddd         %xmm2,%xmm0
+  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
+  .byte  102,65,15,254,200                   // paddd         %xmm8,%xmm1
+  .byte  102,72,15,58,22,200,1               // pextrq        $0x1,%xmm1,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  102,73,15,126,202                   // movq          %xmm1,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  102,72,15,58,22,195,1               // pextrq        $0x1,%xmm0,%rbx
+  .byte  65,137,222                          // mov           %ebx,%r14d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  102,73,15,126,199                   // movq          %xmm0,%r15
+  .byte  69,137,252                          // mov           %r15d,%r12d
+  .byte  73,193,239,32                       // shr           $0x20,%r15
+  .byte  67,139,44,184                       // mov           (%r8,%r15,4),%ebp
+  .byte  71,139,52,176                       // mov           (%r8,%r14,4),%r14d
+  .byte  65,139,28,152                       // mov           (%r8,%rbx,4),%ebx
+  .byte  71,139,28,152                       // mov           (%r8,%r11,4),%r11d
+  .byte  71,139,20,144                       // mov           (%r8,%r10,4),%r10d
+  .byte  71,139,12,136                       // mov           (%r8,%r9,4),%r9d
+  .byte  65,139,4,128                        // mov           (%r8,%rax,4),%eax
+  .byte  102,69,15,110,195                   // movd          %r11d,%xmm8
+  .byte  102,69,15,58,34,194,1               // pinsrd        $0x1,%r10d,%xmm8
+  .byte  102,69,15,58,34,193,2               // pinsrd        $0x2,%r9d,%xmm8
+  .byte  102,68,15,58,34,192,3               // pinsrd        $0x3,%eax,%xmm8
+  .byte  102,67,15,110,12,160                // movd          (%r8,%r12,4),%xmm1
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,15,58,34,197,1                  // pinsrd        $0x1,%ebp,%xmm0
+  .byte  102,65,15,58,34,198,2               // pinsrd        $0x2,%r14d,%xmm0
+  .byte  102,15,58,34,195,3                  // pinsrd        $0x3,%ebx,%xmm0
+  .byte  102,15,196,205,1                    // pinsrw        $0x1,%ebp,%xmm1
+  .byte  102,65,15,196,206,2                 // pinsrw        $0x2,%r14d,%xmm1
+  .byte  102,15,196,203,3                    // pinsrw        $0x3,%ebx,%xmm1
+  .byte  102,65,15,196,203,4                 // pinsrw        $0x4,%r11d,%xmm1
+  .byte  102,65,15,196,202,5                 // pinsrw        $0x5,%r10d,%xmm1
+  .byte  102,65,15,196,201,6                 // pinsrw        $0x6,%r9d,%xmm1
+  .byte  102,15,196,200,7                    // pinsrw        $0x7,%eax,%xmm1
+  .byte  102,68,15,111,13,116,130,0,0        // movdqa        0x8274(%rip),%xmm9        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,15,111,209                      // movdqa        %xmm1,%xmm2
+  .byte  102,65,15,219,209                   // pand          %xmm9,%xmm2
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,68,15,111,21,13,138,0,0         // movdqa        0x8a0d(%rip),%xmm10        # 3d660 <_sk_srcover_bgra_8888_sse2_lowp+0x1414>
+  .byte  102,15,111,216                      // movdqa        %xmm0,%xmm3
+  .byte  102,65,15,56,0,218                  // pshufb        %xmm10,%xmm3
+  .byte  102,69,15,111,216                   // movdqa        %xmm8,%xmm11
+  .byte  102,69,15,56,0,218                  // pshufb        %xmm10,%xmm11
+  .byte  102,65,15,108,219                   // punpcklqdq    %xmm11,%xmm3
+  .byte  102,68,15,111,21,250,137,0,0        // movdqa        0x89fa(%rip),%xmm10        # 3d670 <_sk_srcover_bgra_8888_sse2_lowp+0x1424>
+  .byte  102,65,15,56,0,194                  // pshufb        %xmm10,%xmm0
+  .byte  102,69,15,56,0,194                  // pshufb        %xmm10,%xmm8
+  .byte  102,65,15,108,192                   // punpcklqdq    %xmm8,%xmm0
+  .byte  102,65,15,219,193                   // pand          %xmm9,%xmm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  93                                  // pop           %rbp
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_load_565_sse41_lowp
+.globl _sk_load_565_sse41_lowp
+FUNCTION(_sk_load_565_sse41_lowp)
+_sk_load_565_sse41_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,34                              // ja            34cd4 <_sk_load_565_sse41_lowp+0x3c>
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,196,0,0,0                 // lea           0xc4(%rip),%r9        # 34d84 <_sk_load_565_sse41_lowp+0xec>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  102,15,110,192                      // movd          %eax,%xmm0
+  .byte  235,74                              // jmp           34d1e <_sk_load_565_sse41_lowp+0x86>
+  .byte  243,65,15,111,4,80                  // movdqu        (%r8,%rdx,2),%xmm0
+  .byte  235,66                              // jmp           34d1e <_sk_load_565_sse41_lowp+0x86>
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  102,65,15,196,76,80,4,2             // pinsrw        $0x2,0x4(%r8,%rdx,2),%xmm1
+  .byte  102,65,15,110,4,80                  // movd          (%r8,%rdx,2),%xmm0
+  .byte  102,15,58,14,193,252                // pblendw       $0xfc,%xmm1,%xmm0
+  .byte  235,40                              // jmp           34d1e <_sk_load_565_sse41_lowp+0x86>
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  102,65,15,196,76,80,12,6            // pinsrw        $0x6,0xc(%r8,%rdx,2),%xmm1
+  .byte  102,65,15,196,76,80,10,5            // pinsrw        $0x5,0xa(%r8,%rdx,2),%xmm1
+  .byte  102,65,15,196,76,80,8,4             // pinsrw        $0x4,0x8(%r8,%rdx,2),%xmm1
+  .byte  243,65,15,126,4,80                  // movq          (%r8,%rdx,2),%xmm0
+  .byte  102,15,58,14,193,240                // pblendw       $0xf0,%xmm1,%xmm0
+  .byte  102,15,111,216                      // movdqa        %xmm0,%xmm3
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  102,15,219,29,81,137,0,0            // pand          0x8951(%rip),%xmm3        # 3d680 <_sk_srcover_bgra_8888_sse2_lowp+0x1434>
+  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
+  .byte  102,15,113,209,5                    // psrlw         $0x5,%xmm1
+  .byte  102,15,219,13,80,137,0,0            // pand          0x8950(%rip),%xmm1        # 3d690 <_sk_srcover_bgra_8888_sse2_lowp+0x1444>
+  .byte  102,15,111,21,88,137,0,0            // movdqa        0x8958(%rip),%xmm2        # 3d6a0 <_sk_srcover_bgra_8888_sse2_lowp+0x1454>
+  .byte  102,15,219,208                      // pand          %xmm0,%xmm2
+  .byte  102,15,113,208,13                   // psrlw         $0xd,%xmm0
+  .byte  102,15,235,195                      // por           %xmm3,%xmm0
+  .byte  102,15,111,217                      // movdqa        %xmm1,%xmm3
+  .byte  102,15,113,243,2                    // psllw         $0x2,%xmm3
+  .byte  102,15,113,209,4                    // psrlw         $0x4,%xmm1
+  .byte  102,15,235,203                      // por           %xmm3,%xmm1
+  .byte  102,15,111,218                      // movdqa        %xmm2,%xmm3
+  .byte  102,15,113,243,3                    // psllw         $0x3,%xmm3
+  .byte  102,15,113,210,2                    // psrlw         $0x2,%xmm2
+  .byte  102,15,235,211                      // por           %xmm3,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,29,46,129,0,0                 // movaps        0x812e(%rip),%xmm3        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  255,224                             // jmpq          *%rax
+  .byte  69,255                              // rex.RB        (bad)
+  .byte  255                                 // (bad)
+  .byte  255,100,255,255                     // jmpq          *-0x1(%rdi,%rdi,8)
+  .byte  255,88,255                          // lcall         *-0x1(%rax)
+  .byte  255                                 // (bad)
+  .byte  255,142,255,255,255,134             // decl          -0x79000001(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  126,255                             // jle           34d99 <_sk_load_565_sse41_lowp+0x101>
+  .byte  255                                 // (bad)
+  .byte  255,114,255                         // pushq         -0x1(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_565_dst_sse41_lowp
+.globl _sk_load_565_dst_sse41_lowp
+FUNCTION(_sk_load_565_dst_sse41_lowp)
+_sk_load_565_dst_sse41_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,34                              // ja            34ddc <_sk_load_565_dst_sse41_lowp+0x3c>
+  .byte  102,15,239,237                      // pxor          %xmm5,%xmm5
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,196,0,0,0                 // lea           0xc4(%rip),%r9        # 34e8c <_sk_load_565_dst_sse41_lowp+0xec>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  102,15,110,224                      // movd          %eax,%xmm4
+  .byte  235,74                              // jmp           34e26 <_sk_load_565_dst_sse41_lowp+0x86>
+  .byte  243,65,15,111,36,80                 // movdqu        (%r8,%rdx,2),%xmm4
+  .byte  235,66                              // jmp           34e26 <_sk_load_565_dst_sse41_lowp+0x86>
+  .byte  102,15,239,237                      // pxor          %xmm5,%xmm5
+  .byte  102,65,15,196,108,80,4,2            // pinsrw        $0x2,0x4(%r8,%rdx,2),%xmm5
+  .byte  102,65,15,110,36,80                 // movd          (%r8,%rdx,2),%xmm4
+  .byte  102,15,58,14,229,252                // pblendw       $0xfc,%xmm5,%xmm4
+  .byte  235,40                              // jmp           34e26 <_sk_load_565_dst_sse41_lowp+0x86>
+  .byte  102,15,239,237                      // pxor          %xmm5,%xmm5
+  .byte  102,65,15,196,108,80,12,6           // pinsrw        $0x6,0xc(%r8,%rdx,2),%xmm5
+  .byte  102,65,15,196,108,80,10,5           // pinsrw        $0x5,0xa(%r8,%rdx,2),%xmm5
+  .byte  102,65,15,196,108,80,8,4            // pinsrw        $0x4,0x8(%r8,%rdx,2),%xmm5
+  .byte  243,65,15,126,36,80                 // movq          (%r8,%rdx,2),%xmm4
+  .byte  102,15,58,14,229,240                // pblendw       $0xf0,%xmm5,%xmm4
+  .byte  102,15,111,252                      // movdqa        %xmm4,%xmm7
+  .byte  102,15,113,215,8                    // psrlw         $0x8,%xmm7
+  .byte  102,15,219,61,73,136,0,0            // pand          0x8849(%rip),%xmm7        # 3d680 <_sk_srcover_bgra_8888_sse2_lowp+0x1434>
+  .byte  102,15,111,236                      // movdqa        %xmm4,%xmm5
+  .byte  102,15,113,213,5                    // psrlw         $0x5,%xmm5
+  .byte  102,15,219,45,72,136,0,0            // pand          0x8848(%rip),%xmm5        # 3d690 <_sk_srcover_bgra_8888_sse2_lowp+0x1444>
+  .byte  102,15,111,53,80,136,0,0            // movdqa        0x8850(%rip),%xmm6        # 3d6a0 <_sk_srcover_bgra_8888_sse2_lowp+0x1454>
+  .byte  102,15,219,244                      // pand          %xmm4,%xmm6
+  .byte  102,15,113,212,13                   // psrlw         $0xd,%xmm4
+  .byte  102,15,235,231                      // por           %xmm7,%xmm4
+  .byte  102,15,111,253                      // movdqa        %xmm5,%xmm7
+  .byte  102,15,113,247,2                    // psllw         $0x2,%xmm7
+  .byte  102,15,113,213,4                    // psrlw         $0x4,%xmm5
+  .byte  102,15,235,239                      // por           %xmm7,%xmm5
+  .byte  102,15,111,254                      // movdqa        %xmm6,%xmm7
+  .byte  102,15,113,247,3                    // psllw         $0x3,%xmm7
+  .byte  102,15,113,214,2                    // psrlw         $0x2,%xmm6
+  .byte  102,15,235,247                      // por           %xmm7,%xmm6
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,61,38,128,0,0                 // movaps        0x8026(%rip),%xmm7        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  255,224                             // jmpq          *%rax
+  .byte  69,255                              // rex.RB        (bad)
+  .byte  255                                 // (bad)
+  .byte  255,100,255,255                     // jmpq          *-0x1(%rdi,%rdi,8)
+  .byte  255,88,255                          // lcall         *-0x1(%rax)
+  .byte  255                                 // (bad)
+  .byte  255,142,255,255,255,134             // decl          -0x79000001(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  126,255                             // jle           34ea1 <_sk_load_565_dst_sse41_lowp+0x101>
+  .byte  255                                 // (bad)
+  .byte  255,114,255                         // pushq         -0x1(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_store_565_sse41_lowp
+.globl _sk_store_565_sse41_lowp
+FUNCTION(_sk_store_565_sse41_lowp)
+_sk_store_565_sse41_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  102,68,15,111,192                   // movdqa        %xmm0,%xmm8
+  .byte  102,65,15,113,240,8                 // psllw         $0x8,%xmm8
+  .byte  102,68,15,219,5,228,135,0,0         // pand          0x87e4(%rip),%xmm8        # 3d6b0 <_sk_srcover_bgra_8888_sse2_lowp+0x1464>
+  .byte  102,68,15,111,201                   // movdqa        %xmm1,%xmm9
+  .byte  102,65,15,113,241,3                 // psllw         $0x3,%xmm9
+  .byte  102,68,15,219,13,224,135,0,0        // pand          0x87e0(%rip),%xmm9        # 3d6c0 <_sk_srcover_bgra_8888_sse2_lowp+0x1474>
+  .byte  102,69,15,235,200                   // por           %xmm8,%xmm9
+  .byte  102,68,15,111,194                   // movdqa        %xmm2,%xmm8
+  .byte  102,65,15,113,208,3                 // psrlw         $0x3,%xmm8
+  .byte  102,69,15,235,193                   // por           %xmm9,%xmm8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,29                              // ja            34f1c <_sk_store_565_sse41_lowp+0x74>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,83,0,0,0                  // lea           0x53(%rip),%r9        # 34f5c <_sk_store_565_sse41_lowp+0xb4>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,69,15,58,21,4,80,0              // pextrw        $0x0,%xmm8,(%r8,%rdx,2)
+  .byte  235,58                              // jmp           34f56 <_sk_store_565_sse41_lowp+0xae>
+  .byte  243,69,15,127,4,80                  // movdqu        %xmm8,(%r8,%rdx,2)
+  .byte  235,50                              // jmp           34f56 <_sk_store_565_sse41_lowp+0xae>
+  .byte  102,69,15,58,21,68,80,4,2           // pextrw        $0x2,%xmm8,0x4(%r8,%rdx,2)
+  .byte  102,69,15,126,4,80                  // movd          %xmm8,(%r8,%rdx,2)
+  .byte  235,33                              // jmp           34f56 <_sk_store_565_sse41_lowp+0xae>
+  .byte  102,69,15,58,21,68,80,12,6          // pextrw        $0x6,%xmm8,0xc(%r8,%rdx,2)
+  .byte  102,69,15,58,21,68,80,10,5          // pextrw        $0x5,%xmm8,0xa(%r8,%rdx,2)
+  .byte  102,69,15,58,21,68,80,8,4           // pextrw        $0x4,%xmm8,0x8(%r8,%rdx,2)
+  .byte  102,69,15,214,4,80                  // movq          %xmm8,(%r8,%rdx,2)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  182,255                             // mov           $0xff,%dh
+  .byte  255                                 // (bad)
+  .byte  255,209                             // callq         *%rcx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,200                             // dec           %eax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,244                             // push          %rsp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  235,255                             // jmp           34f6d <_sk_store_565_sse41_lowp+0xc5>
+  .byte  255                                 // (bad)
+  .byte  255,226                             // jmpq          *%rdx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  217,255                             // fcos
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_gather_565_sse41_lowp
+.globl _sk_gather_565_sse41_lowp
+FUNCTION(_sk_gather_565_sse41_lowp)
+_sk_gather_565_sse41_lowp:
+  .byte  85                                  // push          %rbp
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,64,12                  // movss         0xc(%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  102,69,15,118,201                   // pcmpeqd       %xmm9,%xmm9
+  .byte  102,69,15,254,193                   // paddd         %xmm9,%xmm8
+  .byte  69,15,87,210                        // xorps         %xmm10,%xmm10
+  .byte  65,15,95,194                        // maxps         %xmm10,%xmm0
+  .byte  65,15,95,202                        // maxps         %xmm10,%xmm1
+  .byte  65,15,93,200                        // minps         %xmm8,%xmm1
+  .byte  65,15,93,192                        // minps         %xmm8,%xmm0
+  .byte  243,68,15,16,64,16                  // movss         0x10(%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  102,69,15,254,193                   // paddd         %xmm9,%xmm8
+  .byte  65,15,95,218                        // maxps         %xmm10,%xmm3
+  .byte  65,15,95,210                        // maxps         %xmm10,%xmm2
+  .byte  65,15,93,208                        // minps         %xmm8,%xmm2
+  .byte  65,15,93,216                        // minps         %xmm8,%xmm3
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  243,68,15,91,195                    // cvttps2dq     %xmm3,%xmm8
+  .byte  243,15,91,210                       // cvttps2dq     %xmm2,%xmm2
+  .byte  102,15,110,88,8                     // movd          0x8(%rax),%xmm3
+  .byte  102,15,112,219,0                    // pshufd        $0x0,%xmm3,%xmm3
+  .byte  102,15,56,64,211                    // pmulld        %xmm3,%xmm2
+  .byte  102,68,15,56,64,195                 // pmulld        %xmm3,%xmm8
+  .byte  243,15,91,192                       // cvttps2dq     %xmm0,%xmm0
+  .byte  102,15,254,194                      // paddd         %xmm2,%xmm0
+  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
+  .byte  102,65,15,254,200                   // paddd         %xmm8,%xmm1
+  .byte  102,72,15,58,22,200,1               // pextrq        $0x1,%xmm1,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  102,73,15,126,202                   // movq          %xmm1,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  102,72,15,58,22,195,1               // pextrq        $0x1,%xmm0,%rbx
+  .byte  65,137,222                          // mov           %ebx,%r14d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  102,73,15,126,199                   // movq          %xmm0,%r15
+  .byte  69,137,252                          // mov           %r15d,%r12d
+  .byte  73,193,239,32                       // shr           $0x20,%r15
+  .byte  71,15,183,60,120                    // movzwl        (%r8,%r15,2),%r15d
+  .byte  67,15,183,44,96                     // movzwl        (%r8,%r12,2),%ebp
+  .byte  102,15,110,197                      // movd          %ebp,%xmm0
+  .byte  102,65,15,196,199,1                 // pinsrw        $0x1,%r15d,%xmm0
+  .byte  67,15,183,44,112                    // movzwl        (%r8,%r14,2),%ebp
+  .byte  102,15,196,197,2                    // pinsrw        $0x2,%ebp,%xmm0
+  .byte  65,15,183,28,88                     // movzwl        (%r8,%rbx,2),%ebx
+  .byte  102,15,196,195,3                    // pinsrw        $0x3,%ebx,%xmm0
+  .byte  67,15,183,44,88                     // movzwl        (%r8,%r11,2),%ebp
+  .byte  102,15,196,197,4                    // pinsrw        $0x4,%ebp,%xmm0
+  .byte  67,15,183,44,80                     // movzwl        (%r8,%r10,2),%ebp
+  .byte  102,15,196,197,5                    // pinsrw        $0x5,%ebp,%xmm0
+  .byte  67,15,183,44,72                     // movzwl        (%r8,%r9,2),%ebp
+  .byte  102,15,196,197,6                    // pinsrw        $0x6,%ebp,%xmm0
+  .byte  65,15,183,4,64                      // movzwl        (%r8,%rax,2),%eax
+  .byte  102,15,196,192,7                    // pinsrw        $0x7,%eax,%xmm0
+  .byte  102,15,111,216                      // movdqa        %xmm0,%xmm3
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  102,15,219,29,238,133,0,0           // pand          0x85ee(%rip),%xmm3        # 3d680 <_sk_srcover_bgra_8888_sse2_lowp+0x1434>
+  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
+  .byte  102,15,113,209,5                    // psrlw         $0x5,%xmm1
+  .byte  102,15,219,13,237,133,0,0           // pand          0x85ed(%rip),%xmm1        # 3d690 <_sk_srcover_bgra_8888_sse2_lowp+0x1444>
+  .byte  102,15,111,21,245,133,0,0           // movdqa        0x85f5(%rip),%xmm2        # 3d6a0 <_sk_srcover_bgra_8888_sse2_lowp+0x1454>
+  .byte  102,15,219,208                      // pand          %xmm0,%xmm2
+  .byte  102,15,113,208,13                   // psrlw         $0xd,%xmm0
+  .byte  102,15,235,195                      // por           %xmm3,%xmm0
+  .byte  102,15,111,217                      // movdqa        %xmm1,%xmm3
+  .byte  102,15,113,243,2                    // psllw         $0x2,%xmm3
+  .byte  102,15,113,209,4                    // psrlw         $0x4,%xmm1
+  .byte  102,15,235,203                      // por           %xmm3,%xmm1
+  .byte  102,15,111,218                      // movdqa        %xmm2,%xmm3
+  .byte  102,15,113,243,3                    // psllw         $0x3,%xmm3
+  .byte  102,15,113,210,2                    // psrlw         $0x2,%xmm2
+  .byte  102,15,235,211                      // por           %xmm3,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,29,203,125,0,0                // movaps        0x7dcb(%rip),%xmm3        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  93                                  // pop           %rbp
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_load_4444_sse41_lowp
+.globl _sk_load_4444_sse41_lowp
+FUNCTION(_sk_load_4444_sse41_lowp)
+_sk_load_4444_sse41_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,35                              // ja            3512c <_sk_load_4444_sse41_lowp+0x3d>
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,209,0,0,0                 // lea           0xd1(%rip),%r9        # 351e8 <_sk_load_4444_sse41_lowp+0xf9>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
+  .byte  235,76                              // jmp           35178 <_sk_load_4444_sse41_lowp+0x89>
+  .byte  243,69,15,111,4,80                  // movdqu        (%r8,%rdx,2),%xmm8
+  .byte  235,68                              // jmp           35178 <_sk_load_4444_sse41_lowp+0x89>
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  102,65,15,196,68,80,4,2             // pinsrw        $0x2,0x4(%r8,%rdx,2),%xmm0
+  .byte  102,69,15,110,4,80                  // movd          (%r8,%rdx,2),%xmm8
+  .byte  102,68,15,58,14,192,252             // pblendw       $0xfc,%xmm0,%xmm8
+  .byte  235,41                              // jmp           35178 <_sk_load_4444_sse41_lowp+0x89>
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  102,65,15,196,68,80,12,6            // pinsrw        $0x6,0xc(%r8,%rdx,2),%xmm0
+  .byte  102,65,15,196,68,80,10,5            // pinsrw        $0x5,0xa(%r8,%rdx,2),%xmm0
+  .byte  102,65,15,196,68,80,8,4             // pinsrw        $0x4,0x8(%r8,%rdx,2),%xmm0
+  .byte  243,69,15,126,4,80                  // movq          (%r8,%rdx,2),%xmm8
+  .byte  102,68,15,58,14,192,240             // pblendw       $0xf0,%xmm0,%xmm8
+  .byte  102,65,15,111,200                   // movdqa        %xmm8,%xmm1
+  .byte  102,15,113,209,12                   // psrlw         $0xc,%xmm1
+  .byte  102,65,15,111,208                   // movdqa        %xmm8,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,111,5,60,133,0,0             // movdqa        0x853c(%rip),%xmm0        # 3d6d0 <_sk_srcover_bgra_8888_sse2_lowp+0x1484>
+  .byte  102,15,219,208                      // pand          %xmm0,%xmm2
+  .byte  102,65,15,111,216                   // movdqa        %xmm8,%xmm3
+  .byte  102,15,113,211,4                    // psrlw         $0x4,%xmm3
+  .byte  102,15,219,216                      // pand          %xmm0,%xmm3
+  .byte  102,68,15,219,192                   // pand          %xmm0,%xmm8
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,15,113,240,4                    // psllw         $0x4,%xmm0
+  .byte  102,15,235,193                      // por           %xmm1,%xmm0
+  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
+  .byte  102,15,113,241,4                    // psllw         $0x4,%xmm1
+  .byte  102,15,235,202                      // por           %xmm2,%xmm1
+  .byte  102,15,111,211                      // movdqa        %xmm3,%xmm2
+  .byte  102,15,113,242,4                    // psllw         $0x4,%xmm2
+  .byte  102,15,235,211                      // por           %xmm3,%xmm2
+  .byte  102,65,15,111,216                   // movdqa        %xmm8,%xmm3
+  .byte  102,15,113,243,4                    // psllw         $0x4,%xmm3
+  .byte  102,65,15,235,216                   // por           %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  15,31,0                             // nopl          (%rax)
+  .byte  56,255                              // cmp           %bh,%bh
+  .byte  255                                 // (bad)
+  .byte  255,88,255                          // lcall         *-0x1(%rax)
+  .byte  255                                 // (bad)
+  .byte  255,76,255,255                      // decl          -0x1(%rdi,%rdi,8)
+  .byte  255,131,255,255,255,123             // incl          0x7bffffff(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,115,255                         // pushq         -0x1(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255,103,255                         // jmpq          *-0x1(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_4444_dst_sse41_lowp
+.globl _sk_load_4444_dst_sse41_lowp
+FUNCTION(_sk_load_4444_dst_sse41_lowp)
+_sk_load_4444_dst_sse41_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,35                              // ja            35241 <_sk_load_4444_dst_sse41_lowp+0x3d>
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,208,0,0,0                 // lea           0xd0(%rip),%r9        # 352fc <_sk_load_4444_dst_sse41_lowp+0xf8>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
+  .byte  235,76                              // jmp           3528d <_sk_load_4444_dst_sse41_lowp+0x89>
+  .byte  243,69,15,111,4,80                  // movdqu        (%r8,%rdx,2),%xmm8
+  .byte  235,68                              // jmp           3528d <_sk_load_4444_dst_sse41_lowp+0x89>
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  102,65,15,196,100,80,4,2            // pinsrw        $0x2,0x4(%r8,%rdx,2),%xmm4
+  .byte  102,69,15,110,4,80                  // movd          (%r8,%rdx,2),%xmm8
+  .byte  102,68,15,58,14,196,252             // pblendw       $0xfc,%xmm4,%xmm8
+  .byte  235,41                              // jmp           3528d <_sk_load_4444_dst_sse41_lowp+0x89>
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  102,65,15,196,100,80,12,6           // pinsrw        $0x6,0xc(%r8,%rdx,2),%xmm4
+  .byte  102,65,15,196,100,80,10,5           // pinsrw        $0x5,0xa(%r8,%rdx,2),%xmm4
+  .byte  102,65,15,196,100,80,8,4            // pinsrw        $0x4,0x8(%r8,%rdx,2),%xmm4
+  .byte  243,69,15,126,4,80                  // movq          (%r8,%rdx,2),%xmm8
+  .byte  102,68,15,58,14,196,240             // pblendw       $0xf0,%xmm4,%xmm8
+  .byte  102,65,15,111,232                   // movdqa        %xmm8,%xmm5
+  .byte  102,15,113,213,12                   // psrlw         $0xc,%xmm5
+  .byte  102,65,15,111,240                   // movdqa        %xmm8,%xmm6
+  .byte  102,15,113,214,8                    // psrlw         $0x8,%xmm6
+  .byte  102,15,111,37,39,132,0,0            // movdqa        0x8427(%rip),%xmm4        # 3d6d0 <_sk_srcover_bgra_8888_sse2_lowp+0x1484>
+  .byte  102,15,219,244                      // pand          %xmm4,%xmm6
+  .byte  102,65,15,111,248                   // movdqa        %xmm8,%xmm7
+  .byte  102,15,113,215,4                    // psrlw         $0x4,%xmm7
+  .byte  102,15,219,252                      // pand          %xmm4,%xmm7
+  .byte  102,68,15,219,196                   // pand          %xmm4,%xmm8
+  .byte  102,15,111,229                      // movdqa        %xmm5,%xmm4
+  .byte  102,15,113,244,4                    // psllw         $0x4,%xmm4
+  .byte  102,15,235,229                      // por           %xmm5,%xmm4
+  .byte  102,15,111,238                      // movdqa        %xmm6,%xmm5
+  .byte  102,15,113,245,4                    // psllw         $0x4,%xmm5
+  .byte  102,15,235,238                      // por           %xmm6,%xmm5
+  .byte  102,15,111,247                      // movdqa        %xmm7,%xmm6
+  .byte  102,15,113,246,4                    // psllw         $0x4,%xmm6
+  .byte  102,15,235,247                      // por           %xmm7,%xmm6
+  .byte  102,65,15,111,248                   // movdqa        %xmm8,%xmm7
+  .byte  102,15,113,247,4                    // psllw         $0x4,%xmm7
+  .byte  102,65,15,235,248                   // por           %xmm8,%xmm7
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  57,255                              // cmp           %edi,%edi
+  .byte  255                                 // (bad)
+  .byte  255,89,255                          // lcall         *-0x1(%rcx)
+  .byte  255                                 // (bad)
+  .byte  255,77,255                          // decl          -0x1(%rbp)
+  .byte  255                                 // (bad)
+  .byte  255,132,255,255,255,124,255         // incl          -0x830001(%rdi,%rdi,8)
+  .byte  255                                 // (bad)
+  .byte  255,116,255,255                     // pushq         -0x1(%rdi,%rdi,8)
+  .byte  255,104,255                         // ljmp          *-0x1(%rax)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_store_4444_sse41_lowp
+.globl _sk_store_4444_sse41_lowp
+FUNCTION(_sk_store_4444_sse41_lowp)
+_sk_store_4444_sse41_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  102,68,15,111,192                   // movdqa        %xmm0,%xmm8
+  .byte  102,65,15,113,240,8                 // psllw         $0x8,%xmm8
+  .byte  102,68,15,219,5,164,131,0,0         // pand          0x83a4(%rip),%xmm8        # 3d6e0 <_sk_srcover_bgra_8888_sse2_lowp+0x1494>
+  .byte  102,68,15,111,201                   // movdqa        %xmm1,%xmm9
+  .byte  102,65,15,113,241,4                 // psllw         $0x4,%xmm9
+  .byte  102,68,15,219,13,160,131,0,0        // pand          0x83a0(%rip),%xmm9        # 3d6f0 <_sk_srcover_bgra_8888_sse2_lowp+0x14a4>
+  .byte  102,69,15,235,200                   // por           %xmm8,%xmm9
+  .byte  102,68,15,111,21,162,131,0,0        // movdqa        0x83a2(%rip),%xmm10        # 3d700 <_sk_srcover_bgra_8888_sse2_lowp+0x14b4>
+  .byte  102,68,15,219,210                   // pand          %xmm2,%xmm10
+  .byte  102,68,15,111,195                   // movdqa        %xmm3,%xmm8
+  .byte  102,65,15,113,208,4                 // psrlw         $0x4,%xmm8
+  .byte  102,69,15,235,194                   // por           %xmm10,%xmm8
+  .byte  102,69,15,235,193                   // por           %xmm9,%xmm8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,29                              // ja            3539f <_sk_store_4444_sse41_lowp+0x87>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,84,0,0,0                  // lea           0x54(%rip),%r9        # 353e0 <_sk_store_4444_sse41_lowp+0xc8>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,69,15,58,21,4,80,0              // pextrw        $0x0,%xmm8,(%r8,%rdx,2)
+  .byte  235,58                              // jmp           353d9 <_sk_store_4444_sse41_lowp+0xc1>
+  .byte  243,69,15,127,4,80                  // movdqu        %xmm8,(%r8,%rdx,2)
+  .byte  235,50                              // jmp           353d9 <_sk_store_4444_sse41_lowp+0xc1>
+  .byte  102,69,15,58,21,68,80,4,2           // pextrw        $0x2,%xmm8,0x4(%r8,%rdx,2)
+  .byte  102,69,15,126,4,80                  // movd          %xmm8,(%r8,%rdx,2)
+  .byte  235,33                              // jmp           353d9 <_sk_store_4444_sse41_lowp+0xc1>
+  .byte  102,69,15,58,21,68,80,12,6          // pextrw        $0x6,%xmm8,0xc(%r8,%rdx,2)
+  .byte  102,69,15,58,21,68,80,10,5          // pextrw        $0x5,%xmm8,0xa(%r8,%rdx,2)
+  .byte  102,69,15,58,21,68,80,8,4           // pextrw        $0x4,%xmm8,0x8(%r8,%rdx,2)
+  .byte  102,69,15,214,4,80                  // movq          %xmm8,(%r8,%rdx,2)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  15,31,0                             // nopl          (%rax)
+  .byte  181,255                             // mov           $0xff,%ch
+  .byte  255                                 // (bad)
+  .byte  255,208                             // callq         *%rax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,199                             // inc           %edi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,243                             // push          %rbx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  234                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,225                             // jmpq          *%rcx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  216,255                             // fdivr         %st(7),%st
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_gather_4444_sse41_lowp
+.globl _sk_gather_4444_sse41_lowp
+FUNCTION(_sk_gather_4444_sse41_lowp)
+_sk_gather_4444_sse41_lowp:
+  .byte  85                                  // push          %rbp
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,64,12                  // movss         0xc(%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  102,69,15,118,201                   // pcmpeqd       %xmm9,%xmm9
+  .byte  102,69,15,254,193                   // paddd         %xmm9,%xmm8
+  .byte  69,15,87,210                        // xorps         %xmm10,%xmm10
+  .byte  65,15,95,194                        // maxps         %xmm10,%xmm0
+  .byte  65,15,95,202                        // maxps         %xmm10,%xmm1
+  .byte  65,15,93,200                        // minps         %xmm8,%xmm1
+  .byte  65,15,93,192                        // minps         %xmm8,%xmm0
+  .byte  243,68,15,16,64,16                  // movss         0x10(%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  102,69,15,254,193                   // paddd         %xmm9,%xmm8
+  .byte  65,15,95,218                        // maxps         %xmm10,%xmm3
+  .byte  65,15,95,210                        // maxps         %xmm10,%xmm2
+  .byte  65,15,93,208                        // minps         %xmm8,%xmm2
+  .byte  65,15,93,216                        // minps         %xmm8,%xmm3
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  243,68,15,91,195                    // cvttps2dq     %xmm3,%xmm8
+  .byte  243,15,91,210                       // cvttps2dq     %xmm2,%xmm2
+  .byte  102,15,110,88,8                     // movd          0x8(%rax),%xmm3
+  .byte  102,15,112,219,0                    // pshufd        $0x0,%xmm3,%xmm3
+  .byte  102,15,56,64,211                    // pmulld        %xmm3,%xmm2
+  .byte  102,68,15,56,64,195                 // pmulld        %xmm3,%xmm8
+  .byte  243,15,91,192                       // cvttps2dq     %xmm0,%xmm0
+  .byte  102,15,254,194                      // paddd         %xmm2,%xmm0
+  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
+  .byte  102,65,15,254,200                   // paddd         %xmm8,%xmm1
+  .byte  102,72,15,58,22,200,1               // pextrq        $0x1,%xmm1,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  102,73,15,126,202                   // movq          %xmm1,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  102,72,15,58,22,195,1               // pextrq        $0x1,%xmm0,%rbx
+  .byte  65,137,222                          // mov           %ebx,%r14d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  102,73,15,126,199                   // movq          %xmm0,%r15
+  .byte  69,137,252                          // mov           %r15d,%r12d
+  .byte  73,193,239,32                       // shr           $0x20,%r15
+  .byte  71,15,183,60,120                    // movzwl        (%r8,%r15,2),%r15d
+  .byte  67,15,183,44,96                     // movzwl        (%r8,%r12,2),%ebp
+  .byte  102,68,15,110,197                   // movd          %ebp,%xmm8
+  .byte  102,69,15,196,199,1                 // pinsrw        $0x1,%r15d,%xmm8
+  .byte  67,15,183,44,112                    // movzwl        (%r8,%r14,2),%ebp
+  .byte  102,68,15,196,197,2                 // pinsrw        $0x2,%ebp,%xmm8
+  .byte  65,15,183,28,88                     // movzwl        (%r8,%rbx,2),%ebx
+  .byte  102,68,15,196,195,3                 // pinsrw        $0x3,%ebx,%xmm8
+  .byte  67,15,183,44,88                     // movzwl        (%r8,%r11,2),%ebp
+  .byte  102,68,15,196,197,4                 // pinsrw        $0x4,%ebp,%xmm8
+  .byte  67,15,183,44,80                     // movzwl        (%r8,%r10,2),%ebp
+  .byte  102,68,15,196,197,5                 // pinsrw        $0x5,%ebp,%xmm8
+  .byte  67,15,183,44,72                     // movzwl        (%r8,%r9,2),%ebp
+  .byte  102,68,15,196,197,6                 // pinsrw        $0x6,%ebp,%xmm8
+  .byte  65,15,183,4,64                      // movzwl        (%r8,%rax,2),%eax
+  .byte  102,68,15,196,192,7                 // pinsrw        $0x7,%eax,%xmm8
+  .byte  102,65,15,111,200                   // movdqa        %xmm8,%xmm1
+  .byte  102,15,113,209,12                   // psrlw         $0xc,%xmm1
+  .byte  102,65,15,111,208                   // movdqa        %xmm8,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,111,5,168,129,0,0            // movdqa        0x81a8(%rip),%xmm0        # 3d6d0 <_sk_srcover_bgra_8888_sse2_lowp+0x1484>
+  .byte  102,15,219,208                      // pand          %xmm0,%xmm2
+  .byte  102,65,15,111,216                   // movdqa        %xmm8,%xmm3
+  .byte  102,15,113,211,4                    // psrlw         $0x4,%xmm3
+  .byte  102,15,219,216                      // pand          %xmm0,%xmm3
+  .byte  102,68,15,219,192                   // pand          %xmm0,%xmm8
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,15,113,240,4                    // psllw         $0x4,%xmm0
+  .byte  102,15,235,193                      // por           %xmm1,%xmm0
+  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
+  .byte  102,15,113,241,4                    // psllw         $0x4,%xmm1
+  .byte  102,15,235,202                      // por           %xmm2,%xmm1
+  .byte  102,15,111,211                      // movdqa        %xmm3,%xmm2
+  .byte  102,15,113,242,4                    // psllw         $0x4,%xmm2
+  .byte  102,15,235,211                      // por           %xmm3,%xmm2
+  .byte  102,65,15,111,216                   // movdqa        %xmm8,%xmm3
+  .byte  102,15,113,243,4                    // psllw         $0x4,%xmm3
+  .byte  102,65,15,235,216                   // por           %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  93                                  // pop           %rbp
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_load_a8_sse41_lowp
+.globl _sk_load_a8_sse41_lowp
+FUNCTION(_sk_load_a8_sse41_lowp)
+_sk_load_a8_sse41_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,34                              // ja            355ba <_sk_load_a8_sse41_lowp+0x39>
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,146,0,0,0                 // lea           0x92(%rip),%r9        # 35638 <_sk_load_a8_sse41_lowp+0xb7>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  102,15,110,216                      // movd          %eax,%xmm3
+  .byte  235,100                             // jmp           3561e <_sk_load_a8_sse41_lowp+0x9d>
+  .byte  102,65,15,56,48,28,16               // pmovzxbw      (%r8,%rdx,1),%xmm3
+  .byte  235,91                              // jmp           3561e <_sk_load_a8_sse41_lowp+0x9d>
+  .byte  65,15,182,68,16,2                   // movzbl        0x2(%r8,%rdx,1),%eax
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  102,15,196,192,2                    // pinsrw        $0x2,%eax,%xmm0
+  .byte  65,15,183,4,16                      // movzwl        (%r8,%rdx,1),%eax
+  .byte  102,15,110,200                      // movd          %eax,%xmm1
+  .byte  102,15,56,48,217                    // pmovzxbw      %xmm1,%xmm3
+  .byte  102,15,58,14,216,252                // pblendw       $0xfc,%xmm0,%xmm3
+  .byte  235,54                              // jmp           3561e <_sk_load_a8_sse41_lowp+0x9d>
+  .byte  65,15,182,68,16,6                   // movzbl        0x6(%r8,%rdx,1),%eax
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  102,15,196,192,6                    // pinsrw        $0x6,%eax,%xmm0
+  .byte  65,15,182,68,16,5                   // movzbl        0x5(%r8,%rdx,1),%eax
+  .byte  102,15,196,192,5                    // pinsrw        $0x5,%eax,%xmm0
+  .byte  65,15,182,68,16,4                   // movzbl        0x4(%r8,%rdx,1),%eax
+  .byte  102,15,196,192,4                    // pinsrw        $0x4,%eax,%xmm0
+  .byte  102,65,15,110,12,16                 // movd          (%r8,%rdx,1),%xmm1
+  .byte  102,15,56,48,217                    // pmovzxbw      %xmm1,%xmm3
+  .byte  102,15,58,14,216,240                // pblendw       $0xf0,%xmm0,%xmm3
+  .byte  102,15,219,29,138,120,0,0           // pand          0x788a(%rip),%xmm3        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+  .byte  15,31,0                             // nopl          (%rax)
+  .byte  119,255                             // ja            35639 <_sk_load_a8_sse41_lowp+0xb8>
+  .byte  255                                 // (bad)
+  .byte  255,154,255,255,255,139             // lcall         *-0x74000001(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,213                             // callq         *%rbp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,202                             // dec           %edx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  191,255,255,255,176                 // mov           $0xb0ffffff,%edi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_a8_dst_sse41_lowp
+.globl _sk_load_a8_dst_sse41_lowp
+FUNCTION(_sk_load_a8_dst_sse41_lowp)
+_sk_load_a8_dst_sse41_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,34                              // ja            3568d <_sk_load_a8_dst_sse41_lowp+0x39>
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,143,0,0,0                 // lea           0x8f(%rip),%r9        # 35708 <_sk_load_a8_dst_sse41_lowp+0xb4>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  102,15,110,248                      // movd          %eax,%xmm7
+  .byte  235,100                             // jmp           356f1 <_sk_load_a8_dst_sse41_lowp+0x9d>
+  .byte  102,65,15,56,48,60,16               // pmovzxbw      (%r8,%rdx,1),%xmm7
+  .byte  235,91                              // jmp           356f1 <_sk_load_a8_dst_sse41_lowp+0x9d>
+  .byte  65,15,182,68,16,2                   // movzbl        0x2(%r8,%rdx,1),%eax
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  102,15,196,224,2                    // pinsrw        $0x2,%eax,%xmm4
+  .byte  65,15,183,4,16                      // movzwl        (%r8,%rdx,1),%eax
+  .byte  102,15,110,232                      // movd          %eax,%xmm5
+  .byte  102,15,56,48,253                    // pmovzxbw      %xmm5,%xmm7
+  .byte  102,15,58,14,252,252                // pblendw       $0xfc,%xmm4,%xmm7
+  .byte  235,54                              // jmp           356f1 <_sk_load_a8_dst_sse41_lowp+0x9d>
+  .byte  65,15,182,68,16,6                   // movzbl        0x6(%r8,%rdx,1),%eax
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  102,15,196,224,6                    // pinsrw        $0x6,%eax,%xmm4
+  .byte  65,15,182,68,16,5                   // movzbl        0x5(%r8,%rdx,1),%eax
+  .byte  102,15,196,224,5                    // pinsrw        $0x5,%eax,%xmm4
+  .byte  65,15,182,68,16,4                   // movzbl        0x4(%r8,%rdx,1),%eax
+  .byte  102,15,196,224,4                    // pinsrw        $0x4,%eax,%xmm4
+  .byte  102,65,15,110,44,16                 // movd          (%r8,%rdx,1),%xmm5
+  .byte  102,15,56,48,253                    // pmovzxbw      %xmm5,%xmm7
+  .byte  102,15,58,14,252,240                // pblendw       $0xf0,%xmm4,%xmm7
+  .byte  102,15,219,61,183,119,0,0           // pand          0x77b7(%rip),%xmm7        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  102,15,239,237                      // pxor          %xmm5,%xmm5
+  .byte  15,87,246                           // xorps         %xmm6,%xmm6
+  .byte  255,224                             // jmpq          *%rax
+  .byte  122,255                             // jp            35709 <_sk_load_a8_dst_sse41_lowp+0xb5>
+  .byte  255                                 // (bad)
+  .byte  255,157,255,255,255,142             // lcall         *-0x71000001(%rbp)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  216,255                             // fdivr         %st(7),%st
+  .byte  255                                 // (bad)
+  .byte  255,205                             // dec           %ebp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,194                             // inc           %edx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+  .byte  179,255                             // mov           $0xff,%bl
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_store_a8_sse41_lowp
+.globl _sk_store_a8_sse41_lowp
+FUNCTION(_sk_store_a8_sse41_lowp)
+_sk_store_a8_sse41_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,29                              // ja            35758 <_sk_store_a8_sse41_lowp+0x34>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,131,0,0,0                 // lea           0x83(%rip),%r9        # 357c8 <_sk_store_a8_sse41_lowp+0xa4>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,65,15,58,20,28,16,0             // pextrb        $0x0,%xmm3,(%r8,%rdx,1)
+  .byte  235,105                             // jmp           357c1 <_sk_store_a8_sse41_lowp+0x9d>
+  .byte  102,68,15,111,195                   // movdqa        %xmm3,%xmm8
+  .byte  102,68,15,56,0,5,185,126,0,0        // pshufb        0x7eb9(%rip),%xmm8        # 3d620 <_sk_srcover_bgra_8888_sse2_lowp+0x13d4>
+  .byte  102,69,15,214,4,16                  // movq          %xmm8,(%r8,%rdx,1)
+  .byte  235,82                              // jmp           357c1 <_sk_store_a8_sse41_lowp+0x9d>
+  .byte  102,65,15,58,20,92,16,2,4           // pextrb        $0x4,%xmm3,0x2(%r8,%rdx,1)
+  .byte  102,68,15,111,195                   // movdqa        %xmm3,%xmm8
+  .byte  102,68,15,56,0,5,57,119,0,0         // pshufb        0x7739(%rip),%xmm8        # 3cec0 <_sk_srcover_bgra_8888_sse2_lowp+0xc74>
+  .byte  102,69,15,58,21,4,16,0              // pextrw        $0x0,%xmm8,(%r8,%rdx,1)
+  .byte  235,48                              // jmp           357c1 <_sk_store_a8_sse41_lowp+0x9d>
+  .byte  102,65,15,58,20,92,16,6,12          // pextrb        $0xc,%xmm3,0x6(%r8,%rdx,1)
+  .byte  102,65,15,58,20,92,16,5,10          // pextrb        $0xa,%xmm3,0x5(%r8,%rdx,1)
+  .byte  102,65,15,58,20,92,16,4,8           // pextrb        $0x8,%xmm3,0x4(%r8,%rdx,1)
+  .byte  102,68,15,111,195                   // movdqa        %xmm3,%xmm8
+  .byte  102,68,15,56,0,5,21,119,0,0         // pshufb        0x7715(%rip),%xmm8        # 3ced0 <_sk_srcover_bgra_8888_sse2_lowp+0xc84>
+  .byte  102,69,15,126,4,16                  // movd          %xmm8,(%r8,%rdx,1)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  15,31,0                             // nopl          (%rax)
+  .byte  134,255                             // xchg          %bh,%bh
+  .byte  255                                 // (bad)
+  .byte  255,176,255,255,255,167             // pushq         -0x58000001(%rax)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,228                             // jmpq          *%rsp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  219,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,210                             // callq         *%rdx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,201                             // dec           %ecx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_gather_a8_sse41_lowp
+.globl _sk_gather_a8_sse41_lowp
+FUNCTION(_sk_gather_a8_sse41_lowp)
+_sk_gather_a8_sse41_lowp:
+  .byte  85                                  // push          %rbp
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,64,12                  // movss         0xc(%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  102,69,15,118,201                   // pcmpeqd       %xmm9,%xmm9
+  .byte  102,69,15,254,193                   // paddd         %xmm9,%xmm8
+  .byte  69,15,87,210                        // xorps         %xmm10,%xmm10
+  .byte  65,15,95,194                        // maxps         %xmm10,%xmm0
+  .byte  65,15,95,202                        // maxps         %xmm10,%xmm1
+  .byte  65,15,93,200                        // minps         %xmm8,%xmm1
+  .byte  65,15,93,192                        // minps         %xmm8,%xmm0
+  .byte  243,68,15,16,64,16                  // movss         0x10(%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  102,69,15,254,193                   // paddd         %xmm9,%xmm8
+  .byte  65,15,95,218                        // maxps         %xmm10,%xmm3
+  .byte  65,15,95,210                        // maxps         %xmm10,%xmm2
+  .byte  65,15,93,208                        // minps         %xmm8,%xmm2
+  .byte  65,15,93,216                        // minps         %xmm8,%xmm3
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  243,68,15,91,195                    // cvttps2dq     %xmm3,%xmm8
+  .byte  243,15,91,210                       // cvttps2dq     %xmm2,%xmm2
+  .byte  102,15,110,88,8                     // movd          0x8(%rax),%xmm3
+  .byte  102,15,112,219,0                    // pshufd        $0x0,%xmm3,%xmm3
+  .byte  102,15,56,64,211                    // pmulld        %xmm3,%xmm2
+  .byte  102,68,15,56,64,195                 // pmulld        %xmm3,%xmm8
+  .byte  243,15,91,192                       // cvttps2dq     %xmm0,%xmm0
+  .byte  102,15,254,194                      // paddd         %xmm2,%xmm0
+  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
+  .byte  102,65,15,254,200                   // paddd         %xmm8,%xmm1
+  .byte  102,72,15,58,22,200,1               // pextrq        $0x1,%xmm1,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  102,73,15,126,202                   // movq          %xmm1,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  102,72,15,58,22,195,1               // pextrq        $0x1,%xmm0,%rbx
+  .byte  65,137,222                          // mov           %ebx,%r14d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  102,73,15,126,199                   // movq          %xmm0,%r15
+  .byte  69,137,252                          // mov           %r15d,%r12d
+  .byte  73,193,239,32                       // shr           $0x20,%r15
+  .byte  71,15,182,60,56                     // movzbl        (%r8,%r15,1),%r15d
+  .byte  67,15,182,44,32                     // movzbl        (%r8,%r12,1),%ebp
+  .byte  102,15,110,197                      // movd          %ebp,%xmm0
+  .byte  102,65,15,58,32,199,1               // pinsrb        $0x1,%r15d,%xmm0
+  .byte  67,15,182,44,48                     // movzbl        (%r8,%r14,1),%ebp
+  .byte  102,15,58,32,197,2                  // pinsrb        $0x2,%ebp,%xmm0
+  .byte  65,15,182,28,24                     // movzbl        (%r8,%rbx,1),%ebx
+  .byte  102,15,58,32,195,3                  // pinsrb        $0x3,%ebx,%xmm0
+  .byte  67,15,182,44,24                     // movzbl        (%r8,%r11,1),%ebp
+  .byte  102,15,58,32,197,4                  // pinsrb        $0x4,%ebp,%xmm0
+  .byte  67,15,182,44,16                     // movzbl        (%r8,%r10,1),%ebp
+  .byte  102,15,58,32,197,5                  // pinsrb        $0x5,%ebp,%xmm0
+  .byte  67,15,182,44,8                      // movzbl        (%r8,%r9,1),%ebp
+  .byte  102,15,58,32,197,6                  // pinsrb        $0x6,%ebp,%xmm0
+  .byte  65,15,182,4,0                       // movzbl        (%r8,%rax,1),%eax
+  .byte  102,15,58,32,192,7                  // pinsrb        $0x7,%eax,%xmm0
+  .byte  102,15,56,48,216                    // pmovzxbw      %xmm0,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  102,15,239,210                      // pxor          %xmm2,%xmm2
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  93                                  // pop           %rbp
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_load_g8_sse41_lowp
+.globl _sk_load_g8_sse41_lowp
+FUNCTION(_sk_load_g8_sse41_lowp)
+_sk_load_g8_sse41_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,34                              // ja            3594a <_sk_load_g8_sse41_lowp+0x39>
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,150,0,0,0                 // lea           0x96(%rip),%r9        # 359cc <_sk_load_g8_sse41_lowp+0xbb>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  102,15,110,192                      // movd          %eax,%xmm0
+  .byte  235,100                             // jmp           359ae <_sk_load_g8_sse41_lowp+0x9d>
+  .byte  102,65,15,56,48,4,16                // pmovzxbw      (%r8,%rdx,1),%xmm0
+  .byte  235,91                              // jmp           359ae <_sk_load_g8_sse41_lowp+0x9d>
+  .byte  65,15,182,68,16,2                   // movzbl        0x2(%r8,%rdx,1),%eax
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  102,15,196,200,2                    // pinsrw        $0x2,%eax,%xmm1
+  .byte  65,15,183,4,16                      // movzwl        (%r8,%rdx,1),%eax
+  .byte  102,15,110,192                      // movd          %eax,%xmm0
+  .byte  102,15,56,48,192                    // pmovzxbw      %xmm0,%xmm0
+  .byte  102,15,58,14,193,252                // pblendw       $0xfc,%xmm1,%xmm0
+  .byte  235,54                              // jmp           359ae <_sk_load_g8_sse41_lowp+0x9d>
+  .byte  65,15,182,68,16,6                   // movzbl        0x6(%r8,%rdx,1),%eax
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  102,15,196,200,6                    // pinsrw        $0x6,%eax,%xmm1
+  .byte  65,15,182,68,16,5                   // movzbl        0x5(%r8,%rdx,1),%eax
+  .byte  102,15,196,200,5                    // pinsrw        $0x5,%eax,%xmm1
+  .byte  65,15,182,68,16,4                   // movzbl        0x4(%r8,%rdx,1),%eax
+  .byte  102,15,196,200,4                    // pinsrw        $0x4,%eax,%xmm1
+  .byte  102,65,15,110,4,16                  // movd          (%r8,%rdx,1),%xmm0
+  .byte  102,15,56,48,192                    // pmovzxbw      %xmm0,%xmm0
+  .byte  102,15,58,14,193,240                // pblendw       $0xf0,%xmm1,%xmm0
+  .byte  102,15,219,5,250,116,0,0            // pand          0x74fa(%rip),%xmm0        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,29,241,116,0,0                // movaps        0x74f1(%rip),%xmm3        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
+  .byte  102,15,111,208                      // movdqa        %xmm0,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+  .byte  15,31,0                             // nopl          (%rax)
+  .byte  115,255                             // jae           359cd <_sk_load_g8_sse41_lowp+0xbc>
+  .byte  255                                 // (bad)
+  .byte  255,150,255,255,255,135             // callq         *-0x78000001(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,209                             // callq         *%rcx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,198                             // inc           %esi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  187,255,255,255,172                 // mov           $0xacffffff,%ebx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_g8_dst_sse41_lowp
+.globl _sk_load_g8_dst_sse41_lowp
+FUNCTION(_sk_load_g8_dst_sse41_lowp)
+_sk_load_g8_dst_sse41_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,34                              // ja            35a21 <_sk_load_g8_dst_sse41_lowp+0x39>
+  .byte  102,15,239,237                      // pxor          %xmm5,%xmm5
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,147,0,0,0                 // lea           0x93(%rip),%r9        # 35aa0 <_sk_load_g8_dst_sse41_lowp+0xb8>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  102,15,110,224                      // movd          %eax,%xmm4
+  .byte  235,100                             // jmp           35a85 <_sk_load_g8_dst_sse41_lowp+0x9d>
+  .byte  102,65,15,56,48,36,16               // pmovzxbw      (%r8,%rdx,1),%xmm4
+  .byte  235,91                              // jmp           35a85 <_sk_load_g8_dst_sse41_lowp+0x9d>
+  .byte  65,15,182,68,16,2                   // movzbl        0x2(%r8,%rdx,1),%eax
+  .byte  102,15,239,237                      // pxor          %xmm5,%xmm5
+  .byte  102,15,196,232,2                    // pinsrw        $0x2,%eax,%xmm5
+  .byte  65,15,183,4,16                      // movzwl        (%r8,%rdx,1),%eax
+  .byte  102,15,110,224                      // movd          %eax,%xmm4
+  .byte  102,15,56,48,228                    // pmovzxbw      %xmm4,%xmm4
+  .byte  102,15,58,14,229,252                // pblendw       $0xfc,%xmm5,%xmm4
+  .byte  235,54                              // jmp           35a85 <_sk_load_g8_dst_sse41_lowp+0x9d>
+  .byte  65,15,182,68,16,6                   // movzbl        0x6(%r8,%rdx,1),%eax
+  .byte  102,15,239,237                      // pxor          %xmm5,%xmm5
+  .byte  102,15,196,232,6                    // pinsrw        $0x6,%eax,%xmm5
+  .byte  65,15,182,68,16,5                   // movzbl        0x5(%r8,%rdx,1),%eax
+  .byte  102,15,196,232,5                    // pinsrw        $0x5,%eax,%xmm5
+  .byte  65,15,182,68,16,4                   // movzbl        0x4(%r8,%rdx,1),%eax
+  .byte  102,15,196,232,4                    // pinsrw        $0x4,%eax,%xmm5
+  .byte  102,65,15,110,36,16                 // movd          (%r8,%rdx,1),%xmm4
+  .byte  102,15,56,48,228                    // pmovzxbw      %xmm4,%xmm4
+  .byte  102,15,58,14,229,240                // pblendw       $0xf0,%xmm5,%xmm4
+  .byte  102,15,219,37,35,116,0,0            // pand          0x7423(%rip),%xmm4        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,61,26,116,0,0                 // movaps        0x741a(%rip),%xmm7        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,15,111,236                      // movdqa        %xmm4,%xmm5
+  .byte  102,15,111,244                      // movdqa        %xmm4,%xmm6
+  .byte  255,224                             // jmpq          *%rax
+  .byte  118,255                             // jbe           35aa1 <_sk_load_g8_dst_sse41_lowp+0xb9>
+  .byte  255                                 // (bad)
+  .byte  255,153,255,255,255,138             // lcall         *-0x75000001(%rcx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,212                             // callq         *%rsp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,201                             // dec           %ecx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  190,255,255,255,175                 // mov           $0xafffffff,%esi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_luminance_to_alpha_sse41_lowp
+.globl _sk_luminance_to_alpha_sse41_lowp
+FUNCTION(_sk_luminance_to_alpha_sse41_lowp)
+_sk_luminance_to_alpha_sse41_lowp:
+  .byte  102,15,111,218                      // movdqa        %xmm2,%xmm3
+  .byte  102,15,213,5,72,124,0,0             // pmullw        0x7c48(%rip),%xmm0        # 3d710 <_sk_srcover_bgra_8888_sse2_lowp+0x14c4>
+  .byte  102,15,213,13,80,124,0,0            // pmullw        0x7c50(%rip),%xmm1        # 3d720 <_sk_srcover_bgra_8888_sse2_lowp+0x14d4>
+  .byte  102,15,253,200                      // paddw         %xmm0,%xmm1
+  .byte  102,15,213,29,84,124,0,0            // pmullw        0x7c54(%rip),%xmm3        # 3d730 <_sk_srcover_bgra_8888_sse2_lowp+0x14e4>
+  .byte  102,15,253,217                      // paddw         %xmm1,%xmm3
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  102,15,239,210                      // pxor          %xmm2,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_gather_g8_sse41_lowp
+.globl _sk_gather_g8_sse41_lowp
+FUNCTION(_sk_gather_g8_sse41_lowp)
+_sk_gather_g8_sse41_lowp:
+  .byte  85                                  // push          %rbp
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,64,12                  // movss         0xc(%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  102,69,15,118,201                   // pcmpeqd       %xmm9,%xmm9
+  .byte  102,69,15,254,193                   // paddd         %xmm9,%xmm8
+  .byte  69,15,87,210                        // xorps         %xmm10,%xmm10
+  .byte  65,15,95,194                        // maxps         %xmm10,%xmm0
+  .byte  65,15,95,202                        // maxps         %xmm10,%xmm1
+  .byte  65,15,93,200                        // minps         %xmm8,%xmm1
+  .byte  65,15,93,192                        // minps         %xmm8,%xmm0
+  .byte  243,68,15,16,64,16                  // movss         0x10(%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  102,69,15,254,193                   // paddd         %xmm9,%xmm8
+  .byte  65,15,95,218                        // maxps         %xmm10,%xmm3
+  .byte  65,15,95,210                        // maxps         %xmm10,%xmm2
+  .byte  65,15,93,208                        // minps         %xmm8,%xmm2
+  .byte  65,15,93,216                        // minps         %xmm8,%xmm3
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  243,68,15,91,195                    // cvttps2dq     %xmm3,%xmm8
+  .byte  243,15,91,210                       // cvttps2dq     %xmm2,%xmm2
+  .byte  102,15,110,88,8                     // movd          0x8(%rax),%xmm3
+  .byte  102,15,112,219,0                    // pshufd        $0x0,%xmm3,%xmm3
+  .byte  102,15,56,64,211                    // pmulld        %xmm3,%xmm2
+  .byte  102,68,15,56,64,195                 // pmulld        %xmm3,%xmm8
+  .byte  243,15,91,192                       // cvttps2dq     %xmm0,%xmm0
+  .byte  102,15,254,194                      // paddd         %xmm2,%xmm0
+  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
+  .byte  102,65,15,254,200                   // paddd         %xmm8,%xmm1
+  .byte  102,72,15,58,22,200,1               // pextrq        $0x1,%xmm1,%rax
+  .byte  65,137,193                          // mov           %eax,%r9d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  102,73,15,126,202                   // movq          %xmm1,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  102,72,15,58,22,195,1               // pextrq        $0x1,%xmm0,%rbx
+  .byte  65,137,222                          // mov           %ebx,%r14d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  102,73,15,126,199                   // movq          %xmm0,%r15
+  .byte  69,137,252                          // mov           %r15d,%r12d
+  .byte  73,193,239,32                       // shr           $0x20,%r15
+  .byte  71,15,182,60,56                     // movzbl        (%r8,%r15,1),%r15d
+  .byte  67,15,182,44,32                     // movzbl        (%r8,%r12,1),%ebp
+  .byte  102,15,110,197                      // movd          %ebp,%xmm0
+  .byte  102,65,15,58,32,199,1               // pinsrb        $0x1,%r15d,%xmm0
+  .byte  67,15,182,44,48                     // movzbl        (%r8,%r14,1),%ebp
+  .byte  102,15,58,32,197,2                  // pinsrb        $0x2,%ebp,%xmm0
+  .byte  65,15,182,28,24                     // movzbl        (%r8,%rbx,1),%ebx
+  .byte  102,15,58,32,195,3                  // pinsrb        $0x3,%ebx,%xmm0
+  .byte  67,15,182,44,24                     // movzbl        (%r8,%r11,1),%ebp
+  .byte  102,15,58,32,197,4                  // pinsrb        $0x4,%ebp,%xmm0
+  .byte  67,15,182,44,16                     // movzbl        (%r8,%r10,1),%ebp
+  .byte  102,15,58,32,197,5                  // pinsrb        $0x5,%ebp,%xmm0
+  .byte  67,15,182,44,8                      // movzbl        (%r8,%r9,1),%ebp
+  .byte  102,15,58,32,197,6                  // pinsrb        $0x6,%ebp,%xmm0
+  .byte  65,15,182,4,0                       // movzbl        (%r8,%rax,1),%eax
+  .byte  102,15,58,32,192,7                  // pinsrb        $0x7,%eax,%xmm0
+  .byte  102,15,56,48,192                    // pmovzxbw      %xmm0,%xmm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,29,157,114,0,0                // movaps        0x729d(%rip),%xmm3        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
+  .byte  102,15,111,208                      // movdqa        %xmm0,%xmm2
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  93                                  // pop           %rbp
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_scale_1_float_sse41_lowp
+.globl _sk_scale_1_float_sse41_lowp
+FUNCTION(_sk_scale_1_float_sse41_lowp)
+_sk_scale_1_float_sse41_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,0                      // movss         (%rax),%xmm8
+  .byte  243,68,15,89,5,243,104,0,0          // mulss         0x68f3(%rip),%xmm8        # 3c528 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  .byte  243,68,15,88,5,186,104,0,0          // addss         0x68ba(%rip),%xmm8        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  243,65,15,44,192                    // cvttss2si     %xmm8,%eax
+  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
+  .byte  242,69,15,112,192,0                 // pshuflw       $0x0,%xmm8,%xmm8
+  .byte  102,69,15,112,192,80                // pshufd        $0x50,%xmm8,%xmm8
+  .byte  102,65,15,213,192                   // pmullw        %xmm8,%xmm0
+  .byte  102,68,15,111,13,78,114,0,0         // movdqa        0x724e(%rip),%xmm9        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,65,15,253,193                   // paddw         %xmm9,%xmm0
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,65,15,213,200                   // pmullw        %xmm8,%xmm1
+  .byte  102,65,15,253,201                   // paddw         %xmm9,%xmm1
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,65,15,213,208                   // pmullw        %xmm8,%xmm2
+  .byte  102,65,15,253,209                   // paddw         %xmm9,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,65,15,213,216                   // pmullw        %xmm8,%xmm3
+  .byte  102,65,15,253,217                   // paddw         %xmm9,%xmm3
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_lerp_1_float_sse41_lowp
+.globl _sk_lerp_1_float_sse41_lowp
+FUNCTION(_sk_lerp_1_float_sse41_lowp)
+_sk_lerp_1_float_sse41_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,0                      // movss         (%rax),%xmm8
+  .byte  243,68,15,89,5,123,104,0,0          // mulss         0x687b(%rip),%xmm8        # 3c528 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  .byte  243,68,15,88,5,66,104,0,0           // addss         0x6842(%rip),%xmm8        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  243,65,15,44,192                    // cvttss2si     %xmm8,%eax
+  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
+  .byte  242,69,15,112,192,0                 // pshuflw       $0x0,%xmm8,%xmm8
+  .byte  102,69,15,112,192,80                // pshufd        $0x50,%xmm8,%xmm8
+  .byte  102,68,15,111,13,219,113,0,0        // movdqa        0x71db(%rip),%xmm9        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,65,15,213,192                   // pmullw        %xmm8,%xmm0
+  .byte  102,65,15,253,193                   // paddw         %xmm9,%xmm0
+  .byte  102,65,15,213,200                   // pmullw        %xmm8,%xmm1
+  .byte  102,65,15,253,201                   // paddw         %xmm9,%xmm1
+  .byte  102,65,15,213,208                   // pmullw        %xmm8,%xmm2
+  .byte  102,65,15,253,209                   // paddw         %xmm9,%xmm2
+  .byte  102,65,15,213,216                   // pmullw        %xmm8,%xmm3
+  .byte  102,65,15,253,217                   // paddw         %xmm9,%xmm3
+  .byte  102,69,15,249,200                   // psubw         %xmm8,%xmm9
+  .byte  102,69,15,111,193                   // movdqa        %xmm9,%xmm8
+  .byte  102,68,15,213,196                   // pmullw        %xmm4,%xmm8
+  .byte  102,65,15,253,192                   // paddw         %xmm8,%xmm0
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,69,15,111,193                   // movdqa        %xmm9,%xmm8
+  .byte  102,68,15,213,197                   // pmullw        %xmm5,%xmm8
+  .byte  102,65,15,253,200                   // paddw         %xmm8,%xmm1
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,69,15,111,193                   // movdqa        %xmm9,%xmm8
+  .byte  102,68,15,213,198                   // pmullw        %xmm6,%xmm8
+  .byte  102,65,15,253,208                   // paddw         %xmm8,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,68,15,213,207                   // pmullw        %xmm7,%xmm9
+  .byte  102,65,15,253,217                   // paddw         %xmm9,%xmm3
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_scale_u8_sse41_lowp
+.globl _sk_scale_u8_sse41_lowp
+FUNCTION(_sk_scale_u8_sse41_lowp)
+_sk_scale_u8_sse41_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,36                              // ja            35d8c <_sk_scale_u8_sse41_lowp+0x3b>
+  .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,221,0,0,0                 // lea           0xdd(%rip),%r9        # 35e54 <_sk_scale_u8_sse41_lowp+0x103>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
+  .byte  235,111                             // jmp           35dfb <_sk_scale_u8_sse41_lowp+0xaa>
+  .byte  102,69,15,56,48,4,16                // pmovzxbw      (%r8,%rdx,1),%xmm8
+  .byte  235,102                             // jmp           35dfb <_sk_scale_u8_sse41_lowp+0xaa>
+  .byte  65,15,182,68,16,2                   // movzbl        0x2(%r8,%rdx,1),%eax
+  .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
+  .byte  102,68,15,196,200,2                 // pinsrw        $0x2,%eax,%xmm9
+  .byte  65,15,183,4,16                      // movzwl        (%r8,%rdx,1),%eax
+  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
+  .byte  102,69,15,56,48,192                 // pmovzxbw      %xmm8,%xmm8
+  .byte  102,69,15,58,14,193,252             // pblendw       $0xfc,%xmm9,%xmm8
+  .byte  235,60                              // jmp           35dfb <_sk_scale_u8_sse41_lowp+0xaa>
+  .byte  65,15,182,68,16,6                   // movzbl        0x6(%r8,%rdx,1),%eax
+  .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
+  .byte  102,68,15,196,200,6                 // pinsrw        $0x6,%eax,%xmm9
+  .byte  65,15,182,68,16,5                   // movzbl        0x5(%r8,%rdx,1),%eax
+  .byte  102,68,15,196,200,5                 // pinsrw        $0x5,%eax,%xmm9
+  .byte  65,15,182,68,16,4                   // movzbl        0x4(%r8,%rdx,1),%eax
+  .byte  102,68,15,196,200,4                 // pinsrw        $0x4,%eax,%xmm9
+  .byte  102,69,15,110,4,16                  // movd          (%r8,%rdx,1),%xmm8
+  .byte  102,69,15,56,48,192                 // pmovzxbw      %xmm8,%xmm8
+  .byte  102,69,15,58,14,193,240             // pblendw       $0xf0,%xmm9,%xmm8
+  .byte  102,68,15,219,5,172,112,0,0         // pand          0x70ac(%rip),%xmm8        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,65,15,213,192                   // pmullw        %xmm8,%xmm0
+  .byte  102,68,15,111,13,158,112,0,0        // movdqa        0x709e(%rip),%xmm9        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,65,15,253,193                   // paddw         %xmm9,%xmm0
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,65,15,213,200                   // pmullw        %xmm8,%xmm1
+  .byte  102,65,15,253,201                   // paddw         %xmm9,%xmm1
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,65,15,213,208                   // pmullw        %xmm8,%xmm2
+  .byte  102,65,15,253,209                   // paddw         %xmm9,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,68,15,213,195                   // pmullw        %xmm3,%xmm8
+  .byte  102,69,15,253,193                   // paddw         %xmm9,%xmm8
+  .byte  102,65,15,113,208,8                 // psrlw         $0x8,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,65,15,111,216                   // movdqa        %xmm8,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+  .byte  144                                 // nop
+  .byte  44,255                              // sub           $0xff,%al
+  .byte  255                                 // (bad)
+  .byte  255,82,255                          // callq         *-0x1(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255,65,255                          // incl          -0x1(%rcx)
+  .byte  255                                 // (bad)
+  .byte  255,148,255,255,255,136,255         // callq         *-0x770001(%rdi,%rdi,8)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  124,255                             // jl            35e69 <_sk_scale_u8_sse41_lowp+0x118>
+  .byte  255                                 // (bad)
+  .byte  255,107,255                         // ljmp          *-0x1(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_lerp_u8_sse41_lowp
+.globl _sk_lerp_u8_sse41_lowp
+FUNCTION(_sk_lerp_u8_sse41_lowp)
+_sk_lerp_u8_sse41_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,36                              // ja            35eab <_sk_lerp_u8_sse41_lowp+0x3b>
+  .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,30,1,0,0                  // lea           0x11e(%rip),%r9        # 35fb4 <_sk_lerp_u8_sse41_lowp+0x144>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
+  .byte  235,111                             // jmp           35f1a <_sk_lerp_u8_sse41_lowp+0xaa>
+  .byte  102,69,15,56,48,4,16                // pmovzxbw      (%r8,%rdx,1),%xmm8
+  .byte  235,102                             // jmp           35f1a <_sk_lerp_u8_sse41_lowp+0xaa>
+  .byte  65,15,182,68,16,2                   // movzbl        0x2(%r8,%rdx,1),%eax
+  .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
+  .byte  102,68,15,196,200,2                 // pinsrw        $0x2,%eax,%xmm9
+  .byte  65,15,183,4,16                      // movzwl        (%r8,%rdx,1),%eax
+  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
+  .byte  102,69,15,56,48,192                 // pmovzxbw      %xmm8,%xmm8
+  .byte  102,69,15,58,14,193,252             // pblendw       $0xfc,%xmm9,%xmm8
+  .byte  235,60                              // jmp           35f1a <_sk_lerp_u8_sse41_lowp+0xaa>
+  .byte  65,15,182,68,16,6                   // movzbl        0x6(%r8,%rdx,1),%eax
+  .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
+  .byte  102,68,15,196,200,6                 // pinsrw        $0x6,%eax,%xmm9
+  .byte  65,15,182,68,16,5                   // movzbl        0x5(%r8,%rdx,1),%eax
+  .byte  102,68,15,196,200,5                 // pinsrw        $0x5,%eax,%xmm9
+  .byte  65,15,182,68,16,4                   // movzbl        0x4(%r8,%rdx,1),%eax
+  .byte  102,68,15,196,200,4                 // pinsrw        $0x4,%eax,%xmm9
+  .byte  102,69,15,110,4,16                  // movd          (%r8,%rdx,1),%xmm8
+  .byte  102,69,15,56,48,192                 // pmovzxbw      %xmm8,%xmm8
+  .byte  102,69,15,58,14,193,240             // pblendw       $0xf0,%xmm9,%xmm8
+  .byte  102,68,15,219,5,141,111,0,0         // pand          0x6f8d(%rip),%xmm8        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,68,15,111,21,132,111,0,0        // movdqa        0x6f84(%rip),%xmm10        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,69,15,111,200                   // movdqa        %xmm8,%xmm9
+  .byte  102,69,15,239,202                   // pxor          %xmm10,%xmm9
+  .byte  102,69,15,111,217                   // movdqa        %xmm9,%xmm11
+  .byte  102,68,15,213,220                   // pmullw        %xmm4,%xmm11
+  .byte  102,65,15,213,192                   // pmullw        %xmm8,%xmm0
+  .byte  102,65,15,253,194                   // paddw         %xmm10,%xmm0
+  .byte  102,65,15,253,195                   // paddw         %xmm11,%xmm0
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,69,15,111,217                   // movdqa        %xmm9,%xmm11
+  .byte  102,68,15,213,221                   // pmullw        %xmm5,%xmm11
+  .byte  102,65,15,213,200                   // pmullw        %xmm8,%xmm1
+  .byte  102,65,15,253,202                   // paddw         %xmm10,%xmm1
+  .byte  102,65,15,253,203                   // paddw         %xmm11,%xmm1
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,69,15,111,217                   // movdqa        %xmm9,%xmm11
+  .byte  102,68,15,213,222                   // pmullw        %xmm6,%xmm11
+  .byte  102,65,15,213,208                   // pmullw        %xmm8,%xmm2
+  .byte  102,65,15,253,210                   // paddw         %xmm10,%xmm2
+  .byte  102,65,15,253,211                   // paddw         %xmm11,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,68,15,213,207                   // pmullw        %xmm7,%xmm9
+  .byte  102,68,15,213,195                   // pmullw        %xmm3,%xmm8
+  .byte  102,69,15,253,194                   // paddw         %xmm10,%xmm8
+  .byte  102,69,15,253,193                   // paddw         %xmm9,%xmm8
+  .byte  102,65,15,113,208,8                 // psrlw         $0x8,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,65,15,111,216                   // movdqa        %xmm8,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+  .byte  144                                 // nop
+  .byte  235,254                             // jmp           35fb4 <_sk_lerp_u8_sse41_lowp+0x144>
+  .byte  255                                 // (bad)
+  .byte  255,17                              // callq         *(%rcx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,83,255                          // callq         *-0x1(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255,71,255                          // incl          -0x1(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  59,255                              // cmp           %edi,%edi
+  .byte  255                                 // (bad)
+  .byte  255,42                              // ljmp          *(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_scale_565_sse41_lowp
+.globl _sk_scale_565_sse41_lowp
+FUNCTION(_sk_scale_565_sse41_lowp)
+_sk_scale_565_sse41_lowp:
+  .byte  102,68,15,111,192                   // movdqa        %xmm0,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,35                              // ja            36012 <_sk_scale_565_sse41_lowp+0x42>
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,111,1,0,0                 // lea           0x16f(%rip),%r9        # 3616c <_sk_scale_565_sse41_lowp+0x19c>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  102,68,15,110,200                   // movd          %eax,%xmm9
+  .byte  235,76                              // jmp           3605e <_sk_scale_565_sse41_lowp+0x8e>
+  .byte  243,69,15,111,12,80                 // movdqu        (%r8,%rdx,2),%xmm9
+  .byte  235,68                              // jmp           3605e <_sk_scale_565_sse41_lowp+0x8e>
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  102,65,15,196,68,80,4,2             // pinsrw        $0x2,0x4(%r8,%rdx,2),%xmm0
+  .byte  102,69,15,110,12,80                 // movd          (%r8,%rdx,2),%xmm9
+  .byte  102,68,15,58,14,200,252             // pblendw       $0xfc,%xmm0,%xmm9
+  .byte  235,41                              // jmp           3605e <_sk_scale_565_sse41_lowp+0x8e>
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  102,65,15,196,68,80,12,6            // pinsrw        $0x6,0xc(%r8,%rdx,2),%xmm0
+  .byte  102,65,15,196,68,80,10,5            // pinsrw        $0x5,0xa(%r8,%rdx,2),%xmm0
+  .byte  102,65,15,196,68,80,8,4             // pinsrw        $0x4,0x8(%r8,%rdx,2),%xmm0
+  .byte  243,69,15,126,12,80                 // movq          (%r8,%rdx,2),%xmm9
+  .byte  102,68,15,58,14,200,240             // pblendw       $0xf0,%xmm0,%xmm9
+  .byte  102,65,15,111,193                   // movdqa        %xmm9,%xmm0
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,15,219,5,16,118,0,0             // pand          0x7610(%rip),%xmm0        # 3d680 <_sk_srcover_bgra_8888_sse2_lowp+0x1434>
+  .byte  102,69,15,111,209                   // movdqa        %xmm9,%xmm10
+  .byte  102,65,15,113,210,5                 // psrlw         $0x5,%xmm10
+  .byte  102,68,15,219,21,12,118,0,0         // pand          0x760c(%rip),%xmm10        # 3d690 <_sk_srcover_bgra_8888_sse2_lowp+0x1444>
+  .byte  102,68,15,111,29,19,118,0,0         // movdqa        0x7613(%rip),%xmm11        # 3d6a0 <_sk_srcover_bgra_8888_sse2_lowp+0x1454>
+  .byte  102,69,15,219,217                   // pand          %xmm9,%xmm11
+  .byte  102,65,15,113,209,13                // psrlw         $0xd,%xmm9
+  .byte  102,68,15,235,200                   // por           %xmm0,%xmm9
+  .byte  102,65,15,111,194                   // movdqa        %xmm10,%xmm0
+  .byte  102,15,113,240,2                    // psllw         $0x2,%xmm0
+  .byte  102,65,15,113,210,4                 // psrlw         $0x4,%xmm10
+  .byte  102,68,15,235,208                   // por           %xmm0,%xmm10
+  .byte  102,65,15,111,195                   // movdqa        %xmm11,%xmm0
+  .byte  102,15,113,240,3                    // psllw         $0x3,%xmm0
+  .byte  102,65,15,113,211,2                 // psrlw         $0x2,%xmm11
+  .byte  102,68,15,235,216                   // por           %xmm0,%xmm11
+  .byte  102,15,111,5,113,117,0,0            // movdqa        0x7571(%rip),%xmm0        # 3d640 <_sk_srcover_bgra_8888_sse2_lowp+0x13f4>
+  .byte  102,68,15,111,227                   // movdqa        %xmm3,%xmm12
+  .byte  102,68,15,239,224                   // pxor          %xmm0,%xmm12
+  .byte  102,15,239,199                      // pxor          %xmm7,%xmm0
+  .byte  102,65,15,101,196                   // pcmpgtw       %xmm12,%xmm0
+  .byte  102,69,15,111,234                   // movdqa        %xmm10,%xmm13
+  .byte  102,69,15,56,58,235                 // pminuw        %xmm11,%xmm13
+  .byte  102,69,15,56,58,233                 // pminuw        %xmm9,%xmm13
+  .byte  102,69,15,111,226                   // movdqa        %xmm10,%xmm12
+  .byte  102,69,15,56,62,227                 // pmaxuw        %xmm11,%xmm12
+  .byte  102,69,15,56,62,225                 // pmaxuw        %xmm9,%xmm12
+  .byte  102,69,15,56,16,229                 // pblendvb      %xmm0,%xmm13,%xmm12
+  .byte  102,69,15,213,200                   // pmullw        %xmm8,%xmm9
+  .byte  102,15,111,5,153,109,0,0            // movdqa        0x6d99(%rip),%xmm0        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,68,15,253,200                   // paddw         %xmm0,%xmm9
+  .byte  102,65,15,113,209,8                 // psrlw         $0x8,%xmm9
+  .byte  102,68,15,213,209                   // pmullw        %xmm1,%xmm10
+  .byte  102,68,15,253,208                   // paddw         %xmm0,%xmm10
+  .byte  102,65,15,113,210,8                 // psrlw         $0x8,%xmm10
+  .byte  102,68,15,213,218                   // pmullw        %xmm2,%xmm11
+  .byte  102,68,15,253,216                   // paddw         %xmm0,%xmm11
+  .byte  102,65,15,113,211,8                 // psrlw         $0x8,%xmm11
+  .byte  102,68,15,213,227                   // pmullw        %xmm3,%xmm12
+  .byte  102,68,15,253,224                   // paddw         %xmm0,%xmm12
+  .byte  102,65,15,113,212,8                 // psrlw         $0x8,%xmm12
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,65,15,111,193                   // movdqa        %xmm9,%xmm0
+  .byte  102,65,15,111,202                   // movdqa        %xmm10,%xmm1
+  .byte  102,65,15,111,211                   // movdqa        %xmm11,%xmm2
+  .byte  102,65,15,111,220                   // movdqa        %xmm12,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  154                                 // (bad)
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  186,254,255,255,174                 // mov           $0xaefffffe,%edx
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,229                             // jmpq          *%rbp
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  221,254                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,213                             // callq         *%rbp
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,201                             // dec           %ecx
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_lerp_565_sse41_lowp
+.globl _sk_lerp_565_sse41_lowp
+FUNCTION(_sk_lerp_565_sse41_lowp)
+_sk_lerp_565_sse41_lowp:
+  .byte  102,68,15,111,192                   // movdqa        %xmm0,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,35                              // ja            361ca <_sk_lerp_565_sse41_lowp+0x42>
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,187,1,0,0                 // lea           0x1bb(%rip),%r9        # 36370 <_sk_lerp_565_sse41_lowp+0x1e8>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  102,68,15,110,200                   // movd          %eax,%xmm9
+  .byte  235,76                              // jmp           36216 <_sk_lerp_565_sse41_lowp+0x8e>
+  .byte  243,69,15,111,12,80                 // movdqu        (%r8,%rdx,2),%xmm9
+  .byte  235,68                              // jmp           36216 <_sk_lerp_565_sse41_lowp+0x8e>
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  102,65,15,196,68,80,4,2             // pinsrw        $0x2,0x4(%r8,%rdx,2),%xmm0
+  .byte  102,69,15,110,12,80                 // movd          (%r8,%rdx,2),%xmm9
+  .byte  102,68,15,58,14,200,252             // pblendw       $0xfc,%xmm0,%xmm9
+  .byte  235,41                              // jmp           36216 <_sk_lerp_565_sse41_lowp+0x8e>
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  102,65,15,196,68,80,12,6            // pinsrw        $0x6,0xc(%r8,%rdx,2),%xmm0
+  .byte  102,65,15,196,68,80,10,5            // pinsrw        $0x5,0xa(%r8,%rdx,2),%xmm0
+  .byte  102,65,15,196,68,80,8,4             // pinsrw        $0x4,0x8(%r8,%rdx,2),%xmm0
+  .byte  243,69,15,126,12,80                 // movq          (%r8,%rdx,2),%xmm9
+  .byte  102,68,15,58,14,200,240             // pblendw       $0xf0,%xmm0,%xmm9
+  .byte  102,65,15,111,193                   // movdqa        %xmm9,%xmm0
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,15,219,5,88,116,0,0             // pand          0x7458(%rip),%xmm0        # 3d680 <_sk_srcover_bgra_8888_sse2_lowp+0x1434>
+  .byte  102,69,15,111,209                   // movdqa        %xmm9,%xmm10
+  .byte  102,65,15,113,210,5                 // psrlw         $0x5,%xmm10
+  .byte  102,68,15,219,21,84,116,0,0         // pand          0x7454(%rip),%xmm10        # 3d690 <_sk_srcover_bgra_8888_sse2_lowp+0x1444>
+  .byte  102,68,15,111,29,91,116,0,0         // movdqa        0x745b(%rip),%xmm11        # 3d6a0 <_sk_srcover_bgra_8888_sse2_lowp+0x1454>
+  .byte  102,69,15,219,217                   // pand          %xmm9,%xmm11
+  .byte  102,65,15,113,209,13                // psrlw         $0xd,%xmm9
+  .byte  102,68,15,235,200                   // por           %xmm0,%xmm9
+  .byte  102,65,15,111,194                   // movdqa        %xmm10,%xmm0
+  .byte  102,15,113,240,2                    // psllw         $0x2,%xmm0
+  .byte  102,65,15,113,210,4                 // psrlw         $0x4,%xmm10
+  .byte  102,68,15,235,208                   // por           %xmm0,%xmm10
+  .byte  102,65,15,111,195                   // movdqa        %xmm11,%xmm0
+  .byte  102,15,113,240,3                    // psllw         $0x3,%xmm0
+  .byte  102,65,15,113,211,2                 // psrlw         $0x2,%xmm11
+  .byte  102,68,15,235,216                   // por           %xmm0,%xmm11
+  .byte  102,15,111,5,185,115,0,0            // movdqa        0x73b9(%rip),%xmm0        # 3d640 <_sk_srcover_bgra_8888_sse2_lowp+0x13f4>
+  .byte  102,68,15,111,227                   // movdqa        %xmm3,%xmm12
+  .byte  102,68,15,239,224                   // pxor          %xmm0,%xmm12
+  .byte  102,15,239,199                      // pxor          %xmm7,%xmm0
+  .byte  102,65,15,101,196                   // pcmpgtw       %xmm12,%xmm0
+  .byte  102,69,15,111,234                   // movdqa        %xmm10,%xmm13
+  .byte  102,69,15,56,58,235                 // pminuw        %xmm11,%xmm13
+  .byte  102,69,15,56,58,233                 // pminuw        %xmm9,%xmm13
+  .byte  102,69,15,111,226                   // movdqa        %xmm10,%xmm12
+  .byte  102,69,15,56,62,227                 // pmaxuw        %xmm11,%xmm12
+  .byte  102,69,15,56,62,225                 // pmaxuw        %xmm9,%xmm12
+  .byte  102,69,15,56,16,229                 // pblendvb      %xmm0,%xmm13,%xmm12
+  .byte  102,68,15,111,45,229,107,0,0        // movdqa        0x6be5(%rip),%xmm13        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,65,15,111,193                   // movdqa        %xmm9,%xmm0
+  .byte  102,65,15,239,197                   // pxor          %xmm13,%xmm0
+  .byte  102,15,213,196                      // pmullw        %xmm4,%xmm0
+  .byte  102,69,15,213,200                   // pmullw        %xmm8,%xmm9
+  .byte  102,69,15,253,205                   // paddw         %xmm13,%xmm9
+  .byte  102,68,15,253,200                   // paddw         %xmm0,%xmm9
+  .byte  102,65,15,113,209,8                 // psrlw         $0x8,%xmm9
+  .byte  102,65,15,111,194                   // movdqa        %xmm10,%xmm0
+  .byte  102,65,15,239,197                   // pxor          %xmm13,%xmm0
+  .byte  102,15,213,197                      // pmullw        %xmm5,%xmm0
+  .byte  102,68,15,213,209                   // pmullw        %xmm1,%xmm10
+  .byte  102,69,15,253,213                   // paddw         %xmm13,%xmm10
+  .byte  102,68,15,253,208                   // paddw         %xmm0,%xmm10
+  .byte  102,65,15,113,210,8                 // psrlw         $0x8,%xmm10
+  .byte  102,65,15,111,195                   // movdqa        %xmm11,%xmm0
+  .byte  102,65,15,239,197                   // pxor          %xmm13,%xmm0
+  .byte  102,15,213,198                      // pmullw        %xmm6,%xmm0
+  .byte  102,68,15,213,218                   // pmullw        %xmm2,%xmm11
+  .byte  102,69,15,253,221                   // paddw         %xmm13,%xmm11
+  .byte  102,68,15,253,216                   // paddw         %xmm0,%xmm11
+  .byte  102,65,15,113,211,8                 // psrlw         $0x8,%xmm11
+  .byte  102,65,15,111,196                   // movdqa        %xmm12,%xmm0
+  .byte  102,65,15,239,197                   // pxor          %xmm13,%xmm0
+  .byte  102,15,213,199                      // pmullw        %xmm7,%xmm0
+  .byte  102,68,15,213,227                   // pmullw        %xmm3,%xmm12
+  .byte  102,69,15,253,229                   // paddw         %xmm13,%xmm12
+  .byte  102,68,15,253,224                   // paddw         %xmm0,%xmm12
+  .byte  102,65,15,113,212,8                 // psrlw         $0x8,%xmm12
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,65,15,111,193                   // movdqa        %xmm9,%xmm0
+  .byte  102,65,15,111,202                   // movdqa        %xmm10,%xmm1
+  .byte  102,65,15,111,211                   // movdqa        %xmm11,%xmm2
+  .byte  102,65,15,111,220                   // movdqa        %xmm12,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+  .byte  144                                 // nop
+  .byte  78,254                              // rex.WRX       (bad)
+  .byte  255                                 // (bad)
+  .byte  255,110,254                         // ljmp          *-0x2(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255,98,254                          // jmpq          *-0x2(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255,153,254,255,255,145             // lcall         *-0x6e000002(%rcx)
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,137,254,255,255,125             // decl          0x7dfffffe(%rcx)
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_clamp_x_1_sse41_lowp
+.globl _sk_clamp_x_1_sse41_lowp
+FUNCTION(_sk_clamp_x_1_sse41_lowp)
+_sk_clamp_x_1_sse41_lowp:
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  65,15,95,200                        // maxps         %xmm8,%xmm1
+  .byte  65,15,95,192                        // maxps         %xmm8,%xmm0
+  .byte  68,15,40,5,112,107,0,0              // movaps        0x6b70(%rip),%xmm8        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  65,15,93,192                        // minps         %xmm8,%xmm0
+  .byte  65,15,93,200                        // minps         %xmm8,%xmm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_repeat_x_1_sse41_lowp
+.globl _sk_repeat_x_1_sse41_lowp
+FUNCTION(_sk_repeat_x_1_sse41_lowp)
+_sk_repeat_x_1_sse41_lowp:
+  .byte  102,68,15,58,8,192,1                // roundps       $0x1,%xmm0,%xmm8
+  .byte  102,68,15,58,8,201,1                // roundps       $0x1,%xmm1,%xmm9
+  .byte  65,15,92,192                        // subps         %xmm8,%xmm0
+  .byte  65,15,92,201                        // subps         %xmm9,%xmm1
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  65,15,95,200                        // maxps         %xmm8,%xmm1
+  .byte  65,15,95,192                        // maxps         %xmm8,%xmm0
+  .byte  68,15,40,5,58,107,0,0               // movaps        0x6b3a(%rip),%xmm8        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  65,15,93,192                        // minps         %xmm8,%xmm0
+  .byte  65,15,93,200                        // minps         %xmm8,%xmm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_mirror_x_1_sse41_lowp
+.globl _sk_mirror_x_1_sse41_lowp
+FUNCTION(_sk_mirror_x_1_sse41_lowp)
+_sk_mirror_x_1_sse41_lowp:
+  .byte  68,15,40,5,134,107,0,0              // movaps        0x6b86(%rip),%xmm8        # 3cf70 <_sk_srcover_bgra_8888_sse2_lowp+0xd24>
+  .byte  65,15,88,192                        // addps         %xmm8,%xmm0
+  .byte  65,15,88,200                        // addps         %xmm8,%xmm1
+  .byte  68,15,40,13,6,107,0,0               // movaps        0x6b06(%rip),%xmm9        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  68,15,40,209                        // movaps        %xmm1,%xmm10
+  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
+  .byte  68,15,89,200                        // mulps         %xmm0,%xmm9
+  .byte  102,69,15,58,8,201,1                // roundps       $0x1,%xmm9,%xmm9
+  .byte  102,69,15,58,8,210,1                // roundps       $0x1,%xmm10,%xmm10
+  .byte  69,15,88,210                        // addps         %xmm10,%xmm10
+  .byte  69,15,88,201                        // addps         %xmm9,%xmm9
+  .byte  65,15,92,193                        // subps         %xmm9,%xmm0
+  .byte  65,15,92,202                        // subps         %xmm10,%xmm1
+  .byte  65,15,88,200                        // addps         %xmm8,%xmm1
+  .byte  65,15,88,192                        // addps         %xmm8,%xmm0
+  .byte  68,15,40,5,60,112,0,0               // movaps        0x703c(%rip),%xmm8        # 3d470 <_sk_srcover_bgra_8888_sse2_lowp+0x1224>
+  .byte  65,15,84,192                        // andps         %xmm8,%xmm0
+  .byte  65,15,84,200                        // andps         %xmm8,%xmm1
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  65,15,95,200                        // maxps         %xmm8,%xmm1
+  .byte  65,15,95,192                        // maxps         %xmm8,%xmm0
+  .byte  68,15,40,5,192,106,0,0              // movaps        0x6ac0(%rip),%xmm8        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  65,15,93,192                        // minps         %xmm8,%xmm0
+  .byte  65,15,93,200                        // minps         %xmm8,%xmm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_decal_x_sse41_lowp
+.globl _sk_decal_x_sse41_lowp
+FUNCTION(_sk_decal_x_sse41_lowp)
+_sk_decal_x_sse41_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,194,201,2                     // cmpleps       %xmm1,%xmm9
+  .byte  102,68,15,111,21,220,113,0,0        // movdqa        0x71dc(%rip),%xmm10        # 3d650 <_sk_srcover_bgra_8888_sse2_lowp+0x1404>
+  .byte  102,69,15,56,0,202                  // pshufb        %xmm10,%xmm9
+  .byte  68,15,194,192,2                     // cmpleps       %xmm0,%xmm8
+  .byte  102,69,15,56,0,194                  // pshufb        %xmm10,%xmm8
+  .byte  102,69,15,108,193                   // punpcklqdq    %xmm9,%xmm8
+  .byte  102,65,15,113,240,15                // psllw         $0xf,%xmm8
+  .byte  102,65,15,113,224,15                // psraw         $0xf,%xmm8
+  .byte  243,68,15,16,72,64                  // movss         0x40(%rax),%xmm9
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  68,15,40,217                        // movaps        %xmm1,%xmm11
+  .byte  69,15,194,217,1                     // cmpltps       %xmm9,%xmm11
+  .byte  102,69,15,56,0,218                  // pshufb        %xmm10,%xmm11
+  .byte  68,15,40,224                        // movaps        %xmm0,%xmm12
+  .byte  69,15,194,225,1                     // cmpltps       %xmm9,%xmm12
+  .byte  102,69,15,56,0,226                  // pshufb        %xmm10,%xmm12
+  .byte  102,69,15,108,227                   // punpcklqdq    %xmm11,%xmm12
+  .byte  102,65,15,113,244,15                // psllw         $0xf,%xmm12
+  .byte  102,65,15,113,228,15                // psraw         $0xf,%xmm12
+  .byte  102,69,15,219,224                   // pand          %xmm8,%xmm12
+  .byte  243,68,15,127,32                    // movdqu        %xmm12,(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_decal_y_sse41_lowp
+.globl _sk_decal_y_sse41_lowp
+FUNCTION(_sk_decal_y_sse41_lowp)
+_sk_decal_y_sse41_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,194,203,2                     // cmpleps       %xmm3,%xmm9
+  .byte  102,68,15,111,21,90,113,0,0         // movdqa        0x715a(%rip),%xmm10        # 3d650 <_sk_srcover_bgra_8888_sse2_lowp+0x1404>
+  .byte  102,69,15,56,0,202                  // pshufb        %xmm10,%xmm9
+  .byte  68,15,194,194,2                     // cmpleps       %xmm2,%xmm8
+  .byte  102,69,15,56,0,194                  // pshufb        %xmm10,%xmm8
+  .byte  102,69,15,108,193                   // punpcklqdq    %xmm9,%xmm8
+  .byte  102,65,15,113,240,15                // psllw         $0xf,%xmm8
+  .byte  102,65,15,113,224,15                // psraw         $0xf,%xmm8
+  .byte  243,68,15,16,72,68                  // movss         0x44(%rax),%xmm9
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  68,15,40,219                        // movaps        %xmm3,%xmm11
+  .byte  69,15,194,217,1                     // cmpltps       %xmm9,%xmm11
+  .byte  102,69,15,56,0,218                  // pshufb        %xmm10,%xmm11
+  .byte  68,15,40,226                        // movaps        %xmm2,%xmm12
+  .byte  69,15,194,225,1                     // cmpltps       %xmm9,%xmm12
+  .byte  102,69,15,56,0,226                  // pshufb        %xmm10,%xmm12
+  .byte  102,69,15,108,227                   // punpcklqdq    %xmm11,%xmm12
+  .byte  102,65,15,113,244,15                // psllw         $0xf,%xmm12
+  .byte  102,65,15,113,228,15                // psraw         $0xf,%xmm12
+  .byte  102,69,15,219,224                   // pand          %xmm8,%xmm12
+  .byte  243,68,15,127,32                    // movdqu        %xmm12,(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_decal_x_and_y_sse41_lowp
+.globl _sk_decal_x_and_y_sse41_lowp
+FUNCTION(_sk_decal_x_and_y_sse41_lowp)
+_sk_decal_x_and_y_sse41_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  69,15,87,219                        // xorps         %xmm11,%xmm11
+  .byte  68,15,194,217,2                     // cmpleps       %xmm1,%xmm11
+  .byte  102,68,15,111,13,216,112,0,0        // movdqa        0x70d8(%rip),%xmm9        # 3d650 <_sk_srcover_bgra_8888_sse2_lowp+0x1404>
+  .byte  102,69,15,56,0,217                  // pshufb        %xmm9,%xmm11
+  .byte  69,15,87,210                        // xorps         %xmm10,%xmm10
+  .byte  68,15,194,208,2                     // cmpleps       %xmm0,%xmm10
+  .byte  102,69,15,56,0,209                  // pshufb        %xmm9,%xmm10
+  .byte  102,69,15,108,211                   // punpcklqdq    %xmm11,%xmm10
+  .byte  102,65,15,113,242,15                // psllw         $0xf,%xmm10
+  .byte  102,65,15,113,226,15                // psraw         $0xf,%xmm10
+  .byte  243,68,15,16,96,64                  // movss         0x40(%rax),%xmm12
+  .byte  243,68,15,16,88,68                  // movss         0x44(%rax),%xmm11
+  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
+  .byte  68,15,40,233                        // movaps        %xmm1,%xmm13
+  .byte  69,15,194,236,1                     // cmpltps       %xmm12,%xmm13
+  .byte  102,69,15,56,0,233                  // pshufb        %xmm9,%xmm13
+  .byte  68,15,40,240                        // movaps        %xmm0,%xmm14
+  .byte  69,15,194,244,1                     // cmpltps       %xmm12,%xmm14
+  .byte  102,69,15,56,0,241                  // pshufb        %xmm9,%xmm14
+  .byte  102,69,15,108,245                   // punpcklqdq    %xmm13,%xmm14
+  .byte  102,65,15,113,246,15                // psllw         $0xf,%xmm14
+  .byte  102,65,15,113,230,15                // psraw         $0xf,%xmm14
+  .byte  69,15,87,228                        // xorps         %xmm12,%xmm12
+  .byte  68,15,194,227,2                     // cmpleps       %xmm3,%xmm12
+  .byte  102,69,15,56,0,225                  // pshufb        %xmm9,%xmm12
+  .byte  68,15,194,194,2                     // cmpleps       %xmm2,%xmm8
+  .byte  102,69,15,56,0,193                  // pshufb        %xmm9,%xmm8
+  .byte  102,69,15,108,196                   // punpcklqdq    %xmm12,%xmm8
+  .byte  102,65,15,113,240,15                // psllw         $0xf,%xmm8
+  .byte  102,65,15,113,224,15                // psraw         $0xf,%xmm8
+  .byte  102,69,15,219,194                   // pand          %xmm10,%xmm8
+  .byte  102,69,15,219,198                   // pand          %xmm14,%xmm8
+  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
+  .byte  68,15,40,211                        // movaps        %xmm3,%xmm10
+  .byte  69,15,194,211,1                     // cmpltps       %xmm11,%xmm10
+  .byte  102,69,15,56,0,209                  // pshufb        %xmm9,%xmm10
+  .byte  68,15,40,226                        // movaps        %xmm2,%xmm12
+  .byte  69,15,194,227,1                     // cmpltps       %xmm11,%xmm12
+  .byte  102,69,15,56,0,225                  // pshufb        %xmm9,%xmm12
+  .byte  102,69,15,108,226                   // punpcklqdq    %xmm10,%xmm12
+  .byte  102,65,15,113,244,15                // psllw         $0xf,%xmm12
+  .byte  102,65,15,113,228,15                // psraw         $0xf,%xmm12
+  .byte  102,69,15,219,224                   // pand          %xmm8,%xmm12
+  .byte  243,68,15,127,32                    // movdqu        %xmm12,(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_check_decal_mask_sse41_lowp
+.globl _sk_check_decal_mask_sse41_lowp
+FUNCTION(_sk_check_decal_mask_sse41_lowp)
+_sk_check_decal_mask_sse41_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  68,15,16,0                          // movups        (%rax),%xmm8
+  .byte  65,15,84,192                        // andps         %xmm8,%xmm0
+  .byte  65,15,84,200                        // andps         %xmm8,%xmm1
+  .byte  65,15,84,208                        // andps         %xmm8,%xmm2
+  .byte  65,15,84,216                        // andps         %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_gradient_sse41_lowp
+.globl _sk_gradient_sse41_lowp
+FUNCTION(_sk_gradient_sse41_lowp)
+_sk_gradient_sse41_lowp:
+  .byte  85                                  // push          %rbp
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,85                               // push          %r13
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  15,41,124,36,232                    // movaps        %xmm7,-0x18(%rsp)
+  .byte  15,41,116,36,216                    // movaps        %xmm6,-0x28(%rsp)
+  .byte  72,137,76,36,208                    // mov           %rcx,-0x30(%rsp)
+  .byte  72,137,84,36,200                    // mov           %rdx,-0x38(%rsp)
+  .byte  72,137,124,36,192                   // mov           %rdi,-0x40(%rsp)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  72,137,116,36,184                   // mov           %rsi,-0x48(%rsp)
+  .byte  72,139,8                            // mov           (%rax),%rcx
+  .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
+  .byte  72,131,249,2                        // cmp           $0x2,%rcx
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  114,57                              // jb            366e4 <_sk_gradient_sse41_lowp+0x75>
+  .byte  72,139,80,72                        // mov           0x48(%rax),%rdx
+  .byte  72,255,201                          // dec           %rcx
+  .byte  72,131,194,4                        // add           $0x4,%rdx
+  .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  243,15,16,18                        // movss         (%rdx),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  15,40,250                           // movaps        %xmm2,%xmm7
+  .byte  15,194,248,2                        // cmpleps       %xmm0,%xmm7
+  .byte  102,68,15,250,207                   // psubd         %xmm7,%xmm9
+  .byte  15,194,209,2                        // cmpleps       %xmm1,%xmm2
+  .byte  102,15,250,218                      // psubd         %xmm2,%xmm3
+  .byte  72,131,194,4                        // add           $0x4,%rdx
+  .byte  72,255,201                          // dec           %rcx
+  .byte  117,219                             // jne           366bf <_sk_gradient_sse41_lowp+0x50>
+  .byte  102,72,15,58,22,219,1               // pextrq        $0x1,%xmm3,%rbx
+  .byte  65,137,221                          // mov           %ebx,%r13d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  102,72,15,126,221                   // movq          %xmm3,%rbp
+  .byte  137,239                             // mov           %ebp,%edi
+  .byte  72,193,237,32                       // shr           $0x20,%rbp
+  .byte  102,69,15,126,200                   // movd          %xmm9,%r8d
+  .byte  102,69,15,58,22,201,1               // pextrd        $0x1,%xmm9,%r9d
+  .byte  102,69,15,58,22,202,2               // pextrd        $0x2,%xmm9,%r10d
+  .byte  72,139,72,8                         // mov           0x8(%rax),%rcx
+  .byte  243,68,15,16,44,185                 // movss         (%rcx,%rdi,4),%xmm13
+  .byte  102,68,15,58,33,44,169,16           // insertps      $0x10,(%rcx,%rbp,4),%xmm13
+  .byte  243,66,15,16,20,169                 // movss         (%rcx,%r13,4),%xmm2
+  .byte  243,68,15,16,4,153                  // movss         (%rcx,%rbx,4),%xmm8
+  .byte  243,66,15,16,28,129                 // movss         (%rcx,%r8,4),%xmm3
+  .byte  102,66,15,58,33,28,137,16           // insertps      $0x10,(%rcx,%r9,4),%xmm3
+  .byte  102,66,15,58,33,28,145,32           // insertps      $0x20,(%rcx,%r10,4),%xmm3
+  .byte  102,69,15,58,22,203,3               // pextrd        $0x3,%xmm9,%r11d
+  .byte  102,66,15,58,33,28,153,48           // insertps      $0x30,(%rcx,%r11,4),%xmm3
+  .byte  102,68,15,58,33,234,32              // insertps      $0x20,%xmm2,%xmm13
+  .byte  76,139,96,16                        // mov           0x10(%rax),%r12
+  .byte  243,69,15,16,12,188                 // movss         (%r12,%rdi,4),%xmm9
+  .byte  76,139,120,24                       // mov           0x18(%rax),%r15
+  .byte  243,69,15,16,28,191                 // movss         (%r15,%rdi,4),%xmm11
+  .byte  76,139,112,32                       // mov           0x20(%rax),%r14
+  .byte  243,69,15,16,20,190                 // movss         (%r14,%rdi,4),%xmm10
+  .byte  72,139,112,40                       // mov           0x28(%rax),%rsi
+  .byte  243,68,15,16,60,190                 // movss         (%rsi,%rdi,4),%xmm15
+  .byte  72,139,80,48                        // mov           0x30(%rax),%rdx
+  .byte  243,68,15,16,52,186                 // movss         (%rdx,%rdi,4),%xmm14
+  .byte  72,139,72,56                        // mov           0x38(%rax),%rcx
+  .byte  243,15,16,20,185                    // movss         (%rcx,%rdi,4),%xmm2
+  .byte  72,139,64,64                        // mov           0x40(%rax),%rax
+  .byte  243,68,15,16,36,184                 // movss         (%rax,%rdi,4),%xmm12
+  .byte  102,69,15,58,33,12,172,16           // insertps      $0x10,(%r12,%rbp,4),%xmm9
+  .byte  102,69,15,58,33,28,175,16           // insertps      $0x10,(%r15,%rbp,4),%xmm11
+  .byte  102,69,15,58,33,20,174,16           // insertps      $0x10,(%r14,%rbp,4),%xmm10
+  .byte  102,68,15,58,33,60,174,16           // insertps      $0x10,(%rsi,%rbp,4),%xmm15
+  .byte  102,68,15,58,33,52,170,16           // insertps      $0x10,(%rdx,%rbp,4),%xmm14
+  .byte  102,15,58,33,20,169,16              // insertps      $0x10,(%rcx,%rbp,4),%xmm2
+  .byte  102,68,15,58,33,36,168,16           // insertps      $0x10,(%rax,%rbp,4),%xmm12
+  .byte  102,69,15,58,33,232,48              // insertps      $0x30,%xmm8,%xmm13
+  .byte  243,67,15,16,60,172                 // movss         (%r12,%r13,4),%xmm7
+  .byte  102,68,15,58,33,207,32              // insertps      $0x20,%xmm7,%xmm9
+  .byte  243,65,15,16,60,156                 // movss         (%r12,%rbx,4),%xmm7
+  .byte  102,68,15,58,33,207,48              // insertps      $0x30,%xmm7,%xmm9
+  .byte  243,67,15,16,60,175                 // movss         (%r15,%r13,4),%xmm7
+  .byte  102,68,15,58,33,223,32              // insertps      $0x20,%xmm7,%xmm11
+  .byte  243,65,15,16,60,159                 // movss         (%r15,%rbx,4),%xmm7
+  .byte  102,68,15,58,33,223,48              // insertps      $0x30,%xmm7,%xmm11
+  .byte  243,67,15,16,60,174                 // movss         (%r14,%r13,4),%xmm7
+  .byte  102,68,15,58,33,215,32              // insertps      $0x20,%xmm7,%xmm10
+  .byte  243,65,15,16,60,158                 // movss         (%r14,%rbx,4),%xmm7
+  .byte  102,68,15,58,33,215,48              // insertps      $0x30,%xmm7,%xmm10
+  .byte  243,66,15,16,60,174                 // movss         (%rsi,%r13,4),%xmm7
+  .byte  102,68,15,58,33,255,32              // insertps      $0x20,%xmm7,%xmm15
+  .byte  243,15,16,60,158                    // movss         (%rsi,%rbx,4),%xmm7
+  .byte  102,68,15,58,33,255,48              // insertps      $0x30,%xmm7,%xmm15
+  .byte  243,66,15,16,60,170                 // movss         (%rdx,%r13,4),%xmm7
+  .byte  102,68,15,58,33,247,32              // insertps      $0x20,%xmm7,%xmm14
+  .byte  243,15,16,60,154                    // movss         (%rdx,%rbx,4),%xmm7
+  .byte  102,68,15,58,33,247,48              // insertps      $0x30,%xmm7,%xmm14
+  .byte  243,66,15,16,60,169                 // movss         (%rcx,%r13,4),%xmm7
+  .byte  102,15,58,33,215,32                 // insertps      $0x20,%xmm7,%xmm2
+  .byte  243,15,16,60,153                    // movss         (%rcx,%rbx,4),%xmm7
+  .byte  102,15,58,33,215,48                 // insertps      $0x30,%xmm7,%xmm2
+  .byte  243,66,15,16,60,168                 // movss         (%rax,%r13,4),%xmm7
+  .byte  102,68,15,58,33,231,32              // insertps      $0x20,%xmm7,%xmm12
+  .byte  243,15,16,60,152                    // movss         (%rax,%rbx,4),%xmm7
+  .byte  102,68,15,58,33,231,48              // insertps      $0x30,%xmm7,%xmm12
+  .byte  243,66,15,16,60,134                 // movss         (%rsi,%r8,4),%xmm7
+  .byte  102,66,15,58,33,60,142,16           // insertps      $0x10,(%rsi,%r9,4),%xmm7
+  .byte  102,66,15,58,33,60,150,32           // insertps      $0x20,(%rsi,%r10,4),%xmm7
+  .byte  102,66,15,58,33,60,158,48           // insertps      $0x30,(%rsi,%r11,4),%xmm7
+  .byte  68,15,89,233                        // mulps         %xmm1,%xmm13
+  .byte  69,15,88,239                        // addps         %xmm15,%xmm13
+  .byte  15,89,216                           // mulps         %xmm0,%xmm3
+  .byte  15,88,223                           // addps         %xmm7,%xmm3
+  .byte  15,40,61,48,103,0,0                 // movaps        0x6730(%rip),%xmm7        # 3cff0 <_sk_srcover_bgra_8888_sse2_lowp+0xda4>
+  .byte  68,15,89,239                        // mulps         %xmm7,%xmm13
+  .byte  15,89,223                           // mulps         %xmm7,%xmm3
+  .byte  68,15,40,61,49,102,0,0              // movaps        0x6631(%rip),%xmm15        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  69,15,88,239                        // addps         %xmm15,%xmm13
+  .byte  65,15,88,223                        // addps         %xmm15,%xmm3
+  .byte  243,65,15,91,245                    // cvttps2dq     %xmm13,%xmm6
+  .byte  102,68,15,111,45,107,109,0,0        // movdqa        0x6d6b(%rip),%xmm13        # 3d650 <_sk_srcover_bgra_8888_sse2_lowp+0x1404>
+  .byte  102,65,15,56,0,245                  // pshufb        %xmm13,%xmm6
+  .byte  243,68,15,91,195                    // cvttps2dq     %xmm3,%xmm8
+  .byte  102,69,15,56,0,197                  // pshufb        %xmm13,%xmm8
+  .byte  102,68,15,108,198                   // punpcklqdq    %xmm6,%xmm8
+  .byte  68,15,89,201                        // mulps         %xmm1,%xmm9
+  .byte  69,15,88,206                        // addps         %xmm14,%xmm9
+  .byte  243,67,15,16,28,132                 // movss         (%r12,%r8,4),%xmm3
+  .byte  102,67,15,58,33,28,140,16           // insertps      $0x10,(%r12,%r9,4),%xmm3
+  .byte  102,67,15,58,33,28,148,32           // insertps      $0x20,(%r12,%r10,4),%xmm3
+  .byte  102,67,15,58,33,28,156,48           // insertps      $0x30,(%r12,%r11,4),%xmm3
+  .byte  243,66,15,16,52,130                 // movss         (%rdx,%r8,4),%xmm6
+  .byte  102,66,15,58,33,52,138,16           // insertps      $0x10,(%rdx,%r9,4),%xmm6
+  .byte  102,66,15,58,33,52,146,32           // insertps      $0x20,(%rdx,%r10,4),%xmm6
+  .byte  102,66,15,58,33,52,154,48           // insertps      $0x30,(%rdx,%r11,4),%xmm6
+  .byte  15,89,216                           // mulps         %xmm0,%xmm3
+  .byte  15,88,222                           // addps         %xmm6,%xmm3
+  .byte  68,15,89,207                        // mulps         %xmm7,%xmm9
+  .byte  15,89,223                           // mulps         %xmm7,%xmm3
+  .byte  69,15,88,207                        // addps         %xmm15,%xmm9
+  .byte  65,15,88,223                        // addps         %xmm15,%xmm3
+  .byte  243,65,15,91,241                    // cvttps2dq     %xmm9,%xmm6
+  .byte  102,65,15,56,0,245                  // pshufb        %xmm13,%xmm6
+  .byte  243,68,15,91,203                    // cvttps2dq     %xmm3,%xmm9
+  .byte  102,69,15,56,0,205                  // pshufb        %xmm13,%xmm9
+  .byte  102,68,15,108,206                   // punpcklqdq    %xmm6,%xmm9
+  .byte  243,67,15,16,28,135                 // movss         (%r15,%r8,4),%xmm3
+  .byte  102,67,15,58,33,28,143,16           // insertps      $0x10,(%r15,%r9,4),%xmm3
+  .byte  102,67,15,58,33,28,151,32           // insertps      $0x20,(%r15,%r10,4),%xmm3
+  .byte  102,67,15,58,33,28,159,48           // insertps      $0x30,(%r15,%r11,4),%xmm3
+  .byte  68,15,89,217                        // mulps         %xmm1,%xmm11
+  .byte  68,15,88,218                        // addps         %xmm2,%xmm11
+  .byte  243,66,15,16,20,129                 // movss         (%rcx,%r8,4),%xmm2
+  .byte  102,66,15,58,33,20,137,16           // insertps      $0x10,(%rcx,%r9,4),%xmm2
+  .byte  102,66,15,58,33,20,145,32           // insertps      $0x20,(%rcx,%r10,4),%xmm2
+  .byte  102,66,15,58,33,20,153,48           // insertps      $0x30,(%rcx,%r11,4),%xmm2
+  .byte  15,89,216                           // mulps         %xmm0,%xmm3
+  .byte  15,88,218                           // addps         %xmm2,%xmm3
+  .byte  68,15,89,223                        // mulps         %xmm7,%xmm11
+  .byte  15,89,223                           // mulps         %xmm7,%xmm3
+  .byte  69,15,88,223                        // addps         %xmm15,%xmm11
+  .byte  65,15,88,223                        // addps         %xmm15,%xmm3
+  .byte  243,65,15,91,243                    // cvttps2dq     %xmm11,%xmm6
+  .byte  102,65,15,56,0,245                  // pshufb        %xmm13,%xmm6
+  .byte  243,15,91,211                       // cvttps2dq     %xmm3,%xmm2
+  .byte  102,65,15,56,0,213                  // pshufb        %xmm13,%xmm2
+  .byte  102,15,108,214                      // punpcklqdq    %xmm6,%xmm2
+  .byte  68,15,89,209                        // mulps         %xmm1,%xmm10
+  .byte  69,15,88,212                        // addps         %xmm12,%xmm10
+  .byte  243,67,15,16,12,134                 // movss         (%r14,%r8,4),%xmm1
+  .byte  102,67,15,58,33,12,142,16           // insertps      $0x10,(%r14,%r9,4),%xmm1
+  .byte  102,67,15,58,33,12,150,32           // insertps      $0x20,(%r14,%r10,4),%xmm1
+  .byte  102,67,15,58,33,12,158,48           // insertps      $0x30,(%r14,%r11,4),%xmm1
+  .byte  15,89,200                           // mulps         %xmm0,%xmm1
+  .byte  243,66,15,16,4,128                  // movss         (%rax,%r8,4),%xmm0
+  .byte  102,66,15,58,33,4,136,16            // insertps      $0x10,(%rax,%r9,4),%xmm0
+  .byte  102,66,15,58,33,4,144,32            // insertps      $0x20,(%rax,%r10,4),%xmm0
+  .byte  102,66,15,58,33,4,152,48            // insertps      $0x30,(%rax,%r11,4),%xmm0
+  .byte  15,88,200                           // addps         %xmm0,%xmm1
+  .byte  68,15,89,215                        // mulps         %xmm7,%xmm10
+  .byte  15,89,207                           // mulps         %xmm7,%xmm1
+  .byte  69,15,88,215                        // addps         %xmm15,%xmm10
+  .byte  65,15,88,207                        // addps         %xmm15,%xmm1
+  .byte  243,65,15,91,194                    // cvttps2dq     %xmm10,%xmm0
+  .byte  102,65,15,56,0,197                  // pshufb        %xmm13,%xmm0
+  .byte  243,15,91,217                       // cvttps2dq     %xmm1,%xmm3
+  .byte  102,65,15,56,0,221                  // pshufb        %xmm13,%xmm3
+  .byte  102,15,108,216                      // punpcklqdq    %xmm0,%xmm3
+  .byte  72,139,116,36,184                   // mov           -0x48(%rsp),%rsi
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  72,139,124,36,192                   // mov           -0x40(%rsp),%rdi
+  .byte  72,139,84,36,200                    // mov           -0x38(%rsp),%rdx
+  .byte  72,139,76,36,208                    // mov           -0x30(%rsp),%rcx
+  .byte  102,65,15,111,192                   // movdqa        %xmm8,%xmm0
+  .byte  102,65,15,111,201                   // movdqa        %xmm9,%xmm1
+  .byte  15,40,116,36,216                    // movaps        -0x28(%rsp),%xmm6
+  .byte  15,40,124,36,232                    // movaps        -0x18(%rsp),%xmm7
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,93                               // pop           %r13
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  93                                  // pop           %rbp
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_evenly_spaced_gradient_sse41_lowp
+.globl _sk_evenly_spaced_gradient_sse41_lowp
+FUNCTION(_sk_evenly_spaced_gradient_sse41_lowp)
+_sk_evenly_spaced_gradient_sse41_lowp:
+  .byte  85                                  // push          %rbp
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,85                               // push          %r13
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  80                                  // push          %rax
+  .byte  15,41,124,36,240                    // movaps        %xmm7,-0x10(%rsp)
+  .byte  15,41,116,36,224                    // movaps        %xmm6,-0x20(%rsp)
+  .byte  15,41,108,36,208                    // movaps        %xmm5,-0x30(%rsp)
+  .byte  15,41,100,36,192                    // movaps        %xmm4,-0x40(%rsp)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  72,139,24                           // mov           (%rax),%rbx
+  .byte  72,139,104,8                        // mov           0x8(%rax),%rbp
+  .byte  72,255,203                          // dec           %rbx
+  .byte  120,7                               // js            36abd <_sk_evenly_spaced_gradient_sse41_lowp+0x34>
+  .byte  243,72,15,42,211                    // cvtsi2ss      %rbx,%xmm2
+  .byte  235,21                              // jmp           36ad2 <_sk_evenly_spaced_gradient_sse41_lowp+0x49>
+  .byte  73,137,216                          // mov           %rbx,%r8
+  .byte  73,209,232                          // shr           %r8
+  .byte  131,227,1                           // and           $0x1,%ebx
+  .byte  76,9,195                            // or            %r8,%rbx
+  .byte  243,72,15,42,211                    // cvtsi2ss      %rbx,%xmm2
+  .byte  243,15,88,210                       // addss         %xmm2,%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  15,41,68,36,176                     // movaps        %xmm0,-0x50(%rsp)
+  .byte  15,40,216                           // movaps        %xmm0,%xmm3
+  .byte  15,89,218                           // mulps         %xmm2,%xmm3
+  .byte  15,89,209                           // mulps         %xmm1,%xmm2
+  .byte  243,15,91,194                       // cvttps2dq     %xmm2,%xmm0
+  .byte  102,73,15,58,22,194,1               // pextrq        $0x1,%xmm0,%r10
+  .byte  69,137,214                          // mov           %r10d,%r14d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  102,73,15,126,197                   // movq          %xmm0,%r13
+  .byte  69,137,236                          // mov           %r13d,%r12d
+  .byte  73,193,237,32                       // shr           $0x20,%r13
+  .byte  243,15,91,195                       // cvttps2dq     %xmm3,%xmm0
+  .byte  102,73,15,58,22,192,1               // pextrq        $0x1,%xmm0,%r8
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  102,73,15,126,195                   // movq          %xmm0,%r11
+  .byte  69,137,223                          // mov           %r11d,%r15d
+  .byte  73,193,235,32                       // shr           $0x20,%r11
+  .byte  243,70,15,16,68,189,0               // movss         0x0(%rbp,%r15,4),%xmm8
+  .byte  102,70,15,58,33,68,157,0,16         // insertps      $0x10,0x0(%rbp,%r11,4),%xmm8
+  .byte  243,66,15,16,68,141,0               // movss         0x0(%rbp,%r9,4),%xmm0
+  .byte  243,66,15,16,84,133,0               // movss         0x0(%rbp,%r8,4),%xmm2
+  .byte  15,41,76,36,160                     // movaps        %xmm1,-0x60(%rsp)
+  .byte  243,66,15,16,92,165,0               // movss         0x0(%rbp,%r12,4),%xmm3
+  .byte  102,66,15,58,33,92,173,0,16         // insertps      $0x10,0x0(%rbp,%r13,4),%xmm3
+  .byte  243,66,15,16,100,181,0              // movss         0x0(%rbp,%r14,4),%xmm4
+  .byte  243,66,15,16,108,149,0              // movss         0x0(%rbp,%r10,4),%xmm5
+  .byte  102,68,15,58,33,192,32              // insertps      $0x20,%xmm0,%xmm8
+  .byte  102,68,15,58,33,194,48              // insertps      $0x30,%xmm2,%xmm8
+  .byte  72,139,88,16                        // mov           0x10(%rax),%rbx
+  .byte  243,70,15,16,12,187                 // movss         (%rbx,%r15,4),%xmm9
+  .byte  102,70,15,58,33,12,155,16           // insertps      $0x10,(%rbx,%r11,4),%xmm9
+  .byte  243,66,15,16,4,139                  // movss         (%rbx,%r9,4),%xmm0
+  .byte  243,66,15,16,12,131                 // movss         (%rbx,%r8,4),%xmm1
+  .byte  243,66,15,16,20,163                 // movss         (%rbx,%r12,4),%xmm2
+  .byte  102,66,15,58,33,20,171,16           // insertps      $0x10,(%rbx,%r13,4),%xmm2
+  .byte  243,66,15,16,52,179                 // movss         (%rbx,%r14,4),%xmm6
+  .byte  243,66,15,16,60,147                 // movss         (%rbx,%r10,4),%xmm7
+  .byte  102,15,58,33,220,32                 // insertps      $0x20,%xmm4,%xmm3
+  .byte  102,15,58,33,221,48                 // insertps      $0x30,%xmm5,%xmm3
+  .byte  102,68,15,58,33,200,32              // insertps      $0x20,%xmm0,%xmm9
+  .byte  102,68,15,58,33,201,48              // insertps      $0x30,%xmm1,%xmm9
+  .byte  102,15,58,33,214,32                 // insertps      $0x20,%xmm6,%xmm2
+  .byte  102,15,58,33,215,48                 // insertps      $0x30,%xmm7,%xmm2
+  .byte  72,139,88,24                        // mov           0x18(%rax),%rbx
+  .byte  243,70,15,16,28,187                 // movss         (%rbx,%r15,4),%xmm11
+  .byte  102,70,15,58,33,28,155,16           // insertps      $0x10,(%rbx,%r11,4),%xmm11
+  .byte  243,66,15,16,4,139                  // movss         (%rbx,%r9,4),%xmm0
+  .byte  243,66,15,16,12,131                 // movss         (%rbx,%r8,4),%xmm1
+  .byte  243,70,15,16,44,163                 // movss         (%rbx,%r12,4),%xmm13
+  .byte  102,70,15,58,33,44,171,16           // insertps      $0x10,(%rbx,%r13,4),%xmm13
+  .byte  243,66,15,16,36,179                 // movss         (%rbx,%r14,4),%xmm4
+  .byte  243,66,15,16,44,147                 // movss         (%rbx,%r10,4),%xmm5
+  .byte  102,68,15,58,33,216,32              // insertps      $0x20,%xmm0,%xmm11
+  .byte  102,68,15,58,33,217,48              // insertps      $0x30,%xmm1,%xmm11
+  .byte  102,68,15,58,33,236,32              // insertps      $0x20,%xmm4,%xmm13
+  .byte  102,68,15,58,33,237,48              // insertps      $0x30,%xmm5,%xmm13
+  .byte  72,139,88,32                        // mov           0x20(%rax),%rbx
+  .byte  243,70,15,16,20,187                 // movss         (%rbx,%r15,4),%xmm10
+  .byte  102,70,15,58,33,20,155,16           // insertps      $0x10,(%rbx,%r11,4),%xmm10
+  .byte  243,66,15,16,4,139                  // movss         (%rbx,%r9,4),%xmm0
+  .byte  102,68,15,58,33,208,32              // insertps      $0x20,%xmm0,%xmm10
+  .byte  243,66,15,16,4,131                  // movss         (%rbx,%r8,4),%xmm0
+  .byte  102,68,15,58,33,208,48              // insertps      $0x30,%xmm0,%xmm10
+  .byte  243,70,15,16,36,163                 // movss         (%rbx,%r12,4),%xmm12
+  .byte  102,70,15,58,33,36,171,16           // insertps      $0x10,(%rbx,%r13,4),%xmm12
+  .byte  243,66,15,16,4,179                  // movss         (%rbx,%r14,4),%xmm0
+  .byte  243,66,15,16,12,147                 // movss         (%rbx,%r10,4),%xmm1
+  .byte  102,68,15,58,33,224,32              // insertps      $0x20,%xmm0,%xmm12
+  .byte  102,68,15,58,33,225,48              // insertps      $0x30,%xmm1,%xmm12
+  .byte  72,139,88,40                        // mov           0x28(%rax),%rbx
+  .byte  243,66,15,16,36,163                 // movss         (%rbx,%r12,4),%xmm4
+  .byte  102,66,15,58,33,36,171,16           // insertps      $0x10,(%rbx,%r13,4),%xmm4
+  .byte  243,66,15,16,4,179                  // movss         (%rbx,%r14,4),%xmm0
+  .byte  102,15,58,33,224,32                 // insertps      $0x20,%xmm0,%xmm4
+  .byte  243,66,15,16,4,147                  // movss         (%rbx,%r10,4),%xmm0
+  .byte  102,15,58,33,224,48                 // insertps      $0x30,%xmm0,%xmm4
+  .byte  243,66,15,16,4,187                  // movss         (%rbx,%r15,4),%xmm0
+  .byte  102,66,15,58,33,4,155,16            // insertps      $0x10,(%rbx,%r11,4),%xmm0
+  .byte  243,66,15,16,12,139                 // movss         (%rbx,%r9,4),%xmm1
+  .byte  102,15,58,33,193,32                 // insertps      $0x20,%xmm1,%xmm0
+  .byte  243,66,15,16,12,131                 // movss         (%rbx,%r8,4),%xmm1
+  .byte  102,15,58,33,193,48                 // insertps      $0x30,%xmm1,%xmm0
+  .byte  72,139,88,48                        // mov           0x30(%rax),%rbx
+  .byte  243,66,15,16,60,163                 // movss         (%rbx,%r12,4),%xmm7
+  .byte  102,66,15,58,33,60,171,16           // insertps      $0x10,(%rbx,%r13,4),%xmm7
+  .byte  243,66,15,16,12,179                 // movss         (%rbx,%r14,4),%xmm1
+  .byte  102,15,58,33,249,32                 // insertps      $0x20,%xmm1,%xmm7
+  .byte  243,66,15,16,12,147                 // movss         (%rbx,%r10,4),%xmm1
+  .byte  102,15,58,33,249,48                 // insertps      $0x30,%xmm1,%xmm7
+  .byte  243,66,15,16,12,187                 // movss         (%rbx,%r15,4),%xmm1
+  .byte  102,66,15,58,33,12,155,16           // insertps      $0x10,(%rbx,%r11,4),%xmm1
+  .byte  243,66,15,16,44,139                 // movss         (%rbx,%r9,4),%xmm5
+  .byte  102,15,58,33,205,32                 // insertps      $0x20,%xmm5,%xmm1
+  .byte  243,66,15,16,44,131                 // movss         (%rbx,%r8,4),%xmm5
+  .byte  102,15,58,33,205,48                 // insertps      $0x30,%xmm5,%xmm1
+  .byte  72,139,88,56                        // mov           0x38(%rax),%rbx
+  .byte  243,66,15,16,52,163                 // movss         (%rbx,%r12,4),%xmm6
+  .byte  102,66,15,58,33,52,171,16           // insertps      $0x10,(%rbx,%r13,4),%xmm6
+  .byte  243,66,15,16,44,179                 // movss         (%rbx,%r14,4),%xmm5
+  .byte  102,15,58,33,245,32                 // insertps      $0x20,%xmm5,%xmm6
+  .byte  243,66,15,16,44,147                 // movss         (%rbx,%r10,4),%xmm5
+  .byte  102,15,58,33,245,48                 // insertps      $0x30,%xmm5,%xmm6
+  .byte  15,41,116,36,128                    // movaps        %xmm6,-0x80(%rsp)
+  .byte  243,66,15,16,44,187                 // movss         (%rbx,%r15,4),%xmm5
+  .byte  102,66,15,58,33,44,155,16           // insertps      $0x10,(%rbx,%r11,4),%xmm5
+  .byte  243,66,15,16,52,139                 // movss         (%rbx,%r9,4),%xmm6
+  .byte  102,15,58,33,238,32                 // insertps      $0x20,%xmm6,%xmm5
+  .byte  243,66,15,16,52,131                 // movss         (%rbx,%r8,4),%xmm6
+  .byte  102,15,58,33,238,48                 // insertps      $0x30,%xmm6,%xmm5
+  .byte  72,139,64,64                        // mov           0x40(%rax),%rax
+  .byte  243,70,15,16,52,160                 // movss         (%rax,%r12,4),%xmm14
+  .byte  102,70,15,58,33,52,168,16           // insertps      $0x10,(%rax,%r13,4),%xmm14
+  .byte  243,66,15,16,52,176                 // movss         (%rax,%r14,4),%xmm6
+  .byte  102,68,15,58,33,246,32              // insertps      $0x20,%xmm6,%xmm14
+  .byte  243,66,15,16,52,144                 // movss         (%rax,%r10,4),%xmm6
+  .byte  102,68,15,58,33,246,48              // insertps      $0x30,%xmm6,%xmm14
+  .byte  68,15,41,116,36,144                 // movaps        %xmm14,-0x70(%rsp)
+  .byte  243,70,15,16,60,184                 // movss         (%rax,%r15,4),%xmm15
+  .byte  102,70,15,58,33,60,152,16           // insertps      $0x10,(%rax,%r11,4),%xmm15
+  .byte  243,70,15,16,52,136                 // movss         (%rax,%r9,4),%xmm14
+  .byte  102,69,15,58,33,254,32              // insertps      $0x20,%xmm14,%xmm15
+  .byte  243,66,15,16,52,128                 // movss         (%rax,%r8,4),%xmm6
+  .byte  102,68,15,58,33,254,48              // insertps      $0x30,%xmm6,%xmm15
+  .byte  15,40,116,36,160                    // movaps        -0x60(%rsp),%xmm6
+  .byte  15,89,222                           // mulps         %xmm6,%xmm3
+  .byte  15,88,220                           // addps         %xmm4,%xmm3
+  .byte  15,40,100,36,176                    // movaps        -0x50(%rsp),%xmm4
+  .byte  68,15,89,196                        // mulps         %xmm4,%xmm8
+  .byte  68,15,88,192                        // addps         %xmm0,%xmm8
+  .byte  15,40,5,13,98,0,0                   // movaps        0x620d(%rip),%xmm0        # 3cff0 <_sk_srcover_bgra_8888_sse2_lowp+0xda4>
+  .byte  15,89,216                           // mulps         %xmm0,%xmm3
+  .byte  68,15,89,192                        // mulps         %xmm0,%xmm8
+  .byte  68,15,40,53,14,97,0,0               // movaps        0x610e(%rip),%xmm14        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  69,15,88,198                        // addps         %xmm14,%xmm8
+  .byte  65,15,88,222                        // addps         %xmm14,%xmm3
+  .byte  243,15,91,219                       // cvttps2dq     %xmm3,%xmm3
+  .byte  102,15,111,5,74,104,0,0             // movdqa        0x684a(%rip),%xmm0        # 3d650 <_sk_srcover_bgra_8888_sse2_lowp+0x1404>
+  .byte  102,15,56,0,216                     // pshufb        %xmm0,%xmm3
+  .byte  243,69,15,91,192                    // cvttps2dq     %xmm8,%xmm8
+  .byte  102,68,15,56,0,192                  // pshufb        %xmm0,%xmm8
+  .byte  102,68,15,108,195                   // punpcklqdq    %xmm3,%xmm8
+  .byte  15,89,214                           // mulps         %xmm6,%xmm2
+  .byte  15,88,215                           // addps         %xmm7,%xmm2
+  .byte  15,40,220                           // movaps        %xmm4,%xmm3
+  .byte  68,15,89,203                        // mulps         %xmm3,%xmm9
+  .byte  68,15,88,201                        // addps         %xmm1,%xmm9
+  .byte  15,40,13,189,97,0,0                 // movaps        0x61bd(%rip),%xmm1        # 3cff0 <_sk_srcover_bgra_8888_sse2_lowp+0xda4>
+  .byte  15,89,209                           // mulps         %xmm1,%xmm2
+  .byte  68,15,89,201                        // mulps         %xmm1,%xmm9
+  .byte  15,40,225                           // movaps        %xmm1,%xmm4
+  .byte  69,15,88,206                        // addps         %xmm14,%xmm9
+  .byte  65,15,88,214                        // addps         %xmm14,%xmm2
+  .byte  243,15,91,202                       // cvttps2dq     %xmm2,%xmm1
+  .byte  102,15,56,0,200                     // pshufb        %xmm0,%xmm1
+  .byte  243,69,15,91,201                    // cvttps2dq     %xmm9,%xmm9
+  .byte  102,68,15,56,0,200                  // pshufb        %xmm0,%xmm9
+  .byte  102,68,15,108,201                   // punpcklqdq    %xmm1,%xmm9
+  .byte  68,15,89,238                        // mulps         %xmm6,%xmm13
+  .byte  68,15,88,108,36,128                 // addps         -0x80(%rsp),%xmm13
+  .byte  68,15,89,219                        // mulps         %xmm3,%xmm11
+  .byte  68,15,88,221                        // addps         %xmm5,%xmm11
+  .byte  15,40,204                           // movaps        %xmm4,%xmm1
+  .byte  68,15,89,233                        // mulps         %xmm1,%xmm13
+  .byte  68,15,89,217                        // mulps         %xmm1,%xmm11
+  .byte  69,15,88,222                        // addps         %xmm14,%xmm11
+  .byte  69,15,88,238                        // addps         %xmm14,%xmm13
+  .byte  243,65,15,91,205                    // cvttps2dq     %xmm13,%xmm1
+  .byte  102,15,56,0,200                     // pshufb        %xmm0,%xmm1
+  .byte  243,65,15,91,211                    // cvttps2dq     %xmm11,%xmm2
+  .byte  102,15,56,0,208                     // pshufb        %xmm0,%xmm2
+  .byte  102,15,108,209                      // punpcklqdq    %xmm1,%xmm2
+  .byte  68,15,89,230                        // mulps         %xmm6,%xmm12
+  .byte  68,15,88,100,36,144                 // addps         -0x70(%rsp),%xmm12
+  .byte  68,15,89,211                        // mulps         %xmm3,%xmm10
+  .byte  69,15,88,215                        // addps         %xmm15,%xmm10
+  .byte  68,15,89,228                        // mulps         %xmm4,%xmm12
+  .byte  68,15,89,212                        // mulps         %xmm4,%xmm10
+  .byte  69,15,88,214                        // addps         %xmm14,%xmm10
+  .byte  69,15,88,230                        // addps         %xmm14,%xmm12
+  .byte  243,65,15,91,204                    // cvttps2dq     %xmm12,%xmm1
+  .byte  102,15,56,0,200                     // pshufb        %xmm0,%xmm1
+  .byte  243,65,15,91,218                    // cvttps2dq     %xmm10,%xmm3
+  .byte  102,15,56,0,216                     // pshufb        %xmm0,%xmm3
+  .byte  102,15,108,217                      // punpcklqdq    %xmm1,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,65,15,111,192                   // movdqa        %xmm8,%xmm0
+  .byte  102,65,15,111,201                   // movdqa        %xmm9,%xmm1
+  .byte  15,40,100,36,192                    // movaps        -0x40(%rsp),%xmm4
+  .byte  15,40,108,36,208                    // movaps        -0x30(%rsp),%xmm5
+  .byte  15,40,116,36,224                    // movaps        -0x20(%rsp),%xmm6
+  .byte  15,40,124,36,240                    // movaps        -0x10(%rsp),%xmm7
+  .byte  72,131,196,8                        // add           $0x8,%rsp
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,93                               // pop           %r13
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  93                                  // pop           %rbp
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_evenly_spaced_2_stop_gradient_sse41_lowp
+.globl _sk_evenly_spaced_2_stop_gradient_sse41_lowp
+FUNCTION(_sk_evenly_spaced_2_stop_gradient_sse41_lowp)
+_sk_evenly_spaced_2_stop_gradient_sse41_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,15,16,24                        // movss         (%rax),%xmm3
+  .byte  243,68,15,16,72,4                   // movss         0x4(%rax),%xmm9
+  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
+  .byte  243,68,15,16,64,16                  // movss         0x10(%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  15,40,209                           // movaps        %xmm1,%xmm2
+  .byte  15,89,211                           // mulps         %xmm3,%xmm2
+  .byte  15,89,216                           // mulps         %xmm0,%xmm3
+  .byte  65,15,88,216                        // addps         %xmm8,%xmm3
+  .byte  65,15,88,208                        // addps         %xmm8,%xmm2
+  .byte  68,15,40,21,183,96,0,0              // movaps        0x60b7(%rip),%xmm10        # 3cff0 <_sk_srcover_bgra_8888_sse2_lowp+0xda4>
+  .byte  65,15,89,210                        // mulps         %xmm10,%xmm2
+  .byte  65,15,89,218                        // mulps         %xmm10,%xmm3
+  .byte  68,15,40,37,183,95,0,0              // movaps        0x5fb7(%rip),%xmm12        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  65,15,88,220                        // addps         %xmm12,%xmm3
+  .byte  65,15,88,212                        // addps         %xmm12,%xmm2
+  .byte  243,15,91,210                       // cvttps2dq     %xmm2,%xmm2
+  .byte  102,68,15,111,29,242,102,0,0        // movdqa        0x66f2(%rip),%xmm11        # 3d650 <_sk_srcover_bgra_8888_sse2_lowp+0x1404>
+  .byte  102,65,15,56,0,211                  // pshufb        %xmm11,%xmm2
+  .byte  243,68,15,91,195                    // cvttps2dq     %xmm3,%xmm8
+  .byte  102,69,15,56,0,195                  // pshufb        %xmm11,%xmm8
+  .byte  102,68,15,108,194                   // punpcklqdq    %xmm2,%xmm8
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  243,15,16,80,20                     // movss         0x14(%rax),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  15,40,217                           // movaps        %xmm1,%xmm3
+  .byte  65,15,89,217                        // mulps         %xmm9,%xmm3
+  .byte  68,15,89,200                        // mulps         %xmm0,%xmm9
+  .byte  68,15,88,202                        // addps         %xmm2,%xmm9
+  .byte  15,88,218                           // addps         %xmm2,%xmm3
+  .byte  65,15,89,218                        // mulps         %xmm10,%xmm3
+  .byte  69,15,89,202                        // mulps         %xmm10,%xmm9
+  .byte  69,15,88,204                        // addps         %xmm12,%xmm9
+  .byte  65,15,88,220                        // addps         %xmm12,%xmm3
+  .byte  243,15,91,211                       // cvttps2dq     %xmm3,%xmm2
+  .byte  102,65,15,56,0,211                  // pshufb        %xmm11,%xmm2
+  .byte  243,69,15,91,201                    // cvttps2dq     %xmm9,%xmm9
+  .byte  102,69,15,56,0,203                  // pshufb        %xmm11,%xmm9
+  .byte  102,68,15,108,202                   // punpcklqdq    %xmm2,%xmm9
+  .byte  243,15,16,80,8                      // movss         0x8(%rax),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  243,68,15,16,104,24                 // movss         0x18(%rax),%xmm13
+  .byte  69,15,198,237,0                     // shufps        $0x0,%xmm13,%xmm13
+  .byte  15,40,217                           // movaps        %xmm1,%xmm3
+  .byte  15,89,218                           // mulps         %xmm2,%xmm3
+  .byte  15,89,208                           // mulps         %xmm0,%xmm2
+  .byte  65,15,88,213                        // addps         %xmm13,%xmm2
+  .byte  65,15,88,221                        // addps         %xmm13,%xmm3
+  .byte  65,15,89,218                        // mulps         %xmm10,%xmm3
+  .byte  65,15,89,210                        // mulps         %xmm10,%xmm2
+  .byte  65,15,88,212                        // addps         %xmm12,%xmm2
+  .byte  65,15,88,220                        // addps         %xmm12,%xmm3
+  .byte  243,15,91,219                       // cvttps2dq     %xmm3,%xmm3
+  .byte  102,65,15,56,0,219                  // pshufb        %xmm11,%xmm3
+  .byte  243,15,91,210                       // cvttps2dq     %xmm2,%xmm2
+  .byte  102,65,15,56,0,211                  // pshufb        %xmm11,%xmm2
+  .byte  102,15,108,211                      // punpcklqdq    %xmm3,%xmm2
+  .byte  243,15,16,88,12                     // movss         0xc(%rax),%xmm3
+  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
+  .byte  243,68,15,16,104,28                 // movss         0x1c(%rax),%xmm13
+  .byte  69,15,198,237,0                     // shufps        $0x0,%xmm13,%xmm13
+  .byte  15,89,203                           // mulps         %xmm3,%xmm1
+  .byte  15,89,216                           // mulps         %xmm0,%xmm3
+  .byte  65,15,88,221                        // addps         %xmm13,%xmm3
+  .byte  65,15,88,205                        // addps         %xmm13,%xmm1
+  .byte  65,15,89,202                        // mulps         %xmm10,%xmm1
+  .byte  65,15,89,218                        // mulps         %xmm10,%xmm3
+  .byte  65,15,88,220                        // addps         %xmm12,%xmm3
+  .byte  65,15,88,204                        // addps         %xmm12,%xmm1
+  .byte  243,15,91,193                       // cvttps2dq     %xmm1,%xmm0
+  .byte  102,65,15,56,0,195                  // pshufb        %xmm11,%xmm0
+  .byte  243,15,91,219                       // cvttps2dq     %xmm3,%xmm3
+  .byte  102,65,15,56,0,219                  // pshufb        %xmm11,%xmm3
+  .byte  102,15,108,216                      // punpcklqdq    %xmm0,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,65,15,111,192                   // movdqa        %xmm8,%xmm0
+  .byte  102,65,15,111,201                   // movdqa        %xmm9,%xmm1
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xy_to_unit_angle_sse41_lowp
+.globl _sk_xy_to_unit_angle_sse41_lowp
+FUNCTION(_sk_xy_to_unit_angle_sse41_lowp)
+_sk_xy_to_unit_angle_sse41_lowp:
+  .byte  15,41,124,36,232                    // movaps        %xmm7,-0x18(%rsp)
+  .byte  15,41,116,36,216                    // movaps        %xmm6,-0x28(%rsp)
+  .byte  15,41,108,36,200                    // movaps        %xmm5,-0x38(%rsp)
+  .byte  15,41,100,36,184                    // movaps        %xmm4,-0x48(%rsp)
+  .byte  15,40,251                           // movaps        %xmm3,%xmm7
+  .byte  15,40,242                           // movaps        %xmm2,%xmm6
+  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
+  .byte  15,40,37,232,99,0,0                 // movaps        0x63e8(%rip),%xmm4        # 3d470 <_sk_srcover_bgra_8888_sse2_lowp+0x1224>
+  .byte  68,15,40,233                        // movaps        %xmm1,%xmm13
+  .byte  68,15,84,236                        // andps         %xmm4,%xmm13
+  .byte  69,15,40,216                        // movaps        %xmm8,%xmm11
+  .byte  68,15,84,220                        // andps         %xmm4,%xmm11
+  .byte  68,15,40,231                        // movaps        %xmm7,%xmm12
+  .byte  68,15,84,228                        // andps         %xmm4,%xmm12
+  .byte  15,84,230                           // andps         %xmm6,%xmm4
+  .byte  69,15,40,211                        // movaps        %xmm11,%xmm10
+  .byte  68,15,194,212,1                     // cmpltps       %xmm4,%xmm10
+  .byte  69,15,40,205                        // movaps        %xmm13,%xmm9
+  .byte  69,15,194,204,1                     // cmpltps       %xmm12,%xmm9
+  .byte  69,15,40,244                        // movaps        %xmm12,%xmm14
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  102,69,15,56,20,245                 // blendvps      %xmm0,%xmm13,%xmm14
+  .byte  68,15,40,252                        // movaps        %xmm4,%xmm15
+  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
+  .byte  102,69,15,56,20,251                 // blendvps      %xmm0,%xmm11,%xmm15
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  102,69,15,56,20,236                 // blendvps      %xmm0,%xmm12,%xmm13
+  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
+  .byte  102,68,15,56,20,220                 // blendvps      %xmm0,%xmm4,%xmm11
+  .byte  69,15,94,251                        // divps         %xmm11,%xmm15
+  .byte  65,15,40,199                        // movaps        %xmm15,%xmm0
+  .byte  15,89,192                           // mulps         %xmm0,%xmm0
+  .byte  68,15,40,29,232,99,0,0              // movaps        0x63e8(%rip),%xmm11        # 3d4e0 <_sk_srcover_bgra_8888_sse2_lowp+0x1294>
+  .byte  68,15,40,224                        // movaps        %xmm0,%xmm12
+  .byte  69,15,89,227                        // mulps         %xmm11,%xmm12
+  .byte  68,15,88,37,232,99,0,0              // addps         0x63e8(%rip),%xmm12        # 3d4f0 <_sk_srcover_bgra_8888_sse2_lowp+0x12a4>
+  .byte  68,15,89,224                        // mulps         %xmm0,%xmm12
+  .byte  15,40,45,237,99,0,0                 // movaps        0x63ed(%rip),%xmm5        # 3d500 <_sk_srcover_bgra_8888_sse2_lowp+0x12b4>
+  .byte  68,15,88,229                        // addps         %xmm5,%xmm12
+  .byte  68,15,89,224                        // mulps         %xmm0,%xmm12
+  .byte  15,40,37,238,99,0,0                 // movaps        0x63ee(%rip),%xmm4        # 3d510 <_sk_srcover_bgra_8888_sse2_lowp+0x12c4>
+  .byte  68,15,88,228                        // addps         %xmm4,%xmm12
+  .byte  69,15,89,231                        // mulps         %xmm15,%xmm12
+  .byte  15,40,21,239,99,0,0                 // movaps        0x63ef(%rip),%xmm2        # 3d520 <_sk_srcover_bgra_8888_sse2_lowp+0x12d4>
+  .byte  15,40,218                           // movaps        %xmm2,%xmm3
+  .byte  65,15,92,212                        // subps         %xmm12,%xmm2
+  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
+  .byte  102,68,15,56,20,226                 // blendvps      %xmm0,%xmm2,%xmm12
+  .byte  69,15,94,245                        // divps         %xmm13,%xmm14
+  .byte  65,15,40,198                        // movaps        %xmm14,%xmm0
+  .byte  15,89,192                           // mulps         %xmm0,%xmm0
+  .byte  68,15,89,216                        // mulps         %xmm0,%xmm11
+  .byte  68,15,88,29,151,99,0,0              // addps         0x6397(%rip),%xmm11        # 3d4f0 <_sk_srcover_bgra_8888_sse2_lowp+0x12a4>
+  .byte  68,15,89,216                        // mulps         %xmm0,%xmm11
+  .byte  68,15,88,221                        // addps         %xmm5,%xmm11
+  .byte  68,15,89,216                        // mulps         %xmm0,%xmm11
+  .byte  68,15,88,220                        // addps         %xmm4,%xmm11
+  .byte  69,15,89,222                        // mulps         %xmm14,%xmm11
+  .byte  65,15,92,219                        // subps         %xmm11,%xmm3
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  102,68,15,56,20,219                 // blendvps      %xmm0,%xmm3,%xmm11
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  69,15,194,193,1                     // cmpltps       %xmm9,%xmm8
+  .byte  15,40,21,117,93,0,0                 // movaps        0x5d75(%rip),%xmm2        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  15,40,218                           // movaps        %xmm2,%xmm3
+  .byte  65,15,92,212                        // subps         %xmm12,%xmm2
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  102,68,15,56,20,226                 // blendvps      %xmm0,%xmm2,%xmm12
+  .byte  65,15,194,201,1                     // cmpltps       %xmm9,%xmm1
+  .byte  65,15,92,219                        // subps         %xmm11,%xmm3
+  .byte  15,40,193                           // movaps        %xmm1,%xmm0
+  .byte  102,68,15,56,20,219                 // blendvps      %xmm0,%xmm3,%xmm11
+  .byte  15,40,198                           // movaps        %xmm6,%xmm0
+  .byte  65,15,194,193,1                     // cmpltps       %xmm9,%xmm0
+  .byte  15,40,13,83,93,0,0                  // movaps        0x5d53(%rip),%xmm1        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  15,40,209                           // movaps        %xmm1,%xmm2
+  .byte  65,15,92,204                        // subps         %xmm12,%xmm1
+  .byte  102,68,15,56,20,225                 // blendvps      %xmm0,%xmm1,%xmm12
+  .byte  15,40,199                           // movaps        %xmm7,%xmm0
+  .byte  65,15,194,193,1                     // cmpltps       %xmm9,%xmm0
+  .byte  65,15,92,211                        // subps         %xmm11,%xmm2
+  .byte  102,68,15,56,20,218                 // blendvps      %xmm0,%xmm2,%xmm11
+  .byte  65,15,40,203                        // movaps        %xmm11,%xmm1
+  .byte  65,15,194,201,7                     // cmpordps      %xmm9,%xmm1
+  .byte  69,15,194,204,7                     // cmpordps      %xmm12,%xmm9
+  .byte  69,15,84,204                        // andps         %xmm12,%xmm9
+  .byte  65,15,84,203                        // andps         %xmm11,%xmm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,214                           // movaps        %xmm6,%xmm2
+  .byte  15,40,223                           // movaps        %xmm7,%xmm3
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  15,40,100,36,184                    // movaps        -0x48(%rsp),%xmm4
+  .byte  15,40,108,36,200                    // movaps        -0x38(%rsp),%xmm5
+  .byte  15,40,116,36,216                    // movaps        -0x28(%rsp),%xmm6
+  .byte  15,40,124,36,232                    // movaps        -0x18(%rsp),%xmm7
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xy_to_radius_sse41_lowp
+.globl _sk_xy_to_radius_sse41_lowp
+FUNCTION(_sk_xy_to_radius_sse41_lowp)
+_sk_xy_to_radius_sse41_lowp:
+  .byte  15,89,192                           // mulps         %xmm0,%xmm0
+  .byte  15,89,201                           // mulps         %xmm1,%xmm1
+  .byte  68,15,40,194                        // movaps        %xmm2,%xmm8
+  .byte  69,15,89,192                        // mulps         %xmm8,%xmm8
+  .byte  68,15,88,192                        // addps         %xmm0,%xmm8
+  .byte  68,15,40,203                        // movaps        %xmm3,%xmm9
+  .byte  69,15,89,201                        // mulps         %xmm9,%xmm9
+  .byte  68,15,88,201                        // addps         %xmm1,%xmm9
+  .byte  65,15,81,192                        // sqrtps        %xmm8,%xmm0
+  .byte  65,15,81,201                        // sqrtps        %xmm9,%xmm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_srcover_rgba_8888_sse41_lowp
+.globl _sk_srcover_rgba_8888_sse41_lowp
+FUNCTION(_sk_srcover_rgba_8888_sse41_lowp)
+_sk_srcover_rgba_8888_sse41_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  65,137,250                          // mov           %edi,%r10d
+  .byte  65,128,226,7                        // and           $0x7,%r10b
+  .byte  65,254,202                          // dec           %r10b
+  .byte  69,15,182,202                       // movzbl        %r10b,%r9d
+  .byte  65,128,249,6                        // cmp           $0x6,%r9b
+  .byte  119,38                              // ja            37289 <_sk_srcover_rgba_8888_sse41_lowp+0x4b>
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  76,141,29,21,2,0,0                  // lea           0x215(%rip),%r11        # 37484 <_sk_srcover_rgba_8888_sse41_lowp+0x246>
+  .byte  75,99,4,139                         // movslq        (%r11,%r9,4),%rax
+  .byte  76,1,216                            // add           %r11,%rax
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,65,15,110,52,144                // movd          (%r8,%rdx,4),%xmm6
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  235,89                              // jmp           372e2 <_sk_srcover_rgba_8888_sse41_lowp+0xa4>
+  .byte  243,65,15,111,52,144                // movdqu        (%r8,%rdx,4),%xmm6
+  .byte  243,69,15,111,68,144,16             // movdqu        0x10(%r8,%rdx,4),%xmm8
+  .byte  235,74                              // jmp           372e2 <_sk_srcover_rgba_8888_sse41_lowp+0xa4>
+  .byte  102,65,15,110,100,144,8             // movd          0x8(%r8,%rdx,4),%xmm4
+  .byte  102,68,15,112,196,69                // pshufd        $0x45,%xmm4,%xmm8
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  243,65,15,126,52,144                // movq          (%r8,%rdx,4),%xmm6
+  .byte  102,65,15,58,14,240,240             // pblendw       $0xf0,%xmm8,%xmm6
+  .byte  102,68,15,111,196                   // movdqa        %xmm4,%xmm8
+  .byte  235,37                              // jmp           372e2 <_sk_srcover_rgba_8888_sse41_lowp+0xa4>
+  .byte  102,65,15,110,100,144,24            // movd          0x18(%r8,%rdx,4),%xmm4
+  .byte  102,68,15,112,196,69                // pshufd        $0x45,%xmm4,%xmm8
+  .byte  102,69,15,58,34,68,144,20,1         // pinsrd        $0x1,0x14(%r8,%rdx,4),%xmm8
+  .byte  102,69,15,58,34,68,144,16,0         // pinsrd        $0x0,0x10(%r8,%rdx,4),%xmm8
+  .byte  243,65,15,111,52,144                // movdqu        (%r8,%rdx,4),%xmm6
+  .byte  102,15,111,37,102,99,0,0            // movdqa        0x6366(%rip),%xmm4        # 3d650 <_sk_srcover_bgra_8888_sse2_lowp+0x1404>
+  .byte  102,15,111,238                      // movdqa        %xmm6,%xmm5
+  .byte  102,15,56,0,236                     // pshufb        %xmm4,%xmm5
+  .byte  102,65,15,111,248                   // movdqa        %xmm8,%xmm7
+  .byte  102,15,56,0,252                     // pshufb        %xmm4,%xmm7
+  .byte  102,15,108,239                      // punpcklqdq    %xmm7,%xmm5
+  .byte  102,68,15,111,37,166,91,0,0         // movdqa        0x5ba6(%rip),%xmm12        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,15,111,229                      // movdqa        %xmm5,%xmm4
+  .byte  102,65,15,219,228                   // pand          %xmm12,%xmm4
+  .byte  102,15,113,213,8                    // psrlw         $0x8,%xmm5
+  .byte  102,68,15,111,13,63,99,0,0          // movdqa        0x633f(%rip),%xmm9        # 3d660 <_sk_srcover_bgra_8888_sse2_lowp+0x1414>
+  .byte  102,15,111,254                      // movdqa        %xmm6,%xmm7
+  .byte  102,65,15,56,0,249                  // pshufb        %xmm9,%xmm7
+  .byte  102,69,15,111,208                   // movdqa        %xmm8,%xmm10
+  .byte  102,69,15,56,0,209                  // pshufb        %xmm9,%xmm10
+  .byte  102,65,15,108,250                   // punpcklqdq    %xmm10,%xmm7
+  .byte  102,68,15,111,13,44,99,0,0          // movdqa        0x632c(%rip),%xmm9        # 3d670 <_sk_srcover_bgra_8888_sse2_lowp+0x1424>
+  .byte  102,65,15,56,0,241                  // pshufb        %xmm9,%xmm6
+  .byte  102,69,15,56,0,193                  // pshufb        %xmm9,%xmm8
+  .byte  102,65,15,108,240                   // punpcklqdq    %xmm8,%xmm6
+  .byte  102,65,15,219,244                   // pand          %xmm12,%xmm6
+  .byte  102,69,15,111,196                   // movdqa        %xmm12,%xmm8
+  .byte  102,68,15,249,195                   // psubw         %xmm3,%xmm8
+  .byte  102,68,15,111,204                   // movdqa        %xmm4,%xmm9
+  .byte  102,69,15,213,200                   // pmullw        %xmm8,%xmm9
+  .byte  102,69,15,253,204                   // paddw         %xmm12,%xmm9
+  .byte  102,65,15,113,209,8                 // psrlw         $0x8,%xmm9
+  .byte  102,68,15,253,200                   // paddw         %xmm0,%xmm9
+  .byte  102,68,15,111,213                   // movdqa        %xmm5,%xmm10
+  .byte  102,69,15,213,208                   // pmullw        %xmm8,%xmm10
+  .byte  102,69,15,253,212                   // paddw         %xmm12,%xmm10
+  .byte  102,65,15,113,210,8                 // psrlw         $0x8,%xmm10
+  .byte  102,68,15,253,209                   // paddw         %xmm1,%xmm10
+  .byte  102,68,15,111,222                   // movdqa        %xmm6,%xmm11
+  .byte  102,69,15,213,216                   // pmullw        %xmm8,%xmm11
+  .byte  102,69,15,253,220                   // paddw         %xmm12,%xmm11
+  .byte  102,65,15,113,211,8                 // psrlw         $0x8,%xmm11
+  .byte  102,68,15,253,218                   // paddw         %xmm2,%xmm11
+  .byte  102,68,15,213,199                   // pmullw        %xmm7,%xmm8
+  .byte  102,69,15,253,196                   // paddw         %xmm12,%xmm8
+  .byte  102,65,15,113,208,8                 // psrlw         $0x8,%xmm8
+  .byte  102,68,15,253,195                   // paddw         %xmm3,%xmm8
+  .byte  102,65,15,111,194                   // movdqa        %xmm10,%xmm0
+  .byte  102,15,113,240,8                    // psllw         $0x8,%xmm0
+  .byte  102,65,15,235,193                   // por           %xmm9,%xmm0
+  .byte  102,15,112,200,78                   // pshufd        $0x4e,%xmm0,%xmm1
+  .byte  102,15,56,51,209                    // pmovzxwd      %xmm1,%xmm2
+  .byte  102,68,15,56,51,224                 // pmovzxwd      %xmm0,%xmm12
+  .byte  102,65,15,111,216                   // movdqa        %xmm8,%xmm3
+  .byte  102,15,113,243,8                    // psllw         $0x8,%xmm3
+  .byte  102,65,15,235,219                   // por           %xmm11,%xmm3
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  102,15,105,203                      // punpckhwd     %xmm3,%xmm1
+  .byte  102,15,235,202                      // por           %xmm2,%xmm1
+  .byte  102,15,97,195                       // punpcklwd     %xmm3,%xmm0
+  .byte  102,65,15,235,196                   // por           %xmm12,%xmm0
+  .byte  65,128,250,6                        // cmp           $0x6,%r10b
+  .byte  119,24                              // ja            3742c <_sk_srcover_rgba_8888_sse41_lowp+0x1ee>
+  .byte  76,141,21,133,0,0,0                 // lea           0x85(%rip),%r10        # 374a0 <_sk_srcover_rgba_8888_sse41_lowp+0x262>
+  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
+  .byte  76,1,208                            // add           %r10,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,65,15,126,4,144                 // movd          %xmm0,(%r8,%rdx,4)
+  .byte  235,63                              // jmp           3746b <_sk_srcover_rgba_8888_sse41_lowp+0x22d>
+  .byte  243,65,15,127,4,144                 // movdqu        %xmm0,(%r8,%rdx,4)
+  .byte  243,65,15,127,76,144,16             // movdqu        %xmm1,0x10(%r8,%rdx,4)
+  .byte  235,48                              // jmp           3746b <_sk_srcover_rgba_8888_sse41_lowp+0x22d>
+  .byte  102,65,15,58,22,68,144,8,2          // pextrd        $0x2,%xmm0,0x8(%r8,%rdx,4)
+  .byte  102,65,15,214,4,144                 // movq          %xmm0,(%r8,%rdx,4)
+  .byte  235,31                              // jmp           3746b <_sk_srcover_rgba_8888_sse41_lowp+0x22d>
+  .byte  102,65,15,58,22,76,144,24,2         // pextrd        $0x2,%xmm1,0x18(%r8,%rdx,4)
+  .byte  102,65,15,58,22,76,144,20,1         // pextrd        $0x1,%xmm1,0x14(%r8,%rdx,4)
+  .byte  102,65,15,126,76,144,16             // movd          %xmm1,0x10(%r8,%rdx,4)
+  .byte  243,65,15,127,4,144                 // movdqu        %xmm0,(%r8,%rdx,4)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,65,15,111,193                   // movdqa        %xmm9,%xmm0
+  .byte  102,65,15,111,202                   // movdqa        %xmm10,%xmm1
+  .byte  102,65,15,111,211                   // movdqa        %xmm11,%xmm2
+  .byte  102,65,15,111,216                   // movdqa        %xmm8,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+  .byte  144                                 // nop
+  .byte  248                                 // clc
+  .byte  253                                 // std
+  .byte  255                                 // (bad)
+  .byte  255,37,254,255,255,20               // jmpq          *0x14fffffe(%rip)        # 1503748b <_sk_srcover_bgra_8888_sse2_lowp+0x14ffb23f>
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,88,254                          // lcall         *-0x2(%rax)
+  .byte  255                                 // (bad)
+  .byte  255,79,254                          // decl          -0x2(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255,70,254                          // incl          -0x2(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  57,254                              // cmp           %edi,%esi
+  .byte  255                                 // (bad)
+  .byte  255,132,255,255,255,164,255         // incl          -0x5b0001(%rdi,%rdi,8)
+  .byte  255                                 // (bad)
+  .byte  255,155,255,255,255,197             // lcall         *-0x3a000001(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  190,255,255,255,181                 // mov           $0xb5ffffff,%esi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+  .byte  172                                 // lods          %ds:(%rsi),%al
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_srcover_bgra_8888_sse41_lowp
+.globl _sk_srcover_bgra_8888_sse41_lowp
+FUNCTION(_sk_srcover_bgra_8888_sse41_lowp)
+_sk_srcover_bgra_8888_sse41_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  65,137,250                          // mov           %edi,%r10d
+  .byte  65,128,226,7                        // and           $0x7,%r10b
+  .byte  65,254,202                          // dec           %r10b
+  .byte  69,15,182,202                       // movzbl        %r10b,%r9d
+  .byte  65,128,249,6                        // cmp           $0x6,%r9b
+  .byte  119,38                              // ja            37507 <_sk_srcover_bgra_8888_sse41_lowp+0x4b>
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  76,141,29,23,2,0,0                  // lea           0x217(%rip),%r11        # 37704 <_sk_srcover_bgra_8888_sse41_lowp+0x248>
+  .byte  75,99,4,139                         // movslq        (%r11,%r9,4),%rax
+  .byte  76,1,216                            // add           %r11,%rax
+  .byte  102,15,239,237                      // pxor          %xmm5,%xmm5
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,65,15,110,36,144                // movd          (%r8,%rdx,4),%xmm4
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  235,89                              // jmp           37560 <_sk_srcover_bgra_8888_sse41_lowp+0xa4>
+  .byte  243,65,15,111,36,144                // movdqu        (%r8,%rdx,4),%xmm4
+  .byte  243,69,15,111,68,144,16             // movdqu        0x10(%r8,%rdx,4),%xmm8
+  .byte  235,74                              // jmp           37560 <_sk_srcover_bgra_8888_sse41_lowp+0xa4>
+  .byte  102,65,15,110,100,144,8             // movd          0x8(%r8,%rdx,4),%xmm4
+  .byte  102,68,15,112,196,69                // pshufd        $0x45,%xmm4,%xmm8
+  .byte  102,15,239,237                      // pxor          %xmm5,%xmm5
+  .byte  243,65,15,126,36,144                // movq          (%r8,%rdx,4),%xmm4
+  .byte  102,65,15,58,14,224,240             // pblendw       $0xf0,%xmm8,%xmm4
+  .byte  102,68,15,111,197                   // movdqa        %xmm5,%xmm8
+  .byte  235,37                              // jmp           37560 <_sk_srcover_bgra_8888_sse41_lowp+0xa4>
+  .byte  102,65,15,110,100,144,24            // movd          0x18(%r8,%rdx,4),%xmm4
+  .byte  102,68,15,112,196,69                // pshufd        $0x45,%xmm4,%xmm8
+  .byte  102,69,15,58,34,68,144,20,1         // pinsrd        $0x1,0x14(%r8,%rdx,4),%xmm8
+  .byte  102,69,15,58,34,68,144,16,0         // pinsrd        $0x0,0x10(%r8,%rdx,4),%xmm8
+  .byte  243,65,15,111,36,144                // movdqu        (%r8,%rdx,4),%xmm4
+  .byte  102,15,111,53,232,96,0,0            // movdqa        0x60e8(%rip),%xmm6        # 3d650 <_sk_srcover_bgra_8888_sse2_lowp+0x1404>
+  .byte  102,15,111,236                      // movdqa        %xmm4,%xmm5
+  .byte  102,15,56,0,238                     // pshufb        %xmm6,%xmm5
+  .byte  102,65,15,111,248                   // movdqa        %xmm8,%xmm7
+  .byte  102,15,56,0,254                     // pshufb        %xmm6,%xmm7
+  .byte  102,15,108,239                      // punpcklqdq    %xmm7,%xmm5
+  .byte  102,68,15,111,37,40,89,0,0          // movdqa        0x5928(%rip),%xmm12        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,15,111,245                      // movdqa        %xmm5,%xmm6
+  .byte  102,65,15,219,244                   // pand          %xmm12,%xmm6
+  .byte  102,15,113,213,8                    // psrlw         $0x8,%xmm5
+  .byte  102,68,15,111,13,193,96,0,0         // movdqa        0x60c1(%rip),%xmm9        # 3d660 <_sk_srcover_bgra_8888_sse2_lowp+0x1414>
+  .byte  102,15,111,252                      // movdqa        %xmm4,%xmm7
+  .byte  102,65,15,56,0,249                  // pshufb        %xmm9,%xmm7
+  .byte  102,69,15,111,208                   // movdqa        %xmm8,%xmm10
+  .byte  102,69,15,56,0,209                  // pshufb        %xmm9,%xmm10
+  .byte  102,65,15,108,250                   // punpcklqdq    %xmm10,%xmm7
+  .byte  102,68,15,111,13,174,96,0,0         // movdqa        0x60ae(%rip),%xmm9        # 3d670 <_sk_srcover_bgra_8888_sse2_lowp+0x1424>
+  .byte  102,65,15,56,0,225                  // pshufb        %xmm9,%xmm4
+  .byte  102,69,15,56,0,193                  // pshufb        %xmm9,%xmm8
+  .byte  102,65,15,108,224                   // punpcklqdq    %xmm8,%xmm4
+  .byte  102,65,15,219,228                   // pand          %xmm12,%xmm4
+  .byte  102,69,15,111,196                   // movdqa        %xmm12,%xmm8
+  .byte  102,68,15,249,195                   // psubw         %xmm3,%xmm8
+  .byte  102,68,15,111,204                   // movdqa        %xmm4,%xmm9
+  .byte  102,69,15,213,200                   // pmullw        %xmm8,%xmm9
+  .byte  102,69,15,253,204                   // paddw         %xmm12,%xmm9
+  .byte  102,65,15,113,209,8                 // psrlw         $0x8,%xmm9
+  .byte  102,68,15,253,200                   // paddw         %xmm0,%xmm9
+  .byte  102,68,15,111,213                   // movdqa        %xmm5,%xmm10
+  .byte  102,69,15,213,208                   // pmullw        %xmm8,%xmm10
+  .byte  102,69,15,253,212                   // paddw         %xmm12,%xmm10
+  .byte  102,65,15,113,210,8                 // psrlw         $0x8,%xmm10
+  .byte  102,68,15,253,209                   // paddw         %xmm1,%xmm10
+  .byte  102,68,15,111,222                   // movdqa        %xmm6,%xmm11
+  .byte  102,69,15,213,216                   // pmullw        %xmm8,%xmm11
+  .byte  102,69,15,253,220                   // paddw         %xmm12,%xmm11
+  .byte  102,65,15,113,211,8                 // psrlw         $0x8,%xmm11
+  .byte  102,68,15,253,218                   // paddw         %xmm2,%xmm11
+  .byte  102,68,15,213,199                   // pmullw        %xmm7,%xmm8
+  .byte  102,69,15,253,196                   // paddw         %xmm12,%xmm8
+  .byte  102,65,15,113,208,8                 // psrlw         $0x8,%xmm8
+  .byte  102,68,15,253,195                   // paddw         %xmm3,%xmm8
+  .byte  102,65,15,111,194                   // movdqa        %xmm10,%xmm0
+  .byte  102,15,113,240,8                    // psllw         $0x8,%xmm0
+  .byte  102,65,15,235,195                   // por           %xmm11,%xmm0
+  .byte  102,15,112,200,78                   // pshufd        $0x4e,%xmm0,%xmm1
+  .byte  102,15,56,51,209                    // pmovzxwd      %xmm1,%xmm2
+  .byte  102,68,15,56,51,224                 // pmovzxwd      %xmm0,%xmm12
+  .byte  102,65,15,111,216                   // movdqa        %xmm8,%xmm3
+  .byte  102,15,113,243,8                    // psllw         $0x8,%xmm3
+  .byte  102,65,15,235,217                   // por           %xmm9,%xmm3
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  102,15,105,203                      // punpckhwd     %xmm3,%xmm1
+  .byte  102,15,235,202                      // por           %xmm2,%xmm1
+  .byte  102,15,97,195                       // punpcklwd     %xmm3,%xmm0
+  .byte  102,65,15,235,196                   // por           %xmm12,%xmm0
+  .byte  65,128,250,6                        // cmp           $0x6,%r10b
+  .byte  119,24                              // ja            376aa <_sk_srcover_bgra_8888_sse41_lowp+0x1ee>
+  .byte  76,141,21,135,0,0,0                 // lea           0x87(%rip),%r10        # 37720 <_sk_srcover_bgra_8888_sse41_lowp+0x264>
+  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
+  .byte  76,1,208                            // add           %r10,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,65,15,126,4,144                 // movd          %xmm0,(%r8,%rdx,4)
+  .byte  235,63                              // jmp           376e9 <_sk_srcover_bgra_8888_sse41_lowp+0x22d>
+  .byte  243,65,15,127,4,144                 // movdqu        %xmm0,(%r8,%rdx,4)
+  .byte  243,65,15,127,76,144,16             // movdqu        %xmm1,0x10(%r8,%rdx,4)
+  .byte  235,48                              // jmp           376e9 <_sk_srcover_bgra_8888_sse41_lowp+0x22d>
+  .byte  102,65,15,58,22,68,144,8,2          // pextrd        $0x2,%xmm0,0x8(%r8,%rdx,4)
+  .byte  102,65,15,214,4,144                 // movq          %xmm0,(%r8,%rdx,4)
+  .byte  235,31                              // jmp           376e9 <_sk_srcover_bgra_8888_sse41_lowp+0x22d>
+  .byte  102,65,15,58,22,76,144,24,2         // pextrd        $0x2,%xmm1,0x18(%r8,%rdx,4)
+  .byte  102,65,15,58,22,76,144,20,1         // pextrd        $0x1,%xmm1,0x14(%r8,%rdx,4)
+  .byte  102,65,15,126,76,144,16             // movd          %xmm1,0x10(%r8,%rdx,4)
+  .byte  243,65,15,127,4,144                 // movdqu        %xmm0,(%r8,%rdx,4)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,65,15,111,193                   // movdqa        %xmm9,%xmm0
+  .byte  102,65,15,111,202                   // movdqa        %xmm10,%xmm1
+  .byte  102,65,15,111,211                   // movdqa        %xmm11,%xmm2
+  .byte  102,65,15,111,216                   // movdqa        %xmm8,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+  .byte  15,31,0                             // nopl          (%rax)
+  .byte  246,253                             // idiv          %ch
+  .byte  255                                 // (bad)
+  .byte  255,35                              // jmpq          *(%rbx)
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,18                              // callq         *(%rdx)
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,86,254                          // callq         *-0x2(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255,77,254                          // decl          -0x2(%rbp)
+  .byte  255                                 // (bad)
+  .byte  255,68,254,255                      // incl          -0x1(%rsi,%rdi,8)
+  .byte  255,55                              // pushq         (%rdi)
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,130,255,255,255,162             // incl          -0x5d000001(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,153,255,255,255,195             // lcall         *-0x3c000001(%rcx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  188,255,255,255,179                 // mov           $0xb3ffffff,%esp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+  .byte  170                                 // stos          %al,%es:(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_start_pipeline_sse2_lowp
+.globl _sk_start_pipeline_sse2_lowp
+FUNCTION(_sk_start_pipeline_sse2_lowp)
+_sk_start_pipeline_sse2_lowp:
+  .byte  85                                  // push          %rbp
+  .byte  72,137,229                          // mov           %rsp,%rbp
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,85                               // push          %r13
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,131,236,24                       // sub           $0x18,%rsp
+  .byte  73,137,215                          // mov           %rdx,%r15
+  .byte  72,137,243                          // mov           %rsi,%rbx
+  .byte  72,137,125,208                      // mov           %rdi,-0x30(%rbp)
+  .byte  76,137,198                          // mov           %r8,%rsi
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  73,137,197                          // mov           %rax,%r13
+  .byte  73,137,246                          // mov           %rsi,%r14
+  .byte  72,137,77,192                       // mov           %rcx,-0x40(%rbp)
+  .byte  72,57,203                           // cmp           %rcx,%rbx
+  .byte  15,131,131,0,0,0                    // jae           377f2 <_sk_start_pipeline_sse2_lowp+0xb6>
+  .byte  72,139,69,208                       // mov           -0x30(%rbp),%rax
+  .byte  72,141,64,8                         // lea           0x8(%rax),%rax
+  .byte  72,137,69,200                       // mov           %rax,-0x38(%rbp)
+  .byte  76,57,125,200                       // cmp           %r15,-0x38(%rbp)
+  .byte  72,139,85,208                       // mov           -0x30(%rbp),%rdx
+  .byte  119,59                              // ja            377c0 <_sk_start_pipeline_sse2_lowp+0x84>
+  .byte  76,139,101,208                      // mov           -0x30(%rbp),%r12
+  .byte  49,255                              // xor           %edi,%edi
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  15,87,201                           // xorps         %xmm1,%xmm1
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,87,237                           // xorps         %xmm5,%xmm5
+  .byte  15,87,246                           // xorps         %xmm6,%xmm6
+  .byte  15,87,255                           // xorps         %xmm7,%xmm7
+  .byte  76,137,246                          // mov           %r14,%rsi
+  .byte  76,137,226                          // mov           %r12,%rdx
+  .byte  72,137,217                          // mov           %rbx,%rcx
+  .byte  65,255,213                          // callq         *%r13
+  .byte  73,141,84,36,8                      // lea           0x8(%r12),%rdx
+  .byte  73,131,196,16                       // add           $0x10,%r12
+  .byte  77,57,252                           // cmp           %r15,%r12
+  .byte  73,137,212                          // mov           %rdx,%r12
+  .byte  118,201                             // jbe           37789 <_sk_start_pipeline_sse2_lowp+0x4d>
+  .byte  76,137,255                          // mov           %r15,%rdi
+  .byte  72,41,215                           // sub           %rdx,%rdi
+  .byte  116,33                              // je            377e9 <_sk_start_pipeline_sse2_lowp+0xad>
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  15,87,201                           // xorps         %xmm1,%xmm1
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,87,237                           // xorps         %xmm5,%xmm5
+  .byte  15,87,246                           // xorps         %xmm6,%xmm6
+  .byte  15,87,255                           // xorps         %xmm7,%xmm7
+  .byte  76,137,246                          // mov           %r14,%rsi
+  .byte  72,137,217                          // mov           %rbx,%rcx
+  .byte  65,255,213                          // callq         *%r13
+  .byte  72,255,195                          // inc           %rbx
+  .byte  72,59,93,192                        // cmp           -0x40(%rbp),%rbx
+  .byte  117,137                             // jne           3777b <_sk_start_pipeline_sse2_lowp+0x3f>
+  .byte  72,131,196,24                       // add           $0x18,%rsp
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,93                               // pop           %r13
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  93                                  // pop           %rbp
+  .byte  195                                 // retq
+
+HIDDEN _sk_just_return_sse2_lowp
+.globl _sk_just_return_sse2_lowp
+FUNCTION(_sk_just_return_sse2_lowp)
+_sk_just_return_sse2_lowp:
+  .byte  195                                 // retq
+
+HIDDEN _sk_seed_shader_sse2_lowp
+.globl _sk_seed_shader_sse2_lowp
+FUNCTION(_sk_seed_shader_sse2_lowp)
+_sk_seed_shader_sse2_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,15,110,194                      // movd          %edx,%xmm0
+  .byte  102,15,112,192,0                    // pshufd        $0x0,%xmm0,%xmm0
+  .byte  15,91,208                           // cvtdq2ps      %xmm0,%xmm2
+  .byte  15,16,0                             // movups        (%rax),%xmm0
+  .byte  15,16,72,16                         // movups        0x10(%rax),%xmm1
+  .byte  15,88,194                           // addps         %xmm2,%xmm0
+  .byte  15,88,202                           // addps         %xmm2,%xmm1
+  .byte  102,15,110,209                      // movd          %ecx,%xmm2
+  .byte  102,15,112,210,0                    // pshufd        $0x0,%xmm2,%xmm2
+  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
+  .byte  15,88,21,208,86,0,0                 // addps         0x56d0(%rip),%xmm2        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,218                           // movaps        %xmm2,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_translate_sse2_lowp
+.globl _sk_matrix_translate_sse2_lowp
+FUNCTION(_sk_matrix_translate_sse2_lowp)
+_sk_matrix_translate_sse2_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,0                      // movss         (%rax),%xmm8
+  .byte  243,68,15,16,72,4                   // movss         0x4(%rax),%xmm9
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  65,15,88,192                        // addps         %xmm8,%xmm0
+  .byte  65,15,88,200                        // addps         %xmm8,%xmm1
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  65,15,88,209                        // addps         %xmm9,%xmm2
+  .byte  65,15,88,217                        // addps         %xmm9,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_scale_translate_sse2_lowp
+.globl _sk_matrix_scale_translate_sse2_lowp
+FUNCTION(_sk_matrix_scale_translate_sse2_lowp)
+_sk_matrix_scale_translate_sse2_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,0                      // movss         (%rax),%xmm8
+  .byte  243,68,15,16,72,4                   // movss         0x4(%rax),%xmm9
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  243,68,15,16,80,8                   // movss         0x8(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  65,15,88,194                        // addps         %xmm10,%xmm0
+  .byte  65,15,88,202                        // addps         %xmm10,%xmm1
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  243,68,15,16,64,12                  // movss         0xc(%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  65,15,89,217                        // mulps         %xmm9,%xmm3
+  .byte  65,15,89,209                        // mulps         %xmm9,%xmm2
+  .byte  65,15,88,208                        // addps         %xmm8,%xmm2
+  .byte  65,15,88,216                        // addps         %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_2x3_sse2_lowp
+.globl _sk_matrix_2x3_sse2_lowp
+FUNCTION(_sk_matrix_2x3_sse2_lowp)
+_sk_matrix_2x3_sse2_lowp:
+  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,15,16,0                         // movss         (%rax),%xmm0
+  .byte  243,68,15,16,88,4                   // movss         0x4(%rax),%xmm11
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  243,68,15,16,80,8                   // movss         0x8(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  243,68,15,16,72,16                  // movss         0x10(%rax),%xmm9
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  68,15,40,226                        // movaps        %xmm2,%xmm12
+  .byte  69,15,89,226                        // mulps         %xmm10,%xmm12
+  .byte  68,15,89,211                        // mulps         %xmm3,%xmm10
+  .byte  69,15,88,209                        // addps         %xmm9,%xmm10
+  .byte  69,15,88,225                        // addps         %xmm9,%xmm12
+  .byte  68,15,40,201                        // movaps        %xmm1,%xmm9
+  .byte  68,15,89,200                        // mulps         %xmm0,%xmm9
+  .byte  69,15,88,202                        // addps         %xmm10,%xmm9
+  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
+  .byte  65,15,88,196                        // addps         %xmm12,%xmm0
+  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
+  .byte  243,68,15,16,80,12                  // movss         0xc(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  243,68,15,16,96,20                  // movss         0x14(%rax),%xmm12
+  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
+  .byte  65,15,89,210                        // mulps         %xmm10,%xmm2
+  .byte  68,15,89,211                        // mulps         %xmm3,%xmm10
+  .byte  69,15,88,212                        // addps         %xmm12,%xmm10
+  .byte  65,15,88,212                        // addps         %xmm12,%xmm2
+  .byte  65,15,89,203                        // mulps         %xmm11,%xmm1
+  .byte  68,15,88,209                        // addps         %xmm1,%xmm10
+  .byte  69,15,89,216                        // mulps         %xmm8,%xmm11
+  .byte  65,15,88,211                        // addps         %xmm11,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,201                        // movaps        %xmm9,%xmm1
+  .byte  65,15,40,218                        // movaps        %xmm10,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_matrix_perspective_sse2_lowp
+.globl _sk_matrix_perspective_sse2_lowp
+FUNCTION(_sk_matrix_perspective_sse2_lowp)
+_sk_matrix_perspective_sse2_lowp:
+  .byte  68,15,40,193                        // movaps        %xmm1,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,15,16,8                         // movss         (%rax),%xmm1
+  .byte  243,68,15,16,80,4                   // movss         0x4(%rax),%xmm10
+  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  243,68,15,16,72,8                   // movss         0x8(%rax),%xmm9
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  68,15,40,219                        // movaps        %xmm3,%xmm11
+  .byte  69,15,89,218                        // mulps         %xmm10,%xmm11
+  .byte  68,15,89,210                        // mulps         %xmm2,%xmm10
+  .byte  69,15,88,209                        // addps         %xmm9,%xmm10
+  .byte  69,15,88,217                        // addps         %xmm9,%xmm11
+  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
+  .byte  68,15,89,201                        // mulps         %xmm1,%xmm9
+  .byte  69,15,88,202                        // addps         %xmm10,%xmm9
+  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
+  .byte  65,15,88,203                        // addps         %xmm11,%xmm1
+  .byte  243,68,15,16,96,12                  // movss         0xc(%rax),%xmm12
+  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
+  .byte  243,68,15,16,80,16                  // movss         0x10(%rax),%xmm10
+  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
+  .byte  243,68,15,16,104,20                 // movss         0x14(%rax),%xmm13
+  .byte  69,15,198,237,0                     // shufps        $0x0,%xmm13,%xmm13
+  .byte  68,15,40,219                        // movaps        %xmm3,%xmm11
+  .byte  69,15,89,218                        // mulps         %xmm10,%xmm11
+  .byte  68,15,89,210                        // mulps         %xmm2,%xmm10
+  .byte  69,15,88,213                        // addps         %xmm13,%xmm10
+  .byte  69,15,88,221                        // addps         %xmm13,%xmm11
+  .byte  68,15,40,232                        // movaps        %xmm0,%xmm13
+  .byte  69,15,89,236                        // mulps         %xmm12,%xmm13
+  .byte  69,15,88,213                        // addps         %xmm13,%xmm10
+  .byte  69,15,89,224                        // mulps         %xmm8,%xmm12
+  .byte  69,15,88,220                        // addps         %xmm12,%xmm11
+  .byte  243,68,15,16,96,24                  // movss         0x18(%rax),%xmm12
+  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
+  .byte  243,68,15,16,104,28                 // movss         0x1c(%rax),%xmm13
+  .byte  69,15,198,237,0                     // shufps        $0x0,%xmm13,%xmm13
+  .byte  243,68,15,16,112,32                 // movss         0x20(%rax),%xmm14
+  .byte  69,15,198,246,0                     // shufps        $0x0,%xmm14,%xmm14
+  .byte  65,15,89,221                        // mulps         %xmm13,%xmm3
+  .byte  68,15,89,234                        // mulps         %xmm2,%xmm13
+  .byte  69,15,88,238                        // addps         %xmm14,%xmm13
+  .byte  65,15,88,222                        // addps         %xmm14,%xmm3
+  .byte  65,15,89,196                        // mulps         %xmm12,%xmm0
+  .byte  65,15,88,197                        // addps         %xmm13,%xmm0
+  .byte  69,15,89,224                        // mulps         %xmm8,%xmm12
+  .byte  68,15,88,227                        // addps         %xmm3,%xmm12
+  .byte  15,83,192                           // rcpps         %xmm0,%xmm0
+  .byte  65,15,83,212                        // rcpps         %xmm12,%xmm2
+  .byte  68,15,89,200                        // mulps         %xmm0,%xmm9
+  .byte  15,89,202                           // mulps         %xmm2,%xmm1
+  .byte  68,15,89,208                        // mulps         %xmm0,%xmm10
+  .byte  68,15,89,218                        // mulps         %xmm2,%xmm11
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
+  .byte  65,15,40,210                        // movaps        %xmm10,%xmm2
+  .byte  65,15,40,219                        // movaps        %xmm11,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_uniform_color_sse2_lowp
+.globl _sk_uniform_color_sse2_lowp
+FUNCTION(_sk_uniform_color_sse2_lowp)
+_sk_uniform_color_sse2_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,15,110,64,16                    // movd          0x10(%rax),%xmm0
+  .byte  242,15,112,192,0                    // pshuflw       $0x0,%xmm0,%xmm0
+  .byte  102,15,112,192,80                   // pshufd        $0x50,%xmm0,%xmm0
+  .byte  68,15,183,64,18                     // movzwl        0x12(%rax),%r8d
+  .byte  102,65,15,110,200                   // movd          %r8d,%xmm1
+  .byte  242,15,112,201,0                    // pshuflw       $0x0,%xmm1,%xmm1
+  .byte  102,15,112,201,80                   // pshufd        $0x50,%xmm1,%xmm1
+  .byte  102,15,110,80,20                    // movd          0x14(%rax),%xmm2
+  .byte  242,15,112,210,0                    // pshuflw       $0x0,%xmm2,%xmm2
+  .byte  102,15,112,210,80                   // pshufd        $0x50,%xmm2,%xmm2
+  .byte  15,183,64,22                        // movzwl        0x16(%rax),%eax
+  .byte  102,15,110,216                      // movd          %eax,%xmm3
+  .byte  242,15,112,219,0                    // pshuflw       $0x0,%xmm3,%xmm3
+  .byte  102,15,112,219,80                   // pshufd        $0x50,%xmm3,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_black_color_sse2_lowp
+.globl _sk_black_color_sse2_lowp
+FUNCTION(_sk_black_color_sse2_lowp)
+_sk_black_color_sse2_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,29,21,84,0,0                  // movaps        0x5415(%rip),%xmm3        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  15,87,201                           // xorps         %xmm1,%xmm1
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_white_color_sse2_lowp
+.globl _sk_white_color_sse2_lowp
+FUNCTION(_sk_white_color_sse2_lowp)
+_sk_white_color_sse2_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,5,1,84,0,0                    // movaps        0x5401(%rip),%xmm0        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  15,40,208                           // movaps        %xmm0,%xmm2
+  .byte  15,40,216                           // movaps        %xmm0,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_set_rgb_sse2_lowp
+.globl _sk_set_rgb_sse2_lowp
+FUNCTION(_sk_set_rgb_sse2_lowp)
+_sk_set_rgb_sse2_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,15,16,21,100,74,0,0             // movss         0x4a64(%rip),%xmm2        # 3c528 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  .byte  243,15,16,0                         // movss         (%rax),%xmm0
+  .byte  243,15,89,194                       // mulss         %xmm2,%xmm0
+  .byte  243,68,15,16,5,35,74,0,0            // movss         0x4a23(%rip),%xmm8        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  243,65,15,88,192                    // addss         %xmm8,%xmm0
+  .byte  243,68,15,44,192                    // cvttss2si     %xmm0,%r8d
+  .byte  102,65,15,110,192                   // movd          %r8d,%xmm0
+  .byte  242,15,112,192,0                    // pshuflw       $0x0,%xmm0,%xmm0
+  .byte  102,15,112,192,80                   // pshufd        $0x50,%xmm0,%xmm0
+  .byte  243,15,16,72,4                      // movss         0x4(%rax),%xmm1
+  .byte  243,15,89,202                       // mulss         %xmm2,%xmm1
+  .byte  243,65,15,88,200                    // addss         %xmm8,%xmm1
+  .byte  243,68,15,44,193                    // cvttss2si     %xmm1,%r8d
+  .byte  102,65,15,110,200                   // movd          %r8d,%xmm1
+  .byte  242,15,112,201,0                    // pshuflw       $0x0,%xmm1,%xmm1
+  .byte  102,15,112,201,80                   // pshufd        $0x50,%xmm1,%xmm1
+  .byte  243,15,89,80,8                      // mulss         0x8(%rax),%xmm2
+  .byte  243,65,15,88,208                    // addss         %xmm8,%xmm2
+  .byte  243,15,44,194                       // cvttss2si     %xmm2,%eax
+  .byte  102,15,110,208                      // movd          %eax,%xmm2
+  .byte  242,15,112,210,0                    // pshuflw       $0x0,%xmm2,%xmm2
+  .byte  102,15,112,210,80                   // pshufd        $0x50,%xmm2,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_clamp_a_sse2_lowp
+.globl _sk_clamp_a_sse2_lowp
+FUNCTION(_sk_clamp_a_sse2_lowp)
+_sk_clamp_a_sse2_lowp:
+  .byte  102,68,15,111,5,7,91,0,0            // movdqa        0x5b07(%rip),%xmm8        # 3d640 <_sk_srcover_bgra_8888_sse2_lowp+0x13f4>
+  .byte  102,68,15,111,200                   // movdqa        %xmm0,%xmm9
+  .byte  102,69,15,239,200                   // pxor          %xmm8,%xmm9
+  .byte  102,68,15,111,211                   // movdqa        %xmm3,%xmm10
+  .byte  102,69,15,239,208                   // pxor          %xmm8,%xmm10
+  .byte  102,69,15,111,218                   // movdqa        %xmm10,%xmm11
+  .byte  102,69,15,101,217                   // pcmpgtw       %xmm9,%xmm11
+  .byte  102,65,15,219,195                   // pand          %xmm11,%xmm0
+  .byte  102,68,15,223,219                   // pandn         %xmm3,%xmm11
+  .byte  102,65,15,235,195                   // por           %xmm11,%xmm0
+  .byte  102,68,15,111,201                   // movdqa        %xmm1,%xmm9
+  .byte  102,69,15,239,200                   // pxor          %xmm8,%xmm9
+  .byte  102,69,15,111,218                   // movdqa        %xmm10,%xmm11
+  .byte  102,69,15,101,217                   // pcmpgtw       %xmm9,%xmm11
+  .byte  102,65,15,219,203                   // pand          %xmm11,%xmm1
+  .byte  102,68,15,223,219                   // pandn         %xmm3,%xmm11
+  .byte  102,65,15,235,203                   // por           %xmm11,%xmm1
+  .byte  102,68,15,239,194                   // pxor          %xmm2,%xmm8
+  .byte  102,69,15,101,208                   // pcmpgtw       %xmm8,%xmm10
+  .byte  102,65,15,219,210                   // pand          %xmm10,%xmm2
+  .byte  102,68,15,223,211                   // pandn         %xmm3,%xmm10
+  .byte  102,65,15,235,210                   // por           %xmm10,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_clamp_a_dst_sse2_lowp
+.globl _sk_clamp_a_dst_sse2_lowp
+FUNCTION(_sk_clamp_a_dst_sse2_lowp)
+_sk_clamp_a_dst_sse2_lowp:
+  .byte  102,68,15,111,5,145,90,0,0          // movdqa        0x5a91(%rip),%xmm8        # 3d640 <_sk_srcover_bgra_8888_sse2_lowp+0x13f4>
+  .byte  102,68,15,111,204                   // movdqa        %xmm4,%xmm9
+  .byte  102,69,15,239,200                   // pxor          %xmm8,%xmm9
+  .byte  102,68,15,111,215                   // movdqa        %xmm7,%xmm10
+  .byte  102,69,15,239,208                   // pxor          %xmm8,%xmm10
+  .byte  102,69,15,111,218                   // movdqa        %xmm10,%xmm11
+  .byte  102,69,15,101,217                   // pcmpgtw       %xmm9,%xmm11
+  .byte  102,65,15,219,227                   // pand          %xmm11,%xmm4
+  .byte  102,68,15,223,223                   // pandn         %xmm7,%xmm11
+  .byte  102,65,15,235,227                   // por           %xmm11,%xmm4
+  .byte  102,68,15,111,205                   // movdqa        %xmm5,%xmm9
+  .byte  102,69,15,239,200                   // pxor          %xmm8,%xmm9
+  .byte  102,69,15,111,218                   // movdqa        %xmm10,%xmm11
+  .byte  102,69,15,101,217                   // pcmpgtw       %xmm9,%xmm11
+  .byte  102,65,15,219,235                   // pand          %xmm11,%xmm5
+  .byte  102,68,15,223,223                   // pandn         %xmm7,%xmm11
+  .byte  102,65,15,235,235                   // por           %xmm11,%xmm5
+  .byte  102,68,15,239,198                   // pxor          %xmm6,%xmm8
+  .byte  102,69,15,101,208                   // pcmpgtw       %xmm8,%xmm10
+  .byte  102,65,15,219,242                   // pand          %xmm10,%xmm6
+  .byte  102,68,15,223,215                   // pandn         %xmm7,%xmm10
+  .byte  102,65,15,235,242                   // por           %xmm10,%xmm6
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_premul_sse2_lowp
+.globl _sk_premul_sse2_lowp
+FUNCTION(_sk_premul_sse2_lowp)
+_sk_premul_sse2_lowp:
+  .byte  102,15,213,195                      // pmullw        %xmm3,%xmm0
+  .byte  102,68,15,111,5,135,82,0,0          // movdqa        0x5287(%rip),%xmm8        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,65,15,253,192                   // paddw         %xmm8,%xmm0
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,15,213,203                      // pmullw        %xmm3,%xmm1
+  .byte  102,65,15,253,200                   // paddw         %xmm8,%xmm1
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,213,211                      // pmullw        %xmm3,%xmm2
+  .byte  102,65,15,253,208                   // paddw         %xmm8,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_premul_dst_sse2_lowp
+.globl _sk_premul_dst_sse2_lowp
+FUNCTION(_sk_premul_dst_sse2_lowp)
+_sk_premul_dst_sse2_lowp:
+  .byte  102,15,213,231                      // pmullw        %xmm7,%xmm4
+  .byte  102,68,15,111,5,80,82,0,0           // movdqa        0x5250(%rip),%xmm8        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,65,15,253,224                   // paddw         %xmm8,%xmm4
+  .byte  102,15,113,212,8                    // psrlw         $0x8,%xmm4
+  .byte  102,15,213,239                      // pmullw        %xmm7,%xmm5
+  .byte  102,65,15,253,232                   // paddw         %xmm8,%xmm5
+  .byte  102,15,113,213,8                    // psrlw         $0x8,%xmm5
+  .byte  102,15,213,247                      // pmullw        %xmm7,%xmm6
+  .byte  102,65,15,253,240                   // paddw         %xmm8,%xmm6
+  .byte  102,15,113,214,8                    // psrlw         $0x8,%xmm6
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_force_opaque_sse2_lowp
+.globl _sk_force_opaque_sse2_lowp
+FUNCTION(_sk_force_opaque_sse2_lowp)
+_sk_force_opaque_sse2_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,29,29,82,0,0                  // movaps        0x521d(%rip),%xmm3        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_force_opaque_dst_sse2_lowp
+.globl _sk_force_opaque_dst_sse2_lowp
+FUNCTION(_sk_force_opaque_dst_sse2_lowp)
+_sk_force_opaque_dst_sse2_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,61,18,82,0,0                  // movaps        0x5212(%rip),%xmm7        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_swap_rb_sse2_lowp
+.globl _sk_swap_rb_sse2_lowp
+FUNCTION(_sk_swap_rb_sse2_lowp)
+_sk_swap_rb_sse2_lowp:
+  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,194                           // movaps        %xmm2,%xmm0
+  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_move_src_dst_sse2_lowp
+.globl _sk_move_src_dst_sse2_lowp
+FUNCTION(_sk_move_src_dst_sse2_lowp)
+_sk_move_src_dst_sse2_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,224                           // movaps        %xmm0,%xmm4
+  .byte  15,40,233                           // movaps        %xmm1,%xmm5
+  .byte  15,40,242                           // movaps        %xmm2,%xmm6
+  .byte  15,40,251                           // movaps        %xmm3,%xmm7
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_move_dst_src_sse2_lowp
+.globl _sk_move_dst_src_sse2_lowp
+FUNCTION(_sk_move_dst_src_sse2_lowp)
+_sk_move_dst_src_sse2_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,196                           // movaps        %xmm4,%xmm0
+  .byte  15,40,205                           // movaps        %xmm5,%xmm1
+  .byte  15,40,214                           // movaps        %xmm6,%xmm2
+  .byte  15,40,223                           // movaps        %xmm7,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_invert_sse2_lowp
+.globl _sk_invert_sse2_lowp
+FUNCTION(_sk_invert_sse2_lowp)
+_sk_invert_sse2_lowp:
+  .byte  102,68,15,111,5,216,81,0,0          // movdqa        0x51d8(%rip),%xmm8        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,69,15,111,200                   // movdqa        %xmm8,%xmm9
+  .byte  102,68,15,249,200                   // psubw         %xmm0,%xmm9
+  .byte  102,69,15,111,208                   // movdqa        %xmm8,%xmm10
+  .byte  102,68,15,249,209                   // psubw         %xmm1,%xmm10
+  .byte  102,69,15,111,216                   // movdqa        %xmm8,%xmm11
+  .byte  102,68,15,249,218                   // psubw         %xmm2,%xmm11
+  .byte  102,68,15,249,195                   // psubw         %xmm3,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,65,15,111,193                   // movdqa        %xmm9,%xmm0
+  .byte  102,65,15,111,202                   // movdqa        %xmm10,%xmm1
+  .byte  102,65,15,111,211                   // movdqa        %xmm11,%xmm2
+  .byte  102,65,15,111,216                   // movdqa        %xmm8,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_clear_sse2_lowp
+.globl _sk_clear_sse2_lowp
+FUNCTION(_sk_clear_sse2_lowp)
+_sk_clear_sse2_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  15,87,201                           // xorps         %xmm1,%xmm1
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_srcatop_sse2_lowp
+.globl _sk_srcatop_sse2_lowp
+FUNCTION(_sk_srcatop_sse2_lowp)
+_sk_srcatop_sse2_lowp:
+  .byte  102,68,15,111,195                   // movdqa        %xmm3,%xmm8
+  .byte  102,15,213,199                      // pmullw        %xmm7,%xmm0
+  .byte  102,15,111,29,124,81,0,0            // movdqa        0x517c(%rip),%xmm3        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,68,15,111,203                   // movdqa        %xmm3,%xmm9
+  .byte  102,69,15,249,200                   // psubw         %xmm8,%xmm9
+  .byte  102,69,15,111,193                   // movdqa        %xmm9,%xmm8
+  .byte  102,68,15,213,196                   // pmullw        %xmm4,%xmm8
+  .byte  102,15,253,195                      // paddw         %xmm3,%xmm0
+  .byte  102,65,15,253,192                   // paddw         %xmm8,%xmm0
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,15,213,207                      // pmullw        %xmm7,%xmm1
+  .byte  102,69,15,111,193                   // movdqa        %xmm9,%xmm8
+  .byte  102,68,15,213,197                   // pmullw        %xmm5,%xmm8
+  .byte  102,15,253,203                      // paddw         %xmm3,%xmm1
+  .byte  102,65,15,253,200                   // paddw         %xmm8,%xmm1
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,213,215                      // pmullw        %xmm7,%xmm2
+  .byte  102,68,15,213,206                   // pmullw        %xmm6,%xmm9
+  .byte  102,15,253,211                      // paddw         %xmm3,%xmm2
+  .byte  102,65,15,253,209                   // paddw         %xmm9,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,68,15,111,199                   // movdqa        %xmm7,%xmm8
+  .byte  102,68,15,213,195                   // pmullw        %xmm3,%xmm8
+  .byte  102,65,15,253,216                   // paddw         %xmm8,%xmm3
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_dstatop_sse2_lowp
+.globl _sk_dstatop_sse2_lowp
+FUNCTION(_sk_dstatop_sse2_lowp)
+_sk_dstatop_sse2_lowp:
+  .byte  102,68,15,111,196                   // movdqa        %xmm4,%xmm8
+  .byte  102,68,15,213,195                   // pmullw        %xmm3,%xmm8
+  .byte  102,68,15,111,13,252,80,0,0         // movdqa        0x50fc(%rip),%xmm9        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,69,15,253,193                   // paddw         %xmm9,%xmm8
+  .byte  102,68,15,111,213                   // movdqa        %xmm5,%xmm10
+  .byte  102,68,15,213,211                   // pmullw        %xmm3,%xmm10
+  .byte  102,69,15,253,209                   // paddw         %xmm9,%xmm10
+  .byte  102,68,15,111,222                   // movdqa        %xmm6,%xmm11
+  .byte  102,68,15,213,219                   // pmullw        %xmm3,%xmm11
+  .byte  102,69,15,253,217                   // paddw         %xmm9,%xmm11
+  .byte  102,65,15,213,217                   // pmullw        %xmm9,%xmm3
+  .byte  102,65,15,253,217                   // paddw         %xmm9,%xmm3
+  .byte  102,68,15,249,207                   // psubw         %xmm7,%xmm9
+  .byte  102,65,15,213,193                   // pmullw        %xmm9,%xmm0
+  .byte  102,65,15,253,192                   // paddw         %xmm8,%xmm0
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,65,15,213,201                   // pmullw        %xmm9,%xmm1
+  .byte  102,65,15,253,202                   // paddw         %xmm10,%xmm1
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,65,15,213,209                   // pmullw        %xmm9,%xmm2
+  .byte  102,65,15,253,211                   // paddw         %xmm11,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_srcin_sse2_lowp
+.globl _sk_srcin_sse2_lowp
+FUNCTION(_sk_srcin_sse2_lowp)
+_sk_srcin_sse2_lowp:
+  .byte  102,15,213,199                      // pmullw        %xmm7,%xmm0
+  .byte  102,68,15,111,5,135,80,0,0          // movdqa        0x5087(%rip),%xmm8        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,65,15,253,192                   // paddw         %xmm8,%xmm0
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,15,213,207                      // pmullw        %xmm7,%xmm1
+  .byte  102,65,15,253,200                   // paddw         %xmm8,%xmm1
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,213,215                      // pmullw        %xmm7,%xmm2
+  .byte  102,65,15,253,208                   // paddw         %xmm8,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,213,223                      // pmullw        %xmm7,%xmm3
+  .byte  102,65,15,253,216                   // paddw         %xmm8,%xmm3
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_dstin_sse2_lowp
+.globl _sk_dstin_sse2_lowp
+FUNCTION(_sk_dstin_sse2_lowp)
+_sk_dstin_sse2_lowp:
+  .byte  102,15,111,196                      // movdqa        %xmm4,%xmm0
+  .byte  102,15,213,195                      // pmullw        %xmm3,%xmm0
+  .byte  102,68,15,111,5,62,80,0,0           // movdqa        0x503e(%rip),%xmm8        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,65,15,253,192                   // paddw         %xmm8,%xmm0
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,15,111,205                      // movdqa        %xmm5,%xmm1
+  .byte  102,15,213,203                      // pmullw        %xmm3,%xmm1
+  .byte  102,65,15,253,200                   // paddw         %xmm8,%xmm1
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,111,214                      // movdqa        %xmm6,%xmm2
+  .byte  102,15,213,211                      // pmullw        %xmm3,%xmm2
+  .byte  102,65,15,253,208                   // paddw         %xmm8,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,213,223                      // pmullw        %xmm7,%xmm3
+  .byte  102,65,15,253,216                   // paddw         %xmm8,%xmm3
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_srcout_sse2_lowp
+.globl _sk_srcout_sse2_lowp
+FUNCTION(_sk_srcout_sse2_lowp)
+_sk_srcout_sse2_lowp:
+  .byte  102,68,15,111,5,245,79,0,0          // movdqa        0x4ff5(%rip),%xmm8        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,69,15,111,200                   // movdqa        %xmm8,%xmm9
+  .byte  102,68,15,249,207                   // psubw         %xmm7,%xmm9
+  .byte  102,65,15,213,193                   // pmullw        %xmm9,%xmm0
+  .byte  102,65,15,253,192                   // paddw         %xmm8,%xmm0
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,65,15,213,201                   // pmullw        %xmm9,%xmm1
+  .byte  102,65,15,253,200                   // paddw         %xmm8,%xmm1
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,65,15,213,209                   // pmullw        %xmm9,%xmm2
+  .byte  102,65,15,253,208                   // paddw         %xmm8,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,65,15,213,217                   // pmullw        %xmm9,%xmm3
+  .byte  102,65,15,253,216                   // paddw         %xmm8,%xmm3
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_dstout_sse2_lowp
+.globl _sk_dstout_sse2_lowp
+FUNCTION(_sk_dstout_sse2_lowp)
+_sk_dstout_sse2_lowp:
+  .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
+  .byte  102,68,15,111,5,158,79,0,0          // movdqa        0x4f9e(%rip),%xmm8        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,65,15,111,216                   // movdqa        %xmm8,%xmm3
+  .byte  102,15,249,216                      // psubw         %xmm0,%xmm3
+  .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
+  .byte  102,15,213,196                      // pmullw        %xmm4,%xmm0
+  .byte  102,65,15,253,192                   // paddw         %xmm8,%xmm0
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
+  .byte  102,15,213,205                      // pmullw        %xmm5,%xmm1
+  .byte  102,65,15,253,200                   // paddw         %xmm8,%xmm1
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,111,211                      // movdqa        %xmm3,%xmm2
+  .byte  102,15,213,214                      // pmullw        %xmm6,%xmm2
+  .byte  102,65,15,253,208                   // paddw         %xmm8,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,213,223                      // pmullw        %xmm7,%xmm3
+  .byte  102,65,15,253,216                   // paddw         %xmm8,%xmm3
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_srcover_sse2_lowp
+.globl _sk_srcover_sse2_lowp
+FUNCTION(_sk_srcover_sse2_lowp)
+_sk_srcover_sse2_lowp:
+  .byte  102,68,15,111,13,68,79,0,0          // movdqa        0x4f44(%rip),%xmm9        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,69,15,111,193                   // movdqa        %xmm9,%xmm8
+  .byte  102,68,15,249,195                   // psubw         %xmm3,%xmm8
+  .byte  102,69,15,111,208                   // movdqa        %xmm8,%xmm10
+  .byte  102,68,15,213,212                   // pmullw        %xmm4,%xmm10
+  .byte  102,69,15,253,209                   // paddw         %xmm9,%xmm10
+  .byte  102,65,15,113,210,8                 // psrlw         $0x8,%xmm10
+  .byte  102,65,15,253,194                   // paddw         %xmm10,%xmm0
+  .byte  102,69,15,111,208                   // movdqa        %xmm8,%xmm10
+  .byte  102,68,15,213,213                   // pmullw        %xmm5,%xmm10
+  .byte  102,69,15,253,209                   // paddw         %xmm9,%xmm10
+  .byte  102,65,15,113,210,8                 // psrlw         $0x8,%xmm10
+  .byte  102,65,15,253,202                   // paddw         %xmm10,%xmm1
+  .byte  102,69,15,111,208                   // movdqa        %xmm8,%xmm10
+  .byte  102,68,15,213,214                   // pmullw        %xmm6,%xmm10
+  .byte  102,69,15,253,209                   // paddw         %xmm9,%xmm10
+  .byte  102,65,15,113,210,8                 // psrlw         $0x8,%xmm10
+  .byte  102,65,15,253,210                   // paddw         %xmm10,%xmm2
+  .byte  102,68,15,213,199                   // pmullw        %xmm7,%xmm8
+  .byte  102,69,15,253,193                   // paddw         %xmm9,%xmm8
+  .byte  102,65,15,113,208,8                 // psrlw         $0x8,%xmm8
+  .byte  102,65,15,253,216                   // paddw         %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_dstover_sse2_lowp
+.globl _sk_dstover_sse2_lowp
+FUNCTION(_sk_dstover_sse2_lowp)
+_sk_dstover_sse2_lowp:
+  .byte  102,68,15,111,5,202,78,0,0          // movdqa        0x4eca(%rip),%xmm8        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,69,15,111,200                   // movdqa        %xmm8,%xmm9
+  .byte  102,68,15,249,207                   // psubw         %xmm7,%xmm9
+  .byte  102,65,15,213,193                   // pmullw        %xmm9,%xmm0
+  .byte  102,65,15,253,192                   // paddw         %xmm8,%xmm0
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,15,253,196                      // paddw         %xmm4,%xmm0
+  .byte  102,65,15,213,201                   // pmullw        %xmm9,%xmm1
+  .byte  102,65,15,253,200                   // paddw         %xmm8,%xmm1
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,253,205                      // paddw         %xmm5,%xmm1
+  .byte  102,65,15,213,209                   // pmullw        %xmm9,%xmm2
+  .byte  102,65,15,253,208                   // paddw         %xmm8,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,253,214                      // paddw         %xmm6,%xmm2
+  .byte  102,65,15,213,217                   // pmullw        %xmm9,%xmm3
+  .byte  102,65,15,253,216                   // paddw         %xmm8,%xmm3
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  102,15,253,223                      // paddw         %xmm7,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_modulate_sse2_lowp
+.globl _sk_modulate_sse2_lowp
+FUNCTION(_sk_modulate_sse2_lowp)
+_sk_modulate_sse2_lowp:
+  .byte  102,15,213,196                      // pmullw        %xmm4,%xmm0
+  .byte  102,68,15,111,5,99,78,0,0           // movdqa        0x4e63(%rip),%xmm8        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,65,15,253,192                   // paddw         %xmm8,%xmm0
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,15,213,205                      // pmullw        %xmm5,%xmm1
+  .byte  102,65,15,253,200                   // paddw         %xmm8,%xmm1
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,213,214                      // pmullw        %xmm6,%xmm2
+  .byte  102,65,15,253,208                   // paddw         %xmm8,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,213,223                      // pmullw        %xmm7,%xmm3
+  .byte  102,65,15,253,216                   // paddw         %xmm8,%xmm3
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_multiply_sse2_lowp
+.globl _sk_multiply_sse2_lowp
+FUNCTION(_sk_multiply_sse2_lowp)
+_sk_multiply_sse2_lowp:
+  .byte  102,68,15,111,13,34,78,0,0          // movdqa        0x4e22(%rip),%xmm9        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,69,15,111,193                   // movdqa        %xmm9,%xmm8
+  .byte  102,68,15,249,195                   // psubw         %xmm3,%xmm8
+  .byte  102,69,15,111,208                   // movdqa        %xmm8,%xmm10
+  .byte  102,68,15,213,212                   // pmullw        %xmm4,%xmm10
+  .byte  102,68,15,111,220                   // movdqa        %xmm4,%xmm11
+  .byte  102,69,15,253,217                   // paddw         %xmm9,%xmm11
+  .byte  102,68,15,249,223                   // psubw         %xmm7,%xmm11
+  .byte  102,65,15,213,195                   // pmullw        %xmm11,%xmm0
+  .byte  102,69,15,253,209                   // paddw         %xmm9,%xmm10
+  .byte  102,65,15,253,194                   // paddw         %xmm10,%xmm0
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,69,15,111,208                   // movdqa        %xmm8,%xmm10
+  .byte  102,68,15,213,213                   // pmullw        %xmm5,%xmm10
+  .byte  102,68,15,111,221                   // movdqa        %xmm5,%xmm11
+  .byte  102,69,15,253,217                   // paddw         %xmm9,%xmm11
+  .byte  102,68,15,249,223                   // psubw         %xmm7,%xmm11
+  .byte  102,65,15,213,203                   // pmullw        %xmm11,%xmm1
+  .byte  102,69,15,253,209                   // paddw         %xmm9,%xmm10
+  .byte  102,65,15,253,202                   // paddw         %xmm10,%xmm1
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,69,15,111,208                   // movdqa        %xmm8,%xmm10
+  .byte  102,68,15,213,214                   // pmullw        %xmm6,%xmm10
+  .byte  102,68,15,111,222                   // movdqa        %xmm6,%xmm11
+  .byte  102,69,15,253,217                   // paddw         %xmm9,%xmm11
+  .byte  102,68,15,249,223                   // psubw         %xmm7,%xmm11
+  .byte  102,65,15,213,211                   // pmullw        %xmm11,%xmm2
+  .byte  102,69,15,253,209                   // paddw         %xmm9,%xmm10
+  .byte  102,65,15,253,210                   // paddw         %xmm10,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,68,15,213,199                   // pmullw        %xmm7,%xmm8
+  .byte  102,65,15,213,217                   // pmullw        %xmm9,%xmm3
+  .byte  102,65,15,253,217                   // paddw         %xmm9,%xmm3
+  .byte  102,65,15,253,216                   // paddw         %xmm8,%xmm3
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_plus__sse2_lowp
+.globl _sk_plus__sse2_lowp
+FUNCTION(_sk_plus__sse2_lowp)
+_sk_plus__sse2_lowp:
+  .byte  102,68,15,111,193                   // movdqa        %xmm1,%xmm8
+  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
+  .byte  102,15,253,204                      // paddw         %xmm4,%xmm1
+  .byte  102,68,15,111,21,238,85,0,0         // movdqa        0x55ee(%rip),%xmm10        # 3d740 <_sk_srcover_bgra_8888_sse2_lowp+0x14f4>
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,65,15,217,194                   // psubusw       %xmm10,%xmm0
+  .byte  102,69,15,239,228                   // pxor          %xmm12,%xmm12
+  .byte  102,65,15,117,196                   // pcmpeqw       %xmm12,%xmm0
+  .byte  102,68,15,111,29,66,77,0,0          // movdqa        0x4d42(%rip),%xmm11        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,15,219,200                      // pand          %xmm0,%xmm1
+  .byte  102,65,15,223,195                   // pandn         %xmm11,%xmm0
+  .byte  102,15,235,193                      // por           %xmm1,%xmm0
+  .byte  102,68,15,253,197                   // paddw         %xmm5,%xmm8
+  .byte  102,65,15,111,200                   // movdqa        %xmm8,%xmm1
+  .byte  102,65,15,217,202                   // psubusw       %xmm10,%xmm1
+  .byte  102,65,15,117,204                   // pcmpeqw       %xmm12,%xmm1
+  .byte  102,68,15,219,193                   // pand          %xmm1,%xmm8
+  .byte  102,65,15,223,203                   // pandn         %xmm11,%xmm1
+  .byte  102,65,15,235,200                   // por           %xmm8,%xmm1
+  .byte  102,15,253,214                      // paddw         %xmm6,%xmm2
+  .byte  102,68,15,111,194                   // movdqa        %xmm2,%xmm8
+  .byte  102,69,15,217,194                   // psubusw       %xmm10,%xmm8
+  .byte  102,69,15,117,196                   // pcmpeqw       %xmm12,%xmm8
+  .byte  102,65,15,219,208                   // pand          %xmm8,%xmm2
+  .byte  102,69,15,223,195                   // pandn         %xmm11,%xmm8
+  .byte  102,68,15,235,194                   // por           %xmm2,%xmm8
+  .byte  102,15,253,223                      // paddw         %xmm7,%xmm3
+  .byte  102,68,15,111,203                   // movdqa        %xmm3,%xmm9
+  .byte  102,69,15,217,202                   // psubusw       %xmm10,%xmm9
+  .byte  102,69,15,117,204                   // pcmpeqw       %xmm12,%xmm9
+  .byte  102,65,15,219,217                   // pand          %xmm9,%xmm3
+  .byte  102,69,15,223,203                   // pandn         %xmm11,%xmm9
+  .byte  102,68,15,235,203                   // por           %xmm3,%xmm9
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,65,15,111,208                   // movdqa        %xmm8,%xmm2
+  .byte  102,65,15,111,217                   // movdqa        %xmm9,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_screen_sse2_lowp
+.globl _sk_screen_sse2_lowp
+FUNCTION(_sk_screen_sse2_lowp)
+_sk_screen_sse2_lowp:
+  .byte  102,68,15,111,193                   // movdqa        %xmm1,%xmm8
+  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
+  .byte  102,15,111,196                      // movdqa        %xmm4,%xmm0
+  .byte  102,15,253,193                      // paddw         %xmm1,%xmm0
+  .byte  102,15,213,204                      // pmullw        %xmm4,%xmm1
+  .byte  102,68,15,111,21,162,76,0,0         // movdqa        0x4ca2(%rip),%xmm10        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,65,15,253,202                   // paddw         %xmm10,%xmm1
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,249,193                      // psubw         %xmm1,%xmm0
+  .byte  102,15,111,205                      // movdqa        %xmm5,%xmm1
+  .byte  102,65,15,253,200                   // paddw         %xmm8,%xmm1
+  .byte  102,68,15,213,197                   // pmullw        %xmm5,%xmm8
+  .byte  102,69,15,253,194                   // paddw         %xmm10,%xmm8
+  .byte  102,65,15,113,208,8                 // psrlw         $0x8,%xmm8
+  .byte  102,65,15,249,200                   // psubw         %xmm8,%xmm1
+  .byte  102,68,15,111,198                   // movdqa        %xmm6,%xmm8
+  .byte  102,68,15,253,194                   // paddw         %xmm2,%xmm8
+  .byte  102,15,213,214                      // pmullw        %xmm6,%xmm2
+  .byte  102,65,15,253,210                   // paddw         %xmm10,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,68,15,249,194                   // psubw         %xmm2,%xmm8
+  .byte  102,68,15,111,207                   // movdqa        %xmm7,%xmm9
+  .byte  102,68,15,253,203                   // paddw         %xmm3,%xmm9
+  .byte  102,15,213,223                      // pmullw        %xmm7,%xmm3
+  .byte  102,65,15,253,218                   // paddw         %xmm10,%xmm3
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  102,68,15,249,203                   // psubw         %xmm3,%xmm9
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,65,15,111,208                   // movdqa        %xmm8,%xmm2
+  .byte  102,65,15,111,217                   // movdqa        %xmm9,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xor__sse2_lowp
+.globl _sk_xor__sse2_lowp
+FUNCTION(_sk_xor__sse2_lowp)
+_sk_xor__sse2_lowp:
+  .byte  102,68,15,111,195                   // movdqa        %xmm3,%xmm8
+  .byte  102,68,15,111,13,32,76,0,0          // movdqa        0x4c20(%rip),%xmm9        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,69,15,111,209                   // movdqa        %xmm9,%xmm10
+  .byte  102,68,15,249,215                   // psubw         %xmm7,%xmm10
+  .byte  102,65,15,213,194                   // pmullw        %xmm10,%xmm0
+  .byte  102,65,15,111,217                   // movdqa        %xmm9,%xmm3
+  .byte  102,65,15,249,216                   // psubw         %xmm8,%xmm3
+  .byte  102,68,15,111,219                   // movdqa        %xmm3,%xmm11
+  .byte  102,68,15,213,220                   // pmullw        %xmm4,%xmm11
+  .byte  102,65,15,253,195                   // paddw         %xmm11,%xmm0
+  .byte  102,65,15,253,193                   // paddw         %xmm9,%xmm0
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,65,15,213,202                   // pmullw        %xmm10,%xmm1
+  .byte  102,68,15,111,219                   // movdqa        %xmm3,%xmm11
+  .byte  102,68,15,213,221                   // pmullw        %xmm5,%xmm11
+  .byte  102,65,15,253,203                   // paddw         %xmm11,%xmm1
+  .byte  102,65,15,253,201                   // paddw         %xmm9,%xmm1
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,65,15,213,210                   // pmullw        %xmm10,%xmm2
+  .byte  102,68,15,111,219                   // movdqa        %xmm3,%xmm11
+  .byte  102,68,15,213,222                   // pmullw        %xmm6,%xmm11
+  .byte  102,65,15,253,211                   // paddw         %xmm11,%xmm2
+  .byte  102,65,15,253,209                   // paddw         %xmm9,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,69,15,213,208                   // pmullw        %xmm8,%xmm10
+  .byte  102,15,213,223                      // pmullw        %xmm7,%xmm3
+  .byte  102,65,15,253,218                   // paddw         %xmm10,%xmm3
+  .byte  102,65,15,253,217                   // paddw         %xmm9,%xmm3
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_darken_sse2_lowp
+.globl _sk_darken_sse2_lowp
+FUNCTION(_sk_darken_sse2_lowp)
+_sk_darken_sse2_lowp:
+  .byte  102,68,15,111,193                   // movdqa        %xmm1,%xmm8
+  .byte  102,68,15,111,208                   // movdqa        %xmm0,%xmm10
+  .byte  102,68,15,111,228                   // movdqa        %xmm4,%xmm12
+  .byte  102,15,111,196                      // movdqa        %xmm4,%xmm0
+  .byte  102,65,15,253,194                   // paddw         %xmm10,%xmm0
+  .byte  102,68,15,213,215                   // pmullw        %xmm7,%xmm10
+  .byte  102,68,15,213,227                   // pmullw        %xmm3,%xmm12
+  .byte  102,68,15,111,13,251,82,0,0         // movdqa        0x52fb(%rip),%xmm9        # 3d640 <_sk_srcover_bgra_8888_sse2_lowp+0x13f4>
+  .byte  102,69,15,111,218                   // movdqa        %xmm10,%xmm11
+  .byte  102,69,15,239,217                   // pxor          %xmm9,%xmm11
+  .byte  102,65,15,111,204                   // movdqa        %xmm12,%xmm1
+  .byte  102,65,15,239,201                   // pxor          %xmm9,%xmm1
+  .byte  102,65,15,101,203                   // pcmpgtw       %xmm11,%xmm1
+  .byte  102,68,15,219,225                   // pand          %xmm1,%xmm12
+  .byte  102,65,15,223,202                   // pandn         %xmm10,%xmm1
+  .byte  102,65,15,235,204                   // por           %xmm12,%xmm1
+  .byte  102,68,15,111,21,58,75,0,0          // movdqa        0x4b3a(%rip),%xmm10        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,65,15,253,202                   // paddw         %xmm10,%xmm1
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,249,193                      // psubw         %xmm1,%xmm0
+  .byte  102,68,15,111,221                   // movdqa        %xmm5,%xmm11
+  .byte  102,15,111,205                      // movdqa        %xmm5,%xmm1
+  .byte  102,65,15,253,200                   // paddw         %xmm8,%xmm1
+  .byte  102,68,15,213,199                   // pmullw        %xmm7,%xmm8
+  .byte  102,68,15,213,219                   // pmullw        %xmm3,%xmm11
+  .byte  102,69,15,111,224                   // movdqa        %xmm8,%xmm12
+  .byte  102,69,15,239,225                   // pxor          %xmm9,%xmm12
+  .byte  102,69,15,111,235                   // movdqa        %xmm11,%xmm13
+  .byte  102,69,15,239,233                   // pxor          %xmm9,%xmm13
+  .byte  102,69,15,101,236                   // pcmpgtw       %xmm12,%xmm13
+  .byte  102,69,15,219,221                   // pand          %xmm13,%xmm11
+  .byte  102,69,15,223,232                   // pandn         %xmm8,%xmm13
+  .byte  102,69,15,235,235                   // por           %xmm11,%xmm13
+  .byte  102,69,15,253,234                   // paddw         %xmm10,%xmm13
+  .byte  102,65,15,113,213,8                 // psrlw         $0x8,%xmm13
+  .byte  102,65,15,249,205                   // psubw         %xmm13,%xmm1
+  .byte  102,68,15,111,222                   // movdqa        %xmm6,%xmm11
+  .byte  102,68,15,111,198                   // movdqa        %xmm6,%xmm8
+  .byte  102,68,15,253,194                   // paddw         %xmm2,%xmm8
+  .byte  102,15,213,215                      // pmullw        %xmm7,%xmm2
+  .byte  102,68,15,213,219                   // pmullw        %xmm3,%xmm11
+  .byte  102,68,15,111,226                   // movdqa        %xmm2,%xmm12
+  .byte  102,69,15,239,225                   // pxor          %xmm9,%xmm12
+  .byte  102,69,15,239,203                   // pxor          %xmm11,%xmm9
+  .byte  102,69,15,101,204                   // pcmpgtw       %xmm12,%xmm9
+  .byte  102,69,15,219,217                   // pand          %xmm9,%xmm11
+  .byte  102,68,15,223,202                   // pandn         %xmm2,%xmm9
+  .byte  102,69,15,235,203                   // por           %xmm11,%xmm9
+  .byte  102,69,15,253,202                   // paddw         %xmm10,%xmm9
+  .byte  102,65,15,113,209,8                 // psrlw         $0x8,%xmm9
+  .byte  102,69,15,249,193                   // psubw         %xmm9,%xmm8
+  .byte  102,65,15,111,210                   // movdqa        %xmm10,%xmm2
+  .byte  102,15,249,211                      // psubw         %xmm3,%xmm2
+  .byte  102,15,213,215                      // pmullw        %xmm7,%xmm2
+  .byte  102,65,15,253,210                   // paddw         %xmm10,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,253,218                      // paddw         %xmm2,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,65,15,111,208                   // movdqa        %xmm8,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_lighten_sse2_lowp
+.globl _sk_lighten_sse2_lowp
+FUNCTION(_sk_lighten_sse2_lowp)
+_sk_lighten_sse2_lowp:
+  .byte  102,68,15,111,193                   // movdqa        %xmm1,%xmm8
+  .byte  102,68,15,111,224                   // movdqa        %xmm0,%xmm12
+  .byte  102,68,15,111,212                   // movdqa        %xmm4,%xmm10
+  .byte  102,15,111,196                      // movdqa        %xmm4,%xmm0
+  .byte  102,65,15,253,196                   // paddw         %xmm12,%xmm0
+  .byte  102,68,15,213,231                   // pmullw        %xmm7,%xmm12
+  .byte  102,68,15,213,211                   // pmullw        %xmm3,%xmm10
+  .byte  102,68,15,111,13,210,81,0,0         // movdqa        0x51d2(%rip),%xmm9        # 3d640 <_sk_srcover_bgra_8888_sse2_lowp+0x13f4>
+  .byte  102,69,15,111,220                   // movdqa        %xmm12,%xmm11
+  .byte  102,69,15,239,217                   // pxor          %xmm9,%xmm11
+  .byte  102,65,15,111,202                   // movdqa        %xmm10,%xmm1
+  .byte  102,65,15,239,201                   // pxor          %xmm9,%xmm1
+  .byte  102,65,15,101,203                   // pcmpgtw       %xmm11,%xmm1
+  .byte  102,68,15,219,225                   // pand          %xmm1,%xmm12
+  .byte  102,65,15,223,202                   // pandn         %xmm10,%xmm1
+  .byte  102,65,15,235,204                   // por           %xmm12,%xmm1
+  .byte  102,68,15,111,21,17,74,0,0          // movdqa        0x4a11(%rip),%xmm10        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,65,15,253,202                   // paddw         %xmm10,%xmm1
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,249,193                      // psubw         %xmm1,%xmm0
+  .byte  102,68,15,111,221                   // movdqa        %xmm5,%xmm11
+  .byte  102,15,111,205                      // movdqa        %xmm5,%xmm1
+  .byte  102,65,15,253,200                   // paddw         %xmm8,%xmm1
+  .byte  102,68,15,213,199                   // pmullw        %xmm7,%xmm8
+  .byte  102,68,15,213,219                   // pmullw        %xmm3,%xmm11
+  .byte  102,69,15,111,224                   // movdqa        %xmm8,%xmm12
+  .byte  102,69,15,239,225                   // pxor          %xmm9,%xmm12
+  .byte  102,69,15,111,235                   // movdqa        %xmm11,%xmm13
+  .byte  102,69,15,239,233                   // pxor          %xmm9,%xmm13
+  .byte  102,69,15,101,236                   // pcmpgtw       %xmm12,%xmm13
+  .byte  102,69,15,219,197                   // pand          %xmm13,%xmm8
+  .byte  102,69,15,223,235                   // pandn         %xmm11,%xmm13
+  .byte  102,69,15,235,232                   // por           %xmm8,%xmm13
+  .byte  102,69,15,253,234                   // paddw         %xmm10,%xmm13
+  .byte  102,65,15,113,213,8                 // psrlw         $0x8,%xmm13
+  .byte  102,65,15,249,205                   // psubw         %xmm13,%xmm1
+  .byte  102,68,15,111,222                   // movdqa        %xmm6,%xmm11
+  .byte  102,68,15,111,198                   // movdqa        %xmm6,%xmm8
+  .byte  102,68,15,253,194                   // paddw         %xmm2,%xmm8
+  .byte  102,15,213,215                      // pmullw        %xmm7,%xmm2
+  .byte  102,68,15,213,219                   // pmullw        %xmm3,%xmm11
+  .byte  102,68,15,111,226                   // movdqa        %xmm2,%xmm12
+  .byte  102,69,15,239,225                   // pxor          %xmm9,%xmm12
+  .byte  102,69,15,239,203                   // pxor          %xmm11,%xmm9
+  .byte  102,69,15,101,204                   // pcmpgtw       %xmm12,%xmm9
+  .byte  102,65,15,219,209                   // pand          %xmm9,%xmm2
+  .byte  102,69,15,223,203                   // pandn         %xmm11,%xmm9
+  .byte  102,68,15,235,202                   // por           %xmm2,%xmm9
+  .byte  102,69,15,253,202                   // paddw         %xmm10,%xmm9
+  .byte  102,65,15,113,209,8                 // psrlw         $0x8,%xmm9
+  .byte  102,69,15,249,193                   // psubw         %xmm9,%xmm8
+  .byte  102,65,15,111,210                   // movdqa        %xmm10,%xmm2
+  .byte  102,15,249,211                      // psubw         %xmm3,%xmm2
+  .byte  102,15,213,215                      // pmullw        %xmm7,%xmm2
+  .byte  102,65,15,253,210                   // paddw         %xmm10,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,253,218                      // paddw         %xmm2,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,65,15,111,208                   // movdqa        %xmm8,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_difference_sse2_lowp
+.globl _sk_difference_sse2_lowp
+FUNCTION(_sk_difference_sse2_lowp)
+_sk_difference_sse2_lowp:
+  .byte  102,68,15,111,193                   // movdqa        %xmm1,%xmm8
+  .byte  102,68,15,111,224                   // movdqa        %xmm0,%xmm12
+  .byte  102,68,15,111,212                   // movdqa        %xmm4,%xmm10
+  .byte  102,15,111,196                      // movdqa        %xmm4,%xmm0
+  .byte  102,65,15,253,196                   // paddw         %xmm12,%xmm0
+  .byte  102,68,15,213,231                   // pmullw        %xmm7,%xmm12
+  .byte  102,68,15,213,211                   // pmullw        %xmm3,%xmm10
+  .byte  102,68,15,111,13,169,80,0,0         // movdqa        0x50a9(%rip),%xmm9        # 3d640 <_sk_srcover_bgra_8888_sse2_lowp+0x13f4>
+  .byte  102,69,15,111,220                   // movdqa        %xmm12,%xmm11
+  .byte  102,69,15,239,217                   // pxor          %xmm9,%xmm11
+  .byte  102,65,15,111,202                   // movdqa        %xmm10,%xmm1
+  .byte  102,65,15,239,201                   // pxor          %xmm9,%xmm1
+  .byte  102,65,15,101,203                   // pcmpgtw       %xmm11,%xmm1
+  .byte  102,68,15,219,225                   // pand          %xmm1,%xmm12
+  .byte  102,65,15,223,202                   // pandn         %xmm10,%xmm1
+  .byte  102,65,15,235,204                   // por           %xmm12,%xmm1
+  .byte  102,68,15,111,21,232,72,0,0         // movdqa        0x48e8(%rip),%xmm10        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,65,15,253,202                   // paddw         %xmm10,%xmm1
+  .byte  102,15,113,209,7                    // psrlw         $0x7,%xmm1
+  .byte  102,68,15,111,29,85,80,0,0          // movdqa        0x5055(%rip),%xmm11        # 3d630 <_sk_srcover_bgra_8888_sse2_lowp+0x13e4>
+  .byte  102,65,15,219,203                   // pand          %xmm11,%xmm1
+  .byte  102,15,249,193                      // psubw         %xmm1,%xmm0
+  .byte  102,68,15,111,229                   // movdqa        %xmm5,%xmm12
+  .byte  102,15,111,205                      // movdqa        %xmm5,%xmm1
+  .byte  102,65,15,253,200                   // paddw         %xmm8,%xmm1
+  .byte  102,68,15,213,199                   // pmullw        %xmm7,%xmm8
+  .byte  102,68,15,213,227                   // pmullw        %xmm3,%xmm12
+  .byte  102,69,15,111,232                   // movdqa        %xmm8,%xmm13
+  .byte  102,69,15,239,233                   // pxor          %xmm9,%xmm13
+  .byte  102,69,15,111,244                   // movdqa        %xmm12,%xmm14
+  .byte  102,69,15,239,241                   // pxor          %xmm9,%xmm14
+  .byte  102,69,15,101,245                   // pcmpgtw       %xmm13,%xmm14
+  .byte  102,69,15,219,198                   // pand          %xmm14,%xmm8
+  .byte  102,69,15,223,244                   // pandn         %xmm12,%xmm14
+  .byte  102,69,15,235,240                   // por           %xmm8,%xmm14
+  .byte  102,69,15,253,242                   // paddw         %xmm10,%xmm14
+  .byte  102,65,15,113,214,7                 // psrlw         $0x7,%xmm14
+  .byte  102,69,15,219,243                   // pand          %xmm11,%xmm14
+  .byte  102,65,15,249,206                   // psubw         %xmm14,%xmm1
+  .byte  102,68,15,111,230                   // movdqa        %xmm6,%xmm12
+  .byte  102,68,15,111,198                   // movdqa        %xmm6,%xmm8
+  .byte  102,68,15,253,194                   // paddw         %xmm2,%xmm8
+  .byte  102,15,213,215                      // pmullw        %xmm7,%xmm2
+  .byte  102,68,15,213,227                   // pmullw        %xmm3,%xmm12
+  .byte  102,68,15,111,234                   // movdqa        %xmm2,%xmm13
+  .byte  102,69,15,239,233                   // pxor          %xmm9,%xmm13
+  .byte  102,69,15,239,204                   // pxor          %xmm12,%xmm9
+  .byte  102,69,15,101,205                   // pcmpgtw       %xmm13,%xmm9
+  .byte  102,65,15,219,209                   // pand          %xmm9,%xmm2
+  .byte  102,69,15,223,204                   // pandn         %xmm12,%xmm9
+  .byte  102,68,15,235,202                   // por           %xmm2,%xmm9
+  .byte  102,69,15,253,202                   // paddw         %xmm10,%xmm9
+  .byte  102,65,15,113,209,7                 // psrlw         $0x7,%xmm9
+  .byte  102,69,15,219,203                   // pand          %xmm11,%xmm9
+  .byte  102,69,15,249,193                   // psubw         %xmm9,%xmm8
+  .byte  102,65,15,111,210                   // movdqa        %xmm10,%xmm2
+  .byte  102,15,249,211                      // psubw         %xmm3,%xmm2
+  .byte  102,15,213,215                      // pmullw        %xmm7,%xmm2
+  .byte  102,65,15,253,210                   // paddw         %xmm10,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,253,218                      // paddw         %xmm2,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,65,15,111,208                   // movdqa        %xmm8,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_exclusion_sse2_lowp
+.globl _sk_exclusion_sse2_lowp
+FUNCTION(_sk_exclusion_sse2_lowp)
+_sk_exclusion_sse2_lowp:
+  .byte  102,68,15,111,193                   // movdqa        %xmm1,%xmm8
+  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
+  .byte  102,15,111,196                      // movdqa        %xmm4,%xmm0
+  .byte  102,15,253,193                      // paddw         %xmm1,%xmm0
+  .byte  102,15,213,204                      // pmullw        %xmm4,%xmm1
+  .byte  102,68,15,111,13,229,71,0,0         // movdqa        0x47e5(%rip),%xmm9        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,65,15,253,201                   // paddw         %xmm9,%xmm1
+  .byte  102,15,113,209,7                    // psrlw         $0x7,%xmm1
+  .byte  102,68,15,111,21,82,79,0,0          // movdqa        0x4f52(%rip),%xmm10        # 3d630 <_sk_srcover_bgra_8888_sse2_lowp+0x13e4>
+  .byte  102,65,15,219,202                   // pand          %xmm10,%xmm1
+  .byte  102,15,249,193                      // psubw         %xmm1,%xmm0
+  .byte  102,15,111,205                      // movdqa        %xmm5,%xmm1
+  .byte  102,65,15,253,200                   // paddw         %xmm8,%xmm1
+  .byte  102,68,15,213,197                   // pmullw        %xmm5,%xmm8
+  .byte  102,69,15,253,193                   // paddw         %xmm9,%xmm8
+  .byte  102,65,15,113,208,7                 // psrlw         $0x7,%xmm8
+  .byte  102,69,15,219,194                   // pand          %xmm10,%xmm8
+  .byte  102,65,15,249,200                   // psubw         %xmm8,%xmm1
+  .byte  102,68,15,111,198                   // movdqa        %xmm6,%xmm8
+  .byte  102,68,15,253,194                   // paddw         %xmm2,%xmm8
+  .byte  102,15,213,214                      // pmullw        %xmm6,%xmm2
+  .byte  102,65,15,253,209                   // paddw         %xmm9,%xmm2
+  .byte  102,15,113,210,7                    // psrlw         $0x7,%xmm2
+  .byte  102,65,15,219,210                   // pand          %xmm10,%xmm2
+  .byte  102,68,15,249,194                   // psubw         %xmm2,%xmm8
+  .byte  102,65,15,111,209                   // movdqa        %xmm9,%xmm2
+  .byte  102,15,249,211                      // psubw         %xmm3,%xmm2
+  .byte  102,15,213,215                      // pmullw        %xmm7,%xmm2
+  .byte  102,65,15,253,209                   // paddw         %xmm9,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,253,218                      // paddw         %xmm2,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,65,15,111,208                   // movdqa        %xmm8,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_hardlight_sse2_lowp
+.globl _sk_hardlight_sse2_lowp
+FUNCTION(_sk_hardlight_sse2_lowp)
+_sk_hardlight_sse2_lowp:
+  .byte  15,41,116,36,232                    // movaps        %xmm6,-0x18(%rsp)
+  .byte  102,15,111,245                      // movdqa        %xmm5,%xmm6
+  .byte  102,15,111,236                      // movdqa        %xmm4,%xmm5
+  .byte  102,68,15,111,194                   // movdqa        %xmm2,%xmm8
+  .byte  102,68,15,111,200                   // movdqa        %xmm0,%xmm9
+  .byte  102,15,111,21,65,71,0,0             // movdqa        0x4741(%rip),%xmm2        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,68,15,111,226                   // movdqa        %xmm2,%xmm12
+  .byte  102,68,15,249,231                   // psubw         %xmm7,%xmm12
+  .byte  102,65,15,111,196                   // movdqa        %xmm12,%xmm0
+  .byte  102,65,15,213,193                   // pmullw        %xmm9,%xmm0
+  .byte  102,68,15,111,218                   // movdqa        %xmm2,%xmm11
+  .byte  102,68,15,249,219                   // psubw         %xmm3,%xmm11
+  .byte  102,69,15,111,251                   // movdqa        %xmm11,%xmm15
+  .byte  102,68,15,213,253                   // pmullw        %xmm5,%xmm15
+  .byte  102,68,15,253,248                   // paddw         %xmm0,%xmm15
+  .byte  102,68,15,111,243                   // movdqa        %xmm3,%xmm14
+  .byte  102,69,15,249,241                   // psubw         %xmm9,%xmm14
+  .byte  102,69,15,253,201                   // paddw         %xmm9,%xmm9
+  .byte  102,15,111,21,141,78,0,0            // movdqa        0x4e8d(%rip),%xmm2        # 3d640 <_sk_srcover_bgra_8888_sse2_lowp+0x13f4>
+  .byte  102,15,111,199                      // movdqa        %xmm7,%xmm0
+  .byte  102,68,15,111,215                   // movdqa        %xmm7,%xmm10
+  .byte  102,15,111,231                      // movdqa        %xmm7,%xmm4
+  .byte  102,68,15,213,211                   // pmullw        %xmm3,%xmm10
+  .byte  102,15,249,197                      // psubw         %xmm5,%xmm0
+  .byte  102,65,15,213,198                   // pmullw        %xmm14,%xmm0
+  .byte  102,15,253,192                      // paddw         %xmm0,%xmm0
+  .byte  102,69,15,111,234                   // movdqa        %xmm10,%xmm13
+  .byte  102,68,15,249,232                   // psubw         %xmm0,%xmm13
+  .byte  102,68,15,111,243                   // movdqa        %xmm3,%xmm14
+  .byte  102,68,15,239,242                   // pxor          %xmm2,%xmm14
+  .byte  102,65,15,111,193                   // movdqa        %xmm9,%xmm0
+  .byte  102,15,239,194                      // pxor          %xmm2,%xmm0
+  .byte  102,65,15,101,198                   // pcmpgtw       %xmm14,%xmm0
+  .byte  102,68,15,213,205                   // pmullw        %xmm5,%xmm9
+  .byte  102,68,15,219,232                   // pand          %xmm0,%xmm13
+  .byte  102,65,15,223,193                   // pandn         %xmm9,%xmm0
+  .byte  102,65,15,235,197                   // por           %xmm13,%xmm0
+  .byte  102,15,253,5,160,70,0,0             // paddw         0x46a0(%rip),%xmm0        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,65,15,253,199                   // paddw         %xmm15,%xmm0
+  .byte  102,69,15,111,204                   // movdqa        %xmm12,%xmm9
+  .byte  102,68,15,213,201                   // pmullw        %xmm1,%xmm9
+  .byte  102,69,15,111,235                   // movdqa        %xmm11,%xmm13
+  .byte  102,68,15,213,238                   // pmullw        %xmm6,%xmm13
+  .byte  102,69,15,253,233                   // paddw         %xmm9,%xmm13
+  .byte  102,68,15,111,203                   // movdqa        %xmm3,%xmm9
+  .byte  102,68,15,249,201                   // psubw         %xmm1,%xmm9
+  .byte  102,68,15,111,252                   // movdqa        %xmm4,%xmm15
+  .byte  102,68,15,249,254                   // psubw         %xmm6,%xmm15
+  .byte  102,69,15,213,249                   // pmullw        %xmm9,%xmm15
+  .byte  102,69,15,253,255                   // paddw         %xmm15,%xmm15
+  .byte  102,65,15,111,250                   // movdqa        %xmm10,%xmm7
+  .byte  102,65,15,249,255                   // psubw         %xmm15,%xmm7
+  .byte  102,15,253,201                      // paddw         %xmm1,%xmm1
+  .byte  102,68,15,111,201                   // movdqa        %xmm1,%xmm9
+  .byte  102,68,15,239,202                   // pxor          %xmm2,%xmm9
+  .byte  102,69,15,101,206                   // pcmpgtw       %xmm14,%xmm9
+  .byte  102,15,213,206                      // pmullw        %xmm6,%xmm1
+  .byte  102,65,15,219,249                   // pand          %xmm9,%xmm7
+  .byte  102,68,15,223,201                   // pandn         %xmm1,%xmm9
+  .byte  102,68,15,235,207                   // por           %xmm7,%xmm9
+  .byte  102,68,15,253,13,43,70,0,0          // paddw         0x462b(%rip),%xmm9        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,69,15,253,205                   // paddw         %xmm13,%xmm9
+  .byte  102,69,15,213,224                   // pmullw        %xmm8,%xmm12
+  .byte  102,69,15,111,251                   // movdqa        %xmm11,%xmm15
+  .byte  102,15,111,76,36,232                // movdqa        -0x18(%rsp),%xmm1
+  .byte  102,68,15,213,249                   // pmullw        %xmm1,%xmm15
+  .byte  102,69,15,253,252                   // paddw         %xmm12,%xmm15
+  .byte  102,68,15,111,227                   // movdqa        %xmm3,%xmm12
+  .byte  102,69,15,249,224                   // psubw         %xmm8,%xmm12
+  .byte  102,69,15,253,192                   // paddw         %xmm8,%xmm8
+  .byte  102,65,15,239,208                   // pxor          %xmm8,%xmm2
+  .byte  102,65,15,101,214                   // pcmpgtw       %xmm14,%xmm2
+  .byte  102,15,111,252                      // movdqa        %xmm4,%xmm7
+  .byte  102,15,249,249                      // psubw         %xmm1,%xmm7
+  .byte  102,65,15,213,252                   // pmullw        %xmm12,%xmm7
+  .byte  102,15,253,255                      // paddw         %xmm7,%xmm7
+  .byte  102,68,15,249,215                   // psubw         %xmm7,%xmm10
+  .byte  102,68,15,213,193                   // pmullw        %xmm1,%xmm8
+  .byte  102,68,15,111,225                   // movdqa        %xmm1,%xmm12
+  .byte  102,68,15,219,210                   // pand          %xmm2,%xmm10
+  .byte  102,65,15,223,208                   // pandn         %xmm8,%xmm2
+  .byte  102,65,15,235,210                   // por           %xmm10,%xmm2
+  .byte  102,68,15,111,5,187,69,0,0          // movdqa        0x45bb(%rip),%xmm8        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,65,15,253,208                   // paddw         %xmm8,%xmm2
+  .byte  102,65,15,253,215                   // paddw         %xmm15,%xmm2
+  .byte  102,68,15,213,220                   // pmullw        %xmm4,%xmm11
+  .byte  102,69,15,253,216                   // paddw         %xmm8,%xmm11
+  .byte  102,65,15,113,211,8                 // psrlw         $0x8,%xmm11
+  .byte  102,65,15,253,219                   // paddw         %xmm11,%xmm3
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,65,15,113,209,8                 // psrlw         $0x8,%xmm9
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,15,111,252                      // movdqa        %xmm4,%xmm7
+  .byte  102,65,15,111,201                   // movdqa        %xmm9,%xmm1
+  .byte  102,15,111,229                      // movdqa        %xmm5,%xmm4
+  .byte  102,15,111,238                      // movdqa        %xmm6,%xmm5
+  .byte  102,65,15,111,244                   // movdqa        %xmm12,%xmm6
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_overlay_sse2_lowp
+.globl _sk_overlay_sse2_lowp
+FUNCTION(_sk_overlay_sse2_lowp)
+_sk_overlay_sse2_lowp:
+  .byte  102,68,15,111,247                   // movdqa        %xmm7,%xmm14
+  .byte  15,41,116,36,216                    // movaps        %xmm6,-0x28(%rsp)
+  .byte  102,15,111,252                      // movdqa        %xmm4,%xmm7
+  .byte  102,15,127,124,36,232               // movdqa        %xmm7,-0x18(%rsp)
+  .byte  102,68,15,111,193                   // movdqa        %xmm1,%xmm8
+  .byte  102,68,15,111,248                   // movdqa        %xmm0,%xmm15
+  .byte  102,15,111,53,76,69,0,0             // movdqa        0x454c(%rip),%xmm6        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,68,15,111,222                   // movdqa        %xmm6,%xmm11
+  .byte  102,69,15,249,222                   // psubw         %xmm14,%xmm11
+  .byte  102,65,15,111,203                   // movdqa        %xmm11,%xmm1
+  .byte  102,65,15,213,207                   // pmullw        %xmm15,%xmm1
+  .byte  102,68,15,111,214                   // movdqa        %xmm6,%xmm10
+  .byte  102,68,15,249,211                   // psubw         %xmm3,%xmm10
+  .byte  102,65,15,111,194                   // movdqa        %xmm10,%xmm0
+  .byte  102,15,213,199                      // pmullw        %xmm7,%xmm0
+  .byte  102,15,253,193                      // paddw         %xmm1,%xmm0
+  .byte  102,68,15,111,235                   // movdqa        %xmm3,%xmm13
+  .byte  102,69,15,249,239                   // psubw         %xmm15,%xmm13
+  .byte  102,68,15,213,255                   // pmullw        %xmm7,%xmm15
+  .byte  102,65,15,111,206                   // movdqa        %xmm14,%xmm1
+  .byte  102,15,249,207                      // psubw         %xmm7,%xmm1
+  .byte  102,15,253,255                      // paddw         %xmm7,%xmm7
+  .byte  102,69,15,111,206                   // movdqa        %xmm14,%xmm9
+  .byte  102,68,15,213,203                   // pmullw        %xmm3,%xmm9
+  .byte  102,65,15,213,205                   // pmullw        %xmm13,%xmm1
+  .byte  102,15,253,201                      // paddw         %xmm1,%xmm1
+  .byte  102,69,15,111,225                   // movdqa        %xmm9,%xmm12
+  .byte  102,68,15,249,225                   // psubw         %xmm1,%xmm12
+  .byte  102,15,111,13,112,76,0,0            // movdqa        0x4c70(%rip),%xmm1        # 3d640 <_sk_srcover_bgra_8888_sse2_lowp+0x13f4>
+  .byte  102,69,15,111,238                   // movdqa        %xmm14,%xmm13
+  .byte  102,68,15,239,233                   // pxor          %xmm1,%xmm13
+  .byte  102,15,239,249                      // pxor          %xmm1,%xmm7
+  .byte  102,65,15,101,253                   // pcmpgtw       %xmm13,%xmm7
+  .byte  102,69,15,253,255                   // paddw         %xmm15,%xmm15
+  .byte  102,68,15,219,231                   // pand          %xmm7,%xmm12
+  .byte  102,65,15,223,255                   // pandn         %xmm15,%xmm7
+  .byte  102,65,15,235,252                   // por           %xmm12,%xmm7
+  .byte  102,15,253,254                      // paddw         %xmm6,%xmm7
+  .byte  102,15,253,199                      // paddw         %xmm7,%xmm0
+  .byte  102,65,15,111,227                   // movdqa        %xmm11,%xmm4
+  .byte  102,65,15,213,224                   // pmullw        %xmm8,%xmm4
+  .byte  102,65,15,111,202                   // movdqa        %xmm10,%xmm1
+  .byte  102,15,213,205                      // pmullw        %xmm5,%xmm1
+  .byte  102,15,253,204                      // paddw         %xmm4,%xmm1
+  .byte  102,68,15,111,227                   // movdqa        %xmm3,%xmm12
+  .byte  102,69,15,249,224                   // psubw         %xmm8,%xmm12
+  .byte  102,65,15,111,230                   // movdqa        %xmm14,%xmm4
+  .byte  102,15,249,229                      // psubw         %xmm5,%xmm4
+  .byte  102,65,15,213,228                   // pmullw        %xmm12,%xmm4
+  .byte  102,15,253,228                      // paddw         %xmm4,%xmm4
+  .byte  102,69,15,111,225                   // movdqa        %xmm9,%xmm12
+  .byte  102,68,15,249,228                   // psubw         %xmm4,%xmm12
+  .byte  102,68,15,213,197                   // pmullw        %xmm5,%xmm8
+  .byte  102,15,111,229                      // movdqa        %xmm5,%xmm4
+  .byte  102,15,253,228                      // paddw         %xmm4,%xmm4
+  .byte  102,15,111,61,239,75,0,0            // movdqa        0x4bef(%rip),%xmm7        # 3d640 <_sk_srcover_bgra_8888_sse2_lowp+0x13f4>
+  .byte  102,15,239,231                      // pxor          %xmm7,%xmm4
+  .byte  102,65,15,101,229                   // pcmpgtw       %xmm13,%xmm4
+  .byte  102,69,15,253,192                   // paddw         %xmm8,%xmm8
+  .byte  102,68,15,219,228                   // pand          %xmm4,%xmm12
+  .byte  102,65,15,223,224                   // pandn         %xmm8,%xmm4
+  .byte  102,65,15,235,228                   // por           %xmm12,%xmm4
+  .byte  102,15,253,230                      // paddw         %xmm6,%xmm4
+  .byte  102,68,15,111,230                   // movdqa        %xmm6,%xmm12
+  .byte  102,15,253,204                      // paddw         %xmm4,%xmm1
+  .byte  102,68,15,213,218                   // pmullw        %xmm2,%xmm11
+  .byte  102,69,15,111,194                   // movdqa        %xmm10,%xmm8
+  .byte  102,15,111,116,36,216               // movdqa        -0x28(%rsp),%xmm6
+  .byte  102,68,15,213,198                   // pmullw        %xmm6,%xmm8
+  .byte  102,69,15,253,195                   // paddw         %xmm11,%xmm8
+  .byte  102,15,111,230                      // movdqa        %xmm6,%xmm4
+  .byte  102,15,253,228                      // paddw         %xmm4,%xmm4
+  .byte  102,15,239,231                      // pxor          %xmm7,%xmm4
+  .byte  102,69,15,111,222                   // movdqa        %xmm14,%xmm11
+  .byte  102,68,15,249,222                   // psubw         %xmm6,%xmm11
+  .byte  102,65,15,101,229                   // pcmpgtw       %xmm13,%xmm4
+  .byte  102,15,111,251                      // movdqa        %xmm3,%xmm7
+  .byte  102,15,249,250                      // psubw         %xmm2,%xmm7
+  .byte  102,68,15,213,223                   // pmullw        %xmm7,%xmm11
+  .byte  102,69,15,253,219                   // paddw         %xmm11,%xmm11
+  .byte  102,69,15,249,203                   // psubw         %xmm11,%xmm9
+  .byte  102,15,213,214                      // pmullw        %xmm6,%xmm2
+  .byte  102,15,253,210                      // paddw         %xmm2,%xmm2
+  .byte  102,68,15,219,204                   // pand          %xmm4,%xmm9
+  .byte  102,15,223,226                      // pandn         %xmm2,%xmm4
+  .byte  102,65,15,235,225                   // por           %xmm9,%xmm4
+  .byte  102,65,15,111,212                   // movdqa        %xmm12,%xmm2
+  .byte  102,15,253,226                      // paddw         %xmm2,%xmm4
+  .byte  102,68,15,253,196                   // paddw         %xmm4,%xmm8
+  .byte  102,69,15,213,214                   // pmullw        %xmm14,%xmm10
+  .byte  102,68,15,253,210                   // paddw         %xmm2,%xmm10
+  .byte  102,65,15,113,210,8                 // psrlw         $0x8,%xmm10
+  .byte  102,65,15,253,218                   // paddw         %xmm10,%xmm3
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,65,15,113,208,8                 // psrlw         $0x8,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,100,36,232                    // movaps        -0x18(%rsp),%xmm4
+  .byte  102,65,15,111,254                   // movdqa        %xmm14,%xmm7
+  .byte  102,65,15,111,208                   // movdqa        %xmm8,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_load_8888_sse2_lowp
+.globl _sk_load_8888_sse2_lowp
+FUNCTION(_sk_load_8888_sse2_lowp)
+_sk_load_8888_sse2_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,41                              // ja            38b67 <_sk_load_8888_sse2_lowp+0x44>
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,23,1,0,0                  // lea           0x117(%rip),%r9        # 38c64 <_sk_load_8888_sse2_lowp+0x141>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  255,224                             // jmpq          *%rax
+  .byte  243,65,15,16,28,144                 // movss         (%r8,%rdx,4),%xmm3
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  235,102                             // jmp           38bcd <_sk_load_8888_sse2_lowp+0xaa>
+  .byte  102,65,15,16,28,144                 // movupd        (%r8,%rdx,4),%xmm3
+  .byte  243,69,15,111,68,144,16             // movdqu        0x10(%r8,%rdx,4),%xmm8
+  .byte  235,87                              // jmp           38bcd <_sk_load_8888_sse2_lowp+0xaa>
+  .byte  102,65,15,110,68,144,8              // movd          0x8(%r8,%rdx,4),%xmm0
+  .byte  102,68,15,112,192,69                // pshufd        $0x45,%xmm0,%xmm8
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  102,69,15,18,4,144                  // movlpd        (%r8,%rdx,4),%xmm8
+  .byte  102,65,15,40,216                    // movapd        %xmm8,%xmm3
+  .byte  102,68,15,111,192                   // movdqa        %xmm0,%xmm8
+  .byte  235,52                              // jmp           38bcd <_sk_load_8888_sse2_lowp+0xaa>
+  .byte  102,65,15,110,68,144,24             // movd          0x18(%r8,%rdx,4),%xmm0
+  .byte  102,68,15,112,192,69                // pshufd        $0x45,%xmm0,%xmm8
+  .byte  243,65,15,16,68,144,20              // movss         0x14(%r8,%rdx,4),%xmm0
+  .byte  65,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm0
+  .byte  65,15,198,192,226                   // shufps        $0xe2,%xmm8,%xmm0
+  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
+  .byte  243,65,15,16,68,144,16              // movss         0x10(%r8,%rdx,4),%xmm0
+  .byte  243,68,15,16,192                    // movss         %xmm0,%xmm8
+  .byte  102,65,15,16,28,144                 // movupd        (%r8,%rdx,4),%xmm3
+  .byte  102,15,40,203                       // movapd        %xmm3,%xmm1
+  .byte  102,15,114,241,16                   // pslld         $0x10,%xmm1
+  .byte  102,15,114,225,16                   // psrad         $0x10,%xmm1
+  .byte  102,65,15,111,192                   // movdqa        %xmm8,%xmm0
+  .byte  102,15,114,240,16                   // pslld         $0x10,%xmm0
+  .byte  102,15,114,224,16                   // psrad         $0x10,%xmm0
+  .byte  102,15,107,200                      // packssdw      %xmm0,%xmm1
+  .byte  102,68,15,111,13,185,66,0,0         // movdqa        0x42b9(%rip),%xmm9        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,65,15,219,193                   // pand          %xmm9,%xmm0
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,69,15,111,208                   // movdqa        %xmm8,%xmm10
+  .byte  102,65,15,114,210,16                // psrld         $0x10,%xmm10
+  .byte  102,15,40,211                       // movapd        %xmm3,%xmm2
+  .byte  102,15,114,210,16                   // psrld         $0x10,%xmm2
+  .byte  102,15,114,211,24                   // psrld         $0x18,%xmm3
+  .byte  102,15,114,243,16                   // pslld         $0x10,%xmm3
+  .byte  102,15,114,227,16                   // psrad         $0x10,%xmm3
+  .byte  102,65,15,114,208,24                // psrld         $0x18,%xmm8
+  .byte  102,65,15,114,240,16                // pslld         $0x10,%xmm8
+  .byte  102,65,15,114,224,16                // psrad         $0x10,%xmm8
+  .byte  102,65,15,107,216                   // packssdw      %xmm8,%xmm3
+  .byte  102,15,114,242,16                   // pslld         $0x10,%xmm2
+  .byte  102,15,114,226,16                   // psrad         $0x10,%xmm2
+  .byte  102,65,15,114,242,16                // pslld         $0x10,%xmm10
+  .byte  102,65,15,114,226,16                // psrad         $0x10,%xmm10
+  .byte  102,65,15,107,210                   // packssdw      %xmm10,%xmm2
+  .byte  102,65,15,219,209                   // pand          %xmm9,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  144                                 // nop
+  .byte  246,254                             // idiv          %dh
+  .byte  255                                 // (bad)
+  .byte  255,35                              // jmpq          *(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,18                              // callq         *(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,99,255                          // jmpq          *-0x1(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255,87,255                          // callq         *-0x1(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255,66,255                          // incl          -0x1(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+  .byte  53                                  // .byte         0x35
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_8888_dst_sse2_lowp
+.globl _sk_load_8888_dst_sse2_lowp
+FUNCTION(_sk_load_8888_dst_sse2_lowp)
+_sk_load_8888_dst_sse2_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,41                              // ja            38cc4 <_sk_load_8888_dst_sse2_lowp+0x44>
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,22,1,0,0                  // lea           0x116(%rip),%r9        # 38dc0 <_sk_load_8888_dst_sse2_lowp+0x140>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  255,224                             // jmpq          *%rax
+  .byte  243,65,15,16,60,144                 // movss         (%r8,%rdx,4),%xmm7
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  235,102                             // jmp           38d2a <_sk_load_8888_dst_sse2_lowp+0xaa>
+  .byte  102,65,15,16,60,144                 // movupd        (%r8,%rdx,4),%xmm7
+  .byte  243,69,15,111,68,144,16             // movdqu        0x10(%r8,%rdx,4),%xmm8
+  .byte  235,87                              // jmp           38d2a <_sk_load_8888_dst_sse2_lowp+0xaa>
+  .byte  102,65,15,110,100,144,8             // movd          0x8(%r8,%rdx,4),%xmm4
+  .byte  102,68,15,112,196,69                // pshufd        $0x45,%xmm4,%xmm8
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  102,69,15,18,4,144                  // movlpd        (%r8,%rdx,4),%xmm8
+  .byte  102,65,15,40,248                    // movapd        %xmm8,%xmm7
+  .byte  102,68,15,111,196                   // movdqa        %xmm4,%xmm8
+  .byte  235,52                              // jmp           38d2a <_sk_load_8888_dst_sse2_lowp+0xaa>
+  .byte  102,65,15,110,100,144,24            // movd          0x18(%r8,%rdx,4),%xmm4
+  .byte  102,68,15,112,196,69                // pshufd        $0x45,%xmm4,%xmm8
+  .byte  243,65,15,16,100,144,20             // movss         0x14(%r8,%rdx,4),%xmm4
+  .byte  65,15,198,224,0                     // shufps        $0x0,%xmm8,%xmm4
+  .byte  65,15,198,224,226                   // shufps        $0xe2,%xmm8,%xmm4
+  .byte  68,15,40,196                        // movaps        %xmm4,%xmm8
+  .byte  243,65,15,16,100,144,16             // movss         0x10(%r8,%rdx,4),%xmm4
+  .byte  243,68,15,16,196                    // movss         %xmm4,%xmm8
+  .byte  102,65,15,16,60,144                 // movupd        (%r8,%rdx,4),%xmm7
+  .byte  102,15,40,239                       // movapd        %xmm7,%xmm5
+  .byte  102,15,114,245,16                   // pslld         $0x10,%xmm5
+  .byte  102,15,114,229,16                   // psrad         $0x10,%xmm5
+  .byte  102,65,15,111,224                   // movdqa        %xmm8,%xmm4
+  .byte  102,15,114,244,16                   // pslld         $0x10,%xmm4
+  .byte  102,15,114,228,16                   // psrad         $0x10,%xmm4
+  .byte  102,15,107,236                      // packssdw      %xmm4,%xmm5
+  .byte  102,68,15,111,13,92,65,0,0          // movdqa        0x415c(%rip),%xmm9        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,15,111,229                      // movdqa        %xmm5,%xmm4
+  .byte  102,65,15,219,225                   // pand          %xmm9,%xmm4
+  .byte  102,15,113,213,8                    // psrlw         $0x8,%xmm5
+  .byte  102,69,15,111,208                   // movdqa        %xmm8,%xmm10
+  .byte  102,65,15,114,210,16                // psrld         $0x10,%xmm10
+  .byte  102,15,40,247                       // movapd        %xmm7,%xmm6
+  .byte  102,15,114,214,16                   // psrld         $0x10,%xmm6
+  .byte  102,15,114,215,24                   // psrld         $0x18,%xmm7
+  .byte  102,15,114,247,16                   // pslld         $0x10,%xmm7
+  .byte  102,15,114,231,16                   // psrad         $0x10,%xmm7
+  .byte  102,65,15,114,208,24                // psrld         $0x18,%xmm8
+  .byte  102,65,15,114,240,16                // pslld         $0x10,%xmm8
+  .byte  102,65,15,114,224,16                // psrad         $0x10,%xmm8
+  .byte  102,65,15,107,248                   // packssdw      %xmm8,%xmm7
+  .byte  102,15,114,246,16                   // pslld         $0x10,%xmm6
+  .byte  102,15,114,230,16                   // psrad         $0x10,%xmm6
+  .byte  102,65,15,114,242,16                // pslld         $0x10,%xmm10
+  .byte  102,65,15,114,226,16                // psrad         $0x10,%xmm10
+  .byte  102,65,15,107,242                   // packssdw      %xmm10,%xmm6
+  .byte  102,65,15,219,241                   // pand          %xmm9,%xmm6
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  247,254                             // idiv          %esi
+  .byte  255                                 // (bad)
+  .byte  255,36,255                          // jmpq          *(%rdi,%rdi,8)
+  .byte  255                                 // (bad)
+  .byte  255,19                              // callq         *(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,100,255,255                     // jmpq          *-0x1(%rdi,%rdi,8)
+  .byte  255,88,255                          // lcall         *-0x1(%rax)
+  .byte  255                                 // (bad)
+  .byte  255,67,255                          // incl          -0x1(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255,54                              // pushq         (%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_store_8888_sse2_lowp
+.globl _sk_store_8888_sse2_lowp
+FUNCTION(_sk_store_8888_sse2_lowp)
+_sk_store_8888_sse2_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  102,68,15,111,209                   // movdqa        %xmm1,%xmm10
+  .byte  102,65,15,113,242,8                 // psllw         $0x8,%xmm10
+  .byte  102,68,15,235,208                   // por           %xmm0,%xmm10
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  102,69,15,111,218                   // movdqa        %xmm10,%xmm11
+  .byte  102,69,15,97,216                    // punpcklwd     %xmm8,%xmm11
+  .byte  102,69,15,105,208                   // punpckhwd     %xmm8,%xmm10
+  .byte  102,68,15,111,227                   // movdqa        %xmm3,%xmm12
+  .byte  102,65,15,113,244,8                 // psllw         $0x8,%xmm12
+  .byte  102,68,15,235,226                   // por           %xmm2,%xmm12
+  .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
+  .byte  102,69,15,97,204                    // punpcklwd     %xmm12,%xmm9
+  .byte  102,69,15,235,203                   // por           %xmm11,%xmm9
+  .byte  102,69,15,105,196                   // punpckhwd     %xmm12,%xmm8
+  .byte  102,69,15,235,194                   // por           %xmm10,%xmm8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,27                              // ja            38e5f <_sk_store_8888_sse2_lowp+0x83>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,98,0,0,0                  // lea           0x62(%rip),%r9        # 38eb0 <_sk_store_8888_sse2_lowp+0xd4>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,69,15,126,12,144                // movd          %xmm9,(%r8,%rdx,4)
+  .byte  235,75                              // jmp           38eaa <_sk_store_8888_sse2_lowp+0xce>
+  .byte  243,69,15,127,12,144                // movdqu        %xmm9,(%r8,%rdx,4)
+  .byte  243,69,15,127,68,144,16             // movdqu        %xmm8,0x10(%r8,%rdx,4)
+  .byte  235,60                              // jmp           38eaa <_sk_store_8888_sse2_lowp+0xce>
+  .byte  102,69,15,112,193,78                // pshufd        $0x4e,%xmm9,%xmm8
+  .byte  102,69,15,126,68,144,8              // movd          %xmm8,0x8(%r8,%rdx,4)
+  .byte  102,69,15,214,12,144                // movq          %xmm9,(%r8,%rdx,4)
+  .byte  235,39                              // jmp           38eaa <_sk_store_8888_sse2_lowp+0xce>
+  .byte  102,69,15,112,208,78                // pshufd        $0x4e,%xmm8,%xmm10
+  .byte  102,69,15,126,84,144,24             // movd          %xmm10,0x18(%r8,%rdx,4)
+  .byte  102,69,15,112,208,229               // pshufd        $0xe5,%xmm8,%xmm10
+  .byte  102,69,15,126,84,144,20             // movd          %xmm10,0x14(%r8,%rdx,4)
+  .byte  102,69,15,126,68,144,16             // movd          %xmm8,0x10(%r8,%rdx,4)
+  .byte  243,69,15,127,12,144                // movdqu        %xmm9,(%r8,%rdx,4)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  167                                 // cmpsl         %es:(%rdi),%ds:(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,203                             // dec           %ebx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  190,255,255,255,244                 // mov           $0xf4ffffff,%esi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  237                                 // in            (%dx),%eax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,224                             // jmpq          *%rax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,211                             // callq         *%rbx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_bgra_sse2_lowp
+.globl _sk_load_bgra_sse2_lowp
+FUNCTION(_sk_load_bgra_sse2_lowp)
+_sk_load_bgra_sse2_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,41                              // ja            38f10 <_sk_load_bgra_sse2_lowp+0x44>
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,22,1,0,0                  // lea           0x116(%rip),%r9        # 3900c <_sk_load_bgra_sse2_lowp+0x140>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  255,224                             // jmpq          *%rax
+  .byte  243,65,15,16,28,144                 // movss         (%r8,%rdx,4),%xmm3
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  235,102                             // jmp           38f76 <_sk_load_bgra_sse2_lowp+0xaa>
+  .byte  102,65,15,16,28,144                 // movupd        (%r8,%rdx,4),%xmm3
+  .byte  243,69,15,111,68,144,16             // movdqu        0x10(%r8,%rdx,4),%xmm8
+  .byte  235,87                              // jmp           38f76 <_sk_load_bgra_sse2_lowp+0xaa>
+  .byte  102,65,15,110,68,144,8              // movd          0x8(%r8,%rdx,4),%xmm0
+  .byte  102,68,15,112,192,69                // pshufd        $0x45,%xmm0,%xmm8
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  102,69,15,18,4,144                  // movlpd        (%r8,%rdx,4),%xmm8
+  .byte  102,65,15,40,216                    // movapd        %xmm8,%xmm3
+  .byte  102,68,15,111,192                   // movdqa        %xmm0,%xmm8
+  .byte  235,52                              // jmp           38f76 <_sk_load_bgra_sse2_lowp+0xaa>
+  .byte  102,65,15,110,68,144,24             // movd          0x18(%r8,%rdx,4),%xmm0
+  .byte  102,68,15,112,192,69                // pshufd        $0x45,%xmm0,%xmm8
+  .byte  243,65,15,16,68,144,20              // movss         0x14(%r8,%rdx,4),%xmm0
+  .byte  65,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm0
+  .byte  65,15,198,192,226                   // shufps        $0xe2,%xmm8,%xmm0
+  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
+  .byte  243,65,15,16,68,144,16              // movss         0x10(%r8,%rdx,4),%xmm0
+  .byte  243,68,15,16,192                    // movss         %xmm0,%xmm8
+  .byte  102,65,15,16,28,144                 // movupd        (%r8,%rdx,4),%xmm3
+  .byte  102,15,40,203                       // movapd        %xmm3,%xmm1
+  .byte  102,15,114,241,16                   // pslld         $0x10,%xmm1
+  .byte  102,15,114,225,16                   // psrad         $0x10,%xmm1
+  .byte  102,65,15,111,192                   // movdqa        %xmm8,%xmm0
+  .byte  102,15,114,240,16                   // pslld         $0x10,%xmm0
+  .byte  102,15,114,224,16                   // psrad         $0x10,%xmm0
+  .byte  102,15,107,200                      // packssdw      %xmm0,%xmm1
+  .byte  102,68,15,111,13,16,63,0,0          // movdqa        0x3f10(%rip),%xmm9        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,15,111,209                      // movdqa        %xmm1,%xmm2
+  .byte  102,65,15,219,209                   // pand          %xmm9,%xmm2
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,69,15,111,208                   // movdqa        %xmm8,%xmm10
+  .byte  102,65,15,114,210,16                // psrld         $0x10,%xmm10
+  .byte  102,15,40,195                       // movapd        %xmm3,%xmm0
+  .byte  102,15,114,208,16                   // psrld         $0x10,%xmm0
+  .byte  102,15,114,211,24                   // psrld         $0x18,%xmm3
+  .byte  102,15,114,243,16                   // pslld         $0x10,%xmm3
+  .byte  102,15,114,227,16                   // psrad         $0x10,%xmm3
+  .byte  102,65,15,114,208,24                // psrld         $0x18,%xmm8
+  .byte  102,65,15,114,240,16                // pslld         $0x10,%xmm8
+  .byte  102,65,15,114,224,16                // psrad         $0x10,%xmm8
+  .byte  102,65,15,107,216                   // packssdw      %xmm8,%xmm3
+  .byte  102,15,114,240,16                   // pslld         $0x10,%xmm0
+  .byte  102,15,114,224,16                   // psrad         $0x10,%xmm0
+  .byte  102,65,15,114,242,16                // pslld         $0x10,%xmm10
+  .byte  102,65,15,114,226,16                // psrad         $0x10,%xmm10
+  .byte  102,65,15,107,194                   // packssdw      %xmm10,%xmm0
+  .byte  102,65,15,219,193                   // pand          %xmm9,%xmm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  247,254                             // idiv          %esi
+  .byte  255                                 // (bad)
+  .byte  255,36,255                          // jmpq          *(%rdi,%rdi,8)
+  .byte  255                                 // (bad)
+  .byte  255,19                              // callq         *(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,100,255,255                     // jmpq          *-0x1(%rdi,%rdi,8)
+  .byte  255,88,255                          // lcall         *-0x1(%rax)
+  .byte  255                                 // (bad)
+  .byte  255,67,255                          // incl          -0x1(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255,54                              // pushq         (%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_bgra_dst_sse2_lowp
+.globl _sk_load_bgra_dst_sse2_lowp
+FUNCTION(_sk_load_bgra_dst_sse2_lowp)
+_sk_load_bgra_dst_sse2_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,41                              // ja            3906c <_sk_load_bgra_dst_sse2_lowp+0x44>
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,22,1,0,0                  // lea           0x116(%rip),%r9        # 39168 <_sk_load_bgra_dst_sse2_lowp+0x140>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  255,224                             // jmpq          *%rax
+  .byte  243,65,15,16,60,144                 // movss         (%r8,%rdx,4),%xmm7
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  235,102                             // jmp           390d2 <_sk_load_bgra_dst_sse2_lowp+0xaa>
+  .byte  102,65,15,16,60,144                 // movupd        (%r8,%rdx,4),%xmm7
+  .byte  243,69,15,111,68,144,16             // movdqu        0x10(%r8,%rdx,4),%xmm8
+  .byte  235,87                              // jmp           390d2 <_sk_load_bgra_dst_sse2_lowp+0xaa>
+  .byte  102,65,15,110,100,144,8             // movd          0x8(%r8,%rdx,4),%xmm4
+  .byte  102,68,15,112,196,69                // pshufd        $0x45,%xmm4,%xmm8
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  102,69,15,18,4,144                  // movlpd        (%r8,%rdx,4),%xmm8
+  .byte  102,65,15,40,248                    // movapd        %xmm8,%xmm7
+  .byte  102,68,15,111,196                   // movdqa        %xmm4,%xmm8
+  .byte  235,52                              // jmp           390d2 <_sk_load_bgra_dst_sse2_lowp+0xaa>
+  .byte  102,65,15,110,100,144,24            // movd          0x18(%r8,%rdx,4),%xmm4
+  .byte  102,68,15,112,196,69                // pshufd        $0x45,%xmm4,%xmm8
+  .byte  243,65,15,16,100,144,20             // movss         0x14(%r8,%rdx,4),%xmm4
+  .byte  65,15,198,224,0                     // shufps        $0x0,%xmm8,%xmm4
+  .byte  65,15,198,224,226                   // shufps        $0xe2,%xmm8,%xmm4
+  .byte  68,15,40,196                        // movaps        %xmm4,%xmm8
+  .byte  243,65,15,16,100,144,16             // movss         0x10(%r8,%rdx,4),%xmm4
+  .byte  243,68,15,16,196                    // movss         %xmm4,%xmm8
+  .byte  102,65,15,16,60,144                 // movupd        (%r8,%rdx,4),%xmm7
+  .byte  102,15,40,239                       // movapd        %xmm7,%xmm5
+  .byte  102,15,114,245,16                   // pslld         $0x10,%xmm5
+  .byte  102,15,114,229,16                   // psrad         $0x10,%xmm5
+  .byte  102,65,15,111,224                   // movdqa        %xmm8,%xmm4
+  .byte  102,15,114,244,16                   // pslld         $0x10,%xmm4
+  .byte  102,15,114,228,16                   // psrad         $0x10,%xmm4
+  .byte  102,15,107,236                      // packssdw      %xmm4,%xmm5
+  .byte  102,68,15,111,13,180,61,0,0         // movdqa        0x3db4(%rip),%xmm9        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,15,111,245                      // movdqa        %xmm5,%xmm6
+  .byte  102,65,15,219,241                   // pand          %xmm9,%xmm6
+  .byte  102,15,113,213,8                    // psrlw         $0x8,%xmm5
+  .byte  102,69,15,111,208                   // movdqa        %xmm8,%xmm10
+  .byte  102,65,15,114,210,16                // psrld         $0x10,%xmm10
+  .byte  102,15,40,231                       // movapd        %xmm7,%xmm4
+  .byte  102,15,114,212,16                   // psrld         $0x10,%xmm4
+  .byte  102,15,114,215,24                   // psrld         $0x18,%xmm7
+  .byte  102,15,114,247,16                   // pslld         $0x10,%xmm7
+  .byte  102,15,114,231,16                   // psrad         $0x10,%xmm7
+  .byte  102,65,15,114,208,24                // psrld         $0x18,%xmm8
+  .byte  102,65,15,114,240,16                // pslld         $0x10,%xmm8
+  .byte  102,65,15,114,224,16                // psrad         $0x10,%xmm8
+  .byte  102,65,15,107,248                   // packssdw      %xmm8,%xmm7
+  .byte  102,15,114,244,16                   // pslld         $0x10,%xmm4
+  .byte  102,15,114,228,16                   // psrad         $0x10,%xmm4
+  .byte  102,65,15,114,242,16                // pslld         $0x10,%xmm10
+  .byte  102,65,15,114,226,16                // psrad         $0x10,%xmm10
+  .byte  102,65,15,107,226                   // packssdw      %xmm10,%xmm4
+  .byte  102,65,15,219,225                   // pand          %xmm9,%xmm4
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  247,254                             // idiv          %esi
+  .byte  255                                 // (bad)
+  .byte  255,36,255                          // jmpq          *(%rdi,%rdi,8)
+  .byte  255                                 // (bad)
+  .byte  255,19                              // callq         *(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,100,255,255                     // jmpq          *-0x1(%rdi,%rdi,8)
+  .byte  255,88,255                          // lcall         *-0x1(%rax)
+  .byte  255                                 // (bad)
+  .byte  255,67,255                          // incl          -0x1(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255,54                              // pushq         (%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_store_bgra_sse2_lowp
+.globl _sk_store_bgra_sse2_lowp
+FUNCTION(_sk_store_bgra_sse2_lowp)
+_sk_store_bgra_sse2_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  102,68,15,111,209                   // movdqa        %xmm1,%xmm10
+  .byte  102,65,15,113,242,8                 // psllw         $0x8,%xmm10
+  .byte  102,68,15,235,210                   // por           %xmm2,%xmm10
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  102,69,15,111,218                   // movdqa        %xmm10,%xmm11
+  .byte  102,69,15,97,216                    // punpcklwd     %xmm8,%xmm11
+  .byte  102,69,15,105,208                   // punpckhwd     %xmm8,%xmm10
+  .byte  102,68,15,111,227                   // movdqa        %xmm3,%xmm12
+  .byte  102,65,15,113,244,8                 // psllw         $0x8,%xmm12
+  .byte  102,68,15,235,224                   // por           %xmm0,%xmm12
+  .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
+  .byte  102,69,15,97,204                    // punpcklwd     %xmm12,%xmm9
+  .byte  102,69,15,235,203                   // por           %xmm11,%xmm9
+  .byte  102,69,15,105,196                   // punpckhwd     %xmm12,%xmm8
+  .byte  102,69,15,235,194                   // por           %xmm10,%xmm8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,27                              // ja            39207 <_sk_store_bgra_sse2_lowp+0x83>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,98,0,0,0                  // lea           0x62(%rip),%r9        # 39258 <_sk_store_bgra_sse2_lowp+0xd4>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,69,15,126,12,144                // movd          %xmm9,(%r8,%rdx,4)
+  .byte  235,75                              // jmp           39252 <_sk_store_bgra_sse2_lowp+0xce>
+  .byte  243,69,15,127,12,144                // movdqu        %xmm9,(%r8,%rdx,4)
+  .byte  243,69,15,127,68,144,16             // movdqu        %xmm8,0x10(%r8,%rdx,4)
+  .byte  235,60                              // jmp           39252 <_sk_store_bgra_sse2_lowp+0xce>
+  .byte  102,69,15,112,193,78                // pshufd        $0x4e,%xmm9,%xmm8
+  .byte  102,69,15,126,68,144,8              // movd          %xmm8,0x8(%r8,%rdx,4)
+  .byte  102,69,15,214,12,144                // movq          %xmm9,(%r8,%rdx,4)
+  .byte  235,39                              // jmp           39252 <_sk_store_bgra_sse2_lowp+0xce>
+  .byte  102,69,15,112,208,78                // pshufd        $0x4e,%xmm8,%xmm10
+  .byte  102,69,15,126,84,144,24             // movd          %xmm10,0x18(%r8,%rdx,4)
+  .byte  102,69,15,112,208,229               // pshufd        $0xe5,%xmm8,%xmm10
+  .byte  102,69,15,126,84,144,20             // movd          %xmm10,0x14(%r8,%rdx,4)
+  .byte  102,69,15,126,68,144,16             // movd          %xmm8,0x10(%r8,%rdx,4)
+  .byte  243,69,15,127,12,144                // movdqu        %xmm9,(%r8,%rdx,4)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  167                                 // cmpsl         %es:(%rdi),%ds:(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,203                             // dec           %ebx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  190,255,255,255,244                 // mov           $0xf4ffffff,%esi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  237                                 // in            (%dx),%eax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,224                             // jmpq          *%rax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,211                             // callq         *%rbx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_gather_8888_sse2_lowp
+.globl _sk_gather_8888_sse2_lowp
+FUNCTION(_sk_gather_8888_sse2_lowp)
+_sk_gather_8888_sse2_lowp:
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,64,12                  // movss         0xc(%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  102,69,15,118,201                   // pcmpeqd       %xmm9,%xmm9
+  .byte  102,69,15,254,193                   // paddd         %xmm9,%xmm8
+  .byte  69,15,87,210                        // xorps         %xmm10,%xmm10
+  .byte  65,15,95,194                        // maxps         %xmm10,%xmm0
+  .byte  65,15,95,202                        // maxps         %xmm10,%xmm1
+  .byte  65,15,93,200                        // minps         %xmm8,%xmm1
+  .byte  65,15,93,192                        // minps         %xmm8,%xmm0
+  .byte  243,68,15,16,64,16                  // movss         0x10(%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  102,69,15,254,193                   // paddd         %xmm9,%xmm8
+  .byte  65,15,95,218                        // maxps         %xmm10,%xmm3
+  .byte  65,15,95,210                        // maxps         %xmm10,%xmm2
+  .byte  65,15,93,208                        // minps         %xmm8,%xmm2
+  .byte  65,15,93,216                        // minps         %xmm8,%xmm3
+  .byte  243,68,15,91,195                    // cvttps2dq     %xmm3,%xmm8
+  .byte  243,68,15,91,202                    // cvttps2dq     %xmm2,%xmm9
+  .byte  102,15,110,88,8                     // movd          0x8(%rax),%xmm3
+  .byte  102,15,112,219,0                    // pshufd        $0x0,%xmm3,%xmm3
+  .byte  102,69,15,112,209,245               // pshufd        $0xf5,%xmm9,%xmm10
+  .byte  102,68,15,244,211                   // pmuludq       %xmm3,%xmm10
+  .byte  102,68,15,111,219                   // movdqa        %xmm3,%xmm11
+  .byte  102,69,15,112,224,245               // pshufd        $0xf5,%xmm8,%xmm12
+  .byte  102,68,15,244,227                   // pmuludq       %xmm3,%xmm12
+  .byte  102,65,15,244,217                   // pmuludq       %xmm9,%xmm3
+  .byte  72,139,0                            // mov           (%rax),%rax
+  .byte  102,15,112,219,232                  // pshufd        $0xe8,%xmm3,%xmm3
+  .byte  102,65,15,112,210,232               // pshufd        $0xe8,%xmm10,%xmm2
+  .byte  102,15,98,218                       // punpckldq     %xmm2,%xmm3
+  .byte  102,69,15,244,216                   // pmuludq       %xmm8,%xmm11
+  .byte  102,69,15,112,195,232               // pshufd        $0xe8,%xmm11,%xmm8
+  .byte  102,65,15,112,212,232               // pshufd        $0xe8,%xmm12,%xmm2
+  .byte  102,68,15,98,194                    // punpckldq     %xmm2,%xmm8
+  .byte  243,15,91,192                       // cvttps2dq     %xmm0,%xmm0
+  .byte  102,15,254,195                      // paddd         %xmm3,%xmm0
+  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
+  .byte  102,65,15,254,200                   // paddd         %xmm8,%xmm1
+  .byte  102,15,112,209,78                   // pshufd        $0x4e,%xmm1,%xmm2
+  .byte  102,73,15,126,208                   // movq          %xmm2,%r8
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  102,73,15,126,202                   // movq          %xmm1,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  102,15,112,200,78                   // pshufd        $0x4e,%xmm0,%xmm1
+  .byte  102,72,15,126,203                   // movq          %xmm1,%rbx
+  .byte  65,137,222                          // mov           %ebx,%r14d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  102,73,15,126,199                   // movq          %xmm0,%r15
+  .byte  69,137,252                          // mov           %r15d,%r12d
+  .byte  73,193,239,32                       // shr           $0x20,%r15
+  .byte  102,66,15,110,4,184                 // movd          (%rax,%r15,4),%xmm0
+  .byte  102,66,15,110,28,160                // movd          (%rax,%r12,4),%xmm3
+  .byte  102,15,98,216                       // punpckldq     %xmm0,%xmm3
+  .byte  102,15,110,4,152                    // movd          (%rax,%rbx,4),%xmm0
+  .byte  102,66,15,110,12,176                // movd          (%rax,%r14,4),%xmm1
+  .byte  102,15,98,200                       // punpckldq     %xmm0,%xmm1
+  .byte  102,15,108,217                      // punpcklqdq    %xmm1,%xmm3
+  .byte  102,66,15,110,4,144                 // movd          (%rax,%r10,4),%xmm0
+  .byte  102,70,15,110,4,152                 // movd          (%rax,%r11,4),%xmm8
+  .byte  102,68,15,98,192                    // punpckldq     %xmm0,%xmm8
+  .byte  102,66,15,110,4,128                 // movd          (%rax,%r8,4),%xmm0
+  .byte  102,66,15,110,12,136                // movd          (%rax,%r9,4),%xmm1
+  .byte  102,15,98,200                       // punpckldq     %xmm0,%xmm1
+  .byte  102,68,15,108,193                   // punpcklqdq    %xmm1,%xmm8
+  .byte  102,65,15,111,192                   // movdqa        %xmm8,%xmm0
+  .byte  102,15,114,240,16                   // pslld         $0x10,%xmm0
+  .byte  102,15,114,224,16                   // psrad         $0x10,%xmm0
+  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
+  .byte  102,15,114,241,16                   // pslld         $0x10,%xmm1
+  .byte  102,15,114,225,16                   // psrad         $0x10,%xmm1
+  .byte  102,15,107,200                      // packssdw      %xmm0,%xmm1
+  .byte  102,68,15,111,13,208,58,0,0         // movdqa        0x3ad0(%rip),%xmm9        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,65,15,219,193                   // pand          %xmm9,%xmm0
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,111,211                      // movdqa        %xmm3,%xmm2
+  .byte  102,15,114,210,16                   // psrld         $0x10,%xmm2
+  .byte  102,69,15,111,208                   // movdqa        %xmm8,%xmm10
+  .byte  102,65,15,114,210,16                // psrld         $0x10,%xmm10
+  .byte  102,65,15,114,208,24                // psrld         $0x18,%xmm8
+  .byte  102,65,15,114,240,16                // pslld         $0x10,%xmm8
+  .byte  102,65,15,114,224,16                // psrad         $0x10,%xmm8
+  .byte  102,15,114,211,24                   // psrld         $0x18,%xmm3
+  .byte  102,15,114,243,16                   // pslld         $0x10,%xmm3
+  .byte  102,15,114,227,16                   // psrad         $0x10,%xmm3
+  .byte  102,65,15,107,216                   // packssdw      %xmm8,%xmm3
+  .byte  102,65,15,114,242,16                // pslld         $0x10,%xmm10
+  .byte  102,65,15,114,226,16                // psrad         $0x10,%xmm10
+  .byte  102,15,114,242,16                   // pslld         $0x10,%xmm2
+  .byte  102,15,114,226,16                   // psrad         $0x10,%xmm2
+  .byte  102,65,15,107,210                   // packssdw      %xmm10,%xmm2
+  .byte  102,65,15,219,209                   // pand          %xmm9,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_gather_bgra_sse2_lowp
+.globl _sk_gather_bgra_sse2_lowp
+FUNCTION(_sk_gather_bgra_sse2_lowp)
+_sk_gather_bgra_sse2_lowp:
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,64,12                  // movss         0xc(%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  102,69,15,118,201                   // pcmpeqd       %xmm9,%xmm9
+  .byte  102,69,15,254,193                   // paddd         %xmm9,%xmm8
+  .byte  69,15,87,210                        // xorps         %xmm10,%xmm10
+  .byte  65,15,95,194                        // maxps         %xmm10,%xmm0
+  .byte  65,15,95,202                        // maxps         %xmm10,%xmm1
+  .byte  65,15,93,200                        // minps         %xmm8,%xmm1
+  .byte  65,15,93,192                        // minps         %xmm8,%xmm0
+  .byte  243,68,15,16,64,16                  // movss         0x10(%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  102,69,15,254,193                   // paddd         %xmm9,%xmm8
+  .byte  65,15,95,218                        // maxps         %xmm10,%xmm3
+  .byte  65,15,95,210                        // maxps         %xmm10,%xmm2
+  .byte  65,15,93,208                        // minps         %xmm8,%xmm2
+  .byte  65,15,93,216                        // minps         %xmm8,%xmm3
+  .byte  243,68,15,91,195                    // cvttps2dq     %xmm3,%xmm8
+  .byte  243,68,15,91,202                    // cvttps2dq     %xmm2,%xmm9
+  .byte  102,15,110,88,8                     // movd          0x8(%rax),%xmm3
+  .byte  102,15,112,219,0                    // pshufd        $0x0,%xmm3,%xmm3
+  .byte  102,69,15,112,209,245               // pshufd        $0xf5,%xmm9,%xmm10
+  .byte  102,68,15,244,211                   // pmuludq       %xmm3,%xmm10
+  .byte  102,68,15,111,219                   // movdqa        %xmm3,%xmm11
+  .byte  102,69,15,112,224,245               // pshufd        $0xf5,%xmm8,%xmm12
+  .byte  102,68,15,244,227                   // pmuludq       %xmm3,%xmm12
+  .byte  102,65,15,244,217                   // pmuludq       %xmm9,%xmm3
+  .byte  72,139,0                            // mov           (%rax),%rax
+  .byte  102,15,112,219,232                  // pshufd        $0xe8,%xmm3,%xmm3
+  .byte  102,65,15,112,210,232               // pshufd        $0xe8,%xmm10,%xmm2
+  .byte  102,15,98,218                       // punpckldq     %xmm2,%xmm3
+  .byte  102,69,15,244,216                   // pmuludq       %xmm8,%xmm11
+  .byte  102,69,15,112,195,232               // pshufd        $0xe8,%xmm11,%xmm8
+  .byte  102,65,15,112,212,232               // pshufd        $0xe8,%xmm12,%xmm2
+  .byte  102,68,15,98,194                    // punpckldq     %xmm2,%xmm8
+  .byte  243,15,91,192                       // cvttps2dq     %xmm0,%xmm0
+  .byte  102,15,254,195                      // paddd         %xmm3,%xmm0
+  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
+  .byte  102,65,15,254,200                   // paddd         %xmm8,%xmm1
+  .byte  102,15,112,209,78                   // pshufd        $0x4e,%xmm1,%xmm2
+  .byte  102,73,15,126,208                   // movq          %xmm2,%r8
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  102,73,15,126,202                   // movq          %xmm1,%r10
+  .byte  69,137,211                          // mov           %r10d,%r11d
+  .byte  73,193,234,32                       // shr           $0x20,%r10
+  .byte  102,15,112,200,78                   // pshufd        $0x4e,%xmm0,%xmm1
+  .byte  102,72,15,126,203                   // movq          %xmm1,%rbx
+  .byte  65,137,222                          // mov           %ebx,%r14d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  102,73,15,126,199                   // movq          %xmm0,%r15
+  .byte  69,137,252                          // mov           %r15d,%r12d
+  .byte  73,193,239,32                       // shr           $0x20,%r15
+  .byte  102,66,15,110,4,184                 // movd          (%rax,%r15,4),%xmm0
+  .byte  102,66,15,110,28,160                // movd          (%rax,%r12,4),%xmm3
+  .byte  102,15,98,216                       // punpckldq     %xmm0,%xmm3
+  .byte  102,15,110,4,152                    // movd          (%rax,%rbx,4),%xmm0
+  .byte  102,66,15,110,12,176                // movd          (%rax,%r14,4),%xmm1
+  .byte  102,15,98,200                       // punpckldq     %xmm0,%xmm1
+  .byte  102,15,108,217                      // punpcklqdq    %xmm1,%xmm3
+  .byte  102,66,15,110,4,144                 // movd          (%rax,%r10,4),%xmm0
+  .byte  102,70,15,110,4,152                 // movd          (%rax,%r11,4),%xmm8
+  .byte  102,68,15,98,192                    // punpckldq     %xmm0,%xmm8
+  .byte  102,66,15,110,4,128                 // movd          (%rax,%r8,4),%xmm0
+  .byte  102,66,15,110,12,136                // movd          (%rax,%r9,4),%xmm1
+  .byte  102,15,98,200                       // punpckldq     %xmm0,%xmm1
+  .byte  102,68,15,108,193                   // punpcklqdq    %xmm1,%xmm8
+  .byte  102,65,15,111,192                   // movdqa        %xmm8,%xmm0
+  .byte  102,15,114,240,16                   // pslld         $0x10,%xmm0
+  .byte  102,15,114,224,16                   // psrad         $0x10,%xmm0
+  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
+  .byte  102,15,114,241,16                   // pslld         $0x10,%xmm1
+  .byte  102,15,114,225,16                   // psrad         $0x10,%xmm1
+  .byte  102,15,107,200                      // packssdw      %xmm0,%xmm1
+  .byte  102,68,15,111,13,241,56,0,0         // movdqa        0x38f1(%rip),%xmm9        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,15,111,209                      // movdqa        %xmm1,%xmm2
+  .byte  102,65,15,219,209                   // pand          %xmm9,%xmm2
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
+  .byte  102,15,114,208,16                   // psrld         $0x10,%xmm0
+  .byte  102,69,15,111,208                   // movdqa        %xmm8,%xmm10
+  .byte  102,65,15,114,210,16                // psrld         $0x10,%xmm10
+  .byte  102,65,15,114,208,24                // psrld         $0x18,%xmm8
+  .byte  102,65,15,114,240,16                // pslld         $0x10,%xmm8
+  .byte  102,65,15,114,224,16                // psrad         $0x10,%xmm8
+  .byte  102,15,114,211,24                   // psrld         $0x18,%xmm3
+  .byte  102,15,114,243,16                   // pslld         $0x10,%xmm3
+  .byte  102,15,114,227,16                   // psrad         $0x10,%xmm3
+  .byte  102,65,15,107,216                   // packssdw      %xmm8,%xmm3
+  .byte  102,65,15,114,242,16                // pslld         $0x10,%xmm10
+  .byte  102,65,15,114,226,16                // psrad         $0x10,%xmm10
+  .byte  102,15,114,240,16                   // pslld         $0x10,%xmm0
+  .byte  102,15,114,224,16                   // psrad         $0x10,%xmm0
+  .byte  102,65,15,107,194                   // packssdw      %xmm10,%xmm0
+  .byte  102,65,15,219,193                   // pand          %xmm9,%xmm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_load_565_sse2_lowp
+.globl _sk_load_565_sse2_lowp
+FUNCTION(_sk_load_565_sse2_lowp)
+_sk_load_565_sse2_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,34                              // ja            3966e <_sk_load_565_sse2_lowp+0x3c>
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,190,0,0,0                 // lea           0xbe(%rip),%r9        # 39718 <_sk_load_565_sse2_lowp+0xe6>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  102,15,110,192                      // movd          %eax,%xmm0
+  .byte  235,66                              // jmp           396b0 <_sk_load_565_sse2_lowp+0x7e>
+  .byte  243,65,15,111,4,80                  // movdqu        (%r8,%rdx,2),%xmm0
+  .byte  235,58                              // jmp           396b0 <_sk_load_565_sse2_lowp+0x7e>
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  102,65,15,196,68,80,4,2             // pinsrw        $0x2,0x4(%r8,%rdx,2),%xmm0
+  .byte  243,65,15,16,12,80                  // movss         (%r8,%rdx,2),%xmm1
+  .byte  243,15,16,193                       // movss         %xmm1,%xmm0
+  .byte  235,34                              // jmp           396b0 <_sk_load_565_sse2_lowp+0x7e>
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  102,65,15,196,68,80,12,6            // pinsrw        $0x6,0xc(%r8,%rdx,2),%xmm0
+  .byte  102,65,15,196,68,80,10,5            // pinsrw        $0x5,0xa(%r8,%rdx,2),%xmm0
+  .byte  102,65,15,196,68,80,8,4             // pinsrw        $0x4,0x8(%r8,%rdx,2),%xmm0
+  .byte  102,65,15,18,4,80                   // movlpd        (%r8,%rdx,2),%xmm0
+  .byte  102,15,111,216                      // movdqa        %xmm0,%xmm3
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  102,15,219,29,191,63,0,0            // pand          0x3fbf(%rip),%xmm3        # 3d680 <_sk_srcover_bgra_8888_sse2_lowp+0x1434>
+  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
+  .byte  102,15,113,209,5                    // psrlw         $0x5,%xmm1
+  .byte  102,15,219,13,190,63,0,0            // pand          0x3fbe(%rip),%xmm1        # 3d690 <_sk_srcover_bgra_8888_sse2_lowp+0x1444>
+  .byte  102,15,111,21,198,63,0,0            // movdqa        0x3fc6(%rip),%xmm2        # 3d6a0 <_sk_srcover_bgra_8888_sse2_lowp+0x1454>
+  .byte  102,15,219,208                      // pand          %xmm0,%xmm2
+  .byte  102,15,113,208,13                   // psrlw         $0xd,%xmm0
+  .byte  102,15,235,195                      // por           %xmm3,%xmm0
+  .byte  102,15,111,217                      // movdqa        %xmm1,%xmm3
+  .byte  102,15,113,243,2                    // psllw         $0x2,%xmm3
+  .byte  102,15,113,209,4                    // psrlw         $0x4,%xmm1
+  .byte  102,15,235,203                      // por           %xmm3,%xmm1
+  .byte  102,15,111,218                      // movdqa        %xmm2,%xmm3
+  .byte  102,15,113,243,3                    // psllw         $0x3,%xmm3
+  .byte  102,15,113,210,2                    // psrlw         $0x2,%xmm2
+  .byte  102,15,235,211                      // por           %xmm3,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,29,156,55,0,0                 // movaps        0x379c(%rip),%xmm3        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  75,255                              // rex.WXB       (bad)
+  .byte  255                                 // (bad)
+  .byte  255,106,255                         // ljmp          *-0x1(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255,94,255                          // lcall         *-0x1(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255,146,255,255,255,138             // callq         *-0x75000001(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,130,255,255,255,118             // incl          0x76ffffff(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_565_dst_sse2_lowp
+.globl _sk_load_565_dst_sse2_lowp
+FUNCTION(_sk_load_565_dst_sse2_lowp)
+_sk_load_565_dst_sse2_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,34                              // ja            39770 <_sk_load_565_dst_sse2_lowp+0x3c>
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,188,0,0,0                 // lea           0xbc(%rip),%r9        # 39818 <_sk_load_565_dst_sse2_lowp+0xe4>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  102,15,110,224                      // movd          %eax,%xmm4
+  .byte  235,66                              // jmp           397b2 <_sk_load_565_dst_sse2_lowp+0x7e>
+  .byte  243,65,15,111,36,80                 // movdqu        (%r8,%rdx,2),%xmm4
+  .byte  235,58                              // jmp           397b2 <_sk_load_565_dst_sse2_lowp+0x7e>
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  102,65,15,196,100,80,4,2            // pinsrw        $0x2,0x4(%r8,%rdx,2),%xmm4
+  .byte  243,65,15,16,44,80                  // movss         (%r8,%rdx,2),%xmm5
+  .byte  243,15,16,229                       // movss         %xmm5,%xmm4
+  .byte  235,34                              // jmp           397b2 <_sk_load_565_dst_sse2_lowp+0x7e>
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  102,65,15,196,100,80,12,6           // pinsrw        $0x6,0xc(%r8,%rdx,2),%xmm4
+  .byte  102,65,15,196,100,80,10,5           // pinsrw        $0x5,0xa(%r8,%rdx,2),%xmm4
+  .byte  102,65,15,196,100,80,8,4            // pinsrw        $0x4,0x8(%r8,%rdx,2),%xmm4
+  .byte  102,65,15,18,36,80                  // movlpd        (%r8,%rdx,2),%xmm4
+  .byte  102,15,111,252                      // movdqa        %xmm4,%xmm7
+  .byte  102,15,113,215,8                    // psrlw         $0x8,%xmm7
+  .byte  102,15,219,61,189,62,0,0            // pand          0x3ebd(%rip),%xmm7        # 3d680 <_sk_srcover_bgra_8888_sse2_lowp+0x1434>
+  .byte  102,15,111,236                      // movdqa        %xmm4,%xmm5
+  .byte  102,15,113,213,5                    // psrlw         $0x5,%xmm5
+  .byte  102,15,219,45,188,62,0,0            // pand          0x3ebc(%rip),%xmm5        # 3d690 <_sk_srcover_bgra_8888_sse2_lowp+0x1444>
+  .byte  102,15,111,53,196,62,0,0            // movdqa        0x3ec4(%rip),%xmm6        # 3d6a0 <_sk_srcover_bgra_8888_sse2_lowp+0x1454>
+  .byte  102,15,219,244                      // pand          %xmm4,%xmm6
+  .byte  102,15,113,212,13                   // psrlw         $0xd,%xmm4
+  .byte  102,15,235,231                      // por           %xmm7,%xmm4
+  .byte  102,15,111,253                      // movdqa        %xmm5,%xmm7
+  .byte  102,15,113,247,2                    // psllw         $0x2,%xmm7
+  .byte  102,15,113,213,4                    // psrlw         $0x4,%xmm5
+  .byte  102,15,235,239                      // por           %xmm7,%xmm5
+  .byte  102,15,111,254                      // movdqa        %xmm6,%xmm7
+  .byte  102,15,113,247,3                    // psllw         $0x3,%xmm7
+  .byte  102,15,113,214,2                    // psrlw         $0x2,%xmm6
+  .byte  102,15,235,247                      // por           %xmm7,%xmm6
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,61,154,54,0,0                 // movaps        0x369a(%rip),%xmm7        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  255,224                             // jmpq          *%rax
+  .byte  77,255                              // rex.WRB       (bad)
+  .byte  255                                 // (bad)
+  .byte  255,108,255,255                     // ljmp          *-0x1(%rdi,%rdi,8)
+  .byte  255,96,255                          // jmpq          *-0x1(%rax)
+  .byte  255                                 // (bad)
+  .byte  255,148,255,255,255,140,255         // callq         *-0x730001(%rdi,%rdi,8)
+  .byte  255                                 // (bad)
+  .byte  255,132,255,255,255,120,255         // incl          -0x870001(%rdi,%rdi,8)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_store_565_sse2_lowp
+.globl _sk_store_565_sse2_lowp
+FUNCTION(_sk_store_565_sse2_lowp)
+_sk_store_565_sse2_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  102,68,15,111,192                   // movdqa        %xmm0,%xmm8
+  .byte  102,65,15,113,240,8                 // psllw         $0x8,%xmm8
+  .byte  102,68,15,219,5,88,62,0,0           // pand          0x3e58(%rip),%xmm8        # 3d6b0 <_sk_srcover_bgra_8888_sse2_lowp+0x1464>
+  .byte  102,68,15,111,201                   // movdqa        %xmm1,%xmm9
+  .byte  102,65,15,113,241,3                 // psllw         $0x3,%xmm9
+  .byte  102,68,15,219,13,84,62,0,0          // pand          0x3e54(%rip),%xmm9        # 3d6c0 <_sk_srcover_bgra_8888_sse2_lowp+0x1474>
+  .byte  102,69,15,235,200                   // por           %xmm8,%xmm9
+  .byte  102,68,15,111,194                   // movdqa        %xmm2,%xmm8
+  .byte  102,65,15,113,208,3                 // psrlw         $0x3,%xmm8
+  .byte  102,69,15,235,193                   // por           %xmm9,%xmm8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,31                              // ja            398aa <_sk_store_565_sse2_lowp+0x76>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,95,0,0,0                  // lea           0x5f(%rip),%r9        # 398f4 <_sk_store_565_sse2_lowp+0xc0>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,68,15,126,192                   // movd          %xmm8,%eax
+  .byte  102,65,137,4,80                     // mov           %ax,(%r8,%rdx,2)
+  .byte  235,70                              // jmp           398f0 <_sk_store_565_sse2_lowp+0xbc>
+  .byte  243,69,15,127,4,80                  // movdqu        %xmm8,(%r8,%rdx,2)
+  .byte  235,62                              // jmp           398f0 <_sk_store_565_sse2_lowp+0xbc>
+  .byte  102,65,15,197,192,2                 // pextrw        $0x2,%xmm8,%eax
+  .byte  102,65,137,68,80,4                  // mov           %ax,0x4(%r8,%rdx,2)
+  .byte  102,69,15,126,4,80                  // movd          %xmm8,(%r8,%rdx,2)
+  .byte  235,42                              // jmp           398f0 <_sk_store_565_sse2_lowp+0xbc>
+  .byte  102,65,15,197,192,6                 // pextrw        $0x6,%xmm8,%eax
+  .byte  102,65,137,68,80,12                 // mov           %ax,0xc(%r8,%rdx,2)
+  .byte  102,65,15,197,192,5                 // pextrw        $0x5,%xmm8,%eax
+  .byte  102,65,137,68,80,10                 // mov           %ax,0xa(%r8,%rdx,2)
+  .byte  102,65,15,197,192,4                 // pextrw        $0x4,%xmm8,%eax
+  .byte  102,65,137,68,80,8                  // mov           %ax,0x8(%r8,%rdx,2)
+  .byte  102,69,15,214,4,80                  // movq          %xmm8,(%r8,%rdx,2)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  170                                 // stos          %al,%es:(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,202                             // dec           %edx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  190,255,255,255,246                 // mov           $0xf6ffffff,%esi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  234                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  222,255                             // fdivrp        %st,%st(7)
+  .byte  255                                 // (bad)
+  .byte  255,210                             // callq         *%rdx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_gather_565_sse2_lowp
+.globl _sk_gather_565_sse2_lowp
+FUNCTION(_sk_gather_565_sse2_lowp)
+_sk_gather_565_sse2_lowp:
+  .byte  85                                  // push          %rbp
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,64,12                  // movss         0xc(%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  102,69,15,118,201                   // pcmpeqd       %xmm9,%xmm9
+  .byte  102,69,15,254,193                   // paddd         %xmm9,%xmm8
+  .byte  69,15,87,210                        // xorps         %xmm10,%xmm10
+  .byte  65,15,95,202                        // maxps         %xmm10,%xmm1
+  .byte  65,15,95,194                        // maxps         %xmm10,%xmm0
+  .byte  65,15,93,192                        // minps         %xmm8,%xmm0
+  .byte  65,15,93,200                        // minps         %xmm8,%xmm1
+  .byte  243,68,15,16,64,16                  // movss         0x10(%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  102,69,15,254,193                   // paddd         %xmm9,%xmm8
+  .byte  65,15,95,210                        // maxps         %xmm10,%xmm2
+  .byte  65,15,95,218                        // maxps         %xmm10,%xmm3
+  .byte  65,15,93,216                        // minps         %xmm8,%xmm3
+  .byte  65,15,93,208                        // minps         %xmm8,%xmm2
+  .byte  243,68,15,91,194                    // cvttps2dq     %xmm2,%xmm8
+  .byte  243,68,15,91,203                    // cvttps2dq     %xmm3,%xmm9
+  .byte  102,15,110,80,8                     // movd          0x8(%rax),%xmm2
+  .byte  102,15,112,210,0                    // pshufd        $0x0,%xmm2,%xmm2
+  .byte  102,69,15,112,209,245               // pshufd        $0xf5,%xmm9,%xmm10
+  .byte  102,68,15,244,210                   // pmuludq       %xmm2,%xmm10
+  .byte  102,68,15,111,218                   // movdqa        %xmm2,%xmm11
+  .byte  102,69,15,112,224,245               // pshufd        $0xf5,%xmm8,%xmm12
+  .byte  102,68,15,244,226                   // pmuludq       %xmm2,%xmm12
+  .byte  102,65,15,244,209                   // pmuludq       %xmm9,%xmm2
+  .byte  76,139,16                           // mov           (%rax),%r10
+  .byte  102,15,112,210,232                  // pshufd        $0xe8,%xmm2,%xmm2
+  .byte  102,65,15,112,218,232               // pshufd        $0xe8,%xmm10,%xmm3
+  .byte  102,15,98,211                       // punpckldq     %xmm3,%xmm2
+  .byte  102,69,15,244,216                   // pmuludq       %xmm8,%xmm11
+  .byte  102,69,15,112,195,232               // pshufd        $0xe8,%xmm11,%xmm8
+  .byte  102,65,15,112,220,232               // pshufd        $0xe8,%xmm12,%xmm3
+  .byte  102,68,15,98,195                    // punpckldq     %xmm3,%xmm8
+  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
+  .byte  102,15,254,202                      // paddd         %xmm2,%xmm1
+  .byte  243,15,91,192                       // cvttps2dq     %xmm0,%xmm0
+  .byte  102,65,15,254,192                   // paddd         %xmm8,%xmm0
+  .byte  102,15,112,208,78                   // pshufd        $0x4e,%xmm0,%xmm2
+  .byte  102,73,15,126,208                   // movq          %xmm2,%r8
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  102,72,15,126,192                   // movq          %xmm0,%rax
+  .byte  65,137,195                          // mov           %eax,%r11d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  102,15,112,193,78                   // pshufd        $0x4e,%xmm1,%xmm0
+  .byte  102,72,15,126,195                   // movq          %xmm0,%rbx
+  .byte  65,137,222                          // mov           %ebx,%r14d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  102,73,15,126,207                   // movq          %xmm1,%r15
+  .byte  69,137,252                          // mov           %r15d,%r12d
+  .byte  73,193,239,32                       // shr           $0x20,%r15
+  .byte  67,15,183,44,122                    // movzwl        (%r10,%r15,2),%ebp
+  .byte  102,15,110,197                      // movd          %ebp,%xmm0
+  .byte  67,15,183,44,98                     // movzwl        (%r10,%r12,2),%ebp
+  .byte  102,15,110,205                      // movd          %ebp,%xmm1
+  .byte  102,15,97,200                       // punpcklwd     %xmm0,%xmm1
+  .byte  65,15,183,28,90                     // movzwl        (%r10,%rbx,2),%ebx
+  .byte  102,15,110,195                      // movd          %ebx,%xmm0
+  .byte  67,15,183,28,114                    // movzwl        (%r10,%r14,2),%ebx
+  .byte  102,15,110,211                      // movd          %ebx,%xmm2
+  .byte  102,15,97,208                       // punpcklwd     %xmm0,%xmm2
+  .byte  102,15,98,202                       // punpckldq     %xmm2,%xmm1
+  .byte  65,15,183,4,66                      // movzwl        (%r10,%rax,2),%eax
+  .byte  102,15,110,208                      // movd          %eax,%xmm2
+  .byte  67,15,183,4,90                      // movzwl        (%r10,%r11,2),%eax
+  .byte  102,15,110,192                      // movd          %eax,%xmm0
+  .byte  102,15,97,194                       // punpcklwd     %xmm2,%xmm0
+  .byte  67,15,183,4,66                      // movzwl        (%r10,%r8,2),%eax
+  .byte  102,15,110,208                      // movd          %eax,%xmm2
+  .byte  67,15,183,4,74                      // movzwl        (%r10,%r9,2),%eax
+  .byte  102,15,110,216                      // movd          %eax,%xmm3
+  .byte  102,15,97,218                       // punpcklwd     %xmm2,%xmm3
+  .byte  102,15,98,195                       // punpckldq     %xmm3,%xmm0
+  .byte  102,15,108,193                      // punpcklqdq    %xmm1,%xmm0
+  .byte  102,15,111,216                      // movdqa        %xmm0,%xmm3
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  102,15,219,29,1,60,0,0              // pand          0x3c01(%rip),%xmm3        # 3d680 <_sk_srcover_bgra_8888_sse2_lowp+0x1434>
+  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
+  .byte  102,15,113,209,5                    // psrlw         $0x5,%xmm1
+  .byte  102,15,219,13,0,60,0,0              // pand          0x3c00(%rip),%xmm1        # 3d690 <_sk_srcover_bgra_8888_sse2_lowp+0x1444>
+  .byte  102,15,111,21,8,60,0,0              // movdqa        0x3c08(%rip),%xmm2        # 3d6a0 <_sk_srcover_bgra_8888_sse2_lowp+0x1454>
+  .byte  102,15,219,208                      // pand          %xmm0,%xmm2
+  .byte  102,15,113,208,13                   // psrlw         $0xd,%xmm0
+  .byte  102,15,235,195                      // por           %xmm3,%xmm0
+  .byte  102,15,111,217                      // movdqa        %xmm1,%xmm3
+  .byte  102,15,113,243,2                    // psllw         $0x2,%xmm3
+  .byte  102,15,113,209,4                    // psrlw         $0x4,%xmm1
+  .byte  102,15,235,203                      // por           %xmm3,%xmm1
+  .byte  102,15,111,218                      // movdqa        %xmm2,%xmm3
+  .byte  102,15,113,243,3                    // psllw         $0x3,%xmm3
+  .byte  102,15,113,210,2                    // psrlw         $0x2,%xmm2
+  .byte  102,15,235,211                      // por           %xmm3,%xmm2
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,29,222,51,0,0                 // movaps        0x33de(%rip),%xmm3        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  93                                  // pop           %rbp
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_load_4444_sse2_lowp
+.globl _sk_load_4444_sse2_lowp
+FUNCTION(_sk_load_4444_sse2_lowp)
+_sk_load_4444_sse2_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,36                              // ja            39b1a <_sk_load_4444_sse2_lowp+0x3e>
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,199,0,0,0                 // lea           0xc7(%rip),%r9        # 39bcc <_sk_load_4444_sse2_lowp+0xf0>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
+  .byte  235,69                              // jmp           39b5f <_sk_load_4444_sse2_lowp+0x83>
+  .byte  243,69,15,111,4,80                  // movdqu        (%r8,%rdx,2),%xmm8
+  .byte  235,61                              // jmp           39b5f <_sk_load_4444_sse2_lowp+0x83>
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  102,69,15,196,68,80,4,2             // pinsrw        $0x2,0x4(%r8,%rdx,2),%xmm8
+  .byte  243,65,15,16,4,80                   // movss         (%r8,%rdx,2),%xmm0
+  .byte  243,68,15,16,192                    // movss         %xmm0,%xmm8
+  .byte  235,35                              // jmp           39b5f <_sk_load_4444_sse2_lowp+0x83>
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  102,69,15,196,68,80,12,6            // pinsrw        $0x6,0xc(%r8,%rdx,2),%xmm8
+  .byte  102,69,15,196,68,80,10,5            // pinsrw        $0x5,0xa(%r8,%rdx,2),%xmm8
+  .byte  102,69,15,196,68,80,8,4             // pinsrw        $0x4,0x8(%r8,%rdx,2),%xmm8
+  .byte  102,69,15,18,4,80                   // movlpd        (%r8,%rdx,2),%xmm8
+  .byte  102,65,15,111,200                   // movdqa        %xmm8,%xmm1
+  .byte  102,15,113,209,12                   // psrlw         $0xc,%xmm1
+  .byte  102,65,15,111,208                   // movdqa        %xmm8,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,111,5,85,59,0,0              // movdqa        0x3b55(%rip),%xmm0        # 3d6d0 <_sk_srcover_bgra_8888_sse2_lowp+0x1484>
+  .byte  102,15,219,208                      // pand          %xmm0,%xmm2
+  .byte  102,65,15,111,216                   // movdqa        %xmm8,%xmm3
+  .byte  102,15,113,211,4                    // psrlw         $0x4,%xmm3
+  .byte  102,15,219,216                      // pand          %xmm0,%xmm3
+  .byte  102,68,15,219,192                   // pand          %xmm0,%xmm8
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,15,113,240,4                    // psllw         $0x4,%xmm0
+  .byte  102,15,235,193                      // por           %xmm1,%xmm0
+  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
+  .byte  102,15,113,241,4                    // psllw         $0x4,%xmm1
+  .byte  102,15,235,202                      // por           %xmm2,%xmm1
+  .byte  102,15,111,211                      // movdqa        %xmm3,%xmm2
+  .byte  102,15,113,242,4                    // psllw         $0x4,%xmm2
+  .byte  102,15,235,211                      // por           %xmm3,%xmm2
+  .byte  102,65,15,111,216                   // movdqa        %xmm8,%xmm3
+  .byte  102,15,113,243,4                    // psllw         $0x4,%xmm3
+  .byte  102,65,15,235,216                   // por           %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  66,255                              // rex.X         (bad)
+  .byte  255                                 // (bad)
+  .byte  255,99,255                          // jmpq          *-0x1(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255,86,255                          // callq         *-0x1(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255,141,255,255,255,133             // decl          -0x7a000001(%rbp)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  125,255                             // jge           39be1 <_sk_load_4444_sse2_lowp+0x105>
+  .byte  255                                 // (bad)
+  .byte  255,112,255                         // pushq         -0x1(%rax)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_4444_dst_sse2_lowp
+.globl _sk_load_4444_dst_sse2_lowp
+FUNCTION(_sk_load_4444_dst_sse2_lowp)
+_sk_load_4444_dst_sse2_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,36                              // ja            39c26 <_sk_load_4444_dst_sse2_lowp+0x3e>
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,199,0,0,0                 // lea           0xc7(%rip),%r9        # 39cd8 <_sk_load_4444_dst_sse2_lowp+0xf0>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
+  .byte  235,69                              // jmp           39c6b <_sk_load_4444_dst_sse2_lowp+0x83>
+  .byte  243,69,15,111,4,80                  // movdqu        (%r8,%rdx,2),%xmm8
+  .byte  235,61                              // jmp           39c6b <_sk_load_4444_dst_sse2_lowp+0x83>
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  102,69,15,196,68,80,4,2             // pinsrw        $0x2,0x4(%r8,%rdx,2),%xmm8
+  .byte  243,65,15,16,36,80                  // movss         (%r8,%rdx,2),%xmm4
+  .byte  243,68,15,16,196                    // movss         %xmm4,%xmm8
+  .byte  235,35                              // jmp           39c6b <_sk_load_4444_dst_sse2_lowp+0x83>
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  102,69,15,196,68,80,12,6            // pinsrw        $0x6,0xc(%r8,%rdx,2),%xmm8
+  .byte  102,69,15,196,68,80,10,5            // pinsrw        $0x5,0xa(%r8,%rdx,2),%xmm8
+  .byte  102,69,15,196,68,80,8,4             // pinsrw        $0x4,0x8(%r8,%rdx,2),%xmm8
+  .byte  102,69,15,18,4,80                   // movlpd        (%r8,%rdx,2),%xmm8
+  .byte  102,65,15,111,232                   // movdqa        %xmm8,%xmm5
+  .byte  102,15,113,213,12                   // psrlw         $0xc,%xmm5
+  .byte  102,65,15,111,240                   // movdqa        %xmm8,%xmm6
+  .byte  102,15,113,214,8                    // psrlw         $0x8,%xmm6
+  .byte  102,15,111,37,73,58,0,0             // movdqa        0x3a49(%rip),%xmm4        # 3d6d0 <_sk_srcover_bgra_8888_sse2_lowp+0x1484>
+  .byte  102,15,219,244                      // pand          %xmm4,%xmm6
+  .byte  102,65,15,111,248                   // movdqa        %xmm8,%xmm7
+  .byte  102,15,113,215,4                    // psrlw         $0x4,%xmm7
+  .byte  102,15,219,252                      // pand          %xmm4,%xmm7
+  .byte  102,68,15,219,196                   // pand          %xmm4,%xmm8
+  .byte  102,15,111,229                      // movdqa        %xmm5,%xmm4
+  .byte  102,15,113,244,4                    // psllw         $0x4,%xmm4
+  .byte  102,15,235,229                      // por           %xmm5,%xmm4
+  .byte  102,15,111,238                      // movdqa        %xmm6,%xmm5
+  .byte  102,15,113,245,4                    // psllw         $0x4,%xmm5
+  .byte  102,15,235,238                      // por           %xmm6,%xmm5
+  .byte  102,15,111,247                      // movdqa        %xmm7,%xmm6
+  .byte  102,15,113,246,4                    // psllw         $0x4,%xmm6
+  .byte  102,15,235,247                      // por           %xmm7,%xmm6
+  .byte  102,65,15,111,248                   // movdqa        %xmm8,%xmm7
+  .byte  102,15,113,247,4                    // psllw         $0x4,%xmm7
+  .byte  102,65,15,235,248                   // por           %xmm8,%xmm7
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  66,255                              // rex.X         (bad)
+  .byte  255                                 // (bad)
+  .byte  255,99,255                          // jmpq          *-0x1(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255,86,255                          // callq         *-0x1(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255,141,255,255,255,133             // decl          -0x7a000001(%rbp)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  125,255                             // jge           39ced <_sk_load_4444_dst_sse2_lowp+0x105>
+  .byte  255                                 // (bad)
+  .byte  255,112,255                         // pushq         -0x1(%rax)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_store_4444_sse2_lowp
+.globl _sk_store_4444_sse2_lowp
+FUNCTION(_sk_store_4444_sse2_lowp)
+_sk_store_4444_sse2_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  102,68,15,111,192                   // movdqa        %xmm0,%xmm8
+  .byte  102,65,15,113,240,8                 // psllw         $0x8,%xmm8
+  .byte  102,68,15,219,5,200,57,0,0          // pand          0x39c8(%rip),%xmm8        # 3d6e0 <_sk_srcover_bgra_8888_sse2_lowp+0x1494>
+  .byte  102,68,15,111,201                   // movdqa        %xmm1,%xmm9
+  .byte  102,65,15,113,241,4                 // psllw         $0x4,%xmm9
+  .byte  102,68,15,219,13,196,57,0,0         // pand          0x39c4(%rip),%xmm9        # 3d6f0 <_sk_srcover_bgra_8888_sse2_lowp+0x14a4>
+  .byte  102,69,15,235,200                   // por           %xmm8,%xmm9
+  .byte  102,68,15,111,21,198,57,0,0         // movdqa        0x39c6(%rip),%xmm10        # 3d700 <_sk_srcover_bgra_8888_sse2_lowp+0x14b4>
+  .byte  102,68,15,219,210                   // pand          %xmm2,%xmm10
+  .byte  102,68,15,111,195                   // movdqa        %xmm3,%xmm8
+  .byte  102,65,15,113,208,4                 // psrlw         $0x4,%xmm8
+  .byte  102,69,15,235,194                   // por           %xmm10,%xmm8
+  .byte  102,69,15,235,193                   // por           %xmm9,%xmm8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,31                              // ja            39d7d <_sk_store_4444_sse2_lowp+0x89>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,96,0,0,0                  // lea           0x60(%rip),%r9        # 39dc8 <_sk_store_4444_sse2_lowp+0xd4>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,68,15,126,192                   // movd          %xmm8,%eax
+  .byte  102,65,137,4,80                     // mov           %ax,(%r8,%rdx,2)
+  .byte  235,70                              // jmp           39dc3 <_sk_store_4444_sse2_lowp+0xcf>
+  .byte  243,69,15,127,4,80                  // movdqu        %xmm8,(%r8,%rdx,2)
+  .byte  235,62                              // jmp           39dc3 <_sk_store_4444_sse2_lowp+0xcf>
+  .byte  102,65,15,197,192,2                 // pextrw        $0x2,%xmm8,%eax
+  .byte  102,65,137,68,80,4                  // mov           %ax,0x4(%r8,%rdx,2)
+  .byte  102,69,15,126,4,80                  // movd          %xmm8,(%r8,%rdx,2)
+  .byte  235,42                              // jmp           39dc3 <_sk_store_4444_sse2_lowp+0xcf>
+  .byte  102,65,15,197,192,6                 // pextrw        $0x6,%xmm8,%eax
+  .byte  102,65,137,68,80,12                 // mov           %ax,0xc(%r8,%rdx,2)
+  .byte  102,65,15,197,192,5                 // pextrw        $0x5,%xmm8,%eax
+  .byte  102,65,137,68,80,10                 // mov           %ax,0xa(%r8,%rdx,2)
+  .byte  102,65,15,197,192,4                 // pextrw        $0x4,%xmm8,%eax
+  .byte  102,65,137,68,80,8                  // mov           %ax,0x8(%r8,%rdx,2)
+  .byte  102,69,15,214,4,80                  // movq          %xmm8,(%r8,%rdx,2)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  144                                 // nop
+  .byte  169,255,255,255,201                 // test          $0xc9ffffff,%eax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  189,255,255,255,245                 // mov           $0xf5ffffff,%ebp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  233,255,255,255,221                 // jmpq          ffffffffde039ddc <_sk_srcover_bgra_8888_sse2_lowp+0xffffffffddffdb90>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,209                             // callq         *%rcx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_gather_4444_sse2_lowp
+.globl _sk_gather_4444_sse2_lowp
+FUNCTION(_sk_gather_4444_sse2_lowp)
+_sk_gather_4444_sse2_lowp:
+  .byte  85                                  // push          %rbp
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,64,12                  // movss         0xc(%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  102,69,15,118,201                   // pcmpeqd       %xmm9,%xmm9
+  .byte  102,69,15,254,193                   // paddd         %xmm9,%xmm8
+  .byte  69,15,87,210                        // xorps         %xmm10,%xmm10
+  .byte  65,15,95,202                        // maxps         %xmm10,%xmm1
+  .byte  65,15,95,194                        // maxps         %xmm10,%xmm0
+  .byte  65,15,93,192                        // minps         %xmm8,%xmm0
+  .byte  65,15,93,200                        // minps         %xmm8,%xmm1
+  .byte  243,68,15,16,64,16                  // movss         0x10(%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  102,69,15,254,193                   // paddd         %xmm9,%xmm8
+  .byte  65,15,95,210                        // maxps         %xmm10,%xmm2
+  .byte  65,15,95,218                        // maxps         %xmm10,%xmm3
+  .byte  65,15,93,216                        // minps         %xmm8,%xmm3
+  .byte  65,15,93,208                        // minps         %xmm8,%xmm2
+  .byte  243,68,15,91,194                    // cvttps2dq     %xmm2,%xmm8
+  .byte  243,68,15,91,203                    // cvttps2dq     %xmm3,%xmm9
+  .byte  102,15,110,80,8                     // movd          0x8(%rax),%xmm2
+  .byte  102,15,112,210,0                    // pshufd        $0x0,%xmm2,%xmm2
+  .byte  102,69,15,112,209,245               // pshufd        $0xf5,%xmm9,%xmm10
+  .byte  102,68,15,244,210                   // pmuludq       %xmm2,%xmm10
+  .byte  102,68,15,111,218                   // movdqa        %xmm2,%xmm11
+  .byte  102,69,15,112,224,245               // pshufd        $0xf5,%xmm8,%xmm12
+  .byte  102,68,15,244,226                   // pmuludq       %xmm2,%xmm12
+  .byte  102,65,15,244,209                   // pmuludq       %xmm9,%xmm2
+  .byte  76,139,16                           // mov           (%rax),%r10
+  .byte  102,15,112,210,232                  // pshufd        $0xe8,%xmm2,%xmm2
+  .byte  102,65,15,112,218,232               // pshufd        $0xe8,%xmm10,%xmm3
+  .byte  102,15,98,211                       // punpckldq     %xmm3,%xmm2
+  .byte  102,69,15,244,216                   // pmuludq       %xmm8,%xmm11
+  .byte  102,69,15,112,195,232               // pshufd        $0xe8,%xmm11,%xmm8
+  .byte  102,65,15,112,220,232               // pshufd        $0xe8,%xmm12,%xmm3
+  .byte  102,68,15,98,195                    // punpckldq     %xmm3,%xmm8
+  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
+  .byte  102,15,254,202                      // paddd         %xmm2,%xmm1
+  .byte  243,15,91,192                       // cvttps2dq     %xmm0,%xmm0
+  .byte  102,65,15,254,192                   // paddd         %xmm8,%xmm0
+  .byte  102,15,112,208,78                   // pshufd        $0x4e,%xmm0,%xmm2
+  .byte  102,73,15,126,208                   // movq          %xmm2,%r8
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  102,72,15,126,192                   // movq          %xmm0,%rax
+  .byte  65,137,195                          // mov           %eax,%r11d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  102,15,112,193,78                   // pshufd        $0x4e,%xmm1,%xmm0
+  .byte  102,72,15,126,195                   // movq          %xmm0,%rbx
+  .byte  65,137,222                          // mov           %ebx,%r14d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  102,73,15,126,207                   // movq          %xmm1,%r15
+  .byte  69,137,252                          // mov           %r15d,%r12d
+  .byte  73,193,239,32                       // shr           $0x20,%r15
+  .byte  67,15,183,44,122                    // movzwl        (%r10,%r15,2),%ebp
+  .byte  102,15,110,197                      // movd          %ebp,%xmm0
+  .byte  67,15,183,44,98                     // movzwl        (%r10,%r12,2),%ebp
+  .byte  102,15,110,205                      // movd          %ebp,%xmm1
+  .byte  102,15,97,200                       // punpcklwd     %xmm0,%xmm1
+  .byte  65,15,183,28,90                     // movzwl        (%r10,%rbx,2),%ebx
+  .byte  102,15,110,195                      // movd          %ebx,%xmm0
+  .byte  67,15,183,28,114                    // movzwl        (%r10,%r14,2),%ebx
+  .byte  102,15,110,211                      // movd          %ebx,%xmm2
+  .byte  102,15,97,208                       // punpcklwd     %xmm0,%xmm2
+  .byte  102,15,98,202                       // punpckldq     %xmm2,%xmm1
+  .byte  65,15,183,4,66                      // movzwl        (%r10,%rax,2),%eax
+  .byte  102,15,110,192                      // movd          %eax,%xmm0
+  .byte  67,15,183,4,90                      // movzwl        (%r10,%r11,2),%eax
+  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
+  .byte  102,68,15,97,192                    // punpcklwd     %xmm0,%xmm8
+  .byte  67,15,183,4,66                      // movzwl        (%r10,%r8,2),%eax
+  .byte  102,15,110,192                      // movd          %eax,%xmm0
+  .byte  67,15,183,4,74                      // movzwl        (%r10,%r9,2),%eax
+  .byte  102,15,110,208                      // movd          %eax,%xmm2
+  .byte  102,15,97,208                       // punpcklwd     %xmm0,%xmm2
+  .byte  102,68,15,98,194                    // punpckldq     %xmm2,%xmm8
+  .byte  102,68,15,108,193                   // punpcklqdq    %xmm1,%xmm8
+  .byte  102,65,15,111,200                   // movdqa        %xmm8,%xmm1
+  .byte  102,15,113,209,12                   // psrlw         $0xc,%xmm1
+  .byte  102,65,15,111,208                   // movdqa        %xmm8,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,111,5,110,55,0,0             // movdqa        0x376e(%rip),%xmm0        # 3d6d0 <_sk_srcover_bgra_8888_sse2_lowp+0x1484>
+  .byte  102,15,219,208                      // pand          %xmm0,%xmm2
+  .byte  102,65,15,111,216                   // movdqa        %xmm8,%xmm3
+  .byte  102,15,113,211,4                    // psrlw         $0x4,%xmm3
+  .byte  102,15,219,216                      // pand          %xmm0,%xmm3
+  .byte  102,68,15,219,192                   // pand          %xmm0,%xmm8
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,15,113,240,4                    // psllw         $0x4,%xmm0
+  .byte  102,15,235,193                      // por           %xmm1,%xmm0
+  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
+  .byte  102,15,113,241,4                    // psllw         $0x4,%xmm1
+  .byte  102,15,235,202                      // por           %xmm2,%xmm1
+  .byte  102,15,111,211                      // movdqa        %xmm3,%xmm2
+  .byte  102,15,113,242,4                    // psllw         $0x4,%xmm2
+  .byte  102,15,235,211                      // por           %xmm3,%xmm2
+  .byte  102,65,15,111,216                   // movdqa        %xmm8,%xmm3
+  .byte  102,15,113,243,4                    // psllw         $0x4,%xmm3
+  .byte  102,65,15,235,216                   // por           %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  93                                  // pop           %rbp
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_load_a8_sse2_lowp
+.globl _sk_load_a8_sse2_lowp
+FUNCTION(_sk_load_a8_sse2_lowp)
+_sk_load_a8_sse2_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,34                              // ja            39ff4 <_sk_load_a8_sse2_lowp+0x39>
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,140,0,0,0                 // lea           0x8c(%rip),%r9        # 3a06c <_sk_load_a8_sse2_lowp+0xb1>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  102,15,110,216                      // movd          %eax,%xmm3
+  .byte  235,97                              // jmp           3a055 <_sk_load_a8_sse2_lowp+0x9a>
+  .byte  243,65,15,126,28,16                 // movq          (%r8,%rdx,1),%xmm3
+  .byte  102,15,96,216                       // punpcklbw     %xmm0,%xmm3
+  .byte  235,85                              // jmp           3a055 <_sk_load_a8_sse2_lowp+0x9a>
+  .byte  65,15,182,68,16,2                   // movzbl        0x2(%r8,%rdx,1),%eax
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  102,15,196,216,2                    // pinsrw        $0x2,%eax,%xmm3
+  .byte  65,15,183,4,16                      // movzwl        (%r8,%rdx,1),%eax
+  .byte  102,15,110,192                      // movd          %eax,%xmm0
+  .byte  102,15,96,192                       // punpcklbw     %xmm0,%xmm0
+  .byte  243,15,16,216                       // movss         %xmm0,%xmm3
+  .byte  235,51                              // jmp           3a055 <_sk_load_a8_sse2_lowp+0x9a>
+  .byte  65,15,182,68,16,6                   // movzbl        0x6(%r8,%rdx,1),%eax
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  102,15,196,216,6                    // pinsrw        $0x6,%eax,%xmm3
+  .byte  65,15,182,68,16,5                   // movzbl        0x5(%r8,%rdx,1),%eax
+  .byte  102,15,196,216,5                    // pinsrw        $0x5,%eax,%xmm3
+  .byte  65,15,182,68,16,4                   // movzbl        0x4(%r8,%rdx,1),%eax
+  .byte  102,15,196,216,4                    // pinsrw        $0x4,%eax,%xmm3
+  .byte  102,65,15,110,4,16                  // movd          (%r8,%rdx,1),%xmm0
+  .byte  102,15,96,192                       // punpcklbw     %xmm0,%xmm0
+  .byte  242,15,16,216                       // movsd         %xmm0,%xmm3
+  .byte  102,15,219,29,83,46,0,0             // pand          0x2e53(%rip),%xmm3        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  15,87,201                           // xorps         %xmm1,%xmm1
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  125,255                             // jge           3a06d <_sk_load_a8_sse2_lowp+0xb2>
+  .byte  255                                 // (bad)
+  .byte  255,163,255,255,255,148             // jmpq          *-0x6b000001(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  219,255                             // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,208                             // callq         *%rax
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,197                             // inc           %ebp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+  .byte  182,255                             // mov           $0xff,%dh
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_a8_dst_sse2_lowp
+.globl _sk_load_a8_dst_sse2_lowp
+FUNCTION(_sk_load_a8_dst_sse2_lowp)
+_sk_load_a8_dst_sse2_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,34                              // ja            3a0c1 <_sk_load_a8_dst_sse2_lowp+0x39>
+  .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,139,0,0,0                 // lea           0x8b(%rip),%r9        # 3a138 <_sk_load_a8_dst_sse2_lowp+0xb0>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  102,15,110,248                      // movd          %eax,%xmm7
+  .byte  235,97                              // jmp           3a122 <_sk_load_a8_dst_sse2_lowp+0x9a>
+  .byte  243,65,15,126,60,16                 // movq          (%r8,%rdx,1),%xmm7
+  .byte  102,15,96,248                       // punpcklbw     %xmm0,%xmm7
+  .byte  235,85                              // jmp           3a122 <_sk_load_a8_dst_sse2_lowp+0x9a>
+  .byte  65,15,182,68,16,2                   // movzbl        0x2(%r8,%rdx,1),%eax
+  .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
+  .byte  102,15,196,248,2                    // pinsrw        $0x2,%eax,%xmm7
+  .byte  65,15,183,4,16                      // movzwl        (%r8,%rdx,1),%eax
+  .byte  102,15,110,224                      // movd          %eax,%xmm4
+  .byte  102,15,96,224                       // punpcklbw     %xmm0,%xmm4
+  .byte  243,15,16,252                       // movss         %xmm4,%xmm7
+  .byte  235,51                              // jmp           3a122 <_sk_load_a8_dst_sse2_lowp+0x9a>
+  .byte  65,15,182,68,16,6                   // movzbl        0x6(%r8,%rdx,1),%eax
+  .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
+  .byte  102,15,196,248,6                    // pinsrw        $0x6,%eax,%xmm7
+  .byte  65,15,182,68,16,5                   // movzbl        0x5(%r8,%rdx,1),%eax
+  .byte  102,15,196,248,5                    // pinsrw        $0x5,%eax,%xmm7
+  .byte  65,15,182,68,16,4                   // movzbl        0x4(%r8,%rdx,1),%eax
+  .byte  102,15,196,248,4                    // pinsrw        $0x4,%eax,%xmm7
+  .byte  102,65,15,110,36,16                 // movd          (%r8,%rdx,1),%xmm4
+  .byte  102,15,96,224                       // punpcklbw     %xmm0,%xmm4
+  .byte  242,15,16,252                       // movsd         %xmm4,%xmm7
+  .byte  102,15,219,61,134,45,0,0            // pand          0x2d86(%rip),%xmm7        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,87,237                           // xorps         %xmm5,%xmm5
+  .byte  15,87,246                           // xorps         %xmm6,%xmm6
+  .byte  255,224                             // jmpq          *%rax
+  .byte  144                                 // nop
+  .byte  126,255                             // jle           3a139 <_sk_load_a8_dst_sse2_lowp+0xb1>
+  .byte  255                                 // (bad)
+  .byte  255,164,255,255,255,149,255         // jmpq          *-0x6a0001(%rdi,%rdi,8)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  220,255                             // fdivr         %st,%st(7)
+  .byte  255                                 // (bad)
+  .byte  255,209                             // callq         *%rcx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,198                             // inc           %esi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+  .byte  183,255                             // mov           $0xff,%bh
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_store_a8_sse2_lowp
+.globl _sk_store_a8_sse2_lowp
+FUNCTION(_sk_store_a8_sse2_lowp)
+_sk_store_a8_sse2_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,29                              // ja            3a188 <_sk_store_a8_sse2_lowp+0x34>
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,147,0,0,0                 // lea           0x93(%rip),%r9        # 3a208 <_sk_store_a8_sse2_lowp+0xb4>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,15,126,216                      // movd          %xmm3,%eax
+  .byte  65,136,4,16                         // mov           %al,(%r8,%rdx,1)
+  .byte  235,123                             // jmp           3a203 <_sk_store_a8_sse2_lowp+0xaf>
+  .byte  102,68,15,111,5,31,45,0,0           // movdqa        0x2d1f(%rip),%xmm8        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,68,15,219,195                   // pand          %xmm3,%xmm8
+  .byte  102,69,15,103,192                   // packuswb      %xmm8,%xmm8
+  .byte  102,69,15,214,4,16                  // movq          %xmm8,(%r8,%rdx,1)
+  .byte  235,96                              // jmp           3a203 <_sk_store_a8_sse2_lowp+0xaf>
+  .byte  102,15,197,195,2                    // pextrw        $0x2,%xmm3,%eax
+  .byte  65,136,68,16,2                      // mov           %al,0x2(%r8,%rdx,1)
+  .byte  102,68,15,111,5,250,44,0,0          // movdqa        0x2cfa(%rip),%xmm8        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,68,15,219,195                   // pand          %xmm3,%xmm8
+  .byte  102,69,15,103,192                   // packuswb      %xmm8,%xmm8
+  .byte  102,68,15,126,192                   // movd          %xmm8,%eax
+  .byte  102,65,137,4,16                     // mov           %ax,(%r8,%rdx,1)
+  .byte  235,55                              // jmp           3a203 <_sk_store_a8_sse2_lowp+0xaf>
+  .byte  102,15,197,195,6                    // pextrw        $0x6,%xmm3,%eax
+  .byte  65,136,68,16,6                      // mov           %al,0x6(%r8,%rdx,1)
+  .byte  102,15,197,195,5                    // pextrw        $0x5,%xmm3,%eax
+  .byte  65,136,68,16,5                      // mov           %al,0x5(%r8,%rdx,1)
+  .byte  102,15,197,195,4                    // pextrw        $0x4,%xmm3,%eax
+  .byte  65,136,68,16,4                      // mov           %al,0x4(%r8,%rdx,1)
+  .byte  102,68,15,111,5,189,44,0,0          // movdqa        0x2cbd(%rip),%xmm8        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,68,15,219,195                   // pand          %xmm3,%xmm8
+  .byte  102,69,15,103,192                   // packuswb      %xmm8,%xmm8
+  .byte  102,69,15,126,4,16                  // movd          %xmm8,(%r8,%rdx,1)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  144                                 // nop
+  .byte  118,255                             // jbe           3a209 <_sk_store_a8_sse2_lowp+0xb5>
+  .byte  255                                 // (bad)
+  .byte  255,165,255,255,255,155             // jmpq          *-0x64000001(%rbp)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,226                             // jmpq          *%rdx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  216,255                             // fdivr         %st(7),%st
+  .byte  255                                 // (bad)
+  .byte  255,206                             // dec           %esi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,196                             // inc           %esp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_gather_a8_sse2_lowp
+.globl _sk_gather_a8_sse2_lowp
+FUNCTION(_sk_gather_a8_sse2_lowp)
+_sk_gather_a8_sse2_lowp:
+  .byte  85                                  // push          %rbp
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,72,12                  // movss         0xc(%rax),%xmm9
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  102,69,15,118,210                   // pcmpeqd       %xmm10,%xmm10
+  .byte  102,69,15,254,202                   // paddd         %xmm10,%xmm9
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  65,15,95,192                        // maxps         %xmm8,%xmm0
+  .byte  65,15,95,200                        // maxps         %xmm8,%xmm1
+  .byte  65,15,93,201                        // minps         %xmm9,%xmm1
+  .byte  65,15,93,193                        // minps         %xmm9,%xmm0
+  .byte  243,68,15,16,72,16                  // movss         0x10(%rax),%xmm9
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  102,69,15,254,202                   // paddd         %xmm10,%xmm9
+  .byte  65,15,95,216                        // maxps         %xmm8,%xmm3
+  .byte  65,15,95,208                        // maxps         %xmm8,%xmm2
+  .byte  65,15,93,209                        // minps         %xmm9,%xmm2
+  .byte  65,15,93,217                        // minps         %xmm9,%xmm3
+  .byte  243,68,15,91,203                    // cvttps2dq     %xmm3,%xmm9
+  .byte  243,68,15,91,210                    // cvttps2dq     %xmm2,%xmm10
+  .byte  102,15,110,88,8                     // movd          0x8(%rax),%xmm3
+  .byte  102,15,112,219,0                    // pshufd        $0x0,%xmm3,%xmm3
+  .byte  102,69,15,112,218,245               // pshufd        $0xf5,%xmm10,%xmm11
+  .byte  102,68,15,244,219                   // pmuludq       %xmm3,%xmm11
+  .byte  102,68,15,111,227                   // movdqa        %xmm3,%xmm12
+  .byte  102,69,15,112,233,245               // pshufd        $0xf5,%xmm9,%xmm13
+  .byte  102,68,15,244,235                   // pmuludq       %xmm3,%xmm13
+  .byte  102,65,15,244,218                   // pmuludq       %xmm10,%xmm3
+  .byte  102,15,112,219,232                  // pshufd        $0xe8,%xmm3,%xmm3
+  .byte  102,65,15,112,211,232               // pshufd        $0xe8,%xmm11,%xmm2
+  .byte  102,15,98,218                       // punpckldq     %xmm2,%xmm3
+  .byte  76,139,16                           // mov           (%rax),%r10
+  .byte  102,69,15,244,225                   // pmuludq       %xmm9,%xmm12
+  .byte  102,69,15,112,204,232               // pshufd        $0xe8,%xmm12,%xmm9
+  .byte  102,65,15,112,213,232               // pshufd        $0xe8,%xmm13,%xmm2
+  .byte  102,68,15,98,202                    // punpckldq     %xmm2,%xmm9
+  .byte  243,15,91,192                       // cvttps2dq     %xmm0,%xmm0
+  .byte  102,15,254,195                      // paddd         %xmm3,%xmm0
+  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
+  .byte  102,65,15,254,201                   // paddd         %xmm9,%xmm1
+  .byte  102,15,112,209,78                   // pshufd        $0x4e,%xmm1,%xmm2
+  .byte  102,73,15,126,208                   // movq          %xmm2,%r8
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  102,72,15,126,200                   // movq          %xmm1,%rax
+  .byte  65,137,195                          // mov           %eax,%r11d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  102,72,15,126,195                   // movq          %xmm0,%rbx
+  .byte  65,137,222                          // mov           %ebx,%r14d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  102,15,112,192,78                   // pshufd        $0x4e,%xmm0,%xmm0
+  .byte  102,73,15,126,199                   // movq          %xmm0,%r15
+  .byte  69,137,252                          // mov           %r15d,%r12d
+  .byte  73,193,239,32                       // shr           $0x20,%r15
+  .byte  71,15,182,36,34                     // movzbl        (%r10,%r12,1),%r12d
+  .byte  67,15,182,44,58                     // movzbl        (%r10,%r15,1),%ebp
+  .byte  193,229,8                           // shl           $0x8,%ebp
+  .byte  68,9,229                            // or            %r12d,%ebp
+  .byte  71,15,182,52,50                     // movzbl        (%r10,%r14,1),%r14d
+  .byte  65,15,182,28,26                     // movzbl        (%r10,%rbx,1),%ebx
+  .byte  193,227,8                           // shl           $0x8,%ebx
+  .byte  68,9,243                            // or            %r14d,%ebx
+  .byte  102,15,110,219                      // movd          %ebx,%xmm3
+  .byte  102,15,196,221,1                    // pinsrw        $0x1,%ebp,%xmm3
+  .byte  67,15,182,44,26                     // movzbl        (%r10,%r11,1),%ebp
+  .byte  65,15,182,4,2                       // movzbl        (%r10,%rax,1),%eax
+  .byte  193,224,8                           // shl           $0x8,%eax
+  .byte  9,232                               // or            %ebp,%eax
+  .byte  102,15,196,216,2                    // pinsrw        $0x2,%eax,%xmm3
+  .byte  67,15,182,4,10                      // movzbl        (%r10,%r9,1),%eax
+  .byte  67,15,182,44,2                      // movzbl        (%r10,%r8,1),%ebp
+  .byte  193,229,8                           // shl           $0x8,%ebp
+  .byte  9,197                               // or            %eax,%ebp
+  .byte  102,15,196,221,3                    // pinsrw        $0x3,%ebp,%xmm3
+  .byte  102,65,15,96,216                    // punpcklbw     %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  102,15,239,210                      // pxor          %xmm2,%xmm2
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  93                                  // pop           %rbp
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_load_g8_sse2_lowp
+.globl _sk_load_g8_sse2_lowp
+FUNCTION(_sk_load_g8_sse2_lowp)
+_sk_load_g8_sse2_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,34                              // ja            3a3c5 <_sk_load_g8_sse2_lowp+0x39>
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,147,0,0,0                 // lea           0x93(%rip),%r9        # 3a444 <_sk_load_g8_sse2_lowp+0xb8>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  102,15,110,192                      // movd          %eax,%xmm0
+  .byte  235,97                              // jmp           3a426 <_sk_load_g8_sse2_lowp+0x9a>
+  .byte  243,65,15,126,4,16                  // movq          (%r8,%rdx,1),%xmm0
+  .byte  102,15,96,192                       // punpcklbw     %xmm0,%xmm0
+  .byte  235,85                              // jmp           3a426 <_sk_load_g8_sse2_lowp+0x9a>
+  .byte  65,15,182,68,16,2                   // movzbl        0x2(%r8,%rdx,1),%eax
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  102,15,196,192,2                    // pinsrw        $0x2,%eax,%xmm0
+  .byte  65,15,183,4,16                      // movzwl        (%r8,%rdx,1),%eax
+  .byte  102,15,110,200                      // movd          %eax,%xmm1
+  .byte  102,15,96,200                       // punpcklbw     %xmm0,%xmm1
+  .byte  243,15,16,193                       // movss         %xmm1,%xmm0
+  .byte  235,51                              // jmp           3a426 <_sk_load_g8_sse2_lowp+0x9a>
+  .byte  65,15,182,68,16,6                   // movzbl        0x6(%r8,%rdx,1),%eax
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  102,15,196,192,6                    // pinsrw        $0x6,%eax,%xmm0
+  .byte  65,15,182,68,16,5                   // movzbl        0x5(%r8,%rdx,1),%eax
+  .byte  102,15,196,192,5                    // pinsrw        $0x5,%eax,%xmm0
+  .byte  65,15,182,68,16,4                   // movzbl        0x4(%r8,%rdx,1),%eax
+  .byte  102,15,196,192,4                    // pinsrw        $0x4,%eax,%xmm0
+  .byte  102,65,15,110,12,16                 // movd          (%r8,%rdx,1),%xmm1
+  .byte  102,15,96,200                       // punpcklbw     %xmm0,%xmm1
+  .byte  242,15,16,193                       // movsd         %xmm1,%xmm0
+  .byte  102,15,219,5,130,42,0,0             // pand          0x2a82(%rip),%xmm0        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,29,121,42,0,0                 // movaps        0x2a79(%rip),%xmm3        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
+  .byte  102,15,111,208                      // movdqa        %xmm0,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+  .byte  15,31,0                             // nopl          (%rax)
+  .byte  118,255                             // jbe           3a445 <_sk_load_g8_sse2_lowp+0xb9>
+  .byte  255                                 // (bad)
+  .byte  255,156,255,255,255,141,255         // lcall         *-0x720001(%rdi,%rdi,8)
+  .byte  255                                 // (bad)
+  .byte  255,212                             // callq         *%rsp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,201                             // dec           %ecx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  190,255,255,255,175                 // mov           $0xafffffff,%esi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_load_g8_dst_sse2_lowp
+.globl _sk_load_g8_dst_sse2_lowp
+FUNCTION(_sk_load_g8_dst_sse2_lowp)
+_sk_load_g8_dst_sse2_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,34                              // ja            3a499 <_sk_load_g8_dst_sse2_lowp+0x39>
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,147,0,0,0                 // lea           0x93(%rip),%r9        # 3a518 <_sk_load_g8_dst_sse2_lowp+0xb8>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  102,15,110,224                      // movd          %eax,%xmm4
+  .byte  235,97                              // jmp           3a4fa <_sk_load_g8_dst_sse2_lowp+0x9a>
+  .byte  243,65,15,126,36,16                 // movq          (%r8,%rdx,1),%xmm4
+  .byte  102,15,96,224                       // punpcklbw     %xmm0,%xmm4
+  .byte  235,85                              // jmp           3a4fa <_sk_load_g8_dst_sse2_lowp+0x9a>
+  .byte  65,15,182,68,16,2                   // movzbl        0x2(%r8,%rdx,1),%eax
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  102,15,196,224,2                    // pinsrw        $0x2,%eax,%xmm4
+  .byte  65,15,183,4,16                      // movzwl        (%r8,%rdx,1),%eax
+  .byte  102,15,110,232                      // movd          %eax,%xmm5
+  .byte  102,15,96,232                       // punpcklbw     %xmm0,%xmm5
+  .byte  243,15,16,229                       // movss         %xmm5,%xmm4
+  .byte  235,51                              // jmp           3a4fa <_sk_load_g8_dst_sse2_lowp+0x9a>
+  .byte  65,15,182,68,16,6                   // movzbl        0x6(%r8,%rdx,1),%eax
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  102,15,196,224,6                    // pinsrw        $0x6,%eax,%xmm4
+  .byte  65,15,182,68,16,5                   // movzbl        0x5(%r8,%rdx,1),%eax
+  .byte  102,15,196,224,5                    // pinsrw        $0x5,%eax,%xmm4
+  .byte  65,15,182,68,16,4                   // movzbl        0x4(%r8,%rdx,1),%eax
+  .byte  102,15,196,224,4                    // pinsrw        $0x4,%eax,%xmm4
+  .byte  102,65,15,110,44,16                 // movd          (%r8,%rdx,1),%xmm5
+  .byte  102,15,96,232                       // punpcklbw     %xmm0,%xmm5
+  .byte  242,15,16,229                       // movsd         %xmm5,%xmm4
+  .byte  102,15,219,37,174,41,0,0            // pand          0x29ae(%rip),%xmm4        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,61,165,41,0,0                 // movaps        0x29a5(%rip),%xmm7        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,15,111,236                      // movdqa        %xmm4,%xmm5
+  .byte  102,15,111,244                      // movdqa        %xmm4,%xmm6
+  .byte  255,224                             // jmpq          *%rax
+  .byte  15,31,0                             // nopl          (%rax)
+  .byte  118,255                             // jbe           3a519 <_sk_load_g8_dst_sse2_lowp+0xb9>
+  .byte  255                                 // (bad)
+  .byte  255,156,255,255,255,141,255         // lcall         *-0x720001(%rdi,%rdi,8)
+  .byte  255                                 // (bad)
+  .byte  255,212                             // callq         *%rsp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,201                             // dec           %ecx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  190,255,255,255,175                 // mov           $0xafffffff,%esi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_luminance_to_alpha_sse2_lowp
+.globl _sk_luminance_to_alpha_sse2_lowp
+FUNCTION(_sk_luminance_to_alpha_sse2_lowp)
+_sk_luminance_to_alpha_sse2_lowp:
+  .byte  102,15,111,218                      // movdqa        %xmm2,%xmm3
+  .byte  102,15,213,5,208,49,0,0             // pmullw        0x31d0(%rip),%xmm0        # 3d710 <_sk_srcover_bgra_8888_sse2_lowp+0x14c4>
+  .byte  102,15,213,13,216,49,0,0            // pmullw        0x31d8(%rip),%xmm1        # 3d720 <_sk_srcover_bgra_8888_sse2_lowp+0x14d4>
+  .byte  102,15,253,200                      // paddw         %xmm0,%xmm1
+  .byte  102,15,213,29,220,49,0,0            // pmullw        0x31dc(%rip),%xmm3        # 3d730 <_sk_srcover_bgra_8888_sse2_lowp+0x14e4>
+  .byte  102,15,253,217                      // paddw         %xmm1,%xmm3
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  102,15,239,210                      // pxor          %xmm2,%xmm2
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_gather_g8_sse2_lowp
+.globl _sk_gather_g8_sse2_lowp
+FUNCTION(_sk_gather_g8_sse2_lowp)
+_sk_gather_g8_sse2_lowp:
+  .byte  85                                  // push          %rbp
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,72,12                  // movss         0xc(%rax),%xmm9
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  102,69,15,118,210                   // pcmpeqd       %xmm10,%xmm10
+  .byte  102,69,15,254,202                   // paddd         %xmm10,%xmm9
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  65,15,95,192                        // maxps         %xmm8,%xmm0
+  .byte  65,15,95,200                        // maxps         %xmm8,%xmm1
+  .byte  65,15,93,201                        // minps         %xmm9,%xmm1
+  .byte  65,15,93,193                        // minps         %xmm9,%xmm0
+  .byte  243,68,15,16,72,16                  // movss         0x10(%rax),%xmm9
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  102,69,15,254,202                   // paddd         %xmm10,%xmm9
+  .byte  65,15,95,216                        // maxps         %xmm8,%xmm3
+  .byte  65,15,95,208                        // maxps         %xmm8,%xmm2
+  .byte  65,15,93,209                        // minps         %xmm9,%xmm2
+  .byte  65,15,93,217                        // minps         %xmm9,%xmm3
+  .byte  243,68,15,91,203                    // cvttps2dq     %xmm3,%xmm9
+  .byte  243,68,15,91,210                    // cvttps2dq     %xmm2,%xmm10
+  .byte  102,15,110,88,8                     // movd          0x8(%rax),%xmm3
+  .byte  102,15,112,219,0                    // pshufd        $0x0,%xmm3,%xmm3
+  .byte  102,69,15,112,218,245               // pshufd        $0xf5,%xmm10,%xmm11
+  .byte  102,68,15,244,219                   // pmuludq       %xmm3,%xmm11
+  .byte  102,68,15,111,227                   // movdqa        %xmm3,%xmm12
+  .byte  102,69,15,112,233,245               // pshufd        $0xf5,%xmm9,%xmm13
+  .byte  102,68,15,244,235                   // pmuludq       %xmm3,%xmm13
+  .byte  102,65,15,244,218                   // pmuludq       %xmm10,%xmm3
+  .byte  102,15,112,219,232                  // pshufd        $0xe8,%xmm3,%xmm3
+  .byte  102,65,15,112,211,232               // pshufd        $0xe8,%xmm11,%xmm2
+  .byte  102,15,98,218                       // punpckldq     %xmm2,%xmm3
+  .byte  76,139,16                           // mov           (%rax),%r10
+  .byte  102,69,15,244,225                   // pmuludq       %xmm9,%xmm12
+  .byte  102,69,15,112,204,232               // pshufd        $0xe8,%xmm12,%xmm9
+  .byte  102,65,15,112,213,232               // pshufd        $0xe8,%xmm13,%xmm2
+  .byte  102,68,15,98,202                    // punpckldq     %xmm2,%xmm9
+  .byte  243,15,91,192                       // cvttps2dq     %xmm0,%xmm0
+  .byte  102,15,254,195                      // paddd         %xmm3,%xmm0
+  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
+  .byte  102,65,15,254,201                   // paddd         %xmm9,%xmm1
+  .byte  102,15,112,209,78                   // pshufd        $0x4e,%xmm1,%xmm2
+  .byte  102,73,15,126,208                   // movq          %xmm2,%r8
+  .byte  69,137,193                          // mov           %r8d,%r9d
+  .byte  73,193,232,32                       // shr           $0x20,%r8
+  .byte  102,72,15,126,200                   // movq          %xmm1,%rax
+  .byte  65,137,195                          // mov           %eax,%r11d
+  .byte  72,193,232,32                       // shr           $0x20,%rax
+  .byte  102,72,15,126,195                   // movq          %xmm0,%rbx
+  .byte  65,137,222                          // mov           %ebx,%r14d
+  .byte  72,193,235,32                       // shr           $0x20,%rbx
+  .byte  102,15,112,192,78                   // pshufd        $0x4e,%xmm0,%xmm0
+  .byte  102,73,15,126,199                   // movq          %xmm0,%r15
+  .byte  69,137,252                          // mov           %r15d,%r12d
+  .byte  73,193,239,32                       // shr           $0x20,%r15
+  .byte  71,15,182,36,34                     // movzbl        (%r10,%r12,1),%r12d
+  .byte  67,15,182,44,58                     // movzbl        (%r10,%r15,1),%ebp
+  .byte  193,229,8                           // shl           $0x8,%ebp
+  .byte  68,9,229                            // or            %r12d,%ebp
+  .byte  71,15,182,52,50                     // movzbl        (%r10,%r14,1),%r14d
+  .byte  65,15,182,28,26                     // movzbl        (%r10,%rbx,1),%ebx
+  .byte  193,227,8                           // shl           $0x8,%ebx
+  .byte  68,9,243                            // or            %r14d,%ebx
+  .byte  102,15,110,195                      // movd          %ebx,%xmm0
+  .byte  102,15,196,197,1                    // pinsrw        $0x1,%ebp,%xmm0
+  .byte  67,15,182,44,26                     // movzbl        (%r10,%r11,1),%ebp
+  .byte  65,15,182,4,2                       // movzbl        (%r10,%rax,1),%eax
+  .byte  193,224,8                           // shl           $0x8,%eax
+  .byte  9,232                               // or            %ebp,%eax
+  .byte  102,15,196,192,2                    // pinsrw        $0x2,%eax,%xmm0
+  .byte  67,15,182,4,10                      // movzbl        (%r10,%r9,1),%eax
+  .byte  67,15,182,44,2                      // movzbl        (%r10,%r8,1),%ebp
+  .byte  193,229,8                           // shl           $0x8,%ebp
+  .byte  9,197                               // or            %eax,%ebp
+  .byte  102,15,196,197,3                    // pinsrw        $0x3,%ebp,%xmm0
+  .byte  102,65,15,96,192                    // punpcklbw     %xmm8,%xmm0
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,29,234,39,0,0                 // movaps        0x27ea(%rip),%xmm3        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
+  .byte  102,15,111,208                      // movdqa        %xmm0,%xmm2
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  93                                  // pop           %rbp
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_scale_1_float_sse2_lowp
+.globl _sk_scale_1_float_sse2_lowp
+FUNCTION(_sk_scale_1_float_sse2_lowp)
+_sk_scale_1_float_sse2_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,0                      // movss         (%rax),%xmm8
+  .byte  243,68,15,89,5,64,30,0,0            // mulss         0x1e40(%rip),%xmm8        # 3c528 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  .byte  243,68,15,88,5,7,30,0,0             // addss         0x1e07(%rip),%xmm8        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  243,65,15,44,192                    // cvttss2si     %xmm8,%eax
+  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
+  .byte  242,69,15,112,192,0                 // pshuflw       $0x0,%xmm8,%xmm8
+  .byte  102,69,15,112,192,80                // pshufd        $0x50,%xmm8,%xmm8
+  .byte  102,65,15,213,192                   // pmullw        %xmm8,%xmm0
+  .byte  102,68,15,111,13,155,39,0,0         // movdqa        0x279b(%rip),%xmm9        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,65,15,253,193                   // paddw         %xmm9,%xmm0
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,65,15,213,200                   // pmullw        %xmm8,%xmm1
+  .byte  102,65,15,253,201                   // paddw         %xmm9,%xmm1
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,65,15,213,208                   // pmullw        %xmm8,%xmm2
+  .byte  102,65,15,253,209                   // paddw         %xmm9,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,65,15,213,216                   // pmullw        %xmm8,%xmm3
+  .byte  102,65,15,253,217                   // paddw         %xmm9,%xmm3
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_lerp_1_float_sse2_lowp
+.globl _sk_lerp_1_float_sse2_lowp
+FUNCTION(_sk_lerp_1_float_sse2_lowp)
+_sk_lerp_1_float_sse2_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,68,15,16,0                      // movss         (%rax),%xmm8
+  .byte  243,68,15,89,5,200,29,0,0           // mulss         0x1dc8(%rip),%xmm8        # 3c528 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  .byte  243,68,15,88,5,143,29,0,0           // addss         0x1d8f(%rip),%xmm8        # 3c4f8 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  .byte  243,65,15,44,192                    // cvttss2si     %xmm8,%eax
+  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
+  .byte  242,69,15,112,192,0                 // pshuflw       $0x0,%xmm8,%xmm8
+  .byte  102,69,15,112,192,80                // pshufd        $0x50,%xmm8,%xmm8
+  .byte  102,68,15,111,13,40,39,0,0          // movdqa        0x2728(%rip),%xmm9        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,65,15,213,192                   // pmullw        %xmm8,%xmm0
+  .byte  102,65,15,253,193                   // paddw         %xmm9,%xmm0
+  .byte  102,65,15,213,200                   // pmullw        %xmm8,%xmm1
+  .byte  102,65,15,253,201                   // paddw         %xmm9,%xmm1
+  .byte  102,65,15,213,208                   // pmullw        %xmm8,%xmm2
+  .byte  102,65,15,253,209                   // paddw         %xmm9,%xmm2
+  .byte  102,65,15,213,216                   // pmullw        %xmm8,%xmm3
+  .byte  102,65,15,253,217                   // paddw         %xmm9,%xmm3
+  .byte  102,69,15,249,200                   // psubw         %xmm8,%xmm9
+  .byte  102,69,15,111,193                   // movdqa        %xmm9,%xmm8
+  .byte  102,68,15,213,196                   // pmullw        %xmm4,%xmm8
+  .byte  102,65,15,253,192                   // paddw         %xmm8,%xmm0
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,69,15,111,193                   // movdqa        %xmm9,%xmm8
+  .byte  102,68,15,213,197                   // pmullw        %xmm5,%xmm8
+  .byte  102,65,15,253,200                   // paddw         %xmm8,%xmm1
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,69,15,111,193                   // movdqa        %xmm9,%xmm8
+  .byte  102,68,15,213,198                   // pmullw        %xmm6,%xmm8
+  .byte  102,65,15,253,208                   // paddw         %xmm8,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,68,15,213,207                   // pmullw        %xmm7,%xmm9
+  .byte  102,65,15,253,217                   // paddw         %xmm9,%xmm3
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_scale_u8_sse2_lowp
+.globl _sk_scale_u8_sse2_lowp
+FUNCTION(_sk_scale_u8_sse2_lowp)
+_sk_scale_u8_sse2_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,36                              // ja            3a83f <_sk_scale_u8_sse2_lowp+0x3b>
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,218,0,0,0                 // lea           0xda(%rip),%r9        # 3a904 <_sk_scale_u8_sse2_lowp+0x100>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
+  .byte  235,109                             // jmp           3a8ac <_sk_scale_u8_sse2_lowp+0xa8>
+  .byte  243,69,15,126,4,16                  // movq          (%r8,%rdx,1),%xmm8
+  .byte  102,68,15,96,192                    // punpcklbw     %xmm0,%xmm8
+  .byte  235,96                              // jmp           3a8ac <_sk_scale_u8_sse2_lowp+0xa8>
+  .byte  65,15,182,68,16,2                   // movzbl        0x2(%r8,%rdx,1),%eax
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  102,68,15,196,192,2                 // pinsrw        $0x2,%eax,%xmm8
+  .byte  65,15,183,4,16                      // movzwl        (%r8,%rdx,1),%eax
+  .byte  102,68,15,110,200                   // movd          %eax,%xmm9
+  .byte  102,68,15,96,200                    // punpcklbw     %xmm0,%xmm9
+  .byte  243,69,15,16,193                    // movss         %xmm9,%xmm8
+  .byte  235,57                              // jmp           3a8ac <_sk_scale_u8_sse2_lowp+0xa8>
+  .byte  65,15,182,68,16,6                   // movzbl        0x6(%r8,%rdx,1),%eax
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  102,68,15,196,192,6                 // pinsrw        $0x6,%eax,%xmm8
+  .byte  65,15,182,68,16,5                   // movzbl        0x5(%r8,%rdx,1),%eax
+  .byte  102,68,15,196,192,5                 // pinsrw        $0x5,%eax,%xmm8
+  .byte  65,15,182,68,16,4                   // movzbl        0x4(%r8,%rdx,1),%eax
+  .byte  102,68,15,196,192,4                 // pinsrw        $0x4,%eax,%xmm8
+  .byte  102,69,15,110,12,16                 // movd          (%r8,%rdx,1),%xmm9
+  .byte  102,68,15,96,200                    // punpcklbw     %xmm0,%xmm9
+  .byte  242,69,15,16,193                    // movsd         %xmm9,%xmm8
+  .byte  102,68,15,219,5,251,37,0,0          // pand          0x25fb(%rip),%xmm8        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,65,15,213,192                   // pmullw        %xmm8,%xmm0
+  .byte  102,68,15,111,13,237,37,0,0         // movdqa        0x25ed(%rip),%xmm9        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,65,15,253,193                   // paddw         %xmm9,%xmm0
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,65,15,213,200                   // pmullw        %xmm8,%xmm1
+  .byte  102,65,15,253,201                   // paddw         %xmm9,%xmm1
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,65,15,213,208                   // pmullw        %xmm8,%xmm2
+  .byte  102,65,15,253,209                   // paddw         %xmm9,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,68,15,213,195                   // pmullw        %xmm3,%xmm8
+  .byte  102,69,15,253,193                   // paddw         %xmm9,%xmm8
+  .byte  102,65,15,113,208,8                 // psrlw         $0x8,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,65,15,111,216                   // movdqa        %xmm8,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+  .byte  47                                  // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,89,255                          // lcall         *-0x1(%rcx)
+  .byte  255                                 // (bad)
+  .byte  255,72,255                          // decl          -0x1(%rax)
+  .byte  255                                 // (bad)
+  .byte  255,152,255,255,255,140             // lcall         *-0x73000001(%rax)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,128,255,255,255,111             // incl          0x6fffffff(%rax)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_lerp_u8_sse2_lowp
+.globl _sk_lerp_u8_sse2_lowp
+FUNCTION(_sk_lerp_u8_sse2_lowp)
+_sk_lerp_u8_sse2_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,36                              // ja            3a95b <_sk_lerp_u8_sse2_lowp+0x3b>
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,30,1,0,0                  // lea           0x11e(%rip),%r9        # 3aa64 <_sk_lerp_u8_sse2_lowp+0x144>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,182,4,16                      // movzbl        (%r8,%rdx,1),%eax
+  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
+  .byte  235,109                             // jmp           3a9c8 <_sk_lerp_u8_sse2_lowp+0xa8>
+  .byte  243,69,15,126,4,16                  // movq          (%r8,%rdx,1),%xmm8
+  .byte  102,68,15,96,192                    // punpcklbw     %xmm0,%xmm8
+  .byte  235,96                              // jmp           3a9c8 <_sk_lerp_u8_sse2_lowp+0xa8>
+  .byte  65,15,182,68,16,2                   // movzbl        0x2(%r8,%rdx,1),%eax
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  102,68,15,196,192,2                 // pinsrw        $0x2,%eax,%xmm8
+  .byte  65,15,183,4,16                      // movzwl        (%r8,%rdx,1),%eax
+  .byte  102,68,15,110,200                   // movd          %eax,%xmm9
+  .byte  102,68,15,96,200                    // punpcklbw     %xmm0,%xmm9
+  .byte  243,69,15,16,193                    // movss         %xmm9,%xmm8
+  .byte  235,57                              // jmp           3a9c8 <_sk_lerp_u8_sse2_lowp+0xa8>
+  .byte  65,15,182,68,16,6                   // movzbl        0x6(%r8,%rdx,1),%eax
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  102,68,15,196,192,6                 // pinsrw        $0x6,%eax,%xmm8
+  .byte  65,15,182,68,16,5                   // movzbl        0x5(%r8,%rdx,1),%eax
+  .byte  102,68,15,196,192,5                 // pinsrw        $0x5,%eax,%xmm8
+  .byte  65,15,182,68,16,4                   // movzbl        0x4(%r8,%rdx,1),%eax
+  .byte  102,68,15,196,192,4                 // pinsrw        $0x4,%eax,%xmm8
+  .byte  102,69,15,110,12,16                 // movd          (%r8,%rdx,1),%xmm9
+  .byte  102,68,15,96,200                    // punpcklbw     %xmm0,%xmm9
+  .byte  242,69,15,16,193                    // movsd         %xmm9,%xmm8
+  .byte  102,68,15,219,5,223,36,0,0          // pand          0x24df(%rip),%xmm8        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,68,15,111,21,214,36,0,0         // movdqa        0x24d6(%rip),%xmm10        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,69,15,111,200                   // movdqa        %xmm8,%xmm9
+  .byte  102,69,15,239,202                   // pxor          %xmm10,%xmm9
+  .byte  102,69,15,111,217                   // movdqa        %xmm9,%xmm11
+  .byte  102,68,15,213,220                   // pmullw        %xmm4,%xmm11
+  .byte  102,65,15,213,192                   // pmullw        %xmm8,%xmm0
+  .byte  102,65,15,253,194                   // paddw         %xmm10,%xmm0
+  .byte  102,65,15,253,195                   // paddw         %xmm11,%xmm0
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,69,15,111,217                   // movdqa        %xmm9,%xmm11
+  .byte  102,68,15,213,221                   // pmullw        %xmm5,%xmm11
+  .byte  102,65,15,213,200                   // pmullw        %xmm8,%xmm1
+  .byte  102,65,15,253,202                   // paddw         %xmm10,%xmm1
+  .byte  102,65,15,253,203                   // paddw         %xmm11,%xmm1
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,69,15,111,217                   // movdqa        %xmm9,%xmm11
+  .byte  102,68,15,213,222                   // pmullw        %xmm6,%xmm11
+  .byte  102,65,15,213,208                   // pmullw        %xmm8,%xmm2
+  .byte  102,65,15,253,210                   // paddw         %xmm10,%xmm2
+  .byte  102,65,15,253,211                   // paddw         %xmm11,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,68,15,213,207                   // pmullw        %xmm7,%xmm9
+  .byte  102,68,15,213,195                   // pmullw        %xmm3,%xmm8
+  .byte  102,69,15,253,194                   // paddw         %xmm10,%xmm8
+  .byte  102,69,15,253,193                   // paddw         %xmm9,%xmm8
+  .byte  102,65,15,113,208,8                 // psrlw         $0x8,%xmm8
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,65,15,111,216                   // movdqa        %xmm8,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+  .byte  15,31,0                             // nopl          (%rax)
+  .byte  235,254                             // jmp           3aa64 <_sk_lerp_u8_sse2_lowp+0x144>
+  .byte  255                                 // (bad)
+  .byte  255,21,255,255,255,4                // callq         *0x4ffffff(%rip)        # 503aa6c <_sk_srcover_bgra_8888_sse2_lowp+0x4ffe820>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,84,255,255                      // callq         *-0x1(%rdi,%rdi,8)
+  .byte  255,72,255                          // decl          -0x1(%rax)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  60,255                              // cmp           $0xff,%al
+  .byte  255                                 // (bad)
+  .byte  255,43                              // ljmp          *(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_scale_565_sse2_lowp
+.globl _sk_scale_565_sse2_lowp
+FUNCTION(_sk_scale_565_sse2_lowp)
+_sk_scale_565_sse2_lowp:
+  .byte  102,15,127,116,36,232               // movdqa        %xmm6,-0x18(%rsp)
+  .byte  15,41,108,36,216                    // movaps        %xmm5,-0x28(%rsp)
+  .byte  102,15,111,232                      // movdqa        %xmm0,%xmm5
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,34                              // ja            3aacb <_sk_scale_565_sse2_lowp+0x4b>
+  .byte  102,15,239,246                      // pxor          %xmm6,%xmm6
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,229,1,0,0                 // lea           0x1e5(%rip),%r9        # 3ac9c <_sk_scale_565_sse2_lowp+0x21c>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  102,15,110,240                      // movd          %eax,%xmm6
+  .byte  235,67                              // jmp           3ab0e <_sk_scale_565_sse2_lowp+0x8e>
+  .byte  243,65,15,111,52,80                 // movdqu        (%r8,%rdx,2),%xmm6
+  .byte  235,59                              // jmp           3ab0e <_sk_scale_565_sse2_lowp+0x8e>
+  .byte  102,15,239,246                      // pxor          %xmm6,%xmm6
+  .byte  102,65,15,196,116,80,4,2            // pinsrw        $0x2,0x4(%r8,%rdx,2),%xmm6
+  .byte  243,69,15,16,12,80                  // movss         (%r8,%rdx,2),%xmm9
+  .byte  243,65,15,16,241                    // movss         %xmm9,%xmm6
+  .byte  235,34                              // jmp           3ab0e <_sk_scale_565_sse2_lowp+0x8e>
+  .byte  102,15,239,246                      // pxor          %xmm6,%xmm6
+  .byte  102,65,15,196,116,80,12,6           // pinsrw        $0x6,0xc(%r8,%rdx,2),%xmm6
+  .byte  102,65,15,196,116,80,10,5           // pinsrw        $0x5,0xa(%r8,%rdx,2),%xmm6
+  .byte  102,65,15,196,116,80,8,4            // pinsrw        $0x4,0x8(%r8,%rdx,2),%xmm6
+  .byte  102,65,15,18,52,80                  // movlpd        (%r8,%rdx,2),%xmm6
+  .byte  102,68,15,111,222                   // movdqa        %xmm6,%xmm11
+  .byte  102,65,15,113,211,8                 // psrlw         $0x8,%xmm11
+  .byte  102,68,15,219,29,94,43,0,0          // pand          0x2b5e(%rip),%xmm11        # 3d680 <_sk_srcover_bgra_8888_sse2_lowp+0x1434>
+  .byte  102,68,15,111,206                   // movdqa        %xmm6,%xmm9
+  .byte  102,65,15,113,209,5                 // psrlw         $0x5,%xmm9
+  .byte  102,68,15,219,13,90,43,0,0          // pand          0x2b5a(%rip),%xmm9        # 3d690 <_sk_srcover_bgra_8888_sse2_lowp+0x1444>
+  .byte  102,68,15,111,21,97,43,0,0          // movdqa        0x2b61(%rip),%xmm10        # 3d6a0 <_sk_srcover_bgra_8888_sse2_lowp+0x1454>
+  .byte  102,68,15,219,214                   // pand          %xmm6,%xmm10
+  .byte  102,15,113,214,13                   // psrlw         $0xd,%xmm6
+  .byte  102,65,15,235,243                   // por           %xmm11,%xmm6
+  .byte  102,69,15,111,217                   // movdqa        %xmm9,%xmm11
+  .byte  102,65,15,113,243,2                 // psllw         $0x2,%xmm11
+  .byte  102,65,15,113,209,4                 // psrlw         $0x4,%xmm9
+  .byte  102,69,15,235,203                   // por           %xmm11,%xmm9
+  .byte  102,69,15,111,218                   // movdqa        %xmm10,%xmm11
+  .byte  102,65,15,113,243,3                 // psllw         $0x3,%xmm11
+  .byte  102,65,15,113,210,2                 // psrlw         $0x2,%xmm10
+  .byte  102,69,15,235,211                   // por           %xmm11,%xmm10
+  .byte  102,68,15,111,37,189,42,0,0         // movdqa        0x2abd(%rip),%xmm12        # 3d640 <_sk_srcover_bgra_8888_sse2_lowp+0x13f4>
+  .byte  102,68,15,111,235                   // movdqa        %xmm3,%xmm13
+  .byte  102,69,15,239,236                   // pxor          %xmm12,%xmm13
+  .byte  102,68,15,111,223                   // movdqa        %xmm7,%xmm11
+  .byte  102,69,15,239,220                   // pxor          %xmm12,%xmm11
+  .byte  102,69,15,101,221                   // pcmpgtw       %xmm13,%xmm11
+  .byte  102,69,15,111,234                   // movdqa        %xmm10,%xmm13
+  .byte  102,69,15,239,236                   // pxor          %xmm12,%xmm13
+  .byte  102,69,15,111,241                   // movdqa        %xmm9,%xmm14
+  .byte  102,69,15,239,244                   // pxor          %xmm12,%xmm14
+  .byte  102,69,15,101,238                   // pcmpgtw       %xmm14,%xmm13
+  .byte  102,69,15,111,245                   // movdqa        %xmm13,%xmm14
+  .byte  102,69,15,223,242                   // pandn         %xmm10,%xmm14
+  .byte  102,69,15,111,249                   // movdqa        %xmm9,%xmm15
+  .byte  102,69,15,219,253                   // pand          %xmm13,%xmm15
+  .byte  102,69,15,235,254                   // por           %xmm14,%xmm15
+  .byte  102,69,15,111,247                   // movdqa        %xmm15,%xmm14
+  .byte  102,69,15,239,244                   // pxor          %xmm12,%xmm14
+  .byte  102,68,15,111,198                   // movdqa        %xmm6,%xmm8
+  .byte  102,69,15,235,196                   // por           %xmm12,%xmm8
+  .byte  102,69,15,101,240                   // pcmpgtw       %xmm8,%xmm14
+  .byte  102,15,111,198                      // movdqa        %xmm6,%xmm0
+  .byte  102,65,15,219,198                   // pand          %xmm14,%xmm0
+  .byte  102,69,15,223,247                   // pandn         %xmm15,%xmm14
+  .byte  102,68,15,235,240                   // por           %xmm0,%xmm14
+  .byte  102,65,15,111,194                   // movdqa        %xmm10,%xmm0
+  .byte  102,65,15,219,197                   // pand          %xmm13,%xmm0
+  .byte  102,69,15,223,233                   // pandn         %xmm9,%xmm13
+  .byte  102,68,15,235,232                   // por           %xmm0,%xmm13
+  .byte  102,69,15,239,229                   // pxor          %xmm13,%xmm12
+  .byte  102,69,15,101,224                   // pcmpgtw       %xmm8,%xmm12
+  .byte  102,69,15,219,236                   // pand          %xmm12,%xmm13
+  .byte  102,68,15,223,230                   // pandn         %xmm6,%xmm12
+  .byte  102,69,15,235,229                   // por           %xmm13,%xmm12
+  .byte  102,69,15,219,243                   // pand          %xmm11,%xmm14
+  .byte  102,69,15,223,220                   // pandn         %xmm12,%xmm11
+  .byte  102,69,15,235,222                   // por           %xmm14,%xmm11
+  .byte  102,15,213,245                      // pmullw        %xmm5,%xmm6
+  .byte  102,68,15,213,201                   // pmullw        %xmm1,%xmm9
+  .byte  102,68,15,213,210                   // pmullw        %xmm2,%xmm10
+  .byte  102,68,15,213,219                   // pmullw        %xmm3,%xmm11
+  .byte  102,15,111,5,95,34,0,0              // movdqa        0x225f(%rip),%xmm0        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,15,253,240                      // paddw         %xmm0,%xmm6
+  .byte  102,68,15,253,200                   // paddw         %xmm0,%xmm9
+  .byte  102,68,15,253,208                   // paddw         %xmm0,%xmm10
+  .byte  102,68,15,253,216                   // paddw         %xmm0,%xmm11
+  .byte  102,15,113,214,8                    // psrlw         $0x8,%xmm6
+  .byte  102,65,15,113,209,8                 // psrlw         $0x8,%xmm9
+  .byte  102,65,15,113,210,8                 // psrlw         $0x8,%xmm10
+  .byte  102,65,15,113,211,8                 // psrlw         $0x8,%xmm11
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,15,111,198                      // movdqa        %xmm6,%xmm0
+  .byte  102,65,15,111,201                   // movdqa        %xmm9,%xmm1
+  .byte  102,65,15,111,210                   // movdqa        %xmm10,%xmm2
+  .byte  102,65,15,111,219                   // movdqa        %xmm11,%xmm3
+  .byte  15,40,108,36,216                    // movaps        -0x28(%rsp),%xmm5
+  .byte  15,40,116,36,232                    // movaps        -0x18(%rsp),%xmm6
+  .byte  255,224                             // jmpq          *%rax
+  .byte  36,254                              // and           $0xfe,%al
+  .byte  255                                 // (bad)
+  .byte  255,67,254                          // incl          -0x2(%rbx)
+  .byte  255                                 // (bad)
+  .byte  255,55                              // pushq         (%rdi)
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,108,254,255                     // ljmp          *-0x1(%rsi,%rdi,8)
+  .byte  255,100,254,255                     // jmpq          *-0x1(%rsi,%rdi,8)
+  .byte  255,92,254,255                      // lcall         *-0x1(%rsi,%rdi,8)
+  .byte  255,80,254                          // callq         *-0x2(%rax)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_lerp_565_sse2_lowp
+.globl _sk_lerp_565_sse2_lowp
+FUNCTION(_sk_lerp_565_sse2_lowp)
+_sk_lerp_565_sse2_lowp:
+  .byte  102,15,127,84,36,232                // movdqa        %xmm2,-0x18(%rsp)
+  .byte  15,41,76,36,216                     // movaps        %xmm1,-0x28(%rsp)
+  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  77,1,192                            // add           %r8,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  137,248                             // mov           %edi,%eax
+  .byte  36,7                                // and           $0x7,%al
+  .byte  254,200                             // dec           %al
+  .byte  60,6                                // cmp           $0x6,%al
+  .byte  119,34                              // ja            3ad03 <_sk_lerp_565_sse2_lowp+0x4b>
+  .byte  102,15,239,210                      // pxor          %xmm2,%xmm2
+  .byte  15,182,192                          // movzbl        %al,%eax
+  .byte  76,141,13,45,2,0,0                  // lea           0x22d(%rip),%r9        # 3af1c <_sk_lerp_565_sse2_lowp+0x264>
+  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
+  .byte  76,1,200                            // add           %r9,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  65,15,183,4,80                      // movzwl        (%r8,%rdx,2),%eax
+  .byte  102,15,110,208                      // movd          %eax,%xmm2
+  .byte  235,67                              // jmp           3ad46 <_sk_lerp_565_sse2_lowp+0x8e>
+  .byte  243,65,15,111,20,80                 // movdqu        (%r8,%rdx,2),%xmm2
+  .byte  235,59                              // jmp           3ad46 <_sk_lerp_565_sse2_lowp+0x8e>
+  .byte  102,15,239,210                      // pxor          %xmm2,%xmm2
+  .byte  102,65,15,196,84,80,4,2             // pinsrw        $0x2,0x4(%r8,%rdx,2),%xmm2
+  .byte  243,69,15,16,12,80                  // movss         (%r8,%rdx,2),%xmm9
+  .byte  243,65,15,16,209                    // movss         %xmm9,%xmm2
+  .byte  235,34                              // jmp           3ad46 <_sk_lerp_565_sse2_lowp+0x8e>
+  .byte  102,15,239,210                      // pxor          %xmm2,%xmm2
+  .byte  102,65,15,196,84,80,12,6            // pinsrw        $0x6,0xc(%r8,%rdx,2),%xmm2
+  .byte  102,65,15,196,84,80,10,5            // pinsrw        $0x5,0xa(%r8,%rdx,2),%xmm2
+  .byte  102,65,15,196,84,80,8,4             // pinsrw        $0x4,0x8(%r8,%rdx,2),%xmm2
+  .byte  102,65,15,18,20,80                  // movlpd        (%r8,%rdx,2),%xmm2
+  .byte  102,68,15,111,218                   // movdqa        %xmm2,%xmm11
+  .byte  102,65,15,113,211,8                 // psrlw         $0x8,%xmm11
+  .byte  102,68,15,219,29,38,41,0,0          // pand          0x2926(%rip),%xmm11        # 3d680 <_sk_srcover_bgra_8888_sse2_lowp+0x1434>
+  .byte  102,68,15,111,202                   // movdqa        %xmm2,%xmm9
+  .byte  102,65,15,113,209,5                 // psrlw         $0x5,%xmm9
+  .byte  102,68,15,219,13,34,41,0,0          // pand          0x2922(%rip),%xmm9        # 3d690 <_sk_srcover_bgra_8888_sse2_lowp+0x1444>
+  .byte  102,68,15,111,21,41,41,0,0          // movdqa        0x2929(%rip),%xmm10        # 3d6a0 <_sk_srcover_bgra_8888_sse2_lowp+0x1454>
+  .byte  102,68,15,219,210                   // pand          %xmm2,%xmm10
+  .byte  102,15,113,210,13                   // psrlw         $0xd,%xmm2
+  .byte  102,65,15,235,211                   // por           %xmm11,%xmm2
+  .byte  102,69,15,111,217                   // movdqa        %xmm9,%xmm11
+  .byte  102,65,15,113,243,2                 // psllw         $0x2,%xmm11
+  .byte  102,65,15,113,209,4                 // psrlw         $0x4,%xmm9
+  .byte  102,69,15,235,203                   // por           %xmm11,%xmm9
+  .byte  102,69,15,111,218                   // movdqa        %xmm10,%xmm11
+  .byte  102,65,15,113,243,3                 // psllw         $0x3,%xmm11
+  .byte  102,65,15,113,210,2                 // psrlw         $0x2,%xmm10
+  .byte  102,69,15,235,211                   // por           %xmm11,%xmm10
+  .byte  102,68,15,111,37,133,40,0,0         // movdqa        0x2885(%rip),%xmm12        # 3d640 <_sk_srcover_bgra_8888_sse2_lowp+0x13f4>
+  .byte  102,68,15,111,235                   // movdqa        %xmm3,%xmm13
+  .byte  102,69,15,239,236                   // pxor          %xmm12,%xmm13
+  .byte  102,68,15,111,223                   // movdqa        %xmm7,%xmm11
+  .byte  102,69,15,239,220                   // pxor          %xmm12,%xmm11
+  .byte  102,69,15,101,221                   // pcmpgtw       %xmm13,%xmm11
+  .byte  102,69,15,111,234                   // movdqa        %xmm10,%xmm13
+  .byte  102,69,15,239,236                   // pxor          %xmm12,%xmm13
+  .byte  102,69,15,111,241                   // movdqa        %xmm9,%xmm14
+  .byte  102,69,15,239,244                   // pxor          %xmm12,%xmm14
+  .byte  102,69,15,101,238                   // pcmpgtw       %xmm14,%xmm13
+  .byte  102,69,15,111,245                   // movdqa        %xmm13,%xmm14
+  .byte  102,69,15,223,242                   // pandn         %xmm10,%xmm14
+  .byte  102,69,15,111,249                   // movdqa        %xmm9,%xmm15
+  .byte  102,69,15,219,253                   // pand          %xmm13,%xmm15
+  .byte  102,69,15,235,254                   // por           %xmm14,%xmm15
+  .byte  102,69,15,111,247                   // movdqa        %xmm15,%xmm14
+  .byte  102,69,15,239,244                   // pxor          %xmm12,%xmm14
+  .byte  102,68,15,111,194                   // movdqa        %xmm2,%xmm8
+  .byte  102,69,15,235,196                   // por           %xmm12,%xmm8
+  .byte  102,69,15,101,240                   // pcmpgtw       %xmm8,%xmm14
+  .byte  102,15,111,194                      // movdqa        %xmm2,%xmm0
+  .byte  102,65,15,219,198                   // pand          %xmm14,%xmm0
+  .byte  102,69,15,223,247                   // pandn         %xmm15,%xmm14
+  .byte  102,68,15,235,240                   // por           %xmm0,%xmm14
+  .byte  102,65,15,111,194                   // movdqa        %xmm10,%xmm0
+  .byte  102,65,15,219,197                   // pand          %xmm13,%xmm0
+  .byte  102,69,15,223,233                   // pandn         %xmm9,%xmm13
+  .byte  102,68,15,235,232                   // por           %xmm0,%xmm13
+  .byte  102,69,15,239,229                   // pxor          %xmm13,%xmm12
+  .byte  102,69,15,101,224                   // pcmpgtw       %xmm8,%xmm12
+  .byte  102,69,15,219,236                   // pand          %xmm12,%xmm13
+  .byte  102,68,15,223,226                   // pandn         %xmm2,%xmm12
+  .byte  102,69,15,235,229                   // por           %xmm13,%xmm12
+  .byte  102,69,15,219,243                   // pand          %xmm11,%xmm14
+  .byte  102,69,15,223,220                   // pandn         %xmm12,%xmm11
+  .byte  102,69,15,235,222                   // por           %xmm14,%xmm11
+  .byte  102,15,111,194                      // movdqa        %xmm2,%xmm0
+  .byte  102,15,213,209                      // pmullw        %xmm1,%xmm2
+  .byte  102,68,15,111,5,49,32,0,0           // movdqa        0x2031(%rip),%xmm8        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,65,15,239,192                   // pxor          %xmm8,%xmm0
+  .byte  102,15,213,196                      // pmullw        %xmm4,%xmm0
+  .byte  102,65,15,253,208                   // paddw         %xmm8,%xmm2
+  .byte  102,15,253,208                      // paddw         %xmm0,%xmm2
+  .byte  102,65,15,111,193                   // movdqa        %xmm9,%xmm0
+  .byte  102,68,15,213,76,36,216             // pmullw        -0x28(%rsp),%xmm9
+  .byte  102,65,15,239,192                   // pxor          %xmm8,%xmm0
+  .byte  102,15,213,197                      // pmullw        %xmm5,%xmm0
+  .byte  102,69,15,253,200                   // paddw         %xmm8,%xmm9
+  .byte  102,68,15,253,200                   // paddw         %xmm0,%xmm9
+  .byte  102,65,15,111,194                   // movdqa        %xmm10,%xmm0
+  .byte  102,68,15,213,84,36,232             // pmullw        -0x18(%rsp),%xmm10
+  .byte  102,65,15,239,192                   // pxor          %xmm8,%xmm0
+  .byte  102,15,213,198                      // pmullw        %xmm6,%xmm0
+  .byte  102,69,15,253,208                   // paddw         %xmm8,%xmm10
+  .byte  102,68,15,253,208                   // paddw         %xmm0,%xmm10
+  .byte  102,65,15,111,195                   // movdqa        %xmm11,%xmm0
+  .byte  102,68,15,213,219                   // pmullw        %xmm3,%xmm11
+  .byte  102,65,15,239,192                   // pxor          %xmm8,%xmm0
+  .byte  102,69,15,253,216                   // paddw         %xmm8,%xmm11
+  .byte  102,15,213,199                      // pmullw        %xmm7,%xmm0
+  .byte  102,68,15,253,216                   // paddw         %xmm0,%xmm11
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,65,15,113,209,8                 // psrlw         $0x8,%xmm9
+  .byte  102,65,15,113,210,8                 // psrlw         $0x8,%xmm10
+  .byte  102,65,15,113,211,8                 // psrlw         $0x8,%xmm11
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,15,111,194                      // movdqa        %xmm2,%xmm0
+  .byte  102,65,15,111,201                   // movdqa        %xmm9,%xmm1
+  .byte  102,65,15,111,210                   // movdqa        %xmm10,%xmm2
+  .byte  102,65,15,111,219                   // movdqa        %xmm11,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  220,253                             // fdivr         %st,%st(5)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  251                                 // sti
+  .byte  253                                 // std
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  239                                 // out           %eax,(%dx)
+  .byte  253                                 // std
+  .byte  255                                 // (bad)
+  .byte  255,36,254                          // jmpq          *(%rsi,%rdi,8)
+  .byte  255                                 // (bad)
+  .byte  255,28,254                          // lcall         *(%rsi,%rdi,8)
+  .byte  255                                 // (bad)
+  .byte  255,20,254                          // callq         *(%rsi,%rdi,8)
+  .byte  255                                 // (bad)
+  .byte  255,8                               // decl          (%rax)
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_clamp_x_1_sse2_lowp
+.globl _sk_clamp_x_1_sse2_lowp
+FUNCTION(_sk_clamp_x_1_sse2_lowp)
+_sk_clamp_x_1_sse2_lowp:
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  65,15,95,200                        // maxps         %xmm8,%xmm1
+  .byte  65,15,95,192                        // maxps         %xmm8,%xmm0
+  .byte  68,15,40,5,196,31,0,0               // movaps        0x1fc4(%rip),%xmm8        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  65,15,93,192                        // minps         %xmm8,%xmm0
+  .byte  65,15,93,200                        // minps         %xmm8,%xmm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_repeat_x_1_sse2_lowp
+.globl _sk_repeat_x_1_sse2_lowp
+FUNCTION(_sk_repeat_x_1_sse2_lowp)
+_sk_repeat_x_1_sse2_lowp:
+  .byte  243,68,15,91,193                    // cvttps2dq     %xmm1,%xmm8
+  .byte  243,68,15,91,200                    // cvttps2dq     %xmm0,%xmm9
+  .byte  69,15,91,201                        // cvtdq2ps      %xmm9,%xmm9
+  .byte  69,15,91,192                        // cvtdq2ps      %xmm8,%xmm8
+  .byte  68,15,40,209                        // movaps        %xmm1,%xmm10
+  .byte  69,15,194,208,1                     // cmpltps       %xmm8,%xmm10
+  .byte  68,15,40,216                        // movaps        %xmm0,%xmm11
+  .byte  69,15,194,217,1                     // cmpltps       %xmm9,%xmm11
+  .byte  68,15,40,37,140,31,0,0              // movaps        0x1f8c(%rip),%xmm12        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,84,220                        // andps         %xmm12,%xmm11
+  .byte  69,15,84,212                        // andps         %xmm12,%xmm10
+  .byte  69,15,87,237                        // xorps         %xmm13,%xmm13
+  .byte  69,15,92,194                        // subps         %xmm10,%xmm8
+  .byte  69,15,92,203                        // subps         %xmm11,%xmm9
+  .byte  65,15,92,193                        // subps         %xmm9,%xmm0
+  .byte  65,15,92,200                        // subps         %xmm8,%xmm1
+  .byte  65,15,95,205                        // maxps         %xmm13,%xmm1
+  .byte  65,15,95,197                        // maxps         %xmm13,%xmm0
+  .byte  65,15,93,196                        // minps         %xmm12,%xmm0
+  .byte  65,15,93,204                        // minps         %xmm12,%xmm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_mirror_x_1_sse2_lowp
+.globl _sk_mirror_x_1_sse2_lowp
+FUNCTION(_sk_mirror_x_1_sse2_lowp)
+_sk_mirror_x_1_sse2_lowp:
+  .byte  68,15,40,5,180,31,0,0               // movaps        0x1fb4(%rip),%xmm8        # 3cf70 <_sk_srcover_bgra_8888_sse2_lowp+0xd24>
+  .byte  65,15,88,192                        // addps         %xmm8,%xmm0
+  .byte  65,15,88,200                        // addps         %xmm8,%xmm1
+  .byte  68,15,40,21,52,31,0,0               // movaps        0x1f34(%rip),%xmm10        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  68,15,40,217                        // movaps        %xmm1,%xmm11
+  .byte  69,15,89,218                        // mulps         %xmm10,%xmm11
+  .byte  68,15,89,208                        // mulps         %xmm0,%xmm10
+  .byte  243,69,15,91,202                    // cvttps2dq     %xmm10,%xmm9
+  .byte  243,69,15,91,227                    // cvttps2dq     %xmm11,%xmm12
+  .byte  69,15,91,228                        // cvtdq2ps      %xmm12,%xmm12
+  .byte  69,15,91,233                        // cvtdq2ps      %xmm9,%xmm13
+  .byte  69,15,194,213,1                     // cmpltps       %xmm13,%xmm10
+  .byte  69,15,194,220,1                     // cmpltps       %xmm12,%xmm11
+  .byte  68,15,40,13,20,31,0,0               // movaps        0x1f14(%rip),%xmm9        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,84,217                        // andps         %xmm9,%xmm11
+  .byte  69,15,84,209                        // andps         %xmm9,%xmm10
+  .byte  69,15,87,246                        // xorps         %xmm14,%xmm14
+  .byte  69,15,92,234                        // subps         %xmm10,%xmm13
+  .byte  69,15,92,227                        // subps         %xmm11,%xmm12
+  .byte  69,15,88,228                        // addps         %xmm12,%xmm12
+  .byte  69,15,88,237                        // addps         %xmm13,%xmm13
+  .byte  65,15,92,197                        // subps         %xmm13,%xmm0
+  .byte  65,15,92,204                        // subps         %xmm12,%xmm1
+  .byte  65,15,88,200                        // addps         %xmm8,%xmm1
+  .byte  65,15,88,192                        // addps         %xmm8,%xmm0
+  .byte  68,15,40,5,64,36,0,0                // movaps        0x2440(%rip),%xmm8        # 3d470 <_sk_srcover_bgra_8888_sse2_lowp+0x1224>
+  .byte  65,15,84,192                        // andps         %xmm8,%xmm0
+  .byte  65,15,84,200                        // andps         %xmm8,%xmm1
+  .byte  65,15,95,206                        // maxps         %xmm14,%xmm1
+  .byte  65,15,95,198                        // maxps         %xmm14,%xmm0
+  .byte  65,15,93,193                        // minps         %xmm9,%xmm0
+  .byte  65,15,93,201                        // minps         %xmm9,%xmm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_decal_x_sse2_lowp
+.globl _sk_decal_x_sse2_lowp
+FUNCTION(_sk_decal_x_sse2_lowp)
+_sk_decal_x_sse2_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,194,201,2                     // cmpleps       %xmm1,%xmm9
+  .byte  242,69,15,112,201,232               // pshuflw       $0xe8,%xmm9,%xmm9
+  .byte  243,69,15,112,201,232               // pshufhw       $0xe8,%xmm9,%xmm9
+  .byte  102,69,15,112,201,232               // pshufd        $0xe8,%xmm9,%xmm9
+  .byte  68,15,194,192,2                     // cmpleps       %xmm0,%xmm8
+  .byte  242,69,15,112,192,232               // pshuflw       $0xe8,%xmm8,%xmm8
+  .byte  243,69,15,112,192,232               // pshufhw       $0xe8,%xmm8,%xmm8
+  .byte  102,69,15,112,192,232               // pshufd        $0xe8,%xmm8,%xmm8
+  .byte  102,69,15,108,193                   // punpcklqdq    %xmm9,%xmm8
+  .byte  102,65,15,113,240,15                // psllw         $0xf,%xmm8
+  .byte  102,65,15,113,224,15                // psraw         $0xf,%xmm8
+  .byte  243,68,15,16,72,64                  // movss         0x40(%rax),%xmm9
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  68,15,40,209                        // movaps        %xmm1,%xmm10
+  .byte  69,15,194,209,1                     // cmpltps       %xmm9,%xmm10
+  .byte  242,69,15,112,210,232               // pshuflw       $0xe8,%xmm10,%xmm10
+  .byte  243,69,15,112,210,232               // pshufhw       $0xe8,%xmm10,%xmm10
+  .byte  102,69,15,112,210,232               // pshufd        $0xe8,%xmm10,%xmm10
+  .byte  68,15,40,216                        // movaps        %xmm0,%xmm11
+  .byte  69,15,194,217,1                     // cmpltps       %xmm9,%xmm11
+  .byte  242,69,15,112,203,232               // pshuflw       $0xe8,%xmm11,%xmm9
+  .byte  243,69,15,112,201,232               // pshufhw       $0xe8,%xmm9,%xmm9
+  .byte  102,69,15,112,201,232               // pshufd        $0xe8,%xmm9,%xmm9
+  .byte  102,69,15,108,202                   // punpcklqdq    %xmm10,%xmm9
+  .byte  102,65,15,113,241,15                // psllw         $0xf,%xmm9
+  .byte  102,65,15,113,225,15                // psraw         $0xf,%xmm9
+  .byte  102,69,15,219,200                   // pand          %xmm8,%xmm9
+  .byte  243,68,15,127,8                     // movdqu        %xmm9,(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_decal_y_sse2_lowp
+.globl _sk_decal_y_sse2_lowp
+FUNCTION(_sk_decal_y_sse2_lowp)
+_sk_decal_y_sse2_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,194,203,2                     // cmpleps       %xmm3,%xmm9
+  .byte  242,69,15,112,201,232               // pshuflw       $0xe8,%xmm9,%xmm9
+  .byte  243,69,15,112,201,232               // pshufhw       $0xe8,%xmm9,%xmm9
+  .byte  102,69,15,112,201,232               // pshufd        $0xe8,%xmm9,%xmm9
+  .byte  68,15,194,194,2                     // cmpleps       %xmm2,%xmm8
+  .byte  242,69,15,112,192,232               // pshuflw       $0xe8,%xmm8,%xmm8
+  .byte  243,69,15,112,192,232               // pshufhw       $0xe8,%xmm8,%xmm8
+  .byte  102,69,15,112,192,232               // pshufd        $0xe8,%xmm8,%xmm8
+  .byte  102,69,15,108,193                   // punpcklqdq    %xmm9,%xmm8
+  .byte  102,65,15,113,240,15                // psllw         $0xf,%xmm8
+  .byte  102,65,15,113,224,15                // psraw         $0xf,%xmm8
+  .byte  243,68,15,16,72,68                  // movss         0x44(%rax),%xmm9
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  68,15,40,211                        // movaps        %xmm3,%xmm10
+  .byte  69,15,194,209,1                     // cmpltps       %xmm9,%xmm10
+  .byte  242,69,15,112,210,232               // pshuflw       $0xe8,%xmm10,%xmm10
+  .byte  243,69,15,112,210,232               // pshufhw       $0xe8,%xmm10,%xmm10
+  .byte  102,69,15,112,210,232               // pshufd        $0xe8,%xmm10,%xmm10
+  .byte  68,15,40,218                        // movaps        %xmm2,%xmm11
+  .byte  69,15,194,217,1                     // cmpltps       %xmm9,%xmm11
+  .byte  242,69,15,112,203,232               // pshuflw       $0xe8,%xmm11,%xmm9
+  .byte  243,69,15,112,201,232               // pshufhw       $0xe8,%xmm9,%xmm9
+  .byte  102,69,15,112,201,232               // pshufd        $0xe8,%xmm9,%xmm9
+  .byte  102,69,15,108,202                   // punpcklqdq    %xmm10,%xmm9
+  .byte  102,65,15,113,241,15                // psllw         $0xf,%xmm9
+  .byte  102,65,15,113,225,15                // psraw         $0xf,%xmm9
+  .byte  102,69,15,219,200                   // pand          %xmm8,%xmm9
+  .byte  243,68,15,127,8                     // movdqu        %xmm9,(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_decal_x_and_y_sse2_lowp
+.globl _sk_decal_x_and_y_sse2_lowp
+FUNCTION(_sk_decal_x_and_y_sse2_lowp)
+_sk_decal_x_and_y_sse2_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  69,15,87,210                        // xorps         %xmm10,%xmm10
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  68,15,194,193,2                     // cmpleps       %xmm1,%xmm8
+  .byte  242,69,15,112,192,232               // pshuflw       $0xe8,%xmm8,%xmm8
+  .byte  243,69,15,112,192,232               // pshufhw       $0xe8,%xmm8,%xmm8
+  .byte  102,69,15,112,192,232               // pshufd        $0xe8,%xmm8,%xmm8
+  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
+  .byte  68,15,194,200,2                     // cmpleps       %xmm0,%xmm9
+  .byte  242,69,15,112,201,232               // pshuflw       $0xe8,%xmm9,%xmm9
+  .byte  243,69,15,112,201,232               // pshufhw       $0xe8,%xmm9,%xmm9
+  .byte  102,69,15,112,201,232               // pshufd        $0xe8,%xmm9,%xmm9
+  .byte  102,69,15,108,200                   // punpcklqdq    %xmm8,%xmm9
+  .byte  102,65,15,113,241,15                // psllw         $0xf,%xmm9
+  .byte  102,65,15,113,225,15                // psraw         $0xf,%xmm9
+  .byte  243,68,15,16,88,64                  // movss         0x40(%rax),%xmm11
+  .byte  243,68,15,16,64,68                  // movss         0x44(%rax),%xmm8
+  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
+  .byte  68,15,40,225                        // movaps        %xmm1,%xmm12
+  .byte  69,15,194,227,1                     // cmpltps       %xmm11,%xmm12
+  .byte  242,69,15,112,228,232               // pshuflw       $0xe8,%xmm12,%xmm12
+  .byte  243,69,15,112,228,232               // pshufhw       $0xe8,%xmm12,%xmm12
+  .byte  102,69,15,112,228,232               // pshufd        $0xe8,%xmm12,%xmm12
+  .byte  68,15,40,232                        // movaps        %xmm0,%xmm13
+  .byte  69,15,194,235,1                     // cmpltps       %xmm11,%xmm13
+  .byte  242,69,15,112,221,232               // pshuflw       $0xe8,%xmm13,%xmm11
+  .byte  243,69,15,112,219,232               // pshufhw       $0xe8,%xmm11,%xmm11
+  .byte  102,69,15,112,219,232               // pshufd        $0xe8,%xmm11,%xmm11
+  .byte  102,69,15,108,220                   // punpcklqdq    %xmm12,%xmm11
+  .byte  102,65,15,113,243,15                // psllw         $0xf,%xmm11
+  .byte  102,65,15,113,227,15                // psraw         $0xf,%xmm11
+  .byte  102,69,15,239,228                   // pxor          %xmm12,%xmm12
+  .byte  68,15,194,227,2                     // cmpleps       %xmm3,%xmm12
+  .byte  242,69,15,112,228,232               // pshuflw       $0xe8,%xmm12,%xmm12
+  .byte  243,69,15,112,228,232               // pshufhw       $0xe8,%xmm12,%xmm12
+  .byte  102,69,15,112,228,232               // pshufd        $0xe8,%xmm12,%xmm12
+  .byte  68,15,194,210,2                     // cmpleps       %xmm2,%xmm10
+  .byte  242,69,15,112,210,232               // pshuflw       $0xe8,%xmm10,%xmm10
+  .byte  243,69,15,112,210,232               // pshufhw       $0xe8,%xmm10,%xmm10
+  .byte  102,69,15,112,210,232               // pshufd        $0xe8,%xmm10,%xmm10
+  .byte  102,69,15,108,212                   // punpcklqdq    %xmm12,%xmm10
+  .byte  102,65,15,113,242,15                // psllw         $0xf,%xmm10
+  .byte  102,65,15,113,226,15                // psraw         $0xf,%xmm10
+  .byte  102,69,15,219,209                   // pand          %xmm9,%xmm10
+  .byte  102,69,15,219,211                   // pand          %xmm11,%xmm10
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  68,15,40,203                        // movaps        %xmm3,%xmm9
+  .byte  69,15,194,200,1                     // cmpltps       %xmm8,%xmm9
+  .byte  242,69,15,112,201,232               // pshuflw       $0xe8,%xmm9,%xmm9
+  .byte  243,69,15,112,201,232               // pshufhw       $0xe8,%xmm9,%xmm9
+  .byte  102,69,15,112,201,232               // pshufd        $0xe8,%xmm9,%xmm9
+  .byte  68,15,40,218                        // movaps        %xmm2,%xmm11
+  .byte  69,15,194,216,1                     // cmpltps       %xmm8,%xmm11
+  .byte  242,69,15,112,195,232               // pshuflw       $0xe8,%xmm11,%xmm8
+  .byte  243,69,15,112,192,232               // pshufhw       $0xe8,%xmm8,%xmm8
+  .byte  102,69,15,112,192,232               // pshufd        $0xe8,%xmm8,%xmm8
+  .byte  102,69,15,108,193                   // punpcklqdq    %xmm9,%xmm8
+  .byte  102,65,15,113,240,15                // psllw         $0xf,%xmm8
+  .byte  102,65,15,113,224,15                // psraw         $0xf,%xmm8
+  .byte  102,69,15,219,194                   // pand          %xmm10,%xmm8
+  .byte  243,68,15,127,0                     // movdqu        %xmm8,(%rax)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_check_decal_mask_sse2_lowp
+.globl _sk_check_decal_mask_sse2_lowp
+FUNCTION(_sk_check_decal_mask_sse2_lowp)
+_sk_check_decal_mask_sse2_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  68,15,16,0                          // movups        (%rax),%xmm8
+  .byte  65,15,84,192                        // andps         %xmm8,%xmm0
+  .byte  65,15,84,200                        // andps         %xmm8,%xmm1
+  .byte  65,15,84,208                        // andps         %xmm8,%xmm2
+  .byte  65,15,84,216                        // andps         %xmm8,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_gradient_sse2_lowp
+.globl _sk_gradient_sse2_lowp
+FUNCTION(_sk_gradient_sse2_lowp)
+_sk_gradient_sse2_lowp:
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,85                               // push          %r13
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  15,41,124,36,240                    // movaps        %xmm7,-0x10(%rsp)
+  .byte  15,41,116,36,224                    // movaps        %xmm6,-0x20(%rsp)
+  .byte  15,41,108,36,208                    // movaps        %xmm5,-0x30(%rsp)
+  .byte  15,41,100,36,192                    // movaps        %xmm4,-0x40(%rsp)
+  .byte  68,15,40,249                        // movaps        %xmm1,%xmm15
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,139,0                            // mov           (%rax),%r8
+  .byte  102,15,239,210                      // pxor          %xmm2,%xmm2
+  .byte  73,131,248,2                        // cmp           $0x2,%r8
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  114,56                              // jb            3b371 <_sk_gradient_sse2_lowp+0x6c>
+  .byte  72,139,88,72                        // mov           0x48(%rax),%rbx
+  .byte  73,255,200                          // dec           %r8
+  .byte  72,131,195,4                        // add           $0x4,%rbx
+  .byte  102,15,239,210                      // pxor          %xmm2,%xmm2
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  243,15,16,35                        // movss         (%rbx),%xmm4
+  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
+  .byte  15,40,236                           // movaps        %xmm4,%xmm5
+  .byte  15,194,232,2                        // cmpleps       %xmm0,%xmm5
+  .byte  102,15,250,213                      // psubd         %xmm5,%xmm2
+  .byte  65,15,194,231,2                     // cmpleps       %xmm15,%xmm4
+  .byte  102,15,250,220                      // psubd         %xmm4,%xmm3
+  .byte  72,131,195,4                        // add           $0x4,%rbx
+  .byte  73,255,200                          // dec           %r8
+  .byte  117,219                             // jne           3b34c <_sk_gradient_sse2_lowp+0x47>
+  .byte  102,15,112,227,78                   // pshufd        $0x4e,%xmm3,%xmm4
+  .byte  102,73,15,126,225                   // movq          %xmm4,%r9
+  .byte  69,137,200                          // mov           %r9d,%r8d
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  102,73,15,126,219                   // movq          %xmm3,%r11
+  .byte  69,137,218                          // mov           %r11d,%r10d
+  .byte  73,193,235,32                       // shr           $0x20,%r11
+  .byte  102,65,15,126,214                   // movd          %xmm2,%r14d
+  .byte  102,68,15,112,194,229               // pshufd        $0xe5,%xmm2,%xmm8
+  .byte  102,15,112,218,78                   // pshufd        $0x4e,%xmm2,%xmm3
+  .byte  102,65,15,126,223                   // movd          %xmm3,%r15d
+  .byte  102,15,112,210,231                  // pshufd        $0xe7,%xmm2,%xmm2
+  .byte  102,65,15,126,212                   // movd          %xmm2,%r12d
+  .byte  72,139,88,8                         // mov           0x8(%rax),%rbx
+  .byte  243,70,15,16,20,155                 // movss         (%rbx,%r11,4),%xmm10
+  .byte  243,70,15,16,12,147                 // movss         (%rbx,%r10,4),%xmm9
+  .byte  243,66,15,16,44,139                 // movss         (%rbx,%r9,4),%xmm5
+  .byte  243,66,15,16,52,131                 // movss         (%rbx,%r8,4),%xmm6
+  .byte  243,66,15,16,60,163                 // movss         (%rbx,%r12,4),%xmm7
+  .byte  243,66,15,16,36,187                 // movss         (%rbx,%r15,4),%xmm4
+  .byte  243,66,15,16,28,179                 // movss         (%rbx,%r14,4),%xmm3
+  .byte  102,69,15,126,197                   // movd          %xmm8,%r13d
+  .byte  243,66,15,16,20,171                 // movss         (%rbx,%r13,4),%xmm2
+  .byte  69,15,20,202                        // unpcklps      %xmm10,%xmm9
+  .byte  15,20,245                           // unpcklps      %xmm5,%xmm6
+  .byte  102,68,15,20,206                    // unpcklpd      %xmm6,%xmm9
+  .byte  15,20,231                           // unpcklps      %xmm7,%xmm4
+  .byte  15,20,218                           // unpcklps      %xmm2,%xmm3
+  .byte  102,15,20,220                       // unpcklpd      %xmm4,%xmm3
+  .byte  72,139,88,16                        // mov           0x10(%rax),%rbx
+  .byte  243,70,15,16,4,155                  // movss         (%rbx,%r11,4),%xmm8
+  .byte  243,70,15,16,36,147                 // movss         (%rbx,%r10,4),%xmm12
+  .byte  243,70,15,16,20,139                 // movss         (%rbx,%r9,4),%xmm10
+  .byte  243,66,15,16,52,131                 // movss         (%rbx,%r8,4),%xmm6
+  .byte  243,66,15,16,60,163                 // movss         (%rbx,%r12,4),%xmm7
+  .byte  243,66,15,16,36,187                 // movss         (%rbx,%r15,4),%xmm4
+  .byte  243,66,15,16,20,179                 // movss         (%rbx,%r14,4),%xmm2
+  .byte  243,66,15,16,44,171                 // movss         (%rbx,%r13,4),%xmm5
+  .byte  69,15,20,224                        // unpcklps      %xmm8,%xmm12
+  .byte  65,15,20,242                        // unpcklps      %xmm10,%xmm6
+  .byte  102,68,15,20,230                    // unpcklpd      %xmm6,%xmm12
+  .byte  15,20,231                           // unpcklps      %xmm7,%xmm4
+  .byte  15,20,213                           // unpcklps      %xmm5,%xmm2
+  .byte  102,15,20,212                       // unpcklpd      %xmm4,%xmm2
+  .byte  72,139,88,24                        // mov           0x18(%rax),%rbx
+  .byte  243,66,15,16,36,155                 // movss         (%rbx,%r11,4),%xmm4
+  .byte  243,70,15,16,28,147                 // movss         (%rbx,%r10,4),%xmm11
+  .byte  68,15,20,220                        // unpcklps      %xmm4,%xmm11
+  .byte  243,66,15,16,36,139                 // movss         (%rbx,%r9,4),%xmm4
+  .byte  243,66,15,16,44,131                 // movss         (%rbx,%r8,4),%xmm5
+  .byte  15,20,236                           // unpcklps      %xmm4,%xmm5
+  .byte  243,66,15,16,36,163                 // movss         (%rbx,%r12,4),%xmm4
+  .byte  243,66,15,16,52,187                 // movss         (%rbx,%r15,4),%xmm6
+  .byte  243,70,15,16,52,179                 // movss         (%rbx,%r14,4),%xmm14
+  .byte  243,66,15,16,60,171                 // movss         (%rbx,%r13,4),%xmm7
+  .byte  102,68,15,20,221                    // unpcklpd      %xmm5,%xmm11
+  .byte  15,20,244                           // unpcklps      %xmm4,%xmm6
+  .byte  68,15,20,247                        // unpcklps      %xmm7,%xmm14
+  .byte  102,68,15,20,246                    // unpcklpd      %xmm6,%xmm14
+  .byte  72,139,88,32                        // mov           0x20(%rax),%rbx
+  .byte  243,66,15,16,36,155                 // movss         (%rbx,%r11,4),%xmm4
+  .byte  243,70,15,16,20,147                 // movss         (%rbx,%r10,4),%xmm10
+  .byte  68,15,20,212                        // unpcklps      %xmm4,%xmm10
+  .byte  243,66,15,16,36,139                 // movss         (%rbx,%r9,4),%xmm4
+  .byte  243,66,15,16,44,131                 // movss         (%rbx,%r8,4),%xmm5
+  .byte  15,20,236                           // unpcklps      %xmm4,%xmm5
+  .byte  102,68,15,20,213                    // unpcklpd      %xmm5,%xmm10
+  .byte  243,66,15,16,36,163                 // movss         (%rbx,%r12,4),%xmm4
+  .byte  243,66,15,16,44,187                 // movss         (%rbx,%r15,4),%xmm5
+  .byte  15,20,236                           // unpcklps      %xmm4,%xmm5
+  .byte  243,70,15,16,44,179                 // movss         (%rbx,%r14,4),%xmm13
+  .byte  243,66,15,16,36,171                 // movss         (%rbx,%r13,4),%xmm4
+  .byte  68,15,20,236                        // unpcklps      %xmm4,%xmm13
+  .byte  102,68,15,20,237                    // unpcklpd      %xmm5,%xmm13
+  .byte  72,139,88,40                        // mov           0x28(%rax),%rbx
+  .byte  243,66,15,16,36,163                 // movss         (%rbx,%r12,4),%xmm4
+  .byte  243,66,15,16,52,187                 // movss         (%rbx,%r15,4),%xmm6
+  .byte  15,20,244                           // unpcklps      %xmm4,%xmm6
+  .byte  243,66,15,16,44,179                 // movss         (%rbx,%r14,4),%xmm5
+  .byte  243,66,15,16,36,171                 // movss         (%rbx,%r13,4),%xmm4
+  .byte  15,20,236                           // unpcklps      %xmm4,%xmm5
+  .byte  102,15,20,238                       // unpcklpd      %xmm6,%xmm5
+  .byte  243,66,15,16,52,155                 // movss         (%rbx,%r11,4),%xmm6
+  .byte  243,66,15,16,36,147                 // movss         (%rbx,%r10,4),%xmm4
+  .byte  15,20,230                           // unpcklps      %xmm6,%xmm4
+  .byte  243,66,15,16,52,139                 // movss         (%rbx,%r9,4),%xmm6
+  .byte  243,66,15,16,60,131                 // movss         (%rbx,%r8,4),%xmm7
+  .byte  15,20,254                           // unpcklps      %xmm6,%xmm7
+  .byte  102,15,20,231                       // unpcklpd      %xmm7,%xmm4
+  .byte  72,139,88,48                        // mov           0x30(%rax),%rbx
+  .byte  243,66,15,16,60,163                 // movss         (%rbx,%r12,4),%xmm7
+  .byte  243,66,15,16,52,187                 // movss         (%rbx,%r15,4),%xmm6
+  .byte  15,20,247                           // unpcklps      %xmm7,%xmm6
+  .byte  243,66,15,16,12,179                 // movss         (%rbx,%r14,4),%xmm1
+  .byte  243,66,15,16,60,171                 // movss         (%rbx,%r13,4),%xmm7
+  .byte  15,20,207                           // unpcklps      %xmm7,%xmm1
+  .byte  102,15,20,206                       // unpcklpd      %xmm6,%xmm1
+  .byte  102,15,41,76,36,144                 // movapd        %xmm1,-0x70(%rsp)
+  .byte  243,66,15,16,60,155                 // movss         (%rbx,%r11,4),%xmm7
+  .byte  243,70,15,16,4,147                  // movss         (%rbx,%r10,4),%xmm8
+  .byte  68,15,20,199                        // unpcklps      %xmm7,%xmm8
+  .byte  243,66,15,16,60,139                 // movss         (%rbx,%r9,4),%xmm7
+  .byte  243,66,15,16,52,131                 // movss         (%rbx,%r8,4),%xmm6
+  .byte  15,20,247                           // unpcklps      %xmm7,%xmm6
+  .byte  102,68,15,20,198                    // unpcklpd      %xmm6,%xmm8
+  .byte  72,139,88,56                        // mov           0x38(%rax),%rbx
+  .byte  243,66,15,16,60,163                 // movss         (%rbx,%r12,4),%xmm7
+  .byte  243,66,15,16,52,187                 // movss         (%rbx,%r15,4),%xmm6
+  .byte  15,20,247                           // unpcklps      %xmm7,%xmm6
+  .byte  243,66,15,16,12,179                 // movss         (%rbx,%r14,4),%xmm1
+  .byte  243,66,15,16,60,171                 // movss         (%rbx,%r13,4),%xmm7
+  .byte  15,20,207                           // unpcklps      %xmm7,%xmm1
+  .byte  102,15,20,206                       // unpcklpd      %xmm6,%xmm1
+  .byte  102,15,41,76,36,160                 // movapd        %xmm1,-0x60(%rsp)
+  .byte  243,66,15,16,60,155                 // movss         (%rbx,%r11,4),%xmm7
+  .byte  243,66,15,16,12,147                 // movss         (%rbx,%r10,4),%xmm1
+  .byte  15,20,207                           // unpcklps      %xmm7,%xmm1
+  .byte  243,66,15,16,60,139                 // movss         (%rbx,%r9,4),%xmm7
+  .byte  243,66,15,16,52,131                 // movss         (%rbx,%r8,4),%xmm6
+  .byte  15,20,247                           // unpcklps      %xmm7,%xmm6
+  .byte  102,15,20,206                       // unpcklpd      %xmm6,%xmm1
+  .byte  102,15,41,76,36,128                 // movapd        %xmm1,-0x80(%rsp)
+  .byte  72,139,64,64                        // mov           0x40(%rax),%rax
+  .byte  243,66,15,16,52,160                 // movss         (%rax,%r12,4),%xmm6
+  .byte  243,66,15,16,60,184                 // movss         (%rax,%r15,4),%xmm7
+  .byte  15,20,254                           // unpcklps      %xmm6,%xmm7
+  .byte  243,66,15,16,12,176                 // movss         (%rax,%r14,4),%xmm1
+  .byte  243,66,15,16,52,168                 // movss         (%rax,%r13,4),%xmm6
+  .byte  15,20,206                           // unpcklps      %xmm6,%xmm1
+  .byte  102,15,20,207                       // unpcklpd      %xmm7,%xmm1
+  .byte  102,15,41,76,36,176                 // movapd        %xmm1,-0x50(%rsp)
+  .byte  243,66,15,16,52,152                 // movss         (%rax,%r11,4),%xmm6
+  .byte  243,66,15,16,12,144                 // movss         (%rax,%r10,4),%xmm1
+  .byte  15,20,206                           // unpcklps      %xmm6,%xmm1
+  .byte  243,66,15,16,52,136                 // movss         (%rax,%r9,4),%xmm6
+  .byte  243,66,15,16,60,128                 // movss         (%rax,%r8,4),%xmm7
+  .byte  15,20,254                           // unpcklps      %xmm6,%xmm7
+  .byte  102,15,20,207                       // unpcklpd      %xmm7,%xmm1
+  .byte  15,89,216                           // mulps         %xmm0,%xmm3
+  .byte  15,88,221                           // addps         %xmm5,%xmm3
+  .byte  69,15,89,207                        // mulps         %xmm15,%xmm9
+  .byte  68,15,88,204                        // addps         %xmm4,%xmm9
+  .byte  15,40,53,194,25,0,0                 // movaps        0x19c2(%rip),%xmm6        # 3cff0 <_sk_srcover_bgra_8888_sse2_lowp+0xda4>
+  .byte  15,89,222                           // mulps         %xmm6,%xmm3
+  .byte  68,15,89,206                        // mulps         %xmm6,%xmm9
+  .byte  15,40,37,196,24,0,0                 // movaps        0x18c4(%rip),%xmm4        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  68,15,88,204                        // addps         %xmm4,%xmm9
+  .byte  15,88,220                           // addps         %xmm4,%xmm3
+  .byte  243,15,91,219                       // cvttps2dq     %xmm3,%xmm3
+  .byte  242,15,112,219,232                  // pshuflw       $0xe8,%xmm3,%xmm3
+  .byte  243,15,112,219,232                  // pshufhw       $0xe8,%xmm3,%xmm3
+  .byte  102,15,112,235,232                  // pshufd        $0xe8,%xmm3,%xmm5
+  .byte  243,65,15,91,217                    // cvttps2dq     %xmm9,%xmm3
+  .byte  242,15,112,219,232                  // pshuflw       $0xe8,%xmm3,%xmm3
+  .byte  243,15,112,219,232                  // pshufhw       $0xe8,%xmm3,%xmm3
+  .byte  102,15,112,219,232                  // pshufd        $0xe8,%xmm3,%xmm3
+  .byte  102,15,108,235                      // punpcklqdq    %xmm3,%xmm5
+  .byte  15,89,208                           // mulps         %xmm0,%xmm2
+  .byte  15,88,84,36,144                     // addps         -0x70(%rsp),%xmm2
+  .byte  69,15,89,231                        // mulps         %xmm15,%xmm12
+  .byte  69,15,88,224                        // addps         %xmm8,%xmm12
+  .byte  15,89,214                           // mulps         %xmm6,%xmm2
+  .byte  68,15,89,230                        // mulps         %xmm6,%xmm12
+  .byte  68,15,88,228                        // addps         %xmm4,%xmm12
+  .byte  15,88,212                           // addps         %xmm4,%xmm2
+  .byte  243,15,91,210                       // cvttps2dq     %xmm2,%xmm2
+  .byte  242,15,112,210,232                  // pshuflw       $0xe8,%xmm2,%xmm2
+  .byte  243,15,112,210,232                  // pshufhw       $0xe8,%xmm2,%xmm2
+  .byte  102,68,15,112,202,232               // pshufd        $0xe8,%xmm2,%xmm9
+  .byte  243,65,15,91,212                    // cvttps2dq     %xmm12,%xmm2
+  .byte  242,15,112,210,232                  // pshuflw       $0xe8,%xmm2,%xmm2
+  .byte  243,15,112,210,232                  // pshufhw       $0xe8,%xmm2,%xmm2
+  .byte  102,15,112,210,232                  // pshufd        $0xe8,%xmm2,%xmm2
+  .byte  102,68,15,108,202                   // punpcklqdq    %xmm2,%xmm9
+  .byte  68,15,89,240                        // mulps         %xmm0,%xmm14
+  .byte  68,15,88,116,36,160                 // addps         -0x60(%rsp),%xmm14
+  .byte  69,15,89,223                        // mulps         %xmm15,%xmm11
+  .byte  68,15,88,92,36,128                  // addps         -0x80(%rsp),%xmm11
+  .byte  68,15,89,246                        // mulps         %xmm6,%xmm14
+  .byte  68,15,89,222                        // mulps         %xmm6,%xmm11
+  .byte  68,15,88,220                        // addps         %xmm4,%xmm11
+  .byte  68,15,88,244                        // addps         %xmm4,%xmm14
+  .byte  243,65,15,91,214                    // cvttps2dq     %xmm14,%xmm2
+  .byte  242,15,112,210,232                  // pshuflw       $0xe8,%xmm2,%xmm2
+  .byte  243,15,112,210,232                  // pshufhw       $0xe8,%xmm2,%xmm2
+  .byte  102,15,112,210,232                  // pshufd        $0xe8,%xmm2,%xmm2
+  .byte  243,65,15,91,219                    // cvttps2dq     %xmm11,%xmm3
+  .byte  242,15,112,219,232                  // pshuflw       $0xe8,%xmm3,%xmm3
+  .byte  243,15,112,219,232                  // pshufhw       $0xe8,%xmm3,%xmm3
+  .byte  102,15,112,219,232                  // pshufd        $0xe8,%xmm3,%xmm3
+  .byte  102,15,108,211                      // punpcklqdq    %xmm3,%xmm2
+  .byte  68,15,89,232                        // mulps         %xmm0,%xmm13
+  .byte  68,15,88,108,36,176                 // addps         -0x50(%rsp),%xmm13
+  .byte  69,15,89,215                        // mulps         %xmm15,%xmm10
+  .byte  68,15,88,209                        // addps         %xmm1,%xmm10
+  .byte  68,15,89,238                        // mulps         %xmm6,%xmm13
+  .byte  68,15,89,214                        // mulps         %xmm6,%xmm10
+  .byte  68,15,88,212                        // addps         %xmm4,%xmm10
+  .byte  68,15,88,236                        // addps         %xmm4,%xmm13
+  .byte  243,65,15,91,197                    // cvttps2dq     %xmm13,%xmm0
+  .byte  242,15,112,192,232                  // pshuflw       $0xe8,%xmm0,%xmm0
+  .byte  243,15,112,192,232                  // pshufhw       $0xe8,%xmm0,%xmm0
+  .byte  102,15,112,216,232                  // pshufd        $0xe8,%xmm0,%xmm3
+  .byte  243,65,15,91,194                    // cvttps2dq     %xmm10,%xmm0
+  .byte  242,15,112,192,232                  // pshuflw       $0xe8,%xmm0,%xmm0
+  .byte  243,15,112,192,232                  // pshufhw       $0xe8,%xmm0,%xmm0
+  .byte  102,15,112,192,232                  // pshufd        $0xe8,%xmm0,%xmm0
+  .byte  102,15,108,216                      // punpcklqdq    %xmm0,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,15,111,197                      // movdqa        %xmm5,%xmm0
+  .byte  102,65,15,111,201                   // movdqa        %xmm9,%xmm1
+  .byte  15,40,100,36,192                    // movaps        -0x40(%rsp),%xmm4
+  .byte  15,40,108,36,208                    // movaps        -0x30(%rsp),%xmm5
+  .byte  15,40,116,36,224                    // movaps        -0x20(%rsp),%xmm6
+  .byte  15,40,124,36,240                    // movaps        -0x10(%rsp),%xmm7
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,93                               // pop           %r13
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_evenly_spaced_gradient_sse2_lowp
+.globl _sk_evenly_spaced_gradient_sse2_lowp
+FUNCTION(_sk_evenly_spaced_gradient_sse2_lowp)
+_sk_evenly_spaced_gradient_sse2_lowp:
+  .byte  85                                  // push          %rbp
+  .byte  65,87                               // push          %r15
+  .byte  65,86                               // push          %r14
+  .byte  65,85                               // push          %r13
+  .byte  65,84                               // push          %r12
+  .byte  83                                  // push          %rbx
+  .byte  80                                  // push          %rax
+  .byte  15,41,124,36,240                    // movaps        %xmm7,-0x10(%rsp)
+  .byte  15,41,116,36,224                    // movaps        %xmm6,-0x20(%rsp)
+  .byte  15,41,108,36,208                    // movaps        %xmm5,-0x30(%rsp)
+  .byte  15,41,100,36,192                    // movaps        %xmm4,-0x40(%rsp)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  72,139,24                           // mov           (%rax),%rbx
+  .byte  72,139,104,8                        // mov           0x8(%rax),%rbp
+  .byte  72,255,203                          // dec           %rbx
+  .byte  120,7                               // js            3b7b5 <_sk_evenly_spaced_gradient_sse2_lowp+0x34>
+  .byte  243,72,15,42,211                    // cvtsi2ss      %rbx,%xmm2
+  .byte  235,21                              // jmp           3b7ca <_sk_evenly_spaced_gradient_sse2_lowp+0x49>
+  .byte  73,137,216                          // mov           %rbx,%r8
+  .byte  73,209,232                          // shr           %r8
+  .byte  131,227,1                           // and           $0x1,%ebx
+  .byte  76,9,195                            // or            %r8,%rbx
+  .byte  243,72,15,42,211                    // cvtsi2ss      %rbx,%xmm2
+  .byte  243,15,88,210                       // addss         %xmm2,%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  15,41,68,36,176                     // movaps        %xmm0,-0x50(%rsp)
+  .byte  15,89,194                           // mulps         %xmm2,%xmm0
+  .byte  15,89,209                           // mulps         %xmm1,%xmm2
+  .byte  243,15,91,218                       // cvttps2dq     %xmm2,%xmm3
+  .byte  15,41,76,36,160                     // movaps        %xmm1,-0x60(%rsp)
+  .byte  102,15,112,211,78                   // pshufd        $0x4e,%xmm3,%xmm2
+  .byte  102,73,15,126,214                   // movq          %xmm2,%r14
+  .byte  69,137,242                          // mov           %r14d,%r10d
+  .byte  73,193,238,32                       // shr           $0x20,%r14
+  .byte  102,73,15,126,221                   // movq          %xmm3,%r13
+  .byte  69,137,239                          // mov           %r13d,%r15d
+  .byte  73,193,237,32                       // shr           $0x20,%r13
+  .byte  243,15,91,192                       // cvttps2dq     %xmm0,%xmm0
+  .byte  102,15,112,200,78                   // pshufd        $0x4e,%xmm0,%xmm1
+  .byte  102,73,15,126,201                   // movq          %xmm1,%r9
+  .byte  69,137,200                          // mov           %r9d,%r8d
+  .byte  73,193,233,32                       // shr           $0x20,%r9
+  .byte  102,73,15,126,196                   // movq          %xmm0,%r12
+  .byte  69,137,227                          // mov           %r12d,%r11d
+  .byte  73,193,236,32                       // shr           $0x20,%r12
+  .byte  243,66,15,16,68,165,0               // movss         0x0(%rbp,%r12,4),%xmm0
+  .byte  243,70,15,16,68,157,0               // movss         0x0(%rbp,%r11,4),%xmm8
+  .byte  243,66,15,16,76,141,0               // movss         0x0(%rbp,%r9,4),%xmm1
+  .byte  243,66,15,16,84,133,0               // movss         0x0(%rbp,%r8,4),%xmm2
+  .byte  243,66,15,16,100,173,0              // movss         0x0(%rbp,%r13,4),%xmm4
+  .byte  243,66,15,16,92,189,0               // movss         0x0(%rbp,%r15,4),%xmm3
+  .byte  243,66,15,16,108,181,0              // movss         0x0(%rbp,%r14,4),%xmm5
+  .byte  243,66,15,16,116,149,0              // movss         0x0(%rbp,%r10,4),%xmm6
+  .byte  68,15,20,192                        // unpcklps      %xmm0,%xmm8
+  .byte  15,20,209                           // unpcklps      %xmm1,%xmm2
+  .byte  102,68,15,20,194                    // unpcklpd      %xmm2,%xmm8
+  .byte  15,20,220                           // unpcklps      %xmm4,%xmm3
+  .byte  15,20,245                           // unpcklps      %xmm5,%xmm6
+  .byte  102,15,20,222                       // unpcklpd      %xmm6,%xmm3
+  .byte  72,139,88,16                        // mov           0x10(%rax),%rbx
+  .byte  243,66,15,16,4,163                  // movss         (%rbx,%r12,4),%xmm0
+  .byte  243,70,15,16,12,155                 // movss         (%rbx,%r11,4),%xmm9
+  .byte  243,66,15,16,12,139                 // movss         (%rbx,%r9,4),%xmm1
+  .byte  243,66,15,16,36,131                 // movss         (%rbx,%r8,4),%xmm4
+  .byte  243,66,15,16,44,171                 // movss         (%rbx,%r13,4),%xmm5
+  .byte  243,66,15,16,20,187                 // movss         (%rbx,%r15,4),%xmm2
+  .byte  243,66,15,16,52,179                 // movss         (%rbx,%r14,4),%xmm6
+  .byte  243,66,15,16,60,147                 // movss         (%rbx,%r10,4),%xmm7
+  .byte  68,15,20,200                        // unpcklps      %xmm0,%xmm9
+  .byte  15,20,225                           // unpcklps      %xmm1,%xmm4
+  .byte  102,68,15,20,204                    // unpcklpd      %xmm4,%xmm9
+  .byte  15,20,213                           // unpcklps      %xmm5,%xmm2
+  .byte  15,20,254                           // unpcklps      %xmm6,%xmm7
+  .byte  102,15,20,215                       // unpcklpd      %xmm7,%xmm2
+  .byte  72,139,88,24                        // mov           0x18(%rax),%rbx
+  .byte  243,66,15,16,4,163                  // movss         (%rbx,%r12,4),%xmm0
+  .byte  243,70,15,16,28,155                 // movss         (%rbx,%r11,4),%xmm11
+  .byte  68,15,20,216                        // unpcklps      %xmm0,%xmm11
+  .byte  243,66,15,16,4,139                  // movss         (%rbx,%r9,4),%xmm0
+  .byte  243,66,15,16,12,131                 // movss         (%rbx,%r8,4),%xmm1
+  .byte  15,20,200                           // unpcklps      %xmm0,%xmm1
+  .byte  243,66,15,16,4,171                  // movss         (%rbx,%r13,4),%xmm0
+  .byte  243,70,15,16,44,187                 // movss         (%rbx,%r15,4),%xmm13
+  .byte  243,66,15,16,36,179                 // movss         (%rbx,%r14,4),%xmm4
+  .byte  243,66,15,16,44,147                 // movss         (%rbx,%r10,4),%xmm5
+  .byte  102,68,15,20,217                    // unpcklpd      %xmm1,%xmm11
+  .byte  68,15,20,232                        // unpcklps      %xmm0,%xmm13
+  .byte  15,20,236                           // unpcklps      %xmm4,%xmm5
+  .byte  102,68,15,20,237                    // unpcklpd      %xmm5,%xmm13
+  .byte  72,139,88,32                        // mov           0x20(%rax),%rbx
+  .byte  243,66,15,16,4,163                  // movss         (%rbx,%r12,4),%xmm0
+  .byte  243,70,15,16,20,155                 // movss         (%rbx,%r11,4),%xmm10
+  .byte  68,15,20,208                        // unpcklps      %xmm0,%xmm10
+  .byte  243,66,15,16,4,139                  // movss         (%rbx,%r9,4),%xmm0
+  .byte  243,66,15,16,12,131                 // movss         (%rbx,%r8,4),%xmm1
+  .byte  15,20,200                           // unpcklps      %xmm0,%xmm1
+  .byte  102,68,15,20,209                    // unpcklpd      %xmm1,%xmm10
+  .byte  243,66,15,16,4,171                  // movss         (%rbx,%r13,4),%xmm0
+  .byte  243,70,15,16,36,187                 // movss         (%rbx,%r15,4),%xmm12
+  .byte  68,15,20,224                        // unpcklps      %xmm0,%xmm12
+  .byte  243,66,15,16,4,179                  // movss         (%rbx,%r14,4),%xmm0
+  .byte  243,66,15,16,12,147                 // movss         (%rbx,%r10,4),%xmm1
+  .byte  15,20,200                           // unpcklps      %xmm0,%xmm1
+  .byte  102,68,15,20,225                    // unpcklpd      %xmm1,%xmm12
+  .byte  72,139,88,40                        // mov           0x28(%rax),%rbx
+  .byte  243,66,15,16,12,171                 // movss         (%rbx,%r13,4),%xmm1
+  .byte  243,66,15,16,4,187                  // movss         (%rbx,%r15,4),%xmm0
+  .byte  15,20,193                           // unpcklps      %xmm1,%xmm0
+  .byte  243,66,15,16,12,179                 // movss         (%rbx,%r14,4),%xmm1
+  .byte  243,66,15,16,36,147                 // movss         (%rbx,%r10,4),%xmm4
+  .byte  15,20,225                           // unpcklps      %xmm1,%xmm4
+  .byte  102,15,20,196                       // unpcklpd      %xmm4,%xmm0
+  .byte  243,66,15,16,36,163                 // movss         (%rbx,%r12,4),%xmm4
+  .byte  243,66,15,16,12,155                 // movss         (%rbx,%r11,4),%xmm1
+  .byte  15,20,204                           // unpcklps      %xmm4,%xmm1
+  .byte  243,66,15,16,36,139                 // movss         (%rbx,%r9,4),%xmm4
+  .byte  243,66,15,16,44,131                 // movss         (%rbx,%r8,4),%xmm5
+  .byte  15,20,236                           // unpcklps      %xmm4,%xmm5
+  .byte  102,15,20,205                       // unpcklpd      %xmm5,%xmm1
+  .byte  72,139,88,48                        // mov           0x30(%rax),%rbx
+  .byte  243,66,15,16,36,171                 // movss         (%rbx,%r13,4),%xmm4
+  .byte  243,70,15,16,52,187                 // movss         (%rbx,%r15,4),%xmm14
+  .byte  68,15,20,244                        // unpcklps      %xmm4,%xmm14
+  .byte  243,66,15,16,36,179                 // movss         (%rbx,%r14,4),%xmm4
+  .byte  243,66,15,16,44,147                 // movss         (%rbx,%r10,4),%xmm5
+  .byte  15,20,236                           // unpcklps      %xmm4,%xmm5
+  .byte  102,68,15,20,245                    // unpcklpd      %xmm5,%xmm14
+  .byte  243,66,15,16,44,163                 // movss         (%rbx,%r12,4),%xmm5
+  .byte  243,66,15,16,36,155                 // movss         (%rbx,%r11,4),%xmm4
+  .byte  15,20,229                           // unpcklps      %xmm5,%xmm4
+  .byte  243,66,15,16,44,139                 // movss         (%rbx,%r9,4),%xmm5
+  .byte  243,66,15,16,60,131                 // movss         (%rbx,%r8,4),%xmm7
+  .byte  15,20,253                           // unpcklps      %xmm5,%xmm7
+  .byte  102,15,20,231                       // unpcklpd      %xmm7,%xmm4
+  .byte  72,139,88,56                        // mov           0x38(%rax),%rbx
+  .byte  243,66,15,16,44,171                 // movss         (%rbx,%r13,4),%xmm5
+  .byte  243,66,15,16,52,187                 // movss         (%rbx,%r15,4),%xmm6
+  .byte  15,20,245                           // unpcklps      %xmm5,%xmm6
+  .byte  243,66,15,16,44,179                 // movss         (%rbx,%r14,4),%xmm5
+  .byte  243,66,15,16,60,147                 // movss         (%rbx,%r10,4),%xmm7
+  .byte  15,20,253                           // unpcklps      %xmm5,%xmm7
+  .byte  102,15,20,247                       // unpcklpd      %xmm7,%xmm6
+  .byte  102,15,41,116,36,128                // movapd        %xmm6,-0x80(%rsp)
+  .byte  243,66,15,16,60,163                 // movss         (%rbx,%r12,4),%xmm7
+  .byte  243,66,15,16,44,155                 // movss         (%rbx,%r11,4),%xmm5
+  .byte  15,20,239                           // unpcklps      %xmm7,%xmm5
+  .byte  243,66,15,16,60,139                 // movss         (%rbx,%r9,4),%xmm7
+  .byte  243,66,15,16,52,131                 // movss         (%rbx,%r8,4),%xmm6
+  .byte  15,20,247                           // unpcklps      %xmm7,%xmm6
+  .byte  102,15,20,238                       // unpcklpd      %xmm6,%xmm5
+  .byte  72,139,64,64                        // mov           0x40(%rax),%rax
+  .byte  243,66,15,16,52,168                 // movss         (%rax,%r13,4),%xmm6
+  .byte  243,66,15,16,60,184                 // movss         (%rax,%r15,4),%xmm7
+  .byte  15,20,254                           // unpcklps      %xmm6,%xmm7
+  .byte  243,70,15,16,60,176                 // movss         (%rax,%r14,4),%xmm15
+  .byte  243,66,15,16,52,144                 // movss         (%rax,%r10,4),%xmm6
+  .byte  65,15,20,247                        // unpcklps      %xmm15,%xmm6
+  .byte  102,15,20,254                       // unpcklpd      %xmm6,%xmm7
+  .byte  102,15,41,124,36,144                // movapd        %xmm7,-0x70(%rsp)
+  .byte  243,66,15,16,52,160                 // movss         (%rax,%r12,4),%xmm6
+  .byte  243,66,15,16,60,152                 // movss         (%rax,%r11,4),%xmm7
+  .byte  15,20,254                           // unpcklps      %xmm6,%xmm7
+  .byte  243,66,15,16,52,136                 // movss         (%rax,%r9,4),%xmm6
+  .byte  243,70,15,16,60,128                 // movss         (%rax,%r8,4),%xmm15
+  .byte  68,15,20,254                        // unpcklps      %xmm6,%xmm15
+  .byte  102,65,15,20,255                    // unpcklpd      %xmm15,%xmm7
+  .byte  68,15,40,124,36,160                 // movaps        -0x60(%rsp),%xmm15
+  .byte  65,15,89,223                        // mulps         %xmm15,%xmm3
+  .byte  15,88,216                           // addps         %xmm0,%xmm3
+  .byte  15,40,68,36,176                     // movaps        -0x50(%rsp),%xmm0
+  .byte  68,15,89,192                        // mulps         %xmm0,%xmm8
+  .byte  68,15,88,193                        // addps         %xmm1,%xmm8
+  .byte  15,40,13,78,21,0,0                  // movaps        0x154e(%rip),%xmm1        # 3cff0 <_sk_srcover_bgra_8888_sse2_lowp+0xda4>
+  .byte  15,89,217                           // mulps         %xmm1,%xmm3
+  .byte  68,15,89,193                        // mulps         %xmm1,%xmm8
+  .byte  15,40,13,80,20,0,0                  // movaps        0x1450(%rip),%xmm1        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  68,15,88,193                        // addps         %xmm1,%xmm8
+  .byte  15,88,217                           // addps         %xmm1,%xmm3
+  .byte  243,15,91,219                       // cvttps2dq     %xmm3,%xmm3
+  .byte  242,15,112,219,232                  // pshuflw       $0xe8,%xmm3,%xmm3
+  .byte  243,15,112,219,232                  // pshufhw       $0xe8,%xmm3,%xmm3
+  .byte  102,15,112,219,232                  // pshufd        $0xe8,%xmm3,%xmm3
+  .byte  243,65,15,91,240                    // cvttps2dq     %xmm8,%xmm6
+  .byte  242,15,112,246,232                  // pshuflw       $0xe8,%xmm6,%xmm6
+  .byte  243,15,112,246,232                  // pshufhw       $0xe8,%xmm6,%xmm6
+  .byte  102,68,15,112,198,232               // pshufd        $0xe8,%xmm6,%xmm8
+  .byte  102,68,15,108,195                   // punpcklqdq    %xmm3,%xmm8
+  .byte  65,15,89,215                        // mulps         %xmm15,%xmm2
+  .byte  65,15,88,214                        // addps         %xmm14,%xmm2
+  .byte  15,40,240                           // movaps        %xmm0,%xmm6
+  .byte  68,15,89,206                        // mulps         %xmm6,%xmm9
+  .byte  68,15,88,204                        // addps         %xmm4,%xmm9
+  .byte  15,40,5,242,20,0,0                  // movaps        0x14f2(%rip),%xmm0        # 3cff0 <_sk_srcover_bgra_8888_sse2_lowp+0xda4>
+  .byte  15,89,208                           // mulps         %xmm0,%xmm2
+  .byte  68,15,89,200                        // mulps         %xmm0,%xmm9
+  .byte  68,15,88,201                        // addps         %xmm1,%xmm9
+  .byte  15,88,209                           // addps         %xmm1,%xmm2
+  .byte  243,15,91,210                       // cvttps2dq     %xmm2,%xmm2
+  .byte  242,15,112,210,232                  // pshuflw       $0xe8,%xmm2,%xmm2
+  .byte  243,15,112,210,232                  // pshufhw       $0xe8,%xmm2,%xmm2
+  .byte  102,15,112,210,232                  // pshufd        $0xe8,%xmm2,%xmm2
+  .byte  243,65,15,91,217                    // cvttps2dq     %xmm9,%xmm3
+  .byte  242,15,112,219,232                  // pshuflw       $0xe8,%xmm3,%xmm3
+  .byte  243,15,112,219,232                  // pshufhw       $0xe8,%xmm3,%xmm3
+  .byte  102,68,15,112,203,232               // pshufd        $0xe8,%xmm3,%xmm9
+  .byte  102,68,15,108,202                   // punpcklqdq    %xmm2,%xmm9
+  .byte  69,15,89,239                        // mulps         %xmm15,%xmm13
+  .byte  68,15,88,108,36,128                 // addps         -0x80(%rsp),%xmm13
+  .byte  68,15,89,222                        // mulps         %xmm6,%xmm11
+  .byte  68,15,88,221                        // addps         %xmm5,%xmm11
+  .byte  68,15,89,232                        // mulps         %xmm0,%xmm13
+  .byte  68,15,89,216                        // mulps         %xmm0,%xmm11
+  .byte  68,15,88,217                        // addps         %xmm1,%xmm11
+  .byte  68,15,88,233                        // addps         %xmm1,%xmm13
+  .byte  243,65,15,91,213                    // cvttps2dq     %xmm13,%xmm2
+  .byte  242,15,112,210,232                  // pshuflw       $0xe8,%xmm2,%xmm2
+  .byte  243,15,112,210,232                  // pshufhw       $0xe8,%xmm2,%xmm2
+  .byte  102,15,112,218,232                  // pshufd        $0xe8,%xmm2,%xmm3
+  .byte  243,65,15,91,211                    // cvttps2dq     %xmm11,%xmm2
+  .byte  242,15,112,210,232                  // pshuflw       $0xe8,%xmm2,%xmm2
+  .byte  243,15,112,210,232                  // pshufhw       $0xe8,%xmm2,%xmm2
+  .byte  102,15,112,210,232                  // pshufd        $0xe8,%xmm2,%xmm2
+  .byte  102,15,108,211                      // punpcklqdq    %xmm3,%xmm2
+  .byte  69,15,89,231                        // mulps         %xmm15,%xmm12
+  .byte  68,15,88,100,36,144                 // addps         -0x70(%rsp),%xmm12
+  .byte  68,15,89,214                        // mulps         %xmm6,%xmm10
+  .byte  68,15,88,215                        // addps         %xmm7,%xmm10
+  .byte  68,15,89,224                        // mulps         %xmm0,%xmm12
+  .byte  68,15,89,208                        // mulps         %xmm0,%xmm10
+  .byte  68,15,88,209                        // addps         %xmm1,%xmm10
+  .byte  68,15,88,225                        // addps         %xmm1,%xmm12
+  .byte  243,65,15,91,196                    // cvttps2dq     %xmm12,%xmm0
+  .byte  242,15,112,192,232                  // pshuflw       $0xe8,%xmm0,%xmm0
+  .byte  243,15,112,192,232                  // pshufhw       $0xe8,%xmm0,%xmm0
+  .byte  102,15,112,192,232                  // pshufd        $0xe8,%xmm0,%xmm0
+  .byte  243,65,15,91,202                    // cvttps2dq     %xmm10,%xmm1
+  .byte  242,15,112,201,232                  // pshuflw       $0xe8,%xmm1,%xmm1
+  .byte  243,15,112,201,232                  // pshufhw       $0xe8,%xmm1,%xmm1
+  .byte  102,15,112,217,232                  // pshufd        $0xe8,%xmm1,%xmm3
+  .byte  102,15,108,216                      // punpcklqdq    %xmm0,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,65,15,111,192                   // movdqa        %xmm8,%xmm0
+  .byte  102,65,15,111,201                   // movdqa        %xmm9,%xmm1
+  .byte  15,40,100,36,192                    // movaps        -0x40(%rsp),%xmm4
+  .byte  15,40,108,36,208                    // movaps        -0x30(%rsp),%xmm5
+  .byte  15,40,116,36,224                    // movaps        -0x20(%rsp),%xmm6
+  .byte  15,40,124,36,240                    // movaps        -0x10(%rsp),%xmm7
+  .byte  72,131,196,8                        // add           $0x8,%rsp
+  .byte  91                                  // pop           %rbx
+  .byte  65,92                               // pop           %r12
+  .byte  65,93                               // pop           %r13
+  .byte  65,94                               // pop           %r14
+  .byte  65,95                               // pop           %r15
+  .byte  93                                  // pop           %rbp
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_evenly_spaced_2_stop_gradient_sse2_lowp
+.globl _sk_evenly_spaced_2_stop_gradient_sse2_lowp
+FUNCTION(_sk_evenly_spaced_2_stop_gradient_sse2_lowp)
+_sk_evenly_spaced_2_stop_gradient_sse2_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  243,15,16,24                        // movss         (%rax),%xmm3
+  .byte  243,68,15,16,72,4                   // movss         0x4(%rax),%xmm9
+  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
+  .byte  243,68,15,16,64,16                  // movss         0x10(%rax),%xmm8
+  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
+  .byte  15,40,209                           // movaps        %xmm1,%xmm2
+  .byte  15,89,211                           // mulps         %xmm3,%xmm2
+  .byte  15,89,216                           // mulps         %xmm0,%xmm3
+  .byte  65,15,88,216                        // addps         %xmm8,%xmm3
+  .byte  65,15,88,208                        // addps         %xmm8,%xmm2
+  .byte  68,15,40,21,183,19,0,0              // movaps        0x13b7(%rip),%xmm10        # 3cff0 <_sk_srcover_bgra_8888_sse2_lowp+0xda4>
+  .byte  65,15,89,210                        // mulps         %xmm10,%xmm2
+  .byte  65,15,89,218                        // mulps         %xmm10,%xmm3
+  .byte  68,15,40,29,183,18,0,0              // movaps        0x12b7(%rip),%xmm11        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  65,15,88,219                        // addps         %xmm11,%xmm3
+  .byte  65,15,88,211                        // addps         %xmm11,%xmm2
+  .byte  243,15,91,210                       // cvttps2dq     %xmm2,%xmm2
+  .byte  242,15,112,210,232                  // pshuflw       $0xe8,%xmm2,%xmm2
+  .byte  243,15,112,210,232                  // pshufhw       $0xe8,%xmm2,%xmm2
+  .byte  102,15,112,210,232                  // pshufd        $0xe8,%xmm2,%xmm2
+  .byte  243,15,91,219                       // cvttps2dq     %xmm3,%xmm3
+  .byte  242,15,112,219,232                  // pshuflw       $0xe8,%xmm3,%xmm3
+  .byte  243,15,112,219,232                  // pshufhw       $0xe8,%xmm3,%xmm3
+  .byte  102,68,15,112,195,232               // pshufd        $0xe8,%xmm3,%xmm8
+  .byte  102,68,15,108,194                   // punpcklqdq    %xmm2,%xmm8
+  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
+  .byte  243,15,16,80,20                     // movss         0x14(%rax),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  15,40,217                           // movaps        %xmm1,%xmm3
+  .byte  65,15,89,217                        // mulps         %xmm9,%xmm3
+  .byte  68,15,89,200                        // mulps         %xmm0,%xmm9
+  .byte  68,15,88,202                        // addps         %xmm2,%xmm9
+  .byte  15,88,218                           // addps         %xmm2,%xmm3
+  .byte  65,15,89,218                        // mulps         %xmm10,%xmm3
+  .byte  69,15,89,202                        // mulps         %xmm10,%xmm9
+  .byte  69,15,88,203                        // addps         %xmm11,%xmm9
+  .byte  65,15,88,219                        // addps         %xmm11,%xmm3
+  .byte  243,15,91,211                       // cvttps2dq     %xmm3,%xmm2
+  .byte  242,15,112,210,232                  // pshuflw       $0xe8,%xmm2,%xmm2
+  .byte  243,15,112,210,232                  // pshufhw       $0xe8,%xmm2,%xmm2
+  .byte  102,15,112,210,232                  // pshufd        $0xe8,%xmm2,%xmm2
+  .byte  243,65,15,91,217                    // cvttps2dq     %xmm9,%xmm3
+  .byte  242,15,112,219,232                  // pshuflw       $0xe8,%xmm3,%xmm3
+  .byte  243,15,112,219,232                  // pshufhw       $0xe8,%xmm3,%xmm3
+  .byte  102,68,15,112,203,232               // pshufd        $0xe8,%xmm3,%xmm9
+  .byte  102,68,15,108,202                   // punpcklqdq    %xmm2,%xmm9
+  .byte  243,15,16,80,8                      // movss         0x8(%rax),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  243,68,15,16,96,24                  // movss         0x18(%rax),%xmm12
+  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
+  .byte  15,40,217                           // movaps        %xmm1,%xmm3
+  .byte  15,89,218                           // mulps         %xmm2,%xmm3
+  .byte  15,89,208                           // mulps         %xmm0,%xmm2
+  .byte  65,15,88,212                        // addps         %xmm12,%xmm2
+  .byte  65,15,88,220                        // addps         %xmm12,%xmm3
+  .byte  65,15,89,218                        // mulps         %xmm10,%xmm3
+  .byte  65,15,89,210                        // mulps         %xmm10,%xmm2
+  .byte  65,15,88,211                        // addps         %xmm11,%xmm2
+  .byte  65,15,88,219                        // addps         %xmm11,%xmm3
+  .byte  243,15,91,219                       // cvttps2dq     %xmm3,%xmm3
+  .byte  242,15,112,219,232                  // pshuflw       $0xe8,%xmm3,%xmm3
+  .byte  243,15,112,219,232                  // pshufhw       $0xe8,%xmm3,%xmm3
+  .byte  102,15,112,219,232                  // pshufd        $0xe8,%xmm3,%xmm3
+  .byte  243,15,91,210                       // cvttps2dq     %xmm2,%xmm2
+  .byte  242,15,112,210,232                  // pshuflw       $0xe8,%xmm2,%xmm2
+  .byte  243,15,112,210,232                  // pshufhw       $0xe8,%xmm2,%xmm2
+  .byte  102,15,112,210,232                  // pshufd        $0xe8,%xmm2,%xmm2
+  .byte  102,15,108,211                      // punpcklqdq    %xmm3,%xmm2
+  .byte  243,15,16,88,12                     // movss         0xc(%rax),%xmm3
+  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
+  .byte  243,68,15,16,96,28                  // movss         0x1c(%rax),%xmm12
+  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
+  .byte  15,89,203                           // mulps         %xmm3,%xmm1
+  .byte  15,89,216                           // mulps         %xmm0,%xmm3
+  .byte  65,15,88,220                        // addps         %xmm12,%xmm3
+  .byte  65,15,88,204                        // addps         %xmm12,%xmm1
+  .byte  65,15,89,202                        // mulps         %xmm10,%xmm1
+  .byte  65,15,89,218                        // mulps         %xmm10,%xmm3
+  .byte  65,15,88,219                        // addps         %xmm11,%xmm3
+  .byte  65,15,88,203                        // addps         %xmm11,%xmm1
+  .byte  243,15,91,193                       // cvttps2dq     %xmm1,%xmm0
+  .byte  242,15,112,192,232                  // pshuflw       $0xe8,%xmm0,%xmm0
+  .byte  243,15,112,192,232                  // pshufhw       $0xe8,%xmm0,%xmm0
+  .byte  102,15,112,192,232                  // pshufd        $0xe8,%xmm0,%xmm0
+  .byte  243,15,91,203                       // cvttps2dq     %xmm3,%xmm1
+  .byte  242,15,112,201,232                  // pshuflw       $0xe8,%xmm1,%xmm1
+  .byte  243,15,112,201,232                  // pshufhw       $0xe8,%xmm1,%xmm1
+  .byte  102,15,112,217,232                  // pshufd        $0xe8,%xmm1,%xmm3
+  .byte  102,15,108,216                      // punpcklqdq    %xmm0,%xmm3
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,65,15,111,192                   // movdqa        %xmm8,%xmm0
+  .byte  102,65,15,111,201                   // movdqa        %xmm9,%xmm1
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xy_to_unit_angle_sse2_lowp
+.globl _sk_xy_to_unit_angle_sse2_lowp
+FUNCTION(_sk_xy_to_unit_angle_sse2_lowp)
+_sk_xy_to_unit_angle_sse2_lowp:
+  .byte  15,41,124,36,232                    // movaps        %xmm7,-0x18(%rsp)
+  .byte  15,40,254                           // movaps        %xmm6,%xmm7
+  .byte  15,40,245                           // movaps        %xmm5,%xmm6
+  .byte  15,40,236                           // movaps        %xmm4,%xmm5
+  .byte  15,40,227                           // movaps        %xmm3,%xmm4
+  .byte  15,40,218                           // movaps        %xmm2,%xmm3
+  .byte  15,40,209                           // movaps        %xmm1,%xmm2
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  68,15,40,37,171,22,0,0              // movaps        0x16ab(%rip),%xmm12        # 3d470 <_sk_srcover_bgra_8888_sse2_lowp+0x1224>
+  .byte  68,15,40,194                        // movaps        %xmm2,%xmm8
+  .byte  69,15,84,196                        // andps         %xmm12,%xmm8
+  .byte  68,15,40,217                        // movaps        %xmm1,%xmm11
+  .byte  69,15,84,220                        // andps         %xmm12,%xmm11
+  .byte  68,15,40,236                        // movaps        %xmm4,%xmm13
+  .byte  69,15,84,236                        // andps         %xmm12,%xmm13
+  .byte  68,15,84,227                        // andps         %xmm3,%xmm12
+  .byte  69,15,40,211                        // movaps        %xmm11,%xmm10
+  .byte  69,15,194,212,1                     // cmpltps       %xmm12,%xmm10
+  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
+  .byte  69,15,194,205,1                     // cmpltps       %xmm13,%xmm9
+  .byte  69,15,40,241                        // movaps        %xmm9,%xmm14
+  .byte  69,15,85,245                        // andnps        %xmm13,%xmm14
+  .byte  69,15,40,249                        // movaps        %xmm9,%xmm15
+  .byte  69,15,85,248                        // andnps        %xmm8,%xmm15
+  .byte  69,15,84,193                        // andps         %xmm9,%xmm8
+  .byte  69,15,86,198                        // orps          %xmm14,%xmm8
+  .byte  69,15,40,242                        // movaps        %xmm10,%xmm14
+  .byte  69,15,85,244                        // andnps        %xmm12,%xmm14
+  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
+  .byte  65,15,85,195                        // andnps        %xmm11,%xmm0
+  .byte  69,15,84,218                        // andps         %xmm10,%xmm11
+  .byte  69,15,86,222                        // orps          %xmm14,%xmm11
+  .byte  69,15,84,233                        // andps         %xmm9,%xmm13
+  .byte  69,15,86,239                        // orps          %xmm15,%xmm13
+  .byte  69,15,94,197                        // divps         %xmm13,%xmm8
+  .byte  69,15,84,226                        // andps         %xmm10,%xmm12
+  .byte  68,15,86,224                        // orps          %xmm0,%xmm12
+  .byte  69,15,94,220                        // divps         %xmm12,%xmm11
+  .byte  69,15,40,240                        // movaps        %xmm8,%xmm14
+  .byte  69,15,89,246                        // mulps         %xmm14,%xmm14
+  .byte  65,15,40,195                        // movaps        %xmm11,%xmm0
+  .byte  15,89,192                           // mulps         %xmm0,%xmm0
+  .byte  68,15,40,37,142,22,0,0              // movaps        0x168e(%rip),%xmm12        # 3d4e0 <_sk_srcover_bgra_8888_sse2_lowp+0x1294>
+  .byte  68,15,40,232                        // movaps        %xmm0,%xmm13
+  .byte  69,15,89,236                        // mulps         %xmm12,%xmm13
+  .byte  69,15,89,230                        // mulps         %xmm14,%xmm12
+  .byte  68,15,40,61,138,22,0,0              // movaps        0x168a(%rip),%xmm15        # 3d4f0 <_sk_srcover_bgra_8888_sse2_lowp+0x12a4>
+  .byte  69,15,88,231                        // addps         %xmm15,%xmm12
+  .byte  69,15,88,239                        // addps         %xmm15,%xmm13
+  .byte  68,15,89,232                        // mulps         %xmm0,%xmm13
+  .byte  69,15,89,230                        // mulps         %xmm14,%xmm12
+  .byte  68,15,40,61,130,22,0,0              // movaps        0x1682(%rip),%xmm15        # 3d500 <_sk_srcover_bgra_8888_sse2_lowp+0x12b4>
+  .byte  69,15,88,231                        // addps         %xmm15,%xmm12
+  .byte  69,15,88,239                        // addps         %xmm15,%xmm13
+  .byte  68,15,89,232                        // mulps         %xmm0,%xmm13
+  .byte  69,15,89,230                        // mulps         %xmm14,%xmm12
+  .byte  15,40,5,123,22,0,0                  // movaps        0x167b(%rip),%xmm0        # 3d510 <_sk_srcover_bgra_8888_sse2_lowp+0x12c4>
+  .byte  68,15,88,224                        // addps         %xmm0,%xmm12
+  .byte  68,15,88,232                        // addps         %xmm0,%xmm13
+  .byte  69,15,89,235                        // mulps         %xmm11,%xmm13
+  .byte  69,15,89,224                        // mulps         %xmm8,%xmm12
+  .byte  15,40,5,116,22,0,0                  // movaps        0x1674(%rip),%xmm0        # 3d520 <_sk_srcover_bgra_8888_sse2_lowp+0x12d4>
+  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
+  .byte  65,15,92,197                        // subps         %xmm13,%xmm0
+  .byte  65,15,84,194                        // andps         %xmm10,%xmm0
+  .byte  69,15,85,213                        // andnps        %xmm13,%xmm10
+  .byte  69,15,92,196                        // subps         %xmm12,%xmm8
+  .byte  68,15,86,208                        // orps          %xmm0,%xmm10
+  .byte  69,15,84,193                        // andps         %xmm9,%xmm8
+  .byte  69,15,85,204                        // andnps        %xmm12,%xmm9
+  .byte  69,15,86,200                        // orps          %xmm8,%xmm9
+  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
+  .byte  65,15,194,200,1                     // cmpltps       %xmm8,%xmm1
+  .byte  15,40,5,32,16,0,0                   // movaps        0x1020(%rip),%xmm0        # 3cf00 <_sk_srcover_bgra_8888_sse2_lowp+0xcb4>
+  .byte  68,15,40,216                        // movaps        %xmm0,%xmm11
+  .byte  65,15,92,194                        // subps         %xmm10,%xmm0
+  .byte  15,84,193                           // andps         %xmm1,%xmm0
+  .byte  65,15,85,202                        // andnps        %xmm10,%xmm1
+  .byte  65,15,194,208,1                     // cmpltps       %xmm8,%xmm2
+  .byte  69,15,92,217                        // subps         %xmm9,%xmm11
+  .byte  15,86,200                           // orps          %xmm0,%xmm1
+  .byte  68,15,84,218                        // andps         %xmm2,%xmm11
+  .byte  65,15,85,209                        // andnps        %xmm9,%xmm2
+  .byte  65,15,86,211                        // orps          %xmm11,%xmm2
+  .byte  68,15,40,219                        // movaps        %xmm3,%xmm11
+  .byte  69,15,194,216,1                     // cmpltps       %xmm8,%xmm11
+  .byte  68,15,40,13,248,15,0,0              // movaps        0xff8(%rip),%xmm9        # 3cf10 <_sk_srcover_bgra_8888_sse2_lowp+0xcc4>
+  .byte  69,15,40,209                        // movaps        %xmm9,%xmm10
+  .byte  68,15,92,201                        // subps         %xmm1,%xmm9
+  .byte  69,15,84,203                        // andps         %xmm11,%xmm9
+  .byte  68,15,85,217                        // andnps        %xmm1,%xmm11
+  .byte  69,15,86,217                        // orps          %xmm9,%xmm11
+  .byte  15,40,196                           // movaps        %xmm4,%xmm0
+  .byte  65,15,194,192,1                     // cmpltps       %xmm8,%xmm0
+  .byte  68,15,92,210                        // subps         %xmm2,%xmm10
+  .byte  68,15,84,208                        // andps         %xmm0,%xmm10
+  .byte  15,85,194                           // andnps        %xmm2,%xmm0
+  .byte  65,15,86,194                        // orps          %xmm10,%xmm0
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  65,15,194,200,7                     // cmpordps      %xmm8,%xmm1
+  .byte  69,15,194,195,7                     // cmpordps      %xmm11,%xmm8
+  .byte  69,15,84,195                        // andps         %xmm11,%xmm8
+  .byte  15,84,200                           // andps         %xmm0,%xmm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  15,40,211                           // movaps        %xmm3,%xmm2
+  .byte  15,40,220                           // movaps        %xmm4,%xmm3
+  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
+  .byte  15,40,229                           // movaps        %xmm5,%xmm4
+  .byte  15,40,238                           // movaps        %xmm6,%xmm5
+  .byte  15,40,247                           // movaps        %xmm7,%xmm6
+  .byte  15,40,124,36,232                    // movaps        -0x18(%rsp),%xmm7
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_xy_to_radius_sse2_lowp
+.globl _sk_xy_to_radius_sse2_lowp
+FUNCTION(_sk_xy_to_radius_sse2_lowp)
+_sk_xy_to_radius_sse2_lowp:
+  .byte  15,89,192                           // mulps         %xmm0,%xmm0
+  .byte  15,89,201                           // mulps         %xmm1,%xmm1
+  .byte  68,15,40,194                        // movaps        %xmm2,%xmm8
+  .byte  69,15,89,192                        // mulps         %xmm8,%xmm8
+  .byte  68,15,88,192                        // addps         %xmm0,%xmm8
+  .byte  68,15,40,203                        // movaps        %xmm3,%xmm9
+  .byte  69,15,89,201                        // mulps         %xmm9,%xmm9
+  .byte  68,15,88,201                        // addps         %xmm1,%xmm9
+  .byte  65,15,81,192                        // sqrtps        %xmm8,%xmm0
+  .byte  65,15,81,201                        // sqrtps        %xmm9,%xmm1
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  255,224                             // jmpq          *%rax
+
+HIDDEN _sk_srcover_rgba_8888_sse2_lowp
+.globl _sk_srcover_rgba_8888_sse2_lowp
+FUNCTION(_sk_srcover_rgba_8888_sse2_lowp)
+_sk_srcover_rgba_8888_sse2_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  65,137,250                          // mov           %edi,%r10d
+  .byte  65,128,226,7                        // and           $0x7,%r10b
+  .byte  65,254,202                          // dec           %r10b
+  .byte  69,15,182,202                       // movzbl        %r10b,%r9d
+  .byte  65,128,249,6                        // cmp           $0x6,%r9b
+  .byte  119,38                              // ja            3bfe8 <_sk_srcover_rgba_8888_sse2_lowp+0x4b>
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  76,141,29,70,2,0,0                  // lea           0x246(%rip),%r11        # 3c214 <_sk_srcover_rgba_8888_sse2_lowp+0x277>
+  .byte  75,99,4,139                         // movslq        (%r11,%r9,4),%rax
+  .byte  76,1,216                            // add           %r11,%rax
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  255,224                             // jmpq          *%rax
+  .byte  243,65,15,16,60,144                 // movss         (%r8,%rdx,4),%xmm7
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  235,102                             // jmp           3c04e <_sk_srcover_rgba_8888_sse2_lowp+0xb1>
+  .byte  102,65,15,16,60,144                 // movupd        (%r8,%rdx,4),%xmm7
+  .byte  243,69,15,111,68,144,16             // movdqu        0x10(%r8,%rdx,4),%xmm8
+  .byte  235,87                              // jmp           3c04e <_sk_srcover_rgba_8888_sse2_lowp+0xb1>
+  .byte  102,65,15,110,100,144,8             // movd          0x8(%r8,%rdx,4),%xmm4
+  .byte  102,68,15,112,196,69                // pshufd        $0x45,%xmm4,%xmm8
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  102,69,15,18,4,144                  // movlpd        (%r8,%rdx,4),%xmm8
+  .byte  102,65,15,40,248                    // movapd        %xmm8,%xmm7
+  .byte  102,68,15,111,196                   // movdqa        %xmm4,%xmm8
+  .byte  235,52                              // jmp           3c04e <_sk_srcover_rgba_8888_sse2_lowp+0xb1>
+  .byte  102,65,15,110,100,144,24            // movd          0x18(%r8,%rdx,4),%xmm4
+  .byte  102,68,15,112,196,69                // pshufd        $0x45,%xmm4,%xmm8
+  .byte  243,65,15,16,100,144,20             // movss         0x14(%r8,%rdx,4),%xmm4
+  .byte  65,15,198,224,0                     // shufps        $0x0,%xmm8,%xmm4
+  .byte  65,15,198,224,226                   // shufps        $0xe2,%xmm8,%xmm4
+  .byte  68,15,40,196                        // movaps        %xmm4,%xmm8
+  .byte  243,65,15,16,100,144,16             // movss         0x10(%r8,%rdx,4),%xmm4
+  .byte  243,68,15,16,196                    // movss         %xmm4,%xmm8
+  .byte  102,65,15,16,60,144                 // movupd        (%r8,%rdx,4),%xmm7
+  .byte  102,15,40,239                       // movapd        %xmm7,%xmm5
+  .byte  102,15,114,245,16                   // pslld         $0x10,%xmm5
+  .byte  102,15,114,229,16                   // psrad         $0x10,%xmm5
+  .byte  102,65,15,111,224                   // movdqa        %xmm8,%xmm4
+  .byte  102,15,114,244,16                   // pslld         $0x10,%xmm4
+  .byte  102,15,114,228,16                   // psrad         $0x10,%xmm4
+  .byte  102,15,107,236                      // packssdw      %xmm4,%xmm5
+  .byte  102,68,15,111,37,56,14,0,0          // movdqa        0xe38(%rip),%xmm12        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,15,111,229                      // movdqa        %xmm5,%xmm4
+  .byte  102,65,15,219,228                   // pand          %xmm12,%xmm4
+  .byte  102,15,113,213,8                    // psrlw         $0x8,%xmm5
+  .byte  102,69,15,111,200                   // movdqa        %xmm8,%xmm9
+  .byte  102,65,15,114,209,16                // psrld         $0x10,%xmm9
+  .byte  102,15,40,247                       // movapd        %xmm7,%xmm6
+  .byte  102,15,114,214,16                   // psrld         $0x10,%xmm6
+  .byte  102,15,114,215,24                   // psrld         $0x18,%xmm7
+  .byte  102,15,114,247,16                   // pslld         $0x10,%xmm7
+  .byte  102,15,114,231,16                   // psrad         $0x10,%xmm7
+  .byte  102,65,15,114,208,24                // psrld         $0x18,%xmm8
+  .byte  102,65,15,114,240,16                // pslld         $0x10,%xmm8
+  .byte  102,65,15,114,224,16                // psrad         $0x10,%xmm8
+  .byte  102,65,15,107,248                   // packssdw      %xmm8,%xmm7
+  .byte  102,15,114,246,16                   // pslld         $0x10,%xmm6
+  .byte  102,15,114,230,16                   // psrad         $0x10,%xmm6
+  .byte  102,65,15,114,241,16                // pslld         $0x10,%xmm9
+  .byte  102,65,15,114,225,16                // psrad         $0x10,%xmm9
+  .byte  102,65,15,107,241                   // packssdw      %xmm9,%xmm6
+  .byte  102,65,15,219,244                   // pand          %xmm12,%xmm6
+  .byte  102,69,15,111,196                   // movdqa        %xmm12,%xmm8
+  .byte  102,68,15,249,195                   // psubw         %xmm3,%xmm8
+  .byte  102,68,15,111,204                   // movdqa        %xmm4,%xmm9
+  .byte  102,69,15,213,200                   // pmullw        %xmm8,%xmm9
+  .byte  102,69,15,253,204                   // paddw         %xmm12,%xmm9
+  .byte  102,65,15,113,209,8                 // psrlw         $0x8,%xmm9
+  .byte  102,68,15,253,200                   // paddw         %xmm0,%xmm9
+  .byte  102,68,15,111,213                   // movdqa        %xmm5,%xmm10
+  .byte  102,69,15,213,208                   // pmullw        %xmm8,%xmm10
+  .byte  102,69,15,253,212                   // paddw         %xmm12,%xmm10
+  .byte  102,65,15,113,210,8                 // psrlw         $0x8,%xmm10
+  .byte  102,68,15,253,209                   // paddw         %xmm1,%xmm10
+  .byte  102,68,15,111,222                   // movdqa        %xmm6,%xmm11
+  .byte  102,69,15,213,216                   // pmullw        %xmm8,%xmm11
+  .byte  102,69,15,253,220                   // paddw         %xmm12,%xmm11
+  .byte  102,65,15,113,211,8                 // psrlw         $0x8,%xmm11
+  .byte  102,68,15,253,218                   // paddw         %xmm2,%xmm11
+  .byte  102,68,15,213,199                   // pmullw        %xmm7,%xmm8
+  .byte  102,69,15,253,196                   // paddw         %xmm12,%xmm8
+  .byte  102,65,15,113,208,8                 // psrlw         $0x8,%xmm8
+  .byte  102,68,15,253,195                   // paddw         %xmm3,%xmm8
+  .byte  102,65,15,111,210                   // movdqa        %xmm10,%xmm2
+  .byte  102,15,113,242,8                    // psllw         $0x8,%xmm2
+  .byte  102,65,15,235,209                   // por           %xmm9,%xmm2
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  102,15,111,218                      // movdqa        %xmm2,%xmm3
+  .byte  102,15,97,216                       // punpcklwd     %xmm0,%xmm3
+  .byte  102,15,105,208                      // punpckhwd     %xmm0,%xmm2
+  .byte  102,65,15,111,200                   // movdqa        %xmm8,%xmm1
+  .byte  102,15,113,241,8                    // psllw         $0x8,%xmm1
+  .byte  102,65,15,235,203                   // por           %xmm11,%xmm1
+  .byte  102,69,15,239,228                   // pxor          %xmm12,%xmm12
+  .byte  102,68,15,97,225                    // punpcklwd     %xmm1,%xmm12
+  .byte  102,68,15,235,227                   // por           %xmm3,%xmm12
+  .byte  102,15,105,193                      // punpckhwd     %xmm1,%xmm0
+  .byte  102,15,235,194                      // por           %xmm2,%xmm0
+  .byte  65,128,250,6                        // cmp           $0x6,%r10b
+  .byte  119,24                              // ja            3c1b0 <_sk_srcover_rgba_8888_sse2_lowp+0x213>
+  .byte  76,141,21,145,0,0,0                 // lea           0x91(%rip),%r10        # 3c230 <_sk_srcover_rgba_8888_sse2_lowp+0x293>
+  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
+  .byte  76,1,208                            // add           %r10,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,69,15,126,36,144                // movd          %xmm12,(%r8,%rdx,4)
+  .byte  235,73                              // jmp           3c1f9 <_sk_srcover_rgba_8888_sse2_lowp+0x25c>
+  .byte  243,69,15,127,36,144                // movdqu        %xmm12,(%r8,%rdx,4)
+  .byte  243,65,15,127,68,144,16             // movdqu        %xmm0,0x10(%r8,%rdx,4)
+  .byte  235,58                              // jmp           3c1f9 <_sk_srcover_rgba_8888_sse2_lowp+0x25c>
+  .byte  102,65,15,112,196,78                // pshufd        $0x4e,%xmm12,%xmm0
+  .byte  102,65,15,126,68,144,8              // movd          %xmm0,0x8(%r8,%rdx,4)
+  .byte  102,69,15,214,36,144                // movq          %xmm12,(%r8,%rdx,4)
+  .byte  235,37                              // jmp           3c1f9 <_sk_srcover_rgba_8888_sse2_lowp+0x25c>
+  .byte  102,15,112,200,78                   // pshufd        $0x4e,%xmm0,%xmm1
+  .byte  102,65,15,126,76,144,24             // movd          %xmm1,0x18(%r8,%rdx,4)
+  .byte  102,15,112,200,229                  // pshufd        $0xe5,%xmm0,%xmm1
+  .byte  102,65,15,126,76,144,20             // movd          %xmm1,0x14(%r8,%rdx,4)
+  .byte  102,65,15,126,68,144,16             // movd          %xmm0,0x10(%r8,%rdx,4)
+  .byte  243,69,15,127,36,144                // movdqu        %xmm12,(%r8,%rdx,4)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,65,15,111,193                   // movdqa        %xmm9,%xmm0
+  .byte  102,65,15,111,202                   // movdqa        %xmm10,%xmm1
+  .byte  102,65,15,111,211                   // movdqa        %xmm11,%xmm2
+  .byte  102,65,15,111,216                   // movdqa        %xmm8,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+  .byte  15,31,0                             // nopl          (%rax)
+  .byte  199                                 // (bad)
+  .byte  253                                 // std
+  .byte  255                                 // (bad)
+  .byte  255,244                             // push          %rsp
+  .byte  253                                 // std
+  .byte  255                                 // (bad)
+  .byte  255,227                             // jmpq          *%rbx
+  .byte  253                                 // std
+  .byte  255                                 // (bad)
+  .byte  255,52,254                          // pushq         (%rsi,%rdi,8)
+  .byte  255                                 // (bad)
+  .byte  255,40                              // ljmp          *(%rax)
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,19                              // callq         *(%rbx)
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,6                               // incl          (%rsi)
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  120,255                             // js            3c231 <_sk_srcover_rgba_8888_sse2_lowp+0x294>
+  .byte  255                                 // (bad)
+  .byte  255,156,255,255,255,143,255         // lcall         *-0x700001(%rdi,%rdi,8)
+  .byte  255                                 // (bad)
+  .byte  255,195                             // inc           %ebx
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  188,255,255,255,176                 // mov           $0xb0ffffff,%esp
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+  .byte  164                                 // movsb         %ds:(%rsi),%es:(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+HIDDEN _sk_srcover_bgra_8888_sse2_lowp
+.globl _sk_srcover_bgra_8888_sse2_lowp
+FUNCTION(_sk_srcover_bgra_8888_sse2_lowp)
+_sk_srcover_bgra_8888_sse2_lowp:
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  76,99,64,8                          // movslq        0x8(%rax),%r8
+  .byte  76,15,175,193                       // imul          %rcx,%r8
+  .byte  73,193,224,2                        // shl           $0x2,%r8
+  .byte  76,3,0                              // add           (%rax),%r8
+  .byte  65,137,250                          // mov           %edi,%r10d
+  .byte  65,128,226,7                        // and           $0x7,%r10b
+  .byte  65,254,202                          // dec           %r10b
+  .byte  69,15,182,202                       // movzbl        %r10b,%r9d
+  .byte  65,128,249,6                        // cmp           $0x6,%r9b
+  .byte  119,38                              // ja            3c297 <_sk_srcover_bgra_8888_sse2_lowp+0x4b>
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  76,141,29,67,2,0,0                  // lea           0x243(%rip),%r11        # 3c4c0 <_sk_srcover_bgra_8888_sse2_lowp+0x274>
+  .byte  75,99,4,139                         // movslq        (%r11,%r9,4),%rax
+  .byte  76,1,216                            // add           %r11,%rax
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  255,224                             // jmpq          *%rax
+  .byte  243,65,15,16,60,144                 // movss         (%r8,%rdx,4),%xmm7
+  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
+  .byte  235,102                             // jmp           3c2fd <_sk_srcover_bgra_8888_sse2_lowp+0xb1>
+  .byte  102,65,15,16,60,144                 // movupd        (%r8,%rdx,4),%xmm7
+  .byte  243,69,15,111,68,144,16             // movdqu        0x10(%r8,%rdx,4),%xmm8
+  .byte  235,87                              // jmp           3c2fd <_sk_srcover_bgra_8888_sse2_lowp+0xb1>
+  .byte  102,65,15,110,100,144,8             // movd          0x8(%r8,%rdx,4),%xmm4
+  .byte  102,68,15,112,196,69                // pshufd        $0x45,%xmm4,%xmm8
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  102,69,15,18,4,144                  // movlpd        (%r8,%rdx,4),%xmm8
+  .byte  102,65,15,40,248                    // movapd        %xmm8,%xmm7
+  .byte  102,68,15,111,196                   // movdqa        %xmm4,%xmm8
+  .byte  235,52                              // jmp           3c2fd <_sk_srcover_bgra_8888_sse2_lowp+0xb1>
+  .byte  102,65,15,110,100,144,24            // movd          0x18(%r8,%rdx,4),%xmm4
+  .byte  102,68,15,112,196,69                // pshufd        $0x45,%xmm4,%xmm8
+  .byte  243,65,15,16,100,144,20             // movss         0x14(%r8,%rdx,4),%xmm4
+  .byte  65,15,198,224,0                     // shufps        $0x0,%xmm8,%xmm4
+  .byte  65,15,198,224,226                   // shufps        $0xe2,%xmm8,%xmm4
+  .byte  68,15,40,196                        // movaps        %xmm4,%xmm8
+  .byte  243,65,15,16,100,144,16             // movss         0x10(%r8,%rdx,4),%xmm4
+  .byte  243,68,15,16,196                    // movss         %xmm4,%xmm8
+  .byte  102,65,15,16,60,144                 // movupd        (%r8,%rdx,4),%xmm7
+  .byte  102,15,40,239                       // movapd        %xmm7,%xmm5
+  .byte  102,15,114,245,16                   // pslld         $0x10,%xmm5
+  .byte  102,15,114,229,16                   // psrad         $0x10,%xmm5
+  .byte  102,65,15,111,224                   // movdqa        %xmm8,%xmm4
+  .byte  102,15,114,244,16                   // pslld         $0x10,%xmm4
+  .byte  102,15,114,228,16                   // psrad         $0x10,%xmm4
+  .byte  102,15,107,236                      // packssdw      %xmm4,%xmm5
+  .byte  102,68,15,111,37,137,11,0,0         // movdqa        0xb89(%rip),%xmm12        # 3ceb0 <_sk_srcover_bgra_8888_sse2_lowp+0xc64>
+  .byte  102,15,111,245                      // movdqa        %xmm5,%xmm6
+  .byte  102,65,15,219,244                   // pand          %xmm12,%xmm6
+  .byte  102,15,113,213,8                    // psrlw         $0x8,%xmm5
+  .byte  102,69,15,111,200                   // movdqa        %xmm8,%xmm9
+  .byte  102,65,15,114,209,16                // psrld         $0x10,%xmm9
+  .byte  102,15,40,231                       // movapd        %xmm7,%xmm4
+  .byte  102,15,114,212,16                   // psrld         $0x10,%xmm4
+  .byte  102,15,114,215,24                   // psrld         $0x18,%xmm7
+  .byte  102,15,114,247,16                   // pslld         $0x10,%xmm7
+  .byte  102,15,114,231,16                   // psrad         $0x10,%xmm7
+  .byte  102,65,15,114,208,24                // psrld         $0x18,%xmm8
+  .byte  102,65,15,114,240,16                // pslld         $0x10,%xmm8
+  .byte  102,65,15,114,224,16                // psrad         $0x10,%xmm8
+  .byte  102,65,15,107,248                   // packssdw      %xmm8,%xmm7
+  .byte  102,15,114,244,16                   // pslld         $0x10,%xmm4
+  .byte  102,15,114,228,16                   // psrad         $0x10,%xmm4
+  .byte  102,65,15,114,241,16                // pslld         $0x10,%xmm9
+  .byte  102,65,15,114,225,16                // psrad         $0x10,%xmm9
+  .byte  102,65,15,107,225                   // packssdw      %xmm9,%xmm4
+  .byte  102,65,15,219,228                   // pand          %xmm12,%xmm4
+  .byte  102,69,15,111,196                   // movdqa        %xmm12,%xmm8
+  .byte  102,68,15,249,195                   // psubw         %xmm3,%xmm8
+  .byte  102,68,15,111,204                   // movdqa        %xmm4,%xmm9
+  .byte  102,69,15,213,200                   // pmullw        %xmm8,%xmm9
+  .byte  102,69,15,253,204                   // paddw         %xmm12,%xmm9
+  .byte  102,65,15,113,209,8                 // psrlw         $0x8,%xmm9
+  .byte  102,68,15,253,200                   // paddw         %xmm0,%xmm9
+  .byte  102,68,15,111,213                   // movdqa        %xmm5,%xmm10
+  .byte  102,69,15,213,208                   // pmullw        %xmm8,%xmm10
+  .byte  102,69,15,253,212                   // paddw         %xmm12,%xmm10
+  .byte  102,65,15,113,210,8                 // psrlw         $0x8,%xmm10
+  .byte  102,68,15,253,209                   // paddw         %xmm1,%xmm10
+  .byte  102,68,15,111,222                   // movdqa        %xmm6,%xmm11
+  .byte  102,69,15,213,216                   // pmullw        %xmm8,%xmm11
+  .byte  102,69,15,253,220                   // paddw         %xmm12,%xmm11
+  .byte  102,65,15,113,211,8                 // psrlw         $0x8,%xmm11
+  .byte  102,68,15,253,218                   // paddw         %xmm2,%xmm11
+  .byte  102,68,15,213,199                   // pmullw        %xmm7,%xmm8
+  .byte  102,69,15,253,196                   // paddw         %xmm12,%xmm8
+  .byte  102,65,15,113,208,8                 // psrlw         $0x8,%xmm8
+  .byte  102,68,15,253,195                   // paddw         %xmm3,%xmm8
+  .byte  102,65,15,111,210                   // movdqa        %xmm10,%xmm2
+  .byte  102,15,113,242,8                    // psllw         $0x8,%xmm2
+  .byte  102,65,15,235,211                   // por           %xmm11,%xmm2
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  102,15,111,218                      // movdqa        %xmm2,%xmm3
+  .byte  102,15,97,216                       // punpcklwd     %xmm0,%xmm3
+  .byte  102,15,105,208                      // punpckhwd     %xmm0,%xmm2
+  .byte  102,65,15,111,200                   // movdqa        %xmm8,%xmm1
+  .byte  102,15,113,241,8                    // psllw         $0x8,%xmm1
+  .byte  102,65,15,235,201                   // por           %xmm9,%xmm1
+  .byte  102,69,15,239,228                   // pxor          %xmm12,%xmm12
+  .byte  102,68,15,97,225                    // punpcklwd     %xmm1,%xmm12
+  .byte  102,68,15,235,227                   // por           %xmm3,%xmm12
+  .byte  102,15,105,193                      // punpckhwd     %xmm1,%xmm0
+  .byte  102,15,235,194                      // por           %xmm2,%xmm0
+  .byte  65,128,250,6                        // cmp           $0x6,%r10b
+  .byte  119,24                              // ja            3c45f <_sk_srcover_bgra_8888_sse2_lowp+0x213>
+  .byte  76,141,21,142,0,0,0                 // lea           0x8e(%rip),%r10        # 3c4dc <_sk_srcover_bgra_8888_sse2_lowp+0x290>
+  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
+  .byte  76,1,208                            // add           %r10,%rax
+  .byte  255,224                             // jmpq          *%rax
+  .byte  102,69,15,126,36,144                // movd          %xmm12,(%r8,%rdx,4)
+  .byte  235,73                              // jmp           3c4a8 <_sk_srcover_bgra_8888_sse2_lowp+0x25c>
+  .byte  243,69,15,127,36,144                // movdqu        %xmm12,(%r8,%rdx,4)
+  .byte  243,65,15,127,68,144,16             // movdqu        %xmm0,0x10(%r8,%rdx,4)
+  .byte  235,58                              // jmp           3c4a8 <_sk_srcover_bgra_8888_sse2_lowp+0x25c>
+  .byte  102,65,15,112,196,78                // pshufd        $0x4e,%xmm12,%xmm0
+  .byte  102,65,15,126,68,144,8              // movd          %xmm0,0x8(%r8,%rdx,4)
+  .byte  102,69,15,214,36,144                // movq          %xmm12,(%r8,%rdx,4)
+  .byte  235,37                              // jmp           3c4a8 <_sk_srcover_bgra_8888_sse2_lowp+0x25c>
+  .byte  102,15,112,200,78                   // pshufd        $0x4e,%xmm0,%xmm1
+  .byte  102,65,15,126,76,144,24             // movd          %xmm1,0x18(%r8,%rdx,4)
+  .byte  102,15,112,200,229                  // pshufd        $0xe5,%xmm0,%xmm1
+  .byte  102,65,15,126,76,144,20             // movd          %xmm1,0x14(%r8,%rdx,4)
+  .byte  102,65,15,126,68,144,16             // movd          %xmm0,0x10(%r8,%rdx,4)
+  .byte  243,69,15,127,36,144                // movdqu        %xmm12,(%r8,%rdx,4)
+  .byte  72,173                              // lods          %ds:(%rsi),%rax
+  .byte  102,65,15,111,193                   // movdqa        %xmm9,%xmm0
+  .byte  102,65,15,111,202                   // movdqa        %xmm10,%xmm1
+  .byte  102,65,15,111,211                   // movdqa        %xmm11,%xmm2
+  .byte  102,65,15,111,216                   // movdqa        %xmm8,%xmm3
+  .byte  255,224                             // jmpq          *%rax
+  .byte  202,253,255                         // lret          $0xfffd
+  .byte  255,247                             // push          %rdi
+  .byte  253                                 // std
+  .byte  255                                 // (bad)
+  .byte  255,230                             // jmpq          *%rsi
+  .byte  253                                 // std
+  .byte  255                                 // (bad)
+  .byte  255,55                              // pushq         (%rdi)
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,43                              // ljmp          *(%rbx)
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,22                              // callq         *(%rsi)
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,9                               // decl          (%rcx)
+  .byte  254                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  123,255                             // jnp           3c4dd <_sk_srcover_bgra_8888_sse2_lowp+0x291>
+  .byte  255                                 // (bad)
+  .byte  255,159,255,255,255,146             // lcall         *-0x6d000001(%rdi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,198                             // inc           %esi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  191,255,255,255,179                 // mov           $0xb3ffffff,%edi
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+  .byte  167                                 // cmpsl         %es:(%rdi),%ds:(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // .byte         0xff
+
+BALIGN4
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,63                                // add           %bh,(%rdi)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  128,63,1                            // cmpb          $0x1,(%rdi)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,4,0                               // add           %al,(%rax,%rax,1)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  2,0                                 // add           (%rax),%al
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  128,60,0,0                          // cmpb          $0x0,(%rax,%rax,1)
+  .byte  252                                 // cld
+  .byte  190,0,0,128,191                     // mov           $0xbf800000,%esi
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  224,64                              // loopne        3c55c <.literal4+0x64>
+  .byte  154                                 // (bad)
+  .byte  153                                 // cltd
+  .byte  153                                 // cltd
+  .byte  62,61,10,23,63,174                  // ds            cmp $0xae3f170a,%eax
+  .byte  71,225,61                           // rex.RXB       loope 3c565 <.literal4+0x6d>
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  127,67                              // jg            3c56f <.literal4+0x77>
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  128,127,145,131                     // cmpb          $0x83,-0x6f(%rdi)
+  .byte  158                                 // sahf
+  .byte  61,92,143,50,63                     // cmp           $0x3f328f5c,%eax
+  .byte  10,215                              // or            %bh,%dl
+  .byte  35,59                               // and           (%rbx),%edi
+  .byte  174                                 // scas          %es:(%rdi),%al
+  .byte  71,97                               // rex.RXB       (bad)
+  .byte  61,82,184,78,65                     // cmp           $0x414eb852,%eax
+  .byte  186,159,98,60,57                    // mov           $0x393c629f,%edx
+  .byte  215                                 // xlat          %ds:(%rbx)
+  .byte  32,187,180,164,144,63               // and           %bh,0x3f90a4b4(%rbx)
+  .byte  252                                 // cld
+  .byte  199                                 // (bad)
+  .byte  16,62                               // adc           %bh,(%rsi)
+  .byte  168,177                             // test          $0xb1,%al
+  .byte  152                                 // cwtl
+  .byte  59,0                                // cmp           (%rax),%eax
+  .byte  0,192                               // add           %al,%al
+  .byte  64,0,0                              // add           %al,(%rax)
+  .byte  0,64,0                              // add           %al,0x0(%rax)
+  .byte  0,128,64,171,170,42                 // add           %al,0x2aaaab40(%rax)
+  .byte  62,171                              // ds            stos %eax,%es:(%rdi)
+  .byte  170                                 // stos          %al,%es:(%rdi)
+  .byte  170                                 // stos          %al,%es:(%rdi)
+  .byte  62,171                              // ds            stos %eax,%es:(%rdi)
+  .byte  170                                 // stos          %al,%es:(%rdi)
+  .byte  42,63                               // sub           (%rdi),%bh
+  .byte  171                                 // stos          %eax,%es:(%rdi)
+  .byte  170                                 // stos          %al,%es:(%rdi)
+  .byte  170                                 // stos          %al,%es:(%rdi)
+  .byte  190,129,128,128,59                  // mov           $0x3b808081,%esi
+  .byte  0,248                               // add           %bh,%al
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  8,33                                // or            %ah,(%rcx)
+  .byte  132,55                              // test          %dh,(%rdi)
+  .byte  224,7                               // loopne        3c589 <.literal4+0x91>
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  33,8                                // and           %ecx,(%rax)
+  .byte  2,58                                // add           (%rdx),%bh
+  .byte  31                                  // (bad)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,8                                 // add           %cl,(%rax)
+  .byte  33,4,61,128,0,128,55                // and           %eax,0x37800080(,%rdi,1)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,52,255                            // add           %dh,(%rdi,%rdi,8)
+  .byte  255                                 // (bad)
+  .byte  127,0                               // jg            3c59c <.literal4+0xa4>
+  .byte  119,115                             // ja            3c611 <.literal4+0x119>
+  .byte  248                                 // clc
+  .byte  194,117,191                         // retq          $0xbf75
+  .byte  191,63,249,68,180                   // mov           $0xb444f93f,%edi
+  .byte  62,163,233,220,63,81,140,242,66,141 // movabs        %eax,%ds:0x8d42f28c513fdce9
+  .byte  188,190,63,248,245                  // mov           $0xf5f83fbe,%esp
+  .byte  154                                 // (bad)
+  .byte  64,254                              // rex           (bad)
+  .byte  210,221                             // rcr           %cl,%ch
+  .byte  65,0,0                              // add           %al,(%r8)
+  .byte  0,75,0                              // add           %cl,0x0(%rbx)
+  .byte  0,200                               // add           %cl,%al
+  .byte  66,0,0                              // rex.X         add %al,(%rax)
+  .byte  0,195                               // add           %al,%bl
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  128,65,203,61                       // addb          $0x3d,-0x35(%rcx)
+  .byte  13,60,111,18,3                      // or            $0x3126f3c,%eax
+  .byte  59,10                               // cmp           (%rdx),%ecx
+  .byte  215                                 // xlat          %ds:(%rbx)
+  .byte  163,59,194,24,17,60,203,61,13       // movabs        %eax,0xd3dcb3c1118c23b
+  .byte  190,80,128,3,62                     // mov           $0x3e038050,%esi
+  .byte  31                                  // (bad)
+  .byte  215                                 // xlat          %ds:(%rbx)
+  .byte  118,63                              // jbe           3c627 <.literal4+0x12f>
+  .byte  246,64,83,63                        // testb         $0x3f,0x53(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  248                                 // clc
+  .byte  65,0,0                              // add           %al,(%r8)
+  .byte  124,66                              // jl            3c636 <.literal4+0x13e>
+  .byte  0,240                               // add           %dh,%al
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  137,136,136,55,0,15                 // mov           %ecx,0xf003788(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  137,136,136,57,240,0                // mov           %ecx,0xf03988(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  137,136,136,59,15,0                 // mov           %ecx,0xf3b88(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  137,136,136,61,0,0                  // mov           %ecx,0x3d88(%rax)
+  .byte  112,65                              // jo            3c659 <.literal4+0x161>
+  .byte  255,3                               // incl          (%rbx)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  8,32                                // or            %ah,(%rax)
+  .byte  128,58,0                            // cmpb          $0x0,(%rdx)
+  .byte  192,127,68,0                        // sarb          $0x0,0x44(%rdi)
+  .byte  0,64,64                             // add           %al,0x40(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  127,71                              // jg            3c673 <.literal4+0x17b>
+  .byte  89                                  // pop           %rcx
+  .byte  23                                  // (bad)
+  .byte  55                                  // (bad)
+  .byte  63                                  // (bad)
+  .byte  208                                 // (bad)
+  .byte  179,89                              // mov           $0x59,%bl
+  .byte  62,152                              // ds            cwtl
+  .byte  221,147,61,111,43,231               // fstl          -0x18d490c3(%rbx)
+  .byte  187,159,215,202,60                  // mov           $0x3ccad79f,%ebx
+  .byte  212                                 // (bad)
+  .byte  100,84                              // fs            push %rsp
+  .byte  189,169,240,34,62                   // mov           $0x3e22f0a9,%ebp
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  128,62,0                            // cmpb          $0x0,(%rsi)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  128,0,0                             // addb          $0x0,(%rax)
+  .byte  0,191,0,0,192,191                   // add           %bh,-0x40400000(%rdi)
+  .byte  114,28                              // jb            3c676 <.literal4+0x17e>
+  .byte  199                                 // (bad)
+  .byte  62,85                               // ds            push %rbp
+  .byte  85                                  // push          %rbp
+  .byte  149                                 // xchg          %eax,%ebp
+  .byte  191,0,0,192,63                      // mov           $0x3fc00000,%edi
+  .byte  57,142,99,61,114,249                // cmp           %ecx,-0x68dc29d(%rsi)
+  .byte  127,63                              // jg            3c6ab <_sk_srcover_bgra_8888_sse2_lowp+0x45f>
+  .byte  3,0                                 // add           (%rax),%eax
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  45,16,17,192,18                     // sub           $0x12c01110,%eax
+  .byte  120,57                              // js            3c6b0 <_sk_srcover_bgra_8888_sse2_lowp+0x464>
+  .byte  64,32,148,90,62,4,157,30            // and           %dl,0x1e9d043e(%rdx,%rbx,2)
+  .byte  62,0,24                             // add           %bl,%ds:(%rax)
+  .byte  161,57,109,165,144,63,252,191,16    // movabs        0x10bffc3f90a56d39,%eax
+  .byte  62,0,0                              // add           %al,%ds:(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,4,0                               // add           %al,(%rax,%rax,1)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  56,255                              // cmp           %bh,%bh
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  127,0                               // jg            3c69d <.literal4+0x1a5>
+  .byte  0,128,56,0,64,254                   // add           %al,-0x1bfffc8(%rax)
+  .byte  255                                 // .byte         0xff
+
+BALIGN32
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  1,0                                 // add           %eax,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  2,0                                 // add           (%rax),%al
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  3,0                                 // add           (%rax),%eax
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  4,0                                 // add           $0x0,%al
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  5,0,0,0,6                           // add           $0x6000000,%eax
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,7                                 // add           %al,(%rdi)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,1                                 // add           %al,(%rcx)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,2                                 // add           %al,(%rdx)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,3                                 // add           %al,(%rbx)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,4,0                               // add           %al,(%rax,%rax,1)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  5,0,0,0,6                           // add           $0x6000000,%eax
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,7                                 // add           %al,(%rdi)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,1                                 // add           %al,(%rcx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,5,255,255,255,9                 // incl          0x9ffffff(%rip)        # a03c728 <_sk_srcover_bgra_8888_sse2_lowp+0xa0004dc>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,13,255,255,255,17               // decl          0x11ffffff(%rip)        # 1203c730 <_sk_srcover_bgra_8888_sse2_lowp+0x120004e4>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,21,255,255,255,25               // callq         *0x19ffffff(%rip)        # 1a03c738 <_sk_srcover_bgra_8888_sse2_lowp+0x1a0004ec>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,29,255,255,255,2                // lcall         *0x2ffffff(%rip)        # 303c740 <_sk_srcover_bgra_8888_sse2_lowp+0x30004f4>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,6                               // incl          (%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,10                              // decl          (%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,14                              // decl          (%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,18                              // callq         *(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,22                              // callq         *(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,26                              // lcall         *(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,30                              // lcall         *(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  1,255                               // add           %edi,%edi
+  .byte  255                                 // (bad)
+  .byte  255,5,255,255,255,9                 // incl          0x9ffffff(%rip)        # a03c788 <_sk_srcover_bgra_8888_sse2_lowp+0xa00053c>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,13,255,255,255,17               // decl          0x11ffffff(%rip)        # 1203c790 <_sk_srcover_bgra_8888_sse2_lowp+0x12000544>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,21,255,255,255,25               // callq         *0x19ffffff(%rip)        # 1a03c798 <_sk_srcover_bgra_8888_sse2_lowp+0x1a00054c>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,29,255,255,255,2                // lcall         *0x2ffffff(%rip)        # 303c7a0 <_sk_srcover_bgra_8888_sse2_lowp+0x3000554>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,6                               // incl          (%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,10                              // decl          (%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,14                              // decl          (%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,18                              // callq         *(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,22                              // callq         *(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,26                              // lcall         *(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,30                              // lcall         *(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  1,255                               // add           %edi,%edi
+  .byte  255                                 // (bad)
+  .byte  255,5,255,255,255,9                 // incl          0x9ffffff(%rip)        # a03c7e8 <_sk_srcover_bgra_8888_sse2_lowp+0xa00059c>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,13,255,255,255,17               // decl          0x11ffffff(%rip)        # 1203c7f0 <_sk_srcover_bgra_8888_sse2_lowp+0x120005a4>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,21,255,255,255,25               // callq         *0x19ffffff(%rip)        # 1a03c7f8 <_sk_srcover_bgra_8888_sse2_lowp+0x1a0005ac>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,29,255,255,255,2                // lcall         *0x2ffffff(%rip)        # 303c800 <_sk_srcover_bgra_8888_sse2_lowp+0x30005b4>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,6                               // incl          (%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,10                              // decl          (%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,14                              // decl          (%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,18                              // callq         *(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,22                              // callq         *(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,26                              // lcall         *(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,30                              // lcall         *(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  1,255                               // add           %edi,%edi
+  .byte  255                                 // (bad)
+  .byte  255,5,255,255,255,9                 // incl          0x9ffffff(%rip)        # a03c848 <_sk_srcover_bgra_8888_sse2_lowp+0xa0005fc>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,13,255,255,255,17               // decl          0x11ffffff(%rip)        # 1203c850 <_sk_srcover_bgra_8888_sse2_lowp+0x12000604>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,21,255,255,255,25               // callq         *0x19ffffff(%rip)        # 1a03c858 <_sk_srcover_bgra_8888_sse2_lowp+0x1a00060c>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,29,255,255,255,2                // lcall         *0x2ffffff(%rip)        # 303c860 <_sk_srcover_bgra_8888_sse2_lowp+0x3000614>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,6                               // incl          (%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,10                              // decl          (%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,14                              // decl          (%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,18                              // callq         *(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,22                              // callq         *(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,26                              // lcall         *(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,30                              // lcall         *(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  1,255                               // add           %edi,%edi
+  .byte  255                                 // (bad)
+  .byte  255,5,255,255,255,9                 // incl          0x9ffffff(%rip)        # a03c8a8 <_sk_srcover_bgra_8888_sse2_lowp+0xa00065c>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,13,255,255,255,17               // decl          0x11ffffff(%rip)        # 1203c8b0 <_sk_srcover_bgra_8888_sse2_lowp+0x12000664>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,21,255,255,255,25               // callq         *0x19ffffff(%rip)        # 1a03c8b8 <_sk_srcover_bgra_8888_sse2_lowp+0x1a00066c>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,29,255,255,255,2                // lcall         *0x2ffffff(%rip)        # 303c8c0 <_sk_srcover_bgra_8888_sse2_lowp+0x3000674>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,6                               // incl          (%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,10                              // decl          (%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,14                              // decl          (%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,18                              // callq         *(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,22                              // callq         *(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,26                              // lcall         *(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,30                              // lcall         *(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  1,255                               // add           %edi,%edi
+  .byte  255                                 // (bad)
+  .byte  255,5,255,255,255,9                 // incl          0x9ffffff(%rip)        # a03c908 <_sk_srcover_bgra_8888_sse2_lowp+0xa0006bc>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,13,255,255,255,17               // decl          0x11ffffff(%rip)        # 1203c910 <_sk_srcover_bgra_8888_sse2_lowp+0x120006c4>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,21,255,255,255,25               // callq         *0x19ffffff(%rip)        # 1a03c918 <_sk_srcover_bgra_8888_sse2_lowp+0x1a0006cc>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,29,255,255,255,2                // lcall         *0x2ffffff(%rip)        # 303c920 <_sk_srcover_bgra_8888_sse2_lowp+0x30006d4>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,6                               // incl          (%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,10                              // decl          (%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,14                              // decl          (%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,18                              // callq         *(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,22                              // callq         *(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,26                              // lcall         *(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,30                              // lcall         *(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  1,255                               // add           %edi,%edi
+  .byte  255                                 // (bad)
+  .byte  255,5,255,255,255,9                 // incl          0x9ffffff(%rip)        # a03c968 <_sk_srcover_bgra_8888_sse2_lowp+0xa00071c>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,13,255,255,255,17               // decl          0x11ffffff(%rip)        # 1203c970 <_sk_srcover_bgra_8888_sse2_lowp+0x12000724>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,21,255,255,255,25               // callq         *0x19ffffff(%rip)        # 1a03c978 <_sk_srcover_bgra_8888_sse2_lowp+0x1a00072c>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,29,255,255,255,2                // lcall         *0x2ffffff(%rip)        # 303c980 <_sk_srcover_bgra_8888_sse2_lowp+0x3000734>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,6                               // incl          (%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,10                              // decl          (%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,14                              // decl          (%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,18                              // callq         *(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,22                              // callq         *(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,26                              // lcall         *(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,30                              // lcall         *(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  1,255                               // add           %edi,%edi
+  .byte  255                                 // (bad)
+  .byte  255,5,255,255,255,9                 // incl          0x9ffffff(%rip)        # a03c9c8 <_sk_srcover_bgra_8888_sse2_lowp+0xa00077c>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,13,255,255,255,17               // decl          0x11ffffff(%rip)        # 1203c9d0 <_sk_srcover_bgra_8888_sse2_lowp+0x12000784>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,21,255,255,255,25               // callq         *0x19ffffff(%rip)        # 1a03c9d8 <_sk_srcover_bgra_8888_sse2_lowp+0x1a00078c>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,29,255,255,255,2                // lcall         *0x2ffffff(%rip)        # 303c9e0 <_sk_srcover_bgra_8888_sse2_lowp+0x3000794>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,6                               // incl          (%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,10                              // decl          (%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,14                              // decl          (%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,18                              // callq         *(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,22                              // callq         *(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,26                              // lcall         *(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,30                              // lcall         *(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  1,255                               // add           %edi,%edi
+  .byte  255                                 // (bad)
+  .byte  255,5,255,255,255,9                 // incl          0x9ffffff(%rip)        # a03ca28 <_sk_srcover_bgra_8888_sse2_lowp+0xa0007dc>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,13,255,255,255,17               // decl          0x11ffffff(%rip)        # 1203ca30 <_sk_srcover_bgra_8888_sse2_lowp+0x120007e4>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,21,255,255,255,25               // callq         *0x19ffffff(%rip)        # 1a03ca38 <_sk_srcover_bgra_8888_sse2_lowp+0x1a0007ec>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,29,255,255,255,2                // lcall         *0x2ffffff(%rip)        # 303ca40 <_sk_srcover_bgra_8888_sse2_lowp+0x30007f4>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,6                               // incl          (%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,10                              // decl          (%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,14                              // decl          (%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,18                              // callq         *(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,22                              // callq         *(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,26                              // lcall         *(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,30                              // lcall         *(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  1,255                               // add           %edi,%edi
+  .byte  255                                 // (bad)
+  .byte  255,5,255,255,255,9                 // incl          0x9ffffff(%rip)        # a03ca88 <_sk_srcover_bgra_8888_sse2_lowp+0xa00083c>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,13,255,255,255,17               // decl          0x11ffffff(%rip)        # 1203ca90 <_sk_srcover_bgra_8888_sse2_lowp+0x12000844>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,21,255,255,255,25               // callq         *0x19ffffff(%rip)        # 1a03ca98 <_sk_srcover_bgra_8888_sse2_lowp+0x1a00084c>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,29,255,255,255,2                // lcall         *0x2ffffff(%rip)        # 303caa0 <_sk_srcover_bgra_8888_sse2_lowp+0x3000854>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,6                               // incl          (%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,10                              // decl          (%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,14                              // decl          (%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,18                              // callq         *(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,22                              // callq         *(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,26                              // lcall         *(%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,30                              // lcall         *(%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,254                               // add           %bh,%dh
+  .byte  1,255                               // add           %edi,%edi
+  .byte  0,254                               // add           %bh,%dh
+  .byte  1,255                               // add           %edi,%edi
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  128,255,0                           // cmp           $0x0,%bh
+  .byte  0,128,0,0,0,0                       // add           %al,0x0(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  248                                 // clc
+  .byte  0,63                                // add           %bh,(%rdi)
+  .byte  0,31                                // add           %bl,(%rdi)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,248                               // add           %bh,%al
+  .byte  0,63                                // add           %bh,(%rdi)
+  .byte  0,31                                // add           %bl,(%rdi)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  248                                 // clc
+  .byte  224,255                             // loopne        3cd53 <.const+0x693>
+  .byte  248                                 // clc
+  .byte  0,63                                // add           %bh,(%rdi)
+  .byte  0,31                                // add           %bl,(%rdi)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,15                                // add           %cl,(%rdi)
+  .byte  0,15                                // add           %cl,(%rdi)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  240,0,0                             // lock          add %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  240,255,15                          // lock          decl (%rdi)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,54                                // add           %dh,(%rsi)
+  .byte  0,183,0,19,0,255                    // add           %dh,-0xffed00(%rdi)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,248                               // add           %bh,%al
+  .byte  0,63                                // add           %bh,(%rdi)
+  .byte  0,31                                // add           %bl,(%rdi)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  128,255,0                           // cmp           $0x0,%bh
+  .byte  248                                 // clc
+  .byte  0,63                                // add           %bh,(%rdi)
+  .byte  0,31                                // add           %bl,(%rdi)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  128,255,0                           // cmp           $0x0,%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,1                                 // add           %al,(%rcx)
+  .byte  4,5                                 // add           $0x5,%al
+  .byte  8,9                                 // or            %cl,(%rcx)
+  .byte  12,13                               // or            $0xd,%al
+  .byte  8,9                                 // or            %cl,(%rcx)
+  .byte  12,13                               // or            $0xd,%al
+  .byte  12,13                               // or            $0xd,%al
+  .byte  14                                  // (bad)
+  .byte  15,16,17                            // movups        (%rcx),%xmm2
+  .byte  20,21                               // adc           $0x15,%al
+  .byte  24,25                               // sbb           %bl,(%rcx)
+  .byte  28,29                               // sbb           $0x1d,%al
+  .byte  24,25                               // sbb           %bl,(%rcx)
+  .byte  28,29                               // sbb           $0x1d,%al
+  .byte  28,29                               // sbb           $0x1d,%al
+  .byte  30                                  // (bad)
+  .byte  31                                  // (bad)
+  .byte  0,1                                 // add           %al,(%rcx)
+  .byte  4,5                                 // add           $0x5,%al
+  .byte  8,9                                 // or            %cl,(%rcx)
+  .byte  12,13                               // or            $0xd,%al
+  .byte  8,9                                 // or            %cl,(%rcx)
+  .byte  12,13                               // or            $0xd,%al
+  .byte  12,13                               // or            $0xd,%al
+  .byte  14                                  // (bad)
+  .byte  15,16,17                            // movups        (%rcx),%xmm2
+  .byte  20,21                               // adc           $0x15,%al
+  .byte  24,25                               // sbb           %bl,(%rcx)
+  .byte  28,29                               // sbb           $0x1d,%al
+  .byte  24,25                               // sbb           %bl,(%rcx)
+  .byte  28,29                               // sbb           $0x1d,%al
+  .byte  28,29                               // sbb           $0x1d,%al
+  .byte  30                                  // (bad)
+  .byte  31                                  // (bad)
+  .byte  0,1                                 // add           %al,(%rcx)
+  .byte  4,5                                 // add           $0x5,%al
+  .byte  8,9                                 // or            %cl,(%rcx)
+  .byte  12,13                               // or            $0xd,%al
+  .byte  8,9                                 // or            %cl,(%rcx)
+  .byte  12,13                               // or            $0xd,%al
+  .byte  12,13                               // or            $0xd,%al
+  .byte  14                                  // (bad)
+  .byte  15,16,17                            // movups        (%rcx),%xmm2
+  .byte  20,21                               // adc           $0x15,%al
+  .byte  24,25                               // sbb           %bl,(%rcx)
+  .byte  28,29                               // sbb           $0x1d,%al
+  .byte  24,25                               // sbb           %bl,(%rcx)
+  .byte  28,29                               // sbb           $0x1d,%al
+  .byte  28,29                               // sbb           $0x1d,%al
+  .byte  30                                  // (bad)
+  .byte  31                                  // (bad)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+
+BALIGN16
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,2                                 // add           %al,(%rdx)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,2                                 // add           %al,(%rdx)
+  .byte  4,6                                 // add           $0x6,%al
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  1,0                                 // add           %eax,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  2,0                                 // add           (%rax),%al
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  3,0                                 // add           (%rax),%eax
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  4,0                                 // add           $0x0,%al
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  5,0,0,0,6                           // add           $0x6000000,%eax
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,7                                 // add           %al,(%rdi)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  63                                  // (bad)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,63                                // add           %bh,(%rdi)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,63                                // add           %bh,(%rdi)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,63                                // add           %bh,(%rdi)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
+  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
+  .byte  63                                  // (bad)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  128,63,1                            // cmpb          $0x1,(%rdi)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,1                                 // add           %al,(%rcx)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,1                                 // add           %al,(%rcx)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,1                                 // add           %al,(%rcx)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,4,0                               // add           %al,(%rax,%rax,1)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  4,0                                 // add           $0x0,%al
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  4,0                                 // add           $0x0,%al
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  4,0                                 // add           $0x0,%al
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  2,0                                 // add           (%rax),%al
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  2,0                                 // add           (%rax),%al
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  2,0                                 // add           (%rax),%al
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  2,0                                 // add           (%rax),%al
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  128,60,0,0                          // cmpb          $0x0,(%rax,%rax,1)
+  .byte  128,60,0,0                          // cmpb          $0x0,(%rax,%rax,1)
+  .byte  128,60,0,0                          // cmpb          $0x0,(%rax,%rax,1)
+  .byte  128,60,0,0                          // cmpb          $0x0,(%rax,%rax,1)
+  .byte  252                                 // cld
+  .byte  190,0,0,252,190                     // mov           $0xbefc0000,%esi
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  252                                 // cld
+  .byte  190,0,0,252,190                     // mov           $0xbefc0000,%esi
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  128,191,0,0,128,191,0               // cmpb          $0x0,-0x40800000(%rdi)
+  .byte  0,128,191,0,0,128                   // add           %al,-0x7fffff41(%rax)
+  .byte  191,0,0,224,64                      // mov           $0x40e00000,%edi
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  224,64                              // loopne        3cfc8 <.literal16+0x118>
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  224,64                              // loopne        3cfcc <.literal16+0x11c>
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  224,64                              // loopne        3cfd0 <.literal16+0x120>
+  .byte  154                                 // (bad)
+  .byte  153                                 // cltd
+  .byte  153                                 // cltd
+  .byte  62,154                              // ds            (bad)
+  .byte  153                                 // cltd
+  .byte  153                                 // cltd
+  .byte  62,154                              // ds            (bad)
+  .byte  153                                 // cltd
+  .byte  153                                 // cltd
+  .byte  62,154                              // ds            (bad)
+  .byte  153                                 // cltd
+  .byte  153                                 // cltd
+  .byte  62,61,10,23,63,61                   // ds            cmp $0x3d3f170a,%eax
+  .byte  10,23                               // or            (%rdi),%dl
+  .byte  63                                  // (bad)
+  .byte  61,10,23,63,61                      // cmp           $0x3d3f170a,%eax
+  .byte  10,23                               // or            (%rdi),%dl
+  .byte  63                                  // (bad)
+  .byte  174                                 // scas          %es:(%rdi),%al
+  .byte  71,225,61                           // rex.RXB       loope 3cff1 <.literal16+0x141>
+  .byte  174                                 // scas          %es:(%rdi),%al
+  .byte  71,225,61                           // rex.RXB       loope 3cff5 <.literal16+0x145>
+  .byte  174                                 // scas          %es:(%rdi),%al
+  .byte  71,225,61                           // rex.RXB       loope 3cff9 <.literal16+0x149>
+  .byte  174                                 // scas          %es:(%rdi),%al
+  .byte  71,225,61                           // rex.RXB       loope 3cffd <.literal16+0x14d>
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  1,255                               // add           %edi,%edi
+  .byte  255                                 // (bad)
+  .byte  255,5,255,255,255,9                 // incl          0x9ffffff(%rip)        # a03cfd8 <_sk_srcover_bgra_8888_sse2_lowp+0xa000d8c>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,13,255,255,255,2                // decl          0x2ffffff(%rip)        # 303cfe0 <_sk_srcover_bgra_8888_sse2_lowp+0x3000d94>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,6                               // incl          (%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,10                              // decl          (%rdx)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,14                              // decl          (%rsi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,127,67                            // add           %bh,0x43(%rdi)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  127,67                              // jg            3d03b <.literal16+0x18b>
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  127,67                              // jg            3d03f <.literal16+0x18f>
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  127,67                              // jg            3d043 <.literal16+0x193>
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  128,127,0,0                         // cmpb          $0x0,0x0(%rdi)
+  .byte  128,127,0,0                         // cmpb          $0x0,0x0(%rdi)
+  .byte  128,127,0,0                         // cmpb          $0x0,0x0(%rdi)
+  .byte  128,127,145,131                     // cmpb          $0x83,-0x6f(%rdi)
+  .byte  158                                 // sahf
+  .byte  61,145,131,158,61                   // cmp           $0x3d9e8391,%eax
+  .byte  145                                 // xchg          %eax,%ecx
+  .byte  131,158,61,145,131,158,61           // sbbl          $0x3d,-0x617c6ec3(%rsi)
+  .byte  92                                  // pop           %rsp
+  .byte  143                                 // (bad)
+  .byte  50,63                               // xor           (%rdi),%bh
+  .byte  92                                  // pop           %rsp
+  .byte  143                                 // (bad)
+  .byte  50,63                               // xor           (%rdi),%bh
+  .byte  92                                  // pop           %rsp
+  .byte  143                                 // (bad)
+  .byte  50,63                               // xor           (%rdi),%bh
+  .byte  92                                  // pop           %rsp
+  .byte  143                                 // (bad)
+  .byte  50,63                               // xor           (%rdi),%bh
+  .byte  10,215                              // or            %bh,%dl
+  .byte  35,59                               // and           (%rbx),%edi
+  .byte  10,215                              // or            %bh,%dl
+  .byte  35,59                               // and           (%rbx),%edi
+  .byte  10,215                              // or            %bh,%dl
+  .byte  35,59                               // and           (%rbx),%edi
+  .byte  10,215                              // or            %bh,%dl
+  .byte  35,59                               // and           (%rbx),%edi
+  .byte  174                                 // scas          %es:(%rdi),%al
+  .byte  71,97                               // rex.RXB       (bad)
+  .byte  61,174,71,97,61                     // cmp           $0x3d6147ae,%eax
+  .byte  174                                 // scas          %es:(%rdi),%al
+  .byte  71,97                               // rex.RXB       (bad)
+  .byte  61,174,71,97,61                     // cmp           $0x3d6147ae,%eax
+  .byte  82                                  // push          %rdx
+  .byte  184,78,65,82,184                    // mov           $0xb852414e,%eax
+  .byte  78                                  // rex.WRX
+  .byte  65,82                               // push          %r10
+  .byte  184,78,65,82,184                    // mov           $0xb852414e,%eax
+  .byte  78                                  // rex.WRX
+  .byte  65,57,215                           // cmp           %edx,%r15d
+  .byte  32,187,57,215,32,187                // and           %bh,-0x44df28c7(%rbx)
+  .byte  57,215                              // cmp           %edx,%edi
+  .byte  32,187,57,215,32,187                // and           %bh,-0x44df28c7(%rbx)
+  .byte  186,159,98,60,186                   // mov           $0xba3c629f,%edx
+  .byte  159                                 // lahf
+  .byte  98                                  // (bad)
+  .byte  60,186                              // cmp           $0xba,%al
+  .byte  159                                 // lahf
+  .byte  98                                  // (bad)
+  .byte  60,186                              // cmp           $0xba,%al
+  .byte  159                                 // lahf
+  .byte  98                                  // (bad)
+  .byte  60,109                              // cmp           $0x6d,%al
+  .byte  165                                 // movsl         %ds:(%rsi),%es:(%rdi)
+  .byte  144                                 // nop
+  .byte  63                                  // (bad)
+  .byte  109                                 // insl          (%dx),%es:(%rdi)
+  .byte  165                                 // movsl         %ds:(%rsi),%es:(%rdi)
+  .byte  144                                 // nop
+  .byte  63                                  // (bad)
+  .byte  109                                 // insl          (%dx),%es:(%rdi)
+  .byte  165                                 // movsl         %ds:(%rsi),%es:(%rdi)
+  .byte  144                                 // nop
+  .byte  63                                  // (bad)
+  .byte  109                                 // insl          (%dx),%es:(%rdi)
+  .byte  165                                 // movsl         %ds:(%rsi),%es:(%rdi)
+  .byte  144                                 // nop
+  .byte  63                                  // (bad)
+  .byte  252                                 // cld
+  .byte  191,16,62,252,191                   // mov           $0xbffc3e10,%edi
+  .byte  16,62                               // adc           %bh,(%rsi)
+  .byte  252                                 // cld
+  .byte  191,16,62,252,191                   // mov           $0xbffc3e10,%edi
+  .byte  16,62                               // adc           %bh,(%rsi)
+  .byte  168,177                             // test          $0xb1,%al
+  .byte  152                                 // cwtl
+  .byte  59,168,177,152,59,168               // cmp           -0x57c4674f(%rax),%ebp
+  .byte  177,152                             // mov           $0x98,%cl
+  .byte  59,168,177,152,59,0                 // cmp           0x3b98b1(%rax),%ebp
+  .byte  0,192                               // add           %al,%al
+  .byte  64,0,0                              // add           %al,(%rax)
+  .byte  192,64,0,0                          // rolb          $0x0,0x0(%rax)
+  .byte  192,64,0,0                          // rolb          $0x0,0x0(%rax)
+  .byte  192,64,0,0                          // rolb          $0x0,0x0(%rax)
+  .byte  0,64,0                              // add           %al,0x0(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  64,0,0                              // add           %al,(%rax)
+  .byte  0,64,0                              // add           %al,0x0(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  64,0,0                              // add           %al,(%rax)
+  .byte  128,64,0,0                          // addb          $0x0,0x0(%rax)
+  .byte  128,64,0,0                          // addb          $0x0,0x0(%rax)
+  .byte  128,64,0,0                          // addb          $0x0,0x0(%rax)
+  .byte  128,64,171,170                      // addb          $0xaa,-0x55(%rax)
+  .byte  42,62                               // sub           (%rsi),%bh
+  .byte  171                                 // stos          %eax,%es:(%rdi)
+  .byte  170                                 // stos          %al,%es:(%rdi)
+  .byte  42,62                               // sub           (%rsi),%bh
+  .byte  171                                 // stos          %eax,%es:(%rdi)
+  .byte  170                                 // stos          %al,%es:(%rdi)
+  .byte  42,62                               // sub           (%rsi),%bh
+  .byte  171                                 // stos          %eax,%es:(%rdi)
+  .byte  170                                 // stos          %al,%es:(%rdi)
+  .byte  42,62                               // sub           (%rsi),%bh
+  .byte  171                                 // stos          %eax,%es:(%rdi)
+  .byte  170                                 // stos          %al,%es:(%rdi)
+  .byte  170                                 // stos          %al,%es:(%rdi)
+  .byte  62,171                              // ds            stos %eax,%es:(%rdi)
+  .byte  170                                 // stos          %al,%es:(%rdi)
+  .byte  170                                 // stos          %al,%es:(%rdi)
+  .byte  62,171                              // ds            stos %eax,%es:(%rdi)
+  .byte  170                                 // stos          %al,%es:(%rdi)
+  .byte  170                                 // stos          %al,%es:(%rdi)
+  .byte  62,171                              // ds            stos %eax,%es:(%rdi)
+  .byte  170                                 // stos          %al,%es:(%rdi)
+  .byte  170                                 // stos          %al,%es:(%rdi)
+  .byte  62,171                              // ds            stos %eax,%es:(%rdi)
+  .byte  170                                 // stos          %al,%es:(%rdi)
+  .byte  42,63                               // sub           (%rdi),%bh
+  .byte  171                                 // stos          %eax,%es:(%rdi)
+  .byte  170                                 // stos          %al,%es:(%rdi)
+  .byte  42,63                               // sub           (%rdi),%bh
+  .byte  171                                 // stos          %eax,%es:(%rdi)
+  .byte  170                                 // stos          %al,%es:(%rdi)
+  .byte  42,63                               // sub           (%rdi),%bh
+  .byte  171                                 // stos          %eax,%es:(%rdi)
+  .byte  170                                 // stos          %al,%es:(%rdi)
+  .byte  42,63                               // sub           (%rdi),%bh
+  .byte  171                                 // stos          %eax,%es:(%rdi)
+  .byte  170                                 // stos          %al,%es:(%rdi)
+  .byte  170                                 // stos          %al,%es:(%rdi)
+  .byte  190,171,170,170,190                 // mov           $0xbeaaaaab,%esi
+  .byte  171                                 // stos          %eax,%es:(%rdi)
+  .byte  170                                 // stos          %al,%es:(%rdi)
+  .byte  170                                 // stos          %al,%es:(%rdi)
+  .byte  190,171,170,170,190                 // mov           $0xbeaaaaab,%esi
+  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
+  .byte  128,59,129                          // cmpb          $0x81,(%rbx)
+  .byte  128,128,59,0,248,0,0                // addb          $0x0,0xf8003b(%rax)
+  .byte  0,248                               // add           %bh,%al
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,248                               // add           %bh,%al
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,248                               // add           %bh,%al
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  8,33                                // or            %ah,(%rcx)
+  .byte  132,55                              // test          %dh,(%rdi)
+  .byte  8,33                                // or            %ah,(%rcx)
+  .byte  132,55                              // test          %dh,(%rdi)
+  .byte  8,33                                // or            %ah,(%rcx)
+  .byte  132,55                              // test          %dh,(%rdi)
+  .byte  8,33                                // or            %ah,(%rcx)
+  .byte  132,55                              // test          %dh,(%rdi)
+  .byte  224,7                               // loopne        3d159 <.literal16+0x2a9>
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  224,7                               // loopne        3d15d <.literal16+0x2ad>
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  224,7                               // loopne        3d161 <.literal16+0x2b1>
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  224,7                               // loopne        3d165 <.literal16+0x2b5>
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  33,8                                // and           %ecx,(%rax)
+  .byte  2,58                                // add           (%rdx),%bh
+  .byte  33,8                                // and           %ecx,(%rax)
+  .byte  2,58                                // add           (%rdx),%bh
+  .byte  33,8                                // and           %ecx,(%rax)
+  .byte  2,58                                // add           (%rdx),%bh
+  .byte  33,8                                // and           %ecx,(%rax)
+  .byte  2,58                                // add           (%rdx),%bh
+  .byte  31                                  // (bad)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,31                                // add           %bl,(%rdi)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,31                                // add           %bl,(%rdi)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,31                                // add           %bl,(%rdi)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,8                                 // add           %cl,(%rax)
+  .byte  33,4,61,8,33,4,61                   // and           %eax,0x3d042108(,%rdi,1)
+  .byte  8,33                                // or            %ah,(%rcx)
+  .byte  4,61                                // add           $0x3d,%al
+  .byte  8,33                                // or            %ah,(%rcx)
+  .byte  4,61                                // add           $0x3d,%al
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  8,255                               // or            %bh,%bh
+  .byte  10,255                              // or            %bh,%bh
+  .byte  12,255                              // or            $0xff,%al
+  .byte  14                                  // (bad)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,128,0,128,55,128                  // add           %al,-0x7fc88000(%rax)
+  .byte  0,128,55,128,0,128                  // add           %al,-0x7fff7fc9(%rax)
+  .byte  55                                  // (bad)
+  .byte  128,0,128                           // addb          $0x80,(%rax)
+  .byte  55                                  // (bad)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,52,0                              // add           %dh,(%rax,%rax,1)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  52,0                                // xor           $0x0,%al
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  52,0                                // xor           $0x0,%al
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  52,255                              // xor           $0xff,%al
+  .byte  255                                 // (bad)
+  .byte  127,0                               // jg            3d1d4 <.literal16+0x324>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  127,0                               // jg            3d1d8 <.literal16+0x328>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  127,0                               // jg            3d1dc <.literal16+0x32c>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  127,0                               // jg            3d1e0 <.literal16+0x330>
+  .byte  119,115                             // ja            3d255 <.literal16+0x3a5>
+  .byte  248                                 // clc
+  .byte  194,119,115                         // retq          $0x7377
+  .byte  248                                 // clc
+  .byte  194,119,115                         // retq          $0x7377
+  .byte  248                                 // clc
+  .byte  194,119,115                         // retq          $0x7377
+  .byte  248                                 // clc
+  .byte  194,117,191                         // retq          $0xbf75
+  .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
+  .byte  63                                  // (bad)
+  .byte  117,191                             // jne           3d1b9 <.literal16+0x309>
+  .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
+  .byte  63                                  // (bad)
+  .byte  249                                 // stc
+  .byte  68,180,62                           // rex.R         mov $0x3e,%spl
+  .byte  249                                 // stc
+  .byte  68,180,62                           // rex.R         mov $0x3e,%spl
+  .byte  249                                 // stc
+  .byte  68,180,62                           // rex.R         mov $0x3e,%spl
+  .byte  249                                 // stc
+  .byte  68,180,62                           // rex.R         mov $0x3e,%spl
+  .byte  163,233,220,63,163,233,220,63,163   // movabs        %eax,0xa33fdce9a33fdce9
+  .byte  233,220,63,163,233                  // jmpq          ffffffffe9a711fa <_sk_srcover_bgra_8888_sse2_lowp+0xffffffffe9a34fae>
+  .byte  220,63                              // fdivrl        (%rdi)
+  .byte  81                                  // push          %rcx
+  .byte  140,242                             // mov           %?,%edx
+  .byte  66,81                               // rex.X         push %rcx
+  .byte  140,242                             // mov           %?,%edx
+  .byte  66,81                               // rex.X         push %rcx
+  .byte  140,242                             // mov           %?,%edx
+  .byte  66,81                               // rex.X         push %rcx
+  .byte  140,242                             // mov           %?,%edx
+  .byte  66,141,188,190,63,141,188,190       // lea           -0x414372c1(%rsi,%r15,4),%edi
+  .byte  63                                  // (bad)
+  .byte  141,188,190,63,141,188,190          // lea           -0x414372c1(%rsi,%rdi,4),%edi
+  .byte  63                                  // (bad)
+  .byte  248                                 // clc
+  .byte  245                                 // cmc
+  .byte  154                                 // (bad)
+  .byte  64,248                              // rex           clc
+  .byte  245                                 // cmc
+  .byte  154                                 // (bad)
+  .byte  64,248                              // rex           clc
+  .byte  245                                 // cmc
+  .byte  154                                 // (bad)
+  .byte  64,248                              // rex           clc
+  .byte  245                                 // cmc
+  .byte  154                                 // (bad)
+  .byte  64,254                              // rex           (bad)
+  .byte  210,221                             // rcr           %cl,%ch
+  .byte  65,254                              // rex.B         (bad)
+  .byte  210,221                             // rcr           %cl,%ch
+  .byte  65,254                              // rex.B         (bad)
+  .byte  210,221                             // rcr           %cl,%ch
+  .byte  65,254                              // rex.B         (bad)
+  .byte  210,221                             // rcr           %cl,%ch
+  .byte  65,0,0                              // add           %al,(%r8)
+  .byte  0,75,0                              // add           %cl,0x0(%rbx)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  75,0,0                              // rex.WXB       add %al,(%r8)
+  .byte  0,75,0                              // add           %cl,0x0(%rbx)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  75,0,0                              // rex.WXB       add %al,(%r8)
+  .byte  200,66,0,0                          // enterq        $0x42,$0x0
+  .byte  200,66,0,0                          // enterq        $0x42,$0x0
+  .byte  200,66,0,0                          // enterq        $0x42,$0x0
+  .byte  200,66,0,0                          // enterq        $0x42,$0x0
+  .byte  0,195                               // add           %al,%bl
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,195                               // add           %al,%bl
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,195                               // add           %al,%bl
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,195                               // add           %al,%bl
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  128,65,0,0                          // addb          $0x0,0x0(%rcx)
+  .byte  128,65,0,0                          // addb          $0x0,0x0(%rcx)
+  .byte  128,65,0,0                          // addb          $0x0,0x0(%rcx)
+  .byte  128,65,203,61                       // addb          $0x3d,-0x35(%rcx)
+  .byte  13,60,203,61,13                     // or            $0xd3dcb3c,%eax
+  .byte  60,203                              // cmp           $0xcb,%al
+  .byte  61,13,60,203,61                     // cmp           $0x3dcb3c0d,%eax
+  .byte  13,60,111,18,3                      // or            $0x3126f3c,%eax
+  .byte  59,111,18                           // cmp           0x12(%rdi),%ebp
+  .byte  3,59                                // add           (%rbx),%edi
+  .byte  111                                 // outsl         %ds:(%rsi),(%dx)
+  .byte  18,3                                // adc           (%rbx),%al
+  .byte  59,111,18                           // cmp           0x12(%rdi),%ebp
+  .byte  3,59                                // add           (%rbx),%edi
+  .byte  10,215                              // or            %bh,%dl
+  .byte  163,59,10,215,163,59,10,215,163     // movabs        %eax,0xa3d70a3ba3d70a3b
+  .byte  59,10                               // cmp           (%rdx),%ecx
+  .byte  215                                 // xlat          %ds:(%rbx)
+  .byte  163,59,194,24,17,60,194,24,17       // movabs        %eax,0x1118c23c1118c23b
+  .byte  60,194                              // cmp           $0xc2,%al
+  .byte  24,17                               // sbb           %dl,(%rcx)
+  .byte  60,194                              // cmp           $0xc2,%al
+  .byte  24,17                               // sbb           %dl,(%rcx)
+  .byte  60,203                              // cmp           $0xcb,%al
+  .byte  61,13,190,203,61                    // cmp           $0x3dcbbe0d,%eax
+  .byte  13,190,203,61,13                    // or            $0xd3dcbbe,%eax
+  .byte  190,203,61,13,190                   // mov           $0xbe0d3dcb,%esi
+  .byte  80                                  // push          %rax
+  .byte  128,3,62                            // addb          $0x3e,(%rbx)
+  .byte  80                                  // push          %rax
+  .byte  128,3,62                            // addb          $0x3e,(%rbx)
+  .byte  80                                  // push          %rax
+  .byte  128,3,62                            // addb          $0x3e,(%rbx)
+  .byte  80                                  // push          %rax
+  .byte  128,3,62                            // addb          $0x3e,(%rbx)
+  .byte  31                                  // (bad)
+  .byte  215                                 // xlat          %ds:(%rbx)
+  .byte  118,63                              // jbe           3d343 <.literal16+0x493>
+  .byte  31                                  // (bad)
+  .byte  215                                 // xlat          %ds:(%rbx)
+  .byte  118,63                              // jbe           3d347 <.literal16+0x497>
+  .byte  31                                  // (bad)
+  .byte  215                                 // xlat          %ds:(%rbx)
+  .byte  118,63                              // jbe           3d34b <.literal16+0x49b>
+  .byte  31                                  // (bad)
+  .byte  215                                 // xlat          %ds:(%rbx)
+  .byte  118,63                              // jbe           3d34f <.literal16+0x49f>
+  .byte  246,64,83,63                        // testb         $0x3f,0x53(%rax)
+  .byte  246,64,83,63                        // testb         $0x3f,0x53(%rax)
+  .byte  246,64,83,63                        // testb         $0x3f,0x53(%rax)
+  .byte  246,64,83,63                        // testb         $0x3f,0x53(%rax)
+  .byte  0,4,0                               // add           %al,(%rax,%rax,1)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,248                               // add           %bh,%al
+  .byte  65,0,0                              // add           %al,(%r8)
+  .byte  248                                 // clc
+  .byte  65,0,0                              // add           %al,(%r8)
+  .byte  248                                 // clc
+  .byte  65,0,0                              // add           %al,(%r8)
+  .byte  248                                 // clc
+  .byte  65,0,0                              // add           %al,(%r8)
+  .byte  124,66                              // jl            3d386 <.literal16+0x4d6>
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  124,66                              // jl            3d38a <.literal16+0x4da>
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  124,66                              // jl            3d38e <.literal16+0x4de>
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  124,66                              // jl            3d392 <.literal16+0x4e2>
+  .byte  0,240                               // add           %dh,%al
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,240                               // add           %dh,%al
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,240                               // add           %dh,%al
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,240                               // add           %dh,%al
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  137,136,136,55,137,136              // mov           %ecx,-0x7776c878(%rax)
+  .byte  136,55                              // mov           %dh,(%rdi)
+  .byte  137,136,136,55,137,136              // mov           %ecx,-0x7776c878(%rax)
+  .byte  136,55                              // mov           %dh,(%rdi)
+  .byte  0,15                                // add           %cl,(%rdi)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,15                                // add           %cl,(%rdi)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,15                                // add           %cl,(%rdi)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,15                                // add           %cl,(%rdi)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  137,136,136,57,137,136              // mov           %ecx,-0x7776c678(%rax)
+  .byte  136,57                              // mov           %bh,(%rcx)
+  .byte  137,136,136,57,137,136              // mov           %ecx,-0x7776c678(%rax)
+  .byte  136,57                              // mov           %bh,(%rcx)
+  .byte  240,0,0                             // lock          add %al,(%rax)
+  .byte  0,240                               // add           %dh,%al
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,240                               // add           %dh,%al
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,240                               // add           %dh,%al
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,137,136,136,59,137                // add           %cl,-0x76c47778(%rcx)
+  .byte  136,136,59,137,136,136              // mov           %cl,-0x777776c5(%rax)
+  .byte  59,137,136,136,59,15                // cmp           0xf3b8888(%rcx),%ecx
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,15                                // add           %cl,(%rdi)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,15                                // add           %cl,(%rdi)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,15                                // add           %cl,(%rdi)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,137,136,136,61,137                // add           %cl,-0x76c27778(%rcx)
+  .byte  136,136,61,137,136,136              // mov           %cl,-0x777776c3(%rax)
+  .byte  61,137,136,136,61                   // cmp           $0x3d888889,%eax
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  112,65                              // jo            3d415 <.literal16+0x565>
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  112,65                              // jo            3d419 <.literal16+0x569>
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  112,65                              // jo            3d41d <.literal16+0x56d>
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  112,65                              // jo            3d421 <.literal16+0x571>
+  .byte  255,3                               // incl          (%rbx)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,3                               // incl          (%rbx)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,3                               // incl          (%rbx)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255,3                               // incl          (%rbx)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  8,32                                // or            %ah,(%rax)
+  .byte  128,58,8                            // cmpb          $0x8,(%rdx)
+  .byte  32,128,58,8,32,128                  // and           %al,-0x7fdff7c6(%rax)
+  .byte  58,8                                // cmp           (%rax),%cl
+  .byte  32,128,58,0,192,127                 // and           %al,0x7fc0003a(%rax)
+  .byte  68,0,192                            // add           %r8b,%al
+  .byte  127,68                              // jg            3d44c <.literal16+0x59c>
+  .byte  0,192                               // add           %al,%al
+  .byte  127,68                              // jg            3d450 <.literal16+0x5a0>
+  .byte  0,192                               // add           %al,%al
+  .byte  127,68                              // jg            3d454 <.literal16+0x5a4>
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  64                                  // rex
+  .byte  64,0,0                              // add           %al,(%rax)
+  .byte  64                                  // rex
+  .byte  64,0,0                              // add           %al,(%rax)
+  .byte  64                                  // rex
+  .byte  64,0,0                              // add           %al,(%rax)
+  .byte  64                                  // rex
+  .byte  64,0,128,0,0,0,128                  // add           %al,-0x80000000(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255                                 // (bad)
+  .byte  127,0                               // jg            3d433 <.literal16+0x583>
+  .byte  0,255                               // add           %bh,%bh
+  .byte  127,0                               // jg            3d437 <.literal16+0x587>
+  .byte  0,255                               // add           %bh,%bh
+  .byte  127,0                               // jg            3d43b <.literal16+0x58b>
+  .byte  0,255                               // add           %bh,%bh
+  .byte  127,0                               // jg            3d43f <.literal16+0x58f>
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  4,0                                 // add           $0x0,%al
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  4,0                                 // add           $0x0,%al
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  4,0                                 // add           $0x0,%al
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  4,0                                 // add           $0x0,%al
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  56,0                                // cmp           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  56,0                                // cmp           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  56,0                                // cmp           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  56,0                                // cmp           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  128,0,0                             // addb          $0x0,(%rax)
+  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,128,255,255,255,127               // add           %al,0x7fffffff(%rax)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  127,255                             // jg            3d478 <.literal16+0x5c8>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  127,255                             // jg            3d47c <.literal16+0x5cc>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  127,0                               // jg            3d481 <.literal16+0x5d1>
+  .byte  0,128,56,0,0,128                    // add           %al,-0x7fffffc8(%rax)
+  .byte  56,0                                // cmp           %al,(%rax)
+  .byte  0,128,56,0,0,128                    // add           %al,-0x7fffffc8(%rax)
+  .byte  56,0                                // cmp           %al,(%rax)
+  .byte  64,254                              // rex           (bad)
+  .byte  255,0                               // incl          (%rax)
+  .byte  64,254                              // rex           (bad)
+  .byte  255,0                               // incl          (%rax)
+  .byte  64,254                              // rex           (bad)
+  .byte  255,0                               // incl          (%rax)
+  .byte  64,254                              // rex           (bad)
+  .byte  255,0                               // incl          (%rax)
+  .byte  255                                 // (bad)
+  .byte  127,71                              // jg            3d4eb <.literal16+0x63b>
+  .byte  0,255                               // add           %bh,%bh
+  .byte  127,71                              // jg            3d4ef <.literal16+0x63f>
+  .byte  0,255                               // add           %bh,%bh
+  .byte  127,71                              // jg            3d4f3 <.literal16+0x643>
+  .byte  0,255                               // add           %bh,%bh
+  .byte  127,71                              // jg            3d4f7 <.literal16+0x647>
+  .byte  208                                 // (bad)
+  .byte  179,89                              // mov           $0x59,%bl
+  .byte  62,208                              // ds            (bad)
+  .byte  179,89                              // mov           $0x59,%bl
+  .byte  62,208                              // ds            (bad)
+  .byte  179,89                              // mov           $0x59,%bl
+  .byte  62,208                              // ds            (bad)
+  .byte  179,89                              // mov           $0x59,%bl
+  .byte  62,89                               // ds            pop %rcx
+  .byte  23                                  // (bad)
+  .byte  55                                  // (bad)
+  .byte  63                                  // (bad)
+  .byte  89                                  // pop           %rcx
+  .byte  23                                  // (bad)
+  .byte  55                                  // (bad)
+  .byte  63                                  // (bad)
+  .byte  89                                  // pop           %rcx
+  .byte  23                                  // (bad)
+  .byte  55                                  // (bad)
+  .byte  63                                  // (bad)
+  .byte  89                                  // pop           %rcx
+  .byte  23                                  // (bad)
+  .byte  55                                  // (bad)
+  .byte  63                                  // (bad)
+  .byte  152                                 // cwtl
+  .byte  221,147,61,152,221,147              // fstl          -0x6c2267c3(%rbx)
+  .byte  61,152,221,147,61                   // cmp           $0x3d93dd98,%eax
+  .byte  152                                 // cwtl
+  .byte  221,147,61,111,43,231               // fstl          -0x18d490c3(%rbx)
+  .byte  187,111,43,231,187                  // mov           $0xbbe72b6f,%ebx
+  .byte  111                                 // outsl         %ds:(%rsi),(%dx)
+  .byte  43,231                              // sub           %edi,%esp
+  .byte  187,111,43,231,187                  // mov           $0xbbe72b6f,%ebx
+  .byte  159                                 // lahf
+  .byte  215                                 // xlat          %ds:(%rbx)
+  .byte  202,60,159                          // lret          $0x9f3c
+  .byte  215                                 // xlat          %ds:(%rbx)
+  .byte  202,60,159                          // lret          $0x9f3c
+  .byte  215                                 // xlat          %ds:(%rbx)
+  .byte  202,60,159                          // lret          $0x9f3c
+  .byte  215                                 // xlat          %ds:(%rbx)
+  .byte  202,60,212                          // lret          $0xd43c
+  .byte  100,84                              // fs            push %rsp
+  .byte  189,212,100,84,189                  // mov           $0xbd5464d4,%ebp
+  .byte  212                                 // (bad)
+  .byte  100,84                              // fs            push %rsp
+  .byte  189,212,100,84,189                  // mov           $0xbd5464d4,%ebp
+  .byte  169,240,34,62,169                   // test          $0xa93e22f0,%eax
+  .byte  240,34,62                           // lock          and (%rsi),%bh
+  .byte  169,240,34,62,169                   // test          $0xa93e22f0,%eax
+  .byte  240,34,62                           // lock          and (%rsi),%bh
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  128,62,0                            // cmpb          $0x0,(%rsi)
+  .byte  0,128,62,0,0,128                    // add           %al,-0x7fffffc2(%rax)
+  .byte  62,0,0                              // add           %al,%ds:(%rax)
+  .byte  128,62,0                            // cmpb          $0x0,(%rsi)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  191,0,0,0,191                       // mov           $0xbf000000,%edi
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,191,0,0,0,191                     // add           %bh,-0x41000000(%rdi)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  192,191,0,0,192,191,0               // sarb          $0x0,-0x40400000(%rdi)
+  .byte  0,192                               // add           %al,%al
+  .byte  191,0,0,192,191                     // mov           $0xbfc00000,%edi
+  .byte  114,28                              // jb            3d56e <.literal16+0x6be>
+  .byte  199                                 // (bad)
+  .byte  62,114,28                           // jb,pt         3d572 <.literal16+0x6c2>
+  .byte  199                                 // (bad)
+  .byte  62,114,28                           // jb,pt         3d576 <.literal16+0x6c6>
+  .byte  199                                 // (bad)
+  .byte  62,114,28                           // jb,pt         3d57a <.literal16+0x6ca>
+  .byte  199                                 // (bad)
+  .byte  62,85                               // ds            push %rbp
+  .byte  85                                  // push          %rbp
+  .byte  149                                 // xchg          %eax,%ebp
+  .byte  191,85,85,149,191                   // mov           $0xbf955555,%edi
+  .byte  85                                  // push          %rbp
+  .byte  85                                  // push          %rbp
+  .byte  149                                 // xchg          %eax,%ebp
+  .byte  191,85,85,149,191                   // mov           $0xbf955555,%edi
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  192,63,0                            // sarb          $0x0,(%rdi)
+  .byte  0,192                               // add           %al,%al
+  .byte  63                                  // (bad)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  192,63,0                            // sarb          $0x0,(%rdi)
+  .byte  0,192                               // add           %al,%al
+  .byte  63                                  // (bad)
+  .byte  57,142,99,61,57,142                 // cmp           %ecx,-0x71c6c29d(%rsi)
+  .byte  99,61,57,142,99,61                  // movslq        0x3d638e39(%rip),%edi        # 3d6763c5 <_sk_srcover_bgra_8888_sse2_lowp+0x3d63a179>
+  .byte  57,142,99,61,114,249                // cmp           %ecx,-0x68dc29d(%rsi)
+  .byte  127,63                              // jg            3d5d3 <.literal16+0x723>
+  .byte  114,249                             // jb            3d58f <.literal16+0x6df>
+  .byte  127,63                              // jg            3d5d7 <.literal16+0x727>
+  .byte  114,249                             // jb            3d593 <.literal16+0x6e3>
+  .byte  127,63                              // jg            3d5db <.literal16+0x72b>
+  .byte  114,249                             // jb            3d597 <.literal16+0x6e7>
+  .byte  127,63                              // jg            3d5df <.literal16+0x72f>
+  .byte  3,0                                 // add           (%rax),%eax
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  3,0                                 // add           (%rax),%eax
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  3,0                                 // add           (%rax),%eax
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  3,0                                 // add           (%rax),%eax
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,45,16,17,192,45                 // ljmp          *0x2dc01110(%rip)        # 2dc3e6d5 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc02489>
+  .byte  16,17                               // adc           %dl,(%rcx)
+  .byte  192,45,16,17,192,45,16              // shrb          $0x10,0x2dc01110(%rip)        # 2dc3e6de <_sk_srcover_bgra_8888_sse2_lowp+0x2dc02492>
+  .byte  17,192                              // adc           %eax,%eax
+  .byte  18,120,57                           // adc           0x39(%rax),%bh
+  .byte  64,18,120,57                        // adc           0x39(%rax),%dil
+  .byte  64,18,120,57                        // adc           0x39(%rax),%dil
+  .byte  64,18,120,57                        // adc           0x39(%rax),%dil
+  .byte  64,32,148,90,62,32,148,90           // and           %dl,0x5a94203e(%rdx,%rbx,2)
+  .byte  62,32,148,90,62,32,148,90           // and           %dl,%ds:0x5a94203e(%rdx,%rbx,2)
+  .byte  62,4,157                            // ds            add $0x9d,%al
+  .byte  30                                  // (bad)
+  .byte  62,4,157                            // ds            add $0x9d,%al
+  .byte  30                                  // (bad)
+  .byte  62,4,157                            // ds            add $0x9d,%al
+  .byte  30                                  // (bad)
+  .byte  62,4,157                            // ds            add $0x9d,%al
+  .byte  30                                  // (bad)
+  .byte  62,0,24                             // add           %bl,%ds:(%rax)
+  .byte  161,57,0,24,161,57,0,24,161         // movabs        0xa1180039a1180039,%eax
+  .byte  57,0                                // cmp           %eax,(%rax)
+  .byte  24,161,57,0,0,255                   // sbb           %ah,-0xffffc7(%rcx)
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  255,0                               // incl          (%rax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  255,0                               // incl          (%rax)
+  .byte  2,4,6                               // add           (%rsi,%rax,1),%al
+  .byte  8,10                                // or            %cl,(%rdx)
+  .byte  12,14                               // or            $0xe,%al
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  254,1                               // incb          (%rcx)
+  .byte  254,1                               // incb          (%rcx)
+  .byte  254,1                               // incb          (%rcx)
+  .byte  254,1                               // incb          (%rcx)
+  .byte  254,1                               // incb          (%rcx)
+  .byte  254,1                               // incb          (%rcx)
+  .byte  254,1                               // incb          (%rcx)
+  .byte  254,1                               // incb          (%rcx)
+  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
+  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
+  .byte  0,128,0,128,0,1                     // add           %al,0x1008000(%rax)
+  .byte  4,5                                 // add           $0x5,%al
+  .byte  8,9                                 // or            %cl,(%rcx)
+  .byte  12,13                               // or            $0xd,%al
+  .byte  8,9                                 // or            %cl,(%rcx)
+  .byte  12,13                               // or            $0xd,%al
+  .byte  12,13                               // or            $0xd,%al
+  .byte  14                                  // (bad)
+  .byte  15,3,255                            // lsl           %di,%edi
+  .byte  7                                   // (bad)
+  .byte  255,11                              // decl          (%rbx)
+  .byte  255,15                              // decl          (%rdi)
+  .byte  255,11                              // decl          (%rbx)
+  .byte  255,15                              // decl          (%rdi)
+  .byte  255,15                              // decl          (%rdi)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255,2                               // incl          (%rdx)
+  .byte  3,6                                 // add           (%rsi),%eax
+  .byte  7                                   // (bad)
+  .byte  10,11                               // or            (%rbx),%cl
+  .byte  14                                  // (bad)
+  .byte  15,10                               // (bad)
+  .byte  11,14                               // or            (%rsi),%ecx
+  .byte  15,14                               // femms
+  .byte  15,255                              // (bad)
+  .byte  255                                 // (bad)
+  .byte  248                                 // clc
+  .byte  0,248                               // add           %bh,%al
+  .byte  0,248                               // add           %bh,%al
+  .byte  0,248                               // add           %bh,%al
+  .byte  0,248                               // add           %bh,%al
+  .byte  0,248                               // add           %bh,%al
+  .byte  0,248                               // add           %bh,%al
+  .byte  0,248                               // add           %bh,%al
+  .byte  0,63                                // add           %bh,(%rdi)
+  .byte  0,63                                // add           %bh,(%rdi)
+  .byte  0,63                                // add           %bh,(%rdi)
+  .byte  0,63                                // add           %bh,(%rdi)
+  .byte  0,63                                // add           %bh,(%rdi)
+  .byte  0,63                                // add           %bh,(%rdi)
+  .byte  0,63                                // add           %bh,(%rdi)
+  .byte  0,63                                // add           %bh,(%rdi)
+  .byte  0,31                                // add           %bl,(%rdi)
+  .byte  0,31                                // add           %bl,(%rdi)
+  .byte  0,31                                // add           %bl,(%rdi)
+  .byte  0,31                                // add           %bl,(%rdi)
+  .byte  0,31                                // add           %bl,(%rdi)
+  .byte  0,31                                // add           %bl,(%rdi)
+  .byte  0,31                                // add           %bl,(%rdi)
+  .byte  0,31                                // add           %bl,(%rdi)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  248                                 // clc
+  .byte  0,248                               // add           %bh,%al
+  .byte  0,248                               // add           %bh,%al
+  .byte  0,248                               // add           %bh,%al
+  .byte  0,248                               // add           %bh,%al
+  .byte  0,248                               // add           %bh,%al
+  .byte  0,248                               // add           %bh,%al
+  .byte  0,248                               // add           %bh,%al
+  .byte  224,255                             // loopne        3d6c1 <.literal16+0x811>
+  .byte  224,255                             // loopne        3d6c3 <.literal16+0x813>
+  .byte  224,255                             // loopne        3d6c5 <.literal16+0x815>
+  .byte  224,255                             // loopne        3d6c7 <.literal16+0x817>
+  .byte  224,255                             // loopne        3d6c9 <.literal16+0x819>
+  .byte  224,255                             // loopne        3d6cb <.literal16+0x81b>
+  .byte  224,255                             // loopne        3d6cd <.literal16+0x81d>
+  .byte  224,255                             // loopne        3d6cf <.literal16+0x81f>
+  .byte  15,0,15                             // str           (%rdi)
+  .byte  0,15                                // add           %cl,(%rdi)
+  .byte  0,15                                // add           %cl,(%rdi)
+  .byte  0,15                                // add           %cl,(%rdi)
+  .byte  0,15                                // add           %cl,(%rdi)
+  .byte  0,15                                // add           %cl,(%rdi)
+  .byte  0,15                                // add           %cl,(%rdi)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  240,0,240                           // lock          add %dh,%al
+  .byte  0,240                               // add           %dh,%al
+  .byte  0,240                               // add           %dh,%al
+  .byte  0,240                               // add           %dh,%al
+  .byte  0,240                               // add           %dh,%al
+  .byte  0,240                               // add           %dh,%al
+  .byte  0,240                               // add           %dh,%al
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  240,255,240                         // lock          push %rax
+  .byte  255,240                             // push          %rax
+  .byte  255,240                             // push          %rax
+  .byte  255,240                             // push          %rax
+  .byte  255,240                             // push          %rax
+  .byte  255,240                             // push          %rax
+  .byte  255,240                             // push          %rax
+  .byte  255,54                              // pushq         (%rsi)
+  .byte  0,54                                // add           %dh,(%rsi)
+  .byte  0,54                                // add           %dh,(%rsi)
+  .byte  0,54                                // add           %dh,(%rsi)
+  .byte  0,54                                // add           %dh,(%rsi)
+  .byte  0,54                                // add           %dh,(%rsi)
+  .byte  0,54                                // add           %dh,(%rsi)
+  .byte  0,54                                // add           %dh,(%rsi)
+  .byte  0,183,0,183,0,183                   // add           %dh,-0x48ff4900(%rdi)
+  .byte  0,183,0,183,0,183                   // add           %dh,-0x48ff4900(%rdi)
+  .byte  0,183,0,183,0,19                    // add           %dh,0x1300b700(%rdi)
+  .byte  0,19                                // add           %dl,(%rbx)
+  .byte  0,19                                // add           %dl,(%rbx)
+  .byte  0,19                                // add           %dl,(%rbx)
+  .byte  0,19                                // add           %dl,(%rbx)
+  .byte  0,19                                // add           %dl,(%rbx)
+  .byte  0,19                                // add           %dl,(%rbx)
+  .byte  0,19                                // add           %dl,(%rbx)
+  .byte  0,254                               // add           %bh,%dh
+  .byte  0,254                               // add           %bh,%dh
+  .byte  0,254                               // add           %bh,%dh
+  .byte  0,254                               // add           %bh,%dh
+  .byte  0,254                               // add           %bh,%dh
+  .byte  0,254                               // add           %bh,%dh
+  .byte  0,254                               // add           %bh,%dh
+  .byte  0,254                               // add           %bh,%dh
+  .byte  0                                   // .byte         0x0
+
+BALIGN8
+  .byte  1,0                                 // add           %eax,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  1,0                                 // add           %eax,(%rax)
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  2,0                                 // add           (%rax),%al
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  2,0                                 // add           (%rax),%al
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  4,0                                 // add           $0x0,%al
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  4,0                                 // add           $0x0,%al
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  255                                 // (bad)
+  .byte  127,0                               // jg            3d76b <.literal8+0x1b>
+  .byte  0,255                               // add           %bh,%bh
+  .byte  127,0                               // jg            3d76f <.literal8+0x1f>
+  .byte  0,0                                 // add           %al,(%rax)
+  .byte  128,0,0                             // addb          $0x0,(%rax)
+  .byte  0                                   // .byte         0x0
+  .byte  128,0,0                             // addb          $0x0,(%rax)
+#elif defined(__i386__)
+BALIGN32
+
+HIDDEN _sk_start_pipeline_sse2
+.globl _sk_start_pipeline_sse2
+FUNCTION(_sk_start_pipeline_sse2)
+_sk_start_pipeline_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,92                          // sub           $0x5c,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  59,69,20                            // cmp           0x14(%ebp),%eax
+  .byte  15,131,161,0,0,0                    // jae           b6 <_sk_start_pipeline_sse2+0xb6>
+  .byte  139,85,16                           // mov           0x10(%ebp),%edx
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,117,24                          // mov           0x18(%ebp),%esi
+  .byte  139,62                              // mov           (%esi),%edi
+  .byte  131,198,4                           // add           $0x4,%esi
+  .byte  141,73,4                            // lea           0x4(%ecx),%ecx
+  .byte  137,77,240                          // mov           %ecx,-0x10(%ebp)
+  .byte  57,85,240                           // cmp           %edx,-0x10(%ebp)
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  137,77,152                          // mov           %ecx,-0x68(%ebp)
+  .byte  137,69,236                          // mov           %eax,-0x14(%ebp)
+  .byte  137,69,156                          // mov           %eax,-0x64(%ebp)
+  .byte  199,69,160,0,0,0,0                  // movl          $0x0,-0x60(%ebp)
+  .byte  141,69,168                          // lea           -0x58(%ebp),%eax
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  15,41,64,48                         // movaps        %xmm0,0x30(%eax)
+  .byte  15,41,64,32                         // movaps        %xmm0,0x20(%eax)
+  .byte  15,41,64,16                         // movaps        %xmm0,0x10(%eax)
+  .byte  15,41,0                             // movaps        %xmm0,(%eax)
+  .byte  137,200                             // mov           %ecx,%eax
+  .byte  141,93,152                          // lea           -0x68(%ebp),%ebx
+  .byte  119,41                              // ja            84 <_sk_start_pipeline_sse2+0x84>
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  15,87,201                           // xorps         %xmm1,%xmm1
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  86                                  // push          %esi
+  .byte  83                                  // push          %ebx
+  .byte  255,215                             // call          *%edi
+  .byte  139,85,16                           // mov           0x10(%ebp),%edx
+  .byte  131,196,16                          // add           $0x10,%esp
+  .byte  139,77,152                          // mov           -0x68(%ebp),%ecx
+  .byte  141,65,4                            // lea           0x4(%ecx),%eax
+  .byte  137,69,152                          // mov           %eax,-0x68(%ebp)
+  .byte  131,193,8                           // add           $0x8,%ecx
+  .byte  57,209                              // cmp           %edx,%ecx
+  .byte  118,215                             // jbe           5b <_sk_start_pipeline_sse2+0x5b>
+  .byte  137,209                             // mov           %edx,%ecx
+  .byte  41,193                              // sub           %eax,%ecx
+  .byte  116,31                              // je            a9 <_sk_start_pipeline_sse2+0xa9>
+  .byte  137,77,160                          // mov           %ecx,-0x60(%ebp)
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  15,87,201                           // xorps         %xmm1,%xmm1
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  86                                  // push          %esi
+  .byte  141,69,152                          // lea           -0x68(%ebp),%eax
+  .byte  80                                  // push          %eax
+  .byte  255,215                             // call          *%edi
+  .byte  139,85,16                           // mov           0x10(%ebp),%edx
+  .byte  131,196,16                          // add           $0x10,%esp
+  .byte  139,69,236                          // mov           -0x14(%ebp),%eax
+  .byte  64                                  // inc           %eax
+  .byte  59,69,20                            // cmp           0x14(%ebp),%eax
+  .byte  15,133,115,255,255,255              // jne           29 <_sk_start_pipeline_sse2+0x29>
+  .byte  131,196,92                          // add           $0x5c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_just_return_sse2
+.globl _sk_just_return_sse2
+FUNCTION(_sk_just_return_sse2)
+_sk_just_return_sse2:
+  .byte  195                                 // ret
+
+HIDDEN _sk_seed_shader_sse2
+.globl _sk_seed_shader_sse2
+FUNCTION(_sk_seed_shader_sse2)
+_sk_seed_shader_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  86                                  // push          %esi
+  .byte  80                                  // push          %eax
+  .byte  232,0,0,0,0                         // call          c9 <_sk_seed_shader_sse2+0xa>
+  .byte  88                                  // pop           %eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,85,12                           // mov           0xc(%ebp),%edx
+  .byte  139,50                              // mov           (%edx),%esi
+  .byte  102,15,110,1                        // movd          (%ecx),%xmm0
+  .byte  102,15,112,192,0                    // pshufd        $0x0,%xmm0,%xmm0
+  .byte  15,91,200                           // cvtdq2ps      %xmm0,%xmm1
+  .byte  15,16,6                             // movups        (%esi),%xmm0
+  .byte  15,88,193                           // addps         %xmm1,%xmm0
+  .byte  102,15,110,73,4                     // movd          0x4(%ecx),%xmm1
+  .byte  102,15,112,201,0                    // pshufd        $0x0,%xmm1,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  15,88,136,135,6,1,0                 // addps         0x10687(%eax),%xmm1
+  .byte  141,114,8                           // lea           0x8(%edx),%esi
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  15,41,81,64                         // movaps        %xmm2,0x40(%ecx)
+  .byte  15,41,81,48                         // movaps        %xmm2,0x30(%ecx)
+  .byte  15,41,81,32                         // movaps        %xmm2,0x20(%ecx)
+  .byte  15,41,81,16                         // movaps        %xmm2,0x10(%ecx)
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,144,151,6,1,0                 // movaps        0x10697(%eax),%xmm2
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  86                                  // push          %esi
+  .byte  81                                  // push          %ecx
+  .byte  255,82,4                            // call          *0x4(%edx)
+  .byte  131,196,20                          // add           $0x14,%esp
+  .byte  94                                  // pop           %esi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_dither_sse2
+.globl _sk_dither_sse2
+FUNCTION(_sk_dither_sse2)
+_sk_dither_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  86                                  // push          %esi
+  .byte  131,236,36                          // sub           $0x24,%esp
+  .byte  15,41,93,216                        // movaps        %xmm3,-0x28(%ebp)
+  .byte  15,41,85,232                        // movaps        %xmm2,-0x18(%ebp)
+  .byte  15,40,217                           // movaps        %xmm1,%xmm3
+  .byte  15,40,208                           // movaps        %xmm0,%xmm2
+  .byte  232,0,0,0,0                         // call          140 <_sk_dither_sse2+0x1a>
+  .byte  89                                  // pop           %ecx
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  102,15,110,32                       // movd          (%eax),%xmm4
+  .byte  102,15,112,228,0                    // pshufd        $0x0,%xmm4,%xmm4
+  .byte  102,15,254,161,48,6,1,0             // paddd         0x10630(%ecx),%xmm4
+  .byte  102,15,110,104,4                    // movd          0x4(%eax),%xmm5
+  .byte  102,15,112,253,0                    // pshufd        $0x0,%xmm5,%xmm7
+  .byte  102,15,239,252                      // pxor          %xmm4,%xmm7
+  .byte  102,15,111,177,64,6,1,0             // movdqa        0x10640(%ecx),%xmm6
+  .byte  102,15,111,207                      // movdqa        %xmm7,%xmm1
+  .byte  102,15,219,206                      // pand          %xmm6,%xmm1
+  .byte  102,15,114,241,5                    // pslld         $0x5,%xmm1
+  .byte  102,15,111,129,96,6,1,0             // movdqa        0x10660(%ecx),%xmm0
+  .byte  102,15,111,239                      // movdqa        %xmm7,%xmm5
+  .byte  102,15,219,232                      // pand          %xmm0,%xmm5
+  .byte  102,15,114,245,2                    // pslld         $0x2,%xmm5
+  .byte  102,15,235,233                      // por           %xmm1,%xmm5
+  .byte  102,15,219,244                      // pand          %xmm4,%xmm6
+  .byte  102,15,114,246,4                    // pslld         $0x4,%xmm6
+  .byte  102,15,219,196                      // pand          %xmm4,%xmm0
+  .byte  102,15,254,192                      // paddd         %xmm0,%xmm0
+  .byte  102,15,235,198                      // por           %xmm6,%xmm0
+  .byte  102,15,111,137,80,6,1,0             // movdqa        0x10650(%ecx),%xmm1
+  .byte  102,15,219,249                      // pand          %xmm1,%xmm7
+  .byte  102,15,219,225                      // pand          %xmm1,%xmm4
+  .byte  102,15,114,212,2                    // psrld         $0x2,%xmm4
+  .byte  102,15,235,224                      // por           %xmm0,%xmm4
+  .byte  102,15,235,229                      // por           %xmm5,%xmm4
+  .byte  139,85,12                           // mov           0xc(%ebp),%edx
+  .byte  139,50                              // mov           (%edx),%esi
+  .byte  102,15,114,215,1                    // psrld         $0x1,%xmm7
+  .byte  102,15,235,231                      // por           %xmm7,%xmm4
+  .byte  15,91,196                           // cvtdq2ps      %xmm4,%xmm0
+  .byte  15,89,129,112,6,1,0                 // mulps         0x10670(%ecx),%xmm0
+  .byte  15,88,129,128,6,1,0                 // addps         0x10680(%ecx),%xmm0
+  .byte  243,15,16,14                        // movss         (%esi),%xmm1
+  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
+  .byte  15,89,200                           // mulps         %xmm0,%xmm1
+  .byte  15,88,209                           // addps         %xmm1,%xmm2
+  .byte  15,88,217                           // addps         %xmm1,%xmm3
+  .byte  15,88,77,232                        // addps         -0x18(%ebp),%xmm1
+  .byte  15,40,69,216                        // movaps        -0x28(%ebp),%xmm0
+  .byte  15,93,208                           // minps         %xmm0,%xmm2
+  .byte  102,15,239,237                      // pxor          %xmm5,%xmm5
+  .byte  15,95,234                           // maxps         %xmm2,%xmm5
+  .byte  15,93,216                           // minps         %xmm0,%xmm3
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,95,227                           // maxps         %xmm3,%xmm4
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  15,93,200                           // minps         %xmm0,%xmm1
+  .byte  15,40,216                           // movaps        %xmm0,%xmm3
+  .byte  15,95,209                           // maxps         %xmm1,%xmm2
+  .byte  141,74,8                            // lea           0x8(%edx),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,197                           // movaps        %xmm5,%xmm0
+  .byte  15,40,204                           // movaps        %xmm4,%xmm1
+  .byte  81                                  // push          %ecx
+  .byte  80                                  // push          %eax
+  .byte  255,82,4                            // call          *0x4(%edx)
+  .byte  131,196,52                          // add           $0x34,%esp
+  .byte  94                                  // pop           %esi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_uniform_color_sse2
+.globl _sk_uniform_color_sse2
+FUNCTION(_sk_uniform_color_sse2)
+_sk_uniform_color_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  243,15,16,1                         // movss         (%ecx),%xmm0
+  .byte  243,15,16,73,4                      // movss         0x4(%ecx),%xmm1
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
+  .byte  243,15,16,81,8                      // movss         0x8(%ecx),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  243,15,16,89,12                     // movss         0xc(%ecx),%xmm3
+  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_black_color_sse2
+.globl _sk_black_color_sse2
+FUNCTION(_sk_black_color_sse2)
+_sk_black_color_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  232,0,0,0,0                         // call          27c <_sk_black_color_sse2+0xb>
+  .byte  88                                  // pop           %eax
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  141,81,4                            // lea           0x4(%ecx),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,152,228,4,1,0                 // movaps        0x104e4(%eax),%xmm3
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  15,87,201                           // xorps         %xmm1,%xmm1
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  82                                  // push          %edx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,17                              // call          *(%ecx)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_white_color_sse2
+.globl _sk_white_color_sse2
+FUNCTION(_sk_white_color_sse2)
+_sk_white_color_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  232,0,0,0,0                         // call          2ac <_sk_white_color_sse2+0xb>
+  .byte  88                                  // pop           %eax
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  141,81,4                            // lea           0x4(%ecx),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,128,180,4,1,0                 // movaps        0x104b4(%eax),%xmm0
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  15,40,208                           // movaps        %xmm0,%xmm2
+  .byte  15,40,216                           // movaps        %xmm0,%xmm3
+  .byte  82                                  // push          %edx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,17                              // call          *(%ecx)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_load_rgba_sse2
+.globl _sk_load_rgba_sse2
+FUNCTION(_sk_load_rgba_sse2)
+_sk_load_rgba_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  15,16,1                             // movups        (%ecx),%xmm0
+  .byte  15,16,73,16                         // movups        0x10(%ecx),%xmm1
+  .byte  15,16,81,32                         // movups        0x20(%ecx),%xmm2
+  .byte  15,16,89,48                         // movups        0x30(%ecx),%xmm3
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_store_rgba_sse2
+.globl _sk_store_rgba_sse2
+FUNCTION(_sk_store_rgba_sse2)
+_sk_store_rgba_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  139,17                              // mov           (%ecx),%edx
+  .byte  15,17,2                             // movups        %xmm0,(%edx)
+  .byte  15,17,74,16                         // movups        %xmm1,0x10(%edx)
+  .byte  15,17,82,32                         // movups        %xmm2,0x20(%edx)
+  .byte  15,17,90,48                         // movups        %xmm3,0x30(%edx)
+  .byte  141,81,8                            // lea           0x8(%ecx),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  82                                  // push          %edx
+  .byte  80                                  // push          %eax
+  .byte  255,81,4                            // call          *0x4(%ecx)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_clear_sse2
+.globl _sk_clear_sse2
+FUNCTION(_sk_clear_sse2)
+_sk_clear_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  141,72,4                            // lea           0x4(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  15,87,201                           // xorps         %xmm1,%xmm1
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,16                              // call          *(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_srcatop_sse2
+.globl _sk_srcatop_sse2
+FUNCTION(_sk_srcatop_sse2)
+_sk_srcatop_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  232,0,0,0,0                         // call          35b <_sk_srcatop_sse2+0xb>
+  .byte  90                                  // pop           %edx
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  15,40,97,64                         // movaps        0x40(%ecx),%xmm4
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  15,40,170,5,4,1,0                   // movaps        0x10405(%edx),%xmm5
+  .byte  15,92,235                           // subps         %xmm3,%xmm5
+  .byte  15,40,113,16                        // movaps        0x10(%ecx),%xmm6
+  .byte  15,89,245                           // mulps         %xmm5,%xmm6
+  .byte  15,88,198                           // addps         %xmm6,%xmm0
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  15,40,113,32                        // movaps        0x20(%ecx),%xmm6
+  .byte  15,89,245                           // mulps         %xmm5,%xmm6
+  .byte  15,88,206                           // addps         %xmm6,%xmm1
+  .byte  15,89,212                           // mulps         %xmm4,%xmm2
+  .byte  15,40,113,48                        // movaps        0x30(%ecx),%xmm6
+  .byte  15,89,245                           // mulps         %xmm5,%xmm6
+  .byte  15,88,214                           // addps         %xmm6,%xmm2
+  .byte  15,89,220                           // mulps         %xmm4,%xmm3
+  .byte  15,89,236                           // mulps         %xmm4,%xmm5
+  .byte  15,88,221                           // addps         %xmm5,%xmm3
+  .byte  141,80,4                            // lea           0x4(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,16                              // call          *(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_dstatop_sse2
+.globl _sk_dstatop_sse2
+FUNCTION(_sk_dstatop_sse2)
+_sk_dstatop_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  232,0,0,0,0                         // call          3ba <_sk_dstatop_sse2+0xb>
+  .byte  90                                  // pop           %edx
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  15,40,105,64                        // movaps        0x40(%ecx),%xmm5
+  .byte  15,40,113,16                        // movaps        0x10(%ecx),%xmm6
+  .byte  15,89,243                           // mulps         %xmm3,%xmm6
+  .byte  15,40,162,166,3,1,0                 // movaps        0x103a6(%edx),%xmm4
+  .byte  15,92,229                           // subps         %xmm5,%xmm4
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  15,88,198                           // addps         %xmm6,%xmm0
+  .byte  15,40,113,32                        // movaps        0x20(%ecx),%xmm6
+  .byte  15,89,243                           // mulps         %xmm3,%xmm6
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  15,88,206                           // addps         %xmm6,%xmm1
+  .byte  15,40,113,48                        // movaps        0x30(%ecx),%xmm6
+  .byte  15,89,243                           // mulps         %xmm3,%xmm6
+  .byte  15,89,212                           // mulps         %xmm4,%xmm2
+  .byte  15,88,214                           // addps         %xmm6,%xmm2
+  .byte  15,89,235                           // mulps         %xmm3,%xmm5
+  .byte  15,89,227                           // mulps         %xmm3,%xmm4
+  .byte  15,88,229                           // addps         %xmm5,%xmm4
+  .byte  141,80,4                            // lea           0x4(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,220                           // movaps        %xmm4,%xmm3
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,16                              // call          *(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_srcin_sse2
+.globl _sk_srcin_sse2
+FUNCTION(_sk_srcin_sse2)
+_sk_srcin_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  15,40,97,64                         // movaps        0x40(%ecx),%xmm4
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  15,89,212                           // mulps         %xmm4,%xmm2
+  .byte  15,89,220                           // mulps         %xmm4,%xmm3
+  .byte  141,80,4                            // lea           0x4(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,16                              // call          *(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_dstin_sse2
+.globl _sk_dstin_sse2
+FUNCTION(_sk_dstin_sse2)
+_sk_dstin_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  15,40,65,16                         // movaps        0x10(%ecx),%xmm0
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  15,40,73,32                         // movaps        0x20(%ecx),%xmm1
+  .byte  15,89,203                           // mulps         %xmm3,%xmm1
+  .byte  15,40,81,48                         // movaps        0x30(%ecx),%xmm2
+  .byte  15,89,211                           // mulps         %xmm3,%xmm2
+  .byte  15,89,89,64                         // mulps         0x40(%ecx),%xmm3
+  .byte  141,80,4                            // lea           0x4(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,16                              // call          *(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_srcout_sse2
+.globl _sk_srcout_sse2
+FUNCTION(_sk_srcout_sse2)
+_sk_srcout_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  232,0,0,0,0                         // call          47b <_sk_srcout_sse2+0xb>
+  .byte  88                                  // pop           %eax
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  139,85,8                            // mov           0x8(%ebp),%edx
+  .byte  15,40,160,229,2,1,0                 // movaps        0x102e5(%eax),%xmm4
+  .byte  15,92,98,64                         // subps         0x40(%edx),%xmm4
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  15,89,212                           // mulps         %xmm4,%xmm2
+  .byte  15,89,220                           // mulps         %xmm4,%xmm3
+  .byte  141,65,4                            // lea           0x4(%ecx),%eax
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  80                                  // push          %eax
+  .byte  82                                  // push          %edx
+  .byte  255,17                              // call          *(%ecx)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_dstout_sse2
+.globl _sk_dstout_sse2
+FUNCTION(_sk_dstout_sse2)
+_sk_dstout_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  232,0,0,0,0                         // call          4b3 <_sk_dstout_sse2+0xb>
+  .byte  88                                  // pop           %eax
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  139,85,8                            // mov           0x8(%ebp),%edx
+  .byte  15,40,160,173,2,1,0                 // movaps        0x102ad(%eax),%xmm4
+  .byte  15,92,227                           // subps         %xmm3,%xmm4
+  .byte  15,40,66,16                         // movaps        0x10(%edx),%xmm0
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  15,40,74,32                         // movaps        0x20(%edx),%xmm1
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  15,40,82,48                         // movaps        0x30(%edx),%xmm2
+  .byte  15,89,212                           // mulps         %xmm4,%xmm2
+  .byte  15,89,98,64                         // mulps         0x40(%edx),%xmm4
+  .byte  141,65,4                            // lea           0x4(%ecx),%eax
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,220                           // movaps        %xmm4,%xmm3
+  .byte  80                                  // push          %eax
+  .byte  82                                  // push          %edx
+  .byte  255,17                              // call          *(%ecx)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_srcover_sse2
+.globl _sk_srcover_sse2
+FUNCTION(_sk_srcover_sse2)
+_sk_srcover_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  232,0,0,0,0                         // call          4fa <_sk_srcover_sse2+0xb>
+  .byte  88                                  // pop           %eax
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  139,85,8                            // mov           0x8(%ebp),%edx
+  .byte  15,40,160,102,2,1,0                 // movaps        0x10266(%eax),%xmm4
+  .byte  15,92,227                           // subps         %xmm3,%xmm4
+  .byte  15,40,106,16                        // movaps        0x10(%edx),%xmm5
+  .byte  15,89,236                           // mulps         %xmm4,%xmm5
+  .byte  15,88,197                           // addps         %xmm5,%xmm0
+  .byte  15,40,106,32                        // movaps        0x20(%edx),%xmm5
+  .byte  15,89,236                           // mulps         %xmm4,%xmm5
+  .byte  15,88,205                           // addps         %xmm5,%xmm1
+  .byte  15,40,106,48                        // movaps        0x30(%edx),%xmm5
+  .byte  15,89,236                           // mulps         %xmm4,%xmm5
+  .byte  15,88,213                           // addps         %xmm5,%xmm2
+  .byte  15,89,98,64                         // mulps         0x40(%edx),%xmm4
+  .byte  15,88,220                           // addps         %xmm4,%xmm3
+  .byte  141,65,4                            // lea           0x4(%ecx),%eax
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  80                                  // push          %eax
+  .byte  82                                  // push          %edx
+  .byte  255,17                              // call          *(%ecx)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_dstover_sse2
+.globl _sk_dstover_sse2
+FUNCTION(_sk_dstover_sse2)
+_sk_dstover_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  232,0,0,0,0                         // call          54a <_sk_dstover_sse2+0xb>
+  .byte  88                                  // pop           %eax
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  139,85,8                            // mov           0x8(%ebp),%edx
+  .byte  15,40,106,64                        // movaps        0x40(%edx),%xmm5
+  .byte  15,40,160,22,2,1,0                  // movaps        0x10216(%eax),%xmm4
+  .byte  15,92,229                           // subps         %xmm5,%xmm4
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  15,88,66,16                         // addps         0x10(%edx),%xmm0
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  15,88,74,32                         // addps         0x20(%edx),%xmm1
+  .byte  15,89,212                           // mulps         %xmm4,%xmm2
+  .byte  15,88,82,48                         // addps         0x30(%edx),%xmm2
+  .byte  15,89,227                           // mulps         %xmm3,%xmm4
+  .byte  15,88,229                           // addps         %xmm5,%xmm4
+  .byte  141,65,4                            // lea           0x4(%ecx),%eax
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,220                           // movaps        %xmm4,%xmm3
+  .byte  80                                  // push          %eax
+  .byte  82                                  // push          %edx
+  .byte  255,17                              // call          *(%ecx)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_modulate_sse2
+.globl _sk_modulate_sse2
+FUNCTION(_sk_modulate_sse2)
+_sk_modulate_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  15,89,65,16                         // mulps         0x10(%ecx),%xmm0
+  .byte  15,89,73,32                         // mulps         0x20(%ecx),%xmm1
+  .byte  15,89,81,48                         // mulps         0x30(%ecx),%xmm2
+  .byte  15,89,89,64                         // mulps         0x40(%ecx),%xmm3
+  .byte  141,80,4                            // lea           0x4(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,16                              // call          *(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_multiply_sse2
+.globl _sk_multiply_sse2
+FUNCTION(_sk_multiply_sse2)
+_sk_multiply_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,56                          // sub           $0x38,%esp
+  .byte  15,41,85,216                        // movaps        %xmm2,-0x28(%ebp)
+  .byte  15,40,232                           // movaps        %xmm0,%xmm5
+  .byte  232,0,0,0,0                         // call          5c9 <_sk_multiply_sse2+0x12>
+  .byte  89                                  // pop           %ecx
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  15,40,80,64                         // movaps        0x40(%eax),%xmm2
+  .byte  15,41,85,200                        // movaps        %xmm2,-0x38(%ebp)
+  .byte  15,40,129,151,1,1,0                 // movaps        0x10197(%ecx),%xmm0
+  .byte  15,40,240                           // movaps        %xmm0,%xmm6
+  .byte  15,92,242                           // subps         %xmm2,%xmm6
+  .byte  15,40,254                           // movaps        %xmm6,%xmm7
+  .byte  15,89,253                           // mulps         %xmm5,%xmm7
+  .byte  15,92,195                           // subps         %xmm3,%xmm0
+  .byte  15,40,80,16                         // movaps        0x10(%eax),%xmm2
+  .byte  15,40,224                           // movaps        %xmm0,%xmm4
+  .byte  15,89,226                           // mulps         %xmm2,%xmm4
+  .byte  15,88,231                           // addps         %xmm7,%xmm4
+  .byte  15,89,234                           // mulps         %xmm2,%xmm5
+  .byte  15,88,236                           // addps         %xmm4,%xmm5
+  .byte  15,40,214                           // movaps        %xmm6,%xmm2
+  .byte  15,89,209                           // mulps         %xmm1,%xmm2
+  .byte  15,40,96,32                         // movaps        0x20(%eax),%xmm4
+  .byte  15,40,248                           // movaps        %xmm0,%xmm7
+  .byte  15,89,252                           // mulps         %xmm4,%xmm7
+  .byte  15,88,250                           // addps         %xmm2,%xmm7
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  15,88,207                           // addps         %xmm7,%xmm1
+  .byte  15,41,77,232                        // movaps        %xmm1,-0x18(%ebp)
+  .byte  15,40,206                           // movaps        %xmm6,%xmm1
+  .byte  15,40,85,216                        // movaps        -0x28(%ebp),%xmm2
+  .byte  15,89,202                           // mulps         %xmm2,%xmm1
+  .byte  15,40,96,48                         // movaps        0x30(%eax),%xmm4
+  .byte  15,40,248                           // movaps        %xmm0,%xmm7
+  .byte  15,89,252                           // mulps         %xmm4,%xmm7
+  .byte  15,88,249                           // addps         %xmm1,%xmm7
+  .byte  15,89,212                           // mulps         %xmm4,%xmm2
+  .byte  15,88,215                           // addps         %xmm7,%xmm2
+  .byte  15,89,243                           // mulps         %xmm3,%xmm6
+  .byte  15,40,77,200                        // movaps        -0x38(%ebp),%xmm1
+  .byte  15,89,193                           // mulps         %xmm1,%xmm0
+  .byte  15,88,198                           // addps         %xmm6,%xmm0
+  .byte  15,89,217                           // mulps         %xmm1,%xmm3
+  .byte  15,88,216                           // addps         %xmm0,%xmm3
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  141,81,4                            // lea           0x4(%ecx),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,197                           // movaps        %xmm5,%xmm0
+  .byte  15,40,77,232                        // movaps        -0x18(%ebp),%xmm1
+  .byte  82                                  // push          %edx
+  .byte  80                                  // push          %eax
+  .byte  255,17                              // call          *(%ecx)
+  .byte  131,196,72                          // add           $0x48,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_plus__sse2
+.globl _sk_plus__sse2
+FUNCTION(_sk_plus__sse2)
+_sk_plus__sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  232,0,0,0,0                         // call          66f <_sk_plus__sse2+0xb>
+  .byte  88                                  // pop           %eax
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  139,85,8                            // mov           0x8(%ebp),%edx
+  .byte  15,88,66,16                         // addps         0x10(%edx),%xmm0
+  .byte  15,40,160,241,0,1,0                 // movaps        0x100f1(%eax),%xmm4
+  .byte  15,93,196                           // minps         %xmm4,%xmm0
+  .byte  15,88,74,32                         // addps         0x20(%edx),%xmm1
+  .byte  15,93,204                           // minps         %xmm4,%xmm1
+  .byte  15,88,82,48                         // addps         0x30(%edx),%xmm2
+  .byte  15,93,212                           // minps         %xmm4,%xmm2
+  .byte  15,88,90,64                         // addps         0x40(%edx),%xmm3
+  .byte  15,93,220                           // minps         %xmm4,%xmm3
+  .byte  141,65,4                            // lea           0x4(%ecx),%eax
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  80                                  // push          %eax
+  .byte  82                                  // push          %edx
+  .byte  255,17                              // call          *(%ecx)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_screen_sse2
+.globl _sk_screen_sse2
+FUNCTION(_sk_screen_sse2)
+_sk_screen_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  15,40,105,16                        // movaps        0x10(%ecx),%xmm5
+  .byte  15,40,113,32                        // movaps        0x20(%ecx),%xmm6
+  .byte  15,40,229                           // movaps        %xmm5,%xmm4
+  .byte  15,88,224                           // addps         %xmm0,%xmm4
+  .byte  15,89,232                           // mulps         %xmm0,%xmm5
+  .byte  15,92,229                           // subps         %xmm5,%xmm4
+  .byte  15,40,238                           // movaps        %xmm6,%xmm5
+  .byte  15,88,233                           // addps         %xmm1,%xmm5
+  .byte  15,89,241                           // mulps         %xmm1,%xmm6
+  .byte  15,92,238                           // subps         %xmm6,%xmm5
+  .byte  15,40,65,48                         // movaps        0x30(%ecx),%xmm0
+  .byte  15,40,240                           // movaps        %xmm0,%xmm6
+  .byte  15,88,242                           // addps         %xmm2,%xmm6
+  .byte  15,89,194                           // mulps         %xmm2,%xmm0
+  .byte  15,92,240                           // subps         %xmm0,%xmm6
+  .byte  15,40,65,64                         // movaps        0x40(%ecx),%xmm0
+  .byte  15,40,248                           // movaps        %xmm0,%xmm7
+  .byte  15,88,251                           // addps         %xmm3,%xmm7
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  15,92,248                           // subps         %xmm0,%xmm7
+  .byte  141,80,4                            // lea           0x4(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,196                           // movaps        %xmm4,%xmm0
+  .byte  15,40,205                           // movaps        %xmm5,%xmm1
+  .byte  15,40,214                           // movaps        %xmm6,%xmm2
+  .byte  15,40,223                           // movaps        %xmm7,%xmm3
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,16                              // call          *(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_xor__sse2
+.globl _sk_xor__sse2
+FUNCTION(_sk_xor__sse2)
+_sk_xor__sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,227                           // movaps        %xmm3,%xmm4
+  .byte  232,0,0,0,0                         // call          71d <_sk_xor__sse2+0xe>
+  .byte  90                                  // pop           %edx
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  15,40,105,64                        // movaps        0x40(%ecx),%xmm5
+  .byte  15,40,154,67,0,1,0                  // movaps        0x10043(%edx),%xmm3
+  .byte  15,40,243                           // movaps        %xmm3,%xmm6
+  .byte  15,92,245                           // subps         %xmm5,%xmm6
+  .byte  15,89,198                           // mulps         %xmm6,%xmm0
+  .byte  15,92,220                           // subps         %xmm4,%xmm3
+  .byte  15,40,121,16                        // movaps        0x10(%ecx),%xmm7
+  .byte  15,89,251                           // mulps         %xmm3,%xmm7
+  .byte  15,88,199                           // addps         %xmm7,%xmm0
+  .byte  15,89,206                           // mulps         %xmm6,%xmm1
+  .byte  15,40,121,32                        // movaps        0x20(%ecx),%xmm7
+  .byte  15,89,251                           // mulps         %xmm3,%xmm7
+  .byte  15,88,207                           // addps         %xmm7,%xmm1
+  .byte  15,89,214                           // mulps         %xmm6,%xmm2
+  .byte  15,40,121,48                        // movaps        0x30(%ecx),%xmm7
+  .byte  15,89,251                           // mulps         %xmm3,%xmm7
+  .byte  15,88,215                           // addps         %xmm7,%xmm2
+  .byte  15,89,244                           // mulps         %xmm4,%xmm6
+  .byte  15,89,221                           // mulps         %xmm5,%xmm3
+  .byte  15,88,222                           // addps         %xmm6,%xmm3
+  .byte  141,80,4                            // lea           0x4(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,16                              // call          *(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_darken_sse2
+.globl _sk_darken_sse2
+FUNCTION(_sk_darken_sse2)
+_sk_darken_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,224                           // movaps        %xmm0,%xmm4
+  .byte  232,0,0,0,0                         // call          785 <_sk_darken_sse2+0xe>
+  .byte  90                                  // pop           %edx
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  15,40,113,64                        // movaps        0x40(%ecx),%xmm6
+  .byte  15,40,105,16                        // movaps        0x10(%ecx),%xmm5
+  .byte  15,40,121,32                        // movaps        0x20(%ecx),%xmm7
+  .byte  15,40,197                           // movaps        %xmm5,%xmm0
+  .byte  15,88,196                           // addps         %xmm4,%xmm0
+  .byte  15,89,230                           // mulps         %xmm6,%xmm4
+  .byte  15,89,235                           // mulps         %xmm3,%xmm5
+  .byte  15,95,229                           // maxps         %xmm5,%xmm4
+  .byte  15,92,196                           // subps         %xmm4,%xmm0
+  .byte  15,40,231                           // movaps        %xmm7,%xmm4
+  .byte  15,88,225                           // addps         %xmm1,%xmm4
+  .byte  15,89,206                           // mulps         %xmm6,%xmm1
+  .byte  15,89,251                           // mulps         %xmm3,%xmm7
+  .byte  15,95,207                           // maxps         %xmm7,%xmm1
+  .byte  15,92,225                           // subps         %xmm1,%xmm4
+  .byte  15,40,73,48                         // movaps        0x30(%ecx),%xmm1
+  .byte  15,40,233                           // movaps        %xmm1,%xmm5
+  .byte  15,88,234                           // addps         %xmm2,%xmm5
+  .byte  15,89,214                           // mulps         %xmm6,%xmm2
+  .byte  15,89,203                           // mulps         %xmm3,%xmm1
+  .byte  15,95,209                           // maxps         %xmm1,%xmm2
+  .byte  15,92,234                           // subps         %xmm2,%xmm5
+  .byte  15,40,138,219,255,0,0               // movaps        0xffdb(%edx),%xmm1
+  .byte  15,92,203                           // subps         %xmm3,%xmm1
+  .byte  15,89,206                           // mulps         %xmm6,%xmm1
+  .byte  15,88,217                           // addps         %xmm1,%xmm3
+  .byte  141,80,4                            // lea           0x4(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,204                           // movaps        %xmm4,%xmm1
+  .byte  15,40,213                           // movaps        %xmm5,%xmm2
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,16                              // call          *(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_lighten_sse2
+.globl _sk_lighten_sse2
+FUNCTION(_sk_lighten_sse2)
+_sk_lighten_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,224                           // movaps        %xmm0,%xmm4
+  .byte  232,0,0,0,0                         // call          805 <_sk_lighten_sse2+0xe>
+  .byte  90                                  // pop           %edx
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  15,40,113,64                        // movaps        0x40(%ecx),%xmm6
+  .byte  15,40,105,16                        // movaps        0x10(%ecx),%xmm5
+  .byte  15,40,121,32                        // movaps        0x20(%ecx),%xmm7
+  .byte  15,40,197                           // movaps        %xmm5,%xmm0
+  .byte  15,88,196                           // addps         %xmm4,%xmm0
+  .byte  15,89,230                           // mulps         %xmm6,%xmm4
+  .byte  15,89,235                           // mulps         %xmm3,%xmm5
+  .byte  15,93,229                           // minps         %xmm5,%xmm4
+  .byte  15,92,196                           // subps         %xmm4,%xmm0
+  .byte  15,40,231                           // movaps        %xmm7,%xmm4
+  .byte  15,88,225                           // addps         %xmm1,%xmm4
+  .byte  15,89,206                           // mulps         %xmm6,%xmm1
+  .byte  15,89,251                           // mulps         %xmm3,%xmm7
+  .byte  15,93,207                           // minps         %xmm7,%xmm1
+  .byte  15,92,225                           // subps         %xmm1,%xmm4
+  .byte  15,40,73,48                         // movaps        0x30(%ecx),%xmm1
+  .byte  15,40,233                           // movaps        %xmm1,%xmm5
+  .byte  15,88,234                           // addps         %xmm2,%xmm5
+  .byte  15,89,214                           // mulps         %xmm6,%xmm2
+  .byte  15,89,203                           // mulps         %xmm3,%xmm1
+  .byte  15,93,209                           // minps         %xmm1,%xmm2
+  .byte  15,92,234                           // subps         %xmm2,%xmm5
+  .byte  15,40,138,91,255,0,0                // movaps        0xff5b(%edx),%xmm1
+  .byte  15,92,203                           // subps         %xmm3,%xmm1
+  .byte  15,89,206                           // mulps         %xmm6,%xmm1
+  .byte  15,88,217                           // addps         %xmm1,%xmm3
+  .byte  141,80,4                            // lea           0x4(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,204                           // movaps        %xmm4,%xmm1
+  .byte  15,40,213                           // movaps        %xmm5,%xmm2
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,16                              // call          *(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_difference_sse2
+.globl _sk_difference_sse2
+FUNCTION(_sk_difference_sse2)
+_sk_difference_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,225                           // movaps        %xmm1,%xmm4
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  232,0,0,0,0                         // call          888 <_sk_difference_sse2+0x11>
+  .byte  90                                  // pop           %edx
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  15,40,105,64                        // movaps        0x40(%ecx),%xmm5
+  .byte  15,40,113,16                        // movaps        0x10(%ecx),%xmm6
+  .byte  15,40,121,32                        // movaps        0x20(%ecx),%xmm7
+  .byte  15,40,198                           // movaps        %xmm6,%xmm0
+  .byte  15,88,193                           // addps         %xmm1,%xmm0
+  .byte  15,89,205                           // mulps         %xmm5,%xmm1
+  .byte  15,89,243                           // mulps         %xmm3,%xmm6
+  .byte  15,93,206                           // minps         %xmm6,%xmm1
+  .byte  15,88,201                           // addps         %xmm1,%xmm1
+  .byte  15,92,193                           // subps         %xmm1,%xmm0
+  .byte  15,40,207                           // movaps        %xmm7,%xmm1
+  .byte  15,88,204                           // addps         %xmm4,%xmm1
+  .byte  15,89,229                           // mulps         %xmm5,%xmm4
+  .byte  15,89,251                           // mulps         %xmm3,%xmm7
+  .byte  15,93,231                           // minps         %xmm7,%xmm4
+  .byte  15,88,228                           // addps         %xmm4,%xmm4
+  .byte  15,92,204                           // subps         %xmm4,%xmm1
+  .byte  15,40,113,48                        // movaps        0x30(%ecx),%xmm6
+  .byte  15,40,230                           // movaps        %xmm6,%xmm4
+  .byte  15,88,226                           // addps         %xmm2,%xmm4
+  .byte  15,89,213                           // mulps         %xmm5,%xmm2
+  .byte  15,89,243                           // mulps         %xmm3,%xmm6
+  .byte  15,93,214                           // minps         %xmm6,%xmm2
+  .byte  15,88,210                           // addps         %xmm2,%xmm2
+  .byte  15,92,226                           // subps         %xmm2,%xmm4
+  .byte  15,40,146,216,254,0,0               // movaps        0xfed8(%edx),%xmm2
+  .byte  15,92,211                           // subps         %xmm3,%xmm2
+  .byte  15,89,213                           // mulps         %xmm5,%xmm2
+  .byte  15,88,218                           // addps         %xmm2,%xmm3
+  .byte  141,80,4                            // lea           0x4(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,212                           // movaps        %xmm4,%xmm2
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,16                              // call          *(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_exclusion_sse2
+.globl _sk_exclusion_sse2
+FUNCTION(_sk_exclusion_sse2)
+_sk_exclusion_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,224                           // movaps        %xmm0,%xmm4
+  .byte  232,0,0,0,0                         // call          90e <_sk_exclusion_sse2+0xe>
+  .byte  90                                  // pop           %edx
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  15,40,105,16                        // movaps        0x10(%ecx),%xmm5
+  .byte  15,40,113,32                        // movaps        0x20(%ecx),%xmm6
+  .byte  15,40,197                           // movaps        %xmm5,%xmm0
+  .byte  15,88,196                           // addps         %xmm4,%xmm0
+  .byte  15,89,236                           // mulps         %xmm4,%xmm5
+  .byte  15,88,237                           // addps         %xmm5,%xmm5
+  .byte  15,92,197                           // subps         %xmm5,%xmm0
+  .byte  15,40,230                           // movaps        %xmm6,%xmm4
+  .byte  15,88,225                           // addps         %xmm1,%xmm4
+  .byte  15,89,241                           // mulps         %xmm1,%xmm6
+  .byte  15,88,246                           // addps         %xmm6,%xmm6
+  .byte  15,92,230                           // subps         %xmm6,%xmm4
+  .byte  15,40,73,48                         // movaps        0x30(%ecx),%xmm1
+  .byte  15,40,233                           // movaps        %xmm1,%xmm5
+  .byte  15,88,234                           // addps         %xmm2,%xmm5
+  .byte  15,89,202                           // mulps         %xmm2,%xmm1
+  .byte  15,88,201                           // addps         %xmm1,%xmm1
+  .byte  15,92,233                           // subps         %xmm1,%xmm5
+  .byte  15,40,138,82,254,0,0                // movaps        0xfe52(%edx),%xmm1
+  .byte  15,92,203                           // subps         %xmm3,%xmm1
+  .byte  15,89,73,64                         // mulps         0x40(%ecx),%xmm1
+  .byte  15,88,217                           // addps         %xmm1,%xmm3
+  .byte  141,80,4                            // lea           0x4(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,204                           // movaps        %xmm4,%xmm1
+  .byte  15,40,213                           // movaps        %xmm5,%xmm2
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,16                              // call          *(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_colorburn_sse2
+.globl _sk_colorburn_sse2
+FUNCTION(_sk_colorburn_sse2)
+_sk_colorburn_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,88                          // sub           $0x58,%esp
+  .byte  15,41,93,216                        // movaps        %xmm3,-0x28(%ebp)
+  .byte  15,41,85,168                        // movaps        %xmm2,-0x58(%ebp)
+  .byte  15,40,209                           // movaps        %xmm1,%xmm2
+  .byte  15,40,224                           // movaps        %xmm0,%xmm4
+  .byte  232,0,0,0,0                         // call          98d <_sk_colorburn_sse2+0x19>
+  .byte  89                                  // pop           %ecx
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  15,40,72,64                         // movaps        0x40(%eax),%xmm1
+  .byte  15,40,104,16                        // movaps        0x10(%eax),%xmm5
+  .byte  15,41,109,232                       // movaps        %xmm5,-0x18(%ebp)
+  .byte  15,40,193                           // movaps        %xmm1,%xmm0
+  .byte  15,92,197                           // subps         %xmm5,%xmm0
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  15,83,244                           // rcpps         %xmm4,%xmm6
+  .byte  15,89,240                           // mulps         %xmm0,%xmm6
+  .byte  15,40,193                           // movaps        %xmm1,%xmm0
+  .byte  15,93,198                           // minps         %xmm6,%xmm0
+  .byte  15,40,233                           // movaps        %xmm1,%xmm5
+  .byte  15,92,232                           // subps         %xmm0,%xmm5
+  .byte  15,40,177,211,253,0,0               // movaps        0xfdd3(%ecx),%xmm6
+  .byte  15,40,198                           // movaps        %xmm6,%xmm0
+  .byte  15,92,193                           // subps         %xmm1,%xmm0
+  .byte  15,41,69,200                        // movaps        %xmm0,-0x38(%ebp)
+  .byte  15,40,248                           // movaps        %xmm0,%xmm7
+  .byte  15,89,252                           // mulps         %xmm4,%xmm7
+  .byte  15,40,93,232                        // movaps        -0x18(%ebp),%xmm3
+  .byte  15,88,223                           // addps         %xmm7,%xmm3
+  .byte  15,40,69,216                        // movaps        -0x28(%ebp),%xmm0
+  .byte  15,89,232                           // mulps         %xmm0,%xmm5
+  .byte  15,88,239                           // addps         %xmm7,%xmm5
+  .byte  15,92,240                           // subps         %xmm0,%xmm6
+  .byte  15,41,117,184                       // movaps        %xmm6,-0x48(%ebp)
+  .byte  15,40,198                           // movaps        %xmm6,%xmm0
+  .byte  15,40,117,232                       // movaps        -0x18(%ebp),%xmm6
+  .byte  15,89,198                           // mulps         %xmm6,%xmm0
+  .byte  15,87,255                           // xorps         %xmm7,%xmm7
+  .byte  15,194,231,0                        // cmpeqps       %xmm7,%xmm4
+  .byte  15,88,232                           // addps         %xmm0,%xmm5
+  .byte  15,84,196                           // andps         %xmm4,%xmm0
+  .byte  15,85,229                           // andnps        %xmm5,%xmm4
+  .byte  15,86,224                           // orps          %xmm0,%xmm4
+  .byte  15,40,198                           // movaps        %xmm6,%xmm0
+  .byte  15,194,193,0                        // cmpeqps       %xmm1,%xmm0
+  .byte  15,84,216                           // andps         %xmm0,%xmm3
+  .byte  15,85,196                           // andnps        %xmm4,%xmm0
+  .byte  15,86,195                           // orps          %xmm3,%xmm0
+  .byte  15,41,69,232                        // movaps        %xmm0,-0x18(%ebp)
+  .byte  15,40,96,32                         // movaps        0x20(%eax),%xmm4
+  .byte  15,40,193                           // movaps        %xmm1,%xmm0
+  .byte  15,92,196                           // subps         %xmm4,%xmm0
+  .byte  15,40,109,216                       // movaps        -0x28(%ebp),%xmm5
+  .byte  15,89,197                           // mulps         %xmm5,%xmm0
+  .byte  15,83,218                           // rcpps         %xmm2,%xmm3
+  .byte  15,89,216                           // mulps         %xmm0,%xmm3
+  .byte  15,40,193                           // movaps        %xmm1,%xmm0
+  .byte  15,93,195                           // minps         %xmm3,%xmm0
+  .byte  15,40,217                           // movaps        %xmm1,%xmm3
+  .byte  15,92,216                           // subps         %xmm0,%xmm3
+  .byte  15,40,117,200                       // movaps        -0x38(%ebp),%xmm6
+  .byte  15,89,242                           // mulps         %xmm2,%xmm6
+  .byte  15,40,69,184                        // movaps        -0x48(%ebp),%xmm0
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  15,194,215,0                        // cmpeqps       %xmm7,%xmm2
+  .byte  15,89,221                           // mulps         %xmm5,%xmm3
+  .byte  15,88,222                           // addps         %xmm6,%xmm3
+  .byte  15,88,216                           // addps         %xmm0,%xmm3
+  .byte  15,84,194                           // andps         %xmm2,%xmm0
+  .byte  15,85,211                           // andnps        %xmm3,%xmm2
+  .byte  15,86,208                           // orps          %xmm0,%xmm2
+  .byte  15,88,244                           // addps         %xmm4,%xmm6
+  .byte  15,40,236                           // movaps        %xmm4,%xmm5
+  .byte  15,194,233,0                        // cmpeqps       %xmm1,%xmm5
+  .byte  15,84,245                           // andps         %xmm5,%xmm6
+  .byte  15,85,234                           // andnps        %xmm2,%xmm5
+  .byte  15,86,238                           // orps          %xmm6,%xmm5
+  .byte  15,40,69,168                        // movaps        -0x58(%ebp),%xmm0
+  .byte  15,40,117,200                       // movaps        -0x38(%ebp),%xmm6
+  .byte  15,89,240                           // mulps         %xmm0,%xmm6
+  .byte  15,41,117,200                       // movaps        %xmm6,-0x38(%ebp)
+  .byte  15,194,248,0                        // cmpeqps       %xmm0,%xmm7
+  .byte  15,40,216                           // movaps        %xmm0,%xmm3
+  .byte  15,40,80,48                         // movaps        0x30(%eax),%xmm2
+  .byte  15,40,193                           // movaps        %xmm1,%xmm0
+  .byte  15,92,194                           // subps         %xmm2,%xmm0
+  .byte  15,89,69,216                        // mulps         -0x28(%ebp),%xmm0
+  .byte  15,83,219                           // rcpps         %xmm3,%xmm3
+  .byte  15,89,216                           // mulps         %xmm0,%xmm3
+  .byte  15,40,225                           // movaps        %xmm1,%xmm4
+  .byte  15,93,227                           // minps         %xmm3,%xmm4
+  .byte  15,40,222                           // movaps        %xmm6,%xmm3
+  .byte  15,88,218                           // addps         %xmm2,%xmm3
+  .byte  15,40,69,184                        // movaps        -0x48(%ebp),%xmm0
+  .byte  15,40,240                           // movaps        %xmm0,%xmm6
+  .byte  15,89,242                           // mulps         %xmm2,%xmm6
+  .byte  15,194,209,0                        // cmpeqps       %xmm1,%xmm2
+  .byte  15,89,193                           // mulps         %xmm1,%xmm0
+  .byte  15,41,69,184                        // movaps        %xmm0,-0x48(%ebp)
+  .byte  15,92,204                           // subps         %xmm4,%xmm1
+  .byte  15,40,69,216                        // movaps        -0x28(%ebp),%xmm0
+  .byte  15,89,200                           // mulps         %xmm0,%xmm1
+  .byte  15,88,77,200                        // addps         -0x38(%ebp),%xmm1
+  .byte  15,88,206                           // addps         %xmm6,%xmm1
+  .byte  15,84,247                           // andps         %xmm7,%xmm6
+  .byte  15,85,249                           // andnps        %xmm1,%xmm7
+  .byte  15,86,254                           // orps          %xmm6,%xmm7
+  .byte  15,84,218                           // andps         %xmm2,%xmm3
+  .byte  15,85,215                           // andnps        %xmm7,%xmm2
+  .byte  15,86,211                           // orps          %xmm3,%xmm2
+  .byte  15,40,216                           // movaps        %xmm0,%xmm3
+  .byte  15,88,93,184                        // addps         -0x48(%ebp),%xmm3
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  141,81,4                            // lea           0x4(%ecx),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,69,232                        // movaps        -0x18(%ebp),%xmm0
+  .byte  15,40,205                           // movaps        %xmm5,%xmm1
+  .byte  82                                  // push          %edx
+  .byte  80                                  // push          %eax
+  .byte  255,17                              // call          *(%ecx)
+  .byte  131,196,104                         // add           $0x68,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_colordodge_sse2
+.globl _sk_colordodge_sse2
+FUNCTION(_sk_colordodge_sse2)
+_sk_colordodge_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,88                          // sub           $0x58,%esp
+  .byte  15,40,243                           // movaps        %xmm3,%xmm6
+  .byte  15,41,85,168                        // movaps        %xmm2,-0x58(%ebp)
+  .byte  15,41,77,232                        // movaps        %xmm1,-0x18(%ebp)
+  .byte  232,0,0,0,0                         // call          b16 <_sk_colordodge_sse2+0x16>
+  .byte  89                                  // pop           %ecx
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  15,40,72,16                         // movaps        0x10(%eax),%xmm1
+  .byte  15,40,145,74,252,0,0                // movaps        0xfc4a(%ecx),%xmm2
+  .byte  15,40,226                           // movaps        %xmm2,%xmm4
+  .byte  15,92,214                           // subps         %xmm6,%xmm2
+  .byte  15,40,250                           // movaps        %xmm2,%xmm7
+  .byte  15,41,85,184                        // movaps        %xmm2,-0x48(%ebp)
+  .byte  15,89,249                           // mulps         %xmm1,%xmm7
+  .byte  15,41,77,216                        // movaps        %xmm1,-0x28(%ebp)
+  .byte  15,89,206                           // mulps         %xmm6,%xmm1
+  .byte  15,92,216                           // subps         %xmm0,%xmm3
+  .byte  15,83,219                           // rcpps         %xmm3,%xmm3
+  .byte  15,89,217                           // mulps         %xmm1,%xmm3
+  .byte  15,40,104,64                        // movaps        0x40(%eax),%xmm5
+  .byte  15,40,205                           // movaps        %xmm5,%xmm1
+  .byte  15,93,203                           // minps         %xmm3,%xmm1
+  .byte  15,92,229                           // subps         %xmm5,%xmm4
+  .byte  15,41,101,200                       // movaps        %xmm4,-0x38(%ebp)
+  .byte  15,40,220                           // movaps        %xmm4,%xmm3
+  .byte  15,89,216                           // mulps         %xmm0,%xmm3
+  .byte  15,40,224                           // movaps        %xmm0,%xmm4
+  .byte  15,194,230,0                        // cmpeqps       %xmm6,%xmm4
+  .byte  15,89,206                           // mulps         %xmm6,%xmm1
+  .byte  15,88,203                           // addps         %xmm3,%xmm1
+  .byte  15,84,196                           // andps         %xmm4,%xmm0
+  .byte  15,85,225                           // andnps        %xmm1,%xmm4
+  .byte  15,86,224                           // orps          %xmm0,%xmm4
+  .byte  15,88,231                           // addps         %xmm7,%xmm4
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  15,40,125,216                       // movaps        -0x28(%ebp),%xmm7
+  .byte  15,194,248,0                        // cmpeqps       %xmm0,%xmm7
+  .byte  15,84,223                           // andps         %xmm7,%xmm3
+  .byte  15,85,252                           // andnps        %xmm4,%xmm7
+  .byte  15,86,251                           // orps          %xmm3,%xmm7
+  .byte  15,41,125,216                       // movaps        %xmm7,-0x28(%ebp)
+  .byte  15,40,64,32                         // movaps        0x20(%eax),%xmm0
+  .byte  15,40,250                           // movaps        %xmm2,%xmm7
+  .byte  15,89,248                           // mulps         %xmm0,%xmm7
+  .byte  15,40,216                           // movaps        %xmm0,%xmm3
+  .byte  15,89,198                           // mulps         %xmm6,%xmm0
+  .byte  15,40,230                           // movaps        %xmm6,%xmm4
+  .byte  15,40,85,232                        // movaps        -0x18(%ebp),%xmm2
+  .byte  15,92,226                           // subps         %xmm2,%xmm4
+  .byte  15,83,228                           // rcpps         %xmm4,%xmm4
+  .byte  15,89,224                           // mulps         %xmm0,%xmm4
+  .byte  15,40,205                           // movaps        %xmm5,%xmm1
+  .byte  15,93,204                           // minps         %xmm4,%xmm1
+  .byte  15,40,101,200                       // movaps        -0x38(%ebp),%xmm4
+  .byte  15,89,226                           // mulps         %xmm2,%xmm4
+  .byte  15,40,194                           // movaps        %xmm2,%xmm0
+  .byte  15,194,198,0                        // cmpeqps       %xmm6,%xmm0
+  .byte  15,89,206                           // mulps         %xmm6,%xmm1
+  .byte  15,88,204                           // addps         %xmm4,%xmm1
+  .byte  15,84,208                           // andps         %xmm0,%xmm2
+  .byte  15,85,193                           // andnps        %xmm1,%xmm0
+  .byte  15,86,194                           // orps          %xmm2,%xmm0
+  .byte  15,88,199                           // addps         %xmm7,%xmm0
+  .byte  15,87,201                           // xorps         %xmm1,%xmm1
+  .byte  15,194,217,0                        // cmpeqps       %xmm1,%xmm3
+  .byte  15,84,227                           // andps         %xmm3,%xmm4
+  .byte  15,85,216                           // andnps        %xmm0,%xmm3
+  .byte  15,86,220                           // orps          %xmm4,%xmm3
+  .byte  15,40,64,48                         // movaps        0x30(%eax),%xmm0
+  .byte  15,194,200,0                        // cmpeqps       %xmm0,%xmm1
+  .byte  15,41,77,232                        // movaps        %xmm1,-0x18(%ebp)
+  .byte  15,40,77,184                        // movaps        -0x48(%ebp),%xmm1
+  .byte  15,40,209                           // movaps        %xmm1,%xmm2
+  .byte  15,89,208                           // mulps         %xmm0,%xmm2
+  .byte  15,89,198                           // mulps         %xmm6,%xmm0
+  .byte  15,40,230                           // movaps        %xmm6,%xmm4
+  .byte  15,40,125,168                       // movaps        -0x58(%ebp),%xmm7
+  .byte  15,92,231                           // subps         %xmm7,%xmm4
+  .byte  15,83,228                           // rcpps         %xmm4,%xmm4
+  .byte  15,89,224                           // mulps         %xmm0,%xmm4
+  .byte  15,89,205                           // mulps         %xmm5,%xmm1
+  .byte  15,93,236                           // minps         %xmm4,%xmm5
+  .byte  15,40,231                           // movaps        %xmm7,%xmm4
+  .byte  15,40,125,200                       // movaps        -0x38(%ebp),%xmm7
+  .byte  15,89,252                           // mulps         %xmm4,%xmm7
+  .byte  15,40,196                           // movaps        %xmm4,%xmm0
+  .byte  15,194,198,0                        // cmpeqps       %xmm6,%xmm0
+  .byte  15,89,238                           // mulps         %xmm6,%xmm5
+  .byte  15,88,239                           // addps         %xmm7,%xmm5
+  .byte  15,84,224                           // andps         %xmm0,%xmm4
+  .byte  15,85,197                           // andnps        %xmm5,%xmm0
+  .byte  15,86,196                           // orps          %xmm4,%xmm0
+  .byte  15,88,194                           // addps         %xmm2,%xmm0
+  .byte  15,40,85,232                        // movaps        -0x18(%ebp),%xmm2
+  .byte  15,84,250                           // andps         %xmm2,%xmm7
+  .byte  15,85,208                           // andnps        %xmm0,%xmm2
+  .byte  15,86,215                           // orps          %xmm7,%xmm2
+  .byte  15,88,241                           // addps         %xmm1,%xmm6
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  141,81,4                            // lea           0x4(%ecx),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,69,216                        // movaps        -0x28(%ebp),%xmm0
+  .byte  15,40,203                           // movaps        %xmm3,%xmm1
+  .byte  15,40,222                           // movaps        %xmm6,%xmm3
+  .byte  82                                  // push          %edx
+  .byte  80                                  // push          %eax
+  .byte  255,17                              // call          *(%ecx)
+  .byte  131,196,104                         // add           $0x68,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_hardlight_sse2
+.globl _sk_hardlight_sse2
+FUNCTION(_sk_hardlight_sse2)
+_sk_hardlight_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,88                          // sub           $0x58,%esp
+  .byte  15,40,243                           // movaps        %xmm3,%xmm6
+  .byte  15,41,85,168                        // movaps        %xmm2,-0x58(%ebp)
+  .byte  15,41,77,232                        // movaps        %xmm1,-0x18(%ebp)
+  .byte  232,0,0,0,0                         // call          c77 <_sk_hardlight_sse2+0x16>
+  .byte  89                                  // pop           %ecx
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  15,40,72,64                         // movaps        0x40(%eax),%xmm1
+  .byte  15,40,145,233,250,0,0               // movaps        0xfae9(%ecx),%xmm2
+  .byte  15,40,234                           // movaps        %xmm2,%xmm5
+  .byte  15,92,233                           // subps         %xmm1,%xmm5
+  .byte  15,40,225                           // movaps        %xmm1,%xmm4
+  .byte  15,40,253                           // movaps        %xmm5,%xmm7
+  .byte  15,89,248                           // mulps         %xmm0,%xmm7
+  .byte  15,92,214                           // subps         %xmm6,%xmm2
+  .byte  15,41,85,200                        // movaps        %xmm2,-0x38(%ebp)
+  .byte  15,40,88,16                         // movaps        0x10(%eax),%xmm3
+  .byte  15,40,202                           // movaps        %xmm2,%xmm1
+  .byte  15,89,203                           // mulps         %xmm3,%xmm1
+  .byte  15,88,207                           // addps         %xmm7,%xmm1
+  .byte  15,40,212                           // movaps        %xmm4,%xmm2
+  .byte  15,41,85,216                        // movaps        %xmm2,-0x28(%ebp)
+  .byte  15,40,250                           // movaps        %xmm2,%xmm7
+  .byte  15,92,251                           // subps         %xmm3,%xmm7
+  .byte  15,40,230                           // movaps        %xmm6,%xmm4
+  .byte  15,92,224                           // subps         %xmm0,%xmm4
+  .byte  15,89,231                           // mulps         %xmm7,%xmm4
+  .byte  15,40,250                           // movaps        %xmm2,%xmm7
+  .byte  15,89,254                           // mulps         %xmm6,%xmm7
+  .byte  15,41,125,184                       // movaps        %xmm7,-0x48(%ebp)
+  .byte  15,88,228                           // addps         %xmm4,%xmm4
+  .byte  15,92,252                           // subps         %xmm4,%xmm7
+  .byte  15,89,216                           // mulps         %xmm0,%xmm3
+  .byte  15,40,224                           // movaps        %xmm0,%xmm4
+  .byte  15,88,228                           // addps         %xmm4,%xmm4
+  .byte  15,194,230,2                        // cmpleps       %xmm6,%xmm4
+  .byte  15,88,219                           // addps         %xmm3,%xmm3
+  .byte  15,84,220                           // andps         %xmm4,%xmm3
+  .byte  15,85,231                           // andnps        %xmm7,%xmm4
+  .byte  15,86,227                           // orps          %xmm3,%xmm4
+  .byte  15,88,225                           // addps         %xmm1,%xmm4
+  .byte  15,40,205                           // movaps        %xmm5,%xmm1
+  .byte  15,40,85,232                        // movaps        -0x18(%ebp),%xmm2
+  .byte  15,89,202                           // mulps         %xmm2,%xmm1
+  .byte  15,40,88,32                         // movaps        0x20(%eax),%xmm3
+  .byte  15,40,69,200                        // movaps        -0x38(%ebp),%xmm0
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  15,88,193                           // addps         %xmm1,%xmm0
+  .byte  15,40,77,216                        // movaps        -0x28(%ebp),%xmm1
+  .byte  15,92,203                           // subps         %xmm3,%xmm1
+  .byte  15,40,254                           // movaps        %xmm6,%xmm7
+  .byte  15,92,250                           // subps         %xmm2,%xmm7
+  .byte  15,89,249                           // mulps         %xmm1,%xmm7
+  .byte  15,88,255                           // addps         %xmm7,%xmm7
+  .byte  15,40,85,184                        // movaps        -0x48(%ebp),%xmm2
+  .byte  15,92,215                           // subps         %xmm7,%xmm2
+  .byte  15,40,77,232                        // movaps        -0x18(%ebp),%xmm1
+  .byte  15,89,217                           // mulps         %xmm1,%xmm3
+  .byte  15,88,201                           // addps         %xmm1,%xmm1
+  .byte  15,194,206,2                        // cmpleps       %xmm6,%xmm1
+  .byte  15,88,219                           // addps         %xmm3,%xmm3
+  .byte  15,84,217                           // andps         %xmm1,%xmm3
+  .byte  15,85,202                           // andnps        %xmm2,%xmm1
+  .byte  15,86,203                           // orps          %xmm3,%xmm1
+  .byte  15,88,200                           // addps         %xmm0,%xmm1
+  .byte  15,40,125,168                       // movaps        -0x58(%ebp),%xmm7
+  .byte  15,89,239                           // mulps         %xmm7,%xmm5
+  .byte  15,40,80,48                         // movaps        0x30(%eax),%xmm2
+  .byte  15,40,93,200                        // movaps        -0x38(%ebp),%xmm3
+  .byte  15,40,195                           // movaps        %xmm3,%xmm0
+  .byte  15,89,194                           // mulps         %xmm2,%xmm0
+  .byte  15,88,197                           // addps         %xmm5,%xmm0
+  .byte  15,41,69,232                        // movaps        %xmm0,-0x18(%ebp)
+  .byte  15,40,239                           // movaps        %xmm7,%xmm5
+  .byte  15,88,237                           // addps         %xmm5,%xmm5
+  .byte  15,194,238,2                        // cmpleps       %xmm6,%xmm5
+  .byte  15,40,69,216                        // movaps        -0x28(%ebp),%xmm0
+  .byte  15,89,216                           // mulps         %xmm0,%xmm3
+  .byte  15,92,194                           // subps         %xmm2,%xmm0
+  .byte  15,89,215                           // mulps         %xmm7,%xmm2
+  .byte  15,88,222                           // addps         %xmm6,%xmm3
+  .byte  15,92,247                           // subps         %xmm7,%xmm6
+  .byte  15,89,240                           // mulps         %xmm0,%xmm6
+  .byte  15,88,246                           // addps         %xmm6,%xmm6
+  .byte  15,40,125,184                       // movaps        -0x48(%ebp),%xmm7
+  .byte  15,92,254                           // subps         %xmm6,%xmm7
+  .byte  15,88,210                           // addps         %xmm2,%xmm2
+  .byte  15,84,213                           // andps         %xmm5,%xmm2
+  .byte  15,85,239                           // andnps        %xmm7,%xmm5
+  .byte  15,86,234                           // orps          %xmm2,%xmm5
+  .byte  15,88,109,232                       // addps         -0x18(%ebp),%xmm5
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  141,81,4                            // lea           0x4(%ecx),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,196                           // movaps        %xmm4,%xmm0
+  .byte  15,40,213                           // movaps        %xmm5,%xmm2
+  .byte  82                                  // push          %edx
+  .byte  80                                  // push          %eax
+  .byte  255,17                              // call          *(%ecx)
+  .byte  131,196,104                         // add           $0x68,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_overlay_sse2
+.globl _sk_overlay_sse2
+FUNCTION(_sk_overlay_sse2)
+_sk_overlay_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,104                         // sub           $0x68,%esp
+  .byte  15,41,93,232                        // movaps        %xmm3,-0x18(%ebp)
+  .byte  15,41,85,152                        // movaps        %xmm2,-0x68(%ebp)
+  .byte  15,41,77,168                        // movaps        %xmm1,-0x58(%ebp)
+  .byte  15,40,232                           // movaps        %xmm0,%xmm5
+  .byte  232,0,0,0,0                         // call          dc2 <_sk_overlay_sse2+0x1a>
+  .byte  89                                  // pop           %ecx
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  15,40,80,64                         // movaps        0x40(%eax),%xmm2
+  .byte  15,40,161,158,249,0,0               // movaps        0xf99e(%ecx),%xmm4
+  .byte  15,40,244                           // movaps        %xmm4,%xmm6
+  .byte  15,92,242                           // subps         %xmm2,%xmm6
+  .byte  15,40,206                           // movaps        %xmm6,%xmm1
+  .byte  15,89,205                           // mulps         %xmm5,%xmm1
+  .byte  15,92,227                           // subps         %xmm3,%xmm4
+  .byte  15,41,101,200                       // movaps        %xmm4,-0x38(%ebp)
+  .byte  15,40,64,16                         // movaps        0x10(%eax),%xmm0
+  .byte  15,40,220                           // movaps        %xmm4,%xmm3
+  .byte  15,89,216                           // mulps         %xmm0,%xmm3
+  .byte  15,88,217                           // addps         %xmm1,%xmm3
+  .byte  15,40,250                           // movaps        %xmm2,%xmm7
+  .byte  15,92,248                           // subps         %xmm0,%xmm7
+  .byte  15,41,69,216                        // movaps        %xmm0,-0x28(%ebp)
+  .byte  15,89,197                           // mulps         %xmm5,%xmm0
+  .byte  15,40,77,232                        // movaps        -0x18(%ebp),%xmm1
+  .byte  15,40,225                           // movaps        %xmm1,%xmm4
+  .byte  15,92,229                           // subps         %xmm5,%xmm4
+  .byte  15,89,231                           // mulps         %xmm7,%xmm4
+  .byte  15,40,234                           // movaps        %xmm2,%xmm5
+  .byte  15,89,233                           // mulps         %xmm1,%xmm5
+  .byte  15,41,109,184                       // movaps        %xmm5,-0x48(%ebp)
+  .byte  15,88,228                           // addps         %xmm4,%xmm4
+  .byte  15,92,236                           // subps         %xmm4,%xmm5
+  .byte  15,40,77,216                        // movaps        -0x28(%ebp),%xmm1
+  .byte  15,88,201                           // addps         %xmm1,%xmm1
+  .byte  15,194,202,2                        // cmpleps       %xmm2,%xmm1
+  .byte  15,88,192                           // addps         %xmm0,%xmm0
+  .byte  15,84,193                           // andps         %xmm1,%xmm0
+  .byte  15,85,205                           // andnps        %xmm5,%xmm1
+  .byte  15,86,200                           // orps          %xmm0,%xmm1
+  .byte  15,88,203                           // addps         %xmm3,%xmm1
+  .byte  15,41,77,216                        // movaps        %xmm1,-0x28(%ebp)
+  .byte  15,40,206                           // movaps        %xmm6,%xmm1
+  .byte  15,40,69,168                        // movaps        -0x58(%ebp),%xmm0
+  .byte  15,89,200                           // mulps         %xmm0,%xmm1
+  .byte  15,40,88,32                         // movaps        0x20(%eax),%xmm3
+  .byte  15,40,101,200                       // movaps        -0x38(%ebp),%xmm4
+  .byte  15,89,227                           // mulps         %xmm3,%xmm4
+  .byte  15,88,225                           // addps         %xmm1,%xmm4
+  .byte  15,40,202                           // movaps        %xmm2,%xmm1
+  .byte  15,92,203                           // subps         %xmm3,%xmm1
+  .byte  15,40,235                           // movaps        %xmm3,%xmm5
+  .byte  15,89,216                           // mulps         %xmm0,%xmm3
+  .byte  15,40,125,232                       // movaps        -0x18(%ebp),%xmm7
+  .byte  15,92,248                           // subps         %xmm0,%xmm7
+  .byte  15,89,249                           // mulps         %xmm1,%xmm7
+  .byte  15,88,255                           // addps         %xmm7,%xmm7
+  .byte  15,40,77,184                        // movaps        -0x48(%ebp),%xmm1
+  .byte  15,92,207                           // subps         %xmm7,%xmm1
+  .byte  15,88,237                           // addps         %xmm5,%xmm5
+  .byte  15,40,250                           // movaps        %xmm2,%xmm7
+  .byte  15,194,239,2                        // cmpleps       %xmm7,%xmm5
+  .byte  15,88,219                           // addps         %xmm3,%xmm3
+  .byte  15,84,221                           // andps         %xmm5,%xmm3
+  .byte  15,85,233                           // andnps        %xmm1,%xmm5
+  .byte  15,86,235                           // orps          %xmm3,%xmm5
+  .byte  15,88,236                           // addps         %xmm4,%xmm5
+  .byte  15,40,93,152                        // movaps        -0x68(%ebp),%xmm3
+  .byte  15,89,243                           // mulps         %xmm3,%xmm6
+  .byte  15,40,72,48                         // movaps        0x30(%eax),%xmm1
+  .byte  15,40,101,200                       // movaps        -0x38(%ebp),%xmm4
+  .byte  15,40,212                           // movaps        %xmm4,%xmm2
+  .byte  15,89,209                           // mulps         %xmm1,%xmm2
+  .byte  15,88,214                           // addps         %xmm6,%xmm2
+  .byte  15,40,241                           // movaps        %xmm1,%xmm6
+  .byte  15,88,246                           // addps         %xmm6,%xmm6
+  .byte  15,194,247,2                        // cmpleps       %xmm7,%xmm6
+  .byte  15,89,231                           // mulps         %xmm7,%xmm4
+  .byte  15,92,249                           // subps         %xmm1,%xmm7
+  .byte  15,40,199                           // movaps        %xmm7,%xmm0
+  .byte  15,89,203                           // mulps         %xmm3,%xmm1
+  .byte  15,40,251                           // movaps        %xmm3,%xmm7
+  .byte  15,40,93,232                        // movaps        -0x18(%ebp),%xmm3
+  .byte  15,88,227                           // addps         %xmm3,%xmm4
+  .byte  15,92,223                           // subps         %xmm7,%xmm3
+  .byte  15,89,216                           // mulps         %xmm0,%xmm3
+  .byte  15,88,219                           // addps         %xmm3,%xmm3
+  .byte  15,40,125,184                       // movaps        -0x48(%ebp),%xmm7
+  .byte  15,92,251                           // subps         %xmm3,%xmm7
+  .byte  15,88,201                           // addps         %xmm1,%xmm1
+  .byte  15,84,206                           // andps         %xmm6,%xmm1
+  .byte  15,85,247                           // andnps        %xmm7,%xmm6
+  .byte  15,86,241                           // orps          %xmm1,%xmm6
+  .byte  15,88,242                           // addps         %xmm2,%xmm6
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  141,81,4                            // lea           0x4(%ecx),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,69,216                        // movaps        -0x28(%ebp),%xmm0
+  .byte  15,40,205                           // movaps        %xmm5,%xmm1
+  .byte  15,40,214                           // movaps        %xmm6,%xmm2
+  .byte  15,40,220                           // movaps        %xmm4,%xmm3
+  .byte  82                                  // push          %edx
+  .byte  80                                  // push          %eax
+  .byte  255,17                              // call          *(%ecx)
+  .byte  131,196,120                         // add           $0x78,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_softlight_sse2
+.globl _sk_softlight_sse2
+FUNCTION(_sk_softlight_sse2)
+_sk_softlight_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  129,236,184,0,0,0                   // sub           $0xb8,%esp
+  .byte  15,41,93,168                        // movaps        %xmm3,-0x58(%ebp)
+  .byte  15,41,149,88,255,255,255            // movaps        %xmm2,-0xa8(%ebp)
+  .byte  15,41,77,136                        // movaps        %xmm1,-0x78(%ebp)
+  .byte  15,41,69,216                        // movaps        %xmm0,-0x28(%ebp)
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  15,40,88,64                         // movaps        0x40(%eax),%xmm3
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  15,194,195,1                        // cmpltps       %xmm3,%xmm0
+  .byte  15,41,69,200                        // movaps        %xmm0,-0x38(%ebp)
+  .byte  15,40,104,16                        // movaps        0x10(%eax),%xmm5
+  .byte  15,40,213                           // movaps        %xmm5,%xmm2
+  .byte  15,94,211                           // divps         %xmm3,%xmm2
+  .byte  15,84,208                           // andps         %xmm0,%xmm2
+  .byte  15,40,202                           // movaps        %xmm2,%xmm1
+  .byte  15,88,201                           // addps         %xmm1,%xmm1
+  .byte  15,88,201                           // addps         %xmm1,%xmm1
+  .byte  15,40,241                           // movaps        %xmm1,%xmm6
+  .byte  15,89,246                           // mulps         %xmm6,%xmm6
+  .byte  15,88,241                           // addps         %xmm1,%xmm6
+  .byte  232,0,0,0,0                         // call          f52 <_sk_softlight_sse2+0x52>
+  .byte  89                                  // pop           %ecx
+  .byte  15,40,194                           // movaps        %xmm2,%xmm0
+  .byte  15,40,137,126,248,0,0               // movaps        0xf87e(%ecx),%xmm1
+  .byte  15,41,141,104,255,255,255           // movaps        %xmm1,-0x98(%ebp)
+  .byte  15,88,193                           // addps         %xmm1,%xmm0
+  .byte  15,89,198                           // mulps         %xmm6,%xmm0
+  .byte  15,40,185,14,248,0,0                // movaps        0xf80e(%ecx),%xmm7
+  .byte  15,41,125,232                       // movaps        %xmm7,-0x18(%ebp)
+  .byte  15,92,250                           // subps         %xmm2,%xmm7
+  .byte  15,82,242                           // rsqrtps       %xmm2,%xmm6
+  .byte  15,83,206                           // rcpps         %xmm6,%xmm1
+  .byte  15,92,202                           // subps         %xmm2,%xmm1
+  .byte  15,40,161,142,248,0,0               // movaps        0xf88e(%ecx),%xmm4
+  .byte  15,41,101,152                       // movaps        %xmm4,-0x68(%ebp)
+  .byte  15,89,212                           // mulps         %xmm4,%xmm2
+  .byte  15,88,208                           // addps         %xmm0,%xmm2
+  .byte  15,40,197                           // movaps        %xmm5,%xmm0
+  .byte  15,88,192                           // addps         %xmm0,%xmm0
+  .byte  15,88,192                           // addps         %xmm0,%xmm0
+  .byte  15,40,243                           // movaps        %xmm3,%xmm6
+  .byte  15,41,117,184                       // movaps        %xmm6,-0x48(%ebp)
+  .byte  15,194,198,2                        // cmpleps       %xmm6,%xmm0
+  .byte  15,84,208                           // andps         %xmm0,%xmm2
+  .byte  15,85,193                           // andnps        %xmm1,%xmm0
+  .byte  15,86,194                           // orps          %xmm2,%xmm0
+  .byte  15,40,85,216                        // movaps        -0x28(%ebp),%xmm2
+  .byte  15,88,210                           // addps         %xmm2,%xmm2
+  .byte  15,40,202                           // movaps        %xmm2,%xmm1
+  .byte  15,40,93,168                        // movaps        -0x58(%ebp),%xmm3
+  .byte  15,92,203                           // subps         %xmm3,%xmm1
+  .byte  15,89,249                           // mulps         %xmm1,%xmm7
+  .byte  15,89,206                           // mulps         %xmm6,%xmm1
+  .byte  15,89,193                           // mulps         %xmm1,%xmm0
+  .byte  15,40,205                           // movaps        %xmm5,%xmm1
+  .byte  15,89,203                           // mulps         %xmm3,%xmm1
+  .byte  15,88,193                           // addps         %xmm1,%xmm0
+  .byte  15,88,251                           // addps         %xmm3,%xmm7
+  .byte  15,89,253                           // mulps         %xmm5,%xmm7
+  .byte  15,40,101,232                       // movaps        -0x18(%ebp),%xmm4
+  .byte  15,40,204                           // movaps        %xmm4,%xmm1
+  .byte  15,92,206                           // subps         %xmm6,%xmm1
+  .byte  15,41,141,120,255,255,255           // movaps        %xmm1,-0x88(%ebp)
+  .byte  15,40,117,216                       // movaps        -0x28(%ebp),%xmm6
+  .byte  15,89,241                           // mulps         %xmm1,%xmm6
+  .byte  15,92,227                           // subps         %xmm3,%xmm4
+  .byte  15,41,101,216                       // movaps        %xmm4,-0x28(%ebp)
+  .byte  15,89,236                           // mulps         %xmm4,%xmm5
+  .byte  15,88,245                           // addps         %xmm5,%xmm6
+  .byte  15,40,206                           // movaps        %xmm6,%xmm1
+  .byte  15,194,211,2                        // cmpleps       %xmm3,%xmm2
+  .byte  15,40,243                           // movaps        %xmm3,%xmm6
+  .byte  15,84,250                           // andps         %xmm2,%xmm7
+  .byte  15,85,208                           // andnps        %xmm0,%xmm2
+  .byte  15,86,215                           // orps          %xmm7,%xmm2
+  .byte  15,88,209                           // addps         %xmm1,%xmm2
+  .byte  15,41,149,72,255,255,255            // movaps        %xmm2,-0xb8(%ebp)
+  .byte  15,40,64,32                         // movaps        0x20(%eax),%xmm0
+  .byte  15,40,224                           // movaps        %xmm0,%xmm4
+  .byte  15,94,101,184                       // divps         -0x48(%ebp),%xmm4
+  .byte  15,84,101,200                       // andps         -0x38(%ebp),%xmm4
+  .byte  15,40,204                           // movaps        %xmm4,%xmm1
+  .byte  15,88,201                           // addps         %xmm1,%xmm1
+  .byte  15,88,201                           // addps         %xmm1,%xmm1
+  .byte  15,40,217                           // movaps        %xmm1,%xmm3
+  .byte  15,89,219                           // mulps         %xmm3,%xmm3
+  .byte  15,88,217                           // addps         %xmm1,%xmm3
+  .byte  15,40,204                           // movaps        %xmm4,%xmm1
+  .byte  15,88,141,104,255,255,255           // addps         -0x98(%ebp),%xmm1
+  .byte  15,89,203                           // mulps         %xmm3,%xmm1
+  .byte  15,40,125,232                       // movaps        -0x18(%ebp),%xmm7
+  .byte  15,92,252                           // subps         %xmm4,%xmm7
+  .byte  15,82,220                           // rsqrtps       %xmm4,%xmm3
+  .byte  15,83,235                           // rcpps         %xmm3,%xmm5
+  .byte  15,92,236                           // subps         %xmm4,%xmm5
+  .byte  15,89,101,152                       // mulps         -0x68(%ebp),%xmm4
+  .byte  15,88,225                           // addps         %xmm1,%xmm4
+  .byte  15,40,93,136                        // movaps        -0x78(%ebp),%xmm3
+  .byte  15,88,219                           // addps         %xmm3,%xmm3
+  .byte  15,40,203                           // movaps        %xmm3,%xmm1
+  .byte  15,92,206                           // subps         %xmm6,%xmm1
+  .byte  15,89,249                           // mulps         %xmm1,%xmm7
+  .byte  15,88,254                           // addps         %xmm6,%xmm7
+  .byte  15,89,248                           // mulps         %xmm0,%xmm7
+  .byte  15,40,117,216                       // movaps        -0x28(%ebp),%xmm6
+  .byte  15,89,240                           // mulps         %xmm0,%xmm6
+  .byte  15,40,208                           // movaps        %xmm0,%xmm2
+  .byte  15,88,192                           // addps         %xmm0,%xmm0
+  .byte  15,88,192                           // addps         %xmm0,%xmm0
+  .byte  15,194,69,184,2                     // cmpleps       -0x48(%ebp),%xmm0
+  .byte  15,84,224                           // andps         %xmm0,%xmm4
+  .byte  15,85,197                           // andnps        %xmm5,%xmm0
+  .byte  15,86,196                           // orps          %xmm4,%xmm0
+  .byte  15,40,101,184                       // movaps        -0x48(%ebp),%xmm4
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  15,89,193                           // mulps         %xmm1,%xmm0
+  .byte  15,40,109,168                       // movaps        -0x58(%ebp),%xmm5
+  .byte  15,89,213                           // mulps         %xmm5,%xmm2
+  .byte  15,88,194                           // addps         %xmm2,%xmm0
+  .byte  15,40,77,136                        // movaps        -0x78(%ebp),%xmm1
+  .byte  15,89,141,120,255,255,255           // mulps         -0x88(%ebp),%xmm1
+  .byte  15,88,206                           // addps         %xmm6,%xmm1
+  .byte  15,194,221,2                        // cmpleps       %xmm5,%xmm3
+  .byte  15,40,245                           // movaps        %xmm5,%xmm6
+  .byte  15,84,251                           // andps         %xmm3,%xmm7
+  .byte  15,85,216                           // andnps        %xmm0,%xmm3
+  .byte  15,86,223                           // orps          %xmm7,%xmm3
+  .byte  15,88,217                           // addps         %xmm1,%xmm3
+  .byte  15,40,64,48                         // movaps        0x30(%eax),%xmm0
+  .byte  15,40,248                           // movaps        %xmm0,%xmm7
+  .byte  15,94,252                           // divps         %xmm4,%xmm7
+  .byte  15,84,125,200                       // andps         -0x38(%ebp),%xmm7
+  .byte  15,40,77,232                        // movaps        -0x18(%ebp),%xmm1
+  .byte  15,92,207                           // subps         %xmm7,%xmm1
+  .byte  15,41,77,232                        // movaps        %xmm1,-0x18(%ebp)
+  .byte  15,40,173,104,255,255,255           // movaps        -0x98(%ebp),%xmm5
+  .byte  15,88,239                           // addps         %xmm7,%xmm5
+  .byte  15,40,101,152                       // movaps        -0x68(%ebp),%xmm4
+  .byte  15,89,231                           // mulps         %xmm7,%xmm4
+  .byte  15,82,207                           // rsqrtps       %xmm7,%xmm1
+  .byte  15,83,201                           // rcpps         %xmm1,%xmm1
+  .byte  15,92,207                           // subps         %xmm7,%xmm1
+  .byte  15,41,77,200                        // movaps        %xmm1,-0x38(%ebp)
+  .byte  15,88,255                           // addps         %xmm7,%xmm7
+  .byte  15,88,255                           // addps         %xmm7,%xmm7
+  .byte  15,40,215                           // movaps        %xmm7,%xmm2
+  .byte  15,89,210                           // mulps         %xmm2,%xmm2
+  .byte  15,88,215                           // addps         %xmm7,%xmm2
+  .byte  15,40,205                           // movaps        %xmm5,%xmm1
+  .byte  15,89,202                           // mulps         %xmm2,%xmm1
+  .byte  15,88,225                           // addps         %xmm1,%xmm4
+  .byte  15,40,204                           // movaps        %xmm4,%xmm1
+  .byte  15,40,173,88,255,255,255            // movaps        -0xa8(%ebp),%xmm5
+  .byte  15,88,237                           // addps         %xmm5,%xmm5
+  .byte  15,40,213                           // movaps        %xmm5,%xmm2
+  .byte  15,92,214                           // subps         %xmm6,%xmm2
+  .byte  15,40,101,232                       // movaps        -0x18(%ebp),%xmm4
+  .byte  15,89,226                           // mulps         %xmm2,%xmm4
+  .byte  15,88,230                           // addps         %xmm6,%xmm4
+  .byte  15,89,224                           // mulps         %xmm0,%xmm4
+  .byte  15,41,101,232                       // movaps        %xmm4,-0x18(%ebp)
+  .byte  15,40,101,216                       // movaps        -0x28(%ebp),%xmm4
+  .byte  15,89,224                           // mulps         %xmm0,%xmm4
+  .byte  15,40,240                           // movaps        %xmm0,%xmm6
+  .byte  15,88,192                           // addps         %xmm0,%xmm0
+  .byte  15,88,192                           // addps         %xmm0,%xmm0
+  .byte  15,40,125,184                       // movaps        -0x48(%ebp),%xmm7
+  .byte  15,194,199,2                        // cmpleps       %xmm7,%xmm0
+  .byte  15,84,200                           // andps         %xmm0,%xmm1
+  .byte  15,85,69,200                        // andnps        -0x38(%ebp),%xmm0
+  .byte  15,86,193                           // orps          %xmm1,%xmm0
+  .byte  15,89,215                           // mulps         %xmm7,%xmm2
+  .byte  15,89,194                           // mulps         %xmm2,%xmm0
+  .byte  15,40,85,168                        // movaps        -0x58(%ebp),%xmm2
+  .byte  15,89,242                           // mulps         %xmm2,%xmm6
+  .byte  15,88,198                           // addps         %xmm6,%xmm0
+  .byte  15,40,141,88,255,255,255            // movaps        -0xa8(%ebp),%xmm1
+  .byte  15,89,141,120,255,255,255           // mulps         -0x88(%ebp),%xmm1
+  .byte  15,88,204                           // addps         %xmm4,%xmm1
+  .byte  15,194,234,2                        // cmpleps       %xmm2,%xmm5
+  .byte  15,40,226                           // movaps        %xmm2,%xmm4
+  .byte  15,40,85,232                        // movaps        -0x18(%ebp),%xmm2
+  .byte  15,84,213                           // andps         %xmm5,%xmm2
+  .byte  15,85,232                           // andnps        %xmm0,%xmm5
+  .byte  15,86,234                           // orps          %xmm2,%xmm5
+  .byte  15,88,233                           // addps         %xmm1,%xmm5
+  .byte  15,40,69,216                        // movaps        -0x28(%ebp),%xmm0
+  .byte  15,89,199                           // mulps         %xmm7,%xmm0
+  .byte  15,88,224                           // addps         %xmm0,%xmm4
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  141,81,4                            // lea           0x4(%ecx),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,133,72,255,255,255            // movaps        -0xb8(%ebp),%xmm0
+  .byte  15,40,203                           // movaps        %xmm3,%xmm1
+  .byte  15,40,213                           // movaps        %xmm5,%xmm2
+  .byte  15,40,220                           // movaps        %xmm4,%xmm3
+  .byte  82                                  // push          %edx
+  .byte  80                                  // push          %eax
+  .byte  255,17                              // call          *(%ecx)
+  .byte  129,196,200,0,0,0                   // add           $0xc8,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_hue_sse2
+.globl _sk_hue_sse2
+FUNCTION(_sk_hue_sse2)
+_sk_hue_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  129,236,184,0,0,0                   // sub           $0xb8,%esp
+  .byte  15,40,251                           // movaps        %xmm3,%xmm7
+  .byte  15,41,85,232                        // movaps        %xmm2,-0x18(%ebp)
+  .byte  15,40,241                           // movaps        %xmm1,%xmm6
+  .byte  15,40,232                           // movaps        %xmm0,%xmm5
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  15,40,72,16                         // movaps        0x10(%eax),%xmm1
+  .byte  15,40,64,32                         // movaps        0x20(%eax),%xmm0
+  .byte  15,41,69,136                        // movaps        %xmm0,-0x78(%ebp)
+  .byte  15,40,88,48                         // movaps        0x30(%eax),%xmm3
+  .byte  15,41,93,200                        // movaps        %xmm3,-0x38(%ebp)
+  .byte  15,40,208                           // movaps        %xmm0,%xmm2
+  .byte  15,95,211                           // maxps         %xmm3,%xmm2
+  .byte  15,40,225                           // movaps        %xmm1,%xmm4
+  .byte  15,41,77,152                        // movaps        %xmm1,-0x68(%ebp)
+  .byte  15,95,226                           // maxps         %xmm2,%xmm4
+  .byte  15,93,195                           // minps         %xmm3,%xmm0
+  .byte  15,93,200                           // minps         %xmm0,%xmm1
+  .byte  15,92,225                           // subps         %xmm1,%xmm4
+  .byte  15,41,101,168                       // movaps        %xmm4,-0x58(%ebp)
+  .byte  232,0,0,0,0                         // call          1213 <_sk_hue_sse2+0x4f>
+  .byte  89                                  // pop           %ecx
+  .byte  15,40,221                           // movaps        %xmm5,%xmm3
+  .byte  15,40,197                           // movaps        %xmm5,%xmm0
+  .byte  15,89,223                           // mulps         %xmm7,%xmm3
+  .byte  15,40,214                           // movaps        %xmm6,%xmm2
+  .byte  15,89,215                           // mulps         %xmm7,%xmm2
+  .byte  15,40,226                           // movaps        %xmm2,%xmm4
+  .byte  15,40,72,64                         // movaps        0x40(%eax),%xmm1
+  .byte  15,41,77,216                        // movaps        %xmm1,-0x28(%ebp)
+  .byte  15,40,169,77,245,0,0                // movaps        0xf54d(%ecx),%xmm5
+  .byte  15,92,233                           // subps         %xmm1,%xmm5
+  .byte  15,89,197                           // mulps         %xmm5,%xmm0
+  .byte  15,41,133,72,255,255,255            // movaps        %xmm0,-0xb8(%ebp)
+  .byte  15,89,245                           // mulps         %xmm5,%xmm6
+  .byte  15,41,181,104,255,255,255           // movaps        %xmm6,-0x98(%ebp)
+  .byte  15,40,69,232                        // movaps        -0x18(%ebp),%xmm0
+  .byte  15,89,232                           // mulps         %xmm0,%xmm5
+  .byte  15,41,173,88,255,255,255            // movaps        %xmm5,-0xa8(%ebp)
+  .byte  15,40,215                           // movaps        %xmm7,%xmm2
+  .byte  15,41,85,184                        // movaps        %xmm2,-0x48(%ebp)
+  .byte  15,89,194                           // mulps         %xmm2,%xmm0
+  .byte  15,40,236                           // movaps        %xmm4,%xmm5
+  .byte  15,40,205                           // movaps        %xmm5,%xmm1
+  .byte  15,93,200                           // minps         %xmm0,%xmm1
+  .byte  15,40,243                           // movaps        %xmm3,%xmm6
+  .byte  15,40,254                           // movaps        %xmm6,%xmm7
+  .byte  15,93,249                           // minps         %xmm1,%xmm7
+  .byte  15,40,205                           // movaps        %xmm5,%xmm1
+  .byte  15,95,200                           // maxps         %xmm0,%xmm1
+  .byte  15,40,230                           // movaps        %xmm6,%xmm4
+  .byte  15,95,225                           // maxps         %xmm1,%xmm4
+  .byte  15,92,231                           // subps         %xmm7,%xmm4
+  .byte  15,92,247                           // subps         %xmm7,%xmm6
+  .byte  15,92,239                           // subps         %xmm7,%xmm5
+  .byte  15,92,199                           // subps         %xmm7,%xmm0
+  .byte  15,40,77,168                        // movaps        -0x58(%ebp),%xmm1
+  .byte  15,89,202                           // mulps         %xmm2,%xmm1
+  .byte  15,89,241                           // mulps         %xmm1,%xmm6
+  .byte  15,40,214                           // movaps        %xmm6,%xmm2
+  .byte  15,89,233                           // mulps         %xmm1,%xmm5
+  .byte  15,41,173,120,255,255,255           // movaps        %xmm5,-0x88(%ebp)
+  .byte  15,89,193                           // mulps         %xmm1,%xmm0
+  .byte  15,40,153,221,245,0,0               // movaps        0xf5dd(%ecx),%xmm3
+  .byte  15,41,93,232                        // movaps        %xmm3,-0x18(%ebp)
+  .byte  15,40,117,152                       // movaps        -0x68(%ebp),%xmm6
+  .byte  15,40,206                           // movaps        %xmm6,%xmm1
+  .byte  15,89,203                           // mulps         %xmm3,%xmm1
+  .byte  15,40,153,237,245,0,0               // movaps        0xf5ed(%ecx),%xmm3
+  .byte  15,40,109,136                       // movaps        -0x78(%ebp),%xmm5
+  .byte  15,40,253                           // movaps        %xmm5,%xmm7
+  .byte  15,89,251                           // mulps         %xmm3,%xmm7
+  .byte  15,88,249                           // addps         %xmm1,%xmm7
+  .byte  15,40,137,77,245,0,0                // movaps        0xf54d(%ecx),%xmm1
+  .byte  15,92,77,184                        // subps         -0x48(%ebp),%xmm1
+  .byte  15,89,241                           // mulps         %xmm1,%xmm6
+  .byte  15,41,117,152                       // movaps        %xmm6,-0x68(%ebp)
+  .byte  15,89,233                           // mulps         %xmm1,%xmm5
+  .byte  15,41,109,136                       // movaps        %xmm5,-0x78(%ebp)
+  .byte  15,40,241                           // movaps        %xmm1,%xmm6
+  .byte  15,40,77,200                        // movaps        -0x38(%ebp),%xmm1
+  .byte  15,89,241                           // mulps         %xmm1,%xmm6
+  .byte  15,41,117,168                       // movaps        %xmm6,-0x58(%ebp)
+  .byte  15,40,169,253,245,0,0               // movaps        0xf5fd(%ecx),%xmm5
+  .byte  15,89,205                           // mulps         %xmm5,%xmm1
+  .byte  15,88,207                           // addps         %xmm7,%xmm1
+  .byte  15,94,212                           // divps         %xmm4,%xmm2
+  .byte  15,40,181,120,255,255,255           // movaps        -0x88(%ebp),%xmm6
+  .byte  15,94,244                           // divps         %xmm4,%xmm6
+  .byte  15,94,196                           // divps         %xmm4,%xmm0
+  .byte  15,87,255                           // xorps         %xmm7,%xmm7
+  .byte  15,194,231,4                        // cmpneqps      %xmm7,%xmm4
+  .byte  15,84,212                           // andps         %xmm4,%xmm2
+  .byte  15,84,244                           // andps         %xmm4,%xmm6
+  .byte  15,84,224                           // andps         %xmm0,%xmm4
+  .byte  15,40,194                           // movaps        %xmm2,%xmm0
+  .byte  15,89,69,232                        // mulps         -0x18(%ebp),%xmm0
+  .byte  15,40,254                           // movaps        %xmm6,%xmm7
+  .byte  15,89,251                           // mulps         %xmm3,%xmm7
+  .byte  15,88,248                           // addps         %xmm0,%xmm7
+  .byte  15,40,196                           // movaps        %xmm4,%xmm0
+  .byte  15,89,197                           // mulps         %xmm5,%xmm0
+  .byte  15,88,199                           // addps         %xmm7,%xmm0
+  .byte  15,89,77,184                        // mulps         -0x48(%ebp),%xmm1
+  .byte  15,92,200                           // subps         %xmm0,%xmm1
+  .byte  15,88,209                           // addps         %xmm1,%xmm2
+  .byte  15,88,241                           // addps         %xmm1,%xmm6
+  .byte  15,88,204                           // addps         %xmm4,%xmm1
+  .byte  15,40,198                           // movaps        %xmm6,%xmm0
+  .byte  15,93,193                           // minps         %xmm1,%xmm0
+  .byte  15,40,226                           // movaps        %xmm2,%xmm4
+  .byte  15,93,224                           // minps         %xmm0,%xmm4
+  .byte  15,40,198                           // movaps        %xmm6,%xmm0
+  .byte  15,95,193                           // maxps         %xmm1,%xmm0
+  .byte  15,40,250                           // movaps        %xmm2,%xmm7
+  .byte  15,95,248                           // maxps         %xmm0,%xmm7
+  .byte  15,40,69,232                        // movaps        -0x18(%ebp),%xmm0
+  .byte  15,89,194                           // mulps         %xmm2,%xmm0
+  .byte  15,89,222                           // mulps         %xmm6,%xmm3
+  .byte  15,88,216                           // addps         %xmm0,%xmm3
+  .byte  15,89,233                           // mulps         %xmm1,%xmm5
+  .byte  15,88,235                           // addps         %xmm3,%xmm5
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  15,194,196,2                        // cmpleps       %xmm4,%xmm0
+  .byte  15,40,221                           // movaps        %xmm5,%xmm3
+  .byte  15,92,220                           // subps         %xmm4,%xmm3
+  .byte  15,41,93,232                        // movaps        %xmm3,-0x18(%ebp)
+  .byte  15,40,226                           // movaps        %xmm2,%xmm4
+  .byte  15,92,229                           // subps         %xmm5,%xmm4
+  .byte  15,89,229                           // mulps         %xmm5,%xmm4
+  .byte  15,94,227                           // divps         %xmm3,%xmm4
+  .byte  15,88,229                           // addps         %xmm5,%xmm4
+  .byte  15,40,216                           // movaps        %xmm0,%xmm3
+  .byte  15,85,220                           // andnps        %xmm4,%xmm3
+  .byte  15,40,226                           // movaps        %xmm2,%xmm4
+  .byte  15,84,224                           // andps         %xmm0,%xmm4
+  .byte  15,86,227                           // orps          %xmm3,%xmm4
+  .byte  15,40,85,216                        // movaps        -0x28(%ebp),%xmm2
+  .byte  15,40,93,184                        // movaps        -0x48(%ebp),%xmm3
+  .byte  15,89,211                           // mulps         %xmm3,%xmm2
+  .byte  15,88,93,216                        // addps         -0x28(%ebp),%xmm3
+  .byte  15,92,218                           // subps         %xmm2,%xmm3
+  .byte  15,41,93,184                        // movaps        %xmm3,-0x48(%ebp)
+  .byte  15,41,85,216                        // movaps        %xmm2,-0x28(%ebp)
+  .byte  15,194,215,1                        // cmpltps       %xmm7,%xmm2
+  .byte  15,40,218                           // movaps        %xmm2,%xmm3
+  .byte  15,85,220                           // andnps        %xmm4,%xmm3
+  .byte  15,41,93,200                        // movaps        %xmm3,-0x38(%ebp)
+  .byte  15,92,229                           // subps         %xmm5,%xmm4
+  .byte  15,40,93,216                        // movaps        -0x28(%ebp),%xmm3
+  .byte  15,92,221                           // subps         %xmm5,%xmm3
+  .byte  15,41,93,216                        // movaps        %xmm3,-0x28(%ebp)
+  .byte  15,89,227                           // mulps         %xmm3,%xmm4
+  .byte  15,92,253                           // subps         %xmm5,%xmm7
+  .byte  15,94,231                           // divps         %xmm7,%xmm4
+  .byte  15,88,229                           // addps         %xmm5,%xmm4
+  .byte  15,84,226                           // andps         %xmm2,%xmm4
+  .byte  15,86,101,200                       // orps          -0x38(%ebp),%xmm4
+  .byte  15,41,101,200                       // movaps        %xmm4,-0x38(%ebp)
+  .byte  15,40,222                           // movaps        %xmm6,%xmm3
+  .byte  15,92,221                           // subps         %xmm5,%xmm3
+  .byte  15,89,221                           // mulps         %xmm5,%xmm3
+  .byte  15,94,93,232                        // divps         -0x18(%ebp),%xmm3
+  .byte  15,88,221                           // addps         %xmm5,%xmm3
+  .byte  15,40,224                           // movaps        %xmm0,%xmm4
+  .byte  15,85,227                           // andnps        %xmm3,%xmm4
+  .byte  15,84,240                           // andps         %xmm0,%xmm6
+  .byte  15,86,244                           // orps          %xmm4,%xmm6
+  .byte  15,40,218                           // movaps        %xmm2,%xmm3
+  .byte  15,40,230                           // movaps        %xmm6,%xmm4
+  .byte  15,85,220                           // andnps        %xmm4,%xmm3
+  .byte  15,92,229                           // subps         %xmm5,%xmm4
+  .byte  15,40,117,216                       // movaps        -0x28(%ebp),%xmm6
+  .byte  15,89,230                           // mulps         %xmm6,%xmm4
+  .byte  15,94,231                           // divps         %xmm7,%xmm4
+  .byte  15,88,229                           // addps         %xmm5,%xmm4
+  .byte  15,84,226                           // andps         %xmm2,%xmm4
+  .byte  15,86,227                           // orps          %xmm3,%xmm4
+  .byte  15,40,217                           // movaps        %xmm1,%xmm3
+  .byte  15,92,221                           // subps         %xmm5,%xmm3
+  .byte  15,89,221                           // mulps         %xmm5,%xmm3
+  .byte  15,94,93,232                        // divps         -0x18(%ebp),%xmm3
+  .byte  15,88,221                           // addps         %xmm5,%xmm3
+  .byte  15,84,200                           // andps         %xmm0,%xmm1
+  .byte  15,85,195                           // andnps        %xmm3,%xmm0
+  .byte  15,86,193                           // orps          %xmm1,%xmm0
+  .byte  15,40,202                           // movaps        %xmm2,%xmm1
+  .byte  15,85,200                           // andnps        %xmm0,%xmm1
+  .byte  15,92,197                           // subps         %xmm5,%xmm0
+  .byte  15,89,198                           // mulps         %xmm6,%xmm0
+  .byte  15,94,199                           // divps         %xmm7,%xmm0
+  .byte  15,88,197                           // addps         %xmm5,%xmm0
+  .byte  15,84,194                           // andps         %xmm2,%xmm0
+  .byte  15,86,193                           // orps          %xmm1,%xmm0
+  .byte  15,87,201                           // xorps         %xmm1,%xmm1
+  .byte  15,40,85,200                        // movaps        -0x38(%ebp),%xmm2
+  .byte  15,95,209                           // maxps         %xmm1,%xmm2
+  .byte  15,95,225                           // maxps         %xmm1,%xmm4
+  .byte  15,95,193                           // maxps         %xmm1,%xmm0
+  .byte  15,40,157,72,255,255,255            // movaps        -0xb8(%ebp),%xmm3
+  .byte  15,88,93,152                        // addps         -0x68(%ebp),%xmm3
+  .byte  15,88,218                           // addps         %xmm2,%xmm3
+  .byte  15,40,141,104,255,255,255           // movaps        -0x98(%ebp),%xmm1
+  .byte  15,88,77,136                        // addps         -0x78(%ebp),%xmm1
+  .byte  15,88,204                           // addps         %xmm4,%xmm1
+  .byte  15,40,85,168                        // movaps        -0x58(%ebp),%xmm2
+  .byte  15,88,149,88,255,255,255            // addps         -0xa8(%ebp),%xmm2
+  .byte  15,88,208                           // addps         %xmm0,%xmm2
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  141,81,4                            // lea           0x4(%ecx),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,195                           // movaps        %xmm3,%xmm0
+  .byte  15,40,93,184                        // movaps        -0x48(%ebp),%xmm3
+  .byte  82                                  // push          %edx
+  .byte  80                                  // push          %eax
+  .byte  255,17                              // call          *(%ecx)
+  .byte  129,196,200,0,0,0                   // add           $0xc8,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_saturation_sse2
+.globl _sk_saturation_sse2
+FUNCTION(_sk_saturation_sse2)
+_sk_saturation_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  129,236,216,0,0,0                   // sub           $0xd8,%esp
+  .byte  15,41,149,40,255,255,255            // movaps        %xmm2,-0xd8(%ebp)
+  .byte  15,41,141,56,255,255,255            // movaps        %xmm1,-0xc8(%ebp)
+  .byte  15,41,133,72,255,255,255            // movaps        %xmm0,-0xb8(%ebp)
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  15,40,112,16                        // movaps        0x10(%eax),%xmm6
+  .byte  15,41,117,184                       // movaps        %xmm6,-0x48(%ebp)
+  .byte  15,40,225                           // movaps        %xmm1,%xmm4
+  .byte  15,95,226                           // maxps         %xmm2,%xmm4
+  .byte  15,40,232                           // movaps        %xmm0,%xmm5
+  .byte  15,95,236                           // maxps         %xmm4,%xmm5
+  .byte  15,40,225                           // movaps        %xmm1,%xmm4
+  .byte  15,93,226                           // minps         %xmm2,%xmm4
+  .byte  15,40,208                           // movaps        %xmm0,%xmm2
+  .byte  15,93,212                           // minps         %xmm4,%xmm2
+  .byte  15,40,64,32                         // movaps        0x20(%eax),%xmm0
+  .byte  15,92,234                           // subps         %xmm2,%xmm5
+  .byte  15,40,214                           // movaps        %xmm6,%xmm2
+  .byte  15,41,93,216                        // movaps        %xmm3,-0x28(%ebp)
+  .byte  15,89,211                           // mulps         %xmm3,%xmm2
+  .byte  15,40,224                           // movaps        %xmm0,%xmm4
+  .byte  15,40,240                           // movaps        %xmm0,%xmm6
+  .byte  15,89,227                           // mulps         %xmm3,%xmm4
+  .byte  15,40,120,48                        // movaps        0x30(%eax),%xmm7
+  .byte  15,41,125,200                       // movaps        %xmm7,-0x38(%ebp)
+  .byte  15,89,251                           // mulps         %xmm3,%xmm7
+  .byte  15,40,204                           // movaps        %xmm4,%xmm1
+  .byte  15,93,207                           // minps         %xmm7,%xmm1
+  .byte  15,40,194                           // movaps        %xmm2,%xmm0
+  .byte  15,93,209                           // minps         %xmm1,%xmm2
+  .byte  15,40,204                           // movaps        %xmm4,%xmm1
+  .byte  15,40,220                           // movaps        %xmm4,%xmm3
+  .byte  15,95,207                           // maxps         %xmm7,%xmm1
+  .byte  15,40,224                           // movaps        %xmm0,%xmm4
+  .byte  15,95,225                           // maxps         %xmm1,%xmm4
+  .byte  15,92,226                           // subps         %xmm2,%xmm4
+  .byte  15,92,194                           // subps         %xmm2,%xmm0
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  15,92,218                           // subps         %xmm2,%xmm3
+  .byte  15,92,250                           // subps         %xmm2,%xmm7
+  .byte  15,40,64,64                         // movaps        0x40(%eax),%xmm0
+  .byte  15,41,69,152                        // movaps        %xmm0,-0x68(%ebp)
+  .byte  15,89,232                           // mulps         %xmm0,%xmm5
+  .byte  15,89,205                           // mulps         %xmm5,%xmm1
+  .byte  15,41,77,168                        // movaps        %xmm1,-0x58(%ebp)
+  .byte  15,89,221                           // mulps         %xmm5,%xmm3
+  .byte  15,40,211                           // movaps        %xmm3,%xmm2
+  .byte  15,89,253                           // mulps         %xmm5,%xmm7
+  .byte  232,0,0,0,0                         // call          1567 <_sk_saturation_sse2+0xb0>
+  .byte  89                                  // pop           %ecx
+  .byte  15,40,153,137,242,0,0               // movaps        0xf289(%ecx),%xmm3
+  .byte  15,41,157,88,255,255,255            // movaps        %xmm3,-0xa8(%ebp)
+  .byte  15,40,77,184                        // movaps        -0x48(%ebp),%xmm1
+  .byte  15,40,193                           // movaps        %xmm1,%xmm0
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  15,40,153,153,242,0,0               // movaps        0xf299(%ecx),%xmm3
+  .byte  15,41,93,232                        // movaps        %xmm3,-0x18(%ebp)
+  .byte  15,40,238                           // movaps        %xmm6,%xmm5
+  .byte  15,89,235                           // mulps         %xmm3,%xmm5
+  .byte  15,88,232                           // addps         %xmm0,%xmm5
+  .byte  15,40,129,249,241,0,0               // movaps        0xf1f9(%ecx),%xmm0
+  .byte  15,41,133,104,255,255,255           // movaps        %xmm0,-0x98(%ebp)
+  .byte  15,92,69,216                        // subps         -0x28(%ebp),%xmm0
+  .byte  15,89,200                           // mulps         %xmm0,%xmm1
+  .byte  15,41,77,184                        // movaps        %xmm1,-0x48(%ebp)
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  15,89,241                           // mulps         %xmm1,%xmm6
+  .byte  15,41,117,136                       // movaps        %xmm6,-0x78(%ebp)
+  .byte  15,40,69,200                        // movaps        -0x38(%ebp),%xmm0
+  .byte  15,89,200                           // mulps         %xmm0,%xmm1
+  .byte  15,41,141,120,255,255,255           // movaps        %xmm1,-0x88(%ebp)
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  15,40,129,169,242,0,0               // movaps        0xf2a9(%ecx),%xmm0
+  .byte  15,89,200                           // mulps         %xmm0,%xmm1
+  .byte  15,88,205                           // addps         %xmm5,%xmm1
+  .byte  15,40,109,168                       // movaps        -0x58(%ebp),%xmm5
+  .byte  15,94,236                           // divps         %xmm4,%xmm5
+  .byte  15,94,212                           // divps         %xmm4,%xmm2
+  .byte  15,94,252                           // divps         %xmm4,%xmm7
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  15,194,227,4                        // cmpneqps      %xmm3,%xmm4
+  .byte  15,84,236                           // andps         %xmm4,%xmm5
+  .byte  15,84,212                           // andps         %xmm4,%xmm2
+  .byte  15,84,231                           // andps         %xmm7,%xmm4
+  .byte  15,40,220                           // movaps        %xmm4,%xmm3
+  .byte  15,40,245                           // movaps        %xmm5,%xmm6
+  .byte  15,40,165,88,255,255,255            // movaps        -0xa8(%ebp),%xmm4
+  .byte  15,89,244                           // mulps         %xmm4,%xmm6
+  .byte  15,40,250                           // movaps        %xmm2,%xmm7
+  .byte  15,89,125,232                       // mulps         -0x18(%ebp),%xmm7
+  .byte  15,88,254                           // addps         %xmm6,%xmm7
+  .byte  15,40,243                           // movaps        %xmm3,%xmm6
+  .byte  15,89,240                           // mulps         %xmm0,%xmm6
+  .byte  15,88,247                           // addps         %xmm7,%xmm6
+  .byte  15,89,77,216                        // mulps         -0x28(%ebp),%xmm1
+  .byte  15,92,206                           // subps         %xmm6,%xmm1
+  .byte  15,88,233                           // addps         %xmm1,%xmm5
+  .byte  15,88,209                           // addps         %xmm1,%xmm2
+  .byte  15,41,85,200                        // movaps        %xmm2,-0x38(%ebp)
+  .byte  15,88,203                           // addps         %xmm3,%xmm1
+  .byte  15,40,218                           // movaps        %xmm2,%xmm3
+  .byte  15,93,217                           // minps         %xmm1,%xmm3
+  .byte  15,40,253                           // movaps        %xmm5,%xmm7
+  .byte  15,93,251                           // minps         %xmm3,%xmm7
+  .byte  15,40,218                           // movaps        %xmm2,%xmm3
+  .byte  15,95,217                           // maxps         %xmm1,%xmm3
+  .byte  15,40,245                           // movaps        %xmm5,%xmm6
+  .byte  15,95,243                           // maxps         %xmm3,%xmm6
+  .byte  15,89,229                           // mulps         %xmm5,%xmm4
+  .byte  15,40,93,232                        // movaps        -0x18(%ebp),%xmm3
+  .byte  15,89,218                           // mulps         %xmm2,%xmm3
+  .byte  15,88,220                           // addps         %xmm4,%xmm3
+  .byte  15,89,193                           // mulps         %xmm1,%xmm0
+  .byte  15,88,195                           // addps         %xmm3,%xmm0
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  15,194,223,2                        // cmpleps       %xmm7,%xmm3
+  .byte  15,40,208                           // movaps        %xmm0,%xmm2
+  .byte  15,92,215                           // subps         %xmm7,%xmm2
+  .byte  15,41,85,232                        // movaps        %xmm2,-0x18(%ebp)
+  .byte  15,40,253                           // movaps        %xmm5,%xmm7
+  .byte  15,92,248                           // subps         %xmm0,%xmm7
+  .byte  15,89,248                           // mulps         %xmm0,%xmm7
+  .byte  15,94,250                           // divps         %xmm2,%xmm7
+  .byte  15,88,248                           // addps         %xmm0,%xmm7
+  .byte  15,40,211                           // movaps        %xmm3,%xmm2
+  .byte  15,85,215                           // andnps        %xmm7,%xmm2
+  .byte  15,84,235                           // andps         %xmm3,%xmm5
+  .byte  15,86,234                           // orps          %xmm2,%xmm5
+  .byte  15,40,125,152                       // movaps        -0x68(%ebp),%xmm7
+  .byte  15,40,215                           // movaps        %xmm7,%xmm2
+  .byte  15,40,101,216                       // movaps        -0x28(%ebp),%xmm4
+  .byte  15,89,212                           // mulps         %xmm4,%xmm2
+  .byte  15,88,231                           // addps         %xmm7,%xmm4
+  .byte  15,92,226                           // subps         %xmm2,%xmm4
+  .byte  15,41,101,216                       // movaps        %xmm4,-0x28(%ebp)
+  .byte  15,40,250                           // movaps        %xmm2,%xmm7
+  .byte  15,194,214,1                        // cmpltps       %xmm6,%xmm2
+  .byte  15,40,226                           // movaps        %xmm2,%xmm4
+  .byte  15,85,229                           // andnps        %xmm5,%xmm4
+  .byte  15,92,232                           // subps         %xmm0,%xmm5
+  .byte  15,92,248                           // subps         %xmm0,%xmm7
+  .byte  15,89,239                           // mulps         %xmm7,%xmm5
+  .byte  15,92,240                           // subps         %xmm0,%xmm6
+  .byte  15,94,238                           // divps         %xmm6,%xmm5
+  .byte  15,88,232                           // addps         %xmm0,%xmm5
+  .byte  15,84,234                           // andps         %xmm2,%xmm5
+  .byte  15,86,236                           // orps          %xmm4,%xmm5
+  .byte  15,41,109,168                       // movaps        %xmm5,-0x58(%ebp)
+  .byte  15,40,101,200                       // movaps        -0x38(%ebp),%xmm4
+  .byte  15,92,224                           // subps         %xmm0,%xmm4
+  .byte  15,89,224                           // mulps         %xmm0,%xmm4
+  .byte  15,94,101,232                       // divps         -0x18(%ebp),%xmm4
+  .byte  15,88,224                           // addps         %xmm0,%xmm4
+  .byte  15,40,235                           // movaps        %xmm3,%xmm5
+  .byte  15,85,236                           // andnps        %xmm4,%xmm5
+  .byte  15,40,101,200                       // movaps        -0x38(%ebp),%xmm4
+  .byte  15,84,227                           // andps         %xmm3,%xmm4
+  .byte  15,86,229                           // orps          %xmm5,%xmm4
+  .byte  15,40,234                           // movaps        %xmm2,%xmm5
+  .byte  15,85,236                           // andnps        %xmm4,%xmm5
+  .byte  15,92,224                           // subps         %xmm0,%xmm4
+  .byte  15,89,231                           // mulps         %xmm7,%xmm4
+  .byte  15,94,230                           // divps         %xmm6,%xmm4
+  .byte  15,88,224                           // addps         %xmm0,%xmm4
+  .byte  15,84,226                           // andps         %xmm2,%xmm4
+  .byte  15,86,229                           // orps          %xmm5,%xmm4
+  .byte  15,40,236                           // movaps        %xmm4,%xmm5
+  .byte  15,40,225                           // movaps        %xmm1,%xmm4
+  .byte  15,92,224                           // subps         %xmm0,%xmm4
+  .byte  15,89,224                           // mulps         %xmm0,%xmm4
+  .byte  15,94,101,232                       // divps         -0x18(%ebp),%xmm4
+  .byte  15,88,224                           // addps         %xmm0,%xmm4
+  .byte  15,84,203                           // andps         %xmm3,%xmm1
+  .byte  15,85,220                           // andnps        %xmm4,%xmm3
+  .byte  15,86,217                           // orps          %xmm1,%xmm3
+  .byte  15,40,202                           // movaps        %xmm2,%xmm1
+  .byte  15,85,203                           // andnps        %xmm3,%xmm1
+  .byte  15,92,216                           // subps         %xmm0,%xmm3
+  .byte  15,89,223                           // mulps         %xmm7,%xmm3
+  .byte  15,94,222                           // divps         %xmm6,%xmm3
+  .byte  15,88,216                           // addps         %xmm0,%xmm3
+  .byte  15,84,218                           // andps         %xmm2,%xmm3
+  .byte  15,86,217                           // orps          %xmm1,%xmm3
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  15,40,77,168                        // movaps        -0x58(%ebp),%xmm1
+  .byte  15,95,200                           // maxps         %xmm0,%xmm1
+  .byte  15,95,232                           // maxps         %xmm0,%xmm5
+  .byte  15,95,216                           // maxps         %xmm0,%xmm3
+  .byte  15,40,165,104,255,255,255           // movaps        -0x98(%ebp),%xmm4
+  .byte  15,92,101,152                       // subps         -0x68(%ebp),%xmm4
+  .byte  15,40,133,72,255,255,255            // movaps        -0xb8(%ebp),%xmm0
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  15,88,69,184                        // addps         -0x48(%ebp),%xmm0
+  .byte  15,88,193                           // addps         %xmm1,%xmm0
+  .byte  15,40,141,56,255,255,255            // movaps        -0xc8(%ebp),%xmm1
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  15,88,77,136                        // addps         -0x78(%ebp),%xmm1
+  .byte  15,88,205                           // addps         %xmm5,%xmm1
+  .byte  15,89,165,40,255,255,255            // mulps         -0xd8(%ebp),%xmm4
+  .byte  15,40,149,120,255,255,255           // movaps        -0x88(%ebp),%xmm2
+  .byte  15,88,212                           // addps         %xmm4,%xmm2
+  .byte  15,88,211                           // addps         %xmm3,%xmm2
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  141,81,4                            // lea           0x4(%ecx),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,93,216                        // movaps        -0x28(%ebp),%xmm3
+  .byte  82                                  // push          %edx
+  .byte  80                                  // push          %eax
+  .byte  255,17                              // call          *(%ecx)
+  .byte  129,196,232,0,0,0                   // add           $0xe8,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_color_sse2
+.globl _sk_color_sse2
+FUNCTION(_sk_color_sse2)
+_sk_color_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  129,236,200,0,0,0                   // sub           $0xc8,%esp
+  .byte  15,41,93,200                        // movaps        %xmm3,-0x38(%ebp)
+  .byte  15,41,85,152                        // movaps        %xmm2,-0x68(%ebp)
+  .byte  15,40,225                           // movaps        %xmm1,%xmm4
+  .byte  15,41,165,104,255,255,255           // movaps        %xmm4,-0x98(%ebp)
+  .byte  15,40,232                           // movaps        %xmm0,%xmm5
+  .byte  15,41,173,120,255,255,255           // movaps        %xmm5,-0x88(%ebp)
+  .byte  232,0,0,0,0                         // call          17c2 <_sk_color_sse2+0x2a>
+  .byte  89                                  // pop           %ecx
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  15,40,80,16                         // movaps        0x10(%eax),%xmm2
+  .byte  15,40,72,32                         // movaps        0x20(%eax),%xmm1
+  .byte  15,40,177,46,240,0,0                // movaps        0xf02e(%ecx),%xmm6
+  .byte  15,41,117,216                       // movaps        %xmm6,-0x28(%ebp)
+  .byte  15,40,194                           // movaps        %xmm2,%xmm0
+  .byte  15,89,198                           // mulps         %xmm6,%xmm0
+  .byte  15,40,153,62,240,0,0                // movaps        0xf03e(%ecx),%xmm3
+  .byte  15,41,93,184                        // movaps        %xmm3,-0x48(%ebp)
+  .byte  15,40,241                           // movaps        %xmm1,%xmm6
+  .byte  15,89,243                           // mulps         %xmm3,%xmm6
+  .byte  15,88,240                           // addps         %xmm0,%xmm6
+  .byte  15,40,129,158,239,0,0               // movaps        0xef9e(%ecx),%xmm0
+  .byte  15,41,69,168                        // movaps        %xmm0,-0x58(%ebp)
+  .byte  15,92,69,200                        // subps         -0x38(%ebp),%xmm0
+  .byte  15,89,208                           // mulps         %xmm0,%xmm2
+  .byte  15,41,149,56,255,255,255            // movaps        %xmm2,-0xc8(%ebp)
+  .byte  15,89,200                           // mulps         %xmm0,%xmm1
+  .byte  15,41,141,88,255,255,255            // movaps        %xmm1,-0xa8(%ebp)
+  .byte  15,40,80,48                         // movaps        0x30(%eax),%xmm2
+  .byte  15,89,194                           // mulps         %xmm2,%xmm0
+  .byte  15,41,133,72,255,255,255            // movaps        %xmm0,-0xb8(%ebp)
+  .byte  15,40,137,78,240,0,0                // movaps        0xf04e(%ecx),%xmm1
+  .byte  15,89,209                           // mulps         %xmm1,%xmm2
+  .byte  15,88,214                           // addps         %xmm6,%xmm2
+  .byte  15,40,88,64                         // movaps        0x40(%eax),%xmm3
+  .byte  15,40,195                           // movaps        %xmm3,%xmm0
+  .byte  15,89,197                           // mulps         %xmm5,%xmm0
+  .byte  15,40,243                           // movaps        %xmm3,%xmm6
+  .byte  15,89,244                           // mulps         %xmm4,%xmm6
+  .byte  15,40,232                           // movaps        %xmm0,%xmm5
+  .byte  15,89,109,216                       // mulps         -0x28(%ebp),%xmm5
+  .byte  15,40,254                           // movaps        %xmm6,%xmm7
+  .byte  15,89,125,184                       // mulps         -0x48(%ebp),%xmm7
+  .byte  15,88,253                           // addps         %xmm5,%xmm7
+  .byte  15,40,109,168                       // movaps        -0x58(%ebp),%xmm5
+  .byte  15,92,235                           // subps         %xmm3,%xmm5
+  .byte  15,41,109,168                       // movaps        %xmm5,-0x58(%ebp)
+  .byte  15,40,109,200                       // movaps        -0x38(%ebp),%xmm5
+  .byte  15,89,213                           // mulps         %xmm5,%xmm2
+  .byte  15,41,93,232                        // movaps        %xmm3,-0x18(%ebp)
+  .byte  15,40,101,232                       // movaps        -0x18(%ebp),%xmm4
+  .byte  15,89,229                           // mulps         %xmm5,%xmm4
+  .byte  15,41,101,232                       // movaps        %xmm4,-0x18(%ebp)
+  .byte  15,88,235                           // addps         %xmm3,%xmm5
+  .byte  15,41,109,200                       // movaps        %xmm5,-0x38(%ebp)
+  .byte  15,40,235                           // movaps        %xmm3,%xmm5
+  .byte  15,89,109,152                       // mulps         -0x68(%ebp),%xmm5
+  .byte  15,40,221                           // movaps        %xmm5,%xmm3
+  .byte  15,89,217                           // mulps         %xmm1,%xmm3
+  .byte  15,88,223                           // addps         %xmm7,%xmm3
+  .byte  15,92,211                           // subps         %xmm3,%xmm2
+  .byte  15,88,194                           // addps         %xmm2,%xmm0
+  .byte  15,88,242                           // addps         %xmm2,%xmm6
+  .byte  15,88,213                           // addps         %xmm5,%xmm2
+  .byte  15,40,222                           // movaps        %xmm6,%xmm3
+  .byte  15,93,218                           // minps         %xmm2,%xmm3
+  .byte  15,40,224                           // movaps        %xmm0,%xmm4
+  .byte  15,93,227                           // minps         %xmm3,%xmm4
+  .byte  15,40,222                           // movaps        %xmm6,%xmm3
+  .byte  15,95,218                           // maxps         %xmm2,%xmm3
+  .byte  15,40,232                           // movaps        %xmm0,%xmm5
+  .byte  15,95,235                           // maxps         %xmm3,%xmm5
+  .byte  15,40,93,216                        // movaps        -0x28(%ebp),%xmm3
+  .byte  15,89,216                           // mulps         %xmm0,%xmm3
+  .byte  15,40,125,184                       // movaps        -0x48(%ebp),%xmm7
+  .byte  15,89,254                           // mulps         %xmm6,%xmm7
+  .byte  15,88,251                           // addps         %xmm3,%xmm7
+  .byte  15,89,202                           // mulps         %xmm2,%xmm1
+  .byte  15,88,207                           // addps         %xmm7,%xmm1
+  .byte  15,87,255                           // xorps         %xmm7,%xmm7
+  .byte  15,194,252,2                        // cmpleps       %xmm4,%xmm7
+  .byte  15,40,217                           // movaps        %xmm1,%xmm3
+  .byte  15,92,220                           // subps         %xmm4,%xmm3
+  .byte  15,41,93,184                        // movaps        %xmm3,-0x48(%ebp)
+  .byte  15,40,224                           // movaps        %xmm0,%xmm4
+  .byte  15,92,225                           // subps         %xmm1,%xmm4
+  .byte  15,89,225                           // mulps         %xmm1,%xmm4
+  .byte  15,94,227                           // divps         %xmm3,%xmm4
+  .byte  15,88,225                           // addps         %xmm1,%xmm4
+  .byte  15,40,223                           // movaps        %xmm7,%xmm3
+  .byte  15,85,220                           // andnps        %xmm4,%xmm3
+  .byte  15,84,199                           // andps         %xmm7,%xmm0
+  .byte  15,86,195                           // orps          %xmm3,%xmm0
+  .byte  15,40,93,200                        // movaps        -0x38(%ebp),%xmm3
+  .byte  15,40,101,232                       // movaps        -0x18(%ebp),%xmm4
+  .byte  15,92,220                           // subps         %xmm4,%xmm3
+  .byte  15,41,93,200                        // movaps        %xmm3,-0x38(%ebp)
+  .byte  15,41,101,216                       // movaps        %xmm4,-0x28(%ebp)
+  .byte  15,194,229,1                        // cmpltps       %xmm5,%xmm4
+  .byte  15,40,220                           // movaps        %xmm4,%xmm3
+  .byte  15,85,216                           // andnps        %xmm0,%xmm3
+  .byte  15,41,93,232                        // movaps        %xmm3,-0x18(%ebp)
+  .byte  15,92,193                           // subps         %xmm1,%xmm0
+  .byte  15,40,93,216                        // movaps        -0x28(%ebp),%xmm3
+  .byte  15,92,217                           // subps         %xmm1,%xmm3
+  .byte  15,41,93,216                        // movaps        %xmm3,-0x28(%ebp)
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  15,92,233                           // subps         %xmm1,%xmm5
+  .byte  15,41,109,136                       // movaps        %xmm5,-0x78(%ebp)
+  .byte  15,94,197                           // divps         %xmm5,%xmm0
+  .byte  15,88,193                           // addps         %xmm1,%xmm0
+  .byte  15,84,196                           // andps         %xmm4,%xmm0
+  .byte  15,86,69,232                        // orps          -0x18(%ebp),%xmm0
+  .byte  15,40,222                           // movaps        %xmm6,%xmm3
+  .byte  15,92,217                           // subps         %xmm1,%xmm3
+  .byte  15,89,217                           // mulps         %xmm1,%xmm3
+  .byte  15,94,93,184                        // divps         -0x48(%ebp),%xmm3
+  .byte  15,88,217                           // addps         %xmm1,%xmm3
+  .byte  15,41,125,232                       // movaps        %xmm7,-0x18(%ebp)
+  .byte  15,40,109,232                       // movaps        -0x18(%ebp),%xmm5
+  .byte  15,85,235                           // andnps        %xmm3,%xmm5
+  .byte  15,41,109,232                       // movaps        %xmm5,-0x18(%ebp)
+  .byte  15,84,247                           // andps         %xmm7,%xmm6
+  .byte  15,86,117,232                       // orps          -0x18(%ebp),%xmm6
+  .byte  15,40,220                           // movaps        %xmm4,%xmm3
+  .byte  15,85,222                           // andnps        %xmm6,%xmm3
+  .byte  15,92,241                           // subps         %xmm1,%xmm6
+  .byte  15,89,117,216                       // mulps         -0x28(%ebp),%xmm6
+  .byte  15,40,109,136                       // movaps        -0x78(%ebp),%xmm5
+  .byte  15,94,245                           // divps         %xmm5,%xmm6
+  .byte  15,88,241                           // addps         %xmm1,%xmm6
+  .byte  15,84,244                           // andps         %xmm4,%xmm6
+  .byte  15,86,243                           // orps          %xmm3,%xmm6
+  .byte  15,40,218                           // movaps        %xmm2,%xmm3
+  .byte  15,92,217                           // subps         %xmm1,%xmm3
+  .byte  15,89,217                           // mulps         %xmm1,%xmm3
+  .byte  15,94,93,184                        // divps         -0x48(%ebp),%xmm3
+  .byte  15,88,217                           // addps         %xmm1,%xmm3
+  .byte  15,84,215                           // andps         %xmm7,%xmm2
+  .byte  15,85,251                           // andnps        %xmm3,%xmm7
+  .byte  15,86,250                           // orps          %xmm2,%xmm7
+  .byte  15,40,212                           // movaps        %xmm4,%xmm2
+  .byte  15,85,215                           // andnps        %xmm7,%xmm2
+  .byte  15,92,249                           // subps         %xmm1,%xmm7
+  .byte  15,89,125,216                       // mulps         -0x28(%ebp),%xmm7
+  .byte  15,94,253                           // divps         %xmm5,%xmm7
+  .byte  15,88,249                           // addps         %xmm1,%xmm7
+  .byte  15,84,252                           // andps         %xmm4,%xmm7
+  .byte  15,86,250                           // orps          %xmm2,%xmm7
+  .byte  15,87,201                           // xorps         %xmm1,%xmm1
+  .byte  15,95,193                           // maxps         %xmm1,%xmm0
+  .byte  15,95,241                           // maxps         %xmm1,%xmm6
+  .byte  15,95,249                           // maxps         %xmm1,%xmm7
+  .byte  15,40,141,120,255,255,255           // movaps        -0x88(%ebp),%xmm1
+  .byte  15,40,85,168                        // movaps        -0x58(%ebp),%xmm2
+  .byte  15,89,202                           // mulps         %xmm2,%xmm1
+  .byte  15,88,141,56,255,255,255            // addps         -0xc8(%ebp),%xmm1
+  .byte  15,88,200                           // addps         %xmm0,%xmm1
+  .byte  15,40,193                           // movaps        %xmm1,%xmm0
+  .byte  15,40,141,104,255,255,255           // movaps        -0x98(%ebp),%xmm1
+  .byte  15,89,202                           // mulps         %xmm2,%xmm1
+  .byte  15,40,218                           // movaps        %xmm2,%xmm3
+  .byte  15,88,141,88,255,255,255            // addps         -0xa8(%ebp),%xmm1
+  .byte  15,88,206                           // addps         %xmm6,%xmm1
+  .byte  15,40,85,152                        // movaps        -0x68(%ebp),%xmm2
+  .byte  15,89,211                           // mulps         %xmm3,%xmm2
+  .byte  15,88,149,72,255,255,255            // addps         -0xb8(%ebp),%xmm2
+  .byte  15,88,215                           // addps         %xmm7,%xmm2
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  141,81,4                            // lea           0x4(%ecx),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,93,200                        // movaps        -0x38(%ebp),%xmm3
+  .byte  82                                  // push          %edx
+  .byte  80                                  // push          %eax
+  .byte  255,17                              // call          *(%ecx)
+  .byte  129,196,216,0,0,0                   // add           $0xd8,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_luminosity_sse2
+.globl _sk_luminosity_sse2
+FUNCTION(_sk_luminosity_sse2)
+_sk_luminosity_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  129,236,184,0,0,0                   // sub           $0xb8,%esp
+  .byte  15,40,242                           // movaps        %xmm2,%xmm6
+  .byte  232,0,0,0,0                         // call          1a25 <_sk_luminosity_sse2+0x11>
+  .byte  89                                  // pop           %ecx
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  15,40,161,203,237,0,0               // movaps        0xedcb(%ecx),%xmm4
+  .byte  15,41,101,232                       // movaps        %xmm4,-0x18(%ebp)
+  .byte  15,40,208                           // movaps        %xmm0,%xmm2
+  .byte  15,89,212                           // mulps         %xmm4,%xmm2
+  .byte  15,40,161,219,237,0,0               // movaps        0xeddb(%ecx),%xmm4
+  .byte  15,41,101,216                       // movaps        %xmm4,-0x28(%ebp)
+  .byte  15,40,233                           // movaps        %xmm1,%xmm5
+  .byte  15,89,236                           // mulps         %xmm4,%xmm5
+  .byte  15,88,234                           // addps         %xmm2,%xmm5
+  .byte  15,40,80,64                         // movaps        0x40(%eax),%xmm2
+  .byte  15,41,85,184                        // movaps        %xmm2,-0x48(%ebp)
+  .byte  15,40,161,59,237,0,0                // movaps        0xed3b(%ecx),%xmm4
+  .byte  15,40,252                           // movaps        %xmm4,%xmm7
+  .byte  15,92,250                           // subps         %xmm2,%xmm7
+  .byte  15,89,199                           // mulps         %xmm7,%xmm0
+  .byte  15,41,133,72,255,255,255            // movaps        %xmm0,-0xb8(%ebp)
+  .byte  15,89,207                           // mulps         %xmm7,%xmm1
+  .byte  15,41,141,88,255,255,255            // movaps        %xmm1,-0xa8(%ebp)
+  .byte  15,89,254                           // mulps         %xmm6,%xmm7
+  .byte  15,41,189,104,255,255,255           // movaps        %xmm7,-0x98(%ebp)
+  .byte  15,40,214                           // movaps        %xmm6,%xmm2
+  .byte  15,40,137,235,237,0,0               // movaps        0xedeb(%ecx),%xmm1
+  .byte  15,89,209                           // mulps         %xmm1,%xmm2
+  .byte  15,88,213                           // addps         %xmm5,%xmm2
+  .byte  15,40,104,16                        // movaps        0x10(%eax),%xmm5
+  .byte  15,41,109,136                       // movaps        %xmm5,-0x78(%ebp)
+  .byte  15,89,235                           // mulps         %xmm3,%xmm5
+  .byte  15,40,112,32                        // movaps        0x20(%eax),%xmm6
+  .byte  15,41,117,152                       // movaps        %xmm6,-0x68(%ebp)
+  .byte  15,89,243                           // mulps         %xmm3,%xmm6
+  .byte  15,40,197                           // movaps        %xmm5,%xmm0
+  .byte  15,89,69,232                        // mulps         -0x18(%ebp),%xmm0
+  .byte  15,40,254                           // movaps        %xmm6,%xmm7
+  .byte  15,89,125,216                       // mulps         -0x28(%ebp),%xmm7
+  .byte  15,88,248                           // addps         %xmm0,%xmm7
+  .byte  15,92,227                           // subps         %xmm3,%xmm4
+  .byte  15,41,93,168                        // movaps        %xmm3,-0x58(%ebp)
+  .byte  15,40,69,136                        // movaps        -0x78(%ebp),%xmm0
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  15,41,69,136                        // movaps        %xmm0,-0x78(%ebp)
+  .byte  15,40,69,152                        // movaps        -0x68(%ebp),%xmm0
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  15,41,69,152                        // movaps        %xmm0,-0x68(%ebp)
+  .byte  15,40,64,48                         // movaps        0x30(%eax),%xmm0
+  .byte  15,89,224                           // mulps         %xmm0,%xmm4
+  .byte  15,41,165,120,255,255,255           // movaps        %xmm4,-0x88(%ebp)
+  .byte  15,40,224                           // movaps        %xmm0,%xmm4
+  .byte  15,89,227                           // mulps         %xmm3,%xmm4
+  .byte  15,40,196                           // movaps        %xmm4,%xmm0
+  .byte  15,89,193                           // mulps         %xmm1,%xmm0
+  .byte  15,88,199                           // addps         %xmm7,%xmm0
+  .byte  15,40,93,184                        // movaps        -0x48(%ebp),%xmm3
+  .byte  15,89,211                           // mulps         %xmm3,%xmm2
+  .byte  15,92,208                           // subps         %xmm0,%xmm2
+  .byte  15,88,234                           // addps         %xmm2,%xmm5
+  .byte  15,88,242                           // addps         %xmm2,%xmm6
+  .byte  15,88,212                           // addps         %xmm4,%xmm2
+  .byte  15,40,198                           // movaps        %xmm6,%xmm0
+  .byte  15,93,194                           // minps         %xmm2,%xmm0
+  .byte  15,40,229                           // movaps        %xmm5,%xmm4
+  .byte  15,93,224                           // minps         %xmm0,%xmm4
+  .byte  15,40,198                           // movaps        %xmm6,%xmm0
+  .byte  15,95,194                           // maxps         %xmm2,%xmm0
+  .byte  15,40,253                           // movaps        %xmm5,%xmm7
+  .byte  15,95,248                           // maxps         %xmm0,%xmm7
+  .byte  15,41,125,200                       // movaps        %xmm7,-0x38(%ebp)
+  .byte  15,40,69,232                        // movaps        -0x18(%ebp),%xmm0
+  .byte  15,89,197                           // mulps         %xmm5,%xmm0
+  .byte  15,40,125,216                       // movaps        -0x28(%ebp),%xmm7
+  .byte  15,89,254                           // mulps         %xmm6,%xmm7
+  .byte  15,88,248                           // addps         %xmm0,%xmm7
+  .byte  15,89,202                           // mulps         %xmm2,%xmm1
+  .byte  15,88,207                           // addps         %xmm7,%xmm1
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  15,194,196,2                        // cmpleps       %xmm4,%xmm0
+  .byte  15,40,249                           // movaps        %xmm1,%xmm7
+  .byte  15,92,252                           // subps         %xmm4,%xmm7
+  .byte  15,41,125,216                       // movaps        %xmm7,-0x28(%ebp)
+  .byte  15,40,229                           // movaps        %xmm5,%xmm4
+  .byte  15,92,225                           // subps         %xmm1,%xmm4
+  .byte  15,89,225                           // mulps         %xmm1,%xmm4
+  .byte  15,94,231                           // divps         %xmm7,%xmm4
+  .byte  15,88,225                           // addps         %xmm1,%xmm4
+  .byte  15,40,248                           // movaps        %xmm0,%xmm7
+  .byte  15,85,252                           // andnps        %xmm4,%xmm7
+  .byte  15,84,232                           // andps         %xmm0,%xmm5
+  .byte  15,86,239                           // orps          %xmm7,%xmm5
+  .byte  15,40,251                           // movaps        %xmm3,%xmm7
+  .byte  15,40,231                           // movaps        %xmm7,%xmm4
+  .byte  15,40,93,168                        // movaps        -0x58(%ebp),%xmm3
+  .byte  15,89,227                           // mulps         %xmm3,%xmm4
+  .byte  15,88,223                           // addps         %xmm7,%xmm3
+  .byte  15,92,220                           // subps         %xmm4,%xmm3
+  .byte  15,41,93,168                        // movaps        %xmm3,-0x58(%ebp)
+  .byte  15,41,101,232                       // movaps        %xmm4,-0x18(%ebp)
+  .byte  15,40,220                           // movaps        %xmm4,%xmm3
+  .byte  15,40,125,200                       // movaps        -0x38(%ebp),%xmm7
+  .byte  15,194,223,1                        // cmpltps       %xmm7,%xmm3
+  .byte  15,40,227                           // movaps        %xmm3,%xmm4
+  .byte  15,85,229                           // andnps        %xmm5,%xmm4
+  .byte  15,41,101,184                       // movaps        %xmm4,-0x48(%ebp)
+  .byte  15,92,233                           // subps         %xmm1,%xmm5
+  .byte  15,40,101,232                       // movaps        -0x18(%ebp),%xmm4
+  .byte  15,92,225                           // subps         %xmm1,%xmm4
+  .byte  15,41,101,232                       // movaps        %xmm4,-0x18(%ebp)
+  .byte  15,89,236                           // mulps         %xmm4,%xmm5
+  .byte  15,92,249                           // subps         %xmm1,%xmm7
+  .byte  15,41,125,200                       // movaps        %xmm7,-0x38(%ebp)
+  .byte  15,94,239                           // divps         %xmm7,%xmm5
+  .byte  15,88,233                           // addps         %xmm1,%xmm5
+  .byte  15,84,235                           // andps         %xmm3,%xmm5
+  .byte  15,86,109,184                       // orps          -0x48(%ebp),%xmm5
+  .byte  15,40,230                           // movaps        %xmm6,%xmm4
+  .byte  15,92,225                           // subps         %xmm1,%xmm4
+  .byte  15,89,225                           // mulps         %xmm1,%xmm4
+  .byte  15,94,101,216                       // divps         -0x28(%ebp),%xmm4
+  .byte  15,88,225                           // addps         %xmm1,%xmm4
+  .byte  15,40,248                           // movaps        %xmm0,%xmm7
+  .byte  15,85,252                           // andnps        %xmm4,%xmm7
+  .byte  15,84,240                           // andps         %xmm0,%xmm6
+  .byte  15,86,247                           // orps          %xmm7,%xmm6
+  .byte  15,40,227                           // movaps        %xmm3,%xmm4
+  .byte  15,85,230                           // andnps        %xmm6,%xmm4
+  .byte  15,92,241                           // subps         %xmm1,%xmm6
+  .byte  15,40,125,232                       // movaps        -0x18(%ebp),%xmm7
+  .byte  15,89,247                           // mulps         %xmm7,%xmm6
+  .byte  15,94,117,200                       // divps         -0x38(%ebp),%xmm6
+  .byte  15,88,241                           // addps         %xmm1,%xmm6
+  .byte  15,84,243                           // andps         %xmm3,%xmm6
+  .byte  15,86,244                           // orps          %xmm4,%xmm6
+  .byte  15,40,226                           // movaps        %xmm2,%xmm4
+  .byte  15,92,225                           // subps         %xmm1,%xmm4
+  .byte  15,89,225                           // mulps         %xmm1,%xmm4
+  .byte  15,94,101,216                       // divps         -0x28(%ebp),%xmm4
+  .byte  15,88,225                           // addps         %xmm1,%xmm4
+  .byte  15,84,208                           // andps         %xmm0,%xmm2
+  .byte  15,85,196                           // andnps        %xmm4,%xmm0
+  .byte  15,86,194                           // orps          %xmm2,%xmm0
+  .byte  15,40,211                           // movaps        %xmm3,%xmm2
+  .byte  15,85,208                           // andnps        %xmm0,%xmm2
+  .byte  15,92,193                           // subps         %xmm1,%xmm0
+  .byte  15,89,199                           // mulps         %xmm7,%xmm0
+  .byte  15,94,69,200                        // divps         -0x38(%ebp),%xmm0
+  .byte  15,88,193                           // addps         %xmm1,%xmm0
+  .byte  15,84,195                           // andps         %xmm3,%xmm0
+  .byte  15,86,194                           // orps          %xmm2,%xmm0
+  .byte  15,87,201                           // xorps         %xmm1,%xmm1
+  .byte  15,95,233                           // maxps         %xmm1,%xmm5
+  .byte  15,95,241                           // maxps         %xmm1,%xmm6
+  .byte  15,95,193                           // maxps         %xmm1,%xmm0
+  .byte  15,40,157,72,255,255,255            // movaps        -0xb8(%ebp),%xmm3
+  .byte  15,88,93,136                        // addps         -0x78(%ebp),%xmm3
+  .byte  15,88,221                           // addps         %xmm5,%xmm3
+  .byte  15,40,141,88,255,255,255            // movaps        -0xa8(%ebp),%xmm1
+  .byte  15,88,77,152                        // addps         -0x68(%ebp),%xmm1
+  .byte  15,88,206                           // addps         %xmm6,%xmm1
+  .byte  15,40,149,120,255,255,255           // movaps        -0x88(%ebp),%xmm2
+  .byte  15,88,149,104,255,255,255           // addps         -0x98(%ebp),%xmm2
+  .byte  15,88,208                           // addps         %xmm0,%xmm2
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  141,81,4                            // lea           0x4(%ecx),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,195                           // movaps        %xmm3,%xmm0
+  .byte  15,40,93,168                        // movaps        -0x58(%ebp),%xmm3
+  .byte  82                                  // push          %edx
+  .byte  80                                  // push          %eax
+  .byte  255,17                              // call          *(%ecx)
+  .byte  129,196,200,0,0,0                   // add           $0xc8,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_srcover_rgba_8888_sse2
+.globl _sk_srcover_rgba_8888_sse2
+FUNCTION(_sk_srcover_rgba_8888_sse2)
+_sk_srcover_rgba_8888_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,44                          // sub           $0x2c,%esp
+  .byte  15,41,85,200                        // movaps        %xmm2,-0x38(%ebp)
+  .byte  102,15,127,77,216                   // movdqa        %xmm1,-0x28(%ebp)
+  .byte  102,15,111,232                      // movdqa        %xmm0,%xmm5
+  .byte  232,0,0,0,0                         // call          1c94 <_sk_srcover_rgba_8888_sse2+0x1b>
+  .byte  95                                  // pop           %edi
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,48                              // mov           (%eax),%esi
+  .byte  139,86,4                            // mov           0x4(%esi),%edx
+  .byte  15,175,81,4                         // imul          0x4(%ecx),%edx
+  .byte  193,226,2                           // shl           $0x2,%edx
+  .byte  3,22                                // add           (%esi),%edx
+  .byte  139,89,8                            // mov           0x8(%ecx),%ebx
+  .byte  133,219                             // test          %ebx,%ebx
+  .byte  139,49                              // mov           (%ecx),%esi
+  .byte  15,133,2,1,0,0                      // jne           1db8 <_sk_srcover_rgba_8888_sse2+0x13f>
+  .byte  243,15,111,12,178                   // movdqu        (%edx,%esi,4),%xmm1
+  .byte  102,15,111,135,140,235,0,0          // movdqa        0xeb8c(%edi),%xmm0
+  .byte  102,15,111,209                      // movdqa        %xmm1,%xmm2
+  .byte  102,15,219,208                      // pand          %xmm0,%xmm2
+  .byte  102,15,111,241                      // movdqa        %xmm1,%xmm6
+  .byte  102,15,114,214,8                    // psrld         $0x8,%xmm6
+  .byte  102,15,219,240                      // pand          %xmm0,%xmm6
+  .byte  102,15,111,249                      // movdqa        %xmm1,%xmm7
+  .byte  102,15,114,215,16                   // psrld         $0x10,%xmm7
+  .byte  102,15,219,248                      // pand          %xmm0,%xmm7
+  .byte  15,91,194                           // cvtdq2ps      %xmm2,%xmm0
+  .byte  15,41,65,16                         // movaps        %xmm0,0x10(%ecx)
+  .byte  15,40,167,204,234,0,0               // movaps        0xeacc(%edi),%xmm4
+  .byte  15,92,227                           // subps         %xmm3,%xmm4
+  .byte  15,40,151,156,235,0,0               // movaps        0xeb9c(%edi),%xmm2
+  .byte  15,89,234                           // mulps         %xmm2,%xmm5
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  15,88,197                           // addps         %xmm5,%xmm0
+  .byte  15,91,238                           // cvtdq2ps      %xmm6,%xmm5
+  .byte  15,41,105,32                        // movaps        %xmm5,0x20(%ecx)
+  .byte  15,40,117,216                       // movaps        -0x28(%ebp),%xmm6
+  .byte  15,89,242                           // mulps         %xmm2,%xmm6
+  .byte  15,89,236                           // mulps         %xmm4,%xmm5
+  .byte  15,88,238                           // addps         %xmm6,%xmm5
+  .byte  15,91,247                           // cvtdq2ps      %xmm7,%xmm6
+  .byte  15,41,113,48                        // movaps        %xmm6,0x30(%ecx)
+  .byte  15,40,125,200                       // movaps        -0x38(%ebp),%xmm7
+  .byte  15,89,250                           // mulps         %xmm2,%xmm7
+  .byte  15,89,244                           // mulps         %xmm4,%xmm6
+  .byte  15,88,247                           // addps         %xmm7,%xmm6
+  .byte  15,87,255                           // xorps         %xmm7,%xmm7
+  .byte  102,15,114,209,24                   // psrld         $0x18,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  15,41,73,64                         // movaps        %xmm1,0x40(%ecx)
+  .byte  15,89,218                           // mulps         %xmm2,%xmm3
+  .byte  15,89,225                           // mulps         %xmm1,%xmm4
+  .byte  15,88,227                           // addps         %xmm3,%xmm4
+  .byte  15,87,201                           // xorps         %xmm1,%xmm1
+  .byte  15,95,200                           // maxps         %xmm0,%xmm1
+  .byte  15,93,202                           // minps         %xmm2,%xmm1
+  .byte  102,15,91,201                       // cvtps2dq      %xmm1,%xmm1
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  15,95,221                           // maxps         %xmm5,%xmm3
+  .byte  15,93,218                           // minps         %xmm2,%xmm3
+  .byte  102,15,91,219                       // cvtps2dq      %xmm3,%xmm3
+  .byte  102,15,114,243,8                    // pslld         $0x8,%xmm3
+  .byte  102,15,235,217                      // por           %xmm1,%xmm3
+  .byte  102,15,87,201                       // xorpd         %xmm1,%xmm1
+  .byte  15,95,206                           // maxps         %xmm6,%xmm1
+  .byte  15,93,202                           // minps         %xmm2,%xmm1
+  .byte  15,95,252                           // maxps         %xmm4,%xmm7
+  .byte  15,93,250                           // minps         %xmm2,%xmm7
+  .byte  102,15,91,209                       // cvtps2dq      %xmm1,%xmm2
+  .byte  102,15,114,242,16                   // pslld         $0x10,%xmm2
+  .byte  102,15,91,207                       // cvtps2dq      %xmm7,%xmm1
+  .byte  102,15,114,241,24                   // pslld         $0x18,%xmm1
+  .byte  102,15,235,202                      // por           %xmm2,%xmm1
+  .byte  102,15,235,203                      // por           %xmm3,%xmm1
+  .byte  133,219                             // test          %ebx,%ebx
+  .byte  117,92                              // jne           1df3 <_sk_srcover_rgba_8888_sse2+0x17a>
+  .byte  243,15,127,12,178                   // movdqu        %xmm1,(%edx,%esi,4)
+  .byte  141,80,8                            // lea           0x8(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,205                           // movaps        %xmm5,%xmm1
+  .byte  15,40,214                           // movaps        %xmm6,%xmm2
+  .byte  15,40,220                           // movaps        %xmm4,%xmm3
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,60                          // add           $0x3c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  137,216                             // mov           %ebx,%eax
+  .byte  136,69,243                          // mov           %al,-0xd(%ebp)
+  .byte  128,101,243,3                       // andb          $0x3,-0xd(%ebp)
+  .byte  128,125,243,1                       // cmpb          $0x1,-0xd(%ebp)
+  .byte  116,80                              // je            1e17 <_sk_srcover_rgba_8888_sse2+0x19e>
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  128,125,243,2                       // cmpb          $0x2,-0xd(%ebp)
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  116,21                              // je            1de9 <_sk_srcover_rgba_8888_sse2+0x170>
+  .byte  128,125,243,3                       // cmpb          $0x3,-0xd(%ebp)
+  .byte  15,133,221,254,255,255              // jne           1cbb <_sk_srcover_rgba_8888_sse2+0x42>
+  .byte  102,15,110,68,178,8                 // movd          0x8(%edx,%esi,4),%xmm0
+  .byte  102,15,112,200,69                   // pshufd        $0x45,%xmm0,%xmm1
+  .byte  102,15,18,12,178                    // movlpd        (%edx,%esi,4),%xmm1
+  .byte  233,200,254,255,255                 // jmp           1cbb <_sk_srcover_rgba_8888_sse2+0x42>
+  .byte  128,227,3                           // and           $0x3,%bl
+  .byte  128,251,1                           // cmp           $0x1,%bl
+  .byte  116,41                              // je            1e24 <_sk_srcover_rgba_8888_sse2+0x1ab>
+  .byte  128,251,2                           // cmp           $0x2,%bl
+  .byte  116,16                              // je            1e10 <_sk_srcover_rgba_8888_sse2+0x197>
+  .byte  128,251,3                           // cmp           $0x3,%bl
+  .byte  117,151                             // jne           1d9c <_sk_srcover_rgba_8888_sse2+0x123>
+  .byte  102,15,112,209,78                   // pshufd        $0x4e,%xmm1,%xmm2
+  .byte  102,15,126,84,178,8                 // movd          %xmm2,0x8(%edx,%esi,4)
+  .byte  102,15,214,12,178                   // movq          %xmm1,(%edx,%esi,4)
+  .byte  235,133                             // jmp           1d9c <_sk_srcover_rgba_8888_sse2+0x123>
+  .byte  102,15,110,12,178                   // movd          (%edx,%esi,4),%xmm1
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  233,151,254,255,255                 // jmp           1cbb <_sk_srcover_rgba_8888_sse2+0x42>
+  .byte  102,15,126,12,178                   // movd          %xmm1,(%edx,%esi,4)
+  .byte  233,110,255,255,255                 // jmp           1d9c <_sk_srcover_rgba_8888_sse2+0x123>
+
+HIDDEN _sk_srcover_bgra_8888_sse2
+.globl _sk_srcover_bgra_8888_sse2
+FUNCTION(_sk_srcover_bgra_8888_sse2)
+_sk_srcover_bgra_8888_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,44                          // sub           $0x2c,%esp
+  .byte  15,41,85,200                        // movaps        %xmm2,-0x38(%ebp)
+  .byte  15,41,77,216                        // movaps        %xmm1,-0x28(%ebp)
+  .byte  102,15,111,248                      // movdqa        %xmm0,%xmm7
+  .byte  232,0,0,0,0                         // call          1e48 <_sk_srcover_bgra_8888_sse2+0x1a>
+  .byte  95                                  // pop           %edi
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,48                              // mov           (%eax),%esi
+  .byte  139,86,4                            // mov           0x4(%esi),%edx
+  .byte  15,175,81,4                         // imul          0x4(%ecx),%edx
+  .byte  193,226,2                           // shl           $0x2,%edx
+  .byte  3,22                                // add           (%esi),%edx
+  .byte  139,89,8                            // mov           0x8(%ecx),%ebx
+  .byte  133,219                             // test          %ebx,%ebx
+  .byte  139,49                              // mov           (%ecx),%esi
+  .byte  15,133,252,0,0,0                    // jne           1f66 <_sk_srcover_bgra_8888_sse2+0x138>
+  .byte  243,15,111,36,178                   // movdqu        (%edx,%esi,4),%xmm4
+  .byte  102,15,111,135,216,233,0,0          // movdqa        0xe9d8(%edi),%xmm0
+  .byte  102,15,111,204                      // movdqa        %xmm4,%xmm1
+  .byte  102,15,219,200                      // pand          %xmm0,%xmm1
+  .byte  102,15,111,236                      // movdqa        %xmm4,%xmm5
+  .byte  102,15,114,213,8                    // psrld         $0x8,%xmm5
+  .byte  102,15,219,232                      // pand          %xmm0,%xmm5
+  .byte  102,15,111,244                      // movdqa        %xmm4,%xmm6
+  .byte  102,15,114,214,16                   // psrld         $0x10,%xmm6
+  .byte  102,15,219,240                      // pand          %xmm0,%xmm6
+  .byte  15,91,209                           // cvtdq2ps      %xmm1,%xmm2
+  .byte  15,41,81,48                         // movaps        %xmm2,0x30(%ecx)
+  .byte  15,91,205                           // cvtdq2ps      %xmm5,%xmm1
+  .byte  15,41,73,32                         // movaps        %xmm1,0x20(%ecx)
+  .byte  15,91,198                           // cvtdq2ps      %xmm6,%xmm0
+  .byte  15,41,65,16                         // movaps        %xmm0,0x10(%ecx)
+  .byte  15,40,175,24,233,0,0                // movaps        0xe918(%edi),%xmm5
+  .byte  15,92,235                           // subps         %xmm3,%xmm5
+  .byte  15,40,183,232,233,0,0               // movaps        0xe9e8(%edi),%xmm6
+  .byte  15,89,254                           // mulps         %xmm6,%xmm7
+  .byte  15,89,197                           // mulps         %xmm5,%xmm0
+  .byte  15,88,199                           // addps         %xmm7,%xmm0
+  .byte  15,40,125,216                       // movaps        -0x28(%ebp),%xmm7
+  .byte  15,89,254                           // mulps         %xmm6,%xmm7
+  .byte  15,89,205                           // mulps         %xmm5,%xmm1
+  .byte  15,88,207                           // addps         %xmm7,%xmm1
+  .byte  15,40,125,200                       // movaps        -0x38(%ebp),%xmm7
+  .byte  15,89,254                           // mulps         %xmm6,%xmm7
+  .byte  15,89,213                           // mulps         %xmm5,%xmm2
+  .byte  15,88,215                           // addps         %xmm7,%xmm2
+  .byte  15,87,255                           // xorps         %xmm7,%xmm7
+  .byte  102,15,114,212,24                   // psrld         $0x18,%xmm4
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  15,41,97,64                         // movaps        %xmm4,0x40(%ecx)
+  .byte  15,89,222                           // mulps         %xmm6,%xmm3
+  .byte  15,89,236                           // mulps         %xmm4,%xmm5
+  .byte  15,88,235                           // addps         %xmm3,%xmm5
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  15,95,218                           // maxps         %xmm2,%xmm3
+  .byte  15,93,222                           // minps         %xmm6,%xmm3
+  .byte  102,15,91,219                       // cvtps2dq      %xmm3,%xmm3
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,95,225                           // maxps         %xmm1,%xmm4
+  .byte  15,93,230                           // minps         %xmm6,%xmm4
+  .byte  102,15,91,228                       // cvtps2dq      %xmm4,%xmm4
+  .byte  102,15,114,244,8                    // pslld         $0x8,%xmm4
+  .byte  102,15,235,227                      // por           %xmm3,%xmm4
+  .byte  102,15,87,219                       // xorpd         %xmm3,%xmm3
+  .byte  15,95,216                           // maxps         %xmm0,%xmm3
+  .byte  15,93,222                           // minps         %xmm6,%xmm3
+  .byte  15,95,253                           // maxps         %xmm5,%xmm7
+  .byte  15,93,254                           // minps         %xmm6,%xmm7
+  .byte  102,15,91,243                       // cvtps2dq      %xmm3,%xmm6
+  .byte  102,15,114,246,16                   // pslld         $0x10,%xmm6
+  .byte  102,15,91,223                       // cvtps2dq      %xmm7,%xmm3
+  .byte  102,15,114,243,24                   // pslld         $0x18,%xmm3
+  .byte  102,15,235,222                      // por           %xmm6,%xmm3
+  .byte  102,15,235,220                      // por           %xmm4,%xmm3
+  .byte  133,219                             // test          %ebx,%ebx
+  .byte  117,86                              // jne           1fa1 <_sk_srcover_bgra_8888_sse2+0x173>
+  .byte  243,15,127,28,178                   // movdqu        %xmm3,(%edx,%esi,4)
+  .byte  141,80,8                            // lea           0x8(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,221                           // movaps        %xmm5,%xmm3
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,60                          // add           $0x3c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  137,216                             // mov           %ebx,%eax
+  .byte  136,69,243                          // mov           %al,-0xd(%ebp)
+  .byte  128,101,243,3                       // andb          $0x3,-0xd(%ebp)
+  .byte  128,125,243,1                       // cmpb          $0x1,-0xd(%ebp)
+  .byte  116,80                              // je            1fc5 <_sk_srcover_bgra_8888_sse2+0x197>
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  128,125,243,2                       // cmpb          $0x2,-0xd(%ebp)
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  116,21                              // je            1f97 <_sk_srcover_bgra_8888_sse2+0x169>
+  .byte  128,125,243,3                       // cmpb          $0x3,-0xd(%ebp)
+  .byte  15,133,227,254,255,255              // jne           1e6f <_sk_srcover_bgra_8888_sse2+0x41>
+  .byte  102,15,110,68,178,8                 // movd          0x8(%edx,%esi,4),%xmm0
+  .byte  102,15,112,224,69                   // pshufd        $0x45,%xmm0,%xmm4
+  .byte  102,15,18,36,178                    // movlpd        (%edx,%esi,4),%xmm4
+  .byte  233,206,254,255,255                 // jmp           1e6f <_sk_srcover_bgra_8888_sse2+0x41>
+  .byte  128,227,3                           // and           $0x3,%bl
+  .byte  128,251,1                           // cmp           $0x1,%bl
+  .byte  116,41                              // je            1fd2 <_sk_srcover_bgra_8888_sse2+0x1a4>
+  .byte  128,251,2                           // cmp           $0x2,%bl
+  .byte  116,16                              // je            1fbe <_sk_srcover_bgra_8888_sse2+0x190>
+  .byte  128,251,3                           // cmp           $0x3,%bl
+  .byte  117,157                             // jne           1f50 <_sk_srcover_bgra_8888_sse2+0x122>
+  .byte  102,15,112,227,78                   // pshufd        $0x4e,%xmm3,%xmm4
+  .byte  102,15,126,100,178,8                // movd          %xmm4,0x8(%edx,%esi,4)
+  .byte  102,15,214,28,178                   // movq          %xmm3,(%edx,%esi,4)
+  .byte  235,139                             // jmp           1f50 <_sk_srcover_bgra_8888_sse2+0x122>
+  .byte  102,15,110,36,178                   // movd          (%edx,%esi,4),%xmm4
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  233,157,254,255,255                 // jmp           1e6f <_sk_srcover_bgra_8888_sse2+0x41>
+  .byte  102,15,126,28,178                   // movd          %xmm3,(%edx,%esi,4)
+  .byte  233,116,255,255,255                 // jmp           1f50 <_sk_srcover_bgra_8888_sse2+0x122>
+
+HIDDEN _sk_clamp_0_sse2
+.globl _sk_clamp_0_sse2
+FUNCTION(_sk_clamp_0_sse2)
+_sk_clamp_0_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,95,196                           // maxps         %xmm4,%xmm0
+  .byte  15,95,204                           // maxps         %xmm4,%xmm1
+  .byte  15,95,212                           // maxps         %xmm4,%xmm2
+  .byte  15,95,220                           // maxps         %xmm4,%xmm3
+  .byte  141,72,4                            // lea           0x4(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,16                              // call          *(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_clamp_1_sse2
+.globl _sk_clamp_1_sse2
+FUNCTION(_sk_clamp_1_sse2)
+_sk_clamp_1_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  232,0,0,0,0                         // call          2010 <_sk_clamp_1_sse2+0xb>
+  .byte  88                                  // pop           %eax
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  15,40,160,80,231,0,0                // movaps        0xe750(%eax),%xmm4
+  .byte  15,93,196                           // minps         %xmm4,%xmm0
+  .byte  15,93,204                           // minps         %xmm4,%xmm1
+  .byte  15,93,212                           // minps         %xmm4,%xmm2
+  .byte  15,93,220                           // minps         %xmm4,%xmm3
+  .byte  141,65,4                            // lea           0x4(%ecx),%eax
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  80                                  // push          %eax
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,17                              // call          *(%ecx)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_clamp_a_sse2
+.globl _sk_clamp_a_sse2
+FUNCTION(_sk_clamp_a_sse2)
+_sk_clamp_a_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  232,0,0,0,0                         // call          2043 <_sk_clamp_a_sse2+0xb>
+  .byte  88                                  // pop           %eax
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  15,93,152,29,231,0,0                // minps         0xe71d(%eax),%xmm3
+  .byte  15,93,195                           // minps         %xmm3,%xmm0
+  .byte  15,93,203                           // minps         %xmm3,%xmm1
+  .byte  15,93,211                           // minps         %xmm3,%xmm2
+  .byte  141,65,4                            // lea           0x4(%ecx),%eax
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  80                                  // push          %eax
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,17                              // call          *(%ecx)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_clamp_a_dst_sse2
+.globl _sk_clamp_a_dst_sse2
+FUNCTION(_sk_clamp_a_dst_sse2)
+_sk_clamp_a_dst_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  232,0,0,0,0                         // call          2073 <_sk_clamp_a_dst_sse2+0xb>
+  .byte  88                                  // pop           %eax
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  139,85,8                            // mov           0x8(%ebp),%edx
+  .byte  15,40,98,64                         // movaps        0x40(%edx),%xmm4
+  .byte  15,93,160,237,230,0,0               // minps         0xe6ed(%eax),%xmm4
+  .byte  15,41,98,64                         // movaps        %xmm4,0x40(%edx)
+  .byte  15,40,106,16                        // movaps        0x10(%edx),%xmm5
+  .byte  15,40,114,32                        // movaps        0x20(%edx),%xmm6
+  .byte  15,93,236                           // minps         %xmm4,%xmm5
+  .byte  15,41,106,16                        // movaps        %xmm5,0x10(%edx)
+  .byte  15,93,244                           // minps         %xmm4,%xmm6
+  .byte  15,41,114,32                        // movaps        %xmm6,0x20(%edx)
+  .byte  15,40,106,48                        // movaps        0x30(%edx),%xmm5
+  .byte  15,93,236                           // minps         %xmm4,%xmm5
+  .byte  15,41,106,48                        // movaps        %xmm5,0x30(%edx)
+  .byte  141,65,4                            // lea           0x4(%ecx),%eax
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  80                                  // push          %eax
+  .byte  82                                  // push          %edx
+  .byte  255,17                              // call          *(%ecx)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_set_rgb_sse2
+.globl _sk_set_rgb_sse2
+FUNCTION(_sk_set_rgb_sse2)
+_sk_set_rgb_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  243,15,16,1                         // movss         (%ecx),%xmm0
+  .byte  243,15,16,73,4                      // movss         0x4(%ecx),%xmm1
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
+  .byte  243,15,16,81,8                      // movss         0x8(%ecx),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_swap_rb_sse2
+.globl _sk_swap_rb_sse2
+FUNCTION(_sk_swap_rb_sse2)
+_sk_swap_rb_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,224                           // movaps        %xmm0,%xmm4
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  141,72,4                            // lea           0x4(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,194                           // movaps        %xmm2,%xmm0
+  .byte  15,40,212                           // movaps        %xmm4,%xmm2
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,16                              // call          *(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_invert_sse2
+.globl _sk_invert_sse2
+FUNCTION(_sk_invert_sse2)
+_sk_invert_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  232,0,0,0,0                         // call          211e <_sk_invert_sse2+0xb>
+  .byte  88                                  // pop           %eax
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  15,40,160,66,230,0,0                // movaps        0xe642(%eax),%xmm4
+  .byte  15,40,236                           // movaps        %xmm4,%xmm5
+  .byte  15,92,232                           // subps         %xmm0,%xmm5
+  .byte  15,40,244                           // movaps        %xmm4,%xmm6
+  .byte  15,92,241                           // subps         %xmm1,%xmm6
+  .byte  15,40,252                           // movaps        %xmm4,%xmm7
+  .byte  15,92,250                           // subps         %xmm2,%xmm7
+  .byte  15,92,227                           // subps         %xmm3,%xmm4
+  .byte  141,65,4                            // lea           0x4(%ecx),%eax
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,197                           // movaps        %xmm5,%xmm0
+  .byte  15,40,206                           // movaps        %xmm6,%xmm1
+  .byte  15,40,215                           // movaps        %xmm7,%xmm2
+  .byte  15,40,220                           // movaps        %xmm4,%xmm3
+  .byte  80                                  // push          %eax
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,17                              // call          *(%ecx)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_move_src_dst_sse2
+.globl _sk_move_src_dst_sse2
+FUNCTION(_sk_move_src_dst_sse2)
+_sk_move_src_dst_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  15,41,65,16                         // movaps        %xmm0,0x10(%ecx)
+  .byte  15,41,73,32                         // movaps        %xmm1,0x20(%ecx)
+  .byte  15,41,81,48                         // movaps        %xmm2,0x30(%ecx)
+  .byte  15,41,89,64                         // movaps        %xmm3,0x40(%ecx)
+  .byte  141,80,4                            // lea           0x4(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,16                              // call          *(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_move_dst_src_sse2
+.globl _sk_move_dst_src_sse2
+FUNCTION(_sk_move_dst_src_sse2)
+_sk_move_dst_src_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  15,40,65,16                         // movaps        0x10(%ecx),%xmm0
+  .byte  15,40,73,32                         // movaps        0x20(%ecx),%xmm1
+  .byte  15,40,81,48                         // movaps        0x30(%ecx),%xmm2
+  .byte  15,40,89,64                         // movaps        0x40(%ecx),%xmm3
+  .byte  141,80,4                            // lea           0x4(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,16                              // call          *(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_premul_sse2
+.globl _sk_premul_sse2
+FUNCTION(_sk_premul_sse2)
+_sk_premul_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  15,89,203                           // mulps         %xmm3,%xmm1
+  .byte  15,89,211                           // mulps         %xmm3,%xmm2
+  .byte  141,72,4                            // lea           0x4(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,16                              // call          *(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_premul_dst_sse2
+.globl _sk_premul_dst_sse2
+FUNCTION(_sk_premul_dst_sse2)
+_sk_premul_dst_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  15,40,97,64                         // movaps        0x40(%ecx),%xmm4
+  .byte  15,40,105,16                        // movaps        0x10(%ecx),%xmm5
+  .byte  15,89,236                           // mulps         %xmm4,%xmm5
+  .byte  15,41,105,16                        // movaps        %xmm5,0x10(%ecx)
+  .byte  15,40,105,32                        // movaps        0x20(%ecx),%xmm5
+  .byte  15,89,236                           // mulps         %xmm4,%xmm5
+  .byte  15,41,105,32                        // movaps        %xmm5,0x20(%ecx)
+  .byte  15,89,97,48                         // mulps         0x30(%ecx),%xmm4
+  .byte  15,41,97,48                         // movaps        %xmm4,0x30(%ecx)
+  .byte  141,80,4                            // lea           0x4(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,16                              // call          *(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_unpremul_sse2
+.globl _sk_unpremul_sse2
+FUNCTION(_sk_unpremul_sse2)
+_sk_unpremul_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  232,0,0,0,0                         // call          221c <_sk_unpremul_sse2+0xb>
+  .byte  88                                  // pop           %eax
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  15,40,160,68,229,0,0                // movaps        0xe544(%eax),%xmm4
+  .byte  15,94,227                           // divps         %xmm3,%xmm4
+  .byte  15,40,236                           // movaps        %xmm4,%xmm5
+  .byte  15,194,168,36,230,0,0,1             // cmpltps       0xe624(%eax),%xmm5
+  .byte  15,84,236                           // andps         %xmm4,%xmm5
+  .byte  15,89,197                           // mulps         %xmm5,%xmm0
+  .byte  15,89,205                           // mulps         %xmm5,%xmm1
+  .byte  15,89,213                           // mulps         %xmm5,%xmm2
+  .byte  141,65,4                            // lea           0x4(%ecx),%eax
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  80                                  // push          %eax
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,17                              // call          *(%ecx)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_force_opaque_sse2
+.globl _sk_force_opaque_sse2
+FUNCTION(_sk_force_opaque_sse2)
+_sk_force_opaque_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  232,0,0,0,0                         // call          225d <_sk_force_opaque_sse2+0xb>
+  .byte  88                                  // pop           %eax
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  141,81,4                            // lea           0x4(%ecx),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,152,3,229,0,0                 // movaps        0xe503(%eax),%xmm3
+  .byte  82                                  // push          %edx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,17                              // call          *(%ecx)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_force_opaque_dst_sse2
+.globl _sk_force_opaque_dst_sse2
+FUNCTION(_sk_force_opaque_dst_sse2)
+_sk_force_opaque_dst_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  232,0,0,0,0                         // call          2284 <_sk_force_opaque_dst_sse2+0xb>
+  .byte  88                                  // pop           %eax
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  139,85,8                            // mov           0x8(%ebp),%edx
+  .byte  15,40,160,220,228,0,0               // movaps        0xe4dc(%eax),%xmm4
+  .byte  15,41,98,64                         // movaps        %xmm4,0x40(%edx)
+  .byte  141,65,4                            // lea           0x4(%ecx),%eax
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  80                                  // push          %eax
+  .byte  82                                  // push          %edx
+  .byte  255,17                              // call          *(%ecx)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_from_srgb_sse2
+.globl _sk_from_srgb_sse2
+FUNCTION(_sk_from_srgb_sse2)
+_sk_from_srgb_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,56                          // sub           $0x38,%esp
+  .byte  15,41,93,200                        // movaps        %xmm3,-0x38(%ebp)
+  .byte  15,40,234                           // movaps        %xmm2,%xmm5
+  .byte  15,40,217                           // movaps        %xmm1,%xmm3
+  .byte  15,40,208                           // movaps        %xmm0,%xmm2
+  .byte  232,0,0,0,0                         // call          22bd <_sk_from_srgb_sse2+0x18>
+  .byte  88                                  // pop           %eax
+  .byte  15,40,202                           // movaps        %xmm2,%xmm1
+  .byte  15,89,201                           // mulps         %xmm1,%xmm1
+  .byte  15,40,160,51,229,0,0                // movaps        0xe533(%eax),%xmm4
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  15,40,176,163,229,0,0               // movaps        0xe5a3(%eax),%xmm6
+  .byte  15,41,117,216                       // movaps        %xmm6,-0x28(%ebp)
+  .byte  15,88,198                           // addps         %xmm6,%xmm0
+  .byte  15,89,193                           // mulps         %xmm1,%xmm0
+  .byte  15,40,176,147,229,0,0               // movaps        0xe593(%eax),%xmm6
+  .byte  15,40,202                           // movaps        %xmm2,%xmm1
+  .byte  15,89,206                           // mulps         %xmm6,%xmm1
+  .byte  15,40,184,179,229,0,0               // movaps        0xe5b3(%eax),%xmm7
+  .byte  15,41,125,232                       // movaps        %xmm7,-0x18(%ebp)
+  .byte  15,88,199                           // addps         %xmm7,%xmm0
+  .byte  15,40,184,195,229,0,0               // movaps        0xe5c3(%eax),%xmm7
+  .byte  15,194,215,1                        // cmpltps       %xmm7,%xmm2
+  .byte  15,84,202                           // andps         %xmm2,%xmm1
+  .byte  15,85,208                           // andnps        %xmm0,%xmm2
+  .byte  15,86,209                           // orps          %xmm1,%xmm2
+  .byte  15,40,195                           // movaps        %xmm3,%xmm0
+  .byte  15,89,192                           // mulps         %xmm0,%xmm0
+  .byte  15,40,203                           // movaps        %xmm3,%xmm1
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  15,88,77,216                        // addps         -0x28(%ebp),%xmm1
+  .byte  15,89,200                           // mulps         %xmm0,%xmm1
+  .byte  15,40,195                           // movaps        %xmm3,%xmm0
+  .byte  15,89,198                           // mulps         %xmm6,%xmm0
+  .byte  15,88,77,232                        // addps         -0x18(%ebp),%xmm1
+  .byte  15,194,223,1                        // cmpltps       %xmm7,%xmm3
+  .byte  15,84,195                           // andps         %xmm3,%xmm0
+  .byte  15,85,217                           // andnps        %xmm1,%xmm3
+  .byte  15,86,216                           // orps          %xmm0,%xmm3
+  .byte  15,89,229                           // mulps         %xmm5,%xmm4
+  .byte  15,88,101,216                       // addps         -0x28(%ebp),%xmm4
+  .byte  15,40,197                           // movaps        %xmm5,%xmm0
+  .byte  15,89,192                           // mulps         %xmm0,%xmm0
+  .byte  15,89,224                           // mulps         %xmm0,%xmm4
+  .byte  15,88,101,232                       // addps         -0x18(%ebp),%xmm4
+  .byte  15,89,245                           // mulps         %xmm5,%xmm6
+  .byte  15,194,239,1                        // cmpltps       %xmm7,%xmm5
+  .byte  15,84,245                           // andps         %xmm5,%xmm6
+  .byte  15,85,236                           // andnps        %xmm4,%xmm5
+  .byte  15,86,238                           // orps          %xmm6,%xmm5
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  141,72,4                            // lea           0x4(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,194                           // movaps        %xmm2,%xmm0
+  .byte  15,40,203                           // movaps        %xmm3,%xmm1
+  .byte  15,40,213                           // movaps        %xmm5,%xmm2
+  .byte  15,40,93,200                        // movaps        -0x38(%ebp),%xmm3
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,16                              // call          *(%eax)
+  .byte  131,196,72                          // add           $0x48,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_from_srgb_dst_sse2
+.globl _sk_from_srgb_dst_sse2
+FUNCTION(_sk_from_srgb_dst_sse2)
+_sk_from_srgb_dst_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,72                          // sub           $0x48,%esp
+  .byte  15,41,93,184                        // movaps        %xmm3,-0x48(%ebp)
+  .byte  15,41,85,200                        // movaps        %xmm2,-0x38(%ebp)
+  .byte  15,41,77,216                        // movaps        %xmm1,-0x28(%ebp)
+  .byte  15,41,69,232                        // movaps        %xmm0,-0x18(%ebp)
+  .byte  232,0,0,0,0                         // call          2398 <_sk_from_srgb_dst_sse2+0x1b>
+  .byte  89                                  // pop           %ecx
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  15,40,72,16                         // movaps        0x10(%eax),%xmm1
+  .byte  15,40,233                           // movaps        %xmm1,%xmm5
+  .byte  15,89,237                           // mulps         %xmm5,%xmm5
+  .byte  15,40,161,88,228,0,0                // movaps        0xe458(%ecx),%xmm4
+  .byte  15,40,193                           // movaps        %xmm1,%xmm0
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  15,40,177,200,228,0,0               // movaps        0xe4c8(%ecx),%xmm6
+  .byte  15,88,198                           // addps         %xmm6,%xmm0
+  .byte  15,89,197                           // mulps         %xmm5,%xmm0
+  .byte  15,40,169,184,228,0,0               // movaps        0xe4b8(%ecx),%xmm5
+  .byte  15,40,209                           // movaps        %xmm1,%xmm2
+  .byte  15,89,213                           // mulps         %xmm5,%xmm2
+  .byte  15,40,185,216,228,0,0               // movaps        0xe4d8(%ecx),%xmm7
+  .byte  15,88,199                           // addps         %xmm7,%xmm0
+  .byte  15,40,153,232,228,0,0               // movaps        0xe4e8(%ecx),%xmm3
+  .byte  15,194,203,1                        // cmpltps       %xmm3,%xmm1
+  .byte  15,84,209                           // andps         %xmm1,%xmm2
+  .byte  15,85,200                           // andnps        %xmm0,%xmm1
+  .byte  15,86,202                           // orps          %xmm2,%xmm1
+  .byte  15,40,64,32                         // movaps        0x20(%eax),%xmm0
+  .byte  15,41,72,16                         // movaps        %xmm1,0x10(%eax)
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  15,89,201                           // mulps         %xmm1,%xmm1
+  .byte  15,40,208                           // movaps        %xmm0,%xmm2
+  .byte  15,89,212                           // mulps         %xmm4,%xmm2
+  .byte  15,88,214                           // addps         %xmm6,%xmm2
+  .byte  15,89,209                           // mulps         %xmm1,%xmm2
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  15,89,205                           // mulps         %xmm5,%xmm1
+  .byte  15,88,215                           // addps         %xmm7,%xmm2
+  .byte  15,194,195,1                        // cmpltps       %xmm3,%xmm0
+  .byte  15,84,200                           // andps         %xmm0,%xmm1
+  .byte  15,85,194                           // andnps        %xmm2,%xmm0
+  .byte  15,86,193                           // orps          %xmm1,%xmm0
+  .byte  15,41,64,32                         // movaps        %xmm0,0x20(%eax)
+  .byte  15,40,64,48                         // movaps        0x30(%eax),%xmm0
+  .byte  15,89,224                           // mulps         %xmm0,%xmm4
+  .byte  15,88,230                           // addps         %xmm6,%xmm4
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  15,89,201                           // mulps         %xmm1,%xmm1
+  .byte  15,89,225                           // mulps         %xmm1,%xmm4
+  .byte  15,88,231                           // addps         %xmm7,%xmm4
+  .byte  15,89,232                           // mulps         %xmm0,%xmm5
+  .byte  15,194,195,1                        // cmpltps       %xmm3,%xmm0
+  .byte  15,84,232                           // andps         %xmm0,%xmm5
+  .byte  15,85,196                           // andnps        %xmm4,%xmm0
+  .byte  15,86,197                           // orps          %xmm5,%xmm0
+  .byte  15,41,64,48                         // movaps        %xmm0,0x30(%eax)
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  141,81,4                            // lea           0x4(%ecx),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,69,232                        // movaps        -0x18(%ebp),%xmm0
+  .byte  15,40,77,216                        // movaps        -0x28(%ebp),%xmm1
+  .byte  15,40,85,200                        // movaps        -0x38(%ebp),%xmm2
+  .byte  15,40,93,184                        // movaps        -0x48(%ebp),%xmm3
+  .byte  82                                  // push          %edx
+  .byte  80                                  // push          %eax
+  .byte  255,17                              // call          *(%ecx)
+  .byte  131,196,88                          // add           $0x58,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_to_srgb_sse2
+.globl _sk_to_srgb_sse2
+FUNCTION(_sk_to_srgb_sse2)
+_sk_to_srgb_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,72                          // sub           $0x48,%esp
+  .byte  15,41,93,184                        // movaps        %xmm3,-0x48(%ebp)
+  .byte  15,40,250                           // movaps        %xmm2,%xmm7
+  .byte  15,40,241                           // movaps        %xmm1,%xmm6
+  .byte  15,40,208                           // movaps        %xmm0,%xmm2
+  .byte  232,0,0,0,0                         // call          2483 <_sk_to_srgb_sse2+0x18>
+  .byte  88                                  // pop           %eax
+  .byte  15,82,218                           // rsqrtps       %xmm2,%xmm3
+  .byte  15,40,160,29,228,0,0                // movaps        0xe41d(%eax),%xmm4
+  .byte  15,40,235                           // movaps        %xmm3,%xmm5
+  .byte  15,89,236                           // mulps         %xmm4,%xmm5
+  .byte  15,40,128,45,228,0,0                // movaps        0xe42d(%eax),%xmm0
+  .byte  15,41,69,232                        // movaps        %xmm0,-0x18(%ebp)
+  .byte  15,88,232                           // addps         %xmm0,%xmm5
+  .byte  15,89,235                           // mulps         %xmm3,%xmm5
+  .byte  15,40,128,61,228,0,0                // movaps        0xe43d(%eax),%xmm0
+  .byte  15,41,69,200                        // movaps        %xmm0,-0x38(%ebp)
+  .byte  15,88,232                           // addps         %xmm0,%xmm5
+  .byte  15,40,128,77,228,0,0                // movaps        0xe44d(%eax),%xmm0
+  .byte  15,41,69,216                        // movaps        %xmm0,-0x28(%ebp)
+  .byte  15,88,216                           // addps         %xmm0,%xmm3
+  .byte  15,83,195                           // rcpps         %xmm3,%xmm0
+  .byte  15,89,197                           // mulps         %xmm5,%xmm0
+  .byte  15,40,168,13,228,0,0                // movaps        0xe40d(%eax),%xmm5
+  .byte  15,40,202                           // movaps        %xmm2,%xmm1
+  .byte  15,89,205                           // mulps         %xmm5,%xmm1
+  .byte  15,40,152,93,228,0,0                // movaps        0xe45d(%eax),%xmm3
+  .byte  15,194,211,1                        // cmpltps       %xmm3,%xmm2
+  .byte  15,84,202                           // andps         %xmm2,%xmm1
+  .byte  15,85,208                           // andnps        %xmm0,%xmm2
+  .byte  15,86,209                           // orps          %xmm1,%xmm2
+  .byte  15,82,198                           // rsqrtps       %xmm6,%xmm0
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  15,88,77,232                        // addps         -0x18(%ebp),%xmm1
+  .byte  15,89,200                           // mulps         %xmm0,%xmm1
+  .byte  15,88,77,200                        // addps         -0x38(%ebp),%xmm1
+  .byte  15,88,69,216                        // addps         -0x28(%ebp),%xmm0
+  .byte  15,83,192                           // rcpps         %xmm0,%xmm0
+  .byte  15,89,193                           // mulps         %xmm1,%xmm0
+  .byte  15,40,206                           // movaps        %xmm6,%xmm1
+  .byte  15,89,205                           // mulps         %xmm5,%xmm1
+  .byte  15,194,243,1                        // cmpltps       %xmm3,%xmm6
+  .byte  15,84,206                           // andps         %xmm6,%xmm1
+  .byte  15,85,240                           // andnps        %xmm0,%xmm6
+  .byte  15,86,241                           // orps          %xmm1,%xmm6
+  .byte  15,82,199                           // rsqrtps       %xmm7,%xmm0
+  .byte  15,89,224                           // mulps         %xmm0,%xmm4
+  .byte  15,88,101,232                       // addps         -0x18(%ebp),%xmm4
+  .byte  15,89,224                           // mulps         %xmm0,%xmm4
+  .byte  15,88,101,200                       // addps         -0x38(%ebp),%xmm4
+  .byte  15,88,69,216                        // addps         -0x28(%ebp),%xmm0
+  .byte  15,83,192                           // rcpps         %xmm0,%xmm0
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  15,89,239                           // mulps         %xmm7,%xmm5
+  .byte  15,194,251,1                        // cmpltps       %xmm3,%xmm7
+  .byte  15,84,239                           // andps         %xmm7,%xmm5
+  .byte  15,85,248                           // andnps        %xmm0,%xmm7
+  .byte  15,86,253                           // orps          %xmm5,%xmm7
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  141,72,4                            // lea           0x4(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,194                           // movaps        %xmm2,%xmm0
+  .byte  15,40,206                           // movaps        %xmm6,%xmm1
+  .byte  15,40,215                           // movaps        %xmm7,%xmm2
+  .byte  15,40,93,184                        // movaps        -0x48(%ebp),%xmm3
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,16                              // call          *(%eax)
+  .byte  131,196,88                          // add           $0x58,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_rgb_to_hsl_sse2
+.globl _sk_rgb_to_hsl_sse2
+FUNCTION(_sk_rgb_to_hsl_sse2)
+_sk_rgb_to_hsl_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,56                          // sub           $0x38,%esp
+  .byte  15,41,93,200                        // movaps        %xmm3,-0x38(%ebp)
+  .byte  15,40,249                           // movaps        %xmm1,%xmm7
+  .byte  15,40,224                           // movaps        %xmm0,%xmm4
+  .byte  232,0,0,0,0                         // call          257a <_sk_rgb_to_hsl_sse2+0x15>
+  .byte  88                                  // pop           %eax
+  .byte  15,40,199                           // movaps        %xmm7,%xmm0
+  .byte  15,95,194                           // maxps         %xmm2,%xmm0
+  .byte  15,40,220                           // movaps        %xmm4,%xmm3
+  .byte  15,95,216                           // maxps         %xmm0,%xmm3
+  .byte  15,40,199                           // movaps        %xmm7,%xmm0
+  .byte  15,93,194                           // minps         %xmm2,%xmm0
+  .byte  15,40,204                           // movaps        %xmm4,%xmm1
+  .byte  15,93,200                           // minps         %xmm0,%xmm1
+  .byte  15,41,77,232                        // movaps        %xmm1,-0x18(%ebp)
+  .byte  15,40,195                           // movaps        %xmm3,%xmm0
+  .byte  15,92,193                           // subps         %xmm1,%xmm0
+  .byte  15,41,69,216                        // movaps        %xmm0,-0x28(%ebp)
+  .byte  15,40,136,230,225,0,0               // movaps        0xe1e6(%eax),%xmm1
+  .byte  15,94,200                           // divps         %xmm0,%xmm1
+  .byte  15,40,199                           // movaps        %xmm7,%xmm0
+  .byte  15,92,194                           // subps         %xmm2,%xmm0
+  .byte  15,89,193                           // mulps         %xmm1,%xmm0
+  .byte  15,40,239                           // movaps        %xmm7,%xmm5
+  .byte  15,194,234,1                        // cmpltps       %xmm2,%xmm5
+  .byte  15,84,168,118,227,0,0               // andps         0xe376(%eax),%xmm5
+  .byte  15,88,232                           // addps         %xmm0,%xmm5
+  .byte  15,40,195                           // movaps        %xmm3,%xmm0
+  .byte  15,194,196,0                        // cmpeqps       %xmm4,%xmm0
+  .byte  15,40,243                           // movaps        %xmm3,%xmm6
+  .byte  15,194,247,0                        // cmpeqps       %xmm7,%xmm6
+  .byte  15,92,212                           // subps         %xmm4,%xmm2
+  .byte  15,92,231                           // subps         %xmm7,%xmm4
+  .byte  15,89,209                           // mulps         %xmm1,%xmm2
+  .byte  15,89,225                           // mulps         %xmm1,%xmm4
+  .byte  15,40,136,134,227,0,0               // movaps        0xe386(%eax),%xmm1
+  .byte  15,88,209                           // addps         %xmm1,%xmm2
+  .byte  15,88,160,150,227,0,0               // addps         0xe396(%eax),%xmm4
+  .byte  15,84,214                           // andps         %xmm6,%xmm2
+  .byte  15,85,244                           // andnps        %xmm4,%xmm6
+  .byte  15,86,242                           // orps          %xmm2,%xmm6
+  .byte  15,84,232                           // andps         %xmm0,%xmm5
+  .byte  15,85,198                           // andnps        %xmm6,%xmm0
+  .byte  15,86,197                           // orps          %xmm5,%xmm0
+  .byte  15,40,227                           // movaps        %xmm3,%xmm4
+  .byte  15,40,85,232                        // movaps        -0x18(%ebp),%xmm2
+  .byte  15,194,226,4                        // cmpneqps      %xmm2,%xmm4
+  .byte  15,92,203                           // subps         %xmm3,%xmm1
+  .byte  15,88,218                           // addps         %xmm2,%xmm3
+  .byte  15,40,168,214,225,0,0               // movaps        0xe1d6(%eax),%xmm5
+  .byte  15,92,202                           // subps         %xmm2,%xmm1
+  .byte  15,40,211                           // movaps        %xmm3,%xmm2
+  .byte  15,89,213                           // mulps         %xmm5,%xmm2
+  .byte  15,194,234,1                        // cmpltps       %xmm2,%xmm5
+  .byte  15,84,205                           // andps         %xmm5,%xmm1
+  .byte  15,85,235                           // andnps        %xmm3,%xmm5
+  .byte  15,86,233                           // orps          %xmm1,%xmm5
+  .byte  15,40,77,216                        // movaps        -0x28(%ebp),%xmm1
+  .byte  15,94,205                           // divps         %xmm5,%xmm1
+  .byte  15,89,128,166,227,0,0               // mulps         0xe3a6(%eax),%xmm0
+  .byte  15,84,196                           // andps         %xmm4,%xmm0
+  .byte  15,84,204                           // andps         %xmm4,%xmm1
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  141,72,4                            // lea           0x4(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,93,200                        // movaps        -0x38(%ebp),%xmm3
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,16                              // call          *(%eax)
+  .byte  131,196,72                          // add           $0x48,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_hsl_to_rgb_sse2
+.globl _sk_hsl_to_rgb_sse2
+FUNCTION(_sk_hsl_to_rgb_sse2)
+_sk_hsl_to_rgb_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  129,236,200,0,0,0                   // sub           $0xc8,%esp
+  .byte  15,41,157,56,255,255,255            // movaps        %xmm3,-0xc8(%ebp)
+  .byte  15,41,69,184                        // movaps        %xmm0,-0x48(%ebp)
+  .byte  232,0,0,0,0                         // call          2675 <_sk_hsl_to_rgb_sse2+0x19>
+  .byte  88                                  // pop           %eax
+  .byte  15,40,160,219,224,0,0               // movaps        0xe0db(%eax),%xmm4
+  .byte  15,40,220                           // movaps        %xmm4,%xmm3
+  .byte  15,41,165,104,255,255,255           // movaps        %xmm4,-0x98(%ebp)
+  .byte  15,194,218,2                        // cmpleps       %xmm2,%xmm3
+  .byte  15,40,241                           // movaps        %xmm1,%xmm6
+  .byte  15,87,237                           // xorps         %xmm5,%xmm5
+  .byte  15,194,233,0                        // cmpeqps       %xmm1,%xmm5
+  .byte  15,41,109,232                       // movaps        %xmm5,-0x18(%ebp)
+  .byte  15,89,202                           // mulps         %xmm2,%xmm1
+  .byte  15,92,241                           // subps         %xmm1,%xmm6
+  .byte  15,84,243                           // andps         %xmm3,%xmm6
+  .byte  15,85,217                           // andnps        %xmm1,%xmm3
+  .byte  15,86,222                           // orps          %xmm6,%xmm3
+  .byte  15,40,168,187,226,0,0               // movaps        0xe2bb(%eax),%xmm5
+  .byte  15,88,232                           // addps         %xmm0,%xmm5
+  .byte  243,15,91,205                       // cvttps2dq     %xmm5,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  15,40,197                           // movaps        %xmm5,%xmm0
+  .byte  15,194,193,1                        // cmpltps       %xmm1,%xmm0
+  .byte  15,40,176,235,224,0,0               // movaps        0xe0eb(%eax),%xmm6
+  .byte  15,41,117,136                       // movaps        %xmm6,-0x78(%ebp)
+  .byte  15,84,198                           // andps         %xmm6,%xmm0
+  .byte  15,92,200                           // subps         %xmm0,%xmm1
+  .byte  15,92,233                           // subps         %xmm1,%xmm5
+  .byte  15,41,149,72,255,255,255            // movaps        %xmm2,-0xb8(%ebp)
+  .byte  15,88,218                           // addps         %xmm2,%xmm3
+  .byte  15,41,93,216                        // movaps        %xmm3,-0x28(%ebp)
+  .byte  15,88,210                           // addps         %xmm2,%xmm2
+  .byte  15,92,211                           // subps         %xmm3,%xmm2
+  .byte  15,40,184,203,226,0,0               // movaps        0xe2cb(%eax),%xmm7
+  .byte  15,41,189,88,255,255,255            // movaps        %xmm7,-0xa8(%ebp)
+  .byte  15,194,253,2                        // cmpleps       %xmm5,%xmm7
+  .byte  15,92,218                           // subps         %xmm2,%xmm3
+  .byte  15,41,93,200                        // movaps        %xmm3,-0x38(%ebp)
+  .byte  15,40,204                           // movaps        %xmm4,%xmm1
+  .byte  15,194,205,2                        // cmpleps       %xmm5,%xmm1
+  .byte  15,40,160,171,226,0,0               // movaps        0xe2ab(%eax),%xmm4
+  .byte  15,41,165,120,255,255,255           // movaps        %xmm4,-0x88(%ebp)
+  .byte  15,194,229,2                        // cmpleps       %xmm5,%xmm4
+  .byte  15,40,176,123,226,0,0               // movaps        0xe27b(%eax),%xmm6
+  .byte  15,89,238                           // mulps         %xmm6,%xmm5
+  .byte  15,40,128,155,226,0,0               // movaps        0xe29b(%eax),%xmm0
+  .byte  15,41,69,168                        // movaps        %xmm0,-0x58(%ebp)
+  .byte  15,92,197                           // subps         %xmm5,%xmm0
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  15,88,194                           // addps         %xmm2,%xmm0
+  .byte  15,40,218                           // movaps        %xmm2,%xmm3
+  .byte  15,84,223                           // andps         %xmm7,%xmm3
+  .byte  15,85,248                           // andnps        %xmm0,%xmm7
+  .byte  15,86,251                           // orps          %xmm3,%xmm7
+  .byte  15,84,249                           // andps         %xmm1,%xmm7
+  .byte  15,85,77,216                        // andnps        -0x28(%ebp),%xmm1
+  .byte  15,86,207                           // orps          %xmm7,%xmm1
+  .byte  15,40,125,200                       // movaps        -0x38(%ebp),%xmm7
+  .byte  15,89,239                           // mulps         %xmm7,%xmm5
+  .byte  15,88,234                           // addps         %xmm2,%xmm5
+  .byte  15,84,204                           // andps         %xmm4,%xmm1
+  .byte  15,85,229                           // andnps        %xmm5,%xmm4
+  .byte  15,86,225                           // orps          %xmm1,%xmm4
+  .byte  15,40,69,232                        // movaps        -0x18(%ebp),%xmm0
+  .byte  15,85,196                           // andnps        %xmm4,%xmm0
+  .byte  15,41,69,152                        // movaps        %xmm0,-0x68(%ebp)
+  .byte  15,40,93,184                        // movaps        -0x48(%ebp),%xmm3
+  .byte  243,15,91,195                       // cvttps2dq     %xmm3,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  15,40,203                           // movaps        %xmm3,%xmm1
+  .byte  15,194,200,1                        // cmpltps       %xmm0,%xmm1
+  .byte  15,84,136,235,224,0,0               // andps         0xe0eb(%eax),%xmm1
+  .byte  15,92,193                           // subps         %xmm1,%xmm0
+  .byte  15,40,203                           // movaps        %xmm3,%xmm1
+  .byte  15,92,200                           // subps         %xmm0,%xmm1
+  .byte  15,40,128,203,226,0,0               // movaps        0xe2cb(%eax),%xmm0
+  .byte  15,194,193,2                        // cmpleps       %xmm1,%xmm0
+  .byte  15,40,152,219,224,0,0               // movaps        0xe0db(%eax),%xmm3
+  .byte  15,194,217,2                        // cmpleps       %xmm1,%xmm3
+  .byte  15,40,160,171,226,0,0               // movaps        0xe2ab(%eax),%xmm4
+  .byte  15,194,225,2                        // cmpleps       %xmm1,%xmm4
+  .byte  15,89,206                           // mulps         %xmm6,%xmm1
+  .byte  15,40,168,155,226,0,0               // movaps        0xe29b(%eax),%xmm5
+  .byte  15,92,233                           // subps         %xmm1,%xmm5
+  .byte  15,89,239                           // mulps         %xmm7,%xmm5
+  .byte  15,88,234                           // addps         %xmm2,%xmm5
+  .byte  15,40,250                           // movaps        %xmm2,%xmm7
+  .byte  15,84,248                           // andps         %xmm0,%xmm7
+  .byte  15,85,197                           // andnps        %xmm5,%xmm0
+  .byte  15,86,199                           // orps          %xmm7,%xmm0
+  .byte  15,84,195                           // andps         %xmm3,%xmm0
+  .byte  15,85,93,216                        // andnps        -0x28(%ebp),%xmm3
+  .byte  15,86,216                           // orps          %xmm0,%xmm3
+  .byte  15,40,109,200                       // movaps        -0x38(%ebp),%xmm5
+  .byte  15,89,205                           // mulps         %xmm5,%xmm1
+  .byte  15,88,202                           // addps         %xmm2,%xmm1
+  .byte  15,84,220                           // andps         %xmm4,%xmm3
+  .byte  15,85,225                           // andnps        %xmm1,%xmm4
+  .byte  15,86,227                           // orps          %xmm3,%xmm4
+  .byte  15,40,125,232                       // movaps        -0x18(%ebp),%xmm7
+  .byte  15,85,252                           // andnps        %xmm4,%xmm7
+  .byte  15,40,93,184                        // movaps        -0x48(%ebp),%xmm3
+  .byte  15,88,152,219,226,0,0               // addps         0xe2db(%eax),%xmm3
+  .byte  243,15,91,195                       // cvttps2dq     %xmm3,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  15,40,203                           // movaps        %xmm3,%xmm1
+  .byte  15,194,200,1                        // cmpltps       %xmm0,%xmm1
+  .byte  15,84,77,136                        // andps         -0x78(%ebp),%xmm1
+  .byte  15,92,193                           // subps         %xmm1,%xmm0
+  .byte  15,92,216                           // subps         %xmm0,%xmm3
+  .byte  15,89,243                           // mulps         %xmm3,%xmm6
+  .byte  15,40,77,168                        // movaps        -0x58(%ebp),%xmm1
+  .byte  15,92,206                           // subps         %xmm6,%xmm1
+  .byte  15,89,205                           // mulps         %xmm5,%xmm1
+  .byte  15,40,225                           // movaps        %xmm1,%xmm4
+  .byte  15,89,245                           // mulps         %xmm5,%xmm6
+  .byte  15,88,226                           // addps         %xmm2,%xmm4
+  .byte  15,88,242                           // addps         %xmm2,%xmm6
+  .byte  15,40,141,88,255,255,255            // movaps        -0xa8(%ebp),%xmm1
+  .byte  15,194,203,2                        // cmpleps       %xmm3,%xmm1
+  .byte  15,84,209                           // andps         %xmm1,%xmm2
+  .byte  15,85,204                           // andnps        %xmm4,%xmm1
+  .byte  15,86,202                           // orps          %xmm2,%xmm1
+  .byte  15,40,133,104,255,255,255           // movaps        -0x98(%ebp),%xmm0
+  .byte  15,194,195,2                        // cmpleps       %xmm3,%xmm0
+  .byte  15,84,200                           // andps         %xmm0,%xmm1
+  .byte  15,85,69,216                        // andnps        -0x28(%ebp),%xmm0
+  .byte  15,86,193                           // orps          %xmm1,%xmm0
+  .byte  15,40,141,120,255,255,255           // movaps        -0x88(%ebp),%xmm1
+  .byte  15,194,203,2                        // cmpleps       %xmm3,%xmm1
+  .byte  15,84,193                           // andps         %xmm1,%xmm0
+  .byte  15,85,206                           // andnps        %xmm6,%xmm1
+  .byte  15,86,200                           // orps          %xmm0,%xmm1
+  .byte  15,40,209                           // movaps        %xmm1,%xmm2
+  .byte  15,40,157,72,255,255,255            // movaps        -0xb8(%ebp),%xmm3
+  .byte  15,40,77,232                        // movaps        -0x18(%ebp),%xmm1
+  .byte  15,84,217                           // andps         %xmm1,%xmm3
+  .byte  15,85,202                           // andnps        %xmm2,%xmm1
+  .byte  15,40,69,152                        // movaps        -0x68(%ebp),%xmm0
+  .byte  15,86,195                           // orps          %xmm3,%xmm0
+  .byte  15,86,251                           // orps          %xmm3,%xmm7
+  .byte  15,86,217                           // orps          %xmm1,%xmm3
+  .byte  15,40,211                           // movaps        %xmm3,%xmm2
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  141,72,4                            // lea           0x4(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,207                           // movaps        %xmm7,%xmm1
+  .byte  15,40,157,56,255,255,255            // movaps        -0xc8(%ebp),%xmm3
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,16                              // call          *(%eax)
+  .byte  129,196,216,0,0,0                   // add           $0xd8,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_scale_1_float_sse2
+.globl _sk_scale_1_float_sse2
+FUNCTION(_sk_scale_1_float_sse2)
+_sk_scale_1_float_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  243,15,16,33                        // movss         (%ecx),%xmm4
+  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  15,89,212                           // mulps         %xmm4,%xmm2
+  .byte  15,89,220                           // mulps         %xmm4,%xmm3
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_scale_u8_sse2
+.globl _sk_scale_u8_sse2
+FUNCTION(_sk_scale_u8_sse2)
+_sk_scale_u8_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,12                          // sub           $0xc,%esp
+  .byte  232,0,0,0,0                         // call          28ef <_sk_scale_u8_sse2+0xe>
+  .byte  90                                  // pop           %edx
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,56                              // mov           (%eax),%edi
+  .byte  139,119,4                           // mov           0x4(%edi),%esi
+  .byte  15,175,113,4                        // imul          0x4(%ecx),%esi
+  .byte  3,55                                // add           (%edi),%esi
+  .byte  139,89,8                            // mov           0x8(%ecx),%ebx
+  .byte  133,219                             // test          %ebx,%ebx
+  .byte  139,57                              // mov           (%ecx),%edi
+  .byte  117,65                              // jne           294b <_sk_scale_u8_sse2+0x6a>
+  .byte  102,15,110,36,62                    // movd          (%esi,%edi,1),%xmm4
+  .byte  102,15,96,224                       // punpcklbw     %xmm0,%xmm4
+  .byte  102,15,97,224                       // punpcklwd     %xmm0,%xmm4
+  .byte  102,15,219,162,49,223,0,0           // pand          0xdf31(%edx),%xmm4
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  15,89,162,113,224,0,0               // mulps         0xe071(%edx),%xmm4
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  15,89,212                           // mulps         %xmm4,%xmm2
+  .byte  15,89,227                           // mulps         %xmm3,%xmm4
+  .byte  141,80,8                            // lea           0x8(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,220                           // movaps        %xmm4,%xmm3
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,28                          // add           $0x1c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  128,227,3                           // and           $0x3,%bl
+  .byte  128,251,1                           // cmp           $0x1,%bl
+  .byte  116,50                              // je            2985 <_sk_scale_u8_sse2+0xa4>
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  128,251,2                           // cmp           $0x2,%bl
+  .byte  116,19                              // je            296f <_sk_scale_u8_sse2+0x8e>
+  .byte  128,251,3                           // cmp           $0x3,%bl
+  .byte  117,182                             // jne           2917 <_sk_scale_u8_sse2+0x36>
+  .byte  15,182,92,62,2                      // movzbl        0x2(%esi,%edi,1),%ebx
+  .byte  102,15,110,227                      // movd          %ebx,%xmm4
+  .byte  102,15,112,228,69                   // pshufd        $0x45,%xmm4,%xmm4
+  .byte  15,183,52,62                        // movzwl        (%esi,%edi,1),%esi
+  .byte  102,15,110,238                      // movd          %esi,%xmm5
+  .byte  102,15,96,232                       // punpcklbw     %xmm0,%xmm5
+  .byte  102,15,97,232                       // punpcklwd     %xmm0,%xmm5
+  .byte  242,15,16,229                       // movsd         %xmm5,%xmm4
+  .byte  235,146                             // jmp           2917 <_sk_scale_u8_sse2+0x36>
+  .byte  15,182,52,62                        // movzbl        (%esi,%edi,1),%esi
+  .byte  102,15,110,230                      // movd          %esi,%xmm4
+  .byte  235,136                             // jmp           2917 <_sk_scale_u8_sse2+0x36>
+
+HIDDEN _sk_scale_565_sse2
+.globl _sk_scale_565_sse2
+FUNCTION(_sk_scale_565_sse2)
+_sk_scale_565_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,44                          // sub           $0x2c,%esp
+  .byte  15,41,85,200                        // movaps        %xmm2,-0x38(%ebp)
+  .byte  15,41,77,216                        // movaps        %xmm1,-0x28(%ebp)
+  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
+  .byte  232,0,0,0,0                         // call          29a9 <_sk_scale_565_sse2+0x1a>
+  .byte  90                                  // pop           %edx
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,56                              // mov           (%eax),%edi
+  .byte  139,119,4                           // mov           0x4(%edi),%esi
+  .byte  15,175,113,4                        // imul          0x4(%ecx),%esi
+  .byte  1,246                               // add           %esi,%esi
+  .byte  3,55                                // add           (%edi),%esi
+  .byte  139,89,8                            // mov           0x8(%ecx),%ebx
+  .byte  133,219                             // test          %ebx,%ebx
+  .byte  139,57                              // mov           (%ecx),%edi
+  .byte  15,133,157,0,0,0                    // jne           2a67 <_sk_scale_565_sse2+0xd8>
+  .byte  243,15,126,52,126                   // movq          (%esi,%edi,2),%xmm6
+  .byte  102,15,97,240                       // punpcklwd     %xmm0,%xmm6
+  .byte  102,15,111,162,199,223,0,0          // movdqa        0xdfc7(%edx),%xmm4
+  .byte  102,15,219,230                      // pand          %xmm6,%xmm4
+  .byte  15,91,212                           // cvtdq2ps      %xmm4,%xmm2
+  .byte  15,89,146,215,223,0,0               // mulps         0xdfd7(%edx),%xmm2
+  .byte  102,15,111,170,231,223,0,0          // movdqa        0xdfe7(%edx),%xmm5
+  .byte  102,15,219,238                      // pand          %xmm6,%xmm5
+  .byte  15,91,237                           // cvtdq2ps      %xmm5,%xmm5
+  .byte  15,89,170,247,223,0,0               // mulps         0xdff7(%edx),%xmm5
+  .byte  102,15,219,178,7,224,0,0            // pand          0xe007(%edx),%xmm6
+  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
+  .byte  15,89,178,23,224,0,0                // mulps         0xe017(%edx),%xmm6
+  .byte  15,40,253                           // movaps        %xmm5,%xmm7
+  .byte  15,93,254                           // minps         %xmm6,%xmm7
+  .byte  15,40,226                           // movaps        %xmm2,%xmm4
+  .byte  15,93,231                           // minps         %xmm7,%xmm4
+  .byte  15,40,253                           // movaps        %xmm5,%xmm7
+  .byte  15,95,254                           // maxps         %xmm6,%xmm7
+  .byte  15,40,194                           // movaps        %xmm2,%xmm0
+  .byte  15,95,199                           // maxps         %xmm7,%xmm0
+  .byte  15,40,251                           // movaps        %xmm3,%xmm7
+  .byte  15,194,121,64,1                     // cmpltps       0x40(%ecx),%xmm7
+  .byte  15,84,231                           // andps         %xmm7,%xmm4
+  .byte  15,85,248                           // andnps        %xmm0,%xmm7
+  .byte  15,86,252                           // orps          %xmm4,%xmm7
+  .byte  15,89,209                           // mulps         %xmm1,%xmm2
+  .byte  15,89,109,216                       // mulps         -0x28(%ebp),%xmm5
+  .byte  15,89,117,200                       // mulps         -0x38(%ebp),%xmm6
+  .byte  15,89,251                           // mulps         %xmm3,%xmm7
+  .byte  141,80,8                            // lea           0x8(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,194                           // movaps        %xmm2,%xmm0
+  .byte  15,40,205                           // movaps        %xmm5,%xmm1
+  .byte  15,40,214                           // movaps        %xmm6,%xmm2
+  .byte  15,40,223                           // movaps        %xmm7,%xmm3
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,60                          // add           $0x3c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  128,227,3                           // and           $0x3,%bl
+  .byte  128,251,1                           // cmp           $0x1,%bl
+  .byte  116,51                              // je            2aa2 <_sk_scale_565_sse2+0x113>
+  .byte  102,15,239,246                      // pxor          %xmm6,%xmm6
+  .byte  128,251,2                           // cmp           $0x2,%bl
+  .byte  116,23                              // je            2a8f <_sk_scale_565_sse2+0x100>
+  .byte  128,251,3                           // cmp           $0x3,%bl
+  .byte  15,133,82,255,255,255               // jne           29d3 <_sk_scale_565_sse2+0x44>
+  .byte  15,183,92,126,4                     // movzwl        0x4(%esi,%edi,2),%ebx
+  .byte  102,15,110,227                      // movd          %ebx,%xmm4
+  .byte  102,15,112,244,69                   // pshufd        $0x45,%xmm4,%xmm6
+  .byte  102,15,110,36,126                   // movd          (%esi,%edi,2),%xmm4
+  .byte  242,15,112,228,212                  // pshuflw       $0xd4,%xmm4,%xmm4
+  .byte  242,15,16,244                       // movsd         %xmm4,%xmm6
+  .byte  233,49,255,255,255                  // jmp           29d3 <_sk_scale_565_sse2+0x44>
+  .byte  15,183,52,126                       // movzwl        (%esi,%edi,2),%esi
+  .byte  102,15,110,246                      // movd          %esi,%xmm6
+  .byte  233,36,255,255,255                  // jmp           29d3 <_sk_scale_565_sse2+0x44>
+
+HIDDEN _sk_lerp_1_float_sse2
+.globl _sk_lerp_1_float_sse2
+FUNCTION(_sk_lerp_1_float_sse2)
+_sk_lerp_1_float_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  139,17                              // mov           (%ecx),%edx
+  .byte  243,15,16,34                        // movss         (%edx),%xmm4
+  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
+  .byte  15,40,104,16                        // movaps        0x10(%eax),%xmm5
+  .byte  15,40,112,32                        // movaps        0x20(%eax),%xmm6
+  .byte  15,92,197                           // subps         %xmm5,%xmm0
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  15,88,197                           // addps         %xmm5,%xmm0
+  .byte  15,92,206                           // subps         %xmm6,%xmm1
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  15,88,206                           // addps         %xmm6,%xmm1
+  .byte  15,40,104,48                        // movaps        0x30(%eax),%xmm5
+  .byte  15,92,213                           // subps         %xmm5,%xmm2
+  .byte  15,89,212                           // mulps         %xmm4,%xmm2
+  .byte  15,88,213                           // addps         %xmm5,%xmm2
+  .byte  15,40,104,64                        // movaps        0x40(%eax),%xmm5
+  .byte  15,92,221                           // subps         %xmm5,%xmm3
+  .byte  15,89,220                           // mulps         %xmm4,%xmm3
+  .byte  15,88,221                           // addps         %xmm5,%xmm3
+  .byte  141,81,8                            // lea           0x8(%ecx),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  82                                  // push          %edx
+  .byte  80                                  // push          %eax
+  .byte  255,81,4                            // call          *0x4(%ecx)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_lerp_u8_sse2
+.globl _sk_lerp_u8_sse2
+FUNCTION(_sk_lerp_u8_sse2)
+_sk_lerp_u8_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,12                          // sub           $0xc,%esp
+  .byte  232,0,0,0,0                         // call          2b17 <_sk_lerp_u8_sse2+0xe>
+  .byte  90                                  // pop           %edx
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,56                              // mov           (%eax),%edi
+  .byte  139,119,4                           // mov           0x4(%edi),%esi
+  .byte  15,175,113,4                        // imul          0x4(%ecx),%esi
+  .byte  3,55                                // add           (%edi),%esi
+  .byte  139,89,8                            // mov           0x8(%ecx),%ebx
+  .byte  133,219                             // test          %ebx,%ebx
+  .byte  139,57                              // mov           (%ecx),%edi
+  .byte  117,102                             // jne           2b98 <_sk_lerp_u8_sse2+0x8f>
+  .byte  102,15,110,36,62                    // movd          (%esi,%edi,1),%xmm4
+  .byte  102,15,96,224                       // punpcklbw     %xmm0,%xmm4
+  .byte  102,15,97,224                       // punpcklwd     %xmm0,%xmm4
+  .byte  102,15,219,162,9,221,0,0            // pand          0xdd09(%edx),%xmm4
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  15,89,162,73,222,0,0                // mulps         0xde49(%edx),%xmm4
+  .byte  15,40,105,16                        // movaps        0x10(%ecx),%xmm5
+  .byte  15,40,113,32                        // movaps        0x20(%ecx),%xmm6
+  .byte  15,92,197                           // subps         %xmm5,%xmm0
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  15,88,197                           // addps         %xmm5,%xmm0
+  .byte  15,92,206                           // subps         %xmm6,%xmm1
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  15,88,206                           // addps         %xmm6,%xmm1
+  .byte  15,40,105,48                        // movaps        0x30(%ecx),%xmm5
+  .byte  15,92,213                           // subps         %xmm5,%xmm2
+  .byte  15,89,212                           // mulps         %xmm4,%xmm2
+  .byte  15,88,213                           // addps         %xmm5,%xmm2
+  .byte  15,40,105,64                        // movaps        0x40(%ecx),%xmm5
+  .byte  15,92,221                           // subps         %xmm5,%xmm3
+  .byte  15,89,220                           // mulps         %xmm4,%xmm3
+  .byte  15,88,221                           // addps         %xmm5,%xmm3
+  .byte  141,80,8                            // lea           0x8(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,28                          // add           $0x1c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  128,227,3                           // and           $0x3,%bl
+  .byte  128,251,1                           // cmp           $0x1,%bl
+  .byte  116,53                              // je            2bd5 <_sk_lerp_u8_sse2+0xcc>
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  128,251,2                           // cmp           $0x2,%bl
+  .byte  116,19                              // je            2bbc <_sk_lerp_u8_sse2+0xb3>
+  .byte  128,251,3                           // cmp           $0x3,%bl
+  .byte  117,145                             // jne           2b3f <_sk_lerp_u8_sse2+0x36>
+  .byte  15,182,92,62,2                      // movzbl        0x2(%esi,%edi,1),%ebx
+  .byte  102,15,110,227                      // movd          %ebx,%xmm4
+  .byte  102,15,112,228,69                   // pshufd        $0x45,%xmm4,%xmm4
+  .byte  15,183,52,62                        // movzwl        (%esi,%edi,1),%esi
+  .byte  102,15,110,238                      // movd          %esi,%xmm5
+  .byte  102,15,96,232                       // punpcklbw     %xmm0,%xmm5
+  .byte  102,15,97,232                       // punpcklwd     %xmm0,%xmm5
+  .byte  242,15,16,229                       // movsd         %xmm5,%xmm4
+  .byte  233,106,255,255,255                 // jmp           2b3f <_sk_lerp_u8_sse2+0x36>
+  .byte  15,182,52,62                        // movzbl        (%esi,%edi,1),%esi
+  .byte  102,15,110,230                      // movd          %esi,%xmm4
+  .byte  233,93,255,255,255                  // jmp           2b3f <_sk_lerp_u8_sse2+0x36>
+
+HIDDEN _sk_lerp_565_sse2
+.globl _sk_lerp_565_sse2
+FUNCTION(_sk_lerp_565_sse2)
+_sk_lerp_565_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,108                         // sub           $0x6c,%esp
+  .byte  15,41,93,168                        // movaps        %xmm3,-0x58(%ebp)
+  .byte  15,41,85,136                        // movaps        %xmm2,-0x78(%ebp)
+  .byte  15,41,77,152                        // movaps        %xmm1,-0x68(%ebp)
+  .byte  102,15,127,69,184                   // movdqa        %xmm0,-0x48(%ebp)
+  .byte  232,0,0,0,0                         // call          2c01 <_sk_lerp_565_sse2+0x1f>
+  .byte  90                                  // pop           %edx
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,56                              // mov           (%eax),%edi
+  .byte  139,119,4                           // mov           0x4(%edi),%esi
+  .byte  15,175,113,4                        // imul          0x4(%ecx),%esi
+  .byte  1,246                               // add           %esi,%esi
+  .byte  3,55                                // add           (%edi),%esi
+  .byte  139,89,8                            // mov           0x8(%ecx),%ebx
+  .byte  133,219                             // test          %ebx,%ebx
+  .byte  139,57                              // mov           (%ecx),%edi
+  .byte  15,133,211,0,0,0                    // jne           2cf5 <_sk_lerp_565_sse2+0x113>
+  .byte  243,15,126,44,126                   // movq          (%esi,%edi,2),%xmm5
+  .byte  102,15,97,232                       // punpcklwd     %xmm0,%xmm5
+  .byte  102,15,111,162,111,221,0,0          // movdqa        0xdd6f(%edx),%xmm4
+  .byte  102,15,219,229                      // pand          %xmm5,%xmm4
+  .byte  15,91,204                           // cvtdq2ps      %xmm4,%xmm1
+  .byte  15,89,138,127,221,0,0               // mulps         0xdd7f(%edx),%xmm1
+  .byte  102,15,111,178,143,221,0,0          // movdqa        0xdd8f(%edx),%xmm6
+  .byte  102,15,219,245                      // pand          %xmm5,%xmm6
+  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
+  .byte  15,89,178,159,221,0,0               // mulps         0xdd9f(%edx),%xmm6
+  .byte  102,15,219,170,175,221,0,0          // pand          0xddaf(%edx),%xmm5
+  .byte  15,91,213                           // cvtdq2ps      %xmm5,%xmm2
+  .byte  15,89,146,191,221,0,0               // mulps         0xddbf(%edx),%xmm2
+  .byte  15,40,218                           // movaps        %xmm2,%xmm3
+  .byte  15,41,93,200                        // movaps        %xmm3,-0x38(%ebp)
+  .byte  15,40,254                           // movaps        %xmm6,%xmm7
+  .byte  15,40,65,32                         // movaps        0x20(%ecx),%xmm0
+  .byte  15,41,69,216                        // movaps        %xmm0,-0x28(%ebp)
+  .byte  15,40,101,152                       // movaps        -0x68(%ebp),%xmm4
+  .byte  15,92,224                           // subps         %xmm0,%xmm4
+  .byte  15,89,230                           // mulps         %xmm6,%xmm4
+  .byte  15,93,243                           // minps         %xmm3,%xmm6
+  .byte  15,40,209                           // movaps        %xmm1,%xmm2
+  .byte  15,40,65,16                         // movaps        0x10(%ecx),%xmm0
+  .byte  15,40,109,184                       // movaps        -0x48(%ebp),%xmm5
+  .byte  15,92,232                           // subps         %xmm0,%xmm5
+  .byte  15,89,233                           // mulps         %xmm1,%xmm5
+  .byte  15,93,206                           // minps         %xmm6,%xmm1
+  .byte  15,40,113,64                        // movaps        0x40(%ecx),%xmm6
+  .byte  15,95,251                           // maxps         %xmm3,%xmm7
+  .byte  15,95,215                           // maxps         %xmm7,%xmm2
+  .byte  15,40,93,168                        // movaps        -0x58(%ebp),%xmm3
+  .byte  15,40,251                           // movaps        %xmm3,%xmm7
+  .byte  15,194,254,1                        // cmpltps       %xmm6,%xmm7
+  .byte  15,84,207                           // andps         %xmm7,%xmm1
+  .byte  15,85,250                           // andnps        %xmm2,%xmm7
+  .byte  15,86,249                           // orps          %xmm1,%xmm7
+  .byte  15,88,232                           // addps         %xmm0,%xmm5
+  .byte  15,88,101,216                       // addps         -0x28(%ebp),%xmm4
+  .byte  15,40,65,48                         // movaps        0x30(%ecx),%xmm0
+  .byte  15,40,85,136                        // movaps        -0x78(%ebp),%xmm2
+  .byte  15,92,208                           // subps         %xmm0,%xmm2
+  .byte  15,89,85,200                        // mulps         -0x38(%ebp),%xmm2
+  .byte  15,88,208                           // addps         %xmm0,%xmm2
+  .byte  15,92,222                           // subps         %xmm6,%xmm3
+  .byte  15,89,223                           // mulps         %xmm7,%xmm3
+  .byte  15,88,222                           // addps         %xmm6,%xmm3
+  .byte  141,80,8                            // lea           0x8(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,197                           // movaps        %xmm5,%xmm0
+  .byte  15,40,204                           // movaps        %xmm4,%xmm1
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,124                         // add           $0x7c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  128,227,3                           // and           $0x3,%bl
+  .byte  128,251,1                           // cmp           $0x1,%bl
+  .byte  116,51                              // je            2d30 <_sk_lerp_565_sse2+0x14e>
+  .byte  102,15,239,237                      // pxor          %xmm5,%xmm5
+  .byte  128,251,2                           // cmp           $0x2,%bl
+  .byte  116,23                              // je            2d1d <_sk_lerp_565_sse2+0x13b>
+  .byte  128,251,3                           // cmp           $0x3,%bl
+  .byte  15,133,28,255,255,255               // jne           2c2b <_sk_lerp_565_sse2+0x49>
+  .byte  15,183,92,126,4                     // movzwl        0x4(%esi,%edi,2),%ebx
+  .byte  102,15,110,227                      // movd          %ebx,%xmm4
+  .byte  102,15,112,236,69                   // pshufd        $0x45,%xmm4,%xmm5
+  .byte  102,15,110,36,126                   // movd          (%esi,%edi,2),%xmm4
+  .byte  242,15,112,228,212                  // pshuflw       $0xd4,%xmm4,%xmm4
+  .byte  242,15,16,236                       // movsd         %xmm4,%xmm5
+  .byte  233,251,254,255,255                 // jmp           2c2b <_sk_lerp_565_sse2+0x49>
+  .byte  15,183,52,126                       // movzwl        (%esi,%edi,2),%esi
+  .byte  102,15,110,238                      // movd          %esi,%xmm5
+  .byte  233,238,254,255,255                 // jmp           2c2b <_sk_lerp_565_sse2+0x49>
+
+HIDDEN _sk_load_tables_sse2
+.globl _sk_load_tables_sse2
+FUNCTION(_sk_load_tables_sse2)
+_sk_load_tables_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,12                          // sub           $0xc,%esp
+  .byte  232,0,0,0,0                         // call          2d4b <_sk_load_tables_sse2+0xe>
+  .byte  90                                  // pop           %edx
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,48                              // mov           (%eax),%esi
+  .byte  139,65,8                            // mov           0x8(%ecx),%eax
+  .byte  133,192                             // test          %eax,%eax
+  .byte  139,57                              // mov           (%ecx),%edi
+  .byte  139,30                              // mov           (%esi),%ebx
+  .byte  15,133,22,1,0,0                     // jne           2e79 <_sk_load_tables_sse2+0x13c>
+  .byte  243,15,111,28,187                   // movdqu        (%ebx,%edi,4),%xmm3
+  .byte  102,15,111,146,213,218,0,0          // movdqa        0xdad5(%edx),%xmm2
+  .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
+  .byte  102,15,219,194                      // pand          %xmm2,%xmm0
+  .byte  102,15,112,200,78                   // pshufd        $0x4e,%xmm0,%xmm1
+  .byte  102,15,112,224,231                  // pshufd        $0xe7,%xmm0,%xmm4
+  .byte  102,15,126,224                      // movd          %xmm4,%eax
+  .byte  139,126,4                           // mov           0x4(%esi),%edi
+  .byte  243,15,16,36,135                    // movss         (%edi,%eax,4),%xmm4
+  .byte  102,15,126,200                      // movd          %xmm1,%eax
+  .byte  243,15,16,44,135                    // movss         (%edi,%eax,4),%xmm5
+  .byte  102,15,126,192                      // movd          %xmm0,%eax
+  .byte  102,15,112,200,229                  // pshufd        $0xe5,%xmm0,%xmm1
+  .byte  243,15,16,4,135                     // movss         (%edi,%eax,4),%xmm0
+  .byte  102,15,126,200                      // movd          %xmm1,%eax
+  .byte  243,15,16,12,135                    // movss         (%edi,%eax,4),%xmm1
+  .byte  139,70,8                            // mov           0x8(%esi),%eax
+  .byte  15,20,236                           // unpcklps      %xmm4,%xmm5
+  .byte  15,20,193                           // unpcklps      %xmm1,%xmm0
+  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
+  .byte  102,15,114,209,8                    // psrld         $0x8,%xmm1
+  .byte  102,15,219,202                      // pand          %xmm2,%xmm1
+  .byte  102,15,112,225,78                   // pshufd        $0x4e,%xmm1,%xmm4
+  .byte  102,15,112,241,231                  // pshufd        $0xe7,%xmm1,%xmm6
+  .byte  102,15,126,247                      // movd          %xmm6,%edi
+  .byte  243,15,16,52,184                    // movss         (%eax,%edi,4),%xmm6
+  .byte  102,15,126,231                      // movd          %xmm4,%edi
+  .byte  243,15,16,36,184                    // movss         (%eax,%edi,4),%xmm4
+  .byte  102,15,126,207                      // movd          %xmm1,%edi
+  .byte  102,15,112,249,229                  // pshufd        $0xe5,%xmm1,%xmm7
+  .byte  243,15,16,12,184                    // movss         (%eax,%edi,4),%xmm1
+  .byte  102,15,126,255                      // movd          %xmm7,%edi
+  .byte  243,15,16,60,184                    // movss         (%eax,%edi,4),%xmm7
+  .byte  102,15,20,197                       // unpcklpd      %xmm5,%xmm0
+  .byte  15,20,230                           // unpcklps      %xmm6,%xmm4
+  .byte  15,20,207                           // unpcklps      %xmm7,%xmm1
+  .byte  139,70,12                           // mov           0xc(%esi),%eax
+  .byte  102,15,111,235                      // movdqa        %xmm3,%xmm5
+  .byte  102,15,114,213,16                   // psrld         $0x10,%xmm5
+  .byte  102,15,219,234                      // pand          %xmm2,%xmm5
+  .byte  102,15,112,213,78                   // pshufd        $0x4e,%xmm5,%xmm2
+  .byte  102,15,112,245,231                  // pshufd        $0xe7,%xmm5,%xmm6
+  .byte  102,15,126,246                      // movd          %xmm6,%esi
+  .byte  243,15,16,52,176                    // movss         (%eax,%esi,4),%xmm6
+  .byte  102,15,126,214                      // movd          %xmm2,%esi
+  .byte  243,15,16,60,176                    // movss         (%eax,%esi,4),%xmm7
+  .byte  102,15,126,238                      // movd          %xmm5,%esi
+  .byte  102,15,112,237,229                  // pshufd        $0xe5,%xmm5,%xmm5
+  .byte  243,15,16,20,176                    // movss         (%eax,%esi,4),%xmm2
+  .byte  102,15,126,238                      // movd          %xmm5,%esi
+  .byte  243,15,16,44,176                    // movss         (%eax,%esi,4),%xmm5
+  .byte  102,15,20,204                       // unpcklpd      %xmm4,%xmm1
+  .byte  15,20,254                           // unpcklps      %xmm6,%xmm7
+  .byte  15,20,213                           // unpcklps      %xmm5,%xmm2
+  .byte  102,15,20,215                       // unpcklpd      %xmm7,%xmm2
+  .byte  102,15,114,211,24                   // psrld         $0x18,%xmm3
+  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
+  .byte  15,89,154,21,220,0,0                // mulps         0xdc15(%edx),%xmm3
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  137,194                             // mov           %eax,%edx
+  .byte  141,66,8                            // lea           0x8(%edx),%eax
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  80                                  // push          %eax
+  .byte  81                                  // push          %ecx
+  .byte  255,82,4                            // call          *0x4(%edx)
+  .byte  131,196,28                          // add           $0x1c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  36,3                                // and           $0x3,%al
+  .byte  60,1                                // cmp           $0x1,%al
+  .byte  116,37                              // je            2ea4 <_sk_load_tables_sse2+0x167>
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  60,2                                // cmp           $0x2,%al
+  .byte  116,19                              // je            2e9a <_sk_load_tables_sse2+0x15d>
+  .byte  60,3                                // cmp           $0x3,%al
+  .byte  15,133,217,254,255,255              // jne           2d68 <_sk_load_tables_sse2+0x2b>
+  .byte  102,15,110,68,187,8                 // movd          0x8(%ebx,%edi,4),%xmm0
+  .byte  102,15,112,216,69                   // pshufd        $0x45,%xmm0,%xmm3
+  .byte  102,15,18,28,187                    // movlpd        (%ebx,%edi,4),%xmm3
+  .byte  233,196,254,255,255                 // jmp           2d68 <_sk_load_tables_sse2+0x2b>
+  .byte  102,15,110,28,187                   // movd          (%ebx,%edi,4),%xmm3
+  .byte  233,186,254,255,255                 // jmp           2d68 <_sk_load_tables_sse2+0x2b>
+
+HIDDEN _sk_load_tables_u16_be_sse2
+.globl _sk_load_tables_u16_be_sse2
+FUNCTION(_sk_load_tables_u16_be_sse2)
+_sk_load_tables_u16_be_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,44                          // sub           $0x2c,%esp
+  .byte  232,0,0,0,0                         // call          2ebc <_sk_load_tables_u16_be_sse2+0xe>
+  .byte  90                                  // pop           %edx
+  .byte  139,117,12                          // mov           0xc(%ebp),%esi
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,57                              // mov           (%ecx),%edi
+  .byte  139,65,8                            // mov           0x8(%ecx),%eax
+  .byte  193,231,2                           // shl           $0x2,%edi
+  .byte  133,192                             // test          %eax,%eax
+  .byte  139,54                              // mov           (%esi),%esi
+  .byte  139,30                              // mov           (%esi),%ebx
+  .byte  15,133,210,1,0,0                    // jne           30a9 <_sk_load_tables_u16_be_sse2+0x1fb>
+  .byte  102,15,16,4,123                     // movupd        (%ebx,%edi,2),%xmm0
+  .byte  243,15,111,76,123,16                // movdqu        0x10(%ebx,%edi,2),%xmm1
+  .byte  102,15,40,216                       // movapd        %xmm0,%xmm3
+  .byte  102,15,97,217                       // punpcklwd     %xmm1,%xmm3
+  .byte  102,15,105,193                      // punpckhwd     %xmm1,%xmm0
+  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
+  .byte  102,15,97,200                       // punpcklwd     %xmm0,%xmm1
+  .byte  102,15,105,216                      // punpckhwd     %xmm0,%xmm3
+  .byte  102,15,126,77,208                   // movd          %xmm1,-0x30(%ebp)
+  .byte  102,15,112,193,229                  // pshufd        $0xe5,%xmm1,%xmm0
+  .byte  102,15,126,69,212                   // movd          %xmm0,-0x2c(%ebp)
+  .byte  243,15,126,69,208                   // movq          -0x30(%ebp),%xmm0
+  .byte  102,15,97,192                       // punpcklwd     %xmm0,%xmm0
+  .byte  102,15,112,209,231                  // pshufd        $0xe7,%xmm1,%xmm2
+  .byte  102,15,126,85,220                   // movd          %xmm2,-0x24(%ebp)
+  .byte  102,15,112,201,78                   // pshufd        $0x4e,%xmm1,%xmm1
+  .byte  102,15,126,77,216                   // movd          %xmm1,-0x28(%ebp)
+  .byte  243,15,126,77,216                   // movq          -0x28(%ebp),%xmm1
+  .byte  102,15,97,200                       // punpcklwd     %xmm0,%xmm1
+  .byte  102,15,126,93,224                   // movd          %xmm3,-0x20(%ebp)
+  .byte  102,15,112,211,229                  // pshufd        $0xe5,%xmm3,%xmm2
+  .byte  102,15,126,85,228                   // movd          %xmm2,-0x1c(%ebp)
+  .byte  242,15,112,192,232                  // pshuflw       $0xe8,%xmm0,%xmm0
+  .byte  243,15,112,192,232                  // pshufhw       $0xe8,%xmm0,%xmm0
+  .byte  102,15,112,192,232                  // pshufd        $0xe8,%xmm0,%xmm0
+  .byte  102,15,111,146,20,219,0,0           // movdqa        0xdb14(%edx),%xmm2
+  .byte  102,15,219,194                      // pand          %xmm2,%xmm0
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  102,15,97,196                       // punpcklwd     %xmm4,%xmm0
+  .byte  102,15,112,232,78                   // pshufd        $0x4e,%xmm0,%xmm5
+  .byte  102,15,112,240,231                  // pshufd        $0xe7,%xmm0,%xmm6
+  .byte  102,15,126,240                      // movd          %xmm6,%eax
+  .byte  139,126,4                           // mov           0x4(%esi),%edi
+  .byte  243,15,16,52,135                    // movss         (%edi,%eax,4),%xmm6
+  .byte  102,15,126,232                      // movd          %xmm5,%eax
+  .byte  243,15,16,44,135                    // movss         (%edi,%eax,4),%xmm5
+  .byte  102,15,126,192                      // movd          %xmm0,%eax
+  .byte  102,15,112,248,229                  // pshufd        $0xe5,%xmm0,%xmm7
+  .byte  243,15,16,4,135                     // movss         (%edi,%eax,4),%xmm0
+  .byte  102,15,126,248                      // movd          %xmm7,%eax
+  .byte  243,15,16,60,135                    // movss         (%edi,%eax,4),%xmm7
+  .byte  139,70,8                            // mov           0x8(%esi),%eax
+  .byte  15,20,238                           // unpcklps      %xmm6,%xmm5
+  .byte  15,20,199                           // unpcklps      %xmm7,%xmm0
+  .byte  102,15,20,197                       // unpcklpd      %xmm5,%xmm0
+  .byte  242,15,112,201,232                  // pshuflw       $0xe8,%xmm1,%xmm1
+  .byte  243,15,112,201,232                  // pshufhw       $0xe8,%xmm1,%xmm1
+  .byte  102,15,112,201,232                  // pshufd        $0xe8,%xmm1,%xmm1
+  .byte  102,15,219,202                      // pand          %xmm2,%xmm1
+  .byte  102,15,97,204                       // punpcklwd     %xmm4,%xmm1
+  .byte  102,15,112,233,78                   // pshufd        $0x4e,%xmm1,%xmm5
+  .byte  102,15,112,241,231                  // pshufd        $0xe7,%xmm1,%xmm6
+  .byte  102,15,126,247                      // movd          %xmm6,%edi
+  .byte  243,15,16,52,184                    // movss         (%eax,%edi,4),%xmm6
+  .byte  102,15,126,239                      // movd          %xmm5,%edi
+  .byte  243,15,16,44,184                    // movss         (%eax,%edi,4),%xmm5
+  .byte  102,15,126,207                      // movd          %xmm1,%edi
+  .byte  102,15,112,249,229                  // pshufd        $0xe5,%xmm1,%xmm7
+  .byte  243,15,16,12,184                    // movss         (%eax,%edi,4),%xmm1
+  .byte  102,15,126,255                      // movd          %xmm7,%edi
+  .byte  243,15,16,60,184                    // movss         (%eax,%edi,4),%xmm7
+  .byte  15,20,238                           // unpcklps      %xmm6,%xmm5
+  .byte  243,15,126,117,224                  // movq          -0x20(%ebp),%xmm6
+  .byte  102,15,97,240                       // punpcklwd     %xmm0,%xmm6
+  .byte  15,20,207                           // unpcklps      %xmm7,%xmm1
+  .byte  102,15,20,205                       // unpcklpd      %xmm5,%xmm1
+  .byte  139,70,12                           // mov           0xc(%esi),%eax
+  .byte  242,15,112,238,232                  // pshuflw       $0xe8,%xmm6,%xmm5
+  .byte  243,15,112,237,232                  // pshufhw       $0xe8,%xmm5,%xmm5
+  .byte  102,15,112,237,232                  // pshufd        $0xe8,%xmm5,%xmm5
+  .byte  102,15,219,234                      // pand          %xmm2,%xmm5
+  .byte  102,15,97,236                       // punpcklwd     %xmm4,%xmm5
+  .byte  102,15,112,213,78                   // pshufd        $0x4e,%xmm5,%xmm2
+  .byte  102,15,112,245,231                  // pshufd        $0xe7,%xmm5,%xmm6
+  .byte  102,15,126,246                      // movd          %xmm6,%esi
+  .byte  243,15,16,52,176                    // movss         (%eax,%esi,4),%xmm6
+  .byte  102,15,126,214                      // movd          %xmm2,%esi
+  .byte  243,15,16,60,176                    // movss         (%eax,%esi,4),%xmm7
+  .byte  102,15,126,238                      // movd          %xmm5,%esi
+  .byte  102,15,112,237,229                  // pshufd        $0xe5,%xmm5,%xmm5
+  .byte  243,15,16,20,176                    // movss         (%eax,%esi,4),%xmm2
+  .byte  102,15,126,238                      // movd          %xmm5,%esi
+  .byte  243,15,16,44,176                    // movss         (%eax,%esi,4),%xmm5
+  .byte  15,20,254                           // unpcklps      %xmm6,%xmm7
+  .byte  15,20,213                           // unpcklps      %xmm5,%xmm2
+  .byte  102,15,20,215                       // unpcklpd      %xmm7,%xmm2
+  .byte  102,15,112,219,78                   // pshufd        $0x4e,%xmm3,%xmm3
+  .byte  102,15,111,235                      // movdqa        %xmm3,%xmm5
+  .byte  102,15,113,245,8                    // psllw         $0x8,%xmm5
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  102,15,235,221                      // por           %xmm5,%xmm3
+  .byte  102,15,126,93,232                   // movd          %xmm3,-0x18(%ebp)
+  .byte  102,15,112,219,229                  // pshufd        $0xe5,%xmm3,%xmm3
+  .byte  102,15,126,93,236                   // movd          %xmm3,-0x14(%ebp)
+  .byte  243,15,126,93,232                   // movq          -0x18(%ebp),%xmm3
+  .byte  102,15,97,220                       // punpcklwd     %xmm4,%xmm3
+  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
+  .byte  15,89,154,36,219,0,0                // mulps         0xdb24(%edx),%xmm3
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  137,194                             // mov           %eax,%edx
+  .byte  141,66,8                            // lea           0x8(%edx),%eax
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  80                                  // push          %eax
+  .byte  81                                  // push          %ecx
+  .byte  255,82,4                            // call          *0x4(%edx)
+  .byte  131,196,60                          // add           $0x3c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  242,15,16,4,123                     // movsd         (%ebx,%edi,2),%xmm0
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  131,248,1                           // cmp           $0x1,%eax
+  .byte  15,132,39,254,255,255               // je            2ee2 <_sk_load_tables_u16_be_sse2+0x34>
+  .byte  102,15,22,68,123,8                  // movhpd        0x8(%ebx,%edi,2),%xmm0
+  .byte  131,248,3                           // cmp           $0x3,%eax
+  .byte  15,130,24,254,255,255               // jb            2ee2 <_sk_load_tables_u16_be_sse2+0x34>
+  .byte  243,15,126,76,123,16                // movq          0x10(%ebx,%edi,2),%xmm1
+  .byte  233,13,254,255,255                  // jmp           2ee2 <_sk_load_tables_u16_be_sse2+0x34>
+
+HIDDEN _sk_load_tables_rgb_u16_be_sse2
+.globl _sk_load_tables_rgb_u16_be_sse2
+FUNCTION(_sk_load_tables_rgb_u16_be_sse2)
+_sk_load_tables_rgb_u16_be_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,28                          // sub           $0x1c,%esp
+  .byte  232,0,0,0,0                         // call          30e3 <_sk_load_tables_rgb_u16_be_sse2+0xe>
+  .byte  90                                  // pop           %edx
+  .byte  139,117,12                          // mov           0xc(%ebp),%esi
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,65,8                            // mov           0x8(%ecx),%eax
+  .byte  107,57,3                            // imul          $0x3,(%ecx),%edi
+  .byte  133,192                             // test          %eax,%eax
+  .byte  139,54                              // mov           (%esi),%esi
+  .byte  139,30                              // mov           (%esi),%ebx
+  .byte  15,133,179,1,0,0                    // jne           32af <_sk_load_tables_rgb_u16_be_sse2+0x1da>
+  .byte  243,15,111,4,123                    // movdqu        (%ebx,%edi,2),%xmm0
+  .byte  243,15,111,92,123,8                 // movdqu        0x8(%ebx,%edi,2),%xmm3
+  .byte  102,15,115,219,4                    // psrldq        $0x4,%xmm3
+  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
+  .byte  102,15,115,217,6                    // psrldq        $0x6,%xmm1
+  .byte  102,15,111,211                      // movdqa        %xmm3,%xmm2
+  .byte  102,15,115,218,6                    // psrldq        $0x6,%xmm2
+  .byte  102,15,97,202                       // punpcklwd     %xmm2,%xmm1
+  .byte  102,15,97,195                       // punpcklwd     %xmm3,%xmm0
+  .byte  102,15,111,208                      // movdqa        %xmm0,%xmm2
+  .byte  102,15,97,209                       // punpcklwd     %xmm1,%xmm2
+  .byte  102,15,112,218,78                   // pshufd        $0x4e,%xmm2,%xmm3
+  .byte  102,15,105,193                      // punpckhwd     %xmm1,%xmm0
+  .byte  102,15,126,85,216                   // movd          %xmm2,-0x28(%ebp)
+  .byte  102,15,112,202,229                  // pshufd        $0xe5,%xmm2,%xmm1
+  .byte  102,15,126,77,220                   // movd          %xmm1,-0x24(%ebp)
+  .byte  243,15,126,85,216                   // movq          -0x28(%ebp),%xmm2
+  .byte  102,15,97,208                       // punpcklwd     %xmm0,%xmm2
+  .byte  102,15,126,93,224                   // movd          %xmm3,-0x20(%ebp)
+  .byte  102,15,112,203,229                  // pshufd        $0xe5,%xmm3,%xmm1
+  .byte  102,15,126,77,228                   // movd          %xmm1,-0x1c(%ebp)
+  .byte  243,15,126,77,224                   // movq          -0x20(%ebp),%xmm1
+  .byte  102,15,97,200                       // punpcklwd     %xmm0,%xmm1
+  .byte  102,15,126,69,232                   // movd          %xmm0,-0x18(%ebp)
+  .byte  102,15,112,192,229                  // pshufd        $0xe5,%xmm0,%xmm0
+  .byte  102,15,126,69,236                   // movd          %xmm0,-0x14(%ebp)
+  .byte  242,15,112,194,232                  // pshuflw       $0xe8,%xmm2,%xmm0
+  .byte  243,15,112,192,232                  // pshufhw       $0xe8,%xmm0,%xmm0
+  .byte  102,15,112,192,232                  // pshufd        $0xe8,%xmm0,%xmm0
+  .byte  102,15,111,146,237,216,0,0          // movdqa        0xd8ed(%edx),%xmm2
+  .byte  102,15,219,194                      // pand          %xmm2,%xmm0
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  102,15,97,195                       // punpcklwd     %xmm3,%xmm0
+  .byte  102,15,112,224,78                   // pshufd        $0x4e,%xmm0,%xmm4
+  .byte  102,15,112,232,231                  // pshufd        $0xe7,%xmm0,%xmm5
+  .byte  102,15,126,232                      // movd          %xmm5,%eax
+  .byte  139,126,4                           // mov           0x4(%esi),%edi
+  .byte  243,15,16,44,135                    // movss         (%edi,%eax,4),%xmm5
+  .byte  102,15,126,224                      // movd          %xmm4,%eax
+  .byte  243,15,16,36,135                    // movss         (%edi,%eax,4),%xmm4
+  .byte  102,15,126,192                      // movd          %xmm0,%eax
+  .byte  102,15,112,240,229                  // pshufd        $0xe5,%xmm0,%xmm6
+  .byte  243,15,16,4,135                     // movss         (%edi,%eax,4),%xmm0
+  .byte  102,15,126,240                      // movd          %xmm6,%eax
+  .byte  243,15,16,52,135                    // movss         (%edi,%eax,4),%xmm6
+  .byte  139,70,8                            // mov           0x8(%esi),%eax
+  .byte  15,20,229                           // unpcklps      %xmm5,%xmm4
+  .byte  15,20,198                           // unpcklps      %xmm6,%xmm0
+  .byte  242,15,112,201,232                  // pshuflw       $0xe8,%xmm1,%xmm1
+  .byte  243,15,112,201,232                  // pshufhw       $0xe8,%xmm1,%xmm1
+  .byte  102,15,112,201,232                  // pshufd        $0xe8,%xmm1,%xmm1
+  .byte  102,15,219,202                      // pand          %xmm2,%xmm1
+  .byte  102,15,97,203                       // punpcklwd     %xmm3,%xmm1
+  .byte  102,15,112,233,78                   // pshufd        $0x4e,%xmm1,%xmm5
+  .byte  102,15,112,241,231                  // pshufd        $0xe7,%xmm1,%xmm6
+  .byte  102,15,126,247                      // movd          %xmm6,%edi
+  .byte  243,15,16,52,184                    // movss         (%eax,%edi,4),%xmm6
+  .byte  102,15,126,239                      // movd          %xmm5,%edi
+  .byte  243,15,16,44,184                    // movss         (%eax,%edi,4),%xmm5
+  .byte  102,15,126,207                      // movd          %xmm1,%edi
+  .byte  102,15,112,249,229                  // pshufd        $0xe5,%xmm1,%xmm7
+  .byte  243,15,16,12,184                    // movss         (%eax,%edi,4),%xmm1
+  .byte  102,15,126,255                      // movd          %xmm7,%edi
+  .byte  243,15,16,60,184                    // movss         (%eax,%edi,4),%xmm7
+  .byte  102,15,20,196                       // unpcklpd      %xmm4,%xmm0
+  .byte  243,15,126,101,232                  // movq          -0x18(%ebp),%xmm4
+  .byte  102,15,97,224                       // punpcklwd     %xmm0,%xmm4
+  .byte  15,20,238                           // unpcklps      %xmm6,%xmm5
+  .byte  139,70,12                           // mov           0xc(%esi),%eax
+  .byte  242,15,112,228,232                  // pshuflw       $0xe8,%xmm4,%xmm4
+  .byte  243,15,112,228,232                  // pshufhw       $0xe8,%xmm4,%xmm4
+  .byte  102,15,112,228,232                  // pshufd        $0xe8,%xmm4,%xmm4
+  .byte  102,15,219,226                      // pand          %xmm2,%xmm4
+  .byte  102,15,97,227                       // punpcklwd     %xmm3,%xmm4
+  .byte  102,15,112,212,78                   // pshufd        $0x4e,%xmm4,%xmm2
+  .byte  102,15,112,220,231                  // pshufd        $0xe7,%xmm4,%xmm3
+  .byte  102,15,126,222                      // movd          %xmm3,%esi
+  .byte  243,15,16,28,176                    // movss         (%eax,%esi,4),%xmm3
+  .byte  102,15,126,214                      // movd          %xmm2,%esi
+  .byte  243,15,16,52,176                    // movss         (%eax,%esi,4),%xmm6
+  .byte  102,15,126,230                      // movd          %xmm4,%esi
+  .byte  102,15,112,228,229                  // pshufd        $0xe5,%xmm4,%xmm4
+  .byte  243,15,16,20,176                    // movss         (%eax,%esi,4),%xmm2
+  .byte  102,15,126,230                      // movd          %xmm4,%esi
+  .byte  243,15,16,36,176                    // movss         (%eax,%esi,4),%xmm4
+  .byte  15,20,207                           // unpcklps      %xmm7,%xmm1
+  .byte  102,15,20,205                       // unpcklpd      %xmm5,%xmm1
+  .byte  15,20,243                           // unpcklps      %xmm3,%xmm6
+  .byte  15,20,212                           // unpcklps      %xmm4,%xmm2
+  .byte  102,15,20,214                       // unpcklpd      %xmm6,%xmm2
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  137,198                             // mov           %eax,%esi
+  .byte  141,70,8                            // lea           0x8(%esi),%eax
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,154,125,214,0,0               // movaps        0xd67d(%edx),%xmm3
+  .byte  80                                  // push          %eax
+  .byte  81                                  // push          %ecx
+  .byte  255,86,4                            // call          *0x4(%esi)
+  .byte  131,196,44                          // add           $0x2c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  102,15,110,4,123                    // movd          (%ebx,%edi,2),%xmm0
+  .byte  102,15,196,68,123,4,2               // pinsrw        $0x2,0x4(%ebx,%edi,2),%xmm0
+  .byte  102,15,239,210                      // pxor          %xmm2,%xmm2
+  .byte  131,248,1                           // cmp           $0x1,%eax
+  .byte  117,13                              // jne           32d1 <_sk_load_tables_rgb_u16_be_sse2+0x1fc>
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  233,77,254,255,255                  // jmp           311e <_sk_load_tables_rgb_u16_be_sse2+0x49>
+  .byte  102,15,110,76,123,6                 // movd          0x6(%ebx,%edi,2),%xmm1
+  .byte  102,15,196,76,123,10,2              // pinsrw        $0x2,0xa(%ebx,%edi,2),%xmm1
+  .byte  102,15,239,210                      // pxor          %xmm2,%xmm2
+  .byte  131,248,3                           // cmp           $0x3,%eax
+  .byte  114,18                              // jb            32f9 <_sk_load_tables_rgb_u16_be_sse2+0x224>
+  .byte  102,15,110,92,123,12                // movd          0xc(%ebx,%edi,2),%xmm3
+  .byte  102,15,196,92,123,16,2              // pinsrw        $0x2,0x10(%ebx,%edi,2),%xmm3
+  .byte  233,37,254,255,255                  // jmp           311e <_sk_load_tables_rgb_u16_be_sse2+0x49>
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  233,28,254,255,255                  // jmp           311e <_sk_load_tables_rgb_u16_be_sse2+0x49>
+
+HIDDEN _sk_byte_tables_sse2
+.globl _sk_byte_tables_sse2
+FUNCTION(_sk_byte_tables_sse2)
+_sk_byte_tables_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,12                          // sub           $0xc,%esp
+  .byte  232,0,0,0,0                         // call          3310 <_sk_byte_tables_sse2+0xe>
+  .byte  89                                  // pop           %ecx
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,16                              // mov           (%eax),%edx
+  .byte  15,87,237                           // xorps         %xmm5,%xmm5
+  .byte  15,95,232                           // maxps         %xmm0,%xmm5
+  .byte  15,40,129,80,212,0,0                // movaps        0xd450(%ecx),%xmm0
+  .byte  15,93,232                           // minps         %xmm0,%xmm5
+  .byte  15,40,161,32,213,0,0                // movaps        0xd520(%ecx),%xmm4
+  .byte  15,89,236                           // mulps         %xmm4,%xmm5
+  .byte  102,15,91,237                       // cvtps2dq      %xmm5,%xmm5
+  .byte  102,15,112,245,78                   // pshufd        $0x4e,%xmm5,%xmm6
+  .byte  102,15,126,246                      // movd          %xmm6,%esi
+  .byte  102,15,112,245,231                  // pshufd        $0xe7,%xmm5,%xmm6
+  .byte  139,58                              // mov           (%edx),%edi
+  .byte  15,182,52,55                        // movzbl        (%edi,%esi,1),%esi
+  .byte  102,15,126,243                      // movd          %xmm6,%ebx
+  .byte  15,182,28,31                        // movzbl        (%edi,%ebx,1),%ebx
+  .byte  193,227,8                           // shl           $0x8,%ebx
+  .byte  9,243                               // or            %esi,%ebx
+  .byte  102,15,112,245,229                  // pshufd        $0xe5,%xmm5,%xmm6
+  .byte  102,15,126,238                      // movd          %xmm5,%esi
+  .byte  15,182,52,55                        // movzbl        (%edi,%esi,1),%esi
+  .byte  102,15,126,240                      // movd          %xmm6,%eax
+  .byte  15,182,4,7                          // movzbl        (%edi,%eax,1),%eax
+  .byte  193,224,8                           // shl           $0x8,%eax
+  .byte  9,240                               // or            %esi,%eax
+  .byte  102,15,110,232                      // movd          %eax,%xmm5
+  .byte  139,66,4                            // mov           0x4(%edx),%eax
+  .byte  102,15,196,235,1                    // pinsrw        $0x1,%ebx,%xmm5
+  .byte  102,15,239,246                      // pxor          %xmm6,%xmm6
+  .byte  15,95,241                           // maxps         %xmm1,%xmm6
+  .byte  15,93,240                           // minps         %xmm0,%xmm6
+  .byte  15,89,244                           // mulps         %xmm4,%xmm6
+  .byte  102,15,91,206                       // cvtps2dq      %xmm6,%xmm1
+  .byte  102,15,112,241,78                   // pshufd        $0x4e,%xmm1,%xmm6
+  .byte  102,15,126,246                      // movd          %xmm6,%esi
+  .byte  102,15,112,241,231                  // pshufd        $0xe7,%xmm1,%xmm6
+  .byte  15,182,52,48                        // movzbl        (%eax,%esi,1),%esi
+  .byte  102,15,126,247                      // movd          %xmm6,%edi
+  .byte  15,182,60,56                        // movzbl        (%eax,%edi,1),%edi
+  .byte  193,231,8                           // shl           $0x8,%edi
+  .byte  9,247                               // or            %esi,%edi
+  .byte  102,15,112,241,229                  // pshufd        $0xe5,%xmm1,%xmm6
+  .byte  102,15,126,206                      // movd          %xmm1,%esi
+  .byte  15,182,52,48                        // movzbl        (%eax,%esi,1),%esi
+  .byte  102,15,126,243                      // movd          %xmm6,%ebx
+  .byte  15,182,4,24                         // movzbl        (%eax,%ebx,1),%eax
+  .byte  193,224,8                           // shl           $0x8,%eax
+  .byte  9,240                               // or            %esi,%eax
+  .byte  102,15,110,200                      // movd          %eax,%xmm1
+  .byte  102,15,196,207,1                    // pinsrw        $0x1,%edi,%xmm1
+  .byte  139,66,8                            // mov           0x8(%edx),%eax
+  .byte  102,15,239,246                      // pxor          %xmm6,%xmm6
+  .byte  15,95,242                           // maxps         %xmm2,%xmm6
+  .byte  15,93,240                           // minps         %xmm0,%xmm6
+  .byte  15,89,244                           // mulps         %xmm4,%xmm6
+  .byte  102,15,91,214                       // cvtps2dq      %xmm6,%xmm2
+  .byte  102,15,112,242,78                   // pshufd        $0x4e,%xmm2,%xmm6
+  .byte  102,15,126,246                      // movd          %xmm6,%esi
+  .byte  102,15,112,242,231                  // pshufd        $0xe7,%xmm2,%xmm6
+  .byte  15,182,52,48                        // movzbl        (%eax,%esi,1),%esi
+  .byte  102,15,126,247                      // movd          %xmm6,%edi
+  .byte  15,182,60,56                        // movzbl        (%eax,%edi,1),%edi
+  .byte  193,231,8                           // shl           $0x8,%edi
+  .byte  9,247                               // or            %esi,%edi
+  .byte  102,15,112,242,229                  // pshufd        $0xe5,%xmm2,%xmm6
+  .byte  102,15,126,214                      // movd          %xmm2,%esi
+  .byte  15,182,52,48                        // movzbl        (%eax,%esi,1),%esi
+  .byte  102,15,126,243                      // movd          %xmm6,%ebx
+  .byte  15,182,4,24                         // movzbl        (%eax,%ebx,1),%eax
+  .byte  193,224,8                           // shl           $0x8,%eax
+  .byte  9,240                               // or            %esi,%eax
+  .byte  102,15,87,210                       // xorpd         %xmm2,%xmm2
+  .byte  15,95,211                           // maxps         %xmm3,%xmm2
+  .byte  15,93,208                           // minps         %xmm0,%xmm2
+  .byte  102,15,110,216                      // movd          %eax,%xmm3
+  .byte  102,15,196,223,1                    // pinsrw        $0x1,%edi,%xmm3
+  .byte  139,66,12                           // mov           0xc(%edx),%eax
+  .byte  15,89,212                           // mulps         %xmm4,%xmm2
+  .byte  102,15,91,194                       // cvtps2dq      %xmm2,%xmm0
+  .byte  102,15,112,208,78                   // pshufd        $0x4e,%xmm0,%xmm2
+  .byte  102,15,126,210                      // movd          %xmm2,%edx
+  .byte  102,15,112,208,231                  // pshufd        $0xe7,%xmm0,%xmm2
+  .byte  102,15,126,214                      // movd          %xmm2,%esi
+  .byte  15,182,20,16                        // movzbl        (%eax,%edx,1),%edx
+  .byte  15,182,52,48                        // movzbl        (%eax,%esi,1),%esi
+  .byte  193,230,8                           // shl           $0x8,%esi
+  .byte  9,214                               // or            %edx,%esi
+  .byte  102,15,126,194                      // movd          %xmm0,%edx
+  .byte  102,15,112,192,229                  // pshufd        $0xe5,%xmm0,%xmm0
+  .byte  15,182,20,16                        // movzbl        (%eax,%edx,1),%edx
+  .byte  102,15,126,199                      // movd          %xmm0,%edi
+  .byte  15,182,4,56                         // movzbl        (%eax,%edi,1),%eax
+  .byte  193,224,8                           // shl           $0x8,%eax
+  .byte  9,208                               // or            %edx,%eax
+  .byte  102,15,110,224                      // movd          %eax,%xmm4
+  .byte  102,15,196,230,1                    // pinsrw        $0x1,%esi,%xmm4
+  .byte  102,15,239,210                      // pxor          %xmm2,%xmm2
+  .byte  102,15,96,234                       // punpcklbw     %xmm2,%xmm5
+  .byte  102,15,97,234                       // punpcklwd     %xmm2,%xmm5
+  .byte  15,91,197                           // cvtdq2ps      %xmm5,%xmm0
+  .byte  102,15,96,202                       // punpcklbw     %xmm2,%xmm1
+  .byte  102,15,97,202                       // punpcklwd     %xmm2,%xmm1
+  .byte  102,15,96,218                       // punpcklbw     %xmm2,%xmm3
+  .byte  102,15,97,218                       // punpcklwd     %xmm2,%xmm3
+  .byte  102,15,96,226                       // punpcklbw     %xmm2,%xmm4
+  .byte  102,15,97,226                       // punpcklwd     %xmm2,%xmm4
+  .byte  15,40,169,80,214,0,0                // movaps        0xd650(%ecx),%xmm5
+  .byte  15,89,197                           // mulps         %xmm5,%xmm0
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  15,89,205                           // mulps         %xmm5,%xmm1
+  .byte  15,91,211                           // cvtdq2ps      %xmm3,%xmm2
+  .byte  15,89,213                           // mulps         %xmm5,%xmm2
+  .byte  15,91,220                           // cvtdq2ps      %xmm4,%xmm3
+  .byte  15,89,221                           // mulps         %xmm5,%xmm3
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  141,65,8                            // lea           0x8(%ecx),%eax
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  80                                  // push          %eax
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,81,4                            // call          *0x4(%ecx)
+  .byte  131,196,28                          // add           $0x1c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_byte_tables_rgb_sse2
+.globl _sk_byte_tables_rgb_sse2
+FUNCTION(_sk_byte_tables_rgb_sse2)
+_sk_byte_tables_rgb_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,12                          // sub           $0xc,%esp
+  .byte  232,0,0,0,0                         // call          34e3 <_sk_byte_tables_rgb_sse2+0xe>
+  .byte  89                                  // pop           %ecx
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,16                              // mov           (%eax),%edx
+  .byte  139,114,12                          // mov           0xc(%edx),%esi
+  .byte  78                                  // dec           %esi
+  .byte  102,15,110,230                      // movd          %esi,%xmm4
+  .byte  102,15,112,228,0                    // pshufd        $0x0,%xmm4,%xmm4
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  15,87,237                           // xorps         %xmm5,%xmm5
+  .byte  15,95,232                           // maxps         %xmm0,%xmm5
+  .byte  15,40,129,125,210,0,0               // movaps        0xd27d(%ecx),%xmm0
+  .byte  15,93,232                           // minps         %xmm0,%xmm5
+  .byte  15,89,236                           // mulps         %xmm4,%xmm5
+  .byte  102,15,91,237                       // cvtps2dq      %xmm5,%xmm5
+  .byte  102,15,112,245,78                   // pshufd        $0x4e,%xmm5,%xmm6
+  .byte  102,15,126,246                      // movd          %xmm6,%esi
+  .byte  102,15,112,245,231                  // pshufd        $0xe7,%xmm5,%xmm6
+  .byte  139,58                              // mov           (%edx),%edi
+  .byte  15,182,52,55                        // movzbl        (%edi,%esi,1),%esi
+  .byte  102,15,126,243                      // movd          %xmm6,%ebx
+  .byte  15,182,28,31                        // movzbl        (%edi,%ebx,1),%ebx
+  .byte  193,227,8                           // shl           $0x8,%ebx
+  .byte  9,243                               // or            %esi,%ebx
+  .byte  102,15,112,245,229                  // pshufd        $0xe5,%xmm5,%xmm6
+  .byte  102,15,126,238                      // movd          %xmm5,%esi
+  .byte  15,182,52,55                        // movzbl        (%edi,%esi,1),%esi
+  .byte  102,15,126,240                      // movd          %xmm6,%eax
+  .byte  15,182,4,7                          // movzbl        (%edi,%eax,1),%eax
+  .byte  193,224,8                           // shl           $0x8,%eax
+  .byte  9,240                               // or            %esi,%eax
+  .byte  102,15,110,232                      // movd          %eax,%xmm5
+  .byte  139,66,4                            // mov           0x4(%edx),%eax
+  .byte  102,15,196,235,1                    // pinsrw        $0x1,%ebx,%xmm5
+  .byte  102,15,239,246                      // pxor          %xmm6,%xmm6
+  .byte  15,95,241                           // maxps         %xmm1,%xmm6
+  .byte  15,93,240                           // minps         %xmm0,%xmm6
+  .byte  15,89,244                           // mulps         %xmm4,%xmm6
+  .byte  102,15,91,206                       // cvtps2dq      %xmm6,%xmm1
+  .byte  102,15,112,241,78                   // pshufd        $0x4e,%xmm1,%xmm6
+  .byte  102,15,126,246                      // movd          %xmm6,%esi
+  .byte  102,15,112,241,231                  // pshufd        $0xe7,%xmm1,%xmm6
+  .byte  15,182,52,48                        // movzbl        (%eax,%esi,1),%esi
+  .byte  102,15,126,247                      // movd          %xmm6,%edi
+  .byte  15,182,60,56                        // movzbl        (%eax,%edi,1),%edi
+  .byte  193,231,8                           // shl           $0x8,%edi
+  .byte  9,247                               // or            %esi,%edi
+  .byte  102,15,112,241,229                  // pshufd        $0xe5,%xmm1,%xmm6
+  .byte  102,15,126,206                      // movd          %xmm1,%esi
+  .byte  15,182,52,48                        // movzbl        (%eax,%esi,1),%esi
+  .byte  102,15,126,243                      // movd          %xmm6,%ebx
+  .byte  15,182,4,24                         // movzbl        (%eax,%ebx,1),%eax
+  .byte  193,224,8                           // shl           $0x8,%eax
+  .byte  9,240                               // or            %esi,%eax
+  .byte  102,15,87,201                       // xorpd         %xmm1,%xmm1
+  .byte  15,95,202                           // maxps         %xmm2,%xmm1
+  .byte  15,93,200                           // minps         %xmm0,%xmm1
+  .byte  102,15,110,208                      // movd          %eax,%xmm2
+  .byte  102,15,196,215,1                    // pinsrw        $0x1,%edi,%xmm2
+  .byte  139,66,8                            // mov           0x8(%edx),%eax
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  102,15,91,193                       // cvtps2dq      %xmm1,%xmm0
+  .byte  102,15,112,200,78                   // pshufd        $0x4e,%xmm0,%xmm1
+  .byte  102,15,126,202                      // movd          %xmm1,%edx
+  .byte  102,15,112,200,231                  // pshufd        $0xe7,%xmm0,%xmm1
+  .byte  102,15,126,206                      // movd          %xmm1,%esi
+  .byte  15,182,20,16                        // movzbl        (%eax,%edx,1),%edx
+  .byte  15,182,52,48                        // movzbl        (%eax,%esi,1),%esi
+  .byte  193,230,8                           // shl           $0x8,%esi
+  .byte  9,214                               // or            %edx,%esi
+  .byte  102,15,126,194                      // movd          %xmm0,%edx
+  .byte  102,15,112,192,229                  // pshufd        $0xe5,%xmm0,%xmm0
+  .byte  15,182,20,16                        // movzbl        (%eax,%edx,1),%edx
+  .byte  102,15,126,199                      // movd          %xmm0,%edi
+  .byte  15,182,4,56                         // movzbl        (%eax,%edi,1),%eax
+  .byte  193,224,8                           // shl           $0x8,%eax
+  .byte  9,208                               // or            %edx,%eax
+  .byte  102,15,110,224                      // movd          %eax,%xmm4
+  .byte  102,15,196,230,1                    // pinsrw        $0x1,%esi,%xmm4
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  102,15,96,233                       // punpcklbw     %xmm1,%xmm5
+  .byte  102,15,97,233                       // punpcklwd     %xmm1,%xmm5
+  .byte  15,91,197                           // cvtdq2ps      %xmm5,%xmm0
+  .byte  102,15,96,209                       // punpcklbw     %xmm1,%xmm2
+  .byte  102,15,97,209                       // punpcklwd     %xmm1,%xmm2
+  .byte  102,15,96,225                       // punpcklbw     %xmm1,%xmm4
+  .byte  102,15,97,225                       // punpcklwd     %xmm1,%xmm4
+  .byte  15,40,169,125,212,0,0               // movaps        0xd47d(%ecx),%xmm5
+  .byte  15,89,197                           // mulps         %xmm5,%xmm0
+  .byte  15,91,202                           // cvtdq2ps      %xmm2,%xmm1
+  .byte  15,89,205                           // mulps         %xmm5,%xmm1
+  .byte  15,91,212                           // cvtdq2ps      %xmm4,%xmm2
+  .byte  15,89,213                           // mulps         %xmm5,%xmm2
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  141,65,8                            // lea           0x8(%ecx),%eax
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  80                                  // push          %eax
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,81,4                            // call          *0x4(%ecx)
+  .byte  131,196,28                          // add           $0x1c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_table_r_sse2
+.globl _sk_table_r_sse2
+FUNCTION(_sk_table_r_sse2)
+_sk_table_r_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  139,81,4                            // mov           0x4(%ecx),%edx
+  .byte  74                                  // dec           %edx
+  .byte  102,15,110,226                      // movd          %edx,%xmm4
+  .byte  232,0,0,0,0                         // call          3665 <_sk_table_r_sse2+0x18>
+  .byte  90                                  // pop           %edx
+  .byte  139,9                               // mov           (%ecx),%ecx
+  .byte  102,15,112,228,0                    // pshufd        $0x0,%xmm4,%xmm4
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  15,87,237                           // xorps         %xmm5,%xmm5
+  .byte  15,95,232                           // maxps         %xmm0,%xmm5
+  .byte  15,93,170,251,208,0,0               // minps         0xd0fb(%edx),%xmm5
+  .byte  15,89,236                           // mulps         %xmm4,%xmm5
+  .byte  102,15,91,197                       // cvtps2dq      %xmm5,%xmm0
+  .byte  102,15,112,224,78                   // pshufd        $0x4e,%xmm0,%xmm4
+  .byte  102,15,112,232,231                  // pshufd        $0xe7,%xmm0,%xmm5
+  .byte  102,15,126,234                      // movd          %xmm5,%edx
+  .byte  243,15,16,44,145                    // movss         (%ecx,%edx,4),%xmm5
+  .byte  102,15,126,226                      // movd          %xmm4,%edx
+  .byte  243,15,16,36,145                    // movss         (%ecx,%edx,4),%xmm4
+  .byte  102,15,126,194                      // movd          %xmm0,%edx
+  .byte  102,15,112,240,229                  // pshufd        $0xe5,%xmm0,%xmm6
+  .byte  243,15,16,4,145                     // movss         (%ecx,%edx,4),%xmm0
+  .byte  102,15,126,242                      // movd          %xmm6,%edx
+  .byte  243,15,16,52,145                    // movss         (%ecx,%edx,4),%xmm6
+  .byte  15,20,229                           // unpcklps      %xmm5,%xmm4
+  .byte  15,20,198                           // unpcklps      %xmm6,%xmm0
+  .byte  102,15,20,196                       // unpcklpd      %xmm4,%xmm0
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_table_g_sse2
+.globl _sk_table_g_sse2
+FUNCTION(_sk_table_g_sse2)
+_sk_table_g_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  139,81,4                            // mov           0x4(%ecx),%edx
+  .byte  74                                  // dec           %edx
+  .byte  102,15,110,226                      // movd          %edx,%xmm4
+  .byte  232,0,0,0,0                         // call          36eb <_sk_table_g_sse2+0x18>
+  .byte  90                                  // pop           %edx
+  .byte  139,9                               // mov           (%ecx),%ecx
+  .byte  102,15,112,228,0                    // pshufd        $0x0,%xmm4,%xmm4
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  15,87,237                           // xorps         %xmm5,%xmm5
+  .byte  15,95,233                           // maxps         %xmm1,%xmm5
+  .byte  15,93,170,117,208,0,0               // minps         0xd075(%edx),%xmm5
+  .byte  15,89,236                           // mulps         %xmm4,%xmm5
+  .byte  102,15,91,205                       // cvtps2dq      %xmm5,%xmm1
+  .byte  102,15,112,225,78                   // pshufd        $0x4e,%xmm1,%xmm4
+  .byte  102,15,112,233,231                  // pshufd        $0xe7,%xmm1,%xmm5
+  .byte  102,15,126,234                      // movd          %xmm5,%edx
+  .byte  243,15,16,44,145                    // movss         (%ecx,%edx,4),%xmm5
+  .byte  102,15,126,226                      // movd          %xmm4,%edx
+  .byte  243,15,16,36,145                    // movss         (%ecx,%edx,4),%xmm4
+  .byte  102,15,126,202                      // movd          %xmm1,%edx
+  .byte  102,15,112,241,229                  // pshufd        $0xe5,%xmm1,%xmm6
+  .byte  243,15,16,12,145                    // movss         (%ecx,%edx,4),%xmm1
+  .byte  102,15,126,242                      // movd          %xmm6,%edx
+  .byte  243,15,16,52,145                    // movss         (%ecx,%edx,4),%xmm6
+  .byte  15,20,229                           // unpcklps      %xmm5,%xmm4
+  .byte  15,20,206                           // unpcklps      %xmm6,%xmm1
+  .byte  102,15,20,204                       // unpcklpd      %xmm4,%xmm1
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_table_b_sse2
+.globl _sk_table_b_sse2
+FUNCTION(_sk_table_b_sse2)
+_sk_table_b_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  139,81,4                            // mov           0x4(%ecx),%edx
+  .byte  74                                  // dec           %edx
+  .byte  102,15,110,226                      // movd          %edx,%xmm4
+  .byte  232,0,0,0,0                         // call          3771 <_sk_table_b_sse2+0x18>
+  .byte  90                                  // pop           %edx
+  .byte  139,9                               // mov           (%ecx),%ecx
+  .byte  102,15,112,228,0                    // pshufd        $0x0,%xmm4,%xmm4
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  15,87,237                           // xorps         %xmm5,%xmm5
+  .byte  15,95,234                           // maxps         %xmm2,%xmm5
+  .byte  15,93,170,239,207,0,0               // minps         0xcfef(%edx),%xmm5
+  .byte  15,89,236                           // mulps         %xmm4,%xmm5
+  .byte  102,15,91,213                       // cvtps2dq      %xmm5,%xmm2
+  .byte  102,15,112,226,78                   // pshufd        $0x4e,%xmm2,%xmm4
+  .byte  102,15,112,234,231                  // pshufd        $0xe7,%xmm2,%xmm5
+  .byte  102,15,126,234                      // movd          %xmm5,%edx
+  .byte  243,15,16,44,145                    // movss         (%ecx,%edx,4),%xmm5
+  .byte  102,15,126,226                      // movd          %xmm4,%edx
+  .byte  243,15,16,36,145                    // movss         (%ecx,%edx,4),%xmm4
+  .byte  102,15,126,210                      // movd          %xmm2,%edx
+  .byte  102,15,112,242,229                  // pshufd        $0xe5,%xmm2,%xmm6
+  .byte  243,15,16,20,145                    // movss         (%ecx,%edx,4),%xmm2
+  .byte  102,15,126,242                      // movd          %xmm6,%edx
+  .byte  243,15,16,52,145                    // movss         (%ecx,%edx,4),%xmm6
+  .byte  15,20,229                           // unpcklps      %xmm5,%xmm4
+  .byte  15,20,214                           // unpcklps      %xmm6,%xmm2
+  .byte  102,15,20,212                       // unpcklpd      %xmm4,%xmm2
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_table_a_sse2
+.globl _sk_table_a_sse2
+FUNCTION(_sk_table_a_sse2)
+_sk_table_a_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  139,81,4                            // mov           0x4(%ecx),%edx
+  .byte  74                                  // dec           %edx
+  .byte  102,15,110,226                      // movd          %edx,%xmm4
+  .byte  232,0,0,0,0                         // call          37f7 <_sk_table_a_sse2+0x18>
+  .byte  90                                  // pop           %edx
+  .byte  139,9                               // mov           (%ecx),%ecx
+  .byte  102,15,112,228,0                    // pshufd        $0x0,%xmm4,%xmm4
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  15,87,237                           // xorps         %xmm5,%xmm5
+  .byte  15,95,235                           // maxps         %xmm3,%xmm5
+  .byte  15,93,170,105,207,0,0               // minps         0xcf69(%edx),%xmm5
+  .byte  15,89,236                           // mulps         %xmm4,%xmm5
+  .byte  102,15,91,221                       // cvtps2dq      %xmm5,%xmm3
+  .byte  102,15,112,227,78                   // pshufd        $0x4e,%xmm3,%xmm4
+  .byte  102,15,112,235,231                  // pshufd        $0xe7,%xmm3,%xmm5
+  .byte  102,15,126,234                      // movd          %xmm5,%edx
+  .byte  243,15,16,44,145                    // movss         (%ecx,%edx,4),%xmm5
+  .byte  102,15,126,226                      // movd          %xmm4,%edx
+  .byte  243,15,16,36,145                    // movss         (%ecx,%edx,4),%xmm4
+  .byte  102,15,126,218                      // movd          %xmm3,%edx
+  .byte  102,15,112,243,229                  // pshufd        $0xe5,%xmm3,%xmm6
+  .byte  243,15,16,28,145                    // movss         (%ecx,%edx,4),%xmm3
+  .byte  102,15,126,242                      // movd          %xmm6,%edx
+  .byte  243,15,16,52,145                    // movss         (%ecx,%edx,4),%xmm6
+  .byte  15,20,229                           // unpcklps      %xmm5,%xmm4
+  .byte  15,20,222                           // unpcklps      %xmm6,%xmm3
+  .byte  102,15,20,220                       // unpcklpd      %xmm4,%xmm3
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_parametric_r_sse2
+.globl _sk_parametric_r_sse2
+FUNCTION(_sk_parametric_r_sse2)
+_sk_parametric_r_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,40                          // sub           $0x28,%esp
+  .byte  15,41,93,216                        // movaps        %xmm3,-0x28(%ebp)
+  .byte  15,41,85,232                        // movaps        %xmm2,-0x18(%ebp)
+  .byte  15,40,217                           // movaps        %xmm1,%xmm3
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  232,0,0,0,0                         // call          387e <_sk_parametric_r_sse2+0x19>
+  .byte  90                                  // pop           %edx
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  243,15,16,113,16                    // movss         0x10(%ecx),%xmm6
+  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
+  .byte  243,15,16,81,12                     // movss         0xc(%ecx),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  15,89,209                           // mulps         %xmm1,%xmm2
+  .byte  243,15,16,105,4                     // movss         0x4(%ecx),%xmm5
+  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
+  .byte  15,89,233                           // mulps         %xmm1,%xmm5
+  .byte  15,194,206,2                        // cmpleps       %xmm6,%xmm1
+  .byte  243,15,16,113,24                    // movss         0x18(%ecx),%xmm6
+  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
+  .byte  15,88,214                           // addps         %xmm6,%xmm2
+  .byte  243,15,16,113,8                     // movss         0x8(%ecx),%xmm6
+  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
+  .byte  15,88,238                           // addps         %xmm6,%xmm5
+  .byte  15,91,245                           // cvtdq2ps      %xmm5,%xmm6
+  .byte  15,89,178,114,209,0,0               // mulps         0xd172(%edx),%xmm6
+  .byte  15,40,186,130,209,0,0               // movaps        0xd182(%edx),%xmm7
+  .byte  15,84,253                           // andps         %xmm5,%xmm7
+  .byte  15,86,186,210,206,0,0               // orps          0xced2(%edx),%xmm7
+  .byte  15,88,178,146,209,0,0               // addps         0xd192(%edx),%xmm6
+  .byte  15,40,162,162,209,0,0               // movaps        0xd1a2(%edx),%xmm4
+  .byte  15,89,231                           // mulps         %xmm7,%xmm4
+  .byte  15,92,244                           // subps         %xmm4,%xmm6
+  .byte  15,88,186,178,209,0,0               // addps         0xd1b2(%edx),%xmm7
+  .byte  15,40,162,194,209,0,0               // movaps        0xd1c2(%edx),%xmm4
+  .byte  15,94,231                           // divps         %xmm7,%xmm4
+  .byte  15,92,244                           // subps         %xmm4,%xmm6
+  .byte  243,15,16,33                        // movss         (%ecx),%xmm4
+  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
+  .byte  15,89,244                           // mulps         %xmm4,%xmm6
+  .byte  243,15,91,230                       // cvttps2dq     %xmm6,%xmm4
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  15,40,198                           // movaps        %xmm6,%xmm0
+  .byte  15,194,196,1                        // cmpltps       %xmm4,%xmm0
+  .byte  15,40,186,226,206,0,0               // movaps        0xcee2(%edx),%xmm7
+  .byte  15,84,199                           // andps         %xmm7,%xmm0
+  .byte  15,92,224                           // subps         %xmm0,%xmm4
+  .byte  15,40,198                           // movaps        %xmm6,%xmm0
+  .byte  15,92,196                           // subps         %xmm4,%xmm0
+  .byte  15,88,178,210,209,0,0               // addps         0xd1d2(%edx),%xmm6
+  .byte  15,40,162,226,209,0,0               // movaps        0xd1e2(%edx),%xmm4
+  .byte  15,89,224                           // mulps         %xmm0,%xmm4
+  .byte  15,92,244                           // subps         %xmm4,%xmm6
+  .byte  15,40,162,242,209,0,0               // movaps        0xd1f2(%edx),%xmm4
+  .byte  15,92,224                           // subps         %xmm0,%xmm4
+  .byte  15,40,130,2,210,0,0                 // movaps        0xd202(%edx),%xmm0
+  .byte  15,94,196                           // divps         %xmm4,%xmm0
+  .byte  15,88,198                           // addps         %xmm6,%xmm0
+  .byte  15,89,130,18,210,0,0                // mulps         0xd212(%edx),%xmm0
+  .byte  102,15,91,192                       // cvtps2dq      %xmm0,%xmm0
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,194,236,4                        // cmpneqps      %xmm4,%xmm5
+  .byte  15,84,232                           // andps         %xmm0,%xmm5
+  .byte  243,15,16,65,20                     // movss         0x14(%ecx),%xmm0
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  15,88,197                           // addps         %xmm5,%xmm0
+  .byte  15,84,209                           // andps         %xmm1,%xmm2
+  .byte  15,85,200                           // andnps        %xmm0,%xmm1
+  .byte  15,86,202                           // orps          %xmm2,%xmm1
+  .byte  15,95,204                           // maxps         %xmm4,%xmm1
+  .byte  15,93,207                           // minps         %xmm7,%xmm1
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,193                           // movaps        %xmm1,%xmm0
+  .byte  15,40,203                           // movaps        %xmm3,%xmm1
+  .byte  15,40,85,232                        // movaps        -0x18(%ebp),%xmm2
+  .byte  15,40,93,216                        // movaps        -0x28(%ebp),%xmm3
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,56                          // add           $0x38,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_parametric_g_sse2
+.globl _sk_parametric_g_sse2
+FUNCTION(_sk_parametric_g_sse2)
+_sk_parametric_g_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,40                          // sub           $0x28,%esp
+  .byte  15,41,93,216                        // movaps        %xmm3,-0x28(%ebp)
+  .byte  15,41,85,232                        // movaps        %xmm2,-0x18(%ebp)
+  .byte  15,40,216                           // movaps        %xmm0,%xmm3
+  .byte  232,0,0,0,0                         // call          39c1 <_sk_parametric_g_sse2+0x16>
+  .byte  90                                  // pop           %edx
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  243,15,16,113,16                    // movss         0x10(%ecx),%xmm6
+  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
+  .byte  243,15,16,81,12                     // movss         0xc(%ecx),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  15,89,209                           // mulps         %xmm1,%xmm2
+  .byte  243,15,16,105,4                     // movss         0x4(%ecx),%xmm5
+  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
+  .byte  15,89,233                           // mulps         %xmm1,%xmm5
+  .byte  15,194,206,2                        // cmpleps       %xmm6,%xmm1
+  .byte  243,15,16,113,24                    // movss         0x18(%ecx),%xmm6
+  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
+  .byte  15,88,214                           // addps         %xmm6,%xmm2
+  .byte  243,15,16,113,8                     // movss         0x8(%ecx),%xmm6
+  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
+  .byte  15,88,238                           // addps         %xmm6,%xmm5
+  .byte  15,91,245                           // cvtdq2ps      %xmm5,%xmm6
+  .byte  15,89,178,47,208,0,0                // mulps         0xd02f(%edx),%xmm6
+  .byte  15,40,186,63,208,0,0                // movaps        0xd03f(%edx),%xmm7
+  .byte  15,84,253                           // andps         %xmm5,%xmm7
+  .byte  15,86,186,143,205,0,0               // orps          0xcd8f(%edx),%xmm7
+  .byte  15,88,178,79,208,0,0                // addps         0xd04f(%edx),%xmm6
+  .byte  15,40,162,95,208,0,0                // movaps        0xd05f(%edx),%xmm4
+  .byte  15,89,231                           // mulps         %xmm7,%xmm4
+  .byte  15,92,244                           // subps         %xmm4,%xmm6
+  .byte  15,88,186,111,208,0,0               // addps         0xd06f(%edx),%xmm7
+  .byte  15,40,162,127,208,0,0               // movaps        0xd07f(%edx),%xmm4
+  .byte  15,94,231                           // divps         %xmm7,%xmm4
+  .byte  15,92,244                           // subps         %xmm4,%xmm6
+  .byte  243,15,16,33                        // movss         (%ecx),%xmm4
+  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
+  .byte  15,89,244                           // mulps         %xmm4,%xmm6
+  .byte  243,15,91,230                       // cvttps2dq     %xmm6,%xmm4
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  15,40,198                           // movaps        %xmm6,%xmm0
+  .byte  15,194,196,1                        // cmpltps       %xmm4,%xmm0
+  .byte  15,40,186,159,205,0,0               // movaps        0xcd9f(%edx),%xmm7
+  .byte  15,84,199                           // andps         %xmm7,%xmm0
+  .byte  15,92,224                           // subps         %xmm0,%xmm4
+  .byte  15,40,198                           // movaps        %xmm6,%xmm0
+  .byte  15,92,196                           // subps         %xmm4,%xmm0
+  .byte  15,88,178,143,208,0,0               // addps         0xd08f(%edx),%xmm6
+  .byte  15,40,162,159,208,0,0               // movaps        0xd09f(%edx),%xmm4
+  .byte  15,89,224                           // mulps         %xmm0,%xmm4
+  .byte  15,92,244                           // subps         %xmm4,%xmm6
+  .byte  15,40,162,175,208,0,0               // movaps        0xd0af(%edx),%xmm4
+  .byte  15,92,224                           // subps         %xmm0,%xmm4
+  .byte  15,40,130,191,208,0,0               // movaps        0xd0bf(%edx),%xmm0
+  .byte  15,94,196                           // divps         %xmm4,%xmm0
+  .byte  15,88,198                           // addps         %xmm6,%xmm0
+  .byte  15,89,130,207,208,0,0               // mulps         0xd0cf(%edx),%xmm0
+  .byte  102,15,91,192                       // cvtps2dq      %xmm0,%xmm0
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,194,236,4                        // cmpneqps      %xmm4,%xmm5
+  .byte  15,84,232                           // andps         %xmm0,%xmm5
+  .byte  243,15,16,65,20                     // movss         0x14(%ecx),%xmm0
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  15,88,197                           // addps         %xmm5,%xmm0
+  .byte  15,84,209                           // andps         %xmm1,%xmm2
+  .byte  15,85,200                           // andnps        %xmm0,%xmm1
+  .byte  15,86,202                           // orps          %xmm2,%xmm1
+  .byte  15,95,204                           // maxps         %xmm4,%xmm1
+  .byte  15,93,207                           // minps         %xmm7,%xmm1
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,195                           // movaps        %xmm3,%xmm0
+  .byte  15,40,85,232                        // movaps        -0x18(%ebp),%xmm2
+  .byte  15,40,93,216                        // movaps        -0x28(%ebp),%xmm3
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,56                          // add           $0x38,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_parametric_b_sse2
+.globl _sk_parametric_b_sse2
+FUNCTION(_sk_parametric_b_sse2)
+_sk_parametric_b_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,40                          // sub           $0x28,%esp
+  .byte  15,41,93,216                        // movaps        %xmm3,-0x28(%ebp)
+  .byte  15,41,77,232                        // movaps        %xmm1,-0x18(%ebp)
+  .byte  15,40,216                           // movaps        %xmm0,%xmm3
+  .byte  232,0,0,0,0                         // call          3b01 <_sk_parametric_b_sse2+0x16>
+  .byte  90                                  // pop           %edx
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  243,15,16,113,16                    // movss         0x10(%ecx),%xmm6
+  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
+  .byte  243,15,16,73,12                     // movss         0xc(%ecx),%xmm1
+  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
+  .byte  15,89,202                           // mulps         %xmm2,%xmm1
+  .byte  243,15,16,105,4                     // movss         0x4(%ecx),%xmm5
+  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
+  .byte  15,89,234                           // mulps         %xmm2,%xmm5
+  .byte  15,194,214,2                        // cmpleps       %xmm6,%xmm2
+  .byte  243,15,16,113,24                    // movss         0x18(%ecx),%xmm6
+  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
+  .byte  15,88,206                           // addps         %xmm6,%xmm1
+  .byte  243,15,16,113,8                     // movss         0x8(%ecx),%xmm6
+  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
+  .byte  15,88,238                           // addps         %xmm6,%xmm5
+  .byte  15,91,245                           // cvtdq2ps      %xmm5,%xmm6
+  .byte  15,89,178,239,206,0,0               // mulps         0xceef(%edx),%xmm6
+  .byte  15,40,186,255,206,0,0               // movaps        0xceff(%edx),%xmm7
+  .byte  15,84,253                           // andps         %xmm5,%xmm7
+  .byte  15,86,186,79,204,0,0                // orps          0xcc4f(%edx),%xmm7
+  .byte  15,88,178,15,207,0,0                // addps         0xcf0f(%edx),%xmm6
+  .byte  15,40,162,31,207,0,0                // movaps        0xcf1f(%edx),%xmm4
+  .byte  15,89,231                           // mulps         %xmm7,%xmm4
+  .byte  15,92,244                           // subps         %xmm4,%xmm6
+  .byte  15,88,186,47,207,0,0                // addps         0xcf2f(%edx),%xmm7
+  .byte  15,40,162,63,207,0,0                // movaps        0xcf3f(%edx),%xmm4
+  .byte  15,94,231                           // divps         %xmm7,%xmm4
+  .byte  15,92,244                           // subps         %xmm4,%xmm6
+  .byte  243,15,16,33                        // movss         (%ecx),%xmm4
+  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
+  .byte  15,89,244                           // mulps         %xmm4,%xmm6
+  .byte  243,15,91,230                       // cvttps2dq     %xmm6,%xmm4
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  15,40,198                           // movaps        %xmm6,%xmm0
+  .byte  15,194,196,1                        // cmpltps       %xmm4,%xmm0
+  .byte  15,40,186,95,204,0,0                // movaps        0xcc5f(%edx),%xmm7
+  .byte  15,84,199                           // andps         %xmm7,%xmm0
+  .byte  15,92,224                           // subps         %xmm0,%xmm4
+  .byte  15,40,198                           // movaps        %xmm6,%xmm0
+  .byte  15,92,196                           // subps         %xmm4,%xmm0
+  .byte  15,88,178,79,207,0,0                // addps         0xcf4f(%edx),%xmm6
+  .byte  15,40,162,95,207,0,0                // movaps        0xcf5f(%edx),%xmm4
+  .byte  15,89,224                           // mulps         %xmm0,%xmm4
+  .byte  15,92,244                           // subps         %xmm4,%xmm6
+  .byte  15,40,162,111,207,0,0               // movaps        0xcf6f(%edx),%xmm4
+  .byte  15,92,224                           // subps         %xmm0,%xmm4
+  .byte  15,40,130,127,207,0,0               // movaps        0xcf7f(%edx),%xmm0
+  .byte  15,94,196                           // divps         %xmm4,%xmm0
+  .byte  15,88,198                           // addps         %xmm6,%xmm0
+  .byte  15,89,130,143,207,0,0               // mulps         0xcf8f(%edx),%xmm0
+  .byte  102,15,91,192                       // cvtps2dq      %xmm0,%xmm0
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,194,236,4                        // cmpneqps      %xmm4,%xmm5
+  .byte  15,84,232                           // andps         %xmm0,%xmm5
+  .byte  243,15,16,65,20                     // movss         0x14(%ecx),%xmm0
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  15,88,197                           // addps         %xmm5,%xmm0
+  .byte  15,84,202                           // andps         %xmm2,%xmm1
+  .byte  15,85,208                           // andnps        %xmm0,%xmm2
+  .byte  15,86,209                           // orps          %xmm1,%xmm2
+  .byte  15,95,212                           // maxps         %xmm4,%xmm2
+  .byte  15,93,215                           // minps         %xmm7,%xmm2
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,195                           // movaps        %xmm3,%xmm0
+  .byte  15,40,77,232                        // movaps        -0x18(%ebp),%xmm1
+  .byte  15,40,93,216                        // movaps        -0x28(%ebp),%xmm3
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,56                          // add           $0x38,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_parametric_a_sse2
+.globl _sk_parametric_a_sse2
+FUNCTION(_sk_parametric_a_sse2)
+_sk_parametric_a_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,40                          // sub           $0x28,%esp
+  .byte  15,41,85,216                        // movaps        %xmm2,-0x28(%ebp)
+  .byte  15,41,77,232                        // movaps        %xmm1,-0x18(%ebp)
+  .byte  15,40,208                           // movaps        %xmm0,%xmm2
+  .byte  232,0,0,0,0                         // call          3c41 <_sk_parametric_a_sse2+0x16>
+  .byte  90                                  // pop           %edx
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  243,15,16,113,16                    // movss         0x10(%ecx),%xmm6
+  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
+  .byte  243,15,16,73,12                     // movss         0xc(%ecx),%xmm1
+  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
+  .byte  15,89,203                           // mulps         %xmm3,%xmm1
+  .byte  243,15,16,105,4                     // movss         0x4(%ecx),%xmm5
+  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
+  .byte  15,89,235                           // mulps         %xmm3,%xmm5
+  .byte  15,194,222,2                        // cmpleps       %xmm6,%xmm3
+  .byte  243,15,16,113,24                    // movss         0x18(%ecx),%xmm6
+  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
+  .byte  15,88,206                           // addps         %xmm6,%xmm1
+  .byte  243,15,16,113,8                     // movss         0x8(%ecx),%xmm6
+  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
+  .byte  15,88,238                           // addps         %xmm6,%xmm5
+  .byte  15,91,245                           // cvtdq2ps      %xmm5,%xmm6
+  .byte  15,89,178,175,205,0,0               // mulps         0xcdaf(%edx),%xmm6
+  .byte  15,40,186,191,205,0,0               // movaps        0xcdbf(%edx),%xmm7
+  .byte  15,84,253                           // andps         %xmm5,%xmm7
+  .byte  15,86,186,15,203,0,0                // orps          0xcb0f(%edx),%xmm7
+  .byte  15,88,178,207,205,0,0               // addps         0xcdcf(%edx),%xmm6
+  .byte  15,40,162,223,205,0,0               // movaps        0xcddf(%edx),%xmm4
+  .byte  15,89,231                           // mulps         %xmm7,%xmm4
+  .byte  15,92,244                           // subps         %xmm4,%xmm6
+  .byte  15,88,186,239,205,0,0               // addps         0xcdef(%edx),%xmm7
+  .byte  15,40,162,255,205,0,0               // movaps        0xcdff(%edx),%xmm4
+  .byte  15,94,231                           // divps         %xmm7,%xmm4
+  .byte  15,92,244                           // subps         %xmm4,%xmm6
+  .byte  243,15,16,33                        // movss         (%ecx),%xmm4
+  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
+  .byte  15,89,244                           // mulps         %xmm4,%xmm6
+  .byte  243,15,91,230                       // cvttps2dq     %xmm6,%xmm4
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  15,40,198                           // movaps        %xmm6,%xmm0
+  .byte  15,194,196,1                        // cmpltps       %xmm4,%xmm0
+  .byte  15,40,186,31,203,0,0                // movaps        0xcb1f(%edx),%xmm7
+  .byte  15,84,199                           // andps         %xmm7,%xmm0
+  .byte  15,92,224                           // subps         %xmm0,%xmm4
+  .byte  15,40,198                           // movaps        %xmm6,%xmm0
+  .byte  15,92,196                           // subps         %xmm4,%xmm0
+  .byte  15,88,178,15,206,0,0                // addps         0xce0f(%edx),%xmm6
+  .byte  15,40,162,31,206,0,0                // movaps        0xce1f(%edx),%xmm4
+  .byte  15,89,224                           // mulps         %xmm0,%xmm4
+  .byte  15,92,244                           // subps         %xmm4,%xmm6
+  .byte  15,40,162,47,206,0,0                // movaps        0xce2f(%edx),%xmm4
+  .byte  15,92,224                           // subps         %xmm0,%xmm4
+  .byte  15,40,130,63,206,0,0                // movaps        0xce3f(%edx),%xmm0
+  .byte  15,94,196                           // divps         %xmm4,%xmm0
+  .byte  15,88,198                           // addps         %xmm6,%xmm0
+  .byte  15,89,130,79,206,0,0                // mulps         0xce4f(%edx),%xmm0
+  .byte  102,15,91,192                       // cvtps2dq      %xmm0,%xmm0
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,194,236,4                        // cmpneqps      %xmm4,%xmm5
+  .byte  15,84,232                           // andps         %xmm0,%xmm5
+  .byte  243,15,16,65,20                     // movss         0x14(%ecx),%xmm0
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  15,88,197                           // addps         %xmm5,%xmm0
+  .byte  15,84,203                           // andps         %xmm3,%xmm1
+  .byte  15,85,216                           // andnps        %xmm0,%xmm3
+  .byte  15,86,217                           // orps          %xmm1,%xmm3
+  .byte  15,95,220                           // maxps         %xmm4,%xmm3
+  .byte  15,93,223                           // minps         %xmm7,%xmm3
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,194                           // movaps        %xmm2,%xmm0
+  .byte  15,40,77,232                        // movaps        -0x18(%ebp),%xmm1
+  .byte  15,40,85,216                        // movaps        -0x28(%ebp),%xmm2
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,56                          // add           $0x38,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_gamma_sse2
+.globl _sk_gamma_sse2
+FUNCTION(_sk_gamma_sse2)
+_sk_gamma_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,88                          // sub           $0x58,%esp
+  .byte  15,41,93,168                        // movaps        %xmm3,-0x58(%ebp)
+  .byte  15,41,85,200                        // movaps        %xmm2,-0x38(%ebp)
+  .byte  15,41,77,232                        // movaps        %xmm1,-0x18(%ebp)
+  .byte  15,41,69,184                        // movaps        %xmm0,-0x48(%ebp)
+  .byte  232,0,0,0,0                         // call          3d86 <_sk_gamma_sse2+0x1b>
+  .byte  88                                  // pop           %eax
+  .byte  15,91,232                           // cvtdq2ps      %xmm0,%xmm5
+  .byte  15,89,168,106,204,0,0               // mulps         0xcc6a(%eax),%xmm5
+  .byte  15,40,160,122,204,0,0               // movaps        0xcc7a(%eax),%xmm4
+  .byte  15,40,208                           // movaps        %xmm0,%xmm2
+  .byte  15,84,212                           // andps         %xmm4,%xmm2
+  .byte  15,86,144,202,201,0,0               // orps          0xc9ca(%eax),%xmm2
+  .byte  15,88,168,138,204,0,0               // addps         0xcc8a(%eax),%xmm5
+  .byte  15,40,202                           // movaps        %xmm2,%xmm1
+  .byte  15,89,136,154,204,0,0               // mulps         0xcc9a(%eax),%xmm1
+  .byte  15,92,233                           // subps         %xmm1,%xmm5
+  .byte  15,88,144,170,204,0,0               // addps         0xccaa(%eax),%xmm2
+  .byte  15,40,136,186,204,0,0               // movaps        0xccba(%eax),%xmm1
+  .byte  15,94,202                           // divps         %xmm2,%xmm1
+  .byte  15,92,233                           // subps         %xmm1,%xmm5
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  139,17                              // mov           (%ecx),%edx
+  .byte  243,15,16,2                         // movss         (%edx),%xmm0
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  15,41,69,216                        // movaps        %xmm0,-0x28(%ebp)
+  .byte  15,89,232                           // mulps         %xmm0,%xmm5
+  .byte  243,15,91,197                       // cvttps2dq     %xmm5,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  15,40,205                           // movaps        %xmm5,%xmm1
+  .byte  15,194,200,1                        // cmpltps       %xmm0,%xmm1
+  .byte  15,84,136,218,201,0,0               // andps         0xc9da(%eax),%xmm1
+  .byte  15,92,193                           // subps         %xmm1,%xmm0
+  .byte  15,40,205                           // movaps        %xmm5,%xmm1
+  .byte  15,92,200                           // subps         %xmm0,%xmm1
+  .byte  15,88,168,202,204,0,0               // addps         0xccca(%eax),%xmm5
+  .byte  15,40,184,234,204,0,0               // movaps        0xccea(%eax),%xmm7
+  .byte  15,40,199                           // movaps        %xmm7,%xmm0
+  .byte  15,92,193                           // subps         %xmm1,%xmm0
+  .byte  15,40,176,218,204,0,0               // movaps        0xccda(%eax),%xmm6
+  .byte  15,89,206                           // mulps         %xmm6,%xmm1
+  .byte  15,92,233                           // subps         %xmm1,%xmm5
+  .byte  15,40,144,250,204,0,0               // movaps        0xccfa(%eax),%xmm2
+  .byte  15,40,218                           // movaps        %xmm2,%xmm3
+  .byte  15,94,216                           // divps         %xmm0,%xmm3
+  .byte  15,88,221                           // addps         %xmm5,%xmm3
+  .byte  15,40,77,232                        // movaps        -0x18(%ebp),%xmm1
+  .byte  15,91,193                           // cvtdq2ps      %xmm1,%xmm0
+  .byte  15,89,128,106,204,0,0               // mulps         0xcc6a(%eax),%xmm0
+  .byte  15,84,204                           // andps         %xmm4,%xmm1
+  .byte  15,86,136,202,201,0,0               // orps          0xc9ca(%eax),%xmm1
+  .byte  15,88,128,138,204,0,0               // addps         0xcc8a(%eax),%xmm0
+  .byte  15,40,233                           // movaps        %xmm1,%xmm5
+  .byte  15,89,168,154,204,0,0               // mulps         0xcc9a(%eax),%xmm5
+  .byte  15,92,197                           // subps         %xmm5,%xmm0
+  .byte  15,88,136,170,204,0,0               // addps         0xccaa(%eax),%xmm1
+  .byte  15,40,168,186,204,0,0               // movaps        0xccba(%eax),%xmm5
+  .byte  15,94,233                           // divps         %xmm1,%xmm5
+  .byte  15,92,197                           // subps         %xmm5,%xmm0
+  .byte  15,89,69,216                        // mulps         -0x28(%ebp),%xmm0
+  .byte  243,15,91,200                       // cvttps2dq     %xmm0,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  15,40,232                           // movaps        %xmm0,%xmm5
+  .byte  15,194,233,1                        // cmpltps       %xmm1,%xmm5
+  .byte  15,84,168,218,201,0,0               // andps         0xc9da(%eax),%xmm5
+  .byte  15,92,205                           // subps         %xmm5,%xmm1
+  .byte  15,40,232                           // movaps        %xmm0,%xmm5
+  .byte  15,92,233                           // subps         %xmm1,%xmm5
+  .byte  15,88,128,202,204,0,0               // addps         0xccca(%eax),%xmm0
+  .byte  15,40,207                           // movaps        %xmm7,%xmm1
+  .byte  15,92,205                           // subps         %xmm5,%xmm1
+  .byte  15,89,238                           // mulps         %xmm6,%xmm5
+  .byte  15,92,197                           // subps         %xmm5,%xmm0
+  .byte  15,40,234                           // movaps        %xmm2,%xmm5
+  .byte  15,94,233                           // divps         %xmm1,%xmm5
+  .byte  15,88,232                           // addps         %xmm0,%xmm5
+  .byte  15,40,77,200                        // movaps        -0x38(%ebp),%xmm1
+  .byte  15,91,193                           // cvtdq2ps      %xmm1,%xmm0
+  .byte  15,89,128,106,204,0,0               // mulps         0xcc6a(%eax),%xmm0
+  .byte  15,84,225                           // andps         %xmm1,%xmm4
+  .byte  15,86,160,202,201,0,0               // orps          0xc9ca(%eax),%xmm4
+  .byte  15,88,128,138,204,0,0               // addps         0xcc8a(%eax),%xmm0
+  .byte  15,40,136,154,204,0,0               // movaps        0xcc9a(%eax),%xmm1
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  15,92,193                           // subps         %xmm1,%xmm0
+  .byte  15,88,160,170,204,0,0               // addps         0xccaa(%eax),%xmm4
+  .byte  15,40,136,186,204,0,0               // movaps        0xccba(%eax),%xmm1
+  .byte  15,94,204                           // divps         %xmm4,%xmm1
+  .byte  15,92,193                           // subps         %xmm1,%xmm0
+  .byte  15,89,69,216                        // mulps         -0x28(%ebp),%xmm0
+  .byte  243,15,91,200                       // cvttps2dq     %xmm0,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  15,40,224                           // movaps        %xmm0,%xmm4
+  .byte  15,194,225,1                        // cmpltps       %xmm1,%xmm4
+  .byte  15,84,160,218,201,0,0               // andps         0xc9da(%eax),%xmm4
+  .byte  15,92,204                           // subps         %xmm4,%xmm1
+  .byte  15,40,224                           // movaps        %xmm0,%xmm4
+  .byte  15,92,225                           // subps         %xmm1,%xmm4
+  .byte  15,88,128,202,204,0,0               // addps         0xccca(%eax),%xmm0
+  .byte  15,89,244                           // mulps         %xmm4,%xmm6
+  .byte  15,92,198                           // subps         %xmm6,%xmm0
+  .byte  15,92,252                           // subps         %xmm4,%xmm7
+  .byte  15,94,215                           // divps         %xmm7,%xmm2
+  .byte  15,88,208                           // addps         %xmm0,%xmm2
+  .byte  15,40,128,10,205,0,0                // movaps        0xcd0a(%eax),%xmm0
+  .byte  15,89,216                           // mulps         %xmm0,%xmm3
+  .byte  15,89,232                           // mulps         %xmm0,%xmm5
+  .byte  15,89,208                           // mulps         %xmm0,%xmm2
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  102,15,91,203                       // cvtps2dq      %xmm3,%xmm1
+  .byte  15,40,69,184                        // movaps        -0x48(%ebp),%xmm0
+  .byte  15,194,196,4                        // cmpneqps      %xmm4,%xmm0
+  .byte  15,84,193                           // andps         %xmm1,%xmm0
+  .byte  102,15,91,205                       // cvtps2dq      %xmm5,%xmm1
+  .byte  15,40,93,232                        // movaps        -0x18(%ebp),%xmm3
+  .byte  15,194,220,4                        // cmpneqps      %xmm4,%xmm3
+  .byte  15,84,217                           // andps         %xmm1,%xmm3
+  .byte  15,40,203                           // movaps        %xmm3,%xmm1
+  .byte  15,40,93,200                        // movaps        -0x38(%ebp),%xmm3
+  .byte  15,194,220,4                        // cmpneqps      %xmm4,%xmm3
+  .byte  102,15,91,210                       // cvtps2dq      %xmm2,%xmm2
+  .byte  15,84,218                           // andps         %xmm2,%xmm3
+  .byte  15,40,211                           // movaps        %xmm3,%xmm2
+  .byte  141,65,8                            // lea           0x8(%ecx),%eax
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,93,168                        // movaps        -0x58(%ebp),%xmm3
+  .byte  80                                  // push          %eax
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,81,4                            // call          *0x4(%ecx)
+  .byte  131,196,104                         // add           $0x68,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_gamma_dst_sse2
+.globl _sk_gamma_dst_sse2
+FUNCTION(_sk_gamma_dst_sse2)
+_sk_gamma_dst_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  86                                  // push          %esi
+  .byte  129,236,212,0,0,0                   // sub           $0xd4,%esp
+  .byte  15,41,157,40,255,255,255            // movaps        %xmm3,-0xd8(%ebp)
+  .byte  15,41,149,56,255,255,255            // movaps        %xmm2,-0xc8(%ebp)
+  .byte  15,41,141,72,255,255,255            // movaps        %xmm1,-0xb8(%ebp)
+  .byte  15,41,133,88,255,255,255            // movaps        %xmm0,-0xa8(%ebp)
+  .byte  232,0,0,0,0                         // call          3fad <_sk_gamma_dst_sse2+0x2b>
+  .byte  94                                  // pop           %esi
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  15,40,72,16                         // movaps        0x10(%eax),%xmm1
+  .byte  15,91,193                           // cvtdq2ps      %xmm1,%xmm0
+  .byte  15,40,150,67,202,0,0                // movaps        0xca43(%esi),%xmm2
+  .byte  15,41,149,104,255,255,255           // movaps        %xmm2,-0x98(%ebp)
+  .byte  15,89,194                           // mulps         %xmm2,%xmm0
+  .byte  15,40,166,83,202,0,0                // movaps        0xca53(%esi),%xmm4
+  .byte  15,40,209                           // movaps        %xmm1,%xmm2
+  .byte  15,84,212                           // andps         %xmm4,%xmm2
+  .byte  15,40,158,163,199,0,0               // movaps        0xc7a3(%esi),%xmm3
+  .byte  15,41,157,120,255,255,255           // movaps        %xmm3,-0x88(%ebp)
+  .byte  15,86,211                           // orps          %xmm3,%xmm2
+  .byte  15,40,158,99,202,0,0                // movaps        0xca63(%esi),%xmm3
+  .byte  15,41,93,136                        // movaps        %xmm3,-0x78(%ebp)
+  .byte  15,88,195                           // addps         %xmm3,%xmm0
+  .byte  15,40,174,115,202,0,0               // movaps        0xca73(%esi),%xmm5
+  .byte  15,41,109,152                       // movaps        %xmm5,-0x68(%ebp)
+  .byte  15,40,218                           // movaps        %xmm2,%xmm3
+  .byte  15,89,221                           // mulps         %xmm5,%xmm3
+  .byte  15,92,195                           // subps         %xmm3,%xmm0
+  .byte  15,40,158,131,202,0,0               // movaps        0xca83(%esi),%xmm3
+  .byte  15,41,93,168                        // movaps        %xmm3,-0x58(%ebp)
+  .byte  15,88,211                           // addps         %xmm3,%xmm2
+  .byte  15,40,158,147,202,0,0               // movaps        0xca93(%esi),%xmm3
+  .byte  15,41,93,184                        // movaps        %xmm3,-0x48(%ebp)
+  .byte  15,94,218                           // divps         %xmm2,%xmm3
+  .byte  15,92,195                           // subps         %xmm3,%xmm0
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  139,17                              // mov           (%ecx),%edx
+  .byte  243,15,16,18                        // movss         (%edx),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  15,89,194                           // mulps         %xmm2,%xmm0
+  .byte  243,15,91,208                       // cvttps2dq     %xmm0,%xmm2
+  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
+  .byte  15,40,216                           // movaps        %xmm0,%xmm3
+  .byte  15,194,218,1                        // cmpltps       %xmm2,%xmm3
+  .byte  15,40,174,179,199,0,0               // movaps        0xc7b3(%esi),%xmm5
+  .byte  15,41,109,200                       // movaps        %xmm5,-0x38(%ebp)
+  .byte  15,84,221                           // andps         %xmm5,%xmm3
+  .byte  15,92,211                           // subps         %xmm3,%xmm2
+  .byte  15,40,216                           // movaps        %xmm0,%xmm3
+  .byte  15,92,218                           // subps         %xmm2,%xmm3
+  .byte  15,40,150,163,202,0,0               // movaps        0xcaa3(%esi),%xmm2
+  .byte  15,41,85,216                        // movaps        %xmm2,-0x28(%ebp)
+  .byte  15,88,194                           // addps         %xmm2,%xmm0
+  .byte  15,40,190,195,202,0,0               // movaps        0xcac3(%esi),%xmm7
+  .byte  15,40,239                           // movaps        %xmm7,%xmm5
+  .byte  15,92,235                           // subps         %xmm3,%xmm5
+  .byte  15,40,211                           // movaps        %xmm3,%xmm2
+  .byte  15,40,182,179,202,0,0               // movaps        0xcab3(%esi),%xmm6
+  .byte  15,89,214                           // mulps         %xmm6,%xmm2
+  .byte  15,92,194                           // subps         %xmm2,%xmm0
+  .byte  15,40,158,211,202,0,0               // movaps        0xcad3(%esi),%xmm3
+  .byte  15,40,211                           // movaps        %xmm3,%xmm2
+  .byte  15,94,213                           // divps         %xmm5,%xmm2
+  .byte  15,88,208                           // addps         %xmm0,%xmm2
+  .byte  15,40,134,227,202,0,0               // movaps        0xcae3(%esi),%xmm0
+  .byte  15,41,69,232                        // movaps        %xmm0,-0x18(%ebp)
+  .byte  15,89,208                           // mulps         %xmm0,%xmm2
+  .byte  102,15,91,194                       // cvtps2dq      %xmm2,%xmm0
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  15,194,202,4                        // cmpneqps      %xmm2,%xmm1
+  .byte  15,84,200                           // andps         %xmm0,%xmm1
+  .byte  15,40,64,32                         // movaps        0x20(%eax),%xmm0
+  .byte  15,41,72,16                         // movaps        %xmm1,0x10(%eax)
+  .byte  15,91,200                           // cvtdq2ps      %xmm0,%xmm1
+  .byte  15,89,141,104,255,255,255           // mulps         -0x98(%ebp),%xmm1
+  .byte  15,40,208                           // movaps        %xmm0,%xmm2
+  .byte  15,84,212                           // andps         %xmm4,%xmm2
+  .byte  15,86,149,120,255,255,255           // orps          -0x88(%ebp),%xmm2
+  .byte  15,88,77,136                        // addps         -0x78(%ebp),%xmm1
+  .byte  15,40,234                           // movaps        %xmm2,%xmm5
+  .byte  15,89,109,152                       // mulps         -0x68(%ebp),%xmm5
+  .byte  15,92,205                           // subps         %xmm5,%xmm1
+  .byte  15,88,85,168                        // addps         -0x58(%ebp),%xmm2
+  .byte  15,40,109,184                       // movaps        -0x48(%ebp),%xmm5
+  .byte  15,94,234                           // divps         %xmm2,%xmm5
+  .byte  15,92,205                           // subps         %xmm5,%xmm1
+  .byte  243,15,16,18                        // movss         (%edx),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  15,89,202                           // mulps         %xmm2,%xmm1
+  .byte  243,15,91,209                       // cvttps2dq     %xmm1,%xmm2
+  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
+  .byte  15,40,233                           // movaps        %xmm1,%xmm5
+  .byte  15,194,234,1                        // cmpltps       %xmm2,%xmm5
+  .byte  15,84,109,200                       // andps         -0x38(%ebp),%xmm5
+  .byte  15,92,213                           // subps         %xmm5,%xmm2
+  .byte  15,40,233                           // movaps        %xmm1,%xmm5
+  .byte  15,92,234                           // subps         %xmm2,%xmm5
+  .byte  15,88,77,216                        // addps         -0x28(%ebp),%xmm1
+  .byte  15,40,215                           // movaps        %xmm7,%xmm2
+  .byte  15,92,213                           // subps         %xmm5,%xmm2
+  .byte  15,89,238                           // mulps         %xmm6,%xmm5
+  .byte  15,92,205                           // subps         %xmm5,%xmm1
+  .byte  15,40,235                           // movaps        %xmm3,%xmm5
+  .byte  15,94,234                           // divps         %xmm2,%xmm5
+  .byte  15,88,233                           // addps         %xmm1,%xmm5
+  .byte  15,89,109,232                       // mulps         -0x18(%ebp),%xmm5
+  .byte  102,15,91,205                       // cvtps2dq      %xmm5,%xmm1
+  .byte  15,87,237                           // xorps         %xmm5,%xmm5
+  .byte  15,194,197,4                        // cmpneqps      %xmm5,%xmm0
+  .byte  15,84,193                           // andps         %xmm1,%xmm0
+  .byte  15,41,64,32                         // movaps        %xmm0,0x20(%eax)
+  .byte  15,40,64,48                         // movaps        0x30(%eax),%xmm0
+  .byte  15,91,200                           // cvtdq2ps      %xmm0,%xmm1
+  .byte  15,89,141,104,255,255,255           // mulps         -0x98(%ebp),%xmm1
+  .byte  15,84,224                           // andps         %xmm0,%xmm4
+  .byte  15,86,165,120,255,255,255           // orps          -0x88(%ebp),%xmm4
+  .byte  15,88,77,136                        // addps         -0x78(%ebp),%xmm1
+  .byte  15,40,85,152                        // movaps        -0x68(%ebp),%xmm2
+  .byte  15,89,212                           // mulps         %xmm4,%xmm2
+  .byte  15,92,202                           // subps         %xmm2,%xmm1
+  .byte  15,88,101,168                       // addps         -0x58(%ebp),%xmm4
+  .byte  15,40,85,184                        // movaps        -0x48(%ebp),%xmm2
+  .byte  15,94,212                           // divps         %xmm4,%xmm2
+  .byte  15,92,202                           // subps         %xmm2,%xmm1
+  .byte  243,15,16,18                        // movss         (%edx),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  15,89,202                           // mulps         %xmm2,%xmm1
+  .byte  243,15,91,209                       // cvttps2dq     %xmm1,%xmm2
+  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
+  .byte  15,40,225                           // movaps        %xmm1,%xmm4
+  .byte  15,194,226,1                        // cmpltps       %xmm2,%xmm4
+  .byte  15,84,101,200                       // andps         -0x38(%ebp),%xmm4
+  .byte  15,92,212                           // subps         %xmm4,%xmm2
+  .byte  15,40,225                           // movaps        %xmm1,%xmm4
+  .byte  15,92,226                           // subps         %xmm2,%xmm4
+  .byte  15,88,77,216                        // addps         -0x28(%ebp),%xmm1
+  .byte  15,89,244                           // mulps         %xmm4,%xmm6
+  .byte  15,92,206                           // subps         %xmm6,%xmm1
+  .byte  15,92,252                           // subps         %xmm4,%xmm7
+  .byte  15,94,223                           // divps         %xmm7,%xmm3
+  .byte  15,88,217                           // addps         %xmm1,%xmm3
+  .byte  15,89,93,232                        // mulps         -0x18(%ebp),%xmm3
+  .byte  15,194,197,4                        // cmpneqps      %xmm5,%xmm0
+  .byte  102,15,91,203                       // cvtps2dq      %xmm3,%xmm1
+  .byte  15,84,193                           // andps         %xmm1,%xmm0
+  .byte  15,41,64,48                         // movaps        %xmm0,0x30(%eax)
+  .byte  141,81,8                            // lea           0x8(%ecx),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,133,88,255,255,255            // movaps        -0xa8(%ebp),%xmm0
+  .byte  15,40,141,72,255,255,255            // movaps        -0xb8(%ebp),%xmm1
+  .byte  15,40,149,56,255,255,255            // movaps        -0xc8(%ebp),%xmm2
+  .byte  15,40,157,40,255,255,255            // movaps        -0xd8(%ebp),%xmm3
+  .byte  82                                  // push          %edx
+  .byte  80                                  // push          %eax
+  .byte  255,81,4                            // call          *0x4(%ecx)
+  .byte  129,196,228,0,0,0                   // add           $0xe4,%esp
+  .byte  94                                  // pop           %esi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_lab_to_xyz_sse2
+.globl _sk_lab_to_xyz_sse2
+FUNCTION(_sk_lab_to_xyz_sse2)
+_sk_lab_to_xyz_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,24                          // sub           $0x18,%esp
+  .byte  15,41,93,232                        // movaps        %xmm3,-0x18(%ebp)
+  .byte  15,40,218                           // movaps        %xmm2,%xmm3
+  .byte  15,40,208                           // movaps        %xmm0,%xmm2
+  .byte  232,0,0,0,0                         // call          4209 <_sk_lab_to_xyz_sse2+0x15>
+  .byte  88                                  // pop           %eax
+  .byte  15,89,144,151,200,0,0               // mulps         0xc897(%eax),%xmm2
+  .byte  15,40,160,39,198,0,0                // movaps        0xc627(%eax),%xmm4
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  15,40,168,167,200,0,0               // movaps        0xc8a7(%eax),%xmm5
+  .byte  15,88,205                           // addps         %xmm5,%xmm1
+  .byte  15,89,220                           // mulps         %xmm4,%xmm3
+  .byte  15,88,221                           // addps         %xmm5,%xmm3
+  .byte  15,88,144,183,200,0,0               // addps         0xc8b7(%eax),%xmm2
+  .byte  15,89,144,199,200,0,0               // mulps         0xc8c7(%eax),%xmm2
+  .byte  15,89,136,215,200,0,0               // mulps         0xc8d7(%eax),%xmm1
+  .byte  15,88,202                           // addps         %xmm2,%xmm1
+  .byte  15,89,152,231,200,0,0               // mulps         0xc8e7(%eax),%xmm3
+  .byte  15,40,234                           // movaps        %xmm2,%xmm5
+  .byte  15,92,235                           // subps         %xmm3,%xmm5
+  .byte  15,40,193                           // movaps        %xmm1,%xmm0
+  .byte  15,89,192                           // mulps         %xmm0,%xmm0
+  .byte  15,89,193                           // mulps         %xmm1,%xmm0
+  .byte  15,40,152,247,200,0,0               // movaps        0xc8f7(%eax),%xmm3
+  .byte  15,40,227                           // movaps        %xmm3,%xmm4
+  .byte  15,194,224,1                        // cmpltps       %xmm0,%xmm4
+  .byte  15,40,176,7,201,0,0                 // movaps        0xc907(%eax),%xmm6
+  .byte  15,88,206                           // addps         %xmm6,%xmm1
+  .byte  15,40,184,23,201,0,0                // movaps        0xc917(%eax),%xmm7
+  .byte  15,89,207                           // mulps         %xmm7,%xmm1
+  .byte  15,84,196                           // andps         %xmm4,%xmm0
+  .byte  15,85,225                           // andnps        %xmm1,%xmm4
+  .byte  15,86,224                           // orps          %xmm0,%xmm4
+  .byte  15,40,194                           // movaps        %xmm2,%xmm0
+  .byte  15,89,192                           // mulps         %xmm0,%xmm0
+  .byte  15,89,194                           // mulps         %xmm2,%xmm0
+  .byte  15,40,203                           // movaps        %xmm3,%xmm1
+  .byte  15,194,200,1                        // cmpltps       %xmm0,%xmm1
+  .byte  15,88,214                           // addps         %xmm6,%xmm2
+  .byte  15,89,215                           // mulps         %xmm7,%xmm2
+  .byte  15,84,193                           // andps         %xmm1,%xmm0
+  .byte  15,85,202                           // andnps        %xmm2,%xmm1
+  .byte  15,86,200                           // orps          %xmm0,%xmm1
+  .byte  15,40,197                           // movaps        %xmm5,%xmm0
+  .byte  15,89,192                           // mulps         %xmm0,%xmm0
+  .byte  15,89,197                           // mulps         %xmm5,%xmm0
+  .byte  15,88,238                           // addps         %xmm6,%xmm5
+  .byte  15,89,239                           // mulps         %xmm7,%xmm5
+  .byte  15,194,216,1                        // cmpltps       %xmm0,%xmm3
+  .byte  15,84,195                           // andps         %xmm3,%xmm0
+  .byte  15,85,221                           // andnps        %xmm5,%xmm3
+  .byte  15,86,216                           // orps          %xmm0,%xmm3
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  15,89,160,39,201,0,0                // mulps         0xc927(%eax),%xmm4
+  .byte  15,89,152,55,201,0,0                // mulps         0xc937(%eax),%xmm3
+  .byte  141,65,4                            // lea           0x4(%ecx),%eax
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,196                           // movaps        %xmm4,%xmm0
+  .byte  15,40,211                           // movaps        %xmm3,%xmm2
+  .byte  15,40,93,232                        // movaps        -0x18(%ebp),%xmm3
+  .byte  80                                  // push          %eax
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,17                              // call          *(%ecx)
+  .byte  131,196,40                          // add           $0x28,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_load_a8_sse2
+.globl _sk_load_a8_sse2
+FUNCTION(_sk_load_a8_sse2)
+_sk_load_a8_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,12                          // sub           $0xc,%esp
+  .byte  232,0,0,0,0                         // call          42f9 <_sk_load_a8_sse2+0xe>
+  .byte  90                                  // pop           %edx
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,56                              // mov           (%eax),%edi
+  .byte  139,119,4                           // mov           0x4(%edi),%esi
+  .byte  15,175,113,4                        // imul          0x4(%ecx),%esi
+  .byte  3,55                                // add           (%edi),%esi
+  .byte  139,89,8                            // mov           0x8(%ecx),%ebx
+  .byte  133,219                             // test          %ebx,%ebx
+  .byte  139,57                              // mov           (%ecx),%edi
+  .byte  117,60                              // jne           4350 <_sk_load_a8_sse2+0x65>
+  .byte  102,15,110,4,62                     // movd          (%esi,%edi,1),%xmm0
+  .byte  102,15,96,192                       // punpcklbw     %xmm0,%xmm0
+  .byte  102,15,97,192                       // punpcklwd     %xmm0,%xmm0
+  .byte  102,15,219,130,39,197,0,0           // pand          0xc527(%edx),%xmm0
+  .byte  15,91,216                           // cvtdq2ps      %xmm0,%xmm3
+  .byte  15,89,154,103,198,0,0               // mulps         0xc667(%edx),%xmm3
+  .byte  141,80,8                            // lea           0x8(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  102,15,87,201                       // xorpd         %xmm1,%xmm1
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,28                          // add           $0x1c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  128,227,3                           // and           $0x3,%bl
+  .byte  128,251,1                           // cmp           $0x1,%bl
+  .byte  116,50                              // je            438a <_sk_load_a8_sse2+0x9f>
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  128,251,2                           // cmp           $0x2,%bl
+  .byte  116,19                              // je            4374 <_sk_load_a8_sse2+0x89>
+  .byte  128,251,3                           // cmp           $0x3,%bl
+  .byte  117,187                             // jne           4321 <_sk_load_a8_sse2+0x36>
+  .byte  15,182,92,62,2                      // movzbl        0x2(%esi,%edi,1),%ebx
+  .byte  102,15,110,195                      // movd          %ebx,%xmm0
+  .byte  102,15,112,192,69                   // pshufd        $0x45,%xmm0,%xmm0
+  .byte  15,183,52,62                        // movzwl        (%esi,%edi,1),%esi
+  .byte  102,15,110,206                      // movd          %esi,%xmm1
+  .byte  102,15,96,200                       // punpcklbw     %xmm0,%xmm1
+  .byte  102,15,97,200                       // punpcklwd     %xmm0,%xmm1
+  .byte  242,15,16,193                       // movsd         %xmm1,%xmm0
+  .byte  235,151                             // jmp           4321 <_sk_load_a8_sse2+0x36>
+  .byte  15,182,52,62                        // movzbl        (%esi,%edi,1),%esi
+  .byte  102,15,110,198                      // movd          %esi,%xmm0
+  .byte  235,141                             // jmp           4321 <_sk_load_a8_sse2+0x36>
+
+HIDDEN _sk_load_a8_dst_sse2
+.globl _sk_load_a8_dst_sse2
+FUNCTION(_sk_load_a8_dst_sse2)
+_sk_load_a8_dst_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,12                          // sub           $0xc,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,16                              // mov           (%eax),%edx
+  .byte  139,49                              // mov           (%ecx),%esi
+  .byte  139,122,4                           // mov           0x4(%edx),%edi
+  .byte  15,175,121,4                        // imul          0x4(%ecx),%edi
+  .byte  3,58                                // add           (%edx),%edi
+  .byte  139,89,8                            // mov           0x8(%ecx),%ebx
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  102,15,127,97,48                    // movdqa        %xmm4,0x30(%ecx)
+  .byte  102,15,127,97,32                    // movdqa        %xmm4,0x20(%ecx)
+  .byte  102,15,127,97,16                    // movdqa        %xmm4,0x10(%ecx)
+  .byte  133,219                             // test          %ebx,%ebx
+  .byte  232,0,0,0,0                         // call          43cd <_sk_load_a8_dst_sse2+0x39>
+  .byte  90                                  // pop           %edx
+  .byte  117,54                              // jne           4406 <_sk_load_a8_dst_sse2+0x72>
+  .byte  102,15,110,36,55                    // movd          (%edi,%esi,1),%xmm4
+  .byte  102,15,96,224                       // punpcklbw     %xmm0,%xmm4
+  .byte  102,15,97,224                       // punpcklwd     %xmm0,%xmm4
+  .byte  102,15,219,162,83,196,0,0           // pand          0xc453(%edx),%xmm4
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  15,89,162,147,197,0,0               // mulps         0xc593(%edx),%xmm4
+  .byte  15,41,97,64                         // movaps        %xmm4,0x40(%ecx)
+  .byte  141,80,8                            // lea           0x8(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,28                          // add           $0x1c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  128,227,3                           // and           $0x3,%bl
+  .byte  128,251,1                           // cmp           $0x1,%bl
+  .byte  116,46                              // je            443c <_sk_load_a8_dst_sse2+0xa8>
+  .byte  128,251,2                           // cmp           $0x2,%bl
+  .byte  116,19                              // je            4426 <_sk_load_a8_dst_sse2+0x92>
+  .byte  128,251,3                           // cmp           $0x3,%bl
+  .byte  117,197                             // jne           43dd <_sk_load_a8_dst_sse2+0x49>
+  .byte  15,182,92,55,2                      // movzbl        0x2(%edi,%esi,1),%ebx
+  .byte  102,15,110,227                      // movd          %ebx,%xmm4
+  .byte  102,15,112,228,69                   // pshufd        $0x45,%xmm4,%xmm4
+  .byte  15,183,52,55                        // movzwl        (%edi,%esi,1),%esi
+  .byte  102,15,110,238                      // movd          %esi,%xmm5
+  .byte  102,15,96,232                       // punpcklbw     %xmm0,%xmm5
+  .byte  102,15,97,232                       // punpcklwd     %xmm0,%xmm5
+  .byte  242,15,16,229                       // movsd         %xmm5,%xmm4
+  .byte  235,161                             // jmp           43dd <_sk_load_a8_dst_sse2+0x49>
+  .byte  15,182,52,55                        // movzbl        (%edi,%esi,1),%esi
+  .byte  102,15,110,230                      // movd          %esi,%xmm4
+  .byte  235,151                             // jmp           43dd <_sk_load_a8_dst_sse2+0x49>
+
+HIDDEN _sk_gather_a8_sse2
+.globl _sk_gather_a8_sse2
+FUNCTION(_sk_gather_a8_sse2)
+_sk_gather_a8_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  243,15,16,81,8                      // movss         0x8(%ecx),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  102,15,118,219                      // pcmpeqd       %xmm3,%xmm3
+  .byte  102,15,254,211                      // paddd         %xmm3,%xmm2
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,95,224                           // maxps         %xmm0,%xmm4
+  .byte  15,93,226                           // minps         %xmm2,%xmm4
+  .byte  243,15,16,65,12                     // movss         0xc(%ecx),%xmm0
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  102,15,254,195                      // paddd         %xmm3,%xmm0
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  15,95,209                           // maxps         %xmm1,%xmm2
+  .byte  15,93,208                           // minps         %xmm0,%xmm2
+  .byte  139,17                              // mov           (%ecx),%edx
+  .byte  243,15,91,194                       // cvttps2dq     %xmm2,%xmm0
+  .byte  102,15,110,73,4                     // movd          0x4(%ecx),%xmm1
+  .byte  102,15,112,201,0                    // pshufd        $0x0,%xmm1,%xmm1
+  .byte  102,15,112,208,245                  // pshufd        $0xf5,%xmm0,%xmm2
+  .byte  102,15,244,209                      // pmuludq       %xmm1,%xmm2
+  .byte  102,15,244,200                      // pmuludq       %xmm0,%xmm1
+  .byte  102,15,112,193,232                  // pshufd        $0xe8,%xmm1,%xmm0
+  .byte  102,15,112,202,232                  // pshufd        $0xe8,%xmm2,%xmm1
+  .byte  102,15,98,193                       // punpckldq     %xmm1,%xmm0
+  .byte  243,15,91,204                       // cvttps2dq     %xmm4,%xmm1
+  .byte  102,15,254,200                      // paddd         %xmm0,%xmm1
+  .byte  102,15,126,201                      // movd          %xmm1,%ecx
+  .byte  102,15,112,193,229                  // pshufd        $0xe5,%xmm1,%xmm0
+  .byte  102,15,112,209,78                   // pshufd        $0x4e,%xmm1,%xmm2
+  .byte  102,15,126,214                      // movd          %xmm2,%esi
+  .byte  102,15,112,201,231                  // pshufd        $0xe7,%xmm1,%xmm1
+  .byte  102,15,126,207                      // movd          %xmm1,%edi
+  .byte  15,182,52,50                        // movzbl        (%edx,%esi,1),%esi
+  .byte  15,182,60,58                        // movzbl        (%edx,%edi,1),%edi
+  .byte  193,231,8                           // shl           $0x8,%edi
+  .byte  9,247                               // or            %esi,%edi
+  .byte  102,15,126,198                      // movd          %xmm0,%esi
+  .byte  15,182,12,10                        // movzbl        (%edx,%ecx,1),%ecx
+  .byte  15,182,20,50                        // movzbl        (%edx,%esi,1),%edx
+  .byte  193,226,8                           // shl           $0x8,%edx
+  .byte  9,202                               // or            %ecx,%edx
+  .byte  102,15,110,194                      // movd          %edx,%xmm0
+  .byte  102,15,196,199,1                    // pinsrw        $0x1,%edi,%xmm0
+  .byte  232,0,0,0,0                         // call          44fa <_sk_gather_a8_sse2+0xb4>
+  .byte  89                                  // pop           %ecx
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  102,15,96,193                       // punpcklbw     %xmm1,%xmm0
+  .byte  102,15,97,193                       // punpcklwd     %xmm1,%xmm0
+  .byte  15,91,216                           // cvtdq2ps      %xmm0,%xmm3
+  .byte  15,89,153,102,196,0,0               // mulps         0xc466(%ecx),%xmm3
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  102,15,239,210                      // pxor          %xmm2,%xmm2
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,16                          // add           $0x10,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_store_a8_sse2
+.globl _sk_store_a8_sse2
+FUNCTION(_sk_store_a8_sse2)
+_sk_store_a8_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,12                          // sub           $0xc,%esp
+  .byte  232,0,0,0,0                         // call          453e <_sk_store_a8_sse2+0xe>
+  .byte  94                                  // pop           %esi
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,56                              // mov           (%eax),%edi
+  .byte  139,87,4                            // mov           0x4(%edi),%edx
+  .byte  15,175,81,4                         // imul          0x4(%ecx),%edx
+  .byte  3,23                                // add           (%edi),%edx
+  .byte  139,89,8                            // mov           0x8(%ecx),%ebx
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,95,227                           // maxps         %xmm3,%xmm4
+  .byte  15,93,166,34,194,0,0                // minps         0xc222(%esi),%xmm4
+  .byte  15,89,166,242,194,0,0               // mulps         0xc2f2(%esi),%xmm4
+  .byte  102,15,91,228                       // cvtps2dq      %xmm4,%xmm4
+  .byte  102,15,114,244,16                   // pslld         $0x10,%xmm4
+  .byte  102,15,114,228,16                   // psrad         $0x10,%xmm4
+  .byte  102,15,107,224                      // packssdw      %xmm0,%xmm4
+  .byte  102,15,103,224                      // packuswb      %xmm0,%xmm4
+  .byte  133,219                             // test          %ebx,%ebx
+  .byte  139,57                              // mov           (%ecx),%edi
+  .byte  117,26                              // jne           459d <_sk_store_a8_sse2+0x6d>
+  .byte  102,15,126,230                      // movd          %xmm4,%esi
+  .byte  137,52,58                           // mov           %esi,(%edx,%edi,1)
+  .byte  141,80,8                            // lea           0x8(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,28                          // add           $0x1c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  102,15,96,224                       // punpcklbw     %xmm0,%xmm4
+  .byte  102,15,97,224                       // punpcklwd     %xmm0,%xmm4
+  .byte  128,227,3                           // and           $0x3,%bl
+  .byte  128,251,1                           // cmp           $0x1,%bl
+  .byte  116,54                              // je            45e3 <_sk_store_a8_sse2+0xb3>
+  .byte  128,251,2                           // cmp           $0x2,%bl
+  .byte  116,14                              // je            45c0 <_sk_store_a8_sse2+0x90>
+  .byte  128,251,3                           // cmp           $0x3,%bl
+  .byte  117,211                             // jne           458a <_sk_store_a8_sse2+0x5a>
+  .byte  102,15,197,220,4                    // pextrw        $0x4,%xmm4,%ebx
+  .byte  136,92,58,2                         // mov           %bl,0x2(%edx,%edi,1)
+  .byte  102,15,112,228,212                  // pshufd        $0xd4,%xmm4,%xmm4
+  .byte  102,15,219,166,18,198,0,0           // pand          0xc612(%esi),%xmm4
+  .byte  102,15,103,228                      // packuswb      %xmm4,%xmm4
+  .byte  102,15,103,228                      // packuswb      %xmm4,%xmm4
+  .byte  102,15,103,228                      // packuswb      %xmm4,%xmm4
+  .byte  102,15,126,230                      // movd          %xmm4,%esi
+  .byte  102,137,52,58                       // mov           %si,(%edx,%edi,1)
+  .byte  235,167                             // jmp           458a <_sk_store_a8_sse2+0x5a>
+  .byte  102,15,126,227                      // movd          %xmm4,%ebx
+  .byte  136,28,58                           // mov           %bl,(%edx,%edi,1)
+  .byte  235,158                             // jmp           458a <_sk_store_a8_sse2+0x5a>
+
+HIDDEN _sk_load_g8_sse2
+.globl _sk_load_g8_sse2
+FUNCTION(_sk_load_g8_sse2)
+_sk_load_g8_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,12                          // sub           $0xc,%esp
+  .byte  232,0,0,0,0                         // call          45fa <_sk_load_g8_sse2+0xe>
+  .byte  90                                  // pop           %edx
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,56                              // mov           (%eax),%edi
+  .byte  139,119,4                           // mov           0x4(%edi),%esi
+  .byte  15,175,113,4                        // imul          0x4(%ecx),%esi
+  .byte  3,55                                // add           (%edi),%esi
+  .byte  139,89,8                            // mov           0x8(%ecx),%ebx
+  .byte  133,219                             // test          %ebx,%ebx
+  .byte  139,57                              // mov           (%ecx),%edi
+  .byte  117,63                              // jne           4654 <_sk_load_g8_sse2+0x68>
+  .byte  102,15,110,4,62                     // movd          (%esi,%edi,1),%xmm0
+  .byte  102,15,96,192                       // punpcklbw     %xmm0,%xmm0
+  .byte  102,15,97,192                       // punpcklwd     %xmm0,%xmm0
+  .byte  102,15,219,130,38,194,0,0           // pand          0xc226(%edx),%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  15,89,130,102,195,0,0               // mulps         0xc366(%edx),%xmm0
+  .byte  141,112,8                           // lea           0x8(%eax),%esi
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,154,102,193,0,0               // movaps        0xc166(%edx),%xmm3
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  15,40,208                           // movaps        %xmm0,%xmm2
+  .byte  86                                  // push          %esi
+  .byte  81                                  // push          %ecx
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,28                          // add           $0x1c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  128,227,3                           // and           $0x3,%bl
+  .byte  128,251,1                           // cmp           $0x1,%bl
+  .byte  116,50                              // je            468e <_sk_load_g8_sse2+0xa2>
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  128,251,2                           // cmp           $0x2,%bl
+  .byte  116,19                              // je            4678 <_sk_load_g8_sse2+0x8c>
+  .byte  128,251,3                           // cmp           $0x3,%bl
+  .byte  117,184                             // jne           4622 <_sk_load_g8_sse2+0x36>
+  .byte  15,182,92,62,2                      // movzbl        0x2(%esi,%edi,1),%ebx
+  .byte  102,15,110,195                      // movd          %ebx,%xmm0
+  .byte  102,15,112,192,69                   // pshufd        $0x45,%xmm0,%xmm0
+  .byte  15,183,52,62                        // movzwl        (%esi,%edi,1),%esi
+  .byte  102,15,110,206                      // movd          %esi,%xmm1
+  .byte  102,15,96,200                       // punpcklbw     %xmm0,%xmm1
+  .byte  102,15,97,200                       // punpcklwd     %xmm0,%xmm1
+  .byte  242,15,16,193                       // movsd         %xmm1,%xmm0
+  .byte  235,148                             // jmp           4622 <_sk_load_g8_sse2+0x36>
+  .byte  15,182,52,62                        // movzbl        (%esi,%edi,1),%esi
+  .byte  102,15,110,198                      // movd          %esi,%xmm0
+  .byte  235,138                             // jmp           4622 <_sk_load_g8_sse2+0x36>
+
+HIDDEN _sk_load_g8_dst_sse2
+.globl _sk_load_g8_dst_sse2
+FUNCTION(_sk_load_g8_dst_sse2)
+_sk_load_g8_dst_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,12                          // sub           $0xc,%esp
+  .byte  232,0,0,0,0                         // call          46a6 <_sk_load_g8_dst_sse2+0xe>
+  .byte  90                                  // pop           %edx
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,56                              // mov           (%eax),%edi
+  .byte  139,119,4                           // mov           0x4(%edi),%esi
+  .byte  15,175,113,4                        // imul          0x4(%ecx),%esi
+  .byte  3,55                                // add           (%edi),%esi
+  .byte  139,89,8                            // mov           0x8(%ecx),%ebx
+  .byte  133,219                             // test          %ebx,%ebx
+  .byte  139,57                              // mov           (%ecx),%edi
+  .byte  117,73                              // jne           470a <_sk_load_g8_dst_sse2+0x72>
+  .byte  102,15,110,36,62                    // movd          (%esi,%edi,1),%xmm4
+  .byte  102,15,96,224                       // punpcklbw     %xmm0,%xmm4
+  .byte  102,15,97,224                       // punpcklwd     %xmm0,%xmm4
+  .byte  102,15,219,162,122,193,0,0          // pand          0xc17a(%edx),%xmm4
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  15,89,162,186,194,0,0               // mulps         0xc2ba(%edx),%xmm4
+  .byte  15,41,97,48                         // movaps        %xmm4,0x30(%ecx)
+  .byte  15,41,97,32                         // movaps        %xmm4,0x20(%ecx)
+  .byte  15,41,97,16                         // movaps        %xmm4,0x10(%ecx)
+  .byte  15,40,162,186,192,0,0               // movaps        0xc0ba(%edx),%xmm4
+  .byte  15,41,97,64                         // movaps        %xmm4,0x40(%ecx)
+  .byte  141,80,8                            // lea           0x8(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,28                          // add           $0x1c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  128,227,3                           // and           $0x3,%bl
+  .byte  128,251,1                           // cmp           $0x1,%bl
+  .byte  116,50                              // je            4744 <_sk_load_g8_dst_sse2+0xac>
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  128,251,2                           // cmp           $0x2,%bl
+  .byte  116,19                              // je            472e <_sk_load_g8_dst_sse2+0x96>
+  .byte  128,251,3                           // cmp           $0x3,%bl
+  .byte  117,174                             // jne           46ce <_sk_load_g8_dst_sse2+0x36>
+  .byte  15,182,92,62,2                      // movzbl        0x2(%esi,%edi,1),%ebx
+  .byte  102,15,110,227                      // movd          %ebx,%xmm4
+  .byte  102,15,112,228,69                   // pshufd        $0x45,%xmm4,%xmm4
+  .byte  15,183,52,62                        // movzwl        (%esi,%edi,1),%esi
+  .byte  102,15,110,238                      // movd          %esi,%xmm5
+  .byte  102,15,96,232                       // punpcklbw     %xmm0,%xmm5
+  .byte  102,15,97,232                       // punpcklwd     %xmm0,%xmm5
+  .byte  242,15,16,229                       // movsd         %xmm5,%xmm4
+  .byte  235,138                             // jmp           46ce <_sk_load_g8_dst_sse2+0x36>
+  .byte  15,182,52,62                        // movzbl        (%esi,%edi,1),%esi
+  .byte  102,15,110,230                      // movd          %esi,%xmm4
+  .byte  235,128                             // jmp           46ce <_sk_load_g8_dst_sse2+0x36>
+
+HIDDEN _sk_gather_g8_sse2
+.globl _sk_gather_g8_sse2
+FUNCTION(_sk_gather_g8_sse2)
+_sk_gather_g8_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  243,15,16,81,8                      // movss         0x8(%ecx),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  102,15,118,219                      // pcmpeqd       %xmm3,%xmm3
+  .byte  102,15,254,211                      // paddd         %xmm3,%xmm2
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,95,224                           // maxps         %xmm0,%xmm4
+  .byte  15,93,226                           // minps         %xmm2,%xmm4
+  .byte  243,15,16,65,12                     // movss         0xc(%ecx),%xmm0
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  102,15,254,195                      // paddd         %xmm3,%xmm0
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  15,95,209                           // maxps         %xmm1,%xmm2
+  .byte  15,93,208                           // minps         %xmm0,%xmm2
+  .byte  139,17                              // mov           (%ecx),%edx
+  .byte  243,15,91,194                       // cvttps2dq     %xmm2,%xmm0
+  .byte  102,15,110,73,4                     // movd          0x4(%ecx),%xmm1
+  .byte  102,15,112,201,0                    // pshufd        $0x0,%xmm1,%xmm1
+  .byte  102,15,112,208,245                  // pshufd        $0xf5,%xmm0,%xmm2
+  .byte  102,15,244,209                      // pmuludq       %xmm1,%xmm2
+  .byte  102,15,244,200                      // pmuludq       %xmm0,%xmm1
+  .byte  102,15,112,193,232                  // pshufd        $0xe8,%xmm1,%xmm0
+  .byte  102,15,112,202,232                  // pshufd        $0xe8,%xmm2,%xmm1
+  .byte  102,15,98,193                       // punpckldq     %xmm1,%xmm0
+  .byte  243,15,91,204                       // cvttps2dq     %xmm4,%xmm1
+  .byte  102,15,254,200                      // paddd         %xmm0,%xmm1
+  .byte  102,15,126,201                      // movd          %xmm1,%ecx
+  .byte  102,15,112,193,229                  // pshufd        $0xe5,%xmm1,%xmm0
+  .byte  102,15,112,209,78                   // pshufd        $0x4e,%xmm1,%xmm2
+  .byte  102,15,126,214                      // movd          %xmm2,%esi
+  .byte  102,15,112,201,231                  // pshufd        $0xe7,%xmm1,%xmm1
+  .byte  102,15,126,207                      // movd          %xmm1,%edi
+  .byte  15,182,52,50                        // movzbl        (%edx,%esi,1),%esi
+  .byte  15,182,60,58                        // movzbl        (%edx,%edi,1),%edi
+  .byte  193,231,8                           // shl           $0x8,%edi
+  .byte  9,247                               // or            %esi,%edi
+  .byte  102,15,126,198                      // movd          %xmm0,%esi
+  .byte  15,182,12,10                        // movzbl        (%edx,%ecx,1),%ecx
+  .byte  15,182,20,50                        // movzbl        (%edx,%esi,1),%edx
+  .byte  193,226,8                           // shl           $0x8,%edx
+  .byte  9,202                               // or            %ecx,%edx
+  .byte  102,15,110,194                      // movd          %edx,%xmm0
+  .byte  232,0,0,0,0                         // call          47fd <_sk_gather_g8_sse2+0xaf>
+  .byte  89                                  // pop           %ecx
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  102,15,196,199,1                    // pinsrw        $0x1,%edi,%xmm0
+  .byte  102,15,96,193                       // punpcklbw     %xmm1,%xmm0
+  .byte  102,15,97,193                       // punpcklwd     %xmm1,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  15,89,129,99,193,0,0                // mulps         0xc163(%ecx),%xmm0
+  .byte  141,80,8                            // lea           0x8(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,153,99,191,0,0                // movaps        0xbf63(%ecx),%xmm3
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  15,40,208                           // movaps        %xmm0,%xmm2
+  .byte  82                                  // push          %edx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,16                          // add           $0x10,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_load_565_sse2
+.globl _sk_load_565_sse2
+FUNCTION(_sk_load_565_sse2)
+_sk_load_565_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,12                          // sub           $0xc,%esp
+  .byte  232,0,0,0,0                         // call          4848 <_sk_load_565_sse2+0xe>
+  .byte  90                                  // pop           %edx
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,56                              // mov           (%eax),%edi
+  .byte  139,119,4                           // mov           0x4(%edi),%esi
+  .byte  15,175,113,4                        // imul          0x4(%ecx),%esi
+  .byte  1,246                               // add           %esi,%esi
+  .byte  3,55                                // add           (%edi),%esi
+  .byte  139,89,8                            // mov           0x8(%ecx),%ebx
+  .byte  133,219                             // test          %ebx,%ebx
+  .byte  139,57                              // mov           (%ecx),%edi
+  .byte  117,97                              // jne           48c6 <_sk_load_565_sse2+0x8c>
+  .byte  243,15,126,20,126                   // movq          (%esi,%edi,2),%xmm2
+  .byte  102,15,97,208                       // punpcklwd     %xmm0,%xmm2
+  .byte  102,15,111,130,40,193,0,0           // movdqa        0xc128(%edx),%xmm0
+  .byte  102,15,219,194                      // pand          %xmm2,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  15,89,130,56,193,0,0                // mulps         0xc138(%edx),%xmm0
+  .byte  102,15,111,138,72,193,0,0           // movdqa        0xc148(%edx),%xmm1
+  .byte  102,15,219,202                      // pand          %xmm2,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  15,89,138,88,193,0,0                // mulps         0xc158(%edx),%xmm1
+  .byte  102,15,219,146,104,193,0,0          // pand          0xc168(%edx),%xmm2
+  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
+  .byte  15,89,146,120,193,0,0               // mulps         0xc178(%edx),%xmm2
+  .byte  141,112,8                           // lea           0x8(%eax),%esi
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,154,24,191,0,0                // movaps        0xbf18(%edx),%xmm3
+  .byte  86                                  // push          %esi
+  .byte  81                                  // push          %ecx
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,28                          // add           $0x1c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  128,227,3                           // and           $0x3,%bl
+  .byte  128,251,1                           // cmp           $0x1,%bl
+  .byte  116,47                              // je            48fd <_sk_load_565_sse2+0xc3>
+  .byte  102,15,239,210                      // pxor          %xmm2,%xmm2
+  .byte  128,251,2                           // cmp           $0x2,%bl
+  .byte  116,19                              // je            48ea <_sk_load_565_sse2+0xb0>
+  .byte  128,251,3                           // cmp           $0x3,%bl
+  .byte  117,146                             // jne           486e <_sk_load_565_sse2+0x34>
+  .byte  15,183,92,126,4                     // movzwl        0x4(%esi,%edi,2),%ebx
+  .byte  102,15,110,195                      // movd          %ebx,%xmm0
+  .byte  102,15,112,208,69                   // pshufd        $0x45,%xmm0,%xmm2
+  .byte  102,15,110,4,126                    // movd          (%esi,%edi,2),%xmm0
+  .byte  242,15,112,192,212                  // pshuflw       $0xd4,%xmm0,%xmm0
+  .byte  242,15,16,208                       // movsd         %xmm0,%xmm2
+  .byte  233,113,255,255,255                 // jmp           486e <_sk_load_565_sse2+0x34>
+  .byte  15,183,52,126                       // movzwl        (%esi,%edi,2),%esi
+  .byte  102,15,110,214                      // movd          %esi,%xmm2
+  .byte  233,100,255,255,255                 // jmp           486e <_sk_load_565_sse2+0x34>
+
+HIDDEN _sk_load_565_dst_sse2
+.globl _sk_load_565_dst_sse2
+FUNCTION(_sk_load_565_dst_sse2)
+_sk_load_565_dst_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,12                          // sub           $0xc,%esp
+  .byte  232,0,0,0,0                         // call          4918 <_sk_load_565_dst_sse2+0xe>
+  .byte  90                                  // pop           %edx
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,56                              // mov           (%eax),%edi
+  .byte  139,119,4                           // mov           0x4(%edi),%esi
+  .byte  15,175,113,4                        // imul          0x4(%ecx),%esi
+  .byte  1,246                               // add           %esi,%esi
+  .byte  3,55                                // add           (%edi),%esi
+  .byte  139,89,8                            // mov           0x8(%ecx),%ebx
+  .byte  133,219                             // test          %ebx,%ebx
+  .byte  139,57                              // mov           (%ecx),%edi
+  .byte  117,113                             // jne           49a6 <_sk_load_565_dst_sse2+0x9c>
+  .byte  243,15,126,36,126                   // movq          (%esi,%edi,2),%xmm4
+  .byte  102,15,97,224                       // punpcklwd     %xmm0,%xmm4
+  .byte  102,15,111,170,88,192,0,0           // movdqa        0xc058(%edx),%xmm5
+  .byte  102,15,219,236                      // pand          %xmm4,%xmm5
+  .byte  15,91,237                           // cvtdq2ps      %xmm5,%xmm5
+  .byte  15,89,170,104,192,0,0               // mulps         0xc068(%edx),%xmm5
+  .byte  15,41,105,16                        // movaps        %xmm5,0x10(%ecx)
+  .byte  102,15,111,170,120,192,0,0          // movdqa        0xc078(%edx),%xmm5
+  .byte  102,15,219,236                      // pand          %xmm4,%xmm5
+  .byte  15,91,237                           // cvtdq2ps      %xmm5,%xmm5
+  .byte  15,89,170,136,192,0,0               // mulps         0xc088(%edx),%xmm5
+  .byte  15,41,105,32                        // movaps        %xmm5,0x20(%ecx)
+  .byte  102,15,219,162,152,192,0,0          // pand          0xc098(%edx),%xmm4
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  15,89,162,168,192,0,0               // mulps         0xc0a8(%edx),%xmm4
+  .byte  15,41,97,48                         // movaps        %xmm4,0x30(%ecx)
+  .byte  15,40,162,72,190,0,0                // movaps        0xbe48(%edx),%xmm4
+  .byte  15,41,97,64                         // movaps        %xmm4,0x40(%ecx)
+  .byte  141,80,8                            // lea           0x8(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,28                          // add           $0x1c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  128,227,3                           // and           $0x3,%bl
+  .byte  128,251,1                           // cmp           $0x1,%bl
+  .byte  116,47                              // je            49dd <_sk_load_565_dst_sse2+0xd3>
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  128,251,2                           // cmp           $0x2,%bl
+  .byte  116,19                              // je            49ca <_sk_load_565_dst_sse2+0xc0>
+  .byte  128,251,3                           // cmp           $0x3,%bl
+  .byte  117,130                             // jne           493e <_sk_load_565_dst_sse2+0x34>
+  .byte  15,183,92,126,4                     // movzwl        0x4(%esi,%edi,2),%ebx
+  .byte  102,15,110,227                      // movd          %ebx,%xmm4
+  .byte  102,15,112,228,69                   // pshufd        $0x45,%xmm4,%xmm4
+  .byte  102,15,110,44,126                   // movd          (%esi,%edi,2),%xmm5
+  .byte  242,15,112,237,212                  // pshuflw       $0xd4,%xmm5,%xmm5
+  .byte  242,15,16,229                       // movsd         %xmm5,%xmm4
+  .byte  233,97,255,255,255                  // jmp           493e <_sk_load_565_dst_sse2+0x34>
+  .byte  15,183,52,126                       // movzwl        (%esi,%edi,2),%esi
+  .byte  102,15,110,230                      // movd          %esi,%xmm4
+  .byte  233,84,255,255,255                  // jmp           493e <_sk_load_565_dst_sse2+0x34>
+
+HIDDEN _sk_gather_565_sse2
+.globl _sk_gather_565_sse2
+FUNCTION(_sk_gather_565_sse2)
+_sk_gather_565_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  243,15,16,81,8                      // movss         0x8(%ecx),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  102,15,118,219                      // pcmpeqd       %xmm3,%xmm3
+  .byte  102,15,254,211                      // paddd         %xmm3,%xmm2
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,95,224                           // maxps         %xmm0,%xmm4
+  .byte  15,93,226                           // minps         %xmm2,%xmm4
+  .byte  243,15,16,65,12                     // movss         0xc(%ecx),%xmm0
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  102,15,254,195                      // paddd         %xmm3,%xmm0
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  15,95,209                           // maxps         %xmm1,%xmm2
+  .byte  15,93,208                           // minps         %xmm0,%xmm2
+  .byte  139,17                              // mov           (%ecx),%edx
+  .byte  243,15,91,194                       // cvttps2dq     %xmm2,%xmm0
+  .byte  102,15,110,73,4                     // movd          0x4(%ecx),%xmm1
+  .byte  102,15,112,201,0                    // pshufd        $0x0,%xmm1,%xmm1
+  .byte  102,15,112,208,245                  // pshufd        $0xf5,%xmm0,%xmm2
+  .byte  102,15,244,209                      // pmuludq       %xmm1,%xmm2
+  .byte  102,15,244,200                      // pmuludq       %xmm0,%xmm1
+  .byte  102,15,112,193,232                  // pshufd        $0xe8,%xmm1,%xmm0
+  .byte  102,15,112,202,232                  // pshufd        $0xe8,%xmm2,%xmm1
+  .byte  102,15,98,193                       // punpckldq     %xmm1,%xmm0
+  .byte  243,15,91,204                       // cvttps2dq     %xmm4,%xmm1
+  .byte  102,15,254,200                      // paddd         %xmm0,%xmm1
+  .byte  102,15,126,201                      // movd          %xmm1,%ecx
+  .byte  102,15,112,193,229                  // pshufd        $0xe5,%xmm1,%xmm0
+  .byte  15,183,12,74                        // movzwl        (%edx,%ecx,2),%ecx
+  .byte  102,15,110,209                      // movd          %ecx,%xmm2
+  .byte  102,15,126,193                      // movd          %xmm0,%ecx
+  .byte  102,15,112,193,78                   // pshufd        $0x4e,%xmm1,%xmm0
+  .byte  15,183,12,74                        // movzwl        (%edx,%ecx,2),%ecx
+  .byte  102,15,196,209,1                    // pinsrw        $0x1,%ecx,%xmm2
+  .byte  102,15,126,193                      // movd          %xmm0,%ecx
+  .byte  102,15,112,193,231                  // pshufd        $0xe7,%xmm1,%xmm0
+  .byte  15,183,12,74                        // movzwl        (%edx,%ecx,2),%ecx
+  .byte  102,15,196,209,2                    // pinsrw        $0x2,%ecx,%xmm2
+  .byte  102,15,126,193                      // movd          %xmm0,%ecx
+  .byte  15,183,12,74                        // movzwl        (%edx,%ecx,2),%ecx
+  .byte  232,0,0,0,0                         // call          4a9a <_sk_gather_565_sse2+0xb0>
+  .byte  90                                  // pop           %edx
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  102,15,196,209,3                    // pinsrw        $0x3,%ecx,%xmm2
+  .byte  102,15,97,208                       // punpcklwd     %xmm0,%xmm2
+  .byte  102,15,111,130,214,190,0,0          // movdqa        0xbed6(%edx),%xmm0
+  .byte  102,15,219,194                      // pand          %xmm2,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  15,89,130,230,190,0,0               // mulps         0xbee6(%edx),%xmm0
+  .byte  102,15,111,138,246,190,0,0          // movdqa        0xbef6(%edx),%xmm1
+  .byte  102,15,219,202                      // pand          %xmm2,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  15,89,138,6,191,0,0                 // mulps         0xbf06(%edx),%xmm1
+  .byte  102,15,219,146,22,191,0,0           // pand          0xbf16(%edx),%xmm2
+  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
+  .byte  15,89,146,38,191,0,0                // mulps         0xbf26(%edx),%xmm2
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,154,198,188,0,0               // movaps        0xbcc6(%edx),%xmm3
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_store_565_sse2
+.globl _sk_store_565_sse2
+FUNCTION(_sk_store_565_sse2)
+_sk_store_565_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,12                          // sub           $0xc,%esp
+  .byte  232,0,0,0,0                         // call          4b0d <_sk_store_565_sse2+0xe>
+  .byte  94                                  // pop           %esi
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,87,237                           // xorps         %xmm5,%xmm5
+  .byte  15,95,232                           // maxps         %xmm0,%xmm5
+  .byte  15,40,182,83,188,0,0                // movaps        0xbc53(%esi),%xmm6
+  .byte  15,93,238                           // minps         %xmm6,%xmm5
+  .byte  15,87,255                           // xorps         %xmm7,%xmm7
+  .byte  15,95,249                           // maxps         %xmm1,%xmm7
+  .byte  15,93,254                           // minps         %xmm6,%xmm7
+  .byte  15,95,226                           // maxps         %xmm2,%xmm4
+  .byte  15,93,230                           // minps         %xmm6,%xmm4
+  .byte  15,40,182,83,192,0,0                // movaps        0xc053(%esi),%xmm6
+  .byte  15,89,238                           // mulps         %xmm6,%xmm5
+  .byte  15,89,230                           // mulps         %xmm6,%xmm4
+  .byte  102,15,91,237                       // cvtps2dq      %xmm5,%xmm5
+  .byte  102,15,114,245,11                   // pslld         $0xb,%xmm5
+  .byte  102,15,91,228                       // cvtps2dq      %xmm4,%xmm4
+  .byte  102,15,86,229                       // orpd          %xmm5,%xmm4
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,56                              // mov           (%eax),%edi
+  .byte  139,87,4                            // mov           0x4(%edi),%edx
+  .byte  15,175,81,4                         // imul          0x4(%ecx),%edx
+  .byte  1,210                               // add           %edx,%edx
+  .byte  3,23                                // add           (%edi),%edx
+  .byte  139,57                              // mov           (%ecx),%edi
+  .byte  15,89,190,99,192,0,0                // mulps         0xc063(%esi),%xmm7
+  .byte  139,89,8                            // mov           0x8(%ecx),%ebx
+  .byte  102,15,91,239                       // cvtps2dq      %xmm7,%xmm5
+  .byte  102,15,114,245,5                    // pslld         $0x5,%xmm5
+  .byte  102,15,86,229                       // orpd          %xmm5,%xmm4
+  .byte  102,15,114,244,16                   // pslld         $0x10,%xmm4
+  .byte  102,15,114,228,16                   // psrad         $0x10,%xmm4
+  .byte  102,15,107,224                      // packssdw      %xmm0,%xmm4
+  .byte  102,15,126,101,232                  // movd          %xmm4,-0x18(%ebp)
+  .byte  102,15,112,236,229                  // pshufd        $0xe5,%xmm4,%xmm5
+  .byte  102,15,126,109,236                  // movd          %xmm5,-0x14(%ebp)
+  .byte  133,219                             // test          %ebx,%ebx
+  .byte  117,34                              // jne           4bbd <_sk_store_565_sse2+0xbe>
+  .byte  102,15,126,230                      // movd          %xmm4,%esi
+  .byte  102,15,126,235                      // movd          %xmm5,%ebx
+  .byte  137,52,122                          // mov           %esi,(%edx,%edi,2)
+  .byte  137,92,122,4                        // mov           %ebx,0x4(%edx,%edi,2)
+  .byte  141,80,8                            // lea           0x8(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,28                          // add           $0x1c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  243,15,126,101,232                  // movq          -0x18(%ebp),%xmm4
+  .byte  102,15,97,224                       // punpcklwd     %xmm0,%xmm4
+  .byte  128,227,3                           // and           $0x3,%bl
+  .byte  128,251,1                           // cmp           $0x1,%bl
+  .byte  116,37                              // je            4bf3 <_sk_store_565_sse2+0xf4>
+  .byte  128,251,2                           // cmp           $0x2,%bl
+  .byte  116,15                              // je            4be2 <_sk_store_565_sse2+0xe3>
+  .byte  128,251,3                           // cmp           $0x3,%bl
+  .byte  117,210                             // jne           4baa <_sk_store_565_sse2+0xab>
+  .byte  102,15,197,244,4                    // pextrw        $0x4,%xmm4,%esi
+  .byte  102,137,116,122,4                   // mov           %si,0x4(%edx,%edi,2)
+  .byte  102,15,112,228,212                  // pshufd        $0xd4,%xmm4,%xmm4
+  .byte  242,15,112,228,232                  // pshuflw       $0xe8,%xmm4,%xmm4
+  .byte  102,15,126,36,122                   // movd          %xmm4,(%edx,%edi,2)
+  .byte  235,183                             // jmp           4baa <_sk_store_565_sse2+0xab>
+  .byte  102,15,126,230                      // movd          %xmm4,%esi
+  .byte  102,137,52,122                      // mov           %si,(%edx,%edi,2)
+  .byte  235,173                             // jmp           4baa <_sk_store_565_sse2+0xab>
+
+HIDDEN _sk_load_4444_sse2
+.globl _sk_load_4444_sse2
+FUNCTION(_sk_load_4444_sse2)
+_sk_load_4444_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,12                          // sub           $0xc,%esp
+  .byte  232,0,0,0,0                         // call          4c0b <_sk_load_4444_sse2+0xe>
+  .byte  90                                  // pop           %edx
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,56                              // mov           (%eax),%edi
+  .byte  139,119,4                           // mov           0x4(%edi),%esi
+  .byte  15,175,113,4                        // imul          0x4(%ecx),%esi
+  .byte  1,246                               // add           %esi,%esi
+  .byte  3,55                                // add           (%edi),%esi
+  .byte  139,89,8                            // mov           0x8(%ecx),%ebx
+  .byte  133,219                             // test          %ebx,%ebx
+  .byte  139,57                              // mov           (%ecx),%edi
+  .byte  117,112                             // jne           4c98 <_sk_load_4444_sse2+0x9b>
+  .byte  243,15,126,28,126                   // movq          (%esi,%edi,2),%xmm3
+  .byte  102,15,97,216                       // punpcklwd     %xmm0,%xmm3
+  .byte  102,15,111,130,117,191,0,0          // movdqa        0xbf75(%edx),%xmm0
+  .byte  102,15,219,195                      // pand          %xmm3,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  15,89,130,133,191,0,0               // mulps         0xbf85(%edx),%xmm0
+  .byte  102,15,111,138,149,191,0,0          // movdqa        0xbf95(%edx),%xmm1
+  .byte  102,15,219,203                      // pand          %xmm3,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  15,89,138,165,191,0,0               // mulps         0xbfa5(%edx),%xmm1
+  .byte  102,15,111,146,181,191,0,0          // movdqa        0xbfb5(%edx),%xmm2
+  .byte  102,15,219,211                      // pand          %xmm3,%xmm2
+  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
+  .byte  15,89,146,197,191,0,0               // mulps         0xbfc5(%edx),%xmm2
+  .byte  102,15,219,154,213,191,0,0          // pand          0xbfd5(%edx),%xmm3
+  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
+  .byte  15,89,154,229,191,0,0               // mulps         0xbfe5(%edx),%xmm3
+  .byte  141,80,8                            // lea           0x8(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,28                          // add           $0x1c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  128,227,3                           // and           $0x3,%bl
+  .byte  128,251,1                           // cmp           $0x1,%bl
+  .byte  116,47                              // je            4ccf <_sk_load_4444_sse2+0xd2>
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  128,251,2                           // cmp           $0x2,%bl
+  .byte  116,19                              // je            4cbc <_sk_load_4444_sse2+0xbf>
+  .byte  128,251,3                           // cmp           $0x3,%bl
+  .byte  117,131                             // jne           4c31 <_sk_load_4444_sse2+0x34>
+  .byte  15,183,92,126,4                     // movzwl        0x4(%esi,%edi,2),%ebx
+  .byte  102,15,110,195                      // movd          %ebx,%xmm0
+  .byte  102,15,112,216,69                   // pshufd        $0x45,%xmm0,%xmm3
+  .byte  102,15,110,4,126                    // movd          (%esi,%edi,2),%xmm0
+  .byte  242,15,112,192,212                  // pshuflw       $0xd4,%xmm0,%xmm0
+  .byte  242,15,16,216                       // movsd         %xmm0,%xmm3
+  .byte  233,98,255,255,255                  // jmp           4c31 <_sk_load_4444_sse2+0x34>
+  .byte  15,183,52,126                       // movzwl        (%esi,%edi,2),%esi
+  .byte  102,15,110,222                      // movd          %esi,%xmm3
+  .byte  233,85,255,255,255                  // jmp           4c31 <_sk_load_4444_sse2+0x34>
+
+HIDDEN _sk_load_4444_dst_sse2
+.globl _sk_load_4444_dst_sse2
+FUNCTION(_sk_load_4444_dst_sse2)
+_sk_load_4444_dst_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,12                          // sub           $0xc,%esp
+  .byte  232,0,0,0,0                         // call          4cea <_sk_load_4444_dst_sse2+0xe>
+  .byte  90                                  // pop           %edx
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,56                              // mov           (%eax),%edi
+  .byte  139,119,4                           // mov           0x4(%edi),%esi
+  .byte  15,175,113,4                        // imul          0x4(%ecx),%esi
+  .byte  1,246                               // add           %esi,%esi
+  .byte  3,55                                // add           (%edi),%esi
+  .byte  139,89,8                            // mov           0x8(%ecx),%ebx
+  .byte  133,219                             // test          %ebx,%ebx
+  .byte  139,57                              // mov           (%ecx),%edi
+  .byte  15,133,128,0,0,0                    // jne           4d8b <_sk_load_4444_dst_sse2+0xaf>
+  .byte  243,15,126,36,126                   // movq          (%esi,%edi,2),%xmm4
+  .byte  102,15,97,224                       // punpcklwd     %xmm0,%xmm4
+  .byte  102,15,111,170,150,190,0,0          // movdqa        0xbe96(%edx),%xmm5
+  .byte  102,15,219,236                      // pand          %xmm4,%xmm5
+  .byte  15,91,237                           // cvtdq2ps      %xmm5,%xmm5
+  .byte  15,89,170,166,190,0,0               // mulps         0xbea6(%edx),%xmm5
+  .byte  15,41,105,16                        // movaps        %xmm5,0x10(%ecx)
+  .byte  102,15,111,170,182,190,0,0          // movdqa        0xbeb6(%edx),%xmm5
+  .byte  102,15,219,236                      // pand          %xmm4,%xmm5
+  .byte  15,91,237                           // cvtdq2ps      %xmm5,%xmm5
+  .byte  15,89,170,198,190,0,0               // mulps         0xbec6(%edx),%xmm5
+  .byte  15,41,105,32                        // movaps        %xmm5,0x20(%ecx)
+  .byte  102,15,111,170,214,190,0,0          // movdqa        0xbed6(%edx),%xmm5
+  .byte  102,15,219,236                      // pand          %xmm4,%xmm5
+  .byte  15,91,237                           // cvtdq2ps      %xmm5,%xmm5
+  .byte  15,89,170,230,190,0,0               // mulps         0xbee6(%edx),%xmm5
+  .byte  15,41,105,48                        // movaps        %xmm5,0x30(%ecx)
+  .byte  102,15,219,162,246,190,0,0          // pand          0xbef6(%edx),%xmm4
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  15,89,162,6,191,0,0                 // mulps         0xbf06(%edx),%xmm4
+  .byte  15,41,97,64                         // movaps        %xmm4,0x40(%ecx)
+  .byte  141,80,8                            // lea           0x8(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,28                          // add           $0x1c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  128,227,3                           // and           $0x3,%bl
+  .byte  128,251,1                           // cmp           $0x1,%bl
+  .byte  116,51                              // je            4dc6 <_sk_load_4444_dst_sse2+0xea>
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  128,251,2                           // cmp           $0x2,%bl
+  .byte  116,23                              // je            4db3 <_sk_load_4444_dst_sse2+0xd7>
+  .byte  128,251,3                           // cmp           $0x3,%bl
+  .byte  15,133,111,255,255,255              // jne           4d14 <_sk_load_4444_dst_sse2+0x38>
+  .byte  15,183,92,126,4                     // movzwl        0x4(%esi,%edi,2),%ebx
+  .byte  102,15,110,227                      // movd          %ebx,%xmm4
+  .byte  102,15,112,228,69                   // pshufd        $0x45,%xmm4,%xmm4
+  .byte  102,15,110,44,126                   // movd          (%esi,%edi,2),%xmm5
+  .byte  242,15,112,237,212                  // pshuflw       $0xd4,%xmm5,%xmm5
+  .byte  242,15,16,229                       // movsd         %xmm5,%xmm4
+  .byte  233,78,255,255,255                  // jmp           4d14 <_sk_load_4444_dst_sse2+0x38>
+  .byte  15,183,52,126                       // movzwl        (%esi,%edi,2),%esi
+  .byte  102,15,110,230                      // movd          %esi,%xmm4
+  .byte  233,65,255,255,255                  // jmp           4d14 <_sk_load_4444_dst_sse2+0x38>
+
+HIDDEN _sk_gather_4444_sse2
+.globl _sk_gather_4444_sse2
+FUNCTION(_sk_gather_4444_sse2)
+_sk_gather_4444_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  243,15,16,81,8                      // movss         0x8(%ecx),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  102,15,118,219                      // pcmpeqd       %xmm3,%xmm3
+  .byte  102,15,254,211                      // paddd         %xmm3,%xmm2
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,95,224                           // maxps         %xmm0,%xmm4
+  .byte  15,93,226                           // minps         %xmm2,%xmm4
+  .byte  243,15,16,65,12                     // movss         0xc(%ecx),%xmm0
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  102,15,254,195                      // paddd         %xmm3,%xmm0
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  15,95,209                           // maxps         %xmm1,%xmm2
+  .byte  15,93,208                           // minps         %xmm0,%xmm2
+  .byte  139,17                              // mov           (%ecx),%edx
+  .byte  243,15,91,194                       // cvttps2dq     %xmm2,%xmm0
+  .byte  102,15,110,73,4                     // movd          0x4(%ecx),%xmm1
+  .byte  102,15,112,201,0                    // pshufd        $0x0,%xmm1,%xmm1
+  .byte  102,15,112,208,245                  // pshufd        $0xf5,%xmm0,%xmm2
+  .byte  102,15,244,209                      // pmuludq       %xmm1,%xmm2
+  .byte  102,15,244,200                      // pmuludq       %xmm0,%xmm1
+  .byte  102,15,112,193,232                  // pshufd        $0xe8,%xmm1,%xmm0
+  .byte  102,15,112,202,232                  // pshufd        $0xe8,%xmm2,%xmm1
+  .byte  102,15,98,193                       // punpckldq     %xmm1,%xmm0
+  .byte  243,15,91,204                       // cvttps2dq     %xmm4,%xmm1
+  .byte  102,15,254,200                      // paddd         %xmm0,%xmm1
+  .byte  102,15,126,201                      // movd          %xmm1,%ecx
+  .byte  102,15,112,193,229                  // pshufd        $0xe5,%xmm1,%xmm0
+  .byte  15,183,12,74                        // movzwl        (%edx,%ecx,2),%ecx
+  .byte  102,15,110,217                      // movd          %ecx,%xmm3
+  .byte  102,15,126,193                      // movd          %xmm0,%ecx
+  .byte  102,15,112,193,78                   // pshufd        $0x4e,%xmm1,%xmm0
+  .byte  15,183,12,74                        // movzwl        (%edx,%ecx,2),%ecx
+  .byte  102,15,196,217,1                    // pinsrw        $0x1,%ecx,%xmm3
+  .byte  102,15,126,193                      // movd          %xmm0,%ecx
+  .byte  102,15,112,193,231                  // pshufd        $0xe7,%xmm1,%xmm0
+  .byte  15,183,12,74                        // movzwl        (%edx,%ecx,2),%ecx
+  .byte  102,15,196,217,2                    // pinsrw        $0x2,%ecx,%xmm3
+  .byte  102,15,126,193                      // movd          %xmm0,%ecx
+  .byte  15,183,12,74                        // movzwl        (%edx,%ecx,2),%ecx
+  .byte  102,15,196,217,3                    // pinsrw        $0x3,%ecx,%xmm3
+  .byte  232,0,0,0,0                         // call          4e88 <_sk_gather_4444_sse2+0xb5>
+  .byte  89                                  // pop           %ecx
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  102,15,97,216                       // punpcklwd     %xmm0,%xmm3
+  .byte  102,15,111,129,248,188,0,0          // movdqa        0xbcf8(%ecx),%xmm0
+  .byte  102,15,219,195                      // pand          %xmm3,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  15,89,129,8,189,0,0                 // mulps         0xbd08(%ecx),%xmm0
+  .byte  102,15,111,137,24,189,0,0           // movdqa        0xbd18(%ecx),%xmm1
+  .byte  102,15,219,203                      // pand          %xmm3,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  15,89,137,40,189,0,0                // mulps         0xbd28(%ecx),%xmm1
+  .byte  102,15,111,145,56,189,0,0           // movdqa        0xbd38(%ecx),%xmm2
+  .byte  102,15,219,211                      // pand          %xmm3,%xmm2
+  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
+  .byte  15,89,145,72,189,0,0                // mulps         0xbd48(%ecx),%xmm2
+  .byte  102,15,219,153,88,189,0,0           // pand          0xbd58(%ecx),%xmm3
+  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
+  .byte  15,89,153,104,189,0,0               // mulps         0xbd68(%ecx),%xmm3
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_store_4444_sse2
+.globl _sk_store_4444_sse2
+FUNCTION(_sk_store_4444_sse2)
+_sk_store_4444_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,44                          // sub           $0x2c,%esp
+  .byte  15,41,93,216                        // movaps        %xmm3,-0x28(%ebp)
+  .byte  232,0,0,0,0                         // call          4f09 <_sk_store_4444_sse2+0x12>
+  .byte  88                                  // pop           %eax
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,95,224                           // maxps         %xmm0,%xmm4
+  .byte  15,40,168,87,184,0,0                // movaps        0xb857(%eax),%xmm5
+  .byte  15,93,229                           // minps         %xmm5,%xmm4
+  .byte  15,40,176,247,188,0,0               // movaps        0xbcf7(%eax),%xmm6
+  .byte  15,89,230                           // mulps         %xmm6,%xmm4
+  .byte  102,15,91,228                       // cvtps2dq      %xmm4,%xmm4
+  .byte  102,15,114,244,12                   // pslld         $0xc,%xmm4
+  .byte  15,87,255                           // xorps         %xmm7,%xmm7
+  .byte  15,95,249                           // maxps         %xmm1,%xmm7
+  .byte  15,93,253                           // minps         %xmm5,%xmm7
+  .byte  15,89,254                           // mulps         %xmm6,%xmm7
+  .byte  102,15,91,255                       // cvtps2dq      %xmm7,%xmm7
+  .byte  102,15,114,247,8                    // pslld         $0x8,%xmm7
+  .byte  102,15,235,252                      // por           %xmm4,%xmm7
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  15,41,85,200                        // movaps        %xmm2,-0x38(%ebp)
+  .byte  15,95,226                           // maxps         %xmm2,%xmm4
+  .byte  15,93,229                           // minps         %xmm5,%xmm4
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  15,95,93,216                        // maxps         -0x28(%ebp),%xmm3
+  .byte  15,93,221                           // minps         %xmm5,%xmm3
+  .byte  15,89,230                           // mulps         %xmm6,%xmm4
+  .byte  15,89,222                           // mulps         %xmm6,%xmm3
+  .byte  102,15,91,236                       // cvtps2dq      %xmm4,%xmm5
+  .byte  102,15,114,245,4                    // pslld         $0x4,%xmm5
+  .byte  102,15,91,227                       // cvtps2dq      %xmm3,%xmm4
+  .byte  102,15,86,229                       // orpd          %xmm5,%xmm4
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,56                              // mov           (%eax),%edi
+  .byte  139,17                              // mov           (%ecx),%edx
+  .byte  139,119,4                           // mov           0x4(%edi),%esi
+  .byte  15,175,113,4                        // imul          0x4(%ecx),%esi
+  .byte  1,246                               // add           %esi,%esi
+  .byte  3,55                                // add           (%edi),%esi
+  .byte  139,89,8                            // mov           0x8(%ecx),%ebx
+  .byte  102,15,86,231                       // orpd          %xmm7,%xmm4
+  .byte  102,15,114,244,16                   // pslld         $0x10,%xmm4
+  .byte  102,15,114,228,16                   // psrad         $0x10,%xmm4
+  .byte  102,15,107,224                      // packssdw      %xmm0,%xmm4
+  .byte  102,15,126,101,232                  // movd          %xmm4,-0x18(%ebp)
+  .byte  102,15,112,236,229                  // pshufd        $0xe5,%xmm4,%xmm5
+  .byte  102,15,126,109,236                  // movd          %xmm5,-0x14(%ebp)
+  .byte  133,219                             // test          %ebx,%ebx
+  .byte  117,42                              // jne           4fdc <_sk_store_4444_sse2+0xe5>
+  .byte  102,15,126,231                      // movd          %xmm4,%edi
+  .byte  102,15,126,235                      // movd          %xmm5,%ebx
+  .byte  137,60,86                           // mov           %edi,(%esi,%edx,2)
+  .byte  137,92,86,4                         // mov           %ebx,0x4(%esi,%edx,2)
+  .byte  141,80,8                            // lea           0x8(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,85,200                        // movaps        -0x38(%ebp),%xmm2
+  .byte  15,40,93,216                        // movaps        -0x28(%ebp),%xmm3
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,60                          // add           $0x3c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  243,15,126,101,232                  // movq          -0x18(%ebp),%xmm4
+  .byte  102,15,97,224                       // punpcklwd     %xmm0,%xmm4
+  .byte  128,227,3                           // and           $0x3,%bl
+  .byte  128,251,1                           // cmp           $0x1,%bl
+  .byte  116,37                              // je            5012 <_sk_store_4444_sse2+0x11b>
+  .byte  128,251,2                           // cmp           $0x2,%bl
+  .byte  116,15                              // je            5001 <_sk_store_4444_sse2+0x10a>
+  .byte  128,251,3                           // cmp           $0x3,%bl
+  .byte  117,202                             // jne           4fc1 <_sk_store_4444_sse2+0xca>
+  .byte  102,15,197,252,4                    // pextrw        $0x4,%xmm4,%edi
+  .byte  102,137,124,86,4                    // mov           %di,0x4(%esi,%edx,2)
+  .byte  102,15,112,220,212                  // pshufd        $0xd4,%xmm4,%xmm3
+  .byte  242,15,112,219,232                  // pshuflw       $0xe8,%xmm3,%xmm3
+  .byte  102,15,126,28,86                    // movd          %xmm3,(%esi,%edx,2)
+  .byte  235,175                             // jmp           4fc1 <_sk_store_4444_sse2+0xca>
+  .byte  102,15,126,231                      // movd          %xmm4,%edi
+  .byte  102,137,60,86                       // mov           %di,(%esi,%edx,2)
+  .byte  235,165                             // jmp           4fc1 <_sk_store_4444_sse2+0xca>
+
+HIDDEN _sk_load_8888_sse2
+.globl _sk_load_8888_sse2
+FUNCTION(_sk_load_8888_sse2)
+_sk_load_8888_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,12                          // sub           $0xc,%esp
+  .byte  232,0,0,0,0                         // call          502a <_sk_load_8888_sse2+0xe>
+  .byte  90                                  // pop           %edx
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,56                              // mov           (%eax),%edi
+  .byte  139,119,4                           // mov           0x4(%edi),%esi
+  .byte  15,175,113,4                        // imul          0x4(%ecx),%esi
+  .byte  193,230,2                           // shl           $0x2,%esi
+  .byte  3,55                                // add           (%edi),%esi
+  .byte  139,89,8                            // mov           0x8(%ecx),%ebx
+  .byte  133,219                             // test          %ebx,%ebx
+  .byte  139,57                              // mov           (%ecx),%edi
+  .byte  117,102                             // jne           50ae <_sk_load_8888_sse2+0x92>
+  .byte  243,15,111,28,190                   // movdqu        (%esi,%edi,4),%xmm3
+  .byte  102,15,111,146,246,183,0,0          // movdqa        0xb7f6(%edx),%xmm2
+  .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
+  .byte  102,15,219,194                      // pand          %xmm2,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  15,40,162,54,185,0,0                // movaps        0xb936(%edx),%xmm4
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
+  .byte  102,15,114,209,8                    // psrld         $0x8,%xmm1
+  .byte  102,15,219,202                      // pand          %xmm2,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  102,15,111,235                      // movdqa        %xmm3,%xmm5
+  .byte  102,15,114,213,16                   // psrld         $0x10,%xmm5
+  .byte  102,15,219,234                      // pand          %xmm2,%xmm5
+  .byte  15,91,213                           // cvtdq2ps      %xmm5,%xmm2
+  .byte  15,89,212                           // mulps         %xmm4,%xmm2
+  .byte  102,15,114,211,24                   // psrld         $0x18,%xmm3
+  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
+  .byte  15,89,220                           // mulps         %xmm4,%xmm3
+  .byte  141,80,8                            // lea           0x8(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,28                          // add           $0x1c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  128,227,3                           // and           $0x3,%bl
+  .byte  128,251,1                           // cmp           $0x1,%bl
+  .byte  116,35                              // je            50d9 <_sk_load_8888_sse2+0xbd>
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  128,251,2                           // cmp           $0x2,%bl
+  .byte  116,16                              // je            50cf <_sk_load_8888_sse2+0xb3>
+  .byte  128,251,3                           // cmp           $0x3,%bl
+  .byte  117,137                             // jne           504d <_sk_load_8888_sse2+0x31>
+  .byte  102,15,110,68,190,8                 // movd          0x8(%esi,%edi,4),%xmm0
+  .byte  102,15,112,216,69                   // pshufd        $0x45,%xmm0,%xmm3
+  .byte  102,15,18,28,190                    // movlpd        (%esi,%edi,4),%xmm3
+  .byte  233,116,255,255,255                 // jmp           504d <_sk_load_8888_sse2+0x31>
+  .byte  102,15,110,28,190                   // movd          (%esi,%edi,4),%xmm3
+  .byte  233,106,255,255,255                 // jmp           504d <_sk_load_8888_sse2+0x31>
+
+HIDDEN _sk_load_8888_dst_sse2
+.globl _sk_load_8888_dst_sse2
+FUNCTION(_sk_load_8888_dst_sse2)
+_sk_load_8888_dst_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,12                          // sub           $0xc,%esp
+  .byte  232,0,0,0,0                         // call          50f1 <_sk_load_8888_dst_sse2+0xe>
+  .byte  90                                  // pop           %edx
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,56                              // mov           (%eax),%edi
+  .byte  139,119,4                           // mov           0x4(%edi),%esi
+  .byte  15,175,113,4                        // imul          0x4(%ecx),%esi
+  .byte  193,230,2                           // shl           $0x2,%esi
+  .byte  3,55                                // add           (%edi),%esi
+  .byte  139,89,8                            // mov           0x8(%ecx),%ebx
+  .byte  133,219                             // test          %ebx,%ebx
+  .byte  139,57                              // mov           (%ecx),%edi
+  .byte  117,118                             // jne           5185 <_sk_load_8888_dst_sse2+0xa2>
+  .byte  243,15,111,36,190                   // movdqu        (%esi,%edi,4),%xmm4
+  .byte  102,15,111,170,47,183,0,0           // movdqa        0xb72f(%edx),%xmm5
+  .byte  102,15,111,244                      // movdqa        %xmm4,%xmm6
+  .byte  102,15,219,245                      // pand          %xmm5,%xmm6
+  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
+  .byte  15,40,186,111,184,0,0               // movaps        0xb86f(%edx),%xmm7
+  .byte  15,89,247                           // mulps         %xmm7,%xmm6
+  .byte  15,41,113,16                        // movaps        %xmm6,0x10(%ecx)
+  .byte  102,15,111,244                      // movdqa        %xmm4,%xmm6
+  .byte  102,15,114,214,8                    // psrld         $0x8,%xmm6
+  .byte  102,15,219,245                      // pand          %xmm5,%xmm6
+  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
+  .byte  15,89,247                           // mulps         %xmm7,%xmm6
+  .byte  15,41,113,32                        // movaps        %xmm6,0x20(%ecx)
+  .byte  102,15,111,244                      // movdqa        %xmm4,%xmm6
+  .byte  102,15,114,214,16                   // psrld         $0x10,%xmm6
+  .byte  102,15,219,245                      // pand          %xmm5,%xmm6
+  .byte  15,91,238                           // cvtdq2ps      %xmm6,%xmm5
+  .byte  15,89,239                           // mulps         %xmm7,%xmm5
+  .byte  15,41,105,48                        // movaps        %xmm5,0x30(%ecx)
+  .byte  102,15,114,212,24                   // psrld         $0x18,%xmm4
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  15,89,231                           // mulps         %xmm7,%xmm4
+  .byte  15,41,97,64                         // movaps        %xmm4,0x40(%ecx)
+  .byte  141,80,8                            // lea           0x8(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,28                          // add           $0x1c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  128,227,3                           // and           $0x3,%bl
+  .byte  128,251,1                           // cmp           $0x1,%bl
+  .byte  116,39                              // je            51b4 <_sk_load_8888_dst_sse2+0xd1>
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  128,251,2                           // cmp           $0x2,%bl
+  .byte  116,20                              // je            51aa <_sk_load_8888_dst_sse2+0xc7>
+  .byte  128,251,3                           // cmp           $0x3,%bl
+  .byte  15,133,117,255,255,255              // jne           5114 <_sk_load_8888_dst_sse2+0x31>
+  .byte  102,15,110,100,190,8                // movd          0x8(%esi,%edi,4),%xmm4
+  .byte  102,15,112,228,69                   // pshufd        $0x45,%xmm4,%xmm4
+  .byte  102,15,18,36,190                    // movlpd        (%esi,%edi,4),%xmm4
+  .byte  233,96,255,255,255                  // jmp           5114 <_sk_load_8888_dst_sse2+0x31>
+  .byte  102,15,110,36,190                   // movd          (%esi,%edi,4),%xmm4
+  .byte  233,86,255,255,255                  // jmp           5114 <_sk_load_8888_dst_sse2+0x31>
+
+HIDDEN _sk_gather_8888_sse2
+.globl _sk_gather_8888_sse2
+FUNCTION(_sk_gather_8888_sse2)
+_sk_gather_8888_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  243,15,16,81,8                      // movss         0x8(%ecx),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  102,15,118,219                      // pcmpeqd       %xmm3,%xmm3
+  .byte  102,15,254,211                      // paddd         %xmm3,%xmm2
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,87,237                           // xorps         %xmm5,%xmm5
+  .byte  15,95,232                           // maxps         %xmm0,%xmm5
+  .byte  15,93,234                           // minps         %xmm2,%xmm5
+  .byte  243,15,16,65,12                     // movss         0xc(%ecx),%xmm0
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  102,15,254,195                      // paddd         %xmm3,%xmm0
+  .byte  15,95,225                           // maxps         %xmm1,%xmm4
+  .byte  15,93,224                           // minps         %xmm0,%xmm4
+  .byte  139,17                              // mov           (%ecx),%edx
+  .byte  243,15,91,196                       // cvttps2dq     %xmm4,%xmm0
+  .byte  102,15,110,73,4                     // movd          0x4(%ecx),%xmm1
+  .byte  102,15,112,201,0                    // pshufd        $0x0,%xmm1,%xmm1
+  .byte  102,15,112,208,245                  // pshufd        $0xf5,%xmm0,%xmm2
+  .byte  102,15,244,209                      // pmuludq       %xmm1,%xmm2
+  .byte  102,15,244,200                      // pmuludq       %xmm0,%xmm1
+  .byte  102,15,112,193,232                  // pshufd        $0xe8,%xmm1,%xmm0
+  .byte  102,15,112,202,232                  // pshufd        $0xe8,%xmm2,%xmm1
+  .byte  102,15,98,193                       // punpckldq     %xmm1,%xmm0
+  .byte  243,15,91,205                       // cvttps2dq     %xmm5,%xmm1
+  .byte  102,15,254,200                      // paddd         %xmm0,%xmm1
+  .byte  102,15,112,193,78                   // pshufd        $0x4e,%xmm1,%xmm0
+  .byte  102,15,112,209,231                  // pshufd        $0xe7,%xmm1,%xmm2
+  .byte  102,15,126,209                      // movd          %xmm2,%ecx
+  .byte  102,15,110,20,138                   // movd          (%edx,%ecx,4),%xmm2
+  .byte  102,15,126,193                      // movd          %xmm0,%ecx
+  .byte  102,15,110,4,138                    // movd          (%edx,%ecx,4),%xmm0
+  .byte  102,15,126,201                      // movd          %xmm1,%ecx
+  .byte  102,15,112,201,229                  // pshufd        $0xe5,%xmm1,%xmm1
+  .byte  102,15,110,28,138                   // movd          (%edx,%ecx,4),%xmm3
+  .byte  102,15,126,201                      // movd          %xmm1,%ecx
+  .byte  102,15,110,12,138                   // movd          (%edx,%ecx,4),%xmm1
+  .byte  232,0,0,0,0                         // call          5264 <_sk_gather_8888_sse2+0xa6>
+  .byte  89                                  // pop           %ecx
+  .byte  102,15,98,194                       // punpckldq     %xmm2,%xmm0
+  .byte  102,15,98,217                       // punpckldq     %xmm1,%xmm3
+  .byte  102,15,108,216                      // punpcklqdq    %xmm0,%xmm3
+  .byte  102,15,111,145,188,181,0,0          // movdqa        0xb5bc(%ecx),%xmm2
+  .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
+  .byte  102,15,219,194                      // pand          %xmm2,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  15,40,161,252,182,0,0               // movaps        0xb6fc(%ecx),%xmm4
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
+  .byte  102,15,114,209,8                    // psrld         $0x8,%xmm1
+  .byte  102,15,219,202                      // pand          %xmm2,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  102,15,111,235                      // movdqa        %xmm3,%xmm5
+  .byte  102,15,114,213,16                   // psrld         $0x10,%xmm5
+  .byte  102,15,219,234                      // pand          %xmm2,%xmm5
+  .byte  15,91,213                           // cvtdq2ps      %xmm5,%xmm2
+  .byte  15,89,212                           // mulps         %xmm4,%xmm2
+  .byte  102,15,114,211,24                   // psrld         $0x18,%xmm3
+  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
+  .byte  15,89,220                           // mulps         %xmm4,%xmm3
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_store_8888_sse2
+.globl _sk_store_8888_sse2
+FUNCTION(_sk_store_8888_sse2)
+_sk_store_8888_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,44                          // sub           $0x2c,%esp
+  .byte  15,41,93,216                        // movaps        %xmm3,-0x28(%ebp)
+  .byte  232,0,0,0,0                         // call          52e3 <_sk_store_8888_sse2+0x12>
+  .byte  88                                  // pop           %eax
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,95,224                           // maxps         %xmm0,%xmm4
+  .byte  15,40,168,125,180,0,0               // movaps        0xb47d(%eax),%xmm5
+  .byte  15,93,229                           // minps         %xmm5,%xmm4
+  .byte  15,40,176,77,181,0,0                // movaps        0xb54d(%eax),%xmm6
+  .byte  15,89,230                           // mulps         %xmm6,%xmm4
+  .byte  102,15,91,228                       // cvtps2dq      %xmm4,%xmm4
+  .byte  15,87,255                           // xorps         %xmm7,%xmm7
+  .byte  15,95,249                           // maxps         %xmm1,%xmm7
+  .byte  15,93,253                           // minps         %xmm5,%xmm7
+  .byte  15,89,254                           // mulps         %xmm6,%xmm7
+  .byte  102,15,91,255                       // cvtps2dq      %xmm7,%xmm7
+  .byte  102,15,114,247,8                    // pslld         $0x8,%xmm7
+  .byte  102,15,235,252                      // por           %xmm4,%xmm7
+  .byte  102,15,87,228                       // xorpd         %xmm4,%xmm4
+  .byte  15,41,85,200                        // movaps        %xmm2,-0x38(%ebp)
+  .byte  15,95,226                           // maxps         %xmm2,%xmm4
+  .byte  15,93,229                           // minps         %xmm5,%xmm4
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  15,95,93,216                        // maxps         -0x28(%ebp),%xmm3
+  .byte  15,93,221                           // minps         %xmm5,%xmm3
+  .byte  15,89,230                           // mulps         %xmm6,%xmm4
+  .byte  15,89,222                           // mulps         %xmm6,%xmm3
+  .byte  102,15,91,236                       // cvtps2dq      %xmm4,%xmm5
+  .byte  102,15,114,245,16                   // pslld         $0x10,%xmm5
+  .byte  102,15,91,227                       // cvtps2dq      %xmm3,%xmm4
+  .byte  102,15,114,244,24                   // pslld         $0x18,%xmm4
+  .byte  102,15,235,229                      // por           %xmm5,%xmm4
+  .byte  102,15,235,231                      // por           %xmm7,%xmm4
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,56                              // mov           (%eax),%edi
+  .byte  139,17                              // mov           (%ecx),%edx
+  .byte  139,119,4                           // mov           0x4(%edi),%esi
+  .byte  15,175,113,4                        // imul          0x4(%ecx),%esi
+  .byte  193,230,2                           // shl           $0x2,%esi
+  .byte  3,55                                // add           (%edi),%esi
+  .byte  139,89,8                            // mov           0x8(%ecx),%ebx
+  .byte  133,219                             // test          %ebx,%ebx
+  .byte  117,32                              // jne           5390 <_sk_store_8888_sse2+0xbf>
+  .byte  243,15,127,36,150                   // movdqu        %xmm4,(%esi,%edx,4)
+  .byte  141,80,8                            // lea           0x8(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,85,200                        // movaps        -0x38(%ebp),%xmm2
+  .byte  15,40,93,216                        // movaps        -0x28(%ebp),%xmm3
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,60                          // add           $0x3c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  128,227,3                           // and           $0x3,%bl
+  .byte  128,251,1                           // cmp           $0x1,%bl
+  .byte  116,28                              // je            53b4 <_sk_store_8888_sse2+0xe3>
+  .byte  128,251,2                           // cmp           $0x2,%bl
+  .byte  116,16                              // je            53ad <_sk_store_8888_sse2+0xdc>
+  .byte  128,251,3                           // cmp           $0x3,%bl
+  .byte  117,211                             // jne           5375 <_sk_store_8888_sse2+0xa4>
+  .byte  102,15,112,220,78                   // pshufd        $0x4e,%xmm4,%xmm3
+  .byte  102,15,126,92,150,8                 // movd          %xmm3,0x8(%esi,%edx,4)
+  .byte  102,15,214,36,150                   // movq          %xmm4,(%esi,%edx,4)
+  .byte  235,193                             // jmp           5375 <_sk_store_8888_sse2+0xa4>
+  .byte  102,15,126,36,150                   // movd          %xmm4,(%esi,%edx,4)
+  .byte  235,186                             // jmp           5375 <_sk_store_8888_sse2+0xa4>
+
+HIDDEN _sk_load_bgra_sse2
+.globl _sk_load_bgra_sse2
+FUNCTION(_sk_load_bgra_sse2)
+_sk_load_bgra_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,12                          // sub           $0xc,%esp
+  .byte  232,0,0,0,0                         // call          53c9 <_sk_load_bgra_sse2+0xe>
+  .byte  90                                  // pop           %edx
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,56                              // mov           (%eax),%edi
+  .byte  139,119,4                           // mov           0x4(%edi),%esi
+  .byte  15,175,113,4                        // imul          0x4(%ecx),%esi
+  .byte  193,230,2                           // shl           $0x2,%esi
+  .byte  3,55                                // add           (%edi),%esi
+  .byte  139,89,8                            // mov           0x8(%ecx),%ebx
+  .byte  133,219                             // test          %ebx,%ebx
+  .byte  139,57                              // mov           (%ecx),%edi
+  .byte  117,102                             // jne           544d <_sk_load_bgra_sse2+0x92>
+  .byte  243,15,111,28,190                   // movdqu        (%esi,%edi,4),%xmm3
+  .byte  102,15,111,130,87,180,0,0           // movdqa        0xb457(%edx),%xmm0
+  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
+  .byte  102,15,219,200                      // pand          %xmm0,%xmm1
+  .byte  15,91,209                           // cvtdq2ps      %xmm1,%xmm2
+  .byte  15,40,162,151,181,0,0               // movaps        0xb597(%edx),%xmm4
+  .byte  15,89,212                           // mulps         %xmm4,%xmm2
+  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
+  .byte  102,15,114,209,8                    // psrld         $0x8,%xmm1
+  .byte  102,15,219,200                      // pand          %xmm0,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  102,15,111,235                      // movdqa        %xmm3,%xmm5
+  .byte  102,15,114,213,16                   // psrld         $0x10,%xmm5
+  .byte  102,15,219,232                      // pand          %xmm0,%xmm5
+  .byte  15,91,197                           // cvtdq2ps      %xmm5,%xmm0
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  102,15,114,211,24                   // psrld         $0x18,%xmm3
+  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
+  .byte  15,89,220                           // mulps         %xmm4,%xmm3
+  .byte  141,80,8                            // lea           0x8(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,28                          // add           $0x1c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  128,227,3                           // and           $0x3,%bl
+  .byte  128,251,1                           // cmp           $0x1,%bl
+  .byte  116,35                              // je            5478 <_sk_load_bgra_sse2+0xbd>
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  128,251,2                           // cmp           $0x2,%bl
+  .byte  116,16                              // je            546e <_sk_load_bgra_sse2+0xb3>
+  .byte  128,251,3                           // cmp           $0x3,%bl
+  .byte  117,137                             // jne           53ec <_sk_load_bgra_sse2+0x31>
+  .byte  102,15,110,68,190,8                 // movd          0x8(%esi,%edi,4),%xmm0
+  .byte  102,15,112,216,69                   // pshufd        $0x45,%xmm0,%xmm3
+  .byte  102,15,18,28,190                    // movlpd        (%esi,%edi,4),%xmm3
+  .byte  233,116,255,255,255                 // jmp           53ec <_sk_load_bgra_sse2+0x31>
+  .byte  102,15,110,28,190                   // movd          (%esi,%edi,4),%xmm3
+  .byte  233,106,255,255,255                 // jmp           53ec <_sk_load_bgra_sse2+0x31>
+
+HIDDEN _sk_load_bgra_dst_sse2
+.globl _sk_load_bgra_dst_sse2
+FUNCTION(_sk_load_bgra_dst_sse2)
+_sk_load_bgra_dst_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,12                          // sub           $0xc,%esp
+  .byte  232,0,0,0,0                         // call          5490 <_sk_load_bgra_dst_sse2+0xe>
+  .byte  90                                  // pop           %edx
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,56                              // mov           (%eax),%edi
+  .byte  139,119,4                           // mov           0x4(%edi),%esi
+  .byte  15,175,113,4                        // imul          0x4(%ecx),%esi
+  .byte  193,230,2                           // shl           $0x2,%esi
+  .byte  3,55                                // add           (%edi),%esi
+  .byte  139,89,8                            // mov           0x8(%ecx),%ebx
+  .byte  133,219                             // test          %ebx,%ebx
+  .byte  139,57                              // mov           (%ecx),%edi
+  .byte  117,118                             // jne           5524 <_sk_load_bgra_dst_sse2+0xa2>
+  .byte  243,15,111,36,190                   // movdqu        (%esi,%edi,4),%xmm4
+  .byte  102,15,111,170,144,179,0,0          // movdqa        0xb390(%edx),%xmm5
+  .byte  102,15,111,244                      // movdqa        %xmm4,%xmm6
+  .byte  102,15,219,245                      // pand          %xmm5,%xmm6
+  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
+  .byte  15,40,186,208,180,0,0               // movaps        0xb4d0(%edx),%xmm7
+  .byte  15,89,247                           // mulps         %xmm7,%xmm6
+  .byte  15,41,113,48                        // movaps        %xmm6,0x30(%ecx)
+  .byte  102,15,111,244                      // movdqa        %xmm4,%xmm6
+  .byte  102,15,114,214,8                    // psrld         $0x8,%xmm6
+  .byte  102,15,219,245                      // pand          %xmm5,%xmm6
+  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
+  .byte  15,89,247                           // mulps         %xmm7,%xmm6
+  .byte  15,41,113,32                        // movaps        %xmm6,0x20(%ecx)
+  .byte  102,15,111,244                      // movdqa        %xmm4,%xmm6
+  .byte  102,15,114,214,16                   // psrld         $0x10,%xmm6
+  .byte  102,15,219,245                      // pand          %xmm5,%xmm6
+  .byte  15,91,238                           // cvtdq2ps      %xmm6,%xmm5
+  .byte  15,89,239                           // mulps         %xmm7,%xmm5
+  .byte  15,41,105,16                        // movaps        %xmm5,0x10(%ecx)
+  .byte  102,15,114,212,24                   // psrld         $0x18,%xmm4
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  15,89,231                           // mulps         %xmm7,%xmm4
+  .byte  15,41,97,64                         // movaps        %xmm4,0x40(%ecx)
+  .byte  141,80,8                            // lea           0x8(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,28                          // add           $0x1c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  128,227,3                           // and           $0x3,%bl
+  .byte  128,251,1                           // cmp           $0x1,%bl
+  .byte  116,39                              // je            5553 <_sk_load_bgra_dst_sse2+0xd1>
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  128,251,2                           // cmp           $0x2,%bl
+  .byte  116,20                              // je            5549 <_sk_load_bgra_dst_sse2+0xc7>
+  .byte  128,251,3                           // cmp           $0x3,%bl
+  .byte  15,133,117,255,255,255              // jne           54b3 <_sk_load_bgra_dst_sse2+0x31>
+  .byte  102,15,110,100,190,8                // movd          0x8(%esi,%edi,4),%xmm4
+  .byte  102,15,112,228,69                   // pshufd        $0x45,%xmm4,%xmm4
+  .byte  102,15,18,36,190                    // movlpd        (%esi,%edi,4),%xmm4
+  .byte  233,96,255,255,255                  // jmp           54b3 <_sk_load_bgra_dst_sse2+0x31>
+  .byte  102,15,110,36,190                   // movd          (%esi,%edi,4),%xmm4
+  .byte  233,86,255,255,255                  // jmp           54b3 <_sk_load_bgra_dst_sse2+0x31>
+
+HIDDEN _sk_gather_bgra_sse2
+.globl _sk_gather_bgra_sse2
+FUNCTION(_sk_gather_bgra_sse2)
+_sk_gather_bgra_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  243,15,16,81,8                      // movss         0x8(%ecx),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  102,15,118,219                      // pcmpeqd       %xmm3,%xmm3
+  .byte  102,15,254,211                      // paddd         %xmm3,%xmm2
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,87,237                           // xorps         %xmm5,%xmm5
+  .byte  15,95,232                           // maxps         %xmm0,%xmm5
+  .byte  15,93,234                           // minps         %xmm2,%xmm5
+  .byte  243,15,16,65,12                     // movss         0xc(%ecx),%xmm0
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  102,15,254,195                      // paddd         %xmm3,%xmm0
+  .byte  15,95,225                           // maxps         %xmm1,%xmm4
+  .byte  15,93,224                           // minps         %xmm0,%xmm4
+  .byte  139,17                              // mov           (%ecx),%edx
+  .byte  243,15,91,196                       // cvttps2dq     %xmm4,%xmm0
+  .byte  102,15,110,73,4                     // movd          0x4(%ecx),%xmm1
+  .byte  102,15,112,201,0                    // pshufd        $0x0,%xmm1,%xmm1
+  .byte  102,15,112,208,245                  // pshufd        $0xf5,%xmm0,%xmm2
+  .byte  102,15,244,209                      // pmuludq       %xmm1,%xmm2
+  .byte  102,15,244,200                      // pmuludq       %xmm0,%xmm1
+  .byte  102,15,112,193,232                  // pshufd        $0xe8,%xmm1,%xmm0
+  .byte  102,15,112,202,232                  // pshufd        $0xe8,%xmm2,%xmm1
+  .byte  102,15,98,193                       // punpckldq     %xmm1,%xmm0
+  .byte  243,15,91,205                       // cvttps2dq     %xmm5,%xmm1
+  .byte  102,15,254,200                      // paddd         %xmm0,%xmm1
+  .byte  102,15,112,193,78                   // pshufd        $0x4e,%xmm1,%xmm0
+  .byte  102,15,112,209,231                  // pshufd        $0xe7,%xmm1,%xmm2
+  .byte  102,15,126,209                      // movd          %xmm2,%ecx
+  .byte  102,15,110,20,138                   // movd          (%edx,%ecx,4),%xmm2
+  .byte  102,15,126,193                      // movd          %xmm0,%ecx
+  .byte  102,15,110,4,138                    // movd          (%edx,%ecx,4),%xmm0
+  .byte  102,15,126,201                      // movd          %xmm1,%ecx
+  .byte  102,15,112,201,229                  // pshufd        $0xe5,%xmm1,%xmm1
+  .byte  102,15,110,28,138                   // movd          (%edx,%ecx,4),%xmm3
+  .byte  102,15,126,201                      // movd          %xmm1,%ecx
+  .byte  102,15,110,12,138                   // movd          (%edx,%ecx,4),%xmm1
+  .byte  232,0,0,0,0                         // call          5603 <_sk_gather_bgra_sse2+0xa6>
+  .byte  89                                  // pop           %ecx
+  .byte  102,15,98,194                       // punpckldq     %xmm2,%xmm0
+  .byte  102,15,98,217                       // punpckldq     %xmm1,%xmm3
+  .byte  102,15,108,216                      // punpcklqdq    %xmm0,%xmm3
+  .byte  102,15,111,129,29,178,0,0           // movdqa        0xb21d(%ecx),%xmm0
+  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
+  .byte  102,15,219,200                      // pand          %xmm0,%xmm1
+  .byte  15,91,209                           // cvtdq2ps      %xmm1,%xmm2
+  .byte  15,40,161,93,179,0,0                // movaps        0xb35d(%ecx),%xmm4
+  .byte  15,89,212                           // mulps         %xmm4,%xmm2
+  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
+  .byte  102,15,114,209,8                    // psrld         $0x8,%xmm1
+  .byte  102,15,219,200                      // pand          %xmm0,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  102,15,111,235                      // movdqa        %xmm3,%xmm5
+  .byte  102,15,114,213,16                   // psrld         $0x10,%xmm5
+  .byte  102,15,219,232                      // pand          %xmm0,%xmm5
+  .byte  15,91,197                           // cvtdq2ps      %xmm5,%xmm0
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  102,15,114,211,24                   // psrld         $0x18,%xmm3
+  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
+  .byte  15,89,220                           // mulps         %xmm4,%xmm3
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_store_bgra_sse2
+.globl _sk_store_bgra_sse2
+FUNCTION(_sk_store_bgra_sse2)
+_sk_store_bgra_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,44                          // sub           $0x2c,%esp
+  .byte  15,41,93,216                        // movaps        %xmm3,-0x28(%ebp)
+  .byte  232,0,0,0,0                         // call          5682 <_sk_store_bgra_sse2+0x12>
+  .byte  88                                  // pop           %eax
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,41,85,200                        // movaps        %xmm2,-0x38(%ebp)
+  .byte  15,95,226                           // maxps         %xmm2,%xmm4
+  .byte  15,40,168,222,176,0,0               // movaps        0xb0de(%eax),%xmm5
+  .byte  15,93,229                           // minps         %xmm5,%xmm4
+  .byte  15,40,176,174,177,0,0               // movaps        0xb1ae(%eax),%xmm6
+  .byte  15,89,230                           // mulps         %xmm6,%xmm4
+  .byte  102,15,91,228                       // cvtps2dq      %xmm4,%xmm4
+  .byte  15,87,255                           // xorps         %xmm7,%xmm7
+  .byte  15,95,249                           // maxps         %xmm1,%xmm7
+  .byte  15,93,253                           // minps         %xmm5,%xmm7
+  .byte  15,89,254                           // mulps         %xmm6,%xmm7
+  .byte  102,15,91,255                       // cvtps2dq      %xmm7,%xmm7
+  .byte  102,15,114,247,8                    // pslld         $0x8,%xmm7
+  .byte  102,15,235,252                      // por           %xmm4,%xmm7
+  .byte  102,15,87,228                       // xorpd         %xmm4,%xmm4
+  .byte  15,95,224                           // maxps         %xmm0,%xmm4
+  .byte  15,93,229                           // minps         %xmm5,%xmm4
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  15,95,93,216                        // maxps         -0x28(%ebp),%xmm3
+  .byte  15,93,221                           // minps         %xmm5,%xmm3
+  .byte  15,89,230                           // mulps         %xmm6,%xmm4
+  .byte  15,89,222                           // mulps         %xmm6,%xmm3
+  .byte  102,15,91,236                       // cvtps2dq      %xmm4,%xmm5
+  .byte  102,15,114,245,16                   // pslld         $0x10,%xmm5
+  .byte  102,15,91,227                       // cvtps2dq      %xmm3,%xmm4
+  .byte  102,15,114,244,24                   // pslld         $0x18,%xmm4
+  .byte  102,15,235,229                      // por           %xmm5,%xmm4
+  .byte  102,15,235,231                      // por           %xmm7,%xmm4
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,56                              // mov           (%eax),%edi
+  .byte  139,17                              // mov           (%ecx),%edx
+  .byte  139,119,4                           // mov           0x4(%edi),%esi
+  .byte  15,175,113,4                        // imul          0x4(%ecx),%esi
+  .byte  193,230,2                           // shl           $0x2,%esi
+  .byte  3,55                                // add           (%edi),%esi
+  .byte  139,89,8                            // mov           0x8(%ecx),%ebx
+  .byte  133,219                             // test          %ebx,%ebx
+  .byte  117,32                              // jne           572f <_sk_store_bgra_sse2+0xbf>
+  .byte  243,15,127,36,150                   // movdqu        %xmm4,(%esi,%edx,4)
+  .byte  141,80,8                            // lea           0x8(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,85,200                        // movaps        -0x38(%ebp),%xmm2
+  .byte  15,40,93,216                        // movaps        -0x28(%ebp),%xmm3
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,60                          // add           $0x3c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  128,227,3                           // and           $0x3,%bl
+  .byte  128,251,1                           // cmp           $0x1,%bl
+  .byte  116,28                              // je            5753 <_sk_store_bgra_sse2+0xe3>
+  .byte  128,251,2                           // cmp           $0x2,%bl
+  .byte  116,16                              // je            574c <_sk_store_bgra_sse2+0xdc>
+  .byte  128,251,3                           // cmp           $0x3,%bl
+  .byte  117,211                             // jne           5714 <_sk_store_bgra_sse2+0xa4>
+  .byte  102,15,112,220,78                   // pshufd        $0x4e,%xmm4,%xmm3
+  .byte  102,15,126,92,150,8                 // movd          %xmm3,0x8(%esi,%edx,4)
+  .byte  102,15,214,36,150                   // movq          %xmm4,(%esi,%edx,4)
+  .byte  235,193                             // jmp           5714 <_sk_store_bgra_sse2+0xa4>
+  .byte  102,15,126,36,150                   // movd          %xmm4,(%esi,%edx,4)
+  .byte  235,186                             // jmp           5714 <_sk_store_bgra_sse2+0xa4>
+
+HIDDEN _sk_load_1010102_sse2
+.globl _sk_load_1010102_sse2
+FUNCTION(_sk_load_1010102_sse2)
+_sk_load_1010102_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,12                          // sub           $0xc,%esp
+  .byte  232,0,0,0,0                         // call          5768 <_sk_load_1010102_sse2+0xe>
+  .byte  90                                  // pop           %edx
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,56                              // mov           (%eax),%edi
+  .byte  139,119,4                           // mov           0x4(%edi),%esi
+  .byte  15,175,113,4                        // imul          0x4(%ecx),%esi
+  .byte  193,230,2                           // shl           $0x2,%esi
+  .byte  3,55                                // add           (%edi),%esi
+  .byte  139,89,8                            // mov           0x8(%ecx),%ebx
+  .byte  133,219                             // test          %ebx,%ebx
+  .byte  139,57                              // mov           (%ecx),%edi
+  .byte  117,106                             // jne           57f0 <_sk_load_1010102_sse2+0x96>
+  .byte  243,15,111,28,190                   // movdqu        (%esi,%edi,4),%xmm3
+  .byte  102,15,111,146,168,180,0,0          // movdqa        0xb4a8(%edx),%xmm2
+  .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
+  .byte  102,15,219,194                      // pand          %xmm2,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  15,40,162,184,180,0,0               // movaps        0xb4b8(%edx),%xmm4
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
+  .byte  102,15,114,209,10                   // psrld         $0xa,%xmm1
+  .byte  102,15,219,202                      // pand          %xmm2,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  102,15,111,235                      // movdqa        %xmm3,%xmm5
+  .byte  102,15,114,213,20                   // psrld         $0x14,%xmm5
+  .byte  102,15,219,234                      // pand          %xmm2,%xmm5
+  .byte  15,91,213                           // cvtdq2ps      %xmm5,%xmm2
+  .byte  15,89,212                           // mulps         %xmm4,%xmm2
+  .byte  102,15,114,211,30                   // psrld         $0x1e,%xmm3
+  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
+  .byte  15,89,154,200,177,0,0               // mulps         0xb1c8(%edx),%xmm3
+  .byte  141,80,8                            // lea           0x8(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,28                          // add           $0x1c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  128,227,3                           // and           $0x3,%bl
+  .byte  128,251,1                           // cmp           $0x1,%bl
+  .byte  116,35                              // je            581b <_sk_load_1010102_sse2+0xc1>
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  128,251,2                           // cmp           $0x2,%bl
+  .byte  116,16                              // je            5811 <_sk_load_1010102_sse2+0xb7>
+  .byte  128,251,3                           // cmp           $0x3,%bl
+  .byte  117,133                             // jne           578b <_sk_load_1010102_sse2+0x31>
+  .byte  102,15,110,68,190,8                 // movd          0x8(%esi,%edi,4),%xmm0
+  .byte  102,15,112,216,69                   // pshufd        $0x45,%xmm0,%xmm3
+  .byte  102,15,18,28,190                    // movlpd        (%esi,%edi,4),%xmm3
+  .byte  233,112,255,255,255                 // jmp           578b <_sk_load_1010102_sse2+0x31>
+  .byte  102,15,110,28,190                   // movd          (%esi,%edi,4),%xmm3
+  .byte  233,102,255,255,255                 // jmp           578b <_sk_load_1010102_sse2+0x31>
+
+HIDDEN _sk_load_1010102_dst_sse2
+.globl _sk_load_1010102_dst_sse2
+FUNCTION(_sk_load_1010102_dst_sse2)
+_sk_load_1010102_dst_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,12                          // sub           $0xc,%esp
+  .byte  232,0,0,0,0                         // call          5833 <_sk_load_1010102_dst_sse2+0xe>
+  .byte  90                                  // pop           %edx
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,56                              // mov           (%eax),%edi
+  .byte  139,119,4                           // mov           0x4(%edi),%esi
+  .byte  15,175,113,4                        // imul          0x4(%ecx),%esi
+  .byte  193,230,2                           // shl           $0x2,%esi
+  .byte  3,55                                // add           (%edi),%esi
+  .byte  139,89,8                            // mov           0x8(%ecx),%ebx
+  .byte  133,219                             // test          %ebx,%ebx
+  .byte  139,57                              // mov           (%ecx),%edi
+  .byte  117,122                             // jne           58cb <_sk_load_1010102_dst_sse2+0xa6>
+  .byte  243,15,111,36,190                   // movdqu        (%esi,%edi,4),%xmm4
+  .byte  102,15,111,170,221,179,0,0          // movdqa        0xb3dd(%edx),%xmm5
+  .byte  102,15,111,244                      // movdqa        %xmm4,%xmm6
+  .byte  102,15,219,245                      // pand          %xmm5,%xmm6
+  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
+  .byte  15,40,186,237,179,0,0               // movaps        0xb3ed(%edx),%xmm7
+  .byte  15,89,247                           // mulps         %xmm7,%xmm6
+  .byte  15,41,113,16                        // movaps        %xmm6,0x10(%ecx)
+  .byte  102,15,111,244                      // movdqa        %xmm4,%xmm6
+  .byte  102,15,114,214,10                   // psrld         $0xa,%xmm6
+  .byte  102,15,219,245                      // pand          %xmm5,%xmm6
+  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
+  .byte  15,89,247                           // mulps         %xmm7,%xmm6
+  .byte  15,41,113,32                        // movaps        %xmm6,0x20(%ecx)
+  .byte  102,15,111,244                      // movdqa        %xmm4,%xmm6
+  .byte  102,15,114,214,20                   // psrld         $0x14,%xmm6
+  .byte  102,15,219,245                      // pand          %xmm5,%xmm6
+  .byte  15,91,238                           // cvtdq2ps      %xmm6,%xmm5
+  .byte  15,89,239                           // mulps         %xmm7,%xmm5
+  .byte  15,41,105,48                        // movaps        %xmm5,0x30(%ecx)
+  .byte  102,15,114,212,30                   // psrld         $0x1e,%xmm4
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  15,89,162,253,176,0,0               // mulps         0xb0fd(%edx),%xmm4
+  .byte  15,41,97,64                         // movaps        %xmm4,0x40(%ecx)
+  .byte  141,80,8                            // lea           0x8(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,28                          // add           $0x1c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  128,227,3                           // and           $0x3,%bl
+  .byte  128,251,1                           // cmp           $0x1,%bl
+  .byte  116,39                              // je            58fa <_sk_load_1010102_dst_sse2+0xd5>
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  128,251,2                           // cmp           $0x2,%bl
+  .byte  116,20                              // je            58f0 <_sk_load_1010102_dst_sse2+0xcb>
+  .byte  128,251,3                           // cmp           $0x3,%bl
+  .byte  15,133,113,255,255,255              // jne           5856 <_sk_load_1010102_dst_sse2+0x31>
+  .byte  102,15,110,100,190,8                // movd          0x8(%esi,%edi,4),%xmm4
+  .byte  102,15,112,228,69                   // pshufd        $0x45,%xmm4,%xmm4
+  .byte  102,15,18,36,190                    // movlpd        (%esi,%edi,4),%xmm4
+  .byte  233,92,255,255,255                  // jmp           5856 <_sk_load_1010102_dst_sse2+0x31>
+  .byte  102,15,110,36,190                   // movd          (%esi,%edi,4),%xmm4
+  .byte  233,82,255,255,255                  // jmp           5856 <_sk_load_1010102_dst_sse2+0x31>
+
+HIDDEN _sk_gather_1010102_sse2
+.globl _sk_gather_1010102_sse2
+FUNCTION(_sk_gather_1010102_sse2)
+_sk_gather_1010102_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  243,15,16,81,8                      // movss         0x8(%ecx),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  102,15,118,219                      // pcmpeqd       %xmm3,%xmm3
+  .byte  102,15,254,211                      // paddd         %xmm3,%xmm2
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,87,237                           // xorps         %xmm5,%xmm5
+  .byte  15,95,232                           // maxps         %xmm0,%xmm5
+  .byte  15,93,234                           // minps         %xmm2,%xmm5
+  .byte  243,15,16,65,12                     // movss         0xc(%ecx),%xmm0
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  102,15,254,195                      // paddd         %xmm3,%xmm0
+  .byte  15,95,225                           // maxps         %xmm1,%xmm4
+  .byte  15,93,224                           // minps         %xmm0,%xmm4
+  .byte  139,17                              // mov           (%ecx),%edx
+  .byte  243,15,91,196                       // cvttps2dq     %xmm4,%xmm0
+  .byte  102,15,110,73,4                     // movd          0x4(%ecx),%xmm1
+  .byte  102,15,112,201,0                    // pshufd        $0x0,%xmm1,%xmm1
+  .byte  102,15,112,208,245                  // pshufd        $0xf5,%xmm0,%xmm2
+  .byte  102,15,244,209                      // pmuludq       %xmm1,%xmm2
+  .byte  102,15,244,200                      // pmuludq       %xmm0,%xmm1
+  .byte  102,15,112,193,232                  // pshufd        $0xe8,%xmm1,%xmm0
+  .byte  102,15,112,202,232                  // pshufd        $0xe8,%xmm2,%xmm1
+  .byte  102,15,98,193                       // punpckldq     %xmm1,%xmm0
+  .byte  243,15,91,205                       // cvttps2dq     %xmm5,%xmm1
+  .byte  102,15,254,200                      // paddd         %xmm0,%xmm1
+  .byte  102,15,112,193,78                   // pshufd        $0x4e,%xmm1,%xmm0
+  .byte  102,15,112,209,231                  // pshufd        $0xe7,%xmm1,%xmm2
+  .byte  102,15,126,209                      // movd          %xmm2,%ecx
+  .byte  102,15,110,20,138                   // movd          (%edx,%ecx,4),%xmm2
+  .byte  102,15,126,193                      // movd          %xmm0,%ecx
+  .byte  102,15,110,4,138                    // movd          (%edx,%ecx,4),%xmm0
+  .byte  102,15,126,201                      // movd          %xmm1,%ecx
+  .byte  102,15,112,201,229                  // pshufd        $0xe5,%xmm1,%xmm1
+  .byte  102,15,110,28,138                   // movd          (%edx,%ecx,4),%xmm3
+  .byte  102,15,126,201                      // movd          %xmm1,%ecx
+  .byte  102,15,110,12,138                   // movd          (%edx,%ecx,4),%xmm1
+  .byte  232,0,0,0,0                         // call          59aa <_sk_gather_1010102_sse2+0xa6>
+  .byte  89                                  // pop           %ecx
+  .byte  102,15,98,194                       // punpckldq     %xmm2,%xmm0
+  .byte  102,15,98,217                       // punpckldq     %xmm1,%xmm3
+  .byte  102,15,108,216                      // punpcklqdq    %xmm0,%xmm3
+  .byte  102,15,111,145,102,178,0,0          // movdqa        0xb266(%ecx),%xmm2
+  .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
+  .byte  102,15,219,194                      // pand          %xmm2,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  15,40,161,118,178,0,0               // movaps        0xb276(%ecx),%xmm4
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
+  .byte  102,15,114,209,10                   // psrld         $0xa,%xmm1
+  .byte  102,15,219,202                      // pand          %xmm2,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  102,15,111,235                      // movdqa        %xmm3,%xmm5
+  .byte  102,15,114,213,20                   // psrld         $0x14,%xmm5
+  .byte  102,15,219,234                      // pand          %xmm2,%xmm5
+  .byte  15,91,213                           // cvtdq2ps      %xmm5,%xmm2
+  .byte  15,89,212                           // mulps         %xmm4,%xmm2
+  .byte  102,15,114,211,30                   // psrld         $0x1e,%xmm3
+  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
+  .byte  15,89,153,134,175,0,0               // mulps         0xaf86(%ecx),%xmm3
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_store_1010102_sse2
+.globl _sk_store_1010102_sse2
+FUNCTION(_sk_store_1010102_sse2)
+_sk_store_1010102_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,12                          // sub           $0xc,%esp
+  .byte  232,0,0,0,0                         // call          5a29 <_sk_store_1010102_sse2+0xe>
+  .byte  88                                  // pop           %eax
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,95,224                           // maxps         %xmm0,%xmm4
+  .byte  15,40,168,55,173,0,0                // movaps        0xad37(%eax),%xmm5
+  .byte  15,93,229                           // minps         %xmm5,%xmm4
+  .byte  15,40,176,7,178,0,0                 // movaps        0xb207(%eax),%xmm6
+  .byte  15,89,230                           // mulps         %xmm6,%xmm4
+  .byte  102,15,91,228                       // cvtps2dq      %xmm4,%xmm4
+  .byte  15,87,255                           // xorps         %xmm7,%xmm7
+  .byte  15,95,249                           // maxps         %xmm1,%xmm7
+  .byte  15,93,253                           // minps         %xmm5,%xmm7
+  .byte  15,89,254                           // mulps         %xmm6,%xmm7
+  .byte  102,15,91,255                       // cvtps2dq      %xmm7,%xmm7
+  .byte  102,15,114,247,10                   // pslld         $0xa,%xmm7
+  .byte  102,15,235,252                      // por           %xmm4,%xmm7
+  .byte  102,15,87,228                       // xorpd         %xmm4,%xmm4
+  .byte  15,95,226                           // maxps         %xmm2,%xmm4
+  .byte  15,93,229                           // minps         %xmm5,%xmm4
+  .byte  15,89,230                           // mulps         %xmm6,%xmm4
+  .byte  102,15,91,244                       // cvtps2dq      %xmm4,%xmm6
+  .byte  102,15,114,246,20                   // pslld         $0x14,%xmm6
+  .byte  102,15,235,247                      // por           %xmm7,%xmm6
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,95,227                           // maxps         %xmm3,%xmm4
+  .byte  15,93,229                           // minps         %xmm5,%xmm4
+  .byte  15,89,160,23,178,0,0                // mulps         0xb217(%eax),%xmm4
+  .byte  102,15,91,228                       // cvtps2dq      %xmm4,%xmm4
+  .byte  102,15,114,244,30                   // pslld         $0x1e,%xmm4
+  .byte  102,15,235,230                      // por           %xmm6,%xmm4
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,56                              // mov           (%eax),%edi
+  .byte  139,17                              // mov           (%ecx),%edx
+  .byte  139,119,4                           // mov           0x4(%edi),%esi
+  .byte  15,175,113,4                        // imul          0x4(%ecx),%esi
+  .byte  193,230,2                           // shl           $0x2,%esi
+  .byte  3,55                                // add           (%edi),%esi
+  .byte  139,89,8                            // mov           0x8(%ecx),%ebx
+  .byte  133,219                             // test          %ebx,%ebx
+  .byte  117,24                              // jne           5acd <_sk_store_1010102_sse2+0xb2>
+  .byte  243,15,127,36,150                   // movdqu        %xmm4,(%esi,%edx,4)
+  .byte  141,80,8                            // lea           0x8(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,28                          // add           $0x1c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  128,227,3                           // and           $0x3,%bl
+  .byte  128,251,1                           // cmp           $0x1,%bl
+  .byte  116,28                              // je            5af1 <_sk_store_1010102_sse2+0xd6>
+  .byte  128,251,2                           // cmp           $0x2,%bl
+  .byte  116,16                              // je            5aea <_sk_store_1010102_sse2+0xcf>
+  .byte  128,251,3                           // cmp           $0x3,%bl
+  .byte  117,219                             // jne           5aba <_sk_store_1010102_sse2+0x9f>
+  .byte  102,15,112,236,78                   // pshufd        $0x4e,%xmm4,%xmm5
+  .byte  102,15,126,108,150,8                // movd          %xmm5,0x8(%esi,%edx,4)
+  .byte  102,15,214,36,150                   // movq          %xmm4,(%esi,%edx,4)
+  .byte  235,201                             // jmp           5aba <_sk_store_1010102_sse2+0x9f>
+  .byte  102,15,126,36,150                   // movd          %xmm4,(%esi,%edx,4)
+  .byte  235,194                             // jmp           5aba <_sk_store_1010102_sse2+0x9f>
+
+HIDDEN _sk_load_f16_sse2
+.globl _sk_load_f16_sse2
+FUNCTION(_sk_load_f16_sse2)
+_sk_load_f16_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,108                         // sub           $0x6c,%esp
+  .byte  232,0,0,0,0                         // call          5b06 <_sk_load_f16_sse2+0xe>
+  .byte  90                                  // pop           %edx
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,56                              // mov           (%eax),%edi
+  .byte  139,119,4                           // mov           0x4(%edi),%esi
+  .byte  15,175,113,4                        // imul          0x4(%ecx),%esi
+  .byte  193,230,3                           // shl           $0x3,%esi
+  .byte  3,55                                // add           (%edi),%esi
+  .byte  139,89,8                            // mov           0x8(%ecx),%ebx
+  .byte  133,219                             // test          %ebx,%ebx
+  .byte  139,57                              // mov           (%ecx),%edi
+  .byte  15,133,173,1,0,0                    // jne           5cd5 <_sk_load_f16_sse2+0x1dd>
+  .byte  102,15,16,4,254                     // movupd        (%esi,%edi,8),%xmm0
+  .byte  243,15,111,76,254,16                // movdqu        0x10(%esi,%edi,8),%xmm1
+  .byte  102,15,40,216                       // movapd        %xmm0,%xmm3
+  .byte  102,15,97,217                       // punpcklwd     %xmm1,%xmm3
+  .byte  102,15,105,193                      // punpckhwd     %xmm1,%xmm0
+  .byte  102,15,111,211                      // movdqa        %xmm3,%xmm2
+  .byte  102,15,97,208                       // punpcklwd     %xmm0,%xmm2
+  .byte  102,15,105,216                      // punpckhwd     %xmm0,%xmm3
+  .byte  102,15,126,85,208                   // movd          %xmm2,-0x30(%ebp)
+  .byte  102,15,112,194,229                  // pshufd        $0xe5,%xmm2,%xmm0
+  .byte  102,15,126,69,212                   // movd          %xmm0,-0x2c(%ebp)
+  .byte  243,15,126,77,208                   // movq          -0x30(%ebp),%xmm1
+  .byte  102,15,112,194,231                  // pshufd        $0xe7,%xmm2,%xmm0
+  .byte  102,15,126,69,220                   // movd          %xmm0,-0x24(%ebp)
+  .byte  102,15,112,194,78                   // pshufd        $0x4e,%xmm2,%xmm0
+  .byte  102,15,126,69,216                   // movd          %xmm0,-0x28(%ebp)
+  .byte  243,15,126,101,216                  // movq          -0x28(%ebp),%xmm4
+  .byte  102,15,126,93,224                   // movd          %xmm3,-0x20(%ebp)
+  .byte  102,15,112,195,229                  // pshufd        $0xe5,%xmm3,%xmm0
+  .byte  102,15,126,69,228                   // movd          %xmm0,-0x1c(%ebp)
+  .byte  242,15,16,69,224                    // movsd         -0x20(%ebp),%xmm0
+  .byte  15,41,69,152                        // movaps        %xmm0,-0x68(%ebp)
+  .byte  102,15,112,195,231                  // pshufd        $0xe7,%xmm3,%xmm0
+  .byte  102,15,126,69,236                   // movd          %xmm0,-0x14(%ebp)
+  .byte  102,15,112,195,78                   // pshufd        $0x4e,%xmm3,%xmm0
+  .byte  102,15,126,69,232                   // movd          %xmm0,-0x18(%ebp)
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  102,15,97,200                       // punpcklwd     %xmm0,%xmm1
+  .byte  102,15,239,210                      // pxor          %xmm2,%xmm2
+  .byte  102,15,111,170,74,177,0,0           // movdqa        0xb14a(%edx),%xmm5
+  .byte  102,15,111,241                      // movdqa        %xmm1,%xmm6
+  .byte  102,15,219,245                      // pand          %xmm5,%xmm6
+  .byte  102,15,219,138,90,177,0,0           // pand          0xb15a(%edx),%xmm1
+  .byte  102,15,111,130,106,177,0,0          // movdqa        0xb16a(%edx),%xmm0
+  .byte  102,15,127,69,184                   // movdqa        %xmm0,-0x48(%ebp)
+  .byte  102,15,114,246,16                   // pslld         $0x10,%xmm6
+  .byte  102,15,111,216                      // movdqa        %xmm0,%xmm3
+  .byte  102,15,102,217                      // pcmpgtd       %xmm1,%xmm3
+  .byte  102,15,127,93,136                   // movdqa        %xmm3,-0x78(%ebp)
+  .byte  102,15,114,241,13                   // pslld         $0xd,%xmm1
+  .byte  102,15,235,206                      // por           %xmm6,%xmm1
+  .byte  102,15,97,226                       // punpcklwd     %xmm2,%xmm4
+  .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
+  .byte  102,15,111,212                      // movdqa        %xmm4,%xmm2
+  .byte  102,15,219,213                      // pand          %xmm5,%xmm2
+  .byte  102,15,111,154,90,177,0,0           // movdqa        0xb15a(%edx),%xmm3
+  .byte  102,15,219,227                      // pand          %xmm3,%xmm4
+  .byte  102,15,114,242,16                   // pslld         $0x10,%xmm2
+  .byte  102,15,102,196                      // pcmpgtd       %xmm4,%xmm0
+  .byte  102,15,127,69,168                   // movdqa        %xmm0,-0x58(%ebp)
+  .byte  102,15,114,244,13                   // pslld         $0xd,%xmm4
+  .byte  102,15,235,226                      // por           %xmm2,%xmm4
+  .byte  102,15,111,69,152                   // movdqa        -0x68(%ebp),%xmm0
+  .byte  102,15,97,199                       // punpcklwd     %xmm7,%xmm0
+  .byte  102,15,111,248                      // movdqa        %xmm0,%xmm7
+  .byte  102,15,219,253                      // pand          %xmm5,%xmm7
+  .byte  102,15,219,195                      // pand          %xmm3,%xmm0
+  .byte  102,15,114,247,16                   // pslld         $0x10,%xmm7
+  .byte  102,15,111,146,106,177,0,0          // movdqa        0xb16a(%edx),%xmm2
+  .byte  102,15,102,208                      // pcmpgtd       %xmm0,%xmm2
+  .byte  102,15,114,240,13                   // pslld         $0xd,%xmm0
+  .byte  102,15,235,199                      // por           %xmm7,%xmm0
+  .byte  243,15,126,125,232                  // movq          -0x18(%ebp),%xmm7
+  .byte  102,15,239,246                      // pxor          %xmm6,%xmm6
+  .byte  102,15,97,254                       // punpcklwd     %xmm6,%xmm7
+  .byte  102,15,219,239                      // pand          %xmm7,%xmm5
+  .byte  102,15,219,251                      // pand          %xmm3,%xmm7
+  .byte  102,15,114,245,16                   // pslld         $0x10,%xmm5
+  .byte  102,15,111,93,184                   // movdqa        -0x48(%ebp),%xmm3
+  .byte  102,15,102,223                      // pcmpgtd       %xmm7,%xmm3
+  .byte  102,15,127,93,184                   // movdqa        %xmm3,-0x48(%ebp)
+  .byte  102,15,114,247,13                   // pslld         $0xd,%xmm7
+  .byte  102,15,235,253                      // por           %xmm5,%xmm7
+  .byte  102,15,111,154,122,177,0,0          // movdqa        0xb17a(%edx),%xmm3
+  .byte  102,15,254,203                      // paddd         %xmm3,%xmm1
+  .byte  102,15,254,227                      // paddd         %xmm3,%xmm4
+  .byte  102,15,254,195                      // paddd         %xmm3,%xmm0
+  .byte  102,15,254,251                      // paddd         %xmm3,%xmm7
+  .byte  102,15,111,93,136                   // movdqa        -0x78(%ebp),%xmm3
+  .byte  102,15,223,217                      // pandn         %xmm1,%xmm3
+  .byte  102,15,111,77,168                   // movdqa        -0x58(%ebp),%xmm1
+  .byte  102,15,223,204                      // pandn         %xmm4,%xmm1
+  .byte  102,15,223,208                      // pandn         %xmm0,%xmm2
+  .byte  102,15,111,101,184                  // movdqa        -0x48(%ebp),%xmm4
+  .byte  102,15,223,231                      // pandn         %xmm7,%xmm4
+  .byte  141,80,8                            // lea           0x8(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
+  .byte  102,15,111,220                      // movdqa        %xmm4,%xmm3
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,124                         // add           $0x7c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  242,15,16,4,254                     // movsd         (%esi,%edi,8),%xmm0
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  131,251,1                           // cmp           $0x1,%ebx
+  .byte  15,132,76,254,255,255               // je            5b33 <_sk_load_f16_sse2+0x3b>
+  .byte  102,15,22,68,254,8                  // movhpd        0x8(%esi,%edi,8),%xmm0
+  .byte  131,251,3                           // cmp           $0x3,%ebx
+  .byte  15,130,61,254,255,255               // jb            5b33 <_sk_load_f16_sse2+0x3b>
+  .byte  243,15,126,76,254,16                // movq          0x10(%esi,%edi,8),%xmm1
+  .byte  233,50,254,255,255                  // jmp           5b33 <_sk_load_f16_sse2+0x3b>
+
+HIDDEN _sk_load_f16_dst_sse2
+.globl _sk_load_f16_dst_sse2
+FUNCTION(_sk_load_f16_dst_sse2)
+_sk_load_f16_dst_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,124                         // sub           $0x7c,%esp
+  .byte  15,41,157,120,255,255,255           // movaps        %xmm3,-0x88(%ebp)
+  .byte  15,41,85,136                        // movaps        %xmm2,-0x78(%ebp)
+  .byte  102,15,127,77,152                   // movdqa        %xmm1,-0x68(%ebp)
+  .byte  15,41,69,168                        // movaps        %xmm0,-0x58(%ebp)
+  .byte  232,0,0,0,0                         // call          5d23 <_sk_load_f16_dst_sse2+0x22>
+  .byte  90                                  // pop           %edx
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,56                              // mov           (%eax),%edi
+  .byte  139,119,4                           // mov           0x4(%edi),%esi
+  .byte  15,175,113,4                        // imul          0x4(%ecx),%esi
+  .byte  193,230,3                           // shl           $0x3,%esi
+  .byte  3,55                                // add           (%edi),%esi
+  .byte  139,89,8                            // mov           0x8(%ecx),%ebx
+  .byte  133,219                             // test          %ebx,%ebx
+  .byte  139,57                              // mov           (%ecx),%edi
+  .byte  15,133,168,1,0,0                    // jne           5eed <_sk_load_f16_dst_sse2+0x1ec>
+  .byte  102,15,16,4,254                     // movupd        (%esi,%edi,8),%xmm0
+  .byte  243,15,111,76,254,16                // movdqu        0x10(%esi,%edi,8),%xmm1
+  .byte  102,15,40,208                       // movapd        %xmm0,%xmm2
+  .byte  102,15,97,209                       // punpcklwd     %xmm1,%xmm2
+  .byte  102,15,105,193                      // punpckhwd     %xmm1,%xmm0
+  .byte  102,15,111,218                      // movdqa        %xmm2,%xmm3
+  .byte  102,15,97,216                       // punpcklwd     %xmm0,%xmm3
+  .byte  102,15,105,208                      // punpckhwd     %xmm0,%xmm2
+  .byte  102,15,126,93,208                   // movd          %xmm3,-0x30(%ebp)
+  .byte  102,15,112,195,229                  // pshufd        $0xe5,%xmm3,%xmm0
+  .byte  102,15,126,69,212                   // movd          %xmm0,-0x2c(%ebp)
+  .byte  243,15,126,77,208                   // movq          -0x30(%ebp),%xmm1
+  .byte  102,15,112,195,231                  // pshufd        $0xe7,%xmm3,%xmm0
+  .byte  102,15,126,69,220                   // movd          %xmm0,-0x24(%ebp)
+  .byte  102,15,112,195,78                   // pshufd        $0x4e,%xmm3,%xmm0
+  .byte  102,15,126,69,216                   // movd          %xmm0,-0x28(%ebp)
+  .byte  243,15,126,69,216                   // movq          -0x28(%ebp),%xmm0
+  .byte  102,15,126,85,224                   // movd          %xmm2,-0x20(%ebp)
+  .byte  102,15,112,218,229                  // pshufd        $0xe5,%xmm2,%xmm3
+  .byte  102,15,126,93,228                   // movd          %xmm3,-0x1c(%ebp)
+  .byte  243,15,126,117,224                  // movq          -0x20(%ebp),%xmm6
+  .byte  102,15,112,218,231                  // pshufd        $0xe7,%xmm2,%xmm3
+  .byte  102,15,126,93,236                   // movd          %xmm3,-0x14(%ebp)
+  .byte  102,15,112,210,78                   // pshufd        $0x4e,%xmm2,%xmm2
+  .byte  102,15,126,85,232                   // movd          %xmm2,-0x18(%ebp)
+  .byte  102,15,239,210                      // pxor          %xmm2,%xmm2
+  .byte  102,15,97,202                       // punpcklwd     %xmm2,%xmm1
+  .byte  102,15,111,186,45,175,0,0           // movdqa        0xaf2d(%edx),%xmm7
+  .byte  102,15,111,209                      // movdqa        %xmm1,%xmm2
+  .byte  102,15,219,215                      // pand          %xmm7,%xmm2
+  .byte  102,15,111,154,61,175,0,0           // movdqa        0xaf3d(%edx),%xmm3
+  .byte  102,15,219,203                      // pand          %xmm3,%xmm1
+  .byte  102,15,111,162,77,175,0,0           // movdqa        0xaf4d(%edx),%xmm4
+  .byte  102,15,114,242,16                   // pslld         $0x10,%xmm2
+  .byte  102,15,111,236                      // movdqa        %xmm4,%xmm5
+  .byte  102,15,102,233                      // pcmpgtd       %xmm1,%xmm5
+  .byte  102,15,114,241,13                   // pslld         $0xd,%xmm1
+  .byte  102,15,235,202                      // por           %xmm2,%xmm1
+  .byte  102,15,111,146,93,175,0,0           // movdqa        0xaf5d(%edx),%xmm2
+  .byte  102,15,127,85,184                   // movdqa        %xmm2,-0x48(%ebp)
+  .byte  102,15,254,202                      // paddd         %xmm2,%xmm1
+  .byte  102,15,223,233                      // pandn         %xmm1,%xmm5
+  .byte  243,15,126,77,232                   // movq          -0x18(%ebp),%xmm1
+  .byte  102,15,127,105,16                   // movdqa        %xmm5,0x10(%ecx)
+  .byte  102,15,239,210                      // pxor          %xmm2,%xmm2
+  .byte  102,15,97,194                       // punpcklwd     %xmm2,%xmm0
+  .byte  102,15,111,232                      // movdqa        %xmm0,%xmm5
+  .byte  102,15,219,239                      // pand          %xmm7,%xmm5
+  .byte  102,15,219,195                      // pand          %xmm3,%xmm0
+  .byte  102,15,111,211                      // movdqa        %xmm3,%xmm2
+  .byte  102,15,114,245,16                   // pslld         $0x10,%xmm5
+  .byte  102,15,111,220                      // movdqa        %xmm4,%xmm3
+  .byte  102,15,102,216                      // pcmpgtd       %xmm0,%xmm3
+  .byte  102,15,114,240,13                   // pslld         $0xd,%xmm0
+  .byte  102,15,235,197                      // por           %xmm5,%xmm0
+  .byte  102,15,111,109,184                  // movdqa        -0x48(%ebp),%xmm5
+  .byte  102,15,254,197                      // paddd         %xmm5,%xmm0
+  .byte  102,15,223,216                      // pandn         %xmm0,%xmm3
+  .byte  102,15,127,89,32                    // movdqa        %xmm3,0x20(%ecx)
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  102,15,97,240                       // punpcklwd     %xmm0,%xmm6
+  .byte  102,15,111,198                      // movdqa        %xmm6,%xmm0
+  .byte  102,15,219,199                      // pand          %xmm7,%xmm0
+  .byte  102,15,219,242                      // pand          %xmm2,%xmm6
+  .byte  102,15,114,240,16                   // pslld         $0x10,%xmm0
+  .byte  102,15,111,220                      // movdqa        %xmm4,%xmm3
+  .byte  102,15,102,222                      // pcmpgtd       %xmm6,%xmm3
+  .byte  102,15,114,246,13                   // pslld         $0xd,%xmm6
+  .byte  102,15,235,240                      // por           %xmm0,%xmm6
+  .byte  102,15,254,245                      // paddd         %xmm5,%xmm6
+  .byte  102,15,223,222                      // pandn         %xmm6,%xmm3
+  .byte  102,15,127,89,48                    // movdqa        %xmm3,0x30(%ecx)
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  102,15,97,203                       // punpcklwd     %xmm3,%xmm1
+  .byte  102,15,219,249                      // pand          %xmm1,%xmm7
+  .byte  102,15,219,202                      // pand          %xmm2,%xmm1
+  .byte  102,15,114,247,16                   // pslld         $0x10,%xmm7
+  .byte  102,15,102,225                      // pcmpgtd       %xmm1,%xmm4
+  .byte  102,15,114,241,13                   // pslld         $0xd,%xmm1
+  .byte  102,15,235,207                      // por           %xmm7,%xmm1
+  .byte  102,15,254,205                      // paddd         %xmm5,%xmm1
+  .byte  102,15,223,225                      // pandn         %xmm1,%xmm4
+  .byte  102,15,127,97,64                    // movdqa        %xmm4,0x40(%ecx)
+  .byte  141,80,8                            // lea           0x8(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,69,168                        // movaps        -0x58(%ebp),%xmm0
+  .byte  15,40,77,152                        // movaps        -0x68(%ebp),%xmm1
+  .byte  15,40,85,136                        // movaps        -0x78(%ebp),%xmm2
+  .byte  15,40,157,120,255,255,255           // movaps        -0x88(%ebp),%xmm3
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  129,196,140,0,0,0                   // add           $0x8c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  242,15,16,4,254                     // movsd         (%esi,%edi,8),%xmm0
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  131,251,1                           // cmp           $0x1,%ebx
+  .byte  15,132,81,254,255,255               // je            5d50 <_sk_load_f16_dst_sse2+0x4f>
+  .byte  102,15,22,68,254,8                  // movhpd        0x8(%esi,%edi,8),%xmm0
+  .byte  131,251,3                           // cmp           $0x3,%ebx
+  .byte  15,130,66,254,255,255               // jb            5d50 <_sk_load_f16_dst_sse2+0x4f>
+  .byte  243,15,126,76,254,16                // movq          0x10(%esi,%edi,8),%xmm1
+  .byte  233,55,254,255,255                  // jmp           5d50 <_sk_load_f16_dst_sse2+0x4f>
+
+HIDDEN _sk_gather_f16_sse2
+.globl _sk_gather_f16_sse2
+FUNCTION(_sk_gather_f16_sse2)
+_sk_gather_f16_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,88                          // sub           $0x58,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  243,15,16,81,8                      // movss         0x8(%ecx),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  102,15,118,219                      // pcmpeqd       %xmm3,%xmm3
+  .byte  102,15,254,211                      // paddd         %xmm3,%xmm2
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,95,224                           // maxps         %xmm0,%xmm4
+  .byte  15,93,226                           // minps         %xmm2,%xmm4
+  .byte  243,15,16,65,12                     // movss         0xc(%ecx),%xmm0
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  102,15,254,195                      // paddd         %xmm3,%xmm0
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  15,95,209                           // maxps         %xmm1,%xmm2
+  .byte  15,93,208                           // minps         %xmm0,%xmm2
+  .byte  139,17                              // mov           (%ecx),%edx
+  .byte  243,15,91,194                       // cvttps2dq     %xmm2,%xmm0
+  .byte  102,15,110,73,4                     // movd          0x4(%ecx),%xmm1
+  .byte  102,15,112,201,0                    // pshufd        $0x0,%xmm1,%xmm1
+  .byte  102,15,112,208,245                  // pshufd        $0xf5,%xmm0,%xmm2
+  .byte  102,15,244,209                      // pmuludq       %xmm1,%xmm2
+  .byte  102,15,244,200                      // pmuludq       %xmm0,%xmm1
+  .byte  102,15,112,193,232                  // pshufd        $0xe8,%xmm1,%xmm0
+  .byte  102,15,112,202,232                  // pshufd        $0xe8,%xmm2,%xmm1
+  .byte  102,15,98,193                       // punpckldq     %xmm1,%xmm0
+  .byte  243,15,91,204                       // cvttps2dq     %xmm4,%xmm1
+  .byte  102,15,254,200                      // paddd         %xmm0,%xmm1
+  .byte  102,15,112,193,78                   // pshufd        $0x4e,%xmm1,%xmm0
+  .byte  102,15,112,209,231                  // pshufd        $0xe7,%xmm1,%xmm2
+  .byte  102,15,126,209                      // movd          %xmm2,%ecx
+  .byte  243,15,126,20,202                   // movq          (%edx,%ecx,8),%xmm2
+  .byte  102,15,126,193                      // movd          %xmm0,%ecx
+  .byte  243,15,126,4,202                    // movq          (%edx,%ecx,8),%xmm0
+  .byte  102,15,126,201                      // movd          %xmm1,%ecx
+  .byte  102,15,112,201,229                  // pshufd        $0xe5,%xmm1,%xmm1
+  .byte  243,15,126,28,202                   // movq          (%edx,%ecx,8),%xmm3
+  .byte  102,15,126,201                      // movd          %xmm1,%ecx
+  .byte  243,15,126,12,202                   // movq          (%edx,%ecx,8),%xmm1
+  .byte  232,0,0,0,0                         // call          5fbf <_sk_gather_f16_sse2+0xa6>
+  .byte  89                                  // pop           %ecx
+  .byte  102,15,239,246                      // pxor          %xmm6,%xmm6
+  .byte  102,15,108,194                      // punpcklqdq    %xmm2,%xmm0
+  .byte  102,15,108,217                      // punpcklqdq    %xmm1,%xmm3
+  .byte  102,15,111,227                      // movdqa        %xmm3,%xmm4
+  .byte  102,15,97,224                       // punpcklwd     %xmm0,%xmm4
+  .byte  102,15,105,216                      // punpckhwd     %xmm0,%xmm3
+  .byte  102,15,111,196                      // movdqa        %xmm4,%xmm0
+  .byte  102,15,97,195                       // punpcklwd     %xmm3,%xmm0
+  .byte  102,15,105,227                      // punpckhwd     %xmm3,%xmm4
+  .byte  102,15,126,69,224                   // movd          %xmm0,-0x20(%ebp)
+  .byte  102,15,112,200,229                  // pshufd        $0xe5,%xmm0,%xmm1
+  .byte  102,15,126,77,228                   // movd          %xmm1,-0x1c(%ebp)
+  .byte  243,15,126,77,224                   // movq          -0x20(%ebp),%xmm1
+  .byte  102,15,112,208,231                  // pshufd        $0xe7,%xmm0,%xmm2
+  .byte  102,15,126,85,236                   // movd          %xmm2,-0x14(%ebp)
+  .byte  102,15,112,192,78                   // pshufd        $0x4e,%xmm0,%xmm0
+  .byte  102,15,126,69,232                   // movd          %xmm0,-0x18(%ebp)
+  .byte  243,15,126,109,232                  // movq          -0x18(%ebp),%xmm5
+  .byte  102,15,126,101,240                  // movd          %xmm4,-0x10(%ebp)
+  .byte  102,15,112,196,229                  // pshufd        $0xe5,%xmm4,%xmm0
+  .byte  102,15,126,69,244                   // movd          %xmm0,-0xc(%ebp)
+  .byte  242,15,16,69,240                    // movsd         -0x10(%ebp),%xmm0
+  .byte  15,41,69,184                        // movaps        %xmm0,-0x48(%ebp)
+  .byte  102,15,112,196,231                  // pshufd        $0xe7,%xmm4,%xmm0
+  .byte  102,15,126,69,252                   // movd          %xmm0,-0x4(%ebp)
+  .byte  102,15,112,196,78                   // pshufd        $0x4e,%xmm4,%xmm0
+  .byte  102,15,126,69,248                   // movd          %xmm0,-0x8(%ebp)
+  .byte  102,15,97,206                       // punpcklwd     %xmm6,%xmm1
+  .byte  102,15,239,210                      // pxor          %xmm2,%xmm2
+  .byte  102,15,111,177,145,172,0,0          // movdqa        0xac91(%ecx),%xmm6
+  .byte  102,15,111,225                      // movdqa        %xmm1,%xmm4
+  .byte  102,15,219,230                      // pand          %xmm6,%xmm4
+  .byte  102,15,219,137,161,172,0,0          // pand          0xaca1(%ecx),%xmm1
+  .byte  102,15,111,129,177,172,0,0          // movdqa        0xacb1(%ecx),%xmm0
+  .byte  102,15,114,244,16                   // pslld         $0x10,%xmm4
+  .byte  102,15,111,216                      // movdqa        %xmm0,%xmm3
+  .byte  102,15,102,217                      // pcmpgtd       %xmm1,%xmm3
+  .byte  102,15,127,93,168                   // movdqa        %xmm3,-0x58(%ebp)
+  .byte  102,15,114,241,13                   // pslld         $0xd,%xmm1
+  .byte  102,15,235,204                      // por           %xmm4,%xmm1
+  .byte  102,15,97,234                       // punpcklwd     %xmm2,%xmm5
+  .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
+  .byte  102,15,111,213                      // movdqa        %xmm5,%xmm2
+  .byte  102,15,219,214                      // pand          %xmm6,%xmm2
+  .byte  102,15,111,153,161,172,0,0          // movdqa        0xaca1(%ecx),%xmm3
+  .byte  102,15,219,235                      // pand          %xmm3,%xmm5
+  .byte  102,15,114,242,16                   // pslld         $0x10,%xmm2
+  .byte  102,15,111,224                      // movdqa        %xmm0,%xmm4
+  .byte  102,15,102,229                      // pcmpgtd       %xmm5,%xmm4
+  .byte  102,15,127,101,200                  // movdqa        %xmm4,-0x38(%ebp)
+  .byte  102,15,114,245,13                   // pslld         $0xd,%xmm5
+  .byte  102,15,235,234                      // por           %xmm2,%xmm5
+  .byte  102,15,111,69,184                   // movdqa        -0x48(%ebp),%xmm0
+  .byte  102,15,97,199                       // punpcklwd     %xmm7,%xmm0
+  .byte  102,15,111,248                      // movdqa        %xmm0,%xmm7
+  .byte  102,15,219,254                      // pand          %xmm6,%xmm7
+  .byte  102,15,219,195                      // pand          %xmm3,%xmm0
+  .byte  102,15,114,247,16                   // pslld         $0x10,%xmm7
+  .byte  102,15,111,145,177,172,0,0          // movdqa        0xacb1(%ecx),%xmm2
+  .byte  102,15,111,218                      // movdqa        %xmm2,%xmm3
+  .byte  102,15,102,216                      // pcmpgtd       %xmm0,%xmm3
+  .byte  102,15,114,240,13                   // pslld         $0xd,%xmm0
+  .byte  102,15,235,199                      // por           %xmm7,%xmm0
+  .byte  243,15,126,125,248                  // movq          -0x8(%ebp),%xmm7
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  102,15,97,252                       // punpcklwd     %xmm4,%xmm7
+  .byte  102,15,219,247                      // pand          %xmm7,%xmm6
+  .byte  102,15,219,185,161,172,0,0          // pand          0xaca1(%ecx),%xmm7
+  .byte  102,15,114,246,16                   // pslld         $0x10,%xmm6
+  .byte  102,15,102,215                      // pcmpgtd       %xmm7,%xmm2
+  .byte  102,15,114,247,13                   // pslld         $0xd,%xmm7
+  .byte  102,15,235,254                      // por           %xmm6,%xmm7
+  .byte  102,15,111,161,193,172,0,0          // movdqa        0xacc1(%ecx),%xmm4
+  .byte  102,15,254,204                      // paddd         %xmm4,%xmm1
+  .byte  102,15,254,236                      // paddd         %xmm4,%xmm5
+  .byte  102,15,254,196                      // paddd         %xmm4,%xmm0
+  .byte  102,15,254,252                      // paddd         %xmm4,%xmm7
+  .byte  102,15,111,117,168                  // movdqa        -0x58(%ebp),%xmm6
+  .byte  102,15,223,241                      // pandn         %xmm1,%xmm6
+  .byte  102,15,111,77,200                   // movdqa        -0x38(%ebp),%xmm1
+  .byte  102,15,223,205                      // pandn         %xmm5,%xmm1
+  .byte  102,15,223,216                      // pandn         %xmm0,%xmm3
+  .byte  102,15,111,234                      // movdqa        %xmm2,%xmm5
+  .byte  102,15,223,239                      // pandn         %xmm7,%xmm5
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  141,80,8                            // lea           0x8(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  102,15,111,198                      // movdqa        %xmm6,%xmm0
+  .byte  102,15,111,211                      // movdqa        %xmm3,%xmm2
+  .byte  102,15,111,221                      // movdqa        %xmm5,%xmm3
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,104                         // add           $0x68,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_store_f16_sse2
+.globl _sk_store_f16_sse2
+FUNCTION(_sk_store_f16_sse2)
+_sk_store_f16_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,96                          // sub           $0x60,%esp
+  .byte  15,41,93,184                        // movaps        %xmm3,-0x48(%ebp)
+  .byte  15,41,85,200                        // movaps        %xmm2,-0x38(%ebp)
+  .byte  102,15,111,209                      // movdqa        %xmm1,%xmm2
+  .byte  232,0,0,0,0                         // call          6183 <_sk_store_f16_sse2+0x19>
+  .byte  88                                  // pop           %eax
+  .byte  102,15,111,152,13,171,0,0           // movdqa        0xab0d(%eax),%xmm3
+  .byte  102,15,111,224                      // movdqa        %xmm0,%xmm4
+  .byte  102,15,219,227                      // pand          %xmm3,%xmm4
+  .byte  102,15,111,136,61,171,0,0           // movdqa        0xab3d(%eax),%xmm1
+  .byte  102,15,127,77,232                   // movdqa        %xmm1,-0x18(%ebp)
+  .byte  102,15,111,240                      // movdqa        %xmm0,%xmm6
+  .byte  102,15,114,246,3                    // pslld         $0x3,%xmm6
+  .byte  102,15,219,241                      // pand          %xmm1,%xmm6
+  .byte  102,15,254,244                      // paddd         %xmm4,%xmm6
+  .byte  102,15,111,184,29,171,0,0           // movdqa        0xab1d(%eax),%xmm7
+  .byte  102,15,127,69,168                   // movdqa        %xmm0,-0x58(%ebp)
+  .byte  102,15,219,199                      // pand          %xmm7,%xmm0
+  .byte  102,15,111,168,45,171,0,0           // movdqa        0xab2d(%eax),%xmm5
+  .byte  102,15,111,205                      // movdqa        %xmm5,%xmm1
+  .byte  102,15,102,200                      // pcmpgtd       %xmm0,%xmm1
+  .byte  102,15,111,128,125,167,0,0          // movdqa        0xa77d(%eax),%xmm0
+  .byte  102,15,127,69,216                   // movdqa        %xmm0,-0x28(%ebp)
+  .byte  102,15,254,240                      // paddd         %xmm0,%xmm6
+  .byte  102,15,114,230,16                   // psrad         $0x10,%xmm6
+  .byte  102,15,223,206                      // pandn         %xmm6,%xmm1
+  .byte  102,15,111,194                      // movdqa        %xmm2,%xmm0
+  .byte  102,15,219,195                      // pand          %xmm3,%xmm0
+  .byte  102,15,111,242                      // movdqa        %xmm2,%xmm6
+  .byte  102,15,114,246,3                    // pslld         $0x3,%xmm6
+  .byte  102,15,219,117,232                  // pand          -0x18(%ebp),%xmm6
+  .byte  102,15,254,240                      // paddd         %xmm0,%xmm6
+  .byte  102,15,127,85,152                   // movdqa        %xmm2,-0x68(%ebp)
+  .byte  102,15,219,215                      // pand          %xmm7,%xmm2
+  .byte  102,15,111,229                      // movdqa        %xmm5,%xmm4
+  .byte  102,15,102,226                      // pcmpgtd       %xmm2,%xmm4
+  .byte  102,15,254,117,216                  // paddd         -0x28(%ebp),%xmm6
+  .byte  102,15,114,230,16                   // psrad         $0x10,%xmm6
+  .byte  102,15,223,230                      // pandn         %xmm6,%xmm4
+  .byte  102,15,107,200                      // packssdw      %xmm0,%xmm1
+  .byte  102,15,107,224                      // packssdw      %xmm0,%xmm4
+  .byte  102,15,97,204                       // punpcklwd     %xmm4,%xmm1
+  .byte  102,15,111,85,200                   // movdqa        -0x38(%ebp),%xmm2
+  .byte  102,15,111,194                      // movdqa        %xmm2,%xmm0
+  .byte  102,15,219,195                      // pand          %xmm3,%xmm0
+  .byte  102,15,111,226                      // movdqa        %xmm2,%xmm4
+  .byte  102,15,114,244,3                    // pslld         $0x3,%xmm4
+  .byte  102,15,219,101,232                  // pand          -0x18(%ebp),%xmm4
+  .byte  102,15,254,224                      // paddd         %xmm0,%xmm4
+  .byte  102,15,111,194                      // movdqa        %xmm2,%xmm0
+  .byte  102,15,219,199                      // pand          %xmm7,%xmm0
+  .byte  102,15,111,245                      // movdqa        %xmm5,%xmm6
+  .byte  102,15,102,240                      // pcmpgtd       %xmm0,%xmm6
+  .byte  102,15,111,85,216                   // movdqa        -0x28(%ebp),%xmm2
+  .byte  102,15,254,226                      // paddd         %xmm2,%xmm4
+  .byte  102,15,114,228,16                   // psrad         $0x10,%xmm4
+  .byte  102,15,223,244                      // pandn         %xmm4,%xmm6
+  .byte  102,15,111,101,184                  // movdqa        -0x48(%ebp),%xmm4
+  .byte  102,15,111,196                      // movdqa        %xmm4,%xmm0
+  .byte  102,15,114,240,3                    // pslld         $0x3,%xmm0
+  .byte  102,15,219,69,232                   // pand          -0x18(%ebp),%xmm0
+  .byte  102,15,219,220                      // pand          %xmm4,%xmm3
+  .byte  102,15,254,195                      // paddd         %xmm3,%xmm0
+  .byte  102,15,254,194                      // paddd         %xmm2,%xmm0
+  .byte  102,15,219,252                      // pand          %xmm4,%xmm7
+  .byte  102,15,102,239                      // pcmpgtd       %xmm7,%xmm5
+  .byte  102,15,114,224,16                   // psrad         $0x10,%xmm0
+  .byte  102,15,223,232                      // pandn         %xmm0,%xmm5
+  .byte  102,15,107,240                      // packssdw      %xmm0,%xmm6
+  .byte  102,15,107,232                      // packssdw      %xmm0,%xmm5
+  .byte  102,15,97,245                       // punpcklwd     %xmm5,%xmm6
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,56                              // mov           (%eax),%edi
+  .byte  139,17                              // mov           (%ecx),%edx
+  .byte  139,119,4                           // mov           0x4(%edi),%esi
+  .byte  15,175,113,4                        // imul          0x4(%ecx),%esi
+  .byte  193,230,3                           // shl           $0x3,%esi
+  .byte  3,55                                // add           (%edi),%esi
+  .byte  139,121,8                           // mov           0x8(%ecx),%edi
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,15,98,198                       // punpckldq     %xmm6,%xmm0
+  .byte  133,255                             // test          %edi,%edi
+  .byte  117,48                              // jne           6304 <_sk_store_f16_sse2+0x19a>
+  .byte  15,17,4,214                         // movups        %xmm0,(%esi,%edx,8)
+  .byte  102,15,106,206                      // punpckhdq     %xmm6,%xmm1
+  .byte  243,15,127,76,214,16                // movdqu        %xmm1,0x10(%esi,%edx,8)
+  .byte  141,80,8                            // lea           0x8(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,69,168                        // movaps        -0x58(%ebp),%xmm0
+  .byte  15,40,77,152                        // movaps        -0x68(%ebp),%xmm1
+  .byte  15,40,85,200                        // movaps        -0x38(%ebp),%xmm2
+  .byte  102,15,111,220                      // movdqa        %xmm4,%xmm3
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,112                         // add           $0x70,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  102,15,214,4,214                    // movq          %xmm0,(%esi,%edx,8)
+  .byte  131,255,1                           // cmp           $0x1,%edi
+  .byte  116,212                             // je            62e2 <_sk_store_f16_sse2+0x178>
+  .byte  102,15,23,68,214,8                  // movhpd        %xmm0,0x8(%esi,%edx,8)
+  .byte  131,255,3                           // cmp           $0x3,%edi
+  .byte  114,201                             // jb            62e2 <_sk_store_f16_sse2+0x178>
+  .byte  102,15,106,206                      // punpckhdq     %xmm6,%xmm1
+  .byte  102,15,214,76,214,16                // movq          %xmm1,0x10(%esi,%edx,8)
+  .byte  235,189                             // jmp           62e2 <_sk_store_f16_sse2+0x178>
+
+HIDDEN _sk_load_u16_be_sse2
+.globl _sk_load_u16_be_sse2
+FUNCTION(_sk_load_u16_be_sse2)
+_sk_load_u16_be_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,44                          // sub           $0x2c,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,16                              // mov           (%eax),%edx
+  .byte  139,49                              // mov           (%ecx),%esi
+  .byte  139,122,4                           // mov           0x4(%edx),%edi
+  .byte  15,175,121,4                        // imul          0x4(%ecx),%edi
+  .byte  1,255                               // add           %edi,%edi
+  .byte  3,58                                // add           (%edx),%edi
+  .byte  139,89,8                            // mov           0x8(%ecx),%ebx
+  .byte  193,230,2                           // shl           $0x2,%esi
+  .byte  133,219                             // test          %ebx,%ebx
+  .byte  232,0,0,0,0                         // call          6350 <_sk_load_u16_be_sse2+0x2b>
+  .byte  90                                  // pop           %edx
+  .byte  15,133,11,1,0,0                     // jne           6462 <_sk_load_u16_be_sse2+0x13d>
+  .byte  102,15,16,4,119                     // movupd        (%edi,%esi,2),%xmm0
+  .byte  243,15,111,76,119,16                // movdqu        0x10(%edi,%esi,2),%xmm1
+  .byte  102,15,40,208                       // movapd        %xmm0,%xmm2
+  .byte  102,15,97,209                       // punpcklwd     %xmm1,%xmm2
+  .byte  102,15,105,193                      // punpckhwd     %xmm1,%xmm0
+  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
+  .byte  102,15,97,200                       // punpcklwd     %xmm0,%xmm1
+  .byte  102,15,105,208                      // punpckhwd     %xmm0,%xmm2
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,15,113,240,8                    // psllw         $0x8,%xmm0
+  .byte  102,15,112,233,78                   // pshufd        $0x4e,%xmm1,%xmm5
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,235,200                      // por           %xmm0,%xmm1
+  .byte  102,15,126,77,216                   // movd          %xmm1,-0x28(%ebp)
+  .byte  102,15,112,193,229                  // pshufd        $0xe5,%xmm1,%xmm0
+  .byte  102,15,126,69,220                   // movd          %xmm0,-0x24(%ebp)
+  .byte  243,15,126,69,216                   // movq          -0x28(%ebp),%xmm0
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  102,15,97,195                       // punpcklwd     %xmm3,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  15,40,162,144,166,0,0               // movaps        0xa690(%edx),%xmm4
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  102,15,111,205                      // movdqa        %xmm5,%xmm1
+  .byte  102,15,113,241,8                    // psllw         $0x8,%xmm1
+  .byte  102,15,113,213,8                    // psrlw         $0x8,%xmm5
+  .byte  102,15,235,233                      // por           %xmm1,%xmm5
+  .byte  102,15,126,109,208                  // movd          %xmm5,-0x30(%ebp)
+  .byte  102,15,112,205,229                  // pshufd        $0xe5,%xmm5,%xmm1
+  .byte  102,15,126,77,212                   // movd          %xmm1,-0x2c(%ebp)
+  .byte  243,15,126,77,208                   // movq          -0x30(%ebp),%xmm1
+  .byte  102,15,97,203                       // punpcklwd     %xmm3,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  102,15,111,234                      // movdqa        %xmm2,%xmm5
+  .byte  102,15,113,245,8                    // psllw         $0x8,%xmm5
+  .byte  102,15,112,242,78                   // pshufd        $0x4e,%xmm2,%xmm6
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,235,213                      // por           %xmm5,%xmm2
+  .byte  102,15,126,85,232                   // movd          %xmm2,-0x18(%ebp)
+  .byte  102,15,112,210,229                  // pshufd        $0xe5,%xmm2,%xmm2
+  .byte  102,15,126,85,236                   // movd          %xmm2,-0x14(%ebp)
+  .byte  243,15,126,85,232                   // movq          -0x18(%ebp),%xmm2
+  .byte  102,15,97,211                       // punpcklwd     %xmm3,%xmm2
+  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
+  .byte  15,89,212                           // mulps         %xmm4,%xmm2
+  .byte  102,15,111,238                      // movdqa        %xmm6,%xmm5
+  .byte  102,15,113,245,8                    // psllw         $0x8,%xmm5
+  .byte  102,15,113,214,8                    // psrlw         $0x8,%xmm6
+  .byte  102,15,235,245                      // por           %xmm5,%xmm6
+  .byte  102,15,126,117,224                  // movd          %xmm6,-0x20(%ebp)
+  .byte  102,15,112,238,229                  // pshufd        $0xe5,%xmm6,%xmm5
+  .byte  102,15,126,109,228                  // movd          %xmm5,-0x1c(%ebp)
+  .byte  243,15,126,109,224                  // movq          -0x20(%ebp),%xmm5
+  .byte  102,15,97,235                       // punpcklwd     %xmm3,%xmm5
+  .byte  15,91,221                           // cvtdq2ps      %xmm5,%xmm3
+  .byte  15,89,220                           // mulps         %xmm4,%xmm3
+  .byte  141,80,8                            // lea           0x8(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,60                          // add           $0x3c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  242,15,16,4,119                     // movsd         (%edi,%esi,2),%xmm0
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  131,251,1                           // cmp           $0x1,%ebx
+  .byte  15,132,238,254,255,255              // je            6362 <_sk_load_u16_be_sse2+0x3d>
+  .byte  102,15,22,68,119,8                  // movhpd        0x8(%edi,%esi,2),%xmm0
+  .byte  131,251,3                           // cmp           $0x3,%ebx
+  .byte  15,130,223,254,255,255              // jb            6362 <_sk_load_u16_be_sse2+0x3d>
+  .byte  243,15,126,76,119,16                // movq          0x10(%edi,%esi,2),%xmm1
+  .byte  233,212,254,255,255                 // jmp           6362 <_sk_load_u16_be_sse2+0x3d>
+
+HIDDEN _sk_load_rgb_u16_be_sse2
+.globl _sk_load_rgb_u16_be_sse2
+FUNCTION(_sk_load_rgb_u16_be_sse2)
+_sk_load_rgb_u16_be_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,28                          // sub           $0x1c,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,16                              // mov           (%eax),%edx
+  .byte  139,121,8                           // mov           0x8(%ecx),%edi
+  .byte  139,114,4                           // mov           0x4(%edx),%esi
+  .byte  15,175,113,4                        // imul          0x4(%ecx),%esi
+  .byte  1,246                               // add           %esi,%esi
+  .byte  3,50                                // add           (%edx),%esi
+  .byte  107,25,3                            // imul          $0x3,(%ecx),%ebx
+  .byte  133,255                             // test          %edi,%edi
+  .byte  232,0,0,0,0                         // call          64b7 <_sk_load_rgb_u16_be_sse2+0x29>
+  .byte  90                                  // pop           %edx
+  .byte  15,133,240,0,0,0                    // jne           65ae <_sk_load_rgb_u16_be_sse2+0x120>
+  .byte  243,15,111,20,94                    // movdqu        (%esi,%ebx,2),%xmm2
+  .byte  243,15,111,92,94,8                  // movdqu        0x8(%esi,%ebx,2),%xmm3
+  .byte  102,15,115,219,4                    // psrldq        $0x4,%xmm3
+  .byte  102,15,111,194                      // movdqa        %xmm2,%xmm0
+  .byte  102,15,115,216,6                    // psrldq        $0x6,%xmm0
+  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
+  .byte  102,15,115,217,6                    // psrldq        $0x6,%xmm1
+  .byte  102,15,97,193                       // punpcklwd     %xmm1,%xmm0
+  .byte  102,15,97,211                       // punpcklwd     %xmm3,%xmm2
+  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
+  .byte  102,15,97,200                       // punpcklwd     %xmm0,%xmm1
+  .byte  102,15,112,225,78                   // pshufd        $0x4e,%xmm1,%xmm4
+  .byte  102,15,105,208                      // punpckhwd     %xmm0,%xmm2
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,15,113,240,8                    // psllw         $0x8,%xmm0
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,235,200                      // por           %xmm0,%xmm1
+  .byte  102,15,126,77,224                   // movd          %xmm1,-0x20(%ebp)
+  .byte  102,15,112,193,229                  // pshufd        $0xe5,%xmm1,%xmm0
+  .byte  102,15,126,69,228                   // movd          %xmm0,-0x1c(%ebp)
+  .byte  243,15,126,69,224                   // movq          -0x20(%ebp),%xmm0
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  102,15,97,195                       // punpcklwd     %xmm3,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  15,40,170,41,165,0,0                // movaps        0xa529(%edx),%xmm5
+  .byte  15,89,197                           // mulps         %xmm5,%xmm0
+  .byte  102,15,111,204                      // movdqa        %xmm4,%xmm1
+  .byte  102,15,113,241,8                    // psllw         $0x8,%xmm1
+  .byte  102,15,113,212,8                    // psrlw         $0x8,%xmm4
+  .byte  102,15,235,225                      // por           %xmm1,%xmm4
+  .byte  102,15,126,101,216                  // movd          %xmm4,-0x28(%ebp)
+  .byte  102,15,112,204,229                  // pshufd        $0xe5,%xmm4,%xmm1
+  .byte  102,15,126,77,220                   // movd          %xmm1,-0x24(%ebp)
+  .byte  243,15,126,77,216                   // movq          -0x28(%ebp),%xmm1
+  .byte  102,15,97,203                       // punpcklwd     %xmm3,%xmm1
+  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
+  .byte  15,89,205                           // mulps         %xmm5,%xmm1
+  .byte  102,15,111,226                      // movdqa        %xmm2,%xmm4
+  .byte  102,15,113,244,8                    // psllw         $0x8,%xmm4
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,235,212                      // por           %xmm4,%xmm2
+  .byte  102,15,126,85,232                   // movd          %xmm2,-0x18(%ebp)
+  .byte  102,15,112,210,229                  // pshufd        $0xe5,%xmm2,%xmm2
+  .byte  102,15,126,85,236                   // movd          %xmm2,-0x14(%ebp)
+  .byte  243,15,126,85,232                   // movq          -0x18(%ebp),%xmm2
+  .byte  102,15,97,211                       // punpcklwd     %xmm3,%xmm2
+  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
+  .byte  15,89,213                           // mulps         %xmm5,%xmm2
+  .byte  141,112,8                           // lea           0x8(%eax),%esi
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,154,169,162,0,0               // movaps        0xa2a9(%edx),%xmm3
+  .byte  86                                  // push          %esi
+  .byte  81                                  // push          %ecx
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,44                          // add           $0x2c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  102,15,110,20,94                    // movd          (%esi,%ebx,2),%xmm2
+  .byte  102,15,196,84,94,4,2                // pinsrw        $0x2,0x4(%esi,%ebx,2),%xmm2
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  131,255,1                           // cmp           $0x1,%edi
+  .byte  117,13                              // jne           65d0 <_sk_load_rgb_u16_be_sse2+0x142>
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  233,16,255,255,255                  // jmp           64e0 <_sk_load_rgb_u16_be_sse2+0x52>
+  .byte  102,15,110,68,94,6                  // movd          0x6(%esi,%ebx,2),%xmm0
+  .byte  102,15,196,68,94,10,2               // pinsrw        $0x2,0xa(%esi,%ebx,2),%xmm0
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  131,255,3                           // cmp           $0x3,%edi
+  .byte  114,18                              // jb            65f8 <_sk_load_rgb_u16_be_sse2+0x16a>
+  .byte  102,15,110,92,94,12                 // movd          0xc(%esi,%ebx,2),%xmm3
+  .byte  102,15,196,92,94,16,2               // pinsrw        $0x2,0x10(%esi,%ebx,2),%xmm3
+  .byte  233,232,254,255,255                 // jmp           64e0 <_sk_load_rgb_u16_be_sse2+0x52>
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  233,223,254,255,255                 // jmp           64e0 <_sk_load_rgb_u16_be_sse2+0x52>
+
+HIDDEN _sk_store_u16_be_sse2
+.globl _sk_store_u16_be_sse2
+FUNCTION(_sk_store_u16_be_sse2)
+_sk_store_u16_be_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,32                          // sub           $0x20,%esp
+  .byte  15,41,93,232                        // movaps        %xmm3,-0x18(%ebp)
+  .byte  232,0,0,0,0                         // call          6612 <_sk_store_u16_be_sse2+0x11>
+  .byte  88                                  // pop           %eax
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,95,224                           // maxps         %xmm0,%xmm4
+  .byte  15,40,168,78,161,0,0                // movaps        0xa14e(%eax),%xmm5
+  .byte  15,93,229                           // minps         %xmm5,%xmm4
+  .byte  15,40,176,190,166,0,0               // movaps        0xa6be(%eax),%xmm6
+  .byte  15,89,230                           // mulps         %xmm6,%xmm4
+  .byte  102,15,91,228                       // cvtps2dq      %xmm4,%xmm4
+  .byte  102,15,114,244,16                   // pslld         $0x10,%xmm4
+  .byte  102,15,114,228,16                   // psrad         $0x10,%xmm4
+  .byte  102,15,107,224                      // packssdw      %xmm0,%xmm4
+  .byte  102,15,111,252                      // movdqa        %xmm4,%xmm7
+  .byte  102,15,113,247,8                    // psllw         $0x8,%xmm7
+  .byte  102,15,113,212,8                    // psrlw         $0x8,%xmm4
+  .byte  102,15,235,231                      // por           %xmm7,%xmm4
+  .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
+  .byte  15,95,249                           // maxps         %xmm1,%xmm7
+  .byte  15,93,253                           // minps         %xmm5,%xmm7
+  .byte  15,89,254                           // mulps         %xmm6,%xmm7
+  .byte  102,15,91,255                       // cvtps2dq      %xmm7,%xmm7
+  .byte  102,15,114,247,16                   // pslld         $0x10,%xmm7
+  .byte  102,15,114,231,16                   // psrad         $0x10,%xmm7
+  .byte  102,15,107,248                      // packssdw      %xmm0,%xmm7
+  .byte  102,15,111,223                      // movdqa        %xmm7,%xmm3
+  .byte  102,15,113,243,8                    // psllw         $0x8,%xmm3
+  .byte  102,15,113,215,8                    // psrlw         $0x8,%xmm7
+  .byte  102,15,235,251                      // por           %xmm3,%xmm7
+  .byte  102,15,97,231                       // punpcklwd     %xmm7,%xmm4
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  15,41,85,216                        // movaps        %xmm2,-0x28(%ebp)
+  .byte  15,95,218                           // maxps         %xmm2,%xmm3
+  .byte  15,93,221                           // minps         %xmm5,%xmm3
+  .byte  15,89,222                           // mulps         %xmm6,%xmm3
+  .byte  102,15,91,251                       // cvtps2dq      %xmm3,%xmm7
+  .byte  102,15,114,247,16                   // pslld         $0x10,%xmm7
+  .byte  102,15,114,231,16                   // psrad         $0x10,%xmm7
+  .byte  102,15,107,248                      // packssdw      %xmm0,%xmm7
+  .byte  102,15,111,223                      // movdqa        %xmm7,%xmm3
+  .byte  102,15,113,243,8                    // psllw         $0x8,%xmm3
+  .byte  102,15,113,215,8                    // psrlw         $0x8,%xmm7
+  .byte  102,15,235,251                      // por           %xmm3,%xmm7
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  15,95,93,232                        // maxps         -0x18(%ebp),%xmm3
+  .byte  15,93,221                           // minps         %xmm5,%xmm3
+  .byte  15,89,222                           // mulps         %xmm6,%xmm3
+  .byte  102,15,91,219                       // cvtps2dq      %xmm3,%xmm3
+  .byte  102,15,114,243,16                   // pslld         $0x10,%xmm3
+  .byte  102,15,114,227,16                   // psrad         $0x10,%xmm3
+  .byte  102,15,107,216                      // packssdw      %xmm0,%xmm3
+  .byte  102,15,111,235                      // movdqa        %xmm3,%xmm5
+  .byte  102,15,113,245,8                    // psllw         $0x8,%xmm5
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  102,15,235,221                      // por           %xmm5,%xmm3
+  .byte  102,15,97,251                       // punpcklwd     %xmm3,%xmm7
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,56                              // mov           (%eax),%edi
+  .byte  139,17                              // mov           (%ecx),%edx
+  .byte  139,119,4                           // mov           0x4(%edi),%esi
+  .byte  15,175,113,4                        // imul          0x4(%ecx),%esi
+  .byte  1,246                               // add           %esi,%esi
+  .byte  3,55                                // add           (%edi),%esi
+  .byte  139,121,8                           // mov           0x8(%ecx),%edi
+  .byte  193,226,2                           // shl           $0x2,%edx
+  .byte  133,255                             // test          %edi,%edi
+  .byte  117,49                              // jne           6741 <_sk_store_u16_be_sse2+0x140>
+  .byte  102,15,111,220                      // movdqa        %xmm4,%xmm3
+  .byte  102,15,98,223                       // punpckldq     %xmm7,%xmm3
+  .byte  243,15,127,28,86                    // movdqu        %xmm3,(%esi,%edx,2)
+  .byte  102,15,106,231                      // punpckhdq     %xmm7,%xmm4
+  .byte  243,15,127,100,86,16                // movdqu        %xmm4,0x10(%esi,%edx,2)
+  .byte  141,80,8                            // lea           0x8(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,85,216                        // movaps        -0x28(%ebp),%xmm2
+  .byte  15,40,93,232                        // movaps        -0x18(%ebp),%xmm3
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,48                          // add           $0x30,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  102,15,111,236                      // movdqa        %xmm4,%xmm5
+  .byte  102,15,98,239                       // punpckldq     %xmm7,%xmm5
+  .byte  102,15,214,44,86                    // movq          %xmm5,(%esi,%edx,2)
+  .byte  131,255,1                           // cmp           $0x1,%edi
+  .byte  116,212                             // je            6727 <_sk_store_u16_be_sse2+0x126>
+  .byte  102,15,23,108,86,8                  // movhpd        %xmm5,0x8(%esi,%edx,2)
+  .byte  131,255,3                           // cmp           $0x3,%edi
+  .byte  114,201                             // jb            6727 <_sk_store_u16_be_sse2+0x126>
+  .byte  102,15,106,231                      // punpckhdq     %xmm7,%xmm4
+  .byte  102,15,214,100,86,16                // movq          %xmm4,0x10(%esi,%edx,2)
+  .byte  235,189                             // jmp           6727 <_sk_store_u16_be_sse2+0x126>
+
+HIDDEN _sk_load_f32_sse2
+.globl _sk_load_f32_sse2
+FUNCTION(_sk_load_f32_sse2)
+_sk_load_f32_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,48                              // mov           (%eax),%esi
+  .byte  139,57                              // mov           (%ecx),%edi
+  .byte  139,86,4                            // mov           0x4(%esi),%edx
+  .byte  15,175,81,4                         // imul          0x4(%ecx),%edx
+  .byte  193,226,2                           // shl           $0x2,%edx
+  .byte  3,22                                // add           (%esi),%edx
+  .byte  141,52,189,0,0,0,0                  // lea           0x0(,%edi,4),%esi
+  .byte  193,231,4                           // shl           $0x4,%edi
+  .byte  15,16,36,23                         // movups        (%edi,%edx,1),%xmm4
+  .byte  139,121,8                           // mov           0x8(%ecx),%edi
+  .byte  133,255                             // test          %edi,%edi
+  .byte  117,71                              // jne           67e1 <_sk_load_f32_sse2+0x77>
+  .byte  15,16,84,178,16                     // movups        0x10(%edx,%esi,4),%xmm2
+  .byte  15,16,92,178,32                     // movups        0x20(%edx,%esi,4),%xmm3
+  .byte  15,16,68,178,48                     // movups        0x30(%edx,%esi,4),%xmm0
+  .byte  15,40,236                           // movaps        %xmm4,%xmm5
+  .byte  15,20,234                           // unpcklps      %xmm2,%xmm5
+  .byte  15,40,203                           // movaps        %xmm3,%xmm1
+  .byte  15,20,200                           // unpcklps      %xmm0,%xmm1
+  .byte  15,21,226                           // unpckhps      %xmm2,%xmm4
+  .byte  15,21,216                           // unpckhps      %xmm0,%xmm3
+  .byte  15,40,197                           // movaps        %xmm5,%xmm0
+  .byte  102,15,20,193                       // unpcklpd      %xmm1,%xmm0
+  .byte  15,18,205                           // movhlps       %xmm5,%xmm1
+  .byte  15,40,212                           // movaps        %xmm4,%xmm2
+  .byte  102,15,20,211                       // unpcklpd      %xmm3,%xmm2
+  .byte  15,18,220                           // movhlps       %xmm4,%xmm3
+  .byte  141,80,8                            // lea           0x8(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,16                          // add           $0x10,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  131,255,1                           // cmp           $0x1,%edi
+  .byte  117,8                               // jne           67f1 <_sk_load_f32_sse2+0x87>
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  235,184                             // jmp           67a9 <_sk_load_f32_sse2+0x3f>
+  .byte  15,16,84,178,16                     // movups        0x10(%edx,%esi,4),%xmm2
+  .byte  131,255,3                           // cmp           $0x3,%edi
+  .byte  114,7                               // jb            6802 <_sk_load_f32_sse2+0x98>
+  .byte  15,16,92,178,32                     // movups        0x20(%edx,%esi,4),%xmm3
+  .byte  235,167                             // jmp           67a9 <_sk_load_f32_sse2+0x3f>
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  235,162                             // jmp           67a9 <_sk_load_f32_sse2+0x3f>
+
+HIDDEN _sk_load_f32_dst_sse2
+.globl _sk_load_f32_dst_sse2
+FUNCTION(_sk_load_f32_dst_sse2)
+_sk_load_f32_dst_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,32                          // sub           $0x20,%esp
+  .byte  15,41,93,216                        // movaps        %xmm3,-0x28(%ebp)
+  .byte  15,41,85,232                        // movaps        %xmm2,-0x18(%ebp)
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,48                              // mov           (%eax),%esi
+  .byte  139,57                              // mov           (%ecx),%edi
+  .byte  139,86,4                            // mov           0x4(%esi),%edx
+  .byte  15,175,81,4                         // imul          0x4(%ecx),%edx
+  .byte  193,226,2                           // shl           $0x2,%edx
+  .byte  3,22                                // add           (%esi),%edx
+  .byte  141,52,189,0,0,0,0                  // lea           0x0(,%edi,4),%esi
+  .byte  193,231,4                           // shl           $0x4,%edi
+  .byte  15,16,52,23                         // movups        (%edi,%edx,1),%xmm6
+  .byte  139,121,8                           // mov           0x8(%ecx),%edi
+  .byte  133,255                             // test          %edi,%edi
+  .byte  117,97                              // jne           68a3 <_sk_load_f32_dst_sse2+0x9c>
+  .byte  15,16,124,178,16                    // movups        0x10(%edx,%esi,4),%xmm7
+  .byte  15,16,92,178,32                     // movups        0x20(%edx,%esi,4),%xmm3
+  .byte  15,16,84,178,48                     // movups        0x30(%edx,%esi,4),%xmm2
+  .byte  15,40,230                           // movaps        %xmm6,%xmm4
+  .byte  15,20,231                           // unpcklps      %xmm7,%xmm4
+  .byte  15,40,235                           // movaps        %xmm3,%xmm5
+  .byte  15,20,234                           // unpcklps      %xmm2,%xmm5
+  .byte  15,21,247                           // unpckhps      %xmm7,%xmm6
+  .byte  15,21,218                           // unpckhps      %xmm2,%xmm3
+  .byte  15,40,212                           // movaps        %xmm4,%xmm2
+  .byte  102,15,20,213                       // unpcklpd      %xmm5,%xmm2
+  .byte  15,18,236                           // movhlps       %xmm4,%xmm5
+  .byte  15,40,230                           // movaps        %xmm6,%xmm4
+  .byte  102,15,20,227                       // unpcklpd      %xmm3,%xmm4
+  .byte  15,18,222                           // movhlps       %xmm6,%xmm3
+  .byte  102,15,41,81,16                     // movapd        %xmm2,0x10(%ecx)
+  .byte  15,41,105,32                        // movaps        %xmm5,0x20(%ecx)
+  .byte  102,15,41,97,48                     // movapd        %xmm4,0x30(%ecx)
+  .byte  15,41,89,64                         // movaps        %xmm3,0x40(%ecx)
+  .byte  141,80,8                            // lea           0x8(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,85,232                        // movaps        -0x18(%ebp),%xmm2
+  .byte  15,40,93,216                        // movaps        -0x28(%ebp),%xmm3
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,48                          // add           $0x30,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  131,255,1                           // cmp           $0x1,%edi
+  .byte  117,8                               // jne           68b3 <_sk_load_f32_dst_sse2+0xac>
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  15,87,255                           // xorps         %xmm7,%xmm7
+  .byte  235,158                             // jmp           6851 <_sk_load_f32_dst_sse2+0x4a>
+  .byte  15,16,124,178,16                    // movups        0x10(%edx,%esi,4),%xmm7
+  .byte  131,255,3                           // cmp           $0x3,%edi
+  .byte  114,7                               // jb            68c4 <_sk_load_f32_dst_sse2+0xbd>
+  .byte  15,16,92,178,32                     // movups        0x20(%edx,%esi,4),%xmm3
+  .byte  235,141                             // jmp           6851 <_sk_load_f32_dst_sse2+0x4a>
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  235,136                             // jmp           6851 <_sk_load_f32_dst_sse2+0x4a>
+
+HIDDEN _sk_store_f32_sse2
+.globl _sk_store_f32_sse2
+FUNCTION(_sk_store_f32_sse2)
+_sk_store_f32_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,12                          // sub           $0xc,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,48                              // mov           (%eax),%esi
+  .byte  139,25                              // mov           (%ecx),%ebx
+  .byte  139,86,4                            // mov           0x4(%esi),%edx
+  .byte  15,175,81,4                         // imul          0x4(%ecx),%edx
+  .byte  193,226,2                           // shl           $0x2,%edx
+  .byte  3,22                                // add           (%esi),%edx
+  .byte  141,52,157,0,0,0,0                  // lea           0x0(,%ebx,4),%esi
+  .byte  193,227,4                           // shl           $0x4,%ebx
+  .byte  15,40,232                           // movaps        %xmm0,%xmm5
+  .byte  15,20,233                           // unpcklps      %xmm1,%xmm5
+  .byte  15,40,226                           // movaps        %xmm2,%xmm4
+  .byte  15,20,227                           // unpcklps      %xmm3,%xmm4
+  .byte  15,40,245                           // movaps        %xmm5,%xmm6
+  .byte  102,15,20,244                       // unpcklpd      %xmm4,%xmm6
+  .byte  139,121,8                           // mov           0x8(%ecx),%edi
+  .byte  102,15,17,52,19                     // movupd        %xmm6,(%ebx,%edx,1)
+  .byte  15,40,240                           // movaps        %xmm0,%xmm6
+  .byte  15,21,241                           // unpckhps      %xmm1,%xmm6
+  .byte  15,40,250                           // movaps        %xmm2,%xmm7
+  .byte  15,21,251                           // unpckhps      %xmm3,%xmm7
+  .byte  15,18,229                           // movhlps       %xmm5,%xmm4
+  .byte  15,40,238                           // movaps        %xmm6,%xmm5
+  .byte  102,15,20,239                       // unpcklpd      %xmm7,%xmm5
+  .byte  133,255                             // test          %edi,%edi
+  .byte  117,40                              // jne           694f <_sk_store_f32_sse2+0x86>
+  .byte  102,15,21,247                       // unpckhpd      %xmm7,%xmm6
+  .byte  15,17,100,178,16                    // movups        %xmm4,0x10(%edx,%esi,4)
+  .byte  102,15,17,108,178,32                // movupd        %xmm5,0x20(%edx,%esi,4)
+  .byte  102,15,17,116,178,48                // movupd        %xmm6,0x30(%edx,%esi,4)
+  .byte  141,80,8                            // lea           0x8(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,28                          // add           $0x1c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  131,255,1                           // cmp           $0x1,%edi
+  .byte  116,232                             // je            693c <_sk_store_f32_sse2+0x73>
+  .byte  15,17,100,178,16                    // movups        %xmm4,0x10(%edx,%esi,4)
+  .byte  131,255,3                           // cmp           $0x3,%edi
+  .byte  114,222                             // jb            693c <_sk_store_f32_sse2+0x73>
+  .byte  102,15,17,108,178,32                // movupd        %xmm5,0x20(%edx,%esi,4)
+  .byte  235,214                             // jmp           693c <_sk_store_f32_sse2+0x73>
+
+HIDDEN _sk_repeat_x_sse2
+.globl _sk_repeat_x_sse2
+FUNCTION(_sk_repeat_x_sse2)
+_sk_repeat_x_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  232,0,0,0,0                         // call          6971 <_sk_repeat_x_sse2+0xb>
+  .byte  88                                  // pop           %eax
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  139,17                              // mov           (%ecx),%edx
+  .byte  243,15,16,34                        // movss         (%edx),%xmm4
+  .byte  243,15,16,106,4                     // movss         0x4(%edx),%xmm5
+  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
+  .byte  15,89,232                           // mulps         %xmm0,%xmm5
+  .byte  243,15,91,245                       // cvttps2dq     %xmm5,%xmm6
+  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
+  .byte  15,194,238,1                        // cmpltps       %xmm6,%xmm5
+  .byte  15,84,168,239,157,0,0               // andps         0x9def(%eax),%xmm5
+  .byte  15,92,245                           // subps         %xmm5,%xmm6
+  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
+  .byte  15,89,230                           // mulps         %xmm6,%xmm4
+  .byte  15,92,196                           // subps         %xmm4,%xmm0
+  .byte  141,65,8                            // lea           0x8(%ecx),%eax
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  80                                  // push          %eax
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,81,4                            // call          *0x4(%ecx)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_repeat_y_sse2
+.globl _sk_repeat_y_sse2
+FUNCTION(_sk_repeat_y_sse2)
+_sk_repeat_y_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  232,0,0,0,0                         // call          69c3 <_sk_repeat_y_sse2+0xb>
+  .byte  88                                  // pop           %eax
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  139,17                              // mov           (%ecx),%edx
+  .byte  243,15,16,34                        // movss         (%edx),%xmm4
+  .byte  243,15,16,106,4                     // movss         0x4(%edx),%xmm5
+  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
+  .byte  15,89,233                           // mulps         %xmm1,%xmm5
+  .byte  243,15,91,245                       // cvttps2dq     %xmm5,%xmm6
+  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
+  .byte  15,194,238,1                        // cmpltps       %xmm6,%xmm5
+  .byte  15,84,168,157,157,0,0               // andps         0x9d9d(%eax),%xmm5
+  .byte  15,92,245                           // subps         %xmm5,%xmm6
+  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
+  .byte  15,89,230                           // mulps         %xmm6,%xmm4
+  .byte  15,92,204                           // subps         %xmm4,%xmm1
+  .byte  141,65,8                            // lea           0x8(%ecx),%eax
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  80                                  // push          %eax
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,81,4                            // call          *0x4(%ecx)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_mirror_x_sse2
+.globl _sk_mirror_x_sse2
+FUNCTION(_sk_mirror_x_sse2)
+_sk_mirror_x_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  232,0,0,0,0                         // call          6a15 <_sk_mirror_x_sse2+0xb>
+  .byte  89                                  // pop           %ecx
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,16                              // mov           (%eax),%edx
+  .byte  243,15,16,34                        // movss         (%edx),%xmm4
+  .byte  243,15,16,106,4                     // movss         0x4(%edx),%xmm5
+  .byte  15,40,244                           // movaps        %xmm4,%xmm6
+  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
+  .byte  15,92,198                           // subps         %xmm6,%xmm0
+  .byte  243,15,89,169,75,165,0,0            // mulss         0xa54b(%ecx),%xmm5
+  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
+  .byte  15,89,232                           // mulps         %xmm0,%xmm5
+  .byte  243,15,91,253                       // cvttps2dq     %xmm5,%xmm7
+  .byte  15,91,255                           // cvtdq2ps      %xmm7,%xmm7
+  .byte  15,194,239,1                        // cmpltps       %xmm7,%xmm5
+  .byte  15,84,169,75,157,0,0                // andps         0x9d4b(%ecx),%xmm5
+  .byte  15,92,253                           // subps         %xmm5,%xmm7
+  .byte  243,15,88,228                       // addss         %xmm4,%xmm4
+  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
+  .byte  15,89,252                           // mulps         %xmm4,%xmm7
+  .byte  15,92,199                           // subps         %xmm7,%xmm0
+  .byte  15,92,198                           // subps         %xmm6,%xmm0
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,92,224                           // subps         %xmm0,%xmm4
+  .byte  15,84,196                           // andps         %xmm4,%xmm0
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_mirror_y_sse2
+.globl _sk_mirror_y_sse2
+FUNCTION(_sk_mirror_y_sse2)
+_sk_mirror_y_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  232,0,0,0,0                         // call          6a89 <_sk_mirror_y_sse2+0xb>
+  .byte  89                                  // pop           %ecx
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,16                              // mov           (%eax),%edx
+  .byte  243,15,16,34                        // movss         (%edx),%xmm4
+  .byte  243,15,16,106,4                     // movss         0x4(%edx),%xmm5
+  .byte  15,40,244                           // movaps        %xmm4,%xmm6
+  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
+  .byte  15,92,206                           // subps         %xmm6,%xmm1
+  .byte  243,15,89,169,215,164,0,0           // mulss         0xa4d7(%ecx),%xmm5
+  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
+  .byte  15,89,233                           // mulps         %xmm1,%xmm5
+  .byte  243,15,91,253                       // cvttps2dq     %xmm5,%xmm7
+  .byte  15,91,255                           // cvtdq2ps      %xmm7,%xmm7
+  .byte  15,194,239,1                        // cmpltps       %xmm7,%xmm5
+  .byte  15,84,169,215,156,0,0               // andps         0x9cd7(%ecx),%xmm5
+  .byte  15,92,253                           // subps         %xmm5,%xmm7
+  .byte  243,15,88,228                       // addss         %xmm4,%xmm4
+  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
+  .byte  15,89,252                           // mulps         %xmm4,%xmm7
+  .byte  15,92,207                           // subps         %xmm7,%xmm1
+  .byte  15,92,206                           // subps         %xmm6,%xmm1
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,92,225                           // subps         %xmm1,%xmm4
+  .byte  15,84,204                           // andps         %xmm4,%xmm1
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_clamp_x_1_sse2
+.globl _sk_clamp_x_1_sse2
+FUNCTION(_sk_clamp_x_1_sse2)
+_sk_clamp_x_1_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  232,0,0,0,0                         // call          6afd <_sk_clamp_x_1_sse2+0xb>
+  .byte  88                                  // pop           %eax
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,95,224                           // maxps         %xmm0,%xmm4
+  .byte  15,93,160,99,156,0,0                // minps         0x9c63(%eax),%xmm4
+  .byte  141,65,4                            // lea           0x4(%ecx),%eax
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,196                           // movaps        %xmm4,%xmm0
+  .byte  80                                  // push          %eax
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,17                              // call          *(%ecx)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_repeat_x_1_sse2
+.globl _sk_repeat_x_1_sse2
+FUNCTION(_sk_repeat_x_1_sse2)
+_sk_repeat_x_1_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  232,0,0,0,0                         // call          6b2d <_sk_repeat_x_1_sse2+0xb>
+  .byte  88                                  // pop           %eax
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  243,15,91,224                       // cvttps2dq     %xmm0,%xmm4
+  .byte  15,91,236                           // cvtdq2ps      %xmm4,%xmm5
+  .byte  15,40,240                           // movaps        %xmm0,%xmm6
+  .byte  15,194,245,1                        // cmpltps       %xmm5,%xmm6
+  .byte  15,40,184,51,156,0,0                // movaps        0x9c33(%eax),%xmm7
+  .byte  15,84,247                           // andps         %xmm7,%xmm6
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,92,238                           // subps         %xmm6,%xmm5
+  .byte  15,92,197                           // subps         %xmm5,%xmm0
+  .byte  15,95,224                           // maxps         %xmm0,%xmm4
+  .byte  15,93,231                           // minps         %xmm7,%xmm4
+  .byte  141,65,4                            // lea           0x4(%ecx),%eax
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,196                           // movaps        %xmm4,%xmm0
+  .byte  80                                  // push          %eax
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,17                              // call          *(%ecx)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_mirror_x_1_sse2
+.globl _sk_mirror_x_1_sse2
+FUNCTION(_sk_mirror_x_1_sse2)
+_sk_mirror_x_1_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  232,0,0,0,0                         // call          6b77 <_sk_mirror_x_1_sse2+0xb>
+  .byte  88                                  // pop           %eax
+  .byte  15,40,160,89,156,0,0                // movaps        0x9c59(%eax),%xmm4
+  .byte  15,88,196                           // addps         %xmm4,%xmm0
+  .byte  15,40,168,217,155,0,0               // movaps        0x9bd9(%eax),%xmm5
+  .byte  15,89,232                           // mulps         %xmm0,%xmm5
+  .byte  243,15,91,245                       // cvttps2dq     %xmm5,%xmm6
+  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
+  .byte  15,194,238,1                        // cmpltps       %xmm6,%xmm5
+  .byte  15,40,184,233,155,0,0               // movaps        0x9be9(%eax),%xmm7
+  .byte  15,84,239                           // andps         %xmm7,%xmm5
+  .byte  15,92,245                           // subps         %xmm5,%xmm6
+  .byte  15,88,246                           // addps         %xmm6,%xmm6
+  .byte  15,92,198                           // subps         %xmm6,%xmm0
+  .byte  15,88,196                           // addps         %xmm4,%xmm0
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,92,224                           // subps         %xmm0,%xmm4
+  .byte  15,84,224                           // andps         %xmm0,%xmm4
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  15,95,196                           // maxps         %xmm4,%xmm0
+  .byte  15,93,199                           // minps         %xmm7,%xmm0
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  141,72,4                            // lea           0x4(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,16                              // call          *(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_decal_x_sse2
+.globl _sk_decal_x_sse2
+FUNCTION(_sk_decal_x_sse2)
+_sk_decal_x_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  139,17                              // mov           (%ecx),%edx
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,194,224,2                        // cmpleps       %xmm0,%xmm4
+  .byte  243,15,16,106,64                    // movss         0x40(%edx),%xmm5
+  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
+  .byte  15,40,240                           // movaps        %xmm0,%xmm6
+  .byte  15,194,245,1                        // cmpltps       %xmm5,%xmm6
+  .byte  15,84,244                           // andps         %xmm4,%xmm6
+  .byte  15,17,50                            // movups        %xmm6,(%edx)
+  .byte  141,81,8                            // lea           0x8(%ecx),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  82                                  // push          %edx
+  .byte  80                                  // push          %eax
+  .byte  255,81,4                            // call          *0x4(%ecx)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_decal_y_sse2
+.globl _sk_decal_y_sse2
+FUNCTION(_sk_decal_y_sse2)
+_sk_decal_y_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  139,17                              // mov           (%ecx),%edx
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,194,225,2                        // cmpleps       %xmm1,%xmm4
+  .byte  243,15,16,106,68                    // movss         0x44(%edx),%xmm5
+  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
+  .byte  15,40,241                           // movaps        %xmm1,%xmm6
+  .byte  15,194,245,1                        // cmpltps       %xmm5,%xmm6
+  .byte  15,84,244                           // andps         %xmm4,%xmm6
+  .byte  15,17,50                            // movups        %xmm6,(%edx)
+  .byte  141,81,8                            // lea           0x8(%ecx),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  82                                  // push          %edx
+  .byte  80                                  // push          %eax
+  .byte  255,81,4                            // call          *0x4(%ecx)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_decal_x_and_y_sse2
+.globl _sk_decal_x_and_y_sse2
+FUNCTION(_sk_decal_x_and_y_sse2)
+_sk_decal_x_and_y_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  243,15,16,105,64                    // movss         0x40(%ecx),%xmm5
+  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
+  .byte  15,40,240                           // movaps        %xmm0,%xmm6
+  .byte  15,194,245,1                        // cmpltps       %xmm5,%xmm6
+  .byte  15,87,237                           // xorps         %xmm5,%xmm5
+  .byte  15,194,232,2                        // cmpleps       %xmm0,%xmm5
+  .byte  15,194,225,2                        // cmpleps       %xmm1,%xmm4
+  .byte  15,84,229                           // andps         %xmm5,%xmm4
+  .byte  243,15,16,105,68                    // movss         0x44(%ecx),%xmm5
+  .byte  15,84,230                           // andps         %xmm6,%xmm4
+  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
+  .byte  15,40,241                           // movaps        %xmm1,%xmm6
+  .byte  15,194,245,1                        // cmpltps       %xmm5,%xmm6
+  .byte  15,84,244                           // andps         %xmm4,%xmm6
+  .byte  15,17,49                            // movups        %xmm6,(%ecx)
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  141,80,8                            // lea           0x8(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_check_decal_mask_sse2
+.globl _sk_check_decal_mask_sse2
+FUNCTION(_sk_check_decal_mask_sse2)
+_sk_check_decal_mask_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  15,16,33                            // movups        (%ecx),%xmm4
+  .byte  15,84,196                           // andps         %xmm4,%xmm0
+  .byte  15,84,204                           // andps         %xmm4,%xmm1
+  .byte  15,84,212                           // andps         %xmm4,%xmm2
+  .byte  15,84,220                           // andps         %xmm4,%xmm3
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_luminance_to_alpha_sse2
+.globl _sk_luminance_to_alpha_sse2
+FUNCTION(_sk_luminance_to_alpha_sse2)
+_sk_luminance_to_alpha_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,218                           // movaps        %xmm2,%xmm3
+  .byte  232,0,0,0,0                         // call          6cdb <_sk_luminance_to_alpha_sse2+0xe>
+  .byte  88                                  // pop           %eax
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  15,89,128,5,160,0,0                 // mulps         0xa005(%eax),%xmm0
+  .byte  15,89,136,21,160,0,0                // mulps         0xa015(%eax),%xmm1
+  .byte  15,88,200                           // addps         %xmm0,%xmm1
+  .byte  15,89,152,37,160,0,0                // mulps         0xa025(%eax),%xmm3
+  .byte  15,88,217                           // addps         %xmm1,%xmm3
+  .byte  141,65,4                            // lea           0x4(%ecx),%eax
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  15,87,201                           // xorps         %xmm1,%xmm1
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  80                                  // push          %eax
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,17                              // call          *(%ecx)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_matrix_translate_sse2
+.globl _sk_matrix_translate_sse2
+FUNCTION(_sk_matrix_translate_sse2)
+_sk_matrix_translate_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  243,15,16,33                        // movss         (%ecx),%xmm4
+  .byte  243,15,16,105,4                     // movss         0x4(%ecx),%xmm5
+  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
+  .byte  15,88,196                           // addps         %xmm4,%xmm0
+  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
+  .byte  15,88,205                           // addps         %xmm5,%xmm1
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_matrix_scale_translate_sse2
+.globl _sk_matrix_scale_translate_sse2
+FUNCTION(_sk_matrix_scale_translate_sse2)
+_sk_matrix_scale_translate_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  243,15,16,33                        // movss         (%ecx),%xmm4
+  .byte  243,15,16,105,4                     // movss         0x4(%ecx),%xmm5
+  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
+  .byte  243,15,16,113,8                     // movss         0x8(%ecx),%xmm6
+  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  15,88,198                           // addps         %xmm6,%xmm0
+  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
+  .byte  243,15,16,97,12                     // movss         0xc(%ecx),%xmm4
+  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
+  .byte  15,89,205                           // mulps         %xmm5,%xmm1
+  .byte  15,88,204                           // addps         %xmm4,%xmm1
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_matrix_2x3_sse2
+.globl _sk_matrix_2x3_sse2
+FUNCTION(_sk_matrix_2x3_sse2)
+_sk_matrix_2x3_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,233                           // movaps        %xmm1,%xmm5
+  .byte  15,40,224                           // movaps        %xmm0,%xmm4
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  243,15,16,1                         // movss         (%ecx),%xmm0
+  .byte  243,15,16,73,4                      // movss         0x4(%ecx),%xmm1
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  243,15,16,113,8                     // movss         0x8(%ecx),%xmm6
+  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
+  .byte  243,15,16,121,16                    // movss         0x10(%ecx),%xmm7
+  .byte  15,198,255,0                        // shufps        $0x0,%xmm7,%xmm7
+  .byte  15,89,245                           // mulps         %xmm5,%xmm6
+  .byte  15,88,247                           // addps         %xmm7,%xmm6
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  15,88,198                           // addps         %xmm6,%xmm0
+  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
+  .byte  243,15,16,113,12                    // movss         0xc(%ecx),%xmm6
+  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
+  .byte  243,15,16,121,20                    // movss         0x14(%ecx),%xmm7
+  .byte  15,198,255,0                        // shufps        $0x0,%xmm7,%xmm7
+  .byte  15,89,245                           // mulps         %xmm5,%xmm6
+  .byte  15,88,247                           // addps         %xmm7,%xmm6
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  15,88,206                           // addps         %xmm6,%xmm1
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_matrix_3x4_sse2
+.globl _sk_matrix_3x4_sse2
+FUNCTION(_sk_matrix_3x4_sse2)
+_sk_matrix_3x4_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,224                           // movaps        %xmm0,%xmm4
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  243,15,16,1                         // movss         (%ecx),%xmm0
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  243,15,16,105,24                    // movss         0x18(%ecx),%xmm5
+  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
+  .byte  243,15,16,113,36                    // movss         0x24(%ecx),%xmm6
+  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
+  .byte  15,89,234                           // mulps         %xmm2,%xmm5
+  .byte  15,88,238                           // addps         %xmm6,%xmm5
+  .byte  243,15,16,113,12                    // movss         0xc(%ecx),%xmm6
+  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
+  .byte  15,89,241                           // mulps         %xmm1,%xmm6
+  .byte  15,88,245                           // addps         %xmm5,%xmm6
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  15,88,198                           // addps         %xmm6,%xmm0
+  .byte  243,15,16,105,28                    // movss         0x1c(%ecx),%xmm5
+  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
+  .byte  243,15,16,113,40                    // movss         0x28(%ecx),%xmm6
+  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
+  .byte  15,89,234                           // mulps         %xmm2,%xmm5
+  .byte  15,88,238                           // addps         %xmm6,%xmm5
+  .byte  243,15,16,113,16                    // movss         0x10(%ecx),%xmm6
+  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
+  .byte  15,89,241                           // mulps         %xmm1,%xmm6
+  .byte  15,88,245                           // addps         %xmm5,%xmm6
+  .byte  243,15,16,105,4                     // movss         0x4(%ecx),%xmm5
+  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
+  .byte  15,89,236                           // mulps         %xmm4,%xmm5
+  .byte  15,88,238                           // addps         %xmm6,%xmm5
+  .byte  243,15,16,113,32                    // movss         0x20(%ecx),%xmm6
+  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
+  .byte  15,89,242                           // mulps         %xmm2,%xmm6
+  .byte  243,15,16,81,44                     // movss         0x2c(%ecx),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  15,88,242                           // addps         %xmm2,%xmm6
+  .byte  243,15,16,121,20                    // movss         0x14(%ecx),%xmm7
+  .byte  15,198,255,0                        // shufps        $0x0,%xmm7,%xmm7
+  .byte  15,89,249                           // mulps         %xmm1,%xmm7
+  .byte  15,88,254                           // addps         %xmm6,%xmm7
+  .byte  243,15,16,81,8                      // movss         0x8(%ecx),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  15,89,212                           // mulps         %xmm4,%xmm2
+  .byte  15,88,215                           // addps         %xmm7,%xmm2
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,205                           // movaps        %xmm5,%xmm1
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_matrix_4x5_sse2
+.globl _sk_matrix_4x5_sse2
+FUNCTION(_sk_matrix_4x5_sse2)
+_sk_matrix_4x5_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,233                           // movaps        %xmm1,%xmm5
+  .byte  15,40,224                           // movaps        %xmm0,%xmm4
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  243,15,16,1                         // movss         (%ecx),%xmm0
+  .byte  243,15,16,73,4                      // movss         0x4(%ecx),%xmm1
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  243,15,16,113,48                    // movss         0x30(%ecx),%xmm6
+  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
+  .byte  243,15,16,121,64                    // movss         0x40(%ecx),%xmm7
+  .byte  15,198,255,0                        // shufps        $0x0,%xmm7,%xmm7
+  .byte  15,89,243                           // mulps         %xmm3,%xmm6
+  .byte  15,88,247                           // addps         %xmm7,%xmm6
+  .byte  243,15,16,121,32                    // movss         0x20(%ecx),%xmm7
+  .byte  15,198,255,0                        // shufps        $0x0,%xmm7,%xmm7
+  .byte  15,89,250                           // mulps         %xmm2,%xmm7
+  .byte  15,88,254                           // addps         %xmm6,%xmm7
+  .byte  243,15,16,113,16                    // movss         0x10(%ecx),%xmm6
+  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
+  .byte  15,89,245                           // mulps         %xmm5,%xmm6
+  .byte  15,88,247                           // addps         %xmm7,%xmm6
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  15,88,198                           // addps         %xmm6,%xmm0
+  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
+  .byte  243,15,16,113,52                    // movss         0x34(%ecx),%xmm6
+  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
+  .byte  243,15,16,121,68                    // movss         0x44(%ecx),%xmm7
+  .byte  15,198,255,0                        // shufps        $0x0,%xmm7,%xmm7
+  .byte  15,89,243                           // mulps         %xmm3,%xmm6
+  .byte  15,88,247                           // addps         %xmm7,%xmm6
+  .byte  243,15,16,121,36                    // movss         0x24(%ecx),%xmm7
+  .byte  15,198,255,0                        // shufps        $0x0,%xmm7,%xmm7
+  .byte  15,89,250                           // mulps         %xmm2,%xmm7
+  .byte  15,88,254                           // addps         %xmm6,%xmm7
+  .byte  243,15,16,113,20                    // movss         0x14(%ecx),%xmm6
+  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
+  .byte  15,89,245                           // mulps         %xmm5,%xmm6
+  .byte  15,88,247                           // addps         %xmm7,%xmm6
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  15,88,206                           // addps         %xmm6,%xmm1
+  .byte  243,15,16,113,56                    // movss         0x38(%ecx),%xmm6
+  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
+  .byte  243,15,16,121,72                    // movss         0x48(%ecx),%xmm7
+  .byte  15,198,255,0                        // shufps        $0x0,%xmm7,%xmm7
+  .byte  15,89,243                           // mulps         %xmm3,%xmm6
+  .byte  15,88,247                           // addps         %xmm7,%xmm6
+  .byte  243,15,16,121,40                    // movss         0x28(%ecx),%xmm7
+  .byte  15,198,255,0                        // shufps        $0x0,%xmm7,%xmm7
+  .byte  15,89,250                           // mulps         %xmm2,%xmm7
+  .byte  15,88,254                           // addps         %xmm6,%xmm7
+  .byte  243,15,16,113,24                    // movss         0x18(%ecx),%xmm6
+  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
+  .byte  15,89,245                           // mulps         %xmm5,%xmm6
+  .byte  15,88,247                           // addps         %xmm7,%xmm6
+  .byte  243,15,16,121,8                     // movss         0x8(%ecx),%xmm7
+  .byte  15,198,255,0                        // shufps        $0x0,%xmm7,%xmm7
+  .byte  15,89,252                           // mulps         %xmm4,%xmm7
+  .byte  15,88,254                           // addps         %xmm6,%xmm7
+  .byte  243,15,16,113,60                    // movss         0x3c(%ecx),%xmm6
+  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
+  .byte  15,89,243                           // mulps         %xmm3,%xmm6
+  .byte  243,15,16,89,76                     // movss         0x4c(%ecx),%xmm3
+  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
+  .byte  15,88,243                           // addps         %xmm3,%xmm6
+  .byte  243,15,16,89,44                     // movss         0x2c(%ecx),%xmm3
+  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
+  .byte  15,89,218                           // mulps         %xmm2,%xmm3
+  .byte  15,88,222                           // addps         %xmm6,%xmm3
+  .byte  243,15,16,81,28                     // movss         0x1c(%ecx),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  15,89,213                           // mulps         %xmm5,%xmm2
+  .byte  15,88,211                           // addps         %xmm3,%xmm2
+  .byte  243,15,16,89,12                     // movss         0xc(%ecx),%xmm3
+  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
+  .byte  15,89,220                           // mulps         %xmm4,%xmm3
+  .byte  15,88,218                           // addps         %xmm2,%xmm3
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,215                           // movaps        %xmm7,%xmm2
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_matrix_4x3_sse2
+.globl _sk_matrix_4x3_sse2
+FUNCTION(_sk_matrix_4x3_sse2)
+_sk_matrix_4x3_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,233                           // movaps        %xmm1,%xmm5
+  .byte  15,40,224                           // movaps        %xmm0,%xmm4
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  243,15,16,1                         // movss         (%ecx),%xmm0
+  .byte  243,15,16,73,4                      // movss         0x4(%ecx),%xmm1
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  243,15,16,81,16                     // movss         0x10(%ecx),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  243,15,16,89,32                     // movss         0x20(%ecx),%xmm3
+  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
+  .byte  15,89,213                           // mulps         %xmm5,%xmm2
+  .byte  15,88,211                           // addps         %xmm3,%xmm2
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  15,88,194                           // addps         %xmm2,%xmm0
+  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
+  .byte  243,15,16,81,20                     // movss         0x14(%ecx),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  243,15,16,89,36                     // movss         0x24(%ecx),%xmm3
+  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
+  .byte  15,89,213                           // mulps         %xmm5,%xmm2
+  .byte  15,88,211                           // addps         %xmm3,%xmm2
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  15,88,202                           // addps         %xmm2,%xmm1
+  .byte  243,15,16,81,8                      // movss         0x8(%ecx),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  243,15,16,89,24                     // movss         0x18(%ecx),%xmm3
+  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
+  .byte  243,15,16,113,40                    // movss         0x28(%ecx),%xmm6
+  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
+  .byte  15,89,221                           // mulps         %xmm5,%xmm3
+  .byte  15,88,222                           // addps         %xmm6,%xmm3
+  .byte  15,89,212                           // mulps         %xmm4,%xmm2
+  .byte  15,88,211                           // addps         %xmm3,%xmm2
+  .byte  243,15,16,89,12                     // movss         0xc(%ecx),%xmm3
+  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
+  .byte  243,15,16,113,28                    // movss         0x1c(%ecx),%xmm6
+  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
+  .byte  243,15,16,121,44                    // movss         0x2c(%ecx),%xmm7
+  .byte  15,198,255,0                        // shufps        $0x0,%xmm7,%xmm7
+  .byte  15,89,245                           // mulps         %xmm5,%xmm6
+  .byte  15,88,247                           // addps         %xmm7,%xmm6
+  .byte  15,89,220                           // mulps         %xmm4,%xmm3
+  .byte  15,88,222                           // addps         %xmm6,%xmm3
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_matrix_perspective_sse2
+.globl _sk_matrix_perspective_sse2
+FUNCTION(_sk_matrix_perspective_sse2)
+_sk_matrix_perspective_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,224                           // movaps        %xmm0,%xmm4
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  243,15,16,1                         // movss         (%ecx),%xmm0
+  .byte  243,15,16,105,4                     // movss         0x4(%ecx),%xmm5
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
+  .byte  243,15,16,113,8                     // movss         0x8(%ecx),%xmm6
+  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
+  .byte  15,89,233                           // mulps         %xmm1,%xmm5
+  .byte  15,88,238                           // addps         %xmm6,%xmm5
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  15,88,197                           // addps         %xmm5,%xmm0
+  .byte  243,15,16,113,16                    // movss         0x10(%ecx),%xmm6
+  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
+  .byte  243,15,16,105,20                    // movss         0x14(%ecx),%xmm5
+  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
+  .byte  15,89,241                           // mulps         %xmm1,%xmm6
+  .byte  15,88,245                           // addps         %xmm5,%xmm6
+  .byte  243,15,16,105,12                    // movss         0xc(%ecx),%xmm5
+  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
+  .byte  15,89,236                           // mulps         %xmm4,%xmm5
+  .byte  15,88,238                           // addps         %xmm6,%xmm5
+  .byte  243,15,16,113,28                    // movss         0x1c(%ecx),%xmm6
+  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
+  .byte  15,89,241                           // mulps         %xmm1,%xmm6
+  .byte  243,15,16,73,32                     // movss         0x20(%ecx),%xmm1
+  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
+  .byte  15,88,241                           // addps         %xmm1,%xmm6
+  .byte  243,15,16,73,24                     // movss         0x18(%ecx),%xmm1
+  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  15,88,206                           // addps         %xmm6,%xmm1
+  .byte  15,83,201                           // rcpps         %xmm1,%xmm1
+  .byte  15,89,193                           // mulps         %xmm1,%xmm0
+  .byte  15,89,233                           // mulps         %xmm1,%xmm5
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,205                           // movaps        %xmm5,%xmm1
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_evenly_spaced_gradient_sse2
+.globl _sk_evenly_spaced_gradient_sse2
+FUNCTION(_sk_evenly_spaced_gradient_sse2)
+_sk_evenly_spaced_gradient_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,60                          // sub           $0x3c,%esp
+  .byte  15,41,69,184                        // movaps        %xmm0,-0x48(%ebp)
+  .byte  232,0,0,0,0                         // call          7171 <_sk_evenly_spaced_gradient_sse2+0x12>
+  .byte  90                                  // pop           %edx
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  139,49                              // mov           (%ecx),%esi
+  .byte  139,65,4                            // mov           0x4(%ecx),%eax
+  .byte  78                                  // dec           %esi
+  .byte  102,15,110,206                      // movd          %esi,%xmm1
+  .byte  102,15,112,201,0                    // pshufd        $0x0,%xmm1,%xmm1
+  .byte  102,15,111,146,159,155,0,0          // movdqa        0x9b9f(%edx),%xmm2
+  .byte  102,15,219,209                      // pand          %xmm1,%xmm2
+  .byte  102,15,235,146,31,153,0,0           // por           0x991f(%edx),%xmm2
+  .byte  102,15,114,209,16                   // psrld         $0x10,%xmm1
+  .byte  102,15,235,138,175,155,0,0          // por           0x9baf(%edx),%xmm1
+  .byte  15,88,138,191,155,0,0               // addps         0x9bbf(%edx),%xmm1
+  .byte  15,88,202                           // addps         %xmm2,%xmm1
+  .byte  15,89,200                           // mulps         %xmm0,%xmm1
+  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
+  .byte  102,15,112,209,229                  // pshufd        $0xe5,%xmm1,%xmm2
+  .byte  102,15,112,217,78                   // pshufd        $0x4e,%xmm1,%xmm3
+  .byte  102,15,126,218                      // movd          %xmm3,%edx
+  .byte  102,15,112,217,231                  // pshufd        $0xe7,%xmm1,%xmm3
+  .byte  102,15,126,223                      // movd          %xmm3,%edi
+  .byte  243,15,16,28,184                    // movss         (%eax,%edi,4),%xmm3
+  .byte  243,15,16,52,144                    // movss         (%eax,%edx,4),%xmm6
+  .byte  102,15,126,206                      // movd          %xmm1,%esi
+  .byte  243,15,16,36,176                    // movss         (%eax,%esi,4),%xmm4
+  .byte  102,15,126,211                      // movd          %xmm2,%ebx
+  .byte  243,15,16,12,152                    // movss         (%eax,%ebx,4),%xmm1
+  .byte  15,20,243                           // unpcklps      %xmm3,%xmm6
+  .byte  139,65,20                           // mov           0x14(%ecx),%eax
+  .byte  243,15,16,20,184                    // movss         (%eax,%edi,4),%xmm2
+  .byte  243,15,16,28,144                    // movss         (%eax,%edx,4),%xmm3
+  .byte  243,15,16,4,176                     // movss         (%eax,%esi,4),%xmm0
+  .byte  243,15,16,60,152                    // movss         (%eax,%ebx,4),%xmm7
+  .byte  15,20,225                           // unpcklps      %xmm1,%xmm4
+  .byte  102,15,20,230                       // unpcklpd      %xmm6,%xmm4
+  .byte  15,20,218                           // unpcklps      %xmm2,%xmm3
+  .byte  15,20,199                           // unpcklps      %xmm7,%xmm0
+  .byte  139,65,8                            // mov           0x8(%ecx),%eax
+  .byte  243,15,16,20,184                    // movss         (%eax,%edi,4),%xmm2
+  .byte  243,15,16,52,144                    // movss         (%eax,%edx,4),%xmm6
+  .byte  243,15,16,12,176                    // movss         (%eax,%esi,4),%xmm1
+  .byte  243,15,16,60,152                    // movss         (%eax,%ebx,4),%xmm7
+  .byte  102,15,20,195                       // unpcklpd      %xmm3,%xmm0
+  .byte  102,15,41,69,200                    // movapd        %xmm0,-0x38(%ebp)
+  .byte  15,20,242                           // unpcklps      %xmm2,%xmm6
+  .byte  15,20,207                           // unpcklps      %xmm7,%xmm1
+  .byte  102,15,20,206                       // unpcklpd      %xmm6,%xmm1
+  .byte  139,65,24                           // mov           0x18(%ecx),%eax
+  .byte  243,15,16,20,184                    // movss         (%eax,%edi,4),%xmm2
+  .byte  243,15,16,28,144                    // movss         (%eax,%edx,4),%xmm3
+  .byte  243,15,16,4,176                     // movss         (%eax,%esi,4),%xmm0
+  .byte  243,15,16,60,152                    // movss         (%eax,%ebx,4),%xmm7
+  .byte  15,20,218                           // unpcklps      %xmm2,%xmm3
+  .byte  15,20,199                           // unpcklps      %xmm7,%xmm0
+  .byte  102,15,20,195                       // unpcklpd      %xmm3,%xmm0
+  .byte  102,15,41,69,216                    // movapd        %xmm0,-0x28(%ebp)
+  .byte  139,65,12                           // mov           0xc(%ecx),%eax
+  .byte  243,15,16,20,184                    // movss         (%eax,%edi,4),%xmm2
+  .byte  243,15,16,28,144                    // movss         (%eax,%edx,4),%xmm3
+  .byte  15,20,218                           // unpcklps      %xmm2,%xmm3
+  .byte  243,15,16,20,176                    // movss         (%eax,%esi,4),%xmm2
+  .byte  243,15,16,60,152                    // movss         (%eax,%ebx,4),%xmm7
+  .byte  15,20,215                           // unpcklps      %xmm7,%xmm2
+  .byte  102,15,20,211                       // unpcklpd      %xmm3,%xmm2
+  .byte  139,65,28                           // mov           0x1c(%ecx),%eax
+  .byte  243,15,16,60,184                    // movss         (%eax,%edi,4),%xmm7
+  .byte  243,15,16,28,144                    // movss         (%eax,%edx,4),%xmm3
+  .byte  15,20,223                           // unpcklps      %xmm7,%xmm3
+  .byte  243,15,16,60,176                    // movss         (%eax,%esi,4),%xmm7
+  .byte  243,15,16,44,152                    // movss         (%eax,%ebx,4),%xmm5
+  .byte  15,20,253                           // unpcklps      %xmm5,%xmm7
+  .byte  102,15,20,251                       // unpcklpd      %xmm3,%xmm7
+  .byte  139,65,16                           // mov           0x10(%ecx),%eax
+  .byte  243,15,16,28,184                    // movss         (%eax,%edi,4),%xmm3
+  .byte  243,15,16,44,144                    // movss         (%eax,%edx,4),%xmm5
+  .byte  15,20,235                           // unpcklps      %xmm3,%xmm5
+  .byte  243,15,16,28,176                    // movss         (%eax,%esi,4),%xmm3
+  .byte  243,15,16,4,152                     // movss         (%eax,%ebx,4),%xmm0
+  .byte  15,20,216                           // unpcklps      %xmm0,%xmm3
+  .byte  102,15,20,221                       // unpcklpd      %xmm5,%xmm3
+  .byte  139,65,32                           // mov           0x20(%ecx),%eax
+  .byte  243,15,16,4,184                     // movss         (%eax,%edi,4),%xmm0
+  .byte  243,15,16,44,144                    // movss         (%eax,%edx,4),%xmm5
+  .byte  15,20,232                           // unpcklps      %xmm0,%xmm5
+  .byte  243,15,16,4,176                     // movss         (%eax,%esi,4),%xmm0
+  .byte  243,15,16,52,152                    // movss         (%eax,%ebx,4),%xmm6
+  .byte  15,20,198                           // unpcklps      %xmm6,%xmm0
+  .byte  102,15,20,197                       // unpcklpd      %xmm5,%xmm0
+  .byte  15,40,109,184                       // movaps        -0x48(%ebp),%xmm5
+  .byte  15,89,229                           // mulps         %xmm5,%xmm4
+  .byte  15,88,101,200                       // addps         -0x38(%ebp),%xmm4
+  .byte  15,89,205                           // mulps         %xmm5,%xmm1
+  .byte  15,88,77,216                        // addps         -0x28(%ebp),%xmm1
+  .byte  15,89,213                           // mulps         %xmm5,%xmm2
+  .byte  15,88,215                           // addps         %xmm7,%xmm2
+  .byte  15,89,221                           // mulps         %xmm5,%xmm3
+  .byte  15,88,216                           // addps         %xmm0,%xmm3
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  141,65,8                            // lea           0x8(%ecx),%eax
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,196                           // movaps        %xmm4,%xmm0
+  .byte  80                                  // push          %eax
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,81,4                            // call          *0x4(%ecx)
+  .byte  131,196,76                          // add           $0x4c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_gradient_sse2
+.globl _sk_gradient_sse2
+FUNCTION(_sk_gradient_sse2)
+_sk_gradient_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,60                          // sub           $0x3c,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,16                              // mov           (%eax),%edx
+  .byte  139,10                              // mov           (%edx),%ecx
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  131,249,2                           // cmp           $0x2,%ecx
+  .byte  114,33                              // jb            7359 <_sk_gradient_sse2+0x3a>
+  .byte  139,114,36                          // mov           0x24(%edx),%esi
+  .byte  73                                  // dec           %ecx
+  .byte  131,198,4                           // add           $0x4,%esi
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  243,15,16,22                        // movss         (%esi),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  15,194,208,2                        // cmpleps       %xmm0,%xmm2
+  .byte  102,15,250,202                      // psubd         %xmm2,%xmm1
+  .byte  131,198,4                           // add           $0x4,%esi
+  .byte  73                                  // dec           %ecx
+  .byte  117,234                             // jne           7343 <_sk_gradient_sse2+0x24>
+  .byte  102,15,126,206                      // movd          %xmm1,%esi
+  .byte  102,15,112,209,229                  // pshufd        $0xe5,%xmm1,%xmm2
+  .byte  102,15,112,217,78                   // pshufd        $0x4e,%xmm1,%xmm3
+  .byte  102,15,126,223                      // movd          %xmm3,%edi
+  .byte  102,15,112,201,231                  // pshufd        $0xe7,%xmm1,%xmm1
+  .byte  102,15,126,203                      // movd          %xmm1,%ebx
+  .byte  139,66,4                            // mov           0x4(%edx),%eax
+  .byte  243,15,16,12,152                    // movss         (%eax,%ebx,4),%xmm1
+  .byte  243,15,16,28,184                    // movss         (%eax,%edi,4),%xmm3
+  .byte  243,15,16,36,176                    // movss         (%eax,%esi,4),%xmm4
+  .byte  102,15,126,209                      // movd          %xmm2,%ecx
+  .byte  243,15,16,20,136                    // movss         (%eax,%ecx,4),%xmm2
+  .byte  15,20,217                           // unpcklps      %xmm1,%xmm3
+  .byte  139,66,20                           // mov           0x14(%edx),%eax
+  .byte  243,15,16,12,152                    // movss         (%eax,%ebx,4),%xmm1
+  .byte  243,15,16,52,184                    // movss         (%eax,%edi,4),%xmm6
+  .byte  243,15,16,44,176                    // movss         (%eax,%esi,4),%xmm5
+  .byte  243,15,16,60,136                    // movss         (%eax,%ecx,4),%xmm7
+  .byte  15,20,226                           // unpcklps      %xmm2,%xmm4
+  .byte  102,15,20,227                       // unpcklpd      %xmm3,%xmm4
+  .byte  102,15,41,101,184                   // movapd        %xmm4,-0x48(%ebp)
+  .byte  15,20,241                           // unpcklps      %xmm1,%xmm6
+  .byte  15,20,239                           // unpcklps      %xmm7,%xmm5
+  .byte  139,66,8                            // mov           0x8(%edx),%eax
+  .byte  243,15,16,20,152                    // movss         (%eax,%ebx,4),%xmm2
+  .byte  243,15,16,28,184                    // movss         (%eax,%edi,4),%xmm3
+  .byte  243,15,16,12,176                    // movss         (%eax,%esi,4),%xmm1
+  .byte  243,15,16,60,136                    // movss         (%eax,%ecx,4),%xmm7
+  .byte  102,15,20,238                       // unpcklpd      %xmm6,%xmm5
+  .byte  102,15,41,109,200                   // movapd        %xmm5,-0x38(%ebp)
+  .byte  15,20,218                           // unpcklps      %xmm2,%xmm3
+  .byte  15,20,207                           // unpcklps      %xmm7,%xmm1
+  .byte  102,15,20,203                       // unpcklpd      %xmm3,%xmm1
+  .byte  139,66,24                           // mov           0x18(%edx),%eax
+  .byte  243,15,16,20,152                    // movss         (%eax,%ebx,4),%xmm2
+  .byte  243,15,16,28,184                    // movss         (%eax,%edi,4),%xmm3
+  .byte  243,15,16,36,176                    // movss         (%eax,%esi,4),%xmm4
+  .byte  243,15,16,60,136                    // movss         (%eax,%ecx,4),%xmm7
+  .byte  15,20,218                           // unpcklps      %xmm2,%xmm3
+  .byte  15,20,231                           // unpcklps      %xmm7,%xmm4
+  .byte  102,15,20,227                       // unpcklpd      %xmm3,%xmm4
+  .byte  102,15,41,101,216                   // movapd        %xmm4,-0x28(%ebp)
+  .byte  139,66,12                           // mov           0xc(%edx),%eax
+  .byte  243,15,16,20,152                    // movss         (%eax,%ebx,4),%xmm2
+  .byte  243,15,16,28,184                    // movss         (%eax,%edi,4),%xmm3
+  .byte  15,20,218                           // unpcklps      %xmm2,%xmm3
+  .byte  243,15,16,20,176                    // movss         (%eax,%esi,4),%xmm2
+  .byte  243,15,16,60,136                    // movss         (%eax,%ecx,4),%xmm7
+  .byte  15,20,215                           // unpcklps      %xmm7,%xmm2
+  .byte  102,15,20,211                       // unpcklpd      %xmm3,%xmm2
+  .byte  139,66,28                           // mov           0x1c(%edx),%eax
+  .byte  243,15,16,60,152                    // movss         (%eax,%ebx,4),%xmm7
+  .byte  243,15,16,28,184                    // movss         (%eax,%edi,4),%xmm3
+  .byte  15,20,223                           // unpcklps      %xmm7,%xmm3
+  .byte  243,15,16,60,176                    // movss         (%eax,%esi,4),%xmm7
+  .byte  243,15,16,44,136                    // movss         (%eax,%ecx,4),%xmm5
+  .byte  15,20,253                           // unpcklps      %xmm5,%xmm7
+  .byte  102,15,20,251                       // unpcklpd      %xmm3,%xmm7
+  .byte  139,66,16                           // mov           0x10(%edx),%eax
+  .byte  243,15,16,28,152                    // movss         (%eax,%ebx,4),%xmm3
+  .byte  243,15,16,44,184                    // movss         (%eax,%edi,4),%xmm5
+  .byte  15,20,235                           // unpcklps      %xmm3,%xmm5
+  .byte  243,15,16,28,176                    // movss         (%eax,%esi,4),%xmm3
+  .byte  243,15,16,52,136                    // movss         (%eax,%ecx,4),%xmm6
+  .byte  15,20,222                           // unpcklps      %xmm6,%xmm3
+  .byte  102,15,20,221                       // unpcklpd      %xmm5,%xmm3
+  .byte  139,66,32                           // mov           0x20(%edx),%eax
+  .byte  243,15,16,44,152                    // movss         (%eax,%ebx,4),%xmm5
+  .byte  243,15,16,52,184                    // movss         (%eax,%edi,4),%xmm6
+  .byte  15,20,245                           // unpcklps      %xmm5,%xmm6
+  .byte  243,15,16,44,176                    // movss         (%eax,%esi,4),%xmm5
+  .byte  243,15,16,36,136                    // movss         (%eax,%ecx,4),%xmm4
+  .byte  15,20,236                           // unpcklps      %xmm4,%xmm5
+  .byte  102,15,20,238                       // unpcklpd      %xmm6,%xmm5
+  .byte  15,40,101,184                       // movaps        -0x48(%ebp),%xmm4
+  .byte  15,89,224                           // mulps         %xmm0,%xmm4
+  .byte  15,88,101,200                       // addps         -0x38(%ebp),%xmm4
+  .byte  15,89,200                           // mulps         %xmm0,%xmm1
+  .byte  15,88,77,216                        // addps         -0x28(%ebp),%xmm1
+  .byte  15,89,208                           // mulps         %xmm0,%xmm2
+  .byte  15,88,215                           // addps         %xmm7,%xmm2
+  .byte  15,89,216                           // mulps         %xmm0,%xmm3
+  .byte  15,88,221                           // addps         %xmm5,%xmm3
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  137,193                             // mov           %eax,%ecx
+  .byte  141,65,8                            // lea           0x8(%ecx),%eax
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,196                           // movaps        %xmm4,%xmm0
+  .byte  80                                  // push          %eax
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,81,4                            // call          *0x4(%ecx)
+  .byte  131,196,76                          // add           $0x4c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_evenly_spaced_2_stop_gradient_sse2
+.globl _sk_evenly_spaced_2_stop_gradient_sse2
+FUNCTION(_sk_evenly_spaced_2_stop_gradient_sse2)
+_sk_evenly_spaced_2_stop_gradient_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,224                           // movaps        %xmm0,%xmm4
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  243,15,16,1                         // movss         (%ecx),%xmm0
+  .byte  243,15,16,73,4                      // movss         0x4(%ecx),%xmm1
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  243,15,16,81,16                     // movss         0x10(%ecx),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  15,88,194                           // addps         %xmm2,%xmm0
+  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
+  .byte  243,15,16,81,20                     // movss         0x14(%ecx),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  15,88,202                           // addps         %xmm2,%xmm1
+  .byte  243,15,16,81,8                      // movss         0x8(%ecx),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  243,15,16,89,24                     // movss         0x18(%ecx),%xmm3
+  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
+  .byte  15,89,212                           // mulps         %xmm4,%xmm2
+  .byte  15,88,211                           // addps         %xmm3,%xmm2
+  .byte  243,15,16,89,12                     // movss         0xc(%ecx),%xmm3
+  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
+  .byte  243,15,16,105,28                    // movss         0x1c(%ecx),%xmm5
+  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
+  .byte  15,89,220                           // mulps         %xmm4,%xmm3
+  .byte  15,88,221                           // addps         %xmm5,%xmm3
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_xy_to_unit_angle_sse2
+.globl _sk_xy_to_unit_angle_sse2
+FUNCTION(_sk_xy_to_unit_angle_sse2)
+_sk_xy_to_unit_angle_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,24                          // sub           $0x18,%esp
+  .byte  15,41,93,232                        // movaps        %xmm3,-0x18(%ebp)
+  .byte  15,40,218                           // movaps        %xmm2,%xmm3
+  .byte  15,40,209                           // movaps        %xmm1,%xmm2
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  232,0,0,0,0                         // call          7561 <_sk_xy_to_unit_angle_sse2+0x18>
+  .byte  88                                  // pop           %eax
+  .byte  15,87,237                           // xorps         %xmm5,%xmm5
+  .byte  15,92,233                           // subps         %xmm1,%xmm5
+  .byte  15,84,233                           // andps         %xmm1,%xmm5
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,92,226                           // subps         %xmm2,%xmm4
+  .byte  15,84,226                           // andps         %xmm2,%xmm4
+  .byte  15,40,245                           // movaps        %xmm5,%xmm6
+  .byte  15,93,244                           // minps         %xmm4,%xmm6
+  .byte  15,40,253                           // movaps        %xmm5,%xmm7
+  .byte  15,95,252                           // maxps         %xmm4,%xmm7
+  .byte  15,94,247                           // divps         %xmm7,%xmm6
+  .byte  15,40,254                           // movaps        %xmm6,%xmm7
+  .byte  15,89,255                           // mulps         %xmm7,%xmm7
+  .byte  15,40,128,223,151,0,0               // movaps        0x97df(%eax),%xmm0
+  .byte  15,89,199                           // mulps         %xmm7,%xmm0
+  .byte  15,88,128,239,151,0,0               // addps         0x97ef(%eax),%xmm0
+  .byte  15,89,199                           // mulps         %xmm7,%xmm0
+  .byte  15,88,128,255,151,0,0               // addps         0x97ff(%eax),%xmm0
+  .byte  15,89,199                           // mulps         %xmm7,%xmm0
+  .byte  15,88,128,15,152,0,0                // addps         0x980f(%eax),%xmm0
+  .byte  15,89,198                           // mulps         %xmm6,%xmm0
+  .byte  15,194,236,1                        // cmpltps       %xmm4,%xmm5
+  .byte  15,40,176,31,152,0,0                // movaps        0x981f(%eax),%xmm6
+  .byte  15,92,240                           // subps         %xmm0,%xmm6
+  .byte  15,84,245                           // andps         %xmm5,%xmm6
+  .byte  15,85,232                           // andnps        %xmm0,%xmm5
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,86,238                           // orps          %xmm6,%xmm5
+  .byte  15,194,204,1                        // cmpltps       %xmm4,%xmm1
+  .byte  15,40,128,239,145,0,0               // movaps        0x91ef(%eax),%xmm0
+  .byte  15,92,197                           // subps         %xmm5,%xmm0
+  .byte  15,84,193                           // andps         %xmm1,%xmm0
+  .byte  15,85,205                           // andnps        %xmm5,%xmm1
+  .byte  15,86,200                           // orps          %xmm0,%xmm1
+  .byte  15,40,194                           // movaps        %xmm2,%xmm0
+  .byte  15,194,196,1                        // cmpltps       %xmm4,%xmm0
+  .byte  15,40,168,255,145,0,0               // movaps        0x91ff(%eax),%xmm5
+  .byte  15,92,233                           // subps         %xmm1,%xmm5
+  .byte  15,84,232                           // andps         %xmm0,%xmm5
+  .byte  15,85,193                           // andnps        %xmm1,%xmm0
+  .byte  15,86,197                           // orps          %xmm5,%xmm0
+  .byte  15,194,224,7                        // cmpordps      %xmm0,%xmm4
+  .byte  15,84,224                           // andps         %xmm0,%xmm4
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  141,72,4                            // lea           0x4(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,196                           // movaps        %xmm4,%xmm0
+  .byte  15,40,202                           // movaps        %xmm2,%xmm1
+  .byte  15,40,211                           // movaps        %xmm3,%xmm2
+  .byte  15,40,93,232                        // movaps        -0x18(%ebp),%xmm3
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,16                              // call          *(%eax)
+  .byte  131,196,40                          // add           $0x28,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_xy_to_radius_sse2
+.globl _sk_xy_to_radius_sse2
+FUNCTION(_sk_xy_to_radius_sse2)
+_sk_xy_to_radius_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  15,89,192                           // mulps         %xmm0,%xmm0
+  .byte  15,40,225                           // movaps        %xmm1,%xmm4
+  .byte  15,89,228                           // mulps         %xmm4,%xmm4
+  .byte  15,88,224                           // addps         %xmm0,%xmm4
+  .byte  15,81,196                           // sqrtps        %xmm4,%xmm0
+  .byte  141,72,4                            // lea           0x4(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,16                              // call          *(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_negate_x_sse2
+.globl _sk_negate_x_sse2
+FUNCTION(_sk_negate_x_sse2)
+_sk_negate_x_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  232,0,0,0,0                         // call          7658 <_sk_negate_x_sse2+0xb>
+  .byte  88                                  // pop           %eax
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  15,87,128,56,150,0,0                // xorps         0x9638(%eax),%xmm0
+  .byte  141,65,4                            // lea           0x4(%ecx),%eax
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  80                                  // push          %eax
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,17                              // call          *(%ecx)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_xy_to_2pt_conical_strip_sse2
+.globl _sk_xy_to_2pt_conical_strip_sse2
+FUNCTION(_sk_xy_to_2pt_conical_strip_sse2)
+_sk_xy_to_2pt_conical_strip_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  243,15,16,97,64                     // movss         0x40(%ecx),%xmm4
+  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
+  .byte  15,40,233                           // movaps        %xmm1,%xmm5
+  .byte  15,89,237                           // mulps         %xmm5,%xmm5
+  .byte  15,92,229                           // subps         %xmm5,%xmm4
+  .byte  15,81,228                           // sqrtps        %xmm4,%xmm4
+  .byte  15,88,196                           // addps         %xmm4,%xmm0
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_xy_to_2pt_conical_focal_on_circle_sse2
+.globl _sk_xy_to_2pt_conical_focal_on_circle_sse2
+FUNCTION(_sk_xy_to_2pt_conical_focal_on_circle_sse2)
+_sk_xy_to_2pt_conical_focal_on_circle_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  15,40,225                           // movaps        %xmm1,%xmm4
+  .byte  15,89,228                           // mulps         %xmm4,%xmm4
+  .byte  15,94,224                           // divps         %xmm0,%xmm4
+  .byte  15,88,196                           // addps         %xmm4,%xmm0
+  .byte  141,72,4                            // lea           0x4(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,16                              // call          *(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_xy_to_2pt_conical_well_behaved_sse2
+.globl _sk_xy_to_2pt_conical_well_behaved_sse2
+FUNCTION(_sk_xy_to_2pt_conical_well_behaved_sse2)
+_sk_xy_to_2pt_conical_well_behaved_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  243,15,16,97,64                     // movss         0x40(%ecx),%xmm4
+  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
+  .byte  15,89,224                           // mulps         %xmm0,%xmm4
+  .byte  15,89,192                           // mulps         %xmm0,%xmm0
+  .byte  15,40,233                           // movaps        %xmm1,%xmm5
+  .byte  15,89,237                           // mulps         %xmm5,%xmm5
+  .byte  15,88,232                           // addps         %xmm0,%xmm5
+  .byte  15,81,197                           // sqrtps        %xmm5,%xmm0
+  .byte  15,92,196                           // subps         %xmm4,%xmm0
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_xy_to_2pt_conical_greater_sse2
+.globl _sk_xy_to_2pt_conical_greater_sse2
+FUNCTION(_sk_xy_to_2pt_conical_greater_sse2)
+_sk_xy_to_2pt_conical_greater_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  243,15,16,97,64                     // movss         0x40(%ecx),%xmm4
+  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
+  .byte  15,89,224                           // mulps         %xmm0,%xmm4
+  .byte  15,89,192                           // mulps         %xmm0,%xmm0
+  .byte  15,40,233                           // movaps        %xmm1,%xmm5
+  .byte  15,89,237                           // mulps         %xmm5,%xmm5
+  .byte  15,92,197                           // subps         %xmm5,%xmm0
+  .byte  15,81,192                           // sqrtps        %xmm0,%xmm0
+  .byte  15,92,196                           // subps         %xmm4,%xmm0
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_xy_to_2pt_conical_smaller_sse2
+.globl _sk_xy_to_2pt_conical_smaller_sse2
+FUNCTION(_sk_xy_to_2pt_conical_smaller_sse2)
+_sk_xy_to_2pt_conical_smaller_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  232,0,0,0,0                         // call          7750 <_sk_xy_to_2pt_conical_smaller_sse2+0xb>
+  .byte  88                                  // pop           %eax
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  139,17                              // mov           (%ecx),%edx
+  .byte  243,15,16,98,64                     // movss         0x40(%edx),%xmm4
+  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
+  .byte  15,89,224                           // mulps         %xmm0,%xmm4
+  .byte  15,89,192                           // mulps         %xmm0,%xmm0
+  .byte  15,40,233                           // movaps        %xmm1,%xmm5
+  .byte  15,89,237                           // mulps         %xmm5,%xmm5
+  .byte  15,92,197                           // subps         %xmm5,%xmm0
+  .byte  15,81,192                           // sqrtps        %xmm0,%xmm0
+  .byte  15,87,128,64,149,0,0                // xorps         0x9540(%eax),%xmm0
+  .byte  15,92,196                           // subps         %xmm4,%xmm0
+  .byte  141,65,8                            // lea           0x8(%ecx),%eax
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  80                                  // push          %eax
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,81,4                            // call          *0x4(%ecx)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_alter_2pt_conical_compensate_focal_sse2
+.globl _sk_alter_2pt_conical_compensate_focal_sse2
+FUNCTION(_sk_alter_2pt_conical_compensate_focal_sse2)
+_sk_alter_2pt_conical_compensate_focal_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  243,15,16,97,68                     // movss         0x44(%ecx),%xmm4
+  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
+  .byte  15,88,196                           // addps         %xmm4,%xmm0
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_alter_2pt_conical_unswap_sse2
+.globl _sk_alter_2pt_conical_unswap_sse2
+FUNCTION(_sk_alter_2pt_conical_unswap_sse2)
+_sk_alter_2pt_conical_unswap_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  232,0,0,0,0                         // call          77c1 <_sk_alter_2pt_conical_unswap_sse2+0xb>
+  .byte  88                                  // pop           %eax
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  15,40,160,159,143,0,0               // movaps        0x8f9f(%eax),%xmm4
+  .byte  15,92,224                           // subps         %xmm0,%xmm4
+  .byte  141,65,4                            // lea           0x4(%ecx),%eax
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,196                           // movaps        %xmm4,%xmm0
+  .byte  80                                  // push          %eax
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,17                              // call          *(%ecx)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_mask_2pt_conical_nan_sse2
+.globl _sk_mask_2pt_conical_nan_sse2
+FUNCTION(_sk_mask_2pt_conical_nan_sse2)
+_sk_mask_2pt_conical_nan_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  139,17                              // mov           (%ecx),%edx
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,194,224,7                        // cmpordps      %xmm0,%xmm4
+  .byte  15,17,34                            // movups        %xmm4,(%edx)
+  .byte  141,81,8                            // lea           0x8(%ecx),%edx
+  .byte  15,84,196                           // andps         %xmm4,%xmm0
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  82                                  // push          %edx
+  .byte  80                                  // push          %eax
+  .byte  255,81,4                            // call          *0x4(%ecx)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_mask_2pt_conical_degenerates_sse2
+.globl _sk_mask_2pt_conical_degenerates_sse2
+FUNCTION(_sk_mask_2pt_conical_degenerates_sse2)
+_sk_mask_2pt_conical_degenerates_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  139,17                              // mov           (%ecx),%edx
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,87,237                           // xorps         %xmm5,%xmm5
+  .byte  15,194,232,1                        // cmpltps       %xmm0,%xmm5
+  .byte  15,17,42                            // movups        %xmm5,(%edx)
+  .byte  141,81,8                            // lea           0x8(%ecx),%edx
+  .byte  15,95,196                           // maxps         %xmm4,%xmm0
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  82                                  // push          %edx
+  .byte  80                                  // push          %eax
+  .byte  255,81,4                            // call          *0x4(%ecx)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_apply_vector_mask_sse2
+.globl _sk_apply_vector_mask_sse2
+FUNCTION(_sk_apply_vector_mask_sse2)
+_sk_apply_vector_mask_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  15,16,33                            // movups        (%ecx),%xmm4
+  .byte  15,84,196                           // andps         %xmm4,%xmm0
+  .byte  15,84,204                           // andps         %xmm4,%xmm1
+  .byte  15,84,212                           // andps         %xmm4,%xmm2
+  .byte  15,84,220                           // andps         %xmm4,%xmm3
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_save_xy_sse2
+.globl _sk_save_xy_sse2
+FUNCTION(_sk_save_xy_sse2)
+_sk_save_xy_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,24                          // sub           $0x18,%esp
+  .byte  15,41,93,232                        // movaps        %xmm3,-0x18(%ebp)
+  .byte  15,40,218                           // movaps        %xmm2,%xmm3
+  .byte  232,0,0,0,0                         // call          787a <_sk_save_xy_sse2+0x12>
+  .byte  88                                  // pop           %eax
+  .byte  15,40,160,214,142,0,0               // movaps        0x8ed6(%eax),%xmm4
+  .byte  15,40,232                           // movaps        %xmm0,%xmm5
+  .byte  15,88,236                           // addps         %xmm4,%xmm5
+  .byte  243,15,91,245                       // cvttps2dq     %xmm5,%xmm6
+  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
+  .byte  15,40,253                           // movaps        %xmm5,%xmm7
+  .byte  15,194,254,1                        // cmpltps       %xmm6,%xmm7
+  .byte  15,40,144,230,142,0,0               // movaps        0x8ee6(%eax),%xmm2
+  .byte  15,84,250                           // andps         %xmm2,%xmm7
+  .byte  15,92,247                           // subps         %xmm7,%xmm6
+  .byte  15,92,238                           // subps         %xmm6,%xmm5
+  .byte  15,88,225                           // addps         %xmm1,%xmm4
+  .byte  243,15,91,244                       // cvttps2dq     %xmm4,%xmm6
+  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
+  .byte  15,40,252                           // movaps        %xmm4,%xmm7
+  .byte  15,194,254,1                        // cmpltps       %xmm6,%xmm7
+  .byte  15,84,250                           // andps         %xmm2,%xmm7
+  .byte  15,92,247                           // subps         %xmm7,%xmm6
+  .byte  15,92,230                           // subps         %xmm6,%xmm4
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  15,17,1                             // movups        %xmm0,(%ecx)
+  .byte  15,17,73,64                         // movups        %xmm1,0x40(%ecx)
+  .byte  15,17,169,128,0,0,0                 // movups        %xmm5,0x80(%ecx)
+  .byte  15,17,161,192,0,0,0                 // movups        %xmm4,0xc0(%ecx)
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  141,80,8                            // lea           0x8(%eax),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,211                           // movaps        %xmm3,%xmm2
+  .byte  15,40,93,232                        // movaps        -0x18(%ebp),%xmm3
+  .byte  82                                  // push          %edx
+  .byte  81                                  // push          %ecx
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,40                          // add           $0x28,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_accumulate_sse2
+.globl _sk_accumulate_sse2
+FUNCTION(_sk_accumulate_sse2)
+_sk_accumulate_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  139,17                              // mov           (%ecx),%edx
+  .byte  15,16,162,0,1,0,0                   // movups        0x100(%edx),%xmm4
+  .byte  15,16,170,64,1,0,0                  // movups        0x140(%edx),%xmm5
+  .byte  15,89,236                           // mulps         %xmm4,%xmm5
+  .byte  15,40,229                           // movaps        %xmm5,%xmm4
+  .byte  15,89,224                           // mulps         %xmm0,%xmm4
+  .byte  15,88,96,16                         // addps         0x10(%eax),%xmm4
+  .byte  15,41,96,16                         // movaps        %xmm4,0x10(%eax)
+  .byte  15,40,229                           // movaps        %xmm5,%xmm4
+  .byte  15,89,225                           // mulps         %xmm1,%xmm4
+  .byte  15,88,96,32                         // addps         0x20(%eax),%xmm4
+  .byte  15,41,96,32                         // movaps        %xmm4,0x20(%eax)
+  .byte  15,40,229                           // movaps        %xmm5,%xmm4
+  .byte  15,89,226                           // mulps         %xmm2,%xmm4
+  .byte  15,88,96,48                         // addps         0x30(%eax),%xmm4
+  .byte  15,41,96,48                         // movaps        %xmm4,0x30(%eax)
+  .byte  15,89,235                           // mulps         %xmm3,%xmm5
+  .byte  15,88,104,64                        // addps         0x40(%eax),%xmm5
+  .byte  15,41,104,64                        // movaps        %xmm5,0x40(%eax)
+  .byte  141,81,8                            // lea           0x8(%ecx),%edx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  82                                  // push          %edx
+  .byte  80                                  // push          %eax
+  .byte  255,81,4                            // call          *0x4(%ecx)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_bilinear_nx_sse2
+.globl _sk_bilinear_nx_sse2
+FUNCTION(_sk_bilinear_nx_sse2)
+_sk_bilinear_nx_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  86                                  // push          %esi
+  .byte  80                                  // push          %eax
+  .byte  232,0,0,0,0                         // call          7962 <_sk_bilinear_nx_sse2+0xa>
+  .byte  88                                  // pop           %eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,85,12                           // mov           0xc(%ebp),%edx
+  .byte  139,50                              // mov           (%edx),%esi
+  .byte  15,16,6                             // movups        (%esi),%xmm0
+  .byte  15,16,166,128,0,0,0                 // movups        0x80(%esi),%xmm4
+  .byte  15,88,128,46,148,0,0                // addps         0x942e(%eax),%xmm0
+  .byte  15,40,168,254,141,0,0               // movaps        0x8dfe(%eax),%xmm5
+  .byte  15,92,236                           // subps         %xmm4,%xmm5
+  .byte  15,17,174,0,1,0,0                   // movups        %xmm5,0x100(%esi)
+  .byte  141,66,8                            // lea           0x8(%edx),%eax
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  80                                  // push          %eax
+  .byte  81                                  // push          %ecx
+  .byte  255,82,4                            // call          *0x4(%edx)
+  .byte  131,196,20                          // add           $0x14,%esp
+  .byte  94                                  // pop           %esi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_bilinear_px_sse2
+.globl _sk_bilinear_px_sse2
+FUNCTION(_sk_bilinear_px_sse2)
+_sk_bilinear_px_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  86                                  // push          %esi
+  .byte  80                                  // push          %eax
+  .byte  232,0,0,0,0                         // call          79a8 <_sk_bilinear_px_sse2+0xa>
+  .byte  88                                  // pop           %eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,85,12                           // mov           0xc(%ebp),%edx
+  .byte  139,50                              // mov           (%edx),%esi
+  .byte  15,16,6                             // movups        (%esi),%xmm0
+  .byte  15,16,166,128,0,0,0                 // movups        0x80(%esi),%xmm4
+  .byte  15,88,128,168,141,0,0               // addps         0x8da8(%eax),%xmm0
+  .byte  15,17,166,0,1,0,0                   // movups        %xmm4,0x100(%esi)
+  .byte  141,66,8                            // lea           0x8(%edx),%eax
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  80                                  // push          %eax
+  .byte  81                                  // push          %ecx
+  .byte  255,82,4                            // call          *0x4(%edx)
+  .byte  131,196,20                          // add           $0x14,%esp
+  .byte  94                                  // pop           %esi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_bilinear_ny_sse2
+.globl _sk_bilinear_ny_sse2
+FUNCTION(_sk_bilinear_ny_sse2)
+_sk_bilinear_ny_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  86                                  // push          %esi
+  .byte  80                                  // push          %eax
+  .byte  232,0,0,0,0                         // call          79e4 <_sk_bilinear_ny_sse2+0xa>
+  .byte  88                                  // pop           %eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,85,12                           // mov           0xc(%ebp),%edx
+  .byte  139,50                              // mov           (%edx),%esi
+  .byte  15,16,78,64                         // movups        0x40(%esi),%xmm1
+  .byte  15,16,166,192,0,0,0                 // movups        0xc0(%esi),%xmm4
+  .byte  15,88,136,172,147,0,0               // addps         0x93ac(%eax),%xmm1
+  .byte  15,40,168,124,141,0,0               // movaps        0x8d7c(%eax),%xmm5
+  .byte  15,92,236                           // subps         %xmm4,%xmm5
+  .byte  15,17,174,64,1,0,0                  // movups        %xmm5,0x140(%esi)
+  .byte  141,66,8                            // lea           0x8(%edx),%eax
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  80                                  // push          %eax
+  .byte  81                                  // push          %ecx
+  .byte  255,82,4                            // call          *0x4(%edx)
+  .byte  131,196,20                          // add           $0x14,%esp
+  .byte  94                                  // pop           %esi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_bilinear_py_sse2
+.globl _sk_bilinear_py_sse2
+FUNCTION(_sk_bilinear_py_sse2)
+_sk_bilinear_py_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  86                                  // push          %esi
+  .byte  80                                  // push          %eax
+  .byte  232,0,0,0,0                         // call          7a2b <_sk_bilinear_py_sse2+0xa>
+  .byte  88                                  // pop           %eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,85,12                           // mov           0xc(%ebp),%edx
+  .byte  139,50                              // mov           (%edx),%esi
+  .byte  15,16,78,64                         // movups        0x40(%esi),%xmm1
+  .byte  15,16,166,192,0,0,0                 // movups        0xc0(%esi),%xmm4
+  .byte  15,88,136,37,141,0,0                // addps         0x8d25(%eax),%xmm1
+  .byte  15,17,166,64,1,0,0                  // movups        %xmm4,0x140(%esi)
+  .byte  141,66,8                            // lea           0x8(%edx),%eax
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  80                                  // push          %eax
+  .byte  81                                  // push          %ecx
+  .byte  255,82,4                            // call          *0x4(%edx)
+  .byte  131,196,20                          // add           $0x14,%esp
+  .byte  94                                  // pop           %esi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_bicubic_n3x_sse2
+.globl _sk_bicubic_n3x_sse2
+FUNCTION(_sk_bicubic_n3x_sse2)
+_sk_bicubic_n3x_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  86                                  // push          %esi
+  .byte  80                                  // push          %eax
+  .byte  232,0,0,0,0                         // call          7a68 <_sk_bicubic_n3x_sse2+0xa>
+  .byte  88                                  // pop           %eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,85,12                           // mov           0xc(%ebp),%edx
+  .byte  139,50                              // mov           (%edx),%esi
+  .byte  15,16,6                             // movups        (%esi),%xmm0
+  .byte  15,16,166,128,0,0,0                 // movups        0x80(%esi),%xmm4
+  .byte  15,88,128,56,147,0,0                // addps         0x9338(%eax),%xmm0
+  .byte  15,40,168,248,140,0,0               // movaps        0x8cf8(%eax),%xmm5
+  .byte  15,92,236                           // subps         %xmm4,%xmm5
+  .byte  15,40,229                           // movaps        %xmm5,%xmm4
+  .byte  15,89,228                           // mulps         %xmm4,%xmm4
+  .byte  15,89,168,72,147,0,0                // mulps         0x9348(%eax),%xmm5
+  .byte  15,88,168,232,142,0,0               // addps         0x8ee8(%eax),%xmm5
+  .byte  15,89,236                           // mulps         %xmm4,%xmm5
+  .byte  15,17,174,0,1,0,0                   // movups        %xmm5,0x100(%esi)
+  .byte  141,66,8                            // lea           0x8(%edx),%eax
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  80                                  // push          %eax
+  .byte  81                                  // push          %ecx
+  .byte  255,82,4                            // call          *0x4(%edx)
+  .byte  131,196,20                          // add           $0x14,%esp
+  .byte  94                                  // pop           %esi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_bicubic_n1x_sse2
+.globl _sk_bicubic_n1x_sse2
+FUNCTION(_sk_bicubic_n1x_sse2)
+_sk_bicubic_n1x_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  86                                  // push          %esi
+  .byte  80                                  // push          %eax
+  .byte  232,0,0,0,0                         // call          7ac5 <_sk_bicubic_n1x_sse2+0xa>
+  .byte  88                                  // pop           %eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,85,12                           // mov           0xc(%ebp),%edx
+  .byte  139,50                              // mov           (%edx),%esi
+  .byte  15,16,6                             // movups        (%esi),%xmm0
+  .byte  15,16,166,128,0,0,0                 // movups        0x80(%esi),%xmm4
+  .byte  15,88,128,203,146,0,0               // addps         0x92cb(%eax),%xmm0
+  .byte  15,40,168,155,140,0,0               // movaps        0x8c9b(%eax),%xmm5
+  .byte  15,92,236                           // subps         %xmm4,%xmm5
+  .byte  15,40,160,251,146,0,0               // movaps        0x92fb(%eax),%xmm4
+  .byte  15,89,229                           // mulps         %xmm5,%xmm4
+  .byte  15,88,160,11,147,0,0                // addps         0x930b(%eax),%xmm4
+  .byte  15,89,229                           // mulps         %xmm5,%xmm4
+  .byte  15,88,160,139,140,0,0               // addps         0x8c8b(%eax),%xmm4
+  .byte  15,89,229                           // mulps         %xmm5,%xmm4
+  .byte  15,88,160,27,147,0,0                // addps         0x931b(%eax),%xmm4
+  .byte  15,17,166,0,1,0,0                   // movups        %xmm4,0x100(%esi)
+  .byte  141,66,8                            // lea           0x8(%edx),%eax
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  80                                  // push          %eax
+  .byte  81                                  // push          %ecx
+  .byte  255,82,4                            // call          *0x4(%edx)
+  .byte  131,196,20                          // add           $0x14,%esp
+  .byte  94                                  // pop           %esi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_bicubic_p1x_sse2
+.globl _sk_bicubic_p1x_sse2
+FUNCTION(_sk_bicubic_p1x_sse2)
+_sk_bicubic_p1x_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  86                                  // push          %esi
+  .byte  80                                  // push          %eax
+  .byte  232,0,0,0,0                         // call          7b30 <_sk_bicubic_p1x_sse2+0xa>
+  .byte  88                                  // pop           %eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,85,12                           // mov           0xc(%ebp),%edx
+  .byte  139,50                              // mov           (%edx),%esi
+  .byte  15,40,160,32,140,0,0                // movaps        0x8c20(%eax),%xmm4
+  .byte  15,16,6                             // movups        (%esi),%xmm0
+  .byte  15,16,174,128,0,0,0                 // movups        0x80(%esi),%xmm5
+  .byte  15,88,196                           // addps         %xmm4,%xmm0
+  .byte  15,40,176,144,146,0,0               // movaps        0x9290(%eax),%xmm6
+  .byte  15,89,245                           // mulps         %xmm5,%xmm6
+  .byte  15,88,176,160,146,0,0               // addps         0x92a0(%eax),%xmm6
+  .byte  15,89,245                           // mulps         %xmm5,%xmm6
+  .byte  15,88,244                           // addps         %xmm4,%xmm6
+  .byte  15,89,245                           // mulps         %xmm5,%xmm6
+  .byte  15,88,176,176,146,0,0               // addps         0x92b0(%eax),%xmm6
+  .byte  15,17,182,0,1,0,0                   // movups        %xmm6,0x100(%esi)
+  .byte  141,66,8                            // lea           0x8(%edx),%eax
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  80                                  // push          %eax
+  .byte  81                                  // push          %ecx
+  .byte  255,82,4                            // call          *0x4(%edx)
+  .byte  131,196,20                          // add           $0x14,%esp
+  .byte  94                                  // pop           %esi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_bicubic_p3x_sse2
+.globl _sk_bicubic_p3x_sse2
+FUNCTION(_sk_bicubic_p3x_sse2)
+_sk_bicubic_p3x_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  86                                  // push          %esi
+  .byte  80                                  // push          %eax
+  .byte  232,0,0,0,0                         // call          7b90 <_sk_bicubic_p3x_sse2+0xa>
+  .byte  88                                  // pop           %eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,85,12                           // mov           0xc(%ebp),%edx
+  .byte  139,50                              // mov           (%edx),%esi
+  .byte  15,16,6                             // movups        (%esi),%xmm0
+  .byte  15,16,166,128,0,0,0                 // movups        0x80(%esi),%xmm4
+  .byte  15,88,128,64,146,0,0                // addps         0x9240(%eax),%xmm0
+  .byte  15,40,236                           // movaps        %xmm4,%xmm5
+  .byte  15,89,237                           // mulps         %xmm5,%xmm5
+  .byte  15,89,160,32,146,0,0                // mulps         0x9220(%eax),%xmm4
+  .byte  15,88,160,192,141,0,0               // addps         0x8dc0(%eax),%xmm4
+  .byte  15,89,229                           // mulps         %xmm5,%xmm4
+  .byte  15,17,166,0,1,0,0                   // movups        %xmm4,0x100(%esi)
+  .byte  141,66,8                            // lea           0x8(%edx),%eax
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  80                                  // push          %eax
+  .byte  81                                  // push          %ecx
+  .byte  255,82,4                            // call          *0x4(%edx)
+  .byte  131,196,20                          // add           $0x14,%esp
+  .byte  94                                  // pop           %esi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_bicubic_n3y_sse2
+.globl _sk_bicubic_n3y_sse2
+FUNCTION(_sk_bicubic_n3y_sse2)
+_sk_bicubic_n3y_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  86                                  // push          %esi
+  .byte  80                                  // push          %eax
+  .byte  232,0,0,0,0                         // call          7be3 <_sk_bicubic_n3y_sse2+0xa>
+  .byte  88                                  // pop           %eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,85,12                           // mov           0xc(%ebp),%edx
+  .byte  139,50                              // mov           (%edx),%esi
+  .byte  15,16,78,64                         // movups        0x40(%esi),%xmm1
+  .byte  15,16,166,192,0,0,0                 // movups        0xc0(%esi),%xmm4
+  .byte  15,88,136,189,145,0,0               // addps         0x91bd(%eax),%xmm1
+  .byte  15,40,168,125,139,0,0               // movaps        0x8b7d(%eax),%xmm5
+  .byte  15,92,236                           // subps         %xmm4,%xmm5
+  .byte  15,40,229                           // movaps        %xmm5,%xmm4
+  .byte  15,89,228                           // mulps         %xmm4,%xmm4
+  .byte  15,89,168,205,145,0,0               // mulps         0x91cd(%eax),%xmm5
+  .byte  15,88,168,109,141,0,0               // addps         0x8d6d(%eax),%xmm5
+  .byte  15,89,236                           // mulps         %xmm4,%xmm5
+  .byte  15,17,174,64,1,0,0                  // movups        %xmm5,0x140(%esi)
+  .byte  141,66,8                            // lea           0x8(%edx),%eax
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  80                                  // push          %eax
+  .byte  81                                  // push          %ecx
+  .byte  255,82,4                            // call          *0x4(%edx)
+  .byte  131,196,20                          // add           $0x14,%esp
+  .byte  94                                  // pop           %esi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_bicubic_n1y_sse2
+.globl _sk_bicubic_n1y_sse2
+FUNCTION(_sk_bicubic_n1y_sse2)
+_sk_bicubic_n1y_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  86                                  // push          %esi
+  .byte  80                                  // push          %eax
+  .byte  232,0,0,0,0                         // call          7c41 <_sk_bicubic_n1y_sse2+0xa>
+  .byte  88                                  // pop           %eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,85,12                           // mov           0xc(%ebp),%edx
+  .byte  139,50                              // mov           (%edx),%esi
+  .byte  15,16,78,64                         // movups        0x40(%esi),%xmm1
+  .byte  15,16,166,192,0,0,0                 // movups        0xc0(%esi),%xmm4
+  .byte  15,88,136,79,145,0,0                // addps         0x914f(%eax),%xmm1
+  .byte  15,40,168,31,139,0,0                // movaps        0x8b1f(%eax),%xmm5
+  .byte  15,92,236                           // subps         %xmm4,%xmm5
+  .byte  15,40,160,127,145,0,0               // movaps        0x917f(%eax),%xmm4
+  .byte  15,89,229                           // mulps         %xmm5,%xmm4
+  .byte  15,88,160,143,145,0,0               // addps         0x918f(%eax),%xmm4
+  .byte  15,89,229                           // mulps         %xmm5,%xmm4
+  .byte  15,88,160,15,139,0,0                // addps         0x8b0f(%eax),%xmm4
+  .byte  15,89,229                           // mulps         %xmm5,%xmm4
+  .byte  15,88,160,159,145,0,0               // addps         0x919f(%eax),%xmm4
+  .byte  15,17,166,64,1,0,0                  // movups        %xmm4,0x140(%esi)
+  .byte  141,66,8                            // lea           0x8(%edx),%eax
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  80                                  // push          %eax
+  .byte  81                                  // push          %ecx
+  .byte  255,82,4                            // call          *0x4(%edx)
+  .byte  131,196,20                          // add           $0x14,%esp
+  .byte  94                                  // pop           %esi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_bicubic_p1y_sse2
+.globl _sk_bicubic_p1y_sse2
+FUNCTION(_sk_bicubic_p1y_sse2)
+_sk_bicubic_p1y_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  86                                  // push          %esi
+  .byte  80                                  // push          %eax
+  .byte  232,0,0,0,0                         // call          7cad <_sk_bicubic_p1y_sse2+0xa>
+  .byte  88                                  // pop           %eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,85,12                           // mov           0xc(%ebp),%edx
+  .byte  139,50                              // mov           (%edx),%esi
+  .byte  15,40,160,163,138,0,0               // movaps        0x8aa3(%eax),%xmm4
+  .byte  15,16,78,64                         // movups        0x40(%esi),%xmm1
+  .byte  15,16,174,192,0,0,0                 // movups        0xc0(%esi),%xmm5
+  .byte  15,88,204                           // addps         %xmm4,%xmm1
+  .byte  15,40,176,19,145,0,0                // movaps        0x9113(%eax),%xmm6
+  .byte  15,89,245                           // mulps         %xmm5,%xmm6
+  .byte  15,88,176,35,145,0,0                // addps         0x9123(%eax),%xmm6
+  .byte  15,89,245                           // mulps         %xmm5,%xmm6
+  .byte  15,88,244                           // addps         %xmm4,%xmm6
+  .byte  15,89,245                           // mulps         %xmm5,%xmm6
+  .byte  15,88,176,51,145,0,0                // addps         0x9133(%eax),%xmm6
+  .byte  15,17,182,64,1,0,0                  // movups        %xmm6,0x140(%esi)
+  .byte  141,66,8                            // lea           0x8(%edx),%eax
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  80                                  // push          %eax
+  .byte  81                                  // push          %ecx
+  .byte  255,82,4                            // call          *0x4(%edx)
+  .byte  131,196,20                          // add           $0x14,%esp
+  .byte  94                                  // pop           %esi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_bicubic_p3y_sse2
+.globl _sk_bicubic_p3y_sse2
+FUNCTION(_sk_bicubic_p3y_sse2)
+_sk_bicubic_p3y_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  86                                  // push          %esi
+  .byte  80                                  // push          %eax
+  .byte  232,0,0,0,0                         // call          7d0e <_sk_bicubic_p3y_sse2+0xa>
+  .byte  88                                  // pop           %eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,85,12                           // mov           0xc(%ebp),%edx
+  .byte  139,50                              // mov           (%edx),%esi
+  .byte  15,16,78,64                         // movups        0x40(%esi),%xmm1
+  .byte  15,16,166,192,0,0,0                 // movups        0xc0(%esi),%xmm4
+  .byte  15,88,136,194,144,0,0               // addps         0x90c2(%eax),%xmm1
+  .byte  15,40,236                           // movaps        %xmm4,%xmm5
+  .byte  15,89,237                           // mulps         %xmm5,%xmm5
+  .byte  15,89,160,162,144,0,0               // mulps         0x90a2(%eax),%xmm4
+  .byte  15,88,160,66,140,0,0                // addps         0x8c42(%eax),%xmm4
+  .byte  15,89,229                           // mulps         %xmm5,%xmm4
+  .byte  15,17,166,64,1,0,0                  // movups        %xmm4,0x140(%esi)
+  .byte  141,66,8                            // lea           0x8(%edx),%eax
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  80                                  // push          %eax
+  .byte  81                                  // push          %ecx
+  .byte  255,82,4                            // call          *0x4(%edx)
+  .byte  131,196,20                          // add           $0x14,%esp
+  .byte  94                                  // pop           %esi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_callback_sse2
+.globl _sk_callback_sse2
+FUNCTION(_sk_callback_sse2)
+_sk_callback_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,12                          // sub           $0xc,%esp
+  .byte  139,117,8                           // mov           0x8(%ebp),%esi
+  .byte  139,125,12                          // mov           0xc(%ebp),%edi
+  .byte  139,31                              // mov           (%edi),%ebx
+  .byte  139,70,8                            // mov           0x8(%esi),%eax
+  .byte  15,40,224                           // movaps        %xmm0,%xmm4
+  .byte  15,20,225                           // unpcklps      %xmm1,%xmm4
+  .byte  15,40,234                           // movaps        %xmm2,%xmm5
+  .byte  15,20,235                           // unpcklps      %xmm3,%xmm5
+  .byte  15,21,193                           // unpckhps      %xmm1,%xmm0
+  .byte  15,21,211                           // unpckhps      %xmm3,%xmm2
+  .byte  15,40,204                           // movaps        %xmm4,%xmm1
+  .byte  102,15,20,205                       // unpcklpd      %xmm5,%xmm1
+  .byte  15,18,236                           // movhlps       %xmm4,%xmm5
+  .byte  15,40,216                           // movaps        %xmm0,%xmm3
+  .byte  102,15,20,218                       // unpcklpd      %xmm2,%xmm3
+  .byte  102,15,17,75,4                      // movupd        %xmm1,0x4(%ebx)
+  .byte  15,18,208                           // movhlps       %xmm0,%xmm2
+  .byte  15,17,107,20                        // movups        %xmm5,0x14(%ebx)
+  .byte  102,15,17,91,36                     // movupd        %xmm3,0x24(%ebx)
+  .byte  15,17,83,52                         // movups        %xmm2,0x34(%ebx)
+  .byte  133,192                             // test          %eax,%eax
+  .byte  185,4,0,0,0                         // mov           $0x4,%ecx
+  .byte  15,69,200                           // cmovne        %eax,%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  81                                  // push          %ecx
+  .byte  83                                  // push          %ebx
+  .byte  255,19                              // call          *(%ebx)
+  .byte  131,196,16                          // add           $0x10,%esp
+  .byte  139,131,4,1,0,0                     // mov           0x104(%ebx),%eax
+  .byte  15,16,32                            // movups        (%eax),%xmm4
+  .byte  15,16,64,16                         // movups        0x10(%eax),%xmm0
+  .byte  15,16,88,32                         // movups        0x20(%eax),%xmm3
+  .byte  15,16,80,48                         // movups        0x30(%eax),%xmm2
+  .byte  15,40,236                           // movaps        %xmm4,%xmm5
+  .byte  15,20,232                           // unpcklps      %xmm0,%xmm5
+  .byte  15,40,203                           // movaps        %xmm3,%xmm1
+  .byte  15,20,202                           // unpcklps      %xmm2,%xmm1
+  .byte  15,21,224                           // unpckhps      %xmm0,%xmm4
+  .byte  15,21,218                           // unpckhps      %xmm2,%xmm3
+  .byte  15,40,197                           // movaps        %xmm5,%xmm0
+  .byte  102,15,20,193                       // unpcklpd      %xmm1,%xmm0
+  .byte  15,18,205                           // movhlps       %xmm5,%xmm1
+  .byte  15,40,212                           // movaps        %xmm4,%xmm2
+  .byte  102,15,20,211                       // unpcklpd      %xmm3,%xmm2
+  .byte  15,18,220                           // movhlps       %xmm4,%xmm3
+  .byte  141,71,8                            // lea           0x8(%edi),%eax
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  80                                  // push          %eax
+  .byte  86                                  // push          %esi
+  .byte  255,87,4                            // call          *0x4(%edi)
+  .byte  131,196,28                          // add           $0x1c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_clut_3D_sse2
+.globl _sk_clut_3D_sse2
+FUNCTION(_sk_clut_3D_sse2)
+_sk_clut_3D_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  129,236,28,1,0,0                    // sub           $0x11c,%esp
+  .byte  15,41,157,216,254,255,255           // movaps        %xmm3,-0x128(%ebp)
+  .byte  15,40,216                           // movaps        %xmm0,%xmm3
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  139,81,12                           // mov           0xc(%ecx),%edx
+  .byte  141,114,255                         // lea           -0x1(%edx),%esi
+  .byte  102,15,110,198                      // movd          %esi,%xmm0
+  .byte  102,15,112,192,0                    // pshufd        $0x0,%xmm0,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  15,89,194                           // mulps         %xmm2,%xmm0
+  .byte  15,40,224                           // movaps        %xmm0,%xmm4
+  .byte  15,41,165,248,254,255,255           // movaps        %xmm4,-0x108(%ebp)
+  .byte  102,15,110,194                      // movd          %edx,%xmm0
+  .byte  102,15,112,240,0                    // pshufd        $0x0,%xmm0,%xmm6
+  .byte  102,15,127,117,152                  // movdqa        %xmm6,-0x68(%ebp)
+  .byte  139,81,8                            // mov           0x8(%ecx),%edx
+  .byte  141,114,255                         // lea           -0x1(%edx),%esi
+  .byte  102,15,110,214                      // movd          %esi,%xmm2
+  .byte  102,15,112,210,0                    // pshufd        $0x0,%xmm2,%xmm2
+  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
+  .byte  15,89,209                           // mulps         %xmm1,%xmm2
+  .byte  15,41,149,88,255,255,255            // movaps        %xmm2,-0xa8(%ebp)
+  .byte  243,15,91,234                       // cvttps2dq     %xmm2,%xmm5
+  .byte  102,15,127,173,40,255,255,255       // movdqa        %xmm5,-0xd8(%ebp)
+  .byte  102,15,112,205,245                  // pshufd        $0xf5,%xmm5,%xmm1
+  .byte  102,15,244,206                      // pmuludq       %xmm6,%xmm1
+  .byte  102,15,111,214                      // movdqa        %xmm6,%xmm2
+  .byte  102,15,244,213                      // pmuludq       %xmm5,%xmm2
+  .byte  102,15,112,210,232                  // pshufd        $0xe8,%xmm2,%xmm2
+  .byte  102,15,112,201,232                  // pshufd        $0xe8,%xmm1,%xmm1
+  .byte  102,15,98,209                       // punpckldq     %xmm1,%xmm2
+  .byte  102,15,111,234                      // movdqa        %xmm2,%xmm5
+  .byte  102,15,127,109,168                  // movdqa        %xmm5,-0x58(%ebp)
+  .byte  102,15,110,202                      // movd          %edx,%xmm1
+  .byte  102,15,244,200                      // pmuludq       %xmm0,%xmm1
+  .byte  139,81,4                            // mov           0x4(%ecx),%edx
+  .byte  74                                  // dec           %edx
+  .byte  102,15,110,194                      // movd          %edx,%xmm0
+  .byte  102,15,112,192,0                    // pshufd        $0x0,%xmm0,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  15,41,69,216                        // movaps        %xmm0,-0x28(%ebp)
+  .byte  102,15,112,209,0                    // pshufd        $0x0,%xmm1,%xmm2
+  .byte  243,15,91,216                       // cvttps2dq     %xmm0,%xmm3
+  .byte  102,15,127,93,184                   // movdqa        %xmm3,-0x48(%ebp)
+  .byte  102,15,112,195,245                  // pshufd        $0xf5,%xmm3,%xmm0
+  .byte  102,15,244,194                      // pmuludq       %xmm2,%xmm0
+  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
+  .byte  102,15,244,203                      // pmuludq       %xmm3,%xmm1
+  .byte  102,15,112,201,232                  // pshufd        $0xe8,%xmm1,%xmm1
+  .byte  102,15,112,192,232                  // pshufd        $0xe8,%xmm0,%xmm0
+  .byte  102,15,98,200                       // punpckldq     %xmm0,%xmm1
+  .byte  102,15,127,77,136                   // movdqa        %xmm1,-0x78(%ebp)
+  .byte  232,0,0,0,0                         // call          7ef4 <_sk_clut_3D_sse2+0xee>
+  .byte  90                                  // pop           %edx
+  .byte  243,15,91,196                       // cvttps2dq     %xmm4,%xmm0
+  .byte  102,15,127,133,8,255,255,255        // movdqa        %xmm0,-0xf8(%ebp)
+  .byte  102,15,111,221                      // movdqa        %xmm5,%xmm3
+  .byte  102,15,254,216                      // paddd         %xmm0,%xmm3
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,15,254,195                      // paddd         %xmm3,%xmm0
+  .byte  102,15,111,162,12,143,0,0           // movdqa        0x8f0c(%edx),%xmm4
+  .byte  102,15,127,165,120,255,255,255      // movdqa        %xmm4,-0x88(%ebp)
+  .byte  102,15,112,200,245                  // pshufd        $0xf5,%xmm0,%xmm1
+  .byte  102,15,244,196                      // pmuludq       %xmm4,%xmm0
+  .byte  102,15,244,204                      // pmuludq       %xmm4,%xmm1
+  .byte  102,15,112,225,232                  // pshufd        $0xe8,%xmm1,%xmm4
+  .byte  102,15,112,200,232                  // pshufd        $0xe8,%xmm0,%xmm1
+  .byte  102,15,98,204                       // punpckldq     %xmm4,%xmm1
+  .byte  102,15,126,198                      // movd          %xmm0,%esi
+  .byte  102,15,112,193,229                  // pshufd        $0xe5,%xmm1,%xmm0
+  .byte  102,15,126,199                      // movd          %xmm0,%edi
+  .byte  102,15,112,193,78                   // pshufd        $0x4e,%xmm1,%xmm0
+  .byte  102,15,126,195                      // movd          %xmm0,%ebx
+  .byte  102,15,112,193,231                  // pshufd        $0xe7,%xmm1,%xmm0
+  .byte  102,15,126,192                      // movd          %xmm0,%eax
+  .byte  139,9                               // mov           (%ecx),%ecx
+  .byte  243,15,16,4,129                     // movss         (%ecx,%eax,4),%xmm0
+  .byte  243,15,16,36,153                    // movss         (%ecx,%ebx,4),%xmm4
+  .byte  15,20,224                           // unpcklps      %xmm0,%xmm4
+  .byte  243,15,16,4,185                     // movss         (%ecx,%edi,4),%xmm0
+  .byte  243,15,16,44,177                    // movss         (%ecx,%esi,4),%xmm5
+  .byte  15,20,232                           // unpcklps      %xmm0,%xmm5
+  .byte  102,15,20,236                       // unpcklpd      %xmm4,%xmm5
+  .byte  102,15,118,228                      // pcmpeqd       %xmm4,%xmm4
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,15,250,196                      // psubd         %xmm4,%xmm0
+  .byte  102,15,112,224,229                  // pshufd        $0xe5,%xmm0,%xmm4
+  .byte  102,15,126,224                      // movd          %xmm4,%eax
+  .byte  102,15,112,224,78                   // pshufd        $0x4e,%xmm0,%xmm4
+  .byte  102,15,126,230                      // movd          %xmm4,%esi
+  .byte  102,15,126,199                      // movd          %xmm0,%edi
+  .byte  102,15,112,192,231                  // pshufd        $0xe7,%xmm0,%xmm0
+  .byte  102,15,126,195                      // movd          %xmm0,%ebx
+  .byte  243,15,16,4,153                     // movss         (%ecx,%ebx,4),%xmm0
+  .byte  243,15,16,36,177                    // movss         (%ecx,%esi,4),%xmm4
+  .byte  15,20,224                           // unpcklps      %xmm0,%xmm4
+  .byte  243,15,16,60,185                    // movss         (%ecx,%edi,4),%xmm7
+  .byte  243,15,16,4,129                     // movss         (%ecx,%eax,4),%xmm0
+  .byte  15,20,248                           // unpcklps      %xmm0,%xmm7
+  .byte  102,15,20,252                       // unpcklpd      %xmm4,%xmm7
+  .byte  102,15,111,130,172,136,0,0          // movdqa        0x88ac(%edx),%xmm0
+  .byte  102,15,127,133,104,255,255,255      // movdqa        %xmm0,-0x98(%ebp)
+  .byte  102,15,254,200                      // paddd         %xmm0,%xmm1
+  .byte  102,15,112,193,229                  // pshufd        $0xe5,%xmm1,%xmm0
+  .byte  102,15,126,192                      // movd          %xmm0,%eax
+  .byte  102,15,112,193,78                   // pshufd        $0x4e,%xmm1,%xmm0
+  .byte  102,15,126,198                      // movd          %xmm0,%esi
+  .byte  102,15,126,207                      // movd          %xmm1,%edi
+  .byte  102,15,112,193,231                  // pshufd        $0xe7,%xmm1,%xmm0
+  .byte  102,15,126,195                      // movd          %xmm0,%ebx
+  .byte  243,15,16,4,153                     // movss         (%ecx,%ebx,4),%xmm0
+  .byte  243,15,16,12,177                    // movss         (%ecx,%esi,4),%xmm1
+  .byte  15,20,200                           // unpcklps      %xmm0,%xmm1
+  .byte  243,15,16,52,185                    // movss         (%ecx,%edi,4),%xmm6
+  .byte  243,15,16,4,129                     // movss         (%ecx,%eax,4),%xmm0
+  .byte  15,20,240                           // unpcklps      %xmm0,%xmm6
+  .byte  102,15,20,241                       // unpcklpd      %xmm1,%xmm6
+  .byte  15,40,130,252,142,0,0               // movaps        0x8efc(%edx),%xmm0
+  .byte  15,40,141,248,254,255,255           // movaps        -0x108(%ebp),%xmm1
+  .byte  15,88,200                           // addps         %xmm0,%xmm1
+  .byte  15,41,77,200                        // movaps        %xmm1,-0x38(%ebp)
+  .byte  15,40,141,88,255,255,255            // movaps        -0xa8(%ebp),%xmm1
+  .byte  15,88,200                           // addps         %xmm0,%xmm1
+  .byte  15,41,141,72,255,255,255            // movaps        %xmm1,-0xb8(%ebp)
+  .byte  15,88,69,216                        // addps         -0x28(%ebp),%xmm0
+  .byte  243,15,91,192                       // cvttps2dq     %xmm0,%xmm0
+  .byte  102,15,112,200,245                  // pshufd        $0xf5,%xmm0,%xmm1
+  .byte  102,15,244,202                      // pmuludq       %xmm2,%xmm1
+  .byte  102,15,244,208                      // pmuludq       %xmm0,%xmm2
+  .byte  102,15,112,210,232                  // pshufd        $0xe8,%xmm2,%xmm2
+  .byte  102,15,112,193,232                  // pshufd        $0xe8,%xmm1,%xmm0
+  .byte  102,15,98,208                       // punpckldq     %xmm0,%xmm2
+  .byte  102,15,127,149,24,255,255,255       // movdqa        %xmm2,-0xe8(%ebp)
+  .byte  102,15,254,218                      // paddd         %xmm2,%xmm3
+  .byte  102,15,112,195,245                  // pshufd        $0xf5,%xmm3,%xmm0
+  .byte  102,15,111,141,120,255,255,255      // movdqa        -0x88(%ebp),%xmm1
+  .byte  102,15,244,217                      // pmuludq       %xmm1,%xmm3
+  .byte  102,15,244,193                      // pmuludq       %xmm1,%xmm0
+  .byte  102,15,112,200,232                  // pshufd        $0xe8,%xmm0,%xmm1
+  .byte  102,15,112,195,232                  // pshufd        $0xe8,%xmm3,%xmm0
+  .byte  102,15,98,193                       // punpckldq     %xmm1,%xmm0
+  .byte  102,15,126,216                      // movd          %xmm3,%eax
+  .byte  102,15,112,200,229                  // pshufd        $0xe5,%xmm0,%xmm1
+  .byte  102,15,126,202                      // movd          %xmm1,%edx
+  .byte  102,15,112,200,78                   // pshufd        $0x4e,%xmm0,%xmm1
+  .byte  102,15,126,206                      // movd          %xmm1,%esi
+  .byte  102,15,112,200,231                  // pshufd        $0xe7,%xmm0,%xmm1
+  .byte  102,15,126,207                      // movd          %xmm1,%edi
+  .byte  243,15,16,12,185                    // movss         (%ecx,%edi,4),%xmm1
+  .byte  243,15,16,20,177                    // movss         (%ecx,%esi,4),%xmm2
+  .byte  15,20,209                           // unpcklps      %xmm1,%xmm2
+  .byte  243,15,16,12,145                    // movss         (%ecx,%edx,4),%xmm1
+  .byte  243,15,16,28,129                    // movss         (%ecx,%eax,4),%xmm3
+  .byte  15,20,217                           // unpcklps      %xmm1,%xmm3
+  .byte  102,15,20,218                       // unpcklpd      %xmm2,%xmm3
+  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
+  .byte  102,15,118,210                      // pcmpeqd       %xmm2,%xmm2
+  .byte  102,15,250,202                      // psubd         %xmm2,%xmm1
+  .byte  102,15,112,209,229                  // pshufd        $0xe5,%xmm1,%xmm2
+  .byte  102,15,126,208                      // movd          %xmm2,%eax
+  .byte  102,15,112,209,78                   // pshufd        $0x4e,%xmm1,%xmm2
+  .byte  102,15,126,210                      // movd          %xmm2,%edx
+  .byte  102,15,126,206                      // movd          %xmm1,%esi
+  .byte  102,15,112,201,231                  // pshufd        $0xe7,%xmm1,%xmm1
+  .byte  102,15,126,207                      // movd          %xmm1,%edi
+  .byte  243,15,16,20,185                    // movss         (%ecx,%edi,4),%xmm2
+  .byte  243,15,16,12,145                    // movss         (%ecx,%edx,4),%xmm1
+  .byte  15,20,202                           // unpcklps      %xmm2,%xmm1
+  .byte  243,15,16,20,177                    // movss         (%ecx,%esi,4),%xmm2
+  .byte  243,15,16,36,129                    // movss         (%ecx,%eax,4),%xmm4
+  .byte  15,20,212                           // unpcklps      %xmm4,%xmm2
+  .byte  102,15,20,209                       // unpcklpd      %xmm1,%xmm2
+  .byte  102,15,254,133,104,255,255,255      // paddd         -0x98(%ebp),%xmm0
+  .byte  102,15,112,200,229                  // pshufd        $0xe5,%xmm0,%xmm1
+  .byte  102,15,126,200                      // movd          %xmm1,%eax
+  .byte  102,15,112,200,78                   // pshufd        $0x4e,%xmm0,%xmm1
+  .byte  102,15,126,202                      // movd          %xmm1,%edx
+  .byte  102,15,126,198                      // movd          %xmm0,%esi
+  .byte  102,15,112,192,231                  // pshufd        $0xe7,%xmm0,%xmm0
+  .byte  102,15,126,199                      // movd          %xmm0,%edi
+  .byte  243,15,16,4,185                     // movss         (%ecx,%edi,4),%xmm0
+  .byte  243,15,16,36,145                    // movss         (%ecx,%edx,4),%xmm4
+  .byte  15,20,224                           // unpcklps      %xmm0,%xmm4
+  .byte  243,15,16,12,177                    // movss         (%ecx,%esi,4),%xmm1
+  .byte  243,15,16,4,129                     // movss         (%ecx,%eax,4),%xmm0
+  .byte  15,20,200                           // unpcklps      %xmm0,%xmm1
+  .byte  102,15,20,204                       // unpcklpd      %xmm4,%xmm1
+  .byte  15,91,69,184                        // cvtdq2ps      -0x48(%ebp),%xmm0
+  .byte  15,40,101,216                       // movaps        -0x28(%ebp),%xmm4
+  .byte  15,92,224                           // subps         %xmm0,%xmm4
+  .byte  15,41,101,216                       // movaps        %xmm4,-0x28(%ebp)
+  .byte  15,92,221                           // subps         %xmm5,%xmm3
+  .byte  15,89,220                           // mulps         %xmm4,%xmm3
+  .byte  15,88,221                           // addps         %xmm5,%xmm3
+  .byte  15,41,93,184                        // movaps        %xmm3,-0x48(%ebp)
+  .byte  15,92,215                           // subps         %xmm7,%xmm2
+  .byte  15,89,212                           // mulps         %xmm4,%xmm2
+  .byte  15,88,215                           // addps         %xmm7,%xmm2
+  .byte  15,41,149,56,255,255,255            // movaps        %xmm2,-0xc8(%ebp)
+  .byte  15,92,206                           // subps         %xmm6,%xmm1
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  15,88,206                           // addps         %xmm6,%xmm1
+  .byte  15,41,141,232,254,255,255           // movaps        %xmm1,-0x118(%ebp)
+  .byte  243,15,91,133,72,255,255,255        // cvttps2dq     -0xb8(%ebp),%xmm0
+  .byte  102,15,112,224,245                  // pshufd        $0xf5,%xmm0,%xmm4
+  .byte  102,15,111,77,152                   // movdqa        -0x68(%ebp),%xmm1
+  .byte  102,15,244,225                      // pmuludq       %xmm1,%xmm4
+  .byte  102,15,111,233                      // movdqa        %xmm1,%xmm5
+  .byte  102,15,244,232                      // pmuludq       %xmm0,%xmm5
+  .byte  102,15,112,253,232                  // pshufd        $0xe8,%xmm5,%xmm7
+  .byte  102,15,112,196,232                  // pshufd        $0xe8,%xmm4,%xmm0
+  .byte  102,15,98,248                       // punpckldq     %xmm0,%xmm7
+  .byte  102,15,127,125,152                  // movdqa        %xmm7,-0x68(%ebp)
+  .byte  102,15,254,189,8,255,255,255        // paddd         -0xf8(%ebp),%xmm7
+  .byte  102,15,111,199                      // movdqa        %xmm7,%xmm0
+  .byte  102,15,254,69,136                   // paddd         -0x78(%ebp),%xmm0
+  .byte  102,15,112,224,245                  // pshufd        $0xf5,%xmm0,%xmm4
+  .byte  102,15,111,141,120,255,255,255      // movdqa        -0x88(%ebp),%xmm1
+  .byte  102,15,244,193                      // pmuludq       %xmm1,%xmm0
+  .byte  102,15,244,225                      // pmuludq       %xmm1,%xmm4
+  .byte  102,15,112,228,232                  // pshufd        $0xe8,%xmm4,%xmm4
+  .byte  102,15,112,232,232                  // pshufd        $0xe8,%xmm0,%xmm5
+  .byte  102,15,98,236                       // punpckldq     %xmm4,%xmm5
+  .byte  102,15,126,192                      // movd          %xmm0,%eax
+  .byte  102,15,112,197,229                  // pshufd        $0xe5,%xmm5,%xmm0
+  .byte  102,15,126,194                      // movd          %xmm0,%edx
+  .byte  102,15,112,197,78                   // pshufd        $0x4e,%xmm5,%xmm0
+  .byte  102,15,126,198                      // movd          %xmm0,%esi
+  .byte  102,15,112,197,231                  // pshufd        $0xe7,%xmm5,%xmm0
+  .byte  102,15,126,199                      // movd          %xmm0,%edi
+  .byte  243,15,16,4,185                     // movss         (%ecx,%edi,4),%xmm0
+  .byte  243,15,16,36,177                    // movss         (%ecx,%esi,4),%xmm4
+  .byte  15,20,224                           // unpcklps      %xmm0,%xmm4
+  .byte  243,15,16,4,145                     // movss         (%ecx,%edx,4),%xmm0
+  .byte  243,15,16,20,129                    // movss         (%ecx,%eax,4),%xmm2
+  .byte  15,20,208                           // unpcklps      %xmm0,%xmm2
+  .byte  102,15,20,212                       // unpcklpd      %xmm4,%xmm2
+  .byte  102,15,41,149,72,255,255,255        // movapd        %xmm2,-0xb8(%ebp)
+  .byte  102,15,111,197                      // movdqa        %xmm5,%xmm0
+  .byte  102,15,118,219                      // pcmpeqd       %xmm3,%xmm3
+  .byte  102,15,250,195                      // psubd         %xmm3,%xmm0
+  .byte  102,15,118,210                      // pcmpeqd       %xmm2,%xmm2
+  .byte  102,15,112,224,229                  // pshufd        $0xe5,%xmm0,%xmm4
+  .byte  102,15,126,224                      // movd          %xmm4,%eax
+  .byte  102,15,112,224,78                   // pshufd        $0x4e,%xmm0,%xmm4
+  .byte  102,15,126,226                      // movd          %xmm4,%edx
+  .byte  102,15,126,198                      // movd          %xmm0,%esi
+  .byte  102,15,112,192,231                  // pshufd        $0xe7,%xmm0,%xmm0
+  .byte  102,15,126,199                      // movd          %xmm0,%edi
+  .byte  243,15,16,36,185                    // movss         (%ecx,%edi,4),%xmm4
+  .byte  243,15,16,4,145                     // movss         (%ecx,%edx,4),%xmm0
+  .byte  15,20,196                           // unpcklps      %xmm4,%xmm0
+  .byte  243,15,16,36,177                    // movss         (%ecx,%esi,4),%xmm4
+  .byte  243,15,16,52,129                    // movss         (%ecx,%eax,4),%xmm6
+  .byte  15,20,230                           // unpcklps      %xmm6,%xmm4
+  .byte  102,15,20,224                       // unpcklpd      %xmm0,%xmm4
+  .byte  102,15,111,157,104,255,255,255      // movdqa        -0x98(%ebp),%xmm3
+  .byte  102,15,254,235                      // paddd         %xmm3,%xmm5
+  .byte  102,15,112,197,229                  // pshufd        $0xe5,%xmm5,%xmm0
+  .byte  102,15,126,192                      // movd          %xmm0,%eax
+  .byte  102,15,112,197,78                   // pshufd        $0x4e,%xmm5,%xmm0
+  .byte  102,15,126,194                      // movd          %xmm0,%edx
+  .byte  102,15,126,238                      // movd          %xmm5,%esi
+  .byte  102,15,112,197,231                  // pshufd        $0xe7,%xmm5,%xmm0
+  .byte  102,15,126,199                      // movd          %xmm0,%edi
+  .byte  243,15,16,4,185                     // movss         (%ecx,%edi,4),%xmm0
+  .byte  243,15,16,52,145                    // movss         (%ecx,%edx,4),%xmm6
+  .byte  15,20,240                           // unpcklps      %xmm0,%xmm6
+  .byte  243,15,16,44,177                    // movss         (%ecx,%esi,4),%xmm5
+  .byte  243,15,16,4,129                     // movss         (%ecx,%eax,4),%xmm0
+  .byte  15,20,232                           // unpcklps      %xmm0,%xmm5
+  .byte  102,15,20,238                       // unpcklpd      %xmm6,%xmm5
+  .byte  102,15,254,189,24,255,255,255       // paddd         -0xe8(%ebp),%xmm7
+  .byte  102,15,112,199,245                  // pshufd        $0xf5,%xmm7,%xmm0
+  .byte  102,15,244,249                      // pmuludq       %xmm1,%xmm7
+  .byte  102,15,244,193                      // pmuludq       %xmm1,%xmm0
+  .byte  102,15,112,240,232                  // pshufd        $0xe8,%xmm0,%xmm6
+  .byte  102,15,112,199,232                  // pshufd        $0xe8,%xmm7,%xmm0
+  .byte  102,15,98,198                       // punpckldq     %xmm6,%xmm0
+  .byte  102,15,126,248                      // movd          %xmm7,%eax
+  .byte  102,15,112,240,229                  // pshufd        $0xe5,%xmm0,%xmm6
+  .byte  102,15,126,242                      // movd          %xmm6,%edx
+  .byte  102,15,112,240,78                   // pshufd        $0x4e,%xmm0,%xmm6
+  .byte  102,15,126,246                      // movd          %xmm6,%esi
+  .byte  102,15,112,240,231                  // pshufd        $0xe7,%xmm0,%xmm6
+  .byte  102,15,126,247                      // movd          %xmm6,%edi
+  .byte  243,15,16,52,185                    // movss         (%ecx,%edi,4),%xmm6
+  .byte  243,15,16,60,177                    // movss         (%ecx,%esi,4),%xmm7
+  .byte  15,20,254                           // unpcklps      %xmm6,%xmm7
+  .byte  243,15,16,52,145                    // movss         (%ecx,%edx,4),%xmm6
+  .byte  243,15,16,12,129                    // movss         (%ecx,%eax,4),%xmm1
+  .byte  15,20,206                           // unpcklps      %xmm6,%xmm1
+  .byte  102,15,20,207                       // unpcklpd      %xmm7,%xmm1
+  .byte  102,15,111,240                      // movdqa        %xmm0,%xmm6
+  .byte  102,15,250,242                      // psubd         %xmm2,%xmm6
+  .byte  102,15,112,254,229                  // pshufd        $0xe5,%xmm6,%xmm7
+  .byte  102,15,126,248                      // movd          %xmm7,%eax
+  .byte  102,15,112,254,78                   // pshufd        $0x4e,%xmm6,%xmm7
+  .byte  102,15,126,250                      // movd          %xmm7,%edx
+  .byte  102,15,126,246                      // movd          %xmm6,%esi
+  .byte  102,15,112,246,231                  // pshufd        $0xe7,%xmm6,%xmm6
+  .byte  102,15,126,247                      // movd          %xmm6,%edi
+  .byte  243,15,16,52,185                    // movss         (%ecx,%edi,4),%xmm6
+  .byte  243,15,16,60,145                    // movss         (%ecx,%edx,4),%xmm7
+  .byte  15,20,254                           // unpcklps      %xmm6,%xmm7
+  .byte  243,15,16,20,177                    // movss         (%ecx,%esi,4),%xmm2
+  .byte  243,15,16,52,129                    // movss         (%ecx,%eax,4),%xmm6
+  .byte  15,20,214                           // unpcklps      %xmm6,%xmm2
+  .byte  102,15,20,215                       // unpcklpd      %xmm7,%xmm2
+  .byte  102,15,111,251                      // movdqa        %xmm3,%xmm7
+  .byte  102,15,254,199                      // paddd         %xmm7,%xmm0
+  .byte  102,15,112,240,229                  // pshufd        $0xe5,%xmm0,%xmm6
+  .byte  102,15,126,240                      // movd          %xmm6,%eax
+  .byte  102,15,112,240,78                   // pshufd        $0x4e,%xmm0,%xmm6
+  .byte  102,15,126,242                      // movd          %xmm6,%edx
+  .byte  102,15,126,198                      // movd          %xmm0,%esi
+  .byte  102,15,112,192,231                  // pshufd        $0xe7,%xmm0,%xmm0
+  .byte  102,15,126,199                      // movd          %xmm0,%edi
+  .byte  243,15,16,4,185                     // movss         (%ecx,%edi,4),%xmm0
+  .byte  243,15,16,52,145                    // movss         (%ecx,%edx,4),%xmm6
+  .byte  15,20,240                           // unpcklps      %xmm0,%xmm6
+  .byte  243,15,16,28,177                    // movss         (%ecx,%esi,4),%xmm3
+  .byte  243,15,16,4,129                     // movss         (%ecx,%eax,4),%xmm0
+  .byte  15,20,216                           // unpcklps      %xmm0,%xmm3
+  .byte  102,15,20,222                       // unpcklpd      %xmm6,%xmm3
+  .byte  15,40,181,72,255,255,255            // movaps        -0xb8(%ebp),%xmm6
+  .byte  15,92,206                           // subps         %xmm6,%xmm1
+  .byte  15,40,69,216                        // movaps        -0x28(%ebp),%xmm0
+  .byte  15,89,200                           // mulps         %xmm0,%xmm1
+  .byte  15,88,206                           // addps         %xmm6,%xmm1
+  .byte  15,92,212                           // subps         %xmm4,%xmm2
+  .byte  15,89,208                           // mulps         %xmm0,%xmm2
+  .byte  15,88,212                           // addps         %xmm4,%xmm2
+  .byte  15,92,221                           // subps         %xmm5,%xmm3
+  .byte  15,89,216                           // mulps         %xmm0,%xmm3
+  .byte  15,88,221                           // addps         %xmm5,%xmm3
+  .byte  15,91,133,40,255,255,255            // cvtdq2ps      -0xd8(%ebp),%xmm0
+  .byte  15,40,165,88,255,255,255            // movaps        -0xa8(%ebp),%xmm4
+  .byte  15,92,224                           // subps         %xmm0,%xmm4
+  .byte  15,41,165,88,255,255,255            // movaps        %xmm4,-0xa8(%ebp)
+  .byte  15,40,69,184                        // movaps        -0x48(%ebp),%xmm0
+  .byte  15,92,200                           // subps         %xmm0,%xmm1
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  15,88,200                           // addps         %xmm0,%xmm1
+  .byte  15,41,77,184                        // movaps        %xmm1,-0x48(%ebp)
+  .byte  15,40,133,56,255,255,255            // movaps        -0xc8(%ebp),%xmm0
+  .byte  15,92,208                           // subps         %xmm0,%xmm2
+  .byte  15,89,212                           // mulps         %xmm4,%xmm2
+  .byte  15,88,208                           // addps         %xmm0,%xmm2
+  .byte  15,41,149,56,255,255,255            // movaps        %xmm2,-0xc8(%ebp)
+  .byte  15,40,133,232,254,255,255           // movaps        -0x118(%ebp),%xmm0
+  .byte  15,92,216                           // subps         %xmm0,%xmm3
+  .byte  15,89,220                           // mulps         %xmm4,%xmm3
+  .byte  15,88,216                           // addps         %xmm0,%xmm3
+  .byte  15,41,157,40,255,255,255            // movaps        %xmm3,-0xd8(%ebp)
+  .byte  243,15,91,77,200                    // cvttps2dq     -0x38(%ebp),%xmm1
+  .byte  102,15,127,77,200                   // movdqa        %xmm1,-0x38(%ebp)
+  .byte  102,15,111,69,168                   // movdqa        -0x58(%ebp),%xmm0
+  .byte  102,15,254,193                      // paddd         %xmm1,%xmm0
+  .byte  102,15,111,77,136                   // movdqa        -0x78(%ebp),%xmm1
+  .byte  102,15,254,200                      // paddd         %xmm0,%xmm1
+  .byte  102,15,111,240                      // movdqa        %xmm0,%xmm6
+  .byte  102,15,112,209,245                  // pshufd        $0xf5,%xmm1,%xmm2
+  .byte  102,15,111,133,120,255,255,255      // movdqa        -0x88(%ebp),%xmm0
+  .byte  102,15,244,200                      // pmuludq       %xmm0,%xmm1
+  .byte  102,15,244,208                      // pmuludq       %xmm0,%xmm2
+  .byte  102,15,112,210,232                  // pshufd        $0xe8,%xmm2,%xmm2
+  .byte  102,15,112,217,232                  // pshufd        $0xe8,%xmm1,%xmm3
+  .byte  102,15,98,218                       // punpckldq     %xmm2,%xmm3
+  .byte  102,15,126,200                      // movd          %xmm1,%eax
+  .byte  102,15,112,203,229                  // pshufd        $0xe5,%xmm3,%xmm1
+  .byte  102,15,126,202                      // movd          %xmm1,%edx
+  .byte  102,15,112,203,78                   // pshufd        $0x4e,%xmm3,%xmm1
+  .byte  102,15,126,206                      // movd          %xmm1,%esi
+  .byte  102,15,112,203,231                  // pshufd        $0xe7,%xmm3,%xmm1
+  .byte  102,15,126,207                      // movd          %xmm1,%edi
+  .byte  243,15,16,12,185                    // movss         (%ecx,%edi,4),%xmm1
+  .byte  243,15,16,20,177                    // movss         (%ecx,%esi,4),%xmm2
+  .byte  15,20,209                           // unpcklps      %xmm1,%xmm2
+  .byte  243,15,16,36,145                    // movss         (%ecx,%edx,4),%xmm4
+  .byte  243,15,16,4,129                     // movss         (%ecx,%eax,4),%xmm0
+  .byte  15,20,196                           // unpcklps      %xmm4,%xmm0
+  .byte  102,15,20,194                       // unpcklpd      %xmm2,%xmm0
+  .byte  102,15,41,69,168                    // movapd        %xmm0,-0x58(%ebp)
+  .byte  102,15,111,211                      // movdqa        %xmm3,%xmm2
+  .byte  102,15,118,192                      // pcmpeqd       %xmm0,%xmm0
+  .byte  102,15,250,208                      // psubd         %xmm0,%xmm2
+  .byte  102,15,112,226,229                  // pshufd        $0xe5,%xmm2,%xmm4
+  .byte  102,15,126,224                      // movd          %xmm4,%eax
+  .byte  102,15,112,226,78                   // pshufd        $0x4e,%xmm2,%xmm4
+  .byte  102,15,126,226                      // movd          %xmm4,%edx
+  .byte  102,15,126,214                      // movd          %xmm2,%esi
+  .byte  102,15,112,210,231                  // pshufd        $0xe7,%xmm2,%xmm2
+  .byte  102,15,126,215                      // movd          %xmm2,%edi
+  .byte  243,15,16,20,185                    // movss         (%ecx,%edi,4),%xmm2
+  .byte  243,15,16,36,145                    // movss         (%ecx,%edx,4),%xmm4
+  .byte  15,20,226                           // unpcklps      %xmm2,%xmm4
+  .byte  243,15,16,20,177                    // movss         (%ecx,%esi,4),%xmm2
+  .byte  243,15,16,44,129                    // movss         (%ecx,%eax,4),%xmm5
+  .byte  15,20,213                           // unpcklps      %xmm5,%xmm2
+  .byte  102,15,20,212                       // unpcklpd      %xmm4,%xmm2
+  .byte  102,15,254,223                      // paddd         %xmm7,%xmm3
+  .byte  102,15,112,227,229                  // pshufd        $0xe5,%xmm3,%xmm4
+  .byte  102,15,126,224                      // movd          %xmm4,%eax
+  .byte  102,15,112,227,78                   // pshufd        $0x4e,%xmm3,%xmm4
+  .byte  102,15,126,226                      // movd          %xmm4,%edx
+  .byte  102,15,126,222                      // movd          %xmm3,%esi
+  .byte  102,15,112,219,231                  // pshufd        $0xe7,%xmm3,%xmm3
+  .byte  102,15,126,223                      // movd          %xmm3,%edi
+  .byte  243,15,16,28,185                    // movss         (%ecx,%edi,4),%xmm3
+  .byte  243,15,16,36,145                    // movss         (%ecx,%edx,4),%xmm4
+  .byte  15,20,227                           // unpcklps      %xmm3,%xmm4
+  .byte  243,15,16,44,177                    // movss         (%ecx,%esi,4),%xmm5
+  .byte  243,15,16,28,129                    // movss         (%ecx,%eax,4),%xmm3
+  .byte  15,20,235                           // unpcklps      %xmm3,%xmm5
+  .byte  102,15,20,236                       // unpcklpd      %xmm4,%xmm5
+  .byte  102,15,111,230                      // movdqa        %xmm6,%xmm4
+  .byte  102,15,254,165,24,255,255,255       // paddd         -0xe8(%ebp),%xmm4
+  .byte  102,15,112,220,245                  // pshufd        $0xf5,%xmm4,%xmm3
+  .byte  102,15,111,141,120,255,255,255      // movdqa        -0x88(%ebp),%xmm1
+  .byte  102,15,244,225                      // pmuludq       %xmm1,%xmm4
+  .byte  102,15,111,244                      // movdqa        %xmm4,%xmm6
+  .byte  102,15,244,217                      // pmuludq       %xmm1,%xmm3
+  .byte  102,15,112,227,232                  // pshufd        $0xe8,%xmm3,%xmm4
+  .byte  102,15,112,222,232                  // pshufd        $0xe8,%xmm6,%xmm3
+  .byte  102,15,98,220                       // punpckldq     %xmm4,%xmm3
+  .byte  102,15,126,240                      // movd          %xmm6,%eax
+  .byte  102,15,112,227,229                  // pshufd        $0xe5,%xmm3,%xmm4
+  .byte  102,15,126,226                      // movd          %xmm4,%edx
+  .byte  102,15,112,227,78                   // pshufd        $0x4e,%xmm3,%xmm4
+  .byte  102,15,126,230                      // movd          %xmm4,%esi
+  .byte  102,15,112,227,231                  // pshufd        $0xe7,%xmm3,%xmm4
+  .byte  102,15,126,231                      // movd          %xmm4,%edi
+  .byte  243,15,16,36,185                    // movss         (%ecx,%edi,4),%xmm4
+  .byte  243,15,16,52,177                    // movss         (%ecx,%esi,4),%xmm6
+  .byte  15,20,244                           // unpcklps      %xmm4,%xmm6
+  .byte  243,15,16,36,145                    // movss         (%ecx,%edx,4),%xmm4
+  .byte  243,15,16,12,129                    // movss         (%ecx,%eax,4),%xmm1
+  .byte  15,20,204                           // unpcklps      %xmm4,%xmm1
+  .byte  102,15,20,206                       // unpcklpd      %xmm6,%xmm1
+  .byte  102,15,111,227                      // movdqa        %xmm3,%xmm4
+  .byte  102,15,250,224                      // psubd         %xmm0,%xmm4
+  .byte  102,15,112,244,229                  // pshufd        $0xe5,%xmm4,%xmm6
+  .byte  102,15,126,240                      // movd          %xmm6,%eax
+  .byte  102,15,112,244,78                   // pshufd        $0x4e,%xmm4,%xmm6
+  .byte  102,15,126,242                      // movd          %xmm6,%edx
+  .byte  102,15,126,230                      // movd          %xmm4,%esi
+  .byte  102,15,112,228,231                  // pshufd        $0xe7,%xmm4,%xmm4
+  .byte  102,15,126,231                      // movd          %xmm4,%edi
+  .byte  243,15,16,36,185                    // movss         (%ecx,%edi,4),%xmm4
+  .byte  243,15,16,4,145                     // movss         (%ecx,%edx,4),%xmm0
+  .byte  15,20,196                           // unpcklps      %xmm4,%xmm0
+  .byte  243,15,16,60,177                    // movss         (%ecx,%esi,4),%xmm7
+  .byte  243,15,16,36,129                    // movss         (%ecx,%eax,4),%xmm4
+  .byte  15,20,252                           // unpcklps      %xmm4,%xmm7
+  .byte  102,15,20,248                       // unpcklpd      %xmm0,%xmm7
+  .byte  102,15,111,165,104,255,255,255      // movdqa        -0x98(%ebp),%xmm4
+  .byte  102,15,254,220                      // paddd         %xmm4,%xmm3
+  .byte  102,15,112,195,229                  // pshufd        $0xe5,%xmm3,%xmm0
+  .byte  102,15,126,192                      // movd          %xmm0,%eax
+  .byte  102,15,112,195,78                   // pshufd        $0x4e,%xmm3,%xmm0
+  .byte  102,15,126,194                      // movd          %xmm0,%edx
+  .byte  102,15,126,222                      // movd          %xmm3,%esi
+  .byte  102,15,112,195,231                  // pshufd        $0xe7,%xmm3,%xmm0
+  .byte  102,15,126,199                      // movd          %xmm0,%edi
+  .byte  243,15,16,4,185                     // movss         (%ecx,%edi,4),%xmm0
+  .byte  243,15,16,28,145                    // movss         (%ecx,%edx,4),%xmm3
+  .byte  15,20,216                           // unpcklps      %xmm0,%xmm3
+  .byte  243,15,16,52,177                    // movss         (%ecx,%esi,4),%xmm6
+  .byte  243,15,16,4,129                     // movss         (%ecx,%eax,4),%xmm0
+  .byte  15,20,240                           // unpcklps      %xmm0,%xmm6
+  .byte  102,15,20,243                       // unpcklpd      %xmm3,%xmm6
+  .byte  15,40,93,168                        // movaps        -0x58(%ebp),%xmm3
+  .byte  15,92,203                           // subps         %xmm3,%xmm1
+  .byte  15,40,69,216                        // movaps        -0x28(%ebp),%xmm0
+  .byte  15,89,200                           // mulps         %xmm0,%xmm1
+  .byte  15,88,203                           // addps         %xmm3,%xmm1
+  .byte  15,41,77,168                        // movaps        %xmm1,-0x58(%ebp)
+  .byte  15,92,250                           // subps         %xmm2,%xmm7
+  .byte  15,89,248                           // mulps         %xmm0,%xmm7
+  .byte  15,88,250                           // addps         %xmm2,%xmm7
+  .byte  15,92,245                           // subps         %xmm5,%xmm6
+  .byte  15,89,240                           // mulps         %xmm0,%xmm6
+  .byte  15,88,245                           // addps         %xmm5,%xmm6
+  .byte  102,15,111,69,152                   // movdqa        -0x68(%ebp),%xmm0
+  .byte  102,15,254,69,200                   // paddd         -0x38(%ebp),%xmm0
+  .byte  102,15,127,69,152                   // movdqa        %xmm0,-0x68(%ebp)
+  .byte  102,15,111,85,136                   // movdqa        -0x78(%ebp),%xmm2
+  .byte  102,15,254,208                      // paddd         %xmm0,%xmm2
+  .byte  102,15,112,194,245                  // pshufd        $0xf5,%xmm2,%xmm0
+  .byte  102,15,111,157,120,255,255,255      // movdqa        -0x88(%ebp),%xmm3
+  .byte  102,15,244,211                      // pmuludq       %xmm3,%xmm2
+  .byte  102,15,244,195                      // pmuludq       %xmm3,%xmm0
+  .byte  102,15,112,200,232                  // pshufd        $0xe8,%xmm0,%xmm1
+  .byte  102,15,112,194,232                  // pshufd        $0xe8,%xmm2,%xmm0
+  .byte  102,15,98,193                       // punpckldq     %xmm1,%xmm0
+  .byte  102,15,126,208                      // movd          %xmm2,%eax
+  .byte  102,15,112,200,229                  // pshufd        $0xe5,%xmm0,%xmm1
+  .byte  102,15,126,202                      // movd          %xmm1,%edx
+  .byte  102,15,112,200,78                   // pshufd        $0x4e,%xmm0,%xmm1
+  .byte  102,15,126,206                      // movd          %xmm1,%esi
+  .byte  102,15,112,200,231                  // pshufd        $0xe7,%xmm0,%xmm1
+  .byte  102,15,126,207                      // movd          %xmm1,%edi
+  .byte  243,15,16,12,185                    // movss         (%ecx,%edi,4),%xmm1
+  .byte  243,15,16,20,177                    // movss         (%ecx,%esi,4),%xmm2
+  .byte  15,20,209                           // unpcklps      %xmm1,%xmm2
+  .byte  243,15,16,12,145                    // movss         (%ecx,%edx,4),%xmm1
+  .byte  243,15,16,44,129                    // movss         (%ecx,%eax,4),%xmm5
+  .byte  15,20,233                           // unpcklps      %xmm1,%xmm5
+  .byte  102,15,20,234                       // unpcklpd      %xmm2,%xmm5
+  .byte  102,15,41,109,136                   // movapd        %xmm5,-0x78(%ebp)
+  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
+  .byte  102,15,118,210                      // pcmpeqd       %xmm2,%xmm2
+  .byte  102,15,250,202                      // psubd         %xmm2,%xmm1
+  .byte  102,15,112,209,229                  // pshufd        $0xe5,%xmm1,%xmm2
+  .byte  102,15,126,208                      // movd          %xmm2,%eax
+  .byte  102,15,112,209,78                   // pshufd        $0x4e,%xmm1,%xmm2
+  .byte  102,15,126,210                      // movd          %xmm2,%edx
+  .byte  102,15,126,206                      // movd          %xmm1,%esi
+  .byte  102,15,112,201,231                  // pshufd        $0xe7,%xmm1,%xmm1
+  .byte  102,15,126,207                      // movd          %xmm1,%edi
+  .byte  243,15,16,12,185                    // movss         (%ecx,%edi,4),%xmm1
+  .byte  243,15,16,20,145                    // movss         (%ecx,%edx,4),%xmm2
+  .byte  15,20,209                           // unpcklps      %xmm1,%xmm2
+  .byte  243,15,16,44,177                    // movss         (%ecx,%esi,4),%xmm5
+  .byte  243,15,16,12,129                    // movss         (%ecx,%eax,4),%xmm1
+  .byte  15,20,233                           // unpcklps      %xmm1,%xmm5
+  .byte  102,15,20,234                       // unpcklpd      %xmm2,%xmm5
+  .byte  102,15,41,109,200                   // movapd        %xmm5,-0x38(%ebp)
+  .byte  102,15,254,196                      // paddd         %xmm4,%xmm0
+  .byte  102,15,112,200,229                  // pshufd        $0xe5,%xmm0,%xmm1
+  .byte  102,15,126,200                      // movd          %xmm1,%eax
+  .byte  102,15,112,200,78                   // pshufd        $0x4e,%xmm0,%xmm1
+  .byte  102,15,126,202                      // movd          %xmm1,%edx
+  .byte  102,15,126,198                      // movd          %xmm0,%esi
+  .byte  102,15,112,192,231                  // pshufd        $0xe7,%xmm0,%xmm0
+  .byte  102,15,126,199                      // movd          %xmm0,%edi
+  .byte  243,15,16,4,185                     // movss         (%ecx,%edi,4),%xmm0
+  .byte  243,15,16,12,145                    // movss         (%ecx,%edx,4),%xmm1
+  .byte  15,20,200                           // unpcklps      %xmm0,%xmm1
+  .byte  243,15,16,36,177                    // movss         (%ecx,%esi,4),%xmm4
+  .byte  243,15,16,4,129                     // movss         (%ecx,%eax,4),%xmm0
+  .byte  15,20,224                           // unpcklps      %xmm0,%xmm4
+  .byte  102,15,20,225                       // unpcklpd      %xmm1,%xmm4
+  .byte  102,15,111,77,152                   // movdqa        -0x68(%ebp),%xmm1
+  .byte  102,15,254,141,24,255,255,255       // paddd         -0xe8(%ebp),%xmm1
+  .byte  102,15,112,193,245                  // pshufd        $0xf5,%xmm1,%xmm0
+  .byte  102,15,244,203                      // pmuludq       %xmm3,%xmm1
+  .byte  102,15,244,195                      // pmuludq       %xmm3,%xmm0
+  .byte  102,15,112,192,232                  // pshufd        $0xe8,%xmm0,%xmm0
+  .byte  102,15,112,209,232                  // pshufd        $0xe8,%xmm1,%xmm2
+  .byte  102,15,98,208                       // punpckldq     %xmm0,%xmm2
+  .byte  102,15,126,200                      // movd          %xmm1,%eax
+  .byte  102,15,112,194,229                  // pshufd        $0xe5,%xmm2,%xmm0
+  .byte  102,15,126,194                      // movd          %xmm0,%edx
+  .byte  102,15,112,194,78                   // pshufd        $0x4e,%xmm2,%xmm0
+  .byte  102,15,126,198                      // movd          %xmm0,%esi
+  .byte  102,15,112,194,231                  // pshufd        $0xe7,%xmm2,%xmm0
+  .byte  102,15,126,199                      // movd          %xmm0,%edi
+  .byte  243,15,16,4,185                     // movss         (%ecx,%edi,4),%xmm0
+  .byte  243,15,16,12,177                    // movss         (%ecx,%esi,4),%xmm1
+  .byte  15,20,200                           // unpcklps      %xmm0,%xmm1
+  .byte  243,15,16,28,145                    // movss         (%ecx,%edx,4),%xmm3
+  .byte  243,15,16,4,129                     // movss         (%ecx,%eax,4),%xmm0
+  .byte  15,20,195                           // unpcklps      %xmm3,%xmm0
+  .byte  102,15,20,193                       // unpcklpd      %xmm1,%xmm0
+  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
+  .byte  102,15,118,219                      // pcmpeqd       %xmm3,%xmm3
+  .byte  102,15,250,203                      // psubd         %xmm3,%xmm1
+  .byte  102,15,112,217,229                  // pshufd        $0xe5,%xmm1,%xmm3
+  .byte  102,15,126,216                      // movd          %xmm3,%eax
+  .byte  102,15,112,217,78                   // pshufd        $0x4e,%xmm1,%xmm3
+  .byte  102,15,126,218                      // movd          %xmm3,%edx
+  .byte  102,15,126,206                      // movd          %xmm1,%esi
+  .byte  102,15,112,201,231                  // pshufd        $0xe7,%xmm1,%xmm1
+  .byte  102,15,126,207                      // movd          %xmm1,%edi
+  .byte  243,15,16,12,185                    // movss         (%ecx,%edi,4),%xmm1
+  .byte  243,15,16,28,145                    // movss         (%ecx,%edx,4),%xmm3
+  .byte  15,20,217                           // unpcklps      %xmm1,%xmm3
+  .byte  243,15,16,12,177                    // movss         (%ecx,%esi,4),%xmm1
+  .byte  243,15,16,44,129                    // movss         (%ecx,%eax,4),%xmm5
+  .byte  15,20,205                           // unpcklps      %xmm5,%xmm1
+  .byte  102,15,20,203                       // unpcklpd      %xmm3,%xmm1
+  .byte  102,15,254,149,104,255,255,255      // paddd         -0x98(%ebp),%xmm2
+  .byte  102,15,112,218,229                  // pshufd        $0xe5,%xmm2,%xmm3
+  .byte  102,15,126,216                      // movd          %xmm3,%eax
+  .byte  102,15,112,218,78                   // pshufd        $0x4e,%xmm2,%xmm3
+  .byte  102,15,126,218                      // movd          %xmm3,%edx
+  .byte  102,15,126,214                      // movd          %xmm2,%esi
+  .byte  102,15,112,210,231                  // pshufd        $0xe7,%xmm2,%xmm2
+  .byte  102,15,126,215                      // movd          %xmm2,%edi
+  .byte  243,15,16,20,185                    // movss         (%ecx,%edi,4),%xmm2
+  .byte  243,15,16,28,145                    // movss         (%ecx,%edx,4),%xmm3
+  .byte  15,20,218                           // unpcklps      %xmm2,%xmm3
+  .byte  243,15,16,20,177                    // movss         (%ecx,%esi,4),%xmm2
+  .byte  243,15,16,44,129                    // movss         (%ecx,%eax,4),%xmm5
+  .byte  15,20,213                           // unpcklps      %xmm5,%xmm2
+  .byte  102,15,20,211                       // unpcklpd      %xmm3,%xmm2
+  .byte  15,40,109,136                       // movaps        -0x78(%ebp),%xmm5
+  .byte  15,92,197                           // subps         %xmm5,%xmm0
+  .byte  15,40,93,216                        // movaps        -0x28(%ebp),%xmm3
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  15,88,197                           // addps         %xmm5,%xmm0
+  .byte  15,40,109,200                       // movaps        -0x38(%ebp),%xmm5
+  .byte  15,92,205                           // subps         %xmm5,%xmm1
+  .byte  15,89,203                           // mulps         %xmm3,%xmm1
+  .byte  15,88,205                           // addps         %xmm5,%xmm1
+  .byte  15,92,212                           // subps         %xmm4,%xmm2
+  .byte  15,89,211                           // mulps         %xmm3,%xmm2
+  .byte  15,88,212                           // addps         %xmm4,%xmm2
+  .byte  15,40,101,168                       // movaps        -0x58(%ebp),%xmm4
+  .byte  15,92,196                           // subps         %xmm4,%xmm0
+  .byte  15,40,157,88,255,255,255            // movaps        -0xa8(%ebp),%xmm3
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  15,88,196                           // addps         %xmm4,%xmm0
+  .byte  15,92,207                           // subps         %xmm7,%xmm1
+  .byte  15,89,203                           // mulps         %xmm3,%xmm1
+  .byte  15,88,207                           // addps         %xmm7,%xmm1
+  .byte  15,92,214                           // subps         %xmm6,%xmm2
+  .byte  15,89,211                           // mulps         %xmm3,%xmm2
+  .byte  15,88,214                           // addps         %xmm6,%xmm2
+  .byte  15,91,157,8,255,255,255             // cvtdq2ps      -0xf8(%ebp),%xmm3
+  .byte  15,40,165,248,254,255,255           // movaps        -0x108(%ebp),%xmm4
+  .byte  15,92,227                           // subps         %xmm3,%xmm4
+  .byte  15,40,93,184                        // movaps        -0x48(%ebp),%xmm3
+  .byte  15,92,195                           // subps         %xmm3,%xmm0
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  15,88,195                           // addps         %xmm3,%xmm0
+  .byte  15,40,157,56,255,255,255            // movaps        -0xc8(%ebp),%xmm3
+  .byte  15,92,203                           // subps         %xmm3,%xmm1
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  15,88,203                           // addps         %xmm3,%xmm1
+  .byte  15,40,157,40,255,255,255            // movaps        -0xd8(%ebp),%xmm3
+  .byte  15,92,211                           // subps         %xmm3,%xmm2
+  .byte  15,89,212                           // mulps         %xmm4,%xmm2
+  .byte  15,88,211                           // addps         %xmm3,%xmm2
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  141,65,8                            // lea           0x8(%ecx),%eax
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,157,216,254,255,255           // movaps        -0x128(%ebp),%xmm3
+  .byte  80                                  // push          %eax
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,81,4                            // call          *0x4(%ecx)
+  .byte  129,196,44,1,0,0                    // add           $0x12c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_clut_4D_sse2
+.globl _sk_clut_4D_sse2
+FUNCTION(_sk_clut_4D_sse2)
+_sk_clut_4D_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  129,236,76,1,0,0                    // sub           $0x14c,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,16                              // mov           (%eax),%edx
+  .byte  139,74,16                           // mov           0x10(%edx),%ecx
+  .byte  141,113,255                         // lea           -0x1(%ecx),%esi
+  .byte  102,15,110,230                      // movd          %esi,%xmm4
+  .byte  102,15,112,228,0                    // pshufd        $0x0,%xmm4,%xmm4
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  15,89,227                           // mulps         %xmm3,%xmm4
+  .byte  15,40,236                           // movaps        %xmm4,%xmm5
+  .byte  102,15,110,217                      // movd          %ecx,%xmm3
+  .byte  102,15,112,251,0                    // pshufd        $0x0,%xmm3,%xmm7
+  .byte  102,15,127,189,24,255,255,255       // movdqa        %xmm7,-0xe8(%ebp)
+  .byte  139,74,12                           // mov           0xc(%edx),%ecx
+  .byte  141,113,255                         // lea           -0x1(%ecx),%esi
+  .byte  102,15,110,230                      // movd          %esi,%xmm4
+  .byte  102,15,112,228,0                    // pshufd        $0x0,%xmm4,%xmm4
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  15,89,226                           // mulps         %xmm2,%xmm4
+  .byte  15,41,165,248,254,255,255           // movaps        %xmm4,-0x108(%ebp)
+  .byte  243,15,91,244                       // cvttps2dq     %xmm4,%xmm6
+  .byte  102,15,127,181,216,254,255,255      // movdqa        %xmm6,-0x128(%ebp)
+  .byte  102,15,112,214,245                  // pshufd        $0xf5,%xmm6,%xmm2
+  .byte  102,15,244,215                      // pmuludq       %xmm7,%xmm2
+  .byte  102,15,111,231                      // movdqa        %xmm7,%xmm4
+  .byte  102,15,244,230                      // pmuludq       %xmm6,%xmm4
+  .byte  102,15,112,228,232                  // pshufd        $0xe8,%xmm4,%xmm4
+  .byte  102,15,112,210,232                  // pshufd        $0xe8,%xmm2,%xmm2
+  .byte  102,15,98,226                       // punpckldq     %xmm2,%xmm4
+  .byte  102,15,111,244                      // movdqa        %xmm4,%xmm6
+  .byte  102,15,127,181,8,255,255,255        // movdqa        %xmm6,-0xf8(%ebp)
+  .byte  102,15,110,209                      // movd          %ecx,%xmm2
+  .byte  102,15,244,211                      // pmuludq       %xmm3,%xmm2
+  .byte  102,15,112,210,232                  // pshufd        $0xe8,%xmm2,%xmm2
+  .byte  102,15,244,216                      // pmuludq       %xmm0,%xmm3
+  .byte  102,15,112,219,232                  // pshufd        $0xe8,%xmm3,%xmm3
+  .byte  102,15,98,211                       // punpckldq     %xmm3,%xmm2
+  .byte  139,74,8                            // mov           0x8(%edx),%ecx
+  .byte  141,113,255                         // lea           -0x1(%ecx),%esi
+  .byte  102,15,110,222                      // movd          %esi,%xmm3
+  .byte  102,15,112,219,0                    // pshufd        $0x0,%xmm3,%xmm3
+  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
+  .byte  15,89,217                           // mulps         %xmm1,%xmm3
+  .byte  15,41,157,56,255,255,255            // movaps        %xmm3,-0xc8(%ebp)
+  .byte  102,15,112,250,0                    // pshufd        $0x0,%xmm2,%xmm7
+  .byte  102,15,127,189,88,255,255,255       // movdqa        %xmm7,-0xa8(%ebp)
+  .byte  243,15,91,227                       // cvttps2dq     %xmm3,%xmm4
+  .byte  102,15,127,165,40,255,255,255       // movdqa        %xmm4,-0xd8(%ebp)
+  .byte  102,15,112,204,245                  // pshufd        $0xf5,%xmm4,%xmm1
+  .byte  102,15,244,207                      // pmuludq       %xmm7,%xmm1
+  .byte  102,15,111,223                      // movdqa        %xmm7,%xmm3
+  .byte  102,15,244,220                      // pmuludq       %xmm4,%xmm3
+  .byte  102,15,112,219,232                  // pshufd        $0xe8,%xmm3,%xmm3
+  .byte  102,15,112,201,232                  // pshufd        $0xe8,%xmm1,%xmm1
+  .byte  102,15,98,217                       // punpckldq     %xmm1,%xmm3
+  .byte  102,15,111,227                      // movdqa        %xmm3,%xmm4
+  .byte  102,15,127,165,72,255,255,255       // movdqa        %xmm4,-0xb8(%ebp)
+  .byte  102,15,110,201                      // movd          %ecx,%xmm1
+  .byte  102,15,244,202                      // pmuludq       %xmm2,%xmm1
+  .byte  139,74,4                            // mov           0x4(%edx),%ecx
+  .byte  73                                  // dec           %ecx
+  .byte  102,15,110,209                      // movd          %ecx,%xmm2
+  .byte  102,15,112,210,0                    // pshufd        $0x0,%xmm2,%xmm2
+  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
+  .byte  15,89,208                           // mulps         %xmm0,%xmm2
+  .byte  15,41,85,216                        // movaps        %xmm2,-0x28(%ebp)
+  .byte  102,15,112,217,0                    // pshufd        $0x0,%xmm1,%xmm3
+  .byte  102,15,127,93,168                   // movdqa        %xmm3,-0x58(%ebp)
+  .byte  243,15,91,194                       // cvttps2dq     %xmm2,%xmm0
+  .byte  102,15,127,133,104,255,255,255      // movdqa        %xmm0,-0x98(%ebp)
+  .byte  102,15,112,200,245                  // pshufd        $0xf5,%xmm0,%xmm1
+  .byte  102,15,244,203                      // pmuludq       %xmm3,%xmm1
+  .byte  102,15,111,211                      // movdqa        %xmm3,%xmm2
+  .byte  102,15,244,208                      // pmuludq       %xmm0,%xmm2
+  .byte  102,15,112,218,232                  // pshufd        $0xe8,%xmm2,%xmm3
+  .byte  102,15,112,201,232                  // pshufd        $0xe8,%xmm1,%xmm1
+  .byte  102,15,98,217                       // punpckldq     %xmm1,%xmm3
+  .byte  102,15,127,93,152                   // movdqa        %xmm3,-0x68(%ebp)
+  .byte  232,0,0,0,0                         // call          8a80 <_sk_clut_4D_sse2+0x165>
+  .byte  89                                  // pop           %ecx
+  .byte  15,40,197                           // movaps        %xmm5,%xmm0
+  .byte  15,41,133,168,254,255,255           // movaps        %xmm0,-0x158(%ebp)
+  .byte  243,15,91,200                       // cvttps2dq     %xmm0,%xmm1
+  .byte  102,15,127,141,200,254,255,255      // movdqa        %xmm1,-0x138(%ebp)
+  .byte  102,15,254,241                      // paddd         %xmm1,%xmm6
+  .byte  102,15,127,117,200                  // movdqa        %xmm6,-0x38(%ebp)
+  .byte  102,15,111,212                      // movdqa        %xmm4,%xmm2
+  .byte  102,15,254,214                      // paddd         %xmm6,%xmm2
+  .byte  102,15,254,218                      // paddd         %xmm2,%xmm3
+  .byte  102,15,111,161,128,131,0,0          // movdqa        0x8380(%ecx),%xmm4
+  .byte  102,15,112,203,245                  // pshufd        $0xf5,%xmm3,%xmm1
+  .byte  102,15,244,220                      // pmuludq       %xmm4,%xmm3
+  .byte  102,15,244,204                      // pmuludq       %xmm4,%xmm1
+  .byte  102,15,112,233,232                  // pshufd        $0xe8,%xmm1,%xmm5
+  .byte  102,15,112,203,232                  // pshufd        $0xe8,%xmm3,%xmm1
+  .byte  102,15,98,205                       // punpckldq     %xmm5,%xmm1
+  .byte  102,15,126,222                      // movd          %xmm3,%esi
+  .byte  102,15,112,217,229                  // pshufd        $0xe5,%xmm1,%xmm3
+  .byte  102,15,126,223                      // movd          %xmm3,%edi
+  .byte  102,15,112,217,78                   // pshufd        $0x4e,%xmm1,%xmm3
+  .byte  102,15,126,219                      // movd          %xmm3,%ebx
+  .byte  102,15,112,217,231                  // pshufd        $0xe7,%xmm1,%xmm3
+  .byte  102,15,126,216                      // movd          %xmm3,%eax
+  .byte  139,18                              // mov           (%edx),%edx
+  .byte  243,15,16,28,130                    // movss         (%edx,%eax,4),%xmm3
+  .byte  243,15,16,52,154                    // movss         (%edx,%ebx,4),%xmm6
+  .byte  15,20,243                           // unpcklps      %xmm3,%xmm6
+  .byte  243,15,16,28,186                    // movss         (%edx,%edi,4),%xmm3
+  .byte  243,15,16,36,178                    // movss         (%edx,%esi,4),%xmm4
+  .byte  15,20,227                           // unpcklps      %xmm3,%xmm4
+  .byte  102,15,20,230                       // unpcklpd      %xmm6,%xmm4
+  .byte  102,15,41,101,184                   // movapd        %xmm4,-0x48(%ebp)
+  .byte  102,15,118,228                      // pcmpeqd       %xmm4,%xmm4
+  .byte  102,15,111,217                      // movdqa        %xmm1,%xmm3
+  .byte  102,15,250,220                      // psubd         %xmm4,%xmm3
+  .byte  102,15,118,237                      // pcmpeqd       %xmm5,%xmm5
+  .byte  102,15,112,243,229                  // pshufd        $0xe5,%xmm3,%xmm6
+  .byte  102,15,126,240                      // movd          %xmm6,%eax
+  .byte  102,15,112,243,78                   // pshufd        $0x4e,%xmm3,%xmm6
+  .byte  102,15,126,246                      // movd          %xmm6,%esi
+  .byte  102,15,126,223                      // movd          %xmm3,%edi
+  .byte  102,15,112,219,231                  // pshufd        $0xe7,%xmm3,%xmm3
+  .byte  102,15,126,219                      // movd          %xmm3,%ebx
+  .byte  243,15,16,28,154                    // movss         (%edx,%ebx,4),%xmm3
+  .byte  243,15,16,52,178                    // movss         (%edx,%esi,4),%xmm6
+  .byte  15,20,243                           // unpcklps      %xmm3,%xmm6
+  .byte  243,15,16,28,186                    // movss         (%edx,%edi,4),%xmm3
+  .byte  243,15,16,60,130                    // movss         (%edx,%eax,4),%xmm7
+  .byte  15,20,223                           // unpcklps      %xmm7,%xmm3
+  .byte  102,15,20,222                       // unpcklpd      %xmm6,%xmm3
+  .byte  102,15,41,157,232,254,255,255       // movapd        %xmm3,-0x118(%ebp)
+  .byte  102,15,254,137,32,125,0,0           // paddd         0x7d20(%ecx),%xmm1
+  .byte  102,15,112,241,229                  // pshufd        $0xe5,%xmm1,%xmm6
+  .byte  102,15,126,240                      // movd          %xmm6,%eax
+  .byte  102,15,112,241,78                   // pshufd        $0x4e,%xmm1,%xmm6
+  .byte  102,15,126,246                      // movd          %xmm6,%esi
+  .byte  102,15,126,207                      // movd          %xmm1,%edi
+  .byte  102,15,112,201,231                  // pshufd        $0xe7,%xmm1,%xmm1
+  .byte  102,15,126,203                      // movd          %xmm1,%ebx
+  .byte  243,15,16,12,154                    // movss         (%edx,%ebx,4),%xmm1
+  .byte  243,15,16,52,178                    // movss         (%edx,%esi,4),%xmm6
+  .byte  15,20,241                           // unpcklps      %xmm1,%xmm6
+  .byte  243,15,16,28,186                    // movss         (%edx,%edi,4),%xmm3
+  .byte  243,15,16,60,130                    // movss         (%edx,%eax,4),%xmm7
+  .byte  15,20,223                           // unpcklps      %xmm7,%xmm3
+  .byte  102,15,20,222                       // unpcklpd      %xmm6,%xmm3
+  .byte  15,40,185,112,131,0,0               // movaps        0x8370(%ecx),%xmm7
+  .byte  15,88,199                           // addps         %xmm7,%xmm0
+  .byte  15,41,133,120,255,255,255           // movaps        %xmm0,-0x88(%ebp)
+  .byte  15,40,133,248,254,255,255           // movaps        -0x108(%ebp),%xmm0
+  .byte  15,88,199                           // addps         %xmm7,%xmm0
+  .byte  15,41,69,136                        // movaps        %xmm0,-0x78(%ebp)
+  .byte  15,40,133,56,255,255,255            // movaps        -0xc8(%ebp),%xmm0
+  .byte  15,88,199                           // addps         %xmm7,%xmm0
+  .byte  15,41,133,184,254,255,255           // movaps        %xmm0,-0x148(%ebp)
+  .byte  15,88,125,216                       // addps         -0x28(%ebp),%xmm7
+  .byte  243,15,91,255                       // cvttps2dq     %xmm7,%xmm7
+  .byte  102,15,112,199,245                  // pshufd        $0xf5,%xmm7,%xmm0
+  .byte  102,15,111,117,168                  // movdqa        -0x58(%ebp),%xmm6
+  .byte  102,15,244,198                      // pmuludq       %xmm6,%xmm0
+  .byte  102,15,244,247                      // pmuludq       %xmm7,%xmm6
+  .byte  102,15,112,230,232                  // pshufd        $0xe8,%xmm6,%xmm4
+  .byte  102,15,112,192,232                  // pshufd        $0xe8,%xmm0,%xmm0
+  .byte  102,15,98,224                       // punpckldq     %xmm0,%xmm4
+  .byte  102,15,127,101,168                  // movdqa        %xmm4,-0x58(%ebp)
+  .byte  102,15,254,212                      // paddd         %xmm4,%xmm2
+  .byte  102,15,112,194,245                  // pshufd        $0xf5,%xmm2,%xmm0
+  .byte  102,15,111,161,128,131,0,0          // movdqa        0x8380(%ecx),%xmm4
+  .byte  102,15,244,212                      // pmuludq       %xmm4,%xmm2
+  .byte  102,15,244,196                      // pmuludq       %xmm4,%xmm0
+  .byte  102,15,112,240,232                  // pshufd        $0xe8,%xmm0,%xmm6
+  .byte  102,15,112,194,232                  // pshufd        $0xe8,%xmm2,%xmm0
+  .byte  102,15,98,198                       // punpckldq     %xmm6,%xmm0
+  .byte  102,15,126,208                      // movd          %xmm2,%eax
+  .byte  102,15,112,208,229                  // pshufd        $0xe5,%xmm0,%xmm2
+  .byte  102,15,126,214                      // movd          %xmm2,%esi
+  .byte  102,15,112,208,78                   // pshufd        $0x4e,%xmm0,%xmm2
+  .byte  102,15,126,215                      // movd          %xmm2,%edi
+  .byte  102,15,112,208,231                  // pshufd        $0xe7,%xmm0,%xmm2
+  .byte  102,15,126,211                      // movd          %xmm2,%ebx
+  .byte  243,15,16,20,154                    // movss         (%edx,%ebx,4),%xmm2
+  .byte  243,15,16,52,186                    // movss         (%edx,%edi,4),%xmm6
+  .byte  15,20,242                           // unpcklps      %xmm2,%xmm6
+  .byte  243,15,16,20,178                    // movss         (%edx,%esi,4),%xmm2
+  .byte  243,15,16,12,130                    // movss         (%edx,%eax,4),%xmm1
+  .byte  15,20,202                           // unpcklps      %xmm2,%xmm1
+  .byte  102,15,20,206                       // unpcklpd      %xmm6,%xmm1
+  .byte  102,15,111,208                      // movdqa        %xmm0,%xmm2
+  .byte  102,15,250,213                      // psubd         %xmm5,%xmm2
+  .byte  102,15,112,242,229                  // pshufd        $0xe5,%xmm2,%xmm6
+  .byte  102,15,126,240                      // movd          %xmm6,%eax
+  .byte  102,15,112,242,78                   // pshufd        $0x4e,%xmm2,%xmm6
+  .byte  102,15,126,246                      // movd          %xmm6,%esi
+  .byte  102,15,126,215                      // movd          %xmm2,%edi
+  .byte  102,15,112,210,231                  // pshufd        $0xe7,%xmm2,%xmm2
+  .byte  102,15,126,211                      // movd          %xmm2,%ebx
+  .byte  243,15,16,20,154                    // movss         (%edx,%ebx,4),%xmm2
+  .byte  243,15,16,52,178                    // movss         (%edx,%esi,4),%xmm6
+  .byte  15,20,242                           // unpcklps      %xmm2,%xmm6
+  .byte  243,15,16,20,186                    // movss         (%edx,%edi,4),%xmm2
+  .byte  243,15,16,44,130                    // movss         (%edx,%eax,4),%xmm5
+  .byte  15,20,213                           // unpcklps      %xmm5,%xmm2
+  .byte  102,15,20,214                       // unpcklpd      %xmm6,%xmm2
+  .byte  102,15,254,129,32,125,0,0           // paddd         0x7d20(%ecx),%xmm0
+  .byte  102,15,112,232,229                  // pshufd        $0xe5,%xmm0,%xmm5
+  .byte  102,15,126,232                      // movd          %xmm5,%eax
+  .byte  102,15,112,232,78                   // pshufd        $0x4e,%xmm0,%xmm5
+  .byte  102,15,126,238                      // movd          %xmm5,%esi
+  .byte  102,15,126,199                      // movd          %xmm0,%edi
+  .byte  102,15,112,192,231                  // pshufd        $0xe7,%xmm0,%xmm0
+  .byte  102,15,126,195                      // movd          %xmm0,%ebx
+  .byte  243,15,16,4,154                     // movss         (%edx,%ebx,4),%xmm0
+  .byte  243,15,16,44,178                    // movss         (%edx,%esi,4),%xmm5
+  .byte  15,20,232                           // unpcklps      %xmm0,%xmm5
+  .byte  243,15,16,60,186                    // movss         (%edx,%edi,4),%xmm7
+  .byte  243,15,16,52,130                    // movss         (%edx,%eax,4),%xmm6
+  .byte  15,20,254                           // unpcklps      %xmm6,%xmm7
+  .byte  102,15,20,253                       // unpcklpd      %xmm5,%xmm7
+  .byte  15,91,173,104,255,255,255           // cvtdq2ps      -0x98(%ebp),%xmm5
+  .byte  15,40,69,216                        // movaps        -0x28(%ebp),%xmm0
+  .byte  15,92,197                           // subps         %xmm5,%xmm0
+  .byte  15,41,69,216                        // movaps        %xmm0,-0x28(%ebp)
+  .byte  15,40,109,184                       // movaps        -0x48(%ebp),%xmm5
+  .byte  15,92,205                           // subps         %xmm5,%xmm1
+  .byte  15,89,200                           // mulps         %xmm0,%xmm1
+  .byte  15,88,205                           // addps         %xmm5,%xmm1
+  .byte  15,41,141,104,255,255,255           // movaps        %xmm1,-0x98(%ebp)
+  .byte  15,40,141,232,254,255,255           // movaps        -0x118(%ebp),%xmm1
+  .byte  15,92,209                           // subps         %xmm1,%xmm2
+  .byte  15,89,208                           // mulps         %xmm0,%xmm2
+  .byte  15,88,209                           // addps         %xmm1,%xmm2
+  .byte  15,41,85,184                        // movaps        %xmm2,-0x48(%ebp)
+  .byte  15,92,251                           // subps         %xmm3,%xmm7
+  .byte  15,89,248                           // mulps         %xmm0,%xmm7
+  .byte  15,88,251                           // addps         %xmm3,%xmm7
+  .byte  243,15,91,141,184,254,255,255       // cvttps2dq     -0x148(%ebp),%xmm1
+  .byte  102,15,112,217,245                  // pshufd        $0xf5,%xmm1,%xmm3
+  .byte  102,15,111,133,88,255,255,255       // movdqa        -0xa8(%ebp),%xmm0
+  .byte  102,15,244,216                      // pmuludq       %xmm0,%xmm3
+  .byte  102,15,111,232                      // movdqa        %xmm0,%xmm5
+  .byte  102,15,244,233                      // pmuludq       %xmm1,%xmm5
+  .byte  102,15,112,197,232                  // pshufd        $0xe8,%xmm5,%xmm0
+  .byte  102,15,112,203,232                  // pshufd        $0xe8,%xmm3,%xmm1
+  .byte  102,15,98,193                       // punpckldq     %xmm1,%xmm0
+  .byte  102,15,127,133,88,255,255,255       // movdqa        %xmm0,-0xa8(%ebp)
+  .byte  102,15,111,85,200                   // movdqa        -0x38(%ebp),%xmm2
+  .byte  102,15,254,208                      // paddd         %xmm0,%xmm2
+  .byte  102,15,111,218                      // movdqa        %xmm2,%xmm3
+  .byte  102,15,254,93,152                   // paddd         -0x68(%ebp),%xmm3
+  .byte  102,15,112,203,245                  // pshufd        $0xf5,%xmm3,%xmm1
+  .byte  102,15,244,220                      // pmuludq       %xmm4,%xmm3
+  .byte  102,15,244,204                      // pmuludq       %xmm4,%xmm1
+  .byte  102,15,112,233,232                  // pshufd        $0xe8,%xmm1,%xmm5
+  .byte  102,15,112,203,232                  // pshufd        $0xe8,%xmm3,%xmm1
+  .byte  102,15,98,205                       // punpckldq     %xmm5,%xmm1
+  .byte  102,15,126,216                      // movd          %xmm3,%eax
+  .byte  102,15,112,217,229                  // pshufd        $0xe5,%xmm1,%xmm3
+  .byte  102,15,126,222                      // movd          %xmm3,%esi
+  .byte  102,15,112,217,78                   // pshufd        $0x4e,%xmm1,%xmm3
+  .byte  102,15,126,223                      // movd          %xmm3,%edi
+  .byte  102,15,112,217,231                  // pshufd        $0xe7,%xmm1,%xmm3
+  .byte  102,15,126,219                      // movd          %xmm3,%ebx
+  .byte  243,15,16,28,154                    // movss         (%edx,%ebx,4),%xmm3
+  .byte  243,15,16,44,186                    // movss         (%edx,%edi,4),%xmm5
+  .byte  15,20,235                           // unpcklps      %xmm3,%xmm5
+  .byte  243,15,16,52,178                    // movss         (%edx,%esi,4),%xmm6
+  .byte  243,15,16,4,130                     // movss         (%edx,%eax,4),%xmm0
+  .byte  15,20,198                           // unpcklps      %xmm6,%xmm0
+  .byte  102,15,20,197                       // unpcklpd      %xmm5,%xmm0
+  .byte  102,15,41,69,200                    // movapd        %xmm0,-0x38(%ebp)
+  .byte  102,15,111,233                      // movdqa        %xmm1,%xmm5
+  .byte  102,15,118,219                      // pcmpeqd       %xmm3,%xmm3
+  .byte  102,15,250,235                      // psubd         %xmm3,%xmm5
+  .byte  102,15,112,245,229                  // pshufd        $0xe5,%xmm5,%xmm6
+  .byte  102,15,126,240                      // movd          %xmm6,%eax
+  .byte  102,15,112,245,78                   // pshufd        $0x4e,%xmm5,%xmm6
+  .byte  102,15,126,246                      // movd          %xmm6,%esi
+  .byte  102,15,126,239                      // movd          %xmm5,%edi
+  .byte  102,15,112,237,231                  // pshufd        $0xe7,%xmm5,%xmm5
+  .byte  102,15,126,235                      // movd          %xmm5,%ebx
+  .byte  243,15,16,44,154                    // movss         (%edx,%ebx,4),%xmm5
+  .byte  243,15,16,4,178                     // movss         (%edx,%esi,4),%xmm0
+  .byte  15,20,197                           // unpcklps      %xmm5,%xmm0
+  .byte  243,15,16,52,186                    // movss         (%edx,%edi,4),%xmm6
+  .byte  243,15,16,44,130                    // movss         (%edx,%eax,4),%xmm5
+  .byte  15,20,245                           // unpcklps      %xmm5,%xmm6
+  .byte  102,15,20,240                       // unpcklpd      %xmm0,%xmm6
+  .byte  102,15,254,137,32,125,0,0           // paddd         0x7d20(%ecx),%xmm1
+  .byte  102,15,112,193,229                  // pshufd        $0xe5,%xmm1,%xmm0
+  .byte  102,15,126,192                      // movd          %xmm0,%eax
+  .byte  102,15,112,193,78                   // pshufd        $0x4e,%xmm1,%xmm0
+  .byte  102,15,126,198                      // movd          %xmm0,%esi
+  .byte  102,15,126,207                      // movd          %xmm1,%edi
+  .byte  102,15,112,193,231                  // pshufd        $0xe7,%xmm1,%xmm0
+  .byte  102,15,126,195                      // movd          %xmm0,%ebx
+  .byte  243,15,16,4,154                     // movss         (%edx,%ebx,4),%xmm0
+  .byte  243,15,16,44,178                    // movss         (%edx,%esi,4),%xmm5
+  .byte  15,20,232                           // unpcklps      %xmm0,%xmm5
+  .byte  243,15,16,36,186                    // movss         (%edx,%edi,4),%xmm4
+  .byte  243,15,16,4,130                     // movss         (%edx,%eax,4),%xmm0
+  .byte  15,20,224                           // unpcklps      %xmm0,%xmm4
+  .byte  102,15,20,229                       // unpcklpd      %xmm5,%xmm4
+  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
+  .byte  102,15,254,77,168                   // paddd         -0x58(%ebp),%xmm1
+  .byte  102,15,112,193,245                  // pshufd        $0xf5,%xmm1,%xmm0
+  .byte  102,15,111,145,128,131,0,0          // movdqa        0x8380(%ecx),%xmm2
+  .byte  102,15,244,202                      // pmuludq       %xmm2,%xmm1
+  .byte  102,15,244,194                      // pmuludq       %xmm2,%xmm0
+  .byte  102,15,112,192,232                  // pshufd        $0xe8,%xmm0,%xmm0
+  .byte  102,15,112,233,232                  // pshufd        $0xe8,%xmm1,%xmm5
+  .byte  102,15,98,232                       // punpckldq     %xmm0,%xmm5
+  .byte  102,15,126,200                      // movd          %xmm1,%eax
+  .byte  102,15,112,197,229                  // pshufd        $0xe5,%xmm5,%xmm0
+  .byte  102,15,126,198                      // movd          %xmm0,%esi
+  .byte  102,15,112,197,78                   // pshufd        $0x4e,%xmm5,%xmm0
+  .byte  102,15,126,199                      // movd          %xmm0,%edi
+  .byte  102,15,112,197,231                  // pshufd        $0xe7,%xmm5,%xmm0
+  .byte  102,15,126,195                      // movd          %xmm0,%ebx
+  .byte  243,15,16,12,154                    // movss         (%edx,%ebx,4),%xmm1
+  .byte  243,15,16,4,186                     // movss         (%edx,%edi,4),%xmm0
+  .byte  15,20,193                           // unpcklps      %xmm1,%xmm0
+  .byte  243,15,16,12,178                    // movss         (%edx,%esi,4),%xmm1
+  .byte  243,15,16,20,130                    // movss         (%edx,%eax,4),%xmm2
+  .byte  15,20,209                           // unpcklps      %xmm1,%xmm2
+  .byte  102,15,20,208                       // unpcklpd      %xmm0,%xmm2
+  .byte  102,15,111,197                      // movdqa        %xmm5,%xmm0
+  .byte  102,15,250,195                      // psubd         %xmm3,%xmm0
+  .byte  102,15,112,200,229                  // pshufd        $0xe5,%xmm0,%xmm1
+  .byte  102,15,126,200                      // movd          %xmm1,%eax
+  .byte  102,15,112,200,78                   // pshufd        $0x4e,%xmm0,%xmm1
+  .byte  102,15,126,206                      // movd          %xmm1,%esi
+  .byte  102,15,126,199                      // movd          %xmm0,%edi
+  .byte  102,15,112,192,231                  // pshufd        $0xe7,%xmm0,%xmm0
+  .byte  102,15,126,195                      // movd          %xmm0,%ebx
+  .byte  243,15,16,4,154                     // movss         (%edx,%ebx,4),%xmm0
+  .byte  243,15,16,12,178                    // movss         (%edx,%esi,4),%xmm1
+  .byte  15,20,200                           // unpcklps      %xmm0,%xmm1
+  .byte  243,15,16,28,186                    // movss         (%edx,%edi,4),%xmm3
+  .byte  243,15,16,4,130                     // movss         (%edx,%eax,4),%xmm0
+  .byte  15,20,216                           // unpcklps      %xmm0,%xmm3
+  .byte  102,15,20,217                       // unpcklpd      %xmm1,%xmm3
+  .byte  102,15,254,169,32,125,0,0           // paddd         0x7d20(%ecx),%xmm5
+  .byte  102,15,112,197,229                  // pshufd        $0xe5,%xmm5,%xmm0
+  .byte  102,15,126,192                      // movd          %xmm0,%eax
+  .byte  102,15,112,197,78                   // pshufd        $0x4e,%xmm5,%xmm0
+  .byte  102,15,126,198                      // movd          %xmm0,%esi
+  .byte  102,15,126,239                      // movd          %xmm5,%edi
+  .byte  102,15,112,197,231                  // pshufd        $0xe7,%xmm5,%xmm0
+  .byte  102,15,126,195                      // movd          %xmm0,%ebx
+  .byte  243,15,16,4,154                     // movss         (%edx,%ebx,4),%xmm0
+  .byte  243,15,16,12,178                    // movss         (%edx,%esi,4),%xmm1
+  .byte  15,20,200                           // unpcklps      %xmm0,%xmm1
+  .byte  243,15,16,44,186                    // movss         (%edx,%edi,4),%xmm5
+  .byte  243,15,16,4,130                     // movss         (%edx,%eax,4),%xmm0
+  .byte  15,20,232                           // unpcklps      %xmm0,%xmm5
+  .byte  102,15,20,233                       // unpcklpd      %xmm1,%xmm5
+  .byte  15,40,77,200                        // movaps        -0x38(%ebp),%xmm1
+  .byte  15,92,209                           // subps         %xmm1,%xmm2
+  .byte  15,40,69,216                        // movaps        -0x28(%ebp),%xmm0
+  .byte  15,89,208                           // mulps         %xmm0,%xmm2
+  .byte  15,88,209                           // addps         %xmm1,%xmm2
+  .byte  15,92,222                           // subps         %xmm6,%xmm3
+  .byte  15,89,216                           // mulps         %xmm0,%xmm3
+  .byte  15,88,222                           // addps         %xmm6,%xmm3
+  .byte  15,92,236                           // subps         %xmm4,%xmm5
+  .byte  15,89,232                           // mulps         %xmm0,%xmm5
+  .byte  15,88,236                           // addps         %xmm4,%xmm5
+  .byte  15,91,133,40,255,255,255            // cvtdq2ps      -0xd8(%ebp),%xmm0
+  .byte  15,40,141,56,255,255,255            // movaps        -0xc8(%ebp),%xmm1
+  .byte  15,92,200                           // subps         %xmm0,%xmm1
+  .byte  15,41,141,56,255,255,255            // movaps        %xmm1,-0xc8(%ebp)
+  .byte  15,40,133,104,255,255,255           // movaps        -0x98(%ebp),%xmm0
+  .byte  15,92,208                           // subps         %xmm0,%xmm2
+  .byte  15,89,209                           // mulps         %xmm1,%xmm2
+  .byte  15,88,208                           // addps         %xmm0,%xmm2
+  .byte  15,41,149,40,255,255,255            // movaps        %xmm2,-0xd8(%ebp)
+  .byte  15,40,69,184                        // movaps        -0x48(%ebp),%xmm0
+  .byte  15,92,216                           // subps         %xmm0,%xmm3
+  .byte  15,89,217                           // mulps         %xmm1,%xmm3
+  .byte  15,88,216                           // addps         %xmm0,%xmm3
+  .byte  15,41,157,104,255,255,255           // movaps        %xmm3,-0x98(%ebp)
+  .byte  15,92,239                           // subps         %xmm7,%xmm5
+  .byte  15,89,233                           // mulps         %xmm1,%xmm5
+  .byte  15,88,239                           // addps         %xmm7,%xmm5
+  .byte  15,41,109,184                       // movaps        %xmm5,-0x48(%ebp)
+  .byte  243,15,91,69,136                    // cvttps2dq     -0x78(%ebp),%xmm0
+  .byte  102,15,112,200,245                  // pshufd        $0xf5,%xmm0,%xmm1
+  .byte  102,15,111,149,24,255,255,255       // movdqa        -0xe8(%ebp),%xmm2
+  .byte  102,15,244,202                      // pmuludq       %xmm2,%xmm1
+  .byte  102,15,244,208                      // pmuludq       %xmm0,%xmm2
+  .byte  102,15,112,226,232                  // pshufd        $0xe8,%xmm2,%xmm4
+  .byte  102,15,112,193,232                  // pshufd        $0xe8,%xmm1,%xmm0
+  .byte  102,15,98,224                       // punpckldq     %xmm0,%xmm4
+  .byte  102,15,127,165,24,255,255,255       // movdqa        %xmm4,-0xe8(%ebp)
+  .byte  102,15,254,165,200,254,255,255      // paddd         -0x138(%ebp),%xmm4
+  .byte  102,15,127,101,200                  // movdqa        %xmm4,-0x38(%ebp)
+  .byte  102,15,111,204                      // movdqa        %xmm4,%xmm1
+  .byte  102,15,254,141,72,255,255,255       // paddd         -0xb8(%ebp),%xmm1
+  .byte  102,15,111,209                      // movdqa        %xmm1,%xmm2
+  .byte  102,15,254,85,152                   // paddd         -0x68(%ebp),%xmm2
+  .byte  102,15,112,194,245                  // pshufd        $0xf5,%xmm2,%xmm0
+  .byte  102,15,111,153,128,131,0,0          // movdqa        0x8380(%ecx),%xmm3
+  .byte  102,15,244,211                      // pmuludq       %xmm3,%xmm2
+  .byte  102,15,244,195                      // pmuludq       %xmm3,%xmm0
+  .byte  102,15,111,251                      // movdqa        %xmm3,%xmm7
+  .byte  102,15,112,216,232                  // pshufd        $0xe8,%xmm0,%xmm3
+  .byte  102,15,112,194,232                  // pshufd        $0xe8,%xmm2,%xmm0
+  .byte  102,15,98,195                       // punpckldq     %xmm3,%xmm0
+  .byte  102,15,126,208                      // movd          %xmm2,%eax
+  .byte  102,15,112,208,229                  // pshufd        $0xe5,%xmm0,%xmm2
+  .byte  102,15,126,214                      // movd          %xmm2,%esi
+  .byte  102,15,112,208,78                   // pshufd        $0x4e,%xmm0,%xmm2
+  .byte  102,15,126,215                      // movd          %xmm2,%edi
+  .byte  102,15,112,208,231                  // pshufd        $0xe7,%xmm0,%xmm2
+  .byte  102,15,126,211                      // movd          %xmm2,%ebx
+  .byte  243,15,16,20,154                    // movss         (%edx,%ebx,4),%xmm2
+  .byte  243,15,16,28,186                    // movss         (%edx,%edi,4),%xmm3
+  .byte  15,20,218                           // unpcklps      %xmm2,%xmm3
+  .byte  243,15,16,20,178                    // movss         (%edx,%esi,4),%xmm2
+  .byte  243,15,16,36,130                    // movss         (%edx,%eax,4),%xmm4
+  .byte  15,20,226                           // unpcklps      %xmm2,%xmm4
+  .byte  102,15,20,227                       // unpcklpd      %xmm3,%xmm4
+  .byte  102,15,41,101,136                   // movapd        %xmm4,-0x78(%ebp)
+  .byte  102,15,111,208                      // movdqa        %xmm0,%xmm2
+  .byte  102,15,118,246                      // pcmpeqd       %xmm6,%xmm6
+  .byte  102,15,250,214                      // psubd         %xmm6,%xmm2
+  .byte  102,15,112,218,229                  // pshufd        $0xe5,%xmm2,%xmm3
+  .byte  102,15,126,216                      // movd          %xmm3,%eax
+  .byte  102,15,112,218,78                   // pshufd        $0x4e,%xmm2,%xmm3
+  .byte  102,15,126,222                      // movd          %xmm3,%esi
+  .byte  102,15,126,215                      // movd          %xmm2,%edi
+  .byte  102,15,112,210,231                  // pshufd        $0xe7,%xmm2,%xmm2
+  .byte  102,15,126,211                      // movd          %xmm2,%ebx
+  .byte  243,15,16,20,154                    // movss         (%edx,%ebx,4),%xmm2
+  .byte  243,15,16,28,178                    // movss         (%edx,%esi,4),%xmm3
+  .byte  15,20,218                           // unpcklps      %xmm2,%xmm3
+  .byte  243,15,16,36,186                    // movss         (%edx,%edi,4),%xmm4
+  .byte  243,15,16,44,130                    // movss         (%edx,%eax,4),%xmm5
+  .byte  15,20,229                           // unpcklps      %xmm5,%xmm4
+  .byte  102,15,20,227                       // unpcklpd      %xmm3,%xmm4
+  .byte  102,15,254,129,32,125,0,0           // paddd         0x7d20(%ecx),%xmm0
+  .byte  102,15,112,216,229                  // pshufd        $0xe5,%xmm0,%xmm3
+  .byte  102,15,126,216                      // movd          %xmm3,%eax
+  .byte  102,15,112,216,78                   // pshufd        $0x4e,%xmm0,%xmm3
+  .byte  102,15,126,222                      // movd          %xmm3,%esi
+  .byte  102,15,126,199                      // movd          %xmm0,%edi
+  .byte  102,15,112,192,231                  // pshufd        $0xe7,%xmm0,%xmm0
+  .byte  102,15,126,195                      // movd          %xmm0,%ebx
+  .byte  243,15,16,4,154                     // movss         (%edx,%ebx,4),%xmm0
+  .byte  243,15,16,28,178                    // movss         (%edx,%esi,4),%xmm3
+  .byte  15,20,216                           // unpcklps      %xmm0,%xmm3
+  .byte  243,15,16,20,186                    // movss         (%edx,%edi,4),%xmm2
+  .byte  243,15,16,44,130                    // movss         (%edx,%eax,4),%xmm5
+  .byte  15,20,213                           // unpcklps      %xmm5,%xmm2
+  .byte  102,15,20,211                       // unpcklpd      %xmm3,%xmm2
+  .byte  102,15,254,77,168                   // paddd         -0x58(%ebp),%xmm1
+  .byte  102,15,112,217,245                  // pshufd        $0xf5,%xmm1,%xmm3
+  .byte  102,15,244,207                      // pmuludq       %xmm7,%xmm1
+  .byte  102,15,244,223                      // pmuludq       %xmm7,%xmm3
+  .byte  102,15,112,219,232                  // pshufd        $0xe8,%xmm3,%xmm3
+  .byte  102,15,112,249,232                  // pshufd        $0xe8,%xmm1,%xmm7
+  .byte  102,15,98,251                       // punpckldq     %xmm3,%xmm7
+  .byte  102,15,126,200                      // movd          %xmm1,%eax
+  .byte  102,15,112,207,229                  // pshufd        $0xe5,%xmm7,%xmm1
+  .byte  102,15,126,206                      // movd          %xmm1,%esi
+  .byte  102,15,112,207,78                   // pshufd        $0x4e,%xmm7,%xmm1
+  .byte  102,15,126,207                      // movd          %xmm1,%edi
+  .byte  102,15,112,207,231                  // pshufd        $0xe7,%xmm7,%xmm1
+  .byte  102,15,126,203                      // movd          %xmm1,%ebx
+  .byte  243,15,16,12,154                    // movss         (%edx,%ebx,4),%xmm1
+  .byte  243,15,16,28,186                    // movss         (%edx,%edi,4),%xmm3
+  .byte  15,20,217                           // unpcklps      %xmm1,%xmm3
+  .byte  243,15,16,12,178                    // movss         (%edx,%esi,4),%xmm1
+  .byte  243,15,16,4,130                     // movss         (%edx,%eax,4),%xmm0
+  .byte  15,20,193                           // unpcklps      %xmm1,%xmm0
+  .byte  102,15,20,195                       // unpcklpd      %xmm3,%xmm0
+  .byte  102,15,111,207                      // movdqa        %xmm7,%xmm1
+  .byte  102,15,250,206                      // psubd         %xmm6,%xmm1
+  .byte  102,15,112,217,229                  // pshufd        $0xe5,%xmm1,%xmm3
+  .byte  102,15,126,216                      // movd          %xmm3,%eax
+  .byte  102,15,112,217,78                   // pshufd        $0x4e,%xmm1,%xmm3
+  .byte  102,15,126,222                      // movd          %xmm3,%esi
+  .byte  102,15,126,207                      // movd          %xmm1,%edi
+  .byte  102,15,112,201,231                  // pshufd        $0xe7,%xmm1,%xmm1
+  .byte  102,15,126,203                      // movd          %xmm1,%ebx
+  .byte  243,15,16,12,154                    // movss         (%edx,%ebx,4),%xmm1
+  .byte  243,15,16,28,178                    // movss         (%edx,%esi,4),%xmm3
+  .byte  15,20,217                           // unpcklps      %xmm1,%xmm3
+  .byte  243,15,16,44,186                    // movss         (%edx,%edi,4),%xmm5
+  .byte  243,15,16,52,130                    // movss         (%edx,%eax,4),%xmm6
+  .byte  15,20,238                           // unpcklps      %xmm6,%xmm5
+  .byte  102,15,20,235                       // unpcklpd      %xmm3,%xmm5
+  .byte  102,15,111,137,32,125,0,0           // movdqa        0x7d20(%ecx),%xmm1
+  .byte  102,15,254,249                      // paddd         %xmm1,%xmm7
+  .byte  102,15,112,223,229                  // pshufd        $0xe5,%xmm7,%xmm3
+  .byte  102,15,126,216                      // movd          %xmm3,%eax
+  .byte  102,15,112,223,78                   // pshufd        $0x4e,%xmm7,%xmm3
+  .byte  102,15,126,222                      // movd          %xmm3,%esi
+  .byte  102,15,126,255                      // movd          %xmm7,%edi
+  .byte  102,15,112,223,231                  // pshufd        $0xe7,%xmm7,%xmm3
+  .byte  102,15,126,219                      // movd          %xmm3,%ebx
+  .byte  243,15,16,28,154                    // movss         (%edx,%ebx,4),%xmm3
+  .byte  243,15,16,52,178                    // movss         (%edx,%esi,4),%xmm6
+  .byte  15,20,243                           // unpcklps      %xmm3,%xmm6
+  .byte  243,15,16,60,186                    // movss         (%edx,%edi,4),%xmm7
+  .byte  243,15,16,28,130                    // movss         (%edx,%eax,4),%xmm3
+  .byte  15,20,251                           // unpcklps      %xmm3,%xmm7
+  .byte  102,15,20,254                       // unpcklpd      %xmm6,%xmm7
+  .byte  15,40,117,136                       // movaps        -0x78(%ebp),%xmm6
+  .byte  15,92,198                           // subps         %xmm6,%xmm0
+  .byte  15,40,93,216                        // movaps        -0x28(%ebp),%xmm3
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  15,88,198                           // addps         %xmm6,%xmm0
+  .byte  15,41,69,136                        // movaps        %xmm0,-0x78(%ebp)
+  .byte  15,92,236                           // subps         %xmm4,%xmm5
+  .byte  15,89,235                           // mulps         %xmm3,%xmm5
+  .byte  15,88,236                           // addps         %xmm4,%xmm5
+  .byte  15,92,250                           // subps         %xmm2,%xmm7
+  .byte  15,89,251                           // mulps         %xmm3,%xmm7
+  .byte  15,88,250                           // addps         %xmm2,%xmm7
+  .byte  102,15,111,85,200                   // movdqa        -0x38(%ebp),%xmm2
+  .byte  102,15,254,149,88,255,255,255       // paddd         -0xa8(%ebp),%xmm2
+  .byte  102,15,111,194                      // movdqa        %xmm2,%xmm0
+  .byte  102,15,111,226                      // movdqa        %xmm2,%xmm4
+  .byte  102,15,254,69,152                   // paddd         -0x68(%ebp),%xmm0
+  .byte  102,15,112,208,245                  // pshufd        $0xf5,%xmm0,%xmm2
+  .byte  102,15,111,153,128,131,0,0          // movdqa        0x8380(%ecx),%xmm3
+  .byte  102,15,244,195                      // pmuludq       %xmm3,%xmm0
+  .byte  102,15,244,211                      // pmuludq       %xmm3,%xmm2
+  .byte  102,15,112,218,232                  // pshufd        $0xe8,%xmm2,%xmm3
+  .byte  102,15,112,208,232                  // pshufd        $0xe8,%xmm0,%xmm2
+  .byte  102,15,98,211                       // punpckldq     %xmm3,%xmm2
+  .byte  102,15,126,192                      // movd          %xmm0,%eax
+  .byte  102,15,112,194,229                  // pshufd        $0xe5,%xmm2,%xmm0
+  .byte  102,15,126,198                      // movd          %xmm0,%esi
+  .byte  102,15,112,194,78                   // pshufd        $0x4e,%xmm2,%xmm0
+  .byte  102,15,126,199                      // movd          %xmm0,%edi
+  .byte  102,15,112,194,231                  // pshufd        $0xe7,%xmm2,%xmm0
+  .byte  102,15,126,195                      // movd          %xmm0,%ebx
+  .byte  243,15,16,4,154                     // movss         (%edx,%ebx,4),%xmm0
+  .byte  243,15,16,28,186                    // movss         (%edx,%edi,4),%xmm3
+  .byte  15,20,216                           // unpcklps      %xmm0,%xmm3
+  .byte  243,15,16,4,178                     // movss         (%edx,%esi,4),%xmm0
+  .byte  243,15,16,52,130                    // movss         (%edx,%eax,4),%xmm6
+  .byte  15,20,240                           // unpcklps      %xmm0,%xmm6
+  .byte  102,15,20,243                       // unpcklpd      %xmm3,%xmm6
+  .byte  102,15,41,117,200                   // movapd        %xmm6,-0x38(%ebp)
+  .byte  102,15,111,194                      // movdqa        %xmm2,%xmm0
+  .byte  102,15,118,219                      // pcmpeqd       %xmm3,%xmm3
+  .byte  102,15,250,195                      // psubd         %xmm3,%xmm0
+  .byte  102,15,112,216,229                  // pshufd        $0xe5,%xmm0,%xmm3
+  .byte  102,15,126,216                      // movd          %xmm3,%eax
+  .byte  102,15,112,216,78                   // pshufd        $0x4e,%xmm0,%xmm3
+  .byte  102,15,126,222                      // movd          %xmm3,%esi
+  .byte  102,15,126,199                      // movd          %xmm0,%edi
+  .byte  102,15,112,192,231                  // pshufd        $0xe7,%xmm0,%xmm0
+  .byte  102,15,126,195                      // movd          %xmm0,%ebx
+  .byte  243,15,16,28,154                    // movss         (%edx,%ebx,4),%xmm3
+  .byte  243,15,16,4,178                     // movss         (%edx,%esi,4),%xmm0
+  .byte  15,20,195                           // unpcklps      %xmm3,%xmm0
+  .byte  243,15,16,28,186                    // movss         (%edx,%edi,4),%xmm3
+  .byte  243,15,16,52,130                    // movss         (%edx,%eax,4),%xmm6
+  .byte  15,20,222                           // unpcklps      %xmm6,%xmm3
+  .byte  102,15,20,216                       // unpcklpd      %xmm0,%xmm3
+  .byte  102,15,41,157,232,254,255,255       // movapd        %xmm3,-0x118(%ebp)
+  .byte  102,15,254,209                      // paddd         %xmm1,%xmm2
+  .byte  102,15,112,194,229                  // pshufd        $0xe5,%xmm2,%xmm0
+  .byte  102,15,126,192                      // movd          %xmm0,%eax
+  .byte  102,15,112,194,78                   // pshufd        $0x4e,%xmm2,%xmm0
+  .byte  102,15,126,198                      // movd          %xmm0,%esi
+  .byte  102,15,126,215                      // movd          %xmm2,%edi
+  .byte  102,15,112,194,231                  // pshufd        $0xe7,%xmm2,%xmm0
+  .byte  102,15,126,195                      // movd          %xmm0,%ebx
+  .byte  243,15,16,4,154                     // movss         (%edx,%ebx,4),%xmm0
+  .byte  243,15,16,52,178                    // movss         (%edx,%esi,4),%xmm6
+  .byte  15,20,240                           // unpcklps      %xmm0,%xmm6
+  .byte  243,15,16,28,186                    // movss         (%edx,%edi,4),%xmm3
+  .byte  243,15,16,4,130                     // movss         (%edx,%eax,4),%xmm0
+  .byte  15,20,216                           // unpcklps      %xmm0,%xmm3
+  .byte  102,15,20,222                       // unpcklpd      %xmm6,%xmm3
+  .byte  102,15,111,212                      // movdqa        %xmm4,%xmm2
+  .byte  102,15,254,85,168                   // paddd         -0x58(%ebp),%xmm2
+  .byte  102,15,112,194,245                  // pshufd        $0xf5,%xmm2,%xmm0
+  .byte  102,15,111,137,128,131,0,0          // movdqa        0x8380(%ecx),%xmm1
+  .byte  102,15,244,209                      // pmuludq       %xmm1,%xmm2
+  .byte  102,15,244,193                      // pmuludq       %xmm1,%xmm0
+  .byte  102,15,112,240,232                  // pshufd        $0xe8,%xmm0,%xmm6
+  .byte  102,15,112,194,232                  // pshufd        $0xe8,%xmm2,%xmm0
+  .byte  102,15,98,198                       // punpckldq     %xmm6,%xmm0
+  .byte  102,15,126,208                      // movd          %xmm2,%eax
+  .byte  102,15,112,224,229                  // pshufd        $0xe5,%xmm0,%xmm4
+  .byte  102,15,126,230                      // movd          %xmm4,%esi
+  .byte  102,15,112,224,78                   // pshufd        $0x4e,%xmm0,%xmm4
+  .byte  102,15,126,231                      // movd          %xmm4,%edi
+  .byte  102,15,112,224,231                  // pshufd        $0xe7,%xmm0,%xmm4
+  .byte  102,15,126,227                      // movd          %xmm4,%ebx
+  .byte  243,15,16,36,154                    // movss         (%edx,%ebx,4),%xmm4
+  .byte  243,15,16,52,186                    // movss         (%edx,%edi,4),%xmm6
+  .byte  15,20,244                           // unpcklps      %xmm4,%xmm6
+  .byte  243,15,16,36,178                    // movss         (%edx,%esi,4),%xmm4
+  .byte  243,15,16,12,130                    // movss         (%edx,%eax,4),%xmm1
+  .byte  15,20,204                           // unpcklps      %xmm4,%xmm1
+  .byte  102,15,20,206                       // unpcklpd      %xmm6,%xmm1
+  .byte  102,15,111,224                      // movdqa        %xmm0,%xmm4
+  .byte  102,15,118,210                      // pcmpeqd       %xmm2,%xmm2
+  .byte  102,15,250,226                      // psubd         %xmm2,%xmm4
+  .byte  102,15,112,244,229                  // pshufd        $0xe5,%xmm4,%xmm6
+  .byte  102,15,126,240                      // movd          %xmm6,%eax
+  .byte  102,15,112,244,78                   // pshufd        $0x4e,%xmm4,%xmm6
+  .byte  102,15,126,246                      // movd          %xmm6,%esi
+  .byte  102,15,126,231                      // movd          %xmm4,%edi
+  .byte  102,15,112,228,231                  // pshufd        $0xe7,%xmm4,%xmm4
+  .byte  102,15,126,227                      // movd          %xmm4,%ebx
+  .byte  243,15,16,36,154                    // movss         (%edx,%ebx,4),%xmm4
+  .byte  243,15,16,52,178                    // movss         (%edx,%esi,4),%xmm6
+  .byte  15,20,244                           // unpcklps      %xmm4,%xmm6
+  .byte  243,15,16,20,186                    // movss         (%edx,%edi,4),%xmm2
+  .byte  243,15,16,36,130                    // movss         (%edx,%eax,4),%xmm4
+  .byte  15,20,212                           // unpcklps      %xmm4,%xmm2
+  .byte  102,15,20,214                       // unpcklpd      %xmm6,%xmm2
+  .byte  102,15,254,129,32,125,0,0           // paddd         0x7d20(%ecx),%xmm0
+  .byte  102,15,112,224,229                  // pshufd        $0xe5,%xmm0,%xmm4
+  .byte  102,15,126,224                      // movd          %xmm4,%eax
+  .byte  102,15,112,224,78                   // pshufd        $0x4e,%xmm0,%xmm4
+  .byte  102,15,126,230                      // movd          %xmm4,%esi
+  .byte  102,15,126,199                      // movd          %xmm0,%edi
+  .byte  102,15,112,192,231                  // pshufd        $0xe7,%xmm0,%xmm0
+  .byte  102,15,126,195                      // movd          %xmm0,%ebx
+  .byte  243,15,16,4,154                     // movss         (%edx,%ebx,4),%xmm0
+  .byte  243,15,16,36,178                    // movss         (%edx,%esi,4),%xmm4
+  .byte  15,20,224                           // unpcklps      %xmm0,%xmm4
+  .byte  243,15,16,52,186                    // movss         (%edx,%edi,4),%xmm6
+  .byte  243,15,16,4,130                     // movss         (%edx,%eax,4),%xmm0
+  .byte  15,20,240                           // unpcklps      %xmm0,%xmm6
+  .byte  102,15,20,244                       // unpcklpd      %xmm4,%xmm6
+  .byte  15,40,101,200                       // movaps        -0x38(%ebp),%xmm4
+  .byte  15,92,204                           // subps         %xmm4,%xmm1
+  .byte  15,40,69,216                        // movaps        -0x28(%ebp),%xmm0
+  .byte  15,89,200                           // mulps         %xmm0,%xmm1
+  .byte  15,88,204                           // addps         %xmm4,%xmm1
+  .byte  15,40,165,232,254,255,255           // movaps        -0x118(%ebp),%xmm4
+  .byte  15,92,212                           // subps         %xmm4,%xmm2
+  .byte  15,89,208                           // mulps         %xmm0,%xmm2
+  .byte  15,88,212                           // addps         %xmm4,%xmm2
+  .byte  15,92,243                           // subps         %xmm3,%xmm6
+  .byte  15,89,240                           // mulps         %xmm0,%xmm6
+  .byte  15,88,243                           // addps         %xmm3,%xmm6
+  .byte  15,40,93,136                        // movaps        -0x78(%ebp),%xmm3
+  .byte  15,92,203                           // subps         %xmm3,%xmm1
+  .byte  15,40,133,56,255,255,255            // movaps        -0xc8(%ebp),%xmm0
+  .byte  15,89,200                           // mulps         %xmm0,%xmm1
+  .byte  15,88,203                           // addps         %xmm3,%xmm1
+  .byte  15,40,217                           // movaps        %xmm1,%xmm3
+  .byte  15,92,213                           // subps         %xmm5,%xmm2
+  .byte  15,89,208                           // mulps         %xmm0,%xmm2
+  .byte  15,88,213                           // addps         %xmm5,%xmm2
+  .byte  15,92,247                           // subps         %xmm7,%xmm6
+  .byte  15,89,240                           // mulps         %xmm0,%xmm6
+  .byte  15,88,247                           // addps         %xmm7,%xmm6
+  .byte  15,91,133,216,254,255,255           // cvtdq2ps      -0x128(%ebp),%xmm0
+  .byte  15,40,141,248,254,255,255           // movaps        -0x108(%ebp),%xmm1
+  .byte  15,92,200                           // subps         %xmm0,%xmm1
+  .byte  15,41,141,248,254,255,255           // movaps        %xmm1,-0x108(%ebp)
+  .byte  15,40,133,40,255,255,255            // movaps        -0xd8(%ebp),%xmm0
+  .byte  15,92,216                           // subps         %xmm0,%xmm3
+  .byte  15,89,217                           // mulps         %xmm1,%xmm3
+  .byte  15,88,216                           // addps         %xmm0,%xmm3
+  .byte  15,41,157,40,255,255,255            // movaps        %xmm3,-0xd8(%ebp)
+  .byte  15,40,133,104,255,255,255           // movaps        -0x98(%ebp),%xmm0
+  .byte  15,92,208                           // subps         %xmm0,%xmm2
+  .byte  15,89,209                           // mulps         %xmm1,%xmm2
+  .byte  15,88,208                           // addps         %xmm0,%xmm2
+  .byte  15,41,149,104,255,255,255           // movaps        %xmm2,-0x98(%ebp)
+  .byte  15,40,69,184                        // movaps        -0x48(%ebp),%xmm0
+  .byte  15,92,240                           // subps         %xmm0,%xmm6
+  .byte  15,89,241                           // mulps         %xmm1,%xmm6
+  .byte  15,88,240                           // addps         %xmm0,%xmm6
+  .byte  15,41,181,216,254,255,255           // movaps        %xmm6,-0x128(%ebp)
+  .byte  243,15,91,141,120,255,255,255       // cvttps2dq     -0x88(%ebp),%xmm1
+  .byte  102,15,127,77,136                   // movdqa        %xmm1,-0x78(%ebp)
+  .byte  102,15,111,133,8,255,255,255        // movdqa        -0xf8(%ebp),%xmm0
+  .byte  102,15,254,193                      // paddd         %xmm1,%xmm0
+  .byte  102,15,127,133,8,255,255,255        // movdqa        %xmm0,-0xf8(%ebp)
+  .byte  102,15,111,141,72,255,255,255       // movdqa        -0xb8(%ebp),%xmm1
+  .byte  102,15,254,200                      // paddd         %xmm0,%xmm1
+  .byte  102,15,111,93,152                   // movdqa        -0x68(%ebp),%xmm3
+  .byte  102,15,254,217                      // paddd         %xmm1,%xmm3
+  .byte  102,15,112,211,245                  // pshufd        $0xf5,%xmm3,%xmm2
+  .byte  102,15,111,129,128,131,0,0          // movdqa        0x8380(%ecx),%xmm0
+  .byte  102,15,244,216                      // pmuludq       %xmm0,%xmm3
+  .byte  102,15,244,208                      // pmuludq       %xmm0,%xmm2
+  .byte  102,15,111,248                      // movdqa        %xmm0,%xmm7
+  .byte  102,15,112,226,232                  // pshufd        $0xe8,%xmm2,%xmm4
+  .byte  102,15,112,211,232                  // pshufd        $0xe8,%xmm3,%xmm2
+  .byte  102,15,98,212                       // punpckldq     %xmm4,%xmm2
+  .byte  102,15,126,216                      // movd          %xmm3,%eax
+  .byte  102,15,112,218,229                  // pshufd        $0xe5,%xmm2,%xmm3
+  .byte  102,15,126,222                      // movd          %xmm3,%esi
+  .byte  102,15,112,218,78                   // pshufd        $0x4e,%xmm2,%xmm3
+  .byte  102,15,126,223                      // movd          %xmm3,%edi
+  .byte  102,15,112,218,231                  // pshufd        $0xe7,%xmm2,%xmm3
+  .byte  102,15,126,219                      // movd          %xmm3,%ebx
+  .byte  243,15,16,28,154                    // movss         (%edx,%ebx,4),%xmm3
+  .byte  243,15,16,44,186                    // movss         (%edx,%edi,4),%xmm5
+  .byte  15,20,235                           // unpcklps      %xmm3,%xmm5
+  .byte  243,15,16,28,178                    // movss         (%edx,%esi,4),%xmm3
+  .byte  243,15,16,4,130                     // movss         (%edx,%eax,4),%xmm0
+  .byte  15,20,195                           // unpcklps      %xmm3,%xmm0
+  .byte  102,15,20,197                       // unpcklpd      %xmm5,%xmm0
+  .byte  102,15,41,133,120,255,255,255       // movapd        %xmm0,-0x88(%ebp)
+  .byte  102,15,111,218                      // movdqa        %xmm2,%xmm3
+  .byte  102,15,118,192                      // pcmpeqd       %xmm0,%xmm0
+  .byte  102,15,250,216                      // psubd         %xmm0,%xmm3
+  .byte  102,15,112,235,229                  // pshufd        $0xe5,%xmm3,%xmm5
+  .byte  102,15,126,232                      // movd          %xmm5,%eax
+  .byte  102,15,112,235,78                   // pshufd        $0x4e,%xmm3,%xmm5
+  .byte  102,15,126,238                      // movd          %xmm5,%esi
+  .byte  102,15,126,223                      // movd          %xmm3,%edi
+  .byte  102,15,112,219,231                  // pshufd        $0xe7,%xmm3,%xmm3
+  .byte  102,15,126,219                      // movd          %xmm3,%ebx
+  .byte  243,15,16,28,154                    // movss         (%edx,%ebx,4),%xmm3
+  .byte  243,15,16,52,178                    // movss         (%edx,%esi,4),%xmm6
+  .byte  15,20,243                           // unpcklps      %xmm3,%xmm6
+  .byte  243,15,16,44,186                    // movss         (%edx,%edi,4),%xmm5
+  .byte  243,15,16,28,130                    // movss         (%edx,%eax,4),%xmm3
+  .byte  15,20,235                           // unpcklps      %xmm3,%xmm5
+  .byte  102,15,20,238                       // unpcklpd      %xmm6,%xmm5
+  .byte  102,15,254,145,32,125,0,0           // paddd         0x7d20(%ecx),%xmm2
+  .byte  102,15,112,218,229                  // pshufd        $0xe5,%xmm2,%xmm3
+  .byte  102,15,126,216                      // movd          %xmm3,%eax
+  .byte  102,15,112,218,78                   // pshufd        $0x4e,%xmm2,%xmm3
+  .byte  102,15,126,222                      // movd          %xmm3,%esi
+  .byte  102,15,126,215                      // movd          %xmm2,%edi
+  .byte  102,15,112,210,231                  // pshufd        $0xe7,%xmm2,%xmm2
+  .byte  102,15,126,211                      // movd          %xmm2,%ebx
+  .byte  243,15,16,20,154                    // movss         (%edx,%ebx,4),%xmm2
+  .byte  243,15,16,28,178                    // movss         (%edx,%esi,4),%xmm3
+  .byte  15,20,218                           // unpcklps      %xmm2,%xmm3
+  .byte  243,15,16,52,186                    // movss         (%edx,%edi,4),%xmm6
+  .byte  243,15,16,20,130                    // movss         (%edx,%eax,4),%xmm2
+  .byte  15,20,242                           // unpcklps      %xmm2,%xmm6
+  .byte  102,15,20,243                       // unpcklpd      %xmm3,%xmm6
+  .byte  102,15,254,77,168                   // paddd         -0x58(%ebp),%xmm1
+  .byte  102,15,112,209,245                  // pshufd        $0xf5,%xmm1,%xmm2
+  .byte  102,15,244,207                      // pmuludq       %xmm7,%xmm1
+  .byte  102,15,244,215                      // pmuludq       %xmm7,%xmm2
+  .byte  102,15,112,210,232                  // pshufd        $0xe8,%xmm2,%xmm2
+  .byte  102,15,112,217,232                  // pshufd        $0xe8,%xmm1,%xmm3
+  .byte  102,15,98,218                       // punpckldq     %xmm2,%xmm3
+  .byte  102,15,126,200                      // movd          %xmm1,%eax
+  .byte  102,15,112,203,229                  // pshufd        $0xe5,%xmm3,%xmm1
+  .byte  102,15,126,206                      // movd          %xmm1,%esi
+  .byte  102,15,112,203,78                   // pshufd        $0x4e,%xmm3,%xmm1
+  .byte  102,15,126,207                      // movd          %xmm1,%edi
+  .byte  102,15,112,203,231                  // pshufd        $0xe7,%xmm3,%xmm1
+  .byte  102,15,126,203                      // movd          %xmm1,%ebx
+  .byte  243,15,16,12,154                    // movss         (%edx,%ebx,4),%xmm1
+  .byte  243,15,16,20,186                    // movss         (%edx,%edi,4),%xmm2
+  .byte  15,20,209                           // unpcklps      %xmm1,%xmm2
+  .byte  243,15,16,60,178                    // movss         (%edx,%esi,4),%xmm7
+  .byte  243,15,16,36,130                    // movss         (%edx,%eax,4),%xmm4
+  .byte  15,20,231                           // unpcklps      %xmm7,%xmm4
+  .byte  102,15,20,226                       // unpcklpd      %xmm2,%xmm4
+  .byte  102,15,111,211                      // movdqa        %xmm3,%xmm2
+  .byte  102,15,250,208                      // psubd         %xmm0,%xmm2
+  .byte  102,15,112,250,229                  // pshufd        $0xe5,%xmm2,%xmm7
+  .byte  102,15,126,248                      // movd          %xmm7,%eax
+  .byte  102,15,112,250,78                   // pshufd        $0x4e,%xmm2,%xmm7
+  .byte  102,15,126,254                      // movd          %xmm7,%esi
+  .byte  102,15,126,215                      // movd          %xmm2,%edi
+  .byte  102,15,112,210,231                  // pshufd        $0xe7,%xmm2,%xmm2
+  .byte  102,15,126,211                      // movd          %xmm2,%ebx
+  .byte  243,15,16,20,154                    // movss         (%edx,%ebx,4),%xmm2
+  .byte  243,15,16,60,178                    // movss         (%edx,%esi,4),%xmm7
+  .byte  15,20,250                           // unpcklps      %xmm2,%xmm7
+  .byte  243,15,16,20,186                    // movss         (%edx,%edi,4),%xmm2
+  .byte  243,15,16,4,130                     // movss         (%edx,%eax,4),%xmm0
+  .byte  15,20,208                           // unpcklps      %xmm0,%xmm2
+  .byte  102,15,20,215                       // unpcklpd      %xmm7,%xmm2
+  .byte  102,15,111,137,32,125,0,0           // movdqa        0x7d20(%ecx),%xmm1
+  .byte  102,15,254,217                      // paddd         %xmm1,%xmm3
+  .byte  102,15,112,195,229                  // pshufd        $0xe5,%xmm3,%xmm0
+  .byte  102,15,126,192                      // movd          %xmm0,%eax
+  .byte  102,15,112,195,78                   // pshufd        $0x4e,%xmm3,%xmm0
+  .byte  102,15,126,198                      // movd          %xmm0,%esi
+  .byte  102,15,126,223                      // movd          %xmm3,%edi
+  .byte  102,15,112,195,231                  // pshufd        $0xe7,%xmm3,%xmm0
+  .byte  102,15,126,195                      // movd          %xmm0,%ebx
+  .byte  243,15,16,4,154                     // movss         (%edx,%ebx,4),%xmm0
+  .byte  243,15,16,60,178                    // movss         (%edx,%esi,4),%xmm7
+  .byte  15,20,248                           // unpcklps      %xmm0,%xmm7
+  .byte  243,15,16,28,186                    // movss         (%edx,%edi,4),%xmm3
+  .byte  243,15,16,4,130                     // movss         (%edx,%eax,4),%xmm0
+  .byte  15,20,216                           // unpcklps      %xmm0,%xmm3
+  .byte  102,15,20,223                       // unpcklpd      %xmm7,%xmm3
+  .byte  15,40,189,120,255,255,255           // movaps        -0x88(%ebp),%xmm7
+  .byte  15,92,231                           // subps         %xmm7,%xmm4
+  .byte  15,40,69,216                        // movaps        -0x28(%ebp),%xmm0
+  .byte  15,89,224                           // mulps         %xmm0,%xmm4
+  .byte  15,88,231                           // addps         %xmm7,%xmm4
+  .byte  15,41,165,120,255,255,255           // movaps        %xmm4,-0x88(%ebp)
+  .byte  15,92,213                           // subps         %xmm5,%xmm2
+  .byte  15,89,208                           // mulps         %xmm0,%xmm2
+  .byte  15,88,213                           // addps         %xmm5,%xmm2
+  .byte  15,41,85,200                        // movaps        %xmm2,-0x38(%ebp)
+  .byte  15,92,222                           // subps         %xmm6,%xmm3
+  .byte  15,89,216                           // mulps         %xmm0,%xmm3
+  .byte  15,88,222                           // addps         %xmm6,%xmm3
+  .byte  15,41,93,184                        // movaps        %xmm3,-0x48(%ebp)
+  .byte  102,15,111,149,8,255,255,255        // movdqa        -0xf8(%ebp),%xmm2
+  .byte  102,15,254,149,88,255,255,255       // paddd         -0xa8(%ebp),%xmm2
+  .byte  102,15,111,194                      // movdqa        %xmm2,%xmm0
+  .byte  102,15,254,69,152                   // paddd         -0x68(%ebp),%xmm0
+  .byte  102,15,112,224,245                  // pshufd        $0xf5,%xmm0,%xmm4
+  .byte  102,15,111,169,128,131,0,0          // movdqa        0x8380(%ecx),%xmm5
+  .byte  102,15,111,221                      // movdqa        %xmm5,%xmm3
+  .byte  102,15,244,195                      // pmuludq       %xmm3,%xmm0
+  .byte  102,15,244,227                      // pmuludq       %xmm3,%xmm4
+  .byte  102,15,112,228,232                  // pshufd        $0xe8,%xmm4,%xmm4
+  .byte  102,15,112,240,232                  // pshufd        $0xe8,%xmm0,%xmm6
+  .byte  102,15,98,244                       // punpckldq     %xmm4,%xmm6
+  .byte  102,15,126,192                      // movd          %xmm0,%eax
+  .byte  102,15,112,198,229                  // pshufd        $0xe5,%xmm6,%xmm0
+  .byte  102,15,126,198                      // movd          %xmm0,%esi
+  .byte  102,15,112,198,78                   // pshufd        $0x4e,%xmm6,%xmm0
+  .byte  102,15,126,199                      // movd          %xmm0,%edi
+  .byte  102,15,112,198,231                  // pshufd        $0xe7,%xmm6,%xmm0
+  .byte  102,15,126,195                      // movd          %xmm0,%ebx
+  .byte  243,15,16,4,154                     // movss         (%edx,%ebx,4),%xmm0
+  .byte  243,15,16,44,186                    // movss         (%edx,%edi,4),%xmm5
+  .byte  15,20,232                           // unpcklps      %xmm0,%xmm5
+  .byte  243,15,16,4,178                     // movss         (%edx,%esi,4),%xmm0
+  .byte  243,15,16,36,130                    // movss         (%edx,%eax,4),%xmm4
+  .byte  15,20,224                           // unpcklps      %xmm0,%xmm4
+  .byte  102,15,20,229                       // unpcklpd      %xmm5,%xmm4
+  .byte  102,15,111,198                      // movdqa        %xmm6,%xmm0
+  .byte  102,15,118,219                      // pcmpeqd       %xmm3,%xmm3
+  .byte  102,15,250,195                      // psubd         %xmm3,%xmm0
+  .byte  102,15,112,232,229                  // pshufd        $0xe5,%xmm0,%xmm5
+  .byte  102,15,126,232                      // movd          %xmm5,%eax
+  .byte  102,15,112,232,78                   // pshufd        $0x4e,%xmm0,%xmm5
+  .byte  102,15,126,238                      // movd          %xmm5,%esi
+  .byte  102,15,126,199                      // movd          %xmm0,%edi
+  .byte  102,15,112,192,231                  // pshufd        $0xe7,%xmm0,%xmm0
+  .byte  102,15,126,195                      // movd          %xmm0,%ebx
+  .byte  243,15,16,4,154                     // movss         (%edx,%ebx,4),%xmm0
+  .byte  243,15,16,60,178                    // movss         (%edx,%esi,4),%xmm7
+  .byte  15,20,248                           // unpcklps      %xmm0,%xmm7
+  .byte  243,15,16,44,186                    // movss         (%edx,%edi,4),%xmm5
+  .byte  243,15,16,4,130                     // movss         (%edx,%eax,4),%xmm0
+  .byte  15,20,232                           // unpcklps      %xmm0,%xmm5
+  .byte  102,15,20,239                       // unpcklpd      %xmm7,%xmm5
+  .byte  102,15,254,241                      // paddd         %xmm1,%xmm6
+  .byte  102,15,112,198,229                  // pshufd        $0xe5,%xmm6,%xmm0
+  .byte  102,15,126,192                      // movd          %xmm0,%eax
+  .byte  102,15,112,198,78                   // pshufd        $0x4e,%xmm6,%xmm0
+  .byte  102,15,126,198                      // movd          %xmm0,%esi
+  .byte  102,15,126,247                      // movd          %xmm6,%edi
+  .byte  102,15,112,198,231                  // pshufd        $0xe7,%xmm6,%xmm0
+  .byte  102,15,126,195                      // movd          %xmm0,%ebx
+  .byte  243,15,16,4,154                     // movss         (%edx,%ebx,4),%xmm0
+  .byte  243,15,16,60,178                    // movss         (%edx,%esi,4),%xmm7
+  .byte  15,20,248                           // unpcklps      %xmm0,%xmm7
+  .byte  243,15,16,52,186                    // movss         (%edx,%edi,4),%xmm6
+  .byte  243,15,16,4,130                     // movss         (%edx,%eax,4),%xmm0
+  .byte  15,20,240                           // unpcklps      %xmm0,%xmm6
+  .byte  102,15,20,247                       // unpcklpd      %xmm7,%xmm6
+  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
+  .byte  102,15,254,77,168                   // paddd         -0x58(%ebp),%xmm1
+  .byte  102,15,112,193,245                  // pshufd        $0xf5,%xmm1,%xmm0
+  .byte  102,15,111,145,128,131,0,0          // movdqa        0x8380(%ecx),%xmm2
+  .byte  102,15,244,202                      // pmuludq       %xmm2,%xmm1
+  .byte  102,15,244,194                      // pmuludq       %xmm2,%xmm0
+  .byte  102,15,112,192,232                  // pshufd        $0xe8,%xmm0,%xmm0
+  .byte  102,15,112,249,232                  // pshufd        $0xe8,%xmm1,%xmm7
+  .byte  102,15,98,248                       // punpckldq     %xmm0,%xmm7
+  .byte  102,15,126,200                      // movd          %xmm1,%eax
+  .byte  102,15,112,199,229                  // pshufd        $0xe5,%xmm7,%xmm0
+  .byte  102,15,126,198                      // movd          %xmm0,%esi
+  .byte  102,15,112,199,78                   // pshufd        $0x4e,%xmm7,%xmm0
+  .byte  102,15,126,199                      // movd          %xmm0,%edi
+  .byte  102,15,112,199,231                  // pshufd        $0xe7,%xmm7,%xmm0
+  .byte  102,15,126,195                      // movd          %xmm0,%ebx
+  .byte  243,15,16,12,154                    // movss         (%edx,%ebx,4),%xmm1
+  .byte  243,15,16,4,186                     // movss         (%edx,%edi,4),%xmm0
+  .byte  15,20,193                           // unpcklps      %xmm1,%xmm0
+  .byte  243,15,16,12,178                    // movss         (%edx,%esi,4),%xmm1
+  .byte  243,15,16,20,130                    // movss         (%edx,%eax,4),%xmm2
+  .byte  15,20,209                           // unpcklps      %xmm1,%xmm2
+  .byte  102,15,20,208                       // unpcklpd      %xmm0,%xmm2
+  .byte  102,15,111,199                      // movdqa        %xmm7,%xmm0
+  .byte  102,15,250,195                      // psubd         %xmm3,%xmm0
+  .byte  102,15,112,200,229                  // pshufd        $0xe5,%xmm0,%xmm1
+  .byte  102,15,126,200                      // movd          %xmm1,%eax
+  .byte  102,15,112,200,78                   // pshufd        $0x4e,%xmm0,%xmm1
+  .byte  102,15,126,206                      // movd          %xmm1,%esi
+  .byte  102,15,126,199                      // movd          %xmm0,%edi
+  .byte  102,15,112,192,231                  // pshufd        $0xe7,%xmm0,%xmm0
+  .byte  102,15,126,195                      // movd          %xmm0,%ebx
+  .byte  243,15,16,4,154                     // movss         (%edx,%ebx,4),%xmm0
+  .byte  243,15,16,12,178                    // movss         (%edx,%esi,4),%xmm1
+  .byte  15,20,200                           // unpcklps      %xmm0,%xmm1
+  .byte  243,15,16,28,186                    // movss         (%edx,%edi,4),%xmm3
+  .byte  243,15,16,4,130                     // movss         (%edx,%eax,4),%xmm0
+  .byte  15,20,216                           // unpcklps      %xmm0,%xmm3
+  .byte  102,15,20,217                       // unpcklpd      %xmm1,%xmm3
+  .byte  102,15,254,185,32,125,0,0           // paddd         0x7d20(%ecx),%xmm7
+  .byte  102,15,112,199,229                  // pshufd        $0xe5,%xmm7,%xmm0
+  .byte  102,15,126,192                      // movd          %xmm0,%eax
+  .byte  102,15,112,199,78                   // pshufd        $0x4e,%xmm7,%xmm0
+  .byte  102,15,126,198                      // movd          %xmm0,%esi
+  .byte  102,15,126,255                      // movd          %xmm7,%edi
+  .byte  102,15,112,199,231                  // pshufd        $0xe7,%xmm7,%xmm0
+  .byte  102,15,126,195                      // movd          %xmm0,%ebx
+  .byte  243,15,16,4,154                     // movss         (%edx,%ebx,4),%xmm0
+  .byte  243,15,16,12,178                    // movss         (%edx,%esi,4),%xmm1
+  .byte  15,20,200                           // unpcklps      %xmm0,%xmm1
+  .byte  243,15,16,60,186                    // movss         (%edx,%edi,4),%xmm7
+  .byte  243,15,16,4,130                     // movss         (%edx,%eax,4),%xmm0
+  .byte  15,20,248                           // unpcklps      %xmm0,%xmm7
+  .byte  102,15,20,249                       // unpcklpd      %xmm1,%xmm7
+  .byte  15,92,212                           // subps         %xmm4,%xmm2
+  .byte  15,40,69,216                        // movaps        -0x28(%ebp),%xmm0
+  .byte  15,89,208                           // mulps         %xmm0,%xmm2
+  .byte  15,88,212                           // addps         %xmm4,%xmm2
+  .byte  15,92,221                           // subps         %xmm5,%xmm3
+  .byte  15,89,216                           // mulps         %xmm0,%xmm3
+  .byte  15,88,221                           // addps         %xmm5,%xmm3
+  .byte  15,92,254                           // subps         %xmm6,%xmm7
+  .byte  15,89,248                           // mulps         %xmm0,%xmm7
+  .byte  15,88,254                           // addps         %xmm6,%xmm7
+  .byte  15,40,141,120,255,255,255           // movaps        -0x88(%ebp),%xmm1
+  .byte  15,92,209                           // subps         %xmm1,%xmm2
+  .byte  15,40,133,56,255,255,255            // movaps        -0xc8(%ebp),%xmm0
+  .byte  15,89,208                           // mulps         %xmm0,%xmm2
+  .byte  15,88,209                           // addps         %xmm1,%xmm2
+  .byte  15,41,149,8,255,255,255             // movaps        %xmm2,-0xf8(%ebp)
+  .byte  15,40,77,200                        // movaps        -0x38(%ebp),%xmm1
+  .byte  15,92,217                           // subps         %xmm1,%xmm3
+  .byte  15,89,216                           // mulps         %xmm0,%xmm3
+  .byte  15,88,217                           // addps         %xmm1,%xmm3
+  .byte  15,41,157,120,255,255,255           // movaps        %xmm3,-0x88(%ebp)
+  .byte  15,40,77,184                        // movaps        -0x48(%ebp),%xmm1
+  .byte  15,92,249                           // subps         %xmm1,%xmm7
+  .byte  15,89,248                           // mulps         %xmm0,%xmm7
+  .byte  15,88,249                           // addps         %xmm1,%xmm7
+  .byte  15,41,125,184                       // movaps        %xmm7,-0x48(%ebp)
+  .byte  102,15,111,133,24,255,255,255       // movdqa        -0xe8(%ebp),%xmm0
+  .byte  102,15,254,69,136                   // paddd         -0x78(%ebp),%xmm0
+  .byte  102,15,127,133,24,255,255,255       // movdqa        %xmm0,-0xe8(%ebp)
+  .byte  102,15,111,141,72,255,255,255       // movdqa        -0xb8(%ebp),%xmm1
+  .byte  102,15,254,200                      // paddd         %xmm0,%xmm1
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,15,111,233                      // movdqa        %xmm1,%xmm5
+  .byte  102,15,254,69,152                   // paddd         -0x68(%ebp),%xmm0
+  .byte  102,15,112,200,245                  // pshufd        $0xf5,%xmm0,%xmm1
+  .byte  102,15,111,145,128,131,0,0          // movdqa        0x8380(%ecx),%xmm2
+  .byte  102,15,244,194                      // pmuludq       %xmm2,%xmm0
+  .byte  102,15,244,202                      // pmuludq       %xmm2,%xmm1
+  .byte  102,15,111,250                      // movdqa        %xmm2,%xmm7
+  .byte  102,15,112,201,232                  // pshufd        $0xe8,%xmm1,%xmm1
+  .byte  102,15,112,208,232                  // pshufd        $0xe8,%xmm0,%xmm2
+  .byte  102,15,98,209                       // punpckldq     %xmm1,%xmm2
+  .byte  102,15,126,192                      // movd          %xmm0,%eax
+  .byte  102,15,112,194,229                  // pshufd        $0xe5,%xmm2,%xmm0
+  .byte  102,15,126,198                      // movd          %xmm0,%esi
+  .byte  102,15,112,194,78                   // pshufd        $0x4e,%xmm2,%xmm0
+  .byte  102,15,126,199                      // movd          %xmm0,%edi
+  .byte  102,15,112,194,231                  // pshufd        $0xe7,%xmm2,%xmm0
+  .byte  102,15,126,195                      // movd          %xmm0,%ebx
+  .byte  243,15,16,4,154                     // movss         (%edx,%ebx,4),%xmm0
+  .byte  243,15,16,12,186                    // movss         (%edx,%edi,4),%xmm1
+  .byte  15,20,200                           // unpcklps      %xmm0,%xmm1
+  .byte  243,15,16,28,178                    // movss         (%edx,%esi,4),%xmm3
+  .byte  243,15,16,4,130                     // movss         (%edx,%eax,4),%xmm0
+  .byte  15,20,195                           // unpcklps      %xmm3,%xmm0
+  .byte  102,15,20,193                       // unpcklpd      %xmm1,%xmm0
+  .byte  102,15,41,133,72,255,255,255        // movapd        %xmm0,-0xb8(%ebp)
+  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
+  .byte  102,15,118,246                      // pcmpeqd       %xmm6,%xmm6
+  .byte  102,15,250,206                      // psubd         %xmm6,%xmm1
+  .byte  102,15,112,217,229                  // pshufd        $0xe5,%xmm1,%xmm3
+  .byte  102,15,126,216                      // movd          %xmm3,%eax
+  .byte  102,15,112,217,78                   // pshufd        $0x4e,%xmm1,%xmm3
+  .byte  102,15,126,222                      // movd          %xmm3,%esi
+  .byte  102,15,126,207                      // movd          %xmm1,%edi
+  .byte  102,15,112,201,231                  // pshufd        $0xe7,%xmm1,%xmm1
+  .byte  102,15,126,203                      // movd          %xmm1,%ebx
+  .byte  243,15,16,12,154                    // movss         (%edx,%ebx,4),%xmm1
+  .byte  243,15,16,28,178                    // movss         (%edx,%esi,4),%xmm3
+  .byte  15,20,217                           // unpcklps      %xmm1,%xmm3
+  .byte  243,15,16,12,186                    // movss         (%edx,%edi,4),%xmm1
+  .byte  243,15,16,36,130                    // movss         (%edx,%eax,4),%xmm4
+  .byte  15,20,204                           // unpcklps      %xmm4,%xmm1
+  .byte  102,15,20,203                       // unpcklpd      %xmm3,%xmm1
+  .byte  102,15,254,145,32,125,0,0           // paddd         0x7d20(%ecx),%xmm2
+  .byte  102,15,112,218,229                  // pshufd        $0xe5,%xmm2,%xmm3
+  .byte  102,15,126,216                      // movd          %xmm3,%eax
+  .byte  102,15,112,218,78                   // pshufd        $0x4e,%xmm2,%xmm3
+  .byte  102,15,126,222                      // movd          %xmm3,%esi
+  .byte  102,15,126,215                      // movd          %xmm2,%edi
+  .byte  102,15,112,210,231                  // pshufd        $0xe7,%xmm2,%xmm2
+  .byte  102,15,126,211                      // movd          %xmm2,%ebx
+  .byte  243,15,16,20,154                    // movss         (%edx,%ebx,4),%xmm2
+  .byte  243,15,16,28,178                    // movss         (%edx,%esi,4),%xmm3
+  .byte  15,20,218                           // unpcklps      %xmm2,%xmm3
+  .byte  243,15,16,20,186                    // movss         (%edx,%edi,4),%xmm2
+  .byte  243,15,16,36,130                    // movss         (%edx,%eax,4),%xmm4
+  .byte  15,20,212                           // unpcklps      %xmm4,%xmm2
+  .byte  102,15,20,211                       // unpcklpd      %xmm3,%xmm2
+  .byte  102,15,111,229                      // movdqa        %xmm5,%xmm4
+  .byte  102,15,254,101,168                  // paddd         -0x58(%ebp),%xmm4
+  .byte  102,15,112,220,245                  // pshufd        $0xf5,%xmm4,%xmm3
+  .byte  102,15,244,231                      // pmuludq       %xmm7,%xmm4
+  .byte  102,15,111,236                      // movdqa        %xmm4,%xmm5
+  .byte  102,15,244,223                      // pmuludq       %xmm7,%xmm3
+  .byte  102,15,112,227,232                  // pshufd        $0xe8,%xmm3,%xmm4
+  .byte  102,15,112,221,232                  // pshufd        $0xe8,%xmm5,%xmm3
+  .byte  102,15,98,220                       // punpckldq     %xmm4,%xmm3
+  .byte  102,15,126,232                      // movd          %xmm5,%eax
+  .byte  102,15,112,227,229                  // pshufd        $0xe5,%xmm3,%xmm4
+  .byte  102,15,126,230                      // movd          %xmm4,%esi
+  .byte  102,15,112,227,78                   // pshufd        $0x4e,%xmm3,%xmm4
+  .byte  102,15,126,231                      // movd          %xmm4,%edi
+  .byte  102,15,112,227,231                  // pshufd        $0xe7,%xmm3,%xmm4
+  .byte  102,15,126,227                      // movd          %xmm4,%ebx
+  .byte  243,15,16,36,154                    // movss         (%edx,%ebx,4),%xmm4
+  .byte  243,15,16,44,186                    // movss         (%edx,%edi,4),%xmm5
+  .byte  15,20,236                           // unpcklps      %xmm4,%xmm5
+  .byte  243,15,16,36,178                    // movss         (%edx,%esi,4),%xmm4
+  .byte  243,15,16,4,130                     // movss         (%edx,%eax,4),%xmm0
+  .byte  15,20,196                           // unpcklps      %xmm4,%xmm0
+  .byte  102,15,20,197                       // unpcklpd      %xmm5,%xmm0
+  .byte  102,15,111,227                      // movdqa        %xmm3,%xmm4
+  .byte  102,15,250,230                      // psubd         %xmm6,%xmm4
+  .byte  102,15,112,236,229                  // pshufd        $0xe5,%xmm4,%xmm5
+  .byte  102,15,126,232                      // movd          %xmm5,%eax
+  .byte  102,15,112,236,78                   // pshufd        $0x4e,%xmm4,%xmm5
+  .byte  102,15,126,238                      // movd          %xmm5,%esi
+  .byte  102,15,126,231                      // movd          %xmm4,%edi
+  .byte  102,15,112,228,231                  // pshufd        $0xe7,%xmm4,%xmm4
+  .byte  102,15,126,227                      // movd          %xmm4,%ebx
+  .byte  243,15,16,36,154                    // movss         (%edx,%ebx,4),%xmm4
+  .byte  243,15,16,52,178                    // movss         (%edx,%esi,4),%xmm6
+  .byte  15,20,244                           // unpcklps      %xmm4,%xmm6
+  .byte  243,15,16,60,186                    // movss         (%edx,%edi,4),%xmm7
+  .byte  243,15,16,36,130                    // movss         (%edx,%eax,4),%xmm4
+  .byte  15,20,252                           // unpcklps      %xmm4,%xmm7
+  .byte  102,15,20,254                       // unpcklpd      %xmm6,%xmm7
+  .byte  102,15,254,153,32,125,0,0           // paddd         0x7d20(%ecx),%xmm3
+  .byte  102,15,112,227,229                  // pshufd        $0xe5,%xmm3,%xmm4
+  .byte  102,15,126,224                      // movd          %xmm4,%eax
+  .byte  102,15,112,227,78                   // pshufd        $0x4e,%xmm3,%xmm4
+  .byte  102,15,126,230                      // movd          %xmm4,%esi
+  .byte  102,15,126,223                      // movd          %xmm3,%edi
+  .byte  102,15,112,219,231                  // pshufd        $0xe7,%xmm3,%xmm3
+  .byte  102,15,126,219                      // movd          %xmm3,%ebx
+  .byte  243,15,16,28,154                    // movss         (%edx,%ebx,4),%xmm3
+  .byte  243,15,16,52,178                    // movss         (%edx,%esi,4),%xmm6
+  .byte  15,20,243                           // unpcklps      %xmm3,%xmm6
+  .byte  243,15,16,44,186                    // movss         (%edx,%edi,4),%xmm5
+  .byte  243,15,16,28,130                    // movss         (%edx,%eax,4),%xmm3
+  .byte  15,20,235                           // unpcklps      %xmm3,%xmm5
+  .byte  102,15,20,238                       // unpcklpd      %xmm6,%xmm5
+  .byte  15,40,165,72,255,255,255            // movaps        -0xb8(%ebp),%xmm4
+  .byte  15,92,196                           // subps         %xmm4,%xmm0
+  .byte  15,40,93,216                        // movaps        -0x28(%ebp),%xmm3
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  15,88,196                           // addps         %xmm4,%xmm0
+  .byte  15,41,133,72,255,255,255            // movaps        %xmm0,-0xb8(%ebp)
+  .byte  15,92,249                           // subps         %xmm1,%xmm7
+  .byte  15,89,251                           // mulps         %xmm3,%xmm7
+  .byte  15,88,249                           // addps         %xmm1,%xmm7
+  .byte  15,92,234                           // subps         %xmm2,%xmm5
+  .byte  15,89,235                           // mulps         %xmm3,%xmm5
+  .byte  15,88,234                           // addps         %xmm2,%xmm5
+  .byte  102,15,111,133,24,255,255,255       // movdqa        -0xe8(%ebp),%xmm0
+  .byte  102,15,254,133,88,255,255,255       // paddd         -0xa8(%ebp),%xmm0
+  .byte  102,15,111,85,152                   // movdqa        -0x68(%ebp),%xmm2
+  .byte  102,15,254,208                      // paddd         %xmm0,%xmm2
+  .byte  102,15,111,216                      // movdqa        %xmm0,%xmm3
+  .byte  102,15,112,194,245                  // pshufd        $0xf5,%xmm2,%xmm0
+  .byte  102,15,111,137,128,131,0,0          // movdqa        0x8380(%ecx),%xmm1
+  .byte  102,15,244,209                      // pmuludq       %xmm1,%xmm2
+  .byte  102,15,244,193                      // pmuludq       %xmm1,%xmm0
+  .byte  102,15,111,241                      // movdqa        %xmm1,%xmm6
+  .byte  102,15,112,200,232                  // pshufd        $0xe8,%xmm0,%xmm1
+  .byte  102,15,112,194,232                  // pshufd        $0xe8,%xmm2,%xmm0
+  .byte  102,15,98,193                       // punpckldq     %xmm1,%xmm0
+  .byte  102,15,126,208                      // movd          %xmm2,%eax
+  .byte  102,15,112,200,229                  // pshufd        $0xe5,%xmm0,%xmm1
+  .byte  102,15,126,206                      // movd          %xmm1,%esi
+  .byte  102,15,112,200,78                   // pshufd        $0x4e,%xmm0,%xmm1
+  .byte  102,15,126,207                      // movd          %xmm1,%edi
+  .byte  102,15,112,200,231                  // pshufd        $0xe7,%xmm0,%xmm1
+  .byte  102,15,126,203                      // movd          %xmm1,%ebx
+  .byte  243,15,16,12,154                    // movss         (%edx,%ebx,4),%xmm1
+  .byte  243,15,16,20,186                    // movss         (%edx,%edi,4),%xmm2
+  .byte  15,20,209                           // unpcklps      %xmm1,%xmm2
+  .byte  243,15,16,12,178                    // movss         (%edx,%esi,4),%xmm1
+  .byte  243,15,16,36,130                    // movss         (%edx,%eax,4),%xmm4
+  .byte  15,20,225                           // unpcklps      %xmm1,%xmm4
+  .byte  102,15,20,226                       // unpcklpd      %xmm2,%xmm4
+  .byte  102,15,41,101,152                   // movapd        %xmm4,-0x68(%ebp)
+  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
+  .byte  102,15,118,210                      // pcmpeqd       %xmm2,%xmm2
+  .byte  102,15,250,202                      // psubd         %xmm2,%xmm1
+  .byte  102,15,112,209,229                  // pshufd        $0xe5,%xmm1,%xmm2
+  .byte  102,15,126,208                      // movd          %xmm2,%eax
+  .byte  102,15,112,209,78                   // pshufd        $0x4e,%xmm1,%xmm2
+  .byte  102,15,126,214                      // movd          %xmm2,%esi
+  .byte  102,15,126,207                      // movd          %xmm1,%edi
+  .byte  102,15,112,201,231                  // pshufd        $0xe7,%xmm1,%xmm1
+  .byte  102,15,126,203                      // movd          %xmm1,%ebx
+  .byte  243,15,16,12,154                    // movss         (%edx,%ebx,4),%xmm1
+  .byte  243,15,16,20,178                    // movss         (%edx,%esi,4),%xmm2
+  .byte  15,20,209                           // unpcklps      %xmm1,%xmm2
+  .byte  243,15,16,36,186                    // movss         (%edx,%edi,4),%xmm4
+  .byte  243,15,16,12,130                    // movss         (%edx,%eax,4),%xmm1
+  .byte  15,20,225                           // unpcklps      %xmm1,%xmm4
+  .byte  102,15,20,226                       // unpcklpd      %xmm2,%xmm4
+  .byte  102,15,41,165,88,255,255,255        // movapd        %xmm4,-0xa8(%ebp)
+  .byte  102,15,254,129,32,125,0,0           // paddd         0x7d20(%ecx),%xmm0
+  .byte  102,15,112,200,229                  // pshufd        $0xe5,%xmm0,%xmm1
+  .byte  102,15,126,200                      // movd          %xmm1,%eax
+  .byte  102,15,112,200,78                   // pshufd        $0x4e,%xmm0,%xmm1
+  .byte  102,15,126,206                      // movd          %xmm1,%esi
+  .byte  102,15,126,199                      // movd          %xmm0,%edi
+  .byte  102,15,112,192,231                  // pshufd        $0xe7,%xmm0,%xmm0
+  .byte  102,15,126,195                      // movd          %xmm0,%ebx
+  .byte  243,15,16,4,154                     // movss         (%edx,%ebx,4),%xmm0
+  .byte  243,15,16,12,178                    // movss         (%edx,%esi,4),%xmm1
+  .byte  15,20,200                           // unpcklps      %xmm0,%xmm1
+  .byte  243,15,16,36,186                    // movss         (%edx,%edi,4),%xmm4
+  .byte  243,15,16,4,130                     // movss         (%edx,%eax,4),%xmm0
+  .byte  15,20,224                           // unpcklps      %xmm0,%xmm4
+  .byte  102,15,20,225                       // unpcklpd      %xmm1,%xmm4
+  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
+  .byte  102,15,254,77,168                   // paddd         -0x58(%ebp),%xmm1
+  .byte  102,15,112,193,245                  // pshufd        $0xf5,%xmm1,%xmm0
+  .byte  102,15,244,206                      // pmuludq       %xmm6,%xmm1
+  .byte  102,15,244,198                      // pmuludq       %xmm6,%xmm0
+  .byte  102,15,112,192,232                  // pshufd        $0xe8,%xmm0,%xmm0
+  .byte  102,15,112,209,232                  // pshufd        $0xe8,%xmm1,%xmm2
+  .byte  102,15,98,208                       // punpckldq     %xmm0,%xmm2
+  .byte  102,15,126,200                      // movd          %xmm1,%eax
+  .byte  102,15,112,194,229                  // pshufd        $0xe5,%xmm2,%xmm0
+  .byte  102,15,126,198                      // movd          %xmm0,%esi
+  .byte  102,15,112,194,78                   // pshufd        $0x4e,%xmm2,%xmm0
+  .byte  102,15,126,199                      // movd          %xmm0,%edi
+  .byte  102,15,112,194,231                  // pshufd        $0xe7,%xmm2,%xmm0
+  .byte  102,15,126,195                      // movd          %xmm0,%ebx
+  .byte  243,15,16,4,154                     // movss         (%edx,%ebx,4),%xmm0
+  .byte  243,15,16,12,186                    // movss         (%edx,%edi,4),%xmm1
+  .byte  15,20,200                           // unpcklps      %xmm0,%xmm1
+  .byte  243,15,16,28,178                    // movss         (%edx,%esi,4),%xmm3
+  .byte  243,15,16,4,130                     // movss         (%edx,%eax,4),%xmm0
+  .byte  15,20,195                           // unpcklps      %xmm3,%xmm0
+  .byte  102,15,20,193                       // unpcklpd      %xmm1,%xmm0
+  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
+  .byte  102,15,118,219                      // pcmpeqd       %xmm3,%xmm3
+  .byte  102,15,250,203                      // psubd         %xmm3,%xmm1
+  .byte  102,15,112,217,229                  // pshufd        $0xe5,%xmm1,%xmm3
+  .byte  102,15,126,216                      // movd          %xmm3,%eax
+  .byte  102,15,112,217,78                   // pshufd        $0x4e,%xmm1,%xmm3
+  .byte  102,15,126,222                      // movd          %xmm3,%esi
+  .byte  102,15,126,207                      // movd          %xmm1,%edi
+  .byte  102,15,112,201,231                  // pshufd        $0xe7,%xmm1,%xmm1
+  .byte  102,15,126,203                      // movd          %xmm1,%ebx
+  .byte  243,15,16,12,154                    // movss         (%edx,%ebx,4),%xmm1
+  .byte  243,15,16,28,178                    // movss         (%edx,%esi,4),%xmm3
+  .byte  15,20,217                           // unpcklps      %xmm1,%xmm3
+  .byte  243,15,16,12,186                    // movss         (%edx,%edi,4),%xmm1
+  .byte  243,15,16,52,130                    // movss         (%edx,%eax,4),%xmm6
+  .byte  15,20,206                           // unpcklps      %xmm6,%xmm1
+  .byte  102,15,20,203                       // unpcklpd      %xmm3,%xmm1
+  .byte  102,15,254,145,32,125,0,0           // paddd         0x7d20(%ecx),%xmm2
+  .byte  102,15,112,218,229                  // pshufd        $0xe5,%xmm2,%xmm3
+  .byte  102,15,126,216                      // movd          %xmm3,%eax
+  .byte  102,15,112,218,78                   // pshufd        $0x4e,%xmm2,%xmm3
+  .byte  102,15,126,222                      // movd          %xmm3,%esi
+  .byte  102,15,126,215                      // movd          %xmm2,%edi
+  .byte  102,15,112,210,231                  // pshufd        $0xe7,%xmm2,%xmm2
+  .byte  102,15,126,211                      // movd          %xmm2,%ebx
+  .byte  243,15,16,20,154                    // movss         (%edx,%ebx,4),%xmm2
+  .byte  243,15,16,28,178                    // movss         (%edx,%esi,4),%xmm3
+  .byte  15,20,218                           // unpcklps      %xmm2,%xmm3
+  .byte  243,15,16,20,186                    // movss         (%edx,%edi,4),%xmm2
+  .byte  243,15,16,52,130                    // movss         (%edx,%eax,4),%xmm6
+  .byte  15,20,214                           // unpcklps      %xmm6,%xmm2
+  .byte  102,15,20,211                       // unpcklpd      %xmm3,%xmm2
+  .byte  15,40,117,152                       // movaps        -0x68(%ebp),%xmm6
+  .byte  15,92,198                           // subps         %xmm6,%xmm0
+  .byte  15,40,93,216                        // movaps        -0x28(%ebp),%xmm3
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  15,88,198                           // addps         %xmm6,%xmm0
+  .byte  15,40,181,88,255,255,255            // movaps        -0xa8(%ebp),%xmm6
+  .byte  15,92,206                           // subps         %xmm6,%xmm1
+  .byte  15,89,203                           // mulps         %xmm3,%xmm1
+  .byte  15,88,206                           // addps         %xmm6,%xmm1
+  .byte  15,92,212                           // subps         %xmm4,%xmm2
+  .byte  15,89,211                           // mulps         %xmm3,%xmm2
+  .byte  15,88,212                           // addps         %xmm4,%xmm2
+  .byte  15,40,165,72,255,255,255            // movaps        -0xb8(%ebp),%xmm4
+  .byte  15,92,196                           // subps         %xmm4,%xmm0
+  .byte  15,40,157,56,255,255,255            // movaps        -0xc8(%ebp),%xmm3
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  15,88,196                           // addps         %xmm4,%xmm0
+  .byte  15,92,207                           // subps         %xmm7,%xmm1
+  .byte  15,89,203                           // mulps         %xmm3,%xmm1
+  .byte  15,88,207                           // addps         %xmm7,%xmm1
+  .byte  15,92,213                           // subps         %xmm5,%xmm2
+  .byte  15,89,211                           // mulps         %xmm3,%xmm2
+  .byte  15,88,213                           // addps         %xmm5,%xmm2
+  .byte  15,40,165,8,255,255,255             // movaps        -0xf8(%ebp),%xmm4
+  .byte  15,92,196                           // subps         %xmm4,%xmm0
+  .byte  15,40,157,248,254,255,255           // movaps        -0x108(%ebp),%xmm3
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  15,88,196                           // addps         %xmm4,%xmm0
+  .byte  15,40,165,120,255,255,255           // movaps        -0x88(%ebp),%xmm4
+  .byte  15,92,204                           // subps         %xmm4,%xmm1
+  .byte  15,89,203                           // mulps         %xmm3,%xmm1
+  .byte  15,88,204                           // addps         %xmm4,%xmm1
+  .byte  15,40,101,184                       // movaps        -0x48(%ebp),%xmm4
+  .byte  15,92,212                           // subps         %xmm4,%xmm2
+  .byte  15,89,211                           // mulps         %xmm3,%xmm2
+  .byte  15,88,212                           // addps         %xmm4,%xmm2
+  .byte  15,91,157,200,254,255,255           // cvtdq2ps      -0x138(%ebp),%xmm3
+  .byte  15,40,165,168,254,255,255           // movaps        -0x158(%ebp),%xmm4
+  .byte  15,92,227                           // subps         %xmm3,%xmm4
+  .byte  15,40,157,40,255,255,255            // movaps        -0xd8(%ebp),%xmm3
+  .byte  15,92,195                           // subps         %xmm3,%xmm0
+  .byte  15,89,196                           // mulps         %xmm4,%xmm0
+  .byte  15,88,195                           // addps         %xmm3,%xmm0
+  .byte  15,40,157,104,255,255,255           // movaps        -0x98(%ebp),%xmm3
+  .byte  15,92,203                           // subps         %xmm3,%xmm1
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  15,88,203                           // addps         %xmm3,%xmm1
+  .byte  15,40,157,216,254,255,255           // movaps        -0x128(%ebp),%xmm3
+  .byte  15,92,211                           // subps         %xmm3,%xmm2
+  .byte  15,89,212                           // mulps         %xmm4,%xmm2
+  .byte  15,88,211                           // addps         %xmm3,%xmm2
+  .byte  139,85,12                           // mov           0xc(%ebp),%edx
+  .byte  141,66,8                            // lea           0x8(%edx),%eax
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,153,224,124,0,0               // movaps        0x7ce0(%ecx),%xmm3
+  .byte  80                                  // push          %eax
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,82,4                            // call          *0x4(%edx)
+  .byte  129,196,92,1,0,0                    // add           $0x15c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_gauss_a_to_rgba_sse2
+.globl _sk_gauss_a_to_rgba_sse2
+FUNCTION(_sk_gauss_a_to_rgba_sse2)
+_sk_gauss_a_to_rgba_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  232,0,0,0,0                         // call          9ed5 <_sk_gauss_a_to_rgba_sse2+0xb>
+  .byte  88                                  // pop           %eax
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  15,40,128,59,111,0,0                // movaps        0x6f3b(%eax),%xmm0
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  15,88,128,75,111,0,0                // addps         0x6f4b(%eax),%xmm0
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  15,88,128,91,111,0,0                // addps         0x6f5b(%eax),%xmm0
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  15,88,128,107,111,0,0               // addps         0x6f6b(%eax),%xmm0
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  15,88,128,123,111,0,0               // addps         0x6f7b(%eax),%xmm0
+  .byte  141,65,4                            // lea           0x4(%ecx),%eax
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  15,40,208                           // movaps        %xmm0,%xmm2
+  .byte  15,40,216                           // movaps        %xmm0,%xmm3
+  .byte  80                                  // push          %eax
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,17                              // call          *(%ecx)
+  .byte  131,196,24                          // add           $0x18,%esp
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_bilerp_clamp_8888_sse2
+.globl _sk_bilerp_clamp_8888_sse2
+FUNCTION(_sk_bilerp_clamp_8888_sse2)
+_sk_bilerp_clamp_8888_sse2:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  129,236,44,1,0,0                    // sub           $0x12c,%esp
+  .byte  232,0,0,0,0                         // call          9f33 <_sk_bilerp_clamp_8888_sse2+0x11>
+  .byte  94                                  // pop           %esi
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,56                              // mov           (%eax),%edi
+  .byte  15,40,158,29,104,0,0                // movaps        0x681d(%esi),%xmm3
+  .byte  15,41,133,8,255,255,255             // movaps        %xmm0,-0xf8(%ebp)
+  .byte  15,40,224                           // movaps        %xmm0,%xmm4
+  .byte  15,88,227                           // addps         %xmm3,%xmm4
+  .byte  243,15,91,196                       // cvttps2dq     %xmm4,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  15,40,212                           // movaps        %xmm4,%xmm2
+  .byte  15,194,208,1                        // cmpltps       %xmm0,%xmm2
+  .byte  15,40,174,45,104,0,0                // movaps        0x682d(%esi),%xmm5
+  .byte  15,84,213                           // andps         %xmm5,%xmm2
+  .byte  15,92,194                           // subps         %xmm2,%xmm0
+  .byte  15,92,224                           // subps         %xmm0,%xmm4
+  .byte  15,41,141,120,255,255,255           // movaps        %xmm1,-0x88(%ebp)
+  .byte  15,88,217                           // addps         %xmm1,%xmm3
+  .byte  243,15,91,195                       // cvttps2dq     %xmm3,%xmm0
+  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
+  .byte  15,40,203                           // movaps        %xmm3,%xmm1
+  .byte  15,194,200,1                        // cmpltps       %xmm0,%xmm1
+  .byte  15,84,205                           // andps         %xmm5,%xmm1
+  .byte  15,92,193                           // subps         %xmm1,%xmm0
+  .byte  15,92,216                           // subps         %xmm0,%xmm3
+  .byte  243,15,16,79,8                      // movss         0x8(%edi),%xmm1
+  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
+  .byte  102,15,118,192                      // pcmpeqd       %xmm0,%xmm0
+  .byte  102,15,254,200                      // paddd         %xmm0,%xmm1
+  .byte  102,15,127,141,40,255,255,255       // movdqa        %xmm1,-0xd8(%ebp)
+  .byte  243,15,16,79,12                     // movss         0xc(%edi),%xmm1
+  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
+  .byte  102,15,254,200                      // paddd         %xmm0,%xmm1
+  .byte  102,15,127,77,152                   // movdqa        %xmm1,-0x68(%ebp)
+  .byte  15,40,197                           // movaps        %xmm5,%xmm0
+  .byte  15,41,165,24,255,255,255            // movaps        %xmm4,-0xe8(%ebp)
+  .byte  15,92,196                           // subps         %xmm4,%xmm0
+  .byte  15,41,133,88,255,255,255            // movaps        %xmm0,-0xa8(%ebp)
+  .byte  15,41,93,136                        // movaps        %xmm3,-0x78(%ebp)
+  .byte  15,92,235                           // subps         %xmm3,%xmm5
+  .byte  15,41,109,184                       // movaps        %xmm5,-0x48(%ebp)
+  .byte  139,23                              // mov           (%edi),%edx
+  .byte  102,15,110,71,4                     // movd          0x4(%edi),%xmm0
+  .byte  102,15,112,192,0                    // pshufd        $0x0,%xmm0,%xmm0
+  .byte  102,15,127,69,168                   // movdqa        %xmm0,-0x58(%ebp)
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  243,15,16,134,49,112,0,0            // movss         0x7031(%esi),%xmm0
+  .byte  15,40,150,237,104,0,0               // movaps        0x68ed(%esi),%xmm2
+  .byte  15,41,149,56,255,255,255            // movaps        %xmm2,-0xc8(%ebp)
+  .byte  15,40,150,45,106,0,0                // movaps        0x6a2d(%esi),%xmm2
+  .byte  15,41,149,72,255,255,255            // movaps        %xmm2,-0xb8(%ebp)
+  .byte  243,15,16,150,53,112,0,0            // movss         0x7035(%esi),%xmm2
+  .byte  243,15,17,85,236                    // movss         %xmm2,-0x14(%ebp)
+  .byte  243,15,16,150,45,112,0,0            // movss         0x702d(%esi),%xmm2
+  .byte  243,15,17,85,240                    // movss         %xmm2,-0x10(%ebp)
+  .byte  15,87,246                           // xorps         %xmm6,%xmm6
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  15,41,85,216                        // movaps        %xmm2,-0x28(%ebp)
+  .byte  243,15,17,69,232                    // movss         %xmm0,-0x18(%ebp)
+  .byte  15,40,224                           // movaps        %xmm0,%xmm4
+  .byte  15,40,212                           // movaps        %xmm4,%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  15,88,149,120,255,255,255           // addps         -0x88(%ebp),%xmm2
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  15,95,194                           // maxps         %xmm2,%xmm0
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  15,41,165,104,255,255,255           // movaps        %xmm4,-0x98(%ebp)
+  .byte  15,46,226                           // ucomiss       %xmm2,%xmm4
+  .byte  15,40,85,136                        // movaps        -0x78(%ebp),%xmm2
+  .byte  15,41,85,200                        // movaps        %xmm2,-0x38(%ebp)
+  .byte  119,8                               // ja            a071 <_sk_bilerp_clamp_8888_sse2+0x14f>
+  .byte  15,40,85,184                        // movaps        -0x48(%ebp),%xmm2
+  .byte  15,41,85,200                        // movaps        %xmm2,-0x38(%ebp)
+  .byte  15,93,69,152                        // minps         -0x68(%ebp),%xmm0
+  .byte  243,15,91,192                       // cvttps2dq     %xmm0,%xmm0
+  .byte  102,15,111,101,168                  // movdqa        -0x58(%ebp),%xmm4
+  .byte  102,15,111,212                      // movdqa        %xmm4,%xmm2
+  .byte  102,15,244,208                      // pmuludq       %xmm0,%xmm2
+  .byte  102,15,112,234,232                  // pshufd        $0xe8,%xmm2,%xmm5
+  .byte  102,15,112,192,245                  // pshufd        $0xf5,%xmm0,%xmm0
+  .byte  102,15,112,212,245                  // pshufd        $0xf5,%xmm4,%xmm2
+  .byte  102,15,244,208                      // pmuludq       %xmm0,%xmm2
+  .byte  102,15,112,194,232                  // pshufd        $0xe8,%xmm2,%xmm0
+  .byte  102,15,98,232                       // punpckldq     %xmm0,%xmm5
+  .byte  102,15,127,173,248,254,255,255      // movdqa        %xmm5,-0x108(%ebp)
+  .byte  243,15,16,69,232                    // movss         -0x18(%ebp),%xmm0
+  .byte  15,41,157,232,254,255,255           // movaps        %xmm3,-0x118(%ebp)
+  .byte  15,41,181,216,254,255,255           // movaps        %xmm6,-0x128(%ebp)
+  .byte  102,15,127,141,200,254,255,255      // movdqa        %xmm1,-0x138(%ebp)
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
+  .byte  15,88,141,8,255,255,255             // addps         -0xf8(%ebp),%xmm1
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  15,95,225                           // maxps         %xmm1,%xmm4
+  .byte  15,93,165,40,255,255,255            // minps         -0xd8(%ebp),%xmm4
+  .byte  243,15,91,204                       // cvttps2dq     %xmm4,%xmm1
+  .byte  102,15,254,141,248,254,255,255      // paddd         -0x108(%ebp),%xmm1
+  .byte  102,15,126,206                      // movd          %xmm1,%esi
+  .byte  102,15,112,225,229                  // pshufd        $0xe5,%xmm1,%xmm4
+  .byte  102,15,126,231                      // movd          %xmm4,%edi
+  .byte  102,15,112,225,78                   // pshufd        $0x4e,%xmm1,%xmm4
+  .byte  102,15,126,227                      // movd          %xmm4,%ebx
+  .byte  102,15,112,201,231                  // pshufd        $0xe7,%xmm1,%xmm1
+  .byte  102,15,126,201                      // movd          %xmm1,%ecx
+  .byte  102,15,110,12,138                   // movd          (%edx,%ecx,4),%xmm1
+  .byte  102,15,110,36,154                   // movd          (%edx,%ebx,4),%xmm4
+  .byte  102,15,98,225                       // punpckldq     %xmm1,%xmm4
+  .byte  102,15,110,44,178                   // movd          (%edx,%esi,4),%xmm5
+  .byte  102,15,110,12,186                   // movd          (%edx,%edi,4),%xmm1
+  .byte  102,15,98,233                       // punpckldq     %xmm1,%xmm5
+  .byte  102,15,108,236                      // punpcklqdq    %xmm4,%xmm5
+  .byte  102,15,111,205                      // movdqa        %xmm5,%xmm1
+  .byte  102,15,111,189,56,255,255,255       // movdqa        -0xc8(%ebp),%xmm7
+  .byte  102,15,219,207                      // pand          %xmm7,%xmm1
+  .byte  15,91,241                           // cvtdq2ps      %xmm1,%xmm6
+  .byte  15,40,157,72,255,255,255            // movaps        -0xb8(%ebp),%xmm3
+  .byte  15,89,243                           // mulps         %xmm3,%xmm6
+  .byte  102,15,111,205                      // movdqa        %xmm5,%xmm1
+  .byte  102,15,114,209,8                    // psrld         $0x8,%xmm1
+  .byte  102,15,219,207                      // pand          %xmm7,%xmm1
+  .byte  15,91,209                           // cvtdq2ps      %xmm1,%xmm2
+  .byte  15,89,211                           // mulps         %xmm3,%xmm2
+  .byte  102,15,111,229                      // movdqa        %xmm5,%xmm4
+  .byte  102,15,114,212,16                   // psrld         $0x10,%xmm4
+  .byte  102,15,219,231                      // pand          %xmm7,%xmm4
+  .byte  15,91,252                           // cvtdq2ps      %xmm4,%xmm7
+  .byte  15,89,251                           // mulps         %xmm3,%xmm7
+  .byte  102,15,114,213,24                   // psrld         $0x18,%xmm5
+  .byte  15,91,229                           // cvtdq2ps      %xmm5,%xmm4
+  .byte  15,89,227                           // mulps         %xmm3,%xmm4
+  .byte  15,87,201                           // xorps         %xmm1,%xmm1
+  .byte  15,46,193                           // ucomiss       %xmm1,%xmm0
+  .byte  15,40,173,24,255,255,255            // movaps        -0xe8(%ebp),%xmm5
+  .byte  119,7                               // ja            a190 <_sk_bilerp_clamp_8888_sse2+0x26e>
+  .byte  15,40,173,88,255,255,255            // movaps        -0xa8(%ebp),%xmm5
+  .byte  15,89,109,200                       // mulps         -0x38(%ebp),%xmm5
+  .byte  15,89,245                           // mulps         %xmm5,%xmm6
+  .byte  15,40,77,216                        // movaps        -0x28(%ebp),%xmm1
+  .byte  15,88,206                           // addps         %xmm6,%xmm1
+  .byte  15,41,77,216                        // movaps        %xmm1,-0x28(%ebp)
+  .byte  15,89,213                           // mulps         %xmm5,%xmm2
+  .byte  15,40,141,200,254,255,255           // movaps        -0x138(%ebp),%xmm1
+  .byte  15,88,202                           // addps         %xmm2,%xmm1
+  .byte  15,89,253                           // mulps         %xmm5,%xmm7
+  .byte  15,40,181,216,254,255,255           // movaps        -0x128(%ebp),%xmm6
+  .byte  15,88,247                           // addps         %xmm7,%xmm6
+  .byte  15,89,236                           // mulps         %xmm4,%xmm5
+  .byte  15,40,157,232,254,255,255           // movaps        -0x118(%ebp),%xmm3
+  .byte  15,88,221                           // addps         %xmm5,%xmm3
+  .byte  243,15,88,69,236                    // addss         -0x14(%ebp),%xmm0
+  .byte  243,15,16,85,240                    // movss         -0x10(%ebp),%xmm2
+  .byte  15,46,208                           // ucomiss       %xmm0,%xmm2
+  .byte  15,131,211,254,255,255              // jae           a0af <_sk_bilerp_clamp_8888_sse2+0x18d>
+  .byte  15,40,165,104,255,255,255           // movaps        -0x98(%ebp),%xmm4
+  .byte  243,15,88,101,236                   // addss         -0x14(%ebp),%xmm4
+  .byte  243,15,16,69,240                    // movss         -0x10(%ebp),%xmm0
+  .byte  15,46,196                           // ucomiss       %xmm4,%xmm0
+  .byte  15,131,72,254,255,255               // jae           a03e <_sk_bilerp_clamp_8888_sse2+0x11c>
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  131,236,8                           // sub           $0x8,%esp
+  .byte  15,40,69,216                        // movaps        -0x28(%ebp),%xmm0
+  .byte  15,40,214                           // movaps        %xmm6,%xmm2
+  .byte  81                                  // push          %ecx
+  .byte  255,117,8                           // pushl         0x8(%ebp)
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  129,196,60,1,0,0                    // add           $0x13c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  144                                 // nop
+  .byte  144                                 // nop
+  .byte  144                                 // nop
+
+HIDDEN _sk_start_pipeline_sse2_lowp
+.globl _sk_start_pipeline_sse2_lowp
+FUNCTION(_sk_start_pipeline_sse2_lowp)
+_sk_start_pipeline_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,92                          // sub           $0x5c,%esp
+  .byte  139,125,12                          // mov           0xc(%ebp),%edi
+  .byte  59,125,20                           // cmp           0x14(%ebp),%edi
+  .byte  15,131,193,0,0,0                    // jae           a2ee <_sk_start_pipeline_sse2_lowp+0xd6>
+  .byte  139,85,16                           // mov           0x10(%ebp),%edx
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,117,24                          // mov           0x18(%ebp),%esi
+  .byte  139,30                              // mov           (%esi),%ebx
+  .byte  131,198,4                           // add           $0x4,%esi
+  .byte  141,64,8                            // lea           0x8(%eax),%eax
+  .byte  137,69,236                          // mov           %eax,-0x14(%ebp)
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  137,125,240                         // mov           %edi,-0x10(%ebp)
+  .byte  57,85,236                           // cmp           %edx,-0x14(%ebp)
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  137,223                             // mov           %ebx,%edi
+  .byte  137,243                             // mov           %esi,%ebx
+  .byte  119,77                              // ja            a2a0 <_sk_start_pipeline_sse2_lowp+0x88>
+  .byte  139,117,8                           // mov           0x8(%ebp),%esi
+  .byte  15,41,68,36,64                      // movaps        %xmm0,0x40(%esp)
+  .byte  15,41,68,36,48                      // movaps        %xmm0,0x30(%esp)
+  .byte  15,41,68,36,32                      // movaps        %xmm0,0x20(%esp)
+  .byte  15,41,68,36,16                      // movaps        %xmm0,0x10(%esp)
+  .byte  139,69,240                          // mov           -0x10(%ebp),%eax
+  .byte  137,68,36,12                        // mov           %eax,0xc(%esp)
+  .byte  137,116,36,8                        // mov           %esi,0x8(%esp)
+  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
+  .byte  199,4,36,0,0,0,0                    // movl          $0x0,(%esp)
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  15,87,201                           // xorps         %xmm1,%xmm1
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  255,215                             // call          *%edi
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  139,85,16                           // mov           0x10(%ebp),%edx
+  .byte  141,70,8                            // lea           0x8(%esi),%eax
+  .byte  131,198,16                          // add           $0x10,%esi
+  .byte  57,214                              // cmp           %edx,%esi
+  .byte  137,198                             // mov           %eax,%esi
+  .byte  118,182                             // jbe           a256 <_sk_start_pipeline_sse2_lowp+0x3e>
+  .byte  137,209                             // mov           %edx,%ecx
+  .byte  41,193                              // sub           %eax,%ecx
+  .byte  137,222                             // mov           %ebx,%esi
+  .byte  137,251                             // mov           %edi,%ebx
+  .byte  139,125,240                         // mov           -0x10(%ebp),%edi
+  .byte  116,55                              // je            a2e4 <_sk_start_pipeline_sse2_lowp+0xcc>
+  .byte  15,41,68,36,64                      // movaps        %xmm0,0x40(%esp)
+  .byte  15,41,68,36,48                      // movaps        %xmm0,0x30(%esp)
+  .byte  15,41,68,36,32                      // movaps        %xmm0,0x20(%esp)
+  .byte  15,41,68,36,16                      // movaps        %xmm0,0x10(%esp)
+  .byte  137,124,36,12                       // mov           %edi,0xc(%esp)
+  .byte  137,68,36,8                         // mov           %eax,0x8(%esp)
+  .byte  137,116,36,4                        // mov           %esi,0x4(%esp)
+  .byte  137,12,36                           // mov           %ecx,(%esp)
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  15,87,201                           // xorps         %xmm1,%xmm1
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  255,211                             // call          *%ebx
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  139,85,16                           // mov           0x10(%ebp),%edx
+  .byte  71                                  // inc           %edi
+  .byte  59,125,20                           // cmp           0x14(%ebp),%edi
+  .byte  15,133,86,255,255,255               // jne           a244 <_sk_start_pipeline_sse2_lowp+0x2c>
+  .byte  131,196,92                          // add           $0x5c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_just_return_sse2_lowp
+.globl _sk_just_return_sse2_lowp
+FUNCTION(_sk_just_return_sse2_lowp)
+_sk_just_return_sse2_lowp:
+  .byte  195                                 // ret
+
+HIDDEN _sk_seed_shader_sse2_lowp
+.globl _sk_seed_shader_sse2_lowp
+FUNCTION(_sk_seed_shader_sse2_lowp)
+_sk_seed_shader_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,80                          // sub           $0x50,%esp
+  .byte  232,0,0,0,0                         // call          a304 <_sk_seed_shader_sse2_lowp+0xd>
+  .byte  89                                  // pop           %ecx
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  15,40,93,24                         // movaps        0x18(%ebp),%xmm3
+  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
+  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
+  .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
+  .byte  139,85,20                           // mov           0x14(%ebp),%edx
+  .byte  139,117,12                          // mov           0xc(%ebp),%esi
+  .byte  139,62                              // mov           (%esi),%edi
+  .byte  15,16,7                             // movups        (%edi),%xmm0
+  .byte  15,16,79,16                         // movups        0x10(%edi),%xmm1
+  .byte  139,125,16                          // mov           0x10(%ebp),%edi
+  .byte  102,15,110,215                      // movd          %edi,%xmm2
+  .byte  102,15,112,210,0                    // pshufd        $0x0,%xmm2,%xmm2
+  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
+  .byte  15,88,194                           // addps         %xmm2,%xmm0
+  .byte  15,88,202                           // addps         %xmm2,%xmm1
+  .byte  102,15,110,210                      // movd          %edx,%xmm2
+  .byte  102,15,112,210,0                    // pshufd        $0x0,%xmm2,%xmm2
+  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
+  .byte  15,88,145,76,100,0,0                // addps         0x644c(%ecx),%xmm2
+  .byte  141,78,8                            // lea           0x8(%esi),%ecx
+  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
+  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
+  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
+  .byte  15,41,92,36,16                      // movaps        %xmm3,0x10(%esp)
+  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
+  .byte  137,124,36,8                        // mov           %edi,0x8(%esp)
+  .byte  137,76,36,4                         // mov           %ecx,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  15,40,218                           // movaps        %xmm2,%xmm3
+  .byte  255,86,4                            // call          *0x4(%esi)
+  .byte  131,196,80                          // add           $0x50,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_matrix_translate_sse2_lowp
+.globl _sk_matrix_translate_sse2_lowp
+FUNCTION(_sk_matrix_translate_sse2_lowp)
+_sk_matrix_translate_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,80                          // sub           $0x50,%esp
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
+  .byte  139,85,20                           // mov           0x14(%ebp),%edx
+  .byte  15,40,101,24                        // movaps        0x18(%ebp),%xmm4
+  .byte  15,40,109,40                        // movaps        0x28(%ebp),%xmm5
+  .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
+  .byte  139,117,12                          // mov           0xc(%ebp),%esi
+  .byte  139,62                              // mov           (%esi),%edi
+  .byte  243,15,16,63                        // movss         (%edi),%xmm7
+  .byte  15,198,255,0                        // shufps        $0x0,%xmm7,%xmm7
+  .byte  15,88,199                           // addps         %xmm7,%xmm0
+  .byte  15,88,207                           // addps         %xmm7,%xmm1
+  .byte  243,15,16,127,4                     // movss         0x4(%edi),%xmm7
+  .byte  15,198,255,0                        // shufps        $0x0,%xmm7,%xmm7
+  .byte  15,88,215                           // addps         %xmm7,%xmm2
+  .byte  15,88,223                           // addps         %xmm7,%xmm3
+  .byte  15,40,125,72                        // movaps        0x48(%ebp),%xmm7
+  .byte  141,126,8                           // lea           0x8(%esi),%edi
+  .byte  15,41,124,36,64                     // movaps        %xmm7,0x40(%esp)
+  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
+  .byte  15,41,108,36,32                     // movaps        %xmm5,0x20(%esp)
+  .byte  15,41,100,36,16                     // movaps        %xmm4,0x10(%esp)
+  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
+  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
+  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  255,86,4                            // call          *0x4(%esi)
+  .byte  131,196,80                          // add           $0x50,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_matrix_scale_translate_sse2_lowp
+.globl _sk_matrix_scale_translate_sse2_lowp
+FUNCTION(_sk_matrix_scale_translate_sse2_lowp)
+_sk_matrix_scale_translate_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,80                          // sub           $0x50,%esp
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,85,16                           // mov           0x10(%ebp),%edx
+  .byte  139,117,20                          // mov           0x14(%ebp),%esi
+  .byte  15,40,101,24                        // movaps        0x18(%ebp),%xmm4
+  .byte  15,40,109,40                        // movaps        0x28(%ebp),%xmm5
+  .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  139,57                              // mov           (%ecx),%edi
+  .byte  243,15,16,63                        // movss         (%edi),%xmm7
+  .byte  15,198,255,0                        // shufps        $0x0,%xmm7,%xmm7
+  .byte  15,89,207                           // mulps         %xmm7,%xmm1
+  .byte  15,89,199                           // mulps         %xmm7,%xmm0
+  .byte  243,15,16,127,8                     // movss         0x8(%edi),%xmm7
+  .byte  15,198,255,0                        // shufps        $0x0,%xmm7,%xmm7
+  .byte  15,88,199                           // addps         %xmm7,%xmm0
+  .byte  15,88,207                           // addps         %xmm7,%xmm1
+  .byte  243,15,16,127,4                     // movss         0x4(%edi),%xmm7
+  .byte  15,198,255,0                        // shufps        $0x0,%xmm7,%xmm7
+  .byte  15,89,223                           // mulps         %xmm7,%xmm3
+  .byte  15,89,215                           // mulps         %xmm7,%xmm2
+  .byte  243,15,16,127,12                    // movss         0xc(%edi),%xmm7
+  .byte  15,198,255,0                        // shufps        $0x0,%xmm7,%xmm7
+  .byte  15,88,215                           // addps         %xmm7,%xmm2
+  .byte  15,88,223                           // addps         %xmm7,%xmm3
+  .byte  15,40,125,72                        // movaps        0x48(%ebp),%xmm7
+  .byte  141,121,8                           // lea           0x8(%ecx),%edi
+  .byte  15,41,124,36,64                     // movaps        %xmm7,0x40(%esp)
+  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
+  .byte  15,41,108,36,32                     // movaps        %xmm5,0x20(%esp)
+  .byte  15,41,100,36,16                     // movaps        %xmm4,0x10(%esp)
+  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
+  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
+  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  255,81,4                            // call          *0x4(%ecx)
+  .byte  131,196,80                          // add           $0x50,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_matrix_2x3_sse2_lowp
+.globl _sk_matrix_2x3_sse2_lowp
+FUNCTION(_sk_matrix_2x3_sse2_lowp)
+_sk_matrix_2x3_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,80                          // sub           $0x50,%esp
+  .byte  15,40,227                           // movaps        %xmm3,%xmm4
+  .byte  15,40,218                           // movaps        %xmm2,%xmm3
+  .byte  15,40,248                           // movaps        %xmm0,%xmm7
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,85,16                           // mov           0x10(%ebp),%edx
+  .byte  139,117,20                          // mov           0x14(%ebp),%esi
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  139,57                              // mov           (%ecx),%edi
+  .byte  243,15,16,7                         // movss         (%edi),%xmm0
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  243,15,16,119,8                     // movss         0x8(%edi),%xmm6
+  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
+  .byte  243,15,16,111,16                    // movss         0x10(%edi),%xmm5
+  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
+  .byte  15,89,214                           // mulps         %xmm6,%xmm2
+  .byte  15,89,244                           // mulps         %xmm4,%xmm6
+  .byte  15,88,245                           // addps         %xmm5,%xmm6
+  .byte  15,88,213                           // addps         %xmm5,%xmm2
+  .byte  15,40,233                           // movaps        %xmm1,%xmm5
+  .byte  15,89,232                           // mulps         %xmm0,%xmm5
+  .byte  15,88,238                           // addps         %xmm6,%xmm5
+  .byte  15,89,199                           // mulps         %xmm7,%xmm0
+  .byte  15,88,194                           // addps         %xmm2,%xmm0
+  .byte  243,15,16,119,12                    // movss         0xc(%edi),%xmm6
+  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
+  .byte  15,89,222                           // mulps         %xmm6,%xmm3
+  .byte  15,89,244                           // mulps         %xmm4,%xmm6
+  .byte  243,15,16,87,20                     // movss         0x14(%edi),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  15,88,242                           // addps         %xmm2,%xmm6
+  .byte  15,88,218                           // addps         %xmm2,%xmm3
+  .byte  243,15,16,87,4                      // movss         0x4(%edi),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  15,89,202                           // mulps         %xmm2,%xmm1
+  .byte  15,88,241                           // addps         %xmm1,%xmm6
+  .byte  15,40,77,40                         // movaps        0x28(%ebp),%xmm1
+  .byte  15,89,215                           // mulps         %xmm7,%xmm2
+  .byte  15,40,101,56                        // movaps        0x38(%ebp),%xmm4
+  .byte  15,88,218                           // addps         %xmm2,%xmm3
+  .byte  15,40,85,72                         // movaps        0x48(%ebp),%xmm2
+  .byte  141,121,8                           // lea           0x8(%ecx),%edi
+  .byte  15,41,84,36,64                      // movaps        %xmm2,0x40(%esp)
+  .byte  15,41,100,36,48                     // movaps        %xmm4,0x30(%esp)
+  .byte  15,41,76,36,32                      // movaps        %xmm1,0x20(%esp)
+  .byte  15,40,77,24                         // movaps        0x18(%ebp),%xmm1
+  .byte  15,41,76,36,16                      // movaps        %xmm1,0x10(%esp)
+  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
+  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
+  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  15,40,205                           // movaps        %xmm5,%xmm1
+  .byte  15,40,211                           // movaps        %xmm3,%xmm2
+  .byte  15,40,222                           // movaps        %xmm6,%xmm3
+  .byte  255,81,4                            // call          *0x4(%ecx)
+  .byte  131,196,80                          // add           $0x50,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_matrix_perspective_sse2_lowp
+.globl _sk_matrix_perspective_sse2_lowp
+FUNCTION(_sk_matrix_perspective_sse2_lowp)
+_sk_matrix_perspective_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,112                         // sub           $0x70,%esp
+  .byte  15,40,235                           // movaps        %xmm3,%xmm5
+  .byte  15,41,77,232                        // movaps        %xmm1,-0x18(%ebp)
+  .byte  15,40,216                           // movaps        %xmm0,%xmm3
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  243,15,16,9                         // movss         (%ecx),%xmm1
+  .byte  243,15,16,113,4                     // movss         0x4(%ecx),%xmm6
+  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
+  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
+  .byte  243,15,16,97,8                      // movss         0x8(%ecx),%xmm4
+  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
+  .byte  15,40,253                           // movaps        %xmm5,%xmm7
+  .byte  15,89,254                           // mulps         %xmm6,%xmm7
+  .byte  15,89,242                           // mulps         %xmm2,%xmm6
+  .byte  15,41,85,216                        // movaps        %xmm2,-0x28(%ebp)
+  .byte  15,88,244                           // addps         %xmm4,%xmm6
+  .byte  15,88,252                           // addps         %xmm4,%xmm7
+  .byte  15,40,227                           // movaps        %xmm3,%xmm4
+  .byte  15,89,225                           // mulps         %xmm1,%xmm4
+  .byte  15,88,230                           // addps         %xmm6,%xmm4
+  .byte  15,89,77,232                        // mulps         -0x18(%ebp),%xmm1
+  .byte  15,88,207                           // addps         %xmm7,%xmm1
+  .byte  243,15,16,113,16                    // movss         0x10(%ecx),%xmm6
+  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
+  .byte  243,15,16,65,20                     // movss         0x14(%ecx),%xmm0
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  15,40,253                           // movaps        %xmm5,%xmm7
+  .byte  15,89,254                           // mulps         %xmm6,%xmm7
+  .byte  15,89,242                           // mulps         %xmm2,%xmm6
+  .byte  15,88,240                           // addps         %xmm0,%xmm6
+  .byte  15,88,248                           // addps         %xmm0,%xmm7
+  .byte  243,15,16,65,12                     // movss         0xc(%ecx),%xmm0
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  15,40,211                           // movaps        %xmm3,%xmm2
+  .byte  15,89,208                           // mulps         %xmm0,%xmm2
+  .byte  15,88,242                           // addps         %xmm2,%xmm6
+  .byte  15,89,69,232                        // mulps         -0x18(%ebp),%xmm0
+  .byte  15,88,248                           // addps         %xmm0,%xmm7
+  .byte  243,15,16,65,28                     // movss         0x1c(%ecx),%xmm0
+  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
+  .byte  15,89,232                           // mulps         %xmm0,%xmm5
+  .byte  15,89,69,216                        // mulps         -0x28(%ebp),%xmm0
+  .byte  243,15,16,81,32                     // movss         0x20(%ecx),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  15,88,194                           // addps         %xmm2,%xmm0
+  .byte  15,88,234                           // addps         %xmm2,%xmm5
+  .byte  243,15,16,81,24                     // movss         0x18(%ecx),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  15,89,218                           // mulps         %xmm2,%xmm3
+  .byte  15,88,216                           // addps         %xmm0,%xmm3
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,85,16                           // mov           0x10(%ebp),%edx
+  .byte  139,117,20                          // mov           0x14(%ebp),%esi
+  .byte  15,89,85,232                        // mulps         -0x18(%ebp),%xmm2
+  .byte  15,40,69,24                         // movaps        0x18(%ebp),%xmm0
+  .byte  15,88,213                           // addps         %xmm5,%xmm2
+  .byte  15,40,109,40                        // movaps        0x28(%ebp),%xmm5
+  .byte  15,83,219                           // rcpps         %xmm3,%xmm3
+  .byte  15,89,227                           // mulps         %xmm3,%xmm4
+  .byte  15,89,243                           // mulps         %xmm3,%xmm6
+  .byte  15,40,93,56                         // movaps        0x38(%ebp),%xmm3
+  .byte  15,83,210                           // rcpps         %xmm2,%xmm2
+  .byte  15,89,202                           // mulps         %xmm2,%xmm1
+  .byte  15,89,250                           // mulps         %xmm2,%xmm7
+  .byte  15,40,85,72                         // movaps        0x48(%ebp),%xmm2
+  .byte  141,120,8                           // lea           0x8(%eax),%edi
+  .byte  15,41,84,36,64                      // movaps        %xmm2,0x40(%esp)
+  .byte  15,41,92,36,48                      // movaps        %xmm3,0x30(%esp)
+  .byte  15,41,108,36,32                     // movaps        %xmm5,0x20(%esp)
+  .byte  15,41,68,36,16                      // movaps        %xmm0,0x10(%esp)
+  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
+  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
+  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
+  .byte  137,12,36                           // mov           %ecx,(%esp)
+  .byte  15,40,196                           // movaps        %xmm4,%xmm0
+  .byte  15,40,214                           // movaps        %xmm6,%xmm2
+  .byte  15,40,223                           // movaps        %xmm7,%xmm3
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,112                         // add           $0x70,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_uniform_color_sse2_lowp
+.globl _sk_uniform_color_sse2_lowp
+FUNCTION(_sk_uniform_color_sse2_lowp)
+_sk_uniform_color_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,80                          // sub           $0x50,%esp
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
+  .byte  139,85,12                           // mov           0xc(%ebp),%edx
+  .byte  139,50                              // mov           (%edx),%esi
+  .byte  15,183,126,18                       // movzwl        0x12(%esi),%edi
+  .byte  102,15,110,207                      // movd          %edi,%xmm1
+  .byte  139,125,20                          // mov           0x14(%ebp),%edi
+  .byte  15,40,101,24                        // movaps        0x18(%ebp),%xmm4
+  .byte  15,40,109,40                        // movaps        0x28(%ebp),%xmm5
+  .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
+  .byte  15,40,125,72                        // movaps        0x48(%ebp),%xmm7
+  .byte  102,15,110,70,16                    // movd          0x10(%esi),%xmm0
+  .byte  242,15,112,192,0                    // pshuflw       $0x0,%xmm0,%xmm0
+  .byte  102,15,112,192,80                   // pshufd        $0x50,%xmm0,%xmm0
+  .byte  242,15,112,201,0                    // pshuflw       $0x0,%xmm1,%xmm1
+  .byte  102,15,112,201,80                   // pshufd        $0x50,%xmm1,%xmm1
+  .byte  102,15,110,86,20                    // movd          0x14(%esi),%xmm2
+  .byte  242,15,112,210,0                    // pshuflw       $0x0,%xmm2,%xmm2
+  .byte  102,15,112,210,80                   // pshufd        $0x50,%xmm2,%xmm2
+  .byte  15,183,118,22                       // movzwl        0x16(%esi),%esi
+  .byte  102,15,110,222                      // movd          %esi,%xmm3
+  .byte  242,15,112,219,0                    // pshuflw       $0x0,%xmm3,%xmm3
+  .byte  102,15,112,219,80                   // pshufd        $0x50,%xmm3,%xmm3
+  .byte  141,114,8                           // lea           0x8(%edx),%esi
+  .byte  15,41,124,36,64                     // movaps        %xmm7,0x40(%esp)
+  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
+  .byte  15,41,108,36,32                     // movaps        %xmm5,0x20(%esp)
+  .byte  15,41,100,36,16                     // movaps        %xmm4,0x10(%esp)
+  .byte  137,124,36,12                       // mov           %edi,0xc(%esp)
+  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
+  .byte  137,116,36,4                        // mov           %esi,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  255,82,4                            // call          *0x4(%edx)
+  .byte  131,196,80                          // add           $0x50,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_black_color_sse2_lowp
+.globl _sk_black_color_sse2_lowp
+FUNCTION(_sk_black_color_sse2_lowp)
+_sk_black_color_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,92                          // sub           $0x5c,%esp
+  .byte  232,0,0,0,0                         // call          a723 <_sk_black_color_sse2_lowp+0xe>
+  .byte  88                                  // pop           %eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,85,16                           // mov           0x10(%ebp),%edx
+  .byte  139,117,20                          // mov           0x14(%ebp),%esi
+  .byte  15,40,69,24                         // movaps        0x18(%ebp),%xmm0
+  .byte  15,40,77,40                         // movaps        0x28(%ebp),%xmm1
+  .byte  15,40,85,56                         // movaps        0x38(%ebp),%xmm2
+  .byte  15,40,93,72                         // movaps        0x48(%ebp),%xmm3
+  .byte  139,125,12                          // mov           0xc(%ebp),%edi
+  .byte  141,95,4                            // lea           0x4(%edi),%ebx
+  .byte  15,41,92,36,64                      // movaps        %xmm3,0x40(%esp)
+  .byte  15,41,84,36,48                      // movaps        %xmm2,0x30(%esp)
+  .byte  15,41,76,36,32                      // movaps        %xmm1,0x20(%esp)
+  .byte  15,41,68,36,16                      // movaps        %xmm0,0x10(%esp)
+  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
+  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
+  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
+  .byte  137,12,36                           // mov           %ecx,(%esp)
+  .byte  15,40,152,61,103,0,0                // movaps        0x673d(%eax),%xmm3
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  15,87,201                           // xorps         %xmm1,%xmm1
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  255,23                              // call          *(%edi)
+  .byte  131,196,92                          // add           $0x5c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_white_color_sse2_lowp
+.globl _sk_white_color_sse2_lowp
+FUNCTION(_sk_white_color_sse2_lowp)
+_sk_white_color_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,92                          // sub           $0x5c,%esp
+  .byte  232,0,0,0,0                         // call          a78e <_sk_white_color_sse2_lowp+0xe>
+  .byte  88                                  // pop           %eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,85,16                           // mov           0x10(%ebp),%edx
+  .byte  139,117,20                          // mov           0x14(%ebp),%esi
+  .byte  15,40,69,24                         // movaps        0x18(%ebp),%xmm0
+  .byte  15,40,77,40                         // movaps        0x28(%ebp),%xmm1
+  .byte  15,40,85,56                         // movaps        0x38(%ebp),%xmm2
+  .byte  15,40,93,72                         // movaps        0x48(%ebp),%xmm3
+  .byte  139,125,12                          // mov           0xc(%ebp),%edi
+  .byte  141,95,4                            // lea           0x4(%edi),%ebx
+  .byte  15,41,92,36,64                      // movaps        %xmm3,0x40(%esp)
+  .byte  15,41,84,36,48                      // movaps        %xmm2,0x30(%esp)
+  .byte  15,41,76,36,32                      // movaps        %xmm1,0x20(%esp)
+  .byte  15,41,68,36,16                      // movaps        %xmm0,0x10(%esp)
+  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
+  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
+  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
+  .byte  137,12,36                           // mov           %ecx,(%esp)
+  .byte  15,40,128,210,102,0,0               // movaps        0x66d2(%eax),%xmm0
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  15,40,208                           // movaps        %xmm0,%xmm2
+  .byte  15,40,216                           // movaps        %xmm0,%xmm3
+  .byte  255,23                              // call          *(%edi)
+  .byte  131,196,92                          // add           $0x5c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_set_rgb_sse2_lowp
+.globl _sk_set_rgb_sse2_lowp
+FUNCTION(_sk_set_rgb_sse2_lowp)
+_sk_set_rgb_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,80                          // sub           $0x50,%esp
+  .byte  232,0,0,0,0                         // call          a7f8 <_sk_set_rgb_sse2_lowp+0xd>
+  .byte  94                                  // pop           %esi
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,85,16                           // mov           0x10(%ebp),%edx
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  139,57                              // mov           (%ecx),%edi
+  .byte  243,15,16,150,116,103,0,0           // movss         0x6774(%esi),%xmm2
+  .byte  243,15,16,7                         // movss         (%edi),%xmm0
+  .byte  243,15,89,194                       // mulss         %xmm2,%xmm0
+  .byte  243,15,16,142,104,103,0,0           // movss         0x6768(%esi),%xmm1
+  .byte  243,15,88,193                       // addss         %xmm1,%xmm0
+  .byte  243,15,44,240                       // cvttss2si     %xmm0,%esi
+  .byte  102,15,110,198                      // movd          %esi,%xmm0
+  .byte  139,117,20                          // mov           0x14(%ebp),%esi
+  .byte  15,40,101,24                        // movaps        0x18(%ebp),%xmm4
+  .byte  15,40,109,40                        // movaps        0x28(%ebp),%xmm5
+  .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
+  .byte  243,15,16,127,4                     // movss         0x4(%edi),%xmm7
+  .byte  243,15,89,250                       // mulss         %xmm2,%xmm7
+  .byte  243,15,88,249                       // addss         %xmm1,%xmm7
+  .byte  243,15,89,87,8                      // mulss         0x8(%edi),%xmm2
+  .byte  243,15,44,255                       // cvttss2si     %xmm7,%edi
+  .byte  15,40,125,72                        // movaps        0x48(%ebp),%xmm7
+  .byte  242,15,112,192,0                    // pshuflw       $0x0,%xmm0,%xmm0
+  .byte  102,15,112,192,80                   // pshufd        $0x50,%xmm0,%xmm0
+  .byte  243,15,88,209                       // addss         %xmm1,%xmm2
+  .byte  102,15,110,207                      // movd          %edi,%xmm1
+  .byte  242,15,112,201,0                    // pshuflw       $0x0,%xmm1,%xmm1
+  .byte  102,15,112,201,80                   // pshufd        $0x50,%xmm1,%xmm1
+  .byte  243,15,44,250                       // cvttss2si     %xmm2,%edi
+  .byte  102,15,110,215                      // movd          %edi,%xmm2
+  .byte  242,15,112,210,0                    // pshuflw       $0x0,%xmm2,%xmm2
+  .byte  102,15,112,210,80                   // pshufd        $0x50,%xmm2,%xmm2
+  .byte  141,121,8                           // lea           0x8(%ecx),%edi
+  .byte  15,41,124,36,64                     // movaps        %xmm7,0x40(%esp)
+  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
+  .byte  15,41,108,36,32                     // movaps        %xmm5,0x20(%esp)
+  .byte  15,41,100,36,16                     // movaps        %xmm4,0x10(%esp)
+  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
+  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
+  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  255,81,4                            // call          *0x4(%ecx)
+  .byte  131,196,80                          // add           $0x50,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_clamp_a_sse2_lowp
+.globl _sk_clamp_a_sse2_lowp
+FUNCTION(_sk_clamp_a_sse2_lowp)
+_sk_clamp_a_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,80                          // sub           $0x50,%esp
+  .byte  232,0,0,0,0                         // call          a8bc <_sk_clamp_a_sse2_lowp+0xd>
+  .byte  94                                  // pop           %esi
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
+  .byte  139,85,20                           // mov           0x14(%ebp),%edx
+  .byte  102,15,111,166,180,101,0,0          // movdqa        0x65b4(%esi),%xmm4
+  .byte  102,15,111,232                      // movdqa        %xmm0,%xmm5
+  .byte  102,15,239,236                      // pxor          %xmm4,%xmm5
+  .byte  102,15,111,243                      // movdqa        %xmm3,%xmm6
+  .byte  102,15,239,244                      // pxor          %xmm4,%xmm6
+  .byte  102,15,111,254                      // movdqa        %xmm6,%xmm7
+  .byte  102,15,101,253                      // pcmpgtw       %xmm5,%xmm7
+  .byte  102,15,219,199                      // pand          %xmm7,%xmm0
+  .byte  102,15,223,251                      // pandn         %xmm3,%xmm7
+  .byte  102,15,235,199                      // por           %xmm7,%xmm0
+  .byte  102,15,111,233                      // movdqa        %xmm1,%xmm5
+  .byte  102,15,239,236                      // pxor          %xmm4,%xmm5
+  .byte  102,15,111,254                      // movdqa        %xmm6,%xmm7
+  .byte  102,15,101,253                      // pcmpgtw       %xmm5,%xmm7
+  .byte  15,40,109,24                        // movaps        0x18(%ebp),%xmm5
+  .byte  102,15,219,207                      // pand          %xmm7,%xmm1
+  .byte  102,15,223,251                      // pandn         %xmm3,%xmm7
+  .byte  102,15,235,207                      // por           %xmm7,%xmm1
+  .byte  15,40,125,40                        // movaps        0x28(%ebp),%xmm7
+  .byte  102,15,239,226                      // pxor          %xmm2,%xmm4
+  .byte  102,15,101,244                      // pcmpgtw       %xmm4,%xmm6
+  .byte  15,40,101,56                        // movaps        0x38(%ebp),%xmm4
+  .byte  102,15,219,214                      // pand          %xmm6,%xmm2
+  .byte  102,15,223,243                      // pandn         %xmm3,%xmm6
+  .byte  102,15,235,214                      // por           %xmm6,%xmm2
+  .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
+  .byte  139,117,12                          // mov           0xc(%ebp),%esi
+  .byte  141,126,4                           // lea           0x4(%esi),%edi
+  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
+  .byte  15,41,100,36,48                     // movaps        %xmm4,0x30(%esp)
+  .byte  15,41,124,36,32                     // movaps        %xmm7,0x20(%esp)
+  .byte  15,41,108,36,16                     // movaps        %xmm5,0x10(%esp)
+  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
+  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
+  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  255,22                              // call          *(%esi)
+  .byte  131,196,80                          // add           $0x50,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_clamp_a_dst_sse2_lowp
+.globl _sk_clamp_a_dst_sse2_lowp
+FUNCTION(_sk_clamp_a_dst_sse2_lowp)
+_sk_clamp_a_dst_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  129,236,128,0,0,0                   // sub           $0x80,%esp
+  .byte  15,41,93,200                        // movaps        %xmm3,-0x38(%ebp)
+  .byte  15,41,85,216                        // movaps        %xmm2,-0x28(%ebp)
+  .byte  15,41,77,232                        // movaps        %xmm1,-0x18(%ebp)
+  .byte  15,40,216                           // movaps        %xmm0,%xmm3
+  .byte  232,0,0,0,0                         // call          a983 <_sk_clamp_a_dst_sse2_lowp+0x1f>
+  .byte  88                                  // pop           %eax
+  .byte  102,15,111,101,72                   // movdqa        0x48(%ebp),%xmm4
+  .byte  102,15,111,77,24                    // movdqa        0x18(%ebp),%xmm1
+  .byte  102,15,111,144,237,100,0,0          // movdqa        0x64ed(%eax),%xmm2
+  .byte  102,15,111,249                      // movdqa        %xmm1,%xmm7
+  .byte  102,15,239,250                      // pxor          %xmm2,%xmm7
+  .byte  102,15,111,244                      // movdqa        %xmm4,%xmm6
+  .byte  102,15,239,242                      // pxor          %xmm2,%xmm6
+  .byte  102,15,111,238                      // movdqa        %xmm6,%xmm5
+  .byte  102,15,101,239                      // pcmpgtw       %xmm7,%xmm5
+  .byte  102,15,219,205                      // pand          %xmm5,%xmm1
+  .byte  102,15,223,236                      // pandn         %xmm4,%xmm5
+  .byte  102,15,235,233                      // por           %xmm1,%xmm5
+  .byte  102,15,111,77,40                    // movdqa        0x28(%ebp),%xmm1
+  .byte  102,15,111,249                      // movdqa        %xmm1,%xmm7
+  .byte  102,15,239,250                      // pxor          %xmm2,%xmm7
+  .byte  102,15,111,198                      // movdqa        %xmm6,%xmm0
+  .byte  102,15,101,199                      // pcmpgtw       %xmm7,%xmm0
+  .byte  102,15,219,200                      // pand          %xmm0,%xmm1
+  .byte  102,15,223,196                      // pandn         %xmm4,%xmm0
+  .byte  102,15,235,193                      // por           %xmm1,%xmm0
+  .byte  102,15,111,77,56                    // movdqa        0x38(%ebp),%xmm1
+  .byte  102,15,239,209                      // pxor          %xmm1,%xmm2
+  .byte  102,15,101,242                      // pcmpgtw       %xmm2,%xmm6
+  .byte  102,15,219,206                      // pand          %xmm6,%xmm1
+  .byte  102,15,223,244                      // pandn         %xmm4,%xmm6
+  .byte  102,15,235,241                      // por           %xmm1,%xmm6
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
+  .byte  139,85,20                           // mov           0x14(%ebp),%edx
+  .byte  139,117,12                          // mov           0xc(%ebp),%esi
+  .byte  141,126,4                           // lea           0x4(%esi),%edi
+  .byte  102,15,127,100,36,64                // movdqa        %xmm4,0x40(%esp)
+  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
+  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
+  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  102,15,127,116,36,48                // movdqa        %xmm6,0x30(%esp)
+  .byte  102,15,127,68,36,32                 // movdqa        %xmm0,0x20(%esp)
+  .byte  102,15,127,108,36,16                // movdqa        %xmm5,0x10(%esp)
+  .byte  15,40,195                           // movaps        %xmm3,%xmm0
+  .byte  15,40,77,232                        // movaps        -0x18(%ebp),%xmm1
+  .byte  15,40,85,216                        // movaps        -0x28(%ebp),%xmm2
+  .byte  15,40,93,200                        // movaps        -0x38(%ebp),%xmm3
+  .byte  255,22                              // call          *(%esi)
+  .byte  129,196,128,0,0,0                   // add           $0x80,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_premul_sse2_lowp
+.globl _sk_premul_sse2_lowp
+FUNCTION(_sk_premul_sse2_lowp)
+_sk_premul_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,80                          // sub           $0x50,%esp
+  .byte  232,0,0,0,0                         // call          aa52 <_sk_premul_sse2_lowp+0xd>
+  .byte  90                                  // pop           %edx
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
+  .byte  139,117,20                          // mov           0x14(%ebp),%esi
+  .byte  15,40,101,24                        // movaps        0x18(%ebp),%xmm4
+  .byte  15,40,109,40                        // movaps        0x28(%ebp),%xmm5
+  .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
+  .byte  102,15,213,195                      // pmullw        %xmm3,%xmm0
+  .byte  102,15,111,186,14,100,0,0           // movdqa        0x640e(%edx),%xmm7
+  .byte  102,15,253,199                      // paddw         %xmm7,%xmm0
+  .byte  102,15,213,203                      // pmullw        %xmm3,%xmm1
+  .byte  102,15,253,207                      // paddw         %xmm7,%xmm1
+  .byte  102,15,213,211                      // pmullw        %xmm3,%xmm2
+  .byte  102,15,253,215                      // paddw         %xmm7,%xmm2
+  .byte  15,40,125,72                        // movaps        0x48(%ebp),%xmm7
+  .byte  139,85,12                           // mov           0xc(%ebp),%edx
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  141,122,4                           // lea           0x4(%edx),%edi
+  .byte  15,41,124,36,64                     // movaps        %xmm7,0x40(%esp)
+  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
+  .byte  15,41,108,36,32                     // movaps        %xmm5,0x20(%esp)
+  .byte  15,41,100,36,16                     // movaps        %xmm4,0x10(%esp)
+  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
+  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
+  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  255,18                              // call          *(%edx)
+  .byte  131,196,80                          // add           $0x50,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_premul_dst_sse2_lowp
+.globl _sk_premul_dst_sse2_lowp
+FUNCTION(_sk_premul_dst_sse2_lowp)
+_sk_premul_dst_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,96                          // sub           $0x60,%esp
+  .byte  15,41,93,232                        // movaps        %xmm3,-0x18(%ebp)
+  .byte  15,40,218                           // movaps        %xmm2,%xmm3
+  .byte  15,40,209                           // movaps        %xmm1,%xmm2
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  232,0,0,0,0                         // call          aae7 <_sk_premul_dst_sse2_lowp+0x1a>
+  .byte  88                                  // pop           %eax
+  .byte  102,15,111,101,72                   // movdqa        0x48(%ebp),%xmm4
+  .byte  102,15,111,109,24                   // movdqa        0x18(%ebp),%xmm5
+  .byte  102,15,213,236                      // pmullw        %xmm4,%xmm5
+  .byte  102,15,111,176,121,99,0,0           // movdqa        0x6379(%eax),%xmm6
+  .byte  102,15,253,238                      // paddw         %xmm6,%xmm5
+  .byte  102,15,111,125,40                   // movdqa        0x28(%ebp),%xmm7
+  .byte  102,15,213,252                      // pmullw        %xmm4,%xmm7
+  .byte  102,15,253,254                      // paddw         %xmm6,%xmm7
+  .byte  102,15,111,69,56                    // movdqa        0x38(%ebp),%xmm0
+  .byte  102,15,213,196                      // pmullw        %xmm4,%xmm0
+  .byte  102,15,253,198                      // paddw         %xmm6,%xmm0
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
+  .byte  139,85,20                           // mov           0x14(%ebp),%edx
+  .byte  139,117,12                          // mov           0xc(%ebp),%esi
+  .byte  102,15,113,213,8                    // psrlw         $0x8,%xmm5
+  .byte  102,15,113,215,8                    // psrlw         $0x8,%xmm7
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  141,126,4                           // lea           0x4(%esi),%edi
+  .byte  102,15,127,100,36,64                // movdqa        %xmm4,0x40(%esp)
+  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
+  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
+  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  102,15,127,68,36,48                 // movdqa        %xmm0,0x30(%esp)
+  .byte  102,15,127,124,36,32                // movdqa        %xmm7,0x20(%esp)
+  .byte  102,15,127,108,36,16                // movdqa        %xmm5,0x10(%esp)
+  .byte  15,40,193                           // movaps        %xmm1,%xmm0
+  .byte  15,40,202                           // movaps        %xmm2,%xmm1
+  .byte  15,40,211                           // movaps        %xmm3,%xmm2
+  .byte  15,40,93,232                        // movaps        -0x18(%ebp),%xmm3
+  .byte  255,22                              // call          *(%esi)
+  .byte  131,196,96                          // add           $0x60,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_force_opaque_sse2_lowp
+.globl _sk_force_opaque_sse2_lowp
+FUNCTION(_sk_force_opaque_sse2_lowp)
+_sk_force_opaque_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,92                          // sub           $0x5c,%esp
+  .byte  232,0,0,0,0                         // call          ab85 <_sk_force_opaque_sse2_lowp+0xe>
+  .byte  88                                  // pop           %eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,85,16                           // mov           0x10(%ebp),%edx
+  .byte  139,117,20                          // mov           0x14(%ebp),%esi
+  .byte  15,40,93,24                         // movaps        0x18(%ebp),%xmm3
+  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
+  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
+  .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
+  .byte  139,125,12                          // mov           0xc(%ebp),%edi
+  .byte  141,95,4                            // lea           0x4(%edi),%ebx
+  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
+  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
+  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
+  .byte  15,41,92,36,16                      // movaps        %xmm3,0x10(%esp)
+  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
+  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
+  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
+  .byte  137,12,36                           // mov           %ecx,(%esp)
+  .byte  15,40,152,219,98,0,0                // movaps        0x62db(%eax),%xmm3
+  .byte  255,23                              // call          *(%edi)
+  .byte  131,196,92                          // add           $0x5c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_force_opaque_dst_sse2_lowp
+.globl _sk_force_opaque_dst_sse2_lowp
+FUNCTION(_sk_force_opaque_dst_sse2_lowp)
+_sk_force_opaque_dst_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,92                          // sub           $0x5c,%esp
+  .byte  232,0,0,0,0                         // call          abe7 <_sk_force_opaque_dst_sse2_lowp+0xe>
+  .byte  88                                  // pop           %eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,85,16                           // mov           0x10(%ebp),%edx
+  .byte  139,117,20                          // mov           0x14(%ebp),%esi
+  .byte  15,40,101,24                        // movaps        0x18(%ebp),%xmm4
+  .byte  15,40,109,40                        // movaps        0x28(%ebp),%xmm5
+  .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
+  .byte  139,125,12                          // mov           0xc(%ebp),%edi
+  .byte  141,95,4                            // lea           0x4(%edi),%ebx
+  .byte  15,40,184,121,98,0,0                // movaps        0x6279(%eax),%xmm7
+  .byte  15,41,124,36,64                     // movaps        %xmm7,0x40(%esp)
+  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
+  .byte  15,41,108,36,32                     // movaps        %xmm5,0x20(%esp)
+  .byte  15,41,100,36,16                     // movaps        %xmm4,0x10(%esp)
+  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
+  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
+  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
+  .byte  137,12,36                           // mov           %ecx,(%esp)
+  .byte  255,23                              // call          *(%edi)
+  .byte  131,196,92                          // add           $0x5c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_swap_rb_sse2_lowp
+.globl _sk_swap_rb_sse2_lowp
+FUNCTION(_sk_swap_rb_sse2_lowp)
+_sk_swap_rb_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,80                          // sub           $0x50,%esp
+  .byte  15,40,224                           // movaps        %xmm0,%xmm4
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
+  .byte  139,85,20                           // mov           0x14(%ebp),%edx
+  .byte  15,40,69,24                         // movaps        0x18(%ebp),%xmm0
+  .byte  15,40,109,40                        // movaps        0x28(%ebp),%xmm5
+  .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
+  .byte  15,40,125,72                        // movaps        0x48(%ebp),%xmm7
+  .byte  139,117,12                          // mov           0xc(%ebp),%esi
+  .byte  141,126,4                           // lea           0x4(%esi),%edi
+  .byte  15,41,124,36,64                     // movaps        %xmm7,0x40(%esp)
+  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
+  .byte  15,41,108,36,32                     // movaps        %xmm5,0x20(%esp)
+  .byte  15,41,68,36,16                      // movaps        %xmm0,0x10(%esp)
+  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
+  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
+  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  15,40,194                           // movaps        %xmm2,%xmm0
+  .byte  15,40,212                           // movaps        %xmm4,%xmm2
+  .byte  255,22                              // call          *(%esi)
+  .byte  131,196,80                          // add           $0x50,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_move_src_dst_sse2_lowp
+.globl _sk_move_src_dst_sse2_lowp
+FUNCTION(_sk_move_src_dst_sse2_lowp)
+_sk_move_src_dst_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,80                          // sub           $0x50,%esp
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
+  .byte  139,85,20                           // mov           0x14(%ebp),%edx
+  .byte  139,117,12                          // mov           0xc(%ebp),%esi
+  .byte  141,126,4                           // lea           0x4(%esi),%edi
+  .byte  15,41,92,36,64                      // movaps        %xmm3,0x40(%esp)
+  .byte  15,41,84,36,48                      // movaps        %xmm2,0x30(%esp)
+  .byte  15,41,76,36,32                      // movaps        %xmm1,0x20(%esp)
+  .byte  15,41,68,36,16                      // movaps        %xmm0,0x10(%esp)
+  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
+  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
+  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  255,22                              // call          *(%esi)
+  .byte  131,196,80                          // add           $0x50,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_move_dst_src_sse2_lowp
+.globl _sk_move_dst_src_sse2_lowp
+FUNCTION(_sk_move_dst_src_sse2_lowp)
+_sk_move_dst_src_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,80                          // sub           $0x50,%esp
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
+  .byte  139,85,20                           // mov           0x14(%ebp),%edx
+  .byte  15,40,69,24                         // movaps        0x18(%ebp),%xmm0
+  .byte  15,40,77,40                         // movaps        0x28(%ebp),%xmm1
+  .byte  15,40,85,56                         // movaps        0x38(%ebp),%xmm2
+  .byte  15,40,93,72                         // movaps        0x48(%ebp),%xmm3
+  .byte  139,117,12                          // mov           0xc(%ebp),%esi
+  .byte  141,126,4                           // lea           0x4(%esi),%edi
+  .byte  15,41,92,36,64                      // movaps        %xmm3,0x40(%esp)
+  .byte  15,41,84,36,48                      // movaps        %xmm2,0x30(%esp)
+  .byte  15,41,76,36,32                      // movaps        %xmm1,0x20(%esp)
+  .byte  15,41,68,36,16                      // movaps        %xmm0,0x10(%esp)
+  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
+  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
+  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  255,22                              // call          *(%esi)
+  .byte  131,196,80                          // add           $0x50,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_invert_sse2_lowp
+.globl _sk_invert_sse2_lowp
+FUNCTION(_sk_invert_sse2_lowp)
+_sk_invert_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,80                          // sub           $0x50,%esp
+  .byte  232,0,0,0,0                         // call          ad36 <_sk_invert_sse2_lowp+0xd>
+  .byte  88                                  // pop           %eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,85,16                           // mov           0x10(%ebp),%edx
+  .byte  139,117,20                          // mov           0x14(%ebp),%esi
+  .byte  102,15,111,160,42,97,0,0            // movdqa        0x612a(%eax),%xmm4
+  .byte  102,15,111,236                      // movdqa        %xmm4,%xmm5
+  .byte  102,15,249,232                      // psubw         %xmm0,%xmm5
+  .byte  102,15,111,244                      // movdqa        %xmm4,%xmm6
+  .byte  102,15,249,241                      // psubw         %xmm1,%xmm6
+  .byte  102,15,111,252                      // movdqa        %xmm4,%xmm7
+  .byte  102,15,249,250                      // psubw         %xmm2,%xmm7
+  .byte  15,40,69,56                         // movaps        0x38(%ebp),%xmm0
+  .byte  102,15,249,227                      // psubw         %xmm3,%xmm4
+  .byte  15,40,77,72                         // movaps        0x48(%ebp),%xmm1
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  141,120,4                           // lea           0x4(%eax),%edi
+  .byte  15,41,76,36,64                      // movaps        %xmm1,0x40(%esp)
+  .byte  15,41,68,36,48                      // movaps        %xmm0,0x30(%esp)
+  .byte  15,40,69,40                         // movaps        0x28(%ebp),%xmm0
+  .byte  15,41,68,36,32                      // movaps        %xmm0,0x20(%esp)
+  .byte  15,40,69,24                         // movaps        0x18(%ebp),%xmm0
+  .byte  15,41,68,36,16                      // movaps        %xmm0,0x10(%esp)
+  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
+  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
+  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
+  .byte  137,12,36                           // mov           %ecx,(%esp)
+  .byte  102,15,111,197                      // movdqa        %xmm5,%xmm0
+  .byte  102,15,111,206                      // movdqa        %xmm6,%xmm1
+  .byte  102,15,111,215                      // movdqa        %xmm7,%xmm2
+  .byte  102,15,111,220                      // movdqa        %xmm4,%xmm3
+  .byte  255,16                              // call          *(%eax)
+  .byte  131,196,80                          // add           $0x50,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_clear_sse2_lowp
+.globl _sk_clear_sse2_lowp
+FUNCTION(_sk_clear_sse2_lowp)
+_sk_clear_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,80                          // sub           $0x50,%esp
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
+  .byte  139,85,20                           // mov           0x14(%ebp),%edx
+  .byte  15,40,69,24                         // movaps        0x18(%ebp),%xmm0
+  .byte  15,40,77,40                         // movaps        0x28(%ebp),%xmm1
+  .byte  15,40,85,56                         // movaps        0x38(%ebp),%xmm2
+  .byte  15,40,93,72                         // movaps        0x48(%ebp),%xmm3
+  .byte  139,117,12                          // mov           0xc(%ebp),%esi
+  .byte  141,126,4                           // lea           0x4(%esi),%edi
+  .byte  15,41,92,36,64                      // movaps        %xmm3,0x40(%esp)
+  .byte  15,41,84,36,48                      // movaps        %xmm2,0x30(%esp)
+  .byte  15,41,76,36,32                      // movaps        %xmm1,0x20(%esp)
+  .byte  15,41,68,36,16                      // movaps        %xmm0,0x10(%esp)
+  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
+  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
+  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  15,87,201                           // xorps         %xmm1,%xmm1
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  255,22                              // call          *(%esi)
+  .byte  131,196,80                          // add           $0x50,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_srcatop_sse2_lowp
+.globl _sk_srcatop_sse2_lowp
+FUNCTION(_sk_srcatop_sse2_lowp)
+_sk_srcatop_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,80                          // sub           $0x50,%esp
+  .byte  102,15,111,234                      // movdqa        %xmm2,%xmm5
+  .byte  102,15,111,209                      // movdqa        %xmm1,%xmm2
+  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
+  .byte  232,0,0,0,0                         // call          ae2e <_sk_srcatop_sse2_lowp+0x19>
+  .byte  88                                  // pop           %eax
+  .byte  102,15,111,117,72                   // movdqa        0x48(%ebp),%xmm6
+  .byte  102,15,213,206                      // pmullw        %xmm6,%xmm1
+  .byte  102,15,111,128,50,96,0,0            // movdqa        0x6032(%eax),%xmm0
+  .byte  102,15,253,200                      // paddw         %xmm0,%xmm1
+  .byte  102,15,213,214                      // pmullw        %xmm6,%xmm2
+  .byte  102,15,253,208                      // paddw         %xmm0,%xmm2
+  .byte  102,15,213,238                      // pmullw        %xmm6,%xmm5
+  .byte  102,15,253,232                      // paddw         %xmm0,%xmm5
+  .byte  102,15,111,230                      // movdqa        %xmm6,%xmm4
+  .byte  102,15,213,224                      // pmullw        %xmm0,%xmm4
+  .byte  102,15,253,224                      // paddw         %xmm0,%xmm4
+  .byte  102,15,249,195                      // psubw         %xmm3,%xmm0
+  .byte  102,15,111,216                      // movdqa        %xmm0,%xmm3
+  .byte  102,15,213,93,24                    // pmullw        0x18(%ebp),%xmm3
+  .byte  102,15,253,203                      // paddw         %xmm3,%xmm1
+  .byte  102,15,111,93,40                    // movdqa        0x28(%ebp),%xmm3
+  .byte  102,15,111,248                      // movdqa        %xmm0,%xmm7
+  .byte  102,15,213,251                      // pmullw        %xmm3,%xmm7
+  .byte  102,15,253,215                      // paddw         %xmm7,%xmm2
+  .byte  102,15,111,125,56                   // movdqa        0x38(%ebp),%xmm7
+  .byte  102,15,213,199                      // pmullw        %xmm7,%xmm0
+  .byte  102,15,253,232                      // paddw         %xmm0,%xmm5
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
+  .byte  139,85,20                           // mov           0x14(%ebp),%edx
+  .byte  139,117,12                          // mov           0xc(%ebp),%esi
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,113,213,8                    // psrlw         $0x8,%xmm5
+  .byte  102,15,113,212,8                    // psrlw         $0x8,%xmm4
+  .byte  141,126,4                           // lea           0x4(%esi),%edi
+  .byte  102,15,127,116,36,64                // movdqa        %xmm6,0x40(%esp)
+  .byte  102,15,127,124,36,48                // movdqa        %xmm7,0x30(%esp)
+  .byte  102,15,127,92,36,32                 // movdqa        %xmm3,0x20(%esp)
+  .byte  15,40,69,24                         // movaps        0x18(%ebp),%xmm0
+  .byte  15,41,68,36,16                      // movaps        %xmm0,0x10(%esp)
+  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
+  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
+  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
+  .byte  102,15,111,213                      // movdqa        %xmm5,%xmm2
+  .byte  102,15,111,220                      // movdqa        %xmm4,%xmm3
+  .byte  255,22                              // call          *(%esi)
+  .byte  131,196,80                          // add           $0x50,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_dstatop_sse2_lowp
+.globl _sk_dstatop_sse2_lowp
+FUNCTION(_sk_dstatop_sse2_lowp)
+_sk_dstatop_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,80                          // sub           $0x50,%esp
+  .byte  232,0,0,0,0                         // call          af02 <_sk_dstatop_sse2_lowp+0xd>
+  .byte  88                                  // pop           %eax
+  .byte  102,15,111,101,40                   // movdqa        0x28(%ebp),%xmm4
+  .byte  102,15,111,117,24                   // movdqa        0x18(%ebp),%xmm6
+  .byte  102,15,213,243                      // pmullw        %xmm3,%xmm6
+  .byte  102,15,111,184,94,95,0,0            // movdqa        0x5f5e(%eax),%xmm7
+  .byte  102,15,253,247                      // paddw         %xmm7,%xmm6
+  .byte  102,15,213,227                      // pmullw        %xmm3,%xmm4
+  .byte  102,15,253,231                      // paddw         %xmm7,%xmm4
+  .byte  102,15,111,109,56                   // movdqa        0x38(%ebp),%xmm5
+  .byte  102,15,213,235                      // pmullw        %xmm3,%xmm5
+  .byte  102,15,253,239                      // paddw         %xmm7,%xmm5
+  .byte  102,15,213,223                      // pmullw        %xmm7,%xmm3
+  .byte  102,15,253,223                      // paddw         %xmm7,%xmm3
+  .byte  102,15,249,125,72                   // psubw         0x48(%ebp),%xmm7
+  .byte  102,15,213,199                      // pmullw        %xmm7,%xmm0
+  .byte  102,15,253,198                      // paddw         %xmm6,%xmm0
+  .byte  102,15,213,207                      // pmullw        %xmm7,%xmm1
+  .byte  102,15,253,204                      // paddw         %xmm4,%xmm1
+  .byte  102,15,213,215                      // pmullw        %xmm7,%xmm2
+  .byte  102,15,253,213                      // paddw         %xmm5,%xmm2
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
+  .byte  139,85,20                           // mov           0x14(%ebp),%edx
+  .byte  139,117,12                          // mov           0xc(%ebp),%esi
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  141,126,4                           // lea           0x4(%esi),%edi
+  .byte  15,40,101,72                        // movaps        0x48(%ebp),%xmm4
+  .byte  15,41,100,36,64                     // movaps        %xmm4,0x40(%esp)
+  .byte  15,40,101,56                        // movaps        0x38(%ebp),%xmm4
+  .byte  15,41,100,36,48                     // movaps        %xmm4,0x30(%esp)
+  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
+  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
+  .byte  15,40,101,24                        // movaps        0x18(%ebp),%xmm4
+  .byte  15,41,100,36,16                     // movaps        %xmm4,0x10(%esp)
+  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
+  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
+  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  255,22                              // call          *(%esi)
+  .byte  131,196,80                          // add           $0x50,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_srcin_sse2_lowp
+.globl _sk_srcin_sse2_lowp
+FUNCTION(_sk_srcin_sse2_lowp)
+_sk_srcin_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,80                          // sub           $0x50,%esp
+  .byte  232,0,0,0,0                         // call          afc3 <_sk_srcin_sse2_lowp+0xd>
+  .byte  94                                  // pop           %esi
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
+  .byte  139,85,20                           // mov           0x14(%ebp),%edx
+  .byte  15,40,101,24                        // movaps        0x18(%ebp),%xmm4
+  .byte  15,40,109,40                        // movaps        0x28(%ebp),%xmm5
+  .byte  102,15,111,117,72                   // movdqa        0x48(%ebp),%xmm6
+  .byte  102,15,213,198                      // pmullw        %xmm6,%xmm0
+  .byte  102,15,111,190,157,94,0,0           // movdqa        0x5e9d(%esi),%xmm7
+  .byte  102,15,253,199                      // paddw         %xmm7,%xmm0
+  .byte  102,15,213,206                      // pmullw        %xmm6,%xmm1
+  .byte  102,15,253,207                      // paddw         %xmm7,%xmm1
+  .byte  102,15,213,214                      // pmullw        %xmm6,%xmm2
+  .byte  102,15,253,215                      // paddw         %xmm7,%xmm2
+  .byte  102,15,213,222                      // pmullw        %xmm6,%xmm3
+  .byte  102,15,253,223                      // paddw         %xmm7,%xmm3
+  .byte  15,40,125,56                        // movaps        0x38(%ebp),%xmm7
+  .byte  139,117,12                          // mov           0xc(%ebp),%esi
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  141,126,4                           // lea           0x4(%esi),%edi
+  .byte  102,15,127,116,36,64                // movdqa        %xmm6,0x40(%esp)
+  .byte  15,41,124,36,48                     // movaps        %xmm7,0x30(%esp)
+  .byte  15,41,108,36,32                     // movaps        %xmm5,0x20(%esp)
+  .byte  15,41,100,36,16                     // movaps        %xmm4,0x10(%esp)
+  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
+  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
+  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  255,22                              // call          *(%esi)
+  .byte  131,196,80                          // add           $0x50,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_dstin_sse2_lowp
+.globl _sk_dstin_sse2_lowp
+FUNCTION(_sk_dstin_sse2_lowp)
+_sk_dstin_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,80                          // sub           $0x50,%esp
+  .byte  232,0,0,0,0                         // call          b05a <_sk_dstin_sse2_lowp+0xd>
+  .byte  88                                  // pop           %eax
+  .byte  102,15,111,85,56                    // movdqa        0x38(%ebp),%xmm2
+  .byte  102,15,111,109,40                   // movdqa        0x28(%ebp),%xmm5
+  .byte  102,15,111,117,24                   // movdqa        0x18(%ebp),%xmm6
+  .byte  102,15,111,198                      // movdqa        %xmm6,%xmm0
+  .byte  102,15,213,195                      // pmullw        %xmm3,%xmm0
+  .byte  102,15,111,184,6,94,0,0             // movdqa        0x5e06(%eax),%xmm7
+  .byte  102,15,253,199                      // paddw         %xmm7,%xmm0
+  .byte  102,15,111,205                      // movdqa        %xmm5,%xmm1
+  .byte  102,15,213,203                      // pmullw        %xmm3,%xmm1
+  .byte  102,15,253,207                      // paddw         %xmm7,%xmm1
+  .byte  102,15,213,211                      // pmullw        %xmm3,%xmm2
+  .byte  102,15,253,215                      // paddw         %xmm7,%xmm2
+  .byte  102,15,111,101,72                   // movdqa        0x48(%ebp),%xmm4
+  .byte  102,15,213,220                      // pmullw        %xmm4,%xmm3
+  .byte  102,15,253,223                      // paddw         %xmm7,%xmm3
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
+  .byte  139,85,20                           // mov           0x14(%ebp),%edx
+  .byte  139,117,12                          // mov           0xc(%ebp),%esi
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  141,126,4                           // lea           0x4(%esi),%edi
+  .byte  102,15,127,100,36,64                // movdqa        %xmm4,0x40(%esp)
+  .byte  15,40,101,56                        // movaps        0x38(%ebp),%xmm4
+  .byte  15,41,100,36,48                     // movaps        %xmm4,0x30(%esp)
+  .byte  102,15,127,108,36,32                // movdqa        %xmm5,0x20(%esp)
+  .byte  102,15,127,116,36,16                // movdqa        %xmm6,0x10(%esp)
+  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
+  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
+  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  255,22                              // call          *(%esi)
+  .byte  131,196,80                          // add           $0x50,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_srcout_sse2_lowp
+.globl _sk_srcout_sse2_lowp
+FUNCTION(_sk_srcout_sse2_lowp)
+_sk_srcout_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,80                          // sub           $0x50,%esp
+  .byte  232,0,0,0,0                         // call          b102 <_sk_srcout_sse2_lowp+0xd>
+  .byte  94                                  // pop           %esi
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
+  .byte  139,85,20                           // mov           0x14(%ebp),%edx
+  .byte  15,40,101,24                        // movaps        0x18(%ebp),%xmm4
+  .byte  102,15,111,109,72                   // movdqa        0x48(%ebp),%xmm5
+  .byte  102,15,111,182,94,93,0,0            // movdqa        0x5d5e(%esi),%xmm6
+  .byte  102,15,111,254                      // movdqa        %xmm6,%xmm7
+  .byte  102,15,249,253                      // psubw         %xmm5,%xmm7
+  .byte  102,15,213,199                      // pmullw        %xmm7,%xmm0
+  .byte  102,15,213,207                      // pmullw        %xmm7,%xmm1
+  .byte  102,15,213,215                      // pmullw        %xmm7,%xmm2
+  .byte  102,15,213,223                      // pmullw        %xmm7,%xmm3
+  .byte  15,40,125,40                        // movaps        0x28(%ebp),%xmm7
+  .byte  102,15,253,198                      // paddw         %xmm6,%xmm0
+  .byte  102,15,253,206                      // paddw         %xmm6,%xmm1
+  .byte  102,15,253,214                      // paddw         %xmm6,%xmm2
+  .byte  102,15,253,222                      // paddw         %xmm6,%xmm3
+  .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
+  .byte  139,117,12                          // mov           0xc(%ebp),%esi
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  141,126,4                           // lea           0x4(%esi),%edi
+  .byte  102,15,127,108,36,64                // movdqa        %xmm5,0x40(%esp)
+  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
+  .byte  15,41,124,36,32                     // movaps        %xmm7,0x20(%esp)
+  .byte  15,41,100,36,16                     // movaps        %xmm4,0x10(%esp)
+  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
+  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
+  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  255,22                              // call          *(%esi)
+  .byte  131,196,80                          // add           $0x50,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_dstout_sse2_lowp
+.globl _sk_dstout_sse2_lowp
+FUNCTION(_sk_dstout_sse2_lowp)
+_sk_dstout_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,80                          // sub           $0x50,%esp
+  .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
+  .byte  232,0,0,0,0                         // call          b1a5 <_sk_dstout_sse2_lowp+0x11>
+  .byte  88                                  // pop           %eax
+  .byte  102,15,111,109,56                   // movdqa        0x38(%ebp),%xmm5
+  .byte  102,15,111,117,24                   // movdqa        0x18(%ebp),%xmm6
+  .byte  102,15,111,184,187,92,0,0           // movdqa        0x5cbb(%eax),%xmm7
+  .byte  102,15,111,223                      // movdqa        %xmm7,%xmm3
+  .byte  102,15,249,216                      // psubw         %xmm0,%xmm3
+  .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
+  .byte  102,15,213,198                      // pmullw        %xmm6,%xmm0
+  .byte  102,15,253,199                      // paddw         %xmm7,%xmm0
+  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
+  .byte  102,15,213,77,40                    // pmullw        0x28(%ebp),%xmm1
+  .byte  102,15,253,207                      // paddw         %xmm7,%xmm1
+  .byte  102,15,111,211                      // movdqa        %xmm3,%xmm2
+  .byte  102,15,213,213                      // pmullw        %xmm5,%xmm2
+  .byte  102,15,253,215                      // paddw         %xmm7,%xmm2
+  .byte  102,15,111,101,72                   // movdqa        0x48(%ebp),%xmm4
+  .byte  102,15,213,220                      // pmullw        %xmm4,%xmm3
+  .byte  102,15,253,223                      // paddw         %xmm7,%xmm3
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
+  .byte  139,85,20                           // mov           0x14(%ebp),%edx
+  .byte  139,117,12                          // mov           0xc(%ebp),%esi
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  141,126,4                           // lea           0x4(%esi),%edi
+  .byte  102,15,127,100,36,64                // movdqa        %xmm4,0x40(%esp)
+  .byte  102,15,127,108,36,48                // movdqa        %xmm5,0x30(%esp)
+  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
+  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
+  .byte  102,15,127,116,36,16                // movdqa        %xmm6,0x10(%esp)
+  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
+  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
+  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  255,22                              // call          *(%esi)
+  .byte  131,196,80                          // add           $0x50,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_srcover_sse2_lowp
+.globl _sk_srcover_sse2_lowp
+FUNCTION(_sk_srcover_sse2_lowp)
+_sk_srcover_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,96                          // sub           $0x60,%esp
+  .byte  15,41,85,232                        // movaps        %xmm2,-0x18(%ebp)
+  .byte  102,15,111,209                      // movdqa        %xmm1,%xmm2
+  .byte  102,15,111,224                      // movdqa        %xmm0,%xmm4
+  .byte  232,0,0,0,0                         // call          b261 <_sk_srcover_sse2_lowp+0x19>
+  .byte  88                                  // pop           %eax
+  .byte  102,15,111,136,255,91,0,0           // movdqa        0x5bff(%eax),%xmm1
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,15,249,195                      // psubw         %xmm3,%xmm0
+  .byte  102,15,111,248                      // movdqa        %xmm0,%xmm7
+  .byte  102,15,213,125,24                   // pmullw        0x18(%ebp),%xmm7
+  .byte  102,15,253,249                      // paddw         %xmm1,%xmm7
+  .byte  102,15,113,215,8                    // psrlw         $0x8,%xmm7
+  .byte  102,15,253,231                      // paddw         %xmm7,%xmm4
+  .byte  102,15,111,232                      // movdqa        %xmm0,%xmm5
+  .byte  102,15,213,109,40                   // pmullw        0x28(%ebp),%xmm5
+  .byte  102,15,253,233                      // paddw         %xmm1,%xmm5
+  .byte  102,15,113,213,8                    // psrlw         $0x8,%xmm5
+  .byte  102,15,253,213                      // paddw         %xmm5,%xmm2
+  .byte  102,15,111,234                      // movdqa        %xmm2,%xmm5
+  .byte  102,15,111,125,56                   // movdqa        0x38(%ebp),%xmm7
+  .byte  102,15,111,240                      // movdqa        %xmm0,%xmm6
+  .byte  102,15,213,247                      // pmullw        %xmm7,%xmm6
+  .byte  102,15,253,241                      // paddw         %xmm1,%xmm6
+  .byte  102,15,113,214,8                    // psrlw         $0x8,%xmm6
+  .byte  102,15,111,85,232                   // movdqa        -0x18(%ebp),%xmm2
+  .byte  102,15,253,214                      // paddw         %xmm6,%xmm2
+  .byte  102,15,111,117,72                   // movdqa        0x48(%ebp),%xmm6
+  .byte  102,15,213,198                      // pmullw        %xmm6,%xmm0
+  .byte  102,15,253,193                      // paddw         %xmm1,%xmm0
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,15,253,216                      // paddw         %xmm0,%xmm3
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
+  .byte  139,85,20                           // mov           0x14(%ebp),%edx
+  .byte  139,117,12                          // mov           0xc(%ebp),%esi
+  .byte  141,126,4                           // lea           0x4(%esi),%edi
+  .byte  102,15,127,116,36,64                // movdqa        %xmm6,0x40(%esp)
+  .byte  102,15,127,124,36,48                // movdqa        %xmm7,0x30(%esp)
+  .byte  15,40,69,40                         // movaps        0x28(%ebp),%xmm0
+  .byte  15,41,68,36,32                      // movaps        %xmm0,0x20(%esp)
+  .byte  15,40,69,24                         // movaps        0x18(%ebp),%xmm0
+  .byte  15,41,68,36,16                      // movaps        %xmm0,0x10(%esp)
+  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
+  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
+  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  102,15,111,196                      // movdqa        %xmm4,%xmm0
+  .byte  102,15,111,205                      // movdqa        %xmm5,%xmm1
+  .byte  255,22                              // call          *(%esi)
+  .byte  131,196,96                          // add           $0x60,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_dstover_sse2_lowp
+.globl _sk_dstover_sse2_lowp
+FUNCTION(_sk_dstover_sse2_lowp)
+_sk_dstover_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,80                          // sub           $0x50,%esp
+  .byte  232,0,0,0,0                         // call          b331 <_sk_dstover_sse2_lowp+0xd>
+  .byte  95                                  // pop           %edi
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,85,16                           // mov           0x10(%ebp),%edx
+  .byte  139,117,20                          // mov           0x14(%ebp),%esi
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  102,15,111,101,56                   // movdqa        0x38(%ebp),%xmm4
+  .byte  102,15,111,109,72                   // movdqa        0x48(%ebp),%xmm5
+  .byte  102,15,111,183,47,91,0,0            // movdqa        0x5b2f(%edi),%xmm6
+  .byte  102,15,111,254                      // movdqa        %xmm6,%xmm7
+  .byte  102,15,249,253                      // psubw         %xmm5,%xmm7
+  .byte  102,15,213,199                      // pmullw        %xmm7,%xmm0
+  .byte  102,15,213,207                      // pmullw        %xmm7,%xmm1
+  .byte  102,15,213,215                      // pmullw        %xmm7,%xmm2
+  .byte  102,15,213,223                      // pmullw        %xmm7,%xmm3
+  .byte  102,15,111,125,40                   // movdqa        0x28(%ebp),%xmm7
+  .byte  102,15,253,198                      // paddw         %xmm6,%xmm0
+  .byte  102,15,253,206                      // paddw         %xmm6,%xmm1
+  .byte  102,15,253,214                      // paddw         %xmm6,%xmm2
+  .byte  102,15,253,222                      // paddw         %xmm6,%xmm3
+  .byte  102,15,111,117,24                   // movdqa        0x18(%ebp),%xmm6
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,15,253,198                      // paddw         %xmm6,%xmm0
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,253,207                      // paddw         %xmm7,%xmm1
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,253,212                      // paddw         %xmm4,%xmm2
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  102,15,253,221                      // paddw         %xmm5,%xmm3
+  .byte  141,120,4                           // lea           0x4(%eax),%edi
+  .byte  102,15,127,108,36,64                // movdqa        %xmm5,0x40(%esp)
+  .byte  102,15,127,100,36,48                // movdqa        %xmm4,0x30(%esp)
+  .byte  102,15,127,124,36,32                // movdqa        %xmm7,0x20(%esp)
+  .byte  102,15,127,116,36,16                // movdqa        %xmm6,0x10(%esp)
+  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
+  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
+  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
+  .byte  137,12,36                           // mov           %ecx,(%esp)
+  .byte  255,16                              // call          *(%eax)
+  .byte  131,196,80                          // add           $0x50,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_modulate_sse2_lowp
+.globl _sk_modulate_sse2_lowp
+FUNCTION(_sk_modulate_sse2_lowp)
+_sk_modulate_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,80                          // sub           $0x50,%esp
+  .byte  232,0,0,0,0                         // call          b3e6 <_sk_modulate_sse2_lowp+0xd>
+  .byte  88                                  // pop           %eax
+  .byte  102,15,111,109,40                   // movdqa        0x28(%ebp),%xmm5
+  .byte  102,15,111,117,24                   // movdqa        0x18(%ebp),%xmm6
+  .byte  102,15,213,198                      // pmullw        %xmm6,%xmm0
+  .byte  102,15,111,184,122,90,0,0           // movdqa        0x5a7a(%eax),%xmm7
+  .byte  102,15,253,199                      // paddw         %xmm7,%xmm0
+  .byte  102,15,213,205                      // pmullw        %xmm5,%xmm1
+  .byte  102,15,253,207                      // paddw         %xmm7,%xmm1
+  .byte  102,15,213,85,56                    // pmullw        0x38(%ebp),%xmm2
+  .byte  102,15,253,215                      // paddw         %xmm7,%xmm2
+  .byte  102,15,111,101,72                   // movdqa        0x48(%ebp),%xmm4
+  .byte  102,15,213,220                      // pmullw        %xmm4,%xmm3
+  .byte  102,15,253,223                      // paddw         %xmm7,%xmm3
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
+  .byte  139,85,20                           // mov           0x14(%ebp),%edx
+  .byte  139,117,12                          // mov           0xc(%ebp),%esi
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  141,126,4                           // lea           0x4(%esi),%edi
+  .byte  102,15,127,100,36,64                // movdqa        %xmm4,0x40(%esp)
+  .byte  15,40,101,56                        // movaps        0x38(%ebp),%xmm4
+  .byte  15,41,100,36,48                     // movaps        %xmm4,0x30(%esp)
+  .byte  102,15,127,108,36,32                // movdqa        %xmm5,0x20(%esp)
+  .byte  102,15,127,116,36,16                // movdqa        %xmm6,0x10(%esp)
+  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
+  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
+  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  255,22                              // call          *(%esi)
+  .byte  131,196,80                          // add           $0x50,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_multiply_sse2_lowp
+.globl _sk_multiply_sse2_lowp
+FUNCTION(_sk_multiply_sse2_lowp)
+_sk_multiply_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,80                          // sub           $0x50,%esp
+  .byte  232,0,0,0,0                         // call          b482 <_sk_multiply_sse2_lowp+0xd>
+  .byte  88                                  // pop           %eax
+  .byte  102,15,111,109,24                   // movdqa        0x18(%ebp),%xmm5
+  .byte  102,15,111,160,222,89,0,0           // movdqa        0x59de(%eax),%xmm4
+  .byte  102,15,111,245                      // movdqa        %xmm5,%xmm6
+  .byte  102,15,253,244                      // paddw         %xmm4,%xmm6
+  .byte  102,15,249,117,72                   // psubw         0x48(%ebp),%xmm6
+  .byte  102,15,213,198                      // pmullw        %xmm6,%xmm0
+  .byte  102,15,111,244                      // movdqa        %xmm4,%xmm6
+  .byte  102,15,249,243                      // psubw         %xmm3,%xmm6
+  .byte  102,15,111,254                      // movdqa        %xmm6,%xmm7
+  .byte  102,15,213,253                      // pmullw        %xmm5,%xmm7
+  .byte  102,15,253,252                      // paddw         %xmm4,%xmm7
+  .byte  102,15,253,199                      // paddw         %xmm7,%xmm0
+  .byte  102,15,111,125,40                   // movdqa        0x28(%ebp),%xmm7
+  .byte  102,15,253,252                      // paddw         %xmm4,%xmm7
+  .byte  102,15,111,109,72                   // movdqa        0x48(%ebp),%xmm5
+  .byte  102,15,249,253                      // psubw         %xmm5,%xmm7
+  .byte  102,15,213,207                      // pmullw        %xmm7,%xmm1
+  .byte  102,15,111,254                      // movdqa        %xmm6,%xmm7
+  .byte  102,15,213,125,40                   // pmullw        0x28(%ebp),%xmm7
+  .byte  102,15,253,252                      // paddw         %xmm4,%xmm7
+  .byte  102,15,253,207                      // paddw         %xmm7,%xmm1
+  .byte  102,15,111,125,56                   // movdqa        0x38(%ebp),%xmm7
+  .byte  102,15,253,252                      // paddw         %xmm4,%xmm7
+  .byte  102,15,249,253                      // psubw         %xmm5,%xmm7
+  .byte  102,15,213,215                      // pmullw        %xmm7,%xmm2
+  .byte  102,15,111,254                      // movdqa        %xmm6,%xmm7
+  .byte  102,15,213,125,56                   // pmullw        0x38(%ebp),%xmm7
+  .byte  102,15,253,252                      // paddw         %xmm4,%xmm7
+  .byte  102,15,253,215                      // paddw         %xmm7,%xmm2
+  .byte  102,15,213,220                      // pmullw        %xmm4,%xmm3
+  .byte  102,15,253,220                      // paddw         %xmm4,%xmm3
+  .byte  102,15,213,245                      // pmullw        %xmm5,%xmm6
+  .byte  102,15,253,222                      // paddw         %xmm6,%xmm3
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
+  .byte  139,85,20                           // mov           0x14(%ebp),%edx
+  .byte  139,117,12                          // mov           0xc(%ebp),%esi
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  141,126,4                           // lea           0x4(%esi),%edi
+  .byte  102,15,127,108,36,64                // movdqa        %xmm5,0x40(%esp)
+  .byte  15,40,101,56                        // movaps        0x38(%ebp),%xmm4
+  .byte  15,41,100,36,48                     // movaps        %xmm4,0x30(%esp)
+  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
+  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
+  .byte  15,40,101,24                        // movaps        0x18(%ebp),%xmm4
+  .byte  15,41,100,36,16                     // movaps        %xmm4,0x10(%esp)
+  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
+  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
+  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  255,22                              // call          *(%esi)
+  .byte  131,196,80                          // add           $0x50,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_plus__sse2_lowp
+.globl _sk_plus__sse2_lowp
+FUNCTION(_sk_plus__sse2_lowp)
+_sk_plus__sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,96                          // sub           $0x60,%esp
+  .byte  102,15,111,225                      // movdqa        %xmm1,%xmm4
+  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
+  .byte  232,0,0,0,0                         // call          b583 <_sk_plus__sse2_lowp+0x15>
+  .byte  88                                  // pop           %eax
+  .byte  102,15,253,77,24                    // paddw         0x18(%ebp),%xmm1
+  .byte  102,15,111,168,253,88,0,0           // movdqa        0x58fd(%eax),%xmm5
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,15,217,197                      // psubusw       %xmm5,%xmm0
+  .byte  102,15,127,109,232                  // movdqa        %xmm5,-0x18(%ebp)
+  .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
+  .byte  102,15,117,199                      // pcmpeqw       %xmm7,%xmm0
+  .byte  102,15,219,200                      // pand          %xmm0,%xmm1
+  .byte  102,15,111,176,221,88,0,0           // movdqa        0x58dd(%eax),%xmm6
+  .byte  102,15,223,198                      // pandn         %xmm6,%xmm0
+  .byte  102,15,235,193                      // por           %xmm1,%xmm0
+  .byte  102,15,253,101,40                   // paddw         0x28(%ebp),%xmm4
+  .byte  102,15,111,204                      // movdqa        %xmm4,%xmm1
+  .byte  102,15,217,205                      // psubusw       %xmm5,%xmm1
+  .byte  102,15,117,207                      // pcmpeqw       %xmm7,%xmm1
+  .byte  102,15,219,225                      // pand          %xmm1,%xmm4
+  .byte  102,15,223,206                      // pandn         %xmm6,%xmm1
+  .byte  102,15,235,204                      // por           %xmm4,%xmm1
+  .byte  102,15,253,85,56                    // paddw         0x38(%ebp),%xmm2
+  .byte  102,15,111,226                      // movdqa        %xmm2,%xmm4
+  .byte  102,15,217,229                      // psubusw       %xmm5,%xmm4
+  .byte  102,15,117,231                      // pcmpeqw       %xmm7,%xmm4
+  .byte  102,15,219,212                      // pand          %xmm4,%xmm2
+  .byte  102,15,223,230                      // pandn         %xmm6,%xmm4
+  .byte  102,15,235,226                      // por           %xmm2,%xmm4
+  .byte  102,15,111,85,72                    // movdqa        0x48(%ebp),%xmm2
+  .byte  102,15,253,218                      // paddw         %xmm2,%xmm3
+  .byte  102,15,111,235                      // movdqa        %xmm3,%xmm5
+  .byte  102,15,217,109,232                  // psubusw       -0x18(%ebp),%xmm5
+  .byte  102,15,117,239                      // pcmpeqw       %xmm7,%xmm5
+  .byte  102,15,219,221                      // pand          %xmm5,%xmm3
+  .byte  102,15,223,238                      // pandn         %xmm6,%xmm5
+  .byte  102,15,235,235                      // por           %xmm3,%xmm5
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
+  .byte  139,85,20                           // mov           0x14(%ebp),%edx
+  .byte  139,117,12                          // mov           0xc(%ebp),%esi
+  .byte  141,126,4                           // lea           0x4(%esi),%edi
+  .byte  102,15,127,84,36,64                 // movdqa        %xmm2,0x40(%esp)
+  .byte  15,40,85,56                         // movaps        0x38(%ebp),%xmm2
+  .byte  15,41,84,36,48                      // movaps        %xmm2,0x30(%esp)
+  .byte  15,40,85,40                         // movaps        0x28(%ebp),%xmm2
+  .byte  15,41,84,36,32                      // movaps        %xmm2,0x20(%esp)
+  .byte  15,40,85,24                         // movaps        0x18(%ebp),%xmm2
+  .byte  15,41,84,36,16                      // movaps        %xmm2,0x10(%esp)
+  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
+  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
+  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  102,15,111,212                      // movdqa        %xmm4,%xmm2
+  .byte  102,15,111,221                      // movdqa        %xmm5,%xmm3
+  .byte  255,22                              // call          *(%esi)
+  .byte  131,196,96                          // add           $0x60,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_screen_sse2_lowp
+.globl _sk_screen_sse2_lowp
+FUNCTION(_sk_screen_sse2_lowp)
+_sk_screen_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,80                          // sub           $0x50,%esp
+  .byte  102,15,111,225                      // movdqa        %xmm1,%xmm4
+  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
+  .byte  232,0,0,0,0                         // call          b67b <_sk_screen_sse2_lowp+0x15>
+  .byte  88                                  // pop           %eax
+  .byte  102,15,111,109,40                   // movdqa        0x28(%ebp),%xmm5
+  .byte  102,15,111,117,24                   // movdqa        0x18(%ebp),%xmm6
+  .byte  102,15,111,198                      // movdqa        %xmm6,%xmm0
+  .byte  102,15,253,193                      // paddw         %xmm1,%xmm0
+  .byte  102,15,213,206                      // pmullw        %xmm6,%xmm1
+  .byte  102,15,111,176,229,87,0,0           // movdqa        0x57e5(%eax),%xmm6
+  .byte  102,15,253,206                      // paddw         %xmm6,%xmm1
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,249,193                      // psubw         %xmm1,%xmm0
+  .byte  102,15,111,205                      // movdqa        %xmm5,%xmm1
+  .byte  102,15,253,204                      // paddw         %xmm4,%xmm1
+  .byte  102,15,213,229                      // pmullw        %xmm5,%xmm4
+  .byte  102,15,253,230                      // paddw         %xmm6,%xmm4
+  .byte  102,15,113,212,8                    // psrlw         $0x8,%xmm4
+  .byte  102,15,249,204                      // psubw         %xmm4,%xmm1
+  .byte  102,15,111,125,56                   // movdqa        0x38(%ebp),%xmm7
+  .byte  102,15,111,231                      // movdqa        %xmm7,%xmm4
+  .byte  102,15,253,226                      // paddw         %xmm2,%xmm4
+  .byte  102,15,213,215                      // pmullw        %xmm7,%xmm2
+  .byte  102,15,253,214                      // paddw         %xmm6,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,249,226                      // psubw         %xmm2,%xmm4
+  .byte  102,15,111,85,72                    // movdqa        0x48(%ebp),%xmm2
+  .byte  102,15,111,234                      // movdqa        %xmm2,%xmm5
+  .byte  102,15,253,235                      // paddw         %xmm3,%xmm5
+  .byte  102,15,213,218                      // pmullw        %xmm2,%xmm3
+  .byte  102,15,253,222                      // paddw         %xmm6,%xmm3
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  102,15,249,235                      // psubw         %xmm3,%xmm5
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
+  .byte  139,85,20                           // mov           0x14(%ebp),%edx
+  .byte  139,117,12                          // mov           0xc(%ebp),%esi
+  .byte  141,126,4                           // lea           0x4(%esi),%edi
+  .byte  102,15,127,84,36,64                 // movdqa        %xmm2,0x40(%esp)
+  .byte  102,15,127,124,36,48                // movdqa        %xmm7,0x30(%esp)
+  .byte  15,40,85,40                         // movaps        0x28(%ebp),%xmm2
+  .byte  15,41,84,36,32                      // movaps        %xmm2,0x20(%esp)
+  .byte  15,40,85,24                         // movaps        0x18(%ebp),%xmm2
+  .byte  15,41,84,36,16                      // movaps        %xmm2,0x10(%esp)
+  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
+  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
+  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  102,15,111,212                      // movdqa        %xmm4,%xmm2
+  .byte  102,15,111,221                      // movdqa        %xmm5,%xmm3
+  .byte  255,22                              // call          *(%esi)
+  .byte  131,196,80                          // add           $0x50,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_xor__sse2_lowp
+.globl _sk_xor__sse2_lowp
+FUNCTION(_sk_xor__sse2_lowp)
+_sk_xor__sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,96                          // sub           $0x60,%esp
+  .byte  102,15,127,93,232                   // movdqa        %xmm3,-0x18(%ebp)
+  .byte  232,0,0,0,0                         // call          b75b <_sk_xor__sse2_lowp+0x12>
+  .byte  88                                  // pop           %eax
+  .byte  102,15,111,176,5,87,0,0             // movdqa        0x5705(%eax),%xmm6
+  .byte  102,15,111,254                      // movdqa        %xmm6,%xmm7
+  .byte  102,15,249,125,72                   // psubw         0x48(%ebp),%xmm7
+  .byte  102,15,213,199                      // pmullw        %xmm7,%xmm0
+  .byte  102,15,111,238                      // movdqa        %xmm6,%xmm5
+  .byte  102,15,249,235                      // psubw         %xmm3,%xmm5
+  .byte  102,15,111,221                      // movdqa        %xmm5,%xmm3
+  .byte  102,15,213,93,24                    // pmullw        0x18(%ebp),%xmm3
+  .byte  102,15,253,195                      // paddw         %xmm3,%xmm0
+  .byte  102,15,213,207                      // pmullw        %xmm7,%xmm1
+  .byte  102,15,111,221                      // movdqa        %xmm5,%xmm3
+  .byte  102,15,213,93,40                    // pmullw        0x28(%ebp),%xmm3
+  .byte  102,15,253,203                      // paddw         %xmm3,%xmm1
+  .byte  102,15,213,215                      // pmullw        %xmm7,%xmm2
+  .byte  102,15,111,93,56                    // movdqa        0x38(%ebp),%xmm3
+  .byte  102,15,111,229                      // movdqa        %xmm5,%xmm4
+  .byte  102,15,213,227                      // pmullw        %xmm3,%xmm4
+  .byte  102,15,253,212                      // paddw         %xmm4,%xmm2
+  .byte  102,15,213,125,232                  // pmullw        -0x18(%ebp),%xmm7
+  .byte  102,15,111,101,72                   // movdqa        0x48(%ebp),%xmm4
+  .byte  102,15,213,236                      // pmullw        %xmm4,%xmm5
+  .byte  102,15,253,239                      // paddw         %xmm7,%xmm5
+  .byte  102,15,253,198                      // paddw         %xmm6,%xmm0
+  .byte  102,15,253,206                      // paddw         %xmm6,%xmm1
+  .byte  102,15,253,214                      // paddw         %xmm6,%xmm2
+  .byte  102,15,253,238                      // paddw         %xmm6,%xmm5
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
+  .byte  139,85,20                           // mov           0x14(%ebp),%edx
+  .byte  139,117,12                          // mov           0xc(%ebp),%esi
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,113,213,8                    // psrlw         $0x8,%xmm5
+  .byte  141,126,4                           // lea           0x4(%esi),%edi
+  .byte  102,15,127,100,36,64                // movdqa        %xmm4,0x40(%esp)
+  .byte  102,15,127,92,36,48                 // movdqa        %xmm3,0x30(%esp)
+  .byte  15,40,93,40                         // movaps        0x28(%ebp),%xmm3
+  .byte  15,41,92,36,32                      // movaps        %xmm3,0x20(%esp)
+  .byte  15,40,93,24                         // movaps        0x18(%ebp),%xmm3
+  .byte  15,41,92,36,16                      // movaps        %xmm3,0x10(%esp)
+  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
+  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
+  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  102,15,111,221                      // movdqa        %xmm5,%xmm3
+  .byte  255,22                              // call          *(%esi)
+  .byte  131,196,96                          // add           $0x60,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_darken_sse2_lowp
+.globl _sk_darken_sse2_lowp
+FUNCTION(_sk_darken_sse2_lowp)
+_sk_darken_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  129,236,144,0,0,0                   // sub           $0x90,%esp
+  .byte  102,15,111,251                      // movdqa        %xmm3,%xmm7
+  .byte  102,15,127,125,216                  // movdqa        %xmm7,-0x28(%ebp)
+  .byte  15,41,85,200                        // movaps        %xmm2,-0x38(%ebp)
+  .byte  102,15,111,225                      // movdqa        %xmm1,%xmm4
+  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
+  .byte  232,0,0,0,0                         // call          b850 <_sk_darken_sse2_lowp+0x25>
+  .byte  88                                  // pop           %eax
+  .byte  102,15,111,117,72                   // movdqa        0x48(%ebp),%xmm6
+  .byte  102,15,111,109,24                   // movdqa        0x18(%ebp),%xmm5
+  .byte  102,15,111,197                      // movdqa        %xmm5,%xmm0
+  .byte  102,15,253,193                      // paddw         %xmm1,%xmm0
+  .byte  102,15,111,208                      // movdqa        %xmm0,%xmm2
+  .byte  102,15,213,206                      // pmullw        %xmm6,%xmm1
+  .byte  102,15,111,222                      // movdqa        %xmm6,%xmm3
+  .byte  102,15,111,197                      // movdqa        %xmm5,%xmm0
+  .byte  102,15,213,199                      // pmullw        %xmm7,%xmm0
+  .byte  102,15,111,184,32,86,0,0            // movdqa        0x5620(%eax),%xmm7
+  .byte  102,15,111,241                      // movdqa        %xmm1,%xmm6
+  .byte  102,15,239,247                      // pxor          %xmm7,%xmm6
+  .byte  102,15,111,232                      // movdqa        %xmm0,%xmm5
+  .byte  102,15,239,239                      // pxor          %xmm7,%xmm5
+  .byte  102,15,101,238                      // pcmpgtw       %xmm6,%xmm5
+  .byte  102,15,219,197                      // pand          %xmm5,%xmm0
+  .byte  102,15,223,233                      // pandn         %xmm1,%xmm5
+  .byte  102,15,235,232                      // por           %xmm0,%xmm5
+  .byte  102,15,111,128,16,86,0,0            // movdqa        0x5610(%eax),%xmm0
+  .byte  102,15,127,69,232                   // movdqa        %xmm0,-0x18(%ebp)
+  .byte  102,15,253,232                      // paddw         %xmm0,%xmm5
+  .byte  102,15,113,213,8                    // psrlw         $0x8,%xmm5
+  .byte  102,15,249,213                      // psubw         %xmm5,%xmm2
+  .byte  102,15,127,85,184                   // movdqa        %xmm2,-0x48(%ebp)
+  .byte  102,15,111,77,40                    // movdqa        0x28(%ebp),%xmm1
+  .byte  102,15,111,241                      // movdqa        %xmm1,%xmm6
+  .byte  102,15,253,244                      // paddw         %xmm4,%xmm6
+  .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
+  .byte  102,15,213,224                      // pmullw        %xmm0,%xmm4
+  .byte  102,15,111,208                      // movdqa        %xmm0,%xmm2
+  .byte  102,15,111,93,216                   // movdqa        -0x28(%ebp),%xmm3
+  .byte  102,15,213,203                      // pmullw        %xmm3,%xmm1
+  .byte  102,15,111,236                      // movdqa        %xmm4,%xmm5
+  .byte  102,15,239,239                      // pxor          %xmm7,%xmm5
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,15,239,199                      // pxor          %xmm7,%xmm0
+  .byte  102,15,101,197                      // pcmpgtw       %xmm5,%xmm0
+  .byte  102,15,219,200                      // pand          %xmm0,%xmm1
+  .byte  102,15,223,196                      // pandn         %xmm4,%xmm0
+  .byte  102,15,235,193                      // por           %xmm1,%xmm0
+  .byte  102,15,253,69,232                   // paddw         -0x18(%ebp),%xmm0
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,15,249,240                      // psubw         %xmm0,%xmm6
+  .byte  102,15,111,109,56                   // movdqa        0x38(%ebp),%xmm5
+  .byte  102,15,111,229                      // movdqa        %xmm5,%xmm4
+  .byte  102,15,111,69,200                   // movdqa        -0x38(%ebp),%xmm0
+  .byte  102,15,253,224                      // paddw         %xmm0,%xmm4
+  .byte  102,15,213,194                      // pmullw        %xmm2,%xmm0
+  .byte  102,15,111,208                      // movdqa        %xmm0,%xmm2
+  .byte  102,15,111,197                      // movdqa        %xmm5,%xmm0
+  .byte  102,15,213,195                      // pmullw        %xmm3,%xmm0
+  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
+  .byte  102,15,239,207                      // pxor          %xmm7,%xmm1
+  .byte  102,15,239,248                      // pxor          %xmm0,%xmm7
+  .byte  102,15,101,249                      // pcmpgtw       %xmm1,%xmm7
+  .byte  102,15,219,199                      // pand          %xmm7,%xmm0
+  .byte  102,15,223,250                      // pandn         %xmm2,%xmm7
+  .byte  102,15,235,248                      // por           %xmm0,%xmm7
+  .byte  102,15,111,77,232                   // movdqa        -0x18(%ebp),%xmm1
+  .byte  102,15,253,249                      // paddw         %xmm1,%xmm7
+  .byte  102,15,113,215,8                    // psrlw         $0x8,%xmm7
+  .byte  102,15,249,231                      // psubw         %xmm7,%xmm4
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,15,111,209                      // movdqa        %xmm1,%xmm2
+  .byte  102,15,249,195                      // psubw         %xmm3,%xmm0
+  .byte  102,15,111,125,72                   // movdqa        0x48(%ebp),%xmm7
+  .byte  102,15,213,199                      // pmullw        %xmm7,%xmm0
+  .byte  102,15,253,194                      // paddw         %xmm2,%xmm0
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,15,253,216                      // paddw         %xmm0,%xmm3
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
+  .byte  139,85,20                           // mov           0x14(%ebp),%edx
+  .byte  139,117,12                          // mov           0xc(%ebp),%esi
+  .byte  141,126,4                           // lea           0x4(%esi),%edi
+  .byte  102,15,127,124,36,64                // movdqa        %xmm7,0x40(%esp)
+  .byte  102,15,127,108,36,48                // movdqa        %xmm5,0x30(%esp)
+  .byte  15,40,69,40                         // movaps        0x28(%ebp),%xmm0
+  .byte  15,41,68,36,32                      // movaps        %xmm0,0x20(%esp)
+  .byte  15,40,69,24                         // movaps        0x18(%ebp),%xmm0
+  .byte  15,41,68,36,16                      // movaps        %xmm0,0x10(%esp)
+  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
+  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
+  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  15,40,69,184                        // movaps        -0x48(%ebp),%xmm0
+  .byte  102,15,111,206                      // movdqa        %xmm6,%xmm1
+  .byte  102,15,111,212                      // movdqa        %xmm4,%xmm2
+  .byte  255,22                              // call          *(%esi)
+  .byte  129,196,144,0,0,0                   // add           $0x90,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_lighten_sse2_lowp
+.globl _sk_lighten_sse2_lowp
+FUNCTION(_sk_lighten_sse2_lowp)
+_sk_lighten_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  129,236,144,0,0,0                   // sub           $0x90,%esp
+  .byte  102,15,111,243                      // movdqa        %xmm3,%xmm6
+  .byte  102,15,127,117,216                  // movdqa        %xmm6,-0x28(%ebp)
+  .byte  15,41,85,200                        // movaps        %xmm2,-0x38(%ebp)
+  .byte  102,15,111,225                      // movdqa        %xmm1,%xmm4
+  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
+  .byte  232,0,0,0,0                         // call          b9f9 <_sk_lighten_sse2_lowp+0x25>
+  .byte  88                                  // pop           %eax
+  .byte  102,15,111,109,24                   // movdqa        0x18(%ebp),%xmm5
+  .byte  102,15,111,197                      // movdqa        %xmm5,%xmm0
+  .byte  102,15,253,193                      // paddw         %xmm1,%xmm0
+  .byte  102,15,111,216                      // movdqa        %xmm0,%xmm3
+  .byte  102,15,213,77,72                    // pmullw        0x48(%ebp),%xmm1
+  .byte  102,15,111,197                      // movdqa        %xmm5,%xmm0
+  .byte  102,15,213,198                      // pmullw        %xmm6,%xmm0
+  .byte  102,15,111,184,119,84,0,0           // movdqa        0x5477(%eax),%xmm7
+  .byte  102,15,111,241                      // movdqa        %xmm1,%xmm6
+  .byte  102,15,239,247                      // pxor          %xmm7,%xmm6
+  .byte  102,15,111,232                      // movdqa        %xmm0,%xmm5
+  .byte  102,15,239,239                      // pxor          %xmm7,%xmm5
+  .byte  102,15,101,238                      // pcmpgtw       %xmm6,%xmm5
+  .byte  102,15,219,205                      // pand          %xmm5,%xmm1
+  .byte  102,15,223,232                      // pandn         %xmm0,%xmm5
+  .byte  102,15,235,233                      // por           %xmm1,%xmm5
+  .byte  102,15,111,128,103,84,0,0           // movdqa        0x5467(%eax),%xmm0
+  .byte  102,15,253,232                      // paddw         %xmm0,%xmm5
+  .byte  102,15,111,208                      // movdqa        %xmm0,%xmm2
+  .byte  102,15,127,85,232                   // movdqa        %xmm2,-0x18(%ebp)
+  .byte  102,15,113,213,8                    // psrlw         $0x8,%xmm5
+  .byte  102,15,249,221                      // psubw         %xmm5,%xmm3
+  .byte  102,15,127,93,184                   // movdqa        %xmm3,-0x48(%ebp)
+  .byte  102,15,111,77,40                    // movdqa        0x28(%ebp),%xmm1
+  .byte  102,15,111,241                      // movdqa        %xmm1,%xmm6
+  .byte  102,15,253,244                      // paddw         %xmm4,%xmm6
+  .byte  102,15,111,69,72                    // movdqa        0x48(%ebp),%xmm0
+  .byte  102,15,213,224                      // pmullw        %xmm0,%xmm4
+  .byte  102,15,111,93,216                   // movdqa        -0x28(%ebp),%xmm3
+  .byte  102,15,213,203                      // pmullw        %xmm3,%xmm1
+  .byte  102,15,111,236                      // movdqa        %xmm4,%xmm5
+  .byte  102,15,239,239                      // pxor          %xmm7,%xmm5
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,15,239,199                      // pxor          %xmm7,%xmm0
+  .byte  102,15,101,197                      // pcmpgtw       %xmm5,%xmm0
+  .byte  102,15,219,224                      // pand          %xmm0,%xmm4
+  .byte  102,15,223,193                      // pandn         %xmm1,%xmm0
+  .byte  102,15,235,196                      // por           %xmm4,%xmm0
+  .byte  102,15,253,194                      // paddw         %xmm2,%xmm0
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,15,249,240                      // psubw         %xmm0,%xmm6
+  .byte  102,15,111,109,56                   // movdqa        0x38(%ebp),%xmm5
+  .byte  102,15,111,229                      // movdqa        %xmm5,%xmm4
+  .byte  102,15,111,85,200                   // movdqa        -0x38(%ebp),%xmm2
+  .byte  102,15,253,226                      // paddw         %xmm2,%xmm4
+  .byte  102,15,213,85,72                    // pmullw        0x48(%ebp),%xmm2
+  .byte  102,15,111,197                      // movdqa        %xmm5,%xmm0
+  .byte  102,15,213,195                      // pmullw        %xmm3,%xmm0
+  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
+  .byte  102,15,239,207                      // pxor          %xmm7,%xmm1
+  .byte  102,15,239,248                      // pxor          %xmm0,%xmm7
+  .byte  102,15,101,249                      // pcmpgtw       %xmm1,%xmm7
+  .byte  102,15,219,215                      // pand          %xmm7,%xmm2
+  .byte  102,15,223,248                      // pandn         %xmm0,%xmm7
+  .byte  102,15,235,250                      // por           %xmm2,%xmm7
+  .byte  102,15,111,77,232                   // movdqa        -0x18(%ebp),%xmm1
+  .byte  102,15,253,249                      // paddw         %xmm1,%xmm7
+  .byte  102,15,113,215,8                    // psrlw         $0x8,%xmm7
+  .byte  102,15,249,231                      // psubw         %xmm7,%xmm4
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,15,111,249                      // movdqa        %xmm1,%xmm7
+  .byte  102,15,249,195                      // psubw         %xmm3,%xmm0
+  .byte  102,15,111,85,72                    // movdqa        0x48(%ebp),%xmm2
+  .byte  102,15,213,194                      // pmullw        %xmm2,%xmm0
+  .byte  102,15,253,199                      // paddw         %xmm7,%xmm0
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,15,253,216                      // paddw         %xmm0,%xmm3
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
+  .byte  139,85,20                           // mov           0x14(%ebp),%edx
+  .byte  139,117,12                          // mov           0xc(%ebp),%esi
+  .byte  141,126,4                           // lea           0x4(%esi),%edi
+  .byte  102,15,127,84,36,64                 // movdqa        %xmm2,0x40(%esp)
+  .byte  102,15,127,108,36,48                // movdqa        %xmm5,0x30(%esp)
+  .byte  15,40,69,40                         // movaps        0x28(%ebp),%xmm0
+  .byte  15,41,68,36,32                      // movaps        %xmm0,0x20(%esp)
+  .byte  15,40,69,24                         // movaps        0x18(%ebp),%xmm0
+  .byte  15,41,68,36,16                      // movaps        %xmm0,0x10(%esp)
+  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
+  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
+  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  15,40,69,184                        // movaps        -0x48(%ebp),%xmm0
+  .byte  102,15,111,206                      // movdqa        %xmm6,%xmm1
+  .byte  102,15,111,212                      // movdqa        %xmm4,%xmm2
+  .byte  255,22                              // call          *(%esi)
+  .byte  129,196,144,0,0,0                   // add           $0x90,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_difference_sse2_lowp
+.globl _sk_difference_sse2_lowp
+FUNCTION(_sk_difference_sse2_lowp)
+_sk_difference_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  129,236,160,0,0,0                   // sub           $0xa0,%esp
+  .byte  102,15,111,251                      // movdqa        %xmm3,%xmm7
+  .byte  102,15,127,125,200                  // movdqa        %xmm7,-0x38(%ebp)
+  .byte  15,41,85,184                        // movaps        %xmm2,-0x48(%ebp)
+  .byte  102,15,111,225                      // movdqa        %xmm1,%xmm4
+  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
+  .byte  232,0,0,0,0                         // call          bb97 <_sk_difference_sse2_lowp+0x25>
+  .byte  88                                  // pop           %eax
+  .byte  102,15,111,117,72                   // movdqa        0x48(%ebp),%xmm6
+  .byte  102,15,111,109,24                   // movdqa        0x18(%ebp),%xmm5
+  .byte  102,15,111,197                      // movdqa        %xmm5,%xmm0
+  .byte  102,15,253,193                      // paddw         %xmm1,%xmm0
+  .byte  102,15,111,208                      // movdqa        %xmm0,%xmm2
+  .byte  102,15,213,206                      // pmullw        %xmm6,%xmm1
+  .byte  102,15,111,222                      // movdqa        %xmm6,%xmm3
+  .byte  102,15,111,197                      // movdqa        %xmm5,%xmm0
+  .byte  102,15,213,199                      // pmullw        %xmm7,%xmm0
+  .byte  102,15,111,184,217,82,0,0           // movdqa        0x52d9(%eax),%xmm7
+  .byte  102,15,111,241                      // movdqa        %xmm1,%xmm6
+  .byte  102,15,239,247                      // pxor          %xmm7,%xmm6
+  .byte  102,15,111,232                      // movdqa        %xmm0,%xmm5
+  .byte  102,15,239,239                      // pxor          %xmm7,%xmm5
+  .byte  102,15,101,238                      // pcmpgtw       %xmm6,%xmm5
+  .byte  102,15,219,205                      // pand          %xmm5,%xmm1
+  .byte  102,15,223,232                      // pandn         %xmm0,%xmm5
+  .byte  102,15,235,233                      // por           %xmm1,%xmm5
+  .byte  102,15,111,128,201,82,0,0           // movdqa        0x52c9(%eax),%xmm0
+  .byte  102,15,127,69,216                   // movdqa        %xmm0,-0x28(%ebp)
+  .byte  102,15,253,232                      // paddw         %xmm0,%xmm5
+  .byte  102,15,113,213,7                    // psrlw         $0x7,%xmm5
+  .byte  102,15,111,128,249,82,0,0           // movdqa        0x52f9(%eax),%xmm0
+  .byte  102,15,127,69,232                   // movdqa        %xmm0,-0x18(%ebp)
+  .byte  102,15,219,232                      // pand          %xmm0,%xmm5
+  .byte  102,15,249,213                      // psubw         %xmm5,%xmm2
+  .byte  102,15,127,85,168                   // movdqa        %xmm2,-0x58(%ebp)
+  .byte  102,15,111,77,40                    // movdqa        0x28(%ebp),%xmm1
+  .byte  102,15,111,241                      // movdqa        %xmm1,%xmm6
+  .byte  102,15,253,244                      // paddw         %xmm4,%xmm6
+  .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
+  .byte  102,15,213,224                      // pmullw        %xmm0,%xmm4
+  .byte  102,15,111,208                      // movdqa        %xmm0,%xmm2
+  .byte  102,15,111,93,200                   // movdqa        -0x38(%ebp),%xmm3
+  .byte  102,15,213,203                      // pmullw        %xmm3,%xmm1
+  .byte  102,15,111,236                      // movdqa        %xmm4,%xmm5
+  .byte  102,15,239,239                      // pxor          %xmm7,%xmm5
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,15,239,199                      // pxor          %xmm7,%xmm0
+  .byte  102,15,101,197                      // pcmpgtw       %xmm5,%xmm0
+  .byte  102,15,219,224                      // pand          %xmm0,%xmm4
+  .byte  102,15,223,193                      // pandn         %xmm1,%xmm0
+  .byte  102,15,235,196                      // por           %xmm4,%xmm0
+  .byte  102,15,253,69,216                   // paddw         -0x28(%ebp),%xmm0
+  .byte  102,15,113,208,7                    // psrlw         $0x7,%xmm0
+  .byte  102,15,219,69,232                   // pand          -0x18(%ebp),%xmm0
+  .byte  102,15,249,240                      // psubw         %xmm0,%xmm6
+  .byte  102,15,111,109,56                   // movdqa        0x38(%ebp),%xmm5
+  .byte  102,15,111,229                      // movdqa        %xmm5,%xmm4
+  .byte  102,15,111,69,184                   // movdqa        -0x48(%ebp),%xmm0
+  .byte  102,15,253,224                      // paddw         %xmm0,%xmm4
+  .byte  102,15,213,194                      // pmullw        %xmm2,%xmm0
+  .byte  102,15,111,208                      // movdqa        %xmm0,%xmm2
+  .byte  102,15,111,197                      // movdqa        %xmm5,%xmm0
+  .byte  102,15,213,195                      // pmullw        %xmm3,%xmm0
+  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
+  .byte  102,15,239,207                      // pxor          %xmm7,%xmm1
+  .byte  102,15,239,248                      // pxor          %xmm0,%xmm7
+  .byte  102,15,101,249                      // pcmpgtw       %xmm1,%xmm7
+  .byte  102,15,219,215                      // pand          %xmm7,%xmm2
+  .byte  102,15,223,248                      // pandn         %xmm0,%xmm7
+  .byte  102,15,235,250                      // por           %xmm2,%xmm7
+  .byte  102,15,111,77,216                   // movdqa        -0x28(%ebp),%xmm1
+  .byte  102,15,253,249                      // paddw         %xmm1,%xmm7
+  .byte  102,15,113,215,7                    // psrlw         $0x7,%xmm7
+  .byte  102,15,219,125,232                  // pand          -0x18(%ebp),%xmm7
+  .byte  102,15,249,231                      // psubw         %xmm7,%xmm4
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,15,111,249                      // movdqa        %xmm1,%xmm7
+  .byte  102,15,249,195                      // psubw         %xmm3,%xmm0
+  .byte  102,15,111,85,72                    // movdqa        0x48(%ebp),%xmm2
+  .byte  102,15,213,194                      // pmullw        %xmm2,%xmm0
+  .byte  102,15,253,199                      // paddw         %xmm7,%xmm0
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,15,253,216                      // paddw         %xmm0,%xmm3
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
+  .byte  139,85,20                           // mov           0x14(%ebp),%edx
+  .byte  139,117,12                          // mov           0xc(%ebp),%esi
+  .byte  141,126,4                           // lea           0x4(%esi),%edi
+  .byte  102,15,127,84,36,64                 // movdqa        %xmm2,0x40(%esp)
+  .byte  102,15,127,108,36,48                // movdqa        %xmm5,0x30(%esp)
+  .byte  15,40,69,40                         // movaps        0x28(%ebp),%xmm0
+  .byte  15,41,68,36,32                      // movaps        %xmm0,0x20(%esp)
+  .byte  15,40,69,24                         // movaps        0x18(%ebp),%xmm0
+  .byte  15,41,68,36,16                      // movaps        %xmm0,0x10(%esp)
+  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
+  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
+  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  15,40,69,168                        // movaps        -0x58(%ebp),%xmm0
+  .byte  102,15,111,206                      // movdqa        %xmm6,%xmm1
+  .byte  102,15,111,212                      // movdqa        %xmm4,%xmm2
+  .byte  255,22                              // call          *(%esi)
+  .byte  129,196,160,0,0,0                   // add           $0xa0,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_exclusion_sse2_lowp
+.globl _sk_exclusion_sse2_lowp
+FUNCTION(_sk_exclusion_sse2_lowp)
+_sk_exclusion_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,80                          // sub           $0x50,%esp
+  .byte  102,15,111,225                      // movdqa        %xmm1,%xmm4
+  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
+  .byte  232,0,0,0,0                         // call          bd4b <_sk_exclusion_sse2_lowp+0x15>
+  .byte  88                                  // pop           %eax
+  .byte  102,15,111,109,24                   // movdqa        0x18(%ebp),%xmm5
+  .byte  102,15,111,197                      // movdqa        %xmm5,%xmm0
+  .byte  102,15,253,193                      // paddw         %xmm1,%xmm0
+  .byte  102,15,213,205                      // pmullw        %xmm5,%xmm1
+  .byte  102,15,111,184,21,81,0,0            // movdqa        0x5115(%eax),%xmm7
+  .byte  102,15,253,207                      // paddw         %xmm7,%xmm1
+  .byte  102,15,113,209,7                    // psrlw         $0x7,%xmm1
+  .byte  102,15,111,176,69,81,0,0            // movdqa        0x5145(%eax),%xmm6
+  .byte  102,15,219,206                      // pand          %xmm6,%xmm1
+  .byte  102,15,249,193                      // psubw         %xmm1,%xmm0
+  .byte  102,15,111,109,40                   // movdqa        0x28(%ebp),%xmm5
+  .byte  102,15,111,205                      // movdqa        %xmm5,%xmm1
+  .byte  102,15,253,204                      // paddw         %xmm4,%xmm1
+  .byte  102,15,213,229                      // pmullw        %xmm5,%xmm4
+  .byte  102,15,253,231                      // paddw         %xmm7,%xmm4
+  .byte  102,15,113,212,7                    // psrlw         $0x7,%xmm4
+  .byte  102,15,219,230                      // pand          %xmm6,%xmm4
+  .byte  102,15,249,204                      // psubw         %xmm4,%xmm1
+  .byte  102,15,111,109,56                   // movdqa        0x38(%ebp),%xmm5
+  .byte  102,15,111,229                      // movdqa        %xmm5,%xmm4
+  .byte  102,15,253,226                      // paddw         %xmm2,%xmm4
+  .byte  102,15,213,213                      // pmullw        %xmm5,%xmm2
+  .byte  102,15,253,215                      // paddw         %xmm7,%xmm2
+  .byte  102,15,113,210,7                    // psrlw         $0x7,%xmm2
+  .byte  102,15,219,214                      // pand          %xmm6,%xmm2
+  .byte  102,15,249,226                      // psubw         %xmm2,%xmm4
+  .byte  102,15,111,215                      // movdqa        %xmm7,%xmm2
+  .byte  102,15,249,211                      // psubw         %xmm3,%xmm2
+  .byte  102,15,111,117,72                   // movdqa        0x48(%ebp),%xmm6
+  .byte  102,15,213,214                      // pmullw        %xmm6,%xmm2
+  .byte  102,15,253,215                      // paddw         %xmm7,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,253,218                      // paddw         %xmm2,%xmm3
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
+  .byte  139,85,20                           // mov           0x14(%ebp),%edx
+  .byte  139,117,12                          // mov           0xc(%ebp),%esi
+  .byte  141,126,4                           // lea           0x4(%esi),%edi
+  .byte  102,15,127,116,36,64                // movdqa        %xmm6,0x40(%esp)
+  .byte  102,15,127,108,36,48                // movdqa        %xmm5,0x30(%esp)
+  .byte  15,40,85,40                         // movaps        0x28(%ebp),%xmm2
+  .byte  15,41,84,36,32                      // movaps        %xmm2,0x20(%esp)
+  .byte  15,40,85,24                         // movaps        0x18(%ebp),%xmm2
+  .byte  15,41,84,36,16                      // movaps        %xmm2,0x10(%esp)
+  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
+  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
+  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  102,15,111,212                      // movdqa        %xmm4,%xmm2
+  .byte  255,22                              // call          *(%esi)
+  .byte  131,196,80                          // add           $0x50,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_hardlight_sse2_lowp
+.globl _sk_hardlight_sse2_lowp
+FUNCTION(_sk_hardlight_sse2_lowp)
+_sk_hardlight_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  129,236,176,0,0,0                   // sub           $0xb0,%esp
+  .byte  15,41,85,152                        // movaps        %xmm2,-0x68(%ebp)
+  .byte  102,15,111,233                      // movdqa        %xmm1,%xmm5
+  .byte  102,15,111,224                      // movdqa        %xmm0,%xmm4
+  .byte  232,0,0,0,0                         // call          be45 <_sk_hardlight_sse2_lowp+0x1c>
+  .byte  88                                  // pop           %eax
+  .byte  102,15,111,184,27,80,0,0            // movdqa        0x501b(%eax),%xmm7
+  .byte  102,15,127,125,200                  // movdqa        %xmm7,-0x38(%ebp)
+  .byte  102,15,111,215                      // movdqa        %xmm7,%xmm2
+  .byte  102,15,249,85,72                    // psubw         0x48(%ebp),%xmm2
+  .byte  102,15,127,85,168                   // movdqa        %xmm2,-0x58(%ebp)
+  .byte  102,15,111,194                      // movdqa        %xmm2,%xmm0
+  .byte  102,15,213,196                      // pmullw        %xmm4,%xmm0
+  .byte  102,15,111,211                      // movdqa        %xmm3,%xmm2
+  .byte  102,15,249,250                      // psubw         %xmm2,%xmm7
+  .byte  102,15,127,125,232                  // movdqa        %xmm7,-0x18(%ebp)
+  .byte  102,15,111,117,24                   // movdqa        0x18(%ebp),%xmm6
+  .byte  102,15,213,254                      // pmullw        %xmm6,%xmm7
+  .byte  102,15,253,248                      // paddw         %xmm0,%xmm7
+  .byte  102,15,111,194                      // movdqa        %xmm2,%xmm0
+  .byte  102,15,249,196                      // psubw         %xmm4,%xmm0
+  .byte  102,15,111,93,72                    // movdqa        0x48(%ebp),%xmm3
+  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
+  .byte  102,15,249,206                      // psubw         %xmm6,%xmm1
+  .byte  102,15,213,200                      // pmullw        %xmm0,%xmm1
+  .byte  102,15,111,243                      // movdqa        %xmm3,%xmm6
+  .byte  102,15,111,218                      // movdqa        %xmm2,%xmm3
+  .byte  102,15,127,93,216                   // movdqa        %xmm3,-0x28(%ebp)
+  .byte  102,15,213,243                      // pmullw        %xmm3,%xmm6
+  .byte  102,15,253,201                      // paddw         %xmm1,%xmm1
+  .byte  102,15,111,214                      // movdqa        %xmm6,%xmm2
+  .byte  102,15,249,209                      // psubw         %xmm1,%xmm2
+  .byte  102,15,253,228                      // paddw         %xmm4,%xmm4
+  .byte  102,15,111,128,43,80,0,0            // movdqa        0x502b(%eax),%xmm0
+  .byte  102,15,239,216                      // pxor          %xmm0,%xmm3
+  .byte  102,15,127,93,184                   // movdqa        %xmm3,-0x48(%ebp)
+  .byte  102,15,111,204                      // movdqa        %xmm4,%xmm1
+  .byte  102,15,239,200                      // pxor          %xmm0,%xmm1
+  .byte  102,15,101,203                      // pcmpgtw       %xmm3,%xmm1
+  .byte  102,15,213,101,24                   // pmullw        0x18(%ebp),%xmm4
+  .byte  102,15,219,209                      // pand          %xmm1,%xmm2
+  .byte  102,15,223,204                      // pandn         %xmm4,%xmm1
+  .byte  102,15,235,202                      // por           %xmm2,%xmm1
+  .byte  102,15,253,125,200                  // paddw         -0x38(%ebp),%xmm7
+  .byte  102,15,253,207                      // paddw         %xmm7,%xmm1
+  .byte  102,15,111,85,168                   // movdqa        -0x58(%ebp),%xmm2
+  .byte  102,15,213,213                      // pmullw        %xmm5,%xmm2
+  .byte  102,15,111,93,40                    // movdqa        0x28(%ebp),%xmm3
+  .byte  102,15,111,125,232                  // movdqa        -0x18(%ebp),%xmm7
+  .byte  102,15,213,251                      // pmullw        %xmm3,%xmm7
+  .byte  102,15,253,250                      // paddw         %xmm2,%xmm7
+  .byte  102,15,111,85,216                   // movdqa        -0x28(%ebp),%xmm2
+  .byte  102,15,249,213                      // psubw         %xmm5,%xmm2
+  .byte  102,15,111,101,72                   // movdqa        0x48(%ebp),%xmm4
+  .byte  102,15,249,227                      // psubw         %xmm3,%xmm4
+  .byte  102,15,213,226                      // pmullw        %xmm2,%xmm4
+  .byte  102,15,253,228                      // paddw         %xmm4,%xmm4
+  .byte  102,15,111,214                      // movdqa        %xmm6,%xmm2
+  .byte  102,15,249,212                      // psubw         %xmm4,%xmm2
+  .byte  102,15,253,237                      // paddw         %xmm5,%xmm5
+  .byte  102,15,111,229                      // movdqa        %xmm5,%xmm4
+  .byte  102,15,239,224                      // pxor          %xmm0,%xmm4
+  .byte  102,15,101,101,184                  // pcmpgtw       -0x48(%ebp),%xmm4
+  .byte  102,15,213,235                      // pmullw        %xmm3,%xmm5
+  .byte  102,15,219,212                      // pand          %xmm4,%xmm2
+  .byte  102,15,223,229                      // pandn         %xmm5,%xmm4
+  .byte  102,15,235,226                      // por           %xmm2,%xmm4
+  .byte  102,15,253,125,200                  // paddw         -0x38(%ebp),%xmm7
+  .byte  102,15,253,231                      // paddw         %xmm7,%xmm4
+  .byte  102,15,111,93,152                   // movdqa        -0x68(%ebp),%xmm3
+  .byte  102,15,111,85,168                   // movdqa        -0x58(%ebp),%xmm2
+  .byte  102,15,213,211                      // pmullw        %xmm3,%xmm2
+  .byte  102,15,111,109,232                  // movdqa        -0x18(%ebp),%xmm5
+  .byte  102,15,213,109,56                   // pmullw        0x38(%ebp),%xmm5
+  .byte  102,15,253,234                      // paddw         %xmm2,%xmm5
+  .byte  102,15,111,85,216                   // movdqa        -0x28(%ebp),%xmm2
+  .byte  102,15,249,211                      // psubw         %xmm3,%xmm2
+  .byte  102,15,253,219                      // paddw         %xmm3,%xmm3
+  .byte  102,15,239,195                      // pxor          %xmm3,%xmm0
+  .byte  102,15,101,69,184                   // pcmpgtw       -0x48(%ebp),%xmm0
+  .byte  102,15,111,125,72                   // movdqa        0x48(%ebp),%xmm7
+  .byte  102,15,249,125,56                   // psubw         0x38(%ebp),%xmm7
+  .byte  102,15,213,250                      // pmullw        %xmm2,%xmm7
+  .byte  102,15,253,255                      // paddw         %xmm7,%xmm7
+  .byte  102,15,249,247                      // psubw         %xmm7,%xmm6
+  .byte  102,15,111,125,56                   // movdqa        0x38(%ebp),%xmm7
+  .byte  102,15,213,223                      // pmullw        %xmm7,%xmm3
+  .byte  102,15,219,240                      // pand          %xmm0,%xmm6
+  .byte  102,15,223,195                      // pandn         %xmm3,%xmm0
+  .byte  102,15,235,198                      // por           %xmm6,%xmm0
+  .byte  102,15,111,93,200                   // movdqa        -0x38(%ebp),%xmm3
+  .byte  102,15,253,235                      // paddw         %xmm3,%xmm5
+  .byte  102,15,253,232                      // paddw         %xmm0,%xmm5
+  .byte  102,15,111,69,72                    // movdqa        0x48(%ebp),%xmm0
+  .byte  102,15,111,85,232                   // movdqa        -0x18(%ebp),%xmm2
+  .byte  102,15,213,208                      // pmullw        %xmm0,%xmm2
+  .byte  102,15,253,211                      // paddw         %xmm3,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,111,93,216                   // movdqa        -0x28(%ebp),%xmm3
+  .byte  102,15,253,218                      // paddw         %xmm2,%xmm3
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
+  .byte  139,85,20                           // mov           0x14(%ebp),%edx
+  .byte  139,117,12                          // mov           0xc(%ebp),%esi
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,113,212,8                    // psrlw         $0x8,%xmm4
+  .byte  102,15,113,213,8                    // psrlw         $0x8,%xmm5
+  .byte  141,126,4                           // lea           0x4(%esi),%edi
+  .byte  102,15,127,68,36,64                 // movdqa        %xmm0,0x40(%esp)
+  .byte  102,15,127,124,36,48                // movdqa        %xmm7,0x30(%esp)
+  .byte  15,40,69,40                         // movaps        0x28(%ebp),%xmm0
+  .byte  15,41,68,36,32                      // movaps        %xmm0,0x20(%esp)
+  .byte  15,40,69,24                         // movaps        0x18(%ebp),%xmm0
+  .byte  15,41,68,36,16                      // movaps        %xmm0,0x10(%esp)
+  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
+  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
+  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,15,111,204                      // movdqa        %xmm4,%xmm1
+  .byte  102,15,111,213                      // movdqa        %xmm5,%xmm2
+  .byte  255,22                              // call          *(%esi)
+  .byte  129,196,176,0,0,0                   // add           $0xb0,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_overlay_sse2_lowp
+.globl _sk_overlay_sse2_lowp
+FUNCTION(_sk_overlay_sse2_lowp)
+_sk_overlay_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  129,236,208,0,0,0                   // sub           $0xd0,%esp
+  .byte  15,41,85,152                        // movaps        %xmm2,-0x68(%ebp)
+  .byte  15,41,141,120,255,255,255           // movaps        %xmm1,-0x88(%ebp)
+  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
+  .byte  232,0,0,0,0                         // call          c067 <_sk_overlay_sse2_lowp+0x1f>
+  .byte  88                                  // pop           %eax
+  .byte  102,15,111,69,72                    // movdqa        0x48(%ebp),%xmm0
+  .byte  102,15,111,184,249,77,0,0           // movdqa        0x4df9(%eax),%xmm7
+  .byte  102,15,127,125,232                  // movdqa        %xmm7,-0x18(%ebp)
+  .byte  102,15,111,215                      // movdqa        %xmm7,%xmm2
+  .byte  102,15,249,208                      // psubw         %xmm0,%xmm2
+  .byte  102,15,127,85,168                   // movdqa        %xmm2,-0x58(%ebp)
+  .byte  102,15,111,240                      // movdqa        %xmm0,%xmm6
+  .byte  102,15,213,209                      // pmullw        %xmm1,%xmm2
+  .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
+  .byte  102,15,249,248                      // psubw         %xmm0,%xmm7
+  .byte  102,15,111,231                      // movdqa        %xmm7,%xmm4
+  .byte  102,15,213,101,24                   // pmullw        0x18(%ebp),%xmm4
+  .byte  102,15,253,226                      // paddw         %xmm2,%xmm4
+  .byte  102,15,127,101,216                  // movdqa        %xmm4,-0x28(%ebp)
+  .byte  102,15,111,232                      // movdqa        %xmm0,%xmm5
+  .byte  102,15,127,69,200                   // movdqa        %xmm0,-0x38(%ebp)
+  .byte  102,15,249,233                      // psubw         %xmm1,%xmm5
+  .byte  102,15,111,230                      // movdqa        %xmm6,%xmm4
+  .byte  102,15,111,212                      // movdqa        %xmm4,%xmm2
+  .byte  102,15,111,93,24                    // movdqa        0x18(%ebp),%xmm3
+  .byte  102,15,249,211                      // psubw         %xmm3,%xmm2
+  .byte  102,15,213,213                      // pmullw        %xmm5,%xmm2
+  .byte  102,15,213,240                      // pmullw        %xmm0,%xmm6
+  .byte  102,15,253,210                      // paddw         %xmm2,%xmm2
+  .byte  102,15,111,238                      // movdqa        %xmm6,%xmm5
+  .byte  102,15,249,234                      // psubw         %xmm2,%xmm5
+  .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
+  .byte  102,15,253,192                      // paddw         %xmm0,%xmm0
+  .byte  102,15,111,144,9,78,0,0             // movdqa        0x4e09(%eax),%xmm2
+  .byte  102,15,127,85,184                   // movdqa        %xmm2,-0x48(%ebp)
+  .byte  102,15,239,226                      // pxor          %xmm2,%xmm4
+  .byte  102,15,239,194                      // pxor          %xmm2,%xmm0
+  .byte  102,15,101,196                      // pcmpgtw       %xmm4,%xmm0
+  .byte  102,15,127,101,136                  // movdqa        %xmm4,-0x78(%ebp)
+  .byte  102,15,213,203                      // pmullw        %xmm3,%xmm1
+  .byte  102,15,253,201                      // paddw         %xmm1,%xmm1
+  .byte  102,15,219,232                      // pand          %xmm0,%xmm5
+  .byte  102,15,223,193                      // pandn         %xmm1,%xmm0
+  .byte  102,15,235,197                      // por           %xmm5,%xmm0
+  .byte  102,15,111,85,232                   // movdqa        -0x18(%ebp),%xmm2
+  .byte  102,15,111,77,216                   // movdqa        -0x28(%ebp),%xmm1
+  .byte  102,15,253,202                      // paddw         %xmm2,%xmm1
+  .byte  102,15,253,200                      // paddw         %xmm0,%xmm1
+  .byte  102,15,127,77,216                   // movdqa        %xmm1,-0x28(%ebp)
+  .byte  102,15,111,69,168                   // movdqa        -0x58(%ebp),%xmm0
+  .byte  102,15,111,141,120,255,255,255      // movdqa        -0x88(%ebp),%xmm1
+  .byte  102,15,213,193                      // pmullw        %xmm1,%xmm0
+  .byte  102,15,111,85,40                    // movdqa        0x28(%ebp),%xmm2
+  .byte  102,15,111,223                      // movdqa        %xmm7,%xmm3
+  .byte  102,15,213,218                      // pmullw        %xmm2,%xmm3
+  .byte  102,15,253,216                      // paddw         %xmm0,%xmm3
+  .byte  102,15,111,69,200                   // movdqa        -0x38(%ebp),%xmm0
+  .byte  102,15,249,193                      // psubw         %xmm1,%xmm0
+  .byte  102,15,111,109,72                   // movdqa        0x48(%ebp),%xmm5
+  .byte  102,15,249,234                      // psubw         %xmm2,%xmm5
+  .byte  102,15,213,232                      // pmullw        %xmm0,%xmm5
+  .byte  102,15,253,237                      // paddw         %xmm5,%xmm5
+  .byte  102,15,111,198                      // movdqa        %xmm6,%xmm0
+  .byte  102,15,249,197                      // psubw         %xmm5,%xmm0
+  .byte  102,15,111,234                      // movdqa        %xmm2,%xmm5
+  .byte  102,15,253,237                      // paddw         %xmm5,%xmm5
+  .byte  102,15,239,109,184                  // pxor          -0x48(%ebp),%xmm5
+  .byte  102,15,101,236                      // pcmpgtw       %xmm4,%xmm5
+  .byte  102,15,213,202                      // pmullw        %xmm2,%xmm1
+  .byte  102,15,253,201                      // paddw         %xmm1,%xmm1
+  .byte  102,15,219,197                      // pand          %xmm5,%xmm0
+  .byte  102,15,223,233                      // pandn         %xmm1,%xmm5
+  .byte  102,15,235,232                      // por           %xmm0,%xmm5
+  .byte  102,15,253,93,232                   // paddw         -0x18(%ebp),%xmm3
+  .byte  102,15,253,221                      // paddw         %xmm5,%xmm3
+  .byte  102,15,111,109,152                  // movdqa        -0x68(%ebp),%xmm5
+  .byte  102,15,111,69,168                   // movdqa        -0x58(%ebp),%xmm0
+  .byte  102,15,213,197                      // pmullw        %xmm5,%xmm0
+  .byte  102,15,111,77,56                    // movdqa        0x38(%ebp),%xmm1
+  .byte  102,15,111,231                      // movdqa        %xmm7,%xmm4
+  .byte  102,15,213,225                      // pmullw        %xmm1,%xmm4
+  .byte  102,15,253,224                      // paddw         %xmm0,%xmm4
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,15,253,192                      // paddw         %xmm0,%xmm0
+  .byte  102,15,239,69,184                   // pxor          -0x48(%ebp),%xmm0
+  .byte  102,15,101,69,136                   // pcmpgtw       -0x78(%ebp),%xmm0
+  .byte  102,15,111,85,200                   // movdqa        -0x38(%ebp),%xmm2
+  .byte  102,15,249,213                      // psubw         %xmm5,%xmm2
+  .byte  102,15,111,77,72                    // movdqa        0x48(%ebp),%xmm1
+  .byte  102,15,111,233                      // movdqa        %xmm1,%xmm5
+  .byte  102,15,111,77,56                    // movdqa        0x38(%ebp),%xmm1
+  .byte  102,15,249,233                      // psubw         %xmm1,%xmm5
+  .byte  102,15,213,234                      // pmullw        %xmm2,%xmm5
+  .byte  102,15,253,237                      // paddw         %xmm5,%xmm5
+  .byte  102,15,249,245                      // psubw         %xmm5,%xmm6
+  .byte  102,15,111,85,152                   // movdqa        -0x68(%ebp),%xmm2
+  .byte  102,15,213,209                      // pmullw        %xmm1,%xmm2
+  .byte  102,15,253,210                      // paddw         %xmm2,%xmm2
+  .byte  102,15,219,240                      // pand          %xmm0,%xmm6
+  .byte  102,15,223,194                      // pandn         %xmm2,%xmm0
+  .byte  102,15,235,198                      // por           %xmm6,%xmm0
+  .byte  102,15,111,85,232                   // movdqa        -0x18(%ebp),%xmm2
+  .byte  102,15,253,226                      // paddw         %xmm2,%xmm4
+  .byte  102,15,253,224                      // paddw         %xmm0,%xmm4
+  .byte  102,15,111,69,72                    // movdqa        0x48(%ebp),%xmm0
+  .byte  102,15,213,248                      // pmullw        %xmm0,%xmm7
+  .byte  102,15,253,250                      // paddw         %xmm2,%xmm7
+  .byte  102,15,113,215,8                    // psrlw         $0x8,%xmm7
+  .byte  102,15,111,109,200                  // movdqa        -0x38(%ebp),%xmm5
+  .byte  102,15,253,239                      // paddw         %xmm7,%xmm5
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
+  .byte  139,85,20                           // mov           0x14(%ebp),%edx
+  .byte  139,117,12                          // mov           0xc(%ebp),%esi
+  .byte  102,15,111,77,216                   // movdqa        -0x28(%ebp),%xmm1
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  102,15,113,212,8                    // psrlw         $0x8,%xmm4
+  .byte  141,126,4                           // lea           0x4(%esi),%edi
+  .byte  102,15,127,68,36,64                 // movdqa        %xmm0,0x40(%esp)
+  .byte  15,40,69,56                         // movaps        0x38(%ebp),%xmm0
+  .byte  15,41,68,36,48                      // movaps        %xmm0,0x30(%esp)
+  .byte  15,40,69,40                         // movaps        0x28(%ebp),%xmm0
+  .byte  15,41,68,36,32                      // movaps        %xmm0,0x20(%esp)
+  .byte  15,40,69,24                         // movaps        0x18(%ebp),%xmm0
+  .byte  15,41,68,36,16                      // movaps        %xmm0,0x10(%esp)
+  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
+  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
+  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
+  .byte  102,15,111,212                      // movdqa        %xmm4,%xmm2
+  .byte  102,15,111,221                      // movdqa        %xmm5,%xmm3
+  .byte  255,22                              // call          *(%esi)
+  .byte  129,196,208,0,0,0                   // add           $0xd0,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_load_8888_sse2_lowp
+.globl _sk_load_8888_sse2_lowp
+FUNCTION(_sk_load_8888_sse2_lowp)
+_sk_load_8888_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,92                          // sub           $0x5c,%esp
+  .byte  15,40,125,72                        // movaps        0x48(%ebp),%xmm7
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,85,8                            // mov           0x8(%ebp),%edx
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  139,89,4                            // mov           0x4(%ecx),%ebx
+  .byte  15,175,93,20                        // imul          0x14(%ebp),%ebx
+  .byte  193,227,2                           // shl           $0x2,%ebx
+  .byte  3,25                                // add           (%ecx),%ebx
+  .byte  137,209                             // mov           %edx,%ecx
+  .byte  128,225,7                           // and           $0x7,%cl
+  .byte  254,201                             // dec           %cl
+  .byte  128,249,6                           // cmp           $0x6,%cl
+  .byte  232,0,0,0,0                         // call          c2d6 <_sk_load_8888_sse2_lowp+0x30>
+  .byte  95                                  // pop           %edi
+  .byte  139,117,16                          // mov           0x10(%ebp),%esi
+  .byte  119,32                              // ja            c2fc <_sk_load_8888_sse2_lowp+0x56>
+  .byte  102,15,239,246                      // pxor          %xmm6,%xmm6
+  .byte  15,182,201                          // movzbl        %cl,%ecx
+  .byte  139,140,143,50,1,0,0                // mov           0x132(%edi,%ecx,4),%ecx
+  .byte  1,249                               // add           %edi,%ecx
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  255,225                             // jmp           *%ecx
+  .byte  243,15,16,28,179                    // movss         (%ebx,%esi,4),%xmm3
+  .byte  15,87,246                           // xorps         %xmm6,%xmm6
+  .byte  235,73                              // jmp           c345 <_sk_load_8888_sse2_lowp+0x9f>
+  .byte  102,15,16,28,179                    // movupd        (%ebx,%esi,4),%xmm3
+  .byte  15,16,116,179,16                    // movups        0x10(%ebx,%esi,4),%xmm6
+  .byte  235,61                              // jmp           c345 <_sk_load_8888_sse2_lowp+0x9f>
+  .byte  102,15,110,68,179,8                 // movd          0x8(%ebx,%esi,4),%xmm0
+  .byte  102,15,112,216,69                   // pshufd        $0x45,%xmm0,%xmm3
+  .byte  102,15,18,28,179                    // movlpd        (%ebx,%esi,4),%xmm3
+  .byte  235,43                              // jmp           c345 <_sk_load_8888_sse2_lowp+0x9f>
+  .byte  102,15,110,68,179,24                // movd          0x18(%ebx,%esi,4),%xmm0
+  .byte  102,15,112,240,69                   // pshufd        $0x45,%xmm0,%xmm6
+  .byte  243,15,16,68,179,20                 // movss         0x14(%ebx,%esi,4),%xmm0
+  .byte  15,198,198,0                        // shufps        $0x0,%xmm6,%xmm0
+  .byte  15,198,198,226                      // shufps        $0xe2,%xmm6,%xmm0
+  .byte  15,40,240                           // movaps        %xmm0,%xmm6
+  .byte  243,15,16,68,179,16                 // movss         0x10(%ebx,%esi,4),%xmm0
+  .byte  243,15,16,240                       // movss         %xmm0,%xmm6
+  .byte  102,15,16,28,179                    // movupd        (%ebx,%esi,4),%xmm3
+  .byte  102,15,40,203                       // movapd        %xmm3,%xmm1
+  .byte  102,15,114,241,16                   // pslld         $0x10,%xmm1
+  .byte  102,15,114,225,16                   // psrad         $0x10,%xmm1
+  .byte  15,40,198                           // movaps        %xmm6,%xmm0
+  .byte  102,15,114,240,16                   // pslld         $0x10,%xmm0
+  .byte  102,15,114,224,16                   // psrad         $0x10,%xmm0
+  .byte  102,15,107,200                      // packssdw      %xmm0,%xmm1
+  .byte  102,15,111,175,138,75,0,0           // movdqa        0x4b8a(%edi),%xmm5
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,15,219,197                      // pand          %xmm5,%xmm0
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  15,40,230                           // movaps        %xmm6,%xmm4
+  .byte  102,15,114,212,16                   // psrld         $0x10,%xmm4
+  .byte  102,15,40,211                       // movapd        %xmm3,%xmm2
+  .byte  102,15,114,210,16                   // psrld         $0x10,%xmm2
+  .byte  102,15,114,211,24                   // psrld         $0x18,%xmm3
+  .byte  102,15,114,243,16                   // pslld         $0x10,%xmm3
+  .byte  102,15,114,227,16                   // psrad         $0x10,%xmm3
+  .byte  102,15,114,214,24                   // psrld         $0x18,%xmm6
+  .byte  102,15,114,246,16                   // pslld         $0x10,%xmm6
+  .byte  102,15,114,230,16                   // psrad         $0x10,%xmm6
+  .byte  102,15,107,222                      // packssdw      %xmm6,%xmm3
+  .byte  102,15,114,242,16                   // pslld         $0x10,%xmm2
+  .byte  102,15,114,226,16                   // psrad         $0x10,%xmm2
+  .byte  102,15,114,244,16                   // pslld         $0x10,%xmm4
+  .byte  102,15,114,228,16                   // psrad         $0x10,%xmm4
+  .byte  102,15,107,212                      // packssdw      %xmm4,%xmm2
+  .byte  102,15,219,213                      // pand          %xmm5,%xmm2
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  15,41,124,36,64                     // movaps        %xmm7,0x40(%esp)
+  .byte  15,40,101,56                        // movaps        0x38(%ebp),%xmm4
+  .byte  15,41,100,36,48                     // movaps        %xmm4,0x30(%esp)
+  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
+  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
+  .byte  15,40,101,24                        // movaps        0x18(%ebp),%xmm4
+  .byte  15,41,100,36,16                     // movaps        %xmm4,0x10(%esp)
+  .byte  139,125,20                          // mov           0x14(%ebp),%edi
+  .byte  137,124,36,12                       // mov           %edi,0xc(%esp)
+  .byte  137,116,36,8                        // mov           %esi,0x8(%esp)
+  .byte  137,76,36,4                         // mov           %ecx,0x4(%esp)
+  .byte  137,20,36                           // mov           %edx,(%esp)
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,92                          // add           $0x5c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  28,0                                // sbb           $0x0,%al
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  61,0,0,0,50                         // cmp           $0x32000000,%eax
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,106,0                             // add           %ch,0x0(%edx)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  96                                  // pusha
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,79,0                              // add           %cl,0x0(%edi)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  68                                  // inc           %esp
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0                                   // .byte         0x0
+
+HIDDEN _sk_load_8888_dst_sse2_lowp
+.globl _sk_load_8888_dst_sse2_lowp
+FUNCTION(_sk_load_8888_dst_sse2_lowp)
+_sk_load_8888_dst_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  129,236,140,0,0,0                   // sub           $0x8c,%esp
+  .byte  102,15,127,93,184                   // movdqa        %xmm3,-0x48(%ebp)
+  .byte  102,15,127,85,200                   // movdqa        %xmm2,-0x38(%ebp)
+  .byte  15,41,77,216                        // movaps        %xmm1,-0x28(%ebp)
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,85,8                            // mov           0x8(%ebp),%edx
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  139,89,4                            // mov           0x4(%ecx),%ebx
+  .byte  15,175,93,20                        // imul          0x14(%ebp),%ebx
+  .byte  193,227,2                           // shl           $0x2,%ebx
+  .byte  3,25                                // add           (%ecx),%ebx
+  .byte  137,209                             // mov           %edx,%ecx
+  .byte  128,225,7                           // and           $0x7,%cl
+  .byte  254,201                             // dec           %cl
+  .byte  128,249,6                           // cmp           $0x6,%cl
+  .byte  232,0,0,0,0                         // call          c461 <_sk_load_8888_dst_sse2_lowp+0x3d>
+  .byte  95                                  // pop           %edi
+  .byte  139,117,16                          // mov           0x10(%ebp),%esi
+  .byte  119,32                              // ja            c487 <_sk_load_8888_dst_sse2_lowp+0x63>
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  15,182,201                          // movzbl        %cl,%ecx
+  .byte  139,140,143,59,1,0,0                // mov           0x13b(%edi,%ecx,4),%ecx
+  .byte  1,249                               // add           %edi,%ecx
+  .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
+  .byte  255,225                             // jmp           *%ecx
+  .byte  243,15,16,60,179                    // movss         (%ebx,%esi,4),%xmm7
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  235,73                              // jmp           c4d0 <_sk_load_8888_dst_sse2_lowp+0xac>
+  .byte  102,15,16,60,179                    // movupd        (%ebx,%esi,4),%xmm7
+  .byte  15,16,92,179,16                     // movups        0x10(%ebx,%esi,4),%xmm3
+  .byte  235,61                              // jmp           c4d0 <_sk_load_8888_dst_sse2_lowp+0xac>
+  .byte  102,15,110,84,179,8                 // movd          0x8(%ebx,%esi,4),%xmm2
+  .byte  102,15,112,250,69                   // pshufd        $0x45,%xmm2,%xmm7
+  .byte  102,15,18,60,179                    // movlpd        (%ebx,%esi,4),%xmm7
+  .byte  235,43                              // jmp           c4d0 <_sk_load_8888_dst_sse2_lowp+0xac>
+  .byte  102,15,110,84,179,24                // movd          0x18(%ebx,%esi,4),%xmm2
+  .byte  102,15,112,218,69                   // pshufd        $0x45,%xmm2,%xmm3
+  .byte  243,15,16,84,179,20                 // movss         0x14(%ebx,%esi,4),%xmm2
+  .byte  15,198,211,0                        // shufps        $0x0,%xmm3,%xmm2
+  .byte  15,198,211,226                      // shufps        $0xe2,%xmm3,%xmm2
+  .byte  15,40,218                           // movaps        %xmm2,%xmm3
+  .byte  243,15,16,84,179,16                 // movss         0x10(%ebx,%esi,4),%xmm2
+  .byte  243,15,16,218                       // movss         %xmm2,%xmm3
+  .byte  102,15,16,60,179                    // movupd        (%ebx,%esi,4),%xmm7
+  .byte  102,15,40,247                       // movapd        %xmm7,%xmm6
+  .byte  102,15,114,246,16                   // pslld         $0x10,%xmm6
+  .byte  102,15,114,230,16                   // psrad         $0x10,%xmm6
+  .byte  15,40,211                           // movaps        %xmm3,%xmm2
+  .byte  102,15,114,242,16                   // pslld         $0x10,%xmm2
+  .byte  102,15,114,226,16                   // psrad         $0x10,%xmm2
+  .byte  102,15,107,242                      // packssdw      %xmm2,%xmm6
+  .byte  102,15,111,151,255,73,0,0           // movdqa        0x49ff(%edi),%xmm2
+  .byte  102,15,111,206                      // movdqa        %xmm6,%xmm1
+  .byte  102,15,219,202                      // pand          %xmm2,%xmm1
+  .byte  102,15,113,214,8                    // psrlw         $0x8,%xmm6
+  .byte  15,40,227                           // movaps        %xmm3,%xmm4
+  .byte  102,15,114,212,16                   // psrld         $0x10,%xmm4
+  .byte  102,15,40,239                       // movapd        %xmm7,%xmm5
+  .byte  102,15,114,213,16                   // psrld         $0x10,%xmm5
+  .byte  102,15,114,215,24                   // psrld         $0x18,%xmm7
+  .byte  102,15,114,247,16                   // pslld         $0x10,%xmm7
+  .byte  102,15,114,231,16                   // psrad         $0x10,%xmm7
+  .byte  102,15,114,211,24                   // psrld         $0x18,%xmm3
+  .byte  102,15,114,243,16                   // pslld         $0x10,%xmm3
+  .byte  102,15,114,227,16                   // psrad         $0x10,%xmm3
+  .byte  102,15,107,251                      // packssdw      %xmm3,%xmm7
+  .byte  102,15,114,245,16                   // pslld         $0x10,%xmm5
+  .byte  102,15,114,229,16                   // psrad         $0x10,%xmm5
+  .byte  102,15,114,244,16                   // pslld         $0x10,%xmm4
+  .byte  102,15,114,228,16                   // psrad         $0x10,%xmm4
+  .byte  102,15,107,236                      // packssdw      %xmm4,%xmm5
+  .byte  102,15,219,234                      // pand          %xmm2,%xmm5
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  139,125,20                          // mov           0x14(%ebp),%edi
+  .byte  137,124,36,12                       // mov           %edi,0xc(%esp)
+  .byte  137,116,36,8                        // mov           %esi,0x8(%esp)
+  .byte  137,76,36,4                         // mov           %ecx,0x4(%esp)
+  .byte  137,20,36                           // mov           %edx,(%esp)
+  .byte  102,15,127,124,36,64                // movdqa        %xmm7,0x40(%esp)
+  .byte  102,15,127,116,36,32                // movdqa        %xmm6,0x20(%esp)
+  .byte  102,15,127,76,36,16                 // movdqa        %xmm1,0x10(%esp)
+  .byte  102,15,127,108,36,48                // movdqa        %xmm5,0x30(%esp)
+  .byte  15,40,77,216                        // movaps        -0x28(%ebp),%xmm1
+  .byte  15,40,85,200                        // movaps        -0x38(%ebp),%xmm2
+  .byte  15,40,93,184                        // movaps        -0x48(%ebp),%xmm3
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  129,196,140,0,0,0                   // add           $0x8c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  28,0                                // sbb           $0x0,%al
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  61,0,0,0,50                         // cmp           $0x32000000,%eax
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,106,0                             // add           %ch,0x0(%edx)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  96                                  // pusha
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,79,0                              // add           %cl,0x0(%edi)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  68                                  // inc           %esp
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0                                   // .byte         0x0
+
+HIDDEN _sk_store_8888_sse2_lowp
+.globl _sk_store_8888_sse2_lowp
+FUNCTION(_sk_store_8888_sse2_lowp)
+_sk_store_8888_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,108                         // sub           $0x6c,%esp
+  .byte  102,15,111,225                      // movdqa        %xmm1,%xmm4
+  .byte  102,15,113,244,8                    // psllw         $0x8,%xmm4
+  .byte  102,15,235,224                      // por           %xmm0,%xmm4
+  .byte  102,15,239,246                      // pxor          %xmm6,%xmm6
+  .byte  102,15,111,236                      // movdqa        %xmm4,%xmm5
+  .byte  102,15,97,238                       // punpcklwd     %xmm6,%xmm5
+  .byte  102,15,127,93,216                   // movdqa        %xmm3,-0x28(%ebp)
+  .byte  102,15,113,243,8                    // psllw         $0x8,%xmm3
+  .byte  102,15,235,218                      // por           %xmm2,%xmm3
+  .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
+  .byte  102,15,97,251                       // punpcklwd     %xmm3,%xmm7
+  .byte  102,15,235,253                      // por           %xmm5,%xmm7
+  .byte  102,15,105,230                      // punpckhwd     %xmm6,%xmm4
+  .byte  102,15,105,243                      // punpckhwd     %xmm3,%xmm6
+  .byte  15,40,93,72                         // movaps        0x48(%ebp),%xmm3
+  .byte  102,15,235,244                      // por           %xmm4,%xmm6
+  .byte  102,15,111,101,56                   // movdqa        0x38(%ebp),%xmm4
+  .byte  139,85,20                           // mov           0x14(%ebp),%edx
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,93,8                            // mov           0x8(%ebp),%ebx
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  139,121,4                           // mov           0x4(%ecx),%edi
+  .byte  15,175,250                          // imul          %edx,%edi
+  .byte  193,231,2                           // shl           $0x2,%edi
+  .byte  3,57                                // add           (%ecx),%edi
+  .byte  128,227,7                           // and           $0x7,%bl
+  .byte  254,203                             // dec           %bl
+  .byte  128,251,6                           // cmp           $0x6,%bl
+  .byte  232,0,0,0,0                         // call          c62c <_sk_store_8888_sse2_lowp+0x74>
+  .byte  89                                  // pop           %ecx
+  .byte  139,117,16                          // mov           0x10(%ebp),%esi
+  .byte  15,40,109,40                        // movaps        0x28(%ebp),%xmm5
+  .byte  119,19                              // ja            c649 <_sk_store_8888_sse2_lowp+0x91>
+  .byte  15,182,219                          // movzbl        %bl,%ebx
+  .byte  3,140,153,184,0,0,0                 // add           0xb8(%ecx,%ebx,4),%ecx
+  .byte  255,225                             // jmp           *%ecx
+  .byte  102,15,126,60,183                   // movd          %xmm7,(%edi,%esi,4)
+  .byte  235,93                              // jmp           c6a6 <_sk_store_8888_sse2_lowp+0xee>
+  .byte  243,15,127,60,183                   // movdqu        %xmm7,(%edi,%esi,4)
+  .byte  243,15,127,116,183,16               // movdqu        %xmm6,0x10(%edi,%esi,4)
+  .byte  235,80                              // jmp           c6a6 <_sk_store_8888_sse2_lowp+0xee>
+  .byte  102,15,111,244                      // movdqa        %xmm4,%xmm6
+  .byte  15,40,227                           // movaps        %xmm3,%xmm4
+  .byte  102,15,112,223,78                   // pshufd        $0x4e,%xmm7,%xmm3
+  .byte  102,15,126,92,183,8                 // movd          %xmm3,0x8(%edi,%esi,4)
+  .byte  15,40,220                           // movaps        %xmm4,%xmm3
+  .byte  102,15,111,230                      // movdqa        %xmm6,%xmm4
+  .byte  102,15,214,60,183                   // movq          %xmm7,(%edi,%esi,4)
+  .byte  235,48                              // jmp           c6a6 <_sk_store_8888_sse2_lowp+0xee>
+  .byte  102,15,112,222,78                   // pshufd        $0x4e,%xmm6,%xmm3
+  .byte  102,15,126,92,183,24                // movd          %xmm3,0x18(%edi,%esi,4)
+  .byte  15,40,93,72                         // movaps        0x48(%ebp),%xmm3
+  .byte  15,40,227                           // movaps        %xmm3,%xmm4
+  .byte  102,15,112,222,229                  // pshufd        $0xe5,%xmm6,%xmm3
+  .byte  102,15,126,92,183,20                // movd          %xmm3,0x14(%edi,%esi,4)
+  .byte  15,40,220                           // movaps        %xmm4,%xmm3
+  .byte  102,15,111,101,56                   // movdqa        0x38(%ebp),%xmm4
+  .byte  102,15,126,116,183,16               // movd          %xmm6,0x10(%edi,%esi,4)
+  .byte  243,15,127,60,183                   // movdqu        %xmm7,(%edi,%esi,4)
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  15,41,92,36,64                      // movaps        %xmm3,0x40(%esp)
+  .byte  102,15,127,100,36,48                // movdqa        %xmm4,0x30(%esp)
+  .byte  15,41,108,36,32                     // movaps        %xmm5,0x20(%esp)
+  .byte  15,40,93,24                         // movaps        0x18(%ebp),%xmm3
+  .byte  15,41,92,36,16                      // movaps        %xmm3,0x10(%esp)
+  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
+  .byte  137,116,36,8                        // mov           %esi,0x8(%esp)
+  .byte  137,76,36,4                         // mov           %ecx,0x4(%esp)
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  137,12,36                           // mov           %ecx,(%esp)
+  .byte  15,40,93,216                        // movaps        -0x28(%ebp),%xmm3
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,108                         // add           $0x6c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  144                                 // nop
+  .byte  22                                  // push          %ss
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,67,0                              // add           %al,0x0(%ebx)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  42,0                                // sub           (%eax),%al
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  117,0                               // jne           c6f2 <_sk_store_8888_sse2_lowp+0x13a>
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  111                                 // outsl         %ds:(%esi),(%dx)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,89,0                              // add           %bl,0x0(%ecx)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  74                                  // dec           %edx
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0                                   // .byte         0x0
+
+HIDDEN _sk_load_bgra_sse2_lowp
+.globl _sk_load_bgra_sse2_lowp
+FUNCTION(_sk_load_bgra_sse2_lowp)
+_sk_load_bgra_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,92                          // sub           $0x5c,%esp
+  .byte  15,40,125,72                        // movaps        0x48(%ebp),%xmm7
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,85,8                            // mov           0x8(%ebp),%edx
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  139,89,4                            // mov           0x4(%ecx),%ebx
+  .byte  15,175,93,20                        // imul          0x14(%ebp),%ebx
+  .byte  193,227,2                           // shl           $0x2,%ebx
+  .byte  3,25                                // add           (%ecx),%ebx
+  .byte  137,209                             // mov           %edx,%ecx
+  .byte  128,225,7                           // and           $0x7,%cl
+  .byte  254,201                             // dec           %cl
+  .byte  128,249,6                           // cmp           $0x6,%cl
+  .byte  232,0,0,0,0                         // call          c730 <_sk_load_bgra_sse2_lowp+0x30>
+  .byte  95                                  // pop           %edi
+  .byte  139,117,16                          // mov           0x10(%ebp),%esi
+  .byte  119,32                              // ja            c756 <_sk_load_bgra_sse2_lowp+0x56>
+  .byte  102,15,239,246                      // pxor          %xmm6,%xmm6
+  .byte  15,182,201                          // movzbl        %cl,%ecx
+  .byte  139,140,143,52,1,0,0                // mov           0x134(%edi,%ecx,4),%ecx
+  .byte  1,249                               // add           %edi,%ecx
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  255,225                             // jmp           *%ecx
+  .byte  243,15,16,28,179                    // movss         (%ebx,%esi,4),%xmm3
+  .byte  15,87,246                           // xorps         %xmm6,%xmm6
+  .byte  235,73                              // jmp           c79f <_sk_load_bgra_sse2_lowp+0x9f>
+  .byte  102,15,16,28,179                    // movupd        (%ebx,%esi,4),%xmm3
+  .byte  15,16,116,179,16                    // movups        0x10(%ebx,%esi,4),%xmm6
+  .byte  235,61                              // jmp           c79f <_sk_load_bgra_sse2_lowp+0x9f>
+  .byte  102,15,110,68,179,8                 // movd          0x8(%ebx,%esi,4),%xmm0
+  .byte  102,15,112,216,69                   // pshufd        $0x45,%xmm0,%xmm3
+  .byte  102,15,18,28,179                    // movlpd        (%ebx,%esi,4),%xmm3
+  .byte  235,43                              // jmp           c79f <_sk_load_bgra_sse2_lowp+0x9f>
+  .byte  102,15,110,68,179,24                // movd          0x18(%ebx,%esi,4),%xmm0
+  .byte  102,15,112,240,69                   // pshufd        $0x45,%xmm0,%xmm6
+  .byte  243,15,16,68,179,20                 // movss         0x14(%ebx,%esi,4),%xmm0
+  .byte  15,198,198,0                        // shufps        $0x0,%xmm6,%xmm0
+  .byte  15,198,198,226                      // shufps        $0xe2,%xmm6,%xmm0
+  .byte  15,40,240                           // movaps        %xmm0,%xmm6
+  .byte  243,15,16,68,179,16                 // movss         0x10(%ebx,%esi,4),%xmm0
+  .byte  243,15,16,240                       // movss         %xmm0,%xmm6
+  .byte  102,15,16,28,179                    // movupd        (%ebx,%esi,4),%xmm3
+  .byte  102,15,40,203                       // movapd        %xmm3,%xmm1
+  .byte  102,15,114,241,16                   // pslld         $0x10,%xmm1
+  .byte  102,15,114,225,16                   // psrad         $0x10,%xmm1
+  .byte  15,40,198                           // movaps        %xmm6,%xmm0
+  .byte  102,15,114,240,16                   // pslld         $0x10,%xmm0
+  .byte  102,15,114,224,16                   // psrad         $0x10,%xmm0
+  .byte  102,15,107,200                      // packssdw      %xmm0,%xmm1
+  .byte  102,15,111,175,48,71,0,0            // movdqa        0x4730(%edi),%xmm5
+  .byte  102,15,111,209                      // movdqa        %xmm1,%xmm2
+  .byte  102,15,219,213                      // pand          %xmm5,%xmm2
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  15,40,230                           // movaps        %xmm6,%xmm4
+  .byte  102,15,114,212,16                   // psrld         $0x10,%xmm4
+  .byte  102,15,40,195                       // movapd        %xmm3,%xmm0
+  .byte  102,15,114,208,16                   // psrld         $0x10,%xmm0
+  .byte  102,15,114,211,24                   // psrld         $0x18,%xmm3
+  .byte  102,15,114,243,16                   // pslld         $0x10,%xmm3
+  .byte  102,15,114,227,16                   // psrad         $0x10,%xmm3
+  .byte  102,15,114,214,24                   // psrld         $0x18,%xmm6
+  .byte  102,15,114,246,16                   // pslld         $0x10,%xmm6
+  .byte  102,15,114,230,16                   // psrad         $0x10,%xmm6
+  .byte  102,15,107,222                      // packssdw      %xmm6,%xmm3
+  .byte  102,15,114,240,16                   // pslld         $0x10,%xmm0
+  .byte  102,15,114,224,16                   // psrad         $0x10,%xmm0
+  .byte  102,15,114,244,16                   // pslld         $0x10,%xmm4
+  .byte  102,15,114,228,16                   // psrad         $0x10,%xmm4
+  .byte  102,15,107,196                      // packssdw      %xmm4,%xmm0
+  .byte  102,15,219,197                      // pand          %xmm5,%xmm0
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  15,41,124,36,64                     // movaps        %xmm7,0x40(%esp)
+  .byte  15,40,101,56                        // movaps        0x38(%ebp),%xmm4
+  .byte  15,41,100,36,48                     // movaps        %xmm4,0x30(%esp)
+  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
+  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
+  .byte  15,40,101,24                        // movaps        0x18(%ebp),%xmm4
+  .byte  15,41,100,36,16                     // movaps        %xmm4,0x10(%esp)
+  .byte  139,125,20                          // mov           0x14(%ebp),%edi
+  .byte  137,124,36,12                       // mov           %edi,0xc(%esp)
+  .byte  137,116,36,8                        // mov           %esi,0x8(%esp)
+  .byte  137,76,36,4                         // mov           %ecx,0x4(%esp)
+  .byte  137,20,36                           // mov           %edx,(%esp)
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,92                          // add           $0x5c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  28,0                                // sbb           $0x0,%al
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  61,0,0,0,50                         // cmp           $0x32000000,%eax
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,106,0                             // add           %ch,0x0(%edx)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  96                                  // pusha
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,79,0                              // add           %cl,0x0(%edi)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  68                                  // inc           %esp
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0                                   // .byte         0x0
+
+HIDDEN _sk_load_bgra_dst_sse2_lowp
+.globl _sk_load_bgra_dst_sse2_lowp
+FUNCTION(_sk_load_bgra_dst_sse2_lowp)
+_sk_load_bgra_dst_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  129,236,140,0,0,0                   // sub           $0x8c,%esp
+  .byte  102,15,127,93,184                   // movdqa        %xmm3,-0x48(%ebp)
+  .byte  102,15,127,85,200                   // movdqa        %xmm2,-0x38(%ebp)
+  .byte  15,41,77,216                        // movaps        %xmm1,-0x28(%ebp)
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,85,8                            // mov           0x8(%ebp),%edx
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  139,89,4                            // mov           0x4(%ecx),%ebx
+  .byte  15,175,93,20                        // imul          0x14(%ebp),%ebx
+  .byte  193,227,2                           // shl           $0x2,%ebx
+  .byte  3,25                                // add           (%ecx),%ebx
+  .byte  137,209                             // mov           %edx,%ecx
+  .byte  128,225,7                           // and           $0x7,%cl
+  .byte  254,201                             // dec           %cl
+  .byte  128,249,6                           // cmp           $0x6,%cl
+  .byte  232,0,0,0,0                         // call          c8bd <_sk_load_bgra_dst_sse2_lowp+0x3d>
+  .byte  95                                  // pop           %edi
+  .byte  139,117,16                          // mov           0x10(%ebp),%esi
+  .byte  119,32                              // ja            c8e3 <_sk_load_bgra_dst_sse2_lowp+0x63>
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  15,182,201                          // movzbl        %cl,%ecx
+  .byte  139,140,143,59,1,0,0                // mov           0x13b(%edi,%ecx,4),%ecx
+  .byte  1,249                               // add           %edi,%ecx
+  .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
+  .byte  255,225                             // jmp           *%ecx
+  .byte  243,15,16,60,179                    // movss         (%ebx,%esi,4),%xmm7
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  235,73                              // jmp           c92c <_sk_load_bgra_dst_sse2_lowp+0xac>
+  .byte  102,15,16,60,179                    // movupd        (%ebx,%esi,4),%xmm7
+  .byte  15,16,92,179,16                     // movups        0x10(%ebx,%esi,4),%xmm3
+  .byte  235,61                              // jmp           c92c <_sk_load_bgra_dst_sse2_lowp+0xac>
+  .byte  102,15,110,84,179,8                 // movd          0x8(%ebx,%esi,4),%xmm2
+  .byte  102,15,112,250,69                   // pshufd        $0x45,%xmm2,%xmm7
+  .byte  102,15,18,60,179                    // movlpd        (%ebx,%esi,4),%xmm7
+  .byte  235,43                              // jmp           c92c <_sk_load_bgra_dst_sse2_lowp+0xac>
+  .byte  102,15,110,84,179,24                // movd          0x18(%ebx,%esi,4),%xmm2
+  .byte  102,15,112,218,69                   // pshufd        $0x45,%xmm2,%xmm3
+  .byte  243,15,16,84,179,20                 // movss         0x14(%ebx,%esi,4),%xmm2
+  .byte  15,198,211,0                        // shufps        $0x0,%xmm3,%xmm2
+  .byte  15,198,211,226                      // shufps        $0xe2,%xmm3,%xmm2
+  .byte  15,40,218                           // movaps        %xmm2,%xmm3
+  .byte  243,15,16,84,179,16                 // movss         0x10(%ebx,%esi,4),%xmm2
+  .byte  243,15,16,218                       // movss         %xmm2,%xmm3
+  .byte  102,15,16,60,179                    // movupd        (%ebx,%esi,4),%xmm7
+  .byte  102,15,40,247                       // movapd        %xmm7,%xmm6
+  .byte  102,15,114,246,16                   // pslld         $0x10,%xmm6
+  .byte  102,15,114,230,16                   // psrad         $0x10,%xmm6
+  .byte  15,40,211                           // movaps        %xmm3,%xmm2
+  .byte  102,15,114,242,16                   // pslld         $0x10,%xmm2
+  .byte  102,15,114,226,16                   // psrad         $0x10,%xmm2
+  .byte  102,15,107,242                      // packssdw      %xmm2,%xmm6
+  .byte  102,15,111,151,163,69,0,0           // movdqa        0x45a3(%edi),%xmm2
+  .byte  102,15,111,206                      // movdqa        %xmm6,%xmm1
+  .byte  102,15,219,202                      // pand          %xmm2,%xmm1
+  .byte  102,15,113,214,8                    // psrlw         $0x8,%xmm6
+  .byte  15,40,227                           // movaps        %xmm3,%xmm4
+  .byte  102,15,114,212,16                   // psrld         $0x10,%xmm4
+  .byte  102,15,40,239                       // movapd        %xmm7,%xmm5
+  .byte  102,15,114,213,16                   // psrld         $0x10,%xmm5
+  .byte  102,15,114,215,24                   // psrld         $0x18,%xmm7
+  .byte  102,15,114,247,16                   // pslld         $0x10,%xmm7
+  .byte  102,15,114,231,16                   // psrad         $0x10,%xmm7
+  .byte  102,15,114,211,24                   // psrld         $0x18,%xmm3
+  .byte  102,15,114,243,16                   // pslld         $0x10,%xmm3
+  .byte  102,15,114,227,16                   // psrad         $0x10,%xmm3
+  .byte  102,15,107,251                      // packssdw      %xmm3,%xmm7
+  .byte  102,15,114,245,16                   // pslld         $0x10,%xmm5
+  .byte  102,15,114,229,16                   // psrad         $0x10,%xmm5
+  .byte  102,15,114,244,16                   // pslld         $0x10,%xmm4
+  .byte  102,15,114,228,16                   // psrad         $0x10,%xmm4
+  .byte  102,15,107,236                      // packssdw      %xmm4,%xmm5
+  .byte  102,15,219,234                      // pand          %xmm2,%xmm5
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  139,125,20                          // mov           0x14(%ebp),%edi
+  .byte  137,124,36,12                       // mov           %edi,0xc(%esp)
+  .byte  137,116,36,8                        // mov           %esi,0x8(%esp)
+  .byte  137,76,36,4                         // mov           %ecx,0x4(%esp)
+  .byte  137,20,36                           // mov           %edx,(%esp)
+  .byte  102,15,127,124,36,64                // movdqa        %xmm7,0x40(%esp)
+  .byte  102,15,127,76,36,48                 // movdqa        %xmm1,0x30(%esp)
+  .byte  102,15,127,116,36,32                // movdqa        %xmm6,0x20(%esp)
+  .byte  102,15,127,108,36,16                // movdqa        %xmm5,0x10(%esp)
+  .byte  15,40,77,216                        // movaps        -0x28(%ebp),%xmm1
+  .byte  15,40,85,200                        // movaps        -0x38(%ebp),%xmm2
+  .byte  15,40,93,184                        // movaps        -0x48(%ebp),%xmm3
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  129,196,140,0,0,0                   // add           $0x8c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  28,0                                // sbb           $0x0,%al
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  61,0,0,0,50                         // cmp           $0x32000000,%eax
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,106,0                             // add           %ch,0x0(%edx)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  96                                  // pusha
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,79,0                              // add           %cl,0x0(%edi)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  68                                  // inc           %esp
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0                                   // .byte         0x0
+
+HIDDEN _sk_store_bgra_sse2_lowp
+.globl _sk_store_bgra_sse2_lowp
+FUNCTION(_sk_store_bgra_sse2_lowp)
+_sk_store_bgra_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,108                         // sub           $0x6c,%esp
+  .byte  102,15,111,225                      // movdqa        %xmm1,%xmm4
+  .byte  102,15,113,244,8                    // psllw         $0x8,%xmm4
+  .byte  102,15,235,226                      // por           %xmm2,%xmm4
+  .byte  102,15,239,246                      // pxor          %xmm6,%xmm6
+  .byte  102,15,111,236                      // movdqa        %xmm4,%xmm5
+  .byte  102,15,97,238                       // punpcklwd     %xmm6,%xmm5
+  .byte  102,15,127,93,216                   // movdqa        %xmm3,-0x28(%ebp)
+  .byte  102,15,113,243,8                    // psllw         $0x8,%xmm3
+  .byte  102,15,235,216                      // por           %xmm0,%xmm3
+  .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
+  .byte  102,15,97,251                       // punpcklwd     %xmm3,%xmm7
+  .byte  102,15,235,253                      // por           %xmm5,%xmm7
+  .byte  102,15,105,230                      // punpckhwd     %xmm6,%xmm4
+  .byte  102,15,105,243                      // punpckhwd     %xmm3,%xmm6
+  .byte  15,40,93,72                         // movaps        0x48(%ebp),%xmm3
+  .byte  102,15,235,244                      // por           %xmm4,%xmm6
+  .byte  102,15,111,101,56                   // movdqa        0x38(%ebp),%xmm4
+  .byte  139,85,20                           // mov           0x14(%ebp),%edx
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,93,8                            // mov           0x8(%ebp),%ebx
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  139,121,4                           // mov           0x4(%ecx),%edi
+  .byte  15,175,250                          // imul          %edx,%edi
+  .byte  193,231,2                           // shl           $0x2,%edi
+  .byte  3,57                                // add           (%ecx),%edi
+  .byte  128,227,7                           // and           $0x7,%bl
+  .byte  254,203                             // dec           %bl
+  .byte  128,251,6                           // cmp           $0x6,%bl
+  .byte  232,0,0,0,0                         // call          ca88 <_sk_store_bgra_sse2_lowp+0x74>
+  .byte  89                                  // pop           %ecx
+  .byte  139,117,16                          // mov           0x10(%ebp),%esi
+  .byte  15,40,109,40                        // movaps        0x28(%ebp),%xmm5
+  .byte  119,19                              // ja            caa5 <_sk_store_bgra_sse2_lowp+0x91>
+  .byte  15,182,219                          // movzbl        %bl,%ebx
+  .byte  3,140,153,184,0,0,0                 // add           0xb8(%ecx,%ebx,4),%ecx
+  .byte  255,225                             // jmp           *%ecx
+  .byte  102,15,126,60,183                   // movd          %xmm7,(%edi,%esi,4)
+  .byte  235,93                              // jmp           cb02 <_sk_store_bgra_sse2_lowp+0xee>
+  .byte  243,15,127,60,183                   // movdqu        %xmm7,(%edi,%esi,4)
+  .byte  243,15,127,116,183,16               // movdqu        %xmm6,0x10(%edi,%esi,4)
+  .byte  235,80                              // jmp           cb02 <_sk_store_bgra_sse2_lowp+0xee>
+  .byte  102,15,111,244                      // movdqa        %xmm4,%xmm6
+  .byte  15,40,227                           // movaps        %xmm3,%xmm4
+  .byte  102,15,112,223,78                   // pshufd        $0x4e,%xmm7,%xmm3
+  .byte  102,15,126,92,183,8                 // movd          %xmm3,0x8(%edi,%esi,4)
+  .byte  15,40,220                           // movaps        %xmm4,%xmm3
+  .byte  102,15,111,230                      // movdqa        %xmm6,%xmm4
+  .byte  102,15,214,60,183                   // movq          %xmm7,(%edi,%esi,4)
+  .byte  235,48                              // jmp           cb02 <_sk_store_bgra_sse2_lowp+0xee>
+  .byte  102,15,112,222,78                   // pshufd        $0x4e,%xmm6,%xmm3
+  .byte  102,15,126,92,183,24                // movd          %xmm3,0x18(%edi,%esi,4)
+  .byte  15,40,93,72                         // movaps        0x48(%ebp),%xmm3
+  .byte  15,40,227                           // movaps        %xmm3,%xmm4
+  .byte  102,15,112,222,229                  // pshufd        $0xe5,%xmm6,%xmm3
+  .byte  102,15,126,92,183,20                // movd          %xmm3,0x14(%edi,%esi,4)
+  .byte  15,40,220                           // movaps        %xmm4,%xmm3
+  .byte  102,15,111,101,56                   // movdqa        0x38(%ebp),%xmm4
+  .byte  102,15,126,116,183,16               // movd          %xmm6,0x10(%edi,%esi,4)
+  .byte  243,15,127,60,183                   // movdqu        %xmm7,(%edi,%esi,4)
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  15,41,92,36,64                      // movaps        %xmm3,0x40(%esp)
+  .byte  102,15,127,100,36,48                // movdqa        %xmm4,0x30(%esp)
+  .byte  15,41,108,36,32                     // movaps        %xmm5,0x20(%esp)
+  .byte  15,40,93,24                         // movaps        0x18(%ebp),%xmm3
+  .byte  15,41,92,36,16                      // movaps        %xmm3,0x10(%esp)
+  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
+  .byte  137,116,36,8                        // mov           %esi,0x8(%esp)
+  .byte  137,76,36,4                         // mov           %ecx,0x4(%esp)
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  137,12,36                           // mov           %ecx,(%esp)
+  .byte  15,40,93,216                        // movaps        -0x28(%ebp),%xmm3
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,108                         // add           $0x6c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  144                                 // nop
+  .byte  22                                  // push          %ss
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,67,0                              // add           %al,0x0(%ebx)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  42,0                                // sub           (%eax),%al
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  117,0                               // jne           cb4e <_sk_store_bgra_sse2_lowp+0x13a>
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  111                                 // outsl         %ds:(%esi),(%dx)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,89,0                              // add           %bl,0x0(%ecx)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  74                                  // dec           %edx
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0                                   // .byte         0x0
+
+HIDDEN _sk_gather_8888_sse2_lowp
+.globl _sk_gather_8888_sse2_lowp
+FUNCTION(_sk_gather_8888_sse2_lowp)
+_sk_gather_8888_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,96                          // sub           $0x60,%esp
+  .byte  232,0,0,0,0                         // call          cb69 <_sk_gather_8888_sse2_lowp+0xd>
+  .byte  90                                  // pop           %edx
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  139,57                              // mov           (%ecx),%edi
+  .byte  243,15,16,103,8                     // movss         0x8(%edi),%xmm4
+  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
+  .byte  102,15,118,237                      // pcmpeqd       %xmm5,%xmm5
+  .byte  102,15,254,229                      // paddd         %xmm5,%xmm4
+  .byte  15,87,246                           // xorps         %xmm6,%xmm6
+  .byte  15,95,198                           // maxps         %xmm6,%xmm0
+  .byte  15,95,206                           // maxps         %xmm6,%xmm1
+  .byte  15,93,204                           // minps         %xmm4,%xmm1
+  .byte  15,93,196                           // minps         %xmm4,%xmm0
+  .byte  243,15,16,103,12                    // movss         0xc(%edi),%xmm4
+  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
+  .byte  102,15,254,229                      // paddd         %xmm5,%xmm4
+  .byte  15,95,222                           // maxps         %xmm6,%xmm3
+  .byte  15,95,214                           // maxps         %xmm6,%xmm2
+  .byte  15,93,212                           // minps         %xmm4,%xmm2
+  .byte  15,93,220                           // minps         %xmm4,%xmm3
+  .byte  139,55                              // mov           (%edi),%esi
+  .byte  243,15,91,219                       // cvttps2dq     %xmm3,%xmm3
+  .byte  243,15,91,210                       // cvttps2dq     %xmm2,%xmm2
+  .byte  102,15,110,103,4                    // movd          0x4(%edi),%xmm4
+  .byte  102,15,112,228,0                    // pshufd        $0x0,%xmm4,%xmm4
+  .byte  102,15,112,234,245                  // pshufd        $0xf5,%xmm2,%xmm5
+  .byte  102,15,244,236                      // pmuludq       %xmm4,%xmm5
+  .byte  102,15,111,244                      // movdqa        %xmm4,%xmm6
+  .byte  102,15,112,251,245                  // pshufd        $0xf5,%xmm3,%xmm7
+  .byte  102,15,244,252                      // pmuludq       %xmm4,%xmm7
+  .byte  102,15,244,226                      // pmuludq       %xmm2,%xmm4
+  .byte  102,15,112,212,232                  // pshufd        $0xe8,%xmm4,%xmm2
+  .byte  102,15,112,229,232                  // pshufd        $0xe8,%xmm5,%xmm4
+  .byte  102,15,98,212                       // punpckldq     %xmm4,%xmm2
+  .byte  102,15,244,243                      // pmuludq       %xmm3,%xmm6
+  .byte  102,15,112,222,232                  // pshufd        $0xe8,%xmm6,%xmm3
+  .byte  102,15,112,231,232                  // pshufd        $0xe8,%xmm7,%xmm4
+  .byte  102,15,98,220                       // punpckldq     %xmm4,%xmm3
+  .byte  243,15,91,192                       // cvttps2dq     %xmm0,%xmm0
+  .byte  102,15,254,194                      // paddd         %xmm2,%xmm0
+  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
+  .byte  102,15,254,203                      // paddd         %xmm3,%xmm1
+  .byte  102,15,112,208,78                   // pshufd        $0x4e,%xmm0,%xmm2
+  .byte  102,15,112,216,231                  // pshufd        $0xe7,%xmm0,%xmm3
+  .byte  102,15,126,223                      // movd          %xmm3,%edi
+  .byte  243,15,16,28,190                    // movss         (%esi,%edi,4),%xmm3
+  .byte  15,41,93,232                        // movaps        %xmm3,-0x18(%ebp)
+  .byte  102,15,126,215                      // movd          %xmm2,%edi
+  .byte  102,15,110,36,190                   // movd          (%esi,%edi,4),%xmm4
+  .byte  102,15,126,199                      // movd          %xmm0,%edi
+  .byte  102,15,112,192,229                  // pshufd        $0xe5,%xmm0,%xmm0
+  .byte  102,15,110,28,190                   // movd          (%esi,%edi,4),%xmm3
+  .byte  102,15,126,199                      // movd          %xmm0,%edi
+  .byte  102,15,112,193,78                   // pshufd        $0x4e,%xmm1,%xmm0
+  .byte  102,15,112,233,231                  // pshufd        $0xe7,%xmm1,%xmm5
+  .byte  102,15,110,52,190                   // movd          (%esi,%edi,4),%xmm6
+  .byte  102,15,126,239                      // movd          %xmm5,%edi
+  .byte  102,15,110,60,190                   // movd          (%esi,%edi,4),%xmm7
+  .byte  102,15,126,199                      // movd          %xmm0,%edi
+  .byte  102,15,110,20,190                   // movd          (%esi,%edi,4),%xmm2
+  .byte  102,15,126,207                      // movd          %xmm1,%edi
+  .byte  102,15,112,201,229                  // pshufd        $0xe5,%xmm1,%xmm1
+  .byte  102,15,110,4,190                    // movd          (%esi,%edi,4),%xmm0
+  .byte  102,15,126,207                      // movd          %xmm1,%edi
+  .byte  102,15,110,12,190                   // movd          (%esi,%edi,4),%xmm1
+  .byte  139,117,16                          // mov           0x10(%ebp),%esi
+  .byte  139,125,20                          // mov           0x14(%ebp),%edi
+  .byte  102,15,98,101,232                   // punpckldq     -0x18(%ebp),%xmm4
+  .byte  102,15,98,222                       // punpckldq     %xmm6,%xmm3
+  .byte  15,40,109,40                        // movaps        0x28(%ebp),%xmm5
+  .byte  102,15,108,220                      // punpcklqdq    %xmm4,%xmm3
+  .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
+  .byte  102,15,98,215                       // punpckldq     %xmm7,%xmm2
+  .byte  102,15,98,193                       // punpckldq     %xmm1,%xmm0
+  .byte  102,15,108,194                      // punpcklqdq    %xmm2,%xmm0
+  .byte  102,15,111,208                      // movdqa        %xmm0,%xmm2
+  .byte  102,15,114,242,16                   // pslld         $0x10,%xmm2
+  .byte  102,15,114,226,16                   // psrad         $0x10,%xmm2
+  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
+  .byte  102,15,114,241,16                   // pslld         $0x10,%xmm1
+  .byte  102,15,114,225,16                   // psrad         $0x10,%xmm1
+  .byte  102,15,107,202                      // packssdw      %xmm2,%xmm1
+  .byte  102,15,111,211                      // movdqa        %xmm3,%xmm2
+  .byte  102,15,111,224                      // movdqa        %xmm0,%xmm4
+  .byte  102,15,114,208,24                   // psrld         $0x18,%xmm0
+  .byte  102,15,114,240,16                   // pslld         $0x10,%xmm0
+  .byte  102,15,114,224,16                   // psrad         $0x10,%xmm0
+  .byte  102,15,114,211,24                   // psrld         $0x18,%xmm3
+  .byte  102,15,114,243,16                   // pslld         $0x10,%xmm3
+  .byte  102,15,114,227,16                   // psrad         $0x10,%xmm3
+  .byte  102,15,107,216                      // packssdw      %xmm0,%xmm3
+  .byte  102,15,111,186,247,66,0,0           // movdqa        0x42f7(%edx),%xmm7
+  .byte  102,15,114,210,16                   // psrld         $0x10,%xmm2
+  .byte  102,15,114,212,16                   // psrld         $0x10,%xmm4
+  .byte  102,15,114,244,16                   // pslld         $0x10,%xmm4
+  .byte  102,15,114,228,16                   // psrad         $0x10,%xmm4
+  .byte  102,15,114,242,16                   // pslld         $0x10,%xmm2
+  .byte  102,15,114,226,16                   // psrad         $0x10,%xmm2
+  .byte  102,15,107,212                      // packssdw      %xmm4,%xmm2
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,15,219,199                      // pand          %xmm7,%xmm0
+  .byte  102,15,219,215                      // pand          %xmm7,%xmm2
+  .byte  15,40,101,72                        // movaps        0x48(%ebp),%xmm4
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  141,81,8                            // lea           0x8(%ecx),%edx
+  .byte  15,41,100,36,64                     // movaps        %xmm4,0x40(%esp)
+  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
+  .byte  15,41,108,36,32                     // movaps        %xmm5,0x20(%esp)
+  .byte  15,40,101,24                        // movaps        0x18(%ebp),%xmm4
+  .byte  15,41,100,36,16                     // movaps        %xmm4,0x10(%esp)
+  .byte  137,124,36,12                       // mov           %edi,0xc(%esp)
+  .byte  137,116,36,8                        // mov           %esi,0x8(%esp)
+  .byte  137,84,36,4                         // mov           %edx,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  255,81,4                            // call          *0x4(%ecx)
+  .byte  131,196,96                          // add           $0x60,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_gather_bgra_sse2_lowp
+.globl _sk_gather_bgra_sse2_lowp
+FUNCTION(_sk_gather_bgra_sse2_lowp)
+_sk_gather_bgra_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,80                          // sub           $0x50,%esp
+  .byte  232,0,0,0,0                         // call          cd64 <_sk_gather_bgra_sse2_lowp+0xd>
+  .byte  90                                  // pop           %edx
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  139,57                              // mov           (%ecx),%edi
+  .byte  243,15,16,103,8                     // movss         0x8(%edi),%xmm4
+  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
+  .byte  102,15,118,237                      // pcmpeqd       %xmm5,%xmm5
+  .byte  102,15,254,229                      // paddd         %xmm5,%xmm4
+  .byte  15,87,246                           // xorps         %xmm6,%xmm6
+  .byte  15,95,198                           // maxps         %xmm6,%xmm0
+  .byte  15,95,206                           // maxps         %xmm6,%xmm1
+  .byte  15,93,204                           // minps         %xmm4,%xmm1
+  .byte  15,93,196                           // minps         %xmm4,%xmm0
+  .byte  243,15,16,103,12                    // movss         0xc(%edi),%xmm4
+  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
+  .byte  102,15,254,229                      // paddd         %xmm5,%xmm4
+  .byte  15,95,222                           // maxps         %xmm6,%xmm3
+  .byte  15,95,214                           // maxps         %xmm6,%xmm2
+  .byte  15,93,212                           // minps         %xmm4,%xmm2
+  .byte  15,93,220                           // minps         %xmm4,%xmm3
+  .byte  139,55                              // mov           (%edi),%esi
+  .byte  243,15,91,219                       // cvttps2dq     %xmm3,%xmm3
+  .byte  243,15,91,210                       // cvttps2dq     %xmm2,%xmm2
+  .byte  102,15,110,103,4                    // movd          0x4(%edi),%xmm4
+  .byte  102,15,112,228,0                    // pshufd        $0x0,%xmm4,%xmm4
+  .byte  102,15,112,234,245                  // pshufd        $0xf5,%xmm2,%xmm5
+  .byte  102,15,244,236                      // pmuludq       %xmm4,%xmm5
+  .byte  102,15,111,244                      // movdqa        %xmm4,%xmm6
+  .byte  102,15,112,251,245                  // pshufd        $0xf5,%xmm3,%xmm7
+  .byte  102,15,244,252                      // pmuludq       %xmm4,%xmm7
+  .byte  102,15,244,226                      // pmuludq       %xmm2,%xmm4
+  .byte  102,15,112,212,232                  // pshufd        $0xe8,%xmm4,%xmm2
+  .byte  102,15,112,229,232                  // pshufd        $0xe8,%xmm5,%xmm4
+  .byte  102,15,98,212                       // punpckldq     %xmm4,%xmm2
+  .byte  102,15,244,243                      // pmuludq       %xmm3,%xmm6
+  .byte  102,15,112,222,232                  // pshufd        $0xe8,%xmm6,%xmm3
+  .byte  102,15,112,231,232                  // pshufd        $0xe8,%xmm7,%xmm4
+  .byte  102,15,98,220                       // punpckldq     %xmm4,%xmm3
+  .byte  243,15,91,192                       // cvttps2dq     %xmm0,%xmm0
+  .byte  102,15,254,194                      // paddd         %xmm2,%xmm0
+  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
+  .byte  102,15,254,203                      // paddd         %xmm3,%xmm1
+  .byte  102,15,112,208,78                   // pshufd        $0x4e,%xmm0,%xmm2
+  .byte  102,15,112,216,231                  // pshufd        $0xe7,%xmm0,%xmm3
+  .byte  102,15,126,223                      // movd          %xmm3,%edi
+  .byte  102,15,110,36,190                   // movd          (%esi,%edi,4),%xmm4
+  .byte  102,15,126,215                      // movd          %xmm2,%edi
+  .byte  102,15,110,52,190                   // movd          (%esi,%edi,4),%xmm6
+  .byte  102,15,126,199                      // movd          %xmm0,%edi
+  .byte  102,15,112,192,229                  // pshufd        $0xe5,%xmm0,%xmm0
+  .byte  102,15,110,28,190                   // movd          (%esi,%edi,4),%xmm3
+  .byte  102,15,126,199                      // movd          %xmm0,%edi
+  .byte  102,15,112,193,78                   // pshufd        $0x4e,%xmm1,%xmm0
+  .byte  102,15,112,209,231                  // pshufd        $0xe7,%xmm1,%xmm2
+  .byte  102,15,110,44,190                   // movd          (%esi,%edi,4),%xmm5
+  .byte  102,15,126,215                      // movd          %xmm2,%edi
+  .byte  102,15,110,60,190                   // movd          (%esi,%edi,4),%xmm7
+  .byte  102,15,126,199                      // movd          %xmm0,%edi
+  .byte  102,15,110,4,190                    // movd          (%esi,%edi,4),%xmm0
+  .byte  102,15,126,207                      // movd          %xmm1,%edi
+  .byte  102,15,112,201,229                  // pshufd        $0xe5,%xmm1,%xmm1
+  .byte  102,15,110,20,190                   // movd          (%esi,%edi,4),%xmm2
+  .byte  102,15,126,207                      // movd          %xmm1,%edi
+  .byte  102,15,110,12,190                   // movd          (%esi,%edi,4),%xmm1
+  .byte  139,117,16                          // mov           0x10(%ebp),%esi
+  .byte  139,125,20                          // mov           0x14(%ebp),%edi
+  .byte  102,15,98,244                       // punpckldq     %xmm4,%xmm6
+  .byte  102,15,98,221                       // punpckldq     %xmm5,%xmm3
+  .byte  15,40,109,40                        // movaps        0x28(%ebp),%xmm5
+  .byte  102,15,108,222                      // punpcklqdq    %xmm6,%xmm3
+  .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
+  .byte  102,15,98,199                       // punpckldq     %xmm7,%xmm0
+  .byte  102,15,98,209                       // punpckldq     %xmm1,%xmm2
+  .byte  102,15,108,208                      // punpcklqdq    %xmm0,%xmm2
+  .byte  102,15,111,194                      // movdqa        %xmm2,%xmm0
+  .byte  102,15,114,240,16                   // pslld         $0x10,%xmm0
+  .byte  102,15,114,224,16                   // psrad         $0x10,%xmm0
+  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
+  .byte  102,15,114,241,16                   // pslld         $0x10,%xmm1
+  .byte  102,15,114,225,16                   // psrad         $0x10,%xmm1
+  .byte  102,15,107,200                      // packssdw      %xmm0,%xmm1
+  .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
+  .byte  102,15,111,250                      // movdqa        %xmm2,%xmm7
+  .byte  102,15,114,210,24                   // psrld         $0x18,%xmm2
+  .byte  102,15,114,242,16                   // pslld         $0x10,%xmm2
+  .byte  102,15,114,226,16                   // psrad         $0x10,%xmm2
+  .byte  102,15,114,211,24                   // psrld         $0x18,%xmm3
+  .byte  102,15,114,243,16                   // pslld         $0x10,%xmm3
+  .byte  102,15,114,227,16                   // psrad         $0x10,%xmm3
+  .byte  102,15,107,218                      // packssdw      %xmm2,%xmm3
+  .byte  102,15,111,162,252,64,0,0           // movdqa        0x40fc(%edx),%xmm4
+  .byte  102,15,114,208,16                   // psrld         $0x10,%xmm0
+  .byte  102,15,114,215,16                   // psrld         $0x10,%xmm7
+  .byte  102,15,114,247,16                   // pslld         $0x10,%xmm7
+  .byte  102,15,114,231,16                   // psrad         $0x10,%xmm7
+  .byte  102,15,114,240,16                   // pslld         $0x10,%xmm0
+  .byte  102,15,114,224,16                   // psrad         $0x10,%xmm0
+  .byte  102,15,107,199                      // packssdw      %xmm7,%xmm0
+  .byte  102,15,111,209                      // movdqa        %xmm1,%xmm2
+  .byte  102,15,219,212                      // pand          %xmm4,%xmm2
+  .byte  102,15,219,196                      // pand          %xmm4,%xmm0
+  .byte  15,40,101,72                        // movaps        0x48(%ebp),%xmm4
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  141,81,8                            // lea           0x8(%ecx),%edx
+  .byte  15,41,100,36,64                     // movaps        %xmm4,0x40(%esp)
+  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
+  .byte  15,41,108,36,32                     // movaps        %xmm5,0x20(%esp)
+  .byte  15,40,101,24                        // movaps        0x18(%ebp),%xmm4
+  .byte  15,41,100,36,16                     // movaps        %xmm4,0x10(%esp)
+  .byte  137,124,36,12                       // mov           %edi,0xc(%esp)
+  .byte  137,116,36,8                        // mov           %esi,0x8(%esp)
+  .byte  137,84,36,4                         // mov           %edx,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  255,81,4                            // call          *0x4(%ecx)
+  .byte  131,196,80                          // add           $0x50,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_load_565_sse2_lowp
+.globl _sk_load_565_sse2_lowp
+FUNCTION(_sk_load_565_sse2_lowp)
+_sk_load_565_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,92                          // sub           $0x5c,%esp
+  .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
+  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
+  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
+  .byte  15,40,93,24                         // movaps        0x18(%ebp),%xmm3
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,85,8                            // mov           0x8(%ebp),%edx
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  139,89,4                            // mov           0x4(%ecx),%ebx
+  .byte  15,175,93,20                        // imul          0x14(%ebp),%ebx
+  .byte  1,219                               // add           %ebx,%ebx
+  .byte  3,25                                // add           (%ecx),%ebx
+  .byte  137,209                             // mov           %edx,%ecx
+  .byte  128,225,7                           // and           $0x7,%cl
+  .byte  254,201                             // dec           %cl
+  .byte  128,249,6                           // cmp           $0x6,%cl
+  .byte  232,0,0,0,0                         // call          cf88 <_sk_load_565_sse2_lowp+0x3b>
+  .byte  94                                  // pop           %esi
+  .byte  139,125,16                          // mov           0x10(%ebp),%edi
+  .byte  119,28                              // ja            cfaa <_sk_load_565_sse2_lowp+0x5d>
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  15,182,201                          // movzbl        %cl,%ecx
+  .byte  139,140,142,244,0,0,0               // mov           0xf4(%esi,%ecx,4),%ecx
+  .byte  1,241                               // add           %esi,%ecx
+  .byte  255,225                             // jmp           *%ecx
+  .byte  15,183,12,123                       // movzwl        (%ebx,%edi,2),%ecx
+  .byte  102,15,110,193                      // movd          %ecx,%xmm0
+  .byte  235,59                              // jmp           cfe5 <_sk_load_565_sse2_lowp+0x98>
+  .byte  243,15,111,4,123                    // movdqu        (%ebx,%edi,2),%xmm0
+  .byte  235,52                              // jmp           cfe5 <_sk_load_565_sse2_lowp+0x98>
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  102,15,196,68,123,4,2               // pinsrw        $0x2,0x4(%ebx,%edi,2),%xmm0
+  .byte  243,15,16,12,123                    // movss         (%ebx,%edi,2),%xmm1
+  .byte  243,15,16,193                       // movss         %xmm1,%xmm0
+  .byte  235,30                              // jmp           cfe5 <_sk_load_565_sse2_lowp+0x98>
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  102,15,196,68,123,12,6              // pinsrw        $0x6,0xc(%ebx,%edi,2),%xmm0
+  .byte  102,15,196,68,123,10,5              // pinsrw        $0x5,0xa(%ebx,%edi,2),%xmm0
+  .byte  102,15,196,68,123,8,4               // pinsrw        $0x4,0x8(%ebx,%edi,2),%xmm0
+  .byte  102,15,18,4,123                     // movlpd        (%ebx,%edi,2),%xmm0
+  .byte  102,15,111,248                      // movdqa        %xmm0,%xmm7
+  .byte  102,15,113,215,8                    // psrlw         $0x8,%xmm7
+  .byte  102,15,219,190,24,63,0,0            // pand          0x3f18(%esi),%xmm7
+  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
+  .byte  102,15,113,209,5                    // psrlw         $0x5,%xmm1
+  .byte  102,15,219,142,40,63,0,0            // pand          0x3f28(%esi),%xmm1
+  .byte  102,15,111,150,56,63,0,0            // movdqa        0x3f38(%esi),%xmm2
+  .byte  102,15,219,208                      // pand          %xmm0,%xmm2
+  .byte  102,15,113,208,13                   // psrlw         $0xd,%xmm0
+  .byte  102,15,235,199                      // por           %xmm7,%xmm0
+  .byte  102,15,111,249                      // movdqa        %xmm1,%xmm7
+  .byte  102,15,113,247,2                    // psllw         $0x2,%xmm7
+  .byte  102,15,113,209,4                    // psrlw         $0x4,%xmm1
+  .byte  102,15,235,207                      // por           %xmm7,%xmm1
+  .byte  102,15,111,250                      // movdqa        %xmm2,%xmm7
+  .byte  102,15,113,247,3                    // psllw         $0x3,%xmm7
+  .byte  102,15,113,210,2                    // psrlw         $0x2,%xmm2
+  .byte  102,15,235,215                      // por           %xmm7,%xmm2
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
+  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
+  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
+  .byte  15,41,92,36,16                      // movaps        %xmm3,0x10(%esp)
+  .byte  139,93,20                           // mov           0x14(%ebp),%ebx
+  .byte  137,92,36,12                        // mov           %ebx,0xc(%esp)
+  .byte  137,124,36,8                        // mov           %edi,0x8(%esp)
+  .byte  137,76,36,4                         // mov           %ecx,0x4(%esp)
+  .byte  137,20,36                           // mov           %edx,(%esp)
+  .byte  15,40,158,216,62,0,0                // movaps        0x3ed8(%esi),%xmm3
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,92                          // add           $0x5c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  144                                 // nop
+  .byte  24,0                                // sbb           %al,(%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  52,0                                // xor           $0x0,%al
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  41,0                                // sub           %eax,(%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  88                                  // pop           %eax
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,81,0                              // add           %dl,0x0(%ecx)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  74                                  // dec           %edx
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,63                                // add           %bh,(%edi)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0                                   // .byte         0x0
+
+HIDDEN _sk_load_565_dst_sse2_lowp
+.globl _sk_load_565_dst_sse2_lowp
+FUNCTION(_sk_load_565_dst_sse2_lowp)
+_sk_load_565_dst_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,92                          // sub           $0x5c,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,85,8                            // mov           0x8(%ebp),%edx
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  139,89,4                            // mov           0x4(%ecx),%ebx
+  .byte  15,175,93,20                        // imul          0x14(%ebp),%ebx
+  .byte  1,219                               // add           %ebx,%ebx
+  .byte  3,25                                // add           (%ecx),%ebx
+  .byte  137,209                             // mov           %edx,%ecx
+  .byte  128,225,7                           // and           $0x7,%cl
+  .byte  254,201                             // dec           %cl
+  .byte  128,249,6                           // cmp           $0x6,%cl
+  .byte  232,0,0,0,0                         // call          d0c3 <_sk_load_565_dst_sse2_lowp+0x2b>
+  .byte  95                                  // pop           %edi
+  .byte  139,117,16                          // mov           0x10(%ebp),%esi
+  .byte  119,28                              // ja            d0e5 <_sk_load_565_dst_sse2_lowp+0x4d>
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  15,182,201                          // movzbl        %cl,%ecx
+  .byte  139,140,143,249,0,0,0               // mov           0xf9(%edi,%ecx,4),%ecx
+  .byte  1,249                               // add           %edi,%ecx
+  .byte  255,225                             // jmp           *%ecx
+  .byte  15,183,12,115                       // movzwl        (%ebx,%esi,2),%ecx
+  .byte  102,15,110,225                      // movd          %ecx,%xmm4
+  .byte  235,59                              // jmp           d120 <_sk_load_565_dst_sse2_lowp+0x88>
+  .byte  243,15,111,36,115                   // movdqu        (%ebx,%esi,2),%xmm4
+  .byte  235,52                              // jmp           d120 <_sk_load_565_dst_sse2_lowp+0x88>
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  102,15,196,100,115,4,2              // pinsrw        $0x2,0x4(%ebx,%esi,2),%xmm4
+  .byte  243,15,16,44,115                    // movss         (%ebx,%esi,2),%xmm5
+  .byte  243,15,16,229                       // movss         %xmm5,%xmm4
+  .byte  235,30                              // jmp           d120 <_sk_load_565_dst_sse2_lowp+0x88>
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  102,15,196,100,115,12,6             // pinsrw        $0x6,0xc(%ebx,%esi,2),%xmm4
+  .byte  102,15,196,100,115,10,5             // pinsrw        $0x5,0xa(%ebx,%esi,2),%xmm4
+  .byte  102,15,196,100,115,8,4              // pinsrw        $0x4,0x8(%ebx,%esi,2),%xmm4
+  .byte  102,15,18,36,115                    // movlpd        (%ebx,%esi,2),%xmm4
+  .byte  102,15,111,244                      // movdqa        %xmm4,%xmm6
+  .byte  102,15,113,214,8                    // psrlw         $0x8,%xmm6
+  .byte  102,15,219,183,221,61,0,0           // pand          0x3ddd(%edi),%xmm6
+  .byte  102,15,111,236                      // movdqa        %xmm4,%xmm5
+  .byte  102,15,113,213,5                    // psrlw         $0x5,%xmm5
+  .byte  102,15,219,175,237,61,0,0           // pand          0x3ded(%edi),%xmm5
+  .byte  102,15,111,191,253,61,0,0           // movdqa        0x3dfd(%edi),%xmm7
+  .byte  102,15,219,252                      // pand          %xmm4,%xmm7
+  .byte  102,15,113,212,13                   // psrlw         $0xd,%xmm4
+  .byte  102,15,235,230                      // por           %xmm6,%xmm4
+  .byte  102,15,111,245                      // movdqa        %xmm5,%xmm6
+  .byte  102,15,113,246,2                    // psllw         $0x2,%xmm6
+  .byte  102,15,113,213,4                    // psrlw         $0x4,%xmm5
+  .byte  102,15,235,238                      // por           %xmm6,%xmm5
+  .byte  102,15,111,247                      // movdqa        %xmm7,%xmm6
+  .byte  102,15,113,246,3                    // psllw         $0x3,%xmm6
+  .byte  102,15,113,215,2                    // psrlw         $0x2,%xmm7
+  .byte  102,15,235,254                      // por           %xmm6,%xmm7
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  15,40,183,157,61,0,0                // movaps        0x3d9d(%edi),%xmm6
+  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
+  .byte  139,125,20                          // mov           0x14(%ebp),%edi
+  .byte  137,124,36,12                       // mov           %edi,0xc(%esp)
+  .byte  137,116,36,8                        // mov           %esi,0x8(%esp)
+  .byte  137,76,36,4                         // mov           %ecx,0x4(%esp)
+  .byte  137,20,36                           // mov           %edx,(%esp)
+  .byte  102,15,127,124,36,48                // movdqa        %xmm7,0x30(%esp)
+  .byte  102,15,127,100,36,16                // movdqa        %xmm4,0x10(%esp)
+  .byte  102,15,127,108,36,32                // movdqa        %xmm5,0x20(%esp)
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,92                          // add           $0x5c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  15,31,0                             // nopl          (%eax)
+  .byte  24,0                                // sbb           %al,(%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  52,0                                // xor           $0x0,%al
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  41,0                                // sub           %eax,(%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  88                                  // pop           %eax
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,81,0                              // add           %dl,0x0(%ecx)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  74                                  // dec           %edx
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,63                                // add           %bh,(%edi)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0                                   // .byte         0x0
+
+HIDDEN _sk_store_565_sse2_lowp
+.globl _sk_store_565_sse2_lowp
+FUNCTION(_sk_store_565_sse2_lowp)
+_sk_store_565_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,92                          // sub           $0x5c,%esp
+  .byte  102,15,111,226                      // movdqa        %xmm2,%xmm4
+  .byte  232,0,0,0,0                         // call          d1ea <_sk_store_565_sse2_lowp+0x12>
+  .byte  95                                  // pop           %edi
+  .byte  15,40,109,72                        // movaps        0x48(%ebp),%xmm5
+  .byte  102,15,111,208                      // movdqa        %xmm0,%xmm2
+  .byte  102,15,113,242,8                    // psllw         $0x8,%xmm2
+  .byte  102,15,219,151,230,60,0,0           // pand          0x3ce6(%edi),%xmm2
+  .byte  102,15,111,241                      // movdqa        %xmm1,%xmm6
+  .byte  102,15,113,246,3                    // psllw         $0x3,%xmm6
+  .byte  102,15,219,183,246,60,0,0           // pand          0x3cf6(%edi),%xmm6
+  .byte  102,15,235,242                      // por           %xmm2,%xmm6
+  .byte  102,15,111,212                      // movdqa        %xmm4,%xmm2
+  .byte  102,15,113,210,3                    // psrlw         $0x3,%xmm2
+  .byte  102,15,235,214                      // por           %xmm6,%xmm2
+  .byte  15,40,117,40                        // movaps        0x28(%ebp),%xmm6
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  139,89,4                            // mov           0x4(%ecx),%ebx
+  .byte  15,175,93,20                        // imul          0x14(%ebp),%ebx
+  .byte  1,219                               // add           %ebx,%ebx
+  .byte  3,25                                // add           (%ecx),%ebx
+  .byte  139,85,8                            // mov           0x8(%ebp),%edx
+  .byte  137,209                             // mov           %edx,%ecx
+  .byte  128,225,7                           // and           $0x7,%cl
+  .byte  254,201                             // dec           %cl
+  .byte  128,249,6                           // cmp           $0x6,%cl
+  .byte  139,117,16                          // mov           0x10(%ebp),%esi
+  .byte  15,40,125,24                        // movaps        0x18(%ebp),%xmm7
+  .byte  119,22                              // ja            d262 <_sk_store_565_sse2_lowp+0x8a>
+  .byte  15,182,201                          // movzbl        %cl,%ecx
+  .byte  3,188,143,242,0,0,0                 // add           0xf2(%edi,%ecx,4),%edi
+  .byte  255,231                             // jmp           *%edi
+  .byte  102,15,126,209                      // movd          %xmm2,%ecx
+  .byte  102,137,12,115                      // mov           %cx,(%ebx,%esi,2)
+  .byte  235,59                              // jmp           d29d <_sk_store_565_sse2_lowp+0xc5>
+  .byte  243,15,127,20,115                   // movdqu        %xmm2,(%ebx,%esi,2)
+  .byte  235,52                              // jmp           d29d <_sk_store_565_sse2_lowp+0xc5>
+  .byte  102,15,197,202,2                    // pextrw        $0x2,%xmm2,%ecx
+  .byte  102,137,76,115,4                    // mov           %cx,0x4(%ebx,%esi,2)
+  .byte  102,15,126,20,115                   // movd          %xmm2,(%ebx,%esi,2)
+  .byte  235,35                              // jmp           d29d <_sk_store_565_sse2_lowp+0xc5>
+  .byte  102,15,197,202,6                    // pextrw        $0x6,%xmm2,%ecx
+  .byte  102,137,76,115,12                   // mov           %cx,0xc(%ebx,%esi,2)
+  .byte  102,15,197,202,5                    // pextrw        $0x5,%xmm2,%ecx
+  .byte  102,137,76,115,10                   // mov           %cx,0xa(%ebx,%esi,2)
+  .byte  102,15,197,202,4                    // pextrw        $0x4,%xmm2,%ecx
+  .byte  102,137,76,115,8                    // mov           %cx,0x8(%ebx,%esi,2)
+  .byte  102,15,214,20,115                   // movq          %xmm2,(%ebx,%esi,2)
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  15,41,108,36,64                     // movaps        %xmm5,0x40(%esp)
+  .byte  15,40,85,56                         // movaps        0x38(%ebp),%xmm2
+  .byte  15,41,84,36,48                      // movaps        %xmm2,0x30(%esp)
+  .byte  15,41,116,36,32                     // movaps        %xmm6,0x20(%esp)
+  .byte  15,41,124,36,16                     // movaps        %xmm7,0x10(%esp)
+  .byte  139,125,20                          // mov           0x14(%ebp),%edi
+  .byte  137,124,36,12                       // mov           %edi,0xc(%esp)
+  .byte  137,116,36,8                        // mov           %esi,0x8(%esp)
+  .byte  137,76,36,4                         // mov           %ecx,0x4(%esp)
+  .byte  137,20,36                           // mov           %edx,(%esp)
+  .byte  102,15,111,212                      // movdqa        %xmm4,%xmm2
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,92                          // add           $0x5c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  15,31,0                             // nopl          (%eax)
+  .byte  110                                 // outsb         %ds:(%esi),(%dx)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,137,0,0,0,127                     // add           %cl,0x7f000000(%ecx)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,174,0,0,0,164                     // add           %ch,-0x5c000000(%esi)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,154,0,0,0,144                     // add           %bl,-0x70000000(%edx)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0                                   // .byte         0x0
+
+HIDDEN _sk_gather_565_sse2_lowp
+.globl _sk_gather_565_sse2_lowp
+FUNCTION(_sk_gather_565_sse2_lowp)
+_sk_gather_565_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,108                         // sub           $0x6c,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,16                              // mov           (%eax),%edx
+  .byte  243,15,16,98,8                      // movss         0x8(%edx),%xmm4
+  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
+  .byte  102,15,118,237                      // pcmpeqd       %xmm5,%xmm5
+  .byte  102,15,254,229                      // paddd         %xmm5,%xmm4
+  .byte  15,87,246                           // xorps         %xmm6,%xmm6
+  .byte  15,95,198                           // maxps         %xmm6,%xmm0
+  .byte  15,95,206                           // maxps         %xmm6,%xmm1
+  .byte  15,93,204                           // minps         %xmm4,%xmm1
+  .byte  15,93,196                           // minps         %xmm4,%xmm0
+  .byte  243,15,16,98,12                     // movss         0xc(%edx),%xmm4
+  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
+  .byte  102,15,254,229                      // paddd         %xmm5,%xmm4
+  .byte  15,95,222                           // maxps         %xmm6,%xmm3
+  .byte  15,95,214                           // maxps         %xmm6,%xmm2
+  .byte  15,93,212                           // minps         %xmm4,%xmm2
+  .byte  15,93,220                           // minps         %xmm4,%xmm3
+  .byte  243,15,91,219                       // cvttps2dq     %xmm3,%xmm3
+  .byte  243,15,91,210                       // cvttps2dq     %xmm2,%xmm2
+  .byte  102,15,110,98,4                     // movd          0x4(%edx),%xmm4
+  .byte  102,15,112,228,0                    // pshufd        $0x0,%xmm4,%xmm4
+  .byte  102,15,112,234,245                  // pshufd        $0xf5,%xmm2,%xmm5
+  .byte  102,15,244,236                      // pmuludq       %xmm4,%xmm5
+  .byte  102,15,111,244                      // movdqa        %xmm4,%xmm6
+  .byte  102,15,244,242                      // pmuludq       %xmm2,%xmm6
+  .byte  102,15,112,211,245                  // pshufd        $0xf5,%xmm3,%xmm2
+  .byte  102,15,244,212                      // pmuludq       %xmm4,%xmm2
+  .byte  232,0,0,0,0                         // call          d370 <_sk_gather_565_sse2_lowp+0x78>
+  .byte  89                                  // pop           %ecx
+  .byte  139,50                              // mov           (%edx),%esi
+  .byte  102,15,112,246,232                  // pshufd        $0xe8,%xmm6,%xmm6
+  .byte  102,15,112,237,232                  // pshufd        $0xe8,%xmm5,%xmm5
+  .byte  102,15,98,245                       // punpckldq     %xmm5,%xmm6
+  .byte  102,15,244,227                      // pmuludq       %xmm3,%xmm4
+  .byte  102,15,112,220,232                  // pshufd        $0xe8,%xmm4,%xmm3
+  .byte  102,15,112,210,232                  // pshufd        $0xe8,%xmm2,%xmm2
+  .byte  102,15,98,218                       // punpckldq     %xmm2,%xmm3
+  .byte  243,15,91,192                       // cvttps2dq     %xmm0,%xmm0
+  .byte  102,15,254,198                      // paddd         %xmm6,%xmm0
+  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
+  .byte  102,15,254,203                      // paddd         %xmm3,%xmm1
+  .byte  102,15,126,194                      // movd          %xmm0,%edx
+  .byte  102,15,112,208,229                  // pshufd        $0xe5,%xmm0,%xmm2
+  .byte  102,15,127,85,216                   // movdqa        %xmm2,-0x28(%ebp)
+  .byte  102,15,112,216,78                   // pshufd        $0x4e,%xmm0,%xmm3
+  .byte  102,15,112,192,231                  // pshufd        $0xe7,%xmm0,%xmm0
+  .byte  102,15,112,225,78                   // pshufd        $0x4e,%xmm1,%xmm4
+  .byte  102,15,112,233,231                  // pshufd        $0xe7,%xmm1,%xmm5
+  .byte  102,15,126,239                      // movd          %xmm5,%edi
+  .byte  15,183,60,126                       // movzwl        (%esi,%edi,2),%edi
+  .byte  102,15,110,239                      // movd          %edi,%xmm5
+  .byte  102,15,126,231                      // movd          %xmm4,%edi
+  .byte  15,183,60,126                       // movzwl        (%esi,%edi,2),%edi
+  .byte  102,15,110,231                      // movd          %edi,%xmm4
+  .byte  102,15,126,207                      // movd          %xmm1,%edi
+  .byte  102,15,112,201,229                  // pshufd        $0xe5,%xmm1,%xmm1
+  .byte  15,183,60,126                       // movzwl        (%esi,%edi,2),%edi
+  .byte  102,15,110,247                      // movd          %edi,%xmm6
+  .byte  102,15,126,207                      // movd          %xmm1,%edi
+  .byte  15,183,60,126                       // movzwl        (%esi,%edi,2),%edi
+  .byte  102,15,110,215                      // movd          %edi,%xmm2
+  .byte  102,15,126,199                      // movd          %xmm0,%edi
+  .byte  15,183,60,126                       // movzwl        (%esi,%edi,2),%edi
+  .byte  102,15,110,255                      // movd          %edi,%xmm7
+  .byte  102,15,126,223                      // movd          %xmm3,%edi
+  .byte  15,183,60,126                       // movzwl        (%esi,%edi,2),%edi
+  .byte  102,15,110,207                      // movd          %edi,%xmm1
+  .byte  102,15,111,69,216                   // movdqa        -0x28(%ebp),%xmm0
+  .byte  102,15,126,199                      // movd          %xmm0,%edi
+  .byte  15,183,20,86                        // movzwl        (%esi,%edx,2),%edx
+  .byte  102,15,110,194                      // movd          %edx,%xmm0
+  .byte  139,85,8                            // mov           0x8(%ebp),%edx
+  .byte  15,183,60,126                       // movzwl        (%esi,%edi,2),%edi
+  .byte  139,117,16                          // mov           0x10(%ebp),%esi
+  .byte  102,15,97,229                       // punpcklwd     %xmm5,%xmm4
+  .byte  102,15,110,239                      // movd          %edi,%xmm5
+  .byte  139,125,20                          // mov           0x14(%ebp),%edi
+  .byte  102,15,97,242                       // punpcklwd     %xmm2,%xmm6
+  .byte  15,40,93,24                         // movaps        0x18(%ebp),%xmm3
+  .byte  102,15,98,244                       // punpckldq     %xmm4,%xmm6
+  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
+  .byte  102,15,97,207                       // punpcklwd     %xmm7,%xmm1
+  .byte  15,40,125,56                        // movaps        0x38(%ebp),%xmm7
+  .byte  102,15,97,197                       // punpcklwd     %xmm5,%xmm0
+  .byte  102,15,98,193                       // punpckldq     %xmm1,%xmm0
+  .byte  102,15,108,198                      // punpcklqdq    %xmm6,%xmm0
+  .byte  102,15,111,232                      // movdqa        %xmm0,%xmm5
+  .byte  102,15,113,213,8                    // psrlw         $0x8,%xmm5
+  .byte  102,15,219,169,48,59,0,0            // pand          0x3b30(%ecx),%xmm5
+  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
+  .byte  102,15,113,209,5                    // psrlw         $0x5,%xmm1
+  .byte  102,15,219,137,64,59,0,0            // pand          0x3b40(%ecx),%xmm1
+  .byte  102,15,111,145,80,59,0,0            // movdqa        0x3b50(%ecx),%xmm2
+  .byte  102,15,219,208                      // pand          %xmm0,%xmm2
+  .byte  102,15,113,208,13                   // psrlw         $0xd,%xmm0
+  .byte  102,15,235,197                      // por           %xmm5,%xmm0
+  .byte  102,15,111,233                      // movdqa        %xmm1,%xmm5
+  .byte  102,15,113,245,2                    // psllw         $0x2,%xmm5
+  .byte  102,15,113,209,4                    // psrlw         $0x4,%xmm1
+  .byte  102,15,235,205                      // por           %xmm5,%xmm1
+  .byte  102,15,111,234                      // movdqa        %xmm2,%xmm5
+  .byte  102,15,113,245,3                    // psllw         $0x3,%xmm5
+  .byte  102,15,113,210,2                    // psrlw         $0x2,%xmm2
+  .byte  102,15,235,213                      // por           %xmm5,%xmm2
+  .byte  15,40,109,72                        // movaps        0x48(%ebp),%xmm5
+  .byte  141,88,8                            // lea           0x8(%eax),%ebx
+  .byte  15,41,108,36,64                     // movaps        %xmm5,0x40(%esp)
+  .byte  15,41,124,36,48                     // movaps        %xmm7,0x30(%esp)
+  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
+  .byte  15,41,92,36,16                      // movaps        %xmm3,0x10(%esp)
+  .byte  137,124,36,12                       // mov           %edi,0xc(%esp)
+  .byte  137,116,36,8                        // mov           %esi,0x8(%esp)
+  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
+  .byte  137,20,36                           // mov           %edx,(%esp)
+  .byte  15,40,153,240,58,0,0                // movaps        0x3af0(%ecx),%xmm3
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,108                         // add           $0x6c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_load_4444_sse2_lowp
+.globl _sk_load_4444_sse2_lowp
+FUNCTION(_sk_load_4444_sse2_lowp)
+_sk_load_4444_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,92                          // sub           $0x5c,%esp
+  .byte  15,40,125,72                        // movaps        0x48(%ebp),%xmm7
+  .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
+  .byte  15,40,109,40                        // movaps        0x28(%ebp),%xmm5
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,85,8                            // mov           0x8(%ebp),%edx
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  139,89,4                            // mov           0x4(%ecx),%ebx
+  .byte  15,175,93,20                        // imul          0x14(%ebp),%ebx
+  .byte  1,219                               // add           %ebx,%ebx
+  .byte  3,25                                // add           (%ecx),%ebx
+  .byte  137,209                             // mov           %edx,%ecx
+  .byte  128,225,7                           // and           $0x7,%cl
+  .byte  254,201                             // dec           %cl
+  .byte  128,249,6                           // cmp           $0x6,%cl
+  .byte  232,0,0,0,0                         // call          d52a <_sk_load_4444_sse2_lowp+0x37>
+  .byte  95                                  // pop           %edi
+  .byte  139,117,16                          // mov           0x10(%ebp),%esi
+  .byte  119,28                              // ja            d54c <_sk_load_4444_sse2_lowp+0x59>
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  15,182,201                          // movzbl        %cl,%ecx
+  .byte  139,140,143,250,0,0,0               // mov           0xfa(%edi,%ecx,4),%ecx
+  .byte  1,249                               // add           %edi,%ecx
+  .byte  255,225                             // jmp           *%ecx
+  .byte  15,183,12,115                       // movzwl        (%ebx,%esi,2),%ecx
+  .byte  102,15,110,225                      // movd          %ecx,%xmm4
+  .byte  235,59                              // jmp           d587 <_sk_load_4444_sse2_lowp+0x94>
+  .byte  243,15,111,36,115                   // movdqu        (%ebx,%esi,2),%xmm4
+  .byte  235,52                              // jmp           d587 <_sk_load_4444_sse2_lowp+0x94>
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  102,15,196,100,115,4,2              // pinsrw        $0x2,0x4(%ebx,%esi,2),%xmm4
+  .byte  243,15,16,4,115                     // movss         (%ebx,%esi,2),%xmm0
+  .byte  243,15,16,224                       // movss         %xmm0,%xmm4
+  .byte  235,30                              // jmp           d587 <_sk_load_4444_sse2_lowp+0x94>
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  102,15,196,100,115,12,6             // pinsrw        $0x6,0xc(%ebx,%esi,2),%xmm4
+  .byte  102,15,196,100,115,10,5             // pinsrw        $0x5,0xa(%ebx,%esi,2),%xmm4
+  .byte  102,15,196,100,115,8,4              // pinsrw        $0x4,0x8(%ebx,%esi,2),%xmm4
+  .byte  102,15,18,36,115                    // movlpd        (%ebx,%esi,2),%xmm4
+  .byte  102,15,111,204                      // movdqa        %xmm4,%xmm1
+  .byte  102,15,113,209,12                   // psrlw         $0xc,%xmm1
+  .byte  102,15,111,212                      // movdqa        %xmm4,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,111,135,198,57,0,0           // movdqa        0x39c6(%edi),%xmm0
+  .byte  102,15,219,208                      // pand          %xmm0,%xmm2
+  .byte  102,15,111,220                      // movdqa        %xmm4,%xmm3
+  .byte  102,15,113,211,4                    // psrlw         $0x4,%xmm3
+  .byte  102,15,219,216                      // pand          %xmm0,%xmm3
+  .byte  102,15,219,224                      // pand          %xmm0,%xmm4
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,15,113,240,4                    // psllw         $0x4,%xmm0
+  .byte  102,15,235,193                      // por           %xmm1,%xmm0
+  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
+  .byte  102,15,113,241,4                    // psllw         $0x4,%xmm1
+  .byte  102,15,235,202                      // por           %xmm2,%xmm1
+  .byte  102,15,111,211                      // movdqa        %xmm3,%xmm2
+  .byte  102,15,113,242,4                    // psllw         $0x4,%xmm2
+  .byte  102,15,235,211                      // por           %xmm3,%xmm2
+  .byte  102,15,111,220                      // movdqa        %xmm4,%xmm3
+  .byte  102,15,113,243,4                    // psllw         $0x4,%xmm3
+  .byte  102,15,235,220                      // por           %xmm4,%xmm3
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  15,41,124,36,64                     // movaps        %xmm7,0x40(%esp)
+  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
+  .byte  15,41,108,36,32                     // movaps        %xmm5,0x20(%esp)
+  .byte  15,40,101,24                        // movaps        0x18(%ebp),%xmm4
+  .byte  15,41,100,36,16                     // movaps        %xmm4,0x10(%esp)
+  .byte  139,125,20                          // mov           0x14(%ebp),%edi
+  .byte  137,124,36,12                       // mov           %edi,0xc(%esp)
+  .byte  137,116,36,8                        // mov           %esi,0x8(%esp)
+  .byte  137,76,36,4                         // mov           %ecx,0x4(%esp)
+  .byte  137,20,36                           // mov           %edx,(%esp)
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,92                          // add           $0x5c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  24,0                                // sbb           %al,(%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  52,0                                // xor           $0x0,%al
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  41,0                                // sub           %eax,(%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  88                                  // pop           %eax
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,81,0                              // add           %dl,0x0(%ecx)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  74                                  // dec           %edx
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,63                                // add           %bh,(%edi)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0                                   // .byte         0x0
+
+HIDDEN _sk_load_4444_dst_sse2_lowp
+.globl _sk_load_4444_dst_sse2_lowp
+FUNCTION(_sk_load_4444_dst_sse2_lowp)
+_sk_load_4444_dst_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,108                         // sub           $0x6c,%esp
+  .byte  15,41,93,216                        // movaps        %xmm3,-0x28(%ebp)
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,85,8                            // mov           0x8(%ebp),%edx
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  139,89,4                            // mov           0x4(%ecx),%ebx
+  .byte  15,175,93,20                        // imul          0x14(%ebp),%ebx
+  .byte  1,219                               // add           %ebx,%ebx
+  .byte  3,25                                // add           (%ecx),%ebx
+  .byte  137,209                             // mov           %edx,%ecx
+  .byte  128,225,7                           // and           $0x7,%cl
+  .byte  254,201                             // dec           %cl
+  .byte  128,249,6                           // cmp           $0x6,%cl
+  .byte  232,0,0,0,0                         // call          d66f <_sk_load_4444_dst_sse2_lowp+0x2f>
+  .byte  95                                  // pop           %edi
+  .byte  139,117,16                          // mov           0x10(%ebp),%esi
+  .byte  119,28                              // ja            d691 <_sk_load_4444_dst_sse2_lowp+0x51>
+  .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
+  .byte  15,182,201                          // movzbl        %cl,%ecx
+  .byte  139,140,143,253,0,0,0               // mov           0xfd(%edi,%ecx,4),%ecx
+  .byte  1,249                               // add           %edi,%ecx
+  .byte  255,225                             // jmp           *%ecx
+  .byte  15,183,12,115                       // movzwl        (%ebx,%esi,2),%ecx
+  .byte  102,15,110,249                      // movd          %ecx,%xmm7
+  .byte  235,59                              // jmp           d6cc <_sk_load_4444_dst_sse2_lowp+0x8c>
+  .byte  243,15,111,60,115                   // movdqu        (%ebx,%esi,2),%xmm7
+  .byte  235,52                              // jmp           d6cc <_sk_load_4444_dst_sse2_lowp+0x8c>
+  .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
+  .byte  102,15,196,124,115,4,2              // pinsrw        $0x2,0x4(%ebx,%esi,2),%xmm7
+  .byte  243,15,16,44,115                    // movss         (%ebx,%esi,2),%xmm5
+  .byte  243,15,16,253                       // movss         %xmm5,%xmm7
+  .byte  235,30                              // jmp           d6cc <_sk_load_4444_dst_sse2_lowp+0x8c>
+  .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
+  .byte  102,15,196,124,115,12,6             // pinsrw        $0x6,0xc(%ebx,%esi,2),%xmm7
+  .byte  102,15,196,124,115,10,5             // pinsrw        $0x5,0xa(%ebx,%esi,2),%xmm7
+  .byte  102,15,196,124,115,8,4              // pinsrw        $0x4,0x8(%ebx,%esi,2),%xmm7
+  .byte  102,15,18,60,115                    // movlpd        (%ebx,%esi,2),%xmm7
+  .byte  102,15,111,239                      // movdqa        %xmm7,%xmm5
+  .byte  102,15,113,213,12                   // psrlw         $0xc,%xmm5
+  .byte  102,15,111,247                      // movdqa        %xmm7,%xmm6
+  .byte  102,15,113,214,8                    // psrlw         $0x8,%xmm6
+  .byte  102,15,111,159,129,56,0,0           // movdqa        0x3881(%edi),%xmm3
+  .byte  102,15,219,243                      // pand          %xmm3,%xmm6
+  .byte  102,15,111,231                      // movdqa        %xmm7,%xmm4
+  .byte  102,15,113,212,4                    // psrlw         $0x4,%xmm4
+  .byte  102,15,219,227                      // pand          %xmm3,%xmm4
+  .byte  102,15,219,251                      // pand          %xmm3,%xmm7
+  .byte  102,15,111,221                      // movdqa        %xmm5,%xmm3
+  .byte  102,15,113,243,4                    // psllw         $0x4,%xmm3
+  .byte  102,15,235,221                      // por           %xmm5,%xmm3
+  .byte  102,15,111,238                      // movdqa        %xmm6,%xmm5
+  .byte  102,15,113,245,4                    // psllw         $0x4,%xmm5
+  .byte  102,15,235,238                      // por           %xmm6,%xmm5
+  .byte  102,15,111,244                      // movdqa        %xmm4,%xmm6
+  .byte  102,15,113,246,4                    // psllw         $0x4,%xmm6
+  .byte  102,15,235,244                      // por           %xmm4,%xmm6
+  .byte  102,15,111,231                      // movdqa        %xmm7,%xmm4
+  .byte  102,15,113,244,4                    // psllw         $0x4,%xmm4
+  .byte  102,15,235,231                      // por           %xmm7,%xmm4
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  139,125,20                          // mov           0x14(%ebp),%edi
+  .byte  137,124,36,12                       // mov           %edi,0xc(%esp)
+  .byte  137,116,36,8                        // mov           %esi,0x8(%esp)
+  .byte  137,76,36,4                         // mov           %ecx,0x4(%esp)
+  .byte  137,20,36                           // mov           %edx,(%esp)
+  .byte  102,15,127,100,36,64                // movdqa        %xmm4,0x40(%esp)
+  .byte  102,15,127,92,36,16                 // movdqa        %xmm3,0x10(%esp)
+  .byte  102,15,127,116,36,48                // movdqa        %xmm6,0x30(%esp)
+  .byte  102,15,127,108,36,32                // movdqa        %xmm5,0x20(%esp)
+  .byte  15,40,93,216                        // movaps        -0x28(%ebp),%xmm3
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,108                         // add           $0x6c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  144                                 // nop
+  .byte  24,0                                // sbb           %al,(%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  52,0                                // xor           $0x0,%al
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  41,0                                // sub           %eax,(%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  88                                  // pop           %eax
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,81,0                              // add           %dl,0x0(%ecx)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  74                                  // dec           %edx
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,63                                // add           %bh,(%edi)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0                                   // .byte         0x0
+
+HIDDEN _sk_store_4444_sse2_lowp
+.globl _sk_store_4444_sse2_lowp
+FUNCTION(_sk_store_4444_sse2_lowp)
+_sk_store_4444_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,92                          // sub           $0x5c,%esp
+  .byte  102,15,111,227                      // movdqa        %xmm3,%xmm4
+  .byte  232,0,0,0,0                         // call          d79a <_sk_store_4444_sse2_lowp+0x12>
+  .byte  94                                  // pop           %esi
+  .byte  102,15,111,216                      // movdqa        %xmm0,%xmm3
+  .byte  102,15,113,243,8                    // psllw         $0x8,%xmm3
+  .byte  102,15,219,158,102,55,0,0           // pand          0x3766(%esi),%xmm3
+  .byte  102,15,111,241                      // movdqa        %xmm1,%xmm6
+  .byte  102,15,113,246,4                    // psllw         $0x4,%xmm6
+  .byte  102,15,219,182,118,55,0,0           // pand          0x3776(%esi),%xmm6
+  .byte  102,15,235,243                      // por           %xmm3,%xmm6
+  .byte  102,15,111,174,134,55,0,0           // movdqa        0x3786(%esi),%xmm5
+  .byte  102,15,219,234                      // pand          %xmm2,%xmm5
+  .byte  102,15,111,220                      // movdqa        %xmm4,%xmm3
+  .byte  102,15,113,211,4                    // psrlw         $0x4,%xmm3
+  .byte  102,15,235,221                      // por           %xmm5,%xmm3
+  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
+  .byte  102,15,235,222                      // por           %xmm6,%xmm3
+  .byte  15,40,117,40                        // movaps        0x28(%ebp),%xmm6
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  139,89,4                            // mov           0x4(%ecx),%ebx
+  .byte  15,175,93,20                        // imul          0x14(%ebp),%ebx
+  .byte  1,219                               // add           %ebx,%ebx
+  .byte  3,25                                // add           (%ecx),%ebx
+  .byte  139,85,8                            // mov           0x8(%ebp),%edx
+  .byte  137,209                             // mov           %edx,%ecx
+  .byte  128,225,7                           // and           $0x7,%cl
+  .byte  254,201                             // dec           %cl
+  .byte  128,249,6                           // cmp           $0x6,%cl
+  .byte  139,125,16                          // mov           0x10(%ebp),%edi
+  .byte  15,40,125,24                        // movaps        0x18(%ebp),%xmm7
+  .byte  119,22                              // ja            d822 <_sk_store_4444_sse2_lowp+0x9a>
+  .byte  15,182,201                          // movzbl        %cl,%ecx
+  .byte  3,180,142,2,1,0,0                   // add           0x102(%esi,%ecx,4),%esi
+  .byte  255,230                             // jmp           *%esi
+  .byte  102,15,126,217                      // movd          %xmm3,%ecx
+  .byte  102,137,12,123                      // mov           %cx,(%ebx,%edi,2)
+  .byte  235,59                              // jmp           d85d <_sk_store_4444_sse2_lowp+0xd5>
+  .byte  243,15,127,28,123                   // movdqu        %xmm3,(%ebx,%edi,2)
+  .byte  235,52                              // jmp           d85d <_sk_store_4444_sse2_lowp+0xd5>
+  .byte  102,15,197,203,2                    // pextrw        $0x2,%xmm3,%ecx
+  .byte  102,137,76,123,4                    // mov           %cx,0x4(%ebx,%edi,2)
+  .byte  102,15,126,28,123                   // movd          %xmm3,(%ebx,%edi,2)
+  .byte  235,35                              // jmp           d85d <_sk_store_4444_sse2_lowp+0xd5>
+  .byte  102,15,197,203,6                    // pextrw        $0x6,%xmm3,%ecx
+  .byte  102,137,76,123,12                   // mov           %cx,0xc(%ebx,%edi,2)
+  .byte  102,15,197,203,5                    // pextrw        $0x5,%xmm3,%ecx
+  .byte  102,137,76,123,10                   // mov           %cx,0xa(%ebx,%edi,2)
+  .byte  102,15,197,203,4                    // pextrw        $0x4,%xmm3,%ecx
+  .byte  102,137,76,123,8                    // mov           %cx,0x8(%ebx,%edi,2)
+  .byte  102,15,214,28,123                   // movq          %xmm3,(%ebx,%edi,2)
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  15,40,93,72                         // movaps        0x48(%ebp),%xmm3
+  .byte  15,41,92,36,64                      // movaps        %xmm3,0x40(%esp)
+  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
+  .byte  15,41,116,36,32                     // movaps        %xmm6,0x20(%esp)
+  .byte  15,41,124,36,16                     // movaps        %xmm7,0x10(%esp)
+  .byte  139,117,20                          // mov           0x14(%ebp),%esi
+  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
+  .byte  137,124,36,8                        // mov           %edi,0x8(%esp)
+  .byte  137,76,36,4                         // mov           %ecx,0x4(%esp)
+  .byte  137,20,36                           // mov           %edx,(%esp)
+  .byte  102,15,111,220                      // movdqa        %xmm4,%xmm3
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,92                          // add           $0x5c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  15,31,0                             // nopl          (%eax)
+  .byte  126,0                               // jle           d89e <_sk_store_4444_sse2_lowp+0x116>
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  153                                 // cltd
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,143,0,0,0,190                     // add           %cl,-0x42000000(%edi)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,180,0,0,0,170,0                   // add           %dh,0xaa0000(%eax,%eax,1)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  160                                 // .byte         0xa0
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0                                   // .byte         0x0
+
+HIDDEN _sk_gather_4444_sse2_lowp
+.globl _sk_gather_4444_sse2_lowp
+FUNCTION(_sk_gather_4444_sse2_lowp)
+_sk_gather_4444_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,80                          // sub           $0x50,%esp
+  .byte  232,0,0,0,0                         // call          d8c5 <_sk_gather_4444_sse2_lowp+0xd>
+  .byte  90                                  // pop           %edx
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  139,57                              // mov           (%ecx),%edi
+  .byte  243,15,16,103,8                     // movss         0x8(%edi),%xmm4
+  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
+  .byte  102,15,118,237                      // pcmpeqd       %xmm5,%xmm5
+  .byte  102,15,254,229                      // paddd         %xmm5,%xmm4
+  .byte  15,87,246                           // xorps         %xmm6,%xmm6
+  .byte  15,95,198                           // maxps         %xmm6,%xmm0
+  .byte  15,95,206                           // maxps         %xmm6,%xmm1
+  .byte  15,93,204                           // minps         %xmm4,%xmm1
+  .byte  15,93,196                           // minps         %xmm4,%xmm0
+  .byte  243,15,16,103,12                    // movss         0xc(%edi),%xmm4
+  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
+  .byte  102,15,254,229                      // paddd         %xmm5,%xmm4
+  .byte  15,95,222                           // maxps         %xmm6,%xmm3
+  .byte  15,95,214                           // maxps         %xmm6,%xmm2
+  .byte  15,93,212                           // minps         %xmm4,%xmm2
+  .byte  15,93,220                           // minps         %xmm4,%xmm3
+  .byte  139,55                              // mov           (%edi),%esi
+  .byte  243,15,91,219                       // cvttps2dq     %xmm3,%xmm3
+  .byte  243,15,91,210                       // cvttps2dq     %xmm2,%xmm2
+  .byte  102,15,110,103,4                    // movd          0x4(%edi),%xmm4
+  .byte  102,15,112,228,0                    // pshufd        $0x0,%xmm4,%xmm4
+  .byte  102,15,112,234,245                  // pshufd        $0xf5,%xmm2,%xmm5
+  .byte  102,15,244,236                      // pmuludq       %xmm4,%xmm5
+  .byte  102,15,111,244                      // movdqa        %xmm4,%xmm6
+  .byte  102,15,112,251,245                  // pshufd        $0xf5,%xmm3,%xmm7
+  .byte  102,15,244,252                      // pmuludq       %xmm4,%xmm7
+  .byte  102,15,244,226                      // pmuludq       %xmm2,%xmm4
+  .byte  102,15,112,212,232                  // pshufd        $0xe8,%xmm4,%xmm2
+  .byte  102,15,112,229,232                  // pshufd        $0xe8,%xmm5,%xmm4
+  .byte  102,15,98,212                       // punpckldq     %xmm4,%xmm2
+  .byte  102,15,244,243                      // pmuludq       %xmm3,%xmm6
+  .byte  102,15,112,222,232                  // pshufd        $0xe8,%xmm6,%xmm3
+  .byte  102,15,112,231,232                  // pshufd        $0xe8,%xmm7,%xmm4
+  .byte  102,15,98,220                       // punpckldq     %xmm4,%xmm3
+  .byte  243,15,91,192                       // cvttps2dq     %xmm0,%xmm0
+  .byte  102,15,254,194                      // paddd         %xmm2,%xmm0
+  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
+  .byte  102,15,254,203                      // paddd         %xmm3,%xmm1
+  .byte  102,15,112,248,78                   // pshufd        $0x4e,%xmm0,%xmm7
+  .byte  102,15,112,216,231                  // pshufd        $0xe7,%xmm0,%xmm3
+  .byte  102,15,112,225,78                   // pshufd        $0x4e,%xmm1,%xmm4
+  .byte  102,15,112,233,231                  // pshufd        $0xe7,%xmm1,%xmm5
+  .byte  102,15,126,239                      // movd          %xmm5,%edi
+  .byte  15,183,60,126                       // movzwl        (%esi,%edi,2),%edi
+  .byte  102,15,110,239                      // movd          %edi,%xmm5
+  .byte  102,15,126,231                      // movd          %xmm4,%edi
+  .byte  15,183,60,126                       // movzwl        (%esi,%edi,2),%edi
+  .byte  102,15,110,247                      // movd          %edi,%xmm6
+  .byte  102,15,126,207                      // movd          %xmm1,%edi
+  .byte  102,15,112,201,229                  // pshufd        $0xe5,%xmm1,%xmm1
+  .byte  15,183,60,126                       // movzwl        (%esi,%edi,2),%edi
+  .byte  102,15,110,215                      // movd          %edi,%xmm2
+  .byte  102,15,126,207                      // movd          %xmm1,%edi
+  .byte  15,183,60,126                       // movzwl        (%esi,%edi,2),%edi
+  .byte  102,15,110,231                      // movd          %edi,%xmm4
+  .byte  102,15,126,223                      // movd          %xmm3,%edi
+  .byte  15,183,60,126                       // movzwl        (%esi,%edi,2),%edi
+  .byte  102,15,110,223                      // movd          %edi,%xmm3
+  .byte  102,15,126,255                      // movd          %xmm7,%edi
+  .byte  15,183,60,126                       // movzwl        (%esi,%edi,2),%edi
+  .byte  102,15,110,207                      // movd          %edi,%xmm1
+  .byte  102,15,126,199                      // movd          %xmm0,%edi
+  .byte  102,15,112,192,229                  // pshufd        $0xe5,%xmm0,%xmm0
+  .byte  15,183,60,126                       // movzwl        (%esi,%edi,2),%edi
+  .byte  102,15,110,255                      // movd          %edi,%xmm7
+  .byte  102,15,126,199                      // movd          %xmm0,%edi
+  .byte  15,183,60,126                       // movzwl        (%esi,%edi,2),%edi
+  .byte  139,117,16                          // mov           0x10(%ebp),%esi
+  .byte  102,15,110,199                      // movd          %edi,%xmm0
+  .byte  139,125,20                          // mov           0x14(%ebp),%edi
+  .byte  102,15,97,245                       // punpcklwd     %xmm5,%xmm6
+  .byte  102,15,97,212                       // punpcklwd     %xmm4,%xmm2
+  .byte  15,40,109,40                        // movaps        0x28(%ebp),%xmm5
+  .byte  102,15,98,214                       // punpckldq     %xmm6,%xmm2
+  .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
+  .byte  102,15,97,203                       // punpcklwd     %xmm3,%xmm1
+  .byte  102,15,97,248                       // punpcklwd     %xmm0,%xmm7
+  .byte  102,15,98,249                       // punpckldq     %xmm1,%xmm7
+  .byte  102,15,108,250                      // punpcklqdq    %xmm2,%xmm7
+  .byte  102,15,111,207                      // movdqa        %xmm7,%xmm1
+  .byte  102,15,113,209,12                   // psrlw         $0xc,%xmm1
+  .byte  102,15,111,215                      // movdqa        %xmm7,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,111,130,43,54,0,0            // movdqa        0x362b(%edx),%xmm0
+  .byte  102,15,219,208                      // pand          %xmm0,%xmm2
+  .byte  102,15,111,223                      // movdqa        %xmm7,%xmm3
+  .byte  102,15,113,211,4                    // psrlw         $0x4,%xmm3
+  .byte  102,15,219,216                      // pand          %xmm0,%xmm3
+  .byte  102,15,219,248                      // pand          %xmm0,%xmm7
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,15,113,240,4                    // psllw         $0x4,%xmm0
+  .byte  102,15,235,193                      // por           %xmm1,%xmm0
+  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
+  .byte  102,15,113,241,4                    // psllw         $0x4,%xmm1
+  .byte  102,15,235,202                      // por           %xmm2,%xmm1
+  .byte  102,15,111,211                      // movdqa        %xmm3,%xmm2
+  .byte  102,15,113,242,4                    // psllw         $0x4,%xmm2
+  .byte  102,15,235,211                      // por           %xmm3,%xmm2
+  .byte  102,15,111,223                      // movdqa        %xmm7,%xmm3
+  .byte  102,15,113,243,4                    // psllw         $0x4,%xmm3
+  .byte  102,15,235,223                      // por           %xmm7,%xmm3
+  .byte  15,40,101,72                        // movaps        0x48(%ebp),%xmm4
+  .byte  141,81,8                            // lea           0x8(%ecx),%edx
+  .byte  15,41,100,36,64                     // movaps        %xmm4,0x40(%esp)
+  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
+  .byte  15,41,108,36,32                     // movaps        %xmm5,0x20(%esp)
+  .byte  15,40,101,24                        // movaps        0x18(%ebp),%xmm4
+  .byte  15,41,100,36,16                     // movaps        %xmm4,0x10(%esp)
+  .byte  137,124,36,12                       // mov           %edi,0xc(%esp)
+  .byte  137,116,36,8                        // mov           %esi,0x8(%esp)
+  .byte  137,84,36,4                         // mov           %edx,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  255,81,4                            // call          *0x4(%ecx)
+  .byte  131,196,80                          // add           $0x50,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_load_a8_sse2_lowp
+.globl _sk_load_a8_sse2_lowp
+FUNCTION(_sk_load_a8_sse2_lowp)
+_sk_load_a8_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,92                          // sub           $0x5c,%esp
+  .byte  15,40,101,72                        // movaps        0x48(%ebp),%xmm4
+  .byte  15,40,85,56                         // movaps        0x38(%ebp),%xmm2
+  .byte  15,40,77,40                         // movaps        0x28(%ebp),%xmm1
+  .byte  102,15,111,69,24                    // movdqa        0x18(%ebp),%xmm0
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,85,8                            // mov           0x8(%ebp),%edx
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  139,89,4                            // mov           0x4(%ecx),%ebx
+  .byte  15,175,93,20                        // imul          0x14(%ebp),%ebx
+  .byte  3,25                                // add           (%ecx),%ebx
+  .byte  137,209                             // mov           %edx,%ecx
+  .byte  128,225,7                           // and           $0x7,%cl
+  .byte  254,201                             // dec           %cl
+  .byte  128,249,6                           // cmp           $0x6,%cl
+  .byte  232,0,0,0,0                         // call          dae2 <_sk_load_a8_sse2_lowp+0x3a>
+  .byte  95                                  // pop           %edi
+  .byte  139,117,16                          // mov           0x10(%ebp),%esi
+  .byte  119,28                              // ja            db04 <_sk_load_a8_sse2_lowp+0x5c>
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  15,182,201                          // movzbl        %cl,%ecx
+  .byte  139,140,143,198,0,0,0               // mov           0xc6(%edi,%ecx,4),%ecx
+  .byte  1,249                               // add           %edi,%ecx
+  .byte  255,225                             // jmp           *%ecx
+  .byte  15,182,12,51                        // movzbl        (%ebx,%esi,1),%ecx
+  .byte  102,15,110,217                      // movd          %ecx,%xmm3
+  .byte  235,90                              // jmp           db5e <_sk_load_a8_sse2_lowp+0xb6>
+  .byte  243,15,126,28,51                    // movq          (%ebx,%esi,1),%xmm3
+  .byte  102,15,96,216                       // punpcklbw     %xmm0,%xmm3
+  .byte  235,79                              // jmp           db5e <_sk_load_a8_sse2_lowp+0xb6>
+  .byte  15,182,76,51,2                      // movzbl        0x2(%ebx,%esi,1),%ecx
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  102,15,196,217,2                    // pinsrw        $0x2,%ecx,%xmm3
+  .byte  15,183,12,51                        // movzwl        (%ebx,%esi,1),%ecx
+  .byte  102,15,110,233                      // movd          %ecx,%xmm5
+  .byte  102,15,96,232                       // punpcklbw     %xmm0,%xmm5
+  .byte  243,15,16,221                       // movss         %xmm5,%xmm3
+  .byte  235,47                              // jmp           db5e <_sk_load_a8_sse2_lowp+0xb6>
+  .byte  15,182,76,51,6                      // movzbl        0x6(%ebx,%esi,1),%ecx
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  102,15,196,217,6                    // pinsrw        $0x6,%ecx,%xmm3
+  .byte  15,182,76,51,5                      // movzbl        0x5(%ebx,%esi,1),%ecx
+  .byte  102,15,196,217,5                    // pinsrw        $0x5,%ecx,%xmm3
+  .byte  15,182,76,51,4                      // movzbl        0x4(%ebx,%esi,1),%ecx
+  .byte  102,15,196,217,4                    // pinsrw        $0x4,%ecx,%xmm3
+  .byte  102,15,110,44,51                    // movd          (%ebx,%esi,1),%xmm5
+  .byte  102,15,96,232                       // punpcklbw     %xmm0,%xmm5
+  .byte  242,15,16,221                       // movsd         %xmm5,%xmm3
+  .byte  102,15,219,159,126,51,0,0           // pand          0x337e(%edi),%xmm3
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  15,41,100,36,64                     // movaps        %xmm4,0x40(%esp)
+  .byte  15,41,84,36,48                      // movaps        %xmm2,0x30(%esp)
+  .byte  15,41,76,36,32                      // movaps        %xmm1,0x20(%esp)
+  .byte  102,15,127,68,36,16                 // movdqa        %xmm0,0x10(%esp)
+  .byte  139,125,20                          // mov           0x14(%ebp),%edi
+  .byte  137,124,36,12                       // mov           %edi,0xc(%esp)
+  .byte  137,116,36,8                        // mov           %esi,0x8(%esp)
+  .byte  137,76,36,4                         // mov           %ecx,0x4(%esp)
+  .byte  137,20,36                           // mov           %edx,(%esp)
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  15,87,201                           // xorps         %xmm1,%xmm1
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,92                          // add           $0x5c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  15,31,0                             // nopl          (%eax)
+  .byte  24,0                                // sbb           %al,(%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  59,0                                // cmp           (%eax),%eax
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  45,0,0,0,111                        // sub           $0x6f000000,%eax
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,101,0                             // add           %ah,0x0(%ebp)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  91                                  // pop           %ebx
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,77,0                              // add           %cl,0x0(%ebp)
+  .byte  0,0                                 // add           %al,(%eax)
+
+HIDDEN _sk_load_a8_dst_sse2_lowp
+.globl _sk_load_a8_dst_sse2_lowp
+FUNCTION(_sk_load_a8_dst_sse2_lowp)
+_sk_load_a8_dst_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,92                          // sub           $0x5c,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,85,8                            // mov           0x8(%ebp),%edx
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  139,89,4                            // mov           0x4(%ecx),%ebx
+  .byte  15,175,93,20                        // imul          0x14(%ebp),%ebx
+  .byte  3,25                                // add           (%ecx),%ebx
+  .byte  137,209                             // mov           %edx,%ecx
+  .byte  128,225,7                           // and           $0x7,%cl
+  .byte  254,201                             // dec           %cl
+  .byte  128,249,6                           // cmp           $0x6,%cl
+  .byte  232,0,0,0,0                         // call          dbed <_sk_load_a8_dst_sse2_lowp+0x29>
+  .byte  95                                  // pop           %edi
+  .byte  139,117,16                          // mov           0x10(%ebp),%esi
+  .byte  119,28                              // ja            dc0f <_sk_load_a8_dst_sse2_lowp+0x4b>
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  15,182,201                          // movzbl        %cl,%ecx
+  .byte  139,140,143,195,0,0,0               // mov           0xc3(%edi,%ecx,4),%ecx
+  .byte  1,249                               // add           %edi,%ecx
+  .byte  255,225                             // jmp           *%ecx
+  .byte  15,182,12,51                        // movzbl        (%ebx,%esi,1),%ecx
+  .byte  102,15,110,225                      // movd          %ecx,%xmm4
+  .byte  235,90                              // jmp           dc69 <_sk_load_a8_dst_sse2_lowp+0xa5>
+  .byte  243,15,126,36,51                    // movq          (%ebx,%esi,1),%xmm4
+  .byte  102,15,96,224                       // punpcklbw     %xmm0,%xmm4
+  .byte  235,79                              // jmp           dc69 <_sk_load_a8_dst_sse2_lowp+0xa5>
+  .byte  15,182,76,51,2                      // movzbl        0x2(%ebx,%esi,1),%ecx
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  102,15,196,225,2                    // pinsrw        $0x2,%ecx,%xmm4
+  .byte  15,183,12,51                        // movzwl        (%ebx,%esi,1),%ecx
+  .byte  102,15,110,233                      // movd          %ecx,%xmm5
+  .byte  102,15,96,232                       // punpcklbw     %xmm0,%xmm5
+  .byte  243,15,16,229                       // movss         %xmm5,%xmm4
+  .byte  235,47                              // jmp           dc69 <_sk_load_a8_dst_sse2_lowp+0xa5>
+  .byte  15,182,76,51,6                      // movzbl        0x6(%ebx,%esi,1),%ecx
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  102,15,196,225,6                    // pinsrw        $0x6,%ecx,%xmm4
+  .byte  15,182,76,51,5                      // movzbl        0x5(%ebx,%esi,1),%ecx
+  .byte  102,15,196,225,5                    // pinsrw        $0x5,%ecx,%xmm4
+  .byte  15,182,76,51,4                      // movzbl        0x4(%ebx,%esi,1),%ecx
+  .byte  102,15,196,225,4                    // pinsrw        $0x4,%ecx,%xmm4
+  .byte  102,15,110,44,51                    // movd          (%ebx,%esi,1),%xmm5
+  .byte  102,15,96,232                       // punpcklbw     %xmm0,%xmm5
+  .byte  242,15,16,229                       // movsd         %xmm5,%xmm4
+  .byte  102,15,219,167,115,50,0,0           // pand          0x3273(%edi),%xmm4
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  102,15,127,100,36,64                // movdqa        %xmm4,0x40(%esp)
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  102,15,127,100,36,48                // movdqa        %xmm4,0x30(%esp)
+  .byte  102,15,127,100,36,32                // movdqa        %xmm4,0x20(%esp)
+  .byte  102,15,127,100,36,16                // movdqa        %xmm4,0x10(%esp)
+  .byte  139,125,20                          // mov           0x14(%ebp),%edi
+  .byte  137,124,36,12                       // mov           %edi,0xc(%esp)
+  .byte  137,116,36,8                        // mov           %esi,0x8(%esp)
+  .byte  137,76,36,4                         // mov           %ecx,0x4(%esp)
+  .byte  137,20,36                           // mov           %edx,(%esp)
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,92                          // add           $0x5c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  15,31,0                             // nopl          (%eax)
+  .byte  24,0                                // sbb           %al,(%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  59,0                                // cmp           (%eax),%eax
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  45,0,0,0,111                        // sub           $0x6f000000,%eax
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,101,0                             // add           %ah,0x0(%ebp)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  91                                  // pop           %ebx
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,77,0                              // add           %cl,0x0(%ebp)
+  .byte  0,0                                 // add           %al,(%eax)
+
+HIDDEN _sk_store_a8_sse2_lowp
+.globl _sk_store_a8_sse2_lowp
+FUNCTION(_sk_store_a8_sse2_lowp)
+_sk_store_a8_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,92                          // sub           $0x5c,%esp
+  .byte  15,40,125,72                        // movaps        0x48(%ebp),%xmm7
+  .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
+  .byte  15,40,109,40                        // movaps        0x28(%ebp),%xmm5
+  .byte  15,40,101,24                        // movaps        0x18(%ebp),%xmm4
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,85,8                            // mov           0x8(%ebp),%edx
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  139,121,4                           // mov           0x4(%ecx),%edi
+  .byte  15,175,125,20                       // imul          0x14(%ebp),%edi
+  .byte  3,57                                // add           (%ecx),%edi
+  .byte  137,209                             // mov           %edx,%ecx
+  .byte  128,225,7                           // and           $0x7,%cl
+  .byte  254,201                             // dec           %cl
+  .byte  128,249,6                           // cmp           $0x6,%cl
+  .byte  232,0,0,0,0                         // call          dd05 <_sk_store_a8_sse2_lowp+0x39>
+  .byte  91                                  // pop           %ebx
+  .byte  139,117,16                          // mov           0x10(%ebp),%esi
+  .byte  119,26                              // ja            dd25 <_sk_store_a8_sse2_lowp+0x59>
+  .byte  15,182,201                          // movzbl        %cl,%ecx
+  .byte  139,140,139,223,0,0,0               // mov           0xdf(%ebx,%ecx,4),%ecx
+  .byte  1,217                               // add           %ebx,%ecx
+  .byte  255,225                             // jmp           *%ecx
+  .byte  102,15,126,217                      // movd          %xmm3,%ecx
+  .byte  136,12,55                           // mov           %cl,(%edi,%esi,1)
+  .byte  233,136,0,0,0                       // jmp           ddad <_sk_store_a8_sse2_lowp+0xe1>
+  .byte  102,15,111,163,91,49,0,0            // movdqa        0x315b(%ebx),%xmm4
+  .byte  102,15,219,227                      // pand          %xmm3,%xmm4
+  .byte  102,15,103,228                      // packuswb      %xmm4,%xmm4
+  .byte  102,15,214,36,55                    // movq          %xmm4,(%edi,%esi,1)
+  .byte  15,40,101,24                        // movaps        0x18(%ebp),%xmm4
+  .byte  235,109                             // jmp           ddad <_sk_store_a8_sse2_lowp+0xe1>
+  .byte  102,15,197,203,2                    // pextrw        $0x2,%xmm3,%ecx
+  .byte  136,76,55,2                         // mov           %cl,0x2(%edi,%esi,1)
+  .byte  102,15,111,163,91,49,0,0            // movdqa        0x315b(%ebx),%xmm4
+  .byte  102,15,219,227                      // pand          %xmm3,%xmm4
+  .byte  102,15,103,228                      // packuswb      %xmm4,%xmm4
+  .byte  102,15,126,225                      // movd          %xmm4,%ecx
+  .byte  15,40,101,24                        // movaps        0x18(%ebp),%xmm4
+  .byte  102,137,12,55                       // mov           %cx,(%edi,%esi,1)
+  .byte  235,70                              // jmp           ddad <_sk_store_a8_sse2_lowp+0xe1>
+  .byte  102,15,197,203,6                    // pextrw        $0x6,%xmm3,%ecx
+  .byte  136,76,55,6                         // mov           %cl,0x6(%edi,%esi,1)
+  .byte  102,15,197,203,5                    // pextrw        $0x5,%xmm3,%ecx
+  .byte  136,76,55,5                         // mov           %cl,0x5(%edi,%esi,1)
+  .byte  102,15,197,203,4                    // pextrw        $0x4,%xmm3,%ecx
+  .byte  136,76,55,4                         // mov           %cl,0x4(%edi,%esi,1)
+  .byte  15,40,254                           // movaps        %xmm6,%xmm7
+  .byte  15,40,245                           // movaps        %xmm5,%xmm6
+  .byte  15,40,236                           // movaps        %xmm4,%xmm5
+  .byte  102,15,111,163,91,49,0,0            // movdqa        0x315b(%ebx),%xmm4
+  .byte  102,15,219,227                      // pand          %xmm3,%xmm4
+  .byte  102,15,103,228                      // packuswb      %xmm4,%xmm4
+  .byte  102,15,126,36,55                    // movd          %xmm4,(%edi,%esi,1)
+  .byte  15,40,229                           // movaps        %xmm5,%xmm4
+  .byte  15,40,238                           // movaps        %xmm6,%xmm5
+  .byte  15,40,247                           // movaps        %xmm7,%xmm6
+  .byte  15,40,125,72                        // movaps        0x48(%ebp),%xmm7
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  15,41,124,36,64                     // movaps        %xmm7,0x40(%esp)
+  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
+  .byte  15,41,108,36,32                     // movaps        %xmm5,0x20(%esp)
+  .byte  15,41,100,36,16                     // movaps        %xmm4,0x10(%esp)
+  .byte  139,125,20                          // mov           0x14(%ebp),%edi
+  .byte  137,124,36,12                       // mov           %edi,0xc(%esp)
+  .byte  137,116,36,8                        // mov           %esi,0x8(%esp)
+  .byte  137,76,36,4                         // mov           %ecx,0x4(%esp)
+  .byte  137,20,36                           // mov           %edx,(%esp)
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,92                          // add           $0x5c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  15,31,0                             // nopl          (%eax)
+  .byte  20,0                                // adc           $0x0,%al
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  68                                  // inc           %esp
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,59                                // add           %bh,(%ebx)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,125,0                             // add           %bh,0x0(%ebp)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  116,0                               // je            ddf6 <_sk_store_a8_sse2_lowp+0x12a>
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  107,0,0                             // imul          $0x0,(%eax),%eax
+  .byte  0,98,0                              // add           %ah,0x0(%edx)
+  .byte  0,0                                 // add           %al,(%eax)
+
+HIDDEN _sk_gather_a8_sse2_lowp
+.globl _sk_gather_a8_sse2_lowp
+FUNCTION(_sk_gather_a8_sse2_lowp)
+_sk_gather_a8_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,80                          // sub           $0x50,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  243,15,16,105,8                     // movss         0x8(%ecx),%xmm5
+  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
+  .byte  102,15,118,246                      // pcmpeqd       %xmm6,%xmm6
+  .byte  102,15,254,238                      // paddd         %xmm6,%xmm5
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,95,196                           // maxps         %xmm4,%xmm0
+  .byte  15,95,204                           // maxps         %xmm4,%xmm1
+  .byte  15,93,205                           // minps         %xmm5,%xmm1
+  .byte  15,93,197                           // minps         %xmm5,%xmm0
+  .byte  243,15,16,105,12                    // movss         0xc(%ecx),%xmm5
+  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
+  .byte  102,15,254,238                      // paddd         %xmm6,%xmm5
+  .byte  15,95,220                           // maxps         %xmm4,%xmm3
+  .byte  15,95,212                           // maxps         %xmm4,%xmm2
+  .byte  15,93,213                           // minps         %xmm5,%xmm2
+  .byte  15,93,221                           // minps         %xmm5,%xmm3
+  .byte  243,15,91,234                       // cvttps2dq     %xmm2,%xmm5
+  .byte  102,15,110,81,4                     // movd          0x4(%ecx),%xmm2
+  .byte  102,15,112,210,0                    // pshufd        $0x0,%xmm2,%xmm2
+  .byte  102,15,111,242                      // movdqa        %xmm2,%xmm6
+  .byte  102,15,244,245                      // pmuludq       %xmm5,%xmm6
+  .byte  102,15,112,237,245                  // pshufd        $0xf5,%xmm5,%xmm5
+  .byte  102,15,244,234                      // pmuludq       %xmm2,%xmm5
+  .byte  102,15,112,246,232                  // pshufd        $0xe8,%xmm6,%xmm6
+  .byte  102,15,112,237,232                  // pshufd        $0xe8,%xmm5,%xmm5
+  .byte  102,15,98,245                       // punpckldq     %xmm5,%xmm6
+  .byte  243,15,91,192                       // cvttps2dq     %xmm0,%xmm0
+  .byte  102,15,254,198                      // paddd         %xmm6,%xmm0
+  .byte  102,15,112,232,78                   // pshufd        $0x4e,%xmm0,%xmm5
+  .byte  102,15,126,234                      // movd          %xmm5,%edx
+  .byte  102,15,112,232,231                  // pshufd        $0xe7,%xmm0,%xmm5
+  .byte  102,15,126,238                      // movd          %xmm5,%esi
+  .byte  139,9                               // mov           (%ecx),%ecx
+  .byte  243,15,91,219                       // cvttps2dq     %xmm3,%xmm3
+  .byte  102,15,126,199                      // movd          %xmm0,%edi
+  .byte  102,15,112,192,229                  // pshufd        $0xe5,%xmm0,%xmm0
+  .byte  15,182,20,17                        // movzbl        (%ecx,%edx,1),%edx
+  .byte  15,182,52,49                        // movzbl        (%ecx,%esi,1),%esi
+  .byte  193,230,8                           // shl           $0x8,%esi
+  .byte  9,214                               // or            %edx,%esi
+  .byte  102,15,126,194                      // movd          %xmm0,%edx
+  .byte  102,15,112,195,245                  // pshufd        $0xf5,%xmm3,%xmm0
+  .byte  102,15,244,194                      // pmuludq       %xmm2,%xmm0
+  .byte  15,182,60,57                        // movzbl        (%ecx,%edi,1),%edi
+  .byte  15,182,20,17                        // movzbl        (%ecx,%edx,1),%edx
+  .byte  193,226,8                           // shl           $0x8,%edx
+  .byte  9,250                               // or            %edi,%edx
+  .byte  139,125,8                           // mov           0x8(%ebp),%edi
+  .byte  102,15,244,211                      // pmuludq       %xmm3,%xmm2
+  .byte  102,15,112,210,232                  // pshufd        $0xe8,%xmm2,%xmm2
+  .byte  102,15,112,192,232                  // pshufd        $0xe8,%xmm0,%xmm0
+  .byte  102,15,98,208                       // punpckldq     %xmm0,%xmm2
+  .byte  243,15,91,193                       // cvttps2dq     %xmm1,%xmm0
+  .byte  102,15,254,194                      // paddd         %xmm2,%xmm0
+  .byte  102,15,110,218                      // movd          %edx,%xmm3
+  .byte  102,15,126,194                      // movd          %xmm0,%edx
+  .byte  102,15,112,200,229                  // pshufd        $0xe5,%xmm0,%xmm1
+  .byte  102,15,196,222,1                    // pinsrw        $0x1,%esi,%xmm3
+  .byte  102,15,126,206                      // movd          %xmm1,%esi
+  .byte  102,15,112,200,78                   // pshufd        $0x4e,%xmm0,%xmm1
+  .byte  15,182,20,17                        // movzbl        (%ecx,%edx,1),%edx
+  .byte  15,182,52,49                        // movzbl        (%ecx,%esi,1),%esi
+  .byte  193,230,8                           // shl           $0x8,%esi
+  .byte  9,214                               // or            %edx,%esi
+  .byte  102,15,126,202                      // movd          %xmm1,%edx
+  .byte  102,15,112,192,231                  // pshufd        $0xe7,%xmm0,%xmm0
+  .byte  102,15,196,222,2                    // pinsrw        $0x2,%esi,%xmm3
+  .byte  102,15,126,198                      // movd          %xmm0,%esi
+  .byte  15,182,20,17                        // movzbl        (%ecx,%edx,1),%edx
+  .byte  15,182,12,49                        // movzbl        (%ecx,%esi,1),%ecx
+  .byte  139,117,16                          // mov           0x10(%ebp),%esi
+  .byte  193,225,8                           // shl           $0x8,%ecx
+  .byte  9,209                               // or            %edx,%ecx
+  .byte  139,85,20                           // mov           0x14(%ebp),%edx
+  .byte  15,40,69,24                         // movaps        0x18(%ebp),%xmm0
+  .byte  15,40,77,40                         // movaps        0x28(%ebp),%xmm1
+  .byte  15,40,85,56                         // movaps        0x38(%ebp),%xmm2
+  .byte  102,15,196,217,3                    // pinsrw        $0x3,%ecx,%xmm3
+  .byte  102,15,96,220                       // punpcklbw     %xmm4,%xmm3
+  .byte  15,40,101,72                        // movaps        0x48(%ebp),%xmm4
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  15,41,100,36,64                     // movaps        %xmm4,0x40(%esp)
+  .byte  15,41,84,36,48                      // movaps        %xmm2,0x30(%esp)
+  .byte  15,41,76,36,32                      // movaps        %xmm1,0x20(%esp)
+  .byte  15,41,68,36,16                      // movaps        %xmm0,0x10(%esp)
+  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
+  .byte  137,116,36,8                        // mov           %esi,0x8(%esp)
+  .byte  137,76,36,4                         // mov           %ecx,0x4(%esp)
+  .byte  137,60,36                           // mov           %edi,(%esp)
+  .byte  15,87,192                           // xorps         %xmm0,%xmm0
+  .byte  15,87,201                           // xorps         %xmm1,%xmm1
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,80                          // add           $0x50,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_load_g8_sse2_lowp
+.globl _sk_load_g8_sse2_lowp
+FUNCTION(_sk_load_g8_sse2_lowp)
+_sk_load_g8_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,92                          // sub           $0x5c,%esp
+  .byte  15,40,101,72                        // movaps        0x48(%ebp),%xmm4
+  .byte  15,40,93,56                         // movaps        0x38(%ebp),%xmm3
+  .byte  15,40,85,40                         // movaps        0x28(%ebp),%xmm2
+  .byte  15,40,77,24                         // movaps        0x18(%ebp),%xmm1
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,85,8                            // mov           0x8(%ebp),%edx
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  139,89,4                            // mov           0x4(%ecx),%ebx
+  .byte  15,175,93,20                        // imul          0x14(%ebp),%ebx
+  .byte  3,25                                // add           (%ecx),%ebx
+  .byte  137,209                             // mov           %edx,%ecx
+  .byte  128,225,7                           // and           $0x7,%cl
+  .byte  254,201                             // dec           %cl
+  .byte  128,249,6                           // cmp           $0x6,%cl
+  .byte  232,0,0,0,0                         // call          dfb8 <_sk_load_g8_sse2_lowp+0x39>
+  .byte  94                                  // pop           %esi
+  .byte  139,125,16                          // mov           0x10(%ebp),%edi
+  .byte  119,28                              // ja            dfda <_sk_load_g8_sse2_lowp+0x5b>
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  15,182,201                          // movzbl        %cl,%ecx
+  .byte  139,140,142,200,0,0,0               // mov           0xc8(%esi,%ecx,4),%ecx
+  .byte  1,241                               // add           %esi,%ecx
+  .byte  255,225                             // jmp           *%ecx
+  .byte  15,182,12,59                        // movzbl        (%ebx,%edi,1),%ecx
+  .byte  102,15,110,193                      // movd          %ecx,%xmm0
+  .byte  235,90                              // jmp           e034 <_sk_load_g8_sse2_lowp+0xb5>
+  .byte  243,15,126,4,59                     // movq          (%ebx,%edi,1),%xmm0
+  .byte  102,15,96,192                       // punpcklbw     %xmm0,%xmm0
+  .byte  235,79                              // jmp           e034 <_sk_load_g8_sse2_lowp+0xb5>
+  .byte  15,182,76,59,2                      // movzbl        0x2(%ebx,%edi,1),%ecx
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  102,15,196,193,2                    // pinsrw        $0x2,%ecx,%xmm0
+  .byte  15,183,12,59                        // movzwl        (%ebx,%edi,1),%ecx
+  .byte  102,15,110,233                      // movd          %ecx,%xmm5
+  .byte  102,15,96,232                       // punpcklbw     %xmm0,%xmm5
+  .byte  243,15,16,197                       // movss         %xmm5,%xmm0
+  .byte  235,47                              // jmp           e034 <_sk_load_g8_sse2_lowp+0xb5>
+  .byte  15,182,76,59,6                      // movzbl        0x6(%ebx,%edi,1),%ecx
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  102,15,196,193,6                    // pinsrw        $0x6,%ecx,%xmm0
+  .byte  15,182,76,59,5                      // movzbl        0x5(%ebx,%edi,1),%ecx
+  .byte  102,15,196,193,5                    // pinsrw        $0x5,%ecx,%xmm0
+  .byte  15,182,76,59,4                      // movzbl        0x4(%ebx,%edi,1),%ecx
+  .byte  102,15,196,193,4                    // pinsrw        $0x4,%ecx,%xmm0
+  .byte  102,15,110,44,59                    // movd          (%ebx,%edi,1),%xmm5
+  .byte  102,15,96,232                       // punpcklbw     %xmm0,%xmm5
+  .byte  242,15,16,197                       // movsd         %xmm5,%xmm0
+  .byte  102,15,219,134,168,46,0,0           // pand          0x2ea8(%esi),%xmm0
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  15,41,100,36,64                     // movaps        %xmm4,0x40(%esp)
+  .byte  15,41,92,36,48                      // movaps        %xmm3,0x30(%esp)
+  .byte  15,41,84,36,32                      // movaps        %xmm2,0x20(%esp)
+  .byte  15,41,76,36,16                      // movaps        %xmm1,0x10(%esp)
+  .byte  139,93,20                           // mov           0x14(%ebp),%ebx
+  .byte  137,92,36,12                        // mov           %ebx,0xc(%esp)
+  .byte  137,124,36,8                        // mov           %edi,0x8(%esp)
+  .byte  137,76,36,4                         // mov           %ecx,0x4(%esp)
+  .byte  137,20,36                           // mov           %edx,(%esp)
+  .byte  15,40,158,168,46,0,0                // movaps        0x2ea8(%esi),%xmm3
+  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
+  .byte  102,15,111,208                      // movdqa        %xmm0,%xmm2
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,92                          // add           $0x5c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  144                                 // nop
+  .byte  24,0                                // sbb           %al,(%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  59,0                                // cmp           (%eax),%eax
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  45,0,0,0,111                        // sub           $0x6f000000,%eax
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,101,0                             // add           %ah,0x0(%ebp)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  91                                  // pop           %ebx
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,77,0                              // add           %cl,0x0(%ebp)
+  .byte  0,0                                 // add           %al,(%eax)
+
+HIDDEN _sk_load_g8_dst_sse2_lowp
+.globl _sk_load_g8_dst_sse2_lowp
+FUNCTION(_sk_load_g8_dst_sse2_lowp)
+_sk_load_g8_dst_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,92                          // sub           $0x5c,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,85,8                            // mov           0x8(%ebp),%edx
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  139,89,4                            // mov           0x4(%ecx),%ebx
+  .byte  15,175,93,20                        // imul          0x14(%ebp),%ebx
+  .byte  3,25                                // add           (%ecx),%ebx
+  .byte  137,209                             // mov           %edx,%ecx
+  .byte  128,225,7                           // and           $0x7,%cl
+  .byte  254,201                             // dec           %cl
+  .byte  128,249,6                           // cmp           $0x6,%cl
+  .byte  232,0,0,0,0                         // call          e0c5 <_sk_load_g8_dst_sse2_lowp+0x29>
+  .byte  95                                  // pop           %edi
+  .byte  139,117,16                          // mov           0x10(%ebp),%esi
+  .byte  119,28                              // ja            e0e7 <_sk_load_g8_dst_sse2_lowp+0x4b>
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  15,182,201                          // movzbl        %cl,%ecx
+  .byte  139,140,143,195,0,0,0               // mov           0xc3(%edi,%ecx,4),%ecx
+  .byte  1,249                               // add           %edi,%ecx
+  .byte  255,225                             // jmp           *%ecx
+  .byte  15,182,12,51                        // movzbl        (%ebx,%esi,1),%ecx
+  .byte  102,15,110,225                      // movd          %ecx,%xmm4
+  .byte  235,90                              // jmp           e141 <_sk_load_g8_dst_sse2_lowp+0xa5>
+  .byte  243,15,126,36,51                    // movq          (%ebx,%esi,1),%xmm4
+  .byte  102,15,96,224                       // punpcklbw     %xmm0,%xmm4
+  .byte  235,79                              // jmp           e141 <_sk_load_g8_dst_sse2_lowp+0xa5>
+  .byte  15,182,76,51,2                      // movzbl        0x2(%ebx,%esi,1),%ecx
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  102,15,196,225,2                    // pinsrw        $0x2,%ecx,%xmm4
+  .byte  15,183,12,51                        // movzwl        (%ebx,%esi,1),%ecx
+  .byte  102,15,110,233                      // movd          %ecx,%xmm5
+  .byte  102,15,96,232                       // punpcklbw     %xmm0,%xmm5
+  .byte  243,15,16,229                       // movss         %xmm5,%xmm4
+  .byte  235,47                              // jmp           e141 <_sk_load_g8_dst_sse2_lowp+0xa5>
+  .byte  15,182,76,51,6                      // movzbl        0x6(%ebx,%esi,1),%ecx
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  102,15,196,225,6                    // pinsrw        $0x6,%ecx,%xmm4
+  .byte  15,182,76,51,5                      // movzbl        0x5(%ebx,%esi,1),%ecx
+  .byte  102,15,196,225,5                    // pinsrw        $0x5,%ecx,%xmm4
+  .byte  15,182,76,51,4                      // movzbl        0x4(%ebx,%esi,1),%ecx
+  .byte  102,15,196,225,4                    // pinsrw        $0x4,%ecx,%xmm4
+  .byte  102,15,110,44,51                    // movd          (%ebx,%esi,1),%xmm5
+  .byte  102,15,96,232                       // punpcklbw     %xmm0,%xmm5
+  .byte  242,15,16,229                       // movsd         %xmm5,%xmm4
+  .byte  102,15,219,167,155,45,0,0           // pand          0x2d9b(%edi),%xmm4
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  15,40,175,155,45,0,0                // movaps        0x2d9b(%edi),%xmm5
+  .byte  15,41,108,36,64                     // movaps        %xmm5,0x40(%esp)
+  .byte  102,15,127,100,36,48                // movdqa        %xmm4,0x30(%esp)
+  .byte  102,15,127,100,36,32                // movdqa        %xmm4,0x20(%esp)
+  .byte  102,15,127,100,36,16                // movdqa        %xmm4,0x10(%esp)
+  .byte  139,125,20                          // mov           0x14(%ebp),%edi
+  .byte  137,124,36,12                       // mov           %edi,0xc(%esp)
+  .byte  137,116,36,8                        // mov           %esi,0x8(%esp)
+  .byte  137,76,36,4                         // mov           %ecx,0x4(%esp)
+  .byte  137,20,36                           // mov           %edx,(%esp)
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,92                          // add           $0x5c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  144                                 // nop
+  .byte  24,0                                // sbb           %al,(%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  59,0                                // cmp           (%eax),%eax
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  45,0,0,0,111                        // sub           $0x6f000000,%eax
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,101,0                             // add           %ah,0x0(%ebp)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  91                                  // pop           %ebx
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,77,0                              // add           %cl,0x0(%ebp)
+  .byte  0,0                                 // add           %al,(%eax)
+
+HIDDEN _sk_luminance_to_alpha_sse2_lowp
+.globl _sk_luminance_to_alpha_sse2_lowp
+FUNCTION(_sk_luminance_to_alpha_sse2_lowp)
+_sk_luminance_to_alpha_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,80                          // sub           $0x50,%esp
+  .byte  102,15,111,218                      // movdqa        %xmm2,%xmm3
+  .byte  232,0,0,0,0                         // call          e1b5 <_sk_luminance_to_alpha_sse2_lowp+0x11>
+  .byte  88                                  // pop           %eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,85,16                           // mov           0x10(%ebp),%edx
+  .byte  139,117,20                          // mov           0x14(%ebp),%esi
+  .byte  15,40,85,24                         // movaps        0x18(%ebp),%xmm2
+  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
+  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
+  .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
+  .byte  139,125,12                          // mov           0xc(%ebp),%edi
+  .byte  102,15,213,128,123,45,0,0           // pmullw        0x2d7b(%eax),%xmm0
+  .byte  102,15,213,136,139,45,0,0           // pmullw        0x2d8b(%eax),%xmm1
+  .byte  102,15,253,200                      // paddw         %xmm0,%xmm1
+  .byte  102,15,213,152,155,45,0,0           // pmullw        0x2d9b(%eax),%xmm3
+  .byte  102,15,253,217                      // paddw         %xmm1,%xmm3
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  141,71,4                            // lea           0x4(%edi),%eax
+  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
+  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
+  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
+  .byte  15,41,84,36,16                      // movaps        %xmm2,0x10(%esp)
+  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
+  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
+  .byte  137,68,36,4                         // mov           %eax,0x4(%esp)
+  .byte  137,12,36                           // mov           %ecx,(%esp)
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
+  .byte  15,87,210                           // xorps         %xmm2,%xmm2
+  .byte  255,23                              // call          *(%edi)
+  .byte  131,196,80                          // add           $0x50,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_gather_g8_sse2_lowp
+.globl _sk_gather_g8_sse2_lowp
+FUNCTION(_sk_gather_g8_sse2_lowp)
+_sk_gather_g8_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,92                          // sub           $0x5c,%esp
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  243,15,16,105,8                     // movss         0x8(%ecx),%xmm5
+  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
+  .byte  102,15,118,246                      // pcmpeqd       %xmm6,%xmm6
+  .byte  102,15,254,238                      // paddd         %xmm6,%xmm5
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,95,196                           // maxps         %xmm4,%xmm0
+  .byte  15,95,204                           // maxps         %xmm4,%xmm1
+  .byte  15,93,205                           // minps         %xmm5,%xmm1
+  .byte  15,93,197                           // minps         %xmm5,%xmm0
+  .byte  243,15,16,105,12                    // movss         0xc(%ecx),%xmm5
+  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
+  .byte  102,15,254,238                      // paddd         %xmm6,%xmm5
+  .byte  15,95,220                           // maxps         %xmm4,%xmm3
+  .byte  15,95,212                           // maxps         %xmm4,%xmm2
+  .byte  15,93,213                           // minps         %xmm5,%xmm2
+  .byte  15,93,221                           // minps         %xmm5,%xmm3
+  .byte  243,15,91,234                       // cvttps2dq     %xmm2,%xmm5
+  .byte  102,15,110,81,4                     // movd          0x4(%ecx),%xmm2
+  .byte  102,15,112,210,0                    // pshufd        $0x0,%xmm2,%xmm2
+  .byte  102,15,111,242                      // movdqa        %xmm2,%xmm6
+  .byte  102,15,244,245                      // pmuludq       %xmm5,%xmm6
+  .byte  102,15,112,237,245                  // pshufd        $0xf5,%xmm5,%xmm5
+  .byte  102,15,244,234                      // pmuludq       %xmm2,%xmm5
+  .byte  102,15,112,246,232                  // pshufd        $0xe8,%xmm6,%xmm6
+  .byte  102,15,112,237,232                  // pshufd        $0xe8,%xmm5,%xmm5
+  .byte  102,15,98,245                       // punpckldq     %xmm5,%xmm6
+  .byte  243,15,91,192                       // cvttps2dq     %xmm0,%xmm0
+  .byte  102,15,254,198                      // paddd         %xmm6,%xmm0
+  .byte  102,15,112,232,78                   // pshufd        $0x4e,%xmm0,%xmm5
+  .byte  102,15,126,234                      // movd          %xmm5,%edx
+  .byte  102,15,112,232,231                  // pshufd        $0xe7,%xmm0,%xmm5
+  .byte  102,15,126,238                      // movd          %xmm5,%esi
+  .byte  139,57                              // mov           (%ecx),%edi
+  .byte  243,15,91,219                       // cvttps2dq     %xmm3,%xmm3
+  .byte  102,15,126,193                      // movd          %xmm0,%ecx
+  .byte  102,15,112,192,229                  // pshufd        $0xe5,%xmm0,%xmm0
+  .byte  15,182,20,23                        // movzbl        (%edi,%edx,1),%edx
+  .byte  15,182,52,55                        // movzbl        (%edi,%esi,1),%esi
+  .byte  193,230,8                           // shl           $0x8,%esi
+  .byte  9,214                               // or            %edx,%esi
+  .byte  102,15,126,194                      // movd          %xmm0,%edx
+  .byte  102,15,112,195,245                  // pshufd        $0xf5,%xmm3,%xmm0
+  .byte  102,15,244,194                      // pmuludq       %xmm2,%xmm0
+  .byte  15,182,12,15                        // movzbl        (%edi,%ecx,1),%ecx
+  .byte  15,182,20,23                        // movzbl        (%edi,%edx,1),%edx
+  .byte  193,226,8                           // shl           $0x8,%edx
+  .byte  9,202                               // or            %ecx,%edx
+  .byte  232,0,0,0,0                         // call          e2fa <_sk_gather_g8_sse2_lowp+0xc9>
+  .byte  89                                  // pop           %ecx
+  .byte  102,15,244,211                      // pmuludq       %xmm3,%xmm2
+  .byte  102,15,112,210,232                  // pshufd        $0xe8,%xmm2,%xmm2
+  .byte  102,15,112,192,232                  // pshufd        $0xe8,%xmm0,%xmm0
+  .byte  102,15,98,208                       // punpckldq     %xmm0,%xmm2
+  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
+  .byte  102,15,254,202                      // paddd         %xmm2,%xmm1
+  .byte  102,15,110,194                      // movd          %edx,%xmm0
+  .byte  102,15,126,202                      // movd          %xmm1,%edx
+  .byte  102,15,112,209,229                  // pshufd        $0xe5,%xmm1,%xmm2
+  .byte  102,15,196,198,1                    // pinsrw        $0x1,%esi,%xmm0
+  .byte  102,15,126,214                      // movd          %xmm2,%esi
+  .byte  102,15,112,209,78                   // pshufd        $0x4e,%xmm1,%xmm2
+  .byte  15,182,20,23                        // movzbl        (%edi,%edx,1),%edx
+  .byte  15,182,52,55                        // movzbl        (%edi,%esi,1),%esi
+  .byte  193,230,8                           // shl           $0x8,%esi
+  .byte  9,214                               // or            %edx,%esi
+  .byte  102,15,126,210                      // movd          %xmm2,%edx
+  .byte  102,15,112,201,231                  // pshufd        $0xe7,%xmm1,%xmm1
+  .byte  102,15,196,198,2                    // pinsrw        $0x2,%esi,%xmm0
+  .byte  102,15,126,206                      // movd          %xmm1,%esi
+  .byte  15,182,20,23                        // movzbl        (%edi,%edx,1),%edx
+  .byte  15,182,52,55                        // movzbl        (%edi,%esi,1),%esi
+  .byte  139,125,8                           // mov           0x8(%ebp),%edi
+  .byte  193,230,8                           // shl           $0x8,%esi
+  .byte  9,214                               // or            %edx,%esi
+  .byte  139,85,16                           // mov           0x10(%ebp),%edx
+  .byte  102,15,196,198,3                    // pinsrw        $0x3,%esi,%xmm0
+  .byte  139,117,20                          // mov           0x14(%ebp),%esi
+  .byte  15,40,77,24                         // movaps        0x18(%ebp),%xmm1
+  .byte  15,40,85,40                         // movaps        0x28(%ebp),%xmm2
+  .byte  15,40,93,56                         // movaps        0x38(%ebp),%xmm3
+  .byte  102,15,96,196                       // punpcklbw     %xmm4,%xmm0
+  .byte  15,40,101,72                        // movaps        0x48(%ebp),%xmm4
+  .byte  141,88,8                            // lea           0x8(%eax),%ebx
+  .byte  15,41,100,36,64                     // movaps        %xmm4,0x40(%esp)
+  .byte  15,41,92,36,48                      // movaps        %xmm3,0x30(%esp)
+  .byte  15,41,84,36,32                      // movaps        %xmm2,0x20(%esp)
+  .byte  15,41,76,36,16                      // movaps        %xmm1,0x10(%esp)
+  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
+  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
+  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
+  .byte  137,60,36                           // mov           %edi,(%esp)
+  .byte  15,40,153,102,43,0,0                // movaps        0x2b66(%ecx),%xmm3
+  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
+  .byte  102,15,111,208                      // movdqa        %xmm0,%xmm2
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,92                          // add           $0x5c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_scale_1_float_sse2_lowp
+.globl _sk_scale_1_float_sse2_lowp
+FUNCTION(_sk_scale_1_float_sse2_lowp)
+_sk_scale_1_float_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,80                          // sub           $0x50,%esp
+  .byte  232,0,0,0,0                         // call          e3cb <_sk_scale_1_float_sse2_lowp+0xd>
+  .byte  94                                  // pop           %esi
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,85,16                           // mov           0x10(%ebp),%edx
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  139,57                              // mov           (%ecx),%edi
+  .byte  243,15,16,39                        // movss         (%edi),%xmm4
+  .byte  243,15,89,166,161,43,0,0            // mulss         0x2ba1(%esi),%xmm4
+  .byte  243,15,88,166,149,43,0,0            // addss         0x2b95(%esi),%xmm4
+  .byte  243,15,44,252                       // cvttss2si     %xmm4,%edi
+  .byte  102,15,110,239                      // movd          %edi,%xmm5
+  .byte  139,125,20                          // mov           0x14(%ebp),%edi
+  .byte  15,40,101,24                        // movaps        0x18(%ebp),%xmm4
+  .byte  15,40,117,40                        // movaps        0x28(%ebp),%xmm6
+  .byte  15,40,125,56                        // movaps        0x38(%ebp),%xmm7
+  .byte  242,15,112,237,0                    // pshuflw       $0x0,%xmm5,%xmm5
+  .byte  102,15,112,237,80                   // pshufd        $0x50,%xmm5,%xmm5
+  .byte  102,15,213,197                      // pmullw        %xmm5,%xmm0
+  .byte  102,15,213,205                      // pmullw        %xmm5,%xmm1
+  .byte  102,15,213,213                      // pmullw        %xmm5,%xmm2
+  .byte  102,15,213,221                      // pmullw        %xmm5,%xmm3
+  .byte  102,15,111,174,149,42,0,0           // movdqa        0x2a95(%esi),%xmm5
+  .byte  102,15,253,197                      // paddw         %xmm5,%xmm0
+  .byte  102,15,253,205                      // paddw         %xmm5,%xmm1
+  .byte  102,15,253,213                      // paddw         %xmm5,%xmm2
+  .byte  102,15,253,221                      // paddw         %xmm5,%xmm3
+  .byte  15,40,109,72                        // movaps        0x48(%ebp),%xmm5
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  141,113,8                           // lea           0x8(%ecx),%esi
+  .byte  15,41,108,36,64                     // movaps        %xmm5,0x40(%esp)
+  .byte  15,41,124,36,48                     // movaps        %xmm7,0x30(%esp)
+  .byte  15,41,116,36,32                     // movaps        %xmm6,0x20(%esp)
+  .byte  15,41,100,36,16                     // movaps        %xmm4,0x10(%esp)
+  .byte  137,124,36,12                       // mov           %edi,0xc(%esp)
+  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
+  .byte  137,116,36,4                        // mov           %esi,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  255,81,4                            // call          *0x4(%ecx)
+  .byte  131,196,80                          // add           $0x50,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_lerp_1_float_sse2_lowp
+.globl _sk_lerp_1_float_sse2_lowp
+FUNCTION(_sk_lerp_1_float_sse2_lowp)
+_sk_lerp_1_float_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,80                          // sub           $0x50,%esp
+  .byte  102,15,111,227                      // movdqa        %xmm3,%xmm4
+  .byte  102,15,111,218                      // movdqa        %xmm2,%xmm3
+  .byte  102,15,111,209                      // movdqa        %xmm1,%xmm2
+  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
+  .byte  232,0,0,0,0                         // call          e499 <_sk_lerp_1_float_sse2_lowp+0x1d>
+  .byte  89                                  // pop           %ecx
+  .byte  102,15,111,109,24                   // movdqa        0x18(%ebp),%xmm5
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,16                              // mov           (%eax),%edx
+  .byte  243,15,16,50                        // movss         (%edx),%xmm6
+  .byte  243,15,89,177,211,42,0,0            // mulss         0x2ad3(%ecx),%xmm6
+  .byte  243,15,88,177,199,42,0,0            // addss         0x2ac7(%ecx),%xmm6
+  .byte  243,15,44,214                       // cvttss2si     %xmm6,%edx
+  .byte  102,15,110,242                      // movd          %edx,%xmm6
+  .byte  242,15,112,246,0                    // pshuflw       $0x0,%xmm6,%xmm6
+  .byte  102,15,112,246,80                   // pshufd        $0x50,%xmm6,%xmm6
+  .byte  102,15,111,129,199,41,0,0           // movdqa        0x29c7(%ecx),%xmm0
+  .byte  102,15,213,206                      // pmullw        %xmm6,%xmm1
+  .byte  102,15,253,200                      // paddw         %xmm0,%xmm1
+  .byte  102,15,213,214                      // pmullw        %xmm6,%xmm2
+  .byte  102,15,253,208                      // paddw         %xmm0,%xmm2
+  .byte  102,15,213,222                      // pmullw        %xmm6,%xmm3
+  .byte  102,15,253,216                      // paddw         %xmm0,%xmm3
+  .byte  102,15,213,230                      // pmullw        %xmm6,%xmm4
+  .byte  102,15,253,224                      // paddw         %xmm0,%xmm4
+  .byte  102,15,249,198                      // psubw         %xmm6,%xmm0
+  .byte  102,15,111,240                      // movdqa        %xmm0,%xmm6
+  .byte  102,15,213,245                      // pmullw        %xmm5,%xmm6
+  .byte  102,15,253,206                      // paddw         %xmm6,%xmm1
+  .byte  102,15,111,240                      // movdqa        %xmm0,%xmm6
+  .byte  102,15,213,117,40                   // pmullw        0x28(%ebp),%xmm6
+  .byte  102,15,253,214                      // paddw         %xmm6,%xmm2
+  .byte  102,15,111,117,56                   // movdqa        0x38(%ebp),%xmm6
+  .byte  102,15,111,248                      // movdqa        %xmm0,%xmm7
+  .byte  102,15,213,254                      // pmullw        %xmm6,%xmm7
+  .byte  102,15,253,223                      // paddw         %xmm7,%xmm3
+  .byte  102,15,111,125,72                   // movdqa        0x48(%ebp),%xmm7
+  .byte  102,15,213,199                      // pmullw        %xmm7,%xmm0
+  .byte  102,15,253,224                      // paddw         %xmm0,%xmm4
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,85,16                           // mov           0x10(%ebp),%edx
+  .byte  139,117,20                          // mov           0x14(%ebp),%esi
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  102,15,113,212,8                    // psrlw         $0x8,%xmm4
+  .byte  141,120,8                           // lea           0x8(%eax),%edi
+  .byte  102,15,127,124,36,64                // movdqa        %xmm7,0x40(%esp)
+  .byte  102,15,127,116,36,48                // movdqa        %xmm6,0x30(%esp)
+  .byte  15,40,69,40                         // movaps        0x28(%ebp),%xmm0
+  .byte  15,41,68,36,32                      // movaps        %xmm0,0x20(%esp)
+  .byte  102,15,127,108,36,16                // movdqa        %xmm5,0x10(%esp)
+  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
+  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
+  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
+  .byte  137,12,36                           // mov           %ecx,(%esp)
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
+  .byte  102,15,111,211                      // movdqa        %xmm3,%xmm2
+  .byte  102,15,111,220                      // movdqa        %xmm4,%xmm3
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,80                          // add           $0x50,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_scale_u8_sse2_lowp
+.globl _sk_scale_u8_sse2_lowp
+FUNCTION(_sk_scale_u8_sse2_lowp)
+_sk_scale_u8_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,92                          // sub           $0x5c,%esp
+  .byte  15,40,125,56                        // movaps        0x38(%ebp),%xmm7
+  .byte  15,40,117,40                        // movaps        0x28(%ebp),%xmm6
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,85,8                            // mov           0x8(%ebp),%edx
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  139,89,4                            // mov           0x4(%ecx),%ebx
+  .byte  15,175,93,20                        // imul          0x14(%ebp),%ebx
+  .byte  3,25                                // add           (%ecx),%ebx
+  .byte  137,209                             // mov           %edx,%ecx
+  .byte  128,225,7                           // and           $0x7,%cl
+  .byte  254,201                             // dec           %cl
+  .byte  128,249,6                           // cmp           $0x6,%cl
+  .byte  232,0,0,0,0                         // call          e5c2 <_sk_scale_u8_sse2_lowp+0x31>
+  .byte  95                                  // pop           %edi
+  .byte  139,117,16                          // mov           0x10(%ebp),%esi
+  .byte  119,28                              // ja            e5e4 <_sk_scale_u8_sse2_lowp+0x53>
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  15,182,201                          // movzbl        %cl,%ecx
+  .byte  139,140,143,2,1,0,0                 // mov           0x102(%edi,%ecx,4),%ecx
+  .byte  1,249                               // add           %edi,%ecx
+  .byte  255,225                             // jmp           *%ecx
+  .byte  15,182,12,51                        // movzbl        (%ebx,%esi,1),%ecx
+  .byte  102,15,110,225                      // movd          %ecx,%xmm4
+  .byte  235,90                              // jmp           e63e <_sk_scale_u8_sse2_lowp+0xad>
+  .byte  243,15,126,36,51                    // movq          (%ebx,%esi,1),%xmm4
+  .byte  102,15,96,224                       // punpcklbw     %xmm0,%xmm4
+  .byte  235,79                              // jmp           e63e <_sk_scale_u8_sse2_lowp+0xad>
+  .byte  15,182,76,51,2                      // movzbl        0x2(%ebx,%esi,1),%ecx
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  102,15,196,225,2                    // pinsrw        $0x2,%ecx,%xmm4
+  .byte  15,183,12,51                        // movzwl        (%ebx,%esi,1),%ecx
+  .byte  102,15,110,233                      // movd          %ecx,%xmm5
+  .byte  102,15,96,232                       // punpcklbw     %xmm0,%xmm5
+  .byte  243,15,16,229                       // movss         %xmm5,%xmm4
+  .byte  235,47                              // jmp           e63e <_sk_scale_u8_sse2_lowp+0xad>
+  .byte  15,182,76,51,6                      // movzbl        0x6(%ebx,%esi,1),%ecx
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  102,15,196,225,6                    // pinsrw        $0x6,%ecx,%xmm4
+  .byte  15,182,76,51,5                      // movzbl        0x5(%ebx,%esi,1),%ecx
+  .byte  102,15,196,225,5                    // pinsrw        $0x5,%ecx,%xmm4
+  .byte  15,182,76,51,4                      // movzbl        0x4(%ebx,%esi,1),%ecx
+  .byte  102,15,196,225,4                    // pinsrw        $0x4,%ecx,%xmm4
+  .byte  102,15,110,44,51                    // movd          (%ebx,%esi,1),%xmm5
+  .byte  102,15,96,232                       // punpcklbw     %xmm0,%xmm5
+  .byte  242,15,16,229                       // movsd         %xmm5,%xmm4
+  .byte  102,15,219,167,158,40,0,0           // pand          0x289e(%edi),%xmm4
+  .byte  102,15,213,196                      // pmullw        %xmm4,%xmm0
+  .byte  102,15,111,175,158,40,0,0           // movdqa        0x289e(%edi),%xmm5
+  .byte  102,15,253,197                      // paddw         %xmm5,%xmm0
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,15,213,204                      // pmullw        %xmm4,%xmm1
+  .byte  102,15,253,205                      // paddw         %xmm5,%xmm1
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,213,212                      // pmullw        %xmm4,%xmm2
+  .byte  102,15,253,213                      // paddw         %xmm5,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,213,227                      // pmullw        %xmm3,%xmm4
+  .byte  102,15,253,229                      // paddw         %xmm5,%xmm4
+  .byte  102,15,113,212,8                    // psrlw         $0x8,%xmm4
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  15,40,93,72                         // movaps        0x48(%ebp),%xmm3
+  .byte  15,41,92,36,64                      // movaps        %xmm3,0x40(%esp)
+  .byte  15,41,124,36,48                     // movaps        %xmm7,0x30(%esp)
+  .byte  15,41,116,36,32                     // movaps        %xmm6,0x20(%esp)
+  .byte  15,40,93,24                         // movaps        0x18(%ebp),%xmm3
+  .byte  15,41,92,36,16                      // movaps        %xmm3,0x10(%esp)
+  .byte  139,125,20                          // mov           0x14(%ebp),%edi
+  .byte  137,124,36,12                       // mov           %edi,0xc(%esp)
+  .byte  137,116,36,8                        // mov           %esi,0x8(%esp)
+  .byte  137,76,36,4                         // mov           %ecx,0x4(%esp)
+  .byte  137,20,36                           // mov           %edx,(%esp)
+  .byte  102,15,111,220                      // movdqa        %xmm4,%xmm3
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,92                          // add           $0x5c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  24,0                                // sbb           %al,(%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  59,0                                // cmp           (%eax),%eax
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  45,0,0,0,111                        // sub           $0x6f000000,%eax
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,101,0                             // add           %ah,0x0(%ebp)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  91                                  // pop           %ebx
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,77,0                              // add           %cl,0x0(%ebp)
+  .byte  0,0                                 // add           %al,(%eax)
+
+HIDDEN _sk_lerp_u8_sse2_lowp
+.globl _sk_lerp_u8_sse2_lowp
+FUNCTION(_sk_lerp_u8_sse2_lowp)
+_sk_lerp_u8_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,108                         // sub           $0x6c,%esp
+  .byte  102,15,127,93,216                   // movdqa        %xmm3,-0x28(%ebp)
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,85,8                            // mov           0x8(%ebp),%edx
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  139,89,4                            // mov           0x4(%ecx),%ebx
+  .byte  15,175,93,20                        // imul          0x14(%ebp),%ebx
+  .byte  3,25                                // add           (%ecx),%ebx
+  .byte  137,209                             // mov           %edx,%ecx
+  .byte  128,225,7                           // and           $0x7,%cl
+  .byte  254,201                             // dec           %cl
+  .byte  128,249,6                           // cmp           $0x6,%cl
+  .byte  232,0,0,0,0                         // call          e70e <_sk_lerp_u8_sse2_lowp+0x2e>
+  .byte  95                                  // pop           %edi
+  .byte  139,117,16                          // mov           0x10(%ebp),%esi
+  .byte  119,28                              // ja            e730 <_sk_lerp_u8_sse2_lowp+0x50>
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  15,182,201                          // movzbl        %cl,%ecx
+  .byte  139,140,143,74,1,0,0                // mov           0x14a(%edi,%ecx,4),%ecx
+  .byte  1,249                               // add           %edi,%ecx
+  .byte  255,225                             // jmp           *%ecx
+  .byte  15,182,12,51                        // movzbl        (%ebx,%esi,1),%ecx
+  .byte  102,15,110,217                      // movd          %ecx,%xmm3
+  .byte  235,90                              // jmp           e78a <_sk_lerp_u8_sse2_lowp+0xaa>
+  .byte  243,15,126,28,51                    // movq          (%ebx,%esi,1),%xmm3
+  .byte  102,15,96,216                       // punpcklbw     %xmm0,%xmm3
+  .byte  235,79                              // jmp           e78a <_sk_lerp_u8_sse2_lowp+0xaa>
+  .byte  15,182,76,51,2                      // movzbl        0x2(%ebx,%esi,1),%ecx
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  102,15,196,217,2                    // pinsrw        $0x2,%ecx,%xmm3
+  .byte  15,183,12,51                        // movzwl        (%ebx,%esi,1),%ecx
+  .byte  102,15,110,225                      // movd          %ecx,%xmm4
+  .byte  102,15,96,224                       // punpcklbw     %xmm0,%xmm4
+  .byte  243,15,16,220                       // movss         %xmm4,%xmm3
+  .byte  235,47                              // jmp           e78a <_sk_lerp_u8_sse2_lowp+0xaa>
+  .byte  15,182,76,51,6                      // movzbl        0x6(%ebx,%esi,1),%ecx
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  102,15,196,217,6                    // pinsrw        $0x6,%ecx,%xmm3
+  .byte  15,182,76,51,5                      // movzbl        0x5(%ebx,%esi,1),%ecx
+  .byte  102,15,196,217,5                    // pinsrw        $0x5,%ecx,%xmm3
+  .byte  15,182,76,51,4                      // movzbl        0x4(%ebx,%esi,1),%ecx
+  .byte  102,15,196,217,4                    // pinsrw        $0x4,%ecx,%xmm3
+  .byte  102,15,110,36,51                    // movd          (%ebx,%esi,1),%xmm4
+  .byte  102,15,96,224                       // punpcklbw     %xmm0,%xmm4
+  .byte  242,15,16,220                       // movsd         %xmm4,%xmm3
+  .byte  102,15,219,159,82,39,0,0            // pand          0x2752(%edi),%xmm3
+  .byte  102,15,111,183,82,39,0,0            // movdqa        0x2752(%edi),%xmm6
+  .byte  102,15,111,227                      // movdqa        %xmm3,%xmm4
+  .byte  102,15,239,230                      // pxor          %xmm6,%xmm4
+  .byte  102,15,111,252                      // movdqa        %xmm4,%xmm7
+  .byte  102,15,111,109,24                   // movdqa        0x18(%ebp),%xmm5
+  .byte  102,15,213,253                      // pmullw        %xmm5,%xmm7
+  .byte  102,15,213,195                      // pmullw        %xmm3,%xmm0
+  .byte  102,15,253,198                      // paddw         %xmm6,%xmm0
+  .byte  102,15,253,199                      // paddw         %xmm7,%xmm0
+  .byte  102,15,111,252                      // movdqa        %xmm4,%xmm7
+  .byte  102,15,111,109,40                   // movdqa        0x28(%ebp),%xmm5
+  .byte  102,15,213,253                      // pmullw        %xmm5,%xmm7
+  .byte  102,15,213,203                      // pmullw        %xmm3,%xmm1
+  .byte  102,15,253,206                      // paddw         %xmm6,%xmm1
+  .byte  102,15,253,207                      // paddw         %xmm7,%xmm1
+  .byte  102,15,111,252                      // movdqa        %xmm4,%xmm7
+  .byte  102,15,111,109,56                   // movdqa        0x38(%ebp),%xmm5
+  .byte  102,15,213,253                      // pmullw        %xmm5,%xmm7
+  .byte  102,15,213,211                      // pmullw        %xmm3,%xmm2
+  .byte  102,15,253,214                      // paddw         %xmm6,%xmm2
+  .byte  102,15,253,215                      // paddw         %xmm7,%xmm2
+  .byte  102,15,213,93,216                   // pmullw        -0x28(%ebp),%xmm3
+  .byte  102,15,253,222                      // paddw         %xmm6,%xmm3
+  .byte  102,15,111,117,72                   // movdqa        0x48(%ebp),%xmm6
+  .byte  102,15,213,230                      // pmullw        %xmm6,%xmm4
+  .byte  102,15,253,220                      // paddw         %xmm4,%xmm3
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  102,15,127,116,36,64                // movdqa        %xmm6,0x40(%esp)
+  .byte  102,15,127,108,36,48                // movdqa        %xmm5,0x30(%esp)
+  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
+  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
+  .byte  15,40,101,24                        // movaps        0x18(%ebp),%xmm4
+  .byte  15,41,100,36,16                     // movaps        %xmm4,0x10(%esp)
+  .byte  139,125,20                          // mov           0x14(%ebp),%edi
+  .byte  137,124,36,12                       // mov           %edi,0xc(%esp)
+  .byte  137,116,36,8                        // mov           %esi,0x8(%esp)
+  .byte  137,76,36,4                         // mov           %ecx,0x4(%esp)
+  .byte  137,20,36                           // mov           %edx,(%esp)
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,108                         // add           $0x6c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  15,31,0                             // nopl          (%eax)
+  .byte  24,0                                // sbb           %al,(%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  59,0                                // cmp           (%eax),%eax
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  45,0,0,0,111                        // sub           $0x6f000000,%eax
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,101,0                             // add           %ah,0x0(%ebp)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  91                                  // pop           %ebx
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,77,0                              // add           %cl,0x0(%ebp)
+  .byte  0,0                                 // add           %al,(%eax)
+
+HIDDEN _sk_scale_565_sse2_lowp
+.globl _sk_scale_565_sse2_lowp
+FUNCTION(_sk_scale_565_sse2_lowp)
+_sk_scale_565_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  129,236,188,0,0,0                   // sub           $0xbc,%esp
+  .byte  102,15,111,243                      // movdqa        %xmm3,%xmm6
+  .byte  15,41,85,136                        // movaps        %xmm2,-0x78(%ebp)
+  .byte  15,41,77,152                        // movaps        %xmm1,-0x68(%ebp)
+  .byte  15,41,69,168                        // movaps        %xmm0,-0x58(%ebp)
+  .byte  102,15,111,125,72                   // movdqa        0x48(%ebp),%xmm7
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,85,8                            // mov           0x8(%ebp),%edx
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  139,89,4                            // mov           0x4(%ecx),%ebx
+  .byte  15,175,93,20                        // imul          0x14(%ebp),%ebx
+  .byte  1,219                               // add           %ebx,%ebx
+  .byte  3,25                                // add           (%ecx),%ebx
+  .byte  137,209                             // mov           %edx,%ecx
+  .byte  128,225,7                           // and           $0x7,%cl
+  .byte  254,201                             // dec           %cl
+  .byte  128,249,6                           // cmp           $0x6,%cl
+  .byte  232,0,0,0,0                         // call          e8b7 <_sk_scale_565_sse2_lowp+0x43>
+  .byte  95                                  // pop           %edi
+  .byte  139,117,16                          // mov           0x10(%ebp),%esi
+  .byte  119,28                              // ja            e8d9 <_sk_scale_565_sse2_lowp+0x65>
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  15,182,201                          // movzbl        %cl,%ecx
+  .byte  139,140,143,249,1,0,0               // mov           0x1f9(%edi,%ecx,4),%ecx
+  .byte  1,249                               // add           %edi,%ecx
+  .byte  255,225                             // jmp           *%ecx
+  .byte  15,183,12,115                       // movzwl        (%ebx,%esi,2),%ecx
+  .byte  102,15,110,217                      // movd          %ecx,%xmm3
+  .byte  235,59                              // jmp           e914 <_sk_scale_565_sse2_lowp+0xa0>
+  .byte  243,15,111,28,115                   // movdqu        (%ebx,%esi,2),%xmm3
+  .byte  235,52                              // jmp           e914 <_sk_scale_565_sse2_lowp+0xa0>
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  102,15,196,92,115,4,2               // pinsrw        $0x2,0x4(%ebx,%esi,2),%xmm3
+  .byte  243,15,16,12,115                    // movss         (%ebx,%esi,2),%xmm1
+  .byte  243,15,16,217                       // movss         %xmm1,%xmm3
+  .byte  235,30                              // jmp           e914 <_sk_scale_565_sse2_lowp+0xa0>
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  102,15,196,92,115,12,6              // pinsrw        $0x6,0xc(%ebx,%esi,2),%xmm3
+  .byte  102,15,196,92,115,10,5              // pinsrw        $0x5,0xa(%ebx,%esi,2),%xmm3
+  .byte  102,15,196,92,115,8,4               // pinsrw        $0x4,0x8(%ebx,%esi,2),%xmm3
+  .byte  102,15,18,28,115                    // movlpd        (%ebx,%esi,2),%xmm3
+  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,219,143,233,37,0,0           // pand          0x25e9(%edi),%xmm1
+  .byte  102,15,111,211                      // movdqa        %xmm3,%xmm2
+  .byte  102,15,113,210,5                    // psrlw         $0x5,%xmm2
+  .byte  102,15,219,151,249,37,0,0           // pand          0x25f9(%edi),%xmm2
+  .byte  102,15,111,135,9,38,0,0             // movdqa        0x2609(%edi),%xmm0
+  .byte  102,15,219,195                      // pand          %xmm3,%xmm0
+  .byte  102,15,113,211,13                   // psrlw         $0xd,%xmm3
+  .byte  102,15,235,217                      // por           %xmm1,%xmm3
+  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
+  .byte  102,15,113,241,2                    // psllw         $0x2,%xmm1
+  .byte  102,15,113,210,4                    // psrlw         $0x4,%xmm2
+  .byte  102,15,235,209                      // por           %xmm1,%xmm2
+  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
+  .byte  102,15,113,241,3                    // psllw         $0x3,%xmm1
+  .byte  102,15,113,208,2                    // psrlw         $0x2,%xmm0
+  .byte  102,15,235,193                      // por           %xmm1,%xmm0
+  .byte  102,15,127,69,200                   // movdqa        %xmm0,-0x38(%ebp)
+  .byte  102,15,111,167,185,37,0,0           // movdqa        0x25b9(%edi),%xmm4
+  .byte  15,41,117,184                       // movaps        %xmm6,-0x48(%ebp)
+  .byte  102,15,239,244                      // pxor          %xmm4,%xmm6
+  .byte  102,15,239,252                      // pxor          %xmm4,%xmm7
+  .byte  102,15,101,254                      // pcmpgtw       %xmm6,%xmm7
+  .byte  102,15,111,240                      // movdqa        %xmm0,%xmm6
+  .byte  102,15,239,244                      // pxor          %xmm4,%xmm6
+  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
+  .byte  102,15,239,204                      // pxor          %xmm4,%xmm1
+  .byte  102,15,101,241                      // pcmpgtw       %xmm1,%xmm6
+  .byte  102,15,111,206                      // movdqa        %xmm6,%xmm1
+  .byte  102,15,223,200                      // pandn         %xmm0,%xmm1
+  .byte  102,15,111,234                      // movdqa        %xmm2,%xmm5
+  .byte  102,15,219,238                      // pand          %xmm6,%xmm5
+  .byte  102,15,235,233                      // por           %xmm1,%xmm5
+  .byte  102,15,111,205                      // movdqa        %xmm5,%xmm1
+  .byte  102,15,239,204                      // pxor          %xmm4,%xmm1
+  .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
+  .byte  102,15,235,196                      // por           %xmm4,%xmm0
+  .byte  102,15,127,69,216                   // movdqa        %xmm0,-0x28(%ebp)
+  .byte  102,15,101,200                      // pcmpgtw       %xmm0,%xmm1
+  .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
+  .byte  102,15,219,193                      // pand          %xmm1,%xmm0
+  .byte  102,15,223,205                      // pandn         %xmm5,%xmm1
+  .byte  102,15,235,200                      // por           %xmm0,%xmm1
+  .byte  102,15,111,109,200                  // movdqa        -0x38(%ebp),%xmm5
+  .byte  102,15,111,197                      // movdqa        %xmm5,%xmm0
+  .byte  102,15,219,198                      // pand          %xmm6,%xmm0
+  .byte  102,15,223,242                      // pandn         %xmm2,%xmm6
+  .byte  102,15,235,240                      // por           %xmm0,%xmm6
+  .byte  102,15,239,230                      // pxor          %xmm6,%xmm4
+  .byte  102,15,101,101,216                  // pcmpgtw       -0x28(%ebp),%xmm4
+  .byte  102,15,219,244                      // pand          %xmm4,%xmm6
+  .byte  102,15,223,227                      // pandn         %xmm3,%xmm4
+  .byte  102,15,235,230                      // por           %xmm6,%xmm4
+  .byte  102,15,219,207                      // pand          %xmm7,%xmm1
+  .byte  102,15,223,252                      // pandn         %xmm4,%xmm7
+  .byte  102,15,235,249                      // por           %xmm1,%xmm7
+  .byte  102,15,213,93,168                   // pmullw        -0x58(%ebp),%xmm3
+  .byte  102,15,213,85,152                   // pmullw        -0x68(%ebp),%xmm2
+  .byte  102,15,111,229                      // movdqa        %xmm5,%xmm4
+  .byte  102,15,213,101,136                  // pmullw        -0x78(%ebp),%xmm4
+  .byte  102,15,213,125,184                  // pmullw        -0x48(%ebp),%xmm7
+  .byte  102,15,111,135,169,37,0,0           // movdqa        0x25a9(%edi),%xmm0
+  .byte  102,15,253,216                      // paddw         %xmm0,%xmm3
+  .byte  102,15,253,208                      // paddw         %xmm0,%xmm2
+  .byte  102,15,253,224                      // paddw         %xmm0,%xmm4
+  .byte  102,15,253,248                      // paddw         %xmm0,%xmm7
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,113,212,8                    // psrlw         $0x8,%xmm4
+  .byte  102,15,113,215,8                    // psrlw         $0x8,%xmm7
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  15,40,69,72                         // movaps        0x48(%ebp),%xmm0
+  .byte  15,41,68,36,64                      // movaps        %xmm0,0x40(%esp)
+  .byte  15,40,69,56                         // movaps        0x38(%ebp),%xmm0
+  .byte  15,41,68,36,48                      // movaps        %xmm0,0x30(%esp)
+  .byte  15,40,69,40                         // movaps        0x28(%ebp),%xmm0
+  .byte  15,41,68,36,32                      // movaps        %xmm0,0x20(%esp)
+  .byte  15,40,69,24                         // movaps        0x18(%ebp),%xmm0
+  .byte  15,41,68,36,16                      // movaps        %xmm0,0x10(%esp)
+  .byte  139,125,20                          // mov           0x14(%ebp),%edi
+  .byte  137,124,36,12                       // mov           %edi,0xc(%esp)
+  .byte  137,116,36,8                        // mov           %esi,0x8(%esp)
+  .byte  137,76,36,4                         // mov           %ecx,0x4(%esp)
+  .byte  137,20,36                           // mov           %edx,(%esp)
+  .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
+  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
+  .byte  102,15,111,212                      // movdqa        %xmm4,%xmm2
+  .byte  102,15,111,223                      // movdqa        %xmm7,%xmm3
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  129,196,188,0,0,0                   // add           $0xbc,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  102,144                             // xchg          %ax,%ax
+  .byte  24,0                                // sbb           %al,(%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  52,0                                // xor           $0x0,%al
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  41,0                                // sub           %eax,(%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  88                                  // pop           %eax
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,81,0                              // add           %dl,0x0(%ecx)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  74                                  // dec           %edx
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,63                                // add           %bh,(%edi)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0                                   // .byte         0x0
+
+HIDDEN _sk_lerp_565_sse2_lowp
+.globl _sk_lerp_565_sse2_lowp
+FUNCTION(_sk_lerp_565_sse2_lowp)
+_sk_lerp_565_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  129,236,188,0,0,0                   // sub           $0xbc,%esp
+  .byte  102,15,111,243                      // movdqa        %xmm3,%xmm6
+  .byte  15,41,85,136                        // movaps        %xmm2,-0x78(%ebp)
+  .byte  15,41,77,152                        // movaps        %xmm1,-0x68(%ebp)
+  .byte  15,41,69,168                        // movaps        %xmm0,-0x58(%ebp)
+  .byte  102,15,111,125,72                   // movdqa        0x48(%ebp),%xmm7
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,85,8                            // mov           0x8(%ebp),%edx
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  139,89,4                            // mov           0x4(%ecx),%ebx
+  .byte  15,175,93,20                        // imul          0x14(%ebp),%ebx
+  .byte  1,219                               // add           %ebx,%ebx
+  .byte  3,25                                // add           (%ecx),%ebx
+  .byte  137,209                             // mov           %edx,%ecx
+  .byte  128,225,7                           // and           $0x7,%cl
+  .byte  254,201                             // dec           %cl
+  .byte  128,249,6                           // cmp           $0x6,%cl
+  .byte  232,0,0,0,0                         // call          eb0f <_sk_lerp_565_sse2_lowp+0x43>
+  .byte  95                                  // pop           %edi
+  .byte  139,117,16                          // mov           0x10(%ebp),%esi
+  .byte  119,28                              // ja            eb31 <_sk_lerp_565_sse2_lowp+0x65>
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  15,182,201                          // movzbl        %cl,%ecx
+  .byte  139,140,143,73,2,0,0                // mov           0x249(%edi,%ecx,4),%ecx
+  .byte  1,249                               // add           %edi,%ecx
+  .byte  255,225                             // jmp           *%ecx
+  .byte  15,183,12,115                       // movzwl        (%ebx,%esi,2),%ecx
+  .byte  102,15,110,217                      // movd          %ecx,%xmm3
+  .byte  235,59                              // jmp           eb6c <_sk_lerp_565_sse2_lowp+0xa0>
+  .byte  243,15,111,28,115                   // movdqu        (%ebx,%esi,2),%xmm3
+  .byte  235,52                              // jmp           eb6c <_sk_lerp_565_sse2_lowp+0xa0>
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  102,15,196,92,115,4,2               // pinsrw        $0x2,0x4(%ebx,%esi,2),%xmm3
+  .byte  243,15,16,12,115                    // movss         (%ebx,%esi,2),%xmm1
+  .byte  243,15,16,217                       // movss         %xmm1,%xmm3
+  .byte  235,30                              // jmp           eb6c <_sk_lerp_565_sse2_lowp+0xa0>
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  102,15,196,92,115,12,6              // pinsrw        $0x6,0xc(%ebx,%esi,2),%xmm3
+  .byte  102,15,196,92,115,10,5              // pinsrw        $0x5,0xa(%ebx,%esi,2),%xmm3
+  .byte  102,15,196,92,115,8,4               // pinsrw        $0x4,0x8(%ebx,%esi,2),%xmm3
+  .byte  102,15,18,28,115                    // movlpd        (%ebx,%esi,2),%xmm3
+  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,219,143,145,35,0,0           // pand          0x2391(%edi),%xmm1
+  .byte  102,15,111,211                      // movdqa        %xmm3,%xmm2
+  .byte  102,15,113,210,5                    // psrlw         $0x5,%xmm2
+  .byte  102,15,219,151,161,35,0,0           // pand          0x23a1(%edi),%xmm2
+  .byte  102,15,111,175,177,35,0,0           // movdqa        0x23b1(%edi),%xmm5
+  .byte  102,15,219,235                      // pand          %xmm3,%xmm5
+  .byte  102,15,113,211,13                   // psrlw         $0xd,%xmm3
+  .byte  102,15,235,217                      // por           %xmm1,%xmm3
+  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
+  .byte  102,15,113,241,2                    // psllw         $0x2,%xmm1
+  .byte  102,15,113,210,4                    // psrlw         $0x4,%xmm2
+  .byte  102,15,235,209                      // por           %xmm1,%xmm2
+  .byte  102,15,111,205                      // movdqa        %xmm5,%xmm1
+  .byte  102,15,113,241,3                    // psllw         $0x3,%xmm1
+  .byte  102,15,113,213,2                    // psrlw         $0x2,%xmm5
+  .byte  102,15,235,233                      // por           %xmm1,%xmm5
+  .byte  102,15,127,109,216                  // movdqa        %xmm5,-0x28(%ebp)
+  .byte  102,15,111,167,97,35,0,0            // movdqa        0x2361(%edi),%xmm4
+  .byte  102,15,111,198                      // movdqa        %xmm6,%xmm0
+  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
+  .byte  102,15,239,204                      // pxor          %xmm4,%xmm1
+  .byte  102,15,239,252                      // pxor          %xmm4,%xmm7
+  .byte  102,15,101,249                      // pcmpgtw       %xmm1,%xmm7
+  .byte  102,15,111,245                      // movdqa        %xmm5,%xmm6
+  .byte  102,15,239,244                      // pxor          %xmm4,%xmm6
+  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
+  .byte  102,15,239,204                      // pxor          %xmm4,%xmm1
+  .byte  102,15,101,241                      // pcmpgtw       %xmm1,%xmm6
+  .byte  102,15,111,206                      // movdqa        %xmm6,%xmm1
+  .byte  102,15,223,205                      // pandn         %xmm5,%xmm1
+  .byte  102,15,127,69,184                   // movdqa        %xmm0,-0x48(%ebp)
+  .byte  102,15,111,234                      // movdqa        %xmm2,%xmm5
+  .byte  102,15,219,238                      // pand          %xmm6,%xmm5
+  .byte  102,15,235,233                      // por           %xmm1,%xmm5
+  .byte  102,15,111,205                      // movdqa        %xmm5,%xmm1
+  .byte  102,15,239,204                      // pxor          %xmm4,%xmm1
+  .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
+  .byte  102,15,235,196                      // por           %xmm4,%xmm0
+  .byte  102,15,127,69,200                   // movdqa        %xmm0,-0x38(%ebp)
+  .byte  102,15,101,200                      // pcmpgtw       %xmm0,%xmm1
+  .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
+  .byte  102,15,219,193                      // pand          %xmm1,%xmm0
+  .byte  102,15,223,205                      // pandn         %xmm5,%xmm1
+  .byte  102,15,235,200                      // por           %xmm0,%xmm1
+  .byte  102,15,111,69,216                   // movdqa        -0x28(%ebp),%xmm0
+  .byte  102,15,219,198                      // pand          %xmm6,%xmm0
+  .byte  102,15,223,242                      // pandn         %xmm2,%xmm6
+  .byte  102,15,235,240                      // por           %xmm0,%xmm6
+  .byte  102,15,239,230                      // pxor          %xmm6,%xmm4
+  .byte  102,15,101,101,200                  // pcmpgtw       -0x38(%ebp),%xmm4
+  .byte  102,15,219,244                      // pand          %xmm4,%xmm6
+  .byte  102,15,223,227                      // pandn         %xmm3,%xmm4
+  .byte  102,15,235,230                      // por           %xmm6,%xmm4
+  .byte  102,15,219,207                      // pand          %xmm7,%xmm1
+  .byte  102,15,223,252                      // pandn         %xmm4,%xmm7
+  .byte  102,15,235,249                      // por           %xmm1,%xmm7
+  .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
+  .byte  102,15,213,93,168                   // pmullw        -0x58(%ebp),%xmm3
+  .byte  102,15,111,143,81,35,0,0            // movdqa        0x2351(%edi),%xmm1
+  .byte  102,15,239,193                      // pxor          %xmm1,%xmm0
+  .byte  102,15,111,101,24                   // movdqa        0x18(%ebp),%xmm4
+  .byte  102,15,213,196                      // pmullw        %xmm4,%xmm0
+  .byte  102,15,253,217                      // paddw         %xmm1,%xmm3
+  .byte  102,15,253,216                      // paddw         %xmm0,%xmm3
+  .byte  102,15,111,194                      // movdqa        %xmm2,%xmm0
+  .byte  102,15,213,85,152                   // pmullw        -0x68(%ebp),%xmm2
+  .byte  102,15,239,193                      // pxor          %xmm1,%xmm0
+  .byte  102,15,111,109,40                   // movdqa        0x28(%ebp),%xmm5
+  .byte  102,15,213,197                      // pmullw        %xmm5,%xmm0
+  .byte  102,15,253,209                      // paddw         %xmm1,%xmm2
+  .byte  102,15,253,208                      // paddw         %xmm0,%xmm2
+  .byte  102,15,111,101,216                  // movdqa        -0x28(%ebp),%xmm4
+  .byte  102,15,111,196                      // movdqa        %xmm4,%xmm0
+  .byte  102,15,213,101,136                  // pmullw        -0x78(%ebp),%xmm4
+  .byte  102,15,239,193                      // pxor          %xmm1,%xmm0
+  .byte  102,15,111,117,56                   // movdqa        0x38(%ebp),%xmm6
+  .byte  102,15,213,198                      // pmullw        %xmm6,%xmm0
+  .byte  102,15,253,225                      // paddw         %xmm1,%xmm4
+  .byte  102,15,253,224                      // paddw         %xmm0,%xmm4
+  .byte  102,15,111,199                      // movdqa        %xmm7,%xmm0
+  .byte  102,15,213,125,184                  // pmullw        -0x48(%ebp),%xmm7
+  .byte  102,15,239,193                      // pxor          %xmm1,%xmm0
+  .byte  102,15,253,249                      // paddw         %xmm1,%xmm7
+  .byte  102,15,111,77,72                    // movdqa        0x48(%ebp),%xmm1
+  .byte  102,15,213,193                      // pmullw        %xmm1,%xmm0
+  .byte  102,15,253,248                      // paddw         %xmm0,%xmm7
+  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,113,212,8                    // psrlw         $0x8,%xmm4
+  .byte  102,15,113,215,8                    // psrlw         $0x8,%xmm7
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  102,15,127,76,36,64                 // movdqa        %xmm1,0x40(%esp)
+  .byte  102,15,127,116,36,48                // movdqa        %xmm6,0x30(%esp)
+  .byte  102,15,127,108,36,32                // movdqa        %xmm5,0x20(%esp)
+  .byte  15,40,69,24                         // movaps        0x18(%ebp),%xmm0
+  .byte  15,41,68,36,16                      // movaps        %xmm0,0x10(%esp)
+  .byte  139,125,20                          // mov           0x14(%ebp),%edi
+  .byte  137,124,36,12                       // mov           %edi,0xc(%esp)
+  .byte  137,116,36,8                        // mov           %esi,0x8(%esp)
+  .byte  137,76,36,4                         // mov           %ecx,0x4(%esp)
+  .byte  137,20,36                           // mov           %edx,(%esp)
+  .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
+  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
+  .byte  102,15,111,212                      // movdqa        %xmm4,%xmm2
+  .byte  102,15,111,223                      // movdqa        %xmm7,%xmm3
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  129,196,188,0,0,0                   // add           $0xbc,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  144                                 // nop
+  .byte  24,0                                // sbb           %al,(%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  52,0                                // xor           $0x0,%al
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  41,0                                // sub           %eax,(%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  88                                  // pop           %eax
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,81,0                              // add           %dl,0x0(%ecx)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  74                                  // dec           %edx
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,63                                // add           %bh,(%edi)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0                                   // .byte         0x0
+
+HIDDEN _sk_clamp_x_1_sse2_lowp
+.globl _sk_clamp_x_1_sse2_lowp
+FUNCTION(_sk_clamp_x_1_sse2_lowp)
+_sk_clamp_x_1_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,80                          // sub           $0x50,%esp
+  .byte  232,0,0,0,0                         // call          ed81 <_sk_clamp_x_1_sse2_lowp+0xd>
+  .byte  88                                  // pop           %eax
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,85,16                           // mov           0x10(%ebp),%edx
+  .byte  139,117,20                          // mov           0x14(%ebp),%esi
+  .byte  15,40,101,24                        // movaps        0x18(%ebp),%xmm4
+  .byte  15,40,109,40                        // movaps        0x28(%ebp),%xmm5
+  .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
+  .byte  15,87,255                           // xorps         %xmm7,%xmm7
+  .byte  15,95,207                           // maxps         %xmm7,%xmm1
+  .byte  15,95,199                           // maxps         %xmm7,%xmm0
+  .byte  15,40,184,223,25,0,0                // movaps        0x19df(%eax),%xmm7
+  .byte  15,93,199                           // minps         %xmm7,%xmm0
+  .byte  15,93,207                           // minps         %xmm7,%xmm1
+  .byte  15,40,125,72                        // movaps        0x48(%ebp),%xmm7
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  141,120,4                           // lea           0x4(%eax),%edi
+  .byte  15,41,124,36,64                     // movaps        %xmm7,0x40(%esp)
+  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
+  .byte  15,41,108,36,32                     // movaps        %xmm5,0x20(%esp)
+  .byte  15,41,100,36,16                     // movaps        %xmm4,0x10(%esp)
+  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
+  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
+  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
+  .byte  137,12,36                           // mov           %ecx,(%esp)
+  .byte  255,16                              // call          *(%eax)
+  .byte  131,196,80                          // add           $0x50,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_repeat_x_1_sse2_lowp
+.globl _sk_repeat_x_1_sse2_lowp
+FUNCTION(_sk_repeat_x_1_sse2_lowp)
+_sk_repeat_x_1_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,80                          // sub           $0x50,%esp
+  .byte  232,0,0,0,0                         // call          edf0 <_sk_repeat_x_1_sse2_lowp+0xd>
+  .byte  94                                  // pop           %esi
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
+  .byte  139,85,20                           // mov           0x14(%ebp),%edx
+  .byte  243,15,91,225                       // cvttps2dq     %xmm1,%xmm4
+  .byte  243,15,91,232                       // cvttps2dq     %xmm0,%xmm5
+  .byte  15,91,237                           // cvtdq2ps      %xmm5,%xmm5
+  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
+  .byte  15,40,241                           // movaps        %xmm1,%xmm6
+  .byte  15,194,244,1                        // cmpltps       %xmm4,%xmm6
+  .byte  15,40,190,112,25,0,0                // movaps        0x1970(%esi),%xmm7
+  .byte  15,84,247                           // andps         %xmm7,%xmm6
+  .byte  15,92,230                           // subps         %xmm6,%xmm4
+  .byte  15,40,240                           // movaps        %xmm0,%xmm6
+  .byte  15,194,245,1                        // cmpltps       %xmm5,%xmm6
+  .byte  15,84,247                           // andps         %xmm7,%xmm6
+  .byte  15,92,238                           // subps         %xmm6,%xmm5
+  .byte  15,40,117,24                        // movaps        0x18(%ebp),%xmm6
+  .byte  15,92,197                           // subps         %xmm5,%xmm0
+  .byte  15,40,109,40                        // movaps        0x28(%ebp),%xmm5
+  .byte  15,92,204                           // subps         %xmm4,%xmm1
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,95,204                           // maxps         %xmm4,%xmm1
+  .byte  15,95,196                           // maxps         %xmm4,%xmm0
+  .byte  15,40,101,56                        // movaps        0x38(%ebp),%xmm4
+  .byte  15,93,199                           // minps         %xmm7,%xmm0
+  .byte  15,93,207                           // minps         %xmm7,%xmm1
+  .byte  15,40,125,72                        // movaps        0x48(%ebp),%xmm7
+  .byte  139,117,12                          // mov           0xc(%ebp),%esi
+  .byte  141,126,4                           // lea           0x4(%esi),%edi
+  .byte  15,41,124,36,64                     // movaps        %xmm7,0x40(%esp)
+  .byte  15,41,100,36,48                     // movaps        %xmm4,0x30(%esp)
+  .byte  15,41,108,36,32                     // movaps        %xmm5,0x20(%esp)
+  .byte  15,41,116,36,16                     // movaps        %xmm6,0x10(%esp)
+  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
+  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
+  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  255,22                              // call          *(%esi)
+  .byte  131,196,80                          // add           $0x50,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_mirror_x_1_sse2_lowp
+.globl _sk_mirror_x_1_sse2_lowp
+FUNCTION(_sk_mirror_x_1_sse2_lowp)
+_sk_mirror_x_1_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,96                          // sub           $0x60,%esp
+  .byte  15,41,93,232                        // movaps        %xmm3,-0x18(%ebp)
+  .byte  15,40,218                           // movaps        %xmm2,%xmm3
+  .byte  15,40,209                           // movaps        %xmm1,%xmm2
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  232,0,0,0,0                         // call          ee9a <_sk_mirror_x_1_sse2_lowp+0x1a>
+  .byte  88                                  // pop           %eax
+  .byte  15,40,160,54,25,0,0                 // movaps        0x1936(%eax),%xmm4
+  .byte  15,88,204                           // addps         %xmm4,%xmm1
+  .byte  15,88,212                           // addps         %xmm4,%xmm2
+  .byte  15,40,176,182,24,0,0                // movaps        0x18b6(%eax),%xmm6
+  .byte  15,40,250                           // movaps        %xmm2,%xmm7
+  .byte  15,89,254                           // mulps         %xmm6,%xmm7
+  .byte  15,89,241                           // mulps         %xmm1,%xmm6
+  .byte  243,15,91,238                       // cvttps2dq     %xmm6,%xmm5
+  .byte  15,91,197                           // cvtdq2ps      %xmm5,%xmm0
+  .byte  15,194,240,1                        // cmpltps       %xmm0,%xmm6
+  .byte  15,40,168,198,24,0,0                // movaps        0x18c6(%eax),%xmm5
+  .byte  15,84,245                           // andps         %xmm5,%xmm6
+  .byte  15,92,198                           // subps         %xmm6,%xmm0
+  .byte  243,15,91,247                       // cvttps2dq     %xmm7,%xmm6
+  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
+  .byte  15,194,254,1                        // cmpltps       %xmm6,%xmm7
+  .byte  15,84,253                           // andps         %xmm5,%xmm7
+  .byte  15,92,247                           // subps         %xmm7,%xmm6
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,85,16                           // mov           0x10(%ebp),%edx
+  .byte  139,117,20                          // mov           0x14(%ebp),%esi
+  .byte  15,88,192                           // addps         %xmm0,%xmm0
+  .byte  15,92,200                           // subps         %xmm0,%xmm1
+  .byte  15,40,69,24                         // movaps        0x18(%ebp),%xmm0
+  .byte  15,88,246                           // addps         %xmm6,%xmm6
+  .byte  15,92,214                           // subps         %xmm6,%xmm2
+  .byte  15,40,117,40                        // movaps        0x28(%ebp),%xmm6
+  .byte  15,88,212                           // addps         %xmm4,%xmm2
+  .byte  15,88,204                           // addps         %xmm4,%xmm1
+  .byte  15,40,160,6,30,0,0                  // movaps        0x1e06(%eax),%xmm4
+  .byte  15,84,204                           // andps         %xmm4,%xmm1
+  .byte  15,84,212                           // andps         %xmm4,%xmm2
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,95,212                           // maxps         %xmm4,%xmm2
+  .byte  15,95,204                           // maxps         %xmm4,%xmm1
+  .byte  15,40,101,56                        // movaps        0x38(%ebp),%xmm4
+  .byte  15,93,205                           // minps         %xmm5,%xmm1
+  .byte  15,93,213                           // minps         %xmm5,%xmm2
+  .byte  15,40,109,72                        // movaps        0x48(%ebp),%xmm5
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  141,120,4                           // lea           0x4(%eax),%edi
+  .byte  15,41,108,36,64                     // movaps        %xmm5,0x40(%esp)
+  .byte  15,41,100,36,48                     // movaps        %xmm4,0x30(%esp)
+  .byte  15,41,116,36,32                     // movaps        %xmm6,0x20(%esp)
+  .byte  15,41,68,36,16                      // movaps        %xmm0,0x10(%esp)
+  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
+  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
+  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
+  .byte  137,12,36                           // mov           %ecx,(%esp)
+  .byte  15,40,193                           // movaps        %xmm1,%xmm0
+  .byte  15,40,202                           // movaps        %xmm2,%xmm1
+  .byte  15,40,211                           // movaps        %xmm3,%xmm2
+  .byte  15,40,93,232                        // movaps        -0x18(%ebp),%xmm3
+  .byte  255,16                              // call          *(%eax)
+  .byte  131,196,96                          // add           $0x60,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_decal_x_sse2_lowp
+.globl _sk_decal_x_sse2_lowp
+FUNCTION(_sk_decal_x_sse2_lowp)
+_sk_decal_x_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,80                          // sub           $0x50,%esp
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,85,16                           // mov           0x10(%ebp),%edx
+  .byte  139,117,20                          // mov           0x14(%ebp),%esi
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  139,57                              // mov           (%ecx),%edi
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,87,237                           // xorps         %xmm5,%xmm5
+  .byte  15,194,233,2                        // cmpleps       %xmm1,%xmm5
+  .byte  242,15,112,237,232                  // pshuflw       $0xe8,%xmm5,%xmm5
+  .byte  243,15,112,237,232                  // pshufhw       $0xe8,%xmm5,%xmm5
+  .byte  102,15,112,237,232                  // pshufd        $0xe8,%xmm5,%xmm5
+  .byte  15,194,224,2                        // cmpleps       %xmm0,%xmm4
+  .byte  242,15,112,228,232                  // pshuflw       $0xe8,%xmm4,%xmm4
+  .byte  243,15,112,228,232                  // pshufhw       $0xe8,%xmm4,%xmm4
+  .byte  102,15,112,228,232                  // pshufd        $0xe8,%xmm4,%xmm4
+  .byte  102,15,108,229                      // punpcklqdq    %xmm5,%xmm4
+  .byte  243,15,16,111,64                    // movss         0x40(%edi),%xmm5
+  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
+  .byte  15,40,241                           // movaps        %xmm1,%xmm6
+  .byte  15,194,245,1                        // cmpltps       %xmm5,%xmm6
+  .byte  15,40,248                           // movaps        %xmm0,%xmm7
+  .byte  15,194,253,1                        // cmpltps       %xmm5,%xmm7
+  .byte  15,40,109,24                        // movaps        0x18(%ebp),%xmm5
+  .byte  242,15,112,246,232                  // pshuflw       $0xe8,%xmm6,%xmm6
+  .byte  243,15,112,246,232                  // pshufhw       $0xe8,%xmm6,%xmm6
+  .byte  102,15,112,246,232                  // pshufd        $0xe8,%xmm6,%xmm6
+  .byte  242,15,112,255,232                  // pshuflw       $0xe8,%xmm7,%xmm7
+  .byte  243,15,112,255,232                  // pshufhw       $0xe8,%xmm7,%xmm7
+  .byte  102,15,112,255,232                  // pshufd        $0xe8,%xmm7,%xmm7
+  .byte  102,15,108,254                      // punpcklqdq    %xmm6,%xmm7
+  .byte  15,40,117,40                        // movaps        0x28(%ebp),%xmm6
+  .byte  102,15,113,244,15                   // psllw         $0xf,%xmm4
+  .byte  102,15,113,228,15                   // psraw         $0xf,%xmm4
+  .byte  102,15,113,247,15                   // psllw         $0xf,%xmm7
+  .byte  102,15,113,231,15                   // psraw         $0xf,%xmm7
+  .byte  102,15,219,252                      // pand          %xmm4,%xmm7
+  .byte  15,40,101,56                        // movaps        0x38(%ebp),%xmm4
+  .byte  243,15,127,63                       // movdqu        %xmm7,(%edi)
+  .byte  15,40,125,72                        // movaps        0x48(%ebp),%xmm7
+  .byte  141,121,8                           // lea           0x8(%ecx),%edi
+  .byte  15,41,124,36,64                     // movaps        %xmm7,0x40(%esp)
+  .byte  15,41,100,36,48                     // movaps        %xmm4,0x30(%esp)
+  .byte  15,41,116,36,32                     // movaps        %xmm6,0x20(%esp)
+  .byte  15,41,108,36,16                     // movaps        %xmm5,0x10(%esp)
+  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
+  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
+  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  255,81,4                            // call          *0x4(%ecx)
+  .byte  131,196,80                          // add           $0x50,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_decal_y_sse2_lowp
+.globl _sk_decal_y_sse2_lowp
+FUNCTION(_sk_decal_y_sse2_lowp)
+_sk_decal_y_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,80                          // sub           $0x50,%esp
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,85,16                           // mov           0x10(%ebp),%edx
+  .byte  139,117,20                          // mov           0x14(%ebp),%esi
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  139,57                              // mov           (%ecx),%edi
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,87,237                           // xorps         %xmm5,%xmm5
+  .byte  15,194,235,2                        // cmpleps       %xmm3,%xmm5
+  .byte  242,15,112,237,232                  // pshuflw       $0xe8,%xmm5,%xmm5
+  .byte  243,15,112,237,232                  // pshufhw       $0xe8,%xmm5,%xmm5
+  .byte  102,15,112,237,232                  // pshufd        $0xe8,%xmm5,%xmm5
+  .byte  15,194,226,2                        // cmpleps       %xmm2,%xmm4
+  .byte  242,15,112,228,232                  // pshuflw       $0xe8,%xmm4,%xmm4
+  .byte  243,15,112,228,232                  // pshufhw       $0xe8,%xmm4,%xmm4
+  .byte  102,15,112,228,232                  // pshufd        $0xe8,%xmm4,%xmm4
+  .byte  102,15,108,229                      // punpcklqdq    %xmm5,%xmm4
+  .byte  243,15,16,111,68                    // movss         0x44(%edi),%xmm5
+  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
+  .byte  15,40,243                           // movaps        %xmm3,%xmm6
+  .byte  15,194,245,1                        // cmpltps       %xmm5,%xmm6
+  .byte  15,40,250                           // movaps        %xmm2,%xmm7
+  .byte  15,194,253,1                        // cmpltps       %xmm5,%xmm7
+  .byte  15,40,109,24                        // movaps        0x18(%ebp),%xmm5
+  .byte  242,15,112,246,232                  // pshuflw       $0xe8,%xmm6,%xmm6
+  .byte  243,15,112,246,232                  // pshufhw       $0xe8,%xmm6,%xmm6
+  .byte  102,15,112,246,232                  // pshufd        $0xe8,%xmm6,%xmm6
+  .byte  242,15,112,255,232                  // pshuflw       $0xe8,%xmm7,%xmm7
+  .byte  243,15,112,255,232                  // pshufhw       $0xe8,%xmm7,%xmm7
+  .byte  102,15,112,255,232                  // pshufd        $0xe8,%xmm7,%xmm7
+  .byte  102,15,108,254                      // punpcklqdq    %xmm6,%xmm7
+  .byte  15,40,117,40                        // movaps        0x28(%ebp),%xmm6
+  .byte  102,15,113,244,15                   // psllw         $0xf,%xmm4
+  .byte  102,15,113,228,15                   // psraw         $0xf,%xmm4
+  .byte  102,15,113,247,15                   // psllw         $0xf,%xmm7
+  .byte  102,15,113,231,15                   // psraw         $0xf,%xmm7
+  .byte  102,15,219,252                      // pand          %xmm4,%xmm7
+  .byte  15,40,101,56                        // movaps        0x38(%ebp),%xmm4
+  .byte  243,15,127,63                       // movdqu        %xmm7,(%edi)
+  .byte  15,40,125,72                        // movaps        0x48(%ebp),%xmm7
+  .byte  141,121,8                           // lea           0x8(%ecx),%edi
+  .byte  15,41,124,36,64                     // movaps        %xmm7,0x40(%esp)
+  .byte  15,41,100,36,48                     // movaps        %xmm4,0x30(%esp)
+  .byte  15,41,116,36,32                     // movaps        %xmm6,0x20(%esp)
+  .byte  15,41,108,36,16                     // movaps        %xmm5,0x10(%esp)
+  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
+  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
+  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  255,81,4                            // call          *0x4(%ecx)
+  .byte  131,196,80                          // add           $0x50,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_decal_x_and_y_sse2_lowp
+.globl _sk_decal_x_and_y_sse2_lowp
+FUNCTION(_sk_decal_x_and_y_sse2_lowp)
+_sk_decal_x_and_y_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,80                          // sub           $0x50,%esp
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,85,16                           // mov           0x10(%ebp),%edx
+  .byte  139,117,20                          // mov           0x14(%ebp),%esi
+  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
+  .byte  139,57                              // mov           (%ecx),%edi
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,194,225,2                        // cmpleps       %xmm1,%xmm4
+  .byte  242,15,112,228,232                  // pshuflw       $0xe8,%xmm4,%xmm4
+  .byte  243,15,112,228,232                  // pshufhw       $0xe8,%xmm4,%xmm4
+  .byte  102,15,112,236,232                  // pshufd        $0xe8,%xmm4,%xmm5
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  15,194,224,2                        // cmpleps       %xmm0,%xmm4
+  .byte  242,15,112,228,232                  // pshuflw       $0xe8,%xmm4,%xmm4
+  .byte  243,15,112,228,232                  // pshufhw       $0xe8,%xmm4,%xmm4
+  .byte  102,15,112,228,232                  // pshufd        $0xe8,%xmm4,%xmm4
+  .byte  102,15,108,229                      // punpcklqdq    %xmm5,%xmm4
+  .byte  243,15,16,111,64                    // movss         0x40(%edi),%xmm5
+  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
+  .byte  15,40,241                           // movaps        %xmm1,%xmm6
+  .byte  15,194,245,1                        // cmpltps       %xmm5,%xmm6
+  .byte  15,40,248                           // movaps        %xmm0,%xmm7
+  .byte  15,194,253,1                        // cmpltps       %xmm5,%xmm7
+  .byte  15,87,237                           // xorps         %xmm5,%xmm5
+  .byte  102,15,113,244,15                   // psllw         $0xf,%xmm4
+  .byte  102,15,113,228,15                   // psraw         $0xf,%xmm4
+  .byte  242,15,112,246,232                  // pshuflw       $0xe8,%xmm6,%xmm6
+  .byte  243,15,112,246,232                  // pshufhw       $0xe8,%xmm6,%xmm6
+  .byte  102,15,112,246,232                  // pshufd        $0xe8,%xmm6,%xmm6
+  .byte  242,15,112,255,232                  // pshuflw       $0xe8,%xmm7,%xmm7
+  .byte  243,15,112,255,232                  // pshufhw       $0xe8,%xmm7,%xmm7
+  .byte  102,15,112,255,232                  // pshufd        $0xe8,%xmm7,%xmm7
+  .byte  102,15,108,254                      // punpcklqdq    %xmm6,%xmm7
+  .byte  102,15,239,246                      // pxor          %xmm6,%xmm6
+  .byte  15,194,243,2                        // cmpleps       %xmm3,%xmm6
+  .byte  242,15,112,246,232                  // pshuflw       $0xe8,%xmm6,%xmm6
+  .byte  243,15,112,246,232                  // pshufhw       $0xe8,%xmm6,%xmm6
+  .byte  102,15,112,246,232                  // pshufd        $0xe8,%xmm6,%xmm6
+  .byte  15,194,234,2                        // cmpleps       %xmm2,%xmm5
+  .byte  242,15,112,237,232                  // pshuflw       $0xe8,%xmm5,%xmm5
+  .byte  243,15,112,237,232                  // pshufhw       $0xe8,%xmm5,%xmm5
+  .byte  102,15,112,237,232                  // pshufd        $0xe8,%xmm5,%xmm5
+  .byte  102,15,108,238                      // punpcklqdq    %xmm6,%xmm5
+  .byte  243,15,16,119,68                    // movss         0x44(%edi),%xmm6
+  .byte  102,15,113,247,15                   // psllw         $0xf,%xmm7
+  .byte  102,15,113,231,15                   // psraw         $0xf,%xmm7
+  .byte  102,15,113,245,15                   // psllw         $0xf,%xmm5
+  .byte  102,15,113,229,15                   // psraw         $0xf,%xmm5
+  .byte  102,15,219,236                      // pand          %xmm4,%xmm5
+  .byte  102,15,219,239                      // pand          %xmm7,%xmm5
+  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
+  .byte  15,40,227                           // movaps        %xmm3,%xmm4
+  .byte  15,194,230,1                        // cmpltps       %xmm6,%xmm4
+  .byte  15,40,250                           // movaps        %xmm2,%xmm7
+  .byte  15,194,254,1                        // cmpltps       %xmm6,%xmm7
+  .byte  15,40,117,24                        // movaps        0x18(%ebp),%xmm6
+  .byte  242,15,112,228,232                  // pshuflw       $0xe8,%xmm4,%xmm4
+  .byte  243,15,112,228,232                  // pshufhw       $0xe8,%xmm4,%xmm4
+  .byte  102,15,112,228,232                  // pshufd        $0xe8,%xmm4,%xmm4
+  .byte  242,15,112,255,232                  // pshuflw       $0xe8,%xmm7,%xmm7
+  .byte  243,15,112,255,232                  // pshufhw       $0xe8,%xmm7,%xmm7
+  .byte  102,15,112,255,232                  // pshufd        $0xe8,%xmm7,%xmm7
+  .byte  102,15,108,252                      // punpcklqdq    %xmm4,%xmm7
+  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
+  .byte  102,15,113,247,15                   // psllw         $0xf,%xmm7
+  .byte  102,15,113,231,15                   // psraw         $0xf,%xmm7
+  .byte  102,15,219,253                      // pand          %xmm5,%xmm7
+  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
+  .byte  243,15,127,63                       // movdqu        %xmm7,(%edi)
+  .byte  15,40,125,72                        // movaps        0x48(%ebp),%xmm7
+  .byte  141,121,8                           // lea           0x8(%ecx),%edi
+  .byte  15,41,124,36,64                     // movaps        %xmm7,0x40(%esp)
+  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
+  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
+  .byte  15,41,116,36,16                     // movaps        %xmm6,0x10(%esp)
+  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
+  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
+  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  255,81,4                            // call          *0x4(%ecx)
+  .byte  131,196,80                          // add           $0x50,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_check_decal_mask_sse2_lowp
+.globl _sk_check_decal_mask_sse2_lowp
+FUNCTION(_sk_check_decal_mask_sse2_lowp)
+_sk_check_decal_mask_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,80                          // sub           $0x50,%esp
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
+  .byte  139,85,20                           // mov           0x14(%ebp),%edx
+  .byte  15,40,101,24                        // movaps        0x18(%ebp),%xmm4
+  .byte  15,40,109,40                        // movaps        0x28(%ebp),%xmm5
+  .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
+  .byte  139,117,12                          // mov           0xc(%ebp),%esi
+  .byte  139,62                              // mov           (%esi),%edi
+  .byte  15,16,63                            // movups        (%edi),%xmm7
+  .byte  15,84,199                           // andps         %xmm7,%xmm0
+  .byte  15,84,207                           // andps         %xmm7,%xmm1
+  .byte  15,84,215                           // andps         %xmm7,%xmm2
+  .byte  15,84,223                           // andps         %xmm7,%xmm3
+  .byte  15,40,125,72                        // movaps        0x48(%ebp),%xmm7
+  .byte  141,126,8                           // lea           0x8(%esi),%edi
+  .byte  15,41,124,36,64                     // movaps        %xmm7,0x40(%esp)
+  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
+  .byte  15,41,108,36,32                     // movaps        %xmm5,0x20(%esp)
+  .byte  15,41,100,36,16                     // movaps        %xmm4,0x10(%esp)
+  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
+  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
+  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  255,86,4                            // call          *0x4(%esi)
+  .byte  131,196,80                          // add           $0x50,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_gradient_sse2_lowp
+.globl _sk_gradient_sse2_lowp
+FUNCTION(_sk_gradient_sse2_lowp)
+_sk_gradient_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  129,236,108,1,0,0                   // sub           $0x16c,%esp
+  .byte  232,0,0,0,0                         // call          f2f5 <_sk_gradient_sse2_lowp+0x11>
+  .byte  88                                  // pop           %eax
+  .byte  137,69,164                          // mov           %eax,-0x5c(%ebp)
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,0                               // mov           (%eax),%eax
+  .byte  137,198                             // mov           %eax,%esi
+  .byte  139,0                               // mov           (%eax),%eax
+  .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
+  .byte  131,248,2                           // cmp           $0x2,%eax
+  .byte  102,15,239,237                      // pxor          %xmm5,%xmm5
+  .byte  114,48                              // jb            f33f <_sk_gradient_sse2_lowp+0x5b>
+  .byte  139,78,36                           // mov           0x24(%esi),%ecx
+  .byte  72                                  // dec           %eax
+  .byte  131,193,4                           // add           $0x4,%ecx
+  .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
+  .byte  102,15,239,237                      // pxor          %xmm5,%xmm5
+  .byte  243,15,16,17                        // movss         (%ecx),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  15,40,218                           // movaps        %xmm2,%xmm3
+  .byte  15,194,216,2                        // cmpleps       %xmm0,%xmm3
+  .byte  102,15,250,251                      // psubd         %xmm3,%xmm7
+  .byte  15,194,209,2                        // cmpleps       %xmm1,%xmm2
+  .byte  102,15,250,234                      // psubd         %xmm2,%xmm5
+  .byte  131,193,4                           // add           $0x4,%ecx
+  .byte  72                                  // dec           %eax
+  .byte  117,223                             // jne           f31e <_sk_gradient_sse2_lowp+0x3a>
+  .byte  102,15,112,215,229                  // pshufd        $0xe5,%xmm7,%xmm2
+  .byte  102,15,112,223,78                   // pshufd        $0x4e,%xmm7,%xmm3
+  .byte  15,41,141,104,255,255,255           // movaps        %xmm1,-0x98(%ebp)
+  .byte  15,41,133,248,254,255,255           // movaps        %xmm0,-0x108(%ebp)
+  .byte  102,15,112,229,78                   // pshufd        $0x4e,%xmm5,%xmm4
+  .byte  102,15,126,225                      // movd          %xmm4,%ecx
+  .byte  137,77,136                          // mov           %ecx,-0x78(%ebp)
+  .byte  102,15,112,229,231                  // pshufd        $0xe7,%xmm5,%xmm4
+  .byte  102,15,126,226                      // movd          %xmm4,%edx
+  .byte  139,70,4                            // mov           0x4(%esi),%eax
+  .byte  243,15,16,36,144                    // movss         (%eax,%edx,4),%xmm4
+  .byte  137,85,232                          // mov           %edx,-0x18(%ebp)
+  .byte  243,15,16,52,136                    // movss         (%eax,%ecx,4),%xmm6
+  .byte  15,20,244                           // unpcklps      %xmm4,%xmm6
+  .byte  102,15,112,229,229                  // pshufd        $0xe5,%xmm5,%xmm4
+  .byte  102,15,126,233                      // movd          %xmm5,%ecx
+  .byte  137,77,168                          // mov           %ecx,-0x58(%ebp)
+  .byte  243,15,16,4,136                     // movss         (%eax,%ecx,4),%xmm0
+  .byte  102,15,126,225                      // movd          %xmm4,%ecx
+  .byte  137,77,184                          // mov           %ecx,-0x48(%ebp)
+  .byte  243,15,16,12,136                    // movss         (%eax,%ecx,4),%xmm1
+  .byte  15,20,193                           // unpcklps      %xmm1,%xmm0
+  .byte  102,15,112,207,231                  // pshufd        $0xe7,%xmm7,%xmm1
+  .byte  102,15,126,201                      // movd          %xmm1,%ecx
+  .byte  137,77,240                          // mov           %ecx,-0x10(%ebp)
+  .byte  243,15,16,12,136                    // movss         (%eax,%ecx,4),%xmm1
+  .byte  102,15,126,217                      // movd          %xmm3,%ecx
+  .byte  243,15,16,28,136                    // movss         (%eax,%ecx,4),%xmm3
+  .byte  137,207                             // mov           %ecx,%edi
+  .byte  137,125,200                         // mov           %edi,-0x38(%ebp)
+  .byte  102,15,126,249                      // movd          %xmm7,%ecx
+  .byte  137,77,236                          // mov           %ecx,-0x14(%ebp)
+  .byte  243,15,16,36,136                    // movss         (%eax,%ecx,4),%xmm4
+  .byte  137,117,228                         // mov           %esi,-0x1c(%ebp)
+  .byte  102,15,126,209                      // movd          %xmm2,%ecx
+  .byte  243,15,16,20,136                    // movss         (%eax,%ecx,4),%xmm2
+  .byte  137,203                             // mov           %ecx,%ebx
+  .byte  137,93,224                          // mov           %ebx,-0x20(%ebp)
+  .byte  102,15,20,198                       // unpcklpd      %xmm6,%xmm0
+  .byte  102,15,41,133,120,255,255,255       // movapd        %xmm0,-0x88(%ebp)
+  .byte  15,20,217                           // unpcklps      %xmm1,%xmm3
+  .byte  15,20,226                           // unpcklps      %xmm2,%xmm4
+  .byte  102,15,20,227                       // unpcklpd      %xmm3,%xmm4
+  .byte  139,70,8                            // mov           0x8(%esi),%eax
+  .byte  243,15,16,12,144                    // movss         (%eax,%edx,4),%xmm1
+  .byte  139,117,136                         // mov           -0x78(%ebp),%esi
+  .byte  243,15,16,28,176                    // movss         (%eax,%esi,4),%xmm3
+  .byte  15,20,217                           // unpcklps      %xmm1,%xmm3
+  .byte  139,77,168                          // mov           -0x58(%ebp),%ecx
+  .byte  243,15,16,4,136                     // movss         (%eax,%ecx,4),%xmm0
+  .byte  139,85,184                          // mov           -0x48(%ebp),%edx
+  .byte  243,15,16,12,144                    // movss         (%eax,%edx,4),%xmm1
+  .byte  15,20,193                           // unpcklps      %xmm1,%xmm0
+  .byte  102,15,20,195                       // unpcklpd      %xmm3,%xmm0
+  .byte  102,15,41,133,8,255,255,255         // movapd        %xmm0,-0xf8(%ebp)
+  .byte  139,85,240                          // mov           -0x10(%ebp),%edx
+  .byte  243,15,16,12,144                    // movss         (%eax,%edx,4),%xmm1
+  .byte  243,15,16,28,184                    // movss         (%eax,%edi,4),%xmm3
+  .byte  15,20,217                           // unpcklps      %xmm1,%xmm3
+  .byte  139,125,236                         // mov           -0x14(%ebp),%edi
+  .byte  243,15,16,44,184                    // movss         (%eax,%edi,4),%xmm5
+  .byte  243,15,16,12,152                    // movss         (%eax,%ebx,4),%xmm1
+  .byte  15,20,233                           // unpcklps      %xmm1,%xmm5
+  .byte  102,15,20,235                       // unpcklpd      %xmm3,%xmm5
+  .byte  139,93,228                          // mov           -0x1c(%ebp),%ebx
+  .byte  139,67,12                           // mov           0xc(%ebx),%eax
+  .byte  139,125,232                         // mov           -0x18(%ebp),%edi
+  .byte  243,15,16,12,184                    // movss         (%eax,%edi,4),%xmm1
+  .byte  243,15,16,52,176                    // movss         (%eax,%esi,4),%xmm6
+  .byte  15,20,241                           // unpcklps      %xmm1,%xmm6
+  .byte  243,15,16,28,136                    // movss         (%eax,%ecx,4),%xmm3
+  .byte  139,77,184                          // mov           -0x48(%ebp),%ecx
+  .byte  243,15,16,12,136                    // movss         (%eax,%ecx,4),%xmm1
+  .byte  15,20,217                           // unpcklps      %xmm1,%xmm3
+  .byte  102,15,20,222                       // unpcklpd      %xmm6,%xmm3
+  .byte  102,15,41,157,232,254,255,255       // movapd        %xmm3,-0x118(%ebp)
+  .byte  243,15,16,12,144                    // movss         (%eax,%edx,4),%xmm1
+  .byte  139,85,200                          // mov           -0x38(%ebp),%edx
+  .byte  243,15,16,52,144                    // movss         (%eax,%edx,4),%xmm6
+  .byte  15,20,241                           // unpcklps      %xmm1,%xmm6
+  .byte  139,117,236                         // mov           -0x14(%ebp),%esi
+  .byte  243,15,16,4,176                     // movss         (%eax,%esi,4),%xmm0
+  .byte  139,125,224                         // mov           -0x20(%ebp),%edi
+  .byte  243,15,16,60,184                    // movss         (%eax,%edi,4),%xmm7
+  .byte  15,20,199                           // unpcklps      %xmm7,%xmm0
+  .byte  102,15,20,198                       // unpcklpd      %xmm6,%xmm0
+  .byte  102,15,41,133,72,255,255,255        // movapd        %xmm0,-0xb8(%ebp)
+  .byte  139,67,16                           // mov           0x10(%ebx),%eax
+  .byte  139,93,232                          // mov           -0x18(%ebp),%ebx
+  .byte  243,15,16,52,152                    // movss         (%eax,%ebx,4),%xmm6
+  .byte  139,125,136                         // mov           -0x78(%ebp),%edi
+  .byte  243,15,16,60,184                    // movss         (%eax,%edi,4),%xmm7
+  .byte  15,20,254                           // unpcklps      %xmm6,%xmm7
+  .byte  139,125,168                         // mov           -0x58(%ebp),%edi
+  .byte  243,15,16,28,184                    // movss         (%eax,%edi,4),%xmm3
+  .byte  243,15,16,52,136                    // movss         (%eax,%ecx,4),%xmm6
+  .byte  15,20,222                           // unpcklps      %xmm6,%xmm3
+  .byte  102,15,20,223                       // unpcklpd      %xmm7,%xmm3
+  .byte  102,15,41,157,216,254,255,255       // movapd        %xmm3,-0x128(%ebp)
+  .byte  139,77,240                          // mov           -0x10(%ebp),%ecx
+  .byte  243,15,16,52,136                    // movss         (%eax,%ecx,4),%xmm6
+  .byte  243,15,16,60,144                    // movss         (%eax,%edx,4),%xmm7
+  .byte  15,20,254                           // unpcklps      %xmm6,%xmm7
+  .byte  243,15,16,52,176                    // movss         (%eax,%esi,4),%xmm6
+  .byte  139,125,224                         // mov           -0x20(%ebp),%edi
+  .byte  243,15,16,28,184                    // movss         (%eax,%edi,4),%xmm3
+  .byte  15,20,243                           // unpcklps      %xmm3,%xmm6
+  .byte  102,15,20,247                       // unpcklpd      %xmm7,%xmm6
+  .byte  139,85,228                          // mov           -0x1c(%ebp),%edx
+  .byte  139,66,20                           // mov           0x14(%edx),%eax
+  .byte  243,15,16,28,136                    // movss         (%eax,%ecx,4),%xmm3
+  .byte  139,77,200                          // mov           -0x38(%ebp),%ecx
+  .byte  243,15,16,60,136                    // movss         (%eax,%ecx,4),%xmm7
+  .byte  15,20,251                           // unpcklps      %xmm3,%xmm7
+  .byte  243,15,16,12,176                    // movss         (%eax,%esi,4),%xmm1
+  .byte  137,249                             // mov           %edi,%ecx
+  .byte  243,15,16,28,136                    // movss         (%eax,%ecx,4),%xmm3
+  .byte  137,206                             // mov           %ecx,%esi
+  .byte  15,20,203                           // unpcklps      %xmm3,%xmm1
+  .byte  102,15,20,207                       // unpcklpd      %xmm7,%xmm1
+  .byte  243,15,16,28,152                    // movss         (%eax,%ebx,4),%xmm3
+  .byte  139,77,136                          // mov           -0x78(%ebp),%ecx
+  .byte  243,15,16,60,136                    // movss         (%eax,%ecx,4),%xmm7
+  .byte  15,20,251                           // unpcklps      %xmm3,%xmm7
+  .byte  139,125,168                         // mov           -0x58(%ebp),%edi
+  .byte  243,15,16,20,184                    // movss         (%eax,%edi,4),%xmm2
+  .byte  139,125,184                         // mov           -0x48(%ebp),%edi
+  .byte  243,15,16,28,184                    // movss         (%eax,%edi,4),%xmm3
+  .byte  15,20,211                           // unpcklps      %xmm3,%xmm2
+  .byte  102,15,20,215                       // unpcklpd      %xmm7,%xmm2
+  .byte  139,66,24                           // mov           0x18(%edx),%eax
+  .byte  139,85,240                          // mov           -0x10(%ebp),%edx
+  .byte  243,15,16,28,144                    // movss         (%eax,%edx,4),%xmm3
+  .byte  139,93,200                          // mov           -0x38(%ebp),%ebx
+  .byte  243,15,16,60,152                    // movss         (%eax,%ebx,4),%xmm7
+  .byte  15,20,251                           // unpcklps      %xmm3,%xmm7
+  .byte  139,93,236                          // mov           -0x14(%ebp),%ebx
+  .byte  243,15,16,4,152                     // movss         (%eax,%ebx,4),%xmm0
+  .byte  243,15,16,28,176                    // movss         (%eax,%esi,4),%xmm3
+  .byte  15,20,195                           // unpcklps      %xmm3,%xmm0
+  .byte  102,15,20,199                       // unpcklpd      %xmm7,%xmm0
+  .byte  102,15,41,133,40,255,255,255        // movapd        %xmm0,-0xd8(%ebp)
+  .byte  139,117,232                         // mov           -0x18(%ebp),%esi
+  .byte  243,15,16,28,176                    // movss         (%eax,%esi,4),%xmm3
+  .byte  243,15,16,60,136                    // movss         (%eax,%ecx,4),%xmm7
+  .byte  15,20,251                           // unpcklps      %xmm3,%xmm7
+  .byte  139,77,168                          // mov           -0x58(%ebp),%ecx
+  .byte  243,15,16,4,136                     // movss         (%eax,%ecx,4),%xmm0
+  .byte  243,15,16,28,184                    // movss         (%eax,%edi,4),%xmm3
+  .byte  15,20,195                           // unpcklps      %xmm3,%xmm0
+  .byte  102,15,20,199                       // unpcklpd      %xmm7,%xmm0
+  .byte  102,15,41,133,88,255,255,255        // movapd        %xmm0,-0xa8(%ebp)
+  .byte  139,69,228                          // mov           -0x1c(%ebp),%eax
+  .byte  139,64,28                           // mov           0x1c(%eax),%eax
+  .byte  243,15,16,28,144                    // movss         (%eax,%edx,4),%xmm3
+  .byte  139,77,200                          // mov           -0x38(%ebp),%ecx
+  .byte  243,15,16,60,136                    // movss         (%eax,%ecx,4),%xmm7
+  .byte  15,20,251                           // unpcklps      %xmm3,%xmm7
+  .byte  243,15,16,4,152                     // movss         (%eax,%ebx,4),%xmm0
+  .byte  139,77,224                          // mov           -0x20(%ebp),%ecx
+  .byte  243,15,16,28,136                    // movss         (%eax,%ecx,4),%xmm3
+  .byte  15,20,195                           // unpcklps      %xmm3,%xmm0
+  .byte  102,15,20,199                       // unpcklpd      %xmm7,%xmm0
+  .byte  102,15,41,133,24,255,255,255        // movapd        %xmm0,-0xe8(%ebp)
+  .byte  139,117,232                         // mov           -0x18(%ebp),%esi
+  .byte  243,15,16,28,176                    // movss         (%eax,%esi,4),%xmm3
+  .byte  139,125,136                         // mov           -0x78(%ebp),%edi
+  .byte  243,15,16,60,184                    // movss         (%eax,%edi,4),%xmm7
+  .byte  15,20,251                           // unpcklps      %xmm3,%xmm7
+  .byte  139,93,168                          // mov           -0x58(%ebp),%ebx
+  .byte  243,15,16,4,152                     // movss         (%eax,%ebx,4),%xmm0
+  .byte  139,85,184                          // mov           -0x48(%ebp),%edx
+  .byte  243,15,16,28,144                    // movss         (%eax,%edx,4),%xmm3
+  .byte  15,20,195                           // unpcklps      %xmm3,%xmm0
+  .byte  102,15,20,199                       // unpcklpd      %xmm7,%xmm0
+  .byte  102,15,41,133,56,255,255,255        // movapd        %xmm0,-0xc8(%ebp)
+  .byte  139,69,228                          // mov           -0x1c(%ebp),%eax
+  .byte  139,64,32                           // mov           0x20(%eax),%eax
+  .byte  139,85,240                          // mov           -0x10(%ebp),%edx
+  .byte  243,15,16,28,144                    // movss         (%eax,%edx,4),%xmm3
+  .byte  139,85,200                          // mov           -0x38(%ebp),%edx
+  .byte  243,15,16,60,144                    // movss         (%eax,%edx,4),%xmm7
+  .byte  15,20,251                           // unpcklps      %xmm3,%xmm7
+  .byte  139,85,236                          // mov           -0x14(%ebp),%edx
+  .byte  243,15,16,4,144                     // movss         (%eax,%edx,4),%xmm0
+  .byte  243,15,16,28,136                    // movss         (%eax,%ecx,4),%xmm3
+  .byte  15,20,195                           // unpcklps      %xmm3,%xmm0
+  .byte  102,15,20,199                       // unpcklpd      %xmm7,%xmm0
+  .byte  102,15,41,69,200                    // movapd        %xmm0,-0x38(%ebp)
+  .byte  243,15,16,28,176                    // movss         (%eax,%esi,4),%xmm3
+  .byte  243,15,16,60,184                    // movss         (%eax,%edi,4),%xmm7
+  .byte  15,20,251                           // unpcklps      %xmm3,%xmm7
+  .byte  243,15,16,4,152                     // movss         (%eax,%ebx,4),%xmm0
+  .byte  139,77,184                          // mov           -0x48(%ebp),%ecx
+  .byte  243,15,16,28,136                    // movss         (%eax,%ecx,4),%xmm3
+  .byte  15,20,195                           // unpcklps      %xmm3,%xmm0
+  .byte  102,15,20,199                       // unpcklpd      %xmm7,%xmm0
+  .byte  102,15,41,69,184                    // movapd        %xmm0,-0x48(%ebp)
+  .byte  15,40,189,248,254,255,255           // movaps        -0x108(%ebp),%xmm7
+  .byte  15,89,231                           // mulps         %xmm7,%xmm4
+  .byte  15,88,225                           // addps         %xmm1,%xmm4
+  .byte  15,40,157,104,255,255,255           // movaps        -0x98(%ebp),%xmm3
+  .byte  15,40,133,120,255,255,255           // movaps        -0x88(%ebp),%xmm0
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  15,88,194                           // addps         %xmm2,%xmm0
+  .byte  139,69,164                          // mov           -0x5c(%ebp),%eax
+  .byte  15,40,136,59,21,0,0                 // movaps        0x153b(%eax),%xmm1
+  .byte  15,89,225                           // mulps         %xmm1,%xmm4
+  .byte  15,89,193                           // mulps         %xmm1,%xmm0
+  .byte  15,40,144,91,20,0,0                 // movaps        0x145b(%eax),%xmm2
+  .byte  15,88,194                           // addps         %xmm2,%xmm0
+  .byte  15,41,133,120,255,255,255           // movaps        %xmm0,-0x88(%ebp)
+  .byte  15,88,226                           // addps         %xmm2,%xmm4
+  .byte  243,15,91,196                       // cvttps2dq     %xmm4,%xmm0
+  .byte  242,15,112,192,232                  // pshuflw       $0xe8,%xmm0,%xmm0
+  .byte  243,15,112,192,232                  // pshufhw       $0xe8,%xmm0,%xmm0
+  .byte  102,15,112,224,232                  // pshufd        $0xe8,%xmm0,%xmm4
+  .byte  243,15,91,133,120,255,255,255       // cvttps2dq     -0x88(%ebp),%xmm0
+  .byte  242,15,112,192,232                  // pshuflw       $0xe8,%xmm0,%xmm0
+  .byte  243,15,112,192,232                  // pshufhw       $0xe8,%xmm0,%xmm0
+  .byte  102,15,112,192,232                  // pshufd        $0xe8,%xmm0,%xmm0
+  .byte  102,15,108,224                      // punpcklqdq    %xmm0,%xmm4
+  .byte  102,15,127,101,168                  // movdqa        %xmm4,-0x58(%ebp)
+  .byte  15,89,239                           // mulps         %xmm7,%xmm5
+  .byte  15,88,173,40,255,255,255            // addps         -0xd8(%ebp),%xmm5
+  .byte  15,40,133,8,255,255,255             // movaps        -0xf8(%ebp),%xmm0
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  15,88,133,88,255,255,255            // addps         -0xa8(%ebp),%xmm0
+  .byte  15,89,233                           // mulps         %xmm1,%xmm5
+  .byte  15,89,193                           // mulps         %xmm1,%xmm0
+  .byte  15,40,217                           // movaps        %xmm1,%xmm3
+  .byte  15,88,194                           // addps         %xmm2,%xmm0
+  .byte  15,40,224                           // movaps        %xmm0,%xmm4
+  .byte  15,88,234                           // addps         %xmm2,%xmm5
+  .byte  15,40,202                           // movaps        %xmm2,%xmm1
+  .byte  243,15,91,197                       // cvttps2dq     %xmm5,%xmm0
+  .byte  242,15,112,192,232                  // pshuflw       $0xe8,%xmm0,%xmm0
+  .byte  243,15,112,192,232                  // pshufhw       $0xe8,%xmm0,%xmm0
+  .byte  102,15,112,208,232                  // pshufd        $0xe8,%xmm0,%xmm2
+  .byte  243,15,91,196                       // cvttps2dq     %xmm4,%xmm0
+  .byte  242,15,112,192,232                  // pshuflw       $0xe8,%xmm0,%xmm0
+  .byte  243,15,112,192,232                  // pshufhw       $0xe8,%xmm0,%xmm0
+  .byte  102,15,112,192,232                  // pshufd        $0xe8,%xmm0,%xmm0
+  .byte  102,15,108,208                      // punpcklqdq    %xmm0,%xmm2
+  .byte  102,15,127,85,136                   // movdqa        %xmm2,-0x78(%ebp)
+  .byte  15,40,149,72,255,255,255            // movaps        -0xb8(%ebp),%xmm2
+  .byte  15,89,215                           // mulps         %xmm7,%xmm2
+  .byte  15,88,149,24,255,255,255            // addps         -0xe8(%ebp),%xmm2
+  .byte  15,40,133,232,254,255,255           // movaps        -0x118(%ebp),%xmm0
+  .byte  15,40,173,104,255,255,255           // movaps        -0x98(%ebp),%xmm5
+  .byte  15,89,197                           // mulps         %xmm5,%xmm0
+  .byte  15,88,133,56,255,255,255            // addps         -0xc8(%ebp),%xmm0
+  .byte  15,89,211                           // mulps         %xmm3,%xmm2
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  15,88,193                           // addps         %xmm1,%xmm0
+  .byte  15,40,224                           // movaps        %xmm0,%xmm4
+  .byte  15,88,209                           // addps         %xmm1,%xmm2
+  .byte  243,15,91,194                       // cvttps2dq     %xmm2,%xmm0
+  .byte  242,15,112,192,232                  // pshuflw       $0xe8,%xmm0,%xmm0
+  .byte  243,15,112,192,232                  // pshufhw       $0xe8,%xmm0,%xmm0
+  .byte  102,15,112,208,232                  // pshufd        $0xe8,%xmm0,%xmm2
+  .byte  243,15,91,196                       // cvttps2dq     %xmm4,%xmm0
+  .byte  242,15,112,192,232                  // pshuflw       $0xe8,%xmm0,%xmm0
+  .byte  243,15,112,192,232                  // pshufhw       $0xe8,%xmm0,%xmm0
+  .byte  102,15,112,192,232                  // pshufd        $0xe8,%xmm0,%xmm0
+  .byte  102,15,108,208                      // punpcklqdq    %xmm0,%xmm2
+  .byte  15,89,247                           // mulps         %xmm7,%xmm6
+  .byte  15,88,117,200                       // addps         -0x38(%ebp),%xmm6
+  .byte  15,40,133,216,254,255,255           // movaps        -0x128(%ebp),%xmm0
+  .byte  15,89,197                           // mulps         %xmm5,%xmm0
+  .byte  15,88,69,184                        // addps         -0x48(%ebp),%xmm0
+  .byte  15,89,243                           // mulps         %xmm3,%xmm6
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  15,88,193                           // addps         %xmm1,%xmm0
+  .byte  15,40,224                           // movaps        %xmm0,%xmm4
+  .byte  15,88,241                           // addps         %xmm1,%xmm6
+  .byte  243,15,91,198                       // cvttps2dq     %xmm6,%xmm0
+  .byte  242,15,112,192,232                  // pshuflw       $0xe8,%xmm0,%xmm0
+  .byte  243,15,112,192,232                  // pshufhw       $0xe8,%xmm0,%xmm0
+  .byte  102,15,112,216,232                  // pshufd        $0xe8,%xmm0,%xmm3
+  .byte  243,15,91,196                       // cvttps2dq     %xmm4,%xmm0
+  .byte  242,15,112,192,232                  // pshuflw       $0xe8,%xmm0,%xmm0
+  .byte  243,15,112,192,232                  // pshufhw       $0xe8,%xmm0,%xmm0
+  .byte  102,15,112,192,232                  // pshufd        $0xe8,%xmm0,%xmm0
+  .byte  102,15,108,216                      // punpcklqdq    %xmm0,%xmm3
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  137,193                             // mov           %eax,%ecx
+  .byte  141,65,8                            // lea           0x8(%ecx),%eax
+  .byte  15,40,69,72                         // movaps        0x48(%ebp),%xmm0
+  .byte  15,41,68,36,64                      // movaps        %xmm0,0x40(%esp)
+  .byte  15,40,69,56                         // movaps        0x38(%ebp),%xmm0
+  .byte  15,41,68,36,48                      // movaps        %xmm0,0x30(%esp)
+  .byte  15,40,69,40                         // movaps        0x28(%ebp),%xmm0
+  .byte  15,41,68,36,32                      // movaps        %xmm0,0x20(%esp)
+  .byte  15,40,69,24                         // movaps        0x18(%ebp),%xmm0
+  .byte  15,41,68,36,16                      // movaps        %xmm0,0x10(%esp)
+  .byte  139,85,20                           // mov           0x14(%ebp),%edx
+  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
+  .byte  139,85,16                           // mov           0x10(%ebp),%edx
+  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
+  .byte  137,68,36,4                         // mov           %eax,0x4(%esp)
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  15,40,69,168                        // movaps        -0x58(%ebp),%xmm0
+  .byte  15,40,77,136                        // movaps        -0x78(%ebp),%xmm1
+  .byte  255,81,4                            // call          *0x4(%ecx)
+  .byte  129,196,108,1,0,0                   // add           $0x16c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_evenly_spaced_gradient_sse2_lowp
+.globl _sk_evenly_spaced_gradient_sse2_lowp
+FUNCTION(_sk_evenly_spaced_gradient_sse2_lowp)
+_sk_evenly_spaced_gradient_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  129,236,92,1,0,0                    // sub           $0x15c,%esp
+  .byte  15,41,141,232,254,255,255           // movaps        %xmm1,-0x118(%ebp)
+  .byte  15,41,69,136                        // movaps        %xmm0,-0x78(%ebp)
+  .byte  232,0,0,0,0                         // call          f867 <_sk_evenly_spaced_gradient_sse2_lowp+0x1c>
+  .byte  90                                  // pop           %edx
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,48                              // mov           (%eax),%esi
+  .byte  139,14                              // mov           (%esi),%ecx
+  .byte  139,70,4                            // mov           0x4(%esi),%eax
+  .byte  137,243                             // mov           %esi,%ebx
+  .byte  73                                  // dec           %ecx
+  .byte  102,15,110,209                      // movd          %ecx,%xmm2
+  .byte  102,15,112,210,0                    // pshufd        $0x0,%xmm2,%xmm2
+  .byte  137,85,164                          // mov           %edx,-0x5c(%ebp)
+  .byte  102,15,111,154,169,20,0,0           // movdqa        0x14a9(%edx),%xmm3
+  .byte  102,15,219,218                      // pand          %xmm2,%xmm3
+  .byte  102,15,235,154,41,18,0,0            // por           0x1229(%edx),%xmm3
+  .byte  102,15,114,210,16                   // psrld         $0x10,%xmm2
+  .byte  102,15,235,146,185,20,0,0           // por           0x14b9(%edx),%xmm2
+  .byte  15,88,146,201,20,0,0                // addps         0x14c9(%edx),%xmm2
+  .byte  15,88,211                           // addps         %xmm3,%xmm2
+  .byte  15,40,216                           // movaps        %xmm0,%xmm3
+  .byte  15,89,218                           // mulps         %xmm2,%xmm3
+  .byte  15,89,209                           // mulps         %xmm1,%xmm2
+  .byte  243,15,91,194                       // cvttps2dq     %xmm2,%xmm0
+  .byte  243,15,91,203                       // cvttps2dq     %xmm3,%xmm1
+  .byte  102,15,112,209,229                  // pshufd        $0xe5,%xmm1,%xmm2
+  .byte  102,15,112,217,78                   // pshufd        $0x4e,%xmm1,%xmm3
+  .byte  102,15,112,225,231                  // pshufd        $0xe7,%xmm1,%xmm4
+  .byte  102,15,126,230                      // movd          %xmm4,%esi
+  .byte  102,15,112,232,229                  // pshufd        $0xe5,%xmm0,%xmm5
+  .byte  243,15,16,36,176                    // movss         (%eax,%esi,4),%xmm4
+  .byte  137,117,224                         // mov           %esi,-0x20(%ebp)
+  .byte  102,15,126,217                      // movd          %xmm3,%ecx
+  .byte  137,77,200                          // mov           %ecx,-0x38(%ebp)
+  .byte  243,15,16,28,136                    // movss         (%eax,%ecx,4),%xmm3
+  .byte  15,20,220                           // unpcklps      %xmm4,%xmm3
+  .byte  102,15,112,240,78                   // pshufd        $0x4e,%xmm0,%xmm6
+  .byte  102,15,126,201                      // movd          %xmm1,%ecx
+  .byte  243,15,16,60,136                    // movss         (%eax,%ecx,4),%xmm7
+  .byte  137,202                             // mov           %ecx,%edx
+  .byte  137,85,184                          // mov           %edx,-0x48(%ebp)
+  .byte  102,15,126,209                      // movd          %xmm2,%ecx
+  .byte  137,77,228                          // mov           %ecx,-0x1c(%ebp)
+  .byte  243,15,16,12,136                    // movss         (%eax,%ecx,4),%xmm1
+  .byte  15,20,249                           // unpcklps      %xmm1,%xmm7
+  .byte  102,15,112,200,231                  // pshufd        $0xe7,%xmm0,%xmm1
+  .byte  102,15,126,201                      // movd          %xmm1,%ecx
+  .byte  137,77,240                          // mov           %ecx,-0x10(%ebp)
+  .byte  243,15,16,12,136                    // movss         (%eax,%ecx,4),%xmm1
+  .byte  102,15,126,241                      // movd          %xmm6,%ecx
+  .byte  137,77,168                          // mov           %ecx,-0x58(%ebp)
+  .byte  243,15,16,20,136                    // movss         (%eax,%ecx,4),%xmm2
+  .byte  102,15,126,193                      // movd          %xmm0,%ecx
+  .byte  243,15,16,36,136                    // movss         (%eax,%ecx,4),%xmm4
+  .byte  137,207                             // mov           %ecx,%edi
+  .byte  137,125,232                         // mov           %edi,-0x18(%ebp)
+  .byte  102,15,126,233                      // movd          %xmm5,%ecx
+  .byte  137,77,236                          // mov           %ecx,-0x14(%ebp)
+  .byte  243,15,16,44,136                    // movss         (%eax,%ecx,4),%xmm5
+  .byte  102,15,20,251                       // unpcklpd      %xmm3,%xmm7
+  .byte  102,15,41,189,24,255,255,255        // movapd        %xmm7,-0xe8(%ebp)
+  .byte  15,20,209                           // unpcklps      %xmm1,%xmm2
+  .byte  15,20,229                           // unpcklps      %xmm5,%xmm4
+  .byte  102,15,20,226                       // unpcklpd      %xmm2,%xmm4
+  .byte  137,217                             // mov           %ebx,%ecx
+  .byte  137,77,220                          // mov           %ecx,-0x24(%ebp)
+  .byte  139,65,8                            // mov           0x8(%ecx),%eax
+  .byte  243,15,16,12,176                    // movss         (%eax,%esi,4),%xmm1
+  .byte  139,117,200                         // mov           -0x38(%ebp),%esi
+  .byte  243,15,16,20,176                    // movss         (%eax,%esi,4),%xmm2
+  .byte  15,20,209                           // unpcklps      %xmm1,%xmm2
+  .byte  243,15,16,4,144                     // movss         (%eax,%edx,4),%xmm0
+  .byte  139,93,228                          // mov           -0x1c(%ebp),%ebx
+  .byte  243,15,16,12,152                    // movss         (%eax,%ebx,4),%xmm1
+  .byte  15,20,193                           // unpcklps      %xmm1,%xmm0
+  .byte  102,15,20,194                       // unpcklpd      %xmm2,%xmm0
+  .byte  102,15,41,133,72,255,255,255        // movapd        %xmm0,-0xb8(%ebp)
+  .byte  139,85,240                          // mov           -0x10(%ebp),%edx
+  .byte  243,15,16,12,144                    // movss         (%eax,%edx,4),%xmm1
+  .byte  139,117,168                         // mov           -0x58(%ebp),%esi
+  .byte  243,15,16,20,176                    // movss         (%eax,%esi,4),%xmm2
+  .byte  15,20,209                           // unpcklps      %xmm1,%xmm2
+  .byte  243,15,16,12,184                    // movss         (%eax,%edi,4),%xmm1
+  .byte  139,125,236                         // mov           -0x14(%ebp),%edi
+  .byte  243,15,16,28,184                    // movss         (%eax,%edi,4),%xmm3
+  .byte  15,20,203                           // unpcklps      %xmm3,%xmm1
+  .byte  102,15,20,202                       // unpcklpd      %xmm2,%xmm1
+  .byte  139,65,12                           // mov           0xc(%ecx),%eax
+  .byte  139,85,224                          // mov           -0x20(%ebp),%edx
+  .byte  243,15,16,20,144                    // movss         (%eax,%edx,4),%xmm2
+  .byte  139,77,200                          // mov           -0x38(%ebp),%ecx
+  .byte  243,15,16,28,136                    // movss         (%eax,%ecx,4),%xmm3
+  .byte  15,20,218                           // unpcklps      %xmm2,%xmm3
+  .byte  139,77,184                          // mov           -0x48(%ebp),%ecx
+  .byte  243,15,16,20,136                    // movss         (%eax,%ecx,4),%xmm2
+  .byte  243,15,16,52,152                    // movss         (%eax,%ebx,4),%xmm6
+  .byte  15,20,214                           // unpcklps      %xmm6,%xmm2
+  .byte  102,15,20,211                       // unpcklpd      %xmm3,%xmm2
+  .byte  102,15,41,149,8,255,255,255         // movapd        %xmm2,-0xf8(%ebp)
+  .byte  139,93,240                          // mov           -0x10(%ebp),%ebx
+  .byte  243,15,16,28,152                    // movss         (%eax,%ebx,4),%xmm3
+  .byte  243,15,16,52,176                    // movss         (%eax,%esi,4),%xmm6
+  .byte  15,20,243                           // unpcklps      %xmm3,%xmm6
+  .byte  139,117,232                         // mov           -0x18(%ebp),%esi
+  .byte  243,15,16,60,176                    // movss         (%eax,%esi,4),%xmm7
+  .byte  243,15,16,28,184                    // movss         (%eax,%edi,4),%xmm3
+  .byte  15,20,251                           // unpcklps      %xmm3,%xmm7
+  .byte  102,15,20,254                       // unpcklpd      %xmm6,%xmm7
+  .byte  139,117,220                         // mov           -0x24(%ebp),%esi
+  .byte  139,70,16                           // mov           0x10(%esi),%eax
+  .byte  243,15,16,28,144                    // movss         (%eax,%edx,4),%xmm3
+  .byte  139,85,200                          // mov           -0x38(%ebp),%edx
+  .byte  243,15,16,52,144                    // movss         (%eax,%edx,4),%xmm6
+  .byte  15,20,243                           // unpcklps      %xmm3,%xmm6
+  .byte  139,85,184                          // mov           -0x48(%ebp),%edx
+  .byte  243,15,16,20,144                    // movss         (%eax,%edx,4),%xmm2
+  .byte  139,85,228                          // mov           -0x1c(%ebp),%edx
+  .byte  243,15,16,28,144                    // movss         (%eax,%edx,4),%xmm3
+  .byte  15,20,211                           // unpcklps      %xmm3,%xmm2
+  .byte  102,15,20,214                       // unpcklpd      %xmm6,%xmm2
+  .byte  102,15,41,149,248,254,255,255       // movapd        %xmm2,-0x108(%ebp)
+  .byte  243,15,16,28,152                    // movss         (%eax,%ebx,4),%xmm3
+  .byte  139,125,168                         // mov           -0x58(%ebp),%edi
+  .byte  243,15,16,52,184                    // movss         (%eax,%edi,4),%xmm6
+  .byte  15,20,243                           // unpcklps      %xmm3,%xmm6
+  .byte  139,85,232                          // mov           -0x18(%ebp),%edx
+  .byte  243,15,16,4,144                     // movss         (%eax,%edx,4),%xmm0
+  .byte  139,77,236                          // mov           -0x14(%ebp),%ecx
+  .byte  243,15,16,20,136                    // movss         (%eax,%ecx,4),%xmm2
+  .byte  15,20,194                           // unpcklps      %xmm2,%xmm0
+  .byte  102,15,20,198                       // unpcklpd      %xmm6,%xmm0
+  .byte  102,15,41,133,104,255,255,255       // movapd        %xmm0,-0x98(%ebp)
+  .byte  139,70,20                           // mov           0x14(%esi),%eax
+  .byte  243,15,16,20,152                    // movss         (%eax,%ebx,4),%xmm2
+  .byte  243,15,16,52,184                    // movss         (%eax,%edi,4),%xmm6
+  .byte  15,20,242                           // unpcklps      %xmm2,%xmm6
+  .byte  243,15,16,28,144                    // movss         (%eax,%edx,4),%xmm3
+  .byte  243,15,16,20,136                    // movss         (%eax,%ecx,4),%xmm2
+  .byte  15,20,218                           // unpcklps      %xmm2,%xmm3
+  .byte  102,15,20,222                       // unpcklpd      %xmm6,%xmm3
+  .byte  139,93,224                          // mov           -0x20(%ebp),%ebx
+  .byte  243,15,16,20,152                    // movss         (%eax,%ebx,4),%xmm2
+  .byte  139,125,200                         // mov           -0x38(%ebp),%edi
+  .byte  243,15,16,52,184                    // movss         (%eax,%edi,4),%xmm6
+  .byte  15,20,242                           // unpcklps      %xmm2,%xmm6
+  .byte  139,77,184                          // mov           -0x48(%ebp),%ecx
+  .byte  243,15,16,44,136                    // movss         (%eax,%ecx,4),%xmm5
+  .byte  139,77,228                          // mov           -0x1c(%ebp),%ecx
+  .byte  243,15,16,20,136                    // movss         (%eax,%ecx,4),%xmm2
+  .byte  15,20,234                           // unpcklps      %xmm2,%xmm5
+  .byte  102,15,20,238                       // unpcklpd      %xmm6,%xmm5
+  .byte  139,69,220                          // mov           -0x24(%ebp),%eax
+  .byte  139,64,24                           // mov           0x18(%eax),%eax
+  .byte  139,117,240                         // mov           -0x10(%ebp),%esi
+  .byte  243,15,16,20,176                    // movss         (%eax,%esi,4),%xmm2
+  .byte  139,117,168                         // mov           -0x58(%ebp),%esi
+  .byte  243,15,16,52,176                    // movss         (%eax,%esi,4),%xmm6
+  .byte  15,20,242                           // unpcklps      %xmm2,%xmm6
+  .byte  243,15,16,4,144                     // movss         (%eax,%edx,4),%xmm0
+  .byte  139,85,236                          // mov           -0x14(%ebp),%edx
+  .byte  243,15,16,20,144                    // movss         (%eax,%edx,4),%xmm2
+  .byte  15,20,194                           // unpcklps      %xmm2,%xmm0
+  .byte  102,15,20,198                       // unpcklpd      %xmm6,%xmm0
+  .byte  102,15,41,133,56,255,255,255        // movapd        %xmm0,-0xc8(%ebp)
+  .byte  243,15,16,20,152                    // movss         (%eax,%ebx,4),%xmm2
+  .byte  243,15,16,52,184                    // movss         (%eax,%edi,4),%xmm6
+  .byte  15,20,242                           // unpcklps      %xmm2,%xmm6
+  .byte  139,117,184                         // mov           -0x48(%ebp),%esi
+  .byte  243,15,16,4,176                     // movss         (%eax,%esi,4),%xmm0
+  .byte  243,15,16,20,136                    // movss         (%eax,%ecx,4),%xmm2
+  .byte  15,20,194                           // unpcklps      %xmm2,%xmm0
+  .byte  102,15,20,198                       // unpcklpd      %xmm6,%xmm0
+  .byte  102,15,41,133,120,255,255,255       // movapd        %xmm0,-0x88(%ebp)
+  .byte  139,125,220                         // mov           -0x24(%ebp),%edi
+  .byte  139,71,28                           // mov           0x1c(%edi),%eax
+  .byte  139,93,240                          // mov           -0x10(%ebp),%ebx
+  .byte  243,15,16,20,152                    // movss         (%eax,%ebx,4),%xmm2
+  .byte  139,77,168                          // mov           -0x58(%ebp),%ecx
+  .byte  243,15,16,52,136                    // movss         (%eax,%ecx,4),%xmm6
+  .byte  15,20,242                           // unpcklps      %xmm2,%xmm6
+  .byte  139,77,232                          // mov           -0x18(%ebp),%ecx
+  .byte  243,15,16,4,136                     // movss         (%eax,%ecx,4),%xmm0
+  .byte  243,15,16,20,144                    // movss         (%eax,%edx,4),%xmm2
+  .byte  15,20,194                           // unpcklps      %xmm2,%xmm0
+  .byte  102,15,20,198                       // unpcklpd      %xmm6,%xmm0
+  .byte  102,15,41,133,40,255,255,255        // movapd        %xmm0,-0xd8(%ebp)
+  .byte  139,77,224                          // mov           -0x20(%ebp),%ecx
+  .byte  243,15,16,20,136                    // movss         (%eax,%ecx,4),%xmm2
+  .byte  139,85,200                          // mov           -0x38(%ebp),%edx
+  .byte  243,15,16,52,144                    // movss         (%eax,%edx,4),%xmm6
+  .byte  15,20,242                           // unpcklps      %xmm2,%xmm6
+  .byte  243,15,16,4,176                     // movss         (%eax,%esi,4),%xmm0
+  .byte  139,117,228                         // mov           -0x1c(%ebp),%esi
+  .byte  243,15,16,20,176                    // movss         (%eax,%esi,4),%xmm2
+  .byte  15,20,194                           // unpcklps      %xmm2,%xmm0
+  .byte  102,15,20,198                       // unpcklpd      %xmm6,%xmm0
+  .byte  102,15,41,133,88,255,255,255        // movapd        %xmm0,-0xa8(%ebp)
+  .byte  139,71,32                           // mov           0x20(%edi),%eax
+  .byte  243,15,16,20,152                    // movss         (%eax,%ebx,4),%xmm2
+  .byte  139,125,168                         // mov           -0x58(%ebp),%edi
+  .byte  243,15,16,52,184                    // movss         (%eax,%edi,4),%xmm6
+  .byte  15,20,242                           // unpcklps      %xmm2,%xmm6
+  .byte  139,125,232                         // mov           -0x18(%ebp),%edi
+  .byte  243,15,16,4,184                     // movss         (%eax,%edi,4),%xmm0
+  .byte  139,125,236                         // mov           -0x14(%ebp),%edi
+  .byte  243,15,16,20,184                    // movss         (%eax,%edi,4),%xmm2
+  .byte  15,20,194                           // unpcklps      %xmm2,%xmm0
+  .byte  102,15,20,198                       // unpcklpd      %xmm6,%xmm0
+  .byte  102,15,41,69,168                    // movapd        %xmm0,-0x58(%ebp)
+  .byte  243,15,16,20,136                    // movss         (%eax,%ecx,4),%xmm2
+  .byte  243,15,16,52,144                    // movss         (%eax,%edx,4),%xmm6
+  .byte  15,20,242                           // unpcklps      %xmm2,%xmm6
+  .byte  139,77,184                          // mov           -0x48(%ebp),%ecx
+  .byte  243,15,16,4,136                     // movss         (%eax,%ecx,4),%xmm0
+  .byte  243,15,16,20,176                    // movss         (%eax,%esi,4),%xmm2
+  .byte  15,20,194                           // unpcklps      %xmm2,%xmm0
+  .byte  102,15,20,198                       // unpcklpd      %xmm6,%xmm0
+  .byte  102,15,41,69,200                    // movapd        %xmm0,-0x38(%ebp)
+  .byte  15,40,181,232,254,255,255           // movaps        -0x118(%ebp),%xmm6
+  .byte  15,89,230                           // mulps         %xmm6,%xmm4
+  .byte  15,88,227                           // addps         %xmm3,%xmm4
+  .byte  15,40,133,24,255,255,255            // movaps        -0xe8(%ebp),%xmm0
+  .byte  15,89,69,136                        // mulps         -0x78(%ebp),%xmm0
+  .byte  15,88,197                           // addps         %xmm5,%xmm0
+  .byte  139,69,164                          // mov           -0x5c(%ebp),%eax
+  .byte  15,40,152,201,15,0,0                // movaps        0xfc9(%eax),%xmm3
+  .byte  15,89,227                           // mulps         %xmm3,%xmm4
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  15,40,168,233,14,0,0                // movaps        0xee9(%eax),%xmm5
+  .byte  15,88,197                           // addps         %xmm5,%xmm0
+  .byte  15,40,208                           // movaps        %xmm0,%xmm2
+  .byte  15,88,229                           // addps         %xmm5,%xmm4
+  .byte  243,15,91,196                       // cvttps2dq     %xmm4,%xmm0
+  .byte  242,15,112,192,232                  // pshuflw       $0xe8,%xmm0,%xmm0
+  .byte  243,15,112,192,232                  // pshufhw       $0xe8,%xmm0,%xmm0
+  .byte  102,15,112,192,232                  // pshufd        $0xe8,%xmm0,%xmm0
+  .byte  243,15,91,210                       // cvttps2dq     %xmm2,%xmm2
+  .byte  242,15,112,210,232                  // pshuflw       $0xe8,%xmm2,%xmm2
+  .byte  243,15,112,210,232                  // pshufhw       $0xe8,%xmm2,%xmm2
+  .byte  102,15,112,210,232                  // pshufd        $0xe8,%xmm2,%xmm2
+  .byte  102,15,108,208                      // punpcklqdq    %xmm0,%xmm2
+  .byte  102,15,127,85,184                   // movdqa        %xmm2,-0x48(%ebp)
+  .byte  15,89,206                           // mulps         %xmm6,%xmm1
+  .byte  15,40,230                           // movaps        %xmm6,%xmm4
+  .byte  15,88,141,56,255,255,255            // addps         -0xc8(%ebp),%xmm1
+  .byte  15,40,85,136                        // movaps        -0x78(%ebp),%xmm2
+  .byte  15,40,133,72,255,255,255            // movaps        -0xb8(%ebp),%xmm0
+  .byte  15,89,194                           // mulps         %xmm2,%xmm0
+  .byte  15,88,133,120,255,255,255           // addps         -0x88(%ebp),%xmm0
+  .byte  15,89,203                           // mulps         %xmm3,%xmm1
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  15,88,197                           // addps         %xmm5,%xmm0
+  .byte  15,40,240                           // movaps        %xmm0,%xmm6
+  .byte  15,88,205                           // addps         %xmm5,%xmm1
+  .byte  243,15,91,193                       // cvttps2dq     %xmm1,%xmm0
+  .byte  242,15,112,192,232                  // pshuflw       $0xe8,%xmm0,%xmm0
+  .byte  243,15,112,192,232                  // pshufhw       $0xe8,%xmm0,%xmm0
+  .byte  102,15,112,192,232                  // pshufd        $0xe8,%xmm0,%xmm0
+  .byte  243,15,91,206                       // cvttps2dq     %xmm6,%xmm1
+  .byte  242,15,112,201,232                  // pshuflw       $0xe8,%xmm1,%xmm1
+  .byte  243,15,112,201,232                  // pshufhw       $0xe8,%xmm1,%xmm1
+  .byte  102,15,112,241,232                  // pshufd        $0xe8,%xmm1,%xmm6
+  .byte  102,15,108,240                      // punpcklqdq    %xmm0,%xmm6
+  .byte  15,89,252                           // mulps         %xmm4,%xmm7
+  .byte  15,88,189,40,255,255,255            // addps         -0xd8(%ebp),%xmm7
+  .byte  15,40,133,8,255,255,255             // movaps        -0xf8(%ebp),%xmm0
+  .byte  15,89,194                           // mulps         %xmm2,%xmm0
+  .byte  15,88,133,88,255,255,255            // addps         -0xa8(%ebp),%xmm0
+  .byte  15,89,251                           // mulps         %xmm3,%xmm7
+  .byte  15,89,195                           // mulps         %xmm3,%xmm0
+  .byte  15,88,197                           // addps         %xmm5,%xmm0
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  15,88,253                           // addps         %xmm5,%xmm7
+  .byte  243,15,91,199                       // cvttps2dq     %xmm7,%xmm0
+  .byte  242,15,112,192,232                  // pshuflw       $0xe8,%xmm0,%xmm0
+  .byte  243,15,112,192,232                  // pshufhw       $0xe8,%xmm0,%xmm0
+  .byte  102,15,112,192,232                  // pshufd        $0xe8,%xmm0,%xmm0
+  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
+  .byte  242,15,112,201,232                  // pshuflw       $0xe8,%xmm1,%xmm1
+  .byte  243,15,112,201,232                  // pshufhw       $0xe8,%xmm1,%xmm1
+  .byte  102,15,112,209,232                  // pshufd        $0xe8,%xmm1,%xmm2
+  .byte  102,15,108,208                      // punpcklqdq    %xmm0,%xmm2
+  .byte  15,40,189,104,255,255,255           // movaps        -0x98(%ebp),%xmm7
+  .byte  15,89,252                           // mulps         %xmm4,%xmm7
+  .byte  15,88,125,168                       // addps         -0x58(%ebp),%xmm7
+  .byte  15,40,165,248,254,255,255           // movaps        -0x108(%ebp),%xmm4
+  .byte  15,89,101,136                       // mulps         -0x78(%ebp),%xmm4
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
+  .byte  139,85,20                           // mov           0x14(%ebp),%edx
+  .byte  15,88,101,200                       // addps         -0x38(%ebp),%xmm4
+  .byte  15,89,251                           // mulps         %xmm3,%xmm7
+  .byte  15,89,227                           // mulps         %xmm3,%xmm4
+  .byte  15,40,77,40                         // movaps        0x28(%ebp),%xmm1
+  .byte  15,88,229                           // addps         %xmm5,%xmm4
+  .byte  15,88,253                           // addps         %xmm5,%xmm7
+  .byte  15,40,69,56                         // movaps        0x38(%ebp),%xmm0
+  .byte  243,15,91,223                       // cvttps2dq     %xmm7,%xmm3
+  .byte  242,15,112,219,232                  // pshuflw       $0xe8,%xmm3,%xmm3
+  .byte  243,15,112,219,232                  // pshufhw       $0xe8,%xmm3,%xmm3
+  .byte  102,15,112,251,232                  // pshufd        $0xe8,%xmm3,%xmm7
+  .byte  243,15,91,220                       // cvttps2dq     %xmm4,%xmm3
+  .byte  242,15,112,219,232                  // pshuflw       $0xe8,%xmm3,%xmm3
+  .byte  243,15,112,219,232                  // pshufhw       $0xe8,%xmm3,%xmm3
+  .byte  102,15,112,219,232                  // pshufd        $0xe8,%xmm3,%xmm3
+  .byte  102,15,108,223                      // punpcklqdq    %xmm7,%xmm3
+  .byte  15,40,125,72                        // movaps        0x48(%ebp),%xmm7
+  .byte  139,125,12                          // mov           0xc(%ebp),%edi
+  .byte  141,119,8                           // lea           0x8(%edi),%esi
+  .byte  15,41,124,36,64                     // movaps        %xmm7,0x40(%esp)
+  .byte  15,41,68,36,48                      // movaps        %xmm0,0x30(%esp)
+  .byte  15,41,76,36,32                      // movaps        %xmm1,0x20(%esp)
+  .byte  15,40,69,24                         // movaps        0x18(%ebp),%xmm0
+  .byte  15,41,68,36,16                      // movaps        %xmm0,0x10(%esp)
+  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
+  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
+  .byte  137,116,36,4                        // mov           %esi,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  15,40,69,184                        // movaps        -0x48(%ebp),%xmm0
+  .byte  102,15,111,206                      // movdqa        %xmm6,%xmm1
+  .byte  255,87,4                            // call          *0x4(%edi)
+  .byte  129,196,92,1,0,0                    // add           $0x15c,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_evenly_spaced_2_stop_gradient_sse2_lowp
+.globl _sk_evenly_spaced_2_stop_gradient_sse2_lowp
+FUNCTION(_sk_evenly_spaced_2_stop_gradient_sse2_lowp)
+_sk_evenly_spaced_2_stop_gradient_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,96                          // sub           $0x60,%esp
+  .byte  15,40,241                           // movaps        %xmm1,%xmm6
+  .byte  232,0,0,0,0                         // call          fda6 <_sk_evenly_spaced_2_stop_gradient_sse2_lowp+0x10>
+  .byte  90                                  // pop           %edx
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  243,15,16,33                        // movss         (%ecx),%xmm4
+  .byte  243,15,16,81,4                      // movss         0x4(%ecx),%xmm2
+  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
+  .byte  243,15,16,89,16                     // movss         0x10(%ecx),%xmm3
+  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
+  .byte  15,40,238                           // movaps        %xmm6,%xmm5
+  .byte  15,89,236                           // mulps         %xmm4,%xmm5
+  .byte  15,89,224                           // mulps         %xmm0,%xmm4
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  15,88,227                           // addps         %xmm3,%xmm4
+  .byte  15,88,235                           // addps         %xmm3,%xmm5
+  .byte  15,40,154,138,10,0,0                // movaps        0xa8a(%edx),%xmm3
+  .byte  15,89,235                           // mulps         %xmm3,%xmm5
+  .byte  15,89,227                           // mulps         %xmm3,%xmm4
+  .byte  15,40,130,170,9,0,0                 // movaps        0x9aa(%edx),%xmm0
+  .byte  15,88,224                           // addps         %xmm0,%xmm4
+  .byte  15,88,232                           // addps         %xmm0,%xmm5
+  .byte  243,15,91,237                       // cvttps2dq     %xmm5,%xmm5
+  .byte  242,15,112,237,232                  // pshuflw       $0xe8,%xmm5,%xmm5
+  .byte  243,15,112,237,232                  // pshufhw       $0xe8,%xmm5,%xmm5
+  .byte  102,15,112,237,232                  // pshufd        $0xe8,%xmm5,%xmm5
+  .byte  243,15,91,228                       // cvttps2dq     %xmm4,%xmm4
+  .byte  242,15,112,228,232                  // pshuflw       $0xe8,%xmm4,%xmm4
+  .byte  243,15,112,228,232                  // pshufhw       $0xe8,%xmm4,%xmm4
+  .byte  102,15,112,228,232                  // pshufd        $0xe8,%xmm4,%xmm4
+  .byte  102,15,108,229                      // punpcklqdq    %xmm5,%xmm4
+  .byte  102,15,127,101,232                  // movdqa        %xmm4,-0x18(%ebp)
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  243,15,16,105,20                    // movss         0x14(%ecx),%xmm5
+  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
+  .byte  15,40,254                           // movaps        %xmm6,%xmm7
+  .byte  15,89,250                           // mulps         %xmm2,%xmm7
+  .byte  15,89,209                           // mulps         %xmm1,%xmm2
+  .byte  15,40,225                           // movaps        %xmm1,%xmm4
+  .byte  15,88,213                           // addps         %xmm5,%xmm2
+  .byte  15,88,253                           // addps         %xmm5,%xmm7
+  .byte  15,89,251                           // mulps         %xmm3,%xmm7
+  .byte  15,89,211                           // mulps         %xmm3,%xmm2
+  .byte  15,88,208                           // addps         %xmm0,%xmm2
+  .byte  15,88,248                           // addps         %xmm0,%xmm7
+  .byte  243,15,91,239                       // cvttps2dq     %xmm7,%xmm5
+  .byte  242,15,112,237,232                  // pshuflw       $0xe8,%xmm5,%xmm5
+  .byte  243,15,112,237,232                  // pshufhw       $0xe8,%xmm5,%xmm5
+  .byte  102,15,112,253,232                  // pshufd        $0xe8,%xmm5,%xmm7
+  .byte  243,15,91,210                       // cvttps2dq     %xmm2,%xmm2
+  .byte  242,15,112,210,232                  // pshuflw       $0xe8,%xmm2,%xmm2
+  .byte  243,15,112,210,232                  // pshufhw       $0xe8,%xmm2,%xmm2
+  .byte  102,15,112,234,232                  // pshufd        $0xe8,%xmm2,%xmm5
+  .byte  102,15,108,239                      // punpcklqdq    %xmm7,%xmm5
+  .byte  243,15,16,81,8                      // movss         0x8(%ecx),%xmm2
+  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
+  .byte  243,15,16,121,24                    // movss         0x18(%ecx),%xmm7
+  .byte  15,198,255,0                        // shufps        $0x0,%xmm7,%xmm7
+  .byte  15,40,206                           // movaps        %xmm6,%xmm1
+  .byte  15,89,202                           // mulps         %xmm2,%xmm1
+  .byte  15,89,212                           // mulps         %xmm4,%xmm2
+  .byte  15,88,215                           // addps         %xmm7,%xmm2
+  .byte  15,88,207                           // addps         %xmm7,%xmm1
+  .byte  139,85,8                            // mov           0x8(%ebp),%edx
+  .byte  139,117,16                          // mov           0x10(%ebp),%esi
+  .byte  139,125,20                          // mov           0x14(%ebp),%edi
+  .byte  15,89,203                           // mulps         %xmm3,%xmm1
+  .byte  15,89,211                           // mulps         %xmm3,%xmm2
+  .byte  15,88,208                           // addps         %xmm0,%xmm2
+  .byte  15,88,200                           // addps         %xmm0,%xmm1
+  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
+  .byte  242,15,112,201,232                  // pshuflw       $0xe8,%xmm1,%xmm1
+  .byte  243,15,112,201,232                  // pshufhw       $0xe8,%xmm1,%xmm1
+  .byte  102,15,112,201,232                  // pshufd        $0xe8,%xmm1,%xmm1
+  .byte  243,15,91,210                       // cvttps2dq     %xmm2,%xmm2
+  .byte  242,15,112,210,232                  // pshuflw       $0xe8,%xmm2,%xmm2
+  .byte  243,15,112,210,232                  // pshufhw       $0xe8,%xmm2,%xmm2
+  .byte  102,15,112,210,232                  // pshufd        $0xe8,%xmm2,%xmm2
+  .byte  102,15,108,209                      // punpcklqdq    %xmm1,%xmm2
+  .byte  243,15,16,73,12                     // movss         0xc(%ecx),%xmm1
+  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
+  .byte  15,89,241                           // mulps         %xmm1,%xmm6
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  243,15,16,121,28                    // movss         0x1c(%ecx),%xmm7
+  .byte  15,198,255,0                        // shufps        $0x0,%xmm7,%xmm7
+  .byte  15,88,207                           // addps         %xmm7,%xmm1
+  .byte  15,88,247                           // addps         %xmm7,%xmm6
+  .byte  15,40,101,24                        // movaps        0x18(%ebp),%xmm4
+  .byte  15,89,243                           // mulps         %xmm3,%xmm6
+  .byte  15,89,203                           // mulps         %xmm3,%xmm1
+  .byte  15,40,125,40                        // movaps        0x28(%ebp),%xmm7
+  .byte  15,88,200                           // addps         %xmm0,%xmm1
+  .byte  15,88,240                           // addps         %xmm0,%xmm6
+  .byte  15,40,69,56                         // movaps        0x38(%ebp),%xmm0
+  .byte  243,15,91,222                       // cvttps2dq     %xmm6,%xmm3
+  .byte  242,15,112,219,232                  // pshuflw       $0xe8,%xmm3,%xmm3
+  .byte  243,15,112,219,232                  // pshufhw       $0xe8,%xmm3,%xmm3
+  .byte  102,15,112,243,232                  // pshufd        $0xe8,%xmm3,%xmm6
+  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
+  .byte  242,15,112,201,232                  // pshuflw       $0xe8,%xmm1,%xmm1
+  .byte  243,15,112,201,232                  // pshufhw       $0xe8,%xmm1,%xmm1
+  .byte  102,15,112,217,232                  // pshufd        $0xe8,%xmm1,%xmm3
+  .byte  102,15,108,222                      // punpcklqdq    %xmm6,%xmm3
+  .byte  15,40,77,72                         // movaps        0x48(%ebp),%xmm1
+  .byte  141,72,8                            // lea           0x8(%eax),%ecx
+  .byte  15,41,76,36,64                      // movaps        %xmm1,0x40(%esp)
+  .byte  15,41,68,36,48                      // movaps        %xmm0,0x30(%esp)
+  .byte  15,41,124,36,32                     // movaps        %xmm7,0x20(%esp)
+  .byte  15,41,100,36,16                     // movaps        %xmm4,0x10(%esp)
+  .byte  137,124,36,12                       // mov           %edi,0xc(%esp)
+  .byte  137,116,36,8                        // mov           %esi,0x8(%esp)
+  .byte  137,76,36,4                         // mov           %ecx,0x4(%esp)
+  .byte  137,20,36                           // mov           %edx,(%esp)
+  .byte  15,40,69,232                        // movaps        -0x18(%ebp),%xmm0
+  .byte  102,15,111,205                      // movdqa        %xmm5,%xmm1
+  .byte  255,80,4                            // call          *0x4(%eax)
+  .byte  131,196,96                          // add           $0x60,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_xy_to_unit_angle_sse2_lowp
+.globl _sk_xy_to_unit_angle_sse2_lowp
+FUNCTION(_sk_xy_to_unit_angle_sse2_lowp)
+_sk_xy_to_unit_angle_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  129,236,160,0,0,0                   // sub           $0xa0,%esp
+  .byte  15,41,93,168                        // movaps        %xmm3,-0x58(%ebp)
+  .byte  15,41,85,232                        // movaps        %xmm2,-0x18(%ebp)
+  .byte  15,41,77,184                        // movaps        %xmm1,-0x48(%ebp)
+  .byte  15,40,208                           // movaps        %xmm0,%xmm2
+  .byte  15,41,85,200                        // movaps        %xmm2,-0x38(%ebp)
+  .byte  232,0,0,0,0                         // call          ff91 <_sk_xy_to_unit_angle_sse2_lowp+0x23>
+  .byte  88                                  // pop           %eax
+  .byte  15,40,128,15,13,0,0                 // movaps        0xd0f(%eax),%xmm0
+  .byte  15,40,225                           // movaps        %xmm1,%xmm4
+  .byte  15,84,224                           // andps         %xmm0,%xmm4
+  .byte  15,40,203                           // movaps        %xmm3,%xmm1
+  .byte  15,84,200                           // andps         %xmm0,%xmm1
+  .byte  15,40,236                           // movaps        %xmm4,%xmm5
+  .byte  15,194,233,1                        // cmpltps       %xmm1,%xmm5
+  .byte  15,40,245                           // movaps        %xmm5,%xmm6
+  .byte  15,85,241                           // andnps        %xmm1,%xmm6
+  .byte  15,40,221                           // movaps        %xmm5,%xmm3
+  .byte  15,85,220                           // andnps        %xmm4,%xmm3
+  .byte  15,41,93,216                        // movaps        %xmm3,-0x28(%ebp)
+  .byte  15,84,229                           // andps         %xmm5,%xmm4
+  .byte  15,86,230                           // orps          %xmm6,%xmm4
+  .byte  15,40,250                           // movaps        %xmm2,%xmm7
+  .byte  15,84,248                           // andps         %xmm0,%xmm7
+  .byte  15,84,69,232                        // andps         -0x18(%ebp),%xmm0
+  .byte  15,40,215                           // movaps        %xmm7,%xmm2
+  .byte  15,194,208,1                        // cmpltps       %xmm0,%xmm2
+  .byte  15,40,242                           // movaps        %xmm2,%xmm6
+  .byte  15,85,240                           // andnps        %xmm0,%xmm6
+  .byte  15,40,218                           // movaps        %xmm2,%xmm3
+  .byte  15,85,223                           // andnps        %xmm7,%xmm3
+  .byte  15,84,250                           // andps         %xmm2,%xmm7
+  .byte  15,86,254                           // orps          %xmm6,%xmm7
+  .byte  15,84,205                           // andps         %xmm5,%xmm1
+  .byte  15,86,77,216                        // orps          -0x28(%ebp),%xmm1
+  .byte  15,94,225                           // divps         %xmm1,%xmm4
+  .byte  15,84,194                           // andps         %xmm2,%xmm0
+  .byte  15,86,195                           // orps          %xmm3,%xmm0
+  .byte  15,94,248                           // divps         %xmm0,%xmm7
+  .byte  15,40,220                           // movaps        %xmm4,%xmm3
+  .byte  15,89,219                           // mulps         %xmm3,%xmm3
+  .byte  15,40,247                           // movaps        %xmm7,%xmm6
+  .byte  15,89,246                           // mulps         %xmm6,%xmm6
+  .byte  15,40,136,175,13,0,0                // movaps        0xdaf(%eax),%xmm1
+  .byte  15,40,198                           // movaps        %xmm6,%xmm0
+  .byte  15,89,193                           // mulps         %xmm1,%xmm0
+  .byte  15,89,203                           // mulps         %xmm3,%xmm1
+  .byte  15,88,136,191,13,0,0                // addps         0xdbf(%eax),%xmm1
+  .byte  15,88,128,191,13,0,0                // addps         0xdbf(%eax),%xmm0
+  .byte  15,89,198                           // mulps         %xmm6,%xmm0
+  .byte  15,89,203                           // mulps         %xmm3,%xmm1
+  .byte  15,88,136,207,13,0,0                // addps         0xdcf(%eax),%xmm1
+  .byte  15,88,128,207,13,0,0                // addps         0xdcf(%eax),%xmm0
+  .byte  15,89,198                           // mulps         %xmm6,%xmm0
+  .byte  15,89,203                           // mulps         %xmm3,%xmm1
+  .byte  15,40,152,223,13,0,0                // movaps        0xddf(%eax),%xmm3
+  .byte  15,88,203                           // addps         %xmm3,%xmm1
+  .byte  15,88,195                           // addps         %xmm3,%xmm0
+  .byte  15,89,199                           // mulps         %xmm7,%xmm0
+  .byte  15,89,204                           // mulps         %xmm4,%xmm1
+  .byte  15,40,152,239,13,0,0                // movaps        0xdef(%eax),%xmm3
+  .byte  15,40,227                           // movaps        %xmm3,%xmm4
+  .byte  15,92,216                           // subps         %xmm0,%xmm3
+  .byte  15,84,218                           // andps         %xmm2,%xmm3
+  .byte  15,85,208                           // andnps        %xmm0,%xmm2
+  .byte  15,86,211                           // orps          %xmm3,%xmm2
+  .byte  15,92,225                           // subps         %xmm1,%xmm4
+  .byte  15,84,229                           // andps         %xmm5,%xmm4
+  .byte  15,85,233                           // andnps        %xmm1,%xmm5
+  .byte  15,86,236                           // orps          %xmm4,%xmm5
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  15,40,93,200                        // movaps        -0x38(%ebp),%xmm3
+  .byte  15,194,220,1                        // cmpltps       %xmm4,%xmm3
+  .byte  15,40,128,191,7,0,0                 // movaps        0x7bf(%eax),%xmm0
+  .byte  15,40,200                           // movaps        %xmm0,%xmm1
+  .byte  15,92,194                           // subps         %xmm2,%xmm0
+  .byte  15,84,195                           // andps         %xmm3,%xmm0
+  .byte  15,85,218                           // andnps        %xmm2,%xmm3
+  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
+  .byte  139,85,16                           // mov           0x10(%ebp),%edx
+  .byte  139,117,20                          // mov           0x14(%ebp),%esi
+  .byte  15,40,85,184                        // movaps        -0x48(%ebp),%xmm2
+  .byte  15,194,212,1                        // cmpltps       %xmm4,%xmm2
+  .byte  15,92,205                           // subps         %xmm5,%xmm1
+  .byte  15,86,216                           // orps          %xmm0,%xmm3
+  .byte  15,84,202                           // andps         %xmm2,%xmm1
+  .byte  15,85,213                           // andnps        %xmm5,%xmm2
+  .byte  15,86,209                           // orps          %xmm1,%xmm2
+  .byte  15,40,242                           // movaps        %xmm2,%xmm6
+  .byte  15,40,125,232                       // movaps        -0x18(%ebp),%xmm7
+  .byte  15,40,199                           // movaps        %xmm7,%xmm0
+  .byte  15,194,196,1                        // cmpltps       %xmm4,%xmm0
+  .byte  15,40,136,207,7,0,0                 // movaps        0x7cf(%eax),%xmm1
+  .byte  15,40,209                           // movaps        %xmm1,%xmm2
+  .byte  15,92,203                           // subps         %xmm3,%xmm1
+  .byte  15,84,200                           // andps         %xmm0,%xmm1
+  .byte  15,85,195                           // andnps        %xmm3,%xmm0
+  .byte  15,86,193                           // orps          %xmm1,%xmm0
+  .byte  15,40,93,168                        // movaps        -0x58(%ebp),%xmm3
+  .byte  15,40,235                           // movaps        %xmm3,%xmm5
+  .byte  15,194,236,1                        // cmpltps       %xmm4,%xmm5
+  .byte  15,92,214                           // subps         %xmm6,%xmm2
+  .byte  15,84,213                           // andps         %xmm5,%xmm2
+  .byte  15,85,238                           // andnps        %xmm6,%xmm5
+  .byte  15,40,117,40                        // movaps        0x28(%ebp),%xmm6
+  .byte  15,86,234                           // orps          %xmm2,%xmm5
+  .byte  15,40,205                           // movaps        %xmm5,%xmm1
+  .byte  15,194,204,7                        // cmpordps      %xmm4,%xmm1
+  .byte  15,194,224,7                        // cmpordps      %xmm0,%xmm4
+  .byte  15,84,224                           // andps         %xmm0,%xmm4
+  .byte  15,40,69,56                         // movaps        0x38(%ebp),%xmm0
+  .byte  15,84,205                           // andps         %xmm5,%xmm1
+  .byte  15,40,85,72                         // movaps        0x48(%ebp),%xmm2
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  141,120,4                           // lea           0x4(%eax),%edi
+  .byte  15,41,84,36,64                      // movaps        %xmm2,0x40(%esp)
+  .byte  15,41,68,36,48                      // movaps        %xmm0,0x30(%esp)
+  .byte  15,41,116,36,32                     // movaps        %xmm6,0x20(%esp)
+  .byte  15,40,69,24                         // movaps        0x18(%ebp),%xmm0
+  .byte  15,41,68,36,16                      // movaps        %xmm0,0x10(%esp)
+  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
+  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
+  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
+  .byte  137,12,36                           // mov           %ecx,(%esp)
+  .byte  15,40,196                           // movaps        %xmm4,%xmm0
+  .byte  15,40,215                           // movaps        %xmm7,%xmm2
+  .byte  255,16                              // call          *(%eax)
+  .byte  129,196,160,0,0,0                   // add           $0xa0,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_xy_to_radius_sse2_lowp
+.globl _sk_xy_to_radius_sse2_lowp
+FUNCTION(_sk_xy_to_radius_sse2_lowp)
+_sk_xy_to_radius_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  131,236,80                          // sub           $0x50,%esp
+  .byte  15,40,227                           // movaps        %xmm3,%xmm4
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
+  .byte  139,85,20                           // mov           0x14(%ebp),%edx
+  .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
+  .byte  15,89,192                           // mulps         %xmm0,%xmm0
+  .byte  15,89,201                           // mulps         %xmm1,%xmm1
+  .byte  15,40,250                           // movaps        %xmm2,%xmm7
+  .byte  15,89,255                           // mulps         %xmm7,%xmm7
+  .byte  15,88,248                           // addps         %xmm0,%xmm7
+  .byte  15,89,219                           // mulps         %xmm3,%xmm3
+  .byte  15,88,217                           // addps         %xmm1,%xmm3
+  .byte  15,40,109,72                        // movaps        0x48(%ebp),%xmm5
+  .byte  139,117,12                          // mov           0xc(%ebp),%esi
+  .byte  15,81,199                           // sqrtps        %xmm7,%xmm0
+  .byte  15,81,203                           // sqrtps        %xmm3,%xmm1
+  .byte  141,126,4                           // lea           0x4(%esi),%edi
+  .byte  15,41,108,36,64                     // movaps        %xmm5,0x40(%esp)
+  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
+  .byte  15,40,93,40                         // movaps        0x28(%ebp),%xmm3
+  .byte  15,41,92,36,32                      // movaps        %xmm3,0x20(%esp)
+  .byte  15,40,93,24                         // movaps        0x18(%ebp),%xmm3
+  .byte  15,41,92,36,16                      // movaps        %xmm3,0x10(%esp)
+  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
+  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
+  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  15,40,220                           // movaps        %xmm4,%xmm3
+  .byte  255,22                              // call          *(%esi)
+  .byte  131,196,80                          // add           $0x50,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+
+HIDDEN _sk_srcover_rgba_8888_sse2_lowp
+.globl _sk_srcover_rgba_8888_sse2_lowp
+FUNCTION(_sk_srcover_rgba_8888_sse2_lowp)
+_sk_srcover_rgba_8888_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  129,236,172,0,0,0                   // sub           $0xac,%esp
+  .byte  102,15,111,227                      // movdqa        %xmm3,%xmm4
+  .byte  15,41,85,200                        // movaps        %xmm2,-0x38(%ebp)
+  .byte  15,41,77,216                        // movaps        %xmm1,-0x28(%ebp)
+  .byte  102,15,111,248                      // movdqa        %xmm0,%xmm7
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,85,8                            // mov           0x8(%ebp),%edx
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  139,121,4                           // mov           0x4(%ecx),%edi
+  .byte  15,175,125,20                       // imul          0x14(%ebp),%edi
+  .byte  193,231,2                           // shl           $0x2,%edi
+  .byte  3,57                                // add           (%ecx),%edi
+  .byte  137,211                             // mov           %edx,%ebx
+  .byte  128,227,7                           // and           $0x7,%bl
+  .byte  254,203                             // dec           %bl
+  .byte  128,251,6                           // cmp           $0x6,%bl
+  .byte  232,0,0,0,0                         // call          101f9 <_sk_srcover_rgba_8888_sse2_lowp+0x3f>
+  .byte  89                                  // pop           %ecx
+  .byte  139,117,16                          // mov           0x10(%ebp),%esi
+  .byte  15,182,211                          // movzbl        %bl,%edx
+  .byte  119,29                              // ja            1021f <_sk_srcover_rgba_8888_sse2_lowp+0x65>
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  139,132,145,75,2,0,0                // mov           0x24b(%ecx,%edx,4),%eax
+  .byte  1,200                               // add           %ecx,%eax
+  .byte  102,15,239,246                      // pxor          %xmm6,%xmm6
+  .byte  255,224                             // jmp           *%eax
+  .byte  243,15,16,52,183                    // movss         (%edi,%esi,4),%xmm6
+  .byte  15,87,219                           // xorps         %xmm3,%xmm3
+  .byte  235,73                              // jmp           10268 <_sk_srcover_rgba_8888_sse2_lowp+0xae>
+  .byte  102,15,16,52,183                    // movupd        (%edi,%esi,4),%xmm6
+  .byte  15,16,92,183,16                     // movups        0x10(%edi,%esi,4),%xmm3
+  .byte  235,61                              // jmp           10268 <_sk_srcover_rgba_8888_sse2_lowp+0xae>
+  .byte  102,15,110,68,183,8                 // movd          0x8(%edi,%esi,4),%xmm0
+  .byte  102,15,112,240,69                   // pshufd        $0x45,%xmm0,%xmm6
+  .byte  102,15,18,52,183                    // movlpd        (%edi,%esi,4),%xmm6
+  .byte  235,43                              // jmp           10268 <_sk_srcover_rgba_8888_sse2_lowp+0xae>
+  .byte  102,15,110,68,183,24                // movd          0x18(%edi,%esi,4),%xmm0
+  .byte  102,15,112,216,69                   // pshufd        $0x45,%xmm0,%xmm3
+  .byte  243,15,16,68,183,20                 // movss         0x14(%edi,%esi,4),%xmm0
+  .byte  15,198,195,0                        // shufps        $0x0,%xmm3,%xmm0
+  .byte  15,198,195,226                      // shufps        $0xe2,%xmm3,%xmm0
+  .byte  15,40,216                           // movaps        %xmm0,%xmm3
+  .byte  243,15,16,68,183,16                 // movss         0x10(%edi,%esi,4),%xmm0
+  .byte  243,15,16,216                       // movss         %xmm0,%xmm3
+  .byte  102,15,16,52,183                    // movupd        (%edi,%esi,4),%xmm6
+  .byte  102,15,40,206                       // movapd        %xmm6,%xmm1
+  .byte  102,15,114,241,16                   // pslld         $0x10,%xmm1
+  .byte  102,15,114,225,16                   // psrad         $0x10,%xmm1
+  .byte  15,40,195                           // movaps        %xmm3,%xmm0
+  .byte  102,15,114,240,16                   // pslld         $0x10,%xmm0
+  .byte  102,15,114,224,16                   // psrad         $0x10,%xmm0
+  .byte  102,15,107,200                      // packssdw      %xmm0,%xmm1
+  .byte  15,40,195                           // movaps        %xmm3,%xmm0
+  .byte  102,15,40,214                       // movapd        %xmm6,%xmm2
+  .byte  102,15,114,214,24                   // psrld         $0x18,%xmm6
+  .byte  102,15,114,246,16                   // pslld         $0x10,%xmm6
+  .byte  102,15,114,230,16                   // psrad         $0x10,%xmm6
+  .byte  102,15,114,211,24                   // psrld         $0x18,%xmm3
+  .byte  102,15,114,243,16                   // pslld         $0x10,%xmm3
+  .byte  102,15,114,227,16                   // psrad         $0x10,%xmm3
+  .byte  102,15,107,243                      // packssdw      %xmm3,%xmm6
+  .byte  102,15,111,153,103,12,0,0           // movdqa        0xc67(%ecx),%xmm3
+  .byte  102,15,114,208,16                   // psrld         $0x10,%xmm0
+  .byte  102,15,114,210,16                   // psrld         $0x10,%xmm2
+  .byte  102,15,114,242,16                   // pslld         $0x10,%xmm2
+  .byte  102,15,114,226,16                   // psrad         $0x10,%xmm2
+  .byte  102,15,114,240,16                   // pslld         $0x10,%xmm0
+  .byte  102,15,114,224,16                   // psrad         $0x10,%xmm0
+  .byte  102,15,107,208                      // packssdw      %xmm0,%xmm2
+  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
+  .byte  102,15,219,195                      // pand          %xmm3,%xmm0
+  .byte  102,15,111,235                      // movdqa        %xmm3,%xmm5
+  .byte  102,15,249,236                      // psubw         %xmm4,%xmm5
+  .byte  102,15,127,69,184                   // movdqa        %xmm0,-0x48(%ebp)
+  .byte  102,15,213,197                      // pmullw        %xmm5,%xmm0
+  .byte  102,15,253,195                      // paddw         %xmm3,%xmm0
+  .byte  102,15,113,208,8                    // psrlw         $0x8,%xmm0
+  .byte  102,15,253,199                      // paddw         %xmm7,%xmm0
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,127,77,152                   // movdqa        %xmm1,-0x68(%ebp)
+  .byte  102,15,213,205                      // pmullw        %xmm5,%xmm1
+  .byte  102,15,253,203                      // paddw         %xmm3,%xmm1
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,253,77,216                   // paddw         -0x28(%ebp),%xmm1
+  .byte  102,15,219,211                      // pand          %xmm3,%xmm2
+  .byte  102,15,127,85,216                   // movdqa        %xmm2,-0x28(%ebp)
+  .byte  102,15,111,250                      // movdqa        %xmm2,%xmm7
+  .byte  102,15,213,253                      // pmullw        %xmm5,%xmm7
+  .byte  102,15,253,251                      // paddw         %xmm3,%xmm7
+  .byte  102,15,113,215,8                    // psrlw         $0x8,%xmm7
+  .byte  102,15,253,125,200                  // paddw         -0x38(%ebp),%xmm7
+  .byte  102,15,127,117,200                  // movdqa        %xmm6,-0x38(%ebp)
+  .byte  102,15,213,238                      // pmullw        %xmm6,%xmm5
+  .byte  102,15,253,235                      // paddw         %xmm3,%xmm5
+  .byte  102,15,113,213,8                    // psrlw         $0x8,%xmm5
+  .byte  102,15,253,236                      // paddw         %xmm4,%xmm5
+  .byte  102,15,111,241                      // movdqa        %xmm1,%xmm6
+  .byte  102,15,113,246,8                    // psllw         $0x8,%xmm6
+  .byte  102,15,127,69,168                   // movdqa        %xmm0,-0x58(%ebp)
+  .byte  102,15,235,240                      // por           %xmm0,%xmm6
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  102,15,111,214                      // movdqa        %xmm6,%xmm2
+  .byte  102,15,97,211                       // punpcklwd     %xmm3,%xmm2
+  .byte  102,15,111,229                      // movdqa        %xmm5,%xmm4
+  .byte  102,15,113,244,8                    // psllw         $0x8,%xmm4
+  .byte  102,15,235,231                      // por           %xmm7,%xmm4
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  102,15,97,196                       // punpcklwd     %xmm4,%xmm0
+  .byte  102,15,235,194                      // por           %xmm2,%xmm0
+  .byte  102,15,105,243                      // punpckhwd     %xmm3,%xmm6
+  .byte  102,15,105,220                      // punpckhwd     %xmm4,%xmm3
+  .byte  102,15,235,222                      // por           %xmm6,%xmm3
+  .byte  128,251,6                           // cmp           $0x6,%bl
+  .byte  119,16                              // ja            103a9 <_sk_srcover_rgba_8888_sse2_lowp+0x1ef>
+  .byte  3,140,145,103,2,0,0                 // add           0x267(%ecx,%edx,4),%ecx
+  .byte  255,225                             // jmp           *%ecx
+  .byte  102,15,126,4,183                    // movd          %xmm0,(%edi,%esi,4)
+  .byte  235,64                              // jmp           103e9 <_sk_srcover_rgba_8888_sse2_lowp+0x22f>
+  .byte  243,15,127,4,183                    // movdqu        %xmm0,(%edi,%esi,4)
+  .byte  243,15,127,92,183,16                // movdqu        %xmm3,0x10(%edi,%esi,4)
+  .byte  235,51                              // jmp           103e9 <_sk_srcover_rgba_8888_sse2_lowp+0x22f>
+  .byte  102,15,112,208,78                   // pshufd        $0x4e,%xmm0,%xmm2
+  .byte  102,15,126,84,183,8                 // movd          %xmm2,0x8(%edi,%esi,4)
+  .byte  102,15,214,4,183                    // movq          %xmm0,(%edi,%esi,4)
+  .byte  235,33                              // jmp           103e9 <_sk_srcover_rgba_8888_sse2_lowp+0x22f>
+  .byte  102,15,112,211,78                   // pshufd        $0x4e,%xmm3,%xmm2
+  .byte  102,15,126,84,183,24                // movd          %xmm2,0x18(%edi,%esi,4)
+  .byte  102,15,112,211,229                  // pshufd        $0xe5,%xmm3,%xmm2
+  .byte  102,15,126,84,183,20                // movd          %xmm2,0x14(%edi,%esi,4)
+  .byte  102,15,126,92,183,16                // movd          %xmm3,0x10(%edi,%esi,4)
+  .byte  243,15,127,4,183                    // movdqu        %xmm0,(%edi,%esi,4)
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  137,193                             // mov           %eax,%ecx
+  .byte  141,65,8                            // lea           0x8(%ecx),%eax
+  .byte  15,40,69,200                        // movaps        -0x38(%ebp),%xmm0
+  .byte  15,41,68,36,64                      // movaps        %xmm0,0x40(%esp)
+  .byte  15,40,69,216                        // movaps        -0x28(%ebp),%xmm0
+  .byte  15,41,68,36,48                      // movaps        %xmm0,0x30(%esp)
+  .byte  15,40,69,152                        // movaps        -0x68(%ebp),%xmm0
+  .byte  15,41,68,36,32                      // movaps        %xmm0,0x20(%esp)
+  .byte  15,40,69,184                        // movaps        -0x48(%ebp),%xmm0
+  .byte  15,41,68,36,16                      // movaps        %xmm0,0x10(%esp)
+  .byte  139,85,20                           // mov           0x14(%ebp),%edx
+  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
+  .byte  137,116,36,8                        // mov           %esi,0x8(%esp)
+  .byte  137,68,36,4                         // mov           %eax,0x4(%esp)
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  15,40,69,168                        // movaps        -0x58(%ebp),%xmm0
+  .byte  102,15,111,215                      // movdqa        %xmm7,%xmm2
+  .byte  102,15,111,221                      // movdqa        %xmm5,%xmm3
+  .byte  255,81,4                            // call          *0x4(%ecx)
+  .byte  129,196,172,0,0,0                   // add           $0xac,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  28,0                                // sbb           $0x0,%al
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  61,0,0,0,50                         // cmp           $0x32000000,%eax
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,106,0                             // add           %ch,0x0(%edx)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  96                                  // pusha
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,79,0                              // add           %cl,0x0(%edi)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  68                                  // inc           %esp
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,169,1,0,0,200                     // add           %ch,-0x37ffffff(%ecx)
+  .byte  1,0                                 // add           %eax,(%eax)
+  .byte  0,189,1,0,0,235                     // add           %bh,-0x14ffffff(%ebp)
+  .byte  1,0                                 // add           %eax,(%eax)
+  .byte  0,229                               // add           %ah,%ch
+  .byte  1,0                                 // add           %eax,(%eax)
+  .byte  0,218                               // add           %bl,%dl
+  .byte  1,0                                 // add           %eax,(%eax)
+  .byte  0,207                               // add           %cl,%bh
+  .byte  1,0                                 // add           %eax,(%eax)
+  .byte  0                                   // .byte         0x0
+
+HIDDEN _sk_srcover_bgra_8888_sse2_lowp
+.globl _sk_srcover_bgra_8888_sse2_lowp
+FUNCTION(_sk_srcover_bgra_8888_sse2_lowp)
+_sk_srcover_bgra_8888_sse2_lowp:
+  .byte  85                                  // push          %ebp
+  .byte  137,229                             // mov           %esp,%ebp
+  .byte  83                                  // push          %ebx
+  .byte  87                                  // push          %edi
+  .byte  86                                  // push          %esi
+  .byte  129,236,188,0,0,0                   // sub           $0xbc,%esp
+  .byte  102,15,111,251                      // movdqa        %xmm3,%xmm7
+  .byte  15,41,85,184                        // movaps        %xmm2,-0x48(%ebp)
+  .byte  15,41,77,200                        // movaps        %xmm1,-0x38(%ebp)
+  .byte  102,15,127,69,216                   // movdqa        %xmm0,-0x28(%ebp)
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  139,85,8                            // mov           0x8(%ebp),%edx
+  .byte  139,8                               // mov           (%eax),%ecx
+  .byte  139,121,4                           // mov           0x4(%ecx),%edi
+  .byte  15,175,125,20                       // imul          0x14(%ebp),%edi
+  .byte  193,231,2                           // shl           $0x2,%edi
+  .byte  3,57                                // add           (%ecx),%edi
+  .byte  137,211                             // mov           %edx,%ebx
+  .byte  128,227,7                           // and           $0x7,%bl
+  .byte  254,203                             // dec           %bl
+  .byte  128,251,6                           // cmp           $0x6,%bl
+  .byte  232,0,0,0,0                         // call          104bc <_sk_srcover_bgra_8888_sse2_lowp+0x40>
+  .byte  89                                  // pop           %ecx
+  .byte  139,117,16                          // mov           0x10(%ebp),%esi
+  .byte  15,182,211                          // movzbl        %bl,%edx
+  .byte  119,29                              // ja            104e2 <_sk_srcover_bgra_8888_sse2_lowp+0x66>
+  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
+  .byte  139,132,145,80,2,0,0                // mov           0x250(%ecx,%edx,4),%eax
+  .byte  1,200                               // add           %ecx,%eax
+  .byte  102,15,239,246                      // pxor          %xmm6,%xmm6
+  .byte  255,224                             // jmp           *%eax
+  .byte  243,15,16,52,183                    // movss         (%edi,%esi,4),%xmm6
+  .byte  15,87,228                           // xorps         %xmm4,%xmm4
+  .byte  235,73                              // jmp           1052b <_sk_srcover_bgra_8888_sse2_lowp+0xaf>
+  .byte  102,15,16,52,183                    // movupd        (%edi,%esi,4),%xmm6
+  .byte  15,16,100,183,16                    // movups        0x10(%edi,%esi,4),%xmm4
+  .byte  235,61                              // jmp           1052b <_sk_srcover_bgra_8888_sse2_lowp+0xaf>
+  .byte  102,15,110,68,183,8                 // movd          0x8(%edi,%esi,4),%xmm0
+  .byte  102,15,112,240,69                   // pshufd        $0x45,%xmm0,%xmm6
+  .byte  102,15,18,52,183                    // movlpd        (%edi,%esi,4),%xmm6
+  .byte  235,43                              // jmp           1052b <_sk_srcover_bgra_8888_sse2_lowp+0xaf>
+  .byte  102,15,110,68,183,24                // movd          0x18(%edi,%esi,4),%xmm0
+  .byte  102,15,112,224,69                   // pshufd        $0x45,%xmm0,%xmm4
+  .byte  243,15,16,68,183,20                 // movss         0x14(%edi,%esi,4),%xmm0
+  .byte  15,198,196,0                        // shufps        $0x0,%xmm4,%xmm0
+  .byte  15,198,196,226                      // shufps        $0xe2,%xmm4,%xmm0
+  .byte  15,40,224                           // movaps        %xmm0,%xmm4
+  .byte  243,15,16,68,183,16                 // movss         0x10(%edi,%esi,4),%xmm0
+  .byte  243,15,16,224                       // movss         %xmm0,%xmm4
+  .byte  102,15,16,52,183                    // movupd        (%edi,%esi,4),%xmm6
+  .byte  102,15,40,206                       // movapd        %xmm6,%xmm1
+  .byte  102,15,114,241,16                   // pslld         $0x10,%xmm1
+  .byte  102,15,114,225,16                   // psrad         $0x10,%xmm1
+  .byte  15,40,196                           // movaps        %xmm4,%xmm0
+  .byte  102,15,114,240,16                   // pslld         $0x10,%xmm0
+  .byte  102,15,114,224,16                   // psrad         $0x10,%xmm0
+  .byte  102,15,107,200                      // packssdw      %xmm0,%xmm1
+  .byte  15,40,196                           // movaps        %xmm4,%xmm0
+  .byte  102,15,40,214                       // movapd        %xmm6,%xmm2
+  .byte  102,15,114,214,24                   // psrld         $0x18,%xmm6
+  .byte  102,15,114,246,16                   // pslld         $0x10,%xmm6
+  .byte  102,15,114,230,16                   // psrad         $0x10,%xmm6
+  .byte  102,15,114,212,24                   // psrld         $0x18,%xmm4
+  .byte  102,15,114,244,16                   // pslld         $0x10,%xmm4
+  .byte  102,15,114,228,16                   // psrad         $0x10,%xmm4
+  .byte  102,15,107,244                      // packssdw      %xmm4,%xmm6
+  .byte  102,15,111,153,164,9,0,0            // movdqa        0x9a4(%ecx),%xmm3
+  .byte  102,15,114,208,16                   // psrld         $0x10,%xmm0
+  .byte  102,15,114,210,16                   // psrld         $0x10,%xmm2
+  .byte  102,15,114,242,16                   // pslld         $0x10,%xmm2
+  .byte  102,15,114,226,16                   // psrad         $0x10,%xmm2
+  .byte  102,15,114,240,16                   // pslld         $0x10,%xmm0
+  .byte  102,15,114,224,16                   // psrad         $0x10,%xmm0
+  .byte  102,15,107,208                      // packssdw      %xmm0,%xmm2
+  .byte  102,15,219,211                      // pand          %xmm3,%xmm2
+  .byte  102,15,111,235                      // movdqa        %xmm3,%xmm5
+  .byte  102,15,249,239                      // psubw         %xmm7,%xmm5
+  .byte  102,15,127,85,136                   // movdqa        %xmm2,-0x78(%ebp)
+  .byte  102,15,213,213                      // pmullw        %xmm5,%xmm2
+  .byte  102,15,253,211                      // paddw         %xmm3,%xmm2
+  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
+  .byte  102,15,253,85,216                   // paddw         -0x28(%ebp),%xmm2
+  .byte  102,15,111,225                      // movdqa        %xmm1,%xmm4
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,127,77,216                   // movdqa        %xmm1,-0x28(%ebp)
+  .byte  102,15,213,205                      // pmullw        %xmm5,%xmm1
+  .byte  102,15,253,203                      // paddw         %xmm3,%xmm1
+  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
+  .byte  102,15,253,77,200                   // paddw         -0x38(%ebp),%xmm1
+  .byte  102,15,219,227                      // pand          %xmm3,%xmm4
+  .byte  102,15,127,101,168                  // movdqa        %xmm4,-0x58(%ebp)
+  .byte  102,15,213,229                      // pmullw        %xmm5,%xmm4
+  .byte  102,15,253,227                      // paddw         %xmm3,%xmm4
+  .byte  102,15,113,212,8                    // psrlw         $0x8,%xmm4
+  .byte  102,15,253,101,184                  // paddw         -0x48(%ebp),%xmm4
+  .byte  102,15,127,117,184                  // movdqa        %xmm6,-0x48(%ebp)
+  .byte  102,15,213,238                      // pmullw        %xmm6,%xmm5
+  .byte  102,15,253,235                      // paddw         %xmm3,%xmm5
+  .byte  102,15,113,213,8                    // psrlw         $0x8,%xmm5
+  .byte  102,15,253,239                      // paddw         %xmm7,%xmm5
+  .byte  102,15,111,241                      // movdqa        %xmm1,%xmm6
+  .byte  102,15,113,246,8                    // psllw         $0x8,%xmm6
+  .byte  102,15,127,101,152                  // movdqa        %xmm4,-0x68(%ebp)
+  .byte  102,15,235,244                      // por           %xmm4,%xmm6
+  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
+  .byte  102,15,111,254                      // movdqa        %xmm6,%xmm7
+  .byte  102,15,97,251                       // punpcklwd     %xmm3,%xmm7
+  .byte  102,15,111,229                      // movdqa        %xmm5,%xmm4
+  .byte  102,15,113,244,8                    // psllw         $0x8,%xmm4
+  .byte  102,15,127,85,200                   // movdqa        %xmm2,-0x38(%ebp)
+  .byte  102,15,235,226                      // por           %xmm2,%xmm4
+  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
+  .byte  102,15,97,196                       // punpcklwd     %xmm4,%xmm0
+  .byte  102,15,235,199                      // por           %xmm7,%xmm0
+  .byte  102,15,105,243                      // punpckhwd     %xmm3,%xmm6
+  .byte  102,15,105,220                      // punpckhwd     %xmm4,%xmm3
+  .byte  102,15,235,222                      // por           %xmm6,%xmm3
+  .byte  128,251,6                           // cmp           $0x6,%bl
+  .byte  119,16                              // ja            1066e <_sk_srcover_bgra_8888_sse2_lowp+0x1f2>
+  .byte  3,140,145,108,2,0,0                 // add           0x26c(%ecx,%edx,4),%ecx
+  .byte  255,225                             // jmp           *%ecx
+  .byte  102,15,126,4,183                    // movd          %xmm0,(%edi,%esi,4)
+  .byte  235,64                              // jmp           106ae <_sk_srcover_bgra_8888_sse2_lowp+0x232>
+  .byte  243,15,127,4,183                    // movdqu        %xmm0,(%edi,%esi,4)
+  .byte  243,15,127,92,183,16                // movdqu        %xmm3,0x10(%edi,%esi,4)
+  .byte  235,51                              // jmp           106ae <_sk_srcover_bgra_8888_sse2_lowp+0x232>
+  .byte  102,15,112,208,78                   // pshufd        $0x4e,%xmm0,%xmm2
+  .byte  102,15,126,84,183,8                 // movd          %xmm2,0x8(%edi,%esi,4)
+  .byte  102,15,214,4,183                    // movq          %xmm0,(%edi,%esi,4)
+  .byte  235,33                              // jmp           106ae <_sk_srcover_bgra_8888_sse2_lowp+0x232>
+  .byte  102,15,112,211,78                   // pshufd        $0x4e,%xmm3,%xmm2
+  .byte  102,15,126,84,183,24                // movd          %xmm2,0x18(%edi,%esi,4)
+  .byte  102,15,112,211,229                  // pshufd        $0xe5,%xmm3,%xmm2
+  .byte  102,15,126,84,183,20                // movd          %xmm2,0x14(%edi,%esi,4)
+  .byte  102,15,126,92,183,16                // movd          %xmm3,0x10(%edi,%esi,4)
+  .byte  243,15,127,4,183                    // movdqu        %xmm0,(%edi,%esi,4)
+  .byte  139,69,12                           // mov           0xc(%ebp),%eax
+  .byte  137,193                             // mov           %eax,%ecx
+  .byte  141,65,8                            // lea           0x8(%ecx),%eax
+  .byte  15,40,69,184                        // movaps        -0x48(%ebp),%xmm0
+  .byte  15,41,68,36,64                      // movaps        %xmm0,0x40(%esp)
+  .byte  15,40,69,168                        // movaps        -0x58(%ebp),%xmm0
+  .byte  15,41,68,36,48                      // movaps        %xmm0,0x30(%esp)
+  .byte  15,40,69,216                        // movaps        -0x28(%ebp),%xmm0
+  .byte  15,41,68,36,32                      // movaps        %xmm0,0x20(%esp)
+  .byte  15,40,69,136                        // movaps        -0x78(%ebp),%xmm0
+  .byte  15,41,68,36,16                      // movaps        %xmm0,0x10(%esp)
+  .byte  139,85,20                           // mov           0x14(%ebp),%edx
+  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
+  .byte  137,116,36,8                        // mov           %esi,0x8(%esp)
+  .byte  137,68,36,4                         // mov           %eax,0x4(%esp)
+  .byte  139,69,8                            // mov           0x8(%ebp),%eax
+  .byte  137,4,36                            // mov           %eax,(%esp)
+  .byte  15,40,69,200                        // movaps        -0x38(%ebp),%xmm0
+  .byte  15,40,85,152                        // movaps        -0x68(%ebp),%xmm2
+  .byte  102,15,111,221                      // movdqa        %xmm5,%xmm3
+  .byte  255,81,4                            // call          *0x4(%ecx)
+  .byte  129,196,188,0,0,0                   // add           $0xbc,%esp
+  .byte  94                                  // pop           %esi
+  .byte  95                                  // pop           %edi
+  .byte  91                                  // pop           %ebx
+  .byte  93                                  // pop           %ebp
+  .byte  195                                 // ret
+  .byte  15,31,0                             // nopl          (%eax)
+  .byte  28,0                                // sbb           $0x0,%al
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  61,0,0,0,50                         // cmp           $0x32000000,%eax
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,106,0                             // add           %ch,0x0(%edx)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  96                                  // pusha
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,79,0                              // add           %cl,0x0(%edi)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  68                                  // inc           %esp
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,171,1,0,0,202                     // add           %ch,-0x35ffffff(%ebx)
+  .byte  1,0                                 // add           %eax,(%eax)
+  .byte  0,191,1,0,0,237                     // add           %bh,-0x12ffffff(%edi)
+  .byte  1,0                                 // add           %eax,(%eax)
+  .byte  0,231                               // add           %ah,%bh
+  .byte  1,0                                 // add           %eax,(%eax)
+  .byte  0,220                               // add           %bl,%ah
+  .byte  1,0                                 // add           %eax,(%eax)
+  .byte  0,209                               // add           %dl,%cl
+  .byte  1,0                                 // add           %eax,(%eax)
+  .byte  0                                   // .byte         0x0
+
+BALIGN16
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,63                                // add           %bh,(%edi)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,63                                // add           %bh,(%edi)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,63                                // add           %bh,(%edi)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,63                                // add           %bh,(%edi)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  128,63,0                            // cmpb          $0x0,(%edi)
+  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
+  .byte  63                                  // aas
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  128,63,0                            // cmpb          $0x0,(%edi)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,1                                 // add           %al,(%ecx)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,2                                 // add           %al,(%edx)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,3                                 // add           %al,(%ebx)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,1                                 // add           %al,(%ecx)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,1                                 // add           %al,(%ecx)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,1                                 // add           %al,(%ecx)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,1                                 // add           %al,(%ecx)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,4,0                               // add           %al,(%eax,%eax,1)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  4,0                                 // add           $0x0,%al
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  4,0                                 // add           $0x0,%al
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  4,0                                 // add           $0x0,%al
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  2,0                                 // add           (%eax),%al
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  2,0                                 // add           (%eax),%al
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  2,0                                 // add           (%eax),%al
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  2,0                                 // add           (%eax),%al
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  128,60,0,0                          // cmpb          $0x0,(%eax,%eax,1)
+  .byte  128,60,0,0                          // cmpb          $0x0,(%eax,%eax,1)
+  .byte  128,60,0,0                          // cmpb          $0x0,(%eax,%eax,1)
+  .byte  128,60,0,0                          // cmpb          $0x0,(%eax,%eax,1)
+  .byte  252                                 // cld
+  .byte  190,0,0,252,190                     // mov           $0xbefc0000,%esi
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  252                                 // cld
+  .byte  190,0,0,252,190                     // mov           $0xbefc0000,%esi
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  128,191,0,0,128,191,0               // cmpb          $0x0,-0x40800000(%edi)
+  .byte  0,128,191,0,0,128                   // add           %al,-0x7fffff41(%eax)
+  .byte  191,0,0,224,64                      // mov           $0x40e00000,%edi
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  224,64                              // loopne        10828 <.literal16+0xd8>
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  224,64                              // loopne        1082c <.literal16+0xdc>
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  224,64                              // loopne        10830 <.literal16+0xe0>
+  .byte  154,153,153,62,154,153,153          // lcall         $0x9999,$0x9a3e9999
+  .byte  62,154,153,153,62,154,153,153       // ds            lcall $0x9999,$0x9a3e9999
+  .byte  62,61,10,23,63,61                   // ds            cmp $0x3d3f170a,%eax
+  .byte  10,23                               // or            (%edi),%dl
+  .byte  63                                  // aas
+  .byte  61,10,23,63,61                      // cmp           $0x3d3f170a,%eax
+  .byte  10,23                               // or            (%edi),%dl
+  .byte  63                                  // aas
+  .byte  174                                 // scas          %es:(%edi),%al
+  .byte  71                                  // inc           %edi
+  .byte  225,61                              // loope         10851 <.literal16+0x101>
+  .byte  174                                 // scas          %es:(%edi),%al
+  .byte  71                                  // inc           %edi
+  .byte  225,61                              // loope         10855 <.literal16+0x105>
+  .byte  174                                 // scas          %es:(%edi),%al
+  .byte  71                                  // inc           %edi
+  .byte  225,61                              // loope         10859 <.literal16+0x109>
+  .byte  174                                 // scas          %es:(%edi),%al
+  .byte  71                                  // inc           %edi
+  .byte  225,61                              // loope         1085d <.literal16+0x10d>
+  .byte  255,0                               // incl          (%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  255,0                               // incl          (%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  255,0                               // incl          (%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  255,0                               // incl          (%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  127,67                              // jg            10877 <.literal16+0x127>
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  127,67                              // jg            1087b <.literal16+0x12b>
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  127,67                              // jg            1087f <.literal16+0x12f>
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  127,67                              // jg            10883 <.literal16+0x133>
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  128,127,0,0                         // cmpb          $0x0,0x0(%edi)
+  .byte  128,127,0,0                         // cmpb          $0x0,0x0(%edi)
+  .byte  128,127,0,0                         // cmpb          $0x0,0x0(%edi)
+  .byte  128,127,145,131                     // cmpb          $0x83,-0x6f(%edi)
+  .byte  158                                 // sahf
+  .byte  61,145,131,158,61                   // cmp           $0x3d9e8391,%eax
+  .byte  145                                 // xchg          %eax,%ecx
+  .byte  131,158,61,145,131,158,61           // sbbl          $0x3d,-0x617c6ec3(%esi)
+  .byte  92                                  // pop           %esp
+  .byte  143                                 // (bad)
+  .byte  50,63                               // xor           (%edi),%bh
+  .byte  92                                  // pop           %esp
+  .byte  143                                 // (bad)
+  .byte  50,63                               // xor           (%edi),%bh
+  .byte  92                                  // pop           %esp
+  .byte  143                                 // (bad)
+  .byte  50,63                               // xor           (%edi),%bh
+  .byte  92                                  // pop           %esp
+  .byte  143                                 // (bad)
+  .byte  50,63                               // xor           (%edi),%bh
+  .byte  10,215                              // or            %bh,%dl
+  .byte  35,59                               // and           (%ebx),%edi
+  .byte  10,215                              // or            %bh,%dl
+  .byte  35,59                               // and           (%ebx),%edi
+  .byte  10,215                              // or            %bh,%dl
+  .byte  35,59                               // and           (%ebx),%edi
+  .byte  10,215                              // or            %bh,%dl
+  .byte  35,59                               // and           (%ebx),%edi
+  .byte  174                                 // scas          %es:(%edi),%al
+  .byte  71                                  // inc           %edi
+  .byte  97                                  // popa
+  .byte  61,174,71,97,61                     // cmp           $0x3d6147ae,%eax
+  .byte  174                                 // scas          %es:(%edi),%al
+  .byte  71                                  // inc           %edi
+  .byte  97                                  // popa
+  .byte  61,174,71,97,61                     // cmp           $0x3d6147ae,%eax
+  .byte  82                                  // push          %edx
+  .byte  184,78,65,82,184                    // mov           $0xb852414e,%eax
+  .byte  78                                  // dec           %esi
+  .byte  65                                  // inc           %ecx
+  .byte  82                                  // push          %edx
+  .byte  184,78,65,82,184                    // mov           $0xb852414e,%eax
+  .byte  78                                  // dec           %esi
+  .byte  65                                  // inc           %ecx
+  .byte  57,215                              // cmp           %edx,%edi
+  .byte  32,187,57,215,32,187                // and           %bh,-0x44df28c7(%ebx)
+  .byte  57,215                              // cmp           %edx,%edi
+  .byte  32,187,57,215,32,187                // and           %bh,-0x44df28c7(%ebx)
+  .byte  186,159,98,60,186                   // mov           $0xba3c629f,%edx
+  .byte  159                                 // lahf
+  .byte  98,60,186                           // bound         %edi,(%edx,%edi,4)
+  .byte  159                                 // lahf
+  .byte  98,60,186                           // bound         %edi,(%edx,%edi,4)
+  .byte  159                                 // lahf
+  .byte  98,60,109,165,144,63,109            // bound         %edi,0x6d3f90a5(,%ebp,2)
+  .byte  165                                 // movsl         %ds:(%esi),%es:(%edi)
+  .byte  144                                 // nop
+  .byte  63                                  // aas
+  .byte  109                                 // insl          (%dx),%es:(%edi)
+  .byte  165                                 // movsl         %ds:(%esi),%es:(%edi)
+  .byte  144                                 // nop
+  .byte  63                                  // aas
+  .byte  109                                 // insl          (%dx),%es:(%edi)
+  .byte  165                                 // movsl         %ds:(%esi),%es:(%edi)
+  .byte  144                                 // nop
+  .byte  63                                  // aas
+  .byte  252                                 // cld
+  .byte  191,16,62,252,191                   // mov           $0xbffc3e10,%edi
+  .byte  16,62                               // adc           %bh,(%esi)
+  .byte  252                                 // cld
+  .byte  191,16,62,252,191                   // mov           $0xbffc3e10,%edi
+  .byte  16,62                               // adc           %bh,(%esi)
+  .byte  168,177                             // test          $0xb1,%al
+  .byte  152                                 // cwtl
+  .byte  59,168,177,152,59,168               // cmp           -0x57c4674f(%eax),%ebp
+  .byte  177,152                             // mov           $0x98,%cl
+  .byte  59,168,177,152,59,0                 // cmp           0x3b98b1(%eax),%ebp
+  .byte  0,192                               // add           %al,%al
+  .byte  64                                  // inc           %eax
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  192,64,0,0                          // rolb          $0x0,0x0(%eax)
+  .byte  192,64,0,0                          // rolb          $0x0,0x0(%eax)
+  .byte  192,64,0,0                          // rolb          $0x0,0x0(%eax)
+  .byte  0,64,0                              // add           %al,0x0(%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  64                                  // inc           %eax
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,64,0                              // add           %al,0x0(%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  64                                  // inc           %eax
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  128,64,0,0                          // addb          $0x0,0x0(%eax)
+  .byte  128,64,0,0                          // addb          $0x0,0x0(%eax)
+  .byte  128,64,0,0                          // addb          $0x0,0x0(%eax)
+  .byte  128,64,171,170                      // addb          $0xaa,-0x55(%eax)
+  .byte  42,62                               // sub           (%esi),%bh
+  .byte  171                                 // stos          %eax,%es:(%edi)
+  .byte  170                                 // stos          %al,%es:(%edi)
+  .byte  42,62                               // sub           (%esi),%bh
+  .byte  171                                 // stos          %eax,%es:(%edi)
+  .byte  170                                 // stos          %al,%es:(%edi)
+  .byte  42,62                               // sub           (%esi),%bh
+  .byte  171                                 // stos          %eax,%es:(%edi)
+  .byte  170                                 // stos          %al,%es:(%edi)
+  .byte  42,62                               // sub           (%esi),%bh
+  .byte  171                                 // stos          %eax,%es:(%edi)
+  .byte  170                                 // stos          %al,%es:(%edi)
+  .byte  170                                 // stos          %al,%es:(%edi)
+  .byte  62,171                              // ds            stos %eax,%es:(%edi)
+  .byte  170                                 // stos          %al,%es:(%edi)
+  .byte  170                                 // stos          %al,%es:(%edi)
+  .byte  62,171                              // ds            stos %eax,%es:(%edi)
+  .byte  170                                 // stos          %al,%es:(%edi)
+  .byte  170                                 // stos          %al,%es:(%edi)
+  .byte  62,171                              // ds            stos %eax,%es:(%edi)
+  .byte  170                                 // stos          %al,%es:(%edi)
+  .byte  170                                 // stos          %al,%es:(%edi)
+  .byte  62,171                              // ds            stos %eax,%es:(%edi)
+  .byte  170                                 // stos          %al,%es:(%edi)
+  .byte  42,63                               // sub           (%edi),%bh
+  .byte  171                                 // stos          %eax,%es:(%edi)
+  .byte  170                                 // stos          %al,%es:(%edi)
+  .byte  42,63                               // sub           (%edi),%bh
+  .byte  171                                 // stos          %eax,%es:(%edi)
+  .byte  170                                 // stos          %al,%es:(%edi)
+  .byte  42,63                               // sub           (%edi),%bh
+  .byte  171                                 // stos          %eax,%es:(%edi)
+  .byte  170                                 // stos          %al,%es:(%edi)
+  .byte  42,63                               // sub           (%edi),%bh
+  .byte  171                                 // stos          %eax,%es:(%edi)
+  .byte  170                                 // stos          %al,%es:(%edi)
+  .byte  170                                 // stos          %al,%es:(%edi)
+  .byte  190,171,170,170,190                 // mov           $0xbeaaaaab,%esi
+  .byte  171                                 // stos          %eax,%es:(%edi)
+  .byte  170                                 // stos          %al,%es:(%edi)
+  .byte  170                                 // stos          %al,%es:(%edi)
+  .byte  190,171,170,170,190                 // mov           $0xbeaaaaab,%esi
+  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%eax)
+  .byte  128,59,129                          // cmpb          $0x81,(%ebx)
+  .byte  128,128,59,0,248,0,0                // addb          $0x0,0xf8003b(%eax)
+  .byte  0,248                               // add           %bh,%al
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,248                               // add           %bh,%al
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,248                               // add           %bh,%al
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  8,33                                // or            %ah,(%ecx)
+  .byte  132,55                              // test          %dh,(%edi)
+  .byte  8,33                                // or            %ah,(%ecx)
+  .byte  132,55                              // test          %dh,(%edi)
+  .byte  8,33                                // or            %ah,(%ecx)
+  .byte  132,55                              // test          %dh,(%edi)
+  .byte  8,33                                // or            %ah,(%ecx)
+  .byte  132,55                              // test          %dh,(%edi)
+  .byte  224,7                               // loopne        10999 <.literal16+0x249>
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  224,7                               // loopne        1099d <.literal16+0x24d>
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  224,7                               // loopne        109a1 <.literal16+0x251>
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  224,7                               // loopne        109a5 <.literal16+0x255>
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  33,8                                // and           %ecx,(%eax)
+  .byte  2,58                                // add           (%edx),%bh
+  .byte  33,8                                // and           %ecx,(%eax)
+  .byte  2,58                                // add           (%edx),%bh
+  .byte  33,8                                // and           %ecx,(%eax)
+  .byte  2,58                                // add           (%edx),%bh
+  .byte  33,8                                // and           %ecx,(%eax)
+  .byte  2,58                                // add           (%edx),%bh
+  .byte  31                                  // pop           %ds
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,31                                // add           %bl,(%edi)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,31                                // add           %bl,(%edi)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,31                                // add           %bl,(%edi)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,8                                 // add           %cl,(%eax)
+  .byte  33,4,61,8,33,4,61                   // and           %eax,0x3d042108(,%edi,1)
+  .byte  8,33                                // or            %ah,(%ecx)
+  .byte  4,61                                // add           $0x3d,%al
+  .byte  8,33                                // or            %ah,(%ecx)
+  .byte  4,61                                // add           $0x3d,%al
+  .byte  255,0                               // incl          (%eax)
+  .byte  255,0                               // incl          (%eax)
+  .byte  255,0                               // incl          (%eax)
+  .byte  255,0                               // incl          (%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  128,0,128                           // addb          $0x80,(%eax)
+  .byte  55                                  // aaa
+  .byte  128,0,128                           // addb          $0x80,(%eax)
+  .byte  55                                  // aaa
+  .byte  128,0,128                           // addb          $0x80,(%eax)
+  .byte  55                                  // aaa
+  .byte  128,0,128                           // addb          $0x80,(%eax)
+  .byte  55                                  // aaa
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,52,0                              // add           %dh,(%eax,%eax,1)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  52,0                                // xor           $0x0,%al
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  52,0                                // xor           $0x0,%al
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  52,255                              // xor           $0xff,%al
+  .byte  255                                 // (bad)
+  .byte  127,0                               // jg            10a04 <.literal16+0x2b4>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  127,0                               // jg            10a08 <.literal16+0x2b8>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  127,0                               // jg            10a0c <.literal16+0x2bc>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  127,0                               // jg            10a10 <.literal16+0x2c0>
+  .byte  119,115                             // ja            10a85 <.literal16+0x335>
+  .byte  248                                 // clc
+  .byte  194,119,115                         // ret           $0x7377
+  .byte  248                                 // clc
+  .byte  194,119,115                         // ret           $0x7377
+  .byte  248                                 // clc
+  .byte  194,119,115                         // ret           $0x7377
+  .byte  248                                 // clc
+  .byte  194,117,191                         // ret           $0xbf75
+  .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
+  .byte  63                                  // aas
+  .byte  117,191                             // jne           109e9 <.literal16+0x299>
+  .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
+  .byte  63                                  // aas
+  .byte  249                                 // stc
+  .byte  68                                  // inc           %esp
+  .byte  180,62                              // mov           $0x3e,%ah
+  .byte  249                                 // stc
+  .byte  68                                  // inc           %esp
+  .byte  180,62                              // mov           $0x3e,%ah
+  .byte  249                                 // stc
+  .byte  68                                  // inc           %esp
+  .byte  180,62                              // mov           $0x3e,%ah
+  .byte  249                                 // stc
+  .byte  68                                  // inc           %esp
+  .byte  180,62                              // mov           $0x3e,%ah
+  .byte  163,233,220,63,163                  // mov           %eax,0xa33fdce9
+  .byte  233,220,63,163,233                  // jmp           e9a44a26 <_sk_srcover_bgra_8888_sse2_lowp+0xe9a345aa>
+  .byte  220,63                              // fdivrl        (%edi)
+  .byte  163,233,220,63,81                   // mov           %eax,0x513fdce9
+  .byte  140,242                             // mov           %?,%edx
+  .byte  66                                  // inc           %edx
+  .byte  81                                  // push          %ecx
+  .byte  140,242                             // mov           %?,%edx
+  .byte  66                                  // inc           %edx
+  .byte  81                                  // push          %ecx
+  .byte  140,242                             // mov           %?,%edx
+  .byte  66                                  // inc           %edx
+  .byte  81                                  // push          %ecx
+  .byte  140,242                             // mov           %?,%edx
+  .byte  66                                  // inc           %edx
+  .byte  141,188,190,63,141,188,190          // lea           -0x414372c1(%esi,%edi,4),%edi
+  .byte  63                                  // aas
+  .byte  141,188,190,63,141,188,190          // lea           -0x414372c1(%esi,%edi,4),%edi
+  .byte  63                                  // aas
+  .byte  248                                 // clc
+  .byte  245                                 // cmc
+  .byte  154,64,248,245,154,64,248           // lcall         $0xf840,$0x9af5f840
+  .byte  245                                 // cmc
+  .byte  154,64,248,245,154,64,254           // lcall         $0xfe40,$0x9af5f840
+  .byte  210,221                             // rcr           %cl,%ch
+  .byte  65                                  // inc           %ecx
+  .byte  254                                 // (bad)
+  .byte  210,221                             // rcr           %cl,%ch
+  .byte  65                                  // inc           %ecx
+  .byte  254                                 // (bad)
+  .byte  210,221                             // rcr           %cl,%ch
+  .byte  65                                  // inc           %ecx
+  .byte  254                                 // (bad)
+  .byte  210,221                             // rcr           %cl,%ch
+  .byte  65                                  // inc           %ecx
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,75,0                              // add           %cl,0x0(%ebx)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  75                                  // dec           %ebx
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,75,0                              // add           %cl,0x0(%ebx)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  75                                  // dec           %ebx
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  200,66,0,0                          // enter         $0x42,$0x0
+  .byte  200,66,0,0                          // enter         $0x42,$0x0
+  .byte  200,66,0,0                          // enter         $0x42,$0x0
+  .byte  200,66,0,0                          // enter         $0x42,$0x0
+  .byte  0,195                               // add           %al,%bl
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,195                               // add           %al,%bl
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,195                               // add           %al,%bl
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,195                               // add           %al,%bl
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  128,65,0,0                          // addb          $0x0,0x0(%ecx)
+  .byte  128,65,0,0                          // addb          $0x0,0x0(%ecx)
+  .byte  128,65,0,0                          // addb          $0x0,0x0(%ecx)
+  .byte  128,65,203,61                       // addb          $0x3d,-0x35(%ecx)
+  .byte  13,60,203,61,13                     // or            $0xd3dcb3c,%eax
+  .byte  60,203                              // cmp           $0xcb,%al
+  .byte  61,13,60,203,61                     // cmp           $0x3dcb3c0d,%eax
+  .byte  13,60,111,18,3                      // or            $0x3126f3c,%eax
+  .byte  59,111,18                           // cmp           0x12(%edi),%ebp
+  .byte  3,59                                // add           (%ebx),%edi
+  .byte  111                                 // outsl         %ds:(%esi),(%dx)
+  .byte  18,3                                // adc           (%ebx),%al
+  .byte  59,111,18                           // cmp           0x12(%edi),%ebp
+  .byte  3,59                                // add           (%ebx),%edi
+  .byte  10,215                              // or            %bh,%dl
+  .byte  163,59,10,215,163                   // mov           %eax,0xa3d70a3b
+  .byte  59,10                               // cmp           (%edx),%ecx
+  .byte  215                                 // xlat          %ds:(%ebx)
+  .byte  163,59,10,215,163                   // mov           %eax,0xa3d70a3b
+  .byte  59,194                              // cmp           %edx,%eax
+  .byte  24,17                               // sbb           %dl,(%ecx)
+  .byte  60,194                              // cmp           $0xc2,%al
+  .byte  24,17                               // sbb           %dl,(%ecx)
+  .byte  60,194                              // cmp           $0xc2,%al
+  .byte  24,17                               // sbb           %dl,(%ecx)
+  .byte  60,194                              // cmp           $0xc2,%al
+  .byte  24,17                               // sbb           %dl,(%ecx)
+  .byte  60,203                              // cmp           $0xcb,%al
+  .byte  61,13,190,203,61                    // cmp           $0x3dcbbe0d,%eax
+  .byte  13,190,203,61,13                    // or            $0xd3dcbbe,%eax
+  .byte  190,203,61,13,190                   // mov           $0xbe0d3dcb,%esi
+  .byte  80                                  // push          %eax
+  .byte  128,3,62                            // addb          $0x3e,(%ebx)
+  .byte  80                                  // push          %eax
+  .byte  128,3,62                            // addb          $0x3e,(%ebx)
+  .byte  80                                  // push          %eax
+  .byte  128,3,62                            // addb          $0x3e,(%ebx)
+  .byte  80                                  // push          %eax
+  .byte  128,3,62                            // addb          $0x3e,(%ebx)
+  .byte  31                                  // pop           %ds
+  .byte  215                                 // xlat          %ds:(%ebx)
+  .byte  118,63                              // jbe           10b73 <.literal16+0x423>
+  .byte  31                                  // pop           %ds
+  .byte  215                                 // xlat          %ds:(%ebx)
+  .byte  118,63                              // jbe           10b77 <.literal16+0x427>
+  .byte  31                                  // pop           %ds
+  .byte  215                                 // xlat          %ds:(%ebx)
+  .byte  118,63                              // jbe           10b7b <.literal16+0x42b>
+  .byte  31                                  // pop           %ds
+  .byte  215                                 // xlat          %ds:(%ebx)
+  .byte  118,63                              // jbe           10b7f <.literal16+0x42f>
+  .byte  246,64,83,63                        // testb         $0x3f,0x53(%eax)
+  .byte  246,64,83,63                        // testb         $0x3f,0x53(%eax)
+  .byte  246,64,83,63                        // testb         $0x3f,0x53(%eax)
+  .byte  246,64,83,63                        // testb         $0x3f,0x53(%eax)
+  .byte  255,0                               // incl          (%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  255,0                               // incl          (%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  248                                 // clc
+  .byte  65                                  // inc           %ecx
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  248                                 // clc
+  .byte  65                                  // inc           %ecx
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  248                                 // clc
+  .byte  65                                  // inc           %ecx
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  248                                 // clc
+  .byte  65                                  // inc           %ecx
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  124,66                              // jl            10bb6 <.literal16+0x466>
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  124,66                              // jl            10bba <.literal16+0x46a>
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  124,66                              // jl            10bbe <.literal16+0x46e>
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  124,66                              // jl            10bc2 <.literal16+0x472>
+  .byte  0,240                               // add           %dh,%al
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,240                               // add           %dh,%al
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,240                               // add           %dh,%al
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,240                               // add           %dh,%al
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  137,136,136,55,137,136              // mov           %ecx,-0x7776c878(%eax)
+  .byte  136,55                              // mov           %dh,(%edi)
+  .byte  137,136,136,55,137,136              // mov           %ecx,-0x7776c878(%eax)
+  .byte  136,55                              // mov           %dh,(%edi)
+  .byte  0,15                                // add           %cl,(%edi)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,15                                // add           %cl,(%edi)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,15                                // add           %cl,(%edi)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,15                                // add           %cl,(%edi)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  137,136,136,57,137,136              // mov           %ecx,-0x7776c678(%eax)
+  .byte  136,57                              // mov           %bh,(%ecx)
+  .byte  137,136,136,57,137,136              // mov           %ecx,-0x7776c678(%eax)
+  .byte  136,57                              // mov           %bh,(%ecx)
+  .byte  240,0,0                             // lock          add %al,(%eax)
+  .byte  0,240                               // add           %dh,%al
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,240                               // add           %dh,%al
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,240                               // add           %dh,%al
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,137,136,136,59,137                // add           %cl,-0x76c47778(%ecx)
+  .byte  136,136,59,137,136,136              // mov           %cl,-0x777776c5(%eax)
+  .byte  59,137,136,136,59,15                // cmp           0xf3b8888(%ecx),%ecx
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,15                                // add           %cl,(%edi)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,15                                // add           %cl,(%edi)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,15                                // add           %cl,(%edi)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,137,136,136,61,137                // add           %cl,-0x76c27778(%ecx)
+  .byte  136,136,61,137,136,136              // mov           %cl,-0x777776c3(%eax)
+  .byte  61,137,136,136,61                   // cmp           $0x3d888889,%eax
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  112,65                              // jo            10c45 <.literal16+0x4f5>
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  112,65                              // jo            10c49 <.literal16+0x4f9>
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  112,65                              // jo            10c4d <.literal16+0x4fd>
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  112,65                              // jo            10c51 <.literal16+0x501>
+  .byte  255,3                               // incl          (%ebx)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  255,3                               // incl          (%ebx)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  255,3                               // incl          (%ebx)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  255,3                               // incl          (%ebx)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  8,32                                // or            %ah,(%eax)
+  .byte  128,58,8                            // cmpb          $0x8,(%edx)
+  .byte  32,128,58,8,32,128                  // and           %al,-0x7fdff7c6(%eax)
+  .byte  58,8                                // cmp           (%eax),%cl
+  .byte  32,128,58,0,192,127                 // and           %al,0x7fc0003a(%eax)
+  .byte  68                                  // inc           %esp
+  .byte  0,192                               // add           %al,%al
+  .byte  127,68                              // jg            10c7c <.literal16+0x52c>
+  .byte  0,192                               // add           %al,%al
+  .byte  127,68                              // jg            10c80 <.literal16+0x530>
+  .byte  0,192                               // add           %al,%al
+  .byte  127,68                              // jg            10c84 <.literal16+0x534>
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  64                                  // inc           %eax
+  .byte  64                                  // inc           %eax
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  64                                  // inc           %eax
+  .byte  64                                  // inc           %eax
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  64                                  // inc           %eax
+  .byte  64                                  // inc           %eax
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  64                                  // inc           %eax
+  .byte  64                                  // inc           %eax
+  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  255                                 // (bad)
+  .byte  127,0                               // jg            10c63 <.literal16+0x513>
+  .byte  0,255                               // add           %bh,%bh
+  .byte  127,0                               // jg            10c67 <.literal16+0x517>
+  .byte  0,255                               // add           %bh,%bh
+  .byte  127,0                               // jg            10c6b <.literal16+0x51b>
+  .byte  0,255                               // add           %bh,%bh
+  .byte  127,0                               // jg            10c6f <.literal16+0x51f>
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  4,0                                 // add           $0x0,%al
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  4,0                                 // add           $0x0,%al
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  4,0                                 // add           $0x0,%al
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  4,0                                 // add           $0x0,%al
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  56,0                                // cmp           %al,(%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  56,0                                // cmp           %al,(%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  56,0                                // cmp           %al,(%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  56,0                                // cmp           %al,(%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  128,0,0                             // addb          $0x0,(%eax)
+  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,128,255,255,255,127               // add           %al,0x7fffffff(%eax)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  127,255                             // jg            10ca8 <.literal16+0x558>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  127,255                             // jg            10cac <.literal16+0x55c>
+  .byte  255                                 // (bad)
+  .byte  255                                 // (bad)
+  .byte  127,0                               // jg            10cb1 <.literal16+0x561>
+  .byte  0,128,56,0,0,128                    // add           %al,-0x7fffffc8(%eax)
+  .byte  56,0                                // cmp           %al,(%eax)
+  .byte  0,128,56,0,0,128                    // add           %al,-0x7fffffc8(%eax)
+  .byte  56,0                                // cmp           %al,(%eax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  255,0                               // incl          (%eax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  255,0                               // incl          (%eax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  255,0                               // incl          (%eax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  255,0                               // incl          (%eax)
+  .byte  255                                 // (bad)
+  .byte  127,71                              // jg            10d1b <.literal16+0x5cb>
+  .byte  0,255                               // add           %bh,%bh
+  .byte  127,71                              // jg            10d1f <.literal16+0x5cf>
+  .byte  0,255                               // add           %bh,%bh
+  .byte  127,71                              // jg            10d23 <.literal16+0x5d3>
+  .byte  0,255                               // add           %bh,%bh
+  .byte  127,71                              // jg            10d27 <.literal16+0x5d7>
+  .byte  208                                 // (bad)
+  .byte  179,89                              // mov           $0x59,%bl
+  .byte  62,208                              // ds            (bad)
+  .byte  179,89                              // mov           $0x59,%bl
+  .byte  62,208                              // ds            (bad)
+  .byte  179,89                              // mov           $0x59,%bl
+  .byte  62,208                              // ds            (bad)
+  .byte  179,89                              // mov           $0x59,%bl
+  .byte  62,89                               // ds            pop %ecx
+  .byte  23                                  // pop           %ss
+  .byte  55                                  // aaa
+  .byte  63                                  // aas
+  .byte  89                                  // pop           %ecx
+  .byte  23                                  // pop           %ss
+  .byte  55                                  // aaa
+  .byte  63                                  // aas
+  .byte  89                                  // pop           %ecx
+  .byte  23                                  // pop           %ss
+  .byte  55                                  // aaa
+  .byte  63                                  // aas
+  .byte  89                                  // pop           %ecx
+  .byte  23                                  // pop           %ss
+  .byte  55                                  // aaa
+  .byte  63                                  // aas
+  .byte  152                                 // cwtl
+  .byte  221,147,61,152,221,147              // fstl          -0x6c2267c3(%ebx)
+  .byte  61,152,221,147,61                   // cmp           $0x3d93dd98,%eax
+  .byte  152                                 // cwtl
+  .byte  221,147,61,255,255,0                // fstl          0xffff3d(%ebx)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  255,0                               // incl          (%eax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  255,0                               // incl          (%eax)
+  .byte  0,255                               // add           %bh,%bh
+  .byte  255,0                               // incl          (%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  83                                  // push          %ebx
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,83,0                              // add           %dl,0x0(%ebx)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  83                                  // push          %ebx
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,83,128                            // add           %dl,-0x80(%ebx)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  211,128,0,0,211,128                 // roll          %cl,-0x7f2d0000(%eax)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  211,128,0,0,211,111                 // roll          %cl,0x6fd30000(%eax)
+  .byte  43,231                              // sub           %edi,%esp
+  .byte  187,111,43,231,187                  // mov           $0xbbe72b6f,%ebx
+  .byte  111                                 // outsl         %ds:(%esi),(%dx)
+  .byte  43,231                              // sub           %edi,%esp
+  .byte  187,111,43,231,187                  // mov           $0xbbe72b6f,%ebx
+  .byte  159                                 // lahf
+  .byte  215                                 // xlat          %ds:(%ebx)
+  .byte  202,60,159                          // lret          $0x9f3c
+  .byte  215                                 // xlat          %ds:(%ebx)
+  .byte  202,60,159                          // lret          $0x9f3c
+  .byte  215                                 // xlat          %ds:(%ebx)
+  .byte  202,60,159                          // lret          $0x9f3c
+  .byte  215                                 // xlat          %ds:(%ebx)
+  .byte  202,60,212                          // lret          $0xd43c
+  .byte  100,84                              // fs            push %esp
+  .byte  189,212,100,84,189                  // mov           $0xbd5464d4,%ebp
+  .byte  212,100                             // aam           $0x64
+  .byte  84                                  // push          %esp
+  .byte  189,212,100,84,189                  // mov           $0xbd5464d4,%ebp
+  .byte  169,240,34,62,169                   // test          $0xa93e22f0,%eax
+  .byte  240,34,62                           // lock          and (%esi),%bh
+  .byte  169,240,34,62,169                   // test          $0xa93e22f0,%eax
+  .byte  240,34,62                           // lock          and (%esi),%bh
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  128,62,0                            // cmpb          $0x0,(%esi)
+  .byte  0,128,62,0,0,128                    // add           %al,-0x7fffffc2(%eax)
+  .byte  62,0,0                              // add           %al,%ds:(%eax)
+  .byte  128,62,0                            // cmpb          $0x0,(%esi)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  191,0,0,0,191                       // mov           $0xbf000000,%edi
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,191,0,0,0,191                     // add           %bh,-0x41000000(%edi)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  192,191,0,0,192,191,0               // sarb          $0x0,-0x40400000(%edi)
+  .byte  0,192                               // add           %al,%al
+  .byte  191,0,0,192,191                     // mov           $0xbfc00000,%edi
+  .byte  114,28                              // jb            10dce <.literal16+0x67e>
+  .byte  199                                 // (bad)
+  .byte  62,114,28                           // jb,pt         10dd2 <.literal16+0x682>
+  .byte  199                                 // (bad)
+  .byte  62,114,28                           // jb,pt         10dd6 <.literal16+0x686>
+  .byte  199                                 // (bad)
+  .byte  62,114,28                           // jb,pt         10dda <.literal16+0x68a>
+  .byte  199                                 // (bad)
+  .byte  62,85                               // ds            push %ebp
+  .byte  85                                  // push          %ebp
+  .byte  149                                 // xchg          %eax,%ebp
+  .byte  191,85,85,149,191                   // mov           $0xbf955555,%edi
+  .byte  85                                  // push          %ebp
+  .byte  85                                  // push          %ebp
+  .byte  149                                 // xchg          %eax,%ebp
+  .byte  191,85,85,149,191                   // mov           $0xbf955555,%edi
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  192,63,0                            // sarb          $0x0,(%edi)
+  .byte  0,192                               // add           %al,%al
+  .byte  63                                  // aas
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  192,63,0                            // sarb          $0x0,(%edi)
+  .byte  0,192                               // add           %al,%al
+  .byte  63                                  // aas
+  .byte  57,142,99,61,57,142                 // cmp           %ecx,-0x71c6c29d(%esi)
+  .byte  99,61,57,142,99,61                  // arpl          %di,0x3d638e39
+  .byte  57,142,99,61,114,249                // cmp           %ecx,-0x68dc29d(%esi)
+  .byte  127,63                              // jg            10e33 <.literal16+0x6e3>
+  .byte  114,249                             // jb            10def <.literal16+0x69f>
+  .byte  127,63                              // jg            10e37 <.literal16+0x6e7>
+  .byte  114,249                             // jb            10df3 <.literal16+0x6a3>
+  .byte  127,63                              // jg            10e3b <.literal16+0x6eb>
+  .byte  114,249                             // jb            10df7 <.literal16+0x6a7>
+  .byte  127,63                              // jg            10e3f <.literal16+0x6ef>
+  .byte  3,0                                 // add           (%eax),%eax
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  3,0                                 // add           (%eax),%eax
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  3,0                                 // add           (%eax),%eax
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  3,0                                 // add           (%eax),%eax
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  45,16,17,192,45                     // sub           $0x2dc01110,%eax
+  .byte  16,17                               // adc           %dl,(%ecx)
+  .byte  192,45,16,17,192,45,16              // shrb          $0x10,0x2dc01110
+  .byte  17,192                              // adc           %eax,%eax
+  .byte  18,120,57                           // adc           0x39(%eax),%bh
+  .byte  64                                  // inc           %eax
+  .byte  18,120,57                           // adc           0x39(%eax),%bh
+  .byte  64                                  // inc           %eax
+  .byte  18,120,57                           // adc           0x39(%eax),%bh
+  .byte  64                                  // inc           %eax
+  .byte  18,120,57                           // adc           0x39(%eax),%bh
+  .byte  64                                  // inc           %eax
+  .byte  32,148,90,62,32,148,90              // and           %dl,0x5a94203e(%edx,%ebx,2)
+  .byte  62,32,148,90,62,32,148,90           // and           %dl,%ds:0x5a94203e(%edx,%ebx,2)
+  .byte  62,4,157                            // ds            add $0x9d,%al
+  .byte  30                                  // push          %ds
+  .byte  62,4,157                            // ds            add $0x9d,%al
+  .byte  30                                  // push          %ds
+  .byte  62,4,157                            // ds            add $0x9d,%al
+  .byte  30                                  // push          %ds
+  .byte  62,4,157                            // ds            add $0x9d,%al
+  .byte  30                                  // push          %ds
+  .byte  62,0,24                             // add           %bl,%ds:(%eax)
+  .byte  161,57,0,24,161                     // mov           0xa1180039,%eax
+  .byte  57,0                                // cmp           %eax,(%eax)
+  .byte  24,161,57,0,24,161                  // sbb           %ah,-0x5ee7ffc7(%ecx)
+  .byte  57,255                              // cmp           %edi,%edi
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  128,0,128                           // addb          $0x80,(%eax)
+  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%eax)
+  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%eax)
+  .byte  254,0                               // incb          (%eax)
+  .byte  254,0                               // incb          (%eax)
+  .byte  254,0                               // incb          (%eax)
+  .byte  254,0                               // incb          (%eax)
+  .byte  254,0                               // incb          (%eax)
+  .byte  254,0                               // incb          (%eax)
+  .byte  254,0                               // incb          (%eax)
+  .byte  254,0                               // incb          (%eax)
+  .byte  254,1                               // incb          (%ecx)
+  .byte  254,1                               // incb          (%ecx)
+  .byte  254,1                               // incb          (%ecx)
+  .byte  254,1                               // incb          (%ecx)
+  .byte  254,1                               // incb          (%ecx)
+  .byte  254,1                               // incb          (%ecx)
+  .byte  254,1                               // incb          (%ecx)
+  .byte  254,1                               // incb          (%ecx)
+  .byte  248                                 // clc
+  .byte  0,248                               // add           %bh,%al
+  .byte  0,248                               // add           %bh,%al
+  .byte  0,248                               // add           %bh,%al
+  .byte  0,248                               // add           %bh,%al
+  .byte  0,248                               // add           %bh,%al
+  .byte  0,248                               // add           %bh,%al
+  .byte  0,248                               // add           %bh,%al
+  .byte  0,63                                // add           %bh,(%edi)
+  .byte  0,63                                // add           %bh,(%edi)
+  .byte  0,63                                // add           %bh,(%edi)
+  .byte  0,63                                // add           %bh,(%edi)
+  .byte  0,63                                // add           %bh,(%edi)
+  .byte  0,63                                // add           %bh,(%edi)
+  .byte  0,63                                // add           %bh,(%edi)
+  .byte  0,63                                // add           %bh,(%edi)
+  .byte  0,31                                // add           %bl,(%edi)
+  .byte  0,31                                // add           %bl,(%edi)
+  .byte  0,31                                // add           %bl,(%edi)
+  .byte  0,31                                // add           %bl,(%edi)
+  .byte  0,31                                // add           %bl,(%edi)
+  .byte  0,31                                // add           %bl,(%edi)
+  .byte  0,31                                // add           %bl,(%edi)
+  .byte  0,31                                // add           %bl,(%edi)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  248                                 // clc
+  .byte  0,248                               // add           %bh,%al
+  .byte  0,248                               // add           %bh,%al
+  .byte  0,248                               // add           %bh,%al
+  .byte  0,248                               // add           %bh,%al
+  .byte  0,248                               // add           %bh,%al
+  .byte  0,248                               // add           %bh,%al
+  .byte  0,248                               // add           %bh,%al
+  .byte  224,255                             // loopne        10ee1 <.literal16+0x791>
+  .byte  224,255                             // loopne        10ee3 <.literal16+0x793>
+  .byte  224,255                             // loopne        10ee5 <.literal16+0x795>
+  .byte  224,255                             // loopne        10ee7 <.literal16+0x797>
+  .byte  224,255                             // loopne        10ee9 <.literal16+0x799>
+  .byte  224,255                             // loopne        10eeb <.literal16+0x79b>
+  .byte  224,255                             // loopne        10eed <.literal16+0x79d>
+  .byte  224,255                             // loopne        10eef <.literal16+0x79f>
+  .byte  15,0,15                             // str           (%edi)
+  .byte  0,15                                // add           %cl,(%edi)
+  .byte  0,15                                // add           %cl,(%edi)
+  .byte  0,15                                // add           %cl,(%edi)
+  .byte  0,15                                // add           %cl,(%edi)
+  .byte  0,15                                // add           %cl,(%edi)
+  .byte  0,15                                // add           %cl,(%edi)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  240,0,240                           // lock          add %dh,%al
+  .byte  0,240                               // add           %dh,%al
+  .byte  0,240                               // add           %dh,%al
+  .byte  0,240                               // add           %dh,%al
+  .byte  0,240                               // add           %dh,%al
+  .byte  0,240                               // add           %dh,%al
+  .byte  0,240                               // add           %dh,%al
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  0,255                               // add           %bh,%bh
+  .byte  240,255,240                         // lock          push %eax
+  .byte  255,240                             // push          %eax
+  .byte  255,240                             // push          %eax
+  .byte  255,240                             // push          %eax
+  .byte  255,240                             // push          %eax
+  .byte  255,240                             // push          %eax
+  .byte  255,240                             // push          %eax
+  .byte  255,54                              // pushl         (%esi)
+  .byte  0,54                                // add           %dh,(%esi)
+  .byte  0,54                                // add           %dh,(%esi)
+  .byte  0,54                                // add           %dh,(%esi)
+  .byte  0,54                                // add           %dh,(%esi)
+  .byte  0,54                                // add           %dh,(%esi)
+  .byte  0,54                                // add           %dh,(%esi)
+  .byte  0,54                                // add           %dh,(%esi)
+  .byte  0,183,0,183,0,183                   // add           %dh,-0x48ff4900(%edi)
+  .byte  0,183,0,183,0,183                   // add           %dh,-0x48ff4900(%edi)
+  .byte  0,183,0,183,0,19                    // add           %dh,0x1300b700(%edi)
+  .byte  0,19                                // add           %dl,(%ebx)
+  .byte  0,19                                // add           %dl,(%ebx)
+  .byte  0,19                                // add           %dl,(%ebx)
+  .byte  0,19                                // add           %dl,(%ebx)
+  .byte  0,19                                // add           %dl,(%ebx)
+  .byte  0,19                                // add           %dl,(%ebx)
+  .byte  0,19                                // add           %dl,(%ebx)
+  .byte  0                                   // .byte         0x0
+
+BALIGN4
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,63                                // add           %bh,(%edi)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  0,191,0,0,128,63                    // add           %bh,0x3f800000(%edi)
+  .byte  0,0                                 // add           %al,(%eax)
+  .byte  127,67                              // jg            10fb3 <_sk_srcover_bgra_8888_sse2_lowp+0xb37>
+#endif
diff --git a/src/jumper/SkJumper_generated_win.S b/src/jumper/SkJumper_generated_win.S
new file mode 100644
index 0000000..c8bc7df
--- /dev/null
+++ b/src/jumper/SkJumper_generated_win.S
@@ -0,0 +1,73478 @@
+; Copyright 2017 Google Inc.
+;
+; Use of this source code is governed by a BSD-style license that can be
+; found in the LICENSE file.
+
+; This file is generated semi-automatically with this command:
+;   $ src/jumper/build_stages.py
+
+IFDEF RAX
+_text32 SEGMENT ALIGN(32) 'CODE'
+ALIGN 32
+
+PUBLIC _sk_start_pipeline_hsw
+_sk_start_pipeline_hsw LABEL PROC
+  DB  85                                  ; push          %rbp
+  DB  72,137,229                          ; mov           %rsp,%rbp
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,85                               ; push          %r13
+  DB  65,84                               ; push          %r12
+  DB  86                                  ; push          %rsi
+  DB  87                                  ; push          %rdi
+  DB  83                                  ; push          %rbx
+  DB  72,129,236,200,0,0,0                ; sub           $0xc8,%rsp
+  DB  197,120,41,125,176                  ; vmovaps       %xmm15,-0x50(%rbp)
+  DB  197,120,41,117,160                  ; vmovaps       %xmm14,-0x60(%rbp)
+  DB  197,120,41,109,144                  ; vmovaps       %xmm13,-0x70(%rbp)
+  DB  197,120,41,101,128                  ; vmovaps       %xmm12,-0x80(%rbp)
+  DB  197,120,41,157,112,255,255,255      ; vmovaps       %xmm11,-0x90(%rbp)
+  DB  197,120,41,149,96,255,255,255       ; vmovaps       %xmm10,-0xa0(%rbp)
+  DB  197,120,41,141,80,255,255,255       ; vmovaps       %xmm9,-0xb0(%rbp)
+  DB  197,120,41,133,64,255,255,255       ; vmovaps       %xmm8,-0xc0(%rbp)
+  DB  197,248,41,189,48,255,255,255       ; vmovaps       %xmm7,-0xd0(%rbp)
+  DB  197,248,41,181,32,255,255,255       ; vmovaps       %xmm6,-0xe0(%rbp)
+  DB  77,137,199                          ; mov           %r8,%r15
+  DB  72,137,211                          ; mov           %rdx,%rbx
+  DB  72,137,141,24,255,255,255           ; mov           %rcx,-0xe8(%rbp)
+  DB  72,139,117,48                       ; mov           0x30(%rbp),%rsi
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  73,137,197                          ; mov           %rax,%r13
+  DB  73,137,246                          ; mov           %rsi,%r14
+  DB  76,137,141,8,255,255,255            ; mov           %r9,-0xf8(%rbp)
+  DB  76,57,203                           ; cmp           %r9,%rbx
+  DB  15,131,169,0,0,0                    ; jae           12c <_sk_start_pipeline_hsw+0x12c>
+  DB  72,139,133,24,255,255,255           ; mov           -0xe8(%rbp),%rax
+  DB  72,141,64,8                         ; lea           0x8(%rax),%rax
+  DB  72,137,133,16,255,255,255           ; mov           %rax,-0xf0(%rbp)
+  DB  72,139,149,24,255,255,255           ; mov           -0xe8(%rbp),%rdx
+  DB  76,57,189,16,255,255,255            ; cmp           %r15,-0xf0(%rbp)
+  DB  119,70                              ; ja            eb <_sk_start_pipeline_hsw+0xeb>
+  DB  76,139,165,24,255,255,255           ; mov           -0xe8(%rbp),%r12
+  DB  49,255                              ; xor           %edi,%edi
+  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
+  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
+  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
+  DB  197,228,87,219                      ; vxorps        %ymm3,%ymm3,%ymm3
+  DB  197,220,87,228                      ; vxorps        %ymm4,%ymm4,%ymm4
+  DB  197,212,87,237                      ; vxorps        %ymm5,%ymm5,%ymm5
+  DB  197,204,87,246                      ; vxorps        %ymm6,%ymm6,%ymm6
+  DB  197,196,87,255                      ; vxorps        %ymm7,%ymm7,%ymm7
+  DB  76,137,246                          ; mov           %r14,%rsi
+  DB  76,137,226                          ; mov           %r12,%rdx
+  DB  72,137,217                          ; mov           %rbx,%rcx
+  DB  65,255,213                          ; callq         *%r13
+  DB  73,141,84,36,8                      ; lea           0x8(%r12),%rdx
+  DB  73,131,196,16                       ; add           $0x10,%r12
+  DB  77,57,252                           ; cmp           %r15,%r12
+  DB  73,137,212                          ; mov           %rdx,%r12
+  DB  118,193                             ; jbe           ac <_sk_start_pipeline_hsw+0xac>
+  DB  76,137,255                          ; mov           %r15,%rdi
+  DB  72,41,215                           ; sub           %rdx,%rdi
+  DB  116,41                              ; je            11c <_sk_start_pipeline_hsw+0x11c>
+  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
+  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
+  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
+  DB  197,228,87,219                      ; vxorps        %ymm3,%ymm3,%ymm3
+  DB  197,220,87,228                      ; vxorps        %ymm4,%ymm4,%ymm4
+  DB  197,212,87,237                      ; vxorps        %ymm5,%ymm5,%ymm5
+  DB  197,204,87,246                      ; vxorps        %ymm6,%ymm6,%ymm6
+  DB  197,196,87,255                      ; vxorps        %ymm7,%ymm7,%ymm7
+  DB  76,137,246                          ; mov           %r14,%rsi
+  DB  72,137,217                          ; mov           %rbx,%rcx
+  DB  65,255,213                          ; callq         *%r13
+  DB  72,255,195                          ; inc           %rbx
+  DB  72,59,157,8,255,255,255             ; cmp           -0xf8(%rbp),%rbx
+  DB  15,133,105,255,255,255              ; jne           95 <_sk_start_pipeline_hsw+0x95>
+  DB  197,248,40,181,32,255,255,255       ; vmovaps       -0xe0(%rbp),%xmm6
+  DB  197,248,40,189,48,255,255,255       ; vmovaps       -0xd0(%rbp),%xmm7
+  DB  197,120,40,133,64,255,255,255       ; vmovaps       -0xc0(%rbp),%xmm8
+  DB  197,120,40,141,80,255,255,255       ; vmovaps       -0xb0(%rbp),%xmm9
+  DB  197,120,40,149,96,255,255,255       ; vmovaps       -0xa0(%rbp),%xmm10
+  DB  197,120,40,157,112,255,255,255      ; vmovaps       -0x90(%rbp),%xmm11
+  DB  197,120,40,101,128                  ; vmovaps       -0x80(%rbp),%xmm12
+  DB  197,120,40,109,144                  ; vmovaps       -0x70(%rbp),%xmm13
+  DB  197,120,40,117,160                  ; vmovaps       -0x60(%rbp),%xmm14
+  DB  197,120,40,125,176                  ; vmovaps       -0x50(%rbp),%xmm15
+  DB  72,129,196,200,0,0,0                ; add           $0xc8,%rsp
+  DB  91                                  ; pop           %rbx
+  DB  95                                  ; pop           %rdi
+  DB  94                                  ; pop           %rsi
+  DB  65,92                               ; pop           %r12
+  DB  65,93                               ; pop           %r13
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  93                                  ; pop           %rbp
+  DB  197,248,119                         ; vzeroupper
+  DB  195                                 ; retq
+
+PUBLIC _sk_just_return_hsw
+_sk_just_return_hsw LABEL PROC
+  DB  195                                 ; retq
+
+PUBLIC _sk_seed_shader_hsw
+_sk_seed_shader_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,249,110,194                     ; vmovd         %edx,%xmm0
+  DB  196,226,125,88,192                  ; vpbroadcastd  %xmm0,%ymm0
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  197,252,88,0                        ; vaddps        (%rax),%ymm0,%ymm0
+  DB  197,249,110,201                     ; vmovd         %ecx,%xmm1
+  DB  196,226,125,88,201                  ; vpbroadcastd  %xmm1,%ymm1
+  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
+  DB  196,226,125,24,21,19,73,3,0         ; vbroadcastss  0x34913(%rip),%ymm2        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  197,244,88,202                      ; vaddps        %ymm2,%ymm1,%ymm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,21,8,73,3,0          ; vbroadcastss  0x34908(%rip),%ymm2        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,228,87,219                      ; vxorps        %ymm3,%ymm3,%ymm3
+  DB  197,220,87,228                      ; vxorps        %ymm4,%ymm4,%ymm4
+  DB  197,212,87,237                      ; vxorps        %ymm5,%ymm5,%ymm5
+  DB  197,204,87,246                      ; vxorps        %ymm6,%ymm6,%ymm6
+  DB  197,196,87,255                      ; vxorps        %ymm7,%ymm7,%ymm7
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_dither_hsw
+_sk_dither_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,121,110,194                     ; vmovd         %edx,%xmm8
+  DB  196,66,125,88,192                   ; vpbroadcastd  %xmm8,%ymm8
+  DB  197,61,254,5,151,74,3,0             ; vpaddd        0x34a97(%rip),%ymm8,%ymm8        # 34c80 <_sk_srcover_bgra_8888_sse2_lowp+0x468>
+  DB  197,121,110,201                     ; vmovd         %ecx,%xmm9
+  DB  196,66,125,88,201                   ; vpbroadcastd  %xmm9,%ymm9
+  DB  196,65,53,239,200                   ; vpxor         %ymm8,%ymm9,%ymm9
+  DB  196,98,125,88,21,204,72,3,0         ; vpbroadcastd  0x348cc(%rip),%ymm10        # 34acc <_sk_srcover_bgra_8888_sse2_lowp+0x2b4>
+  DB  196,65,53,219,218                   ; vpand         %ymm10,%ymm9,%ymm11
+  DB  196,193,37,114,243,5                ; vpslld        $0x5,%ymm11,%ymm11
+  DB  196,65,61,219,210                   ; vpand         %ymm10,%ymm8,%ymm10
+  DB  196,193,45,114,242,4                ; vpslld        $0x4,%ymm10,%ymm10
+  DB  196,98,125,88,37,177,72,3,0         ; vpbroadcastd  0x348b1(%rip),%ymm12        # 34ad0 <_sk_srcover_bgra_8888_sse2_lowp+0x2b8>
+  DB  196,98,125,88,45,172,72,3,0         ; vpbroadcastd  0x348ac(%rip),%ymm13        # 34ad4 <_sk_srcover_bgra_8888_sse2_lowp+0x2bc>
+  DB  196,65,53,219,245                   ; vpand         %ymm13,%ymm9,%ymm14
+  DB  196,193,13,114,246,2                ; vpslld        $0x2,%ymm14,%ymm14
+  DB  196,65,37,235,222                   ; vpor          %ymm14,%ymm11,%ymm11
+  DB  196,65,61,219,237                   ; vpand         %ymm13,%ymm8,%ymm13
+  DB  196,65,21,254,237                   ; vpaddd        %ymm13,%ymm13,%ymm13
+  DB  196,65,21,235,210                   ; vpor          %ymm10,%ymm13,%ymm10
+  DB  196,65,53,219,204                   ; vpand         %ymm12,%ymm9,%ymm9
+  DB  196,193,53,114,209,1                ; vpsrld        $0x1,%ymm9,%ymm9
+  DB  196,65,61,219,196                   ; vpand         %ymm12,%ymm8,%ymm8
+  DB  196,193,61,114,208,2                ; vpsrld        $0x2,%ymm8,%ymm8
+  DB  196,65,45,235,192                   ; vpor          %ymm8,%ymm10,%ymm8
+  DB  196,65,61,235,195                   ; vpor          %ymm11,%ymm8,%ymm8
+  DB  196,65,61,235,193                   ; vpor          %ymm9,%ymm8,%ymm8
+  DB  196,65,124,91,192                   ; vcvtdq2ps     %ymm8,%ymm8
+  DB  196,98,125,24,13,94,72,3,0          ; vbroadcastss  0x3485e(%rip),%ymm9        # 34ad8 <_sk_srcover_bgra_8888_sse2_lowp+0x2c0>
+  DB  196,98,125,24,21,89,72,3,0          ; vbroadcastss  0x34859(%rip),%ymm10        # 34adc <_sk_srcover_bgra_8888_sse2_lowp+0x2c4>
+  DB  196,66,61,184,209                   ; vfmadd231ps   %ymm9,%ymm8,%ymm10
+  DB  196,98,125,24,0                     ; vbroadcastss  (%rax),%ymm8
+  DB  196,65,44,89,192                    ; vmulps        %ymm8,%ymm10,%ymm8
+  DB  197,188,88,192                      ; vaddps        %ymm0,%ymm8,%ymm0
+  DB  197,188,88,201                      ; vaddps        %ymm1,%ymm8,%ymm1
+  DB  197,188,88,210                      ; vaddps        %ymm2,%ymm8,%ymm2
+  DB  197,252,93,195                      ; vminps        %ymm3,%ymm0,%ymm0
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,188,95,192                      ; vmaxps        %ymm0,%ymm8,%ymm0
+  DB  197,244,93,203                      ; vminps        %ymm3,%ymm1,%ymm1
+  DB  197,188,95,201                      ; vmaxps        %ymm1,%ymm8,%ymm1
+  DB  197,236,93,211                      ; vminps        %ymm3,%ymm2,%ymm2
+  DB  197,188,95,210                      ; vmaxps        %ymm2,%ymm8,%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_uniform_color_hsw
+_sk_uniform_color_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,0                    ; vbroadcastss  (%rax),%ymm0
+  DB  196,226,125,24,72,4                 ; vbroadcastss  0x4(%rax),%ymm1
+  DB  196,226,125,24,80,8                 ; vbroadcastss  0x8(%rax),%ymm2
+  DB  196,226,125,24,88,12                ; vbroadcastss  0xc(%rax),%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_black_color_hsw
+_sk_black_color_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,29,225,71,3,0        ; vbroadcastss  0x347e1(%rip),%ymm3        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
+  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
+  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_white_color_hsw
+_sk_white_color_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,5,200,71,3,0         ; vbroadcastss  0x347c8(%rip),%ymm0        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,252,40,200                      ; vmovaps       %ymm0,%ymm1
+  DB  197,252,40,208                      ; vmovaps       %ymm0,%ymm2
+  DB  197,252,40,216                      ; vmovaps       %ymm0,%ymm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_load_rgba_hsw
+_sk_load_rgba_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,16,0                        ; vmovups       (%rax),%ymm0
+  DB  197,252,16,72,32                    ; vmovups       0x20(%rax),%ymm1
+  DB  197,252,16,80,64                    ; vmovups       0x40(%rax),%ymm2
+  DB  197,252,16,88,96                    ; vmovups       0x60(%rax),%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_store_rgba_hsw
+_sk_store_rgba_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,17,0                        ; vmovups       %ymm0,(%rax)
+  DB  197,252,17,72,32                    ; vmovups       %ymm1,0x20(%rax)
+  DB  197,252,17,80,64                    ; vmovups       %ymm2,0x40(%rax)
+  DB  197,252,17,88,96                    ; vmovups       %ymm3,0x60(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_clear_hsw
+_sk_clear_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
+  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
+  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
+  DB  197,228,87,219                      ; vxorps        %ymm3,%ymm3,%ymm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_srcatop_hsw
+_sk_srcatop_hsw LABEL PROC
+  DB  197,252,89,199                      ; vmulps        %ymm7,%ymm0,%ymm0
+  DB  196,98,125,24,5,103,71,3,0          ; vbroadcastss  0x34767(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
+  DB  196,226,61,184,196                  ; vfmadd231ps   %ymm4,%ymm8,%ymm0
+  DB  197,244,89,207                      ; vmulps        %ymm7,%ymm1,%ymm1
+  DB  196,226,61,184,205                  ; vfmadd231ps   %ymm5,%ymm8,%ymm1
+  DB  197,236,89,215                      ; vmulps        %ymm7,%ymm2,%ymm2
+  DB  196,226,61,184,214                  ; vfmadd231ps   %ymm6,%ymm8,%ymm2
+  DB  197,60,89,199                       ; vmulps        %ymm7,%ymm8,%ymm8
+  DB  196,194,69,168,216                  ; vfmadd213ps   %ymm8,%ymm7,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_dstatop_hsw
+_sk_dstatop_hsw LABEL PROC
+  DB  196,98,125,24,5,54,71,3,0           ; vbroadcastss  0x34736(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,60,92,199                       ; vsubps        %ymm7,%ymm8,%ymm8
+  DB  197,188,89,192                      ; vmulps        %ymm0,%ymm8,%ymm0
+  DB  196,226,101,184,196                 ; vfmadd231ps   %ymm4,%ymm3,%ymm0
+  DB  197,188,89,201                      ; vmulps        %ymm1,%ymm8,%ymm1
+  DB  196,226,101,184,205                 ; vfmadd231ps   %ymm5,%ymm3,%ymm1
+  DB  197,188,89,210                      ; vmulps        %ymm2,%ymm8,%ymm2
+  DB  196,226,101,184,214                 ; vfmadd231ps   %ymm6,%ymm3,%ymm2
+  DB  197,60,89,195                       ; vmulps        %ymm3,%ymm8,%ymm8
+  DB  196,194,69,168,216                  ; vfmadd213ps   %ymm8,%ymm7,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_srcin_hsw
+_sk_srcin_hsw LABEL PROC
+  DB  197,252,89,199                      ; vmulps        %ymm7,%ymm0,%ymm0
+  DB  197,244,89,207                      ; vmulps        %ymm7,%ymm1,%ymm1
+  DB  197,236,89,215                      ; vmulps        %ymm7,%ymm2,%ymm2
+  DB  197,228,89,223                      ; vmulps        %ymm7,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_dstin_hsw
+_sk_dstin_hsw LABEL PROC
+  DB  197,228,89,196                      ; vmulps        %ymm4,%ymm3,%ymm0
+  DB  197,228,89,205                      ; vmulps        %ymm5,%ymm3,%ymm1
+  DB  197,228,89,214                      ; vmulps        %ymm6,%ymm3,%ymm2
+  DB  197,228,89,223                      ; vmulps        %ymm7,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_srcout_hsw
+_sk_srcout_hsw LABEL PROC
+  DB  196,98,125,24,5,217,70,3,0          ; vbroadcastss  0x346d9(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,60,92,199                       ; vsubps        %ymm7,%ymm8,%ymm8
+  DB  197,188,89,192                      ; vmulps        %ymm0,%ymm8,%ymm0
+  DB  197,188,89,201                      ; vmulps        %ymm1,%ymm8,%ymm1
+  DB  197,188,89,210                      ; vmulps        %ymm2,%ymm8,%ymm2
+  DB  197,188,89,219                      ; vmulps        %ymm3,%ymm8,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_dstout_hsw
+_sk_dstout_hsw LABEL PROC
+  DB  196,226,125,24,5,184,70,3,0         ; vbroadcastss  0x346b8(%rip),%ymm0        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,252,92,219                      ; vsubps        %ymm3,%ymm0,%ymm3
+  DB  197,228,89,196                      ; vmulps        %ymm4,%ymm3,%ymm0
+  DB  197,228,89,205                      ; vmulps        %ymm5,%ymm3,%ymm1
+  DB  197,228,89,214                      ; vmulps        %ymm6,%ymm3,%ymm2
+  DB  197,228,89,223                      ; vmulps        %ymm7,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_srcover_hsw
+_sk_srcover_hsw LABEL PROC
+  DB  196,98,125,24,5,151,70,3,0          ; vbroadcastss  0x34697(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
+  DB  196,194,93,184,192                  ; vfmadd231ps   %ymm8,%ymm4,%ymm0
+  DB  196,194,85,184,200                  ; vfmadd231ps   %ymm8,%ymm5,%ymm1
+  DB  196,194,77,184,208                  ; vfmadd231ps   %ymm8,%ymm6,%ymm2
+  DB  196,194,69,184,216                  ; vfmadd231ps   %ymm8,%ymm7,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_dstover_hsw
+_sk_dstover_hsw LABEL PROC
+  DB  196,98,125,24,5,114,70,3,0          ; vbroadcastss  0x34672(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,60,92,199                       ; vsubps        %ymm7,%ymm8,%ymm8
+  DB  196,226,61,168,196                  ; vfmadd213ps   %ymm4,%ymm8,%ymm0
+  DB  196,226,61,168,205                  ; vfmadd213ps   %ymm5,%ymm8,%ymm1
+  DB  196,226,61,168,214                  ; vfmadd213ps   %ymm6,%ymm8,%ymm2
+  DB  196,226,61,168,223                  ; vfmadd213ps   %ymm7,%ymm8,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_modulate_hsw
+_sk_modulate_hsw LABEL PROC
+  DB  197,252,89,196                      ; vmulps        %ymm4,%ymm0,%ymm0
+  DB  197,244,89,205                      ; vmulps        %ymm5,%ymm1,%ymm1
+  DB  197,236,89,214                      ; vmulps        %ymm6,%ymm2,%ymm2
+  DB  197,228,89,223                      ; vmulps        %ymm7,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_multiply_hsw
+_sk_multiply_hsw LABEL PROC
+  DB  196,98,125,24,5,57,70,3,0           ; vbroadcastss  0x34639(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,60,92,207                       ; vsubps        %ymm7,%ymm8,%ymm9
+  DB  197,52,89,208                       ; vmulps        %ymm0,%ymm9,%ymm10
+  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
+  DB  196,98,61,184,212                   ; vfmadd231ps   %ymm4,%ymm8,%ymm10
+  DB  196,194,93,168,194                  ; vfmadd213ps   %ymm10,%ymm4,%ymm0
+  DB  197,52,89,209                       ; vmulps        %ymm1,%ymm9,%ymm10
+  DB  196,98,61,184,213                   ; vfmadd231ps   %ymm5,%ymm8,%ymm10
+  DB  196,194,85,168,202                  ; vfmadd213ps   %ymm10,%ymm5,%ymm1
+  DB  197,52,89,210                       ; vmulps        %ymm2,%ymm9,%ymm10
+  DB  196,98,61,184,214                   ; vfmadd231ps   %ymm6,%ymm8,%ymm10
+  DB  196,194,77,168,210                  ; vfmadd213ps   %ymm10,%ymm6,%ymm2
+  DB  197,52,89,203                       ; vmulps        %ymm3,%ymm9,%ymm9
+  DB  196,66,69,168,193                   ; vfmadd213ps   %ymm9,%ymm7,%ymm8
+  DB  196,194,69,168,216                  ; vfmadd213ps   %ymm8,%ymm7,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_plus__hsw
+_sk_plus__hsw LABEL PROC
+  DB  197,252,88,196                      ; vaddps        %ymm4,%ymm0,%ymm0
+  DB  196,98,125,24,5,232,69,3,0          ; vbroadcastss  0x345e8(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,193,124,93,192                  ; vminps        %ymm8,%ymm0,%ymm0
+  DB  197,244,88,205                      ; vaddps        %ymm5,%ymm1,%ymm1
+  DB  196,193,116,93,200                  ; vminps        %ymm8,%ymm1,%ymm1
+  DB  197,236,88,214                      ; vaddps        %ymm6,%ymm2,%ymm2
+  DB  196,193,108,93,208                  ; vminps        %ymm8,%ymm2,%ymm2
+  DB  197,228,88,223                      ; vaddps        %ymm7,%ymm3,%ymm3
+  DB  196,193,100,93,216                  ; vminps        %ymm8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_screen_hsw
+_sk_screen_hsw LABEL PROC
+  DB  197,124,88,196                      ; vaddps        %ymm4,%ymm0,%ymm8
+  DB  196,194,93,172,192                  ; vfnmadd213ps  %ymm8,%ymm4,%ymm0
+  DB  197,116,88,197                      ; vaddps        %ymm5,%ymm1,%ymm8
+  DB  196,194,85,172,200                  ; vfnmadd213ps  %ymm8,%ymm5,%ymm1
+  DB  197,108,88,198                      ; vaddps        %ymm6,%ymm2,%ymm8
+  DB  196,194,77,172,208                  ; vfnmadd213ps  %ymm8,%ymm6,%ymm2
+  DB  197,100,88,199                      ; vaddps        %ymm7,%ymm3,%ymm8
+  DB  196,194,69,172,216                  ; vfnmadd213ps  %ymm8,%ymm7,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_xor__hsw
+_sk_xor__hsw LABEL PROC
+  DB  196,98,125,24,5,147,69,3,0          ; vbroadcastss  0x34593(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,60,92,207                       ; vsubps        %ymm7,%ymm8,%ymm9
+  DB  197,180,89,192                      ; vmulps        %ymm0,%ymm9,%ymm0
+  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
+  DB  196,226,61,184,196                  ; vfmadd231ps   %ymm4,%ymm8,%ymm0
+  DB  197,180,89,201                      ; vmulps        %ymm1,%ymm9,%ymm1
+  DB  196,226,61,184,205                  ; vfmadd231ps   %ymm5,%ymm8,%ymm1
+  DB  197,180,89,210                      ; vmulps        %ymm2,%ymm9,%ymm2
+  DB  196,226,61,184,214                  ; vfmadd231ps   %ymm6,%ymm8,%ymm2
+  DB  197,180,89,219                      ; vmulps        %ymm3,%ymm9,%ymm3
+  DB  196,98,69,168,195                   ; vfmadd213ps   %ymm3,%ymm7,%ymm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,124,41,195                      ; vmovaps       %ymm8,%ymm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_darken_hsw
+_sk_darken_hsw LABEL PROC
+  DB  197,124,88,196                      ; vaddps        %ymm4,%ymm0,%ymm8
+  DB  197,252,89,199                      ; vmulps        %ymm7,%ymm0,%ymm0
+  DB  197,100,89,204                      ; vmulps        %ymm4,%ymm3,%ymm9
+  DB  196,193,124,95,193                  ; vmaxps        %ymm9,%ymm0,%ymm0
+  DB  197,188,92,192                      ; vsubps        %ymm0,%ymm8,%ymm0
+  DB  197,116,88,197                      ; vaddps        %ymm5,%ymm1,%ymm8
+  DB  197,244,89,207                      ; vmulps        %ymm7,%ymm1,%ymm1
+  DB  197,100,89,205                      ; vmulps        %ymm5,%ymm3,%ymm9
+  DB  196,193,116,95,201                  ; vmaxps        %ymm9,%ymm1,%ymm1
+  DB  197,188,92,201                      ; vsubps        %ymm1,%ymm8,%ymm1
+  DB  197,108,88,198                      ; vaddps        %ymm6,%ymm2,%ymm8
+  DB  197,236,89,215                      ; vmulps        %ymm7,%ymm2,%ymm2
+  DB  197,100,89,206                      ; vmulps        %ymm6,%ymm3,%ymm9
+  DB  196,193,108,95,209                  ; vmaxps        %ymm9,%ymm2,%ymm2
+  DB  197,188,92,210                      ; vsubps        %ymm2,%ymm8,%ymm2
+  DB  196,98,125,24,5,23,69,3,0           ; vbroadcastss  0x34517(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
+  DB  196,194,69,184,216                  ; vfmadd231ps   %ymm8,%ymm7,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_lighten_hsw
+_sk_lighten_hsw LABEL PROC
+  DB  197,124,88,196                      ; vaddps        %ymm4,%ymm0,%ymm8
+  DB  197,252,89,199                      ; vmulps        %ymm7,%ymm0,%ymm0
+  DB  197,100,89,204                      ; vmulps        %ymm4,%ymm3,%ymm9
+  DB  196,193,124,93,193                  ; vminps        %ymm9,%ymm0,%ymm0
+  DB  197,188,92,192                      ; vsubps        %ymm0,%ymm8,%ymm0
+  DB  197,116,88,197                      ; vaddps        %ymm5,%ymm1,%ymm8
+  DB  197,244,89,207                      ; vmulps        %ymm7,%ymm1,%ymm1
+  DB  197,100,89,205                      ; vmulps        %ymm5,%ymm3,%ymm9
+  DB  196,193,116,93,201                  ; vminps        %ymm9,%ymm1,%ymm1
+  DB  197,188,92,201                      ; vsubps        %ymm1,%ymm8,%ymm1
+  DB  197,108,88,198                      ; vaddps        %ymm6,%ymm2,%ymm8
+  DB  197,236,89,215                      ; vmulps        %ymm7,%ymm2,%ymm2
+  DB  197,100,89,206                      ; vmulps        %ymm6,%ymm3,%ymm9
+  DB  196,193,108,93,209                  ; vminps        %ymm9,%ymm2,%ymm2
+  DB  197,188,92,210                      ; vsubps        %ymm2,%ymm8,%ymm2
+  DB  196,98,125,24,5,194,68,3,0          ; vbroadcastss  0x344c2(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
+  DB  196,194,69,184,216                  ; vfmadd231ps   %ymm8,%ymm7,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_difference_hsw
+_sk_difference_hsw LABEL PROC
+  DB  197,124,88,196                      ; vaddps        %ymm4,%ymm0,%ymm8
+  DB  197,252,89,199                      ; vmulps        %ymm7,%ymm0,%ymm0
+  DB  197,100,89,204                      ; vmulps        %ymm4,%ymm3,%ymm9
+  DB  196,193,124,93,193                  ; vminps        %ymm9,%ymm0,%ymm0
+  DB  197,252,88,192                      ; vaddps        %ymm0,%ymm0,%ymm0
+  DB  197,188,92,192                      ; vsubps        %ymm0,%ymm8,%ymm0
+  DB  197,116,88,197                      ; vaddps        %ymm5,%ymm1,%ymm8
+  DB  197,244,89,207                      ; vmulps        %ymm7,%ymm1,%ymm1
+  DB  197,100,89,205                      ; vmulps        %ymm5,%ymm3,%ymm9
+  DB  196,193,116,93,201                  ; vminps        %ymm9,%ymm1,%ymm1
+  DB  197,244,88,201                      ; vaddps        %ymm1,%ymm1,%ymm1
+  DB  197,188,92,201                      ; vsubps        %ymm1,%ymm8,%ymm1
+  DB  197,108,88,198                      ; vaddps        %ymm6,%ymm2,%ymm8
+  DB  197,236,89,215                      ; vmulps        %ymm7,%ymm2,%ymm2
+  DB  197,100,89,206                      ; vmulps        %ymm6,%ymm3,%ymm9
+  DB  196,193,108,93,209                  ; vminps        %ymm9,%ymm2,%ymm2
+  DB  197,236,88,210                      ; vaddps        %ymm2,%ymm2,%ymm2
+  DB  197,188,92,210                      ; vsubps        %ymm2,%ymm8,%ymm2
+  DB  196,98,125,24,5,97,68,3,0           ; vbroadcastss  0x34461(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
+  DB  196,194,69,184,216                  ; vfmadd231ps   %ymm8,%ymm7,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_exclusion_hsw
+_sk_exclusion_hsw LABEL PROC
+  DB  197,124,88,196                      ; vaddps        %ymm4,%ymm0,%ymm8
+  DB  197,252,89,196                      ; vmulps        %ymm4,%ymm0,%ymm0
+  DB  197,252,88,192                      ; vaddps        %ymm0,%ymm0,%ymm0
+  DB  197,188,92,192                      ; vsubps        %ymm0,%ymm8,%ymm0
+  DB  197,116,88,197                      ; vaddps        %ymm5,%ymm1,%ymm8
+  DB  197,244,89,205                      ; vmulps        %ymm5,%ymm1,%ymm1
+  DB  197,244,88,201                      ; vaddps        %ymm1,%ymm1,%ymm1
+  DB  197,188,92,201                      ; vsubps        %ymm1,%ymm8,%ymm1
+  DB  197,108,88,198                      ; vaddps        %ymm6,%ymm2,%ymm8
+  DB  197,236,89,214                      ; vmulps        %ymm6,%ymm2,%ymm2
+  DB  197,236,88,210                      ; vaddps        %ymm2,%ymm2,%ymm2
+  DB  197,188,92,210                      ; vsubps        %ymm2,%ymm8,%ymm2
+  DB  196,98,125,24,5,27,68,3,0           ; vbroadcastss  0x3441b(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
+  DB  196,194,69,184,216                  ; vfmadd231ps   %ymm8,%ymm7,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_colorburn_hsw
+_sk_colorburn_hsw LABEL PROC
+  DB  196,98,125,24,5,5,68,3,0            ; vbroadcastss  0x34405(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,60,92,207                       ; vsubps        %ymm7,%ymm8,%ymm9
+  DB  197,52,89,216                       ; vmulps        %ymm0,%ymm9,%ymm11
+  DB  196,65,44,87,210                    ; vxorps        %ymm10,%ymm10,%ymm10
+  DB  196,65,124,194,226,0                ; vcmpeqps      %ymm10,%ymm0,%ymm12
+  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
+  DB  197,68,92,236                       ; vsubps        %ymm4,%ymm7,%ymm13
+  DB  197,20,89,235                       ; vmulps        %ymm3,%ymm13,%ymm13
+  DB  197,252,83,192                      ; vrcpps        %ymm0,%ymm0
+  DB  197,148,89,192                      ; vmulps        %ymm0,%ymm13,%ymm0
+  DB  197,60,89,236                       ; vmulps        %ymm4,%ymm8,%ymm13
+  DB  197,196,93,192                      ; vminps        %ymm0,%ymm7,%ymm0
+  DB  197,196,92,192                      ; vsubps        %ymm0,%ymm7,%ymm0
+  DB  196,194,101,168,195                 ; vfmadd213ps   %ymm11,%ymm3,%ymm0
+  DB  197,148,88,192                      ; vaddps        %ymm0,%ymm13,%ymm0
+  DB  196,195,125,74,197,192              ; vblendvps     %ymm12,%ymm13,%ymm0,%ymm0
+  DB  197,92,194,231,0                    ; vcmpeqps      %ymm7,%ymm4,%ymm12
+  DB  197,36,88,220                       ; vaddps        %ymm4,%ymm11,%ymm11
+  DB  196,195,125,74,195,192              ; vblendvps     %ymm12,%ymm11,%ymm0,%ymm0
+  DB  197,52,89,217                       ; vmulps        %ymm1,%ymm9,%ymm11
+  DB  196,65,116,194,226,0                ; vcmpeqps      %ymm10,%ymm1,%ymm12
+  DB  197,68,92,237                       ; vsubps        %ymm5,%ymm7,%ymm13
+  DB  197,20,89,235                       ; vmulps        %ymm3,%ymm13,%ymm13
+  DB  197,252,83,201                      ; vrcpps        %ymm1,%ymm1
+  DB  197,148,89,201                      ; vmulps        %ymm1,%ymm13,%ymm1
+  DB  197,60,89,237                       ; vmulps        %ymm5,%ymm8,%ymm13
+  DB  197,196,93,201                      ; vminps        %ymm1,%ymm7,%ymm1
+  DB  197,196,92,201                      ; vsubps        %ymm1,%ymm7,%ymm1
+  DB  196,194,101,168,203                 ; vfmadd213ps   %ymm11,%ymm3,%ymm1
+  DB  197,148,88,201                      ; vaddps        %ymm1,%ymm13,%ymm1
+  DB  196,195,117,74,205,192              ; vblendvps     %ymm12,%ymm13,%ymm1,%ymm1
+  DB  197,84,194,231,0                    ; vcmpeqps      %ymm7,%ymm5,%ymm12
+  DB  197,36,88,221                       ; vaddps        %ymm5,%ymm11,%ymm11
+  DB  196,195,117,74,203,192              ; vblendvps     %ymm12,%ymm11,%ymm1,%ymm1
+  DB  197,52,89,202                       ; vmulps        %ymm2,%ymm9,%ymm9
+  DB  196,65,108,194,210,0                ; vcmpeqps      %ymm10,%ymm2,%ymm10
+  DB  197,68,92,222                       ; vsubps        %ymm6,%ymm7,%ymm11
+  DB  197,36,89,219                       ; vmulps        %ymm3,%ymm11,%ymm11
+  DB  197,252,83,210                      ; vrcpps        %ymm2,%ymm2
+  DB  197,164,89,210                      ; vmulps        %ymm2,%ymm11,%ymm2
+  DB  197,60,89,222                       ; vmulps        %ymm6,%ymm8,%ymm11
+  DB  197,196,93,210                      ; vminps        %ymm2,%ymm7,%ymm2
+  DB  197,196,92,210                      ; vsubps        %ymm2,%ymm7,%ymm2
+  DB  196,194,101,168,209                 ; vfmadd213ps   %ymm9,%ymm3,%ymm2
+  DB  197,164,88,210                      ; vaddps        %ymm2,%ymm11,%ymm2
+  DB  196,195,109,74,211,160              ; vblendvps     %ymm10,%ymm11,%ymm2,%ymm2
+  DB  197,76,194,215,0                    ; vcmpeqps      %ymm7,%ymm6,%ymm10
+  DB  197,52,88,206                       ; vaddps        %ymm6,%ymm9,%ymm9
+  DB  196,195,109,74,209,160              ; vblendvps     %ymm10,%ymm9,%ymm2,%ymm2
+  DB  196,194,69,184,216                  ; vfmadd231ps   %ymm8,%ymm7,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_colordodge_hsw
+_sk_colordodge_hsw LABEL PROC
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  196,98,125,24,13,21,67,3,0          ; vbroadcastss  0x34315(%rip),%ymm9        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,52,92,215                       ; vsubps        %ymm7,%ymm9,%ymm10
+  DB  197,44,89,216                       ; vmulps        %ymm0,%ymm10,%ymm11
+  DB  197,52,92,203                       ; vsubps        %ymm3,%ymm9,%ymm9
+  DB  197,100,89,228                      ; vmulps        %ymm4,%ymm3,%ymm12
+  DB  197,100,92,232                      ; vsubps        %ymm0,%ymm3,%ymm13
+  DB  196,65,124,83,237                   ; vrcpps        %ymm13,%ymm13
+  DB  196,65,28,89,229                    ; vmulps        %ymm13,%ymm12,%ymm12
+  DB  197,52,89,236                       ; vmulps        %ymm4,%ymm9,%ymm13
+  DB  196,65,68,93,228                    ; vminps        %ymm12,%ymm7,%ymm12
+  DB  196,66,101,168,227                  ; vfmadd213ps   %ymm11,%ymm3,%ymm12
+  DB  196,65,20,88,228                    ; vaddps        %ymm12,%ymm13,%ymm12
+  DB  197,20,88,232                       ; vaddps        %ymm0,%ymm13,%ymm13
+  DB  197,252,194,195,0                   ; vcmpeqps      %ymm3,%ymm0,%ymm0
+  DB  196,195,29,74,197,0                 ; vblendvps     %ymm0,%ymm13,%ymm12,%ymm0
+  DB  196,65,92,194,224,0                 ; vcmpeqps      %ymm8,%ymm4,%ymm12
+  DB  196,195,125,74,195,192              ; vblendvps     %ymm12,%ymm11,%ymm0,%ymm0
+  DB  197,44,89,217                       ; vmulps        %ymm1,%ymm10,%ymm11
+  DB  197,100,89,229                      ; vmulps        %ymm5,%ymm3,%ymm12
+  DB  197,100,92,233                      ; vsubps        %ymm1,%ymm3,%ymm13
+  DB  196,65,124,83,237                   ; vrcpps        %ymm13,%ymm13
+  DB  196,65,28,89,229                    ; vmulps        %ymm13,%ymm12,%ymm12
+  DB  197,52,89,237                       ; vmulps        %ymm5,%ymm9,%ymm13
+  DB  196,65,68,93,228                    ; vminps        %ymm12,%ymm7,%ymm12
+  DB  196,66,101,168,227                  ; vfmadd213ps   %ymm11,%ymm3,%ymm12
+  DB  196,65,20,88,228                    ; vaddps        %ymm12,%ymm13,%ymm12
+  DB  197,20,88,233                       ; vaddps        %ymm1,%ymm13,%ymm13
+  DB  197,244,194,203,0                   ; vcmpeqps      %ymm3,%ymm1,%ymm1
+  DB  196,195,29,74,205,16                ; vblendvps     %ymm1,%ymm13,%ymm12,%ymm1
+  DB  196,65,84,194,224,0                 ; vcmpeqps      %ymm8,%ymm5,%ymm12
+  DB  196,195,117,74,203,192              ; vblendvps     %ymm12,%ymm11,%ymm1,%ymm1
+  DB  197,44,89,210                       ; vmulps        %ymm2,%ymm10,%ymm10
+  DB  197,100,89,222                      ; vmulps        %ymm6,%ymm3,%ymm11
+  DB  197,100,92,226                      ; vsubps        %ymm2,%ymm3,%ymm12
+  DB  196,65,124,83,228                   ; vrcpps        %ymm12,%ymm12
+  DB  196,65,36,89,220                    ; vmulps        %ymm12,%ymm11,%ymm11
+  DB  197,52,89,230                       ; vmulps        %ymm6,%ymm9,%ymm12
+  DB  196,65,68,93,219                    ; vminps        %ymm11,%ymm7,%ymm11
+  DB  196,66,101,168,218                  ; vfmadd213ps   %ymm10,%ymm3,%ymm11
+  DB  196,65,28,88,219                    ; vaddps        %ymm11,%ymm12,%ymm11
+  DB  197,28,88,226                       ; vaddps        %ymm2,%ymm12,%ymm12
+  DB  197,236,194,211,0                   ; vcmpeqps      %ymm3,%ymm2,%ymm2
+  DB  196,195,37,74,212,32                ; vblendvps     %ymm2,%ymm12,%ymm11,%ymm2
+  DB  196,65,76,194,192,0                 ; vcmpeqps      %ymm8,%ymm6,%ymm8
+  DB  196,195,109,74,210,128              ; vblendvps     %ymm8,%ymm10,%ymm2,%ymm2
+  DB  196,194,69,184,217                  ; vfmadd231ps   %ymm9,%ymm7,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_hardlight_hsw
+_sk_hardlight_hsw LABEL PROC
+  DB  196,98,125,24,5,47,66,3,0           ; vbroadcastss  0x3422f(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,60,92,215                       ; vsubps        %ymm7,%ymm8,%ymm10
+  DB  197,44,89,216                       ; vmulps        %ymm0,%ymm10,%ymm11
+  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
+  DB  196,98,61,184,220                   ; vfmadd231ps   %ymm4,%ymm8,%ymm11
+  DB  197,124,88,200                      ; vaddps        %ymm0,%ymm0,%ymm9
+  DB  197,52,194,227,2                    ; vcmpleps      %ymm3,%ymm9,%ymm12
+  DB  197,124,89,204                      ; vmulps        %ymm4,%ymm0,%ymm9
+  DB  196,65,52,88,233                    ; vaddps        %ymm9,%ymm9,%ymm13
+  DB  197,100,89,207                      ; vmulps        %ymm7,%ymm3,%ymm9
+  DB  197,68,92,244                       ; vsubps        %ymm4,%ymm7,%ymm14
+  DB  197,228,92,192                      ; vsubps        %ymm0,%ymm3,%ymm0
+  DB  196,193,124,89,198                  ; vmulps        %ymm14,%ymm0,%ymm0
+  DB  197,252,88,192                      ; vaddps        %ymm0,%ymm0,%ymm0
+  DB  197,180,92,192                      ; vsubps        %ymm0,%ymm9,%ymm0
+  DB  196,195,125,74,197,192              ; vblendvps     %ymm12,%ymm13,%ymm0,%ymm0
+  DB  197,164,88,192                      ; vaddps        %ymm0,%ymm11,%ymm0
+  DB  197,44,89,217                       ; vmulps        %ymm1,%ymm10,%ymm11
+  DB  196,98,61,184,221                   ; vfmadd231ps   %ymm5,%ymm8,%ymm11
+  DB  197,116,88,225                      ; vaddps        %ymm1,%ymm1,%ymm12
+  DB  197,28,194,227,2                    ; vcmpleps      %ymm3,%ymm12,%ymm12
+  DB  197,116,89,237                      ; vmulps        %ymm5,%ymm1,%ymm13
+  DB  196,65,20,88,237                    ; vaddps        %ymm13,%ymm13,%ymm13
+  DB  197,68,92,245                       ; vsubps        %ymm5,%ymm7,%ymm14
+  DB  197,228,92,201                      ; vsubps        %ymm1,%ymm3,%ymm1
+  DB  196,193,116,89,206                  ; vmulps        %ymm14,%ymm1,%ymm1
+  DB  197,244,88,201                      ; vaddps        %ymm1,%ymm1,%ymm1
+  DB  197,180,92,201                      ; vsubps        %ymm1,%ymm9,%ymm1
+  DB  196,195,117,74,205,192              ; vblendvps     %ymm12,%ymm13,%ymm1,%ymm1
+  DB  197,164,88,201                      ; vaddps        %ymm1,%ymm11,%ymm1
+  DB  197,44,89,210                       ; vmulps        %ymm2,%ymm10,%ymm10
+  DB  196,98,61,184,214                   ; vfmadd231ps   %ymm6,%ymm8,%ymm10
+  DB  197,108,88,218                      ; vaddps        %ymm2,%ymm2,%ymm11
+  DB  197,36,194,219,2                    ; vcmpleps      %ymm3,%ymm11,%ymm11
+  DB  197,108,89,230                      ; vmulps        %ymm6,%ymm2,%ymm12
+  DB  196,65,28,88,228                    ; vaddps        %ymm12,%ymm12,%ymm12
+  DB  197,68,92,238                       ; vsubps        %ymm6,%ymm7,%ymm13
+  DB  197,228,92,210                      ; vsubps        %ymm2,%ymm3,%ymm2
+  DB  196,193,108,89,213                  ; vmulps        %ymm13,%ymm2,%ymm2
+  DB  197,236,88,210                      ; vaddps        %ymm2,%ymm2,%ymm2
+  DB  197,180,92,210                      ; vsubps        %ymm2,%ymm9,%ymm2
+  DB  196,195,109,74,212,176              ; vblendvps     %ymm11,%ymm12,%ymm2,%ymm2
+  DB  197,172,88,210                      ; vaddps        %ymm2,%ymm10,%ymm2
+  DB  196,194,69,184,216                  ; vfmadd231ps   %ymm8,%ymm7,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_overlay_hsw
+_sk_overlay_hsw LABEL PROC
+  DB  196,98,125,24,5,99,65,3,0           ; vbroadcastss  0x34163(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,60,92,215                       ; vsubps        %ymm7,%ymm8,%ymm10
+  DB  197,44,89,216                       ; vmulps        %ymm0,%ymm10,%ymm11
+  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
+  DB  196,98,61,184,220                   ; vfmadd231ps   %ymm4,%ymm8,%ymm11
+  DB  197,92,88,204                       ; vaddps        %ymm4,%ymm4,%ymm9
+  DB  197,52,194,231,2                    ; vcmpleps      %ymm7,%ymm9,%ymm12
+  DB  197,124,89,204                      ; vmulps        %ymm4,%ymm0,%ymm9
+  DB  196,65,52,88,233                    ; vaddps        %ymm9,%ymm9,%ymm13
+  DB  197,100,89,207                      ; vmulps        %ymm7,%ymm3,%ymm9
+  DB  197,68,92,244                       ; vsubps        %ymm4,%ymm7,%ymm14
+  DB  197,228,92,192                      ; vsubps        %ymm0,%ymm3,%ymm0
+  DB  196,193,124,89,198                  ; vmulps        %ymm14,%ymm0,%ymm0
+  DB  197,252,88,192                      ; vaddps        %ymm0,%ymm0,%ymm0
+  DB  197,180,92,192                      ; vsubps        %ymm0,%ymm9,%ymm0
+  DB  196,195,125,74,197,192              ; vblendvps     %ymm12,%ymm13,%ymm0,%ymm0
+  DB  197,164,88,192                      ; vaddps        %ymm0,%ymm11,%ymm0
+  DB  197,44,89,217                       ; vmulps        %ymm1,%ymm10,%ymm11
+  DB  196,98,61,184,221                   ; vfmadd231ps   %ymm5,%ymm8,%ymm11
+  DB  197,84,88,229                       ; vaddps        %ymm5,%ymm5,%ymm12
+  DB  197,28,194,231,2                    ; vcmpleps      %ymm7,%ymm12,%ymm12
+  DB  197,116,89,237                      ; vmulps        %ymm5,%ymm1,%ymm13
+  DB  196,65,20,88,237                    ; vaddps        %ymm13,%ymm13,%ymm13
+  DB  197,68,92,245                       ; vsubps        %ymm5,%ymm7,%ymm14
+  DB  197,228,92,201                      ; vsubps        %ymm1,%ymm3,%ymm1
+  DB  196,193,116,89,206                  ; vmulps        %ymm14,%ymm1,%ymm1
+  DB  197,244,88,201                      ; vaddps        %ymm1,%ymm1,%ymm1
+  DB  197,180,92,201                      ; vsubps        %ymm1,%ymm9,%ymm1
+  DB  196,195,117,74,205,192              ; vblendvps     %ymm12,%ymm13,%ymm1,%ymm1
+  DB  197,164,88,201                      ; vaddps        %ymm1,%ymm11,%ymm1
+  DB  197,44,89,210                       ; vmulps        %ymm2,%ymm10,%ymm10
+  DB  196,98,61,184,214                   ; vfmadd231ps   %ymm6,%ymm8,%ymm10
+  DB  197,76,88,222                       ; vaddps        %ymm6,%ymm6,%ymm11
+  DB  197,36,194,223,2                    ; vcmpleps      %ymm7,%ymm11,%ymm11
+  DB  197,108,89,230                      ; vmulps        %ymm6,%ymm2,%ymm12
+  DB  196,65,28,88,228                    ; vaddps        %ymm12,%ymm12,%ymm12
+  DB  197,68,92,238                       ; vsubps        %ymm6,%ymm7,%ymm13
+  DB  197,228,92,210                      ; vsubps        %ymm2,%ymm3,%ymm2
+  DB  196,193,108,89,213                  ; vmulps        %ymm13,%ymm2,%ymm2
+  DB  197,236,88,210                      ; vaddps        %ymm2,%ymm2,%ymm2
+  DB  197,180,92,210                      ; vsubps        %ymm2,%ymm9,%ymm2
+  DB  196,195,109,74,212,176              ; vblendvps     %ymm11,%ymm12,%ymm2,%ymm2
+  DB  197,172,88,210                      ; vaddps        %ymm2,%ymm10,%ymm2
+  DB  196,194,69,184,216                  ; vfmadd231ps   %ymm8,%ymm7,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_softlight_hsw
+_sk_softlight_hsw LABEL PROC
+  DB  72,131,236,88                       ; sub           $0x58,%rsp
+  DB  197,252,17,84,36,32                 ; vmovups       %ymm2,0x20(%rsp)
+  DB  197,252,40,209                      ; vmovaps       %ymm1,%ymm2
+  DB  197,252,40,200                      ; vmovaps       %ymm0,%ymm1
+  DB  196,65,52,87,201                    ; vxorps        %ymm9,%ymm9,%ymm9
+  DB  197,52,194,215,1                    ; vcmpltps      %ymm7,%ymm9,%ymm10
+  DB  197,92,94,199                       ; vdivps        %ymm7,%ymm4,%ymm8
+  DB  196,67,53,74,232,160                ; vblendvps     %ymm10,%ymm8,%ymm9,%ymm13
+  DB  196,65,20,88,197                    ; vaddps        %ymm13,%ymm13,%ymm8
+  DB  196,65,60,88,192                    ; vaddps        %ymm8,%ymm8,%ymm8
+  DB  196,66,61,168,192                   ; vfmadd213ps   %ymm8,%ymm8,%ymm8
+  DB  196,98,125,24,29,122,64,3,0         ; vbroadcastss  0x3407a(%rip),%ymm11        # 34ae0 <_sk_srcover_bgra_8888_sse2_lowp+0x2c8>
+  DB  196,65,20,88,227                    ; vaddps        %ymm11,%ymm13,%ymm12
+  DB  196,65,28,89,192                    ; vmulps        %ymm8,%ymm12,%ymm8
+  DB  196,98,125,24,37,107,64,3,0         ; vbroadcastss  0x3406b(%rip),%ymm12        # 34ae4 <_sk_srcover_bgra_8888_sse2_lowp+0x2cc>
+  DB  196,66,21,184,196                   ; vfmadd231ps   %ymm12,%ymm13,%ymm8
+  DB  196,65,124,82,245                   ; vrsqrtps      %ymm13,%ymm14
+  DB  196,65,124,83,246                   ; vrcpps        %ymm14,%ymm14
+  DB  196,65,12,92,245                    ; vsubps        %ymm13,%ymm14,%ymm14
+  DB  197,92,88,252                       ; vaddps        %ymm4,%ymm4,%ymm15
+  DB  196,65,4,88,255                     ; vaddps        %ymm15,%ymm15,%ymm15
+  DB  197,4,194,255,2                     ; vcmpleps      %ymm7,%ymm15,%ymm15
+  DB  196,67,13,74,240,240                ; vblendvps     %ymm15,%ymm8,%ymm14,%ymm14
+  DB  197,116,88,249                      ; vaddps        %ymm1,%ymm1,%ymm15
+  DB  196,98,125,24,5,26,64,3,0           ; vbroadcastss  0x3401a(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,65,60,92,237                    ; vsubps        %ymm13,%ymm8,%ymm13
+  DB  197,132,92,195                      ; vsubps        %ymm3,%ymm15,%ymm0
+  DB  196,98,125,168,235                  ; vfmadd213ps   %ymm3,%ymm0,%ymm13
+  DB  197,252,89,199                      ; vmulps        %ymm7,%ymm0,%ymm0
+  DB  196,193,124,89,198                  ; vmulps        %ymm14,%ymm0,%ymm0
+  DB  197,20,89,236                       ; vmulps        %ymm4,%ymm13,%ymm13
+  DB  196,226,101,184,196                 ; vfmadd231ps   %ymm4,%ymm3,%ymm0
+  DB  197,4,194,243,2                     ; vcmpleps      %ymm3,%ymm15,%ymm14
+  DB  196,195,125,74,197,224              ; vblendvps     %ymm14,%ymm13,%ymm0,%ymm0
+  DB  197,252,17,4,36                     ; vmovups       %ymm0,(%rsp)
+  DB  197,212,94,199                      ; vdivps        %ymm7,%ymm5,%ymm0
+  DB  196,227,53,74,192,160               ; vblendvps     %ymm10,%ymm0,%ymm9,%ymm0
+  DB  197,124,88,240                      ; vaddps        %ymm0,%ymm0,%ymm14
+  DB  196,65,12,88,246                    ; vaddps        %ymm14,%ymm14,%ymm14
+  DB  196,66,13,168,246                   ; vfmadd213ps   %ymm14,%ymm14,%ymm14
+  DB  196,65,124,88,251                   ; vaddps        %ymm11,%ymm0,%ymm15
+  DB  196,65,4,89,246                     ; vmulps        %ymm14,%ymm15,%ymm14
+  DB  196,66,125,184,244                  ; vfmadd231ps   %ymm12,%ymm0,%ymm14
+  DB  197,124,82,248                      ; vrsqrtps      %ymm0,%ymm15
+  DB  196,65,124,83,255                   ; vrcpps        %ymm15,%ymm15
+  DB  197,4,92,248                        ; vsubps        %ymm0,%ymm15,%ymm15
+  DB  197,84,88,237                       ; vaddps        %ymm5,%ymm5,%ymm13
+  DB  196,65,20,88,237                    ; vaddps        %ymm13,%ymm13,%ymm13
+  DB  197,20,194,239,2                    ; vcmpleps      %ymm7,%ymm13,%ymm13
+  DB  196,67,5,74,238,208                 ; vblendvps     %ymm13,%ymm14,%ymm15,%ymm13
+  DB  197,188,92,192                      ; vsubps        %ymm0,%ymm8,%ymm0
+  DB  197,108,88,242                      ; vaddps        %ymm2,%ymm2,%ymm14
+  DB  197,12,92,251                       ; vsubps        %ymm3,%ymm14,%ymm15
+  DB  196,226,5,168,195                   ; vfmadd213ps   %ymm3,%ymm15,%ymm0
+  DB  197,4,89,255                        ; vmulps        %ymm7,%ymm15,%ymm15
+  DB  196,65,4,89,237                     ; vmulps        %ymm13,%ymm15,%ymm13
+  DB  197,252,89,197                      ; vmulps        %ymm5,%ymm0,%ymm0
+  DB  196,98,101,184,237                  ; vfmadd231ps   %ymm5,%ymm3,%ymm13
+  DB  197,12,194,243,2                    ; vcmpleps      %ymm3,%ymm14,%ymm14
+  DB  196,99,21,74,240,224                ; vblendvps     %ymm14,%ymm0,%ymm13,%ymm14
+  DB  197,204,94,199                      ; vdivps        %ymm7,%ymm6,%ymm0
+  DB  196,227,53,74,192,160               ; vblendvps     %ymm10,%ymm0,%ymm9,%ymm0
+  DB  197,124,88,200                      ; vaddps        %ymm0,%ymm0,%ymm9
+  DB  196,65,52,88,201                    ; vaddps        %ymm9,%ymm9,%ymm9
+  DB  196,66,53,168,201                   ; vfmadd213ps   %ymm9,%ymm9,%ymm9
+  DB  196,65,124,88,211                   ; vaddps        %ymm11,%ymm0,%ymm10
+  DB  196,65,44,89,201                    ; vmulps        %ymm9,%ymm10,%ymm9
+  DB  196,66,125,184,204                  ; vfmadd231ps   %ymm12,%ymm0,%ymm9
+  DB  197,124,82,208                      ; vrsqrtps      %ymm0,%ymm10
+  DB  196,65,124,83,210                   ; vrcpps        %ymm10,%ymm10
+  DB  197,44,92,208                       ; vsubps        %ymm0,%ymm10,%ymm10
+  DB  197,76,88,222                       ; vaddps        %ymm6,%ymm6,%ymm11
+  DB  196,65,36,88,219                    ; vaddps        %ymm11,%ymm11,%ymm11
+  DB  197,36,194,223,2                    ; vcmpleps      %ymm7,%ymm11,%ymm11
+  DB  196,67,45,74,201,176                ; vblendvps     %ymm11,%ymm9,%ymm10,%ymm9
+  DB  197,124,16,100,36,32                ; vmovups       0x20(%rsp),%ymm12
+  DB  196,65,28,88,212                    ; vaddps        %ymm12,%ymm12,%ymm10
+  DB  197,44,92,219                       ; vsubps        %ymm3,%ymm10,%ymm11
+  DB  197,188,92,192                      ; vsubps        %ymm0,%ymm8,%ymm0
+  DB  196,226,37,168,195                  ; vfmadd213ps   %ymm3,%ymm11,%ymm0
+  DB  197,36,89,223                       ; vmulps        %ymm7,%ymm11,%ymm11
+  DB  196,65,36,89,201                    ; vmulps        %ymm9,%ymm11,%ymm9
+  DB  197,252,89,198                      ; vmulps        %ymm6,%ymm0,%ymm0
+  DB  196,98,101,184,206                  ; vfmadd231ps   %ymm6,%ymm3,%ymm9
+  DB  197,44,194,211,2                    ; vcmpleps      %ymm3,%ymm10,%ymm10
+  DB  196,99,53,74,200,160                ; vblendvps     %ymm10,%ymm0,%ymm9,%ymm9
+  DB  197,60,92,215                       ; vsubps        %ymm7,%ymm8,%ymm10
+  DB  197,172,89,193                      ; vmulps        %ymm1,%ymm10,%ymm0
+  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
+  DB  196,226,61,184,196                  ; vfmadd231ps   %ymm4,%ymm8,%ymm0
+  DB  197,252,88,4,36                     ; vaddps        (%rsp),%ymm0,%ymm0
+  DB  197,172,89,202                      ; vmulps        %ymm2,%ymm10,%ymm1
+  DB  196,226,61,184,205                  ; vfmadd231ps   %ymm5,%ymm8,%ymm1
+  DB  196,193,116,88,206                  ; vaddps        %ymm14,%ymm1,%ymm1
+  DB  196,193,44,89,212                   ; vmulps        %ymm12,%ymm10,%ymm2
+  DB  196,226,61,184,214                  ; vfmadd231ps   %ymm6,%ymm8,%ymm2
+  DB  196,193,108,88,209                  ; vaddps        %ymm9,%ymm2,%ymm2
+  DB  196,194,69,184,216                  ; vfmadd231ps   %ymm8,%ymm7,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  72,131,196,88                       ; add           $0x58,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_hue_hsw
+_sk_hue_hsw LABEL PROC
+  DB  72,131,236,88                       ; sub           $0x58,%rsp
+  DB  197,124,40,194                      ; vmovaps       %ymm2,%ymm8
+  DB  197,124,17,68,36,32                 ; vmovups       %ymm8,0x20(%rsp)
+  DB  197,252,17,12,36                    ; vmovups       %ymm1,(%rsp)
+  DB  197,252,40,208                      ; vmovaps       %ymm0,%ymm2
+  DB  197,108,89,203                      ; vmulps        %ymm3,%ymm2,%ymm9
+  DB  197,116,89,211                      ; vmulps        %ymm3,%ymm1,%ymm10
+  DB  197,60,89,219                       ; vmulps        %ymm3,%ymm8,%ymm11
+  DB  197,84,95,198                       ; vmaxps        %ymm6,%ymm5,%ymm8
+  DB  196,65,92,95,192                    ; vmaxps        %ymm8,%ymm4,%ymm8
+  DB  197,84,93,230                       ; vminps        %ymm6,%ymm5,%ymm12
+  DB  196,65,92,93,228                    ; vminps        %ymm12,%ymm4,%ymm12
+  DB  196,65,60,92,196                    ; vsubps        %ymm12,%ymm8,%ymm8
+  DB  197,60,89,227                       ; vmulps        %ymm3,%ymm8,%ymm12
+  DB  196,65,44,93,195                    ; vminps        %ymm11,%ymm10,%ymm8
+  DB  196,65,52,93,232                    ; vminps        %ymm8,%ymm9,%ymm13
+  DB  196,65,44,95,195                    ; vmaxps        %ymm11,%ymm10,%ymm8
+  DB  196,65,52,95,192                    ; vmaxps        %ymm8,%ymm9,%ymm8
+  DB  196,65,60,92,245                    ; vsubps        %ymm13,%ymm8,%ymm14
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  196,65,12,194,248,0                 ; vcmpeqps      %ymm8,%ymm14,%ymm15
+  DB  196,65,52,92,205                    ; vsubps        %ymm13,%ymm9,%ymm9
+  DB  196,65,28,89,201                    ; vmulps        %ymm9,%ymm12,%ymm9
+  DB  196,65,52,94,206                    ; vdivps        %ymm14,%ymm9,%ymm9
+  DB  196,67,53,74,200,240                ; vblendvps     %ymm15,%ymm8,%ymm9,%ymm9
+  DB  196,65,44,92,213                    ; vsubps        %ymm13,%ymm10,%ymm10
+  DB  196,65,28,89,210                    ; vmulps        %ymm10,%ymm12,%ymm10
+  DB  196,65,44,94,214                    ; vdivps        %ymm14,%ymm10,%ymm10
+  DB  196,195,45,74,200,240               ; vblendvps     %ymm15,%ymm8,%ymm10,%ymm1
+  DB  196,65,36,92,213                    ; vsubps        %ymm13,%ymm11,%ymm10
+  DB  196,65,28,89,210                    ; vmulps        %ymm10,%ymm12,%ymm10
+  DB  196,65,44,94,214                    ; vdivps        %ymm14,%ymm10,%ymm10
+  DB  196,67,45,74,224,240                ; vblendvps     %ymm15,%ymm8,%ymm10,%ymm12
+  DB  196,98,125,24,53,45,62,3,0          ; vbroadcastss  0x33e2d(%rip),%ymm14        # 34ae8 <_sk_srcover_bgra_8888_sse2_lowp+0x2d0>
+  DB  196,98,125,24,61,40,62,3,0          ; vbroadcastss  0x33e28(%rip),%ymm15        # 34aec <_sk_srcover_bgra_8888_sse2_lowp+0x2d4>
+  DB  196,65,84,89,239                    ; vmulps        %ymm15,%ymm5,%ymm13
+  DB  196,66,93,184,238                   ; vfmadd231ps   %ymm14,%ymm4,%ymm13
+  DB  196,226,125,24,5,25,62,3,0          ; vbroadcastss  0x33e19(%rip),%ymm0        # 34af0 <_sk_srcover_bgra_8888_sse2_lowp+0x2d8>
+  DB  196,98,77,184,232                   ; vfmadd231ps   %ymm0,%ymm6,%ymm13
+  DB  196,65,116,89,215                   ; vmulps        %ymm15,%ymm1,%ymm10
+  DB  196,66,53,184,214                   ; vfmadd231ps   %ymm14,%ymm9,%ymm10
+  DB  196,98,29,184,208                   ; vfmadd231ps   %ymm0,%ymm12,%ymm10
+  DB  196,66,101,170,234                  ; vfmsub213ps   %ymm10,%ymm3,%ymm13
+  DB  196,65,52,88,213                    ; vaddps        %ymm13,%ymm9,%ymm10
+  DB  196,65,116,88,221                   ; vaddps        %ymm13,%ymm1,%ymm11
+  DB  196,65,28,88,229                    ; vaddps        %ymm13,%ymm12,%ymm12
+  DB  196,193,36,93,204                   ; vminps        %ymm12,%ymm11,%ymm1
+  DB  197,44,93,233                       ; vminps        %ymm1,%ymm10,%ymm13
+  DB  196,65,36,89,207                    ; vmulps        %ymm15,%ymm11,%ymm9
+  DB  196,66,45,184,206                   ; vfmadd231ps   %ymm14,%ymm10,%ymm9
+  DB  196,98,29,184,200                   ; vfmadd231ps   %ymm0,%ymm12,%ymm9
+  DB  196,193,44,92,193                   ; vsubps        %ymm9,%ymm10,%ymm0
+  DB  197,180,89,192                      ; vmulps        %ymm0,%ymm9,%ymm0
+  DB  196,193,52,92,205                   ; vsubps        %ymm13,%ymm9,%ymm1
+  DB  197,252,94,193                      ; vdivps        %ymm1,%ymm0,%ymm0
+  DB  196,65,36,92,241                    ; vsubps        %ymm9,%ymm11,%ymm14
+  DB  196,65,52,89,246                    ; vmulps        %ymm14,%ymm9,%ymm14
+  DB  197,12,94,241                       ; vdivps        %ymm1,%ymm14,%ymm14
+  DB  196,65,28,92,249                    ; vsubps        %ymm9,%ymm12,%ymm15
+  DB  196,65,52,89,255                    ; vmulps        %ymm15,%ymm9,%ymm15
+  DB  197,132,94,201                      ; vdivps        %ymm1,%ymm15,%ymm1
+  DB  196,65,60,194,237,2                 ; vcmpleps      %ymm13,%ymm8,%ymm13
+  DB  196,65,52,88,246                    ; vaddps        %ymm14,%ymm9,%ymm14
+  DB  196,67,13,74,243,208                ; vblendvps     %ymm13,%ymm11,%ymm14,%ymm14
+  DB  196,65,36,95,220                    ; vmaxps        %ymm12,%ymm11,%ymm11
+  DB  197,180,88,201                      ; vaddps        %ymm1,%ymm9,%ymm1
+  DB  196,195,117,74,204,208              ; vblendvps     %ymm13,%ymm12,%ymm1,%ymm1
+  DB  197,180,88,192                      ; vaddps        %ymm0,%ymm9,%ymm0
+  DB  196,195,125,74,194,208              ; vblendvps     %ymm13,%ymm10,%ymm0,%ymm0
+  DB  197,100,89,231                      ; vmulps        %ymm7,%ymm3,%ymm12
+  DB  196,65,44,95,211                    ; vmaxps        %ymm11,%ymm10,%ymm10
+  DB  196,65,124,92,217                   ; vsubps        %ymm9,%ymm0,%ymm11
+  DB  196,65,28,92,233                    ; vsubps        %ymm9,%ymm12,%ymm13
+  DB  196,65,20,89,219                    ; vmulps        %ymm11,%ymm13,%ymm11
+  DB  196,65,28,194,250,1                 ; vcmpltps      %ymm10,%ymm12,%ymm15
+  DB  196,65,44,92,209                    ; vsubps        %ymm9,%ymm10,%ymm10
+  DB  196,65,36,94,218                    ; vdivps        %ymm10,%ymm11,%ymm11
+  DB  196,65,52,88,219                    ; vaddps        %ymm11,%ymm9,%ymm11
+  DB  196,195,125,74,195,240              ; vblendvps     %ymm15,%ymm11,%ymm0,%ymm0
+  DB  196,65,12,92,217                    ; vsubps        %ymm9,%ymm14,%ymm11
+  DB  196,65,20,89,219                    ; vmulps        %ymm11,%ymm13,%ymm11
+  DB  196,65,36,94,218                    ; vdivps        %ymm10,%ymm11,%ymm11
+  DB  196,65,52,88,219                    ; vaddps        %ymm11,%ymm9,%ymm11
+  DB  196,67,13,74,219,240                ; vblendvps     %ymm15,%ymm11,%ymm14,%ymm11
+  DB  196,65,116,92,241                   ; vsubps        %ymm9,%ymm1,%ymm14
+  DB  196,65,20,89,238                    ; vmulps        %ymm14,%ymm13,%ymm13
+  DB  196,65,20,94,210                    ; vdivps        %ymm10,%ymm13,%ymm10
+  DB  196,65,52,88,202                    ; vaddps        %ymm10,%ymm9,%ymm9
+  DB  196,195,117,74,201,240              ; vblendvps     %ymm15,%ymm9,%ymm1,%ymm1
+  DB  196,193,124,95,192                  ; vmaxps        %ymm8,%ymm0,%ymm0
+  DB  196,65,36,95,200                    ; vmaxps        %ymm8,%ymm11,%ymm9
+  DB  196,65,116,95,192                   ; vmaxps        %ymm8,%ymm1,%ymm8
+  DB  196,226,125,24,13,218,60,3,0        ; vbroadcastss  0x33cda(%rip),%ymm1        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,116,92,215                      ; vsubps        %ymm7,%ymm1,%ymm10
+  DB  197,172,89,210                      ; vmulps        %ymm2,%ymm10,%ymm2
+  DB  197,116,92,219                      ; vsubps        %ymm3,%ymm1,%ymm11
+  DB  196,226,37,184,212                  ; vfmadd231ps   %ymm4,%ymm11,%ymm2
+  DB  197,236,88,192                      ; vaddps        %ymm0,%ymm2,%ymm0
+  DB  197,172,89,12,36                    ; vmulps        (%rsp),%ymm10,%ymm1
+  DB  196,226,37,184,205                  ; vfmadd231ps   %ymm5,%ymm11,%ymm1
+  DB  196,193,116,88,201                  ; vaddps        %ymm9,%ymm1,%ymm1
+  DB  197,172,89,84,36,32                 ; vmulps        0x20(%rsp),%ymm10,%ymm2
+  DB  196,98,77,168,218                   ; vfmadd213ps   %ymm2,%ymm6,%ymm11
+  DB  196,193,36,88,208                   ; vaddps        %ymm8,%ymm11,%ymm2
+  DB  197,228,88,223                      ; vaddps        %ymm7,%ymm3,%ymm3
+  DB  196,193,100,92,220                  ; vsubps        %ymm12,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  72,131,196,88                       ; add           $0x58,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_saturation_hsw
+_sk_saturation_hsw LABEL PROC
+  DB  72,131,236,88                       ; sub           $0x58,%rsp
+  DB  197,124,40,194                      ; vmovaps       %ymm2,%ymm8
+  DB  197,252,17,12,36                    ; vmovups       %ymm1,(%rsp)
+  DB  197,252,40,208                      ; vmovaps       %ymm0,%ymm2
+  DB  197,100,89,204                      ; vmulps        %ymm4,%ymm3,%ymm9
+  DB  197,100,89,213                      ; vmulps        %ymm5,%ymm3,%ymm10
+  DB  197,100,89,222                      ; vmulps        %ymm6,%ymm3,%ymm11
+  DB  197,124,41,192                      ; vmovaps       %ymm8,%ymm0
+  DB  197,252,17,68,36,32                 ; vmovups       %ymm0,0x20(%rsp)
+  DB  197,116,95,192                      ; vmaxps        %ymm0,%ymm1,%ymm8
+  DB  196,65,108,95,192                   ; vmaxps        %ymm8,%ymm2,%ymm8
+  DB  197,116,93,224                      ; vminps        %ymm0,%ymm1,%ymm12
+  DB  196,65,108,93,228                   ; vminps        %ymm12,%ymm2,%ymm12
+  DB  196,65,60,92,196                    ; vsubps        %ymm12,%ymm8,%ymm8
+  DB  197,60,89,231                       ; vmulps        %ymm7,%ymm8,%ymm12
+  DB  196,65,44,93,195                    ; vminps        %ymm11,%ymm10,%ymm8
+  DB  196,65,52,93,232                    ; vminps        %ymm8,%ymm9,%ymm13
+  DB  196,65,44,95,195                    ; vmaxps        %ymm11,%ymm10,%ymm8
+  DB  196,65,52,95,192                    ; vmaxps        %ymm8,%ymm9,%ymm8
+  DB  196,65,60,92,245                    ; vsubps        %ymm13,%ymm8,%ymm14
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  196,65,12,194,248,0                 ; vcmpeqps      %ymm8,%ymm14,%ymm15
+  DB  196,65,52,92,205                    ; vsubps        %ymm13,%ymm9,%ymm9
+  DB  196,65,28,89,201                    ; vmulps        %ymm9,%ymm12,%ymm9
+  DB  196,65,52,94,206                    ; vdivps        %ymm14,%ymm9,%ymm9
+  DB  196,67,53,74,200,240                ; vblendvps     %ymm15,%ymm8,%ymm9,%ymm9
+  DB  196,65,44,92,213                    ; vsubps        %ymm13,%ymm10,%ymm10
+  DB  196,65,28,89,210                    ; vmulps        %ymm10,%ymm12,%ymm10
+  DB  196,65,44,94,214                    ; vdivps        %ymm14,%ymm10,%ymm10
+  DB  196,195,45,74,200,240               ; vblendvps     %ymm15,%ymm8,%ymm10,%ymm1
+  DB  196,65,36,92,213                    ; vsubps        %ymm13,%ymm11,%ymm10
+  DB  196,65,28,89,210                    ; vmulps        %ymm10,%ymm12,%ymm10
+  DB  196,65,44,94,214                    ; vdivps        %ymm14,%ymm10,%ymm10
+  DB  196,67,45,74,224,240                ; vblendvps     %ymm15,%ymm8,%ymm10,%ymm12
+  DB  196,98,125,24,53,7,60,3,0           ; vbroadcastss  0x33c07(%rip),%ymm14        # 34ae8 <_sk_srcover_bgra_8888_sse2_lowp+0x2d0>
+  DB  196,98,125,24,61,2,60,3,0           ; vbroadcastss  0x33c02(%rip),%ymm15        # 34aec <_sk_srcover_bgra_8888_sse2_lowp+0x2d4>
+  DB  196,65,84,89,239                    ; vmulps        %ymm15,%ymm5,%ymm13
+  DB  196,66,93,184,238                   ; vfmadd231ps   %ymm14,%ymm4,%ymm13
+  DB  196,226,125,24,5,243,59,3,0         ; vbroadcastss  0x33bf3(%rip),%ymm0        # 34af0 <_sk_srcover_bgra_8888_sse2_lowp+0x2d8>
+  DB  196,98,77,184,232                   ; vfmadd231ps   %ymm0,%ymm6,%ymm13
+  DB  196,65,116,89,215                   ; vmulps        %ymm15,%ymm1,%ymm10
+  DB  196,66,53,184,214                   ; vfmadd231ps   %ymm14,%ymm9,%ymm10
+  DB  196,98,29,184,208                   ; vfmadd231ps   %ymm0,%ymm12,%ymm10
+  DB  196,66,101,170,234                  ; vfmsub213ps   %ymm10,%ymm3,%ymm13
+  DB  196,65,52,88,213                    ; vaddps        %ymm13,%ymm9,%ymm10
+  DB  196,65,116,88,221                   ; vaddps        %ymm13,%ymm1,%ymm11
+  DB  196,65,28,88,229                    ; vaddps        %ymm13,%ymm12,%ymm12
+  DB  196,193,36,93,204                   ; vminps        %ymm12,%ymm11,%ymm1
+  DB  197,44,93,233                       ; vminps        %ymm1,%ymm10,%ymm13
+  DB  196,65,36,89,207                    ; vmulps        %ymm15,%ymm11,%ymm9
+  DB  196,66,45,184,206                   ; vfmadd231ps   %ymm14,%ymm10,%ymm9
+  DB  196,98,29,184,200                   ; vfmadd231ps   %ymm0,%ymm12,%ymm9
+  DB  196,193,44,92,193                   ; vsubps        %ymm9,%ymm10,%ymm0
+  DB  197,180,89,192                      ; vmulps        %ymm0,%ymm9,%ymm0
+  DB  196,193,52,92,205                   ; vsubps        %ymm13,%ymm9,%ymm1
+  DB  197,252,94,193                      ; vdivps        %ymm1,%ymm0,%ymm0
+  DB  196,65,36,92,241                    ; vsubps        %ymm9,%ymm11,%ymm14
+  DB  196,65,52,89,246                    ; vmulps        %ymm14,%ymm9,%ymm14
+  DB  197,12,94,241                       ; vdivps        %ymm1,%ymm14,%ymm14
+  DB  196,65,28,92,249                    ; vsubps        %ymm9,%ymm12,%ymm15
+  DB  196,65,52,89,255                    ; vmulps        %ymm15,%ymm9,%ymm15
+  DB  197,132,94,201                      ; vdivps        %ymm1,%ymm15,%ymm1
+  DB  196,65,60,194,237,2                 ; vcmpleps      %ymm13,%ymm8,%ymm13
+  DB  196,65,52,88,246                    ; vaddps        %ymm14,%ymm9,%ymm14
+  DB  196,67,13,74,243,208                ; vblendvps     %ymm13,%ymm11,%ymm14,%ymm14
+  DB  196,65,36,95,220                    ; vmaxps        %ymm12,%ymm11,%ymm11
+  DB  197,180,88,201                      ; vaddps        %ymm1,%ymm9,%ymm1
+  DB  196,195,117,74,204,208              ; vblendvps     %ymm13,%ymm12,%ymm1,%ymm1
+  DB  197,180,88,192                      ; vaddps        %ymm0,%ymm9,%ymm0
+  DB  196,195,125,74,194,208              ; vblendvps     %ymm13,%ymm10,%ymm0,%ymm0
+  DB  197,100,89,231                      ; vmulps        %ymm7,%ymm3,%ymm12
+  DB  196,65,44,95,211                    ; vmaxps        %ymm11,%ymm10,%ymm10
+  DB  196,65,124,92,217                   ; vsubps        %ymm9,%ymm0,%ymm11
+  DB  196,65,28,92,233                    ; vsubps        %ymm9,%ymm12,%ymm13
+  DB  196,65,20,89,219                    ; vmulps        %ymm11,%ymm13,%ymm11
+  DB  196,65,28,194,250,1                 ; vcmpltps      %ymm10,%ymm12,%ymm15
+  DB  196,65,44,92,209                    ; vsubps        %ymm9,%ymm10,%ymm10
+  DB  196,65,36,94,218                    ; vdivps        %ymm10,%ymm11,%ymm11
+  DB  196,65,52,88,219                    ; vaddps        %ymm11,%ymm9,%ymm11
+  DB  196,195,125,74,195,240              ; vblendvps     %ymm15,%ymm11,%ymm0,%ymm0
+  DB  196,65,12,92,217                    ; vsubps        %ymm9,%ymm14,%ymm11
+  DB  196,65,20,89,219                    ; vmulps        %ymm11,%ymm13,%ymm11
+  DB  196,65,36,94,218                    ; vdivps        %ymm10,%ymm11,%ymm11
+  DB  196,65,52,88,219                    ; vaddps        %ymm11,%ymm9,%ymm11
+  DB  196,67,13,74,219,240                ; vblendvps     %ymm15,%ymm11,%ymm14,%ymm11
+  DB  196,65,116,92,241                   ; vsubps        %ymm9,%ymm1,%ymm14
+  DB  196,65,20,89,238                    ; vmulps        %ymm14,%ymm13,%ymm13
+  DB  196,65,20,94,210                    ; vdivps        %ymm10,%ymm13,%ymm10
+  DB  196,65,52,88,202                    ; vaddps        %ymm10,%ymm9,%ymm9
+  DB  196,195,117,74,201,240              ; vblendvps     %ymm15,%ymm9,%ymm1,%ymm1
+  DB  196,193,124,95,192                  ; vmaxps        %ymm8,%ymm0,%ymm0
+  DB  196,65,36,95,200                    ; vmaxps        %ymm8,%ymm11,%ymm9
+  DB  196,65,116,95,192                   ; vmaxps        %ymm8,%ymm1,%ymm8
+  DB  196,226,125,24,13,180,58,3,0        ; vbroadcastss  0x33ab4(%rip),%ymm1        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,116,92,215                      ; vsubps        %ymm7,%ymm1,%ymm10
+  DB  197,172,89,210                      ; vmulps        %ymm2,%ymm10,%ymm2
+  DB  197,116,92,219                      ; vsubps        %ymm3,%ymm1,%ymm11
+  DB  196,226,37,184,212                  ; vfmadd231ps   %ymm4,%ymm11,%ymm2
+  DB  197,236,88,192                      ; vaddps        %ymm0,%ymm2,%ymm0
+  DB  197,172,89,12,36                    ; vmulps        (%rsp),%ymm10,%ymm1
+  DB  196,226,37,184,205                  ; vfmadd231ps   %ymm5,%ymm11,%ymm1
+  DB  196,193,116,88,201                  ; vaddps        %ymm9,%ymm1,%ymm1
+  DB  197,172,89,84,36,32                 ; vmulps        0x20(%rsp),%ymm10,%ymm2
+  DB  196,98,77,168,218                   ; vfmadd213ps   %ymm2,%ymm6,%ymm11
+  DB  196,193,36,88,208                   ; vaddps        %ymm8,%ymm11,%ymm2
+  DB  197,228,88,223                      ; vaddps        %ymm7,%ymm3,%ymm3
+  DB  196,193,100,92,220                  ; vsubps        %ymm12,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  72,131,196,88                       ; add           $0x58,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_color_hsw
+_sk_color_hsw LABEL PROC
+  DB  72,131,236,88                       ; sub           $0x58,%rsp
+  DB  197,124,40,202                      ; vmovaps       %ymm2,%ymm9
+  DB  197,124,17,76,36,32                 ; vmovups       %ymm9,0x20(%rsp)
+  DB  197,252,17,12,36                    ; vmovups       %ymm1,(%rsp)
+  DB  197,252,40,208                      ; vmovaps       %ymm0,%ymm2
+  DB  197,108,89,199                      ; vmulps        %ymm7,%ymm2,%ymm8
+  DB  197,116,89,215                      ; vmulps        %ymm7,%ymm1,%ymm10
+  DB  197,52,89,223                       ; vmulps        %ymm7,%ymm9,%ymm11
+  DB  196,98,125,24,45,99,58,3,0          ; vbroadcastss  0x33a63(%rip),%ymm13        # 34ae8 <_sk_srcover_bgra_8888_sse2_lowp+0x2d0>
+  DB  196,98,125,24,53,94,58,3,0          ; vbroadcastss  0x33a5e(%rip),%ymm14        # 34aec <_sk_srcover_bgra_8888_sse2_lowp+0x2d4>
+  DB  196,65,84,89,230                    ; vmulps        %ymm14,%ymm5,%ymm12
+  DB  196,66,93,184,229                   ; vfmadd231ps   %ymm13,%ymm4,%ymm12
+  DB  196,98,125,24,61,79,58,3,0          ; vbroadcastss  0x33a4f(%rip),%ymm15        # 34af0 <_sk_srcover_bgra_8888_sse2_lowp+0x2d8>
+  DB  196,66,77,184,231                   ; vfmadd231ps   %ymm15,%ymm6,%ymm12
+  DB  196,65,44,89,206                    ; vmulps        %ymm14,%ymm10,%ymm9
+  DB  196,66,61,184,205                   ; vfmadd231ps   %ymm13,%ymm8,%ymm9
+  DB  196,66,37,184,207                   ; vfmadd231ps   %ymm15,%ymm11,%ymm9
+  DB  196,66,101,170,225                  ; vfmsub213ps   %ymm9,%ymm3,%ymm12
+  DB  196,65,60,88,204                    ; vaddps        %ymm12,%ymm8,%ymm9
+  DB  196,65,44,88,212                    ; vaddps        %ymm12,%ymm10,%ymm10
+  DB  196,65,36,88,220                    ; vaddps        %ymm12,%ymm11,%ymm11
+  DB  196,65,44,93,195                    ; vminps        %ymm11,%ymm10,%ymm8
+  DB  196,65,52,93,224                    ; vminps        %ymm8,%ymm9,%ymm12
+  DB  196,65,44,89,198                    ; vmulps        %ymm14,%ymm10,%ymm8
+  DB  196,66,53,184,197                   ; vfmadd231ps   %ymm13,%ymm9,%ymm8
+  DB  196,66,37,184,199                   ; vfmadd231ps   %ymm15,%ymm11,%ymm8
+  DB  196,65,52,92,232                    ; vsubps        %ymm8,%ymm9,%ymm13
+  DB  196,65,60,89,237                    ; vmulps        %ymm13,%ymm8,%ymm13
+  DB  196,65,60,92,244                    ; vsubps        %ymm12,%ymm8,%ymm14
+  DB  196,193,20,94,198                   ; vdivps        %ymm14,%ymm13,%ymm0
+  DB  196,65,44,92,248                    ; vsubps        %ymm8,%ymm10,%ymm15
+  DB  196,65,60,89,255                    ; vmulps        %ymm15,%ymm8,%ymm15
+  DB  196,65,4,94,254                     ; vdivps        %ymm14,%ymm15,%ymm15
+  DB  196,65,36,92,232                    ; vsubps        %ymm8,%ymm11,%ymm13
+  DB  196,65,60,89,237                    ; vmulps        %ymm13,%ymm8,%ymm13
+  DB  196,65,20,94,238                    ; vdivps        %ymm14,%ymm13,%ymm13
+  DB  196,65,12,87,246                    ; vxorps        %ymm14,%ymm14,%ymm14
+  DB  196,65,12,194,228,2                 ; vcmpleps      %ymm12,%ymm14,%ymm12
+  DB  196,65,60,88,255                    ; vaddps        %ymm15,%ymm8,%ymm15
+  DB  196,67,5,74,250,192                 ; vblendvps     %ymm12,%ymm10,%ymm15,%ymm15
+  DB  196,65,44,95,211                    ; vmaxps        %ymm11,%ymm10,%ymm10
+  DB  196,65,60,88,237                    ; vaddps        %ymm13,%ymm8,%ymm13
+  DB  196,67,21,74,219,192                ; vblendvps     %ymm12,%ymm11,%ymm13,%ymm11
+  DB  197,188,88,192                      ; vaddps        %ymm0,%ymm8,%ymm0
+  DB  196,195,125,74,201,192              ; vblendvps     %ymm12,%ymm9,%ymm0,%ymm1
+  DB  197,100,89,231                      ; vmulps        %ymm7,%ymm3,%ymm12
+  DB  196,65,52,95,202                    ; vmaxps        %ymm10,%ymm9,%ymm9
+  DB  196,65,116,92,208                   ; vsubps        %ymm8,%ymm1,%ymm10
+  DB  196,65,28,92,232                    ; vsubps        %ymm8,%ymm12,%ymm13
+  DB  196,65,20,89,210                    ; vmulps        %ymm10,%ymm13,%ymm10
+  DB  196,193,28,194,193,1                ; vcmpltps      %ymm9,%ymm12,%ymm0
+  DB  196,65,52,92,200                    ; vsubps        %ymm8,%ymm9,%ymm9
+  DB  196,65,44,94,209                    ; vdivps        %ymm9,%ymm10,%ymm10
+  DB  196,65,60,88,210                    ; vaddps        %ymm10,%ymm8,%ymm10
+  DB  196,195,117,74,202,0                ; vblendvps     %ymm0,%ymm10,%ymm1,%ymm1
+  DB  196,65,4,92,208                     ; vsubps        %ymm8,%ymm15,%ymm10
+  DB  196,65,20,89,210                    ; vmulps        %ymm10,%ymm13,%ymm10
+  DB  196,65,44,94,209                    ; vdivps        %ymm9,%ymm10,%ymm10
+  DB  196,65,60,88,210                    ; vaddps        %ymm10,%ymm8,%ymm10
+  DB  196,67,5,74,210,0                   ; vblendvps     %ymm0,%ymm10,%ymm15,%ymm10
+  DB  196,65,36,92,248                    ; vsubps        %ymm8,%ymm11,%ymm15
+  DB  196,65,20,89,239                    ; vmulps        %ymm15,%ymm13,%ymm13
+  DB  196,65,20,94,201                    ; vdivps        %ymm9,%ymm13,%ymm9
+  DB  196,65,60,88,193                    ; vaddps        %ymm9,%ymm8,%ymm8
+  DB  196,195,37,74,192,0                 ; vblendvps     %ymm0,%ymm8,%ymm11,%ymm0
+  DB  196,193,116,95,206                  ; vmaxps        %ymm14,%ymm1,%ymm1
+  DB  196,65,44,95,198                    ; vmaxps        %ymm14,%ymm10,%ymm8
+  DB  196,65,124,95,206                   ; vmaxps        %ymm14,%ymm0,%ymm9
+  DB  196,226,125,24,5,5,57,3,0           ; vbroadcastss  0x33905(%rip),%ymm0        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,124,92,215                      ; vsubps        %ymm7,%ymm0,%ymm10
+  DB  197,172,89,210                      ; vmulps        %ymm2,%ymm10,%ymm2
+  DB  197,124,92,219                      ; vsubps        %ymm3,%ymm0,%ymm11
+  DB  196,226,37,184,212                  ; vfmadd231ps   %ymm4,%ymm11,%ymm2
+  DB  197,236,88,193                      ; vaddps        %ymm1,%ymm2,%ymm0
+  DB  197,172,89,12,36                    ; vmulps        (%rsp),%ymm10,%ymm1
+  DB  196,226,37,184,205                  ; vfmadd231ps   %ymm5,%ymm11,%ymm1
+  DB  196,193,116,88,200                  ; vaddps        %ymm8,%ymm1,%ymm1
+  DB  197,172,89,84,36,32                 ; vmulps        0x20(%rsp),%ymm10,%ymm2
+  DB  196,98,77,168,218                   ; vfmadd213ps   %ymm2,%ymm6,%ymm11
+  DB  196,193,36,88,209                   ; vaddps        %ymm9,%ymm11,%ymm2
+  DB  197,228,88,223                      ; vaddps        %ymm7,%ymm3,%ymm3
+  DB  196,193,100,92,220                  ; vsubps        %ymm12,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  72,131,196,88                       ; add           $0x58,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_luminosity_hsw
+_sk_luminosity_hsw LABEL PROC
+  DB  72,131,236,88                       ; sub           $0x58,%rsp
+  DB  197,124,40,202                      ; vmovaps       %ymm2,%ymm9
+  DB  197,124,17,12,36                    ; vmovups       %ymm9,(%rsp)
+  DB  197,252,17,76,36,32                 ; vmovups       %ymm1,0x20(%rsp)
+  DB  197,252,40,208                      ; vmovaps       %ymm0,%ymm2
+  DB  197,100,89,196                      ; vmulps        %ymm4,%ymm3,%ymm8
+  DB  197,100,89,213                      ; vmulps        %ymm5,%ymm3,%ymm10
+  DB  197,100,89,222                      ; vmulps        %ymm6,%ymm3,%ymm11
+  DB  196,98,125,24,45,180,56,3,0         ; vbroadcastss  0x338b4(%rip),%ymm13        # 34ae8 <_sk_srcover_bgra_8888_sse2_lowp+0x2d0>
+  DB  196,98,125,24,53,175,56,3,0         ; vbroadcastss  0x338af(%rip),%ymm14        # 34aec <_sk_srcover_bgra_8888_sse2_lowp+0x2d4>
+  DB  196,65,116,89,230                   ; vmulps        %ymm14,%ymm1,%ymm12
+  DB  196,66,109,184,229                  ; vfmadd231ps   %ymm13,%ymm2,%ymm12
+  DB  196,98,125,24,61,160,56,3,0         ; vbroadcastss  0x338a0(%rip),%ymm15        # 34af0 <_sk_srcover_bgra_8888_sse2_lowp+0x2d8>
+  DB  196,66,53,184,231                   ; vfmadd231ps   %ymm15,%ymm9,%ymm12
+  DB  196,65,44,89,206                    ; vmulps        %ymm14,%ymm10,%ymm9
+  DB  196,66,61,184,205                   ; vfmadd231ps   %ymm13,%ymm8,%ymm9
+  DB  196,66,37,184,207                   ; vfmadd231ps   %ymm15,%ymm11,%ymm9
+  DB  196,66,69,170,225                   ; vfmsub213ps   %ymm9,%ymm7,%ymm12
+  DB  196,65,60,88,204                    ; vaddps        %ymm12,%ymm8,%ymm9
+  DB  196,65,44,88,212                    ; vaddps        %ymm12,%ymm10,%ymm10
+  DB  196,65,36,88,220                    ; vaddps        %ymm12,%ymm11,%ymm11
+  DB  196,65,44,93,195                    ; vminps        %ymm11,%ymm10,%ymm8
+  DB  196,65,52,93,224                    ; vminps        %ymm8,%ymm9,%ymm12
+  DB  196,65,44,89,198                    ; vmulps        %ymm14,%ymm10,%ymm8
+  DB  196,66,53,184,197                   ; vfmadd231ps   %ymm13,%ymm9,%ymm8
+  DB  196,66,37,184,199                   ; vfmadd231ps   %ymm15,%ymm11,%ymm8
+  DB  196,65,52,92,232                    ; vsubps        %ymm8,%ymm9,%ymm13
+  DB  196,65,60,89,237                    ; vmulps        %ymm13,%ymm8,%ymm13
+  DB  196,65,60,92,244                    ; vsubps        %ymm12,%ymm8,%ymm14
+  DB  196,193,20,94,198                   ; vdivps        %ymm14,%ymm13,%ymm0
+  DB  196,65,44,92,248                    ; vsubps        %ymm8,%ymm10,%ymm15
+  DB  196,65,60,89,255                    ; vmulps        %ymm15,%ymm8,%ymm15
+  DB  196,65,4,94,254                     ; vdivps        %ymm14,%ymm15,%ymm15
+  DB  196,65,36,92,232                    ; vsubps        %ymm8,%ymm11,%ymm13
+  DB  196,65,60,89,237                    ; vmulps        %ymm13,%ymm8,%ymm13
+  DB  196,65,20,94,238                    ; vdivps        %ymm14,%ymm13,%ymm13
+  DB  196,65,12,87,246                    ; vxorps        %ymm14,%ymm14,%ymm14
+  DB  196,65,12,194,228,2                 ; vcmpleps      %ymm12,%ymm14,%ymm12
+  DB  196,65,60,88,255                    ; vaddps        %ymm15,%ymm8,%ymm15
+  DB  196,67,5,74,250,192                 ; vblendvps     %ymm12,%ymm10,%ymm15,%ymm15
+  DB  196,65,44,95,211                    ; vmaxps        %ymm11,%ymm10,%ymm10
+  DB  196,65,60,88,237                    ; vaddps        %ymm13,%ymm8,%ymm13
+  DB  196,67,21,74,219,192                ; vblendvps     %ymm12,%ymm11,%ymm13,%ymm11
+  DB  197,188,88,192                      ; vaddps        %ymm0,%ymm8,%ymm0
+  DB  196,195,125,74,201,192              ; vblendvps     %ymm12,%ymm9,%ymm0,%ymm1
+  DB  197,100,89,231                      ; vmulps        %ymm7,%ymm3,%ymm12
+  DB  196,65,52,95,202                    ; vmaxps        %ymm10,%ymm9,%ymm9
+  DB  196,65,116,92,208                   ; vsubps        %ymm8,%ymm1,%ymm10
+  DB  196,65,28,92,232                    ; vsubps        %ymm8,%ymm12,%ymm13
+  DB  196,65,20,89,210                    ; vmulps        %ymm10,%ymm13,%ymm10
+  DB  196,193,28,194,193,1                ; vcmpltps      %ymm9,%ymm12,%ymm0
+  DB  196,65,52,92,200                    ; vsubps        %ymm8,%ymm9,%ymm9
+  DB  196,65,44,94,209                    ; vdivps        %ymm9,%ymm10,%ymm10
+  DB  196,65,60,88,210                    ; vaddps        %ymm10,%ymm8,%ymm10
+  DB  196,195,117,74,202,0                ; vblendvps     %ymm0,%ymm10,%ymm1,%ymm1
+  DB  196,65,4,92,208                     ; vsubps        %ymm8,%ymm15,%ymm10
+  DB  196,65,20,89,210                    ; vmulps        %ymm10,%ymm13,%ymm10
+  DB  196,65,44,94,209                    ; vdivps        %ymm9,%ymm10,%ymm10
+  DB  196,65,60,88,210                    ; vaddps        %ymm10,%ymm8,%ymm10
+  DB  196,67,5,74,210,0                   ; vblendvps     %ymm0,%ymm10,%ymm15,%ymm10
+  DB  196,65,36,92,248                    ; vsubps        %ymm8,%ymm11,%ymm15
+  DB  196,65,20,89,239                    ; vmulps        %ymm15,%ymm13,%ymm13
+  DB  196,65,20,94,201                    ; vdivps        %ymm9,%ymm13,%ymm9
+  DB  196,65,60,88,193                    ; vaddps        %ymm9,%ymm8,%ymm8
+  DB  196,195,37,74,192,0                 ; vblendvps     %ymm0,%ymm8,%ymm11,%ymm0
+  DB  196,193,116,95,206                  ; vmaxps        %ymm14,%ymm1,%ymm1
+  DB  196,65,44,95,198                    ; vmaxps        %ymm14,%ymm10,%ymm8
+  DB  196,65,124,95,206                   ; vmaxps        %ymm14,%ymm0,%ymm9
+  DB  196,226,125,24,5,86,55,3,0          ; vbroadcastss  0x33756(%rip),%ymm0        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,124,92,215                      ; vsubps        %ymm7,%ymm0,%ymm10
+  DB  197,172,89,210                      ; vmulps        %ymm2,%ymm10,%ymm2
+  DB  197,124,92,219                      ; vsubps        %ymm3,%ymm0,%ymm11
+  DB  196,226,37,184,212                  ; vfmadd231ps   %ymm4,%ymm11,%ymm2
+  DB  197,236,88,193                      ; vaddps        %ymm1,%ymm2,%ymm0
+  DB  197,172,89,76,36,32                 ; vmulps        0x20(%rsp),%ymm10,%ymm1
+  DB  196,226,37,184,205                  ; vfmadd231ps   %ymm5,%ymm11,%ymm1
+  DB  196,193,116,88,200                  ; vaddps        %ymm8,%ymm1,%ymm1
+  DB  197,172,89,20,36                    ; vmulps        (%rsp),%ymm10,%ymm2
+  DB  196,98,77,168,218                   ; vfmadd213ps   %ymm2,%ymm6,%ymm11
+  DB  196,193,36,88,209                   ; vaddps        %ymm9,%ymm11,%ymm2
+  DB  197,228,88,223                      ; vaddps        %ymm7,%ymm3,%ymm3
+  DB  196,193,100,92,220                  ; vsubps        %ymm12,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  72,131,196,88                       ; add           $0x58,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_srcover_rgba_8888_hsw
+_sk_srcover_rgba_8888_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,224,0,0,0                    ; jne           14b1 <_sk_srcover_rgba_8888_hsw+0xfa>
+  DB  196,193,126,111,60,144              ; vmovdqu       (%r8,%rdx,4),%ymm7
+  DB  197,197,219,37,193,56,3,0           ; vpand         0x338c1(%rip),%ymm7,%ymm4        # 34ca0 <_sk_srcover_bgra_8888_sse2_lowp+0x488>
+  DB  197,252,91,228                      ; vcvtdq2ps     %ymm4,%ymm4
+  DB  196,226,69,0,45,212,56,3,0          ; vpshufb       0x338d4(%rip),%ymm7,%ymm5        # 34cc0 <_sk_srcover_bgra_8888_sse2_lowp+0x4a8>
+  DB  197,252,91,237                      ; vcvtdq2ps     %ymm5,%ymm5
+  DB  196,226,69,0,53,231,56,3,0          ; vpshufb       0x338e7(%rip),%ymm7,%ymm6        # 34ce0 <_sk_srcover_bgra_8888_sse2_lowp+0x4c8>
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,252,91,246                      ; vcvtdq2ps     %ymm6,%ymm6
+  DB  197,197,114,215,24                  ; vpsrld        $0x18,%ymm7,%ymm7
+  DB  197,252,91,255                      ; vcvtdq2ps     %ymm7,%ymm7
+  DB  196,98,125,24,13,180,54,3,0         ; vbroadcastss  0x336b4(%rip),%ymm9        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,52,92,203                       ; vsubps        %ymm3,%ymm9,%ymm9
+  DB  196,98,125,24,21,211,54,3,0         ; vbroadcastss  0x336d3(%rip),%ymm10        # 34af4 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  DB  196,193,124,89,194                  ; vmulps        %ymm10,%ymm0,%ymm0
+  DB  196,194,93,184,193                  ; vfmadd231ps   %ymm9,%ymm4,%ymm0
+  DB  196,193,116,89,202                  ; vmulps        %ymm10,%ymm1,%ymm1
+  DB  196,194,85,184,201                  ; vfmadd231ps   %ymm9,%ymm5,%ymm1
+  DB  196,193,108,89,210                  ; vmulps        %ymm10,%ymm2,%ymm2
+  DB  196,194,77,184,209                  ; vfmadd231ps   %ymm9,%ymm6,%ymm2
+  DB  196,193,100,89,218                  ; vmulps        %ymm10,%ymm3,%ymm3
+  DB  196,194,69,184,217                  ; vfmadd231ps   %ymm9,%ymm7,%ymm3
+  DB  197,60,95,200                       ; vmaxps        %ymm0,%ymm8,%ymm9
+  DB  196,65,52,93,202                    ; vminps        %ymm10,%ymm9,%ymm9
+  DB  196,65,125,91,201                   ; vcvtps2dq     %ymm9,%ymm9
+  DB  197,60,95,217                       ; vmaxps        %ymm1,%ymm8,%ymm11
+  DB  196,65,36,93,218                    ; vminps        %ymm10,%ymm11,%ymm11
+  DB  196,65,125,91,219                   ; vcvtps2dq     %ymm11,%ymm11
+  DB  196,193,37,114,243,8                ; vpslld        $0x8,%ymm11,%ymm11
+  DB  196,65,37,235,201                   ; vpor          %ymm9,%ymm11,%ymm9
+  DB  197,60,95,218                       ; vmaxps        %ymm2,%ymm8,%ymm11
+  DB  196,65,36,93,218                    ; vminps        %ymm10,%ymm11,%ymm11
+  DB  196,65,125,91,219                   ; vcvtps2dq     %ymm11,%ymm11
+  DB  196,193,37,114,243,16               ; vpslld        $0x10,%ymm11,%ymm11
+  DB  197,60,95,195                       ; vmaxps        %ymm3,%ymm8,%ymm8
+  DB  196,65,60,93,194                    ; vminps        %ymm10,%ymm8,%ymm8
+  DB  196,65,125,91,192                   ; vcvtps2dq     %ymm8,%ymm8
+  DB  196,193,61,114,240,24               ; vpslld        $0x18,%ymm8,%ymm8
+  DB  196,65,37,235,192                   ; vpor          %ymm8,%ymm11,%ymm8
+  DB  196,65,53,235,192                   ; vpor          %ymm8,%ymm9,%ymm8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,58                              ; jne           14e1 <_sk_srcover_rgba_8888_hsw+0x12a>
+  DB  196,65,126,127,4,144                ; vmovdqu       %ymm8,(%r8,%rdx,4)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  197,197,239,255                     ; vpxor         %ymm7,%ymm7,%ymm7
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  15,135,20,255,255,255               ; ja            13d7 <_sk_srcover_rgba_8888_hsw+0x20>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,247,0,0,0                 ; lea           0xf7(%rip),%r9        # 15c4 <_sk_srcover_rgba_8888_hsw+0x20d>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,193,121,110,60,144              ; vmovd         (%r8,%rdx,4),%xmm7
+  DB  233,246,254,255,255                 ; jmpq          13d7 <_sk_srcover_rgba_8888_hsw+0x20>
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,194                             ; ja            14ad <_sk_srcover_rgba_8888_hsw+0xf6>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,235,0,0,0                 ; lea           0xeb(%rip),%r9        # 15e0 <_sk_srcover_rgba_8888_hsw+0x229>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,65,121,126,4,144                ; vmovd         %xmm8,(%r8,%rdx,4)
+  DB  235,167                             ; jmp           14ad <_sk_srcover_rgba_8888_hsw+0xf6>
+  DB  196,193,121,110,100,144,8           ; vmovd         0x8(%r8,%rdx,4),%xmm4
+  DB  196,226,121,89,228                  ; vpbroadcastq  %xmm4,%xmm4
+  DB  197,213,239,237                     ; vpxor         %ymm5,%ymm5,%ymm5
+  DB  196,227,85,2,252,4                  ; vpblendd      $0x4,%ymm4,%ymm5,%ymm7
+  DB  196,193,122,126,36,144              ; vmovq         (%r8,%rdx,4),%xmm4
+  DB  196,227,69,2,252,3                  ; vpblendd      $0x3,%ymm4,%ymm7,%ymm7
+  DB  233,170,254,255,255                 ; jmpq          13d7 <_sk_srcover_rgba_8888_hsw+0x20>
+  DB  196,193,121,110,100,144,24          ; vmovd         0x18(%r8,%rdx,4),%xmm4
+  DB  196,226,125,89,228                  ; vpbroadcastq  %xmm4,%ymm4
+  DB  197,213,239,237                     ; vpxor         %ymm5,%ymm5,%ymm5
+  DB  196,227,85,2,252,64                 ; vpblendd      $0x40,%ymm4,%ymm5,%ymm7
+  DB  196,227,125,57,252,1                ; vextracti128  $0x1,%ymm7,%xmm4
+  DB  196,195,89,34,100,144,20,1          ; vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm4,%xmm4
+  DB  196,227,69,56,252,1                 ; vinserti128   $0x1,%xmm4,%ymm7,%ymm7
+  DB  196,227,125,57,252,1                ; vextracti128  $0x1,%ymm7,%xmm4
+  DB  196,195,89,34,100,144,16,0          ; vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm4,%xmm4
+  DB  196,227,69,56,252,1                 ; vinserti128   $0x1,%xmm4,%ymm7,%ymm7
+  DB  196,193,122,111,36,144              ; vmovdqu       (%r8,%rdx,4),%xmm4
+  DB  196,227,93,2,255,240                ; vpblendd      $0xf0,%ymm7,%ymm4,%ymm7
+  DB  233,91,254,255,255                  ; jmpq          13d7 <_sk_srcover_rgba_8888_hsw+0x20>
+  DB  196,67,121,22,68,144,8,2            ; vpextrd       $0x2,%xmm8,0x8(%r8,%rdx,4)
+  DB  196,65,121,214,4,144                ; vmovq         %xmm8,(%r8,%rdx,4)
+  DB  233,30,255,255,255                  ; jmpq          14ad <_sk_srcover_rgba_8888_hsw+0xf6>
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,67,121,22,76,144,24,2           ; vpextrd       $0x2,%xmm9,0x18(%r8,%rdx,4)
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,67,121,22,76,144,20,1           ; vpextrd       $0x1,%xmm9,0x14(%r8,%rdx,4)
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,65,121,126,76,144,16            ; vmovd         %xmm9,0x10(%r8,%rdx,4)
+  DB  196,65,122,127,4,144                ; vmovdqu       %xmm8,(%r8,%rdx,4)
+  DB  233,234,254,255,255                 ; jmpq          14ad <_sk_srcover_rgba_8888_hsw+0xf6>
+  DB  144                                 ; nop
+  DB  18,255                              ; adc           %bh,%bh
+  DB  255                                 ; (bad)
+  DB  255,88,255                          ; lcall         *-0x1(%rax)
+  DB  255                                 ; (bad)
+  DB  255,66,255                          ; incl          -0x1(%rdx)
+  DB  255                                 ; (bad)
+  DB  255,167,255,255,255,147             ; jmpq          *-0x6c000001(%rdi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  127,255                             ; jg            15d9 <_sk_srcover_rgba_8888_hsw+0x222>
+  DB  255                                 ; (bad)
+  DB  255,105,255                         ; ljmp          *-0x1(%rcx)
+  DB  255                                 ; (bad)
+  DB  255,30                              ; lcall         *(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,164,255,255,255,156,255         ; jmpq          *-0x630001(%rdi,%rdi,8)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  216,255                             ; fdivr         %st(7),%st
+  DB  255                                 ; (bad)
+  DB  255,203                             ; dec           %ebx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  189,255,255,255,175                 ; mov           $0xafffffff,%ebp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_srcover_bgra_8888_hsw
+_sk_srcover_bgra_8888_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,224,0,0,0                    ; jne           16f6 <_sk_srcover_bgra_8888_hsw+0xfa>
+  DB  196,193,126,111,60,144              ; vmovdqu       (%r8,%rdx,4),%ymm7
+  DB  197,197,219,37,220,54,3,0           ; vpand         0x336dc(%rip),%ymm7,%ymm4        # 34d00 <_sk_srcover_bgra_8888_sse2_lowp+0x4e8>
+  DB  197,252,91,244                      ; vcvtdq2ps     %ymm4,%ymm6
+  DB  196,226,69,0,37,239,54,3,0          ; vpshufb       0x336ef(%rip),%ymm7,%ymm4        # 34d20 <_sk_srcover_bgra_8888_sse2_lowp+0x508>
+  DB  197,252,91,236                      ; vcvtdq2ps     %ymm4,%ymm5
+  DB  196,226,69,0,37,2,55,3,0            ; vpshufb       0x33702(%rip),%ymm7,%ymm4        # 34d40 <_sk_srcover_bgra_8888_sse2_lowp+0x528>
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,252,91,228                      ; vcvtdq2ps     %ymm4,%ymm4
+  DB  197,197,114,215,24                  ; vpsrld        $0x18,%ymm7,%ymm7
+  DB  197,252,91,255                      ; vcvtdq2ps     %ymm7,%ymm7
+  DB  196,98,125,24,13,111,52,3,0         ; vbroadcastss  0x3346f(%rip),%ymm9        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,52,92,203                       ; vsubps        %ymm3,%ymm9,%ymm9
+  DB  196,98,125,24,21,142,52,3,0         ; vbroadcastss  0x3348e(%rip),%ymm10        # 34af4 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  DB  196,193,124,89,194                  ; vmulps        %ymm10,%ymm0,%ymm0
+  DB  196,194,93,184,193                  ; vfmadd231ps   %ymm9,%ymm4,%ymm0
+  DB  196,193,116,89,202                  ; vmulps        %ymm10,%ymm1,%ymm1
+  DB  196,194,85,184,201                  ; vfmadd231ps   %ymm9,%ymm5,%ymm1
+  DB  196,193,108,89,210                  ; vmulps        %ymm10,%ymm2,%ymm2
+  DB  196,194,77,184,209                  ; vfmadd231ps   %ymm9,%ymm6,%ymm2
+  DB  196,193,100,89,218                  ; vmulps        %ymm10,%ymm3,%ymm3
+  DB  196,194,69,184,217                  ; vfmadd231ps   %ymm9,%ymm7,%ymm3
+  DB  197,60,95,202                       ; vmaxps        %ymm2,%ymm8,%ymm9
+  DB  196,65,52,93,202                    ; vminps        %ymm10,%ymm9,%ymm9
+  DB  196,65,125,91,201                   ; vcvtps2dq     %ymm9,%ymm9
+  DB  197,60,95,217                       ; vmaxps        %ymm1,%ymm8,%ymm11
+  DB  196,65,36,93,218                    ; vminps        %ymm10,%ymm11,%ymm11
+  DB  196,65,125,91,219                   ; vcvtps2dq     %ymm11,%ymm11
+  DB  196,193,37,114,243,8                ; vpslld        $0x8,%ymm11,%ymm11
+  DB  196,65,37,235,201                   ; vpor          %ymm9,%ymm11,%ymm9
+  DB  197,60,95,216                       ; vmaxps        %ymm0,%ymm8,%ymm11
+  DB  196,65,36,93,218                    ; vminps        %ymm10,%ymm11,%ymm11
+  DB  196,65,125,91,219                   ; vcvtps2dq     %ymm11,%ymm11
+  DB  196,193,37,114,243,16               ; vpslld        $0x10,%ymm11,%ymm11
+  DB  197,60,95,195                       ; vmaxps        %ymm3,%ymm8,%ymm8
+  DB  196,65,60,93,194                    ; vminps        %ymm10,%ymm8,%ymm8
+  DB  196,65,125,91,192                   ; vcvtps2dq     %ymm8,%ymm8
+  DB  196,193,61,114,240,24               ; vpslld        $0x18,%ymm8,%ymm8
+  DB  196,65,37,235,192                   ; vpor          %ymm8,%ymm11,%ymm8
+  DB  196,65,53,235,192                   ; vpor          %ymm8,%ymm9,%ymm8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,58                              ; jne           1726 <_sk_srcover_bgra_8888_hsw+0x12a>
+  DB  196,65,126,127,4,144                ; vmovdqu       %ymm8,(%r8,%rdx,4)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  197,197,239,255                     ; vpxor         %ymm7,%ymm7,%ymm7
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  15,135,20,255,255,255               ; ja            161c <_sk_srcover_bgra_8888_hsw+0x20>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,246,0,0,0                 ; lea           0xf6(%rip),%r9        # 1808 <_sk_srcover_bgra_8888_hsw+0x20c>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,193,121,110,60,144              ; vmovd         (%r8,%rdx,4),%xmm7
+  DB  233,246,254,255,255                 ; jmpq          161c <_sk_srcover_bgra_8888_hsw+0x20>
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,194                             ; ja            16f2 <_sk_srcover_bgra_8888_hsw+0xf6>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,234,0,0,0                 ; lea           0xea(%rip),%r9        # 1824 <_sk_srcover_bgra_8888_hsw+0x228>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,65,121,126,4,144                ; vmovd         %xmm8,(%r8,%rdx,4)
+  DB  235,167                             ; jmp           16f2 <_sk_srcover_bgra_8888_hsw+0xf6>
+  DB  196,193,121,110,100,144,8           ; vmovd         0x8(%r8,%rdx,4),%xmm4
+  DB  196,226,121,89,228                  ; vpbroadcastq  %xmm4,%xmm4
+  DB  197,213,239,237                     ; vpxor         %ymm5,%ymm5,%ymm5
+  DB  196,227,85,2,252,4                  ; vpblendd      $0x4,%ymm4,%ymm5,%ymm7
+  DB  196,193,122,126,36,144              ; vmovq         (%r8,%rdx,4),%xmm4
+  DB  196,227,69,2,252,3                  ; vpblendd      $0x3,%ymm4,%ymm7,%ymm7
+  DB  233,170,254,255,255                 ; jmpq          161c <_sk_srcover_bgra_8888_hsw+0x20>
+  DB  196,193,121,110,100,144,24          ; vmovd         0x18(%r8,%rdx,4),%xmm4
+  DB  196,226,125,89,228                  ; vpbroadcastq  %xmm4,%ymm4
+  DB  197,213,239,237                     ; vpxor         %ymm5,%ymm5,%ymm5
+  DB  196,227,85,2,252,64                 ; vpblendd      $0x40,%ymm4,%ymm5,%ymm7
+  DB  196,227,125,57,252,1                ; vextracti128  $0x1,%ymm7,%xmm4
+  DB  196,195,89,34,100,144,20,1          ; vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm4,%xmm4
+  DB  196,227,69,56,252,1                 ; vinserti128   $0x1,%xmm4,%ymm7,%ymm7
+  DB  196,227,125,57,252,1                ; vextracti128  $0x1,%ymm7,%xmm4
+  DB  196,195,89,34,100,144,16,0          ; vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm4,%xmm4
+  DB  196,227,69,56,252,1                 ; vinserti128   $0x1,%xmm4,%ymm7,%ymm7
+  DB  196,193,122,111,36,144              ; vmovdqu       (%r8,%rdx,4),%xmm4
+  DB  196,227,93,2,255,240                ; vpblendd      $0xf0,%ymm7,%ymm4,%ymm7
+  DB  233,91,254,255,255                  ; jmpq          161c <_sk_srcover_bgra_8888_hsw+0x20>
+  DB  196,67,121,22,68,144,8,2            ; vpextrd       $0x2,%xmm8,0x8(%r8,%rdx,4)
+  DB  196,65,121,214,4,144                ; vmovq         %xmm8,(%r8,%rdx,4)
+  DB  233,30,255,255,255                  ; jmpq          16f2 <_sk_srcover_bgra_8888_hsw+0xf6>
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,67,121,22,76,144,24,2           ; vpextrd       $0x2,%xmm9,0x18(%r8,%rdx,4)
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,67,121,22,76,144,20,1           ; vpextrd       $0x1,%xmm9,0x14(%r8,%rdx,4)
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,65,121,126,76,144,16            ; vmovd         %xmm9,0x10(%r8,%rdx,4)
+  DB  196,65,122,127,4,144                ; vmovdqu       %xmm8,(%r8,%rdx,4)
+  DB  233,234,254,255,255                 ; jmpq          16f2 <_sk_srcover_bgra_8888_hsw+0xf6>
+  DB  19,255                              ; adc           %edi,%edi
+  DB  255                                 ; (bad)
+  DB  255,89,255                          ; lcall         *-0x1(%rcx)
+  DB  255                                 ; (bad)
+  DB  255,67,255                          ; incl          -0x1(%rbx)
+  DB  255                                 ; (bad)
+  DB  255,168,255,255,255,148             ; ljmp          *-0x6b000001(%rax)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,128,255,255,255,106             ; incl          0x6affffff(%rax)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,31                              ; lcall         *(%rdi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,165,255,255,255,157             ; jmpq          *-0x62000001(%rbp)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  217,255                             ; fcos
+  DB  255                                 ; (bad)
+  DB  255,204                             ; dec           %esp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  190,255,255,255,176                 ; mov           $0xb0ffffff,%esi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_clamp_0_hsw
+_sk_clamp_0_hsw LABEL PROC
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  196,193,124,95,192                  ; vmaxps        %ymm8,%ymm0,%ymm0
+  DB  196,193,116,95,200                  ; vmaxps        %ymm8,%ymm1,%ymm1
+  DB  196,193,108,95,208                  ; vmaxps        %ymm8,%ymm2,%ymm2
+  DB  196,193,100,95,216                  ; vmaxps        %ymm8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_clamp_1_hsw
+_sk_clamp_1_hsw LABEL PROC
+  DB  196,98,125,24,5,98,50,3,0           ; vbroadcastss  0x33262(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,193,124,93,192                  ; vminps        %ymm8,%ymm0,%ymm0
+  DB  196,193,116,93,200                  ; vminps        %ymm8,%ymm1,%ymm1
+  DB  196,193,108,93,208                  ; vminps        %ymm8,%ymm2,%ymm2
+  DB  196,193,100,93,216                  ; vminps        %ymm8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_clamp_a_hsw
+_sk_clamp_a_hsw LABEL PROC
+  DB  196,98,125,24,5,65,50,3,0           ; vbroadcastss  0x33241(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,193,100,93,216                  ; vminps        %ymm8,%ymm3,%ymm3
+  DB  197,252,93,195                      ; vminps        %ymm3,%ymm0,%ymm0
+  DB  197,244,93,203                      ; vminps        %ymm3,%ymm1,%ymm1
+  DB  197,236,93,211                      ; vminps        %ymm3,%ymm2,%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_clamp_a_dst_hsw
+_sk_clamp_a_dst_hsw LABEL PROC
+  DB  196,98,125,24,5,35,50,3,0           ; vbroadcastss  0x33223(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,193,68,93,248                   ; vminps        %ymm8,%ymm7,%ymm7
+  DB  197,220,93,231                      ; vminps        %ymm7,%ymm4,%ymm4
+  DB  197,212,93,239                      ; vminps        %ymm7,%ymm5,%ymm5
+  DB  197,204,93,247                      ; vminps        %ymm7,%ymm6,%ymm6
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_set_rgb_hsw
+_sk_set_rgb_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,0                    ; vbroadcastss  (%rax),%ymm0
+  DB  196,226,125,24,72,4                 ; vbroadcastss  0x4(%rax),%ymm1
+  DB  196,226,125,24,80,8                 ; vbroadcastss  0x8(%rax),%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_swap_rb_hsw
+_sk_swap_rb_hsw LABEL PROC
+  DB  197,124,40,192                      ; vmovaps       %ymm0,%ymm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,40,194                      ; vmovaps       %ymm2,%ymm0
+  DB  197,124,41,194                      ; vmovaps       %ymm8,%ymm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_invert_hsw
+_sk_invert_hsw LABEL PROC
+  DB  196,98,125,24,5,222,49,3,0          ; vbroadcastss  0x331de(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,188,92,192                      ; vsubps        %ymm0,%ymm8,%ymm0
+  DB  197,188,92,201                      ; vsubps        %ymm1,%ymm8,%ymm1
+  DB  197,188,92,210                      ; vsubps        %ymm2,%ymm8,%ymm2
+  DB  197,188,92,219                      ; vsubps        %ymm3,%ymm8,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_move_src_dst_hsw
+_sk_move_src_dst_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,40,224                      ; vmovaps       %ymm0,%ymm4
+  DB  197,252,40,233                      ; vmovaps       %ymm1,%ymm5
+  DB  197,252,40,242                      ; vmovaps       %ymm2,%ymm6
+  DB  197,252,40,251                      ; vmovaps       %ymm3,%ymm7
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_move_dst_src_hsw
+_sk_move_dst_src_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,40,196                      ; vmovaps       %ymm4,%ymm0
+  DB  197,252,40,205                      ; vmovaps       %ymm5,%ymm1
+  DB  197,252,40,214                      ; vmovaps       %ymm6,%ymm2
+  DB  197,252,40,223                      ; vmovaps       %ymm7,%ymm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_premul_hsw
+_sk_premul_hsw LABEL PROC
+  DB  197,252,89,195                      ; vmulps        %ymm3,%ymm0,%ymm0
+  DB  197,244,89,203                      ; vmulps        %ymm3,%ymm1,%ymm1
+  DB  197,236,89,211                      ; vmulps        %ymm3,%ymm2,%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_premul_dst_hsw
+_sk_premul_dst_hsw LABEL PROC
+  DB  197,220,89,231                      ; vmulps        %ymm7,%ymm4,%ymm4
+  DB  197,212,89,239                      ; vmulps        %ymm7,%ymm5,%ymm5
+  DB  197,204,89,247                      ; vmulps        %ymm7,%ymm6,%ymm6
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_unpremul_hsw
+_sk_unpremul_hsw LABEL PROC
+  DB  196,98,125,24,5,121,49,3,0          ; vbroadcastss  0x33179(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,60,94,195                       ; vdivps        %ymm3,%ymm8,%ymm8
+  DB  196,98,125,24,13,156,49,3,0         ; vbroadcastss  0x3319c(%rip),%ymm9        # 34af8 <_sk_srcover_bgra_8888_sse2_lowp+0x2e0>
+  DB  196,65,60,194,201,1                 ; vcmpltps      %ymm9,%ymm8,%ymm9
+  DB  196,65,44,87,210                    ; vxorps        %ymm10,%ymm10,%ymm10
+  DB  196,67,45,74,192,144                ; vblendvps     %ymm9,%ymm8,%ymm10,%ymm8
+  DB  197,188,89,192                      ; vmulps        %ymm0,%ymm8,%ymm0
+  DB  197,188,89,201                      ; vmulps        %ymm1,%ymm8,%ymm1
+  DB  197,188,89,210                      ; vmulps        %ymm2,%ymm8,%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_force_opaque_hsw
+_sk_force_opaque_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,29,64,49,3,0         ; vbroadcastss  0x33140(%rip),%ymm3        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_force_opaque_dst_hsw
+_sk_force_opaque_dst_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,61,51,49,3,0         ; vbroadcastss  0x33133(%rip),%ymm7        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_from_srgb_hsw
+_sk_from_srgb_hsw LABEL PROC
+  DB  196,98,125,24,5,92,49,3,0           ; vbroadcastss  0x3315c(%rip),%ymm8        # 34afc <_sk_srcover_bgra_8888_sse2_lowp+0x2e4>
+  DB  196,65,124,89,200                   ; vmulps        %ymm8,%ymm0,%ymm9
+  DB  197,124,89,208                      ; vmulps        %ymm0,%ymm0,%ymm10
+  DB  196,98,125,24,29,78,49,3,0          ; vbroadcastss  0x3314e(%rip),%ymm11        # 34b00 <_sk_srcover_bgra_8888_sse2_lowp+0x2e8>
+  DB  196,98,125,24,37,45,49,3,0          ; vbroadcastss  0x3312d(%rip),%ymm12        # 34ae8 <_sk_srcover_bgra_8888_sse2_lowp+0x2d0>
+  DB  196,65,124,40,236                   ; vmovaps       %ymm12,%ymm13
+  DB  196,66,125,168,235                  ; vfmadd213ps   %ymm11,%ymm0,%ymm13
+  DB  196,98,125,24,53,54,49,3,0          ; vbroadcastss  0x33136(%rip),%ymm14        # 34b04 <_sk_srcover_bgra_8888_sse2_lowp+0x2ec>
+  DB  196,66,45,168,238                   ; vfmadd213ps   %ymm14,%ymm10,%ymm13
+  DB  196,98,125,24,21,44,49,3,0          ; vbroadcastss  0x3312c(%rip),%ymm10        # 34b08 <_sk_srcover_bgra_8888_sse2_lowp+0x2f0>
+  DB  196,193,124,194,194,1               ; vcmpltps      %ymm10,%ymm0,%ymm0
+  DB  196,195,21,74,193,0                 ; vblendvps     %ymm0,%ymm9,%ymm13,%ymm0
+  DB  196,65,116,89,200                   ; vmulps        %ymm8,%ymm1,%ymm9
+  DB  197,116,89,233                      ; vmulps        %ymm1,%ymm1,%ymm13
+  DB  196,65,124,40,252                   ; vmovaps       %ymm12,%ymm15
+  DB  196,66,117,168,251                  ; vfmadd213ps   %ymm11,%ymm1,%ymm15
+  DB  196,66,21,168,254                   ; vfmadd213ps   %ymm14,%ymm13,%ymm15
+  DB  196,193,116,194,202,1               ; vcmpltps      %ymm10,%ymm1,%ymm1
+  DB  196,195,5,74,201,16                 ; vblendvps     %ymm1,%ymm9,%ymm15,%ymm1
+  DB  196,65,108,89,192                   ; vmulps        %ymm8,%ymm2,%ymm8
+  DB  197,108,89,202                      ; vmulps        %ymm2,%ymm2,%ymm9
+  DB  196,66,109,168,227                  ; vfmadd213ps   %ymm11,%ymm2,%ymm12
+  DB  196,66,53,168,230                   ; vfmadd213ps   %ymm14,%ymm9,%ymm12
+  DB  196,193,108,194,210,1               ; vcmpltps      %ymm10,%ymm2,%ymm2
+  DB  196,195,29,74,208,32                ; vblendvps     %ymm2,%ymm8,%ymm12,%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_from_srgb_dst_hsw
+_sk_from_srgb_dst_hsw LABEL PROC
+  DB  196,98,125,24,5,196,48,3,0          ; vbroadcastss  0x330c4(%rip),%ymm8        # 34afc <_sk_srcover_bgra_8888_sse2_lowp+0x2e4>
+  DB  196,65,92,89,200                    ; vmulps        %ymm8,%ymm4,%ymm9
+  DB  197,92,89,212                       ; vmulps        %ymm4,%ymm4,%ymm10
+  DB  196,98,125,24,29,182,48,3,0         ; vbroadcastss  0x330b6(%rip),%ymm11        # 34b00 <_sk_srcover_bgra_8888_sse2_lowp+0x2e8>
+  DB  196,98,125,24,37,149,48,3,0         ; vbroadcastss  0x33095(%rip),%ymm12        # 34ae8 <_sk_srcover_bgra_8888_sse2_lowp+0x2d0>
+  DB  196,65,124,40,236                   ; vmovaps       %ymm12,%ymm13
+  DB  196,66,93,168,235                   ; vfmadd213ps   %ymm11,%ymm4,%ymm13
+  DB  196,98,125,24,53,158,48,3,0         ; vbroadcastss  0x3309e(%rip),%ymm14        # 34b04 <_sk_srcover_bgra_8888_sse2_lowp+0x2ec>
+  DB  196,66,45,168,238                   ; vfmadd213ps   %ymm14,%ymm10,%ymm13
+  DB  196,98,125,24,21,148,48,3,0         ; vbroadcastss  0x33094(%rip),%ymm10        # 34b08 <_sk_srcover_bgra_8888_sse2_lowp+0x2f0>
+  DB  196,193,92,194,226,1                ; vcmpltps      %ymm10,%ymm4,%ymm4
+  DB  196,195,21,74,225,64                ; vblendvps     %ymm4,%ymm9,%ymm13,%ymm4
+  DB  196,65,84,89,200                    ; vmulps        %ymm8,%ymm5,%ymm9
+  DB  197,84,89,237                       ; vmulps        %ymm5,%ymm5,%ymm13
+  DB  196,65,124,40,252                   ; vmovaps       %ymm12,%ymm15
+  DB  196,66,85,168,251                   ; vfmadd213ps   %ymm11,%ymm5,%ymm15
+  DB  196,66,21,168,254                   ; vfmadd213ps   %ymm14,%ymm13,%ymm15
+  DB  196,193,84,194,234,1                ; vcmpltps      %ymm10,%ymm5,%ymm5
+  DB  196,195,5,74,233,80                 ; vblendvps     %ymm5,%ymm9,%ymm15,%ymm5
+  DB  196,65,76,89,192                    ; vmulps        %ymm8,%ymm6,%ymm8
+  DB  197,76,89,206                       ; vmulps        %ymm6,%ymm6,%ymm9
+  DB  196,66,77,168,227                   ; vfmadd213ps   %ymm11,%ymm6,%ymm12
+  DB  196,66,53,168,230                   ; vfmadd213ps   %ymm14,%ymm9,%ymm12
+  DB  196,193,76,194,242,1                ; vcmpltps      %ymm10,%ymm6,%ymm6
+  DB  196,195,29,74,240,96                ; vblendvps     %ymm6,%ymm8,%ymm12,%ymm6
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_to_srgb_hsw
+_sk_to_srgb_hsw LABEL PROC
+  DB  197,124,82,200                      ; vrsqrtps      %ymm0,%ymm9
+  DB  196,98,125,24,5,56,48,3,0           ; vbroadcastss  0x33038(%rip),%ymm8        # 34b0c <_sk_srcover_bgra_8888_sse2_lowp+0x2f4>
+  DB  196,65,124,89,208                   ; vmulps        %ymm8,%ymm0,%ymm10
+  DB  196,98,125,24,29,46,48,3,0          ; vbroadcastss  0x3302e(%rip),%ymm11        # 34b10 <_sk_srcover_bgra_8888_sse2_lowp+0x2f8>
+  DB  196,98,125,24,37,41,48,3,0          ; vbroadcastss  0x33029(%rip),%ymm12        # 34b14 <_sk_srcover_bgra_8888_sse2_lowp+0x2fc>
+  DB  196,65,124,40,236                   ; vmovaps       %ymm12,%ymm13
+  DB  196,66,53,168,235                   ; vfmadd213ps   %ymm11,%ymm9,%ymm13
+  DB  196,98,125,24,53,26,48,3,0          ; vbroadcastss  0x3301a(%rip),%ymm14        # 34b18 <_sk_srcover_bgra_8888_sse2_lowp+0x300>
+  DB  196,66,53,168,238                   ; vfmadd213ps   %ymm14,%ymm9,%ymm13
+  DB  196,98,125,24,61,16,48,3,0          ; vbroadcastss  0x33010(%rip),%ymm15        # 34b1c <_sk_srcover_bgra_8888_sse2_lowp+0x304>
+  DB  196,65,52,88,207                    ; vaddps        %ymm15,%ymm9,%ymm9
+  DB  196,65,124,83,201                   ; vrcpps        %ymm9,%ymm9
+  DB  196,65,20,89,201                    ; vmulps        %ymm9,%ymm13,%ymm9
+  DB  196,98,125,24,45,252,47,3,0         ; vbroadcastss  0x32ffc(%rip),%ymm13        # 34b20 <_sk_srcover_bgra_8888_sse2_lowp+0x308>
+  DB  196,193,124,194,197,1               ; vcmpltps      %ymm13,%ymm0,%ymm0
+  DB  196,195,53,74,194,0                 ; vblendvps     %ymm0,%ymm10,%ymm9,%ymm0
+  DB  197,124,82,201                      ; vrsqrtps      %ymm1,%ymm9
+  DB  196,65,124,40,212                   ; vmovaps       %ymm12,%ymm10
+  DB  196,66,53,168,211                   ; vfmadd213ps   %ymm11,%ymm9,%ymm10
+  DB  196,66,53,168,214                   ; vfmadd213ps   %ymm14,%ymm9,%ymm10
+  DB  196,65,52,88,207                    ; vaddps        %ymm15,%ymm9,%ymm9
+  DB  196,65,124,83,201                   ; vrcpps        %ymm9,%ymm9
+  DB  196,65,44,89,201                    ; vmulps        %ymm9,%ymm10,%ymm9
+  DB  196,65,116,89,208                   ; vmulps        %ymm8,%ymm1,%ymm10
+  DB  196,193,116,194,205,1               ; vcmpltps      %ymm13,%ymm1,%ymm1
+  DB  196,195,53,74,202,16                ; vblendvps     %ymm1,%ymm10,%ymm9,%ymm1
+  DB  197,124,82,202                      ; vrsqrtps      %ymm2,%ymm9
+  DB  196,66,53,168,227                   ; vfmadd213ps   %ymm11,%ymm9,%ymm12
+  DB  196,66,53,168,230                   ; vfmadd213ps   %ymm14,%ymm9,%ymm12
+  DB  196,65,52,88,207                    ; vaddps        %ymm15,%ymm9,%ymm9
+  DB  196,65,124,83,201                   ; vrcpps        %ymm9,%ymm9
+  DB  196,65,28,89,201                    ; vmulps        %ymm9,%ymm12,%ymm9
+  DB  196,65,108,89,192                   ; vmulps        %ymm8,%ymm2,%ymm8
+  DB  196,193,108,194,213,1               ; vcmpltps      %ymm13,%ymm2,%ymm2
+  DB  196,195,53,74,208,32                ; vblendvps     %ymm2,%ymm8,%ymm9,%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_rgb_to_hsl_hsw
+_sk_rgb_to_hsl_hsw LABEL PROC
+  DB  197,116,95,194                      ; vmaxps        %ymm2,%ymm1,%ymm8
+  DB  196,65,124,95,192                   ; vmaxps        %ymm8,%ymm0,%ymm8
+  DB  197,116,93,202                      ; vminps        %ymm2,%ymm1,%ymm9
+  DB  196,65,124,93,201                   ; vminps        %ymm9,%ymm0,%ymm9
+  DB  196,65,60,92,209                    ; vsubps        %ymm9,%ymm8,%ymm10
+  DB  196,98,125,24,29,19,47,3,0          ; vbroadcastss  0x32f13(%rip),%ymm11        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,65,36,94,218                    ; vdivps        %ymm10,%ymm11,%ymm11
+  DB  197,116,92,226                      ; vsubps        %ymm2,%ymm1,%ymm12
+  DB  197,116,194,234,1                   ; vcmpltps      %ymm2,%ymm1,%ymm13
+  DB  196,98,125,24,53,88,47,3,0          ; vbroadcastss  0x32f58(%rip),%ymm14        # 34b24 <_sk_srcover_bgra_8888_sse2_lowp+0x30c>
+  DB  196,65,4,87,255                     ; vxorps        %ymm15,%ymm15,%ymm15
+  DB  196,67,5,74,238,208                 ; vblendvps     %ymm13,%ymm14,%ymm15,%ymm13
+  DB  196,66,37,168,229                   ; vfmadd213ps   %ymm13,%ymm11,%ymm12
+  DB  197,236,92,208                      ; vsubps        %ymm0,%ymm2,%ymm2
+  DB  197,124,92,233                      ; vsubps        %ymm1,%ymm0,%ymm13
+  DB  196,98,125,24,53,63,47,3,0          ; vbroadcastss  0x32f3f(%rip),%ymm14        # 34b2c <_sk_srcover_bgra_8888_sse2_lowp+0x314>
+  DB  196,66,37,168,238                   ; vfmadd213ps   %ymm14,%ymm11,%ymm13
+  DB  196,98,125,24,53,45,47,3,0          ; vbroadcastss  0x32f2d(%rip),%ymm14        # 34b28 <_sk_srcover_bgra_8888_sse2_lowp+0x310>
+  DB  196,194,37,168,214                  ; vfmadd213ps   %ymm14,%ymm11,%ymm2
+  DB  197,188,194,201,0                   ; vcmpeqps      %ymm1,%ymm8,%ymm1
+  DB  196,227,21,74,202,16                ; vblendvps     %ymm1,%ymm2,%ymm13,%ymm1
+  DB  197,188,194,192,0                   ; vcmpeqps      %ymm0,%ymm8,%ymm0
+  DB  196,195,117,74,196,0                ; vblendvps     %ymm0,%ymm12,%ymm1,%ymm0
+  DB  196,193,60,88,201                   ; vaddps        %ymm9,%ymm8,%ymm1
+  DB  196,98,125,24,29,160,46,3,0         ; vbroadcastss  0x32ea0(%rip),%ymm11        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  196,193,116,89,211                  ; vmulps        %ymm11,%ymm1,%ymm2
+  DB  197,36,194,218,1                    ; vcmpltps      %ymm2,%ymm11,%ymm11
+  DB  196,65,12,92,224                    ; vsubps        %ymm8,%ymm14,%ymm12
+  DB  196,65,28,92,225                    ; vsubps        %ymm9,%ymm12,%ymm12
+  DB  196,195,117,74,204,176              ; vblendvps     %ymm11,%ymm12,%ymm1,%ymm1
+  DB  196,65,60,194,193,0                 ; vcmpeqps      %ymm9,%ymm8,%ymm8
+  DB  197,172,94,201                      ; vdivps        %ymm1,%ymm10,%ymm1
+  DB  196,195,125,74,199,128              ; vblendvps     %ymm8,%ymm15,%ymm0,%ymm0
+  DB  196,195,117,74,207,128              ; vblendvps     %ymm8,%ymm15,%ymm1,%ymm1
+  DB  196,98,125,24,5,211,46,3,0          ; vbroadcastss  0x32ed3(%rip),%ymm8        # 34b30 <_sk_srcover_bgra_8888_sse2_lowp+0x318>
+  DB  196,193,124,89,192                  ; vmulps        %ymm8,%ymm0,%ymm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_hsl_to_rgb_hsw
+_sk_hsl_to_rgb_hsw LABEL PROC
+  DB  72,129,236,184,0,0,0                ; sub           $0xb8,%rsp
+  DB  197,252,17,188,36,128,0,0,0         ; vmovups       %ymm7,0x80(%rsp)
+  DB  197,252,17,116,36,96                ; vmovups       %ymm6,0x60(%rsp)
+  DB  197,252,17,108,36,64                ; vmovups       %ymm5,0x40(%rsp)
+  DB  197,252,17,100,36,32                ; vmovups       %ymm4,0x20(%rsp)
+  DB  197,252,17,28,36                    ; vmovups       %ymm3,(%rsp)
+  DB  197,252,40,233                      ; vmovaps       %ymm1,%ymm5
+  DB  197,252,40,224                      ; vmovaps       %ymm0,%ymm4
+  DB  196,98,125,24,5,38,46,3,0           ; vbroadcastss  0x32e26(%rip),%ymm8        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  197,60,194,202,2                    ; vcmpleps      %ymm2,%ymm8,%ymm9
+  DB  197,84,89,210                       ; vmulps        %ymm2,%ymm5,%ymm10
+  DB  196,65,84,92,218                    ; vsubps        %ymm10,%ymm5,%ymm11
+  DB  196,67,45,74,203,144                ; vblendvps     %ymm9,%ymm11,%ymm10,%ymm9
+  DB  197,52,88,210                       ; vaddps        %ymm2,%ymm9,%ymm10
+  DB  196,98,125,24,13,105,46,3,0         ; vbroadcastss  0x32e69(%rip),%ymm9        # 34b28 <_sk_srcover_bgra_8888_sse2_lowp+0x310>
+  DB  196,66,109,170,202                  ; vfmsub213ps   %ymm10,%ymm2,%ymm9
+  DB  196,98,125,24,29,103,46,3,0         ; vbroadcastss  0x32e67(%rip),%ymm11        # 34b34 <_sk_srcover_bgra_8888_sse2_lowp+0x31c>
+  DB  196,65,92,88,219                    ; vaddps        %ymm11,%ymm4,%ymm11
+  DB  196,67,125,8,227,1                  ; vroundps      $0x1,%ymm11,%ymm12
+  DB  196,65,36,92,252                    ; vsubps        %ymm12,%ymm11,%ymm15
+  DB  196,65,44,92,217                    ; vsubps        %ymm9,%ymm10,%ymm11
+  DB  196,98,125,24,45,57,46,3,0          ; vbroadcastss  0x32e39(%rip),%ymm13        # 34b24 <_sk_srcover_bgra_8888_sse2_lowp+0x30c>
+  DB  196,193,4,89,197                    ; vmulps        %ymm13,%ymm15,%ymm0
+  DB  196,98,125,24,53,51,46,3,0          ; vbroadcastss  0x32e33(%rip),%ymm14        # 34b2c <_sk_srcover_bgra_8888_sse2_lowp+0x314>
+  DB  197,12,92,224                       ; vsubps        %ymm0,%ymm14,%ymm12
+  DB  196,66,37,168,225                   ; vfmadd213ps   %ymm9,%ymm11,%ymm12
+  DB  196,226,125,24,29,45,46,3,0         ; vbroadcastss  0x32e2d(%rip),%ymm3        # 34b38 <_sk_srcover_bgra_8888_sse2_lowp+0x320>
+  DB  196,193,100,194,255,2               ; vcmpleps      %ymm15,%ymm3,%ymm7
+  DB  196,195,29,74,249,112               ; vblendvps     %ymm7,%ymm9,%ymm12,%ymm7
+  DB  196,65,60,194,231,2                 ; vcmpleps      %ymm15,%ymm8,%ymm12
+  DB  196,227,45,74,255,192               ; vblendvps     %ymm12,%ymm7,%ymm10,%ymm7
+  DB  196,98,125,24,37,4,46,3,0           ; vbroadcastss  0x32e04(%rip),%ymm12        # 34b30 <_sk_srcover_bgra_8888_sse2_lowp+0x318>
+  DB  196,65,28,194,255,2                 ; vcmpleps      %ymm15,%ymm12,%ymm15
+  DB  196,194,37,168,193                  ; vfmadd213ps   %ymm9,%ymm11,%ymm0
+  DB  196,99,125,74,255,240               ; vblendvps     %ymm15,%ymm7,%ymm0,%ymm15
+  DB  196,227,125,8,196,1                 ; vroundps      $0x1,%ymm4,%ymm0
+  DB  197,220,92,192                      ; vsubps        %ymm0,%ymm4,%ymm0
+  DB  196,193,124,89,253                  ; vmulps        %ymm13,%ymm0,%ymm7
+  DB  197,140,92,207                      ; vsubps        %ymm7,%ymm14,%ymm1
+  DB  196,194,37,168,201                  ; vfmadd213ps   %ymm9,%ymm11,%ymm1
+  DB  197,228,194,240,2                   ; vcmpleps      %ymm0,%ymm3,%ymm6
+  DB  196,195,117,74,201,96               ; vblendvps     %ymm6,%ymm9,%ymm1,%ymm1
+  DB  197,188,194,240,2                   ; vcmpleps      %ymm0,%ymm8,%ymm6
+  DB  196,227,45,74,201,96                ; vblendvps     %ymm6,%ymm1,%ymm10,%ymm1
+  DB  197,156,194,192,2                   ; vcmpleps      %ymm0,%ymm12,%ymm0
+  DB  196,194,37,168,249                  ; vfmadd213ps   %ymm9,%ymm11,%ymm7
+  DB  196,227,69,74,201,0                 ; vblendvps     %ymm0,%ymm1,%ymm7,%ymm1
+  DB  196,226,125,24,5,184,45,3,0         ; vbroadcastss  0x32db8(%rip),%ymm0        # 34b3c <_sk_srcover_bgra_8888_sse2_lowp+0x324>
+  DB  197,220,88,192                      ; vaddps        %ymm0,%ymm4,%ymm0
+  DB  196,227,125,8,224,1                 ; vroundps      $0x1,%ymm0,%ymm4
+  DB  197,252,92,196                      ; vsubps        %ymm4,%ymm0,%ymm0
+  DB  197,228,194,216,2                   ; vcmpleps      %ymm0,%ymm3,%ymm3
+  DB  196,193,124,89,229                  ; vmulps        %ymm13,%ymm0,%ymm4
+  DB  197,140,92,244                      ; vsubps        %ymm4,%ymm14,%ymm6
+  DB  196,194,37,168,241                  ; vfmadd213ps   %ymm9,%ymm11,%ymm6
+  DB  196,195,77,74,217,48                ; vblendvps     %ymm3,%ymm9,%ymm6,%ymm3
+  DB  197,188,194,240,2                   ; vcmpleps      %ymm0,%ymm8,%ymm6
+  DB  196,227,45,74,219,96                ; vblendvps     %ymm6,%ymm3,%ymm10,%ymm3
+  DB  196,98,37,184,204                   ; vfmadd231ps   %ymm4,%ymm11,%ymm9
+  DB  197,156,194,192,2                   ; vcmpleps      %ymm0,%ymm12,%ymm0
+  DB  196,227,53,74,219,0                 ; vblendvps     %ymm0,%ymm3,%ymm9,%ymm3
+  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
+  DB  197,212,194,224,0                   ; vcmpeqps      %ymm0,%ymm5,%ymm4
+  DB  196,227,5,74,194,64                 ; vblendvps     %ymm4,%ymm2,%ymm15,%ymm0
+  DB  196,227,117,74,202,64               ; vblendvps     %ymm4,%ymm2,%ymm1,%ymm1
+  DB  196,227,101,74,210,64               ; vblendvps     %ymm4,%ymm2,%ymm3,%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,16,28,36                    ; vmovups       (%rsp),%ymm3
+  DB  197,252,16,100,36,32                ; vmovups       0x20(%rsp),%ymm4
+  DB  197,252,16,108,36,64                ; vmovups       0x40(%rsp),%ymm5
+  DB  197,252,16,116,36,96                ; vmovups       0x60(%rsp),%ymm6
+  DB  197,252,16,188,36,128,0,0,0         ; vmovups       0x80(%rsp),%ymm7
+  DB  72,129,196,184,0,0,0                ; add           $0xb8,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_scale_1_float_hsw
+_sk_scale_1_float_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,24,0                     ; vbroadcastss  (%rax),%ymm8
+  DB  197,188,89,192                      ; vmulps        %ymm0,%ymm8,%ymm0
+  DB  197,188,89,201                      ; vmulps        %ymm1,%ymm8,%ymm1
+  DB  197,188,89,210                      ; vmulps        %ymm2,%ymm8,%ymm2
+  DB  197,188,89,219                      ; vmulps        %ymm3,%ymm8,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_scale_u8_hsw
+_sk_scale_u8_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,58                              ; jne           1e73 <_sk_scale_u8_hsw+0x4c>
+  DB  196,66,121,48,4,16                  ; vpmovzxbw     (%r8,%rdx,1),%xmm8
+  DB  197,57,219,5,9,54,3,0               ; vpand         0x33609(%rip),%xmm8,%xmm8        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  196,66,125,51,192                   ; vpmovzxwd     %xmm8,%ymm8
+  DB  196,65,124,91,192                   ; vcvtdq2ps     %ymm8,%ymm8
+  DB  196,98,125,24,13,230,44,3,0         ; vbroadcastss  0x32ce6(%rip),%ymm9        # 34b40 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  DB  196,65,60,89,193                    ; vmulps        %ymm9,%ymm8,%ymm8
+  DB  197,188,89,192                      ; vmulps        %ymm0,%ymm8,%ymm0
+  DB  197,188,89,201                      ; vmulps        %ymm1,%ymm8,%ymm1
+  DB  197,188,89,210                      ; vmulps        %ymm2,%ymm8,%ymm2
+  DB  197,188,89,219                      ; vmulps        %ymm3,%ymm8,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,189                             ; ja            1e3f <_sk_scale_u8_hsw+0x18>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,124,0,0,0                 ; lea           0x7c(%rip),%r9        # 1f08 <_sk_scale_u8_hsw+0xe1>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,182,4,16                      ; movzbl        (%r8,%rdx,1),%eax
+  DB  197,121,110,192                     ; vmovd         %eax,%xmm8
+  DB  235,159                             ; jmp           1e3f <_sk_scale_u8_hsw+0x18>
+  DB  65,15,182,68,16,2                   ; movzbl        0x2(%r8,%rdx,1),%eax
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  197,57,196,192,2                    ; vpinsrw       $0x2,%eax,%xmm8,%xmm8
+  DB  65,15,183,4,16                      ; movzwl        (%r8,%rdx,1),%eax
+  DB  197,121,110,200                     ; vmovd         %eax,%xmm9
+  DB  196,66,121,48,201                   ; vpmovzxbw     %xmm9,%xmm9
+  DB  196,67,57,2,193,1                   ; vpblendd      $0x1,%xmm9,%xmm8,%xmm8
+  DB  233,118,255,255,255                 ; jmpq          1e3f <_sk_scale_u8_hsw+0x18>
+  DB  65,15,182,68,16,6                   ; movzbl        0x6(%r8,%rdx,1),%eax
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  197,57,196,192,6                    ; vpinsrw       $0x6,%eax,%xmm8,%xmm8
+  DB  65,15,182,68,16,5                   ; movzbl        0x5(%r8,%rdx,1),%eax
+  DB  197,57,196,192,5                    ; vpinsrw       $0x5,%eax,%xmm8,%xmm8
+  DB  65,15,182,68,16,4                   ; movzbl        0x4(%r8,%rdx,1),%eax
+  DB  197,57,196,192,4                    ; vpinsrw       $0x4,%eax,%xmm8,%xmm8
+  DB  196,65,121,110,12,16                ; vmovd         (%r8,%rdx,1),%xmm9
+  DB  196,66,121,48,201                   ; vpmovzxbw     %xmm9,%xmm9
+  DB  196,67,49,2,192,12                  ; vpblendd      $0xc,%xmm8,%xmm9,%xmm8
+  DB  233,58,255,255,255                  ; jmpq          1e3f <_sk_scale_u8_hsw+0x18>
+  DB  15,31,0                             ; nopl          (%rax)
+  DB  141                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,168,255,255,255,152             ; ljmp          *-0x67000001(%rax)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,231                             ; jmpq          *%rdi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  220,255                             ; fdivr         %st,%st(7)
+  DB  255                                 ; (bad)
+  DB  255,209                             ; callq         *%rcx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,193                             ; inc           %ecx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_scale_565_hsw
+_sk_scale_565_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,161,0,0,0                    ; jne           1fde <_sk_scale_565_hsw+0xba>
+  DB  196,65,122,111,4,80                 ; vmovdqu       (%r8,%rdx,2),%xmm8
+  DB  196,66,125,51,192                   ; vpmovzxwd     %xmm8,%ymm8
+  DB  196,98,125,88,13,243,43,3,0         ; vpbroadcastd  0x32bf3(%rip),%ymm9        # 34b44 <_sk_srcover_bgra_8888_sse2_lowp+0x32c>
+  DB  196,65,61,219,201                   ; vpand         %ymm9,%ymm8,%ymm9
+  DB  196,65,124,91,201                   ; vcvtdq2ps     %ymm9,%ymm9
+  DB  196,98,125,24,21,228,43,3,0         ; vbroadcastss  0x32be4(%rip),%ymm10        # 34b48 <_sk_srcover_bgra_8888_sse2_lowp+0x330>
+  DB  196,65,52,89,202                    ; vmulps        %ymm10,%ymm9,%ymm9
+  DB  196,98,125,88,21,218,43,3,0         ; vpbroadcastd  0x32bda(%rip),%ymm10        # 34b4c <_sk_srcover_bgra_8888_sse2_lowp+0x334>
+  DB  196,65,61,219,210                   ; vpand         %ymm10,%ymm8,%ymm10
+  DB  196,65,124,91,210                   ; vcvtdq2ps     %ymm10,%ymm10
+  DB  196,98,125,24,29,203,43,3,0         ; vbroadcastss  0x32bcb(%rip),%ymm11        # 34b50 <_sk_srcover_bgra_8888_sse2_lowp+0x338>
+  DB  196,65,44,89,211                    ; vmulps        %ymm11,%ymm10,%ymm10
+  DB  196,98,125,88,29,193,43,3,0         ; vpbroadcastd  0x32bc1(%rip),%ymm11        # 34b54 <_sk_srcover_bgra_8888_sse2_lowp+0x33c>
+  DB  196,65,61,219,195                   ; vpand         %ymm11,%ymm8,%ymm8
+  DB  196,65,124,91,192                   ; vcvtdq2ps     %ymm8,%ymm8
+  DB  196,98,125,24,29,178,43,3,0         ; vbroadcastss  0x32bb2(%rip),%ymm11        # 34b58 <_sk_srcover_bgra_8888_sse2_lowp+0x340>
+  DB  196,65,60,89,195                    ; vmulps        %ymm11,%ymm8,%ymm8
+  DB  197,100,194,223,1                   ; vcmpltps      %ymm7,%ymm3,%ymm11
+  DB  196,65,44,93,224                    ; vminps        %ymm8,%ymm10,%ymm12
+  DB  196,65,52,93,228                    ; vminps        %ymm12,%ymm9,%ymm12
+  DB  196,65,44,95,232                    ; vmaxps        %ymm8,%ymm10,%ymm13
+  DB  196,65,52,95,237                    ; vmaxps        %ymm13,%ymm9,%ymm13
+  DB  196,67,21,74,220,176                ; vblendvps     %ymm11,%ymm12,%ymm13,%ymm11
+  DB  197,180,89,192                      ; vmulps        %ymm0,%ymm9,%ymm0
+  DB  197,172,89,201                      ; vmulps        %ymm1,%ymm10,%ymm1
+  DB  197,188,89,210                      ; vmulps        %ymm2,%ymm8,%ymm2
+  DB  197,164,89,219                      ; vmulps        %ymm3,%ymm11,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  15,135,82,255,255,255               ; ja            1f43 <_sk_scale_565_hsw+0x1f>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,101,0,0,0                 ; lea           0x65(%rip),%r9        # 2060 <_sk_scale_565_hsw+0x13c>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,183,4,80                      ; movzwl        (%r8,%rdx,2),%eax
+  DB  197,121,110,192                     ; vmovd         %eax,%xmm8
+  DB  233,49,255,255,255                  ; jmpq          1f43 <_sk_scale_565_hsw+0x1f>
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  196,65,57,196,68,80,4,2             ; vpinsrw       $0x2,0x4(%r8,%rdx,2),%xmm8,%xmm8
+  DB  196,65,121,110,12,80                ; vmovd         (%r8,%rdx,2),%xmm9
+  DB  196,67,57,2,193,1                   ; vpblendd      $0x1,%xmm9,%xmm8,%xmm8
+  DB  233,19,255,255,255                  ; jmpq          1f43 <_sk_scale_565_hsw+0x1f>
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  196,65,57,196,68,80,12,6            ; vpinsrw       $0x6,0xc(%r8,%rdx,2),%xmm8,%xmm8
+  DB  196,65,57,196,68,80,10,5            ; vpinsrw       $0x5,0xa(%r8,%rdx,2),%xmm8,%xmm8
+  DB  196,65,57,196,68,80,8,4             ; vpinsrw       $0x4,0x8(%r8,%rdx,2),%xmm8,%xmm8
+  DB  196,65,122,126,12,80                ; vmovq         (%r8,%rdx,2),%xmm9
+  DB  196,67,49,2,192,12                  ; vpblendd      $0xc,%xmm8,%xmm9,%xmm8
+  DB  233,229,254,255,255                 ; jmpq          1f43 <_sk_scale_565_hsw+0x1f>
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  164                                 ; movsb         %ds:(%rsi),%es:(%rdi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  191,255,255,255,178                 ; mov           $0xb2ffffff,%edi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  237                                 ; in            (%dx),%eax
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,229                             ; jmpq          *%rbp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  221,255                             ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,208                             ; callq         *%rax
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_lerp_1_float_hsw
+_sk_lerp_1_float_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,24,0                     ; vbroadcastss  (%rax),%ymm8
+  DB  197,252,92,196                      ; vsubps        %ymm4,%ymm0,%ymm0
+  DB  196,226,61,168,196                  ; vfmadd213ps   %ymm4,%ymm8,%ymm0
+  DB  197,244,92,205                      ; vsubps        %ymm5,%ymm1,%ymm1
+  DB  196,226,61,168,205                  ; vfmadd213ps   %ymm5,%ymm8,%ymm1
+  DB  197,236,92,214                      ; vsubps        %ymm6,%ymm2,%ymm2
+  DB  196,226,61,168,214                  ; vfmadd213ps   %ymm6,%ymm8,%ymm2
+  DB  197,228,92,223                      ; vsubps        %ymm7,%ymm3,%ymm3
+  DB  196,226,61,168,223                  ; vfmadd213ps   %ymm7,%ymm8,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_lerp_u8_hsw
+_sk_lerp_u8_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,78                              ; jne           210b <_sk_lerp_u8_hsw+0x60>
+  DB  196,66,121,48,4,16                  ; vpmovzxbw     (%r8,%rdx,1),%xmm8
+  DB  197,57,219,5,133,51,3,0             ; vpand         0x33385(%rip),%xmm8,%xmm8        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  196,66,125,51,192                   ; vpmovzxwd     %xmm8,%ymm8
+  DB  196,65,124,91,192                   ; vcvtdq2ps     %ymm8,%ymm8
+  DB  196,98,125,24,13,98,42,3,0          ; vbroadcastss  0x32a62(%rip),%ymm9        # 34b40 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  DB  196,65,60,89,193                    ; vmulps        %ymm9,%ymm8,%ymm8
+  DB  197,252,92,196                      ; vsubps        %ymm4,%ymm0,%ymm0
+  DB  196,226,61,168,196                  ; vfmadd213ps   %ymm4,%ymm8,%ymm0
+  DB  197,244,92,205                      ; vsubps        %ymm5,%ymm1,%ymm1
+  DB  196,226,61,168,205                  ; vfmadd213ps   %ymm5,%ymm8,%ymm1
+  DB  197,236,92,214                      ; vsubps        %ymm6,%ymm2,%ymm2
+  DB  196,226,61,168,214                  ; vfmadd213ps   %ymm6,%ymm8,%ymm2
+  DB  197,228,92,223                      ; vsubps        %ymm7,%ymm3,%ymm3
+  DB  196,226,61,168,223                  ; vfmadd213ps   %ymm7,%ymm8,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,169                             ; ja            20c3 <_sk_lerp_u8_hsw+0x18>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,124,0,0,0                 ; lea           0x7c(%rip),%r9        # 21a0 <_sk_lerp_u8_hsw+0xf5>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,182,4,16                      ; movzbl        (%r8,%rdx,1),%eax
+  DB  197,121,110,192                     ; vmovd         %eax,%xmm8
+  DB  235,139                             ; jmp           20c3 <_sk_lerp_u8_hsw+0x18>
+  DB  65,15,182,68,16,2                   ; movzbl        0x2(%r8,%rdx,1),%eax
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  197,57,196,192,2                    ; vpinsrw       $0x2,%eax,%xmm8,%xmm8
+  DB  65,15,183,4,16                      ; movzwl        (%r8,%rdx,1),%eax
+  DB  197,121,110,200                     ; vmovd         %eax,%xmm9
+  DB  196,66,121,48,201                   ; vpmovzxbw     %xmm9,%xmm9
+  DB  196,67,57,2,193,1                   ; vpblendd      $0x1,%xmm9,%xmm8,%xmm8
+  DB  233,98,255,255,255                  ; jmpq          20c3 <_sk_lerp_u8_hsw+0x18>
+  DB  65,15,182,68,16,6                   ; movzbl        0x6(%r8,%rdx,1),%eax
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  197,57,196,192,6                    ; vpinsrw       $0x6,%eax,%xmm8,%xmm8
+  DB  65,15,182,68,16,5                   ; movzbl        0x5(%r8,%rdx,1),%eax
+  DB  197,57,196,192,5                    ; vpinsrw       $0x5,%eax,%xmm8,%xmm8
+  DB  65,15,182,68,16,4                   ; movzbl        0x4(%r8,%rdx,1),%eax
+  DB  197,57,196,192,4                    ; vpinsrw       $0x4,%eax,%xmm8,%xmm8
+  DB  196,65,121,110,12,16                ; vmovd         (%r8,%rdx,1),%xmm9
+  DB  196,66,121,48,201                   ; vpmovzxbw     %xmm9,%xmm9
+  DB  196,67,49,2,192,12                  ; vpblendd      $0xc,%xmm8,%xmm9,%xmm8
+  DB  233,38,255,255,255                  ; jmpq          20c3 <_sk_lerp_u8_hsw+0x18>
+  DB  15,31,0                             ; nopl          (%rax)
+  DB  141                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,168,255,255,255,152             ; ljmp          *-0x67000001(%rax)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,231                             ; jmpq          *%rdi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  220,255                             ; fdivr         %st,%st(7)
+  DB  255                                 ; (bad)
+  DB  255,209                             ; callq         *%rcx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,193                             ; inc           %ecx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_lerp_565_hsw
+_sk_lerp_565_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,181,0,0,0                    ; jne           228a <_sk_lerp_565_hsw+0xce>
+  DB  196,65,122,111,4,80                 ; vmovdqu       (%r8,%rdx,2),%xmm8
+  DB  196,66,125,51,192                   ; vpmovzxwd     %xmm8,%ymm8
+  DB  196,98,125,88,13,91,41,3,0          ; vpbroadcastd  0x3295b(%rip),%ymm9        # 34b44 <_sk_srcover_bgra_8888_sse2_lowp+0x32c>
+  DB  196,65,61,219,201                   ; vpand         %ymm9,%ymm8,%ymm9
+  DB  196,65,124,91,201                   ; vcvtdq2ps     %ymm9,%ymm9
+  DB  196,98,125,24,21,76,41,3,0          ; vbroadcastss  0x3294c(%rip),%ymm10        # 34b48 <_sk_srcover_bgra_8888_sse2_lowp+0x330>
+  DB  196,65,52,89,202                    ; vmulps        %ymm10,%ymm9,%ymm9
+  DB  196,98,125,88,21,66,41,3,0          ; vpbroadcastd  0x32942(%rip),%ymm10        # 34b4c <_sk_srcover_bgra_8888_sse2_lowp+0x334>
+  DB  196,65,61,219,210                   ; vpand         %ymm10,%ymm8,%ymm10
+  DB  196,65,124,91,210                   ; vcvtdq2ps     %ymm10,%ymm10
+  DB  196,98,125,24,29,51,41,3,0          ; vbroadcastss  0x32933(%rip),%ymm11        # 34b50 <_sk_srcover_bgra_8888_sse2_lowp+0x338>
+  DB  196,65,44,89,211                    ; vmulps        %ymm11,%ymm10,%ymm10
+  DB  196,98,125,88,29,41,41,3,0          ; vpbroadcastd  0x32929(%rip),%ymm11        # 34b54 <_sk_srcover_bgra_8888_sse2_lowp+0x33c>
+  DB  196,65,61,219,195                   ; vpand         %ymm11,%ymm8,%ymm8
+  DB  196,65,124,91,192                   ; vcvtdq2ps     %ymm8,%ymm8
+  DB  196,98,125,24,29,26,41,3,0          ; vbroadcastss  0x3291a(%rip),%ymm11        # 34b58 <_sk_srcover_bgra_8888_sse2_lowp+0x340>
+  DB  196,65,60,89,195                    ; vmulps        %ymm11,%ymm8,%ymm8
+  DB  197,100,194,223,1                   ; vcmpltps      %ymm7,%ymm3,%ymm11
+  DB  196,65,44,93,224                    ; vminps        %ymm8,%ymm10,%ymm12
+  DB  196,65,52,93,228                    ; vminps        %ymm12,%ymm9,%ymm12
+  DB  196,65,44,95,232                    ; vmaxps        %ymm8,%ymm10,%ymm13
+  DB  196,65,52,95,237                    ; vmaxps        %ymm13,%ymm9,%ymm13
+  DB  196,67,21,74,220,176                ; vblendvps     %ymm11,%ymm12,%ymm13,%ymm11
+  DB  197,252,92,196                      ; vsubps        %ymm4,%ymm0,%ymm0
+  DB  196,226,53,168,196                  ; vfmadd213ps   %ymm4,%ymm9,%ymm0
+  DB  197,244,92,205                      ; vsubps        %ymm5,%ymm1,%ymm1
+  DB  196,226,45,168,205                  ; vfmadd213ps   %ymm5,%ymm10,%ymm1
+  DB  197,236,92,214                      ; vsubps        %ymm6,%ymm2,%ymm2
+  DB  196,226,61,168,214                  ; vfmadd213ps   %ymm6,%ymm8,%ymm2
+  DB  197,228,92,223                      ; vsubps        %ymm7,%ymm3,%ymm3
+  DB  196,226,37,168,223                  ; vfmadd213ps   %ymm7,%ymm11,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  15,135,62,255,255,255               ; ja            21db <_sk_lerp_565_hsw+0x1f>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,101,0,0,0                 ; lea           0x65(%rip),%r9        # 230c <_sk_lerp_565_hsw+0x150>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,183,4,80                      ; movzwl        (%r8,%rdx,2),%eax
+  DB  197,121,110,192                     ; vmovd         %eax,%xmm8
+  DB  233,29,255,255,255                  ; jmpq          21db <_sk_lerp_565_hsw+0x1f>
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  196,65,57,196,68,80,4,2             ; vpinsrw       $0x2,0x4(%r8,%rdx,2),%xmm8,%xmm8
+  DB  196,65,121,110,12,80                ; vmovd         (%r8,%rdx,2),%xmm9
+  DB  196,67,57,2,193,1                   ; vpblendd      $0x1,%xmm9,%xmm8,%xmm8
+  DB  233,255,254,255,255                 ; jmpq          21db <_sk_lerp_565_hsw+0x1f>
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  196,65,57,196,68,80,12,6            ; vpinsrw       $0x6,0xc(%r8,%rdx,2),%xmm8,%xmm8
+  DB  196,65,57,196,68,80,10,5            ; vpinsrw       $0x5,0xa(%r8,%rdx,2),%xmm8,%xmm8
+  DB  196,65,57,196,68,80,8,4             ; vpinsrw       $0x4,0x8(%r8,%rdx,2),%xmm8,%xmm8
+  DB  196,65,122,126,12,80                ; vmovq         (%r8,%rdx,2),%xmm9
+  DB  196,67,49,2,192,12                  ; vpblendd      $0xc,%xmm8,%xmm9,%xmm8
+  DB  233,209,254,255,255                 ; jmpq          21db <_sk_lerp_565_hsw+0x1f>
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  164                                 ; movsb         %ds:(%rsi),%es:(%rdi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  191,255,255,255,178                 ; mov           $0xb2ffffff,%edi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  237                                 ; in            (%dx),%eax
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,229                             ; jmpq          *%rbp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  221,255                             ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,208                             ; callq         *%rax
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_tables_hsw
+_sk_load_tables_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,116                             ; jne           23a6 <_sk_load_tables_hsw+0x7e>
+  DB  196,193,126,111,28,144              ; vmovdqu       (%r8,%rdx,4),%ymm3
+  DB  197,229,219,13,32,42,3,0            ; vpand         0x32a20(%rip),%ymm3,%ymm1        # 34d60 <_sk_srcover_bgra_8888_sse2_lowp+0x548>
+  DB  196,65,61,118,192                   ; vpcmpeqd      %ymm8,%ymm8,%ymm8
+  DB  76,139,64,8                         ; mov           0x8(%rax),%r8
+  DB  76,139,72,16                        ; mov           0x10(%rax),%r9
+  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
+  DB  197,253,239,192                     ; vpxor         %ymm0,%ymm0,%ymm0
+  DB  196,65,53,118,201                   ; vpcmpeqd      %ymm9,%ymm9,%ymm9
+  DB  196,194,53,146,4,136                ; vgatherdps    %ymm9,(%r8,%ymm1,4),%ymm0
+  DB  196,98,101,0,13,23,42,3,0           ; vpshufb       0x32a17(%rip),%ymm3,%ymm9        # 34d80 <_sk_srcover_bgra_8888_sse2_lowp+0x568>
+  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
+  DB  196,65,45,118,210                   ; vpcmpeqd      %ymm10,%ymm10,%ymm10
+  DB  196,130,45,146,12,137               ; vgatherdps    %ymm10,(%r9,%ymm9,4),%ymm1
+  DB  72,139,64,24                        ; mov           0x18(%rax),%rax
+  DB  196,98,101,0,13,27,42,3,0           ; vpshufb       0x32a1b(%rip),%ymm3,%ymm9        # 34da0 <_sk_srcover_bgra_8888_sse2_lowp+0x588>
+  DB  196,162,61,146,20,136               ; vgatherdps    %ymm8,(%rax,%ymm9,4),%ymm2
+  DB  197,229,114,211,24                  ; vpsrld        $0x18,%ymm3,%ymm3
+  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
+  DB  196,98,125,24,5,163,39,3,0          ; vbroadcastss  0x327a3(%rip),%ymm8        # 34b40 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  DB  196,193,100,89,216                  ; vmulps        %ymm8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,137,249                          ; mov           %edi,%r9d
+  DB  65,128,225,7                        ; and           $0x7,%r9b
+  DB  197,229,239,219                     ; vpxor         %ymm3,%ymm3,%ymm3
+  DB  65,254,201                          ; dec           %r9b
+  DB  65,128,249,6                        ; cmp           $0x6,%r9b
+  DB  15,135,122,255,255,255              ; ja            2338 <_sk_load_tables_hsw+0x10>
+  DB  69,15,182,201                       ; movzbl        %r9b,%r9d
+  DB  76,141,21,139,0,0,0                 ; lea           0x8b(%rip),%r10        # 2454 <_sk_load_tables_hsw+0x12c>
+  DB  79,99,12,138                        ; movslq        (%r10,%r9,4),%r9
+  DB  77,1,209                            ; add           %r10,%r9
+  DB  65,255,225                          ; jmpq          *%r9
+  DB  196,193,121,110,28,144              ; vmovd         (%r8,%rdx,4),%xmm3
+  DB  233,90,255,255,255                  ; jmpq          2338 <_sk_load_tables_hsw+0x10>
+  DB  196,193,121,110,68,144,8            ; vmovd         0x8(%r8,%rdx,4),%xmm0
+  DB  196,226,121,89,192                  ; vpbroadcastq  %xmm0,%xmm0
+  DB  197,245,239,201                     ; vpxor         %ymm1,%ymm1,%ymm1
+  DB  196,227,117,2,216,4                 ; vpblendd      $0x4,%ymm0,%ymm1,%ymm3
+  DB  196,193,122,126,4,144               ; vmovq         (%r8,%rdx,4),%xmm0
+  DB  196,227,101,2,216,3                 ; vpblendd      $0x3,%ymm0,%ymm3,%ymm3
+  DB  233,51,255,255,255                  ; jmpq          2338 <_sk_load_tables_hsw+0x10>
+  DB  196,193,121,110,68,144,24           ; vmovd         0x18(%r8,%rdx,4),%xmm0
+  DB  196,226,125,89,192                  ; vpbroadcastq  %xmm0,%ymm0
+  DB  197,245,239,201                     ; vpxor         %ymm1,%ymm1,%ymm1
+  DB  196,227,117,2,216,64                ; vpblendd      $0x40,%ymm0,%ymm1,%ymm3
+  DB  196,227,125,57,216,1                ; vextracti128  $0x1,%ymm3,%xmm0
+  DB  196,195,121,34,68,144,20,1          ; vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm0,%xmm0
+  DB  196,227,101,56,216,1                ; vinserti128   $0x1,%xmm0,%ymm3,%ymm3
+  DB  196,227,125,57,216,1                ; vextracti128  $0x1,%ymm3,%xmm0
+  DB  196,195,121,34,68,144,16,0          ; vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm0,%xmm0
+  DB  196,227,101,56,216,1                ; vinserti128   $0x1,%xmm0,%ymm3,%ymm3
+  DB  196,193,122,111,4,144               ; vmovdqu       (%r8,%rdx,4),%xmm0
+  DB  196,227,125,2,219,240               ; vpblendd      $0xf0,%ymm3,%ymm0,%ymm3
+  DB  233,228,254,255,255                 ; jmpq          2338 <_sk_load_tables_hsw+0x10>
+  DB  127,255                             ; jg            2455 <_sk_load_tables_hsw+0x12d>
+  DB  255                                 ; (bad)
+  DB  255,160,255,255,255,138             ; jmpq          *-0x75000001(%rax)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  239                                 ; out           %eax,(%dx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  219,255                             ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,199                             ; inc           %edi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+  DB  177,255                             ; mov           $0xff,%cl
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_tables_u16_be_hsw
+_sk_load_tables_u16_be_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  76,141,12,149,0,0,0,0               ; lea           0x0(,%rdx,4),%r9
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,215,0,0,0                    ; jne           255d <_sk_load_tables_u16_be_hsw+0xed>
+  DB  196,1,121,16,4,72                   ; vmovupd       (%r8,%r9,2),%xmm8
+  DB  196,129,121,16,84,72,16             ; vmovupd       0x10(%r8,%r9,2),%xmm2
+  DB  196,129,121,16,92,72,32             ; vmovupd       0x20(%r8,%r9,2),%xmm3
+  DB  196,1,122,111,76,72,48              ; vmovdqu       0x30(%r8,%r9,2),%xmm9
+  DB  197,185,97,194                      ; vpunpcklwd    %xmm2,%xmm8,%xmm0
+  DB  197,185,105,210                     ; vpunpckhwd    %xmm2,%xmm8,%xmm2
+  DB  196,193,97,97,201                   ; vpunpcklwd    %xmm9,%xmm3,%xmm1
+  DB  196,193,97,105,217                  ; vpunpckhwd    %xmm9,%xmm3,%xmm3
+  DB  197,121,97,194                      ; vpunpcklwd    %xmm2,%xmm0,%xmm8
+  DB  197,121,105,202                     ; vpunpckhwd    %xmm2,%xmm0,%xmm9
+  DB  197,241,97,195                      ; vpunpcklwd    %xmm3,%xmm1,%xmm0
+  DB  197,113,105,243                     ; vpunpckhwd    %xmm3,%xmm1,%xmm14
+  DB  197,185,108,200                     ; vpunpcklqdq   %xmm0,%xmm8,%xmm1
+  DB  197,57,109,192                      ; vpunpckhqdq   %xmm0,%xmm8,%xmm8
+  DB  196,65,49,108,214                   ; vpunpcklqdq   %xmm14,%xmm9,%xmm10
+  DB  197,121,111,29,120,47,3,0           ; vmovdqa       0x32f78(%rip),%xmm11        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  196,193,113,219,195                 ; vpand         %xmm11,%xmm1,%xmm0
+  DB  196,226,125,51,200                  ; vpmovzxwd     %xmm0,%ymm1
+  DB  196,65,29,118,228                   ; vpcmpeqd      %ymm12,%ymm12,%ymm12
+  DB  197,237,239,210                     ; vpxor         %ymm2,%ymm2,%ymm2
+  DB  76,139,64,8                         ; mov           0x8(%rax),%r8
+  DB  76,139,72,16                        ; mov           0x10(%rax),%r9
+  DB  196,65,21,118,237                   ; vpcmpeqd      %ymm13,%ymm13,%ymm13
+  DB  197,253,239,192                     ; vpxor         %ymm0,%ymm0,%ymm0
+  DB  196,194,21,146,4,136                ; vgatherdps    %ymm13,(%r8,%ymm1,4),%ymm0
+  DB  196,193,57,219,203                  ; vpand         %xmm11,%xmm8,%xmm1
+  DB  196,98,125,51,193                   ; vpmovzxwd     %xmm1,%ymm8
+  DB  196,65,21,118,237                   ; vpcmpeqd      %ymm13,%ymm13,%ymm13
+  DB  197,245,239,201                     ; vpxor         %ymm1,%ymm1,%ymm1
+  DB  196,130,21,146,12,129               ; vgatherdps    %ymm13,(%r9,%ymm8,4),%ymm1
+  DB  72,139,64,24                        ; mov           0x18(%rax),%rax
+  DB  196,193,41,219,219                  ; vpand         %xmm11,%xmm10,%xmm3
+  DB  196,226,125,51,219                  ; vpmovzxwd     %xmm3,%ymm3
+  DB  196,226,29,146,20,152               ; vgatherdps    %ymm12,(%rax,%ymm3,4),%ymm2
+  DB  196,193,49,109,222                  ; vpunpckhqdq   %xmm14,%xmm9,%xmm3
+  DB  197,185,113,243,8                   ; vpsllw        $0x8,%xmm3,%xmm8
+  DB  197,225,113,211,8                   ; vpsrlw        $0x8,%xmm3,%xmm3
+  DB  197,185,235,219                     ; vpor          %xmm3,%xmm8,%xmm3
+  DB  196,226,125,51,219                  ; vpmovzxwd     %xmm3,%ymm3
+  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
+  DB  196,98,125,24,5,8,38,3,0            ; vbroadcastss  0x32608(%rip),%ymm8        # 34b5c <_sk_srcover_bgra_8888_sse2_lowp+0x344>
+  DB  196,193,100,89,216                  ; vmulps        %ymm8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,1,123,16,4,72                   ; vmovsd        (%r8,%r9,2),%xmm8
+  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
+  DB  72,131,255,1                        ; cmp           $0x1,%rdi
+  DB  116,85                              ; je            25c3 <_sk_load_tables_u16_be_hsw+0x153>
+  DB  196,1,57,22,68,72,8                 ; vmovhpd       0x8(%r8,%r9,2),%xmm8,%xmm8
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  114,72                              ; jb            25c3 <_sk_load_tables_u16_be_hsw+0x153>
+  DB  196,129,123,16,84,72,16             ; vmovsd        0x10(%r8,%r9,2),%xmm2
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  116,72                              ; je            25d0 <_sk_load_tables_u16_be_hsw+0x160>
+  DB  196,129,105,22,84,72,24             ; vmovhpd       0x18(%r8,%r9,2),%xmm2,%xmm2
+  DB  72,131,255,5                        ; cmp           $0x5,%rdi
+  DB  114,59                              ; jb            25d0 <_sk_load_tables_u16_be_hsw+0x160>
+  DB  196,129,123,16,92,72,32             ; vmovsd        0x20(%r8,%r9,2),%xmm3
+  DB  72,131,255,5                        ; cmp           $0x5,%rdi
+  DB  15,132,251,254,255,255              ; je            24a1 <_sk_load_tables_u16_be_hsw+0x31>
+  DB  196,129,97,22,92,72,40              ; vmovhpd       0x28(%r8,%r9,2),%xmm3,%xmm3
+  DB  72,131,255,7                        ; cmp           $0x7,%rdi
+  DB  15,130,234,254,255,255              ; jb            24a1 <_sk_load_tables_u16_be_hsw+0x31>
+  DB  196,1,122,126,76,72,48              ; vmovq         0x30(%r8,%r9,2),%xmm9
+  DB  233,222,254,255,255                 ; jmpq          24a1 <_sk_load_tables_u16_be_hsw+0x31>
+  DB  197,225,87,219                      ; vxorpd        %xmm3,%xmm3,%xmm3
+  DB  197,233,87,210                      ; vxorpd        %xmm2,%xmm2,%xmm2
+  DB  233,209,254,255,255                 ; jmpq          24a1 <_sk_load_tables_u16_be_hsw+0x31>
+  DB  197,225,87,219                      ; vxorpd        %xmm3,%xmm3,%xmm3
+  DB  233,200,254,255,255                 ; jmpq          24a1 <_sk_load_tables_u16_be_hsw+0x31>
+
+PUBLIC _sk_load_tables_rgb_u16_be_hsw
+_sk_load_tables_rgb_u16_be_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  76,141,12,82                        ; lea           (%rdx,%rdx,2),%r9
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,206,0,0,0                    ; jne           26b9 <_sk_load_tables_rgb_u16_be_hsw+0xe0>
+  DB  196,1,122,111,28,72                 ; vmovdqu       (%r8,%r9,2),%xmm11
+  DB  196,129,122,111,92,72,12            ; vmovdqu       0xc(%r8,%r9,2),%xmm3
+  DB  196,129,122,111,84,72,24            ; vmovdqu       0x18(%r8,%r9,2),%xmm2
+  DB  196,129,122,111,68,72,32            ; vmovdqu       0x20(%r8,%r9,2),%xmm0
+  DB  197,249,115,216,4                   ; vpsrldq       $0x4,%xmm0,%xmm0
+  DB  196,193,57,115,219,6                ; vpsrldq       $0x6,%xmm11,%xmm8
+  DB  197,169,115,219,6                   ; vpsrldq       $0x6,%xmm3,%xmm10
+  DB  197,241,115,218,6                   ; vpsrldq       $0x6,%xmm2,%xmm1
+  DB  197,177,115,216,6                   ; vpsrldq       $0x6,%xmm0,%xmm9
+  DB  196,65,113,97,201                   ; vpunpcklwd    %xmm9,%xmm1,%xmm9
+  DB  197,233,97,192                      ; vpunpcklwd    %xmm0,%xmm2,%xmm0
+  DB  196,193,57,97,210                   ; vpunpcklwd    %xmm10,%xmm8,%xmm2
+  DB  197,161,97,219                      ; vpunpcklwd    %xmm3,%xmm11,%xmm3
+  DB  197,225,97,202                      ; vpunpcklwd    %xmm2,%xmm3,%xmm1
+  DB  197,225,105,210                     ; vpunpckhwd    %xmm2,%xmm3,%xmm2
+  DB  196,193,121,97,217                  ; vpunpcklwd    %xmm9,%xmm0,%xmm3
+  DB  196,193,121,105,193                 ; vpunpckhwd    %xmm9,%xmm0,%xmm0
+  DB  197,105,108,192                     ; vpunpcklqdq   %xmm0,%xmm2,%xmm8
+  DB  197,241,108,195                     ; vpunpcklqdq   %xmm3,%xmm1,%xmm0
+  DB  197,241,109,203                     ; vpunpckhqdq   %xmm3,%xmm1,%xmm1
+  DB  197,249,111,29,248,45,3,0           ; vmovdqa       0x32df8(%rip),%xmm3        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  197,249,219,195                     ; vpand         %xmm3,%xmm0,%xmm0
+  DB  196,98,125,51,200                   ; vpmovzxwd     %xmm0,%ymm9
+  DB  196,65,45,118,210                   ; vpcmpeqd      %ymm10,%ymm10,%ymm10
+  DB  197,237,239,210                     ; vpxor         %ymm2,%ymm2,%ymm2
+  DB  76,139,64,8                         ; mov           0x8(%rax),%r8
+  DB  76,139,72,16                        ; mov           0x10(%rax),%r9
+  DB  196,65,37,118,219                   ; vpcmpeqd      %ymm11,%ymm11,%ymm11
+  DB  197,253,239,192                     ; vpxor         %ymm0,%ymm0,%ymm0
+  DB  196,130,37,146,4,136                ; vgatherdps    %ymm11,(%r8,%ymm9,4),%ymm0
+  DB  197,241,219,203                     ; vpand         %xmm3,%xmm1,%xmm1
+  DB  196,98,125,51,201                   ; vpmovzxwd     %xmm1,%ymm9
+  DB  196,65,37,118,219                   ; vpcmpeqd      %ymm11,%ymm11,%ymm11
+  DB  197,245,239,201                     ; vpxor         %ymm1,%ymm1,%ymm1
+  DB  196,130,37,146,12,137               ; vgatherdps    %ymm11,(%r9,%ymm9,4),%ymm1
+  DB  72,139,64,24                        ; mov           0x18(%rax),%rax
+  DB  197,185,219,219                     ; vpand         %xmm3,%xmm8,%xmm3
+  DB  196,226,125,51,219                  ; vpmovzxwd     %xmm3,%ymm3
+  DB  196,226,45,146,20,152               ; vgatherdps    %ymm10,(%rax,%ymm3,4),%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,29,17,36,3,0         ; vbroadcastss  0x32411(%rip),%ymm3        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,129,121,110,4,72                ; vmovd         (%r8,%r9,2),%xmm0
+  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
+  DB  196,1,121,196,92,72,4,2             ; vpinsrw       $0x2,0x4(%r8,%r9,2),%xmm0,%xmm11
+  DB  72,131,255,1                        ; cmp           $0x1,%rdi
+  DB  117,31                              ; jne           26f1 <_sk_load_tables_rgb_u16_be_hsw+0x118>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  197,241,239,201                     ; vpxor         %xmm1,%xmm1,%xmm1
+  DB  197,233,239,210                     ; vpxor         %xmm2,%xmm2,%xmm2
+  DB  196,65,41,239,210                   ; vpxor         %xmm10,%xmm10,%xmm10
+  DB  197,225,239,219                     ; vpxor         %xmm3,%xmm3,%xmm3
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  233,47,255,255,255                  ; jmpq          2620 <_sk_load_tables_rgb_u16_be_hsw+0x47>
+  DB  196,129,121,110,68,72,6             ; vmovd         0x6(%r8,%r9,2),%xmm0
+  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
+  DB  196,1,121,196,68,72,10,2            ; vpinsrw       $0x2,0xa(%r8,%r9,2),%xmm0,%xmm8
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  114,48                              ; jb            273b <_sk_load_tables_rgb_u16_be_hsw+0x162>
+  DB  196,129,121,110,68,72,12            ; vmovd         0xc(%r8,%r9,2),%xmm0
+  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
+  DB  196,129,121,196,92,72,16,2          ; vpinsrw       $0x2,0x10(%r8,%r9,2),%xmm0,%xmm3
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  117,48                              ; jne           2755 <_sk_load_tables_rgb_u16_be_hsw+0x17c>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  197,241,239,201                     ; vpxor         %xmm1,%xmm1,%xmm1
+  DB  197,233,239,210                     ; vpxor         %xmm2,%xmm2,%xmm2
+  DB  196,65,41,239,210                   ; vpxor         %xmm10,%xmm10,%xmm10
+  DB  233,229,254,255,255                 ; jmpq          2620 <_sk_load_tables_rgb_u16_be_hsw+0x47>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  197,241,239,201                     ; vpxor         %xmm1,%xmm1,%xmm1
+  DB  197,233,239,210                     ; vpxor         %xmm2,%xmm2,%xmm2
+  DB  196,65,41,239,210                   ; vpxor         %xmm10,%xmm10,%xmm10
+  DB  197,225,239,219                     ; vpxor         %xmm3,%xmm3,%xmm3
+  DB  233,203,254,255,255                 ; jmpq          2620 <_sk_load_tables_rgb_u16_be_hsw+0x47>
+  DB  196,129,121,110,68,72,18            ; vmovd         0x12(%r8,%r9,2),%xmm0
+  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
+  DB  196,1,121,196,84,72,22,2            ; vpinsrw       $0x2,0x16(%r8,%r9,2),%xmm0,%xmm10
+  DB  72,131,255,5                        ; cmp           $0x5,%rdi
+  DB  114,39                              ; jb            2796 <_sk_load_tables_rgb_u16_be_hsw+0x1bd>
+  DB  196,129,121,110,68,72,24            ; vmovd         0x18(%r8,%r9,2),%xmm0
+  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
+  DB  196,129,121,196,84,72,28,2          ; vpinsrw       $0x2,0x1c(%r8,%r9,2),%xmm0,%xmm2
+  DB  72,131,255,5                        ; cmp           $0x5,%rdi
+  DB  117,30                              ; jne           27a7 <_sk_load_tables_rgb_u16_be_hsw+0x1ce>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  197,241,239,201                     ; vpxor         %xmm1,%xmm1,%xmm1
+  DB  233,138,254,255,255                 ; jmpq          2620 <_sk_load_tables_rgb_u16_be_hsw+0x47>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  197,241,239,201                     ; vpxor         %xmm1,%xmm1,%xmm1
+  DB  197,233,239,210                     ; vpxor         %xmm2,%xmm2,%xmm2
+  DB  233,121,254,255,255                 ; jmpq          2620 <_sk_load_tables_rgb_u16_be_hsw+0x47>
+  DB  196,129,121,110,68,72,30            ; vmovd         0x1e(%r8,%r9,2),%xmm0
+  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
+  DB  196,129,121,196,76,72,34,2          ; vpinsrw       $0x2,0x22(%r8,%r9,2),%xmm0,%xmm1
+  DB  72,131,255,7                        ; cmp           $0x7,%rdi
+  DB  114,25                              ; jb            27da <_sk_load_tables_rgb_u16_be_hsw+0x201>
+  DB  196,129,121,110,68,72,36            ; vmovd         0x24(%r8,%r9,2),%xmm0
+  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
+  DB  196,129,121,196,68,72,40,2          ; vpinsrw       $0x2,0x28(%r8,%r9,2),%xmm0,%xmm0
+  DB  233,70,254,255,255                  ; jmpq          2620 <_sk_load_tables_rgb_u16_be_hsw+0x47>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  233,61,254,255,255                  ; jmpq          2620 <_sk_load_tables_rgb_u16_be_hsw+0x47>
+
+PUBLIC _sk_byte_tables_hsw
+_sk_byte_tables_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,60,95,200                       ; vmaxps        %ymm0,%ymm8,%ymm9
+  DB  196,98,125,24,29,209,34,3,0         ; vbroadcastss  0x322d1(%rip),%ymm11        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,65,52,93,211                    ; vminps        %ymm11,%ymm9,%ymm10
+  DB  196,98,125,24,13,239,34,3,0         ; vbroadcastss  0x322ef(%rip),%ymm9        # 34af4 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  DB  196,65,44,89,209                    ; vmulps        %ymm9,%ymm10,%ymm10
+  DB  196,65,125,91,210                   ; vcvtps2dq     %ymm10,%ymm10
+  DB  196,65,249,126,208                  ; vmovq         %xmm10,%r8
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  76,139,16                           ; mov           (%rax),%r10
+  DB  71,15,182,12,10                     ; movzbl        (%r10,%r9,1),%r9d
+  DB  196,193,121,110,193                 ; vmovd         %r9d,%xmm0
+  DB  196,67,249,22,209,1                 ; vpextrq       $0x1,%xmm10,%r9
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  71,15,182,4,2                       ; movzbl        (%r10,%r8,1),%r8d
+  DB  196,67,121,32,224,1                 ; vpinsrb       $0x1,%r8d,%xmm0,%xmm12
+  DB  69,137,200                          ; mov           %r9d,%r8d
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  196,99,125,57,208,1                 ; vextracti128  $0x1,%ymm10,%xmm0
+  DB  71,15,182,4,2                       ; movzbl        (%r10,%r8,1),%r8d
+  DB  196,67,25,32,208,2                  ; vpinsrb       $0x2,%r8d,%xmm12,%xmm10
+  DB  196,193,249,126,192                 ; vmovq         %xmm0,%r8
+  DB  71,15,182,12,10                     ; movzbl        (%r10,%r9,1),%r9d
+  DB  196,67,41,32,209,3                  ; vpinsrb       $0x3,%r9d,%xmm10,%xmm10
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  71,15,182,12,10                     ; movzbl        (%r10,%r9,1),%r9d
+  DB  196,67,41,32,209,4                  ; vpinsrb       $0x4,%r9d,%xmm10,%xmm10
+  DB  196,195,249,22,193,1                ; vpextrq       $0x1,%xmm0,%r9
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  71,15,182,4,2                       ; movzbl        (%r10,%r8,1),%r8d
+  DB  196,195,41,32,192,5                 ; vpinsrb       $0x5,%r8d,%xmm10,%xmm0
+  DB  69,137,200                          ; mov           %r9d,%r8d
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  71,15,182,4,2                       ; movzbl        (%r10,%r8,1),%r8d
+  DB  196,195,121,32,192,6                ; vpinsrb       $0x6,%r8d,%xmm0,%xmm0
+  DB  76,139,64,8                         ; mov           0x8(%rax),%r8
+  DB  71,15,182,12,10                     ; movzbl        (%r10,%r9,1),%r9d
+  DB  196,67,121,32,209,7                 ; vpinsrb       $0x7,%r9d,%xmm0,%xmm10
+  DB  197,188,95,193                      ; vmaxps        %ymm1,%ymm8,%ymm0
+  DB  196,193,124,93,195                  ; vminps        %ymm11,%ymm0,%ymm0
+  DB  196,193,124,89,193                  ; vmulps        %ymm9,%ymm0,%ymm0
+  DB  197,253,91,200                      ; vcvtps2dq     %ymm0,%ymm1
+  DB  196,193,249,126,201                 ; vmovq         %xmm1,%r9
+  DB  69,137,202                          ; mov           %r9d,%r10d
+  DB  71,15,182,20,16                     ; movzbl        (%r8,%r10,1),%r10d
+  DB  196,193,121,110,194                 ; vmovd         %r10d,%xmm0
+  DB  196,195,249,22,202,1                ; vpextrq       $0x1,%xmm1,%r10
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  71,15,182,12,8                      ; movzbl        (%r8,%r9,1),%r9d
+  DB  196,195,121,32,193,1                ; vpinsrb       $0x1,%r9d,%xmm0,%xmm0
+  DB  69,137,209                          ; mov           %r10d,%r9d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,227,125,57,201,1                ; vextracti128  $0x1,%ymm1,%xmm1
+  DB  71,15,182,12,8                      ; movzbl        (%r8,%r9,1),%r9d
+  DB  196,195,121,32,193,2                ; vpinsrb       $0x2,%r9d,%xmm0,%xmm0
+  DB  196,193,249,126,201                 ; vmovq         %xmm1,%r9
+  DB  71,15,182,20,16                     ; movzbl        (%r8,%r10,1),%r10d
+  DB  196,195,121,32,194,3                ; vpinsrb       $0x3,%r10d,%xmm0,%xmm0
+  DB  69,137,202                          ; mov           %r9d,%r10d
+  DB  71,15,182,20,16                     ; movzbl        (%r8,%r10,1),%r10d
+  DB  196,195,121,32,194,4                ; vpinsrb       $0x4,%r10d,%xmm0,%xmm0
+  DB  196,195,249,22,202,1                ; vpextrq       $0x1,%xmm1,%r10
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  71,15,182,12,8                      ; movzbl        (%r8,%r9,1),%r9d
+  DB  196,195,121,32,193,5                ; vpinsrb       $0x5,%r9d,%xmm0,%xmm0
+  DB  69,137,209                          ; mov           %r10d,%r9d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  71,15,182,12,8                      ; movzbl        (%r8,%r9,1),%r9d
+  DB  196,195,121,32,193,6                ; vpinsrb       $0x6,%r9d,%xmm0,%xmm0
+  DB  71,15,182,4,16                      ; movzbl        (%r8,%r10,1),%r8d
+  DB  196,195,121,32,200,7                ; vpinsrb       $0x7,%r8d,%xmm0,%xmm1
+  DB  76,139,64,16                        ; mov           0x10(%rax),%r8
+  DB  197,188,95,194                      ; vmaxps        %ymm2,%ymm8,%ymm0
+  DB  196,193,124,93,195                  ; vminps        %ymm11,%ymm0,%ymm0
+  DB  196,193,124,89,193                  ; vmulps        %ymm9,%ymm0,%ymm0
+  DB  197,253,91,208                      ; vcvtps2dq     %ymm0,%ymm2
+  DB  196,193,249,126,209                 ; vmovq         %xmm2,%r9
+  DB  69,137,202                          ; mov           %r9d,%r10d
+  DB  71,15,182,20,16                     ; movzbl        (%r8,%r10,1),%r10d
+  DB  196,193,121,110,194                 ; vmovd         %r10d,%xmm0
+  DB  196,195,249,22,210,1                ; vpextrq       $0x1,%xmm2,%r10
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  71,15,182,12,8                      ; movzbl        (%r8,%r9,1),%r9d
+  DB  196,195,121,32,193,1                ; vpinsrb       $0x1,%r9d,%xmm0,%xmm0
+  DB  69,137,209                          ; mov           %r10d,%r9d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,227,125,57,210,1                ; vextracti128  $0x1,%ymm2,%xmm2
+  DB  71,15,182,12,8                      ; movzbl        (%r8,%r9,1),%r9d
+  DB  196,195,121,32,193,2                ; vpinsrb       $0x2,%r9d,%xmm0,%xmm0
+  DB  196,193,249,126,209                 ; vmovq         %xmm2,%r9
+  DB  71,15,182,20,16                     ; movzbl        (%r8,%r10,1),%r10d
+  DB  196,195,121,32,194,3                ; vpinsrb       $0x3,%r10d,%xmm0,%xmm0
+  DB  69,137,202                          ; mov           %r9d,%r10d
+  DB  71,15,182,20,16                     ; movzbl        (%r8,%r10,1),%r10d
+  DB  196,195,121,32,194,4                ; vpinsrb       $0x4,%r10d,%xmm0,%xmm0
+  DB  196,195,249,22,210,1                ; vpextrq       $0x1,%xmm2,%r10
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  71,15,182,12,8                      ; movzbl        (%r8,%r9,1),%r9d
+  DB  196,195,121,32,193,5                ; vpinsrb       $0x5,%r9d,%xmm0,%xmm0
+  DB  69,137,209                          ; mov           %r10d,%r9d
+  DB  71,15,182,12,8                      ; movzbl        (%r8,%r9,1),%r9d
+  DB  196,195,121,32,193,6                ; vpinsrb       $0x6,%r9d,%xmm0,%xmm0
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  71,15,182,4,16                      ; movzbl        (%r8,%r10,1),%r8d
+  DB  196,195,121,32,208,7                ; vpinsrb       $0x7,%r8d,%xmm0,%xmm2
+  DB  76,139,72,24                        ; mov           0x18(%rax),%r9
+  DB  197,188,95,195                      ; vmaxps        %ymm3,%ymm8,%ymm0
+  DB  196,193,124,93,195                  ; vminps        %ymm11,%ymm0,%ymm0
+  DB  196,193,124,89,193                  ; vmulps        %ymm9,%ymm0,%ymm0
+  DB  197,253,91,192                      ; vcvtps2dq     %ymm0,%ymm0
+  DB  196,193,249,126,192                 ; vmovq         %xmm0,%r8
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  65,15,182,4,1                       ; movzbl        (%r9,%rax,1),%eax
+  DB  197,249,110,216                     ; vmovd         %eax,%xmm3
+  DB  196,195,249,22,194,1                ; vpextrq       $0x1,%xmm0,%r10
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  67,15,182,4,1                       ; movzbl        (%r9,%r8,1),%eax
+  DB  196,227,97,32,216,1                 ; vpinsrb       $0x1,%eax,%xmm3,%xmm3
+  DB  68,137,208                          ; mov           %r10d,%eax
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,227,125,57,192,1                ; vextracti128  $0x1,%ymm0,%xmm0
+  DB  65,15,182,4,1                       ; movzbl        (%r9,%rax,1),%eax
+  DB  196,227,97,32,216,2                 ; vpinsrb       $0x2,%eax,%xmm3,%xmm3
+  DB  196,193,249,126,192                 ; vmovq         %xmm0,%r8
+  DB  67,15,182,4,17                      ; movzbl        (%r9,%r10,1),%eax
+  DB  196,227,97,32,216,3                 ; vpinsrb       $0x3,%eax,%xmm3,%xmm3
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  65,15,182,4,1                       ; movzbl        (%r9,%rax,1),%eax
+  DB  196,227,97,32,216,4                 ; vpinsrb       $0x4,%eax,%xmm3,%xmm3
+  DB  196,195,249,22,194,1                ; vpextrq       $0x1,%xmm0,%r10
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  67,15,182,4,1                       ; movzbl        (%r9,%r8,1),%eax
+  DB  196,227,97,32,192,5                 ; vpinsrb       $0x5,%eax,%xmm3,%xmm0
+  DB  68,137,208                          ; mov           %r10d,%eax
+  DB  65,15,182,4,1                       ; movzbl        (%r9,%rax,1),%eax
+  DB  196,227,121,32,216,6                ; vpinsrb       $0x6,%eax,%xmm0,%xmm3
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  67,15,182,4,17                      ; movzbl        (%r9,%r10,1),%eax
+  DB  196,194,125,49,194                  ; vpmovzxbd     %xmm10,%ymm0
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  196,98,125,24,5,165,32,3,0          ; vbroadcastss  0x320a5(%rip),%ymm8        # 34b40 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  DB  196,193,124,89,192                  ; vmulps        %ymm8,%ymm0,%ymm0
+  DB  196,226,125,49,201                  ; vpmovzxbd     %xmm1,%ymm1
+  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
+  DB  196,193,116,89,200                  ; vmulps        %ymm8,%ymm1,%ymm1
+  DB  196,226,125,49,210                  ; vpmovzxbd     %xmm2,%ymm2
+  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
+  DB  196,193,108,89,208                  ; vmulps        %ymm8,%ymm2,%ymm2
+  DB  196,227,97,32,216,7                 ; vpinsrb       $0x7,%eax,%xmm3,%xmm3
+  DB  196,226,125,49,219                  ; vpmovzxbd     %xmm3,%ymm3
+  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
+  DB  196,193,100,89,216                  ; vmulps        %ymm8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_byte_tables_rgb_hsw
+_sk_byte_tables_rgb_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  68,139,64,24                        ; mov           0x18(%rax),%r8d
+  DB  65,255,200                          ; dec           %r8d
+  DB  196,65,121,110,192                  ; vmovd         %r8d,%xmm8
+  DB  196,66,125,88,192                   ; vpbroadcastd  %xmm8,%ymm8
+  DB  196,65,124,91,192                   ; vcvtdq2ps     %ymm8,%ymm8
+  DB  196,65,52,87,201                    ; vxorps        %ymm9,%ymm9,%ymm9
+  DB  197,52,95,208                       ; vmaxps        %ymm0,%ymm9,%ymm10
+  DB  196,98,125,24,29,202,31,3,0         ; vbroadcastss  0x31fca(%rip),%ymm11        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,65,44,93,211                    ; vminps        %ymm11,%ymm10,%ymm10
+  DB  196,65,44,89,208                    ; vmulps        %ymm8,%ymm10,%ymm10
+  DB  196,65,125,91,210                   ; vcvtps2dq     %ymm10,%ymm10
+  DB  196,65,249,126,208                  ; vmovq         %xmm10,%r8
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  76,139,16                           ; mov           (%rax),%r10
+  DB  71,15,182,12,10                     ; movzbl        (%r10,%r9,1),%r9d
+  DB  196,193,121,110,193                 ; vmovd         %r9d,%xmm0
+  DB  196,67,249,22,209,1                 ; vpextrq       $0x1,%xmm10,%r9
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  71,15,182,4,2                       ; movzbl        (%r10,%r8,1),%r8d
+  DB  196,67,121,32,224,1                 ; vpinsrb       $0x1,%r8d,%xmm0,%xmm12
+  DB  69,137,200                          ; mov           %r9d,%r8d
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  196,99,125,57,208,1                 ; vextracti128  $0x1,%ymm10,%xmm0
+  DB  71,15,182,4,2                       ; movzbl        (%r10,%r8,1),%r8d
+  DB  196,67,25,32,208,2                  ; vpinsrb       $0x2,%r8d,%xmm12,%xmm10
+  DB  196,193,249,126,192                 ; vmovq         %xmm0,%r8
+  DB  71,15,182,12,10                     ; movzbl        (%r10,%r9,1),%r9d
+  DB  196,67,41,32,209,3                  ; vpinsrb       $0x3,%r9d,%xmm10,%xmm10
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  71,15,182,12,10                     ; movzbl        (%r10,%r9,1),%r9d
+  DB  196,67,41,32,209,4                  ; vpinsrb       $0x4,%r9d,%xmm10,%xmm10
+  DB  196,195,249,22,193,1                ; vpextrq       $0x1,%xmm0,%r9
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  71,15,182,4,2                       ; movzbl        (%r10,%r8,1),%r8d
+  DB  196,195,41,32,192,5                 ; vpinsrb       $0x5,%r8d,%xmm10,%xmm0
+  DB  69,137,200                          ; mov           %r9d,%r8d
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  71,15,182,4,2                       ; movzbl        (%r10,%r8,1),%r8d
+  DB  196,195,121,32,192,6                ; vpinsrb       $0x6,%r8d,%xmm0,%xmm0
+  DB  76,139,64,8                         ; mov           0x8(%rax),%r8
+  DB  71,15,182,12,10                     ; movzbl        (%r10,%r9,1),%r9d
+  DB  196,67,121,32,209,7                 ; vpinsrb       $0x7,%r9d,%xmm0,%xmm10
+  DB  197,180,95,193                      ; vmaxps        %ymm1,%ymm9,%ymm0
+  DB  196,193,124,93,195                  ; vminps        %ymm11,%ymm0,%ymm0
+  DB  197,188,89,192                      ; vmulps        %ymm0,%ymm8,%ymm0
+  DB  197,253,91,200                      ; vcvtps2dq     %ymm0,%ymm1
+  DB  196,193,249,126,201                 ; vmovq         %xmm1,%r9
+  DB  69,137,202                          ; mov           %r9d,%r10d
+  DB  71,15,182,20,16                     ; movzbl        (%r8,%r10,1),%r10d
+  DB  196,193,121,110,194                 ; vmovd         %r10d,%xmm0
+  DB  196,195,249,22,202,1                ; vpextrq       $0x1,%xmm1,%r10
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  71,15,182,12,8                      ; movzbl        (%r8,%r9,1),%r9d
+  DB  196,195,121,32,193,1                ; vpinsrb       $0x1,%r9d,%xmm0,%xmm0
+  DB  69,137,209                          ; mov           %r10d,%r9d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,227,125,57,201,1                ; vextracti128  $0x1,%ymm1,%xmm1
+  DB  71,15,182,12,8                      ; movzbl        (%r8,%r9,1),%r9d
+  DB  196,195,121,32,193,2                ; vpinsrb       $0x2,%r9d,%xmm0,%xmm0
+  DB  196,193,249,126,201                 ; vmovq         %xmm1,%r9
+  DB  71,15,182,20,16                     ; movzbl        (%r8,%r10,1),%r10d
+  DB  196,195,121,32,194,3                ; vpinsrb       $0x3,%r10d,%xmm0,%xmm0
+  DB  69,137,202                          ; mov           %r9d,%r10d
+  DB  71,15,182,20,16                     ; movzbl        (%r8,%r10,1),%r10d
+  DB  196,195,121,32,194,4                ; vpinsrb       $0x4,%r10d,%xmm0,%xmm0
+  DB  196,195,249,22,202,1                ; vpextrq       $0x1,%xmm1,%r10
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  71,15,182,12,8                      ; movzbl        (%r8,%r9,1),%r9d
+  DB  196,195,121,32,193,5                ; vpinsrb       $0x5,%r9d,%xmm0,%xmm0
+  DB  69,137,209                          ; mov           %r10d,%r9d
+  DB  71,15,182,12,8                      ; movzbl        (%r8,%r9,1),%r9d
+  DB  196,195,121,32,193,6                ; vpinsrb       $0x6,%r9d,%xmm0,%xmm0
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  71,15,182,4,16                      ; movzbl        (%r8,%r10,1),%r8d
+  DB  196,195,121,32,200,7                ; vpinsrb       $0x7,%r8d,%xmm0,%xmm1
+  DB  76,139,72,16                        ; mov           0x10(%rax),%r9
+  DB  197,180,95,194                      ; vmaxps        %ymm2,%ymm9,%ymm0
+  DB  196,193,124,93,195                  ; vminps        %ymm11,%ymm0,%ymm0
+  DB  197,188,89,192                      ; vmulps        %ymm0,%ymm8,%ymm0
+  DB  197,253,91,192                      ; vcvtps2dq     %ymm0,%ymm0
+  DB  196,193,249,126,192                 ; vmovq         %xmm0,%r8
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  65,15,182,4,1                       ; movzbl        (%r9,%rax,1),%eax
+  DB  197,249,110,208                     ; vmovd         %eax,%xmm2
+  DB  196,195,249,22,194,1                ; vpextrq       $0x1,%xmm0,%r10
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  67,15,182,4,1                       ; movzbl        (%r9,%r8,1),%eax
+  DB  196,227,105,32,208,1                ; vpinsrb       $0x1,%eax,%xmm2,%xmm2
+  DB  68,137,208                          ; mov           %r10d,%eax
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,227,125,57,192,1                ; vextracti128  $0x1,%ymm0,%xmm0
+  DB  65,15,182,4,1                       ; movzbl        (%r9,%rax,1),%eax
+  DB  196,227,105,32,208,2                ; vpinsrb       $0x2,%eax,%xmm2,%xmm2
+  DB  196,193,249,126,192                 ; vmovq         %xmm0,%r8
+  DB  67,15,182,4,17                      ; movzbl        (%r9,%r10,1),%eax
+  DB  196,227,105,32,208,3                ; vpinsrb       $0x3,%eax,%xmm2,%xmm2
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  65,15,182,4,1                       ; movzbl        (%r9,%rax,1),%eax
+  DB  196,227,105,32,208,4                ; vpinsrb       $0x4,%eax,%xmm2,%xmm2
+  DB  196,195,249,22,194,1                ; vpextrq       $0x1,%xmm0,%r10
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  67,15,182,4,1                       ; movzbl        (%r9,%r8,1),%eax
+  DB  196,227,105,32,192,5                ; vpinsrb       $0x5,%eax,%xmm2,%xmm0
+  DB  68,137,208                          ; mov           %r10d,%eax
+  DB  65,15,182,4,1                       ; movzbl        (%r9,%rax,1),%eax
+  DB  196,227,121,32,208,6                ; vpinsrb       $0x6,%eax,%xmm0,%xmm2
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  67,15,182,4,17                      ; movzbl        (%r9,%r10,1),%eax
+  DB  196,194,125,49,194                  ; vpmovzxbd     %xmm10,%ymm0
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  196,98,125,24,5,78,30,3,0           ; vbroadcastss  0x31e4e(%rip),%ymm8        # 34b40 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  DB  196,193,124,89,192                  ; vmulps        %ymm8,%ymm0,%ymm0
+  DB  196,226,125,49,201                  ; vpmovzxbd     %xmm1,%ymm1
+  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
+  DB  196,193,116,89,200                  ; vmulps        %ymm8,%ymm1,%ymm1
+  DB  196,227,105,32,208,7                ; vpinsrb       $0x7,%eax,%xmm2,%xmm2
+  DB  196,226,125,49,210                  ; vpmovzxbd     %xmm2,%ymm2
+  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
+  DB  196,193,108,89,208                  ; vmulps        %ymm8,%ymm2,%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_table_r_hsw
+_sk_table_r_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  139,64,8                            ; mov           0x8(%rax),%eax
+  DB  255,200                             ; dec           %eax
+  DB  197,121,110,192                     ; vmovd         %eax,%xmm8
+  DB  196,66,125,88,192                   ; vpbroadcastd  %xmm8,%ymm8
+  DB  196,65,124,91,200                   ; vcvtdq2ps     %ymm8,%ymm9
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,188,95,192                      ; vmaxps        %ymm0,%ymm8,%ymm0
+  DB  196,98,125,24,21,129,29,3,0         ; vbroadcastss  0x31d81(%rip),%ymm10        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,193,124,93,194                  ; vminps        %ymm10,%ymm0,%ymm0
+  DB  196,193,124,89,193                  ; vmulps        %ymm9,%ymm0,%ymm0
+  DB  197,253,91,192                      ; vcvtps2dq     %ymm0,%ymm0
+  DB  196,65,53,118,201                   ; vpcmpeqd      %ymm9,%ymm9,%ymm9
+  DB  196,66,53,146,4,128                 ; vgatherdps    %ymm9,(%r8,%ymm0,4),%ymm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,124,41,192                      ; vmovaps       %ymm8,%ymm0
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_table_g_hsw
+_sk_table_g_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  139,64,8                            ; mov           0x8(%rax),%eax
+  DB  255,200                             ; dec           %eax
+  DB  197,121,110,192                     ; vmovd         %eax,%xmm8
+  DB  196,66,125,88,192                   ; vpbroadcastd  %xmm8,%ymm8
+  DB  196,65,124,91,200                   ; vcvtdq2ps     %ymm8,%ymm9
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,188,95,201                      ; vmaxps        %ymm1,%ymm8,%ymm1
+  DB  196,98,125,24,21,54,29,3,0          ; vbroadcastss  0x31d36(%rip),%ymm10        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,193,116,93,202                  ; vminps        %ymm10,%ymm1,%ymm1
+  DB  196,193,116,89,201                  ; vmulps        %ymm9,%ymm1,%ymm1
+  DB  197,253,91,201                      ; vcvtps2dq     %ymm1,%ymm1
+  DB  196,65,53,118,201                   ; vpcmpeqd      %ymm9,%ymm9,%ymm9
+  DB  196,66,53,146,4,136                 ; vgatherdps    %ymm9,(%r8,%ymm1,4),%ymm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,124,41,193                      ; vmovaps       %ymm8,%ymm1
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_table_b_hsw
+_sk_table_b_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  139,64,8                            ; mov           0x8(%rax),%eax
+  DB  255,200                             ; dec           %eax
+  DB  197,121,110,192                     ; vmovd         %eax,%xmm8
+  DB  196,66,125,88,192                   ; vpbroadcastd  %xmm8,%ymm8
+  DB  196,65,124,91,200                   ; vcvtdq2ps     %ymm8,%ymm9
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,188,95,210                      ; vmaxps        %ymm2,%ymm8,%ymm2
+  DB  196,98,125,24,21,235,28,3,0         ; vbroadcastss  0x31ceb(%rip),%ymm10        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,193,108,93,210                  ; vminps        %ymm10,%ymm2,%ymm2
+  DB  196,193,108,89,209                  ; vmulps        %ymm9,%ymm2,%ymm2
+  DB  197,253,91,210                      ; vcvtps2dq     %ymm2,%ymm2
+  DB  196,65,53,118,201                   ; vpcmpeqd      %ymm9,%ymm9,%ymm9
+  DB  196,66,53,146,4,144                 ; vgatherdps    %ymm9,(%r8,%ymm2,4),%ymm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,124,41,194                      ; vmovaps       %ymm8,%ymm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_table_a_hsw
+_sk_table_a_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  139,64,8                            ; mov           0x8(%rax),%eax
+  DB  255,200                             ; dec           %eax
+  DB  197,121,110,192                     ; vmovd         %eax,%xmm8
+  DB  196,66,125,88,192                   ; vpbroadcastd  %xmm8,%ymm8
+  DB  196,65,124,91,200                   ; vcvtdq2ps     %ymm8,%ymm9
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,188,95,219                      ; vmaxps        %ymm3,%ymm8,%ymm3
+  DB  196,98,125,24,21,160,28,3,0         ; vbroadcastss  0x31ca0(%rip),%ymm10        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,193,100,93,218                  ; vminps        %ymm10,%ymm3,%ymm3
+  DB  196,193,100,89,217                  ; vmulps        %ymm9,%ymm3,%ymm3
+  DB  197,253,91,219                      ; vcvtps2dq     %ymm3,%ymm3
+  DB  196,65,53,118,201                   ; vpcmpeqd      %ymm9,%ymm9,%ymm9
+  DB  196,66,53,146,4,152                 ; vgatherdps    %ymm9,(%r8,%ymm3,4),%ymm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,124,41,195                      ; vmovaps       %ymm8,%ymm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_parametric_r_hsw
+_sk_parametric_r_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,24,64,16                 ; vbroadcastss  0x10(%rax),%ymm8
+  DB  196,65,124,194,192,2                ; vcmpleps      %ymm8,%ymm0,%ymm8
+  DB  196,98,125,24,72,12                 ; vbroadcastss  0xc(%rax),%ymm9
+  DB  196,98,125,24,80,24                 ; vbroadcastss  0x18(%rax),%ymm10
+  DB  196,66,125,168,202                  ; vfmadd213ps   %ymm10,%ymm0,%ymm9
+  DB  196,98,125,24,88,4                  ; vbroadcastss  0x4(%rax),%ymm11
+  DB  196,98,125,24,80,8                  ; vbroadcastss  0x8(%rax),%ymm10
+  DB  196,66,125,168,218                  ; vfmadd213ps   %ymm10,%ymm0,%ymm11
+  DB  196,98,125,24,32                    ; vbroadcastss  (%rax),%ymm12
+  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
+  DB  197,36,194,208,0                    ; vcmpeqps      %ymm0,%ymm11,%ymm10
+  DB  196,65,124,91,235                   ; vcvtdq2ps     %ymm11,%ymm13
+  DB  196,98,125,24,53,203,28,3,0         ; vbroadcastss  0x31ccb(%rip),%ymm14        # 34b60 <_sk_srcover_bgra_8888_sse2_lowp+0x348>
+  DB  196,98,125,24,61,198,28,3,0         ; vbroadcastss  0x31cc6(%rip),%ymm15        # 34b64 <_sk_srcover_bgra_8888_sse2_lowp+0x34c>
+  DB  196,65,36,84,223                    ; vandps        %ymm15,%ymm11,%ymm11
+  DB  196,98,125,24,61,24,28,3,0          ; vbroadcastss  0x31c18(%rip),%ymm15        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  196,65,36,86,223                    ; vorps         %ymm15,%ymm11,%ymm11
+  DB  196,98,125,24,61,174,28,3,0         ; vbroadcastss  0x31cae(%rip),%ymm15        # 34b68 <_sk_srcover_bgra_8888_sse2_lowp+0x350>
+  DB  196,66,21,184,254                   ; vfmadd231ps   %ymm14,%ymm13,%ymm15
+  DB  196,98,125,24,45,164,28,3,0         ; vbroadcastss  0x31ca4(%rip),%ymm13        # 34b6c <_sk_srcover_bgra_8888_sse2_lowp+0x354>
+  DB  196,66,37,172,239                   ; vfnmadd213ps  %ymm15,%ymm11,%ymm13
+  DB  196,98,125,24,53,154,28,3,0         ; vbroadcastss  0x31c9a(%rip),%ymm14        # 34b70 <_sk_srcover_bgra_8888_sse2_lowp+0x358>
+  DB  196,65,36,88,222                    ; vaddps        %ymm14,%ymm11,%ymm11
+  DB  196,98,125,24,53,144,28,3,0         ; vbroadcastss  0x31c90(%rip),%ymm14        # 34b74 <_sk_srcover_bgra_8888_sse2_lowp+0x35c>
+  DB  196,65,12,94,219                    ; vdivps        %ymm11,%ymm14,%ymm11
+  DB  196,65,20,92,219                    ; vsubps        %ymm11,%ymm13,%ymm11
+  DB  196,65,28,89,219                    ; vmulps        %ymm11,%ymm12,%ymm11
+  DB  196,67,125,8,227,1                  ; vroundps      $0x1,%ymm11,%ymm12
+  DB  196,65,36,92,228                    ; vsubps        %ymm12,%ymm11,%ymm12
+  DB  196,98,125,24,45,113,28,3,0         ; vbroadcastss  0x31c71(%rip),%ymm13        # 34b78 <_sk_srcover_bgra_8888_sse2_lowp+0x360>
+  DB  196,65,36,88,221                    ; vaddps        %ymm13,%ymm11,%ymm11
+  DB  196,98,125,24,45,103,28,3,0         ; vbroadcastss  0x31c67(%rip),%ymm13        # 34b7c <_sk_srcover_bgra_8888_sse2_lowp+0x364>
+  DB  196,66,29,172,235                   ; vfnmadd213ps  %ymm11,%ymm12,%ymm13
+  DB  196,98,125,24,29,93,28,3,0          ; vbroadcastss  0x31c5d(%rip),%ymm11        # 34b80 <_sk_srcover_bgra_8888_sse2_lowp+0x368>
+  DB  196,65,36,92,220                    ; vsubps        %ymm12,%ymm11,%ymm11
+  DB  196,98,125,24,37,83,28,3,0          ; vbroadcastss  0x31c53(%rip),%ymm12        # 34b84 <_sk_srcover_bgra_8888_sse2_lowp+0x36c>
+  DB  196,65,28,94,219                    ; vdivps        %ymm11,%ymm12,%ymm11
+  DB  196,65,20,88,219                    ; vaddps        %ymm11,%ymm13,%ymm11
+  DB  196,98,125,24,37,68,28,3,0          ; vbroadcastss  0x31c44(%rip),%ymm12        # 34b88 <_sk_srcover_bgra_8888_sse2_lowp+0x370>
+  DB  196,65,36,89,220                    ; vmulps        %ymm12,%ymm11,%ymm11
+  DB  196,65,125,91,219                   ; vcvtps2dq     %ymm11,%ymm11
+  DB  196,99,37,74,208,160                ; vblendvps     %ymm10,%ymm0,%ymm11,%ymm10
+  DB  196,98,125,24,88,20                 ; vbroadcastss  0x14(%rax),%ymm11
+  DB  196,65,44,88,211                    ; vaddps        %ymm11,%ymm10,%ymm10
+  DB  196,67,45,74,193,128                ; vblendvps     %ymm8,%ymm9,%ymm10,%ymm8
+  DB  197,188,95,192                      ; vmaxps        %ymm0,%ymm8,%ymm0
+  DB  196,98,125,24,5,86,27,3,0           ; vbroadcastss  0x31b56(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,193,124,93,192                  ; vminps        %ymm8,%ymm0,%ymm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_parametric_g_hsw
+_sk_parametric_g_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,24,64,16                 ; vbroadcastss  0x10(%rax),%ymm8
+  DB  196,65,116,194,192,2                ; vcmpleps      %ymm8,%ymm1,%ymm8
+  DB  196,98,125,24,72,12                 ; vbroadcastss  0xc(%rax),%ymm9
+  DB  196,98,125,24,80,24                 ; vbroadcastss  0x18(%rax),%ymm10
+  DB  196,66,117,168,202                  ; vfmadd213ps   %ymm10,%ymm1,%ymm9
+  DB  196,98,125,24,88,4                  ; vbroadcastss  0x4(%rax),%ymm11
+  DB  196,98,125,24,80,8                  ; vbroadcastss  0x8(%rax),%ymm10
+  DB  196,66,117,168,218                  ; vfmadd213ps   %ymm10,%ymm1,%ymm11
+  DB  196,98,125,24,32                    ; vbroadcastss  (%rax),%ymm12
+  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
+  DB  197,36,194,209,0                    ; vcmpeqps      %ymm1,%ymm11,%ymm10
+  DB  196,65,124,91,235                   ; vcvtdq2ps     %ymm11,%ymm13
+  DB  196,98,125,24,53,153,27,3,0         ; vbroadcastss  0x31b99(%rip),%ymm14        # 34b60 <_sk_srcover_bgra_8888_sse2_lowp+0x348>
+  DB  196,98,125,24,61,148,27,3,0         ; vbroadcastss  0x31b94(%rip),%ymm15        # 34b64 <_sk_srcover_bgra_8888_sse2_lowp+0x34c>
+  DB  196,65,36,84,223                    ; vandps        %ymm15,%ymm11,%ymm11
+  DB  196,98,125,24,61,230,26,3,0         ; vbroadcastss  0x31ae6(%rip),%ymm15        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  196,65,36,86,223                    ; vorps         %ymm15,%ymm11,%ymm11
+  DB  196,98,125,24,61,124,27,3,0         ; vbroadcastss  0x31b7c(%rip),%ymm15        # 34b68 <_sk_srcover_bgra_8888_sse2_lowp+0x350>
+  DB  196,66,21,184,254                   ; vfmadd231ps   %ymm14,%ymm13,%ymm15
+  DB  196,98,125,24,45,114,27,3,0         ; vbroadcastss  0x31b72(%rip),%ymm13        # 34b6c <_sk_srcover_bgra_8888_sse2_lowp+0x354>
+  DB  196,66,37,172,239                   ; vfnmadd213ps  %ymm15,%ymm11,%ymm13
+  DB  196,98,125,24,53,104,27,3,0         ; vbroadcastss  0x31b68(%rip),%ymm14        # 34b70 <_sk_srcover_bgra_8888_sse2_lowp+0x358>
+  DB  196,65,36,88,222                    ; vaddps        %ymm14,%ymm11,%ymm11
+  DB  196,98,125,24,53,94,27,3,0          ; vbroadcastss  0x31b5e(%rip),%ymm14        # 34b74 <_sk_srcover_bgra_8888_sse2_lowp+0x35c>
+  DB  196,65,12,94,219                    ; vdivps        %ymm11,%ymm14,%ymm11
+  DB  196,65,20,92,219                    ; vsubps        %ymm11,%ymm13,%ymm11
+  DB  196,65,28,89,219                    ; vmulps        %ymm11,%ymm12,%ymm11
+  DB  196,67,125,8,227,1                  ; vroundps      $0x1,%ymm11,%ymm12
+  DB  196,65,36,92,228                    ; vsubps        %ymm12,%ymm11,%ymm12
+  DB  196,98,125,24,45,63,27,3,0          ; vbroadcastss  0x31b3f(%rip),%ymm13        # 34b78 <_sk_srcover_bgra_8888_sse2_lowp+0x360>
+  DB  196,65,36,88,221                    ; vaddps        %ymm13,%ymm11,%ymm11
+  DB  196,98,125,24,45,53,27,3,0          ; vbroadcastss  0x31b35(%rip),%ymm13        # 34b7c <_sk_srcover_bgra_8888_sse2_lowp+0x364>
+  DB  196,66,29,172,235                   ; vfnmadd213ps  %ymm11,%ymm12,%ymm13
+  DB  196,98,125,24,29,43,27,3,0          ; vbroadcastss  0x31b2b(%rip),%ymm11        # 34b80 <_sk_srcover_bgra_8888_sse2_lowp+0x368>
+  DB  196,65,36,92,220                    ; vsubps        %ymm12,%ymm11,%ymm11
+  DB  196,98,125,24,37,33,27,3,0          ; vbroadcastss  0x31b21(%rip),%ymm12        # 34b84 <_sk_srcover_bgra_8888_sse2_lowp+0x36c>
+  DB  196,65,28,94,219                    ; vdivps        %ymm11,%ymm12,%ymm11
+  DB  196,65,20,88,219                    ; vaddps        %ymm11,%ymm13,%ymm11
+  DB  196,98,125,24,37,18,27,3,0          ; vbroadcastss  0x31b12(%rip),%ymm12        # 34b88 <_sk_srcover_bgra_8888_sse2_lowp+0x370>
+  DB  196,65,36,89,220                    ; vmulps        %ymm12,%ymm11,%ymm11
+  DB  196,65,125,91,219                   ; vcvtps2dq     %ymm11,%ymm11
+  DB  196,99,37,74,209,160                ; vblendvps     %ymm10,%ymm1,%ymm11,%ymm10
+  DB  196,98,125,24,88,20                 ; vbroadcastss  0x14(%rax),%ymm11
+  DB  196,65,44,88,211                    ; vaddps        %ymm11,%ymm10,%ymm10
+  DB  196,67,45,74,193,128                ; vblendvps     %ymm8,%ymm9,%ymm10,%ymm8
+  DB  197,188,95,201                      ; vmaxps        %ymm1,%ymm8,%ymm1
+  DB  196,98,125,24,5,36,26,3,0           ; vbroadcastss  0x31a24(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,193,116,93,200                  ; vminps        %ymm8,%ymm1,%ymm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_parametric_b_hsw
+_sk_parametric_b_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,24,64,16                 ; vbroadcastss  0x10(%rax),%ymm8
+  DB  196,65,108,194,192,2                ; vcmpleps      %ymm8,%ymm2,%ymm8
+  DB  196,98,125,24,72,12                 ; vbroadcastss  0xc(%rax),%ymm9
+  DB  196,98,125,24,80,24                 ; vbroadcastss  0x18(%rax),%ymm10
+  DB  196,66,109,168,202                  ; vfmadd213ps   %ymm10,%ymm2,%ymm9
+  DB  196,98,125,24,88,4                  ; vbroadcastss  0x4(%rax),%ymm11
+  DB  196,98,125,24,80,8                  ; vbroadcastss  0x8(%rax),%ymm10
+  DB  196,66,109,168,218                  ; vfmadd213ps   %ymm10,%ymm2,%ymm11
+  DB  196,98,125,24,32                    ; vbroadcastss  (%rax),%ymm12
+  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
+  DB  197,36,194,210,0                    ; vcmpeqps      %ymm2,%ymm11,%ymm10
+  DB  196,65,124,91,235                   ; vcvtdq2ps     %ymm11,%ymm13
+  DB  196,98,125,24,53,103,26,3,0         ; vbroadcastss  0x31a67(%rip),%ymm14        # 34b60 <_sk_srcover_bgra_8888_sse2_lowp+0x348>
+  DB  196,98,125,24,61,98,26,3,0          ; vbroadcastss  0x31a62(%rip),%ymm15        # 34b64 <_sk_srcover_bgra_8888_sse2_lowp+0x34c>
+  DB  196,65,36,84,223                    ; vandps        %ymm15,%ymm11,%ymm11
+  DB  196,98,125,24,61,180,25,3,0         ; vbroadcastss  0x319b4(%rip),%ymm15        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  196,65,36,86,223                    ; vorps         %ymm15,%ymm11,%ymm11
+  DB  196,98,125,24,61,74,26,3,0          ; vbroadcastss  0x31a4a(%rip),%ymm15        # 34b68 <_sk_srcover_bgra_8888_sse2_lowp+0x350>
+  DB  196,66,21,184,254                   ; vfmadd231ps   %ymm14,%ymm13,%ymm15
+  DB  196,98,125,24,45,64,26,3,0          ; vbroadcastss  0x31a40(%rip),%ymm13        # 34b6c <_sk_srcover_bgra_8888_sse2_lowp+0x354>
+  DB  196,66,37,172,239                   ; vfnmadd213ps  %ymm15,%ymm11,%ymm13
+  DB  196,98,125,24,53,54,26,3,0          ; vbroadcastss  0x31a36(%rip),%ymm14        # 34b70 <_sk_srcover_bgra_8888_sse2_lowp+0x358>
+  DB  196,65,36,88,222                    ; vaddps        %ymm14,%ymm11,%ymm11
+  DB  196,98,125,24,53,44,26,3,0          ; vbroadcastss  0x31a2c(%rip),%ymm14        # 34b74 <_sk_srcover_bgra_8888_sse2_lowp+0x35c>
+  DB  196,65,12,94,219                    ; vdivps        %ymm11,%ymm14,%ymm11
+  DB  196,65,20,92,219                    ; vsubps        %ymm11,%ymm13,%ymm11
+  DB  196,65,28,89,219                    ; vmulps        %ymm11,%ymm12,%ymm11
+  DB  196,67,125,8,227,1                  ; vroundps      $0x1,%ymm11,%ymm12
+  DB  196,65,36,92,228                    ; vsubps        %ymm12,%ymm11,%ymm12
+  DB  196,98,125,24,45,13,26,3,0          ; vbroadcastss  0x31a0d(%rip),%ymm13        # 34b78 <_sk_srcover_bgra_8888_sse2_lowp+0x360>
+  DB  196,65,36,88,221                    ; vaddps        %ymm13,%ymm11,%ymm11
+  DB  196,98,125,24,45,3,26,3,0           ; vbroadcastss  0x31a03(%rip),%ymm13        # 34b7c <_sk_srcover_bgra_8888_sse2_lowp+0x364>
+  DB  196,66,29,172,235                   ; vfnmadd213ps  %ymm11,%ymm12,%ymm13
+  DB  196,98,125,24,29,249,25,3,0         ; vbroadcastss  0x319f9(%rip),%ymm11        # 34b80 <_sk_srcover_bgra_8888_sse2_lowp+0x368>
+  DB  196,65,36,92,220                    ; vsubps        %ymm12,%ymm11,%ymm11
+  DB  196,98,125,24,37,239,25,3,0         ; vbroadcastss  0x319ef(%rip),%ymm12        # 34b84 <_sk_srcover_bgra_8888_sse2_lowp+0x36c>
+  DB  196,65,28,94,219                    ; vdivps        %ymm11,%ymm12,%ymm11
+  DB  196,65,20,88,219                    ; vaddps        %ymm11,%ymm13,%ymm11
+  DB  196,98,125,24,37,224,25,3,0         ; vbroadcastss  0x319e0(%rip),%ymm12        # 34b88 <_sk_srcover_bgra_8888_sse2_lowp+0x370>
+  DB  196,65,36,89,220                    ; vmulps        %ymm12,%ymm11,%ymm11
+  DB  196,65,125,91,219                   ; vcvtps2dq     %ymm11,%ymm11
+  DB  196,99,37,74,210,160                ; vblendvps     %ymm10,%ymm2,%ymm11,%ymm10
+  DB  196,98,125,24,88,20                 ; vbroadcastss  0x14(%rax),%ymm11
+  DB  196,65,44,88,211                    ; vaddps        %ymm11,%ymm10,%ymm10
+  DB  196,67,45,74,193,128                ; vblendvps     %ymm8,%ymm9,%ymm10,%ymm8
+  DB  197,188,95,210                      ; vmaxps        %ymm2,%ymm8,%ymm2
+  DB  196,98,125,24,5,242,24,3,0          ; vbroadcastss  0x318f2(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,193,108,93,208                  ; vminps        %ymm8,%ymm2,%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_parametric_a_hsw
+_sk_parametric_a_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,24,64,16                 ; vbroadcastss  0x10(%rax),%ymm8
+  DB  196,65,100,194,192,2                ; vcmpleps      %ymm8,%ymm3,%ymm8
+  DB  196,98,125,24,72,12                 ; vbroadcastss  0xc(%rax),%ymm9
+  DB  196,98,125,24,80,24                 ; vbroadcastss  0x18(%rax),%ymm10
+  DB  196,66,101,168,202                  ; vfmadd213ps   %ymm10,%ymm3,%ymm9
+  DB  196,98,125,24,88,4                  ; vbroadcastss  0x4(%rax),%ymm11
+  DB  196,98,125,24,80,8                  ; vbroadcastss  0x8(%rax),%ymm10
+  DB  196,66,101,168,218                  ; vfmadd213ps   %ymm10,%ymm3,%ymm11
+  DB  196,98,125,24,32                    ; vbroadcastss  (%rax),%ymm12
+  DB  197,228,87,219                      ; vxorps        %ymm3,%ymm3,%ymm3
+  DB  197,36,194,211,0                    ; vcmpeqps      %ymm3,%ymm11,%ymm10
+  DB  196,65,124,91,235                   ; vcvtdq2ps     %ymm11,%ymm13
+  DB  196,98,125,24,53,53,25,3,0          ; vbroadcastss  0x31935(%rip),%ymm14        # 34b60 <_sk_srcover_bgra_8888_sse2_lowp+0x348>
+  DB  196,98,125,24,61,48,25,3,0          ; vbroadcastss  0x31930(%rip),%ymm15        # 34b64 <_sk_srcover_bgra_8888_sse2_lowp+0x34c>
+  DB  196,65,36,84,223                    ; vandps        %ymm15,%ymm11,%ymm11
+  DB  196,98,125,24,61,130,24,3,0         ; vbroadcastss  0x31882(%rip),%ymm15        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  196,65,36,86,223                    ; vorps         %ymm15,%ymm11,%ymm11
+  DB  196,98,125,24,61,24,25,3,0          ; vbroadcastss  0x31918(%rip),%ymm15        # 34b68 <_sk_srcover_bgra_8888_sse2_lowp+0x350>
+  DB  196,66,21,184,254                   ; vfmadd231ps   %ymm14,%ymm13,%ymm15
+  DB  196,98,125,24,45,14,25,3,0          ; vbroadcastss  0x3190e(%rip),%ymm13        # 34b6c <_sk_srcover_bgra_8888_sse2_lowp+0x354>
+  DB  196,66,37,172,239                   ; vfnmadd213ps  %ymm15,%ymm11,%ymm13
+  DB  196,98,125,24,53,4,25,3,0           ; vbroadcastss  0x31904(%rip),%ymm14        # 34b70 <_sk_srcover_bgra_8888_sse2_lowp+0x358>
+  DB  196,65,36,88,222                    ; vaddps        %ymm14,%ymm11,%ymm11
+  DB  196,98,125,24,53,250,24,3,0         ; vbroadcastss  0x318fa(%rip),%ymm14        # 34b74 <_sk_srcover_bgra_8888_sse2_lowp+0x35c>
+  DB  196,65,12,94,219                    ; vdivps        %ymm11,%ymm14,%ymm11
+  DB  196,65,20,92,219                    ; vsubps        %ymm11,%ymm13,%ymm11
+  DB  196,65,28,89,219                    ; vmulps        %ymm11,%ymm12,%ymm11
+  DB  196,67,125,8,227,1                  ; vroundps      $0x1,%ymm11,%ymm12
+  DB  196,65,36,92,228                    ; vsubps        %ymm12,%ymm11,%ymm12
+  DB  196,98,125,24,45,219,24,3,0         ; vbroadcastss  0x318db(%rip),%ymm13        # 34b78 <_sk_srcover_bgra_8888_sse2_lowp+0x360>
+  DB  196,65,36,88,221                    ; vaddps        %ymm13,%ymm11,%ymm11
+  DB  196,98,125,24,45,209,24,3,0         ; vbroadcastss  0x318d1(%rip),%ymm13        # 34b7c <_sk_srcover_bgra_8888_sse2_lowp+0x364>
+  DB  196,66,29,172,235                   ; vfnmadd213ps  %ymm11,%ymm12,%ymm13
+  DB  196,98,125,24,29,199,24,3,0         ; vbroadcastss  0x318c7(%rip),%ymm11        # 34b80 <_sk_srcover_bgra_8888_sse2_lowp+0x368>
+  DB  196,65,36,92,220                    ; vsubps        %ymm12,%ymm11,%ymm11
+  DB  196,98,125,24,37,189,24,3,0         ; vbroadcastss  0x318bd(%rip),%ymm12        # 34b84 <_sk_srcover_bgra_8888_sse2_lowp+0x36c>
+  DB  196,65,28,94,219                    ; vdivps        %ymm11,%ymm12,%ymm11
+  DB  196,65,20,88,219                    ; vaddps        %ymm11,%ymm13,%ymm11
+  DB  196,98,125,24,37,174,24,3,0         ; vbroadcastss  0x318ae(%rip),%ymm12        # 34b88 <_sk_srcover_bgra_8888_sse2_lowp+0x370>
+  DB  196,65,36,89,220                    ; vmulps        %ymm12,%ymm11,%ymm11
+  DB  196,65,125,91,219                   ; vcvtps2dq     %ymm11,%ymm11
+  DB  196,99,37,74,211,160                ; vblendvps     %ymm10,%ymm3,%ymm11,%ymm10
+  DB  196,98,125,24,88,20                 ; vbroadcastss  0x14(%rax),%ymm11
+  DB  196,65,44,88,211                    ; vaddps        %ymm11,%ymm10,%ymm10
+  DB  196,67,45,74,193,128                ; vblendvps     %ymm8,%ymm9,%ymm10,%ymm8
+  DB  197,188,95,219                      ; vmaxps        %ymm3,%ymm8,%ymm3
+  DB  196,98,125,24,5,192,23,3,0          ; vbroadcastss  0x317c0(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,193,100,93,216                  ; vminps        %ymm8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_gamma_hsw
+_sk_gamma_hsw LABEL PROC
+  DB  72,129,236,120,1,0,0                ; sub           $0x178,%rsp
+  DB  197,252,17,188,36,64,1,0,0          ; vmovups       %ymm7,0x140(%rsp)
+  DB  197,252,17,180,36,32,1,0,0          ; vmovups       %ymm6,0x120(%rsp)
+  DB  197,252,17,172,36,0,1,0,0           ; vmovups       %ymm5,0x100(%rsp)
+  DB  197,252,17,164,36,224,0,0,0         ; vmovups       %ymm4,0xe0(%rsp)
+  DB  197,252,17,156,36,192,0,0,0         ; vmovups       %ymm3,0xc0(%rsp)
+  DB  197,252,17,84,36,96                 ; vmovups       %ymm2,0x60(%rsp)
+  DB  197,252,17,140,36,128,0,0,0         ; vmovups       %ymm1,0x80(%rsp)
+  DB  197,124,91,208                      ; vcvtdq2ps     %ymm0,%ymm10
+  DB  196,98,125,24,29,255,23,3,0         ; vbroadcastss  0x317ff(%rip),%ymm11        # 34b60 <_sk_srcover_bgra_8888_sse2_lowp+0x348>
+  DB  196,226,125,24,37,250,23,3,0        ; vbroadcastss  0x317fa(%rip),%ymm4        # 34b64 <_sk_srcover_bgra_8888_sse2_lowp+0x34c>
+  DB  197,124,84,228                      ; vandps        %ymm4,%ymm0,%ymm12
+  DB  196,226,125,24,29,77,23,3,0         ; vbroadcastss  0x3174d(%rip),%ymm3        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  197,252,17,156,36,160,0,0,0         ; vmovups       %ymm3,0xa0(%rsp)
+  DB  197,28,86,227                       ; vorps         %ymm3,%ymm12,%ymm12
+  DB  196,98,125,24,45,219,23,3,0         ; vbroadcastss  0x317db(%rip),%ymm13        # 34b68 <_sk_srcover_bgra_8888_sse2_lowp+0x350>
+  DB  196,66,37,168,213                   ; vfmadd213ps   %ymm13,%ymm11,%ymm10
+  DB  197,124,91,241                      ; vcvtdq2ps     %ymm1,%ymm14
+  DB  196,66,37,168,245                   ; vfmadd213ps   %ymm13,%ymm11,%ymm14
+  DB  197,124,91,250                      ; vcvtdq2ps     %ymm2,%ymm15
+  DB  196,66,37,168,253                   ; vfmadd213ps   %ymm13,%ymm11,%ymm15
+  DB  196,226,125,24,45,191,23,3,0        ; vbroadcastss  0x317bf(%rip),%ymm5        # 34b6c <_sk_srcover_bgra_8888_sse2_lowp+0x354>
+  DB  196,98,29,188,213                   ; vfnmadd231ps  %ymm5,%ymm12,%ymm10
+  DB  196,226,125,24,13,181,23,3,0        ; vbroadcastss  0x317b5(%rip),%ymm1        # 34b70 <_sk_srcover_bgra_8888_sse2_lowp+0x358>
+  DB  197,252,17,76,36,32                 ; vmovups       %ymm1,0x20(%rsp)
+  DB  197,28,88,225                       ; vaddps        %ymm1,%ymm12,%ymm12
+  DB  196,98,125,24,5,166,23,3,0          ; vbroadcastss  0x317a6(%rip),%ymm8        # 34b74 <_sk_srcover_bgra_8888_sse2_lowp+0x35c>
+  DB  196,65,60,94,228                    ; vdivps        %ymm12,%ymm8,%ymm12
+  DB  197,124,17,4,36                     ; vmovups       %ymm8,(%rsp)
+  DB  196,65,44,92,212                    ; vsubps        %ymm12,%ymm10,%ymm10
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,24,40                    ; vbroadcastss  (%rax),%ymm13
+  DB  196,65,44,89,213                    ; vmulps        %ymm13,%ymm10,%ymm10
+  DB  196,195,125,8,250,1                 ; vroundps      $0x1,%ymm10,%ymm7
+  DB  197,172,92,255                      ; vsubps        %ymm7,%ymm10,%ymm7
+  DB  196,98,125,24,29,124,23,3,0         ; vbroadcastss  0x3177c(%rip),%ymm11        # 34b78 <_sk_srcover_bgra_8888_sse2_lowp+0x360>
+  DB  196,65,44,88,211                    ; vaddps        %ymm11,%ymm10,%ymm10
+  DB  196,98,125,24,37,114,23,3,0         ; vbroadcastss  0x31772(%rip),%ymm12        # 34b7c <_sk_srcover_bgra_8888_sse2_lowp+0x364>
+  DB  196,66,69,188,212                   ; vfnmadd231ps  %ymm12,%ymm7,%ymm10
+  DB  196,98,125,24,13,104,23,3,0         ; vbroadcastss  0x31768(%rip),%ymm9        # 34b80 <_sk_srcover_bgra_8888_sse2_lowp+0x368>
+  DB  197,180,92,255                      ; vsubps        %ymm7,%ymm9,%ymm7
+  DB  196,226,125,24,13,95,23,3,0         ; vbroadcastss  0x3175f(%rip),%ymm1        # 34b84 <_sk_srcover_bgra_8888_sse2_lowp+0x36c>
+  DB  197,244,94,255                      ; vdivps        %ymm7,%ymm1,%ymm7
+  DB  197,172,88,255                      ; vaddps        %ymm7,%ymm10,%ymm7
+  DB  196,65,44,87,210                    ; vxorps        %ymm10,%ymm10,%ymm10
+  DB  196,193,124,194,242,0               ; vcmpeqps      %ymm10,%ymm0,%ymm6
+  DB  196,226,125,24,29,71,23,3,0         ; vbroadcastss  0x31747(%rip),%ymm3        # 34b88 <_sk_srcover_bgra_8888_sse2_lowp+0x370>
+  DB  197,196,89,251                      ; vmulps        %ymm3,%ymm7,%ymm7
+  DB  197,253,91,255                      ; vcvtps2dq     %ymm7,%ymm7
+  DB  196,195,69,74,194,96                ; vblendvps     %ymm6,%ymm10,%ymm7,%ymm0
+  DB  197,252,17,68,36,64                 ; vmovups       %ymm0,0x40(%rsp)
+  DB  197,252,16,132,36,128,0,0,0         ; vmovups       0x80(%rsp),%ymm0
+  DB  197,252,84,244                      ; vandps        %ymm4,%ymm0,%ymm6
+  DB  197,252,16,148,36,160,0,0,0         ; vmovups       0xa0(%rsp),%ymm2
+  DB  197,204,86,242                      ; vorps         %ymm2,%ymm6,%ymm6
+  DB  196,98,77,188,245                   ; vfnmadd231ps  %ymm5,%ymm6,%ymm14
+  DB  197,252,16,124,36,32                ; vmovups       0x20(%rsp),%ymm7
+  DB  197,204,88,247                      ; vaddps        %ymm7,%ymm6,%ymm6
+  DB  197,188,94,246                      ; vdivps        %ymm6,%ymm8,%ymm6
+  DB  197,140,92,246                      ; vsubps        %ymm6,%ymm14,%ymm6
+  DB  196,193,76,89,245                   ; vmulps        %ymm13,%ymm6,%ymm6
+  DB  196,99,125,8,246,1                  ; vroundps      $0x1,%ymm6,%ymm14
+  DB  196,65,76,92,246                    ; vsubps        %ymm14,%ymm6,%ymm14
+  DB  196,193,76,88,243                   ; vaddps        %ymm11,%ymm6,%ymm6
+  DB  196,194,13,188,244                  ; vfnmadd231ps  %ymm12,%ymm14,%ymm6
+  DB  196,65,52,92,246                    ; vsubps        %ymm14,%ymm9,%ymm14
+  DB  196,65,116,94,246                   ; vdivps        %ymm14,%ymm1,%ymm14
+  DB  196,193,76,88,246                   ; vaddps        %ymm14,%ymm6,%ymm6
+  DB  196,65,124,194,242,0                ; vcmpeqps      %ymm10,%ymm0,%ymm14
+  DB  197,204,89,243                      ; vmulps        %ymm3,%ymm6,%ymm6
+  DB  197,253,91,246                      ; vcvtps2dq     %ymm6,%ymm6
+  DB  196,195,77,74,242,224               ; vblendvps     %ymm14,%ymm10,%ymm6,%ymm6
+  DB  197,124,16,116,36,96                ; vmovups       0x60(%rsp),%ymm14
+  DB  197,12,84,196                       ; vandps        %ymm4,%ymm14,%ymm8
+  DB  197,60,86,194                       ; vorps         %ymm2,%ymm8,%ymm8
+  DB  196,98,61,188,253                   ; vfnmadd231ps  %ymm5,%ymm8,%ymm15
+  DB  197,60,88,199                       ; vaddps        %ymm7,%ymm8,%ymm8
+  DB  197,252,16,4,36                     ; vmovups       (%rsp),%ymm0
+  DB  196,193,124,94,232                  ; vdivps        %ymm8,%ymm0,%ymm5
+  DB  197,132,92,237                      ; vsubps        %ymm5,%ymm15,%ymm5
+  DB  196,193,84,89,237                   ; vmulps        %ymm13,%ymm5,%ymm5
+  DB  196,99,125,8,197,1                  ; vroundps      $0x1,%ymm5,%ymm8
+  DB  196,65,84,92,192                    ; vsubps        %ymm8,%ymm5,%ymm8
+  DB  196,193,84,88,227                   ; vaddps        %ymm11,%ymm5,%ymm4
+  DB  196,194,61,188,228                  ; vfnmadd231ps  %ymm12,%ymm8,%ymm4
+  DB  196,193,52,92,208                   ; vsubps        %ymm8,%ymm9,%ymm2
+  DB  197,244,94,202                      ; vdivps        %ymm2,%ymm1,%ymm1
+  DB  197,220,88,201                      ; vaddps        %ymm1,%ymm4,%ymm1
+  DB  197,244,89,195                      ; vmulps        %ymm3,%ymm1,%ymm0
+  DB  196,193,12,194,202,0                ; vcmpeqps      %ymm10,%ymm14,%ymm1
+  DB  197,253,91,192                      ; vcvtps2dq     %ymm0,%ymm0
+  DB  196,195,125,74,210,16               ; vblendvps     %ymm1,%ymm10,%ymm0,%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,16,68,36,64                 ; vmovups       0x40(%rsp),%ymm0
+  DB  197,252,40,206                      ; vmovaps       %ymm6,%ymm1
+  DB  197,252,16,156,36,192,0,0,0         ; vmovups       0xc0(%rsp),%ymm3
+  DB  197,252,16,164,36,224,0,0,0         ; vmovups       0xe0(%rsp),%ymm4
+  DB  197,252,16,172,36,0,1,0,0           ; vmovups       0x100(%rsp),%ymm5
+  DB  197,252,16,180,36,32,1,0,0          ; vmovups       0x120(%rsp),%ymm6
+  DB  197,252,16,188,36,64,1,0,0          ; vmovups       0x140(%rsp),%ymm7
+  DB  72,129,196,120,1,0,0                ; add           $0x178,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_gamma_dst_hsw
+_sk_gamma_dst_hsw LABEL PROC
+  DB  72,129,236,88,1,0,0                 ; sub           $0x158,%rsp
+  DB  197,252,17,188,36,32,1,0,0          ; vmovups       %ymm7,0x120(%rsp)
+  DB  197,252,17,52,36                    ; vmovups       %ymm6,(%rsp)
+  DB  197,252,17,156,36,0,1,0,0           ; vmovups       %ymm3,0x100(%rsp)
+  DB  197,252,17,148,36,224,0,0,0         ; vmovups       %ymm2,0xe0(%rsp)
+  DB  197,252,17,140,36,192,0,0,0         ; vmovups       %ymm1,0xc0(%rsp)
+  DB  197,252,17,132,36,160,0,0,0         ; vmovups       %ymm0,0xa0(%rsp)
+  DB  197,124,91,212                      ; vcvtdq2ps     %ymm4,%ymm10
+  DB  196,98,125,24,29,181,21,3,0         ; vbroadcastss  0x315b5(%rip),%ymm11        # 34b60 <_sk_srcover_bgra_8888_sse2_lowp+0x348>
+  DB  196,226,125,24,5,176,21,3,0         ; vbroadcastss  0x315b0(%rip),%ymm0        # 34b64 <_sk_srcover_bgra_8888_sse2_lowp+0x34c>
+  DB  197,92,84,224                       ; vandps        %ymm0,%ymm4,%ymm12
+  DB  197,252,40,208                      ; vmovaps       %ymm0,%ymm2
+  DB  197,252,40,220                      ; vmovaps       %ymm4,%ymm3
+  DB  196,226,125,24,5,251,20,3,0         ; vbroadcastss  0x314fb(%rip),%ymm0        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  197,252,17,132,36,128,0,0,0         ; vmovups       %ymm0,0x80(%rsp)
+  DB  197,28,86,224                       ; vorps         %ymm0,%ymm12,%ymm12
+  DB  196,98,125,24,45,137,21,3,0         ; vbroadcastss  0x31589(%rip),%ymm13        # 34b68 <_sk_srcover_bgra_8888_sse2_lowp+0x350>
+  DB  196,66,37,168,213                   ; vfmadd213ps   %ymm13,%ymm11,%ymm10
+  DB  197,252,40,197                      ; vmovaps       %ymm5,%ymm0
+  DB  197,124,91,240                      ; vcvtdq2ps     %ymm0,%ymm14
+  DB  196,66,37,168,245                   ; vfmadd213ps   %ymm13,%ymm11,%ymm14
+  DB  197,124,91,60,36                    ; vcvtdq2ps     (%rsp),%ymm15
+  DB  196,66,37,168,253                   ; vfmadd213ps   %ymm13,%ymm11,%ymm15
+  DB  196,226,125,24,45,104,21,3,0        ; vbroadcastss  0x31568(%rip),%ymm5        # 34b6c <_sk_srcover_bgra_8888_sse2_lowp+0x354>
+  DB  196,98,29,188,213                   ; vfnmadd231ps  %ymm5,%ymm12,%ymm10
+  DB  196,226,125,24,13,94,21,3,0         ; vbroadcastss  0x3155e(%rip),%ymm1        # 34b70 <_sk_srcover_bgra_8888_sse2_lowp+0x358>
+  DB  197,252,17,76,36,64                 ; vmovups       %ymm1,0x40(%rsp)
+  DB  197,28,88,225                       ; vaddps        %ymm1,%ymm12,%ymm12
+  DB  196,98,125,24,13,79,21,3,0          ; vbroadcastss  0x3154f(%rip),%ymm9        # 34b74 <_sk_srcover_bgra_8888_sse2_lowp+0x35c>
+  DB  196,65,52,94,228                    ; vdivps        %ymm12,%ymm9,%ymm12
+  DB  197,124,17,76,36,32                 ; vmovups       %ymm9,0x20(%rsp)
+  DB  196,65,44,92,212                    ; vsubps        %ymm12,%ymm10,%ymm10
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,24,40                    ; vbroadcastss  (%rax),%ymm13
+  DB  196,65,44,89,213                    ; vmulps        %ymm13,%ymm10,%ymm10
+  DB  196,195,125,8,250,1                 ; vroundps      $0x1,%ymm10,%ymm7
+  DB  197,172,92,255                      ; vsubps        %ymm7,%ymm10,%ymm7
+  DB  196,98,125,24,29,36,21,3,0          ; vbroadcastss  0x31524(%rip),%ymm11        # 34b78 <_sk_srcover_bgra_8888_sse2_lowp+0x360>
+  DB  196,65,44,88,211                    ; vaddps        %ymm11,%ymm10,%ymm10
+  DB  196,98,125,24,37,26,21,3,0          ; vbroadcastss  0x3151a(%rip),%ymm12        # 34b7c <_sk_srcover_bgra_8888_sse2_lowp+0x364>
+  DB  196,66,69,188,212                   ; vfnmadd231ps  %ymm12,%ymm7,%ymm10
+  DB  196,98,125,24,5,16,21,3,0           ; vbroadcastss  0x31510(%rip),%ymm8        # 34b80 <_sk_srcover_bgra_8888_sse2_lowp+0x368>
+  DB  197,188,92,255                      ; vsubps        %ymm7,%ymm8,%ymm7
+  DB  196,226,125,24,13,7,21,3,0          ; vbroadcastss  0x31507(%rip),%ymm1        # 34b84 <_sk_srcover_bgra_8888_sse2_lowp+0x36c>
+  DB  197,244,94,255                      ; vdivps        %ymm7,%ymm1,%ymm7
+  DB  197,172,88,255                      ; vaddps        %ymm7,%ymm10,%ymm7
+  DB  196,65,44,87,210                    ; vxorps        %ymm10,%ymm10,%ymm10
+  DB  196,193,100,194,242,0               ; vcmpeqps      %ymm10,%ymm3,%ymm6
+  DB  196,226,125,24,29,239,20,3,0        ; vbroadcastss  0x314ef(%rip),%ymm3        # 34b88 <_sk_srcover_bgra_8888_sse2_lowp+0x370>
+  DB  197,196,89,251                      ; vmulps        %ymm3,%ymm7,%ymm7
+  DB  197,253,91,255                      ; vcvtps2dq     %ymm7,%ymm7
+  DB  196,195,69,74,226,96                ; vblendvps     %ymm6,%ymm10,%ymm7,%ymm4
+  DB  197,252,17,100,36,96                ; vmovups       %ymm4,0x60(%rsp)
+  DB  197,252,40,226                      ; vmovaps       %ymm2,%ymm4
+  DB  197,252,84,244                      ; vandps        %ymm4,%ymm0,%ymm6
+  DB  197,252,16,148,36,128,0,0,0         ; vmovups       0x80(%rsp),%ymm2
+  DB  197,204,86,242                      ; vorps         %ymm2,%ymm6,%ymm6
+  DB  196,98,77,188,245                   ; vfnmadd231ps  %ymm5,%ymm6,%ymm14
+  DB  197,252,16,124,36,64                ; vmovups       0x40(%rsp),%ymm7
+  DB  197,204,88,247                      ; vaddps        %ymm7,%ymm6,%ymm6
+  DB  197,180,94,246                      ; vdivps        %ymm6,%ymm9,%ymm6
+  DB  197,140,92,246                      ; vsubps        %ymm6,%ymm14,%ymm6
+  DB  196,193,76,89,245                   ; vmulps        %ymm13,%ymm6,%ymm6
+  DB  196,99,125,8,246,1                  ; vroundps      $0x1,%ymm6,%ymm14
+  DB  196,65,76,92,246                    ; vsubps        %ymm14,%ymm6,%ymm14
+  DB  196,193,76,88,243                   ; vaddps        %ymm11,%ymm6,%ymm6
+  DB  196,194,13,188,244                  ; vfnmadd231ps  %ymm12,%ymm14,%ymm6
+  DB  196,65,60,92,246                    ; vsubps        %ymm14,%ymm8,%ymm14
+  DB  196,65,116,94,246                   ; vdivps        %ymm14,%ymm1,%ymm14
+  DB  196,193,76,88,246                   ; vaddps        %ymm14,%ymm6,%ymm6
+  DB  196,65,124,194,242,0                ; vcmpeqps      %ymm10,%ymm0,%ymm14
+  DB  197,204,89,243                      ; vmulps        %ymm3,%ymm6,%ymm6
+  DB  197,253,91,246                      ; vcvtps2dq     %ymm6,%ymm6
+  DB  196,67,77,74,242,224                ; vblendvps     %ymm14,%ymm10,%ymm6,%ymm14
+  DB  197,124,16,12,36                    ; vmovups       (%rsp),%ymm9
+  DB  197,180,84,244                      ; vandps        %ymm4,%ymm9,%ymm6
+  DB  197,204,86,242                      ; vorps         %ymm2,%ymm6,%ymm6
+  DB  196,98,77,188,253                   ; vfnmadd231ps  %ymm5,%ymm6,%ymm15
+  DB  197,204,88,247                      ; vaddps        %ymm7,%ymm6,%ymm6
+  DB  197,252,16,68,36,32                 ; vmovups       0x20(%rsp),%ymm0
+  DB  197,252,94,238                      ; vdivps        %ymm6,%ymm0,%ymm5
+  DB  197,132,92,237                      ; vsubps        %ymm5,%ymm15,%ymm5
+  DB  196,193,84,89,237                   ; vmulps        %ymm13,%ymm5,%ymm5
+  DB  196,227,125,8,245,1                 ; vroundps      $0x1,%ymm5,%ymm6
+  DB  197,212,92,246                      ; vsubps        %ymm6,%ymm5,%ymm6
+  DB  196,193,84,88,227                   ; vaddps        %ymm11,%ymm5,%ymm4
+  DB  196,194,77,188,228                  ; vfnmadd231ps  %ymm12,%ymm6,%ymm4
+  DB  197,188,92,214                      ; vsubps        %ymm6,%ymm8,%ymm2
+  DB  197,244,94,202                      ; vdivps        %ymm2,%ymm1,%ymm1
+  DB  197,220,88,201                      ; vaddps        %ymm1,%ymm4,%ymm1
+  DB  197,244,89,195                      ; vmulps        %ymm3,%ymm1,%ymm0
+  DB  196,193,52,194,202,0                ; vcmpeqps      %ymm10,%ymm9,%ymm1
+  DB  197,253,91,192                      ; vcvtps2dq     %ymm0,%ymm0
+  DB  196,195,125,74,242,16               ; vblendvps     %ymm1,%ymm10,%ymm0,%ymm6
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,16,132,36,160,0,0,0         ; vmovups       0xa0(%rsp),%ymm0
+  DB  197,252,16,140,36,192,0,0,0         ; vmovups       0xc0(%rsp),%ymm1
+  DB  197,252,16,148,36,224,0,0,0         ; vmovups       0xe0(%rsp),%ymm2
+  DB  197,252,16,156,36,0,1,0,0           ; vmovups       0x100(%rsp),%ymm3
+  DB  197,252,16,100,36,96                ; vmovups       0x60(%rsp),%ymm4
+  DB  197,124,41,245                      ; vmovaps       %ymm14,%ymm5
+  DB  197,252,16,188,36,32,1,0,0          ; vmovups       0x120(%rsp),%ymm7
+  DB  72,129,196,88,1,0,0                 ; add           $0x158,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_lab_to_xyz_hsw
+_sk_lab_to_xyz_hsw LABEL PROC
+  DB  196,98,125,24,5,206,19,3,0          ; vbroadcastss  0x313ce(%rip),%ymm8        # 34b8c <_sk_srcover_bgra_8888_sse2_lowp+0x374>
+  DB  196,98,125,24,13,45,19,3,0          ; vbroadcastss  0x3132d(%rip),%ymm9        # 34af4 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  DB  196,98,125,24,21,192,19,3,0         ; vbroadcastss  0x313c0(%rip),%ymm10        # 34b90 <_sk_srcover_bgra_8888_sse2_lowp+0x378>
+  DB  196,194,53,168,202                  ; vfmadd213ps   %ymm10,%ymm9,%ymm1
+  DB  196,194,53,168,210                  ; vfmadd213ps   %ymm10,%ymm9,%ymm2
+  DB  196,98,125,24,13,177,19,3,0         ; vbroadcastss  0x313b1(%rip),%ymm9        # 34b94 <_sk_srcover_bgra_8888_sse2_lowp+0x37c>
+  DB  196,66,125,184,200                  ; vfmadd231ps   %ymm8,%ymm0,%ymm9
+  DB  196,226,125,24,5,167,19,3,0         ; vbroadcastss  0x313a7(%rip),%ymm0        # 34b98 <_sk_srcover_bgra_8888_sse2_lowp+0x380>
+  DB  197,180,89,192                      ; vmulps        %ymm0,%ymm9,%ymm0
+  DB  196,98,125,24,5,158,19,3,0          ; vbroadcastss  0x3139e(%rip),%ymm8        # 34b9c <_sk_srcover_bgra_8888_sse2_lowp+0x384>
+  DB  196,98,117,168,192                  ; vfmadd213ps   %ymm0,%ymm1,%ymm8
+  DB  196,98,125,24,13,148,19,3,0         ; vbroadcastss  0x31394(%rip),%ymm9        # 34ba0 <_sk_srcover_bgra_8888_sse2_lowp+0x388>
+  DB  196,98,109,172,200                  ; vfnmadd213ps  %ymm0,%ymm2,%ymm9
+  DB  196,193,60,89,200                   ; vmulps        %ymm8,%ymm8,%ymm1
+  DB  197,188,89,201                      ; vmulps        %ymm1,%ymm8,%ymm1
+  DB  196,226,125,24,21,129,19,3,0        ; vbroadcastss  0x31381(%rip),%ymm2        # 34ba4 <_sk_srcover_bgra_8888_sse2_lowp+0x38c>
+  DB  197,108,194,209,1                   ; vcmpltps      %ymm1,%ymm2,%ymm10
+  DB  196,98,125,24,29,119,19,3,0         ; vbroadcastss  0x31377(%rip),%ymm11        # 34ba8 <_sk_srcover_bgra_8888_sse2_lowp+0x390>
+  DB  196,65,60,88,195                    ; vaddps        %ymm11,%ymm8,%ymm8
+  DB  196,98,125,24,37,109,19,3,0         ; vbroadcastss  0x3136d(%rip),%ymm12        # 34bac <_sk_srcover_bgra_8888_sse2_lowp+0x394>
+  DB  196,65,60,89,196                    ; vmulps        %ymm12,%ymm8,%ymm8
+  DB  196,99,61,74,193,160                ; vblendvps     %ymm10,%ymm1,%ymm8,%ymm8
+  DB  197,252,89,200                      ; vmulps        %ymm0,%ymm0,%ymm1
+  DB  197,252,89,201                      ; vmulps        %ymm1,%ymm0,%ymm1
+  DB  197,108,194,209,1                   ; vcmpltps      %ymm1,%ymm2,%ymm10
+  DB  196,193,124,88,195                  ; vaddps        %ymm11,%ymm0,%ymm0
+  DB  196,193,124,89,196                  ; vmulps        %ymm12,%ymm0,%ymm0
+  DB  196,227,125,74,201,160              ; vblendvps     %ymm10,%ymm1,%ymm0,%ymm1
+  DB  196,193,52,89,193                   ; vmulps        %ymm9,%ymm9,%ymm0
+  DB  197,180,89,192                      ; vmulps        %ymm0,%ymm9,%ymm0
+  DB  197,236,194,208,1                   ; vcmpltps      %ymm0,%ymm2,%ymm2
+  DB  196,65,52,88,203                    ; vaddps        %ymm11,%ymm9,%ymm9
+  DB  196,65,52,89,204                    ; vmulps        %ymm12,%ymm9,%ymm9
+  DB  196,227,53,74,208,32                ; vblendvps     %ymm2,%ymm0,%ymm9,%ymm2
+  DB  196,226,125,24,5,34,19,3,0          ; vbroadcastss  0x31322(%rip),%ymm0        # 34bb0 <_sk_srcover_bgra_8888_sse2_lowp+0x398>
+  DB  197,188,89,192                      ; vmulps        %ymm0,%ymm8,%ymm0
+  DB  196,98,125,24,5,25,19,3,0           ; vbroadcastss  0x31319(%rip),%ymm8        # 34bb4 <_sk_srcover_bgra_8888_sse2_lowp+0x39c>
+  DB  196,193,108,89,208                  ; vmulps        %ymm8,%ymm2,%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_load_a8_hsw
+_sk_load_a8_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,52                              ; jne           38ea <_sk_load_a8_hsw+0x46>
+  DB  196,194,121,48,4,16                 ; vpmovzxbw     (%r8,%rdx,1),%xmm0
+  DB  197,249,219,5,140,27,3,0            ; vpand         0x31b8c(%rip),%xmm0,%xmm0        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  196,226,125,51,192                  ; vpmovzxwd     %xmm0,%ymm0
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  196,226,125,24,13,106,18,3,0        ; vbroadcastss  0x3126a(%rip),%ymm1        # 34b40 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  DB  197,252,89,217                      ; vmulps        %ymm1,%ymm0,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
+  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
+  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,196                             ; ja            38bc <_sk_load_a8_hsw+0x18>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,118,0,0,0                 ; lea           0x76(%rip),%r9        # 3978 <_sk_load_a8_hsw+0xd4>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,182,4,16                      ; movzbl        (%r8,%rdx,1),%eax
+  DB  197,249,110,192                     ; vmovd         %eax,%xmm0
+  DB  235,166                             ; jmp           38bc <_sk_load_a8_hsw+0x18>
+  DB  65,15,182,68,16,2                   ; movzbl        0x2(%r8,%rdx,1),%eax
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  197,249,196,192,2                   ; vpinsrw       $0x2,%eax,%xmm0,%xmm0
+  DB  65,15,183,4,16                      ; movzwl        (%r8,%rdx,1),%eax
+  DB  197,249,110,200                     ; vmovd         %eax,%xmm1
+  DB  196,226,121,48,201                  ; vpmovzxbw     %xmm1,%xmm1
+  DB  196,227,121,2,193,1                 ; vpblendd      $0x1,%xmm1,%xmm0,%xmm0
+  DB  235,129                             ; jmp           38bc <_sk_load_a8_hsw+0x18>
+  DB  65,15,182,68,16,6                   ; movzbl        0x6(%r8,%rdx,1),%eax
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  197,249,196,192,6                   ; vpinsrw       $0x6,%eax,%xmm0,%xmm0
+  DB  65,15,182,68,16,5                   ; movzbl        0x5(%r8,%rdx,1),%eax
+  DB  197,249,196,192,5                   ; vpinsrw       $0x5,%eax,%xmm0,%xmm0
+  DB  65,15,182,68,16,4                   ; movzbl        0x4(%r8,%rdx,1),%eax
+  DB  197,249,196,192,4                   ; vpinsrw       $0x4,%eax,%xmm0,%xmm0
+  DB  196,193,121,110,12,16               ; vmovd         (%r8,%rdx,1),%xmm1
+  DB  196,226,121,48,201                  ; vpmovzxbw     %xmm1,%xmm1
+  DB  196,227,113,2,192,12                ; vpblendd      $0xc,%xmm0,%xmm1,%xmm0
+  DB  233,70,255,255,255                  ; jmpq          38bc <_sk_load_a8_hsw+0x18>
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  147                                 ; xchg          %eax,%ebx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,173,255,255,255,158             ; ljmp          *-0x61000001(%rbp)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  232,255,255,255,221                 ; callq         ffffffffde003988 <_sk_srcover_bgra_8888_sse2_lowp+0xffffffffddfcf170>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,210                             ; callq         *%rdx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,195                             ; inc           %ebx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_a8_dst_hsw
+_sk_load_a8_dst_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,52                              ; jne           39da <_sk_load_a8_dst_hsw+0x46>
+  DB  196,194,121,48,36,16                ; vpmovzxbw     (%r8,%rdx,1),%xmm4
+  DB  197,217,219,37,156,26,3,0           ; vpand         0x31a9c(%rip),%xmm4,%xmm4        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  196,226,125,51,228                  ; vpmovzxwd     %xmm4,%ymm4
+  DB  197,252,91,228                      ; vcvtdq2ps     %ymm4,%ymm4
+  DB  196,226,125,24,45,122,17,3,0        ; vbroadcastss  0x3117a(%rip),%ymm5        # 34b40 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  DB  197,220,89,253                      ; vmulps        %ymm5,%ymm4,%ymm7
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,220,87,228                      ; vxorps        %ymm4,%ymm4,%ymm4
+  DB  197,212,87,237                      ; vxorps        %ymm5,%ymm5,%ymm5
+  DB  197,204,87,246                      ; vxorps        %ymm6,%ymm6,%ymm6
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,196                             ; ja            39ac <_sk_load_a8_dst_hsw+0x18>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,118,0,0,0                 ; lea           0x76(%rip),%r9        # 3a68 <_sk_load_a8_dst_hsw+0xd4>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,182,4,16                      ; movzbl        (%r8,%rdx,1),%eax
+  DB  197,249,110,224                     ; vmovd         %eax,%xmm4
+  DB  235,166                             ; jmp           39ac <_sk_load_a8_dst_hsw+0x18>
+  DB  65,15,182,68,16,2                   ; movzbl        0x2(%r8,%rdx,1),%eax
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  197,217,196,224,2                   ; vpinsrw       $0x2,%eax,%xmm4,%xmm4
+  DB  65,15,183,4,16                      ; movzwl        (%r8,%rdx,1),%eax
+  DB  197,249,110,232                     ; vmovd         %eax,%xmm5
+  DB  196,226,121,48,237                  ; vpmovzxbw     %xmm5,%xmm5
+  DB  196,227,89,2,229,1                  ; vpblendd      $0x1,%xmm5,%xmm4,%xmm4
+  DB  235,129                             ; jmp           39ac <_sk_load_a8_dst_hsw+0x18>
+  DB  65,15,182,68,16,6                   ; movzbl        0x6(%r8,%rdx,1),%eax
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  197,217,196,224,6                   ; vpinsrw       $0x6,%eax,%xmm4,%xmm4
+  DB  65,15,182,68,16,5                   ; movzbl        0x5(%r8,%rdx,1),%eax
+  DB  197,217,196,224,5                   ; vpinsrw       $0x5,%eax,%xmm4,%xmm4
+  DB  65,15,182,68,16,4                   ; movzbl        0x4(%r8,%rdx,1),%eax
+  DB  197,217,196,224,4                   ; vpinsrw       $0x4,%eax,%xmm4,%xmm4
+  DB  196,193,121,110,44,16               ; vmovd         (%r8,%rdx,1),%xmm5
+  DB  196,226,121,48,237                  ; vpmovzxbw     %xmm5,%xmm5
+  DB  196,227,81,2,228,12                 ; vpblendd      $0xc,%xmm4,%xmm5,%xmm4
+  DB  233,70,255,255,255                  ; jmpq          39ac <_sk_load_a8_dst_hsw+0x18>
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  147                                 ; xchg          %eax,%ebx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,173,255,255,255,158             ; ljmp          *-0x61000001(%rbp)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  232,255,255,255,221                 ; callq         ffffffffde003a78 <_sk_srcover_bgra_8888_sse2_lowp+0xffffffffddfcf260>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,210                             ; callq         *%rdx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,195                             ; inc           %ebx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_gather_a8_hsw
+_sk_gather_a8_hsw LABEL PROC
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,84                               ; push          %r12
+  DB  83                                  ; push          %rbx
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,88,80,12                ; vpbroadcastd  0xc(%rax),%ymm2
+  DB  197,229,118,219                     ; vpcmpeqd      %ymm3,%ymm3,%ymm3
+  DB  197,237,254,211                     ; vpaddd        %ymm3,%ymm2,%ymm2
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,188,95,192                      ; vmaxps        %ymm0,%ymm8,%ymm0
+  DB  197,252,93,194                      ; vminps        %ymm2,%ymm0,%ymm0
+  DB  196,226,125,88,80,16                ; vpbroadcastd  0x10(%rax),%ymm2
+  DB  197,237,254,211                     ; vpaddd        %ymm3,%ymm2,%ymm2
+  DB  197,188,95,201                      ; vmaxps        %ymm1,%ymm8,%ymm1
+  DB  197,244,93,202                      ; vminps        %ymm2,%ymm1,%ymm1
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  197,254,91,201                      ; vcvttps2dq    %ymm1,%ymm1
+  DB  196,226,125,88,80,8                 ; vpbroadcastd  0x8(%rax),%ymm2
+  DB  196,226,109,64,201                  ; vpmulld       %ymm1,%ymm2,%ymm1
+  DB  197,254,91,192                      ; vcvttps2dq    %ymm0,%ymm0
+  DB  197,245,254,192                     ; vpaddd        %ymm0,%ymm1,%ymm0
+  DB  196,227,249,22,192,1                ; vpextrq       $0x1,%xmm0,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  196,193,249,126,194                 ; vmovq         %xmm0,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,227,125,57,192,1                ; vextracti128  $0x1,%ymm0,%xmm0
+  DB  196,227,249,22,195,1                ; vpextrq       $0x1,%xmm0,%rbx
+  DB  65,137,222                          ; mov           %ebx,%r14d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  196,193,249,126,199                 ; vmovq         %xmm0,%r15
+  DB  69,137,252                          ; mov           %r15d,%r12d
+  DB  73,193,239,32                       ; shr           $0x20,%r15
+  DB  71,15,182,20,16                     ; movzbl        (%r8,%r10,1),%r10d
+  DB  71,15,182,28,24                     ; movzbl        (%r8,%r11,1),%r11d
+  DB  196,193,121,110,195                 ; vmovd         %r11d,%xmm0
+  DB  196,195,121,32,194,1                ; vpinsrb       $0x1,%r10d,%xmm0,%xmm0
+  DB  71,15,182,12,8                      ; movzbl        (%r8,%r9,1),%r9d
+  DB  196,195,121,32,193,2                ; vpinsrb       $0x2,%r9d,%xmm0,%xmm0
+  DB  65,15,182,4,0                       ; movzbl        (%r8,%rax,1),%eax
+  DB  196,227,121,32,192,3                ; vpinsrb       $0x3,%eax,%xmm0,%xmm0
+  DB  67,15,182,4,32                      ; movzbl        (%r8,%r12,1),%eax
+  DB  196,227,121,32,192,4                ; vpinsrb       $0x4,%eax,%xmm0,%xmm0
+  DB  67,15,182,4,56                      ; movzbl        (%r8,%r15,1),%eax
+  DB  196,227,121,32,192,5                ; vpinsrb       $0x5,%eax,%xmm0,%xmm0
+  DB  67,15,182,4,48                      ; movzbl        (%r8,%r14,1),%eax
+  DB  196,227,121,32,192,6                ; vpinsrb       $0x6,%eax,%xmm0,%xmm0
+  DB  65,15,182,4,24                      ; movzbl        (%r8,%rbx,1),%eax
+  DB  196,227,121,32,192,7                ; vpinsrb       $0x7,%eax,%xmm0,%xmm0
+  DB  196,226,125,49,192                  ; vpmovzxbd     %xmm0,%ymm0
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  196,226,125,24,13,203,15,3,0        ; vbroadcastss  0x30fcb(%rip),%ymm1        # 34b40 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  DB  197,252,89,217                      ; vmulps        %ymm1,%ymm0,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
+  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
+  DB  197,237,239,210                     ; vpxor         %ymm2,%ymm2,%ymm2
+  DB  91                                  ; pop           %rbx
+  DB  65,92                               ; pop           %r12
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_store_a8_hsw
+_sk_store_a8_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,60,95,195                       ; vmaxps        %ymm3,%ymm8,%ymm8
+  DB  196,98,125,24,13,25,15,3,0          ; vbroadcastss  0x30f19(%rip),%ymm9        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,65,60,93,193                    ; vminps        %ymm9,%ymm8,%ymm8
+  DB  196,98,125,24,13,55,15,3,0          ; vbroadcastss  0x30f37(%rip),%ymm9        # 34af4 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  DB  196,65,60,89,193                    ; vmulps        %ymm9,%ymm8,%ymm8
+  DB  196,65,125,91,192                   ; vcvtps2dq     %ymm8,%ymm8
+  DB  196,67,125,25,193,1                 ; vextractf128  $0x1,%ymm8,%xmm9
+  DB  196,66,57,43,193                    ; vpackusdw     %xmm9,%xmm8,%xmm8
+  DB  197,57,103,192                      ; vpackuswb     %xmm0,%xmm8,%xmm8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,10                              ; jne           3be5 <_sk_store_a8_hsw+0x55>
+  DB  196,65,121,214,4,16                 ; vmovq         %xmm8,(%r8,%rdx,1)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,242                             ; ja            3be1 <_sk_store_a8_hsw+0x51>
+  DB  196,66,121,48,192                   ; vpmovzxbw     %xmm8,%xmm8
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,86,0,0,0                  ; lea           0x56(%rip),%r9        # 3c54 <_sk_store_a8_hsw+0xc4>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,67,121,20,4,16,0                ; vpextrb       $0x0,%xmm8,(%r8,%rdx,1)
+  DB  235,209                             ; jmp           3be1 <_sk_store_a8_hsw+0x51>
+  DB  196,67,121,20,68,16,2,4             ; vpextrb       $0x4,%xmm8,0x2(%r8,%rdx,1)
+  DB  196,98,57,0,5,63,24,3,0             ; vpshufb       0x3183f(%rip),%xmm8,%xmm8        # 35460 <_sk_srcover_bgra_8888_sse2_lowp+0xc48>
+  DB  196,67,121,21,4,16,0                ; vpextrw       $0x0,%xmm8,(%r8,%rdx,1)
+  DB  235,183                             ; jmp           3be1 <_sk_store_a8_hsw+0x51>
+  DB  196,67,121,20,68,16,6,12            ; vpextrb       $0xc,%xmm8,0x6(%r8,%rdx,1)
+  DB  196,67,121,20,68,16,5,10            ; vpextrb       $0xa,%xmm8,0x5(%r8,%rdx,1)
+  DB  196,67,121,20,68,16,4,8             ; vpextrb       $0x8,%xmm8,0x4(%r8,%rdx,1)
+  DB  196,98,57,0,5,37,24,3,0             ; vpshufb       0x31825(%rip),%xmm8,%xmm8        # 35470 <_sk_srcover_bgra_8888_sse2_lowp+0xc58>
+  DB  196,65,121,126,4,16                 ; vmovd         %xmm8,(%r8,%rdx,1)
+  DB  235,142                             ; jmp           3be1 <_sk_store_a8_hsw+0x51>
+  DB  144                                 ; nop
+  DB  179,255                             ; mov           $0xff,%bl
+  DB  255                                 ; (bad)
+  DB  255,196                             ; inc           %esp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  188,255,255,255,238                 ; mov           $0xeeffffff,%esp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,230                             ; jmpq          *%rsi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  222,255                             ; fdivrp        %st,%st(7)
+  DB  255                                 ; (bad)
+  DB  255,214                             ; callq         *%rsi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_g8_hsw
+_sk_load_g8_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,57                              ; jne           3cbb <_sk_load_g8_hsw+0x4b>
+  DB  196,194,121,48,4,16                 ; vpmovzxbw     (%r8,%rdx,1),%xmm0
+  DB  197,249,219,5,192,23,3,0            ; vpand         0x317c0(%rip),%xmm0,%xmm0        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  196,226,125,51,192                  ; vpmovzxwd     %xmm0,%ymm0
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  196,226,125,24,13,158,14,3,0        ; vbroadcastss  0x30e9e(%rip),%ymm1        # 34b40 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  DB  197,252,89,193                      ; vmulps        %ymm1,%ymm0,%ymm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,29,23,14,3,0         ; vbroadcastss  0x30e17(%rip),%ymm3        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,252,40,200                      ; vmovaps       %ymm0,%ymm1
+  DB  197,252,40,208                      ; vmovaps       %ymm0,%ymm2
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,191                             ; ja            3c88 <_sk_load_g8_hsw+0x18>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,121,0,0,0                 ; lea           0x79(%rip),%r9        # 3d4c <_sk_load_g8_hsw+0xdc>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,182,4,16                      ; movzbl        (%r8,%rdx,1),%eax
+  DB  197,249,110,192                     ; vmovd         %eax,%xmm0
+  DB  235,161                             ; jmp           3c88 <_sk_load_g8_hsw+0x18>
+  DB  65,15,182,68,16,2                   ; movzbl        0x2(%r8,%rdx,1),%eax
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  197,249,196,192,2                   ; vpinsrw       $0x2,%eax,%xmm0,%xmm0
+  DB  65,15,183,4,16                      ; movzwl        (%r8,%rdx,1),%eax
+  DB  197,249,110,200                     ; vmovd         %eax,%xmm1
+  DB  196,226,121,48,201                  ; vpmovzxbw     %xmm1,%xmm1
+  DB  196,227,121,2,193,1                 ; vpblendd      $0x1,%xmm1,%xmm0,%xmm0
+  DB  233,121,255,255,255                 ; jmpq          3c88 <_sk_load_g8_hsw+0x18>
+  DB  65,15,182,68,16,6                   ; movzbl        0x6(%r8,%rdx,1),%eax
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  197,249,196,192,6                   ; vpinsrw       $0x6,%eax,%xmm0,%xmm0
+  DB  65,15,182,68,16,5                   ; movzbl        0x5(%r8,%rdx,1),%eax
+  DB  197,249,196,192,5                   ; vpinsrw       $0x5,%eax,%xmm0,%xmm0
+  DB  65,15,182,68,16,4                   ; movzbl        0x4(%r8,%rdx,1),%eax
+  DB  197,249,196,192,4                   ; vpinsrw       $0x4,%eax,%xmm0,%xmm0
+  DB  196,193,121,110,12,16               ; vmovd         (%r8,%rdx,1),%xmm1
+  DB  196,226,121,48,201                  ; vpmovzxbw     %xmm1,%xmm1
+  DB  196,227,113,2,192,12                ; vpblendd      $0xc,%xmm0,%xmm1,%xmm0
+  DB  233,62,255,255,255                  ; jmpq          3c88 <_sk_load_g8_hsw+0x18>
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  144                                 ; nop
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,170,255,255,255,155             ; ljmp          *-0x64000001(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  232,255,255,255,221                 ; callq         ffffffffde003d5c <_sk_srcover_bgra_8888_sse2_lowp+0xffffffffddfcf544>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,210                             ; callq         *%rdx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,195                             ; inc           %ebx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_g8_dst_hsw
+_sk_load_g8_dst_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,57                              ; jne           3db3 <_sk_load_g8_dst_hsw+0x4b>
+  DB  196,194,121,48,36,16                ; vpmovzxbw     (%r8,%rdx,1),%xmm4
+  DB  197,217,219,37,200,22,3,0           ; vpand         0x316c8(%rip),%xmm4,%xmm4        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  196,226,125,51,228                  ; vpmovzxwd     %xmm4,%ymm4
+  DB  197,252,91,228                      ; vcvtdq2ps     %ymm4,%ymm4
+  DB  196,226,125,24,45,166,13,3,0        ; vbroadcastss  0x30da6(%rip),%ymm5        # 34b40 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  DB  197,220,89,229                      ; vmulps        %ymm5,%ymm4,%ymm4
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,61,31,13,3,0         ; vbroadcastss  0x30d1f(%rip),%ymm7        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,252,40,236                      ; vmovaps       %ymm4,%ymm5
+  DB  197,252,40,244                      ; vmovaps       %ymm4,%ymm6
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,191                             ; ja            3d80 <_sk_load_g8_dst_hsw+0x18>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,121,0,0,0                 ; lea           0x79(%rip),%r9        # 3e44 <_sk_load_g8_dst_hsw+0xdc>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,182,4,16                      ; movzbl        (%r8,%rdx,1),%eax
+  DB  197,249,110,224                     ; vmovd         %eax,%xmm4
+  DB  235,161                             ; jmp           3d80 <_sk_load_g8_dst_hsw+0x18>
+  DB  65,15,182,68,16,2                   ; movzbl        0x2(%r8,%rdx,1),%eax
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  197,217,196,224,2                   ; vpinsrw       $0x2,%eax,%xmm4,%xmm4
+  DB  65,15,183,4,16                      ; movzwl        (%r8,%rdx,1),%eax
+  DB  197,249,110,232                     ; vmovd         %eax,%xmm5
+  DB  196,226,121,48,237                  ; vpmovzxbw     %xmm5,%xmm5
+  DB  196,227,89,2,229,1                  ; vpblendd      $0x1,%xmm5,%xmm4,%xmm4
+  DB  233,121,255,255,255                 ; jmpq          3d80 <_sk_load_g8_dst_hsw+0x18>
+  DB  65,15,182,68,16,6                   ; movzbl        0x6(%r8,%rdx,1),%eax
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  197,217,196,224,6                   ; vpinsrw       $0x6,%eax,%xmm4,%xmm4
+  DB  65,15,182,68,16,5                   ; movzbl        0x5(%r8,%rdx,1),%eax
+  DB  197,217,196,224,5                   ; vpinsrw       $0x5,%eax,%xmm4,%xmm4
+  DB  65,15,182,68,16,4                   ; movzbl        0x4(%r8,%rdx,1),%eax
+  DB  197,217,196,224,4                   ; vpinsrw       $0x4,%eax,%xmm4,%xmm4
+  DB  196,193,121,110,44,16               ; vmovd         (%r8,%rdx,1),%xmm5
+  DB  196,226,121,48,237                  ; vpmovzxbw     %xmm5,%xmm5
+  DB  196,227,81,2,228,12                 ; vpblendd      $0xc,%xmm4,%xmm5,%xmm4
+  DB  233,62,255,255,255                  ; jmpq          3d80 <_sk_load_g8_dst_hsw+0x18>
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  144                                 ; nop
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,170,255,255,255,155             ; ljmp          *-0x64000001(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  232,255,255,255,221                 ; callq         ffffffffde003e54 <_sk_srcover_bgra_8888_sse2_lowp+0xffffffffddfcf63c>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,210                             ; callq         *%rdx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,195                             ; inc           %ebx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_gather_g8_hsw
+_sk_gather_g8_hsw LABEL PROC
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,84                               ; push          %r12
+  DB  83                                  ; push          %rbx
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,88,80,12                ; vpbroadcastd  0xc(%rax),%ymm2
+  DB  197,229,118,219                     ; vpcmpeqd      %ymm3,%ymm3,%ymm3
+  DB  197,237,254,211                     ; vpaddd        %ymm3,%ymm2,%ymm2
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,188,95,192                      ; vmaxps        %ymm0,%ymm8,%ymm0
+  DB  197,252,93,194                      ; vminps        %ymm2,%ymm0,%ymm0
+  DB  196,226,125,88,80,16                ; vpbroadcastd  0x10(%rax),%ymm2
+  DB  197,237,254,211                     ; vpaddd        %ymm3,%ymm2,%ymm2
+  DB  197,188,95,201                      ; vmaxps        %ymm1,%ymm8,%ymm1
+  DB  197,244,93,202                      ; vminps        %ymm2,%ymm1,%ymm1
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  197,254,91,201                      ; vcvttps2dq    %ymm1,%ymm1
+  DB  196,226,125,88,80,8                 ; vpbroadcastd  0x8(%rax),%ymm2
+  DB  196,226,109,64,201                  ; vpmulld       %ymm1,%ymm2,%ymm1
+  DB  197,254,91,192                      ; vcvttps2dq    %ymm0,%ymm0
+  DB  197,245,254,192                     ; vpaddd        %ymm0,%ymm1,%ymm0
+  DB  196,227,249,22,192,1                ; vpextrq       $0x1,%xmm0,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  196,193,249,126,194                 ; vmovq         %xmm0,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,227,125,57,192,1                ; vextracti128  $0x1,%ymm0,%xmm0
+  DB  196,227,249,22,195,1                ; vpextrq       $0x1,%xmm0,%rbx
+  DB  65,137,222                          ; mov           %ebx,%r14d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  196,193,249,126,199                 ; vmovq         %xmm0,%r15
+  DB  69,137,252                          ; mov           %r15d,%r12d
+  DB  73,193,239,32                       ; shr           $0x20,%r15
+  DB  71,15,182,20,16                     ; movzbl        (%r8,%r10,1),%r10d
+  DB  71,15,182,28,24                     ; movzbl        (%r8,%r11,1),%r11d
+  DB  196,193,121,110,195                 ; vmovd         %r11d,%xmm0
+  DB  196,195,121,32,194,1                ; vpinsrb       $0x1,%r10d,%xmm0,%xmm0
+  DB  71,15,182,12,8                      ; movzbl        (%r8,%r9,1),%r9d
+  DB  196,195,121,32,193,2                ; vpinsrb       $0x2,%r9d,%xmm0,%xmm0
+  DB  65,15,182,4,0                       ; movzbl        (%r8,%rax,1),%eax
+  DB  196,227,121,32,192,3                ; vpinsrb       $0x3,%eax,%xmm0,%xmm0
+  DB  67,15,182,4,32                      ; movzbl        (%r8,%r12,1),%eax
+  DB  196,227,121,32,192,4                ; vpinsrb       $0x4,%eax,%xmm0,%xmm0
+  DB  67,15,182,4,56                      ; movzbl        (%r8,%r15,1),%eax
+  DB  196,227,121,32,192,5                ; vpinsrb       $0x5,%eax,%xmm0,%xmm0
+  DB  67,15,182,4,48                      ; movzbl        (%r8,%r14,1),%eax
+  DB  196,227,121,32,192,6                ; vpinsrb       $0x6,%eax,%xmm0,%xmm0
+  DB  65,15,182,4,24                      ; movzbl        (%r8,%rbx,1),%eax
+  DB  196,227,121,32,192,7                ; vpinsrb       $0x7,%eax,%xmm0,%xmm0
+  DB  196,226,125,49,192                  ; vpmovzxbd     %xmm0,%ymm0
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  196,226,125,24,13,239,11,3,0        ; vbroadcastss  0x30bef(%rip),%ymm1        # 34b40 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  DB  197,252,89,193                      ; vmulps        %ymm1,%ymm0,%ymm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,29,104,11,3,0        ; vbroadcastss  0x30b68(%rip),%ymm3        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,252,40,200                      ; vmovaps       %ymm0,%ymm1
+  DB  197,252,40,208                      ; vmovaps       %ymm0,%ymm2
+  DB  91                                  ; pop           %rbx
+  DB  65,92                               ; pop           %r12
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_load_565_hsw
+_sk_load_565_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,114                             ; jne           3ff8 <_sk_load_565_hsw+0x87>
+  DB  196,193,122,111,4,80                ; vmovdqu       (%r8,%rdx,2),%xmm0
+  DB  196,226,125,51,208                  ; vpmovzxwd     %xmm0,%ymm2
+  DB  196,226,125,88,5,170,11,3,0         ; vpbroadcastd  0x30baa(%rip),%ymm0        # 34b44 <_sk_srcover_bgra_8888_sse2_lowp+0x32c>
+  DB  197,237,219,192                     ; vpand         %ymm0,%ymm2,%ymm0
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  196,226,125,24,13,157,11,3,0        ; vbroadcastss  0x30b9d(%rip),%ymm1        # 34b48 <_sk_srcover_bgra_8888_sse2_lowp+0x330>
+  DB  197,252,89,193                      ; vmulps        %ymm1,%ymm0,%ymm0
+  DB  196,226,125,88,13,148,11,3,0        ; vpbroadcastd  0x30b94(%rip),%ymm1        # 34b4c <_sk_srcover_bgra_8888_sse2_lowp+0x334>
+  DB  197,237,219,201                     ; vpand         %ymm1,%ymm2,%ymm1
+  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
+  DB  196,226,125,24,29,135,11,3,0        ; vbroadcastss  0x30b87(%rip),%ymm3        # 34b50 <_sk_srcover_bgra_8888_sse2_lowp+0x338>
+  DB  197,244,89,203                      ; vmulps        %ymm3,%ymm1,%ymm1
+  DB  196,226,125,88,29,126,11,3,0        ; vpbroadcastd  0x30b7e(%rip),%ymm3        # 34b54 <_sk_srcover_bgra_8888_sse2_lowp+0x33c>
+  DB  197,237,219,211                     ; vpand         %ymm3,%ymm2,%ymm2
+  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
+  DB  196,226,125,24,29,113,11,3,0        ; vbroadcastss  0x30b71(%rip),%ymm3        # 34b58 <_sk_srcover_bgra_8888_sse2_lowp+0x340>
+  DB  197,236,89,211                      ; vmulps        %ymm3,%ymm2,%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,29,210,10,3,0        ; vbroadcastss  0x30ad2(%rip),%ymm3        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,134                             ; ja            3f8c <_sk_load_565_hsw+0x1b>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,100,0,0,0                 ; lea           0x64(%rip),%r9        # 4074 <_sk_load_565_hsw+0x103>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,183,4,80                      ; movzwl        (%r8,%rdx,2),%eax
+  DB  197,249,110,192                     ; vmovd         %eax,%xmm0
+  DB  233,101,255,255,255                 ; jmpq          3f8c <_sk_load_565_hsw+0x1b>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  196,193,121,196,68,80,4,2           ; vpinsrw       $0x2,0x4(%r8,%rdx,2),%xmm0,%xmm0
+  DB  196,193,121,110,12,80               ; vmovd         (%r8,%rdx,2),%xmm1
+  DB  196,227,121,2,193,1                 ; vpblendd      $0x1,%xmm1,%xmm0,%xmm0
+  DB  233,72,255,255,255                  ; jmpq          3f8c <_sk_load_565_hsw+0x1b>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  196,193,121,196,68,80,12,6          ; vpinsrw       $0x6,0xc(%r8,%rdx,2),%xmm0,%xmm0
+  DB  196,193,121,196,68,80,10,5          ; vpinsrw       $0x5,0xa(%r8,%rdx,2),%xmm0,%xmm0
+  DB  196,193,121,196,68,80,8,4           ; vpinsrw       $0x4,0x8(%r8,%rdx,2),%xmm0,%xmm0
+  DB  196,193,122,126,12,80               ; vmovq         (%r8,%rdx,2),%xmm1
+  DB  196,227,113,2,192,12                ; vpblendd      $0xc,%xmm0,%xmm1,%xmm0
+  DB  233,27,255,255,255                  ; jmpq          3f8c <_sk_load_565_hsw+0x1b>
+  DB  15,31,0                             ; nopl          (%rax)
+  DB  165                                 ; movsl         %ds:(%rsi),%es:(%rdi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  191,255,255,255,179                 ; mov           $0xb3ffffff,%edi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  236                                 ; in            (%dx),%al
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,228                             ; jmpq          *%rsp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  220,255                             ; fdivr         %st,%st(7)
+  DB  255                                 ; (bad)
+  DB  255,208                             ; callq         *%rax
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_565_dst_hsw
+_sk_load_565_dst_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,114                             ; jne           4117 <_sk_load_565_dst_hsw+0x87>
+  DB  196,193,122,111,36,80               ; vmovdqu       (%r8,%rdx,2),%xmm4
+  DB  196,226,125,51,244                  ; vpmovzxwd     %xmm4,%ymm6
+  DB  196,226,125,88,37,139,10,3,0        ; vpbroadcastd  0x30a8b(%rip),%ymm4        # 34b44 <_sk_srcover_bgra_8888_sse2_lowp+0x32c>
+  DB  197,205,219,228                     ; vpand         %ymm4,%ymm6,%ymm4
+  DB  197,252,91,228                      ; vcvtdq2ps     %ymm4,%ymm4
+  DB  196,226,125,24,45,126,10,3,0        ; vbroadcastss  0x30a7e(%rip),%ymm5        # 34b48 <_sk_srcover_bgra_8888_sse2_lowp+0x330>
+  DB  197,220,89,229                      ; vmulps        %ymm5,%ymm4,%ymm4
+  DB  196,226,125,88,45,117,10,3,0        ; vpbroadcastd  0x30a75(%rip),%ymm5        # 34b4c <_sk_srcover_bgra_8888_sse2_lowp+0x334>
+  DB  197,205,219,237                     ; vpand         %ymm5,%ymm6,%ymm5
+  DB  197,252,91,237                      ; vcvtdq2ps     %ymm5,%ymm5
+  DB  196,226,125,24,61,104,10,3,0        ; vbroadcastss  0x30a68(%rip),%ymm7        # 34b50 <_sk_srcover_bgra_8888_sse2_lowp+0x338>
+  DB  197,212,89,239                      ; vmulps        %ymm7,%ymm5,%ymm5
+  DB  196,226,125,88,61,95,10,3,0         ; vpbroadcastd  0x30a5f(%rip),%ymm7        # 34b54 <_sk_srcover_bgra_8888_sse2_lowp+0x33c>
+  DB  197,205,219,247                     ; vpand         %ymm7,%ymm6,%ymm6
+  DB  197,252,91,246                      ; vcvtdq2ps     %ymm6,%ymm6
+  DB  196,226,125,24,61,82,10,3,0         ; vbroadcastss  0x30a52(%rip),%ymm7        # 34b58 <_sk_srcover_bgra_8888_sse2_lowp+0x340>
+  DB  197,204,89,247                      ; vmulps        %ymm7,%ymm6,%ymm6
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,61,179,9,3,0         ; vbroadcastss  0x309b3(%rip),%ymm7        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,134                             ; ja            40ab <_sk_load_565_dst_hsw+0x1b>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,97,0,0,0                  ; lea           0x61(%rip),%r9        # 4190 <_sk_load_565_dst_hsw+0x100>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,183,4,80                      ; movzwl        (%r8,%rdx,2),%eax
+  DB  197,249,110,224                     ; vmovd         %eax,%xmm4
+  DB  233,101,255,255,255                 ; jmpq          40ab <_sk_load_565_dst_hsw+0x1b>
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  196,193,89,196,100,80,4,2           ; vpinsrw       $0x2,0x4(%r8,%rdx,2),%xmm4,%xmm4
+  DB  196,193,121,110,44,80               ; vmovd         (%r8,%rdx,2),%xmm5
+  DB  196,227,89,2,229,1                  ; vpblendd      $0x1,%xmm5,%xmm4,%xmm4
+  DB  233,72,255,255,255                  ; jmpq          40ab <_sk_load_565_dst_hsw+0x1b>
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  196,193,89,196,100,80,12,6          ; vpinsrw       $0x6,0xc(%r8,%rdx,2),%xmm4,%xmm4
+  DB  196,193,89,196,100,80,10,5          ; vpinsrw       $0x5,0xa(%r8,%rdx,2),%xmm4,%xmm4
+  DB  196,193,89,196,100,80,8,4           ; vpinsrw       $0x4,0x8(%r8,%rdx,2),%xmm4,%xmm4
+  DB  196,193,122,126,44,80               ; vmovq         (%r8,%rdx,2),%xmm5
+  DB  196,227,81,2,228,12                 ; vpblendd      $0xc,%xmm4,%xmm5,%xmm4
+  DB  233,27,255,255,255                  ; jmpq          40ab <_sk_load_565_dst_hsw+0x1b>
+  DB  168,255                             ; test          $0xff,%al
+  DB  255                                 ; (bad)
+  DB  255,194                             ; inc           %edx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,182,255,255,255,239             ; pushq         -0x10000001(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,231                             ; jmpq          *%rdi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  223,255                             ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,211                             ; callq         *%rbx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_gather_565_hsw
+_sk_gather_565_hsw LABEL PROC
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,84                               ; push          %r12
+  DB  83                                  ; push          %rbx
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,88,80,12                ; vpbroadcastd  0xc(%rax),%ymm2
+  DB  197,229,118,219                     ; vpcmpeqd      %ymm3,%ymm3,%ymm3
+  DB  197,237,254,211                     ; vpaddd        %ymm3,%ymm2,%ymm2
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,188,95,192                      ; vmaxps        %ymm0,%ymm8,%ymm0
+  DB  197,252,93,194                      ; vminps        %ymm2,%ymm0,%ymm0
+  DB  196,226,125,88,80,16                ; vpbroadcastd  0x10(%rax),%ymm2
+  DB  197,237,254,211                     ; vpaddd        %ymm3,%ymm2,%ymm2
+  DB  197,188,95,201                      ; vmaxps        %ymm1,%ymm8,%ymm1
+  DB  197,244,93,202                      ; vminps        %ymm2,%ymm1,%ymm1
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  197,254,91,201                      ; vcvttps2dq    %ymm1,%ymm1
+  DB  196,226,125,88,80,8                 ; vpbroadcastd  0x8(%rax),%ymm2
+  DB  196,226,109,64,201                  ; vpmulld       %ymm1,%ymm2,%ymm1
+  DB  197,254,91,192                      ; vcvttps2dq    %ymm0,%ymm0
+  DB  197,245,254,192                     ; vpaddd        %ymm0,%ymm1,%ymm0
+  DB  196,227,249,22,192,1                ; vpextrq       $0x1,%xmm0,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  196,193,249,126,194                 ; vmovq         %xmm0,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,227,125,57,192,1                ; vextracti128  $0x1,%ymm0,%xmm0
+  DB  196,227,249,22,195,1                ; vpextrq       $0x1,%xmm0,%rbx
+  DB  65,137,222                          ; mov           %ebx,%r14d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  196,193,249,126,199                 ; vmovq         %xmm0,%r15
+  DB  69,137,252                          ; mov           %r15d,%r12d
+  DB  73,193,239,32                       ; shr           $0x20,%r15
+  DB  71,15,183,20,80                     ; movzwl        (%r8,%r10,2),%r10d
+  DB  71,15,183,28,88                     ; movzwl        (%r8,%r11,2),%r11d
+  DB  196,193,121,110,195                 ; vmovd         %r11d,%xmm0
+  DB  196,193,121,196,194,1               ; vpinsrw       $0x1,%r10d,%xmm0,%xmm0
+  DB  71,15,183,12,72                     ; movzwl        (%r8,%r9,2),%r9d
+  DB  196,193,121,196,193,2               ; vpinsrw       $0x2,%r9d,%xmm0,%xmm0
+  DB  65,15,183,4,64                      ; movzwl        (%r8,%rax,2),%eax
+  DB  197,249,196,192,3                   ; vpinsrw       $0x3,%eax,%xmm0,%xmm0
+  DB  67,15,183,4,96                      ; movzwl        (%r8,%r12,2),%eax
+  DB  197,249,196,192,4                   ; vpinsrw       $0x4,%eax,%xmm0,%xmm0
+  DB  67,15,183,4,120                     ; movzwl        (%r8,%r15,2),%eax
+  DB  197,249,196,192,5                   ; vpinsrw       $0x5,%eax,%xmm0,%xmm0
+  DB  67,15,183,4,112                     ; movzwl        (%r8,%r14,2),%eax
+  DB  197,249,196,192,6                   ; vpinsrw       $0x6,%eax,%xmm0,%xmm0
+  DB  65,15,183,4,88                      ; movzwl        (%r8,%rbx,2),%eax
+  DB  197,249,196,192,7                   ; vpinsrw       $0x7,%eax,%xmm0,%xmm0
+  DB  196,226,125,51,208                  ; vpmovzxwd     %xmm0,%ymm2
+  DB  196,226,125,88,5,176,8,3,0          ; vpbroadcastd  0x308b0(%rip),%ymm0        # 34b44 <_sk_srcover_bgra_8888_sse2_lowp+0x32c>
+  DB  197,237,219,192                     ; vpand         %ymm0,%ymm2,%ymm0
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  196,226,125,24,13,163,8,3,0         ; vbroadcastss  0x308a3(%rip),%ymm1        # 34b48 <_sk_srcover_bgra_8888_sse2_lowp+0x330>
+  DB  197,252,89,193                      ; vmulps        %ymm1,%ymm0,%ymm0
+  DB  196,226,125,88,13,154,8,3,0         ; vpbroadcastd  0x3089a(%rip),%ymm1        # 34b4c <_sk_srcover_bgra_8888_sse2_lowp+0x334>
+  DB  197,237,219,201                     ; vpand         %ymm1,%ymm2,%ymm1
+  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
+  DB  196,226,125,24,29,141,8,3,0         ; vbroadcastss  0x3088d(%rip),%ymm3        # 34b50 <_sk_srcover_bgra_8888_sse2_lowp+0x338>
+  DB  197,244,89,203                      ; vmulps        %ymm3,%ymm1,%ymm1
+  DB  196,226,125,88,29,132,8,3,0         ; vpbroadcastd  0x30884(%rip),%ymm3        # 34b54 <_sk_srcover_bgra_8888_sse2_lowp+0x33c>
+  DB  197,237,219,211                     ; vpand         %ymm3,%ymm2,%ymm2
+  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
+  DB  196,226,125,24,29,119,8,3,0         ; vbroadcastss  0x30877(%rip),%ymm3        # 34b58 <_sk_srcover_bgra_8888_sse2_lowp+0x340>
+  DB  197,236,89,211                      ; vmulps        %ymm3,%ymm2,%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,29,216,7,3,0         ; vbroadcastss  0x307d8(%rip),%ymm3        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  91                                  ; pop           %rbx
+  DB  65,92                               ; pop           %r12
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_store_565_hsw
+_sk_store_565_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,60,95,200                       ; vmaxps        %ymm0,%ymm8,%ymm9
+  DB  196,98,125,24,21,173,7,3,0          ; vbroadcastss  0x307ad(%rip),%ymm10        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,65,52,93,202                    ; vminps        %ymm10,%ymm9,%ymm9
+  DB  196,98,125,24,29,143,8,3,0          ; vbroadcastss  0x3088f(%rip),%ymm11        # 34bb8 <_sk_srcover_bgra_8888_sse2_lowp+0x3a0>
+  DB  196,65,52,89,203                    ; vmulps        %ymm11,%ymm9,%ymm9
+  DB  196,65,125,91,201                   ; vcvtps2dq     %ymm9,%ymm9
+  DB  196,193,53,114,241,11               ; vpslld        $0xb,%ymm9,%ymm9
+  DB  197,60,95,225                       ; vmaxps        %ymm1,%ymm8,%ymm12
+  DB  196,65,28,93,226                    ; vminps        %ymm10,%ymm12,%ymm12
+  DB  196,98,125,24,45,113,8,3,0          ; vbroadcastss  0x30871(%rip),%ymm13        # 34bbc <_sk_srcover_bgra_8888_sse2_lowp+0x3a4>
+  DB  196,65,28,89,229                    ; vmulps        %ymm13,%ymm12,%ymm12
+  DB  196,65,125,91,228                   ; vcvtps2dq     %ymm12,%ymm12
+  DB  196,193,29,114,244,5                ; vpslld        $0x5,%ymm12,%ymm12
+  DB  196,65,29,235,201                   ; vpor          %ymm9,%ymm12,%ymm9
+  DB  197,60,95,194                       ; vmaxps        %ymm2,%ymm8,%ymm8
+  DB  196,65,60,93,194                    ; vminps        %ymm10,%ymm8,%ymm8
+  DB  196,65,60,89,195                    ; vmulps        %ymm11,%ymm8,%ymm8
+  DB  196,65,125,91,192                   ; vcvtps2dq     %ymm8,%ymm8
+  DB  196,65,53,235,192                   ; vpor          %ymm8,%ymm9,%ymm8
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,66,57,43,193                    ; vpackusdw     %xmm9,%xmm8,%xmm8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,10                              ; jne           4392 <_sk_store_565_hsw+0x99>
+  DB  196,65,122,127,4,80                 ; vmovdqu       %xmm8,(%r8,%rdx,2)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,242                             ; ja            438e <_sk_store_565_hsw+0x95>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,66,0,0,0                  ; lea           0x42(%rip),%r9        # 43e8 <_sk_store_565_hsw+0xef>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,67,121,21,4,80,0                ; vpextrw       $0x0,%xmm8,(%r8,%rdx,2)
+  DB  235,214                             ; jmp           438e <_sk_store_565_hsw+0x95>
+  DB  196,67,121,21,68,80,4,2             ; vpextrw       $0x2,%xmm8,0x4(%r8,%rdx,2)
+  DB  196,65,121,126,4,80                 ; vmovd         %xmm8,(%r8,%rdx,2)
+  DB  235,198                             ; jmp           438e <_sk_store_565_hsw+0x95>
+  DB  196,67,121,21,68,80,12,6            ; vpextrw       $0x6,%xmm8,0xc(%r8,%rdx,2)
+  DB  196,67,121,21,68,80,10,5            ; vpextrw       $0x5,%xmm8,0xa(%r8,%rdx,2)
+  DB  196,67,121,21,68,80,8,4             ; vpextrw       $0x4,%xmm8,0x8(%r8,%rdx,2)
+  DB  196,65,121,214,4,80                 ; vmovq         %xmm8,(%r8,%rdx,2)
+  DB  235,166                             ; jmp           438e <_sk_store_565_hsw+0x95>
+  DB  199                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  216,255                             ; fdivr         %st(7),%st
+  DB  255                                 ; (bad)
+  DB  255,208                             ; callq         *%rax
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  248                                 ; clc
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,240                             ; push          %rax
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  232,255,255,255,224                 ; callq         ffffffffe1004400 <_sk_srcover_bgra_8888_sse2_lowp+0xffffffffe0fcfbe8>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_4444_hsw
+_sk_load_4444_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,138,0,0,0                    ; jne           44a7 <_sk_load_4444_hsw+0xa3>
+  DB  196,193,122,111,4,80                ; vmovdqu       (%r8,%rdx,2),%xmm0
+  DB  196,226,125,51,216                  ; vpmovzxwd     %xmm0,%ymm3
+  DB  196,226,125,88,5,143,7,3,0          ; vpbroadcastd  0x3078f(%rip),%ymm0        # 34bc0 <_sk_srcover_bgra_8888_sse2_lowp+0x3a8>
+  DB  197,229,219,192                     ; vpand         %ymm0,%ymm3,%ymm0
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  196,226,125,24,13,130,7,3,0         ; vbroadcastss  0x30782(%rip),%ymm1        # 34bc4 <_sk_srcover_bgra_8888_sse2_lowp+0x3ac>
+  DB  197,252,89,193                      ; vmulps        %ymm1,%ymm0,%ymm0
+  DB  196,226,125,88,13,121,7,3,0         ; vpbroadcastd  0x30779(%rip),%ymm1        # 34bc8 <_sk_srcover_bgra_8888_sse2_lowp+0x3b0>
+  DB  197,229,219,201                     ; vpand         %ymm1,%ymm3,%ymm1
+  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
+  DB  196,226,125,24,21,108,7,3,0         ; vbroadcastss  0x3076c(%rip),%ymm2        # 34bcc <_sk_srcover_bgra_8888_sse2_lowp+0x3b4>
+  DB  197,244,89,202                      ; vmulps        %ymm2,%ymm1,%ymm1
+  DB  196,226,125,88,21,99,7,3,0          ; vpbroadcastd  0x30763(%rip),%ymm2        # 34bd0 <_sk_srcover_bgra_8888_sse2_lowp+0x3b8>
+  DB  197,229,219,210                     ; vpand         %ymm2,%ymm3,%ymm2
+  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
+  DB  196,98,125,24,5,86,7,3,0            ; vbroadcastss  0x30756(%rip),%ymm8        # 34bd4 <_sk_srcover_bgra_8888_sse2_lowp+0x3bc>
+  DB  196,193,108,89,208                  ; vmulps        %ymm8,%ymm2,%ymm2
+  DB  196,98,125,88,5,76,7,3,0            ; vpbroadcastd  0x3074c(%rip),%ymm8        # 34bd8 <_sk_srcover_bgra_8888_sse2_lowp+0x3c0>
+  DB  196,193,101,219,216                 ; vpand         %ymm8,%ymm3,%ymm3
+  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
+  DB  196,98,125,24,5,62,7,3,0            ; vbroadcastss  0x3073e(%rip),%ymm8        # 34bdc <_sk_srcover_bgra_8888_sse2_lowp+0x3c4>
+  DB  196,193,100,89,216                  ; vmulps        %ymm8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  15,135,106,255,255,255              ; ja            4423 <_sk_load_4444_hsw+0x1f>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,97,0,0,0                  ; lea           0x61(%rip),%r9        # 4524 <_sk_load_4444_hsw+0x120>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,183,4,80                      ; movzwl        (%r8,%rdx,2),%eax
+  DB  197,249,110,192                     ; vmovd         %eax,%xmm0
+  DB  233,73,255,255,255                  ; jmpq          4423 <_sk_load_4444_hsw+0x1f>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  196,193,121,196,68,80,4,2           ; vpinsrw       $0x2,0x4(%r8,%rdx,2),%xmm0,%xmm0
+  DB  196,193,121,110,12,80               ; vmovd         (%r8,%rdx,2),%xmm1
+  DB  196,227,121,2,193,1                 ; vpblendd      $0x1,%xmm1,%xmm0,%xmm0
+  DB  233,44,255,255,255                  ; jmpq          4423 <_sk_load_4444_hsw+0x1f>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  196,193,121,196,68,80,12,6          ; vpinsrw       $0x6,0xc(%r8,%rdx,2),%xmm0,%xmm0
+  DB  196,193,121,196,68,80,10,5          ; vpinsrw       $0x5,0xa(%r8,%rdx,2),%xmm0,%xmm0
+  DB  196,193,121,196,68,80,8,4           ; vpinsrw       $0x4,0x8(%r8,%rdx,2),%xmm0,%xmm0
+  DB  196,193,122,126,12,80               ; vmovq         (%r8,%rdx,2),%xmm1
+  DB  196,227,113,2,192,12                ; vpblendd      $0xc,%xmm0,%xmm1,%xmm0
+  DB  233,255,254,255,255                 ; jmpq          4423 <_sk_load_4444_hsw+0x1f>
+  DB  168,255                             ; test          $0xff,%al
+  DB  255                                 ; (bad)
+  DB  255,194                             ; inc           %edx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,182,255,255,255,239             ; pushq         -0x10000001(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,231                             ; jmpq          *%rdi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  223,255                             ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,211                             ; callq         *%rbx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_4444_dst_hsw
+_sk_load_4444_dst_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,138,0,0,0                    ; jne           45e3 <_sk_load_4444_dst_hsw+0xa3>
+  DB  196,193,122,111,36,80               ; vmovdqu       (%r8,%rdx,2),%xmm4
+  DB  196,226,125,51,252                  ; vpmovzxwd     %xmm4,%ymm7
+  DB  196,226,125,88,37,83,6,3,0          ; vpbroadcastd  0x30653(%rip),%ymm4        # 34bc0 <_sk_srcover_bgra_8888_sse2_lowp+0x3a8>
+  DB  197,197,219,228                     ; vpand         %ymm4,%ymm7,%ymm4
+  DB  197,252,91,228                      ; vcvtdq2ps     %ymm4,%ymm4
+  DB  196,226,125,24,45,70,6,3,0          ; vbroadcastss  0x30646(%rip),%ymm5        # 34bc4 <_sk_srcover_bgra_8888_sse2_lowp+0x3ac>
+  DB  197,220,89,229                      ; vmulps        %ymm5,%ymm4,%ymm4
+  DB  196,226,125,88,45,61,6,3,0          ; vpbroadcastd  0x3063d(%rip),%ymm5        # 34bc8 <_sk_srcover_bgra_8888_sse2_lowp+0x3b0>
+  DB  197,197,219,237                     ; vpand         %ymm5,%ymm7,%ymm5
+  DB  197,252,91,237                      ; vcvtdq2ps     %ymm5,%ymm5
+  DB  196,226,125,24,53,48,6,3,0          ; vbroadcastss  0x30630(%rip),%ymm6        # 34bcc <_sk_srcover_bgra_8888_sse2_lowp+0x3b4>
+  DB  197,212,89,238                      ; vmulps        %ymm6,%ymm5,%ymm5
+  DB  196,226,125,88,53,39,6,3,0          ; vpbroadcastd  0x30627(%rip),%ymm6        # 34bd0 <_sk_srcover_bgra_8888_sse2_lowp+0x3b8>
+  DB  197,197,219,246                     ; vpand         %ymm6,%ymm7,%ymm6
+  DB  197,252,91,246                      ; vcvtdq2ps     %ymm6,%ymm6
+  DB  196,98,125,24,5,26,6,3,0            ; vbroadcastss  0x3061a(%rip),%ymm8        # 34bd4 <_sk_srcover_bgra_8888_sse2_lowp+0x3bc>
+  DB  196,193,76,89,240                   ; vmulps        %ymm8,%ymm6,%ymm6
+  DB  196,98,125,88,5,16,6,3,0            ; vpbroadcastd  0x30610(%rip),%ymm8        # 34bd8 <_sk_srcover_bgra_8888_sse2_lowp+0x3c0>
+  DB  196,193,69,219,248                  ; vpand         %ymm8,%ymm7,%ymm7
+  DB  197,252,91,255                      ; vcvtdq2ps     %ymm7,%ymm7
+  DB  196,98,125,24,5,2,6,3,0             ; vbroadcastss  0x30602(%rip),%ymm8        # 34bdc <_sk_srcover_bgra_8888_sse2_lowp+0x3c4>
+  DB  196,193,68,89,248                   ; vmulps        %ymm8,%ymm7,%ymm7
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  15,135,106,255,255,255              ; ja            455f <_sk_load_4444_dst_hsw+0x1f>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,97,0,0,0                  ; lea           0x61(%rip),%r9        # 4660 <_sk_load_4444_dst_hsw+0x120>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,183,4,80                      ; movzwl        (%r8,%rdx,2),%eax
+  DB  197,249,110,224                     ; vmovd         %eax,%xmm4
+  DB  233,73,255,255,255                  ; jmpq          455f <_sk_load_4444_dst_hsw+0x1f>
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  196,193,89,196,100,80,4,2           ; vpinsrw       $0x2,0x4(%r8,%rdx,2),%xmm4,%xmm4
+  DB  196,193,121,110,44,80               ; vmovd         (%r8,%rdx,2),%xmm5
+  DB  196,227,89,2,229,1                  ; vpblendd      $0x1,%xmm5,%xmm4,%xmm4
+  DB  233,44,255,255,255                  ; jmpq          455f <_sk_load_4444_dst_hsw+0x1f>
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  196,193,89,196,100,80,12,6          ; vpinsrw       $0x6,0xc(%r8,%rdx,2),%xmm4,%xmm4
+  DB  196,193,89,196,100,80,10,5          ; vpinsrw       $0x5,0xa(%r8,%rdx,2),%xmm4,%xmm4
+  DB  196,193,89,196,100,80,8,4           ; vpinsrw       $0x4,0x8(%r8,%rdx,2),%xmm4,%xmm4
+  DB  196,193,122,126,44,80               ; vmovq         (%r8,%rdx,2),%xmm5
+  DB  196,227,81,2,228,12                 ; vpblendd      $0xc,%xmm4,%xmm5,%xmm4
+  DB  233,255,254,255,255                 ; jmpq          455f <_sk_load_4444_dst_hsw+0x1f>
+  DB  168,255                             ; test          $0xff,%al
+  DB  255                                 ; (bad)
+  DB  255,194                             ; inc           %edx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,182,255,255,255,239             ; pushq         -0x10000001(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,231                             ; jmpq          *%rdi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  223,255                             ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,211                             ; callq         *%rbx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_gather_4444_hsw
+_sk_gather_4444_hsw LABEL PROC
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,84                               ; push          %r12
+  DB  83                                  ; push          %rbx
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,88,80,12                ; vpbroadcastd  0xc(%rax),%ymm2
+  DB  197,229,118,219                     ; vpcmpeqd      %ymm3,%ymm3,%ymm3
+  DB  197,237,254,211                     ; vpaddd        %ymm3,%ymm2,%ymm2
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,188,95,192                      ; vmaxps        %ymm0,%ymm8,%ymm0
+  DB  197,252,93,194                      ; vminps        %ymm2,%ymm0,%ymm0
+  DB  196,226,125,88,80,16                ; vpbroadcastd  0x10(%rax),%ymm2
+  DB  197,237,254,211                     ; vpaddd        %ymm3,%ymm2,%ymm2
+  DB  197,188,95,201                      ; vmaxps        %ymm1,%ymm8,%ymm1
+  DB  197,244,93,202                      ; vminps        %ymm2,%ymm1,%ymm1
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  197,254,91,201                      ; vcvttps2dq    %ymm1,%ymm1
+  DB  196,226,125,88,80,8                 ; vpbroadcastd  0x8(%rax),%ymm2
+  DB  196,226,109,64,201                  ; vpmulld       %ymm1,%ymm2,%ymm1
+  DB  197,254,91,192                      ; vcvttps2dq    %ymm0,%ymm0
+  DB  197,245,254,192                     ; vpaddd        %ymm0,%ymm1,%ymm0
+  DB  196,227,249,22,192,1                ; vpextrq       $0x1,%xmm0,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  196,193,249,126,194                 ; vmovq         %xmm0,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,227,125,57,192,1                ; vextracti128  $0x1,%ymm0,%xmm0
+  DB  196,227,249,22,195,1                ; vpextrq       $0x1,%xmm0,%rbx
+  DB  65,137,222                          ; mov           %ebx,%r14d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  196,193,249,126,199                 ; vmovq         %xmm0,%r15
+  DB  69,137,252                          ; mov           %r15d,%r12d
+  DB  73,193,239,32                       ; shr           $0x20,%r15
+  DB  71,15,183,20,80                     ; movzwl        (%r8,%r10,2),%r10d
+  DB  71,15,183,28,88                     ; movzwl        (%r8,%r11,2),%r11d
+  DB  196,193,121,110,195                 ; vmovd         %r11d,%xmm0
+  DB  196,193,121,196,194,1               ; vpinsrw       $0x1,%r10d,%xmm0,%xmm0
+  DB  71,15,183,12,72                     ; movzwl        (%r8,%r9,2),%r9d
+  DB  196,193,121,196,193,2               ; vpinsrw       $0x2,%r9d,%xmm0,%xmm0
+  DB  65,15,183,4,64                      ; movzwl        (%r8,%rax,2),%eax
+  DB  197,249,196,192,3                   ; vpinsrw       $0x3,%eax,%xmm0,%xmm0
+  DB  67,15,183,4,96                      ; movzwl        (%r8,%r12,2),%eax
+  DB  197,249,196,192,4                   ; vpinsrw       $0x4,%eax,%xmm0,%xmm0
+  DB  67,15,183,4,120                     ; movzwl        (%r8,%r15,2),%eax
+  DB  197,249,196,192,5                   ; vpinsrw       $0x5,%eax,%xmm0,%xmm0
+  DB  67,15,183,4,112                     ; movzwl        (%r8,%r14,2),%eax
+  DB  197,249,196,192,6                   ; vpinsrw       $0x6,%eax,%xmm0,%xmm0
+  DB  65,15,183,4,88                      ; movzwl        (%r8,%rbx,2),%eax
+  DB  197,249,196,192,7                   ; vpinsrw       $0x7,%eax,%xmm0,%xmm0
+  DB  196,226,125,51,216                  ; vpmovzxwd     %xmm0,%ymm3
+  DB  196,226,125,88,5,92,4,3,0           ; vpbroadcastd  0x3045c(%rip),%ymm0        # 34bc0 <_sk_srcover_bgra_8888_sse2_lowp+0x3a8>
+  DB  197,229,219,192                     ; vpand         %ymm0,%ymm3,%ymm0
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  196,226,125,24,13,79,4,3,0          ; vbroadcastss  0x3044f(%rip),%ymm1        # 34bc4 <_sk_srcover_bgra_8888_sse2_lowp+0x3ac>
+  DB  197,252,89,193                      ; vmulps        %ymm1,%ymm0,%ymm0
+  DB  196,226,125,88,13,70,4,3,0          ; vpbroadcastd  0x30446(%rip),%ymm1        # 34bc8 <_sk_srcover_bgra_8888_sse2_lowp+0x3b0>
+  DB  197,229,219,201                     ; vpand         %ymm1,%ymm3,%ymm1
+  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
+  DB  196,226,125,24,21,57,4,3,0          ; vbroadcastss  0x30439(%rip),%ymm2        # 34bcc <_sk_srcover_bgra_8888_sse2_lowp+0x3b4>
+  DB  197,244,89,202                      ; vmulps        %ymm2,%ymm1,%ymm1
+  DB  196,226,125,88,21,48,4,3,0          ; vpbroadcastd  0x30430(%rip),%ymm2        # 34bd0 <_sk_srcover_bgra_8888_sse2_lowp+0x3b8>
+  DB  197,229,219,210                     ; vpand         %ymm2,%ymm3,%ymm2
+  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
+  DB  196,98,125,24,5,35,4,3,0            ; vbroadcastss  0x30423(%rip),%ymm8        # 34bd4 <_sk_srcover_bgra_8888_sse2_lowp+0x3bc>
+  DB  196,193,108,89,208                  ; vmulps        %ymm8,%ymm2,%ymm2
+  DB  196,98,125,88,5,25,4,3,0            ; vpbroadcastd  0x30419(%rip),%ymm8        # 34bd8 <_sk_srcover_bgra_8888_sse2_lowp+0x3c0>
+  DB  196,193,101,219,216                 ; vpand         %ymm8,%ymm3,%ymm3
+  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
+  DB  196,98,125,24,5,11,4,3,0            ; vbroadcastss  0x3040b(%rip),%ymm8        # 34bdc <_sk_srcover_bgra_8888_sse2_lowp+0x3c4>
+  DB  196,193,100,89,216                  ; vmulps        %ymm8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  91                                  ; pop           %rbx
+  DB  65,92                               ; pop           %r12
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_store_4444_hsw
+_sk_store_4444_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,60,95,200                       ; vmaxps        %ymm0,%ymm8,%ymm9
+  DB  196,98,125,24,21,197,2,3,0          ; vbroadcastss  0x302c5(%rip),%ymm10        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,65,52,93,202                    ; vminps        %ymm10,%ymm9,%ymm9
+  DB  196,98,125,24,29,207,3,3,0          ; vbroadcastss  0x303cf(%rip),%ymm11        # 34be0 <_sk_srcover_bgra_8888_sse2_lowp+0x3c8>
+  DB  196,65,52,89,203                    ; vmulps        %ymm11,%ymm9,%ymm9
+  DB  196,65,125,91,201                   ; vcvtps2dq     %ymm9,%ymm9
+  DB  196,193,53,114,241,12               ; vpslld        $0xc,%ymm9,%ymm9
+  DB  197,60,95,225                       ; vmaxps        %ymm1,%ymm8,%ymm12
+  DB  196,65,28,93,226                    ; vminps        %ymm10,%ymm12,%ymm12
+  DB  196,65,28,89,227                    ; vmulps        %ymm11,%ymm12,%ymm12
+  DB  196,65,125,91,228                   ; vcvtps2dq     %ymm12,%ymm12
+  DB  196,193,29,114,244,8                ; vpslld        $0x8,%ymm12,%ymm12
+  DB  196,65,29,235,201                   ; vpor          %ymm9,%ymm12,%ymm9
+  DB  197,60,95,226                       ; vmaxps        %ymm2,%ymm8,%ymm12
+  DB  196,65,28,93,226                    ; vminps        %ymm10,%ymm12,%ymm12
+  DB  196,65,28,89,227                    ; vmulps        %ymm11,%ymm12,%ymm12
+  DB  196,65,125,91,228                   ; vcvtps2dq     %ymm12,%ymm12
+  DB  196,193,29,114,244,4                ; vpslld        $0x4,%ymm12,%ymm12
+  DB  197,60,95,195                       ; vmaxps        %ymm3,%ymm8,%ymm8
+  DB  196,65,60,93,194                    ; vminps        %ymm10,%ymm8,%ymm8
+  DB  196,65,60,89,195                    ; vmulps        %ymm11,%ymm8,%ymm8
+  DB  196,65,125,91,192                   ; vcvtps2dq     %ymm8,%ymm8
+  DB  196,65,29,235,192                   ; vpor          %ymm8,%ymm12,%ymm8
+  DB  196,65,53,235,192                   ; vpor          %ymm8,%ymm9,%ymm8
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,66,57,43,193                    ; vpackusdw     %xmm9,%xmm8,%xmm8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,10                              ; jne           488f <_sk_store_4444_hsw+0xae>
+  DB  196,65,122,127,4,80                 ; vmovdqu       %xmm8,(%r8,%rdx,2)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,242                             ; ja            488b <_sk_store_4444_hsw+0xaa>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,69,0,0,0                  ; lea           0x45(%rip),%r9        # 48e8 <_sk_store_4444_hsw+0x107>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,67,121,21,4,80,0                ; vpextrw       $0x0,%xmm8,(%r8,%rdx,2)
+  DB  235,214                             ; jmp           488b <_sk_store_4444_hsw+0xaa>
+  DB  196,67,121,21,68,80,4,2             ; vpextrw       $0x2,%xmm8,0x4(%r8,%rdx,2)
+  DB  196,65,121,126,4,80                 ; vmovd         %xmm8,(%r8,%rdx,2)
+  DB  235,198                             ; jmp           488b <_sk_store_4444_hsw+0xaa>
+  DB  196,67,121,21,68,80,12,6            ; vpextrw       $0x6,%xmm8,0xc(%r8,%rdx,2)
+  DB  196,67,121,21,68,80,10,5            ; vpextrw       $0x5,%xmm8,0xa(%r8,%rdx,2)
+  DB  196,67,121,21,68,80,8,4             ; vpextrw       $0x4,%xmm8,0x8(%r8,%rdx,2)
+  DB  196,65,121,214,4,80                 ; vmovq         %xmm8,(%r8,%rdx,2)
+  DB  235,166                             ; jmp           488b <_sk_store_4444_hsw+0xaa>
+  DB  15,31,0                             ; nopl          (%rax)
+  DB  196                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,213                             ; callq         *%rbp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,205                             ; dec           %ebp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,245                             ; push          %rbp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  237                                 ; in            (%dx),%eax
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,229                             ; jmpq          *%rbp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  221,255                             ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_8888_hsw
+_sk_load_8888_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,86                              ; jne           4970 <_sk_load_8888_hsw+0x6c>
+  DB  196,193,126,111,28,144              ; vmovdqu       (%r8,%rdx,4),%ymm3
+  DB  197,229,219,5,152,4,3,0             ; vpand         0x30498(%rip),%ymm3,%ymm0        # 34dc0 <_sk_srcover_bgra_8888_sse2_lowp+0x5a8>
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  196,98,125,24,5,11,2,3,0            ; vbroadcastss  0x3020b(%rip),%ymm8        # 34b40 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  DB  196,193,124,89,192                  ; vmulps        %ymm8,%ymm0,%ymm0
+  DB  196,226,101,0,13,157,4,3,0          ; vpshufb       0x3049d(%rip),%ymm3,%ymm1        # 34de0 <_sk_srcover_bgra_8888_sse2_lowp+0x5c8>
+  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
+  DB  196,193,116,89,200                  ; vmulps        %ymm8,%ymm1,%ymm1
+  DB  196,226,101,0,21,171,4,3,0          ; vpshufb       0x304ab(%rip),%ymm3,%ymm2        # 34e00 <_sk_srcover_bgra_8888_sse2_lowp+0x5e8>
+  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
+  DB  196,193,108,89,208                  ; vmulps        %ymm8,%ymm2,%ymm2
+  DB  197,229,114,211,24                  ; vpsrld        $0x18,%ymm3,%ymm3
+  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
+  DB  196,193,100,89,216                  ; vmulps        %ymm8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  197,229,239,219                     ; vpxor         %ymm3,%ymm3,%ymm3
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,162                             ; ja            4920 <_sk_load_8888_hsw+0x1c>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,136,0,0,0                 ; lea           0x88(%rip),%r9        # 4a10 <_sk_load_8888_hsw+0x10c>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,193,121,110,28,144              ; vmovd         (%r8,%rdx,4),%xmm3
+  DB  235,135                             ; jmp           4920 <_sk_load_8888_hsw+0x1c>
+  DB  196,193,121,110,68,144,8            ; vmovd         0x8(%r8,%rdx,4),%xmm0
+  DB  196,226,121,89,192                  ; vpbroadcastq  %xmm0,%xmm0
+  DB  197,245,239,201                     ; vpxor         %ymm1,%ymm1,%ymm1
+  DB  196,227,117,2,216,4                 ; vpblendd      $0x4,%ymm0,%ymm1,%ymm3
+  DB  196,193,122,126,4,144               ; vmovq         (%r8,%rdx,4),%xmm0
+  DB  196,227,101,2,216,3                 ; vpblendd      $0x3,%ymm0,%ymm3,%ymm3
+  DB  233,96,255,255,255                  ; jmpq          4920 <_sk_load_8888_hsw+0x1c>
+  DB  196,193,121,110,68,144,24           ; vmovd         0x18(%r8,%rdx,4),%xmm0
+  DB  196,226,125,89,192                  ; vpbroadcastq  %xmm0,%ymm0
+  DB  197,245,239,201                     ; vpxor         %ymm1,%ymm1,%ymm1
+  DB  196,227,117,2,216,64                ; vpblendd      $0x40,%ymm0,%ymm1,%ymm3
+  DB  196,227,125,57,216,1                ; vextracti128  $0x1,%ymm3,%xmm0
+  DB  196,195,121,34,68,144,20,1          ; vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm0,%xmm0
+  DB  196,227,101,56,216,1                ; vinserti128   $0x1,%xmm0,%ymm3,%ymm3
+  DB  196,227,125,57,216,1                ; vextracti128  $0x1,%ymm3,%xmm0
+  DB  196,195,121,34,68,144,16,0          ; vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm0,%xmm0
+  DB  196,227,101,56,216,1                ; vinserti128   $0x1,%xmm0,%ymm3,%ymm3
+  DB  196,193,122,111,4,144               ; vmovdqu       (%r8,%rdx,4),%xmm0
+  DB  196,227,125,2,219,240               ; vpblendd      $0xf0,%ymm3,%ymm0,%ymm3
+  DB  233,17,255,255,255                  ; jmpq          4920 <_sk_load_8888_hsw+0x1c>
+  DB  144                                 ; nop
+  DB  129,255,255,255,159,255             ; cmp           $0xff9fffff,%edi
+  DB  255                                 ; (bad)
+  DB  255,137,255,255,255,238             ; decl          -0x11000001(%rcx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  218,255                             ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,198                             ; inc           %esi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+  DB  176,255                             ; mov           $0xff,%al
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_8888_dst_hsw
+_sk_load_8888_dst_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,86                              ; jne           4a98 <_sk_load_8888_dst_hsw+0x6c>
+  DB  196,193,126,111,60,144              ; vmovdqu       (%r8,%rdx,4),%ymm7
+  DB  197,197,219,37,208,3,3,0            ; vpand         0x303d0(%rip),%ymm7,%ymm4        # 34e20 <_sk_srcover_bgra_8888_sse2_lowp+0x608>
+  DB  197,252,91,228                      ; vcvtdq2ps     %ymm4,%ymm4
+  DB  196,98,125,24,5,227,0,3,0           ; vbroadcastss  0x300e3(%rip),%ymm8        # 34b40 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  DB  196,193,92,89,224                   ; vmulps        %ymm8,%ymm4,%ymm4
+  DB  196,226,69,0,45,213,3,3,0           ; vpshufb       0x303d5(%rip),%ymm7,%ymm5        # 34e40 <_sk_srcover_bgra_8888_sse2_lowp+0x628>
+  DB  197,252,91,237                      ; vcvtdq2ps     %ymm5,%ymm5
+  DB  196,193,84,89,232                   ; vmulps        %ymm8,%ymm5,%ymm5
+  DB  196,226,69,0,53,227,3,3,0           ; vpshufb       0x303e3(%rip),%ymm7,%ymm6        # 34e60 <_sk_srcover_bgra_8888_sse2_lowp+0x648>
+  DB  197,252,91,246                      ; vcvtdq2ps     %ymm6,%ymm6
+  DB  196,193,76,89,240                   ; vmulps        %ymm8,%ymm6,%ymm6
+  DB  197,197,114,215,24                  ; vpsrld        $0x18,%ymm7,%ymm7
+  DB  197,252,91,255                      ; vcvtdq2ps     %ymm7,%ymm7
+  DB  196,193,68,89,248                   ; vmulps        %ymm8,%ymm7,%ymm7
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  197,197,239,255                     ; vpxor         %ymm7,%ymm7,%ymm7
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,162                             ; ja            4a48 <_sk_load_8888_dst_hsw+0x1c>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,136,0,0,0                 ; lea           0x88(%rip),%r9        # 4b38 <_sk_load_8888_dst_hsw+0x10c>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,193,121,110,60,144              ; vmovd         (%r8,%rdx,4),%xmm7
+  DB  235,135                             ; jmp           4a48 <_sk_load_8888_dst_hsw+0x1c>
+  DB  196,193,121,110,100,144,8           ; vmovd         0x8(%r8,%rdx,4),%xmm4
+  DB  196,226,121,89,228                  ; vpbroadcastq  %xmm4,%xmm4
+  DB  197,213,239,237                     ; vpxor         %ymm5,%ymm5,%ymm5
+  DB  196,227,85,2,252,4                  ; vpblendd      $0x4,%ymm4,%ymm5,%ymm7
+  DB  196,193,122,126,36,144              ; vmovq         (%r8,%rdx,4),%xmm4
+  DB  196,227,69,2,252,3                  ; vpblendd      $0x3,%ymm4,%ymm7,%ymm7
+  DB  233,96,255,255,255                  ; jmpq          4a48 <_sk_load_8888_dst_hsw+0x1c>
+  DB  196,193,121,110,100,144,24          ; vmovd         0x18(%r8,%rdx,4),%xmm4
+  DB  196,226,125,89,228                  ; vpbroadcastq  %xmm4,%ymm4
+  DB  197,213,239,237                     ; vpxor         %ymm5,%ymm5,%ymm5
+  DB  196,227,85,2,252,64                 ; vpblendd      $0x40,%ymm4,%ymm5,%ymm7
+  DB  196,227,125,57,252,1                ; vextracti128  $0x1,%ymm7,%xmm4
+  DB  196,195,89,34,100,144,20,1          ; vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm4,%xmm4
+  DB  196,227,69,56,252,1                 ; vinserti128   $0x1,%xmm4,%ymm7,%ymm7
+  DB  196,227,125,57,252,1                ; vextracti128  $0x1,%ymm7,%xmm4
+  DB  196,195,89,34,100,144,16,0          ; vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm4,%xmm4
+  DB  196,227,69,56,252,1                 ; vinserti128   $0x1,%xmm4,%ymm7,%ymm7
+  DB  196,193,122,111,36,144              ; vmovdqu       (%r8,%rdx,4),%xmm4
+  DB  196,227,93,2,255,240                ; vpblendd      $0xf0,%ymm7,%ymm4,%ymm7
+  DB  233,17,255,255,255                  ; jmpq          4a48 <_sk_load_8888_dst_hsw+0x1c>
+  DB  144                                 ; nop
+  DB  129,255,255,255,159,255             ; cmp           $0xff9fffff,%edi
+  DB  255                                 ; (bad)
+  DB  255,137,255,255,255,238             ; decl          -0x11000001(%rcx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  218,255                             ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,198                             ; inc           %esi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+  DB  176,255                             ; mov           $0xff,%al
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_gather_8888_hsw
+_sk_gather_8888_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,88,80,12                ; vpbroadcastd  0xc(%rax),%ymm2
+  DB  197,229,118,219                     ; vpcmpeqd      %ymm3,%ymm3,%ymm3
+  DB  197,237,254,211                     ; vpaddd        %ymm3,%ymm2,%ymm2
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,188,95,192                      ; vmaxps        %ymm0,%ymm8,%ymm0
+  DB  197,252,93,194                      ; vminps        %ymm2,%ymm0,%ymm0
+  DB  196,226,125,88,80,16                ; vpbroadcastd  0x10(%rax),%ymm2
+  DB  197,237,254,211                     ; vpaddd        %ymm3,%ymm2,%ymm2
+  DB  197,188,95,201                      ; vmaxps        %ymm1,%ymm8,%ymm1
+  DB  197,244,93,202                      ; vminps        %ymm2,%ymm1,%ymm1
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  197,254,91,201                      ; vcvttps2dq    %ymm1,%ymm1
+  DB  196,226,125,88,80,8                 ; vpbroadcastd  0x8(%rax),%ymm2
+  DB  196,226,109,64,201                  ; vpmulld       %ymm1,%ymm2,%ymm1
+  DB  197,254,91,192                      ; vcvttps2dq    %ymm0,%ymm0
+  DB  197,245,254,192                     ; vpaddd        %ymm0,%ymm1,%ymm0
+  DB  196,66,101,144,4,128                ; vpgatherdd    %ymm3,(%r8,%ymm0,4),%ymm8
+  DB  197,189,219,5,213,2,3,0             ; vpand         0x302d5(%rip),%ymm8,%ymm0        # 34e80 <_sk_srcover_bgra_8888_sse2_lowp+0x668>
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  196,226,125,24,29,136,255,2,0       ; vbroadcastss  0x2ff88(%rip),%ymm3        # 34b40 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  DB  197,252,89,195                      ; vmulps        %ymm3,%ymm0,%ymm0
+  DB  196,226,61,0,13,219,2,3,0           ; vpshufb       0x302db(%rip),%ymm8,%ymm1        # 34ea0 <_sk_srcover_bgra_8888_sse2_lowp+0x688>
+  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
+  DB  197,244,89,203                      ; vmulps        %ymm3,%ymm1,%ymm1
+  DB  196,226,61,0,21,234,2,3,0           ; vpshufb       0x302ea(%rip),%ymm8,%ymm2        # 34ec0 <_sk_srcover_bgra_8888_sse2_lowp+0x6a8>
+  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
+  DB  197,236,89,211                      ; vmulps        %ymm3,%ymm2,%ymm2
+  DB  196,193,61,114,208,24               ; vpsrld        $0x18,%ymm8,%ymm8
+  DB  196,65,124,91,192                   ; vcvtdq2ps     %ymm8,%ymm8
+  DB  197,188,89,219                      ; vmulps        %ymm3,%ymm8,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_store_8888_hsw
+_sk_store_8888_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,60,95,200                       ; vmaxps        %ymm0,%ymm8,%ymm9
+  DB  196,98,125,24,21,180,254,2,0        ; vbroadcastss  0x2feb4(%rip),%ymm10        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,65,52,93,202                    ; vminps        %ymm10,%ymm9,%ymm9
+  DB  196,98,125,24,29,210,254,2,0        ; vbroadcastss  0x2fed2(%rip),%ymm11        # 34af4 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  DB  196,65,52,89,203                    ; vmulps        %ymm11,%ymm9,%ymm9
+  DB  196,65,125,91,201                   ; vcvtps2dq     %ymm9,%ymm9
+  DB  197,60,95,225                       ; vmaxps        %ymm1,%ymm8,%ymm12
+  DB  196,65,28,93,226                    ; vminps        %ymm10,%ymm12,%ymm12
+  DB  196,65,28,89,227                    ; vmulps        %ymm11,%ymm12,%ymm12
+  DB  196,65,125,91,228                   ; vcvtps2dq     %ymm12,%ymm12
+  DB  196,193,29,114,244,8                ; vpslld        $0x8,%ymm12,%ymm12
+  DB  196,65,29,235,201                   ; vpor          %ymm9,%ymm12,%ymm9
+  DB  197,60,95,226                       ; vmaxps        %ymm2,%ymm8,%ymm12
+  DB  196,65,28,93,226                    ; vminps        %ymm10,%ymm12,%ymm12
+  DB  196,65,28,89,227                    ; vmulps        %ymm11,%ymm12,%ymm12
+  DB  196,65,125,91,228                   ; vcvtps2dq     %ymm12,%ymm12
+  DB  196,193,29,114,244,16               ; vpslld        $0x10,%ymm12,%ymm12
+  DB  197,60,95,195                       ; vmaxps        %ymm3,%ymm8,%ymm8
+  DB  196,65,60,93,194                    ; vminps        %ymm10,%ymm8,%ymm8
+  DB  196,65,60,89,195                    ; vmulps        %ymm11,%ymm8,%ymm8
+  DB  196,65,125,91,192                   ; vcvtps2dq     %ymm8,%ymm8
+  DB  196,193,61,114,240,24               ; vpslld        $0x18,%ymm8,%ymm8
+  DB  196,65,29,235,192                   ; vpor          %ymm8,%ymm12,%ymm8
+  DB  196,65,53,235,192                   ; vpor          %ymm8,%ymm9,%ymm8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,10                              ; jne           4c95 <_sk_store_8888_hsw+0xa4>
+  DB  196,65,126,127,4,144                ; vmovdqu       %ymm8,(%r8,%rdx,4)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,242                             ; ja            4c91 <_sk_store_8888_hsw+0xa0>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,83,0,0,0                  ; lea           0x53(%rip),%r9        # 4cfc <_sk_store_8888_hsw+0x10b>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,65,121,126,4,144                ; vmovd         %xmm8,(%r8,%rdx,4)
+  DB  235,215                             ; jmp           4c91 <_sk_store_8888_hsw+0xa0>
+  DB  196,67,121,22,68,144,8,2            ; vpextrd       $0x2,%xmm8,0x8(%r8,%rdx,4)
+  DB  196,65,121,214,4,144                ; vmovq         %xmm8,(%r8,%rdx,4)
+  DB  235,199                             ; jmp           4c91 <_sk_store_8888_hsw+0xa0>
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,67,121,22,76,144,24,2           ; vpextrd       $0x2,%xmm9,0x18(%r8,%rdx,4)
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,67,121,22,76,144,20,1           ; vpextrd       $0x1,%xmm9,0x14(%r8,%rdx,4)
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,65,121,126,76,144,16            ; vmovd         %xmm9,0x10(%r8,%rdx,4)
+  DB  196,65,122,127,4,144                ; vmovdqu       %xmm8,(%r8,%rdx,4)
+  DB  235,150                             ; jmp           4c91 <_sk_store_8888_hsw+0xa0>
+  DB  144                                 ; nop
+  DB  182,255                             ; mov           $0xff,%dh
+  DB  255                                 ; (bad)
+  DB  255,198                             ; inc           %esi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  190,255,255,255,247                 ; mov           $0xf7ffffff,%esi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  234                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  220,255                             ; fdivr         %st,%st(7)
+  DB  255                                 ; (bad)
+  DB  255,206                             ; dec           %esi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_bgra_hsw
+_sk_load_bgra_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,86                              ; jne           4d84 <_sk_load_bgra_hsw+0x6c>
+  DB  196,193,126,111,28,144              ; vmovdqu       (%r8,%rdx,4),%ymm3
+  DB  197,229,219,5,164,1,3,0             ; vpand         0x301a4(%rip),%ymm3,%ymm0        # 34ee0 <_sk_srcover_bgra_8888_sse2_lowp+0x6c8>
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  196,98,125,24,5,247,253,2,0         ; vbroadcastss  0x2fdf7(%rip),%ymm8        # 34b40 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  DB  196,193,124,89,208                  ; vmulps        %ymm8,%ymm0,%ymm2
+  DB  196,226,101,0,5,169,1,3,0           ; vpshufb       0x301a9(%rip),%ymm3,%ymm0        # 34f00 <_sk_srcover_bgra_8888_sse2_lowp+0x6e8>
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  196,193,124,89,200                  ; vmulps        %ymm8,%ymm0,%ymm1
+  DB  196,226,101,0,5,183,1,3,0           ; vpshufb       0x301b7(%rip),%ymm3,%ymm0        # 34f20 <_sk_srcover_bgra_8888_sse2_lowp+0x708>
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  196,193,124,89,192                  ; vmulps        %ymm8,%ymm0,%ymm0
+  DB  197,229,114,211,24                  ; vpsrld        $0x18,%ymm3,%ymm3
+  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
+  DB  196,193,100,89,216                  ; vmulps        %ymm8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  197,229,239,219                     ; vpxor         %ymm3,%ymm3,%ymm3
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,162                             ; ja            4d34 <_sk_load_bgra_hsw+0x1c>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,136,0,0,0                 ; lea           0x88(%rip),%r9        # 4e24 <_sk_load_bgra_hsw+0x10c>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,193,121,110,28,144              ; vmovd         (%r8,%rdx,4),%xmm3
+  DB  235,135                             ; jmp           4d34 <_sk_load_bgra_hsw+0x1c>
+  DB  196,193,121,110,68,144,8            ; vmovd         0x8(%r8,%rdx,4),%xmm0
+  DB  196,226,121,89,192                  ; vpbroadcastq  %xmm0,%xmm0
+  DB  197,245,239,201                     ; vpxor         %ymm1,%ymm1,%ymm1
+  DB  196,227,117,2,216,4                 ; vpblendd      $0x4,%ymm0,%ymm1,%ymm3
+  DB  196,193,122,126,4,144               ; vmovq         (%r8,%rdx,4),%xmm0
+  DB  196,227,101,2,216,3                 ; vpblendd      $0x3,%ymm0,%ymm3,%ymm3
+  DB  233,96,255,255,255                  ; jmpq          4d34 <_sk_load_bgra_hsw+0x1c>
+  DB  196,193,121,110,68,144,24           ; vmovd         0x18(%r8,%rdx,4),%xmm0
+  DB  196,226,125,89,192                  ; vpbroadcastq  %xmm0,%ymm0
+  DB  197,245,239,201                     ; vpxor         %ymm1,%ymm1,%ymm1
+  DB  196,227,117,2,216,64                ; vpblendd      $0x40,%ymm0,%ymm1,%ymm3
+  DB  196,227,125,57,216,1                ; vextracti128  $0x1,%ymm3,%xmm0
+  DB  196,195,121,34,68,144,20,1          ; vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm0,%xmm0
+  DB  196,227,101,56,216,1                ; vinserti128   $0x1,%xmm0,%ymm3,%ymm3
+  DB  196,227,125,57,216,1                ; vextracti128  $0x1,%ymm3,%xmm0
+  DB  196,195,121,34,68,144,16,0          ; vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm0,%xmm0
+  DB  196,227,101,56,216,1                ; vinserti128   $0x1,%xmm0,%ymm3,%ymm3
+  DB  196,193,122,111,4,144               ; vmovdqu       (%r8,%rdx,4),%xmm0
+  DB  196,227,125,2,219,240               ; vpblendd      $0xf0,%ymm3,%ymm0,%ymm3
+  DB  233,17,255,255,255                  ; jmpq          4d34 <_sk_load_bgra_hsw+0x1c>
+  DB  144                                 ; nop
+  DB  129,255,255,255,159,255             ; cmp           $0xff9fffff,%edi
+  DB  255                                 ; (bad)
+  DB  255,137,255,255,255,238             ; decl          -0x11000001(%rcx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  218,255                             ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,198                             ; inc           %esi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+  DB  176,255                             ; mov           $0xff,%al
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_bgra_dst_hsw
+_sk_load_bgra_dst_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,86                              ; jne           4eac <_sk_load_bgra_dst_hsw+0x6c>
+  DB  196,193,126,111,60,144              ; vmovdqu       (%r8,%rdx,4),%ymm7
+  DB  197,197,219,37,220,0,3,0            ; vpand         0x300dc(%rip),%ymm7,%ymm4        # 34f40 <_sk_srcover_bgra_8888_sse2_lowp+0x728>
+  DB  197,252,91,228                      ; vcvtdq2ps     %ymm4,%ymm4
+  DB  196,98,125,24,5,207,252,2,0         ; vbroadcastss  0x2fccf(%rip),%ymm8        # 34b40 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  DB  196,193,92,89,240                   ; vmulps        %ymm8,%ymm4,%ymm6
+  DB  196,226,69,0,37,225,0,3,0           ; vpshufb       0x300e1(%rip),%ymm7,%ymm4        # 34f60 <_sk_srcover_bgra_8888_sse2_lowp+0x748>
+  DB  197,252,91,228                      ; vcvtdq2ps     %ymm4,%ymm4
+  DB  196,193,92,89,232                   ; vmulps        %ymm8,%ymm4,%ymm5
+  DB  196,226,69,0,37,239,0,3,0           ; vpshufb       0x300ef(%rip),%ymm7,%ymm4        # 34f80 <_sk_srcover_bgra_8888_sse2_lowp+0x768>
+  DB  197,252,91,228                      ; vcvtdq2ps     %ymm4,%ymm4
+  DB  196,193,92,89,224                   ; vmulps        %ymm8,%ymm4,%ymm4
+  DB  197,197,114,215,24                  ; vpsrld        $0x18,%ymm7,%ymm7
+  DB  197,252,91,255                      ; vcvtdq2ps     %ymm7,%ymm7
+  DB  196,193,68,89,248                   ; vmulps        %ymm8,%ymm7,%ymm7
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  197,197,239,255                     ; vpxor         %ymm7,%ymm7,%ymm7
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,162                             ; ja            4e5c <_sk_load_bgra_dst_hsw+0x1c>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,136,0,0,0                 ; lea           0x88(%rip),%r9        # 4f4c <_sk_load_bgra_dst_hsw+0x10c>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,193,121,110,60,144              ; vmovd         (%r8,%rdx,4),%xmm7
+  DB  235,135                             ; jmp           4e5c <_sk_load_bgra_dst_hsw+0x1c>
+  DB  196,193,121,110,100,144,8           ; vmovd         0x8(%r8,%rdx,4),%xmm4
+  DB  196,226,121,89,228                  ; vpbroadcastq  %xmm4,%xmm4
+  DB  197,213,239,237                     ; vpxor         %ymm5,%ymm5,%ymm5
+  DB  196,227,85,2,252,4                  ; vpblendd      $0x4,%ymm4,%ymm5,%ymm7
+  DB  196,193,122,126,36,144              ; vmovq         (%r8,%rdx,4),%xmm4
+  DB  196,227,69,2,252,3                  ; vpblendd      $0x3,%ymm4,%ymm7,%ymm7
+  DB  233,96,255,255,255                  ; jmpq          4e5c <_sk_load_bgra_dst_hsw+0x1c>
+  DB  196,193,121,110,100,144,24          ; vmovd         0x18(%r8,%rdx,4),%xmm4
+  DB  196,226,125,89,228                  ; vpbroadcastq  %xmm4,%ymm4
+  DB  197,213,239,237                     ; vpxor         %ymm5,%ymm5,%ymm5
+  DB  196,227,85,2,252,64                 ; vpblendd      $0x40,%ymm4,%ymm5,%ymm7
+  DB  196,227,125,57,252,1                ; vextracti128  $0x1,%ymm7,%xmm4
+  DB  196,195,89,34,100,144,20,1          ; vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm4,%xmm4
+  DB  196,227,69,56,252,1                 ; vinserti128   $0x1,%xmm4,%ymm7,%ymm7
+  DB  196,227,125,57,252,1                ; vextracti128  $0x1,%ymm7,%xmm4
+  DB  196,195,89,34,100,144,16,0          ; vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm4,%xmm4
+  DB  196,227,69,56,252,1                 ; vinserti128   $0x1,%xmm4,%ymm7,%ymm7
+  DB  196,193,122,111,36,144              ; vmovdqu       (%r8,%rdx,4),%xmm4
+  DB  196,227,93,2,255,240                ; vpblendd      $0xf0,%ymm7,%ymm4,%ymm7
+  DB  233,17,255,255,255                  ; jmpq          4e5c <_sk_load_bgra_dst_hsw+0x1c>
+  DB  144                                 ; nop
+  DB  129,255,255,255,159,255             ; cmp           $0xff9fffff,%edi
+  DB  255                                 ; (bad)
+  DB  255,137,255,255,255,238             ; decl          -0x11000001(%rcx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  218,255                             ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,198                             ; inc           %esi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+  DB  176,255                             ; mov           $0xff,%al
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_gather_bgra_hsw
+_sk_gather_bgra_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,88,80,12                ; vpbroadcastd  0xc(%rax),%ymm2
+  DB  197,229,118,219                     ; vpcmpeqd      %ymm3,%ymm3,%ymm3
+  DB  197,237,254,211                     ; vpaddd        %ymm3,%ymm2,%ymm2
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,188,95,192                      ; vmaxps        %ymm0,%ymm8,%ymm0
+  DB  197,252,93,194                      ; vminps        %ymm2,%ymm0,%ymm0
+  DB  196,226,125,88,80,16                ; vpbroadcastd  0x10(%rax),%ymm2
+  DB  197,237,254,211                     ; vpaddd        %ymm3,%ymm2,%ymm2
+  DB  197,188,95,201                      ; vmaxps        %ymm1,%ymm8,%ymm1
+  DB  197,244,93,202                      ; vminps        %ymm2,%ymm1,%ymm1
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  197,254,91,201                      ; vcvttps2dq    %ymm1,%ymm1
+  DB  196,226,125,88,80,8                 ; vpbroadcastd  0x8(%rax),%ymm2
+  DB  196,226,109,64,201                  ; vpmulld       %ymm1,%ymm2,%ymm1
+  DB  197,254,91,192                      ; vcvttps2dq    %ymm0,%ymm0
+  DB  197,245,254,192                     ; vpaddd        %ymm0,%ymm1,%ymm0
+  DB  196,66,101,144,4,128                ; vpgatherdd    %ymm3,(%r8,%ymm0,4),%ymm8
+  DB  197,189,219,5,225,255,2,0           ; vpand         0x2ffe1(%rip),%ymm8,%ymm0        # 34fa0 <_sk_srcover_bgra_8888_sse2_lowp+0x788>
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  196,226,125,24,29,116,251,2,0       ; vbroadcastss  0x2fb74(%rip),%ymm3        # 34b40 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  DB  197,252,89,211                      ; vmulps        %ymm3,%ymm0,%ymm2
+  DB  196,226,61,0,5,231,255,2,0          ; vpshufb       0x2ffe7(%rip),%ymm8,%ymm0        # 34fc0 <_sk_srcover_bgra_8888_sse2_lowp+0x7a8>
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  197,252,89,203                      ; vmulps        %ymm3,%ymm0,%ymm1
+  DB  196,226,61,0,5,246,255,2,0          ; vpshufb       0x2fff6(%rip),%ymm8,%ymm0        # 34fe0 <_sk_srcover_bgra_8888_sse2_lowp+0x7c8>
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  197,252,89,195                      ; vmulps        %ymm3,%ymm0,%ymm0
+  DB  196,193,61,114,208,24               ; vpsrld        $0x18,%ymm8,%ymm8
+  DB  196,65,124,91,192                   ; vcvtdq2ps     %ymm8,%ymm8
+  DB  197,188,89,219                      ; vmulps        %ymm3,%ymm8,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_store_bgra_hsw
+_sk_store_bgra_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,60,95,202                       ; vmaxps        %ymm2,%ymm8,%ymm9
+  DB  196,98,125,24,21,160,250,2,0        ; vbroadcastss  0x2faa0(%rip),%ymm10        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,65,52,93,202                    ; vminps        %ymm10,%ymm9,%ymm9
+  DB  196,98,125,24,29,190,250,2,0        ; vbroadcastss  0x2fabe(%rip),%ymm11        # 34af4 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  DB  196,65,52,89,203                    ; vmulps        %ymm11,%ymm9,%ymm9
+  DB  196,65,125,91,201                   ; vcvtps2dq     %ymm9,%ymm9
+  DB  197,60,95,225                       ; vmaxps        %ymm1,%ymm8,%ymm12
+  DB  196,65,28,93,226                    ; vminps        %ymm10,%ymm12,%ymm12
+  DB  196,65,28,89,227                    ; vmulps        %ymm11,%ymm12,%ymm12
+  DB  196,65,125,91,228                   ; vcvtps2dq     %ymm12,%ymm12
+  DB  196,193,29,114,244,8                ; vpslld        $0x8,%ymm12,%ymm12
+  DB  196,65,29,235,201                   ; vpor          %ymm9,%ymm12,%ymm9
+  DB  197,60,95,224                       ; vmaxps        %ymm0,%ymm8,%ymm12
+  DB  196,65,28,93,226                    ; vminps        %ymm10,%ymm12,%ymm12
+  DB  196,65,28,89,227                    ; vmulps        %ymm11,%ymm12,%ymm12
+  DB  196,65,125,91,228                   ; vcvtps2dq     %ymm12,%ymm12
+  DB  196,193,29,114,244,16               ; vpslld        $0x10,%ymm12,%ymm12
+  DB  197,60,95,195                       ; vmaxps        %ymm3,%ymm8,%ymm8
+  DB  196,65,60,93,194                    ; vminps        %ymm10,%ymm8,%ymm8
+  DB  196,65,60,89,195                    ; vmulps        %ymm11,%ymm8,%ymm8
+  DB  196,65,125,91,192                   ; vcvtps2dq     %ymm8,%ymm8
+  DB  196,193,61,114,240,24               ; vpslld        $0x18,%ymm8,%ymm8
+  DB  196,65,29,235,192                   ; vpor          %ymm8,%ymm12,%ymm8
+  DB  196,65,53,235,192                   ; vpor          %ymm8,%ymm9,%ymm8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,10                              ; jne           50a9 <_sk_store_bgra_hsw+0xa4>
+  DB  196,65,126,127,4,144                ; vmovdqu       %ymm8,(%r8,%rdx,4)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,242                             ; ja            50a5 <_sk_store_bgra_hsw+0xa0>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,83,0,0,0                  ; lea           0x53(%rip),%r9        # 5110 <_sk_store_bgra_hsw+0x10b>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,65,121,126,4,144                ; vmovd         %xmm8,(%r8,%rdx,4)
+  DB  235,215                             ; jmp           50a5 <_sk_store_bgra_hsw+0xa0>
+  DB  196,67,121,22,68,144,8,2            ; vpextrd       $0x2,%xmm8,0x8(%r8,%rdx,4)
+  DB  196,65,121,214,4,144                ; vmovq         %xmm8,(%r8,%rdx,4)
+  DB  235,199                             ; jmp           50a5 <_sk_store_bgra_hsw+0xa0>
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,67,121,22,76,144,24,2           ; vpextrd       $0x2,%xmm9,0x18(%r8,%rdx,4)
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,67,121,22,76,144,20,1           ; vpextrd       $0x1,%xmm9,0x14(%r8,%rdx,4)
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,65,121,126,76,144,16            ; vmovd         %xmm9,0x10(%r8,%rdx,4)
+  DB  196,65,122,127,4,144                ; vmovdqu       %xmm8,(%r8,%rdx,4)
+  DB  235,150                             ; jmp           50a5 <_sk_store_bgra_hsw+0xa0>
+  DB  144                                 ; nop
+  DB  182,255                             ; mov           $0xff,%dh
+  DB  255                                 ; (bad)
+  DB  255,198                             ; inc           %esi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  190,255,255,255,247                 ; mov           $0xf7ffffff,%esi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  234                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  220,255                             ; fdivr         %st,%st(7)
+  DB  255                                 ; (bad)
+  DB  255,206                             ; dec           %esi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_1010102_hsw
+_sk_load_1010102_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,100                             ; jne           51a6 <_sk_load_1010102_hsw+0x7a>
+  DB  196,193,126,111,28,144              ; vmovdqu       (%r8,%rdx,4),%ymm3
+  DB  196,226,125,88,21,147,250,2,0       ; vpbroadcastd  0x2fa93(%rip),%ymm2        # 34be4 <_sk_srcover_bgra_8888_sse2_lowp+0x3cc>
+  DB  197,229,219,194                     ; vpand         %ymm2,%ymm3,%ymm0
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  196,98,125,24,5,134,250,2,0         ; vbroadcastss  0x2fa86(%rip),%ymm8        # 34be8 <_sk_srcover_bgra_8888_sse2_lowp+0x3d0>
+  DB  196,193,124,89,192                  ; vmulps        %ymm8,%ymm0,%ymm0
+  DB  197,245,114,211,10                  ; vpsrld        $0xa,%ymm3,%ymm1
+  DB  197,245,219,202                     ; vpand         %ymm2,%ymm1,%ymm1
+  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
+  DB  196,193,116,89,200                  ; vmulps        %ymm8,%ymm1,%ymm1
+  DB  197,181,114,211,20                  ; vpsrld        $0x14,%ymm3,%ymm9
+  DB  197,181,219,210                     ; vpand         %ymm2,%ymm9,%ymm2
+  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
+  DB  196,193,108,89,208                  ; vmulps        %ymm8,%ymm2,%ymm2
+  DB  197,229,114,211,30                  ; vpsrld        $0x1e,%ymm3,%ymm3
+  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
+  DB  196,98,125,24,5,151,249,2,0         ; vbroadcastss  0x2f997(%rip),%ymm8        # 34b34 <_sk_srcover_bgra_8888_sse2_lowp+0x31c>
+  DB  196,193,100,89,216                  ; vmulps        %ymm8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  197,229,239,219                     ; vpxor         %ymm3,%ymm3,%ymm3
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,148                             ; ja            5148 <_sk_load_1010102_hsw+0x1c>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,138,0,0,0                 ; lea           0x8a(%rip),%r9        # 5248 <_sk_load_1010102_hsw+0x11c>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,193,121,110,28,144              ; vmovd         (%r8,%rdx,4),%xmm3
+  DB  233,118,255,255,255                 ; jmpq          5148 <_sk_load_1010102_hsw+0x1c>
+  DB  196,193,121,110,68,144,8            ; vmovd         0x8(%r8,%rdx,4),%xmm0
+  DB  196,226,121,89,192                  ; vpbroadcastq  %xmm0,%xmm0
+  DB  197,245,239,201                     ; vpxor         %ymm1,%ymm1,%ymm1
+  DB  196,227,117,2,216,4                 ; vpblendd      $0x4,%ymm0,%ymm1,%ymm3
+  DB  196,193,122,126,4,144               ; vmovq         (%r8,%rdx,4),%xmm0
+  DB  196,227,101,2,216,3                 ; vpblendd      $0x3,%ymm0,%ymm3,%ymm3
+  DB  233,79,255,255,255                  ; jmpq          5148 <_sk_load_1010102_hsw+0x1c>
+  DB  196,193,121,110,68,144,24           ; vmovd         0x18(%r8,%rdx,4),%xmm0
+  DB  196,226,125,89,192                  ; vpbroadcastq  %xmm0,%ymm0
+  DB  197,245,239,201                     ; vpxor         %ymm1,%ymm1,%ymm1
+  DB  196,227,117,2,216,64                ; vpblendd      $0x40,%ymm0,%ymm1,%ymm3
+  DB  196,227,125,57,216,1                ; vextracti128  $0x1,%ymm3,%xmm0
+  DB  196,195,121,34,68,144,20,1          ; vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm0,%xmm0
+  DB  196,227,101,56,216,1                ; vinserti128   $0x1,%xmm0,%ymm3,%ymm3
+  DB  196,227,125,57,216,1                ; vextracti128  $0x1,%ymm3,%xmm0
+  DB  196,195,121,34,68,144,16,0          ; vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm0,%xmm0
+  DB  196,227,101,56,216,1                ; vinserti128   $0x1,%xmm0,%ymm3,%ymm3
+  DB  196,193,122,111,4,144               ; vmovdqu       (%r8,%rdx,4),%xmm0
+  DB  196,227,125,2,219,240               ; vpblendd      $0xf0,%ymm3,%ymm0,%ymm3
+  DB  233,0,255,255,255                   ; jmpq          5148 <_sk_load_1010102_hsw+0x1c>
+  DB  127,255                             ; jg            5249 <_sk_load_1010102_hsw+0x11d>
+  DB  255                                 ; (bad)
+  DB  255,160,255,255,255,138             ; jmpq          *-0x75000001(%rax)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  239                                 ; out           %eax,(%dx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  219,255                             ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,199                             ; inc           %edi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+  DB  177,255                             ; mov           $0xff,%cl
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_1010102_dst_hsw
+_sk_load_1010102_dst_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,100                             ; jne           52de <_sk_load_1010102_dst_hsw+0x7a>
+  DB  196,193,126,111,60,144              ; vmovdqu       (%r8,%rdx,4),%ymm7
+  DB  196,226,125,88,53,91,249,2,0        ; vpbroadcastd  0x2f95b(%rip),%ymm6        # 34be4 <_sk_srcover_bgra_8888_sse2_lowp+0x3cc>
+  DB  197,197,219,230                     ; vpand         %ymm6,%ymm7,%ymm4
+  DB  197,252,91,228                      ; vcvtdq2ps     %ymm4,%ymm4
+  DB  196,98,125,24,5,78,249,2,0          ; vbroadcastss  0x2f94e(%rip),%ymm8        # 34be8 <_sk_srcover_bgra_8888_sse2_lowp+0x3d0>
+  DB  196,193,92,89,224                   ; vmulps        %ymm8,%ymm4,%ymm4
+  DB  197,213,114,215,10                  ; vpsrld        $0xa,%ymm7,%ymm5
+  DB  197,213,219,238                     ; vpand         %ymm6,%ymm5,%ymm5
+  DB  197,252,91,237                      ; vcvtdq2ps     %ymm5,%ymm5
+  DB  196,193,84,89,232                   ; vmulps        %ymm8,%ymm5,%ymm5
+  DB  197,181,114,215,20                  ; vpsrld        $0x14,%ymm7,%ymm9
+  DB  197,181,219,246                     ; vpand         %ymm6,%ymm9,%ymm6
+  DB  197,252,91,246                      ; vcvtdq2ps     %ymm6,%ymm6
+  DB  196,193,76,89,240                   ; vmulps        %ymm8,%ymm6,%ymm6
+  DB  197,197,114,215,30                  ; vpsrld        $0x1e,%ymm7,%ymm7
+  DB  197,252,91,255                      ; vcvtdq2ps     %ymm7,%ymm7
+  DB  196,98,125,24,5,95,248,2,0          ; vbroadcastss  0x2f85f(%rip),%ymm8        # 34b34 <_sk_srcover_bgra_8888_sse2_lowp+0x31c>
+  DB  196,193,68,89,248                   ; vmulps        %ymm8,%ymm7,%ymm7
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  197,197,239,255                     ; vpxor         %ymm7,%ymm7,%ymm7
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,148                             ; ja            5280 <_sk_load_1010102_dst_hsw+0x1c>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,138,0,0,0                 ; lea           0x8a(%rip),%r9        # 5380 <_sk_load_1010102_dst_hsw+0x11c>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,193,121,110,60,144              ; vmovd         (%r8,%rdx,4),%xmm7
+  DB  233,118,255,255,255                 ; jmpq          5280 <_sk_load_1010102_dst_hsw+0x1c>
+  DB  196,193,121,110,100,144,8           ; vmovd         0x8(%r8,%rdx,4),%xmm4
+  DB  196,226,121,89,228                  ; vpbroadcastq  %xmm4,%xmm4
+  DB  197,213,239,237                     ; vpxor         %ymm5,%ymm5,%ymm5
+  DB  196,227,85,2,252,4                  ; vpblendd      $0x4,%ymm4,%ymm5,%ymm7
+  DB  196,193,122,126,36,144              ; vmovq         (%r8,%rdx,4),%xmm4
+  DB  196,227,69,2,252,3                  ; vpblendd      $0x3,%ymm4,%ymm7,%ymm7
+  DB  233,79,255,255,255                  ; jmpq          5280 <_sk_load_1010102_dst_hsw+0x1c>
+  DB  196,193,121,110,100,144,24          ; vmovd         0x18(%r8,%rdx,4),%xmm4
+  DB  196,226,125,89,228                  ; vpbroadcastq  %xmm4,%ymm4
+  DB  197,213,239,237                     ; vpxor         %ymm5,%ymm5,%ymm5
+  DB  196,227,85,2,252,64                 ; vpblendd      $0x40,%ymm4,%ymm5,%ymm7
+  DB  196,227,125,57,252,1                ; vextracti128  $0x1,%ymm7,%xmm4
+  DB  196,195,89,34,100,144,20,1          ; vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm4,%xmm4
+  DB  196,227,69,56,252,1                 ; vinserti128   $0x1,%xmm4,%ymm7,%ymm7
+  DB  196,227,125,57,252,1                ; vextracti128  $0x1,%ymm7,%xmm4
+  DB  196,195,89,34,100,144,16,0          ; vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm4,%xmm4
+  DB  196,227,69,56,252,1                 ; vinserti128   $0x1,%xmm4,%ymm7,%ymm7
+  DB  196,193,122,111,36,144              ; vmovdqu       (%r8,%rdx,4),%xmm4
+  DB  196,227,93,2,255,240                ; vpblendd      $0xf0,%ymm7,%ymm4,%ymm7
+  DB  233,0,255,255,255                   ; jmpq          5280 <_sk_load_1010102_dst_hsw+0x1c>
+  DB  127,255                             ; jg            5381 <_sk_load_1010102_dst_hsw+0x11d>
+  DB  255                                 ; (bad)
+  DB  255,160,255,255,255,138             ; jmpq          *-0x75000001(%rax)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  239                                 ; out           %eax,(%dx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  219,255                             ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,199                             ; inc           %edi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+  DB  177,255                             ; mov           $0xff,%cl
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_gather_1010102_hsw
+_sk_gather_1010102_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,88,80,12                ; vpbroadcastd  0xc(%rax),%ymm2
+  DB  197,229,118,219                     ; vpcmpeqd      %ymm3,%ymm3,%ymm3
+  DB  197,237,254,211                     ; vpaddd        %ymm3,%ymm2,%ymm2
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,188,95,192                      ; vmaxps        %ymm0,%ymm8,%ymm0
+  DB  197,252,93,194                      ; vminps        %ymm2,%ymm0,%ymm0
+  DB  196,226,125,88,80,16                ; vpbroadcastd  0x10(%rax),%ymm2
+  DB  197,237,254,211                     ; vpaddd        %ymm3,%ymm2,%ymm2
+  DB  197,188,95,201                      ; vmaxps        %ymm1,%ymm8,%ymm1
+  DB  197,244,93,202                      ; vminps        %ymm2,%ymm1,%ymm1
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  197,254,91,201                      ; vcvttps2dq    %ymm1,%ymm1
+  DB  196,226,125,88,80,8                 ; vpbroadcastd  0x8(%rax),%ymm2
+  DB  196,226,109,64,201                  ; vpmulld       %ymm1,%ymm2,%ymm1
+  DB  197,254,91,192                      ; vcvttps2dq    %ymm0,%ymm0
+  DB  197,245,254,192                     ; vpaddd        %ymm0,%ymm1,%ymm0
+  DB  196,66,101,144,4,128                ; vpgatherdd    %ymm3,(%r8,%ymm0,4),%ymm8
+  DB  196,226,125,88,21,240,247,2,0       ; vpbroadcastd  0x2f7f0(%rip),%ymm2        # 34be4 <_sk_srcover_bgra_8888_sse2_lowp+0x3cc>
+  DB  197,189,219,194                     ; vpand         %ymm2,%ymm8,%ymm0
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  196,226,125,24,29,227,247,2,0       ; vbroadcastss  0x2f7e3(%rip),%ymm3        # 34be8 <_sk_srcover_bgra_8888_sse2_lowp+0x3d0>
+  DB  197,252,89,195                      ; vmulps        %ymm3,%ymm0,%ymm0
+  DB  196,193,117,114,208,10              ; vpsrld        $0xa,%ymm8,%ymm1
+  DB  197,245,219,202                     ; vpand         %ymm2,%ymm1,%ymm1
+  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
+  DB  197,244,89,203                      ; vmulps        %ymm3,%ymm1,%ymm1
+  DB  196,193,53,114,208,20               ; vpsrld        $0x14,%ymm8,%ymm9
+  DB  197,181,219,210                     ; vpand         %ymm2,%ymm9,%ymm2
+  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
+  DB  197,236,89,211                      ; vmulps        %ymm3,%ymm2,%ymm2
+  DB  196,193,101,114,208,30              ; vpsrld        $0x1e,%ymm8,%ymm3
+  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
+  DB  196,98,125,24,5,244,246,2,0         ; vbroadcastss  0x2f6f4(%rip),%ymm8        # 34b34 <_sk_srcover_bgra_8888_sse2_lowp+0x31c>
+  DB  196,193,100,89,216                  ; vmulps        %ymm8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_store_1010102_hsw
+_sk_store_1010102_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,60,95,200                       ; vmaxps        %ymm0,%ymm8,%ymm9
+  DB  196,98,125,24,21,92,246,2,0         ; vbroadcastss  0x2f65c(%rip),%ymm10        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,65,52,93,202                    ; vminps        %ymm10,%ymm9,%ymm9
+  DB  196,98,125,24,29,114,247,2,0        ; vbroadcastss  0x2f772(%rip),%ymm11        # 34bec <_sk_srcover_bgra_8888_sse2_lowp+0x3d4>
+  DB  196,65,52,89,203                    ; vmulps        %ymm11,%ymm9,%ymm9
+  DB  196,65,125,91,201                   ; vcvtps2dq     %ymm9,%ymm9
+  DB  197,60,95,225                       ; vmaxps        %ymm1,%ymm8,%ymm12
+  DB  196,65,28,93,226                    ; vminps        %ymm10,%ymm12,%ymm12
+  DB  196,65,28,89,227                    ; vmulps        %ymm11,%ymm12,%ymm12
+  DB  196,65,125,91,228                   ; vcvtps2dq     %ymm12,%ymm12
+  DB  196,193,29,114,244,10               ; vpslld        $0xa,%ymm12,%ymm12
+  DB  196,65,29,235,201                   ; vpor          %ymm9,%ymm12,%ymm9
+  DB  197,60,95,226                       ; vmaxps        %ymm2,%ymm8,%ymm12
+  DB  196,65,28,93,226                    ; vminps        %ymm10,%ymm12,%ymm12
+  DB  196,65,28,89,219                    ; vmulps        %ymm11,%ymm12,%ymm11
+  DB  196,65,125,91,219                   ; vcvtps2dq     %ymm11,%ymm11
+  DB  196,193,37,114,243,20               ; vpslld        $0x14,%ymm11,%ymm11
+  DB  197,60,95,195                       ; vmaxps        %ymm3,%ymm8,%ymm8
+  DB  196,65,60,93,194                    ; vminps        %ymm10,%ymm8,%ymm8
+  DB  196,98,125,24,21,35,247,2,0         ; vbroadcastss  0x2f723(%rip),%ymm10        # 34bf0 <_sk_srcover_bgra_8888_sse2_lowp+0x3d8>
+  DB  196,65,60,89,194                    ; vmulps        %ymm10,%ymm8,%ymm8
+  DB  196,65,125,91,192                   ; vcvtps2dq     %ymm8,%ymm8
+  DB  196,193,61,114,240,30               ; vpslld        $0x1e,%ymm8,%ymm8
+  DB  196,65,37,235,192                   ; vpor          %ymm8,%ymm11,%ymm8
+  DB  196,65,53,235,192                   ; vpor          %ymm8,%ymm9,%ymm8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,10                              ; jne           54f6 <_sk_store_1010102_hsw+0xad>
+  DB  196,65,126,127,4,144                ; vmovdqu       %ymm8,(%r8,%rdx,4)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,242                             ; ja            54f2 <_sk_store_1010102_hsw+0xa9>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,82,0,0,0                  ; lea           0x52(%rip),%r9        # 555c <_sk_store_1010102_hsw+0x113>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,65,121,126,4,144                ; vmovd         %xmm8,(%r8,%rdx,4)
+  DB  235,215                             ; jmp           54f2 <_sk_store_1010102_hsw+0xa9>
+  DB  196,67,121,22,68,144,8,2            ; vpextrd       $0x2,%xmm8,0x8(%r8,%rdx,4)
+  DB  196,65,121,214,4,144                ; vmovq         %xmm8,(%r8,%rdx,4)
+  DB  235,199                             ; jmp           54f2 <_sk_store_1010102_hsw+0xa9>
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,67,121,22,76,144,24,2           ; vpextrd       $0x2,%xmm9,0x18(%r8,%rdx,4)
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,67,121,22,76,144,20,1           ; vpextrd       $0x1,%xmm9,0x14(%r8,%rdx,4)
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,65,121,126,76,144,16            ; vmovd         %xmm9,0x10(%r8,%rdx,4)
+  DB  196,65,122,127,4,144                ; vmovdqu       %xmm8,(%r8,%rdx,4)
+  DB  235,150                             ; jmp           54f2 <_sk_store_1010102_hsw+0xa9>
+  DB  183,255                             ; mov           $0xff,%bh
+  DB  255                                 ; (bad)
+  DB  255,199                             ; inc           %edi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  191,255,255,255,248                 ; mov           $0xf8ffffff,%edi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  235,255                             ; jmp           556d <_sk_store_1010102_hsw+0x124>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  221,255                             ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,207                             ; dec           %edi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_f16_hsw
+_sk_load_f16_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,3                        ; shl           $0x3,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,101                             ; jne           55f3 <_sk_load_f16_hsw+0x7b>
+  DB  196,65,121,16,4,208                 ; vmovupd       (%r8,%rdx,8),%xmm8
+  DB  196,193,121,16,84,208,16            ; vmovupd       0x10(%r8,%rdx,8),%xmm2
+  DB  196,193,121,16,92,208,32            ; vmovupd       0x20(%r8,%rdx,8),%xmm3
+  DB  196,65,122,111,76,208,48            ; vmovdqu       0x30(%r8,%rdx,8),%xmm9
+  DB  197,185,97,194                      ; vpunpcklwd    %xmm2,%xmm8,%xmm0
+  DB  197,185,105,210                     ; vpunpckhwd    %xmm2,%xmm8,%xmm2
+  DB  196,193,97,97,201                   ; vpunpcklwd    %xmm9,%xmm3,%xmm1
+  DB  196,193,97,105,217                  ; vpunpckhwd    %xmm9,%xmm3,%xmm3
+  DB  197,121,97,194                      ; vpunpcklwd    %xmm2,%xmm0,%xmm8
+  DB  197,121,105,202                     ; vpunpckhwd    %xmm2,%xmm0,%xmm9
+  DB  197,241,97,211                      ; vpunpcklwd    %xmm3,%xmm1,%xmm2
+  DB  197,241,105,219                     ; vpunpckhwd    %xmm3,%xmm1,%xmm3
+  DB  197,185,108,194                     ; vpunpcklqdq   %xmm2,%xmm8,%xmm0
+  DB  196,226,125,19,192                  ; vcvtph2ps     %xmm0,%ymm0
+  DB  197,185,109,202                     ; vpunpckhqdq   %xmm2,%xmm8,%xmm1
+  DB  196,226,125,19,201                  ; vcvtph2ps     %xmm1,%ymm1
+  DB  197,177,108,211                     ; vpunpcklqdq   %xmm3,%xmm9,%xmm2
+  DB  196,226,125,19,210                  ; vcvtph2ps     %xmm2,%ymm2
+  DB  197,177,109,219                     ; vpunpckhqdq   %xmm3,%xmm9,%xmm3
+  DB  196,226,125,19,219                  ; vcvtph2ps     %xmm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,65,123,16,4,208                 ; vmovsd        (%r8,%rdx,8),%xmm8
+  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
+  DB  72,131,255,1                        ; cmp           $0x1,%rdi
+  DB  116,85                              ; je            5659 <_sk_load_f16_hsw+0xe1>
+  DB  196,65,57,22,68,208,8               ; vmovhpd       0x8(%r8,%rdx,8),%xmm8,%xmm8
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  114,72                              ; jb            5659 <_sk_load_f16_hsw+0xe1>
+  DB  196,193,123,16,84,208,16            ; vmovsd        0x10(%r8,%rdx,8),%xmm2
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  116,72                              ; je            5666 <_sk_load_f16_hsw+0xee>
+  DB  196,193,105,22,84,208,24            ; vmovhpd       0x18(%r8,%rdx,8),%xmm2,%xmm2
+  DB  72,131,255,5                        ; cmp           $0x5,%rdi
+  DB  114,59                              ; jb            5666 <_sk_load_f16_hsw+0xee>
+  DB  196,193,123,16,92,208,32            ; vmovsd        0x20(%r8,%rdx,8),%xmm3
+  DB  72,131,255,5                        ; cmp           $0x5,%rdi
+  DB  15,132,109,255,255,255              ; je            55a9 <_sk_load_f16_hsw+0x31>
+  DB  196,193,97,22,92,208,40             ; vmovhpd       0x28(%r8,%rdx,8),%xmm3,%xmm3
+  DB  72,131,255,7                        ; cmp           $0x7,%rdi
+  DB  15,130,92,255,255,255               ; jb            55a9 <_sk_load_f16_hsw+0x31>
+  DB  196,65,122,126,76,208,48            ; vmovq         0x30(%r8,%rdx,8),%xmm9
+  DB  233,80,255,255,255                  ; jmpq          55a9 <_sk_load_f16_hsw+0x31>
+  DB  197,225,87,219                      ; vxorpd        %xmm3,%xmm3,%xmm3
+  DB  197,233,87,210                      ; vxorpd        %xmm2,%xmm2,%xmm2
+  DB  233,67,255,255,255                  ; jmpq          55a9 <_sk_load_f16_hsw+0x31>
+  DB  197,225,87,219                      ; vxorpd        %xmm3,%xmm3,%xmm3
+  DB  233,58,255,255,255                  ; jmpq          55a9 <_sk_load_f16_hsw+0x31>
+
+PUBLIC _sk_load_f16_dst_hsw
+_sk_load_f16_dst_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,3                        ; shl           $0x3,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,101                             ; jne           56ea <_sk_load_f16_dst_hsw+0x7b>
+  DB  196,65,121,16,4,208                 ; vmovupd       (%r8,%rdx,8),%xmm8
+  DB  196,193,121,16,116,208,16           ; vmovupd       0x10(%r8,%rdx,8),%xmm6
+  DB  196,193,121,16,124,208,32           ; vmovupd       0x20(%r8,%rdx,8),%xmm7
+  DB  196,65,122,111,76,208,48            ; vmovdqu       0x30(%r8,%rdx,8),%xmm9
+  DB  197,185,97,230                      ; vpunpcklwd    %xmm6,%xmm8,%xmm4
+  DB  197,185,105,246                     ; vpunpckhwd    %xmm6,%xmm8,%xmm6
+  DB  196,193,65,97,233                   ; vpunpcklwd    %xmm9,%xmm7,%xmm5
+  DB  196,193,65,105,249                  ; vpunpckhwd    %xmm9,%xmm7,%xmm7
+  DB  197,89,97,198                       ; vpunpcklwd    %xmm6,%xmm4,%xmm8
+  DB  197,89,105,206                      ; vpunpckhwd    %xmm6,%xmm4,%xmm9
+  DB  197,209,97,247                      ; vpunpcklwd    %xmm7,%xmm5,%xmm6
+  DB  197,209,105,255                     ; vpunpckhwd    %xmm7,%xmm5,%xmm7
+  DB  197,185,108,230                     ; vpunpcklqdq   %xmm6,%xmm8,%xmm4
+  DB  196,226,125,19,228                  ; vcvtph2ps     %xmm4,%ymm4
+  DB  197,185,109,238                     ; vpunpckhqdq   %xmm6,%xmm8,%xmm5
+  DB  196,226,125,19,237                  ; vcvtph2ps     %xmm5,%ymm5
+  DB  197,177,108,247                     ; vpunpcklqdq   %xmm7,%xmm9,%xmm6
+  DB  196,226,125,19,246                  ; vcvtph2ps     %xmm6,%ymm6
+  DB  197,177,109,255                     ; vpunpckhqdq   %xmm7,%xmm9,%xmm7
+  DB  196,226,125,19,255                  ; vcvtph2ps     %xmm7,%ymm7
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,65,123,16,4,208                 ; vmovsd        (%r8,%rdx,8),%xmm8
+  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
+  DB  72,131,255,1                        ; cmp           $0x1,%rdi
+  DB  116,85                              ; je            5750 <_sk_load_f16_dst_hsw+0xe1>
+  DB  196,65,57,22,68,208,8               ; vmovhpd       0x8(%r8,%rdx,8),%xmm8,%xmm8
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  114,72                              ; jb            5750 <_sk_load_f16_dst_hsw+0xe1>
+  DB  196,193,123,16,116,208,16           ; vmovsd        0x10(%r8,%rdx,8),%xmm6
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  116,72                              ; je            575d <_sk_load_f16_dst_hsw+0xee>
+  DB  196,193,73,22,116,208,24            ; vmovhpd       0x18(%r8,%rdx,8),%xmm6,%xmm6
+  DB  72,131,255,5                        ; cmp           $0x5,%rdi
+  DB  114,59                              ; jb            575d <_sk_load_f16_dst_hsw+0xee>
+  DB  196,193,123,16,124,208,32           ; vmovsd        0x20(%r8,%rdx,8),%xmm7
+  DB  72,131,255,5                        ; cmp           $0x5,%rdi
+  DB  15,132,109,255,255,255              ; je            56a0 <_sk_load_f16_dst_hsw+0x31>
+  DB  196,193,65,22,124,208,40            ; vmovhpd       0x28(%r8,%rdx,8),%xmm7,%xmm7
+  DB  72,131,255,7                        ; cmp           $0x7,%rdi
+  DB  15,130,92,255,255,255               ; jb            56a0 <_sk_load_f16_dst_hsw+0x31>
+  DB  196,65,122,126,76,208,48            ; vmovq         0x30(%r8,%rdx,8),%xmm9
+  DB  233,80,255,255,255                  ; jmpq          56a0 <_sk_load_f16_dst_hsw+0x31>
+  DB  197,193,87,255                      ; vxorpd        %xmm7,%xmm7,%xmm7
+  DB  197,201,87,246                      ; vxorpd        %xmm6,%xmm6,%xmm6
+  DB  233,67,255,255,255                  ; jmpq          56a0 <_sk_load_f16_dst_hsw+0x31>
+  DB  197,193,87,255                      ; vxorpd        %xmm7,%xmm7,%xmm7
+  DB  233,58,255,255,255                  ; jmpq          56a0 <_sk_load_f16_dst_hsw+0x31>
+
+PUBLIC _sk_gather_f16_hsw
+_sk_gather_f16_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,88,80,12                ; vpbroadcastd  0xc(%rax),%ymm2
+  DB  197,229,118,219                     ; vpcmpeqd      %ymm3,%ymm3,%ymm3
+  DB  197,237,254,211                     ; vpaddd        %ymm3,%ymm2,%ymm2
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,188,95,192                      ; vmaxps        %ymm0,%ymm8,%ymm0
+  DB  197,252,93,194                      ; vminps        %ymm2,%ymm0,%ymm0
+  DB  196,226,125,88,80,16                ; vpbroadcastd  0x10(%rax),%ymm2
+  DB  197,237,254,211                     ; vpaddd        %ymm3,%ymm2,%ymm2
+  DB  197,188,95,201                      ; vmaxps        %ymm1,%ymm8,%ymm1
+  DB  197,244,93,202                      ; vminps        %ymm2,%ymm1,%ymm1
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  197,254,91,201                      ; vcvttps2dq    %ymm1,%ymm1
+  DB  196,226,125,88,80,8                 ; vpbroadcastd  0x8(%rax),%ymm2
+  DB  196,226,109,64,201                  ; vpmulld       %ymm1,%ymm2,%ymm1
+  DB  197,254,91,192                      ; vcvttps2dq    %ymm0,%ymm0
+  DB  197,245,254,192                     ; vpaddd        %ymm0,%ymm1,%ymm0
+  DB  197,245,118,201                     ; vpcmpeqd      %ymm1,%ymm1,%ymm1
+  DB  197,237,239,210                     ; vpxor         %ymm2,%ymm2,%ymm2
+  DB  196,194,245,144,20,192              ; vpgatherdq    %ymm1,(%r8,%xmm0,8),%ymm2
+  DB  196,227,125,57,192,1                ; vextracti128  $0x1,%ymm0,%xmm0
+  DB  196,66,229,144,4,192                ; vpgatherdq    %ymm3,(%r8,%xmm0,8),%ymm8
+  DB  196,227,125,57,208,1                ; vextracti128  $0x1,%ymm2,%xmm0
+  DB  196,99,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm1
+  DB  197,233,97,216                      ; vpunpcklwd    %xmm0,%xmm2,%xmm3
+  DB  197,233,105,192                     ; vpunpckhwd    %xmm0,%xmm2,%xmm0
+  DB  197,185,97,209                      ; vpunpcklwd    %xmm1,%xmm8,%xmm2
+  DB  197,185,105,201                     ; vpunpckhwd    %xmm1,%xmm8,%xmm1
+  DB  197,97,97,192                       ; vpunpcklwd    %xmm0,%xmm3,%xmm8
+  DB  197,97,105,200                      ; vpunpckhwd    %xmm0,%xmm3,%xmm9
+  DB  197,233,97,217                      ; vpunpcklwd    %xmm1,%xmm2,%xmm3
+  DB  197,105,105,209                     ; vpunpckhwd    %xmm1,%xmm2,%xmm10
+  DB  197,185,108,195                     ; vpunpcklqdq   %xmm3,%xmm8,%xmm0
+  DB  196,226,125,19,192                  ; vcvtph2ps     %xmm0,%ymm0
+  DB  197,185,109,203                     ; vpunpckhqdq   %xmm3,%xmm8,%xmm1
+  DB  196,226,125,19,201                  ; vcvtph2ps     %xmm1,%ymm1
+  DB  196,193,49,108,210                  ; vpunpcklqdq   %xmm10,%xmm9,%xmm2
+  DB  196,226,125,19,210                  ; vcvtph2ps     %xmm2,%ymm2
+  DB  196,193,49,109,218                  ; vpunpckhqdq   %xmm10,%xmm9,%xmm3
+  DB  196,226,125,19,219                  ; vcvtph2ps     %xmm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_store_f16_hsw
+_sk_store_f16_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,3                        ; shl           $0x3,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  196,195,125,29,192,4                ; vcvtps2ph     $0x4,%ymm0,%xmm8
+  DB  196,195,125,29,201,4                ; vcvtps2ph     $0x4,%ymm1,%xmm9
+  DB  196,195,125,29,210,4                ; vcvtps2ph     $0x4,%ymm2,%xmm10
+  DB  196,195,125,29,219,4                ; vcvtps2ph     $0x4,%ymm3,%xmm11
+  DB  196,65,57,97,225                    ; vpunpcklwd    %xmm9,%xmm8,%xmm12
+  DB  196,65,57,105,193                   ; vpunpckhwd    %xmm9,%xmm8,%xmm8
+  DB  196,65,41,97,203                    ; vpunpcklwd    %xmm11,%xmm10,%xmm9
+  DB  196,65,41,105,235                   ; vpunpckhwd    %xmm11,%xmm10,%xmm13
+  DB  196,65,25,98,217                    ; vpunpckldq    %xmm9,%xmm12,%xmm11
+  DB  196,65,25,106,209                   ; vpunpckhdq    %xmm9,%xmm12,%xmm10
+  DB  196,65,57,98,205                    ; vpunpckldq    %xmm13,%xmm8,%xmm9
+  DB  196,65,57,106,197                   ; vpunpckhdq    %xmm13,%xmm8,%xmm8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,31                              ; jne           5894 <_sk_store_f16_hsw+0x75>
+  DB  196,65,122,127,28,208               ; vmovdqu       %xmm11,(%r8,%rdx,8)
+  DB  196,65,122,127,84,208,16            ; vmovdqu       %xmm10,0x10(%r8,%rdx,8)
+  DB  196,65,122,127,76,208,32            ; vmovdqu       %xmm9,0x20(%r8,%rdx,8)
+  DB  196,65,122,127,68,208,48            ; vmovdqu       %xmm8,0x30(%r8,%rdx,8)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,65,121,214,28,208               ; vmovq         %xmm11,(%r8,%rdx,8)
+  DB  72,131,255,1                        ; cmp           $0x1,%rdi
+  DB  116,240                             ; je            5890 <_sk_store_f16_hsw+0x71>
+  DB  196,65,121,23,92,208,8              ; vmovhpd       %xmm11,0x8(%r8,%rdx,8)
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  114,227                             ; jb            5890 <_sk_store_f16_hsw+0x71>
+  DB  196,65,121,214,84,208,16            ; vmovq         %xmm10,0x10(%r8,%rdx,8)
+  DB  116,218                             ; je            5890 <_sk_store_f16_hsw+0x71>
+  DB  196,65,121,23,84,208,24             ; vmovhpd       %xmm10,0x18(%r8,%rdx,8)
+  DB  72,131,255,5                        ; cmp           $0x5,%rdi
+  DB  114,205                             ; jb            5890 <_sk_store_f16_hsw+0x71>
+  DB  196,65,121,214,76,208,32            ; vmovq         %xmm9,0x20(%r8,%rdx,8)
+  DB  116,196                             ; je            5890 <_sk_store_f16_hsw+0x71>
+  DB  196,65,121,23,76,208,40             ; vmovhpd       %xmm9,0x28(%r8,%rdx,8)
+  DB  72,131,255,7                        ; cmp           $0x7,%rdi
+  DB  114,183                             ; jb            5890 <_sk_store_f16_hsw+0x71>
+  DB  196,65,121,214,68,208,48            ; vmovq         %xmm8,0x30(%r8,%rdx,8)
+  DB  235,174                             ; jmp           5890 <_sk_store_f16_hsw+0x71>
+
+PUBLIC _sk_load_u16_be_hsw
+_sk_load_u16_be_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,141,4,149,0,0,0,0                ; lea           0x0(,%rdx,4),%r8
+  DB  76,99,72,8                          ; movslq        0x8(%rax),%r9
+  DB  76,15,175,201                       ; imul          %rcx,%r9
+  DB  77,1,201                            ; add           %r9,%r9
+  DB  76,3,8                              ; add           (%rax),%r9
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,204,0,0,0                    ; jne           59cf <_sk_load_u16_be_hsw+0xed>
+  DB  196,1,121,16,4,65                   ; vmovupd       (%r9,%r8,2),%xmm8
+  DB  196,129,121,16,84,65,16             ; vmovupd       0x10(%r9,%r8,2),%xmm2
+  DB  196,129,121,16,92,65,32             ; vmovupd       0x20(%r9,%r8,2),%xmm3
+  DB  196,1,122,111,76,65,48              ; vmovdqu       0x30(%r9,%r8,2),%xmm9
+  DB  197,185,97,194                      ; vpunpcklwd    %xmm2,%xmm8,%xmm0
+  DB  197,185,105,210                     ; vpunpckhwd    %xmm2,%xmm8,%xmm2
+  DB  196,193,97,97,201                   ; vpunpcklwd    %xmm9,%xmm3,%xmm1
+  DB  196,193,97,105,217                  ; vpunpckhwd    %xmm9,%xmm3,%xmm3
+  DB  197,121,97,194                      ; vpunpcklwd    %xmm2,%xmm0,%xmm8
+  DB  197,121,105,202                     ; vpunpckhwd    %xmm2,%xmm0,%xmm9
+  DB  197,241,97,211                      ; vpunpcklwd    %xmm3,%xmm1,%xmm2
+  DB  197,113,105,219                     ; vpunpckhwd    %xmm3,%xmm1,%xmm11
+  DB  197,185,108,194                     ; vpunpcklqdq   %xmm2,%xmm8,%xmm0
+  DB  197,241,113,240,8                   ; vpsllw        $0x8,%xmm0,%xmm1
+  DB  197,249,113,208,8                   ; vpsrlw        $0x8,%xmm0,%xmm0
+  DB  197,241,235,192                     ; vpor          %xmm0,%xmm1,%xmm0
+  DB  196,226,125,51,192                  ; vpmovzxwd     %xmm0,%ymm0
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  196,98,125,24,21,248,241,2,0        ; vbroadcastss  0x2f1f8(%rip),%ymm10        # 34b5c <_sk_srcover_bgra_8888_sse2_lowp+0x344>
+  DB  196,193,124,89,194                  ; vmulps        %ymm10,%ymm0,%ymm0
+  DB  197,185,109,202                     ; vpunpckhqdq   %xmm2,%xmm8,%xmm1
+  DB  197,233,113,241,8                   ; vpsllw        $0x8,%xmm1,%xmm2
+  DB  197,241,113,209,8                   ; vpsrlw        $0x8,%xmm1,%xmm1
+  DB  197,233,235,201                     ; vpor          %xmm1,%xmm2,%xmm1
+  DB  196,226,125,51,201                  ; vpmovzxwd     %xmm1,%ymm1
+  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
+  DB  196,193,116,89,202                  ; vmulps        %ymm10,%ymm1,%ymm1
+  DB  196,193,49,108,211                  ; vpunpcklqdq   %xmm11,%xmm9,%xmm2
+  DB  197,225,113,242,8                   ; vpsllw        $0x8,%xmm2,%xmm3
+  DB  197,233,113,210,8                   ; vpsrlw        $0x8,%xmm2,%xmm2
+  DB  197,225,235,210                     ; vpor          %xmm2,%xmm3,%xmm2
+  DB  196,226,125,51,210                  ; vpmovzxwd     %xmm2,%ymm2
+  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
+  DB  196,193,108,89,210                  ; vmulps        %ymm10,%ymm2,%ymm2
+  DB  196,193,49,109,219                  ; vpunpckhqdq   %xmm11,%xmm9,%xmm3
+  DB  197,185,113,243,8                   ; vpsllw        $0x8,%xmm3,%xmm8
+  DB  197,225,113,211,8                   ; vpsrlw        $0x8,%xmm3,%xmm3
+  DB  197,185,235,219                     ; vpor          %xmm3,%xmm8,%xmm3
+  DB  196,226,125,51,219                  ; vpmovzxwd     %xmm3,%ymm3
+  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
+  DB  196,193,100,89,218                  ; vmulps        %ymm10,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,1,123,16,4,65                   ; vmovsd        (%r9,%r8,2),%xmm8
+  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
+  DB  72,131,255,1                        ; cmp           $0x1,%rdi
+  DB  116,85                              ; je            5a35 <_sk_load_u16_be_hsw+0x153>
+  DB  196,1,57,22,68,65,8                 ; vmovhpd       0x8(%r9,%r8,2),%xmm8,%xmm8
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  114,72                              ; jb            5a35 <_sk_load_u16_be_hsw+0x153>
+  DB  196,129,123,16,84,65,16             ; vmovsd        0x10(%r9,%r8,2),%xmm2
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  116,72                              ; je            5a42 <_sk_load_u16_be_hsw+0x160>
+  DB  196,129,105,22,84,65,24             ; vmovhpd       0x18(%r9,%r8,2),%xmm2,%xmm2
+  DB  72,131,255,5                        ; cmp           $0x5,%rdi
+  DB  114,59                              ; jb            5a42 <_sk_load_u16_be_hsw+0x160>
+  DB  196,129,123,16,92,65,32             ; vmovsd        0x20(%r9,%r8,2),%xmm3
+  DB  72,131,255,5                        ; cmp           $0x5,%rdi
+  DB  15,132,6,255,255,255                ; je            591e <_sk_load_u16_be_hsw+0x3c>
+  DB  196,129,97,22,92,65,40              ; vmovhpd       0x28(%r9,%r8,2),%xmm3,%xmm3
+  DB  72,131,255,7                        ; cmp           $0x7,%rdi
+  DB  15,130,245,254,255,255              ; jb            591e <_sk_load_u16_be_hsw+0x3c>
+  DB  196,1,122,126,76,65,48              ; vmovq         0x30(%r9,%r8,2),%xmm9
+  DB  233,233,254,255,255                 ; jmpq          591e <_sk_load_u16_be_hsw+0x3c>
+  DB  197,225,87,219                      ; vxorpd        %xmm3,%xmm3,%xmm3
+  DB  197,233,87,210                      ; vxorpd        %xmm2,%xmm2,%xmm2
+  DB  233,220,254,255,255                 ; jmpq          591e <_sk_load_u16_be_hsw+0x3c>
+  DB  197,225,87,219                      ; vxorpd        %xmm3,%xmm3,%xmm3
+  DB  233,211,254,255,255                 ; jmpq          591e <_sk_load_u16_be_hsw+0x3c>
+
+PUBLIC _sk_load_rgb_u16_be_hsw
+_sk_load_rgb_u16_be_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,141,4,82                         ; lea           (%rdx,%rdx,2),%r8
+  DB  76,99,72,8                          ; movslq        0x8(%rax),%r9
+  DB  76,15,175,201                       ; imul          %rcx,%r9
+  DB  77,1,201                            ; add           %r9,%r9
+  DB  76,3,8                              ; add           (%rax),%r9
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,205,0,0,0                    ; jne           5b35 <_sk_load_rgb_u16_be_hsw+0xea>
+  DB  196,1,122,111,28,65                 ; vmovdqu       (%r9,%r8,2),%xmm11
+  DB  196,129,122,111,92,65,12            ; vmovdqu       0xc(%r9,%r8,2),%xmm3
+  DB  196,129,122,111,84,65,24            ; vmovdqu       0x18(%r9,%r8,2),%xmm2
+  DB  196,129,122,111,68,65,32            ; vmovdqu       0x20(%r9,%r8,2),%xmm0
+  DB  197,249,115,216,4                   ; vpsrldq       $0x4,%xmm0,%xmm0
+  DB  196,193,57,115,219,6                ; vpsrldq       $0x6,%xmm11,%xmm8
+  DB  197,169,115,219,6                   ; vpsrldq       $0x6,%xmm3,%xmm10
+  DB  197,241,115,218,6                   ; vpsrldq       $0x6,%xmm2,%xmm1
+  DB  197,177,115,216,6                   ; vpsrldq       $0x6,%xmm0,%xmm9
+  DB  196,193,113,97,201                  ; vpunpcklwd    %xmm9,%xmm1,%xmm1
+  DB  197,233,97,192                      ; vpunpcklwd    %xmm0,%xmm2,%xmm0
+  DB  196,193,57,97,210                   ; vpunpcklwd    %xmm10,%xmm8,%xmm2
+  DB  197,161,97,219                      ; vpunpcklwd    %xmm3,%xmm11,%xmm3
+  DB  197,97,97,194                       ; vpunpcklwd    %xmm2,%xmm3,%xmm8
+  DB  197,225,105,210                     ; vpunpckhwd    %xmm2,%xmm3,%xmm2
+  DB  197,249,97,217                      ; vpunpcklwd    %xmm1,%xmm0,%xmm3
+  DB  197,249,105,193                     ; vpunpckhwd    %xmm1,%xmm0,%xmm0
+  DB  197,233,108,208                     ; vpunpcklqdq   %xmm0,%xmm2,%xmm2
+  DB  197,185,108,195                     ; vpunpcklqdq   %xmm3,%xmm8,%xmm0
+  DB  197,241,113,240,8                   ; vpsllw        $0x8,%xmm0,%xmm1
+  DB  197,249,113,208,8                   ; vpsrlw        $0x8,%xmm0,%xmm0
+  DB  197,241,235,192                     ; vpor          %xmm0,%xmm1,%xmm0
+  DB  196,226,125,51,192                  ; vpmovzxwd     %xmm0,%ymm0
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  196,98,125,24,13,117,240,2,0        ; vbroadcastss  0x2f075(%rip),%ymm9        # 34b5c <_sk_srcover_bgra_8888_sse2_lowp+0x344>
+  DB  196,193,124,89,193                  ; vmulps        %ymm9,%ymm0,%ymm0
+  DB  197,185,109,203                     ; vpunpckhqdq   %xmm3,%xmm8,%xmm1
+  DB  197,225,113,241,8                   ; vpsllw        $0x8,%xmm1,%xmm3
+  DB  197,241,113,209,8                   ; vpsrlw        $0x8,%xmm1,%xmm1
+  DB  197,225,235,201                     ; vpor          %xmm1,%xmm3,%xmm1
+  DB  196,226,125,51,201                  ; vpmovzxwd     %xmm1,%ymm1
+  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
+  DB  196,193,116,89,201                  ; vmulps        %ymm9,%ymm1,%ymm1
+  DB  197,225,113,242,8                   ; vpsllw        $0x8,%xmm2,%xmm3
+  DB  197,233,113,210,8                   ; vpsrlw        $0x8,%xmm2,%xmm2
+  DB  197,225,235,210                     ; vpor          %xmm2,%xmm3,%xmm2
+  DB  196,226,125,51,210                  ; vpmovzxwd     %xmm2,%ymm2
+  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
+  DB  196,193,108,89,209                  ; vmulps        %ymm9,%ymm2,%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,29,149,239,2,0       ; vbroadcastss  0x2ef95(%rip),%ymm3        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,129,121,110,4,65                ; vmovd         (%r9,%r8,2),%xmm0
+  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
+  DB  196,1,121,196,92,65,4,2             ; vpinsrw       $0x2,0x4(%r9,%r8,2),%xmm0,%xmm11
+  DB  72,131,255,1                        ; cmp           $0x1,%rdi
+  DB  117,31                              ; jne           5b6d <_sk_load_rgb_u16_be_hsw+0x122>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  197,241,239,201                     ; vpxor         %xmm1,%xmm1,%xmm1
+  DB  197,233,239,210                     ; vpxor         %xmm2,%xmm2,%xmm2
+  DB  196,65,41,239,210                   ; vpxor         %xmm10,%xmm10,%xmm10
+  DB  197,225,239,219                     ; vpxor         %xmm3,%xmm3,%xmm3
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  233,48,255,255,255                  ; jmpq          5a9d <_sk_load_rgb_u16_be_hsw+0x52>
+  DB  196,129,121,110,68,65,6             ; vmovd         0x6(%r9,%r8,2),%xmm0
+  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
+  DB  196,1,121,196,68,65,10,2            ; vpinsrw       $0x2,0xa(%r9,%r8,2),%xmm0,%xmm8
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  114,48                              ; jb            5bb7 <_sk_load_rgb_u16_be_hsw+0x16c>
+  DB  196,129,121,110,68,65,12            ; vmovd         0xc(%r9,%r8,2),%xmm0
+  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
+  DB  196,129,121,196,92,65,16,2          ; vpinsrw       $0x2,0x10(%r9,%r8,2),%xmm0,%xmm3
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  117,48                              ; jne           5bd1 <_sk_load_rgb_u16_be_hsw+0x186>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  197,241,239,201                     ; vpxor         %xmm1,%xmm1,%xmm1
+  DB  197,233,239,210                     ; vpxor         %xmm2,%xmm2,%xmm2
+  DB  196,65,41,239,210                   ; vpxor         %xmm10,%xmm10,%xmm10
+  DB  233,230,254,255,255                 ; jmpq          5a9d <_sk_load_rgb_u16_be_hsw+0x52>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  197,241,239,201                     ; vpxor         %xmm1,%xmm1,%xmm1
+  DB  197,233,239,210                     ; vpxor         %xmm2,%xmm2,%xmm2
+  DB  196,65,41,239,210                   ; vpxor         %xmm10,%xmm10,%xmm10
+  DB  197,225,239,219                     ; vpxor         %xmm3,%xmm3,%xmm3
+  DB  233,204,254,255,255                 ; jmpq          5a9d <_sk_load_rgb_u16_be_hsw+0x52>
+  DB  196,129,121,110,68,65,18            ; vmovd         0x12(%r9,%r8,2),%xmm0
+  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
+  DB  196,1,121,196,84,65,22,2            ; vpinsrw       $0x2,0x16(%r9,%r8,2),%xmm0,%xmm10
+  DB  72,131,255,5                        ; cmp           $0x5,%rdi
+  DB  114,39                              ; jb            5c12 <_sk_load_rgb_u16_be_hsw+0x1c7>
+  DB  196,129,121,110,68,65,24            ; vmovd         0x18(%r9,%r8,2),%xmm0
+  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
+  DB  196,129,121,196,84,65,28,2          ; vpinsrw       $0x2,0x1c(%r9,%r8,2),%xmm0,%xmm2
+  DB  72,131,255,5                        ; cmp           $0x5,%rdi
+  DB  117,30                              ; jne           5c23 <_sk_load_rgb_u16_be_hsw+0x1d8>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  197,241,239,201                     ; vpxor         %xmm1,%xmm1,%xmm1
+  DB  233,139,254,255,255                 ; jmpq          5a9d <_sk_load_rgb_u16_be_hsw+0x52>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  197,241,239,201                     ; vpxor         %xmm1,%xmm1,%xmm1
+  DB  197,233,239,210                     ; vpxor         %xmm2,%xmm2,%xmm2
+  DB  233,122,254,255,255                 ; jmpq          5a9d <_sk_load_rgb_u16_be_hsw+0x52>
+  DB  196,129,121,110,68,65,30            ; vmovd         0x1e(%r9,%r8,2),%xmm0
+  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
+  DB  196,129,121,196,76,65,34,2          ; vpinsrw       $0x2,0x22(%r9,%r8,2),%xmm0,%xmm1
+  DB  72,131,255,7                        ; cmp           $0x7,%rdi
+  DB  114,25                              ; jb            5c56 <_sk_load_rgb_u16_be_hsw+0x20b>
+  DB  196,129,121,110,68,65,36            ; vmovd         0x24(%r9,%r8,2),%xmm0
+  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
+  DB  196,129,121,196,68,65,40,2          ; vpinsrw       $0x2,0x28(%r9,%r8,2),%xmm0,%xmm0
+  DB  233,71,254,255,255                  ; jmpq          5a9d <_sk_load_rgb_u16_be_hsw+0x52>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  233,62,254,255,255                  ; jmpq          5a9d <_sk_load_rgb_u16_be_hsw+0x52>
+
+PUBLIC _sk_store_u16_be_hsw
+_sk_store_u16_be_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,141,4,149,0,0,0,0                ; lea           0x0(,%rdx,4),%r8
+  DB  76,99,72,8                          ; movslq        0x8(%rax),%r9
+  DB  76,15,175,201                       ; imul          %rcx,%r9
+  DB  77,1,201                            ; add           %r9,%r9
+  DB  76,3,8                              ; add           (%rax),%r9
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,60,95,200                       ; vmaxps        %ymm0,%ymm8,%ymm9
+  DB  196,98,125,24,21,63,238,2,0         ; vbroadcastss  0x2ee3f(%rip),%ymm10        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,65,52,93,202                    ; vminps        %ymm10,%ymm9,%ymm9
+  DB  196,98,125,24,29,93,239,2,0         ; vbroadcastss  0x2ef5d(%rip),%ymm11        # 34bf4 <_sk_srcover_bgra_8888_sse2_lowp+0x3dc>
+  DB  196,65,52,89,203                    ; vmulps        %ymm11,%ymm9,%ymm9
+  DB  196,65,125,91,201                   ; vcvtps2dq     %ymm9,%ymm9
+  DB  196,67,125,25,204,1                 ; vextractf128  $0x1,%ymm9,%xmm12
+  DB  196,66,49,43,204                    ; vpackusdw     %xmm12,%xmm9,%xmm9
+  DB  196,193,25,113,241,8                ; vpsllw        $0x8,%xmm9,%xmm12
+  DB  196,193,49,113,209,8                ; vpsrlw        $0x8,%xmm9,%xmm9
+  DB  196,65,25,235,201                   ; vpor          %xmm9,%xmm12,%xmm9
+  DB  197,60,95,225                       ; vmaxps        %ymm1,%ymm8,%ymm12
+  DB  196,65,28,93,226                    ; vminps        %ymm10,%ymm12,%ymm12
+  DB  196,65,28,89,227                    ; vmulps        %ymm11,%ymm12,%ymm12
+  DB  196,65,125,91,228                   ; vcvtps2dq     %ymm12,%ymm12
+  DB  196,67,125,25,229,1                 ; vextractf128  $0x1,%ymm12,%xmm13
+  DB  196,66,25,43,229                    ; vpackusdw     %xmm13,%xmm12,%xmm12
+  DB  196,193,17,113,244,8                ; vpsllw        $0x8,%xmm12,%xmm13
+  DB  196,193,25,113,212,8                ; vpsrlw        $0x8,%xmm12,%xmm12
+  DB  196,65,17,235,228                   ; vpor          %xmm12,%xmm13,%xmm12
+  DB  197,60,95,234                       ; vmaxps        %ymm2,%ymm8,%ymm13
+  DB  196,65,20,93,234                    ; vminps        %ymm10,%ymm13,%ymm13
+  DB  196,65,20,89,235                    ; vmulps        %ymm11,%ymm13,%ymm13
+  DB  196,65,125,91,237                   ; vcvtps2dq     %ymm13,%ymm13
+  DB  196,67,125,25,238,1                 ; vextractf128  $0x1,%ymm13,%xmm14
+  DB  196,66,17,43,238                    ; vpackusdw     %xmm14,%xmm13,%xmm13
+  DB  196,193,9,113,245,8                 ; vpsllw        $0x8,%xmm13,%xmm14
+  DB  196,193,17,113,213,8                ; vpsrlw        $0x8,%xmm13,%xmm13
+  DB  196,65,9,235,237                    ; vpor          %xmm13,%xmm14,%xmm13
+  DB  197,60,95,195                       ; vmaxps        %ymm3,%ymm8,%ymm8
+  DB  196,65,60,93,194                    ; vminps        %ymm10,%ymm8,%ymm8
+  DB  196,65,60,89,195                    ; vmulps        %ymm11,%ymm8,%ymm8
+  DB  196,65,125,91,192                   ; vcvtps2dq     %ymm8,%ymm8
+  DB  196,67,125,25,194,1                 ; vextractf128  $0x1,%ymm8,%xmm10
+  DB  196,66,57,43,194                    ; vpackusdw     %xmm10,%xmm8,%xmm8
+  DB  196,193,41,113,240,8                ; vpsllw        $0x8,%xmm8,%xmm10
+  DB  196,193,57,113,208,8                ; vpsrlw        $0x8,%xmm8,%xmm8
+  DB  196,65,41,235,192                   ; vpor          %xmm8,%xmm10,%xmm8
+  DB  196,65,49,97,212                    ; vpunpcklwd    %xmm12,%xmm9,%xmm10
+  DB  196,65,49,105,228                   ; vpunpckhwd    %xmm12,%xmm9,%xmm12
+  DB  196,65,17,97,200                    ; vpunpcklwd    %xmm8,%xmm13,%xmm9
+  DB  196,65,17,105,192                   ; vpunpckhwd    %xmm8,%xmm13,%xmm8
+  DB  196,65,41,98,217                    ; vpunpckldq    %xmm9,%xmm10,%xmm11
+  DB  196,65,41,106,209                   ; vpunpckhdq    %xmm9,%xmm10,%xmm10
+  DB  196,65,25,98,200                    ; vpunpckldq    %xmm8,%xmm12,%xmm9
+  DB  196,65,25,106,192                   ; vpunpckhdq    %xmm8,%xmm12,%xmm8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,31                              ; jne           5d96 <_sk_store_u16_be_hsw+0x137>
+  DB  196,1,122,127,28,65                 ; vmovdqu       %xmm11,(%r9,%r8,2)
+  DB  196,1,122,127,84,65,16              ; vmovdqu       %xmm10,0x10(%r9,%r8,2)
+  DB  196,1,122,127,76,65,32              ; vmovdqu       %xmm9,0x20(%r9,%r8,2)
+  DB  196,1,122,127,68,65,48              ; vmovdqu       %xmm8,0x30(%r9,%r8,2)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,1,121,214,28,65                 ; vmovq         %xmm11,(%r9,%r8,2)
+  DB  72,131,255,1                        ; cmp           $0x1,%rdi
+  DB  116,240                             ; je            5d92 <_sk_store_u16_be_hsw+0x133>
+  DB  196,1,121,23,92,65,8                ; vmovhpd       %xmm11,0x8(%r9,%r8,2)
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  114,227                             ; jb            5d92 <_sk_store_u16_be_hsw+0x133>
+  DB  196,1,121,214,84,65,16              ; vmovq         %xmm10,0x10(%r9,%r8,2)
+  DB  116,218                             ; je            5d92 <_sk_store_u16_be_hsw+0x133>
+  DB  196,1,121,23,84,65,24               ; vmovhpd       %xmm10,0x18(%r9,%r8,2)
+  DB  72,131,255,5                        ; cmp           $0x5,%rdi
+  DB  114,205                             ; jb            5d92 <_sk_store_u16_be_hsw+0x133>
+  DB  196,1,121,214,76,65,32              ; vmovq         %xmm9,0x20(%r9,%r8,2)
+  DB  116,196                             ; je            5d92 <_sk_store_u16_be_hsw+0x133>
+  DB  196,1,121,23,76,65,40               ; vmovhpd       %xmm9,0x28(%r9,%r8,2)
+  DB  72,131,255,7                        ; cmp           $0x7,%rdi
+  DB  114,183                             ; jb            5d92 <_sk_store_u16_be_hsw+0x133>
+  DB  196,1,121,214,68,65,48              ; vmovq         %xmm8,0x30(%r9,%r8,2)
+  DB  235,174                             ; jmp           5d92 <_sk_store_u16_be_hsw+0x133>
+
+PUBLIC _sk_load_f32_hsw
+_sk_load_f32_hsw LABEL PROC
+  DB  72,129,236,152,0,0,0                ; sub           $0x98,%rsp
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,253,87,192                      ; vxorpd        %ymm0,%ymm0,%ymm0
+  DB  72,131,255,7                        ; cmp           $0x7,%rdi
+  DB  15,135,88,1,0,0                     ; ja            5f53 <_sk_load_f32_hsw+0x16f>
+  DB  197,253,17,36,36                    ; vmovupd       %ymm4,(%rsp)
+  DB  197,253,17,108,36,32                ; vmovupd       %ymm5,0x20(%rsp)
+  DB  197,253,17,116,36,64                ; vmovupd       %ymm6,0x40(%rsp)
+  DB  197,253,17,124,36,96                ; vmovupd       %ymm7,0x60(%rsp)
+  DB  76,141,4,149,0,0,0,0                ; lea           0x0(,%rdx,4),%r8
+  DB  76,99,72,8                          ; movslq        0x8(%rax),%r9
+  DB  76,15,175,201                       ; imul          %rcx,%r9
+  DB  73,193,225,2                        ; shl           $0x2,%r9
+  DB  76,3,8                              ; add           (%rax),%r9
+  DB  76,141,21,52,1,0,0                  ; lea           0x134(%rip),%r10        # 5f64 <_sk_load_f32_hsw+0x180>
+  DB  73,99,4,186                         ; movslq        (%r10,%rdi,4),%rax
+  DB  76,1,208                            ; add           %r10,%rax
+  DB  197,221,87,228                      ; vxorpd        %ymm4,%ymm4,%ymm4
+  DB  196,65,53,87,201                    ; vxorpd        %ymm9,%ymm9,%ymm9
+  DB  197,237,87,210                      ; vxorpd        %ymm2,%ymm2,%ymm2
+  DB  196,65,37,87,219                    ; vxorpd        %ymm11,%ymm11,%ymm11
+  DB  196,65,29,87,228                    ; vxorpd        %ymm12,%ymm12,%ymm12
+  DB  196,65,61,87,192                    ; vxorpd        %ymm8,%ymm8,%ymm8
+  DB  196,65,13,87,246                    ; vxorpd        %ymm14,%ymm14,%ymm14
+  DB  197,205,87,246                      ; vxorpd        %ymm6,%ymm6,%ymm6
+  DB  196,65,5,87,255                     ; vxorpd        %ymm15,%ymm15,%ymm15
+  DB  197,245,87,201                      ; vxorpd        %ymm1,%ymm1,%ymm1
+  DB  196,65,21,87,237                    ; vxorpd        %ymm13,%ymm13,%ymm13
+  DB  197,213,87,237                      ; vxorpd        %ymm5,%ymm5,%ymm5
+  DB  197,229,87,219                      ; vxorpd        %ymm3,%ymm3,%ymm3
+  DB  196,65,45,87,210                    ; vxorpd        %ymm10,%ymm10,%ymm10
+  DB  197,197,87,255                      ; vxorpd        %ymm7,%ymm7,%ymm7
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,129,121,16,68,129,112           ; vmovupd       0x70(%r9,%r8,4),%xmm0
+  DB  196,227,125,6,192,40                ; vperm2f128    $0x28,%ymm0,%ymm0,%ymm0
+  DB  196,129,121,16,76,129,96            ; vmovupd       0x60(%r9,%r8,4),%xmm1
+  DB  196,227,125,6,225,40                ; vperm2f128    $0x28,%ymm1,%ymm0,%ymm4
+  DB  196,129,121,16,76,129,80            ; vmovupd       0x50(%r9,%r8,4),%xmm1
+  DB  196,227,125,6,209,40                ; vperm2f128    $0x28,%ymm1,%ymm0,%ymm2
+  DB  197,125,40,204                      ; vmovapd       %ymm4,%ymm9
+  DB  196,129,121,16,76,129,64            ; vmovupd       0x40(%r9,%r8,4),%xmm1
+  DB  196,99,125,6,193,40                 ; vperm2f128    $0x28,%ymm1,%ymm0,%ymm8
+  DB  196,65,125,40,217                   ; vmovapd       %ymm9,%ymm11
+  DB  197,125,40,226                      ; vmovapd       %ymm2,%ymm12
+  DB  196,129,121,16,76,129,48            ; vmovupd       0x30(%r9,%r8,4),%xmm1
+  DB  196,227,117,13,192,12               ; vblendpd      $0xc,%ymm0,%ymm1,%ymm0
+  DB  196,65,125,40,243                   ; vmovapd       %ymm11,%ymm14
+  DB  197,125,41,230                      ; vmovapd       %ymm12,%ymm6
+  DB  196,65,125,40,248                   ; vmovapd       %ymm8,%ymm15
+  DB  196,129,121,16,76,129,32            ; vmovupd       0x20(%r9,%r8,4),%xmm1
+  DB  196,195,117,13,206,12               ; vblendpd      $0xc,%ymm14,%ymm1,%ymm1
+  DB  197,125,40,238                      ; vmovapd       %ymm6,%ymm13
+  DB  197,125,41,253                      ; vmovapd       %ymm15,%ymm5
+  DB  196,129,121,16,84,129,16            ; vmovupd       0x10(%r9,%r8,4),%xmm2
+  DB  196,67,109,13,213,12                ; vblendpd      $0xc,%ymm13,%ymm2,%ymm10
+  DB  197,253,40,217                      ; vmovapd       %ymm1,%ymm3
+  DB  197,253,40,253                      ; vmovapd       %ymm5,%ymm7
+  DB  196,129,121,16,12,129               ; vmovupd       (%r9,%r8,4),%xmm1
+  DB  196,227,117,13,207,12               ; vblendpd      $0xc,%ymm7,%ymm1,%ymm1
+  DB  197,252,16,124,36,96                ; vmovups       0x60(%rsp),%ymm7
+  DB  197,252,16,116,36,64                ; vmovups       0x40(%rsp),%ymm6
+  DB  197,252,16,108,36,32                ; vmovups       0x20(%rsp),%ymm5
+  DB  197,252,16,36,36                    ; vmovups       (%rsp),%ymm4
+  DB  196,193,116,20,210                  ; vunpcklps     %ymm10,%ymm1,%ymm2
+  DB  196,65,116,21,194                   ; vunpckhps     %ymm10,%ymm1,%ymm8
+  DB  197,228,20,200                      ; vunpcklps     %ymm0,%ymm3,%ymm1
+  DB  197,228,21,216                      ; vunpckhps     %ymm0,%ymm3,%ymm3
+  DB  197,237,20,193                      ; vunpcklpd     %ymm1,%ymm2,%ymm0
+  DB  197,237,21,201                      ; vunpckhpd     %ymm1,%ymm2,%ymm1
+  DB  197,189,20,211                      ; vunpcklpd     %ymm3,%ymm8,%ymm2
+  DB  197,189,21,219                      ; vunpckhpd     %ymm3,%ymm8,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  72,129,196,152,0,0,0                ; add           $0x98,%rsp
+  DB  255,224                             ; jmpq          *%rax
+  DB  197,229,87,219                      ; vxorpd        %ymm3,%ymm3,%ymm3
+  DB  196,65,45,87,210                    ; vxorpd        %ymm10,%ymm10,%ymm10
+  DB  197,245,87,201                      ; vxorpd        %ymm1,%ymm1,%ymm1
+  DB  235,196                             ; jmp           5f26 <_sk_load_f32_hsw+0x142>
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  25,255                              ; sbb           %edi,%edi
+  DB  255                                 ; (bad)
+  DB  255,159,255,255,255,138             ; lcall         *-0x75000001(%rdi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,117,255                         ; pushq         -0x1(%rbp)
+  DB  255                                 ; (bad)
+  DB  255,90,255                          ; lcall         *-0x1(%rdx)
+  DB  255                                 ; (bad)
+  DB  255,68,255,255                      ; incl          -0x1(%rdi,%rdi,8)
+  DB  255,51                              ; pushq         (%rbx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,38                              ; jmpq          *(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_f32_dst_hsw
+_sk_load_f32_dst_hsw LABEL PROC
+  DB  72,129,236,152,0,0,0                ; sub           $0x98,%rsp
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,221,87,228                      ; vxorpd        %ymm4,%ymm4,%ymm4
+  DB  72,131,255,7                        ; cmp           $0x7,%rdi
+  DB  15,135,88,1,0,0                     ; ja            60f3 <_sk_load_f32_dst_hsw+0x16f>
+  DB  197,253,17,4,36                     ; vmovupd       %ymm0,(%rsp)
+  DB  197,253,17,76,36,32                 ; vmovupd       %ymm1,0x20(%rsp)
+  DB  197,253,17,84,36,64                 ; vmovupd       %ymm2,0x40(%rsp)
+  DB  197,253,17,92,36,96                 ; vmovupd       %ymm3,0x60(%rsp)
+  DB  76,141,4,149,0,0,0,0                ; lea           0x0(,%rdx,4),%r8
+  DB  76,99,72,8                          ; movslq        0x8(%rax),%r9
+  DB  76,15,175,201                       ; imul          %rcx,%r9
+  DB  73,193,225,2                        ; shl           $0x2,%r9
+  DB  76,3,8                              ; add           (%rax),%r9
+  DB  76,141,21,52,1,0,0                  ; lea           0x134(%rip),%r10        # 6104 <_sk_load_f32_dst_hsw+0x180>
+  DB  73,99,4,186                         ; movslq        (%r10,%rdi,4),%rax
+  DB  76,1,208                            ; add           %r10,%rax
+  DB  197,253,87,192                      ; vxorpd        %ymm0,%ymm0,%ymm0
+  DB  196,65,53,87,201                    ; vxorpd        %ymm9,%ymm9,%ymm9
+  DB  197,205,87,246                      ; vxorpd        %ymm6,%ymm6,%ymm6
+  DB  196,65,37,87,219                    ; vxorpd        %ymm11,%ymm11,%ymm11
+  DB  196,65,29,87,228                    ; vxorpd        %ymm12,%ymm12,%ymm12
+  DB  196,65,61,87,192                    ; vxorpd        %ymm8,%ymm8,%ymm8
+  DB  196,65,13,87,246                    ; vxorpd        %ymm14,%ymm14,%ymm14
+  DB  197,237,87,210                      ; vxorpd        %ymm2,%ymm2,%ymm2
+  DB  196,65,5,87,255                     ; vxorpd        %ymm15,%ymm15,%ymm15
+  DB  197,213,87,237                      ; vxorpd        %ymm5,%ymm5,%ymm5
+  DB  196,65,21,87,237                    ; vxorpd        %ymm13,%ymm13,%ymm13
+  DB  197,245,87,201                      ; vxorpd        %ymm1,%ymm1,%ymm1
+  DB  197,197,87,255                      ; vxorpd        %ymm7,%ymm7,%ymm7
+  DB  196,65,45,87,210                    ; vxorpd        %ymm10,%ymm10,%ymm10
+  DB  197,229,87,219                      ; vxorpd        %ymm3,%ymm3,%ymm3
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,129,121,16,68,129,112           ; vmovupd       0x70(%r9,%r8,4),%xmm0
+  DB  196,227,125,6,224,40                ; vperm2f128    $0x28,%ymm0,%ymm0,%ymm4
+  DB  196,129,121,16,68,129,96            ; vmovupd       0x60(%r9,%r8,4),%xmm0
+  DB  196,227,125,6,192,40                ; vperm2f128    $0x28,%ymm0,%ymm0,%ymm0
+  DB  196,129,121,16,76,129,80            ; vmovupd       0x50(%r9,%r8,4),%xmm1
+  DB  196,227,125,6,241,40                ; vperm2f128    $0x28,%ymm1,%ymm0,%ymm6
+  DB  197,125,40,200                      ; vmovapd       %ymm0,%ymm9
+  DB  196,129,121,16,68,129,64            ; vmovupd       0x40(%r9,%r8,4),%xmm0
+  DB  196,99,125,6,192,40                 ; vperm2f128    $0x28,%ymm0,%ymm0,%ymm8
+  DB  196,65,125,40,217                   ; vmovapd       %ymm9,%ymm11
+  DB  197,125,40,230                      ; vmovapd       %ymm6,%ymm12
+  DB  196,129,121,16,68,129,48            ; vmovupd       0x30(%r9,%r8,4),%xmm0
+  DB  196,227,125,13,228,12               ; vblendpd      $0xc,%ymm4,%ymm0,%ymm4
+  DB  196,65,125,40,243                   ; vmovapd       %ymm11,%ymm14
+  DB  197,125,41,226                      ; vmovapd       %ymm12,%ymm2
+  DB  196,65,125,40,248                   ; vmovapd       %ymm8,%ymm15
+  DB  196,129,121,16,68,129,32            ; vmovupd       0x20(%r9,%r8,4),%xmm0
+  DB  196,195,125,13,238,12               ; vblendpd      $0xc,%ymm14,%ymm0,%ymm5
+  DB  197,125,40,234                      ; vmovapd       %ymm2,%ymm13
+  DB  197,125,41,249                      ; vmovapd       %ymm15,%ymm1
+  DB  196,129,121,16,68,129,16            ; vmovupd       0x10(%r9,%r8,4),%xmm0
+  DB  196,67,125,13,213,12                ; vblendpd      $0xc,%ymm13,%ymm0,%ymm10
+  DB  197,253,40,253                      ; vmovapd       %ymm5,%ymm7
+  DB  197,253,40,217                      ; vmovapd       %ymm1,%ymm3
+  DB  196,129,121,16,4,129                ; vmovupd       (%r9,%r8,4),%xmm0
+  DB  196,227,125,13,235,12               ; vblendpd      $0xc,%ymm3,%ymm0,%ymm5
+  DB  197,252,16,92,36,96                 ; vmovups       0x60(%rsp),%ymm3
+  DB  197,252,16,84,36,64                 ; vmovups       0x40(%rsp),%ymm2
+  DB  197,252,16,76,36,32                 ; vmovups       0x20(%rsp),%ymm1
+  DB  197,252,16,4,36                     ; vmovups       (%rsp),%ymm0
+  DB  196,193,84,20,242                   ; vunpcklps     %ymm10,%ymm5,%ymm6
+  DB  196,65,84,21,194                    ; vunpckhps     %ymm10,%ymm5,%ymm8
+  DB  197,196,20,236                      ; vunpcklps     %ymm4,%ymm7,%ymm5
+  DB  197,196,21,252                      ; vunpckhps     %ymm4,%ymm7,%ymm7
+  DB  197,205,20,229                      ; vunpcklpd     %ymm5,%ymm6,%ymm4
+  DB  197,205,21,237                      ; vunpckhpd     %ymm5,%ymm6,%ymm5
+  DB  197,189,20,247                      ; vunpcklpd     %ymm7,%ymm8,%ymm6
+  DB  197,189,21,255                      ; vunpckhpd     %ymm7,%ymm8,%ymm7
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  72,129,196,152,0,0,0                ; add           $0x98,%rsp
+  DB  255,224                             ; jmpq          *%rax
+  DB  197,197,87,255                      ; vxorpd        %ymm7,%ymm7,%ymm7
+  DB  196,65,45,87,210                    ; vxorpd        %ymm10,%ymm10,%ymm10
+  DB  197,213,87,237                      ; vxorpd        %ymm5,%ymm5,%ymm5
+  DB  235,196                             ; jmp           60c6 <_sk_load_f32_dst_hsw+0x142>
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  25,255                              ; sbb           %edi,%edi
+  DB  255                                 ; (bad)
+  DB  255,159,255,255,255,138             ; lcall         *-0x75000001(%rdi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,117,255                         ; pushq         -0x1(%rbp)
+  DB  255                                 ; (bad)
+  DB  255,90,255                          ; lcall         *-0x1(%rdx)
+  DB  255                                 ; (bad)
+  DB  255,68,255,255                      ; incl          -0x1(%rdi,%rdi,8)
+  DB  255,51                              ; pushq         (%rbx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,38                              ; jmpq          *(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_store_f32_hsw
+_sk_store_f32_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,141,4,149,0,0,0,0                ; lea           0x0(,%rdx,4),%r8
+  DB  76,99,72,8                          ; movslq        0x8(%rax),%r9
+  DB  76,15,175,201                       ; imul          %rcx,%r9
+  DB  73,193,225,2                        ; shl           $0x2,%r9
+  DB  76,3,8                              ; add           (%rax),%r9
+  DB  197,124,20,193                      ; vunpcklps     %ymm1,%ymm0,%ymm8
+  DB  197,124,21,217                      ; vunpckhps     %ymm1,%ymm0,%ymm11
+  DB  197,108,20,203                      ; vunpcklps     %ymm3,%ymm2,%ymm9
+  DB  197,108,21,227                      ; vunpckhps     %ymm3,%ymm2,%ymm12
+  DB  196,65,61,20,209                    ; vunpcklpd     %ymm9,%ymm8,%ymm10
+  DB  196,65,61,21,201                    ; vunpckhpd     %ymm9,%ymm8,%ymm9
+  DB  196,65,37,20,196                    ; vunpcklpd     %ymm12,%ymm11,%ymm8
+  DB  196,65,37,21,220                    ; vunpckhpd     %ymm12,%ymm11,%ymm11
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,55                              ; jne           619d <_sk_store_f32_hsw+0x79>
+  DB  196,67,45,24,225,1                  ; vinsertf128   $0x1,%xmm9,%ymm10,%ymm12
+  DB  196,67,61,24,235,1                  ; vinsertf128   $0x1,%xmm11,%ymm8,%ymm13
+  DB  196,67,45,6,201,49                  ; vperm2f128    $0x31,%ymm9,%ymm10,%ymm9
+  DB  196,67,61,6,195,49                  ; vperm2f128    $0x31,%ymm11,%ymm8,%ymm8
+  DB  196,1,125,17,36,129                 ; vmovupd       %ymm12,(%r9,%r8,4)
+  DB  196,1,125,17,108,129,32             ; vmovupd       %ymm13,0x20(%r9,%r8,4)
+  DB  196,1,125,17,76,129,64              ; vmovupd       %ymm9,0x40(%r9,%r8,4)
+  DB  196,1,125,17,68,129,96              ; vmovupd       %ymm8,0x60(%r9,%r8,4)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,1,121,17,20,129                 ; vmovupd       %xmm10,(%r9,%r8,4)
+  DB  72,131,255,1                        ; cmp           $0x1,%rdi
+  DB  116,240                             ; je            6199 <_sk_store_f32_hsw+0x75>
+  DB  196,1,121,17,76,129,16              ; vmovupd       %xmm9,0x10(%r9,%r8,4)
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  114,227                             ; jb            6199 <_sk_store_f32_hsw+0x75>
+  DB  196,1,121,17,68,129,32              ; vmovupd       %xmm8,0x20(%r9,%r8,4)
+  DB  116,218                             ; je            6199 <_sk_store_f32_hsw+0x75>
+  DB  196,1,121,17,92,129,48              ; vmovupd       %xmm11,0x30(%r9,%r8,4)
+  DB  72,131,255,5                        ; cmp           $0x5,%rdi
+  DB  114,205                             ; jb            6199 <_sk_store_f32_hsw+0x75>
+  DB  196,3,125,25,84,129,64,1            ; vextractf128  $0x1,%ymm10,0x40(%r9,%r8,4)
+  DB  116,195                             ; je            6199 <_sk_store_f32_hsw+0x75>
+  DB  196,3,125,25,76,129,80,1            ; vextractf128  $0x1,%ymm9,0x50(%r9,%r8,4)
+  DB  72,131,255,7                        ; cmp           $0x7,%rdi
+  DB  114,181                             ; jb            6199 <_sk_store_f32_hsw+0x75>
+  DB  196,3,125,25,68,129,96,1            ; vextractf128  $0x1,%ymm8,0x60(%r9,%r8,4)
+  DB  235,171                             ; jmp           6199 <_sk_store_f32_hsw+0x75>
+
+PUBLIC _sk_repeat_x_hsw
+_sk_repeat_x_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,24,64,4                  ; vbroadcastss  0x4(%rax),%ymm8
+  DB  197,60,89,192                       ; vmulps        %ymm0,%ymm8,%ymm8
+  DB  196,67,125,8,192,1                  ; vroundps      $0x1,%ymm8,%ymm8
+  DB  196,98,125,24,8                     ; vbroadcastss  (%rax),%ymm9
+  DB  196,194,61,188,193                  ; vfnmadd231ps  %ymm9,%ymm8,%ymm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_repeat_y_hsw
+_sk_repeat_y_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,24,64,4                  ; vbroadcastss  0x4(%rax),%ymm8
+  DB  197,60,89,193                       ; vmulps        %ymm1,%ymm8,%ymm8
+  DB  196,67,125,8,192,1                  ; vroundps      $0x1,%ymm8,%ymm8
+  DB  196,98,125,24,8                     ; vbroadcastss  (%rax),%ymm9
+  DB  196,194,61,188,201                  ; vfnmadd231ps  %ymm9,%ymm8,%ymm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_mirror_x_hsw
+_sk_mirror_x_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,122,16,0                        ; vmovss        (%rax),%xmm8
+  DB  197,122,16,72,4                     ; vmovss        0x4(%rax),%xmm9
+  DB  196,66,125,24,208                   ; vbroadcastss  %xmm8,%ymm10
+  DB  196,65,124,92,218                   ; vsubps        %ymm10,%ymm0,%ymm11
+  DB  196,193,58,88,192                   ; vaddss        %xmm8,%xmm8,%xmm0
+  DB  196,98,125,24,192                   ; vbroadcastss  %xmm0,%ymm8
+  DB  197,178,89,5,111,232,2,0            ; vmulss        0x2e86f(%rip),%xmm9,%xmm0        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  196,226,125,24,192                  ; vbroadcastss  %xmm0,%ymm0
+  DB  197,164,89,192                      ; vmulps        %ymm0,%ymm11,%ymm0
+  DB  196,227,125,8,192,1                 ; vroundps      $0x1,%ymm0,%ymm0
+  DB  196,194,61,172,195                  ; vfnmadd213ps  %ymm11,%ymm8,%ymm0
+  DB  196,193,124,92,194                  ; vsubps        %ymm10,%ymm0,%ymm0
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,60,92,192                       ; vsubps        %ymm0,%ymm8,%ymm8
+  DB  197,188,84,192                      ; vandps        %ymm0,%ymm8,%ymm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_mirror_y_hsw
+_sk_mirror_y_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,122,16,0                        ; vmovss        (%rax),%xmm8
+  DB  197,122,16,72,4                     ; vmovss        0x4(%rax),%xmm9
+  DB  196,66,125,24,208                   ; vbroadcastss  %xmm8,%ymm10
+  DB  196,65,116,92,218                   ; vsubps        %ymm10,%ymm1,%ymm11
+  DB  196,193,58,88,200                   ; vaddss        %xmm8,%xmm8,%xmm1
+  DB  196,98,125,24,193                   ; vbroadcastss  %xmm1,%ymm8
+  DB  197,178,89,13,30,232,2,0            ; vmulss        0x2e81e(%rip),%xmm9,%xmm1        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  196,226,125,24,201                  ; vbroadcastss  %xmm1,%ymm1
+  DB  197,164,89,201                      ; vmulps        %ymm1,%ymm11,%ymm1
+  DB  196,227,125,8,201,1                 ; vroundps      $0x1,%ymm1,%ymm1
+  DB  196,194,61,172,203                  ; vfnmadd213ps  %ymm11,%ymm8,%ymm1
+  DB  196,193,116,92,202                  ; vsubps        %ymm10,%ymm1,%ymm1
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,60,92,193                       ; vsubps        %ymm1,%ymm8,%ymm8
+  DB  197,188,84,201                      ; vandps        %ymm1,%ymm8,%ymm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_clamp_x_1_hsw
+_sk_clamp_x_1_hsw LABEL PROC
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,188,95,192                      ; vmaxps        %ymm0,%ymm8,%ymm0
+  DB  196,98,125,24,5,230,231,2,0         ; vbroadcastss  0x2e7e6(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,193,124,93,192                  ; vminps        %ymm8,%ymm0,%ymm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_repeat_x_1_hsw
+_sk_repeat_x_1_hsw LABEL PROC
+  DB  196,99,125,8,192,1                  ; vroundps      $0x1,%ymm0,%ymm8
+  DB  196,193,124,92,192                  ; vsubps        %ymm8,%ymm0,%ymm0
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,188,95,192                      ; vmaxps        %ymm0,%ymm8,%ymm0
+  DB  196,98,125,24,5,192,231,2,0         ; vbroadcastss  0x2e7c0(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,193,124,93,192                  ; vminps        %ymm8,%ymm0,%ymm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_mirror_x_1_hsw
+_sk_mirror_x_1_hsw LABEL PROC
+  DB  196,98,125,24,5,198,231,2,0         ; vbroadcastss  0x2e7c6(%rip),%ymm8        # 34ae0 <_sk_srcover_bgra_8888_sse2_lowp+0x2c8>
+  DB  196,193,124,88,192                  ; vaddps        %ymm8,%ymm0,%ymm0
+  DB  196,98,125,24,13,156,231,2,0        ; vbroadcastss  0x2e79c(%rip),%ymm9        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  196,65,124,89,201                   ; vmulps        %ymm9,%ymm0,%ymm9
+  DB  196,67,125,8,201,1                  ; vroundps      $0x1,%ymm9,%ymm9
+  DB  196,65,52,88,201                    ; vaddps        %ymm9,%ymm9,%ymm9
+  DB  196,193,124,92,193                  ; vsubps        %ymm9,%ymm0,%ymm0
+  DB  196,193,124,88,192                  ; vaddps        %ymm8,%ymm0,%ymm0
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,60,92,200                       ; vsubps        %ymm0,%ymm8,%ymm9
+  DB  197,180,84,192                      ; vandps        %ymm0,%ymm9,%ymm0
+  DB  197,188,95,192                      ; vmaxps        %ymm0,%ymm8,%ymm0
+  DB  196,98,125,24,5,108,231,2,0         ; vbroadcastss  0x2e76c(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,193,124,93,192                  ; vminps        %ymm8,%ymm0,%ymm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_decal_x_hsw
+_sk_decal_x_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,60,194,200,2                    ; vcmpleps      %ymm0,%ymm8,%ymm9
+  DB  196,98,125,24,80,64                 ; vbroadcastss  0x40(%rax),%ymm10
+  DB  196,65,124,194,210,1                ; vcmpltps      %ymm10,%ymm0,%ymm10
+  DB  196,65,44,84,201                    ; vandps        %ymm9,%ymm10,%ymm9
+  DB  196,65,45,118,210                   ; vpcmpeqd      %ymm10,%ymm10,%ymm10
+  DB  196,67,61,74,194,144                ; vblendvps     %ymm9,%ymm10,%ymm8,%ymm8
+  DB  197,124,17,0                        ; vmovups       %ymm8,(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_decal_y_hsw
+_sk_decal_y_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,60,194,201,2                    ; vcmpleps      %ymm1,%ymm8,%ymm9
+  DB  196,98,125,24,80,68                 ; vbroadcastss  0x44(%rax),%ymm10
+  DB  196,65,116,194,210,1                ; vcmpltps      %ymm10,%ymm1,%ymm10
+  DB  196,65,44,84,201                    ; vandps        %ymm9,%ymm10,%ymm9
+  DB  196,65,45,118,210                   ; vpcmpeqd      %ymm10,%ymm10,%ymm10
+  DB  196,67,61,74,194,144                ; vblendvps     %ymm9,%ymm10,%ymm8,%ymm8
+  DB  197,124,17,0                        ; vmovups       %ymm8,(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_decal_x_and_y_hsw
+_sk_decal_x_and_y_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,60,194,200,2                    ; vcmpleps      %ymm0,%ymm8,%ymm9
+  DB  196,67,125,25,202,1                 ; vextractf128  $0x1,%ymm9,%xmm10
+  DB  196,65,49,99,202                    ; vpacksswb     %xmm10,%xmm9,%xmm9
+  DB  196,98,125,24,80,64                 ; vbroadcastss  0x40(%rax),%ymm10
+  DB  196,65,124,194,210,1                ; vcmpltps      %ymm10,%ymm0,%ymm10
+  DB  196,67,125,25,211,1                 ; vextractf128  $0x1,%ymm10,%xmm11
+  DB  196,65,41,99,211                    ; vpacksswb     %xmm11,%xmm10,%xmm10
+  DB  197,60,194,217,2                    ; vcmpleps      %ymm1,%ymm8,%ymm11
+  DB  196,67,125,25,220,1                 ; vextractf128  $0x1,%ymm11,%xmm12
+  DB  196,65,33,99,220                    ; vpacksswb     %xmm12,%xmm11,%xmm11
+  DB  196,65,33,219,201                   ; vpand         %xmm9,%xmm11,%xmm9
+  DB  196,65,49,219,202                   ; vpand         %xmm10,%xmm9,%xmm9
+  DB  196,98,125,24,80,68                 ; vbroadcastss  0x44(%rax),%ymm10
+  DB  196,65,116,194,210,1                ; vcmpltps      %ymm10,%ymm1,%ymm10
+  DB  196,67,125,25,211,1                 ; vextractf128  $0x1,%ymm10,%xmm11
+  DB  196,65,41,99,211                    ; vpacksswb     %xmm11,%xmm10,%xmm10
+  DB  196,65,49,219,202                   ; vpand         %xmm10,%xmm9,%xmm9
+  DB  196,66,125,51,201                   ; vpmovzxwd     %xmm9,%ymm9
+  DB  196,193,53,114,241,31               ; vpslld        $0x1f,%ymm9,%ymm9
+  DB  196,193,53,114,225,31               ; vpsrad        $0x1f,%ymm9,%ymm9
+  DB  196,65,45,118,210                   ; vpcmpeqd      %ymm10,%ymm10,%ymm10
+  DB  196,67,61,74,194,144                ; vblendvps     %ymm9,%ymm10,%ymm8,%ymm8
+  DB  197,124,17,0                        ; vmovups       %ymm8,(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_check_decal_mask_hsw
+_sk_check_decal_mask_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,124,16,0                        ; vmovups       (%rax),%ymm8
+  DB  197,188,84,192                      ; vandps        %ymm0,%ymm8,%ymm0
+  DB  197,188,84,201                      ; vandps        %ymm1,%ymm8,%ymm1
+  DB  197,188,84,210                      ; vandps        %ymm2,%ymm8,%ymm2
+  DB  197,188,84,219                      ; vandps        %ymm3,%ymm8,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_luminance_to_alpha_hsw
+_sk_luminance_to_alpha_hsw LABEL PROC
+  DB  196,226,125,24,29,136,231,2,0       ; vbroadcastss  0x2e788(%rip),%ymm3        # 34bf8 <_sk_srcover_bgra_8888_sse2_lowp+0x3e0>
+  DB  196,98,125,24,5,131,231,2,0         ; vbroadcastss  0x2e783(%rip),%ymm8        # 34bfc <_sk_srcover_bgra_8888_sse2_lowp+0x3e4>
+  DB  196,193,116,89,200                  ; vmulps        %ymm8,%ymm1,%ymm1
+  DB  196,226,125,184,203                 ; vfmadd231ps   %ymm3,%ymm0,%ymm1
+  DB  196,226,125,24,29,116,231,2,0       ; vbroadcastss  0x2e774(%rip),%ymm3        # 34c00 <_sk_srcover_bgra_8888_sse2_lowp+0x3e8>
+  DB  196,226,109,168,217                 ; vfmadd213ps   %ymm1,%ymm2,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
+  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
+  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_matrix_translate_hsw
+_sk_matrix_translate_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,24,0                     ; vbroadcastss  (%rax),%ymm8
+  DB  197,188,88,192                      ; vaddps        %ymm0,%ymm8,%ymm0
+  DB  196,98,125,24,64,4                  ; vbroadcastss  0x4(%rax),%ymm8
+  DB  197,188,88,201                      ; vaddps        %ymm1,%ymm8,%ymm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_matrix_scale_translate_hsw
+_sk_matrix_scale_translate_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,24,0                     ; vbroadcastss  (%rax),%ymm8
+  DB  196,98,125,24,72,8                  ; vbroadcastss  0x8(%rax),%ymm9
+  DB  196,194,61,168,193                  ; vfmadd213ps   %ymm9,%ymm8,%ymm0
+  DB  196,98,125,24,64,4                  ; vbroadcastss  0x4(%rax),%ymm8
+  DB  196,98,125,24,72,12                 ; vbroadcastss  0xc(%rax),%ymm9
+  DB  196,194,61,168,201                  ; vfmadd213ps   %ymm9,%ymm8,%ymm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_matrix_2x3_hsw
+_sk_matrix_2x3_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,24,8                     ; vbroadcastss  (%rax),%ymm9
+  DB  196,98,125,24,80,8                  ; vbroadcastss  0x8(%rax),%ymm10
+  DB  196,98,125,24,64,16                 ; vbroadcastss  0x10(%rax),%ymm8
+  DB  196,66,117,184,194                  ; vfmadd231ps   %ymm10,%ymm1,%ymm8
+  DB  196,66,125,184,193                  ; vfmadd231ps   %ymm9,%ymm0,%ymm8
+  DB  196,98,125,24,80,4                  ; vbroadcastss  0x4(%rax),%ymm10
+  DB  196,98,125,24,88,12                 ; vbroadcastss  0xc(%rax),%ymm11
+  DB  196,98,125,24,72,20                 ; vbroadcastss  0x14(%rax),%ymm9
+  DB  196,66,117,184,203                  ; vfmadd231ps   %ymm11,%ymm1,%ymm9
+  DB  196,66,125,184,202                  ; vfmadd231ps   %ymm10,%ymm0,%ymm9
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,124,41,192                      ; vmovaps       %ymm8,%ymm0
+  DB  197,124,41,201                      ; vmovaps       %ymm9,%ymm1
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_matrix_3x4_hsw
+_sk_matrix_3x4_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,24,8                     ; vbroadcastss  (%rax),%ymm9
+  DB  196,98,125,24,80,12                 ; vbroadcastss  0xc(%rax),%ymm10
+  DB  196,98,125,24,88,24                 ; vbroadcastss  0x18(%rax),%ymm11
+  DB  196,98,125,24,64,36                 ; vbroadcastss  0x24(%rax),%ymm8
+  DB  196,66,109,184,195                  ; vfmadd231ps   %ymm11,%ymm2,%ymm8
+  DB  196,66,117,184,194                  ; vfmadd231ps   %ymm10,%ymm1,%ymm8
+  DB  196,66,125,184,193                  ; vfmadd231ps   %ymm9,%ymm0,%ymm8
+  DB  196,98,125,24,80,4                  ; vbroadcastss  0x4(%rax),%ymm10
+  DB  196,98,125,24,88,16                 ; vbroadcastss  0x10(%rax),%ymm11
+  DB  196,98,125,24,96,28                 ; vbroadcastss  0x1c(%rax),%ymm12
+  DB  196,98,125,24,72,40                 ; vbroadcastss  0x28(%rax),%ymm9
+  DB  196,66,109,184,204                  ; vfmadd231ps   %ymm12,%ymm2,%ymm9
+  DB  196,66,117,184,203                  ; vfmadd231ps   %ymm11,%ymm1,%ymm9
+  DB  196,66,125,184,202                  ; vfmadd231ps   %ymm10,%ymm0,%ymm9
+  DB  196,98,125,24,88,8                  ; vbroadcastss  0x8(%rax),%ymm11
+  DB  196,98,125,24,96,20                 ; vbroadcastss  0x14(%rax),%ymm12
+  DB  196,98,125,24,104,32                ; vbroadcastss  0x20(%rax),%ymm13
+  DB  196,98,125,24,80,44                 ; vbroadcastss  0x2c(%rax),%ymm10
+  DB  196,66,109,184,213                  ; vfmadd231ps   %ymm13,%ymm2,%ymm10
+  DB  196,66,117,184,212                  ; vfmadd231ps   %ymm12,%ymm1,%ymm10
+  DB  196,66,125,184,211                  ; vfmadd231ps   %ymm11,%ymm0,%ymm10
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,124,41,192                      ; vmovaps       %ymm8,%ymm0
+  DB  197,124,41,201                      ; vmovaps       %ymm9,%ymm1
+  DB  197,124,41,210                      ; vmovaps       %ymm10,%ymm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_matrix_4x5_hsw
+_sk_matrix_4x5_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,24,8                     ; vbroadcastss  (%rax),%ymm9
+  DB  196,98,125,24,80,16                 ; vbroadcastss  0x10(%rax),%ymm10
+  DB  196,98,125,24,88,32                 ; vbroadcastss  0x20(%rax),%ymm11
+  DB  196,98,125,24,96,48                 ; vbroadcastss  0x30(%rax),%ymm12
+  DB  196,98,125,24,64,64                 ; vbroadcastss  0x40(%rax),%ymm8
+  DB  196,66,101,184,196                  ; vfmadd231ps   %ymm12,%ymm3,%ymm8
+  DB  196,66,109,184,195                  ; vfmadd231ps   %ymm11,%ymm2,%ymm8
+  DB  196,66,117,184,194                  ; vfmadd231ps   %ymm10,%ymm1,%ymm8
+  DB  196,66,125,184,193                  ; vfmadd231ps   %ymm9,%ymm0,%ymm8
+  DB  196,98,125,24,80,4                  ; vbroadcastss  0x4(%rax),%ymm10
+  DB  196,98,125,24,88,20                 ; vbroadcastss  0x14(%rax),%ymm11
+  DB  196,98,125,24,96,36                 ; vbroadcastss  0x24(%rax),%ymm12
+  DB  196,98,125,24,104,52                ; vbroadcastss  0x34(%rax),%ymm13
+  DB  196,98,125,24,72,68                 ; vbroadcastss  0x44(%rax),%ymm9
+  DB  196,66,101,184,205                  ; vfmadd231ps   %ymm13,%ymm3,%ymm9
+  DB  196,66,109,184,204                  ; vfmadd231ps   %ymm12,%ymm2,%ymm9
+  DB  196,66,117,184,203                  ; vfmadd231ps   %ymm11,%ymm1,%ymm9
+  DB  196,66,125,184,202                  ; vfmadd231ps   %ymm10,%ymm0,%ymm9
+  DB  196,98,125,24,88,8                  ; vbroadcastss  0x8(%rax),%ymm11
+  DB  196,98,125,24,96,24                 ; vbroadcastss  0x18(%rax),%ymm12
+  DB  196,98,125,24,104,40                ; vbroadcastss  0x28(%rax),%ymm13
+  DB  196,98,125,24,112,56                ; vbroadcastss  0x38(%rax),%ymm14
+  DB  196,98,125,24,80,72                 ; vbroadcastss  0x48(%rax),%ymm10
+  DB  196,66,101,184,214                  ; vfmadd231ps   %ymm14,%ymm3,%ymm10
+  DB  196,66,109,184,213                  ; vfmadd231ps   %ymm13,%ymm2,%ymm10
+  DB  196,66,117,184,212                  ; vfmadd231ps   %ymm12,%ymm1,%ymm10
+  DB  196,66,125,184,211                  ; vfmadd231ps   %ymm11,%ymm0,%ymm10
+  DB  196,98,125,24,96,12                 ; vbroadcastss  0xc(%rax),%ymm12
+  DB  196,98,125,24,104,28                ; vbroadcastss  0x1c(%rax),%ymm13
+  DB  196,98,125,24,112,44                ; vbroadcastss  0x2c(%rax),%ymm14
+  DB  196,98,125,24,120,60                ; vbroadcastss  0x3c(%rax),%ymm15
+  DB  196,98,125,24,88,76                 ; vbroadcastss  0x4c(%rax),%ymm11
+  DB  196,66,101,184,223                  ; vfmadd231ps   %ymm15,%ymm3,%ymm11
+  DB  196,66,109,184,222                  ; vfmadd231ps   %ymm14,%ymm2,%ymm11
+  DB  196,66,117,184,221                  ; vfmadd231ps   %ymm13,%ymm1,%ymm11
+  DB  196,66,125,184,220                  ; vfmadd231ps   %ymm12,%ymm0,%ymm11
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,124,41,192                      ; vmovaps       %ymm8,%ymm0
+  DB  197,124,41,201                      ; vmovaps       %ymm9,%ymm1
+  DB  197,124,41,210                      ; vmovaps       %ymm10,%ymm2
+  DB  197,124,41,219                      ; vmovaps       %ymm11,%ymm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_matrix_4x3_hsw
+_sk_matrix_4x3_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,16                   ; vbroadcastss  (%rax),%ymm2
+  DB  196,226,125,24,88,16                ; vbroadcastss  0x10(%rax),%ymm3
+  DB  196,98,125,24,64,32                 ; vbroadcastss  0x20(%rax),%ymm8
+  DB  196,98,117,184,195                  ; vfmadd231ps   %ymm3,%ymm1,%ymm8
+  DB  196,98,125,184,194                  ; vfmadd231ps   %ymm2,%ymm0,%ymm8
+  DB  196,226,125,24,80,4                 ; vbroadcastss  0x4(%rax),%ymm2
+  DB  196,226,125,24,88,20                ; vbroadcastss  0x14(%rax),%ymm3
+  DB  196,98,125,24,72,36                 ; vbroadcastss  0x24(%rax),%ymm9
+  DB  196,98,117,184,203                  ; vfmadd231ps   %ymm3,%ymm1,%ymm9
+  DB  196,98,125,184,202                  ; vfmadd231ps   %ymm2,%ymm0,%ymm9
+  DB  196,226,125,24,88,8                 ; vbroadcastss  0x8(%rax),%ymm3
+  DB  196,98,125,24,80,24                 ; vbroadcastss  0x18(%rax),%ymm10
+  DB  196,226,125,24,80,40                ; vbroadcastss  0x28(%rax),%ymm2
+  DB  196,194,117,184,210                 ; vfmadd231ps   %ymm10,%ymm1,%ymm2
+  DB  196,226,125,184,211                 ; vfmadd231ps   %ymm3,%ymm0,%ymm2
+  DB  196,98,125,24,80,12                 ; vbroadcastss  0xc(%rax),%ymm10
+  DB  196,98,125,24,88,28                 ; vbroadcastss  0x1c(%rax),%ymm11
+  DB  196,226,125,24,88,44                ; vbroadcastss  0x2c(%rax),%ymm3
+  DB  196,194,117,184,219                 ; vfmadd231ps   %ymm11,%ymm1,%ymm3
+  DB  196,194,125,184,218                 ; vfmadd231ps   %ymm10,%ymm0,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,124,41,192                      ; vmovaps       %ymm8,%ymm0
+  DB  197,124,41,201                      ; vmovaps       %ymm9,%ymm1
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_matrix_perspective_hsw
+_sk_matrix_perspective_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,24,0                     ; vbroadcastss  (%rax),%ymm8
+  DB  196,98,125,24,72,4                  ; vbroadcastss  0x4(%rax),%ymm9
+  DB  196,98,125,24,80,8                  ; vbroadcastss  0x8(%rax),%ymm10
+  DB  196,66,117,184,209                  ; vfmadd231ps   %ymm9,%ymm1,%ymm10
+  DB  196,66,125,184,208                  ; vfmadd231ps   %ymm8,%ymm0,%ymm10
+  DB  196,98,125,24,64,12                 ; vbroadcastss  0xc(%rax),%ymm8
+  DB  196,98,125,24,72,16                 ; vbroadcastss  0x10(%rax),%ymm9
+  DB  196,98,125,24,88,20                 ; vbroadcastss  0x14(%rax),%ymm11
+  DB  196,66,117,184,217                  ; vfmadd231ps   %ymm9,%ymm1,%ymm11
+  DB  196,66,125,184,216                  ; vfmadd231ps   %ymm8,%ymm0,%ymm11
+  DB  196,98,125,24,64,24                 ; vbroadcastss  0x18(%rax),%ymm8
+  DB  196,98,125,24,72,28                 ; vbroadcastss  0x1c(%rax),%ymm9
+  DB  196,98,125,24,96,32                 ; vbroadcastss  0x20(%rax),%ymm12
+  DB  196,66,117,184,225                  ; vfmadd231ps   %ymm9,%ymm1,%ymm12
+  DB  196,66,125,184,224                  ; vfmadd231ps   %ymm8,%ymm0,%ymm12
+  DB  196,193,124,83,204                  ; vrcpps        %ymm12,%ymm1
+  DB  197,172,89,193                      ; vmulps        %ymm1,%ymm10,%ymm0
+  DB  197,164,89,201                      ; vmulps        %ymm1,%ymm11,%ymm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_evenly_spaced_gradient_hsw
+_sk_evenly_spaced_gradient_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,8                            ; mov           (%rax),%r9
+  DB  76,139,64,8                         ; mov           0x8(%rax),%r8
+  DB  77,137,202                          ; mov           %r9,%r10
+  DB  73,255,202                          ; dec           %r10
+  DB  120,7                               ; js            6784 <_sk_evenly_spaced_gradient_hsw+0x18>
+  DB  196,193,242,42,202                  ; vcvtsi2ss     %r10,%xmm1,%xmm1
+  DB  235,22                              ; jmp           679a <_sk_evenly_spaced_gradient_hsw+0x2e>
+  DB  77,137,211                          ; mov           %r10,%r11
+  DB  73,209,235                          ; shr           %r11
+  DB  65,131,226,1                        ; and           $0x1,%r10d
+  DB  77,9,218                            ; or            %r11,%r10
+  DB  196,193,242,42,202                  ; vcvtsi2ss     %r10,%xmm1,%xmm1
+  DB  197,242,88,201                      ; vaddss        %xmm1,%xmm1,%xmm1
+  DB  196,226,125,24,201                  ; vbroadcastss  %xmm1,%ymm1
+  DB  197,244,89,200                      ; vmulps        %ymm0,%ymm1,%ymm1
+  DB  197,126,91,225                      ; vcvttps2dq    %ymm1,%ymm12
+  DB  73,131,249,8                        ; cmp           $0x8,%r9
+  DB  119,73                              ; ja            67f6 <_sk_evenly_spaced_gradient_hsw+0x8a>
+  DB  196,66,29,22,0                      ; vpermps       (%r8),%ymm12,%ymm8
+  DB  76,139,64,40                        ; mov           0x28(%rax),%r8
+  DB  196,66,29,22,8                      ; vpermps       (%r8),%ymm12,%ymm9
+  DB  76,139,64,16                        ; mov           0x10(%rax),%r8
+  DB  76,139,72,24                        ; mov           0x18(%rax),%r9
+  DB  196,194,29,22,8                     ; vpermps       (%r8),%ymm12,%ymm1
+  DB  76,139,64,48                        ; mov           0x30(%rax),%r8
+  DB  196,66,29,22,24                     ; vpermps       (%r8),%ymm12,%ymm11
+  DB  196,194,29,22,17                    ; vpermps       (%r9),%ymm12,%ymm2
+  DB  76,139,64,56                        ; mov           0x38(%rax),%r8
+  DB  196,66,29,22,40                     ; vpermps       (%r8),%ymm12,%ymm13
+  DB  76,139,64,32                        ; mov           0x20(%rax),%r8
+  DB  196,194,29,22,24                    ; vpermps       (%r8),%ymm12,%ymm3
+  DB  72,139,64,64                        ; mov           0x40(%rax),%rax
+  DB  196,98,29,22,16                     ; vpermps       (%rax),%ymm12,%ymm10
+  DB  233,147,0,0,0                       ; jmpq          6889 <_sk_evenly_spaced_gradient_hsw+0x11d>
+  DB  196,65,13,118,246                   ; vpcmpeqd      %ymm14,%ymm14,%ymm14
+  DB  196,65,44,87,210                    ; vxorps        %ymm10,%ymm10,%ymm10
+  DB  197,245,118,201                     ; vpcmpeqd      %ymm1,%ymm1,%ymm1
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  196,2,117,146,4,160                 ; vgatherdps    %ymm1,(%r8,%ymm12,4),%ymm8
+  DB  76,139,64,40                        ; mov           0x28(%rax),%r8
+  DB  197,245,118,201                     ; vpcmpeqd      %ymm1,%ymm1,%ymm1
+  DB  196,65,52,87,201                    ; vxorps        %ymm9,%ymm9,%ymm9
+  DB  196,2,117,146,12,160                ; vgatherdps    %ymm1,(%r8,%ymm12,4),%ymm9
+  DB  76,139,64,16                        ; mov           0x10(%rax),%r8
+  DB  76,139,72,24                        ; mov           0x18(%rax),%r9
+  DB  197,237,118,210                     ; vpcmpeqd      %ymm2,%ymm2,%ymm2
+  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
+  DB  196,130,109,146,12,160              ; vgatherdps    %ymm2,(%r8,%ymm12,4),%ymm1
+  DB  76,139,64,48                        ; mov           0x30(%rax),%r8
+  DB  197,237,118,210                     ; vpcmpeqd      %ymm2,%ymm2,%ymm2
+  DB  196,65,36,87,219                    ; vxorps        %ymm11,%ymm11,%ymm11
+  DB  196,2,109,146,28,160                ; vgatherdps    %ymm2,(%r8,%ymm12,4),%ymm11
+  DB  197,229,118,219                     ; vpcmpeqd      %ymm3,%ymm3,%ymm3
+  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
+  DB  196,130,101,146,20,161              ; vgatherdps    %ymm3,(%r9,%ymm12,4),%ymm2
+  DB  76,139,64,56                        ; mov           0x38(%rax),%r8
+  DB  197,229,118,219                     ; vpcmpeqd      %ymm3,%ymm3,%ymm3
+  DB  196,65,20,87,237                    ; vxorps        %ymm13,%ymm13,%ymm13
+  DB  196,2,101,146,44,160                ; vgatherdps    %ymm3,(%r8,%ymm12,4),%ymm13
+  DB  76,139,64,32                        ; mov           0x20(%rax),%r8
+  DB  196,65,5,118,255                    ; vpcmpeqd      %ymm15,%ymm15,%ymm15
+  DB  197,228,87,219                      ; vxorps        %ymm3,%ymm3,%ymm3
+  DB  196,130,5,146,28,160                ; vgatherdps    %ymm15,(%r8,%ymm12,4),%ymm3
+  DB  72,139,64,64                        ; mov           0x40(%rax),%rax
+  DB  196,34,13,146,20,160                ; vgatherdps    %ymm14,(%rax,%ymm12,4),%ymm10
+  DB  196,66,125,168,193                  ; vfmadd213ps   %ymm9,%ymm0,%ymm8
+  DB  196,194,125,168,203                 ; vfmadd213ps   %ymm11,%ymm0,%ymm1
+  DB  196,194,125,168,213                 ; vfmadd213ps   %ymm13,%ymm0,%ymm2
+  DB  196,194,125,168,218                 ; vfmadd213ps   %ymm10,%ymm0,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,124,41,192                      ; vmovaps       %ymm8,%ymm0
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_gradient_hsw
+_sk_gradient_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  73,131,248,1                        ; cmp           $0x1,%r8
+  DB  15,134,220,0,0,0                    ; jbe           6990 <_sk_gradient_hsw+0xeb>
+  DB  76,139,72,72                        ; mov           0x48(%rax),%r9
+  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
+  DB  65,186,1,0,0,0                      ; mov           $0x1,%r10d
+  DB  196,226,125,24,21,1,226,2,0         ; vbroadcastss  0x2e201(%rip),%ymm2        # 34acc <_sk_srcover_bgra_8888_sse2_lowp+0x2b4>
+  DB  196,65,53,239,201                   ; vpxor         %ymm9,%ymm9,%ymm9
+  DB  196,130,125,24,28,145               ; vbroadcastss  (%r9,%r10,4),%ymm3
+  DB  197,228,194,216,2                   ; vcmpleps      %ymm0,%ymm3,%ymm3
+  DB  196,227,117,74,218,48               ; vblendvps     %ymm3,%ymm2,%ymm1,%ymm3
+  DB  197,53,254,203                      ; vpaddd        %ymm3,%ymm9,%ymm9
+  DB  73,255,194                          ; inc           %r10
+  DB  77,57,208                           ; cmp           %r10,%r8
+  DB  117,227                             ; jne           68d0 <_sk_gradient_hsw+0x2b>
+  DB  76,139,72,8                         ; mov           0x8(%rax),%r9
+  DB  73,131,248,8                        ; cmp           $0x8,%r8
+  DB  15,134,158,0,0,0                    ; jbe           6999 <_sk_gradient_hsw+0xf4>
+  DB  196,65,13,118,246                   ; vpcmpeqd      %ymm14,%ymm14,%ymm14
+  DB  196,65,36,87,219                    ; vxorps        %ymm11,%ymm11,%ymm11
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,245,118,201                     ; vpcmpeqd      %ymm1,%ymm1,%ymm1
+  DB  196,2,117,146,4,137                 ; vgatherdps    %ymm1,(%r9,%ymm9,4),%ymm8
+  DB  76,139,64,40                        ; mov           0x28(%rax),%r8
+  DB  196,65,44,87,210                    ; vxorps        %ymm10,%ymm10,%ymm10
+  DB  197,245,118,201                     ; vpcmpeqd      %ymm1,%ymm1,%ymm1
+  DB  196,2,117,146,20,136                ; vgatherdps    %ymm1,(%r8,%ymm9,4),%ymm10
+  DB  76,139,64,16                        ; mov           0x10(%rax),%r8
+  DB  76,139,72,24                        ; mov           0x18(%rax),%r9
+  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
+  DB  197,237,118,210                     ; vpcmpeqd      %ymm2,%ymm2,%ymm2
+  DB  196,130,109,146,12,136              ; vgatherdps    %ymm2,(%r8,%ymm9,4),%ymm1
+  DB  76,139,64,48                        ; mov           0x30(%rax),%r8
+  DB  196,65,28,87,228                    ; vxorps        %ymm12,%ymm12,%ymm12
+  DB  197,237,118,210                     ; vpcmpeqd      %ymm2,%ymm2,%ymm2
+  DB  196,2,109,146,36,136                ; vgatherdps    %ymm2,(%r8,%ymm9,4),%ymm12
+  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
+  DB  197,229,118,219                     ; vpcmpeqd      %ymm3,%ymm3,%ymm3
+  DB  196,130,101,146,20,137              ; vgatherdps    %ymm3,(%r9,%ymm9,4),%ymm2
+  DB  76,139,64,56                        ; mov           0x38(%rax),%r8
+  DB  196,65,20,87,237                    ; vxorps        %ymm13,%ymm13,%ymm13
+  DB  197,229,118,219                     ; vpcmpeqd      %ymm3,%ymm3,%ymm3
+  DB  196,2,101,146,44,136                ; vgatherdps    %ymm3,(%r8,%ymm9,4),%ymm13
+  DB  76,139,64,32                        ; mov           0x20(%rax),%r8
+  DB  197,228,87,219                      ; vxorps        %ymm3,%ymm3,%ymm3
+  DB  196,65,5,118,255                    ; vpcmpeqd      %ymm15,%ymm15,%ymm15
+  DB  196,130,5,146,28,136                ; vgatherdps    %ymm15,(%r8,%ymm9,4),%ymm3
+  DB  72,139,64,64                        ; mov           0x40(%rax),%rax
+  DB  196,34,13,146,28,136                ; vgatherdps    %ymm14,(%rax,%ymm9,4),%ymm11
+  DB  235,77                              ; jmp           69dd <_sk_gradient_hsw+0x138>
+  DB  76,139,72,8                         ; mov           0x8(%rax),%r9
+  DB  196,65,52,87,201                    ; vxorps        %ymm9,%ymm9,%ymm9
+  DB  196,66,53,22,1                      ; vpermps       (%r9),%ymm9,%ymm8
+  DB  76,139,64,40                        ; mov           0x28(%rax),%r8
+  DB  196,66,53,22,16                     ; vpermps       (%r8),%ymm9,%ymm10
+  DB  76,139,64,16                        ; mov           0x10(%rax),%r8
+  DB  76,139,72,24                        ; mov           0x18(%rax),%r9
+  DB  196,194,53,22,8                     ; vpermps       (%r8),%ymm9,%ymm1
+  DB  76,139,64,48                        ; mov           0x30(%rax),%r8
+  DB  196,66,53,22,32                     ; vpermps       (%r8),%ymm9,%ymm12
+  DB  196,194,53,22,17                    ; vpermps       (%r9),%ymm9,%ymm2
+  DB  76,139,64,56                        ; mov           0x38(%rax),%r8
+  DB  196,66,53,22,40                     ; vpermps       (%r8),%ymm9,%ymm13
+  DB  76,139,64,32                        ; mov           0x20(%rax),%r8
+  DB  196,194,53,22,24                    ; vpermps       (%r8),%ymm9,%ymm3
+  DB  72,139,64,64                        ; mov           0x40(%rax),%rax
+  DB  196,98,53,22,24                     ; vpermps       (%rax),%ymm9,%ymm11
+  DB  196,66,125,168,194                  ; vfmadd213ps   %ymm10,%ymm0,%ymm8
+  DB  196,194,125,168,204                 ; vfmadd213ps   %ymm12,%ymm0,%ymm1
+  DB  196,194,125,168,213                 ; vfmadd213ps   %ymm13,%ymm0,%ymm2
+  DB  196,194,125,168,219                 ; vfmadd213ps   %ymm11,%ymm0,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,124,41,192                      ; vmovaps       %ymm8,%ymm0
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_evenly_spaced_2_stop_gradient_hsw
+_sk_evenly_spaced_2_stop_gradient_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,8                    ; vbroadcastss  (%rax),%ymm1
+  DB  196,98,125,24,64,16                 ; vbroadcastss  0x10(%rax),%ymm8
+  DB  196,98,125,184,193                  ; vfmadd231ps   %ymm1,%ymm0,%ymm8
+  DB  196,226,125,24,80,4                 ; vbroadcastss  0x4(%rax),%ymm2
+  DB  196,226,125,24,72,20                ; vbroadcastss  0x14(%rax),%ymm1
+  DB  196,226,125,184,202                 ; vfmadd231ps   %ymm2,%ymm0,%ymm1
+  DB  196,226,125,24,88,8                 ; vbroadcastss  0x8(%rax),%ymm3
+  DB  196,226,125,24,80,24                ; vbroadcastss  0x18(%rax),%ymm2
+  DB  196,226,125,184,211                 ; vfmadd231ps   %ymm3,%ymm0,%ymm2
+  DB  196,98,125,24,72,12                 ; vbroadcastss  0xc(%rax),%ymm9
+  DB  196,226,125,24,88,28                ; vbroadcastss  0x1c(%rax),%ymm3
+  DB  196,194,125,184,217                 ; vfmadd231ps   %ymm9,%ymm0,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,124,41,192                      ; vmovaps       %ymm8,%ymm0
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_xy_to_unit_angle_hsw
+_sk_xy_to_unit_angle_hsw LABEL PROC
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,60,92,200                       ; vsubps        %ymm0,%ymm8,%ymm9
+  DB  197,52,84,200                       ; vandps        %ymm0,%ymm9,%ymm9
+  DB  197,60,92,209                       ; vsubps        %ymm1,%ymm8,%ymm10
+  DB  197,44,84,209                       ; vandps        %ymm1,%ymm10,%ymm10
+  DB  196,65,52,93,218                    ; vminps        %ymm10,%ymm9,%ymm11
+  DB  196,65,52,95,226                    ; vmaxps        %ymm10,%ymm9,%ymm12
+  DB  196,65,36,94,220                    ; vdivps        %ymm12,%ymm11,%ymm11
+  DB  196,65,36,89,227                    ; vmulps        %ymm11,%ymm11,%ymm12
+  DB  196,98,125,24,45,140,225,2,0        ; vbroadcastss  0x2e18c(%rip),%ymm13        # 34c04 <_sk_srcover_bgra_8888_sse2_lowp+0x3ec>
+  DB  196,98,125,24,53,135,225,2,0        ; vbroadcastss  0x2e187(%rip),%ymm14        # 34c08 <_sk_srcover_bgra_8888_sse2_lowp+0x3f0>
+  DB  196,66,29,184,245                   ; vfmadd231ps   %ymm13,%ymm12,%ymm14
+  DB  196,98,125,24,45,125,225,2,0        ; vbroadcastss  0x2e17d(%rip),%ymm13        # 34c0c <_sk_srcover_bgra_8888_sse2_lowp+0x3f4>
+  DB  196,66,29,184,238                   ; vfmadd231ps   %ymm14,%ymm12,%ymm13
+  DB  196,98,125,24,53,115,225,2,0        ; vbroadcastss  0x2e173(%rip),%ymm14        # 34c10 <_sk_srcover_bgra_8888_sse2_lowp+0x3f8>
+  DB  196,66,29,184,245                   ; vfmadd231ps   %ymm13,%ymm12,%ymm14
+  DB  196,65,36,89,222                    ; vmulps        %ymm14,%ymm11,%ymm11
+  DB  196,65,52,194,202,1                 ; vcmpltps      %ymm10,%ymm9,%ymm9
+  DB  196,98,125,24,21,94,225,2,0         ; vbroadcastss  0x2e15e(%rip),%ymm10        # 34c14 <_sk_srcover_bgra_8888_sse2_lowp+0x3fc>
+  DB  196,65,44,92,211                    ; vsubps        %ymm11,%ymm10,%ymm10
+  DB  196,67,37,74,202,144                ; vblendvps     %ymm9,%ymm10,%ymm11,%ymm9
+  DB  196,193,124,194,192,1               ; vcmpltps      %ymm8,%ymm0,%ymm0
+  DB  196,98,125,24,21,244,223,2,0        ; vbroadcastss  0x2dff4(%rip),%ymm10        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  196,65,44,92,209                    ; vsubps        %ymm9,%ymm10,%ymm10
+  DB  196,195,53,74,194,0                 ; vblendvps     %ymm0,%ymm10,%ymm9,%ymm0
+  DB  196,65,116,194,200,1                ; vcmpltps      %ymm8,%ymm1,%ymm9
+  DB  196,98,125,24,21,222,223,2,0        ; vbroadcastss  0x2dfde(%rip),%ymm10        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,44,92,208                       ; vsubps        %ymm0,%ymm10,%ymm10
+  DB  196,195,125,74,194,144              ; vblendvps     %ymm9,%ymm10,%ymm0,%ymm0
+  DB  196,65,124,194,200,3                ; vcmpunordps   %ymm8,%ymm0,%ymm9
+  DB  196,195,125,74,192,144              ; vblendvps     %ymm9,%ymm8,%ymm0,%ymm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_xy_to_radius_hsw
+_sk_xy_to_radius_hsw LABEL PROC
+  DB  197,116,89,193                      ; vmulps        %ymm1,%ymm1,%ymm8
+  DB  196,98,125,184,192                  ; vfmadd231ps   %ymm0,%ymm0,%ymm8
+  DB  196,193,124,81,192                  ; vsqrtps       %ymm8,%ymm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_negate_x_hsw
+_sk_negate_x_hsw LABEL PROC
+  DB  196,98,125,24,5,249,224,2,0         ; vbroadcastss  0x2e0f9(%rip),%ymm8        # 34c18 <_sk_srcover_bgra_8888_sse2_lowp+0x400>
+  DB  196,193,124,87,192                  ; vxorps        %ymm8,%ymm0,%ymm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_xy_to_2pt_conical_strip_hsw
+_sk_xy_to_2pt_conical_strip_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,24,64,64                 ; vbroadcastss  0x40(%rax),%ymm8
+  DB  196,98,117,188,193                  ; vfnmadd231ps  %ymm1,%ymm1,%ymm8
+  DB  196,65,124,81,192                   ; vsqrtps       %ymm8,%ymm8
+  DB  197,188,88,192                      ; vaddps        %ymm0,%ymm8,%ymm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_xy_to_2pt_conical_focal_on_circle_hsw
+_sk_xy_to_2pt_conical_focal_on_circle_hsw LABEL PROC
+  DB  197,116,89,193                      ; vmulps        %ymm1,%ymm1,%ymm8
+  DB  197,60,94,192                       ; vdivps        %ymm0,%ymm8,%ymm8
+  DB  197,188,88,192                      ; vaddps        %ymm0,%ymm8,%ymm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_xy_to_2pt_conical_well_behaved_hsw
+_sk_xy_to_2pt_conical_well_behaved_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,116,89,193                      ; vmulps        %ymm1,%ymm1,%ymm8
+  DB  196,98,125,184,192                  ; vfmadd231ps   %ymm0,%ymm0,%ymm8
+  DB  196,65,124,81,192                   ; vsqrtps       %ymm8,%ymm8
+  DB  196,98,125,24,72,64                 ; vbroadcastss  0x40(%rax),%ymm9
+  DB  196,194,53,172,192                  ; vfnmadd213ps  %ymm8,%ymm9,%ymm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_xy_to_2pt_conical_greater_hsw
+_sk_xy_to_2pt_conical_greater_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,116,89,193                      ; vmulps        %ymm1,%ymm1,%ymm8
+  DB  196,98,125,186,192                  ; vfmsub231ps   %ymm0,%ymm0,%ymm8
+  DB  196,65,124,81,192                   ; vsqrtps       %ymm8,%ymm8
+  DB  196,98,125,24,72,64                 ; vbroadcastss  0x40(%rax),%ymm9
+  DB  196,194,53,172,192                  ; vfnmadd213ps  %ymm8,%ymm9,%ymm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_xy_to_2pt_conical_smaller_hsw
+_sk_xy_to_2pt_conical_smaller_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,116,89,193                      ; vmulps        %ymm1,%ymm1,%ymm8
+  DB  196,98,125,186,192                  ; vfmsub231ps   %ymm0,%ymm0,%ymm8
+  DB  196,65,124,81,192                   ; vsqrtps       %ymm8,%ymm8
+  DB  196,98,125,24,72,64                 ; vbroadcastss  0x40(%rax),%ymm9
+  DB  196,194,53,174,192                  ; vfnmsub213ps  %ymm8,%ymm9,%ymm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_alter_2pt_conical_compensate_focal_hsw
+_sk_alter_2pt_conical_compensate_focal_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,24,64,68                 ; vbroadcastss  0x44(%rax),%ymm8
+  DB  197,188,88,192                      ; vaddps        %ymm0,%ymm8,%ymm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_alter_2pt_conical_unswap_hsw
+_sk_alter_2pt_conical_unswap_hsw LABEL PROC
+  DB  196,98,125,24,5,0,223,2,0           ; vbroadcastss  0x2df00(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,188,92,192                      ; vsubps        %ymm0,%ymm8,%ymm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_mask_2pt_conical_nan_hsw
+_sk_mask_2pt_conical_nan_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,65,52,87,201                    ; vxorps        %ymm9,%ymm9,%ymm9
+  DB  196,65,124,194,193,3                ; vcmpunordps   %ymm9,%ymm0,%ymm8
+  DB  196,67,125,74,193,128               ; vblendvps     %ymm8,%ymm9,%ymm0,%ymm8
+  DB  196,193,124,194,193,7               ; vcmpordps     %ymm9,%ymm0,%ymm0
+  DB  196,65,45,118,210                   ; vpcmpeqd      %ymm10,%ymm10,%ymm10
+  DB  196,195,53,74,194,0                 ; vblendvps     %ymm0,%ymm10,%ymm9,%ymm0
+  DB  197,252,17,0                        ; vmovups       %ymm0,(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,124,41,192                      ; vmovaps       %ymm8,%ymm0
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_mask_2pt_conical_degenerates_hsw
+_sk_mask_2pt_conical_degenerates_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,65,52,87,201                    ; vxorps        %ymm9,%ymm9,%ymm9
+  DB  197,52,194,192,5                    ; vcmpnltps     %ymm0,%ymm9,%ymm8
+  DB  196,67,125,74,193,128               ; vblendvps     %ymm8,%ymm9,%ymm0,%ymm8
+  DB  197,180,194,192,1                   ; vcmpltps      %ymm0,%ymm9,%ymm0
+  DB  196,65,45,118,210                   ; vpcmpeqd      %ymm10,%ymm10,%ymm10
+  DB  196,195,53,74,194,0                 ; vblendvps     %ymm0,%ymm10,%ymm9,%ymm0
+  DB  197,252,17,0                        ; vmovups       %ymm0,(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,124,41,192                      ; vmovaps       %ymm8,%ymm0
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_apply_vector_mask_hsw
+_sk_apply_vector_mask_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,124,16,0                        ; vmovups       (%rax),%ymm8
+  DB  197,188,84,192                      ; vandps        %ymm0,%ymm8,%ymm0
+  DB  197,188,84,201                      ; vandps        %ymm1,%ymm8,%ymm1
+  DB  197,188,84,210                      ; vandps        %ymm2,%ymm8,%ymm2
+  DB  197,188,84,219                      ; vandps        %ymm3,%ymm8,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_save_xy_hsw
+_sk_save_xy_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,24,5,113,222,2,0         ; vbroadcastss  0x2de71(%rip),%ymm8        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  196,65,124,88,200                   ; vaddps        %ymm8,%ymm0,%ymm9
+  DB  196,67,125,8,209,1                  ; vroundps      $0x1,%ymm9,%ymm10
+  DB  196,65,52,92,202                    ; vsubps        %ymm10,%ymm9,%ymm9
+  DB  196,65,116,88,192                   ; vaddps        %ymm8,%ymm1,%ymm8
+  DB  196,67,125,8,208,1                  ; vroundps      $0x1,%ymm8,%ymm10
+  DB  196,65,60,92,194                    ; vsubps        %ymm10,%ymm8,%ymm8
+  DB  197,252,17,0                        ; vmovups       %ymm0,(%rax)
+  DB  197,252,17,72,64                    ; vmovups       %ymm1,0x40(%rax)
+  DB  197,124,17,136,128,0,0,0            ; vmovups       %ymm9,0x80(%rax)
+  DB  197,124,17,128,192,0,0,0            ; vmovups       %ymm8,0xc0(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_accumulate_hsw
+_sk_accumulate_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,124,16,128,0,1,0,0              ; vmovups       0x100(%rax),%ymm8
+  DB  197,60,89,128,64,1,0,0              ; vmulps        0x140(%rax),%ymm8,%ymm8
+  DB  196,226,61,184,224                  ; vfmadd231ps   %ymm0,%ymm8,%ymm4
+  DB  196,226,61,184,233                  ; vfmadd231ps   %ymm1,%ymm8,%ymm5
+  DB  196,226,61,184,242                  ; vfmadd231ps   %ymm2,%ymm8,%ymm6
+  DB  196,98,101,168,199                  ; vfmadd213ps   %ymm7,%ymm3,%ymm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,124,41,199                      ; vmovaps       %ymm8,%ymm7
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bilinear_nx_hsw
+_sk_bilinear_nx_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,5,83,223,2,0         ; vbroadcastss  0x2df53(%rip),%ymm0        # 34c1c <_sk_srcover_bgra_8888_sse2_lowp+0x404>
+  DB  197,252,88,0                        ; vaddps        (%rax),%ymm0,%ymm0
+  DB  196,98,125,24,5,242,221,2,0         ; vbroadcastss  0x2ddf2(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,60,92,128,128,0,0,0             ; vsubps        0x80(%rax),%ymm8,%ymm8
+  DB  197,124,17,128,0,1,0,0              ; vmovups       %ymm8,0x100(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bilinear_px_hsw
+_sk_bilinear_px_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,5,207,221,2,0        ; vbroadcastss  0x2ddcf(%rip),%ymm0        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  197,252,88,0                        ; vaddps        (%rax),%ymm0,%ymm0
+  DB  197,124,16,128,128,0,0,0            ; vmovups       0x80(%rax),%ymm8
+  DB  197,124,17,128,0,1,0,0              ; vmovups       %ymm8,0x100(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bilinear_ny_hsw
+_sk_bilinear_ny_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,13,4,223,2,0         ; vbroadcastss  0x2df04(%rip),%ymm1        # 34c1c <_sk_srcover_bgra_8888_sse2_lowp+0x404>
+  DB  197,244,88,72,64                    ; vaddps        0x40(%rax),%ymm1,%ymm1
+  DB  196,98,125,24,5,162,221,2,0         ; vbroadcastss  0x2dda2(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,60,92,128,192,0,0,0             ; vsubps        0xc0(%rax),%ymm8,%ymm8
+  DB  197,124,17,128,64,1,0,0             ; vmovups       %ymm8,0x140(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bilinear_py_hsw
+_sk_bilinear_py_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,13,127,221,2,0       ; vbroadcastss  0x2dd7f(%rip),%ymm1        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  197,244,88,72,64                    ; vaddps        0x40(%rax),%ymm1,%ymm1
+  DB  197,124,16,128,192,0,0,0            ; vmovups       0xc0(%rax),%ymm8
+  DB  197,124,17,128,64,1,0,0             ; vmovups       %ymm8,0x140(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bicubic_n3x_hsw
+_sk_bicubic_n3x_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,5,183,222,2,0        ; vbroadcastss  0x2deb7(%rip),%ymm0        # 34c20 <_sk_srcover_bgra_8888_sse2_lowp+0x408>
+  DB  197,252,88,0                        ; vaddps        (%rax),%ymm0,%ymm0
+  DB  196,98,125,24,5,82,221,2,0          ; vbroadcastss  0x2dd52(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,60,92,128,128,0,0,0             ; vsubps        0x80(%rax),%ymm8,%ymm8
+  DB  196,65,60,89,200                    ; vmulps        %ymm8,%ymm8,%ymm9
+  DB  196,98,125,24,21,176,221,2,0        ; vbroadcastss  0x2ddb0(%rip),%ymm10        # 34b3c <_sk_srcover_bgra_8888_sse2_lowp+0x324>
+  DB  196,98,125,24,29,143,222,2,0        ; vbroadcastss  0x2de8f(%rip),%ymm11        # 34c24 <_sk_srcover_bgra_8888_sse2_lowp+0x40c>
+  DB  196,66,61,168,218                   ; vfmadd213ps   %ymm10,%ymm8,%ymm11
+  DB  196,65,36,89,193                    ; vmulps        %ymm9,%ymm11,%ymm8
+  DB  197,124,17,128,0,1,0,0              ; vmovups       %ymm8,0x100(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bicubic_n1x_hsw
+_sk_bicubic_n1x_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,5,102,222,2,0        ; vbroadcastss  0x2de66(%rip),%ymm0        # 34c1c <_sk_srcover_bgra_8888_sse2_lowp+0x404>
+  DB  197,252,88,0                        ; vaddps        (%rax),%ymm0,%ymm0
+  DB  196,98,125,24,5,5,221,2,0           ; vbroadcastss  0x2dd05(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,60,92,128,128,0,0,0             ; vsubps        0x80(%rax),%ymm8,%ymm8
+  DB  196,98,125,24,13,84,222,2,0         ; vbroadcastss  0x2de54(%rip),%ymm9        # 34c28 <_sk_srcover_bgra_8888_sse2_lowp+0x410>
+  DB  196,98,125,24,21,79,222,2,0         ; vbroadcastss  0x2de4f(%rip),%ymm10        # 34c2c <_sk_srcover_bgra_8888_sse2_lowp+0x414>
+  DB  196,66,61,168,209                   ; vfmadd213ps   %ymm9,%ymm8,%ymm10
+  DB  196,98,125,24,13,217,220,2,0        ; vbroadcastss  0x2dcd9(%rip),%ymm9        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  196,66,61,184,202                   ; vfmadd231ps   %ymm10,%ymm8,%ymm9
+  DB  196,98,125,24,21,55,222,2,0         ; vbroadcastss  0x2de37(%rip),%ymm10        # 34c30 <_sk_srcover_bgra_8888_sse2_lowp+0x418>
+  DB  196,66,61,184,209                   ; vfmadd231ps   %ymm9,%ymm8,%ymm10
+  DB  197,124,17,144,0,1,0,0              ; vmovups       %ymm10,0x100(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bicubic_p1x_hsw
+_sk_bicubic_p1x_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,24,5,175,220,2,0         ; vbroadcastss  0x2dcaf(%rip),%ymm8        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  197,188,88,0                        ; vaddps        (%rax),%ymm8,%ymm0
+  DB  197,124,16,136,128,0,0,0            ; vmovups       0x80(%rax),%ymm9
+  DB  196,98,125,24,21,254,221,2,0        ; vbroadcastss  0x2ddfe(%rip),%ymm10        # 34c28 <_sk_srcover_bgra_8888_sse2_lowp+0x410>
+  DB  196,98,125,24,29,249,221,2,0        ; vbroadcastss  0x2ddf9(%rip),%ymm11        # 34c2c <_sk_srcover_bgra_8888_sse2_lowp+0x414>
+  DB  196,66,53,168,218                   ; vfmadd213ps   %ymm10,%ymm9,%ymm11
+  DB  196,66,53,168,216                   ; vfmadd213ps   %ymm8,%ymm9,%ymm11
+  DB  196,98,125,24,5,234,221,2,0         ; vbroadcastss  0x2ddea(%rip),%ymm8        # 34c30 <_sk_srcover_bgra_8888_sse2_lowp+0x418>
+  DB  196,66,53,184,195                   ; vfmadd231ps   %ymm11,%ymm9,%ymm8
+  DB  197,124,17,128,0,1,0,0              ; vmovups       %ymm8,0x100(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bicubic_p3x_hsw
+_sk_bicubic_p3x_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,5,198,221,2,0        ; vbroadcastss  0x2ddc6(%rip),%ymm0        # 34c28 <_sk_srcover_bgra_8888_sse2_lowp+0x410>
+  DB  197,252,88,0                        ; vaddps        (%rax),%ymm0,%ymm0
+  DB  197,124,16,128,128,0,0,0            ; vmovups       0x80(%rax),%ymm8
+  DB  196,65,60,89,200                    ; vmulps        %ymm8,%ymm8,%ymm9
+  DB  196,98,125,24,21,192,220,2,0        ; vbroadcastss  0x2dcc0(%rip),%ymm10        # 34b3c <_sk_srcover_bgra_8888_sse2_lowp+0x324>
+  DB  196,98,125,24,29,159,221,2,0        ; vbroadcastss  0x2dd9f(%rip),%ymm11        # 34c24 <_sk_srcover_bgra_8888_sse2_lowp+0x40c>
+  DB  196,66,61,168,218                   ; vfmadd213ps   %ymm10,%ymm8,%ymm11
+  DB  196,65,52,89,195                    ; vmulps        %ymm11,%ymm9,%ymm8
+  DB  197,124,17,128,0,1,0,0              ; vmovups       %ymm8,0x100(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bicubic_n3y_hsw
+_sk_bicubic_n3y_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,13,122,221,2,0       ; vbroadcastss  0x2dd7a(%rip),%ymm1        # 34c20 <_sk_srcover_bgra_8888_sse2_lowp+0x408>
+  DB  197,244,88,72,64                    ; vaddps        0x40(%rax),%ymm1,%ymm1
+  DB  196,98,125,24,5,20,220,2,0          ; vbroadcastss  0x2dc14(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,60,92,128,192,0,0,0             ; vsubps        0xc0(%rax),%ymm8,%ymm8
+  DB  196,65,60,89,200                    ; vmulps        %ymm8,%ymm8,%ymm9
+  DB  196,98,125,24,21,114,220,2,0        ; vbroadcastss  0x2dc72(%rip),%ymm10        # 34b3c <_sk_srcover_bgra_8888_sse2_lowp+0x324>
+  DB  196,98,125,24,29,81,221,2,0         ; vbroadcastss  0x2dd51(%rip),%ymm11        # 34c24 <_sk_srcover_bgra_8888_sse2_lowp+0x40c>
+  DB  196,66,61,168,218                   ; vfmadd213ps   %ymm10,%ymm8,%ymm11
+  DB  196,65,36,89,193                    ; vmulps        %ymm9,%ymm11,%ymm8
+  DB  197,124,17,128,64,1,0,0             ; vmovups       %ymm8,0x140(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bicubic_n1y_hsw
+_sk_bicubic_n1y_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,13,40,221,2,0        ; vbroadcastss  0x2dd28(%rip),%ymm1        # 34c1c <_sk_srcover_bgra_8888_sse2_lowp+0x404>
+  DB  197,244,88,72,64                    ; vaddps        0x40(%rax),%ymm1,%ymm1
+  DB  196,98,125,24,5,198,219,2,0         ; vbroadcastss  0x2dbc6(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,60,92,128,192,0,0,0             ; vsubps        0xc0(%rax),%ymm8,%ymm8
+  DB  196,98,125,24,13,21,221,2,0         ; vbroadcastss  0x2dd15(%rip),%ymm9        # 34c28 <_sk_srcover_bgra_8888_sse2_lowp+0x410>
+  DB  196,98,125,24,21,16,221,2,0         ; vbroadcastss  0x2dd10(%rip),%ymm10        # 34c2c <_sk_srcover_bgra_8888_sse2_lowp+0x414>
+  DB  196,66,61,168,209                   ; vfmadd213ps   %ymm9,%ymm8,%ymm10
+  DB  196,98,125,24,13,154,219,2,0        ; vbroadcastss  0x2db9a(%rip),%ymm9        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  196,66,61,184,202                   ; vfmadd231ps   %ymm10,%ymm8,%ymm9
+  DB  196,98,125,24,21,248,220,2,0        ; vbroadcastss  0x2dcf8(%rip),%ymm10        # 34c30 <_sk_srcover_bgra_8888_sse2_lowp+0x418>
+  DB  196,66,61,184,209                   ; vfmadd231ps   %ymm9,%ymm8,%ymm10
+  DB  197,124,17,144,64,1,0,0             ; vmovups       %ymm10,0x140(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bicubic_p1y_hsw
+_sk_bicubic_p1y_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,24,5,112,219,2,0         ; vbroadcastss  0x2db70(%rip),%ymm8        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  197,188,88,72,64                    ; vaddps        0x40(%rax),%ymm8,%ymm1
+  DB  197,124,16,136,192,0,0,0            ; vmovups       0xc0(%rax),%ymm9
+  DB  196,98,125,24,21,190,220,2,0        ; vbroadcastss  0x2dcbe(%rip),%ymm10        # 34c28 <_sk_srcover_bgra_8888_sse2_lowp+0x410>
+  DB  196,98,125,24,29,185,220,2,0        ; vbroadcastss  0x2dcb9(%rip),%ymm11        # 34c2c <_sk_srcover_bgra_8888_sse2_lowp+0x414>
+  DB  196,66,53,168,218                   ; vfmadd213ps   %ymm10,%ymm9,%ymm11
+  DB  196,66,53,168,216                   ; vfmadd213ps   %ymm8,%ymm9,%ymm11
+  DB  196,98,125,24,5,170,220,2,0         ; vbroadcastss  0x2dcaa(%rip),%ymm8        # 34c30 <_sk_srcover_bgra_8888_sse2_lowp+0x418>
+  DB  196,66,53,184,195                   ; vfmadd231ps   %ymm11,%ymm9,%ymm8
+  DB  197,124,17,128,64,1,0,0             ; vmovups       %ymm8,0x140(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bicubic_p3y_hsw
+_sk_bicubic_p3y_hsw LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,13,134,220,2,0       ; vbroadcastss  0x2dc86(%rip),%ymm1        # 34c28 <_sk_srcover_bgra_8888_sse2_lowp+0x410>
+  DB  197,244,88,72,64                    ; vaddps        0x40(%rax),%ymm1,%ymm1
+  DB  197,124,16,128,192,0,0,0            ; vmovups       0xc0(%rax),%ymm8
+  DB  196,65,60,89,200                    ; vmulps        %ymm8,%ymm8,%ymm9
+  DB  196,98,125,24,21,127,219,2,0        ; vbroadcastss  0x2db7f(%rip),%ymm10        # 34b3c <_sk_srcover_bgra_8888_sse2_lowp+0x324>
+  DB  196,98,125,24,29,94,220,2,0         ; vbroadcastss  0x2dc5e(%rip),%ymm11        # 34c24 <_sk_srcover_bgra_8888_sse2_lowp+0x40c>
+  DB  196,66,61,168,218                   ; vfmadd213ps   %ymm10,%ymm8,%ymm11
+  DB  196,65,52,89,195                    ; vmulps        %ymm11,%ymm9,%ymm8
+  DB  197,124,17,128,64,1,0,0             ; vmovups       %ymm8,0x140(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_callback_hsw
+_sk_callback_hsw LABEL PROC
+  DB  85                                  ; push          %rbp
+  DB  72,137,229                          ; mov           %rsp,%rbp
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  83                                  ; push          %rbx
+  DB  72,131,228,224                      ; and           $0xffffffffffffffe0,%rsp
+  DB  72,129,236,192,0,0,0                ; sub           $0xc0,%rsp
+  DB  197,252,41,188,36,128,0,0,0         ; vmovaps       %ymm7,0x80(%rsp)
+  DB  197,252,41,116,36,96                ; vmovaps       %ymm6,0x60(%rsp)
+  DB  197,252,41,108,36,64                ; vmovaps       %ymm5,0x40(%rsp)
+  DB  197,252,41,100,36,32                ; vmovaps       %ymm4,0x20(%rsp)
+  DB  73,137,206                          ; mov           %rcx,%r14
+  DB  73,137,215                          ; mov           %rdx,%r15
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  72,137,195                          ; mov           %rax,%rbx
+  DB  197,252,20,225                      ; vunpcklps     %ymm1,%ymm0,%ymm4
+  DB  197,252,21,193                      ; vunpckhps     %ymm1,%ymm0,%ymm0
+  DB  197,236,20,203                      ; vunpcklps     %ymm3,%ymm2,%ymm1
+  DB  197,236,21,211                      ; vunpckhps     %ymm3,%ymm2,%ymm2
+  DB  197,221,20,217                      ; vunpcklpd     %ymm1,%ymm4,%ymm3
+  DB  197,221,21,201                      ; vunpckhpd     %ymm1,%ymm4,%ymm1
+  DB  197,253,20,226                      ; vunpcklpd     %ymm2,%ymm0,%ymm4
+  DB  197,253,21,194                      ; vunpckhpd     %ymm2,%ymm0,%ymm0
+  DB  196,227,101,24,209,1                ; vinsertf128   $0x1,%xmm1,%ymm3,%ymm2
+  DB  196,227,93,24,232,1                 ; vinsertf128   $0x1,%xmm0,%ymm4,%ymm5
+  DB  196,227,101,6,201,49                ; vperm2f128    $0x31,%ymm1,%ymm3,%ymm1
+  DB  196,227,93,6,192,49                 ; vperm2f128    $0x31,%ymm0,%ymm4,%ymm0
+  DB  197,253,17,83,8                     ; vmovupd       %ymm2,0x8(%rbx)
+  DB  197,253,17,107,40                   ; vmovupd       %ymm5,0x28(%rbx)
+  DB  197,253,17,75,72                    ; vmovupd       %ymm1,0x48(%rbx)
+  DB  197,253,17,67,104                   ; vmovupd       %ymm0,0x68(%rbx)
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  186,8,0,0,0                         ; mov           $0x8,%edx
+  DB  15,69,215                           ; cmovne        %edi,%edx
+  DB  72,137,217                          ; mov           %rbx,%rcx
+  DB  197,248,119                         ; vzeroupper
+  DB  255,19                              ; callq         *(%rbx)
+  DB  72,139,131,8,1,0,0                  ; mov           0x108(%rbx),%rax
+  DB  197,248,16,0                        ; vmovups       (%rax),%xmm0
+  DB  197,248,16,72,16                    ; vmovups       0x10(%rax),%xmm1
+  DB  197,248,16,80,32                    ; vmovups       0x20(%rax),%xmm2
+  DB  197,248,16,88,48                    ; vmovups       0x30(%rax),%xmm3
+  DB  196,227,101,24,88,112,1             ; vinsertf128   $0x1,0x70(%rax),%ymm3,%ymm3
+  DB  196,227,109,24,80,96,1              ; vinsertf128   $0x1,0x60(%rax),%ymm2,%ymm2
+  DB  196,227,117,24,72,80,1              ; vinsertf128   $0x1,0x50(%rax),%ymm1,%ymm1
+  DB  196,227,125,24,64,64,1              ; vinsertf128   $0x1,0x40(%rax),%ymm0,%ymm0
+  DB  197,252,20,225                      ; vunpcklps     %ymm1,%ymm0,%ymm4
+  DB  197,252,21,233                      ; vunpckhps     %ymm1,%ymm0,%ymm5
+  DB  197,236,20,203                      ; vunpcklps     %ymm3,%ymm2,%ymm1
+  DB  197,236,21,219                      ; vunpckhps     %ymm3,%ymm2,%ymm3
+  DB  197,221,20,193                      ; vunpcklpd     %ymm1,%ymm4,%ymm0
+  DB  197,221,21,201                      ; vunpckhpd     %ymm1,%ymm4,%ymm1
+  DB  197,213,20,211                      ; vunpcklpd     %ymm3,%ymm5,%ymm2
+  DB  197,213,21,219                      ; vunpckhpd     %ymm3,%ymm5,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,137,250                          ; mov           %r15,%rdx
+  DB  76,137,241                          ; mov           %r14,%rcx
+  DB  197,252,40,100,36,32                ; vmovaps       0x20(%rsp),%ymm4
+  DB  197,252,40,108,36,64                ; vmovaps       0x40(%rsp),%ymm5
+  DB  197,252,40,116,36,96                ; vmovaps       0x60(%rsp),%ymm6
+  DB  197,252,40,188,36,128,0,0,0         ; vmovaps       0x80(%rsp),%ymm7
+  DB  72,141,101,232                      ; lea           -0x18(%rbp),%rsp
+  DB  91                                  ; pop           %rbx
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  93                                  ; pop           %rbp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_clut_3D_hsw
+_sk_clut_3D_hsw LABEL PROC
+  DB  72,129,236,184,3,0,0                ; sub           $0x3b8,%rsp
+  DB  197,252,17,188,36,128,3,0,0         ; vmovups       %ymm7,0x380(%rsp)
+  DB  197,252,17,180,36,96,3,0,0          ; vmovups       %ymm6,0x360(%rsp)
+  DB  197,252,17,172,36,64,3,0,0          ; vmovups       %ymm5,0x340(%rsp)
+  DB  197,252,17,164,36,32,3,0,0          ; vmovups       %ymm4,0x320(%rsp)
+  DB  197,252,17,156,36,0,3,0,0           ; vmovups       %ymm3,0x300(%rsp)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  68,139,64,16                        ; mov           0x10(%rax),%r8d
+  DB  69,141,72,255                       ; lea           -0x1(%r8),%r9d
+  DB  196,193,121,110,217                 ; vmovd         %r9d,%xmm3
+  DB  196,226,125,88,219                  ; vpbroadcastd  %xmm3,%ymm3
+  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
+  DB  197,228,89,210                      ; vmulps        %ymm2,%ymm3,%ymm2
+  DB  197,254,91,234                      ; vcvttps2dq    %ymm2,%ymm5
+  DB  197,252,40,242                      ; vmovaps       %ymm2,%ymm6
+  DB  197,252,17,180,36,64,1,0,0          ; vmovups       %ymm6,0x140(%rsp)
+  DB  196,193,121,110,208                 ; vmovd         %r8d,%xmm2
+  DB  196,193,121,110,216                 ; vmovd         %r8d,%xmm3
+  DB  196,226,125,88,219                  ; vpbroadcastd  %xmm3,%ymm3
+  DB  68,139,64,12                        ; mov           0xc(%rax),%r8d
+  DB  69,141,72,255                       ; lea           -0x1(%r8),%r9d
+  DB  196,193,121,110,225                 ; vmovd         %r9d,%xmm4
+  DB  196,226,125,88,228                  ; vpbroadcastd  %xmm4,%ymm4
+  DB  197,252,91,228                      ; vcvtdq2ps     %ymm4,%ymm4
+  DB  197,220,89,201                      ; vmulps        %ymm1,%ymm4,%ymm1
+  DB  197,254,91,225                      ; vcvttps2dq    %ymm1,%ymm4
+  DB  197,254,127,164,36,224,2,0,0        ; vmovdqu       %ymm4,0x2e0(%rsp)
+  DB  197,124,40,201                      ; vmovaps       %ymm1,%ymm9
+  DB  197,124,17,140,36,96,2,0,0          ; vmovups       %ymm9,0x260(%rsp)
+  DB  196,98,101,64,228                   ; vpmulld       %ymm4,%ymm3,%ymm12
+  DB  197,157,254,205                     ; vpaddd        %ymm5,%ymm12,%ymm1
+  DB  197,125,111,197                     ; vmovdqa       %ymm5,%ymm8
+  DB  197,126,127,132,36,0,2,0,0          ; vmovdqu       %ymm8,0x200(%rsp)
+  DB  196,193,121,110,224                 ; vmovd         %r8d,%xmm4
+  DB  196,226,93,64,210                   ; vpmulld       %ymm2,%ymm4,%ymm2
+  DB  196,226,125,88,226                  ; vpbroadcastd  %xmm2,%ymm4
+  DB  68,139,64,8                         ; mov           0x8(%rax),%r8d
+  DB  65,255,200                          ; dec           %r8d
+  DB  196,193,121,110,208                 ; vmovd         %r8d,%xmm2
+  DB  196,226,125,88,210                  ; vpbroadcastd  %xmm2,%ymm2
+  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
+  DB  197,236,89,192                      ; vmulps        %ymm0,%ymm2,%ymm0
+  DB  197,254,91,208                      ; vcvttps2dq    %ymm0,%ymm2
+  DB  197,254,127,148,36,192,2,0,0        ; vmovdqu       %ymm2,0x2c0(%rsp)
+  DB  197,124,40,208                      ; vmovaps       %ymm0,%ymm10
+  DB  197,124,17,148,36,64,2,0,0          ; vmovups       %ymm10,0x240(%rsp)
+  DB  196,98,93,64,218                    ; vpmulld       %ymm2,%ymm4,%ymm11
+  DB  72,139,0                            ; mov           (%rax),%rax
+  DB  197,165,254,193                     ; vpaddd        %ymm1,%ymm11,%ymm0
+  DB  196,98,125,88,61,45,218,2,0         ; vpbroadcastd  0x2da2d(%rip),%ymm15        # 34c38 <_sk_srcover_bgra_8888_sse2_lowp+0x420>
+  DB  196,194,125,64,199                  ; vpmulld       %ymm15,%ymm0,%ymm0
+  DB  197,213,239,237                     ; vpxor         %ymm5,%ymm5,%ymm5
+  DB  197,237,118,210                     ; vpcmpeqd      %ymm2,%ymm2,%ymm2
+  DB  196,226,109,146,44,128              ; vgatherdps    %ymm2,(%rax,%ymm0,4),%ymm5
+  DB  197,252,17,172,36,160,2,0,0         ; vmovups       %ymm5,0x2a0(%rsp)
+  DB  196,65,21,118,237                   ; vpcmpeqd      %ymm13,%ymm13,%ymm13
+  DB  196,193,125,250,213                 ; vpsubd        %ymm13,%ymm0,%ymm2
+  DB  197,196,87,255                      ; vxorps        %ymm7,%ymm7,%ymm7
+  DB  197,213,118,237                     ; vpcmpeqd      %ymm5,%ymm5,%ymm5
+  DB  196,226,85,146,60,144               ; vgatherdps    %ymm5,(%rax,%ymm2,4),%ymm7
+  DB  197,252,17,188,36,128,2,0,0         ; vmovups       %ymm7,0x280(%rsp)
+  DB  196,226,125,88,61,131,216,2,0       ; vpbroadcastd  0x2d883(%rip),%ymm7        # 34ad4 <_sk_srcover_bgra_8888_sse2_lowp+0x2bc>
+  DB  197,253,254,199                     ; vpaddd        %ymm7,%ymm0,%ymm0
+  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
+  DB  197,213,118,237                     ; vpcmpeqd      %ymm5,%ymm5,%ymm5
+  DB  196,226,85,146,20,128               ; vgatherdps    %ymm5,(%rax,%ymm0,4),%ymm2
+  DB  197,252,17,148,36,160,1,0,0         ; vmovups       %ymm2,0x1a0(%rsp)
+  DB  196,226,125,24,5,191,217,2,0        ; vbroadcastss  0x2d9bf(%rip),%ymm0        # 34c34 <_sk_srcover_bgra_8888_sse2_lowp+0x41c>
+  DB  197,172,88,232                      ; vaddps        %ymm0,%ymm10,%ymm5
+  DB  197,254,91,237                      ; vcvttps2dq    %ymm5,%ymm5
+  DB  196,226,93,64,213                   ; vpmulld       %ymm5,%ymm4,%ymm2
+  DB  197,237,254,201                     ; vpaddd        %ymm1,%ymm2,%ymm1
+  DB  196,194,117,64,207                  ; vpmulld       %ymm15,%ymm1,%ymm1
+  DB  197,213,239,237                     ; vpxor         %ymm5,%ymm5,%ymm5
+  DB  197,221,118,228                     ; vpcmpeqd      %ymm4,%ymm4,%ymm4
+  DB  196,226,93,146,44,136               ; vgatherdps    %ymm4,(%rax,%ymm1,4),%ymm5
+  DB  197,252,17,172,36,32,2,0,0          ; vmovups       %ymm5,0x220(%rsp)
+  DB  196,193,117,250,229                 ; vpsubd        %ymm13,%ymm1,%ymm4
+  DB  196,65,44,87,210                    ; vxorps        %ymm10,%ymm10,%ymm10
+  DB  197,213,118,237                     ; vpcmpeqd      %ymm5,%ymm5,%ymm5
+  DB  196,98,85,146,20,160                ; vgatherdps    %ymm5,(%rax,%ymm4,4),%ymm10
+  DB  197,124,17,148,36,224,1,0,0         ; vmovups       %ymm10,0x1e0(%rsp)
+  DB  197,245,254,207                     ; vpaddd        %ymm7,%ymm1,%ymm1
+  DB  197,212,87,237                      ; vxorps        %ymm5,%ymm5,%ymm5
+  DB  197,221,118,228                     ; vpcmpeqd      %ymm4,%ymm4,%ymm4
+  DB  196,226,93,146,44,136               ; vgatherdps    %ymm4,(%rax,%ymm1,4),%ymm5
+  DB  197,252,17,172,36,192,1,0,0         ; vmovups       %ymm5,0x1c0(%rsp)
+  DB  197,180,88,200                      ; vaddps        %ymm0,%ymm9,%ymm1
+  DB  197,254,91,201                      ; vcvttps2dq    %ymm1,%ymm1
+  DB  196,98,101,64,201                   ; vpmulld       %ymm1,%ymm3,%ymm9
+  DB  196,193,53,254,200                  ; vpaddd        %ymm8,%ymm9,%ymm1
+  DB  196,193,117,254,219                 ; vpaddd        %ymm11,%ymm1,%ymm3
+  DB  196,194,101,64,223                  ; vpmulld       %ymm15,%ymm3,%ymm3
+  DB  197,212,87,237                      ; vxorps        %ymm5,%ymm5,%ymm5
+  DB  197,221,118,228                     ; vpcmpeqd      %ymm4,%ymm4,%ymm4
+  DB  196,226,93,146,44,152               ; vgatherdps    %ymm4,(%rax,%ymm3,4),%ymm5
+  DB  197,252,17,172,36,128,1,0,0         ; vmovups       %ymm5,0x180(%rsp)
+  DB  196,193,101,250,229                 ; vpsubd        %ymm13,%ymm3,%ymm4
+  DB  196,65,61,239,192                   ; vpxor         %ymm8,%ymm8,%ymm8
+  DB  197,213,118,237                     ; vpcmpeqd      %ymm5,%ymm5,%ymm5
+  DB  196,98,85,146,4,160                 ; vgatherdps    %ymm5,(%rax,%ymm4,4),%ymm8
+  DB  197,124,17,132,36,96,1,0,0          ; vmovups       %ymm8,0x160(%rsp)
+  DB  197,229,254,223                     ; vpaddd        %ymm7,%ymm3,%ymm3
+  DB  197,212,87,237                      ; vxorps        %ymm5,%ymm5,%ymm5
+  DB  197,221,118,228                     ; vpcmpeqd      %ymm4,%ymm4,%ymm4
+  DB  196,226,93,146,44,152               ; vgatherdps    %ymm4,(%rax,%ymm3,4),%ymm5
+  DB  197,252,17,172,36,32,1,0,0          ; vmovups       %ymm5,0x120(%rsp)
+  DB  197,237,254,201                     ; vpaddd        %ymm1,%ymm2,%ymm1
+  DB  196,194,117,64,207                  ; vpmulld       %ymm15,%ymm1,%ymm1
+  DB  197,220,87,228                      ; vxorps        %ymm4,%ymm4,%ymm4
+  DB  197,229,118,219                     ; vpcmpeqd      %ymm3,%ymm3,%ymm3
+  DB  196,226,101,146,36,136              ; vgatherdps    %ymm3,(%rax,%ymm1,4),%ymm4
+  DB  197,252,17,164,36,0,1,0,0           ; vmovups       %ymm4,0x100(%rsp)
+  DB  196,193,117,250,221                 ; vpsubd        %ymm13,%ymm1,%ymm3
+  DB  197,212,87,237                      ; vxorps        %ymm5,%ymm5,%ymm5
+  DB  197,221,118,228                     ; vpcmpeqd      %ymm4,%ymm4,%ymm4
+  DB  196,226,93,146,44,152               ; vgatherdps    %ymm4,(%rax,%ymm3,4),%ymm5
+  DB  197,252,17,172,36,224,0,0,0         ; vmovups       %ymm5,0xe0(%rsp)
+  DB  197,245,254,207                     ; vpaddd        %ymm7,%ymm1,%ymm1
+  DB  197,220,87,228                      ; vxorps        %ymm4,%ymm4,%ymm4
+  DB  197,229,118,219                     ; vpcmpeqd      %ymm3,%ymm3,%ymm3
+  DB  196,226,101,146,36,136              ; vgatherdps    %ymm3,(%rax,%ymm1,4),%ymm4
+  DB  197,252,17,164,36,192,0,0,0         ; vmovups       %ymm4,0xc0(%rsp)
+  DB  197,204,88,192                      ; vaddps        %ymm0,%ymm6,%ymm0
+  DB  197,126,91,208                      ; vcvttps2dq    %ymm0,%ymm10
+  DB  196,193,29,254,218                  ; vpaddd        %ymm10,%ymm12,%ymm3
+  DB  197,165,254,195                     ; vpaddd        %ymm3,%ymm11,%ymm0
+  DB  196,194,125,64,199                  ; vpmulld       %ymm15,%ymm0,%ymm0
+  DB  197,220,87,228                      ; vxorps        %ymm4,%ymm4,%ymm4
+  DB  197,245,118,201                     ; vpcmpeqd      %ymm1,%ymm1,%ymm1
+  DB  196,226,117,146,36,128              ; vgatherdps    %ymm1,(%rax,%ymm0,4),%ymm4
+  DB  197,252,17,164,36,160,0,0,0         ; vmovups       %ymm4,0xa0(%rsp)
+  DB  196,193,125,250,237                 ; vpsubd        %ymm13,%ymm0,%ymm5
+  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
+  DB  197,205,118,246                     ; vpcmpeqd      %ymm6,%ymm6,%ymm6
+  DB  196,226,77,146,12,168               ; vgatherdps    %ymm6,(%rax,%ymm5,4),%ymm1
+  DB  197,252,17,140,36,128,0,0,0         ; vmovups       %ymm1,0x80(%rsp)
+  DB  197,253,254,239                     ; vpaddd        %ymm7,%ymm0,%ymm5
+  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
+  DB  197,205,118,246                     ; vpcmpeqd      %ymm6,%ymm6,%ymm6
+  DB  196,226,77,146,4,168                ; vgatherdps    %ymm6,(%rax,%ymm5,4),%ymm0
+  DB  197,252,17,68,36,96                 ; vmovups       %ymm0,0x60(%rsp)
+  DB  197,237,254,219                     ; vpaddd        %ymm3,%ymm2,%ymm3
+  DB  196,194,101,64,223                  ; vpmulld       %ymm15,%ymm3,%ymm3
+  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
+  DB  197,213,118,237                     ; vpcmpeqd      %ymm5,%ymm5,%ymm5
+  DB  196,226,85,146,4,152                ; vgatherdps    %ymm5,(%rax,%ymm3,4),%ymm0
+  DB  197,252,17,68,36,64                 ; vmovups       %ymm0,0x40(%rsp)
+  DB  196,193,101,250,197                 ; vpsubd        %ymm13,%ymm3,%ymm0
+  DB  197,220,87,228                      ; vxorps        %ymm4,%ymm4,%ymm4
+  DB  196,65,13,118,246                   ; vpcmpeqd      %ymm14,%ymm14,%ymm14
+  DB  196,226,13,146,36,128               ; vgatherdps    %ymm14,(%rax,%ymm0,4),%ymm4
+  DB  197,229,254,199                     ; vpaddd        %ymm7,%ymm3,%ymm0
+  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
+  DB  196,65,13,118,246                   ; vpcmpeqd      %ymm14,%ymm14,%ymm14
+  DB  196,226,13,146,12,128               ; vgatherdps    %ymm14,(%rax,%ymm0,4),%ymm1
+  DB  197,252,17,76,36,32                 ; vmovups       %ymm1,0x20(%rsp)
+  DB  196,193,53,254,202                  ; vpaddd        %ymm10,%ymm9,%ymm1
+  DB  196,65,117,254,211                  ; vpaddd        %ymm11,%ymm1,%ymm10
+  DB  196,66,45,64,247                    ; vpmulld       %ymm15,%ymm10,%ymm14
+  DB  196,65,45,239,210                   ; vpxor         %ymm10,%ymm10,%ymm10
+  DB  196,65,29,118,228                   ; vpcmpeqd      %ymm12,%ymm12,%ymm12
+  DB  196,34,29,146,20,176                ; vgatherdps    %ymm12,(%rax,%ymm14,4),%ymm10
+  DB  196,65,13,250,229                   ; vpsubd        %ymm13,%ymm14,%ymm12
+  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
+  DB  196,65,37,118,219                   ; vpcmpeqd      %ymm11,%ymm11,%ymm11
+  DB  196,162,37,146,4,160                ; vgatherdps    %ymm11,(%rax,%ymm12,4),%ymm0
+  DB  197,252,17,4,36                     ; vmovups       %ymm0,(%rsp)
+  DB  197,13,254,223                      ; vpaddd        %ymm7,%ymm14,%ymm11
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  196,65,13,118,246                   ; vpcmpeqd      %ymm14,%ymm14,%ymm14
+  DB  196,34,13,146,4,152                 ; vgatherdps    %ymm14,(%rax,%ymm11,4),%ymm8
+  DB  197,237,254,201                     ; vpaddd        %ymm1,%ymm2,%ymm1
+  DB  196,194,117,64,207                  ; vpmulld       %ymm15,%ymm1,%ymm1
+  DB  196,65,36,87,219                    ; vxorps        %ymm11,%ymm11,%ymm11
+  DB  196,65,13,118,246                   ; vpcmpeqd      %ymm14,%ymm14,%ymm14
+  DB  196,98,13,146,28,136                ; vgatherdps    %ymm14,(%rax,%ymm1,4),%ymm11
+  DB  196,65,117,250,245                  ; vpsubd        %ymm13,%ymm1,%ymm14
+  DB  196,65,5,239,255                    ; vpxor         %ymm15,%ymm15,%ymm15
+  DB  196,65,53,118,201                   ; vpcmpeqd      %ymm9,%ymm9,%ymm9
+  DB  196,34,53,146,60,176                ; vgatherdps    %ymm9,(%rax,%ymm14,4),%ymm15
+  DB  197,245,254,207                     ; vpaddd        %ymm7,%ymm1,%ymm1
+  DB  197,197,239,255                     ; vpxor         %ymm7,%ymm7,%ymm7
+  DB  196,226,21,146,60,136               ; vgatherdps    %ymm13,(%rax,%ymm1,4),%ymm7
+  DB  197,252,91,140,36,192,2,0,0         ; vcvtdq2ps     0x2c0(%rsp),%ymm1
+  DB  197,252,16,132,36,64,2,0,0          ; vmovups       0x240(%rsp),%ymm0
+  DB  197,252,92,201                      ; vsubps        %ymm1,%ymm0,%ymm1
+  DB  197,252,16,132,36,160,2,0,0         ; vmovups       0x2a0(%rsp),%ymm0
+  DB  197,252,16,156,36,32,2,0,0          ; vmovups       0x220(%rsp),%ymm3
+  DB  197,100,92,200                      ; vsubps        %ymm0,%ymm3,%ymm9
+  DB  196,98,117,168,200                  ; vfmadd213ps   %ymm0,%ymm1,%ymm9
+  DB  197,252,16,132,36,128,2,0,0         ; vmovups       0x280(%rsp),%ymm0
+  DB  197,252,16,156,36,224,1,0,0         ; vmovups       0x1e0(%rsp),%ymm3
+  DB  197,100,92,232                      ; vsubps        %ymm0,%ymm3,%ymm13
+  DB  196,98,117,168,232                  ; vfmadd213ps   %ymm0,%ymm1,%ymm13
+  DB  197,252,16,148,36,160,1,0,0         ; vmovups       0x1a0(%rsp),%ymm2
+  DB  197,252,16,132,36,192,1,0,0         ; vmovups       0x1c0(%rsp),%ymm0
+  DB  197,124,92,242                      ; vsubps        %ymm2,%ymm0,%ymm14
+  DB  196,98,117,168,242                  ; vfmadd213ps   %ymm2,%ymm1,%ymm14
+  DB  197,252,16,132,36,128,1,0,0         ; vmovups       0x180(%rsp),%ymm0
+  DB  197,252,16,148,36,0,1,0,0           ; vmovups       0x100(%rsp),%ymm2
+  DB  197,108,92,224                      ; vsubps        %ymm0,%ymm2,%ymm12
+  DB  196,98,117,168,224                  ; vfmadd213ps   %ymm0,%ymm1,%ymm12
+  DB  197,252,16,132,36,96,1,0,0          ; vmovups       0x160(%rsp),%ymm0
+  DB  197,252,16,148,36,224,0,0,0         ; vmovups       0xe0(%rsp),%ymm2
+  DB  197,236,92,232                      ; vsubps        %ymm0,%ymm2,%ymm5
+  DB  196,226,117,168,232                 ; vfmadd213ps   %ymm0,%ymm1,%ymm5
+  DB  197,252,16,132,36,32,1,0,0          ; vmovups       0x120(%rsp),%ymm0
+  DB  197,252,16,148,36,192,0,0,0         ; vmovups       0xc0(%rsp),%ymm2
+  DB  197,236,92,240                      ; vsubps        %ymm0,%ymm2,%ymm6
+  DB  196,226,117,168,240                 ; vfmadd213ps   %ymm0,%ymm1,%ymm6
+  DB  197,252,16,148,36,160,0,0,0         ; vmovups       0xa0(%rsp),%ymm2
+  DB  197,252,16,68,36,64                 ; vmovups       0x40(%rsp),%ymm0
+  DB  197,252,92,194                      ; vsubps        %ymm2,%ymm0,%ymm0
+  DB  196,226,117,168,194                 ; vfmadd213ps   %ymm2,%ymm1,%ymm0
+  DB  197,252,16,156,36,128,0,0,0         ; vmovups       0x80(%rsp),%ymm3
+  DB  197,220,92,211                      ; vsubps        %ymm3,%ymm4,%ymm2
+  DB  196,226,117,168,211                 ; vfmadd213ps   %ymm3,%ymm1,%ymm2
+  DB  197,252,16,100,36,96                ; vmovups       0x60(%rsp),%ymm4
+  DB  197,252,16,92,36,32                 ; vmovups       0x20(%rsp),%ymm3
+  DB  197,228,92,220                      ; vsubps        %ymm4,%ymm3,%ymm3
+  DB  196,226,117,168,220                 ; vfmadd213ps   %ymm4,%ymm1,%ymm3
+  DB  196,65,36,92,218                    ; vsubps        %ymm10,%ymm11,%ymm11
+  DB  196,66,117,168,218                  ; vfmadd213ps   %ymm10,%ymm1,%ymm11
+  DB  197,252,16,36,36                    ; vmovups       (%rsp),%ymm4
+  DB  197,4,92,212                        ; vsubps        %ymm4,%ymm15,%ymm10
+  DB  196,98,117,168,212                  ; vfmadd213ps   %ymm4,%ymm1,%ymm10
+  DB  196,193,68,92,248                   ; vsubps        %ymm8,%ymm7,%ymm7
+  DB  196,194,117,168,248                 ; vfmadd213ps   %ymm8,%ymm1,%ymm7
+  DB  197,252,91,140,36,224,2,0,0         ; vcvtdq2ps     0x2e0(%rsp),%ymm1
+  DB  197,124,16,132,36,96,2,0,0          ; vmovups       0x260(%rsp),%ymm8
+  DB  197,188,92,201                      ; vsubps        %ymm1,%ymm8,%ymm1
+  DB  196,193,28,92,225                   ; vsubps        %ymm9,%ymm12,%ymm4
+  DB  196,194,117,168,225                 ; vfmadd213ps   %ymm9,%ymm1,%ymm4
+  DB  196,193,84,92,237                   ; vsubps        %ymm13,%ymm5,%ymm5
+  DB  196,194,117,168,237                 ; vfmadd213ps   %ymm13,%ymm1,%ymm5
+  DB  196,193,76,92,246                   ; vsubps        %ymm14,%ymm6,%ymm6
+  DB  196,194,117,168,246                 ; vfmadd213ps   %ymm14,%ymm1,%ymm6
+  DB  197,36,92,192                       ; vsubps        %ymm0,%ymm11,%ymm8
+  DB  196,98,117,168,192                  ; vfmadd213ps   %ymm0,%ymm1,%ymm8
+  DB  197,44,92,202                       ; vsubps        %ymm2,%ymm10,%ymm9
+  DB  196,98,117,168,202                  ; vfmadd213ps   %ymm2,%ymm1,%ymm9
+  DB  197,196,92,211                      ; vsubps        %ymm3,%ymm7,%ymm2
+  DB  196,226,117,168,211                 ; vfmadd213ps   %ymm3,%ymm1,%ymm2
+  DB  197,252,91,132,36,0,2,0,0           ; vcvtdq2ps     0x200(%rsp),%ymm0
+  DB  197,252,16,140,36,64,1,0,0          ; vmovups       0x140(%rsp),%ymm1
+  DB  197,244,92,216                      ; vsubps        %ymm0,%ymm1,%ymm3
+  DB  197,188,92,196                      ; vsubps        %ymm4,%ymm8,%ymm0
+  DB  196,226,101,168,196                 ; vfmadd213ps   %ymm4,%ymm3,%ymm0
+  DB  197,180,92,205                      ; vsubps        %ymm5,%ymm9,%ymm1
+  DB  196,226,101,168,205                 ; vfmadd213ps   %ymm5,%ymm3,%ymm1
+  DB  197,236,92,214                      ; vsubps        %ymm6,%ymm2,%ymm2
+  DB  196,226,101,168,214                 ; vfmadd213ps   %ymm6,%ymm3,%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,16,156,36,0,3,0,0           ; vmovups       0x300(%rsp),%ymm3
+  DB  197,252,16,164,36,32,3,0,0          ; vmovups       0x320(%rsp),%ymm4
+  DB  197,252,16,172,36,64,3,0,0          ; vmovups       0x340(%rsp),%ymm5
+  DB  197,252,16,180,36,96,3,0,0          ; vmovups       0x360(%rsp),%ymm6
+  DB  197,252,16,188,36,128,3,0,0         ; vmovups       0x380(%rsp),%ymm7
+  DB  72,129,196,184,3,0,0                ; add           $0x3b8,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_clut_4D_hsw
+_sk_clut_4D_hsw LABEL PROC
+  DB  72,129,236,120,7,0,0                ; sub           $0x778,%rsp
+  DB  197,252,17,188,36,64,7,0,0          ; vmovups       %ymm7,0x740(%rsp)
+  DB  197,252,17,180,36,32,7,0,0          ; vmovups       %ymm6,0x720(%rsp)
+  DB  197,252,17,172,36,0,7,0,0           ; vmovups       %ymm5,0x700(%rsp)
+  DB  197,252,17,164,36,224,6,0,0         ; vmovups       %ymm4,0x6e0(%rsp)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  68,139,64,20                        ; mov           0x14(%rax),%r8d
+  DB  69,141,72,255                       ; lea           -0x1(%r8),%r9d
+  DB  196,193,121,110,225                 ; vmovd         %r9d,%xmm4
+  DB  196,226,125,88,228                  ; vpbroadcastd  %xmm4,%ymm4
+  DB  197,252,91,228                      ; vcvtdq2ps     %ymm4,%ymm4
+  DB  197,220,89,219                      ; vmulps        %ymm3,%ymm4,%ymm3
+  DB  197,252,17,156,36,160,1,0,0         ; vmovups       %ymm3,0x1a0(%rsp)
+  DB  197,254,91,243                      ; vcvttps2dq    %ymm3,%ymm6
+  DB  196,193,121,110,216                 ; vmovd         %r8d,%xmm3
+  DB  196,193,121,110,224                 ; vmovd         %r8d,%xmm4
+  DB  196,98,125,88,252                   ; vpbroadcastd  %xmm4,%ymm15
+  DB  68,139,64,16                        ; mov           0x10(%rax),%r8d
+  DB  69,141,72,255                       ; lea           -0x1(%r8),%r9d
+  DB  196,193,121,110,233                 ; vmovd         %r9d,%xmm5
+  DB  196,226,125,88,237                  ; vpbroadcastd  %xmm5,%ymm5
+  DB  197,252,91,237                      ; vcvtdq2ps     %ymm5,%ymm5
+  DB  197,212,89,210                      ; vmulps        %ymm2,%ymm5,%ymm2
+  DB  197,254,91,234                      ; vcvttps2dq    %ymm2,%ymm5
+  DB  197,254,127,172,36,192,6,0,0        ; vmovdqu       %ymm5,0x6c0(%rsp)
+  DB  197,124,40,242                      ; vmovaps       %ymm2,%ymm14
+  DB  197,124,17,180,36,96,6,0,0          ; vmovups       %ymm14,0x660(%rsp)
+  DB  196,226,5,64,213                    ; vpmulld       %ymm5,%ymm15,%ymm2
+  DB  197,254,127,84,36,32                ; vmovdqu       %ymm2,0x20(%rsp)
+  DB  197,237,254,230                     ; vpaddd        %ymm6,%ymm2,%ymm4
+  DB  197,125,111,230                     ; vmovdqa       %ymm6,%ymm12
+  DB  197,126,127,164,36,64,6,0,0         ; vmovdqu       %ymm12,0x640(%rsp)
+  DB  196,193,121,110,232                 ; vmovd         %r8d,%xmm5
+  DB  196,226,85,64,235                   ; vpmulld       %ymm3,%ymm5,%ymm5
+  DB  196,226,125,88,221                  ; vpbroadcastd  %xmm5,%ymm3
+  DB  68,139,64,12                        ; mov           0xc(%rax),%r8d
+  DB  69,141,72,255                       ; lea           -0x1(%r8),%r9d
+  DB  196,193,121,110,241                 ; vmovd         %r9d,%xmm6
+  DB  196,226,125,88,246                  ; vpbroadcastd  %xmm6,%ymm6
+  DB  197,252,91,246                      ; vcvtdq2ps     %ymm6,%ymm6
+  DB  197,204,89,241                      ; vmulps        %ymm1,%ymm6,%ymm6
+  DB  196,193,121,110,200                 ; vmovd         %r8d,%xmm1
+  DB  196,226,117,64,205                  ; vpmulld       %ymm5,%ymm1,%ymm1
+  DB  68,139,64,8                         ; mov           0x8(%rax),%r8d
+  DB  65,255,200                          ; dec           %r8d
+  DB  196,193,121,110,232                 ; vmovd         %r8d,%xmm5
+  DB  196,226,125,88,237                  ; vpbroadcastd  %xmm5,%ymm5
+  DB  197,252,91,237                      ; vcvtdq2ps     %ymm5,%ymm5
+  DB  197,212,89,232                      ; vmulps        %ymm0,%ymm5,%ymm5
+  DB  197,254,91,198                      ; vcvttps2dq    %ymm6,%ymm0
+  DB  197,254,127,132,36,160,6,0,0        ; vmovdqu       %ymm0,0x6a0(%rsp)
+  DB  197,252,17,180,36,128,6,0,0         ; vmovups       %ymm6,0x680(%rsp)
+  DB  196,226,125,88,209                  ; vpbroadcastd  %xmm1,%ymm2
+  DB  72,139,0                            ; mov           (%rax),%rax
+  DB  196,226,101,64,192                  ; vpmulld       %ymm0,%ymm3,%ymm0
+  DB  197,254,127,4,36                    ; vmovdqu       %ymm0,(%rsp)
+  DB  197,253,254,252                     ; vpaddd        %ymm4,%ymm0,%ymm7
+  DB  197,254,91,197                      ; vcvttps2dq    %ymm5,%ymm0
+  DB  197,252,40,205                      ; vmovaps       %ymm5,%ymm1
+  DB  197,252,17,140,36,32,1,0,0          ; vmovups       %ymm1,0x120(%rsp)
+  DB  197,254,127,132,36,128,1,0,0        ; vmovdqu       %ymm0,0x180(%rsp)
+  DB  196,98,109,64,200                   ; vpmulld       %ymm0,%ymm2,%ymm9
+  DB  197,181,254,199                     ; vpaddd        %ymm7,%ymm9,%ymm0
+  DB  196,98,125,88,21,65,212,2,0         ; vpbroadcastd  0x2d441(%rip),%ymm10        # 34c38 <_sk_srcover_bgra_8888_sse2_lowp+0x420>
+  DB  196,194,125,64,194                  ; vpmulld       %ymm10,%ymm0,%ymm0
+  DB  197,213,118,237                     ; vpcmpeqd      %ymm5,%ymm5,%ymm5
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  196,98,85,146,4,128                 ; vgatherdps    %ymm5,(%rax,%ymm0,4),%ymm8
+  DB  197,124,17,132,36,96,1,0,0          ; vmovups       %ymm8,0x160(%rsp)
+  DB  196,65,21,118,237                   ; vpcmpeqd      %ymm13,%ymm13,%ymm13
+  DB  196,193,125,250,237                 ; vpsubd        %ymm13,%ymm0,%ymm5
+  DB  196,65,61,118,192                   ; vpcmpeqd      %ymm8,%ymm8,%ymm8
+  DB  196,65,36,87,219                    ; vxorps        %ymm11,%ymm11,%ymm11
+  DB  196,98,61,146,28,168                ; vgatherdps    %ymm8,(%rax,%ymm5,4),%ymm11
+  DB  197,124,17,156,36,64,1,0,0          ; vmovups       %ymm11,0x140(%rsp)
+  DB  196,98,125,88,29,148,210,2,0        ; vpbroadcastd  0x2d294(%rip),%ymm11        # 34ad4 <_sk_srcover_bgra_8888_sse2_lowp+0x2bc>
+  DB  196,193,125,254,195                 ; vpaddd        %ymm11,%ymm0,%ymm0
+  DB  196,65,61,118,192                   ; vpcmpeqd      %ymm8,%ymm8,%ymm8
+  DB  197,212,87,237                      ; vxorps        %ymm5,%ymm5,%ymm5
+  DB  196,226,61,146,44,128               ; vgatherdps    %ymm8,(%rax,%ymm0,4),%ymm5
+  DB  197,252,17,172,36,160,0,0,0         ; vmovups       %ymm5,0xa0(%rsp)
+  DB  196,226,125,24,5,206,211,2,0        ; vbroadcastss  0x2d3ce(%rip),%ymm0        # 34c34 <_sk_srcover_bgra_8888_sse2_lowp+0x41c>
+  DB  197,116,88,192                      ; vaddps        %ymm0,%ymm1,%ymm8
+  DB  196,65,126,91,192                   ; vcvttps2dq    %ymm8,%ymm8
+  DB  196,194,109,64,232                  ; vpmulld       %ymm8,%ymm2,%ymm5
+  DB  197,213,254,207                     ; vpaddd        %ymm7,%ymm5,%ymm1
+  DB  196,194,117,64,202                  ; vpmulld       %ymm10,%ymm1,%ymm1
+  DB  197,197,118,255                     ; vpcmpeqd      %ymm7,%ymm7,%ymm7
+  DB  197,237,239,210                     ; vpxor         %ymm2,%ymm2,%ymm2
+  DB  196,226,69,146,20,136               ; vgatherdps    %ymm7,(%rax,%ymm1,4),%ymm2
+  DB  197,252,17,148,36,0,1,0,0           ; vmovups       %ymm2,0x100(%rsp)
+  DB  196,193,117,250,253                 ; vpsubd        %ymm13,%ymm1,%ymm7
+  DB  196,65,61,118,192                   ; vpcmpeqd      %ymm8,%ymm8,%ymm8
+  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
+  DB  196,226,61,146,20,184               ; vgatherdps    %ymm8,(%rax,%ymm7,4),%ymm2
+  DB  197,252,17,148,36,224,0,0,0         ; vmovups       %ymm2,0xe0(%rsp)
+  DB  196,193,117,254,203                 ; vpaddd        %ymm11,%ymm1,%ymm1
+  DB  197,197,118,255                     ; vpcmpeqd      %ymm7,%ymm7,%ymm7
+  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
+  DB  196,226,69,146,20,136               ; vgatherdps    %ymm7,(%rax,%ymm1,4),%ymm2
+  DB  197,252,17,148,36,192,0,0,0         ; vmovups       %ymm2,0xc0(%rsp)
+  DB  197,204,88,200                      ; vaddps        %ymm0,%ymm6,%ymm1
+  DB  197,254,91,201                      ; vcvttps2dq    %ymm1,%ymm1
+  DB  196,226,101,64,241                  ; vpmulld       %ymm1,%ymm3,%ymm6
+  DB  197,205,254,204                     ; vpaddd        %ymm4,%ymm6,%ymm1
+  DB  196,193,117,254,209                 ; vpaddd        %ymm9,%ymm1,%ymm2
+  DB  196,194,109,64,210                  ; vpmulld       %ymm10,%ymm2,%ymm2
+  DB  197,229,118,219                     ; vpcmpeqd      %ymm3,%ymm3,%ymm3
+  DB  197,221,239,228                     ; vpxor         %ymm4,%ymm4,%ymm4
+  DB  196,226,101,146,36,144              ; vgatherdps    %ymm3,(%rax,%ymm2,4),%ymm4
+  DB  197,252,17,164,36,224,5,0,0         ; vmovups       %ymm4,0x5e0(%rsp)
+  DB  196,193,109,250,221                 ; vpsubd        %ymm13,%ymm2,%ymm3
+  DB  197,197,118,255                     ; vpcmpeqd      %ymm7,%ymm7,%ymm7
+  DB  197,220,87,228                      ; vxorps        %ymm4,%ymm4,%ymm4
+  DB  196,226,69,146,36,152               ; vgatherdps    %ymm7,(%rax,%ymm3,4),%ymm4
+  DB  197,252,17,164,36,128,0,0,0         ; vmovups       %ymm4,0x80(%rsp)
+  DB  196,193,109,254,211                 ; vpaddd        %ymm11,%ymm2,%ymm2
+  DB  197,229,118,219                     ; vpcmpeqd      %ymm3,%ymm3,%ymm3
+  DB  197,220,87,228                      ; vxorps        %ymm4,%ymm4,%ymm4
+  DB  196,226,101,146,36,144              ; vgatherdps    %ymm3,(%rax,%ymm2,4),%ymm4
+  DB  197,252,17,100,36,96                ; vmovups       %ymm4,0x60(%rsp)
+  DB  197,213,254,201                     ; vpaddd        %ymm1,%ymm5,%ymm1
+  DB  196,194,117,64,202                  ; vpmulld       %ymm10,%ymm1,%ymm1
+  DB  197,237,118,210                     ; vpcmpeqd      %ymm2,%ymm2,%ymm2
+  DB  197,228,87,219                      ; vxorps        %ymm3,%ymm3,%ymm3
+  DB  196,226,109,146,28,136              ; vgatherdps    %ymm2,(%rax,%ymm1,4),%ymm3
+  DB  197,252,17,92,36,64                 ; vmovups       %ymm3,0x40(%rsp)
+  DB  196,193,117,250,213                 ; vpsubd        %ymm13,%ymm1,%ymm2
+  DB  197,229,118,219                     ; vpcmpeqd      %ymm3,%ymm3,%ymm3
+  DB  197,220,87,228                      ; vxorps        %ymm4,%ymm4,%ymm4
+  DB  196,226,101,146,36,144              ; vgatherdps    %ymm3,(%rax,%ymm2,4),%ymm4
+  DB  197,252,17,164,36,32,6,0,0          ; vmovups       %ymm4,0x620(%rsp)
+  DB  196,193,117,254,203                 ; vpaddd        %ymm11,%ymm1,%ymm1
+  DB  197,237,118,210                     ; vpcmpeqd      %ymm2,%ymm2,%ymm2
+  DB  197,228,87,219                      ; vxorps        %ymm3,%ymm3,%ymm3
+  DB  196,226,109,146,28,136              ; vgatherdps    %ymm2,(%rax,%ymm1,4),%ymm3
+  DB  197,252,17,156,36,0,6,0,0           ; vmovups       %ymm3,0x600(%rsp)
+  DB  197,140,88,200                      ; vaddps        %ymm0,%ymm14,%ymm1
+  DB  197,254,91,201                      ; vcvttps2dq    %ymm1,%ymm1
+  DB  196,98,5,64,249                     ; vpmulld       %ymm1,%ymm15,%ymm15
+  DB  196,193,5,254,204                   ; vpaddd        %ymm12,%ymm15,%ymm1
+  DB  197,126,111,4,36                    ; vmovdqu       (%rsp),%ymm8
+  DB  196,193,117,254,208                 ; vpaddd        %ymm8,%ymm1,%ymm2
+  DB  196,193,109,254,217                 ; vpaddd        %ymm9,%ymm2,%ymm3
+  DB  196,194,101,64,218                  ; vpmulld       %ymm10,%ymm3,%ymm3
+  DB  197,221,118,228                     ; vpcmpeqd      %ymm4,%ymm4,%ymm4
+  DB  197,196,87,255                      ; vxorps        %ymm7,%ymm7,%ymm7
+  DB  196,226,93,146,60,152               ; vgatherdps    %ymm4,(%rax,%ymm3,4),%ymm7
+  DB  197,252,17,188,36,224,3,0,0         ; vmovups       %ymm7,0x3e0(%rsp)
+  DB  196,193,101,250,229                 ; vpsubd        %ymm13,%ymm3,%ymm4
+  DB  197,197,118,255                     ; vpcmpeqd      %ymm7,%ymm7,%ymm7
+  DB  196,65,12,87,246                    ; vxorps        %ymm14,%ymm14,%ymm14
+  DB  196,98,69,146,52,160                ; vgatherdps    %ymm7,(%rax,%ymm4,4),%ymm14
+  DB  197,124,17,180,36,192,5,0,0         ; vmovups       %ymm14,0x5c0(%rsp)
+  DB  196,193,101,254,219                 ; vpaddd        %ymm11,%ymm3,%ymm3
+  DB  197,221,118,228                     ; vpcmpeqd      %ymm4,%ymm4,%ymm4
+  DB  197,196,87,255                      ; vxorps        %ymm7,%ymm7,%ymm7
+  DB  196,226,93,146,60,152               ; vgatherdps    %ymm4,(%rax,%ymm3,4),%ymm7
+  DB  197,252,17,188,36,64,5,0,0          ; vmovups       %ymm7,0x540(%rsp)
+  DB  197,213,254,210                     ; vpaddd        %ymm2,%ymm5,%ymm2
+  DB  196,194,109,64,210                  ; vpmulld       %ymm10,%ymm2,%ymm2
+  DB  197,229,118,219                     ; vpcmpeqd      %ymm3,%ymm3,%ymm3
+  DB  197,220,87,228                      ; vxorps        %ymm4,%ymm4,%ymm4
+  DB  196,226,101,146,36,144              ; vgatherdps    %ymm3,(%rax,%ymm2,4),%ymm4
+  DB  197,252,17,164,36,160,5,0,0         ; vmovups       %ymm4,0x5a0(%rsp)
+  DB  196,193,109,250,221                 ; vpsubd        %ymm13,%ymm2,%ymm3
+  DB  197,221,118,228                     ; vpcmpeqd      %ymm4,%ymm4,%ymm4
+  DB  196,65,12,87,246                    ; vxorps        %ymm14,%ymm14,%ymm14
+  DB  196,98,93,146,52,152                ; vgatherdps    %ymm4,(%rax,%ymm3,4),%ymm14
+  DB  197,124,17,180,36,128,5,0,0         ; vmovups       %ymm14,0x580(%rsp)
+  DB  196,193,109,254,211                 ; vpaddd        %ymm11,%ymm2,%ymm2
+  DB  197,229,118,219                     ; vpcmpeqd      %ymm3,%ymm3,%ymm3
+  DB  197,220,87,228                      ; vxorps        %ymm4,%ymm4,%ymm4
+  DB  196,226,101,146,36,144              ; vgatherdps    %ymm3,(%rax,%ymm2,4),%ymm4
+  DB  197,252,17,164,36,96,5,0,0          ; vmovups       %ymm4,0x560(%rsp)
+  DB  197,205,254,201                     ; vpaddd        %ymm1,%ymm6,%ymm1
+  DB  196,193,117,254,209                 ; vpaddd        %ymm9,%ymm1,%ymm2
+  DB  196,194,109,64,210                  ; vpmulld       %ymm10,%ymm2,%ymm2
+  DB  197,229,118,219                     ; vpcmpeqd      %ymm3,%ymm3,%ymm3
+  DB  197,220,87,228                      ; vxorps        %ymm4,%ymm4,%ymm4
+  DB  196,226,101,146,36,144              ; vgatherdps    %ymm3,(%rax,%ymm2,4),%ymm4
+  DB  197,252,17,164,36,32,5,0,0          ; vmovups       %ymm4,0x520(%rsp)
+  DB  196,193,109,250,221                 ; vpsubd        %ymm13,%ymm2,%ymm3
+  DB  197,221,118,228                     ; vpcmpeqd      %ymm4,%ymm4,%ymm4
+  DB  197,196,87,255                      ; vxorps        %ymm7,%ymm7,%ymm7
+  DB  196,226,93,146,60,152               ; vgatherdps    %ymm4,(%rax,%ymm3,4),%ymm7
+  DB  197,252,17,188,36,0,5,0,0           ; vmovups       %ymm7,0x500(%rsp)
+  DB  196,193,109,254,211                 ; vpaddd        %ymm11,%ymm2,%ymm2
+  DB  197,229,118,219                     ; vpcmpeqd      %ymm3,%ymm3,%ymm3
+  DB  197,220,87,228                      ; vxorps        %ymm4,%ymm4,%ymm4
+  DB  196,226,101,146,36,144              ; vgatherdps    %ymm3,(%rax,%ymm2,4),%ymm4
+  DB  197,252,17,164,36,128,3,0,0         ; vmovups       %ymm4,0x380(%rsp)
+  DB  197,213,254,201                     ; vpaddd        %ymm1,%ymm5,%ymm1
+  DB  196,194,117,64,202                  ; vpmulld       %ymm10,%ymm1,%ymm1
+  DB  197,237,118,210                     ; vpcmpeqd      %ymm2,%ymm2,%ymm2
+  DB  197,228,87,219                      ; vxorps        %ymm3,%ymm3,%ymm3
+  DB  196,226,109,146,28,136              ; vgatherdps    %ymm2,(%rax,%ymm1,4),%ymm3
+  DB  197,252,17,156,36,224,4,0,0         ; vmovups       %ymm3,0x4e0(%rsp)
+  DB  196,193,117,250,213                 ; vpsubd        %ymm13,%ymm1,%ymm2
+  DB  197,229,118,219                     ; vpcmpeqd      %ymm3,%ymm3,%ymm3
+  DB  197,220,87,228                      ; vxorps        %ymm4,%ymm4,%ymm4
+  DB  196,226,101,146,36,144              ; vgatherdps    %ymm3,(%rax,%ymm2,4),%ymm4
+  DB  197,252,17,164,36,192,4,0,0         ; vmovups       %ymm4,0x4c0(%rsp)
+  DB  196,193,117,254,203                 ; vpaddd        %ymm11,%ymm1,%ymm1
+  DB  197,237,118,210                     ; vpcmpeqd      %ymm2,%ymm2,%ymm2
+  DB  197,228,87,219                      ; vxorps        %ymm3,%ymm3,%ymm3
+  DB  196,226,109,146,28,136              ; vgatherdps    %ymm2,(%rax,%ymm1,4),%ymm3
+  DB  197,252,17,156,36,160,4,0,0         ; vmovups       %ymm3,0x4a0(%rsp)
+  DB  197,252,88,132,36,160,1,0,0         ; vaddps        0x1a0(%rsp),%ymm0,%ymm0
+  DB  197,254,91,248                      ; vcvttps2dq    %ymm0,%ymm7
+  DB  197,197,254,68,36,32                ; vpaddd        0x20(%rsp),%ymm7,%ymm0
+  DB  197,189,254,200                     ; vpaddd        %ymm0,%ymm8,%ymm1
+  DB  197,181,254,209                     ; vpaddd        %ymm1,%ymm9,%ymm2
+  DB  196,194,109,64,210                  ; vpmulld       %ymm10,%ymm2,%ymm2
+  DB  197,229,118,219                     ; vpcmpeqd      %ymm3,%ymm3,%ymm3
+  DB  197,220,87,228                      ; vxorps        %ymm4,%ymm4,%ymm4
+  DB  196,226,101,146,36,144              ; vgatherdps    %ymm3,(%rax,%ymm2,4),%ymm4
+  DB  197,252,17,100,36,32                ; vmovups       %ymm4,0x20(%rsp)
+  DB  196,193,109,250,221                 ; vpsubd        %ymm13,%ymm2,%ymm3
+  DB  197,221,118,228                     ; vpcmpeqd      %ymm4,%ymm4,%ymm4
+  DB  196,65,12,87,246                    ; vxorps        %ymm14,%ymm14,%ymm14
+  DB  196,98,93,146,52,152                ; vgatherdps    %ymm4,(%rax,%ymm3,4),%ymm14
+  DB  197,124,17,180,36,128,4,0,0         ; vmovups       %ymm14,0x480(%rsp)
+  DB  196,193,109,254,211                 ; vpaddd        %ymm11,%ymm2,%ymm2
+  DB  197,229,118,219                     ; vpcmpeqd      %ymm3,%ymm3,%ymm3
+  DB  197,220,87,228                      ; vxorps        %ymm4,%ymm4,%ymm4
+  DB  196,226,101,146,36,144              ; vgatherdps    %ymm3,(%rax,%ymm2,4),%ymm4
+  DB  197,252,17,164,36,96,4,0,0          ; vmovups       %ymm4,0x460(%rsp)
+  DB  197,213,254,201                     ; vpaddd        %ymm1,%ymm5,%ymm1
+  DB  196,194,117,64,202                  ; vpmulld       %ymm10,%ymm1,%ymm1
+  DB  197,237,118,210                     ; vpcmpeqd      %ymm2,%ymm2,%ymm2
+  DB  197,228,87,219                      ; vxorps        %ymm3,%ymm3,%ymm3
+  DB  196,226,109,146,28,136              ; vgatherdps    %ymm2,(%rax,%ymm1,4),%ymm3
+  DB  197,252,17,156,36,64,4,0,0          ; vmovups       %ymm3,0x440(%rsp)
+  DB  196,193,117,250,213                 ; vpsubd        %ymm13,%ymm1,%ymm2
+  DB  197,229,118,219                     ; vpcmpeqd      %ymm3,%ymm3,%ymm3
+  DB  197,220,87,228                      ; vxorps        %ymm4,%ymm4,%ymm4
+  DB  196,226,101,146,36,144              ; vgatherdps    %ymm3,(%rax,%ymm2,4),%ymm4
+  DB  197,252,17,164,36,32,4,0,0          ; vmovups       %ymm4,0x420(%rsp)
+  DB  196,193,117,254,203                 ; vpaddd        %ymm11,%ymm1,%ymm1
+  DB  197,237,118,210                     ; vpcmpeqd      %ymm2,%ymm2,%ymm2
+  DB  197,228,87,219                      ; vxorps        %ymm3,%ymm3,%ymm3
+  DB  196,226,109,146,28,136              ; vgatherdps    %ymm2,(%rax,%ymm1,4),%ymm3
+  DB  197,252,17,156,36,0,4,0,0           ; vmovups       %ymm3,0x400(%rsp)
+  DB  197,205,254,192                     ; vpaddd        %ymm0,%ymm6,%ymm0
+  DB  196,193,125,254,201                 ; vpaddd        %ymm9,%ymm0,%ymm1
+  DB  196,194,117,64,202                  ; vpmulld       %ymm10,%ymm1,%ymm1
+  DB  197,237,118,210                     ; vpcmpeqd      %ymm2,%ymm2,%ymm2
+  DB  197,228,87,219                      ; vxorps        %ymm3,%ymm3,%ymm3
+  DB  196,226,109,146,28,136              ; vgatherdps    %ymm2,(%rax,%ymm1,4),%ymm3
+  DB  197,252,17,156,36,160,3,0,0         ; vmovups       %ymm3,0x3a0(%rsp)
+  DB  196,193,117,250,213                 ; vpsubd        %ymm13,%ymm1,%ymm2
+  DB  197,229,118,219                     ; vpcmpeqd      %ymm3,%ymm3,%ymm3
+  DB  197,220,87,228                      ; vxorps        %ymm4,%ymm4,%ymm4
+  DB  196,226,101,146,36,144              ; vgatherdps    %ymm3,(%rax,%ymm2,4),%ymm4
+  DB  197,252,17,164,36,192,3,0,0         ; vmovups       %ymm4,0x3c0(%rsp)
+  DB  196,193,117,254,203                 ; vpaddd        %ymm11,%ymm1,%ymm1
+  DB  197,237,118,210                     ; vpcmpeqd      %ymm2,%ymm2,%ymm2
+  DB  197,228,87,219                      ; vxorps        %ymm3,%ymm3,%ymm3
+  DB  196,226,109,146,28,136              ; vgatherdps    %ymm2,(%rax,%ymm1,4),%ymm3
+  DB  197,252,17,156,36,0,3,0,0           ; vmovups       %ymm3,0x300(%rsp)
+  DB  197,213,254,192                     ; vpaddd        %ymm0,%ymm5,%ymm0
+  DB  196,194,125,64,194                  ; vpmulld       %ymm10,%ymm0,%ymm0
+  DB  197,245,118,201                     ; vpcmpeqd      %ymm1,%ymm1,%ymm1
+  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
+  DB  196,226,117,146,20,128              ; vgatherdps    %ymm1,(%rax,%ymm0,4),%ymm2
+  DB  197,252,17,148,36,96,3,0,0          ; vmovups       %ymm2,0x360(%rsp)
+  DB  196,193,125,250,205                 ; vpsubd        %ymm13,%ymm0,%ymm1
+  DB  197,237,118,210                     ; vpcmpeqd      %ymm2,%ymm2,%ymm2
+  DB  197,228,87,219                      ; vxorps        %ymm3,%ymm3,%ymm3
+  DB  196,226,109,146,28,136              ; vgatherdps    %ymm2,(%rax,%ymm1,4),%ymm3
+  DB  197,252,17,156,36,64,3,0,0          ; vmovups       %ymm3,0x340(%rsp)
+  DB  196,193,125,254,195                 ; vpaddd        %ymm11,%ymm0,%ymm0
+  DB  197,245,118,201                     ; vpcmpeqd      %ymm1,%ymm1,%ymm1
+  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
+  DB  196,226,117,146,20,128              ; vgatherdps    %ymm1,(%rax,%ymm0,4),%ymm2
+  DB  197,252,17,148,36,32,3,0,0          ; vmovups       %ymm2,0x320(%rsp)
+  DB  197,133,254,199                     ; vpaddd        %ymm7,%ymm15,%ymm0
+  DB  196,193,125,254,200                 ; vpaddd        %ymm8,%ymm0,%ymm1
+  DB  196,193,117,254,209                 ; vpaddd        %ymm9,%ymm1,%ymm2
+  DB  196,194,109,64,210                  ; vpmulld       %ymm10,%ymm2,%ymm2
+  DB  197,229,118,219                     ; vpcmpeqd      %ymm3,%ymm3,%ymm3
+  DB  197,220,87,228                      ; vxorps        %ymm4,%ymm4,%ymm4
+  DB  196,226,101,146,36,144              ; vgatherdps    %ymm3,(%rax,%ymm2,4),%ymm4
+  DB  197,252,17,36,36                    ; vmovups       %ymm4,(%rsp)
+  DB  196,193,109,250,221                 ; vpsubd        %ymm13,%ymm2,%ymm3
+  DB  196,65,61,118,192                   ; vpcmpeqd      %ymm8,%ymm8,%ymm8
+  DB  197,220,87,228                      ; vxorps        %ymm4,%ymm4,%ymm4
+  DB  196,226,61,146,36,152               ; vgatherdps    %ymm8,(%rax,%ymm3,4),%ymm4
+  DB  197,252,17,164,36,224,2,0,0         ; vmovups       %ymm4,0x2e0(%rsp)
+  DB  196,193,109,254,211                 ; vpaddd        %ymm11,%ymm2,%ymm2
+  DB  196,65,61,118,192                   ; vpcmpeqd      %ymm8,%ymm8,%ymm8
+  DB  197,228,87,219                      ; vxorps        %ymm3,%ymm3,%ymm3
+  DB  196,226,61,146,28,144               ; vgatherdps    %ymm8,(%rax,%ymm2,4),%ymm3
+  DB  197,252,17,156,36,96,2,0,0          ; vmovups       %ymm3,0x260(%rsp)
+  DB  197,213,254,201                     ; vpaddd        %ymm1,%ymm5,%ymm1
+  DB  196,194,117,64,202                  ; vpmulld       %ymm10,%ymm1,%ymm1
+  DB  197,237,118,210                     ; vpcmpeqd      %ymm2,%ymm2,%ymm2
+  DB  197,228,87,219                      ; vxorps        %ymm3,%ymm3,%ymm3
+  DB  196,226,109,146,28,136              ; vgatherdps    %ymm2,(%rax,%ymm1,4),%ymm3
+  DB  197,252,17,156,36,192,2,0,0         ; vmovups       %ymm3,0x2c0(%rsp)
+  DB  196,193,117,250,213                 ; vpsubd        %ymm13,%ymm1,%ymm2
+  DB  196,65,61,118,192                   ; vpcmpeqd      %ymm8,%ymm8,%ymm8
+  DB  197,228,87,219                      ; vxorps        %ymm3,%ymm3,%ymm3
+  DB  196,226,61,146,28,144               ; vgatherdps    %ymm8,(%rax,%ymm2,4),%ymm3
+  DB  197,252,17,156,36,160,2,0,0         ; vmovups       %ymm3,0x2a0(%rsp)
+  DB  196,193,117,254,203                 ; vpaddd        %ymm11,%ymm1,%ymm1
+  DB  197,237,118,210                     ; vpcmpeqd      %ymm2,%ymm2,%ymm2
+  DB  197,228,87,219                      ; vxorps        %ymm3,%ymm3,%ymm3
+  DB  196,226,109,146,28,136              ; vgatherdps    %ymm2,(%rax,%ymm1,4),%ymm3
+  DB  197,252,17,156,36,128,2,0,0         ; vmovups       %ymm3,0x280(%rsp)
+  DB  197,205,254,216                     ; vpaddd        %ymm0,%ymm6,%ymm3
+  DB  196,193,101,254,193                 ; vpaddd        %ymm9,%ymm3,%ymm0
+  DB  196,194,125,64,194                  ; vpmulld       %ymm10,%ymm0,%ymm0
+  DB  197,237,118,210                     ; vpcmpeqd      %ymm2,%ymm2,%ymm2
+  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
+  DB  196,226,109,146,12,128              ; vgatherdps    %ymm2,(%rax,%ymm0,4),%ymm1
+  DB  197,252,17,140,36,64,2,0,0          ; vmovups       %ymm1,0x240(%rsp)
+  DB  196,193,125,250,229                 ; vpsubd        %ymm13,%ymm0,%ymm4
+  DB  197,245,118,201                     ; vpcmpeqd      %ymm1,%ymm1,%ymm1
+  DB  196,65,29,239,228                   ; vpxor         %ymm12,%ymm12,%ymm12
+  DB  196,98,117,146,36,160               ; vgatherdps    %ymm1,(%rax,%ymm4,4),%ymm12
+  DB  196,193,125,254,203                 ; vpaddd        %ymm11,%ymm0,%ymm1
+  DB  197,221,118,228                     ; vpcmpeqd      %ymm4,%ymm4,%ymm4
+  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
+  DB  196,226,93,146,4,136                ; vgatherdps    %ymm4,(%rax,%ymm1,4),%ymm0
+  DB  197,252,17,132,36,32,2,0,0          ; vmovups       %ymm0,0x220(%rsp)
+  DB  197,213,254,203                     ; vpaddd        %ymm3,%ymm5,%ymm1
+  DB  196,194,117,64,202                  ; vpmulld       %ymm10,%ymm1,%ymm1
+  DB  197,229,118,219                     ; vpcmpeqd      %ymm3,%ymm3,%ymm3
+  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
+  DB  196,226,101,146,4,136               ; vgatherdps    %ymm3,(%rax,%ymm1,4),%ymm0
+  DB  197,252,17,132,36,0,2,0,0           ; vmovups       %ymm0,0x200(%rsp)
+  DB  196,193,117,250,221                 ; vpsubd        %ymm13,%ymm1,%ymm3
+  DB  196,65,45,118,210                   ; vpcmpeqd      %ymm10,%ymm10,%ymm10
+  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
+  DB  196,226,45,146,4,152                ; vgatherdps    %ymm10,(%rax,%ymm3,4),%ymm0
+  DB  197,252,17,132,36,224,1,0,0         ; vmovups       %ymm0,0x1e0(%rsp)
+  DB  196,193,117,254,203                 ; vpaddd        %ymm11,%ymm1,%ymm1
+  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
+  DB  196,226,21,146,4,136                ; vgatherdps    %ymm13,(%rax,%ymm1,4),%ymm0
+  DB  197,252,17,132,36,192,1,0,0         ; vmovups       %ymm0,0x1c0(%rsp)
+  DB  197,252,91,140,36,128,1,0,0         ; vcvtdq2ps     0x180(%rsp),%ymm1
+  DB  197,252,16,132,36,32,1,0,0          ; vmovups       0x120(%rsp),%ymm0
+  DB  197,252,92,201                      ; vsubps        %ymm1,%ymm0,%ymm1
+  DB  197,252,16,132,36,96,1,0,0          ; vmovups       0x160(%rsp),%ymm0
+  DB  197,252,16,148,36,0,1,0,0           ; vmovups       0x100(%rsp),%ymm2
+  DB  197,108,92,248                      ; vsubps        %ymm0,%ymm2,%ymm15
+  DB  196,98,117,168,248                  ; vfmadd213ps   %ymm0,%ymm1,%ymm15
+  DB  197,252,16,132,36,64,1,0,0          ; vmovups       0x140(%rsp),%ymm0
+  DB  197,252,16,148,36,224,0,0,0         ; vmovups       0xe0(%rsp),%ymm2
+  DB  197,108,92,240                      ; vsubps        %ymm0,%ymm2,%ymm14
+  DB  196,98,117,168,240                  ; vfmadd213ps   %ymm0,%ymm1,%ymm14
+  DB  197,252,16,172,36,160,0,0,0         ; vmovups       0xa0(%rsp),%ymm5
+  DB  197,252,16,132,36,192,0,0,0         ; vmovups       0xc0(%rsp),%ymm0
+  DB  197,252,92,197                      ; vsubps        %ymm5,%ymm0,%ymm0
+  DB  196,226,117,168,197                 ; vfmadd213ps   %ymm5,%ymm1,%ymm0
+  DB  197,252,17,132,36,128,1,0,0         ; vmovups       %ymm0,0x180(%rsp)
+  DB  197,252,16,68,36,64                 ; vmovups       0x40(%rsp),%ymm0
+  DB  197,252,16,148,36,224,5,0,0         ; vmovups       0x5e0(%rsp),%ymm2
+  DB  197,252,92,194                      ; vsubps        %ymm2,%ymm0,%ymm0
+  DB  196,226,117,168,194                 ; vfmadd213ps   %ymm2,%ymm1,%ymm0
+  DB  197,252,17,132,36,96,1,0,0          ; vmovups       %ymm0,0x160(%rsp)
+  DB  197,252,16,132,36,128,0,0,0         ; vmovups       0x80(%rsp),%ymm0
+  DB  197,252,16,148,36,32,6,0,0          ; vmovups       0x620(%rsp),%ymm2
+  DB  197,236,92,208                      ; vsubps        %ymm0,%ymm2,%ymm2
+  DB  196,226,117,168,208                 ; vfmadd213ps   %ymm0,%ymm1,%ymm2
+  DB  197,252,17,148,36,64,1,0,0          ; vmovups       %ymm2,0x140(%rsp)
+  DB  197,252,16,68,36,96                 ; vmovups       0x60(%rsp),%ymm0
+  DB  197,252,16,148,36,0,6,0,0           ; vmovups       0x600(%rsp),%ymm2
+  DB  197,236,92,208                      ; vsubps        %ymm0,%ymm2,%ymm2
+  DB  196,226,117,168,208                 ; vfmadd213ps   %ymm0,%ymm1,%ymm2
+  DB  197,252,17,148,36,32,1,0,0          ; vmovups       %ymm2,0x120(%rsp)
+  DB  197,252,16,132,36,160,5,0,0         ; vmovups       0x5a0(%rsp),%ymm0
+  DB  197,252,16,148,36,224,3,0,0         ; vmovups       0x3e0(%rsp),%ymm2
+  DB  197,124,92,210                      ; vsubps        %ymm2,%ymm0,%ymm10
+  DB  196,98,117,168,210                  ; vfmadd213ps   %ymm2,%ymm1,%ymm10
+  DB  197,252,16,132,36,192,5,0,0         ; vmovups       0x5c0(%rsp),%ymm0
+  DB  197,252,16,148,36,128,5,0,0         ; vmovups       0x580(%rsp),%ymm2
+  DB  197,108,92,216                      ; vsubps        %ymm0,%ymm2,%ymm11
+  DB  196,98,117,168,216                  ; vfmadd213ps   %ymm0,%ymm1,%ymm11
+  DB  197,252,16,132,36,96,5,0,0          ; vmovups       0x560(%rsp),%ymm0
+  DB  197,252,16,148,36,64,5,0,0          ; vmovups       0x540(%rsp),%ymm2
+  DB  197,124,92,202                      ; vsubps        %ymm2,%ymm0,%ymm9
+  DB  196,98,117,168,202                  ; vfmadd213ps   %ymm2,%ymm1,%ymm9
+  DB  197,252,16,132,36,32,5,0,0          ; vmovups       0x520(%rsp),%ymm0
+  DB  197,252,16,148,36,224,4,0,0         ; vmovups       0x4e0(%rsp),%ymm2
+  DB  197,236,92,208                      ; vsubps        %ymm0,%ymm2,%ymm2
+  DB  196,226,117,168,208                 ; vfmadd213ps   %ymm0,%ymm1,%ymm2
+  DB  197,252,17,148,36,0,1,0,0           ; vmovups       %ymm2,0x100(%rsp)
+  DB  197,252,16,132,36,0,5,0,0           ; vmovups       0x500(%rsp),%ymm0
+  DB  197,252,16,148,36,192,4,0,0         ; vmovups       0x4c0(%rsp),%ymm2
+  DB  197,236,92,208                      ; vsubps        %ymm0,%ymm2,%ymm2
+  DB  196,226,117,168,208                 ; vfmadd213ps   %ymm0,%ymm1,%ymm2
+  DB  197,252,17,148,36,224,0,0,0         ; vmovups       %ymm2,0xe0(%rsp)
+  DB  197,252,16,132,36,160,4,0,0         ; vmovups       0x4a0(%rsp),%ymm0
+  DB  197,252,16,148,36,128,3,0,0         ; vmovups       0x380(%rsp),%ymm2
+  DB  197,252,92,194                      ; vsubps        %ymm2,%ymm0,%ymm0
+  DB  196,226,117,168,194                 ; vfmadd213ps   %ymm2,%ymm1,%ymm0
+  DB  197,252,17,132,36,192,0,0,0         ; vmovups       %ymm0,0xc0(%rsp)
+  DB  197,252,16,68,36,32                 ; vmovups       0x20(%rsp),%ymm0
+  DB  197,252,16,148,36,64,4,0,0          ; vmovups       0x440(%rsp),%ymm2
+  DB  197,236,92,248                      ; vsubps        %ymm0,%ymm2,%ymm7
+  DB  196,226,117,168,248                 ; vfmadd213ps   %ymm0,%ymm1,%ymm7
+  DB  197,252,16,132,36,128,4,0,0         ; vmovups       0x480(%rsp),%ymm0
+  DB  197,252,16,148,36,32,4,0,0          ; vmovups       0x420(%rsp),%ymm2
+  DB  197,108,92,192                      ; vsubps        %ymm0,%ymm2,%ymm8
+  DB  196,98,117,168,192                  ; vfmadd213ps   %ymm0,%ymm1,%ymm8
+  DB  197,252,16,132,36,96,4,0,0          ; vmovups       0x460(%rsp),%ymm0
+  DB  197,252,16,148,36,0,4,0,0           ; vmovups       0x400(%rsp),%ymm2
+  DB  197,236,92,240                      ; vsubps        %ymm0,%ymm2,%ymm6
+  DB  196,226,117,168,240                 ; vfmadd213ps   %ymm0,%ymm1,%ymm6
+  DB  197,252,16,132,36,160,3,0,0         ; vmovups       0x3a0(%rsp),%ymm0
+  DB  197,252,16,148,36,96,3,0,0          ; vmovups       0x360(%rsp),%ymm2
+  DB  197,236,92,208                      ; vsubps        %ymm0,%ymm2,%ymm2
+  DB  196,226,117,168,208                 ; vfmadd213ps   %ymm0,%ymm1,%ymm2
+  DB  197,252,17,148,36,160,0,0,0         ; vmovups       %ymm2,0xa0(%rsp)
+  DB  197,252,16,132,36,192,3,0,0         ; vmovups       0x3c0(%rsp),%ymm0
+  DB  197,252,16,148,36,64,3,0,0          ; vmovups       0x340(%rsp),%ymm2
+  DB  197,236,92,208                      ; vsubps        %ymm0,%ymm2,%ymm2
+  DB  196,226,117,168,208                 ; vfmadd213ps   %ymm0,%ymm1,%ymm2
+  DB  197,252,17,148,36,128,0,0,0         ; vmovups       %ymm2,0x80(%rsp)
+  DB  197,252,16,132,36,32,3,0,0          ; vmovups       0x320(%rsp),%ymm0
+  DB  197,252,16,148,36,0,3,0,0           ; vmovups       0x300(%rsp),%ymm2
+  DB  197,252,92,194                      ; vsubps        %ymm2,%ymm0,%ymm0
+  DB  196,226,117,168,194                 ; vfmadd213ps   %ymm2,%ymm1,%ymm0
+  DB  197,252,17,68,36,96                 ; vmovups       %ymm0,0x60(%rsp)
+  DB  197,252,16,4,36                     ; vmovups       (%rsp),%ymm0
+  DB  197,252,16,148,36,192,2,0,0         ; vmovups       0x2c0(%rsp),%ymm2
+  DB  197,236,92,208                      ; vsubps        %ymm0,%ymm2,%ymm2
+  DB  196,226,117,168,208                 ; vfmadd213ps   %ymm0,%ymm1,%ymm2
+  DB  197,252,16,132,36,224,2,0,0         ; vmovups       0x2e0(%rsp),%ymm0
+  DB  197,252,16,156,36,160,2,0,0         ; vmovups       0x2a0(%rsp),%ymm3
+  DB  197,228,92,216                      ; vsubps        %ymm0,%ymm3,%ymm3
+  DB  196,226,117,168,216                 ; vfmadd213ps   %ymm0,%ymm1,%ymm3
+  DB  197,252,16,132,36,128,2,0,0         ; vmovups       0x280(%rsp),%ymm0
+  DB  197,252,16,172,36,96,2,0,0          ; vmovups       0x260(%rsp),%ymm5
+  DB  197,252,92,229                      ; vsubps        %ymm5,%ymm0,%ymm4
+  DB  196,226,117,168,229                 ; vfmadd213ps   %ymm5,%ymm1,%ymm4
+  DB  197,252,16,132,36,64,2,0,0          ; vmovups       0x240(%rsp),%ymm0
+  DB  197,252,16,172,36,0,2,0,0           ; vmovups       0x200(%rsp),%ymm5
+  DB  197,84,92,232                       ; vsubps        %ymm0,%ymm5,%ymm13
+  DB  196,98,117,168,232                  ; vfmadd213ps   %ymm0,%ymm1,%ymm13
+  DB  197,252,16,132,36,224,1,0,0         ; vmovups       0x1e0(%rsp),%ymm0
+  DB  196,193,124,92,196                  ; vsubps        %ymm12,%ymm0,%ymm0
+  DB  196,194,117,168,196                 ; vfmadd213ps   %ymm12,%ymm1,%ymm0
+  DB  197,252,17,68,36,64                 ; vmovups       %ymm0,0x40(%rsp)
+  DB  197,252,16,132,36,32,2,0,0          ; vmovups       0x220(%rsp),%ymm0
+  DB  197,252,16,172,36,192,1,0,0         ; vmovups       0x1c0(%rsp),%ymm5
+  DB  197,84,92,224                       ; vsubps        %ymm0,%ymm5,%ymm12
+  DB  196,98,117,168,224                  ; vfmadd213ps   %ymm0,%ymm1,%ymm12
+  DB  197,252,91,140,36,160,6,0,0         ; vcvtdq2ps     0x6a0(%rsp),%ymm1
+  DB  197,252,16,132,36,128,6,0,0         ; vmovups       0x680(%rsp),%ymm0
+  DB  197,252,92,201                      ; vsubps        %ymm1,%ymm0,%ymm1
+  DB  197,252,16,132,36,96,1,0,0          ; vmovups       0x160(%rsp),%ymm0
+  DB  196,193,124,92,199                  ; vsubps        %ymm15,%ymm0,%ymm0
+  DB  196,194,117,168,199                 ; vfmadd213ps   %ymm15,%ymm1,%ymm0
+  DB  197,252,16,172,36,64,1,0,0          ; vmovups       0x140(%rsp),%ymm5
+  DB  196,65,84,92,254                    ; vsubps        %ymm14,%ymm5,%ymm15
+  DB  196,66,117,168,254                  ; vfmadd213ps   %ymm14,%ymm1,%ymm15
+  DB  197,252,16,172,36,128,1,0,0         ; vmovups       0x180(%rsp),%ymm5
+  DB  197,124,16,180,36,32,1,0,0          ; vmovups       0x120(%rsp),%ymm14
+  DB  197,12,92,245                       ; vsubps        %ymm5,%ymm14,%ymm14
+  DB  196,98,117,168,245                  ; vfmadd213ps   %ymm5,%ymm1,%ymm14
+  DB  197,252,16,172,36,0,1,0,0           ; vmovups       0x100(%rsp),%ymm5
+  DB  196,193,84,92,234                   ; vsubps        %ymm10,%ymm5,%ymm5
+  DB  196,194,117,168,234                 ; vfmadd213ps   %ymm10,%ymm1,%ymm5
+  DB  197,124,16,148,36,224,0,0,0         ; vmovups       0xe0(%rsp),%ymm10
+  DB  196,65,44,92,211                    ; vsubps        %ymm11,%ymm10,%ymm10
+  DB  196,66,117,168,211                  ; vfmadd213ps   %ymm11,%ymm1,%ymm10
+  DB  197,124,16,156,36,192,0,0,0         ; vmovups       0xc0(%rsp),%ymm11
+  DB  196,65,36,92,217                    ; vsubps        %ymm9,%ymm11,%ymm11
+  DB  196,66,117,168,217                  ; vfmadd213ps   %ymm9,%ymm1,%ymm11
+  DB  197,124,16,140,36,160,0,0,0         ; vmovups       0xa0(%rsp),%ymm9
+  DB  197,52,92,207                       ; vsubps        %ymm7,%ymm9,%ymm9
+  DB  196,98,117,168,207                  ; vfmadd213ps   %ymm7,%ymm1,%ymm9
+  DB  197,252,16,188,36,128,0,0,0         ; vmovups       0x80(%rsp),%ymm7
+  DB  196,193,68,92,248                   ; vsubps        %ymm8,%ymm7,%ymm7
+  DB  196,194,117,168,248                 ; vfmadd213ps   %ymm8,%ymm1,%ymm7
+  DB  197,124,16,68,36,96                 ; vmovups       0x60(%rsp),%ymm8
+  DB  197,60,92,198                       ; vsubps        %ymm6,%ymm8,%ymm8
+  DB  196,98,117,168,198                  ; vfmadd213ps   %ymm6,%ymm1,%ymm8
+  DB  197,148,92,242                      ; vsubps        %ymm2,%ymm13,%ymm6
+  DB  196,226,117,168,242                 ; vfmadd213ps   %ymm2,%ymm1,%ymm6
+  DB  197,252,16,84,36,64                 ; vmovups       0x40(%rsp),%ymm2
+  DB  197,236,92,211                      ; vsubps        %ymm3,%ymm2,%ymm2
+  DB  196,226,117,168,211                 ; vfmadd213ps   %ymm3,%ymm1,%ymm2
+  DB  197,156,92,220                      ; vsubps        %ymm4,%ymm12,%ymm3
+  DB  196,226,117,168,220                 ; vfmadd213ps   %ymm4,%ymm1,%ymm3
+  DB  197,252,91,140,36,192,6,0,0         ; vcvtdq2ps     0x6c0(%rsp),%ymm1
+  DB  197,252,16,164,36,96,6,0,0          ; vmovups       0x660(%rsp),%ymm4
+  DB  197,220,92,201                      ; vsubps        %ymm1,%ymm4,%ymm1
+  DB  197,212,92,224                      ; vsubps        %ymm0,%ymm5,%ymm4
+  DB  196,226,117,168,224                 ; vfmadd213ps   %ymm0,%ymm1,%ymm4
+  DB  196,193,44,92,239                   ; vsubps        %ymm15,%ymm10,%ymm5
+  DB  196,194,117,168,239                 ; vfmadd213ps   %ymm15,%ymm1,%ymm5
+  DB  196,65,36,92,214                    ; vsubps        %ymm14,%ymm11,%ymm10
+  DB  196,66,117,168,214                  ; vfmadd213ps   %ymm14,%ymm1,%ymm10
+  DB  196,193,76,92,193                   ; vsubps        %ymm9,%ymm6,%ymm0
+  DB  196,194,117,168,193                 ; vfmadd213ps   %ymm9,%ymm1,%ymm0
+  DB  197,236,92,215                      ; vsubps        %ymm7,%ymm2,%ymm2
+  DB  196,226,117,168,215                 ; vfmadd213ps   %ymm7,%ymm1,%ymm2
+  DB  196,193,100,92,216                  ; vsubps        %ymm8,%ymm3,%ymm3
+  DB  196,194,117,168,216                 ; vfmadd213ps   %ymm8,%ymm1,%ymm3
+  DB  197,252,91,140,36,64,6,0,0          ; vcvtdq2ps     0x640(%rsp),%ymm1
+  DB  197,252,16,180,36,160,1,0,0         ; vmovups       0x1a0(%rsp),%ymm6
+  DB  197,204,92,241                      ; vsubps        %ymm1,%ymm6,%ymm6
+  DB  197,252,92,196                      ; vsubps        %ymm4,%ymm0,%ymm0
+  DB  196,226,77,168,196                  ; vfmadd213ps   %ymm4,%ymm6,%ymm0
+  DB  197,236,92,205                      ; vsubps        %ymm5,%ymm2,%ymm1
+  DB  196,226,77,168,205                  ; vfmadd213ps   %ymm5,%ymm6,%ymm1
+  DB  196,193,100,92,210                  ; vsubps        %ymm10,%ymm3,%ymm2
+  DB  196,194,77,168,210                  ; vfmadd213ps   %ymm10,%ymm6,%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,29,134,200,2,0       ; vbroadcastss  0x2c886(%rip),%ymm3        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,252,16,164,36,224,6,0,0         ; vmovups       0x6e0(%rsp),%ymm4
+  DB  197,252,16,172,36,0,7,0,0           ; vmovups       0x700(%rsp),%ymm5
+  DB  197,252,16,180,36,32,7,0,0          ; vmovups       0x720(%rsp),%ymm6
+  DB  197,252,16,188,36,64,7,0,0          ; vmovups       0x740(%rsp),%ymm7
+  DB  72,129,196,120,7,0,0                ; add           $0x778,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_gauss_a_to_rgba_hsw
+_sk_gauss_a_to_rgba_hsw LABEL PROC
+  DB  196,226,125,24,5,196,201,2,0        ; vbroadcastss  0x2c9c4(%rip),%ymm0        # 34c3c <_sk_srcover_bgra_8888_sse2_lowp+0x424>
+  DB  196,226,125,24,13,191,201,2,0       ; vbroadcastss  0x2c9bf(%rip),%ymm1        # 34c40 <_sk_srcover_bgra_8888_sse2_lowp+0x428>
+  DB  196,226,101,168,200                 ; vfmadd213ps   %ymm0,%ymm3,%ymm1
+  DB  196,226,125,24,5,181,201,2,0        ; vbroadcastss  0x2c9b5(%rip),%ymm0        # 34c44 <_sk_srcover_bgra_8888_sse2_lowp+0x42c>
+  DB  196,226,101,184,193                 ; vfmadd231ps   %ymm1,%ymm3,%ymm0
+  DB  196,226,125,24,13,171,201,2,0       ; vbroadcastss  0x2c9ab(%rip),%ymm1        # 34c48 <_sk_srcover_bgra_8888_sse2_lowp+0x430>
+  DB  196,226,101,184,200                 ; vfmadd231ps   %ymm0,%ymm3,%ymm1
+  DB  196,226,125,24,5,161,201,2,0        ; vbroadcastss  0x2c9a1(%rip),%ymm0        # 34c4c <_sk_srcover_bgra_8888_sse2_lowp+0x434>
+  DB  196,226,101,184,193                 ; vfmadd231ps   %ymm1,%ymm3,%ymm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,40,200                      ; vmovaps       %ymm0,%ymm1
+  DB  197,252,40,208                      ; vmovaps       %ymm0,%ymm2
+  DB  197,252,40,216                      ; vmovaps       %ymm0,%ymm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bilerp_clamp_8888_hsw
+_sk_bilerp_clamp_8888_hsw LABEL PROC
+  DB  72,129,236,120,1,0,0                ; sub           $0x178,%rsp
+  DB  197,252,17,188,36,128,0,0,0         ; vmovups       %ymm7,0x80(%rsp)
+  DB  197,252,17,116,36,96                ; vmovups       %ymm6,0x60(%rsp)
+  DB  197,252,17,108,36,64                ; vmovups       %ymm5,0x40(%rsp)
+  DB  197,252,17,100,36,32                ; vmovups       %ymm4,0x20(%rsp)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,37,215,199,2,0       ; vbroadcastss  0x2c7d7(%rip),%ymm4        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  197,252,88,212                      ; vaddps        %ymm4,%ymm0,%ymm2
+  DB  196,227,125,8,218,1                 ; vroundps      $0x1,%ymm2,%ymm3
+  DB  197,108,92,235                      ; vsubps        %ymm3,%ymm2,%ymm13
+  DB  197,252,17,140,36,32,1,0,0          ; vmovups       %ymm1,0x120(%rsp)
+  DB  197,244,88,204                      ; vaddps        %ymm4,%ymm1,%ymm1
+  DB  196,227,125,8,209,1                 ; vroundps      $0x1,%ymm1,%ymm2
+  DB  197,244,92,210                      ; vsubps        %ymm2,%ymm1,%ymm2
+  DB  196,226,125,24,13,173,199,2,0       ; vbroadcastss  0x2c7ad(%rip),%ymm1        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,193,116,92,221                  ; vsubps        %ymm13,%ymm1,%ymm3
+  DB  197,252,17,156,36,64,1,0,0          ; vmovups       %ymm3,0x140(%rsp)
+  DB  197,252,17,148,36,0,1,0,0           ; vmovups       %ymm2,0x100(%rsp)
+  DB  197,244,92,202                      ; vsubps        %ymm2,%ymm1,%ymm1
+  DB  197,252,17,140,36,160,0,0,0         ; vmovups       %ymm1,0xa0(%rsp)
+  DB  196,226,125,88,72,12                ; vpbroadcastd  0xc(%rax),%ymm1
+  DB  197,237,118,210                     ; vpcmpeqd      %ymm2,%ymm2,%ymm2
+  DB  197,117,254,242                     ; vpaddd        %ymm2,%ymm1,%ymm14
+  DB  196,226,125,88,72,16                ; vpbroadcastd  0x10(%rax),%ymm1
+  DB  197,245,254,202                     ; vpaddd        %ymm2,%ymm1,%ymm1
+  DB  197,254,127,140,36,224,0,0,0        ; vmovdqu       %ymm1,0xe0(%rsp)
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  196,226,125,24,72,8                 ; vbroadcastss  0x8(%rax),%ymm1
+  DB  197,252,17,140,36,192,0,0,0         ; vmovups       %ymm1,0xc0(%rsp)
+  DB  197,250,16,13,162,200,2,0           ; vmovss        0x2c8a2(%rip),%xmm1        # 34c1c <_sk_srcover_bgra_8888_sse2_lowp+0x404>
+  DB  196,226,125,24,61,189,199,2,0       ; vbroadcastss  0x2c7bd(%rip),%ymm7        # 34b40 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  DB  197,228,87,219                      ; vxorps        %ymm3,%ymm3,%ymm3
+  DB  197,237,239,210                     ; vpxor         %ymm2,%ymm2,%ymm2
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  196,65,52,87,201                    ; vxorps        %ymm9,%ymm9,%ymm9
+  DB  197,248,40,233                      ; vmovaps       %xmm1,%xmm5
+  DB  196,226,125,24,205                  ; vbroadcastss  %xmm5,%ymm1
+  DB  197,244,88,140,36,32,1,0,0          ; vaddps        0x120(%rsp),%ymm1,%ymm1
+  DB  197,220,87,228                      ; vxorps        %ymm4,%ymm4,%ymm4
+  DB  197,220,95,201                      ; vmaxps        %ymm1,%ymm4,%ymm1
+  DB  197,248,41,108,36,16                ; vmovaps       %xmm5,0x10(%rsp)
+  DB  197,248,46,45,147,200,2,0           ; vucomiss      0x2c893(%rip),%xmm5        # 34c50 <_sk_srcover_bgra_8888_sse2_lowp+0x438>
+  DB  197,124,16,164,36,0,1,0,0           ; vmovups       0x100(%rsp),%ymm12
+  DB  119,9                               ; ja            83d1 <_sk_bilerp_clamp_8888_hsw+0x111>
+  DB  197,124,16,164,36,160,0,0,0         ; vmovups       0xa0(%rsp),%ymm12
+  DB  197,244,93,140,36,224,0,0,0         ; vminps        0xe0(%rsp),%ymm1,%ymm1
+  DB  197,254,91,201                      ; vcvttps2dq    %ymm1,%ymm1
+  DB  196,226,117,64,164,36,192,0,0,0     ; vpmulld       0xc0(%rsp),%ymm1,%ymm4
+  DB  197,250,16,53,44,200,2,0            ; vmovss        0x2c82c(%rip),%xmm6        # 34c1c <_sk_srcover_bgra_8888_sse2_lowp+0x404>
+  DB  196,226,125,24,206                  ; vbroadcastss  %xmm6,%ymm1
+  DB  197,244,88,200                      ; vaddps        %ymm0,%ymm1,%ymm1
+  DB  197,212,87,237                      ; vxorps        %ymm5,%ymm5,%ymm5
+  DB  197,212,95,201                      ; vmaxps        %ymm1,%ymm5,%ymm1
+  DB  196,193,116,93,206                  ; vminps        %ymm14,%ymm1,%ymm1
+  DB  197,254,91,201                      ; vcvttps2dq    %ymm1,%ymm1
+  DB  197,221,254,201                     ; vpaddd        %ymm1,%ymm4,%ymm1
+  DB  197,213,118,237                     ; vpcmpeqd      %ymm5,%ymm5,%ymm5
+  DB  196,65,45,239,210                   ; vpxor         %ymm10,%ymm10,%ymm10
+  DB  196,66,85,144,20,136                ; vpgatherdd    %ymm5,(%r8,%ymm1,4),%ymm10
+  DB  197,173,219,13,219,203,2,0          ; vpand         0x2cbdb(%rip),%ymm10,%ymm1        # 35000 <_sk_srcover_bgra_8888_sse2_lowp+0x7e8>
+  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
+  DB  197,116,89,223                      ; vmulps        %ymm7,%ymm1,%ymm11
+  DB  196,226,45,0,13,234,203,2,0         ; vpshufb       0x2cbea(%rip),%ymm10,%ymm1        # 35020 <_sk_srcover_bgra_8888_sse2_lowp+0x808>
+  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
+  DB  197,244,89,239                      ; vmulps        %ymm7,%ymm1,%ymm5
+  DB  196,226,45,0,13,249,203,2,0         ; vpshufb       0x2cbf9(%rip),%ymm10,%ymm1        # 35040 <_sk_srcover_bgra_8888_sse2_lowp+0x828>
+  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
+  DB  197,244,89,207                      ; vmulps        %ymm7,%ymm1,%ymm1
+  DB  196,193,45,114,210,24               ; vpsrld        $0x18,%ymm10,%ymm10
+  DB  196,65,124,91,210                   ; vcvtdq2ps     %ymm10,%ymm10
+  DB  197,44,89,255                       ; vmulps        %ymm7,%ymm10,%ymm15
+  DB  197,248,46,53,234,199,2,0           ; vucomiss      0x2c7ea(%rip),%xmm6        # 34c50 <_sk_srcover_bgra_8888_sse2_lowp+0x438>
+  DB  196,65,124,40,213                   ; vmovaps       %ymm13,%ymm10
+  DB  119,9                               ; ja            8476 <_sk_bilerp_clamp_8888_hsw+0x1b6>
+  DB  197,124,16,148,36,64,1,0,0          ; vmovups       0x140(%rsp),%ymm10
+  DB  196,65,28,89,210                    ; vmulps        %ymm10,%ymm12,%ymm10
+  DB  196,66,45,184,203                   ; vfmadd231ps   %ymm11,%ymm10,%ymm9
+  DB  196,98,45,184,197                   ; vfmadd231ps   %ymm5,%ymm10,%ymm8
+  DB  196,226,45,184,209                  ; vfmadd231ps   %ymm1,%ymm10,%ymm2
+  DB  196,194,45,184,223                  ; vfmadd231ps   %ymm15,%ymm10,%ymm3
+  DB  197,202,88,53,49,198,2,0            ; vaddss        0x2c631(%rip),%xmm6,%xmm6        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,250,16,13,37,198,2,0            ; vmovss        0x2c625(%rip),%xmm1        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  197,248,46,206                      ; vucomiss      %xmm6,%xmm1
+  DB  15,131,71,255,255,255               ; jae           83f0 <_sk_bilerp_clamp_8888_hsw+0x130>
+  DB  197,248,40,108,36,16                ; vmovaps       0x10(%rsp),%xmm5
+  DB  197,210,88,45,17,198,2,0            ; vaddss        0x2c611(%rip),%xmm5,%xmm5        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,250,16,13,5,198,2,0             ; vmovss        0x2c605(%rip),%xmm1        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  197,248,46,205                      ; vucomiss      %xmm5,%xmm1
+  DB  15,131,208,254,255,255              ; jae           8399 <_sk_bilerp_clamp_8888_hsw+0xd9>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,124,41,200                      ; vmovaps       %ymm9,%ymm0
+  DB  197,124,41,193                      ; vmovaps       %ymm8,%ymm1
+  DB  197,252,16,100,36,32                ; vmovups       0x20(%rsp),%ymm4
+  DB  197,252,16,108,36,64                ; vmovups       0x40(%rsp),%ymm5
+  DB  197,252,16,116,36,96                ; vmovups       0x60(%rsp),%ymm6
+  DB  197,252,16,188,36,128,0,0,0         ; vmovups       0x80(%rsp),%ymm7
+  DB  72,129,196,120,1,0,0                ; add           $0x178,%rsp
+  DB  255,224                             ; jmpq          *%rax
+  DB  144                                 ; nop
+
+PUBLIC _sk_start_pipeline_avx
+_sk_start_pipeline_avx LABEL PROC
+  DB  85                                  ; push          %rbp
+  DB  72,137,229                          ; mov           %rsp,%rbp
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,85                               ; push          %r13
+  DB  65,84                               ; push          %r12
+  DB  86                                  ; push          %rsi
+  DB  87                                  ; push          %rdi
+  DB  83                                  ; push          %rbx
+  DB  72,129,236,200,0,0,0                ; sub           $0xc8,%rsp
+  DB  197,120,41,125,176                  ; vmovaps       %xmm15,-0x50(%rbp)
+  DB  197,120,41,117,160                  ; vmovaps       %xmm14,-0x60(%rbp)
+  DB  197,120,41,109,144                  ; vmovaps       %xmm13,-0x70(%rbp)
+  DB  197,120,41,101,128                  ; vmovaps       %xmm12,-0x80(%rbp)
+  DB  197,120,41,157,112,255,255,255      ; vmovaps       %xmm11,-0x90(%rbp)
+  DB  197,120,41,149,96,255,255,255       ; vmovaps       %xmm10,-0xa0(%rbp)
+  DB  197,120,41,141,80,255,255,255       ; vmovaps       %xmm9,-0xb0(%rbp)
+  DB  197,120,41,133,64,255,255,255       ; vmovaps       %xmm8,-0xc0(%rbp)
+  DB  197,248,41,189,48,255,255,255       ; vmovaps       %xmm7,-0xd0(%rbp)
+  DB  197,248,41,181,32,255,255,255       ; vmovaps       %xmm6,-0xe0(%rbp)
+  DB  77,137,199                          ; mov           %r8,%r15
+  DB  72,137,211                          ; mov           %rdx,%rbx
+  DB  72,137,141,24,255,255,255           ; mov           %rcx,-0xe8(%rbp)
+  DB  72,139,117,48                       ; mov           0x30(%rbp),%rsi
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  73,137,197                          ; mov           %rax,%r13
+  DB  73,137,246                          ; mov           %rsi,%r14
+  DB  76,137,141,8,255,255,255            ; mov           %r9,-0xf8(%rbp)
+  DB  76,57,203                           ; cmp           %r9,%rbx
+  DB  15,131,169,0,0,0                    ; jae           8624 <_sk_start_pipeline_avx+0x12c>
+  DB  72,139,133,24,255,255,255           ; mov           -0xe8(%rbp),%rax
+  DB  72,141,64,8                         ; lea           0x8(%rax),%rax
+  DB  72,137,133,16,255,255,255           ; mov           %rax,-0xf0(%rbp)
+  DB  72,139,149,24,255,255,255           ; mov           -0xe8(%rbp),%rdx
+  DB  76,57,189,16,255,255,255            ; cmp           %r15,-0xf0(%rbp)
+  DB  119,70                              ; ja            85e3 <_sk_start_pipeline_avx+0xeb>
+  DB  76,139,165,24,255,255,255           ; mov           -0xe8(%rbp),%r12
+  DB  49,255                              ; xor           %edi,%edi
+  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
+  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
+  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
+  DB  197,228,87,219                      ; vxorps        %ymm3,%ymm3,%ymm3
+  DB  197,220,87,228                      ; vxorps        %ymm4,%ymm4,%ymm4
+  DB  197,212,87,237                      ; vxorps        %ymm5,%ymm5,%ymm5
+  DB  197,204,87,246                      ; vxorps        %ymm6,%ymm6,%ymm6
+  DB  197,196,87,255                      ; vxorps        %ymm7,%ymm7,%ymm7
+  DB  76,137,246                          ; mov           %r14,%rsi
+  DB  76,137,226                          ; mov           %r12,%rdx
+  DB  72,137,217                          ; mov           %rbx,%rcx
+  DB  65,255,213                          ; callq         *%r13
+  DB  73,141,84,36,8                      ; lea           0x8(%r12),%rdx
+  DB  73,131,196,16                       ; add           $0x10,%r12
+  DB  77,57,252                           ; cmp           %r15,%r12
+  DB  73,137,212                          ; mov           %rdx,%r12
+  DB  118,193                             ; jbe           85a4 <_sk_start_pipeline_avx+0xac>
+  DB  76,137,255                          ; mov           %r15,%rdi
+  DB  72,41,215                           ; sub           %rdx,%rdi
+  DB  116,41                              ; je            8614 <_sk_start_pipeline_avx+0x11c>
+  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
+  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
+  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
+  DB  197,228,87,219                      ; vxorps        %ymm3,%ymm3,%ymm3
+  DB  197,220,87,228                      ; vxorps        %ymm4,%ymm4,%ymm4
+  DB  197,212,87,237                      ; vxorps        %ymm5,%ymm5,%ymm5
+  DB  197,204,87,246                      ; vxorps        %ymm6,%ymm6,%ymm6
+  DB  197,196,87,255                      ; vxorps        %ymm7,%ymm7,%ymm7
+  DB  76,137,246                          ; mov           %r14,%rsi
+  DB  72,137,217                          ; mov           %rbx,%rcx
+  DB  65,255,213                          ; callq         *%r13
+  DB  72,255,195                          ; inc           %rbx
+  DB  72,59,157,8,255,255,255             ; cmp           -0xf8(%rbp),%rbx
+  DB  15,133,105,255,255,255              ; jne           858d <_sk_start_pipeline_avx+0x95>
+  DB  197,248,40,181,32,255,255,255       ; vmovaps       -0xe0(%rbp),%xmm6
+  DB  197,248,40,189,48,255,255,255       ; vmovaps       -0xd0(%rbp),%xmm7
+  DB  197,120,40,133,64,255,255,255       ; vmovaps       -0xc0(%rbp),%xmm8
+  DB  197,120,40,141,80,255,255,255       ; vmovaps       -0xb0(%rbp),%xmm9
+  DB  197,120,40,149,96,255,255,255       ; vmovaps       -0xa0(%rbp),%xmm10
+  DB  197,120,40,157,112,255,255,255      ; vmovaps       -0x90(%rbp),%xmm11
+  DB  197,120,40,101,128                  ; vmovaps       -0x80(%rbp),%xmm12
+  DB  197,120,40,109,144                  ; vmovaps       -0x70(%rbp),%xmm13
+  DB  197,120,40,117,160                  ; vmovaps       -0x60(%rbp),%xmm14
+  DB  197,120,40,125,176                  ; vmovaps       -0x50(%rbp),%xmm15
+  DB  72,129,196,200,0,0,0                ; add           $0xc8,%rsp
+  DB  91                                  ; pop           %rbx
+  DB  95                                  ; pop           %rdi
+  DB  94                                  ; pop           %rsi
+  DB  65,92                               ; pop           %r12
+  DB  65,93                               ; pop           %r13
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  93                                  ; pop           %rbp
+  DB  197,248,119                         ; vzeroupper
+  DB  195                                 ; retq
+
+PUBLIC _sk_just_return_avx
+_sk_just_return_avx LABEL PROC
+  DB  195                                 ; retq
+
+PUBLIC _sk_seed_shader_avx
+_sk_seed_shader_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,249,110,194                     ; vmovd         %edx,%xmm0
+  DB  197,249,112,192,0                   ; vpshufd       $0x0,%xmm0,%xmm0
+  DB  196,227,125,24,192,1                ; vinsertf128   $0x1,%xmm0,%ymm0,%ymm0
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  197,252,88,0                        ; vaddps        (%rax),%ymm0,%ymm0
+  DB  197,249,110,201                     ; vmovd         %ecx,%xmm1
+  DB  197,249,112,201,0                   ; vpshufd       $0x0,%xmm1,%xmm1
+  DB  196,227,117,24,201,1                ; vinsertf128   $0x1,%xmm1,%ymm1,%ymm1
+  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
+  DB  196,226,125,24,21,15,196,2,0        ; vbroadcastss  0x2c40f(%rip),%ymm2        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  197,244,88,202                      ; vaddps        %ymm2,%ymm1,%ymm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,21,4,196,2,0         ; vbroadcastss  0x2c404(%rip),%ymm2        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,228,87,219                      ; vxorps        %ymm3,%ymm3,%ymm3
+  DB  197,220,87,228                      ; vxorps        %ymm4,%ymm4,%ymm4
+  DB  197,212,87,237                      ; vxorps        %ymm5,%ymm5,%ymm5
+  DB  197,204,87,246                      ; vxorps        %ymm6,%ymm6,%ymm6
+  DB  197,196,87,255                      ; vxorps        %ymm7,%ymm7,%ymm7
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_dither_avx
+_sk_dither_avx LABEL PROC
+  DB  197,121,110,194                     ; vmovd         %edx,%xmm8
+  DB  196,65,121,112,192,0                ; vpshufd       $0x0,%xmm8,%xmm8
+  DB  197,57,254,13,148,205,2,0           ; vpaddd        0x2cd94(%rip),%xmm8,%xmm9        # 35480 <_sk_srcover_bgra_8888_sse2_lowp+0xc68>
+  DB  197,57,254,5,156,205,2,0            ; vpaddd        0x2cd9c(%rip),%xmm8,%xmm8        # 35490 <_sk_srcover_bgra_8888_sse2_lowp+0xc78>
+  DB  196,67,53,24,208,1                  ; vinsertf128   $0x1,%xmm8,%ymm9,%ymm10
+  DB  197,121,110,217                     ; vmovd         %ecx,%xmm11
+  DB  196,65,121,112,219,0                ; vpshufd       $0x0,%xmm11,%xmm11
+  DB  196,67,37,24,219,1                  ; vinsertf128   $0x1,%xmm11,%ymm11,%ymm11
+  DB  196,65,36,87,218                    ; vxorps        %ymm10,%ymm11,%ymm11
+  DB  196,98,125,24,21,180,195,2,0        ; vbroadcastss  0x2c3b4(%rip),%ymm10        # 34acc <_sk_srcover_bgra_8888_sse2_lowp+0x2b4>
+  DB  196,65,36,84,210                    ; vandps        %ymm10,%ymm11,%ymm10
+  DB  196,193,25,114,242,5                ; vpslld        $0x5,%xmm10,%xmm12
+  DB  196,67,125,25,210,1                 ; vextractf128  $0x1,%ymm10,%xmm10
+  DB  196,193,41,114,242,5                ; vpslld        $0x5,%xmm10,%xmm10
+  DB  196,67,29,24,210,1                  ; vinsertf128   $0x1,%xmm10,%ymm12,%ymm10
+  DB  197,123,18,37,179,213,2,0           ; vmovddup      0x2d5b3(%rip),%xmm12        # 35cf0 <_sk_srcover_bgra_8888_sse2_lowp+0x14d8>
+  DB  196,65,49,219,236                   ; vpand         %xmm12,%xmm9,%xmm13
+  DB  196,193,17,114,245,4                ; vpslld        $0x4,%xmm13,%xmm13
+  DB  196,65,57,219,228                   ; vpand         %xmm12,%xmm8,%xmm12
+  DB  196,193,25,114,244,4                ; vpslld        $0x4,%xmm12,%xmm12
+  DB  196,67,21,24,228,1                  ; vinsertf128   $0x1,%xmm12,%ymm13,%ymm12
+  DB  196,98,125,24,45,114,195,2,0        ; vbroadcastss  0x2c372(%rip),%ymm13        # 34ad4 <_sk_srcover_bgra_8888_sse2_lowp+0x2bc>
+  DB  196,65,36,84,237                    ; vandps        %ymm13,%ymm11,%ymm13
+  DB  196,193,9,114,245,2                 ; vpslld        $0x2,%xmm13,%xmm14
+  DB  196,67,125,25,237,1                 ; vextractf128  $0x1,%ymm13,%xmm13
+  DB  196,193,17,114,245,2                ; vpslld        $0x2,%xmm13,%xmm13
+  DB  196,67,13,24,237,1                  ; vinsertf128   $0x1,%xmm13,%ymm14,%ymm13
+  DB  197,123,18,53,113,213,2,0           ; vmovddup      0x2d571(%rip),%xmm14        # 35cf8 <_sk_srcover_bgra_8888_sse2_lowp+0x14e0>
+  DB  196,65,49,219,254                   ; vpand         %xmm14,%xmm9,%xmm15
+  DB  196,65,1,254,255                    ; vpaddd        %xmm15,%xmm15,%xmm15
+  DB  196,65,57,219,246                   ; vpand         %xmm14,%xmm8,%xmm14
+  DB  196,65,9,254,246                    ; vpaddd        %xmm14,%xmm14,%xmm14
+  DB  196,67,5,24,246,1                   ; vinsertf128   $0x1,%xmm14,%ymm15,%ymm14
+  DB  196,65,12,86,228                    ; vorps         %ymm12,%ymm14,%ymm12
+  DB  196,98,125,24,53,33,195,2,0         ; vbroadcastss  0x2c321(%rip),%ymm14        # 34ad0 <_sk_srcover_bgra_8888_sse2_lowp+0x2b8>
+  DB  196,65,36,84,222                    ; vandps        %ymm14,%ymm11,%ymm11
+  DB  196,193,9,114,211,1                 ; vpsrld        $0x1,%xmm11,%xmm14
+  DB  196,67,125,25,219,1                 ; vextractf128  $0x1,%ymm11,%xmm11
+  DB  196,193,33,114,211,1                ; vpsrld        $0x1,%xmm11,%xmm11
+  DB  196,67,13,24,219,1                  ; vinsertf128   $0x1,%xmm11,%ymm14,%ymm11
+  DB  196,65,20,86,219                    ; vorps         %ymm11,%ymm13,%ymm11
+  DB  197,123,18,45,39,213,2,0            ; vmovddup      0x2d527(%rip),%xmm13        # 35d00 <_sk_srcover_bgra_8888_sse2_lowp+0x14e8>
+  DB  196,65,49,219,205                   ; vpand         %xmm13,%xmm9,%xmm9
+  DB  196,65,57,219,197                   ; vpand         %xmm13,%xmm8,%xmm8
+  DB  196,193,49,114,209,2                ; vpsrld        $0x2,%xmm9,%xmm9
+  DB  196,193,57,114,208,2                ; vpsrld        $0x2,%xmm8,%xmm8
+  DB  196,67,53,24,192,1                  ; vinsertf128   $0x1,%xmm8,%ymm9,%ymm8
+  DB  196,65,28,86,192                    ; vorps         %ymm8,%ymm12,%ymm8
+  DB  196,65,60,86,194                    ; vorps         %ymm10,%ymm8,%ymm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,65,60,86,195                    ; vorps         %ymm11,%ymm8,%ymm8
+  DB  196,65,124,91,192                   ; vcvtdq2ps     %ymm8,%ymm8
+  DB  196,98,125,24,13,196,194,2,0        ; vbroadcastss  0x2c2c4(%rip),%ymm9        # 34ad8 <_sk_srcover_bgra_8888_sse2_lowp+0x2c0>
+  DB  196,65,60,89,193                    ; vmulps        %ymm9,%ymm8,%ymm8
+  DB  196,98,125,24,13,186,194,2,0        ; vbroadcastss  0x2c2ba(%rip),%ymm9        # 34adc <_sk_srcover_bgra_8888_sse2_lowp+0x2c4>
+  DB  196,65,60,88,193                    ; vaddps        %ymm9,%ymm8,%ymm8
+  DB  196,98,125,24,8                     ; vbroadcastss  (%rax),%ymm9
+  DB  196,65,60,89,193                    ; vmulps        %ymm9,%ymm8,%ymm8
+  DB  197,188,88,192                      ; vaddps        %ymm0,%ymm8,%ymm0
+  DB  197,188,88,201                      ; vaddps        %ymm1,%ymm8,%ymm1
+  DB  197,188,88,210                      ; vaddps        %ymm2,%ymm8,%ymm2
+  DB  197,252,93,195                      ; vminps        %ymm3,%ymm0,%ymm0
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,188,95,192                      ; vmaxps        %ymm0,%ymm8,%ymm0
+  DB  197,244,93,203                      ; vminps        %ymm3,%ymm1,%ymm1
+  DB  197,188,95,201                      ; vmaxps        %ymm1,%ymm8,%ymm1
+  DB  197,236,93,211                      ; vminps        %ymm3,%ymm2,%ymm2
+  DB  197,188,95,210                      ; vmaxps        %ymm2,%ymm8,%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_uniform_color_avx
+_sk_uniform_color_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,0                    ; vbroadcastss  (%rax),%ymm0
+  DB  196,226,125,24,72,4                 ; vbroadcastss  0x4(%rax),%ymm1
+  DB  196,226,125,24,80,8                 ; vbroadcastss  0x8(%rax),%ymm2
+  DB  196,226,125,24,88,12                ; vbroadcastss  0xc(%rax),%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_black_color_avx
+_sk_black_color_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,29,66,194,2,0        ; vbroadcastss  0x2c242(%rip),%ymm3        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
+  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
+  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_white_color_avx
+_sk_white_color_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,5,41,194,2,0         ; vbroadcastss  0x2c229(%rip),%ymm0        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,252,40,200                      ; vmovaps       %ymm0,%ymm1
+  DB  197,252,40,208                      ; vmovaps       %ymm0,%ymm2
+  DB  197,252,40,216                      ; vmovaps       %ymm0,%ymm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_load_rgba_avx
+_sk_load_rgba_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,16,0                        ; vmovups       (%rax),%ymm0
+  DB  197,252,16,72,32                    ; vmovups       0x20(%rax),%ymm1
+  DB  197,252,16,80,64                    ; vmovups       0x40(%rax),%ymm2
+  DB  197,252,16,88,96                    ; vmovups       0x60(%rax),%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_store_rgba_avx
+_sk_store_rgba_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,17,0                        ; vmovups       %ymm0,(%rax)
+  DB  197,252,17,72,32                    ; vmovups       %ymm1,0x20(%rax)
+  DB  197,252,17,80,64                    ; vmovups       %ymm2,0x40(%rax)
+  DB  197,252,17,88,96                    ; vmovups       %ymm3,0x60(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_clear_avx
+_sk_clear_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
+  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
+  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
+  DB  197,228,87,219                      ; vxorps        %ymm3,%ymm3,%ymm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_srcatop_avx
+_sk_srcatop_avx LABEL PROC
+  DB  197,252,89,199                      ; vmulps        %ymm7,%ymm0,%ymm0
+  DB  196,98,125,24,5,200,193,2,0         ; vbroadcastss  0x2c1c8(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
+  DB  197,60,89,204                       ; vmulps        %ymm4,%ymm8,%ymm9
+  DB  197,180,88,192                      ; vaddps        %ymm0,%ymm9,%ymm0
+  DB  197,244,89,207                      ; vmulps        %ymm7,%ymm1,%ymm1
+  DB  197,60,89,205                       ; vmulps        %ymm5,%ymm8,%ymm9
+  DB  197,180,88,201                      ; vaddps        %ymm1,%ymm9,%ymm1
+  DB  197,236,89,215                      ; vmulps        %ymm7,%ymm2,%ymm2
+  DB  197,60,89,206                       ; vmulps        %ymm6,%ymm8,%ymm9
+  DB  197,180,88,210                      ; vaddps        %ymm2,%ymm9,%ymm2
+  DB  197,228,89,223                      ; vmulps        %ymm7,%ymm3,%ymm3
+  DB  197,60,89,199                       ; vmulps        %ymm7,%ymm8,%ymm8
+  DB  196,193,100,88,216                  ; vaddps        %ymm8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_dstatop_avx
+_sk_dstatop_avx LABEL PROC
+  DB  197,100,89,196                      ; vmulps        %ymm4,%ymm3,%ymm8
+  DB  196,98,125,24,13,134,193,2,0        ; vbroadcastss  0x2c186(%rip),%ymm9        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,52,92,207                       ; vsubps        %ymm7,%ymm9,%ymm9
+  DB  197,180,89,192                      ; vmulps        %ymm0,%ymm9,%ymm0
+  DB  197,188,88,192                      ; vaddps        %ymm0,%ymm8,%ymm0
+  DB  197,100,89,197                      ; vmulps        %ymm5,%ymm3,%ymm8
+  DB  197,180,89,201                      ; vmulps        %ymm1,%ymm9,%ymm1
+  DB  197,188,88,201                      ; vaddps        %ymm1,%ymm8,%ymm1
+  DB  197,100,89,198                      ; vmulps        %ymm6,%ymm3,%ymm8
+  DB  197,180,89,210                      ; vmulps        %ymm2,%ymm9,%ymm2
+  DB  197,188,88,210                      ; vaddps        %ymm2,%ymm8,%ymm2
+  DB  197,100,89,199                      ; vmulps        %ymm7,%ymm3,%ymm8
+  DB  197,180,89,219                      ; vmulps        %ymm3,%ymm9,%ymm3
+  DB  197,188,88,219                      ; vaddps        %ymm3,%ymm8,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_srcin_avx
+_sk_srcin_avx LABEL PROC
+  DB  197,252,89,199                      ; vmulps        %ymm7,%ymm0,%ymm0
+  DB  197,244,89,207                      ; vmulps        %ymm7,%ymm1,%ymm1
+  DB  197,236,89,215                      ; vmulps        %ymm7,%ymm2,%ymm2
+  DB  197,228,89,223                      ; vmulps        %ymm7,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_dstin_avx
+_sk_dstin_avx LABEL PROC
+  DB  197,228,89,196                      ; vmulps        %ymm4,%ymm3,%ymm0
+  DB  197,228,89,205                      ; vmulps        %ymm5,%ymm3,%ymm1
+  DB  197,228,89,214                      ; vmulps        %ymm6,%ymm3,%ymm2
+  DB  197,228,89,223                      ; vmulps        %ymm7,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_srcout_avx
+_sk_srcout_avx LABEL PROC
+  DB  196,98,125,24,5,33,193,2,0          ; vbroadcastss  0x2c121(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,60,92,199                       ; vsubps        %ymm7,%ymm8,%ymm8
+  DB  197,188,89,192                      ; vmulps        %ymm0,%ymm8,%ymm0
+  DB  197,188,89,201                      ; vmulps        %ymm1,%ymm8,%ymm1
+  DB  197,188,89,210                      ; vmulps        %ymm2,%ymm8,%ymm2
+  DB  197,188,89,219                      ; vmulps        %ymm3,%ymm8,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_dstout_avx
+_sk_dstout_avx LABEL PROC
+  DB  196,226,125,24,5,0,193,2,0          ; vbroadcastss  0x2c100(%rip),%ymm0        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,252,92,219                      ; vsubps        %ymm3,%ymm0,%ymm3
+  DB  197,228,89,196                      ; vmulps        %ymm4,%ymm3,%ymm0
+  DB  197,228,89,205                      ; vmulps        %ymm5,%ymm3,%ymm1
+  DB  197,228,89,214                      ; vmulps        %ymm6,%ymm3,%ymm2
+  DB  197,228,89,223                      ; vmulps        %ymm7,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_srcover_avx
+_sk_srcover_avx LABEL PROC
+  DB  196,98,125,24,5,223,192,2,0         ; vbroadcastss  0x2c0df(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
+  DB  197,60,89,204                       ; vmulps        %ymm4,%ymm8,%ymm9
+  DB  197,180,88,192                      ; vaddps        %ymm0,%ymm9,%ymm0
+  DB  197,60,89,205                       ; vmulps        %ymm5,%ymm8,%ymm9
+  DB  197,180,88,201                      ; vaddps        %ymm1,%ymm9,%ymm1
+  DB  197,60,89,206                       ; vmulps        %ymm6,%ymm8,%ymm9
+  DB  197,180,88,210                      ; vaddps        %ymm2,%ymm9,%ymm2
+  DB  197,60,89,199                       ; vmulps        %ymm7,%ymm8,%ymm8
+  DB  197,188,88,219                      ; vaddps        %ymm3,%ymm8,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_dstover_avx
+_sk_dstover_avx LABEL PROC
+  DB  196,98,125,24,5,174,192,2,0         ; vbroadcastss  0x2c0ae(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,60,92,199                       ; vsubps        %ymm7,%ymm8,%ymm8
+  DB  197,188,89,192                      ; vmulps        %ymm0,%ymm8,%ymm0
+  DB  197,252,88,196                      ; vaddps        %ymm4,%ymm0,%ymm0
+  DB  197,188,89,201                      ; vmulps        %ymm1,%ymm8,%ymm1
+  DB  197,244,88,205                      ; vaddps        %ymm5,%ymm1,%ymm1
+  DB  197,188,89,210                      ; vmulps        %ymm2,%ymm8,%ymm2
+  DB  197,236,88,214                      ; vaddps        %ymm6,%ymm2,%ymm2
+  DB  197,188,89,219                      ; vmulps        %ymm3,%ymm8,%ymm3
+  DB  197,228,88,223                      ; vaddps        %ymm7,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_modulate_avx
+_sk_modulate_avx LABEL PROC
+  DB  197,252,89,196                      ; vmulps        %ymm4,%ymm0,%ymm0
+  DB  197,244,89,205                      ; vmulps        %ymm5,%ymm1,%ymm1
+  DB  197,236,89,214                      ; vmulps        %ymm6,%ymm2,%ymm2
+  DB  197,228,89,223                      ; vmulps        %ymm7,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_multiply_avx
+_sk_multiply_avx LABEL PROC
+  DB  196,98,125,24,5,105,192,2,0         ; vbroadcastss  0x2c069(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,60,92,207                       ; vsubps        %ymm7,%ymm8,%ymm9
+  DB  197,52,89,208                       ; vmulps        %ymm0,%ymm9,%ymm10
+  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
+  DB  197,60,89,220                       ; vmulps        %ymm4,%ymm8,%ymm11
+  DB  196,65,36,88,210                    ; vaddps        %ymm10,%ymm11,%ymm10
+  DB  197,252,89,196                      ; vmulps        %ymm4,%ymm0,%ymm0
+  DB  196,193,124,88,194                  ; vaddps        %ymm10,%ymm0,%ymm0
+  DB  197,52,89,209                       ; vmulps        %ymm1,%ymm9,%ymm10
+  DB  197,60,89,221                       ; vmulps        %ymm5,%ymm8,%ymm11
+  DB  196,65,36,88,210                    ; vaddps        %ymm10,%ymm11,%ymm10
+  DB  197,244,89,205                      ; vmulps        %ymm5,%ymm1,%ymm1
+  DB  196,193,116,88,202                  ; vaddps        %ymm10,%ymm1,%ymm1
+  DB  197,52,89,210                       ; vmulps        %ymm2,%ymm9,%ymm10
+  DB  197,60,89,222                       ; vmulps        %ymm6,%ymm8,%ymm11
+  DB  196,65,36,88,210                    ; vaddps        %ymm10,%ymm11,%ymm10
+  DB  197,236,89,214                      ; vmulps        %ymm6,%ymm2,%ymm2
+  DB  196,193,108,88,210                  ; vaddps        %ymm10,%ymm2,%ymm2
+  DB  197,52,89,203                       ; vmulps        %ymm3,%ymm9,%ymm9
+  DB  197,60,89,199                       ; vmulps        %ymm7,%ymm8,%ymm8
+  DB  196,65,60,88,193                    ; vaddps        %ymm9,%ymm8,%ymm8
+  DB  197,228,89,223                      ; vmulps        %ymm7,%ymm3,%ymm3
+  DB  196,193,100,88,216                  ; vaddps        %ymm8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_plus__avx
+_sk_plus__avx LABEL PROC
+  DB  197,252,88,196                      ; vaddps        %ymm4,%ymm0,%ymm0
+  DB  196,98,125,24,5,248,191,2,0         ; vbroadcastss  0x2bff8(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,193,124,93,192                  ; vminps        %ymm8,%ymm0,%ymm0
+  DB  197,244,88,205                      ; vaddps        %ymm5,%ymm1,%ymm1
+  DB  196,193,116,93,200                  ; vminps        %ymm8,%ymm1,%ymm1
+  DB  197,236,88,214                      ; vaddps        %ymm6,%ymm2,%ymm2
+  DB  196,193,108,93,208                  ; vminps        %ymm8,%ymm2,%ymm2
+  DB  197,228,88,223                      ; vaddps        %ymm7,%ymm3,%ymm3
+  DB  196,193,100,93,216                  ; vminps        %ymm8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_screen_avx
+_sk_screen_avx LABEL PROC
+  DB  197,124,88,196                      ; vaddps        %ymm4,%ymm0,%ymm8
+  DB  197,252,89,196                      ; vmulps        %ymm4,%ymm0,%ymm0
+  DB  197,188,92,192                      ; vsubps        %ymm0,%ymm8,%ymm0
+  DB  197,116,88,197                      ; vaddps        %ymm5,%ymm1,%ymm8
+  DB  197,244,89,205                      ; vmulps        %ymm5,%ymm1,%ymm1
+  DB  197,188,92,201                      ; vsubps        %ymm1,%ymm8,%ymm1
+  DB  197,108,88,198                      ; vaddps        %ymm6,%ymm2,%ymm8
+  DB  197,236,89,214                      ; vmulps        %ymm6,%ymm2,%ymm2
+  DB  197,188,92,210                      ; vsubps        %ymm2,%ymm8,%ymm2
+  DB  197,100,88,199                      ; vaddps        %ymm7,%ymm3,%ymm8
+  DB  197,228,89,223                      ; vmulps        %ymm7,%ymm3,%ymm3
+  DB  197,188,92,219                      ; vsubps        %ymm3,%ymm8,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_xor__avx
+_sk_xor__avx LABEL PROC
+  DB  196,98,125,24,5,151,191,2,0         ; vbroadcastss  0x2bf97(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,60,92,207                       ; vsubps        %ymm7,%ymm8,%ymm9
+  DB  197,180,89,192                      ; vmulps        %ymm0,%ymm9,%ymm0
+  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
+  DB  197,60,89,212                       ; vmulps        %ymm4,%ymm8,%ymm10
+  DB  197,172,88,192                      ; vaddps        %ymm0,%ymm10,%ymm0
+  DB  197,180,89,201                      ; vmulps        %ymm1,%ymm9,%ymm1
+  DB  197,60,89,213                       ; vmulps        %ymm5,%ymm8,%ymm10
+  DB  197,172,88,201                      ; vaddps        %ymm1,%ymm10,%ymm1
+  DB  197,180,89,210                      ; vmulps        %ymm2,%ymm9,%ymm2
+  DB  197,60,89,214                       ; vmulps        %ymm6,%ymm8,%ymm10
+  DB  197,172,88,210                      ; vaddps        %ymm2,%ymm10,%ymm2
+  DB  197,180,89,219                      ; vmulps        %ymm3,%ymm9,%ymm3
+  DB  197,60,89,199                       ; vmulps        %ymm7,%ymm8,%ymm8
+  DB  197,188,88,219                      ; vaddps        %ymm3,%ymm8,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_darken_avx
+_sk_darken_avx LABEL PROC
+  DB  197,124,88,196                      ; vaddps        %ymm4,%ymm0,%ymm8
+  DB  197,252,89,199                      ; vmulps        %ymm7,%ymm0,%ymm0
+  DB  197,100,89,204                      ; vmulps        %ymm4,%ymm3,%ymm9
+  DB  196,193,124,95,193                  ; vmaxps        %ymm9,%ymm0,%ymm0
+  DB  197,188,92,192                      ; vsubps        %ymm0,%ymm8,%ymm0
+  DB  197,116,88,197                      ; vaddps        %ymm5,%ymm1,%ymm8
+  DB  197,244,89,207                      ; vmulps        %ymm7,%ymm1,%ymm1
+  DB  197,100,89,205                      ; vmulps        %ymm5,%ymm3,%ymm9
+  DB  196,193,116,95,201                  ; vmaxps        %ymm9,%ymm1,%ymm1
+  DB  197,188,92,201                      ; vsubps        %ymm1,%ymm8,%ymm1
+  DB  197,108,88,198                      ; vaddps        %ymm6,%ymm2,%ymm8
+  DB  197,236,89,215                      ; vmulps        %ymm7,%ymm2,%ymm2
+  DB  197,100,89,206                      ; vmulps        %ymm6,%ymm3,%ymm9
+  DB  196,193,108,95,209                  ; vmaxps        %ymm9,%ymm2,%ymm2
+  DB  197,188,92,210                      ; vsubps        %ymm2,%ymm8,%ymm2
+  DB  196,98,125,24,5,19,191,2,0          ; vbroadcastss  0x2bf13(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
+  DB  197,60,89,199                       ; vmulps        %ymm7,%ymm8,%ymm8
+  DB  197,188,88,219                      ; vaddps        %ymm3,%ymm8,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_lighten_avx
+_sk_lighten_avx LABEL PROC
+  DB  197,124,88,196                      ; vaddps        %ymm4,%ymm0,%ymm8
+  DB  197,252,89,199                      ; vmulps        %ymm7,%ymm0,%ymm0
+  DB  197,100,89,204                      ; vmulps        %ymm4,%ymm3,%ymm9
+  DB  196,193,124,93,193                  ; vminps        %ymm9,%ymm0,%ymm0
+  DB  197,188,92,192                      ; vsubps        %ymm0,%ymm8,%ymm0
+  DB  197,116,88,197                      ; vaddps        %ymm5,%ymm1,%ymm8
+  DB  197,244,89,207                      ; vmulps        %ymm7,%ymm1,%ymm1
+  DB  197,100,89,205                      ; vmulps        %ymm5,%ymm3,%ymm9
+  DB  196,193,116,93,201                  ; vminps        %ymm9,%ymm1,%ymm1
+  DB  197,188,92,201                      ; vsubps        %ymm1,%ymm8,%ymm1
+  DB  197,108,88,198                      ; vaddps        %ymm6,%ymm2,%ymm8
+  DB  197,236,89,215                      ; vmulps        %ymm7,%ymm2,%ymm2
+  DB  197,100,89,206                      ; vmulps        %ymm6,%ymm3,%ymm9
+  DB  196,193,108,93,209                  ; vminps        %ymm9,%ymm2,%ymm2
+  DB  197,188,92,210                      ; vsubps        %ymm2,%ymm8,%ymm2
+  DB  196,98,125,24,5,187,190,2,0         ; vbroadcastss  0x2bebb(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
+  DB  197,60,89,199                       ; vmulps        %ymm7,%ymm8,%ymm8
+  DB  197,188,88,219                      ; vaddps        %ymm3,%ymm8,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_difference_avx
+_sk_difference_avx LABEL PROC
+  DB  197,124,88,196                      ; vaddps        %ymm4,%ymm0,%ymm8
+  DB  197,252,89,199                      ; vmulps        %ymm7,%ymm0,%ymm0
+  DB  197,100,89,204                      ; vmulps        %ymm4,%ymm3,%ymm9
+  DB  196,193,124,93,193                  ; vminps        %ymm9,%ymm0,%ymm0
+  DB  197,252,88,192                      ; vaddps        %ymm0,%ymm0,%ymm0
+  DB  197,188,92,192                      ; vsubps        %ymm0,%ymm8,%ymm0
+  DB  197,116,88,197                      ; vaddps        %ymm5,%ymm1,%ymm8
+  DB  197,244,89,207                      ; vmulps        %ymm7,%ymm1,%ymm1
+  DB  197,100,89,205                      ; vmulps        %ymm5,%ymm3,%ymm9
+  DB  196,193,116,93,201                  ; vminps        %ymm9,%ymm1,%ymm1
+  DB  197,244,88,201                      ; vaddps        %ymm1,%ymm1,%ymm1
+  DB  197,188,92,201                      ; vsubps        %ymm1,%ymm8,%ymm1
+  DB  197,108,88,198                      ; vaddps        %ymm6,%ymm2,%ymm8
+  DB  197,236,89,215                      ; vmulps        %ymm7,%ymm2,%ymm2
+  DB  197,100,89,206                      ; vmulps        %ymm6,%ymm3,%ymm9
+  DB  196,193,108,93,209                  ; vminps        %ymm9,%ymm2,%ymm2
+  DB  197,236,88,210                      ; vaddps        %ymm2,%ymm2,%ymm2
+  DB  197,188,92,210                      ; vsubps        %ymm2,%ymm8,%ymm2
+  DB  196,98,125,24,5,87,190,2,0          ; vbroadcastss  0x2be57(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
+  DB  197,60,89,199                       ; vmulps        %ymm7,%ymm8,%ymm8
+  DB  197,188,88,219                      ; vaddps        %ymm3,%ymm8,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_exclusion_avx
+_sk_exclusion_avx LABEL PROC
+  DB  197,124,88,196                      ; vaddps        %ymm4,%ymm0,%ymm8
+  DB  197,252,89,196                      ; vmulps        %ymm4,%ymm0,%ymm0
+  DB  197,252,88,192                      ; vaddps        %ymm0,%ymm0,%ymm0
+  DB  197,188,92,192                      ; vsubps        %ymm0,%ymm8,%ymm0
+  DB  197,116,88,197                      ; vaddps        %ymm5,%ymm1,%ymm8
+  DB  197,244,89,205                      ; vmulps        %ymm5,%ymm1,%ymm1
+  DB  197,244,88,201                      ; vaddps        %ymm1,%ymm1,%ymm1
+  DB  197,188,92,201                      ; vsubps        %ymm1,%ymm8,%ymm1
+  DB  197,108,88,198                      ; vaddps        %ymm6,%ymm2,%ymm8
+  DB  197,236,89,214                      ; vmulps        %ymm6,%ymm2,%ymm2
+  DB  197,236,88,210                      ; vaddps        %ymm2,%ymm2,%ymm2
+  DB  197,188,92,210                      ; vsubps        %ymm2,%ymm8,%ymm2
+  DB  196,98,125,24,5,14,190,2,0          ; vbroadcastss  0x2be0e(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
+  DB  197,60,89,199                       ; vmulps        %ymm7,%ymm8,%ymm8
+  DB  197,188,88,219                      ; vaddps        %ymm3,%ymm8,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_colorburn_avx
+_sk_colorburn_avx LABEL PROC
+  DB  196,98,125,24,5,245,189,2,0         ; vbroadcastss  0x2bdf5(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,60,92,207                       ; vsubps        %ymm7,%ymm8,%ymm9
+  DB  197,52,89,216                       ; vmulps        %ymm0,%ymm9,%ymm11
+  DB  196,65,44,87,210                    ; vxorps        %ymm10,%ymm10,%ymm10
+  DB  196,65,124,194,226,0                ; vcmpeqps      %ymm10,%ymm0,%ymm12
+  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
+  DB  197,68,92,236                       ; vsubps        %ymm4,%ymm7,%ymm13
+  DB  197,20,89,235                       ; vmulps        %ymm3,%ymm13,%ymm13
+  DB  197,252,83,192                      ; vrcpps        %ymm0,%ymm0
+  DB  197,148,89,192                      ; vmulps        %ymm0,%ymm13,%ymm0
+  DB  197,60,89,236                       ; vmulps        %ymm4,%ymm8,%ymm13
+  DB  197,196,93,192                      ; vminps        %ymm0,%ymm7,%ymm0
+  DB  197,196,92,192                      ; vsubps        %ymm0,%ymm7,%ymm0
+  DB  197,252,89,195                      ; vmulps        %ymm3,%ymm0,%ymm0
+  DB  197,164,88,192                      ; vaddps        %ymm0,%ymm11,%ymm0
+  DB  197,148,88,192                      ; vaddps        %ymm0,%ymm13,%ymm0
+  DB  196,195,125,74,197,192              ; vblendvps     %ymm12,%ymm13,%ymm0,%ymm0
+  DB  197,92,194,231,0                    ; vcmpeqps      %ymm7,%ymm4,%ymm12
+  DB  197,36,88,220                       ; vaddps        %ymm4,%ymm11,%ymm11
+  DB  196,195,125,74,195,192              ; vblendvps     %ymm12,%ymm11,%ymm0,%ymm0
+  DB  197,52,89,217                       ; vmulps        %ymm1,%ymm9,%ymm11
+  DB  196,65,116,194,226,0                ; vcmpeqps      %ymm10,%ymm1,%ymm12
+  DB  197,68,92,237                       ; vsubps        %ymm5,%ymm7,%ymm13
+  DB  197,20,89,235                       ; vmulps        %ymm3,%ymm13,%ymm13
+  DB  197,252,83,201                      ; vrcpps        %ymm1,%ymm1
+  DB  197,148,89,201                      ; vmulps        %ymm1,%ymm13,%ymm1
+  DB  197,60,89,237                       ; vmulps        %ymm5,%ymm8,%ymm13
+  DB  197,196,93,201                      ; vminps        %ymm1,%ymm7,%ymm1
+  DB  197,196,92,201                      ; vsubps        %ymm1,%ymm7,%ymm1
+  DB  197,244,89,203                      ; vmulps        %ymm3,%ymm1,%ymm1
+  DB  197,164,88,201                      ; vaddps        %ymm1,%ymm11,%ymm1
+  DB  197,148,88,201                      ; vaddps        %ymm1,%ymm13,%ymm1
+  DB  196,195,117,74,205,192              ; vblendvps     %ymm12,%ymm13,%ymm1,%ymm1
+  DB  197,84,194,231,0                    ; vcmpeqps      %ymm7,%ymm5,%ymm12
+  DB  197,36,88,221                       ; vaddps        %ymm5,%ymm11,%ymm11
+  DB  196,195,117,74,203,192              ; vblendvps     %ymm12,%ymm11,%ymm1,%ymm1
+  DB  197,52,89,202                       ; vmulps        %ymm2,%ymm9,%ymm9
+  DB  196,65,108,194,210,0                ; vcmpeqps      %ymm10,%ymm2,%ymm10
+  DB  197,68,92,222                       ; vsubps        %ymm6,%ymm7,%ymm11
+  DB  197,36,89,219                       ; vmulps        %ymm3,%ymm11,%ymm11
+  DB  197,252,83,210                      ; vrcpps        %ymm2,%ymm2
+  DB  197,164,89,210                      ; vmulps        %ymm2,%ymm11,%ymm2
+  DB  197,60,89,222                       ; vmulps        %ymm6,%ymm8,%ymm11
+  DB  197,196,93,210                      ; vminps        %ymm2,%ymm7,%ymm2
+  DB  197,196,92,210                      ; vsubps        %ymm2,%ymm7,%ymm2
+  DB  197,236,89,211                      ; vmulps        %ymm3,%ymm2,%ymm2
+  DB  197,180,88,210                      ; vaddps        %ymm2,%ymm9,%ymm2
+  DB  197,164,88,210                      ; vaddps        %ymm2,%ymm11,%ymm2
+  DB  196,195,109,74,211,160              ; vblendvps     %ymm10,%ymm11,%ymm2,%ymm2
+  DB  197,76,194,215,0                    ; vcmpeqps      %ymm7,%ymm6,%ymm10
+  DB  197,52,88,206                       ; vaddps        %ymm6,%ymm9,%ymm9
+  DB  196,195,109,74,209,160              ; vblendvps     %ymm10,%ymm9,%ymm2,%ymm2
+  DB  197,60,89,199                       ; vmulps        %ymm7,%ymm8,%ymm8
+  DB  197,188,88,219                      ; vaddps        %ymm3,%ymm8,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_colordodge_avx
+_sk_colordodge_avx LABEL PROC
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  196,98,125,24,13,249,188,2,0        ; vbroadcastss  0x2bcf9(%rip),%ymm9        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,52,92,215                       ; vsubps        %ymm7,%ymm9,%ymm10
+  DB  197,44,89,216                       ; vmulps        %ymm0,%ymm10,%ymm11
+  DB  197,52,92,203                       ; vsubps        %ymm3,%ymm9,%ymm9
+  DB  197,100,89,228                      ; vmulps        %ymm4,%ymm3,%ymm12
+  DB  197,100,92,232                      ; vsubps        %ymm0,%ymm3,%ymm13
+  DB  196,65,124,83,237                   ; vrcpps        %ymm13,%ymm13
+  DB  196,65,28,89,229                    ; vmulps        %ymm13,%ymm12,%ymm12
+  DB  197,52,89,236                       ; vmulps        %ymm4,%ymm9,%ymm13
+  DB  196,65,68,93,228                    ; vminps        %ymm12,%ymm7,%ymm12
+  DB  197,28,89,227                       ; vmulps        %ymm3,%ymm12,%ymm12
+  DB  196,65,36,88,228                    ; vaddps        %ymm12,%ymm11,%ymm12
+  DB  196,65,20,88,228                    ; vaddps        %ymm12,%ymm13,%ymm12
+  DB  197,20,88,232                       ; vaddps        %ymm0,%ymm13,%ymm13
+  DB  197,252,194,195,0                   ; vcmpeqps      %ymm3,%ymm0,%ymm0
+  DB  196,195,29,74,197,0                 ; vblendvps     %ymm0,%ymm13,%ymm12,%ymm0
+  DB  196,65,92,194,224,0                 ; vcmpeqps      %ymm8,%ymm4,%ymm12
+  DB  196,195,125,74,195,192              ; vblendvps     %ymm12,%ymm11,%ymm0,%ymm0
+  DB  197,44,89,217                       ; vmulps        %ymm1,%ymm10,%ymm11
+  DB  197,100,89,229                      ; vmulps        %ymm5,%ymm3,%ymm12
+  DB  197,100,92,233                      ; vsubps        %ymm1,%ymm3,%ymm13
+  DB  196,65,124,83,237                   ; vrcpps        %ymm13,%ymm13
+  DB  196,65,28,89,229                    ; vmulps        %ymm13,%ymm12,%ymm12
+  DB  197,52,89,237                       ; vmulps        %ymm5,%ymm9,%ymm13
+  DB  196,65,68,93,228                    ; vminps        %ymm12,%ymm7,%ymm12
+  DB  197,28,89,227                       ; vmulps        %ymm3,%ymm12,%ymm12
+  DB  196,65,36,88,228                    ; vaddps        %ymm12,%ymm11,%ymm12
+  DB  196,65,20,88,228                    ; vaddps        %ymm12,%ymm13,%ymm12
+  DB  197,20,88,233                       ; vaddps        %ymm1,%ymm13,%ymm13
+  DB  197,244,194,203,0                   ; vcmpeqps      %ymm3,%ymm1,%ymm1
+  DB  196,195,29,74,205,16                ; vblendvps     %ymm1,%ymm13,%ymm12,%ymm1
+  DB  196,65,84,194,224,0                 ; vcmpeqps      %ymm8,%ymm5,%ymm12
+  DB  196,195,117,74,203,192              ; vblendvps     %ymm12,%ymm11,%ymm1,%ymm1
+  DB  197,44,89,210                       ; vmulps        %ymm2,%ymm10,%ymm10
+  DB  197,100,89,222                      ; vmulps        %ymm6,%ymm3,%ymm11
+  DB  197,100,92,226                      ; vsubps        %ymm2,%ymm3,%ymm12
+  DB  196,65,124,83,228                   ; vrcpps        %ymm12,%ymm12
+  DB  196,65,36,89,220                    ; vmulps        %ymm12,%ymm11,%ymm11
+  DB  197,52,89,230                       ; vmulps        %ymm6,%ymm9,%ymm12
+  DB  196,65,68,93,219                    ; vminps        %ymm11,%ymm7,%ymm11
+  DB  197,36,89,219                       ; vmulps        %ymm3,%ymm11,%ymm11
+  DB  196,65,44,88,219                    ; vaddps        %ymm11,%ymm10,%ymm11
+  DB  196,65,28,88,219                    ; vaddps        %ymm11,%ymm12,%ymm11
+  DB  197,28,88,226                       ; vaddps        %ymm2,%ymm12,%ymm12
+  DB  197,236,194,211,0                   ; vcmpeqps      %ymm3,%ymm2,%ymm2
+  DB  196,195,37,74,212,32                ; vblendvps     %ymm2,%ymm12,%ymm11,%ymm2
+  DB  196,65,76,194,192,0                 ; vcmpeqps      %ymm8,%ymm6,%ymm8
+  DB  196,195,109,74,210,128              ; vblendvps     %ymm8,%ymm10,%ymm2,%ymm2
+  DB  197,52,89,199                       ; vmulps        %ymm7,%ymm9,%ymm8
+  DB  197,188,88,219                      ; vaddps        %ymm3,%ymm8,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_hardlight_avx
+_sk_hardlight_avx LABEL PROC
+  DB  196,98,125,24,5,4,188,2,0           ; vbroadcastss  0x2bc04(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,60,92,215                       ; vsubps        %ymm7,%ymm8,%ymm10
+  DB  197,44,89,200                       ; vmulps        %ymm0,%ymm10,%ymm9
+  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
+  DB  197,60,89,220                       ; vmulps        %ymm4,%ymm8,%ymm11
+  DB  196,65,36,88,217                    ; vaddps        %ymm9,%ymm11,%ymm11
+  DB  197,124,88,200                      ; vaddps        %ymm0,%ymm0,%ymm9
+  DB  197,52,194,227,2                    ; vcmpleps      %ymm3,%ymm9,%ymm12
+  DB  197,124,89,204                      ; vmulps        %ymm4,%ymm0,%ymm9
+  DB  196,65,52,88,233                    ; vaddps        %ymm9,%ymm9,%ymm13
+  DB  197,100,89,207                      ; vmulps        %ymm7,%ymm3,%ymm9
+  DB  197,68,92,244                       ; vsubps        %ymm4,%ymm7,%ymm14
+  DB  197,228,92,192                      ; vsubps        %ymm0,%ymm3,%ymm0
+  DB  196,193,124,89,198                  ; vmulps        %ymm14,%ymm0,%ymm0
+  DB  197,252,88,192                      ; vaddps        %ymm0,%ymm0,%ymm0
+  DB  197,180,92,192                      ; vsubps        %ymm0,%ymm9,%ymm0
+  DB  196,195,125,74,197,192              ; vblendvps     %ymm12,%ymm13,%ymm0,%ymm0
+  DB  197,164,88,192                      ; vaddps        %ymm0,%ymm11,%ymm0
+  DB  197,44,89,217                       ; vmulps        %ymm1,%ymm10,%ymm11
+  DB  197,60,89,229                       ; vmulps        %ymm5,%ymm8,%ymm12
+  DB  196,65,28,88,219                    ; vaddps        %ymm11,%ymm12,%ymm11
+  DB  197,116,88,225                      ; vaddps        %ymm1,%ymm1,%ymm12
+  DB  197,28,194,227,2                    ; vcmpleps      %ymm3,%ymm12,%ymm12
+  DB  197,116,89,237                      ; vmulps        %ymm5,%ymm1,%ymm13
+  DB  196,65,20,88,237                    ; vaddps        %ymm13,%ymm13,%ymm13
+  DB  197,68,92,245                       ; vsubps        %ymm5,%ymm7,%ymm14
+  DB  197,228,92,201                      ; vsubps        %ymm1,%ymm3,%ymm1
+  DB  196,193,116,89,206                  ; vmulps        %ymm14,%ymm1,%ymm1
+  DB  197,244,88,201                      ; vaddps        %ymm1,%ymm1,%ymm1
+  DB  197,180,92,201                      ; vsubps        %ymm1,%ymm9,%ymm1
+  DB  196,195,117,74,205,192              ; vblendvps     %ymm12,%ymm13,%ymm1,%ymm1
+  DB  197,164,88,201                      ; vaddps        %ymm1,%ymm11,%ymm1
+  DB  197,44,89,210                       ; vmulps        %ymm2,%ymm10,%ymm10
+  DB  197,60,89,222                       ; vmulps        %ymm6,%ymm8,%ymm11
+  DB  196,65,36,88,210                    ; vaddps        %ymm10,%ymm11,%ymm10
+  DB  197,108,88,218                      ; vaddps        %ymm2,%ymm2,%ymm11
+  DB  197,36,194,219,2                    ; vcmpleps      %ymm3,%ymm11,%ymm11
+  DB  197,108,89,230                      ; vmulps        %ymm6,%ymm2,%ymm12
+  DB  196,65,28,88,228                    ; vaddps        %ymm12,%ymm12,%ymm12
+  DB  197,68,92,238                       ; vsubps        %ymm6,%ymm7,%ymm13
+  DB  197,228,92,210                      ; vsubps        %ymm2,%ymm3,%ymm2
+  DB  196,193,108,89,213                  ; vmulps        %ymm13,%ymm2,%ymm2
+  DB  197,236,88,210                      ; vaddps        %ymm2,%ymm2,%ymm2
+  DB  197,180,92,210                      ; vsubps        %ymm2,%ymm9,%ymm2
+  DB  196,195,109,74,212,176              ; vblendvps     %ymm11,%ymm12,%ymm2,%ymm2
+  DB  197,172,88,210                      ; vaddps        %ymm2,%ymm10,%ymm2
+  DB  197,60,89,199                       ; vmulps        %ymm7,%ymm8,%ymm8
+  DB  197,188,88,219                      ; vaddps        %ymm3,%ymm8,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_overlay_avx
+_sk_overlay_avx LABEL PROC
+  DB  196,98,125,24,5,41,187,2,0          ; vbroadcastss  0x2bb29(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,60,92,215                       ; vsubps        %ymm7,%ymm8,%ymm10
+  DB  197,44,89,200                       ; vmulps        %ymm0,%ymm10,%ymm9
+  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
+  DB  197,60,89,220                       ; vmulps        %ymm4,%ymm8,%ymm11
+  DB  196,65,36,88,217                    ; vaddps        %ymm9,%ymm11,%ymm11
+  DB  197,92,88,204                       ; vaddps        %ymm4,%ymm4,%ymm9
+  DB  197,52,194,231,2                    ; vcmpleps      %ymm7,%ymm9,%ymm12
+  DB  197,124,89,204                      ; vmulps        %ymm4,%ymm0,%ymm9
+  DB  196,65,52,88,233                    ; vaddps        %ymm9,%ymm9,%ymm13
+  DB  197,100,89,207                      ; vmulps        %ymm7,%ymm3,%ymm9
+  DB  197,68,92,244                       ; vsubps        %ymm4,%ymm7,%ymm14
+  DB  197,228,92,192                      ; vsubps        %ymm0,%ymm3,%ymm0
+  DB  196,193,124,89,198                  ; vmulps        %ymm14,%ymm0,%ymm0
+  DB  197,252,88,192                      ; vaddps        %ymm0,%ymm0,%ymm0
+  DB  197,180,92,192                      ; vsubps        %ymm0,%ymm9,%ymm0
+  DB  196,195,125,74,197,192              ; vblendvps     %ymm12,%ymm13,%ymm0,%ymm0
+  DB  197,164,88,192                      ; vaddps        %ymm0,%ymm11,%ymm0
+  DB  197,44,89,217                       ; vmulps        %ymm1,%ymm10,%ymm11
+  DB  197,60,89,229                       ; vmulps        %ymm5,%ymm8,%ymm12
+  DB  196,65,28,88,219                    ; vaddps        %ymm11,%ymm12,%ymm11
+  DB  197,84,88,229                       ; vaddps        %ymm5,%ymm5,%ymm12
+  DB  197,28,194,231,2                    ; vcmpleps      %ymm7,%ymm12,%ymm12
+  DB  197,116,89,237                      ; vmulps        %ymm5,%ymm1,%ymm13
+  DB  196,65,20,88,237                    ; vaddps        %ymm13,%ymm13,%ymm13
+  DB  197,68,92,245                       ; vsubps        %ymm5,%ymm7,%ymm14
+  DB  197,228,92,201                      ; vsubps        %ymm1,%ymm3,%ymm1
+  DB  196,193,116,89,206                  ; vmulps        %ymm14,%ymm1,%ymm1
+  DB  197,244,88,201                      ; vaddps        %ymm1,%ymm1,%ymm1
+  DB  197,180,92,201                      ; vsubps        %ymm1,%ymm9,%ymm1
+  DB  196,195,117,74,205,192              ; vblendvps     %ymm12,%ymm13,%ymm1,%ymm1
+  DB  197,164,88,201                      ; vaddps        %ymm1,%ymm11,%ymm1
+  DB  197,44,89,210                       ; vmulps        %ymm2,%ymm10,%ymm10
+  DB  197,60,89,222                       ; vmulps        %ymm6,%ymm8,%ymm11
+  DB  196,65,36,88,210                    ; vaddps        %ymm10,%ymm11,%ymm10
+  DB  197,76,88,222                       ; vaddps        %ymm6,%ymm6,%ymm11
+  DB  197,36,194,223,2                    ; vcmpleps      %ymm7,%ymm11,%ymm11
+  DB  197,108,89,230                      ; vmulps        %ymm6,%ymm2,%ymm12
+  DB  196,65,28,88,228                    ; vaddps        %ymm12,%ymm12,%ymm12
+  DB  197,68,92,238                       ; vsubps        %ymm6,%ymm7,%ymm13
+  DB  197,228,92,210                      ; vsubps        %ymm2,%ymm3,%ymm2
+  DB  196,193,108,89,213                  ; vmulps        %ymm13,%ymm2,%ymm2
+  DB  197,236,88,210                      ; vaddps        %ymm2,%ymm2,%ymm2
+  DB  197,180,92,210                      ; vsubps        %ymm2,%ymm9,%ymm2
+  DB  196,195,109,74,212,176              ; vblendvps     %ymm11,%ymm12,%ymm2,%ymm2
+  DB  197,172,88,210                      ; vaddps        %ymm2,%ymm10,%ymm2
+  DB  197,60,89,199                       ; vmulps        %ymm7,%ymm8,%ymm8
+  DB  197,188,88,219                      ; vaddps        %ymm3,%ymm8,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_softlight_avx
+_sk_softlight_avx LABEL PROC
+  DB  72,131,236,88                       ; sub           $0x58,%rsp
+  DB  197,252,17,84,36,32                 ; vmovups       %ymm2,0x20(%rsp)
+  DB  197,252,40,209                      ; vmovaps       %ymm1,%ymm2
+  DB  197,252,40,200                      ; vmovaps       %ymm0,%ymm1
+  DB  196,65,52,87,201                    ; vxorps        %ymm9,%ymm9,%ymm9
+  DB  197,52,194,215,1                    ; vcmpltps      %ymm7,%ymm9,%ymm10
+  DB  197,92,94,199                       ; vdivps        %ymm7,%ymm4,%ymm8
+  DB  196,67,53,74,224,160                ; vblendvps     %ymm10,%ymm8,%ymm9,%ymm12
+  DB  196,65,28,88,196                    ; vaddps        %ymm12,%ymm12,%ymm8
+  DB  196,65,60,88,192                    ; vaddps        %ymm8,%ymm8,%ymm8
+  DB  196,65,60,89,216                    ; vmulps        %ymm8,%ymm8,%ymm11
+  DB  196,65,60,88,195                    ; vaddps        %ymm11,%ymm8,%ymm8
+  DB  196,98,125,24,29,44,186,2,0         ; vbroadcastss  0x2ba2c(%rip),%ymm11        # 34ae0 <_sk_srcover_bgra_8888_sse2_lowp+0x2c8>
+  DB  196,65,28,88,235                    ; vaddps        %ymm11,%ymm12,%ymm13
+  DB  196,65,20,89,192                    ; vmulps        %ymm8,%ymm13,%ymm8
+  DB  196,98,125,24,45,29,186,2,0         ; vbroadcastss  0x2ba1d(%rip),%ymm13        # 34ae4 <_sk_srcover_bgra_8888_sse2_lowp+0x2cc>
+  DB  196,65,28,89,245                    ; vmulps        %ymm13,%ymm12,%ymm14
+  DB  196,65,12,88,192                    ; vaddps        %ymm8,%ymm14,%ymm8
+  DB  196,65,124,82,244                   ; vrsqrtps      %ymm12,%ymm14
+  DB  196,65,124,83,246                   ; vrcpps        %ymm14,%ymm14
+  DB  196,65,12,92,244                    ; vsubps        %ymm12,%ymm14,%ymm14
+  DB  197,92,88,252                       ; vaddps        %ymm4,%ymm4,%ymm15
+  DB  196,65,4,88,255                     ; vaddps        %ymm15,%ymm15,%ymm15
+  DB  197,4,194,255,2                     ; vcmpleps      %ymm7,%ymm15,%ymm15
+  DB  196,67,13,74,240,240                ; vblendvps     %ymm15,%ymm8,%ymm14,%ymm14
+  DB  197,116,88,249                      ; vaddps        %ymm1,%ymm1,%ymm15
+  DB  196,98,125,24,5,199,185,2,0         ; vbroadcastss  0x2b9c7(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,65,60,92,228                    ; vsubps        %ymm12,%ymm8,%ymm12
+  DB  197,132,92,195                      ; vsubps        %ymm3,%ymm15,%ymm0
+  DB  196,65,124,89,228                   ; vmulps        %ymm12,%ymm0,%ymm12
+  DB  197,252,89,199                      ; vmulps        %ymm7,%ymm0,%ymm0
+  DB  196,193,124,89,198                  ; vmulps        %ymm14,%ymm0,%ymm0
+  DB  197,100,89,244                      ; vmulps        %ymm4,%ymm3,%ymm14
+  DB  197,140,88,192                      ; vaddps        %ymm0,%ymm14,%ymm0
+  DB  197,28,88,227                       ; vaddps        %ymm3,%ymm12,%ymm12
+  DB  197,28,89,228                       ; vmulps        %ymm4,%ymm12,%ymm12
+  DB  197,4,194,243,2                     ; vcmpleps      %ymm3,%ymm15,%ymm14
+  DB  196,195,125,74,196,224              ; vblendvps     %ymm14,%ymm12,%ymm0,%ymm0
+  DB  197,252,17,4,36                     ; vmovups       %ymm0,(%rsp)
+  DB  197,212,94,199                      ; vdivps        %ymm7,%ymm5,%ymm0
+  DB  196,227,53,74,192,160               ; vblendvps     %ymm10,%ymm0,%ymm9,%ymm0
+  DB  197,124,88,240                      ; vaddps        %ymm0,%ymm0,%ymm14
+  DB  196,65,12,88,246                    ; vaddps        %ymm14,%ymm14,%ymm14
+  DB  196,65,12,89,254                    ; vmulps        %ymm14,%ymm14,%ymm15
+  DB  196,65,12,88,247                    ; vaddps        %ymm15,%ymm14,%ymm14
+  DB  196,65,124,88,251                   ; vaddps        %ymm11,%ymm0,%ymm15
+  DB  196,65,4,89,246                     ; vmulps        %ymm14,%ymm15,%ymm14
+  DB  196,65,124,89,253                   ; vmulps        %ymm13,%ymm0,%ymm15
+  DB  196,65,4,88,246                     ; vaddps        %ymm14,%ymm15,%ymm14
+  DB  197,124,82,248                      ; vrsqrtps      %ymm0,%ymm15
+  DB  196,65,124,83,255                   ; vrcpps        %ymm15,%ymm15
+  DB  197,4,92,248                        ; vsubps        %ymm0,%ymm15,%ymm15
+  DB  197,84,88,229                       ; vaddps        %ymm5,%ymm5,%ymm12
+  DB  196,65,28,88,228                    ; vaddps        %ymm12,%ymm12,%ymm12
+  DB  197,28,194,231,2                    ; vcmpleps      %ymm7,%ymm12,%ymm12
+  DB  196,67,5,74,230,192                 ; vblendvps     %ymm12,%ymm14,%ymm15,%ymm12
+  DB  197,188,92,192                      ; vsubps        %ymm0,%ymm8,%ymm0
+  DB  197,108,88,242                      ; vaddps        %ymm2,%ymm2,%ymm14
+  DB  197,12,92,251                       ; vsubps        %ymm3,%ymm14,%ymm15
+  DB  197,132,89,192                      ; vmulps        %ymm0,%ymm15,%ymm0
+  DB  197,4,89,255                        ; vmulps        %ymm7,%ymm15,%ymm15
+  DB  196,65,4,89,228                     ; vmulps        %ymm12,%ymm15,%ymm12
+  DB  197,100,89,253                      ; vmulps        %ymm5,%ymm3,%ymm15
+  DB  196,65,4,88,228                     ; vaddps        %ymm12,%ymm15,%ymm12
+  DB  197,252,88,195                      ; vaddps        %ymm3,%ymm0,%ymm0
+  DB  197,252,89,197                      ; vmulps        %ymm5,%ymm0,%ymm0
+  DB  197,12,194,243,2                    ; vcmpleps      %ymm3,%ymm14,%ymm14
+  DB  196,99,29,74,240,224                ; vblendvps     %ymm14,%ymm0,%ymm12,%ymm14
+  DB  197,204,94,199                      ; vdivps        %ymm7,%ymm6,%ymm0
+  DB  196,227,53,74,192,160               ; vblendvps     %ymm10,%ymm0,%ymm9,%ymm0
+  DB  197,124,88,200                      ; vaddps        %ymm0,%ymm0,%ymm9
+  DB  196,65,52,88,201                    ; vaddps        %ymm9,%ymm9,%ymm9
+  DB  196,65,52,89,209                    ; vmulps        %ymm9,%ymm9,%ymm10
+  DB  196,65,52,88,202                    ; vaddps        %ymm10,%ymm9,%ymm9
+  DB  196,65,124,88,211                   ; vaddps        %ymm11,%ymm0,%ymm10
+  DB  196,65,44,89,201                    ; vmulps        %ymm9,%ymm10,%ymm9
+  DB  196,65,124,89,213                   ; vmulps        %ymm13,%ymm0,%ymm10
+  DB  196,65,44,88,201                    ; vaddps        %ymm9,%ymm10,%ymm9
+  DB  197,124,82,208                      ; vrsqrtps      %ymm0,%ymm10
+  DB  196,65,124,83,210                   ; vrcpps        %ymm10,%ymm10
+  DB  197,44,92,208                       ; vsubps        %ymm0,%ymm10,%ymm10
+  DB  197,76,88,222                       ; vaddps        %ymm6,%ymm6,%ymm11
+  DB  196,65,36,88,219                    ; vaddps        %ymm11,%ymm11,%ymm11
+  DB  197,36,194,223,2                    ; vcmpleps      %ymm7,%ymm11,%ymm11
+  DB  196,67,45,74,201,176                ; vblendvps     %ymm11,%ymm9,%ymm10,%ymm9
+  DB  197,124,16,100,36,32                ; vmovups       0x20(%rsp),%ymm12
+  DB  196,65,28,88,212                    ; vaddps        %ymm12,%ymm12,%ymm10
+  DB  197,44,92,219                       ; vsubps        %ymm3,%ymm10,%ymm11
+  DB  197,188,92,192                      ; vsubps        %ymm0,%ymm8,%ymm0
+  DB  197,164,89,192                      ; vmulps        %ymm0,%ymm11,%ymm0
+  DB  197,36,89,223                       ; vmulps        %ymm7,%ymm11,%ymm11
+  DB  196,65,36,89,201                    ; vmulps        %ymm9,%ymm11,%ymm9
+  DB  197,100,89,222                      ; vmulps        %ymm6,%ymm3,%ymm11
+  DB  196,65,36,88,201                    ; vaddps        %ymm9,%ymm11,%ymm9
+  DB  197,252,88,195                      ; vaddps        %ymm3,%ymm0,%ymm0
+  DB  197,252,89,198                      ; vmulps        %ymm6,%ymm0,%ymm0
+  DB  197,44,194,211,2                    ; vcmpleps      %ymm3,%ymm10,%ymm10
+  DB  196,99,53,74,200,160                ; vblendvps     %ymm10,%ymm0,%ymm9,%ymm9
+  DB  197,60,92,215                       ; vsubps        %ymm7,%ymm8,%ymm10
+  DB  197,172,89,193                      ; vmulps        %ymm1,%ymm10,%ymm0
+  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
+  DB  197,188,89,204                      ; vmulps        %ymm4,%ymm8,%ymm1
+  DB  197,244,88,192                      ; vaddps        %ymm0,%ymm1,%ymm0
+  DB  197,252,88,4,36                     ; vaddps        (%rsp),%ymm0,%ymm0
+  DB  197,172,89,202                      ; vmulps        %ymm2,%ymm10,%ymm1
+  DB  197,188,89,213                      ; vmulps        %ymm5,%ymm8,%ymm2
+  DB  197,236,88,201                      ; vaddps        %ymm1,%ymm2,%ymm1
+  DB  196,193,116,88,206                  ; vaddps        %ymm14,%ymm1,%ymm1
+  DB  196,193,44,89,212                   ; vmulps        %ymm12,%ymm10,%ymm2
+  DB  197,60,89,214                       ; vmulps        %ymm6,%ymm8,%ymm10
+  DB  197,172,88,210                      ; vaddps        %ymm2,%ymm10,%ymm2
+  DB  196,193,108,88,209                  ; vaddps        %ymm9,%ymm2,%ymm2
+  DB  197,60,89,199                       ; vmulps        %ymm7,%ymm8,%ymm8
+  DB  197,188,88,219                      ; vaddps        %ymm3,%ymm8,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  72,131,196,88                       ; add           $0x58,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_hue_avx
+_sk_hue_avx LABEL PROC
+  DB  72,131,236,88                       ; sub           $0x58,%rsp
+  DB  197,252,17,84,36,32                 ; vmovups       %ymm2,0x20(%rsp)
+  DB  197,124,40,193                      ; vmovaps       %ymm1,%ymm8
+  DB  197,124,17,4,36                     ; vmovups       %ymm8,(%rsp)
+  DB  197,252,40,200                      ; vmovaps       %ymm0,%ymm1
+  DB  197,116,89,203                      ; vmulps        %ymm3,%ymm1,%ymm9
+  DB  197,60,89,211                       ; vmulps        %ymm3,%ymm8,%ymm10
+  DB  197,108,89,219                      ; vmulps        %ymm3,%ymm2,%ymm11
+  DB  197,84,95,198                       ; vmaxps        %ymm6,%ymm5,%ymm8
+  DB  196,65,92,95,192                    ; vmaxps        %ymm8,%ymm4,%ymm8
+  DB  197,84,93,230                       ; vminps        %ymm6,%ymm5,%ymm12
+  DB  196,65,92,93,228                    ; vminps        %ymm12,%ymm4,%ymm12
+  DB  196,65,60,92,196                    ; vsubps        %ymm12,%ymm8,%ymm8
+  DB  197,60,89,227                       ; vmulps        %ymm3,%ymm8,%ymm12
+  DB  196,65,44,93,195                    ; vminps        %ymm11,%ymm10,%ymm8
+  DB  196,65,52,93,232                    ; vminps        %ymm8,%ymm9,%ymm13
+  DB  196,65,44,95,195                    ; vmaxps        %ymm11,%ymm10,%ymm8
+  DB  196,65,52,95,192                    ; vmaxps        %ymm8,%ymm9,%ymm8
+  DB  196,65,60,92,245                    ; vsubps        %ymm13,%ymm8,%ymm14
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  196,65,12,194,248,0                 ; vcmpeqps      %ymm8,%ymm14,%ymm15
+  DB  196,65,52,92,205                    ; vsubps        %ymm13,%ymm9,%ymm9
+  DB  196,65,28,89,201                    ; vmulps        %ymm9,%ymm12,%ymm9
+  DB  196,65,52,94,206                    ; vdivps        %ymm14,%ymm9,%ymm9
+  DB  196,67,53,74,200,240                ; vblendvps     %ymm15,%ymm8,%ymm9,%ymm9
+  DB  196,65,44,92,213                    ; vsubps        %ymm13,%ymm10,%ymm10
+  DB  196,65,28,89,210                    ; vmulps        %ymm10,%ymm12,%ymm10
+  DB  196,65,44,94,214                    ; vdivps        %ymm14,%ymm10,%ymm10
+  DB  196,67,45,74,208,240                ; vblendvps     %ymm15,%ymm8,%ymm10,%ymm10
+  DB  196,65,36,92,221                    ; vsubps        %ymm13,%ymm11,%ymm11
+  DB  196,65,28,89,219                    ; vmulps        %ymm11,%ymm12,%ymm11
+  DB  196,65,36,94,222                    ; vdivps        %ymm14,%ymm11,%ymm11
+  DB  196,67,37,74,224,240                ; vblendvps     %ymm15,%ymm8,%ymm11,%ymm12
+  DB  196,98,125,24,53,165,183,2,0        ; vbroadcastss  0x2b7a5(%rip),%ymm14        # 34ae8 <_sk_srcover_bgra_8888_sse2_lowp+0x2d0>
+  DB  196,65,92,89,222                    ; vmulps        %ymm14,%ymm4,%ymm11
+  DB  196,98,125,24,61,155,183,2,0        ; vbroadcastss  0x2b79b(%rip),%ymm15        # 34aec <_sk_srcover_bgra_8888_sse2_lowp+0x2d4>
+  DB  196,65,84,89,239                    ; vmulps        %ymm15,%ymm5,%ymm13
+  DB  196,65,36,88,221                    ; vaddps        %ymm13,%ymm11,%ymm11
+  DB  196,226,125,24,5,140,183,2,0        ; vbroadcastss  0x2b78c(%rip),%ymm0        # 34af0 <_sk_srcover_bgra_8888_sse2_lowp+0x2d8>
+  DB  197,76,89,232                       ; vmulps        %ymm0,%ymm6,%ymm13
+  DB  196,65,36,88,221                    ; vaddps        %ymm13,%ymm11,%ymm11
+  DB  196,65,52,89,238                    ; vmulps        %ymm14,%ymm9,%ymm13
+  DB  196,193,44,89,215                   ; vmulps        %ymm15,%ymm10,%ymm2
+  DB  197,148,88,210                      ; vaddps        %ymm2,%ymm13,%ymm2
+  DB  197,28,89,232                       ; vmulps        %ymm0,%ymm12,%ymm13
+  DB  196,193,108,88,213                  ; vaddps        %ymm13,%ymm2,%ymm2
+  DB  197,36,89,219                       ; vmulps        %ymm3,%ymm11,%ymm11
+  DB  197,164,92,210                      ; vsubps        %ymm2,%ymm11,%ymm2
+  DB  197,52,88,202                       ; vaddps        %ymm2,%ymm9,%ymm9
+  DB  197,44,88,218                       ; vaddps        %ymm2,%ymm10,%ymm11
+  DB  197,28,88,226                       ; vaddps        %ymm2,%ymm12,%ymm12
+  DB  196,193,36,93,212                   ; vminps        %ymm12,%ymm11,%ymm2
+  DB  197,52,93,234                       ; vminps        %ymm2,%ymm9,%ymm13
+  DB  196,193,52,89,214                   ; vmulps        %ymm14,%ymm9,%ymm2
+  DB  196,65,36,89,215                    ; vmulps        %ymm15,%ymm11,%ymm10
+  DB  196,193,108,88,210                  ; vaddps        %ymm10,%ymm2,%ymm2
+  DB  197,156,89,192                      ; vmulps        %ymm0,%ymm12,%ymm0
+  DB  197,124,88,210                      ; vaddps        %ymm2,%ymm0,%ymm10
+  DB  196,193,52,92,194                   ; vsubps        %ymm10,%ymm9,%ymm0
+  DB  197,172,89,192                      ; vmulps        %ymm0,%ymm10,%ymm0
+  DB  196,193,44,92,213                   ; vsubps        %ymm13,%ymm10,%ymm2
+  DB  197,252,94,194                      ; vdivps        %ymm2,%ymm0,%ymm0
+  DB  196,65,36,92,242                    ; vsubps        %ymm10,%ymm11,%ymm14
+  DB  196,65,44,89,246                    ; vmulps        %ymm14,%ymm10,%ymm14
+  DB  197,12,94,242                       ; vdivps        %ymm2,%ymm14,%ymm14
+  DB  196,65,28,92,250                    ; vsubps        %ymm10,%ymm12,%ymm15
+  DB  196,65,44,89,255                    ; vmulps        %ymm15,%ymm10,%ymm15
+  DB  197,132,94,210                      ; vdivps        %ymm2,%ymm15,%ymm2
+  DB  196,65,60,194,237,2                 ; vcmpleps      %ymm13,%ymm8,%ymm13
+  DB  196,65,44,88,246                    ; vaddps        %ymm14,%ymm10,%ymm14
+  DB  196,67,13,74,243,208                ; vblendvps     %ymm13,%ymm11,%ymm14,%ymm14
+  DB  196,65,36,95,220                    ; vmaxps        %ymm12,%ymm11,%ymm11
+  DB  197,172,88,210                      ; vaddps        %ymm2,%ymm10,%ymm2
+  DB  196,195,109,74,212,208              ; vblendvps     %ymm13,%ymm12,%ymm2,%ymm2
+  DB  197,172,88,192                      ; vaddps        %ymm0,%ymm10,%ymm0
+  DB  196,195,125,74,193,208              ; vblendvps     %ymm13,%ymm9,%ymm0,%ymm0
+  DB  197,100,89,231                      ; vmulps        %ymm7,%ymm3,%ymm12
+  DB  196,65,52,95,203                    ; vmaxps        %ymm11,%ymm9,%ymm9
+  DB  196,65,124,92,218                   ; vsubps        %ymm10,%ymm0,%ymm11
+  DB  196,65,28,92,234                    ; vsubps        %ymm10,%ymm12,%ymm13
+  DB  196,65,20,89,219                    ; vmulps        %ymm11,%ymm13,%ymm11
+  DB  196,65,28,194,249,1                 ; vcmpltps      %ymm9,%ymm12,%ymm15
+  DB  196,65,52,92,202                    ; vsubps        %ymm10,%ymm9,%ymm9
+  DB  196,65,36,94,217                    ; vdivps        %ymm9,%ymm11,%ymm11
+  DB  196,65,44,88,219                    ; vaddps        %ymm11,%ymm10,%ymm11
+  DB  196,195,125,74,195,240              ; vblendvps     %ymm15,%ymm11,%ymm0,%ymm0
+  DB  196,65,12,92,218                    ; vsubps        %ymm10,%ymm14,%ymm11
+  DB  196,65,20,89,219                    ; vmulps        %ymm11,%ymm13,%ymm11
+  DB  196,65,36,94,217                    ; vdivps        %ymm9,%ymm11,%ymm11
+  DB  196,65,44,88,219                    ; vaddps        %ymm11,%ymm10,%ymm11
+  DB  196,67,13,74,219,240                ; vblendvps     %ymm15,%ymm11,%ymm14,%ymm11
+  DB  196,65,108,92,242                   ; vsubps        %ymm10,%ymm2,%ymm14
+  DB  196,65,20,89,238                    ; vmulps        %ymm14,%ymm13,%ymm13
+  DB  196,65,20,94,201                    ; vdivps        %ymm9,%ymm13,%ymm9
+  DB  196,65,44,88,201                    ; vaddps        %ymm9,%ymm10,%ymm9
+  DB  196,193,124,95,192                  ; vmaxps        %ymm8,%ymm0,%ymm0
+  DB  196,65,36,95,208                    ; vmaxps        %ymm8,%ymm11,%ymm10
+  DB  196,195,109,74,209,240              ; vblendvps     %ymm15,%ymm9,%ymm2,%ymm2
+  DB  196,193,108,95,208                  ; vmaxps        %ymm8,%ymm2,%ymm2
+  DB  196,98,125,24,5,57,182,2,0          ; vbroadcastss  0x2b639(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,60,92,207                       ; vsubps        %ymm7,%ymm8,%ymm9
+  DB  197,180,89,201                      ; vmulps        %ymm1,%ymm9,%ymm1
+  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
+  DB  197,60,89,220                       ; vmulps        %ymm4,%ymm8,%ymm11
+  DB  197,164,88,201                      ; vaddps        %ymm1,%ymm11,%ymm1
+  DB  197,244,88,192                      ; vaddps        %ymm0,%ymm1,%ymm0
+  DB  197,180,89,12,36                    ; vmulps        (%rsp),%ymm9,%ymm1
+  DB  197,60,89,221                       ; vmulps        %ymm5,%ymm8,%ymm11
+  DB  197,164,88,201                      ; vaddps        %ymm1,%ymm11,%ymm1
+  DB  196,193,116,88,202                  ; vaddps        %ymm10,%ymm1,%ymm1
+  DB  197,52,89,76,36,32                  ; vmulps        0x20(%rsp),%ymm9,%ymm9
+  DB  197,60,89,198                       ; vmulps        %ymm6,%ymm8,%ymm8
+  DB  196,65,60,88,193                    ; vaddps        %ymm9,%ymm8,%ymm8
+  DB  197,188,88,210                      ; vaddps        %ymm2,%ymm8,%ymm2
+  DB  197,228,88,223                      ; vaddps        %ymm7,%ymm3,%ymm3
+  DB  196,193,100,92,220                  ; vsubps        %ymm12,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  72,131,196,88                       ; add           $0x58,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_saturation_avx
+_sk_saturation_avx LABEL PROC
+  DB  72,131,236,88                       ; sub           $0x58,%rsp
+  DB  197,124,40,193                      ; vmovaps       %ymm1,%ymm8
+  DB  197,252,40,200                      ; vmovaps       %ymm0,%ymm1
+  DB  197,100,89,204                      ; vmulps        %ymm4,%ymm3,%ymm9
+  DB  197,100,89,213                      ; vmulps        %ymm5,%ymm3,%ymm10
+  DB  197,100,89,222                      ; vmulps        %ymm6,%ymm3,%ymm11
+  DB  197,252,17,84,36,32                 ; vmovups       %ymm2,0x20(%rsp)
+  DB  197,124,41,192                      ; vmovaps       %ymm8,%ymm0
+  DB  197,252,17,4,36                     ; vmovups       %ymm0,(%rsp)
+  DB  197,124,95,194                      ; vmaxps        %ymm2,%ymm0,%ymm8
+  DB  196,65,116,95,192                   ; vmaxps        %ymm8,%ymm1,%ymm8
+  DB  197,124,93,226                      ; vminps        %ymm2,%ymm0,%ymm12
+  DB  196,65,116,93,228                   ; vminps        %ymm12,%ymm1,%ymm12
+  DB  196,65,60,92,196                    ; vsubps        %ymm12,%ymm8,%ymm8
+  DB  197,60,89,231                       ; vmulps        %ymm7,%ymm8,%ymm12
+  DB  196,65,44,93,195                    ; vminps        %ymm11,%ymm10,%ymm8
+  DB  196,65,52,93,232                    ; vminps        %ymm8,%ymm9,%ymm13
+  DB  196,65,44,95,195                    ; vmaxps        %ymm11,%ymm10,%ymm8
+  DB  196,65,52,95,192                    ; vmaxps        %ymm8,%ymm9,%ymm8
+  DB  196,65,60,92,245                    ; vsubps        %ymm13,%ymm8,%ymm14
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  196,65,12,194,248,0                 ; vcmpeqps      %ymm8,%ymm14,%ymm15
+  DB  196,65,52,92,205                    ; vsubps        %ymm13,%ymm9,%ymm9
+  DB  196,65,28,89,201                    ; vmulps        %ymm9,%ymm12,%ymm9
+  DB  196,65,52,94,206                    ; vdivps        %ymm14,%ymm9,%ymm9
+  DB  196,67,53,74,200,240                ; vblendvps     %ymm15,%ymm8,%ymm9,%ymm9
+  DB  196,65,44,92,213                    ; vsubps        %ymm13,%ymm10,%ymm10
+  DB  196,65,28,89,210                    ; vmulps        %ymm10,%ymm12,%ymm10
+  DB  196,65,44,94,214                    ; vdivps        %ymm14,%ymm10,%ymm10
+  DB  196,67,45,74,208,240                ; vblendvps     %ymm15,%ymm8,%ymm10,%ymm10
+  DB  196,65,36,92,221                    ; vsubps        %ymm13,%ymm11,%ymm11
+  DB  196,65,28,89,219                    ; vmulps        %ymm11,%ymm12,%ymm11
+  DB  196,65,36,94,222                    ; vdivps        %ymm14,%ymm11,%ymm11
+  DB  196,67,37,74,224,240                ; vblendvps     %ymm15,%ymm8,%ymm11,%ymm12
+  DB  196,98,125,24,53,93,181,2,0         ; vbroadcastss  0x2b55d(%rip),%ymm14        # 34ae8 <_sk_srcover_bgra_8888_sse2_lowp+0x2d0>
+  DB  196,65,92,89,222                    ; vmulps        %ymm14,%ymm4,%ymm11
+  DB  196,98,125,24,61,83,181,2,0         ; vbroadcastss  0x2b553(%rip),%ymm15        # 34aec <_sk_srcover_bgra_8888_sse2_lowp+0x2d4>
+  DB  196,65,84,89,239                    ; vmulps        %ymm15,%ymm5,%ymm13
+  DB  196,65,36,88,221                    ; vaddps        %ymm13,%ymm11,%ymm11
+  DB  196,226,125,24,5,68,181,2,0         ; vbroadcastss  0x2b544(%rip),%ymm0        # 34af0 <_sk_srcover_bgra_8888_sse2_lowp+0x2d8>
+  DB  197,76,89,232                       ; vmulps        %ymm0,%ymm6,%ymm13
+  DB  196,65,36,88,221                    ; vaddps        %ymm13,%ymm11,%ymm11
+  DB  196,65,52,89,238                    ; vmulps        %ymm14,%ymm9,%ymm13
+  DB  196,193,44,89,215                   ; vmulps        %ymm15,%ymm10,%ymm2
+  DB  197,148,88,210                      ; vaddps        %ymm2,%ymm13,%ymm2
+  DB  197,28,89,232                       ; vmulps        %ymm0,%ymm12,%ymm13
+  DB  196,193,108,88,213                  ; vaddps        %ymm13,%ymm2,%ymm2
+  DB  197,36,89,219                       ; vmulps        %ymm3,%ymm11,%ymm11
+  DB  197,164,92,210                      ; vsubps        %ymm2,%ymm11,%ymm2
+  DB  197,52,88,202                       ; vaddps        %ymm2,%ymm9,%ymm9
+  DB  197,44,88,218                       ; vaddps        %ymm2,%ymm10,%ymm11
+  DB  197,28,88,226                       ; vaddps        %ymm2,%ymm12,%ymm12
+  DB  196,193,36,93,212                   ; vminps        %ymm12,%ymm11,%ymm2
+  DB  197,52,93,234                       ; vminps        %ymm2,%ymm9,%ymm13
+  DB  196,193,52,89,214                   ; vmulps        %ymm14,%ymm9,%ymm2
+  DB  196,65,36,89,215                    ; vmulps        %ymm15,%ymm11,%ymm10
+  DB  196,193,108,88,210                  ; vaddps        %ymm10,%ymm2,%ymm2
+  DB  197,156,89,192                      ; vmulps        %ymm0,%ymm12,%ymm0
+  DB  197,124,88,210                      ; vaddps        %ymm2,%ymm0,%ymm10
+  DB  196,193,52,92,194                   ; vsubps        %ymm10,%ymm9,%ymm0
+  DB  197,172,89,192                      ; vmulps        %ymm0,%ymm10,%ymm0
+  DB  196,193,44,92,213                   ; vsubps        %ymm13,%ymm10,%ymm2
+  DB  197,252,94,194                      ; vdivps        %ymm2,%ymm0,%ymm0
+  DB  196,65,36,92,242                    ; vsubps        %ymm10,%ymm11,%ymm14
+  DB  196,65,44,89,246                    ; vmulps        %ymm14,%ymm10,%ymm14
+  DB  197,12,94,242                       ; vdivps        %ymm2,%ymm14,%ymm14
+  DB  196,65,28,92,250                    ; vsubps        %ymm10,%ymm12,%ymm15
+  DB  196,65,44,89,255                    ; vmulps        %ymm15,%ymm10,%ymm15
+  DB  197,132,94,210                      ; vdivps        %ymm2,%ymm15,%ymm2
+  DB  196,65,60,194,237,2                 ; vcmpleps      %ymm13,%ymm8,%ymm13
+  DB  196,65,44,88,246                    ; vaddps        %ymm14,%ymm10,%ymm14
+  DB  196,67,13,74,243,208                ; vblendvps     %ymm13,%ymm11,%ymm14,%ymm14
+  DB  196,65,36,95,220                    ; vmaxps        %ymm12,%ymm11,%ymm11
+  DB  197,172,88,210                      ; vaddps        %ymm2,%ymm10,%ymm2
+  DB  196,195,109,74,212,208              ; vblendvps     %ymm13,%ymm12,%ymm2,%ymm2
+  DB  197,172,88,192                      ; vaddps        %ymm0,%ymm10,%ymm0
+  DB  196,195,125,74,193,208              ; vblendvps     %ymm13,%ymm9,%ymm0,%ymm0
+  DB  197,100,89,231                      ; vmulps        %ymm7,%ymm3,%ymm12
+  DB  196,65,52,95,203                    ; vmaxps        %ymm11,%ymm9,%ymm9
+  DB  196,65,124,92,218                   ; vsubps        %ymm10,%ymm0,%ymm11
+  DB  196,65,28,92,234                    ; vsubps        %ymm10,%ymm12,%ymm13
+  DB  196,65,20,89,219                    ; vmulps        %ymm11,%ymm13,%ymm11
+  DB  196,65,28,194,249,1                 ; vcmpltps      %ymm9,%ymm12,%ymm15
+  DB  196,65,52,92,202                    ; vsubps        %ymm10,%ymm9,%ymm9
+  DB  196,65,36,94,217                    ; vdivps        %ymm9,%ymm11,%ymm11
+  DB  196,65,44,88,219                    ; vaddps        %ymm11,%ymm10,%ymm11
+  DB  196,195,125,74,195,240              ; vblendvps     %ymm15,%ymm11,%ymm0,%ymm0
+  DB  196,65,12,92,218                    ; vsubps        %ymm10,%ymm14,%ymm11
+  DB  196,65,20,89,219                    ; vmulps        %ymm11,%ymm13,%ymm11
+  DB  196,65,36,94,217                    ; vdivps        %ymm9,%ymm11,%ymm11
+  DB  196,65,44,88,219                    ; vaddps        %ymm11,%ymm10,%ymm11
+  DB  196,67,13,74,219,240                ; vblendvps     %ymm15,%ymm11,%ymm14,%ymm11
+  DB  196,65,108,92,242                   ; vsubps        %ymm10,%ymm2,%ymm14
+  DB  196,65,20,89,238                    ; vmulps        %ymm14,%ymm13,%ymm13
+  DB  196,65,20,94,201                    ; vdivps        %ymm9,%ymm13,%ymm9
+  DB  196,65,44,88,201                    ; vaddps        %ymm9,%ymm10,%ymm9
+  DB  196,193,124,95,192                  ; vmaxps        %ymm8,%ymm0,%ymm0
+  DB  196,65,36,95,208                    ; vmaxps        %ymm8,%ymm11,%ymm10
+  DB  196,195,109,74,209,240              ; vblendvps     %ymm15,%ymm9,%ymm2,%ymm2
+  DB  196,193,108,95,208                  ; vmaxps        %ymm8,%ymm2,%ymm2
+  DB  196,98,125,24,5,241,179,2,0         ; vbroadcastss  0x2b3f1(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,60,92,207                       ; vsubps        %ymm7,%ymm8,%ymm9
+  DB  197,180,89,201                      ; vmulps        %ymm1,%ymm9,%ymm1
+  DB  197,60,92,195                       ; vsubps        %ymm3,%ymm8,%ymm8
+  DB  197,60,89,220                       ; vmulps        %ymm4,%ymm8,%ymm11
+  DB  197,164,88,201                      ; vaddps        %ymm1,%ymm11,%ymm1
+  DB  197,244,88,192                      ; vaddps        %ymm0,%ymm1,%ymm0
+  DB  197,180,89,12,36                    ; vmulps        (%rsp),%ymm9,%ymm1
+  DB  197,60,89,221                       ; vmulps        %ymm5,%ymm8,%ymm11
+  DB  197,164,88,201                      ; vaddps        %ymm1,%ymm11,%ymm1
+  DB  196,193,116,88,202                  ; vaddps        %ymm10,%ymm1,%ymm1
+  DB  197,52,89,76,36,32                  ; vmulps        0x20(%rsp),%ymm9,%ymm9
+  DB  197,60,89,198                       ; vmulps        %ymm6,%ymm8,%ymm8
+  DB  196,65,60,88,193                    ; vaddps        %ymm9,%ymm8,%ymm8
+  DB  197,188,88,210                      ; vaddps        %ymm2,%ymm8,%ymm2
+  DB  197,228,88,223                      ; vaddps        %ymm7,%ymm3,%ymm3
+  DB  196,193,100,92,220                  ; vsubps        %ymm12,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  72,131,196,88                       ; add           $0x58,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_color_avx
+_sk_color_avx LABEL PROC
+  DB  72,131,236,120                      ; sub           $0x78,%rsp
+  DB  197,252,17,20,36                    ; vmovups       %ymm2,(%rsp)
+  DB  197,252,17,76,36,64                 ; vmovups       %ymm1,0x40(%rsp)
+  DB  197,252,17,68,36,32                 ; vmovups       %ymm0,0x20(%rsp)
+  DB  197,124,89,199                      ; vmulps        %ymm7,%ymm0,%ymm8
+  DB  197,116,89,207                      ; vmulps        %ymm7,%ymm1,%ymm9
+  DB  196,98,125,24,45,157,179,2,0        ; vbroadcastss  0x2b39d(%rip),%ymm13        # 34ae8 <_sk_srcover_bgra_8888_sse2_lowp+0x2d0>
+  DB  196,65,92,89,213                    ; vmulps        %ymm13,%ymm4,%ymm10
+  DB  196,98,125,24,53,147,179,2,0        ; vbroadcastss  0x2b393(%rip),%ymm14        # 34aec <_sk_srcover_bgra_8888_sse2_lowp+0x2d4>
+  DB  196,65,84,89,222                    ; vmulps        %ymm14,%ymm5,%ymm11
+  DB  196,65,44,88,211                    ; vaddps        %ymm11,%ymm10,%ymm10
+  DB  196,98,125,24,61,132,179,2,0        ; vbroadcastss  0x2b384(%rip),%ymm15        # 34af0 <_sk_srcover_bgra_8888_sse2_lowp+0x2d8>
+  DB  196,65,76,89,223                    ; vmulps        %ymm15,%ymm6,%ymm11
+  DB  196,193,44,88,195                   ; vaddps        %ymm11,%ymm10,%ymm0
+  DB  196,65,60,89,221                    ; vmulps        %ymm13,%ymm8,%ymm11
+  DB  196,65,52,89,230                    ; vmulps        %ymm14,%ymm9,%ymm12
+  DB  196,65,36,88,220                    ; vaddps        %ymm12,%ymm11,%ymm11
+  DB  197,108,89,231                      ; vmulps        %ymm7,%ymm2,%ymm12
+  DB  196,65,28,89,215                    ; vmulps        %ymm15,%ymm12,%ymm10
+  DB  196,65,44,88,211                    ; vaddps        %ymm11,%ymm10,%ymm10
+  DB  197,252,89,195                      ; vmulps        %ymm3,%ymm0,%ymm0
+  DB  196,193,124,92,194                  ; vsubps        %ymm10,%ymm0,%ymm0
+  DB  197,60,88,192                       ; vaddps        %ymm0,%ymm8,%ymm8
+  DB  197,52,88,208                       ; vaddps        %ymm0,%ymm9,%ymm10
+  DB  197,28,88,216                       ; vaddps        %ymm0,%ymm12,%ymm11
+  DB  196,193,44,93,195                   ; vminps        %ymm11,%ymm10,%ymm0
+  DB  197,60,93,224                       ; vminps        %ymm0,%ymm8,%ymm12
+  DB  196,193,60,89,197                   ; vmulps        %ymm13,%ymm8,%ymm0
+  DB  196,65,44,89,206                    ; vmulps        %ymm14,%ymm10,%ymm9
+  DB  196,193,124,88,193                  ; vaddps        %ymm9,%ymm0,%ymm0
+  DB  196,65,36,89,207                    ; vmulps        %ymm15,%ymm11,%ymm9
+  DB  197,52,88,200                       ; vaddps        %ymm0,%ymm9,%ymm9
+  DB  196,193,60,92,193                   ; vsubps        %ymm9,%ymm8,%ymm0
+  DB  197,180,89,192                      ; vmulps        %ymm0,%ymm9,%ymm0
+  DB  196,65,52,92,236                    ; vsubps        %ymm12,%ymm9,%ymm13
+  DB  196,193,124,94,197                  ; vdivps        %ymm13,%ymm0,%ymm0
+  DB  196,65,44,92,241                    ; vsubps        %ymm9,%ymm10,%ymm14
+  DB  196,65,52,89,246                    ; vmulps        %ymm14,%ymm9,%ymm14
+  DB  196,65,12,94,245                    ; vdivps        %ymm13,%ymm14,%ymm14
+  DB  196,65,36,92,249                    ; vsubps        %ymm9,%ymm11,%ymm15
+  DB  196,65,52,89,255                    ; vmulps        %ymm15,%ymm9,%ymm15
+  DB  196,65,4,94,237                     ; vdivps        %ymm13,%ymm15,%ymm13
+  DB  196,65,4,87,255                     ; vxorps        %ymm15,%ymm15,%ymm15
+  DB  196,65,4,194,228,2                  ; vcmpleps      %ymm12,%ymm15,%ymm12
+  DB  196,65,52,88,246                    ; vaddps        %ymm14,%ymm9,%ymm14
+  DB  196,67,13,74,242,192                ; vblendvps     %ymm12,%ymm10,%ymm14,%ymm14
+  DB  196,65,44,95,211                    ; vmaxps        %ymm11,%ymm10,%ymm10
+  DB  196,65,52,88,237                    ; vaddps        %ymm13,%ymm9,%ymm13
+  DB  196,67,21,74,219,192                ; vblendvps     %ymm12,%ymm11,%ymm13,%ymm11
+  DB  197,180,88,192                      ; vaddps        %ymm0,%ymm9,%ymm0
+  DB  196,195,125,74,200,192              ; vblendvps     %ymm12,%ymm8,%ymm0,%ymm1
+  DB  197,100,89,231                      ; vmulps        %ymm7,%ymm3,%ymm12
+  DB  196,65,60,95,194                    ; vmaxps        %ymm10,%ymm8,%ymm8
+  DB  196,65,116,92,209                   ; vsubps        %ymm9,%ymm1,%ymm10
+  DB  196,65,28,92,233                    ; vsubps        %ymm9,%ymm12,%ymm13
+  DB  196,65,20,89,210                    ; vmulps        %ymm10,%ymm13,%ymm10
+  DB  196,193,28,194,192,1                ; vcmpltps      %ymm8,%ymm12,%ymm0
+  DB  196,65,60,92,193                    ; vsubps        %ymm9,%ymm8,%ymm8
+  DB  196,65,44,94,208                    ; vdivps        %ymm8,%ymm10,%ymm10
+  DB  196,65,52,88,210                    ; vaddps        %ymm10,%ymm9,%ymm10
+  DB  196,195,117,74,202,0                ; vblendvps     %ymm0,%ymm10,%ymm1,%ymm1
+  DB  196,65,12,92,209                    ; vsubps        %ymm9,%ymm14,%ymm10
+  DB  196,65,20,89,210                    ; vmulps        %ymm10,%ymm13,%ymm10
+  DB  196,65,44,94,208                    ; vdivps        %ymm8,%ymm10,%ymm10
+  DB  196,65,52,88,210                    ; vaddps        %ymm10,%ymm9,%ymm10
+  DB  196,67,13,74,210,0                  ; vblendvps     %ymm0,%ymm10,%ymm14,%ymm10
+  DB  196,65,36,92,241                    ; vsubps        %ymm9,%ymm11,%ymm14
+  DB  196,65,20,89,238                    ; vmulps        %ymm14,%ymm13,%ymm13
+  DB  196,65,20,94,192                    ; vdivps        %ymm8,%ymm13,%ymm8
+  DB  196,65,52,88,192                    ; vaddps        %ymm8,%ymm9,%ymm8
+  DB  196,193,116,95,207                  ; vmaxps        %ymm15,%ymm1,%ymm1
+  DB  196,65,44,95,207                    ; vmaxps        %ymm15,%ymm10,%ymm9
+  DB  196,195,37,74,192,0                 ; vblendvps     %ymm0,%ymm8,%ymm11,%ymm0
+  DB  196,65,124,95,199                   ; vmaxps        %ymm15,%ymm0,%ymm8
+  DB  196,226,125,24,5,31,178,2,0         ; vbroadcastss  0x2b21f(%rip),%ymm0        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,124,92,215                      ; vsubps        %ymm7,%ymm0,%ymm10
+  DB  197,172,89,84,36,32                 ; vmulps        0x20(%rsp),%ymm10,%ymm2
+  DB  197,124,92,219                      ; vsubps        %ymm3,%ymm0,%ymm11
+  DB  197,164,89,196                      ; vmulps        %ymm4,%ymm11,%ymm0
+  DB  197,252,88,194                      ; vaddps        %ymm2,%ymm0,%ymm0
+  DB  197,252,88,193                      ; vaddps        %ymm1,%ymm0,%ymm0
+  DB  197,172,89,76,36,64                 ; vmulps        0x40(%rsp),%ymm10,%ymm1
+  DB  197,164,89,213                      ; vmulps        %ymm5,%ymm11,%ymm2
+  DB  197,236,88,201                      ; vaddps        %ymm1,%ymm2,%ymm1
+  DB  196,193,116,88,201                  ; vaddps        %ymm9,%ymm1,%ymm1
+  DB  197,172,89,20,36                    ; vmulps        (%rsp),%ymm10,%ymm2
+  DB  197,36,89,206                       ; vmulps        %ymm6,%ymm11,%ymm9
+  DB  197,180,88,210                      ; vaddps        %ymm2,%ymm9,%ymm2
+  DB  196,193,108,88,208                  ; vaddps        %ymm8,%ymm2,%ymm2
+  DB  197,228,88,223                      ; vaddps        %ymm7,%ymm3,%ymm3
+  DB  196,193,100,92,220                  ; vsubps        %ymm12,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  72,131,196,120                      ; add           $0x78,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_luminosity_avx
+_sk_luminosity_avx LABEL PROC
+  DB  72,131,236,88                       ; sub           $0x58,%rsp
+  DB  197,124,40,226                      ; vmovaps       %ymm2,%ymm12
+  DB  197,124,17,36,36                    ; vmovups       %ymm12,(%rsp)
+  DB  197,252,17,76,36,32                 ; vmovups       %ymm1,0x20(%rsp)
+  DB  197,252,40,208                      ; vmovaps       %ymm0,%ymm2
+  DB  197,100,89,196                      ; vmulps        %ymm4,%ymm3,%ymm8
+  DB  197,100,89,205                      ; vmulps        %ymm5,%ymm3,%ymm9
+  DB  196,98,125,24,45,199,177,2,0        ; vbroadcastss  0x2b1c7(%rip),%ymm13        # 34ae8 <_sk_srcover_bgra_8888_sse2_lowp+0x2d0>
+  DB  196,65,108,89,213                   ; vmulps        %ymm13,%ymm2,%ymm10
+  DB  196,98,125,24,53,189,177,2,0        ; vbroadcastss  0x2b1bd(%rip),%ymm14        # 34aec <_sk_srcover_bgra_8888_sse2_lowp+0x2d4>
+  DB  196,65,116,89,222                   ; vmulps        %ymm14,%ymm1,%ymm11
+  DB  196,65,44,88,211                    ; vaddps        %ymm11,%ymm10,%ymm10
+  DB  196,98,125,24,61,174,177,2,0        ; vbroadcastss  0x2b1ae(%rip),%ymm15        # 34af0 <_sk_srcover_bgra_8888_sse2_lowp+0x2d8>
+  DB  196,65,28,89,223                    ; vmulps        %ymm15,%ymm12,%ymm11
+  DB  196,193,44,88,195                   ; vaddps        %ymm11,%ymm10,%ymm0
+  DB  196,65,60,89,221                    ; vmulps        %ymm13,%ymm8,%ymm11
+  DB  196,65,52,89,230                    ; vmulps        %ymm14,%ymm9,%ymm12
+  DB  196,65,36,88,220                    ; vaddps        %ymm12,%ymm11,%ymm11
+  DB  197,100,89,230                      ; vmulps        %ymm6,%ymm3,%ymm12
+  DB  196,65,28,89,215                    ; vmulps        %ymm15,%ymm12,%ymm10
+  DB  196,65,36,88,210                    ; vaddps        %ymm10,%ymm11,%ymm10
+  DB  197,252,89,199                      ; vmulps        %ymm7,%ymm0,%ymm0
+  DB  196,193,124,92,194                  ; vsubps        %ymm10,%ymm0,%ymm0
+  DB  197,60,88,192                       ; vaddps        %ymm0,%ymm8,%ymm8
+  DB  197,52,88,208                       ; vaddps        %ymm0,%ymm9,%ymm10
+  DB  197,28,88,216                       ; vaddps        %ymm0,%ymm12,%ymm11
+  DB  196,193,44,93,195                   ; vminps        %ymm11,%ymm10,%ymm0
+  DB  197,60,93,224                       ; vminps        %ymm0,%ymm8,%ymm12
+  DB  196,193,60,89,197                   ; vmulps        %ymm13,%ymm8,%ymm0
+  DB  196,65,44,89,206                    ; vmulps        %ymm14,%ymm10,%ymm9
+  DB  196,193,124,88,193                  ; vaddps        %ymm9,%ymm0,%ymm0
+  DB  196,65,36,89,207                    ; vmulps        %ymm15,%ymm11,%ymm9
+  DB  197,52,88,200                       ; vaddps        %ymm0,%ymm9,%ymm9
+  DB  196,193,60,92,193                   ; vsubps        %ymm9,%ymm8,%ymm0
+  DB  197,180,89,192                      ; vmulps        %ymm0,%ymm9,%ymm0
+  DB  196,65,52,92,236                    ; vsubps        %ymm12,%ymm9,%ymm13
+  DB  196,193,124,94,197                  ; vdivps        %ymm13,%ymm0,%ymm0
+  DB  196,65,44,92,241                    ; vsubps        %ymm9,%ymm10,%ymm14
+  DB  196,65,52,89,246                    ; vmulps        %ymm14,%ymm9,%ymm14
+  DB  196,65,12,94,245                    ; vdivps        %ymm13,%ymm14,%ymm14
+  DB  196,65,36,92,249                    ; vsubps        %ymm9,%ymm11,%ymm15
+  DB  196,65,52,89,255                    ; vmulps        %ymm15,%ymm9,%ymm15
+  DB  196,65,4,94,237                     ; vdivps        %ymm13,%ymm15,%ymm13
+  DB  196,65,4,87,255                     ; vxorps        %ymm15,%ymm15,%ymm15
+  DB  196,65,4,194,228,2                  ; vcmpleps      %ymm12,%ymm15,%ymm12
+  DB  196,65,52,88,246                    ; vaddps        %ymm14,%ymm9,%ymm14
+  DB  196,67,13,74,242,192                ; vblendvps     %ymm12,%ymm10,%ymm14,%ymm14
+  DB  196,65,44,95,211                    ; vmaxps        %ymm11,%ymm10,%ymm10
+  DB  196,65,52,88,237                    ; vaddps        %ymm13,%ymm9,%ymm13
+  DB  196,67,21,74,219,192                ; vblendvps     %ymm12,%ymm11,%ymm13,%ymm11
+  DB  197,180,88,192                      ; vaddps        %ymm0,%ymm9,%ymm0
+  DB  196,195,125,74,200,192              ; vblendvps     %ymm12,%ymm8,%ymm0,%ymm1
+  DB  197,100,89,231                      ; vmulps        %ymm7,%ymm3,%ymm12
+  DB  196,65,60,95,194                    ; vmaxps        %ymm10,%ymm8,%ymm8
+  DB  196,65,116,92,209                   ; vsubps        %ymm9,%ymm1,%ymm10
+  DB  196,65,28,92,233                    ; vsubps        %ymm9,%ymm12,%ymm13
+  DB  196,65,20,89,210                    ; vmulps        %ymm10,%ymm13,%ymm10
+  DB  196,193,28,194,192,1                ; vcmpltps      %ymm8,%ymm12,%ymm0
+  DB  196,65,60,92,193                    ; vsubps        %ymm9,%ymm8,%ymm8
+  DB  196,65,44,94,208                    ; vdivps        %ymm8,%ymm10,%ymm10
+  DB  196,65,52,88,210                    ; vaddps        %ymm10,%ymm9,%ymm10
+  DB  196,195,117,74,202,0                ; vblendvps     %ymm0,%ymm10,%ymm1,%ymm1
+  DB  196,65,12,92,209                    ; vsubps        %ymm9,%ymm14,%ymm10
+  DB  196,65,20,89,210                    ; vmulps        %ymm10,%ymm13,%ymm10
+  DB  196,65,44,94,208                    ; vdivps        %ymm8,%ymm10,%ymm10
+  DB  196,65,52,88,210                    ; vaddps        %ymm10,%ymm9,%ymm10
+  DB  196,67,13,74,210,0                  ; vblendvps     %ymm0,%ymm10,%ymm14,%ymm10
+  DB  196,65,36,92,241                    ; vsubps        %ymm9,%ymm11,%ymm14
+  DB  196,65,20,89,238                    ; vmulps        %ymm14,%ymm13,%ymm13
+  DB  196,65,20,94,192                    ; vdivps        %ymm8,%ymm13,%ymm8
+  DB  196,65,52,88,192                    ; vaddps        %ymm8,%ymm9,%ymm8
+  DB  196,193,116,95,207                  ; vmaxps        %ymm15,%ymm1,%ymm1
+  DB  196,65,44,95,207                    ; vmaxps        %ymm15,%ymm10,%ymm9
+  DB  196,195,37,74,192,0                 ; vblendvps     %ymm0,%ymm8,%ymm11,%ymm0
+  DB  196,65,124,95,199                   ; vmaxps        %ymm15,%ymm0,%ymm8
+  DB  196,226,125,24,5,73,176,2,0         ; vbroadcastss  0x2b049(%rip),%ymm0        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,124,92,215                      ; vsubps        %ymm7,%ymm0,%ymm10
+  DB  197,172,89,210                      ; vmulps        %ymm2,%ymm10,%ymm2
+  DB  197,124,92,219                      ; vsubps        %ymm3,%ymm0,%ymm11
+  DB  197,164,89,196                      ; vmulps        %ymm4,%ymm11,%ymm0
+  DB  197,252,88,194                      ; vaddps        %ymm2,%ymm0,%ymm0
+  DB  197,252,88,193                      ; vaddps        %ymm1,%ymm0,%ymm0
+  DB  197,172,89,76,36,32                 ; vmulps        0x20(%rsp),%ymm10,%ymm1
+  DB  197,164,89,213                      ; vmulps        %ymm5,%ymm11,%ymm2
+  DB  197,236,88,201                      ; vaddps        %ymm1,%ymm2,%ymm1
+  DB  196,193,116,88,201                  ; vaddps        %ymm9,%ymm1,%ymm1
+  DB  197,172,89,20,36                    ; vmulps        (%rsp),%ymm10,%ymm2
+  DB  197,36,89,206                       ; vmulps        %ymm6,%ymm11,%ymm9
+  DB  197,180,88,210                      ; vaddps        %ymm2,%ymm9,%ymm2
+  DB  196,193,108,88,208                  ; vaddps        %ymm8,%ymm2,%ymm2
+  DB  197,228,88,223                      ; vaddps        %ymm7,%ymm3,%ymm3
+  DB  196,193,100,92,220                  ; vsubps        %ymm12,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  72,131,196,88                       ; add           $0x58,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_srcover_rgba_8888_avx
+_sk_srcover_rgba_8888_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,87,1,0,0                     ; jne           9c3e <_sk_srcover_rgba_8888_avx+0x171>
+  DB  196,65,125,16,12,144                ; vmovupd       (%r8,%rdx,4),%ymm9
+  DB  197,125,40,5,139,181,2,0            ; vmovapd       0x2b58b(%rip),%ymm8        # 35080 <_sk_srcover_bgra_8888_sse2_lowp+0x868>
+  DB  196,193,53,84,224                   ; vandpd        %ymm8,%ymm9,%ymm4
+  DB  197,252,91,228                      ; vcvtdq2ps     %ymm4,%ymm4
+  DB  196,193,81,114,209,8                ; vpsrld        $0x8,%xmm9,%xmm5
+  DB  196,99,125,25,207,1                 ; vextractf128  $0x1,%ymm9,%xmm7
+  DB  197,201,114,215,8                   ; vpsrld        $0x8,%xmm7,%xmm6
+  DB  196,227,85,24,238,1                 ; vinsertf128   $0x1,%xmm6,%ymm5,%ymm5
+  DB  196,193,85,84,232                   ; vandpd        %ymm8,%ymm5,%ymm5
+  DB  197,252,91,237                      ; vcvtdq2ps     %ymm5,%ymm5
+  DB  196,193,41,114,209,16               ; vpsrld        $0x10,%xmm9,%xmm10
+  DB  197,201,114,215,16                  ; vpsrld        $0x10,%xmm7,%xmm6
+  DB  196,227,45,24,246,1                 ; vinsertf128   $0x1,%xmm6,%ymm10,%ymm6
+  DB  196,193,77,84,240                   ; vandpd        %ymm8,%ymm6,%ymm6
+  DB  196,65,61,87,192                    ; vxorpd        %ymm8,%ymm8,%ymm8
+  DB  197,252,91,246                      ; vcvtdq2ps     %ymm6,%ymm6
+  DB  196,193,49,114,209,24               ; vpsrld        $0x18,%xmm9,%xmm9
+  DB  197,193,114,215,24                  ; vpsrld        $0x18,%xmm7,%xmm7
+  DB  196,227,53,24,255,1                 ; vinsertf128   $0x1,%xmm7,%ymm9,%ymm7
+  DB  197,252,91,255                      ; vcvtdq2ps     %ymm7,%ymm7
+  DB  196,98,125,24,13,109,175,2,0        ; vbroadcastss  0x2af6d(%rip),%ymm9        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,52,92,211                       ; vsubps        %ymm3,%ymm9,%ymm10
+  DB  196,98,125,24,13,140,175,2,0        ; vbroadcastss  0x2af8c(%rip),%ymm9        # 34af4 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  DB  196,193,124,89,193                  ; vmulps        %ymm9,%ymm0,%ymm0
+  DB  197,44,89,220                       ; vmulps        %ymm4,%ymm10,%ymm11
+  DB  196,193,124,88,195                  ; vaddps        %ymm11,%ymm0,%ymm0
+  DB  196,193,116,89,201                  ; vmulps        %ymm9,%ymm1,%ymm1
+  DB  197,44,89,221                       ; vmulps        %ymm5,%ymm10,%ymm11
+  DB  196,193,116,88,203                  ; vaddps        %ymm11,%ymm1,%ymm1
+  DB  196,193,108,89,209                  ; vmulps        %ymm9,%ymm2,%ymm2
+  DB  197,44,89,222                       ; vmulps        %ymm6,%ymm10,%ymm11
+  DB  196,193,108,88,211                  ; vaddps        %ymm11,%ymm2,%ymm2
+  DB  196,193,100,89,217                  ; vmulps        %ymm9,%ymm3,%ymm3
+  DB  197,44,89,215                       ; vmulps        %ymm7,%ymm10,%ymm10
+  DB  196,193,100,88,218                  ; vaddps        %ymm10,%ymm3,%ymm3
+  DB  197,60,95,208                       ; vmaxps        %ymm0,%ymm8,%ymm10
+  DB  196,65,44,93,209                    ; vminps        %ymm9,%ymm10,%ymm10
+  DB  196,65,125,91,210                   ; vcvtps2dq     %ymm10,%ymm10
+  DB  197,60,95,217                       ; vmaxps        %ymm1,%ymm8,%ymm11
+  DB  196,65,36,93,217                    ; vminps        %ymm9,%ymm11,%ymm11
+  DB  196,65,125,91,219                   ; vcvtps2dq     %ymm11,%ymm11
+  DB  196,193,25,114,243,8                ; vpslld        $0x8,%xmm11,%xmm12
+  DB  196,67,125,25,219,1                 ; vextractf128  $0x1,%ymm11,%xmm11
+  DB  196,193,33,114,243,8                ; vpslld        $0x8,%xmm11,%xmm11
+  DB  196,67,29,24,219,1                  ; vinsertf128   $0x1,%xmm11,%ymm12,%ymm11
+  DB  196,65,37,86,210                    ; vorpd         %ymm10,%ymm11,%ymm10
+  DB  197,60,95,218                       ; vmaxps        %ymm2,%ymm8,%ymm11
+  DB  196,65,36,93,217                    ; vminps        %ymm9,%ymm11,%ymm11
+  DB  196,65,125,91,219                   ; vcvtps2dq     %ymm11,%ymm11
+  DB  196,193,25,114,243,16               ; vpslld        $0x10,%xmm11,%xmm12
+  DB  196,67,125,25,219,1                 ; vextractf128  $0x1,%ymm11,%xmm11
+  DB  196,193,33,114,243,16               ; vpslld        $0x10,%xmm11,%xmm11
+  DB  196,67,29,24,219,1                  ; vinsertf128   $0x1,%xmm11,%ymm12,%ymm11
+  DB  197,60,95,195                       ; vmaxps        %ymm3,%ymm8,%ymm8
+  DB  196,65,60,93,193                    ; vminps        %ymm9,%ymm8,%ymm8
+  DB  196,65,125,91,192                   ; vcvtps2dq     %ymm8,%ymm8
+  DB  196,193,49,114,240,24               ; vpslld        $0x18,%xmm8,%xmm9
+  DB  196,67,125,25,192,1                 ; vextractf128  $0x1,%ymm8,%xmm8
+  DB  196,193,57,114,240,24               ; vpslld        $0x18,%xmm8,%xmm8
+  DB  196,67,53,24,192,1                  ; vinsertf128   $0x1,%xmm8,%ymm9,%ymm8
+  DB  196,65,37,86,192                    ; vorpd         %ymm8,%ymm11,%ymm8
+  DB  196,65,45,86,192                    ; vorpd         %ymm8,%ymm10,%ymm8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,59                              ; jne           9c6f <_sk_srcover_rgba_8888_avx+0x1a2>
+  DB  196,65,124,17,4,144                 ; vmovups       %ymm8,(%r8,%rdx,4)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  196,65,52,87,201                    ; vxorps        %ymm9,%ymm9,%ymm9
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  15,135,156,254,255,255              ; ja            9aed <_sk_srcover_rgba_8888_avx+0x20>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,253,0,0,0                 ; lea           0xfd(%rip),%r9        # 9d58 <_sk_srcover_rgba_8888_avx+0x28b>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,65,122,16,12,144                ; vmovss        (%r8,%rdx,4),%xmm9
+  DB  233,126,254,255,255                 ; jmpq          9aed <_sk_srcover_rgba_8888_avx+0x20>
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,193                             ; ja            9c3a <_sk_srcover_rgba_8888_avx+0x16d>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,241,0,0,0                 ; lea           0xf1(%rip),%r9        # 9d74 <_sk_srcover_rgba_8888_avx+0x2a7>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,65,121,126,4,144                ; vmovd         %xmm8,(%r8,%rdx,4)
+  DB  235,166                             ; jmp           9c3a <_sk_srcover_rgba_8888_avx+0x16d>
+  DB  196,193,121,110,100,144,8           ; vmovd         0x8(%r8,%rdx,4),%xmm4
+  DB  197,249,112,228,68                  ; vpshufd       $0x44,%xmm4,%xmm4
+  DB  197,212,87,237                      ; vxorps        %ymm5,%ymm5,%ymm5
+  DB  196,99,85,12,204,4                  ; vblendps      $0x4,%ymm4,%ymm5,%ymm9
+  DB  196,193,123,16,36,144               ; vmovsd        (%r8,%rdx,4),%xmm4
+  DB  196,99,53,13,204,1                  ; vblendpd      $0x1,%ymm4,%ymm9,%ymm9
+  DB  233,50,254,255,255                  ; jmpq          9aed <_sk_srcover_rgba_8888_avx+0x20>
+  DB  196,193,121,110,100,144,24          ; vmovd         0x18(%r8,%rdx,4),%xmm4
+  DB  197,249,112,228,68                  ; vpshufd       $0x44,%xmm4,%xmm4
+  DB  196,227,125,24,228,1                ; vinsertf128   $0x1,%xmm4,%ymm0,%ymm4
+  DB  197,212,87,237                      ; vxorps        %ymm5,%ymm5,%ymm5
+  DB  196,99,85,12,204,64                 ; vblendps      $0x40,%ymm4,%ymm5,%ymm9
+  DB  196,99,125,25,204,1                 ; vextractf128  $0x1,%ymm9,%xmm4
+  DB  196,195,89,34,100,144,20,1          ; vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm4,%xmm4
+  DB  196,99,53,24,204,1                  ; vinsertf128   $0x1,%xmm4,%ymm9,%ymm9
+  DB  196,99,125,25,204,1                 ; vextractf128  $0x1,%ymm9,%xmm4
+  DB  196,195,89,34,100,144,16,0          ; vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm4,%xmm4
+  DB  196,99,53,24,204,1                  ; vinsertf128   $0x1,%xmm4,%ymm9,%ymm9
+  DB  196,193,121,16,36,144               ; vmovupd       (%r8,%rdx,4),%xmm4
+  DB  196,67,93,13,201,12                 ; vblendpd      $0xc,%ymm9,%ymm4,%ymm9
+  DB  233,221,253,255,255                 ; jmpq          9aed <_sk_srcover_rgba_8888_avx+0x20>
+  DB  196,67,121,22,68,144,8,2            ; vpextrd       $0x2,%xmm8,0x8(%r8,%rdx,4)
+  DB  196,65,121,214,4,144                ; vmovq         %xmm8,(%r8,%rdx,4)
+  DB  233,23,255,255,255                  ; jmpq          9c3a <_sk_srcover_rgba_8888_avx+0x16d>
+  DB  196,67,125,25,193,1                 ; vextractf128  $0x1,%ymm8,%xmm9
+  DB  196,67,121,22,76,144,24,2           ; vpextrd       $0x2,%xmm9,0x18(%r8,%rdx,4)
+  DB  196,67,125,25,193,1                 ; vextractf128  $0x1,%ymm8,%xmm9
+  DB  196,67,121,22,76,144,20,1           ; vpextrd       $0x1,%xmm9,0x14(%r8,%rdx,4)
+  DB  196,67,125,25,193,1                 ; vextractf128  $0x1,%ymm8,%xmm9
+  DB  196,65,121,126,76,144,16            ; vmovd         %xmm9,0x10(%r8,%rdx,4)
+  DB  196,65,121,17,4,144                 ; vmovupd       %xmm8,(%r8,%rdx,4)
+  DB  233,227,254,255,255                 ; jmpq          9c3a <_sk_srcover_rgba_8888_avx+0x16d>
+  DB  144                                 ; nop
+  DB  12,255                              ; or            $0xff,%al
+  DB  255                                 ; (bad)
+  DB  255,82,255                          ; callq         *-0x1(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  60,255                              ; cmp           $0xff,%al
+  DB  255                                 ; (bad)
+  DB  255,167,255,255,255,147             ; jmpq          *-0x6c000001(%rdi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  127,255                             ; jg            9d6d <_sk_srcover_rgba_8888_avx+0x2a0>
+  DB  255                                 ; (bad)
+  DB  255,99,255                          ; jmpq          *-0x1(%rbx)
+  DB  255                                 ; (bad)
+  DB  255,24                              ; lcall         *(%rax)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,164,255,255,255,156,255         ; jmpq          *-0x630001(%rdi,%rdi,8)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  216,255                             ; fdivr         %st(7),%st
+  DB  255                                 ; (bad)
+  DB  255,203                             ; dec           %ebx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  189,255,255,255,175                 ; mov           $0xafffffff,%ebp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_srcover_bgra_8888_avx
+_sk_srcover_bgra_8888_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,87,1,0,0                     ; jne           9f01 <_sk_srcover_bgra_8888_avx+0x171>
+  DB  196,65,125,16,12,144                ; vmovupd       (%r8,%rdx,4),%ymm9
+  DB  197,125,40,5,232,178,2,0            ; vmovapd       0x2b2e8(%rip),%ymm8        # 350a0 <_sk_srcover_bgra_8888_sse2_lowp+0x888>
+  DB  196,193,53,84,232                   ; vandpd        %ymm8,%ymm9,%ymm5
+  DB  197,252,91,245                      ; vcvtdq2ps     %ymm5,%ymm6
+  DB  196,193,81,114,209,8                ; vpsrld        $0x8,%xmm9,%xmm5
+  DB  196,99,125,25,207,1                 ; vextractf128  $0x1,%ymm9,%xmm7
+  DB  197,217,114,215,8                   ; vpsrld        $0x8,%xmm7,%xmm4
+  DB  196,227,85,24,228,1                 ; vinsertf128   $0x1,%xmm4,%ymm5,%ymm4
+  DB  196,193,93,84,224                   ; vandpd        %ymm8,%ymm4,%ymm4
+  DB  197,252,91,236                      ; vcvtdq2ps     %ymm4,%ymm5
+  DB  196,193,41,114,209,16               ; vpsrld        $0x10,%xmm9,%xmm10
+  DB  197,217,114,215,16                  ; vpsrld        $0x10,%xmm7,%xmm4
+  DB  196,227,45,24,228,1                 ; vinsertf128   $0x1,%xmm4,%ymm10,%ymm4
+  DB  196,193,93,84,224                   ; vandpd        %ymm8,%ymm4,%ymm4
+  DB  196,65,61,87,192                    ; vxorpd        %ymm8,%ymm8,%ymm8
+  DB  197,252,91,228                      ; vcvtdq2ps     %ymm4,%ymm4
+  DB  196,193,49,114,209,24               ; vpsrld        $0x18,%xmm9,%xmm9
+  DB  197,193,114,215,24                  ; vpsrld        $0x18,%xmm7,%xmm7
+  DB  196,227,53,24,255,1                 ; vinsertf128   $0x1,%xmm7,%ymm9,%ymm7
+  DB  197,252,91,255                      ; vcvtdq2ps     %ymm7,%ymm7
+  DB  196,98,125,24,13,170,172,2,0        ; vbroadcastss  0x2acaa(%rip),%ymm9        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,52,92,211                       ; vsubps        %ymm3,%ymm9,%ymm10
+  DB  196,98,125,24,13,201,172,2,0        ; vbroadcastss  0x2acc9(%rip),%ymm9        # 34af4 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  DB  196,193,124,89,193                  ; vmulps        %ymm9,%ymm0,%ymm0
+  DB  197,44,89,220                       ; vmulps        %ymm4,%ymm10,%ymm11
+  DB  196,193,124,88,195                  ; vaddps        %ymm11,%ymm0,%ymm0
+  DB  196,193,116,89,201                  ; vmulps        %ymm9,%ymm1,%ymm1
+  DB  197,44,89,221                       ; vmulps        %ymm5,%ymm10,%ymm11
+  DB  196,193,116,88,203                  ; vaddps        %ymm11,%ymm1,%ymm1
+  DB  196,193,108,89,209                  ; vmulps        %ymm9,%ymm2,%ymm2
+  DB  197,44,89,222                       ; vmulps        %ymm6,%ymm10,%ymm11
+  DB  196,193,108,88,211                  ; vaddps        %ymm11,%ymm2,%ymm2
+  DB  196,193,100,89,217                  ; vmulps        %ymm9,%ymm3,%ymm3
+  DB  197,44,89,215                       ; vmulps        %ymm7,%ymm10,%ymm10
+  DB  196,193,100,88,218                  ; vaddps        %ymm10,%ymm3,%ymm3
+  DB  197,60,95,210                       ; vmaxps        %ymm2,%ymm8,%ymm10
+  DB  196,65,44,93,209                    ; vminps        %ymm9,%ymm10,%ymm10
+  DB  196,65,125,91,210                   ; vcvtps2dq     %ymm10,%ymm10
+  DB  197,60,95,217                       ; vmaxps        %ymm1,%ymm8,%ymm11
+  DB  196,65,36,93,217                    ; vminps        %ymm9,%ymm11,%ymm11
+  DB  196,65,125,91,219                   ; vcvtps2dq     %ymm11,%ymm11
+  DB  196,193,25,114,243,8                ; vpslld        $0x8,%xmm11,%xmm12
+  DB  196,67,125,25,219,1                 ; vextractf128  $0x1,%ymm11,%xmm11
+  DB  196,193,33,114,243,8                ; vpslld        $0x8,%xmm11,%xmm11
+  DB  196,67,29,24,219,1                  ; vinsertf128   $0x1,%xmm11,%ymm12,%ymm11
+  DB  196,65,37,86,210                    ; vorpd         %ymm10,%ymm11,%ymm10
+  DB  197,60,95,216                       ; vmaxps        %ymm0,%ymm8,%ymm11
+  DB  196,65,36,93,217                    ; vminps        %ymm9,%ymm11,%ymm11
+  DB  196,65,125,91,219                   ; vcvtps2dq     %ymm11,%ymm11
+  DB  196,193,25,114,243,16               ; vpslld        $0x10,%xmm11,%xmm12
+  DB  196,67,125,25,219,1                 ; vextractf128  $0x1,%ymm11,%xmm11
+  DB  196,193,33,114,243,16               ; vpslld        $0x10,%xmm11,%xmm11
+  DB  196,67,29,24,219,1                  ; vinsertf128   $0x1,%xmm11,%ymm12,%ymm11
+  DB  197,60,95,195                       ; vmaxps        %ymm3,%ymm8,%ymm8
+  DB  196,65,60,93,193                    ; vminps        %ymm9,%ymm8,%ymm8
+  DB  196,65,125,91,192                   ; vcvtps2dq     %ymm8,%ymm8
+  DB  196,193,49,114,240,24               ; vpslld        $0x18,%xmm8,%xmm9
+  DB  196,67,125,25,192,1                 ; vextractf128  $0x1,%ymm8,%xmm8
+  DB  196,193,57,114,240,24               ; vpslld        $0x18,%xmm8,%xmm8
+  DB  196,67,53,24,192,1                  ; vinsertf128   $0x1,%xmm8,%ymm9,%ymm8
+  DB  196,65,37,86,192                    ; vorpd         %ymm8,%ymm11,%ymm8
+  DB  196,65,45,86,192                    ; vorpd         %ymm8,%ymm10,%ymm8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,59                              ; jne           9f32 <_sk_srcover_bgra_8888_avx+0x1a2>
+  DB  196,65,124,17,4,144                 ; vmovups       %ymm8,(%r8,%rdx,4)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  196,65,52,87,201                    ; vxorps        %ymm9,%ymm9,%ymm9
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  15,135,156,254,255,255              ; ja            9db0 <_sk_srcover_bgra_8888_avx+0x20>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,254,0,0,0                 ; lea           0xfe(%rip),%r9        # a01c <_sk_srcover_bgra_8888_avx+0x28c>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,65,122,16,12,144                ; vmovss        (%r8,%rdx,4),%xmm9
+  DB  233,126,254,255,255                 ; jmpq          9db0 <_sk_srcover_bgra_8888_avx+0x20>
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,193                             ; ja            9efd <_sk_srcover_bgra_8888_avx+0x16d>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,242,0,0,0                 ; lea           0xf2(%rip),%r9        # a038 <_sk_srcover_bgra_8888_avx+0x2a8>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,65,121,126,4,144                ; vmovd         %xmm8,(%r8,%rdx,4)
+  DB  235,166                             ; jmp           9efd <_sk_srcover_bgra_8888_avx+0x16d>
+  DB  196,193,121,110,100,144,8           ; vmovd         0x8(%r8,%rdx,4),%xmm4
+  DB  197,249,112,228,68                  ; vpshufd       $0x44,%xmm4,%xmm4
+  DB  197,212,87,237                      ; vxorps        %ymm5,%ymm5,%ymm5
+  DB  196,99,85,12,204,4                  ; vblendps      $0x4,%ymm4,%ymm5,%ymm9
+  DB  196,193,123,16,36,144               ; vmovsd        (%r8,%rdx,4),%xmm4
+  DB  196,99,53,13,204,1                  ; vblendpd      $0x1,%ymm4,%ymm9,%ymm9
+  DB  233,50,254,255,255                  ; jmpq          9db0 <_sk_srcover_bgra_8888_avx+0x20>
+  DB  196,193,121,110,100,144,24          ; vmovd         0x18(%r8,%rdx,4),%xmm4
+  DB  197,249,112,228,68                  ; vpshufd       $0x44,%xmm4,%xmm4
+  DB  196,227,125,24,228,1                ; vinsertf128   $0x1,%xmm4,%ymm0,%ymm4
+  DB  197,212,87,237                      ; vxorps        %ymm5,%ymm5,%ymm5
+  DB  196,99,85,12,204,64                 ; vblendps      $0x40,%ymm4,%ymm5,%ymm9
+  DB  196,99,125,25,204,1                 ; vextractf128  $0x1,%ymm9,%xmm4
+  DB  196,195,89,34,100,144,20,1          ; vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm4,%xmm4
+  DB  196,99,53,24,204,1                  ; vinsertf128   $0x1,%xmm4,%ymm9,%ymm9
+  DB  196,99,125,25,204,1                 ; vextractf128  $0x1,%ymm9,%xmm4
+  DB  196,195,89,34,100,144,16,0          ; vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm4,%xmm4
+  DB  196,99,53,24,204,1                  ; vinsertf128   $0x1,%xmm4,%ymm9,%ymm9
+  DB  196,193,121,16,36,144               ; vmovupd       (%r8,%rdx,4),%xmm4
+  DB  196,67,93,13,201,12                 ; vblendpd      $0xc,%ymm9,%ymm4,%ymm9
+  DB  233,221,253,255,255                 ; jmpq          9db0 <_sk_srcover_bgra_8888_avx+0x20>
+  DB  196,67,121,22,68,144,8,2            ; vpextrd       $0x2,%xmm8,0x8(%r8,%rdx,4)
+  DB  196,65,121,214,4,144                ; vmovq         %xmm8,(%r8,%rdx,4)
+  DB  233,23,255,255,255                  ; jmpq          9efd <_sk_srcover_bgra_8888_avx+0x16d>
+  DB  196,67,125,25,193,1                 ; vextractf128  $0x1,%ymm8,%xmm9
+  DB  196,67,121,22,76,144,24,2           ; vpextrd       $0x2,%xmm9,0x18(%r8,%rdx,4)
+  DB  196,67,125,25,193,1                 ; vextractf128  $0x1,%ymm8,%xmm9
+  DB  196,67,121,22,76,144,20,1           ; vpextrd       $0x1,%xmm9,0x14(%r8,%rdx,4)
+  DB  196,67,125,25,193,1                 ; vextractf128  $0x1,%ymm8,%xmm9
+  DB  196,65,121,126,76,144,16            ; vmovd         %xmm9,0x10(%r8,%rdx,4)
+  DB  196,65,121,17,4,144                 ; vmovupd       %xmm8,(%r8,%rdx,4)
+  DB  233,227,254,255,255                 ; jmpq          9efd <_sk_srcover_bgra_8888_avx+0x16d>
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  11,255                              ; or            %edi,%edi
+  DB  255                                 ; (bad)
+  DB  255,81,255                          ; callq         *-0x1(%rcx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  59,255                              ; cmp           %edi,%edi
+  DB  255                                 ; (bad)
+  DB  255,166,255,255,255,146             ; jmpq          *-0x6d000001(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  126,255                             ; jle           a031 <_sk_srcover_bgra_8888_avx+0x2a1>
+  DB  255                                 ; (bad)
+  DB  255,98,255                          ; jmpq          *-0x1(%rdx)
+  DB  255                                 ; (bad)
+  DB  255,23                              ; callq         *(%rdi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,163,255,255,255,155             ; jmpq          *-0x64000001(%rbx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,215                             ; callq         *%rdi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,202                             ; dec           %edx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  188,255,255,255,174                 ; mov           $0xaeffffff,%esp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_clamp_0_avx
+_sk_clamp_0_avx LABEL PROC
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  196,193,124,95,192                  ; vmaxps        %ymm8,%ymm0,%ymm0
+  DB  196,193,116,95,200                  ; vmaxps        %ymm8,%ymm1,%ymm1
+  DB  196,193,108,95,208                  ; vmaxps        %ymm8,%ymm2,%ymm2
+  DB  196,193,100,95,216                  ; vmaxps        %ymm8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_clamp_1_avx
+_sk_clamp_1_avx LABEL PROC
+  DB  196,98,125,24,5,78,170,2,0          ; vbroadcastss  0x2aa4e(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,193,124,93,192                  ; vminps        %ymm8,%ymm0,%ymm0
+  DB  196,193,116,93,200                  ; vminps        %ymm8,%ymm1,%ymm1
+  DB  196,193,108,93,208                  ; vminps        %ymm8,%ymm2,%ymm2
+  DB  196,193,100,93,216                  ; vminps        %ymm8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_clamp_a_avx
+_sk_clamp_a_avx LABEL PROC
+  DB  196,98,125,24,5,45,170,2,0          ; vbroadcastss  0x2aa2d(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,193,100,93,216                  ; vminps        %ymm8,%ymm3,%ymm3
+  DB  197,252,93,195                      ; vminps        %ymm3,%ymm0,%ymm0
+  DB  197,244,93,203                      ; vminps        %ymm3,%ymm1,%ymm1
+  DB  197,236,93,211                      ; vminps        %ymm3,%ymm2,%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_clamp_a_dst_avx
+_sk_clamp_a_dst_avx LABEL PROC
+  DB  196,98,125,24,5,15,170,2,0          ; vbroadcastss  0x2aa0f(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,193,68,93,248                   ; vminps        %ymm8,%ymm7,%ymm7
+  DB  197,220,93,231                      ; vminps        %ymm7,%ymm4,%ymm4
+  DB  197,212,93,239                      ; vminps        %ymm7,%ymm5,%ymm5
+  DB  197,204,93,247                      ; vminps        %ymm7,%ymm6,%ymm6
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_set_rgb_avx
+_sk_set_rgb_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,0                    ; vbroadcastss  (%rax),%ymm0
+  DB  196,226,125,24,72,4                 ; vbroadcastss  0x4(%rax),%ymm1
+  DB  196,226,125,24,80,8                 ; vbroadcastss  0x8(%rax),%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_swap_rb_avx
+_sk_swap_rb_avx LABEL PROC
+  DB  197,124,40,192                      ; vmovaps       %ymm0,%ymm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,40,194                      ; vmovaps       %ymm2,%ymm0
+  DB  197,124,41,194                      ; vmovaps       %ymm8,%ymm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_invert_avx
+_sk_invert_avx LABEL PROC
+  DB  196,98,125,24,5,202,169,2,0         ; vbroadcastss  0x2a9ca(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,188,92,192                      ; vsubps        %ymm0,%ymm8,%ymm0
+  DB  197,188,92,201                      ; vsubps        %ymm1,%ymm8,%ymm1
+  DB  197,188,92,210                      ; vsubps        %ymm2,%ymm8,%ymm2
+  DB  197,188,92,219                      ; vsubps        %ymm3,%ymm8,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_move_src_dst_avx
+_sk_move_src_dst_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,40,224                      ; vmovaps       %ymm0,%ymm4
+  DB  197,252,40,233                      ; vmovaps       %ymm1,%ymm5
+  DB  197,252,40,242                      ; vmovaps       %ymm2,%ymm6
+  DB  197,252,40,251                      ; vmovaps       %ymm3,%ymm7
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_move_dst_src_avx
+_sk_move_dst_src_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,40,196                      ; vmovaps       %ymm4,%ymm0
+  DB  197,252,40,205                      ; vmovaps       %ymm5,%ymm1
+  DB  197,252,40,214                      ; vmovaps       %ymm6,%ymm2
+  DB  197,252,40,223                      ; vmovaps       %ymm7,%ymm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_premul_avx
+_sk_premul_avx LABEL PROC
+  DB  197,252,89,195                      ; vmulps        %ymm3,%ymm0,%ymm0
+  DB  197,244,89,203                      ; vmulps        %ymm3,%ymm1,%ymm1
+  DB  197,236,89,211                      ; vmulps        %ymm3,%ymm2,%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_premul_dst_avx
+_sk_premul_dst_avx LABEL PROC
+  DB  197,220,89,231                      ; vmulps        %ymm7,%ymm4,%ymm4
+  DB  197,212,89,239                      ; vmulps        %ymm7,%ymm5,%ymm5
+  DB  197,204,89,247                      ; vmulps        %ymm7,%ymm6,%ymm6
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_unpremul_avx
+_sk_unpremul_avx LABEL PROC
+  DB  196,98,125,24,5,101,169,2,0         ; vbroadcastss  0x2a965(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,60,94,195                       ; vdivps        %ymm3,%ymm8,%ymm8
+  DB  196,98,125,24,13,136,169,2,0        ; vbroadcastss  0x2a988(%rip),%ymm9        # 34af8 <_sk_srcover_bgra_8888_sse2_lowp+0x2e0>
+  DB  196,65,60,194,201,1                 ; vcmpltps      %ymm9,%ymm8,%ymm9
+  DB  196,65,44,87,210                    ; vxorps        %ymm10,%ymm10,%ymm10
+  DB  196,67,45,74,192,144                ; vblendvps     %ymm9,%ymm8,%ymm10,%ymm8
+  DB  197,188,89,192                      ; vmulps        %ymm0,%ymm8,%ymm0
+  DB  197,188,89,201                      ; vmulps        %ymm1,%ymm8,%ymm1
+  DB  197,188,89,210                      ; vmulps        %ymm2,%ymm8,%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_force_opaque_avx
+_sk_force_opaque_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,29,44,169,2,0        ; vbroadcastss  0x2a92c(%rip),%ymm3        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_force_opaque_dst_avx
+_sk_force_opaque_dst_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,61,31,169,2,0        ; vbroadcastss  0x2a91f(%rip),%ymm7        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_from_srgb_avx
+_sk_from_srgb_avx LABEL PROC
+  DB  196,98,125,24,5,72,169,2,0          ; vbroadcastss  0x2a948(%rip),%ymm8        # 34afc <_sk_srcover_bgra_8888_sse2_lowp+0x2e4>
+  DB  196,65,124,89,200                   ; vmulps        %ymm8,%ymm0,%ymm9
+  DB  197,124,89,208                      ; vmulps        %ymm0,%ymm0,%ymm10
+  DB  196,98,125,24,29,34,169,2,0         ; vbroadcastss  0x2a922(%rip),%ymm11        # 34ae8 <_sk_srcover_bgra_8888_sse2_lowp+0x2d0>
+  DB  196,65,124,89,227                   ; vmulps        %ymm11,%ymm0,%ymm12
+  DB  196,98,125,24,45,44,169,2,0         ; vbroadcastss  0x2a92c(%rip),%ymm13        # 34b00 <_sk_srcover_bgra_8888_sse2_lowp+0x2e8>
+  DB  196,65,28,88,229                    ; vaddps        %ymm13,%ymm12,%ymm12
+  DB  196,65,44,89,212                    ; vmulps        %ymm12,%ymm10,%ymm10
+  DB  196,98,125,24,37,29,169,2,0         ; vbroadcastss  0x2a91d(%rip),%ymm12        # 34b04 <_sk_srcover_bgra_8888_sse2_lowp+0x2ec>
+  DB  196,65,44,88,212                    ; vaddps        %ymm12,%ymm10,%ymm10
+  DB  196,98,125,24,53,19,169,2,0         ; vbroadcastss  0x2a913(%rip),%ymm14        # 34b08 <_sk_srcover_bgra_8888_sse2_lowp+0x2f0>
+  DB  196,193,124,194,198,1               ; vcmpltps      %ymm14,%ymm0,%ymm0
+  DB  196,195,45,74,193,0                 ; vblendvps     %ymm0,%ymm9,%ymm10,%ymm0
+  DB  196,65,116,89,200                   ; vmulps        %ymm8,%ymm1,%ymm9
+  DB  197,116,89,209                      ; vmulps        %ymm1,%ymm1,%ymm10
+  DB  196,65,116,89,251                   ; vmulps        %ymm11,%ymm1,%ymm15
+  DB  196,65,4,88,253                     ; vaddps        %ymm13,%ymm15,%ymm15
+  DB  196,65,44,89,215                    ; vmulps        %ymm15,%ymm10,%ymm10
+  DB  196,65,44,88,212                    ; vaddps        %ymm12,%ymm10,%ymm10
+  DB  196,193,116,194,206,1               ; vcmpltps      %ymm14,%ymm1,%ymm1
+  DB  196,195,45,74,201,16                ; vblendvps     %ymm1,%ymm9,%ymm10,%ymm1
+  DB  196,65,108,89,192                   ; vmulps        %ymm8,%ymm2,%ymm8
+  DB  197,108,89,202                      ; vmulps        %ymm2,%ymm2,%ymm9
+  DB  196,65,108,89,211                   ; vmulps        %ymm11,%ymm2,%ymm10
+  DB  196,65,44,88,213                    ; vaddps        %ymm13,%ymm10,%ymm10
+  DB  196,65,52,89,202                    ; vmulps        %ymm10,%ymm9,%ymm9
+  DB  196,65,52,88,204                    ; vaddps        %ymm12,%ymm9,%ymm9
+  DB  196,193,108,194,214,1               ; vcmpltps      %ymm14,%ymm2,%ymm2
+  DB  196,195,53,74,208,32                ; vblendvps     %ymm2,%ymm8,%ymm9,%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_from_srgb_dst_avx
+_sk_from_srgb_dst_avx LABEL PROC
+  DB  196,98,125,24,5,156,168,2,0         ; vbroadcastss  0x2a89c(%rip),%ymm8        # 34afc <_sk_srcover_bgra_8888_sse2_lowp+0x2e4>
+  DB  196,65,92,89,200                    ; vmulps        %ymm8,%ymm4,%ymm9
+  DB  197,92,89,212                       ; vmulps        %ymm4,%ymm4,%ymm10
+  DB  196,98,125,24,29,118,168,2,0        ; vbroadcastss  0x2a876(%rip),%ymm11        # 34ae8 <_sk_srcover_bgra_8888_sse2_lowp+0x2d0>
+  DB  196,65,92,89,227                    ; vmulps        %ymm11,%ymm4,%ymm12
+  DB  196,98,125,24,45,128,168,2,0        ; vbroadcastss  0x2a880(%rip),%ymm13        # 34b00 <_sk_srcover_bgra_8888_sse2_lowp+0x2e8>
+  DB  196,65,28,88,229                    ; vaddps        %ymm13,%ymm12,%ymm12
+  DB  196,65,44,89,212                    ; vmulps        %ymm12,%ymm10,%ymm10
+  DB  196,98,125,24,37,113,168,2,0        ; vbroadcastss  0x2a871(%rip),%ymm12        # 34b04 <_sk_srcover_bgra_8888_sse2_lowp+0x2ec>
+  DB  196,65,44,88,212                    ; vaddps        %ymm12,%ymm10,%ymm10
+  DB  196,98,125,24,53,103,168,2,0        ; vbroadcastss  0x2a867(%rip),%ymm14        # 34b08 <_sk_srcover_bgra_8888_sse2_lowp+0x2f0>
+  DB  196,193,92,194,230,1                ; vcmpltps      %ymm14,%ymm4,%ymm4
+  DB  196,195,45,74,225,64                ; vblendvps     %ymm4,%ymm9,%ymm10,%ymm4
+  DB  196,65,84,89,200                    ; vmulps        %ymm8,%ymm5,%ymm9
+  DB  197,84,89,213                       ; vmulps        %ymm5,%ymm5,%ymm10
+  DB  196,65,84,89,251                    ; vmulps        %ymm11,%ymm5,%ymm15
+  DB  196,65,4,88,253                     ; vaddps        %ymm13,%ymm15,%ymm15
+  DB  196,65,44,89,215                    ; vmulps        %ymm15,%ymm10,%ymm10
+  DB  196,65,44,88,212                    ; vaddps        %ymm12,%ymm10,%ymm10
+  DB  196,193,84,194,238,1                ; vcmpltps      %ymm14,%ymm5,%ymm5
+  DB  196,195,45,74,233,80                ; vblendvps     %ymm5,%ymm9,%ymm10,%ymm5
+  DB  196,65,76,89,192                    ; vmulps        %ymm8,%ymm6,%ymm8
+  DB  197,76,89,206                       ; vmulps        %ymm6,%ymm6,%ymm9
+  DB  196,65,76,89,211                    ; vmulps        %ymm11,%ymm6,%ymm10
+  DB  196,65,44,88,213                    ; vaddps        %ymm13,%ymm10,%ymm10
+  DB  196,65,52,89,202                    ; vmulps        %ymm10,%ymm9,%ymm9
+  DB  196,65,52,88,204                    ; vaddps        %ymm12,%ymm9,%ymm9
+  DB  196,193,76,194,246,1                ; vcmpltps      %ymm14,%ymm6,%ymm6
+  DB  196,195,53,74,240,96                ; vblendvps     %ymm6,%ymm8,%ymm9,%ymm6
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_to_srgb_avx
+_sk_to_srgb_avx LABEL PROC
+  DB  197,124,82,200                      ; vrsqrtps      %ymm0,%ymm9
+  DB  196,98,125,24,5,252,167,2,0         ; vbroadcastss  0x2a7fc(%rip),%ymm8        # 34b0c <_sk_srcover_bgra_8888_sse2_lowp+0x2f4>
+  DB  196,65,124,89,208                   ; vmulps        %ymm8,%ymm0,%ymm10
+  DB  196,98,125,24,29,246,167,2,0        ; vbroadcastss  0x2a7f6(%rip),%ymm11        # 34b14 <_sk_srcover_bgra_8888_sse2_lowp+0x2fc>
+  DB  196,65,52,89,227                    ; vmulps        %ymm11,%ymm9,%ymm12
+  DB  196,98,125,24,45,228,167,2,0        ; vbroadcastss  0x2a7e4(%rip),%ymm13        # 34b10 <_sk_srcover_bgra_8888_sse2_lowp+0x2f8>
+  DB  196,65,28,88,229                    ; vaddps        %ymm13,%ymm12,%ymm12
+  DB  196,65,52,89,228                    ; vmulps        %ymm12,%ymm9,%ymm12
+  DB  196,98,125,24,53,217,167,2,0        ; vbroadcastss  0x2a7d9(%rip),%ymm14        # 34b18 <_sk_srcover_bgra_8888_sse2_lowp+0x300>
+  DB  196,65,28,88,230                    ; vaddps        %ymm14,%ymm12,%ymm12
+  DB  196,98,125,24,61,207,167,2,0        ; vbroadcastss  0x2a7cf(%rip),%ymm15        # 34b1c <_sk_srcover_bgra_8888_sse2_lowp+0x304>
+  DB  196,65,52,88,207                    ; vaddps        %ymm15,%ymm9,%ymm9
+  DB  196,65,124,83,201                   ; vrcpps        %ymm9,%ymm9
+  DB  196,65,52,89,204                    ; vmulps        %ymm12,%ymm9,%ymm9
+  DB  196,98,125,24,37,187,167,2,0        ; vbroadcastss  0x2a7bb(%rip),%ymm12        # 34b20 <_sk_srcover_bgra_8888_sse2_lowp+0x308>
+  DB  196,193,124,194,196,1               ; vcmpltps      %ymm12,%ymm0,%ymm0
+  DB  196,195,53,74,194,0                 ; vblendvps     %ymm0,%ymm10,%ymm9,%ymm0
+  DB  197,124,82,201                      ; vrsqrtps      %ymm1,%ymm9
+  DB  196,65,52,89,211                    ; vmulps        %ymm11,%ymm9,%ymm10
+  DB  196,65,44,88,213                    ; vaddps        %ymm13,%ymm10,%ymm10
+  DB  196,65,52,89,210                    ; vmulps        %ymm10,%ymm9,%ymm10
+  DB  196,65,44,88,214                    ; vaddps        %ymm14,%ymm10,%ymm10
+  DB  196,65,52,88,207                    ; vaddps        %ymm15,%ymm9,%ymm9
+  DB  196,65,124,83,201                   ; vrcpps        %ymm9,%ymm9
+  DB  196,65,52,89,202                    ; vmulps        %ymm10,%ymm9,%ymm9
+  DB  196,65,116,89,208                   ; vmulps        %ymm8,%ymm1,%ymm10
+  DB  196,193,116,194,204,1               ; vcmpltps      %ymm12,%ymm1,%ymm1
+  DB  196,195,53,74,202,16                ; vblendvps     %ymm1,%ymm10,%ymm9,%ymm1
+  DB  197,124,82,202                      ; vrsqrtps      %ymm2,%ymm9
+  DB  196,65,52,89,211                    ; vmulps        %ymm11,%ymm9,%ymm10
+  DB  196,65,44,88,213                    ; vaddps        %ymm13,%ymm10,%ymm10
+  DB  196,65,52,89,210                    ; vmulps        %ymm10,%ymm9,%ymm10
+  DB  196,65,44,88,214                    ; vaddps        %ymm14,%ymm10,%ymm10
+  DB  196,65,52,88,207                    ; vaddps        %ymm15,%ymm9,%ymm9
+  DB  196,65,124,83,201                   ; vrcpps        %ymm9,%ymm9
+  DB  196,65,52,89,202                    ; vmulps        %ymm10,%ymm9,%ymm9
+  DB  196,65,108,89,192                   ; vmulps        %ymm8,%ymm2,%ymm8
+  DB  196,193,108,194,212,1               ; vcmpltps      %ymm12,%ymm2,%ymm2
+  DB  196,195,53,74,208,32                ; vblendvps     %ymm2,%ymm8,%ymm9,%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_rgb_to_hsl_avx
+_sk_rgb_to_hsl_avx LABEL PROC
+  DB  197,116,95,194                      ; vmaxps        %ymm2,%ymm1,%ymm8
+  DB  196,65,124,95,192                   ; vmaxps        %ymm8,%ymm0,%ymm8
+  DB  197,116,93,202                      ; vminps        %ymm2,%ymm1,%ymm9
+  DB  196,65,124,93,201                   ; vminps        %ymm9,%ymm0,%ymm9
+  DB  196,65,60,92,209                    ; vsubps        %ymm9,%ymm8,%ymm10
+  DB  196,98,125,24,29,195,166,2,0        ; vbroadcastss  0x2a6c3(%rip),%ymm11        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,65,36,94,218                    ; vdivps        %ymm10,%ymm11,%ymm11
+  DB  197,116,92,226                      ; vsubps        %ymm2,%ymm1,%ymm12
+  DB  196,65,28,89,227                    ; vmulps        %ymm11,%ymm12,%ymm12
+  DB  197,116,194,234,1                   ; vcmpltps      %ymm2,%ymm1,%ymm13
+  DB  197,60,194,241,0                    ; vcmpeqps      %ymm1,%ymm8,%ymm14
+  DB  197,236,92,208                      ; vsubps        %ymm0,%ymm2,%ymm2
+  DB  196,193,108,89,211                  ; vmulps        %ymm11,%ymm2,%ymm2
+  DB  197,252,92,201                      ; vsubps        %ymm1,%ymm0,%ymm1
+  DB  196,193,116,89,203                  ; vmulps        %ymm11,%ymm1,%ymm1
+  DB  196,98,125,24,29,244,166,2,0        ; vbroadcastss  0x2a6f4(%rip),%ymm11        # 34b2c <_sk_srcover_bgra_8888_sse2_lowp+0x314>
+  DB  196,193,116,88,203                  ; vaddps        %ymm11,%ymm1,%ymm1
+  DB  196,98,125,24,29,226,166,2,0        ; vbroadcastss  0x2a6e2(%rip),%ymm11        # 34b28 <_sk_srcover_bgra_8888_sse2_lowp+0x310>
+  DB  196,193,108,88,211                  ; vaddps        %ymm11,%ymm2,%ymm2
+  DB  196,227,117,74,202,224              ; vblendvps     %ymm14,%ymm2,%ymm1,%ymm1
+  DB  196,226,125,24,21,202,166,2,0       ; vbroadcastss  0x2a6ca(%rip),%ymm2        # 34b24 <_sk_srcover_bgra_8888_sse2_lowp+0x30c>
+  DB  196,65,12,87,246                    ; vxorps        %ymm14,%ymm14,%ymm14
+  DB  196,227,13,74,210,208               ; vblendvps     %ymm13,%ymm2,%ymm14,%ymm2
+  DB  197,188,194,192,0                   ; vcmpeqps      %ymm0,%ymm8,%ymm0
+  DB  196,193,108,88,212                  ; vaddps        %ymm12,%ymm2,%ymm2
+  DB  196,227,117,74,194,0                ; vblendvps     %ymm0,%ymm2,%ymm1,%ymm0
+  DB  196,193,60,88,201                   ; vaddps        %ymm9,%ymm8,%ymm1
+  DB  196,98,125,24,37,65,166,2,0         ; vbroadcastss  0x2a641(%rip),%ymm12        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  196,193,116,89,212                  ; vmulps        %ymm12,%ymm1,%ymm2
+  DB  197,28,194,226,1                    ; vcmpltps      %ymm2,%ymm12,%ymm12
+  DB  196,65,36,92,216                    ; vsubps        %ymm8,%ymm11,%ymm11
+  DB  196,65,36,92,217                    ; vsubps        %ymm9,%ymm11,%ymm11
+  DB  196,195,117,74,203,192              ; vblendvps     %ymm12,%ymm11,%ymm1,%ymm1
+  DB  196,65,60,194,193,0                 ; vcmpeqps      %ymm9,%ymm8,%ymm8
+  DB  197,172,94,201                      ; vdivps        %ymm1,%ymm10,%ymm1
+  DB  196,195,125,74,198,128              ; vblendvps     %ymm8,%ymm14,%ymm0,%ymm0
+  DB  196,195,117,74,206,128              ; vblendvps     %ymm8,%ymm14,%ymm1,%ymm1
+  DB  196,98,125,24,5,116,166,2,0         ; vbroadcastss  0x2a674(%rip),%ymm8        # 34b30 <_sk_srcover_bgra_8888_sse2_lowp+0x318>
+  DB  196,193,124,89,192                  ; vmulps        %ymm8,%ymm0,%ymm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_hsl_to_rgb_avx
+_sk_hsl_to_rgb_avx LABEL PROC
+  DB  72,129,236,184,0,0,0                ; sub           $0xb8,%rsp
+  DB  197,252,17,188,36,128,0,0,0         ; vmovups       %ymm7,0x80(%rsp)
+  DB  197,252,17,116,36,96                ; vmovups       %ymm6,0x60(%rsp)
+  DB  197,252,17,108,36,64                ; vmovups       %ymm5,0x40(%rsp)
+  DB  197,252,17,100,36,32                ; vmovups       %ymm4,0x20(%rsp)
+  DB  197,252,17,28,36                    ; vmovups       %ymm3,(%rsp)
+  DB  197,252,40,225                      ; vmovaps       %ymm1,%ymm4
+  DB  197,252,40,216                      ; vmovaps       %ymm0,%ymm3
+  DB  196,98,125,24,5,199,165,2,0         ; vbroadcastss  0x2a5c7(%rip),%ymm8        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  197,60,194,202,2                    ; vcmpleps      %ymm2,%ymm8,%ymm9
+  DB  197,92,89,210                       ; vmulps        %ymm2,%ymm4,%ymm10
+  DB  196,65,92,92,218                    ; vsubps        %ymm10,%ymm4,%ymm11
+  DB  196,67,45,74,203,144                ; vblendvps     %ymm9,%ymm11,%ymm10,%ymm9
+  DB  197,52,88,210                       ; vaddps        %ymm2,%ymm9,%ymm10
+  DB  197,108,88,202                      ; vaddps        %ymm2,%ymm2,%ymm9
+  DB  196,65,52,92,202                    ; vsubps        %ymm10,%ymm9,%ymm9
+  DB  196,98,125,24,29,13,166,2,0         ; vbroadcastss  0x2a60d(%rip),%ymm11        # 34b34 <_sk_srcover_bgra_8888_sse2_lowp+0x31c>
+  DB  196,65,100,88,219                   ; vaddps        %ymm11,%ymm3,%ymm11
+  DB  196,67,125,8,227,1                  ; vroundps      $0x1,%ymm11,%ymm12
+  DB  196,65,36,92,252                    ; vsubps        %ymm12,%ymm11,%ymm15
+  DB  196,65,44,92,217                    ; vsubps        %ymm9,%ymm10,%ymm11
+  DB  196,98,125,24,37,223,165,2,0        ; vbroadcastss  0x2a5df(%rip),%ymm12        # 34b24 <_sk_srcover_bgra_8888_sse2_lowp+0x30c>
+  DB  196,193,4,89,196                    ; vmulps        %ymm12,%ymm15,%ymm0
+  DB  196,98,125,24,45,217,165,2,0        ; vbroadcastss  0x2a5d9(%rip),%ymm13        # 34b2c <_sk_srcover_bgra_8888_sse2_lowp+0x314>
+  DB  197,20,92,240                       ; vsubps        %ymm0,%ymm13,%ymm14
+  DB  196,65,36,89,246                    ; vmulps        %ymm14,%ymm11,%ymm14
+  DB  196,65,52,88,246                    ; vaddps        %ymm14,%ymm9,%ymm14
+  DB  196,226,125,24,13,206,165,2,0       ; vbroadcastss  0x2a5ce(%rip),%ymm1        # 34b38 <_sk_srcover_bgra_8888_sse2_lowp+0x320>
+  DB  196,193,116,194,255,2               ; vcmpleps      %ymm15,%ymm1,%ymm7
+  DB  196,195,13,74,249,112               ; vblendvps     %ymm7,%ymm9,%ymm14,%ymm7
+  DB  196,65,60,194,247,2                 ; vcmpleps      %ymm15,%ymm8,%ymm14
+  DB  196,227,45,74,255,224               ; vblendvps     %ymm14,%ymm7,%ymm10,%ymm7
+  DB  196,98,125,24,53,165,165,2,0        ; vbroadcastss  0x2a5a5(%rip),%ymm14        # 34b30 <_sk_srcover_bgra_8888_sse2_lowp+0x318>
+  DB  196,65,12,194,255,2                 ; vcmpleps      %ymm15,%ymm14,%ymm15
+  DB  196,193,124,89,195                  ; vmulps        %ymm11,%ymm0,%ymm0
+  DB  197,180,88,192                      ; vaddps        %ymm0,%ymm9,%ymm0
+  DB  196,99,125,74,255,240               ; vblendvps     %ymm15,%ymm7,%ymm0,%ymm15
+  DB  196,227,125,8,195,1                 ; vroundps      $0x1,%ymm3,%ymm0
+  DB  197,228,92,192                      ; vsubps        %ymm0,%ymm3,%ymm0
+  DB  196,193,124,89,252                  ; vmulps        %ymm12,%ymm0,%ymm7
+  DB  197,148,92,247                      ; vsubps        %ymm7,%ymm13,%ymm6
+  DB  197,164,89,246                      ; vmulps        %ymm6,%ymm11,%ymm6
+  DB  197,180,88,246                      ; vaddps        %ymm6,%ymm9,%ymm6
+  DB  197,244,194,232,2                   ; vcmpleps      %ymm0,%ymm1,%ymm5
+  DB  196,195,77,74,233,80                ; vblendvps     %ymm5,%ymm9,%ymm6,%ymm5
+  DB  197,188,194,240,2                   ; vcmpleps      %ymm0,%ymm8,%ymm6
+  DB  196,227,45,74,237,96                ; vblendvps     %ymm6,%ymm5,%ymm10,%ymm5
+  DB  197,140,194,192,2                   ; vcmpleps      %ymm0,%ymm14,%ymm0
+  DB  197,164,89,247                      ; vmulps        %ymm7,%ymm11,%ymm6
+  DB  197,180,88,246                      ; vaddps        %ymm6,%ymm9,%ymm6
+  DB  196,227,77,74,237,0                 ; vblendvps     %ymm0,%ymm5,%ymm6,%ymm5
+  DB  196,226,125,24,5,79,165,2,0         ; vbroadcastss  0x2a54f(%rip),%ymm0        # 34b3c <_sk_srcover_bgra_8888_sse2_lowp+0x324>
+  DB  197,228,88,192                      ; vaddps        %ymm0,%ymm3,%ymm0
+  DB  196,227,125,8,216,1                 ; vroundps      $0x1,%ymm0,%ymm3
+  DB  197,252,92,195                      ; vsubps        %ymm3,%ymm0,%ymm0
+  DB  197,244,194,200,2                   ; vcmpleps      %ymm0,%ymm1,%ymm1
+  DB  196,193,124,89,220                  ; vmulps        %ymm12,%ymm0,%ymm3
+  DB  197,148,92,243                      ; vsubps        %ymm3,%ymm13,%ymm6
+  DB  197,164,89,246                      ; vmulps        %ymm6,%ymm11,%ymm6
+  DB  197,180,88,246                      ; vaddps        %ymm6,%ymm9,%ymm6
+  DB  196,195,77,74,201,16                ; vblendvps     %ymm1,%ymm9,%ymm6,%ymm1
+  DB  197,188,194,240,2                   ; vcmpleps      %ymm0,%ymm8,%ymm6
+  DB  196,227,45,74,201,96                ; vblendvps     %ymm6,%ymm1,%ymm10,%ymm1
+  DB  197,140,194,192,2                   ; vcmpleps      %ymm0,%ymm14,%ymm0
+  DB  197,164,89,219                      ; vmulps        %ymm3,%ymm11,%ymm3
+  DB  197,180,88,219                      ; vaddps        %ymm3,%ymm9,%ymm3
+  DB  196,227,101,74,217,0                ; vblendvps     %ymm0,%ymm1,%ymm3,%ymm3
+  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
+  DB  197,220,194,224,0                   ; vcmpeqps      %ymm0,%ymm4,%ymm4
+  DB  196,227,5,74,194,64                 ; vblendvps     %ymm4,%ymm2,%ymm15,%ymm0
+  DB  196,227,85,74,202,64                ; vblendvps     %ymm4,%ymm2,%ymm5,%ymm1
+  DB  196,227,101,74,210,64               ; vblendvps     %ymm4,%ymm2,%ymm3,%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,16,28,36                    ; vmovups       (%rsp),%ymm3
+  DB  197,252,16,100,36,32                ; vmovups       0x20(%rsp),%ymm4
+  DB  197,252,16,108,36,64                ; vmovups       0x40(%rsp),%ymm5
+  DB  197,252,16,116,36,96                ; vmovups       0x60(%rsp),%ymm6
+  DB  197,252,16,188,36,128,0,0,0         ; vmovups       0x80(%rsp),%ymm7
+  DB  72,129,196,184,0,0,0                ; add           $0xb8,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_scale_1_float_avx
+_sk_scale_1_float_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,24,0                     ; vbroadcastss  (%rax),%ymm8
+  DB  197,188,89,192                      ; vmulps        %ymm0,%ymm8,%ymm0
+  DB  197,188,89,201                      ; vmulps        %ymm1,%ymm8,%ymm1
+  DB  197,188,89,210                      ; vmulps        %ymm2,%ymm8,%ymm2
+  DB  197,188,89,219                      ; vmulps        %ymm3,%ymm8,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_scale_u8_avx
+_sk_scale_u8_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,75                              ; jne           a6f3 <_sk_scale_u8_avx+0x5d>
+  DB  196,66,121,48,4,16                  ; vpmovzxbw     (%r8,%rdx,1),%xmm8
+  DB  197,57,219,5,154,173,2,0            ; vpand         0x2ad9a(%rip),%xmm8,%xmm8        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  196,66,121,51,200                   ; vpmovzxwd     %xmm8,%xmm9
+  DB  196,65,121,112,192,78               ; vpshufd       $0x4e,%xmm8,%xmm8
+  DB  196,66,121,51,192                   ; vpmovzxwd     %xmm8,%xmm8
+  DB  196,67,53,24,192,1                  ; vinsertf128   $0x1,%xmm8,%ymm9,%ymm8
+  DB  196,65,124,91,192                   ; vcvtdq2ps     %ymm8,%ymm8
+  DB  196,98,125,24,13,102,164,2,0        ; vbroadcastss  0x2a466(%rip),%ymm9        # 34b40 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  DB  196,65,60,89,193                    ; vmulps        %ymm9,%ymm8,%ymm8
+  DB  197,188,89,192                      ; vmulps        %ymm0,%ymm8,%ymm0
+  DB  197,188,89,201                      ; vmulps        %ymm1,%ymm8,%ymm1
+  DB  197,188,89,210                      ; vmulps        %ymm2,%ymm8,%ymm2
+  DB  197,188,89,219                      ; vmulps        %ymm3,%ymm8,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,172                             ; ja            a6ae <_sk_scale_u8_avx+0x18>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,124,0,0,0                 ; lea           0x7c(%rip),%r9        # a788 <_sk_scale_u8_avx+0xf2>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,182,4,16                      ; movzbl        (%r8,%rdx,1),%eax
+  DB  197,121,110,192                     ; vmovd         %eax,%xmm8
+  DB  235,142                             ; jmp           a6ae <_sk_scale_u8_avx+0x18>
+  DB  65,15,182,68,16,2                   ; movzbl        0x2(%r8,%rdx,1),%eax
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  197,57,196,192,2                    ; vpinsrw       $0x2,%eax,%xmm8,%xmm8
+  DB  65,15,183,4,16                      ; movzwl        (%r8,%rdx,1),%eax
+  DB  197,121,110,200                     ; vmovd         %eax,%xmm9
+  DB  196,66,121,48,201                   ; vpmovzxbw     %xmm9,%xmm9
+  DB  196,67,57,14,193,3                  ; vpblendw      $0x3,%xmm9,%xmm8,%xmm8
+  DB  233,101,255,255,255                 ; jmpq          a6ae <_sk_scale_u8_avx+0x18>
+  DB  65,15,182,68,16,6                   ; movzbl        0x6(%r8,%rdx,1),%eax
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  197,57,196,192,6                    ; vpinsrw       $0x6,%eax,%xmm8,%xmm8
+  DB  65,15,182,68,16,5                   ; movzbl        0x5(%r8,%rdx,1),%eax
+  DB  197,57,196,192,5                    ; vpinsrw       $0x5,%eax,%xmm8,%xmm8
+  DB  65,15,182,68,16,4                   ; movzbl        0x4(%r8,%rdx,1),%eax
+  DB  197,57,196,192,4                    ; vpinsrw       $0x4,%eax,%xmm8,%xmm8
+  DB  196,65,121,110,12,16                ; vmovd         (%r8,%rdx,1),%xmm9
+  DB  196,66,121,48,201                   ; vpmovzxbw     %xmm9,%xmm9
+  DB  196,67,49,14,192,240                ; vpblendw      $0xf0,%xmm8,%xmm9,%xmm8
+  DB  233,41,255,255,255                  ; jmpq          a6ae <_sk_scale_u8_avx+0x18>
+  DB  15,31,0                             ; nopl          (%rax)
+  DB  141                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,168,255,255,255,152             ; ljmp          *-0x67000001(%rax)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,231                             ; jmpq          *%rdi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  220,255                             ; fdivr         %st,%st(7)
+  DB  255                                 ; (bad)
+  DB  255,209                             ; callq         *%rcx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,193                             ; inc           %ecx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_scale_565_avx
+_sk_scale_565_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,178,0,0,0                    ; jne           a86f <_sk_scale_565_avx+0xcb>
+  DB  196,65,122,111,4,80                 ; vmovdqu       (%r8,%rdx,2),%xmm8
+  DB  196,66,121,51,200                   ; vpmovzxwd     %xmm8,%xmm9
+  DB  196,65,121,112,192,78               ; vpshufd       $0x4e,%xmm8,%xmm8
+  DB  196,66,121,51,192                   ; vpmovzxwd     %xmm8,%xmm8
+  DB  196,67,53,24,192,1                  ; vinsertf128   $0x1,%xmm8,%ymm9,%ymm8
+  DB  196,98,125,24,13,98,163,2,0         ; vbroadcastss  0x2a362(%rip),%ymm9        # 34b44 <_sk_srcover_bgra_8888_sse2_lowp+0x32c>
+  DB  196,65,60,84,201                    ; vandps        %ymm9,%ymm8,%ymm9
+  DB  196,65,124,91,201                   ; vcvtdq2ps     %ymm9,%ymm9
+  DB  196,98,125,24,21,83,163,2,0         ; vbroadcastss  0x2a353(%rip),%ymm10        # 34b48 <_sk_srcover_bgra_8888_sse2_lowp+0x330>
+  DB  196,65,52,89,202                    ; vmulps        %ymm10,%ymm9,%ymm9
+  DB  196,98,125,24,21,73,163,2,0         ; vbroadcastss  0x2a349(%rip),%ymm10        # 34b4c <_sk_srcover_bgra_8888_sse2_lowp+0x334>
+  DB  196,65,60,84,210                    ; vandps        %ymm10,%ymm8,%ymm10
+  DB  196,65,124,91,210                   ; vcvtdq2ps     %ymm10,%ymm10
+  DB  196,98,125,24,29,58,163,2,0         ; vbroadcastss  0x2a33a(%rip),%ymm11        # 34b50 <_sk_srcover_bgra_8888_sse2_lowp+0x338>
+  DB  196,65,44,89,211                    ; vmulps        %ymm11,%ymm10,%ymm10
+  DB  196,98,125,24,29,48,163,2,0         ; vbroadcastss  0x2a330(%rip),%ymm11        # 34b54 <_sk_srcover_bgra_8888_sse2_lowp+0x33c>
+  DB  196,65,60,84,195                    ; vandps        %ymm11,%ymm8,%ymm8
+  DB  196,65,124,91,192                   ; vcvtdq2ps     %ymm8,%ymm8
+  DB  196,98,125,24,29,33,163,2,0         ; vbroadcastss  0x2a321(%rip),%ymm11        # 34b58 <_sk_srcover_bgra_8888_sse2_lowp+0x340>
+  DB  196,65,60,89,195                    ; vmulps        %ymm11,%ymm8,%ymm8
+  DB  197,100,194,223,1                   ; vcmpltps      %ymm7,%ymm3,%ymm11
+  DB  196,65,44,93,224                    ; vminps        %ymm8,%ymm10,%ymm12
+  DB  196,65,52,93,228                    ; vminps        %ymm12,%ymm9,%ymm12
+  DB  196,65,44,95,232                    ; vmaxps        %ymm8,%ymm10,%ymm13
+  DB  196,65,52,95,237                    ; vmaxps        %ymm13,%ymm9,%ymm13
+  DB  196,67,21,74,220,176                ; vblendvps     %ymm11,%ymm12,%ymm13,%ymm11
+  DB  197,180,89,192                      ; vmulps        %ymm0,%ymm9,%ymm0
+  DB  197,172,89,201                      ; vmulps        %ymm1,%ymm10,%ymm1
+  DB  197,188,89,210                      ; vmulps        %ymm2,%ymm8,%ymm2
+  DB  197,164,89,219                      ; vmulps        %ymm3,%ymm11,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  15,135,65,255,255,255               ; ja            a7c3 <_sk_scale_565_avx+0x1f>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,100,0,0,0                 ; lea           0x64(%rip),%r9        # a8f0 <_sk_scale_565_avx+0x14c>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,183,4,80                      ; movzwl        (%r8,%rdx,2),%eax
+  DB  197,121,110,192                     ; vmovd         %eax,%xmm8
+  DB  233,32,255,255,255                  ; jmpq          a7c3 <_sk_scale_565_avx+0x1f>
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  196,65,57,196,68,80,4,2             ; vpinsrw       $0x2,0x4(%r8,%rdx,2),%xmm8,%xmm8
+  DB  196,65,121,110,12,80                ; vmovd         (%r8,%rdx,2),%xmm9
+  DB  196,67,57,14,193,3                  ; vpblendw      $0x3,%xmm9,%xmm8,%xmm8
+  DB  233,2,255,255,255                   ; jmpq          a7c3 <_sk_scale_565_avx+0x1f>
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  196,65,57,196,68,80,12,6            ; vpinsrw       $0x6,0xc(%r8,%rdx,2),%xmm8,%xmm8
+  DB  196,65,57,196,68,80,10,5            ; vpinsrw       $0x5,0xa(%r8,%rdx,2),%xmm8,%xmm8
+  DB  196,65,57,196,68,80,8,4             ; vpinsrw       $0x4,0x8(%r8,%rdx,2),%xmm8,%xmm8
+  DB  196,65,122,126,12,80                ; vmovq         (%r8,%rdx,2),%xmm9
+  DB  196,67,49,14,192,240                ; vpblendw      $0xf0,%xmm8,%xmm9,%xmm8
+  DB  233,212,254,255,255                 ; jmpq          a7c3 <_sk_scale_565_avx+0x1f>
+  DB  144                                 ; nop
+  DB  165                                 ; movsl         %ds:(%rsi),%es:(%rdi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,192                             ; inc           %eax
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,179,255,255,255,238             ; pushq         -0x11000001(%rbx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,230                             ; jmpq          *%rsi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  222,255                             ; fdivrp        %st,%st(7)
+  DB  255                                 ; (bad)
+  DB  255,209                             ; callq         *%rcx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_lerp_1_float_avx
+_sk_lerp_1_float_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,24,0                     ; vbroadcastss  (%rax),%ymm8
+  DB  197,252,92,196                      ; vsubps        %ymm4,%ymm0,%ymm0
+  DB  196,193,124,89,192                  ; vmulps        %ymm8,%ymm0,%ymm0
+  DB  197,252,88,196                      ; vaddps        %ymm4,%ymm0,%ymm0
+  DB  197,244,92,205                      ; vsubps        %ymm5,%ymm1,%ymm1
+  DB  196,193,116,89,200                  ; vmulps        %ymm8,%ymm1,%ymm1
+  DB  197,244,88,205                      ; vaddps        %ymm5,%ymm1,%ymm1
+  DB  197,236,92,214                      ; vsubps        %ymm6,%ymm2,%ymm2
+  DB  196,193,108,89,208                  ; vmulps        %ymm8,%ymm2,%ymm2
+  DB  197,236,88,214                      ; vaddps        %ymm6,%ymm2,%ymm2
+  DB  197,228,92,223                      ; vsubps        %ymm7,%ymm3,%ymm3
+  DB  196,193,100,89,216                  ; vmulps        %ymm8,%ymm3,%ymm3
+  DB  197,228,88,223                      ; vaddps        %ymm7,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_lerp_u8_avx
+_sk_lerp_u8_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,111                             ; jne           a9cc <_sk_lerp_u8_avx+0x81>
+  DB  196,66,121,48,4,16                  ; vpmovzxbw     (%r8,%rdx,1),%xmm8
+  DB  197,57,219,5,229,170,2,0            ; vpand         0x2aae5(%rip),%xmm8,%xmm8        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  196,66,121,51,200                   ; vpmovzxwd     %xmm8,%xmm9
+  DB  196,65,121,112,192,78               ; vpshufd       $0x4e,%xmm8,%xmm8
+  DB  196,66,121,51,192                   ; vpmovzxwd     %xmm8,%xmm8
+  DB  196,67,53,24,192,1                  ; vinsertf128   $0x1,%xmm8,%ymm9,%ymm8
+  DB  196,65,124,91,192                   ; vcvtdq2ps     %ymm8,%ymm8
+  DB  196,98,125,24,13,177,161,2,0        ; vbroadcastss  0x2a1b1(%rip),%ymm9        # 34b40 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  DB  196,65,60,89,193                    ; vmulps        %ymm9,%ymm8,%ymm8
+  DB  197,252,92,196                      ; vsubps        %ymm4,%ymm0,%ymm0
+  DB  196,193,124,89,192                  ; vmulps        %ymm8,%ymm0,%ymm0
+  DB  197,252,88,196                      ; vaddps        %ymm4,%ymm0,%ymm0
+  DB  197,244,92,205                      ; vsubps        %ymm5,%ymm1,%ymm1
+  DB  196,193,116,89,200                  ; vmulps        %ymm8,%ymm1,%ymm1
+  DB  197,244,88,205                      ; vaddps        %ymm5,%ymm1,%ymm1
+  DB  197,236,92,214                      ; vsubps        %ymm6,%ymm2,%ymm2
+  DB  196,193,108,89,208                  ; vmulps        %ymm8,%ymm2,%ymm2
+  DB  197,236,88,214                      ; vaddps        %ymm6,%ymm2,%ymm2
+  DB  197,228,92,223                      ; vsubps        %ymm7,%ymm3,%ymm3
+  DB  196,193,100,89,216                  ; vmulps        %ymm8,%ymm3,%ymm3
+  DB  197,228,88,223                      ; vaddps        %ymm7,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,136                             ; ja            a963 <_sk_lerp_u8_avx+0x18>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,127,0,0,0                 ; lea           0x7f(%rip),%r9        # aa64 <_sk_lerp_u8_avx+0x119>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,182,4,16                      ; movzbl        (%r8,%rdx,1),%eax
+  DB  197,121,110,192                     ; vmovd         %eax,%xmm8
+  DB  233,103,255,255,255                 ; jmpq          a963 <_sk_lerp_u8_avx+0x18>
+  DB  65,15,182,68,16,2                   ; movzbl        0x2(%r8,%rdx,1),%eax
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  197,57,196,192,2                    ; vpinsrw       $0x2,%eax,%xmm8,%xmm8
+  DB  65,15,183,4,16                      ; movzwl        (%r8,%rdx,1),%eax
+  DB  197,121,110,200                     ; vmovd         %eax,%xmm9
+  DB  196,66,121,48,201                   ; vpmovzxbw     %xmm9,%xmm9
+  DB  196,67,57,14,193,3                  ; vpblendw      $0x3,%xmm9,%xmm8,%xmm8
+  DB  233,62,255,255,255                  ; jmpq          a963 <_sk_lerp_u8_avx+0x18>
+  DB  65,15,182,68,16,6                   ; movzbl        0x6(%r8,%rdx,1),%eax
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  197,57,196,192,6                    ; vpinsrw       $0x6,%eax,%xmm8,%xmm8
+  DB  65,15,182,68,16,5                   ; movzbl        0x5(%r8,%rdx,1),%eax
+  DB  197,57,196,192,5                    ; vpinsrw       $0x5,%eax,%xmm8,%xmm8
+  DB  65,15,182,68,16,4                   ; movzbl        0x4(%r8,%rdx,1),%eax
+  DB  197,57,196,192,4                    ; vpinsrw       $0x4,%eax,%xmm8,%xmm8
+  DB  196,65,121,110,12,16                ; vmovd         (%r8,%rdx,1),%xmm9
+  DB  196,66,121,48,201                   ; vpmovzxbw     %xmm9,%xmm9
+  DB  196,67,49,14,192,240                ; vpblendw      $0xf0,%xmm8,%xmm9,%xmm8
+  DB  233,2,255,255,255                   ; jmpq          a963 <_sk_lerp_u8_avx+0x18>
+  DB  15,31,0                             ; nopl          (%rax)
+  DB  138,255                             ; mov           %bh,%bh
+  DB  255                                 ; (bad)
+  DB  255,168,255,255,255,152             ; ljmp          *-0x67000001(%rax)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,231                             ; jmpq          *%rdi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  220,255                             ; fdivr         %st,%st(7)
+  DB  255                                 ; (bad)
+  DB  255,209                             ; callq         *%rcx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,193                             ; inc           %ecx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_lerp_565_avx
+_sk_lerp_565_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,214,0,0,0                    ; jne           ab6f <_sk_lerp_565_avx+0xef>
+  DB  196,65,122,111,4,80                 ; vmovdqu       (%r8,%rdx,2),%xmm8
+  DB  196,66,121,51,200                   ; vpmovzxwd     %xmm8,%xmm9
+  DB  196,65,121,112,192,78               ; vpshufd       $0x4e,%xmm8,%xmm8
+  DB  196,66,121,51,192                   ; vpmovzxwd     %xmm8,%xmm8
+  DB  196,67,53,24,192,1                  ; vinsertf128   $0x1,%xmm8,%ymm9,%ymm8
+  DB  196,98,125,24,13,134,160,2,0        ; vbroadcastss  0x2a086(%rip),%ymm9        # 34b44 <_sk_srcover_bgra_8888_sse2_lowp+0x32c>
+  DB  196,65,60,84,201                    ; vandps        %ymm9,%ymm8,%ymm9
+  DB  196,65,124,91,201                   ; vcvtdq2ps     %ymm9,%ymm9
+  DB  196,98,125,24,21,119,160,2,0        ; vbroadcastss  0x2a077(%rip),%ymm10        # 34b48 <_sk_srcover_bgra_8888_sse2_lowp+0x330>
+  DB  196,65,52,89,202                    ; vmulps        %ymm10,%ymm9,%ymm9
+  DB  196,98,125,24,21,109,160,2,0        ; vbroadcastss  0x2a06d(%rip),%ymm10        # 34b4c <_sk_srcover_bgra_8888_sse2_lowp+0x334>
+  DB  196,65,60,84,210                    ; vandps        %ymm10,%ymm8,%ymm10
+  DB  196,65,124,91,210                   ; vcvtdq2ps     %ymm10,%ymm10
+  DB  196,98,125,24,29,94,160,2,0         ; vbroadcastss  0x2a05e(%rip),%ymm11        # 34b50 <_sk_srcover_bgra_8888_sse2_lowp+0x338>
+  DB  196,65,44,89,211                    ; vmulps        %ymm11,%ymm10,%ymm10
+  DB  196,98,125,24,29,84,160,2,0         ; vbroadcastss  0x2a054(%rip),%ymm11        # 34b54 <_sk_srcover_bgra_8888_sse2_lowp+0x33c>
+  DB  196,65,60,84,195                    ; vandps        %ymm11,%ymm8,%ymm8
+  DB  196,65,124,91,192                   ; vcvtdq2ps     %ymm8,%ymm8
+  DB  196,98,125,24,29,69,160,2,0         ; vbroadcastss  0x2a045(%rip),%ymm11        # 34b58 <_sk_srcover_bgra_8888_sse2_lowp+0x340>
+  DB  196,65,60,89,195                    ; vmulps        %ymm11,%ymm8,%ymm8
+  DB  197,100,194,223,1                   ; vcmpltps      %ymm7,%ymm3,%ymm11
+  DB  196,65,44,93,224                    ; vminps        %ymm8,%ymm10,%ymm12
+  DB  196,65,52,93,228                    ; vminps        %ymm12,%ymm9,%ymm12
+  DB  196,65,44,95,232                    ; vmaxps        %ymm8,%ymm10,%ymm13
+  DB  196,65,52,95,237                    ; vmaxps        %ymm13,%ymm9,%ymm13
+  DB  196,67,21,74,220,176                ; vblendvps     %ymm11,%ymm12,%ymm13,%ymm11
+  DB  197,252,92,196                      ; vsubps        %ymm4,%ymm0,%ymm0
+  DB  196,193,124,89,193                  ; vmulps        %ymm9,%ymm0,%ymm0
+  DB  197,252,88,196                      ; vaddps        %ymm4,%ymm0,%ymm0
+  DB  197,244,92,205                      ; vsubps        %ymm5,%ymm1,%ymm1
+  DB  196,193,116,89,202                  ; vmulps        %ymm10,%ymm1,%ymm1
+  DB  197,244,88,205                      ; vaddps        %ymm5,%ymm1,%ymm1
+  DB  197,236,92,214                      ; vsubps        %ymm6,%ymm2,%ymm2
+  DB  196,193,108,89,208                  ; vmulps        %ymm8,%ymm2,%ymm2
+  DB  197,236,88,214                      ; vaddps        %ymm6,%ymm2,%ymm2
+  DB  197,228,92,223                      ; vsubps        %ymm7,%ymm3,%ymm3
+  DB  196,193,100,89,219                  ; vmulps        %ymm11,%ymm3,%ymm3
+  DB  197,228,88,223                      ; vaddps        %ymm7,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  15,135,29,255,255,255               ; ja            aa9f <_sk_lerp_565_avx+0x1f>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,100,0,0,0                 ; lea           0x64(%rip),%r9        # abf0 <_sk_lerp_565_avx+0x170>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,183,4,80                      ; movzwl        (%r8,%rdx,2),%eax
+  DB  197,121,110,192                     ; vmovd         %eax,%xmm8
+  DB  233,252,254,255,255                 ; jmpq          aa9f <_sk_lerp_565_avx+0x1f>
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  196,65,57,196,68,80,4,2             ; vpinsrw       $0x2,0x4(%r8,%rdx,2),%xmm8,%xmm8
+  DB  196,65,121,110,12,80                ; vmovd         (%r8,%rdx,2),%xmm9
+  DB  196,67,57,14,193,3                  ; vpblendw      $0x3,%xmm9,%xmm8,%xmm8
+  DB  233,222,254,255,255                 ; jmpq          aa9f <_sk_lerp_565_avx+0x1f>
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  196,65,57,196,68,80,12,6            ; vpinsrw       $0x6,0xc(%r8,%rdx,2),%xmm8,%xmm8
+  DB  196,65,57,196,68,80,10,5            ; vpinsrw       $0x5,0xa(%r8,%rdx,2),%xmm8,%xmm8
+  DB  196,65,57,196,68,80,8,4             ; vpinsrw       $0x4,0x8(%r8,%rdx,2),%xmm8,%xmm8
+  DB  196,65,122,126,12,80                ; vmovq         (%r8,%rdx,2),%xmm9
+  DB  196,67,49,14,192,240                ; vpblendw      $0xf0,%xmm8,%xmm9,%xmm8
+  DB  233,176,254,255,255                 ; jmpq          aa9f <_sk_lerp_565_avx+0x1f>
+  DB  144                                 ; nop
+  DB  165                                 ; movsl         %ds:(%rsi),%es:(%rdi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,192                             ; inc           %eax
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,179,255,255,255,238             ; pushq         -0x11000001(%rbx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,230                             ; jmpq          *%rsi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  222,255                             ; fdivrp        %st,%st(7)
+  DB  255                                 ; (bad)
+  DB  255,209                             ; callq         *%rcx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_tables_avx
+_sk_load_tables_avx LABEL PROC
+  DB  72,131,236,56                       ; sub           $0x38,%rsp
+  DB  197,252,17,60,36                    ; vmovups       %ymm7,(%rsp)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,7,2,0,0                      ; jne           ae2a <_sk_load_tables_avx+0x21e>
+  DB  196,65,125,16,20,144                ; vmovupd       (%r8,%rdx,4),%ymm10
+  DB  197,125,40,13,143,164,2,0           ; vmovapd       0x2a48f(%rip),%ymm9        # 350c0 <_sk_srcover_bgra_8888_sse2_lowp+0x8a8>
+  DB  196,193,45,84,201                   ; vandpd        %ymm9,%ymm10,%ymm1
+  DB  196,227,125,25,200,1                ; vextractf128  $0x1,%ymm1,%xmm0
+  DB  196,193,249,126,192                 ; vmovq         %xmm0,%r8
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  76,139,80,8                         ; mov           0x8(%rax),%r10
+  DB  196,129,122,16,20,138               ; vmovss        (%r10,%r9,4),%xmm2
+  DB  196,195,249,22,193,1                ; vpextrq       $0x1,%xmm0,%r9
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,131,105,33,4,130,16             ; vinsertps     $0x10,(%r10,%r8,4),%xmm2,%xmm0
+  DB  69,137,200                          ; mov           %r9d,%r8d
+  DB  196,131,121,33,4,130,32             ; vinsertps     $0x20,(%r10,%r8,4),%xmm0,%xmm0
+  DB  196,193,249,126,200                 ; vmovq         %xmm1,%r8
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  196,3,121,33,4,138,48               ; vinsertps     $0x30,(%r10,%r9,4),%xmm0,%xmm8
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  196,129,122,16,20,138               ; vmovss        (%r10,%r9,4),%xmm2
+  DB  196,195,249,22,201,1                ; vpextrq       $0x1,%xmm1,%r9
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,131,105,33,12,130,16            ; vinsertps     $0x10,(%r10,%r8,4),%xmm2,%xmm1
+  DB  69,137,200                          ; mov           %r9d,%r8d
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  196,131,113,33,12,130,32            ; vinsertps     $0x20,(%r10,%r8,4),%xmm1,%xmm1
+  DB  76,139,64,16                        ; mov           0x10(%rax),%r8
+  DB  196,3,113,33,36,138,48              ; vinsertps     $0x30,(%r10,%r9,4),%xmm1,%xmm12
+  DB  196,193,105,114,210,8               ; vpsrld        $0x8,%xmm10,%xmm2
+  DB  196,67,125,25,213,1                 ; vextractf128  $0x1,%ymm10,%xmm13
+  DB  196,193,121,114,213,8               ; vpsrld        $0x8,%xmm13,%xmm0
+  DB  196,227,109,24,192,1                ; vinsertf128   $0x1,%xmm0,%ymm2,%ymm0
+  DB  196,193,125,84,209                  ; vandpd        %ymm9,%ymm0,%ymm2
+  DB  196,227,125,25,208,1                ; vextractf128  $0x1,%ymm2,%xmm0
+  DB  196,193,249,126,193                 ; vmovq         %xmm0,%r9
+  DB  69,137,202                          ; mov           %r9d,%r10d
+  DB  196,129,122,16,12,144               ; vmovss        (%r8,%r10,4),%xmm1
+  DB  196,195,249,22,194,1                ; vpextrq       $0x1,%xmm0,%r10
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  196,3,113,33,52,136,16              ; vinsertps     $0x10,(%r8,%r9,4),%xmm1,%xmm14
+  DB  69,137,209                          ; mov           %r10d,%r9d
+  DB  196,129,122,16,28,136               ; vmovss        (%r8,%r9,4),%xmm3
+  DB  196,193,249,126,209                 ; vmovq         %xmm2,%r9
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,129,122,16,12,144               ; vmovss        (%r8,%r10,4),%xmm1
+  DB  69,137,202                          ; mov           %r9d,%r10d
+  DB  196,129,122,16,4,144                ; vmovss        (%r8,%r10,4),%xmm0
+  DB  196,195,249,22,210,1                ; vpextrq       $0x1,%xmm2,%r10
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  196,3,121,33,28,136,16              ; vinsertps     $0x10,(%r8,%r9,4),%xmm0,%xmm11
+  DB  69,137,209                          ; mov           %r10d,%r9d
+  DB  196,1,122,16,60,136                 ; vmovss        (%r8,%r9,4),%xmm15
+  DB  196,195,29,24,192,1                 ; vinsertf128   $0x1,%xmm8,%ymm12,%ymm0
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,227,9,33,219,32                 ; vinsertps     $0x20,%xmm3,%xmm14,%xmm3
+  DB  196,227,97,33,249,48                ; vinsertps     $0x30,%xmm1,%xmm3,%xmm7
+  DB  196,1,122,16,52,144                 ; vmovss        (%r8,%r10,4),%xmm14
+  DB  76,139,72,24                        ; mov           0x18(%rax),%r9
+  DB  196,193,97,114,210,16               ; vpsrld        $0x10,%xmm10,%xmm3
+  DB  196,193,105,114,213,16              ; vpsrld        $0x10,%xmm13,%xmm2
+  DB  196,227,101,24,210,1                ; vinsertf128   $0x1,%xmm2,%ymm3,%ymm2
+  DB  196,65,109,84,201                   ; vandpd        %ymm9,%ymm2,%ymm9
+  DB  196,99,125,25,202,1                 ; vextractf128  $0x1,%ymm9,%xmm2
+  DB  196,193,249,126,208                 ; vmovq         %xmm2,%r8
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  196,193,122,16,28,129               ; vmovss        (%r9,%rax,4),%xmm3
+  DB  196,195,249,22,210,1                ; vpextrq       $0x1,%xmm2,%r10
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,3,97,33,36,129,16               ; vinsertps     $0x10,(%r9,%r8,4),%xmm3,%xmm12
+  DB  68,137,208                          ; mov           %r10d,%eax
+  DB  196,193,122,16,28,129               ; vmovss        (%r9,%rax,4),%xmm3
+  DB  196,65,249,126,200                  ; vmovq         %xmm9,%r8
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,129,122,16,20,145               ; vmovss        (%r9,%r10,4),%xmm2
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  196,193,122,16,12,129               ; vmovss        (%r9,%rax,4),%xmm1
+  DB  196,67,249,22,202,1                 ; vpextrq       $0x1,%xmm9,%r10
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,3,113,33,12,129,16              ; vinsertps     $0x10,(%r9,%r8,4),%xmm1,%xmm9
+  DB  68,137,208                          ; mov           %r10d,%eax
+  DB  196,65,122,16,4,129                 ; vmovss        (%r9,%rax,4),%xmm8
+  DB  196,195,33,33,207,32                ; vinsertps     $0x20,%xmm15,%xmm11,%xmm1
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,1,122,16,28,145                 ; vmovss        (%r9,%r10,4),%xmm11
+  DB  196,195,113,33,206,48               ; vinsertps     $0x30,%xmm14,%xmm1,%xmm1
+  DB  196,227,117,24,207,1                ; vinsertf128   $0x1,%xmm7,%ymm1,%ymm1
+  DB  196,227,25,33,219,32                ; vinsertps     $0x20,%xmm3,%xmm12,%xmm3
+  DB  196,227,97,33,210,48                ; vinsertps     $0x30,%xmm2,%xmm3,%xmm2
+  DB  196,195,49,33,216,32                ; vinsertps     $0x20,%xmm8,%xmm9,%xmm3
+  DB  196,195,97,33,219,48                ; vinsertps     $0x30,%xmm11,%xmm3,%xmm3
+  DB  196,227,101,24,210,1                ; vinsertf128   $0x1,%xmm2,%ymm3,%ymm2
+  DB  196,193,97,114,210,24               ; vpsrld        $0x18,%xmm10,%xmm3
+  DB  196,193,65,114,213,24               ; vpsrld        $0x18,%xmm13,%xmm7
+  DB  196,227,101,24,223,1                ; vinsertf128   $0x1,%xmm7,%ymm3,%ymm3
+  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
+  DB  196,226,125,24,61,39,157,2,0        ; vbroadcastss  0x29d27(%rip),%ymm7        # 34b40 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  DB  197,228,89,223                      ; vmulps        %ymm7,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,16,60,36                    ; vmovups       (%rsp),%ymm7
+  DB  72,131,196,56                       ; add           $0x38,%rsp
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,137,249                          ; mov           %edi,%r9d
+  DB  65,128,225,7                        ; and           $0x7,%r9b
+  DB  196,65,44,87,210                    ; vxorps        %ymm10,%ymm10,%ymm10
+  DB  65,254,201                          ; dec           %r9b
+  DB  65,128,249,6                        ; cmp           $0x6,%r9b
+  DB  15,135,230,253,255,255              ; ja            ac29 <_sk_load_tables_avx+0x1d>
+  DB  69,15,182,201                       ; movzbl        %r9b,%r9d
+  DB  76,141,21,146,0,0,0                 ; lea           0x92(%rip),%r10        # aee0 <_sk_load_tables_avx+0x2d4>
+  DB  79,99,12,138                        ; movslq        (%r10,%r9,4),%r9
+  DB  77,1,209                            ; add           %r10,%r9
+  DB  65,255,225                          ; jmpq          *%r9
+  DB  196,65,122,16,20,144                ; vmovss        (%r8,%rdx,4),%xmm10
+  DB  233,198,253,255,255                 ; jmpq          ac29 <_sk_load_tables_avx+0x1d>
+  DB  196,193,121,110,68,144,8            ; vmovd         0x8(%r8,%rdx,4),%xmm0
+  DB  197,249,112,192,68                  ; vpshufd       $0x44,%xmm0,%xmm0
+  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
+  DB  196,99,117,12,208,4                 ; vblendps      $0x4,%ymm0,%ymm1,%ymm10
+  DB  196,193,123,16,4,144                ; vmovsd        (%r8,%rdx,4),%xmm0
+  DB  196,99,45,13,208,1                  ; vblendpd      $0x1,%ymm0,%ymm10,%ymm10
+  DB  233,159,253,255,255                 ; jmpq          ac29 <_sk_load_tables_avx+0x1d>
+  DB  196,193,121,110,68,144,24           ; vmovd         0x18(%r8,%rdx,4),%xmm0
+  DB  197,249,112,192,68                  ; vpshufd       $0x44,%xmm0,%xmm0
+  DB  196,227,125,24,192,1                ; vinsertf128   $0x1,%xmm0,%ymm0,%ymm0
+  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
+  DB  196,99,117,12,208,64                ; vblendps      $0x40,%ymm0,%ymm1,%ymm10
+  DB  196,99,125,25,208,1                 ; vextractf128  $0x1,%ymm10,%xmm0
+  DB  196,195,121,34,68,144,20,1          ; vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm0,%xmm0
+  DB  196,99,45,24,208,1                  ; vinsertf128   $0x1,%xmm0,%ymm10,%ymm10
+  DB  196,99,125,25,208,1                 ; vextractf128  $0x1,%ymm10,%xmm0
+  DB  196,195,121,34,68,144,16,0          ; vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm0,%xmm0
+  DB  196,99,45,24,208,1                  ; vinsertf128   $0x1,%xmm0,%ymm10,%ymm10
+  DB  196,193,121,16,4,144                ; vmovupd       (%r8,%rdx,4),%xmm0
+  DB  196,67,125,13,210,12                ; vblendpd      $0xc,%ymm10,%ymm0,%ymm10
+  DB  233,74,253,255,255                  ; jmpq          ac29 <_sk_load_tables_avx+0x1d>
+  DB  144                                 ; nop
+  DB  120,255                             ; js            aee1 <_sk_load_tables_avx+0x2d5>
+  DB  255                                 ; (bad)
+  DB  255,153,255,255,255,131             ; lcall         *-0x7c000001(%rcx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  238                                 ; out           %al,(%dx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  218,255                             ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,198                             ; inc           %esi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+  DB  170                                 ; stos          %al,%es:(%rdi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_tables_u16_be_avx
+_sk_load_tables_u16_be_avx LABEL PROC
+  DB  72,131,236,88                       ; sub           $0x58,%rsp
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  76,141,12,149,0,0,0,0               ; lea           0x0(,%rdx,4),%r9
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  197,252,17,124,36,32                ; vmovups       %ymm7,0x20(%rsp)
+  DB  197,252,17,52,36                    ; vmovups       %ymm6,(%rsp)
+  DB  15,133,78,2,0,0                     ; jne           b16f <_sk_load_tables_u16_be_avx+0x273>
+  DB  196,1,121,16,4,72                   ; vmovupd       (%r8,%r9,2),%xmm8
+  DB  196,129,121,16,84,72,16             ; vmovupd       0x10(%r8,%r9,2),%xmm2
+  DB  196,129,121,16,92,72,32             ; vmovupd       0x20(%r8,%r9,2),%xmm3
+  DB  196,1,122,111,76,72,48              ; vmovdqu       0x30(%r8,%r9,2),%xmm9
+  DB  197,185,97,194                      ; vpunpcklwd    %xmm2,%xmm8,%xmm0
+  DB  197,185,105,210                     ; vpunpckhwd    %xmm2,%xmm8,%xmm2
+  DB  196,193,97,97,201                   ; vpunpcklwd    %xmm9,%xmm3,%xmm1
+  DB  196,193,97,105,217                  ; vpunpckhwd    %xmm9,%xmm3,%xmm3
+  DB  197,121,97,202                      ; vpunpcklwd    %xmm2,%xmm0,%xmm9
+  DB  197,121,105,194                     ; vpunpckhwd    %xmm2,%xmm0,%xmm8
+  DB  197,241,97,195                      ; vpunpcklwd    %xmm3,%xmm1,%xmm0
+  DB  197,113,105,227                     ; vpunpckhwd    %xmm3,%xmm1,%xmm12
+  DB  197,177,108,208                     ; vpunpcklqdq   %xmm0,%xmm9,%xmm2
+  DB  197,49,109,232                      ; vpunpckhqdq   %xmm0,%xmm9,%xmm13
+  DB  196,65,57,108,212                   ; vpunpcklqdq   %xmm12,%xmm8,%xmm10
+  DB  197,121,111,29,221,164,2,0          ; vmovdqa       0x2a4dd(%rip),%xmm11        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  196,193,105,219,195                 ; vpand         %xmm11,%xmm2,%xmm0
+  DB  197,249,112,208,78                  ; vpshufd       $0x4e,%xmm0,%xmm2
+  DB  196,226,121,51,210                  ; vpmovzxwd     %xmm2,%xmm2
+  DB  196,193,249,126,208                 ; vmovq         %xmm2,%r8
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  76,139,80,8                         ; mov           0x8(%rax),%r10
+  DB  196,129,122,16,28,138               ; vmovss        (%r10,%r9,4),%xmm3
+  DB  196,195,249,22,209,1                ; vpextrq       $0x1,%xmm2,%r9
+  DB  196,226,121,51,192                  ; vpmovzxwd     %xmm0,%xmm0
+  DB  73,193,232,30                       ; shr           $0x1e,%r8
+  DB  196,3,97,33,12,2,16                 ; vinsertps     $0x10,(%r10,%r8,1),%xmm3,%xmm9
+  DB  69,137,200                          ; mov           %r9d,%r8d
+  DB  196,129,122,16,28,130               ; vmovss        (%r10,%r8,4),%xmm3
+  DB  196,193,249,126,192                 ; vmovq         %xmm0,%r8
+  DB  73,193,233,30                       ; shr           $0x1e,%r9
+  DB  196,129,122,16,12,10                ; vmovss        (%r10,%r9,1),%xmm1
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  196,129,122,16,20,138               ; vmovss        (%r10,%r9,4),%xmm2
+  DB  196,195,249,22,193,1                ; vpextrq       $0x1,%xmm0,%r9
+  DB  73,193,232,30                       ; shr           $0x1e,%r8
+  DB  196,131,105,33,4,2,16               ; vinsertps     $0x10,(%r10,%r8,1),%xmm2,%xmm0
+  DB  69,137,200                          ; mov           %r9d,%r8d
+  DB  73,193,233,30                       ; shr           $0x1e,%r9
+  DB  196,131,121,33,20,130,32            ; vinsertps     $0x20,(%r10,%r8,4),%xmm0,%xmm2
+  DB  76,139,64,16                        ; mov           0x10(%rax),%r8
+  DB  196,227,49,33,195,32                ; vinsertps     $0x20,%xmm3,%xmm9,%xmm0
+  DB  196,99,121,33,241,48                ; vinsertps     $0x30,%xmm1,%xmm0,%xmm14
+  DB  196,3,105,33,12,10,48               ; vinsertps     $0x30,(%r10,%r9,1),%xmm2,%xmm9
+  DB  196,193,17,219,203                  ; vpand         %xmm11,%xmm13,%xmm1
+  DB  197,249,112,209,78                  ; vpshufd       $0x4e,%xmm1,%xmm2
+  DB  196,226,121,51,210                  ; vpmovzxwd     %xmm2,%xmm2
+  DB  196,193,249,126,209                 ; vmovq         %xmm2,%r9
+  DB  69,137,202                          ; mov           %r9d,%r10d
+  DB  196,129,122,16,28,144               ; vmovss        (%r8,%r10,4),%xmm3
+  DB  196,195,249,22,210,1                ; vpextrq       $0x1,%xmm2,%r10
+  DB  196,226,121,51,193                  ; vpmovzxwd     %xmm1,%xmm0
+  DB  73,193,233,30                       ; shr           $0x1e,%r9
+  DB  196,3,97,33,60,8,16                 ; vinsertps     $0x10,(%r8,%r9,1),%xmm3,%xmm15
+  DB  69,137,209                          ; mov           %r10d,%r9d
+  DB  196,129,122,16,20,136               ; vmovss        (%r8,%r9,4),%xmm2
+  DB  196,193,249,126,193                 ; vmovq         %xmm0,%r9
+  DB  73,193,234,30                       ; shr           $0x1e,%r10
+  DB  196,129,122,16,28,16                ; vmovss        (%r8,%r10,1),%xmm3
+  DB  69,137,202                          ; mov           %r9d,%r10d
+  DB  196,129,122,16,12,144               ; vmovss        (%r8,%r10,4),%xmm1
+  DB  196,195,249,22,194,1                ; vpextrq       $0x1,%xmm0,%r10
+  DB  73,193,233,30                       ; shr           $0x1e,%r9
+  DB  196,131,113,33,4,8,16               ; vinsertps     $0x10,(%r8,%r9,1),%xmm1,%xmm0
+  DB  69,137,209                          ; mov           %r10d,%r9d
+  DB  73,193,234,30                       ; shr           $0x1e,%r10
+  DB  196,131,121,33,4,136,32             ; vinsertps     $0x20,(%r8,%r9,4),%xmm0,%xmm0
+  DB  196,3,121,33,44,16,48               ; vinsertps     $0x30,(%r8,%r10,1),%xmm0,%xmm13
+  DB  76,139,80,24                        ; mov           0x18(%rax),%r10
+  DB  196,193,41,219,195                  ; vpand         %xmm11,%xmm10,%xmm0
+  DB  197,249,112,200,78                  ; vpshufd       $0x4e,%xmm0,%xmm1
+  DB  196,226,121,51,201                  ; vpmovzxwd     %xmm1,%xmm1
+  DB  196,195,249,22,200,1                ; vpextrq       $0x1,%xmm1,%r8
+  DB  196,193,249,126,201                 ; vmovq         %xmm1,%r9
+  DB  196,226,121,51,192                  ; vpmovzxwd     %xmm0,%xmm0
+  DB  68,137,200                          ; mov           %r9d,%eax
+  DB  196,193,122,16,12,130               ; vmovss        (%r10,%rax,4),%xmm1
+  DB  196,195,249,22,195,1                ; vpextrq       $0x1,%xmm0,%r11
+  DB  73,193,233,30                       ; shr           $0x1e,%r9
+  DB  196,3,113,33,20,10,16               ; vinsertps     $0x10,(%r10,%r9,1),%xmm1,%xmm10
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  196,65,122,16,28,130                ; vmovss        (%r10,%rax,4),%xmm11
+  DB  196,193,249,126,193                 ; vmovq         %xmm0,%r9
+  DB  73,193,232,30                       ; shr           $0x1e,%r8
+  DB  196,129,122,16,60,2                 ; vmovss        (%r10,%r8,1),%xmm7
+  DB  68,137,200                          ; mov           %r9d,%eax
+  DB  196,193,122,16,4,130                ; vmovss        (%r10,%rax,4),%xmm0
+  DB  73,193,233,30                       ; shr           $0x1e,%r9
+  DB  196,131,121,33,4,10,16              ; vinsertps     $0x10,(%r10,%r9,1),%xmm0,%xmm0
+  DB  68,137,216                          ; mov           %r11d,%eax
+  DB  196,195,121,33,4,130,32             ; vinsertps     $0x20,(%r10,%rax,4),%xmm0,%xmm0
+  DB  73,193,235,30                       ; shr           $0x1e,%r11
+  DB  196,131,121,33,52,26,48             ; vinsertps     $0x30,(%r10,%r11,1),%xmm0,%xmm6
+  DB  196,195,53,24,198,1                 ; vinsertf128   $0x1,%xmm14,%ymm9,%ymm0
+  DB  196,227,1,33,202,32                 ; vinsertps     $0x20,%xmm2,%xmm15,%xmm1
+  DB  196,227,113,33,203,48               ; vinsertps     $0x30,%xmm3,%xmm1,%xmm1
+  DB  196,227,21,24,201,1                 ; vinsertf128   $0x1,%xmm1,%ymm13,%ymm1
+  DB  196,195,41,33,211,32                ; vinsertps     $0x20,%xmm11,%xmm10,%xmm2
+  DB  196,227,105,33,215,48               ; vinsertps     $0x30,%xmm7,%xmm2,%xmm2
+  DB  196,227,77,24,210,1                 ; vinsertf128   $0x1,%xmm2,%ymm6,%ymm2
+  DB  196,193,57,109,220                  ; vpunpckhqdq   %xmm12,%xmm8,%xmm3
+  DB  197,201,113,243,8                   ; vpsllw        $0x8,%xmm3,%xmm6
+  DB  197,225,113,211,8                   ; vpsrlw        $0x8,%xmm3,%xmm3
+  DB  197,201,235,219                     ; vpor          %xmm3,%xmm6,%xmm3
+  DB  196,226,121,51,243                  ; vpmovzxwd     %xmm3,%xmm6
+  DB  197,249,112,219,78                  ; vpshufd       $0x4e,%xmm3,%xmm3
+  DB  196,226,121,51,219                  ; vpmovzxwd     %xmm3,%xmm3
+  DB  196,227,77,24,219,1                 ; vinsertf128   $0x1,%xmm3,%ymm6,%ymm3
+  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
+  DB  196,226,125,24,53,4,154,2,0         ; vbroadcastss  0x29a04(%rip),%ymm6        # 34b5c <_sk_srcover_bgra_8888_sse2_lowp+0x344>
+  DB  197,228,89,222                      ; vmulps        %ymm6,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,16,52,36                    ; vmovups       (%rsp),%ymm6
+  DB  197,252,16,124,36,32                ; vmovups       0x20(%rsp),%ymm7
+  DB  72,131,196,88                       ; add           $0x58,%rsp
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,1,123,16,4,72                   ; vmovsd        (%r8,%r9,2),%xmm8
+  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
+  DB  72,131,255,1                        ; cmp           $0x1,%rdi
+  DB  116,85                              ; je            b1d5 <_sk_load_tables_u16_be_avx+0x2d9>
+  DB  196,1,57,22,68,72,8                 ; vmovhpd       0x8(%r8,%r9,2),%xmm8,%xmm8
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  114,72                              ; jb            b1d5 <_sk_load_tables_u16_be_avx+0x2d9>
+  DB  196,129,123,16,84,72,16             ; vmovsd        0x10(%r8,%r9,2),%xmm2
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  116,72                              ; je            b1e2 <_sk_load_tables_u16_be_avx+0x2e6>
+  DB  196,129,105,22,84,72,24             ; vmovhpd       0x18(%r8,%r9,2),%xmm2,%xmm2
+  DB  72,131,255,5                        ; cmp           $0x5,%rdi
+  DB  114,59                              ; jb            b1e2 <_sk_load_tables_u16_be_avx+0x2e6>
+  DB  196,129,123,16,92,72,32             ; vmovsd        0x20(%r8,%r9,2),%xmm3
+  DB  72,131,255,5                        ; cmp           $0x5,%rdi
+  DB  15,132,132,253,255,255              ; je            af3c <_sk_load_tables_u16_be_avx+0x40>
+  DB  196,129,97,22,92,72,40              ; vmovhpd       0x28(%r8,%r9,2),%xmm3,%xmm3
+  DB  72,131,255,7                        ; cmp           $0x7,%rdi
+  DB  15,130,115,253,255,255              ; jb            af3c <_sk_load_tables_u16_be_avx+0x40>
+  DB  196,1,122,126,76,72,48              ; vmovq         0x30(%r8,%r9,2),%xmm9
+  DB  233,103,253,255,255                 ; jmpq          af3c <_sk_load_tables_u16_be_avx+0x40>
+  DB  197,225,87,219                      ; vxorpd        %xmm3,%xmm3,%xmm3
+  DB  197,233,87,210                      ; vxorpd        %xmm2,%xmm2,%xmm2
+  DB  233,90,253,255,255                  ; jmpq          af3c <_sk_load_tables_u16_be_avx+0x40>
+  DB  197,225,87,219                      ; vxorpd        %xmm3,%xmm3,%xmm3
+  DB  233,81,253,255,255                  ; jmpq          af3c <_sk_load_tables_u16_be_avx+0x40>
+
+PUBLIC _sk_load_tables_rgb_u16_be_avx
+_sk_load_tables_rgb_u16_be_avx LABEL PROC
+  DB  72,131,236,88                       ; sub           $0x58,%rsp
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  76,141,12,82                        ; lea           (%rdx,%rdx,2),%r9
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  197,252,17,124,36,32                ; vmovups       %ymm7,0x20(%rsp)
+  DB  197,252,17,52,36                    ; vmovups       %ymm6,(%rsp)
+  DB  15,133,57,2,0,0                     ; jne           b445 <_sk_load_tables_rgb_u16_be_avx+0x25a>
+  DB  196,1,122,111,28,72                 ; vmovdqu       (%r8,%r9,2),%xmm11
+  DB  196,129,122,111,92,72,12            ; vmovdqu       0xc(%r8,%r9,2),%xmm3
+  DB  196,129,122,111,84,72,24            ; vmovdqu       0x18(%r8,%r9,2),%xmm2
+  DB  196,129,122,111,68,72,32            ; vmovdqu       0x20(%r8,%r9,2),%xmm0
+  DB  197,249,115,216,4                   ; vpsrldq       $0x4,%xmm0,%xmm0
+  DB  196,193,57,115,219,6                ; vpsrldq       $0x6,%xmm11,%xmm8
+  DB  197,169,115,219,6                   ; vpsrldq       $0x6,%xmm3,%xmm10
+  DB  197,241,115,218,6                   ; vpsrldq       $0x6,%xmm2,%xmm1
+  DB  197,177,115,216,6                   ; vpsrldq       $0x6,%xmm0,%xmm9
+  DB  196,65,113,97,201                   ; vpunpcklwd    %xmm9,%xmm1,%xmm9
+  DB  197,233,97,192                      ; vpunpcklwd    %xmm0,%xmm2,%xmm0
+  DB  196,193,57,97,210                   ; vpunpcklwd    %xmm10,%xmm8,%xmm2
+  DB  197,161,97,219                      ; vpunpcklwd    %xmm3,%xmm11,%xmm3
+  DB  197,225,97,202                      ; vpunpcklwd    %xmm2,%xmm3,%xmm1
+  DB  197,225,105,210                     ; vpunpckhwd    %xmm2,%xmm3,%xmm2
+  DB  196,193,121,97,217                  ; vpunpcklwd    %xmm9,%xmm0,%xmm3
+  DB  196,193,121,105,193                 ; vpunpckhwd    %xmm9,%xmm0,%xmm0
+  DB  197,105,108,216                     ; vpunpcklqdq   %xmm0,%xmm2,%xmm11
+  DB  197,241,108,211                     ; vpunpcklqdq   %xmm3,%xmm1,%xmm2
+  DB  197,241,109,203                     ; vpunpckhqdq   %xmm3,%xmm1,%xmm1
+  DB  197,121,111,53,215,161,2,0          ; vmovdqa       0x2a1d7(%rip),%xmm14        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  196,193,105,219,214                 ; vpand         %xmm14,%xmm2,%xmm2
+  DB  197,249,112,218,78                  ; vpshufd       $0x4e,%xmm2,%xmm3
+  DB  196,226,121,51,219                  ; vpmovzxwd     %xmm3,%xmm3
+  DB  196,193,249,126,216                 ; vmovq         %xmm3,%r8
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  76,139,80,8                         ; mov           0x8(%rax),%r10
+  DB  196,129,122,16,4,138                ; vmovss        (%r10,%r9,4),%xmm0
+  DB  196,195,249,22,217,1                ; vpextrq       $0x1,%xmm3,%r9
+  DB  196,226,121,51,210                  ; vpmovzxwd     %xmm2,%xmm2
+  DB  73,193,232,30                       ; shr           $0x1e,%r8
+  DB  196,3,121,33,4,2,16                 ; vinsertps     $0x10,(%r10,%r8,1),%xmm0,%xmm8
+  DB  69,137,200                          ; mov           %r9d,%r8d
+  DB  196,1,122,16,20,130                 ; vmovss        (%r10,%r8,4),%xmm10
+  DB  196,193,249,126,208                 ; vmovq         %xmm2,%r8
+  DB  73,193,233,30                       ; shr           $0x1e,%r9
+  DB  196,1,122,16,36,10                  ; vmovss        (%r10,%r9,1),%xmm12
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  196,129,122,16,4,138                ; vmovss        (%r10,%r9,4),%xmm0
+  DB  196,195,249,22,209,1                ; vpextrq       $0x1,%xmm2,%r9
+  DB  73,193,232,30                       ; shr           $0x1e,%r8
+  DB  196,131,121,33,4,2,16               ; vinsertps     $0x10,(%r10,%r8,1),%xmm0,%xmm0
+  DB  69,137,200                          ; mov           %r9d,%r8d
+  DB  73,193,233,30                       ; shr           $0x1e,%r9
+  DB  196,131,121,33,4,130,32             ; vinsertps     $0x20,(%r10,%r8,4),%xmm0,%xmm0
+  DB  76,139,64,16                        ; mov           0x10(%rax),%r8
+  DB  196,3,121,33,12,10,48               ; vinsertps     $0x30,(%r10,%r9,1),%xmm0,%xmm9
+  DB  196,193,113,219,198                 ; vpand         %xmm14,%xmm1,%xmm0
+  DB  197,249,112,200,78                  ; vpshufd       $0x4e,%xmm0,%xmm1
+  DB  196,226,121,51,201                  ; vpmovzxwd     %xmm1,%xmm1
+  DB  196,193,249,126,201                 ; vmovq         %xmm1,%r9
+  DB  69,137,202                          ; mov           %r9d,%r10d
+  DB  196,129,122,16,20,144               ; vmovss        (%r8,%r10,4),%xmm2
+  DB  196,195,249,22,202,1                ; vpextrq       $0x1,%xmm1,%r10
+  DB  196,226,121,51,192                  ; vpmovzxwd     %xmm0,%xmm0
+  DB  73,193,233,30                       ; shr           $0x1e,%r9
+  DB  196,3,105,33,60,8,16                ; vinsertps     $0x10,(%r8,%r9,1),%xmm2,%xmm15
+  DB  69,137,209                          ; mov           %r10d,%r9d
+  DB  196,129,122,16,20,136               ; vmovss        (%r8,%r9,4),%xmm2
+  DB  196,193,249,126,193                 ; vmovq         %xmm0,%r9
+  DB  73,193,234,30                       ; shr           $0x1e,%r10
+  DB  196,129,122,16,28,16                ; vmovss        (%r8,%r10,1),%xmm3
+  DB  69,137,202                          ; mov           %r9d,%r10d
+  DB  196,129,122,16,12,144               ; vmovss        (%r8,%r10,4),%xmm1
+  DB  196,195,249,22,194,1                ; vpextrq       $0x1,%xmm0,%r10
+  DB  73,193,233,30                       ; shr           $0x1e,%r9
+  DB  196,131,113,33,4,8,16               ; vinsertps     $0x10,(%r8,%r9,1),%xmm1,%xmm0
+  DB  69,137,209                          ; mov           %r10d,%r9d
+  DB  73,193,234,30                       ; shr           $0x1e,%r10
+  DB  196,131,121,33,4,136,32             ; vinsertps     $0x20,(%r8,%r9,4),%xmm0,%xmm0
+  DB  196,3,121,33,44,16,48               ; vinsertps     $0x30,(%r8,%r10,1),%xmm0,%xmm13
+  DB  76,139,80,24                        ; mov           0x18(%rax),%r10
+  DB  196,193,33,219,198                  ; vpand         %xmm14,%xmm11,%xmm0
+  DB  197,249,112,200,78                  ; vpshufd       $0x4e,%xmm0,%xmm1
+  DB  196,226,121,51,201                  ; vpmovzxwd     %xmm1,%xmm1
+  DB  196,195,249,22,200,1                ; vpextrq       $0x1,%xmm1,%r8
+  DB  196,193,249,126,201                 ; vmovq         %xmm1,%r9
+  DB  196,226,121,51,192                  ; vpmovzxwd     %xmm0,%xmm0
+  DB  68,137,200                          ; mov           %r9d,%eax
+  DB  196,193,122,16,12,130               ; vmovss        (%r10,%rax,4),%xmm1
+  DB  196,195,249,22,195,1                ; vpextrq       $0x1,%xmm0,%r11
+  DB  73,193,233,30                       ; shr           $0x1e,%r9
+  DB  196,3,113,33,28,10,16               ; vinsertps     $0x10,(%r10,%r9,1),%xmm1,%xmm11
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  196,65,122,16,52,130                ; vmovss        (%r10,%rax,4),%xmm14
+  DB  196,193,249,126,193                 ; vmovq         %xmm0,%r9
+  DB  73,193,232,30                       ; shr           $0x1e,%r8
+  DB  196,129,122,16,60,2                 ; vmovss        (%r10,%r8,1),%xmm7
+  DB  68,137,200                          ; mov           %r9d,%eax
+  DB  196,193,122,16,4,130                ; vmovss        (%r10,%rax,4),%xmm0
+  DB  73,193,233,30                       ; shr           $0x1e,%r9
+  DB  196,131,121,33,4,10,16              ; vinsertps     $0x10,(%r10,%r9,1),%xmm0,%xmm0
+  DB  68,137,216                          ; mov           %r11d,%eax
+  DB  196,195,121,33,4,130,32             ; vinsertps     $0x20,(%r10,%rax,4),%xmm0,%xmm0
+  DB  73,193,235,30                       ; shr           $0x1e,%r11
+  DB  196,131,121,33,52,26,48             ; vinsertps     $0x30,(%r10,%r11,1),%xmm0,%xmm6
+  DB  196,195,57,33,194,32                ; vinsertps     $0x20,%xmm10,%xmm8,%xmm0
+  DB  196,195,121,33,196,48               ; vinsertps     $0x30,%xmm12,%xmm0,%xmm0
+  DB  196,227,53,24,192,1                 ; vinsertf128   $0x1,%xmm0,%ymm9,%ymm0
+  DB  196,227,1,33,202,32                 ; vinsertps     $0x20,%xmm2,%xmm15,%xmm1
+  DB  196,227,113,33,203,48               ; vinsertps     $0x30,%xmm3,%xmm1,%xmm1
+  DB  196,227,21,24,201,1                 ; vinsertf128   $0x1,%xmm1,%ymm13,%ymm1
+  DB  196,195,33,33,214,32                ; vinsertps     $0x20,%xmm14,%xmm11,%xmm2
+  DB  196,227,105,33,215,48               ; vinsertps     $0x30,%xmm7,%xmm2,%xmm2
+  DB  196,227,77,24,210,1                 ; vinsertf128   $0x1,%xmm2,%ymm6,%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,29,148,150,2,0       ; vbroadcastss  0x29694(%rip),%ymm3        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,252,16,52,36                    ; vmovups       (%rsp),%ymm6
+  DB  197,252,16,124,36,32                ; vmovups       0x20(%rsp),%ymm7
+  DB  72,131,196,88                       ; add           $0x58,%rsp
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,129,121,110,4,72                ; vmovd         (%r8,%r9,2),%xmm0
+  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
+  DB  196,1,121,196,92,72,4,2             ; vpinsrw       $0x2,0x4(%r8,%r9,2),%xmm0,%xmm11
+  DB  72,131,255,1                        ; cmp           $0x1,%rdi
+  DB  117,31                              ; jne           b47d <_sk_load_tables_rgb_u16_be_avx+0x292>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  197,241,239,201                     ; vpxor         %xmm1,%xmm1,%xmm1
+  DB  197,233,239,210                     ; vpxor         %xmm2,%xmm2,%xmm2
+  DB  196,65,41,239,210                   ; vpxor         %xmm10,%xmm10,%xmm10
+  DB  197,225,239,219                     ; vpxor         %xmm3,%xmm3,%xmm3
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  233,196,253,255,255                 ; jmpq          b241 <_sk_load_tables_rgb_u16_be_avx+0x56>
+  DB  196,129,121,110,68,72,6             ; vmovd         0x6(%r8,%r9,2),%xmm0
+  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
+  DB  196,1,121,196,68,72,10,2            ; vpinsrw       $0x2,0xa(%r8,%r9,2),%xmm0,%xmm8
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  114,48                              ; jb            b4c7 <_sk_load_tables_rgb_u16_be_avx+0x2dc>
+  DB  196,129,121,110,68,72,12            ; vmovd         0xc(%r8,%r9,2),%xmm0
+  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
+  DB  196,129,121,196,92,72,16,2          ; vpinsrw       $0x2,0x10(%r8,%r9,2),%xmm0,%xmm3
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  117,48                              ; jne           b4e1 <_sk_load_tables_rgb_u16_be_avx+0x2f6>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  197,241,239,201                     ; vpxor         %xmm1,%xmm1,%xmm1
+  DB  197,233,239,210                     ; vpxor         %xmm2,%xmm2,%xmm2
+  DB  196,65,41,239,210                   ; vpxor         %xmm10,%xmm10,%xmm10
+  DB  233,122,253,255,255                 ; jmpq          b241 <_sk_load_tables_rgb_u16_be_avx+0x56>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  197,241,239,201                     ; vpxor         %xmm1,%xmm1,%xmm1
+  DB  197,233,239,210                     ; vpxor         %xmm2,%xmm2,%xmm2
+  DB  196,65,41,239,210                   ; vpxor         %xmm10,%xmm10,%xmm10
+  DB  197,225,239,219                     ; vpxor         %xmm3,%xmm3,%xmm3
+  DB  233,96,253,255,255                  ; jmpq          b241 <_sk_load_tables_rgb_u16_be_avx+0x56>
+  DB  196,129,121,110,68,72,18            ; vmovd         0x12(%r8,%r9,2),%xmm0
+  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
+  DB  196,1,121,196,84,72,22,2            ; vpinsrw       $0x2,0x16(%r8,%r9,2),%xmm0,%xmm10
+  DB  72,131,255,5                        ; cmp           $0x5,%rdi
+  DB  114,39                              ; jb            b522 <_sk_load_tables_rgb_u16_be_avx+0x337>
+  DB  196,129,121,110,68,72,24            ; vmovd         0x18(%r8,%r9,2),%xmm0
+  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
+  DB  196,129,121,196,84,72,28,2          ; vpinsrw       $0x2,0x1c(%r8,%r9,2),%xmm0,%xmm2
+  DB  72,131,255,5                        ; cmp           $0x5,%rdi
+  DB  117,30                              ; jne           b533 <_sk_load_tables_rgb_u16_be_avx+0x348>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  197,241,239,201                     ; vpxor         %xmm1,%xmm1,%xmm1
+  DB  233,31,253,255,255                  ; jmpq          b241 <_sk_load_tables_rgb_u16_be_avx+0x56>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  197,241,239,201                     ; vpxor         %xmm1,%xmm1,%xmm1
+  DB  197,233,239,210                     ; vpxor         %xmm2,%xmm2,%xmm2
+  DB  233,14,253,255,255                  ; jmpq          b241 <_sk_load_tables_rgb_u16_be_avx+0x56>
+  DB  196,129,121,110,68,72,30            ; vmovd         0x1e(%r8,%r9,2),%xmm0
+  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
+  DB  196,129,121,196,76,72,34,2          ; vpinsrw       $0x2,0x22(%r8,%r9,2),%xmm0,%xmm1
+  DB  72,131,255,7                        ; cmp           $0x7,%rdi
+  DB  114,25                              ; jb            b566 <_sk_load_tables_rgb_u16_be_avx+0x37b>
+  DB  196,129,121,110,68,72,36            ; vmovd         0x24(%r8,%r9,2),%xmm0
+  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
+  DB  196,129,121,196,68,72,40,2          ; vpinsrw       $0x2,0x28(%r8,%r9,2),%xmm0,%xmm0
+  DB  233,219,252,255,255                 ; jmpq          b241 <_sk_load_tables_rgb_u16_be_avx+0x56>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  233,210,252,255,255                 ; jmpq          b241 <_sk_load_tables_rgb_u16_be_avx+0x56>
+
+PUBLIC _sk_byte_tables_avx
+_sk_byte_tables_avx LABEL PROC
+  DB  72,131,236,56                       ; sub           $0x38,%rsp
+  DB  197,252,17,60,36                    ; vmovups       %ymm7,(%rsp)
+  DB  197,252,40,254                      ; vmovaps       %ymm6,%ymm7
+  DB  197,252,40,245                      ; vmovaps       %ymm5,%ymm6
+  DB  197,252,40,236                      ; vmovaps       %ymm4,%ymm5
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,65,52,87,201                    ; vxorps        %ymm9,%ymm9,%ymm9
+  DB  197,180,95,192                      ; vmaxps        %ymm0,%ymm9,%ymm0
+  DB  196,98,125,24,5,48,149,2,0          ; vbroadcastss  0x29530(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,193,124,93,192                  ; vminps        %ymm8,%ymm0,%ymm0
+  DB  196,98,125,24,21,78,149,2,0         ; vbroadcastss  0x2954e(%rip),%ymm10        # 34af4 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  DB  196,193,124,89,194                  ; vmulps        %ymm10,%ymm0,%ymm0
+  DB  197,125,91,216                      ; vcvtps2dq     %ymm0,%ymm11
+  DB  196,65,249,126,216                  ; vmovq         %xmm11,%r8
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  76,139,16                           ; mov           (%rax),%r10
+  DB  71,15,182,12,10                     ; movzbl        (%r10,%r9,1),%r9d
+  DB  196,193,121,110,193                 ; vmovd         %r9d,%xmm0
+  DB  196,67,249,22,217,1                 ; vpextrq       $0x1,%xmm11,%r9
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  71,15,182,4,2                       ; movzbl        (%r10,%r8,1),%r8d
+  DB  196,67,121,32,224,1                 ; vpinsrb       $0x1,%r8d,%xmm0,%xmm12
+  DB  69,137,200                          ; mov           %r9d,%r8d
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  196,99,125,25,216,1                 ; vextractf128  $0x1,%ymm11,%xmm0
+  DB  71,15,182,4,2                       ; movzbl        (%r10,%r8,1),%r8d
+  DB  196,67,25,32,216,2                  ; vpinsrb       $0x2,%r8d,%xmm12,%xmm11
+  DB  196,193,249,126,192                 ; vmovq         %xmm0,%r8
+  DB  71,15,182,12,10                     ; movzbl        (%r10,%r9,1),%r9d
+  DB  196,67,33,32,217,3                  ; vpinsrb       $0x3,%r9d,%xmm11,%xmm11
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  71,15,182,12,10                     ; movzbl        (%r10,%r9,1),%r9d
+  DB  196,65,121,110,225                  ; vmovd         %r9d,%xmm12
+  DB  196,195,249,22,193,1                ; vpextrq       $0x1,%xmm0,%r9
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  71,15,182,4,2                       ; movzbl        (%r10,%r8,1),%r8d
+  DB  196,195,25,32,192,1                 ; vpinsrb       $0x1,%r8d,%xmm12,%xmm0
+  DB  69,137,200                          ; mov           %r9d,%r8d
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  71,15,182,4,2                       ; movzbl        (%r10,%r8,1),%r8d
+  DB  196,195,121,32,192,2                ; vpinsrb       $0x2,%r8d,%xmm0,%xmm0
+  DB  76,139,64,8                         ; mov           0x8(%rax),%r8
+  DB  71,15,182,12,10                     ; movzbl        (%r10,%r9,1),%r9d
+  DB  196,67,121,32,233,3                 ; vpinsrb       $0x3,%r9d,%xmm0,%xmm13
+  DB  197,180,95,201                      ; vmaxps        %ymm1,%ymm9,%ymm1
+  DB  196,193,116,93,200                  ; vminps        %ymm8,%ymm1,%ymm1
+  DB  196,193,116,89,202                  ; vmulps        %ymm10,%ymm1,%ymm1
+  DB  197,253,91,201                      ; vcvtps2dq     %ymm1,%ymm1
+  DB  196,193,249,126,201                 ; vmovq         %xmm1,%r9
+  DB  69,137,202                          ; mov           %r9d,%r10d
+  DB  71,15,182,20,16                     ; movzbl        (%r8,%r10,1),%r10d
+  DB  196,193,121,110,194                 ; vmovd         %r10d,%xmm0
+  DB  196,195,249,22,202,1                ; vpextrq       $0x1,%xmm1,%r10
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  71,15,182,12,8                      ; movzbl        (%r8,%r9,1),%r9d
+  DB  196,195,121,32,193,1                ; vpinsrb       $0x1,%r9d,%xmm0,%xmm0
+  DB  69,137,209                          ; mov           %r10d,%r9d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,227,125,25,201,1                ; vextractf128  $0x1,%ymm1,%xmm1
+  DB  71,15,182,12,8                      ; movzbl        (%r8,%r9,1),%r9d
+  DB  196,195,121,32,193,2                ; vpinsrb       $0x2,%r9d,%xmm0,%xmm0
+  DB  196,193,249,126,201                 ; vmovq         %xmm1,%r9
+  DB  71,15,182,20,16                     ; movzbl        (%r8,%r10,1),%r10d
+  DB  196,67,121,32,226,3                 ; vpinsrb       $0x3,%r10d,%xmm0,%xmm12
+  DB  69,137,202                          ; mov           %r9d,%r10d
+  DB  71,15,182,20,16                     ; movzbl        (%r8,%r10,1),%r10d
+  DB  196,193,121,110,194                 ; vmovd         %r10d,%xmm0
+  DB  196,195,249,22,202,1                ; vpextrq       $0x1,%xmm1,%r10
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  71,15,182,12,8                      ; movzbl        (%r8,%r9,1),%r9d
+  DB  196,195,121,32,193,1                ; vpinsrb       $0x1,%r9d,%xmm0,%xmm0
+  DB  69,137,209                          ; mov           %r10d,%r9d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  71,15,182,12,8                      ; movzbl        (%r8,%r9,1),%r9d
+  DB  196,195,121,32,193,2                ; vpinsrb       $0x2,%r9d,%xmm0,%xmm0
+  DB  71,15,182,4,16                      ; movzbl        (%r8,%r10,1),%r8d
+  DB  196,67,121,32,240,3                 ; vpinsrb       $0x3,%r8d,%xmm0,%xmm14
+  DB  76,139,64,16                        ; mov           0x10(%rax),%r8
+  DB  197,180,95,194                      ; vmaxps        %ymm2,%ymm9,%ymm0
+  DB  196,193,124,93,192                  ; vminps        %ymm8,%ymm0,%ymm0
+  DB  196,193,124,89,194                  ; vmulps        %ymm10,%ymm0,%ymm0
+  DB  197,253,91,208                      ; vcvtps2dq     %ymm0,%ymm2
+  DB  196,193,249,126,209                 ; vmovq         %xmm2,%r9
+  DB  69,137,202                          ; mov           %r9d,%r10d
+  DB  71,15,182,20,16                     ; movzbl        (%r8,%r10,1),%r10d
+  DB  196,193,121,110,194                 ; vmovd         %r10d,%xmm0
+  DB  196,195,249,22,210,1                ; vpextrq       $0x1,%xmm2,%r10
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  71,15,182,12,8                      ; movzbl        (%r8,%r9,1),%r9d
+  DB  196,195,121,32,193,1                ; vpinsrb       $0x1,%r9d,%xmm0,%xmm0
+  DB  69,137,209                          ; mov           %r10d,%r9d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,227,125,25,209,1                ; vextractf128  $0x1,%ymm2,%xmm1
+  DB  71,15,182,12,8                      ; movzbl        (%r8,%r9,1),%r9d
+  DB  196,195,121,32,193,2                ; vpinsrb       $0x2,%r9d,%xmm0,%xmm0
+  DB  196,193,249,126,201                 ; vmovq         %xmm1,%r9
+  DB  71,15,182,20,16                     ; movzbl        (%r8,%r10,1),%r10d
+  DB  196,67,121,32,250,3                 ; vpinsrb       $0x3,%r10d,%xmm0,%xmm15
+  DB  69,137,202                          ; mov           %r9d,%r10d
+  DB  71,15,182,20,16                     ; movzbl        (%r8,%r10,1),%r10d
+  DB  196,193,121,110,194                 ; vmovd         %r10d,%xmm0
+  DB  196,195,249,22,202,1                ; vpextrq       $0x1,%xmm1,%r10
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  71,15,182,12,8                      ; movzbl        (%r8,%r9,1),%r9d
+  DB  196,195,121,32,193,1                ; vpinsrb       $0x1,%r9d,%xmm0,%xmm0
+  DB  69,137,209                          ; mov           %r10d,%r9d
+  DB  71,15,182,12,8                      ; movzbl        (%r8,%r9,1),%r9d
+  DB  196,195,121,32,193,2                ; vpinsrb       $0x2,%r9d,%xmm0,%xmm0
+  DB  197,180,95,203                      ; vmaxps        %ymm3,%ymm9,%ymm1
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  71,15,182,4,16                      ; movzbl        (%r8,%r10,1),%r8d
+  DB  196,195,121,32,224,3                ; vpinsrb       $0x3,%r8d,%xmm0,%xmm4
+  DB  76,139,72,24                        ; mov           0x18(%rax),%r9
+  DB  196,193,116,93,192                  ; vminps        %ymm8,%ymm1,%ymm0
+  DB  196,193,124,89,194                  ; vmulps        %ymm10,%ymm0,%ymm0
+  DB  197,253,91,192                      ; vcvtps2dq     %ymm0,%ymm0
+  DB  196,193,249,126,192                 ; vmovq         %xmm0,%r8
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  65,15,182,4,1                       ; movzbl        (%r9,%rax,1),%eax
+  DB  197,249,110,200                     ; vmovd         %eax,%xmm1
+  DB  196,195,249,22,194,1                ; vpextrq       $0x1,%xmm0,%r10
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  67,15,182,4,1                       ; movzbl        (%r9,%r8,1),%eax
+  DB  196,227,113,32,200,1                ; vpinsrb       $0x1,%eax,%xmm1,%xmm1
+  DB  68,137,208                          ; mov           %r10d,%eax
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,227,125,25,192,1                ; vextractf128  $0x1,%ymm0,%xmm0
+  DB  65,15,182,4,1                       ; movzbl        (%r9,%rax,1),%eax
+  DB  196,227,113,32,200,2                ; vpinsrb       $0x2,%eax,%xmm1,%xmm1
+  DB  196,193,249,126,192                 ; vmovq         %xmm0,%r8
+  DB  67,15,182,4,17                      ; movzbl        (%r9,%r10,1),%eax
+  DB  196,99,113,32,192,3                 ; vpinsrb       $0x3,%eax,%xmm1,%xmm8
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  65,15,182,4,1                       ; movzbl        (%r9,%rax,1),%eax
+  DB  197,249,110,200                     ; vmovd         %eax,%xmm1
+  DB  196,195,249,22,194,1                ; vpextrq       $0x1,%xmm0,%r10
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  67,15,182,4,1                       ; movzbl        (%r9,%r8,1),%eax
+  DB  196,227,113,32,192,1                ; vpinsrb       $0x1,%eax,%xmm1,%xmm0
+  DB  68,137,208                          ; mov           %r10d,%eax
+  DB  65,15,182,4,1                       ; movzbl        (%r9,%rax,1),%eax
+  DB  196,227,121,32,216,2                ; vpinsrb       $0x2,%eax,%xmm0,%xmm3
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  67,15,182,4,17                      ; movzbl        (%r9,%r10,1),%eax
+  DB  196,194,121,49,195                  ; vpmovzxbd     %xmm11,%xmm0
+  DB  196,194,121,49,205                  ; vpmovzxbd     %xmm13,%xmm1
+  DB  196,227,125,24,193,1                ; vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  196,98,125,24,13,255,146,2,0        ; vbroadcastss  0x292ff(%rip),%ymm9        # 34b40 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  DB  196,193,124,89,193                  ; vmulps        %ymm9,%ymm0,%ymm0
+  DB  196,194,121,49,204                  ; vpmovzxbd     %xmm12,%xmm1
+  DB  196,194,121,49,214                  ; vpmovzxbd     %xmm14,%xmm2
+  DB  196,227,117,24,202,1                ; vinsertf128   $0x1,%xmm2,%ymm1,%ymm1
+  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
+  DB  196,193,116,89,201                  ; vmulps        %ymm9,%ymm1,%ymm1
+  DB  196,194,121,49,215                  ; vpmovzxbd     %xmm15,%xmm2
+  DB  196,226,121,49,228                  ; vpmovzxbd     %xmm4,%xmm4
+  DB  196,227,109,24,212,1                ; vinsertf128   $0x1,%xmm4,%ymm2,%ymm2
+  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
+  DB  196,193,108,89,209                  ; vmulps        %ymm9,%ymm2,%ymm2
+  DB  196,194,121,49,224                  ; vpmovzxbd     %xmm8,%xmm4
+  DB  196,227,97,32,216,3                 ; vpinsrb       $0x3,%eax,%xmm3,%xmm3
+  DB  196,226,121,49,219                  ; vpmovzxbd     %xmm3,%xmm3
+  DB  196,227,93,24,219,1                 ; vinsertf128   $0x1,%xmm3,%ymm4,%ymm3
+  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
+  DB  196,193,100,89,217                  ; vmulps        %ymm9,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,40,229                      ; vmovaps       %ymm5,%ymm4
+  DB  197,252,40,238                      ; vmovaps       %ymm6,%ymm5
+  DB  197,252,40,247                      ; vmovaps       %ymm7,%ymm6
+  DB  197,252,16,60,36                    ; vmovups       (%rsp),%ymm7
+  DB  72,131,196,56                       ; add           $0x38,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_byte_tables_rgb_avx
+_sk_byte_tables_rgb_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  68,139,64,24                        ; mov           0x18(%rax),%r8d
+  DB  65,255,200                          ; dec           %r8d
+  DB  196,65,121,110,192                  ; vmovd         %r8d,%xmm8
+  DB  196,65,121,112,192,0                ; vpshufd       $0x0,%xmm8,%xmm8
+  DB  196,67,61,24,192,1                  ; vinsertf128   $0x1,%xmm8,%ymm8,%ymm8
+  DB  196,65,124,91,192                   ; vcvtdq2ps     %ymm8,%ymm8
+  DB  196,65,52,87,201                    ; vxorps        %ymm9,%ymm9,%ymm9
+  DB  197,180,95,192                      ; vmaxps        %ymm0,%ymm9,%ymm0
+  DB  196,98,125,24,21,231,145,2,0        ; vbroadcastss  0x291e7(%rip),%ymm10        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,193,124,93,194                  ; vminps        %ymm10,%ymm0,%ymm0
+  DB  196,193,124,89,192                  ; vmulps        %ymm8,%ymm0,%ymm0
+  DB  197,125,91,216                      ; vcvtps2dq     %ymm0,%ymm11
+  DB  196,65,249,126,216                  ; vmovq         %xmm11,%r8
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  76,139,16                           ; mov           (%rax),%r10
+  DB  71,15,182,12,10                     ; movzbl        (%r10,%r9,1),%r9d
+  DB  196,193,121,110,193                 ; vmovd         %r9d,%xmm0
+  DB  196,67,249,22,217,1                 ; vpextrq       $0x1,%xmm11,%r9
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  71,15,182,4,2                       ; movzbl        (%r10,%r8,1),%r8d
+  DB  196,67,121,32,224,1                 ; vpinsrb       $0x1,%r8d,%xmm0,%xmm12
+  DB  69,137,200                          ; mov           %r9d,%r8d
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  196,99,125,25,216,1                 ; vextractf128  $0x1,%ymm11,%xmm0
+  DB  71,15,182,4,2                       ; movzbl        (%r10,%r8,1),%r8d
+  DB  196,67,25,32,216,2                  ; vpinsrb       $0x2,%r8d,%xmm12,%xmm11
+  DB  196,193,249,126,192                 ; vmovq         %xmm0,%r8
+  DB  71,15,182,12,10                     ; movzbl        (%r10,%r9,1),%r9d
+  DB  196,67,33,32,217,3                  ; vpinsrb       $0x3,%r9d,%xmm11,%xmm11
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  71,15,182,12,10                     ; movzbl        (%r10,%r9,1),%r9d
+  DB  196,65,121,110,225                  ; vmovd         %r9d,%xmm12
+  DB  196,195,249,22,193,1                ; vpextrq       $0x1,%xmm0,%r9
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  71,15,182,4,2                       ; movzbl        (%r10,%r8,1),%r8d
+  DB  196,195,25,32,192,1                 ; vpinsrb       $0x1,%r8d,%xmm12,%xmm0
+  DB  69,137,200                          ; mov           %r9d,%r8d
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  71,15,182,4,2                       ; movzbl        (%r10,%r8,1),%r8d
+  DB  196,195,121,32,192,2                ; vpinsrb       $0x2,%r8d,%xmm0,%xmm0
+  DB  76,139,64,8                         ; mov           0x8(%rax),%r8
+  DB  71,15,182,12,10                     ; movzbl        (%r10,%r9,1),%r9d
+  DB  196,67,121,32,233,3                 ; vpinsrb       $0x3,%r9d,%xmm0,%xmm13
+  DB  197,180,95,201                      ; vmaxps        %ymm1,%ymm9,%ymm1
+  DB  196,193,116,93,202                  ; vminps        %ymm10,%ymm1,%ymm1
+  DB  197,188,89,201                      ; vmulps        %ymm1,%ymm8,%ymm1
+  DB  197,253,91,201                      ; vcvtps2dq     %ymm1,%ymm1
+  DB  196,193,249,126,201                 ; vmovq         %xmm1,%r9
+  DB  69,137,202                          ; mov           %r9d,%r10d
+  DB  71,15,182,20,16                     ; movzbl        (%r8,%r10,1),%r10d
+  DB  196,193,121,110,194                 ; vmovd         %r10d,%xmm0
+  DB  196,195,249,22,202,1                ; vpextrq       $0x1,%xmm1,%r10
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  71,15,182,12,8                      ; movzbl        (%r8,%r9,1),%r9d
+  DB  196,195,121,32,193,1                ; vpinsrb       $0x1,%r9d,%xmm0,%xmm0
+  DB  69,137,209                          ; mov           %r10d,%r9d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,227,125,25,201,1                ; vextractf128  $0x1,%ymm1,%xmm1
+  DB  71,15,182,12,8                      ; movzbl        (%r8,%r9,1),%r9d
+  DB  196,195,121,32,193,2                ; vpinsrb       $0x2,%r9d,%xmm0,%xmm0
+  DB  196,193,249,126,201                 ; vmovq         %xmm1,%r9
+  DB  71,15,182,20,16                     ; movzbl        (%r8,%r10,1),%r10d
+  DB  196,67,121,32,226,3                 ; vpinsrb       $0x3,%r10d,%xmm0,%xmm12
+  DB  69,137,202                          ; mov           %r9d,%r10d
+  DB  71,15,182,20,16                     ; movzbl        (%r8,%r10,1),%r10d
+  DB  196,193,121,110,194                 ; vmovd         %r10d,%xmm0
+  DB  196,195,249,22,202,1                ; vpextrq       $0x1,%xmm1,%r10
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  71,15,182,12,8                      ; movzbl        (%r8,%r9,1),%r9d
+  DB  196,195,121,32,193,1                ; vpinsrb       $0x1,%r9d,%xmm0,%xmm0
+  DB  69,137,209                          ; mov           %r10d,%r9d
+  DB  71,15,182,12,8                      ; movzbl        (%r8,%r9,1),%r9d
+  DB  196,195,121,32,193,2                ; vpinsrb       $0x2,%r9d,%xmm0,%xmm0
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  71,15,182,4,16                      ; movzbl        (%r8,%r10,1),%r8d
+  DB  196,67,121,32,240,3                 ; vpinsrb       $0x3,%r8d,%xmm0,%xmm14
+  DB  76,139,72,16                        ; mov           0x10(%rax),%r9
+  DB  197,180,95,194                      ; vmaxps        %ymm2,%ymm9,%ymm0
+  DB  196,193,124,93,194                  ; vminps        %ymm10,%ymm0,%ymm0
+  DB  197,188,89,192                      ; vmulps        %ymm0,%ymm8,%ymm0
+  DB  197,253,91,208                      ; vcvtps2dq     %ymm0,%ymm2
+  DB  196,193,249,126,208                 ; vmovq         %xmm2,%r8
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  65,15,182,4,1                       ; movzbl        (%r9,%rax,1),%eax
+  DB  197,249,110,192                     ; vmovd         %eax,%xmm0
+  DB  196,195,249,22,210,1                ; vpextrq       $0x1,%xmm2,%r10
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  67,15,182,4,1                       ; movzbl        (%r9,%r8,1),%eax
+  DB  196,227,121,32,192,1                ; vpinsrb       $0x1,%eax,%xmm0,%xmm0
+  DB  68,137,208                          ; mov           %r10d,%eax
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,227,125,25,210,1                ; vextractf128  $0x1,%ymm2,%xmm2
+  DB  65,15,182,4,1                       ; movzbl        (%r9,%rax,1),%eax
+  DB  196,227,121,32,192,2                ; vpinsrb       $0x2,%eax,%xmm0,%xmm0
+  DB  196,193,249,126,208                 ; vmovq         %xmm2,%r8
+  DB  67,15,182,4,17                      ; movzbl        (%r9,%r10,1),%eax
+  DB  196,99,121,32,192,3                 ; vpinsrb       $0x3,%eax,%xmm0,%xmm8
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  65,15,182,4,1                       ; movzbl        (%r9,%rax,1),%eax
+  DB  197,249,110,192                     ; vmovd         %eax,%xmm0
+  DB  196,195,249,22,210,1                ; vpextrq       $0x1,%xmm2,%r10
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  67,15,182,4,1                       ; movzbl        (%r9,%r8,1),%eax
+  DB  196,227,121,32,192,1                ; vpinsrb       $0x1,%eax,%xmm0,%xmm0
+  DB  68,137,208                          ; mov           %r10d,%eax
+  DB  65,15,182,4,1                       ; movzbl        (%r9,%rax,1),%eax
+  DB  196,99,121,32,208,2                 ; vpinsrb       $0x2,%eax,%xmm0,%xmm10
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  67,15,182,4,17                      ; movzbl        (%r9,%r10,1),%eax
+  DB  196,194,121,49,195                  ; vpmovzxbd     %xmm11,%xmm0
+  DB  196,194,121,49,205                  ; vpmovzxbd     %xmm13,%xmm1
+  DB  196,227,125,24,193,1                ; vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  196,98,125,24,13,101,144,2,0        ; vbroadcastss  0x29065(%rip),%ymm9        # 34b40 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  DB  196,193,124,89,193                  ; vmulps        %ymm9,%ymm0,%ymm0
+  DB  196,194,121,49,204                  ; vpmovzxbd     %xmm12,%xmm1
+  DB  196,194,121,49,214                  ; vpmovzxbd     %xmm14,%xmm2
+  DB  196,227,117,24,202,1                ; vinsertf128   $0x1,%xmm2,%ymm1,%ymm1
+  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
+  DB  196,193,116,89,201                  ; vmulps        %ymm9,%ymm1,%ymm1
+  DB  196,66,121,49,192                   ; vpmovzxbd     %xmm8,%xmm8
+  DB  196,227,41,32,208,3                 ; vpinsrb       $0x3,%eax,%xmm10,%xmm2
+  DB  196,226,121,49,210                  ; vpmovzxbd     %xmm2,%xmm2
+  DB  196,227,61,24,210,1                 ; vinsertf128   $0x1,%xmm2,%ymm8,%ymm2
+  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
+  DB  196,193,108,89,209                  ; vmulps        %ymm9,%ymm2,%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_table_r_avx
+_sk_table_r_avx LABEL PROC
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,84                               ; push          %r12
+  DB  83                                  ; push          %rbx
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  139,64,8                            ; mov           0x8(%rax),%eax
+  DB  255,200                             ; dec           %eax
+  DB  197,121,110,192                     ; vmovd         %eax,%xmm8
+  DB  196,65,121,112,192,0                ; vpshufd       $0x0,%xmm8,%xmm8
+  DB  196,67,61,24,192,1                  ; vinsertf128   $0x1,%xmm8,%ymm8,%ymm8
+  DB  196,65,124,91,192                   ; vcvtdq2ps     %ymm8,%ymm8
+  DB  196,65,52,87,201                    ; vxorps        %ymm9,%ymm9,%ymm9
+  DB  197,180,95,192                      ; vmaxps        %ymm0,%ymm9,%ymm0
+  DB  196,98,125,24,13,116,143,2,0        ; vbroadcastss  0x28f74(%rip),%ymm9        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,193,124,93,193                  ; vminps        %ymm9,%ymm0,%ymm0
+  DB  196,193,124,89,192                  ; vmulps        %ymm8,%ymm0,%ymm0
+  DB  197,253,91,192                      ; vcvtps2dq     %ymm0,%ymm0
+  DB  196,227,249,22,192,1                ; vpextrq       $0x1,%xmm0,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  196,193,249,126,194                 ; vmovq         %xmm0,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,227,125,25,192,1                ; vextractf128  $0x1,%ymm0,%xmm0
+  DB  196,227,249,22,195,1                ; vpextrq       $0x1,%xmm0,%rbx
+  DB  65,137,222                          ; mov           %ebx,%r14d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  196,193,249,126,199                 ; vmovq         %xmm0,%r15
+  DB  69,137,252                          ; mov           %r15d,%r12d
+  DB  73,193,239,32                       ; shr           $0x20,%r15
+  DB  196,129,122,16,4,160                ; vmovss        (%r8,%r12,4),%xmm0
+  DB  196,3,121,33,4,184,16               ; vinsertps     $0x10,(%r8,%r15,4),%xmm0,%xmm8
+  DB  196,129,122,16,4,176                ; vmovss        (%r8,%r14,4),%xmm0
+  DB  196,99,57,33,192,32                 ; vinsertps     $0x20,%xmm0,%xmm8,%xmm8
+  DB  196,193,122,16,4,152                ; vmovss        (%r8,%rbx,4),%xmm0
+  DB  196,99,57,33,192,48                 ; vinsertps     $0x30,%xmm0,%xmm8,%xmm8
+  DB  196,129,122,16,4,152                ; vmovss        (%r8,%r11,4),%xmm0
+  DB  196,3,121,33,12,144,16              ; vinsertps     $0x10,(%r8,%r10,4),%xmm0,%xmm9
+  DB  196,129,122,16,4,136                ; vmovss        (%r8,%r9,4),%xmm0
+  DB  196,99,49,33,200,32                 ; vinsertps     $0x20,%xmm0,%xmm9,%xmm9
+  DB  196,193,122,16,4,128                ; vmovss        (%r8,%rax,4),%xmm0
+  DB  196,227,49,33,192,48                ; vinsertps     $0x30,%xmm0,%xmm9,%xmm0
+  DB  196,195,125,24,192,1                ; vinsertf128   $0x1,%xmm8,%ymm0,%ymm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  91                                  ; pop           %rbx
+  DB  65,92                               ; pop           %r12
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_table_g_avx
+_sk_table_g_avx LABEL PROC
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,84                               ; push          %r12
+  DB  83                                  ; push          %rbx
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  139,64,8                            ; mov           0x8(%rax),%eax
+  DB  255,200                             ; dec           %eax
+  DB  197,121,110,192                     ; vmovd         %eax,%xmm8
+  DB  196,65,121,112,192,0                ; vpshufd       $0x0,%xmm8,%xmm8
+  DB  196,67,61,24,192,1                  ; vinsertf128   $0x1,%xmm8,%ymm8,%ymm8
+  DB  196,65,124,91,192                   ; vcvtdq2ps     %ymm8,%ymm8
+  DB  196,65,52,87,201                    ; vxorps        %ymm9,%ymm9,%ymm9
+  DB  197,180,95,201                      ; vmaxps        %ymm1,%ymm9,%ymm1
+  DB  196,98,125,24,13,155,142,2,0        ; vbroadcastss  0x28e9b(%rip),%ymm9        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,193,116,93,201                  ; vminps        %ymm9,%ymm1,%ymm1
+  DB  196,193,116,89,200                  ; vmulps        %ymm8,%ymm1,%ymm1
+  DB  197,253,91,201                      ; vcvtps2dq     %ymm1,%ymm1
+  DB  196,227,249,22,200,1                ; vpextrq       $0x1,%xmm1,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  196,193,249,126,202                 ; vmovq         %xmm1,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,227,125,25,201,1                ; vextractf128  $0x1,%ymm1,%xmm1
+  DB  196,227,249,22,203,1                ; vpextrq       $0x1,%xmm1,%rbx
+  DB  65,137,222                          ; mov           %ebx,%r14d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  196,193,249,126,207                 ; vmovq         %xmm1,%r15
+  DB  69,137,252                          ; mov           %r15d,%r12d
+  DB  73,193,239,32                       ; shr           $0x20,%r15
+  DB  196,129,122,16,12,160               ; vmovss        (%r8,%r12,4),%xmm1
+  DB  196,3,113,33,4,184,16               ; vinsertps     $0x10,(%r8,%r15,4),%xmm1,%xmm8
+  DB  196,129,122,16,12,176               ; vmovss        (%r8,%r14,4),%xmm1
+  DB  196,99,57,33,193,32                 ; vinsertps     $0x20,%xmm1,%xmm8,%xmm8
+  DB  196,193,122,16,12,152               ; vmovss        (%r8,%rbx,4),%xmm1
+  DB  196,99,57,33,193,48                 ; vinsertps     $0x30,%xmm1,%xmm8,%xmm8
+  DB  196,129,122,16,12,152               ; vmovss        (%r8,%r11,4),%xmm1
+  DB  196,3,113,33,12,144,16              ; vinsertps     $0x10,(%r8,%r10,4),%xmm1,%xmm9
+  DB  196,129,122,16,12,136               ; vmovss        (%r8,%r9,4),%xmm1
+  DB  196,99,49,33,201,32                 ; vinsertps     $0x20,%xmm1,%xmm9,%xmm9
+  DB  196,193,122,16,12,128               ; vmovss        (%r8,%rax,4),%xmm1
+  DB  196,227,49,33,201,48                ; vinsertps     $0x30,%xmm1,%xmm9,%xmm1
+  DB  196,195,117,24,200,1                ; vinsertf128   $0x1,%xmm8,%ymm1,%ymm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  91                                  ; pop           %rbx
+  DB  65,92                               ; pop           %r12
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_table_b_avx
+_sk_table_b_avx LABEL PROC
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,84                               ; push          %r12
+  DB  83                                  ; push          %rbx
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  139,64,8                            ; mov           0x8(%rax),%eax
+  DB  255,200                             ; dec           %eax
+  DB  197,121,110,192                     ; vmovd         %eax,%xmm8
+  DB  196,65,121,112,192,0                ; vpshufd       $0x0,%xmm8,%xmm8
+  DB  196,67,61,24,192,1                  ; vinsertf128   $0x1,%xmm8,%ymm8,%ymm8
+  DB  196,65,124,91,192                   ; vcvtdq2ps     %ymm8,%ymm8
+  DB  196,65,52,87,201                    ; vxorps        %ymm9,%ymm9,%ymm9
+  DB  197,180,95,210                      ; vmaxps        %ymm2,%ymm9,%ymm2
+  DB  196,98,125,24,13,194,141,2,0        ; vbroadcastss  0x28dc2(%rip),%ymm9        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,193,108,93,209                  ; vminps        %ymm9,%ymm2,%ymm2
+  DB  196,193,108,89,208                  ; vmulps        %ymm8,%ymm2,%ymm2
+  DB  197,253,91,210                      ; vcvtps2dq     %ymm2,%ymm2
+  DB  196,227,249,22,208,1                ; vpextrq       $0x1,%xmm2,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  196,193,249,126,210                 ; vmovq         %xmm2,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,227,125,25,210,1                ; vextractf128  $0x1,%ymm2,%xmm2
+  DB  196,227,249,22,211,1                ; vpextrq       $0x1,%xmm2,%rbx
+  DB  65,137,222                          ; mov           %ebx,%r14d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  196,193,249,126,215                 ; vmovq         %xmm2,%r15
+  DB  69,137,252                          ; mov           %r15d,%r12d
+  DB  73,193,239,32                       ; shr           $0x20,%r15
+  DB  196,129,122,16,20,160               ; vmovss        (%r8,%r12,4),%xmm2
+  DB  196,3,105,33,4,184,16               ; vinsertps     $0x10,(%r8,%r15,4),%xmm2,%xmm8
+  DB  196,129,122,16,20,176               ; vmovss        (%r8,%r14,4),%xmm2
+  DB  196,99,57,33,194,32                 ; vinsertps     $0x20,%xmm2,%xmm8,%xmm8
+  DB  196,193,122,16,20,152               ; vmovss        (%r8,%rbx,4),%xmm2
+  DB  196,99,57,33,194,48                 ; vinsertps     $0x30,%xmm2,%xmm8,%xmm8
+  DB  196,129,122,16,20,152               ; vmovss        (%r8,%r11,4),%xmm2
+  DB  196,3,105,33,12,144,16              ; vinsertps     $0x10,(%r8,%r10,4),%xmm2,%xmm9
+  DB  196,129,122,16,20,136               ; vmovss        (%r8,%r9,4),%xmm2
+  DB  196,99,49,33,202,32                 ; vinsertps     $0x20,%xmm2,%xmm9,%xmm9
+  DB  196,193,122,16,20,128               ; vmovss        (%r8,%rax,4),%xmm2
+  DB  196,227,49,33,210,48                ; vinsertps     $0x30,%xmm2,%xmm9,%xmm2
+  DB  196,195,109,24,208,1                ; vinsertf128   $0x1,%xmm8,%ymm2,%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  91                                  ; pop           %rbx
+  DB  65,92                               ; pop           %r12
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_table_a_avx
+_sk_table_a_avx LABEL PROC
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,84                               ; push          %r12
+  DB  83                                  ; push          %rbx
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  139,64,8                            ; mov           0x8(%rax),%eax
+  DB  255,200                             ; dec           %eax
+  DB  197,121,110,192                     ; vmovd         %eax,%xmm8
+  DB  196,65,121,112,192,0                ; vpshufd       $0x0,%xmm8,%xmm8
+  DB  196,67,61,24,192,1                  ; vinsertf128   $0x1,%xmm8,%ymm8,%ymm8
+  DB  196,65,124,91,192                   ; vcvtdq2ps     %ymm8,%ymm8
+  DB  196,65,52,87,201                    ; vxorps        %ymm9,%ymm9,%ymm9
+  DB  197,180,95,219                      ; vmaxps        %ymm3,%ymm9,%ymm3
+  DB  196,98,125,24,13,233,140,2,0        ; vbroadcastss  0x28ce9(%rip),%ymm9        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,193,100,93,217                  ; vminps        %ymm9,%ymm3,%ymm3
+  DB  196,193,100,89,216                  ; vmulps        %ymm8,%ymm3,%ymm3
+  DB  197,253,91,219                      ; vcvtps2dq     %ymm3,%ymm3
+  DB  196,227,249,22,216,1                ; vpextrq       $0x1,%xmm3,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  196,193,249,126,218                 ; vmovq         %xmm3,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,227,125,25,219,1                ; vextractf128  $0x1,%ymm3,%xmm3
+  DB  196,227,249,22,219,1                ; vpextrq       $0x1,%xmm3,%rbx
+  DB  65,137,222                          ; mov           %ebx,%r14d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  196,193,249,126,223                 ; vmovq         %xmm3,%r15
+  DB  69,137,252                          ; mov           %r15d,%r12d
+  DB  73,193,239,32                       ; shr           $0x20,%r15
+  DB  196,129,122,16,28,160               ; vmovss        (%r8,%r12,4),%xmm3
+  DB  196,3,97,33,4,184,16                ; vinsertps     $0x10,(%r8,%r15,4),%xmm3,%xmm8
+  DB  196,129,122,16,28,176               ; vmovss        (%r8,%r14,4),%xmm3
+  DB  196,99,57,33,195,32                 ; vinsertps     $0x20,%xmm3,%xmm8,%xmm8
+  DB  196,193,122,16,28,152               ; vmovss        (%r8,%rbx,4),%xmm3
+  DB  196,99,57,33,195,48                 ; vinsertps     $0x30,%xmm3,%xmm8,%xmm8
+  DB  196,129,122,16,28,152               ; vmovss        (%r8,%r11,4),%xmm3
+  DB  196,3,97,33,12,144,16               ; vinsertps     $0x10,(%r8,%r10,4),%xmm3,%xmm9
+  DB  196,129,122,16,28,136               ; vmovss        (%r8,%r9,4),%xmm3
+  DB  196,99,49,33,203,32                 ; vinsertps     $0x20,%xmm3,%xmm9,%xmm9
+  DB  196,193,122,16,28,128               ; vmovss        (%r8,%rax,4),%xmm3
+  DB  196,227,49,33,219,48                ; vinsertps     $0x30,%xmm3,%xmm9,%xmm3
+  DB  196,195,101,24,216,1                ; vinsertf128   $0x1,%xmm8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  91                                  ; pop           %rbx
+  DB  65,92                               ; pop           %r12
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_parametric_r_avx
+_sk_parametric_r_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,24,64,16                 ; vbroadcastss  0x10(%rax),%ymm8
+  DB  196,65,124,194,192,2                ; vcmpleps      %ymm8,%ymm0,%ymm8
+  DB  196,98,125,24,72,12                 ; vbroadcastss  0xc(%rax),%ymm9
+  DB  196,98,125,24,80,24                 ; vbroadcastss  0x18(%rax),%ymm10
+  DB  197,52,89,200                       ; vmulps        %ymm0,%ymm9,%ymm9
+  DB  196,65,52,88,202                    ; vaddps        %ymm10,%ymm9,%ymm9
+  DB  196,98,125,24,80,4                  ; vbroadcastss  0x4(%rax),%ymm10
+  DB  196,98,125,24,88,8                  ; vbroadcastss  0x8(%rax),%ymm11
+  DB  197,172,89,192                      ; vmulps        %ymm0,%ymm10,%ymm0
+  DB  196,65,124,88,219                   ; vaddps        %ymm11,%ymm0,%ymm11
+  DB  196,98,125,24,32                    ; vbroadcastss  (%rax),%ymm12
+  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
+  DB  197,36,194,208,0                    ; vcmpeqps      %ymm0,%ymm11,%ymm10
+  DB  196,65,124,91,235                   ; vcvtdq2ps     %ymm11,%ymm13
+  DB  196,98,125,24,53,140,140,2,0        ; vbroadcastss  0x28c8c(%rip),%ymm14        # 34b60 <_sk_srcover_bgra_8888_sse2_lowp+0x348>
+  DB  196,65,20,89,238                    ; vmulps        %ymm14,%ymm13,%ymm13
+  DB  196,98,125,24,53,130,140,2,0        ; vbroadcastss  0x28c82(%rip),%ymm14        # 34b64 <_sk_srcover_bgra_8888_sse2_lowp+0x34c>
+  DB  196,65,36,84,222                    ; vandps        %ymm14,%ymm11,%ymm11
+  DB  196,98,125,24,53,212,139,2,0        ; vbroadcastss  0x28bd4(%rip),%ymm14        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  196,65,36,86,222                    ; vorps         %ymm14,%ymm11,%ymm11
+  DB  196,98,125,24,53,106,140,2,0        ; vbroadcastss  0x28c6a(%rip),%ymm14        # 34b68 <_sk_srcover_bgra_8888_sse2_lowp+0x350>
+  DB  196,65,20,88,238                    ; vaddps        %ymm14,%ymm13,%ymm13
+  DB  196,98,125,24,53,96,140,2,0         ; vbroadcastss  0x28c60(%rip),%ymm14        # 34b6c <_sk_srcover_bgra_8888_sse2_lowp+0x354>
+  DB  196,65,36,89,246                    ; vmulps        %ymm14,%ymm11,%ymm14
+  DB  196,65,20,92,238                    ; vsubps        %ymm14,%ymm13,%ymm13
+  DB  196,98,125,24,53,81,140,2,0         ; vbroadcastss  0x28c51(%rip),%ymm14        # 34b70 <_sk_srcover_bgra_8888_sse2_lowp+0x358>
+  DB  196,65,36,88,222                    ; vaddps        %ymm14,%ymm11,%ymm11
+  DB  196,98,125,24,53,71,140,2,0         ; vbroadcastss  0x28c47(%rip),%ymm14        # 34b74 <_sk_srcover_bgra_8888_sse2_lowp+0x35c>
+  DB  196,65,12,94,219                    ; vdivps        %ymm11,%ymm14,%ymm11
+  DB  196,65,20,92,219                    ; vsubps        %ymm11,%ymm13,%ymm11
+  DB  196,65,28,89,219                    ; vmulps        %ymm11,%ymm12,%ymm11
+  DB  196,67,125,8,227,1                  ; vroundps      $0x1,%ymm11,%ymm12
+  DB  196,65,36,92,228                    ; vsubps        %ymm12,%ymm11,%ymm12
+  DB  196,98,125,24,45,40,140,2,0         ; vbroadcastss  0x28c28(%rip),%ymm13        # 34b78 <_sk_srcover_bgra_8888_sse2_lowp+0x360>
+  DB  196,65,36,88,221                    ; vaddps        %ymm13,%ymm11,%ymm11
+  DB  196,98,125,24,45,30,140,2,0         ; vbroadcastss  0x28c1e(%rip),%ymm13        # 34b7c <_sk_srcover_bgra_8888_sse2_lowp+0x364>
+  DB  196,65,28,89,237                    ; vmulps        %ymm13,%ymm12,%ymm13
+  DB  196,65,36,92,221                    ; vsubps        %ymm13,%ymm11,%ymm11
+  DB  196,98,125,24,45,15,140,2,0         ; vbroadcastss  0x28c0f(%rip),%ymm13        # 34b80 <_sk_srcover_bgra_8888_sse2_lowp+0x368>
+  DB  196,65,20,92,228                    ; vsubps        %ymm12,%ymm13,%ymm12
+  DB  196,98,125,24,45,5,140,2,0          ; vbroadcastss  0x28c05(%rip),%ymm13        # 34b84 <_sk_srcover_bgra_8888_sse2_lowp+0x36c>
+  DB  196,65,20,94,228                    ; vdivps        %ymm12,%ymm13,%ymm12
+  DB  196,65,36,88,220                    ; vaddps        %ymm12,%ymm11,%ymm11
+  DB  196,98,125,24,37,246,139,2,0        ; vbroadcastss  0x28bf6(%rip),%ymm12        # 34b88 <_sk_srcover_bgra_8888_sse2_lowp+0x370>
+  DB  196,65,36,89,220                    ; vmulps        %ymm12,%ymm11,%ymm11
+  DB  196,65,125,91,219                   ; vcvtps2dq     %ymm11,%ymm11
+  DB  196,99,37,74,208,160                ; vblendvps     %ymm10,%ymm0,%ymm11,%ymm10
+  DB  196,98,125,24,88,20                 ; vbroadcastss  0x14(%rax),%ymm11
+  DB  196,65,44,88,211                    ; vaddps        %ymm11,%ymm10,%ymm10
+  DB  196,67,45,74,193,128                ; vblendvps     %ymm8,%ymm9,%ymm10,%ymm8
+  DB  197,188,95,192                      ; vmaxps        %ymm0,%ymm8,%ymm0
+  DB  196,98,125,24,5,8,139,2,0           ; vbroadcastss  0x28b08(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,193,124,93,192                  ; vminps        %ymm8,%ymm0,%ymm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_parametric_g_avx
+_sk_parametric_g_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,24,64,16                 ; vbroadcastss  0x10(%rax),%ymm8
+  DB  196,65,116,194,192,2                ; vcmpleps      %ymm8,%ymm1,%ymm8
+  DB  196,98,125,24,72,12                 ; vbroadcastss  0xc(%rax),%ymm9
+  DB  196,98,125,24,80,24                 ; vbroadcastss  0x18(%rax),%ymm10
+  DB  197,52,89,201                       ; vmulps        %ymm1,%ymm9,%ymm9
+  DB  196,65,52,88,202                    ; vaddps        %ymm10,%ymm9,%ymm9
+  DB  196,98,125,24,80,4                  ; vbroadcastss  0x4(%rax),%ymm10
+  DB  196,98,125,24,88,8                  ; vbroadcastss  0x8(%rax),%ymm11
+  DB  197,172,89,201                      ; vmulps        %ymm1,%ymm10,%ymm1
+  DB  196,65,116,88,219                   ; vaddps        %ymm11,%ymm1,%ymm11
+  DB  196,98,125,24,32                    ; vbroadcastss  (%rax),%ymm12
+  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
+  DB  197,36,194,209,0                    ; vcmpeqps      %ymm1,%ymm11,%ymm10
+  DB  196,65,124,91,235                   ; vcvtdq2ps     %ymm11,%ymm13
+  DB  196,98,125,24,53,67,139,2,0         ; vbroadcastss  0x28b43(%rip),%ymm14        # 34b60 <_sk_srcover_bgra_8888_sse2_lowp+0x348>
+  DB  196,65,20,89,238                    ; vmulps        %ymm14,%ymm13,%ymm13
+  DB  196,98,125,24,53,57,139,2,0         ; vbroadcastss  0x28b39(%rip),%ymm14        # 34b64 <_sk_srcover_bgra_8888_sse2_lowp+0x34c>
+  DB  196,65,36,84,222                    ; vandps        %ymm14,%ymm11,%ymm11
+  DB  196,98,125,24,53,139,138,2,0        ; vbroadcastss  0x28a8b(%rip),%ymm14        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  196,65,36,86,222                    ; vorps         %ymm14,%ymm11,%ymm11
+  DB  196,98,125,24,53,33,139,2,0         ; vbroadcastss  0x28b21(%rip),%ymm14        # 34b68 <_sk_srcover_bgra_8888_sse2_lowp+0x350>
+  DB  196,65,20,88,238                    ; vaddps        %ymm14,%ymm13,%ymm13
+  DB  196,98,125,24,53,23,139,2,0         ; vbroadcastss  0x28b17(%rip),%ymm14        # 34b6c <_sk_srcover_bgra_8888_sse2_lowp+0x354>
+  DB  196,65,36,89,246                    ; vmulps        %ymm14,%ymm11,%ymm14
+  DB  196,65,20,92,238                    ; vsubps        %ymm14,%ymm13,%ymm13
+  DB  196,98,125,24,53,8,139,2,0          ; vbroadcastss  0x28b08(%rip),%ymm14        # 34b70 <_sk_srcover_bgra_8888_sse2_lowp+0x358>
+  DB  196,65,36,88,222                    ; vaddps        %ymm14,%ymm11,%ymm11
+  DB  196,98,125,24,53,254,138,2,0        ; vbroadcastss  0x28afe(%rip),%ymm14        # 34b74 <_sk_srcover_bgra_8888_sse2_lowp+0x35c>
+  DB  196,65,12,94,219                    ; vdivps        %ymm11,%ymm14,%ymm11
+  DB  196,65,20,92,219                    ; vsubps        %ymm11,%ymm13,%ymm11
+  DB  196,65,28,89,219                    ; vmulps        %ymm11,%ymm12,%ymm11
+  DB  196,67,125,8,227,1                  ; vroundps      $0x1,%ymm11,%ymm12
+  DB  196,65,36,92,228                    ; vsubps        %ymm12,%ymm11,%ymm12
+  DB  196,98,125,24,45,223,138,2,0        ; vbroadcastss  0x28adf(%rip),%ymm13        # 34b78 <_sk_srcover_bgra_8888_sse2_lowp+0x360>
+  DB  196,65,36,88,221                    ; vaddps        %ymm13,%ymm11,%ymm11
+  DB  196,98,125,24,45,213,138,2,0        ; vbroadcastss  0x28ad5(%rip),%ymm13        # 34b7c <_sk_srcover_bgra_8888_sse2_lowp+0x364>
+  DB  196,65,28,89,237                    ; vmulps        %ymm13,%ymm12,%ymm13
+  DB  196,65,36,92,221                    ; vsubps        %ymm13,%ymm11,%ymm11
+  DB  196,98,125,24,45,198,138,2,0        ; vbroadcastss  0x28ac6(%rip),%ymm13        # 34b80 <_sk_srcover_bgra_8888_sse2_lowp+0x368>
+  DB  196,65,20,92,228                    ; vsubps        %ymm12,%ymm13,%ymm12
+  DB  196,98,125,24,45,188,138,2,0        ; vbroadcastss  0x28abc(%rip),%ymm13        # 34b84 <_sk_srcover_bgra_8888_sse2_lowp+0x36c>
+  DB  196,65,20,94,228                    ; vdivps        %ymm12,%ymm13,%ymm12
+  DB  196,65,36,88,220                    ; vaddps        %ymm12,%ymm11,%ymm11
+  DB  196,98,125,24,37,173,138,2,0        ; vbroadcastss  0x28aad(%rip),%ymm12        # 34b88 <_sk_srcover_bgra_8888_sse2_lowp+0x370>
+  DB  196,65,36,89,220                    ; vmulps        %ymm12,%ymm11,%ymm11
+  DB  196,65,125,91,219                   ; vcvtps2dq     %ymm11,%ymm11
+  DB  196,99,37,74,209,160                ; vblendvps     %ymm10,%ymm1,%ymm11,%ymm10
+  DB  196,98,125,24,88,20                 ; vbroadcastss  0x14(%rax),%ymm11
+  DB  196,65,44,88,211                    ; vaddps        %ymm11,%ymm10,%ymm10
+  DB  196,67,45,74,193,128                ; vblendvps     %ymm8,%ymm9,%ymm10,%ymm8
+  DB  197,188,95,201                      ; vmaxps        %ymm1,%ymm8,%ymm1
+  DB  196,98,125,24,5,191,137,2,0         ; vbroadcastss  0x289bf(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,193,116,93,200                  ; vminps        %ymm8,%ymm1,%ymm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_parametric_b_avx
+_sk_parametric_b_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,24,64,16                 ; vbroadcastss  0x10(%rax),%ymm8
+  DB  196,65,108,194,192,2                ; vcmpleps      %ymm8,%ymm2,%ymm8
+  DB  196,98,125,24,72,12                 ; vbroadcastss  0xc(%rax),%ymm9
+  DB  196,98,125,24,80,24                 ; vbroadcastss  0x18(%rax),%ymm10
+  DB  197,52,89,202                       ; vmulps        %ymm2,%ymm9,%ymm9
+  DB  196,65,52,88,202                    ; vaddps        %ymm10,%ymm9,%ymm9
+  DB  196,98,125,24,80,4                  ; vbroadcastss  0x4(%rax),%ymm10
+  DB  196,98,125,24,88,8                  ; vbroadcastss  0x8(%rax),%ymm11
+  DB  197,172,89,210                      ; vmulps        %ymm2,%ymm10,%ymm2
+  DB  196,65,108,88,219                   ; vaddps        %ymm11,%ymm2,%ymm11
+  DB  196,98,125,24,32                    ; vbroadcastss  (%rax),%ymm12
+  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
+  DB  197,36,194,210,0                    ; vcmpeqps      %ymm2,%ymm11,%ymm10
+  DB  196,65,124,91,235                   ; vcvtdq2ps     %ymm11,%ymm13
+  DB  196,98,125,24,53,250,137,2,0        ; vbroadcastss  0x289fa(%rip),%ymm14        # 34b60 <_sk_srcover_bgra_8888_sse2_lowp+0x348>
+  DB  196,65,20,89,238                    ; vmulps        %ymm14,%ymm13,%ymm13
+  DB  196,98,125,24,53,240,137,2,0        ; vbroadcastss  0x289f0(%rip),%ymm14        # 34b64 <_sk_srcover_bgra_8888_sse2_lowp+0x34c>
+  DB  196,65,36,84,222                    ; vandps        %ymm14,%ymm11,%ymm11
+  DB  196,98,125,24,53,66,137,2,0         ; vbroadcastss  0x28942(%rip),%ymm14        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  196,65,36,86,222                    ; vorps         %ymm14,%ymm11,%ymm11
+  DB  196,98,125,24,53,216,137,2,0        ; vbroadcastss  0x289d8(%rip),%ymm14        # 34b68 <_sk_srcover_bgra_8888_sse2_lowp+0x350>
+  DB  196,65,20,88,238                    ; vaddps        %ymm14,%ymm13,%ymm13
+  DB  196,98,125,24,53,206,137,2,0        ; vbroadcastss  0x289ce(%rip),%ymm14        # 34b6c <_sk_srcover_bgra_8888_sse2_lowp+0x354>
+  DB  196,65,36,89,246                    ; vmulps        %ymm14,%ymm11,%ymm14
+  DB  196,65,20,92,238                    ; vsubps        %ymm14,%ymm13,%ymm13
+  DB  196,98,125,24,53,191,137,2,0        ; vbroadcastss  0x289bf(%rip),%ymm14        # 34b70 <_sk_srcover_bgra_8888_sse2_lowp+0x358>
+  DB  196,65,36,88,222                    ; vaddps        %ymm14,%ymm11,%ymm11
+  DB  196,98,125,24,53,181,137,2,0        ; vbroadcastss  0x289b5(%rip),%ymm14        # 34b74 <_sk_srcover_bgra_8888_sse2_lowp+0x35c>
+  DB  196,65,12,94,219                    ; vdivps        %ymm11,%ymm14,%ymm11
+  DB  196,65,20,92,219                    ; vsubps        %ymm11,%ymm13,%ymm11
+  DB  196,65,28,89,219                    ; vmulps        %ymm11,%ymm12,%ymm11
+  DB  196,67,125,8,227,1                  ; vroundps      $0x1,%ymm11,%ymm12
+  DB  196,65,36,92,228                    ; vsubps        %ymm12,%ymm11,%ymm12
+  DB  196,98,125,24,45,150,137,2,0        ; vbroadcastss  0x28996(%rip),%ymm13        # 34b78 <_sk_srcover_bgra_8888_sse2_lowp+0x360>
+  DB  196,65,36,88,221                    ; vaddps        %ymm13,%ymm11,%ymm11
+  DB  196,98,125,24,45,140,137,2,0        ; vbroadcastss  0x2898c(%rip),%ymm13        # 34b7c <_sk_srcover_bgra_8888_sse2_lowp+0x364>
+  DB  196,65,28,89,237                    ; vmulps        %ymm13,%ymm12,%ymm13
+  DB  196,65,36,92,221                    ; vsubps        %ymm13,%ymm11,%ymm11
+  DB  196,98,125,24,45,125,137,2,0        ; vbroadcastss  0x2897d(%rip),%ymm13        # 34b80 <_sk_srcover_bgra_8888_sse2_lowp+0x368>
+  DB  196,65,20,92,228                    ; vsubps        %ymm12,%ymm13,%ymm12
+  DB  196,98,125,24,45,115,137,2,0        ; vbroadcastss  0x28973(%rip),%ymm13        # 34b84 <_sk_srcover_bgra_8888_sse2_lowp+0x36c>
+  DB  196,65,20,94,228                    ; vdivps        %ymm12,%ymm13,%ymm12
+  DB  196,65,36,88,220                    ; vaddps        %ymm12,%ymm11,%ymm11
+  DB  196,98,125,24,37,100,137,2,0        ; vbroadcastss  0x28964(%rip),%ymm12        # 34b88 <_sk_srcover_bgra_8888_sse2_lowp+0x370>
+  DB  196,65,36,89,220                    ; vmulps        %ymm12,%ymm11,%ymm11
+  DB  196,65,125,91,219                   ; vcvtps2dq     %ymm11,%ymm11
+  DB  196,99,37,74,210,160                ; vblendvps     %ymm10,%ymm2,%ymm11,%ymm10
+  DB  196,98,125,24,88,20                 ; vbroadcastss  0x14(%rax),%ymm11
+  DB  196,65,44,88,211                    ; vaddps        %ymm11,%ymm10,%ymm10
+  DB  196,67,45,74,193,128                ; vblendvps     %ymm8,%ymm9,%ymm10,%ymm8
+  DB  197,188,95,210                      ; vmaxps        %ymm2,%ymm8,%ymm2
+  DB  196,98,125,24,5,118,136,2,0         ; vbroadcastss  0x28876(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,193,108,93,208                  ; vminps        %ymm8,%ymm2,%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_parametric_a_avx
+_sk_parametric_a_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,24,64,16                 ; vbroadcastss  0x10(%rax),%ymm8
+  DB  196,65,100,194,192,2                ; vcmpleps      %ymm8,%ymm3,%ymm8
+  DB  196,98,125,24,72,12                 ; vbroadcastss  0xc(%rax),%ymm9
+  DB  196,98,125,24,80,24                 ; vbroadcastss  0x18(%rax),%ymm10
+  DB  197,52,89,203                       ; vmulps        %ymm3,%ymm9,%ymm9
+  DB  196,65,52,88,202                    ; vaddps        %ymm10,%ymm9,%ymm9
+  DB  196,98,125,24,80,4                  ; vbroadcastss  0x4(%rax),%ymm10
+  DB  196,98,125,24,88,8                  ; vbroadcastss  0x8(%rax),%ymm11
+  DB  197,172,89,219                      ; vmulps        %ymm3,%ymm10,%ymm3
+  DB  196,65,100,88,219                   ; vaddps        %ymm11,%ymm3,%ymm11
+  DB  196,98,125,24,32                    ; vbroadcastss  (%rax),%ymm12
+  DB  197,228,87,219                      ; vxorps        %ymm3,%ymm3,%ymm3
+  DB  197,36,194,211,0                    ; vcmpeqps      %ymm3,%ymm11,%ymm10
+  DB  196,65,124,91,235                   ; vcvtdq2ps     %ymm11,%ymm13
+  DB  196,98,125,24,53,177,136,2,0        ; vbroadcastss  0x288b1(%rip),%ymm14        # 34b60 <_sk_srcover_bgra_8888_sse2_lowp+0x348>
+  DB  196,65,20,89,238                    ; vmulps        %ymm14,%ymm13,%ymm13
+  DB  196,98,125,24,53,167,136,2,0        ; vbroadcastss  0x288a7(%rip),%ymm14        # 34b64 <_sk_srcover_bgra_8888_sse2_lowp+0x34c>
+  DB  196,65,36,84,222                    ; vandps        %ymm14,%ymm11,%ymm11
+  DB  196,98,125,24,53,249,135,2,0        ; vbroadcastss  0x287f9(%rip),%ymm14        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  196,65,36,86,222                    ; vorps         %ymm14,%ymm11,%ymm11
+  DB  196,98,125,24,53,143,136,2,0        ; vbroadcastss  0x2888f(%rip),%ymm14        # 34b68 <_sk_srcover_bgra_8888_sse2_lowp+0x350>
+  DB  196,65,20,88,238                    ; vaddps        %ymm14,%ymm13,%ymm13
+  DB  196,98,125,24,53,133,136,2,0        ; vbroadcastss  0x28885(%rip),%ymm14        # 34b6c <_sk_srcover_bgra_8888_sse2_lowp+0x354>
+  DB  196,65,36,89,246                    ; vmulps        %ymm14,%ymm11,%ymm14
+  DB  196,65,20,92,238                    ; vsubps        %ymm14,%ymm13,%ymm13
+  DB  196,98,125,24,53,118,136,2,0        ; vbroadcastss  0x28876(%rip),%ymm14        # 34b70 <_sk_srcover_bgra_8888_sse2_lowp+0x358>
+  DB  196,65,36,88,222                    ; vaddps        %ymm14,%ymm11,%ymm11
+  DB  196,98,125,24,53,108,136,2,0        ; vbroadcastss  0x2886c(%rip),%ymm14        # 34b74 <_sk_srcover_bgra_8888_sse2_lowp+0x35c>
+  DB  196,65,12,94,219                    ; vdivps        %ymm11,%ymm14,%ymm11
+  DB  196,65,20,92,219                    ; vsubps        %ymm11,%ymm13,%ymm11
+  DB  196,65,28,89,219                    ; vmulps        %ymm11,%ymm12,%ymm11
+  DB  196,67,125,8,227,1                  ; vroundps      $0x1,%ymm11,%ymm12
+  DB  196,65,36,92,228                    ; vsubps        %ymm12,%ymm11,%ymm12
+  DB  196,98,125,24,45,77,136,2,0         ; vbroadcastss  0x2884d(%rip),%ymm13        # 34b78 <_sk_srcover_bgra_8888_sse2_lowp+0x360>
+  DB  196,65,36,88,221                    ; vaddps        %ymm13,%ymm11,%ymm11
+  DB  196,98,125,24,45,67,136,2,0         ; vbroadcastss  0x28843(%rip),%ymm13        # 34b7c <_sk_srcover_bgra_8888_sse2_lowp+0x364>
+  DB  196,65,28,89,237                    ; vmulps        %ymm13,%ymm12,%ymm13
+  DB  196,65,36,92,221                    ; vsubps        %ymm13,%ymm11,%ymm11
+  DB  196,98,125,24,45,52,136,2,0         ; vbroadcastss  0x28834(%rip),%ymm13        # 34b80 <_sk_srcover_bgra_8888_sse2_lowp+0x368>
+  DB  196,65,20,92,228                    ; vsubps        %ymm12,%ymm13,%ymm12
+  DB  196,98,125,24,45,42,136,2,0         ; vbroadcastss  0x2882a(%rip),%ymm13        # 34b84 <_sk_srcover_bgra_8888_sse2_lowp+0x36c>
+  DB  196,65,20,94,228                    ; vdivps        %ymm12,%ymm13,%ymm12
+  DB  196,65,36,88,220                    ; vaddps        %ymm12,%ymm11,%ymm11
+  DB  196,98,125,24,37,27,136,2,0         ; vbroadcastss  0x2881b(%rip),%ymm12        # 34b88 <_sk_srcover_bgra_8888_sse2_lowp+0x370>
+  DB  196,65,36,89,220                    ; vmulps        %ymm12,%ymm11,%ymm11
+  DB  196,65,125,91,219                   ; vcvtps2dq     %ymm11,%ymm11
+  DB  196,99,37,74,211,160                ; vblendvps     %ymm10,%ymm3,%ymm11,%ymm10
+  DB  196,98,125,24,88,20                 ; vbroadcastss  0x14(%rax),%ymm11
+  DB  196,65,44,88,211                    ; vaddps        %ymm11,%ymm10,%ymm10
+  DB  196,67,45,74,193,128                ; vblendvps     %ymm8,%ymm9,%ymm10,%ymm8
+  DB  197,188,95,219                      ; vmaxps        %ymm3,%ymm8,%ymm3
+  DB  196,98,125,24,5,45,135,2,0          ; vbroadcastss  0x2872d(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,193,100,93,216                  ; vminps        %ymm8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_gamma_avx
+_sk_gamma_avx LABEL PROC
+  DB  72,129,236,56,1,0,0                 ; sub           $0x138,%rsp
+  DB  197,252,17,188,36,0,1,0,0           ; vmovups       %ymm7,0x100(%rsp)
+  DB  197,252,17,180,36,224,0,0,0         ; vmovups       %ymm6,0xe0(%rsp)
+  DB  197,252,17,172,36,192,0,0,0         ; vmovups       %ymm5,0xc0(%rsp)
+  DB  197,252,17,164,36,160,0,0,0         ; vmovups       %ymm4,0xa0(%rsp)
+  DB  197,252,17,156,36,128,0,0,0         ; vmovups       %ymm3,0x80(%rsp)
+  DB  197,252,17,84,36,96                 ; vmovups       %ymm2,0x60(%rsp)
+  DB  197,252,17,12,36                    ; vmovups       %ymm1,(%rsp)
+  DB  197,252,40,224                      ; vmovaps       %ymm0,%ymm4
+  DB  197,252,91,204                      ; vcvtdq2ps     %ymm4,%ymm1
+  DB  196,226,125,24,5,108,135,2,0        ; vbroadcastss  0x2876c(%rip),%ymm0        # 34b60 <_sk_srcover_bgra_8888_sse2_lowp+0x348>
+  DB  197,244,89,200                      ; vmulps        %ymm0,%ymm1,%ymm1
+  DB  197,124,40,192                      ; vmovaps       %ymm0,%ymm8
+  DB  197,124,17,68,36,32                 ; vmovups       %ymm8,0x20(%rsp)
+  DB  196,98,125,24,13,89,135,2,0         ; vbroadcastss  0x28759(%rip),%ymm9        # 34b64 <_sk_srcover_bgra_8888_sse2_lowp+0x34c>
+  DB  196,193,92,84,209                   ; vandps        %ymm9,%ymm4,%ymm2
+  DB  196,98,125,24,21,171,134,2,0        ; vbroadcastss  0x286ab(%rip),%ymm10        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  196,193,108,86,210                  ; vorps         %ymm10,%ymm2,%ymm2
+  DB  196,98,125,24,29,65,135,2,0         ; vbroadcastss  0x28741(%rip),%ymm11        # 34b68 <_sk_srcover_bgra_8888_sse2_lowp+0x350>
+  DB  196,193,116,88,203                  ; vaddps        %ymm11,%ymm1,%ymm1
+  DB  196,98,125,24,37,55,135,2,0         ; vbroadcastss  0x28737(%rip),%ymm12        # 34b6c <_sk_srcover_bgra_8888_sse2_lowp+0x354>
+  DB  196,193,108,89,220                  ; vmulps        %ymm12,%ymm2,%ymm3
+  DB  197,244,92,203                      ; vsubps        %ymm3,%ymm1,%ymm1
+  DB  196,98,125,24,45,41,135,2,0         ; vbroadcastss  0x28729(%rip),%ymm13        # 34b70 <_sk_srcover_bgra_8888_sse2_lowp+0x358>
+  DB  196,193,108,88,213                  ; vaddps        %ymm13,%ymm2,%ymm2
+  DB  196,98,125,24,53,31,135,2,0         ; vbroadcastss  0x2871f(%rip),%ymm14        # 34b74 <_sk_srcover_bgra_8888_sse2_lowp+0x35c>
+  DB  197,140,94,210                      ; vdivps        %ymm2,%ymm14,%ymm2
+  DB  197,244,92,202                      ; vsubps        %ymm2,%ymm1,%ymm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,48                   ; vbroadcastss  (%rax),%ymm6
+  DB  197,244,89,206                      ; vmulps        %ymm6,%ymm1,%ymm1
+  DB  196,227,125,8,209,1                 ; vroundps      $0x1,%ymm1,%ymm2
+  DB  197,244,92,234                      ; vsubps        %ymm2,%ymm1,%ymm5
+  DB  196,98,125,24,61,253,134,2,0        ; vbroadcastss  0x286fd(%rip),%ymm15        # 34b78 <_sk_srcover_bgra_8888_sse2_lowp+0x360>
+  DB  196,193,116,88,207                  ; vaddps        %ymm15,%ymm1,%ymm1
+  DB  196,226,125,24,61,243,134,2,0       ; vbroadcastss  0x286f3(%rip),%ymm7        # 34b7c <_sk_srcover_bgra_8888_sse2_lowp+0x364>
+  DB  197,212,89,215                      ; vmulps        %ymm7,%ymm5,%ymm2
+  DB  197,244,92,194                      ; vsubps        %ymm2,%ymm1,%ymm0
+  DB  196,226,125,24,29,230,134,2,0       ; vbroadcastss  0x286e6(%rip),%ymm3        # 34b80 <_sk_srcover_bgra_8888_sse2_lowp+0x368>
+  DB  197,228,92,237                      ; vsubps        %ymm5,%ymm3,%ymm5
+  DB  196,226,125,24,21,221,134,2,0       ; vbroadcastss  0x286dd(%rip),%ymm2        # 34b84 <_sk_srcover_bgra_8888_sse2_lowp+0x36c>
+  DB  197,236,94,237                      ; vdivps        %ymm5,%ymm2,%ymm5
+  DB  197,252,88,197                      ; vaddps        %ymm5,%ymm0,%ymm0
+  DB  197,212,87,237                      ; vxorps        %ymm5,%ymm5,%ymm5
+  DB  197,220,194,205,0                   ; vcmpeqps      %ymm5,%ymm4,%ymm1
+  DB  196,226,125,24,37,199,134,2,0       ; vbroadcastss  0x286c7(%rip),%ymm4        # 34b88 <_sk_srcover_bgra_8888_sse2_lowp+0x370>
+  DB  197,252,89,196                      ; vmulps        %ymm4,%ymm0,%ymm0
+  DB  197,253,91,192                      ; vcvtps2dq     %ymm0,%ymm0
+  DB  196,227,125,74,197,16               ; vblendvps     %ymm1,%ymm5,%ymm0,%ymm0
+  DB  197,252,17,68,36,64                 ; vmovups       %ymm0,0x40(%rsp)
+  DB  197,252,16,44,36                    ; vmovups       (%rsp),%ymm5
+  DB  197,252,91,197                      ; vcvtdq2ps     %ymm5,%ymm0
+  DB  196,193,124,89,192                  ; vmulps        %ymm8,%ymm0,%ymm0
+  DB  196,193,84,84,201                   ; vandps        %ymm9,%ymm5,%ymm1
+  DB  197,124,40,197                      ; vmovaps       %ymm5,%ymm8
+  DB  196,193,116,86,202                  ; vorps         %ymm10,%ymm1,%ymm1
+  DB  196,193,124,88,195                  ; vaddps        %ymm11,%ymm0,%ymm0
+  DB  196,193,116,89,236                  ; vmulps        %ymm12,%ymm1,%ymm5
+  DB  197,252,92,197                      ; vsubps        %ymm5,%ymm0,%ymm0
+  DB  196,193,116,88,205                  ; vaddps        %ymm13,%ymm1,%ymm1
+  DB  197,140,94,201                      ; vdivps        %ymm1,%ymm14,%ymm1
+  DB  197,252,92,193                      ; vsubps        %ymm1,%ymm0,%ymm0
+  DB  197,252,89,198                      ; vmulps        %ymm6,%ymm0,%ymm0
+  DB  196,227,125,8,200,1                 ; vroundps      $0x1,%ymm0,%ymm1
+  DB  197,252,92,201                      ; vsubps        %ymm1,%ymm0,%ymm1
+  DB  196,193,124,88,199                  ; vaddps        %ymm15,%ymm0,%ymm0
+  DB  197,244,89,239                      ; vmulps        %ymm7,%ymm1,%ymm5
+  DB  197,252,92,197                      ; vsubps        %ymm5,%ymm0,%ymm0
+  DB  197,228,92,201                      ; vsubps        %ymm1,%ymm3,%ymm1
+  DB  197,236,94,201                      ; vdivps        %ymm1,%ymm2,%ymm1
+  DB  197,252,88,193                      ; vaddps        %ymm1,%ymm0,%ymm0
+  DB  197,212,87,237                      ; vxorps        %ymm5,%ymm5,%ymm5
+  DB  197,188,194,205,0                   ; vcmpeqps      %ymm5,%ymm8,%ymm1
+  DB  197,252,89,196                      ; vmulps        %ymm4,%ymm0,%ymm0
+  DB  197,253,91,192                      ; vcvtps2dq     %ymm0,%ymm0
+  DB  196,227,125,74,197,16               ; vblendvps     %ymm1,%ymm5,%ymm0,%ymm0
+  DB  197,252,17,4,36                     ; vmovups       %ymm0,(%rsp)
+  DB  197,252,16,108,36,96                ; vmovups       0x60(%rsp),%ymm5
+  DB  197,252,91,197                      ; vcvtdq2ps     %ymm5,%ymm0
+  DB  197,252,89,68,36,32                 ; vmulps        0x20(%rsp),%ymm0,%ymm0
+  DB  196,193,84,84,201                   ; vandps        %ymm9,%ymm5,%ymm1
+  DB  197,124,40,197                      ; vmovaps       %ymm5,%ymm8
+  DB  196,193,116,86,202                  ; vorps         %ymm10,%ymm1,%ymm1
+  DB  196,193,124,88,195                  ; vaddps        %ymm11,%ymm0,%ymm0
+  DB  196,193,116,89,236                  ; vmulps        %ymm12,%ymm1,%ymm5
+  DB  197,252,92,197                      ; vsubps        %ymm5,%ymm0,%ymm0
+  DB  196,193,116,88,205                  ; vaddps        %ymm13,%ymm1,%ymm1
+  DB  197,140,94,201                      ; vdivps        %ymm1,%ymm14,%ymm1
+  DB  197,252,92,193                      ; vsubps        %ymm1,%ymm0,%ymm0
+  DB  197,252,89,198                      ; vmulps        %ymm6,%ymm0,%ymm0
+  DB  196,227,125,8,200,1                 ; vroundps      $0x1,%ymm0,%ymm1
+  DB  197,252,92,201                      ; vsubps        %ymm1,%ymm0,%ymm1
+  DB  196,193,124,88,199                  ; vaddps        %ymm15,%ymm0,%ymm0
+  DB  197,244,89,239                      ; vmulps        %ymm7,%ymm1,%ymm5
+  DB  197,252,92,197                      ; vsubps        %ymm5,%ymm0,%ymm0
+  DB  197,228,92,201                      ; vsubps        %ymm1,%ymm3,%ymm1
+  DB  197,236,94,201                      ; vdivps        %ymm1,%ymm2,%ymm1
+  DB  197,252,88,193                      ; vaddps        %ymm1,%ymm0,%ymm0
+  DB  197,252,89,196                      ; vmulps        %ymm4,%ymm0,%ymm0
+  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
+  DB  197,188,194,202,0                   ; vcmpeqps      %ymm2,%ymm8,%ymm1
+  DB  197,253,91,192                      ; vcvtps2dq     %ymm0,%ymm0
+  DB  196,227,125,74,210,16               ; vblendvps     %ymm1,%ymm2,%ymm0,%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,16,68,36,64                 ; vmovups       0x40(%rsp),%ymm0
+  DB  197,252,16,12,36                    ; vmovups       (%rsp),%ymm1
+  DB  197,252,16,156,36,128,0,0,0         ; vmovups       0x80(%rsp),%ymm3
+  DB  197,252,16,164,36,160,0,0,0         ; vmovups       0xa0(%rsp),%ymm4
+  DB  197,252,16,172,36,192,0,0,0         ; vmovups       0xc0(%rsp),%ymm5
+  DB  197,252,16,180,36,224,0,0,0         ; vmovups       0xe0(%rsp),%ymm6
+  DB  197,252,16,188,36,0,1,0,0           ; vmovups       0x100(%rsp),%ymm7
+  DB  72,129,196,56,1,0,0                 ; add           $0x138,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_gamma_dst_avx
+_sk_gamma_dst_avx LABEL PROC
+  DB  72,129,236,120,1,0,0                ; sub           $0x178,%rsp
+  DB  197,252,17,188,36,64,1,0,0          ; vmovups       %ymm7,0x140(%rsp)
+  DB  197,252,17,116,36,32                ; vmovups       %ymm6,0x20(%rsp)
+  DB  197,124,40,197                      ; vmovaps       %ymm5,%ymm8
+  DB  197,252,17,156,36,32,1,0,0          ; vmovups       %ymm3,0x120(%rsp)
+  DB  197,252,17,148,36,0,1,0,0           ; vmovups       %ymm2,0x100(%rsp)
+  DB  197,252,17,140,36,224,0,0,0         ; vmovups       %ymm1,0xe0(%rsp)
+  DB  197,252,17,132,36,192,0,0,0         ; vmovups       %ymm0,0xc0(%rsp)
+  DB  197,252,91,196                      ; vcvtdq2ps     %ymm4,%ymm0
+  DB  196,226,125,24,29,12,133,2,0        ; vbroadcastss  0x2850c(%rip),%ymm3        # 34b60 <_sk_srcover_bgra_8888_sse2_lowp+0x348>
+  DB  197,252,89,195                      ; vmulps        %ymm3,%ymm0,%ymm0
+  DB  196,226,125,24,13,3,133,2,0         ; vbroadcastss  0x28503(%rip),%ymm1        # 34b64 <_sk_srcover_bgra_8888_sse2_lowp+0x34c>
+  DB  197,252,17,140,36,128,0,0,0         ; vmovups       %ymm1,0x80(%rsp)
+  DB  197,220,84,201                      ; vandps        %ymm1,%ymm4,%ymm1
+  DB  196,226,125,24,21,77,132,2,0        ; vbroadcastss  0x2844d(%rip),%ymm2        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  197,252,17,84,36,96                 ; vmovups       %ymm2,0x60(%rsp)
+  DB  197,244,86,202                      ; vorps         %ymm2,%ymm1,%ymm1
+  DB  196,226,125,24,21,222,132,2,0       ; vbroadcastss  0x284de(%rip),%ymm2        # 34b68 <_sk_srcover_bgra_8888_sse2_lowp+0x350>
+  DB  197,252,17,84,36,64                 ; vmovups       %ymm2,0x40(%rsp)
+  DB  197,252,88,194                      ; vaddps        %ymm2,%ymm0,%ymm0
+  DB  196,98,125,24,37,207,132,2,0        ; vbroadcastss  0x284cf(%rip),%ymm12        # 34b6c <_sk_srcover_bgra_8888_sse2_lowp+0x354>
+  DB  196,193,116,89,212                  ; vmulps        %ymm12,%ymm1,%ymm2
+  DB  197,252,92,194                      ; vsubps        %ymm2,%ymm0,%ymm0
+  DB  196,98,125,24,45,193,132,2,0        ; vbroadcastss  0x284c1(%rip),%ymm13        # 34b70 <_sk_srcover_bgra_8888_sse2_lowp+0x358>
+  DB  196,193,116,88,205                  ; vaddps        %ymm13,%ymm1,%ymm1
+  DB  196,98,125,24,53,183,132,2,0        ; vbroadcastss  0x284b7(%rip),%ymm14        # 34b74 <_sk_srcover_bgra_8888_sse2_lowp+0x35c>
+  DB  197,140,94,201                      ; vdivps        %ymm1,%ymm14,%ymm1
+  DB  197,252,92,193                      ; vsubps        %ymm1,%ymm0,%ymm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,40                   ; vbroadcastss  (%rax),%ymm5
+  DB  197,252,89,197                      ; vmulps        %ymm5,%ymm0,%ymm0
+  DB  196,227,125,8,200,1                 ; vroundps      $0x1,%ymm0,%ymm1
+  DB  197,252,92,201                      ; vsubps        %ymm1,%ymm0,%ymm1
+  DB  196,98,125,24,61,149,132,2,0        ; vbroadcastss  0x28495(%rip),%ymm15        # 34b78 <_sk_srcover_bgra_8888_sse2_lowp+0x360>
+  DB  196,193,124,88,199                  ; vaddps        %ymm15,%ymm0,%ymm0
+  DB  196,98,125,24,29,139,132,2,0        ; vbroadcastss  0x2848b(%rip),%ymm11        # 34b7c <_sk_srcover_bgra_8888_sse2_lowp+0x364>
+  DB  196,193,116,89,211                  ; vmulps        %ymm11,%ymm1,%ymm2
+  DB  197,252,92,194                      ; vsubps        %ymm2,%ymm0,%ymm0
+  DB  196,98,125,24,21,125,132,2,0        ; vbroadcastss  0x2847d(%rip),%ymm10        # 34b80 <_sk_srcover_bgra_8888_sse2_lowp+0x368>
+  DB  197,172,92,241                      ; vsubps        %ymm1,%ymm10,%ymm6
+  DB  196,98,125,24,13,116,132,2,0        ; vbroadcastss  0x28474(%rip),%ymm9        # 34b84 <_sk_srcover_bgra_8888_sse2_lowp+0x36c>
+  DB  197,180,94,246                      ; vdivps        %ymm6,%ymm9,%ymm6
+  DB  197,252,88,198                      ; vaddps        %ymm6,%ymm0,%ymm0
+  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
+  DB  197,220,194,225,0                   ; vcmpeqps      %ymm1,%ymm4,%ymm4
+  DB  196,226,125,24,61,94,132,2,0        ; vbroadcastss  0x2845e(%rip),%ymm7        # 34b88 <_sk_srcover_bgra_8888_sse2_lowp+0x370>
+  DB  197,252,89,199                      ; vmulps        %ymm7,%ymm0,%ymm0
+  DB  197,253,91,192                      ; vcvtps2dq     %ymm0,%ymm0
+  DB  196,227,125,74,193,64               ; vblendvps     %ymm4,%ymm1,%ymm0,%ymm0
+  DB  197,252,17,132,36,160,0,0,0         ; vmovups       %ymm0,0xa0(%rsp)
+  DB  197,124,17,4,36                     ; vmovups       %ymm8,(%rsp)
+  DB  196,193,124,91,192                  ; vcvtdq2ps     %ymm8,%ymm0
+  DB  197,252,89,195                      ; vmulps        %ymm3,%ymm0,%ymm0
+  DB  197,252,16,148,36,128,0,0,0         ; vmovups       0x80(%rsp),%ymm2
+  DB  197,188,84,242                      ; vandps        %ymm2,%ymm8,%ymm6
+  DB  197,252,16,76,36,96                 ; vmovups       0x60(%rsp),%ymm1
+  DB  197,204,86,241                      ; vorps         %ymm1,%ymm6,%ymm6
+  DB  197,252,16,100,36,64                ; vmovups       0x40(%rsp),%ymm4
+  DB  197,252,88,196                      ; vaddps        %ymm4,%ymm0,%ymm0
+  DB  196,65,76,89,196                    ; vmulps        %ymm12,%ymm6,%ymm8
+  DB  196,193,124,92,192                  ; vsubps        %ymm8,%ymm0,%ymm0
+  DB  196,193,76,88,245                   ; vaddps        %ymm13,%ymm6,%ymm6
+  DB  197,140,94,246                      ; vdivps        %ymm6,%ymm14,%ymm6
+  DB  197,252,92,198                      ; vsubps        %ymm6,%ymm0,%ymm0
+  DB  197,252,89,197                      ; vmulps        %ymm5,%ymm0,%ymm0
+  DB  196,227,125,8,240,1                 ; vroundps      $0x1,%ymm0,%ymm6
+  DB  197,252,92,246                      ; vsubps        %ymm6,%ymm0,%ymm6
+  DB  196,193,124,88,199                  ; vaddps        %ymm15,%ymm0,%ymm0
+  DB  196,65,76,89,195                    ; vmulps        %ymm11,%ymm6,%ymm8
+  DB  196,193,124,92,192                  ; vsubps        %ymm8,%ymm0,%ymm0
+  DB  197,172,92,246                      ; vsubps        %ymm6,%ymm10,%ymm6
+  DB  197,180,94,246                      ; vdivps        %ymm6,%ymm9,%ymm6
+  DB  197,252,88,198                      ; vaddps        %ymm6,%ymm0,%ymm0
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,188,194,52,36,0                 ; vcmpeqps      (%rsp),%ymm8,%ymm6
+  DB  197,252,89,199                      ; vmulps        %ymm7,%ymm0,%ymm0
+  DB  197,253,91,192                      ; vcvtps2dq     %ymm0,%ymm0
+  DB  196,195,125,74,192,96               ; vblendvps     %ymm6,%ymm8,%ymm0,%ymm0
+  DB  197,252,17,4,36                     ; vmovups       %ymm0,(%rsp)
+  DB  197,252,16,116,36,32                ; vmovups       0x20(%rsp),%ymm6
+  DB  197,252,91,198                      ; vcvtdq2ps     %ymm6,%ymm0
+  DB  197,252,89,195                      ; vmulps        %ymm3,%ymm0,%ymm0
+  DB  197,204,84,242                      ; vandps        %ymm2,%ymm6,%ymm6
+  DB  197,204,86,241                      ; vorps         %ymm1,%ymm6,%ymm6
+  DB  197,252,88,196                      ; vaddps        %ymm4,%ymm0,%ymm0
+  DB  196,65,76,89,196                    ; vmulps        %ymm12,%ymm6,%ymm8
+  DB  196,193,124,92,192                  ; vsubps        %ymm8,%ymm0,%ymm0
+  DB  196,193,76,88,245                   ; vaddps        %ymm13,%ymm6,%ymm6
+  DB  197,140,94,246                      ; vdivps        %ymm6,%ymm14,%ymm6
+  DB  197,252,92,198                      ; vsubps        %ymm6,%ymm0,%ymm0
+  DB  197,252,89,197                      ; vmulps        %ymm5,%ymm0,%ymm0
+  DB  196,227,125,8,232,1                 ; vroundps      $0x1,%ymm0,%ymm5
+  DB  197,252,92,237                      ; vsubps        %ymm5,%ymm0,%ymm5
+  DB  196,193,124,88,199                  ; vaddps        %ymm15,%ymm0,%ymm0
+  DB  196,193,84,89,243                   ; vmulps        %ymm11,%ymm5,%ymm6
+  DB  197,252,92,198                      ; vsubps        %ymm6,%ymm0,%ymm0
+  DB  197,172,92,221                      ; vsubps        %ymm5,%ymm10,%ymm3
+  DB  197,180,94,211                      ; vdivps        %ymm3,%ymm9,%ymm2
+  DB  197,252,88,194                      ; vaddps        %ymm2,%ymm0,%ymm0
+  DB  197,252,89,199                      ; vmulps        %ymm7,%ymm0,%ymm0
+  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
+  DB  197,236,194,76,36,32,0              ; vcmpeqps      0x20(%rsp),%ymm2,%ymm1
+  DB  197,253,91,192                      ; vcvtps2dq     %ymm0,%ymm0
+  DB  196,227,125,74,242,16               ; vblendvps     %ymm1,%ymm2,%ymm0,%ymm6
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,16,132,36,192,0,0,0         ; vmovups       0xc0(%rsp),%ymm0
+  DB  197,252,16,140,36,224,0,0,0         ; vmovups       0xe0(%rsp),%ymm1
+  DB  197,252,16,148,36,0,1,0,0           ; vmovups       0x100(%rsp),%ymm2
+  DB  197,252,16,156,36,32,1,0,0          ; vmovups       0x120(%rsp),%ymm3
+  DB  197,252,16,164,36,160,0,0,0         ; vmovups       0xa0(%rsp),%ymm4
+  DB  197,252,16,44,36                    ; vmovups       (%rsp),%ymm5
+  DB  197,252,16,188,36,64,1,0,0          ; vmovups       0x140(%rsp),%ymm7
+  DB  72,129,196,120,1,0,0                ; add           $0x178,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_lab_to_xyz_avx
+_sk_lab_to_xyz_avx LABEL PROC
+  DB  196,98,125,24,5,253,130,2,0         ; vbroadcastss  0x282fd(%rip),%ymm8        # 34b8c <_sk_srcover_bgra_8888_sse2_lowp+0x374>
+  DB  196,193,124,89,192                  ; vmulps        %ymm8,%ymm0,%ymm0
+  DB  196,98,125,24,5,87,130,2,0          ; vbroadcastss  0x28257(%rip),%ymm8        # 34af4 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  DB  196,193,116,89,200                  ; vmulps        %ymm8,%ymm1,%ymm1
+  DB  196,98,125,24,13,229,130,2,0        ; vbroadcastss  0x282e5(%rip),%ymm9        # 34b90 <_sk_srcover_bgra_8888_sse2_lowp+0x378>
+  DB  196,193,116,88,201                  ; vaddps        %ymm9,%ymm1,%ymm1
+  DB  196,193,108,89,208                  ; vmulps        %ymm8,%ymm2,%ymm2
+  DB  196,193,108,88,209                  ; vaddps        %ymm9,%ymm2,%ymm2
+  DB  196,98,125,24,5,209,130,2,0         ; vbroadcastss  0x282d1(%rip),%ymm8        # 34b94 <_sk_srcover_bgra_8888_sse2_lowp+0x37c>
+  DB  196,193,124,88,192                  ; vaddps        %ymm8,%ymm0,%ymm0
+  DB  196,98,125,24,5,199,130,2,0         ; vbroadcastss  0x282c7(%rip),%ymm8        # 34b98 <_sk_srcover_bgra_8888_sse2_lowp+0x380>
+  DB  196,193,124,89,192                  ; vmulps        %ymm8,%ymm0,%ymm0
+  DB  196,98,125,24,5,189,130,2,0         ; vbroadcastss  0x282bd(%rip),%ymm8        # 34b9c <_sk_srcover_bgra_8888_sse2_lowp+0x384>
+  DB  196,193,116,89,200                  ; vmulps        %ymm8,%ymm1,%ymm1
+  DB  197,252,88,201                      ; vaddps        %ymm1,%ymm0,%ymm1
+  DB  196,98,125,24,5,175,130,2,0         ; vbroadcastss  0x282af(%rip),%ymm8        # 34ba0 <_sk_srcover_bgra_8888_sse2_lowp+0x388>
+  DB  196,193,108,89,208                  ; vmulps        %ymm8,%ymm2,%ymm2
+  DB  197,252,92,210                      ; vsubps        %ymm2,%ymm0,%ymm2
+  DB  197,116,89,193                      ; vmulps        %ymm1,%ymm1,%ymm8
+  DB  196,65,116,89,192                   ; vmulps        %ymm8,%ymm1,%ymm8
+  DB  196,98,125,24,13,152,130,2,0        ; vbroadcastss  0x28298(%rip),%ymm9        # 34ba4 <_sk_srcover_bgra_8888_sse2_lowp+0x38c>
+  DB  196,65,52,194,208,1                 ; vcmpltps      %ymm8,%ymm9,%ymm10
+  DB  196,98,125,24,29,141,130,2,0        ; vbroadcastss  0x2828d(%rip),%ymm11        # 34ba8 <_sk_srcover_bgra_8888_sse2_lowp+0x390>
+  DB  196,193,116,88,203                  ; vaddps        %ymm11,%ymm1,%ymm1
+  DB  196,98,125,24,37,131,130,2,0        ; vbroadcastss  0x28283(%rip),%ymm12        # 34bac <_sk_srcover_bgra_8888_sse2_lowp+0x394>
+  DB  196,193,116,89,204                  ; vmulps        %ymm12,%ymm1,%ymm1
+  DB  196,67,117,74,192,160               ; vblendvps     %ymm10,%ymm8,%ymm1,%ymm8
+  DB  197,252,89,200                      ; vmulps        %ymm0,%ymm0,%ymm1
+  DB  197,252,89,201                      ; vmulps        %ymm1,%ymm0,%ymm1
+  DB  197,52,194,209,1                    ; vcmpltps      %ymm1,%ymm9,%ymm10
+  DB  196,193,124,88,195                  ; vaddps        %ymm11,%ymm0,%ymm0
+  DB  196,193,124,89,196                  ; vmulps        %ymm12,%ymm0,%ymm0
+  DB  196,227,125,74,201,160              ; vblendvps     %ymm10,%ymm1,%ymm0,%ymm1
+  DB  197,236,89,194                      ; vmulps        %ymm2,%ymm2,%ymm0
+  DB  197,236,89,192                      ; vmulps        %ymm0,%ymm2,%ymm0
+  DB  197,52,194,200,1                    ; vcmpltps      %ymm0,%ymm9,%ymm9
+  DB  196,193,108,88,211                  ; vaddps        %ymm11,%ymm2,%ymm2
+  DB  196,193,108,89,212                  ; vmulps        %ymm12,%ymm2,%ymm2
+  DB  196,227,109,74,208,144              ; vblendvps     %ymm9,%ymm0,%ymm2,%ymm2
+  DB  196,226,125,24,5,57,130,2,0         ; vbroadcastss  0x28239(%rip),%ymm0        # 34bb0 <_sk_srcover_bgra_8888_sse2_lowp+0x398>
+  DB  197,188,89,192                      ; vmulps        %ymm0,%ymm8,%ymm0
+  DB  196,98,125,24,5,48,130,2,0          ; vbroadcastss  0x28230(%rip),%ymm8        # 34bb4 <_sk_srcover_bgra_8888_sse2_lowp+0x39c>
+  DB  196,193,108,89,208                  ; vmulps        %ymm8,%ymm2,%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_load_a8_avx
+_sk_load_a8_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,68                              ; jne           c9e3 <_sk_load_a8_avx+0x56>
+  DB  196,194,121,48,4,16                 ; vpmovzxbw     (%r8,%rdx,1),%xmm0
+  DB  197,249,219,5,163,138,2,0           ; vpand         0x28aa3(%rip),%xmm0,%xmm0        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  196,226,121,51,200                  ; vpmovzxwd     %xmm0,%xmm1
+  DB  197,249,112,192,78                  ; vpshufd       $0x4e,%xmm0,%xmm0
+  DB  196,226,121,51,192                  ; vpmovzxwd     %xmm0,%xmm0
+  DB  196,227,117,24,192,1                ; vinsertf128   $0x1,%xmm0,%ymm1,%ymm0
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  196,226,125,24,13,113,129,2,0       ; vbroadcastss  0x28171(%rip),%ymm1        # 34b40 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  DB  197,252,89,217                      ; vmulps        %ymm1,%ymm0,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
+  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
+  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,180                             ; ja            c9a5 <_sk_load_a8_avx+0x18>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,121,0,0,0                 ; lea           0x79(%rip),%r9        # ca74 <_sk_load_a8_avx+0xe7>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,182,4,16                      ; movzbl        (%r8,%rdx,1),%eax
+  DB  197,249,110,192                     ; vmovd         %eax,%xmm0
+  DB  235,150                             ; jmp           c9a5 <_sk_load_a8_avx+0x18>
+  DB  65,15,182,68,16,2                   ; movzbl        0x2(%r8,%rdx,1),%eax
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  197,249,196,192,2                   ; vpinsrw       $0x2,%eax,%xmm0,%xmm0
+  DB  65,15,183,4,16                      ; movzwl        (%r8,%rdx,1),%eax
+  DB  197,249,110,200                     ; vmovd         %eax,%xmm1
+  DB  196,226,121,48,201                  ; vpmovzxbw     %xmm1,%xmm1
+  DB  196,227,121,14,193,3                ; vpblendw      $0x3,%xmm1,%xmm0,%xmm0
+  DB  233,110,255,255,255                 ; jmpq          c9a5 <_sk_load_a8_avx+0x18>
+  DB  65,15,182,68,16,6                   ; movzbl        0x6(%r8,%rdx,1),%eax
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  197,249,196,192,6                   ; vpinsrw       $0x6,%eax,%xmm0,%xmm0
+  DB  65,15,182,68,16,5                   ; movzbl        0x5(%r8,%rdx,1),%eax
+  DB  197,249,196,192,5                   ; vpinsrw       $0x5,%eax,%xmm0,%xmm0
+  DB  65,15,182,68,16,4                   ; movzbl        0x4(%r8,%rdx,1),%eax
+  DB  197,249,196,192,4                   ; vpinsrw       $0x4,%eax,%xmm0,%xmm0
+  DB  196,193,121,110,12,16               ; vmovd         (%r8,%rdx,1),%xmm1
+  DB  196,226,121,48,201                  ; vpmovzxbw     %xmm1,%xmm1
+  DB  196,227,113,14,192,240              ; vpblendw      $0xf0,%xmm0,%xmm1,%xmm0
+  DB  233,51,255,255,255                  ; jmpq          c9a5 <_sk_load_a8_avx+0x18>
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  144                                 ; nop
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,170,255,255,255,155             ; ljmp          *-0x64000001(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  232,255,255,255,221                 ; callq         ffffffffde00ca84 <_sk_srcover_bgra_8888_sse2_lowp+0xffffffffddfd826c>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,210                             ; callq         *%rdx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,195                             ; inc           %ebx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_a8_dst_avx
+_sk_load_a8_dst_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,68                              ; jne           cae6 <_sk_load_a8_dst_avx+0x56>
+  DB  196,194,121,48,36,16                ; vpmovzxbw     (%r8,%rdx,1),%xmm4
+  DB  197,217,219,37,160,137,2,0          ; vpand         0x289a0(%rip),%xmm4,%xmm4        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  196,226,121,51,236                  ; vpmovzxwd     %xmm4,%xmm5
+  DB  197,249,112,228,78                  ; vpshufd       $0x4e,%xmm4,%xmm4
+  DB  196,226,121,51,228                  ; vpmovzxwd     %xmm4,%xmm4
+  DB  196,227,85,24,228,1                 ; vinsertf128   $0x1,%xmm4,%ymm5,%ymm4
+  DB  197,252,91,228                      ; vcvtdq2ps     %ymm4,%ymm4
+  DB  196,226,125,24,45,110,128,2,0       ; vbroadcastss  0x2806e(%rip),%ymm5        # 34b40 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  DB  197,220,89,253                      ; vmulps        %ymm5,%ymm4,%ymm7
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,220,87,228                      ; vxorps        %ymm4,%ymm4,%ymm4
+  DB  197,212,87,237                      ; vxorps        %ymm5,%ymm5,%ymm5
+  DB  197,204,87,246                      ; vxorps        %ymm6,%ymm6,%ymm6
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,180                             ; ja            caa8 <_sk_load_a8_dst_avx+0x18>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,122,0,0,0                 ; lea           0x7a(%rip),%r9        # cb78 <_sk_load_a8_dst_avx+0xe8>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,182,4,16                      ; movzbl        (%r8,%rdx,1),%eax
+  DB  197,249,110,224                     ; vmovd         %eax,%xmm4
+  DB  235,150                             ; jmp           caa8 <_sk_load_a8_dst_avx+0x18>
+  DB  65,15,182,68,16,2                   ; movzbl        0x2(%r8,%rdx,1),%eax
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  197,217,196,224,2                   ; vpinsrw       $0x2,%eax,%xmm4,%xmm4
+  DB  65,15,183,4,16                      ; movzwl        (%r8,%rdx,1),%eax
+  DB  197,249,110,232                     ; vmovd         %eax,%xmm5
+  DB  196,226,121,48,237                  ; vpmovzxbw     %xmm5,%xmm5
+  DB  196,227,89,14,229,3                 ; vpblendw      $0x3,%xmm5,%xmm4,%xmm4
+  DB  233,110,255,255,255                 ; jmpq          caa8 <_sk_load_a8_dst_avx+0x18>
+  DB  65,15,182,68,16,6                   ; movzbl        0x6(%r8,%rdx,1),%eax
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  197,217,196,224,6                   ; vpinsrw       $0x6,%eax,%xmm4,%xmm4
+  DB  65,15,182,68,16,5                   ; movzbl        0x5(%r8,%rdx,1),%eax
+  DB  197,217,196,224,5                   ; vpinsrw       $0x5,%eax,%xmm4,%xmm4
+  DB  65,15,182,68,16,4                   ; movzbl        0x4(%r8,%rdx,1),%eax
+  DB  197,217,196,224,4                   ; vpinsrw       $0x4,%eax,%xmm4,%xmm4
+  DB  196,193,121,110,44,16               ; vmovd         (%r8,%rdx,1),%xmm5
+  DB  196,226,121,48,237                  ; vpmovzxbw     %xmm5,%xmm5
+  DB  196,227,81,14,228,240               ; vpblendw      $0xf0,%xmm4,%xmm5,%xmm4
+  DB  233,51,255,255,255                  ; jmpq          caa8 <_sk_load_a8_dst_avx+0x18>
+  DB  15,31,0                             ; nopl          (%rax)
+  DB  143                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,169,255,255,255,154             ; ljmp          *-0x65000001(%rcx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,231                             ; jmpq          *%rdi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  220,255                             ; fdivr         %st,%st(7)
+  DB  255                                 ; (bad)
+  DB  255,209                             ; callq         *%rcx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,194                             ; inc           %edx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_gather_a8_avx
+_sk_gather_a8_avx LABEL PROC
+  DB  85                                  ; push          %rbp
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,84                               ; push          %r12
+  DB  83                                  ; push          %rbx
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,80,12                ; vbroadcastss  0xc(%rax),%ymm2
+  DB  196,227,125,25,211,1                ; vextractf128  $0x1,%ymm2,%xmm3
+  DB  196,65,57,118,192                   ; vpcmpeqd      %xmm8,%xmm8,%xmm8
+  DB  196,193,97,254,216                  ; vpaddd        %xmm8,%xmm3,%xmm3
+  DB  196,193,105,254,208                 ; vpaddd        %xmm8,%xmm2,%xmm2
+  DB  196,227,109,24,211,1                ; vinsertf128   $0x1,%xmm3,%ymm2,%ymm2
+  DB  196,65,52,87,201                    ; vxorps        %ymm9,%ymm9,%ymm9
+  DB  197,180,95,192                      ; vmaxps        %ymm0,%ymm9,%ymm0
+  DB  197,252,93,210                      ; vminps        %ymm2,%ymm0,%ymm2
+  DB  196,226,125,24,64,16                ; vbroadcastss  0x10(%rax),%ymm0
+  DB  196,227,125,25,195,1                ; vextractf128  $0x1,%ymm0,%xmm3
+  DB  196,193,97,254,216                  ; vpaddd        %xmm8,%xmm3,%xmm3
+  DB  196,193,121,254,192                 ; vpaddd        %xmm8,%xmm0,%xmm0
+  DB  196,227,125,24,195,1                ; vinsertf128   $0x1,%xmm3,%ymm0,%ymm0
+  DB  197,180,95,201                      ; vmaxps        %ymm1,%ymm9,%ymm1
+  DB  197,244,93,192                      ; vminps        %ymm0,%ymm1,%ymm0
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  197,254,91,200                      ; vcvttps2dq    %ymm0,%ymm1
+  DB  197,249,110,64,8                    ; vmovd         0x8(%rax),%xmm0
+  DB  197,249,112,216,0                   ; vpshufd       $0x0,%xmm0,%xmm3
+  DB  196,226,97,64,193                   ; vpmulld       %xmm1,%xmm3,%xmm0
+  DB  196,227,125,25,201,1                ; vextractf128  $0x1,%ymm1,%xmm1
+  DB  196,226,97,64,201                   ; vpmulld       %xmm1,%xmm3,%xmm1
+  DB  197,254,91,210                      ; vcvttps2dq    %ymm2,%ymm2
+  DB  196,227,125,25,211,1                ; vextractf128  $0x1,%ymm2,%xmm3
+  DB  197,241,254,203                     ; vpaddd        %xmm3,%xmm1,%xmm1
+  DB  196,227,249,22,200,1                ; vpextrq       $0x1,%xmm1,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  196,193,249,126,202                 ; vmovq         %xmm1,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  197,249,254,194                     ; vpaddd        %xmm2,%xmm0,%xmm0
+  DB  196,227,249,22,195,1                ; vpextrq       $0x1,%xmm0,%rbx
+  DB  65,137,222                          ; mov           %ebx,%r14d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  196,193,249,126,199                 ; vmovq         %xmm0,%r15
+  DB  69,137,252                          ; mov           %r15d,%r12d
+  DB  73,193,239,32                       ; shr           $0x20,%r15
+  DB  71,15,182,60,56                     ; movzbl        (%r8,%r15,1),%r15d
+  DB  67,15,182,44,32                     ; movzbl        (%r8,%r12,1),%ebp
+  DB  197,249,110,197                     ; vmovd         %ebp,%xmm0
+  DB  196,195,121,32,199,1                ; vpinsrb       $0x1,%r15d,%xmm0,%xmm0
+  DB  67,15,182,44,48                     ; movzbl        (%r8,%r14,1),%ebp
+  DB  196,227,121,32,197,2                ; vpinsrb       $0x2,%ebp,%xmm0,%xmm0
+  DB  65,15,182,28,24                     ; movzbl        (%r8,%rbx,1),%ebx
+  DB  196,227,121,32,195,3                ; vpinsrb       $0x3,%ebx,%xmm0,%xmm0
+  DB  196,226,121,49,192                  ; vpmovzxbd     %xmm0,%xmm0
+  DB  67,15,182,44,16                     ; movzbl        (%r8,%r10,1),%ebp
+  DB  67,15,182,28,24                     ; movzbl        (%r8,%r11,1),%ebx
+  DB  197,249,110,203                     ; vmovd         %ebx,%xmm1
+  DB  196,227,113,32,205,1                ; vpinsrb       $0x1,%ebp,%xmm1,%xmm1
+  DB  67,15,182,44,8                      ; movzbl        (%r8,%r9,1),%ebp
+  DB  196,227,113,32,205,2                ; vpinsrb       $0x2,%ebp,%xmm1,%xmm1
+  DB  65,15,182,4,0                       ; movzbl        (%r8,%rax,1),%eax
+  DB  196,227,113,32,200,3                ; vpinsrb       $0x3,%eax,%xmm1,%xmm1
+  DB  196,226,121,49,201                  ; vpmovzxbd     %xmm1,%xmm1
+  DB  196,227,125,24,193,1                ; vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  196,226,125,24,13,122,126,2,0       ; vbroadcastss  0x27e7a(%rip),%ymm1        # 34b40 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  DB  197,252,89,217                      ; vmulps        %ymm1,%ymm0,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
+  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
+  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
+  DB  91                                  ; pop           %rbx
+  DB  65,92                               ; pop           %r12
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  93                                  ; pop           %rbp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_store_a8_avx
+_sk_store_a8_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,60,95,195                       ; vmaxps        %ymm3,%ymm8,%ymm8
+  DB  196,98,125,24,13,199,125,2,0        ; vbroadcastss  0x27dc7(%rip),%ymm9        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,65,60,93,193                    ; vminps        %ymm9,%ymm8,%ymm8
+  DB  196,98,125,24,13,229,125,2,0        ; vbroadcastss  0x27de5(%rip),%ymm9        # 34af4 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  DB  196,65,60,89,193                    ; vmulps        %ymm9,%ymm8,%ymm8
+  DB  196,65,125,91,192                   ; vcvtps2dq     %ymm8,%ymm8
+  DB  196,67,125,25,193,1                 ; vextractf128  $0x1,%ymm8,%xmm9
+  DB  196,66,57,43,193                    ; vpackusdw     %xmm9,%xmm8,%xmm8
+  DB  197,57,103,192                      ; vpackuswb     %xmm0,%xmm8,%xmm8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,10                              ; jne           cd37 <_sk_store_a8_avx+0x55>
+  DB  196,65,121,214,4,16                 ; vmovq         %xmm8,(%r8,%rdx,1)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,242                             ; ja            cd33 <_sk_store_a8_avx+0x51>
+  DB  196,66,121,48,192                   ; vpmovzxbw     %xmm8,%xmm8
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,88,0,0,0                  ; lea           0x58(%rip),%r9        # cda8 <_sk_store_a8_avx+0xc6>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,67,121,20,4,16,0                ; vpextrb       $0x0,%xmm8,(%r8,%rdx,1)
+  DB  235,209                             ; jmp           cd33 <_sk_store_a8_avx+0x51>
+  DB  196,67,121,20,68,16,2,4             ; vpextrb       $0x4,%xmm8,0x2(%r8,%rdx,1)
+  DB  196,98,57,0,5,237,134,2,0           ; vpshufb       0x286ed(%rip),%xmm8,%xmm8        # 35460 <_sk_srcover_bgra_8888_sse2_lowp+0xc48>
+  DB  196,67,121,21,4,16,0                ; vpextrw       $0x0,%xmm8,(%r8,%rdx,1)
+  DB  235,183                             ; jmp           cd33 <_sk_store_a8_avx+0x51>
+  DB  196,67,121,20,68,16,6,12            ; vpextrb       $0xc,%xmm8,0x6(%r8,%rdx,1)
+  DB  196,67,121,20,68,16,5,10            ; vpextrb       $0xa,%xmm8,0x5(%r8,%rdx,1)
+  DB  196,67,121,20,68,16,4,8             ; vpextrb       $0x8,%xmm8,0x4(%r8,%rdx,1)
+  DB  196,98,57,0,5,211,134,2,0           ; vpshufb       0x286d3(%rip),%xmm8,%xmm8        # 35470 <_sk_srcover_bgra_8888_sse2_lowp+0xc58>
+  DB  196,65,121,126,4,16                 ; vmovd         %xmm8,(%r8,%rdx,1)
+  DB  235,142                             ; jmp           cd33 <_sk_store_a8_avx+0x51>
+  DB  15,31,0                             ; nopl          (%rax)
+  DB  177,255                             ; mov           $0xff,%cl
+  DB  255                                 ; (bad)
+  DB  255,194                             ; inc           %edx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  186,255,255,255,236                 ; mov           $0xecffffff,%edx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,228                             ; jmpq          *%rsp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  220,255                             ; fdivr         %st,%st(7)
+  DB  255                                 ; (bad)
+  DB  255,212                             ; callq         *%rsp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_g8_avx
+_sk_load_g8_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,73                              ; jne           ce1f <_sk_load_g8_avx+0x5b>
+  DB  196,194,121,48,4,16                 ; vpmovzxbw     (%r8,%rdx,1),%xmm0
+  DB  197,249,219,5,108,134,2,0           ; vpand         0x2866c(%rip),%xmm0,%xmm0        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  196,226,121,51,200                  ; vpmovzxwd     %xmm0,%xmm1
+  DB  197,249,112,192,78                  ; vpshufd       $0x4e,%xmm0,%xmm0
+  DB  196,226,121,51,192                  ; vpmovzxwd     %xmm0,%xmm0
+  DB  196,227,117,24,192,1                ; vinsertf128   $0x1,%xmm0,%ymm1,%ymm0
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  196,226,125,24,13,58,125,2,0        ; vbroadcastss  0x27d3a(%rip),%ymm1        # 34b40 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  DB  197,252,89,193                      ; vmulps        %ymm1,%ymm0,%ymm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,29,179,124,2,0       ; vbroadcastss  0x27cb3(%rip),%ymm3        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,252,40,200                      ; vmovaps       %ymm0,%ymm1
+  DB  197,252,40,208                      ; vmovaps       %ymm0,%ymm2
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,175                             ; ja            cddc <_sk_load_g8_avx+0x18>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,121,0,0,0                 ; lea           0x79(%rip),%r9        # ceb0 <_sk_load_g8_avx+0xec>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,182,4,16                      ; movzbl        (%r8,%rdx,1),%eax
+  DB  197,249,110,192                     ; vmovd         %eax,%xmm0
+  DB  235,145                             ; jmp           cddc <_sk_load_g8_avx+0x18>
+  DB  65,15,182,68,16,2                   ; movzbl        0x2(%r8,%rdx,1),%eax
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  197,249,196,192,2                   ; vpinsrw       $0x2,%eax,%xmm0,%xmm0
+  DB  65,15,183,4,16                      ; movzwl        (%r8,%rdx,1),%eax
+  DB  197,249,110,200                     ; vmovd         %eax,%xmm1
+  DB  196,226,121,48,201                  ; vpmovzxbw     %xmm1,%xmm1
+  DB  196,227,121,14,193,3                ; vpblendw      $0x3,%xmm1,%xmm0,%xmm0
+  DB  233,105,255,255,255                 ; jmpq          cddc <_sk_load_g8_avx+0x18>
+  DB  65,15,182,68,16,6                   ; movzbl        0x6(%r8,%rdx,1),%eax
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  197,249,196,192,6                   ; vpinsrw       $0x6,%eax,%xmm0,%xmm0
+  DB  65,15,182,68,16,5                   ; movzbl        0x5(%r8,%rdx,1),%eax
+  DB  197,249,196,192,5                   ; vpinsrw       $0x5,%eax,%xmm0,%xmm0
+  DB  65,15,182,68,16,4                   ; movzbl        0x4(%r8,%rdx,1),%eax
+  DB  197,249,196,192,4                   ; vpinsrw       $0x4,%eax,%xmm0,%xmm0
+  DB  196,193,121,110,12,16               ; vmovd         (%r8,%rdx,1),%xmm1
+  DB  196,226,121,48,201                  ; vpmovzxbw     %xmm1,%xmm1
+  DB  196,227,113,14,192,240              ; vpblendw      $0xf0,%xmm0,%xmm1,%xmm0
+  DB  233,46,255,255,255                  ; jmpq          cddc <_sk_load_g8_avx+0x18>
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  144                                 ; nop
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,170,255,255,255,155             ; ljmp          *-0x64000001(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  232,255,255,255,221                 ; callq         ffffffffde00cec0 <_sk_srcover_bgra_8888_sse2_lowp+0xffffffffddfd86a8>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,210                             ; callq         *%rdx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,195                             ; inc           %ebx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_g8_dst_avx
+_sk_load_g8_dst_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,73                              ; jne           cf27 <_sk_load_g8_dst_avx+0x5b>
+  DB  196,194,121,48,36,16                ; vpmovzxbw     (%r8,%rdx,1),%xmm4
+  DB  197,217,219,37,100,133,2,0          ; vpand         0x28564(%rip),%xmm4,%xmm4        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  196,226,121,51,236                  ; vpmovzxwd     %xmm4,%xmm5
+  DB  197,249,112,228,78                  ; vpshufd       $0x4e,%xmm4,%xmm4
+  DB  196,226,121,51,228                  ; vpmovzxwd     %xmm4,%xmm4
+  DB  196,227,85,24,228,1                 ; vinsertf128   $0x1,%xmm4,%ymm5,%ymm4
+  DB  197,252,91,228                      ; vcvtdq2ps     %ymm4,%ymm4
+  DB  196,226,125,24,45,50,124,2,0        ; vbroadcastss  0x27c32(%rip),%ymm5        # 34b40 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  DB  197,220,89,229                      ; vmulps        %ymm5,%ymm4,%ymm4
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,61,171,123,2,0       ; vbroadcastss  0x27bab(%rip),%ymm7        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,252,40,236                      ; vmovaps       %ymm4,%ymm5
+  DB  197,252,40,244                      ; vmovaps       %ymm4,%ymm6
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,175                             ; ja            cee4 <_sk_load_g8_dst_avx+0x18>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,121,0,0,0                 ; lea           0x79(%rip),%r9        # cfb8 <_sk_load_g8_dst_avx+0xec>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,182,4,16                      ; movzbl        (%r8,%rdx,1),%eax
+  DB  197,249,110,224                     ; vmovd         %eax,%xmm4
+  DB  235,145                             ; jmp           cee4 <_sk_load_g8_dst_avx+0x18>
+  DB  65,15,182,68,16,2                   ; movzbl        0x2(%r8,%rdx,1),%eax
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  197,217,196,224,2                   ; vpinsrw       $0x2,%eax,%xmm4,%xmm4
+  DB  65,15,183,4,16                      ; movzwl        (%r8,%rdx,1),%eax
+  DB  197,249,110,232                     ; vmovd         %eax,%xmm5
+  DB  196,226,121,48,237                  ; vpmovzxbw     %xmm5,%xmm5
+  DB  196,227,89,14,229,3                 ; vpblendw      $0x3,%xmm5,%xmm4,%xmm4
+  DB  233,105,255,255,255                 ; jmpq          cee4 <_sk_load_g8_dst_avx+0x18>
+  DB  65,15,182,68,16,6                   ; movzbl        0x6(%r8,%rdx,1),%eax
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  197,217,196,224,6                   ; vpinsrw       $0x6,%eax,%xmm4,%xmm4
+  DB  65,15,182,68,16,5                   ; movzbl        0x5(%r8,%rdx,1),%eax
+  DB  197,217,196,224,5                   ; vpinsrw       $0x5,%eax,%xmm4,%xmm4
+  DB  65,15,182,68,16,4                   ; movzbl        0x4(%r8,%rdx,1),%eax
+  DB  197,217,196,224,4                   ; vpinsrw       $0x4,%eax,%xmm4,%xmm4
+  DB  196,193,121,110,44,16               ; vmovd         (%r8,%rdx,1),%xmm5
+  DB  196,226,121,48,237                  ; vpmovzxbw     %xmm5,%xmm5
+  DB  196,227,81,14,228,240               ; vpblendw      $0xf0,%xmm4,%xmm5,%xmm4
+  DB  233,46,255,255,255                  ; jmpq          cee4 <_sk_load_g8_dst_avx+0x18>
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  144                                 ; nop
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,170,255,255,255,155             ; ljmp          *-0x64000001(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  232,255,255,255,221                 ; callq         ffffffffde00cfc8 <_sk_srcover_bgra_8888_sse2_lowp+0xffffffffddfd87b0>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,210                             ; callq         *%rdx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,195                             ; inc           %ebx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_gather_g8_avx
+_sk_gather_g8_avx LABEL PROC
+  DB  85                                  ; push          %rbp
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,84                               ; push          %r12
+  DB  83                                  ; push          %rbx
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,80,12                ; vbroadcastss  0xc(%rax),%ymm2
+  DB  196,227,125,25,211,1                ; vextractf128  $0x1,%ymm2,%xmm3
+  DB  196,65,57,118,192                   ; vpcmpeqd      %xmm8,%xmm8,%xmm8
+  DB  196,193,97,254,216                  ; vpaddd        %xmm8,%xmm3,%xmm3
+  DB  196,193,105,254,208                 ; vpaddd        %xmm8,%xmm2,%xmm2
+  DB  196,227,109,24,211,1                ; vinsertf128   $0x1,%xmm3,%ymm2,%ymm2
+  DB  196,65,52,87,201                    ; vxorps        %ymm9,%ymm9,%ymm9
+  DB  197,180,95,192                      ; vmaxps        %ymm0,%ymm9,%ymm0
+  DB  197,252,93,210                      ; vminps        %ymm2,%ymm0,%ymm2
+  DB  196,226,125,24,64,16                ; vbroadcastss  0x10(%rax),%ymm0
+  DB  196,227,125,25,195,1                ; vextractf128  $0x1,%ymm0,%xmm3
+  DB  196,193,97,254,216                  ; vpaddd        %xmm8,%xmm3,%xmm3
+  DB  196,193,121,254,192                 ; vpaddd        %xmm8,%xmm0,%xmm0
+  DB  196,227,125,24,195,1                ; vinsertf128   $0x1,%xmm3,%ymm0,%ymm0
+  DB  197,180,95,201                      ; vmaxps        %ymm1,%ymm9,%ymm1
+  DB  197,244,93,192                      ; vminps        %ymm0,%ymm1,%ymm0
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  197,254,91,200                      ; vcvttps2dq    %ymm0,%ymm1
+  DB  197,249,110,64,8                    ; vmovd         0x8(%rax),%xmm0
+  DB  197,249,112,216,0                   ; vpshufd       $0x0,%xmm0,%xmm3
+  DB  196,226,97,64,193                   ; vpmulld       %xmm1,%xmm3,%xmm0
+  DB  196,227,125,25,201,1                ; vextractf128  $0x1,%ymm1,%xmm1
+  DB  196,226,97,64,201                   ; vpmulld       %xmm1,%xmm3,%xmm1
+  DB  197,254,91,210                      ; vcvttps2dq    %ymm2,%ymm2
+  DB  196,227,125,25,211,1                ; vextractf128  $0x1,%ymm2,%xmm3
+  DB  197,241,254,203                     ; vpaddd        %xmm3,%xmm1,%xmm1
+  DB  196,227,249,22,200,1                ; vpextrq       $0x1,%xmm1,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  196,193,249,126,202                 ; vmovq         %xmm1,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  197,249,254,194                     ; vpaddd        %xmm2,%xmm0,%xmm0
+  DB  196,227,249,22,195,1                ; vpextrq       $0x1,%xmm0,%rbx
+  DB  65,137,222                          ; mov           %ebx,%r14d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  196,193,249,126,199                 ; vmovq         %xmm0,%r15
+  DB  69,137,252                          ; mov           %r15d,%r12d
+  DB  73,193,239,32                       ; shr           $0x20,%r15
+  DB  71,15,182,60,56                     ; movzbl        (%r8,%r15,1),%r15d
+  DB  67,15,182,44,32                     ; movzbl        (%r8,%r12,1),%ebp
+  DB  197,249,110,197                     ; vmovd         %ebp,%xmm0
+  DB  196,195,121,32,199,1                ; vpinsrb       $0x1,%r15d,%xmm0,%xmm0
+  DB  67,15,182,44,48                     ; movzbl        (%r8,%r14,1),%ebp
+  DB  196,227,121,32,197,2                ; vpinsrb       $0x2,%ebp,%xmm0,%xmm0
+  DB  65,15,182,28,24                     ; movzbl        (%r8,%rbx,1),%ebx
+  DB  196,227,121,32,195,3                ; vpinsrb       $0x3,%ebx,%xmm0,%xmm0
+  DB  196,226,121,49,192                  ; vpmovzxbd     %xmm0,%xmm0
+  DB  67,15,182,44,16                     ; movzbl        (%r8,%r10,1),%ebp
+  DB  67,15,182,28,24                     ; movzbl        (%r8,%r11,1),%ebx
+  DB  197,249,110,203                     ; vmovd         %ebx,%xmm1
+  DB  196,227,113,32,205,1                ; vpinsrb       $0x1,%ebp,%xmm1,%xmm1
+  DB  67,15,182,44,8                      ; movzbl        (%r8,%r9,1),%ebp
+  DB  196,227,113,32,205,2                ; vpinsrb       $0x2,%ebp,%xmm1,%xmm1
+  DB  65,15,182,4,0                       ; movzbl        (%r8,%rax,1),%eax
+  DB  196,227,113,32,200,3                ; vpinsrb       $0x3,%eax,%xmm1,%xmm1
+  DB  196,226,121,49,201                  ; vpmovzxbd     %xmm1,%xmm1
+  DB  196,227,125,24,193,1                ; vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  196,226,125,24,13,58,122,2,0        ; vbroadcastss  0x27a3a(%rip),%ymm1        # 34b40 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  DB  197,252,89,193                      ; vmulps        %ymm1,%ymm0,%ymm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,29,179,121,2,0       ; vbroadcastss  0x279b3(%rip),%ymm3        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,252,40,200                      ; vmovaps       %ymm0,%ymm1
+  DB  197,252,40,208                      ; vmovaps       %ymm0,%ymm2
+  DB  91                                  ; pop           %rbx
+  DB  65,92                               ; pop           %r12
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  93                                  ; pop           %rbp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_load_565_avx
+_sk_load_565_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,130,0,0,0                    ; jne           d1c2 <_sk_load_565_avx+0x9b>
+  DB  196,193,122,111,4,80                ; vmovdqu       (%r8,%rdx,2),%xmm0
+  DB  196,226,121,51,200                  ; vpmovzxwd     %xmm0,%xmm1
+  DB  197,249,112,192,78                  ; vpshufd       $0x4e,%xmm0,%xmm0
+  DB  196,226,121,51,192                  ; vpmovzxwd     %xmm0,%xmm0
+  DB  196,227,117,24,208,1                ; vinsertf128   $0x1,%xmm0,%ymm1,%ymm2
+  DB  196,226,125,24,5,224,121,2,0        ; vbroadcastss  0x279e0(%rip),%ymm0        # 34b44 <_sk_srcover_bgra_8888_sse2_lowp+0x32c>
+  DB  197,236,84,192                      ; vandps        %ymm0,%ymm2,%ymm0
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  196,226,125,24,13,211,121,2,0       ; vbroadcastss  0x279d3(%rip),%ymm1        # 34b48 <_sk_srcover_bgra_8888_sse2_lowp+0x330>
+  DB  197,252,89,193                      ; vmulps        %ymm1,%ymm0,%ymm0
+  DB  196,226,125,24,13,202,121,2,0       ; vbroadcastss  0x279ca(%rip),%ymm1        # 34b4c <_sk_srcover_bgra_8888_sse2_lowp+0x334>
+  DB  197,236,84,201                      ; vandps        %ymm1,%ymm2,%ymm1
+  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
+  DB  196,226,125,24,29,189,121,2,0       ; vbroadcastss  0x279bd(%rip),%ymm3        # 34b50 <_sk_srcover_bgra_8888_sse2_lowp+0x338>
+  DB  197,244,89,203                      ; vmulps        %ymm3,%ymm1,%ymm1
+  DB  196,226,125,24,29,180,121,2,0       ; vbroadcastss  0x279b4(%rip),%ymm3        # 34b54 <_sk_srcover_bgra_8888_sse2_lowp+0x33c>
+  DB  197,236,84,211                      ; vandps        %ymm3,%ymm2,%ymm2
+  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
+  DB  196,226,125,24,29,167,121,2,0       ; vbroadcastss  0x279a7(%rip),%ymm3        # 34b58 <_sk_srcover_bgra_8888_sse2_lowp+0x340>
+  DB  197,236,89,211                      ; vmulps        %ymm3,%ymm2,%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,29,8,121,2,0         ; vbroadcastss  0x27908(%rip),%ymm3        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  15,135,114,255,255,255              ; ja            d146 <_sk_load_565_avx+0x1f>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,98,0,0,0                  ; lea           0x62(%rip),%r9        # d240 <_sk_load_565_avx+0x119>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,183,4,80                      ; movzwl        (%r8,%rdx,2),%eax
+  DB  197,249,110,192                     ; vmovd         %eax,%xmm0
+  DB  233,81,255,255,255                  ; jmpq          d146 <_sk_load_565_avx+0x1f>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  196,193,121,196,68,80,4,2           ; vpinsrw       $0x2,0x4(%r8,%rdx,2),%xmm0,%xmm0
+  DB  196,193,121,110,12,80               ; vmovd         (%r8,%rdx,2),%xmm1
+  DB  196,227,121,14,193,3                ; vpblendw      $0x3,%xmm1,%xmm0,%xmm0
+  DB  233,52,255,255,255                  ; jmpq          d146 <_sk_load_565_avx+0x1f>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  196,193,121,196,68,80,12,6          ; vpinsrw       $0x6,0xc(%r8,%rdx,2),%xmm0,%xmm0
+  DB  196,193,121,196,68,80,10,5          ; vpinsrw       $0x5,0xa(%r8,%rdx,2),%xmm0,%xmm0
+  DB  196,193,121,196,68,80,8,4           ; vpinsrw       $0x4,0x8(%r8,%rdx,2),%xmm0,%xmm0
+  DB  196,193,122,126,12,80               ; vmovq         (%r8,%rdx,2),%xmm1
+  DB  196,227,113,14,192,240              ; vpblendw      $0xf0,%xmm0,%xmm1,%xmm0
+  DB  233,7,255,255,255                   ; jmpq          d146 <_sk_load_565_avx+0x1f>
+  DB  144                                 ; nop
+  DB  167                                 ; cmpsl         %es:(%rdi),%ds:(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,193                             ; inc           %ecx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,181,255,255,255,238             ; pushq         -0x11000001(%rbp)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,230                             ; jmpq          *%rsi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  222,255                             ; fdivrp        %st,%st(7)
+  DB  255                                 ; (bad)
+  DB  255,210                             ; callq         *%rdx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_565_dst_avx
+_sk_load_565_dst_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,130,0,0,0                    ; jne           d2f7 <_sk_load_565_dst_avx+0x9b>
+  DB  196,193,122,111,36,80               ; vmovdqu       (%r8,%rdx,2),%xmm4
+  DB  196,226,121,51,236                  ; vpmovzxwd     %xmm4,%xmm5
+  DB  197,249,112,228,78                  ; vpshufd       $0x4e,%xmm4,%xmm4
+  DB  196,226,121,51,228                  ; vpmovzxwd     %xmm4,%xmm4
+  DB  196,227,85,24,244,1                 ; vinsertf128   $0x1,%xmm4,%ymm5,%ymm6
+  DB  196,226,125,24,37,171,120,2,0       ; vbroadcastss  0x278ab(%rip),%ymm4        # 34b44 <_sk_srcover_bgra_8888_sse2_lowp+0x32c>
+  DB  197,204,84,228                      ; vandps        %ymm4,%ymm6,%ymm4
+  DB  197,252,91,228                      ; vcvtdq2ps     %ymm4,%ymm4
+  DB  196,226,125,24,45,158,120,2,0       ; vbroadcastss  0x2789e(%rip),%ymm5        # 34b48 <_sk_srcover_bgra_8888_sse2_lowp+0x330>
+  DB  197,220,89,229                      ; vmulps        %ymm5,%ymm4,%ymm4
+  DB  196,226,125,24,45,149,120,2,0       ; vbroadcastss  0x27895(%rip),%ymm5        # 34b4c <_sk_srcover_bgra_8888_sse2_lowp+0x334>
+  DB  197,204,84,237                      ; vandps        %ymm5,%ymm6,%ymm5
+  DB  197,252,91,237                      ; vcvtdq2ps     %ymm5,%ymm5
+  DB  196,226,125,24,61,136,120,2,0       ; vbroadcastss  0x27888(%rip),%ymm7        # 34b50 <_sk_srcover_bgra_8888_sse2_lowp+0x338>
+  DB  197,212,89,239                      ; vmulps        %ymm7,%ymm5,%ymm5
+  DB  196,226,125,24,61,127,120,2,0       ; vbroadcastss  0x2787f(%rip),%ymm7        # 34b54 <_sk_srcover_bgra_8888_sse2_lowp+0x33c>
+  DB  197,204,84,247                      ; vandps        %ymm7,%ymm6,%ymm6
+  DB  197,252,91,246                      ; vcvtdq2ps     %ymm6,%ymm6
+  DB  196,226,125,24,61,114,120,2,0       ; vbroadcastss  0x27872(%rip),%ymm7        # 34b58 <_sk_srcover_bgra_8888_sse2_lowp+0x340>
+  DB  197,204,89,247                      ; vmulps        %ymm7,%ymm6,%ymm6
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,61,211,119,2,0       ; vbroadcastss  0x277d3(%rip),%ymm7        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  15,135,114,255,255,255              ; ja            d27b <_sk_load_565_dst_avx+0x1f>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,97,0,0,0                  ; lea           0x61(%rip),%r9        # d374 <_sk_load_565_dst_avx+0x118>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,183,4,80                      ; movzwl        (%r8,%rdx,2),%eax
+  DB  197,249,110,224                     ; vmovd         %eax,%xmm4
+  DB  233,81,255,255,255                  ; jmpq          d27b <_sk_load_565_dst_avx+0x1f>
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  196,193,89,196,100,80,4,2           ; vpinsrw       $0x2,0x4(%r8,%rdx,2),%xmm4,%xmm4
+  DB  196,193,121,110,44,80               ; vmovd         (%r8,%rdx,2),%xmm5
+  DB  196,227,89,14,229,3                 ; vpblendw      $0x3,%xmm5,%xmm4,%xmm4
+  DB  233,52,255,255,255                  ; jmpq          d27b <_sk_load_565_dst_avx+0x1f>
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  196,193,89,196,100,80,12,6          ; vpinsrw       $0x6,0xc(%r8,%rdx,2),%xmm4,%xmm4
+  DB  196,193,89,196,100,80,10,5          ; vpinsrw       $0x5,0xa(%r8,%rdx,2),%xmm4,%xmm4
+  DB  196,193,89,196,100,80,8,4           ; vpinsrw       $0x4,0x8(%r8,%rdx,2),%xmm4,%xmm4
+  DB  196,193,122,126,44,80               ; vmovq         (%r8,%rdx,2),%xmm5
+  DB  196,227,81,14,228,240               ; vpblendw      $0xf0,%xmm4,%xmm5,%xmm4
+  DB  233,7,255,255,255                   ; jmpq          d27b <_sk_load_565_dst_avx+0x1f>
+  DB  168,255                             ; test          $0xff,%al
+  DB  255                                 ; (bad)
+  DB  255,194                             ; inc           %edx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,182,255,255,255,239             ; pushq         -0x10000001(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,231                             ; jmpq          *%rdi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  223,255                             ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,211                             ; callq         *%rbx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_gather_565_avx
+_sk_gather_565_avx LABEL PROC
+  DB  85                                  ; push          %rbp
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,84                               ; push          %r12
+  DB  83                                  ; push          %rbx
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,80,12                ; vbroadcastss  0xc(%rax),%ymm2
+  DB  196,227,125,25,211,1                ; vextractf128  $0x1,%ymm2,%xmm3
+  DB  196,65,57,118,192                   ; vpcmpeqd      %xmm8,%xmm8,%xmm8
+  DB  196,193,97,254,216                  ; vpaddd        %xmm8,%xmm3,%xmm3
+  DB  196,193,105,254,208                 ; vpaddd        %xmm8,%xmm2,%xmm2
+  DB  196,227,109,24,211,1                ; vinsertf128   $0x1,%xmm3,%ymm2,%ymm2
+  DB  196,65,52,87,201                    ; vxorps        %ymm9,%ymm9,%ymm9
+  DB  197,180,95,192                      ; vmaxps        %ymm0,%ymm9,%ymm0
+  DB  197,252,93,210                      ; vminps        %ymm2,%ymm0,%ymm2
+  DB  196,226,125,24,64,16                ; vbroadcastss  0x10(%rax),%ymm0
+  DB  196,227,125,25,195,1                ; vextractf128  $0x1,%ymm0,%xmm3
+  DB  196,193,97,254,216                  ; vpaddd        %xmm8,%xmm3,%xmm3
+  DB  196,193,121,254,192                 ; vpaddd        %xmm8,%xmm0,%xmm0
+  DB  196,227,125,24,195,1                ; vinsertf128   $0x1,%xmm3,%ymm0,%ymm0
+  DB  197,180,95,201                      ; vmaxps        %ymm1,%ymm9,%ymm1
+  DB  197,244,93,192                      ; vminps        %ymm0,%ymm1,%ymm0
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  197,254,91,200                      ; vcvttps2dq    %ymm0,%ymm1
+  DB  197,249,110,64,8                    ; vmovd         0x8(%rax),%xmm0
+  DB  197,249,112,216,0                   ; vpshufd       $0x0,%xmm0,%xmm3
+  DB  196,226,97,64,193                   ; vpmulld       %xmm1,%xmm3,%xmm0
+  DB  196,227,125,25,201,1                ; vextractf128  $0x1,%ymm1,%xmm1
+  DB  196,226,97,64,201                   ; vpmulld       %xmm1,%xmm3,%xmm1
+  DB  197,254,91,210                      ; vcvttps2dq    %ymm2,%ymm2
+  DB  196,227,125,25,211,1                ; vextractf128  $0x1,%ymm2,%xmm3
+  DB  197,241,254,203                     ; vpaddd        %xmm3,%xmm1,%xmm1
+  DB  196,227,249,22,200,1                ; vpextrq       $0x1,%xmm1,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  196,193,249,126,202                 ; vmovq         %xmm1,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  197,249,254,194                     ; vpaddd        %xmm2,%xmm0,%xmm0
+  DB  196,227,249,22,195,1                ; vpextrq       $0x1,%xmm0,%rbx
+  DB  65,137,222                          ; mov           %ebx,%r14d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  196,193,249,126,199                 ; vmovq         %xmm0,%r15
+  DB  69,137,252                          ; mov           %r15d,%r12d
+  DB  73,193,239,32                       ; shr           $0x20,%r15
+  DB  71,15,183,60,120                    ; movzwl        (%r8,%r15,2),%r15d
+  DB  67,15,183,44,96                     ; movzwl        (%r8,%r12,2),%ebp
+  DB  197,249,110,197                     ; vmovd         %ebp,%xmm0
+  DB  196,193,121,196,199,1               ; vpinsrw       $0x1,%r15d,%xmm0,%xmm0
+  DB  67,15,183,44,112                    ; movzwl        (%r8,%r14,2),%ebp
+  DB  197,249,196,197,2                   ; vpinsrw       $0x2,%ebp,%xmm0,%xmm0
+  DB  65,15,183,28,88                     ; movzwl        (%r8,%rbx,2),%ebx
+  DB  197,249,196,195,3                   ; vpinsrw       $0x3,%ebx,%xmm0,%xmm0
+  DB  67,15,183,44,88                     ; movzwl        (%r8,%r11,2),%ebp
+  DB  197,249,196,197,4                   ; vpinsrw       $0x4,%ebp,%xmm0,%xmm0
+  DB  67,15,183,44,80                     ; movzwl        (%r8,%r10,2),%ebp
+  DB  197,249,196,197,5                   ; vpinsrw       $0x5,%ebp,%xmm0,%xmm0
+  DB  67,15,183,44,72                     ; movzwl        (%r8,%r9,2),%ebp
+  DB  197,249,196,197,6                   ; vpinsrw       $0x6,%ebp,%xmm0,%xmm0
+  DB  65,15,183,4,64                      ; movzwl        (%r8,%rax,2),%eax
+  DB  197,249,196,192,7                   ; vpinsrw       $0x7,%eax,%xmm0,%xmm0
+  DB  196,226,121,51,200                  ; vpmovzxwd     %xmm0,%xmm1
+  DB  197,249,112,192,78                  ; vpshufd       $0x4e,%xmm0,%xmm0
+  DB  196,226,121,51,192                  ; vpmovzxwd     %xmm0,%xmm0
+  DB  196,227,117,24,208,1                ; vinsertf128   $0x1,%xmm0,%ymm1,%ymm2
+  DB  196,226,125,24,5,133,118,2,0        ; vbroadcastss  0x27685(%rip),%ymm0        # 34b44 <_sk_srcover_bgra_8888_sse2_lowp+0x32c>
+  DB  197,236,84,192                      ; vandps        %ymm0,%ymm2,%ymm0
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  196,226,125,24,13,120,118,2,0       ; vbroadcastss  0x27678(%rip),%ymm1        # 34b48 <_sk_srcover_bgra_8888_sse2_lowp+0x330>
+  DB  197,252,89,193                      ; vmulps        %ymm1,%ymm0,%ymm0
+  DB  196,226,125,24,13,111,118,2,0       ; vbroadcastss  0x2766f(%rip),%ymm1        # 34b4c <_sk_srcover_bgra_8888_sse2_lowp+0x334>
+  DB  197,236,84,201                      ; vandps        %ymm1,%ymm2,%ymm1
+  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
+  DB  196,226,125,24,29,98,118,2,0        ; vbroadcastss  0x27662(%rip),%ymm3        # 34b50 <_sk_srcover_bgra_8888_sse2_lowp+0x338>
+  DB  197,244,89,203                      ; vmulps        %ymm3,%ymm1,%ymm1
+  DB  196,226,125,24,29,89,118,2,0        ; vbroadcastss  0x27659(%rip),%ymm3        # 34b54 <_sk_srcover_bgra_8888_sse2_lowp+0x33c>
+  DB  197,236,84,211                      ; vandps        %ymm3,%ymm2,%ymm2
+  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
+  DB  196,226,125,24,29,76,118,2,0        ; vbroadcastss  0x2764c(%rip),%ymm3        # 34b58 <_sk_srcover_bgra_8888_sse2_lowp+0x340>
+  DB  197,236,89,211                      ; vmulps        %ymm3,%ymm2,%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,29,173,117,2,0       ; vbroadcastss  0x275ad(%rip),%ymm3        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  91                                  ; pop           %rbx
+  DB  65,92                               ; pop           %r12
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  93                                  ; pop           %rbp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_store_565_avx
+_sk_store_565_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,60,95,200                       ; vmaxps        %ymm0,%ymm8,%ymm9
+  DB  196,98,125,24,21,129,117,2,0        ; vbroadcastss  0x27581(%rip),%ymm10        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,65,52,93,202                    ; vminps        %ymm10,%ymm9,%ymm9
+  DB  196,98,125,24,29,99,118,2,0         ; vbroadcastss  0x27663(%rip),%ymm11        # 34bb8 <_sk_srcover_bgra_8888_sse2_lowp+0x3a0>
+  DB  196,65,52,89,203                    ; vmulps        %ymm11,%ymm9,%ymm9
+  DB  196,65,125,91,201                   ; vcvtps2dq     %ymm9,%ymm9
+  DB  196,193,25,114,241,11               ; vpslld        $0xb,%xmm9,%xmm12
+  DB  196,67,125,25,201,1                 ; vextractf128  $0x1,%ymm9,%xmm9
+  DB  196,193,49,114,241,11               ; vpslld        $0xb,%xmm9,%xmm9
+  DB  196,67,29,24,201,1                  ; vinsertf128   $0x1,%xmm9,%ymm12,%ymm9
+  DB  197,60,95,225                       ; vmaxps        %ymm1,%ymm8,%ymm12
+  DB  196,65,28,93,226                    ; vminps        %ymm10,%ymm12,%ymm12
+  DB  196,98,125,24,45,51,118,2,0         ; vbroadcastss  0x27633(%rip),%ymm13        # 34bbc <_sk_srcover_bgra_8888_sse2_lowp+0x3a4>
+  DB  196,65,28,89,229                    ; vmulps        %ymm13,%ymm12,%ymm12
+  DB  196,65,125,91,228                   ; vcvtps2dq     %ymm12,%ymm12
+  DB  196,193,17,114,244,5                ; vpslld        $0x5,%xmm12,%xmm13
+  DB  196,67,125,25,228,1                 ; vextractf128  $0x1,%ymm12,%xmm12
+  DB  196,193,25,114,244,5                ; vpslld        $0x5,%xmm12,%xmm12
+  DB  196,67,21,24,228,1                  ; vinsertf128   $0x1,%xmm12,%ymm13,%ymm12
+  DB  196,65,29,86,201                    ; vorpd         %ymm9,%ymm12,%ymm9
+  DB  197,60,95,194                       ; vmaxps        %ymm2,%ymm8,%ymm8
+  DB  196,65,60,93,194                    ; vminps        %ymm10,%ymm8,%ymm8
+  DB  196,65,60,89,195                    ; vmulps        %ymm11,%ymm8,%ymm8
+  DB  196,65,125,91,192                   ; vcvtps2dq     %ymm8,%ymm8
+  DB  196,65,53,86,192                    ; vorpd         %ymm8,%ymm9,%ymm8
+  DB  196,67,125,25,193,1                 ; vextractf128  $0x1,%ymm8,%xmm9
+  DB  196,66,57,43,193                    ; vpackusdw     %xmm9,%xmm8,%xmm8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,10                              ; jne           d5e2 <_sk_store_565_avx+0xbd>
+  DB  196,65,122,127,4,80                 ; vmovdqu       %xmm8,(%r8,%rdx,2)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,242                             ; ja            d5de <_sk_store_565_avx+0xb9>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,66,0,0,0                  ; lea           0x42(%rip),%r9        # d638 <_sk_store_565_avx+0x113>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,67,121,21,4,80,0                ; vpextrw       $0x0,%xmm8,(%r8,%rdx,2)
+  DB  235,214                             ; jmp           d5de <_sk_store_565_avx+0xb9>
+  DB  196,67,121,21,68,80,4,2             ; vpextrw       $0x2,%xmm8,0x4(%r8,%rdx,2)
+  DB  196,65,121,126,4,80                 ; vmovd         %xmm8,(%r8,%rdx,2)
+  DB  235,198                             ; jmp           d5de <_sk_store_565_avx+0xb9>
+  DB  196,67,121,21,68,80,12,6            ; vpextrw       $0x6,%xmm8,0xc(%r8,%rdx,2)
+  DB  196,67,121,21,68,80,10,5            ; vpextrw       $0x5,%xmm8,0xa(%r8,%rdx,2)
+  DB  196,67,121,21,68,80,8,4             ; vpextrw       $0x4,%xmm8,0x8(%r8,%rdx,2)
+  DB  196,65,121,214,4,80                 ; vmovq         %xmm8,(%r8,%rdx,2)
+  DB  235,166                             ; jmp           d5de <_sk_store_565_avx+0xb9>
+  DB  199                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  216,255                             ; fdivr         %st(7),%st
+  DB  255                                 ; (bad)
+  DB  255,208                             ; callq         *%rax
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  248                                 ; clc
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,240                             ; push          %rax
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  232,255,255,255,224                 ; callq         ffffffffe100d650 <_sk_srcover_bgra_8888_sse2_lowp+0xffffffffe0fd8e38>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_4444_avx
+_sk_load_4444_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,154,0,0,0                    ; jne           d707 <_sk_load_4444_avx+0xb3>
+  DB  196,193,122,111,4,80                ; vmovdqu       (%r8,%rdx,2),%xmm0
+  DB  196,226,121,51,200                  ; vpmovzxwd     %xmm0,%xmm1
+  DB  197,249,112,192,78                  ; vpshufd       $0x4e,%xmm0,%xmm0
+  DB  196,226,121,51,192                  ; vpmovzxwd     %xmm0,%xmm0
+  DB  196,227,117,24,216,1                ; vinsertf128   $0x1,%xmm0,%ymm1,%ymm3
+  DB  196,226,125,24,5,47,117,2,0         ; vbroadcastss  0x2752f(%rip),%ymm0        # 34bc0 <_sk_srcover_bgra_8888_sse2_lowp+0x3a8>
+  DB  197,228,84,192                      ; vandps        %ymm0,%ymm3,%ymm0
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  196,226,125,24,13,34,117,2,0        ; vbroadcastss  0x27522(%rip),%ymm1        # 34bc4 <_sk_srcover_bgra_8888_sse2_lowp+0x3ac>
+  DB  197,252,89,193                      ; vmulps        %ymm1,%ymm0,%ymm0
+  DB  196,226,125,24,13,25,117,2,0        ; vbroadcastss  0x27519(%rip),%ymm1        # 34bc8 <_sk_srcover_bgra_8888_sse2_lowp+0x3b0>
+  DB  197,228,84,201                      ; vandps        %ymm1,%ymm3,%ymm1
+  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
+  DB  196,226,125,24,21,12,117,2,0        ; vbroadcastss  0x2750c(%rip),%ymm2        # 34bcc <_sk_srcover_bgra_8888_sse2_lowp+0x3b4>
+  DB  197,244,89,202                      ; vmulps        %ymm2,%ymm1,%ymm1
+  DB  196,226,125,24,21,3,117,2,0         ; vbroadcastss  0x27503(%rip),%ymm2        # 34bd0 <_sk_srcover_bgra_8888_sse2_lowp+0x3b8>
+  DB  197,228,84,210                      ; vandps        %ymm2,%ymm3,%ymm2
+  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
+  DB  196,98,125,24,5,246,116,2,0         ; vbroadcastss  0x274f6(%rip),%ymm8        # 34bd4 <_sk_srcover_bgra_8888_sse2_lowp+0x3bc>
+  DB  196,193,108,89,208                  ; vmulps        %ymm8,%ymm2,%ymm2
+  DB  196,98,125,24,5,236,116,2,0         ; vbroadcastss  0x274ec(%rip),%ymm8        # 34bd8 <_sk_srcover_bgra_8888_sse2_lowp+0x3c0>
+  DB  196,193,100,84,216                  ; vandps        %ymm8,%ymm3,%ymm3
+  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
+  DB  196,98,125,24,5,222,116,2,0         ; vbroadcastss  0x274de(%rip),%ymm8        # 34bdc <_sk_srcover_bgra_8888_sse2_lowp+0x3c4>
+  DB  196,193,100,89,216                  ; vmulps        %ymm8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  15,135,90,255,255,255               ; ja            d673 <_sk_load_4444_avx+0x1f>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,97,0,0,0                  ; lea           0x61(%rip),%r9        # d784 <_sk_load_4444_avx+0x130>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,183,4,80                      ; movzwl        (%r8,%rdx,2),%eax
+  DB  197,249,110,192                     ; vmovd         %eax,%xmm0
+  DB  233,57,255,255,255                  ; jmpq          d673 <_sk_load_4444_avx+0x1f>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  196,193,121,196,68,80,4,2           ; vpinsrw       $0x2,0x4(%r8,%rdx,2),%xmm0,%xmm0
+  DB  196,193,121,110,12,80               ; vmovd         (%r8,%rdx,2),%xmm1
+  DB  196,227,121,14,193,3                ; vpblendw      $0x3,%xmm1,%xmm0,%xmm0
+  DB  233,28,255,255,255                  ; jmpq          d673 <_sk_load_4444_avx+0x1f>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  196,193,121,196,68,80,12,6          ; vpinsrw       $0x6,0xc(%r8,%rdx,2),%xmm0,%xmm0
+  DB  196,193,121,196,68,80,10,5          ; vpinsrw       $0x5,0xa(%r8,%rdx,2),%xmm0,%xmm0
+  DB  196,193,121,196,68,80,8,4           ; vpinsrw       $0x4,0x8(%r8,%rdx,2),%xmm0,%xmm0
+  DB  196,193,122,126,12,80               ; vmovq         (%r8,%rdx,2),%xmm1
+  DB  196,227,113,14,192,240              ; vpblendw      $0xf0,%xmm0,%xmm1,%xmm0
+  DB  233,239,254,255,255                 ; jmpq          d673 <_sk_load_4444_avx+0x1f>
+  DB  168,255                             ; test          $0xff,%al
+  DB  255                                 ; (bad)
+  DB  255,194                             ; inc           %edx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,182,255,255,255,239             ; pushq         -0x10000001(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,231                             ; jmpq          *%rdi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  223,255                             ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,211                             ; callq         *%rbx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_4444_dst_avx
+_sk_load_4444_dst_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,154,0,0,0                    ; jne           d853 <_sk_load_4444_dst_avx+0xb3>
+  DB  196,193,122,111,36,80               ; vmovdqu       (%r8,%rdx,2),%xmm4
+  DB  196,226,121,51,236                  ; vpmovzxwd     %xmm4,%xmm5
+  DB  197,249,112,228,78                  ; vpshufd       $0x4e,%xmm4,%xmm4
+  DB  196,226,121,51,228                  ; vpmovzxwd     %xmm4,%xmm4
+  DB  196,227,85,24,252,1                 ; vinsertf128   $0x1,%xmm4,%ymm5,%ymm7
+  DB  196,226,125,24,37,227,115,2,0       ; vbroadcastss  0x273e3(%rip),%ymm4        # 34bc0 <_sk_srcover_bgra_8888_sse2_lowp+0x3a8>
+  DB  197,196,84,228                      ; vandps        %ymm4,%ymm7,%ymm4
+  DB  197,252,91,228                      ; vcvtdq2ps     %ymm4,%ymm4
+  DB  196,226,125,24,45,214,115,2,0       ; vbroadcastss  0x273d6(%rip),%ymm5        # 34bc4 <_sk_srcover_bgra_8888_sse2_lowp+0x3ac>
+  DB  197,220,89,229                      ; vmulps        %ymm5,%ymm4,%ymm4
+  DB  196,226,125,24,45,205,115,2,0       ; vbroadcastss  0x273cd(%rip),%ymm5        # 34bc8 <_sk_srcover_bgra_8888_sse2_lowp+0x3b0>
+  DB  197,196,84,237                      ; vandps        %ymm5,%ymm7,%ymm5
+  DB  197,252,91,237                      ; vcvtdq2ps     %ymm5,%ymm5
+  DB  196,226,125,24,53,192,115,2,0       ; vbroadcastss  0x273c0(%rip),%ymm6        # 34bcc <_sk_srcover_bgra_8888_sse2_lowp+0x3b4>
+  DB  197,212,89,238                      ; vmulps        %ymm6,%ymm5,%ymm5
+  DB  196,226,125,24,53,183,115,2,0       ; vbroadcastss  0x273b7(%rip),%ymm6        # 34bd0 <_sk_srcover_bgra_8888_sse2_lowp+0x3b8>
+  DB  197,196,84,246                      ; vandps        %ymm6,%ymm7,%ymm6
+  DB  197,252,91,246                      ; vcvtdq2ps     %ymm6,%ymm6
+  DB  196,98,125,24,5,170,115,2,0         ; vbroadcastss  0x273aa(%rip),%ymm8        # 34bd4 <_sk_srcover_bgra_8888_sse2_lowp+0x3bc>
+  DB  196,193,76,89,240                   ; vmulps        %ymm8,%ymm6,%ymm6
+  DB  196,98,125,24,5,160,115,2,0         ; vbroadcastss  0x273a0(%rip),%ymm8        # 34bd8 <_sk_srcover_bgra_8888_sse2_lowp+0x3c0>
+  DB  196,193,68,84,248                   ; vandps        %ymm8,%ymm7,%ymm7
+  DB  197,252,91,255                      ; vcvtdq2ps     %ymm7,%ymm7
+  DB  196,98,125,24,5,146,115,2,0         ; vbroadcastss  0x27392(%rip),%ymm8        # 34bdc <_sk_srcover_bgra_8888_sse2_lowp+0x3c4>
+  DB  196,193,68,89,248                   ; vmulps        %ymm8,%ymm7,%ymm7
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  15,135,90,255,255,255               ; ja            d7bf <_sk_load_4444_dst_avx+0x1f>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,97,0,0,0                  ; lea           0x61(%rip),%r9        # d8d0 <_sk_load_4444_dst_avx+0x130>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,183,4,80                      ; movzwl        (%r8,%rdx,2),%eax
+  DB  197,249,110,224                     ; vmovd         %eax,%xmm4
+  DB  233,57,255,255,255                  ; jmpq          d7bf <_sk_load_4444_dst_avx+0x1f>
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  196,193,89,196,100,80,4,2           ; vpinsrw       $0x2,0x4(%r8,%rdx,2),%xmm4,%xmm4
+  DB  196,193,121,110,44,80               ; vmovd         (%r8,%rdx,2),%xmm5
+  DB  196,227,89,14,229,3                 ; vpblendw      $0x3,%xmm5,%xmm4,%xmm4
+  DB  233,28,255,255,255                  ; jmpq          d7bf <_sk_load_4444_dst_avx+0x1f>
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  196,193,89,196,100,80,12,6          ; vpinsrw       $0x6,0xc(%r8,%rdx,2),%xmm4,%xmm4
+  DB  196,193,89,196,100,80,10,5          ; vpinsrw       $0x5,0xa(%r8,%rdx,2),%xmm4,%xmm4
+  DB  196,193,89,196,100,80,8,4           ; vpinsrw       $0x4,0x8(%r8,%rdx,2),%xmm4,%xmm4
+  DB  196,193,122,126,44,80               ; vmovq         (%r8,%rdx,2),%xmm5
+  DB  196,227,81,14,228,240               ; vpblendw      $0xf0,%xmm4,%xmm5,%xmm4
+  DB  233,239,254,255,255                 ; jmpq          d7bf <_sk_load_4444_dst_avx+0x1f>
+  DB  168,255                             ; test          $0xff,%al
+  DB  255                                 ; (bad)
+  DB  255,194                             ; inc           %edx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,182,255,255,255,239             ; pushq         -0x10000001(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,231                             ; jmpq          *%rdi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  223,255                             ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,211                             ; callq         *%rbx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_gather_4444_avx
+_sk_gather_4444_avx LABEL PROC
+  DB  85                                  ; push          %rbp
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,84                               ; push          %r12
+  DB  83                                  ; push          %rbx
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,80,12                ; vbroadcastss  0xc(%rax),%ymm2
+  DB  196,227,125,25,211,1                ; vextractf128  $0x1,%ymm2,%xmm3
+  DB  196,65,57,118,192                   ; vpcmpeqd      %xmm8,%xmm8,%xmm8
+  DB  196,193,97,254,216                  ; vpaddd        %xmm8,%xmm3,%xmm3
+  DB  196,193,105,254,208                 ; vpaddd        %xmm8,%xmm2,%xmm2
+  DB  196,227,109,24,211,1                ; vinsertf128   $0x1,%xmm3,%ymm2,%ymm2
+  DB  196,65,52,87,201                    ; vxorps        %ymm9,%ymm9,%ymm9
+  DB  197,180,95,192                      ; vmaxps        %ymm0,%ymm9,%ymm0
+  DB  197,252,93,210                      ; vminps        %ymm2,%ymm0,%ymm2
+  DB  196,226,125,24,64,16                ; vbroadcastss  0x10(%rax),%ymm0
+  DB  196,227,125,25,195,1                ; vextractf128  $0x1,%ymm0,%xmm3
+  DB  196,193,97,254,216                  ; vpaddd        %xmm8,%xmm3,%xmm3
+  DB  196,193,121,254,192                 ; vpaddd        %xmm8,%xmm0,%xmm0
+  DB  196,227,125,24,195,1                ; vinsertf128   $0x1,%xmm3,%ymm0,%ymm0
+  DB  197,180,95,201                      ; vmaxps        %ymm1,%ymm9,%ymm1
+  DB  197,244,93,192                      ; vminps        %ymm0,%ymm1,%ymm0
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  197,254,91,200                      ; vcvttps2dq    %ymm0,%ymm1
+  DB  197,249,110,64,8                    ; vmovd         0x8(%rax),%xmm0
+  DB  197,249,112,216,0                   ; vpshufd       $0x0,%xmm0,%xmm3
+  DB  196,226,97,64,193                   ; vpmulld       %xmm1,%xmm3,%xmm0
+  DB  196,227,125,25,201,1                ; vextractf128  $0x1,%ymm1,%xmm1
+  DB  196,226,97,64,201                   ; vpmulld       %xmm1,%xmm3,%xmm1
+  DB  197,254,91,210                      ; vcvttps2dq    %ymm2,%ymm2
+  DB  196,227,125,25,211,1                ; vextractf128  $0x1,%ymm2,%xmm3
+  DB  197,241,254,203                     ; vpaddd        %xmm3,%xmm1,%xmm1
+  DB  196,227,249,22,200,1                ; vpextrq       $0x1,%xmm1,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  196,193,249,126,202                 ; vmovq         %xmm1,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  197,249,254,194                     ; vpaddd        %xmm2,%xmm0,%xmm0
+  DB  196,227,249,22,195,1                ; vpextrq       $0x1,%xmm0,%rbx
+  DB  65,137,222                          ; mov           %ebx,%r14d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  196,193,249,126,199                 ; vmovq         %xmm0,%r15
+  DB  69,137,252                          ; mov           %r15d,%r12d
+  DB  73,193,239,32                       ; shr           $0x20,%r15
+  DB  71,15,183,60,120                    ; movzwl        (%r8,%r15,2),%r15d
+  DB  67,15,183,44,96                     ; movzwl        (%r8,%r12,2),%ebp
+  DB  197,249,110,197                     ; vmovd         %ebp,%xmm0
+  DB  196,193,121,196,199,1               ; vpinsrw       $0x1,%r15d,%xmm0,%xmm0
+  DB  67,15,183,44,112                    ; movzwl        (%r8,%r14,2),%ebp
+  DB  197,249,196,197,2                   ; vpinsrw       $0x2,%ebp,%xmm0,%xmm0
+  DB  65,15,183,28,88                     ; movzwl        (%r8,%rbx,2),%ebx
+  DB  197,249,196,195,3                   ; vpinsrw       $0x3,%ebx,%xmm0,%xmm0
+  DB  67,15,183,44,88                     ; movzwl        (%r8,%r11,2),%ebp
+  DB  197,249,196,197,4                   ; vpinsrw       $0x4,%ebp,%xmm0,%xmm0
+  DB  67,15,183,44,80                     ; movzwl        (%r8,%r10,2),%ebp
+  DB  197,249,196,197,5                   ; vpinsrw       $0x5,%ebp,%xmm0,%xmm0
+  DB  67,15,183,44,72                     ; movzwl        (%r8,%r9,2),%ebp
+  DB  197,249,196,197,6                   ; vpinsrw       $0x6,%ebp,%xmm0,%xmm0
+  DB  65,15,183,4,64                      ; movzwl        (%r8,%rax,2),%eax
+  DB  197,249,196,192,7                   ; vpinsrw       $0x7,%eax,%xmm0,%xmm0
+  DB  196,226,121,51,200                  ; vpmovzxwd     %xmm0,%xmm1
+  DB  197,249,112,192,78                  ; vpshufd       $0x4e,%xmm0,%xmm0
+  DB  196,226,121,51,192                  ; vpmovzxwd     %xmm0,%xmm0
+  DB  196,227,117,24,216,1                ; vinsertf128   $0x1,%xmm0,%ymm1,%ymm3
+  DB  196,226,125,24,5,165,113,2,0        ; vbroadcastss  0x271a5(%rip),%ymm0        # 34bc0 <_sk_srcover_bgra_8888_sse2_lowp+0x3a8>
+  DB  197,228,84,192                      ; vandps        %ymm0,%ymm3,%ymm0
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  196,226,125,24,13,152,113,2,0       ; vbroadcastss  0x27198(%rip),%ymm1        # 34bc4 <_sk_srcover_bgra_8888_sse2_lowp+0x3ac>
+  DB  197,252,89,193                      ; vmulps        %ymm1,%ymm0,%ymm0
+  DB  196,226,125,24,13,143,113,2,0       ; vbroadcastss  0x2718f(%rip),%ymm1        # 34bc8 <_sk_srcover_bgra_8888_sse2_lowp+0x3b0>
+  DB  197,228,84,201                      ; vandps        %ymm1,%ymm3,%ymm1
+  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
+  DB  196,226,125,24,21,130,113,2,0       ; vbroadcastss  0x27182(%rip),%ymm2        # 34bcc <_sk_srcover_bgra_8888_sse2_lowp+0x3b4>
+  DB  197,244,89,202                      ; vmulps        %ymm2,%ymm1,%ymm1
+  DB  196,226,125,24,21,121,113,2,0       ; vbroadcastss  0x27179(%rip),%ymm2        # 34bd0 <_sk_srcover_bgra_8888_sse2_lowp+0x3b8>
+  DB  197,228,84,210                      ; vandps        %ymm2,%ymm3,%ymm2
+  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
+  DB  196,98,125,24,5,108,113,2,0         ; vbroadcastss  0x2716c(%rip),%ymm8        # 34bd4 <_sk_srcover_bgra_8888_sse2_lowp+0x3bc>
+  DB  196,193,108,89,208                  ; vmulps        %ymm8,%ymm2,%ymm2
+  DB  196,98,125,24,5,98,113,2,0          ; vbroadcastss  0x27162(%rip),%ymm8        # 34bd8 <_sk_srcover_bgra_8888_sse2_lowp+0x3c0>
+  DB  196,193,100,84,216                  ; vandps        %ymm8,%ymm3,%ymm3
+  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
+  DB  196,98,125,24,5,84,113,2,0          ; vbroadcastss  0x27154(%rip),%ymm8        # 34bdc <_sk_srcover_bgra_8888_sse2_lowp+0x3c4>
+  DB  196,193,100,89,216                  ; vmulps        %ymm8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  91                                  ; pop           %rbx
+  DB  65,92                               ; pop           %r12
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  93                                  ; pop           %rbp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_store_4444_avx
+_sk_store_4444_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,60,95,208                       ; vmaxps        %ymm0,%ymm8,%ymm10
+  DB  196,98,125,24,13,13,112,2,0         ; vbroadcastss  0x2700d(%rip),%ymm9        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,65,44,93,209                    ; vminps        %ymm9,%ymm10,%ymm10
+  DB  196,98,125,24,29,23,113,2,0         ; vbroadcastss  0x27117(%rip),%ymm11        # 34be0 <_sk_srcover_bgra_8888_sse2_lowp+0x3c8>
+  DB  196,65,44,89,211                    ; vmulps        %ymm11,%ymm10,%ymm10
+  DB  196,65,125,91,210                   ; vcvtps2dq     %ymm10,%ymm10
+  DB  196,193,25,114,242,12               ; vpslld        $0xc,%xmm10,%xmm12
+  DB  196,67,125,25,210,1                 ; vextractf128  $0x1,%ymm10,%xmm10
+  DB  196,193,41,114,242,12               ; vpslld        $0xc,%xmm10,%xmm10
+  DB  196,67,29,24,210,1                  ; vinsertf128   $0x1,%xmm10,%ymm12,%ymm10
+  DB  197,60,95,225                       ; vmaxps        %ymm1,%ymm8,%ymm12
+  DB  196,65,28,93,225                    ; vminps        %ymm9,%ymm12,%ymm12
+  DB  196,65,28,89,227                    ; vmulps        %ymm11,%ymm12,%ymm12
+  DB  196,65,125,91,228                   ; vcvtps2dq     %ymm12,%ymm12
+  DB  196,193,17,114,244,8                ; vpslld        $0x8,%xmm12,%xmm13
+  DB  196,67,125,25,228,1                 ; vextractf128  $0x1,%ymm12,%xmm12
+  DB  196,193,25,114,244,8                ; vpslld        $0x8,%xmm12,%xmm12
+  DB  196,67,21,24,228,1                  ; vinsertf128   $0x1,%xmm12,%ymm13,%ymm12
+  DB  196,65,29,86,210                    ; vorpd         %ymm10,%ymm12,%ymm10
+  DB  197,60,95,226                       ; vmaxps        %ymm2,%ymm8,%ymm12
+  DB  196,65,28,93,225                    ; vminps        %ymm9,%ymm12,%ymm12
+  DB  196,65,28,89,227                    ; vmulps        %ymm11,%ymm12,%ymm12
+  DB  196,65,125,91,228                   ; vcvtps2dq     %ymm12,%ymm12
+  DB  196,193,17,114,244,4                ; vpslld        $0x4,%xmm12,%xmm13
+  DB  196,67,125,25,228,1                 ; vextractf128  $0x1,%ymm12,%xmm12
+  DB  196,193,25,114,244,4                ; vpslld        $0x4,%xmm12,%xmm12
+  DB  196,67,21,24,228,1                  ; vinsertf128   $0x1,%xmm12,%ymm13,%ymm12
+  DB  197,60,95,195                       ; vmaxps        %ymm3,%ymm8,%ymm8
+  DB  196,65,60,93,193                    ; vminps        %ymm9,%ymm8,%ymm8
+  DB  196,65,60,89,195                    ; vmulps        %ymm11,%ymm8,%ymm8
+  DB  196,65,125,91,192                   ; vcvtps2dq     %ymm8,%ymm8
+  DB  196,65,29,86,192                    ; vorpd         %ymm8,%ymm12,%ymm8
+  DB  196,65,45,86,192                    ; vorpd         %ymm8,%ymm10,%ymm8
+  DB  196,67,125,25,193,1                 ; vextractf128  $0x1,%ymm8,%xmm9
+  DB  196,66,57,43,193                    ; vpackusdw     %xmm9,%xmm8,%xmm8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,10                              ; jne           db7d <_sk_store_4444_avx+0xe4>
+  DB  196,65,122,127,4,80                 ; vmovdqu       %xmm8,(%r8,%rdx,2)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,242                             ; ja            db79 <_sk_store_4444_avx+0xe0>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,67,0,0,0                  ; lea           0x43(%rip),%r9        # dbd4 <_sk_store_4444_avx+0x13b>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,67,121,21,4,80,0                ; vpextrw       $0x0,%xmm8,(%r8,%rdx,2)
+  DB  235,214                             ; jmp           db79 <_sk_store_4444_avx+0xe0>
+  DB  196,67,121,21,68,80,4,2             ; vpextrw       $0x2,%xmm8,0x4(%r8,%rdx,2)
+  DB  196,65,121,126,4,80                 ; vmovd         %xmm8,(%r8,%rdx,2)
+  DB  235,198                             ; jmp           db79 <_sk_store_4444_avx+0xe0>
+  DB  196,67,121,21,68,80,12,6            ; vpextrw       $0x6,%xmm8,0xc(%r8,%rdx,2)
+  DB  196,67,121,21,68,80,10,5            ; vpextrw       $0x5,%xmm8,0xa(%r8,%rdx,2)
+  DB  196,67,121,21,68,80,8,4             ; vpextrw       $0x4,%xmm8,0x8(%r8,%rdx,2)
+  DB  196,65,121,214,4,80                 ; vmovq         %xmm8,(%r8,%rdx,2)
+  DB  235,166                             ; jmp           db79 <_sk_store_4444_avx+0xe0>
+  DB  144                                 ; nop
+  DB  198                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,215                             ; callq         *%rdi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,207                             ; dec           %edi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,247                             ; push          %rdi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  239                                 ; out           %eax,(%dx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,231                             ; jmpq          *%rdi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  223,255                             ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_8888_avx
+_sk_load_8888_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,135,0,0,0                    ; jne           dc91 <_sk_load_8888_avx+0xa1>
+  DB  196,65,125,16,12,144                ; vmovupd       (%r8,%rdx,4),%ymm9
+  DB  197,125,40,21,200,116,2,0           ; vmovapd       0x274c8(%rip),%ymm10        # 350e0 <_sk_srcover_bgra_8888_sse2_lowp+0x8c8>
+  DB  196,193,53,84,194                   ; vandpd        %ymm10,%ymm9,%ymm0
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  196,98,125,24,5,22,111,2,0          ; vbroadcastss  0x26f16(%rip),%ymm8        # 34b40 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  DB  196,193,124,89,192                  ; vmulps        %ymm8,%ymm0,%ymm0
+  DB  196,193,113,114,209,8               ; vpsrld        $0x8,%xmm9,%xmm1
+  DB  196,99,125,25,203,1                 ; vextractf128  $0x1,%ymm9,%xmm3
+  DB  197,233,114,211,8                   ; vpsrld        $0x8,%xmm3,%xmm2
+  DB  196,227,117,24,202,1                ; vinsertf128   $0x1,%xmm2,%ymm1,%ymm1
+  DB  196,193,117,84,202                  ; vandpd        %ymm10,%ymm1,%ymm1
+  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
+  DB  196,193,116,89,200                  ; vmulps        %ymm8,%ymm1,%ymm1
+  DB  196,193,33,114,209,16               ; vpsrld        $0x10,%xmm9,%xmm11
+  DB  197,233,114,211,16                  ; vpsrld        $0x10,%xmm3,%xmm2
+  DB  196,227,37,24,210,1                 ; vinsertf128   $0x1,%xmm2,%ymm11,%ymm2
+  DB  196,193,109,84,210                  ; vandpd        %ymm10,%ymm2,%ymm2
+  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
+  DB  196,193,108,89,208                  ; vmulps        %ymm8,%ymm2,%ymm2
+  DB  196,193,49,114,209,24               ; vpsrld        $0x18,%xmm9,%xmm9
+  DB  197,225,114,211,24                  ; vpsrld        $0x18,%xmm3,%xmm3
+  DB  196,227,53,24,219,1                 ; vinsertf128   $0x1,%xmm3,%ymm9,%ymm3
+  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
+  DB  196,193,100,89,216                  ; vmulps        %ymm8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  196,65,52,87,201                    ; vxorps        %ymm9,%ymm9,%ymm9
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  15,135,108,255,255,255              ; ja            dc10 <_sk_load_8888_avx+0x20>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,146,0,0,0                 ; lea           0x92(%rip),%r9        # dd40 <_sk_load_8888_avx+0x150>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,65,122,16,12,144                ; vmovss        (%r8,%rdx,4),%xmm9
+  DB  233,78,255,255,255                  ; jmpq          dc10 <_sk_load_8888_avx+0x20>
+  DB  196,193,121,110,68,144,8            ; vmovd         0x8(%r8,%rdx,4),%xmm0
+  DB  197,249,112,192,68                  ; vpshufd       $0x44,%xmm0,%xmm0
+  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
+  DB  196,99,117,12,200,4                 ; vblendps      $0x4,%ymm0,%ymm1,%ymm9
+  DB  196,193,123,16,4,144                ; vmovsd        (%r8,%rdx,4),%xmm0
+  DB  196,99,53,13,200,1                  ; vblendpd      $0x1,%ymm0,%ymm9,%ymm9
+  DB  233,39,255,255,255                  ; jmpq          dc10 <_sk_load_8888_avx+0x20>
+  DB  196,193,121,110,68,144,24           ; vmovd         0x18(%r8,%rdx,4),%xmm0
+  DB  197,249,112,192,68                  ; vpshufd       $0x44,%xmm0,%xmm0
+  DB  196,227,125,24,192,1                ; vinsertf128   $0x1,%xmm0,%ymm0,%ymm0
+  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
+  DB  196,99,117,12,200,64                ; vblendps      $0x40,%ymm0,%ymm1,%ymm9
+  DB  196,99,125,25,200,1                 ; vextractf128  $0x1,%ymm9,%xmm0
+  DB  196,195,121,34,68,144,20,1          ; vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm0,%xmm0
+  DB  196,99,53,24,200,1                  ; vinsertf128   $0x1,%xmm0,%ymm9,%ymm9
+  DB  196,99,125,25,200,1                 ; vextractf128  $0x1,%ymm9,%xmm0
+  DB  196,195,121,34,68,144,16,0          ; vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm0,%xmm0
+  DB  196,99,53,24,200,1                  ; vinsertf128   $0x1,%xmm0,%ymm9,%ymm9
+  DB  196,193,121,16,4,144                ; vmovupd       (%r8,%rdx,4),%xmm0
+  DB  196,67,125,13,201,12                ; vblendpd      $0xc,%ymm9,%ymm0,%ymm9
+  DB  233,210,254,255,255                 ; jmpq          dc10 <_sk_load_8888_avx+0x20>
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  119,255                             ; ja            dd41 <_sk_load_8888_avx+0x151>
+  DB  255                                 ; (bad)
+  DB  255,152,255,255,255,130             ; lcall         *-0x7d000001(%rax)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  237                                 ; in            (%dx),%eax
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  217,255                             ; fcos
+  DB  255                                 ; (bad)
+  DB  255,197                             ; inc           %ebp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+  DB  169                                 ; .byte         0xa9
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_8888_dst_avx
+_sk_load_8888_dst_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,135,0,0,0                    ; jne           ddfd <_sk_load_8888_dst_avx+0xa1>
+  DB  196,65,125,16,12,144                ; vmovupd       (%r8,%rdx,4),%ymm9
+  DB  197,125,40,21,124,115,2,0           ; vmovapd       0x2737c(%rip),%ymm10        # 35100 <_sk_srcover_bgra_8888_sse2_lowp+0x8e8>
+  DB  196,193,53,84,226                   ; vandpd        %ymm10,%ymm9,%ymm4
+  DB  197,252,91,228                      ; vcvtdq2ps     %ymm4,%ymm4
+  DB  196,98,125,24,5,170,109,2,0         ; vbroadcastss  0x26daa(%rip),%ymm8        # 34b40 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  DB  196,193,92,89,224                   ; vmulps        %ymm8,%ymm4,%ymm4
+  DB  196,193,81,114,209,8                ; vpsrld        $0x8,%xmm9,%xmm5
+  DB  196,99,125,25,207,1                 ; vextractf128  $0x1,%ymm9,%xmm7
+  DB  197,201,114,215,8                   ; vpsrld        $0x8,%xmm7,%xmm6
+  DB  196,227,85,24,238,1                 ; vinsertf128   $0x1,%xmm6,%ymm5,%ymm5
+  DB  196,193,85,84,234                   ; vandpd        %ymm10,%ymm5,%ymm5
+  DB  197,252,91,237                      ; vcvtdq2ps     %ymm5,%ymm5
+  DB  196,193,84,89,232                   ; vmulps        %ymm8,%ymm5,%ymm5
+  DB  196,193,33,114,209,16               ; vpsrld        $0x10,%xmm9,%xmm11
+  DB  197,201,114,215,16                  ; vpsrld        $0x10,%xmm7,%xmm6
+  DB  196,227,37,24,246,1                 ; vinsertf128   $0x1,%xmm6,%ymm11,%ymm6
+  DB  196,193,77,84,242                   ; vandpd        %ymm10,%ymm6,%ymm6
+  DB  197,252,91,246                      ; vcvtdq2ps     %ymm6,%ymm6
+  DB  196,193,76,89,240                   ; vmulps        %ymm8,%ymm6,%ymm6
+  DB  196,193,49,114,209,24               ; vpsrld        $0x18,%xmm9,%xmm9
+  DB  197,193,114,215,24                  ; vpsrld        $0x18,%xmm7,%xmm7
+  DB  196,227,53,24,255,1                 ; vinsertf128   $0x1,%xmm7,%ymm9,%ymm7
+  DB  197,252,91,255                      ; vcvtdq2ps     %ymm7,%ymm7
+  DB  196,193,68,89,248                   ; vmulps        %ymm8,%ymm7,%ymm7
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  196,65,52,87,201                    ; vxorps        %ymm9,%ymm9,%ymm9
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  15,135,108,255,255,255              ; ja            dd7c <_sk_load_8888_dst_avx+0x20>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,146,0,0,0                 ; lea           0x92(%rip),%r9        # deac <_sk_load_8888_dst_avx+0x150>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,65,122,16,12,144                ; vmovss        (%r8,%rdx,4),%xmm9
+  DB  233,78,255,255,255                  ; jmpq          dd7c <_sk_load_8888_dst_avx+0x20>
+  DB  196,193,121,110,100,144,8           ; vmovd         0x8(%r8,%rdx,4),%xmm4
+  DB  197,249,112,228,68                  ; vpshufd       $0x44,%xmm4,%xmm4
+  DB  197,212,87,237                      ; vxorps        %ymm5,%ymm5,%ymm5
+  DB  196,99,85,12,204,4                  ; vblendps      $0x4,%ymm4,%ymm5,%ymm9
+  DB  196,193,123,16,36,144               ; vmovsd        (%r8,%rdx,4),%xmm4
+  DB  196,99,53,13,204,1                  ; vblendpd      $0x1,%ymm4,%ymm9,%ymm9
+  DB  233,39,255,255,255                  ; jmpq          dd7c <_sk_load_8888_dst_avx+0x20>
+  DB  196,193,121,110,100,144,24          ; vmovd         0x18(%r8,%rdx,4),%xmm4
+  DB  197,249,112,228,68                  ; vpshufd       $0x44,%xmm4,%xmm4
+  DB  196,227,125,24,228,1                ; vinsertf128   $0x1,%xmm4,%ymm0,%ymm4
+  DB  197,212,87,237                      ; vxorps        %ymm5,%ymm5,%ymm5
+  DB  196,99,85,12,204,64                 ; vblendps      $0x40,%ymm4,%ymm5,%ymm9
+  DB  196,99,125,25,204,1                 ; vextractf128  $0x1,%ymm9,%xmm4
+  DB  196,195,89,34,100,144,20,1          ; vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm4,%xmm4
+  DB  196,99,53,24,204,1                  ; vinsertf128   $0x1,%xmm4,%ymm9,%ymm9
+  DB  196,99,125,25,204,1                 ; vextractf128  $0x1,%ymm9,%xmm4
+  DB  196,195,89,34,100,144,16,0          ; vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm4,%xmm4
+  DB  196,99,53,24,204,1                  ; vinsertf128   $0x1,%xmm4,%ymm9,%ymm9
+  DB  196,193,121,16,36,144               ; vmovupd       (%r8,%rdx,4),%xmm4
+  DB  196,67,93,13,201,12                 ; vblendpd      $0xc,%ymm9,%ymm4,%ymm9
+  DB  233,210,254,255,255                 ; jmpq          dd7c <_sk_load_8888_dst_avx+0x20>
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  119,255                             ; ja            dead <_sk_load_8888_dst_avx+0x151>
+  DB  255                                 ; (bad)
+  DB  255,152,255,255,255,130             ; lcall         *-0x7d000001(%rax)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  237                                 ; in            (%dx),%eax
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  217,255                             ; fcos
+  DB  255                                 ; (bad)
+  DB  255,197                             ; inc           %ebp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+  DB  169                                 ; .byte         0xa9
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_gather_8888_avx
+_sk_gather_8888_avx LABEL PROC
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,84                               ; push          %r12
+  DB  83                                  ; push          %rbx
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,80,12                ; vbroadcastss  0xc(%rax),%ymm2
+  DB  196,227,125,25,211,1                ; vextractf128  $0x1,%ymm2,%xmm3
+  DB  196,65,57,118,192                   ; vpcmpeqd      %xmm8,%xmm8,%xmm8
+  DB  196,193,97,254,216                  ; vpaddd        %xmm8,%xmm3,%xmm3
+  DB  196,193,105,254,208                 ; vpaddd        %xmm8,%xmm2,%xmm2
+  DB  196,227,109,24,211,1                ; vinsertf128   $0x1,%xmm3,%ymm2,%ymm2
+  DB  196,65,52,87,201                    ; vxorps        %ymm9,%ymm9,%ymm9
+  DB  197,180,95,192                      ; vmaxps        %ymm0,%ymm9,%ymm0
+  DB  197,252,93,194                      ; vminps        %ymm2,%ymm0,%ymm0
+  DB  196,226,125,24,80,16                ; vbroadcastss  0x10(%rax),%ymm2
+  DB  196,227,125,25,211,1                ; vextractf128  $0x1,%ymm2,%xmm3
+  DB  196,193,97,254,216                  ; vpaddd        %xmm8,%xmm3,%xmm3
+  DB  196,193,105,254,208                 ; vpaddd        %xmm8,%xmm2,%xmm2
+  DB  196,227,109,24,211,1                ; vinsertf128   $0x1,%xmm3,%ymm2,%ymm2
+  DB  197,180,95,201                      ; vmaxps        %ymm1,%ymm9,%ymm1
+  DB  197,244,93,202                      ; vminps        %ymm2,%ymm1,%ymm1
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  197,254,91,201                      ; vcvttps2dq    %ymm1,%ymm1
+  DB  197,249,110,80,8                    ; vmovd         0x8(%rax),%xmm2
+  DB  197,249,112,210,0                   ; vpshufd       $0x0,%xmm2,%xmm2
+  DB  196,226,105,64,217                  ; vpmulld       %xmm1,%xmm2,%xmm3
+  DB  196,227,125,25,201,1                ; vextractf128  $0x1,%ymm1,%xmm1
+  DB  196,226,105,64,201                  ; vpmulld       %xmm1,%xmm2,%xmm1
+  DB  197,254,91,192                      ; vcvttps2dq    %ymm0,%ymm0
+  DB  196,227,125,25,194,1                ; vextractf128  $0x1,%ymm0,%xmm2
+  DB  197,241,254,202                     ; vpaddd        %xmm2,%xmm1,%xmm1
+  DB  196,225,249,126,200                 ; vmovq         %xmm1,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  197,225,254,192                     ; vpaddd        %xmm0,%xmm3,%xmm0
+  DB  196,193,249,126,194                 ; vmovq         %xmm0,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,227,249,22,203,1                ; vpextrq       $0x1,%xmm1,%rbx
+  DB  65,137,222                          ; mov           %ebx,%r14d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  196,195,249,22,199,1                ; vpextrq       $0x1,%xmm0,%r15
+  DB  69,137,252                          ; mov           %r15d,%r12d
+  DB  73,193,239,32                       ; shr           $0x20,%r15
+  DB  196,129,121,110,4,152               ; vmovd         (%r8,%r11,4),%xmm0
+  DB  196,131,121,34,4,144,1              ; vpinsrd       $0x1,(%r8,%r10,4),%xmm0,%xmm0
+  DB  196,131,121,34,4,160,2              ; vpinsrd       $0x2,(%r8,%r12,4),%xmm0,%xmm0
+  DB  196,3,121,34,4,184,3                ; vpinsrd       $0x3,(%r8,%r15,4),%xmm0,%xmm8
+  DB  196,129,121,110,4,136               ; vmovd         (%r8,%r9,4),%xmm0
+  DB  196,195,121,34,4,128,1              ; vpinsrd       $0x1,(%r8,%rax,4),%xmm0,%xmm0
+  DB  196,131,121,34,4,176,2              ; vpinsrd       $0x2,(%r8,%r14,4),%xmm0,%xmm0
+  DB  196,195,121,34,28,152,3             ; vpinsrd       $0x3,(%r8,%rbx,4),%xmm0,%xmm3
+  DB  196,227,61,24,195,1                 ; vinsertf128   $0x1,%xmm3,%ymm8,%ymm0
+  DB  197,124,40,21,84,113,2,0            ; vmovaps       0x27154(%rip),%ymm10        # 35120 <_sk_srcover_bgra_8888_sse2_lowp+0x908>
+  DB  196,193,124,84,194                  ; vandps        %ymm10,%ymm0,%ymm0
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  196,98,125,24,13,98,107,2,0         ; vbroadcastss  0x26b62(%rip),%ymm9        # 34b40 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  DB  196,193,124,89,193                  ; vmulps        %ymm9,%ymm0,%ymm0
+  DB  196,193,113,114,208,8               ; vpsrld        $0x8,%xmm8,%xmm1
+  DB  197,233,114,211,8                   ; vpsrld        $0x8,%xmm3,%xmm2
+  DB  196,227,117,24,202,1                ; vinsertf128   $0x1,%xmm2,%ymm1,%ymm1
+  DB  196,193,116,84,202                  ; vandps        %ymm10,%ymm1,%ymm1
+  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
+  DB  196,193,116,89,201                  ; vmulps        %ymm9,%ymm1,%ymm1
+  DB  196,193,33,114,208,16               ; vpsrld        $0x10,%xmm8,%xmm11
+  DB  197,233,114,211,16                  ; vpsrld        $0x10,%xmm3,%xmm2
+  DB  196,227,37,24,210,1                 ; vinsertf128   $0x1,%xmm2,%ymm11,%ymm2
+  DB  196,193,108,84,210                  ; vandps        %ymm10,%ymm2,%ymm2
+  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
+  DB  196,193,108,89,209                  ; vmulps        %ymm9,%ymm2,%ymm2
+  DB  196,193,57,114,208,24               ; vpsrld        $0x18,%xmm8,%xmm8
+  DB  197,225,114,211,24                  ; vpsrld        $0x18,%xmm3,%xmm3
+  DB  196,227,61,24,219,1                 ; vinsertf128   $0x1,%xmm3,%ymm8,%ymm3
+  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
+  DB  196,193,100,89,217                  ; vmulps        %ymm9,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  91                                  ; pop           %rbx
+  DB  65,92                               ; pop           %r12
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_store_8888_avx
+_sk_store_8888_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,60,95,200                       ; vmaxps        %ymm0,%ymm8,%ymm9
+  DB  196,98,125,24,21,95,106,2,0         ; vbroadcastss  0x26a5f(%rip),%ymm10        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,65,52,93,202                    ; vminps        %ymm10,%ymm9,%ymm9
+  DB  196,98,125,24,29,125,106,2,0        ; vbroadcastss  0x26a7d(%rip),%ymm11        # 34af4 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  DB  196,65,52,89,203                    ; vmulps        %ymm11,%ymm9,%ymm9
+  DB  196,65,125,91,201                   ; vcvtps2dq     %ymm9,%ymm9
+  DB  197,60,95,225                       ; vmaxps        %ymm1,%ymm8,%ymm12
+  DB  196,65,28,93,226                    ; vminps        %ymm10,%ymm12,%ymm12
+  DB  196,65,28,89,227                    ; vmulps        %ymm11,%ymm12,%ymm12
+  DB  196,65,125,91,228                   ; vcvtps2dq     %ymm12,%ymm12
+  DB  196,193,17,114,244,8                ; vpslld        $0x8,%xmm12,%xmm13
+  DB  196,67,125,25,228,1                 ; vextractf128  $0x1,%ymm12,%xmm12
+  DB  196,193,25,114,244,8                ; vpslld        $0x8,%xmm12,%xmm12
+  DB  196,67,21,24,228,1                  ; vinsertf128   $0x1,%xmm12,%ymm13,%ymm12
+  DB  196,65,29,86,201                    ; vorpd         %ymm9,%ymm12,%ymm9
+  DB  197,60,95,226                       ; vmaxps        %ymm2,%ymm8,%ymm12
+  DB  196,65,28,93,226                    ; vminps        %ymm10,%ymm12,%ymm12
+  DB  196,65,28,89,227                    ; vmulps        %ymm11,%ymm12,%ymm12
+  DB  196,65,125,91,228                   ; vcvtps2dq     %ymm12,%ymm12
+  DB  196,193,17,114,244,16               ; vpslld        $0x10,%xmm12,%xmm13
+  DB  196,67,125,25,228,1                 ; vextractf128  $0x1,%ymm12,%xmm12
+  DB  196,193,25,114,244,16               ; vpslld        $0x10,%xmm12,%xmm12
+  DB  196,67,21,24,228,1                  ; vinsertf128   $0x1,%xmm12,%ymm13,%ymm12
+  DB  197,60,95,195                       ; vmaxps        %ymm3,%ymm8,%ymm8
+  DB  196,65,60,93,194                    ; vminps        %ymm10,%ymm8,%ymm8
+  DB  196,65,60,89,195                    ; vmulps        %ymm11,%ymm8,%ymm8
+  DB  196,65,125,91,192                   ; vcvtps2dq     %ymm8,%ymm8
+  DB  196,193,41,114,240,24               ; vpslld        $0x18,%xmm8,%xmm10
+  DB  196,67,125,25,192,1                 ; vextractf128  $0x1,%ymm8,%xmm8
+  DB  196,193,57,114,240,24               ; vpslld        $0x18,%xmm8,%xmm8
+  DB  196,67,45,24,192,1                  ; vinsertf128   $0x1,%xmm8,%ymm10,%ymm8
+  DB  196,65,29,86,192                    ; vorpd         %ymm8,%ymm12,%ymm8
+  DB  196,65,53,86,192                    ; vorpd         %ymm8,%ymm9,%ymm8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,10                              ; jne           e120 <_sk_store_8888_avx+0xda>
+  DB  196,65,124,17,4,144                 ; vmovups       %ymm8,(%r8,%rdx,4)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,242                             ; ja            e11c <_sk_store_8888_avx+0xd6>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,84,0,0,0                  ; lea           0x54(%rip),%r9        # e188 <_sk_store_8888_avx+0x142>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,65,121,126,4,144                ; vmovd         %xmm8,(%r8,%rdx,4)
+  DB  235,215                             ; jmp           e11c <_sk_store_8888_avx+0xd6>
+  DB  196,67,121,22,68,144,8,2            ; vpextrd       $0x2,%xmm8,0x8(%r8,%rdx,4)
+  DB  196,65,121,214,4,144                ; vmovq         %xmm8,(%r8,%rdx,4)
+  DB  235,199                             ; jmp           e11c <_sk_store_8888_avx+0xd6>
+  DB  196,67,125,25,193,1                 ; vextractf128  $0x1,%ymm8,%xmm9
+  DB  196,67,121,22,76,144,24,2           ; vpextrd       $0x2,%xmm9,0x18(%r8,%rdx,4)
+  DB  196,67,125,25,193,1                 ; vextractf128  $0x1,%ymm8,%xmm9
+  DB  196,67,121,22,76,144,20,1           ; vpextrd       $0x1,%xmm9,0x14(%r8,%rdx,4)
+  DB  196,67,125,25,193,1                 ; vextractf128  $0x1,%ymm8,%xmm9
+  DB  196,65,122,17,76,144,16             ; vmovss        %xmm9,0x10(%r8,%rdx,4)
+  DB  196,65,121,17,4,144                 ; vmovupd       %xmm8,(%r8,%rdx,4)
+  DB  235,150                             ; jmp           e11c <_sk_store_8888_avx+0xd6>
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  181,255                             ; mov           $0xff,%ch
+  DB  255                                 ; (bad)
+  DB  255,197                             ; inc           %ebp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  189,255,255,255,246                 ; mov           $0xf6ffffff,%ebp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  233,255,255,255,219                 ; jmpq          ffffffffdc00e19c <_sk_srcover_bgra_8888_sse2_lowp+0xffffffffdbfd9984>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,205                             ; dec           %ebp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_bgra_avx
+_sk_load_bgra_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,135,0,0,0                    ; jne           e245 <_sk_load_bgra_avx+0xa1>
+  DB  196,65,125,16,12,144                ; vmovupd       (%r8,%rdx,4),%ymm9
+  DB  197,125,40,21,116,111,2,0           ; vmovapd       0x26f74(%rip),%ymm10        # 35140 <_sk_srcover_bgra_8888_sse2_lowp+0x928>
+  DB  196,193,53,84,202                   ; vandpd        %ymm10,%ymm9,%ymm1
+  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
+  DB  196,98,125,24,5,98,105,2,0          ; vbroadcastss  0x26962(%rip),%ymm8        # 34b40 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  DB  196,193,116,89,208                  ; vmulps        %ymm8,%ymm1,%ymm2
+  DB  196,193,113,114,209,8               ; vpsrld        $0x8,%xmm9,%xmm1
+  DB  196,99,125,25,203,1                 ; vextractf128  $0x1,%ymm9,%xmm3
+  DB  197,249,114,211,8                   ; vpsrld        $0x8,%xmm3,%xmm0
+  DB  196,227,117,24,192,1                ; vinsertf128   $0x1,%xmm0,%ymm1,%ymm0
+  DB  196,193,125,84,194                  ; vandpd        %ymm10,%ymm0,%ymm0
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  196,193,124,89,200                  ; vmulps        %ymm8,%ymm0,%ymm1
+  DB  196,193,33,114,209,16               ; vpsrld        $0x10,%xmm9,%xmm11
+  DB  197,249,114,211,16                  ; vpsrld        $0x10,%xmm3,%xmm0
+  DB  196,227,37,24,192,1                 ; vinsertf128   $0x1,%xmm0,%ymm11,%ymm0
+  DB  196,193,125,84,194                  ; vandpd        %ymm10,%ymm0,%ymm0
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  196,193,124,89,192                  ; vmulps        %ymm8,%ymm0,%ymm0
+  DB  196,193,49,114,209,24               ; vpsrld        $0x18,%xmm9,%xmm9
+  DB  197,225,114,211,24                  ; vpsrld        $0x18,%xmm3,%xmm3
+  DB  196,227,53,24,219,1                 ; vinsertf128   $0x1,%xmm3,%ymm9,%ymm3
+  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
+  DB  196,193,100,89,216                  ; vmulps        %ymm8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  196,65,52,87,201                    ; vxorps        %ymm9,%ymm9,%ymm9
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  15,135,108,255,255,255              ; ja            e1c4 <_sk_load_bgra_avx+0x20>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,146,0,0,0                 ; lea           0x92(%rip),%r9        # e2f4 <_sk_load_bgra_avx+0x150>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,65,122,16,12,144                ; vmovss        (%r8,%rdx,4),%xmm9
+  DB  233,78,255,255,255                  ; jmpq          e1c4 <_sk_load_bgra_avx+0x20>
+  DB  196,193,121,110,68,144,8            ; vmovd         0x8(%r8,%rdx,4),%xmm0
+  DB  197,249,112,192,68                  ; vpshufd       $0x44,%xmm0,%xmm0
+  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
+  DB  196,99,117,12,200,4                 ; vblendps      $0x4,%ymm0,%ymm1,%ymm9
+  DB  196,193,123,16,4,144                ; vmovsd        (%r8,%rdx,4),%xmm0
+  DB  196,99,53,13,200,1                  ; vblendpd      $0x1,%ymm0,%ymm9,%ymm9
+  DB  233,39,255,255,255                  ; jmpq          e1c4 <_sk_load_bgra_avx+0x20>
+  DB  196,193,121,110,68,144,24           ; vmovd         0x18(%r8,%rdx,4),%xmm0
+  DB  197,249,112,192,68                  ; vpshufd       $0x44,%xmm0,%xmm0
+  DB  196,227,125,24,192,1                ; vinsertf128   $0x1,%xmm0,%ymm0,%ymm0
+  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
+  DB  196,99,117,12,200,64                ; vblendps      $0x40,%ymm0,%ymm1,%ymm9
+  DB  196,99,125,25,200,1                 ; vextractf128  $0x1,%ymm9,%xmm0
+  DB  196,195,121,34,68,144,20,1          ; vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm0,%xmm0
+  DB  196,99,53,24,200,1                  ; vinsertf128   $0x1,%xmm0,%ymm9,%ymm9
+  DB  196,99,125,25,200,1                 ; vextractf128  $0x1,%ymm9,%xmm0
+  DB  196,195,121,34,68,144,16,0          ; vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm0,%xmm0
+  DB  196,99,53,24,200,1                  ; vinsertf128   $0x1,%xmm0,%ymm9,%ymm9
+  DB  196,193,121,16,4,144                ; vmovupd       (%r8,%rdx,4),%xmm0
+  DB  196,67,125,13,201,12                ; vblendpd      $0xc,%ymm9,%ymm0,%ymm9
+  DB  233,210,254,255,255                 ; jmpq          e1c4 <_sk_load_bgra_avx+0x20>
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  119,255                             ; ja            e2f5 <_sk_load_bgra_avx+0x151>
+  DB  255                                 ; (bad)
+  DB  255,152,255,255,255,130             ; lcall         *-0x7d000001(%rax)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  237                                 ; in            (%dx),%eax
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  217,255                             ; fcos
+  DB  255                                 ; (bad)
+  DB  255,197                             ; inc           %ebp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+  DB  169                                 ; .byte         0xa9
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_bgra_dst_avx
+_sk_load_bgra_dst_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,135,0,0,0                    ; jne           e3b1 <_sk_load_bgra_dst_avx+0xa1>
+  DB  196,65,125,16,12,144                ; vmovupd       (%r8,%rdx,4),%ymm9
+  DB  197,125,40,21,40,110,2,0            ; vmovapd       0x26e28(%rip),%ymm10        # 35160 <_sk_srcover_bgra_8888_sse2_lowp+0x948>
+  DB  196,193,53,84,234                   ; vandpd        %ymm10,%ymm9,%ymm5
+  DB  197,252,91,237                      ; vcvtdq2ps     %ymm5,%ymm5
+  DB  196,98,125,24,5,246,103,2,0         ; vbroadcastss  0x267f6(%rip),%ymm8        # 34b40 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  DB  196,193,84,89,240                   ; vmulps        %ymm8,%ymm5,%ymm6
+  DB  196,193,81,114,209,8                ; vpsrld        $0x8,%xmm9,%xmm5
+  DB  196,99,125,25,207,1                 ; vextractf128  $0x1,%ymm9,%xmm7
+  DB  197,217,114,215,8                   ; vpsrld        $0x8,%xmm7,%xmm4
+  DB  196,227,85,24,228,1                 ; vinsertf128   $0x1,%xmm4,%ymm5,%ymm4
+  DB  196,193,93,84,226                   ; vandpd        %ymm10,%ymm4,%ymm4
+  DB  197,252,91,228                      ; vcvtdq2ps     %ymm4,%ymm4
+  DB  196,193,92,89,232                   ; vmulps        %ymm8,%ymm4,%ymm5
+  DB  196,193,33,114,209,16               ; vpsrld        $0x10,%xmm9,%xmm11
+  DB  197,217,114,215,16                  ; vpsrld        $0x10,%xmm7,%xmm4
+  DB  196,227,37,24,228,1                 ; vinsertf128   $0x1,%xmm4,%ymm11,%ymm4
+  DB  196,193,93,84,226                   ; vandpd        %ymm10,%ymm4,%ymm4
+  DB  197,252,91,228                      ; vcvtdq2ps     %ymm4,%ymm4
+  DB  196,193,92,89,224                   ; vmulps        %ymm8,%ymm4,%ymm4
+  DB  196,193,49,114,209,24               ; vpsrld        $0x18,%xmm9,%xmm9
+  DB  197,193,114,215,24                  ; vpsrld        $0x18,%xmm7,%xmm7
+  DB  196,227,53,24,255,1                 ; vinsertf128   $0x1,%xmm7,%ymm9,%ymm7
+  DB  197,252,91,255                      ; vcvtdq2ps     %ymm7,%ymm7
+  DB  196,193,68,89,248                   ; vmulps        %ymm8,%ymm7,%ymm7
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  196,65,52,87,201                    ; vxorps        %ymm9,%ymm9,%ymm9
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  15,135,108,255,255,255              ; ja            e330 <_sk_load_bgra_dst_avx+0x20>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,146,0,0,0                 ; lea           0x92(%rip),%r9        # e460 <_sk_load_bgra_dst_avx+0x150>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,65,122,16,12,144                ; vmovss        (%r8,%rdx,4),%xmm9
+  DB  233,78,255,255,255                  ; jmpq          e330 <_sk_load_bgra_dst_avx+0x20>
+  DB  196,193,121,110,100,144,8           ; vmovd         0x8(%r8,%rdx,4),%xmm4
+  DB  197,249,112,228,68                  ; vpshufd       $0x44,%xmm4,%xmm4
+  DB  197,212,87,237                      ; vxorps        %ymm5,%ymm5,%ymm5
+  DB  196,99,85,12,204,4                  ; vblendps      $0x4,%ymm4,%ymm5,%ymm9
+  DB  196,193,123,16,36,144               ; vmovsd        (%r8,%rdx,4),%xmm4
+  DB  196,99,53,13,204,1                  ; vblendpd      $0x1,%ymm4,%ymm9,%ymm9
+  DB  233,39,255,255,255                  ; jmpq          e330 <_sk_load_bgra_dst_avx+0x20>
+  DB  196,193,121,110,100,144,24          ; vmovd         0x18(%r8,%rdx,4),%xmm4
+  DB  197,249,112,228,68                  ; vpshufd       $0x44,%xmm4,%xmm4
+  DB  196,227,125,24,228,1                ; vinsertf128   $0x1,%xmm4,%ymm0,%ymm4
+  DB  197,212,87,237                      ; vxorps        %ymm5,%ymm5,%ymm5
+  DB  196,99,85,12,204,64                 ; vblendps      $0x40,%ymm4,%ymm5,%ymm9
+  DB  196,99,125,25,204,1                 ; vextractf128  $0x1,%ymm9,%xmm4
+  DB  196,195,89,34,100,144,20,1          ; vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm4,%xmm4
+  DB  196,99,53,24,204,1                  ; vinsertf128   $0x1,%xmm4,%ymm9,%ymm9
+  DB  196,99,125,25,204,1                 ; vextractf128  $0x1,%ymm9,%xmm4
+  DB  196,195,89,34,100,144,16,0          ; vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm4,%xmm4
+  DB  196,99,53,24,204,1                  ; vinsertf128   $0x1,%xmm4,%ymm9,%ymm9
+  DB  196,193,121,16,36,144               ; vmovupd       (%r8,%rdx,4),%xmm4
+  DB  196,67,93,13,201,12                 ; vblendpd      $0xc,%ymm9,%ymm4,%ymm9
+  DB  233,210,254,255,255                 ; jmpq          e330 <_sk_load_bgra_dst_avx+0x20>
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  119,255                             ; ja            e461 <_sk_load_bgra_dst_avx+0x151>
+  DB  255                                 ; (bad)
+  DB  255,152,255,255,255,130             ; lcall         *-0x7d000001(%rax)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  237                                 ; in            (%dx),%eax
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  217,255                             ; fcos
+  DB  255                                 ; (bad)
+  DB  255,197                             ; inc           %ebp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+  DB  169                                 ; .byte         0xa9
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_gather_bgra_avx
+_sk_gather_bgra_avx LABEL PROC
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,84                               ; push          %r12
+  DB  83                                  ; push          %rbx
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,80,12                ; vbroadcastss  0xc(%rax),%ymm2
+  DB  196,227,125,25,211,1                ; vextractf128  $0x1,%ymm2,%xmm3
+  DB  196,65,57,118,192                   ; vpcmpeqd      %xmm8,%xmm8,%xmm8
+  DB  196,193,97,254,216                  ; vpaddd        %xmm8,%xmm3,%xmm3
+  DB  196,193,105,254,208                 ; vpaddd        %xmm8,%xmm2,%xmm2
+  DB  196,227,109,24,211,1                ; vinsertf128   $0x1,%xmm3,%ymm2,%ymm2
+  DB  196,65,52,87,201                    ; vxorps        %ymm9,%ymm9,%ymm9
+  DB  197,180,95,192                      ; vmaxps        %ymm0,%ymm9,%ymm0
+  DB  197,252,93,194                      ; vminps        %ymm2,%ymm0,%ymm0
+  DB  196,226,125,24,80,16                ; vbroadcastss  0x10(%rax),%ymm2
+  DB  196,227,125,25,211,1                ; vextractf128  $0x1,%ymm2,%xmm3
+  DB  196,193,97,254,216                  ; vpaddd        %xmm8,%xmm3,%xmm3
+  DB  196,193,105,254,208                 ; vpaddd        %xmm8,%xmm2,%xmm2
+  DB  196,227,109,24,211,1                ; vinsertf128   $0x1,%xmm3,%ymm2,%ymm2
+  DB  197,180,95,201                      ; vmaxps        %ymm1,%ymm9,%ymm1
+  DB  197,244,93,202                      ; vminps        %ymm2,%ymm1,%ymm1
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  197,254,91,201                      ; vcvttps2dq    %ymm1,%ymm1
+  DB  197,249,110,80,8                    ; vmovd         0x8(%rax),%xmm2
+  DB  197,249,112,210,0                   ; vpshufd       $0x0,%xmm2,%xmm2
+  DB  196,226,105,64,217                  ; vpmulld       %xmm1,%xmm2,%xmm3
+  DB  196,227,125,25,201,1                ; vextractf128  $0x1,%ymm1,%xmm1
+  DB  196,226,105,64,201                  ; vpmulld       %xmm1,%xmm2,%xmm1
+  DB  197,254,91,192                      ; vcvttps2dq    %ymm0,%ymm0
+  DB  196,227,125,25,194,1                ; vextractf128  $0x1,%ymm0,%xmm2
+  DB  197,241,254,202                     ; vpaddd        %xmm2,%xmm1,%xmm1
+  DB  196,225,249,126,200                 ; vmovq         %xmm1,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  197,225,254,192                     ; vpaddd        %xmm0,%xmm3,%xmm0
+  DB  196,193,249,126,194                 ; vmovq         %xmm0,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,227,249,22,203,1                ; vpextrq       $0x1,%xmm1,%rbx
+  DB  65,137,222                          ; mov           %ebx,%r14d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  196,195,249,22,199,1                ; vpextrq       $0x1,%xmm0,%r15
+  DB  69,137,252                          ; mov           %r15d,%r12d
+  DB  73,193,239,32                       ; shr           $0x20,%r15
+  DB  196,129,121,110,4,152               ; vmovd         (%r8,%r11,4),%xmm0
+  DB  196,131,121,34,4,144,1              ; vpinsrd       $0x1,(%r8,%r10,4),%xmm0,%xmm0
+  DB  196,131,121,34,4,160,2              ; vpinsrd       $0x2,(%r8,%r12,4),%xmm0,%xmm0
+  DB  196,3,121,34,4,184,3                ; vpinsrd       $0x3,(%r8,%r15,4),%xmm0,%xmm8
+  DB  196,129,121,110,4,136               ; vmovd         (%r8,%r9,4),%xmm0
+  DB  196,195,121,34,4,128,1              ; vpinsrd       $0x1,(%r8,%rax,4),%xmm0,%xmm0
+  DB  196,131,121,34,4,176,2              ; vpinsrd       $0x2,(%r8,%r14,4),%xmm0,%xmm0
+  DB  196,195,121,34,28,152,3             ; vpinsrd       $0x3,(%r8,%rbx,4),%xmm0,%xmm3
+  DB  196,227,61,24,195,1                 ; vinsertf128   $0x1,%xmm3,%ymm8,%ymm0
+  DB  197,124,40,13,0,108,2,0             ; vmovaps       0x26c00(%rip),%ymm9        # 35180 <_sk_srcover_bgra_8888_sse2_lowp+0x968>
+  DB  196,193,124,84,193                  ; vandps        %ymm9,%ymm0,%ymm0
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  196,98,125,24,21,174,101,2,0        ; vbroadcastss  0x265ae(%rip),%ymm10        # 34b40 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  DB  196,193,124,89,210                  ; vmulps        %ymm10,%ymm0,%ymm2
+  DB  196,193,121,114,208,8               ; vpsrld        $0x8,%xmm8,%xmm0
+  DB  197,241,114,211,8                   ; vpsrld        $0x8,%xmm3,%xmm1
+  DB  196,227,125,24,193,1                ; vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
+  DB  196,193,124,84,193                  ; vandps        %ymm9,%ymm0,%ymm0
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  196,193,124,89,202                  ; vmulps        %ymm10,%ymm0,%ymm1
+  DB  196,193,33,114,208,16               ; vpsrld        $0x10,%xmm8,%xmm11
+  DB  197,249,114,211,16                  ; vpsrld        $0x10,%xmm3,%xmm0
+  DB  196,227,37,24,192,1                 ; vinsertf128   $0x1,%xmm0,%ymm11,%ymm0
+  DB  196,193,124,84,193                  ; vandps        %ymm9,%ymm0,%ymm0
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  196,193,124,89,194                  ; vmulps        %ymm10,%ymm0,%ymm0
+  DB  196,193,57,114,208,24               ; vpsrld        $0x18,%xmm8,%xmm8
+  DB  197,225,114,211,24                  ; vpsrld        $0x18,%xmm3,%xmm3
+  DB  196,227,61,24,219,1                 ; vinsertf128   $0x1,%xmm3,%ymm8,%ymm3
+  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
+  DB  196,193,100,89,218                  ; vmulps        %ymm10,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  91                                  ; pop           %rbx
+  DB  65,92                               ; pop           %r12
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_store_bgra_avx
+_sk_store_bgra_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,60,95,202                       ; vmaxps        %ymm2,%ymm8,%ymm9
+  DB  196,98,125,24,21,171,100,2,0        ; vbroadcastss  0x264ab(%rip),%ymm10        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,65,52,93,202                    ; vminps        %ymm10,%ymm9,%ymm9
+  DB  196,98,125,24,29,201,100,2,0        ; vbroadcastss  0x264c9(%rip),%ymm11        # 34af4 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  DB  196,65,52,89,203                    ; vmulps        %ymm11,%ymm9,%ymm9
+  DB  196,65,125,91,201                   ; vcvtps2dq     %ymm9,%ymm9
+  DB  197,60,95,225                       ; vmaxps        %ymm1,%ymm8,%ymm12
+  DB  196,65,28,93,226                    ; vminps        %ymm10,%ymm12,%ymm12
+  DB  196,65,28,89,227                    ; vmulps        %ymm11,%ymm12,%ymm12
+  DB  196,65,125,91,228                   ; vcvtps2dq     %ymm12,%ymm12
+  DB  196,193,17,114,244,8                ; vpslld        $0x8,%xmm12,%xmm13
+  DB  196,67,125,25,228,1                 ; vextractf128  $0x1,%ymm12,%xmm12
+  DB  196,193,25,114,244,8                ; vpslld        $0x8,%xmm12,%xmm12
+  DB  196,67,21,24,228,1                  ; vinsertf128   $0x1,%xmm12,%ymm13,%ymm12
+  DB  196,65,29,86,201                    ; vorpd         %ymm9,%ymm12,%ymm9
+  DB  197,60,95,224                       ; vmaxps        %ymm0,%ymm8,%ymm12
+  DB  196,65,28,93,226                    ; vminps        %ymm10,%ymm12,%ymm12
+  DB  196,65,28,89,227                    ; vmulps        %ymm11,%ymm12,%ymm12
+  DB  196,65,125,91,228                   ; vcvtps2dq     %ymm12,%ymm12
+  DB  196,193,17,114,244,16               ; vpslld        $0x10,%xmm12,%xmm13
+  DB  196,67,125,25,228,1                 ; vextractf128  $0x1,%ymm12,%xmm12
+  DB  196,193,25,114,244,16               ; vpslld        $0x10,%xmm12,%xmm12
+  DB  196,67,21,24,228,1                  ; vinsertf128   $0x1,%xmm12,%ymm13,%ymm12
+  DB  197,60,95,195                       ; vmaxps        %ymm3,%ymm8,%ymm8
+  DB  196,65,60,93,194                    ; vminps        %ymm10,%ymm8,%ymm8
+  DB  196,65,60,89,195                    ; vmulps        %ymm11,%ymm8,%ymm8
+  DB  196,65,125,91,192                   ; vcvtps2dq     %ymm8,%ymm8
+  DB  196,193,41,114,240,24               ; vpslld        $0x18,%xmm8,%xmm10
+  DB  196,67,125,25,192,1                 ; vextractf128  $0x1,%ymm8,%xmm8
+  DB  196,193,57,114,240,24               ; vpslld        $0x18,%xmm8,%xmm8
+  DB  196,67,45,24,192,1                  ; vinsertf128   $0x1,%xmm8,%ymm10,%ymm8
+  DB  196,65,29,86,192                    ; vorpd         %ymm8,%ymm12,%ymm8
+  DB  196,65,53,86,192                    ; vorpd         %ymm8,%ymm9,%ymm8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,10                              ; jne           e6d4 <_sk_store_bgra_avx+0xda>
+  DB  196,65,124,17,4,144                 ; vmovups       %ymm8,(%r8,%rdx,4)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,242                             ; ja            e6d0 <_sk_store_bgra_avx+0xd6>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,84,0,0,0                  ; lea           0x54(%rip),%r9        # e73c <_sk_store_bgra_avx+0x142>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,65,121,126,4,144                ; vmovd         %xmm8,(%r8,%rdx,4)
+  DB  235,215                             ; jmp           e6d0 <_sk_store_bgra_avx+0xd6>
+  DB  196,67,121,22,68,144,8,2            ; vpextrd       $0x2,%xmm8,0x8(%r8,%rdx,4)
+  DB  196,65,121,214,4,144                ; vmovq         %xmm8,(%r8,%rdx,4)
+  DB  235,199                             ; jmp           e6d0 <_sk_store_bgra_avx+0xd6>
+  DB  196,67,125,25,193,1                 ; vextractf128  $0x1,%ymm8,%xmm9
+  DB  196,67,121,22,76,144,24,2           ; vpextrd       $0x2,%xmm9,0x18(%r8,%rdx,4)
+  DB  196,67,125,25,193,1                 ; vextractf128  $0x1,%ymm8,%xmm9
+  DB  196,67,121,22,76,144,20,1           ; vpextrd       $0x1,%xmm9,0x14(%r8,%rdx,4)
+  DB  196,67,125,25,193,1                 ; vextractf128  $0x1,%ymm8,%xmm9
+  DB  196,65,122,17,76,144,16             ; vmovss        %xmm9,0x10(%r8,%rdx,4)
+  DB  196,65,121,17,4,144                 ; vmovupd       %xmm8,(%r8,%rdx,4)
+  DB  235,150                             ; jmp           e6d0 <_sk_store_bgra_avx+0xd6>
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  181,255                             ; mov           $0xff,%ch
+  DB  255                                 ; (bad)
+  DB  255,197                             ; inc           %ebp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  189,255,255,255,246                 ; mov           $0xf6ffffff,%ebp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  233,255,255,255,219                 ; jmpq          ffffffffdc00e750 <_sk_srcover_bgra_8888_sse2_lowp+0xffffffffdbfd9f38>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,205                             ; dec           %ebp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_1010102_avx
+_sk_load_1010102_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,145,0,0,0                    ; jne           e803 <_sk_load_1010102_avx+0xab>
+  DB  196,65,125,16,12,144                ; vmovupd       (%r8,%rdx,4),%ymm9
+  DB  196,98,125,24,29,99,100,2,0         ; vbroadcastss  0x26463(%rip),%ymm11        # 34be4 <_sk_srcover_bgra_8888_sse2_lowp+0x3cc>
+  DB  196,193,53,84,195                   ; vandpd        %ymm11,%ymm9,%ymm0
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  196,98,125,24,5,85,100,2,0          ; vbroadcastss  0x26455(%rip),%ymm8        # 34be8 <_sk_srcover_bgra_8888_sse2_lowp+0x3d0>
+  DB  196,193,124,89,192                  ; vmulps        %ymm8,%ymm0,%ymm0
+  DB  196,193,41,114,209,10               ; vpsrld        $0xa,%xmm9,%xmm10
+  DB  196,99,125,25,203,1                 ; vextractf128  $0x1,%ymm9,%xmm3
+  DB  197,241,114,211,10                  ; vpsrld        $0xa,%xmm3,%xmm1
+  DB  196,227,45,24,201,1                 ; vinsertf128   $0x1,%xmm1,%ymm10,%ymm1
+  DB  196,193,117,84,203                  ; vandpd        %ymm11,%ymm1,%ymm1
+  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
+  DB  196,193,116,89,200                  ; vmulps        %ymm8,%ymm1,%ymm1
+  DB  196,193,41,114,209,20               ; vpsrld        $0x14,%xmm9,%xmm10
+  DB  197,233,114,211,20                  ; vpsrld        $0x14,%xmm3,%xmm2
+  DB  196,227,45,24,210,1                 ; vinsertf128   $0x1,%xmm2,%ymm10,%ymm2
+  DB  196,193,109,84,211                  ; vandpd        %ymm11,%ymm2,%ymm2
+  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
+  DB  196,193,108,89,208                  ; vmulps        %ymm8,%ymm2,%ymm2
+  DB  196,193,57,114,209,30               ; vpsrld        $0x1e,%xmm9,%xmm8
+  DB  197,225,114,211,30                  ; vpsrld        $0x1e,%xmm3,%xmm3
+  DB  196,227,61,24,219,1                 ; vinsertf128   $0x1,%xmm3,%ymm8,%ymm3
+  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
+  DB  196,98,125,24,5,58,99,2,0           ; vbroadcastss  0x2633a(%rip),%ymm8        # 34b34 <_sk_srcover_bgra_8888_sse2_lowp+0x31c>
+  DB  196,193,100,89,216                  ; vmulps        %ymm8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  196,65,52,87,201                    ; vxorps        %ymm9,%ymm9,%ymm9
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  15,135,98,255,255,255               ; ja            e778 <_sk_load_1010102_avx+0x20>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,144,0,0,0                 ; lea           0x90(%rip),%r9        # e8b0 <_sk_load_1010102_avx+0x158>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,65,122,16,12,144                ; vmovss        (%r8,%rdx,4),%xmm9
+  DB  233,68,255,255,255                  ; jmpq          e778 <_sk_load_1010102_avx+0x20>
+  DB  196,193,121,110,68,144,8            ; vmovd         0x8(%r8,%rdx,4),%xmm0
+  DB  197,249,112,192,68                  ; vpshufd       $0x44,%xmm0,%xmm0
+  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
+  DB  196,99,117,12,200,4                 ; vblendps      $0x4,%ymm0,%ymm1,%ymm9
+  DB  196,193,123,16,4,144                ; vmovsd        (%r8,%rdx,4),%xmm0
+  DB  196,99,53,13,200,1                  ; vblendpd      $0x1,%ymm0,%ymm9,%ymm9
+  DB  233,29,255,255,255                  ; jmpq          e778 <_sk_load_1010102_avx+0x20>
+  DB  196,193,121,110,68,144,24           ; vmovd         0x18(%r8,%rdx,4),%xmm0
+  DB  197,249,112,192,68                  ; vpshufd       $0x44,%xmm0,%xmm0
+  DB  196,227,125,24,192,1                ; vinsertf128   $0x1,%xmm0,%ymm0,%ymm0
+  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
+  DB  196,99,117,12,200,64                ; vblendps      $0x40,%ymm0,%ymm1,%ymm9
+  DB  196,99,125,25,200,1                 ; vextractf128  $0x1,%ymm9,%xmm0
+  DB  196,195,121,34,68,144,20,1          ; vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm0,%xmm0
+  DB  196,99,53,24,200,1                  ; vinsertf128   $0x1,%xmm0,%ymm9,%ymm9
+  DB  196,99,125,25,200,1                 ; vextractf128  $0x1,%ymm9,%xmm0
+  DB  196,195,121,34,68,144,16,0          ; vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm0,%xmm0
+  DB  196,99,53,24,200,1                  ; vinsertf128   $0x1,%xmm0,%ymm9,%ymm9
+  DB  196,193,121,16,4,144                ; vmovupd       (%r8,%rdx,4),%xmm0
+  DB  196,67,125,13,201,12                ; vblendpd      $0xc,%ymm9,%ymm0,%ymm9
+  DB  233,200,254,255,255                 ; jmpq          e778 <_sk_load_1010102_avx+0x20>
+  DB  121,255                             ; jns           e8b1 <_sk_load_1010102_avx+0x159>
+  DB  255                                 ; (bad)
+  DB  255,154,255,255,255,132             ; lcall         *-0x7b000001(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  239                                 ; out           %eax,(%dx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  219,255                             ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,199                             ; inc           %edi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+  DB  171                                 ; stos          %eax,%es:(%rdi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_1010102_dst_avx
+_sk_load_1010102_dst_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,145,0,0,0                    ; jne           e977 <_sk_load_1010102_dst_avx+0xab>
+  DB  196,65,125,16,12,144                ; vmovupd       (%r8,%rdx,4),%ymm9
+  DB  196,98,125,24,29,239,98,2,0         ; vbroadcastss  0x262ef(%rip),%ymm11        # 34be4 <_sk_srcover_bgra_8888_sse2_lowp+0x3cc>
+  DB  196,193,53,84,227                   ; vandpd        %ymm11,%ymm9,%ymm4
+  DB  197,252,91,228                      ; vcvtdq2ps     %ymm4,%ymm4
+  DB  196,98,125,24,5,225,98,2,0          ; vbroadcastss  0x262e1(%rip),%ymm8        # 34be8 <_sk_srcover_bgra_8888_sse2_lowp+0x3d0>
+  DB  196,193,92,89,224                   ; vmulps        %ymm8,%ymm4,%ymm4
+  DB  196,193,41,114,209,10               ; vpsrld        $0xa,%xmm9,%xmm10
+  DB  196,99,125,25,207,1                 ; vextractf128  $0x1,%ymm9,%xmm7
+  DB  197,209,114,215,10                  ; vpsrld        $0xa,%xmm7,%xmm5
+  DB  196,227,45,24,237,1                 ; vinsertf128   $0x1,%xmm5,%ymm10,%ymm5
+  DB  196,193,85,84,235                   ; vandpd        %ymm11,%ymm5,%ymm5
+  DB  197,252,91,237                      ; vcvtdq2ps     %ymm5,%ymm5
+  DB  196,193,84,89,232                   ; vmulps        %ymm8,%ymm5,%ymm5
+  DB  196,193,41,114,209,20               ; vpsrld        $0x14,%xmm9,%xmm10
+  DB  197,201,114,215,20                  ; vpsrld        $0x14,%xmm7,%xmm6
+  DB  196,227,45,24,246,1                 ; vinsertf128   $0x1,%xmm6,%ymm10,%ymm6
+  DB  196,193,77,84,243                   ; vandpd        %ymm11,%ymm6,%ymm6
+  DB  197,252,91,246                      ; vcvtdq2ps     %ymm6,%ymm6
+  DB  196,193,76,89,240                   ; vmulps        %ymm8,%ymm6,%ymm6
+  DB  196,193,57,114,209,30               ; vpsrld        $0x1e,%xmm9,%xmm8
+  DB  197,193,114,215,30                  ; vpsrld        $0x1e,%xmm7,%xmm7
+  DB  196,227,61,24,255,1                 ; vinsertf128   $0x1,%xmm7,%ymm8,%ymm7
+  DB  197,252,91,255                      ; vcvtdq2ps     %ymm7,%ymm7
+  DB  196,98,125,24,5,198,97,2,0          ; vbroadcastss  0x261c6(%rip),%ymm8        # 34b34 <_sk_srcover_bgra_8888_sse2_lowp+0x31c>
+  DB  196,193,68,89,248                   ; vmulps        %ymm8,%ymm7,%ymm7
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  196,65,52,87,201                    ; vxorps        %ymm9,%ymm9,%ymm9
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  15,135,98,255,255,255               ; ja            e8ec <_sk_load_1010102_dst_avx+0x20>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,144,0,0,0                 ; lea           0x90(%rip),%r9        # ea24 <_sk_load_1010102_dst_avx+0x158>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,65,122,16,12,144                ; vmovss        (%r8,%rdx,4),%xmm9
+  DB  233,68,255,255,255                  ; jmpq          e8ec <_sk_load_1010102_dst_avx+0x20>
+  DB  196,193,121,110,100,144,8           ; vmovd         0x8(%r8,%rdx,4),%xmm4
+  DB  197,249,112,228,68                  ; vpshufd       $0x44,%xmm4,%xmm4
+  DB  197,212,87,237                      ; vxorps        %ymm5,%ymm5,%ymm5
+  DB  196,99,85,12,204,4                  ; vblendps      $0x4,%ymm4,%ymm5,%ymm9
+  DB  196,193,123,16,36,144               ; vmovsd        (%r8,%rdx,4),%xmm4
+  DB  196,99,53,13,204,1                  ; vblendpd      $0x1,%ymm4,%ymm9,%ymm9
+  DB  233,29,255,255,255                  ; jmpq          e8ec <_sk_load_1010102_dst_avx+0x20>
+  DB  196,193,121,110,100,144,24          ; vmovd         0x18(%r8,%rdx,4),%xmm4
+  DB  197,249,112,228,68                  ; vpshufd       $0x44,%xmm4,%xmm4
+  DB  196,227,125,24,228,1                ; vinsertf128   $0x1,%xmm4,%ymm0,%ymm4
+  DB  197,212,87,237                      ; vxorps        %ymm5,%ymm5,%ymm5
+  DB  196,99,85,12,204,64                 ; vblendps      $0x40,%ymm4,%ymm5,%ymm9
+  DB  196,99,125,25,204,1                 ; vextractf128  $0x1,%ymm9,%xmm4
+  DB  196,195,89,34,100,144,20,1          ; vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm4,%xmm4
+  DB  196,99,53,24,204,1                  ; vinsertf128   $0x1,%xmm4,%ymm9,%ymm9
+  DB  196,99,125,25,204,1                 ; vextractf128  $0x1,%ymm9,%xmm4
+  DB  196,195,89,34,100,144,16,0          ; vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm4,%xmm4
+  DB  196,99,53,24,204,1                  ; vinsertf128   $0x1,%xmm4,%ymm9,%ymm9
+  DB  196,193,121,16,36,144               ; vmovupd       (%r8,%rdx,4),%xmm4
+  DB  196,67,93,13,201,12                 ; vblendpd      $0xc,%ymm9,%ymm4,%ymm9
+  DB  233,200,254,255,255                 ; jmpq          e8ec <_sk_load_1010102_dst_avx+0x20>
+  DB  121,255                             ; jns           ea25 <_sk_load_1010102_dst_avx+0x159>
+  DB  255                                 ; (bad)
+  DB  255,154,255,255,255,132             ; lcall         *-0x7b000001(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  239                                 ; out           %eax,(%dx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  219,255                             ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,199                             ; inc           %edi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+  DB  171                                 ; stos          %eax,%es:(%rdi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_gather_1010102_avx
+_sk_gather_1010102_avx LABEL PROC
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,84                               ; push          %r12
+  DB  83                                  ; push          %rbx
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,80,12                ; vbroadcastss  0xc(%rax),%ymm2
+  DB  196,227,125,25,211,1                ; vextractf128  $0x1,%ymm2,%xmm3
+  DB  196,65,57,118,192                   ; vpcmpeqd      %xmm8,%xmm8,%xmm8
+  DB  196,193,97,254,216                  ; vpaddd        %xmm8,%xmm3,%xmm3
+  DB  196,193,105,254,208                 ; vpaddd        %xmm8,%xmm2,%xmm2
+  DB  196,227,109,24,211,1                ; vinsertf128   $0x1,%xmm3,%ymm2,%ymm2
+  DB  196,65,52,87,201                    ; vxorps        %ymm9,%ymm9,%ymm9
+  DB  197,180,95,192                      ; vmaxps        %ymm0,%ymm9,%ymm0
+  DB  197,252,93,194                      ; vminps        %ymm2,%ymm0,%ymm0
+  DB  196,226,125,24,80,16                ; vbroadcastss  0x10(%rax),%ymm2
+  DB  196,227,125,25,211,1                ; vextractf128  $0x1,%ymm2,%xmm3
+  DB  196,193,97,254,216                  ; vpaddd        %xmm8,%xmm3,%xmm3
+  DB  196,193,105,254,208                 ; vpaddd        %xmm8,%xmm2,%xmm2
+  DB  196,227,109,24,211,1                ; vinsertf128   $0x1,%xmm3,%ymm2,%ymm2
+  DB  197,180,95,201                      ; vmaxps        %ymm1,%ymm9,%ymm1
+  DB  197,244,93,202                      ; vminps        %ymm2,%ymm1,%ymm1
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  197,254,91,201                      ; vcvttps2dq    %ymm1,%ymm1
+  DB  197,249,110,80,8                    ; vmovd         0x8(%rax),%xmm2
+  DB  197,249,112,210,0                   ; vpshufd       $0x0,%xmm2,%xmm2
+  DB  196,226,105,64,217                  ; vpmulld       %xmm1,%xmm2,%xmm3
+  DB  196,227,125,25,201,1                ; vextractf128  $0x1,%ymm1,%xmm1
+  DB  196,226,105,64,201                  ; vpmulld       %xmm1,%xmm2,%xmm1
+  DB  197,254,91,192                      ; vcvttps2dq    %ymm0,%ymm0
+  DB  196,227,125,25,194,1                ; vextractf128  $0x1,%ymm0,%xmm2
+  DB  197,241,254,202                     ; vpaddd        %xmm2,%xmm1,%xmm1
+  DB  196,225,249,126,200                 ; vmovq         %xmm1,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  197,225,254,192                     ; vpaddd        %xmm0,%xmm3,%xmm0
+  DB  196,193,249,126,194                 ; vmovq         %xmm0,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,227,249,22,203,1                ; vpextrq       $0x1,%xmm1,%rbx
+  DB  65,137,222                          ; mov           %ebx,%r14d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  196,195,249,22,199,1                ; vpextrq       $0x1,%xmm0,%r15
+  DB  69,137,252                          ; mov           %r15d,%r12d
+  DB  73,193,239,32                       ; shr           $0x20,%r15
+  DB  196,129,121,110,4,152               ; vmovd         (%r8,%r11,4),%xmm0
+  DB  196,131,121,34,4,144,1              ; vpinsrd       $0x1,(%r8,%r10,4),%xmm0,%xmm0
+  DB  196,131,121,34,4,160,2              ; vpinsrd       $0x2,(%r8,%r12,4),%xmm0,%xmm0
+  DB  196,3,121,34,4,184,3                ; vpinsrd       $0x3,(%r8,%r15,4),%xmm0,%xmm8
+  DB  196,129,121,110,4,136               ; vmovd         (%r8,%r9,4),%xmm0
+  DB  196,195,121,34,4,128,1              ; vpinsrd       $0x1,(%r8,%rax,4),%xmm0,%xmm0
+  DB  196,131,121,34,4,176,2              ; vpinsrd       $0x2,(%r8,%r14,4),%xmm0,%xmm0
+  DB  196,195,121,34,28,152,3             ; vpinsrd       $0x3,(%r8,%rbx,4),%xmm0,%xmm3
+  DB  196,227,61,24,195,1                 ; vinsertf128   $0x1,%xmm3,%ymm8,%ymm0
+  DB  196,98,125,24,29,159,96,2,0         ; vbroadcastss  0x2609f(%rip),%ymm11        # 34be4 <_sk_srcover_bgra_8888_sse2_lowp+0x3cc>
+  DB  196,193,124,84,195                  ; vandps        %ymm11,%ymm0,%ymm0
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  196,98,125,24,13,145,96,2,0         ; vbroadcastss  0x26091(%rip),%ymm9        # 34be8 <_sk_srcover_bgra_8888_sse2_lowp+0x3d0>
+  DB  196,193,124,89,193                  ; vmulps        %ymm9,%ymm0,%ymm0
+  DB  196,193,41,114,208,10               ; vpsrld        $0xa,%xmm8,%xmm10
+  DB  197,241,114,211,10                  ; vpsrld        $0xa,%xmm3,%xmm1
+  DB  196,227,45,24,201,1                 ; vinsertf128   $0x1,%xmm1,%ymm10,%ymm1
+  DB  196,193,116,84,203                  ; vandps        %ymm11,%ymm1,%ymm1
+  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
+  DB  196,193,116,89,201                  ; vmulps        %ymm9,%ymm1,%ymm1
+  DB  196,193,41,114,208,20               ; vpsrld        $0x14,%xmm8,%xmm10
+  DB  197,233,114,211,20                  ; vpsrld        $0x14,%xmm3,%xmm2
+  DB  196,227,45,24,210,1                 ; vinsertf128   $0x1,%xmm2,%ymm10,%ymm2
+  DB  196,193,108,84,211                  ; vandps        %ymm11,%ymm2,%ymm2
+  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
+  DB  196,193,108,89,209                  ; vmulps        %ymm9,%ymm2,%ymm2
+  DB  196,193,57,114,208,30               ; vpsrld        $0x1e,%xmm8,%xmm8
+  DB  197,225,114,211,30                  ; vpsrld        $0x1e,%xmm3,%xmm3
+  DB  196,227,61,24,219,1                 ; vinsertf128   $0x1,%xmm3,%ymm8,%ymm3
+  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
+  DB  196,98,125,24,5,124,95,2,0          ; vbroadcastss  0x25f7c(%rip),%ymm8        # 34b34 <_sk_srcover_bgra_8888_sse2_lowp+0x31c>
+  DB  196,193,100,89,216                  ; vmulps        %ymm8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  91                                  ; pop           %rbx
+  DB  65,92                               ; pop           %r12
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_store_1010102_avx
+_sk_store_1010102_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,60,95,200                       ; vmaxps        %ymm0,%ymm8,%ymm9
+  DB  196,98,125,24,21,221,94,2,0         ; vbroadcastss  0x25edd(%rip),%ymm10        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,65,52,93,202                    ; vminps        %ymm10,%ymm9,%ymm9
+  DB  196,98,125,24,29,243,95,2,0         ; vbroadcastss  0x25ff3(%rip),%ymm11        # 34bec <_sk_srcover_bgra_8888_sse2_lowp+0x3d4>
+  DB  196,65,52,89,203                    ; vmulps        %ymm11,%ymm9,%ymm9
+  DB  196,65,125,91,201                   ; vcvtps2dq     %ymm9,%ymm9
+  DB  197,60,95,225                       ; vmaxps        %ymm1,%ymm8,%ymm12
+  DB  196,65,28,93,226                    ; vminps        %ymm10,%ymm12,%ymm12
+  DB  196,65,28,89,227                    ; vmulps        %ymm11,%ymm12,%ymm12
+  DB  196,65,125,91,228                   ; vcvtps2dq     %ymm12,%ymm12
+  DB  196,193,17,114,244,10               ; vpslld        $0xa,%xmm12,%xmm13
+  DB  196,67,125,25,228,1                 ; vextractf128  $0x1,%ymm12,%xmm12
+  DB  196,193,25,114,244,10               ; vpslld        $0xa,%xmm12,%xmm12
+  DB  196,67,21,24,228,1                  ; vinsertf128   $0x1,%xmm12,%ymm13,%ymm12
+  DB  196,65,29,86,201                    ; vorpd         %ymm9,%ymm12,%ymm9
+  DB  197,60,95,226                       ; vmaxps        %ymm2,%ymm8,%ymm12
+  DB  196,65,28,93,226                    ; vminps        %ymm10,%ymm12,%ymm12
+  DB  196,65,28,89,219                    ; vmulps        %ymm11,%ymm12,%ymm11
+  DB  196,65,125,91,219                   ; vcvtps2dq     %ymm11,%ymm11
+  DB  196,193,25,114,243,20               ; vpslld        $0x14,%xmm11,%xmm12
+  DB  196,67,125,25,219,1                 ; vextractf128  $0x1,%ymm11,%xmm11
+  DB  196,193,33,114,243,20               ; vpslld        $0x14,%xmm11,%xmm11
+  DB  196,67,29,24,219,1                  ; vinsertf128   $0x1,%xmm11,%ymm12,%ymm11
+  DB  197,60,95,195                       ; vmaxps        %ymm3,%ymm8,%ymm8
+  DB  196,65,60,93,194                    ; vminps        %ymm10,%ymm8,%ymm8
+  DB  196,98,125,24,21,128,95,2,0         ; vbroadcastss  0x25f80(%rip),%ymm10        # 34bf0 <_sk_srcover_bgra_8888_sse2_lowp+0x3d8>
+  DB  196,65,60,89,194                    ; vmulps        %ymm10,%ymm8,%ymm8
+  DB  196,65,125,91,192                   ; vcvtps2dq     %ymm8,%ymm8
+  DB  196,193,41,114,240,30               ; vpslld        $0x1e,%xmm8,%xmm10
+  DB  196,67,125,25,192,1                 ; vextractf128  $0x1,%ymm8,%xmm8
+  DB  196,193,57,114,240,30               ; vpslld        $0x1e,%xmm8,%xmm8
+  DB  196,67,45,24,192,1                  ; vinsertf128   $0x1,%xmm8,%ymm10,%ymm8
+  DB  196,65,37,86,192                    ; vorpd         %ymm8,%ymm11,%ymm8
+  DB  196,65,53,86,192                    ; vorpd         %ymm8,%ymm9,%ymm8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,10                              ; jne           ecab <_sk_store_1010102_avx+0xe3>
+  DB  196,65,124,17,4,144                 ; vmovups       %ymm8,(%r8,%rdx,4)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,242                             ; ja            eca7 <_sk_store_1010102_avx+0xdf>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,85,0,0,0                  ; lea           0x55(%rip),%r9        # ed14 <_sk_store_1010102_avx+0x14c>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,65,121,126,4,144                ; vmovd         %xmm8,(%r8,%rdx,4)
+  DB  235,215                             ; jmp           eca7 <_sk_store_1010102_avx+0xdf>
+  DB  196,67,121,22,68,144,8,2            ; vpextrd       $0x2,%xmm8,0x8(%r8,%rdx,4)
+  DB  196,65,121,214,4,144                ; vmovq         %xmm8,(%r8,%rdx,4)
+  DB  235,199                             ; jmp           eca7 <_sk_store_1010102_avx+0xdf>
+  DB  196,67,125,25,193,1                 ; vextractf128  $0x1,%ymm8,%xmm9
+  DB  196,67,121,22,76,144,24,2           ; vpextrd       $0x2,%xmm9,0x18(%r8,%rdx,4)
+  DB  196,67,125,25,193,1                 ; vextractf128  $0x1,%ymm8,%xmm9
+  DB  196,67,121,22,76,144,20,1           ; vpextrd       $0x1,%xmm9,0x14(%r8,%rdx,4)
+  DB  196,67,125,25,193,1                 ; vextractf128  $0x1,%ymm8,%xmm9
+  DB  196,65,122,17,76,144,16             ; vmovss        %xmm9,0x10(%r8,%rdx,4)
+  DB  196,65,121,17,4,144                 ; vmovupd       %xmm8,(%r8,%rdx,4)
+  DB  235,150                             ; jmp           eca7 <_sk_store_1010102_avx+0xdf>
+  DB  15,31,0                             ; nopl          (%rax)
+  DB  180,255                             ; mov           $0xff,%ah
+  DB  255                                 ; (bad)
+  DB  255,196                             ; inc           %esp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  188,255,255,255,245                 ; mov           $0xf5ffffff,%esp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  232,255,255,255,218                 ; callq         ffffffffdb00ed28 <_sk_srcover_bgra_8888_sse2_lowp+0xffffffffdafda510>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,204                             ; dec           %esp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_f16_avx
+_sk_load_f16_avx LABEL PROC
+  DB  72,129,236,152,0,0,0                ; sub           $0x98,%rsp
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,3                        ; shl           $0x3,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  197,252,17,124,36,96                ; vmovups       %ymm7,0x60(%rsp)
+  DB  197,252,17,116,36,64                ; vmovups       %ymm6,0x40(%rsp)
+  DB  197,252,17,108,36,32                ; vmovups       %ymm5,0x20(%rsp)
+  DB  197,252,17,36,36                    ; vmovups       %ymm4,(%rsp)
+  DB  15,133,33,2,0,0                     ; jne           ef89 <_sk_load_f16_avx+0x259>
+  DB  196,65,121,16,4,208                 ; vmovupd       (%r8,%rdx,8),%xmm8
+  DB  196,193,121,16,84,208,16            ; vmovupd       0x10(%r8,%rdx,8),%xmm2
+  DB  196,193,121,16,92,208,32            ; vmovupd       0x20(%r8,%rdx,8),%xmm3
+  DB  196,65,122,111,76,208,48            ; vmovdqu       0x30(%r8,%rdx,8),%xmm9
+  DB  197,185,97,194                      ; vpunpcklwd    %xmm2,%xmm8,%xmm0
+  DB  197,185,105,210                     ; vpunpckhwd    %xmm2,%xmm8,%xmm2
+  DB  196,193,97,97,201                   ; vpunpcklwd    %xmm9,%xmm3,%xmm1
+  DB  196,193,97,105,217                  ; vpunpckhwd    %xmm9,%xmm3,%xmm3
+  DB  197,121,97,242                      ; vpunpcklwd    %xmm2,%xmm0,%xmm14
+  DB  197,121,105,194                     ; vpunpckhwd    %xmm2,%xmm0,%xmm8
+  DB  197,113,97,251                      ; vpunpcklwd    %xmm3,%xmm1,%xmm15
+  DB  197,113,105,203                     ; vpunpckhwd    %xmm3,%xmm1,%xmm9
+  DB  196,193,9,108,199                   ; vpunpcklqdq   %xmm15,%xmm14,%xmm0
+  DB  196,226,121,51,200                  ; vpmovzxwd     %xmm0,%xmm1
+  DB  197,249,112,192,78                  ; vpshufd       $0x4e,%xmm0,%xmm0
+  DB  196,226,121,51,192                  ; vpmovzxwd     %xmm0,%xmm0
+  DB  197,123,18,21,71,111,2,0            ; vmovddup      0x26f47(%rip),%xmm10        # 35d08 <_sk_srcover_bgra_8888_sse2_lowp+0x14f0>
+  DB  196,193,121,219,218                 ; vpand         %xmm10,%xmm0,%xmm3
+  DB  196,98,121,24,29,133,94,2,0         ; vbroadcastss  0x25e85(%rip),%xmm11        # 34c54 <_sk_srcover_bgra_8888_sse2_lowp+0x43c>
+  DB  197,33,102,227                      ; vpcmpgtd      %xmm3,%xmm11,%xmm12
+  DB  196,193,113,219,210                 ; vpand         %xmm10,%xmm1,%xmm2
+  DB  197,33,102,234                      ; vpcmpgtd      %xmm2,%xmm11,%xmm13
+  DB  196,195,21,24,252,1                 ; vinsertf128   $0x1,%xmm12,%ymm13,%ymm7
+  DB  197,123,18,37,38,111,2,0            ; vmovddup      0x26f26(%rip),%xmm12        # 35d10 <_sk_srcover_bgra_8888_sse2_lowp+0x14f8>
+  DB  196,193,113,219,204                 ; vpand         %xmm12,%xmm1,%xmm1
+  DB  197,241,114,241,16                  ; vpslld        $0x10,%xmm1,%xmm1
+  DB  196,193,121,219,196                 ; vpand         %xmm12,%xmm0,%xmm0
+  DB  197,249,114,240,16                  ; vpslld        $0x10,%xmm0,%xmm0
+  DB  197,233,114,242,13                  ; vpslld        $0xd,%xmm2,%xmm2
+  DB  197,241,235,202                     ; vpor          %xmm2,%xmm1,%xmm1
+  DB  197,233,114,243,13                  ; vpslld        $0xd,%xmm3,%xmm2
+  DB  197,249,235,194                     ; vpor          %xmm2,%xmm0,%xmm0
+  DB  196,226,121,24,29,63,94,2,0         ; vbroadcastss  0x25e3f(%rip),%xmm3        # 34c58 <_sk_srcover_bgra_8888_sse2_lowp+0x440>
+  DB  197,249,254,195                     ; vpaddd        %xmm3,%xmm0,%xmm0
+  DB  197,241,254,203                     ; vpaddd        %xmm3,%xmm1,%xmm1
+  DB  196,227,117,24,192,1                ; vinsertf128   $0x1,%xmm0,%ymm1,%ymm0
+  DB  197,220,87,228                      ; vxorps        %ymm4,%ymm4,%ymm4
+  DB  196,227,125,74,196,112              ; vblendvps     %ymm7,%ymm4,%ymm0,%ymm0
+  DB  196,193,9,109,207                   ; vpunpckhqdq   %xmm15,%xmm14,%xmm1
+  DB  196,226,121,51,209                  ; vpmovzxwd     %xmm1,%xmm2
+  DB  197,249,112,201,78                  ; vpshufd       $0x4e,%xmm1,%xmm1
+  DB  196,98,121,51,249                   ; vpmovzxwd     %xmm1,%xmm15
+  DB  196,193,1,219,250                   ; vpand         %xmm10,%xmm15,%xmm7
+  DB  197,33,102,247                      ; vpcmpgtd      %xmm7,%xmm11,%xmm14
+  DB  196,193,105,219,202                 ; vpand         %xmm10,%xmm2,%xmm1
+  DB  197,33,102,233                      ; vpcmpgtd      %xmm1,%xmm11,%xmm13
+  DB  196,67,21,24,238,1                  ; vinsertf128   $0x1,%xmm14,%ymm13,%ymm13
+  DB  196,193,105,219,212                 ; vpand         %xmm12,%xmm2,%xmm2
+  DB  197,233,114,242,16                  ; vpslld        $0x10,%xmm2,%xmm2
+  DB  197,241,114,241,13                  ; vpslld        $0xd,%xmm1,%xmm1
+  DB  197,233,235,201                     ; vpor          %xmm1,%xmm2,%xmm1
+  DB  196,193,1,219,212                   ; vpand         %xmm12,%xmm15,%xmm2
+  DB  197,233,114,242,16                  ; vpslld        $0x10,%xmm2,%xmm2
+  DB  197,193,114,247,13                  ; vpslld        $0xd,%xmm7,%xmm7
+  DB  197,233,235,215                     ; vpor          %xmm7,%xmm2,%xmm2
+  DB  197,233,254,211                     ; vpaddd        %xmm3,%xmm2,%xmm2
+  DB  197,241,254,203                     ; vpaddd        %xmm3,%xmm1,%xmm1
+  DB  196,227,117,24,202,1                ; vinsertf128   $0x1,%xmm2,%ymm1,%ymm1
+  DB  196,227,117,74,204,208              ; vblendvps     %ymm13,%ymm4,%ymm1,%ymm1
+  DB  196,193,57,108,209                  ; vpunpcklqdq   %xmm9,%xmm8,%xmm2
+  DB  196,226,121,51,250                  ; vpmovzxwd     %xmm2,%xmm7
+  DB  197,249,112,210,78                  ; vpshufd       $0x4e,%xmm2,%xmm2
+  DB  196,98,121,51,234                   ; vpmovzxwd     %xmm2,%xmm13
+  DB  196,65,17,219,250                   ; vpand         %xmm10,%xmm13,%xmm15
+  DB  196,65,33,102,247                   ; vpcmpgtd      %xmm15,%xmm11,%xmm14
+  DB  196,193,65,219,210                  ; vpand         %xmm10,%xmm7,%xmm2
+  DB  197,161,102,242                     ; vpcmpgtd      %xmm2,%xmm11,%xmm6
+  DB  196,195,77,24,246,1                 ; vinsertf128   $0x1,%xmm14,%ymm6,%ymm6
+  DB  196,193,65,219,252                  ; vpand         %xmm12,%xmm7,%xmm7
+  DB  197,193,114,247,16                  ; vpslld        $0x10,%xmm7,%xmm7
+  DB  197,233,114,242,13                  ; vpslld        $0xd,%xmm2,%xmm2
+  DB  197,193,235,210                     ; vpor          %xmm2,%xmm7,%xmm2
+  DB  196,193,17,219,252                  ; vpand         %xmm12,%xmm13,%xmm7
+  DB  197,193,114,247,16                  ; vpslld        $0x10,%xmm7,%xmm7
+  DB  196,193,81,114,247,13               ; vpslld        $0xd,%xmm15,%xmm5
+  DB  197,193,235,237                     ; vpor          %xmm5,%xmm7,%xmm5
+  DB  197,209,254,235                     ; vpaddd        %xmm3,%xmm5,%xmm5
+  DB  197,233,254,211                     ; vpaddd        %xmm3,%xmm2,%xmm2
+  DB  196,227,109,24,213,1                ; vinsertf128   $0x1,%xmm5,%ymm2,%ymm2
+  DB  196,227,109,74,212,96               ; vblendvps     %ymm6,%ymm4,%ymm2,%ymm2
+  DB  196,193,57,109,233                  ; vpunpckhqdq   %xmm9,%xmm8,%xmm5
+  DB  196,226,121,51,245                  ; vpmovzxwd     %xmm5,%xmm6
+  DB  197,249,112,237,78                  ; vpshufd       $0x4e,%xmm5,%xmm5
+  DB  196,226,121,51,237                  ; vpmovzxwd     %xmm5,%xmm5
+  DB  196,65,81,219,202                   ; vpand         %xmm10,%xmm5,%xmm9
+  DB  196,65,33,102,193                   ; vpcmpgtd      %xmm9,%xmm11,%xmm8
+  DB  196,193,73,219,250                  ; vpand         %xmm10,%xmm6,%xmm7
+  DB  197,33,102,215                      ; vpcmpgtd      %xmm7,%xmm11,%xmm10
+  DB  196,67,45,24,192,1                  ; vinsertf128   $0x1,%xmm8,%ymm10,%ymm8
+  DB  196,193,73,219,244                  ; vpand         %xmm12,%xmm6,%xmm6
+  DB  196,193,81,219,236                  ; vpand         %xmm12,%xmm5,%xmm5
+  DB  197,201,114,246,16                  ; vpslld        $0x10,%xmm6,%xmm6
+  DB  197,193,114,247,13                  ; vpslld        $0xd,%xmm7,%xmm7
+  DB  197,201,235,247                     ; vpor          %xmm7,%xmm6,%xmm6
+  DB  197,209,114,245,16                  ; vpslld        $0x10,%xmm5,%xmm5
+  DB  196,193,65,114,241,13               ; vpslld        $0xd,%xmm9,%xmm7
+  DB  197,209,235,239                     ; vpor          %xmm7,%xmm5,%xmm5
+  DB  197,209,254,235                     ; vpaddd        %xmm3,%xmm5,%xmm5
+  DB  197,201,254,219                     ; vpaddd        %xmm3,%xmm6,%xmm3
+  DB  196,227,101,24,221,1                ; vinsertf128   $0x1,%xmm5,%ymm3,%ymm3
+  DB  196,227,101,74,220,128              ; vblendvps     %ymm8,%ymm4,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,16,36,36                    ; vmovups       (%rsp),%ymm4
+  DB  197,252,16,108,36,32                ; vmovups       0x20(%rsp),%ymm5
+  DB  197,252,16,116,36,64                ; vmovups       0x40(%rsp),%ymm6
+  DB  197,252,16,124,36,96                ; vmovups       0x60(%rsp),%ymm7
+  DB  72,129,196,152,0,0,0                ; add           $0x98,%rsp
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,65,123,16,4,208                 ; vmovsd        (%r8,%rdx,8),%xmm8
+  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
+  DB  72,131,255,1                        ; cmp           $0x1,%rdi
+  DB  116,85                              ; je            efef <_sk_load_f16_avx+0x2bf>
+  DB  196,65,57,22,68,208,8               ; vmovhpd       0x8(%r8,%rdx,8),%xmm8,%xmm8
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  114,72                              ; jb            efef <_sk_load_f16_avx+0x2bf>
+  DB  196,193,123,16,84,208,16            ; vmovsd        0x10(%r8,%rdx,8),%xmm2
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  116,72                              ; je            effc <_sk_load_f16_avx+0x2cc>
+  DB  196,193,105,22,84,208,24            ; vmovhpd       0x18(%r8,%rdx,8),%xmm2,%xmm2
+  DB  72,131,255,5                        ; cmp           $0x5,%rdi
+  DB  114,59                              ; jb            effc <_sk_load_f16_avx+0x2cc>
+  DB  196,193,123,16,92,208,32            ; vmovsd        0x20(%r8,%rdx,8),%xmm3
+  DB  72,131,255,5                        ; cmp           $0x5,%rdi
+  DB  15,132,177,253,255,255              ; je            ed83 <_sk_load_f16_avx+0x53>
+  DB  196,193,97,22,92,208,40             ; vmovhpd       0x28(%r8,%rdx,8),%xmm3,%xmm3
+  DB  72,131,255,7                        ; cmp           $0x7,%rdi
+  DB  15,130,160,253,255,255              ; jb            ed83 <_sk_load_f16_avx+0x53>
+  DB  196,65,122,126,76,208,48            ; vmovq         0x30(%r8,%rdx,8),%xmm9
+  DB  233,148,253,255,255                 ; jmpq          ed83 <_sk_load_f16_avx+0x53>
+  DB  197,225,87,219                      ; vxorpd        %xmm3,%xmm3,%xmm3
+  DB  197,233,87,210                      ; vxorpd        %xmm2,%xmm2,%xmm2
+  DB  233,135,253,255,255                 ; jmpq          ed83 <_sk_load_f16_avx+0x53>
+  DB  197,225,87,219                      ; vxorpd        %xmm3,%xmm3,%xmm3
+  DB  233,126,253,255,255                 ; jmpq          ed83 <_sk_load_f16_avx+0x53>
+
+PUBLIC _sk_load_f16_dst_avx
+_sk_load_f16_dst_avx LABEL PROC
+  DB  72,129,236,152,0,0,0                ; sub           $0x98,%rsp
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,3                        ; shl           $0x3,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  197,252,17,92,36,96                 ; vmovups       %ymm3,0x60(%rsp)
+  DB  197,252,17,84,36,64                 ; vmovups       %ymm2,0x40(%rsp)
+  DB  197,252,17,76,36,32                 ; vmovups       %ymm1,0x20(%rsp)
+  DB  197,252,17,4,36                     ; vmovups       %ymm0,(%rsp)
+  DB  15,133,33,2,0,0                     ; jne           f25e <_sk_load_f16_dst_avx+0x259>
+  DB  196,65,121,16,4,208                 ; vmovupd       (%r8,%rdx,8),%xmm8
+  DB  196,193,121,16,116,208,16           ; vmovupd       0x10(%r8,%rdx,8),%xmm6
+  DB  196,193,121,16,124,208,32           ; vmovupd       0x20(%r8,%rdx,8),%xmm7
+  DB  196,65,122,111,76,208,48            ; vmovdqu       0x30(%r8,%rdx,8),%xmm9
+  DB  197,185,97,230                      ; vpunpcklwd    %xmm6,%xmm8,%xmm4
+  DB  197,185,105,246                     ; vpunpckhwd    %xmm6,%xmm8,%xmm6
+  DB  196,193,65,97,233                   ; vpunpcklwd    %xmm9,%xmm7,%xmm5
+  DB  196,193,65,105,249                  ; vpunpckhwd    %xmm9,%xmm7,%xmm7
+  DB  197,89,97,246                       ; vpunpcklwd    %xmm6,%xmm4,%xmm14
+  DB  197,89,105,198                      ; vpunpckhwd    %xmm6,%xmm4,%xmm8
+  DB  197,81,97,255                       ; vpunpcklwd    %xmm7,%xmm5,%xmm15
+  DB  197,81,105,207                      ; vpunpckhwd    %xmm7,%xmm5,%xmm9
+  DB  196,193,9,108,231                   ; vpunpcklqdq   %xmm15,%xmm14,%xmm4
+  DB  196,226,121,51,236                  ; vpmovzxwd     %xmm4,%xmm5
+  DB  197,249,112,228,78                  ; vpshufd       $0x4e,%xmm4,%xmm4
+  DB  196,226,121,51,228                  ; vpmovzxwd     %xmm4,%xmm4
+  DB  197,123,18,21,114,108,2,0           ; vmovddup      0x26c72(%rip),%xmm10        # 35d08 <_sk_srcover_bgra_8888_sse2_lowp+0x14f0>
+  DB  196,193,89,219,250                  ; vpand         %xmm10,%xmm4,%xmm7
+  DB  196,98,121,24,29,176,91,2,0         ; vbroadcastss  0x25bb0(%rip),%xmm11        # 34c54 <_sk_srcover_bgra_8888_sse2_lowp+0x43c>
+  DB  197,33,102,231                      ; vpcmpgtd      %xmm7,%xmm11,%xmm12
+  DB  196,193,81,219,242                  ; vpand         %xmm10,%xmm5,%xmm6
+  DB  197,33,102,238                      ; vpcmpgtd      %xmm6,%xmm11,%xmm13
+  DB  196,195,21,24,220,1                 ; vinsertf128   $0x1,%xmm12,%ymm13,%ymm3
+  DB  197,123,18,37,81,108,2,0            ; vmovddup      0x26c51(%rip),%xmm12        # 35d10 <_sk_srcover_bgra_8888_sse2_lowp+0x14f8>
+  DB  196,193,81,219,236                  ; vpand         %xmm12,%xmm5,%xmm5
+  DB  197,209,114,245,16                  ; vpslld        $0x10,%xmm5,%xmm5
+  DB  196,193,89,219,228                  ; vpand         %xmm12,%xmm4,%xmm4
+  DB  197,217,114,244,16                  ; vpslld        $0x10,%xmm4,%xmm4
+  DB  197,201,114,246,13                  ; vpslld        $0xd,%xmm6,%xmm6
+  DB  197,209,235,238                     ; vpor          %xmm6,%xmm5,%xmm5
+  DB  197,201,114,247,13                  ; vpslld        $0xd,%xmm7,%xmm6
+  DB  197,217,235,230                     ; vpor          %xmm6,%xmm4,%xmm4
+  DB  196,226,121,24,61,106,91,2,0        ; vbroadcastss  0x25b6a(%rip),%xmm7        # 34c58 <_sk_srcover_bgra_8888_sse2_lowp+0x440>
+  DB  197,217,254,231                     ; vpaddd        %xmm7,%xmm4,%xmm4
+  DB  197,209,254,239                     ; vpaddd        %xmm7,%xmm5,%xmm5
+  DB  196,227,85,24,228,1                 ; vinsertf128   $0x1,%xmm4,%ymm5,%ymm4
+  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
+  DB  196,227,93,74,224,48                ; vblendvps     %ymm3,%ymm0,%ymm4,%ymm4
+  DB  196,193,9,109,223                   ; vpunpckhqdq   %xmm15,%xmm14,%xmm3
+  DB  196,226,121,51,235                  ; vpmovzxwd     %xmm3,%xmm5
+  DB  197,249,112,219,78                  ; vpshufd       $0x4e,%xmm3,%xmm3
+  DB  196,98,121,51,251                   ; vpmovzxwd     %xmm3,%xmm15
+  DB  196,193,1,219,242                   ; vpand         %xmm10,%xmm15,%xmm6
+  DB  197,33,102,246                      ; vpcmpgtd      %xmm6,%xmm11,%xmm14
+  DB  196,193,81,219,218                  ; vpand         %xmm10,%xmm5,%xmm3
+  DB  197,33,102,235                      ; vpcmpgtd      %xmm3,%xmm11,%xmm13
+  DB  196,67,21,24,238,1                  ; vinsertf128   $0x1,%xmm14,%ymm13,%ymm13
+  DB  196,193,81,219,236                  ; vpand         %xmm12,%xmm5,%xmm5
+  DB  197,209,114,245,16                  ; vpslld        $0x10,%xmm5,%xmm5
+  DB  197,225,114,243,13                  ; vpslld        $0xd,%xmm3,%xmm3
+  DB  197,209,235,219                     ; vpor          %xmm3,%xmm5,%xmm3
+  DB  196,193,1,219,236                   ; vpand         %xmm12,%xmm15,%xmm5
+  DB  197,209,114,245,16                  ; vpslld        $0x10,%xmm5,%xmm5
+  DB  197,201,114,246,13                  ; vpslld        $0xd,%xmm6,%xmm6
+  DB  197,209,235,238                     ; vpor          %xmm6,%xmm5,%xmm5
+  DB  197,209,254,239                     ; vpaddd        %xmm7,%xmm5,%xmm5
+  DB  197,225,254,223                     ; vpaddd        %xmm7,%xmm3,%xmm3
+  DB  196,227,101,24,221,1                ; vinsertf128   $0x1,%xmm5,%ymm3,%ymm3
+  DB  196,227,101,74,232,208              ; vblendvps     %ymm13,%ymm0,%ymm3,%ymm5
+  DB  196,193,57,108,217                  ; vpunpcklqdq   %xmm9,%xmm8,%xmm3
+  DB  196,226,121,51,243                  ; vpmovzxwd     %xmm3,%xmm6
+  DB  197,249,112,219,78                  ; vpshufd       $0x4e,%xmm3,%xmm3
+  DB  196,98,121,51,235                   ; vpmovzxwd     %xmm3,%xmm13
+  DB  196,65,17,219,250                   ; vpand         %xmm10,%xmm13,%xmm15
+  DB  196,65,33,102,247                   ; vpcmpgtd      %xmm15,%xmm11,%xmm14
+  DB  196,193,73,219,218                  ; vpand         %xmm10,%xmm6,%xmm3
+  DB  197,161,102,211                     ; vpcmpgtd      %xmm3,%xmm11,%xmm2
+  DB  196,195,109,24,214,1                ; vinsertf128   $0x1,%xmm14,%ymm2,%ymm2
+  DB  196,193,73,219,244                  ; vpand         %xmm12,%xmm6,%xmm6
+  DB  197,201,114,246,16                  ; vpslld        $0x10,%xmm6,%xmm6
+  DB  197,225,114,243,13                  ; vpslld        $0xd,%xmm3,%xmm3
+  DB  197,201,235,219                     ; vpor          %xmm3,%xmm6,%xmm3
+  DB  196,193,17,219,244                  ; vpand         %xmm12,%xmm13,%xmm6
+  DB  197,201,114,246,16                  ; vpslld        $0x10,%xmm6,%xmm6
+  DB  196,193,113,114,247,13              ; vpslld        $0xd,%xmm15,%xmm1
+  DB  197,201,235,201                     ; vpor          %xmm1,%xmm6,%xmm1
+  DB  197,241,254,207                     ; vpaddd        %xmm7,%xmm1,%xmm1
+  DB  197,225,254,223                     ; vpaddd        %xmm7,%xmm3,%xmm3
+  DB  196,227,101,24,201,1                ; vinsertf128   $0x1,%xmm1,%ymm3,%ymm1
+  DB  196,227,117,74,240,32               ; vblendvps     %ymm2,%ymm0,%ymm1,%ymm6
+  DB  196,193,57,109,201                  ; vpunpckhqdq   %xmm9,%xmm8,%xmm1
+  DB  196,226,121,51,209                  ; vpmovzxwd     %xmm1,%xmm2
+  DB  197,249,112,201,78                  ; vpshufd       $0x4e,%xmm1,%xmm1
+  DB  196,226,121,51,201                  ; vpmovzxwd     %xmm1,%xmm1
+  DB  196,65,113,219,202                  ; vpand         %xmm10,%xmm1,%xmm9
+  DB  196,65,33,102,193                   ; vpcmpgtd      %xmm9,%xmm11,%xmm8
+  DB  196,193,105,219,218                 ; vpand         %xmm10,%xmm2,%xmm3
+  DB  197,33,102,211                      ; vpcmpgtd      %xmm3,%xmm11,%xmm10
+  DB  196,67,45,24,192,1                  ; vinsertf128   $0x1,%xmm8,%ymm10,%ymm8
+  DB  196,193,105,219,212                 ; vpand         %xmm12,%xmm2,%xmm2
+  DB  196,193,113,219,204                 ; vpand         %xmm12,%xmm1,%xmm1
+  DB  197,233,114,242,16                  ; vpslld        $0x10,%xmm2,%xmm2
+  DB  197,225,114,243,13                  ; vpslld        $0xd,%xmm3,%xmm3
+  DB  197,233,235,211                     ; vpor          %xmm3,%xmm2,%xmm2
+  DB  197,241,114,241,16                  ; vpslld        $0x10,%xmm1,%xmm1
+  DB  196,193,97,114,241,13               ; vpslld        $0xd,%xmm9,%xmm3
+  DB  197,241,235,203                     ; vpor          %xmm3,%xmm1,%xmm1
+  DB  197,241,254,207                     ; vpaddd        %xmm7,%xmm1,%xmm1
+  DB  197,233,254,215                     ; vpaddd        %xmm7,%xmm2,%xmm2
+  DB  196,227,109,24,201,1                ; vinsertf128   $0x1,%xmm1,%ymm2,%ymm1
+  DB  196,227,117,74,248,128              ; vblendvps     %ymm8,%ymm0,%ymm1,%ymm7
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,16,4,36                     ; vmovups       (%rsp),%ymm0
+  DB  197,252,16,76,36,32                 ; vmovups       0x20(%rsp),%ymm1
+  DB  197,252,16,84,36,64                 ; vmovups       0x40(%rsp),%ymm2
+  DB  197,252,16,92,36,96                 ; vmovups       0x60(%rsp),%ymm3
+  DB  72,129,196,152,0,0,0                ; add           $0x98,%rsp
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,65,123,16,4,208                 ; vmovsd        (%r8,%rdx,8),%xmm8
+  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
+  DB  72,131,255,1                        ; cmp           $0x1,%rdi
+  DB  116,85                              ; je            f2c4 <_sk_load_f16_dst_avx+0x2bf>
+  DB  196,65,57,22,68,208,8               ; vmovhpd       0x8(%r8,%rdx,8),%xmm8,%xmm8
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  114,72                              ; jb            f2c4 <_sk_load_f16_dst_avx+0x2bf>
+  DB  196,193,123,16,116,208,16           ; vmovsd        0x10(%r8,%rdx,8),%xmm6
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  116,72                              ; je            f2d1 <_sk_load_f16_dst_avx+0x2cc>
+  DB  196,193,73,22,116,208,24            ; vmovhpd       0x18(%r8,%rdx,8),%xmm6,%xmm6
+  DB  72,131,255,5                        ; cmp           $0x5,%rdi
+  DB  114,59                              ; jb            f2d1 <_sk_load_f16_dst_avx+0x2cc>
+  DB  196,193,123,16,124,208,32           ; vmovsd        0x20(%r8,%rdx,8),%xmm7
+  DB  72,131,255,5                        ; cmp           $0x5,%rdi
+  DB  15,132,177,253,255,255              ; je            f058 <_sk_load_f16_dst_avx+0x53>
+  DB  196,193,65,22,124,208,40            ; vmovhpd       0x28(%r8,%rdx,8),%xmm7,%xmm7
+  DB  72,131,255,7                        ; cmp           $0x7,%rdi
+  DB  15,130,160,253,255,255              ; jb            f058 <_sk_load_f16_dst_avx+0x53>
+  DB  196,65,122,126,76,208,48            ; vmovq         0x30(%r8,%rdx,8),%xmm9
+  DB  233,148,253,255,255                 ; jmpq          f058 <_sk_load_f16_dst_avx+0x53>
+  DB  197,193,87,255                      ; vxorpd        %xmm7,%xmm7,%xmm7
+  DB  197,201,87,246                      ; vxorpd        %xmm6,%xmm6,%xmm6
+  DB  233,135,253,255,255                 ; jmpq          f058 <_sk_load_f16_dst_avx+0x53>
+  DB  197,193,87,255                      ; vxorpd        %xmm7,%xmm7,%xmm7
+  DB  233,126,253,255,255                 ; jmpq          f058 <_sk_load_f16_dst_avx+0x53>
+
+PUBLIC _sk_gather_f16_avx
+_sk_gather_f16_avx LABEL PROC
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,84                               ; push          %r12
+  DB  83                                  ; push          %rbx
+  DB  72,129,236,152,0,0,0                ; sub           $0x98,%rsp
+  DB  197,252,17,124,36,96                ; vmovups       %ymm7,0x60(%rsp)
+  DB  197,252,17,116,36,64                ; vmovups       %ymm6,0x40(%rsp)
+  DB  197,252,17,108,36,32                ; vmovups       %ymm5,0x20(%rsp)
+  DB  197,252,17,36,36                    ; vmovups       %ymm4,(%rsp)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,80,12                ; vbroadcastss  0xc(%rax),%ymm2
+  DB  196,227,125,25,211,1                ; vextractf128  $0x1,%ymm2,%xmm3
+  DB  196,65,49,118,201                   ; vpcmpeqd      %xmm9,%xmm9,%xmm9
+  DB  196,193,97,254,217                  ; vpaddd        %xmm9,%xmm3,%xmm3
+  DB  196,193,105,254,209                 ; vpaddd        %xmm9,%xmm2,%xmm2
+  DB  196,227,109,24,211,1                ; vinsertf128   $0x1,%xmm3,%ymm2,%ymm2
+  DB  197,220,87,228                      ; vxorps        %ymm4,%ymm4,%ymm4
+  DB  197,220,95,192                      ; vmaxps        %ymm0,%ymm4,%ymm0
+  DB  197,252,93,210                      ; vminps        %ymm2,%ymm0,%ymm2
+  DB  196,226,125,24,64,16                ; vbroadcastss  0x10(%rax),%ymm0
+  DB  196,227,125,25,195,1                ; vextractf128  $0x1,%ymm0,%xmm3
+  DB  196,193,97,254,217                  ; vpaddd        %xmm9,%xmm3,%xmm3
+  DB  196,193,121,254,193                 ; vpaddd        %xmm9,%xmm0,%xmm0
+  DB  196,227,125,24,195,1                ; vinsertf128   $0x1,%xmm3,%ymm0,%ymm0
+  DB  197,220,95,201                      ; vmaxps        %ymm1,%ymm4,%ymm1
+  DB  197,244,93,192                      ; vminps        %ymm0,%ymm1,%ymm0
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  197,254,91,200                      ; vcvttps2dq    %ymm0,%ymm1
+  DB  197,249,110,64,8                    ; vmovd         0x8(%rax),%xmm0
+  DB  197,249,112,216,0                   ; vpshufd       $0x0,%xmm0,%xmm3
+  DB  196,226,97,64,193                   ; vpmulld       %xmm1,%xmm3,%xmm0
+  DB  196,227,125,25,201,1                ; vextractf128  $0x1,%ymm1,%xmm1
+  DB  196,226,97,64,201                   ; vpmulld       %xmm1,%xmm3,%xmm1
+  DB  197,254,91,210                      ; vcvttps2dq    %ymm2,%ymm2
+  DB  196,227,125,25,211,1                ; vextractf128  $0x1,%ymm2,%xmm3
+  DB  197,241,254,203                     ; vpaddd        %xmm3,%xmm1,%xmm1
+  DB  196,227,249,22,200,1                ; vpextrq       $0x1,%xmm1,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  196,193,249,126,202                 ; vmovq         %xmm1,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  197,249,254,194                     ; vpaddd        %xmm2,%xmm0,%xmm0
+  DB  196,227,249,22,195,1                ; vpextrq       $0x1,%xmm0,%rbx
+  DB  65,137,222                          ; mov           %ebx,%r14d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  196,193,249,126,199                 ; vmovq         %xmm0,%r15
+  DB  69,137,252                          ; mov           %r15d,%r12d
+  DB  73,193,239,32                       ; shr           $0x20,%r15
+  DB  196,129,122,126,4,248               ; vmovq         (%r8,%r15,8),%xmm0
+  DB  196,129,122,126,12,224              ; vmovq         (%r8,%r12,8),%xmm1
+  DB  197,113,108,208                     ; vpunpcklqdq   %xmm0,%xmm1,%xmm10
+  DB  196,193,122,126,12,216              ; vmovq         (%r8,%rbx,8),%xmm1
+  DB  196,129,122,126,20,240              ; vmovq         (%r8,%r14,8),%xmm2
+  DB  197,233,108,201                     ; vpunpcklqdq   %xmm1,%xmm2,%xmm1
+  DB  196,129,122,126,20,208              ; vmovq         (%r8,%r10,8),%xmm2
+  DB  196,129,122,126,28,216              ; vmovq         (%r8,%r11,8),%xmm3
+  DB  197,225,108,210                     ; vpunpcklqdq   %xmm2,%xmm3,%xmm2
+  DB  196,65,122,126,12,192               ; vmovq         (%r8,%rax,8),%xmm9
+  DB  196,129,122,126,28,200              ; vmovq         (%r8,%r9,8),%xmm3
+  DB  196,193,97,108,217                  ; vpunpcklqdq   %xmm9,%xmm3,%xmm3
+  DB  197,169,97,193                      ; vpunpcklwd    %xmm1,%xmm10,%xmm0
+  DB  197,169,105,201                     ; vpunpckhwd    %xmm1,%xmm10,%xmm1
+  DB  197,105,97,211                      ; vpunpcklwd    %xmm3,%xmm2,%xmm10
+  DB  197,233,105,211                     ; vpunpckhwd    %xmm3,%xmm2,%xmm2
+  DB  197,121,97,241                      ; vpunpcklwd    %xmm1,%xmm0,%xmm14
+  DB  197,121,105,201                     ; vpunpckhwd    %xmm1,%xmm0,%xmm9
+  DB  197,41,97,250                       ; vpunpcklwd    %xmm2,%xmm10,%xmm15
+  DB  197,41,105,210                      ; vpunpckhwd    %xmm2,%xmm10,%xmm10
+  DB  196,193,9,108,199                   ; vpunpcklqdq   %xmm15,%xmm14,%xmm0
+  DB  196,226,121,51,208                  ; vpmovzxwd     %xmm0,%xmm2
+  DB  197,249,112,192,78                  ; vpshufd       $0x4e,%xmm0,%xmm0
+  DB  196,226,121,51,192                  ; vpmovzxwd     %xmm0,%xmm0
+  DB  197,123,18,29,212,104,2,0           ; vmovddup      0x268d4(%rip),%xmm11        # 35d08 <_sk_srcover_bgra_8888_sse2_lowp+0x14f0>
+  DB  196,193,121,219,219                 ; vpand         %xmm11,%xmm0,%xmm3
+  DB  196,98,121,24,37,18,88,2,0          ; vbroadcastss  0x25812(%rip),%xmm12        # 34c54 <_sk_srcover_bgra_8888_sse2_lowp+0x43c>
+  DB  197,25,102,235                      ; vpcmpgtd      %xmm3,%xmm12,%xmm13
+  DB  196,193,105,219,203                 ; vpand         %xmm11,%xmm2,%xmm1
+  DB  197,25,102,193                      ; vpcmpgtd      %xmm1,%xmm12,%xmm8
+  DB  196,67,61,24,197,1                  ; vinsertf128   $0x1,%xmm13,%ymm8,%ymm8
+  DB  197,123,18,45,179,104,2,0           ; vmovddup      0x268b3(%rip),%xmm13        # 35d10 <_sk_srcover_bgra_8888_sse2_lowp+0x14f8>
+  DB  196,193,105,219,213                 ; vpand         %xmm13,%xmm2,%xmm2
+  DB  197,233,114,242,16                  ; vpslld        $0x10,%xmm2,%xmm2
+  DB  197,241,114,241,13                  ; vpslld        $0xd,%xmm1,%xmm1
+  DB  197,233,235,201                     ; vpor          %xmm1,%xmm2,%xmm1
+  DB  196,193,121,219,197                 ; vpand         %xmm13,%xmm0,%xmm0
+  DB  197,249,114,240,16                  ; vpslld        $0x10,%xmm0,%xmm0
+  DB  197,233,114,243,13                  ; vpslld        $0xd,%xmm3,%xmm2
+  DB  197,249,235,194                     ; vpor          %xmm2,%xmm0,%xmm0
+  DB  196,226,121,24,29,204,87,2,0        ; vbroadcastss  0x257cc(%rip),%xmm3        # 34c58 <_sk_srcover_bgra_8888_sse2_lowp+0x440>
+  DB  197,249,254,195                     ; vpaddd        %xmm3,%xmm0,%xmm0
+  DB  197,241,254,203                     ; vpaddd        %xmm3,%xmm1,%xmm1
+  DB  196,227,117,24,192,1                ; vinsertf128   $0x1,%xmm0,%ymm1,%ymm0
+  DB  196,227,125,74,196,128              ; vblendvps     %ymm8,%ymm4,%ymm0,%ymm0
+  DB  196,193,9,109,207                   ; vpunpckhqdq   %xmm15,%xmm14,%xmm1
+  DB  196,226,121,51,209                  ; vpmovzxwd     %xmm1,%xmm2
+  DB  197,249,112,201,78                  ; vpshufd       $0x4e,%xmm1,%xmm1
+  DB  196,98,121,51,193                   ; vpmovzxwd     %xmm1,%xmm8
+  DB  196,65,57,219,251                   ; vpand         %xmm11,%xmm8,%xmm15
+  DB  196,65,25,102,247                   ; vpcmpgtd      %xmm15,%xmm12,%xmm14
+  DB  196,193,105,219,203                 ; vpand         %xmm11,%xmm2,%xmm1
+  DB  197,153,102,249                     ; vpcmpgtd      %xmm1,%xmm12,%xmm7
+  DB  196,195,69,24,254,1                 ; vinsertf128   $0x1,%xmm14,%ymm7,%ymm7
+  DB  196,193,105,219,213                 ; vpand         %xmm13,%xmm2,%xmm2
+  DB  197,233,114,242,16                  ; vpslld        $0x10,%xmm2,%xmm2
+  DB  197,241,114,241,13                  ; vpslld        $0xd,%xmm1,%xmm1
+  DB  197,233,235,201                     ; vpor          %xmm1,%xmm2,%xmm1
+  DB  196,193,57,219,213                  ; vpand         %xmm13,%xmm8,%xmm2
+  DB  197,233,114,242,16                  ; vpslld        $0x10,%xmm2,%xmm2
+  DB  196,193,73,114,247,13               ; vpslld        $0xd,%xmm15,%xmm6
+  DB  197,233,235,214                     ; vpor          %xmm6,%xmm2,%xmm2
+  DB  197,233,254,211                     ; vpaddd        %xmm3,%xmm2,%xmm2
+  DB  197,241,254,203                     ; vpaddd        %xmm3,%xmm1,%xmm1
+  DB  196,227,117,24,202,1                ; vinsertf128   $0x1,%xmm2,%ymm1,%ymm1
+  DB  196,227,117,74,204,112              ; vblendvps     %ymm7,%ymm4,%ymm1,%ymm1
+  DB  196,193,49,108,210                  ; vpunpcklqdq   %xmm10,%xmm9,%xmm2
+  DB  196,226,121,51,242                  ; vpmovzxwd     %xmm2,%xmm6
+  DB  197,249,112,210,78                  ; vpshufd       $0x4e,%xmm2,%xmm2
+  DB  196,98,121,51,242                   ; vpmovzxwd     %xmm2,%xmm14
+  DB  196,193,9,219,251                   ; vpand         %xmm11,%xmm14,%xmm7
+  DB  197,25,102,199                      ; vpcmpgtd      %xmm7,%xmm12,%xmm8
+  DB  196,193,73,219,211                  ; vpand         %xmm11,%xmm6,%xmm2
+  DB  197,25,102,250                      ; vpcmpgtd      %xmm2,%xmm12,%xmm15
+  DB  196,67,5,24,192,1                   ; vinsertf128   $0x1,%xmm8,%ymm15,%ymm8
+  DB  196,193,73,219,245                  ; vpand         %xmm13,%xmm6,%xmm6
+  DB  197,201,114,246,16                  ; vpslld        $0x10,%xmm6,%xmm6
+  DB  197,233,114,242,13                  ; vpslld        $0xd,%xmm2,%xmm2
+  DB  197,201,235,210                     ; vpor          %xmm2,%xmm6,%xmm2
+  DB  196,193,9,219,245                   ; vpand         %xmm13,%xmm14,%xmm6
+  DB  197,201,114,246,16                  ; vpslld        $0x10,%xmm6,%xmm6
+  DB  197,193,114,247,13                  ; vpslld        $0xd,%xmm7,%xmm7
+  DB  197,201,235,247                     ; vpor          %xmm7,%xmm6,%xmm6
+  DB  197,201,254,243                     ; vpaddd        %xmm3,%xmm6,%xmm6
+  DB  197,233,254,211                     ; vpaddd        %xmm3,%xmm2,%xmm2
+  DB  196,227,109,24,214,1                ; vinsertf128   $0x1,%xmm6,%ymm2,%ymm2
+  DB  196,227,109,74,212,128              ; vblendvps     %ymm8,%ymm4,%ymm2,%ymm2
+  DB  196,193,49,109,242                  ; vpunpckhqdq   %xmm10,%xmm9,%xmm6
+  DB  196,226,121,51,254                  ; vpmovzxwd     %xmm6,%xmm7
+  DB  197,249,112,246,78                  ; vpshufd       $0x4e,%xmm6,%xmm6
+  DB  196,98,121,51,214                   ; vpmovzxwd     %xmm6,%xmm10
+  DB  196,65,41,219,195                   ; vpand         %xmm11,%xmm10,%xmm8
+  DB  196,65,25,102,200                   ; vpcmpgtd      %xmm8,%xmm12,%xmm9
+  DB  196,193,65,219,243                  ; vpand         %xmm11,%xmm7,%xmm6
+  DB  197,25,102,222                      ; vpcmpgtd      %xmm6,%xmm12,%xmm11
+  DB  196,67,37,24,201,1                  ; vinsertf128   $0x1,%xmm9,%ymm11,%ymm9
+  DB  196,193,65,219,253                  ; vpand         %xmm13,%xmm7,%xmm7
+  DB  196,65,41,219,213                   ; vpand         %xmm13,%xmm10,%xmm10
+  DB  197,193,114,247,16                  ; vpslld        $0x10,%xmm7,%xmm7
+  DB  197,201,114,246,13                  ; vpslld        $0xd,%xmm6,%xmm6
+  DB  197,193,235,246                     ; vpor          %xmm6,%xmm7,%xmm6
+  DB  196,193,65,114,242,16               ; vpslld        $0x10,%xmm10,%xmm7
+  DB  196,193,81,114,240,13               ; vpslld        $0xd,%xmm8,%xmm5
+  DB  197,193,235,237                     ; vpor          %xmm5,%xmm7,%xmm5
+  DB  197,209,254,235                     ; vpaddd        %xmm3,%xmm5,%xmm5
+  DB  197,201,254,219                     ; vpaddd        %xmm3,%xmm6,%xmm3
+  DB  196,227,101,24,221,1                ; vinsertf128   $0x1,%xmm5,%ymm3,%ymm3
+  DB  196,227,101,74,220,144              ; vblendvps     %ymm9,%ymm4,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,16,36,36                    ; vmovups       (%rsp),%ymm4
+  DB  197,252,16,108,36,32                ; vmovups       0x20(%rsp),%ymm5
+  DB  197,252,16,116,36,64                ; vmovups       0x40(%rsp),%ymm6
+  DB  197,252,16,124,36,96                ; vmovups       0x60(%rsp),%ymm7
+  DB  72,129,196,152,0,0,0                ; add           $0x98,%rsp
+  DB  91                                  ; pop           %rbx
+  DB  65,92                               ; pop           %r12
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_store_f16_avx
+_sk_store_f16_avx LABEL PROC
+  DB  72,129,236,184,0,0,0                ; sub           $0xb8,%rsp
+  DB  197,252,17,188,36,128,0,0,0         ; vmovups       %ymm7,0x80(%rsp)
+  DB  197,252,17,116,36,96                ; vmovups       %ymm6,0x60(%rsp)
+  DB  197,252,17,108,36,64                ; vmovups       %ymm5,0x40(%rsp)
+  DB  197,252,17,100,36,32                ; vmovups       %ymm4,0x20(%rsp)
+  DB  197,252,40,225                      ; vmovaps       %ymm1,%ymm4
+  DB  196,98,125,24,5,233,85,2,0          ; vbroadcastss  0x255e9(%rip),%ymm8        # 34c18 <_sk_srcover_bgra_8888_sse2_lowp+0x400>
+  DB  196,65,124,84,216                   ; vandps        %ymm8,%ymm0,%ymm11
+  DB  196,98,125,24,21,31,86,2,0          ; vbroadcastss  0x2561f(%rip),%ymm10        # 34c5c <_sk_srcover_bgra_8888_sse2_lowp+0x444>
+  DB  196,65,124,84,226                   ; vandps        %ymm10,%ymm0,%ymm12
+  DB  196,67,125,25,229,1                 ; vextractf128  $0x1,%ymm12,%xmm13
+  DB  196,98,121,24,13,15,86,2,0          ; vbroadcastss  0x2560f(%rip),%xmm9        # 34c60 <_sk_srcover_bgra_8888_sse2_lowp+0x448>
+  DB  196,65,49,102,245                   ; vpcmpgtd      %xmm13,%xmm9,%xmm14
+  DB  196,65,49,102,252                   ; vpcmpgtd      %xmm12,%xmm9,%xmm15
+  DB  196,67,5,24,246,1                   ; vinsertf128   $0x1,%xmm14,%ymm15,%ymm14
+  DB  196,67,125,25,223,1                 ; vextractf128  $0x1,%ymm11,%xmm15
+  DB  196,193,1,114,215,16                ; vpsrld        $0x10,%xmm15,%xmm15
+  DB  196,193,33,114,211,16               ; vpsrld        $0x10,%xmm11,%xmm11
+  DB  196,193,17,114,213,13               ; vpsrld        $0xd,%xmm13,%xmm13
+  DB  196,65,17,254,239                   ; vpaddd        %xmm15,%xmm13,%xmm13
+  DB  196,193,25,114,212,13               ; vpsrld        $0xd,%xmm12,%xmm12
+  DB  196,65,25,254,227                   ; vpaddd        %xmm11,%xmm12,%xmm12
+  DB  196,98,121,24,29,210,85,2,0         ; vbroadcastss  0x255d2(%rip),%xmm11        # 34c64 <_sk_srcover_bgra_8888_sse2_lowp+0x44c>
+  DB  196,65,17,254,235                   ; vpaddd        %xmm11,%xmm13,%xmm13
+  DB  196,65,25,254,227                   ; vpaddd        %xmm11,%xmm12,%xmm12
+  DB  196,67,29,24,237,1                  ; vinsertf128   $0x1,%xmm13,%ymm12,%ymm13
+  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
+  DB  196,99,21,74,233,224                ; vblendvps     %ymm14,%ymm1,%ymm13,%ymm13
+  DB  196,65,92,84,242                    ; vandps        %ymm10,%ymm4,%ymm14
+  DB  196,67,125,25,247,1                 ; vextractf128  $0x1,%ymm14,%xmm15
+  DB  196,193,49,102,255                  ; vpcmpgtd      %xmm15,%xmm9,%xmm7
+  DB  196,65,49,102,230                   ; vpcmpgtd      %xmm14,%xmm9,%xmm12
+  DB  196,227,29,24,255,1                 ; vinsertf128   $0x1,%xmm7,%ymm12,%ymm7
+  DB  197,252,17,36,36                    ; vmovups       %ymm4,(%rsp)
+  DB  196,65,92,84,224                    ; vandps        %ymm8,%ymm4,%ymm12
+  DB  196,99,125,25,230,1                 ; vextractf128  $0x1,%ymm12,%xmm6
+  DB  197,201,114,214,16                  ; vpsrld        $0x10,%xmm6,%xmm6
+  DB  196,193,81,114,215,13               ; vpsrld        $0xd,%xmm15,%xmm5
+  DB  197,124,40,250                      ; vmovaps       %ymm2,%ymm15
+  DB  197,209,254,238                     ; vpaddd        %xmm6,%xmm5,%xmm5
+  DB  196,193,73,114,212,16               ; vpsrld        $0x10,%xmm12,%xmm6
+  DB  196,193,89,114,214,13               ; vpsrld        $0xd,%xmm14,%xmm4
+  DB  197,217,254,230                     ; vpaddd        %xmm6,%xmm4,%xmm4
+  DB  196,193,81,254,235                  ; vpaddd        %xmm11,%xmm5,%xmm5
+  DB  196,193,89,254,227                  ; vpaddd        %xmm11,%xmm4,%xmm4
+  DB  196,227,93,24,229,1                 ; vinsertf128   $0x1,%xmm5,%ymm4,%ymm4
+  DB  196,99,93,74,241,112                ; vblendvps     %ymm7,%ymm1,%ymm4,%ymm14
+  DB  196,193,4,84,226                    ; vandps        %ymm10,%ymm15,%ymm4
+  DB  196,227,125,25,229,1                ; vextractf128  $0x1,%ymm4,%xmm5
+  DB  197,177,102,245                     ; vpcmpgtd      %xmm5,%xmm9,%xmm6
+  DB  197,177,102,252                     ; vpcmpgtd      %xmm4,%xmm9,%xmm7
+  DB  196,227,69,24,246,1                 ; vinsertf128   $0x1,%xmm6,%ymm7,%ymm6
+  DB  196,193,4,84,248                    ; vandps        %ymm8,%ymm15,%ymm7
+  DB  196,227,125,25,250,1                ; vextractf128  $0x1,%ymm7,%xmm2
+  DB  197,233,114,210,16                  ; vpsrld        $0x10,%xmm2,%xmm2
+  DB  197,209,114,213,13                  ; vpsrld        $0xd,%xmm5,%xmm5
+  DB  197,209,254,210                     ; vpaddd        %xmm2,%xmm5,%xmm2
+  DB  197,209,114,215,16                  ; vpsrld        $0x10,%xmm7,%xmm5
+  DB  197,217,114,212,13                  ; vpsrld        $0xd,%xmm4,%xmm4
+  DB  197,217,254,229                     ; vpaddd        %xmm5,%xmm4,%xmm4
+  DB  196,193,105,254,211                 ; vpaddd        %xmm11,%xmm2,%xmm2
+  DB  196,193,89,254,227                  ; vpaddd        %xmm11,%xmm4,%xmm4
+  DB  196,227,93,24,210,1                 ; vinsertf128   $0x1,%xmm2,%ymm4,%ymm2
+  DB  196,99,109,74,225,96                ; vblendvps     %ymm6,%ymm1,%ymm2,%ymm12
+  DB  196,193,100,84,226                  ; vandps        %ymm10,%ymm3,%ymm4
+  DB  196,227,125,25,229,1                ; vextractf128  $0x1,%ymm4,%xmm5
+  DB  197,177,102,245                     ; vpcmpgtd      %xmm5,%xmm9,%xmm6
+  DB  197,177,102,252                     ; vpcmpgtd      %xmm4,%xmm9,%xmm7
+  DB  196,227,69,24,246,1                 ; vinsertf128   $0x1,%xmm6,%ymm7,%ymm6
+  DB  196,193,100,84,248                  ; vandps        %ymm8,%ymm3,%ymm7
+  DB  196,227,125,25,250,1                ; vextractf128  $0x1,%ymm7,%xmm2
+  DB  197,233,114,210,16                  ; vpsrld        $0x10,%xmm2,%xmm2
+  DB  197,209,114,213,13                  ; vpsrld        $0xd,%xmm5,%xmm5
+  DB  197,209,254,210                     ; vpaddd        %xmm2,%xmm5,%xmm2
+  DB  197,209,114,215,16                  ; vpsrld        $0x10,%xmm7,%xmm5
+  DB  197,217,114,212,13                  ; vpsrld        $0xd,%xmm4,%xmm4
+  DB  197,217,254,229                     ; vpaddd        %xmm5,%xmm4,%xmm4
+  DB  196,193,105,254,211                 ; vpaddd        %xmm11,%xmm2,%xmm2
+  DB  196,193,89,254,227                  ; vpaddd        %xmm11,%xmm4,%xmm4
+  DB  196,227,93,24,210,1                 ; vinsertf128   $0x1,%xmm2,%ymm4,%ymm2
+  DB  196,227,109,74,201,96               ; vblendvps     %ymm6,%ymm1,%ymm2,%ymm1
+  DB  196,99,125,25,234,1                 ; vextractf128  $0x1,%ymm13,%xmm2
+  DB  196,226,17,43,210                   ; vpackusdw     %xmm2,%xmm13,%xmm2
+  DB  196,99,125,25,244,1                 ; vextractf128  $0x1,%ymm14,%xmm4
+  DB  196,226,9,43,228                    ; vpackusdw     %xmm4,%xmm14,%xmm4
+  DB  196,99,125,25,229,1                 ; vextractf128  $0x1,%ymm12,%xmm5
+  DB  196,226,25,43,245                   ; vpackusdw     %xmm5,%xmm12,%xmm6
+  DB  196,227,125,25,205,1                ; vextractf128  $0x1,%ymm1,%xmm5
+  DB  196,226,113,43,205                  ; vpackusdw     %xmm5,%xmm1,%xmm1
+  DB  197,233,97,236                      ; vpunpcklwd    %xmm4,%xmm2,%xmm5
+  DB  197,233,105,212                     ; vpunpckhwd    %xmm4,%xmm2,%xmm2
+  DB  197,201,97,225                      ; vpunpcklwd    %xmm1,%xmm6,%xmm4
+  DB  197,201,105,201                     ; vpunpckhwd    %xmm1,%xmm6,%xmm1
+  DB  197,81,98,220                       ; vpunpckldq    %xmm4,%xmm5,%xmm11
+  DB  197,81,106,212                      ; vpunpckhdq    %xmm4,%xmm5,%xmm10
+  DB  197,105,98,201                      ; vpunpckldq    %xmm1,%xmm2,%xmm9
+  DB  197,105,106,193                     ; vpunpckhdq    %xmm1,%xmm2,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,3                        ; shl           $0x3,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,74                              ; jne           f868 <_sk_store_f16_avx+0x268>
+  DB  196,65,122,127,28,208               ; vmovdqu       %xmm11,(%r8,%rdx,8)
+  DB  196,65,122,127,84,208,16            ; vmovdqu       %xmm10,0x10(%r8,%rdx,8)
+  DB  196,65,122,127,76,208,32            ; vmovdqu       %xmm9,0x20(%r8,%rdx,8)
+  DB  196,65,122,127,68,208,48            ; vmovdqu       %xmm8,0x30(%r8,%rdx,8)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,16,12,36                    ; vmovups       (%rsp),%ymm1
+  DB  197,124,41,250                      ; vmovaps       %ymm15,%ymm2
+  DB  197,252,16,100,36,32                ; vmovups       0x20(%rsp),%ymm4
+  DB  197,252,16,108,36,64                ; vmovups       0x40(%rsp),%ymm5
+  DB  197,252,16,116,36,96                ; vmovups       0x60(%rsp),%ymm6
+  DB  197,252,16,188,36,128,0,0,0         ; vmovups       0x80(%rsp),%ymm7
+  DB  72,129,196,184,0,0,0                ; add           $0xb8,%rsp
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,65,121,214,28,208               ; vmovq         %xmm11,(%r8,%rdx,8)
+  DB  72,131,255,1                        ; cmp           $0x1,%rdi
+  DB  116,197                             ; je            f839 <_sk_store_f16_avx+0x239>
+  DB  196,65,121,23,92,208,8              ; vmovhpd       %xmm11,0x8(%r8,%rdx,8)
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  114,184                             ; jb            f839 <_sk_store_f16_avx+0x239>
+  DB  196,65,121,214,84,208,16            ; vmovq         %xmm10,0x10(%r8,%rdx,8)
+  DB  116,175                             ; je            f839 <_sk_store_f16_avx+0x239>
+  DB  196,65,121,23,84,208,24             ; vmovhpd       %xmm10,0x18(%r8,%rdx,8)
+  DB  72,131,255,5                        ; cmp           $0x5,%rdi
+  DB  114,162                             ; jb            f839 <_sk_store_f16_avx+0x239>
+  DB  196,65,121,214,76,208,32            ; vmovq         %xmm9,0x20(%r8,%rdx,8)
+  DB  116,153                             ; je            f839 <_sk_store_f16_avx+0x239>
+  DB  196,65,121,23,76,208,40             ; vmovhpd       %xmm9,0x28(%r8,%rdx,8)
+  DB  72,131,255,7                        ; cmp           $0x7,%rdi
+  DB  114,140                             ; jb            f839 <_sk_store_f16_avx+0x239>
+  DB  196,65,121,214,68,208,48            ; vmovq         %xmm8,0x30(%r8,%rdx,8)
+  DB  235,131                             ; jmp           f839 <_sk_store_f16_avx+0x239>
+
+PUBLIC _sk_load_u16_be_avx
+_sk_load_u16_be_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,141,4,149,0,0,0,0                ; lea           0x0(,%rdx,4),%r8
+  DB  76,99,72,8                          ; movslq        0x8(%rax),%r9
+  DB  76,15,175,201                       ; imul          %rcx,%r9
+  DB  77,1,201                            ; add           %r9,%r9
+  DB  76,3,8                              ; add           (%rax),%r9
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,12,1,0,0                     ; jne           f9e3 <_sk_load_u16_be_avx+0x12d>
+  DB  196,1,121,16,4,65                   ; vmovupd       (%r9,%r8,2),%xmm8
+  DB  196,129,121,16,84,65,16             ; vmovupd       0x10(%r9,%r8,2),%xmm2
+  DB  196,129,121,16,92,65,32             ; vmovupd       0x20(%r9,%r8,2),%xmm3
+  DB  196,1,122,111,76,65,48              ; vmovdqu       0x30(%r9,%r8,2),%xmm9
+  DB  197,185,97,194                      ; vpunpcklwd    %xmm2,%xmm8,%xmm0
+  DB  197,185,105,210                     ; vpunpckhwd    %xmm2,%xmm8,%xmm2
+  DB  196,193,97,97,201                   ; vpunpcklwd    %xmm9,%xmm3,%xmm1
+  DB  196,193,97,105,217                  ; vpunpckhwd    %xmm9,%xmm3,%xmm3
+  DB  197,121,97,210                      ; vpunpcklwd    %xmm2,%xmm0,%xmm10
+  DB  197,121,105,194                     ; vpunpckhwd    %xmm2,%xmm0,%xmm8
+  DB  197,241,97,211                      ; vpunpcklwd    %xmm3,%xmm1,%xmm2
+  DB  197,113,105,219                     ; vpunpckhwd    %xmm3,%xmm1,%xmm11
+  DB  197,169,108,194                     ; vpunpcklqdq   %xmm2,%xmm10,%xmm0
+  DB  197,241,113,240,8                   ; vpsllw        $0x8,%xmm0,%xmm1
+  DB  197,249,113,208,8                   ; vpsrlw        $0x8,%xmm0,%xmm0
+  DB  197,241,235,192                     ; vpor          %xmm0,%xmm1,%xmm0
+  DB  196,226,121,51,200                  ; vpmovzxwd     %xmm0,%xmm1
+  DB  197,249,112,192,78                  ; vpshufd       $0x4e,%xmm0,%xmm0
+  DB  196,226,121,51,192                  ; vpmovzxwd     %xmm0,%xmm0
+  DB  196,227,117,24,192,1                ; vinsertf128   $0x1,%xmm0,%ymm1,%ymm0
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  196,98,125,24,13,20,82,2,0          ; vbroadcastss  0x25214(%rip),%ymm9        # 34b5c <_sk_srcover_bgra_8888_sse2_lowp+0x344>
+  DB  196,193,124,89,193                  ; vmulps        %ymm9,%ymm0,%ymm0
+  DB  197,169,109,202                     ; vpunpckhqdq   %xmm2,%xmm10,%xmm1
+  DB  197,233,113,241,8                   ; vpsllw        $0x8,%xmm1,%xmm2
+  DB  197,241,113,209,8                   ; vpsrlw        $0x8,%xmm1,%xmm1
+  DB  197,233,235,201                     ; vpor          %xmm1,%xmm2,%xmm1
+  DB  196,226,121,51,209                  ; vpmovzxwd     %xmm1,%xmm2
+  DB  197,249,112,201,78                  ; vpshufd       $0x4e,%xmm1,%xmm1
+  DB  196,226,121,51,201                  ; vpmovzxwd     %xmm1,%xmm1
+  DB  196,227,109,24,201,1                ; vinsertf128   $0x1,%xmm1,%ymm2,%ymm1
+  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
+  DB  196,193,116,89,201                  ; vmulps        %ymm9,%ymm1,%ymm1
+  DB  196,193,57,108,211                  ; vpunpcklqdq   %xmm11,%xmm8,%xmm2
+  DB  197,225,113,242,8                   ; vpsllw        $0x8,%xmm2,%xmm3
+  DB  197,233,113,210,8                   ; vpsrlw        $0x8,%xmm2,%xmm2
+  DB  197,225,235,210                     ; vpor          %xmm2,%xmm3,%xmm2
+  DB  196,226,121,51,218                  ; vpmovzxwd     %xmm2,%xmm3
+  DB  197,249,112,210,78                  ; vpshufd       $0x4e,%xmm2,%xmm2
+  DB  196,226,121,51,210                  ; vpmovzxwd     %xmm2,%xmm2
+  DB  196,227,101,24,210,1                ; vinsertf128   $0x1,%xmm2,%ymm3,%ymm2
+  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
+  DB  196,193,108,89,209                  ; vmulps        %ymm9,%ymm2,%ymm2
+  DB  196,193,57,109,219                  ; vpunpckhqdq   %xmm11,%xmm8,%xmm3
+  DB  197,185,113,243,8                   ; vpsllw        $0x8,%xmm3,%xmm8
+  DB  197,225,113,211,8                   ; vpsrlw        $0x8,%xmm3,%xmm3
+  DB  197,185,235,219                     ; vpor          %xmm3,%xmm8,%xmm3
+  DB  196,98,121,51,195                   ; vpmovzxwd     %xmm3,%xmm8
+  DB  197,249,112,219,78                  ; vpshufd       $0x4e,%xmm3,%xmm3
+  DB  196,226,121,51,219                  ; vpmovzxwd     %xmm3,%xmm3
+  DB  196,227,61,24,219,1                 ; vinsertf128   $0x1,%xmm3,%ymm8,%ymm3
+  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
+  DB  196,193,100,89,217                  ; vmulps        %ymm9,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,1,123,16,4,65                   ; vmovsd        (%r9,%r8,2),%xmm8
+  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
+  DB  72,131,255,1                        ; cmp           $0x1,%rdi
+  DB  116,85                              ; je            fa49 <_sk_load_u16_be_avx+0x193>
+  DB  196,1,57,22,68,65,8                 ; vmovhpd       0x8(%r9,%r8,2),%xmm8,%xmm8
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  114,72                              ; jb            fa49 <_sk_load_u16_be_avx+0x193>
+  DB  196,129,123,16,84,65,16             ; vmovsd        0x10(%r9,%r8,2),%xmm2
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  116,72                              ; je            fa56 <_sk_load_u16_be_avx+0x1a0>
+  DB  196,129,105,22,84,65,24             ; vmovhpd       0x18(%r9,%r8,2),%xmm2,%xmm2
+  DB  72,131,255,5                        ; cmp           $0x5,%rdi
+  DB  114,59                              ; jb            fa56 <_sk_load_u16_be_avx+0x1a0>
+  DB  196,129,123,16,92,65,32             ; vmovsd        0x20(%r9,%r8,2),%xmm3
+  DB  72,131,255,5                        ; cmp           $0x5,%rdi
+  DB  15,132,198,254,255,255              ; je            f8f2 <_sk_load_u16_be_avx+0x3c>
+  DB  196,129,97,22,92,65,40              ; vmovhpd       0x28(%r9,%r8,2),%xmm3,%xmm3
+  DB  72,131,255,7                        ; cmp           $0x7,%rdi
+  DB  15,130,181,254,255,255              ; jb            f8f2 <_sk_load_u16_be_avx+0x3c>
+  DB  196,1,122,126,76,65,48              ; vmovq         0x30(%r9,%r8,2),%xmm9
+  DB  233,169,254,255,255                 ; jmpq          f8f2 <_sk_load_u16_be_avx+0x3c>
+  DB  197,225,87,219                      ; vxorpd        %xmm3,%xmm3,%xmm3
+  DB  197,233,87,210                      ; vxorpd        %xmm2,%xmm2,%xmm2
+  DB  233,156,254,255,255                 ; jmpq          f8f2 <_sk_load_u16_be_avx+0x3c>
+  DB  197,225,87,219                      ; vxorpd        %xmm3,%xmm3,%xmm3
+  DB  233,147,254,255,255                 ; jmpq          f8f2 <_sk_load_u16_be_avx+0x3c>
+
+PUBLIC _sk_load_rgb_u16_be_avx
+_sk_load_rgb_u16_be_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,141,4,82                         ; lea           (%rdx,%rdx,2),%r8
+  DB  76,99,72,8                          ; movslq        0x8(%rax),%r9
+  DB  76,15,175,201                       ; imul          %rcx,%r9
+  DB  77,1,201                            ; add           %r9,%r9
+  DB  76,3,8                              ; add           (%rax),%r9
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,253,0,0,0                    ; jne           fb79 <_sk_load_rgb_u16_be_avx+0x11a>
+  DB  196,1,122,111,28,65                 ; vmovdqu       (%r9,%r8,2),%xmm11
+  DB  196,129,122,111,92,65,12            ; vmovdqu       0xc(%r9,%r8,2),%xmm3
+  DB  196,129,122,111,84,65,24            ; vmovdqu       0x18(%r9,%r8,2),%xmm2
+  DB  196,129,122,111,68,65,32            ; vmovdqu       0x20(%r9,%r8,2),%xmm0
+  DB  197,249,115,216,4                   ; vpsrldq       $0x4,%xmm0,%xmm0
+  DB  196,193,57,115,219,6                ; vpsrldq       $0x6,%xmm11,%xmm8
+  DB  197,169,115,219,6                   ; vpsrldq       $0x6,%xmm3,%xmm10
+  DB  197,241,115,218,6                   ; vpsrldq       $0x6,%xmm2,%xmm1
+  DB  197,177,115,216,6                   ; vpsrldq       $0x6,%xmm0,%xmm9
+  DB  196,193,113,97,201                  ; vpunpcklwd    %xmm9,%xmm1,%xmm1
+  DB  197,233,97,192                      ; vpunpcklwd    %xmm0,%xmm2,%xmm0
+  DB  196,193,57,97,210                   ; vpunpcklwd    %xmm10,%xmm8,%xmm2
+  DB  197,161,97,219                      ; vpunpcklwd    %xmm3,%xmm11,%xmm3
+  DB  197,97,97,194                       ; vpunpcklwd    %xmm2,%xmm3,%xmm8
+  DB  197,225,105,210                     ; vpunpckhwd    %xmm2,%xmm3,%xmm2
+  DB  197,249,97,217                      ; vpunpcklwd    %xmm1,%xmm0,%xmm3
+  DB  197,249,105,193                     ; vpunpckhwd    %xmm1,%xmm0,%xmm0
+  DB  197,233,108,208                     ; vpunpcklqdq   %xmm0,%xmm2,%xmm2
+  DB  197,185,108,195                     ; vpunpcklqdq   %xmm3,%xmm8,%xmm0
+  DB  197,241,113,240,8                   ; vpsllw        $0x8,%xmm0,%xmm1
+  DB  197,249,113,208,8                   ; vpsrlw        $0x8,%xmm0,%xmm0
+  DB  197,241,235,192                     ; vpor          %xmm0,%xmm1,%xmm0
+  DB  196,226,121,51,200                  ; vpmovzxwd     %xmm0,%xmm1
+  DB  197,249,112,192,78                  ; vpshufd       $0x4e,%xmm0,%xmm0
+  DB  196,226,121,51,192                  ; vpmovzxwd     %xmm0,%xmm0
+  DB  196,227,117,24,192,1                ; vinsertf128   $0x1,%xmm0,%ymm1,%ymm0
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  196,98,125,24,13,81,80,2,0          ; vbroadcastss  0x25051(%rip),%ymm9        # 34b5c <_sk_srcover_bgra_8888_sse2_lowp+0x344>
+  DB  196,193,124,89,193                  ; vmulps        %ymm9,%ymm0,%ymm0
+  DB  197,185,109,203                     ; vpunpckhqdq   %xmm3,%xmm8,%xmm1
+  DB  197,225,113,241,8                   ; vpsllw        $0x8,%xmm1,%xmm3
+  DB  197,241,113,209,8                   ; vpsrlw        $0x8,%xmm1,%xmm1
+  DB  197,225,235,201                     ; vpor          %xmm1,%xmm3,%xmm1
+  DB  196,226,121,51,217                  ; vpmovzxwd     %xmm1,%xmm3
+  DB  197,249,112,201,78                  ; vpshufd       $0x4e,%xmm1,%xmm1
+  DB  196,226,121,51,201                  ; vpmovzxwd     %xmm1,%xmm1
+  DB  196,227,101,24,201,1                ; vinsertf128   $0x1,%xmm1,%ymm3,%ymm1
+  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
+  DB  196,193,116,89,201                  ; vmulps        %ymm9,%ymm1,%ymm1
+  DB  197,225,113,242,8                   ; vpsllw        $0x8,%xmm2,%xmm3
+  DB  197,233,113,210,8                   ; vpsrlw        $0x8,%xmm2,%xmm2
+  DB  197,225,235,210                     ; vpor          %xmm2,%xmm3,%xmm2
+  DB  196,226,121,51,218                  ; vpmovzxwd     %xmm2,%xmm3
+  DB  197,249,112,210,78                  ; vpshufd       $0x4e,%xmm2,%xmm2
+  DB  196,226,121,51,210                  ; vpmovzxwd     %xmm2,%xmm2
+  DB  196,227,101,24,210,1                ; vinsertf128   $0x1,%xmm2,%ymm3,%ymm2
+  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
+  DB  196,193,108,89,209                  ; vmulps        %ymm9,%ymm2,%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,29,81,79,2,0         ; vbroadcastss  0x24f51(%rip),%ymm3        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,129,121,110,4,65                ; vmovd         (%r9,%r8,2),%xmm0
+  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
+  DB  196,1,121,196,92,65,4,2             ; vpinsrw       $0x2,0x4(%r9,%r8,2),%xmm0,%xmm11
+  DB  72,131,255,1                        ; cmp           $0x1,%rdi
+  DB  117,31                              ; jne           fbb1 <_sk_load_rgb_u16_be_avx+0x152>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  197,241,239,201                     ; vpxor         %xmm1,%xmm1,%xmm1
+  DB  197,233,239,210                     ; vpxor         %xmm2,%xmm2,%xmm2
+  DB  196,65,41,239,210                   ; vpxor         %xmm10,%xmm10,%xmm10
+  DB  197,225,239,219                     ; vpxor         %xmm3,%xmm3,%xmm3
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  233,0,255,255,255                   ; jmpq          fab1 <_sk_load_rgb_u16_be_avx+0x52>
+  DB  196,129,121,110,68,65,6             ; vmovd         0x6(%r9,%r8,2),%xmm0
+  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
+  DB  196,1,121,196,68,65,10,2            ; vpinsrw       $0x2,0xa(%r9,%r8,2),%xmm0,%xmm8
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  114,48                              ; jb            fbfb <_sk_load_rgb_u16_be_avx+0x19c>
+  DB  196,129,121,110,68,65,12            ; vmovd         0xc(%r9,%r8,2),%xmm0
+  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
+  DB  196,129,121,196,92,65,16,2          ; vpinsrw       $0x2,0x10(%r9,%r8,2),%xmm0,%xmm3
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  117,48                              ; jne           fc15 <_sk_load_rgb_u16_be_avx+0x1b6>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  197,241,239,201                     ; vpxor         %xmm1,%xmm1,%xmm1
+  DB  197,233,239,210                     ; vpxor         %xmm2,%xmm2,%xmm2
+  DB  196,65,41,239,210                   ; vpxor         %xmm10,%xmm10,%xmm10
+  DB  233,182,254,255,255                 ; jmpq          fab1 <_sk_load_rgb_u16_be_avx+0x52>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  197,241,239,201                     ; vpxor         %xmm1,%xmm1,%xmm1
+  DB  197,233,239,210                     ; vpxor         %xmm2,%xmm2,%xmm2
+  DB  196,65,41,239,210                   ; vpxor         %xmm10,%xmm10,%xmm10
+  DB  197,225,239,219                     ; vpxor         %xmm3,%xmm3,%xmm3
+  DB  233,156,254,255,255                 ; jmpq          fab1 <_sk_load_rgb_u16_be_avx+0x52>
+  DB  196,129,121,110,68,65,18            ; vmovd         0x12(%r9,%r8,2),%xmm0
+  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
+  DB  196,1,121,196,84,65,22,2            ; vpinsrw       $0x2,0x16(%r9,%r8,2),%xmm0,%xmm10
+  DB  72,131,255,5                        ; cmp           $0x5,%rdi
+  DB  114,39                              ; jb            fc56 <_sk_load_rgb_u16_be_avx+0x1f7>
+  DB  196,129,121,110,68,65,24            ; vmovd         0x18(%r9,%r8,2),%xmm0
+  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
+  DB  196,129,121,196,84,65,28,2          ; vpinsrw       $0x2,0x1c(%r9,%r8,2),%xmm0,%xmm2
+  DB  72,131,255,5                        ; cmp           $0x5,%rdi
+  DB  117,30                              ; jne           fc67 <_sk_load_rgb_u16_be_avx+0x208>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  197,241,239,201                     ; vpxor         %xmm1,%xmm1,%xmm1
+  DB  233,91,254,255,255                  ; jmpq          fab1 <_sk_load_rgb_u16_be_avx+0x52>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  197,241,239,201                     ; vpxor         %xmm1,%xmm1,%xmm1
+  DB  197,233,239,210                     ; vpxor         %xmm2,%xmm2,%xmm2
+  DB  233,74,254,255,255                  ; jmpq          fab1 <_sk_load_rgb_u16_be_avx+0x52>
+  DB  196,129,121,110,68,65,30            ; vmovd         0x1e(%r9,%r8,2),%xmm0
+  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
+  DB  196,129,121,196,76,65,34,2          ; vpinsrw       $0x2,0x22(%r9,%r8,2),%xmm0,%xmm1
+  DB  72,131,255,7                        ; cmp           $0x7,%rdi
+  DB  114,25                              ; jb            fc9a <_sk_load_rgb_u16_be_avx+0x23b>
+  DB  196,129,121,110,68,65,36            ; vmovd         0x24(%r9,%r8,2),%xmm0
+  DB  196,65,49,239,201                   ; vpxor         %xmm9,%xmm9,%xmm9
+  DB  196,129,121,196,68,65,40,2          ; vpinsrw       $0x2,0x28(%r9,%r8,2),%xmm0,%xmm0
+  DB  233,23,254,255,255                  ; jmpq          fab1 <_sk_load_rgb_u16_be_avx+0x52>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  233,14,254,255,255                  ; jmpq          fab1 <_sk_load_rgb_u16_be_avx+0x52>
+
+PUBLIC _sk_store_u16_be_avx
+_sk_store_u16_be_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,141,4,149,0,0,0,0                ; lea           0x0(,%rdx,4),%r8
+  DB  76,99,72,8                          ; movslq        0x8(%rax),%r9
+  DB  76,15,175,201                       ; imul          %rcx,%r9
+  DB  77,1,201                            ; add           %r9,%r9
+  DB  76,3,8                              ; add           (%rax),%r9
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,60,95,200                       ; vmaxps        %ymm0,%ymm8,%ymm9
+  DB  196,98,125,24,21,251,77,2,0         ; vbroadcastss  0x24dfb(%rip),%ymm10        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,65,52,93,202                    ; vminps        %ymm10,%ymm9,%ymm9
+  DB  196,98,125,24,29,25,79,2,0          ; vbroadcastss  0x24f19(%rip),%ymm11        # 34bf4 <_sk_srcover_bgra_8888_sse2_lowp+0x3dc>
+  DB  196,65,52,89,203                    ; vmulps        %ymm11,%ymm9,%ymm9
+  DB  196,65,125,91,201                   ; vcvtps2dq     %ymm9,%ymm9
+  DB  196,67,125,25,204,1                 ; vextractf128  $0x1,%ymm9,%xmm12
+  DB  196,66,49,43,204                    ; vpackusdw     %xmm12,%xmm9,%xmm9
+  DB  196,193,25,113,241,8                ; vpsllw        $0x8,%xmm9,%xmm12
+  DB  196,193,49,113,209,8                ; vpsrlw        $0x8,%xmm9,%xmm9
+  DB  196,65,25,235,201                   ; vpor          %xmm9,%xmm12,%xmm9
+  DB  197,60,95,225                       ; vmaxps        %ymm1,%ymm8,%ymm12
+  DB  196,65,28,93,226                    ; vminps        %ymm10,%ymm12,%ymm12
+  DB  196,65,28,89,227                    ; vmulps        %ymm11,%ymm12,%ymm12
+  DB  196,65,125,91,228                   ; vcvtps2dq     %ymm12,%ymm12
+  DB  196,67,125,25,229,1                 ; vextractf128  $0x1,%ymm12,%xmm13
+  DB  196,66,25,43,229                    ; vpackusdw     %xmm13,%xmm12,%xmm12
+  DB  196,193,17,113,244,8                ; vpsllw        $0x8,%xmm12,%xmm13
+  DB  196,193,25,113,212,8                ; vpsrlw        $0x8,%xmm12,%xmm12
+  DB  196,65,17,235,228                   ; vpor          %xmm12,%xmm13,%xmm12
+  DB  197,60,95,234                       ; vmaxps        %ymm2,%ymm8,%ymm13
+  DB  196,65,20,93,234                    ; vminps        %ymm10,%ymm13,%ymm13
+  DB  196,65,20,89,235                    ; vmulps        %ymm11,%ymm13,%ymm13
+  DB  196,65,125,91,237                   ; vcvtps2dq     %ymm13,%ymm13
+  DB  196,67,125,25,238,1                 ; vextractf128  $0x1,%ymm13,%xmm14
+  DB  196,66,17,43,238                    ; vpackusdw     %xmm14,%xmm13,%xmm13
+  DB  196,193,9,113,245,8                 ; vpsllw        $0x8,%xmm13,%xmm14
+  DB  196,193,17,113,213,8                ; vpsrlw        $0x8,%xmm13,%xmm13
+  DB  196,65,9,235,237                    ; vpor          %xmm13,%xmm14,%xmm13
+  DB  197,60,95,195                       ; vmaxps        %ymm3,%ymm8,%ymm8
+  DB  196,65,60,93,194                    ; vminps        %ymm10,%ymm8,%ymm8
+  DB  196,65,60,89,195                    ; vmulps        %ymm11,%ymm8,%ymm8
+  DB  196,65,125,91,192                   ; vcvtps2dq     %ymm8,%ymm8
+  DB  196,67,125,25,194,1                 ; vextractf128  $0x1,%ymm8,%xmm10
+  DB  196,66,57,43,194                    ; vpackusdw     %xmm10,%xmm8,%xmm8
+  DB  196,193,41,113,240,8                ; vpsllw        $0x8,%xmm8,%xmm10
+  DB  196,193,57,113,208,8                ; vpsrlw        $0x8,%xmm8,%xmm8
+  DB  196,65,41,235,192                   ; vpor          %xmm8,%xmm10,%xmm8
+  DB  196,65,49,97,212                    ; vpunpcklwd    %xmm12,%xmm9,%xmm10
+  DB  196,65,49,105,228                   ; vpunpckhwd    %xmm12,%xmm9,%xmm12
+  DB  196,65,17,97,200                    ; vpunpcklwd    %xmm8,%xmm13,%xmm9
+  DB  196,65,17,105,192                   ; vpunpckhwd    %xmm8,%xmm13,%xmm8
+  DB  196,65,41,98,217                    ; vpunpckldq    %xmm9,%xmm10,%xmm11
+  DB  196,65,41,106,209                   ; vpunpckhdq    %xmm9,%xmm10,%xmm10
+  DB  196,65,25,98,200                    ; vpunpckldq    %xmm8,%xmm12,%xmm9
+  DB  196,65,25,106,192                   ; vpunpckhdq    %xmm8,%xmm12,%xmm8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,31                              ; jne           fdda <_sk_store_u16_be_avx+0x137>
+  DB  196,1,122,127,28,65                 ; vmovdqu       %xmm11,(%r9,%r8,2)
+  DB  196,1,122,127,84,65,16              ; vmovdqu       %xmm10,0x10(%r9,%r8,2)
+  DB  196,1,122,127,76,65,32              ; vmovdqu       %xmm9,0x20(%r9,%r8,2)
+  DB  196,1,122,127,68,65,48              ; vmovdqu       %xmm8,0x30(%r9,%r8,2)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,1,121,214,28,65                 ; vmovq         %xmm11,(%r9,%r8,2)
+  DB  72,131,255,1                        ; cmp           $0x1,%rdi
+  DB  116,240                             ; je            fdd6 <_sk_store_u16_be_avx+0x133>
+  DB  196,1,121,23,92,65,8                ; vmovhpd       %xmm11,0x8(%r9,%r8,2)
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  114,227                             ; jb            fdd6 <_sk_store_u16_be_avx+0x133>
+  DB  196,1,121,214,84,65,16              ; vmovq         %xmm10,0x10(%r9,%r8,2)
+  DB  116,218                             ; je            fdd6 <_sk_store_u16_be_avx+0x133>
+  DB  196,1,121,23,84,65,24               ; vmovhpd       %xmm10,0x18(%r9,%r8,2)
+  DB  72,131,255,5                        ; cmp           $0x5,%rdi
+  DB  114,205                             ; jb            fdd6 <_sk_store_u16_be_avx+0x133>
+  DB  196,1,121,214,76,65,32              ; vmovq         %xmm9,0x20(%r9,%r8,2)
+  DB  116,196                             ; je            fdd6 <_sk_store_u16_be_avx+0x133>
+  DB  196,1,121,23,76,65,40               ; vmovhpd       %xmm9,0x28(%r9,%r8,2)
+  DB  72,131,255,7                        ; cmp           $0x7,%rdi
+  DB  114,183                             ; jb            fdd6 <_sk_store_u16_be_avx+0x133>
+  DB  196,1,121,214,68,65,48              ; vmovq         %xmm8,0x30(%r9,%r8,2)
+  DB  235,174                             ; jmp           fdd6 <_sk_store_u16_be_avx+0x133>
+
+PUBLIC _sk_load_f32_avx
+_sk_load_f32_avx LABEL PROC
+  DB  72,129,236,152,0,0,0                ; sub           $0x98,%rsp
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,253,87,192                      ; vxorpd        %ymm0,%ymm0,%ymm0
+  DB  72,131,255,7                        ; cmp           $0x7,%rdi
+  DB  15,135,88,1,0,0                     ; ja            ff97 <_sk_load_f32_avx+0x16f>
+  DB  197,253,17,36,36                    ; vmovupd       %ymm4,(%rsp)
+  DB  197,253,17,108,36,32                ; vmovupd       %ymm5,0x20(%rsp)
+  DB  197,253,17,116,36,64                ; vmovupd       %ymm6,0x40(%rsp)
+  DB  197,253,17,124,36,96                ; vmovupd       %ymm7,0x60(%rsp)
+  DB  76,141,4,149,0,0,0,0                ; lea           0x0(,%rdx,4),%r8
+  DB  76,99,72,8                          ; movslq        0x8(%rax),%r9
+  DB  76,15,175,201                       ; imul          %rcx,%r9
+  DB  73,193,225,2                        ; shl           $0x2,%r9
+  DB  76,3,8                              ; add           (%rax),%r9
+  DB  76,141,21,52,1,0,0                  ; lea           0x134(%rip),%r10        # ffa8 <_sk_load_f32_avx+0x180>
+  DB  73,99,4,186                         ; movslq        (%r10,%rdi,4),%rax
+  DB  76,1,208                            ; add           %r10,%rax
+  DB  197,221,87,228                      ; vxorpd        %ymm4,%ymm4,%ymm4
+  DB  196,65,53,87,201                    ; vxorpd        %ymm9,%ymm9,%ymm9
+  DB  197,237,87,210                      ; vxorpd        %ymm2,%ymm2,%ymm2
+  DB  196,65,37,87,219                    ; vxorpd        %ymm11,%ymm11,%ymm11
+  DB  196,65,29,87,228                    ; vxorpd        %ymm12,%ymm12,%ymm12
+  DB  196,65,61,87,192                    ; vxorpd        %ymm8,%ymm8,%ymm8
+  DB  196,65,13,87,246                    ; vxorpd        %ymm14,%ymm14,%ymm14
+  DB  197,205,87,246                      ; vxorpd        %ymm6,%ymm6,%ymm6
+  DB  196,65,5,87,255                     ; vxorpd        %ymm15,%ymm15,%ymm15
+  DB  197,245,87,201                      ; vxorpd        %ymm1,%ymm1,%ymm1
+  DB  196,65,21,87,237                    ; vxorpd        %ymm13,%ymm13,%ymm13
+  DB  197,213,87,237                      ; vxorpd        %ymm5,%ymm5,%ymm5
+  DB  197,229,87,219                      ; vxorpd        %ymm3,%ymm3,%ymm3
+  DB  196,65,45,87,210                    ; vxorpd        %ymm10,%ymm10,%ymm10
+  DB  197,197,87,255                      ; vxorpd        %ymm7,%ymm7,%ymm7
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,129,121,16,68,129,112           ; vmovupd       0x70(%r9,%r8,4),%xmm0
+  DB  196,227,125,6,192,40                ; vperm2f128    $0x28,%ymm0,%ymm0,%ymm0
+  DB  196,129,121,16,76,129,96            ; vmovupd       0x60(%r9,%r8,4),%xmm1
+  DB  196,227,125,6,225,40                ; vperm2f128    $0x28,%ymm1,%ymm0,%ymm4
+  DB  196,129,121,16,76,129,80            ; vmovupd       0x50(%r9,%r8,4),%xmm1
+  DB  196,227,125,6,209,40                ; vperm2f128    $0x28,%ymm1,%ymm0,%ymm2
+  DB  197,125,40,204                      ; vmovapd       %ymm4,%ymm9
+  DB  196,129,121,16,76,129,64            ; vmovupd       0x40(%r9,%r8,4),%xmm1
+  DB  196,99,125,6,193,40                 ; vperm2f128    $0x28,%ymm1,%ymm0,%ymm8
+  DB  196,65,125,40,217                   ; vmovapd       %ymm9,%ymm11
+  DB  197,125,40,226                      ; vmovapd       %ymm2,%ymm12
+  DB  196,129,121,16,76,129,48            ; vmovupd       0x30(%r9,%r8,4),%xmm1
+  DB  196,227,117,13,192,12               ; vblendpd      $0xc,%ymm0,%ymm1,%ymm0
+  DB  196,65,125,40,243                   ; vmovapd       %ymm11,%ymm14
+  DB  197,125,41,230                      ; vmovapd       %ymm12,%ymm6
+  DB  196,65,125,40,248                   ; vmovapd       %ymm8,%ymm15
+  DB  196,129,121,16,76,129,32            ; vmovupd       0x20(%r9,%r8,4),%xmm1
+  DB  196,195,117,13,206,12               ; vblendpd      $0xc,%ymm14,%ymm1,%ymm1
+  DB  197,125,40,238                      ; vmovapd       %ymm6,%ymm13
+  DB  197,125,41,253                      ; vmovapd       %ymm15,%ymm5
+  DB  196,129,121,16,84,129,16            ; vmovupd       0x10(%r9,%r8,4),%xmm2
+  DB  196,67,109,13,213,12                ; vblendpd      $0xc,%ymm13,%ymm2,%ymm10
+  DB  197,253,40,217                      ; vmovapd       %ymm1,%ymm3
+  DB  197,253,40,253                      ; vmovapd       %ymm5,%ymm7
+  DB  196,129,121,16,12,129               ; vmovupd       (%r9,%r8,4),%xmm1
+  DB  196,227,117,13,207,12               ; vblendpd      $0xc,%ymm7,%ymm1,%ymm1
+  DB  197,252,16,124,36,96                ; vmovups       0x60(%rsp),%ymm7
+  DB  197,252,16,116,36,64                ; vmovups       0x40(%rsp),%ymm6
+  DB  197,252,16,108,36,32                ; vmovups       0x20(%rsp),%ymm5
+  DB  197,252,16,36,36                    ; vmovups       (%rsp),%ymm4
+  DB  196,193,116,20,210                  ; vunpcklps     %ymm10,%ymm1,%ymm2
+  DB  196,65,116,21,194                   ; vunpckhps     %ymm10,%ymm1,%ymm8
+  DB  197,228,20,200                      ; vunpcklps     %ymm0,%ymm3,%ymm1
+  DB  197,228,21,216                      ; vunpckhps     %ymm0,%ymm3,%ymm3
+  DB  197,237,20,193                      ; vunpcklpd     %ymm1,%ymm2,%ymm0
+  DB  197,237,21,201                      ; vunpckhpd     %ymm1,%ymm2,%ymm1
+  DB  197,189,20,211                      ; vunpcklpd     %ymm3,%ymm8,%ymm2
+  DB  197,189,21,219                      ; vunpckhpd     %ymm3,%ymm8,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  72,129,196,152,0,0,0                ; add           $0x98,%rsp
+  DB  255,224                             ; jmpq          *%rax
+  DB  197,229,87,219                      ; vxorpd        %ymm3,%ymm3,%ymm3
+  DB  196,65,45,87,210                    ; vxorpd        %ymm10,%ymm10,%ymm10
+  DB  197,245,87,201                      ; vxorpd        %ymm1,%ymm1,%ymm1
+  DB  235,196                             ; jmp           ff6a <_sk_load_f32_avx+0x142>
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  25,255                              ; sbb           %edi,%edi
+  DB  255                                 ; (bad)
+  DB  255,159,255,255,255,138             ; lcall         *-0x75000001(%rdi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,117,255                         ; pushq         -0x1(%rbp)
+  DB  255                                 ; (bad)
+  DB  255,90,255                          ; lcall         *-0x1(%rdx)
+  DB  255                                 ; (bad)
+  DB  255,68,255,255                      ; incl          -0x1(%rdi,%rdi,8)
+  DB  255,51                              ; pushq         (%rbx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,38                              ; jmpq          *(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_f32_dst_avx
+_sk_load_f32_dst_avx LABEL PROC
+  DB  72,129,236,152,0,0,0                ; sub           $0x98,%rsp
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,221,87,228                      ; vxorpd        %ymm4,%ymm4,%ymm4
+  DB  72,131,255,7                        ; cmp           $0x7,%rdi
+  DB  15,135,88,1,0,0                     ; ja            10137 <_sk_load_f32_dst_avx+0x16f>
+  DB  197,253,17,4,36                     ; vmovupd       %ymm0,(%rsp)
+  DB  197,253,17,76,36,32                 ; vmovupd       %ymm1,0x20(%rsp)
+  DB  197,253,17,84,36,64                 ; vmovupd       %ymm2,0x40(%rsp)
+  DB  197,253,17,92,36,96                 ; vmovupd       %ymm3,0x60(%rsp)
+  DB  76,141,4,149,0,0,0,0                ; lea           0x0(,%rdx,4),%r8
+  DB  76,99,72,8                          ; movslq        0x8(%rax),%r9
+  DB  76,15,175,201                       ; imul          %rcx,%r9
+  DB  73,193,225,2                        ; shl           $0x2,%r9
+  DB  76,3,8                              ; add           (%rax),%r9
+  DB  76,141,21,52,1,0,0                  ; lea           0x134(%rip),%r10        # 10148 <_sk_load_f32_dst_avx+0x180>
+  DB  73,99,4,186                         ; movslq        (%r10,%rdi,4),%rax
+  DB  76,1,208                            ; add           %r10,%rax
+  DB  197,253,87,192                      ; vxorpd        %ymm0,%ymm0,%ymm0
+  DB  196,65,53,87,201                    ; vxorpd        %ymm9,%ymm9,%ymm9
+  DB  197,205,87,246                      ; vxorpd        %ymm6,%ymm6,%ymm6
+  DB  196,65,37,87,219                    ; vxorpd        %ymm11,%ymm11,%ymm11
+  DB  196,65,29,87,228                    ; vxorpd        %ymm12,%ymm12,%ymm12
+  DB  196,65,61,87,192                    ; vxorpd        %ymm8,%ymm8,%ymm8
+  DB  196,65,13,87,246                    ; vxorpd        %ymm14,%ymm14,%ymm14
+  DB  197,237,87,210                      ; vxorpd        %ymm2,%ymm2,%ymm2
+  DB  196,65,5,87,255                     ; vxorpd        %ymm15,%ymm15,%ymm15
+  DB  197,213,87,237                      ; vxorpd        %ymm5,%ymm5,%ymm5
+  DB  196,65,21,87,237                    ; vxorpd        %ymm13,%ymm13,%ymm13
+  DB  197,245,87,201                      ; vxorpd        %ymm1,%ymm1,%ymm1
+  DB  197,197,87,255                      ; vxorpd        %ymm7,%ymm7,%ymm7
+  DB  196,65,45,87,210                    ; vxorpd        %ymm10,%ymm10,%ymm10
+  DB  197,229,87,219                      ; vxorpd        %ymm3,%ymm3,%ymm3
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,129,121,16,68,129,112           ; vmovupd       0x70(%r9,%r8,4),%xmm0
+  DB  196,227,125,6,224,40                ; vperm2f128    $0x28,%ymm0,%ymm0,%ymm4
+  DB  196,129,121,16,68,129,96            ; vmovupd       0x60(%r9,%r8,4),%xmm0
+  DB  196,227,125,6,192,40                ; vperm2f128    $0x28,%ymm0,%ymm0,%ymm0
+  DB  196,129,121,16,76,129,80            ; vmovupd       0x50(%r9,%r8,4),%xmm1
+  DB  196,227,125,6,241,40                ; vperm2f128    $0x28,%ymm1,%ymm0,%ymm6
+  DB  197,125,40,200                      ; vmovapd       %ymm0,%ymm9
+  DB  196,129,121,16,68,129,64            ; vmovupd       0x40(%r9,%r8,4),%xmm0
+  DB  196,99,125,6,192,40                 ; vperm2f128    $0x28,%ymm0,%ymm0,%ymm8
+  DB  196,65,125,40,217                   ; vmovapd       %ymm9,%ymm11
+  DB  197,125,40,230                      ; vmovapd       %ymm6,%ymm12
+  DB  196,129,121,16,68,129,48            ; vmovupd       0x30(%r9,%r8,4),%xmm0
+  DB  196,227,125,13,228,12               ; vblendpd      $0xc,%ymm4,%ymm0,%ymm4
+  DB  196,65,125,40,243                   ; vmovapd       %ymm11,%ymm14
+  DB  197,125,41,226                      ; vmovapd       %ymm12,%ymm2
+  DB  196,65,125,40,248                   ; vmovapd       %ymm8,%ymm15
+  DB  196,129,121,16,68,129,32            ; vmovupd       0x20(%r9,%r8,4),%xmm0
+  DB  196,195,125,13,238,12               ; vblendpd      $0xc,%ymm14,%ymm0,%ymm5
+  DB  197,125,40,234                      ; vmovapd       %ymm2,%ymm13
+  DB  197,125,41,249                      ; vmovapd       %ymm15,%ymm1
+  DB  196,129,121,16,68,129,16            ; vmovupd       0x10(%r9,%r8,4),%xmm0
+  DB  196,67,125,13,213,12                ; vblendpd      $0xc,%ymm13,%ymm0,%ymm10
+  DB  197,253,40,253                      ; vmovapd       %ymm5,%ymm7
+  DB  197,253,40,217                      ; vmovapd       %ymm1,%ymm3
+  DB  196,129,121,16,4,129                ; vmovupd       (%r9,%r8,4),%xmm0
+  DB  196,227,125,13,235,12               ; vblendpd      $0xc,%ymm3,%ymm0,%ymm5
+  DB  197,252,16,92,36,96                 ; vmovups       0x60(%rsp),%ymm3
+  DB  197,252,16,84,36,64                 ; vmovups       0x40(%rsp),%ymm2
+  DB  197,252,16,76,36,32                 ; vmovups       0x20(%rsp),%ymm1
+  DB  197,252,16,4,36                     ; vmovups       (%rsp),%ymm0
+  DB  196,193,84,20,242                   ; vunpcklps     %ymm10,%ymm5,%ymm6
+  DB  196,65,84,21,194                    ; vunpckhps     %ymm10,%ymm5,%ymm8
+  DB  197,196,20,236                      ; vunpcklps     %ymm4,%ymm7,%ymm5
+  DB  197,196,21,252                      ; vunpckhps     %ymm4,%ymm7,%ymm7
+  DB  197,205,20,229                      ; vunpcklpd     %ymm5,%ymm6,%ymm4
+  DB  197,205,21,237                      ; vunpckhpd     %ymm5,%ymm6,%ymm5
+  DB  197,189,20,247                      ; vunpcklpd     %ymm7,%ymm8,%ymm6
+  DB  197,189,21,255                      ; vunpckhpd     %ymm7,%ymm8,%ymm7
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  72,129,196,152,0,0,0                ; add           $0x98,%rsp
+  DB  255,224                             ; jmpq          *%rax
+  DB  197,197,87,255                      ; vxorpd        %ymm7,%ymm7,%ymm7
+  DB  196,65,45,87,210                    ; vxorpd        %ymm10,%ymm10,%ymm10
+  DB  197,213,87,237                      ; vxorpd        %ymm5,%ymm5,%ymm5
+  DB  235,196                             ; jmp           1010a <_sk_load_f32_dst_avx+0x142>
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  25,255                              ; sbb           %edi,%edi
+  DB  255                                 ; (bad)
+  DB  255,159,255,255,255,138             ; lcall         *-0x75000001(%rdi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,117,255                         ; pushq         -0x1(%rbp)
+  DB  255                                 ; (bad)
+  DB  255,90,255                          ; lcall         *-0x1(%rdx)
+  DB  255                                 ; (bad)
+  DB  255,68,255,255                      ; incl          -0x1(%rdi,%rdi,8)
+  DB  255,51                              ; pushq         (%rbx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,38                              ; jmpq          *(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_store_f32_avx
+_sk_store_f32_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,141,4,149,0,0,0,0                ; lea           0x0(,%rdx,4),%r8
+  DB  76,99,72,8                          ; movslq        0x8(%rax),%r9
+  DB  76,15,175,201                       ; imul          %rcx,%r9
+  DB  73,193,225,2                        ; shl           $0x2,%r9
+  DB  76,3,8                              ; add           (%rax),%r9
+  DB  197,124,20,193                      ; vunpcklps     %ymm1,%ymm0,%ymm8
+  DB  197,124,21,217                      ; vunpckhps     %ymm1,%ymm0,%ymm11
+  DB  197,108,20,203                      ; vunpcklps     %ymm3,%ymm2,%ymm9
+  DB  197,108,21,227                      ; vunpckhps     %ymm3,%ymm2,%ymm12
+  DB  196,65,61,20,209                    ; vunpcklpd     %ymm9,%ymm8,%ymm10
+  DB  196,65,61,21,201                    ; vunpckhpd     %ymm9,%ymm8,%ymm9
+  DB  196,65,37,20,196                    ; vunpcklpd     %ymm12,%ymm11,%ymm8
+  DB  196,65,37,21,220                    ; vunpckhpd     %ymm12,%ymm11,%ymm11
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,55                              ; jne           101e1 <_sk_store_f32_avx+0x79>
+  DB  196,67,45,24,225,1                  ; vinsertf128   $0x1,%xmm9,%ymm10,%ymm12
+  DB  196,67,61,24,235,1                  ; vinsertf128   $0x1,%xmm11,%ymm8,%ymm13
+  DB  196,67,45,6,201,49                  ; vperm2f128    $0x31,%ymm9,%ymm10,%ymm9
+  DB  196,67,61,6,195,49                  ; vperm2f128    $0x31,%ymm11,%ymm8,%ymm8
+  DB  196,1,124,17,36,129                 ; vmovups       %ymm12,(%r9,%r8,4)
+  DB  196,1,124,17,108,129,32             ; vmovups       %ymm13,0x20(%r9,%r8,4)
+  DB  196,1,125,17,76,129,64              ; vmovupd       %ymm9,0x40(%r9,%r8,4)
+  DB  196,1,125,17,68,129,96              ; vmovupd       %ymm8,0x60(%r9,%r8,4)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,1,121,17,20,129                 ; vmovupd       %xmm10,(%r9,%r8,4)
+  DB  72,131,255,1                        ; cmp           $0x1,%rdi
+  DB  116,240                             ; je            101dd <_sk_store_f32_avx+0x75>
+  DB  196,1,121,17,76,129,16              ; vmovupd       %xmm9,0x10(%r9,%r8,4)
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  114,227                             ; jb            101dd <_sk_store_f32_avx+0x75>
+  DB  196,1,121,17,68,129,32              ; vmovupd       %xmm8,0x20(%r9,%r8,4)
+  DB  116,218                             ; je            101dd <_sk_store_f32_avx+0x75>
+  DB  196,1,121,17,92,129,48              ; vmovupd       %xmm11,0x30(%r9,%r8,4)
+  DB  72,131,255,5                        ; cmp           $0x5,%rdi
+  DB  114,205                             ; jb            101dd <_sk_store_f32_avx+0x75>
+  DB  196,3,125,25,84,129,64,1            ; vextractf128  $0x1,%ymm10,0x40(%r9,%r8,4)
+  DB  116,195                             ; je            101dd <_sk_store_f32_avx+0x75>
+  DB  196,3,125,25,76,129,80,1            ; vextractf128  $0x1,%ymm9,0x50(%r9,%r8,4)
+  DB  72,131,255,7                        ; cmp           $0x7,%rdi
+  DB  114,181                             ; jb            101dd <_sk_store_f32_avx+0x75>
+  DB  196,3,125,25,68,129,96,1            ; vextractf128  $0x1,%ymm8,0x60(%r9,%r8,4)
+  DB  235,171                             ; jmp           101dd <_sk_store_f32_avx+0x75>
+
+PUBLIC _sk_repeat_x_avx
+_sk_repeat_x_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,24,64,4                  ; vbroadcastss  0x4(%rax),%ymm8
+  DB  197,60,89,192                       ; vmulps        %ymm0,%ymm8,%ymm8
+  DB  196,67,125,8,192,1                  ; vroundps      $0x1,%ymm8,%ymm8
+  DB  196,98,125,24,8                     ; vbroadcastss  (%rax),%ymm9
+  DB  196,65,60,89,193                    ; vmulps        %ymm9,%ymm8,%ymm8
+  DB  196,193,124,92,192                  ; vsubps        %ymm8,%ymm0,%ymm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_repeat_y_avx
+_sk_repeat_y_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,24,64,4                  ; vbroadcastss  0x4(%rax),%ymm8
+  DB  197,60,89,193                       ; vmulps        %ymm1,%ymm8,%ymm8
+  DB  196,67,125,8,192,1                  ; vroundps      $0x1,%ymm8,%ymm8
+  DB  196,98,125,24,8                     ; vbroadcastss  (%rax),%ymm9
+  DB  196,65,60,89,193                    ; vmulps        %ymm9,%ymm8,%ymm8
+  DB  196,193,116,92,200                  ; vsubps        %ymm8,%ymm1,%ymm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_mirror_x_avx
+_sk_mirror_x_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,122,16,0                        ; vmovss        (%rax),%xmm8
+  DB  197,122,16,72,4                     ; vmovss        0x4(%rax),%xmm9
+  DB  196,67,121,4,208,0                  ; vpermilps     $0x0,%xmm8,%xmm10
+  DB  196,67,45,24,210,1                  ; vinsertf128   $0x1,%xmm10,%ymm10,%ymm10
+  DB  196,65,124,92,218                   ; vsubps        %ymm10,%ymm0,%ymm11
+  DB  196,193,58,88,192                   ; vaddss        %xmm8,%xmm8,%xmm0
+  DB  196,227,121,4,192,0                 ; vpermilps     $0x0,%xmm0,%xmm0
+  DB  196,99,125,24,192,1                 ; vinsertf128   $0x1,%xmm0,%ymm0,%ymm8
+  DB  197,178,89,5,19,72,2,0              ; vmulss        0x24813(%rip),%xmm9,%xmm0        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  196,227,121,4,192,0                 ; vpermilps     $0x0,%xmm0,%xmm0
+  DB  196,227,125,24,192,1                ; vinsertf128   $0x1,%xmm0,%ymm0,%ymm0
+  DB  197,164,89,192                      ; vmulps        %ymm0,%ymm11,%ymm0
+  DB  196,227,125,8,192,1                 ; vroundps      $0x1,%ymm0,%ymm0
+  DB  196,193,124,89,192                  ; vmulps        %ymm8,%ymm0,%ymm0
+  DB  197,164,92,192                      ; vsubps        %ymm0,%ymm11,%ymm0
+  DB  196,193,124,92,194                  ; vsubps        %ymm10,%ymm0,%ymm0
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,60,92,192                       ; vsubps        %ymm0,%ymm8,%ymm8
+  DB  197,188,84,192                      ; vandps        %ymm0,%ymm8,%ymm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_mirror_y_avx
+_sk_mirror_y_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,122,16,0                        ; vmovss        (%rax),%xmm8
+  DB  197,122,16,72,4                     ; vmovss        0x4(%rax),%xmm9
+  DB  196,67,121,4,208,0                  ; vpermilps     $0x0,%xmm8,%xmm10
+  DB  196,67,45,24,210,1                  ; vinsertf128   $0x1,%xmm10,%ymm10,%ymm10
+  DB  196,65,116,92,218                   ; vsubps        %ymm10,%ymm1,%ymm11
+  DB  196,193,58,88,200                   ; vaddss        %xmm8,%xmm8,%xmm1
+  DB  196,227,121,4,201,0                 ; vpermilps     $0x0,%xmm1,%xmm1
+  DB  196,99,117,24,193,1                 ; vinsertf128   $0x1,%xmm1,%ymm1,%ymm8
+  DB  197,178,89,13,169,71,2,0            ; vmulss        0x247a9(%rip),%xmm9,%xmm1        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  196,227,121,4,201,0                 ; vpermilps     $0x0,%xmm1,%xmm1
+  DB  196,227,117,24,201,1                ; vinsertf128   $0x1,%xmm1,%ymm1,%ymm1
+  DB  197,164,89,201                      ; vmulps        %ymm1,%ymm11,%ymm1
+  DB  196,227,125,8,201,1                 ; vroundps      $0x1,%ymm1,%ymm1
+  DB  196,193,116,89,200                  ; vmulps        %ymm8,%ymm1,%ymm1
+  DB  197,164,92,201                      ; vsubps        %ymm1,%ymm11,%ymm1
+  DB  196,193,116,92,202                  ; vsubps        %ymm10,%ymm1,%ymm1
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,60,92,193                       ; vsubps        %ymm1,%ymm8,%ymm8
+  DB  197,188,84,201                      ; vandps        %ymm1,%ymm8,%ymm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_clamp_x_1_avx
+_sk_clamp_x_1_avx LABEL PROC
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,188,95,192                      ; vmaxps        %ymm0,%ymm8,%ymm0
+  DB  196,98,125,24,5,102,71,2,0          ; vbroadcastss  0x24766(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,193,124,93,192                  ; vminps        %ymm8,%ymm0,%ymm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_repeat_x_1_avx
+_sk_repeat_x_1_avx LABEL PROC
+  DB  196,99,125,8,192,1                  ; vroundps      $0x1,%ymm0,%ymm8
+  DB  196,193,124,92,192                  ; vsubps        %ymm8,%ymm0,%ymm0
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,188,95,192                      ; vmaxps        %ymm0,%ymm8,%ymm0
+  DB  196,98,125,24,5,64,71,2,0           ; vbroadcastss  0x24740(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,193,124,93,192                  ; vminps        %ymm8,%ymm0,%ymm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_mirror_x_1_avx
+_sk_mirror_x_1_avx LABEL PROC
+  DB  196,98,125,24,5,70,71,2,0           ; vbroadcastss  0x24746(%rip),%ymm8        # 34ae0 <_sk_srcover_bgra_8888_sse2_lowp+0x2c8>
+  DB  196,193,124,88,192                  ; vaddps        %ymm8,%ymm0,%ymm0
+  DB  196,98,125,24,13,28,71,2,0          ; vbroadcastss  0x2471c(%rip),%ymm9        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  196,65,124,89,201                   ; vmulps        %ymm9,%ymm0,%ymm9
+  DB  196,67,125,8,201,1                  ; vroundps      $0x1,%ymm9,%ymm9
+  DB  196,65,52,88,201                    ; vaddps        %ymm9,%ymm9,%ymm9
+  DB  196,193,124,92,193                  ; vsubps        %ymm9,%ymm0,%ymm0
+  DB  196,193,124,88,192                  ; vaddps        %ymm8,%ymm0,%ymm0
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,60,92,200                       ; vsubps        %ymm0,%ymm8,%ymm9
+  DB  197,180,84,192                      ; vandps        %ymm0,%ymm9,%ymm0
+  DB  197,188,95,192                      ; vmaxps        %ymm0,%ymm8,%ymm0
+  DB  196,98,125,24,5,236,70,2,0          ; vbroadcastss  0x246ec(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,193,124,93,192                  ; vminps        %ymm8,%ymm0,%ymm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_decal_x_avx
+_sk_decal_x_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,60,194,200,2                    ; vcmpleps      %ymm0,%ymm8,%ymm9
+  DB  196,98,125,24,80,64                 ; vbroadcastss  0x40(%rax),%ymm10
+  DB  196,65,124,194,210,1                ; vcmpltps      %ymm10,%ymm0,%ymm10
+  DB  196,65,44,84,201                    ; vandps        %ymm9,%ymm10,%ymm9
+  DB  196,65,60,194,208,15                ; vcmptrueps    %ymm8,%ymm8,%ymm10
+  DB  196,67,61,74,194,144                ; vblendvps     %ymm9,%ymm10,%ymm8,%ymm8
+  DB  197,124,17,0                        ; vmovups       %ymm8,(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_decal_y_avx
+_sk_decal_y_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,60,194,201,2                    ; vcmpleps      %ymm1,%ymm8,%ymm9
+  DB  196,98,125,24,80,68                 ; vbroadcastss  0x44(%rax),%ymm10
+  DB  196,65,116,194,210,1                ; vcmpltps      %ymm10,%ymm1,%ymm10
+  DB  196,65,44,84,201                    ; vandps        %ymm9,%ymm10,%ymm9
+  DB  196,65,60,194,208,15                ; vcmptrueps    %ymm8,%ymm8,%ymm10
+  DB  196,67,61,74,194,144                ; vblendvps     %ymm9,%ymm10,%ymm8,%ymm8
+  DB  197,124,17,0                        ; vmovups       %ymm8,(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_decal_x_and_y_avx
+_sk_decal_x_and_y_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,60,194,200,2                    ; vcmpleps      %ymm0,%ymm8,%ymm9
+  DB  196,67,125,25,202,1                 ; vextractf128  $0x1,%ymm9,%xmm10
+  DB  196,65,49,99,202                    ; vpacksswb     %xmm10,%xmm9,%xmm9
+  DB  196,98,125,24,80,64                 ; vbroadcastss  0x40(%rax),%ymm10
+  DB  196,65,124,194,210,1                ; vcmpltps      %ymm10,%ymm0,%ymm10
+  DB  196,67,125,25,211,1                 ; vextractf128  $0x1,%ymm10,%xmm11
+  DB  196,65,41,99,211                    ; vpacksswb     %xmm11,%xmm10,%xmm10
+  DB  197,60,194,217,2                    ; vcmpleps      %ymm1,%ymm8,%ymm11
+  DB  196,67,125,25,220,1                 ; vextractf128  $0x1,%ymm11,%xmm12
+  DB  196,65,33,99,220                    ; vpacksswb     %xmm12,%xmm11,%xmm11
+  DB  196,65,33,219,201                   ; vpand         %xmm9,%xmm11,%xmm9
+  DB  196,65,49,219,202                   ; vpand         %xmm10,%xmm9,%xmm9
+  DB  196,98,125,24,80,68                 ; vbroadcastss  0x44(%rax),%ymm10
+  DB  196,65,116,194,210,1                ; vcmpltps      %ymm10,%ymm1,%ymm10
+  DB  196,67,125,25,211,1                 ; vextractf128  $0x1,%ymm10,%xmm11
+  DB  196,65,41,99,211                    ; vpacksswb     %xmm11,%xmm10,%xmm10
+  DB  196,65,49,219,202                   ; vpand         %xmm10,%xmm9,%xmm9
+  DB  196,66,121,51,209                   ; vpmovzxwd     %xmm9,%xmm10
+  DB  196,193,41,114,242,31               ; vpslld        $0x1f,%xmm10,%xmm10
+  DB  196,193,41,114,226,31               ; vpsrad        $0x1f,%xmm10,%xmm10
+  DB  197,49,105,200                      ; vpunpckhwd    %xmm0,%xmm9,%xmm9
+  DB  196,193,49,114,241,31               ; vpslld        $0x1f,%xmm9,%xmm9
+  DB  196,193,49,114,225,31               ; vpsrad        $0x1f,%xmm9,%xmm9
+  DB  196,67,45,24,201,1                  ; vinsertf128   $0x1,%xmm9,%ymm10,%ymm9
+  DB  196,65,60,194,208,15                ; vcmptrueps    %ymm8,%ymm8,%ymm10
+  DB  196,67,61,74,194,144                ; vblendvps     %ymm9,%ymm10,%ymm8,%ymm8
+  DB  197,124,17,0                        ; vmovups       %ymm8,(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_check_decal_mask_avx
+_sk_check_decal_mask_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,124,16,0                        ; vmovups       (%rax),%ymm8
+  DB  197,188,84,192                      ; vandps        %ymm0,%ymm8,%ymm0
+  DB  197,188,84,201                      ; vandps        %ymm1,%ymm8,%ymm1
+  DB  197,188,84,210                      ; vandps        %ymm2,%ymm8,%ymm2
+  DB  197,188,84,219                      ; vandps        %ymm3,%ymm8,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_luminance_to_alpha_avx
+_sk_luminance_to_alpha_avx LABEL PROC
+  DB  196,226,125,24,29,239,70,2,0        ; vbroadcastss  0x246ef(%rip),%ymm3        # 34bf8 <_sk_srcover_bgra_8888_sse2_lowp+0x3e0>
+  DB  197,252,89,195                      ; vmulps        %ymm3,%ymm0,%ymm0
+  DB  196,226,125,24,29,230,70,2,0        ; vbroadcastss  0x246e6(%rip),%ymm3        # 34bfc <_sk_srcover_bgra_8888_sse2_lowp+0x3e4>
+  DB  197,244,89,203                      ; vmulps        %ymm3,%ymm1,%ymm1
+  DB  197,252,88,193                      ; vaddps        %ymm1,%ymm0,%ymm0
+  DB  196,226,125,24,13,217,70,2,0        ; vbroadcastss  0x246d9(%rip),%ymm1        # 34c00 <_sk_srcover_bgra_8888_sse2_lowp+0x3e8>
+  DB  197,236,89,201                      ; vmulps        %ymm1,%ymm2,%ymm1
+  DB  197,252,88,217                      ; vaddps        %ymm1,%ymm0,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
+  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
+  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_matrix_translate_avx
+_sk_matrix_translate_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,24,0                     ; vbroadcastss  (%rax),%ymm8
+  DB  197,188,88,192                      ; vaddps        %ymm0,%ymm8,%ymm0
+  DB  196,98,125,24,64,4                  ; vbroadcastss  0x4(%rax),%ymm8
+  DB  197,188,88,201                      ; vaddps        %ymm1,%ymm8,%ymm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_matrix_scale_translate_avx
+_sk_matrix_scale_translate_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,24,0                     ; vbroadcastss  (%rax),%ymm8
+  DB  196,98,125,24,72,8                  ; vbroadcastss  0x8(%rax),%ymm9
+  DB  197,188,89,192                      ; vmulps        %ymm0,%ymm8,%ymm0
+  DB  196,193,124,88,193                  ; vaddps        %ymm9,%ymm0,%ymm0
+  DB  196,98,125,24,64,4                  ; vbroadcastss  0x4(%rax),%ymm8
+  DB  196,98,125,24,72,12                 ; vbroadcastss  0xc(%rax),%ymm9
+  DB  197,188,89,201                      ; vmulps        %ymm1,%ymm8,%ymm1
+  DB  196,193,116,88,201                  ; vaddps        %ymm9,%ymm1,%ymm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_matrix_2x3_avx
+_sk_matrix_2x3_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,24,0                     ; vbroadcastss  (%rax),%ymm8
+  DB  196,98,125,24,72,8                  ; vbroadcastss  0x8(%rax),%ymm9
+  DB  196,98,125,24,80,16                 ; vbroadcastss  0x10(%rax),%ymm10
+  DB  197,52,89,201                       ; vmulps        %ymm1,%ymm9,%ymm9
+  DB  196,65,52,88,202                    ; vaddps        %ymm10,%ymm9,%ymm9
+  DB  197,60,89,192                       ; vmulps        %ymm0,%ymm8,%ymm8
+  DB  196,65,60,88,193                    ; vaddps        %ymm9,%ymm8,%ymm8
+  DB  196,98,125,24,72,4                  ; vbroadcastss  0x4(%rax),%ymm9
+  DB  196,98,125,24,80,12                 ; vbroadcastss  0xc(%rax),%ymm10
+  DB  196,98,125,24,88,20                 ; vbroadcastss  0x14(%rax),%ymm11
+  DB  197,172,89,201                      ; vmulps        %ymm1,%ymm10,%ymm1
+  DB  196,193,116,88,203                  ; vaddps        %ymm11,%ymm1,%ymm1
+  DB  197,180,89,192                      ; vmulps        %ymm0,%ymm9,%ymm0
+  DB  197,252,88,201                      ; vaddps        %ymm1,%ymm0,%ymm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,124,41,192                      ; vmovaps       %ymm8,%ymm0
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_matrix_3x4_avx
+_sk_matrix_3x4_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,24,0                     ; vbroadcastss  (%rax),%ymm8
+  DB  196,98,125,24,72,12                 ; vbroadcastss  0xc(%rax),%ymm9
+  DB  196,98,125,24,80,24                 ; vbroadcastss  0x18(%rax),%ymm10
+  DB  196,98,125,24,88,36                 ; vbroadcastss  0x24(%rax),%ymm11
+  DB  197,44,89,210                       ; vmulps        %ymm2,%ymm10,%ymm10
+  DB  196,65,44,88,211                    ; vaddps        %ymm11,%ymm10,%ymm10
+  DB  197,52,89,201                       ; vmulps        %ymm1,%ymm9,%ymm9
+  DB  196,65,52,88,202                    ; vaddps        %ymm10,%ymm9,%ymm9
+  DB  197,60,89,192                       ; vmulps        %ymm0,%ymm8,%ymm8
+  DB  196,65,60,88,193                    ; vaddps        %ymm9,%ymm8,%ymm8
+  DB  196,98,125,24,72,4                  ; vbroadcastss  0x4(%rax),%ymm9
+  DB  196,98,125,24,80,16                 ; vbroadcastss  0x10(%rax),%ymm10
+  DB  196,98,125,24,88,28                 ; vbroadcastss  0x1c(%rax),%ymm11
+  DB  196,98,125,24,96,40                 ; vbroadcastss  0x28(%rax),%ymm12
+  DB  197,36,89,218                       ; vmulps        %ymm2,%ymm11,%ymm11
+  DB  196,65,36,88,220                    ; vaddps        %ymm12,%ymm11,%ymm11
+  DB  197,44,89,209                       ; vmulps        %ymm1,%ymm10,%ymm10
+  DB  196,65,44,88,211                    ; vaddps        %ymm11,%ymm10,%ymm10
+  DB  197,52,89,200                       ; vmulps        %ymm0,%ymm9,%ymm9
+  DB  196,65,52,88,202                    ; vaddps        %ymm10,%ymm9,%ymm9
+  DB  196,98,125,24,80,8                  ; vbroadcastss  0x8(%rax),%ymm10
+  DB  196,98,125,24,88,20                 ; vbroadcastss  0x14(%rax),%ymm11
+  DB  196,98,125,24,96,32                 ; vbroadcastss  0x20(%rax),%ymm12
+  DB  196,98,125,24,104,44                ; vbroadcastss  0x2c(%rax),%ymm13
+  DB  197,156,89,210                      ; vmulps        %ymm2,%ymm12,%ymm2
+  DB  196,193,108,88,213                  ; vaddps        %ymm13,%ymm2,%ymm2
+  DB  197,164,89,201                      ; vmulps        %ymm1,%ymm11,%ymm1
+  DB  197,244,88,202                      ; vaddps        %ymm2,%ymm1,%ymm1
+  DB  197,172,89,192                      ; vmulps        %ymm0,%ymm10,%ymm0
+  DB  197,252,88,209                      ; vaddps        %ymm1,%ymm0,%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,124,41,192                      ; vmovaps       %ymm8,%ymm0
+  DB  197,124,41,201                      ; vmovaps       %ymm9,%ymm1
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_matrix_4x5_avx
+_sk_matrix_4x5_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,24,0                     ; vbroadcastss  (%rax),%ymm8
+  DB  196,98,125,24,72,16                 ; vbroadcastss  0x10(%rax),%ymm9
+  DB  196,98,125,24,80,32                 ; vbroadcastss  0x20(%rax),%ymm10
+  DB  196,98,125,24,88,48                 ; vbroadcastss  0x30(%rax),%ymm11
+  DB  196,98,125,24,96,64                 ; vbroadcastss  0x40(%rax),%ymm12
+  DB  197,36,89,219                       ; vmulps        %ymm3,%ymm11,%ymm11
+  DB  196,65,36,88,220                    ; vaddps        %ymm12,%ymm11,%ymm11
+  DB  197,44,89,210                       ; vmulps        %ymm2,%ymm10,%ymm10
+  DB  196,65,44,88,211                    ; vaddps        %ymm11,%ymm10,%ymm10
+  DB  197,52,89,201                       ; vmulps        %ymm1,%ymm9,%ymm9
+  DB  196,65,52,88,202                    ; vaddps        %ymm10,%ymm9,%ymm9
+  DB  197,60,89,192                       ; vmulps        %ymm0,%ymm8,%ymm8
+  DB  196,65,60,88,193                    ; vaddps        %ymm9,%ymm8,%ymm8
+  DB  196,98,125,24,72,4                  ; vbroadcastss  0x4(%rax),%ymm9
+  DB  196,98,125,24,80,20                 ; vbroadcastss  0x14(%rax),%ymm10
+  DB  196,98,125,24,88,36                 ; vbroadcastss  0x24(%rax),%ymm11
+  DB  196,98,125,24,96,52                 ; vbroadcastss  0x34(%rax),%ymm12
+  DB  196,98,125,24,104,68                ; vbroadcastss  0x44(%rax),%ymm13
+  DB  197,28,89,227                       ; vmulps        %ymm3,%ymm12,%ymm12
+  DB  196,65,28,88,229                    ; vaddps        %ymm13,%ymm12,%ymm12
+  DB  197,36,89,218                       ; vmulps        %ymm2,%ymm11,%ymm11
+  DB  196,65,36,88,220                    ; vaddps        %ymm12,%ymm11,%ymm11
+  DB  197,44,89,209                       ; vmulps        %ymm1,%ymm10,%ymm10
+  DB  196,65,44,88,211                    ; vaddps        %ymm11,%ymm10,%ymm10
+  DB  197,52,89,200                       ; vmulps        %ymm0,%ymm9,%ymm9
+  DB  196,65,52,88,202                    ; vaddps        %ymm10,%ymm9,%ymm9
+  DB  196,98,125,24,80,8                  ; vbroadcastss  0x8(%rax),%ymm10
+  DB  196,98,125,24,88,24                 ; vbroadcastss  0x18(%rax),%ymm11
+  DB  196,98,125,24,96,40                 ; vbroadcastss  0x28(%rax),%ymm12
+  DB  196,98,125,24,104,56                ; vbroadcastss  0x38(%rax),%ymm13
+  DB  196,98,125,24,112,72                ; vbroadcastss  0x48(%rax),%ymm14
+  DB  197,20,89,235                       ; vmulps        %ymm3,%ymm13,%ymm13
+  DB  196,65,20,88,238                    ; vaddps        %ymm14,%ymm13,%ymm13
+  DB  197,28,89,226                       ; vmulps        %ymm2,%ymm12,%ymm12
+  DB  196,65,28,88,229                    ; vaddps        %ymm13,%ymm12,%ymm12
+  DB  197,36,89,217                       ; vmulps        %ymm1,%ymm11,%ymm11
+  DB  196,65,36,88,220                    ; vaddps        %ymm12,%ymm11,%ymm11
+  DB  197,44,89,208                       ; vmulps        %ymm0,%ymm10,%ymm10
+  DB  196,65,44,88,211                    ; vaddps        %ymm11,%ymm10,%ymm10
+  DB  196,98,125,24,88,12                 ; vbroadcastss  0xc(%rax),%ymm11
+  DB  196,98,125,24,96,28                 ; vbroadcastss  0x1c(%rax),%ymm12
+  DB  196,98,125,24,104,44                ; vbroadcastss  0x2c(%rax),%ymm13
+  DB  196,98,125,24,112,60                ; vbroadcastss  0x3c(%rax),%ymm14
+  DB  196,98,125,24,120,76                ; vbroadcastss  0x4c(%rax),%ymm15
+  DB  197,140,89,219                      ; vmulps        %ymm3,%ymm14,%ymm3
+  DB  196,193,100,88,223                  ; vaddps        %ymm15,%ymm3,%ymm3
+  DB  197,148,89,210                      ; vmulps        %ymm2,%ymm13,%ymm2
+  DB  197,236,88,211                      ; vaddps        %ymm3,%ymm2,%ymm2
+  DB  197,156,89,201                      ; vmulps        %ymm1,%ymm12,%ymm1
+  DB  197,244,88,202                      ; vaddps        %ymm2,%ymm1,%ymm1
+  DB  197,164,89,192                      ; vmulps        %ymm0,%ymm11,%ymm0
+  DB  197,252,88,217                      ; vaddps        %ymm1,%ymm0,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,124,41,192                      ; vmovaps       %ymm8,%ymm0
+  DB  197,124,41,201                      ; vmovaps       %ymm9,%ymm1
+  DB  197,124,41,210                      ; vmovaps       %ymm10,%ymm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_matrix_4x3_avx
+_sk_matrix_4x3_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,16                   ; vbroadcastss  (%rax),%ymm2
+  DB  196,226,125,24,88,16                ; vbroadcastss  0x10(%rax),%ymm3
+  DB  196,98,125,24,64,32                 ; vbroadcastss  0x20(%rax),%ymm8
+  DB  197,228,89,217                      ; vmulps        %ymm1,%ymm3,%ymm3
+  DB  196,193,100,88,216                  ; vaddps        %ymm8,%ymm3,%ymm3
+  DB  197,236,89,208                      ; vmulps        %ymm0,%ymm2,%ymm2
+  DB  197,108,88,195                      ; vaddps        %ymm3,%ymm2,%ymm8
+  DB  196,226,125,24,80,4                 ; vbroadcastss  0x4(%rax),%ymm2
+  DB  196,226,125,24,88,20                ; vbroadcastss  0x14(%rax),%ymm3
+  DB  196,98,125,24,72,36                 ; vbroadcastss  0x24(%rax),%ymm9
+  DB  197,228,89,217                      ; vmulps        %ymm1,%ymm3,%ymm3
+  DB  196,193,100,88,217                  ; vaddps        %ymm9,%ymm3,%ymm3
+  DB  197,236,89,208                      ; vmulps        %ymm0,%ymm2,%ymm2
+  DB  197,108,88,203                      ; vaddps        %ymm3,%ymm2,%ymm9
+  DB  196,226,125,24,80,8                 ; vbroadcastss  0x8(%rax),%ymm2
+  DB  196,226,125,24,88,24                ; vbroadcastss  0x18(%rax),%ymm3
+  DB  196,98,125,24,80,40                 ; vbroadcastss  0x28(%rax),%ymm10
+  DB  197,228,89,217                      ; vmulps        %ymm1,%ymm3,%ymm3
+  DB  196,193,100,88,218                  ; vaddps        %ymm10,%ymm3,%ymm3
+  DB  197,236,89,208                      ; vmulps        %ymm0,%ymm2,%ymm2
+  DB  197,236,88,211                      ; vaddps        %ymm3,%ymm2,%ymm2
+  DB  196,226,125,24,88,12                ; vbroadcastss  0xc(%rax),%ymm3
+  DB  196,98,125,24,80,28                 ; vbroadcastss  0x1c(%rax),%ymm10
+  DB  196,98,125,24,88,44                 ; vbroadcastss  0x2c(%rax),%ymm11
+  DB  197,172,89,201                      ; vmulps        %ymm1,%ymm10,%ymm1
+  DB  196,193,116,88,203                  ; vaddps        %ymm11,%ymm1,%ymm1
+  DB  197,228,89,192                      ; vmulps        %ymm0,%ymm3,%ymm0
+  DB  197,252,88,217                      ; vaddps        %ymm1,%ymm0,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,124,41,192                      ; vmovaps       %ymm8,%ymm0
+  DB  197,124,41,201                      ; vmovaps       %ymm9,%ymm1
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_matrix_perspective_avx
+_sk_matrix_perspective_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,24,0                     ; vbroadcastss  (%rax),%ymm8
+  DB  196,98,125,24,72,4                  ; vbroadcastss  0x4(%rax),%ymm9
+  DB  196,98,125,24,80,8                  ; vbroadcastss  0x8(%rax),%ymm10
+  DB  197,52,89,201                       ; vmulps        %ymm1,%ymm9,%ymm9
+  DB  196,65,52,88,202                    ; vaddps        %ymm10,%ymm9,%ymm9
+  DB  197,60,89,192                       ; vmulps        %ymm0,%ymm8,%ymm8
+  DB  196,65,60,88,193                    ; vaddps        %ymm9,%ymm8,%ymm8
+  DB  196,98,125,24,72,12                 ; vbroadcastss  0xc(%rax),%ymm9
+  DB  196,98,125,24,80,16                 ; vbroadcastss  0x10(%rax),%ymm10
+  DB  196,98,125,24,88,20                 ; vbroadcastss  0x14(%rax),%ymm11
+  DB  197,44,89,209                       ; vmulps        %ymm1,%ymm10,%ymm10
+  DB  196,65,44,88,211                    ; vaddps        %ymm11,%ymm10,%ymm10
+  DB  197,52,89,200                       ; vmulps        %ymm0,%ymm9,%ymm9
+  DB  196,65,52,88,202                    ; vaddps        %ymm10,%ymm9,%ymm9
+  DB  196,98,125,24,80,24                 ; vbroadcastss  0x18(%rax),%ymm10
+  DB  196,98,125,24,88,28                 ; vbroadcastss  0x1c(%rax),%ymm11
+  DB  196,98,125,24,96,32                 ; vbroadcastss  0x20(%rax),%ymm12
+  DB  197,164,89,201                      ; vmulps        %ymm1,%ymm11,%ymm1
+  DB  196,193,116,88,204                  ; vaddps        %ymm12,%ymm1,%ymm1
+  DB  197,172,89,192                      ; vmulps        %ymm0,%ymm10,%ymm0
+  DB  197,252,88,193                      ; vaddps        %ymm1,%ymm0,%ymm0
+  DB  197,252,83,200                      ; vrcpps        %ymm0,%ymm1
+  DB  197,188,89,193                      ; vmulps        %ymm1,%ymm8,%ymm0
+  DB  197,180,89,201                      ; vmulps        %ymm1,%ymm9,%ymm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_evenly_spaced_gradient_avx
+_sk_evenly_spaced_gradient_avx LABEL PROC
+  DB  85                                  ; push          %rbp
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,85                               ; push          %r13
+  DB  65,84                               ; push          %r12
+  DB  83                                  ; push          %rbx
+  DB  72,131,236,40                       ; sub           $0x28,%rsp
+  DB  197,252,17,60,36                    ; vmovups       %ymm7,(%rsp)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  72,139,24                           ; mov           (%rax),%rbx
+  DB  72,139,104,8                        ; mov           0x8(%rax),%rbp
+  DB  72,255,203                          ; dec           %rbx
+  DB  120,7                               ; js            108ce <_sk_evenly_spaced_gradient_avx+0x28>
+  DB  196,225,242,42,203                  ; vcvtsi2ss     %rbx,%xmm1,%xmm1
+  DB  235,21                              ; jmp           108e3 <_sk_evenly_spaced_gradient_avx+0x3d>
+  DB  73,137,216                          ; mov           %rbx,%r8
+  DB  73,209,232                          ; shr           %r8
+  DB  131,227,1                           ; and           $0x1,%ebx
+  DB  76,9,195                            ; or            %r8,%rbx
+  DB  196,225,242,42,203                  ; vcvtsi2ss     %rbx,%xmm1,%xmm1
+  DB  197,242,88,201                      ; vaddss        %xmm1,%xmm1,%xmm1
+  DB  196,227,121,4,201,0                 ; vpermilps     $0x0,%xmm1,%xmm1
+  DB  196,227,117,24,201,1                ; vinsertf128   $0x1,%xmm1,%ymm1,%ymm1
+  DB  197,244,89,200                      ; vmulps        %ymm0,%ymm1,%ymm1
+  DB  197,254,91,201                      ; vcvttps2dq    %ymm1,%ymm1
+  DB  196,195,249,22,200,1                ; vpextrq       $0x1,%xmm1,%r8
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,193,249,126,202                 ; vmovq         %xmm1,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,227,125,25,201,1                ; vextractf128  $0x1,%ymm1,%xmm1
+  DB  196,195,249,22,207,1                ; vpextrq       $0x1,%xmm1,%r15
+  DB  69,137,254                          ; mov           %r15d,%r14d
+  DB  73,193,239,32                       ; shr           $0x20,%r15
+  DB  196,193,249,126,205                 ; vmovq         %xmm1,%r13
+  DB  69,137,236                          ; mov           %r13d,%r12d
+  DB  73,193,237,32                       ; shr           $0x20,%r13
+  DB  196,161,122,16,76,165,0             ; vmovss        0x0(%rbp,%r12,4),%xmm1
+  DB  196,163,113,33,76,173,0,16          ; vinsertps     $0x10,0x0(%rbp,%r13,4),%xmm1,%xmm1
+  DB  196,161,122,16,84,181,0             ; vmovss        0x0(%rbp,%r14,4),%xmm2
+  DB  196,33,122,16,68,189,0              ; vmovss        0x0(%rbp,%r15,4),%xmm8
+  DB  196,161,122,16,92,157,0             ; vmovss        0x0(%rbp,%r11,4),%xmm3
+  DB  196,35,97,33,76,149,0,16            ; vinsertps     $0x10,0x0(%rbp,%r10,4),%xmm3,%xmm9
+  DB  196,161,122,16,124,141,0            ; vmovss        0x0(%rbp,%r9,4),%xmm7
+  DB  196,33,122,16,92,133,0              ; vmovss        0x0(%rbp,%r8,4),%xmm11
+  DB  196,99,113,33,226,32                ; vinsertps     $0x20,%xmm2,%xmm1,%xmm12
+  DB  72,139,88,40                        ; mov           0x28(%rax),%rbx
+  DB  196,161,122,16,20,163               ; vmovss        (%rbx,%r12,4),%xmm2
+  DB  196,35,105,33,44,171,16             ; vinsertps     $0x10,(%rbx,%r13,4),%xmm2,%xmm13
+  DB  196,161,122,16,28,179               ; vmovss        (%rbx,%r14,4),%xmm3
+  DB  196,161,122,16,12,187               ; vmovss        (%rbx,%r15,4),%xmm1
+  DB  196,161,122,16,20,155               ; vmovss        (%rbx,%r11,4),%xmm2
+  DB  196,35,105,33,52,147,16             ; vinsertps     $0x10,(%rbx,%r10,4),%xmm2,%xmm14
+  DB  196,33,122,16,60,139                ; vmovss        (%rbx,%r9,4),%xmm15
+  DB  196,33,122,16,20,131                ; vmovss        (%rbx,%r8,4),%xmm10
+  DB  196,67,25,33,192,48                 ; vinsertps     $0x30,%xmm8,%xmm12,%xmm8
+  DB  196,227,49,33,215,32                ; vinsertps     $0x20,%xmm7,%xmm9,%xmm2
+  DB  196,195,105,33,211,48               ; vinsertps     $0x30,%xmm11,%xmm2,%xmm2
+  DB  196,67,109,24,192,1                 ; vinsertf128   $0x1,%xmm8,%ymm2,%ymm8
+  DB  196,227,17,33,211,32                ; vinsertps     $0x20,%xmm3,%xmm13,%xmm2
+  DB  196,99,105,33,201,48                ; vinsertps     $0x30,%xmm1,%xmm2,%xmm9
+  DB  72,139,88,16                        ; mov           0x10(%rax),%rbx
+  DB  196,161,122,16,20,163               ; vmovss        (%rbx,%r12,4),%xmm2
+  DB  196,35,105,33,28,171,16             ; vinsertps     $0x10,(%rbx,%r13,4),%xmm2,%xmm11
+  DB  196,33,122,16,36,179                ; vmovss        (%rbx,%r14,4),%xmm12
+  DB  196,161,122,16,12,187               ; vmovss        (%rbx,%r15,4),%xmm1
+  DB  196,161,122,16,60,155               ; vmovss        (%rbx,%r11,4),%xmm7
+  DB  196,163,65,33,60,147,16             ; vinsertps     $0x10,(%rbx,%r10,4),%xmm7,%xmm7
+  DB  196,161,122,16,28,139               ; vmovss        (%rbx,%r9,4),%xmm3
+  DB  196,33,122,16,44,131                ; vmovss        (%rbx,%r8,4),%xmm13
+  DB  196,195,9,33,215,32                 ; vinsertps     $0x20,%xmm15,%xmm14,%xmm2
+  DB  196,195,105,33,210,48               ; vinsertps     $0x30,%xmm10,%xmm2,%xmm2
+  DB  196,67,109,24,241,1                 ; vinsertf128   $0x1,%xmm9,%ymm2,%ymm14
+  DB  196,195,33,33,212,32                ; vinsertps     $0x20,%xmm12,%xmm11,%xmm2
+  DB  196,99,105,33,201,48                ; vinsertps     $0x30,%xmm1,%xmm2,%xmm9
+  DB  196,99,65,33,211,32                 ; vinsertps     $0x20,%xmm3,%xmm7,%xmm10
+  DB  72,139,88,48                        ; mov           0x30(%rax),%rbx
+  DB  196,161,122,16,28,163               ; vmovss        (%rbx,%r12,4),%xmm3
+  DB  196,35,97,33,28,171,16              ; vinsertps     $0x10,(%rbx,%r13,4),%xmm3,%xmm11
+  DB  196,33,122,16,60,179                ; vmovss        (%rbx,%r14,4),%xmm15
+  DB  196,33,122,16,36,187                ; vmovss        (%rbx,%r15,4),%xmm12
+  DB  196,161,122,16,20,155               ; vmovss        (%rbx,%r11,4),%xmm2
+  DB  196,163,105,33,20,147,16            ; vinsertps     $0x10,(%rbx,%r10,4),%xmm2,%xmm2
+  DB  196,161,122,16,60,139               ; vmovss        (%rbx,%r9,4),%xmm7
+  DB  196,161,122,16,28,131               ; vmovss        (%rbx,%r8,4),%xmm3
+  DB  196,67,41,33,213,48                 ; vinsertps     $0x30,%xmm13,%xmm10,%xmm10
+  DB  196,67,45,24,233,1                  ; vinsertf128   $0x1,%xmm9,%ymm10,%ymm13
+  DB  196,195,33,33,207,32                ; vinsertps     $0x20,%xmm15,%xmm11,%xmm1
+  DB  196,67,113,33,204,48                ; vinsertps     $0x30,%xmm12,%xmm1,%xmm9
+  DB  196,227,105,33,215,32               ; vinsertps     $0x20,%xmm7,%xmm2,%xmm2
+  DB  196,99,105,33,211,48                ; vinsertps     $0x30,%xmm3,%xmm2,%xmm10
+  DB  72,139,88,24                        ; mov           0x18(%rax),%rbx
+  DB  196,161,122,16,28,163               ; vmovss        (%rbx,%r12,4),%xmm3
+  DB  196,35,97,33,28,171,16              ; vinsertps     $0x10,(%rbx,%r13,4),%xmm3,%xmm11
+  DB  196,33,122,16,36,179                ; vmovss        (%rbx,%r14,4),%xmm12
+  DB  196,33,122,16,60,187                ; vmovss        (%rbx,%r15,4),%xmm15
+  DB  196,161,122,16,20,155               ; vmovss        (%rbx,%r11,4),%xmm2
+  DB  196,163,105,33,20,147,16            ; vinsertps     $0x10,(%rbx,%r10,4),%xmm2,%xmm2
+  DB  196,161,122,16,28,139               ; vmovss        (%rbx,%r9,4),%xmm3
+  DB  196,161,122,16,60,131               ; vmovss        (%rbx,%r8,4),%xmm7
+  DB  196,67,45,24,201,1                  ; vinsertf128   $0x1,%xmm9,%ymm10,%ymm9
+  DB  196,195,33,33,204,32                ; vinsertps     $0x20,%xmm12,%xmm11,%xmm1
+  DB  196,195,113,33,207,48               ; vinsertps     $0x30,%xmm15,%xmm1,%xmm1
+  DB  196,227,105,33,211,32               ; vinsertps     $0x20,%xmm3,%xmm2,%xmm2
+  DB  196,227,105,33,215,48               ; vinsertps     $0x30,%xmm7,%xmm2,%xmm2
+  DB  196,99,109,24,209,1                 ; vinsertf128   $0x1,%xmm1,%ymm2,%ymm10
+  DB  72,139,88,56                        ; mov           0x38(%rax),%rbx
+  DB  196,161,122,16,12,163               ; vmovss        (%rbx,%r12,4),%xmm1
+  DB  196,35,113,33,28,171,16             ; vinsertps     $0x10,(%rbx,%r13,4),%xmm1,%xmm11
+  DB  196,33,122,16,36,179                ; vmovss        (%rbx,%r14,4),%xmm12
+  DB  196,33,122,16,60,187                ; vmovss        (%rbx,%r15,4),%xmm15
+  DB  196,161,122,16,60,155               ; vmovss        (%rbx,%r11,4),%xmm7
+  DB  196,163,65,33,60,147,16             ; vinsertps     $0x10,(%rbx,%r10,4),%xmm7,%xmm7
+  DB  196,161,122,16,12,139               ; vmovss        (%rbx,%r9,4),%xmm1
+  DB  196,161,122,16,20,131               ; vmovss        (%rbx,%r8,4),%xmm2
+  DB  196,195,33,33,220,32                ; vinsertps     $0x20,%xmm12,%xmm11,%xmm3
+  DB  196,195,97,33,223,48                ; vinsertps     $0x30,%xmm15,%xmm3,%xmm3
+  DB  196,227,65,33,201,32                ; vinsertps     $0x20,%xmm1,%xmm7,%xmm1
+  DB  196,227,113,33,202,48               ; vinsertps     $0x30,%xmm2,%xmm1,%xmm1
+  DB  196,99,117,24,219,1                 ; vinsertf128   $0x1,%xmm3,%ymm1,%ymm11
+  DB  72,139,88,32                        ; mov           0x20(%rax),%rbx
+  DB  196,161,122,16,12,163               ; vmovss        (%rbx,%r12,4),%xmm1
+  DB  196,163,113,33,12,171,16            ; vinsertps     $0x10,(%rbx,%r13,4),%xmm1,%xmm1
+  DB  196,161,122,16,20,179               ; vmovss        (%rbx,%r14,4),%xmm2
+  DB  196,227,113,33,202,32               ; vinsertps     $0x20,%xmm2,%xmm1,%xmm1
+  DB  196,161,122,16,20,187               ; vmovss        (%rbx,%r15,4),%xmm2
+  DB  196,161,122,16,28,155               ; vmovss        (%rbx,%r11,4),%xmm3
+  DB  196,35,97,33,36,147,16              ; vinsertps     $0x10,(%rbx,%r10,4),%xmm3,%xmm12
+  DB  196,161,122,16,60,139               ; vmovss        (%rbx,%r9,4),%xmm7
+  DB  196,161,122,16,28,131               ; vmovss        (%rbx,%r8,4),%xmm3
+  DB  196,99,113,33,250,48                ; vinsertps     $0x30,%xmm2,%xmm1,%xmm15
+  DB  72,139,64,64                        ; mov           0x40(%rax),%rax
+  DB  196,161,122,16,20,160               ; vmovss        (%rax,%r12,4),%xmm2
+  DB  196,163,105,33,20,168,16            ; vinsertps     $0x10,(%rax,%r13,4),%xmm2,%xmm2
+  DB  196,227,25,33,255,32                ; vinsertps     $0x20,%xmm7,%xmm12,%xmm7
+  DB  196,161,122,16,12,176               ; vmovss        (%rax,%r14,4),%xmm1
+  DB  196,227,65,33,219,48                ; vinsertps     $0x30,%xmm3,%xmm7,%xmm3
+  DB  196,161,122,16,60,184               ; vmovss        (%rax,%r15,4),%xmm7
+  DB  196,67,101,24,231,1                 ; vinsertf128   $0x1,%xmm15,%ymm3,%ymm12
+  DB  196,161,122,16,28,152               ; vmovss        (%rax,%r11,4),%xmm3
+  DB  196,163,97,33,28,144,16             ; vinsertps     $0x10,(%rax,%r10,4),%xmm3,%xmm3
+  DB  196,227,105,33,201,32               ; vinsertps     $0x20,%xmm1,%xmm2,%xmm1
+  DB  196,161,122,16,20,136               ; vmovss        (%rax,%r9,4),%xmm2
+  DB  196,227,113,33,207,48               ; vinsertps     $0x30,%xmm7,%xmm1,%xmm1
+  DB  196,161,122,16,60,128               ; vmovss        (%rax,%r8,4),%xmm7
+  DB  196,227,97,33,210,32                ; vinsertps     $0x20,%xmm2,%xmm3,%xmm2
+  DB  196,227,105,33,215,48               ; vinsertps     $0x30,%xmm7,%xmm2,%xmm2
+  DB  196,227,109,24,217,1                ; vinsertf128   $0x1,%xmm1,%ymm2,%ymm3
+  DB  197,188,89,200                      ; vmulps        %ymm0,%ymm8,%ymm1
+  DB  196,65,116,88,198                   ; vaddps        %ymm14,%ymm1,%ymm8
+  DB  197,148,89,200                      ; vmulps        %ymm0,%ymm13,%ymm1
+  DB  196,193,116,88,201                  ; vaddps        %ymm9,%ymm1,%ymm1
+  DB  197,172,89,208                      ; vmulps        %ymm0,%ymm10,%ymm2
+  DB  196,193,108,88,211                  ; vaddps        %ymm11,%ymm2,%ymm2
+  DB  197,156,89,192                      ; vmulps        %ymm0,%ymm12,%ymm0
+  DB  197,252,88,219                      ; vaddps        %ymm3,%ymm0,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,124,41,192                      ; vmovaps       %ymm8,%ymm0
+  DB  197,252,16,60,36                    ; vmovups       (%rsp),%ymm7
+  DB  72,131,196,40                       ; add           $0x28,%rsp
+  DB  91                                  ; pop           %rbx
+  DB  65,92                               ; pop           %r12
+  DB  65,93                               ; pop           %r13
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  93                                  ; pop           %rbp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_gradient_avx
+_sk_gradient_avx LABEL PROC
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,85                               ; push          %r13
+  DB  65,84                               ; push          %r12
+  DB  83                                  ; push          %rbx
+  DB  72,131,236,48                       ; sub           $0x30,%rsp
+  DB  197,252,17,60,36                    ; vmovups       %ymm7,(%rsp)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
+  DB  73,131,248,2                        ; cmp           $0x2,%r8
+  DB  114,81                              ; jb            10c83 <_sk_gradient_avx+0x72>
+  DB  72,139,88,72                        ; mov           0x48(%rax),%rbx
+  DB  73,255,200                          ; dec           %r8
+  DB  72,131,195,4                        ; add           $0x4,%rbx
+  DB  196,65,52,87,201                    ; vxorps        %ymm9,%ymm9,%ymm9
+  DB  196,98,125,24,21,129,62,2,0         ; vbroadcastss  0x23e81(%rip),%ymm10        # 34acc <_sk_srcover_bgra_8888_sse2_lowp+0x2b4>
+  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
+  DB  196,98,125,24,3                     ; vbroadcastss  (%rbx),%ymm8
+  DB  197,60,194,192,2                    ; vcmpleps      %ymm0,%ymm8,%ymm8
+  DB  196,67,53,74,194,128                ; vblendvps     %ymm8,%ymm10,%ymm9,%ymm8
+  DB  196,99,125,25,194,1                 ; vextractf128  $0x1,%ymm8,%xmm2
+  DB  196,227,125,25,203,1                ; vextractf128  $0x1,%ymm1,%xmm3
+  DB  197,225,254,210                     ; vpaddd        %xmm2,%xmm3,%xmm2
+  DB  196,193,113,254,200                 ; vpaddd        %xmm8,%xmm1,%xmm1
+  DB  196,227,117,24,202,1                ; vinsertf128   $0x1,%xmm2,%ymm1,%ymm1
+  DB  72,131,195,4                        ; add           $0x4,%rbx
+  DB  73,255,200                          ; dec           %r8
+  DB  117,204                             ; jne           10c4f <_sk_gradient_avx+0x3e>
+  DB  196,195,249,22,200,1                ; vpextrq       $0x1,%xmm1,%r8
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,193,249,126,202                 ; vmovq         %xmm1,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,227,125,25,201,1                ; vextractf128  $0x1,%ymm1,%xmm1
+  DB  196,195,249,22,207,1                ; vpextrq       $0x1,%xmm1,%r15
+  DB  69,137,254                          ; mov           %r15d,%r14d
+  DB  73,193,239,32                       ; shr           $0x20,%r15
+  DB  196,225,249,126,203                 ; vmovq         %xmm1,%rbx
+  DB  65,137,220                          ; mov           %ebx,%r12d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  76,139,104,8                        ; mov           0x8(%rax),%r13
+  DB  196,129,122,16,76,165,0             ; vmovss        0x0(%r13,%r12,4),%xmm1
+  DB  196,195,113,33,76,157,0,16          ; vinsertps     $0x10,0x0(%r13,%rbx,4),%xmm1,%xmm1
+  DB  196,129,122,16,84,181,0             ; vmovss        0x0(%r13,%r14,4),%xmm2
+  DB  196,1,122,16,68,189,0               ; vmovss        0x0(%r13,%r15,4),%xmm8
+  DB  196,129,122,16,92,157,0             ; vmovss        0x0(%r13,%r11,4),%xmm3
+  DB  196,3,97,33,76,149,0,16             ; vinsertps     $0x10,0x0(%r13,%r10,4),%xmm3,%xmm9
+  DB  196,129,122,16,124,141,0            ; vmovss        0x0(%r13,%r9,4),%xmm7
+  DB  196,1,122,16,92,133,0               ; vmovss        0x0(%r13,%r8,4),%xmm11
+  DB  196,99,113,33,226,32                ; vinsertps     $0x20,%xmm2,%xmm1,%xmm12
+  DB  76,139,104,40                       ; mov           0x28(%rax),%r13
+  DB  196,129,122,16,84,165,0             ; vmovss        0x0(%r13,%r12,4),%xmm2
+  DB  196,67,105,33,108,157,0,16          ; vinsertps     $0x10,0x0(%r13,%rbx,4),%xmm2,%xmm13
+  DB  196,129,122,16,92,181,0             ; vmovss        0x0(%r13,%r14,4),%xmm3
+  DB  196,129,122,16,76,189,0             ; vmovss        0x0(%r13,%r15,4),%xmm1
+  DB  196,129,122,16,84,157,0             ; vmovss        0x0(%r13,%r11,4),%xmm2
+  DB  196,3,105,33,116,149,0,16           ; vinsertps     $0x10,0x0(%r13,%r10,4),%xmm2,%xmm14
+  DB  196,1,122,16,124,141,0              ; vmovss        0x0(%r13,%r9,4),%xmm15
+  DB  196,1,122,16,84,133,0               ; vmovss        0x0(%r13,%r8,4),%xmm10
+  DB  196,67,25,33,192,48                 ; vinsertps     $0x30,%xmm8,%xmm12,%xmm8
+  DB  196,227,49,33,215,32                ; vinsertps     $0x20,%xmm7,%xmm9,%xmm2
+  DB  196,195,105,33,211,48               ; vinsertps     $0x30,%xmm11,%xmm2,%xmm2
+  DB  196,67,109,24,192,1                 ; vinsertf128   $0x1,%xmm8,%ymm2,%ymm8
+  DB  196,227,17,33,211,32                ; vinsertps     $0x20,%xmm3,%xmm13,%xmm2
+  DB  196,99,105,33,201,48                ; vinsertps     $0x30,%xmm1,%xmm2,%xmm9
+  DB  76,139,104,16                       ; mov           0x10(%rax),%r13
+  DB  196,129,122,16,84,165,0             ; vmovss        0x0(%r13,%r12,4),%xmm2
+  DB  196,67,105,33,92,157,0,16           ; vinsertps     $0x10,0x0(%r13,%rbx,4),%xmm2,%xmm11
+  DB  196,1,122,16,100,181,0              ; vmovss        0x0(%r13,%r14,4),%xmm12
+  DB  196,129,122,16,76,189,0             ; vmovss        0x0(%r13,%r15,4),%xmm1
+  DB  196,129,122,16,124,157,0            ; vmovss        0x0(%r13,%r11,4),%xmm7
+  DB  196,131,65,33,124,149,0,16          ; vinsertps     $0x10,0x0(%r13,%r10,4),%xmm7,%xmm7
+  DB  196,129,122,16,92,141,0             ; vmovss        0x0(%r13,%r9,4),%xmm3
+  DB  196,1,122,16,108,133,0              ; vmovss        0x0(%r13,%r8,4),%xmm13
+  DB  196,195,9,33,215,32                 ; vinsertps     $0x20,%xmm15,%xmm14,%xmm2
+  DB  196,195,105,33,210,48               ; vinsertps     $0x30,%xmm10,%xmm2,%xmm2
+  DB  196,67,109,24,241,1                 ; vinsertf128   $0x1,%xmm9,%ymm2,%ymm14
+  DB  196,195,33,33,212,32                ; vinsertps     $0x20,%xmm12,%xmm11,%xmm2
+  DB  196,99,105,33,201,48                ; vinsertps     $0x30,%xmm1,%xmm2,%xmm9
+  DB  196,99,65,33,211,32                 ; vinsertps     $0x20,%xmm3,%xmm7,%xmm10
+  DB  76,139,104,48                       ; mov           0x30(%rax),%r13
+  DB  196,129,122,16,92,165,0             ; vmovss        0x0(%r13,%r12,4),%xmm3
+  DB  196,67,97,33,92,157,0,16            ; vinsertps     $0x10,0x0(%r13,%rbx,4),%xmm3,%xmm11
+  DB  196,1,122,16,124,181,0              ; vmovss        0x0(%r13,%r14,4),%xmm15
+  DB  196,1,122,16,100,189,0              ; vmovss        0x0(%r13,%r15,4),%xmm12
+  DB  196,129,122,16,84,157,0             ; vmovss        0x0(%r13,%r11,4),%xmm2
+  DB  196,131,105,33,84,149,0,16          ; vinsertps     $0x10,0x0(%r13,%r10,4),%xmm2,%xmm2
+  DB  196,129,122,16,124,141,0            ; vmovss        0x0(%r13,%r9,4),%xmm7
+  DB  196,129,122,16,92,133,0             ; vmovss        0x0(%r13,%r8,4),%xmm3
+  DB  196,67,41,33,213,48                 ; vinsertps     $0x30,%xmm13,%xmm10,%xmm10
+  DB  196,67,45,24,233,1                  ; vinsertf128   $0x1,%xmm9,%ymm10,%ymm13
+  DB  196,195,33,33,207,32                ; vinsertps     $0x20,%xmm15,%xmm11,%xmm1
+  DB  196,67,113,33,204,48                ; vinsertps     $0x30,%xmm12,%xmm1,%xmm9
+  DB  196,227,105,33,215,32               ; vinsertps     $0x20,%xmm7,%xmm2,%xmm2
+  DB  196,99,105,33,211,48                ; vinsertps     $0x30,%xmm3,%xmm2,%xmm10
+  DB  76,139,104,24                       ; mov           0x18(%rax),%r13
+  DB  196,129,122,16,92,165,0             ; vmovss        0x0(%r13,%r12,4),%xmm3
+  DB  196,67,97,33,92,157,0,16            ; vinsertps     $0x10,0x0(%r13,%rbx,4),%xmm3,%xmm11
+  DB  196,1,122,16,100,181,0              ; vmovss        0x0(%r13,%r14,4),%xmm12
+  DB  196,1,122,16,124,189,0              ; vmovss        0x0(%r13,%r15,4),%xmm15
+  DB  196,129,122,16,84,157,0             ; vmovss        0x0(%r13,%r11,4),%xmm2
+  DB  196,131,105,33,84,149,0,16          ; vinsertps     $0x10,0x0(%r13,%r10,4),%xmm2,%xmm2
+  DB  196,129,122,16,92,141,0             ; vmovss        0x0(%r13,%r9,4),%xmm3
+  DB  196,129,122,16,124,133,0            ; vmovss        0x0(%r13,%r8,4),%xmm7
+  DB  196,67,45,24,201,1                  ; vinsertf128   $0x1,%xmm9,%ymm10,%ymm9
+  DB  196,195,33,33,204,32                ; vinsertps     $0x20,%xmm12,%xmm11,%xmm1
+  DB  196,195,113,33,207,48               ; vinsertps     $0x30,%xmm15,%xmm1,%xmm1
+  DB  196,227,105,33,211,32               ; vinsertps     $0x20,%xmm3,%xmm2,%xmm2
+  DB  196,227,105,33,215,48               ; vinsertps     $0x30,%xmm7,%xmm2,%xmm2
+  DB  196,99,109,24,209,1                 ; vinsertf128   $0x1,%xmm1,%ymm2,%ymm10
+  DB  76,139,104,56                       ; mov           0x38(%rax),%r13
+  DB  196,129,122,16,76,165,0             ; vmovss        0x0(%r13,%r12,4),%xmm1
+  DB  196,67,113,33,92,157,0,16           ; vinsertps     $0x10,0x0(%r13,%rbx,4),%xmm1,%xmm11
+  DB  196,1,122,16,100,181,0              ; vmovss        0x0(%r13,%r14,4),%xmm12
+  DB  196,1,122,16,124,189,0              ; vmovss        0x0(%r13,%r15,4),%xmm15
+  DB  196,129,122,16,124,157,0            ; vmovss        0x0(%r13,%r11,4),%xmm7
+  DB  196,131,65,33,124,149,0,16          ; vinsertps     $0x10,0x0(%r13,%r10,4),%xmm7,%xmm7
+  DB  196,129,122,16,76,141,0             ; vmovss        0x0(%r13,%r9,4),%xmm1
+  DB  196,129,122,16,84,133,0             ; vmovss        0x0(%r13,%r8,4),%xmm2
+  DB  196,195,33,33,220,32                ; vinsertps     $0x20,%xmm12,%xmm11,%xmm3
+  DB  196,195,97,33,223,48                ; vinsertps     $0x30,%xmm15,%xmm3,%xmm3
+  DB  196,227,65,33,201,32                ; vinsertps     $0x20,%xmm1,%xmm7,%xmm1
+  DB  196,227,113,33,202,48               ; vinsertps     $0x30,%xmm2,%xmm1,%xmm1
+  DB  196,99,117,24,219,1                 ; vinsertf128   $0x1,%xmm3,%ymm1,%ymm11
+  DB  76,139,104,32                       ; mov           0x20(%rax),%r13
+  DB  196,129,122,16,76,165,0             ; vmovss        0x0(%r13,%r12,4),%xmm1
+  DB  196,195,113,33,76,157,0,16          ; vinsertps     $0x10,0x0(%r13,%rbx,4),%xmm1,%xmm1
+  DB  196,129,122,16,84,181,0             ; vmovss        0x0(%r13,%r14,4),%xmm2
+  DB  196,227,113,33,202,32               ; vinsertps     $0x20,%xmm2,%xmm1,%xmm1
+  DB  196,129,122,16,84,189,0             ; vmovss        0x0(%r13,%r15,4),%xmm2
+  DB  196,129,122,16,92,157,0             ; vmovss        0x0(%r13,%r11,4),%xmm3
+  DB  196,3,97,33,100,149,0,16            ; vinsertps     $0x10,0x0(%r13,%r10,4),%xmm3,%xmm12
+  DB  196,129,122,16,124,141,0            ; vmovss        0x0(%r13,%r9,4),%xmm7
+  DB  196,129,122,16,92,133,0             ; vmovss        0x0(%r13,%r8,4),%xmm3
+  DB  196,99,113,33,250,48                ; vinsertps     $0x30,%xmm2,%xmm1,%xmm15
+  DB  72,139,64,64                        ; mov           0x40(%rax),%rax
+  DB  196,161,122,16,20,160               ; vmovss        (%rax,%r12,4),%xmm2
+  DB  196,227,105,33,20,152,16            ; vinsertps     $0x10,(%rax,%rbx,4),%xmm2,%xmm2
+  DB  196,227,25,33,255,32                ; vinsertps     $0x20,%xmm7,%xmm12,%xmm7
+  DB  196,161,122,16,12,176               ; vmovss        (%rax,%r14,4),%xmm1
+  DB  196,227,65,33,219,48                ; vinsertps     $0x30,%xmm3,%xmm7,%xmm3
+  DB  196,161,122,16,60,184               ; vmovss        (%rax,%r15,4),%xmm7
+  DB  196,67,101,24,231,1                 ; vinsertf128   $0x1,%xmm15,%ymm3,%ymm12
+  DB  196,161,122,16,28,152               ; vmovss        (%rax,%r11,4),%xmm3
+  DB  196,163,97,33,28,144,16             ; vinsertps     $0x10,(%rax,%r10,4),%xmm3,%xmm3
+  DB  196,227,105,33,201,32               ; vinsertps     $0x20,%xmm1,%xmm2,%xmm1
+  DB  196,161,122,16,20,136               ; vmovss        (%rax,%r9,4),%xmm2
+  DB  196,227,113,33,207,48               ; vinsertps     $0x30,%xmm7,%xmm1,%xmm1
+  DB  196,161,122,16,60,128               ; vmovss        (%rax,%r8,4),%xmm7
+  DB  196,227,97,33,210,32                ; vinsertps     $0x20,%xmm2,%xmm3,%xmm2
+  DB  196,227,105,33,215,48               ; vinsertps     $0x30,%xmm7,%xmm2,%xmm2
+  DB  196,227,109,24,217,1                ; vinsertf128   $0x1,%xmm1,%ymm2,%ymm3
+  DB  197,188,89,200                      ; vmulps        %ymm0,%ymm8,%ymm1
+  DB  196,65,116,88,198                   ; vaddps        %ymm14,%ymm1,%ymm8
+  DB  197,148,89,200                      ; vmulps        %ymm0,%ymm13,%ymm1
+  DB  196,193,116,88,201                  ; vaddps        %ymm9,%ymm1,%ymm1
+  DB  197,172,89,208                      ; vmulps        %ymm0,%ymm10,%ymm2
+  DB  196,193,108,88,211                  ; vaddps        %ymm11,%ymm2,%ymm2
+  DB  197,156,89,192                      ; vmulps        %ymm0,%ymm12,%ymm0
+  DB  197,252,88,219                      ; vaddps        %ymm3,%ymm0,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,124,41,192                      ; vmovaps       %ymm8,%ymm0
+  DB  197,252,16,60,36                    ; vmovups       (%rsp),%ymm7
+  DB  72,131,196,48                       ; add           $0x30,%rsp
+  DB  91                                  ; pop           %rbx
+  DB  65,92                               ; pop           %r12
+  DB  65,93                               ; pop           %r13
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_evenly_spaced_2_stop_gradient_avx
+_sk_evenly_spaced_2_stop_gradient_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,8                    ; vbroadcastss  (%rax),%ymm1
+  DB  196,226,125,24,80,16                ; vbroadcastss  0x10(%rax),%ymm2
+  DB  197,244,89,200                      ; vmulps        %ymm0,%ymm1,%ymm1
+  DB  197,116,88,194                      ; vaddps        %ymm2,%ymm1,%ymm8
+  DB  196,226,125,24,72,4                 ; vbroadcastss  0x4(%rax),%ymm1
+  DB  196,226,125,24,80,20                ; vbroadcastss  0x14(%rax),%ymm2
+  DB  197,244,89,200                      ; vmulps        %ymm0,%ymm1,%ymm1
+  DB  197,244,88,202                      ; vaddps        %ymm2,%ymm1,%ymm1
+  DB  196,226,125,24,80,8                 ; vbroadcastss  0x8(%rax),%ymm2
+  DB  196,226,125,24,88,24                ; vbroadcastss  0x18(%rax),%ymm3
+  DB  197,236,89,208                      ; vmulps        %ymm0,%ymm2,%ymm2
+  DB  197,236,88,211                      ; vaddps        %ymm3,%ymm2,%ymm2
+  DB  196,226,125,24,88,12                ; vbroadcastss  0xc(%rax),%ymm3
+  DB  196,98,125,24,72,28                 ; vbroadcastss  0x1c(%rax),%ymm9
+  DB  197,228,89,192                      ; vmulps        %ymm0,%ymm3,%ymm0
+  DB  196,193,124,88,217                  ; vaddps        %ymm9,%ymm0,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,124,41,192                      ; vmovaps       %ymm8,%ymm0
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_xy_to_unit_angle_avx
+_sk_xy_to_unit_angle_avx LABEL PROC
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,60,92,200                       ; vsubps        %ymm0,%ymm8,%ymm9
+  DB  197,52,84,200                       ; vandps        %ymm0,%ymm9,%ymm9
+  DB  197,60,92,209                       ; vsubps        %ymm1,%ymm8,%ymm10
+  DB  197,44,84,209                       ; vandps        %ymm1,%ymm10,%ymm10
+  DB  196,65,52,93,218                    ; vminps        %ymm10,%ymm9,%ymm11
+  DB  196,65,52,95,226                    ; vmaxps        %ymm10,%ymm9,%ymm12
+  DB  196,65,36,94,220                    ; vdivps        %ymm12,%ymm11,%ymm11
+  DB  196,65,36,89,227                    ; vmulps        %ymm11,%ymm11,%ymm12
+  DB  196,98,125,24,45,168,59,2,0         ; vbroadcastss  0x23ba8(%rip),%ymm13        # 34c04 <_sk_srcover_bgra_8888_sse2_lowp+0x3ec>
+  DB  196,65,28,89,237                    ; vmulps        %ymm13,%ymm12,%ymm13
+  DB  196,98,125,24,53,158,59,2,0         ; vbroadcastss  0x23b9e(%rip),%ymm14        # 34c08 <_sk_srcover_bgra_8888_sse2_lowp+0x3f0>
+  DB  196,65,20,88,238                    ; vaddps        %ymm14,%ymm13,%ymm13
+  DB  196,65,28,89,237                    ; vmulps        %ymm13,%ymm12,%ymm13
+  DB  196,98,125,24,53,143,59,2,0         ; vbroadcastss  0x23b8f(%rip),%ymm14        # 34c0c <_sk_srcover_bgra_8888_sse2_lowp+0x3f4>
+  DB  196,65,20,88,238                    ; vaddps        %ymm14,%ymm13,%ymm13
+  DB  196,65,28,89,229                    ; vmulps        %ymm13,%ymm12,%ymm12
+  DB  196,98,125,24,45,128,59,2,0         ; vbroadcastss  0x23b80(%rip),%ymm13        # 34c10 <_sk_srcover_bgra_8888_sse2_lowp+0x3f8>
+  DB  196,65,28,88,229                    ; vaddps        %ymm13,%ymm12,%ymm12
+  DB  196,65,36,89,220                    ; vmulps        %ymm12,%ymm11,%ymm11
+  DB  196,65,52,194,202,1                 ; vcmpltps      %ymm10,%ymm9,%ymm9
+  DB  196,98,125,24,21,107,59,2,0         ; vbroadcastss  0x23b6b(%rip),%ymm10        # 34c14 <_sk_srcover_bgra_8888_sse2_lowp+0x3fc>
+  DB  196,65,44,92,211                    ; vsubps        %ymm11,%ymm10,%ymm10
+  DB  196,67,37,74,202,144                ; vblendvps     %ymm9,%ymm10,%ymm11,%ymm9
+  DB  196,193,124,194,192,1               ; vcmpltps      %ymm8,%ymm0,%ymm0
+  DB  196,98,125,24,21,1,58,2,0           ; vbroadcastss  0x23a01(%rip),%ymm10        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  196,65,44,92,209                    ; vsubps        %ymm9,%ymm10,%ymm10
+  DB  196,195,53,74,194,0                 ; vblendvps     %ymm0,%ymm10,%ymm9,%ymm0
+  DB  196,65,116,194,200,1                ; vcmpltps      %ymm8,%ymm1,%ymm9
+  DB  196,98,125,24,21,235,57,2,0         ; vbroadcastss  0x239eb(%rip),%ymm10        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,44,92,208                       ; vsubps        %ymm0,%ymm10,%ymm10
+  DB  196,195,125,74,194,144              ; vblendvps     %ymm9,%ymm10,%ymm0,%ymm0
+  DB  196,65,124,194,200,3                ; vcmpunordps   %ymm8,%ymm0,%ymm9
+  DB  196,195,125,74,192,144              ; vblendvps     %ymm9,%ymm8,%ymm0,%ymm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_xy_to_radius_avx
+_sk_xy_to_radius_avx LABEL PROC
+  DB  197,252,89,192                      ; vmulps        %ymm0,%ymm0,%ymm0
+  DB  197,116,89,193                      ; vmulps        %ymm1,%ymm1,%ymm8
+  DB  196,193,124,88,192                  ; vaddps        %ymm8,%ymm0,%ymm0
+  DB  197,252,81,192                      ; vsqrtps       %ymm0,%ymm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_negate_x_avx
+_sk_negate_x_avx LABEL PROC
+  DB  196,98,125,24,5,3,59,2,0            ; vbroadcastss  0x23b03(%rip),%ymm8        # 34c18 <_sk_srcover_bgra_8888_sse2_lowp+0x400>
+  DB  196,193,124,87,192                  ; vxorps        %ymm8,%ymm0,%ymm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_xy_to_2pt_conical_strip_avx
+_sk_xy_to_2pt_conical_strip_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,24,64,64                 ; vbroadcastss  0x40(%rax),%ymm8
+  DB  197,116,89,201                      ; vmulps        %ymm1,%ymm1,%ymm9
+  DB  196,65,60,92,193                    ; vsubps        %ymm9,%ymm8,%ymm8
+  DB  196,65,124,81,192                   ; vsqrtps       %ymm8,%ymm8
+  DB  197,188,88,192                      ; vaddps        %ymm0,%ymm8,%ymm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_xy_to_2pt_conical_focal_on_circle_avx
+_sk_xy_to_2pt_conical_focal_on_circle_avx LABEL PROC
+  DB  197,116,89,193                      ; vmulps        %ymm1,%ymm1,%ymm8
+  DB  197,60,94,192                       ; vdivps        %ymm0,%ymm8,%ymm8
+  DB  197,188,88,192                      ; vaddps        %ymm0,%ymm8,%ymm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_xy_to_2pt_conical_well_behaved_avx
+_sk_xy_to_2pt_conical_well_behaved_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,124,89,192                      ; vmulps        %ymm0,%ymm0,%ymm8
+  DB  197,116,89,201                      ; vmulps        %ymm1,%ymm1,%ymm9
+  DB  196,65,60,88,193                    ; vaddps        %ymm9,%ymm8,%ymm8
+  DB  196,65,124,81,192                   ; vsqrtps       %ymm8,%ymm8
+  DB  196,98,125,24,72,64                 ; vbroadcastss  0x40(%rax),%ymm9
+  DB  197,180,89,192                      ; vmulps        %ymm0,%ymm9,%ymm0
+  DB  197,188,92,192                      ; vsubps        %ymm0,%ymm8,%ymm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_xy_to_2pt_conical_greater_avx
+_sk_xy_to_2pt_conical_greater_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,124,89,192                      ; vmulps        %ymm0,%ymm0,%ymm8
+  DB  197,116,89,201                      ; vmulps        %ymm1,%ymm1,%ymm9
+  DB  196,65,60,92,193                    ; vsubps        %ymm9,%ymm8,%ymm8
+  DB  196,65,124,81,192                   ; vsqrtps       %ymm8,%ymm8
+  DB  196,98,125,24,72,64                 ; vbroadcastss  0x40(%rax),%ymm9
+  DB  197,180,89,192                      ; vmulps        %ymm0,%ymm9,%ymm0
+  DB  197,188,92,192                      ; vsubps        %ymm0,%ymm8,%ymm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_xy_to_2pt_conical_smaller_avx
+_sk_xy_to_2pt_conical_smaller_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,124,89,192                      ; vmulps        %ymm0,%ymm0,%ymm8
+  DB  197,116,89,201                      ; vmulps        %ymm1,%ymm1,%ymm9
+  DB  196,65,60,92,193                    ; vsubps        %ymm9,%ymm8,%ymm8
+  DB  196,65,124,81,192                   ; vsqrtps       %ymm8,%ymm8
+  DB  196,98,125,24,13,99,58,2,0          ; vbroadcastss  0x23a63(%rip),%ymm9        # 34c18 <_sk_srcover_bgra_8888_sse2_lowp+0x400>
+  DB  196,65,60,87,193                    ; vxorps        %ymm9,%ymm8,%ymm8
+  DB  196,98,125,24,72,64                 ; vbroadcastss  0x40(%rax),%ymm9
+  DB  197,180,89,192                      ; vmulps        %ymm0,%ymm9,%ymm0
+  DB  197,188,92,192                      ; vsubps        %ymm0,%ymm8,%ymm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_alter_2pt_conical_compensate_focal_avx
+_sk_alter_2pt_conical_compensate_focal_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,24,64,68                 ; vbroadcastss  0x44(%rax),%ymm8
+  DB  197,188,88,192                      ; vaddps        %ymm0,%ymm8,%ymm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_alter_2pt_conical_unswap_avx
+_sk_alter_2pt_conical_unswap_avx LABEL PROC
+  DB  196,98,125,24,5,227,56,2,0          ; vbroadcastss  0x238e3(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,188,92,192                      ; vsubps        %ymm0,%ymm8,%ymm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_mask_2pt_conical_nan_avx
+_sk_mask_2pt_conical_nan_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,65,52,87,201                    ; vxorps        %ymm9,%ymm9,%ymm9
+  DB  196,65,124,194,193,3                ; vcmpunordps   %ymm9,%ymm0,%ymm8
+  DB  196,67,125,74,193,128               ; vblendvps     %ymm8,%ymm9,%ymm0,%ymm8
+  DB  196,193,124,194,193,7               ; vcmpordps     %ymm9,%ymm0,%ymm0
+  DB  196,65,52,194,209,15                ; vcmptrueps    %ymm9,%ymm9,%ymm10
+  DB  196,195,53,74,194,0                 ; vblendvps     %ymm0,%ymm10,%ymm9,%ymm0
+  DB  197,252,17,0                        ; vmovups       %ymm0,(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,124,41,192                      ; vmovaps       %ymm8,%ymm0
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_mask_2pt_conical_degenerates_avx
+_sk_mask_2pt_conical_degenerates_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,65,52,87,201                    ; vxorps        %ymm9,%ymm9,%ymm9
+  DB  197,52,194,192,5                    ; vcmpnltps     %ymm0,%ymm9,%ymm8
+  DB  196,67,125,74,193,128               ; vblendvps     %ymm8,%ymm9,%ymm0,%ymm8
+  DB  197,180,194,192,1                   ; vcmpltps      %ymm0,%ymm9,%ymm0
+  DB  196,65,52,194,209,15                ; vcmptrueps    %ymm9,%ymm9,%ymm10
+  DB  196,195,53,74,194,0                 ; vblendvps     %ymm0,%ymm10,%ymm9,%ymm0
+  DB  197,252,17,0                        ; vmovups       %ymm0,(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,124,41,192                      ; vmovaps       %ymm8,%ymm0
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_apply_vector_mask_avx
+_sk_apply_vector_mask_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,124,16,0                        ; vmovups       (%rax),%ymm8
+  DB  197,188,84,192                      ; vandps        %ymm0,%ymm8,%ymm0
+  DB  197,188,84,201                      ; vandps        %ymm1,%ymm8,%ymm1
+  DB  197,188,84,210                      ; vandps        %ymm2,%ymm8,%ymm2
+  DB  197,188,84,219                      ; vandps        %ymm3,%ymm8,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_save_xy_avx
+_sk_save_xy_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,24,5,82,56,2,0           ; vbroadcastss  0x23852(%rip),%ymm8        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  196,65,124,88,200                   ; vaddps        %ymm8,%ymm0,%ymm9
+  DB  196,67,125,8,209,1                  ; vroundps      $0x1,%ymm9,%ymm10
+  DB  196,65,52,92,202                    ; vsubps        %ymm10,%ymm9,%ymm9
+  DB  196,65,116,88,192                   ; vaddps        %ymm8,%ymm1,%ymm8
+  DB  196,67,125,8,208,1                  ; vroundps      $0x1,%ymm8,%ymm10
+  DB  196,65,60,92,194                    ; vsubps        %ymm10,%ymm8,%ymm8
+  DB  197,252,17,0                        ; vmovups       %ymm0,(%rax)
+  DB  197,252,17,72,64                    ; vmovups       %ymm1,0x40(%rax)
+  DB  197,124,17,136,128,0,0,0            ; vmovups       %ymm9,0x80(%rax)
+  DB  197,124,17,128,192,0,0,0            ; vmovups       %ymm8,0xc0(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_accumulate_avx
+_sk_accumulate_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,124,16,128,0,1,0,0              ; vmovups       0x100(%rax),%ymm8
+  DB  197,60,89,128,64,1,0,0              ; vmulps        0x140(%rax),%ymm8,%ymm8
+  DB  197,60,89,200                       ; vmulps        %ymm0,%ymm8,%ymm9
+  DB  197,180,88,228                      ; vaddps        %ymm4,%ymm9,%ymm4
+  DB  197,60,89,201                       ; vmulps        %ymm1,%ymm8,%ymm9
+  DB  197,180,88,237                      ; vaddps        %ymm5,%ymm9,%ymm5
+  DB  197,60,89,202                       ; vmulps        %ymm2,%ymm8,%ymm9
+  DB  197,180,88,246                      ; vaddps        %ymm6,%ymm9,%ymm6
+  DB  197,60,89,195                       ; vmulps        %ymm3,%ymm8,%ymm8
+  DB  197,188,88,255                      ; vaddps        %ymm7,%ymm8,%ymm7
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bilinear_nx_avx
+_sk_bilinear_nx_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,5,44,57,2,0          ; vbroadcastss  0x2392c(%rip),%ymm0        # 34c1c <_sk_srcover_bgra_8888_sse2_lowp+0x404>
+  DB  197,252,88,0                        ; vaddps        (%rax),%ymm0,%ymm0
+  DB  196,98,125,24,5,203,55,2,0          ; vbroadcastss  0x237cb(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,60,92,128,128,0,0,0             ; vsubps        0x80(%rax),%ymm8,%ymm8
+  DB  197,124,17,128,0,1,0,0              ; vmovups       %ymm8,0x100(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bilinear_px_avx
+_sk_bilinear_px_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,5,168,55,2,0         ; vbroadcastss  0x237a8(%rip),%ymm0        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  197,252,88,0                        ; vaddps        (%rax),%ymm0,%ymm0
+  DB  197,124,16,128,128,0,0,0            ; vmovups       0x80(%rax),%ymm8
+  DB  197,124,17,128,0,1,0,0              ; vmovups       %ymm8,0x100(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bilinear_ny_avx
+_sk_bilinear_ny_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,13,221,56,2,0        ; vbroadcastss  0x238dd(%rip),%ymm1        # 34c1c <_sk_srcover_bgra_8888_sse2_lowp+0x404>
+  DB  197,244,88,72,64                    ; vaddps        0x40(%rax),%ymm1,%ymm1
+  DB  196,98,125,24,5,123,55,2,0          ; vbroadcastss  0x2377b(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,60,92,128,192,0,0,0             ; vsubps        0xc0(%rax),%ymm8,%ymm8
+  DB  197,124,17,128,64,1,0,0             ; vmovups       %ymm8,0x140(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bilinear_py_avx
+_sk_bilinear_py_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,13,88,55,2,0         ; vbroadcastss  0x23758(%rip),%ymm1        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  197,244,88,72,64                    ; vaddps        0x40(%rax),%ymm1,%ymm1
+  DB  197,124,16,128,192,0,0,0            ; vmovups       0xc0(%rax),%ymm8
+  DB  197,124,17,128,64,1,0,0             ; vmovups       %ymm8,0x140(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bicubic_n3x_avx
+_sk_bicubic_n3x_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,5,144,56,2,0         ; vbroadcastss  0x23890(%rip),%ymm0        # 34c20 <_sk_srcover_bgra_8888_sse2_lowp+0x408>
+  DB  197,252,88,0                        ; vaddps        (%rax),%ymm0,%ymm0
+  DB  196,98,125,24,5,43,55,2,0           ; vbroadcastss  0x2372b(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,60,92,128,128,0,0,0             ; vsubps        0x80(%rax),%ymm8,%ymm8
+  DB  196,65,60,89,200                    ; vmulps        %ymm8,%ymm8,%ymm9
+  DB  196,98,125,24,21,113,56,2,0         ; vbroadcastss  0x23871(%rip),%ymm10        # 34c24 <_sk_srcover_bgra_8888_sse2_lowp+0x40c>
+  DB  196,65,60,89,194                    ; vmulps        %ymm10,%ymm8,%ymm8
+  DB  196,98,125,24,21,123,55,2,0         ; vbroadcastss  0x2377b(%rip),%ymm10        # 34b3c <_sk_srcover_bgra_8888_sse2_lowp+0x324>
+  DB  196,65,60,88,194                    ; vaddps        %ymm10,%ymm8,%ymm8
+  DB  196,65,52,89,192                    ; vmulps        %ymm8,%ymm9,%ymm8
+  DB  197,124,17,128,0,1,0,0              ; vmovups       %ymm8,0x100(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bicubic_n1x_avx
+_sk_bicubic_n1x_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,5,58,56,2,0          ; vbroadcastss  0x2383a(%rip),%ymm0        # 34c1c <_sk_srcover_bgra_8888_sse2_lowp+0x404>
+  DB  197,252,88,0                        ; vaddps        (%rax),%ymm0,%ymm0
+  DB  196,98,125,24,5,217,54,2,0          ; vbroadcastss  0x236d9(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,60,92,128,128,0,0,0             ; vsubps        0x80(%rax),%ymm8,%ymm8
+  DB  196,98,125,24,13,44,56,2,0          ; vbroadcastss  0x2382c(%rip),%ymm9        # 34c2c <_sk_srcover_bgra_8888_sse2_lowp+0x414>
+  DB  196,65,60,89,201                    ; vmulps        %ymm9,%ymm8,%ymm9
+  DB  196,98,125,24,21,26,56,2,0          ; vbroadcastss  0x2381a(%rip),%ymm10        # 34c28 <_sk_srcover_bgra_8888_sse2_lowp+0x410>
+  DB  196,65,52,88,202                    ; vaddps        %ymm10,%ymm9,%ymm9
+  DB  196,65,60,89,201                    ; vmulps        %ymm9,%ymm8,%ymm9
+  DB  196,98,125,24,21,163,54,2,0         ; vbroadcastss  0x236a3(%rip),%ymm10        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  196,65,52,88,202                    ; vaddps        %ymm10,%ymm9,%ymm9
+  DB  196,65,60,89,193                    ; vmulps        %ymm9,%ymm8,%ymm8
+  DB  196,98,125,24,13,252,55,2,0         ; vbroadcastss  0x237fc(%rip),%ymm9        # 34c30 <_sk_srcover_bgra_8888_sse2_lowp+0x418>
+  DB  196,65,60,88,193                    ; vaddps        %ymm9,%ymm8,%ymm8
+  DB  197,124,17,128,0,1,0,0              ; vmovups       %ymm8,0x100(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bicubic_p1x_avx
+_sk_bicubic_p1x_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,24,5,116,54,2,0          ; vbroadcastss  0x23674(%rip),%ymm8        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  197,188,88,0                        ; vaddps        (%rax),%ymm8,%ymm0
+  DB  197,124,16,136,128,0,0,0            ; vmovups       0x80(%rax),%ymm9
+  DB  196,98,125,24,21,199,55,2,0         ; vbroadcastss  0x237c7(%rip),%ymm10        # 34c2c <_sk_srcover_bgra_8888_sse2_lowp+0x414>
+  DB  196,65,52,89,210                    ; vmulps        %ymm10,%ymm9,%ymm10
+  DB  196,98,125,24,29,181,55,2,0         ; vbroadcastss  0x237b5(%rip),%ymm11        # 34c28 <_sk_srcover_bgra_8888_sse2_lowp+0x410>
+  DB  196,65,44,88,211                    ; vaddps        %ymm11,%ymm10,%ymm10
+  DB  196,65,52,89,210                    ; vmulps        %ymm10,%ymm9,%ymm10
+  DB  196,65,44,88,192                    ; vaddps        %ymm8,%ymm10,%ymm8
+  DB  196,65,52,89,192                    ; vmulps        %ymm8,%ymm9,%ymm8
+  DB  196,98,125,24,13,160,55,2,0         ; vbroadcastss  0x237a0(%rip),%ymm9        # 34c30 <_sk_srcover_bgra_8888_sse2_lowp+0x418>
+  DB  196,65,60,88,193                    ; vaddps        %ymm9,%ymm8,%ymm8
+  DB  197,124,17,128,0,1,0,0              ; vmovups       %ymm8,0x100(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bicubic_p3x_avx
+_sk_bicubic_p3x_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,5,124,55,2,0         ; vbroadcastss  0x2377c(%rip),%ymm0        # 34c28 <_sk_srcover_bgra_8888_sse2_lowp+0x410>
+  DB  197,252,88,0                        ; vaddps        (%rax),%ymm0,%ymm0
+  DB  197,124,16,128,128,0,0,0            ; vmovups       0x80(%rax),%ymm8
+  DB  196,65,60,89,200                    ; vmulps        %ymm8,%ymm8,%ymm9
+  DB  196,98,125,24,21,94,55,2,0          ; vbroadcastss  0x2375e(%rip),%ymm10        # 34c24 <_sk_srcover_bgra_8888_sse2_lowp+0x40c>
+  DB  196,65,60,89,194                    ; vmulps        %ymm10,%ymm8,%ymm8
+  DB  196,98,125,24,21,104,54,2,0         ; vbroadcastss  0x23668(%rip),%ymm10        # 34b3c <_sk_srcover_bgra_8888_sse2_lowp+0x324>
+  DB  196,65,60,88,194                    ; vaddps        %ymm10,%ymm8,%ymm8
+  DB  196,65,52,89,192                    ; vmulps        %ymm8,%ymm9,%ymm8
+  DB  197,124,17,128,0,1,0,0              ; vmovups       %ymm8,0x100(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bicubic_n3y_avx
+_sk_bicubic_n3y_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,13,43,55,2,0         ; vbroadcastss  0x2372b(%rip),%ymm1        # 34c20 <_sk_srcover_bgra_8888_sse2_lowp+0x408>
+  DB  197,244,88,72,64                    ; vaddps        0x40(%rax),%ymm1,%ymm1
+  DB  196,98,125,24,5,197,53,2,0          ; vbroadcastss  0x235c5(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,60,92,128,192,0,0,0             ; vsubps        0xc0(%rax),%ymm8,%ymm8
+  DB  196,65,60,89,200                    ; vmulps        %ymm8,%ymm8,%ymm9
+  DB  196,98,125,24,21,11,55,2,0          ; vbroadcastss  0x2370b(%rip),%ymm10        # 34c24 <_sk_srcover_bgra_8888_sse2_lowp+0x40c>
+  DB  196,65,60,89,194                    ; vmulps        %ymm10,%ymm8,%ymm8
+  DB  196,98,125,24,21,21,54,2,0          ; vbroadcastss  0x23615(%rip),%ymm10        # 34b3c <_sk_srcover_bgra_8888_sse2_lowp+0x324>
+  DB  196,65,60,88,194                    ; vaddps        %ymm10,%ymm8,%ymm8
+  DB  196,65,52,89,192                    ; vmulps        %ymm8,%ymm9,%ymm8
+  DB  197,124,17,128,64,1,0,0             ; vmovups       %ymm8,0x140(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bicubic_n1y_avx
+_sk_bicubic_n1y_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,13,212,54,2,0        ; vbroadcastss  0x236d4(%rip),%ymm1        # 34c1c <_sk_srcover_bgra_8888_sse2_lowp+0x404>
+  DB  197,244,88,72,64                    ; vaddps        0x40(%rax),%ymm1,%ymm1
+  DB  196,98,125,24,5,114,53,2,0          ; vbroadcastss  0x23572(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,60,92,128,192,0,0,0             ; vsubps        0xc0(%rax),%ymm8,%ymm8
+  DB  196,98,125,24,13,197,54,2,0         ; vbroadcastss  0x236c5(%rip),%ymm9        # 34c2c <_sk_srcover_bgra_8888_sse2_lowp+0x414>
+  DB  196,65,60,89,201                    ; vmulps        %ymm9,%ymm8,%ymm9
+  DB  196,98,125,24,21,179,54,2,0         ; vbroadcastss  0x236b3(%rip),%ymm10        # 34c28 <_sk_srcover_bgra_8888_sse2_lowp+0x410>
+  DB  196,65,52,88,202                    ; vaddps        %ymm10,%ymm9,%ymm9
+  DB  196,65,60,89,201                    ; vmulps        %ymm9,%ymm8,%ymm9
+  DB  196,98,125,24,21,60,53,2,0          ; vbroadcastss  0x2353c(%rip),%ymm10        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  196,65,52,88,202                    ; vaddps        %ymm10,%ymm9,%ymm9
+  DB  196,65,60,89,193                    ; vmulps        %ymm9,%ymm8,%ymm8
+  DB  196,98,125,24,13,149,54,2,0         ; vbroadcastss  0x23695(%rip),%ymm9        # 34c30 <_sk_srcover_bgra_8888_sse2_lowp+0x418>
+  DB  196,65,60,88,193                    ; vaddps        %ymm9,%ymm8,%ymm8
+  DB  197,124,17,128,64,1,0,0             ; vmovups       %ymm8,0x140(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bicubic_p1y_avx
+_sk_bicubic_p1y_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,24,5,13,53,2,0           ; vbroadcastss  0x2350d(%rip),%ymm8        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  197,188,88,72,64                    ; vaddps        0x40(%rax),%ymm8,%ymm1
+  DB  197,124,16,136,192,0,0,0            ; vmovups       0xc0(%rax),%ymm9
+  DB  196,98,125,24,21,95,54,2,0          ; vbroadcastss  0x2365f(%rip),%ymm10        # 34c2c <_sk_srcover_bgra_8888_sse2_lowp+0x414>
+  DB  196,65,52,89,210                    ; vmulps        %ymm10,%ymm9,%ymm10
+  DB  196,98,125,24,29,77,54,2,0          ; vbroadcastss  0x2364d(%rip),%ymm11        # 34c28 <_sk_srcover_bgra_8888_sse2_lowp+0x410>
+  DB  196,65,44,88,211                    ; vaddps        %ymm11,%ymm10,%ymm10
+  DB  196,65,52,89,210                    ; vmulps        %ymm10,%ymm9,%ymm10
+  DB  196,65,44,88,192                    ; vaddps        %ymm8,%ymm10,%ymm8
+  DB  196,65,52,89,192                    ; vmulps        %ymm8,%ymm9,%ymm8
+  DB  196,98,125,24,13,56,54,2,0          ; vbroadcastss  0x23638(%rip),%ymm9        # 34c30 <_sk_srcover_bgra_8888_sse2_lowp+0x418>
+  DB  196,65,60,88,193                    ; vaddps        %ymm9,%ymm8,%ymm8
+  DB  197,124,17,128,64,1,0,0             ; vmovups       %ymm8,0x140(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bicubic_p3y_avx
+_sk_bicubic_p3y_avx LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,13,20,54,2,0         ; vbroadcastss  0x23614(%rip),%ymm1        # 34c28 <_sk_srcover_bgra_8888_sse2_lowp+0x410>
+  DB  197,244,88,72,64                    ; vaddps        0x40(%rax),%ymm1,%ymm1
+  DB  197,124,16,128,192,0,0,0            ; vmovups       0xc0(%rax),%ymm8
+  DB  196,65,60,89,200                    ; vmulps        %ymm8,%ymm8,%ymm9
+  DB  196,98,125,24,21,245,53,2,0         ; vbroadcastss  0x235f5(%rip),%ymm10        # 34c24 <_sk_srcover_bgra_8888_sse2_lowp+0x40c>
+  DB  196,65,60,89,194                    ; vmulps        %ymm10,%ymm8,%ymm8
+  DB  196,98,125,24,21,255,52,2,0         ; vbroadcastss  0x234ff(%rip),%ymm10        # 34b3c <_sk_srcover_bgra_8888_sse2_lowp+0x324>
+  DB  196,65,60,88,194                    ; vaddps        %ymm10,%ymm8,%ymm8
+  DB  196,65,52,89,192                    ; vmulps        %ymm8,%ymm9,%ymm8
+  DB  197,124,17,128,64,1,0,0             ; vmovups       %ymm8,0x140(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_callback_avx
+_sk_callback_avx LABEL PROC
+  DB  85                                  ; push          %rbp
+  DB  72,137,229                          ; mov           %rsp,%rbp
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  83                                  ; push          %rbx
+  DB  72,131,228,224                      ; and           $0xffffffffffffffe0,%rsp
+  DB  72,129,236,192,0,0,0                ; sub           $0xc0,%rsp
+  DB  197,252,41,188,36,128,0,0,0         ; vmovaps       %ymm7,0x80(%rsp)
+  DB  197,252,41,116,36,96                ; vmovaps       %ymm6,0x60(%rsp)
+  DB  197,252,41,108,36,64                ; vmovaps       %ymm5,0x40(%rsp)
+  DB  197,252,41,100,36,32                ; vmovaps       %ymm4,0x20(%rsp)
+  DB  73,137,206                          ; mov           %rcx,%r14
+  DB  73,137,215                          ; mov           %rdx,%r15
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  72,137,195                          ; mov           %rax,%rbx
+  DB  197,252,20,225                      ; vunpcklps     %ymm1,%ymm0,%ymm4
+  DB  197,252,21,193                      ; vunpckhps     %ymm1,%ymm0,%ymm0
+  DB  197,236,20,203                      ; vunpcklps     %ymm3,%ymm2,%ymm1
+  DB  197,236,21,211                      ; vunpckhps     %ymm3,%ymm2,%ymm2
+  DB  197,221,20,217                      ; vunpcklpd     %ymm1,%ymm4,%ymm3
+  DB  197,221,21,201                      ; vunpckhpd     %ymm1,%ymm4,%ymm1
+  DB  197,253,20,226                      ; vunpcklpd     %ymm2,%ymm0,%ymm4
+  DB  197,253,21,194                      ; vunpckhpd     %ymm2,%ymm0,%ymm0
+  DB  196,227,101,24,209,1                ; vinsertf128   $0x1,%xmm1,%ymm3,%ymm2
+  DB  196,227,93,24,232,1                 ; vinsertf128   $0x1,%xmm0,%ymm4,%ymm5
+  DB  196,227,101,6,201,49                ; vperm2f128    $0x31,%ymm1,%ymm3,%ymm1
+  DB  196,227,93,6,192,49                 ; vperm2f128    $0x31,%ymm0,%ymm4,%ymm0
+  DB  197,252,17,83,8                     ; vmovups       %ymm2,0x8(%rbx)
+  DB  197,252,17,107,40                   ; vmovups       %ymm5,0x28(%rbx)
+  DB  197,253,17,75,72                    ; vmovupd       %ymm1,0x48(%rbx)
+  DB  197,253,17,67,104                   ; vmovupd       %ymm0,0x68(%rbx)
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  186,8,0,0,0                         ; mov           $0x8,%edx
+  DB  15,69,215                           ; cmovne        %edi,%edx
+  DB  72,137,217                          ; mov           %rbx,%rcx
+  DB  197,248,119                         ; vzeroupper
+  DB  255,19                              ; callq         *(%rbx)
+  DB  72,139,131,8,1,0,0                  ; mov           0x108(%rbx),%rax
+  DB  197,248,16,0                        ; vmovups       (%rax),%xmm0
+  DB  197,248,16,72,16                    ; vmovups       0x10(%rax),%xmm1
+  DB  197,248,16,80,32                    ; vmovups       0x20(%rax),%xmm2
+  DB  197,248,16,88,48                    ; vmovups       0x30(%rax),%xmm3
+  DB  196,227,101,24,88,112,1             ; vinsertf128   $0x1,0x70(%rax),%ymm3,%ymm3
+  DB  196,227,109,24,80,96,1              ; vinsertf128   $0x1,0x60(%rax),%ymm2,%ymm2
+  DB  196,227,117,24,72,80,1              ; vinsertf128   $0x1,0x50(%rax),%ymm1,%ymm1
+  DB  196,227,125,24,64,64,1              ; vinsertf128   $0x1,0x40(%rax),%ymm0,%ymm0
+  DB  197,252,20,225                      ; vunpcklps     %ymm1,%ymm0,%ymm4
+  DB  197,252,21,233                      ; vunpckhps     %ymm1,%ymm0,%ymm5
+  DB  197,236,20,203                      ; vunpcklps     %ymm3,%ymm2,%ymm1
+  DB  197,236,21,219                      ; vunpckhps     %ymm3,%ymm2,%ymm3
+  DB  197,221,20,193                      ; vunpcklpd     %ymm1,%ymm4,%ymm0
+  DB  197,221,21,201                      ; vunpckhpd     %ymm1,%ymm4,%ymm1
+  DB  197,213,20,211                      ; vunpcklpd     %ymm3,%ymm5,%ymm2
+  DB  197,213,21,219                      ; vunpckhpd     %ymm3,%ymm5,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,137,250                          ; mov           %r15,%rdx
+  DB  76,137,241                          ; mov           %r14,%rcx
+  DB  197,252,40,100,36,32                ; vmovaps       0x20(%rsp),%ymm4
+  DB  197,252,40,108,36,64                ; vmovaps       0x40(%rsp),%ymm5
+  DB  197,252,40,116,36,96                ; vmovaps       0x60(%rsp),%ymm6
+  DB  197,252,40,188,36,128,0,0,0         ; vmovaps       0x80(%rsp),%ymm7
+  DB  72,141,101,232                      ; lea           -0x18(%rbp),%rsp
+  DB  91                                  ; pop           %rbx
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  93                                  ; pop           %rbp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_clut_3D_avx
+_sk_clut_3D_avx LABEL PROC
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,84                               ; push          %r12
+  DB  83                                  ; push          %rbx
+  DB  72,129,236,88,2,0,0                 ; sub           $0x258,%rsp
+  DB  197,252,17,188,36,32,2,0,0          ; vmovups       %ymm7,0x220(%rsp)
+  DB  197,252,17,180,36,0,2,0,0           ; vmovups       %ymm6,0x200(%rsp)
+  DB  197,252,17,172,36,224,1,0,0         ; vmovups       %ymm5,0x1e0(%rsp)
+  DB  197,252,17,164,36,192,1,0,0         ; vmovups       %ymm4,0x1c0(%rsp)
+  DB  197,252,17,156,36,160,1,0,0         ; vmovups       %ymm3,0x1a0(%rsp)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  68,139,64,16                        ; mov           0x10(%rax),%r8d
+  DB  69,141,72,255                       ; lea           -0x1(%r8),%r9d
+  DB  196,193,121,110,217                 ; vmovd         %r9d,%xmm3
+  DB  197,249,112,219,0                   ; vpshufd       $0x0,%xmm3,%xmm3
+  DB  196,227,101,24,219,1                ; vinsertf128   $0x1,%xmm3,%ymm3,%ymm3
+  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
+  DB  197,228,89,210                      ; vmulps        %ymm2,%ymm3,%ymm2
+  DB  197,252,17,148,36,64,1,0,0          ; vmovups       %ymm2,0x140(%rsp)
+  DB  197,254,91,218                      ; vcvttps2dq    %ymm2,%ymm3
+  DB  68,139,72,12                        ; mov           0xc(%rax),%r9d
+  DB  69,141,81,255                       ; lea           -0x1(%r9),%r10d
+  DB  196,193,121,110,210                 ; vmovd         %r10d,%xmm2
+  DB  197,249,112,210,0                   ; vpshufd       $0x0,%xmm2,%xmm2
+  DB  196,227,109,24,210,1                ; vinsertf128   $0x1,%xmm2,%ymm2,%ymm2
+  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
+  DB  197,236,89,201                      ; vmulps        %ymm1,%ymm2,%ymm1
+  DB  197,252,17,76,36,64                 ; vmovups       %ymm1,0x40(%rsp)
+  DB  197,254,91,225                      ; vcvttps2dq    %ymm1,%ymm4
+  DB  196,193,121,110,200                 ; vmovd         %r8d,%xmm1
+  DB  197,121,112,201,0                   ; vpshufd       $0x0,%xmm1,%xmm9
+  DB  196,227,125,25,226,1                ; vextractf128  $0x1,%ymm4,%xmm2
+  DB  197,253,111,244                     ; vmovdqa       %ymm4,%ymm6
+  DB  197,254,127,180,36,192,0,0,0        ; vmovdqu       %ymm6,0xc0(%rsp)
+  DB  196,226,49,64,226                   ; vpmulld       %xmm2,%xmm9,%xmm4
+  DB  197,249,127,164,36,16,1,0,0         ; vmovdqa       %xmm4,0x110(%rsp)
+  DB  196,227,125,25,223,1                ; vextractf128  $0x1,%ymm3,%xmm7
+  DB  197,249,127,124,36,96               ; vmovdqa       %xmm7,0x60(%rsp)
+  DB  197,253,111,235                     ; vmovdqa       %ymm3,%ymm5
+  DB  197,254,127,172,36,32,1,0,0         ; vmovdqu       %ymm5,0x120(%rsp)
+  DB  196,193,121,110,209                 ; vmovd         %r9d,%xmm2
+  DB  196,226,105,64,201                  ; vpmulld       %xmm1,%xmm2,%xmm1
+  DB  197,249,112,217,0                   ; vpshufd       $0x0,%xmm1,%xmm3
+  DB  68,139,64,8                         ; mov           0x8(%rax),%r8d
+  DB  65,255,200                          ; dec           %r8d
+  DB  196,193,121,110,200                 ; vmovd         %r8d,%xmm1
+  DB  197,249,112,201,0                   ; vpshufd       $0x0,%xmm1,%xmm1
+  DB  196,227,117,24,201,1                ; vinsertf128   $0x1,%xmm1,%ymm1,%ymm1
+  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
+  DB  197,116,89,232                      ; vmulps        %ymm0,%ymm1,%ymm13
+  DB  196,65,126,91,221                   ; vcvttps2dq    %ymm13,%ymm11
+  DB  196,99,125,25,216,1                 ; vextractf128  $0x1,%ymm11,%xmm0
+  DB  196,226,97,64,192                   ; vpmulld       %xmm0,%xmm3,%xmm0
+  DB  197,249,127,68,36,48                ; vmovdqa       %xmm0,0x30(%rsp)
+  DB  72,139,0                            ; mov           (%rax),%rax
+  DB  197,217,254,207                     ; vpaddd        %xmm7,%xmm4,%xmm1
+  DB  197,249,254,193                     ; vpaddd        %xmm1,%xmm0,%xmm0
+  DB  196,226,121,24,37,151,51,2,0        ; vbroadcastss  0x23397(%rip),%xmm4        # 34c38 <_sk_srcover_bgra_8888_sse2_lowp+0x420>
+  DB  196,98,121,64,228                   ; vpmulld       %xmm4,%xmm0,%xmm12
+  DB  196,226,49,64,198                   ; vpmulld       %xmm6,%xmm9,%xmm0
+  DB  197,249,127,132,36,0,1,0,0          ; vmovdqa       %xmm0,0x100(%rsp)
+  DB  197,249,254,197                     ; vpaddd        %xmm5,%xmm0,%xmm0
+  DB  196,194,97,64,211                   ; vpmulld       %xmm11,%xmm3,%xmm2
+  DB  197,249,127,84,36,32                ; vmovdqa       %xmm2,0x20(%rsp)
+  DB  197,233,254,208                     ; vpaddd        %xmm0,%xmm2,%xmm2
+  DB  196,226,105,64,212                  ; vpmulld       %xmm4,%xmm2,%xmm2
+  DB  196,193,121,126,208                 ; vmovd         %xmm2,%r8d
+  DB  196,195,121,22,209,1                ; vpextrd       $0x1,%xmm2,%r9d
+  DB  196,195,121,22,210,2                ; vpextrd       $0x2,%xmm2,%r10d
+  DB  196,195,121,22,211,3                ; vpextrd       $0x3,%xmm2,%r11d
+  DB  196,65,121,126,231                  ; vmovd         %xmm12,%r15d
+  DB  196,67,121,22,230,1                 ; vpextrd       $0x1,%xmm12,%r14d
+  DB  196,67,121,22,228,2                 ; vpextrd       $0x2,%xmm12,%r12d
+  DB  196,99,121,22,227,3                 ; vpextrd       $0x3,%xmm12,%ebx
+  DB  196,161,122,16,44,184               ; vmovss        (%rax,%r15,4),%xmm5
+  DB  196,163,81,33,44,176,16             ; vinsertps     $0x10,(%rax,%r14,4),%xmm5,%xmm5
+  DB  196,163,81,33,44,160,32             ; vinsertps     $0x20,(%rax,%r12,4),%xmm5,%xmm5
+  DB  196,227,81,33,44,152,48             ; vinsertps     $0x30,(%rax,%rbx,4),%xmm5,%xmm5
+  DB  196,161,122,16,52,128               ; vmovss        (%rax,%r8,4),%xmm6
+  DB  196,163,73,33,52,136,16             ; vinsertps     $0x10,(%rax,%r9,4),%xmm6,%xmm6
+  DB  196,163,73,33,52,144,32             ; vinsertps     $0x20,(%rax,%r10,4),%xmm6,%xmm6
+  DB  196,163,73,33,52,152,48             ; vinsertps     $0x30,(%rax,%r11,4),%xmm6,%xmm6
+  DB  196,99,77,24,245,1                  ; vinsertf128   $0x1,%xmm5,%ymm6,%ymm14
+  DB  197,201,118,246                     ; vpcmpeqd      %xmm6,%xmm6,%xmm6
+  DB  197,233,250,238                     ; vpsubd        %xmm6,%xmm2,%xmm5
+  DB  196,195,249,22,232,1                ; vpextrq       $0x1,%xmm5,%r8
+  DB  196,193,249,126,233                 ; vmovq         %xmm5,%r9
+  DB  197,153,250,238                     ; vpsubd        %xmm6,%xmm12,%xmm5
+  DB  196,195,249,22,234,1                ; vpextrq       $0x1,%xmm5,%r10
+  DB  196,225,249,126,235                 ; vmovq         %xmm5,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,44,152               ; vmovss        (%rax,%r11,4),%xmm5
+  DB  196,227,81,33,44,152,16             ; vinsertps     $0x10,(%rax,%rbx,4),%xmm5,%xmm5
+  DB  196,161,122,16,52,176               ; vmovss        (%rax,%r14,4),%xmm6
+  DB  196,227,81,33,238,32                ; vinsertps     $0x20,%xmm6,%xmm5,%xmm5
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,52,144               ; vmovss        (%rax,%r10,4),%xmm6
+  DB  196,227,81,33,238,48                ; vinsertps     $0x30,%xmm6,%xmm5,%xmm5
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,52,152                   ; vmovss        (%rax,%rbx,4),%xmm6
+  DB  196,163,73,33,52,136,16             ; vinsertps     $0x10,(%rax,%r9,4),%xmm6,%xmm6
+  DB  196,161,122,16,60,144               ; vmovss        (%rax,%r10,4),%xmm7
+  DB  196,227,73,33,247,32                ; vinsertps     $0x20,%xmm7,%xmm6,%xmm6
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,60,128               ; vmovss        (%rax,%r8,4),%xmm7
+  DB  196,227,73,33,247,48                ; vinsertps     $0x30,%xmm7,%xmm6,%xmm6
+  DB  196,227,77,24,237,1                 ; vinsertf128   $0x1,%xmm5,%ymm6,%ymm5
+  DB  196,98,121,24,21,8,49,2,0           ; vbroadcastss  0x23108(%rip),%xmm10        # 34ad4 <_sk_srcover_bgra_8888_sse2_lowp+0x2bc>
+  DB  196,193,105,254,210                 ; vpaddd        %xmm10,%xmm2,%xmm2
+  DB  196,195,249,22,208,1                ; vpextrq       $0x1,%xmm2,%r8
+  DB  196,193,249,126,209                 ; vmovq         %xmm2,%r9
+  DB  196,193,25,254,210                  ; vpaddd        %xmm10,%xmm12,%xmm2
+  DB  196,195,249,22,210,1                ; vpextrq       $0x1,%xmm2,%r10
+  DB  196,225,249,126,211                 ; vmovq         %xmm2,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,20,152               ; vmovss        (%rax,%r11,4),%xmm2
+  DB  196,227,105,33,20,152,16            ; vinsertps     $0x10,(%rax,%rbx,4),%xmm2,%xmm2
+  DB  196,161,122,16,52,176               ; vmovss        (%rax,%r14,4),%xmm6
+  DB  196,227,105,33,214,32               ; vinsertps     $0x20,%xmm6,%xmm2,%xmm2
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,52,144               ; vmovss        (%rax,%r10,4),%xmm6
+  DB  196,227,105,33,214,48               ; vinsertps     $0x30,%xmm6,%xmm2,%xmm2
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,52,152                   ; vmovss        (%rax,%rbx,4),%xmm6
+  DB  196,163,73,33,52,136,16             ; vinsertps     $0x10,(%rax,%r9,4),%xmm6,%xmm6
+  DB  196,161,122,16,60,144               ; vmovss        (%rax,%r10,4),%xmm7
+  DB  196,227,73,33,247,32                ; vinsertps     $0x20,%xmm7,%xmm6,%xmm6
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,60,128               ; vmovss        (%rax,%r8,4),%xmm7
+  DB  196,227,73,33,247,48                ; vinsertps     $0x30,%xmm7,%xmm6,%xmm6
+  DB  196,227,77,24,210,1                 ; vinsertf128   $0x1,%xmm2,%ymm6,%ymm2
+  DB  196,226,125,24,61,212,49,2,0        ; vbroadcastss  0x231d4(%rip),%ymm7        # 34c34 <_sk_srcover_bgra_8888_sse2_lowp+0x41c>
+  DB  197,148,88,247                      ; vaddps        %ymm7,%ymm13,%ymm6
+  DB  197,124,40,231                      ; vmovaps       %ymm7,%ymm12
+  DB  197,124,17,164,36,128,0,0,0         ; vmovups       %ymm12,0x80(%rsp)
+  DB  197,254,91,246                      ; vcvttps2dq    %ymm6,%ymm6
+  DB  196,227,125,25,247,1                ; vextractf128  $0x1,%ymm6,%xmm7
+  DB  196,226,97,64,255                   ; vpmulld       %xmm7,%xmm3,%xmm7
+  DB  197,249,127,124,36,16               ; vmovdqa       %xmm7,0x10(%rsp)
+  DB  196,226,97,64,222                   ; vpmulld       %xmm6,%xmm3,%xmm3
+  DB  197,249,127,28,36                   ; vmovdqa       %xmm3,(%rsp)
+  DB  197,225,254,192                     ; vpaddd        %xmm0,%xmm3,%xmm0
+  DB  197,193,254,201                     ; vpaddd        %xmm1,%xmm7,%xmm1
+  DB  196,226,113,64,204                  ; vpmulld       %xmm4,%xmm1,%xmm1
+  DB  196,226,121,64,220                  ; vpmulld       %xmm4,%xmm0,%xmm3
+  DB  196,193,121,126,217                 ; vmovd         %xmm3,%r9d
+  DB  196,195,121,22,216,1                ; vpextrd       $0x1,%xmm3,%r8d
+  DB  196,195,121,22,218,2                ; vpextrd       $0x2,%xmm3,%r10d
+  DB  196,195,121,22,219,3                ; vpextrd       $0x3,%xmm3,%r11d
+  DB  196,193,121,126,207                 ; vmovd         %xmm1,%r15d
+  DB  196,195,121,22,206,1                ; vpextrd       $0x1,%xmm1,%r14d
+  DB  196,195,121,22,204,2                ; vpextrd       $0x2,%xmm1,%r12d
+  DB  196,227,121,22,203,3                ; vpextrd       $0x3,%xmm1,%ebx
+  DB  196,161,122,16,4,184                ; vmovss        (%rax,%r15,4),%xmm0
+  DB  196,163,121,33,4,176,16             ; vinsertps     $0x10,(%rax,%r14,4),%xmm0,%xmm0
+  DB  196,163,121,33,4,160,32             ; vinsertps     $0x20,(%rax,%r12,4),%xmm0,%xmm0
+  DB  196,227,121,33,4,152,48             ; vinsertps     $0x30,(%rax,%rbx,4),%xmm0,%xmm0
+  DB  196,161,122,16,52,136               ; vmovss        (%rax,%r9,4),%xmm6
+  DB  196,163,73,33,52,128,16             ; vinsertps     $0x10,(%rax,%r8,4),%xmm6,%xmm6
+  DB  196,163,73,33,52,144,32             ; vinsertps     $0x20,(%rax,%r10,4),%xmm6,%xmm6
+  DB  196,163,73,33,52,152,48             ; vinsertps     $0x30,(%rax,%r11,4),%xmm6,%xmm6
+  DB  196,99,77,24,192,1                  ; vinsertf128   $0x1,%xmm0,%ymm6,%ymm8
+  DB  197,201,118,246                     ; vpcmpeqd      %xmm6,%xmm6,%xmm6
+  DB  197,225,250,198                     ; vpsubd        %xmm6,%xmm3,%xmm0
+  DB  196,195,249,22,192,1                ; vpextrq       $0x1,%xmm0,%r8
+  DB  196,193,249,126,193                 ; vmovq         %xmm0,%r9
+  DB  197,241,250,198                     ; vpsubd        %xmm6,%xmm1,%xmm0
+  DB  196,195,249,22,194,1                ; vpextrq       $0x1,%xmm0,%r10
+  DB  196,225,249,126,195                 ; vmovq         %xmm0,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,4,152                ; vmovss        (%rax,%r11,4),%xmm0
+  DB  196,227,121,33,4,152,16             ; vinsertps     $0x10,(%rax,%rbx,4),%xmm0,%xmm0
+  DB  196,161,122,16,60,176               ; vmovss        (%rax,%r14,4),%xmm7
+  DB  196,227,121,33,199,32               ; vinsertps     $0x20,%xmm7,%xmm0,%xmm0
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,60,144               ; vmovss        (%rax,%r10,4),%xmm7
+  DB  196,227,121,33,199,48               ; vinsertps     $0x30,%xmm7,%xmm0,%xmm0
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,60,152                   ; vmovss        (%rax,%rbx,4),%xmm7
+  DB  196,163,65,33,60,136,16             ; vinsertps     $0x10,(%rax,%r9,4),%xmm7,%xmm7
+  DB  196,33,122,16,60,144                ; vmovss        (%rax,%r10,4),%xmm15
+  DB  196,195,65,33,255,32                ; vinsertps     $0x20,%xmm15,%xmm7,%xmm7
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,52,128               ; vmovss        (%rax,%r8,4),%xmm6
+  DB  196,227,65,33,246,48                ; vinsertps     $0x30,%xmm6,%xmm7,%xmm6
+  DB  196,227,77,24,192,1                 ; vinsertf128   $0x1,%xmm0,%ymm6,%ymm0
+  DB  196,193,97,254,218                  ; vpaddd        %xmm10,%xmm3,%xmm3
+  DB  196,195,249,22,216,1                ; vpextrq       $0x1,%xmm3,%r8
+  DB  196,193,249,126,217                 ; vmovq         %xmm3,%r9
+  DB  196,193,113,254,202                 ; vpaddd        %xmm10,%xmm1,%xmm1
+  DB  196,195,249,22,202,1                ; vpextrq       $0x1,%xmm1,%r10
+  DB  196,225,249,126,203                 ; vmovq         %xmm1,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,12,152               ; vmovss        (%rax,%r11,4),%xmm1
+  DB  196,227,113,33,12,152,16            ; vinsertps     $0x10,(%rax,%rbx,4),%xmm1,%xmm1
+  DB  196,161,122,16,28,176               ; vmovss        (%rax,%r14,4),%xmm3
+  DB  196,227,113,33,203,32               ; vinsertps     $0x20,%xmm3,%xmm1,%xmm1
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,28,144               ; vmovss        (%rax,%r10,4),%xmm3
+  DB  196,227,113,33,203,48               ; vinsertps     $0x30,%xmm3,%xmm1,%xmm1
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,28,152                   ; vmovss        (%rax,%rbx,4),%xmm3
+  DB  196,163,97,33,28,136,16             ; vinsertps     $0x10,(%rax,%r9,4),%xmm3,%xmm3
+  DB  196,161,122,16,52,144               ; vmovss        (%rax,%r10,4),%xmm6
+  DB  196,227,97,33,222,32                ; vinsertps     $0x20,%xmm6,%xmm3,%xmm3
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,52,128               ; vmovss        (%rax,%r8,4),%xmm6
+  DB  196,227,97,33,222,48                ; vinsertps     $0x30,%xmm6,%xmm3,%xmm3
+  DB  196,227,101,24,201,1                ; vinsertf128   $0x1,%xmm1,%ymm3,%ymm1
+  DB  196,193,124,91,219                  ; vcvtdq2ps     %ymm11,%ymm3
+  DB  197,20,92,219                       ; vsubps        %ymm3,%ymm13,%ymm11
+  DB  196,193,60,92,222                   ; vsubps        %ymm14,%ymm8,%ymm3
+  DB  197,164,89,219                      ; vmulps        %ymm3,%ymm11,%ymm3
+  DB  197,140,88,219                      ; vaddps        %ymm3,%ymm14,%ymm3
+  DB  197,252,17,156,36,96,1,0,0          ; vmovups       %ymm3,0x160(%rsp)
+  DB  197,252,92,197                      ; vsubps        %ymm5,%ymm0,%ymm0
+  DB  197,164,89,192                      ; vmulps        %ymm0,%ymm11,%ymm0
+  DB  197,212,88,192                      ; vaddps        %ymm0,%ymm5,%ymm0
+  DB  197,252,17,132,36,160,0,0,0         ; vmovups       %ymm0,0xa0(%rsp)
+  DB  197,244,92,194                      ; vsubps        %ymm2,%ymm1,%ymm0
+  DB  197,164,89,192                      ; vmulps        %ymm0,%ymm11,%ymm0
+  DB  197,236,88,192                      ; vaddps        %ymm0,%ymm2,%ymm0
+  DB  197,252,17,132,36,128,1,0,0         ; vmovups       %ymm0,0x180(%rsp)
+  DB  197,156,88,68,36,64                 ; vaddps        0x40(%rsp),%ymm12,%ymm0
+  DB  197,254,91,192                      ; vcvttps2dq    %ymm0,%ymm0
+  DB  196,226,49,64,200                   ; vpmulld       %xmm0,%xmm9,%xmm1
+  DB  197,249,127,140,36,224,0,0,0        ; vmovdqa       %xmm1,0xe0(%rsp)
+  DB  196,227,125,25,192,1                ; vextractf128  $0x1,%ymm0,%xmm0
+  DB  196,226,49,64,192                   ; vpmulld       %xmm0,%xmm9,%xmm0
+  DB  197,249,127,132,36,240,0,0,0        ; vmovdqa       %xmm0,0xf0(%rsp)
+  DB  197,249,254,116,36,96               ; vpaddd        0x60(%rsp),%xmm0,%xmm6
+  DB  197,121,111,100,36,48               ; vmovdqa       0x30(%rsp),%xmm12
+  DB  196,193,73,254,196                  ; vpaddd        %xmm12,%xmm6,%xmm0
+  DB  196,98,121,64,196                   ; vpmulld       %xmm4,%xmm0,%xmm8
+  DB  197,241,254,140,36,32,1,0,0         ; vpaddd        0x120(%rsp),%xmm1,%xmm1
+  DB  197,249,111,108,36,32               ; vmovdqa       0x20(%rsp),%xmm5
+  DB  197,241,254,197                     ; vpaddd        %xmm5,%xmm1,%xmm0
+  DB  196,226,121,64,196                  ; vpmulld       %xmm4,%xmm0,%xmm0
+  DB  196,193,121,126,193                 ; vmovd         %xmm0,%r9d
+  DB  196,195,121,22,192,1                ; vpextrd       $0x1,%xmm0,%r8d
+  DB  196,195,121,22,194,2                ; vpextrd       $0x2,%xmm0,%r10d
+  DB  196,195,121,22,195,3                ; vpextrd       $0x3,%xmm0,%r11d
+  DB  196,65,121,126,199                  ; vmovd         %xmm8,%r15d
+  DB  196,67,121,22,198,1                 ; vpextrd       $0x1,%xmm8,%r14d
+  DB  196,67,121,22,196,2                 ; vpextrd       $0x2,%xmm8,%r12d
+  DB  196,99,121,22,195,3                 ; vpextrd       $0x3,%xmm8,%ebx
+  DB  196,161,122,16,60,184               ; vmovss        (%rax,%r15,4),%xmm7
+  DB  196,163,65,33,60,176,16             ; vinsertps     $0x10,(%rax,%r14,4),%xmm7,%xmm7
+  DB  196,163,65,33,60,160,32             ; vinsertps     $0x20,(%rax,%r12,4),%xmm7,%xmm7
+  DB  196,227,65,33,60,152,48             ; vinsertps     $0x30,(%rax,%rbx,4),%xmm7,%xmm7
+  DB  196,161,122,16,20,136               ; vmovss        (%rax,%r9,4),%xmm2
+  DB  196,163,105,33,20,128,16            ; vinsertps     $0x10,(%rax,%r8,4),%xmm2,%xmm2
+  DB  196,163,105,33,20,144,32            ; vinsertps     $0x20,(%rax,%r10,4),%xmm2,%xmm2
+  DB  196,163,105,33,20,152,48            ; vinsertps     $0x30,(%rax,%r11,4),%xmm2,%xmm2
+  DB  196,227,109,24,215,1                ; vinsertf128   $0x1,%xmm7,%ymm2,%ymm2
+  DB  197,252,17,84,36,96                 ; vmovups       %ymm2,0x60(%rsp)
+  DB  197,225,118,219                     ; vpcmpeqd      %xmm3,%xmm3,%xmm3
+  DB  197,249,250,211                     ; vpsubd        %xmm3,%xmm0,%xmm2
+  DB  196,195,249,22,208,1                ; vpextrq       $0x1,%xmm2,%r8
+  DB  196,193,249,126,209                 ; vmovq         %xmm2,%r9
+  DB  197,185,250,211                     ; vpsubd        %xmm3,%xmm8,%xmm2
+  DB  196,65,17,118,237                   ; vpcmpeqd      %xmm13,%xmm13,%xmm13
+  DB  196,195,249,22,210,1                ; vpextrq       $0x1,%xmm2,%r10
+  DB  196,225,249,126,211                 ; vmovq         %xmm2,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,20,152               ; vmovss        (%rax,%r11,4),%xmm2
+  DB  196,227,105,33,20,152,16            ; vinsertps     $0x10,(%rax,%rbx,4),%xmm2,%xmm2
+  DB  196,161,122,16,60,176               ; vmovss        (%rax,%r14,4),%xmm7
+  DB  196,227,105,33,215,32               ; vinsertps     $0x20,%xmm7,%xmm2,%xmm2
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,60,144               ; vmovss        (%rax,%r10,4),%xmm7
+  DB  196,227,105,33,215,48               ; vinsertps     $0x30,%xmm7,%xmm2,%xmm2
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,60,152                   ; vmovss        (%rax,%rbx,4),%xmm7
+  DB  196,163,65,33,60,136,16             ; vinsertps     $0x10,(%rax,%r9,4),%xmm7,%xmm7
+  DB  196,161,122,16,28,144               ; vmovss        (%rax,%r10,4),%xmm3
+  DB  196,227,65,33,219,32                ; vinsertps     $0x20,%xmm3,%xmm7,%xmm3
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,60,128               ; vmovss        (%rax,%r8,4),%xmm7
+  DB  196,227,97,33,223,48                ; vinsertps     $0x30,%xmm7,%xmm3,%xmm3
+  DB  196,99,101,24,202,1                 ; vinsertf128   $0x1,%xmm2,%ymm3,%ymm9
+  DB  196,193,121,254,194                 ; vpaddd        %xmm10,%xmm0,%xmm0
+  DB  196,195,249,22,192,1                ; vpextrq       $0x1,%xmm0,%r8
+  DB  196,193,249,126,193                 ; vmovq         %xmm0,%r9
+  DB  196,193,57,254,194                  ; vpaddd        %xmm10,%xmm8,%xmm0
+  DB  196,195,249,22,194,1                ; vpextrq       $0x1,%xmm0,%r10
+  DB  196,225,249,126,195                 ; vmovq         %xmm0,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,4,152                ; vmovss        (%rax,%r11,4),%xmm0
+  DB  196,227,121,33,4,152,16             ; vinsertps     $0x10,(%rax,%rbx,4),%xmm0,%xmm0
+  DB  196,161,122,16,20,176               ; vmovss        (%rax,%r14,4),%xmm2
+  DB  196,227,121,33,194,32               ; vinsertps     $0x20,%xmm2,%xmm0,%xmm0
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,20,144               ; vmovss        (%rax,%r10,4),%xmm2
+  DB  196,227,121,33,194,48               ; vinsertps     $0x30,%xmm2,%xmm0,%xmm0
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,20,152                   ; vmovss        (%rax,%rbx,4),%xmm2
+  DB  196,163,105,33,20,136,16            ; vinsertps     $0x10,(%rax,%r9,4),%xmm2,%xmm2
+  DB  196,161,122,16,28,144               ; vmovss        (%rax,%r10,4),%xmm3
+  DB  196,227,105,33,211,32               ; vinsertps     $0x20,%xmm3,%xmm2,%xmm2
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,28,128               ; vmovss        (%rax,%r8,4),%xmm3
+  DB  196,227,105,33,211,48               ; vinsertps     $0x30,%xmm3,%xmm2,%xmm2
+  DB  196,99,109,24,192,1                 ; vinsertf128   $0x1,%xmm0,%ymm2,%ymm8
+  DB  197,121,111,60,36                   ; vmovdqa       (%rsp),%xmm15
+  DB  197,129,254,193                     ; vpaddd        %xmm1,%xmm15,%xmm0
+  DB  197,121,111,116,36,16               ; vmovdqa       0x10(%rsp),%xmm14
+  DB  197,137,254,206                     ; vpaddd        %xmm6,%xmm14,%xmm1
+  DB  196,226,113,64,244                  ; vpmulld       %xmm4,%xmm1,%xmm6
+  DB  196,226,121,64,204                  ; vpmulld       %xmm4,%xmm0,%xmm1
+  DB  196,193,121,126,201                 ; vmovd         %xmm1,%r9d
+  DB  196,195,121,22,200,1                ; vpextrd       $0x1,%xmm1,%r8d
+  DB  196,195,121,22,202,2                ; vpextrd       $0x2,%xmm1,%r10d
+  DB  196,195,121,22,203,3                ; vpextrd       $0x3,%xmm1,%r11d
+  DB  196,193,121,126,247                 ; vmovd         %xmm6,%r15d
+  DB  196,195,121,22,246,1                ; vpextrd       $0x1,%xmm6,%r14d
+  DB  196,195,121,22,244,2                ; vpextrd       $0x2,%xmm6,%r12d
+  DB  196,227,121,22,243,3                ; vpextrd       $0x3,%xmm6,%ebx
+  DB  196,161,122,16,4,184                ; vmovss        (%rax,%r15,4),%xmm0
+  DB  196,163,121,33,4,176,16             ; vinsertps     $0x10,(%rax,%r14,4),%xmm0,%xmm0
+  DB  196,163,121,33,4,160,32             ; vinsertps     $0x20,(%rax,%r12,4),%xmm0,%xmm0
+  DB  196,227,121,33,4,152,48             ; vinsertps     $0x30,(%rax,%rbx,4),%xmm0,%xmm0
+  DB  196,161,122,16,20,136               ; vmovss        (%rax,%r9,4),%xmm2
+  DB  196,163,105,33,20,128,16            ; vinsertps     $0x10,(%rax,%r8,4),%xmm2,%xmm2
+  DB  196,163,105,33,20,144,32            ; vinsertps     $0x20,(%rax,%r10,4),%xmm2,%xmm2
+  DB  196,163,105,33,20,152,48            ; vinsertps     $0x30,(%rax,%r11,4),%xmm2,%xmm2
+  DB  196,227,109,24,192,1                ; vinsertf128   $0x1,%xmm0,%ymm2,%ymm0
+  DB  196,193,113,250,213                 ; vpsubd        %xmm13,%xmm1,%xmm2
+  DB  196,195,249,22,208,1                ; vpextrq       $0x1,%xmm2,%r8
+  DB  196,193,249,126,209                 ; vmovq         %xmm2,%r9
+  DB  196,193,73,250,213                  ; vpsubd        %xmm13,%xmm6,%xmm2
+  DB  196,195,249,22,210,1                ; vpextrq       $0x1,%xmm2,%r10
+  DB  196,225,249,126,211                 ; vmovq         %xmm2,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,20,152               ; vmovss        (%rax,%r11,4),%xmm2
+  DB  196,227,105,33,20,152,16            ; vinsertps     $0x10,(%rax,%rbx,4),%xmm2,%xmm2
+  DB  196,161,122,16,28,176               ; vmovss        (%rax,%r14,4),%xmm3
+  DB  196,227,105,33,211,32               ; vinsertps     $0x20,%xmm3,%xmm2,%xmm2
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,28,144               ; vmovss        (%rax,%r10,4),%xmm3
+  DB  196,227,105,33,211,48               ; vinsertps     $0x30,%xmm3,%xmm2,%xmm2
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,28,152                   ; vmovss        (%rax,%rbx,4),%xmm3
+  DB  196,163,97,33,28,136,16             ; vinsertps     $0x10,(%rax,%r9,4),%xmm3,%xmm3
+  DB  196,161,122,16,60,144               ; vmovss        (%rax,%r10,4),%xmm7
+  DB  196,227,97,33,223,32                ; vinsertps     $0x20,%xmm7,%xmm3,%xmm3
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,60,128               ; vmovss        (%rax,%r8,4),%xmm7
+  DB  196,227,97,33,223,48                ; vinsertps     $0x30,%xmm7,%xmm3,%xmm3
+  DB  196,99,101,24,234,1                 ; vinsertf128   $0x1,%xmm2,%ymm3,%ymm13
+  DB  196,193,113,254,202                 ; vpaddd        %xmm10,%xmm1,%xmm1
+  DB  196,195,249,22,200,1                ; vpextrq       $0x1,%xmm1,%r8
+  DB  196,193,249,126,201                 ; vmovq         %xmm1,%r9
+  DB  196,193,73,254,202                  ; vpaddd        %xmm10,%xmm6,%xmm1
+  DB  196,195,249,22,202,1                ; vpextrq       $0x1,%xmm1,%r10
+  DB  196,225,249,126,203                 ; vmovq         %xmm1,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,12,152               ; vmovss        (%rax,%r11,4),%xmm1
+  DB  196,227,113,33,12,152,16            ; vinsertps     $0x10,(%rax,%rbx,4),%xmm1,%xmm1
+  DB  196,161,122,16,20,176               ; vmovss        (%rax,%r14,4),%xmm2
+  DB  196,227,113,33,202,32               ; vinsertps     $0x20,%xmm2,%xmm1,%xmm1
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,20,144               ; vmovss        (%rax,%r10,4),%xmm2
+  DB  196,227,113,33,202,48               ; vinsertps     $0x30,%xmm2,%xmm1,%xmm1
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,20,152                   ; vmovss        (%rax,%rbx,4),%xmm2
+  DB  196,163,105,33,20,136,16            ; vinsertps     $0x10,(%rax,%r9,4),%xmm2,%xmm2
+  DB  196,161,122,16,28,144               ; vmovss        (%rax,%r10,4),%xmm3
+  DB  196,227,105,33,211,32               ; vinsertps     $0x20,%xmm3,%xmm2,%xmm2
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,28,128               ; vmovss        (%rax,%r8,4),%xmm3
+  DB  196,227,105,33,211,48               ; vinsertps     $0x30,%xmm3,%xmm2,%xmm2
+  DB  196,227,109,24,201,1                ; vinsertf128   $0x1,%xmm1,%ymm2,%ymm1
+  DB  197,252,16,84,36,96                 ; vmovups       0x60(%rsp),%ymm2
+  DB  197,252,92,194                      ; vsubps        %ymm2,%ymm0,%ymm0
+  DB  197,164,89,192                      ; vmulps        %ymm0,%ymm11,%ymm0
+  DB  197,236,88,208                      ; vaddps        %ymm0,%ymm2,%ymm2
+  DB  196,193,20,92,193                   ; vsubps        %ymm9,%ymm13,%ymm0
+  DB  197,164,89,192                      ; vmulps        %ymm0,%ymm11,%ymm0
+  DB  197,180,88,216                      ; vaddps        %ymm0,%ymm9,%ymm3
+  DB  196,193,116,92,192                  ; vsubps        %ymm8,%ymm1,%ymm0
+  DB  197,164,89,192                      ; vmulps        %ymm0,%ymm11,%ymm0
+  DB  197,188,88,200                      ; vaddps        %ymm0,%ymm8,%ymm1
+  DB  197,252,91,132,36,192,0,0,0         ; vcvtdq2ps     0xc0(%rsp),%ymm0
+  DB  197,252,16,116,36,64                ; vmovups       0x40(%rsp),%ymm6
+  DB  197,76,92,232                       ; vsubps        %ymm0,%ymm6,%ymm13
+  DB  197,252,16,132,36,96,1,0,0          ; vmovups       0x160(%rsp),%ymm0
+  DB  197,236,92,208                      ; vsubps        %ymm0,%ymm2,%ymm2
+  DB  197,148,89,210                      ; vmulps        %ymm2,%ymm13,%ymm2
+  DB  197,252,88,194                      ; vaddps        %ymm2,%ymm0,%ymm0
+  DB  197,252,17,68,36,64                 ; vmovups       %ymm0,0x40(%rsp)
+  DB  197,252,16,132,36,160,0,0,0         ; vmovups       0xa0(%rsp),%ymm0
+  DB  197,228,92,208                      ; vsubps        %ymm0,%ymm3,%ymm2
+  DB  197,148,89,210                      ; vmulps        %ymm2,%ymm13,%ymm2
+  DB  197,252,88,194                      ; vaddps        %ymm2,%ymm0,%ymm0
+  DB  197,252,17,132,36,192,0,0,0         ; vmovups       %ymm0,0xc0(%rsp)
+  DB  197,252,16,132,36,128,1,0,0         ; vmovups       0x180(%rsp),%ymm0
+  DB  197,244,92,200                      ; vsubps        %ymm0,%ymm1,%ymm1
+  DB  197,148,89,201                      ; vmulps        %ymm1,%ymm13,%ymm1
+  DB  197,252,88,193                      ; vaddps        %ymm1,%ymm0,%ymm0
+  DB  197,252,17,132,36,160,0,0,0         ; vmovups       %ymm0,0xa0(%rsp)
+  DB  197,252,16,132,36,128,0,0,0         ; vmovups       0x80(%rsp),%ymm0
+  DB  197,252,88,140,36,64,1,0,0          ; vaddps        0x140(%rsp),%ymm0,%ymm1
+  DB  197,126,91,201                      ; vcvttps2dq    %ymm1,%ymm9
+  DB  196,99,125,25,200,1                 ; vextractf128  $0x1,%ymm9,%xmm0
+  DB  197,249,127,132,36,128,0,0,0        ; vmovdqa       %xmm0,0x80(%rsp)
+  DB  197,249,254,180,36,16,1,0,0         ; vpaddd        0x110(%rsp),%xmm0,%xmm6
+  DB  197,177,254,156,36,0,1,0,0          ; vpaddd        0x100(%rsp),%xmm9,%xmm3
+  DB  197,153,254,206                     ; vpaddd        %xmm6,%xmm12,%xmm1
+  DB  196,226,113,64,204                  ; vpmulld       %xmm4,%xmm1,%xmm1
+  DB  197,209,254,211                     ; vpaddd        %xmm3,%xmm5,%xmm2
+  DB  196,226,105,64,212                  ; vpmulld       %xmm4,%xmm2,%xmm2
+  DB  196,193,121,126,209                 ; vmovd         %xmm2,%r9d
+  DB  196,195,121,22,208,1                ; vpextrd       $0x1,%xmm2,%r8d
+  DB  196,195,121,22,210,2                ; vpextrd       $0x2,%xmm2,%r10d
+  DB  196,195,121,22,211,3                ; vpextrd       $0x3,%xmm2,%r11d
+  DB  196,193,121,126,207                 ; vmovd         %xmm1,%r15d
+  DB  196,195,121,22,206,1                ; vpextrd       $0x1,%xmm1,%r14d
+  DB  196,195,121,22,204,2                ; vpextrd       $0x2,%xmm1,%r12d
+  DB  196,227,121,22,203,3                ; vpextrd       $0x3,%xmm1,%ebx
+  DB  196,161,122,16,60,184               ; vmovss        (%rax,%r15,4),%xmm7
+  DB  196,163,65,33,60,176,16             ; vinsertps     $0x10,(%rax,%r14,4),%xmm7,%xmm7
+  DB  196,163,65,33,60,160,32             ; vinsertps     $0x20,(%rax,%r12,4),%xmm7,%xmm7
+  DB  196,227,65,33,60,152,48             ; vinsertps     $0x30,(%rax,%rbx,4),%xmm7,%xmm7
+  DB  196,161,122,16,4,136                ; vmovss        (%rax,%r9,4),%xmm0
+  DB  196,163,121,33,4,128,16             ; vinsertps     $0x10,(%rax,%r8,4),%xmm0,%xmm0
+  DB  196,163,121,33,4,144,32             ; vinsertps     $0x20,(%rax,%r10,4),%xmm0,%xmm0
+  DB  196,163,121,33,4,152,48             ; vinsertps     $0x30,(%rax,%r11,4),%xmm0,%xmm0
+  DB  196,99,125,24,231,1                 ; vinsertf128   $0x1,%xmm7,%ymm0,%ymm12
+  DB  197,209,118,237                     ; vpcmpeqd      %xmm5,%xmm5,%xmm5
+  DB  197,233,250,197                     ; vpsubd        %xmm5,%xmm2,%xmm0
+  DB  196,195,249,22,192,1                ; vpextrq       $0x1,%xmm0,%r8
+  DB  196,193,249,126,193                 ; vmovq         %xmm0,%r9
+  DB  197,241,250,197                     ; vpsubd        %xmm5,%xmm1,%xmm0
+  DB  196,195,249,22,194,1                ; vpextrq       $0x1,%xmm0,%r10
+  DB  196,225,249,126,195                 ; vmovq         %xmm0,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,4,152                ; vmovss        (%rax,%r11,4),%xmm0
+  DB  196,227,121,33,4,152,16             ; vinsertps     $0x10,(%rax,%rbx,4),%xmm0,%xmm0
+  DB  196,161,122,16,60,176               ; vmovss        (%rax,%r14,4),%xmm7
+  DB  196,227,121,33,199,32               ; vinsertps     $0x20,%xmm7,%xmm0,%xmm0
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,60,144               ; vmovss        (%rax,%r10,4),%xmm7
+  DB  196,227,121,33,199,48               ; vinsertps     $0x30,%xmm7,%xmm0,%xmm0
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,60,152                   ; vmovss        (%rax,%rbx,4),%xmm7
+  DB  196,163,65,33,60,136,16             ; vinsertps     $0x10,(%rax,%r9,4),%xmm7,%xmm7
+  DB  196,161,122,16,44,144               ; vmovss        (%rax,%r10,4),%xmm5
+  DB  196,227,65,33,237,32                ; vinsertps     $0x20,%xmm5,%xmm7,%xmm5
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,60,128               ; vmovss        (%rax,%r8,4),%xmm7
+  DB  196,227,81,33,239,48                ; vinsertps     $0x30,%xmm7,%xmm5,%xmm5
+  DB  196,227,85,24,248,1                 ; vinsertf128   $0x1,%xmm0,%ymm5,%ymm7
+  DB  196,193,105,254,194                 ; vpaddd        %xmm10,%xmm2,%xmm0
+  DB  196,195,249,22,192,1                ; vpextrq       $0x1,%xmm0,%r8
+  DB  196,193,249,126,193                 ; vmovq         %xmm0,%r9
+  DB  196,193,113,254,194                 ; vpaddd        %xmm10,%xmm1,%xmm0
+  DB  196,195,249,22,194,1                ; vpextrq       $0x1,%xmm0,%r10
+  DB  196,225,249,126,195                 ; vmovq         %xmm0,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,4,152                ; vmovss        (%rax,%r11,4),%xmm0
+  DB  196,227,121,33,4,152,16             ; vinsertps     $0x10,(%rax,%rbx,4),%xmm0,%xmm0
+  DB  196,161,122,16,12,176               ; vmovss        (%rax,%r14,4),%xmm1
+  DB  196,227,121,33,193,32               ; vinsertps     $0x20,%xmm1,%xmm0,%xmm0
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,12,144               ; vmovss        (%rax,%r10,4),%xmm1
+  DB  196,227,121,33,193,48               ; vinsertps     $0x30,%xmm1,%xmm0,%xmm0
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,12,152                   ; vmovss        (%rax,%rbx,4),%xmm1
+  DB  196,163,113,33,12,136,16            ; vinsertps     $0x10,(%rax,%r9,4),%xmm1,%xmm1
+  DB  196,161,122,16,20,144               ; vmovss        (%rax,%r10,4),%xmm2
+  DB  196,227,113,33,202,32               ; vinsertps     $0x20,%xmm2,%xmm1,%xmm1
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,20,128               ; vmovss        (%rax,%r8,4),%xmm2
+  DB  196,227,113,33,202,48               ; vinsertps     $0x30,%xmm2,%xmm1,%xmm1
+  DB  196,99,117,24,192,1                 ; vinsertf128   $0x1,%xmm0,%ymm1,%ymm8
+  DB  197,129,254,195                     ; vpaddd        %xmm3,%xmm15,%xmm0
+  DB  197,137,254,206                     ; vpaddd        %xmm6,%xmm14,%xmm1
+  DB  196,226,113,64,204                  ; vpmulld       %xmm4,%xmm1,%xmm1
+  DB  196,226,121,64,212                  ; vpmulld       %xmm4,%xmm0,%xmm2
+  DB  196,193,121,126,209                 ; vmovd         %xmm2,%r9d
+  DB  196,195,121,22,208,1                ; vpextrd       $0x1,%xmm2,%r8d
+  DB  196,195,121,22,210,2                ; vpextrd       $0x2,%xmm2,%r10d
+  DB  196,195,121,22,211,3                ; vpextrd       $0x3,%xmm2,%r11d
+  DB  196,193,121,126,207                 ; vmovd         %xmm1,%r15d
+  DB  196,195,121,22,206,1                ; vpextrd       $0x1,%xmm1,%r14d
+  DB  196,195,121,22,204,2                ; vpextrd       $0x2,%xmm1,%r12d
+  DB  196,227,121,22,203,3                ; vpextrd       $0x3,%xmm1,%ebx
+  DB  196,161,122,16,4,184                ; vmovss        (%rax,%r15,4),%xmm0
+  DB  196,163,121,33,4,176,16             ; vinsertps     $0x10,(%rax,%r14,4),%xmm0,%xmm0
+  DB  196,163,121,33,4,160,32             ; vinsertps     $0x20,(%rax,%r12,4),%xmm0,%xmm0
+  DB  196,227,121,33,4,152,48             ; vinsertps     $0x30,(%rax,%rbx,4),%xmm0,%xmm0
+  DB  196,161,122,16,28,136               ; vmovss        (%rax,%r9,4),%xmm3
+  DB  196,163,97,33,28,128,16             ; vinsertps     $0x10,(%rax,%r8,4),%xmm3,%xmm3
+  DB  196,163,97,33,28,144,32             ; vinsertps     $0x20,(%rax,%r10,4),%xmm3,%xmm3
+  DB  196,163,97,33,28,152,48             ; vinsertps     $0x30,(%rax,%r11,4),%xmm3,%xmm3
+  DB  196,227,101,24,216,1                ; vinsertf128   $0x1,%xmm0,%ymm3,%ymm3
+  DB  197,209,118,237                     ; vpcmpeqd      %xmm5,%xmm5,%xmm5
+  DB  197,233,250,197                     ; vpsubd        %xmm5,%xmm2,%xmm0
+  DB  196,195,249,22,192,1                ; vpextrq       $0x1,%xmm0,%r8
+  DB  196,193,249,126,193                 ; vmovq         %xmm0,%r9
+  DB  197,241,250,197                     ; vpsubd        %xmm5,%xmm1,%xmm0
+  DB  196,195,249,22,194,1                ; vpextrq       $0x1,%xmm0,%r10
+  DB  196,225,249,126,195                 ; vmovq         %xmm0,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,4,152                ; vmovss        (%rax,%r11,4),%xmm0
+  DB  196,227,121,33,4,152,16             ; vinsertps     $0x10,(%rax,%rbx,4),%xmm0,%xmm0
+  DB  196,161,122,16,44,176               ; vmovss        (%rax,%r14,4),%xmm5
+  DB  196,227,121,33,197,32               ; vinsertps     $0x20,%xmm5,%xmm0,%xmm0
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,44,144               ; vmovss        (%rax,%r10,4),%xmm5
+  DB  196,227,121,33,197,48               ; vinsertps     $0x30,%xmm5,%xmm0,%xmm0
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,44,152                   ; vmovss        (%rax,%rbx,4),%xmm5
+  DB  196,163,81,33,44,136,16             ; vinsertps     $0x10,(%rax,%r9,4),%xmm5,%xmm5
+  DB  196,161,122,16,52,144               ; vmovss        (%rax,%r10,4),%xmm6
+  DB  196,227,81,33,238,32                ; vinsertps     $0x20,%xmm6,%xmm5,%xmm5
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,52,128               ; vmovss        (%rax,%r8,4),%xmm6
+  DB  196,227,81,33,238,48                ; vinsertps     $0x30,%xmm6,%xmm5,%xmm5
+  DB  196,227,85,24,240,1                 ; vinsertf128   $0x1,%xmm0,%ymm5,%ymm6
+  DB  196,193,105,254,194                 ; vpaddd        %xmm10,%xmm2,%xmm0
+  DB  196,195,249,22,192,1                ; vpextrq       $0x1,%xmm0,%r8
+  DB  196,193,249,126,193                 ; vmovq         %xmm0,%r9
+  DB  196,193,113,254,194                 ; vpaddd        %xmm10,%xmm1,%xmm0
+  DB  196,195,249,22,194,1                ; vpextrq       $0x1,%xmm0,%r10
+  DB  196,225,249,126,195                 ; vmovq         %xmm0,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,4,152                ; vmovss        (%rax,%r11,4),%xmm0
+  DB  196,227,121,33,4,152,16             ; vinsertps     $0x10,(%rax,%rbx,4),%xmm0,%xmm0
+  DB  196,161,122,16,12,176               ; vmovss        (%rax,%r14,4),%xmm1
+  DB  196,227,121,33,193,32               ; vinsertps     $0x20,%xmm1,%xmm0,%xmm0
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,12,144               ; vmovss        (%rax,%r10,4),%xmm1
+  DB  196,227,121,33,193,48               ; vinsertps     $0x30,%xmm1,%xmm0,%xmm0
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,12,152                   ; vmovss        (%rax,%rbx,4),%xmm1
+  DB  196,163,113,33,12,136,16            ; vinsertps     $0x10,(%rax,%r9,4),%xmm1,%xmm1
+  DB  196,161,122,16,20,144               ; vmovss        (%rax,%r10,4),%xmm2
+  DB  196,227,113,33,202,32               ; vinsertps     $0x20,%xmm2,%xmm1,%xmm1
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,20,128               ; vmovss        (%rax,%r8,4),%xmm2
+  DB  196,227,113,33,202,48               ; vinsertps     $0x30,%xmm2,%xmm1,%xmm1
+  DB  196,227,117,24,192,1                ; vinsertf128   $0x1,%xmm0,%ymm1,%ymm0
+  DB  196,193,100,92,204                  ; vsubps        %ymm12,%ymm3,%ymm1
+  DB  197,164,89,201                      ; vmulps        %ymm1,%ymm11,%ymm1
+  DB  197,28,88,225                       ; vaddps        %ymm1,%ymm12,%ymm12
+  DB  197,204,92,207                      ; vsubps        %ymm7,%ymm6,%ymm1
+  DB  197,164,89,201                      ; vmulps        %ymm1,%ymm11,%ymm1
+  DB  197,68,88,241                       ; vaddps        %ymm1,%ymm7,%ymm14
+  DB  196,193,124,92,192                  ; vsubps        %ymm8,%ymm0,%ymm0
+  DB  197,164,89,192                      ; vmulps        %ymm0,%ymm11,%ymm0
+  DB  197,60,88,192                       ; vaddps        %ymm0,%ymm8,%ymm8
+  DB  197,249,111,132,36,128,0,0,0        ; vmovdqa       0x80(%rsp),%xmm0
+  DB  197,249,254,180,36,240,0,0,0        ; vpaddd        0xf0(%rsp),%xmm0,%xmm6
+  DB  197,177,254,140,36,224,0,0,0        ; vpaddd        0xe0(%rsp),%xmm9,%xmm1
+  DB  197,241,254,68,36,32                ; vpaddd        0x20(%rsp),%xmm1,%xmm0
+  DB  197,201,254,84,36,48                ; vpaddd        0x30(%rsp),%xmm6,%xmm2
+  DB  196,98,105,64,204                   ; vpmulld       %xmm4,%xmm2,%xmm9
+  DB  196,226,121,64,220                  ; vpmulld       %xmm4,%xmm0,%xmm3
+  DB  196,193,121,126,217                 ; vmovd         %xmm3,%r9d
+  DB  196,195,121,22,216,1                ; vpextrd       $0x1,%xmm3,%r8d
+  DB  196,195,121,22,218,2                ; vpextrd       $0x2,%xmm3,%r10d
+  DB  196,195,121,22,219,3                ; vpextrd       $0x3,%xmm3,%r11d
+  DB  196,65,121,126,207                  ; vmovd         %xmm9,%r15d
+  DB  196,67,121,22,206,1                 ; vpextrd       $0x1,%xmm9,%r14d
+  DB  196,67,121,22,204,2                 ; vpextrd       $0x2,%xmm9,%r12d
+  DB  196,99,121,22,203,3                 ; vpextrd       $0x3,%xmm9,%ebx
+  DB  196,161,122,16,4,184                ; vmovss        (%rax,%r15,4),%xmm0
+  DB  196,163,121,33,4,176,16             ; vinsertps     $0x10,(%rax,%r14,4),%xmm0,%xmm0
+  DB  196,163,121,33,4,160,32             ; vinsertps     $0x20,(%rax,%r12,4),%xmm0,%xmm0
+  DB  196,227,121,33,4,152,48             ; vinsertps     $0x30,(%rax,%rbx,4),%xmm0,%xmm0
+  DB  196,161,122,16,20,136               ; vmovss        (%rax,%r9,4),%xmm2
+  DB  196,163,105,33,20,128,16            ; vinsertps     $0x10,(%rax,%r8,4),%xmm2,%xmm2
+  DB  196,163,105,33,20,144,32            ; vinsertps     $0x20,(%rax,%r10,4),%xmm2,%xmm2
+  DB  196,163,105,33,20,152,48            ; vinsertps     $0x30,(%rax,%r11,4),%xmm2,%xmm2
+  DB  196,227,109,24,192,1                ; vinsertf128   $0x1,%xmm0,%ymm2,%ymm0
+  DB  197,209,118,237                     ; vpcmpeqd      %xmm5,%xmm5,%xmm5
+  DB  197,225,250,213                     ; vpsubd        %xmm5,%xmm3,%xmm2
+  DB  196,195,249,22,208,1                ; vpextrq       $0x1,%xmm2,%r8
+  DB  196,193,249,126,209                 ; vmovq         %xmm2,%r9
+  DB  197,177,250,213                     ; vpsubd        %xmm5,%xmm9,%xmm2
+  DB  196,65,1,118,255                    ; vpcmpeqd      %xmm15,%xmm15,%xmm15
+  DB  196,195,249,22,210,1                ; vpextrq       $0x1,%xmm2,%r10
+  DB  196,225,249,126,211                 ; vmovq         %xmm2,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,20,152               ; vmovss        (%rax,%r11,4),%xmm2
+  DB  196,227,105,33,20,152,16            ; vinsertps     $0x10,(%rax,%rbx,4),%xmm2,%xmm2
+  DB  196,161,122,16,44,176               ; vmovss        (%rax,%r14,4),%xmm5
+  DB  196,227,105,33,213,32               ; vinsertps     $0x20,%xmm5,%xmm2,%xmm2
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,44,144               ; vmovss        (%rax,%r10,4),%xmm5
+  DB  196,227,105,33,213,48               ; vinsertps     $0x30,%xmm5,%xmm2,%xmm2
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,44,152                   ; vmovss        (%rax,%rbx,4),%xmm5
+  DB  196,163,81,33,44,136,16             ; vinsertps     $0x10,(%rax,%r9,4),%xmm5,%xmm5
+  DB  196,161,122,16,60,144               ; vmovss        (%rax,%r10,4),%xmm7
+  DB  196,227,81,33,239,32                ; vinsertps     $0x20,%xmm7,%xmm5,%xmm5
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,60,128               ; vmovss        (%rax,%r8,4),%xmm7
+  DB  196,227,81,33,239,48                ; vinsertps     $0x30,%xmm7,%xmm5,%xmm5
+  DB  196,227,85,24,210,1                 ; vinsertf128   $0x1,%xmm2,%ymm5,%ymm2
+  DB  196,193,97,254,218                  ; vpaddd        %xmm10,%xmm3,%xmm3
+  DB  196,195,249,22,216,1                ; vpextrq       $0x1,%xmm3,%r8
+  DB  196,193,249,126,217                 ; vmovq         %xmm3,%r9
+  DB  196,193,49,254,218                  ; vpaddd        %xmm10,%xmm9,%xmm3
+  DB  196,195,249,22,218,1                ; vpextrq       $0x1,%xmm3,%r10
+  DB  196,225,249,126,219                 ; vmovq         %xmm3,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,28,152               ; vmovss        (%rax,%r11,4),%xmm3
+  DB  196,227,97,33,28,152,16             ; vinsertps     $0x10,(%rax,%rbx,4),%xmm3,%xmm3
+  DB  196,161,122,16,44,176               ; vmovss        (%rax,%r14,4),%xmm5
+  DB  196,227,97,33,221,32                ; vinsertps     $0x20,%xmm5,%xmm3,%xmm3
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,44,144               ; vmovss        (%rax,%r10,4),%xmm5
+  DB  196,227,97,33,221,48                ; vinsertps     $0x30,%xmm5,%xmm3,%xmm3
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,44,152                   ; vmovss        (%rax,%rbx,4),%xmm5
+  DB  196,163,81,33,44,136,16             ; vinsertps     $0x10,(%rax,%r9,4),%xmm5,%xmm5
+  DB  196,161,122,16,60,144               ; vmovss        (%rax,%r10,4),%xmm7
+  DB  196,227,81,33,239,32                ; vinsertps     $0x20,%xmm7,%xmm5,%xmm5
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,60,128               ; vmovss        (%rax,%r8,4),%xmm7
+  DB  196,227,81,33,239,48                ; vinsertps     $0x30,%xmm7,%xmm5,%xmm5
+  DB  196,99,85,24,203,1                  ; vinsertf128   $0x1,%xmm3,%ymm5,%ymm9
+  DB  197,241,254,12,36                   ; vpaddd        (%rsp),%xmm1,%xmm1
+  DB  197,201,254,92,36,16                ; vpaddd        0x10(%rsp),%xmm6,%xmm3
+  DB  196,226,97,64,220                   ; vpmulld       %xmm4,%xmm3,%xmm3
+  DB  196,226,113,64,228                  ; vpmulld       %xmm4,%xmm1,%xmm4
+  DB  196,193,121,126,225                 ; vmovd         %xmm4,%r9d
+  DB  196,195,121,22,224,1                ; vpextrd       $0x1,%xmm4,%r8d
+  DB  196,195,121,22,226,2                ; vpextrd       $0x2,%xmm4,%r10d
+  DB  196,195,121,22,227,3                ; vpextrd       $0x3,%xmm4,%r11d
+  DB  196,193,121,126,223                 ; vmovd         %xmm3,%r15d
+  DB  196,195,121,22,222,1                ; vpextrd       $0x1,%xmm3,%r14d
+  DB  196,195,121,22,220,2                ; vpextrd       $0x2,%xmm3,%r12d
+  DB  196,227,121,22,219,3                ; vpextrd       $0x3,%xmm3,%ebx
+  DB  196,161,122,16,12,184               ; vmovss        (%rax,%r15,4),%xmm1
+  DB  196,163,113,33,12,176,16            ; vinsertps     $0x10,(%rax,%r14,4),%xmm1,%xmm1
+  DB  196,163,113,33,12,160,32            ; vinsertps     $0x20,(%rax,%r12,4),%xmm1,%xmm1
+  DB  196,227,113,33,12,152,48            ; vinsertps     $0x30,(%rax,%rbx,4),%xmm1,%xmm1
+  DB  196,161,122,16,44,136               ; vmovss        (%rax,%r9,4),%xmm5
+  DB  196,163,81,33,44,128,16             ; vinsertps     $0x10,(%rax,%r8,4),%xmm5,%xmm5
+  DB  196,163,81,33,44,144,32             ; vinsertps     $0x20,(%rax,%r10,4),%xmm5,%xmm5
+  DB  196,163,81,33,44,152,48             ; vinsertps     $0x30,(%rax,%r11,4),%xmm5,%xmm5
+  DB  196,227,85,24,201,1                 ; vinsertf128   $0x1,%xmm1,%ymm5,%ymm1
+  DB  196,193,89,250,239                  ; vpsubd        %xmm15,%xmm4,%xmm5
+  DB  196,195,249,22,232,1                ; vpextrq       $0x1,%xmm5,%r8
+  DB  196,193,249,126,233                 ; vmovq         %xmm5,%r9
+  DB  196,193,97,250,239                  ; vpsubd        %xmm15,%xmm3,%xmm5
+  DB  196,195,249,22,234,1                ; vpextrq       $0x1,%xmm5,%r10
+  DB  196,225,249,126,235                 ; vmovq         %xmm5,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,44,152               ; vmovss        (%rax,%r11,4),%xmm5
+  DB  196,227,81,33,44,152,16             ; vinsertps     $0x10,(%rax,%rbx,4),%xmm5,%xmm5
+  DB  196,161,122,16,52,176               ; vmovss        (%rax,%r14,4),%xmm6
+  DB  196,227,81,33,238,32                ; vinsertps     $0x20,%xmm6,%xmm5,%xmm5
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,52,144               ; vmovss        (%rax,%r10,4),%xmm6
+  DB  196,227,81,33,238,48                ; vinsertps     $0x30,%xmm6,%xmm5,%xmm5
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,52,152                   ; vmovss        (%rax,%rbx,4),%xmm6
+  DB  196,163,73,33,52,136,16             ; vinsertps     $0x10,(%rax,%r9,4),%xmm6,%xmm6
+  DB  196,161,122,16,60,144               ; vmovss        (%rax,%r10,4),%xmm7
+  DB  196,227,73,33,247,32                ; vinsertps     $0x20,%xmm7,%xmm6,%xmm6
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,60,128               ; vmovss        (%rax,%r8,4),%xmm7
+  DB  196,227,73,33,247,48                ; vinsertps     $0x30,%xmm7,%xmm6,%xmm6
+  DB  196,227,77,24,245,1                 ; vinsertf128   $0x1,%xmm5,%ymm6,%ymm6
+  DB  196,193,89,254,226                  ; vpaddd        %xmm10,%xmm4,%xmm4
+  DB  196,195,249,22,224,1                ; vpextrq       $0x1,%xmm4,%r8
+  DB  196,193,249,126,225                 ; vmovq         %xmm4,%r9
+  DB  196,193,97,254,218                  ; vpaddd        %xmm10,%xmm3,%xmm3
+  DB  196,195,249,22,218,1                ; vpextrq       $0x1,%xmm3,%r10
+  DB  196,225,249,126,219                 ; vmovq         %xmm3,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,28,152               ; vmovss        (%rax,%r11,4),%xmm3
+  DB  196,227,97,33,28,152,16             ; vinsertps     $0x10,(%rax,%rbx,4),%xmm3,%xmm3
+  DB  196,161,122,16,36,176               ; vmovss        (%rax,%r14,4),%xmm4
+  DB  196,227,97,33,220,32                ; vinsertps     $0x20,%xmm4,%xmm3,%xmm3
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,36,144               ; vmovss        (%rax,%r10,4),%xmm4
+  DB  196,227,97,33,220,48                ; vinsertps     $0x30,%xmm4,%xmm3,%xmm3
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,36,152                   ; vmovss        (%rax,%rbx,4),%xmm4
+  DB  196,163,89,33,36,136,16             ; vinsertps     $0x10,(%rax,%r9,4),%xmm4,%xmm4
+  DB  196,161,122,16,44,144               ; vmovss        (%rax,%r10,4),%xmm5
+  DB  196,227,89,33,229,32                ; vinsertps     $0x20,%xmm5,%xmm4,%xmm4
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,44,128               ; vmovss        (%rax,%r8,4),%xmm5
+  DB  196,227,89,33,229,48                ; vinsertps     $0x30,%xmm5,%xmm4,%xmm4
+  DB  196,227,93,24,219,1                 ; vinsertf128   $0x1,%xmm3,%ymm4,%ymm3
+  DB  197,244,92,200                      ; vsubps        %ymm0,%ymm1,%ymm1
+  DB  197,164,89,201                      ; vmulps        %ymm1,%ymm11,%ymm1
+  DB  197,252,88,193                      ; vaddps        %ymm1,%ymm0,%ymm0
+  DB  197,204,92,202                      ; vsubps        %ymm2,%ymm6,%ymm1
+  DB  197,164,89,201                      ; vmulps        %ymm1,%ymm11,%ymm1
+  DB  197,236,88,201                      ; vaddps        %ymm1,%ymm2,%ymm1
+  DB  196,193,100,92,209                  ; vsubps        %ymm9,%ymm3,%ymm2
+  DB  197,164,89,210                      ; vmulps        %ymm2,%ymm11,%ymm2
+  DB  197,180,88,210                      ; vaddps        %ymm2,%ymm9,%ymm2
+  DB  196,193,124,92,196                  ; vsubps        %ymm12,%ymm0,%ymm0
+  DB  197,148,89,192                      ; vmulps        %ymm0,%ymm13,%ymm0
+  DB  197,156,88,192                      ; vaddps        %ymm0,%ymm12,%ymm0
+  DB  196,193,116,92,206                  ; vsubps        %ymm14,%ymm1,%ymm1
+  DB  197,148,89,201                      ; vmulps        %ymm1,%ymm13,%ymm1
+  DB  197,140,88,201                      ; vaddps        %ymm1,%ymm14,%ymm1
+  DB  196,193,108,92,208                  ; vsubps        %ymm8,%ymm2,%ymm2
+  DB  197,148,89,210                      ; vmulps        %ymm2,%ymm13,%ymm2
+  DB  197,188,88,210                      ; vaddps        %ymm2,%ymm8,%ymm2
+  DB  197,252,91,156,36,32,1,0,0          ; vcvtdq2ps     0x120(%rsp),%ymm3
+  DB  197,252,16,164,36,64,1,0,0          ; vmovups       0x140(%rsp),%ymm4
+  DB  197,220,92,219                      ; vsubps        %ymm3,%ymm4,%ymm3
+  DB  197,252,16,100,36,64                ; vmovups       0x40(%rsp),%ymm4
+  DB  197,252,92,196                      ; vsubps        %ymm4,%ymm0,%ymm0
+  DB  197,228,89,192                      ; vmulps        %ymm0,%ymm3,%ymm0
+  DB  197,220,88,192                      ; vaddps        %ymm0,%ymm4,%ymm0
+  DB  197,252,16,164,36,192,0,0,0         ; vmovups       0xc0(%rsp),%ymm4
+  DB  197,244,92,204                      ; vsubps        %ymm4,%ymm1,%ymm1
+  DB  197,228,89,201                      ; vmulps        %ymm1,%ymm3,%ymm1
+  DB  197,220,88,201                      ; vaddps        %ymm1,%ymm4,%ymm1
+  DB  197,252,16,164,36,160,0,0,0         ; vmovups       0xa0(%rsp),%ymm4
+  DB  197,236,92,212                      ; vsubps        %ymm4,%ymm2,%ymm2
+  DB  197,228,89,210                      ; vmulps        %ymm2,%ymm3,%ymm2
+  DB  197,220,88,210                      ; vaddps        %ymm2,%ymm4,%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,16,156,36,160,1,0,0         ; vmovups       0x1a0(%rsp),%ymm3
+  DB  197,252,16,164,36,192,1,0,0         ; vmovups       0x1c0(%rsp),%ymm4
+  DB  197,252,16,172,36,224,1,0,0         ; vmovups       0x1e0(%rsp),%ymm5
+  DB  197,252,16,180,36,0,2,0,0           ; vmovups       0x200(%rsp),%ymm6
+  DB  197,252,16,188,36,32,2,0,0          ; vmovups       0x220(%rsp),%ymm7
+  DB  72,129,196,88,2,0,0                 ; add           $0x258,%rsp
+  DB  91                                  ; pop           %rbx
+  DB  65,92                               ; pop           %r12
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_clut_4D_avx
+_sk_clut_4D_avx LABEL PROC
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,84                               ; push          %r12
+  DB  83                                  ; push          %rbx
+  DB  72,129,236,88,3,0,0                 ; sub           $0x358,%rsp
+  DB  197,252,17,188,36,32,3,0,0          ; vmovups       %ymm7,0x320(%rsp)
+  DB  197,252,17,180,36,0,3,0,0           ; vmovups       %ymm6,0x300(%rsp)
+  DB  197,252,17,172,36,224,2,0,0         ; vmovups       %ymm5,0x2e0(%rsp)
+  DB  197,252,17,164,36,192,2,0,0         ; vmovups       %ymm4,0x2c0(%rsp)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  68,139,64,20                        ; mov           0x14(%rax),%r8d
+  DB  69,141,72,255                       ; lea           -0x1(%r8),%r9d
+  DB  196,193,121,110,225                 ; vmovd         %r9d,%xmm4
+  DB  197,249,112,228,0                   ; vpshufd       $0x0,%xmm4,%xmm4
+  DB  196,227,93,24,228,1                 ; vinsertf128   $0x1,%xmm4,%ymm4,%ymm4
+  DB  197,252,91,228                      ; vcvtdq2ps     %ymm4,%ymm4
+  DB  197,92,89,203                       ; vmulps        %ymm3,%ymm4,%ymm9
+  DB  197,124,17,140,36,96,2,0,0          ; vmovups       %ymm9,0x260(%rsp)
+  DB  68,139,72,16                        ; mov           0x10(%rax),%r9d
+  DB  69,141,81,255                       ; lea           -0x1(%r9),%r10d
+  DB  196,193,121,110,218                 ; vmovd         %r10d,%xmm3
+  DB  197,249,112,219,0                   ; vpshufd       $0x0,%xmm3,%xmm3
+  DB  196,227,101,24,219,1                ; vinsertf128   $0x1,%xmm3,%ymm3,%ymm3
+  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
+  DB  197,228,89,210                      ; vmulps        %ymm2,%ymm3,%ymm2
+  DB  197,252,17,148,36,128,1,0,0         ; vmovups       %ymm2,0x180(%rsp)
+  DB  197,254,91,218                      ; vcvttps2dq    %ymm2,%ymm3
+  DB  196,227,125,25,218,1                ; vextractf128  $0x1,%ymm3,%xmm2
+  DB  197,253,111,251                     ; vmovdqa       %ymm3,%ymm7
+  DB  197,254,127,188,36,192,1,0,0        ; vmovdqu       %ymm7,0x1c0(%rsp)
+  DB  196,193,121,110,216                 ; vmovd         %r8d,%xmm3
+  DB  197,249,112,227,0                   ; vpshufd       $0x0,%xmm3,%xmm4
+  DB  196,226,89,64,242                   ; vpmulld       %xmm2,%xmm4,%xmm6
+  DB  197,249,111,236                     ; vmovdqa       %xmm4,%xmm5
+  DB  197,249,127,108,36,64               ; vmovdqa       %xmm5,0x40(%rsp)
+  DB  197,249,127,180,36,32,1,0,0         ; vmovdqa       %xmm6,0x120(%rsp)
+  DB  196,193,121,110,209                 ; vmovd         %r9d,%xmm2
+  DB  196,226,105,64,211                  ; vpmulld       %xmm3,%xmm2,%xmm2
+  DB  197,121,112,194,0                   ; vpshufd       $0x0,%xmm2,%xmm8
+  DB  68,139,64,12                        ; mov           0xc(%rax),%r8d
+  DB  69,141,72,255                       ; lea           -0x1(%r8),%r9d
+  DB  196,193,121,110,217                 ; vmovd         %r9d,%xmm3
+  DB  197,249,112,219,0                   ; vpshufd       $0x0,%xmm3,%xmm3
+  DB  196,227,101,24,219,1                ; vinsertf128   $0x1,%xmm3,%ymm3,%ymm3
+  DB  197,252,91,219                      ; vcvtdq2ps     %ymm3,%ymm3
+  DB  197,228,89,201                      ; vmulps        %ymm1,%ymm3,%ymm1
+  DB  197,252,17,140,36,0,1,0,0           ; vmovups       %ymm1,0x100(%rsp)
+  DB  197,254,91,217                      ; vcvttps2dq    %ymm1,%ymm3
+  DB  196,227,125,25,217,1                ; vextractf128  $0x1,%ymm3,%xmm1
+  DB  197,125,111,211                     ; vmovdqa       %ymm3,%ymm10
+  DB  197,126,127,148,36,64,1,0,0         ; vmovdqu       %ymm10,0x140(%rsp)
+  DB  196,226,57,64,217                   ; vpmulld       %xmm1,%xmm8,%xmm3
+  DB  197,249,127,156,36,96,1,0,0         ; vmovdqa       %xmm3,0x160(%rsp)
+  DB  196,193,121,110,200                 ; vmovd         %r8d,%xmm1
+  DB  196,226,113,64,202                  ; vpmulld       %xmm2,%xmm1,%xmm1
+  DB  197,249,112,225,0                   ; vpshufd       $0x0,%xmm1,%xmm4
+  DB  68,139,64,8                         ; mov           0x8(%rax),%r8d
+  DB  65,255,200                          ; dec           %r8d
+  DB  196,193,121,110,200                 ; vmovd         %r8d,%xmm1
+  DB  197,249,112,201,0                   ; vpshufd       $0x0,%xmm1,%xmm1
+  DB  196,227,117,24,201,1                ; vinsertf128   $0x1,%xmm1,%ymm1,%ymm1
+  DB  197,252,91,201                      ; vcvtdq2ps     %ymm1,%ymm1
+  DB  197,116,89,248                      ; vmulps        %ymm0,%ymm1,%ymm15
+  DB  196,65,126,91,223                   ; vcvttps2dq    %ymm15,%ymm11
+  DB  196,99,125,25,216,1                 ; vextractf128  $0x1,%ymm11,%xmm0
+  DB  196,226,89,64,208                   ; vpmulld       %xmm0,%xmm4,%xmm2
+  DB  197,249,127,20,36                   ; vmovdqa       %xmm2,(%rsp)
+  DB  72,139,0                            ; mov           (%rax),%rax
+  DB  196,193,126,91,201                  ; vcvttps2dq    %ymm9,%ymm1
+  DB  197,254,127,140,36,64,2,0,0         ; vmovdqu       %ymm1,0x240(%rsp)
+  DB  196,227,125,25,200,1                ; vextractf128  $0x1,%ymm1,%xmm0
+  DB  197,249,127,132,36,224,0,0,0        ; vmovdqa       %xmm0,0xe0(%rsp)
+  DB  197,201,254,192                     ; vpaddd        %xmm0,%xmm6,%xmm0
+  DB  197,249,127,132,36,160,0,0,0        ; vmovdqa       %xmm0,0xa0(%rsp)
+  DB  197,225,254,216                     ; vpaddd        %xmm0,%xmm3,%xmm3
+  DB  197,233,254,195                     ; vpaddd        %xmm3,%xmm2,%xmm0
+  DB  196,98,121,24,13,101,34,2,0         ; vbroadcastss  0x22265(%rip),%xmm9        # 34c38 <_sk_srcover_bgra_8888_sse2_lowp+0x420>
+  DB  196,194,121,64,209                  ; vpmulld       %xmm9,%xmm0,%xmm2
+  DB  196,226,81,64,199                   ; vpmulld       %xmm7,%xmm5,%xmm0
+  DB  197,249,127,132,36,224,1,0,0        ; vmovdqa       %xmm0,0x1e0(%rsp)
+  DB  197,121,254,241                     ; vpaddd        %xmm1,%xmm0,%xmm14
+  DB  196,194,57,64,194                   ; vpmulld       %xmm10,%xmm8,%xmm0
+  DB  197,249,127,68,36,112               ; vmovdqa       %xmm0,0x70(%rsp)
+  DB  196,193,121,254,206                 ; vpaddd        %xmm14,%xmm0,%xmm1
+  DB  196,194,89,64,195                   ; vpmulld       %xmm11,%xmm4,%xmm0
+  DB  197,249,127,68,36,16                ; vmovdqa       %xmm0,0x10(%rsp)
+  DB  197,249,254,193                     ; vpaddd        %xmm1,%xmm0,%xmm0
+  DB  196,194,121,64,193                  ; vpmulld       %xmm9,%xmm0,%xmm0
+  DB  196,193,121,126,192                 ; vmovd         %xmm0,%r8d
+  DB  196,195,121,22,193,1                ; vpextrd       $0x1,%xmm0,%r9d
+  DB  196,195,121,22,194,2                ; vpextrd       $0x2,%xmm0,%r10d
+  DB  196,195,121,22,195,3                ; vpextrd       $0x3,%xmm0,%r11d
+  DB  196,193,121,126,215                 ; vmovd         %xmm2,%r15d
+  DB  196,195,121,22,214,1                ; vpextrd       $0x1,%xmm2,%r14d
+  DB  196,195,121,22,212,2                ; vpextrd       $0x2,%xmm2,%r12d
+  DB  196,227,121,22,211,3                ; vpextrd       $0x3,%xmm2,%ebx
+  DB  196,161,122,16,44,184               ; vmovss        (%rax,%r15,4),%xmm5
+  DB  196,163,81,33,44,176,16             ; vinsertps     $0x10,(%rax,%r14,4),%xmm5,%xmm5
+  DB  196,163,81,33,44,160,32             ; vinsertps     $0x20,(%rax,%r12,4),%xmm5,%xmm5
+  DB  196,227,81,33,44,152,48             ; vinsertps     $0x30,(%rax,%rbx,4),%xmm5,%xmm5
+  DB  196,161,122,16,60,128               ; vmovss        (%rax,%r8,4),%xmm7
+  DB  196,163,65,33,60,136,16             ; vinsertps     $0x10,(%rax,%r9,4),%xmm7,%xmm7
+  DB  196,163,65,33,60,144,32             ; vinsertps     $0x20,(%rax,%r10,4),%xmm7,%xmm7
+  DB  196,163,65,33,60,152,48             ; vinsertps     $0x30,(%rax,%r11,4),%xmm7,%xmm7
+  DB  196,99,69,24,237,1                  ; vinsertf128   $0x1,%xmm5,%ymm7,%ymm13
+  DB  197,201,118,246                     ; vpcmpeqd      %xmm6,%xmm6,%xmm6
+  DB  197,249,250,238                     ; vpsubd        %xmm6,%xmm0,%xmm5
+  DB  196,195,249,22,232,1                ; vpextrq       $0x1,%xmm5,%r8
+  DB  196,193,249,126,233                 ; vmovq         %xmm5,%r9
+  DB  197,233,250,238                     ; vpsubd        %xmm6,%xmm2,%xmm5
+  DB  196,195,249,22,234,1                ; vpextrq       $0x1,%xmm5,%r10
+  DB  196,225,249,126,235                 ; vmovq         %xmm5,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,44,152               ; vmovss        (%rax,%r11,4),%xmm5
+  DB  196,227,81,33,44,152,16             ; vinsertps     $0x10,(%rax,%rbx,4),%xmm5,%xmm5
+  DB  196,161,122,16,60,176               ; vmovss        (%rax,%r14,4),%xmm7
+  DB  196,227,81,33,239,32                ; vinsertps     $0x20,%xmm7,%xmm5,%xmm5
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,60,144               ; vmovss        (%rax,%r10,4),%xmm7
+  DB  196,227,81,33,239,48                ; vinsertps     $0x30,%xmm7,%xmm5,%xmm5
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,60,152                   ; vmovss        (%rax,%rbx,4),%xmm7
+  DB  196,163,65,33,60,136,16             ; vinsertps     $0x10,(%rax,%r9,4),%xmm7,%xmm7
+  DB  196,161,122,16,52,144               ; vmovss        (%rax,%r10,4),%xmm6
+  DB  196,227,65,33,246,32                ; vinsertps     $0x20,%xmm6,%xmm7,%xmm6
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,60,128               ; vmovss        (%rax,%r8,4),%xmm7
+  DB  196,227,73,33,247,48                ; vinsertps     $0x30,%xmm7,%xmm6,%xmm6
+  DB  196,227,77,24,237,1                 ; vinsertf128   $0x1,%xmm5,%ymm6,%ymm5
+  DB  196,98,121,24,21,198,31,2,0         ; vbroadcastss  0x21fc6(%rip),%xmm10        # 34ad4 <_sk_srcover_bgra_8888_sse2_lowp+0x2bc>
+  DB  196,193,121,254,194                 ; vpaddd        %xmm10,%xmm0,%xmm0
+  DB  196,195,249,22,192,1                ; vpextrq       $0x1,%xmm0,%r8
+  DB  196,193,249,126,193                 ; vmovq         %xmm0,%r9
+  DB  196,193,105,254,194                 ; vpaddd        %xmm10,%xmm2,%xmm0
+  DB  196,195,249,22,194,1                ; vpextrq       $0x1,%xmm0,%r10
+  DB  196,225,249,126,195                 ; vmovq         %xmm0,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,4,152                ; vmovss        (%rax,%r11,4),%xmm0
+  DB  196,227,121,33,4,152,16             ; vinsertps     $0x10,(%rax,%rbx,4),%xmm0,%xmm0
+  DB  196,161,122,16,20,176               ; vmovss        (%rax,%r14,4),%xmm2
+  DB  196,227,121,33,194,32               ; vinsertps     $0x20,%xmm2,%xmm0,%xmm0
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,20,144               ; vmovss        (%rax,%r10,4),%xmm2
+  DB  196,227,121,33,194,48               ; vinsertps     $0x30,%xmm2,%xmm0,%xmm0
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,20,152                   ; vmovss        (%rax,%rbx,4),%xmm2
+  DB  196,163,105,33,20,136,16            ; vinsertps     $0x10,(%rax,%r9,4),%xmm2,%xmm2
+  DB  196,161,122,16,52,144               ; vmovss        (%rax,%r10,4),%xmm6
+  DB  196,227,105,33,214,32               ; vinsertps     $0x20,%xmm6,%xmm2,%xmm2
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,52,128               ; vmovss        (%rax,%r8,4),%xmm6
+  DB  196,227,105,33,214,48               ; vinsertps     $0x30,%xmm6,%xmm2,%xmm2
+  DB  196,227,109,24,208,1                ; vinsertf128   $0x1,%xmm0,%ymm2,%ymm2
+  DB  196,98,125,24,37,146,32,2,0         ; vbroadcastss  0x22092(%rip),%ymm12        # 34c34 <_sk_srcover_bgra_8888_sse2_lowp+0x41c>
+  DB  196,193,4,88,196                    ; vaddps        %ymm12,%ymm15,%ymm0
+  DB  197,124,17,164,36,128,0,0,0         ; vmovups       %ymm12,0x80(%rsp)
+  DB  197,254,91,192                      ; vcvttps2dq    %ymm0,%ymm0
+  DB  196,227,125,25,198,1                ; vextractf128  $0x1,%ymm0,%xmm6
+  DB  196,226,89,64,246                   ; vpmulld       %xmm6,%xmm4,%xmm6
+  DB  197,249,127,116,36,48               ; vmovdqa       %xmm6,0x30(%rsp)
+  DB  196,226,89,64,192                   ; vpmulld       %xmm0,%xmm4,%xmm0
+  DB  197,249,127,68,36,32                ; vmovdqa       %xmm0,0x20(%rsp)
+  DB  197,249,254,193                     ; vpaddd        %xmm1,%xmm0,%xmm0
+  DB  197,201,254,203                     ; vpaddd        %xmm3,%xmm6,%xmm1
+  DB  196,194,113,64,201                  ; vpmulld       %xmm9,%xmm1,%xmm1
+  DB  196,194,121,64,225                  ; vpmulld       %xmm9,%xmm0,%xmm4
+  DB  196,193,121,126,225                 ; vmovd         %xmm4,%r9d
+  DB  196,195,121,22,224,1                ; vpextrd       $0x1,%xmm4,%r8d
+  DB  196,195,121,22,226,2                ; vpextrd       $0x2,%xmm4,%r10d
+  DB  196,195,121,22,227,3                ; vpextrd       $0x3,%xmm4,%r11d
+  DB  196,193,121,126,207                 ; vmovd         %xmm1,%r15d
+  DB  196,195,121,22,206,1                ; vpextrd       $0x1,%xmm1,%r14d
+  DB  196,195,121,22,204,2                ; vpextrd       $0x2,%xmm1,%r12d
+  DB  196,227,121,22,203,3                ; vpextrd       $0x3,%xmm1,%ebx
+  DB  196,161,122,16,4,184                ; vmovss        (%rax,%r15,4),%xmm0
+  DB  196,163,121,33,4,176,16             ; vinsertps     $0x10,(%rax,%r14,4),%xmm0,%xmm0
+  DB  196,163,121,33,4,160,32             ; vinsertps     $0x20,(%rax,%r12,4),%xmm0,%xmm0
+  DB  196,227,121,33,4,152,48             ; vinsertps     $0x30,(%rax,%rbx,4),%xmm0,%xmm0
+  DB  196,161,122,16,28,136               ; vmovss        (%rax,%r9,4),%xmm3
+  DB  196,163,97,33,28,128,16             ; vinsertps     $0x10,(%rax,%r8,4),%xmm3,%xmm3
+  DB  196,163,97,33,28,144,32             ; vinsertps     $0x20,(%rax,%r10,4),%xmm3,%xmm3
+  DB  196,163,97,33,28,152,48             ; vinsertps     $0x30,(%rax,%r11,4),%xmm3,%xmm3
+  DB  196,227,101,24,192,1                ; vinsertf128   $0x1,%xmm0,%ymm3,%ymm0
+  DB  197,201,118,246                     ; vpcmpeqd      %xmm6,%xmm6,%xmm6
+  DB  197,217,250,222                     ; vpsubd        %xmm6,%xmm4,%xmm3
+  DB  196,195,249,22,216,1                ; vpextrq       $0x1,%xmm3,%r8
+  DB  196,193,249,126,217                 ; vmovq         %xmm3,%r9
+  DB  197,241,250,222                     ; vpsubd        %xmm6,%xmm1,%xmm3
+  DB  196,195,249,22,218,1                ; vpextrq       $0x1,%xmm3,%r10
+  DB  196,225,249,126,219                 ; vmovq         %xmm3,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,28,152               ; vmovss        (%rax,%r11,4),%xmm3
+  DB  196,227,97,33,28,152,16             ; vinsertps     $0x10,(%rax,%rbx,4),%xmm3,%xmm3
+  DB  196,161,122,16,52,176               ; vmovss        (%rax,%r14,4),%xmm6
+  DB  196,227,97,33,222,32                ; vinsertps     $0x20,%xmm6,%xmm3,%xmm3
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,52,144               ; vmovss        (%rax,%r10,4),%xmm6
+  DB  196,227,97,33,222,48                ; vinsertps     $0x30,%xmm6,%xmm3,%xmm3
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,52,152                   ; vmovss        (%rax,%rbx,4),%xmm6
+  DB  196,163,73,33,52,136,16             ; vinsertps     $0x10,(%rax,%r9,4),%xmm6,%xmm6
+  DB  196,161,122,16,60,144               ; vmovss        (%rax,%r10,4),%xmm7
+  DB  196,227,73,33,247,32                ; vinsertps     $0x20,%xmm7,%xmm6,%xmm6
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,60,128               ; vmovss        (%rax,%r8,4),%xmm7
+  DB  196,227,73,33,247,48                ; vinsertps     $0x30,%xmm7,%xmm6,%xmm6
+  DB  196,227,77,24,219,1                 ; vinsertf128   $0x1,%xmm3,%ymm6,%ymm3
+  DB  196,193,89,254,226                  ; vpaddd        %xmm10,%xmm4,%xmm4
+  DB  196,195,249,22,224,1                ; vpextrq       $0x1,%xmm4,%r8
+  DB  196,193,249,126,225                 ; vmovq         %xmm4,%r9
+  DB  196,193,113,254,202                 ; vpaddd        %xmm10,%xmm1,%xmm1
+  DB  196,195,249,22,202,1                ; vpextrq       $0x1,%xmm1,%r10
+  DB  196,225,249,126,203                 ; vmovq         %xmm1,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,12,152               ; vmovss        (%rax,%r11,4),%xmm1
+  DB  196,227,113,33,12,152,16            ; vinsertps     $0x10,(%rax,%rbx,4),%xmm1,%xmm1
+  DB  196,161,122,16,36,176               ; vmovss        (%rax,%r14,4),%xmm4
+  DB  196,227,113,33,204,32               ; vinsertps     $0x20,%xmm4,%xmm1,%xmm1
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,36,144               ; vmovss        (%rax,%r10,4),%xmm4
+  DB  196,227,113,33,204,48               ; vinsertps     $0x30,%xmm4,%xmm1,%xmm1
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,36,152                   ; vmovss        (%rax,%rbx,4),%xmm4
+  DB  196,163,89,33,36,136,16             ; vinsertps     $0x10,(%rax,%r9,4),%xmm4,%xmm4
+  DB  196,161,122,16,52,144               ; vmovss        (%rax,%r10,4),%xmm6
+  DB  196,227,89,33,230,32                ; vinsertps     $0x20,%xmm6,%xmm4,%xmm4
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,52,128               ; vmovss        (%rax,%r8,4),%xmm6
+  DB  196,227,89,33,230,48                ; vinsertps     $0x30,%xmm6,%xmm4,%xmm4
+  DB  196,227,93,24,201,1                 ; vinsertf128   $0x1,%xmm1,%ymm4,%ymm1
+  DB  196,193,124,91,227                  ; vcvtdq2ps     %ymm11,%ymm4
+  DB  197,4,92,252                        ; vsubps        %ymm4,%ymm15,%ymm15
+  DB  196,193,124,92,197                  ; vsubps        %ymm13,%ymm0,%ymm0
+  DB  197,132,89,192                      ; vmulps        %ymm0,%ymm15,%ymm0
+  DB  197,148,88,192                      ; vaddps        %ymm0,%ymm13,%ymm0
+  DB  197,252,17,132,36,160,1,0,0         ; vmovups       %ymm0,0x1a0(%rsp)
+  DB  197,228,92,197                      ; vsubps        %ymm5,%ymm3,%ymm0
+  DB  197,132,89,192                      ; vmulps        %ymm0,%ymm15,%ymm0
+  DB  197,212,88,192                      ; vaddps        %ymm0,%ymm5,%ymm0
+  DB  197,252,17,132,36,192,0,0,0         ; vmovups       %ymm0,0xc0(%rsp)
+  DB  197,244,92,194                      ; vsubps        %ymm2,%ymm1,%ymm0
+  DB  197,132,89,192                      ; vmulps        %ymm0,%ymm15,%ymm0
+  DB  197,108,88,232                      ; vaddps        %ymm0,%ymm2,%ymm13
+  DB  197,124,16,156,36,0,1,0,0           ; vmovups       0x100(%rsp),%ymm11
+  DB  196,193,36,88,196                   ; vaddps        %ymm12,%ymm11,%ymm0
+  DB  197,254,91,192                      ; vcvttps2dq    %ymm0,%ymm0
+  DB  196,226,57,64,200                   ; vpmulld       %xmm0,%xmm8,%xmm1
+  DB  197,249,127,76,36,96                ; vmovdqa       %xmm1,0x60(%rsp)
+  DB  196,227,125,25,192,1                ; vextractf128  $0x1,%ymm0,%xmm0
+  DB  196,226,57,64,192                   ; vpmulld       %xmm0,%xmm8,%xmm0
+  DB  197,249,127,68,36,80                ; vmovdqa       %xmm0,0x50(%rsp)
+  DB  197,249,254,172,36,160,0,0,0        ; vpaddd        0xa0(%rsp),%xmm0,%xmm5
+  DB  196,193,113,254,198                 ; vpaddd        %xmm14,%xmm1,%xmm0
+  DB  197,121,111,36,36                   ; vmovdqa       (%rsp),%xmm12
+  DB  196,193,81,254,204                  ; vpaddd        %xmm12,%xmm5,%xmm1
+  DB  196,194,113,64,209                  ; vpmulld       %xmm9,%xmm1,%xmm2
+  DB  197,121,111,68,36,16                ; vmovdqa       0x10(%rsp),%xmm8
+  DB  196,193,121,254,200                 ; vpaddd        %xmm8,%xmm0,%xmm1
+  DB  196,194,113,64,241                  ; vpmulld       %xmm9,%xmm1,%xmm6
+  DB  196,193,121,126,241                 ; vmovd         %xmm6,%r9d
+  DB  196,195,121,22,240,1                ; vpextrd       $0x1,%xmm6,%r8d
+  DB  196,195,121,22,242,2                ; vpextrd       $0x2,%xmm6,%r10d
+  DB  196,195,121,22,243,3                ; vpextrd       $0x3,%xmm6,%r11d
+  DB  196,193,121,126,215                 ; vmovd         %xmm2,%r15d
+  DB  196,195,121,22,214,1                ; vpextrd       $0x1,%xmm2,%r14d
+  DB  196,195,121,22,212,2                ; vpextrd       $0x2,%xmm2,%r12d
+  DB  196,227,121,22,211,3                ; vpextrd       $0x3,%xmm2,%ebx
+  DB  196,161,122,16,12,184               ; vmovss        (%rax,%r15,4),%xmm1
+  DB  196,163,113,33,12,176,16            ; vinsertps     $0x10,(%rax,%r14,4),%xmm1,%xmm1
+  DB  196,163,113,33,12,160,32            ; vinsertps     $0x20,(%rax,%r12,4),%xmm1,%xmm1
+  DB  196,227,113,33,12,152,48            ; vinsertps     $0x30,(%rax,%rbx,4),%xmm1,%xmm1
+  DB  196,161,122,16,28,136               ; vmovss        (%rax,%r9,4),%xmm3
+  DB  196,163,97,33,28,128,16             ; vinsertps     $0x10,(%rax,%r8,4),%xmm3,%xmm3
+  DB  196,163,97,33,28,144,32             ; vinsertps     $0x20,(%rax,%r10,4),%xmm3,%xmm3
+  DB  196,163,97,33,28,152,48             ; vinsertps     $0x30,(%rax,%r11,4),%xmm3,%xmm3
+  DB  196,99,101,24,241,1                 ; vinsertf128   $0x1,%xmm1,%ymm3,%ymm14
+  DB  197,225,118,219                     ; vpcmpeqd      %xmm3,%xmm3,%xmm3
+  DB  197,201,250,203                     ; vpsubd        %xmm3,%xmm6,%xmm1
+  DB  196,195,249,22,200,1                ; vpextrq       $0x1,%xmm1,%r8
+  DB  196,193,249,126,201                 ; vmovq         %xmm1,%r9
+  DB  197,233,250,203                     ; vpsubd        %xmm3,%xmm2,%xmm1
+  DB  196,195,249,22,202,1                ; vpextrq       $0x1,%xmm1,%r10
+  DB  196,225,249,126,203                 ; vmovq         %xmm1,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,12,152               ; vmovss        (%rax,%r11,4),%xmm1
+  DB  196,227,113,33,12,152,16            ; vinsertps     $0x10,(%rax,%rbx,4),%xmm1,%xmm1
+  DB  196,161,122,16,28,176               ; vmovss        (%rax,%r14,4),%xmm3
+  DB  196,227,113,33,203,32               ; vinsertps     $0x20,%xmm3,%xmm1,%xmm1
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,28,144               ; vmovss        (%rax,%r10,4),%xmm3
+  DB  196,227,113,33,203,48               ; vinsertps     $0x30,%xmm3,%xmm1,%xmm1
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,28,152                   ; vmovss        (%rax,%rbx,4),%xmm3
+  DB  196,163,97,33,28,136,16             ; vinsertps     $0x10,(%rax,%r9,4),%xmm3,%xmm3
+  DB  196,161,122,16,36,144               ; vmovss        (%rax,%r10,4),%xmm4
+  DB  196,227,97,33,220,32                ; vinsertps     $0x20,%xmm4,%xmm3,%xmm3
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,36,128               ; vmovss        (%rax,%r8,4),%xmm4
+  DB  196,227,97,33,220,48                ; vinsertps     $0x30,%xmm4,%xmm3,%xmm3
+  DB  196,227,101,24,201,1                ; vinsertf128   $0x1,%xmm1,%ymm3,%ymm1
+  DB  196,193,73,254,218                  ; vpaddd        %xmm10,%xmm6,%xmm3
+  DB  196,195,249,22,216,1                ; vpextrq       $0x1,%xmm3,%r8
+  DB  196,193,249,126,217                 ; vmovq         %xmm3,%r9
+  DB  196,193,105,254,210                 ; vpaddd        %xmm10,%xmm2,%xmm2
+  DB  196,195,249,22,210,1                ; vpextrq       $0x1,%xmm2,%r10
+  DB  196,225,249,126,211                 ; vmovq         %xmm2,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,20,152               ; vmovss        (%rax,%r11,4),%xmm2
+  DB  196,227,105,33,20,152,16            ; vinsertps     $0x10,(%rax,%rbx,4),%xmm2,%xmm2
+  DB  196,161,122,16,28,176               ; vmovss        (%rax,%r14,4),%xmm3
+  DB  196,227,105,33,211,32               ; vinsertps     $0x20,%xmm3,%xmm2,%xmm2
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,28,144               ; vmovss        (%rax,%r10,4),%xmm3
+  DB  196,227,105,33,211,48               ; vinsertps     $0x30,%xmm3,%xmm2,%xmm2
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,28,152                   ; vmovss        (%rax,%rbx,4),%xmm3
+  DB  196,163,97,33,28,136,16             ; vinsertps     $0x10,(%rax,%r9,4),%xmm3,%xmm3
+  DB  196,161,122,16,36,144               ; vmovss        (%rax,%r10,4),%xmm4
+  DB  196,227,97,33,220,32                ; vinsertps     $0x20,%xmm4,%xmm3,%xmm3
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,36,128               ; vmovss        (%rax,%r8,4),%xmm4
+  DB  196,227,97,33,220,48                ; vinsertps     $0x30,%xmm4,%xmm3,%xmm3
+  DB  196,227,101,24,242,1                ; vinsertf128   $0x1,%xmm2,%ymm3,%ymm6
+  DB  197,249,254,68,36,32                ; vpaddd        0x20(%rsp),%xmm0,%xmm0
+  DB  197,209,254,84,36,48                ; vpaddd        0x30(%rsp),%xmm5,%xmm2
+  DB  196,194,105,64,209                  ; vpmulld       %xmm9,%xmm2,%xmm2
+  DB  196,194,121,64,233                  ; vpmulld       %xmm9,%xmm0,%xmm5
+  DB  196,193,121,126,233                 ; vmovd         %xmm5,%r9d
+  DB  196,195,121,22,232,1                ; vpextrd       $0x1,%xmm5,%r8d
+  DB  196,195,121,22,234,2                ; vpextrd       $0x2,%xmm5,%r10d
+  DB  196,195,121,22,235,3                ; vpextrd       $0x3,%xmm5,%r11d
+  DB  196,193,121,126,215                 ; vmovd         %xmm2,%r15d
+  DB  196,195,121,22,214,1                ; vpextrd       $0x1,%xmm2,%r14d
+  DB  196,195,121,22,212,2                ; vpextrd       $0x2,%xmm2,%r12d
+  DB  196,227,121,22,211,3                ; vpextrd       $0x3,%xmm2,%ebx
+  DB  196,161,122,16,4,184                ; vmovss        (%rax,%r15,4),%xmm0
+  DB  196,163,121,33,4,176,16             ; vinsertps     $0x10,(%rax,%r14,4),%xmm0,%xmm0
+  DB  196,163,121,33,4,160,32             ; vinsertps     $0x20,(%rax,%r12,4),%xmm0,%xmm0
+  DB  196,227,121,33,4,152,48             ; vinsertps     $0x30,(%rax,%rbx,4),%xmm0,%xmm0
+  DB  196,161,122,16,28,136               ; vmovss        (%rax,%r9,4),%xmm3
+  DB  196,163,97,33,28,128,16             ; vinsertps     $0x10,(%rax,%r8,4),%xmm3,%xmm3
+  DB  196,163,97,33,28,144,32             ; vinsertps     $0x20,(%rax,%r10,4),%xmm3,%xmm3
+  DB  196,163,97,33,28,152,48             ; vinsertps     $0x30,(%rax,%r11,4),%xmm3,%xmm3
+  DB  196,227,101,24,192,1                ; vinsertf128   $0x1,%xmm0,%ymm3,%ymm0
+  DB  197,217,118,228                     ; vpcmpeqd      %xmm4,%xmm4,%xmm4
+  DB  197,209,250,220                     ; vpsubd        %xmm4,%xmm5,%xmm3
+  DB  196,195,249,22,216,1                ; vpextrq       $0x1,%xmm3,%r8
+  DB  196,193,249,126,217                 ; vmovq         %xmm3,%r9
+  DB  197,233,250,220                     ; vpsubd        %xmm4,%xmm2,%xmm3
+  DB  196,195,249,22,218,1                ; vpextrq       $0x1,%xmm3,%r10
+  DB  196,225,249,126,219                 ; vmovq         %xmm3,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,28,152               ; vmovss        (%rax,%r11,4),%xmm3
+  DB  196,227,97,33,28,152,16             ; vinsertps     $0x10,(%rax,%rbx,4),%xmm3,%xmm3
+  DB  196,161,122,16,36,176               ; vmovss        (%rax,%r14,4),%xmm4
+  DB  196,227,97,33,220,32                ; vinsertps     $0x20,%xmm4,%xmm3,%xmm3
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,36,144               ; vmovss        (%rax,%r10,4),%xmm4
+  DB  196,227,97,33,220,48                ; vinsertps     $0x30,%xmm4,%xmm3,%xmm3
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,36,152                   ; vmovss        (%rax,%rbx,4),%xmm4
+  DB  196,163,89,33,36,136,16             ; vinsertps     $0x10,(%rax,%r9,4),%xmm4,%xmm4
+  DB  196,161,122,16,60,144               ; vmovss        (%rax,%r10,4),%xmm7
+  DB  196,227,89,33,231,32                ; vinsertps     $0x20,%xmm7,%xmm4,%xmm4
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,60,128               ; vmovss        (%rax,%r8,4),%xmm7
+  DB  196,227,89,33,231,48                ; vinsertps     $0x30,%xmm7,%xmm4,%xmm4
+  DB  196,227,93,24,219,1                 ; vinsertf128   $0x1,%xmm3,%ymm4,%ymm3
+  DB  196,193,81,254,226                  ; vpaddd        %xmm10,%xmm5,%xmm4
+  DB  196,195,249,22,224,1                ; vpextrq       $0x1,%xmm4,%r8
+  DB  196,193,249,126,225                 ; vmovq         %xmm4,%r9
+  DB  196,193,105,254,210                 ; vpaddd        %xmm10,%xmm2,%xmm2
+  DB  196,195,249,22,210,1                ; vpextrq       $0x1,%xmm2,%r10
+  DB  196,225,249,126,211                 ; vmovq         %xmm2,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,20,152               ; vmovss        (%rax,%r11,4),%xmm2
+  DB  196,227,105,33,20,152,16            ; vinsertps     $0x10,(%rax,%rbx,4),%xmm2,%xmm2
+  DB  196,161,122,16,36,176               ; vmovss        (%rax,%r14,4),%xmm4
+  DB  196,227,105,33,212,32               ; vinsertps     $0x20,%xmm4,%xmm2,%xmm2
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,36,144               ; vmovss        (%rax,%r10,4),%xmm4
+  DB  196,227,105,33,212,48               ; vinsertps     $0x30,%xmm4,%xmm2,%xmm2
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,36,152                   ; vmovss        (%rax,%rbx,4),%xmm4
+  DB  196,163,89,33,36,136,16             ; vinsertps     $0x10,(%rax,%r9,4),%xmm4,%xmm4
+  DB  196,161,122,16,44,144               ; vmovss        (%rax,%r10,4),%xmm5
+  DB  196,227,89,33,229,32                ; vinsertps     $0x20,%xmm5,%xmm4,%xmm4
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,44,128               ; vmovss        (%rax,%r8,4),%xmm5
+  DB  196,227,89,33,229,48                ; vinsertps     $0x30,%xmm5,%xmm4,%xmm4
+  DB  196,227,93,24,210,1                 ; vinsertf128   $0x1,%xmm2,%ymm4,%ymm2
+  DB  196,193,124,92,198                  ; vsubps        %ymm14,%ymm0,%ymm0
+  DB  197,132,89,192                      ; vmulps        %ymm0,%ymm15,%ymm0
+  DB  197,140,88,192                      ; vaddps        %ymm0,%ymm14,%ymm0
+  DB  197,228,92,217                      ; vsubps        %ymm1,%ymm3,%ymm3
+  DB  197,132,89,219                      ; vmulps        %ymm3,%ymm15,%ymm3
+  DB  197,244,88,203                      ; vaddps        %ymm3,%ymm1,%ymm1
+  DB  197,236,92,214                      ; vsubps        %ymm6,%ymm2,%ymm2
+  DB  197,132,89,210                      ; vmulps        %ymm2,%ymm15,%ymm2
+  DB  197,204,88,210                      ; vaddps        %ymm2,%ymm6,%ymm2
+  DB  197,252,91,156,36,64,1,0,0          ; vcvtdq2ps     0x140(%rsp),%ymm3
+  DB  197,164,92,219                      ; vsubps        %ymm3,%ymm11,%ymm3
+  DB  197,252,17,156,36,64,1,0,0          ; vmovups       %ymm3,0x140(%rsp)
+  DB  197,252,16,164,36,160,1,0,0         ; vmovups       0x1a0(%rsp),%ymm4
+  DB  197,252,92,196                      ; vsubps        %ymm4,%ymm0,%ymm0
+  DB  197,228,89,192                      ; vmulps        %ymm0,%ymm3,%ymm0
+  DB  197,220,88,192                      ; vaddps        %ymm0,%ymm4,%ymm0
+  DB  197,252,17,132,36,0,1,0,0           ; vmovups       %ymm0,0x100(%rsp)
+  DB  197,252,16,164,36,192,0,0,0         ; vmovups       0xc0(%rsp),%ymm4
+  DB  197,244,92,196                      ; vsubps        %ymm4,%ymm1,%ymm0
+  DB  197,228,89,192                      ; vmulps        %ymm0,%ymm3,%ymm0
+  DB  197,220,88,192                      ; vaddps        %ymm0,%ymm4,%ymm0
+  DB  197,252,17,132,36,192,0,0,0         ; vmovups       %ymm0,0xc0(%rsp)
+  DB  196,193,108,92,197                  ; vsubps        %ymm13,%ymm2,%ymm0
+  DB  197,228,89,192                      ; vmulps        %ymm0,%ymm3,%ymm0
+  DB  197,148,88,192                      ; vaddps        %ymm0,%ymm13,%ymm0
+  DB  197,252,17,132,36,160,0,0,0         ; vmovups       %ymm0,0xa0(%rsp)
+  DB  197,252,16,132,36,128,0,0,0         ; vmovups       0x80(%rsp),%ymm0
+  DB  197,252,88,132,36,128,1,0,0         ; vaddps        0x180(%rsp),%ymm0,%ymm0
+  DB  197,254,91,192                      ; vcvttps2dq    %ymm0,%ymm0
+  DB  196,227,125,25,193,1                ; vextractf128  $0x1,%ymm0,%xmm1
+  DB  197,249,111,84,36,64                ; vmovdqa       0x40(%rsp),%xmm2
+  DB  196,226,105,64,201                  ; vpmulld       %xmm1,%xmm2,%xmm1
+  DB  197,249,127,140,36,160,1,0,0        ; vmovdqa       %xmm1,0x1a0(%rsp)
+  DB  196,226,105,64,192                  ; vpmulld       %xmm0,%xmm2,%xmm0
+  DB  197,249,127,68,36,64                ; vmovdqa       %xmm0,0x40(%rsp)
+  DB  197,241,254,140,36,224,0,0,0        ; vpaddd        0xe0(%rsp),%xmm1,%xmm1
+  DB  197,249,127,140,36,48,2,0,0         ; vmovdqa       %xmm1,0x230(%rsp)
+  DB  197,241,254,172,36,96,1,0,0         ; vpaddd        0x160(%rsp),%xmm1,%xmm5
+  DB  196,193,81,254,204                  ; vpaddd        %xmm12,%xmm5,%xmm1
+  DB  196,194,113,64,225                  ; vpmulld       %xmm9,%xmm1,%xmm4
+  DB  197,121,254,180,36,64,2,0,0         ; vpaddd        0x240(%rsp),%xmm0,%xmm14
+  DB  197,137,254,84,36,112               ; vpaddd        0x70(%rsp),%xmm14,%xmm2
+  DB  196,193,105,254,248                 ; vpaddd        %xmm8,%xmm2,%xmm7
+  DB  196,194,65,64,249                   ; vpmulld       %xmm9,%xmm7,%xmm7
+  DB  196,193,121,126,249                 ; vmovd         %xmm7,%r9d
+  DB  196,195,121,22,248,1                ; vpextrd       $0x1,%xmm7,%r8d
+  DB  196,195,121,22,250,2                ; vpextrd       $0x2,%xmm7,%r10d
+  DB  196,195,121,22,251,3                ; vpextrd       $0x3,%xmm7,%r11d
+  DB  196,193,121,126,231                 ; vmovd         %xmm4,%r15d
+  DB  196,195,121,22,230,1                ; vpextrd       $0x1,%xmm4,%r14d
+  DB  196,195,121,22,228,2                ; vpextrd       $0x2,%xmm4,%r12d
+  DB  196,227,121,22,227,3                ; vpextrd       $0x3,%xmm4,%ebx
+  DB  196,161,122,16,28,184               ; vmovss        (%rax,%r15,4),%xmm3
+  DB  196,163,97,33,28,176,16             ; vinsertps     $0x10,(%rax,%r14,4),%xmm3,%xmm3
+  DB  196,163,97,33,28,160,32             ; vinsertps     $0x20,(%rax,%r12,4),%xmm3,%xmm3
+  DB  196,227,97,33,28,152,48             ; vinsertps     $0x30,(%rax,%rbx,4),%xmm3,%xmm3
+  DB  196,161,122,16,52,136               ; vmovss        (%rax,%r9,4),%xmm6
+  DB  196,163,73,33,52,128,16             ; vinsertps     $0x10,(%rax,%r8,4),%xmm6,%xmm6
+  DB  196,163,73,33,52,144,32             ; vinsertps     $0x20,(%rax,%r10,4),%xmm6,%xmm6
+  DB  196,163,73,33,52,152,48             ; vinsertps     $0x30,(%rax,%r11,4),%xmm6,%xmm6
+  DB  196,227,77,24,203,1                 ; vinsertf128   $0x1,%xmm3,%ymm6,%ymm1
+  DB  197,249,118,192                     ; vpcmpeqd      %xmm0,%xmm0,%xmm0
+  DB  197,193,250,216                     ; vpsubd        %xmm0,%xmm7,%xmm3
+  DB  196,195,249,22,216,1                ; vpextrq       $0x1,%xmm3,%r8
+  DB  196,193,249,126,217                 ; vmovq         %xmm3,%r9
+  DB  197,217,250,216                     ; vpsubd        %xmm0,%xmm4,%xmm3
+  DB  196,195,249,22,218,1                ; vpextrq       $0x1,%xmm3,%r10
+  DB  196,225,249,126,219                 ; vmovq         %xmm3,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,28,152               ; vmovss        (%rax,%r11,4),%xmm3
+  DB  196,227,97,33,28,152,16             ; vinsertps     $0x10,(%rax,%rbx,4),%xmm3,%xmm3
+  DB  196,161,122,16,52,176               ; vmovss        (%rax,%r14,4),%xmm6
+  DB  196,227,97,33,222,32                ; vinsertps     $0x20,%xmm6,%xmm3,%xmm3
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,52,144               ; vmovss        (%rax,%r10,4),%xmm6
+  DB  196,227,97,33,222,48                ; vinsertps     $0x30,%xmm6,%xmm3,%xmm3
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,52,152                   ; vmovss        (%rax,%rbx,4),%xmm6
+  DB  196,163,73,33,52,136,16             ; vinsertps     $0x10,(%rax,%r9,4),%xmm6,%xmm6
+  DB  196,161,122,16,4,144                ; vmovss        (%rax,%r10,4),%xmm0
+  DB  196,227,73,33,192,32                ; vinsertps     $0x20,%xmm0,%xmm6,%xmm0
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,52,128               ; vmovss        (%rax,%r8,4),%xmm6
+  DB  196,227,121,33,198,48               ; vinsertps     $0x30,%xmm6,%xmm0,%xmm0
+  DB  196,99,125,24,235,1                 ; vinsertf128   $0x1,%xmm3,%ymm0,%ymm13
+  DB  196,193,65,254,194                  ; vpaddd        %xmm10,%xmm7,%xmm0
+  DB  196,195,249,22,192,1                ; vpextrq       $0x1,%xmm0,%r8
+  DB  196,193,249,126,193                 ; vmovq         %xmm0,%r9
+  DB  196,193,89,254,194                  ; vpaddd        %xmm10,%xmm4,%xmm0
+  DB  196,195,249,22,194,1                ; vpextrq       $0x1,%xmm0,%r10
+  DB  196,225,249,126,195                 ; vmovq         %xmm0,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,4,152                ; vmovss        (%rax,%r11,4),%xmm0
+  DB  196,227,121,33,4,152,16             ; vinsertps     $0x10,(%rax,%rbx,4),%xmm0,%xmm0
+  DB  196,161,122,16,28,176               ; vmovss        (%rax,%r14,4),%xmm3
+  DB  196,227,121,33,195,32               ; vinsertps     $0x20,%xmm3,%xmm0,%xmm0
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,28,144               ; vmovss        (%rax,%r10,4),%xmm3
+  DB  196,227,121,33,195,48               ; vinsertps     $0x30,%xmm3,%xmm0,%xmm0
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,28,152                   ; vmovss        (%rax,%rbx,4),%xmm3
+  DB  196,163,97,33,28,136,16             ; vinsertps     $0x10,(%rax,%r9,4),%xmm3,%xmm3
+  DB  196,161,122,16,36,144               ; vmovss        (%rax,%r10,4),%xmm4
+  DB  196,227,97,33,220,32                ; vinsertps     $0x20,%xmm4,%xmm3,%xmm3
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,36,128               ; vmovss        (%rax,%r8,4),%xmm4
+  DB  196,227,97,33,220,48                ; vinsertps     $0x30,%xmm4,%xmm3,%xmm3
+  DB  196,99,101,24,216,1                 ; vinsertf128   $0x1,%xmm0,%ymm3,%ymm11
+  DB  197,121,111,100,36,32               ; vmovdqa       0x20(%rsp),%xmm12
+  DB  197,153,254,194                     ; vpaddd        %xmm2,%xmm12,%xmm0
+  DB  197,121,111,68,36,48                ; vmovdqa       0x30(%rsp),%xmm8
+  DB  197,185,254,213                     ; vpaddd        %xmm5,%xmm8,%xmm2
+  DB  196,194,105,64,225                  ; vpmulld       %xmm9,%xmm2,%xmm4
+  DB  196,194,121,64,233                  ; vpmulld       %xmm9,%xmm0,%xmm5
+  DB  196,193,121,126,233                 ; vmovd         %xmm5,%r9d
+  DB  196,195,121,22,232,1                ; vpextrd       $0x1,%xmm5,%r8d
+  DB  196,195,121,22,234,2                ; vpextrd       $0x2,%xmm5,%r10d
+  DB  196,195,121,22,235,3                ; vpextrd       $0x3,%xmm5,%r11d
+  DB  196,193,121,126,231                 ; vmovd         %xmm4,%r15d
+  DB  196,195,121,22,230,1                ; vpextrd       $0x1,%xmm4,%r14d
+  DB  196,195,121,22,228,2                ; vpextrd       $0x2,%xmm4,%r12d
+  DB  196,227,121,22,227,3                ; vpextrd       $0x3,%xmm4,%ebx
+  DB  196,161,122,16,4,184                ; vmovss        (%rax,%r15,4),%xmm0
+  DB  196,163,121,33,4,176,16             ; vinsertps     $0x10,(%rax,%r14,4),%xmm0,%xmm0
+  DB  196,163,121,33,4,160,32             ; vinsertps     $0x20,(%rax,%r12,4),%xmm0,%xmm0
+  DB  196,227,121,33,4,152,48             ; vinsertps     $0x30,(%rax,%rbx,4),%xmm0,%xmm0
+  DB  196,161,122,16,20,136               ; vmovss        (%rax,%r9,4),%xmm2
+  DB  196,163,105,33,20,128,16            ; vinsertps     $0x10,(%rax,%r8,4),%xmm2,%xmm2
+  DB  196,163,105,33,20,144,32            ; vinsertps     $0x20,(%rax,%r10,4),%xmm2,%xmm2
+  DB  196,163,105,33,20,152,48            ; vinsertps     $0x30,(%rax,%r11,4),%xmm2,%xmm2
+  DB  196,227,109,24,208,1                ; vinsertf128   $0x1,%xmm0,%ymm2,%ymm2
+  DB  197,225,118,219                     ; vpcmpeqd      %xmm3,%xmm3,%xmm3
+  DB  197,209,250,195                     ; vpsubd        %xmm3,%xmm5,%xmm0
+  DB  196,195,249,22,192,1                ; vpextrq       $0x1,%xmm0,%r8
+  DB  196,193,249,126,193                 ; vmovq         %xmm0,%r9
+  DB  197,217,250,195                     ; vpsubd        %xmm3,%xmm4,%xmm0
+  DB  196,195,249,22,194,1                ; vpextrq       $0x1,%xmm0,%r10
+  DB  196,225,249,126,195                 ; vmovq         %xmm0,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,4,152                ; vmovss        (%rax,%r11,4),%xmm0
+  DB  196,227,121,33,4,152,16             ; vinsertps     $0x10,(%rax,%rbx,4),%xmm0,%xmm0
+  DB  196,161,122,16,28,176               ; vmovss        (%rax,%r14,4),%xmm3
+  DB  196,227,121,33,195,32               ; vinsertps     $0x20,%xmm3,%xmm0,%xmm0
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,28,144               ; vmovss        (%rax,%r10,4),%xmm3
+  DB  196,227,121,33,195,48               ; vinsertps     $0x30,%xmm3,%xmm0,%xmm0
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,28,152                   ; vmovss        (%rax,%rbx,4),%xmm3
+  DB  196,163,97,33,28,136,16             ; vinsertps     $0x10,(%rax,%r9,4),%xmm3,%xmm3
+  DB  196,161,122,16,52,144               ; vmovss        (%rax,%r10,4),%xmm6
+  DB  196,227,97,33,222,32                ; vinsertps     $0x20,%xmm6,%xmm3,%xmm3
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,52,128               ; vmovss        (%rax,%r8,4),%xmm6
+  DB  196,227,97,33,222,48                ; vinsertps     $0x30,%xmm6,%xmm3,%xmm3
+  DB  196,227,101,24,248,1                ; vinsertf128   $0x1,%xmm0,%ymm3,%ymm7
+  DB  196,193,81,254,194                  ; vpaddd        %xmm10,%xmm5,%xmm0
+  DB  196,195,249,22,192,1                ; vpextrq       $0x1,%xmm0,%r8
+  DB  196,193,249,126,193                 ; vmovq         %xmm0,%r9
+  DB  196,193,89,254,194                  ; vpaddd        %xmm10,%xmm4,%xmm0
+  DB  196,195,249,22,194,1                ; vpextrq       $0x1,%xmm0,%r10
+  DB  196,225,249,126,195                 ; vmovq         %xmm0,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,4,152                ; vmovss        (%rax,%r11,4),%xmm0
+  DB  196,227,121,33,4,152,16             ; vinsertps     $0x10,(%rax,%rbx,4),%xmm0,%xmm0
+  DB  196,161,122,16,28,176               ; vmovss        (%rax,%r14,4),%xmm3
+  DB  196,227,121,33,195,32               ; vinsertps     $0x20,%xmm3,%xmm0,%xmm0
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,28,144               ; vmovss        (%rax,%r10,4),%xmm3
+  DB  196,227,121,33,195,48               ; vinsertps     $0x30,%xmm3,%xmm0,%xmm0
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,28,152                   ; vmovss        (%rax,%rbx,4),%xmm3
+  DB  196,163,97,33,28,136,16             ; vinsertps     $0x10,(%rax,%r9,4),%xmm3,%xmm3
+  DB  196,161,122,16,36,144               ; vmovss        (%rax,%r10,4),%xmm4
+  DB  196,227,97,33,220,32                ; vinsertps     $0x20,%xmm4,%xmm3,%xmm3
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,36,128               ; vmovss        (%rax,%r8,4),%xmm4
+  DB  196,227,97,33,220,48                ; vinsertps     $0x30,%xmm4,%xmm3,%xmm3
+  DB  196,227,101,24,192,1                ; vinsertf128   $0x1,%xmm0,%ymm3,%ymm0
+  DB  197,236,92,209                      ; vsubps        %ymm1,%ymm2,%ymm2
+  DB  197,132,89,210                      ; vmulps        %ymm2,%ymm15,%ymm2
+  DB  197,244,88,202                      ; vaddps        %ymm2,%ymm1,%ymm1
+  DB  197,252,17,140,36,224,0,0,0         ; vmovups       %ymm1,0xe0(%rsp)
+  DB  196,193,68,92,213                   ; vsubps        %ymm13,%ymm7,%ymm2
+  DB  197,132,89,210                      ; vmulps        %ymm2,%ymm15,%ymm2
+  DB  197,148,88,202                      ; vaddps        %ymm2,%ymm13,%ymm1
+  DB  197,252,17,140,36,160,2,0,0         ; vmovups       %ymm1,0x2a0(%rsp)
+  DB  196,193,124,92,195                  ; vsubps        %ymm11,%ymm0,%ymm0
+  DB  197,132,89,192                      ; vmulps        %ymm0,%ymm15,%ymm0
+  DB  197,164,88,192                      ; vaddps        %ymm0,%ymm11,%ymm0
+  DB  197,252,17,132,36,128,2,0,0         ; vmovups       %ymm0,0x280(%rsp)
+  DB  197,249,111,132,36,48,2,0,0         ; vmovdqa       0x230(%rsp),%xmm0
+  DB  197,249,254,108,36,80               ; vpaddd        0x50(%rsp),%xmm0,%xmm5
+  DB  197,137,254,100,36,96               ; vpaddd        0x60(%rsp),%xmm14,%xmm4
+  DB  197,209,254,4,36                    ; vpaddd        (%rsp),%xmm5,%xmm0
+  DB  196,66,121,64,217                   ; vpmulld       %xmm9,%xmm0,%xmm11
+  DB  197,121,111,108,36,16               ; vmovdqa       0x10(%rsp),%xmm13
+  DB  196,193,89,254,197                  ; vpaddd        %xmm13,%xmm4,%xmm0
+  DB  196,194,121,64,209                  ; vpmulld       %xmm9,%xmm0,%xmm2
+  DB  196,193,121,126,209                 ; vmovd         %xmm2,%r9d
+  DB  196,195,121,22,208,1                ; vpextrd       $0x1,%xmm2,%r8d
+  DB  196,195,121,22,210,2                ; vpextrd       $0x2,%xmm2,%r10d
+  DB  196,195,121,22,211,3                ; vpextrd       $0x3,%xmm2,%r11d
+  DB  196,65,121,126,223                  ; vmovd         %xmm11,%r15d
+  DB  196,67,121,22,222,1                 ; vpextrd       $0x1,%xmm11,%r14d
+  DB  196,67,121,22,220,2                 ; vpextrd       $0x2,%xmm11,%r12d
+  DB  196,99,121,22,219,3                 ; vpextrd       $0x3,%xmm11,%ebx
+  DB  196,161,122,16,4,184                ; vmovss        (%rax,%r15,4),%xmm0
+  DB  196,163,121,33,4,176,16             ; vinsertps     $0x10,(%rax,%r14,4),%xmm0,%xmm0
+  DB  196,163,121,33,4,160,32             ; vinsertps     $0x20,(%rax,%r12,4),%xmm0,%xmm0
+  DB  196,227,121,33,4,152,48             ; vinsertps     $0x30,(%rax,%rbx,4),%xmm0,%xmm0
+  DB  196,161,122,16,12,136               ; vmovss        (%rax,%r9,4),%xmm1
+  DB  196,163,113,33,12,128,16            ; vinsertps     $0x10,(%rax,%r8,4),%xmm1,%xmm1
+  DB  196,163,113,33,12,144,32            ; vinsertps     $0x20,(%rax,%r10,4),%xmm1,%xmm1
+  DB  196,163,113,33,12,152,48            ; vinsertps     $0x30,(%rax,%r11,4),%xmm1,%xmm1
+  DB  196,227,117,24,192,1                ; vinsertf128   $0x1,%xmm0,%ymm1,%ymm0
+  DB  197,225,118,219                     ; vpcmpeqd      %xmm3,%xmm3,%xmm3
+  DB  197,233,250,203                     ; vpsubd        %xmm3,%xmm2,%xmm1
+  DB  196,195,249,22,200,1                ; vpextrq       $0x1,%xmm1,%r8
+  DB  196,193,249,126,201                 ; vmovq         %xmm1,%r9
+  DB  197,161,250,203                     ; vpsubd        %xmm3,%xmm11,%xmm1
+  DB  197,193,118,255                     ; vpcmpeqd      %xmm7,%xmm7,%xmm7
+  DB  196,195,249,22,202,1                ; vpextrq       $0x1,%xmm1,%r10
+  DB  196,225,249,126,203                 ; vmovq         %xmm1,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,12,152               ; vmovss        (%rax,%r11,4),%xmm1
+  DB  196,227,113,33,12,152,16            ; vinsertps     $0x10,(%rax,%rbx,4),%xmm1,%xmm1
+  DB  196,161,122,16,28,176               ; vmovss        (%rax,%r14,4),%xmm3
+  DB  196,227,113,33,203,32               ; vinsertps     $0x20,%xmm3,%xmm1,%xmm1
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,28,144               ; vmovss        (%rax,%r10,4),%xmm3
+  DB  196,227,113,33,203,48               ; vinsertps     $0x30,%xmm3,%xmm1,%xmm1
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,28,152                   ; vmovss        (%rax,%rbx,4),%xmm3
+  DB  196,163,97,33,28,136,16             ; vinsertps     $0x10,(%rax,%r9,4),%xmm3,%xmm3
+  DB  196,161,122,16,52,144               ; vmovss        (%rax,%r10,4),%xmm6
+  DB  196,227,97,33,222,32                ; vinsertps     $0x20,%xmm6,%xmm3,%xmm3
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,52,128               ; vmovss        (%rax,%r8,4),%xmm6
+  DB  196,227,97,33,222,48                ; vinsertps     $0x30,%xmm6,%xmm3,%xmm3
+  DB  196,227,101,24,201,1                ; vinsertf128   $0x1,%xmm1,%ymm3,%ymm1
+  DB  196,193,105,254,210                 ; vpaddd        %xmm10,%xmm2,%xmm2
+  DB  196,195,249,22,208,1                ; vpextrq       $0x1,%xmm2,%r8
+  DB  196,193,249,126,209                 ; vmovq         %xmm2,%r9
+  DB  196,193,33,254,210                  ; vpaddd        %xmm10,%xmm11,%xmm2
+  DB  196,195,249,22,210,1                ; vpextrq       $0x1,%xmm2,%r10
+  DB  196,225,249,126,211                 ; vmovq         %xmm2,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,20,152               ; vmovss        (%rax,%r11,4),%xmm2
+  DB  196,227,105,33,20,152,16            ; vinsertps     $0x10,(%rax,%rbx,4),%xmm2,%xmm2
+  DB  196,161,122,16,28,176               ; vmovss        (%rax,%r14,4),%xmm3
+  DB  196,227,105,33,211,32               ; vinsertps     $0x20,%xmm3,%xmm2,%xmm2
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,28,144               ; vmovss        (%rax,%r10,4),%xmm3
+  DB  196,227,105,33,211,48               ; vinsertps     $0x30,%xmm3,%xmm2,%xmm2
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,28,152                   ; vmovss        (%rax,%rbx,4),%xmm3
+  DB  196,163,97,33,28,136,16             ; vinsertps     $0x10,(%rax,%r9,4),%xmm3,%xmm3
+  DB  196,161,122,16,52,144               ; vmovss        (%rax,%r10,4),%xmm6
+  DB  196,227,97,33,222,32                ; vinsertps     $0x20,%xmm6,%xmm3,%xmm3
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,52,128               ; vmovss        (%rax,%r8,4),%xmm6
+  DB  196,227,97,33,222,48                ; vinsertps     $0x30,%xmm6,%xmm3,%xmm3
+  DB  196,99,101,24,218,1                 ; vinsertf128   $0x1,%xmm2,%ymm3,%ymm11
+  DB  197,153,254,212                     ; vpaddd        %xmm4,%xmm12,%xmm2
+  DB  197,185,254,221                     ; vpaddd        %xmm5,%xmm8,%xmm3
+  DB  196,194,97,64,225                   ; vpmulld       %xmm9,%xmm3,%xmm4
+  DB  196,194,105,64,233                  ; vpmulld       %xmm9,%xmm2,%xmm5
+  DB  196,193,121,126,233                 ; vmovd         %xmm5,%r9d
+  DB  196,195,121,22,232,1                ; vpextrd       $0x1,%xmm5,%r8d
+  DB  196,195,121,22,234,2                ; vpextrd       $0x2,%xmm5,%r10d
+  DB  196,195,121,22,235,3                ; vpextrd       $0x3,%xmm5,%r11d
+  DB  196,193,121,126,231                 ; vmovd         %xmm4,%r15d
+  DB  196,195,121,22,230,1                ; vpextrd       $0x1,%xmm4,%r14d
+  DB  196,195,121,22,228,2                ; vpextrd       $0x2,%xmm4,%r12d
+  DB  196,227,121,22,227,3                ; vpextrd       $0x3,%xmm4,%ebx
+  DB  196,161,122,16,20,184               ; vmovss        (%rax,%r15,4),%xmm2
+  DB  196,163,105,33,20,176,16            ; vinsertps     $0x10,(%rax,%r14,4),%xmm2,%xmm2
+  DB  196,163,105,33,20,160,32            ; vinsertps     $0x20,(%rax,%r12,4),%xmm2,%xmm2
+  DB  196,227,105,33,20,152,48            ; vinsertps     $0x30,(%rax,%rbx,4),%xmm2,%xmm2
+  DB  196,161,122,16,28,136               ; vmovss        (%rax,%r9,4),%xmm3
+  DB  196,163,97,33,28,128,16             ; vinsertps     $0x10,(%rax,%r8,4),%xmm3,%xmm3
+  DB  196,163,97,33,28,144,32             ; vinsertps     $0x20,(%rax,%r10,4),%xmm3,%xmm3
+  DB  196,163,97,33,28,152,48             ; vinsertps     $0x30,(%rax,%r11,4),%xmm3,%xmm3
+  DB  196,227,101,24,210,1                ; vinsertf128   $0x1,%xmm2,%ymm3,%ymm2
+  DB  197,209,250,223                     ; vpsubd        %xmm7,%xmm5,%xmm3
+  DB  196,195,249,22,216,1                ; vpextrq       $0x1,%xmm3,%r8
+  DB  196,193,249,126,217                 ; vmovq         %xmm3,%r9
+  DB  197,217,250,223                     ; vpsubd        %xmm7,%xmm4,%xmm3
+  DB  196,195,249,22,218,1                ; vpextrq       $0x1,%xmm3,%r10
+  DB  196,225,249,126,219                 ; vmovq         %xmm3,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,28,152               ; vmovss        (%rax,%r11,4),%xmm3
+  DB  196,227,97,33,28,152,16             ; vinsertps     $0x10,(%rax,%rbx,4),%xmm3,%xmm3
+  DB  196,161,122,16,52,176               ; vmovss        (%rax,%r14,4),%xmm6
+  DB  196,227,97,33,222,32                ; vinsertps     $0x20,%xmm6,%xmm3,%xmm3
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,52,144               ; vmovss        (%rax,%r10,4),%xmm6
+  DB  196,227,97,33,222,48                ; vinsertps     $0x30,%xmm6,%xmm3,%xmm3
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,52,152                   ; vmovss        (%rax,%rbx,4),%xmm6
+  DB  196,163,73,33,52,136,16             ; vinsertps     $0x10,(%rax,%r9,4),%xmm6,%xmm6
+  DB  196,161,122,16,60,144               ; vmovss        (%rax,%r10,4),%xmm7
+  DB  196,227,73,33,247,32                ; vinsertps     $0x20,%xmm7,%xmm6,%xmm6
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,60,128               ; vmovss        (%rax,%r8,4),%xmm7
+  DB  196,227,73,33,247,48                ; vinsertps     $0x30,%xmm7,%xmm6,%xmm6
+  DB  196,99,77,24,243,1                  ; vinsertf128   $0x1,%xmm3,%ymm6,%ymm14
+  DB  196,193,81,254,218                  ; vpaddd        %xmm10,%xmm5,%xmm3
+  DB  196,195,249,22,216,1                ; vpextrq       $0x1,%xmm3,%r8
+  DB  196,193,249,126,217                 ; vmovq         %xmm3,%r9
+  DB  196,193,89,254,218                  ; vpaddd        %xmm10,%xmm4,%xmm3
+  DB  196,195,249,22,218,1                ; vpextrq       $0x1,%xmm3,%r10
+  DB  196,225,249,126,219                 ; vmovq         %xmm3,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,28,152               ; vmovss        (%rax,%r11,4),%xmm3
+  DB  196,227,97,33,28,152,16             ; vinsertps     $0x10,(%rax,%rbx,4),%xmm3,%xmm3
+  DB  196,161,122,16,36,176               ; vmovss        (%rax,%r14,4),%xmm4
+  DB  196,227,97,33,220,32                ; vinsertps     $0x20,%xmm4,%xmm3,%xmm3
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,36,144               ; vmovss        (%rax,%r10,4),%xmm4
+  DB  196,227,97,33,220,48                ; vinsertps     $0x30,%xmm4,%xmm3,%xmm3
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,36,152                   ; vmovss        (%rax,%rbx,4),%xmm4
+  DB  196,163,89,33,36,136,16             ; vinsertps     $0x10,(%rax,%r9,4),%xmm4,%xmm4
+  DB  196,161,122,16,44,144               ; vmovss        (%rax,%r10,4),%xmm5
+  DB  196,227,89,33,229,32                ; vinsertps     $0x20,%xmm5,%xmm4,%xmm4
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,44,128               ; vmovss        (%rax,%r8,4),%xmm5
+  DB  196,227,89,33,229,48                ; vinsertps     $0x30,%xmm5,%xmm4,%xmm4
+  DB  196,227,93,24,219,1                 ; vinsertf128   $0x1,%xmm3,%ymm4,%ymm3
+  DB  197,236,92,208                      ; vsubps        %ymm0,%ymm2,%ymm2
+  DB  197,124,17,188,36,0,2,0,0           ; vmovups       %ymm15,0x200(%rsp)
+  DB  197,132,89,210                      ; vmulps        %ymm2,%ymm15,%ymm2
+  DB  197,252,88,194                      ; vaddps        %ymm2,%ymm0,%ymm0
+  DB  197,140,92,209                      ; vsubps        %ymm1,%ymm14,%ymm2
+  DB  197,132,89,210                      ; vmulps        %ymm2,%ymm15,%ymm2
+  DB  197,244,88,202                      ; vaddps        %ymm2,%ymm1,%ymm1
+  DB  196,193,100,92,211                  ; vsubps        %ymm11,%ymm3,%ymm2
+  DB  197,132,89,210                      ; vmulps        %ymm2,%ymm15,%ymm2
+  DB  197,164,88,210                      ; vaddps        %ymm2,%ymm11,%ymm2
+  DB  197,252,16,164,36,224,0,0,0         ; vmovups       0xe0(%rsp),%ymm4
+  DB  197,252,92,196                      ; vsubps        %ymm4,%ymm0,%ymm0
+  DB  197,252,16,156,36,64,1,0,0          ; vmovups       0x140(%rsp),%ymm3
+  DB  197,228,89,192                      ; vmulps        %ymm0,%ymm3,%ymm0
+  DB  197,220,88,192                      ; vaddps        %ymm0,%ymm4,%ymm0
+  DB  197,252,16,164,36,160,2,0,0         ; vmovups       0x2a0(%rsp),%ymm4
+  DB  197,244,92,204                      ; vsubps        %ymm4,%ymm1,%ymm1
+  DB  197,228,89,201                      ; vmulps        %ymm1,%ymm3,%ymm1
+  DB  197,220,88,201                      ; vaddps        %ymm1,%ymm4,%ymm1
+  DB  197,252,16,164,36,128,2,0,0         ; vmovups       0x280(%rsp),%ymm4
+  DB  197,236,92,212                      ; vsubps        %ymm4,%ymm2,%ymm2
+  DB  197,228,89,210                      ; vmulps        %ymm2,%ymm3,%ymm2
+  DB  197,220,88,210                      ; vaddps        %ymm2,%ymm4,%ymm2
+  DB  197,252,91,156,36,192,1,0,0         ; vcvtdq2ps     0x1c0(%rsp),%ymm3
+  DB  197,252,16,164,36,128,1,0,0         ; vmovups       0x180(%rsp),%ymm4
+  DB  197,220,92,219                      ; vsubps        %ymm3,%ymm4,%ymm3
+  DB  197,252,17,156,36,224,0,0,0         ; vmovups       %ymm3,0xe0(%rsp)
+  DB  197,252,16,164,36,0,1,0,0           ; vmovups       0x100(%rsp),%ymm4
+  DB  197,252,92,196                      ; vsubps        %ymm4,%ymm0,%ymm0
+  DB  197,228,89,192                      ; vmulps        %ymm0,%ymm3,%ymm0
+  DB  197,220,88,192                      ; vaddps        %ymm0,%ymm4,%ymm0
+  DB  197,252,17,132,36,128,1,0,0         ; vmovups       %ymm0,0x180(%rsp)
+  DB  197,252,16,164,36,192,0,0,0         ; vmovups       0xc0(%rsp),%ymm4
+  DB  197,244,92,196                      ; vsubps        %ymm4,%ymm1,%ymm0
+  DB  197,228,89,192                      ; vmulps        %ymm0,%ymm3,%ymm0
+  DB  197,220,88,192                      ; vaddps        %ymm0,%ymm4,%ymm0
+  DB  197,252,17,132,36,192,1,0,0         ; vmovups       %ymm0,0x1c0(%rsp)
+  DB  197,252,16,140,36,160,0,0,0         ; vmovups       0xa0(%rsp),%ymm1
+  DB  197,236,92,193                      ; vsubps        %ymm1,%ymm2,%ymm0
+  DB  197,228,89,192                      ; vmulps        %ymm0,%ymm3,%ymm0
+  DB  197,244,88,192                      ; vaddps        %ymm0,%ymm1,%ymm0
+  DB  197,252,17,132,36,0,1,0,0           ; vmovups       %ymm0,0x100(%rsp)
+  DB  197,252,16,132,36,128,0,0,0         ; vmovups       0x80(%rsp),%ymm0
+  DB  197,252,88,132,36,96,2,0,0          ; vaddps        0x260(%rsp),%ymm0,%ymm0
+  DB  197,254,91,192                      ; vcvttps2dq    %ymm0,%ymm0
+  DB  197,254,127,132,36,192,0,0,0        ; vmovdqu       %ymm0,0xc0(%rsp)
+  DB  197,249,254,148,36,224,1,0,0        ; vpaddd        0x1e0(%rsp),%xmm0,%xmm2
+  DB  197,249,127,148,36,128,0,0,0        ; vmovdqa       %xmm2,0x80(%rsp)
+  DB  196,227,125,25,192,1                ; vextractf128  $0x1,%ymm0,%xmm0
+  DB  197,249,127,132,36,160,0,0,0        ; vmovdqa       %xmm0,0xa0(%rsp)
+  DB  197,121,254,188,36,32,1,0,0         ; vpaddd        0x120(%rsp),%xmm0,%xmm15
+  DB  197,129,254,172,36,96,1,0,0         ; vpaddd        0x160(%rsp),%xmm15,%xmm5
+  DB  197,249,111,36,36                   ; vmovdqa       (%rsp),%xmm4
+  DB  197,217,254,197                     ; vpaddd        %xmm5,%xmm4,%xmm0
+  DB  196,194,121,64,201                  ; vpmulld       %xmm9,%xmm0,%xmm1
+  DB  197,233,254,84,36,112               ; vpaddd        0x70(%rsp),%xmm2,%xmm2
+  DB  197,145,254,194                     ; vpaddd        %xmm2,%xmm13,%xmm0
+  DB  196,194,121,64,193                  ; vpmulld       %xmm9,%xmm0,%xmm0
+  DB  196,193,121,126,193                 ; vmovd         %xmm0,%r9d
+  DB  196,195,121,22,192,1                ; vpextrd       $0x1,%xmm0,%r8d
+  DB  196,195,121,22,194,2                ; vpextrd       $0x2,%xmm0,%r10d
+  DB  196,195,121,22,195,3                ; vpextrd       $0x3,%xmm0,%r11d
+  DB  196,193,121,126,207                 ; vmovd         %xmm1,%r15d
+  DB  196,195,121,22,206,1                ; vpextrd       $0x1,%xmm1,%r14d
+  DB  196,195,121,22,204,2                ; vpextrd       $0x2,%xmm1,%r12d
+  DB  196,227,121,22,203,3                ; vpextrd       $0x3,%xmm1,%ebx
+  DB  196,161,122,16,52,184               ; vmovss        (%rax,%r15,4),%xmm6
+  DB  196,163,73,33,52,176,16             ; vinsertps     $0x10,(%rax,%r14,4),%xmm6,%xmm6
+  DB  196,163,73,33,52,160,32             ; vinsertps     $0x20,(%rax,%r12,4),%xmm6,%xmm6
+  DB  196,227,73,33,52,152,48             ; vinsertps     $0x30,(%rax,%rbx,4),%xmm6,%xmm6
+  DB  196,161,122,16,60,136               ; vmovss        (%rax,%r9,4),%xmm7
+  DB  196,163,65,33,60,128,16             ; vinsertps     $0x10,(%rax,%r8,4),%xmm7,%xmm7
+  DB  196,163,65,33,60,144,32             ; vinsertps     $0x20,(%rax,%r10,4),%xmm7,%xmm7
+  DB  196,163,65,33,60,152,48             ; vinsertps     $0x30,(%rax,%r11,4),%xmm7,%xmm7
+  DB  196,99,69,24,246,1                  ; vinsertf128   $0x1,%xmm6,%ymm7,%ymm14
+  DB  197,225,118,219                     ; vpcmpeqd      %xmm3,%xmm3,%xmm3
+  DB  197,249,250,243                     ; vpsubd        %xmm3,%xmm0,%xmm6
+  DB  196,195,249,22,240,1                ; vpextrq       $0x1,%xmm6,%r8
+  DB  196,193,249,126,241                 ; vmovq         %xmm6,%r9
+  DB  197,241,250,243                     ; vpsubd        %xmm3,%xmm1,%xmm6
+  DB  196,65,17,118,237                   ; vpcmpeqd      %xmm13,%xmm13,%xmm13
+  DB  196,195,249,22,242,1                ; vpextrq       $0x1,%xmm6,%r10
+  DB  196,225,249,126,243                 ; vmovq         %xmm6,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,52,152               ; vmovss        (%rax,%r11,4),%xmm6
+  DB  196,227,73,33,52,152,16             ; vinsertps     $0x10,(%rax,%rbx,4),%xmm6,%xmm6
+  DB  196,161,122,16,60,176               ; vmovss        (%rax,%r14,4),%xmm7
+  DB  196,227,73,33,247,32                ; vinsertps     $0x20,%xmm7,%xmm6,%xmm6
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,60,144               ; vmovss        (%rax,%r10,4),%xmm7
+  DB  196,227,73,33,247,48                ; vinsertps     $0x30,%xmm7,%xmm6,%xmm6
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,60,152                   ; vmovss        (%rax,%rbx,4),%xmm7
+  DB  196,163,65,33,60,136,16             ; vinsertps     $0x10,(%rax,%r9,4),%xmm7,%xmm7
+  DB  196,161,122,16,28,144               ; vmovss        (%rax,%r10,4),%xmm3
+  DB  196,227,65,33,219,32                ; vinsertps     $0x20,%xmm3,%xmm7,%xmm3
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,60,128               ; vmovss        (%rax,%r8,4),%xmm7
+  DB  196,227,97,33,223,48                ; vinsertps     $0x30,%xmm7,%xmm3,%xmm3
+  DB  196,227,101,24,254,1                ; vinsertf128   $0x1,%xmm6,%ymm3,%ymm7
+  DB  196,193,121,254,194                 ; vpaddd        %xmm10,%xmm0,%xmm0
+  DB  196,195,249,22,192,1                ; vpextrq       $0x1,%xmm0,%r8
+  DB  196,193,249,126,193                 ; vmovq         %xmm0,%r9
+  DB  196,193,113,254,194                 ; vpaddd        %xmm10,%xmm1,%xmm0
+  DB  196,195,249,22,194,1                ; vpextrq       $0x1,%xmm0,%r10
+  DB  196,225,249,126,195                 ; vmovq         %xmm0,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,4,152                ; vmovss        (%rax,%r11,4),%xmm0
+  DB  196,227,121,33,4,152,16             ; vinsertps     $0x10,(%rax,%rbx,4),%xmm0,%xmm0
+  DB  196,161,122,16,12,176               ; vmovss        (%rax,%r14,4),%xmm1
+  DB  196,227,121,33,193,32               ; vinsertps     $0x20,%xmm1,%xmm0,%xmm0
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,12,144               ; vmovss        (%rax,%r10,4),%xmm1
+  DB  196,227,121,33,193,48               ; vinsertps     $0x30,%xmm1,%xmm0,%xmm0
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,12,152                   ; vmovss        (%rax,%rbx,4),%xmm1
+  DB  196,163,113,33,12,136,16            ; vinsertps     $0x10,(%rax,%r9,4),%xmm1,%xmm1
+  DB  196,161,122,16,28,144               ; vmovss        (%rax,%r10,4),%xmm3
+  DB  196,227,113,33,203,32               ; vinsertps     $0x20,%xmm3,%xmm1,%xmm1
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,28,128               ; vmovss        (%rax,%r8,4),%xmm3
+  DB  196,227,113,33,203,48               ; vinsertps     $0x30,%xmm3,%xmm1,%xmm1
+  DB  196,99,117,24,192,1                 ; vinsertf128   $0x1,%xmm0,%ymm1,%ymm8
+  DB  197,121,111,100,36,32               ; vmovdqa       0x20(%rsp),%xmm12
+  DB  197,153,254,194                     ; vpaddd        %xmm2,%xmm12,%xmm0
+  DB  197,121,111,92,36,48                ; vmovdqa       0x30(%rsp),%xmm11
+  DB  197,161,254,205                     ; vpaddd        %xmm5,%xmm11,%xmm1
+  DB  196,194,113,64,201                  ; vpmulld       %xmm9,%xmm1,%xmm1
+  DB  196,194,121,64,193                  ; vpmulld       %xmm9,%xmm0,%xmm0
+  DB  196,193,121,126,193                 ; vmovd         %xmm0,%r9d
+  DB  196,195,121,22,192,1                ; vpextrd       $0x1,%xmm0,%r8d
+  DB  196,195,121,22,194,2                ; vpextrd       $0x2,%xmm0,%r10d
+  DB  196,195,121,22,195,3                ; vpextrd       $0x3,%xmm0,%r11d
+  DB  196,193,121,126,207                 ; vmovd         %xmm1,%r15d
+  DB  196,195,121,22,206,1                ; vpextrd       $0x1,%xmm1,%r14d
+  DB  196,195,121,22,204,2                ; vpextrd       $0x2,%xmm1,%r12d
+  DB  196,227,121,22,203,3                ; vpextrd       $0x3,%xmm1,%ebx
+  DB  196,161,122,16,20,184               ; vmovss        (%rax,%r15,4),%xmm2
+  DB  196,163,105,33,20,176,16            ; vinsertps     $0x10,(%rax,%r14,4),%xmm2,%xmm2
+  DB  196,163,105,33,20,160,32            ; vinsertps     $0x20,(%rax,%r12,4),%xmm2,%xmm2
+  DB  196,227,105,33,20,152,48            ; vinsertps     $0x30,(%rax,%rbx,4),%xmm2,%xmm2
+  DB  196,161,122,16,28,136               ; vmovss        (%rax,%r9,4),%xmm3
+  DB  196,163,97,33,28,128,16             ; vinsertps     $0x10,(%rax,%r8,4),%xmm3,%xmm3
+  DB  196,163,97,33,28,144,32             ; vinsertps     $0x20,(%rax,%r10,4),%xmm3,%xmm3
+  DB  196,163,97,33,28,152,48             ; vinsertps     $0x30,(%rax,%r11,4),%xmm3,%xmm3
+  DB  196,227,101,24,210,1                ; vinsertf128   $0x1,%xmm2,%ymm3,%ymm2
+  DB  196,193,121,250,221                 ; vpsubd        %xmm13,%xmm0,%xmm3
+  DB  196,195,249,22,216,1                ; vpextrq       $0x1,%xmm3,%r8
+  DB  196,193,249,126,217                 ; vmovq         %xmm3,%r9
+  DB  196,193,113,250,221                 ; vpsubd        %xmm13,%xmm1,%xmm3
+  DB  196,195,249,22,218,1                ; vpextrq       $0x1,%xmm3,%r10
+  DB  196,225,249,126,219                 ; vmovq         %xmm3,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,28,152               ; vmovss        (%rax,%r11,4),%xmm3
+  DB  196,227,97,33,28,152,16             ; vinsertps     $0x10,(%rax,%rbx,4),%xmm3,%xmm3
+  DB  196,161,122,16,44,176               ; vmovss        (%rax,%r14,4),%xmm5
+  DB  196,227,97,33,221,32                ; vinsertps     $0x20,%xmm5,%xmm3,%xmm3
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,44,144               ; vmovss        (%rax,%r10,4),%xmm5
+  DB  196,227,97,33,221,48                ; vinsertps     $0x30,%xmm5,%xmm3,%xmm3
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,44,152                   ; vmovss        (%rax,%rbx,4),%xmm5
+  DB  196,163,81,33,44,136,16             ; vinsertps     $0x10,(%rax,%r9,4),%xmm5,%xmm5
+  DB  196,161,122,16,52,144               ; vmovss        (%rax,%r10,4),%xmm6
+  DB  196,227,81,33,238,32                ; vinsertps     $0x20,%xmm6,%xmm5,%xmm5
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,52,128               ; vmovss        (%rax,%r8,4),%xmm6
+  DB  196,227,81,33,238,48                ; vinsertps     $0x30,%xmm6,%xmm5,%xmm5
+  DB  196,227,85,24,235,1                 ; vinsertf128   $0x1,%xmm3,%ymm5,%ymm5
+  DB  196,193,121,254,194                 ; vpaddd        %xmm10,%xmm0,%xmm0
+  DB  196,195,249,22,192,1                ; vpextrq       $0x1,%xmm0,%r8
+  DB  196,193,249,126,193                 ; vmovq         %xmm0,%r9
+  DB  196,193,113,254,194                 ; vpaddd        %xmm10,%xmm1,%xmm0
+  DB  196,195,249,22,194,1                ; vpextrq       $0x1,%xmm0,%r10
+  DB  196,225,249,126,195                 ; vmovq         %xmm0,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,4,152                ; vmovss        (%rax,%r11,4),%xmm0
+  DB  196,227,121,33,4,152,16             ; vinsertps     $0x10,(%rax,%rbx,4),%xmm0,%xmm0
+  DB  196,161,122,16,12,176               ; vmovss        (%rax,%r14,4),%xmm1
+  DB  196,227,121,33,193,32               ; vinsertps     $0x20,%xmm1,%xmm0,%xmm0
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,12,144               ; vmovss        (%rax,%r10,4),%xmm1
+  DB  196,227,121,33,193,48               ; vinsertps     $0x30,%xmm1,%xmm0,%xmm0
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,12,152                   ; vmovss        (%rax,%rbx,4),%xmm1
+  DB  196,163,113,33,12,136,16            ; vinsertps     $0x10,(%rax,%r9,4),%xmm1,%xmm1
+  DB  196,161,122,16,28,144               ; vmovss        (%rax,%r10,4),%xmm3
+  DB  196,227,113,33,203,32               ; vinsertps     $0x20,%xmm3,%xmm1,%xmm1
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,28,128               ; vmovss        (%rax,%r8,4),%xmm3
+  DB  196,227,113,33,203,48               ; vinsertps     $0x30,%xmm3,%xmm1,%xmm1
+  DB  196,227,117,24,192,1                ; vinsertf128   $0x1,%xmm0,%ymm1,%ymm0
+  DB  196,193,108,92,206                  ; vsubps        %ymm14,%ymm2,%ymm1
+  DB  197,252,16,148,36,0,2,0,0           ; vmovups       0x200(%rsp),%ymm2
+  DB  197,236,89,201                      ; vmulps        %ymm1,%ymm2,%ymm1
+  DB  197,12,88,241                       ; vaddps        %ymm1,%ymm14,%ymm14
+  DB  197,212,92,207                      ; vsubps        %ymm7,%ymm5,%ymm1
+  DB  197,236,89,201                      ; vmulps        %ymm1,%ymm2,%ymm1
+  DB  197,196,88,201                      ; vaddps        %ymm1,%ymm7,%ymm1
+  DB  197,252,17,140,36,32,1,0,0          ; vmovups       %ymm1,0x120(%rsp)
+  DB  196,193,124,92,192                  ; vsubps        %ymm8,%ymm0,%ymm0
+  DB  197,236,89,192                      ; vmulps        %ymm0,%ymm2,%ymm0
+  DB  197,60,88,192                       ; vaddps        %ymm0,%ymm8,%ymm8
+  DB  197,129,254,68,36,80                ; vpaddd        0x50(%rsp),%xmm15,%xmm0
+  DB  197,249,111,140,36,128,0,0,0        ; vmovdqa       0x80(%rsp),%xmm1
+  DB  197,241,254,124,36,96               ; vpaddd        0x60(%rsp),%xmm1,%xmm7
+  DB  197,249,254,204                     ; vpaddd        %xmm4,%xmm0,%xmm1
+  DB  196,194,113,64,201                  ; vpmulld       %xmm9,%xmm1,%xmm1
+  DB  197,121,111,124,36,16               ; vmovdqa       0x10(%rsp),%xmm15
+  DB  196,193,65,254,215                  ; vpaddd        %xmm15,%xmm7,%xmm2
+  DB  196,194,105,64,209                  ; vpmulld       %xmm9,%xmm2,%xmm2
+  DB  196,193,121,126,209                 ; vmovd         %xmm2,%r9d
+  DB  196,195,121,22,208,1                ; vpextrd       $0x1,%xmm2,%r8d
+  DB  196,195,121,22,210,2                ; vpextrd       $0x2,%xmm2,%r10d
+  DB  196,195,121,22,211,3                ; vpextrd       $0x3,%xmm2,%r11d
+  DB  196,193,121,126,207                 ; vmovd         %xmm1,%r15d
+  DB  196,195,121,22,206,1                ; vpextrd       $0x1,%xmm1,%r14d
+  DB  196,195,121,22,204,2                ; vpextrd       $0x2,%xmm1,%r12d
+  DB  196,227,121,22,203,3                ; vpextrd       $0x3,%xmm1,%ebx
+  DB  196,161,122,16,28,184               ; vmovss        (%rax,%r15,4),%xmm3
+  DB  196,163,97,33,28,176,16             ; vinsertps     $0x10,(%rax,%r14,4),%xmm3,%xmm3
+  DB  196,163,97,33,28,160,32             ; vinsertps     $0x20,(%rax,%r12,4),%xmm3,%xmm3
+  DB  196,227,97,33,28,152,48             ; vinsertps     $0x30,(%rax,%rbx,4),%xmm3,%xmm3
+  DB  196,161,122,16,36,136               ; vmovss        (%rax,%r9,4),%xmm4
+  DB  196,163,89,33,36,128,16             ; vinsertps     $0x10,(%rax,%r8,4),%xmm4,%xmm4
+  DB  196,163,89,33,36,144,32             ; vinsertps     $0x20,(%rax,%r10,4),%xmm4,%xmm4
+  DB  196,163,89,33,36,152,48             ; vinsertps     $0x30,(%rax,%r11,4),%xmm4,%xmm4
+  DB  196,227,93,24,227,1                 ; vinsertf128   $0x1,%xmm3,%ymm4,%ymm4
+  DB  197,209,118,237                     ; vpcmpeqd      %xmm5,%xmm5,%xmm5
+  DB  197,233,250,221                     ; vpsubd        %xmm5,%xmm2,%xmm3
+  DB  196,195,249,22,216,1                ; vpextrq       $0x1,%xmm3,%r8
+  DB  196,193,249,126,217                 ; vmovq         %xmm3,%r9
+  DB  197,241,250,221                     ; vpsubd        %xmm5,%xmm1,%xmm3
+  DB  196,195,249,22,218,1                ; vpextrq       $0x1,%xmm3,%r10
+  DB  196,225,249,126,219                 ; vmovq         %xmm3,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,28,152               ; vmovss        (%rax,%r11,4),%xmm3
+  DB  196,227,97,33,28,152,16             ; vinsertps     $0x10,(%rax,%rbx,4),%xmm3,%xmm3
+  DB  196,161,122,16,44,176               ; vmovss        (%rax,%r14,4),%xmm5
+  DB  196,227,97,33,221,32                ; vinsertps     $0x20,%xmm5,%xmm3,%xmm3
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,44,144               ; vmovss        (%rax,%r10,4),%xmm5
+  DB  196,227,97,33,221,48                ; vinsertps     $0x30,%xmm5,%xmm3,%xmm3
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,44,152                   ; vmovss        (%rax,%rbx,4),%xmm5
+  DB  196,163,81,33,44,136,16             ; vinsertps     $0x10,(%rax,%r9,4),%xmm5,%xmm5
+  DB  196,161,122,16,52,144               ; vmovss        (%rax,%r10,4),%xmm6
+  DB  196,227,81,33,238,32                ; vinsertps     $0x20,%xmm6,%xmm5,%xmm5
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,52,128               ; vmovss        (%rax,%r8,4),%xmm6
+  DB  196,227,81,33,238,48                ; vinsertps     $0x30,%xmm6,%xmm5,%xmm5
+  DB  196,227,85,24,235,1                 ; vinsertf128   $0x1,%xmm3,%ymm5,%ymm5
+  DB  196,193,105,254,210                 ; vpaddd        %xmm10,%xmm2,%xmm2
+  DB  196,195,249,22,208,1                ; vpextrq       $0x1,%xmm2,%r8
+  DB  196,193,249,126,209                 ; vmovq         %xmm2,%r9
+  DB  196,193,113,254,202                 ; vpaddd        %xmm10,%xmm1,%xmm1
+  DB  196,195,249,22,202,1                ; vpextrq       $0x1,%xmm1,%r10
+  DB  196,225,249,126,203                 ; vmovq         %xmm1,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,12,152               ; vmovss        (%rax,%r11,4),%xmm1
+  DB  196,227,113,33,12,152,16            ; vinsertps     $0x10,(%rax,%rbx,4),%xmm1,%xmm1
+  DB  196,161,122,16,20,176               ; vmovss        (%rax,%r14,4),%xmm2
+  DB  196,227,113,33,202,32               ; vinsertps     $0x20,%xmm2,%xmm1,%xmm1
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,20,144               ; vmovss        (%rax,%r10,4),%xmm2
+  DB  196,227,113,33,202,48               ; vinsertps     $0x30,%xmm2,%xmm1,%xmm1
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,20,152                   ; vmovss        (%rax,%rbx,4),%xmm2
+  DB  196,163,105,33,20,136,16            ; vinsertps     $0x10,(%rax,%r9,4),%xmm2,%xmm2
+  DB  196,161,122,16,28,144               ; vmovss        (%rax,%r10,4),%xmm3
+  DB  196,227,105,33,211,32               ; vinsertps     $0x20,%xmm3,%xmm2,%xmm2
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,28,128               ; vmovss        (%rax,%r8,4),%xmm3
+  DB  196,227,105,33,211,48               ; vinsertps     $0x30,%xmm3,%xmm2,%xmm2
+  DB  196,99,109,24,233,1                 ; vinsertf128   $0x1,%xmm1,%ymm2,%ymm13
+  DB  197,153,254,215                     ; vpaddd        %xmm7,%xmm12,%xmm2
+  DB  197,161,254,192                     ; vpaddd        %xmm0,%xmm11,%xmm0
+  DB  196,65,121,111,227                  ; vmovdqa       %xmm11,%xmm12
+  DB  196,194,121,64,201                  ; vpmulld       %xmm9,%xmm0,%xmm1
+  DB  196,194,105,64,209                  ; vpmulld       %xmm9,%xmm2,%xmm2
+  DB  196,193,121,126,209                 ; vmovd         %xmm2,%r9d
+  DB  196,195,121,22,208,1                ; vpextrd       $0x1,%xmm2,%r8d
+  DB  196,195,121,22,210,2                ; vpextrd       $0x2,%xmm2,%r10d
+  DB  196,195,121,22,211,3                ; vpextrd       $0x3,%xmm2,%r11d
+  DB  196,193,121,126,207                 ; vmovd         %xmm1,%r15d
+  DB  196,195,121,22,206,1                ; vpextrd       $0x1,%xmm1,%r14d
+  DB  196,195,121,22,204,2                ; vpextrd       $0x2,%xmm1,%r12d
+  DB  196,227,121,22,203,3                ; vpextrd       $0x3,%xmm1,%ebx
+  DB  196,161,122,16,4,184                ; vmovss        (%rax,%r15,4),%xmm0
+  DB  196,163,121,33,4,176,16             ; vinsertps     $0x10,(%rax,%r14,4),%xmm0,%xmm0
+  DB  196,163,121,33,4,160,32             ; vinsertps     $0x20,(%rax,%r12,4),%xmm0,%xmm0
+  DB  196,227,121,33,4,152,48             ; vinsertps     $0x30,(%rax,%rbx,4),%xmm0,%xmm0
+  DB  196,161,122,16,28,136               ; vmovss        (%rax,%r9,4),%xmm3
+  DB  196,163,97,33,28,128,16             ; vinsertps     $0x10,(%rax,%r8,4),%xmm3,%xmm3
+  DB  196,163,97,33,28,144,32             ; vinsertps     $0x20,(%rax,%r10,4),%xmm3,%xmm3
+  DB  196,163,97,33,28,152,48             ; vinsertps     $0x30,(%rax,%r11,4),%xmm3,%xmm3
+  DB  196,227,101,24,192,1                ; vinsertf128   $0x1,%xmm0,%ymm3,%ymm0
+  DB  197,201,118,246                     ; vpcmpeqd      %xmm6,%xmm6,%xmm6
+  DB  197,233,250,222                     ; vpsubd        %xmm6,%xmm2,%xmm3
+  DB  196,195,249,22,216,1                ; vpextrq       $0x1,%xmm3,%r8
+  DB  196,193,249,126,217                 ; vmovq         %xmm3,%r9
+  DB  197,241,250,222                     ; vpsubd        %xmm6,%xmm1,%xmm3
+  DB  196,195,249,22,218,1                ; vpextrq       $0x1,%xmm3,%r10
+  DB  196,225,249,126,219                 ; vmovq         %xmm3,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,28,152               ; vmovss        (%rax,%r11,4),%xmm3
+  DB  196,227,97,33,28,152,16             ; vinsertps     $0x10,(%rax,%rbx,4),%xmm3,%xmm3
+  DB  196,161,122,16,52,176               ; vmovss        (%rax,%r14,4),%xmm6
+  DB  196,227,97,33,222,32                ; vinsertps     $0x20,%xmm6,%xmm3,%xmm3
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,52,144               ; vmovss        (%rax,%r10,4),%xmm6
+  DB  196,227,97,33,222,48                ; vinsertps     $0x30,%xmm6,%xmm3,%xmm3
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,52,152                   ; vmovss        (%rax,%rbx,4),%xmm6
+  DB  196,163,73,33,52,136,16             ; vinsertps     $0x10,(%rax,%r9,4),%xmm6,%xmm6
+  DB  196,161,122,16,60,144               ; vmovss        (%rax,%r10,4),%xmm7
+  DB  196,227,73,33,247,32                ; vinsertps     $0x20,%xmm7,%xmm6,%xmm6
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,60,128               ; vmovss        (%rax,%r8,4),%xmm7
+  DB  196,227,73,33,247,48                ; vinsertps     $0x30,%xmm7,%xmm6,%xmm6
+  DB  196,227,77,24,243,1                 ; vinsertf128   $0x1,%xmm3,%ymm6,%ymm6
+  DB  196,193,105,254,210                 ; vpaddd        %xmm10,%xmm2,%xmm2
+  DB  196,195,249,22,208,1                ; vpextrq       $0x1,%xmm2,%r8
+  DB  196,193,249,126,209                 ; vmovq         %xmm2,%r9
+  DB  196,193,113,254,202                 ; vpaddd        %xmm10,%xmm1,%xmm1
+  DB  196,195,249,22,202,1                ; vpextrq       $0x1,%xmm1,%r10
+  DB  196,225,249,126,203                 ; vmovq         %xmm1,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,12,152               ; vmovss        (%rax,%r11,4),%xmm1
+  DB  196,227,113,33,12,152,16            ; vinsertps     $0x10,(%rax,%rbx,4),%xmm1,%xmm1
+  DB  196,161,122,16,20,176               ; vmovss        (%rax,%r14,4),%xmm2
+  DB  196,227,113,33,202,32               ; vinsertps     $0x20,%xmm2,%xmm1,%xmm1
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,20,144               ; vmovss        (%rax,%r10,4),%xmm2
+  DB  196,227,113,33,202,48               ; vinsertps     $0x30,%xmm2,%xmm1,%xmm1
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,20,152                   ; vmovss        (%rax,%rbx,4),%xmm2
+  DB  196,163,105,33,20,136,16            ; vinsertps     $0x10,(%rax,%r9,4),%xmm2,%xmm2
+  DB  196,161,122,16,28,144               ; vmovss        (%rax,%r10,4),%xmm3
+  DB  196,227,105,33,211,32               ; vinsertps     $0x20,%xmm3,%xmm2,%xmm2
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,28,128               ; vmovss        (%rax,%r8,4),%xmm3
+  DB  196,227,105,33,211,48               ; vinsertps     $0x30,%xmm3,%xmm2,%xmm2
+  DB  196,227,109,24,201,1                ; vinsertf128   $0x1,%xmm1,%ymm2,%ymm1
+  DB  197,252,92,196                      ; vsubps        %ymm4,%ymm0,%ymm0
+  DB  197,252,16,156,36,0,2,0,0           ; vmovups       0x200(%rsp),%ymm3
+  DB  197,228,89,192                      ; vmulps        %ymm0,%ymm3,%ymm0
+  DB  197,220,88,192                      ; vaddps        %ymm0,%ymm4,%ymm0
+  DB  197,204,92,213                      ; vsubps        %ymm5,%ymm6,%ymm2
+  DB  197,228,89,210                      ; vmulps        %ymm2,%ymm3,%ymm2
+  DB  197,212,88,210                      ; vaddps        %ymm2,%ymm5,%ymm2
+  DB  196,193,116,92,205                  ; vsubps        %ymm13,%ymm1,%ymm1
+  DB  197,228,89,201                      ; vmulps        %ymm1,%ymm3,%ymm1
+  DB  197,148,88,201                      ; vaddps        %ymm1,%ymm13,%ymm1
+  DB  196,193,124,92,198                  ; vsubps        %ymm14,%ymm0,%ymm0
+  DB  197,252,16,156,36,64,1,0,0          ; vmovups       0x140(%rsp),%ymm3
+  DB  197,228,89,192                      ; vmulps        %ymm0,%ymm3,%ymm0
+  DB  197,140,88,192                      ; vaddps        %ymm0,%ymm14,%ymm0
+  DB  197,252,17,132,36,128,0,0,0         ; vmovups       %ymm0,0x80(%rsp)
+  DB  197,252,16,164,36,32,1,0,0          ; vmovups       0x120(%rsp),%ymm4
+  DB  197,236,92,196                      ; vsubps        %ymm4,%ymm2,%ymm0
+  DB  197,228,89,192                      ; vmulps        %ymm0,%ymm3,%ymm0
+  DB  197,220,88,192                      ; vaddps        %ymm0,%ymm4,%ymm0
+  DB  197,252,17,132,36,32,1,0,0          ; vmovups       %ymm0,0x120(%rsp)
+  DB  196,193,116,92,192                  ; vsubps        %ymm8,%ymm1,%ymm0
+  DB  197,228,89,192                      ; vmulps        %ymm0,%ymm3,%ymm0
+  DB  197,188,88,192                      ; vaddps        %ymm0,%ymm8,%ymm0
+  DB  197,252,17,132,36,224,1,0,0         ; vmovups       %ymm0,0x1e0(%rsp)
+  DB  197,254,111,132,36,192,0,0,0        ; vmovdqu       0xc0(%rsp),%ymm0
+  DB  197,121,254,116,36,64               ; vpaddd        0x40(%rsp),%xmm0,%xmm14
+  DB  197,249,111,132,36,160,0,0,0        ; vmovdqa       0xa0(%rsp),%xmm0
+  DB  197,121,254,172,36,160,1,0,0        ; vpaddd        0x1a0(%rsp),%xmm0,%xmm13
+  DB  197,145,254,188,36,96,1,0,0         ; vpaddd        0x160(%rsp),%xmm13,%xmm7
+  DB  197,137,254,108,36,112              ; vpaddd        0x70(%rsp),%xmm14,%xmm5
+  DB  197,193,254,12,36                   ; vpaddd        (%rsp),%xmm7,%xmm1
+  DB  196,194,113,64,209                  ; vpmulld       %xmm9,%xmm1,%xmm2
+  DB  196,193,81,254,207                  ; vpaddd        %xmm15,%xmm5,%xmm1
+  DB  196,194,113,64,225                  ; vpmulld       %xmm9,%xmm1,%xmm4
+  DB  196,193,121,126,225                 ; vmovd         %xmm4,%r9d
+  DB  196,195,121,22,224,1                ; vpextrd       $0x1,%xmm4,%r8d
+  DB  196,195,121,22,226,2                ; vpextrd       $0x2,%xmm4,%r10d
+  DB  196,195,121,22,227,3                ; vpextrd       $0x3,%xmm4,%r11d
+  DB  196,193,121,126,215                 ; vmovd         %xmm2,%r15d
+  DB  196,195,121,22,214,1                ; vpextrd       $0x1,%xmm2,%r14d
+  DB  196,195,121,22,212,2                ; vpextrd       $0x2,%xmm2,%r12d
+  DB  196,227,121,22,211,3                ; vpextrd       $0x3,%xmm2,%ebx
+  DB  196,161,122,16,12,184               ; vmovss        (%rax,%r15,4),%xmm1
+  DB  196,163,113,33,12,176,16            ; vinsertps     $0x10,(%rax,%r14,4),%xmm1,%xmm1
+  DB  196,163,113,33,12,160,32            ; vinsertps     $0x20,(%rax,%r12,4),%xmm1,%xmm1
+  DB  196,227,113,33,12,152,48            ; vinsertps     $0x30,(%rax,%rbx,4),%xmm1,%xmm1
+  DB  196,161,122,16,28,136               ; vmovss        (%rax,%r9,4),%xmm3
+  DB  196,163,97,33,28,128,16             ; vinsertps     $0x10,(%rax,%r8,4),%xmm3,%xmm3
+  DB  196,163,97,33,28,144,32             ; vinsertps     $0x20,(%rax,%r10,4),%xmm3,%xmm3
+  DB  196,163,97,33,28,152,48             ; vinsertps     $0x30,(%rax,%r11,4),%xmm3,%xmm3
+  DB  196,227,101,24,217,1                ; vinsertf128   $0x1,%xmm1,%ymm3,%ymm3
+  DB  197,249,118,192                     ; vpcmpeqd      %xmm0,%xmm0,%xmm0
+  DB  197,217,250,200                     ; vpsubd        %xmm0,%xmm4,%xmm1
+  DB  196,195,249,22,200,1                ; vpextrq       $0x1,%xmm1,%r8
+  DB  196,193,249,126,201                 ; vmovq         %xmm1,%r9
+  DB  197,233,250,200                     ; vpsubd        %xmm0,%xmm2,%xmm1
+  DB  196,65,1,118,255                    ; vpcmpeqd      %xmm15,%xmm15,%xmm15
+  DB  196,195,249,22,202,1                ; vpextrq       $0x1,%xmm1,%r10
+  DB  196,225,249,126,203                 ; vmovq         %xmm1,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,12,152               ; vmovss        (%rax,%r11,4),%xmm1
+  DB  196,227,113,33,12,152,16            ; vinsertps     $0x10,(%rax,%rbx,4),%xmm1,%xmm1
+  DB  196,161,122,16,52,176               ; vmovss        (%rax,%r14,4),%xmm6
+  DB  196,227,113,33,206,32               ; vinsertps     $0x20,%xmm6,%xmm1,%xmm1
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,52,144               ; vmovss        (%rax,%r10,4),%xmm6
+  DB  196,227,113,33,206,48               ; vinsertps     $0x30,%xmm6,%xmm1,%xmm1
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,52,152                   ; vmovss        (%rax,%rbx,4),%xmm6
+  DB  196,163,73,33,52,136,16             ; vinsertps     $0x10,(%rax,%r9,4),%xmm6,%xmm6
+  DB  196,161,122,16,4,144                ; vmovss        (%rax,%r10,4),%xmm0
+  DB  196,227,73,33,192,32                ; vinsertps     $0x20,%xmm0,%xmm6,%xmm0
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,52,128               ; vmovss        (%rax,%r8,4),%xmm6
+  DB  196,227,121,33,198,48               ; vinsertps     $0x30,%xmm6,%xmm0,%xmm0
+  DB  196,227,125,24,201,1                ; vinsertf128   $0x1,%xmm1,%ymm0,%ymm1
+  DB  196,193,89,254,194                  ; vpaddd        %xmm10,%xmm4,%xmm0
+  DB  196,195,249,22,192,1                ; vpextrq       $0x1,%xmm0,%r8
+  DB  196,193,249,126,193                 ; vmovq         %xmm0,%r9
+  DB  196,193,105,254,194                 ; vpaddd        %xmm10,%xmm2,%xmm0
+  DB  196,195,249,22,194,1                ; vpextrq       $0x1,%xmm0,%r10
+  DB  196,225,249,126,195                 ; vmovq         %xmm0,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,4,152                ; vmovss        (%rax,%r11,4),%xmm0
+  DB  196,227,121,33,4,152,16             ; vinsertps     $0x10,(%rax,%rbx,4),%xmm0,%xmm0
+  DB  196,161,122,16,20,176               ; vmovss        (%rax,%r14,4),%xmm2
+  DB  196,227,121,33,194,32               ; vinsertps     $0x20,%xmm2,%xmm0,%xmm0
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,20,144               ; vmovss        (%rax,%r10,4),%xmm2
+  DB  196,227,121,33,194,48               ; vinsertps     $0x30,%xmm2,%xmm0,%xmm0
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,20,152                   ; vmovss        (%rax,%rbx,4),%xmm2
+  DB  196,163,105,33,20,136,16            ; vinsertps     $0x10,(%rax,%r9,4),%xmm2,%xmm2
+  DB  196,161,122,16,36,144               ; vmovss        (%rax,%r10,4),%xmm4
+  DB  196,227,105,33,212,32               ; vinsertps     $0x20,%xmm4,%xmm2,%xmm2
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,36,128               ; vmovss        (%rax,%r8,4),%xmm4
+  DB  196,227,105,33,212,48               ; vinsertps     $0x30,%xmm4,%xmm2,%xmm2
+  DB  196,99,109,24,216,1                 ; vinsertf128   $0x1,%xmm0,%ymm2,%ymm11
+  DB  197,121,111,68,36,32                ; vmovdqa       0x20(%rsp),%xmm8
+  DB  197,185,254,197                     ; vpaddd        %xmm5,%xmm8,%xmm0
+  DB  197,153,254,215                     ; vpaddd        %xmm7,%xmm12,%xmm2
+  DB  196,194,105,64,233                  ; vpmulld       %xmm9,%xmm2,%xmm5
+  DB  196,194,121,64,225                  ; vpmulld       %xmm9,%xmm0,%xmm4
+  DB  196,193,121,126,225                 ; vmovd         %xmm4,%r9d
+  DB  196,195,121,22,224,1                ; vpextrd       $0x1,%xmm4,%r8d
+  DB  196,195,121,22,226,2                ; vpextrd       $0x2,%xmm4,%r10d
+  DB  196,195,121,22,227,3                ; vpextrd       $0x3,%xmm4,%r11d
+  DB  196,193,121,126,239                 ; vmovd         %xmm5,%r15d
+  DB  196,195,121,22,238,1                ; vpextrd       $0x1,%xmm5,%r14d
+  DB  196,195,121,22,236,2                ; vpextrd       $0x2,%xmm5,%r12d
+  DB  196,227,121,22,235,3                ; vpextrd       $0x3,%xmm5,%ebx
+  DB  196,161,122,16,4,184                ; vmovss        (%rax,%r15,4),%xmm0
+  DB  196,163,121,33,4,176,16             ; vinsertps     $0x10,(%rax,%r14,4),%xmm0,%xmm0
+  DB  196,163,121,33,4,160,32             ; vinsertps     $0x20,(%rax,%r12,4),%xmm0,%xmm0
+  DB  196,227,121,33,4,152,48             ; vinsertps     $0x30,(%rax,%rbx,4),%xmm0,%xmm0
+  DB  196,161,122,16,20,136               ; vmovss        (%rax,%r9,4),%xmm2
+  DB  196,163,105,33,20,128,16            ; vinsertps     $0x10,(%rax,%r8,4),%xmm2,%xmm2
+  DB  196,163,105,33,20,144,32            ; vinsertps     $0x20,(%rax,%r10,4),%xmm2,%xmm2
+  DB  196,163,105,33,20,152,48            ; vinsertps     $0x30,(%rax,%r11,4),%xmm2,%xmm2
+  DB  196,227,109,24,208,1                ; vinsertf128   $0x1,%xmm0,%ymm2,%ymm2
+  DB  196,193,89,250,199                  ; vpsubd        %xmm15,%xmm4,%xmm0
+  DB  196,195,249,22,192,1                ; vpextrq       $0x1,%xmm0,%r8
+  DB  196,193,249,126,193                 ; vmovq         %xmm0,%r9
+  DB  196,193,81,250,199                  ; vpsubd        %xmm15,%xmm5,%xmm0
+  DB  196,195,249,22,194,1                ; vpextrq       $0x1,%xmm0,%r10
+  DB  196,225,249,126,195                 ; vmovq         %xmm0,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,4,152                ; vmovss        (%rax,%r11,4),%xmm0
+  DB  196,227,121,33,4,152,16             ; vinsertps     $0x10,(%rax,%rbx,4),%xmm0,%xmm0
+  DB  196,161,122,16,52,176               ; vmovss        (%rax,%r14,4),%xmm6
+  DB  196,227,121,33,198,32               ; vinsertps     $0x20,%xmm6,%xmm0,%xmm0
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,52,144               ; vmovss        (%rax,%r10,4),%xmm6
+  DB  196,227,121,33,198,48               ; vinsertps     $0x30,%xmm6,%xmm0,%xmm0
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,52,152                   ; vmovss        (%rax,%rbx,4),%xmm6
+  DB  196,163,73,33,52,136,16             ; vinsertps     $0x10,(%rax,%r9,4),%xmm6,%xmm6
+  DB  196,161,122,16,60,144               ; vmovss        (%rax,%r10,4),%xmm7
+  DB  196,227,73,33,247,32                ; vinsertps     $0x20,%xmm7,%xmm6,%xmm6
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,60,128               ; vmovss        (%rax,%r8,4),%xmm7
+  DB  196,227,73,33,247,48                ; vinsertps     $0x30,%xmm7,%xmm6,%xmm6
+  DB  196,227,77,24,240,1                 ; vinsertf128   $0x1,%xmm0,%ymm6,%ymm6
+  DB  196,193,89,254,194                  ; vpaddd        %xmm10,%xmm4,%xmm0
+  DB  196,195,249,22,192,1                ; vpextrq       $0x1,%xmm0,%r8
+  DB  196,193,249,126,193                 ; vmovq         %xmm0,%r9
+  DB  196,193,81,254,194                  ; vpaddd        %xmm10,%xmm5,%xmm0
+  DB  196,195,249,22,194,1                ; vpextrq       $0x1,%xmm0,%r10
+  DB  196,225,249,126,195                 ; vmovq         %xmm0,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,4,152                ; vmovss        (%rax,%r11,4),%xmm0
+  DB  196,227,121,33,4,152,16             ; vinsertps     $0x10,(%rax,%rbx,4),%xmm0,%xmm0
+  DB  196,161,122,16,36,176               ; vmovss        (%rax,%r14,4),%xmm4
+  DB  196,227,121,33,196,32               ; vinsertps     $0x20,%xmm4,%xmm0,%xmm0
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,36,144               ; vmovss        (%rax,%r10,4),%xmm4
+  DB  196,227,121,33,196,48               ; vinsertps     $0x30,%xmm4,%xmm0,%xmm0
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,36,152                   ; vmovss        (%rax,%rbx,4),%xmm4
+  DB  196,163,89,33,36,136,16             ; vinsertps     $0x10,(%rax,%r9,4),%xmm4,%xmm4
+  DB  196,161,122,16,44,144               ; vmovss        (%rax,%r10,4),%xmm5
+  DB  196,227,89,33,229,32                ; vinsertps     $0x20,%xmm5,%xmm4,%xmm4
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,44,128               ; vmovss        (%rax,%r8,4),%xmm5
+  DB  196,227,89,33,229,48                ; vinsertps     $0x30,%xmm5,%xmm4,%xmm4
+  DB  196,227,93,24,192,1                 ; vinsertf128   $0x1,%xmm0,%ymm4,%ymm0
+  DB  197,236,92,211                      ; vsubps        %ymm3,%ymm2,%ymm2
+  DB  197,252,16,164,36,0,2,0,0           ; vmovups       0x200(%rsp),%ymm4
+  DB  197,220,89,210                      ; vmulps        %ymm2,%ymm4,%ymm2
+  DB  197,228,88,210                      ; vaddps        %ymm2,%ymm3,%ymm2
+  DB  197,252,17,148,36,96,1,0,0          ; vmovups       %ymm2,0x160(%rsp)
+  DB  197,204,92,209                      ; vsubps        %ymm1,%ymm6,%ymm2
+  DB  197,220,89,210                      ; vmulps        %ymm2,%ymm4,%ymm2
+  DB  197,116,88,250                      ; vaddps        %ymm2,%ymm1,%ymm15
+  DB  196,193,124,92,195                  ; vsubps        %ymm11,%ymm0,%ymm0
+  DB  197,220,89,192                      ; vmulps        %ymm0,%ymm4,%ymm0
+  DB  197,124,40,228                      ; vmovaps       %ymm4,%ymm12
+  DB  197,36,88,216                       ; vaddps        %ymm0,%ymm11,%ymm11
+  DB  197,145,254,124,36,80               ; vpaddd        0x50(%rsp),%xmm13,%xmm7
+  DB  197,137,254,68,36,96                ; vpaddd        0x60(%rsp),%xmm14,%xmm0
+  DB  197,249,254,76,36,16                ; vpaddd        0x10(%rsp),%xmm0,%xmm1
+  DB  197,193,254,20,36                   ; vpaddd        (%rsp),%xmm7,%xmm2
+  DB  196,66,105,64,241                   ; vpmulld       %xmm9,%xmm2,%xmm14
+  DB  196,194,113,64,209                  ; vpmulld       %xmm9,%xmm1,%xmm2
+  DB  196,193,121,126,209                 ; vmovd         %xmm2,%r9d
+  DB  196,195,121,22,208,1                ; vpextrd       $0x1,%xmm2,%r8d
+  DB  196,195,121,22,210,2                ; vpextrd       $0x2,%xmm2,%r10d
+  DB  196,195,121,22,211,3                ; vpextrd       $0x3,%xmm2,%r11d
+  DB  196,65,121,126,247                  ; vmovd         %xmm14,%r15d
+  DB  196,67,121,22,246,1                 ; vpextrd       $0x1,%xmm14,%r14d
+  DB  196,67,121,22,244,2                 ; vpextrd       $0x2,%xmm14,%r12d
+  DB  196,99,121,22,243,3                 ; vpextrd       $0x3,%xmm14,%ebx
+  DB  196,161,122,16,12,184               ; vmovss        (%rax,%r15,4),%xmm1
+  DB  196,163,113,33,12,176,16            ; vinsertps     $0x10,(%rax,%r14,4),%xmm1,%xmm1
+  DB  196,163,113,33,12,160,32            ; vinsertps     $0x20,(%rax,%r12,4),%xmm1,%xmm1
+  DB  196,227,113,33,12,152,48            ; vinsertps     $0x30,(%rax,%rbx,4),%xmm1,%xmm1
+  DB  196,161,122,16,28,136               ; vmovss        (%rax,%r9,4),%xmm3
+  DB  196,163,97,33,28,128,16             ; vinsertps     $0x10,(%rax,%r8,4),%xmm3,%xmm3
+  DB  196,163,97,33,28,144,32             ; vinsertps     $0x20,(%rax,%r10,4),%xmm3,%xmm3
+  DB  196,163,97,33,28,152,48             ; vinsertps     $0x30,(%rax,%r11,4),%xmm3,%xmm3
+  DB  196,227,101,24,201,1                ; vinsertf128   $0x1,%xmm1,%ymm3,%ymm1
+  DB  197,217,118,228                     ; vpcmpeqd      %xmm4,%xmm4,%xmm4
+  DB  197,233,250,220                     ; vpsubd        %xmm4,%xmm2,%xmm3
+  DB  196,195,249,22,216,1                ; vpextrq       $0x1,%xmm3,%r8
+  DB  196,193,249,126,217                 ; vmovq         %xmm3,%r9
+  DB  197,137,250,220                     ; vpsubd        %xmm4,%xmm14,%xmm3
+  DB  197,201,118,246                     ; vpcmpeqd      %xmm6,%xmm6,%xmm6
+  DB  196,195,249,22,218,1                ; vpextrq       $0x1,%xmm3,%r10
+  DB  196,225,249,126,219                 ; vmovq         %xmm3,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,28,152               ; vmovss        (%rax,%r11,4),%xmm3
+  DB  196,227,97,33,28,152,16             ; vinsertps     $0x10,(%rax,%rbx,4),%xmm3,%xmm3
+  DB  196,161,122,16,44,176               ; vmovss        (%rax,%r14,4),%xmm5
+  DB  196,227,97,33,221,32                ; vinsertps     $0x20,%xmm5,%xmm3,%xmm3
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,44,144               ; vmovss        (%rax,%r10,4),%xmm5
+  DB  196,227,97,33,221,48                ; vinsertps     $0x30,%xmm5,%xmm3,%xmm3
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,44,152                   ; vmovss        (%rax,%rbx,4),%xmm5
+  DB  196,163,81,33,44,136,16             ; vinsertps     $0x10,(%rax,%r9,4),%xmm5,%xmm5
+  DB  196,161,122,16,36,144               ; vmovss        (%rax,%r10,4),%xmm4
+  DB  196,227,81,33,228,32                ; vinsertps     $0x20,%xmm4,%xmm5,%xmm4
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,44,128               ; vmovss        (%rax,%r8,4),%xmm5
+  DB  196,227,89,33,229,48                ; vinsertps     $0x30,%xmm5,%xmm4,%xmm4
+  DB  196,227,93,24,235,1                 ; vinsertf128   $0x1,%xmm3,%ymm4,%ymm5
+  DB  196,193,105,254,210                 ; vpaddd        %xmm10,%xmm2,%xmm2
+  DB  196,195,249,22,208,1                ; vpextrq       $0x1,%xmm2,%r8
+  DB  196,193,249,126,209                 ; vmovq         %xmm2,%r9
+  DB  196,193,9,254,210                   ; vpaddd        %xmm10,%xmm14,%xmm2
+  DB  196,195,249,22,210,1                ; vpextrq       $0x1,%xmm2,%r10
+  DB  196,225,249,126,211                 ; vmovq         %xmm2,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,20,152               ; vmovss        (%rax,%r11,4),%xmm2
+  DB  196,227,105,33,20,152,16            ; vinsertps     $0x10,(%rax,%rbx,4),%xmm2,%xmm2
+  DB  196,161,122,16,28,176               ; vmovss        (%rax,%r14,4),%xmm3
+  DB  196,227,105,33,211,32               ; vinsertps     $0x20,%xmm3,%xmm2,%xmm2
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,28,144               ; vmovss        (%rax,%r10,4),%xmm3
+  DB  196,227,105,33,211,48               ; vinsertps     $0x30,%xmm3,%xmm2,%xmm2
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,28,152                   ; vmovss        (%rax,%rbx,4),%xmm3
+  DB  196,163,97,33,28,136,16             ; vinsertps     $0x10,(%rax,%r9,4),%xmm3,%xmm3
+  DB  196,161,122,16,36,144               ; vmovss        (%rax,%r10,4),%xmm4
+  DB  196,227,97,33,220,32                ; vinsertps     $0x20,%xmm4,%xmm3,%xmm3
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,36,128               ; vmovss        (%rax,%r8,4),%xmm4
+  DB  196,227,97,33,220,48                ; vinsertps     $0x30,%xmm4,%xmm3,%xmm3
+  DB  196,99,101,24,242,1                 ; vinsertf128   $0x1,%xmm2,%ymm3,%ymm14
+  DB  197,185,254,192                     ; vpaddd        %xmm0,%xmm8,%xmm0
+  DB  197,193,254,84,36,48                ; vpaddd        0x30(%rsp),%xmm7,%xmm2
+  DB  196,194,105,64,209                  ; vpmulld       %xmm9,%xmm2,%xmm2
+  DB  196,194,121,64,217                  ; vpmulld       %xmm9,%xmm0,%xmm3
+  DB  196,193,121,126,217                 ; vmovd         %xmm3,%r9d
+  DB  196,195,121,22,216,1                ; vpextrd       $0x1,%xmm3,%r8d
+  DB  196,195,121,22,218,2                ; vpextrd       $0x2,%xmm3,%r10d
+  DB  196,195,121,22,219,3                ; vpextrd       $0x3,%xmm3,%r11d
+  DB  196,193,121,126,215                 ; vmovd         %xmm2,%r15d
+  DB  196,195,121,22,214,1                ; vpextrd       $0x1,%xmm2,%r14d
+  DB  196,195,121,22,212,2                ; vpextrd       $0x2,%xmm2,%r12d
+  DB  196,227,121,22,211,3                ; vpextrd       $0x3,%xmm2,%ebx
+  DB  196,161,122,16,4,184                ; vmovss        (%rax,%r15,4),%xmm0
+  DB  196,163,121,33,4,176,16             ; vinsertps     $0x10,(%rax,%r14,4),%xmm0,%xmm0
+  DB  196,163,121,33,4,160,32             ; vinsertps     $0x20,(%rax,%r12,4),%xmm0,%xmm0
+  DB  196,227,121,33,4,152,48             ; vinsertps     $0x30,(%rax,%rbx,4),%xmm0,%xmm0
+  DB  196,161,122,16,36,136               ; vmovss        (%rax,%r9,4),%xmm4
+  DB  196,163,89,33,36,128,16             ; vinsertps     $0x10,(%rax,%r8,4),%xmm4,%xmm4
+  DB  196,163,89,33,36,144,32             ; vinsertps     $0x20,(%rax,%r10,4),%xmm4,%xmm4
+  DB  196,163,89,33,36,152,48             ; vinsertps     $0x30,(%rax,%r11,4),%xmm4,%xmm4
+  DB  196,227,93,24,192,1                 ; vinsertf128   $0x1,%xmm0,%ymm4,%ymm0
+  DB  197,225,250,230                     ; vpsubd        %xmm6,%xmm3,%xmm4
+  DB  196,195,249,22,224,1                ; vpextrq       $0x1,%xmm4,%r8
+  DB  196,193,249,126,225                 ; vmovq         %xmm4,%r9
+  DB  197,233,250,230                     ; vpsubd        %xmm6,%xmm2,%xmm4
+  DB  196,195,249,22,226,1                ; vpextrq       $0x1,%xmm4,%r10
+  DB  196,225,249,126,227                 ; vmovq         %xmm4,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,36,152               ; vmovss        (%rax,%r11,4),%xmm4
+  DB  196,227,89,33,36,152,16             ; vinsertps     $0x10,(%rax,%rbx,4),%xmm4,%xmm4
+  DB  196,161,122,16,60,176               ; vmovss        (%rax,%r14,4),%xmm7
+  DB  196,227,89,33,231,32                ; vinsertps     $0x20,%xmm7,%xmm4,%xmm4
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,60,144               ; vmovss        (%rax,%r10,4),%xmm7
+  DB  196,227,89,33,231,48                ; vinsertps     $0x30,%xmm7,%xmm4,%xmm4
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,60,152                   ; vmovss        (%rax,%rbx,4),%xmm7
+  DB  196,163,65,33,60,136,16             ; vinsertps     $0x10,(%rax,%r9,4),%xmm7,%xmm7
+  DB  196,161,122,16,52,144               ; vmovss        (%rax,%r10,4),%xmm6
+  DB  196,227,65,33,246,32                ; vinsertps     $0x20,%xmm6,%xmm7,%xmm6
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,60,128               ; vmovss        (%rax,%r8,4),%xmm7
+  DB  196,227,73,33,247,48                ; vinsertps     $0x30,%xmm7,%xmm6,%xmm6
+  DB  196,227,77,24,252,1                 ; vinsertf128   $0x1,%xmm4,%ymm6,%ymm7
+  DB  196,193,97,254,218                  ; vpaddd        %xmm10,%xmm3,%xmm3
+  DB  196,195,249,22,216,1                ; vpextrq       $0x1,%xmm3,%r8
+  DB  196,193,249,126,217                 ; vmovq         %xmm3,%r9
+  DB  196,193,105,254,210                 ; vpaddd        %xmm10,%xmm2,%xmm2
+  DB  196,195,249,22,210,1                ; vpextrq       $0x1,%xmm2,%r10
+  DB  196,225,249,126,211                 ; vmovq         %xmm2,%rbx
+  DB  65,137,219                          ; mov           %ebx,%r11d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  196,161,122,16,20,152               ; vmovss        (%rax,%r11,4),%xmm2
+  DB  196,227,105,33,20,152,16            ; vinsertps     $0x10,(%rax,%rbx,4),%xmm2,%xmm2
+  DB  196,161,122,16,28,176               ; vmovss        (%rax,%r14,4),%xmm3
+  DB  196,227,105,33,211,32               ; vinsertps     $0x20,%xmm3,%xmm2,%xmm2
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,161,122,16,28,144               ; vmovss        (%rax,%r10,4),%xmm3
+  DB  196,227,105,33,211,48               ; vinsertps     $0x30,%xmm3,%xmm2,%xmm2
+  DB  68,137,203                          ; mov           %r9d,%ebx
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,194                          ; mov           %r8d,%r10d
+  DB  197,250,16,28,152                   ; vmovss        (%rax,%rbx,4),%xmm3
+  DB  196,163,97,33,28,136,16             ; vinsertps     $0x10,(%rax,%r9,4),%xmm3,%xmm3
+  DB  196,161,122,16,36,144               ; vmovss        (%rax,%r10,4),%xmm4
+  DB  196,227,97,33,220,32                ; vinsertps     $0x20,%xmm4,%xmm3,%xmm3
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  196,161,122,16,36,128               ; vmovss        (%rax,%r8,4),%xmm4
+  DB  196,227,97,33,220,48                ; vinsertps     $0x30,%xmm4,%xmm3,%xmm3
+  DB  196,227,101,24,210,1                ; vinsertf128   $0x1,%xmm2,%ymm3,%ymm2
+  DB  197,252,92,193                      ; vsubps        %ymm1,%ymm0,%ymm0
+  DB  197,156,89,192                      ; vmulps        %ymm0,%ymm12,%ymm0
+  DB  197,244,88,192                      ; vaddps        %ymm0,%ymm1,%ymm0
+  DB  197,196,92,205                      ; vsubps        %ymm5,%ymm7,%ymm1
+  DB  197,156,89,201                      ; vmulps        %ymm1,%ymm12,%ymm1
+  DB  197,212,88,201                      ; vaddps        %ymm1,%ymm5,%ymm1
+  DB  196,193,108,92,214                  ; vsubps        %ymm14,%ymm2,%ymm2
+  DB  197,156,89,210                      ; vmulps        %ymm2,%ymm12,%ymm2
+  DB  197,140,88,210                      ; vaddps        %ymm2,%ymm14,%ymm2
+  DB  197,252,16,164,36,96,1,0,0          ; vmovups       0x160(%rsp),%ymm4
+  DB  197,252,92,196                      ; vsubps        %ymm4,%ymm0,%ymm0
+  DB  197,252,16,156,36,64,1,0,0          ; vmovups       0x140(%rsp),%ymm3
+  DB  197,228,89,192                      ; vmulps        %ymm0,%ymm3,%ymm0
+  DB  197,220,88,192                      ; vaddps        %ymm0,%ymm4,%ymm0
+  DB  196,193,116,92,207                  ; vsubps        %ymm15,%ymm1,%ymm1
+  DB  197,228,89,201                      ; vmulps        %ymm1,%ymm3,%ymm1
+  DB  197,132,88,201                      ; vaddps        %ymm1,%ymm15,%ymm1
+  DB  196,193,108,92,211                  ; vsubps        %ymm11,%ymm2,%ymm2
+  DB  197,228,89,210                      ; vmulps        %ymm2,%ymm3,%ymm2
+  DB  197,164,88,210                      ; vaddps        %ymm2,%ymm11,%ymm2
+  DB  197,252,16,164,36,128,0,0,0         ; vmovups       0x80(%rsp),%ymm4
+  DB  197,252,92,196                      ; vsubps        %ymm4,%ymm0,%ymm0
+  DB  197,252,16,156,36,224,0,0,0         ; vmovups       0xe0(%rsp),%ymm3
+  DB  197,228,89,192                      ; vmulps        %ymm0,%ymm3,%ymm0
+  DB  197,220,88,192                      ; vaddps        %ymm0,%ymm4,%ymm0
+  DB  197,252,16,164,36,32,1,0,0          ; vmovups       0x120(%rsp),%ymm4
+  DB  197,244,92,204                      ; vsubps        %ymm4,%ymm1,%ymm1
+  DB  197,228,89,201                      ; vmulps        %ymm1,%ymm3,%ymm1
+  DB  197,220,88,201                      ; vaddps        %ymm1,%ymm4,%ymm1
+  DB  197,252,16,164,36,224,1,0,0         ; vmovups       0x1e0(%rsp),%ymm4
+  DB  197,236,92,212                      ; vsubps        %ymm4,%ymm2,%ymm2
+  DB  197,228,89,210                      ; vmulps        %ymm2,%ymm3,%ymm2
+  DB  197,220,88,210                      ; vaddps        %ymm2,%ymm4,%ymm2
+  DB  197,252,91,156,36,64,2,0,0          ; vcvtdq2ps     0x240(%rsp),%ymm3
+  DB  197,252,16,164,36,96,2,0,0          ; vmovups       0x260(%rsp),%ymm4
+  DB  197,220,92,219                      ; vsubps        %ymm3,%ymm4,%ymm3
+  DB  197,252,16,164,36,128,1,0,0         ; vmovups       0x180(%rsp),%ymm4
+  DB  197,252,92,196                      ; vsubps        %ymm4,%ymm0,%ymm0
+  DB  197,228,89,192                      ; vmulps        %ymm0,%ymm3,%ymm0
+  DB  197,220,88,192                      ; vaddps        %ymm0,%ymm4,%ymm0
+  DB  197,252,16,164,36,192,1,0,0         ; vmovups       0x1c0(%rsp),%ymm4
+  DB  197,244,92,204                      ; vsubps        %ymm4,%ymm1,%ymm1
+  DB  197,228,89,201                      ; vmulps        %ymm1,%ymm3,%ymm1
+  DB  197,220,88,201                      ; vaddps        %ymm1,%ymm4,%ymm1
+  DB  197,252,16,164,36,0,1,0,0           ; vmovups       0x100(%rsp),%ymm4
+  DB  197,236,92,212                      ; vsubps        %ymm4,%ymm2,%ymm2
+  DB  197,228,89,210                      ; vmulps        %ymm2,%ymm3,%ymm2
+  DB  197,220,88,210                      ; vaddps        %ymm2,%ymm4,%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,29,160,1,2,0         ; vbroadcastss  0x201a0(%rip),%ymm3        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,252,16,164,36,192,2,0,0         ; vmovups       0x2c0(%rsp),%ymm4
+  DB  197,252,16,172,36,224,2,0,0         ; vmovups       0x2e0(%rsp),%ymm5
+  DB  197,252,16,180,36,0,3,0,0           ; vmovups       0x300(%rsp),%ymm6
+  DB  197,252,16,188,36,32,3,0,0          ; vmovups       0x320(%rsp),%ymm7
+  DB  72,129,196,88,3,0,0                 ; add           $0x358,%rsp
+  DB  91                                  ; pop           %rbx
+  DB  65,92                               ; pop           %r12
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_gauss_a_to_rgba_avx
+_sk_gauss_a_to_rgba_avx LABEL PROC
+  DB  196,226,125,24,5,219,2,2,0          ; vbroadcastss  0x202db(%rip),%ymm0        # 34c40 <_sk_srcover_bgra_8888_sse2_lowp+0x428>
+  DB  197,228,89,192                      ; vmulps        %ymm0,%ymm3,%ymm0
+  DB  196,226,125,24,13,202,2,2,0         ; vbroadcastss  0x202ca(%rip),%ymm1        # 34c3c <_sk_srcover_bgra_8888_sse2_lowp+0x424>
+  DB  197,252,88,193                      ; vaddps        %ymm1,%ymm0,%ymm0
+  DB  197,252,89,195                      ; vmulps        %ymm3,%ymm0,%ymm0
+  DB  196,226,125,24,13,193,2,2,0         ; vbroadcastss  0x202c1(%rip),%ymm1        # 34c44 <_sk_srcover_bgra_8888_sse2_lowp+0x42c>
+  DB  197,252,88,193                      ; vaddps        %ymm1,%ymm0,%ymm0
+  DB  197,252,89,195                      ; vmulps        %ymm3,%ymm0,%ymm0
+  DB  196,226,125,24,13,180,2,2,0         ; vbroadcastss  0x202b4(%rip),%ymm1        # 34c48 <_sk_srcover_bgra_8888_sse2_lowp+0x430>
+  DB  197,252,88,193                      ; vaddps        %ymm1,%ymm0,%ymm0
+  DB  197,252,89,195                      ; vmulps        %ymm3,%ymm0,%ymm0
+  DB  196,226,125,24,13,167,2,2,0         ; vbroadcastss  0x202a7(%rip),%ymm1        # 34c4c <_sk_srcover_bgra_8888_sse2_lowp+0x434>
+  DB  197,252,88,193                      ; vaddps        %ymm1,%ymm0,%ymm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,40,200                      ; vmovaps       %ymm0,%ymm1
+  DB  197,252,40,208                      ; vmovaps       %ymm0,%ymm2
+  DB  197,252,40,216                      ; vmovaps       %ymm0,%ymm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bilerp_clamp_8888_avx
+_sk_bilerp_clamp_8888_avx LABEL PROC
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,84                               ; push          %r12
+  DB  83                                  ; push          %rbx
+  DB  72,129,236,248,1,0,0                ; sub           $0x1f8,%rsp
+  DB  197,254,127,188,36,160,0,0,0        ; vmovdqu       %ymm7,0xa0(%rsp)
+  DB  197,252,17,180,36,128,0,0,0         ; vmovups       %ymm6,0x80(%rsp)
+  DB  197,252,17,108,36,96                ; vmovups       %ymm5,0x60(%rsp)
+  DB  197,252,17,100,36,64                ; vmovups       %ymm4,0x40(%rsp)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,29,212,0,2,0         ; vbroadcastss  0x200d4(%rip),%ymm3        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  197,252,17,132,36,192,1,0,0         ; vmovups       %ymm0,0x1c0(%rsp)
+  DB  197,252,88,195                      ; vaddps        %ymm3,%ymm0,%ymm0
+  DB  196,227,125,8,208,1                 ; vroundps      $0x1,%ymm0,%ymm2
+  DB  197,252,92,194                      ; vsubps        %ymm2,%ymm0,%ymm0
+  DB  197,252,17,140,36,64,1,0,0          ; vmovups       %ymm1,0x140(%rsp)
+  DB  197,244,88,203                      ; vaddps        %ymm3,%ymm1,%ymm1
+  DB  196,227,125,8,209,1                 ; vroundps      $0x1,%ymm1,%ymm2
+  DB  197,244,92,210                      ; vsubps        %ymm2,%ymm1,%ymm2
+  DB  196,226,125,24,13,161,0,2,0         ; vbroadcastss  0x200a1(%rip),%ymm1        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,252,17,132,36,160,1,0,0         ; vmovups       %ymm0,0x1a0(%rsp)
+  DB  197,244,92,192                      ; vsubps        %ymm0,%ymm1,%ymm0
+  DB  197,252,17,132,36,96,1,0,0          ; vmovups       %ymm0,0x160(%rsp)
+  DB  197,252,17,148,36,32,1,0,0          ; vmovups       %ymm2,0x120(%rsp)
+  DB  197,244,92,194                      ; vsubps        %ymm2,%ymm1,%ymm0
+  DB  197,252,17,132,36,192,0,0,0         ; vmovups       %ymm0,0xc0(%rsp)
+  DB  196,226,125,24,72,12                ; vbroadcastss  0xc(%rax),%ymm1
+  DB  196,227,125,25,202,1                ; vextractf128  $0x1,%ymm1,%xmm2
+  DB  197,225,118,219                     ; vpcmpeqd      %xmm3,%xmm3,%xmm3
+  DB  197,233,254,211                     ; vpaddd        %xmm3,%xmm2,%xmm2
+  DB  197,241,254,203                     ; vpaddd        %xmm3,%xmm1,%xmm1
+  DB  196,227,117,24,194,1                ; vinsertf128   $0x1,%xmm2,%ymm1,%ymm0
+  DB  197,252,17,132,36,128,1,0,0         ; vmovups       %ymm0,0x180(%rsp)
+  DB  196,226,125,24,72,16                ; vbroadcastss  0x10(%rax),%ymm1
+  DB  196,227,125,25,202,1                ; vextractf128  $0x1,%ymm1,%xmm2
+  DB  197,233,254,211                     ; vpaddd        %xmm3,%xmm2,%xmm2
+  DB  197,241,254,203                     ; vpaddd        %xmm3,%xmm1,%xmm1
+  DB  196,227,117,24,194,1                ; vinsertf128   $0x1,%xmm2,%ymm1,%ymm0
+  DB  197,252,17,132,36,0,1,0,0           ; vmovups       %ymm0,0x100(%rsp)
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  196,226,125,24,64,8                 ; vbroadcastss  0x8(%rax),%ymm0
+  DB  197,252,17,132,36,224,0,0,0         ; vmovups       %ymm0,0xe0(%rsp)
+  DB  197,250,16,5,101,1,2,0              ; vmovss        0x20165(%rip),%xmm0        # 34c1c <_sk_srcover_bgra_8888_sse2_lowp+0x404>
+  DB  197,124,40,53,225,6,2,0             ; vmovaps       0x206e1(%rip),%ymm14        # 351a0 <_sk_srcover_bgra_8888_sse2_lowp+0x988>
+  DB  196,98,125,24,45,120,0,2,0          ; vbroadcastss  0x20078(%rip),%ymm13        # 34b40 <_sk_srcover_bgra_8888_sse2_lowp+0x328>
+  DB  197,228,87,219                      ; vxorps        %ymm3,%ymm3,%ymm3
+  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  196,65,52,87,201                    ; vxorps        %ymm9,%ymm9,%ymm9
+  DB  197,248,40,224                      ; vmovaps       %xmm0,%xmm4
+  DB  196,227,121,4,204,0                 ; vpermilps     $0x0,%xmm4,%xmm1
+  DB  196,227,117,24,201,1                ; vinsertf128   $0x1,%xmm1,%ymm1,%ymm1
+  DB  197,244,88,140,36,64,1,0,0          ; vaddps        0x140(%rsp),%ymm1,%ymm1
+  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
+  DB  197,252,95,201                      ; vmaxps        %ymm1,%ymm0,%ymm1
+  DB  197,248,41,100,36,16                ; vmovaps       %xmm4,0x10(%rsp)
+  DB  197,248,46,37,71,1,2,0              ; vucomiss      0x20147(%rip),%xmm4        # 34c50 <_sk_srcover_bgra_8888_sse2_lowp+0x438>
+  DB  197,252,16,132,36,32,1,0,0          ; vmovups       0x120(%rsp),%ymm0
+  DB  197,252,17,68,36,32                 ; vmovups       %ymm0,0x20(%rsp)
+  DB  119,15                              ; ja            14b29 <_sk_bilerp_clamp_8888_avx+0x170>
+  DB  197,252,16,132,36,192,0,0,0         ; vmovups       0xc0(%rsp),%ymm0
+  DB  197,252,17,68,36,32                 ; vmovups       %ymm0,0x20(%rsp)
+  DB  197,244,93,140,36,0,1,0,0           ; vminps        0x100(%rsp),%ymm1,%ymm1
+  DB  197,254,91,201                      ; vcvttps2dq    %ymm1,%ymm1
+  DB  196,227,125,25,205,1                ; vextractf128  $0x1,%ymm1,%xmm5
+  DB  197,254,111,132,36,224,0,0,0        ; vmovdqu       0xe0(%rsp),%ymm0
+  DB  196,227,125,25,198,1                ; vextractf128  $0x1,%ymm0,%xmm6
+  DB  196,226,73,64,237                   ; vpmulld       %xmm5,%xmm6,%xmm5
+  DB  196,226,121,64,201                  ; vpmulld       %xmm1,%xmm0,%xmm1
+  DB  196,99,117,24,253,1                 ; vinsertf128   $0x1,%xmm5,%ymm1,%ymm15
+  DB  197,122,16,37,185,0,2,0             ; vmovss        0x200b9(%rip),%xmm12        # 34c1c <_sk_srcover_bgra_8888_sse2_lowp+0x404>
+  DB  196,195,121,4,204,0                 ; vpermilps     $0x0,%xmm12,%xmm1
+  DB  196,227,117,24,201,1                ; vinsertf128   $0x1,%xmm1,%ymm1,%ymm1
+  DB  197,244,88,140,36,192,1,0,0         ; vaddps        0x1c0(%rsp),%ymm1,%ymm1
+  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
+  DB  197,252,95,201                      ; vmaxps        %ymm1,%ymm0,%ymm1
+  DB  197,244,93,140,36,128,1,0,0         ; vminps        0x180(%rsp),%ymm1,%ymm1
+  DB  197,254,91,201                      ; vcvttps2dq    %ymm1,%ymm1
+  DB  196,227,125,25,205,1                ; vextractf128  $0x1,%ymm1,%xmm5
+  DB  196,99,125,25,254,1                 ; vextractf128  $0x1,%ymm15,%xmm6
+  DB  197,201,254,237                     ; vpaddd        %xmm5,%xmm6,%xmm5
+  DB  196,227,249,22,232,1                ; vpextrq       $0x1,%xmm5,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  196,193,249,126,234                 ; vmovq         %xmm5,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  197,129,254,201                     ; vpaddd        %xmm1,%xmm15,%xmm1
+  DB  196,227,249,22,203,1                ; vpextrq       $0x1,%xmm1,%rbx
+  DB  65,137,222                          ; mov           %ebx,%r14d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  196,193,249,126,207                 ; vmovq         %xmm1,%r15
+  DB  69,137,252                          ; mov           %r15d,%r12d
+  DB  73,193,239,32                       ; shr           $0x20,%r15
+  DB  196,129,121,110,12,160              ; vmovd         (%r8,%r12,4),%xmm1
+  DB  196,131,113,34,12,184,1             ; vpinsrd       $0x1,(%r8,%r15,4),%xmm1,%xmm1
+  DB  196,131,113,34,12,176,2             ; vpinsrd       $0x2,(%r8,%r14,4),%xmm1,%xmm1
+  DB  196,195,113,34,12,152,3             ; vpinsrd       $0x3,(%r8,%rbx,4),%xmm1,%xmm1
+  DB  196,129,121,110,44,152              ; vmovd         (%r8,%r11,4),%xmm5
+  DB  196,131,81,34,44,144,1              ; vpinsrd       $0x1,(%r8,%r10,4),%xmm5,%xmm5
+  DB  196,131,81,34,44,136,2              ; vpinsrd       $0x2,(%r8,%r9,4),%xmm5,%xmm5
+  DB  196,195,81,34,4,128,3               ; vpinsrd       $0x3,(%r8,%rax,4),%xmm5,%xmm0
+  DB  196,227,117,24,232,1                ; vinsertf128   $0x1,%xmm0,%ymm1,%ymm5
+  DB  196,193,84,84,238                   ; vandps        %ymm14,%ymm5,%ymm5
+  DB  197,252,91,237                      ; vcvtdq2ps     %ymm5,%ymm5
+  DB  196,193,84,89,245                   ; vmulps        %ymm13,%ymm5,%ymm6
+  DB  197,209,114,209,8                   ; vpsrld        $0x8,%xmm1,%xmm5
+  DB  197,217,114,208,8                   ; vpsrld        $0x8,%xmm0,%xmm4
+  DB  196,227,85,24,228,1                 ; vinsertf128   $0x1,%xmm4,%ymm5,%ymm4
+  DB  196,193,92,84,230                   ; vandps        %ymm14,%ymm4,%ymm4
+  DB  197,252,91,228                      ; vcvtdq2ps     %ymm4,%ymm4
+  DB  196,193,92,89,237                   ; vmulps        %ymm13,%ymm4,%ymm5
+  DB  197,217,114,209,16                  ; vpsrld        $0x10,%xmm1,%xmm4
+  DB  197,193,114,208,16                  ; vpsrld        $0x10,%xmm0,%xmm7
+  DB  196,227,93,24,231,1                 ; vinsertf128   $0x1,%xmm7,%ymm4,%ymm4
+  DB  196,193,92,84,230                   ; vandps        %ymm14,%ymm4,%ymm4
+  DB  197,252,91,228                      ; vcvtdq2ps     %ymm4,%ymm4
+  DB  196,65,92,89,221                    ; vmulps        %ymm13,%ymm4,%ymm11
+  DB  197,241,114,209,24                  ; vpsrld        $0x18,%xmm1,%xmm1
+  DB  197,249,114,208,24                  ; vpsrld        $0x18,%xmm0,%xmm0
+  DB  196,227,117,24,192,1                ; vinsertf128   $0x1,%xmm0,%ymm1,%ymm0
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  196,193,124,89,205                  ; vmulps        %ymm13,%ymm0,%ymm1
+  DB  197,120,46,37,214,255,1,0           ; vucomiss      0x1ffd6(%rip),%xmm12        # 34c50 <_sk_srcover_bgra_8888_sse2_lowp+0x438>
+  DB  197,124,16,148,36,160,1,0,0         ; vmovups       0x1a0(%rsp),%ymm10
+  DB  119,9                               ; ja            14c8e <_sk_bilerp_clamp_8888_avx+0x2d5>
+  DB  197,124,16,148,36,96,1,0,0          ; vmovups       0x160(%rsp),%ymm10
+  DB  197,172,89,68,36,32                 ; vmulps        0x20(%rsp),%ymm10,%ymm0
+  DB  197,252,89,230                      ; vmulps        %ymm6,%ymm0,%ymm4
+  DB  197,52,88,204                       ; vaddps        %ymm4,%ymm9,%ymm9
+  DB  197,252,89,229                      ; vmulps        %ymm5,%ymm0,%ymm4
+  DB  197,60,88,196                       ; vaddps        %ymm4,%ymm8,%ymm8
+  DB  196,193,124,89,227                  ; vmulps        %ymm11,%ymm0,%ymm4
+  DB  197,236,88,212                      ; vaddps        %ymm4,%ymm2,%ymm2
+  DB  197,252,89,193                      ; vmulps        %ymm1,%ymm0,%ymm0
+  DB  197,228,88,216                      ; vaddps        %ymm0,%ymm3,%ymm3
+  DB  197,26,88,37,11,254,1,0             ; vaddss        0x1fe0b(%rip),%xmm12,%xmm12        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,250,16,5,255,253,1,0            ; vmovss        0x1fdff(%rip),%xmm0        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  196,193,120,46,196                  ; vucomiss      %xmm12,%xmm0
+  DB  15,131,147,254,255,255              ; jae           14b63 <_sk_bilerp_clamp_8888_avx+0x1aa>
+  DB  197,248,40,100,36,16                ; vmovaps       0x10(%rsp),%xmm4
+  DB  197,218,88,37,234,253,1,0           ; vaddss        0x1fdea(%rip),%xmm4,%xmm4        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,250,16,5,222,253,1,0            ; vmovss        0x1fdde(%rip),%xmm0        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  197,248,46,196                      ; vucomiss      %xmm4,%xmm0
+  DB  15,131,238,253,255,255              ; jae           14ade <_sk_bilerp_clamp_8888_avx+0x125>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,124,41,200                      ; vmovaps       %ymm9,%ymm0
+  DB  197,124,41,193                      ; vmovaps       %ymm8,%ymm1
+  DB  197,252,16,100,36,64                ; vmovups       0x40(%rsp),%ymm4
+  DB  197,252,16,108,36,96                ; vmovups       0x60(%rsp),%ymm5
+  DB  197,252,16,180,36,128,0,0,0         ; vmovups       0x80(%rsp),%ymm6
+  DB  197,252,16,188,36,160,0,0,0         ; vmovups       0xa0(%rsp),%ymm7
+  DB  72,129,196,248,1,0,0                ; add           $0x1f8,%rsp
+  DB  91                                  ; pop           %rbx
+  DB  65,92                               ; pop           %r12
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_start_pipeline_sse41
+_sk_start_pipeline_sse41 LABEL PROC
+  DB  85                                  ; push          %rbp
+  DB  72,137,229                          ; mov           %rsp,%rbp
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,85                               ; push          %r13
+  DB  65,84                               ; push          %r12
+  DB  86                                  ; push          %rsi
+  DB  87                                  ; push          %rdi
+  DB  83                                  ; push          %rbx
+  DB  72,129,236,200,0,0,0                ; sub           $0xc8,%rsp
+  DB  68,15,41,125,176                    ; movaps        %xmm15,-0x50(%rbp)
+  DB  68,15,41,117,160                    ; movaps        %xmm14,-0x60(%rbp)
+  DB  68,15,41,109,144                    ; movaps        %xmm13,-0x70(%rbp)
+  DB  68,15,41,101,128                    ; movaps        %xmm12,-0x80(%rbp)
+  DB  68,15,41,157,112,255,255,255        ; movaps        %xmm11,-0x90(%rbp)
+  DB  68,15,41,149,96,255,255,255         ; movaps        %xmm10,-0xa0(%rbp)
+  DB  68,15,41,141,80,255,255,255         ; movaps        %xmm9,-0xb0(%rbp)
+  DB  68,15,41,133,64,255,255,255         ; movaps        %xmm8,-0xc0(%rbp)
+  DB  15,41,189,48,255,255,255            ; movaps        %xmm7,-0xd0(%rbp)
+  DB  15,41,181,32,255,255,255            ; movaps        %xmm6,-0xe0(%rbp)
+  DB  77,137,199                          ; mov           %r8,%r15
+  DB  72,137,211                          ; mov           %rdx,%rbx
+  DB  72,137,141,24,255,255,255           ; mov           %rcx,-0xe8(%rbp)
+  DB  72,139,117,48                       ; mov           0x30(%rbp),%rsi
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  73,137,197                          ; mov           %rax,%r13
+  DB  73,137,246                          ; mov           %rsi,%r14
+  DB  76,137,141,8,255,255,255            ; mov           %r9,-0xf8(%rbp)
+  DB  76,57,203                           ; cmp           %r9,%rbx
+  DB  15,131,153,0,0,0                    ; jae           14e42 <_sk_start_pipeline_sse41+0x11a>
+  DB  72,139,133,24,255,255,255           ; mov           -0xe8(%rbp),%rax
+  DB  72,141,64,4                         ; lea           0x4(%rax),%rax
+  DB  72,137,133,16,255,255,255           ; mov           %rax,-0xf0(%rbp)
+  DB  76,57,189,16,255,255,255            ; cmp           %r15,-0xf0(%rbp)
+  DB  72,139,149,24,255,255,255           ; mov           -0xe8(%rbp),%rdx
+  DB  119,62                              ; ja            14e09 <_sk_start_pipeline_sse41+0xe1>
+  DB  76,139,165,24,255,255,255           ; mov           -0xe8(%rbp),%r12
+  DB  49,255                              ; xor           %edi,%edi
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  15,87,201                           ; xorps         %xmm1,%xmm1
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,87,237                           ; xorps         %xmm5,%xmm5
+  DB  15,87,246                           ; xorps         %xmm6,%xmm6
+  DB  15,87,255                           ; xorps         %xmm7,%xmm7
+  DB  76,137,246                          ; mov           %r14,%rsi
+  DB  76,137,226                          ; mov           %r12,%rdx
+  DB  72,137,217                          ; mov           %rbx,%rcx
+  DB  65,255,213                          ; callq         *%r13
+  DB  73,141,84,36,4                      ; lea           0x4(%r12),%rdx
+  DB  73,131,196,8                        ; add           $0x8,%r12
+  DB  77,57,252                           ; cmp           %r15,%r12
+  DB  73,137,212                          ; mov           %rdx,%r12
+  DB  118,201                             ; jbe           14dd2 <_sk_start_pipeline_sse41+0xaa>
+  DB  76,137,255                          ; mov           %r15,%rdi
+  DB  72,41,215                           ; sub           %rdx,%rdi
+  DB  116,33                              ; je            14e32 <_sk_start_pipeline_sse41+0x10a>
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  15,87,201                           ; xorps         %xmm1,%xmm1
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,87,237                           ; xorps         %xmm5,%xmm5
+  DB  15,87,246                           ; xorps         %xmm6,%xmm6
+  DB  15,87,255                           ; xorps         %xmm7,%xmm7
+  DB  76,137,246                          ; mov           %r14,%rsi
+  DB  72,137,217                          ; mov           %rbx,%rcx
+  DB  65,255,213                          ; callq         *%r13
+  DB  72,255,195                          ; inc           %rbx
+  DB  72,59,157,8,255,255,255             ; cmp           -0xf8(%rbp),%rbx
+  DB  15,133,121,255,255,255              ; jne           14dbb <_sk_start_pipeline_sse41+0x93>
+  DB  15,40,181,32,255,255,255            ; movaps        -0xe0(%rbp),%xmm6
+  DB  15,40,189,48,255,255,255            ; movaps        -0xd0(%rbp),%xmm7
+  DB  68,15,40,133,64,255,255,255         ; movaps        -0xc0(%rbp),%xmm8
+  DB  68,15,40,141,80,255,255,255         ; movaps        -0xb0(%rbp),%xmm9
+  DB  68,15,40,149,96,255,255,255         ; movaps        -0xa0(%rbp),%xmm10
+  DB  68,15,40,157,112,255,255,255        ; movaps        -0x90(%rbp),%xmm11
+  DB  68,15,40,101,128                    ; movaps        -0x80(%rbp),%xmm12
+  DB  68,15,40,109,144                    ; movaps        -0x70(%rbp),%xmm13
+  DB  68,15,40,117,160                    ; movaps        -0x60(%rbp),%xmm14
+  DB  68,15,40,125,176                    ; movaps        -0x50(%rbp),%xmm15
+  DB  72,129,196,200,0,0,0                ; add           $0xc8,%rsp
+  DB  91                                  ; pop           %rbx
+  DB  95                                  ; pop           %rdi
+  DB  94                                  ; pop           %rsi
+  DB  65,92                               ; pop           %r12
+  DB  65,93                               ; pop           %r13
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  93                                  ; pop           %rbp
+  DB  195                                 ; retq
+
+PUBLIC _sk_just_return_sse41
+_sk_just_return_sse41 LABEL PROC
+  DB  195                                 ; retq
+
+PUBLIC _sk_seed_shader_sse41
+_sk_seed_shader_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,15,110,194                      ; movd          %edx,%xmm0
+  DB  102,15,112,192,0                    ; pshufd        $0x0,%xmm0,%xmm0
+  DB  15,91,200                           ; cvtdq2ps      %xmm0,%xmm1
+  DB  15,16,0                             ; movups        (%rax),%xmm0
+  DB  15,88,193                           ; addps         %xmm1,%xmm0
+  DB  102,15,110,201                      ; movd          %ecx,%xmm1
+  DB  102,15,112,201,0                    ; pshufd        $0x0,%xmm1,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  15,88,13,224,5,2,0                  ; addps         0x205e0(%rip),%xmm1        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,21,231,5,2,0                  ; movaps        0x205e7(%rip),%xmm2        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,87,237                           ; xorps         %xmm5,%xmm5
+  DB  15,87,246                           ; xorps         %xmm6,%xmm6
+  DB  15,87,255                           ; xorps         %xmm7,%xmm7
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_dither_sse41
+_sk_dither_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,68,15,110,194                   ; movd          %edx,%xmm8
+  DB  102,69,15,112,192,0                 ; pshufd        $0x0,%xmm8,%xmm8
+  DB  102,68,15,254,5,144,5,2,0           ; paddd         0x20590(%rip),%xmm8        # 35480 <_sk_srcover_bgra_8888_sse2_lowp+0xc68>
+  DB  102,68,15,110,201                   ; movd          %ecx,%xmm9
+  DB  102,69,15,112,201,0                 ; pshufd        $0x0,%xmm9,%xmm9
+  DB  102,69,15,239,200                   ; pxor          %xmm8,%xmm9
+  DB  102,68,15,111,21,183,5,2,0          ; movdqa        0x205b7(%rip),%xmm10        # 354c0 <_sk_srcover_bgra_8888_sse2_lowp+0xca8>
+  DB  102,69,15,111,217                   ; movdqa        %xmm9,%xmm11
+  DB  102,69,15,219,218                   ; pand          %xmm10,%xmm11
+  DB  102,65,15,114,243,5                 ; pslld         $0x5,%xmm11
+  DB  102,69,15,219,208                   ; pand          %xmm8,%xmm10
+  DB  102,65,15,114,242,4                 ; pslld         $0x4,%xmm10
+  DB  102,68,15,111,37,163,5,2,0          ; movdqa        0x205a3(%rip),%xmm12        # 354d0 <_sk_srcover_bgra_8888_sse2_lowp+0xcb8>
+  DB  102,68,15,111,45,170,5,2,0          ; movdqa        0x205aa(%rip),%xmm13        # 354e0 <_sk_srcover_bgra_8888_sse2_lowp+0xcc8>
+  DB  102,69,15,111,241                   ; movdqa        %xmm9,%xmm14
+  DB  102,69,15,219,245                   ; pand          %xmm13,%xmm14
+  DB  102,65,15,114,246,2                 ; pslld         $0x2,%xmm14
+  DB  102,69,15,235,243                   ; por           %xmm11,%xmm14
+  DB  102,69,15,219,232                   ; pand          %xmm8,%xmm13
+  DB  102,69,15,254,237                   ; paddd         %xmm13,%xmm13
+  DB  102,69,15,235,234                   ; por           %xmm10,%xmm13
+  DB  102,69,15,219,204                   ; pand          %xmm12,%xmm9
+  DB  102,65,15,114,209,1                 ; psrld         $0x1,%xmm9
+  DB  102,69,15,219,196                   ; pand          %xmm12,%xmm8
+  DB  102,65,15,114,208,2                 ; psrld         $0x2,%xmm8
+  DB  102,69,15,235,197                   ; por           %xmm13,%xmm8
+  DB  102,69,15,235,198                   ; por           %xmm14,%xmm8
+  DB  102,69,15,235,193                   ; por           %xmm9,%xmm8
+  DB  69,15,91,192                        ; cvtdq2ps      %xmm8,%xmm8
+  DB  68,15,89,5,101,5,2,0                ; mulps         0x20565(%rip),%xmm8        # 354f0 <_sk_srcover_bgra_8888_sse2_lowp+0xcd8>
+  DB  68,15,88,5,109,5,2,0                ; addps         0x2056d(%rip),%xmm8        # 35500 <_sk_srcover_bgra_8888_sse2_lowp+0xce8>
+  DB  243,68,15,16,16                     ; movss         (%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  69,15,89,208                        ; mulps         %xmm8,%xmm10
+  DB  65,15,88,194                        ; addps         %xmm10,%xmm0
+  DB  65,15,88,202                        ; addps         %xmm10,%xmm1
+  DB  68,15,88,210                        ; addps         %xmm2,%xmm10
+  DB  15,93,195                           ; minps         %xmm3,%xmm0
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  68,15,95,192                        ; maxps         %xmm0,%xmm8
+  DB  15,93,203                           ; minps         %xmm3,%xmm1
+  DB  102,69,15,239,201                   ; pxor          %xmm9,%xmm9
+  DB  68,15,95,201                        ; maxps         %xmm1,%xmm9
+  DB  68,15,93,211                        ; minps         %xmm3,%xmm10
+  DB  65,15,95,210                        ; maxps         %xmm10,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  65,15,40,201                        ; movaps        %xmm9,%xmm1
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_uniform_color_sse41
+_sk_uniform_color_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,15,16,0                         ; movss         (%rax),%xmm0
+  DB  243,15,16,72,4                      ; movss         0x4(%rax),%xmm1
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
+  DB  243,15,16,80,8                      ; movss         0x8(%rax),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  243,15,16,88,12                     ; movss         0xc(%rax),%xmm3
+  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_black_color_sse41
+_sk_black_color_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,29,163,4,2,0                  ; movaps        0x204a3(%rip),%xmm3        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  15,87,201                           ; xorps         %xmm1,%xmm1
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_white_color_sse41
+_sk_white_color_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,5,143,4,2,0                   ; movaps        0x2048f(%rip),%xmm0        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  15,40,208                           ; movaps        %xmm0,%xmm2
+  DB  15,40,216                           ; movaps        %xmm0,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_load_rgba_sse41
+_sk_load_rgba_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,16,0                             ; movups        (%rax),%xmm0
+  DB  15,16,72,16                         ; movups        0x10(%rax),%xmm1
+  DB  15,16,80,32                         ; movups        0x20(%rax),%xmm2
+  DB  15,16,88,48                         ; movups        0x30(%rax),%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_store_rgba_sse41
+_sk_store_rgba_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,17,0                             ; movups        %xmm0,(%rax)
+  DB  15,17,72,16                         ; movups        %xmm1,0x10(%rax)
+  DB  15,17,80,32                         ; movups        %xmm2,0x20(%rax)
+  DB  15,17,88,48                         ; movups        %xmm3,0x30(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_clear_sse41
+_sk_clear_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  15,87,201                           ; xorps         %xmm1,%xmm1
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_srcatop_sse41
+_sk_srcatop_sse41 LABEL PROC
+  DB  15,89,199                           ; mulps         %xmm7,%xmm0
+  DB  68,15,40,5,63,4,2,0                 ; movaps        0x2043f(%rip),%xmm8        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  68,15,92,195                        ; subps         %xmm3,%xmm8
+  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
+  DB  68,15,89,204                        ; mulps         %xmm4,%xmm9
+  DB  65,15,88,193                        ; addps         %xmm9,%xmm0
+  DB  15,89,207                           ; mulps         %xmm7,%xmm1
+  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
+  DB  68,15,89,205                        ; mulps         %xmm5,%xmm9
+  DB  65,15,88,201                        ; addps         %xmm9,%xmm1
+  DB  15,89,215                           ; mulps         %xmm7,%xmm2
+  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
+  DB  68,15,89,206                        ; mulps         %xmm6,%xmm9
+  DB  65,15,88,209                        ; addps         %xmm9,%xmm2
+  DB  15,89,223                           ; mulps         %xmm7,%xmm3
+  DB  68,15,89,199                        ; mulps         %xmm7,%xmm8
+  DB  65,15,88,216                        ; addps         %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_dstatop_sse41
+_sk_dstatop_sse41 LABEL PROC
+  DB  68,15,40,195                        ; movaps        %xmm3,%xmm8
+  DB  68,15,89,196                        ; mulps         %xmm4,%xmm8
+  DB  68,15,40,13,242,3,2,0               ; movaps        0x203f2(%rip),%xmm9        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  68,15,92,207                        ; subps         %xmm7,%xmm9
+  DB  65,15,89,193                        ; mulps         %xmm9,%xmm0
+  DB  65,15,88,192                        ; addps         %xmm8,%xmm0
+  DB  68,15,40,195                        ; movaps        %xmm3,%xmm8
+  DB  68,15,89,197                        ; mulps         %xmm5,%xmm8
+  DB  65,15,89,201                        ; mulps         %xmm9,%xmm1
+  DB  65,15,88,200                        ; addps         %xmm8,%xmm1
+  DB  68,15,40,195                        ; movaps        %xmm3,%xmm8
+  DB  68,15,89,198                        ; mulps         %xmm6,%xmm8
+  DB  65,15,89,209                        ; mulps         %xmm9,%xmm2
+  DB  65,15,88,208                        ; addps         %xmm8,%xmm2
+  DB  68,15,89,203                        ; mulps         %xmm3,%xmm9
+  DB  15,89,223                           ; mulps         %xmm7,%xmm3
+  DB  65,15,88,217                        ; addps         %xmm9,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_srcin_sse41
+_sk_srcin_sse41 LABEL PROC
+  DB  15,89,199                           ; mulps         %xmm7,%xmm0
+  DB  15,89,207                           ; mulps         %xmm7,%xmm1
+  DB  15,89,215                           ; mulps         %xmm7,%xmm2
+  DB  15,89,223                           ; mulps         %xmm7,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_dstin_sse41
+_sk_dstin_sse41 LABEL PROC
+  DB  15,40,195                           ; movaps        %xmm3,%xmm0
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  15,40,203                           ; movaps        %xmm3,%xmm1
+  DB  15,89,205                           ; mulps         %xmm5,%xmm1
+  DB  15,40,211                           ; movaps        %xmm3,%xmm2
+  DB  15,89,214                           ; mulps         %xmm6,%xmm2
+  DB  15,89,223                           ; mulps         %xmm7,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_srcout_sse41
+_sk_srcout_sse41 LABEL PROC
+  DB  68,15,40,5,134,3,2,0                ; movaps        0x20386(%rip),%xmm8        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  68,15,92,199                        ; subps         %xmm7,%xmm8
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
+  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
+  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_dstout_sse41
+_sk_dstout_sse41 LABEL PROC
+  DB  68,15,40,5,102,3,2,0                ; movaps        0x20366(%rip),%xmm8        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  68,15,92,195                        ; subps         %xmm3,%xmm8
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  65,15,40,200                        ; movaps        %xmm8,%xmm1
+  DB  15,89,205                           ; mulps         %xmm5,%xmm1
+  DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
+  DB  15,89,214                           ; mulps         %xmm6,%xmm2
+  DB  68,15,89,199                        ; mulps         %xmm7,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,216                        ; movaps        %xmm8,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_srcover_sse41
+_sk_srcover_sse41 LABEL PROC
+  DB  68,15,40,5,57,3,2,0                 ; movaps        0x20339(%rip),%xmm8        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  68,15,92,195                        ; subps         %xmm3,%xmm8
+  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
+  DB  68,15,89,204                        ; mulps         %xmm4,%xmm9
+  DB  65,15,88,193                        ; addps         %xmm9,%xmm0
+  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
+  DB  68,15,89,205                        ; mulps         %xmm5,%xmm9
+  DB  65,15,88,201                        ; addps         %xmm9,%xmm1
+  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
+  DB  68,15,89,206                        ; mulps         %xmm6,%xmm9
+  DB  65,15,88,209                        ; addps         %xmm9,%xmm2
+  DB  68,15,89,199                        ; mulps         %xmm7,%xmm8
+  DB  65,15,88,216                        ; addps         %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_dstover_sse41
+_sk_dstover_sse41 LABEL PROC
+  DB  68,15,40,5,253,2,2,0                ; movaps        0x202fd(%rip),%xmm8        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  68,15,92,199                        ; subps         %xmm7,%xmm8
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  15,88,196                           ; addps         %xmm4,%xmm0
+  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
+  DB  15,88,205                           ; addps         %xmm5,%xmm1
+  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
+  DB  15,88,214                           ; addps         %xmm6,%xmm2
+  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
+  DB  15,88,223                           ; addps         %xmm7,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_modulate_sse41
+_sk_modulate_sse41 LABEL PROC
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  15,89,205                           ; mulps         %xmm5,%xmm1
+  DB  15,89,214                           ; mulps         %xmm6,%xmm2
+  DB  15,89,223                           ; mulps         %xmm7,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_multiply_sse41
+_sk_multiply_sse41 LABEL PROC
+  DB  68,15,40,5,193,2,2,0                ; movaps        0x202c1(%rip),%xmm8        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
+  DB  68,15,92,207                        ; subps         %xmm7,%xmm9
+  DB  69,15,40,209                        ; movaps        %xmm9,%xmm10
+  DB  68,15,89,208                        ; mulps         %xmm0,%xmm10
+  DB  68,15,92,195                        ; subps         %xmm3,%xmm8
+  DB  69,15,40,216                        ; movaps        %xmm8,%xmm11
+  DB  68,15,89,220                        ; mulps         %xmm4,%xmm11
+  DB  69,15,88,218                        ; addps         %xmm10,%xmm11
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  65,15,88,195                        ; addps         %xmm11,%xmm0
+  DB  69,15,40,209                        ; movaps        %xmm9,%xmm10
+  DB  68,15,89,209                        ; mulps         %xmm1,%xmm10
+  DB  69,15,40,216                        ; movaps        %xmm8,%xmm11
+  DB  68,15,89,221                        ; mulps         %xmm5,%xmm11
+  DB  69,15,88,218                        ; addps         %xmm10,%xmm11
+  DB  15,89,205                           ; mulps         %xmm5,%xmm1
+  DB  65,15,88,203                        ; addps         %xmm11,%xmm1
+  DB  69,15,40,209                        ; movaps        %xmm9,%xmm10
+  DB  68,15,89,210                        ; mulps         %xmm2,%xmm10
+  DB  69,15,40,216                        ; movaps        %xmm8,%xmm11
+  DB  68,15,89,222                        ; mulps         %xmm6,%xmm11
+  DB  69,15,88,218                        ; addps         %xmm10,%xmm11
+  DB  15,89,214                           ; mulps         %xmm6,%xmm2
+  DB  65,15,88,211                        ; addps         %xmm11,%xmm2
+  DB  68,15,89,203                        ; mulps         %xmm3,%xmm9
+  DB  68,15,89,199                        ; mulps         %xmm7,%xmm8
+  DB  69,15,88,193                        ; addps         %xmm9,%xmm8
+  DB  15,89,223                           ; mulps         %xmm7,%xmm3
+  DB  65,15,88,216                        ; addps         %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_plus__sse41
+_sk_plus__sse41 LABEL PROC
+  DB  15,88,196                           ; addps         %xmm4,%xmm0
+  DB  68,15,40,5,66,2,2,0                 ; movaps        0x20242(%rip),%xmm8        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  65,15,93,192                        ; minps         %xmm8,%xmm0
+  DB  15,88,205                           ; addps         %xmm5,%xmm1
+  DB  65,15,93,200                        ; minps         %xmm8,%xmm1
+  DB  15,88,214                           ; addps         %xmm6,%xmm2
+  DB  65,15,93,208                        ; minps         %xmm8,%xmm2
+  DB  15,88,223                           ; addps         %xmm7,%xmm3
+  DB  65,15,93,216                        ; minps         %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_screen_sse41
+_sk_screen_sse41 LABEL PROC
+  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
+  DB  15,88,196                           ; addps         %xmm4,%xmm0
+  DB  68,15,89,196                        ; mulps         %xmm4,%xmm8
+  DB  65,15,92,192                        ; subps         %xmm8,%xmm0
+  DB  68,15,40,193                        ; movaps        %xmm1,%xmm8
+  DB  68,15,88,197                        ; addps         %xmm5,%xmm8
+  DB  15,89,205                           ; mulps         %xmm5,%xmm1
+  DB  68,15,92,193                        ; subps         %xmm1,%xmm8
+  DB  68,15,40,202                        ; movaps        %xmm2,%xmm9
+  DB  68,15,88,206                        ; addps         %xmm6,%xmm9
+  DB  15,89,214                           ; mulps         %xmm6,%xmm2
+  DB  68,15,92,202                        ; subps         %xmm2,%xmm9
+  DB  68,15,40,211                        ; movaps        %xmm3,%xmm10
+  DB  68,15,88,215                        ; addps         %xmm7,%xmm10
+  DB  15,89,223                           ; mulps         %xmm7,%xmm3
+  DB  68,15,92,211                        ; subps         %xmm3,%xmm10
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,200                        ; movaps        %xmm8,%xmm1
+  DB  65,15,40,209                        ; movaps        %xmm9,%xmm2
+  DB  65,15,40,218                        ; movaps        %xmm10,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_xor__sse41
+_sk_xor__sse41 LABEL PROC
+  DB  68,15,40,195                        ; movaps        %xmm3,%xmm8
+  DB  15,40,29,206,1,2,0                  ; movaps        0x201ce(%rip),%xmm3        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  68,15,40,203                        ; movaps        %xmm3,%xmm9
+  DB  68,15,92,207                        ; subps         %xmm7,%xmm9
+  DB  65,15,89,193                        ; mulps         %xmm9,%xmm0
+  DB  65,15,92,216                        ; subps         %xmm8,%xmm3
+  DB  68,15,40,211                        ; movaps        %xmm3,%xmm10
+  DB  68,15,89,212                        ; mulps         %xmm4,%xmm10
+  DB  65,15,88,194                        ; addps         %xmm10,%xmm0
+  DB  65,15,89,201                        ; mulps         %xmm9,%xmm1
+  DB  68,15,40,211                        ; movaps        %xmm3,%xmm10
+  DB  68,15,89,213                        ; mulps         %xmm5,%xmm10
+  DB  65,15,88,202                        ; addps         %xmm10,%xmm1
+  DB  65,15,89,209                        ; mulps         %xmm9,%xmm2
+  DB  68,15,40,211                        ; movaps        %xmm3,%xmm10
+  DB  68,15,89,214                        ; mulps         %xmm6,%xmm10
+  DB  65,15,88,210                        ; addps         %xmm10,%xmm2
+  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
+  DB  15,89,223                           ; mulps         %xmm7,%xmm3
+  DB  65,15,88,217                        ; addps         %xmm9,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_darken_sse41
+_sk_darken_sse41 LABEL PROC
+  DB  68,15,40,193                        ; movaps        %xmm1,%xmm8
+  DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
+  DB  15,88,196                           ; addps         %xmm4,%xmm0
+  DB  68,15,89,207                        ; mulps         %xmm7,%xmm9
+  DB  15,40,203                           ; movaps        %xmm3,%xmm1
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  68,15,95,201                        ; maxps         %xmm1,%xmm9
+  DB  65,15,92,193                        ; subps         %xmm9,%xmm0
+  DB  65,15,40,200                        ; movaps        %xmm8,%xmm1
+  DB  15,88,205                           ; addps         %xmm5,%xmm1
+  DB  68,15,89,199                        ; mulps         %xmm7,%xmm8
+  DB  68,15,40,203                        ; movaps        %xmm3,%xmm9
+  DB  68,15,89,205                        ; mulps         %xmm5,%xmm9
+  DB  69,15,95,193                        ; maxps         %xmm9,%xmm8
+  DB  65,15,92,200                        ; subps         %xmm8,%xmm1
+  DB  68,15,40,194                        ; movaps        %xmm2,%xmm8
+  DB  68,15,88,198                        ; addps         %xmm6,%xmm8
+  DB  15,89,215                           ; mulps         %xmm7,%xmm2
+  DB  68,15,40,203                        ; movaps        %xmm3,%xmm9
+  DB  68,15,89,206                        ; mulps         %xmm6,%xmm9
+  DB  65,15,95,209                        ; maxps         %xmm9,%xmm2
+  DB  68,15,92,194                        ; subps         %xmm2,%xmm8
+  DB  15,40,21,41,1,2,0                   ; movaps        0x20129(%rip),%xmm2        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  15,92,211                           ; subps         %xmm3,%xmm2
+  DB  15,89,215                           ; mulps         %xmm7,%xmm2
+  DB  15,88,218                           ; addps         %xmm2,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_lighten_sse41
+_sk_lighten_sse41 LABEL PROC
+  DB  68,15,40,193                        ; movaps        %xmm1,%xmm8
+  DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
+  DB  15,88,196                           ; addps         %xmm4,%xmm0
+  DB  68,15,89,207                        ; mulps         %xmm7,%xmm9
+  DB  15,40,203                           ; movaps        %xmm3,%xmm1
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  68,15,93,201                        ; minps         %xmm1,%xmm9
+  DB  65,15,92,193                        ; subps         %xmm9,%xmm0
+  DB  65,15,40,200                        ; movaps        %xmm8,%xmm1
+  DB  15,88,205                           ; addps         %xmm5,%xmm1
+  DB  68,15,89,199                        ; mulps         %xmm7,%xmm8
+  DB  68,15,40,203                        ; movaps        %xmm3,%xmm9
+  DB  68,15,89,205                        ; mulps         %xmm5,%xmm9
+  DB  69,15,93,193                        ; minps         %xmm9,%xmm8
+  DB  65,15,92,200                        ; subps         %xmm8,%xmm1
+  DB  68,15,40,194                        ; movaps        %xmm2,%xmm8
+  DB  68,15,88,198                        ; addps         %xmm6,%xmm8
+  DB  15,89,215                           ; mulps         %xmm7,%xmm2
+  DB  68,15,40,203                        ; movaps        %xmm3,%xmm9
+  DB  68,15,89,206                        ; mulps         %xmm6,%xmm9
+  DB  65,15,93,209                        ; minps         %xmm9,%xmm2
+  DB  68,15,92,194                        ; subps         %xmm2,%xmm8
+  DB  15,40,21,190,0,2,0                  ; movaps        0x200be(%rip),%xmm2        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  15,92,211                           ; subps         %xmm3,%xmm2
+  DB  15,89,215                           ; mulps         %xmm7,%xmm2
+  DB  15,88,218                           ; addps         %xmm2,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_difference_sse41
+_sk_difference_sse41 LABEL PROC
+  DB  68,15,40,193                        ; movaps        %xmm1,%xmm8
+  DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
+  DB  15,88,196                           ; addps         %xmm4,%xmm0
+  DB  68,15,89,207                        ; mulps         %xmm7,%xmm9
+  DB  15,40,203                           ; movaps        %xmm3,%xmm1
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  68,15,93,201                        ; minps         %xmm1,%xmm9
+  DB  69,15,88,201                        ; addps         %xmm9,%xmm9
+  DB  65,15,92,193                        ; subps         %xmm9,%xmm0
+  DB  65,15,40,200                        ; movaps        %xmm8,%xmm1
+  DB  15,88,205                           ; addps         %xmm5,%xmm1
+  DB  68,15,89,199                        ; mulps         %xmm7,%xmm8
+  DB  68,15,40,203                        ; movaps        %xmm3,%xmm9
+  DB  68,15,89,205                        ; mulps         %xmm5,%xmm9
+  DB  69,15,93,193                        ; minps         %xmm9,%xmm8
+  DB  69,15,88,192                        ; addps         %xmm8,%xmm8
+  DB  65,15,92,200                        ; subps         %xmm8,%xmm1
+  DB  68,15,40,194                        ; movaps        %xmm2,%xmm8
+  DB  68,15,88,198                        ; addps         %xmm6,%xmm8
+  DB  15,89,215                           ; mulps         %xmm7,%xmm2
+  DB  68,15,40,203                        ; movaps        %xmm3,%xmm9
+  DB  68,15,89,206                        ; mulps         %xmm6,%xmm9
+  DB  65,15,93,209                        ; minps         %xmm9,%xmm2
+  DB  15,88,210                           ; addps         %xmm2,%xmm2
+  DB  68,15,92,194                        ; subps         %xmm2,%xmm8
+  DB  15,40,21,72,0,2,0                   ; movaps        0x20048(%rip),%xmm2        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  15,92,211                           ; subps         %xmm3,%xmm2
+  DB  15,89,215                           ; mulps         %xmm7,%xmm2
+  DB  15,88,218                           ; addps         %xmm2,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_exclusion_sse41
+_sk_exclusion_sse41 LABEL PROC
+  DB  68,15,40,193                        ; movaps        %xmm1,%xmm8
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  15,88,196                           ; addps         %xmm4,%xmm0
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  15,88,201                           ; addps         %xmm1,%xmm1
+  DB  15,92,193                           ; subps         %xmm1,%xmm0
+  DB  65,15,40,200                        ; movaps        %xmm8,%xmm1
+  DB  15,88,205                           ; addps         %xmm5,%xmm1
+  DB  68,15,89,197                        ; mulps         %xmm5,%xmm8
+  DB  69,15,88,192                        ; addps         %xmm8,%xmm8
+  DB  65,15,92,200                        ; subps         %xmm8,%xmm1
+  DB  68,15,40,194                        ; movaps        %xmm2,%xmm8
+  DB  68,15,88,198                        ; addps         %xmm6,%xmm8
+  DB  15,89,214                           ; mulps         %xmm6,%xmm2
+  DB  15,88,210                           ; addps         %xmm2,%xmm2
+  DB  68,15,92,194                        ; subps         %xmm2,%xmm8
+  DB  15,40,21,248,255,1,0                ; movaps        0x1fff8(%rip),%xmm2        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  15,92,211                           ; subps         %xmm3,%xmm2
+  DB  15,89,215                           ; mulps         %xmm7,%xmm2
+  DB  15,88,218                           ; addps         %xmm2,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_colorburn_sse41
+_sk_colorburn_sse41 LABEL PROC
+  DB  68,15,40,29,223,255,1,0             ; movaps        0x1ffdf(%rip),%xmm11        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,40,227                        ; movaps        %xmm11,%xmm12
+  DB  68,15,92,231                        ; subps         %xmm7,%xmm12
+  DB  69,15,40,204                        ; movaps        %xmm12,%xmm9
+  DB  68,15,89,200                        ; mulps         %xmm0,%xmm9
+  DB  68,15,40,199                        ; movaps        %xmm7,%xmm8
+  DB  68,15,92,196                        ; subps         %xmm4,%xmm8
+  DB  68,15,89,195                        ; mulps         %xmm3,%xmm8
+  DB  68,15,83,208                        ; rcpps         %xmm0,%xmm10
+  DB  69,15,89,208                        ; mulps         %xmm8,%xmm10
+  DB  68,15,40,239                        ; movaps        %xmm7,%xmm13
+  DB  69,15,93,234                        ; minps         %xmm10,%xmm13
+  DB  68,15,40,199                        ; movaps        %xmm7,%xmm8
+  DB  69,15,92,197                        ; subps         %xmm13,%xmm8
+  DB  68,15,89,195                        ; mulps         %xmm3,%xmm8
+  DB  69,15,88,193                        ; addps         %xmm9,%xmm8
+  DB  68,15,88,204                        ; addps         %xmm4,%xmm9
+  DB  69,15,87,210                        ; xorps         %xmm10,%xmm10
+  DB  68,15,92,219                        ; subps         %xmm3,%xmm11
+  DB  69,15,40,235                        ; movaps        %xmm11,%xmm13
+  DB  68,15,89,236                        ; mulps         %xmm4,%xmm13
+  DB  65,15,194,194,0                     ; cmpeqps       %xmm10,%xmm0
+  DB  69,15,88,197                        ; addps         %xmm13,%xmm8
+  DB  102,69,15,56,20,197                 ; blendvps      %xmm0,%xmm13,%xmm8
+  DB  15,40,196                           ; movaps        %xmm4,%xmm0
+  DB  15,194,199,0                        ; cmpeqps       %xmm7,%xmm0
+  DB  102,69,15,56,20,193                 ; blendvps      %xmm0,%xmm9,%xmm8
+  DB  69,15,40,236                        ; movaps        %xmm12,%xmm13
+  DB  68,15,89,233                        ; mulps         %xmm1,%xmm13
+  DB  15,40,199                           ; movaps        %xmm7,%xmm0
+  DB  15,92,197                           ; subps         %xmm5,%xmm0
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  68,15,83,201                        ; rcpps         %xmm1,%xmm9
+  DB  68,15,89,200                        ; mulps         %xmm0,%xmm9
+  DB  15,40,199                           ; movaps        %xmm7,%xmm0
+  DB  65,15,93,193                        ; minps         %xmm9,%xmm0
+  DB  68,15,40,207                        ; movaps        %xmm7,%xmm9
+  DB  68,15,92,200                        ; subps         %xmm0,%xmm9
+  DB  69,15,40,243                        ; movaps        %xmm11,%xmm14
+  DB  68,15,89,245                        ; mulps         %xmm5,%xmm14
+  DB  65,15,194,202,0                     ; cmpeqps       %xmm10,%xmm1
+  DB  68,15,89,203                        ; mulps         %xmm3,%xmm9
+  DB  69,15,88,205                        ; addps         %xmm13,%xmm9
+  DB  69,15,88,206                        ; addps         %xmm14,%xmm9
+  DB  15,40,193                           ; movaps        %xmm1,%xmm0
+  DB  102,69,15,56,20,206                 ; blendvps      %xmm0,%xmm14,%xmm9
+  DB  68,15,88,237                        ; addps         %xmm5,%xmm13
+  DB  15,40,197                           ; movaps        %xmm5,%xmm0
+  DB  15,194,199,0                        ; cmpeqps       %xmm7,%xmm0
+  DB  102,69,15,56,20,205                 ; blendvps      %xmm0,%xmm13,%xmm9
+  DB  68,15,89,226                        ; mulps         %xmm2,%xmm12
+  DB  68,15,194,210,0                     ; cmpeqps       %xmm2,%xmm10
+  DB  15,40,199                           ; movaps        %xmm7,%xmm0
+  DB  15,92,198                           ; subps         %xmm6,%xmm0
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  15,83,202                           ; rcpps         %xmm2,%xmm1
+  DB  15,89,200                           ; mulps         %xmm0,%xmm1
+  DB  15,40,199                           ; movaps        %xmm7,%xmm0
+  DB  15,93,193                           ; minps         %xmm1,%xmm0
+  DB  15,40,215                           ; movaps        %xmm7,%xmm2
+  DB  15,92,208                           ; subps         %xmm0,%xmm2
+  DB  65,15,40,203                        ; movaps        %xmm11,%xmm1
+  DB  15,89,206                           ; mulps         %xmm6,%xmm1
+  DB  15,89,211                           ; mulps         %xmm3,%xmm2
+  DB  65,15,88,212                        ; addps         %xmm12,%xmm2
+  DB  15,88,209                           ; addps         %xmm1,%xmm2
+  DB  65,15,40,194                        ; movaps        %xmm10,%xmm0
+  DB  102,15,56,20,209                    ; blendvps      %xmm0,%xmm1,%xmm2
+  DB  68,15,88,230                        ; addps         %xmm6,%xmm12
+  DB  15,40,198                           ; movaps        %xmm6,%xmm0
+  DB  15,194,199,0                        ; cmpeqps       %xmm7,%xmm0
+  DB  102,65,15,56,20,212                 ; blendvps      %xmm0,%xmm12,%xmm2
+  DB  68,15,89,223                        ; mulps         %xmm7,%xmm11
+  DB  65,15,88,219                        ; addps         %xmm11,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  65,15,40,201                        ; movaps        %xmm9,%xmm1
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_colordodge_sse41
+_sk_colordodge_sse41 LABEL PROC
+  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
+  DB  68,15,40,21,169,254,1,0             ; movaps        0x1fea9(%rip),%xmm10        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,40,218                        ; movaps        %xmm10,%xmm11
+  DB  68,15,92,223                        ; subps         %xmm7,%xmm11
+  DB  69,15,40,227                        ; movaps        %xmm11,%xmm12
+  DB  69,15,89,224                        ; mulps         %xmm8,%xmm12
+  DB  68,15,40,235                        ; movaps        %xmm3,%xmm13
+  DB  68,15,89,236                        ; mulps         %xmm4,%xmm13
+  DB  15,40,195                           ; movaps        %xmm3,%xmm0
+  DB  65,15,92,192                        ; subps         %xmm8,%xmm0
+  DB  68,15,83,200                        ; rcpps         %xmm0,%xmm9
+  DB  69,15,89,205                        ; mulps         %xmm13,%xmm9
+  DB  68,15,40,239                        ; movaps        %xmm7,%xmm13
+  DB  68,15,40,247                        ; movaps        %xmm7,%xmm14
+  DB  69,15,93,241                        ; minps         %xmm9,%xmm14
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  15,194,195,0                        ; cmpeqps       %xmm3,%xmm0
+  DB  68,15,89,243                        ; mulps         %xmm3,%xmm14
+  DB  69,15,88,244                        ; addps         %xmm12,%xmm14
+  DB  102,69,15,56,20,240                 ; blendvps      %xmm0,%xmm8,%xmm14
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,92,211                        ; subps         %xmm3,%xmm10
+  DB  69,15,40,194                        ; movaps        %xmm10,%xmm8
+  DB  68,15,89,196                        ; mulps         %xmm4,%xmm8
+  DB  69,15,88,198                        ; addps         %xmm14,%xmm8
+  DB  15,40,196                           ; movaps        %xmm4,%xmm0
+  DB  65,15,194,193,0                     ; cmpeqps       %xmm9,%xmm0
+  DB  102,69,15,56,20,196                 ; blendvps      %xmm0,%xmm12,%xmm8
+  DB  68,15,40,227                        ; movaps        %xmm3,%xmm12
+  DB  68,15,89,229                        ; mulps         %xmm5,%xmm12
+  DB  15,40,195                           ; movaps        %xmm3,%xmm0
+  DB  15,92,193                           ; subps         %xmm1,%xmm0
+  DB  15,83,192                           ; rcpps         %xmm0,%xmm0
+  DB  65,15,89,196                        ; mulps         %xmm12,%xmm0
+  DB  69,15,40,227                        ; movaps        %xmm11,%xmm12
+  DB  68,15,89,225                        ; mulps         %xmm1,%xmm12
+  DB  68,15,93,232                        ; minps         %xmm0,%xmm13
+  DB  15,40,193                           ; movaps        %xmm1,%xmm0
+  DB  15,194,195,0                        ; cmpeqps       %xmm3,%xmm0
+  DB  68,15,89,235                        ; mulps         %xmm3,%xmm13
+  DB  69,15,88,236                        ; addps         %xmm12,%xmm13
+  DB  102,68,15,56,20,233                 ; blendvps      %xmm0,%xmm1,%xmm13
+  DB  65,15,40,202                        ; movaps        %xmm10,%xmm1
+  DB  15,89,205                           ; mulps         %xmm5,%xmm1
+  DB  65,15,88,205                        ; addps         %xmm13,%xmm1
+  DB  15,40,197                           ; movaps        %xmm5,%xmm0
+  DB  65,15,194,193,0                     ; cmpeqps       %xmm9,%xmm0
+  DB  102,65,15,56,20,204                 ; blendvps      %xmm0,%xmm12,%xmm1
+  DB  68,15,40,227                        ; movaps        %xmm3,%xmm12
+  DB  68,15,89,230                        ; mulps         %xmm6,%xmm12
+  DB  15,40,195                           ; movaps        %xmm3,%xmm0
+  DB  15,92,194                           ; subps         %xmm2,%xmm0
+  DB  15,83,192                           ; rcpps         %xmm0,%xmm0
+  DB  65,15,89,196                        ; mulps         %xmm12,%xmm0
+  DB  68,15,40,231                        ; movaps        %xmm7,%xmm12
+  DB  68,15,89,218                        ; mulps         %xmm2,%xmm11
+  DB  68,15,93,224                        ; minps         %xmm0,%xmm12
+  DB  15,40,194                           ; movaps        %xmm2,%xmm0
+  DB  15,194,195,0                        ; cmpeqps       %xmm3,%xmm0
+  DB  68,15,89,227                        ; mulps         %xmm3,%xmm12
+  DB  69,15,88,227                        ; addps         %xmm11,%xmm12
+  DB  102,68,15,56,20,226                 ; blendvps      %xmm0,%xmm2,%xmm12
+  DB  65,15,40,210                        ; movaps        %xmm10,%xmm2
+  DB  15,89,214                           ; mulps         %xmm6,%xmm2
+  DB  65,15,88,212                        ; addps         %xmm12,%xmm2
+  DB  68,15,194,206,0                     ; cmpeqps       %xmm6,%xmm9
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  102,65,15,56,20,211                 ; blendvps      %xmm0,%xmm11,%xmm2
+  DB  68,15,89,215                        ; mulps         %xmm7,%xmm10
+  DB  65,15,88,218                        ; addps         %xmm10,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_hardlight_sse41
+_sk_hardlight_sse41 LABEL PROC
+  DB  72,131,236,24                       ; sub           $0x18,%rsp
+  DB  15,41,52,36                         ; movaps        %xmm6,(%rsp)
+  DB  68,15,40,229                        ; movaps        %xmm5,%xmm12
+  DB  15,40,244                           ; movaps        %xmm4,%xmm6
+  DB  15,40,227                           ; movaps        %xmm3,%xmm4
+  DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
+  DB  68,15,40,21,113,253,1,0             ; movaps        0x1fd71(%rip),%xmm10        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  65,15,40,234                        ; movaps        %xmm10,%xmm5
+  DB  15,92,239                           ; subps         %xmm7,%xmm5
+  DB  15,40,197                           ; movaps        %xmm5,%xmm0
+  DB  65,15,89,193                        ; mulps         %xmm9,%xmm0
+  DB  68,15,92,212                        ; subps         %xmm4,%xmm10
+  DB  69,15,40,194                        ; movaps        %xmm10,%xmm8
+  DB  68,15,89,198                        ; mulps         %xmm6,%xmm8
+  DB  68,15,88,192                        ; addps         %xmm0,%xmm8
+  DB  68,15,40,252                        ; movaps        %xmm4,%xmm15
+  DB  69,15,92,249                        ; subps         %xmm9,%xmm15
+  DB  15,89,223                           ; mulps         %xmm7,%xmm3
+  DB  68,15,40,239                        ; movaps        %xmm7,%xmm13
+  DB  68,15,40,247                        ; movaps        %xmm7,%xmm14
+  DB  15,40,199                           ; movaps        %xmm7,%xmm0
+  DB  15,92,198                           ; subps         %xmm6,%xmm0
+  DB  65,15,89,199                        ; mulps         %xmm15,%xmm0
+  DB  15,88,192                           ; addps         %xmm0,%xmm0
+  DB  68,15,40,251                        ; movaps        %xmm3,%xmm15
+  DB  68,15,92,248                        ; subps         %xmm0,%xmm15
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  15,88,192                           ; addps         %xmm0,%xmm0
+  DB  15,194,196,2                        ; cmpleps       %xmm4,%xmm0
+  DB  68,15,89,206                        ; mulps         %xmm6,%xmm9
+  DB  69,15,88,201                        ; addps         %xmm9,%xmm9
+  DB  102,69,15,56,20,249                 ; blendvps      %xmm0,%xmm9,%xmm15
+  DB  68,15,40,221                        ; movaps        %xmm5,%xmm11
+  DB  68,15,89,217                        ; mulps         %xmm1,%xmm11
+  DB  15,40,196                           ; movaps        %xmm4,%xmm0
+  DB  15,92,193                           ; subps         %xmm1,%xmm0
+  DB  69,15,40,204                        ; movaps        %xmm12,%xmm9
+  DB  69,15,92,233                        ; subps         %xmm9,%xmm13
+  DB  68,15,89,232                        ; mulps         %xmm0,%xmm13
+  DB  69,15,88,237                        ; addps         %xmm13,%xmm13
+  DB  68,15,40,227                        ; movaps        %xmm3,%xmm12
+  DB  69,15,92,229                        ; subps         %xmm13,%xmm12
+  DB  15,40,193                           ; movaps        %xmm1,%xmm0
+  DB  15,88,192                           ; addps         %xmm0,%xmm0
+  DB  15,194,196,2                        ; cmpleps       %xmm4,%xmm0
+  DB  65,15,89,201                        ; mulps         %xmm9,%xmm1
+  DB  69,15,40,233                        ; movaps        %xmm9,%xmm13
+  DB  15,88,201                           ; addps         %xmm1,%xmm1
+  DB  102,68,15,56,20,225                 ; blendvps      %xmm0,%xmm1,%xmm12
+  DB  65,15,40,202                        ; movaps        %xmm10,%xmm1
+  DB  69,15,40,202                        ; movaps        %xmm10,%xmm9
+  DB  68,15,89,215                        ; mulps         %xmm7,%xmm10
+  DB  69,15,88,199                        ; addps         %xmm15,%xmm8
+  DB  65,15,89,205                        ; mulps         %xmm13,%xmm1
+  DB  65,15,88,203                        ; addps         %xmm11,%xmm1
+  DB  65,15,88,204                        ; addps         %xmm12,%xmm1
+  DB  15,89,234                           ; mulps         %xmm2,%xmm5
+  DB  68,15,40,28,36                      ; movaps        (%rsp),%xmm11
+  DB  69,15,89,203                        ; mulps         %xmm11,%xmm9
+  DB  68,15,88,205                        ; addps         %xmm5,%xmm9
+  DB  15,40,194                           ; movaps        %xmm2,%xmm0
+  DB  15,88,192                           ; addps         %xmm0,%xmm0
+  DB  15,194,196,2                        ; cmpleps       %xmm4,%xmm0
+  DB  15,40,236                           ; movaps        %xmm4,%xmm5
+  DB  15,92,234                           ; subps         %xmm2,%xmm5
+  DB  65,15,89,211                        ; mulps         %xmm11,%xmm2
+  DB  15,88,210                           ; addps         %xmm2,%xmm2
+  DB  69,15,92,243                        ; subps         %xmm11,%xmm14
+  DB  68,15,89,245                        ; mulps         %xmm5,%xmm14
+  DB  69,15,88,246                        ; addps         %xmm14,%xmm14
+  DB  65,15,92,222                        ; subps         %xmm14,%xmm3
+  DB  102,15,56,20,218                    ; blendvps      %xmm0,%xmm2,%xmm3
+  DB  68,15,88,203                        ; addps         %xmm3,%xmm9
+  DB  65,15,88,226                        ; addps         %xmm10,%xmm4
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  65,15,40,209                        ; movaps        %xmm9,%xmm2
+  DB  15,40,220                           ; movaps        %xmm4,%xmm3
+  DB  15,40,230                           ; movaps        %xmm6,%xmm4
+  DB  65,15,40,237                        ; movaps        %xmm13,%xmm5
+  DB  65,15,40,243                        ; movaps        %xmm11,%xmm6
+  DB  72,131,196,24                       ; add           $0x18,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_overlay_sse41
+_sk_overlay_sse41 LABEL PROC
+  DB  68,15,40,201                        ; movaps        %xmm1,%xmm9
+  DB  68,15,40,240                        ; movaps        %xmm0,%xmm14
+  DB  68,15,40,21,67,252,1,0              ; movaps        0x1fc43(%rip),%xmm10        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,40,218                        ; movaps        %xmm10,%xmm11
+  DB  68,15,92,223                        ; subps         %xmm7,%xmm11
+  DB  65,15,40,195                        ; movaps        %xmm11,%xmm0
+  DB  65,15,89,198                        ; mulps         %xmm14,%xmm0
+  DB  68,15,92,211                        ; subps         %xmm3,%xmm10
+  DB  69,15,40,194                        ; movaps        %xmm10,%xmm8
+  DB  68,15,89,196                        ; mulps         %xmm4,%xmm8
+  DB  68,15,88,192                        ; addps         %xmm0,%xmm8
+  DB  68,15,40,235                        ; movaps        %xmm3,%xmm13
+  DB  69,15,92,238                        ; subps         %xmm14,%xmm13
+  DB  68,15,89,244                        ; mulps         %xmm4,%xmm14
+  DB  15,40,207                           ; movaps        %xmm7,%xmm1
+  DB  15,92,204                           ; subps         %xmm4,%xmm1
+  DB  15,40,196                           ; movaps        %xmm4,%xmm0
+  DB  15,88,192                           ; addps         %xmm0,%xmm0
+  DB  15,194,199,2                        ; cmpleps       %xmm7,%xmm0
+  DB  69,15,88,246                        ; addps         %xmm14,%xmm14
+  DB  68,15,40,227                        ; movaps        %xmm3,%xmm12
+  DB  68,15,89,231                        ; mulps         %xmm7,%xmm12
+  DB  65,15,89,205                        ; mulps         %xmm13,%xmm1
+  DB  15,88,201                           ; addps         %xmm1,%xmm1
+  DB  69,15,40,236                        ; movaps        %xmm12,%xmm13
+  DB  68,15,92,233                        ; subps         %xmm1,%xmm13
+  DB  102,69,15,56,20,238                 ; blendvps      %xmm0,%xmm14,%xmm13
+  DB  69,15,88,197                        ; addps         %xmm13,%xmm8
+  DB  65,15,40,195                        ; movaps        %xmm11,%xmm0
+  DB  65,15,89,193                        ; mulps         %xmm9,%xmm0
+  DB  65,15,40,202                        ; movaps        %xmm10,%xmm1
+  DB  15,89,205                           ; mulps         %xmm5,%xmm1
+  DB  15,88,200                           ; addps         %xmm0,%xmm1
+  DB  68,15,40,235                        ; movaps        %xmm3,%xmm13
+  DB  69,15,92,233                        ; subps         %xmm9,%xmm13
+  DB  68,15,89,205                        ; mulps         %xmm5,%xmm9
+  DB  68,15,40,247                        ; movaps        %xmm7,%xmm14
+  DB  68,15,92,245                        ; subps         %xmm5,%xmm14
+  DB  15,40,197                           ; movaps        %xmm5,%xmm0
+  DB  15,88,192                           ; addps         %xmm0,%xmm0
+  DB  15,194,199,2                        ; cmpleps       %xmm7,%xmm0
+  DB  69,15,88,201                        ; addps         %xmm9,%xmm9
+  DB  69,15,89,245                        ; mulps         %xmm13,%xmm14
+  DB  69,15,88,246                        ; addps         %xmm14,%xmm14
+  DB  69,15,40,236                        ; movaps        %xmm12,%xmm13
+  DB  69,15,92,238                        ; subps         %xmm14,%xmm13
+  DB  102,69,15,56,20,233                 ; blendvps      %xmm0,%xmm9,%xmm13
+  DB  65,15,88,205                        ; addps         %xmm13,%xmm1
+  DB  68,15,89,218                        ; mulps         %xmm2,%xmm11
+  DB  69,15,40,202                        ; movaps        %xmm10,%xmm9
+  DB  68,15,89,206                        ; mulps         %xmm6,%xmm9
+  DB  69,15,88,203                        ; addps         %xmm11,%xmm9
+  DB  68,15,40,219                        ; movaps        %xmm3,%xmm11
+  DB  68,15,92,218                        ; subps         %xmm2,%xmm11
+  DB  15,89,214                           ; mulps         %xmm6,%xmm2
+  DB  68,15,40,239                        ; movaps        %xmm7,%xmm13
+  DB  68,15,92,238                        ; subps         %xmm6,%xmm13
+  DB  15,40,198                           ; movaps        %xmm6,%xmm0
+  DB  15,88,192                           ; addps         %xmm0,%xmm0
+  DB  15,194,199,2                        ; cmpleps       %xmm7,%xmm0
+  DB  15,88,210                           ; addps         %xmm2,%xmm2
+  DB  69,15,89,235                        ; mulps         %xmm11,%xmm13
+  DB  69,15,88,237                        ; addps         %xmm13,%xmm13
+  DB  69,15,92,229                        ; subps         %xmm13,%xmm12
+  DB  102,68,15,56,20,226                 ; blendvps      %xmm0,%xmm2,%xmm12
+  DB  69,15,88,204                        ; addps         %xmm12,%xmm9
+  DB  68,15,89,215                        ; mulps         %xmm7,%xmm10
+  DB  65,15,88,218                        ; addps         %xmm10,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  65,15,40,209                        ; movaps        %xmm9,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_softlight_sse41
+_sk_softlight_sse41 LABEL PROC
+  DB  72,131,236,72                       ; sub           $0x48,%rsp
+  DB  15,41,116,36,32                     ; movaps        %xmm6,0x20(%rsp)
+  DB  15,40,244                           ; movaps        %xmm4,%xmm6
+  DB  15,41,84,36,48                      ; movaps        %xmm2,0x30(%rsp)
+  DB  15,41,76,36,16                      ; movaps        %xmm1,0x10(%rsp)
+  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,194,207,1                     ; cmpltps       %xmm7,%xmm9
+  DB  15,40,198                           ; movaps        %xmm6,%xmm0
+  DB  15,94,199                           ; divps         %xmm7,%xmm0
+  DB  65,15,84,193                        ; andps         %xmm9,%xmm0
+  DB  15,40,13,6,251,1,0                  ; movaps        0x1fb06(%rip),%xmm1        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  68,15,40,209                        ; movaps        %xmm1,%xmm10
+  DB  68,15,92,208                        ; subps         %xmm0,%xmm10
+  DB  68,15,40,240                        ; movaps        %xmm0,%xmm14
+  DB  68,15,40,248                        ; movaps        %xmm0,%xmm15
+  DB  15,82,208                           ; rsqrtps       %xmm0,%xmm2
+  DB  68,15,83,218                        ; rcpps         %xmm2,%xmm11
+  DB  68,15,92,216                        ; subps         %xmm0,%xmm11
+  DB  15,88,192                           ; addps         %xmm0,%xmm0
+  DB  15,88,192                           ; addps         %xmm0,%xmm0
+  DB  15,40,208                           ; movaps        %xmm0,%xmm2
+  DB  15,89,210                           ; mulps         %xmm2,%xmm2
+  DB  15,88,208                           ; addps         %xmm0,%xmm2
+  DB  68,15,40,45,52,251,1,0              ; movaps        0x1fb34(%rip),%xmm13        # 35510 <_sk_srcover_bgra_8888_sse2_lowp+0xcf8>
+  DB  69,15,88,245                        ; addps         %xmm13,%xmm14
+  DB  68,15,89,242                        ; mulps         %xmm2,%xmm14
+  DB  68,15,40,37,52,251,1,0              ; movaps        0x1fb34(%rip),%xmm12        # 35520 <_sk_srcover_bgra_8888_sse2_lowp+0xd08>
+  DB  69,15,89,252                        ; mulps         %xmm12,%xmm15
+  DB  69,15,88,254                        ; addps         %xmm14,%xmm15
+  DB  15,40,198                           ; movaps        %xmm6,%xmm0
+  DB  15,88,192                           ; addps         %xmm0,%xmm0
+  DB  15,88,192                           ; addps         %xmm0,%xmm0
+  DB  15,194,199,2                        ; cmpleps       %xmm7,%xmm0
+  DB  102,69,15,56,20,223                 ; blendvps      %xmm0,%xmm15,%xmm11
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  15,88,192                           ; addps         %xmm0,%xmm0
+  DB  15,40,208                           ; movaps        %xmm0,%xmm2
+  DB  15,92,211                           ; subps         %xmm3,%xmm2
+  DB  68,15,89,210                        ; mulps         %xmm2,%xmm10
+  DB  68,15,88,211                        ; addps         %xmm3,%xmm10
+  DB  68,15,89,214                        ; mulps         %xmm6,%xmm10
+  DB  15,89,215                           ; mulps         %xmm7,%xmm2
+  DB  68,15,89,218                        ; mulps         %xmm2,%xmm11
+  DB  15,40,211                           ; movaps        %xmm3,%xmm2
+  DB  15,89,214                           ; mulps         %xmm6,%xmm2
+  DB  68,15,88,218                        ; addps         %xmm2,%xmm11
+  DB  15,194,195,2                        ; cmpleps       %xmm3,%xmm0
+  DB  102,69,15,56,20,218                 ; blendvps      %xmm0,%xmm10,%xmm11
+  DB  68,15,40,213                        ; movaps        %xmm5,%xmm10
+  DB  68,15,94,215                        ; divps         %xmm7,%xmm10
+  DB  69,15,84,209                        ; andps         %xmm9,%xmm10
+  DB  65,15,40,194                        ; movaps        %xmm10,%xmm0
+  DB  15,88,192                           ; addps         %xmm0,%xmm0
+  DB  15,88,192                           ; addps         %xmm0,%xmm0
+  DB  15,40,208                           ; movaps        %xmm0,%xmm2
+  DB  15,89,210                           ; mulps         %xmm2,%xmm2
+  DB  15,88,208                           ; addps         %xmm0,%xmm2
+  DB  65,15,40,194                        ; movaps        %xmm10,%xmm0
+  DB  65,15,88,197                        ; addps         %xmm13,%xmm0
+  DB  15,89,194                           ; mulps         %xmm2,%xmm0
+  DB  65,15,40,210                        ; movaps        %xmm10,%xmm2
+  DB  65,15,89,212                        ; mulps         %xmm12,%xmm2
+  DB  15,88,208                           ; addps         %xmm0,%xmm2
+  DB  65,15,82,194                        ; rsqrtps       %xmm10,%xmm0
+  DB  68,15,83,240                        ; rcpps         %xmm0,%xmm14
+  DB  69,15,92,242                        ; subps         %xmm10,%xmm14
+  DB  15,40,197                           ; movaps        %xmm5,%xmm0
+  DB  15,40,229                           ; movaps        %xmm5,%xmm4
+  DB  15,88,192                           ; addps         %xmm0,%xmm0
+  DB  15,88,192                           ; addps         %xmm0,%xmm0
+  DB  15,194,199,2                        ; cmpleps       %xmm7,%xmm0
+  DB  102,68,15,56,20,242                 ; blendvps      %xmm0,%xmm2,%xmm14
+  DB  68,15,40,249                        ; movaps        %xmm1,%xmm15
+  DB  69,15,92,250                        ; subps         %xmm10,%xmm15
+  DB  15,40,108,36,16                     ; movaps        0x10(%rsp),%xmm5
+  DB  15,40,197                           ; movaps        %xmm5,%xmm0
+  DB  15,88,192                           ; addps         %xmm0,%xmm0
+  DB  15,40,208                           ; movaps        %xmm0,%xmm2
+  DB  15,92,211                           ; subps         %xmm3,%xmm2
+  DB  68,15,89,250                        ; mulps         %xmm2,%xmm15
+  DB  15,89,215                           ; mulps         %xmm7,%xmm2
+  DB  68,15,89,242                        ; mulps         %xmm2,%xmm14
+  DB  15,40,211                           ; movaps        %xmm3,%xmm2
+  DB  15,41,36,36                         ; movaps        %xmm4,(%rsp)
+  DB  15,89,212                           ; mulps         %xmm4,%xmm2
+  DB  68,15,88,242                        ; addps         %xmm2,%xmm14
+  DB  68,15,88,251                        ; addps         %xmm3,%xmm15
+  DB  68,15,89,252                        ; mulps         %xmm4,%xmm15
+  DB  15,194,195,2                        ; cmpleps       %xmm3,%xmm0
+  DB  102,69,15,56,20,247                 ; blendvps      %xmm0,%xmm15,%xmm14
+  DB  68,15,40,249                        ; movaps        %xmm1,%xmm15
+  DB  15,40,100,36,32                     ; movaps        0x20(%rsp),%xmm4
+  DB  15,40,196                           ; movaps        %xmm4,%xmm0
+  DB  15,94,199                           ; divps         %xmm7,%xmm0
+  DB  65,15,84,193                        ; andps         %xmm9,%xmm0
+  DB  68,15,40,209                        ; movaps        %xmm1,%xmm10
+  DB  15,92,200                           ; subps         %xmm0,%xmm1
+  DB  68,15,88,232                        ; addps         %xmm0,%xmm13
+  DB  68,15,89,224                        ; mulps         %xmm0,%xmm12
+  DB  15,82,208                           ; rsqrtps       %xmm0,%xmm2
+  DB  68,15,83,202                        ; rcpps         %xmm2,%xmm9
+  DB  68,15,92,200                        ; subps         %xmm0,%xmm9
+  DB  15,88,192                           ; addps         %xmm0,%xmm0
+  DB  15,88,192                           ; addps         %xmm0,%xmm0
+  DB  15,40,208                           ; movaps        %xmm0,%xmm2
+  DB  15,89,210                           ; mulps         %xmm2,%xmm2
+  DB  15,88,208                           ; addps         %xmm0,%xmm2
+  DB  68,15,89,234                        ; mulps         %xmm2,%xmm13
+  DB  69,15,88,229                        ; addps         %xmm13,%xmm12
+  DB  15,40,196                           ; movaps        %xmm4,%xmm0
+  DB  15,88,192                           ; addps         %xmm0,%xmm0
+  DB  15,88,192                           ; addps         %xmm0,%xmm0
+  DB  15,194,199,2                        ; cmpleps       %xmm7,%xmm0
+  DB  102,69,15,56,20,204                 ; blendvps      %xmm0,%xmm12,%xmm9
+  DB  68,15,40,100,36,48                  ; movaps        0x30(%rsp),%xmm12
+  DB  65,15,40,196                        ; movaps        %xmm12,%xmm0
+  DB  15,88,192                           ; addps         %xmm0,%xmm0
+  DB  15,40,208                           ; movaps        %xmm0,%xmm2
+  DB  15,92,211                           ; subps         %xmm3,%xmm2
+  DB  15,89,202                           ; mulps         %xmm2,%xmm1
+  DB  15,89,215                           ; mulps         %xmm7,%xmm2
+  DB  68,15,89,202                        ; mulps         %xmm2,%xmm9
+  DB  15,40,211                           ; movaps        %xmm3,%xmm2
+  DB  15,89,212                           ; mulps         %xmm4,%xmm2
+  DB  68,15,88,202                        ; addps         %xmm2,%xmm9
+  DB  15,88,203                           ; addps         %xmm3,%xmm1
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  15,194,195,2                        ; cmpleps       %xmm3,%xmm0
+  DB  102,68,15,56,20,201                 ; blendvps      %xmm0,%xmm1,%xmm9
+  DB  68,15,92,255                        ; subps         %xmm7,%xmm15
+  DB  69,15,89,199                        ; mulps         %xmm15,%xmm8
+  DB  15,40,205                           ; movaps        %xmm5,%xmm1
+  DB  65,15,89,207                        ; mulps         %xmm15,%xmm1
+  DB  69,15,89,252                        ; mulps         %xmm12,%xmm15
+  DB  68,15,92,211                        ; subps         %xmm3,%xmm10
+  DB  65,15,40,194                        ; movaps        %xmm10,%xmm0
+  DB  15,89,198                           ; mulps         %xmm6,%xmm0
+  DB  68,15,88,192                        ; addps         %xmm0,%xmm8
+  DB  69,15,88,195                        ; addps         %xmm11,%xmm8
+  DB  65,15,40,194                        ; movaps        %xmm10,%xmm0
+  DB  15,40,44,36                         ; movaps        (%rsp),%xmm5
+  DB  15,89,197                           ; mulps         %xmm5,%xmm0
+  DB  15,88,200                           ; addps         %xmm0,%xmm1
+  DB  65,15,88,206                        ; addps         %xmm14,%xmm1
+  DB  65,15,40,194                        ; movaps        %xmm10,%xmm0
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  15,40,212                           ; movaps        %xmm4,%xmm2
+  DB  65,15,88,199                        ; addps         %xmm15,%xmm0
+  DB  68,15,88,200                        ; addps         %xmm0,%xmm9
+  DB  68,15,89,215                        ; mulps         %xmm7,%xmm10
+  DB  65,15,88,218                        ; addps         %xmm10,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,230                           ; movaps        %xmm6,%xmm4
+  DB  15,40,242                           ; movaps        %xmm2,%xmm6
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  65,15,40,209                        ; movaps        %xmm9,%xmm2
+  DB  72,131,196,72                       ; add           $0x48,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_hue_sse41
+_sk_hue_sse41 LABEL PROC
+  DB  72,131,236,104                      ; sub           $0x68,%rsp
+  DB  15,41,60,36                         ; movaps        %xmm7,(%rsp)
+  DB  68,15,40,246                        ; movaps        %xmm6,%xmm14
+  DB  15,40,244                           ; movaps        %xmm4,%xmm6
+  DB  68,15,40,195                        ; movaps        %xmm3,%xmm8
+  DB  15,41,84,36,80                      ; movaps        %xmm2,0x50(%rsp)
+  DB  15,41,76,36,64                      ; movaps        %xmm1,0x40(%rsp)
+  DB  68,15,40,208                        ; movaps        %xmm0,%xmm10
+  DB  68,15,41,84,36,48                   ; movaps        %xmm10,0x30(%rsp)
+  DB  69,15,89,208                        ; mulps         %xmm8,%xmm10
+  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
+  DB  68,15,40,234                        ; movaps        %xmm2,%xmm13
+  DB  69,15,89,232                        ; mulps         %xmm8,%xmm13
+  DB  68,15,40,205                        ; movaps        %xmm5,%xmm9
+  DB  68,15,40,221                        ; movaps        %xmm5,%xmm11
+  DB  15,41,108,36,32                     ; movaps        %xmm5,0x20(%rsp)
+  DB  69,15,95,222                        ; maxps         %xmm14,%xmm11
+  DB  15,40,254                           ; movaps        %xmm6,%xmm7
+  DB  68,15,40,230                        ; movaps        %xmm6,%xmm12
+  DB  15,40,214                           ; movaps        %xmm6,%xmm2
+  DB  65,15,95,211                        ; maxps         %xmm11,%xmm2
+  DB  65,15,40,230                        ; movaps        %xmm14,%xmm4
+  DB  15,41,100,36,16                     ; movaps        %xmm4,0x10(%rsp)
+  DB  68,15,93,204                        ; minps         %xmm4,%xmm9
+  DB  65,15,93,249                        ; minps         %xmm9,%xmm7
+  DB  15,92,215                           ; subps         %xmm7,%xmm2
+  DB  15,40,249                           ; movaps        %xmm1,%xmm7
+  DB  65,15,93,253                        ; minps         %xmm13,%xmm7
+  DB  65,15,40,218                        ; movaps        %xmm10,%xmm3
+  DB  15,93,223                           ; minps         %xmm7,%xmm3
+  DB  15,40,249                           ; movaps        %xmm1,%xmm7
+  DB  65,15,95,253                        ; maxps         %xmm13,%xmm7
+  DB  65,15,40,194                        ; movaps        %xmm10,%xmm0
+  DB  15,95,199                           ; maxps         %xmm7,%xmm0
+  DB  15,40,253                           ; movaps        %xmm5,%xmm7
+  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
+  DB  15,92,195                           ; subps         %xmm3,%xmm0
+  DB  68,15,92,211                        ; subps         %xmm3,%xmm10
+  DB  15,92,203                           ; subps         %xmm3,%xmm1
+  DB  68,15,92,235                        ; subps         %xmm3,%xmm13
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  68,15,89,210                        ; mulps         %xmm2,%xmm10
+  DB  68,15,94,208                        ; divps         %xmm0,%xmm10
+  DB  15,89,202                           ; mulps         %xmm2,%xmm1
+  DB  15,94,200                           ; divps         %xmm0,%xmm1
+  DB  68,15,89,234                        ; mulps         %xmm2,%xmm13
+  DB  68,15,94,232                        ; divps         %xmm0,%xmm13
+  DB  15,194,195,4                        ; cmpneqps      %xmm3,%xmm0
+  DB  68,15,84,208                        ; andps         %xmm0,%xmm10
+  DB  15,84,200                           ; andps         %xmm0,%xmm1
+  DB  68,15,84,232                        ; andps         %xmm0,%xmm13
+  DB  15,40,5,154,248,1,0                 ; movaps        0x1f89a(%rip),%xmm0        # 35530 <_sk_srcover_bgra_8888_sse2_lowp+0xd18>
+  DB  68,15,89,224                        ; mulps         %xmm0,%xmm12
+  DB  15,40,21,159,248,1,0                ; movaps        0x1f89f(%rip),%xmm2        # 35540 <_sk_srcover_bgra_8888_sse2_lowp+0xd28>
+  DB  15,89,250                           ; mulps         %xmm2,%xmm7
+  DB  65,15,88,252                        ; addps         %xmm12,%xmm7
+  DB  68,15,40,53,160,248,1,0             ; movaps        0x1f8a0(%rip),%xmm14        # 35550 <_sk_srcover_bgra_8888_sse2_lowp+0xd38>
+  DB  68,15,40,252                        ; movaps        %xmm4,%xmm15
+  DB  69,15,89,254                        ; mulps         %xmm14,%xmm15
+  DB  68,15,88,255                        ; addps         %xmm7,%xmm15
+  DB  65,15,40,218                        ; movaps        %xmm10,%xmm3
+  DB  15,89,216                           ; mulps         %xmm0,%xmm3
+  DB  15,40,249                           ; movaps        %xmm1,%xmm7
+  DB  15,89,250                           ; mulps         %xmm2,%xmm7
+  DB  15,88,251                           ; addps         %xmm3,%xmm7
+  DB  65,15,40,221                        ; movaps        %xmm13,%xmm3
+  DB  65,15,89,222                        ; mulps         %xmm14,%xmm3
+  DB  15,88,223                           ; addps         %xmm7,%xmm3
+  DB  69,15,89,248                        ; mulps         %xmm8,%xmm15
+  DB  68,15,92,251                        ; subps         %xmm3,%xmm15
+  DB  69,15,88,215                        ; addps         %xmm15,%xmm10
+  DB  65,15,88,207                        ; addps         %xmm15,%xmm1
+  DB  69,15,88,253                        ; addps         %xmm13,%xmm15
+  DB  15,40,217                           ; movaps        %xmm1,%xmm3
+  DB  65,15,93,223                        ; minps         %xmm15,%xmm3
+  DB  65,15,40,250                        ; movaps        %xmm10,%xmm7
+  DB  15,93,251                           ; minps         %xmm3,%xmm7
+  DB  65,15,89,194                        ; mulps         %xmm10,%xmm0
+  DB  15,89,209                           ; mulps         %xmm1,%xmm2
+  DB  15,88,208                           ; addps         %xmm0,%xmm2
+  DB  69,15,89,247                        ; mulps         %xmm15,%xmm14
+  DB  68,15,88,242                        ; addps         %xmm2,%xmm14
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,194,207,2                     ; cmpleps       %xmm7,%xmm9
+  DB  65,15,40,222                        ; movaps        %xmm14,%xmm3
+  DB  15,92,223                           ; subps         %xmm7,%xmm3
+  DB  69,15,40,234                        ; movaps        %xmm10,%xmm13
+  DB  69,15,92,238                        ; subps         %xmm14,%xmm13
+  DB  69,15,89,238                        ; mulps         %xmm14,%xmm13
+  DB  68,15,94,235                        ; divps         %xmm3,%xmm13
+  DB  69,15,88,238                        ; addps         %xmm14,%xmm13
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  102,69,15,56,20,234                 ; blendvps      %xmm0,%xmm10,%xmm13
+  DB  15,40,193                           ; movaps        %xmm1,%xmm0
+  DB  65,15,95,199                        ; maxps         %xmm15,%xmm0
+  DB  68,15,95,208                        ; maxps         %xmm0,%xmm10
+  DB  65,15,40,248                        ; movaps        %xmm8,%xmm7
+  DB  15,40,44,36                         ; movaps        (%rsp),%xmm5
+  DB  15,89,253                           ; mulps         %xmm5,%xmm7
+  DB  15,40,231                           ; movaps        %xmm7,%xmm4
+  DB  65,15,194,226,1                     ; cmpltps       %xmm10,%xmm4
+  DB  65,15,40,213                        ; movaps        %xmm13,%xmm2
+  DB  65,15,92,214                        ; subps         %xmm14,%xmm2
+  DB  68,15,40,223                        ; movaps        %xmm7,%xmm11
+  DB  69,15,92,222                        ; subps         %xmm14,%xmm11
+  DB  65,15,89,211                        ; mulps         %xmm11,%xmm2
+  DB  69,15,92,214                        ; subps         %xmm14,%xmm10
+  DB  65,15,94,210                        ; divps         %xmm10,%xmm2
+  DB  65,15,88,214                        ; addps         %xmm14,%xmm2
+  DB  15,40,196                           ; movaps        %xmm4,%xmm0
+  DB  102,68,15,56,20,234                 ; blendvps      %xmm0,%xmm2,%xmm13
+  DB  68,15,40,225                        ; movaps        %xmm1,%xmm12
+  DB  69,15,92,230                        ; subps         %xmm14,%xmm12
+  DB  69,15,89,230                        ; mulps         %xmm14,%xmm12
+  DB  68,15,94,227                        ; divps         %xmm3,%xmm12
+  DB  69,15,88,230                        ; addps         %xmm14,%xmm12
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  102,68,15,56,20,225                 ; blendvps      %xmm0,%xmm1,%xmm12
+  DB  65,15,40,204                        ; movaps        %xmm12,%xmm1
+  DB  65,15,92,206                        ; subps         %xmm14,%xmm1
+  DB  65,15,89,203                        ; mulps         %xmm11,%xmm1
+  DB  65,15,94,202                        ; divps         %xmm10,%xmm1
+  DB  65,15,88,206                        ; addps         %xmm14,%xmm1
+  DB  15,40,196                           ; movaps        %xmm4,%xmm0
+  DB  102,68,15,56,20,225                 ; blendvps      %xmm0,%xmm1,%xmm12
+  DB  65,15,40,207                        ; movaps        %xmm15,%xmm1
+  DB  65,15,92,206                        ; subps         %xmm14,%xmm1
+  DB  65,15,89,206                        ; mulps         %xmm14,%xmm1
+  DB  15,94,203                           ; divps         %xmm3,%xmm1
+  DB  65,15,88,206                        ; addps         %xmm14,%xmm1
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  102,65,15,56,20,207                 ; blendvps      %xmm0,%xmm15,%xmm1
+  DB  15,40,209                           ; movaps        %xmm1,%xmm2
+  DB  65,15,92,214                        ; subps         %xmm14,%xmm2
+  DB  65,15,89,211                        ; mulps         %xmm11,%xmm2
+  DB  65,15,94,210                        ; divps         %xmm10,%xmm2
+  DB  65,15,88,214                        ; addps         %xmm14,%xmm2
+  DB  15,40,196                           ; movaps        %xmm4,%xmm0
+  DB  102,15,56,20,202                    ; blendvps      %xmm0,%xmm2,%xmm1
+  DB  68,15,40,13,181,246,1,0             ; movaps        0x1f6b5(%rip),%xmm9        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  65,15,40,225                        ; movaps        %xmm9,%xmm4
+  DB  15,92,229                           ; subps         %xmm5,%xmm4
+  DB  15,40,68,36,48                      ; movaps        0x30(%rsp),%xmm0
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  15,40,92,36,64                      ; movaps        0x40(%rsp),%xmm3
+  DB  15,89,220                           ; mulps         %xmm4,%xmm3
+  DB  15,89,100,36,80                     ; mulps         0x50(%rsp),%xmm4
+  DB  69,15,92,200                        ; subps         %xmm8,%xmm9
+  DB  68,15,88,197                        ; addps         %xmm5,%xmm8
+  DB  68,15,40,213                        ; movaps        %xmm5,%xmm10
+  DB  68,15,92,199                        ; subps         %xmm7,%xmm8
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  68,15,95,234                        ; maxps         %xmm2,%xmm13
+  DB  68,15,95,226                        ; maxps         %xmm2,%xmm12
+  DB  15,95,202                           ; maxps         %xmm2,%xmm1
+  DB  65,15,40,209                        ; movaps        %xmm9,%xmm2
+  DB  15,89,214                           ; mulps         %xmm6,%xmm2
+  DB  15,88,194                           ; addps         %xmm2,%xmm0
+  DB  65,15,88,197                        ; addps         %xmm13,%xmm0
+  DB  65,15,40,209                        ; movaps        %xmm9,%xmm2
+  DB  15,40,108,36,32                     ; movaps        0x20(%rsp),%xmm5
+  DB  15,89,213                           ; mulps         %xmm5,%xmm2
+  DB  15,88,218                           ; addps         %xmm2,%xmm3
+  DB  65,15,88,220                        ; addps         %xmm12,%xmm3
+  DB  15,40,211                           ; movaps        %xmm3,%xmm2
+  DB  15,40,92,36,16                      ; movaps        0x10(%rsp),%xmm3
+  DB  68,15,89,203                        ; mulps         %xmm3,%xmm9
+  DB  68,15,88,204                        ; addps         %xmm4,%xmm9
+  DB  68,15,88,201                        ; addps         %xmm1,%xmm9
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,230                           ; movaps        %xmm6,%xmm4
+  DB  15,40,243                           ; movaps        %xmm3,%xmm6
+  DB  15,40,202                           ; movaps        %xmm2,%xmm1
+  DB  65,15,40,209                        ; movaps        %xmm9,%xmm2
+  DB  65,15,40,216                        ; movaps        %xmm8,%xmm3
+  DB  65,15,40,250                        ; movaps        %xmm10,%xmm7
+  DB  72,131,196,104                      ; add           $0x68,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_saturation_sse41
+_sk_saturation_sse41 LABEL PROC
+  DB  72,131,236,88                       ; sub           $0x58,%rsp
+  DB  68,15,40,206                        ; movaps        %xmm6,%xmm9
+  DB  15,40,245                           ; movaps        %xmm5,%xmm6
+  DB  15,40,236                           ; movaps        %xmm4,%xmm5
+  DB  15,40,227                           ; movaps        %xmm3,%xmm4
+  DB  15,41,76,36,48                      ; movaps        %xmm1,0x30(%rsp)
+  DB  15,41,68,36,32                      ; movaps        %xmm0,0x20(%rsp)
+  DB  68,15,40,212                        ; movaps        %xmm4,%xmm10
+  DB  68,15,89,213                        ; mulps         %xmm5,%xmm10
+  DB  68,15,40,220                        ; movaps        %xmm4,%xmm11
+  DB  68,15,89,222                        ; mulps         %xmm6,%xmm11
+  DB  68,15,40,196                        ; movaps        %xmm4,%xmm8
+  DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
+  DB  69,15,40,241                        ; movaps        %xmm9,%xmm14
+  DB  68,15,41,116,36,16                  ; movaps        %xmm14,0x10(%rsp)
+  DB  15,40,217                           ; movaps        %xmm1,%xmm3
+  DB  68,15,40,202                        ; movaps        %xmm2,%xmm9
+  DB  68,15,41,76,36,64                   ; movaps        %xmm9,0x40(%rsp)
+  DB  65,15,95,217                        ; maxps         %xmm9,%xmm3
+  DB  15,40,208                           ; movaps        %xmm0,%xmm2
+  DB  15,95,211                           ; maxps         %xmm3,%xmm2
+  DB  68,15,40,225                        ; movaps        %xmm1,%xmm12
+  DB  69,15,93,225                        ; minps         %xmm9,%xmm12
+  DB  15,40,216                           ; movaps        %xmm0,%xmm3
+  DB  65,15,93,220                        ; minps         %xmm12,%xmm3
+  DB  15,92,211                           ; subps         %xmm3,%xmm2
+  DB  15,89,215                           ; mulps         %xmm7,%xmm2
+  DB  68,15,40,231                        ; movaps        %xmm7,%xmm12
+  DB  68,15,41,36,36                      ; movaps        %xmm12,(%rsp)
+  DB  65,15,40,195                        ; movaps        %xmm11,%xmm0
+  DB  65,15,93,192                        ; minps         %xmm8,%xmm0
+  DB  65,15,40,218                        ; movaps        %xmm10,%xmm3
+  DB  15,93,216                           ; minps         %xmm0,%xmm3
+  DB  65,15,40,195                        ; movaps        %xmm11,%xmm0
+  DB  65,15,95,192                        ; maxps         %xmm8,%xmm0
+  DB  65,15,40,250                        ; movaps        %xmm10,%xmm7
+  DB  15,95,248                           ; maxps         %xmm0,%xmm7
+  DB  15,92,251                           ; subps         %xmm3,%xmm7
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  68,15,92,211                        ; subps         %xmm3,%xmm10
+  DB  68,15,89,210                        ; mulps         %xmm2,%xmm10
+  DB  68,15,94,215                        ; divps         %xmm7,%xmm10
+  DB  68,15,92,219                        ; subps         %xmm3,%xmm11
+  DB  68,15,89,218                        ; mulps         %xmm2,%xmm11
+  DB  68,15,94,223                        ; divps         %xmm7,%xmm11
+  DB  68,15,92,195                        ; subps         %xmm3,%xmm8
+  DB  68,15,89,194                        ; mulps         %xmm2,%xmm8
+  DB  68,15,94,199                        ; divps         %xmm7,%xmm8
+  DB  15,194,248,4                        ; cmpneqps      %xmm0,%xmm7
+  DB  68,15,84,215                        ; andps         %xmm7,%xmm10
+  DB  68,15,84,223                        ; andps         %xmm7,%xmm11
+  DB  68,15,84,199                        ; andps         %xmm7,%xmm8
+  DB  15,40,21,216,245,1,0                ; movaps        0x1f5d8(%rip),%xmm2        # 35530 <_sk_srcover_bgra_8888_sse2_lowp+0xd18>
+  DB  15,40,221                           ; movaps        %xmm5,%xmm3
+  DB  15,89,218                           ; mulps         %xmm2,%xmm3
+  DB  15,40,13,219,245,1,0                ; movaps        0x1f5db(%rip),%xmm1        # 35540 <_sk_srcover_bgra_8888_sse2_lowp+0xd28>
+  DB  15,40,254                           ; movaps        %xmm6,%xmm7
+  DB  15,89,249                           ; mulps         %xmm1,%xmm7
+  DB  15,88,251                           ; addps         %xmm3,%xmm7
+  DB  68,15,40,45,218,245,1,0             ; movaps        0x1f5da(%rip),%xmm13        # 35550 <_sk_srcover_bgra_8888_sse2_lowp+0xd38>
+  DB  69,15,89,245                        ; mulps         %xmm13,%xmm14
+  DB  68,15,88,247                        ; addps         %xmm7,%xmm14
+  DB  65,15,40,218                        ; movaps        %xmm10,%xmm3
+  DB  15,89,218                           ; mulps         %xmm2,%xmm3
+  DB  65,15,40,251                        ; movaps        %xmm11,%xmm7
+  DB  15,89,249                           ; mulps         %xmm1,%xmm7
+  DB  15,88,251                           ; addps         %xmm3,%xmm7
+  DB  65,15,40,216                        ; movaps        %xmm8,%xmm3
+  DB  65,15,89,221                        ; mulps         %xmm13,%xmm3
+  DB  15,88,223                           ; addps         %xmm7,%xmm3
+  DB  68,15,89,244                        ; mulps         %xmm4,%xmm14
+  DB  68,15,92,243                        ; subps         %xmm3,%xmm14
+  DB  69,15,88,214                        ; addps         %xmm14,%xmm10
+  DB  69,15,88,222                        ; addps         %xmm14,%xmm11
+  DB  69,15,88,240                        ; addps         %xmm8,%xmm14
+  DB  65,15,40,195                        ; movaps        %xmm11,%xmm0
+  DB  65,15,93,198                        ; minps         %xmm14,%xmm0
+  DB  65,15,40,218                        ; movaps        %xmm10,%xmm3
+  DB  15,93,216                           ; minps         %xmm0,%xmm3
+  DB  65,15,89,210                        ; mulps         %xmm10,%xmm2
+  DB  65,15,89,203                        ; mulps         %xmm11,%xmm1
+  DB  15,88,202                           ; addps         %xmm2,%xmm1
+  DB  69,15,89,238                        ; mulps         %xmm14,%xmm13
+  DB  68,15,88,233                        ; addps         %xmm1,%xmm13
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,194,203,2                     ; cmpleps       %xmm3,%xmm9
+  DB  65,15,40,253                        ; movaps        %xmm13,%xmm7
+  DB  15,92,251                           ; subps         %xmm3,%xmm7
+  DB  69,15,40,250                        ; movaps        %xmm10,%xmm15
+  DB  69,15,92,253                        ; subps         %xmm13,%xmm15
+  DB  69,15,89,253                        ; mulps         %xmm13,%xmm15
+  DB  68,15,94,255                        ; divps         %xmm7,%xmm15
+  DB  69,15,88,253                        ; addps         %xmm13,%xmm15
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  102,69,15,56,20,250                 ; blendvps      %xmm0,%xmm10,%xmm15
+  DB  65,15,40,195                        ; movaps        %xmm11,%xmm0
+  DB  65,15,95,198                        ; maxps         %xmm14,%xmm0
+  DB  68,15,95,208                        ; maxps         %xmm0,%xmm10
+  DB  15,40,212                           ; movaps        %xmm4,%xmm2
+  DB  65,15,89,212                        ; mulps         %xmm12,%xmm2
+  DB  68,15,40,194                        ; movaps        %xmm2,%xmm8
+  DB  69,15,194,194,1                     ; cmpltps       %xmm10,%xmm8
+  DB  65,15,40,223                        ; movaps        %xmm15,%xmm3
+  DB  65,15,92,221                        ; subps         %xmm13,%xmm3
+  DB  15,40,202                           ; movaps        %xmm2,%xmm1
+  DB  65,15,92,205                        ; subps         %xmm13,%xmm1
+  DB  15,89,217                           ; mulps         %xmm1,%xmm3
+  DB  69,15,92,213                        ; subps         %xmm13,%xmm10
+  DB  65,15,94,218                        ; divps         %xmm10,%xmm3
+  DB  65,15,88,221                        ; addps         %xmm13,%xmm3
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  102,68,15,56,20,251                 ; blendvps      %xmm0,%xmm3,%xmm15
+  DB  69,15,40,227                        ; movaps        %xmm11,%xmm12
+  DB  69,15,92,229                        ; subps         %xmm13,%xmm12
+  DB  69,15,89,229                        ; mulps         %xmm13,%xmm12
+  DB  68,15,94,231                        ; divps         %xmm7,%xmm12
+  DB  69,15,88,229                        ; addps         %xmm13,%xmm12
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  102,69,15,56,20,227                 ; blendvps      %xmm0,%xmm11,%xmm12
+  DB  65,15,40,220                        ; movaps        %xmm12,%xmm3
+  DB  65,15,92,221                        ; subps         %xmm13,%xmm3
+  DB  15,89,217                           ; mulps         %xmm1,%xmm3
+  DB  65,15,94,218                        ; divps         %xmm10,%xmm3
+  DB  65,15,88,221                        ; addps         %xmm13,%xmm3
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  102,68,15,56,20,227                 ; blendvps      %xmm0,%xmm3,%xmm12
+  DB  69,15,40,222                        ; movaps        %xmm14,%xmm11
+  DB  69,15,92,221                        ; subps         %xmm13,%xmm11
+  DB  69,15,89,221                        ; mulps         %xmm13,%xmm11
+  DB  68,15,94,223                        ; divps         %xmm7,%xmm11
+  DB  69,15,88,221                        ; addps         %xmm13,%xmm11
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  102,69,15,56,20,222                 ; blendvps      %xmm0,%xmm14,%xmm11
+  DB  65,15,40,251                        ; movaps        %xmm11,%xmm7
+  DB  65,15,92,253                        ; subps         %xmm13,%xmm7
+  DB  15,89,249                           ; mulps         %xmm1,%xmm7
+  DB  65,15,94,250                        ; divps         %xmm10,%xmm7
+  DB  65,15,88,253                        ; addps         %xmm13,%xmm7
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  102,68,15,56,20,223                 ; blendvps      %xmm0,%xmm7,%xmm11
+  DB  68,15,40,13,240,243,1,0             ; movaps        0x1f3f0(%rip),%xmm9        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,40,193                        ; movaps        %xmm9,%xmm8
+  DB  68,15,92,204                        ; subps         %xmm4,%xmm9
+  DB  15,40,60,36                         ; movaps        (%rsp),%xmm7
+  DB  15,88,231                           ; addps         %xmm7,%xmm4
+  DB  15,92,226                           ; subps         %xmm2,%xmm4
+  DB  15,40,220                           ; movaps        %xmm4,%xmm3
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  68,15,95,248                        ; maxps         %xmm0,%xmm15
+  DB  68,15,95,224                        ; maxps         %xmm0,%xmm12
+  DB  68,15,95,216                        ; maxps         %xmm0,%xmm11
+  DB  65,15,40,201                        ; movaps        %xmm9,%xmm1
+  DB  15,89,205                           ; mulps         %xmm5,%xmm1
+  DB  68,15,92,199                        ; subps         %xmm7,%xmm8
+  DB  15,40,68,36,32                      ; movaps        0x20(%rsp),%xmm0
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  15,88,193                           ; addps         %xmm1,%xmm0
+  DB  65,15,88,199                        ; addps         %xmm15,%xmm0
+  DB  65,15,40,201                        ; movaps        %xmm9,%xmm1
+  DB  15,89,206                           ; mulps         %xmm6,%xmm1
+  DB  15,40,84,36,48                      ; movaps        0x30(%rsp),%xmm2
+  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
+  DB  15,88,209                           ; addps         %xmm1,%xmm2
+  DB  65,15,88,212                        ; addps         %xmm12,%xmm2
+  DB  15,40,202                           ; movaps        %xmm2,%xmm1
+  DB  68,15,89,68,36,64                   ; mulps         0x40(%rsp),%xmm8
+  DB  15,40,84,36,16                      ; movaps        0x10(%rsp),%xmm2
+  DB  68,15,89,202                        ; mulps         %xmm2,%xmm9
+  DB  69,15,88,200                        ; addps         %xmm8,%xmm9
+  DB  69,15,88,203                        ; addps         %xmm11,%xmm9
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,229                           ; movaps        %xmm5,%xmm4
+  DB  15,40,238                           ; movaps        %xmm6,%xmm5
+  DB  15,40,242                           ; movaps        %xmm2,%xmm6
+  DB  65,15,40,209                        ; movaps        %xmm9,%xmm2
+  DB  72,131,196,88                       ; add           $0x58,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_color_sse41
+_sk_color_sse41 LABEL PROC
+  DB  72,131,236,72                       ; sub           $0x48,%rsp
+  DB  68,15,40,230                        ; movaps        %xmm6,%xmm12
+  DB  68,15,41,100,36,16                  ; movaps        %xmm12,0x10(%rsp)
+  DB  68,15,40,221                        ; movaps        %xmm5,%xmm11
+  DB  68,15,41,92,36,32                   ; movaps        %xmm11,0x20(%rsp)
+  DB  68,15,40,212                        ; movaps        %xmm4,%xmm10
+  DB  68,15,41,84,36,48                   ; movaps        %xmm10,0x30(%rsp)
+  DB  15,40,243                           ; movaps        %xmm3,%xmm6
+  DB  15,41,20,36                         ; movaps        %xmm2,(%rsp)
+  DB  15,40,233                           ; movaps        %xmm1,%xmm5
+  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
+  DB  69,15,40,240                        ; movaps        %xmm8,%xmm14
+  DB  15,40,231                           ; movaps        %xmm7,%xmm4
+  DB  68,15,89,244                        ; mulps         %xmm4,%xmm14
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  68,15,40,13,165,243,1,0             ; movaps        0x1f3a5(%rip),%xmm9        # 35530 <_sk_srcover_bgra_8888_sse2_lowp+0xd18>
+  DB  65,15,40,250                        ; movaps        %xmm10,%xmm7
+  DB  65,15,89,249                        ; mulps         %xmm9,%xmm7
+  DB  68,15,40,21,165,243,1,0             ; movaps        0x1f3a5(%rip),%xmm10        # 35540 <_sk_srcover_bgra_8888_sse2_lowp+0xd28>
+  DB  65,15,40,219                        ; movaps        %xmm11,%xmm3
+  DB  65,15,89,218                        ; mulps         %xmm10,%xmm3
+  DB  15,88,223                           ; addps         %xmm7,%xmm3
+  DB  68,15,40,29,162,243,1,0             ; movaps        0x1f3a2(%rip),%xmm11        # 35550 <_sk_srcover_bgra_8888_sse2_lowp+0xd38>
+  DB  69,15,40,236                        ; movaps        %xmm12,%xmm13
+  DB  69,15,89,235                        ; mulps         %xmm11,%xmm13
+  DB  68,15,88,235                        ; addps         %xmm3,%xmm13
+  DB  65,15,40,222                        ; movaps        %xmm14,%xmm3
+  DB  65,15,89,217                        ; mulps         %xmm9,%xmm3
+  DB  15,40,249                           ; movaps        %xmm1,%xmm7
+  DB  65,15,89,250                        ; mulps         %xmm10,%xmm7
+  DB  15,88,251                           ; addps         %xmm3,%xmm7
+  DB  15,40,194                           ; movaps        %xmm2,%xmm0
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  15,40,216                           ; movaps        %xmm0,%xmm3
+  DB  65,15,89,219                        ; mulps         %xmm11,%xmm3
+  DB  15,88,223                           ; addps         %xmm7,%xmm3
+  DB  68,15,89,238                        ; mulps         %xmm6,%xmm13
+  DB  68,15,92,235                        ; subps         %xmm3,%xmm13
+  DB  69,15,88,245                        ; addps         %xmm13,%xmm14
+  DB  65,15,88,205                        ; addps         %xmm13,%xmm1
+  DB  68,15,88,232                        ; addps         %xmm0,%xmm13
+  DB  15,40,193                           ; movaps        %xmm1,%xmm0
+  DB  65,15,93,197                        ; minps         %xmm13,%xmm0
+  DB  65,15,40,222                        ; movaps        %xmm14,%xmm3
+  DB  15,93,216                           ; minps         %xmm0,%xmm3
+  DB  69,15,89,206                        ; mulps         %xmm14,%xmm9
+  DB  68,15,89,209                        ; mulps         %xmm1,%xmm10
+  DB  69,15,88,209                        ; addps         %xmm9,%xmm10
+  DB  69,15,89,221                        ; mulps         %xmm13,%xmm11
+  DB  69,15,88,218                        ; addps         %xmm10,%xmm11
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,194,203,2                     ; cmpleps       %xmm3,%xmm9
+  DB  69,15,40,230                        ; movaps        %xmm14,%xmm12
+  DB  69,15,92,227                        ; subps         %xmm11,%xmm12
+  DB  69,15,89,227                        ; mulps         %xmm11,%xmm12
+  DB  65,15,40,251                        ; movaps        %xmm11,%xmm7
+  DB  15,92,251                           ; subps         %xmm3,%xmm7
+  DB  68,15,94,231                        ; divps         %xmm7,%xmm12
+  DB  69,15,88,227                        ; addps         %xmm11,%xmm12
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  102,69,15,56,20,230                 ; blendvps      %xmm0,%xmm14,%xmm12
+  DB  15,40,193                           ; movaps        %xmm1,%xmm0
+  DB  65,15,95,197                        ; maxps         %xmm13,%xmm0
+  DB  65,15,40,214                        ; movaps        %xmm14,%xmm2
+  DB  15,95,208                           ; maxps         %xmm0,%xmm2
+  DB  15,40,222                           ; movaps        %xmm6,%xmm3
+  DB  15,89,220                           ; mulps         %xmm4,%xmm3
+  DB  68,15,40,211                        ; movaps        %xmm3,%xmm10
+  DB  68,15,194,210,1                     ; cmpltps       %xmm2,%xmm10
+  DB  69,15,40,244                        ; movaps        %xmm12,%xmm14
+  DB  69,15,92,243                        ; subps         %xmm11,%xmm14
+  DB  68,15,40,251                        ; movaps        %xmm3,%xmm15
+  DB  69,15,92,251                        ; subps         %xmm11,%xmm15
+  DB  69,15,89,247                        ; mulps         %xmm15,%xmm14
+  DB  65,15,92,211                        ; subps         %xmm11,%xmm2
+  DB  68,15,94,242                        ; divps         %xmm2,%xmm14
+  DB  69,15,88,243                        ; addps         %xmm11,%xmm14
+  DB  65,15,40,194                        ; movaps        %xmm10,%xmm0
+  DB  102,69,15,56,20,230                 ; blendvps      %xmm0,%xmm14,%xmm12
+  DB  68,15,40,241                        ; movaps        %xmm1,%xmm14
+  DB  69,15,92,243                        ; subps         %xmm11,%xmm14
+  DB  69,15,89,243                        ; mulps         %xmm11,%xmm14
+  DB  68,15,94,247                        ; divps         %xmm7,%xmm14
+  DB  69,15,88,243                        ; addps         %xmm11,%xmm14
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  102,68,15,56,20,241                 ; blendvps      %xmm0,%xmm1,%xmm14
+  DB  65,15,40,206                        ; movaps        %xmm14,%xmm1
+  DB  65,15,92,203                        ; subps         %xmm11,%xmm1
+  DB  65,15,89,207                        ; mulps         %xmm15,%xmm1
+  DB  15,94,202                           ; divps         %xmm2,%xmm1
+  DB  65,15,88,203                        ; addps         %xmm11,%xmm1
+  DB  65,15,40,194                        ; movaps        %xmm10,%xmm0
+  DB  102,68,15,56,20,241                 ; blendvps      %xmm0,%xmm1,%xmm14
+  DB  65,15,40,205                        ; movaps        %xmm13,%xmm1
+  DB  65,15,92,203                        ; subps         %xmm11,%xmm1
+  DB  65,15,89,203                        ; mulps         %xmm11,%xmm1
+  DB  15,94,207                           ; divps         %xmm7,%xmm1
+  DB  65,15,88,203                        ; addps         %xmm11,%xmm1
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  102,65,15,56,20,205                 ; blendvps      %xmm0,%xmm13,%xmm1
+  DB  15,40,249                           ; movaps        %xmm1,%xmm7
+  DB  65,15,92,251                        ; subps         %xmm11,%xmm7
+  DB  65,15,89,255                        ; mulps         %xmm15,%xmm7
+  DB  15,94,250                           ; divps         %xmm2,%xmm7
+  DB  65,15,88,251                        ; addps         %xmm11,%xmm7
+  DB  65,15,40,194                        ; movaps        %xmm10,%xmm0
+  DB  102,15,56,20,207                    ; blendvps      %xmm0,%xmm7,%xmm1
+  DB  68,15,40,13,174,241,1,0             ; movaps        0x1f1ae(%rip),%xmm9        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  15,92,196                           ; subps         %xmm4,%xmm0
+  DB  68,15,89,192                        ; mulps         %xmm0,%xmm8
+  DB  15,89,232                           ; mulps         %xmm0,%xmm5
+  DB  15,89,4,36                          ; mulps         (%rsp),%xmm0
+  DB  68,15,92,206                        ; subps         %xmm6,%xmm9
+  DB  15,88,244                           ; addps         %xmm4,%xmm6
+  DB  15,40,252                           ; movaps        %xmm4,%xmm7
+  DB  15,92,243                           ; subps         %xmm3,%xmm6
+  DB  15,40,222                           ; movaps        %xmm6,%xmm3
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  68,15,95,226                        ; maxps         %xmm2,%xmm12
+  DB  68,15,95,242                        ; maxps         %xmm2,%xmm14
+  DB  15,95,202                           ; maxps         %xmm2,%xmm1
+  DB  65,15,40,209                        ; movaps        %xmm9,%xmm2
+  DB  15,40,100,36,48                     ; movaps        0x30(%rsp),%xmm4
+  DB  15,89,212                           ; mulps         %xmm4,%xmm2
+  DB  68,15,88,194                        ; addps         %xmm2,%xmm8
+  DB  69,15,88,196                        ; addps         %xmm12,%xmm8
+  DB  65,15,40,209                        ; movaps        %xmm9,%xmm2
+  DB  15,40,116,36,32                     ; movaps        0x20(%rsp),%xmm6
+  DB  15,89,214                           ; mulps         %xmm6,%xmm2
+  DB  68,15,40,213                        ; movaps        %xmm5,%xmm10
+  DB  68,15,88,210                        ; addps         %xmm2,%xmm10
+  DB  69,15,88,214                        ; addps         %xmm14,%xmm10
+  DB  15,40,84,36,16                      ; movaps        0x10(%rsp),%xmm2
+  DB  68,15,89,202                        ; mulps         %xmm2,%xmm9
+  DB  68,15,88,200                        ; addps         %xmm0,%xmm9
+  DB  68,15,88,201                        ; addps         %xmm1,%xmm9
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,238                           ; movaps        %xmm6,%xmm5
+  DB  15,40,242                           ; movaps        %xmm2,%xmm6
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  65,15,40,202                        ; movaps        %xmm10,%xmm1
+  DB  65,15,40,209                        ; movaps        %xmm9,%xmm2
+  DB  72,131,196,72                       ; add           $0x48,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_luminosity_sse41
+_sk_luminosity_sse41 LABEL PROC
+  DB  72,131,236,72                       ; sub           $0x48,%rsp
+  DB  15,41,116,36,16                     ; movaps        %xmm6,0x10(%rsp)
+  DB  15,41,108,36,48                     ; movaps        %xmm5,0x30(%rsp)
+  DB  68,15,40,196                        ; movaps        %xmm4,%xmm8
+  DB  68,15,41,68,36,32                   ; movaps        %xmm8,0x20(%rsp)
+  DB  15,41,20,36                         ; movaps        %xmm2,(%rsp)
+  DB  15,40,224                           ; movaps        %xmm0,%xmm4
+  DB  68,15,40,219                        ; movaps        %xmm3,%xmm11
+  DB  69,15,89,216                        ; mulps         %xmm8,%xmm11
+  DB  68,15,40,203                        ; movaps        %xmm3,%xmm9
+  DB  68,15,89,205                        ; mulps         %xmm5,%xmm9
+  DB  68,15,40,5,112,241,1,0              ; movaps        0x1f170(%rip),%xmm8        # 35530 <_sk_srcover_bgra_8888_sse2_lowp+0xd18>
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  68,15,40,21,116,241,1,0             ; movaps        0x1f174(%rip),%xmm10        # 35540 <_sk_srcover_bgra_8888_sse2_lowp+0xd28>
+  DB  15,40,233                           ; movaps        %xmm1,%xmm5
+  DB  65,15,89,234                        ; mulps         %xmm10,%xmm5
+  DB  15,88,232                           ; addps         %xmm0,%xmm5
+  DB  68,15,40,37,114,241,1,0             ; movaps        0x1f172(%rip),%xmm12        # 35550 <_sk_srcover_bgra_8888_sse2_lowp+0xd38>
+  DB  68,15,40,242                        ; movaps        %xmm2,%xmm14
+  DB  69,15,89,244                        ; mulps         %xmm12,%xmm14
+  DB  68,15,88,245                        ; addps         %xmm5,%xmm14
+  DB  65,15,40,235                        ; movaps        %xmm11,%xmm5
+  DB  65,15,89,232                        ; mulps         %xmm8,%xmm5
+  DB  65,15,40,209                        ; movaps        %xmm9,%xmm2
+  DB  65,15,89,210                        ; mulps         %xmm10,%xmm2
+  DB  15,88,213                           ; addps         %xmm5,%xmm2
+  DB  15,40,195                           ; movaps        %xmm3,%xmm0
+  DB  15,89,198                           ; mulps         %xmm6,%xmm0
+  DB  15,40,232                           ; movaps        %xmm0,%xmm5
+  DB  65,15,89,236                        ; mulps         %xmm12,%xmm5
+  DB  15,88,234                           ; addps         %xmm2,%xmm5
+  DB  68,15,89,247                        ; mulps         %xmm7,%xmm14
+  DB  68,15,92,245                        ; subps         %xmm5,%xmm14
+  DB  69,15,88,222                        ; addps         %xmm14,%xmm11
+  DB  69,15,88,206                        ; addps         %xmm14,%xmm9
+  DB  68,15,88,240                        ; addps         %xmm0,%xmm14
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  65,15,93,198                        ; minps         %xmm14,%xmm0
+  DB  65,15,40,235                        ; movaps        %xmm11,%xmm5
+  DB  15,93,232                           ; minps         %xmm0,%xmm5
+  DB  69,15,89,195                        ; mulps         %xmm11,%xmm8
+  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
+  DB  69,15,88,208                        ; addps         %xmm8,%xmm10
+  DB  69,15,89,230                        ; mulps         %xmm14,%xmm12
+  DB  69,15,88,226                        ; addps         %xmm10,%xmm12
+  DB  69,15,87,210                        ; xorps         %xmm10,%xmm10
+  DB  68,15,194,213,2                     ; cmpleps       %xmm5,%xmm10
+  DB  69,15,40,235                        ; movaps        %xmm11,%xmm13
+  DB  69,15,92,236                        ; subps         %xmm12,%xmm13
+  DB  69,15,89,236                        ; mulps         %xmm12,%xmm13
+  DB  65,15,40,244                        ; movaps        %xmm12,%xmm6
+  DB  15,92,245                           ; subps         %xmm5,%xmm6
+  DB  68,15,94,238                        ; divps         %xmm6,%xmm13
+  DB  69,15,88,236                        ; addps         %xmm12,%xmm13
+  DB  65,15,40,194                        ; movaps        %xmm10,%xmm0
+  DB  102,69,15,56,20,235                 ; blendvps      %xmm0,%xmm11,%xmm13
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  65,15,95,198                        ; maxps         %xmm14,%xmm0
+  DB  65,15,40,211                        ; movaps        %xmm11,%xmm2
+  DB  15,95,208                           ; maxps         %xmm0,%xmm2
+  DB  15,40,235                           ; movaps        %xmm3,%xmm5
+  DB  15,89,239                           ; mulps         %xmm7,%xmm5
+  DB  68,15,40,221                        ; movaps        %xmm5,%xmm11
+  DB  68,15,194,218,1                     ; cmpltps       %xmm2,%xmm11
+  DB  69,15,40,197                        ; movaps        %xmm13,%xmm8
+  DB  69,15,92,196                        ; subps         %xmm12,%xmm8
+  DB  68,15,40,253                        ; movaps        %xmm5,%xmm15
+  DB  69,15,92,252                        ; subps         %xmm12,%xmm15
+  DB  69,15,89,199                        ; mulps         %xmm15,%xmm8
+  DB  65,15,92,212                        ; subps         %xmm12,%xmm2
+  DB  68,15,94,194                        ; divps         %xmm2,%xmm8
+  DB  69,15,88,196                        ; addps         %xmm12,%xmm8
+  DB  65,15,40,195                        ; movaps        %xmm11,%xmm0
+  DB  102,69,15,56,20,232                 ; blendvps      %xmm0,%xmm8,%xmm13
+  DB  69,15,40,193                        ; movaps        %xmm9,%xmm8
+  DB  69,15,92,196                        ; subps         %xmm12,%xmm8
+  DB  69,15,89,196                        ; mulps         %xmm12,%xmm8
+  DB  68,15,94,198                        ; divps         %xmm6,%xmm8
+  DB  69,15,88,196                        ; addps         %xmm12,%xmm8
+  DB  65,15,40,194                        ; movaps        %xmm10,%xmm0
+  DB  102,69,15,56,20,193                 ; blendvps      %xmm0,%xmm9,%xmm8
+  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
+  DB  69,15,92,204                        ; subps         %xmm12,%xmm9
+  DB  69,15,89,207                        ; mulps         %xmm15,%xmm9
+  DB  68,15,94,202                        ; divps         %xmm2,%xmm9
+  DB  69,15,88,204                        ; addps         %xmm12,%xmm9
+  DB  65,15,40,195                        ; movaps        %xmm11,%xmm0
+  DB  102,69,15,56,20,193                 ; blendvps      %xmm0,%xmm9,%xmm8
+  DB  69,15,40,206                        ; movaps        %xmm14,%xmm9
+  DB  69,15,92,204                        ; subps         %xmm12,%xmm9
+  DB  69,15,89,204                        ; mulps         %xmm12,%xmm9
+  DB  68,15,94,206                        ; divps         %xmm6,%xmm9
+  DB  69,15,88,204                        ; addps         %xmm12,%xmm9
+  DB  65,15,40,194                        ; movaps        %xmm10,%xmm0
+  DB  102,69,15,56,20,206                 ; blendvps      %xmm0,%xmm14,%xmm9
+  DB  65,15,40,241                        ; movaps        %xmm9,%xmm6
+  DB  65,15,92,244                        ; subps         %xmm12,%xmm6
+  DB  65,15,89,247                        ; mulps         %xmm15,%xmm6
+  DB  15,94,242                           ; divps         %xmm2,%xmm6
+  DB  65,15,88,244                        ; addps         %xmm12,%xmm6
+  DB  65,15,40,195                        ; movaps        %xmm11,%xmm0
+  DB  102,68,15,56,20,206                 ; blendvps      %xmm0,%xmm6,%xmm9
+  DB  15,40,5,120,239,1,0                 ; movaps        0x1ef78(%rip),%xmm0        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  15,40,208                           ; movaps        %xmm0,%xmm2
+  DB  15,92,215                           ; subps         %xmm7,%xmm2
+  DB  15,89,226                           ; mulps         %xmm2,%xmm4
+  DB  15,89,202                           ; mulps         %xmm2,%xmm1
+  DB  15,89,20,36                         ; mulps         (%rsp),%xmm2
+  DB  15,92,195                           ; subps         %xmm3,%xmm0
+  DB  15,88,223                           ; addps         %xmm7,%xmm3
+  DB  15,92,221                           ; subps         %xmm5,%xmm3
+  DB  15,87,237                           ; xorps         %xmm5,%xmm5
+  DB  68,15,95,237                        ; maxps         %xmm5,%xmm13
+  DB  68,15,95,197                        ; maxps         %xmm5,%xmm8
+  DB  68,15,95,205                        ; maxps         %xmm5,%xmm9
+  DB  15,40,232                           ; movaps        %xmm0,%xmm5
+  DB  68,15,40,84,36,32                   ; movaps        0x20(%rsp),%xmm10
+  DB  65,15,89,234                        ; mulps         %xmm10,%xmm5
+  DB  15,88,229                           ; addps         %xmm5,%xmm4
+  DB  65,15,88,229                        ; addps         %xmm13,%xmm4
+  DB  15,40,240                           ; movaps        %xmm0,%xmm6
+  DB  15,40,108,36,48                     ; movaps        0x30(%rsp),%xmm5
+  DB  15,89,245                           ; mulps         %xmm5,%xmm6
+  DB  15,88,206                           ; addps         %xmm6,%xmm1
+  DB  65,15,88,200                        ; addps         %xmm8,%xmm1
+  DB  15,40,116,36,16                     ; movaps        0x10(%rsp),%xmm6
+  DB  15,89,198                           ; mulps         %xmm6,%xmm0
+  DB  15,88,194                           ; addps         %xmm2,%xmm0
+  DB  68,15,88,200                        ; addps         %xmm0,%xmm9
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,196                           ; movaps        %xmm4,%xmm0
+  DB  65,15,40,209                        ; movaps        %xmm9,%xmm2
+  DB  65,15,40,226                        ; movaps        %xmm10,%xmm4
+  DB  72,131,196,72                       ; add           $0x48,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_srcover_rgba_8888_sse41
+_sk_srcover_rgba_8888_sse41 LABEL PROC
+  DB  102,68,15,111,200                   ; movdqa        %xmm0,%xmm9
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,0,1,0,0                      ; jne           166c7 <_sk_srcover_rgba_8888_sse41+0x11f>
+  DB  243,65,15,111,4,144                 ; movdqu        (%r8,%rdx,4),%xmm0
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  102,15,111,37,136,239,1,0           ; movdqa        0x1ef88(%rip),%xmm4        # 35560 <_sk_srcover_bgra_8888_sse2_lowp+0xd48>
+  DB  102,15,219,224                      ; pand          %xmm0,%xmm4
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  102,15,111,232                      ; movdqa        %xmm0,%xmm5
+  DB  102,15,56,0,45,132,239,1,0          ; pshufb        0x1ef84(%rip),%xmm5        # 35570 <_sk_srcover_bgra_8888_sse2_lowp+0xd58>
+  DB  15,91,237                           ; cvtdq2ps      %xmm5,%xmm5
+  DB  102,15,111,240                      ; movdqa        %xmm0,%xmm6
+  DB  102,15,56,0,53,132,239,1,0          ; pshufb        0x1ef84(%rip),%xmm6        # 35580 <_sk_srcover_bgra_8888_sse2_lowp+0xd68>
+  DB  69,15,87,219                        ; xorps         %xmm11,%xmm11
+  DB  15,91,246                           ; cvtdq2ps      %xmm6,%xmm6
+  DB  102,15,114,208,24                   ; psrld         $0x18,%xmm0
+  DB  15,91,248                           ; cvtdq2ps      %xmm0,%xmm7
+  DB  68,15,40,5,157,238,1,0              ; movaps        0x1ee9d(%rip),%xmm8        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  68,15,92,195                        ; subps         %xmm3,%xmm8
+  DB  68,15,40,37,113,239,1,0             ; movaps        0x1ef71(%rip),%xmm12        # 35590 <_sk_srcover_bgra_8888_sse2_lowp+0xd78>
+  DB  69,15,89,204                        ; mulps         %xmm12,%xmm9
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  65,15,88,193                        ; addps         %xmm9,%xmm0
+  DB  65,15,89,204                        ; mulps         %xmm12,%xmm1
+  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
+  DB  68,15,89,205                        ; mulps         %xmm5,%xmm9
+  DB  68,15,88,201                        ; addps         %xmm1,%xmm9
+  DB  65,15,89,212                        ; mulps         %xmm12,%xmm2
+  DB  69,15,40,208                        ; movaps        %xmm8,%xmm10
+  DB  68,15,89,214                        ; mulps         %xmm6,%xmm10
+  DB  68,15,88,210                        ; addps         %xmm2,%xmm10
+  DB  65,15,89,220                        ; mulps         %xmm12,%xmm3
+  DB  68,15,89,199                        ; mulps         %xmm7,%xmm8
+  DB  68,15,88,195                        ; addps         %xmm3,%xmm8
+  DB  15,87,201                           ; xorps         %xmm1,%xmm1
+  DB  15,95,200                           ; maxps         %xmm0,%xmm1
+  DB  65,15,93,204                        ; minps         %xmm12,%xmm1
+  DB  102,15,91,201                       ; cvtps2dq      %xmm1,%xmm1
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  65,15,95,209                        ; maxps         %xmm9,%xmm2
+  DB  65,15,93,212                        ; minps         %xmm12,%xmm2
+  DB  102,15,91,210                       ; cvtps2dq      %xmm2,%xmm2
+  DB  102,15,114,242,8                    ; pslld         $0x8,%xmm2
+  DB  102,15,235,209                      ; por           %xmm1,%xmm2
+  DB  102,15,87,201                       ; xorpd         %xmm1,%xmm1
+  DB  65,15,95,202                        ; maxps         %xmm10,%xmm1
+  DB  65,15,93,204                        ; minps         %xmm12,%xmm1
+  DB  102,15,91,217                       ; cvtps2dq      %xmm1,%xmm3
+  DB  102,15,114,243,16                   ; pslld         $0x10,%xmm3
+  DB  69,15,95,216                        ; maxps         %xmm8,%xmm11
+  DB  69,15,93,220                        ; minps         %xmm12,%xmm11
+  DB  102,65,15,91,203                    ; cvtps2dq      %xmm11,%xmm1
+  DB  102,15,114,241,24                   ; pslld         $0x18,%xmm1
+  DB  102,15,235,203                      ; por           %xmm3,%xmm1
+  DB  102,15,235,202                      ; por           %xmm2,%xmm1
+  DB  117,75                              ; jne           166fc <_sk_srcover_rgba_8888_sse41+0x154>
+  DB  243,65,15,127,12,144                ; movdqu        %xmm1,(%r8,%rdx,4)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,201                        ; movaps        %xmm9,%xmm1
+  DB  65,15,40,210                        ; movaps        %xmm10,%xmm2
+  DB  65,15,40,216                        ; movaps        %xmm8,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,78                              ; je            1671d <_sk_srcover_rgba_8888_sse41+0x175>
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,20                              ; je            166eb <_sk_srcover_rgba_8888_sse41+0x143>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  15,133,238,254,255,255              ; jne           165cd <_sk_srcover_rgba_8888_sse41+0x25>
+  DB  102,65,15,110,68,144,8              ; movd          0x8(%r8,%rdx,4),%xmm0
+  DB  102,15,112,192,69                   ; pshufd        $0x45,%xmm0,%xmm0
+  DB  243,65,15,126,36,144                ; movq          (%r8,%rdx,4),%xmm4
+  DB  102,15,58,14,196,15                 ; pblendw       $0xf,%xmm4,%xmm0
+  DB  233,209,254,255,255                 ; jmpq          165cd <_sk_srcover_rgba_8888_sse41+0x25>
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,36                              ; je            16728 <_sk_srcover_rgba_8888_sse41+0x180>
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,13                              ; je            16715 <_sk_srcover_rgba_8888_sse41+0x16d>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,171                             ; jne           166b7 <_sk_srcover_rgba_8888_sse41+0x10f>
+  DB  102,65,15,58,22,76,144,8,2          ; pextrd        $0x2,%xmm1,0x8(%r8,%rdx,4)
+  DB  102,65,15,214,12,144                ; movq          %xmm1,(%r8,%rdx,4)
+  DB  235,154                             ; jmp           166b7 <_sk_srcover_rgba_8888_sse41+0x10f>
+  DB  102,65,15,110,4,144                 ; movd          (%r8,%rdx,4),%xmm0
+  DB  233,165,254,255,255                 ; jmpq          165cd <_sk_srcover_rgba_8888_sse41+0x25>
+  DB  102,65,15,126,12,144                ; movd          %xmm1,(%r8,%rdx,4)
+  DB  235,135                             ; jmp           166b7 <_sk_srcover_rgba_8888_sse41+0x10f>
+
+PUBLIC _sk_srcover_bgra_8888_sse41
+_sk_srcover_bgra_8888_sse41 LABEL PROC
+  DB  102,68,15,111,200                   ; movdqa        %xmm0,%xmm9
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,0,1,0,0                      ; jne           1684f <_sk_srcover_bgra_8888_sse41+0x11f>
+  DB  243,65,15,111,4,144                 ; movdqu        (%r8,%rdx,4),%xmm0
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  102,15,111,37,0,238,1,0             ; movdqa        0x1ee00(%rip),%xmm4        # 35560 <_sk_srcover_bgra_8888_sse2_lowp+0xd48>
+  DB  102,15,219,224                      ; pand          %xmm0,%xmm4
+  DB  15,91,244                           ; cvtdq2ps      %xmm4,%xmm6
+  DB  102,15,111,224                      ; movdqa        %xmm0,%xmm4
+  DB  102,15,56,0,37,252,237,1,0          ; pshufb        0x1edfc(%rip),%xmm4        # 35570 <_sk_srcover_bgra_8888_sse2_lowp+0xd58>
+  DB  15,91,236                           ; cvtdq2ps      %xmm4,%xmm5
+  DB  102,15,111,224                      ; movdqa        %xmm0,%xmm4
+  DB  102,15,56,0,37,252,237,1,0          ; pshufb        0x1edfc(%rip),%xmm4        # 35580 <_sk_srcover_bgra_8888_sse2_lowp+0xd68>
+  DB  69,15,87,219                        ; xorps         %xmm11,%xmm11
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  102,15,114,208,24                   ; psrld         $0x18,%xmm0
+  DB  15,91,248                           ; cvtdq2ps      %xmm0,%xmm7
+  DB  68,15,40,5,21,237,1,0               ; movaps        0x1ed15(%rip),%xmm8        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  68,15,92,195                        ; subps         %xmm3,%xmm8
+  DB  68,15,40,37,233,237,1,0             ; movaps        0x1ede9(%rip),%xmm12        # 35590 <_sk_srcover_bgra_8888_sse2_lowp+0xd78>
+  DB  69,15,89,204                        ; mulps         %xmm12,%xmm9
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  65,15,88,193                        ; addps         %xmm9,%xmm0
+  DB  65,15,89,204                        ; mulps         %xmm12,%xmm1
+  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
+  DB  68,15,89,205                        ; mulps         %xmm5,%xmm9
+  DB  68,15,88,201                        ; addps         %xmm1,%xmm9
+  DB  65,15,89,212                        ; mulps         %xmm12,%xmm2
+  DB  69,15,40,208                        ; movaps        %xmm8,%xmm10
+  DB  68,15,89,214                        ; mulps         %xmm6,%xmm10
+  DB  68,15,88,210                        ; addps         %xmm2,%xmm10
+  DB  65,15,89,220                        ; mulps         %xmm12,%xmm3
+  DB  68,15,89,199                        ; mulps         %xmm7,%xmm8
+  DB  68,15,88,195                        ; addps         %xmm3,%xmm8
+  DB  15,87,201                           ; xorps         %xmm1,%xmm1
+  DB  65,15,95,202                        ; maxps         %xmm10,%xmm1
+  DB  65,15,93,204                        ; minps         %xmm12,%xmm1
+  DB  102,15,91,201                       ; cvtps2dq      %xmm1,%xmm1
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  65,15,95,209                        ; maxps         %xmm9,%xmm2
+  DB  65,15,93,212                        ; minps         %xmm12,%xmm2
+  DB  102,15,91,210                       ; cvtps2dq      %xmm2,%xmm2
+  DB  102,15,114,242,8                    ; pslld         $0x8,%xmm2
+  DB  102,15,235,209                      ; por           %xmm1,%xmm2
+  DB  102,15,87,201                       ; xorpd         %xmm1,%xmm1
+  DB  15,95,200                           ; maxps         %xmm0,%xmm1
+  DB  65,15,93,204                        ; minps         %xmm12,%xmm1
+  DB  102,15,91,217                       ; cvtps2dq      %xmm1,%xmm3
+  DB  102,15,114,243,16                   ; pslld         $0x10,%xmm3
+  DB  69,15,95,216                        ; maxps         %xmm8,%xmm11
+  DB  69,15,93,220                        ; minps         %xmm12,%xmm11
+  DB  102,65,15,91,203                    ; cvtps2dq      %xmm11,%xmm1
+  DB  102,15,114,241,24                   ; pslld         $0x18,%xmm1
+  DB  102,15,235,203                      ; por           %xmm3,%xmm1
+  DB  102,15,235,202                      ; por           %xmm2,%xmm1
+  DB  117,75                              ; jne           16884 <_sk_srcover_bgra_8888_sse41+0x154>
+  DB  243,65,15,127,12,144                ; movdqu        %xmm1,(%r8,%rdx,4)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,201                        ; movaps        %xmm9,%xmm1
+  DB  65,15,40,210                        ; movaps        %xmm10,%xmm2
+  DB  65,15,40,216                        ; movaps        %xmm8,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,78                              ; je            168a5 <_sk_srcover_bgra_8888_sse41+0x175>
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,20                              ; je            16873 <_sk_srcover_bgra_8888_sse41+0x143>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  15,133,238,254,255,255              ; jne           16755 <_sk_srcover_bgra_8888_sse41+0x25>
+  DB  102,65,15,110,68,144,8              ; movd          0x8(%r8,%rdx,4),%xmm0
+  DB  102,15,112,192,69                   ; pshufd        $0x45,%xmm0,%xmm0
+  DB  243,65,15,126,36,144                ; movq          (%r8,%rdx,4),%xmm4
+  DB  102,15,58,14,196,15                 ; pblendw       $0xf,%xmm4,%xmm0
+  DB  233,209,254,255,255                 ; jmpq          16755 <_sk_srcover_bgra_8888_sse41+0x25>
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,36                              ; je            168b0 <_sk_srcover_bgra_8888_sse41+0x180>
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,13                              ; je            1689d <_sk_srcover_bgra_8888_sse41+0x16d>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,171                             ; jne           1683f <_sk_srcover_bgra_8888_sse41+0x10f>
+  DB  102,65,15,58,22,76,144,8,2          ; pextrd        $0x2,%xmm1,0x8(%r8,%rdx,4)
+  DB  102,65,15,214,12,144                ; movq          %xmm1,(%r8,%rdx,4)
+  DB  235,154                             ; jmp           1683f <_sk_srcover_bgra_8888_sse41+0x10f>
+  DB  102,65,15,110,4,144                 ; movd          (%r8,%rdx,4),%xmm0
+  DB  233,165,254,255,255                 ; jmpq          16755 <_sk_srcover_bgra_8888_sse41+0x25>
+  DB  102,65,15,126,12,144                ; movd          %xmm1,(%r8,%rdx,4)
+  DB  235,135                             ; jmp           1683f <_sk_srcover_bgra_8888_sse41+0x10f>
+
+PUBLIC _sk_clamp_0_sse41
+_sk_clamp_0_sse41 LABEL PROC
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  65,15,95,192                        ; maxps         %xmm8,%xmm0
+  DB  65,15,95,200                        ; maxps         %xmm8,%xmm1
+  DB  65,15,95,208                        ; maxps         %xmm8,%xmm2
+  DB  65,15,95,216                        ; maxps         %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_clamp_1_sse41
+_sk_clamp_1_sse41 LABEL PROC
+  DB  68,15,40,5,216,235,1,0              ; movaps        0x1ebd8(%rip),%xmm8        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  65,15,93,192                        ; minps         %xmm8,%xmm0
+  DB  65,15,93,200                        ; minps         %xmm8,%xmm1
+  DB  65,15,93,208                        ; minps         %xmm8,%xmm2
+  DB  65,15,93,216                        ; minps         %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_clamp_a_sse41
+_sk_clamp_a_sse41 LABEL PROC
+  DB  15,93,29,189,235,1,0                ; minps         0x1ebbd(%rip),%xmm3        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  15,93,195                           ; minps         %xmm3,%xmm0
+  DB  15,93,203                           ; minps         %xmm3,%xmm1
+  DB  15,93,211                           ; minps         %xmm3,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_clamp_a_dst_sse41
+_sk_clamp_a_dst_sse41 LABEL PROC
+  DB  15,93,61,169,235,1,0                ; minps         0x1eba9(%rip),%xmm7        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  15,93,231                           ; minps         %xmm7,%xmm4
+  DB  15,93,239                           ; minps         %xmm7,%xmm5
+  DB  15,93,247                           ; minps         %xmm7,%xmm6
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_set_rgb_sse41
+_sk_set_rgb_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,15,16,0                         ; movss         (%rax),%xmm0
+  DB  243,15,16,72,4                      ; movss         0x4(%rax),%xmm1
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
+  DB  243,15,16,80,8                      ; movss         0x8(%rax),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_swap_rb_sse41
+_sk_swap_rb_sse41 LABEL PROC
+  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,194                           ; movaps        %xmm2,%xmm0
+  DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_invert_sse41
+_sk_invert_sse41 LABEL PROC
+  DB  68,15,40,5,101,235,1,0              ; movaps        0x1eb65(%rip),%xmm8        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
+  DB  68,15,92,200                        ; subps         %xmm0,%xmm9
+  DB  69,15,40,208                        ; movaps        %xmm8,%xmm10
+  DB  68,15,92,209                        ; subps         %xmm1,%xmm10
+  DB  69,15,40,216                        ; movaps        %xmm8,%xmm11
+  DB  68,15,92,218                        ; subps         %xmm2,%xmm11
+  DB  68,15,92,195                        ; subps         %xmm3,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  65,15,40,202                        ; movaps        %xmm10,%xmm1
+  DB  65,15,40,211                        ; movaps        %xmm11,%xmm2
+  DB  65,15,40,216                        ; movaps        %xmm8,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_move_src_dst_sse41
+_sk_move_src_dst_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,224                           ; movaps        %xmm0,%xmm4
+  DB  15,40,233                           ; movaps        %xmm1,%xmm5
+  DB  15,40,242                           ; movaps        %xmm2,%xmm6
+  DB  15,40,251                           ; movaps        %xmm3,%xmm7
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_move_dst_src_sse41
+_sk_move_dst_src_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,196                           ; movaps        %xmm4,%xmm0
+  DB  15,40,205                           ; movaps        %xmm5,%xmm1
+  DB  15,40,214                           ; movaps        %xmm6,%xmm2
+  DB  15,40,223                           ; movaps        %xmm7,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_premul_sse41
+_sk_premul_sse41 LABEL PROC
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  15,89,203                           ; mulps         %xmm3,%xmm1
+  DB  15,89,211                           ; mulps         %xmm3,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_premul_dst_sse41
+_sk_premul_dst_sse41 LABEL PROC
+  DB  15,89,231                           ; mulps         %xmm7,%xmm4
+  DB  15,89,239                           ; mulps         %xmm7,%xmm5
+  DB  15,89,247                           ; mulps         %xmm7,%xmm6
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_unpremul_sse41
+_sk_unpremul_sse41 LABEL PROC
+  DB  68,15,40,5,243,234,1,0              ; movaps        0x1eaf3(%rip),%xmm8        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  68,15,94,195                        ; divps         %xmm3,%xmm8
+  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
+  DB  68,15,194,13,210,235,1,0,1          ; cmpltps       0x1ebd2(%rip),%xmm9        # 355a0 <_sk_srcover_bgra_8888_sse2_lowp+0xd88>
+  DB  69,15,84,200                        ; andps         %xmm8,%xmm9
+  DB  65,15,89,193                        ; mulps         %xmm9,%xmm0
+  DB  65,15,89,201                        ; mulps         %xmm9,%xmm1
+  DB  65,15,89,209                        ; mulps         %xmm9,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_force_opaque_sse41
+_sk_force_opaque_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,29,197,234,1,0                ; movaps        0x1eac5(%rip),%xmm3        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_force_opaque_dst_sse41
+_sk_force_opaque_dst_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,61,186,234,1,0                ; movaps        0x1eaba(%rip),%xmm7        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_from_srgb_sse41
+_sk_from_srgb_sse41 LABEL PROC
+  DB  68,15,40,29,176,235,1,0             ; movaps        0x1ebb0(%rip),%xmm11        # 355b0 <_sk_srcover_bgra_8888_sse2_lowp+0xd98>
+  DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
+  DB  69,15,89,203                        ; mulps         %xmm11,%xmm9
+  DB  68,15,40,208                        ; movaps        %xmm0,%xmm10
+  DB  69,15,89,210                        ; mulps         %xmm10,%xmm10
+  DB  68,15,40,37,24,235,1,0              ; movaps        0x1eb18(%rip),%xmm12        # 35530 <_sk_srcover_bgra_8888_sse2_lowp+0xd18>
+  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
+  DB  69,15,89,196                        ; mulps         %xmm12,%xmm8
+  DB  68,15,40,45,152,235,1,0             ; movaps        0x1eb98(%rip),%xmm13        # 355c0 <_sk_srcover_bgra_8888_sse2_lowp+0xda8>
+  DB  69,15,88,197                        ; addps         %xmm13,%xmm8
+  DB  69,15,89,194                        ; mulps         %xmm10,%xmm8
+  DB  68,15,40,53,152,235,1,0             ; movaps        0x1eb98(%rip),%xmm14        # 355d0 <_sk_srcover_bgra_8888_sse2_lowp+0xdb8>
+  DB  69,15,88,198                        ; addps         %xmm14,%xmm8
+  DB  68,15,40,61,156,235,1,0             ; movaps        0x1eb9c(%rip),%xmm15        # 355e0 <_sk_srcover_bgra_8888_sse2_lowp+0xdc8>
+  DB  65,15,194,199,1                     ; cmpltps       %xmm15,%xmm0
+  DB  102,69,15,56,20,193                 ; blendvps      %xmm0,%xmm9,%xmm8
+  DB  68,15,40,209                        ; movaps        %xmm1,%xmm10
+  DB  69,15,89,211                        ; mulps         %xmm11,%xmm10
+  DB  15,40,193                           ; movaps        %xmm1,%xmm0
+  DB  15,89,192                           ; mulps         %xmm0,%xmm0
+  DB  68,15,40,201                        ; movaps        %xmm1,%xmm9
+  DB  69,15,89,204                        ; mulps         %xmm12,%xmm9
+  DB  69,15,88,205                        ; addps         %xmm13,%xmm9
+  DB  68,15,89,200                        ; mulps         %xmm0,%xmm9
+  DB  69,15,88,206                        ; addps         %xmm14,%xmm9
+  DB  65,15,194,207,1                     ; cmpltps       %xmm15,%xmm1
+  DB  15,40,193                           ; movaps        %xmm1,%xmm0
+  DB  102,69,15,56,20,202                 ; blendvps      %xmm0,%xmm10,%xmm9
+  DB  68,15,89,218                        ; mulps         %xmm2,%xmm11
+  DB  68,15,40,210                        ; movaps        %xmm2,%xmm10
+  DB  69,15,89,210                        ; mulps         %xmm10,%xmm10
+  DB  68,15,89,226                        ; mulps         %xmm2,%xmm12
+  DB  69,15,88,229                        ; addps         %xmm13,%xmm12
+  DB  69,15,89,212                        ; mulps         %xmm12,%xmm10
+  DB  69,15,88,214                        ; addps         %xmm14,%xmm10
+  DB  65,15,194,215,1                     ; cmpltps       %xmm15,%xmm2
+  DB  15,40,194                           ; movaps        %xmm2,%xmm0
+  DB  102,69,15,56,20,211                 ; blendvps      %xmm0,%xmm11,%xmm10
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  65,15,40,201                        ; movaps        %xmm9,%xmm1
+  DB  65,15,40,210                        ; movaps        %xmm10,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_from_srgb_dst_sse41
+_sk_from_srgb_dst_sse41 LABEL PROC
+  DB  68,15,40,204                        ; movaps        %xmm4,%xmm9
+  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
+  DB  68,15,40,29,231,234,1,0             ; movaps        0x1eae7(%rip),%xmm11        # 355b0 <_sk_srcover_bgra_8888_sse2_lowp+0xd98>
+  DB  69,15,40,209                        ; movaps        %xmm9,%xmm10
+  DB  69,15,89,211                        ; mulps         %xmm11,%xmm10
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  15,89,192                           ; mulps         %xmm0,%xmm0
+  DB  68,15,40,37,80,234,1,0              ; movaps        0x1ea50(%rip),%xmm12        # 35530 <_sk_srcover_bgra_8888_sse2_lowp+0xd18>
+  DB  65,15,89,228                        ; mulps         %xmm12,%xmm4
+  DB  68,15,40,45,212,234,1,0             ; movaps        0x1ead4(%rip),%xmm13        # 355c0 <_sk_srcover_bgra_8888_sse2_lowp+0xda8>
+  DB  65,15,88,229                        ; addps         %xmm13,%xmm4
+  DB  15,89,224                           ; mulps         %xmm0,%xmm4
+  DB  68,15,40,53,213,234,1,0             ; movaps        0x1ead5(%rip),%xmm14        # 355d0 <_sk_srcover_bgra_8888_sse2_lowp+0xdb8>
+  DB  65,15,88,230                        ; addps         %xmm14,%xmm4
+  DB  68,15,40,61,217,234,1,0             ; movaps        0x1ead9(%rip),%xmm15        # 355e0 <_sk_srcover_bgra_8888_sse2_lowp+0xdc8>
+  DB  69,15,194,207,1                     ; cmpltps       %xmm15,%xmm9
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  102,65,15,56,20,226                 ; blendvps      %xmm0,%xmm10,%xmm4
+  DB  68,15,40,213                        ; movaps        %xmm5,%xmm10
+  DB  69,15,89,211                        ; mulps         %xmm11,%xmm10
+  DB  15,40,197                           ; movaps        %xmm5,%xmm0
+  DB  15,89,192                           ; mulps         %xmm0,%xmm0
+  DB  68,15,40,205                        ; movaps        %xmm5,%xmm9
+  DB  69,15,89,204                        ; mulps         %xmm12,%xmm9
+  DB  69,15,88,205                        ; addps         %xmm13,%xmm9
+  DB  68,15,89,200                        ; mulps         %xmm0,%xmm9
+  DB  69,15,88,206                        ; addps         %xmm14,%xmm9
+  DB  65,15,194,239,1                     ; cmpltps       %xmm15,%xmm5
+  DB  15,40,197                           ; movaps        %xmm5,%xmm0
+  DB  102,69,15,56,20,202                 ; blendvps      %xmm0,%xmm10,%xmm9
+  DB  68,15,89,222                        ; mulps         %xmm6,%xmm11
+  DB  68,15,40,214                        ; movaps        %xmm6,%xmm10
+  DB  69,15,89,210                        ; mulps         %xmm10,%xmm10
+  DB  68,15,89,230                        ; mulps         %xmm6,%xmm12
+  DB  69,15,88,229                        ; addps         %xmm13,%xmm12
+  DB  69,15,89,212                        ; mulps         %xmm12,%xmm10
+  DB  69,15,88,214                        ; addps         %xmm14,%xmm10
+  DB  65,15,194,247,1                     ; cmpltps       %xmm15,%xmm6
+  DB  15,40,198                           ; movaps        %xmm6,%xmm0
+  DB  102,69,15,56,20,211                 ; blendvps      %xmm0,%xmm11,%xmm10
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  65,15,40,233                        ; movaps        %xmm9,%xmm5
+  DB  65,15,40,242                        ; movaps        %xmm10,%xmm6
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_to_srgb_sse41
+_sk_to_srgb_sse41 LABEL PROC
+  DB  72,131,236,24                       ; sub           $0x18,%rsp
+  DB  15,41,60,36                         ; movaps        %xmm7,(%rsp)
+  DB  15,40,254                           ; movaps        %xmm6,%xmm7
+  DB  15,40,245                           ; movaps        %xmm5,%xmm6
+  DB  15,40,236                           ; movaps        %xmm4,%xmm5
+  DB  15,40,227                           ; movaps        %xmm3,%xmm4
+  DB  15,40,218                           ; movaps        %xmm2,%xmm3
+  DB  15,40,209                           ; movaps        %xmm1,%xmm2
+  DB  68,15,82,192                        ; rsqrtps       %xmm0,%xmm8
+  DB  68,15,40,29,74,234,1,0              ; movaps        0x1ea4a(%rip),%xmm11        # 355f0 <_sk_srcover_bgra_8888_sse2_lowp+0xdd8>
+  DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
+  DB  69,15,89,203                        ; mulps         %xmm11,%xmm9
+  DB  68,15,40,37,74,234,1,0              ; movaps        0x1ea4a(%rip),%xmm12        # 35600 <_sk_srcover_bgra_8888_sse2_lowp+0xde8>
+  DB  69,15,40,248                        ; movaps        %xmm8,%xmm15
+  DB  69,15,89,252                        ; mulps         %xmm12,%xmm15
+  DB  68,15,40,21,74,234,1,0              ; movaps        0x1ea4a(%rip),%xmm10        # 35610 <_sk_srcover_bgra_8888_sse2_lowp+0xdf8>
+  DB  69,15,88,250                        ; addps         %xmm10,%xmm15
+  DB  69,15,89,248                        ; mulps         %xmm8,%xmm15
+  DB  68,15,40,45,74,234,1,0              ; movaps        0x1ea4a(%rip),%xmm13        # 35620 <_sk_srcover_bgra_8888_sse2_lowp+0xe08>
+  DB  69,15,88,253                        ; addps         %xmm13,%xmm15
+  DB  68,15,40,53,78,234,1,0              ; movaps        0x1ea4e(%rip),%xmm14        # 35630 <_sk_srcover_bgra_8888_sse2_lowp+0xe18>
+  DB  69,15,88,198                        ; addps         %xmm14,%xmm8
+  DB  69,15,83,192                        ; rcpps         %xmm8,%xmm8
+  DB  69,15,89,199                        ; mulps         %xmm15,%xmm8
+  DB  68,15,40,61,74,234,1,0              ; movaps        0x1ea4a(%rip),%xmm15        # 35640 <_sk_srcover_bgra_8888_sse2_lowp+0xe28>
+  DB  65,15,194,199,1                     ; cmpltps       %xmm15,%xmm0
+  DB  102,69,15,56,20,193                 ; blendvps      %xmm0,%xmm9,%xmm8
+  DB  68,15,82,202                        ; rsqrtps       %xmm2,%xmm9
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  65,15,89,196                        ; mulps         %xmm12,%xmm0
+  DB  65,15,88,194                        ; addps         %xmm10,%xmm0
+  DB  65,15,89,193                        ; mulps         %xmm9,%xmm0
+  DB  65,15,88,197                        ; addps         %xmm13,%xmm0
+  DB  69,15,88,206                        ; addps         %xmm14,%xmm9
+  DB  69,15,83,201                        ; rcpps         %xmm9,%xmm9
+  DB  68,15,89,200                        ; mulps         %xmm0,%xmm9
+  DB  65,15,89,203                        ; mulps         %xmm11,%xmm1
+  DB  65,15,194,215,1                     ; cmpltps       %xmm15,%xmm2
+  DB  15,40,194                           ; movaps        %xmm2,%xmm0
+  DB  102,68,15,56,20,201                 ; blendvps      %xmm0,%xmm1,%xmm9
+  DB  15,82,195                           ; rsqrtps       %xmm3,%xmm0
+  DB  68,15,89,224                        ; mulps         %xmm0,%xmm12
+  DB  69,15,88,226                        ; addps         %xmm10,%xmm12
+  DB  68,15,89,224                        ; mulps         %xmm0,%xmm12
+  DB  69,15,88,229                        ; addps         %xmm13,%xmm12
+  DB  65,15,88,198                        ; addps         %xmm14,%xmm0
+  DB  68,15,83,208                        ; rcpps         %xmm0,%xmm10
+  DB  69,15,89,212                        ; mulps         %xmm12,%xmm10
+  DB  68,15,89,219                        ; mulps         %xmm3,%xmm11
+  DB  65,15,194,223,1                     ; cmpltps       %xmm15,%xmm3
+  DB  15,40,195                           ; movaps        %xmm3,%xmm0
+  DB  102,69,15,56,20,211                 ; blendvps      %xmm0,%xmm11,%xmm10
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  65,15,40,201                        ; movaps        %xmm9,%xmm1
+  DB  65,15,40,210                        ; movaps        %xmm10,%xmm2
+  DB  15,40,220                           ; movaps        %xmm4,%xmm3
+  DB  15,40,229                           ; movaps        %xmm5,%xmm4
+  DB  15,40,238                           ; movaps        %xmm6,%xmm5
+  DB  15,40,247                           ; movaps        %xmm7,%xmm6
+  DB  15,40,60,36                         ; movaps        (%rsp),%xmm7
+  DB  72,131,196,24                       ; add           $0x18,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_rgb_to_hsl_sse41
+_sk_rgb_to_hsl_sse41 LABEL PROC
+  DB  68,15,40,201                        ; movaps        %xmm1,%xmm9
+  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  15,95,194                           ; maxps         %xmm2,%xmm0
+  DB  69,15,40,216                        ; movaps        %xmm8,%xmm11
+  DB  68,15,95,216                        ; maxps         %xmm0,%xmm11
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  15,93,194                           ; minps         %xmm2,%xmm0
+  DB  69,15,40,224                        ; movaps        %xmm8,%xmm12
+  DB  68,15,93,224                        ; minps         %xmm0,%xmm12
+  DB  65,15,40,203                        ; movaps        %xmm11,%xmm1
+  DB  65,15,92,204                        ; subps         %xmm12,%xmm1
+  DB  68,15,40,53,238,231,1,0             ; movaps        0x1e7ee(%rip),%xmm14        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  68,15,94,241                        ; divps         %xmm1,%xmm14
+  DB  69,15,40,211                        ; movaps        %xmm11,%xmm10
+  DB  69,15,194,208,0                     ; cmpeqps       %xmm8,%xmm10
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  15,92,194                           ; subps         %xmm2,%xmm0
+  DB  65,15,89,198                        ; mulps         %xmm14,%xmm0
+  DB  69,15,40,249                        ; movaps        %xmm9,%xmm15
+  DB  68,15,194,250,1                     ; cmpltps       %xmm2,%xmm15
+  DB  68,15,84,61,101,233,1,0             ; andps         0x1e965(%rip),%xmm15        # 35650 <_sk_srcover_bgra_8888_sse2_lowp+0xe38>
+  DB  68,15,88,248                        ; addps         %xmm0,%xmm15
+  DB  65,15,40,195                        ; movaps        %xmm11,%xmm0
+  DB  65,15,194,193,0                     ; cmpeqps       %xmm9,%xmm0
+  DB  65,15,92,208                        ; subps         %xmm8,%xmm2
+  DB  65,15,89,214                        ; mulps         %xmm14,%xmm2
+  DB  68,15,40,45,88,233,1,0              ; movaps        0x1e958(%rip),%xmm13        # 35660 <_sk_srcover_bgra_8888_sse2_lowp+0xe48>
+  DB  65,15,88,213                        ; addps         %xmm13,%xmm2
+  DB  69,15,92,193                        ; subps         %xmm9,%xmm8
+  DB  69,15,89,198                        ; mulps         %xmm14,%xmm8
+  DB  68,15,88,5,84,233,1,0               ; addps         0x1e954(%rip),%xmm8        # 35670 <_sk_srcover_bgra_8888_sse2_lowp+0xe58>
+  DB  102,68,15,56,20,194                 ; blendvps      %xmm0,%xmm2,%xmm8
+  DB  65,15,40,194                        ; movaps        %xmm10,%xmm0
+  DB  102,69,15,56,20,199                 ; blendvps      %xmm0,%xmm15,%xmm8
+  DB  68,15,89,5,76,233,1,0               ; mulps         0x1e94c(%rip),%xmm8        # 35680 <_sk_srcover_bgra_8888_sse2_lowp+0xe68>
+  DB  69,15,40,203                        ; movaps        %xmm11,%xmm9
+  DB  69,15,194,204,4                     ; cmpneqps      %xmm12,%xmm9
+  DB  69,15,84,193                        ; andps         %xmm9,%xmm8
+  DB  69,15,92,235                        ; subps         %xmm11,%xmm13
+  DB  69,15,88,220                        ; addps         %xmm12,%xmm11
+  DB  15,40,5,80,231,1,0                  ; movaps        0x1e750(%rip),%xmm0        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  65,15,40,211                        ; movaps        %xmm11,%xmm2
+  DB  15,89,208                           ; mulps         %xmm0,%xmm2
+  DB  15,194,194,1                        ; cmpltps       %xmm2,%xmm0
+  DB  69,15,92,236                        ; subps         %xmm12,%xmm13
+  DB  102,69,15,56,20,221                 ; blendvps      %xmm0,%xmm13,%xmm11
+  DB  65,15,94,203                        ; divps         %xmm11,%xmm1
+  DB  65,15,84,201                        ; andps         %xmm9,%xmm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_hsl_to_rgb_sse41
+_sk_hsl_to_rgb_sse41 LABEL PROC
+  DB  72,131,236,104                      ; sub           $0x68,%rsp
+  DB  15,41,124,36,80                     ; movaps        %xmm7,0x50(%rsp)
+  DB  15,41,116,36,64                     ; movaps        %xmm6,0x40(%rsp)
+  DB  15,41,108,36,48                     ; movaps        %xmm5,0x30(%rsp)
+  DB  15,41,100,36,32                     ; movaps        %xmm4,0x20(%rsp)
+  DB  15,41,92,36,16                      ; movaps        %xmm3,0x10(%rsp)
+  DB  68,15,40,208                        ; movaps        %xmm0,%xmm10
+  DB  68,15,40,13,2,231,1,0               ; movaps        0x1e702(%rip),%xmm9        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  15,194,194,2                        ; cmpleps       %xmm2,%xmm0
+  DB  15,40,217                           ; movaps        %xmm1,%xmm3
+  DB  15,40,233                           ; movaps        %xmm1,%xmm5
+  DB  15,89,234                           ; mulps         %xmm2,%xmm5
+  DB  15,92,221                           ; subps         %xmm5,%xmm3
+  DB  102,15,56,20,235                    ; blendvps      %xmm0,%xmm3,%xmm5
+  DB  15,88,234                           ; addps         %xmm2,%xmm5
+  DB  68,15,40,194                        ; movaps        %xmm2,%xmm8
+  DB  15,41,20,36                         ; movaps        %xmm2,(%rsp)
+  DB  69,15,88,192                        ; addps         %xmm8,%xmm8
+  DB  68,15,92,197                        ; subps         %xmm5,%xmm8
+  DB  68,15,40,53,190,232,1,0             ; movaps        0x1e8be(%rip),%xmm14        # 35690 <_sk_srcover_bgra_8888_sse2_lowp+0xe78>
+  DB  69,15,88,242                        ; addps         %xmm10,%xmm14
+  DB  102,65,15,58,8,198,1                ; roundps       $0x1,%xmm14,%xmm0
+  DB  68,15,92,240                        ; subps         %xmm0,%xmm14
+  DB  68,15,40,29,183,232,1,0             ; movaps        0x1e8b7(%rip),%xmm11        # 356a0 <_sk_srcover_bgra_8888_sse2_lowp+0xe88>
+  DB  65,15,40,195                        ; movaps        %xmm11,%xmm0
+  DB  65,15,194,198,2                     ; cmpleps       %xmm14,%xmm0
+  DB  15,40,245                           ; movaps        %xmm5,%xmm6
+  DB  65,15,92,240                        ; subps         %xmm8,%xmm6
+  DB  15,40,61,80,232,1,0                 ; movaps        0x1e850(%rip),%xmm7        # 35650 <_sk_srcover_bgra_8888_sse2_lowp+0xe38>
+  DB  69,15,40,238                        ; movaps        %xmm14,%xmm13
+  DB  68,15,89,239                        ; mulps         %xmm7,%xmm13
+  DB  15,40,29,97,232,1,0                 ; movaps        0x1e861(%rip),%xmm3        # 35670 <_sk_srcover_bgra_8888_sse2_lowp+0xe58>
+  DB  68,15,40,227                        ; movaps        %xmm3,%xmm12
+  DB  69,15,92,229                        ; subps         %xmm13,%xmm12
+  DB  68,15,89,230                        ; mulps         %xmm6,%xmm12
+  DB  69,15,88,224                        ; addps         %xmm8,%xmm12
+  DB  102,69,15,56,20,224                 ; blendvps      %xmm0,%xmm8,%xmm12
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  65,15,194,198,2                     ; cmpleps       %xmm14,%xmm0
+  DB  68,15,40,253                        ; movaps        %xmm5,%xmm15
+  DB  102,69,15,56,20,252                 ; blendvps      %xmm0,%xmm12,%xmm15
+  DB  68,15,40,37,64,232,1,0              ; movaps        0x1e840(%rip),%xmm12        # 35680 <_sk_srcover_bgra_8888_sse2_lowp+0xe68>
+  DB  65,15,40,196                        ; movaps        %xmm12,%xmm0
+  DB  65,15,194,198,2                     ; cmpleps       %xmm14,%xmm0
+  DB  68,15,89,238                        ; mulps         %xmm6,%xmm13
+  DB  69,15,88,232                        ; addps         %xmm8,%xmm13
+  DB  102,69,15,56,20,239                 ; blendvps      %xmm0,%xmm15,%xmm13
+  DB  69,15,87,246                        ; xorps         %xmm14,%xmm14
+  DB  68,15,194,241,0                     ; cmpeqps       %xmm1,%xmm14
+  DB  65,15,40,198                        ; movaps        %xmm14,%xmm0
+  DB  102,68,15,56,20,234                 ; blendvps      %xmm0,%xmm2,%xmm13
+  DB  102,65,15,58,8,194,1                ; roundps       $0x1,%xmm10,%xmm0
+  DB  69,15,40,250                        ; movaps        %xmm10,%xmm15
+  DB  68,15,92,248                        ; subps         %xmm0,%xmm15
+  DB  65,15,40,195                        ; movaps        %xmm11,%xmm0
+  DB  65,15,194,199,2                     ; cmpleps       %xmm15,%xmm0
+  DB  65,15,40,207                        ; movaps        %xmm15,%xmm1
+  DB  15,89,207                           ; mulps         %xmm7,%xmm1
+  DB  15,40,211                           ; movaps        %xmm3,%xmm2
+  DB  15,92,209                           ; subps         %xmm1,%xmm2
+  DB  15,89,214                           ; mulps         %xmm6,%xmm2
+  DB  65,15,88,208                        ; addps         %xmm8,%xmm2
+  DB  102,65,15,56,20,208                 ; blendvps      %xmm0,%xmm8,%xmm2
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  65,15,194,199,2                     ; cmpleps       %xmm15,%xmm0
+  DB  15,40,229                           ; movaps        %xmm5,%xmm4
+  DB  102,15,56,20,226                    ; blendvps      %xmm0,%xmm2,%xmm4
+  DB  65,15,40,196                        ; movaps        %xmm12,%xmm0
+  DB  65,15,194,199,2                     ; cmpleps       %xmm15,%xmm0
+  DB  15,89,206                           ; mulps         %xmm6,%xmm1
+  DB  65,15,88,200                        ; addps         %xmm8,%xmm1
+  DB  102,15,56,20,204                    ; blendvps      %xmm0,%xmm4,%xmm1
+  DB  65,15,40,198                        ; movaps        %xmm14,%xmm0
+  DB  15,40,20,36                         ; movaps        (%rsp),%xmm2
+  DB  102,15,56,20,202                    ; blendvps      %xmm0,%xmm2,%xmm1
+  DB  68,15,88,21,217,231,1,0             ; addps         0x1e7d9(%rip),%xmm10        # 356b0 <_sk_srcover_bgra_8888_sse2_lowp+0xe98>
+  DB  102,65,15,58,8,194,1                ; roundps       $0x1,%xmm10,%xmm0
+  DB  68,15,92,208                        ; subps         %xmm0,%xmm10
+  DB  69,15,194,218,2                     ; cmpleps       %xmm10,%xmm11
+  DB  65,15,89,250                        ; mulps         %xmm10,%xmm7
+  DB  15,92,223                           ; subps         %xmm7,%xmm3
+  DB  15,89,222                           ; mulps         %xmm6,%xmm3
+  DB  65,15,88,216                        ; addps         %xmm8,%xmm3
+  DB  65,15,40,195                        ; movaps        %xmm11,%xmm0
+  DB  102,65,15,56,20,216                 ; blendvps      %xmm0,%xmm8,%xmm3
+  DB  69,15,194,202,2                     ; cmpleps       %xmm10,%xmm9
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  102,15,56,20,235                    ; blendvps      %xmm0,%xmm3,%xmm5
+  DB  69,15,194,226,2                     ; cmpleps       %xmm10,%xmm12
+  DB  15,89,254                           ; mulps         %xmm6,%xmm7
+  DB  68,15,88,199                        ; addps         %xmm7,%xmm8
+  DB  65,15,40,196                        ; movaps        %xmm12,%xmm0
+  DB  102,68,15,56,20,197                 ; blendvps      %xmm0,%xmm5,%xmm8
+  DB  65,15,40,198                        ; movaps        %xmm14,%xmm0
+  DB  102,68,15,56,20,194                 ; blendvps      %xmm0,%xmm2,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,197                        ; movaps        %xmm13,%xmm0
+  DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
+  DB  15,40,92,36,16                      ; movaps        0x10(%rsp),%xmm3
+  DB  15,40,100,36,32                     ; movaps        0x20(%rsp),%xmm4
+  DB  15,40,108,36,48                     ; movaps        0x30(%rsp),%xmm5
+  DB  15,40,116,36,64                     ; movaps        0x40(%rsp),%xmm6
+  DB  15,40,124,36,80                     ; movaps        0x50(%rsp),%xmm7
+  DB  72,131,196,104                      ; add           $0x68,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_scale_1_float_sse41
+_sk_scale_1_float_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,0                      ; movss         (%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
+  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
+  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_scale_u8_sse41
+_sk_scale_u8_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,52                              ; jne           16fbc <_sk_scale_u8_sse41+0x46>
+  DB  102,69,15,56,49,4,16                ; pmovzxbd      (%r8,%rdx,1),%xmm8
+  DB  102,68,15,219,5,200,229,1,0         ; pand          0x1e5c8(%rip),%xmm8        # 35560 <_sk_srcover_bgra_8888_sse2_lowp+0xd48>
+  DB  69,15,91,192                        ; cvtdq2ps      %xmm8,%xmm8
+  DB  68,15,89,5,28,231,1,0               ; mulps         0x1e71c(%rip),%xmm8        # 356c0 <_sk_srcover_bgra_8888_sse2_lowp+0xea8>
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
+  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
+  DB  68,15,89,195                        ; mulps         %xmm3,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,216                        ; movaps        %xmm8,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,55                              ; je            16ffb <_sk_scale_u8_sse41+0x85>
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,21                              ; je            16fe2 <_sk_scale_u8_sse41+0x6c>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,190                             ; jne           16f8f <_sk_scale_u8_sse41+0x19>
+  DB  65,15,182,68,16,2                   ; movzbl        0x2(%r8,%rdx,1),%eax
+  DB  102,68,15,110,192                   ; movd          %eax,%xmm8
+  DB  102,69,15,112,192,69                ; pshufd        $0x45,%xmm8,%xmm8
+  DB  65,15,183,4,16                      ; movzwl        (%r8,%rdx,1),%eax
+  DB  102,68,15,110,200                   ; movd          %eax,%xmm9
+  DB  102,69,15,56,49,201                 ; pmovzxbd      %xmm9,%xmm9
+  DB  102,69,15,58,14,193,15              ; pblendw       $0xf,%xmm9,%xmm8
+  DB  235,148                             ; jmp           16f8f <_sk_scale_u8_sse41+0x19>
+  DB  65,15,182,4,16                      ; movzbl        (%r8,%rdx,1),%eax
+  DB  102,68,15,110,192                   ; movd          %eax,%xmm8
+  DB  235,136                             ; jmp           16f8f <_sk_scale_u8_sse41+0x19>
+
+PUBLIC _sk_scale_565_sse41
+_sk_scale_565_sse41 LABEL PROC
+  DB  102,68,15,111,192                   ; movdqa        %xmm0,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,159,0,0,0                    ; jne           170c4 <_sk_scale_565_sse41+0xbd>
+  DB  102,69,15,56,51,28,80               ; pmovzxwd      (%r8,%rdx,2),%xmm11
+  DB  102,15,111,5,156,230,1,0            ; movdqa        0x1e69c(%rip),%xmm0        # 356d0 <_sk_srcover_bgra_8888_sse2_lowp+0xeb8>
+  DB  102,65,15,219,195                   ; pand          %xmm11,%xmm0
+  DB  68,15,91,200                        ; cvtdq2ps      %xmm0,%xmm9
+  DB  68,15,89,13,155,230,1,0             ; mulps         0x1e69b(%rip),%xmm9        # 356e0 <_sk_srcover_bgra_8888_sse2_lowp+0xec8>
+  DB  102,15,111,5,163,230,1,0            ; movdqa        0x1e6a3(%rip),%xmm0        # 356f0 <_sk_srcover_bgra_8888_sse2_lowp+0xed8>
+  DB  102,65,15,219,195                   ; pand          %xmm11,%xmm0
+  DB  68,15,91,208                        ; cvtdq2ps      %xmm0,%xmm10
+  DB  68,15,89,21,162,230,1,0             ; mulps         0x1e6a2(%rip),%xmm10        # 35700 <_sk_srcover_bgra_8888_sse2_lowp+0xee8>
+  DB  102,68,15,219,29,169,230,1,0        ; pand          0x1e6a9(%rip),%xmm11        # 35710 <_sk_srcover_bgra_8888_sse2_lowp+0xef8>
+  DB  69,15,91,219                        ; cvtdq2ps      %xmm11,%xmm11
+  DB  68,15,89,29,173,230,1,0             ; mulps         0x1e6ad(%rip),%xmm11        # 35720 <_sk_srcover_bgra_8888_sse2_lowp+0xf08>
+  DB  15,40,195                           ; movaps        %xmm3,%xmm0
+  DB  15,194,199,1                        ; cmpltps       %xmm7,%xmm0
+  DB  69,15,40,226                        ; movaps        %xmm10,%xmm12
+  DB  69,15,93,227                        ; minps         %xmm11,%xmm12
+  DB  69,15,40,233                        ; movaps        %xmm9,%xmm13
+  DB  69,15,93,236                        ; minps         %xmm12,%xmm13
+  DB  69,15,40,242                        ; movaps        %xmm10,%xmm14
+  DB  69,15,95,243                        ; maxps         %xmm11,%xmm14
+  DB  69,15,40,225                        ; movaps        %xmm9,%xmm12
+  DB  69,15,95,230                        ; maxps         %xmm14,%xmm12
+  DB  102,69,15,56,20,229                 ; blendvps      %xmm0,%xmm13,%xmm12
+  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
+  DB  68,15,89,209                        ; mulps         %xmm1,%xmm10
+  DB  68,15,89,218                        ; mulps         %xmm2,%xmm11
+  DB  68,15,89,227                        ; mulps         %xmm3,%xmm12
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  65,15,40,202                        ; movaps        %xmm10,%xmm1
+  DB  65,15,40,211                        ; movaps        %xmm11,%xmm2
+  DB  65,15,40,220                        ; movaps        %xmm12,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,56                              ; je            17104 <_sk_scale_565_sse41+0xfd>
+  DB  102,69,15,239,219                   ; pxor          %xmm11,%xmm11
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,24                              ; je            170ed <_sk_scale_565_sse41+0xe6>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  15,133,79,255,255,255               ; jne           1702c <_sk_scale_565_sse41+0x25>
+  DB  65,15,183,68,80,4                   ; movzwl        0x4(%r8,%rdx,2),%eax
+  DB  102,15,110,192                      ; movd          %eax,%xmm0
+  DB  102,68,15,112,216,69                ; pshufd        $0x45,%xmm0,%xmm11
+  DB  102,65,15,110,4,80                  ; movd          (%r8,%rdx,2),%xmm0
+  DB  102,15,56,51,192                    ; pmovzxwd      %xmm0,%xmm0
+  DB  102,68,15,58,14,216,15              ; pblendw       $0xf,%xmm0,%xmm11
+  DB  233,40,255,255,255                  ; jmpq          1702c <_sk_scale_565_sse41+0x25>
+  DB  65,15,183,4,80                      ; movzwl        (%r8,%rdx,2),%eax
+  DB  102,68,15,110,216                   ; movd          %eax,%xmm11
+  DB  233,25,255,255,255                  ; jmpq          1702c <_sk_scale_565_sse41+0x25>
+
+PUBLIC _sk_lerp_1_float_sse41
+_sk_lerp_1_float_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,0                      ; movss         (%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  15,92,196                           ; subps         %xmm4,%xmm0
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  15,88,196                           ; addps         %xmm4,%xmm0
+  DB  15,92,205                           ; subps         %xmm5,%xmm1
+  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
+  DB  15,88,205                           ; addps         %xmm5,%xmm1
+  DB  15,92,214                           ; subps         %xmm6,%xmm2
+  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
+  DB  15,88,214                           ; addps         %xmm6,%xmm2
+  DB  15,92,223                           ; subps         %xmm7,%xmm3
+  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
+  DB  15,88,223                           ; addps         %xmm7,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_lerp_u8_sse41
+_sk_lerp_u8_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,72                              ; jne           171a5 <_sk_lerp_u8_sse41+0x5a>
+  DB  102,69,15,56,49,4,16                ; pmovzxbd      (%r8,%rdx,1),%xmm8
+  DB  102,68,15,219,5,243,227,1,0         ; pand          0x1e3f3(%rip),%xmm8        # 35560 <_sk_srcover_bgra_8888_sse2_lowp+0xd48>
+  DB  69,15,91,192                        ; cvtdq2ps      %xmm8,%xmm8
+  DB  68,15,89,5,71,229,1,0               ; mulps         0x1e547(%rip),%xmm8        # 356c0 <_sk_srcover_bgra_8888_sse2_lowp+0xea8>
+  DB  15,92,196                           ; subps         %xmm4,%xmm0
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  15,88,196                           ; addps         %xmm4,%xmm0
+  DB  15,92,205                           ; subps         %xmm5,%xmm1
+  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
+  DB  15,88,205                           ; addps         %xmm5,%xmm1
+  DB  15,92,214                           ; subps         %xmm6,%xmm2
+  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
+  DB  15,88,214                           ; addps         %xmm6,%xmm2
+  DB  15,92,223                           ; subps         %xmm7,%xmm3
+  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
+  DB  15,88,223                           ; addps         %xmm7,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,55                              ; je            171e4 <_sk_lerp_u8_sse41+0x99>
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,21                              ; je            171cb <_sk_lerp_u8_sse41+0x80>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,170                             ; jne           17164 <_sk_lerp_u8_sse41+0x19>
+  DB  65,15,182,68,16,2                   ; movzbl        0x2(%r8,%rdx,1),%eax
+  DB  102,68,15,110,192                   ; movd          %eax,%xmm8
+  DB  102,69,15,112,192,69                ; pshufd        $0x45,%xmm8,%xmm8
+  DB  65,15,183,4,16                      ; movzwl        (%r8,%rdx,1),%eax
+  DB  102,68,15,110,200                   ; movd          %eax,%xmm9
+  DB  102,69,15,56,49,201                 ; pmovzxbd      %xmm9,%xmm9
+  DB  102,69,15,58,14,193,15              ; pblendw       $0xf,%xmm9,%xmm8
+  DB  235,128                             ; jmp           17164 <_sk_lerp_u8_sse41+0x19>
+  DB  65,15,182,4,16                      ; movzbl        (%r8,%rdx,1),%eax
+  DB  102,68,15,110,192                   ; movd          %eax,%xmm8
+  DB  233,113,255,255,255                 ; jmpq          17164 <_sk_lerp_u8_sse41+0x19>
+
+PUBLIC _sk_lerp_565_sse41
+_sk_lerp_565_sse41 LABEL PROC
+  DB  102,68,15,111,192                   ; movdqa        %xmm0,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,165,0,0,0                    ; jne           172b6 <_sk_lerp_565_sse41+0xc3>
+  DB  102,69,15,56,51,20,80               ; pmovzxwd      (%r8,%rdx,2),%xmm10
+  DB  102,15,111,5,176,228,1,0            ; movdqa        0x1e4b0(%rip),%xmm0        # 356d0 <_sk_srcover_bgra_8888_sse2_lowp+0xeb8>
+  DB  102,65,15,219,194                   ; pand          %xmm10,%xmm0
+  DB  68,15,91,200                        ; cvtdq2ps      %xmm0,%xmm9
+  DB  68,15,89,13,175,228,1,0             ; mulps         0x1e4af(%rip),%xmm9        # 356e0 <_sk_srcover_bgra_8888_sse2_lowp+0xec8>
+  DB  102,15,111,5,183,228,1,0            ; movdqa        0x1e4b7(%rip),%xmm0        # 356f0 <_sk_srcover_bgra_8888_sse2_lowp+0xed8>
+  DB  102,65,15,219,194                   ; pand          %xmm10,%xmm0
+  DB  68,15,91,216                        ; cvtdq2ps      %xmm0,%xmm11
+  DB  68,15,89,29,182,228,1,0             ; mulps         0x1e4b6(%rip),%xmm11        # 35700 <_sk_srcover_bgra_8888_sse2_lowp+0xee8>
+  DB  102,68,15,219,21,189,228,1,0        ; pand          0x1e4bd(%rip),%xmm10        # 35710 <_sk_srcover_bgra_8888_sse2_lowp+0xef8>
+  DB  69,15,91,210                        ; cvtdq2ps      %xmm10,%xmm10
+  DB  68,15,89,21,193,228,1,0             ; mulps         0x1e4c1(%rip),%xmm10        # 35720 <_sk_srcover_bgra_8888_sse2_lowp+0xf08>
+  DB  15,40,195                           ; movaps        %xmm3,%xmm0
+  DB  15,194,199,1                        ; cmpltps       %xmm7,%xmm0
+  DB  69,15,40,227                        ; movaps        %xmm11,%xmm12
+  DB  15,92,205                           ; subps         %xmm5,%xmm1
+  DB  65,15,89,203                        ; mulps         %xmm11,%xmm1
+  DB  69,15,93,218                        ; minps         %xmm10,%xmm11
+  DB  69,15,40,233                        ; movaps        %xmm9,%xmm13
+  DB  68,15,92,196                        ; subps         %xmm4,%xmm8
+  DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
+  DB  69,15,93,203                        ; minps         %xmm11,%xmm9
+  DB  69,15,95,226                        ; maxps         %xmm10,%xmm12
+  DB  69,15,95,236                        ; maxps         %xmm12,%xmm13
+  DB  102,69,15,56,20,233                 ; blendvps      %xmm0,%xmm9,%xmm13
+  DB  68,15,88,196                        ; addps         %xmm4,%xmm8
+  DB  15,88,205                           ; addps         %xmm5,%xmm1
+  DB  15,92,214                           ; subps         %xmm6,%xmm2
+  DB  65,15,89,210                        ; mulps         %xmm10,%xmm2
+  DB  15,88,214                           ; addps         %xmm6,%xmm2
+  DB  15,92,223                           ; subps         %xmm7,%xmm3
+  DB  65,15,89,221                        ; mulps         %xmm13,%xmm3
+  DB  15,88,223                           ; addps         %xmm7,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,56                              ; je            172f6 <_sk_lerp_565_sse41+0x103>
+  DB  102,69,15,239,210                   ; pxor          %xmm10,%xmm10
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,24                              ; je            172df <_sk_lerp_565_sse41+0xec>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  15,133,73,255,255,255               ; jne           17218 <_sk_lerp_565_sse41+0x25>
+  DB  65,15,183,68,80,4                   ; movzwl        0x4(%r8,%rdx,2),%eax
+  DB  102,15,110,192                      ; movd          %eax,%xmm0
+  DB  102,68,15,112,208,69                ; pshufd        $0x45,%xmm0,%xmm10
+  DB  102,65,15,110,4,80                  ; movd          (%r8,%rdx,2),%xmm0
+  DB  102,15,56,51,192                    ; pmovzxwd      %xmm0,%xmm0
+  DB  102,68,15,58,14,208,15              ; pblendw       $0xf,%xmm0,%xmm10
+  DB  233,34,255,255,255                  ; jmpq          17218 <_sk_lerp_565_sse41+0x25>
+  DB  65,15,183,4,80                      ; movzwl        (%r8,%rdx,2),%eax
+  DB  102,68,15,110,208                   ; movd          %eax,%xmm10
+  DB  233,19,255,255,255                  ; jmpq          17218 <_sk_lerp_565_sse41+0x25>
+
+PUBLIC _sk_load_tables_sse41
+_sk_load_tables_sse41 LABEL PROC
+  DB  65,86                               ; push          %r14
+  DB  83                                  ; push          %rbx
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,17,1,0,0                     ; jne           17427 <_sk_load_tables_sse41+0x122>
+  DB  243,69,15,111,4,144                 ; movdqu        (%r8,%rdx,4),%xmm8
+  DB  102,15,111,5,60,226,1,0             ; movdqa        0x1e23c(%rip),%xmm0        # 35560 <_sk_srcover_bgra_8888_sse2_lowp+0xd48>
+  DB  102,65,15,219,192                   ; pand          %xmm8,%xmm0
+  DB  102,73,15,58,22,192,1               ; pextrq        $0x1,%xmm0,%r8
+  DB  102,73,15,126,193                   ; movq          %xmm0,%r9
+  DB  69,15,182,209                       ; movzbl        %r9b,%r10d
+  DB  73,193,233,30                       ; shr           $0x1e,%r9
+  DB  69,15,182,216                       ; movzbl        %r8b,%r11d
+  DB  73,193,232,30                       ; shr           $0x1e,%r8
+  DB  72,139,88,8                         ; mov           0x8(%rax),%rbx
+  DB  76,139,112,16                       ; mov           0x10(%rax),%r14
+  DB  243,66,15,16,4,147                  ; movss         (%rbx,%r10,4),%xmm0
+  DB  102,66,15,58,33,4,11,16             ; insertps      $0x10,(%rbx,%r9,1),%xmm0
+  DB  102,66,15,58,33,4,155,32            ; insertps      $0x20,(%rbx,%r11,4),%xmm0
+  DB  102,66,15,58,33,4,3,48              ; insertps      $0x30,(%rbx,%r8,1),%xmm0
+  DB  102,65,15,111,200                   ; movdqa        %xmm8,%xmm1
+  DB  102,15,56,0,13,247,225,1,0          ; pshufb        0x1e1f7(%rip),%xmm1        # 35570 <_sk_srcover_bgra_8888_sse2_lowp+0xd58>
+  DB  102,73,15,58,22,200,1               ; pextrq        $0x1,%xmm1,%r8
+  DB  102,72,15,126,203                   ; movq          %xmm1,%rbx
+  DB  68,15,182,203                       ; movzbl        %bl,%r9d
+  DB  72,193,235,30                       ; shr           $0x1e,%rbx
+  DB  69,15,182,208                       ; movzbl        %r8b,%r10d
+  DB  73,193,232,30                       ; shr           $0x1e,%r8
+  DB  243,67,15,16,12,142                 ; movss         (%r14,%r9,4),%xmm1
+  DB  102,65,15,58,33,12,30,16            ; insertps      $0x10,(%r14,%rbx,1),%xmm1
+  DB  243,67,15,16,20,150                 ; movss         (%r14,%r10,4),%xmm2
+  DB  102,15,58,33,202,32                 ; insertps      $0x20,%xmm2,%xmm1
+  DB  243,67,15,16,20,6                   ; movss         (%r14,%r8,1),%xmm2
+  DB  102,15,58,33,202,48                 ; insertps      $0x30,%xmm2,%xmm1
+  DB  76,139,64,24                        ; mov           0x18(%rax),%r8
+  DB  102,65,15,111,208                   ; movdqa        %xmm8,%xmm2
+  DB  102,15,56,0,21,179,225,1,0          ; pshufb        0x1e1b3(%rip),%xmm2        # 35580 <_sk_srcover_bgra_8888_sse2_lowp+0xd68>
+  DB  102,72,15,58,22,211,1               ; pextrq        $0x1,%xmm2,%rbx
+  DB  102,72,15,126,208                   ; movq          %xmm2,%rax
+  DB  68,15,182,200                       ; movzbl        %al,%r9d
+  DB  72,193,232,30                       ; shr           $0x1e,%rax
+  DB  68,15,182,211                       ; movzbl        %bl,%r10d
+  DB  72,193,235,30                       ; shr           $0x1e,%rbx
+  DB  243,67,15,16,20,136                 ; movss         (%r8,%r9,4),%xmm2
+  DB  102,65,15,58,33,20,0,16             ; insertps      $0x10,(%r8,%rax,1),%xmm2
+  DB  243,67,15,16,28,144                 ; movss         (%r8,%r10,4),%xmm3
+  DB  102,15,58,33,211,32                 ; insertps      $0x20,%xmm3,%xmm2
+  DB  243,65,15,16,28,24                  ; movss         (%r8,%rbx,1),%xmm3
+  DB  102,15,58,33,211,48                 ; insertps      $0x30,%xmm3,%xmm2
+  DB  102,65,15,114,208,24                ; psrld         $0x18,%xmm8
+  DB  65,15,91,216                        ; cvtdq2ps      %xmm8,%xmm3
+  DB  15,89,29,160,226,1,0                ; mulps         0x1e2a0(%rip),%xmm3        # 356c0 <_sk_srcover_bgra_8888_sse2_lowp+0xea8>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  91                                  ; pop           %rbx
+  DB  65,94                               ; pop           %r14
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,137,249                          ; mov           %edi,%r9d
+  DB  65,128,225,3                        ; and           $0x3,%r9b
+  DB  65,128,249,1                        ; cmp           $0x1,%r9b
+  DB  116,52                              ; je            17468 <_sk_load_tables_sse41+0x163>
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  65,128,249,2                        ; cmp           $0x2,%r9b
+  DB  116,23                              ; je            17456 <_sk_load_tables_sse41+0x151>
+  DB  65,128,249,3                        ; cmp           $0x3,%r9b
+  DB  15,133,211,254,255,255              ; jne           1731c <_sk_load_tables_sse41+0x17>
+  DB  102,65,15,110,68,144,8              ; movd          0x8(%r8,%rdx,4),%xmm0
+  DB  102,68,15,112,192,69                ; pshufd        $0x45,%xmm0,%xmm8
+  DB  243,65,15,126,4,144                 ; movq          (%r8,%rdx,4),%xmm0
+  DB  102,68,15,58,14,192,15              ; pblendw       $0xf,%xmm0,%xmm8
+  DB  233,180,254,255,255                 ; jmpq          1731c <_sk_load_tables_sse41+0x17>
+  DB  102,69,15,110,4,144                 ; movd          (%r8,%rdx,4),%xmm8
+  DB  233,169,254,255,255                 ; jmpq          1731c <_sk_load_tables_sse41+0x17>
+
+PUBLIC _sk_load_tables_u16_be_sse41
+_sk_load_tables_u16_be_sse41 LABEL PROC
+  DB  65,86                               ; push          %r14
+  DB  83                                  ; push          %rbx
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  76,141,12,149,0,0,0,0               ; lea           0x0(,%rdx,4),%r9
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,92,1,0,0                     ; jne           175e8 <_sk_load_tables_u16_be_sse41+0x175>
+  DB  102,67,15,16,4,72                   ; movupd        (%r8,%r9,2),%xmm0
+  DB  243,67,15,111,76,72,16              ; movdqu        0x10(%r8,%r9,2),%xmm1
+  DB  102,68,15,40,200                    ; movapd        %xmm0,%xmm9
+  DB  102,68,15,97,201                    ; punpcklwd     %xmm1,%xmm9
+  DB  102,15,105,193                      ; punpckhwd     %xmm1,%xmm0
+  DB  102,65,15,111,201                   ; movdqa        %xmm9,%xmm1
+  DB  102,15,97,200                       ; punpcklwd     %xmm0,%xmm1
+  DB  102,68,15,105,200                   ; punpckhwd     %xmm0,%xmm9
+  DB  102,68,15,111,5,114,226,1,0         ; movdqa        0x1e272(%rip),%xmm8        # 35730 <_sk_srcover_bgra_8888_sse2_lowp+0xf18>
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,65,15,219,192                   ; pand          %xmm8,%xmm0
+  DB  102,15,56,51,192                    ; pmovzxwd      %xmm0,%xmm0
+  DB  102,73,15,58,22,192,1               ; pextrq        $0x1,%xmm0,%r8
+  DB  102,73,15,126,193                   ; movq          %xmm0,%r9
+  DB  69,15,182,209                       ; movzbl        %r9b,%r10d
+  DB  73,193,233,30                       ; shr           $0x1e,%r9
+  DB  69,15,182,216                       ; movzbl        %r8b,%r11d
+  DB  73,193,232,30                       ; shr           $0x1e,%r8
+  DB  72,139,88,8                         ; mov           0x8(%rax),%rbx
+  DB  76,139,112,16                       ; mov           0x10(%rax),%r14
+  DB  243,66,15,16,4,147                  ; movss         (%rbx,%r10,4),%xmm0
+  DB  102,66,15,58,33,4,11,16             ; insertps      $0x10,(%rbx,%r9,1),%xmm0
+  DB  243,66,15,16,20,155                 ; movss         (%rbx,%r11,4),%xmm2
+  DB  102,15,58,33,194,32                 ; insertps      $0x20,%xmm2,%xmm0
+  DB  243,66,15,16,20,3                   ; movss         (%rbx,%r8,1),%xmm2
+  DB  102,15,58,33,194,48                 ; insertps      $0x30,%xmm2,%xmm0
+  DB  102,15,56,0,13,33,226,1,0           ; pshufb        0x1e221(%rip),%xmm1        # 35740 <_sk_srcover_bgra_8888_sse2_lowp+0xf28>
+  DB  102,15,56,51,201                    ; pmovzxwd      %xmm1,%xmm1
+  DB  102,73,15,58,22,200,1               ; pextrq        $0x1,%xmm1,%r8
+  DB  102,72,15,126,203                   ; movq          %xmm1,%rbx
+  DB  68,15,182,203                       ; movzbl        %bl,%r9d
+  DB  72,193,235,30                       ; shr           $0x1e,%rbx
+  DB  69,15,182,208                       ; movzbl        %r8b,%r10d
+  DB  73,193,232,30                       ; shr           $0x1e,%r8
+  DB  243,67,15,16,12,142                 ; movss         (%r14,%r9,4),%xmm1
+  DB  102,65,15,58,33,12,30,16            ; insertps      $0x10,(%r14,%rbx,1),%xmm1
+  DB  243,67,15,16,20,150                 ; movss         (%r14,%r10,4),%xmm2
+  DB  102,15,58,33,202,32                 ; insertps      $0x20,%xmm2,%xmm1
+  DB  243,67,15,16,20,6                   ; movss         (%r14,%r8,1),%xmm2
+  DB  102,15,58,33,202,48                 ; insertps      $0x30,%xmm2,%xmm1
+  DB  76,139,64,24                        ; mov           0x18(%rax),%r8
+  DB  102,69,15,219,193                   ; pand          %xmm9,%xmm8
+  DB  102,65,15,56,51,208                 ; pmovzxwd      %xmm8,%xmm2
+  DB  102,72,15,58,22,211,1               ; pextrq        $0x1,%xmm2,%rbx
+  DB  102,72,15,126,208                   ; movq          %xmm2,%rax
+  DB  68,15,182,200                       ; movzbl        %al,%r9d
+  DB  72,193,232,30                       ; shr           $0x1e,%rax
+  DB  68,15,182,211                       ; movzbl        %bl,%r10d
+  DB  72,193,235,30                       ; shr           $0x1e,%rbx
+  DB  243,67,15,16,20,136                 ; movss         (%r8,%r9,4),%xmm2
+  DB  102,65,15,58,33,20,0,16             ; insertps      $0x10,(%r8,%rax,1),%xmm2
+  DB  243,67,15,16,28,144                 ; movss         (%r8,%r10,4),%xmm3
+  DB  102,15,58,33,211,32                 ; insertps      $0x20,%xmm3,%xmm2
+  DB  243,65,15,16,28,24                  ; movss         (%r8,%rbx,1),%xmm3
+  DB  102,15,58,33,211,48                 ; insertps      $0x30,%xmm3,%xmm2
+  DB  102,65,15,112,217,78                ; pshufd        $0x4e,%xmm9,%xmm3
+  DB  102,68,15,111,195                   ; movdqa        %xmm3,%xmm8
+  DB  102,65,15,113,240,8                 ; psllw         $0x8,%xmm8
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  102,65,15,235,216                   ; por           %xmm8,%xmm3
+  DB  102,15,56,51,219                    ; pmovzxwd      %xmm3,%xmm3
+  DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
+  DB  15,89,29,111,225,1,0                ; mulps         0x1e16f(%rip),%xmm3        # 35750 <_sk_srcover_bgra_8888_sse2_lowp+0xf38>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  91                                  ; pop           %rbx
+  DB  65,94                               ; pop           %r14
+  DB  255,224                             ; jmpq          *%rax
+  DB  242,67,15,16,4,72                   ; movsd         (%r8,%r9,2),%xmm0
+  DB  72,131,255,1                        ; cmp           $0x1,%rdi
+  DB  117,13                              ; jne           17601 <_sk_load_tables_u16_be_sse41+0x18e>
+  DB  243,15,126,192                      ; movq          %xmm0,%xmm0
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  233,152,254,255,255                 ; jmpq          17499 <_sk_load_tables_u16_be_sse41+0x26>
+  DB  102,67,15,22,68,72,8                ; movhpd        0x8(%r8,%r9,2),%xmm0
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  15,130,131,254,255,255              ; jb            17499 <_sk_load_tables_u16_be_sse41+0x26>
+  DB  243,67,15,126,76,72,16              ; movq          0x10(%r8,%r9,2),%xmm1
+  DB  233,119,254,255,255                 ; jmpq          17499 <_sk_load_tables_u16_be_sse41+0x26>
+
+PUBLIC _sk_load_tables_rgb_u16_be_sse41
+_sk_load_tables_rgb_u16_be_sse41 LABEL PROC
+  DB  65,86                               ; push          %r14
+  DB  83                                  ; push          %rbx
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  76,141,12,82                        ; lea           (%rdx,%rdx,2),%r9
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,76,1,0,0                     ; jne           17783 <_sk_load_tables_rgb_u16_be_sse41+0x161>
+  DB  243,67,15,111,20,72                 ; movdqu        (%r8,%r9,2),%xmm2
+  DB  243,67,15,111,76,72,8               ; movdqu        0x8(%r8,%r9,2),%xmm1
+  DB  102,15,115,217,4                    ; psrldq        $0x4,%xmm1
+  DB  102,68,15,111,202                   ; movdqa        %xmm2,%xmm9
+  DB  102,65,15,115,217,6                 ; psrldq        $0x6,%xmm9
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,15,115,216,6                    ; psrldq        $0x6,%xmm0
+  DB  102,68,15,97,200                    ; punpcklwd     %xmm0,%xmm9
+  DB  102,15,97,209                       ; punpcklwd     %xmm1,%xmm2
+  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
+  DB  102,65,15,97,201                    ; punpcklwd     %xmm9,%xmm1
+  DB  102,68,15,111,5,184,224,1,0         ; movdqa        0x1e0b8(%rip),%xmm8        # 35730 <_sk_srcover_bgra_8888_sse2_lowp+0xf18>
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,65,15,219,192                   ; pand          %xmm8,%xmm0
+  DB  102,15,56,51,192                    ; pmovzxwd      %xmm0,%xmm0
+  DB  102,73,15,58,22,192,1               ; pextrq        $0x1,%xmm0,%r8
+  DB  102,73,15,126,193                   ; movq          %xmm0,%r9
+  DB  69,15,182,209                       ; movzbl        %r9b,%r10d
+  DB  73,193,233,30                       ; shr           $0x1e,%r9
+  DB  69,15,182,216                       ; movzbl        %r8b,%r11d
+  DB  73,193,232,30                       ; shr           $0x1e,%r8
+  DB  72,139,88,8                         ; mov           0x8(%rax),%rbx
+  DB  76,139,112,16                       ; mov           0x10(%rax),%r14
+  DB  243,66,15,16,4,147                  ; movss         (%rbx,%r10,4),%xmm0
+  DB  102,66,15,58,33,4,11,16             ; insertps      $0x10,(%rbx,%r9,1),%xmm0
+  DB  243,66,15,16,28,155                 ; movss         (%rbx,%r11,4),%xmm3
+  DB  102,15,58,33,195,32                 ; insertps      $0x20,%xmm3,%xmm0
+  DB  243,66,15,16,28,3                   ; movss         (%rbx,%r8,1),%xmm3
+  DB  102,15,58,33,195,48                 ; insertps      $0x30,%xmm3,%xmm0
+  DB  102,15,56,0,13,103,224,1,0          ; pshufb        0x1e067(%rip),%xmm1        # 35740 <_sk_srcover_bgra_8888_sse2_lowp+0xf28>
+  DB  102,15,56,51,201                    ; pmovzxwd      %xmm1,%xmm1
+  DB  102,73,15,58,22,200,1               ; pextrq        $0x1,%xmm1,%r8
+  DB  102,72,15,126,203                   ; movq          %xmm1,%rbx
+  DB  68,15,182,203                       ; movzbl        %bl,%r9d
+  DB  72,193,235,30                       ; shr           $0x1e,%rbx
+  DB  69,15,182,208                       ; movzbl        %r8b,%r10d
+  DB  73,193,232,30                       ; shr           $0x1e,%r8
+  DB  243,67,15,16,12,142                 ; movss         (%r14,%r9,4),%xmm1
+  DB  102,65,15,58,33,12,30,16            ; insertps      $0x10,(%r14,%rbx,1),%xmm1
+  DB  243,67,15,16,28,150                 ; movss         (%r14,%r10,4),%xmm3
+  DB  102,15,58,33,203,32                 ; insertps      $0x20,%xmm3,%xmm1
+  DB  243,67,15,16,28,6                   ; movss         (%r14,%r8,1),%xmm3
+  DB  102,15,58,33,203,48                 ; insertps      $0x30,%xmm3,%xmm1
+  DB  76,139,64,24                        ; mov           0x18(%rax),%r8
+  DB  102,65,15,105,209                   ; punpckhwd     %xmm9,%xmm2
+  DB  102,65,15,219,208                   ; pand          %xmm8,%xmm2
+  DB  102,15,56,51,210                    ; pmovzxwd      %xmm2,%xmm2
+  DB  102,72,15,58,22,211,1               ; pextrq        $0x1,%xmm2,%rbx
+  DB  102,72,15,126,208                   ; movq          %xmm2,%rax
+  DB  68,15,182,200                       ; movzbl        %al,%r9d
+  DB  72,193,232,30                       ; shr           $0x1e,%rax
+  DB  68,15,182,211                       ; movzbl        %bl,%r10d
+  DB  72,193,235,30                       ; shr           $0x1e,%rbx
+  DB  243,67,15,16,20,136                 ; movss         (%r8,%r9,4),%xmm2
+  DB  102,65,15,58,33,20,0,16             ; insertps      $0x10,(%r8,%rax,1),%xmm2
+  DB  243,67,15,16,28,144                 ; movss         (%r8,%r10,4),%xmm3
+  DB  102,15,58,33,211,32                 ; insertps      $0x20,%xmm3,%xmm2
+  DB  243,65,15,16,28,24                  ; movss         (%r8,%rbx,1),%xmm3
+  DB  102,15,58,33,211,48                 ; insertps      $0x30,%xmm3,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,29,50,221,1,0                 ; movaps        0x1dd32(%rip),%xmm3        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  91                                  ; pop           %rbx
+  DB  65,94                               ; pop           %r14
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,67,15,110,20,72                 ; movd          (%r8,%r9,2),%xmm2
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  102,67,15,196,84,72,4,2             ; pinsrw        $0x2,0x4(%r8,%r9,2),%xmm2
+  DB  72,131,255,1                        ; cmp           $0x1,%rdi
+  DB  117,14                              ; jne           177a9 <_sk_load_tables_rgb_u16_be_sse41+0x187>
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  102,69,15,239,201                   ; pxor          %xmm9,%xmm9
+  DB  233,180,254,255,255                 ; jmpq          1765d <_sk_load_tables_rgb_u16_be_sse41+0x3b>
+  DB  102,71,15,110,76,72,6               ; movd          0x6(%r8,%r9,2),%xmm9
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  102,71,15,196,76,72,10,2            ; pinsrw        $0x2,0xa(%r8,%r9,2),%xmm9
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  114,24                              ; jb            177da <_sk_load_tables_rgb_u16_be_sse41+0x1b8>
+  DB  102,67,15,110,76,72,12              ; movd          0xc(%r8,%r9,2),%xmm1
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  102,67,15,196,76,72,16,2            ; pinsrw        $0x2,0x10(%r8,%r9,2),%xmm1
+  DB  233,131,254,255,255                 ; jmpq          1765d <_sk_load_tables_rgb_u16_be_sse41+0x3b>
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  233,122,254,255,255                 ; jmpq          1765d <_sk_load_tables_rgb_u16_be_sse41+0x3b>
+
+PUBLIC _sk_byte_tables_sse41
+_sk_byte_tables_sse41 LABEL PROC
+  DB  85                                  ; push          %rbp
+  DB  65,86                               ; push          %r14
+  DB  83                                  ; push          %rbx
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  69,15,87,219                        ; xorps         %xmm11,%xmm11
+  DB  68,15,95,216                        ; maxps         %xmm0,%xmm11
+  DB  68,15,40,13,179,220,1,0             ; movaps        0x1dcb3(%rip),%xmm9        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,93,217                        ; minps         %xmm9,%xmm11
+  DB  68,15,40,21,135,221,1,0             ; movaps        0x1dd87(%rip),%xmm10        # 35590 <_sk_srcover_bgra_8888_sse2_lowp+0xd78>
+  DB  69,15,89,218                        ; mulps         %xmm10,%xmm11
+  DB  102,65,15,91,195                    ; cvtps2dq      %xmm11,%xmm0
+  DB  102,73,15,58,22,192,1               ; pextrq        $0x1,%xmm0,%r8
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  77,137,194                          ; mov           %r8,%r10
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  102,73,15,126,192                   ; movq          %xmm0,%r8
+  DB  69,137,195                          ; mov           %r8d,%r11d
+  DB  77,137,198                          ; mov           %r8,%r14
+  DB  73,193,238,32                       ; shr           $0x20,%r14
+  DB  72,139,24                           ; mov           (%rax),%rbx
+  DB  76,139,64,8                         ; mov           0x8(%rax),%r8
+  DB  70,15,182,52,51                     ; movzbl        (%rbx,%r14,1),%r14d
+  DB  66,15,182,44,27                     ; movzbl        (%rbx,%r11,1),%ebp
+  DB  102,15,110,197                      ; movd          %ebp,%xmm0
+  DB  102,65,15,58,32,198,1               ; pinsrb        $0x1,%r14d,%xmm0
+  DB  66,15,182,44,11                     ; movzbl        (%rbx,%r9,1),%ebp
+  DB  102,15,58,32,197,2                  ; pinsrb        $0x2,%ebp,%xmm0
+  DB  66,15,182,44,19                     ; movzbl        (%rbx,%r10,1),%ebp
+  DB  102,15,58,32,197,3                  ; pinsrb        $0x3,%ebp,%xmm0
+  DB  102,15,56,49,192                    ; pmovzxbd      %xmm0,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  68,15,40,29,76,222,1,0              ; movaps        0x1de4c(%rip),%xmm11        # 356c0 <_sk_srcover_bgra_8888_sse2_lowp+0xea8>
+  DB  65,15,89,195                        ; mulps         %xmm11,%xmm0
+  DB  69,15,87,228                        ; xorps         %xmm12,%xmm12
+  DB  68,15,95,225                        ; maxps         %xmm1,%xmm12
+  DB  69,15,93,225                        ; minps         %xmm9,%xmm12
+  DB  69,15,89,226                        ; mulps         %xmm10,%xmm12
+  DB  102,65,15,91,204                    ; cvtps2dq      %xmm12,%xmm1
+  DB  102,72,15,58,22,205,1               ; pextrq        $0x1,%xmm1,%rbp
+  DB  65,137,233                          ; mov           %ebp,%r9d
+  DB  72,193,237,32                       ; shr           $0x20,%rbp
+  DB  102,72,15,126,203                   ; movq          %xmm1,%rbx
+  DB  65,137,218                          ; mov           %ebx,%r10d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,15,182,28,24                     ; movzbl        (%r8,%rbx,1),%r11d
+  DB  67,15,182,28,16                     ; movzbl        (%r8,%r10,1),%ebx
+  DB  102,15,110,203                      ; movd          %ebx,%xmm1
+  DB  102,65,15,58,32,203,1               ; pinsrb        $0x1,%r11d,%xmm1
+  DB  67,15,182,28,8                      ; movzbl        (%r8,%r9,1),%ebx
+  DB  102,15,58,32,203,2                  ; pinsrb        $0x2,%ebx,%xmm1
+  DB  65,15,182,44,40                     ; movzbl        (%r8,%rbp,1),%ebp
+  DB  102,15,58,32,205,3                  ; pinsrb        $0x3,%ebp,%xmm1
+  DB  102,15,56,49,201                    ; pmovzxbd      %xmm1,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  65,15,89,203                        ; mulps         %xmm11,%xmm1
+  DB  76,139,72,16                        ; mov           0x10(%rax),%r9
+  DB  69,15,87,228                        ; xorps         %xmm12,%xmm12
+  DB  68,15,95,226                        ; maxps         %xmm2,%xmm12
+  DB  69,15,93,225                        ; minps         %xmm9,%xmm12
+  DB  69,15,89,226                        ; mulps         %xmm10,%xmm12
+  DB  102,65,15,91,212                    ; cvtps2dq      %xmm12,%xmm2
+  DB  102,72,15,58,22,211,1               ; pextrq        $0x1,%xmm2,%rbx
+  DB  65,137,216                          ; mov           %ebx,%r8d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  102,72,15,126,213                   ; movq          %xmm2,%rbp
+  DB  65,137,234                          ; mov           %ebp,%r10d
+  DB  72,193,237,32                       ; shr           $0x20,%rbp
+  DB  69,15,182,28,41                     ; movzbl        (%r9,%rbp,1),%r11d
+  DB  67,15,182,44,17                     ; movzbl        (%r9,%r10,1),%ebp
+  DB  102,15,110,213                      ; movd          %ebp,%xmm2
+  DB  102,65,15,58,32,211,1               ; pinsrb        $0x1,%r11d,%xmm2
+  DB  67,15,182,44,1                      ; movzbl        (%r9,%r8,1),%ebp
+  DB  102,15,58,32,213,2                  ; pinsrb        $0x2,%ebp,%xmm2
+  DB  65,15,182,44,25                     ; movzbl        (%r9,%rbx,1),%ebp
+  DB  102,15,58,32,213,3                  ; pinsrb        $0x3,%ebp,%xmm2
+  DB  102,15,56,49,210                    ; pmovzxbd      %xmm2,%xmm2
+  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
+  DB  65,15,89,211                        ; mulps         %xmm11,%xmm2
+  DB  72,139,64,24                        ; mov           0x18(%rax),%rax
+  DB  68,15,95,195                        ; maxps         %xmm3,%xmm8
+  DB  69,15,93,193                        ; minps         %xmm9,%xmm8
+  DB  69,15,89,194                        ; mulps         %xmm10,%xmm8
+  DB  102,65,15,91,216                    ; cvtps2dq      %xmm8,%xmm3
+  DB  102,72,15,58,22,221,1               ; pextrq        $0x1,%xmm3,%rbp
+  DB  65,137,232                          ; mov           %ebp,%r8d
+  DB  72,193,237,32                       ; shr           $0x20,%rbp
+  DB  102,72,15,126,219                   ; movq          %xmm3,%rbx
+  DB  65,137,217                          ; mov           %ebx,%r9d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  68,15,182,20,24                     ; movzbl        (%rax,%rbx,1),%r10d
+  DB  66,15,182,28,8                      ; movzbl        (%rax,%r9,1),%ebx
+  DB  102,15,110,219                      ; movd          %ebx,%xmm3
+  DB  102,65,15,58,32,218,1               ; pinsrb        $0x1,%r10d,%xmm3
+  DB  66,15,182,28,0                      ; movzbl        (%rax,%r8,1),%ebx
+  DB  102,15,58,32,219,2                  ; pinsrb        $0x2,%ebx,%xmm3
+  DB  15,182,4,40                         ; movzbl        (%rax,%rbp,1),%eax
+  DB  102,15,58,32,216,3                  ; pinsrb        $0x3,%eax,%xmm3
+  DB  102,15,56,49,219                    ; pmovzxbd      %xmm3,%xmm3
+  DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
+  DB  65,15,89,219                        ; mulps         %xmm11,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  91                                  ; pop           %rbx
+  DB  65,94                               ; pop           %r14
+  DB  93                                  ; pop           %rbp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_byte_tables_rgb_sse41
+_sk_byte_tables_rgb_sse41 LABEL PROC
+  DB  85                                  ; push          %rbp
+  DB  65,86                               ; push          %r14
+  DB  83                                  ; push          %rbx
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  68,139,64,24                        ; mov           0x18(%rax),%r8d
+  DB  65,255,200                          ; dec           %r8d
+  DB  102,69,15,110,192                   ; movd          %r8d,%xmm8
+  DB  102,69,15,112,192,0                 ; pshufd        $0x0,%xmm8,%xmm8
+  DB  69,15,91,192                        ; cvtdq2ps      %xmm8,%xmm8
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  69,15,87,219                        ; xorps         %xmm11,%xmm11
+  DB  68,15,95,216                        ; maxps         %xmm0,%xmm11
+  DB  68,15,40,21,203,218,1,0             ; movaps        0x1dacb(%rip),%xmm10        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,93,218                        ; minps         %xmm10,%xmm11
+  DB  69,15,89,216                        ; mulps         %xmm8,%xmm11
+  DB  102,65,15,91,195                    ; cvtps2dq      %xmm11,%xmm0
+  DB  102,73,15,58,22,192,1               ; pextrq        $0x1,%xmm0,%r8
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  77,137,194                          ; mov           %r8,%r10
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  102,73,15,126,192                   ; movq          %xmm0,%r8
+  DB  69,137,195                          ; mov           %r8d,%r11d
+  DB  77,137,198                          ; mov           %r8,%r14
+  DB  73,193,238,32                       ; shr           $0x20,%r14
+  DB  72,139,24                           ; mov           (%rax),%rbx
+  DB  76,139,64,8                         ; mov           0x8(%rax),%r8
+  DB  70,15,182,52,51                     ; movzbl        (%rbx,%r14,1),%r14d
+  DB  66,15,182,44,27                     ; movzbl        (%rbx,%r11,1),%ebp
+  DB  102,15,110,197                      ; movd          %ebp,%xmm0
+  DB  102,65,15,58,32,198,1               ; pinsrb        $0x1,%r14d,%xmm0
+  DB  66,15,182,44,11                     ; movzbl        (%rbx,%r9,1),%ebp
+  DB  102,15,58,32,197,2                  ; pinsrb        $0x2,%ebp,%xmm0
+  DB  66,15,182,44,19                     ; movzbl        (%rbx,%r10,1),%ebp
+  DB  102,15,58,32,197,3                  ; pinsrb        $0x3,%ebp,%xmm0
+  DB  102,15,56,49,192                    ; pmovzxbd      %xmm0,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  68,15,40,29,108,220,1,0             ; movaps        0x1dc6c(%rip),%xmm11        # 356c0 <_sk_srcover_bgra_8888_sse2_lowp+0xea8>
+  DB  65,15,89,195                        ; mulps         %xmm11,%xmm0
+  DB  69,15,87,228                        ; xorps         %xmm12,%xmm12
+  DB  68,15,95,225                        ; maxps         %xmm1,%xmm12
+  DB  69,15,93,226                        ; minps         %xmm10,%xmm12
+  DB  69,15,89,224                        ; mulps         %xmm8,%xmm12
+  DB  102,65,15,91,204                    ; cvtps2dq      %xmm12,%xmm1
+  DB  102,72,15,58,22,205,1               ; pextrq        $0x1,%xmm1,%rbp
+  DB  65,137,233                          ; mov           %ebp,%r9d
+  DB  72,193,237,32                       ; shr           $0x20,%rbp
+  DB  102,72,15,126,203                   ; movq          %xmm1,%rbx
+  DB  65,137,218                          ; mov           %ebx,%r10d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,15,182,28,24                     ; movzbl        (%r8,%rbx,1),%r11d
+  DB  67,15,182,28,16                     ; movzbl        (%r8,%r10,1),%ebx
+  DB  102,15,110,203                      ; movd          %ebx,%xmm1
+  DB  102,65,15,58,32,203,1               ; pinsrb        $0x1,%r11d,%xmm1
+  DB  67,15,182,28,8                      ; movzbl        (%r8,%r9,1),%ebx
+  DB  102,15,58,32,203,2                  ; pinsrb        $0x2,%ebx,%xmm1
+  DB  65,15,182,44,40                     ; movzbl        (%r8,%rbp,1),%ebp
+  DB  102,15,58,32,205,3                  ; pinsrb        $0x3,%ebp,%xmm1
+  DB  102,15,56,49,201                    ; pmovzxbd      %xmm1,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  65,15,89,203                        ; mulps         %xmm11,%xmm1
+  DB  72,139,64,16                        ; mov           0x10(%rax),%rax
+  DB  68,15,95,202                        ; maxps         %xmm2,%xmm9
+  DB  69,15,93,202                        ; minps         %xmm10,%xmm9
+  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
+  DB  102,65,15,91,209                    ; cvtps2dq      %xmm9,%xmm2
+  DB  102,72,15,58,22,213,1               ; pextrq        $0x1,%xmm2,%rbp
+  DB  65,137,232                          ; mov           %ebp,%r8d
+  DB  72,193,237,32                       ; shr           $0x20,%rbp
+  DB  102,72,15,126,211                   ; movq          %xmm2,%rbx
+  DB  65,137,217                          ; mov           %ebx,%r9d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  68,15,182,20,24                     ; movzbl        (%rax,%rbx,1),%r10d
+  DB  66,15,182,28,8                      ; movzbl        (%rax,%r9,1),%ebx
+  DB  102,15,110,211                      ; movd          %ebx,%xmm2
+  DB  102,65,15,58,32,210,1               ; pinsrb        $0x1,%r10d,%xmm2
+  DB  66,15,182,28,0                      ; movzbl        (%rax,%r8,1),%ebx
+  DB  102,15,58,32,211,2                  ; pinsrb        $0x2,%ebx,%xmm2
+  DB  15,182,4,40                         ; movzbl        (%rax,%rbp,1),%eax
+  DB  102,15,58,32,208,3                  ; pinsrb        $0x3,%eax,%xmm2
+  DB  102,15,56,49,210                    ; pmovzxbd      %xmm2,%xmm2
+  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
+  DB  65,15,89,211                        ; mulps         %xmm11,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  91                                  ; pop           %rbx
+  DB  65,94                               ; pop           %r14
+  DB  93                                  ; pop           %rbp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_table_r_sse41
+_sk_table_r_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  139,64,8                            ; mov           0x8(%rax),%eax
+  DB  255,200                             ; dec           %eax
+  DB  102,68,15,110,192                   ; movd          %eax,%xmm8
+  DB  102,69,15,112,192,0                 ; pshufd        $0x0,%xmm8,%xmm8
+  DB  69,15,91,192                        ; cvtdq2ps      %xmm8,%xmm8
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,95,200                        ; maxps         %xmm0,%xmm9
+  DB  68,15,93,13,92,217,1,0              ; minps         0x1d95c(%rip),%xmm9        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
+  DB  102,65,15,91,193                    ; cvtps2dq      %xmm9,%xmm0
+  DB  102,72,15,58,22,192,1               ; pextrq        $0x1,%xmm0,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  102,73,15,126,194                   ; movq          %xmm0,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  243,67,15,16,4,152                  ; movss         (%r8,%r11,4),%xmm0
+  DB  102,67,15,58,33,4,144,16            ; insertps      $0x10,(%r8,%r10,4),%xmm0
+  DB  243,71,15,16,4,136                  ; movss         (%r8,%r9,4),%xmm8
+  DB  102,65,15,58,33,192,32              ; insertps      $0x20,%xmm8,%xmm0
+  DB  243,69,15,16,4,128                  ; movss         (%r8,%rax,4),%xmm8
+  DB  102,65,15,58,33,192,48              ; insertps      $0x30,%xmm8,%xmm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_table_g_sse41
+_sk_table_g_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  139,64,8                            ; mov           0x8(%rax),%eax
+  DB  255,200                             ; dec           %eax
+  DB  102,68,15,110,192                   ; movd          %eax,%xmm8
+  DB  102,69,15,112,192,0                 ; pshufd        $0x0,%xmm8,%xmm8
+  DB  69,15,91,192                        ; cvtdq2ps      %xmm8,%xmm8
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,95,201                        ; maxps         %xmm1,%xmm9
+  DB  68,15,93,13,228,216,1,0             ; minps         0x1d8e4(%rip),%xmm9        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
+  DB  102,65,15,91,201                    ; cvtps2dq      %xmm9,%xmm1
+  DB  102,72,15,58,22,200,1               ; pextrq        $0x1,%xmm1,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  102,73,15,126,202                   ; movq          %xmm1,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  243,67,15,16,12,152                 ; movss         (%r8,%r11,4),%xmm1
+  DB  102,67,15,58,33,12,144,16           ; insertps      $0x10,(%r8,%r10,4),%xmm1
+  DB  243,71,15,16,4,136                  ; movss         (%r8,%r9,4),%xmm8
+  DB  102,65,15,58,33,200,32              ; insertps      $0x20,%xmm8,%xmm1
+  DB  243,69,15,16,4,128                  ; movss         (%r8,%rax,4),%xmm8
+  DB  102,65,15,58,33,200,48              ; insertps      $0x30,%xmm8,%xmm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_table_b_sse41
+_sk_table_b_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  139,64,8                            ; mov           0x8(%rax),%eax
+  DB  255,200                             ; dec           %eax
+  DB  102,68,15,110,192                   ; movd          %eax,%xmm8
+  DB  102,69,15,112,192,0                 ; pshufd        $0x0,%xmm8,%xmm8
+  DB  69,15,91,192                        ; cvtdq2ps      %xmm8,%xmm8
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,95,202                        ; maxps         %xmm2,%xmm9
+  DB  68,15,93,13,108,216,1,0             ; minps         0x1d86c(%rip),%xmm9        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
+  DB  102,65,15,91,209                    ; cvtps2dq      %xmm9,%xmm2
+  DB  102,72,15,58,22,208,1               ; pextrq        $0x1,%xmm2,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  102,73,15,126,210                   ; movq          %xmm2,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  243,67,15,16,20,152                 ; movss         (%r8,%r11,4),%xmm2
+  DB  102,67,15,58,33,20,144,16           ; insertps      $0x10,(%r8,%r10,4),%xmm2
+  DB  243,71,15,16,4,136                  ; movss         (%r8,%r9,4),%xmm8
+  DB  102,65,15,58,33,208,32              ; insertps      $0x20,%xmm8,%xmm2
+  DB  243,69,15,16,4,128                  ; movss         (%r8,%rax,4),%xmm8
+  DB  102,65,15,58,33,208,48              ; insertps      $0x30,%xmm8,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_table_a_sse41
+_sk_table_a_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  139,64,8                            ; mov           0x8(%rax),%eax
+  DB  255,200                             ; dec           %eax
+  DB  102,68,15,110,192                   ; movd          %eax,%xmm8
+  DB  102,69,15,112,192,0                 ; pshufd        $0x0,%xmm8,%xmm8
+  DB  69,15,91,192                        ; cvtdq2ps      %xmm8,%xmm8
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,95,203                        ; maxps         %xmm3,%xmm9
+  DB  68,15,93,13,244,215,1,0             ; minps         0x1d7f4(%rip),%xmm9        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
+  DB  102,65,15,91,217                    ; cvtps2dq      %xmm9,%xmm3
+  DB  102,72,15,58,22,216,1               ; pextrq        $0x1,%xmm3,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  102,73,15,126,218                   ; movq          %xmm3,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  243,67,15,16,28,152                 ; movss         (%r8,%r11,4),%xmm3
+  DB  102,67,15,58,33,28,144,16           ; insertps      $0x10,(%r8,%r10,4),%xmm3
+  DB  243,71,15,16,4,136                  ; movss         (%r8,%r9,4),%xmm8
+  DB  102,65,15,58,33,216,32              ; insertps      $0x20,%xmm8,%xmm3
+  DB  243,69,15,16,4,128                  ; movss         (%r8,%rax,4),%xmm8
+  DB  102,65,15,58,33,216,48              ; insertps      $0x30,%xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_parametric_r_sse41
+_sk_parametric_r_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,64,16                  ; movss         0x10(%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  243,68,15,16,72,12                  ; movss         0xc(%rax),%xmm9
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  68,15,89,200                        ; mulps         %xmm0,%xmm9
+  DB  243,68,15,16,80,4                   ; movss         0x4(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  68,15,89,208                        ; mulps         %xmm0,%xmm10
+  DB  65,15,194,192,2                     ; cmpleps       %xmm8,%xmm0
+  DB  243,68,15,16,64,24                  ; movss         0x18(%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  69,15,88,200                        ; addps         %xmm8,%xmm9
+  DB  243,68,15,16,32                     ; movss         (%rax),%xmm12
+  DB  243,68,15,16,64,8                   ; movss         0x8(%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  69,15,88,208                        ; addps         %xmm8,%xmm10
+  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
+  DB  69,15,87,219                        ; xorps         %xmm11,%xmm11
+  DB  69,15,91,194                        ; cvtdq2ps      %xmm10,%xmm8
+  DB  68,15,89,5,237,217,1,0              ; mulps         0x1d9ed(%rip),%xmm8        # 35760 <_sk_srcover_bgra_8888_sse2_lowp+0xf48>
+  DB  68,15,40,45,245,217,1,0             ; movaps        0x1d9f5(%rip),%xmm13        # 35770 <_sk_srcover_bgra_8888_sse2_lowp+0xf58>
+  DB  69,15,84,234                        ; andps         %xmm10,%xmm13
+  DB  68,15,86,45,25,215,1,0              ; orps          0x1d719(%rip),%xmm13        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  68,15,88,5,241,217,1,0              ; addps         0x1d9f1(%rip),%xmm8        # 35780 <_sk_srcover_bgra_8888_sse2_lowp+0xf68>
+  DB  68,15,40,53,249,217,1,0             ; movaps        0x1d9f9(%rip),%xmm14        # 35790 <_sk_srcover_bgra_8888_sse2_lowp+0xf78>
+  DB  69,15,89,245                        ; mulps         %xmm13,%xmm14
+  DB  69,15,92,198                        ; subps         %xmm14,%xmm8
+  DB  68,15,88,45,249,217,1,0             ; addps         0x1d9f9(%rip),%xmm13        # 357a0 <_sk_srcover_bgra_8888_sse2_lowp+0xf88>
+  DB  68,15,40,53,1,218,1,0               ; movaps        0x1da01(%rip),%xmm14        # 357b0 <_sk_srcover_bgra_8888_sse2_lowp+0xf98>
+  DB  69,15,94,245                        ; divps         %xmm13,%xmm14
+  DB  69,15,92,198                        ; subps         %xmm14,%xmm8
+  DB  69,15,89,196                        ; mulps         %xmm12,%xmm8
+  DB  102,69,15,58,8,224,1                ; roundps       $0x1,%xmm8,%xmm12
+  DB  69,15,40,232                        ; movaps        %xmm8,%xmm13
+  DB  69,15,92,236                        ; subps         %xmm12,%xmm13
+  DB  68,15,88,5,238,217,1,0              ; addps         0x1d9ee(%rip),%xmm8        # 357c0 <_sk_srcover_bgra_8888_sse2_lowp+0xfa8>
+  DB  68,15,40,37,246,217,1,0             ; movaps        0x1d9f6(%rip),%xmm12        # 357d0 <_sk_srcover_bgra_8888_sse2_lowp+0xfb8>
+  DB  69,15,89,229                        ; mulps         %xmm13,%xmm12
+  DB  69,15,92,196                        ; subps         %xmm12,%xmm8
+  DB  68,15,40,37,246,217,1,0             ; movaps        0x1d9f6(%rip),%xmm12        # 357e0 <_sk_srcover_bgra_8888_sse2_lowp+0xfc8>
+  DB  69,15,92,229                        ; subps         %xmm13,%xmm12
+  DB  68,15,40,45,250,217,1,0             ; movaps        0x1d9fa(%rip),%xmm13        # 357f0 <_sk_srcover_bgra_8888_sse2_lowp+0xfd8>
+  DB  69,15,94,236                        ; divps         %xmm12,%xmm13
+  DB  69,15,88,232                        ; addps         %xmm8,%xmm13
+  DB  68,15,89,45,250,217,1,0             ; mulps         0x1d9fa(%rip),%xmm13        # 35800 <_sk_srcover_bgra_8888_sse2_lowp+0xfe8>
+  DB  102,69,15,91,197                    ; cvtps2dq      %xmm13,%xmm8
+  DB  69,15,194,211,4                     ; cmpneqps      %xmm11,%xmm10
+  DB  69,15,84,208                        ; andps         %xmm8,%xmm10
+  DB  243,68,15,16,64,20                  ; movss         0x14(%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  69,15,88,194                        ; addps         %xmm10,%xmm8
+  DB  102,69,15,56,20,193                 ; blendvps      %xmm0,%xmm9,%xmm8
+  DB  69,15,95,195                        ; maxps         %xmm11,%xmm8
+  DB  68,15,93,5,123,214,1,0              ; minps         0x1d67b(%rip),%xmm8        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_parametric_g_sse41
+_sk_parametric_g_sse41 LABEL PROC
+  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,88,16                  ; movss         0x10(%rax),%xmm11
+  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
+  DB  243,68,15,16,72,12                  ; movss         0xc(%rax),%xmm9
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  68,15,89,201                        ; mulps         %xmm1,%xmm9
+  DB  243,68,15,16,80,4                   ; movss         0x4(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  68,15,89,209                        ; mulps         %xmm1,%xmm10
+  DB  15,40,193                           ; movaps        %xmm1,%xmm0
+  DB  65,15,194,195,2                     ; cmpleps       %xmm11,%xmm0
+  DB  243,15,16,72,24                     ; movss         0x18(%rax),%xmm1
+  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
+  DB  68,15,88,201                        ; addps         %xmm1,%xmm9
+  DB  243,68,15,16,32                     ; movss         (%rax),%xmm12
+  DB  243,15,16,72,8                      ; movss         0x8(%rax),%xmm1
+  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
+  DB  68,15,88,209                        ; addps         %xmm1,%xmm10
+  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
+  DB  69,15,87,219                        ; xorps         %xmm11,%xmm11
+  DB  69,15,91,242                        ; cvtdq2ps      %xmm10,%xmm14
+  DB  68,15,89,53,184,216,1,0             ; mulps         0x1d8b8(%rip),%xmm14        # 35760 <_sk_srcover_bgra_8888_sse2_lowp+0xf48>
+  DB  68,15,40,45,192,216,1,0             ; movaps        0x1d8c0(%rip),%xmm13        # 35770 <_sk_srcover_bgra_8888_sse2_lowp+0xf58>
+  DB  69,15,84,234                        ; andps         %xmm10,%xmm13
+  DB  68,15,86,45,228,213,1,0             ; orps          0x1d5e4(%rip),%xmm13        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  68,15,88,53,188,216,1,0             ; addps         0x1d8bc(%rip),%xmm14        # 35780 <_sk_srcover_bgra_8888_sse2_lowp+0xf68>
+  DB  15,40,13,197,216,1,0                ; movaps        0x1d8c5(%rip),%xmm1        # 35790 <_sk_srcover_bgra_8888_sse2_lowp+0xf78>
+  DB  65,15,89,205                        ; mulps         %xmm13,%xmm1
+  DB  68,15,92,241                        ; subps         %xmm1,%xmm14
+  DB  68,15,88,45,197,216,1,0             ; addps         0x1d8c5(%rip),%xmm13        # 357a0 <_sk_srcover_bgra_8888_sse2_lowp+0xf88>
+  DB  15,40,13,206,216,1,0                ; movaps        0x1d8ce(%rip),%xmm1        # 357b0 <_sk_srcover_bgra_8888_sse2_lowp+0xf98>
+  DB  65,15,94,205                        ; divps         %xmm13,%xmm1
+  DB  68,15,92,241                        ; subps         %xmm1,%xmm14
+  DB  69,15,89,244                        ; mulps         %xmm12,%xmm14
+  DB  102,69,15,58,8,230,1                ; roundps       $0x1,%xmm14,%xmm12
+  DB  69,15,40,238                        ; movaps        %xmm14,%xmm13
+  DB  69,15,92,236                        ; subps         %xmm12,%xmm13
+  DB  68,15,88,53,187,216,1,0             ; addps         0x1d8bb(%rip),%xmm14        # 357c0 <_sk_srcover_bgra_8888_sse2_lowp+0xfa8>
+  DB  15,40,13,196,216,1,0                ; movaps        0x1d8c4(%rip),%xmm1        # 357d0 <_sk_srcover_bgra_8888_sse2_lowp+0xfb8>
+  DB  65,15,89,205                        ; mulps         %xmm13,%xmm1
+  DB  68,15,92,241                        ; subps         %xmm1,%xmm14
+  DB  68,15,40,37,196,216,1,0             ; movaps        0x1d8c4(%rip),%xmm12        # 357e0 <_sk_srcover_bgra_8888_sse2_lowp+0xfc8>
+  DB  69,15,92,229                        ; subps         %xmm13,%xmm12
+  DB  15,40,13,201,216,1,0                ; movaps        0x1d8c9(%rip),%xmm1        # 357f0 <_sk_srcover_bgra_8888_sse2_lowp+0xfd8>
+  DB  65,15,94,204                        ; divps         %xmm12,%xmm1
+  DB  65,15,88,206                        ; addps         %xmm14,%xmm1
+  DB  15,89,13,202,216,1,0                ; mulps         0x1d8ca(%rip),%xmm1        # 35800 <_sk_srcover_bgra_8888_sse2_lowp+0xfe8>
+  DB  102,15,91,201                       ; cvtps2dq      %xmm1,%xmm1
+  DB  69,15,194,211,4                     ; cmpneqps      %xmm11,%xmm10
+  DB  68,15,84,209                        ; andps         %xmm1,%xmm10
+  DB  243,15,16,72,20                     ; movss         0x14(%rax),%xmm1
+  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
+  DB  65,15,88,202                        ; addps         %xmm10,%xmm1
+  DB  102,65,15,56,20,201                 ; blendvps      %xmm0,%xmm9,%xmm1
+  DB  65,15,95,203                        ; maxps         %xmm11,%xmm1
+  DB  15,93,13,79,213,1,0                 ; minps         0x1d54f(%rip),%xmm1        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_parametric_b_sse41
+_sk_parametric_b_sse41 LABEL PROC
+  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,88,16                  ; movss         0x10(%rax),%xmm11
+  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
+  DB  243,68,15,16,72,12                  ; movss         0xc(%rax),%xmm9
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  68,15,89,202                        ; mulps         %xmm2,%xmm9
+  DB  243,68,15,16,80,4                   ; movss         0x4(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  68,15,89,210                        ; mulps         %xmm2,%xmm10
+  DB  15,40,194                           ; movaps        %xmm2,%xmm0
+  DB  65,15,194,195,2                     ; cmpleps       %xmm11,%xmm0
+  DB  243,15,16,80,24                     ; movss         0x18(%rax),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  68,15,88,202                        ; addps         %xmm2,%xmm9
+  DB  243,68,15,16,32                     ; movss         (%rax),%xmm12
+  DB  243,15,16,80,8                      ; movss         0x8(%rax),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  68,15,88,210                        ; addps         %xmm2,%xmm10
+  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
+  DB  69,15,87,219                        ; xorps         %xmm11,%xmm11
+  DB  69,15,91,242                        ; cvtdq2ps      %xmm10,%xmm14
+  DB  68,15,89,53,140,215,1,0             ; mulps         0x1d78c(%rip),%xmm14        # 35760 <_sk_srcover_bgra_8888_sse2_lowp+0xf48>
+  DB  68,15,40,45,148,215,1,0             ; movaps        0x1d794(%rip),%xmm13        # 35770 <_sk_srcover_bgra_8888_sse2_lowp+0xf58>
+  DB  69,15,84,234                        ; andps         %xmm10,%xmm13
+  DB  68,15,86,45,184,212,1,0             ; orps          0x1d4b8(%rip),%xmm13        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  68,15,88,53,144,215,1,0             ; addps         0x1d790(%rip),%xmm14        # 35780 <_sk_srcover_bgra_8888_sse2_lowp+0xf68>
+  DB  15,40,21,153,215,1,0                ; movaps        0x1d799(%rip),%xmm2        # 35790 <_sk_srcover_bgra_8888_sse2_lowp+0xf78>
+  DB  65,15,89,213                        ; mulps         %xmm13,%xmm2
+  DB  68,15,92,242                        ; subps         %xmm2,%xmm14
+  DB  68,15,88,45,153,215,1,0             ; addps         0x1d799(%rip),%xmm13        # 357a0 <_sk_srcover_bgra_8888_sse2_lowp+0xf88>
+  DB  15,40,21,162,215,1,0                ; movaps        0x1d7a2(%rip),%xmm2        # 357b0 <_sk_srcover_bgra_8888_sse2_lowp+0xf98>
+  DB  65,15,94,213                        ; divps         %xmm13,%xmm2
+  DB  68,15,92,242                        ; subps         %xmm2,%xmm14
+  DB  69,15,89,244                        ; mulps         %xmm12,%xmm14
+  DB  102,69,15,58,8,230,1                ; roundps       $0x1,%xmm14,%xmm12
+  DB  69,15,40,238                        ; movaps        %xmm14,%xmm13
+  DB  69,15,92,236                        ; subps         %xmm12,%xmm13
+  DB  68,15,88,53,143,215,1,0             ; addps         0x1d78f(%rip),%xmm14        # 357c0 <_sk_srcover_bgra_8888_sse2_lowp+0xfa8>
+  DB  15,40,21,152,215,1,0                ; movaps        0x1d798(%rip),%xmm2        # 357d0 <_sk_srcover_bgra_8888_sse2_lowp+0xfb8>
+  DB  65,15,89,213                        ; mulps         %xmm13,%xmm2
+  DB  68,15,92,242                        ; subps         %xmm2,%xmm14
+  DB  68,15,40,37,152,215,1,0             ; movaps        0x1d798(%rip),%xmm12        # 357e0 <_sk_srcover_bgra_8888_sse2_lowp+0xfc8>
+  DB  69,15,92,229                        ; subps         %xmm13,%xmm12
+  DB  15,40,21,157,215,1,0                ; movaps        0x1d79d(%rip),%xmm2        # 357f0 <_sk_srcover_bgra_8888_sse2_lowp+0xfd8>
+  DB  65,15,94,212                        ; divps         %xmm12,%xmm2
+  DB  65,15,88,214                        ; addps         %xmm14,%xmm2
+  DB  15,89,21,158,215,1,0                ; mulps         0x1d79e(%rip),%xmm2        # 35800 <_sk_srcover_bgra_8888_sse2_lowp+0xfe8>
+  DB  102,15,91,210                       ; cvtps2dq      %xmm2,%xmm2
+  DB  69,15,194,211,4                     ; cmpneqps      %xmm11,%xmm10
+  DB  68,15,84,210                        ; andps         %xmm2,%xmm10
+  DB  243,15,16,80,20                     ; movss         0x14(%rax),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  65,15,88,210                        ; addps         %xmm10,%xmm2
+  DB  102,65,15,56,20,209                 ; blendvps      %xmm0,%xmm9,%xmm2
+  DB  65,15,95,211                        ; maxps         %xmm11,%xmm2
+  DB  15,93,21,35,212,1,0                 ; minps         0x1d423(%rip),%xmm2        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_parametric_a_sse41
+_sk_parametric_a_sse41 LABEL PROC
+  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,88,16                  ; movss         0x10(%rax),%xmm11
+  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
+  DB  243,68,15,16,72,12                  ; movss         0xc(%rax),%xmm9
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  68,15,89,203                        ; mulps         %xmm3,%xmm9
+  DB  243,68,15,16,80,4                   ; movss         0x4(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  68,15,89,211                        ; mulps         %xmm3,%xmm10
+  DB  15,40,195                           ; movaps        %xmm3,%xmm0
+  DB  65,15,194,195,2                     ; cmpleps       %xmm11,%xmm0
+  DB  243,15,16,88,24                     ; movss         0x18(%rax),%xmm3
+  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
+  DB  68,15,88,203                        ; addps         %xmm3,%xmm9
+  DB  243,68,15,16,32                     ; movss         (%rax),%xmm12
+  DB  243,15,16,88,8                      ; movss         0x8(%rax),%xmm3
+  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
+  DB  68,15,88,211                        ; addps         %xmm3,%xmm10
+  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
+  DB  69,15,87,219                        ; xorps         %xmm11,%xmm11
+  DB  69,15,91,242                        ; cvtdq2ps      %xmm10,%xmm14
+  DB  68,15,89,53,96,214,1,0              ; mulps         0x1d660(%rip),%xmm14        # 35760 <_sk_srcover_bgra_8888_sse2_lowp+0xf48>
+  DB  68,15,40,45,104,214,1,0             ; movaps        0x1d668(%rip),%xmm13        # 35770 <_sk_srcover_bgra_8888_sse2_lowp+0xf58>
+  DB  69,15,84,234                        ; andps         %xmm10,%xmm13
+  DB  68,15,86,45,140,211,1,0             ; orps          0x1d38c(%rip),%xmm13        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  68,15,88,53,100,214,1,0             ; addps         0x1d664(%rip),%xmm14        # 35780 <_sk_srcover_bgra_8888_sse2_lowp+0xf68>
+  DB  15,40,29,109,214,1,0                ; movaps        0x1d66d(%rip),%xmm3        # 35790 <_sk_srcover_bgra_8888_sse2_lowp+0xf78>
+  DB  65,15,89,221                        ; mulps         %xmm13,%xmm3
+  DB  68,15,92,243                        ; subps         %xmm3,%xmm14
+  DB  68,15,88,45,109,214,1,0             ; addps         0x1d66d(%rip),%xmm13        # 357a0 <_sk_srcover_bgra_8888_sse2_lowp+0xf88>
+  DB  15,40,29,118,214,1,0                ; movaps        0x1d676(%rip),%xmm3        # 357b0 <_sk_srcover_bgra_8888_sse2_lowp+0xf98>
+  DB  65,15,94,221                        ; divps         %xmm13,%xmm3
+  DB  68,15,92,243                        ; subps         %xmm3,%xmm14
+  DB  69,15,89,244                        ; mulps         %xmm12,%xmm14
+  DB  102,69,15,58,8,230,1                ; roundps       $0x1,%xmm14,%xmm12
+  DB  69,15,40,238                        ; movaps        %xmm14,%xmm13
+  DB  69,15,92,236                        ; subps         %xmm12,%xmm13
+  DB  68,15,88,53,99,214,1,0              ; addps         0x1d663(%rip),%xmm14        # 357c0 <_sk_srcover_bgra_8888_sse2_lowp+0xfa8>
+  DB  15,40,29,108,214,1,0                ; movaps        0x1d66c(%rip),%xmm3        # 357d0 <_sk_srcover_bgra_8888_sse2_lowp+0xfb8>
+  DB  65,15,89,221                        ; mulps         %xmm13,%xmm3
+  DB  68,15,92,243                        ; subps         %xmm3,%xmm14
+  DB  68,15,40,37,108,214,1,0             ; movaps        0x1d66c(%rip),%xmm12        # 357e0 <_sk_srcover_bgra_8888_sse2_lowp+0xfc8>
+  DB  69,15,92,229                        ; subps         %xmm13,%xmm12
+  DB  15,40,29,113,214,1,0                ; movaps        0x1d671(%rip),%xmm3        # 357f0 <_sk_srcover_bgra_8888_sse2_lowp+0xfd8>
+  DB  65,15,94,220                        ; divps         %xmm12,%xmm3
+  DB  65,15,88,222                        ; addps         %xmm14,%xmm3
+  DB  15,89,29,114,214,1,0                ; mulps         0x1d672(%rip),%xmm3        # 35800 <_sk_srcover_bgra_8888_sse2_lowp+0xfe8>
+  DB  102,15,91,219                       ; cvtps2dq      %xmm3,%xmm3
+  DB  69,15,194,211,4                     ; cmpneqps      %xmm11,%xmm10
+  DB  68,15,84,211                        ; andps         %xmm3,%xmm10
+  DB  243,15,16,88,20                     ; movss         0x14(%rax),%xmm3
+  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
+  DB  65,15,88,218                        ; addps         %xmm10,%xmm3
+  DB  102,65,15,56,20,217                 ; blendvps      %xmm0,%xmm9,%xmm3
+  DB  65,15,95,219                        ; maxps         %xmm11,%xmm3
+  DB  15,93,29,247,210,1,0                ; minps         0x1d2f7(%rip),%xmm3        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_gamma_sse41
+_sk_gamma_sse41 LABEL PROC
+  DB  72,131,236,88                       ; sub           $0x58,%rsp
+  DB  15,41,124,36,64                     ; movaps        %xmm7,0x40(%rsp)
+  DB  15,41,116,36,48                     ; movaps        %xmm6,0x30(%rsp)
+  DB  15,41,108,36,32                     ; movaps        %xmm5,0x20(%rsp)
+  DB  15,41,100,36,16                     ; movaps        %xmm4,0x10(%rsp)
+  DB  15,41,28,36                         ; movaps        %xmm3,(%rsp)
+  DB  68,15,40,226                        ; movaps        %xmm2,%xmm12
+  DB  68,15,40,209                        ; movaps        %xmm1,%xmm10
+  DB  15,40,224                           ; movaps        %xmm0,%xmm4
+  DB  15,91,244                           ; cvtdq2ps      %xmm4,%xmm6
+  DB  15,40,5,110,213,1,0                 ; movaps        0x1d56e(%rip),%xmm0        # 35760 <_sk_srcover_bgra_8888_sse2_lowp+0xf48>
+  DB  15,89,240                           ; mulps         %xmm0,%xmm6
+  DB  15,40,232                           ; movaps        %xmm0,%xmm5
+  DB  68,15,40,5,112,213,1,0              ; movaps        0x1d570(%rip),%xmm8        # 35770 <_sk_srcover_bgra_8888_sse2_lowp+0xf58>
+  DB  15,40,196                           ; movaps        %xmm4,%xmm0
+  DB  65,15,84,192                        ; andps         %xmm8,%xmm0
+  DB  15,86,5,146,210,1,0                 ; orps          0x1d292(%rip),%xmm0        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  15,88,53,107,213,1,0                ; addps         0x1d56b(%rip),%xmm6        # 35780 <_sk_srcover_bgra_8888_sse2_lowp+0xf68>
+  DB  68,15,40,29,115,213,1,0             ; movaps        0x1d573(%rip),%xmm11        # 35790 <_sk_srcover_bgra_8888_sse2_lowp+0xf78>
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  65,15,89,203                        ; mulps         %xmm11,%xmm1
+  DB  15,92,241                           ; subps         %xmm1,%xmm6
+  DB  68,15,40,61,113,213,1,0             ; movaps        0x1d571(%rip),%xmm15        # 357a0 <_sk_srcover_bgra_8888_sse2_lowp+0xf88>
+  DB  65,15,88,199                        ; addps         %xmm15,%xmm0
+  DB  68,15,40,53,117,213,1,0             ; movaps        0x1d575(%rip),%xmm14        # 357b0 <_sk_srcover_bgra_8888_sse2_lowp+0xf98>
+  DB  65,15,40,206                        ; movaps        %xmm14,%xmm1
+  DB  15,94,200                           ; divps         %xmm0,%xmm1
+  DB  15,92,241                           ; subps         %xmm1,%xmm6
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,15,16,16                        ; movss         (%rax),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  15,89,242                           ; mulps         %xmm2,%xmm6
+  DB  102,15,58,8,198,1                   ; roundps       $0x1,%xmm6,%xmm0
+  DB  15,40,206                           ; movaps        %xmm6,%xmm1
+  DB  15,92,200                           ; subps         %xmm0,%xmm1
+  DB  15,88,53,91,213,1,0                 ; addps         0x1d55b(%rip),%xmm6        # 357c0 <_sk_srcover_bgra_8888_sse2_lowp+0xfa8>
+  DB  15,40,29,116,213,1,0                ; movaps        0x1d574(%rip),%xmm3        # 357e0 <_sk_srcover_bgra_8888_sse2_lowp+0xfc8>
+  DB  68,15,40,203                        ; movaps        %xmm3,%xmm9
+  DB  68,15,92,201                        ; subps         %xmm1,%xmm9
+  DB  15,40,193                           ; movaps        %xmm1,%xmm0
+  DB  15,40,13,82,213,1,0                 ; movaps        0x1d552(%rip),%xmm1        # 357d0 <_sk_srcover_bgra_8888_sse2_lowp+0xfb8>
+  DB  15,89,193                           ; mulps         %xmm1,%xmm0
+  DB  15,92,240                           ; subps         %xmm0,%xmm6
+  DB  68,15,40,45,100,213,1,0             ; movaps        0x1d564(%rip),%xmm13        # 357f0 <_sk_srcover_bgra_8888_sse2_lowp+0xfd8>
+  DB  65,15,40,197                        ; movaps        %xmm13,%xmm0
+  DB  65,15,94,193                        ; divps         %xmm9,%xmm0
+  DB  15,88,198                           ; addps         %xmm6,%xmm0
+  DB  68,15,40,13,97,213,1,0              ; movaps        0x1d561(%rip),%xmm9        # 35800 <_sk_srcover_bgra_8888_sse2_lowp+0xfe8>
+  DB  65,15,89,193                        ; mulps         %xmm9,%xmm0
+  DB  102,15,91,192                       ; cvtps2dq      %xmm0,%xmm0
+  DB  15,87,246                           ; xorps         %xmm6,%xmm6
+  DB  15,194,230,4                        ; cmpneqps      %xmm6,%xmm4
+  DB  15,84,224                           ; andps         %xmm0,%xmm4
+  DB  65,15,91,194                        ; cvtdq2ps      %xmm10,%xmm0
+  DB  15,89,197                           ; mulps         %xmm5,%xmm0
+  DB  65,15,40,250                        ; movaps        %xmm10,%xmm7
+  DB  65,15,84,248                        ; andps         %xmm8,%xmm7
+  DB  15,40,53,217,209,1,0                ; movaps        0x1d1d9(%rip),%xmm6        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  15,86,254                           ; orps          %xmm6,%xmm7
+  DB  15,88,5,175,212,1,0                 ; addps         0x1d4af(%rip),%xmm0        # 35780 <_sk_srcover_bgra_8888_sse2_lowp+0xf68>
+  DB  15,40,239                           ; movaps        %xmm7,%xmm5
+  DB  65,15,89,235                        ; mulps         %xmm11,%xmm5
+  DB  15,92,197                           ; subps         %xmm5,%xmm0
+  DB  65,15,88,255                        ; addps         %xmm15,%xmm7
+  DB  65,15,40,238                        ; movaps        %xmm14,%xmm5
+  DB  15,94,239                           ; divps         %xmm7,%xmm5
+  DB  15,92,197                           ; subps         %xmm5,%xmm0
+  DB  15,89,194                           ; mulps         %xmm2,%xmm0
+  DB  102,15,58,8,232,1                   ; roundps       $0x1,%xmm0,%xmm5
+  DB  15,40,248                           ; movaps        %xmm0,%xmm7
+  DB  15,92,253                           ; subps         %xmm5,%xmm7
+  DB  68,15,40,61,192,212,1,0             ; movaps        0x1d4c0(%rip),%xmm15        # 357c0 <_sk_srcover_bgra_8888_sse2_lowp+0xfa8>
+  DB  65,15,88,199                        ; addps         %xmm15,%xmm0
+  DB  15,40,235                           ; movaps        %xmm3,%xmm5
+  DB  15,92,239                           ; subps         %xmm7,%xmm5
+  DB  15,89,249                           ; mulps         %xmm1,%xmm7
+  DB  15,92,199                           ; subps         %xmm7,%xmm0
+  DB  65,15,40,253                        ; movaps        %xmm13,%xmm7
+  DB  15,94,253                           ; divps         %xmm5,%xmm7
+  DB  15,88,248                           ; addps         %xmm0,%xmm7
+  DB  65,15,89,249                        ; mulps         %xmm9,%xmm7
+  DB  102,15,91,199                       ; cvtps2dq      %xmm7,%xmm0
+  DB  15,87,255                           ; xorps         %xmm7,%xmm7
+  DB  68,15,194,215,4                     ; cmpneqps      %xmm7,%xmm10
+  DB  68,15,84,208                        ; andps         %xmm0,%xmm10
+  DB  65,15,91,196                        ; cvtdq2ps      %xmm12,%xmm0
+  DB  15,89,5,39,212,1,0                  ; mulps         0x1d427(%rip),%xmm0        # 35760 <_sk_srcover_bgra_8888_sse2_lowp+0xf48>
+  DB  69,15,84,196                        ; andps         %xmm12,%xmm8
+  DB  68,15,86,198                        ; orps          %xmm6,%xmm8
+  DB  15,88,5,56,212,1,0                  ; addps         0x1d438(%rip),%xmm0        # 35780 <_sk_srcover_bgra_8888_sse2_lowp+0xf68>
+  DB  69,15,89,216                        ; mulps         %xmm8,%xmm11
+  DB  65,15,92,195                        ; subps         %xmm11,%xmm0
+  DB  68,15,88,5,72,212,1,0               ; addps         0x1d448(%rip),%xmm8        # 357a0 <_sk_srcover_bgra_8888_sse2_lowp+0xf88>
+  DB  69,15,94,240                        ; divps         %xmm8,%xmm14
+  DB  65,15,92,198                        ; subps         %xmm14,%xmm0
+  DB  15,89,194                           ; mulps         %xmm2,%xmm0
+  DB  102,15,58,8,208,1                   ; roundps       $0x1,%xmm0,%xmm2
+  DB  15,40,232                           ; movaps        %xmm0,%xmm5
+  DB  15,92,234                           ; subps         %xmm2,%xmm5
+  DB  65,15,88,199                        ; addps         %xmm15,%xmm0
+  DB  15,89,205                           ; mulps         %xmm5,%xmm1
+  DB  15,92,193                           ; subps         %xmm1,%xmm0
+  DB  15,92,221                           ; subps         %xmm5,%xmm3
+  DB  68,15,94,235                        ; divps         %xmm3,%xmm13
+  DB  68,15,88,232                        ; addps         %xmm0,%xmm13
+  DB  69,15,89,233                        ; mulps         %xmm9,%xmm13
+  DB  68,15,194,231,4                     ; cmpneqps      %xmm7,%xmm12
+  DB  102,65,15,91,197                    ; cvtps2dq      %xmm13,%xmm0
+  DB  68,15,84,224                        ; andps         %xmm0,%xmm12
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,196                           ; movaps        %xmm4,%xmm0
+  DB  65,15,40,202                        ; movaps        %xmm10,%xmm1
+  DB  65,15,40,212                        ; movaps        %xmm12,%xmm2
+  DB  15,40,28,36                         ; movaps        (%rsp),%xmm3
+  DB  15,40,100,36,16                     ; movaps        0x10(%rsp),%xmm4
+  DB  15,40,108,36,32                     ; movaps        0x20(%rsp),%xmm5
+  DB  15,40,116,36,48                     ; movaps        0x30(%rsp),%xmm6
+  DB  15,40,124,36,64                     ; movaps        0x40(%rsp),%xmm7
+  DB  72,131,196,88                       ; add           $0x58,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_gamma_dst_sse41
+_sk_gamma_dst_sse41 LABEL PROC
+  DB  72,131,236,88                       ; sub           $0x58,%rsp
+  DB  15,41,124,36,64                     ; movaps        %xmm7,0x40(%rsp)
+  DB  68,15,40,230                        ; movaps        %xmm6,%xmm12
+  DB  68,15,40,213                        ; movaps        %xmm5,%xmm10
+  DB  15,40,236                           ; movaps        %xmm4,%xmm5
+  DB  15,41,92,36,48                      ; movaps        %xmm3,0x30(%rsp)
+  DB  15,41,84,36,32                      ; movaps        %xmm2,0x20(%rsp)
+  DB  15,41,76,36,16                      ; movaps        %xmm1,0x10(%rsp)
+  DB  15,41,4,36                          ; movaps        %xmm0,(%rsp)
+  DB  15,91,221                           ; cvtdq2ps      %xmm5,%xmm3
+  DB  15,40,5,110,211,1,0                 ; movaps        0x1d36e(%rip),%xmm0        # 35760 <_sk_srcover_bgra_8888_sse2_lowp+0xf48>
+  DB  15,89,216                           ; mulps         %xmm0,%xmm3
+  DB  15,40,240                           ; movaps        %xmm0,%xmm6
+  DB  68,15,40,5,112,211,1,0              ; movaps        0x1d370(%rip),%xmm8        # 35770 <_sk_srcover_bgra_8888_sse2_lowp+0xf58>
+  DB  15,40,197                           ; movaps        %xmm5,%xmm0
+  DB  65,15,84,192                        ; andps         %xmm8,%xmm0
+  DB  15,86,5,146,208,1,0                 ; orps          0x1d092(%rip),%xmm0        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  15,88,29,107,211,1,0                ; addps         0x1d36b(%rip),%xmm3        # 35780 <_sk_srcover_bgra_8888_sse2_lowp+0xf68>
+  DB  68,15,40,29,115,211,1,0             ; movaps        0x1d373(%rip),%xmm11        # 35790 <_sk_srcover_bgra_8888_sse2_lowp+0xf78>
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  65,15,89,203                        ; mulps         %xmm11,%xmm1
+  DB  15,92,217                           ; subps         %xmm1,%xmm3
+  DB  68,15,40,61,113,211,1,0             ; movaps        0x1d371(%rip),%xmm15        # 357a0 <_sk_srcover_bgra_8888_sse2_lowp+0xf88>
+  DB  65,15,88,199                        ; addps         %xmm15,%xmm0
+  DB  68,15,40,53,117,211,1,0             ; movaps        0x1d375(%rip),%xmm14        # 357b0 <_sk_srcover_bgra_8888_sse2_lowp+0xf98>
+  DB  65,15,40,206                        ; movaps        %xmm14,%xmm1
+  DB  15,94,200                           ; divps         %xmm0,%xmm1
+  DB  15,92,217                           ; subps         %xmm1,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,15,16,16                        ; movss         (%rax),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  15,89,218                           ; mulps         %xmm2,%xmm3
+  DB  102,15,58,8,195,1                   ; roundps       $0x1,%xmm3,%xmm0
+  DB  15,40,203                           ; movaps        %xmm3,%xmm1
+  DB  15,92,200                           ; subps         %xmm0,%xmm1
+  DB  15,88,29,91,211,1,0                 ; addps         0x1d35b(%rip),%xmm3        # 357c0 <_sk_srcover_bgra_8888_sse2_lowp+0xfa8>
+  DB  15,40,37,116,211,1,0                ; movaps        0x1d374(%rip),%xmm4        # 357e0 <_sk_srcover_bgra_8888_sse2_lowp+0xfc8>
+  DB  68,15,40,204                        ; movaps        %xmm4,%xmm9
+  DB  68,15,92,201                        ; subps         %xmm1,%xmm9
+  DB  15,40,193                           ; movaps        %xmm1,%xmm0
+  DB  15,40,13,82,211,1,0                 ; movaps        0x1d352(%rip),%xmm1        # 357d0 <_sk_srcover_bgra_8888_sse2_lowp+0xfb8>
+  DB  15,89,193                           ; mulps         %xmm1,%xmm0
+  DB  15,92,216                           ; subps         %xmm0,%xmm3
+  DB  68,15,40,45,100,211,1,0             ; movaps        0x1d364(%rip),%xmm13        # 357f0 <_sk_srcover_bgra_8888_sse2_lowp+0xfd8>
+  DB  65,15,40,197                        ; movaps        %xmm13,%xmm0
+  DB  65,15,94,193                        ; divps         %xmm9,%xmm0
+  DB  15,88,195                           ; addps         %xmm3,%xmm0
+  DB  68,15,40,13,97,211,1,0              ; movaps        0x1d361(%rip),%xmm9        # 35800 <_sk_srcover_bgra_8888_sse2_lowp+0xfe8>
+  DB  65,15,89,193                        ; mulps         %xmm9,%xmm0
+  DB  102,15,91,192                       ; cvtps2dq      %xmm0,%xmm0
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  15,194,235,4                        ; cmpneqps      %xmm3,%xmm5
+  DB  15,84,232                           ; andps         %xmm0,%xmm5
+  DB  65,15,91,194                        ; cvtdq2ps      %xmm10,%xmm0
+  DB  15,89,198                           ; mulps         %xmm6,%xmm0
+  DB  65,15,40,250                        ; movaps        %xmm10,%xmm7
+  DB  65,15,84,248                        ; andps         %xmm8,%xmm7
+  DB  15,40,29,217,207,1,0                ; movaps        0x1cfd9(%rip),%xmm3        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  15,86,251                           ; orps          %xmm3,%xmm7
+  DB  15,88,5,175,210,1,0                 ; addps         0x1d2af(%rip),%xmm0        # 35780 <_sk_srcover_bgra_8888_sse2_lowp+0xf68>
+  DB  15,40,247                           ; movaps        %xmm7,%xmm6
+  DB  65,15,89,243                        ; mulps         %xmm11,%xmm6
+  DB  15,92,198                           ; subps         %xmm6,%xmm0
+  DB  65,15,88,255                        ; addps         %xmm15,%xmm7
+  DB  65,15,40,246                        ; movaps        %xmm14,%xmm6
+  DB  15,94,247                           ; divps         %xmm7,%xmm6
+  DB  15,92,198                           ; subps         %xmm6,%xmm0
+  DB  15,89,194                           ; mulps         %xmm2,%xmm0
+  DB  102,15,58,8,240,1                   ; roundps       $0x1,%xmm0,%xmm6
+  DB  15,40,248                           ; movaps        %xmm0,%xmm7
+  DB  15,92,254                           ; subps         %xmm6,%xmm7
+  DB  68,15,40,61,192,210,1,0             ; movaps        0x1d2c0(%rip),%xmm15        # 357c0 <_sk_srcover_bgra_8888_sse2_lowp+0xfa8>
+  DB  65,15,88,199                        ; addps         %xmm15,%xmm0
+  DB  15,40,244                           ; movaps        %xmm4,%xmm6
+  DB  15,92,247                           ; subps         %xmm7,%xmm6
+  DB  15,89,249                           ; mulps         %xmm1,%xmm7
+  DB  15,92,199                           ; subps         %xmm7,%xmm0
+  DB  65,15,40,253                        ; movaps        %xmm13,%xmm7
+  DB  15,94,254                           ; divps         %xmm6,%xmm7
+  DB  15,88,248                           ; addps         %xmm0,%xmm7
+  DB  65,15,89,249                        ; mulps         %xmm9,%xmm7
+  DB  102,15,91,199                       ; cvtps2dq      %xmm7,%xmm0
+  DB  15,87,255                           ; xorps         %xmm7,%xmm7
+  DB  68,15,194,215,4                     ; cmpneqps      %xmm7,%xmm10
+  DB  68,15,84,208                        ; andps         %xmm0,%xmm10
+  DB  65,15,91,196                        ; cvtdq2ps      %xmm12,%xmm0
+  DB  15,89,5,39,210,1,0                  ; mulps         0x1d227(%rip),%xmm0        # 35760 <_sk_srcover_bgra_8888_sse2_lowp+0xf48>
+  DB  69,15,84,196                        ; andps         %xmm12,%xmm8
+  DB  68,15,86,195                        ; orps          %xmm3,%xmm8
+  DB  15,88,5,56,210,1,0                  ; addps         0x1d238(%rip),%xmm0        # 35780 <_sk_srcover_bgra_8888_sse2_lowp+0xf68>
+  DB  69,15,89,216                        ; mulps         %xmm8,%xmm11
+  DB  65,15,92,195                        ; subps         %xmm11,%xmm0
+  DB  68,15,88,5,72,210,1,0               ; addps         0x1d248(%rip),%xmm8        # 357a0 <_sk_srcover_bgra_8888_sse2_lowp+0xf88>
+  DB  69,15,94,240                        ; divps         %xmm8,%xmm14
+  DB  65,15,92,198                        ; subps         %xmm14,%xmm0
+  DB  15,89,194                           ; mulps         %xmm2,%xmm0
+  DB  102,15,58,8,208,1                   ; roundps       $0x1,%xmm0,%xmm2
+  DB  15,40,240                           ; movaps        %xmm0,%xmm6
+  DB  15,92,242                           ; subps         %xmm2,%xmm6
+  DB  65,15,88,199                        ; addps         %xmm15,%xmm0
+  DB  15,89,206                           ; mulps         %xmm6,%xmm1
+  DB  15,92,193                           ; subps         %xmm1,%xmm0
+  DB  15,92,230                           ; subps         %xmm6,%xmm4
+  DB  68,15,94,236                        ; divps         %xmm4,%xmm13
+  DB  68,15,88,232                        ; addps         %xmm0,%xmm13
+  DB  69,15,89,233                        ; mulps         %xmm9,%xmm13
+  DB  68,15,194,231,4                     ; cmpneqps      %xmm7,%xmm12
+  DB  102,65,15,91,197                    ; cvtps2dq      %xmm13,%xmm0
+  DB  68,15,84,224                        ; andps         %xmm0,%xmm12
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,4,36                          ; movaps        (%rsp),%xmm0
+  DB  15,40,76,36,16                      ; movaps        0x10(%rsp),%xmm1
+  DB  15,40,84,36,32                      ; movaps        0x20(%rsp),%xmm2
+  DB  15,40,92,36,48                      ; movaps        0x30(%rsp),%xmm3
+  DB  15,40,229                           ; movaps        %xmm5,%xmm4
+  DB  65,15,40,234                        ; movaps        %xmm10,%xmm5
+  DB  65,15,40,244                        ; movaps        %xmm12,%xmm6
+  DB  15,40,124,36,64                     ; movaps        0x40(%rsp),%xmm7
+  DB  72,131,196,88                       ; add           $0x58,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_lab_to_xyz_sse41
+_sk_lab_to_xyz_sse41 LABEL PROC
+  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
+  DB  68,15,89,5,67,210,1,0               ; mulps         0x1d243(%rip),%xmm8        # 35810 <_sk_srcover_bgra_8888_sse2_lowp+0xff8>
+  DB  68,15,40,13,187,207,1,0             ; movaps        0x1cfbb(%rip),%xmm9        # 35590 <_sk_srcover_bgra_8888_sse2_lowp+0xd78>
+  DB  65,15,89,201                        ; mulps         %xmm9,%xmm1
+  DB  15,40,5,64,210,1,0                  ; movaps        0x1d240(%rip),%xmm0        # 35820 <_sk_srcover_bgra_8888_sse2_lowp+0x1008>
+  DB  15,88,200                           ; addps         %xmm0,%xmm1
+  DB  65,15,89,209                        ; mulps         %xmm9,%xmm2
+  DB  15,88,208                           ; addps         %xmm0,%xmm2
+  DB  68,15,88,5,62,210,1,0               ; addps         0x1d23e(%rip),%xmm8        # 35830 <_sk_srcover_bgra_8888_sse2_lowp+0x1018>
+  DB  68,15,89,5,70,210,1,0               ; mulps         0x1d246(%rip),%xmm8        # 35840 <_sk_srcover_bgra_8888_sse2_lowp+0x1028>
+  DB  15,89,13,79,210,1,0                 ; mulps         0x1d24f(%rip),%xmm1        # 35850 <_sk_srcover_bgra_8888_sse2_lowp+0x1038>
+  DB  65,15,88,200                        ; addps         %xmm8,%xmm1
+  DB  15,89,21,84,210,1,0                 ; mulps         0x1d254(%rip),%xmm2        # 35860 <_sk_srcover_bgra_8888_sse2_lowp+0x1048>
+  DB  69,15,40,208                        ; movaps        %xmm8,%xmm10
+  DB  68,15,92,210                        ; subps         %xmm2,%xmm10
+  DB  68,15,40,217                        ; movaps        %xmm1,%xmm11
+  DB  69,15,89,219                        ; mulps         %xmm11,%xmm11
+  DB  68,15,89,217                        ; mulps         %xmm1,%xmm11
+  DB  68,15,40,13,72,210,1,0              ; movaps        0x1d248(%rip),%xmm9        # 35870 <_sk_srcover_bgra_8888_sse2_lowp+0x1058>
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  65,15,194,195,1                     ; cmpltps       %xmm11,%xmm0
+  DB  15,40,21,72,210,1,0                 ; movaps        0x1d248(%rip),%xmm2        # 35880 <_sk_srcover_bgra_8888_sse2_lowp+0x1068>
+  DB  15,88,202                           ; addps         %xmm2,%xmm1
+  DB  68,15,40,37,77,210,1,0              ; movaps        0x1d24d(%rip),%xmm12        # 35890 <_sk_srcover_bgra_8888_sse2_lowp+0x1078>
+  DB  65,15,89,204                        ; mulps         %xmm12,%xmm1
+  DB  102,65,15,56,20,203                 ; blendvps      %xmm0,%xmm11,%xmm1
+  DB  69,15,40,216                        ; movaps        %xmm8,%xmm11
+  DB  69,15,89,219                        ; mulps         %xmm11,%xmm11
+  DB  69,15,89,216                        ; mulps         %xmm8,%xmm11
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  65,15,194,195,1                     ; cmpltps       %xmm11,%xmm0
+  DB  68,15,88,194                        ; addps         %xmm2,%xmm8
+  DB  69,15,89,196                        ; mulps         %xmm12,%xmm8
+  DB  102,69,15,56,20,195                 ; blendvps      %xmm0,%xmm11,%xmm8
+  DB  69,15,40,218                        ; movaps        %xmm10,%xmm11
+  DB  69,15,89,219                        ; mulps         %xmm11,%xmm11
+  DB  69,15,89,218                        ; mulps         %xmm10,%xmm11
+  DB  69,15,194,203,1                     ; cmpltps       %xmm11,%xmm9
+  DB  65,15,88,210                        ; addps         %xmm10,%xmm2
+  DB  65,15,89,212                        ; mulps         %xmm12,%xmm2
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  102,65,15,56,20,211                 ; blendvps      %xmm0,%xmm11,%xmm2
+  DB  15,89,13,6,210,1,0                  ; mulps         0x1d206(%rip),%xmm1        # 358a0 <_sk_srcover_bgra_8888_sse2_lowp+0x1088>
+  DB  15,89,21,15,210,1,0                 ; mulps         0x1d20f(%rip),%xmm2        # 358b0 <_sk_srcover_bgra_8888_sse2_lowp+0x1098>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,193                           ; movaps        %xmm1,%xmm0
+  DB  65,15,40,200                        ; movaps        %xmm8,%xmm1
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_load_a8_sse41
+_sk_load_a8_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,39                              ; jne           186e5 <_sk_load_a8_sse41+0x39>
+  DB  102,65,15,56,49,4,16                ; pmovzxbd      (%r8,%rdx,1),%xmm0
+  DB  102,15,219,5,147,206,1,0            ; pand          0x1ce93(%rip),%xmm0        # 35560 <_sk_srcover_bgra_8888_sse2_lowp+0xd48>
+  DB  15,91,216                           ; cvtdq2ps      %xmm0,%xmm3
+  DB  15,89,29,233,207,1,0                ; mulps         0x1cfe9(%rip),%xmm3        # 356c0 <_sk_srcover_bgra_8888_sse2_lowp+0xea8>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,49                              ; je            1871e <_sk_load_a8_sse41+0x72>
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,19                              ; je            18708 <_sk_load_a8_sse41+0x5c>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,204                             ; jne           186c5 <_sk_load_a8_sse41+0x19>
+  DB  65,15,182,68,16,2                   ; movzbl        0x2(%r8,%rdx,1),%eax
+  DB  102,15,110,192                      ; movd          %eax,%xmm0
+  DB  102,15,112,192,69                   ; pshufd        $0x45,%xmm0,%xmm0
+  DB  65,15,183,4,16                      ; movzwl        (%r8,%rdx,1),%eax
+  DB  102,15,110,200                      ; movd          %eax,%xmm1
+  DB  102,15,56,49,201                    ; pmovzxbd      %xmm1,%xmm1
+  DB  102,15,58,14,193,15                 ; pblendw       $0xf,%xmm1,%xmm0
+  DB  235,167                             ; jmp           186c5 <_sk_load_a8_sse41+0x19>
+  DB  65,15,182,4,16                      ; movzbl        (%r8,%rdx,1),%eax
+  DB  102,15,110,192                      ; movd          %eax,%xmm0
+  DB  235,156                             ; jmp           186c5 <_sk_load_a8_sse41+0x19>
+
+PUBLIC _sk_load_a8_dst_sse41
+_sk_load_a8_dst_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,39                              ; jne           18762 <_sk_load_a8_dst_sse41+0x39>
+  DB  102,65,15,56,49,36,16               ; pmovzxbd      (%r8,%rdx,1),%xmm4
+  DB  102,15,219,37,22,206,1,0            ; pand          0x1ce16(%rip),%xmm4        # 35560 <_sk_srcover_bgra_8888_sse2_lowp+0xd48>
+  DB  15,91,252                           ; cvtdq2ps      %xmm4,%xmm7
+  DB  15,89,61,108,207,1,0                ; mulps         0x1cf6c(%rip),%xmm7        # 356c0 <_sk_srcover_bgra_8888_sse2_lowp+0xea8>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  102,15,239,237                      ; pxor          %xmm5,%xmm5
+  DB  15,87,246                           ; xorps         %xmm6,%xmm6
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,49                              ; je            1879b <_sk_load_a8_dst_sse41+0x72>
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,19                              ; je            18785 <_sk_load_a8_dst_sse41+0x5c>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,204                             ; jne           18742 <_sk_load_a8_dst_sse41+0x19>
+  DB  65,15,182,68,16,2                   ; movzbl        0x2(%r8,%rdx,1),%eax
+  DB  102,15,110,224                      ; movd          %eax,%xmm4
+  DB  102,15,112,228,69                   ; pshufd        $0x45,%xmm4,%xmm4
+  DB  65,15,183,4,16                      ; movzwl        (%r8,%rdx,1),%eax
+  DB  102,15,110,232                      ; movd          %eax,%xmm5
+  DB  102,15,56,49,237                    ; pmovzxbd      %xmm5,%xmm5
+  DB  102,15,58,14,229,15                 ; pblendw       $0xf,%xmm5,%xmm4
+  DB  235,167                             ; jmp           18742 <_sk_load_a8_dst_sse41+0x19>
+  DB  65,15,182,4,16                      ; movzbl        (%r8,%rdx,1),%eax
+  DB  102,15,110,224                      ; movd          %eax,%xmm4
+  DB  235,156                             ; jmp           18742 <_sk_load_a8_dst_sse41+0x19>
+
+PUBLIC _sk_gather_a8_sse41
+_sk_gather_a8_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,15,16,80,12                     ; movss         0xc(%rax),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  102,69,15,118,192                   ; pcmpeqd       %xmm8,%xmm8
+  DB  102,65,15,254,208                   ; paddd         %xmm8,%xmm2
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,95,200                        ; maxps         %xmm0,%xmm9
+  DB  68,15,93,202                        ; minps         %xmm2,%xmm9
+  DB  243,15,16,64,16                     ; movss         0x10(%rax),%xmm0
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  102,65,15,254,192                   ; paddd         %xmm8,%xmm0
+  DB  15,95,217                           ; maxps         %xmm1,%xmm3
+  DB  15,93,216                           ; minps         %xmm0,%xmm3
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  243,15,91,195                       ; cvttps2dq     %xmm3,%xmm0
+  DB  102,15,110,72,8                     ; movd          0x8(%rax),%xmm1
+  DB  102,15,112,201,0                    ; pshufd        $0x0,%xmm1,%xmm1
+  DB  102,15,56,64,200                    ; pmulld        %xmm0,%xmm1
+  DB  243,65,15,91,193                    ; cvttps2dq     %xmm9,%xmm0
+  DB  102,15,254,193                      ; paddd         %xmm1,%xmm0
+  DB  102,72,15,58,22,192,1               ; pextrq        $0x1,%xmm0,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  102,73,15,126,194                   ; movq          %xmm0,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  71,15,182,20,16                     ; movzbl        (%r8,%r10,1),%r10d
+  DB  71,15,182,28,24                     ; movzbl        (%r8,%r11,1),%r11d
+  DB  102,65,15,110,195                   ; movd          %r11d,%xmm0
+  DB  102,65,15,58,32,194,1               ; pinsrb        $0x1,%r10d,%xmm0
+  DB  71,15,182,12,8                      ; movzbl        (%r8,%r9,1),%r9d
+  DB  102,65,15,58,32,193,2               ; pinsrb        $0x2,%r9d,%xmm0
+  DB  65,15,182,4,0                       ; movzbl        (%r8,%rax,1),%eax
+  DB  102,15,58,32,192,3                  ; pinsrb        $0x3,%eax,%xmm0
+  DB  102,15,56,49,192                    ; pmovzxbd      %xmm0,%xmm0
+  DB  15,91,216                           ; cvtdq2ps      %xmm0,%xmm3
+  DB  15,89,29,109,206,1,0                ; mulps         0x1ce6d(%rip),%xmm3        # 356c0 <_sk_srcover_bgra_8888_sse2_lowp+0xea8>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_store_a8_sse41
+_sk_store_a8_sse41 LABEL PROC
+  DB  72,131,236,4                        ; sub           $0x4,%rsp
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  68,15,95,195                        ; maxps         %xmm3,%xmm8
+  DB  68,15,93,5,46,204,1,0               ; minps         0x1cc2e(%rip),%xmm8        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  68,15,89,5,6,205,1,0                ; mulps         0x1cd06(%rip),%xmm8        # 35590 <_sk_srcover_bgra_8888_sse2_lowp+0xd78>
+  DB  102,69,15,91,192                    ; cvtps2dq      %xmm8,%xmm8
+  DB  102,68,15,56,43,192                 ; packusdw      %xmm0,%xmm8
+  DB  102,68,15,103,192                   ; packuswb      %xmm0,%xmm8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,17                              ; jne           188b0 <_sk_store_a8_sse41+0x4f>
+  DB  102,68,15,126,192                   ; movd          %xmm8,%eax
+  DB  65,137,4,16                         ; mov           %eax,(%r8,%rdx,1)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  72,131,196,4                        ; add           $0x4,%rsp
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,69,15,56,49,192                 ; pmovzxbd      %xmm8,%xmm8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,37                              ; je            188e3 <_sk_store_a8_sse41+0x82>
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,13                              ; je            188cf <_sk_store_a8_sse41+0x6e>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,226                             ; jne           188a8 <_sk_store_a8_sse41+0x47>
+  DB  102,69,15,58,20,68,16,2,8           ; pextrb        $0x8,%xmm8,0x2(%r8,%rdx,1)
+  DB  102,68,15,56,0,5,231,207,1,0        ; pshufb        0x1cfe7(%rip),%xmm8        # 358c0 <_sk_srcover_bgra_8888_sse2_lowp+0x10a8>
+  DB  102,69,15,58,21,4,16,0              ; pextrw        $0x0,%xmm8,(%r8,%rdx,1)
+  DB  235,197                             ; jmp           188a8 <_sk_store_a8_sse41+0x47>
+  DB  102,69,15,58,20,4,16,0              ; pextrb        $0x0,%xmm8,(%r8,%rdx,1)
+  DB  235,187                             ; jmp           188a8 <_sk_store_a8_sse41+0x47>
+
+PUBLIC _sk_load_g8_sse41
+_sk_load_g8_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,42                              ; jne           18929 <_sk_load_g8_sse41+0x3c>
+  DB  102,65,15,56,49,4,16                ; pmovzxbd      (%r8,%rdx,1),%xmm0
+  DB  102,15,219,5,82,204,1,0             ; pand          0x1cc52(%rip),%xmm0        # 35560 <_sk_srcover_bgra_8888_sse2_lowp+0xd48>
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  15,89,5,168,205,1,0                 ; mulps         0x1cda8(%rip),%xmm0        # 356c0 <_sk_srcover_bgra_8888_sse2_lowp+0xea8>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,29,143,203,1,0                ; movaps        0x1cb8f(%rip),%xmm3        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  15,40,208                           ; movaps        %xmm0,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,49                              ; je            18962 <_sk_load_g8_sse41+0x75>
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,19                              ; je            1894c <_sk_load_g8_sse41+0x5f>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,201                             ; jne           18906 <_sk_load_g8_sse41+0x19>
+  DB  65,15,182,68,16,2                   ; movzbl        0x2(%r8,%rdx,1),%eax
+  DB  102,15,110,192                      ; movd          %eax,%xmm0
+  DB  102,15,112,192,69                   ; pshufd        $0x45,%xmm0,%xmm0
+  DB  65,15,183,4,16                      ; movzwl        (%r8,%rdx,1),%eax
+  DB  102,15,110,200                      ; movd          %eax,%xmm1
+  DB  102,15,56,49,201                    ; pmovzxbd      %xmm1,%xmm1
+  DB  102,15,58,14,193,15                 ; pblendw       $0xf,%xmm1,%xmm0
+  DB  235,164                             ; jmp           18906 <_sk_load_g8_sse41+0x19>
+  DB  65,15,182,4,16                      ; movzbl        (%r8,%rdx,1),%eax
+  DB  102,15,110,192                      ; movd          %eax,%xmm0
+  DB  235,153                             ; jmp           18906 <_sk_load_g8_sse41+0x19>
+
+PUBLIC _sk_load_g8_dst_sse41
+_sk_load_g8_dst_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,42                              ; jne           189a9 <_sk_load_g8_dst_sse41+0x3c>
+  DB  102,65,15,56,49,36,16               ; pmovzxbd      (%r8,%rdx,1),%xmm4
+  DB  102,15,219,37,210,203,1,0           ; pand          0x1cbd2(%rip),%xmm4        # 35560 <_sk_srcover_bgra_8888_sse2_lowp+0xd48>
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  15,89,37,40,205,1,0                 ; mulps         0x1cd28(%rip),%xmm4        # 356c0 <_sk_srcover_bgra_8888_sse2_lowp+0xea8>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,61,15,203,1,0                 ; movaps        0x1cb0f(%rip),%xmm7        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  15,40,236                           ; movaps        %xmm4,%xmm5
+  DB  15,40,244                           ; movaps        %xmm4,%xmm6
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,49                              ; je            189e2 <_sk_load_g8_dst_sse41+0x75>
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,19                              ; je            189cc <_sk_load_g8_dst_sse41+0x5f>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,201                             ; jne           18986 <_sk_load_g8_dst_sse41+0x19>
+  DB  65,15,182,68,16,2                   ; movzbl        0x2(%r8,%rdx,1),%eax
+  DB  102,15,110,224                      ; movd          %eax,%xmm4
+  DB  102,15,112,228,69                   ; pshufd        $0x45,%xmm4,%xmm4
+  DB  65,15,183,4,16                      ; movzwl        (%r8,%rdx,1),%eax
+  DB  102,15,110,232                      ; movd          %eax,%xmm5
+  DB  102,15,56,49,237                    ; pmovzxbd      %xmm5,%xmm5
+  DB  102,15,58,14,229,15                 ; pblendw       $0xf,%xmm5,%xmm4
+  DB  235,164                             ; jmp           18986 <_sk_load_g8_dst_sse41+0x19>
+  DB  65,15,182,4,16                      ; movzbl        (%r8,%rdx,1),%eax
+  DB  102,15,110,224                      ; movd          %eax,%xmm4
+  DB  235,153                             ; jmp           18986 <_sk_load_g8_dst_sse41+0x19>
+
+PUBLIC _sk_gather_g8_sse41
+_sk_gather_g8_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,15,16,80,12                     ; movss         0xc(%rax),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  102,69,15,118,192                   ; pcmpeqd       %xmm8,%xmm8
+  DB  102,65,15,254,208                   ; paddd         %xmm8,%xmm2
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,95,200                        ; maxps         %xmm0,%xmm9
+  DB  68,15,93,202                        ; minps         %xmm2,%xmm9
+  DB  243,15,16,64,16                     ; movss         0x10(%rax),%xmm0
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  102,65,15,254,192                   ; paddd         %xmm8,%xmm0
+  DB  15,95,217                           ; maxps         %xmm1,%xmm3
+  DB  15,93,216                           ; minps         %xmm0,%xmm3
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  243,15,91,195                       ; cvttps2dq     %xmm3,%xmm0
+  DB  102,15,110,72,8                     ; movd          0x8(%rax),%xmm1
+  DB  102,15,112,201,0                    ; pshufd        $0x0,%xmm1,%xmm1
+  DB  102,15,56,64,200                    ; pmulld        %xmm0,%xmm1
+  DB  243,65,15,91,193                    ; cvttps2dq     %xmm9,%xmm0
+  DB  102,15,254,193                      ; paddd         %xmm1,%xmm0
+  DB  102,72,15,58,22,192,1               ; pextrq        $0x1,%xmm0,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  102,73,15,126,194                   ; movq          %xmm0,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  71,15,182,20,16                     ; movzbl        (%r8,%r10,1),%r10d
+  DB  71,15,182,28,24                     ; movzbl        (%r8,%r11,1),%r11d
+  DB  102,65,15,110,195                   ; movd          %r11d,%xmm0
+  DB  102,65,15,58,32,194,1               ; pinsrb        $0x1,%r10d,%xmm0
+  DB  71,15,182,12,8                      ; movzbl        (%r8,%r9,1),%r9d
+  DB  102,65,15,58,32,193,2               ; pinsrb        $0x2,%r9d,%xmm0
+  DB  65,15,182,4,0                       ; movzbl        (%r8,%rax,1),%eax
+  DB  102,15,58,32,192,3                  ; pinsrb        $0x3,%eax,%xmm0
+  DB  102,15,56,49,192                    ; pmovzxbd      %xmm0,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  15,89,5,38,204,1,0                  ; mulps         0x1cc26(%rip),%xmm0        # 356c0 <_sk_srcover_bgra_8888_sse2_lowp+0xea8>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,29,13,202,1,0                 ; movaps        0x1ca0d(%rip),%xmm3        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  15,40,208                           ; movaps        %xmm0,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_load_565_sse41
+_sk_load_565_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,80                              ; jne           18b10 <_sk_load_565_sse41+0x65>
+  DB  102,65,15,56,51,20,80               ; pmovzxwd      (%r8,%rdx,2),%xmm2
+  DB  102,15,111,5,1,204,1,0              ; movdqa        0x1cc01(%rip),%xmm0        # 356d0 <_sk_srcover_bgra_8888_sse2_lowp+0xeb8>
+  DB  102,15,219,194                      ; pand          %xmm2,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  15,89,5,3,204,1,0                   ; mulps         0x1cc03(%rip),%xmm0        # 356e0 <_sk_srcover_bgra_8888_sse2_lowp+0xec8>
+  DB  102,15,111,13,11,204,1,0            ; movdqa        0x1cc0b(%rip),%xmm1        # 356f0 <_sk_srcover_bgra_8888_sse2_lowp+0xed8>
+  DB  102,15,219,202                      ; pand          %xmm2,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  15,89,13,13,204,1,0                 ; mulps         0x1cc0d(%rip),%xmm1        # 35700 <_sk_srcover_bgra_8888_sse2_lowp+0xee8>
+  DB  102,15,219,21,21,204,1,0            ; pand          0x1cc15(%rip),%xmm2        # 35710 <_sk_srcover_bgra_8888_sse2_lowp+0xef8>
+  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
+  DB  15,89,21,27,204,1,0                 ; mulps         0x1cc1b(%rip),%xmm2        # 35720 <_sk_srcover_bgra_8888_sse2_lowp+0xf08>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,29,162,201,1,0                ; movaps        0x1c9a2(%rip),%xmm3        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,46                              ; je            18b46 <_sk_load_565_sse41+0x9b>
+  DB  102,15,239,210                      ; pxor          %xmm2,%xmm2
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,19                              ; je            18b33 <_sk_load_565_sse41+0x88>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,163                             ; jne           18ac7 <_sk_load_565_sse41+0x1c>
+  DB  65,15,183,68,80,4                   ; movzwl        0x4(%r8,%rdx,2),%eax
+  DB  102,15,110,192                      ; movd          %eax,%xmm0
+  DB  102,15,112,208,69                   ; pshufd        $0x45,%xmm0,%xmm2
+  DB  102,65,15,110,4,80                  ; movd          (%r8,%rdx,2),%xmm0
+  DB  102,15,56,51,192                    ; pmovzxwd      %xmm0,%xmm0
+  DB  102,15,58,14,208,15                 ; pblendw       $0xf,%xmm0,%xmm2
+  DB  235,129                             ; jmp           18ac7 <_sk_load_565_sse41+0x1c>
+  DB  65,15,183,4,80                      ; movzwl        (%r8,%rdx,2),%eax
+  DB  102,15,110,208                      ; movd          %eax,%xmm2
+  DB  233,115,255,255,255                 ; jmpq          18ac7 <_sk_load_565_sse41+0x1c>
+
+PUBLIC _sk_load_565_dst_sse41
+_sk_load_565_dst_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,80                              ; jne           18bb9 <_sk_load_565_dst_sse41+0x65>
+  DB  102,65,15,56,51,52,80               ; pmovzxwd      (%r8,%rdx,2),%xmm6
+  DB  102,15,111,37,88,203,1,0            ; movdqa        0x1cb58(%rip),%xmm4        # 356d0 <_sk_srcover_bgra_8888_sse2_lowp+0xeb8>
+  DB  102,15,219,230                      ; pand          %xmm6,%xmm4
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  15,89,37,90,203,1,0                 ; mulps         0x1cb5a(%rip),%xmm4        # 356e0 <_sk_srcover_bgra_8888_sse2_lowp+0xec8>
+  DB  102,15,111,45,98,203,1,0            ; movdqa        0x1cb62(%rip),%xmm5        # 356f0 <_sk_srcover_bgra_8888_sse2_lowp+0xed8>
+  DB  102,15,219,238                      ; pand          %xmm6,%xmm5
+  DB  15,91,237                           ; cvtdq2ps      %xmm5,%xmm5
+  DB  15,89,45,100,203,1,0                ; mulps         0x1cb64(%rip),%xmm5        # 35700 <_sk_srcover_bgra_8888_sse2_lowp+0xee8>
+  DB  102,15,219,53,108,203,1,0           ; pand          0x1cb6c(%rip),%xmm6        # 35710 <_sk_srcover_bgra_8888_sse2_lowp+0xef8>
+  DB  15,91,246                           ; cvtdq2ps      %xmm6,%xmm6
+  DB  15,89,53,114,203,1,0                ; mulps         0x1cb72(%rip),%xmm6        # 35720 <_sk_srcover_bgra_8888_sse2_lowp+0xf08>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,61,249,200,1,0                ; movaps        0x1c8f9(%rip),%xmm7        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,46                              ; je            18bef <_sk_load_565_dst_sse41+0x9b>
+  DB  102,15,239,246                      ; pxor          %xmm6,%xmm6
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,19                              ; je            18bdc <_sk_load_565_dst_sse41+0x88>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,163                             ; jne           18b70 <_sk_load_565_dst_sse41+0x1c>
+  DB  65,15,183,68,80,4                   ; movzwl        0x4(%r8,%rdx,2),%eax
+  DB  102,15,110,224                      ; movd          %eax,%xmm4
+  DB  102,15,112,244,69                   ; pshufd        $0x45,%xmm4,%xmm6
+  DB  102,65,15,110,36,80                 ; movd          (%r8,%rdx,2),%xmm4
+  DB  102,15,56,51,228                    ; pmovzxwd      %xmm4,%xmm4
+  DB  102,15,58,14,244,15                 ; pblendw       $0xf,%xmm4,%xmm6
+  DB  235,129                             ; jmp           18b70 <_sk_load_565_dst_sse41+0x1c>
+  DB  65,15,183,4,80                      ; movzwl        (%r8,%rdx,2),%eax
+  DB  102,15,110,240                      ; movd          %eax,%xmm6
+  DB  233,115,255,255,255                 ; jmpq          18b70 <_sk_load_565_dst_sse41+0x1c>
+
+PUBLIC _sk_gather_565_sse41
+_sk_gather_565_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,15,16,80,12                     ; movss         0xc(%rax),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  102,69,15,118,192                   ; pcmpeqd       %xmm8,%xmm8
+  DB  102,65,15,254,208                   ; paddd         %xmm8,%xmm2
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,95,200                        ; maxps         %xmm0,%xmm9
+  DB  68,15,93,202                        ; minps         %xmm2,%xmm9
+  DB  243,15,16,64,16                     ; movss         0x10(%rax),%xmm0
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  102,65,15,254,192                   ; paddd         %xmm8,%xmm0
+  DB  15,95,217                           ; maxps         %xmm1,%xmm3
+  DB  15,93,216                           ; minps         %xmm0,%xmm3
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  243,15,91,195                       ; cvttps2dq     %xmm3,%xmm0
+  DB  102,15,110,72,8                     ; movd          0x8(%rax),%xmm1
+  DB  102,15,112,201,0                    ; pshufd        $0x0,%xmm1,%xmm1
+  DB  102,15,56,64,200                    ; pmulld        %xmm0,%xmm1
+  DB  243,65,15,91,193                    ; cvttps2dq     %xmm9,%xmm0
+  DB  102,15,254,193                      ; paddd         %xmm1,%xmm0
+  DB  102,72,15,58,22,192,1               ; pextrq        $0x1,%xmm0,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  102,73,15,126,194                   ; movq          %xmm0,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  71,15,183,20,80                     ; movzwl        (%r8,%r10,2),%r10d
+  DB  71,15,183,28,88                     ; movzwl        (%r8,%r11,2),%r11d
+  DB  102,65,15,110,195                   ; movd          %r11d,%xmm0
+  DB  102,65,15,196,194,1                 ; pinsrw        $0x1,%r10d,%xmm0
+  DB  71,15,183,12,72                     ; movzwl        (%r8,%r9,2),%r9d
+  DB  102,65,15,196,193,2                 ; pinsrw        $0x2,%r9d,%xmm0
+  DB  65,15,183,4,64                      ; movzwl        (%r8,%rax,2),%eax
+  DB  102,15,196,192,3                    ; pinsrw        $0x3,%eax,%xmm0
+  DB  102,15,56,51,208                    ; pmovzxwd      %xmm0,%xmm2
+  DB  102,15,111,5,43,202,1,0             ; movdqa        0x1ca2b(%rip),%xmm0        # 356d0 <_sk_srcover_bgra_8888_sse2_lowp+0xeb8>
+  DB  102,15,219,194                      ; pand          %xmm2,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  15,89,5,45,202,1,0                  ; mulps         0x1ca2d(%rip),%xmm0        # 356e0 <_sk_srcover_bgra_8888_sse2_lowp+0xec8>
+  DB  102,15,111,13,53,202,1,0            ; movdqa        0x1ca35(%rip),%xmm1        # 356f0 <_sk_srcover_bgra_8888_sse2_lowp+0xed8>
+  DB  102,15,219,202                      ; pand          %xmm2,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  15,89,13,55,202,1,0                 ; mulps         0x1ca37(%rip),%xmm1        # 35700 <_sk_srcover_bgra_8888_sse2_lowp+0xee8>
+  DB  102,15,219,21,63,202,1,0            ; pand          0x1ca3f(%rip),%xmm2        # 35710 <_sk_srcover_bgra_8888_sse2_lowp+0xef8>
+  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
+  DB  15,89,21,69,202,1,0                 ; mulps         0x1ca45(%rip),%xmm2        # 35720 <_sk_srcover_bgra_8888_sse2_lowp+0xf08>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,29,204,199,1,0                ; movaps        0x1c7cc(%rip),%xmm3        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_store_565_sse41
+_sk_store_565_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,95,200                        ; maxps         %xmm0,%xmm9
+  DB  68,15,40,21,166,199,1,0             ; movaps        0x1c7a6(%rip),%xmm10        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,93,202                        ; minps         %xmm10,%xmm9
+  DB  68,15,40,29,186,203,1,0             ; movaps        0x1cbba(%rip),%xmm11        # 358d0 <_sk_srcover_bgra_8888_sse2_lowp+0x10b8>
+  DB  69,15,89,203                        ; mulps         %xmm11,%xmm9
+  DB  102,69,15,91,201                    ; cvtps2dq      %xmm9,%xmm9
+  DB  102,65,15,114,241,11                ; pslld         $0xb,%xmm9
+  DB  69,15,87,228                        ; xorps         %xmm12,%xmm12
+  DB  68,15,95,225                        ; maxps         %xmm1,%xmm12
+  DB  69,15,93,226                        ; minps         %xmm10,%xmm12
+  DB  68,15,89,37,167,203,1,0             ; mulps         0x1cba7(%rip),%xmm12        # 358e0 <_sk_srcover_bgra_8888_sse2_lowp+0x10c8>
+  DB  102,69,15,91,228                    ; cvtps2dq      %xmm12,%xmm12
+  DB  102,65,15,114,244,5                 ; pslld         $0x5,%xmm12
+  DB  68,15,95,194                        ; maxps         %xmm2,%xmm8
+  DB  69,15,93,194                        ; minps         %xmm10,%xmm8
+  DB  69,15,89,195                        ; mulps         %xmm11,%xmm8
+  DB  102,69,15,91,192                    ; cvtps2dq      %xmm8,%xmm8
+  DB  102,69,15,86,193                    ; orpd          %xmm9,%xmm8
+  DB  102,69,15,86,196                    ; orpd          %xmm12,%xmm8
+  DB  102,68,15,56,43,192                 ; packusdw      %xmm0,%xmm8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,10                              ; jne           18d74 <_sk_store_565_sse41+0x8e>
+  DB  102,69,15,214,4,80                  ; movq          %xmm8,(%r8,%rdx,2)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,69,15,56,51,192                 ; pmovzxwd      %xmm8,%xmm8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,31                              ; je            18da1 <_sk_store_565_sse41+0xbb>
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,13                              ; je            18d93 <_sk_store_565_sse41+0xad>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,230                             ; jne           18d70 <_sk_store_565_sse41+0x8a>
+  DB  102,69,15,58,21,68,80,4,4           ; pextrw        $0x4,%xmm8,0x4(%r8,%rdx,2)
+  DB  242,69,15,112,192,232               ; pshuflw       $0xe8,%xmm8,%xmm8
+  DB  102,69,15,126,4,80                  ; movd          %xmm8,(%r8,%rdx,2)
+  DB  235,207                             ; jmp           18d70 <_sk_store_565_sse41+0x8a>
+  DB  102,69,15,58,21,4,80,0              ; pextrw        $0x0,%xmm8,(%r8,%rdx,2)
+  DB  235,197                             ; jmp           18d70 <_sk_store_565_sse41+0x8a>
+
+PUBLIC _sk_load_4444_sse41
+_sk_load_4444_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,95                              ; jne           18e1f <_sk_load_4444_sse41+0x74>
+  DB  102,65,15,56,51,28,80               ; pmovzxwd      (%r8,%rdx,2),%xmm3
+  DB  102,15,111,5,33,203,1,0             ; movdqa        0x1cb21(%rip),%xmm0        # 358f0 <_sk_srcover_bgra_8888_sse2_lowp+0x10d8>
+  DB  102,15,219,195                      ; pand          %xmm3,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  15,89,5,35,203,1,0                  ; mulps         0x1cb23(%rip),%xmm0        # 35900 <_sk_srcover_bgra_8888_sse2_lowp+0x10e8>
+  DB  102,15,111,13,43,203,1,0            ; movdqa        0x1cb2b(%rip),%xmm1        # 35910 <_sk_srcover_bgra_8888_sse2_lowp+0x10f8>
+  DB  102,15,219,203                      ; pand          %xmm3,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  15,89,13,45,203,1,0                 ; mulps         0x1cb2d(%rip),%xmm1        # 35920 <_sk_srcover_bgra_8888_sse2_lowp+0x1108>
+  DB  102,15,111,21,53,203,1,0            ; movdqa        0x1cb35(%rip),%xmm2        # 35930 <_sk_srcover_bgra_8888_sse2_lowp+0x1118>
+  DB  102,15,219,211                      ; pand          %xmm3,%xmm2
+  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
+  DB  15,89,21,55,203,1,0                 ; mulps         0x1cb37(%rip),%xmm2        # 35940 <_sk_srcover_bgra_8888_sse2_lowp+0x1128>
+  DB  102,15,219,29,63,203,1,0            ; pand          0x1cb3f(%rip),%xmm3        # 35950 <_sk_srcover_bgra_8888_sse2_lowp+0x1138>
+  DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
+  DB  15,89,29,69,203,1,0                 ; mulps         0x1cb45(%rip),%xmm3        # 35960 <_sk_srcover_bgra_8888_sse2_lowp+0x1148>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,49                              ; je            18e58 <_sk_load_4444_sse41+0xad>
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,19                              ; je            18e42 <_sk_load_4444_sse41+0x97>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,148                             ; jne           18dc7 <_sk_load_4444_sse41+0x1c>
+  DB  65,15,183,68,80,4                   ; movzwl        0x4(%r8,%rdx,2),%eax
+  DB  102,15,110,192                      ; movd          %eax,%xmm0
+  DB  102,15,112,216,69                   ; pshufd        $0x45,%xmm0,%xmm3
+  DB  102,65,15,110,4,80                  ; movd          (%r8,%rdx,2),%xmm0
+  DB  102,15,56,51,192                    ; pmovzxwd      %xmm0,%xmm0
+  DB  102,15,58,14,216,15                 ; pblendw       $0xf,%xmm0,%xmm3
+  DB  233,111,255,255,255                 ; jmpq          18dc7 <_sk_load_4444_sse41+0x1c>
+  DB  65,15,183,4,80                      ; movzwl        (%r8,%rdx,2),%eax
+  DB  102,15,110,216                      ; movd          %eax,%xmm3
+  DB  233,97,255,255,255                  ; jmpq          18dc7 <_sk_load_4444_sse41+0x1c>
+
+PUBLIC _sk_load_4444_dst_sse41
+_sk_load_4444_dst_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,95                              ; jne           18eda <_sk_load_4444_dst_sse41+0x74>
+  DB  102,65,15,56,51,60,80               ; pmovzxwd      (%r8,%rdx,2),%xmm7
+  DB  102,15,111,37,102,202,1,0           ; movdqa        0x1ca66(%rip),%xmm4        # 358f0 <_sk_srcover_bgra_8888_sse2_lowp+0x10d8>
+  DB  102,15,219,231                      ; pand          %xmm7,%xmm4
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  15,89,37,104,202,1,0                ; mulps         0x1ca68(%rip),%xmm4        # 35900 <_sk_srcover_bgra_8888_sse2_lowp+0x10e8>
+  DB  102,15,111,45,112,202,1,0           ; movdqa        0x1ca70(%rip),%xmm5        # 35910 <_sk_srcover_bgra_8888_sse2_lowp+0x10f8>
+  DB  102,15,219,239                      ; pand          %xmm7,%xmm5
+  DB  15,91,237                           ; cvtdq2ps      %xmm5,%xmm5
+  DB  15,89,45,114,202,1,0                ; mulps         0x1ca72(%rip),%xmm5        # 35920 <_sk_srcover_bgra_8888_sse2_lowp+0x1108>
+  DB  102,15,111,53,122,202,1,0           ; movdqa        0x1ca7a(%rip),%xmm6        # 35930 <_sk_srcover_bgra_8888_sse2_lowp+0x1118>
+  DB  102,15,219,247                      ; pand          %xmm7,%xmm6
+  DB  15,91,246                           ; cvtdq2ps      %xmm6,%xmm6
+  DB  15,89,53,124,202,1,0                ; mulps         0x1ca7c(%rip),%xmm6        # 35940 <_sk_srcover_bgra_8888_sse2_lowp+0x1128>
+  DB  102,15,219,61,132,202,1,0           ; pand          0x1ca84(%rip),%xmm7        # 35950 <_sk_srcover_bgra_8888_sse2_lowp+0x1138>
+  DB  15,91,255                           ; cvtdq2ps      %xmm7,%xmm7
+  DB  15,89,61,138,202,1,0                ; mulps         0x1ca8a(%rip),%xmm7        # 35960 <_sk_srcover_bgra_8888_sse2_lowp+0x1148>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,49                              ; je            18f13 <_sk_load_4444_dst_sse41+0xad>
+  DB  102,15,239,255                      ; pxor          %xmm7,%xmm7
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,19                              ; je            18efd <_sk_load_4444_dst_sse41+0x97>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,148                             ; jne           18e82 <_sk_load_4444_dst_sse41+0x1c>
+  DB  65,15,183,68,80,4                   ; movzwl        0x4(%r8,%rdx,2),%eax
+  DB  102,15,110,224                      ; movd          %eax,%xmm4
+  DB  102,15,112,252,69                   ; pshufd        $0x45,%xmm4,%xmm7
+  DB  102,65,15,110,36,80                 ; movd          (%r8,%rdx,2),%xmm4
+  DB  102,15,56,51,228                    ; pmovzxwd      %xmm4,%xmm4
+  DB  102,15,58,14,252,15                 ; pblendw       $0xf,%xmm4,%xmm7
+  DB  233,111,255,255,255                 ; jmpq          18e82 <_sk_load_4444_dst_sse41+0x1c>
+  DB  65,15,183,4,80                      ; movzwl        (%r8,%rdx,2),%eax
+  DB  102,15,110,248                      ; movd          %eax,%xmm7
+  DB  233,97,255,255,255                  ; jmpq          18e82 <_sk_load_4444_dst_sse41+0x1c>
+
+PUBLIC _sk_gather_4444_sse41
+_sk_gather_4444_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,15,16,80,12                     ; movss         0xc(%rax),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  102,69,15,118,192                   ; pcmpeqd       %xmm8,%xmm8
+  DB  102,65,15,254,208                   ; paddd         %xmm8,%xmm2
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,95,200                        ; maxps         %xmm0,%xmm9
+  DB  68,15,93,202                        ; minps         %xmm2,%xmm9
+  DB  243,15,16,64,16                     ; movss         0x10(%rax),%xmm0
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  102,65,15,254,192                   ; paddd         %xmm8,%xmm0
+  DB  15,95,217                           ; maxps         %xmm1,%xmm3
+  DB  15,93,216                           ; minps         %xmm0,%xmm3
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  243,15,91,195                       ; cvttps2dq     %xmm3,%xmm0
+  DB  102,15,110,72,8                     ; movd          0x8(%rax),%xmm1
+  DB  102,15,112,201,0                    ; pshufd        $0x0,%xmm1,%xmm1
+  DB  102,15,56,64,200                    ; pmulld        %xmm0,%xmm1
+  DB  243,65,15,91,193                    ; cvttps2dq     %xmm9,%xmm0
+  DB  102,15,254,193                      ; paddd         %xmm1,%xmm0
+  DB  102,72,15,58,22,192,1               ; pextrq        $0x1,%xmm0,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  102,73,15,126,194                   ; movq          %xmm0,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  71,15,183,20,80                     ; movzwl        (%r8,%r10,2),%r10d
+  DB  71,15,183,28,88                     ; movzwl        (%r8,%r11,2),%r11d
+  DB  102,65,15,110,195                   ; movd          %r11d,%xmm0
+  DB  102,65,15,196,194,1                 ; pinsrw        $0x1,%r10d,%xmm0
+  DB  71,15,183,12,72                     ; movzwl        (%r8,%r9,2),%r9d
+  DB  102,65,15,196,193,2                 ; pinsrw        $0x2,%r9d,%xmm0
+  DB  65,15,183,4,64                      ; movzwl        (%r8,%rax,2),%eax
+  DB  102,15,196,192,3                    ; pinsrw        $0x3,%eax,%xmm0
+  DB  102,15,56,51,216                    ; pmovzxwd      %xmm0,%xmm3
+  DB  102,15,111,5,39,201,1,0             ; movdqa        0x1c927(%rip),%xmm0        # 358f0 <_sk_srcover_bgra_8888_sse2_lowp+0x10d8>
+  DB  102,15,219,195                      ; pand          %xmm3,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  15,89,5,41,201,1,0                  ; mulps         0x1c929(%rip),%xmm0        # 35900 <_sk_srcover_bgra_8888_sse2_lowp+0x10e8>
+  DB  102,15,111,13,49,201,1,0            ; movdqa        0x1c931(%rip),%xmm1        # 35910 <_sk_srcover_bgra_8888_sse2_lowp+0x10f8>
+  DB  102,15,219,203                      ; pand          %xmm3,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  15,89,13,51,201,1,0                 ; mulps         0x1c933(%rip),%xmm1        # 35920 <_sk_srcover_bgra_8888_sse2_lowp+0x1108>
+  DB  102,15,111,21,59,201,1,0            ; movdqa        0x1c93b(%rip),%xmm2        # 35930 <_sk_srcover_bgra_8888_sse2_lowp+0x1118>
+  DB  102,15,219,211                      ; pand          %xmm3,%xmm2
+  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
+  DB  15,89,21,61,201,1,0                 ; mulps         0x1c93d(%rip),%xmm2        # 35940 <_sk_srcover_bgra_8888_sse2_lowp+0x1128>
+  DB  102,15,219,29,69,201,1,0            ; pand          0x1c945(%rip),%xmm3        # 35950 <_sk_srcover_bgra_8888_sse2_lowp+0x1138>
+  DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
+  DB  15,89,29,75,201,1,0                 ; mulps         0x1c94b(%rip),%xmm3        # 35960 <_sk_srcover_bgra_8888_sse2_lowp+0x1148>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_store_4444_sse41
+_sk_store_4444_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,95,200                        ; maxps         %xmm0,%xmm9
+  DB  68,15,40,21,115,196,1,0             ; movaps        0x1c473(%rip),%xmm10        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,93,202                        ; minps         %xmm10,%xmm9
+  DB  68,15,40,29,39,201,1,0              ; movaps        0x1c927(%rip),%xmm11        # 35970 <_sk_srcover_bgra_8888_sse2_lowp+0x1158>
+  DB  69,15,89,203                        ; mulps         %xmm11,%xmm9
+  DB  102,69,15,91,201                    ; cvtps2dq      %xmm9,%xmm9
+  DB  102,65,15,114,241,12                ; pslld         $0xc,%xmm9
+  DB  69,15,87,228                        ; xorps         %xmm12,%xmm12
+  DB  68,15,95,225                        ; maxps         %xmm1,%xmm12
+  DB  69,15,93,226                        ; minps         %xmm10,%xmm12
+  DB  69,15,89,227                        ; mulps         %xmm11,%xmm12
+  DB  102,69,15,91,228                    ; cvtps2dq      %xmm12,%xmm12
+  DB  102,65,15,114,244,8                 ; pslld         $0x8,%xmm12
+  DB  102,69,15,235,225                   ; por           %xmm9,%xmm12
+  DB  102,69,15,239,201                   ; pxor          %xmm9,%xmm9
+  DB  68,15,95,202                        ; maxps         %xmm2,%xmm9
+  DB  69,15,93,202                        ; minps         %xmm10,%xmm9
+  DB  69,15,89,203                        ; mulps         %xmm11,%xmm9
+  DB  102,69,15,91,201                    ; cvtps2dq      %xmm9,%xmm9
+  DB  102,65,15,114,241,4                 ; pslld         $0x4,%xmm9
+  DB  68,15,95,195                        ; maxps         %xmm3,%xmm8
+  DB  69,15,93,194                        ; minps         %xmm10,%xmm8
+  DB  69,15,89,195                        ; mulps         %xmm11,%xmm8
+  DB  102,69,15,91,192                    ; cvtps2dq      %xmm8,%xmm8
+  DB  102,69,15,86,193                    ; orpd          %xmm9,%xmm8
+  DB  102,69,15,86,196                    ; orpd          %xmm12,%xmm8
+  DB  102,68,15,56,43,192                 ; packusdw      %xmm0,%xmm8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,10                              ; jne           190c4 <_sk_store_4444_sse41+0xab>
+  DB  102,69,15,214,4,80                  ; movq          %xmm8,(%r8,%rdx,2)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,69,15,56,51,192                 ; pmovzxwd      %xmm8,%xmm8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,31                              ; je            190f1 <_sk_store_4444_sse41+0xd8>
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,13                              ; je            190e3 <_sk_store_4444_sse41+0xca>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,230                             ; jne           190c0 <_sk_store_4444_sse41+0xa7>
+  DB  102,69,15,58,21,68,80,4,4           ; pextrw        $0x4,%xmm8,0x4(%r8,%rdx,2)
+  DB  242,69,15,112,192,232               ; pshuflw       $0xe8,%xmm8,%xmm8
+  DB  102,69,15,126,4,80                  ; movd          %xmm8,(%r8,%rdx,2)
+  DB  235,207                             ; jmp           190c0 <_sk_store_4444_sse41+0xa7>
+  DB  102,69,15,58,21,4,80,0              ; pextrw        $0x0,%xmm8,(%r8,%rdx,2)
+  DB  235,197                             ; jmp           190c0 <_sk_store_4444_sse41+0xa7>
+
+PUBLIC _sk_load_8888_sse41
+_sk_load_8888_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,89                              ; jne           1916a <_sk_load_8888_sse41+0x6f>
+  DB  243,65,15,111,28,144                ; movdqu        (%r8,%rdx,4),%xmm3
+  DB  102,15,111,5,65,196,1,0             ; movdqa        0x1c441(%rip),%xmm0        # 35560 <_sk_srcover_bgra_8888_sse2_lowp+0xd48>
+  DB  102,15,219,195                      ; pand          %xmm3,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  68,15,40,5,146,197,1,0              ; movaps        0x1c592(%rip),%xmm8        # 356c0 <_sk_srcover_bgra_8888_sse2_lowp+0xea8>
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
+  DB  102,15,56,0,13,49,196,1,0           ; pshufb        0x1c431(%rip),%xmm1        # 35570 <_sk_srcover_bgra_8888_sse2_lowp+0xd58>
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
+  DB  102,15,111,211                      ; movdqa        %xmm3,%xmm2
+  DB  102,15,56,0,21,45,196,1,0           ; pshufb        0x1c42d(%rip),%xmm2        # 35580 <_sk_srcover_bgra_8888_sse2_lowp+0xd68>
+  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
+  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
+  DB  102,15,114,211,24                   ; psrld         $0x18,%xmm3
+  DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
+  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,41                              ; je            1919b <_sk_load_8888_sse41+0xa0>
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,16                              ; je            1918a <_sk_load_8888_sse41+0x8f>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,153                             ; jne           19117 <_sk_load_8888_sse41+0x1c>
+  DB  102,65,15,110,68,144,8              ; movd          0x8(%r8,%rdx,4),%xmm0
+  DB  102,15,112,216,69                   ; pshufd        $0x45,%xmm0,%xmm3
+  DB  243,65,15,126,4,144                 ; movq          (%r8,%rdx,4),%xmm0
+  DB  102,15,58,14,216,15                 ; pblendw       $0xf,%xmm0,%xmm3
+  DB  233,124,255,255,255                 ; jmpq          19117 <_sk_load_8888_sse41+0x1c>
+  DB  102,65,15,110,28,144                ; movd          (%r8,%rdx,4),%xmm3
+  DB  233,113,255,255,255                 ; jmpq          19117 <_sk_load_8888_sse41+0x1c>
+
+PUBLIC _sk_load_8888_dst_sse41
+_sk_load_8888_dst_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,89                              ; jne           19215 <_sk_load_8888_dst_sse41+0x6f>
+  DB  243,65,15,111,60,144                ; movdqu        (%r8,%rdx,4),%xmm7
+  DB  102,15,111,37,150,195,1,0           ; movdqa        0x1c396(%rip),%xmm4        # 35560 <_sk_srcover_bgra_8888_sse2_lowp+0xd48>
+  DB  102,15,219,231                      ; pand          %xmm7,%xmm4
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  68,15,40,5,231,196,1,0              ; movaps        0x1c4e7(%rip),%xmm8        # 356c0 <_sk_srcover_bgra_8888_sse2_lowp+0xea8>
+  DB  65,15,89,224                        ; mulps         %xmm8,%xmm4
+  DB  102,15,111,239                      ; movdqa        %xmm7,%xmm5
+  DB  102,15,56,0,45,134,195,1,0          ; pshufb        0x1c386(%rip),%xmm5        # 35570 <_sk_srcover_bgra_8888_sse2_lowp+0xd58>
+  DB  15,91,237                           ; cvtdq2ps      %xmm5,%xmm5
+  DB  65,15,89,232                        ; mulps         %xmm8,%xmm5
+  DB  102,15,111,247                      ; movdqa        %xmm7,%xmm6
+  DB  102,15,56,0,53,130,195,1,0          ; pshufb        0x1c382(%rip),%xmm6        # 35580 <_sk_srcover_bgra_8888_sse2_lowp+0xd68>
+  DB  15,91,246                           ; cvtdq2ps      %xmm6,%xmm6
+  DB  65,15,89,240                        ; mulps         %xmm8,%xmm6
+  DB  102,15,114,215,24                   ; psrld         $0x18,%xmm7
+  DB  15,91,255                           ; cvtdq2ps      %xmm7,%xmm7
+  DB  65,15,89,248                        ; mulps         %xmm8,%xmm7
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,41                              ; je            19246 <_sk_load_8888_dst_sse41+0xa0>
+  DB  102,15,239,255                      ; pxor          %xmm7,%xmm7
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,16                              ; je            19235 <_sk_load_8888_dst_sse41+0x8f>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,153                             ; jne           191c2 <_sk_load_8888_dst_sse41+0x1c>
+  DB  102,65,15,110,100,144,8             ; movd          0x8(%r8,%rdx,4),%xmm4
+  DB  102,15,112,252,69                   ; pshufd        $0x45,%xmm4,%xmm7
+  DB  243,65,15,126,36,144                ; movq          (%r8,%rdx,4),%xmm4
+  DB  102,15,58,14,252,15                 ; pblendw       $0xf,%xmm4,%xmm7
+  DB  233,124,255,255,255                 ; jmpq          191c2 <_sk_load_8888_dst_sse41+0x1c>
+  DB  102,65,15,110,60,144                ; movd          (%r8,%rdx,4),%xmm7
+  DB  233,113,255,255,255                 ; jmpq          191c2 <_sk_load_8888_dst_sse41+0x1c>
+
+PUBLIC _sk_gather_8888_sse41
+_sk_gather_8888_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,15,16,80,12                     ; movss         0xc(%rax),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  102,69,15,118,192                   ; pcmpeqd       %xmm8,%xmm8
+  DB  102,65,15,254,208                   ; paddd         %xmm8,%xmm2
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,95,200                        ; maxps         %xmm0,%xmm9
+  DB  68,15,93,202                        ; minps         %xmm2,%xmm9
+  DB  243,15,16,64,16                     ; movss         0x10(%rax),%xmm0
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  102,65,15,254,192                   ; paddd         %xmm8,%xmm0
+  DB  15,95,217                           ; maxps         %xmm1,%xmm3
+  DB  15,93,216                           ; minps         %xmm0,%xmm3
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  243,15,91,195                       ; cvttps2dq     %xmm3,%xmm0
+  DB  102,15,110,72,8                     ; movd          0x8(%rax),%xmm1
+  DB  102,15,112,201,0                    ; pshufd        $0x0,%xmm1,%xmm1
+  DB  102,15,56,64,200                    ; pmulld        %xmm0,%xmm1
+  DB  243,65,15,91,193                    ; cvttps2dq     %xmm9,%xmm0
+  DB  102,15,254,193                      ; paddd         %xmm1,%xmm0
+  DB  102,72,15,126,192                   ; movq          %xmm0,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  102,73,15,58,22,194,1               ; pextrq        $0x1,%xmm0,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  102,67,15,110,28,136                ; movd          (%r8,%r9,4),%xmm3
+  DB  102,65,15,58,34,28,128,1            ; pinsrd        $0x1,(%r8,%rax,4),%xmm3
+  DB  102,67,15,58,34,28,152,2            ; pinsrd        $0x2,(%r8,%r11,4),%xmm3
+  DB  102,67,15,58,34,28,144,3            ; pinsrd        $0x3,(%r8,%r10,4),%xmm3
+  DB  102,15,111,5,120,194,1,0            ; movdqa        0x1c278(%rip),%xmm0        # 35560 <_sk_srcover_bgra_8888_sse2_lowp+0xd48>
+  DB  102,15,219,195                      ; pand          %xmm3,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  68,15,40,5,201,195,1,0              ; movaps        0x1c3c9(%rip),%xmm8        # 356c0 <_sk_srcover_bgra_8888_sse2_lowp+0xea8>
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
+  DB  102,15,56,0,13,104,194,1,0          ; pshufb        0x1c268(%rip),%xmm1        # 35570 <_sk_srcover_bgra_8888_sse2_lowp+0xd58>
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
+  DB  102,15,111,211                      ; movdqa        %xmm3,%xmm2
+  DB  102,15,56,0,21,100,194,1,0          ; pshufb        0x1c264(%rip),%xmm2        # 35580 <_sk_srcover_bgra_8888_sse2_lowp+0xd68>
+  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
+  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
+  DB  102,15,114,211,24                   ; psrld         $0x18,%xmm3
+  DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
+  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_store_8888_sse41
+_sk_store_8888_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,95,200                        ; maxps         %xmm0,%xmm9
+  DB  68,15,40,21,88,193,1,0              ; movaps        0x1c158(%rip),%xmm10        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,93,202                        ; minps         %xmm10,%xmm9
+  DB  68,15,40,29,44,194,1,0              ; movaps        0x1c22c(%rip),%xmm11        # 35590 <_sk_srcover_bgra_8888_sse2_lowp+0xd78>
+  DB  69,15,89,203                        ; mulps         %xmm11,%xmm9
+  DB  102,69,15,91,201                    ; cvtps2dq      %xmm9,%xmm9
+  DB  69,15,87,228                        ; xorps         %xmm12,%xmm12
+  DB  68,15,95,225                        ; maxps         %xmm1,%xmm12
+  DB  69,15,93,226                        ; minps         %xmm10,%xmm12
+  DB  69,15,89,227                        ; mulps         %xmm11,%xmm12
+  DB  102,69,15,91,228                    ; cvtps2dq      %xmm12,%xmm12
+  DB  102,65,15,114,244,8                 ; pslld         $0x8,%xmm12
+  DB  102,69,15,235,225                   ; por           %xmm9,%xmm12
+  DB  102,69,15,87,201                    ; xorpd         %xmm9,%xmm9
+  DB  68,15,95,202                        ; maxps         %xmm2,%xmm9
+  DB  69,15,93,202                        ; minps         %xmm10,%xmm9
+  DB  69,15,89,203                        ; mulps         %xmm11,%xmm9
+  DB  102,69,15,91,201                    ; cvtps2dq      %xmm9,%xmm9
+  DB  102,65,15,114,241,16                ; pslld         $0x10,%xmm9
+  DB  68,15,95,195                        ; maxps         %xmm3,%xmm8
+  DB  69,15,93,194                        ; minps         %xmm10,%xmm8
+  DB  69,15,89,195                        ; mulps         %xmm11,%xmm8
+  DB  102,69,15,91,192                    ; cvtps2dq      %xmm8,%xmm8
+  DB  102,65,15,114,240,24                ; pslld         $0x18,%xmm8
+  DB  102,69,15,235,193                   ; por           %xmm9,%xmm8
+  DB  102,69,15,235,196                   ; por           %xmm12,%xmm8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,10                              ; jne           193d9 <_sk_store_8888_sse41+0xa6>
+  DB  243,69,15,127,4,144                 ; movdqu        %xmm8,(%r8,%rdx,4)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,25                              ; je            193fa <_sk_store_8888_sse41+0xc7>
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,13                              ; je            193f2 <_sk_store_8888_sse41+0xbf>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,236                             ; jne           193d5 <_sk_store_8888_sse41+0xa2>
+  DB  102,69,15,58,22,68,144,8,2          ; pextrd        $0x2,%xmm8,0x8(%r8,%rdx,4)
+  DB  102,69,15,214,4,144                 ; movq          %xmm8,(%r8,%rdx,4)
+  DB  235,219                             ; jmp           193d5 <_sk_store_8888_sse41+0xa2>
+  DB  102,69,15,126,4,144                 ; movd          %xmm8,(%r8,%rdx,4)
+  DB  235,211                             ; jmp           193d5 <_sk_store_8888_sse41+0xa2>
+
+PUBLIC _sk_load_bgra_sse41
+_sk_load_bgra_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,89                              ; jne           19471 <_sk_load_bgra_sse41+0x6f>
+  DB  243,65,15,111,28,144                ; movdqu        (%r8,%rdx,4),%xmm3
+  DB  102,15,111,5,58,193,1,0             ; movdqa        0x1c13a(%rip),%xmm0        # 35560 <_sk_srcover_bgra_8888_sse2_lowp+0xd48>
+  DB  102,15,219,195                      ; pand          %xmm3,%xmm0
+  DB  15,91,208                           ; cvtdq2ps      %xmm0,%xmm2
+  DB  68,15,40,5,139,194,1,0              ; movaps        0x1c28b(%rip),%xmm8        # 356c0 <_sk_srcover_bgra_8888_sse2_lowp+0xea8>
+  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
+  DB  102,15,111,195                      ; movdqa        %xmm3,%xmm0
+  DB  102,15,56,0,5,42,193,1,0            ; pshufb        0x1c12a(%rip),%xmm0        # 35570 <_sk_srcover_bgra_8888_sse2_lowp+0xd58>
+  DB  15,91,200                           ; cvtdq2ps      %xmm0,%xmm1
+  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
+  DB  102,15,111,195                      ; movdqa        %xmm3,%xmm0
+  DB  102,15,56,0,5,38,193,1,0            ; pshufb        0x1c126(%rip),%xmm0        # 35580 <_sk_srcover_bgra_8888_sse2_lowp+0xd68>
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  102,15,114,211,24                   ; psrld         $0x18,%xmm3
+  DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
+  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,41                              ; je            194a2 <_sk_load_bgra_sse41+0xa0>
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,16                              ; je            19491 <_sk_load_bgra_sse41+0x8f>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,153                             ; jne           1941e <_sk_load_bgra_sse41+0x1c>
+  DB  102,65,15,110,68,144,8              ; movd          0x8(%r8,%rdx,4),%xmm0
+  DB  102,15,112,216,69                   ; pshufd        $0x45,%xmm0,%xmm3
+  DB  243,65,15,126,4,144                 ; movq          (%r8,%rdx,4),%xmm0
+  DB  102,15,58,14,216,15                 ; pblendw       $0xf,%xmm0,%xmm3
+  DB  233,124,255,255,255                 ; jmpq          1941e <_sk_load_bgra_sse41+0x1c>
+  DB  102,65,15,110,28,144                ; movd          (%r8,%rdx,4),%xmm3
+  DB  233,113,255,255,255                 ; jmpq          1941e <_sk_load_bgra_sse41+0x1c>
+
+PUBLIC _sk_load_bgra_dst_sse41
+_sk_load_bgra_dst_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,89                              ; jne           1951c <_sk_load_bgra_dst_sse41+0x6f>
+  DB  243,65,15,111,60,144                ; movdqu        (%r8,%rdx,4),%xmm7
+  DB  102,15,111,37,143,192,1,0           ; movdqa        0x1c08f(%rip),%xmm4        # 35560 <_sk_srcover_bgra_8888_sse2_lowp+0xd48>
+  DB  102,15,219,231                      ; pand          %xmm7,%xmm4
+  DB  15,91,244                           ; cvtdq2ps      %xmm4,%xmm6
+  DB  68,15,40,5,224,193,1,0              ; movaps        0x1c1e0(%rip),%xmm8        # 356c0 <_sk_srcover_bgra_8888_sse2_lowp+0xea8>
+  DB  65,15,89,240                        ; mulps         %xmm8,%xmm6
+  DB  102,15,111,231                      ; movdqa        %xmm7,%xmm4
+  DB  102,15,56,0,37,127,192,1,0          ; pshufb        0x1c07f(%rip),%xmm4        # 35570 <_sk_srcover_bgra_8888_sse2_lowp+0xd58>
+  DB  15,91,236                           ; cvtdq2ps      %xmm4,%xmm5
+  DB  65,15,89,232                        ; mulps         %xmm8,%xmm5
+  DB  102,15,111,231                      ; movdqa        %xmm7,%xmm4
+  DB  102,15,56,0,37,123,192,1,0          ; pshufb        0x1c07b(%rip),%xmm4        # 35580 <_sk_srcover_bgra_8888_sse2_lowp+0xd68>
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  65,15,89,224                        ; mulps         %xmm8,%xmm4
+  DB  102,15,114,215,24                   ; psrld         $0x18,%xmm7
+  DB  15,91,255                           ; cvtdq2ps      %xmm7,%xmm7
+  DB  65,15,89,248                        ; mulps         %xmm8,%xmm7
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,41                              ; je            1954d <_sk_load_bgra_dst_sse41+0xa0>
+  DB  102,15,239,255                      ; pxor          %xmm7,%xmm7
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,16                              ; je            1953c <_sk_load_bgra_dst_sse41+0x8f>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,153                             ; jne           194c9 <_sk_load_bgra_dst_sse41+0x1c>
+  DB  102,65,15,110,100,144,8             ; movd          0x8(%r8,%rdx,4),%xmm4
+  DB  102,15,112,252,69                   ; pshufd        $0x45,%xmm4,%xmm7
+  DB  243,65,15,126,36,144                ; movq          (%r8,%rdx,4),%xmm4
+  DB  102,15,58,14,252,15                 ; pblendw       $0xf,%xmm4,%xmm7
+  DB  233,124,255,255,255                 ; jmpq          194c9 <_sk_load_bgra_dst_sse41+0x1c>
+  DB  102,65,15,110,60,144                ; movd          (%r8,%rdx,4),%xmm7
+  DB  233,113,255,255,255                 ; jmpq          194c9 <_sk_load_bgra_dst_sse41+0x1c>
+
+PUBLIC _sk_gather_bgra_sse41
+_sk_gather_bgra_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,15,16,80,12                     ; movss         0xc(%rax),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  102,69,15,118,192                   ; pcmpeqd       %xmm8,%xmm8
+  DB  102,65,15,254,208                   ; paddd         %xmm8,%xmm2
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,95,200                        ; maxps         %xmm0,%xmm9
+  DB  68,15,93,202                        ; minps         %xmm2,%xmm9
+  DB  243,15,16,64,16                     ; movss         0x10(%rax),%xmm0
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  102,65,15,254,192                   ; paddd         %xmm8,%xmm0
+  DB  15,95,217                           ; maxps         %xmm1,%xmm3
+  DB  15,93,216                           ; minps         %xmm0,%xmm3
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  243,15,91,195                       ; cvttps2dq     %xmm3,%xmm0
+  DB  102,15,110,72,8                     ; movd          0x8(%rax),%xmm1
+  DB  102,15,112,201,0                    ; pshufd        $0x0,%xmm1,%xmm1
+  DB  102,15,56,64,200                    ; pmulld        %xmm0,%xmm1
+  DB  243,65,15,91,193                    ; cvttps2dq     %xmm9,%xmm0
+  DB  102,15,254,193                      ; paddd         %xmm1,%xmm0
+  DB  102,72,15,126,192                   ; movq          %xmm0,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  102,73,15,58,22,194,1               ; pextrq        $0x1,%xmm0,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  102,67,15,110,28,136                ; movd          (%r8,%r9,4),%xmm3
+  DB  102,65,15,58,34,28,128,1            ; pinsrd        $0x1,(%r8,%rax,4),%xmm3
+  DB  102,67,15,58,34,28,152,2            ; pinsrd        $0x2,(%r8,%r11,4),%xmm3
+  DB  102,67,15,58,34,28,144,3            ; pinsrd        $0x3,(%r8,%r10,4),%xmm3
+  DB  102,15,111,5,113,191,1,0            ; movdqa        0x1bf71(%rip),%xmm0        # 35560 <_sk_srcover_bgra_8888_sse2_lowp+0xd48>
+  DB  102,15,219,195                      ; pand          %xmm3,%xmm0
+  DB  15,91,208                           ; cvtdq2ps      %xmm0,%xmm2
+  DB  68,15,40,5,194,192,1,0              ; movaps        0x1c0c2(%rip),%xmm8        # 356c0 <_sk_srcover_bgra_8888_sse2_lowp+0xea8>
+  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
+  DB  102,15,111,195                      ; movdqa        %xmm3,%xmm0
+  DB  102,15,56,0,5,97,191,1,0            ; pshufb        0x1bf61(%rip),%xmm0        # 35570 <_sk_srcover_bgra_8888_sse2_lowp+0xd58>
+  DB  15,91,200                           ; cvtdq2ps      %xmm0,%xmm1
+  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
+  DB  102,15,111,195                      ; movdqa        %xmm3,%xmm0
+  DB  102,15,56,0,5,93,191,1,0            ; pshufb        0x1bf5d(%rip),%xmm0        # 35580 <_sk_srcover_bgra_8888_sse2_lowp+0xd68>
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  102,15,114,211,24                   ; psrld         $0x18,%xmm3
+  DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
+  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_store_bgra_sse41
+_sk_store_bgra_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,95,202                        ; maxps         %xmm2,%xmm9
+  DB  68,15,40,21,81,190,1,0              ; movaps        0x1be51(%rip),%xmm10        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,93,202                        ; minps         %xmm10,%xmm9
+  DB  68,15,40,29,37,191,1,0              ; movaps        0x1bf25(%rip),%xmm11        # 35590 <_sk_srcover_bgra_8888_sse2_lowp+0xd78>
+  DB  69,15,89,203                        ; mulps         %xmm11,%xmm9
+  DB  102,69,15,91,201                    ; cvtps2dq      %xmm9,%xmm9
+  DB  69,15,87,228                        ; xorps         %xmm12,%xmm12
+  DB  68,15,95,225                        ; maxps         %xmm1,%xmm12
+  DB  69,15,93,226                        ; minps         %xmm10,%xmm12
+  DB  69,15,89,227                        ; mulps         %xmm11,%xmm12
+  DB  102,69,15,91,228                    ; cvtps2dq      %xmm12,%xmm12
+  DB  102,65,15,114,244,8                 ; pslld         $0x8,%xmm12
+  DB  102,69,15,235,225                   ; por           %xmm9,%xmm12
+  DB  102,69,15,87,201                    ; xorpd         %xmm9,%xmm9
+  DB  68,15,95,200                        ; maxps         %xmm0,%xmm9
+  DB  69,15,93,202                        ; minps         %xmm10,%xmm9
+  DB  69,15,89,203                        ; mulps         %xmm11,%xmm9
+  DB  102,69,15,91,201                    ; cvtps2dq      %xmm9,%xmm9
+  DB  102,65,15,114,241,16                ; pslld         $0x10,%xmm9
+  DB  68,15,95,195                        ; maxps         %xmm3,%xmm8
+  DB  69,15,93,194                        ; minps         %xmm10,%xmm8
+  DB  69,15,89,195                        ; mulps         %xmm11,%xmm8
+  DB  102,69,15,91,192                    ; cvtps2dq      %xmm8,%xmm8
+  DB  102,65,15,114,240,24                ; pslld         $0x18,%xmm8
+  DB  102,69,15,235,193                   ; por           %xmm9,%xmm8
+  DB  102,69,15,235,196                   ; por           %xmm12,%xmm8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,10                              ; jne           196e0 <_sk_store_bgra_sse41+0xa6>
+  DB  243,69,15,127,4,144                 ; movdqu        %xmm8,(%r8,%rdx,4)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,25                              ; je            19701 <_sk_store_bgra_sse41+0xc7>
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,13                              ; je            196f9 <_sk_store_bgra_sse41+0xbf>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,236                             ; jne           196dc <_sk_store_bgra_sse41+0xa2>
+  DB  102,69,15,58,22,68,144,8,2          ; pextrd        $0x2,%xmm8,0x8(%r8,%rdx,4)
+  DB  102,69,15,214,4,144                 ; movq          %xmm8,(%r8,%rdx,4)
+  DB  235,219                             ; jmp           196dc <_sk_store_bgra_sse41+0xa2>
+  DB  102,69,15,126,4,144                 ; movd          %xmm8,(%r8,%rdx,4)
+  DB  235,211                             ; jmp           196dc <_sk_store_bgra_sse41+0xa2>
+
+PUBLIC _sk_load_1010102_sse41
+_sk_load_1010102_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,101                             ; jne           19784 <_sk_load_1010102_sse41+0x7b>
+  DB  243,69,15,111,12,144                ; movdqu        (%r8,%rdx,4),%xmm9
+  DB  102,15,111,21,83,194,1,0            ; movdqa        0x1c253(%rip),%xmm2        # 35980 <_sk_srcover_bgra_8888_sse2_lowp+0x1168>
+  DB  102,65,15,111,193                   ; movdqa        %xmm9,%xmm0
+  DB  102,15,219,194                      ; pand          %xmm2,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  68,15,40,5,79,194,1,0               ; movaps        0x1c24f(%rip),%xmm8        # 35990 <_sk_srcover_bgra_8888_sse2_lowp+0x1178>
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  102,65,15,111,201                   ; movdqa        %xmm9,%xmm1
+  DB  102,15,114,209,10                   ; psrld         $0xa,%xmm1
+  DB  102,15,219,202                      ; pand          %xmm2,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
+  DB  102,65,15,111,217                   ; movdqa        %xmm9,%xmm3
+  DB  102,15,114,211,20                   ; psrld         $0x14,%xmm3
+  DB  102,15,219,218                      ; pand          %xmm2,%xmm3
+  DB  15,91,211                           ; cvtdq2ps      %xmm3,%xmm2
+  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
+  DB  102,65,15,114,209,30                ; psrld         $0x1e,%xmm9
+  DB  65,15,91,217                        ; cvtdq2ps      %xmm9,%xmm3
+  DB  15,89,29,16,191,1,0                 ; mulps         0x1bf10(%rip),%xmm3        # 35690 <_sk_srcover_bgra_8888_sse2_lowp+0xe78>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,44                              ; je            197b8 <_sk_load_1010102_sse41+0xaf>
+  DB  102,69,15,239,201                   ; pxor          %xmm9,%xmm9
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,17                              ; je            197a6 <_sk_load_1010102_sse41+0x9d>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,140                             ; jne           19725 <_sk_load_1010102_sse41+0x1c>
+  DB  102,65,15,110,68,144,8              ; movd          0x8(%r8,%rdx,4),%xmm0
+  DB  102,68,15,112,200,69                ; pshufd        $0x45,%xmm0,%xmm9
+  DB  243,65,15,126,4,144                 ; movq          (%r8,%rdx,4),%xmm0
+  DB  102,68,15,58,14,200,15              ; pblendw       $0xf,%xmm0,%xmm9
+  DB  233,109,255,255,255                 ; jmpq          19725 <_sk_load_1010102_sse41+0x1c>
+  DB  102,69,15,110,12,144                ; movd          (%r8,%rdx,4),%xmm9
+  DB  233,98,255,255,255                  ; jmpq          19725 <_sk_load_1010102_sse41+0x1c>
+
+PUBLIC _sk_load_1010102_dst_sse41
+_sk_load_1010102_dst_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,101                             ; jne           1983e <_sk_load_1010102_dst_sse41+0x7b>
+  DB  243,69,15,111,12,144                ; movdqu        (%r8,%rdx,4),%xmm9
+  DB  102,15,111,53,153,193,1,0           ; movdqa        0x1c199(%rip),%xmm6        # 35980 <_sk_srcover_bgra_8888_sse2_lowp+0x1168>
+  DB  102,65,15,111,225                   ; movdqa        %xmm9,%xmm4
+  DB  102,15,219,230                      ; pand          %xmm6,%xmm4
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  68,15,40,5,149,193,1,0              ; movaps        0x1c195(%rip),%xmm8        # 35990 <_sk_srcover_bgra_8888_sse2_lowp+0x1178>
+  DB  65,15,89,224                        ; mulps         %xmm8,%xmm4
+  DB  102,65,15,111,233                   ; movdqa        %xmm9,%xmm5
+  DB  102,15,114,213,10                   ; psrld         $0xa,%xmm5
+  DB  102,15,219,238                      ; pand          %xmm6,%xmm5
+  DB  15,91,237                           ; cvtdq2ps      %xmm5,%xmm5
+  DB  65,15,89,232                        ; mulps         %xmm8,%xmm5
+  DB  102,65,15,111,249                   ; movdqa        %xmm9,%xmm7
+  DB  102,15,114,215,20                   ; psrld         $0x14,%xmm7
+  DB  102,15,219,254                      ; pand          %xmm6,%xmm7
+  DB  15,91,247                           ; cvtdq2ps      %xmm7,%xmm6
+  DB  65,15,89,240                        ; mulps         %xmm8,%xmm6
+  DB  102,65,15,114,209,30                ; psrld         $0x1e,%xmm9
+  DB  65,15,91,249                        ; cvtdq2ps      %xmm9,%xmm7
+  DB  15,89,61,86,190,1,0                 ; mulps         0x1be56(%rip),%xmm7        # 35690 <_sk_srcover_bgra_8888_sse2_lowp+0xe78>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,44                              ; je            19872 <_sk_load_1010102_dst_sse41+0xaf>
+  DB  102,69,15,239,201                   ; pxor          %xmm9,%xmm9
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,17                              ; je            19860 <_sk_load_1010102_dst_sse41+0x9d>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,140                             ; jne           197df <_sk_load_1010102_dst_sse41+0x1c>
+  DB  102,65,15,110,100,144,8             ; movd          0x8(%r8,%rdx,4),%xmm4
+  DB  102,68,15,112,204,69                ; pshufd        $0x45,%xmm4,%xmm9
+  DB  243,65,15,126,36,144                ; movq          (%r8,%rdx,4),%xmm4
+  DB  102,68,15,58,14,204,15              ; pblendw       $0xf,%xmm4,%xmm9
+  DB  233,109,255,255,255                 ; jmpq          197df <_sk_load_1010102_dst_sse41+0x1c>
+  DB  102,69,15,110,12,144                ; movd          (%r8,%rdx,4),%xmm9
+  DB  233,98,255,255,255                  ; jmpq          197df <_sk_load_1010102_dst_sse41+0x1c>
+
+PUBLIC _sk_gather_1010102_sse41
+_sk_gather_1010102_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,15,16,80,12                     ; movss         0xc(%rax),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  102,69,15,118,192                   ; pcmpeqd       %xmm8,%xmm8
+  DB  102,65,15,254,208                   ; paddd         %xmm8,%xmm2
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,95,200                        ; maxps         %xmm0,%xmm9
+  DB  68,15,93,202                        ; minps         %xmm2,%xmm9
+  DB  243,15,16,64,16                     ; movss         0x10(%rax),%xmm0
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  102,65,15,254,192                   ; paddd         %xmm8,%xmm0
+  DB  15,95,217                           ; maxps         %xmm1,%xmm3
+  DB  15,93,216                           ; minps         %xmm0,%xmm3
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  243,15,91,195                       ; cvttps2dq     %xmm3,%xmm0
+  DB  102,15,110,72,8                     ; movd          0x8(%rax),%xmm1
+  DB  102,15,112,201,0                    ; pshufd        $0x0,%xmm1,%xmm1
+  DB  102,15,56,64,200                    ; pmulld        %xmm0,%xmm1
+  DB  243,65,15,91,193                    ; cvttps2dq     %xmm9,%xmm0
+  DB  102,15,254,193                      ; paddd         %xmm1,%xmm0
+  DB  102,72,15,126,192                   ; movq          %xmm0,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  102,73,15,58,22,194,1               ; pextrq        $0x1,%xmm0,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  102,71,15,110,12,136                ; movd          (%r8,%r9,4),%xmm9
+  DB  102,69,15,58,34,12,128,1            ; pinsrd        $0x1,(%r8,%rax,4),%xmm9
+  DB  102,71,15,58,34,12,152,2            ; pinsrd        $0x2,(%r8,%r11,4),%xmm9
+  DB  102,71,15,58,34,12,144,3            ; pinsrd        $0x3,(%r8,%r10,4),%xmm9
+  DB  102,15,111,21,108,192,1,0           ; movdqa        0x1c06c(%rip),%xmm2        # 35980 <_sk_srcover_bgra_8888_sse2_lowp+0x1168>
+  DB  102,65,15,111,193                   ; movdqa        %xmm9,%xmm0
+  DB  102,15,219,194                      ; pand          %xmm2,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  68,15,40,5,104,192,1,0              ; movaps        0x1c068(%rip),%xmm8        # 35990 <_sk_srcover_bgra_8888_sse2_lowp+0x1178>
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  102,65,15,111,201                   ; movdqa        %xmm9,%xmm1
+  DB  102,15,114,209,10                   ; psrld         $0xa,%xmm1
+  DB  102,15,219,202                      ; pand          %xmm2,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
+  DB  102,65,15,111,217                   ; movdqa        %xmm9,%xmm3
+  DB  102,15,114,211,20                   ; psrld         $0x14,%xmm3
+  DB  102,15,219,218                      ; pand          %xmm2,%xmm3
+  DB  15,91,211                           ; cvtdq2ps      %xmm3,%xmm2
+  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
+  DB  102,65,15,114,209,30                ; psrld         $0x1e,%xmm9
+  DB  65,15,91,217                        ; cvtdq2ps      %xmm9,%xmm3
+  DB  15,89,29,41,189,1,0                 ; mulps         0x1bd29(%rip),%xmm3        # 35690 <_sk_srcover_bgra_8888_sse2_lowp+0xe78>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_store_1010102_sse41
+_sk_store_1010102_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,95,200                        ; maxps         %xmm0,%xmm9
+  DB  68,15,40,21,32,187,1,0              ; movaps        0x1bb20(%rip),%xmm10        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,93,202                        ; minps         %xmm10,%xmm9
+  DB  68,15,40,29,4,192,1,0               ; movaps        0x1c004(%rip),%xmm11        # 359a0 <_sk_srcover_bgra_8888_sse2_lowp+0x1188>
+  DB  69,15,89,203                        ; mulps         %xmm11,%xmm9
+  DB  102,69,15,91,201                    ; cvtps2dq      %xmm9,%xmm9
+  DB  69,15,87,228                        ; xorps         %xmm12,%xmm12
+  DB  68,15,95,225                        ; maxps         %xmm1,%xmm12
+  DB  69,15,93,226                        ; minps         %xmm10,%xmm12
+  DB  69,15,89,227                        ; mulps         %xmm11,%xmm12
+  DB  102,69,15,91,228                    ; cvtps2dq      %xmm12,%xmm12
+  DB  102,65,15,114,244,10                ; pslld         $0xa,%xmm12
+  DB  102,69,15,235,225                   ; por           %xmm9,%xmm12
+  DB  102,69,15,87,201                    ; xorpd         %xmm9,%xmm9
+  DB  68,15,95,202                        ; maxps         %xmm2,%xmm9
+  DB  69,15,93,202                        ; minps         %xmm10,%xmm9
+  DB  69,15,89,203                        ; mulps         %xmm11,%xmm9
+  DB  102,69,15,91,201                    ; cvtps2dq      %xmm9,%xmm9
+  DB  102,65,15,114,241,20                ; pslld         $0x14,%xmm9
+  DB  102,69,15,235,204                   ; por           %xmm12,%xmm9
+  DB  68,15,95,195                        ; maxps         %xmm3,%xmm8
+  DB  69,15,93,194                        ; minps         %xmm10,%xmm8
+  DB  68,15,89,5,186,191,1,0              ; mulps         0x1bfba(%rip),%xmm8        # 359b0 <_sk_srcover_bgra_8888_sse2_lowp+0x1198>
+  DB  102,69,15,91,192                    ; cvtps2dq      %xmm8,%xmm8
+  DB  102,65,15,114,240,30                ; pslld         $0x1e,%xmm8
+  DB  102,69,15,235,193                   ; por           %xmm9,%xmm8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,10                              ; jne           19a15 <_sk_store_1010102_sse41+0xaa>
+  DB  243,69,15,127,4,144                 ; movdqu        %xmm8,(%r8,%rdx,4)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,25                              ; je            19a36 <_sk_store_1010102_sse41+0xcb>
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,13                              ; je            19a2e <_sk_store_1010102_sse41+0xc3>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,236                             ; jne           19a11 <_sk_store_1010102_sse41+0xa6>
+  DB  102,69,15,58,22,68,144,8,2          ; pextrd        $0x2,%xmm8,0x8(%r8,%rdx,4)
+  DB  102,69,15,214,4,144                 ; movq          %xmm8,(%r8,%rdx,4)
+  DB  235,219                             ; jmp           19a11 <_sk_store_1010102_sse41+0xa6>
+  DB  102,69,15,126,4,144                 ; movd          %xmm8,(%r8,%rdx,4)
+  DB  235,211                             ; jmp           19a11 <_sk_store_1010102_sse41+0xa6>
+
+PUBLIC _sk_load_f16_sse41
+_sk_load_f16_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,3                        ; shl           $0x3,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,68,1,0,0                     ; jne           19b9c <_sk_load_f16_sse41+0x15e>
+  DB  102,65,15,16,4,208                  ; movupd        (%r8,%rdx,8),%xmm0
+  DB  243,65,15,111,76,208,16             ; movdqu        0x10(%r8,%rdx,8),%xmm1
+  DB  102,68,15,40,200                    ; movapd        %xmm0,%xmm9
+  DB  102,68,15,97,201                    ; punpcklwd     %xmm1,%xmm9
+  DB  102,15,105,193                      ; punpckhwd     %xmm1,%xmm0
+  DB  102,69,15,111,225                   ; movdqa        %xmm9,%xmm12
+  DB  102,68,15,97,224                    ; punpcklwd     %xmm0,%xmm12
+  DB  102,68,15,105,200                   ; punpckhwd     %xmm0,%xmm9
+  DB  102,65,15,56,51,212                 ; pmovzxwd      %xmm12,%xmm2
+  DB  102,68,15,111,5,47,191,1,0          ; movdqa        0x1bf2f(%rip),%xmm8        # 359c0 <_sk_srcover_bgra_8888_sse2_lowp+0x11a8>
+  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
+  DB  102,65,15,219,200                   ; pand          %xmm8,%xmm1
+  DB  102,68,15,111,21,45,191,1,0         ; movdqa        0x1bf2d(%rip),%xmm10        # 359d0 <_sk_srcover_bgra_8888_sse2_lowp+0x11b8>
+  DB  102,65,15,219,210                   ; pand          %xmm10,%xmm2
+  DB  102,15,111,29,48,191,1,0            ; movdqa        0x1bf30(%rip),%xmm3        # 359e0 <_sk_srcover_bgra_8888_sse2_lowp+0x11c8>
+  DB  102,15,114,241,16                   ; pslld         $0x10,%xmm1
+  DB  102,15,111,194                      ; movdqa        %xmm2,%xmm0
+  DB  102,15,56,63,195                    ; pmaxud        %xmm3,%xmm0
+  DB  102,15,118,194                      ; pcmpeqd       %xmm2,%xmm0
+  DB  102,15,114,242,13                   ; pslld         $0xd,%xmm2
+  DB  102,15,235,209                      ; por           %xmm1,%xmm2
+  DB  102,68,15,111,29,28,191,1,0         ; movdqa        0x1bf1c(%rip),%xmm11        # 359f0 <_sk_srcover_bgra_8888_sse2_lowp+0x11d8>
+  DB  102,65,15,254,211                   ; paddd         %xmm11,%xmm2
+  DB  102,15,219,194                      ; pand          %xmm2,%xmm0
+  DB  102,65,15,112,204,238               ; pshufd        $0xee,%xmm12,%xmm1
+  DB  102,15,56,51,209                    ; pmovzxwd      %xmm1,%xmm2
+  DB  102,68,15,111,226                   ; movdqa        %xmm2,%xmm12
+  DB  102,69,15,219,224                   ; pand          %xmm8,%xmm12
+  DB  102,65,15,219,210                   ; pand          %xmm10,%xmm2
+  DB  102,65,15,114,244,16                ; pslld         $0x10,%xmm12
+  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
+  DB  102,15,56,63,203                    ; pmaxud        %xmm3,%xmm1
+  DB  102,15,118,202                      ; pcmpeqd       %xmm2,%xmm1
+  DB  102,15,114,242,13                   ; pslld         $0xd,%xmm2
+  DB  102,65,15,235,212                   ; por           %xmm12,%xmm2
+  DB  102,65,15,254,211                   ; paddd         %xmm11,%xmm2
+  DB  102,15,219,202                      ; pand          %xmm2,%xmm1
+  DB  102,69,15,56,51,225                 ; pmovzxwd      %xmm9,%xmm12
+  DB  102,69,15,111,236                   ; movdqa        %xmm12,%xmm13
+  DB  102,69,15,219,232                   ; pand          %xmm8,%xmm13
+  DB  102,69,15,219,226                   ; pand          %xmm10,%xmm12
+  DB  102,65,15,114,245,16                ; pslld         $0x10,%xmm13
+  DB  102,65,15,111,212                   ; movdqa        %xmm12,%xmm2
+  DB  102,15,56,63,211                    ; pmaxud        %xmm3,%xmm2
+  DB  102,65,15,118,212                   ; pcmpeqd       %xmm12,%xmm2
+  DB  102,65,15,114,244,13                ; pslld         $0xd,%xmm12
+  DB  102,69,15,235,229                   ; por           %xmm13,%xmm12
+  DB  102,69,15,254,227                   ; paddd         %xmm11,%xmm12
+  DB  102,65,15,219,212                   ; pand          %xmm12,%xmm2
+  DB  102,69,15,112,201,238               ; pshufd        $0xee,%xmm9,%xmm9
+  DB  102,69,15,56,51,201                 ; pmovzxwd      %xmm9,%xmm9
+  DB  102,69,15,219,193                   ; pand          %xmm9,%xmm8
+  DB  102,69,15,219,202                   ; pand          %xmm10,%xmm9
+  DB  102,65,15,114,240,16                ; pslld         $0x10,%xmm8
+  DB  102,65,15,56,63,217                 ; pmaxud        %xmm9,%xmm3
+  DB  102,65,15,118,217                   ; pcmpeqd       %xmm9,%xmm3
+  DB  102,65,15,114,241,13                ; pslld         $0xd,%xmm9
+  DB  102,69,15,235,200                   ; por           %xmm8,%xmm9
+  DB  102,69,15,254,203                   ; paddd         %xmm11,%xmm9
+  DB  102,65,15,219,217                   ; pand          %xmm9,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  242,65,15,16,4,208                  ; movsd         (%r8,%rdx,8),%xmm0
+  DB  72,131,255,1                        ; cmp           $0x1,%rdi
+  DB  117,13                              ; jne           19bb5 <_sk_load_f16_sse41+0x177>
+  DB  243,15,126,192                      ; movq          %xmm0,%xmm0
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  233,176,254,255,255                 ; jmpq          19a65 <_sk_load_f16_sse41+0x27>
+  DB  102,65,15,22,68,208,8               ; movhpd        0x8(%r8,%rdx,8),%xmm0
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  15,130,155,254,255,255              ; jb            19a65 <_sk_load_f16_sse41+0x27>
+  DB  243,65,15,126,76,208,16             ; movq          0x10(%r8,%rdx,8),%xmm1
+  DB  233,143,254,255,255                 ; jmpq          19a65 <_sk_load_f16_sse41+0x27>
+
+PUBLIC _sk_load_f16_dst_sse41
+_sk_load_f16_dst_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,3                        ; shl           $0x3,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,68,1,0,0                     ; jne           19d34 <_sk_load_f16_dst_sse41+0x15e>
+  DB  102,65,15,16,36,208                 ; movupd        (%r8,%rdx,8),%xmm4
+  DB  243,65,15,111,108,208,16            ; movdqu        0x10(%r8,%rdx,8),%xmm5
+  DB  102,68,15,40,204                    ; movapd        %xmm4,%xmm9
+  DB  102,68,15,97,205                    ; punpcklwd     %xmm5,%xmm9
+  DB  102,15,105,229                      ; punpckhwd     %xmm5,%xmm4
+  DB  102,69,15,111,225                   ; movdqa        %xmm9,%xmm12
+  DB  102,68,15,97,228                    ; punpcklwd     %xmm4,%xmm12
+  DB  102,68,15,105,204                   ; punpckhwd     %xmm4,%xmm9
+  DB  102,65,15,56,51,244                 ; pmovzxwd      %xmm12,%xmm6
+  DB  102,68,15,111,5,151,189,1,0         ; movdqa        0x1bd97(%rip),%xmm8        # 359c0 <_sk_srcover_bgra_8888_sse2_lowp+0x11a8>
+  DB  102,15,111,238                      ; movdqa        %xmm6,%xmm5
+  DB  102,65,15,219,232                   ; pand          %xmm8,%xmm5
+  DB  102,68,15,111,21,149,189,1,0        ; movdqa        0x1bd95(%rip),%xmm10        # 359d0 <_sk_srcover_bgra_8888_sse2_lowp+0x11b8>
+  DB  102,65,15,219,242                   ; pand          %xmm10,%xmm6
+  DB  102,15,111,61,152,189,1,0           ; movdqa        0x1bd98(%rip),%xmm7        # 359e0 <_sk_srcover_bgra_8888_sse2_lowp+0x11c8>
+  DB  102,15,114,245,16                   ; pslld         $0x10,%xmm5
+  DB  102,15,111,230                      ; movdqa        %xmm6,%xmm4
+  DB  102,15,56,63,231                    ; pmaxud        %xmm7,%xmm4
+  DB  102,15,118,230                      ; pcmpeqd       %xmm6,%xmm4
+  DB  102,15,114,246,13                   ; pslld         $0xd,%xmm6
+  DB  102,15,235,245                      ; por           %xmm5,%xmm6
+  DB  102,68,15,111,29,132,189,1,0        ; movdqa        0x1bd84(%rip),%xmm11        # 359f0 <_sk_srcover_bgra_8888_sse2_lowp+0x11d8>
+  DB  102,65,15,254,243                   ; paddd         %xmm11,%xmm6
+  DB  102,15,219,230                      ; pand          %xmm6,%xmm4
+  DB  102,65,15,112,236,238               ; pshufd        $0xee,%xmm12,%xmm5
+  DB  102,15,56,51,245                    ; pmovzxwd      %xmm5,%xmm6
+  DB  102,68,15,111,230                   ; movdqa        %xmm6,%xmm12
+  DB  102,69,15,219,224                   ; pand          %xmm8,%xmm12
+  DB  102,65,15,219,242                   ; pand          %xmm10,%xmm6
+  DB  102,65,15,114,244,16                ; pslld         $0x10,%xmm12
+  DB  102,15,111,238                      ; movdqa        %xmm6,%xmm5
+  DB  102,15,56,63,239                    ; pmaxud        %xmm7,%xmm5
+  DB  102,15,118,238                      ; pcmpeqd       %xmm6,%xmm5
+  DB  102,15,114,246,13                   ; pslld         $0xd,%xmm6
+  DB  102,65,15,235,244                   ; por           %xmm12,%xmm6
+  DB  102,65,15,254,243                   ; paddd         %xmm11,%xmm6
+  DB  102,15,219,238                      ; pand          %xmm6,%xmm5
+  DB  102,69,15,56,51,225                 ; pmovzxwd      %xmm9,%xmm12
+  DB  102,69,15,111,236                   ; movdqa        %xmm12,%xmm13
+  DB  102,69,15,219,232                   ; pand          %xmm8,%xmm13
+  DB  102,69,15,219,226                   ; pand          %xmm10,%xmm12
+  DB  102,65,15,114,245,16                ; pslld         $0x10,%xmm13
+  DB  102,65,15,111,244                   ; movdqa        %xmm12,%xmm6
+  DB  102,15,56,63,247                    ; pmaxud        %xmm7,%xmm6
+  DB  102,65,15,118,244                   ; pcmpeqd       %xmm12,%xmm6
+  DB  102,65,15,114,244,13                ; pslld         $0xd,%xmm12
+  DB  102,69,15,235,229                   ; por           %xmm13,%xmm12
+  DB  102,69,15,254,227                   ; paddd         %xmm11,%xmm12
+  DB  102,65,15,219,244                   ; pand          %xmm12,%xmm6
+  DB  102,69,15,112,201,238               ; pshufd        $0xee,%xmm9,%xmm9
+  DB  102,69,15,56,51,201                 ; pmovzxwd      %xmm9,%xmm9
+  DB  102,69,15,219,193                   ; pand          %xmm9,%xmm8
+  DB  102,69,15,219,202                   ; pand          %xmm10,%xmm9
+  DB  102,65,15,114,240,16                ; pslld         $0x10,%xmm8
+  DB  102,65,15,56,63,249                 ; pmaxud        %xmm9,%xmm7
+  DB  102,65,15,118,249                   ; pcmpeqd       %xmm9,%xmm7
+  DB  102,65,15,114,241,13                ; pslld         $0xd,%xmm9
+  DB  102,69,15,235,200                   ; por           %xmm8,%xmm9
+  DB  102,69,15,254,203                   ; paddd         %xmm11,%xmm9
+  DB  102,65,15,219,249                   ; pand          %xmm9,%xmm7
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  242,65,15,16,36,208                 ; movsd         (%r8,%rdx,8),%xmm4
+  DB  72,131,255,1                        ; cmp           $0x1,%rdi
+  DB  117,13                              ; jne           19d4d <_sk_load_f16_dst_sse41+0x177>
+  DB  243,15,126,228                      ; movq          %xmm4,%xmm4
+  DB  102,15,239,237                      ; pxor          %xmm5,%xmm5
+  DB  233,176,254,255,255                 ; jmpq          19bfd <_sk_load_f16_dst_sse41+0x27>
+  DB  102,65,15,22,100,208,8              ; movhpd        0x8(%r8,%rdx,8),%xmm4
+  DB  102,15,239,237                      ; pxor          %xmm5,%xmm5
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  15,130,155,254,255,255              ; jb            19bfd <_sk_load_f16_dst_sse41+0x27>
+  DB  243,65,15,126,108,208,16            ; movq          0x10(%r8,%rdx,8),%xmm5
+  DB  233,143,254,255,255                 ; jmpq          19bfd <_sk_load_f16_dst_sse41+0x27>
+
+PUBLIC _sk_gather_f16_sse41
+_sk_gather_f16_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,15,16,80,12                     ; movss         0xc(%rax),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  102,69,15,118,192                   ; pcmpeqd       %xmm8,%xmm8
+  DB  102,65,15,254,208                   ; paddd         %xmm8,%xmm2
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,95,200                        ; maxps         %xmm0,%xmm9
+  DB  68,15,93,202                        ; minps         %xmm2,%xmm9
+  DB  243,15,16,64,16                     ; movss         0x10(%rax),%xmm0
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  102,65,15,254,192                   ; paddd         %xmm8,%xmm0
+  DB  15,95,217                           ; maxps         %xmm1,%xmm3
+  DB  15,93,216                           ; minps         %xmm0,%xmm3
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  243,15,91,195                       ; cvttps2dq     %xmm3,%xmm0
+  DB  102,15,110,72,8                     ; movd          0x8(%rax),%xmm1
+  DB  102,15,112,201,0                    ; pshufd        $0x0,%xmm1,%xmm1
+  DB  102,15,56,64,200                    ; pmulld        %xmm0,%xmm1
+  DB  243,65,15,91,193                    ; cvttps2dq     %xmm9,%xmm0
+  DB  102,15,254,193                      ; paddd         %xmm1,%xmm0
+  DB  102,72,15,126,192                   ; movq          %xmm0,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  102,73,15,58,22,194,1               ; pextrq        $0x1,%xmm0,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  243,67,15,126,4,208                 ; movq          (%r8,%r10,8),%xmm0
+  DB  243,67,15,126,12,216                ; movq          (%r8,%r11,8),%xmm1
+  DB  102,15,108,200                      ; punpcklqdq    %xmm0,%xmm1
+  DB  243,65,15,126,4,192                 ; movq          (%r8,%rax,8),%xmm0
+  DB  243,67,15,126,20,200                ; movq          (%r8,%r9,8),%xmm2
+  DB  102,15,108,208                      ; punpcklqdq    %xmm0,%xmm2
+  DB  102,68,15,111,202                   ; movdqa        %xmm2,%xmm9
+  DB  102,68,15,97,201                    ; punpcklwd     %xmm1,%xmm9
+  DB  102,15,105,209                      ; punpckhwd     %xmm1,%xmm2
+  DB  102,69,15,111,225                   ; movdqa        %xmm9,%xmm12
+  DB  102,68,15,97,226                    ; punpcklwd     %xmm2,%xmm12
+  DB  102,68,15,105,202                   ; punpckhwd     %xmm2,%xmm9
+  DB  102,65,15,56,51,212                 ; pmovzxwd      %xmm12,%xmm2
+  DB  102,68,15,111,5,149,187,1,0         ; movdqa        0x1bb95(%rip),%xmm8        # 359c0 <_sk_srcover_bgra_8888_sse2_lowp+0x11a8>
+  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
+  DB  102,65,15,219,200                   ; pand          %xmm8,%xmm1
+  DB  102,68,15,111,21,147,187,1,0        ; movdqa        0x1bb93(%rip),%xmm10        # 359d0 <_sk_srcover_bgra_8888_sse2_lowp+0x11b8>
+  DB  102,65,15,219,210                   ; pand          %xmm10,%xmm2
+  DB  102,15,111,29,150,187,1,0           ; movdqa        0x1bb96(%rip),%xmm3        # 359e0 <_sk_srcover_bgra_8888_sse2_lowp+0x11c8>
+  DB  102,15,114,241,16                   ; pslld         $0x10,%xmm1
+  DB  102,15,111,194                      ; movdqa        %xmm2,%xmm0
+  DB  102,15,56,63,195                    ; pmaxud        %xmm3,%xmm0
+  DB  102,15,118,194                      ; pcmpeqd       %xmm2,%xmm0
+  DB  102,15,114,242,13                   ; pslld         $0xd,%xmm2
+  DB  102,15,235,209                      ; por           %xmm1,%xmm2
+  DB  102,68,15,111,29,130,187,1,0        ; movdqa        0x1bb82(%rip),%xmm11        # 359f0 <_sk_srcover_bgra_8888_sse2_lowp+0x11d8>
+  DB  102,65,15,254,211                   ; paddd         %xmm11,%xmm2
+  DB  102,15,219,194                      ; pand          %xmm2,%xmm0
+  DB  102,65,15,112,204,238               ; pshufd        $0xee,%xmm12,%xmm1
+  DB  102,15,56,51,209                    ; pmovzxwd      %xmm1,%xmm2
+  DB  102,68,15,111,226                   ; movdqa        %xmm2,%xmm12
+  DB  102,69,15,219,224                   ; pand          %xmm8,%xmm12
+  DB  102,65,15,219,210                   ; pand          %xmm10,%xmm2
+  DB  102,65,15,114,244,16                ; pslld         $0x10,%xmm12
+  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
+  DB  102,15,56,63,203                    ; pmaxud        %xmm3,%xmm1
+  DB  102,15,118,202                      ; pcmpeqd       %xmm2,%xmm1
+  DB  102,15,114,242,13                   ; pslld         $0xd,%xmm2
+  DB  102,65,15,235,212                   ; por           %xmm12,%xmm2
+  DB  102,65,15,254,211                   ; paddd         %xmm11,%xmm2
+  DB  102,15,219,202                      ; pand          %xmm2,%xmm1
+  DB  102,69,15,56,51,225                 ; pmovzxwd      %xmm9,%xmm12
+  DB  102,69,15,111,236                   ; movdqa        %xmm12,%xmm13
+  DB  102,69,15,219,232                   ; pand          %xmm8,%xmm13
+  DB  102,69,15,219,226                   ; pand          %xmm10,%xmm12
+  DB  102,65,15,114,245,16                ; pslld         $0x10,%xmm13
+  DB  102,65,15,111,212                   ; movdqa        %xmm12,%xmm2
+  DB  102,15,56,63,211                    ; pmaxud        %xmm3,%xmm2
+  DB  102,65,15,118,212                   ; pcmpeqd       %xmm12,%xmm2
+  DB  102,65,15,114,244,13                ; pslld         $0xd,%xmm12
+  DB  102,69,15,235,229                   ; por           %xmm13,%xmm12
+  DB  102,69,15,254,227                   ; paddd         %xmm11,%xmm12
+  DB  102,65,15,219,212                   ; pand          %xmm12,%xmm2
+  DB  102,69,15,112,201,238               ; pshufd        $0xee,%xmm9,%xmm9
+  DB  102,69,15,56,51,201                 ; pmovzxwd      %xmm9,%xmm9
+  DB  102,69,15,219,193                   ; pand          %xmm9,%xmm8
+  DB  102,69,15,219,202                   ; pand          %xmm10,%xmm9
+  DB  102,65,15,114,240,16                ; pslld         $0x10,%xmm8
+  DB  102,65,15,56,63,217                 ; pmaxud        %xmm9,%xmm3
+  DB  102,65,15,118,217                   ; pcmpeqd       %xmm9,%xmm3
+  DB  102,65,15,114,241,13                ; pslld         $0xd,%xmm9
+  DB  102,69,15,235,200                   ; por           %xmm8,%xmm9
+  DB  102,69,15,254,203                   ; paddd         %xmm11,%xmm9
+  DB  102,65,15,219,217                   ; pand          %xmm9,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_store_f16_sse41
+_sk_store_f16_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,3                        ; shl           $0x3,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  102,68,15,111,13,176,186,1,0        ; movdqa        0x1bab0(%rip),%xmm9        # 35a00 <_sk_srcover_bgra_8888_sse2_lowp+0x11e8>
+  DB  102,68,15,111,224                   ; movdqa        %xmm0,%xmm12
+  DB  102,69,15,219,225                   ; pand          %xmm9,%xmm12
+  DB  102,68,15,111,29,173,186,1,0        ; movdqa        0x1baad(%rip),%xmm11        # 35a10 <_sk_srcover_bgra_8888_sse2_lowp+0x11f8>
+  DB  102,68,15,111,232                   ; movdqa        %xmm0,%xmm13
+  DB  102,69,15,219,235                   ; pand          %xmm11,%xmm13
+  DB  102,68,15,111,21,170,186,1,0        ; movdqa        0x1baaa(%rip),%xmm10        # 35a20 <_sk_srcover_bgra_8888_sse2_lowp+0x1208>
+  DB  102,65,15,114,212,16                ; psrld         $0x10,%xmm12
+  DB  102,69,15,111,197                   ; movdqa        %xmm13,%xmm8
+  DB  102,69,15,56,63,194                 ; pmaxud        %xmm10,%xmm8
+  DB  102,69,15,118,197                   ; pcmpeqd       %xmm13,%xmm8
+  DB  102,65,15,114,213,13                ; psrld         $0xd,%xmm13
+  DB  102,69,15,254,236                   ; paddd         %xmm12,%xmm13
+  DB  102,68,15,111,37,144,186,1,0        ; movdqa        0x1ba90(%rip),%xmm12        # 35a30 <_sk_srcover_bgra_8888_sse2_lowp+0x1218>
+  DB  102,69,15,254,236                   ; paddd         %xmm12,%xmm13
+  DB  102,69,15,219,197                   ; pand          %xmm13,%xmm8
+  DB  102,68,15,56,43,192                 ; packusdw      %xmm0,%xmm8
+  DB  102,68,15,111,233                   ; movdqa        %xmm1,%xmm13
+  DB  102,69,15,219,233                   ; pand          %xmm9,%xmm13
+  DB  102,68,15,111,241                   ; movdqa        %xmm1,%xmm14
+  DB  102,69,15,219,243                   ; pand          %xmm11,%xmm14
+  DB  102,65,15,114,213,16                ; psrld         $0x10,%xmm13
+  DB  102,69,15,111,254                   ; movdqa        %xmm14,%xmm15
+  DB  102,69,15,56,63,250                 ; pmaxud        %xmm10,%xmm15
+  DB  102,69,15,118,254                   ; pcmpeqd       %xmm14,%xmm15
+  DB  102,65,15,114,214,13                ; psrld         $0xd,%xmm14
+  DB  102,69,15,254,245                   ; paddd         %xmm13,%xmm14
+  DB  102,69,15,254,244                   ; paddd         %xmm12,%xmm14
+  DB  102,69,15,219,254                   ; pand          %xmm14,%xmm15
+  DB  102,68,15,56,43,248                 ; packusdw      %xmm0,%xmm15
+  DB  102,69,15,97,199                    ; punpcklwd     %xmm15,%xmm8
+  DB  102,68,15,111,242                   ; movdqa        %xmm2,%xmm14
+  DB  102,69,15,219,241                   ; pand          %xmm9,%xmm14
+  DB  102,68,15,111,250                   ; movdqa        %xmm2,%xmm15
+  DB  102,69,15,219,251                   ; pand          %xmm11,%xmm15
+  DB  102,65,15,114,214,16                ; psrld         $0x10,%xmm14
+  DB  102,69,15,111,239                   ; movdqa        %xmm15,%xmm13
+  DB  102,69,15,56,63,234                 ; pmaxud        %xmm10,%xmm13
+  DB  102,69,15,118,239                   ; pcmpeqd       %xmm15,%xmm13
+  DB  102,65,15,114,215,13                ; psrld         $0xd,%xmm15
+  DB  102,69,15,254,254                   ; paddd         %xmm14,%xmm15
+  DB  102,69,15,254,252                   ; paddd         %xmm12,%xmm15
+  DB  102,69,15,219,239                   ; pand          %xmm15,%xmm13
+  DB  102,68,15,56,43,232                 ; packusdw      %xmm0,%xmm13
+  DB  102,68,15,219,203                   ; pand          %xmm3,%xmm9
+  DB  102,68,15,219,219                   ; pand          %xmm3,%xmm11
+  DB  102,65,15,114,209,16                ; psrld         $0x10,%xmm9
+  DB  102,69,15,56,63,211                 ; pmaxud        %xmm11,%xmm10
+  DB  102,69,15,118,211                   ; pcmpeqd       %xmm11,%xmm10
+  DB  102,65,15,114,211,13                ; psrld         $0xd,%xmm11
+  DB  102,69,15,254,217                   ; paddd         %xmm9,%xmm11
+  DB  102,69,15,254,220                   ; paddd         %xmm12,%xmm11
+  DB  102,69,15,219,211                   ; pand          %xmm11,%xmm10
+  DB  102,68,15,56,43,208                 ; packusdw      %xmm0,%xmm10
+  DB  102,69,15,97,234                    ; punpcklwd     %xmm10,%xmm13
+  DB  102,69,15,111,200                   ; movdqa        %xmm8,%xmm9
+  DB  102,69,15,98,205                    ; punpckldq     %xmm13,%xmm9
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,21                              ; jne           1a09e <_sk_store_f16_sse41+0x168>
+  DB  69,15,17,12,208                     ; movups        %xmm9,(%r8,%rdx,8)
+  DB  102,69,15,106,197                   ; punpckhdq     %xmm13,%xmm8
+  DB  243,69,15,127,68,208,16             ; movdqu        %xmm8,0x10(%r8,%rdx,8)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,69,15,214,12,208                ; movq          %xmm9,(%r8,%rdx,8)
+  DB  72,131,255,1                        ; cmp           $0x1,%rdi
+  DB  116,240                             ; je            1a09a <_sk_store_f16_sse41+0x164>
+  DB  102,69,15,23,76,208,8               ; movhpd        %xmm9,0x8(%r8,%rdx,8)
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  114,227                             ; jb            1a09a <_sk_store_f16_sse41+0x164>
+  DB  102,69,15,106,197                   ; punpckhdq     %xmm13,%xmm8
+  DB  102,69,15,214,68,208,16             ; movq          %xmm8,0x10(%r8,%rdx,8)
+  DB  235,213                             ; jmp           1a09a <_sk_store_f16_sse41+0x164>
+
+PUBLIC _sk_load_u16_be_sse41
+_sk_load_u16_be_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,141,4,149,0,0,0,0                ; lea           0x0(,%rdx,4),%r8
+  DB  76,99,72,8                          ; movslq        0x8(%rax),%r9
+  DB  76,15,175,201                       ; imul          %rcx,%r9
+  DB  77,1,201                            ; add           %r9,%r9
+  DB  76,3,8                              ; add           (%rax),%r9
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,185,0,0,0                    ; jne           1a19f <_sk_load_u16_be_sse41+0xda>
+  DB  102,67,15,16,4,65                   ; movupd        (%r9,%r8,2),%xmm0
+  DB  243,67,15,111,76,65,16              ; movdqu        0x10(%r9,%r8,2),%xmm1
+  DB  102,15,40,208                       ; movapd        %xmm0,%xmm2
+  DB  102,15,97,209                       ; punpcklwd     %xmm1,%xmm2
+  DB  102,15,105,193                      ; punpckhwd     %xmm1,%xmm0
+  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
+  DB  102,15,97,200                       ; punpcklwd     %xmm0,%xmm1
+  DB  102,15,105,208                      ; punpckhwd     %xmm0,%xmm2
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,15,113,240,8                    ; psllw         $0x8,%xmm0
+  DB  102,15,112,217,78                   ; pshufd        $0x4e,%xmm1,%xmm3
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,235,200                      ; por           %xmm0,%xmm1
+  DB  102,15,56,51,193                    ; pmovzxwd      %xmm1,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  68,15,40,5,30,182,1,0               ; movaps        0x1b61e(%rip),%xmm8        # 35750 <_sk_srcover_bgra_8888_sse2_lowp+0xf38>
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
+  DB  102,15,113,241,8                    ; psllw         $0x8,%xmm1
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  102,15,235,217                      ; por           %xmm1,%xmm3
+  DB  102,15,56,51,203                    ; pmovzxwd      %xmm3,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
+  DB  102,68,15,111,202                   ; movdqa        %xmm2,%xmm9
+  DB  102,65,15,113,241,8                 ; psllw         $0x8,%xmm9
+  DB  102,15,112,218,78                   ; pshufd        $0x4e,%xmm2,%xmm3
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,65,15,235,209                   ; por           %xmm9,%xmm2
+  DB  102,15,56,51,210                    ; pmovzxwd      %xmm2,%xmm2
+  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
+  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
+  DB  102,68,15,111,203                   ; movdqa        %xmm3,%xmm9
+  DB  102,65,15,113,241,8                 ; psllw         $0x8,%xmm9
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  102,65,15,235,217                   ; por           %xmm9,%xmm3
+  DB  102,15,56,51,219                    ; pmovzxwd      %xmm3,%xmm3
+  DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
+  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  242,67,15,16,4,65                   ; movsd         (%r9,%r8,2),%xmm0
+  DB  72,131,255,1                        ; cmp           $0x1,%rdi
+  DB  117,13                              ; jne           1a1b8 <_sk_load_u16_be_sse41+0xf3>
+  DB  243,15,126,192                      ; movq          %xmm0,%xmm0
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  233,59,255,255,255                  ; jmpq          1a0f3 <_sk_load_u16_be_sse41+0x2e>
+  DB  102,67,15,22,68,65,8                ; movhpd        0x8(%r9,%r8,2),%xmm0
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  15,130,38,255,255,255               ; jb            1a0f3 <_sk_load_u16_be_sse41+0x2e>
+  DB  243,67,15,126,76,65,16              ; movq          0x10(%r9,%r8,2),%xmm1
+  DB  233,26,255,255,255                  ; jmpq          1a0f3 <_sk_load_u16_be_sse41+0x2e>
+
+PUBLIC _sk_load_rgb_u16_be_sse41
+_sk_load_rgb_u16_be_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,141,4,82                         ; lea           (%rdx,%rdx,2),%r8
+  DB  76,99,72,8                          ; movslq        0x8(%rax),%r9
+  DB  76,15,175,201                       ; imul          %rcx,%r9
+  DB  77,1,201                            ; add           %r9,%r9
+  DB  76,3,8                              ; add           (%rax),%r9
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,170,0,0,0                    ; jne           1a2a0 <_sk_load_rgb_u16_be_sse41+0xc7>
+  DB  243,67,15,111,20,65                 ; movdqu        (%r9,%r8,2),%xmm2
+  DB  243,67,15,111,92,65,8               ; movdqu        0x8(%r9,%r8,2),%xmm3
+  DB  102,15,115,219,4                    ; psrldq        $0x4,%xmm3
+  DB  102,15,111,194                      ; movdqa        %xmm2,%xmm0
+  DB  102,15,115,216,6                    ; psrldq        $0x6,%xmm0
+  DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
+  DB  102,15,115,217,6                    ; psrldq        $0x6,%xmm1
+  DB  102,15,97,193                       ; punpcklwd     %xmm1,%xmm0
+  DB  102,15,97,211                       ; punpcklwd     %xmm3,%xmm2
+  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
+  DB  102,15,97,200                       ; punpcklwd     %xmm0,%xmm1
+  DB  102,15,112,217,78                   ; pshufd        $0x4e,%xmm1,%xmm3
+  DB  102,15,105,208                      ; punpckhwd     %xmm0,%xmm2
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,15,113,240,8                    ; psllw         $0x8,%xmm0
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,235,200                      ; por           %xmm0,%xmm1
+  DB  102,15,56,51,193                    ; pmovzxwd      %xmm1,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  68,15,40,5,251,180,1,0              ; movaps        0x1b4fb(%rip),%xmm8        # 35750 <_sk_srcover_bgra_8888_sse2_lowp+0xf38>
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
+  DB  102,15,113,241,8                    ; psllw         $0x8,%xmm1
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  102,15,235,217                      ; por           %xmm1,%xmm3
+  DB  102,15,56,51,203                    ; pmovzxwd      %xmm3,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
+  DB  102,15,111,218                      ; movdqa        %xmm2,%xmm3
+  DB  102,15,113,243,8                    ; psllw         $0x8,%xmm3
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,235,211                      ; por           %xmm3,%xmm2
+  DB  102,15,56,51,210                    ; pmovzxwd      %xmm2,%xmm2
+  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
+  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,29,18,178,1,0                 ; movaps        0x1b212(%rip),%xmm3        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,67,15,110,20,65                 ; movd          (%r9,%r8,2),%xmm2
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  102,67,15,196,84,65,4,2             ; pinsrw        $0x2,0x4(%r9,%r8,2),%xmm2
+  DB  72,131,255,1                        ; cmp           $0x1,%rdi
+  DB  117,13                              ; jne           1a2c5 <_sk_load_rgb_u16_be_sse41+0xec>
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  233,85,255,255,255                  ; jmpq          1a21a <_sk_load_rgb_u16_be_sse41+0x41>
+  DB  102,67,15,110,68,65,6               ; movd          0x6(%r9,%r8,2),%xmm0
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  102,67,15,196,68,65,10,2            ; pinsrw        $0x2,0xa(%r9,%r8,2),%xmm0
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  114,24                              ; jb            1a2f6 <_sk_load_rgb_u16_be_sse41+0x11d>
+  DB  102,67,15,110,92,65,12              ; movd          0xc(%r9,%r8,2),%xmm3
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  102,67,15,196,92,65,16,2            ; pinsrw        $0x2,0x10(%r9,%r8,2),%xmm3
+  DB  233,36,255,255,255                  ; jmpq          1a21a <_sk_load_rgb_u16_be_sse41+0x41>
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  233,27,255,255,255                  ; jmpq          1a21a <_sk_load_rgb_u16_be_sse41+0x41>
+
+PUBLIC _sk_store_u16_be_sse41
+_sk_store_u16_be_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,141,4,149,0,0,0,0                ; lea           0x0(,%rdx,4),%r8
+  DB  76,99,72,8                          ; movslq        0x8(%rax),%r9
+  DB  76,15,175,201                       ; imul          %rcx,%r9
+  DB  77,1,201                            ; add           %r9,%r9
+  DB  76,3,8                              ; add           (%rax),%r9
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  68,15,95,192                        ; maxps         %xmm0,%xmm8
+  DB  68,15,40,21,133,177,1,0             ; movaps        0x1b185(%rip),%xmm10        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,93,194                        ; minps         %xmm10,%xmm8
+  DB  68,15,40,29,9,183,1,0               ; movaps        0x1b709(%rip),%xmm11        # 35a40 <_sk_srcover_bgra_8888_sse2_lowp+0x1228>
+  DB  69,15,89,195                        ; mulps         %xmm11,%xmm8
+  DB  102,69,15,91,192                    ; cvtps2dq      %xmm8,%xmm8
+  DB  102,68,15,56,43,192                 ; packusdw      %xmm0,%xmm8
+  DB  102,69,15,111,224                   ; movdqa        %xmm8,%xmm12
+  DB  102,65,15,113,244,8                 ; psllw         $0x8,%xmm12
+  DB  102,65,15,113,208,8                 ; psrlw         $0x8,%xmm8
+  DB  102,69,15,235,196                   ; por           %xmm12,%xmm8
+  DB  102,69,15,239,228                   ; pxor          %xmm12,%xmm12
+  DB  68,15,95,225                        ; maxps         %xmm1,%xmm12
+  DB  69,15,93,226                        ; minps         %xmm10,%xmm12
+  DB  69,15,89,227                        ; mulps         %xmm11,%xmm12
+  DB  102,69,15,91,228                    ; cvtps2dq      %xmm12,%xmm12
+  DB  102,68,15,56,43,224                 ; packusdw      %xmm0,%xmm12
+  DB  102,69,15,111,236                   ; movdqa        %xmm12,%xmm13
+  DB  102,65,15,113,245,8                 ; psllw         $0x8,%xmm13
+  DB  102,65,15,113,212,8                 ; psrlw         $0x8,%xmm12
+  DB  102,69,15,235,229                   ; por           %xmm13,%xmm12
+  DB  102,69,15,97,196                    ; punpcklwd     %xmm12,%xmm8
+  DB  102,69,15,239,228                   ; pxor          %xmm12,%xmm12
+  DB  68,15,95,226                        ; maxps         %xmm2,%xmm12
+  DB  69,15,93,226                        ; minps         %xmm10,%xmm12
+  DB  69,15,89,227                        ; mulps         %xmm11,%xmm12
+  DB  102,69,15,91,228                    ; cvtps2dq      %xmm12,%xmm12
+  DB  102,68,15,56,43,224                 ; packusdw      %xmm0,%xmm12
+  DB  102,69,15,111,236                   ; movdqa        %xmm12,%xmm13
+  DB  102,65,15,113,245,8                 ; psllw         $0x8,%xmm13
+  DB  102,65,15,113,212,8                 ; psrlw         $0x8,%xmm12
+  DB  102,69,15,235,229                   ; por           %xmm13,%xmm12
+  DB  68,15,95,203                        ; maxps         %xmm3,%xmm9
+  DB  69,15,93,202                        ; minps         %xmm10,%xmm9
+  DB  69,15,89,203                        ; mulps         %xmm11,%xmm9
+  DB  102,69,15,91,201                    ; cvtps2dq      %xmm9,%xmm9
+  DB  102,68,15,56,43,200                 ; packusdw      %xmm0,%xmm9
+  DB  102,69,15,111,209                   ; movdqa        %xmm9,%xmm10
+  DB  102,65,15,113,242,8                 ; psllw         $0x8,%xmm10
+  DB  102,65,15,113,209,8                 ; psrlw         $0x8,%xmm9
+  DB  102,69,15,235,202                   ; por           %xmm10,%xmm9
+  DB  102,69,15,97,225                    ; punpcklwd     %xmm9,%xmm12
+  DB  102,69,15,111,200                   ; movdqa        %xmm8,%xmm9
+  DB  102,69,15,98,204                    ; punpckldq     %xmm12,%xmm9
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,21                              ; jne           1a41b <_sk_store_u16_be_sse41+0x11c>
+  DB  71,15,17,12,65                      ; movups        %xmm9,(%r9,%r8,2)
+  DB  102,69,15,106,196                   ; punpckhdq     %xmm12,%xmm8
+  DB  243,71,15,127,68,65,16              ; movdqu        %xmm8,0x10(%r9,%r8,2)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,71,15,214,12,65                 ; movq          %xmm9,(%r9,%r8,2)
+  DB  72,131,255,1                        ; cmp           $0x1,%rdi
+  DB  116,240                             ; je            1a417 <_sk_store_u16_be_sse41+0x118>
+  DB  102,71,15,23,76,65,8                ; movhpd        %xmm9,0x8(%r9,%r8,2)
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  114,227                             ; jb            1a417 <_sk_store_u16_be_sse41+0x118>
+  DB  102,69,15,106,196                   ; punpckhdq     %xmm12,%xmm8
+  DB  102,71,15,214,68,65,16              ; movq          %xmm8,0x10(%r9,%r8,2)
+  DB  235,213                             ; jmp           1a417 <_sk_store_u16_be_sse41+0x118>
+
+PUBLIC _sk_load_f32_sse41
+_sk_load_f32_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,141,4,149,0,0,0,0                ; lea           0x0(,%rdx,4),%r8
+  DB  76,99,72,8                          ; movslq        0x8(%rax),%r9
+  DB  76,15,175,201                       ; imul          %rcx,%r9
+  DB  73,193,225,2                        ; shl           $0x2,%r9
+  DB  76,3,8                              ; add           (%rax),%r9
+  DB  72,137,208                          ; mov           %rdx,%rax
+  DB  72,193,224,4                        ; shl           $0x4,%rax
+  DB  70,15,16,4,8                        ; movups        (%rax,%r9,1),%xmm8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,66                              ; jne           1a4ae <_sk_load_f32_sse41+0x6c>
+  DB  67,15,16,68,129,16                  ; movups        0x10(%r9,%r8,4),%xmm0
+  DB  67,15,16,92,129,32                  ; movups        0x20(%r9,%r8,4),%xmm3
+  DB  71,15,16,76,129,48                  ; movups        0x30(%r9,%r8,4),%xmm9
+  DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
+  DB  15,20,208                           ; unpcklps      %xmm0,%xmm2
+  DB  15,40,203                           ; movaps        %xmm3,%xmm1
+  DB  65,15,20,201                        ; unpcklps      %xmm9,%xmm1
+  DB  68,15,21,192                        ; unpckhps      %xmm0,%xmm8
+  DB  65,15,21,217                        ; unpckhps      %xmm9,%xmm3
+  DB  15,40,194                           ; movaps        %xmm2,%xmm0
+  DB  102,15,20,193                       ; unpcklpd      %xmm1,%xmm0
+  DB  15,18,202                           ; movhlps       %xmm2,%xmm1
+  DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
+  DB  102,15,20,211                       ; unpcklpd      %xmm3,%xmm2
+  DB  65,15,18,216                        ; movhlps       %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  72,131,255,1                        ; cmp           $0x1,%rdi
+  DB  117,8                               ; jne           1a4c0 <_sk_load_f32_sse41+0x7e>
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  235,190                             ; jmp           1a47e <_sk_load_f32_sse41+0x3c>
+  DB  67,15,16,68,129,16                  ; movups        0x10(%r9,%r8,4),%xmm0
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  114,8                               ; jb            1a4d4 <_sk_load_f32_sse41+0x92>
+  DB  67,15,16,92,129,32                  ; movups        0x20(%r9,%r8,4),%xmm3
+  DB  235,170                             ; jmp           1a47e <_sk_load_f32_sse41+0x3c>
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  235,165                             ; jmp           1a47e <_sk_load_f32_sse41+0x3c>
+
+PUBLIC _sk_load_f32_dst_sse41
+_sk_load_f32_dst_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,141,4,149,0,0,0,0                ; lea           0x0(,%rdx,4),%r8
+  DB  76,99,72,8                          ; movslq        0x8(%rax),%r9
+  DB  76,15,175,201                       ; imul          %rcx,%r9
+  DB  73,193,225,2                        ; shl           $0x2,%r9
+  DB  76,3,8                              ; add           (%rax),%r9
+  DB  72,137,208                          ; mov           %rdx,%rax
+  DB  72,193,224,4                        ; shl           $0x4,%rax
+  DB  70,15,16,4,8                        ; movups        (%rax,%r9,1),%xmm8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,66                              ; jne           1a545 <_sk_load_f32_dst_sse41+0x6c>
+  DB  67,15,16,100,129,16                 ; movups        0x10(%r9,%r8,4),%xmm4
+  DB  67,15,16,124,129,32                 ; movups        0x20(%r9,%r8,4),%xmm7
+  DB  71,15,16,76,129,48                  ; movups        0x30(%r9,%r8,4),%xmm9
+  DB  65,15,40,240                        ; movaps        %xmm8,%xmm6
+  DB  15,20,244                           ; unpcklps      %xmm4,%xmm6
+  DB  15,40,239                           ; movaps        %xmm7,%xmm5
+  DB  65,15,20,233                        ; unpcklps      %xmm9,%xmm5
+  DB  68,15,21,196                        ; unpckhps      %xmm4,%xmm8
+  DB  65,15,21,249                        ; unpckhps      %xmm9,%xmm7
+  DB  15,40,230                           ; movaps        %xmm6,%xmm4
+  DB  102,15,20,229                       ; unpcklpd      %xmm5,%xmm4
+  DB  15,18,238                           ; movhlps       %xmm6,%xmm5
+  DB  65,15,40,240                        ; movaps        %xmm8,%xmm6
+  DB  102,15,20,247                       ; unpcklpd      %xmm7,%xmm6
+  DB  65,15,18,248                        ; movhlps       %xmm8,%xmm7
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  72,131,255,1                        ; cmp           $0x1,%rdi
+  DB  117,8                               ; jne           1a557 <_sk_load_f32_dst_sse41+0x7e>
+  DB  15,87,255                           ; xorps         %xmm7,%xmm7
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  235,190                             ; jmp           1a515 <_sk_load_f32_dst_sse41+0x3c>
+  DB  67,15,16,100,129,16                 ; movups        0x10(%r9,%r8,4),%xmm4
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  114,8                               ; jb            1a56b <_sk_load_f32_dst_sse41+0x92>
+  DB  67,15,16,124,129,32                 ; movups        0x20(%r9,%r8,4),%xmm7
+  DB  235,170                             ; jmp           1a515 <_sk_load_f32_dst_sse41+0x3c>
+  DB  15,87,255                           ; xorps         %xmm7,%xmm7
+  DB  235,165                             ; jmp           1a515 <_sk_load_f32_dst_sse41+0x3c>
+
+PUBLIC _sk_store_f32_sse41
+_sk_store_f32_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,141,4,149,0,0,0,0                ; lea           0x0(,%rdx,4),%r8
+  DB  76,99,72,8                          ; movslq        0x8(%rax),%r9
+  DB  76,15,175,201                       ; imul          %rcx,%r9
+  DB  73,193,225,2                        ; shl           $0x2,%r9
+  DB  76,3,8                              ; add           (%rax),%r9
+  DB  72,137,208                          ; mov           %rdx,%rax
+  DB  72,193,224,4                        ; shl           $0x4,%rax
+  DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
+  DB  68,15,20,201                        ; unpcklps      %xmm1,%xmm9
+  DB  68,15,40,194                        ; movaps        %xmm2,%xmm8
+  DB  68,15,20,195                        ; unpcklps      %xmm3,%xmm8
+  DB  68,15,40,208                        ; movaps        %xmm0,%xmm10
+  DB  68,15,21,209                        ; unpckhps      %xmm1,%xmm10
+  DB  68,15,40,218                        ; movaps        %xmm2,%xmm11
+  DB  68,15,21,219                        ; unpckhps      %xmm3,%xmm11
+  DB  69,15,40,225                        ; movaps        %xmm9,%xmm12
+  DB  102,69,15,20,224                    ; unpcklpd      %xmm8,%xmm12
+  DB  69,15,18,193                        ; movhlps       %xmm9,%xmm8
+  DB  69,15,40,202                        ; movaps        %xmm10,%xmm9
+  DB  102,69,15,20,203                    ; unpcklpd      %xmm11,%xmm9
+  DB  102,70,15,17,36,8                   ; movupd        %xmm12,(%rax,%r9,1)
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,29                              ; jne           1a5ee <_sk_store_f32_sse41+0x7e>
+  DB  102,69,15,21,211                    ; unpckhpd      %xmm11,%xmm10
+  DB  71,15,17,68,129,16                  ; movups        %xmm8,0x10(%r9,%r8,4)
+  DB  102,71,15,17,76,129,32              ; movupd        %xmm9,0x20(%r9,%r8,4)
+  DB  102,71,15,17,84,129,48              ; movupd        %xmm10,0x30(%r9,%r8,4)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  72,131,255,1                        ; cmp           $0x1,%rdi
+  DB  116,246                             ; je            1a5ea <_sk_store_f32_sse41+0x7a>
+  DB  71,15,17,68,129,16                  ; movups        %xmm8,0x10(%r9,%r8,4)
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  114,234                             ; jb            1a5ea <_sk_store_f32_sse41+0x7a>
+  DB  102,71,15,17,76,129,32              ; movupd        %xmm9,0x20(%r9,%r8,4)
+  DB  235,225                             ; jmp           1a5ea <_sk_store_f32_sse41+0x7a>
+
+PUBLIC _sk_repeat_x_sse41
+_sk_repeat_x_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,0                      ; movss         (%rax),%xmm8
+  DB  243,68,15,16,72,4                   ; movss         0x4(%rax),%xmm9
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  68,15,89,200                        ; mulps         %xmm0,%xmm9
+  DB  102,69,15,58,8,201,1                ; roundps       $0x1,%xmm9,%xmm9
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
+  DB  65,15,92,192                        ; subps         %xmm8,%xmm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_repeat_y_sse41
+_sk_repeat_y_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,0                      ; movss         (%rax),%xmm8
+  DB  243,68,15,16,72,4                   ; movss         0x4(%rax),%xmm9
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  68,15,89,201                        ; mulps         %xmm1,%xmm9
+  DB  102,69,15,58,8,201,1                ; roundps       $0x1,%xmm9,%xmm9
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
+  DB  65,15,92,200                        ; subps         %xmm8,%xmm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_mirror_x_sse41
+_sk_mirror_x_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,0                      ; movss         (%rax),%xmm8
+  DB  243,68,15,16,72,4                   ; movss         0x4(%rax),%xmm9
+  DB  69,15,40,208                        ; movaps        %xmm8,%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  65,15,92,194                        ; subps         %xmm10,%xmm0
+  DB  243,69,15,88,192                    ; addss         %xmm8,%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  243,68,15,89,13,50,164,1,0          ; mulss         0x1a432(%rip),%xmm9        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  68,15,89,200                        ; mulps         %xmm0,%xmm9
+  DB  102,69,15,58,8,201,1                ; roundps       $0x1,%xmm9,%xmm9
+  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
+  DB  65,15,92,193                        ; subps         %xmm9,%xmm0
+  DB  65,15,92,194                        ; subps         %xmm10,%xmm0
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  68,15,92,192                        ; subps         %xmm0,%xmm8
+  DB  65,15,84,192                        ; andps         %xmm8,%xmm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_mirror_y_sse41
+_sk_mirror_y_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,0                      ; movss         (%rax),%xmm8
+  DB  243,68,15,16,72,4                   ; movss         0x4(%rax),%xmm9
+  DB  69,15,40,208                        ; movaps        %xmm8,%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  65,15,92,202                        ; subps         %xmm10,%xmm1
+  DB  243,69,15,88,192                    ; addss         %xmm8,%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  243,68,15,89,13,217,163,1,0         ; mulss         0x1a3d9(%rip),%xmm9        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  68,15,89,201                        ; mulps         %xmm1,%xmm9
+  DB  102,69,15,58,8,201,1                ; roundps       $0x1,%xmm9,%xmm9
+  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
+  DB  65,15,92,201                        ; subps         %xmm9,%xmm1
+  DB  65,15,92,202                        ; subps         %xmm10,%xmm1
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  68,15,92,193                        ; subps         %xmm1,%xmm8
+  DB  65,15,84,200                        ; andps         %xmm8,%xmm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_clamp_x_1_sse41
+_sk_clamp_x_1_sse41 LABEL PROC
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  68,15,95,192                        ; maxps         %xmm0,%xmm8
+  DB  68,15,93,5,137,173,1,0              ; minps         0x1ad89(%rip),%xmm8        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_repeat_x_1_sse41
+_sk_repeat_x_1_sse41 LABEL PROC
+  DB  102,68,15,58,8,192,1                ; roundps       $0x1,%xmm0,%xmm8
+  DB  65,15,92,192                        ; subps         %xmm8,%xmm0
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  68,15,95,192                        ; maxps         %xmm0,%xmm8
+  DB  68,15,93,5,102,173,1,0              ; minps         0x1ad66(%rip),%xmm8        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_mirror_x_1_sse41
+_sk_mirror_x_1_sse41 LABEL PROC
+  DB  68,15,40,5,182,173,1,0              ; movaps        0x1adb6(%rip),%xmm8        # 35510 <_sk_srcover_bgra_8888_sse2_lowp+0xcf8>
+  DB  65,15,88,192                        ; addps         %xmm8,%xmm0
+  DB  68,15,40,13,58,173,1,0              ; movaps        0x1ad3a(%rip),%xmm9        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  68,15,89,200                        ; mulps         %xmm0,%xmm9
+  DB  102,69,15,58,8,201,1                ; roundps       $0x1,%xmm9,%xmm9
+  DB  69,15,88,201                        ; addps         %xmm9,%xmm9
+  DB  65,15,92,193                        ; subps         %xmm9,%xmm0
+  DB  65,15,88,192                        ; addps         %xmm8,%xmm0
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,92,200                        ; subps         %xmm0,%xmm9
+  DB  68,15,84,200                        ; andps         %xmm0,%xmm9
+  DB  69,15,95,193                        ; maxps         %xmm9,%xmm8
+  DB  68,15,93,5,23,173,1,0               ; minps         0x1ad17(%rip),%xmm8        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_decal_x_sse41
+_sk_decal_x_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  68,15,194,192,2                     ; cmpleps       %xmm0,%xmm8
+  DB  243,68,15,16,72,64                  ; movss         0x40(%rax),%xmm9
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  68,15,40,208                        ; movaps        %xmm0,%xmm10
+  DB  69,15,194,209,1                     ; cmpltps       %xmm9,%xmm10
+  DB  69,15,84,208                        ; andps         %xmm8,%xmm10
+  DB  68,15,17,16                         ; movups        %xmm10,(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_decal_y_sse41
+_sk_decal_y_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  68,15,194,193,2                     ; cmpleps       %xmm1,%xmm8
+  DB  243,68,15,16,72,68                  ; movss         0x44(%rax),%xmm9
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  68,15,40,209                        ; movaps        %xmm1,%xmm10
+  DB  69,15,194,209,1                     ; cmpltps       %xmm9,%xmm10
+  DB  69,15,84,208                        ; andps         %xmm8,%xmm10
+  DB  68,15,17,16                         ; movups        %xmm10,(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_decal_x_and_y_sse41
+_sk_decal_x_and_y_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,194,200,2                     ; cmpleps       %xmm0,%xmm9
+  DB  243,68,15,16,80,64                  ; movss         0x40(%rax),%xmm10
+  DB  243,68,15,16,88,68                  ; movss         0x44(%rax),%xmm11
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  68,15,40,224                        ; movaps        %xmm0,%xmm12
+  DB  69,15,194,226,1                     ; cmpltps       %xmm10,%xmm12
+  DB  68,15,194,193,2                     ; cmpleps       %xmm1,%xmm8
+  DB  69,15,84,193                        ; andps         %xmm9,%xmm8
+  DB  69,15,84,196                        ; andps         %xmm12,%xmm8
+  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
+  DB  68,15,40,201                        ; movaps        %xmm1,%xmm9
+  DB  69,15,194,203,1                     ; cmpltps       %xmm11,%xmm9
+  DB  69,15,84,200                        ; andps         %xmm8,%xmm9
+  DB  68,15,17,8                          ; movups        %xmm9,(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_check_decal_mask_sse41
+_sk_check_decal_mask_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  68,15,16,0                          ; movups        (%rax),%xmm8
+  DB  65,15,84,192                        ; andps         %xmm8,%xmm0
+  DB  65,15,84,200                        ; andps         %xmm8,%xmm1
+  DB  65,15,84,208                        ; andps         %xmm8,%xmm2
+  DB  65,15,84,216                        ; andps         %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_luminance_to_alpha_sse41
+_sk_luminance_to_alpha_sse41 LABEL PROC
+  DB  15,40,218                           ; movaps        %xmm2,%xmm3
+  DB  15,89,5,229,177,1,0                 ; mulps         0x1b1e5(%rip),%xmm0        # 35a50 <_sk_srcover_bgra_8888_sse2_lowp+0x1238>
+  DB  15,89,13,238,177,1,0                ; mulps         0x1b1ee(%rip),%xmm1        # 35a60 <_sk_srcover_bgra_8888_sse2_lowp+0x1248>
+  DB  15,88,200                           ; addps         %xmm0,%xmm1
+  DB  15,89,29,244,177,1,0                ; mulps         0x1b1f4(%rip),%xmm3        # 35a70 <_sk_srcover_bgra_8888_sse2_lowp+0x1258>
+  DB  15,88,217                           ; addps         %xmm1,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  15,87,201                           ; xorps         %xmm1,%xmm1
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_matrix_translate_sse41
+_sk_matrix_translate_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,0                      ; movss         (%rax),%xmm8
+  DB  243,68,15,16,72,4                   ; movss         0x4(%rax),%xmm9
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  65,15,88,192                        ; addps         %xmm8,%xmm0
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  65,15,88,201                        ; addps         %xmm9,%xmm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_matrix_scale_translate_sse41
+_sk_matrix_scale_translate_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,0                      ; movss         (%rax),%xmm8
+  DB  243,68,15,16,72,4                   ; movss         0x4(%rax),%xmm9
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  243,68,15,16,80,8                   ; movss         0x8(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  65,15,88,194                        ; addps         %xmm10,%xmm0
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  243,68,15,16,64,12                  ; movss         0xc(%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  65,15,89,201                        ; mulps         %xmm9,%xmm1
+  DB  65,15,88,200                        ; addps         %xmm8,%xmm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_matrix_2x3_sse41
+_sk_matrix_2x3_sse41 LABEL PROC
+  DB  68,15,40,201                        ; movaps        %xmm1,%xmm9
+  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,15,16,0                         ; movss         (%rax),%xmm0
+  DB  243,15,16,72,4                      ; movss         0x4(%rax),%xmm1
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  243,68,15,16,80,8                   ; movss         0x8(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  243,68,15,16,88,16                  ; movss         0x10(%rax),%xmm11
+  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
+  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
+  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  65,15,88,194                        ; addps         %xmm10,%xmm0
+  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
+  DB  243,68,15,16,80,12                  ; movss         0xc(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  243,68,15,16,88,20                  ; movss         0x14(%rax),%xmm11
+  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
+  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
+  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
+  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
+  DB  65,15,88,202                        ; addps         %xmm10,%xmm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_matrix_3x4_sse41
+_sk_matrix_3x4_sse41 LABEL PROC
+  DB  68,15,40,201                        ; movaps        %xmm1,%xmm9
+  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,15,16,0                         ; movss         (%rax),%xmm0
+  DB  243,15,16,72,4                      ; movss         0x4(%rax),%xmm1
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  243,68,15,16,80,12                  ; movss         0xc(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  243,68,15,16,88,24                  ; movss         0x18(%rax),%xmm11
+  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
+  DB  243,68,15,16,96,36                  ; movss         0x24(%rax),%xmm12
+  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
+  DB  68,15,89,218                        ; mulps         %xmm2,%xmm11
+  DB  69,15,88,220                        ; addps         %xmm12,%xmm11
+  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
+  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  65,15,88,194                        ; addps         %xmm10,%xmm0
+  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
+  DB  243,68,15,16,80,16                  ; movss         0x10(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  243,68,15,16,88,28                  ; movss         0x1c(%rax),%xmm11
+  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
+  DB  243,68,15,16,96,40                  ; movss         0x28(%rax),%xmm12
+  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
+  DB  68,15,89,218                        ; mulps         %xmm2,%xmm11
+  DB  69,15,88,220                        ; addps         %xmm12,%xmm11
+  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
+  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
+  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
+  DB  65,15,88,202                        ; addps         %xmm10,%xmm1
+  DB  243,68,15,16,80,8                   ; movss         0x8(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  243,68,15,16,88,20                  ; movss         0x14(%rax),%xmm11
+  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
+  DB  243,68,15,16,96,32                  ; movss         0x20(%rax),%xmm12
+  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
+  DB  243,68,15,16,104,44                 ; movss         0x2c(%rax),%xmm13
+  DB  69,15,198,237,0                     ; shufps        $0x0,%xmm13,%xmm13
+  DB  68,15,89,226                        ; mulps         %xmm2,%xmm12
+  DB  69,15,88,229                        ; addps         %xmm13,%xmm12
+  DB  69,15,89,217                        ; mulps         %xmm9,%xmm11
+  DB  69,15,88,220                        ; addps         %xmm12,%xmm11
+  DB  69,15,89,208                        ; mulps         %xmm8,%xmm10
+  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,210                        ; movaps        %xmm10,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_matrix_4x5_sse41
+_sk_matrix_4x5_sse41 LABEL PROC
+  DB  68,15,40,201                        ; movaps        %xmm1,%xmm9
+  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,15,16,0                         ; movss         (%rax),%xmm0
+  DB  243,15,16,72,4                      ; movss         0x4(%rax),%xmm1
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  243,68,15,16,80,16                  ; movss         0x10(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  243,68,15,16,88,32                  ; movss         0x20(%rax),%xmm11
+  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
+  DB  243,68,15,16,96,48                  ; movss         0x30(%rax),%xmm12
+  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
+  DB  243,68,15,16,104,64                 ; movss         0x40(%rax),%xmm13
+  DB  69,15,198,237,0                     ; shufps        $0x0,%xmm13,%xmm13
+  DB  68,15,89,227                        ; mulps         %xmm3,%xmm12
+  DB  69,15,88,229                        ; addps         %xmm13,%xmm12
+  DB  68,15,89,218                        ; mulps         %xmm2,%xmm11
+  DB  69,15,88,220                        ; addps         %xmm12,%xmm11
+  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
+  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  65,15,88,194                        ; addps         %xmm10,%xmm0
+  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
+  DB  243,68,15,16,80,20                  ; movss         0x14(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  243,68,15,16,88,36                  ; movss         0x24(%rax),%xmm11
+  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
+  DB  243,68,15,16,96,52                  ; movss         0x34(%rax),%xmm12
+  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
+  DB  243,68,15,16,104,68                 ; movss         0x44(%rax),%xmm13
+  DB  69,15,198,237,0                     ; shufps        $0x0,%xmm13,%xmm13
+  DB  68,15,89,227                        ; mulps         %xmm3,%xmm12
+  DB  69,15,88,229                        ; addps         %xmm13,%xmm12
+  DB  68,15,89,218                        ; mulps         %xmm2,%xmm11
+  DB  69,15,88,220                        ; addps         %xmm12,%xmm11
+  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
+  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
+  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
+  DB  65,15,88,202                        ; addps         %xmm10,%xmm1
+  DB  243,68,15,16,80,8                   ; movss         0x8(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  243,68,15,16,88,24                  ; movss         0x18(%rax),%xmm11
+  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
+  DB  243,68,15,16,96,40                  ; movss         0x28(%rax),%xmm12
+  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
+  DB  243,68,15,16,104,56                 ; movss         0x38(%rax),%xmm13
+  DB  69,15,198,237,0                     ; shufps        $0x0,%xmm13,%xmm13
+  DB  243,68,15,16,112,72                 ; movss         0x48(%rax),%xmm14
+  DB  69,15,198,246,0                     ; shufps        $0x0,%xmm14,%xmm14
+  DB  68,15,89,235                        ; mulps         %xmm3,%xmm13
+  DB  69,15,88,238                        ; addps         %xmm14,%xmm13
+  DB  68,15,89,226                        ; mulps         %xmm2,%xmm12
+  DB  69,15,88,229                        ; addps         %xmm13,%xmm12
+  DB  69,15,89,217                        ; mulps         %xmm9,%xmm11
+  DB  69,15,88,220                        ; addps         %xmm12,%xmm11
+  DB  69,15,89,208                        ; mulps         %xmm8,%xmm10
+  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
+  DB  243,68,15,16,88,12                  ; movss         0xc(%rax),%xmm11
+  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
+  DB  243,68,15,16,96,28                  ; movss         0x1c(%rax),%xmm12
+  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
+  DB  243,68,15,16,104,44                 ; movss         0x2c(%rax),%xmm13
+  DB  69,15,198,237,0                     ; shufps        $0x0,%xmm13,%xmm13
+  DB  243,68,15,16,112,60                 ; movss         0x3c(%rax),%xmm14
+  DB  69,15,198,246,0                     ; shufps        $0x0,%xmm14,%xmm14
+  DB  243,68,15,16,120,76                 ; movss         0x4c(%rax),%xmm15
+  DB  69,15,198,255,0                     ; shufps        $0x0,%xmm15,%xmm15
+  DB  68,15,89,243                        ; mulps         %xmm3,%xmm14
+  DB  69,15,88,247                        ; addps         %xmm15,%xmm14
+  DB  68,15,89,234                        ; mulps         %xmm2,%xmm13
+  DB  69,15,88,238                        ; addps         %xmm14,%xmm13
+  DB  69,15,89,225                        ; mulps         %xmm9,%xmm12
+  DB  69,15,88,229                        ; addps         %xmm13,%xmm12
+  DB  69,15,89,216                        ; mulps         %xmm8,%xmm11
+  DB  69,15,88,220                        ; addps         %xmm12,%xmm11
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,210                        ; movaps        %xmm10,%xmm2
+  DB  65,15,40,219                        ; movaps        %xmm11,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_matrix_4x3_sse41
+_sk_matrix_4x3_sse41 LABEL PROC
+  DB  68,15,40,201                        ; movaps        %xmm1,%xmm9
+  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,15,16,0                         ; movss         (%rax),%xmm0
+  DB  243,15,16,72,4                      ; movss         0x4(%rax),%xmm1
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  243,15,16,80,16                     ; movss         0x10(%rax),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  243,15,16,88,32                     ; movss         0x20(%rax),%xmm3
+  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
+  DB  65,15,89,209                        ; mulps         %xmm9,%xmm2
+  DB  15,88,211                           ; addps         %xmm3,%xmm2
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  15,88,194                           ; addps         %xmm2,%xmm0
+  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
+  DB  243,15,16,80,20                     ; movss         0x14(%rax),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  243,15,16,88,36                     ; movss         0x24(%rax),%xmm3
+  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
+  DB  65,15,89,209                        ; mulps         %xmm9,%xmm2
+  DB  15,88,211                           ; addps         %xmm3,%xmm2
+  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
+  DB  15,88,202                           ; addps         %xmm2,%xmm1
+  DB  243,15,16,80,8                      ; movss         0x8(%rax),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  243,15,16,88,24                     ; movss         0x18(%rax),%xmm3
+  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
+  DB  243,68,15,16,80,40                  ; movss         0x28(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  65,15,89,217                        ; mulps         %xmm9,%xmm3
+  DB  65,15,88,218                        ; addps         %xmm10,%xmm3
+  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
+  DB  15,88,211                           ; addps         %xmm3,%xmm2
+  DB  243,15,16,88,12                     ; movss         0xc(%rax),%xmm3
+  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
+  DB  243,68,15,16,80,28                  ; movss         0x1c(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  243,68,15,16,88,44                  ; movss         0x2c(%rax),%xmm11
+  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
+  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
+  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
+  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
+  DB  65,15,88,218                        ; addps         %xmm10,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_matrix_perspective_sse41
+_sk_matrix_perspective_sse41 LABEL PROC
+  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,15,16,0                         ; movss         (%rax),%xmm0
+  DB  243,68,15,16,72,4                   ; movss         0x4(%rax),%xmm9
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  243,68,15,16,80,8                   ; movss         0x8(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  68,15,89,201                        ; mulps         %xmm1,%xmm9
+  DB  69,15,88,202                        ; addps         %xmm10,%xmm9
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  65,15,88,193                        ; addps         %xmm9,%xmm0
+  DB  243,68,15,16,72,12                  ; movss         0xc(%rax),%xmm9
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  243,68,15,16,80,16                  ; movss         0x10(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  243,68,15,16,88,20                  ; movss         0x14(%rax),%xmm11
+  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
+  DB  68,15,89,209                        ; mulps         %xmm1,%xmm10
+  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
+  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
+  DB  69,15,88,202                        ; addps         %xmm10,%xmm9
+  DB  243,68,15,16,80,24                  ; movss         0x18(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  243,68,15,16,88,28                  ; movss         0x1c(%rax),%xmm11
+  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
+  DB  243,68,15,16,96,32                  ; movss         0x20(%rax),%xmm12
+  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
+  DB  68,15,89,217                        ; mulps         %xmm1,%xmm11
+  DB  69,15,88,220                        ; addps         %xmm12,%xmm11
+  DB  69,15,89,208                        ; mulps         %xmm8,%xmm10
+  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
+  DB  65,15,83,202                        ; rcpps         %xmm10,%xmm1
+  DB  15,89,193                           ; mulps         %xmm1,%xmm0
+  DB  68,15,89,201                        ; mulps         %xmm1,%xmm9
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,201                        ; movaps        %xmm9,%xmm1
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_evenly_spaced_gradient_sse41
+_sk_evenly_spaced_gradient_sse41 LABEL PROC
+  DB  65,86                               ; push          %r14
+  DB  83                                  ; push          %rbx
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  72,139,24                           ; mov           (%rax),%rbx
+  DB  76,139,112,8                        ; mov           0x8(%rax),%r14
+  DB  72,255,203                          ; dec           %rbx
+  DB  120,7                               ; js            1ad1c <_sk_evenly_spaced_gradient_sse41+0x18>
+  DB  243,72,15,42,203                    ; cvtsi2ss      %rbx,%xmm1
+  DB  235,21                              ; jmp           1ad31 <_sk_evenly_spaced_gradient_sse41+0x2d>
+  DB  73,137,216                          ; mov           %rbx,%r8
+  DB  73,209,232                          ; shr           %r8
+  DB  131,227,1                           ; and           $0x1,%ebx
+  DB  76,9,195                            ; or            %r8,%rbx
+  DB  243,72,15,42,203                    ; cvtsi2ss      %rbx,%xmm1
+  DB  243,15,88,201                       ; addss         %xmm1,%xmm1
+  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
+  DB  15,89,200                           ; mulps         %xmm0,%xmm1
+  DB  243,15,91,201                       ; cvttps2dq     %xmm1,%xmm1
+  DB  102,73,15,58,22,200,1               ; pextrq        $0x1,%xmm1,%r8
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  102,73,15,126,202                   ; movq          %xmm1,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  243,71,15,16,4,158                  ; movss         (%r14,%r11,4),%xmm8
+  DB  102,71,15,58,33,4,150,16            ; insertps      $0x10,(%r14,%r10,4),%xmm8
+  DB  243,67,15,16,12,142                 ; movss         (%r14,%r9,4),%xmm1
+  DB  102,68,15,58,33,193,32              ; insertps      $0x20,%xmm1,%xmm8
+  DB  243,67,15,16,12,134                 ; movss         (%r14,%r8,4),%xmm1
+  DB  102,68,15,58,33,193,48              ; insertps      $0x30,%xmm1,%xmm8
+  DB  72,139,88,40                        ; mov           0x28(%rax),%rbx
+  DB  243,70,15,16,12,155                 ; movss         (%rbx,%r11,4),%xmm9
+  DB  102,70,15,58,33,12,147,16           ; insertps      $0x10,(%rbx,%r10,4),%xmm9
+  DB  243,66,15,16,12,139                 ; movss         (%rbx,%r9,4),%xmm1
+  DB  102,68,15,58,33,201,32              ; insertps      $0x20,%xmm1,%xmm9
+  DB  243,66,15,16,12,131                 ; movss         (%rbx,%r8,4),%xmm1
+  DB  102,68,15,58,33,201,48              ; insertps      $0x30,%xmm1,%xmm9
+  DB  72,139,88,16                        ; mov           0x10(%rax),%rbx
+  DB  243,66,15,16,12,155                 ; movss         (%rbx,%r11,4),%xmm1
+  DB  102,66,15,58,33,12,147,16           ; insertps      $0x10,(%rbx,%r10,4),%xmm1
+  DB  243,66,15,16,20,139                 ; movss         (%rbx,%r9,4),%xmm2
+  DB  102,15,58,33,202,32                 ; insertps      $0x20,%xmm2,%xmm1
+  DB  243,66,15,16,20,131                 ; movss         (%rbx,%r8,4),%xmm2
+  DB  102,15,58,33,202,48                 ; insertps      $0x30,%xmm2,%xmm1
+  DB  72,139,88,48                        ; mov           0x30(%rax),%rbx
+  DB  243,70,15,16,20,155                 ; movss         (%rbx,%r11,4),%xmm10
+  DB  102,70,15,58,33,20,147,16           ; insertps      $0x10,(%rbx,%r10,4),%xmm10
+  DB  243,66,15,16,20,139                 ; movss         (%rbx,%r9,4),%xmm2
+  DB  102,68,15,58,33,210,32              ; insertps      $0x20,%xmm2,%xmm10
+  DB  243,66,15,16,20,131                 ; movss         (%rbx,%r8,4),%xmm2
+  DB  102,68,15,58,33,210,48              ; insertps      $0x30,%xmm2,%xmm10
+  DB  72,139,88,24                        ; mov           0x18(%rax),%rbx
+  DB  243,66,15,16,20,155                 ; movss         (%rbx,%r11,4),%xmm2
+  DB  102,66,15,58,33,20,147,16           ; insertps      $0x10,(%rbx,%r10,4),%xmm2
+  DB  243,66,15,16,28,139                 ; movss         (%rbx,%r9,4),%xmm3
+  DB  102,15,58,33,211,32                 ; insertps      $0x20,%xmm3,%xmm2
+  DB  243,66,15,16,28,131                 ; movss         (%rbx,%r8,4),%xmm3
+  DB  102,15,58,33,211,48                 ; insertps      $0x30,%xmm3,%xmm2
+  DB  72,139,88,56                        ; mov           0x38(%rax),%rbx
+  DB  243,70,15,16,28,155                 ; movss         (%rbx,%r11,4),%xmm11
+  DB  102,70,15,58,33,28,147,16           ; insertps      $0x10,(%rbx,%r10,4),%xmm11
+  DB  243,66,15,16,28,139                 ; movss         (%rbx,%r9,4),%xmm3
+  DB  102,68,15,58,33,219,32              ; insertps      $0x20,%xmm3,%xmm11
+  DB  243,66,15,16,28,131                 ; movss         (%rbx,%r8,4),%xmm3
+  DB  102,68,15,58,33,219,48              ; insertps      $0x30,%xmm3,%xmm11
+  DB  72,139,88,32                        ; mov           0x20(%rax),%rbx
+  DB  243,66,15,16,28,155                 ; movss         (%rbx,%r11,4),%xmm3
+  DB  102,66,15,58,33,28,147,16           ; insertps      $0x10,(%rbx,%r10,4),%xmm3
+  DB  243,70,15,16,36,139                 ; movss         (%rbx,%r9,4),%xmm12
+  DB  102,65,15,58,33,220,32              ; insertps      $0x20,%xmm12,%xmm3
+  DB  243,70,15,16,36,131                 ; movss         (%rbx,%r8,4),%xmm12
+  DB  102,65,15,58,33,220,48              ; insertps      $0x30,%xmm12,%xmm3
+  DB  72,139,64,64                        ; mov           0x40(%rax),%rax
+  DB  243,70,15,16,36,152                 ; movss         (%rax,%r11,4),%xmm12
+  DB  102,70,15,58,33,36,144,16           ; insertps      $0x10,(%rax,%r10,4),%xmm12
+  DB  243,70,15,16,44,136                 ; movss         (%rax,%r9,4),%xmm13
+  DB  102,69,15,58,33,229,32              ; insertps      $0x20,%xmm13,%xmm12
+  DB  243,70,15,16,44,128                 ; movss         (%rax,%r8,4),%xmm13
+  DB  102,69,15,58,33,229,48              ; insertps      $0x30,%xmm13,%xmm12
+  DB  68,15,89,192                        ; mulps         %xmm0,%xmm8
+  DB  69,15,88,193                        ; addps         %xmm9,%xmm8
+  DB  15,89,200                           ; mulps         %xmm0,%xmm1
+  DB  65,15,88,202                        ; addps         %xmm10,%xmm1
+  DB  15,89,208                           ; mulps         %xmm0,%xmm2
+  DB  65,15,88,211                        ; addps         %xmm11,%xmm2
+  DB  15,89,216                           ; mulps         %xmm0,%xmm3
+  DB  65,15,88,220                        ; addps         %xmm12,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  91                                  ; pop           %rbx
+  DB  65,94                               ; pop           %r14
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_gradient_sse41
+_sk_gradient_sse41 LABEL PROC
+  DB  65,86                               ; push          %r14
+  DB  83                                  ; push          %rbx
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  73,131,248,2                        ; cmp           $0x2,%r8
+  DB  114,41                              ; jb            1af11 <_sk_gradient_sse41+0x3b>
+  DB  76,139,72,72                        ; mov           0x48(%rax),%r9
+  DB  73,255,200                          ; dec           %r8
+  DB  73,131,193,4                        ; add           $0x4,%r9
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  243,65,15,16,17                     ; movss         (%r9),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  15,194,208,2                        ; cmpleps       %xmm0,%xmm2
+  DB  102,15,250,202                      ; psubd         %xmm2,%xmm1
+  DB  73,131,193,4                        ; add           $0x4,%r9
+  DB  73,255,200                          ; dec           %r8
+  DB  117,230                             ; jne           1aef7 <_sk_gradient_sse41+0x21>
+  DB  102,73,15,58,22,200,1               ; pextrq        $0x1,%xmm1,%r8
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  102,73,15,126,202                   ; movq          %xmm1,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  72,139,88,8                         ; mov           0x8(%rax),%rbx
+  DB  76,139,112,16                       ; mov           0x10(%rax),%r14
+  DB  243,70,15,16,4,155                  ; movss         (%rbx,%r11,4),%xmm8
+  DB  102,70,15,58,33,4,147,16            ; insertps      $0x10,(%rbx,%r10,4),%xmm8
+  DB  243,66,15,16,12,139                 ; movss         (%rbx,%r9,4),%xmm1
+  DB  102,68,15,58,33,193,32              ; insertps      $0x20,%xmm1,%xmm8
+  DB  243,66,15,16,12,131                 ; movss         (%rbx,%r8,4),%xmm1
+  DB  102,68,15,58,33,193,48              ; insertps      $0x30,%xmm1,%xmm8
+  DB  72,139,88,40                        ; mov           0x28(%rax),%rbx
+  DB  243,70,15,16,12,155                 ; movss         (%rbx,%r11,4),%xmm9
+  DB  102,70,15,58,33,12,147,16           ; insertps      $0x10,(%rbx,%r10,4),%xmm9
+  DB  243,66,15,16,12,139                 ; movss         (%rbx,%r9,4),%xmm1
+  DB  102,68,15,58,33,201,32              ; insertps      $0x20,%xmm1,%xmm9
+  DB  243,66,15,16,12,131                 ; movss         (%rbx,%r8,4),%xmm1
+  DB  102,68,15,58,33,201,48              ; insertps      $0x30,%xmm1,%xmm9
+  DB  243,67,15,16,12,158                 ; movss         (%r14,%r11,4),%xmm1
+  DB  102,67,15,58,33,12,150,16           ; insertps      $0x10,(%r14,%r10,4),%xmm1
+  DB  243,67,15,16,20,142                 ; movss         (%r14,%r9,4),%xmm2
+  DB  102,15,58,33,202,32                 ; insertps      $0x20,%xmm2,%xmm1
+  DB  243,67,15,16,20,134                 ; movss         (%r14,%r8,4),%xmm2
+  DB  102,15,58,33,202,48                 ; insertps      $0x30,%xmm2,%xmm1
+  DB  72,139,88,48                        ; mov           0x30(%rax),%rbx
+  DB  243,70,15,16,20,155                 ; movss         (%rbx,%r11,4),%xmm10
+  DB  102,70,15,58,33,20,147,16           ; insertps      $0x10,(%rbx,%r10,4),%xmm10
+  DB  243,66,15,16,20,139                 ; movss         (%rbx,%r9,4),%xmm2
+  DB  102,68,15,58,33,210,32              ; insertps      $0x20,%xmm2,%xmm10
+  DB  243,66,15,16,20,131                 ; movss         (%rbx,%r8,4),%xmm2
+  DB  102,68,15,58,33,210,48              ; insertps      $0x30,%xmm2,%xmm10
+  DB  72,139,88,24                        ; mov           0x18(%rax),%rbx
+  DB  243,66,15,16,20,155                 ; movss         (%rbx,%r11,4),%xmm2
+  DB  102,66,15,58,33,20,147,16           ; insertps      $0x10,(%rbx,%r10,4),%xmm2
+  DB  243,66,15,16,28,139                 ; movss         (%rbx,%r9,4),%xmm3
+  DB  102,15,58,33,211,32                 ; insertps      $0x20,%xmm3,%xmm2
+  DB  243,66,15,16,28,131                 ; movss         (%rbx,%r8,4),%xmm3
+  DB  102,15,58,33,211,48                 ; insertps      $0x30,%xmm3,%xmm2
+  DB  72,139,88,56                        ; mov           0x38(%rax),%rbx
+  DB  243,70,15,16,28,155                 ; movss         (%rbx,%r11,4),%xmm11
+  DB  102,70,15,58,33,28,147,16           ; insertps      $0x10,(%rbx,%r10,4),%xmm11
+  DB  243,66,15,16,28,139                 ; movss         (%rbx,%r9,4),%xmm3
+  DB  102,68,15,58,33,219,32              ; insertps      $0x20,%xmm3,%xmm11
+  DB  243,66,15,16,28,131                 ; movss         (%rbx,%r8,4),%xmm3
+  DB  102,68,15,58,33,219,48              ; insertps      $0x30,%xmm3,%xmm11
+  DB  72,139,88,32                        ; mov           0x20(%rax),%rbx
+  DB  243,66,15,16,28,155                 ; movss         (%rbx,%r11,4),%xmm3
+  DB  102,66,15,58,33,28,147,16           ; insertps      $0x10,(%rbx,%r10,4),%xmm3
+  DB  243,70,15,16,36,139                 ; movss         (%rbx,%r9,4),%xmm12
+  DB  102,65,15,58,33,220,32              ; insertps      $0x20,%xmm12,%xmm3
+  DB  243,70,15,16,36,131                 ; movss         (%rbx,%r8,4),%xmm12
+  DB  102,65,15,58,33,220,48              ; insertps      $0x30,%xmm12,%xmm3
+  DB  72,139,64,64                        ; mov           0x40(%rax),%rax
+  DB  243,70,15,16,36,152                 ; movss         (%rax,%r11,4),%xmm12
+  DB  102,70,15,58,33,36,144,16           ; insertps      $0x10,(%rax,%r10,4),%xmm12
+  DB  243,70,15,16,44,136                 ; movss         (%rax,%r9,4),%xmm13
+  DB  102,69,15,58,33,229,32              ; insertps      $0x20,%xmm13,%xmm12
+  DB  243,70,15,16,44,128                 ; movss         (%rax,%r8,4),%xmm13
+  DB  102,69,15,58,33,229,48              ; insertps      $0x30,%xmm13,%xmm12
+  DB  68,15,89,192                        ; mulps         %xmm0,%xmm8
+  DB  69,15,88,193                        ; addps         %xmm9,%xmm8
+  DB  15,89,200                           ; mulps         %xmm0,%xmm1
+  DB  65,15,88,202                        ; addps         %xmm10,%xmm1
+  DB  15,89,208                           ; mulps         %xmm0,%xmm2
+  DB  65,15,88,211                        ; addps         %xmm11,%xmm2
+  DB  15,89,216                           ; mulps         %xmm0,%xmm3
+  DB  65,15,88,220                        ; addps         %xmm12,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  91                                  ; pop           %rbx
+  DB  65,94                               ; pop           %r14
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_evenly_spaced_2_stop_gradient_sse41
+_sk_evenly_spaced_2_stop_gradient_sse41 LABEL PROC
+  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,15,16,0                         ; movss         (%rax),%xmm0
+  DB  243,15,16,72,4                      ; movss         0x4(%rax),%xmm1
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  243,15,16,80,16                     ; movss         0x10(%rax),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  15,88,194                           ; addps         %xmm2,%xmm0
+  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
+  DB  243,15,16,80,20                     ; movss         0x14(%rax),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
+  DB  15,88,202                           ; addps         %xmm2,%xmm1
+  DB  243,15,16,80,8                      ; movss         0x8(%rax),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  243,15,16,88,24                     ; movss         0x18(%rax),%xmm3
+  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
+  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
+  DB  15,88,211                           ; addps         %xmm3,%xmm2
+  DB  243,15,16,88,12                     ; movss         0xc(%rax),%xmm3
+  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
+  DB  243,68,15,16,72,28                  ; movss         0x1c(%rax),%xmm9
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
+  DB  65,15,88,217                        ; addps         %xmm9,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_xy_to_unit_angle_sse41
+_sk_xy_to_unit_angle_sse41 LABEL PROC
+  DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  65,15,92,193                        ; subps         %xmm9,%xmm0
+  DB  65,15,84,193                        ; andps         %xmm9,%xmm0
+  DB  69,15,87,219                        ; xorps         %xmm11,%xmm11
+  DB  68,15,92,217                        ; subps         %xmm1,%xmm11
+  DB  68,15,84,217                        ; andps         %xmm1,%xmm11
+  DB  68,15,40,224                        ; movaps        %xmm0,%xmm12
+  DB  69,15,93,227                        ; minps         %xmm11,%xmm12
+  DB  68,15,40,208                        ; movaps        %xmm0,%xmm10
+  DB  69,15,95,211                        ; maxps         %xmm11,%xmm10
+  DB  69,15,94,226                        ; divps         %xmm10,%xmm12
+  DB  69,15,40,236                        ; movaps        %xmm12,%xmm13
+  DB  69,15,89,237                        ; mulps         %xmm13,%xmm13
+  DB  68,15,40,21,30,169,1,0              ; movaps        0x1a91e(%rip),%xmm10        # 35a80 <_sk_srcover_bgra_8888_sse2_lowp+0x1268>
+  DB  69,15,89,213                        ; mulps         %xmm13,%xmm10
+  DB  68,15,88,21,34,169,1,0              ; addps         0x1a922(%rip),%xmm10        # 35a90 <_sk_srcover_bgra_8888_sse2_lowp+0x1278>
+  DB  69,15,89,213                        ; mulps         %xmm13,%xmm10
+  DB  68,15,88,21,38,169,1,0              ; addps         0x1a926(%rip),%xmm10        # 35aa0 <_sk_srcover_bgra_8888_sse2_lowp+0x1288>
+  DB  69,15,89,213                        ; mulps         %xmm13,%xmm10
+  DB  68,15,88,21,42,169,1,0              ; addps         0x1a92a(%rip),%xmm10        # 35ab0 <_sk_srcover_bgra_8888_sse2_lowp+0x1298>
+  DB  69,15,89,212                        ; mulps         %xmm12,%xmm10
+  DB  65,15,194,195,1                     ; cmpltps       %xmm11,%xmm0
+  DB  68,15,40,29,41,169,1,0              ; movaps        0x1a929(%rip),%xmm11        # 35ac0 <_sk_srcover_bgra_8888_sse2_lowp+0x12a8>
+  DB  69,15,92,218                        ; subps         %xmm10,%xmm11
+  DB  102,69,15,56,20,211                 ; blendvps      %xmm0,%xmm11,%xmm10
+  DB  69,15,194,200,1                     ; cmpltps       %xmm8,%xmm9
+  DB  68,15,40,29,242,162,1,0             ; movaps        0x1a2f2(%rip),%xmm11        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  69,15,92,218                        ; subps         %xmm10,%xmm11
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  102,69,15,56,20,211                 ; blendvps      %xmm0,%xmm11,%xmm10
+  DB  15,40,193                           ; movaps        %xmm1,%xmm0
+  DB  65,15,194,192,1                     ; cmpltps       %xmm8,%xmm0
+  DB  68,15,40,13,228,162,1,0             ; movaps        0x1a2e4(%rip),%xmm9        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,92,202                        ; subps         %xmm10,%xmm9
+  DB  102,69,15,56,20,209                 ; blendvps      %xmm0,%xmm9,%xmm10
+  DB  69,15,194,194,7                     ; cmpordps      %xmm10,%xmm8
+  DB  69,15,84,194                        ; andps         %xmm10,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_xy_to_radius_sse41
+_sk_xy_to_radius_sse41 LABEL PROC
+  DB  15,89,192                           ; mulps         %xmm0,%xmm0
+  DB  68,15,40,193                        ; movaps        %xmm1,%xmm8
+  DB  69,15,89,192                        ; mulps         %xmm8,%xmm8
+  DB  68,15,88,192                        ; addps         %xmm0,%xmm8
+  DB  65,15,81,192                        ; sqrtps        %xmm8,%xmm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_negate_x_sse41
+_sk_negate_x_sse41 LABEL PROC
+  DB  15,87,5,251,167,1,0                 ; xorps         0x1a7fb(%rip),%xmm0        # 35a00 <_sk_srcover_bgra_8888_sse2_lowp+0x11e8>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_xy_to_2pt_conical_strip_sse41
+_sk_xy_to_2pt_conical_strip_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,64,64                  ; movss         0x40(%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  68,15,40,201                        ; movaps        %xmm1,%xmm9
+  DB  69,15,89,201                        ; mulps         %xmm9,%xmm9
+  DB  69,15,92,193                        ; subps         %xmm9,%xmm8
+  DB  69,15,81,192                        ; sqrtps        %xmm8,%xmm8
+  DB  65,15,88,192                        ; addps         %xmm8,%xmm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_xy_to_2pt_conical_focal_on_circle_sse41
+_sk_xy_to_2pt_conical_focal_on_circle_sse41 LABEL PROC
+  DB  68,15,40,193                        ; movaps        %xmm1,%xmm8
+  DB  69,15,89,192                        ; mulps         %xmm8,%xmm8
+  DB  68,15,94,192                        ; divps         %xmm0,%xmm8
+  DB  65,15,88,192                        ; addps         %xmm8,%xmm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_xy_to_2pt_conical_well_behaved_sse41
+_sk_xy_to_2pt_conical_well_behaved_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,64,64                  ; movss         0x40(%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  68,15,89,192                        ; mulps         %xmm0,%xmm8
+  DB  15,89,192                           ; mulps         %xmm0,%xmm0
+  DB  68,15,40,201                        ; movaps        %xmm1,%xmm9
+  DB  69,15,89,201                        ; mulps         %xmm9,%xmm9
+  DB  68,15,88,200                        ; addps         %xmm0,%xmm9
+  DB  65,15,81,193                        ; sqrtps        %xmm9,%xmm0
+  DB  65,15,92,192                        ; subps         %xmm8,%xmm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_xy_to_2pt_conical_greater_sse41
+_sk_xy_to_2pt_conical_greater_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,64,64                  ; movss         0x40(%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  68,15,89,192                        ; mulps         %xmm0,%xmm8
+  DB  15,89,192                           ; mulps         %xmm0,%xmm0
+  DB  68,15,40,201                        ; movaps        %xmm1,%xmm9
+  DB  69,15,89,201                        ; mulps         %xmm9,%xmm9
+  DB  65,15,92,193                        ; subps         %xmm9,%xmm0
+  DB  15,81,192                           ; sqrtps        %xmm0,%xmm0
+  DB  65,15,92,192                        ; subps         %xmm8,%xmm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_xy_to_2pt_conical_smaller_sse41
+_sk_xy_to_2pt_conical_smaller_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,64,64                  ; movss         0x40(%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  68,15,89,192                        ; mulps         %xmm0,%xmm8
+  DB  15,89,192                           ; mulps         %xmm0,%xmm0
+  DB  68,15,40,201                        ; movaps        %xmm1,%xmm9
+  DB  69,15,89,201                        ; mulps         %xmm9,%xmm9
+  DB  65,15,92,193                        ; subps         %xmm9,%xmm0
+  DB  15,81,192                           ; sqrtps        %xmm0,%xmm0
+  DB  15,87,5,61,167,1,0                  ; xorps         0x1a73d(%rip),%xmm0        # 35a00 <_sk_srcover_bgra_8888_sse2_lowp+0x11e8>
+  DB  65,15,92,192                        ; subps         %xmm8,%xmm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_alter_2pt_conical_compensate_focal_sse41
+_sk_alter_2pt_conical_compensate_focal_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,64,68                  ; movss         0x44(%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  65,15,88,192                        ; addps         %xmm8,%xmm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_alter_2pt_conical_unswap_sse41
+_sk_alter_2pt_conical_unswap_sse41 LABEL PROC
+  DB  68,15,40,5,200,161,1,0              ; movaps        0x1a1c8(%rip),%xmm8        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  68,15,92,192                        ; subps         %xmm0,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_mask_2pt_conical_nan_sse41
+_sk_mask_2pt_conical_nan_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  68,15,194,192,7                     ; cmpordps      %xmm0,%xmm8
+  DB  65,15,84,192                        ; andps         %xmm8,%xmm0
+  DB  68,15,17,0                          ; movups        %xmm8,(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_mask_2pt_conical_degenerates_sse41
+_sk_mask_2pt_conical_degenerates_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
+  DB  69,15,95,193                        ; maxps         %xmm9,%xmm8
+  DB  68,15,194,200,1                     ; cmpltps       %xmm0,%xmm9
+  DB  68,15,17,8                          ; movups        %xmm9,(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_apply_vector_mask_sse41
+_sk_apply_vector_mask_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  68,15,16,0                          ; movups        (%rax),%xmm8
+  DB  65,15,84,192                        ; andps         %xmm8,%xmm0
+  DB  65,15,84,200                        ; andps         %xmm8,%xmm1
+  DB  65,15,84,208                        ; andps         %xmm8,%xmm2
+  DB  65,15,84,216                        ; andps         %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_save_xy_sse41
+_sk_save_xy_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  68,15,40,5,82,161,1,0               ; movaps        0x1a152(%rip),%xmm8        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  15,17,0                             ; movups        %xmm0,(%rax)
+  DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
+  DB  69,15,88,200                        ; addps         %xmm8,%xmm9
+  DB  102,69,15,58,8,209,1                ; roundps       $0x1,%xmm9,%xmm10
+  DB  69,15,92,202                        ; subps         %xmm10,%xmm9
+  DB  68,15,88,193                        ; addps         %xmm1,%xmm8
+  DB  102,69,15,58,8,208,1                ; roundps       $0x1,%xmm8,%xmm10
+  DB  69,15,92,194                        ; subps         %xmm10,%xmm8
+  DB  15,17,72,64                         ; movups        %xmm1,0x40(%rax)
+  DB  68,15,17,136,128,0,0,0              ; movups        %xmm9,0x80(%rax)
+  DB  68,15,17,128,192,0,0,0              ; movups        %xmm8,0xc0(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_accumulate_sse41
+_sk_accumulate_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  68,15,16,128,0,1,0,0                ; movups        0x100(%rax),%xmm8
+  DB  68,15,16,136,64,1,0,0               ; movups        0x140(%rax),%xmm9
+  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
+  DB  69,15,40,193                        ; movaps        %xmm9,%xmm8
+  DB  68,15,89,192                        ; mulps         %xmm0,%xmm8
+  DB  65,15,88,224                        ; addps         %xmm8,%xmm4
+  DB  69,15,40,193                        ; movaps        %xmm9,%xmm8
+  DB  68,15,89,193                        ; mulps         %xmm1,%xmm8
+  DB  65,15,88,232                        ; addps         %xmm8,%xmm5
+  DB  69,15,40,193                        ; movaps        %xmm9,%xmm8
+  DB  68,15,89,194                        ; mulps         %xmm2,%xmm8
+  DB  65,15,88,240                        ; addps         %xmm8,%xmm6
+  DB  68,15,89,203                        ; mulps         %xmm3,%xmm9
+  DB  65,15,88,249                        ; addps         %xmm9,%xmm7
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bilinear_nx_sse41
+_sk_bilinear_nx_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,16,0                             ; movups        (%rax),%xmm0
+  DB  68,15,16,128,128,0,0,0              ; movups        0x80(%rax),%xmm8
+  DB  15,88,5,235,166,1,0                 ; addps         0x1a6eb(%rip),%xmm0        # 35ad0 <_sk_srcover_bgra_8888_sse2_lowp+0x12b8>
+  DB  68,15,40,13,195,160,1,0             ; movaps        0x1a0c3(%rip),%xmm9        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,92,200                        ; subps         %xmm8,%xmm9
+  DB  68,15,17,136,0,1,0,0                ; movups        %xmm9,0x100(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bilinear_px_sse41
+_sk_bilinear_px_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,16,0                             ; movups        (%rax),%xmm0
+  DB  68,15,16,128,128,0,0,0              ; movups        0x80(%rax),%xmm8
+  DB  15,88,5,143,160,1,0                 ; addps         0x1a08f(%rip),%xmm0        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  68,15,17,128,0,1,0,0                ; movups        %xmm8,0x100(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bilinear_ny_sse41
+_sk_bilinear_ny_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,16,72,64                         ; movups        0x40(%rax),%xmm1
+  DB  68,15,16,128,192,0,0,0              ; movups        0xc0(%rax),%xmm8
+  DB  15,88,13,158,166,1,0                ; addps         0x1a69e(%rip),%xmm1        # 35ad0 <_sk_srcover_bgra_8888_sse2_lowp+0x12b8>
+  DB  68,15,40,13,118,160,1,0             ; movaps        0x1a076(%rip),%xmm9        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,92,200                        ; subps         %xmm8,%xmm9
+  DB  68,15,17,136,64,1,0,0               ; movups        %xmm9,0x140(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bilinear_py_sse41
+_sk_bilinear_py_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,16,72,64                         ; movups        0x40(%rax),%xmm1
+  DB  68,15,16,128,192,0,0,0              ; movups        0xc0(%rax),%xmm8
+  DB  15,88,13,65,160,1,0                 ; addps         0x1a041(%rip),%xmm1        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  68,15,17,128,64,1,0,0               ; movups        %xmm8,0x140(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bicubic_n3x_sse41
+_sk_bicubic_n3x_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,16,0                             ; movups        (%rax),%xmm0
+  DB  68,15,16,128,128,0,0,0              ; movups        0x80(%rax),%xmm8
+  DB  15,88,5,97,166,1,0                  ; addps         0x1a661(%rip),%xmm0        # 35ae0 <_sk_srcover_bgra_8888_sse2_lowp+0x12c8>
+  DB  68,15,40,13,41,160,1,0              ; movaps        0x1a029(%rip),%xmm9        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,92,200                        ; subps         %xmm8,%xmm9
+  DB  69,15,40,193                        ; movaps        %xmm9,%xmm8
+  DB  69,15,89,192                        ; mulps         %xmm8,%xmm8
+  DB  68,15,89,13,85,166,1,0              ; mulps         0x1a655(%rip),%xmm9        # 35af0 <_sk_srcover_bgra_8888_sse2_lowp+0x12d8>
+  DB  68,15,88,13,13,162,1,0              ; addps         0x1a20d(%rip),%xmm9        # 356b0 <_sk_srcover_bgra_8888_sse2_lowp+0xe98>
+  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
+  DB  68,15,17,136,0,1,0,0                ; movups        %xmm9,0x100(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bicubic_n1x_sse41
+_sk_bicubic_n1x_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,16,0                             ; movups        (%rax),%xmm0
+  DB  68,15,16,128,128,0,0,0              ; movups        0x80(%rax),%xmm8
+  DB  15,88,5,9,166,1,0                   ; addps         0x1a609(%rip),%xmm0        # 35ad0 <_sk_srcover_bgra_8888_sse2_lowp+0x12b8>
+  DB  68,15,40,13,225,159,1,0             ; movaps        0x19fe1(%rip),%xmm9        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,92,200                        ; subps         %xmm8,%xmm9
+  DB  68,15,40,5,37,166,1,0               ; movaps        0x1a625(%rip),%xmm8        # 35b00 <_sk_srcover_bgra_8888_sse2_lowp+0x12e8>
+  DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
+  DB  68,15,88,5,41,166,1,0               ; addps         0x1a629(%rip),%xmm8        # 35b10 <_sk_srcover_bgra_8888_sse2_lowp+0x12f8>
+  DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
+  DB  68,15,88,5,173,159,1,0              ; addps         0x19fad(%rip),%xmm8        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
+  DB  68,15,88,5,33,166,1,0               ; addps         0x1a621(%rip),%xmm8        # 35b20 <_sk_srcover_bgra_8888_sse2_lowp+0x1308>
+  DB  68,15,17,128,0,1,0,0                ; movups        %xmm8,0x100(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bicubic_p1x_sse41
+_sk_bicubic_p1x_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  68,15,40,5,139,159,1,0              ; movaps        0x19f8b(%rip),%xmm8        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  15,16,0                             ; movups        (%rax),%xmm0
+  DB  68,15,16,136,128,0,0,0              ; movups        0x80(%rax),%xmm9
+  DB  65,15,88,192                        ; addps         %xmm8,%xmm0
+  DB  68,15,40,21,212,165,1,0             ; movaps        0x1a5d4(%rip),%xmm10        # 35b00 <_sk_srcover_bgra_8888_sse2_lowp+0x12e8>
+  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
+  DB  68,15,88,21,216,165,1,0             ; addps         0x1a5d8(%rip),%xmm10        # 35b10 <_sk_srcover_bgra_8888_sse2_lowp+0x12f8>
+  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
+  DB  69,15,88,208                        ; addps         %xmm8,%xmm10
+  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
+  DB  68,15,88,21,212,165,1,0             ; addps         0x1a5d4(%rip),%xmm10        # 35b20 <_sk_srcover_bgra_8888_sse2_lowp+0x1308>
+  DB  68,15,17,144,0,1,0,0                ; movups        %xmm10,0x100(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bicubic_p3x_sse41
+_sk_bicubic_p3x_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,16,0                             ; movups        (%rax),%xmm0
+  DB  68,15,16,128,128,0,0,0              ; movups        0x80(%rax),%xmm8
+  DB  15,88,5,164,165,1,0                 ; addps         0x1a5a4(%rip),%xmm0        # 35b10 <_sk_srcover_bgra_8888_sse2_lowp+0x12f8>
+  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
+  DB  69,15,89,201                        ; mulps         %xmm9,%xmm9
+  DB  68,15,89,5,116,165,1,0              ; mulps         0x1a574(%rip),%xmm8        # 35af0 <_sk_srcover_bgra_8888_sse2_lowp+0x12d8>
+  DB  68,15,88,5,44,161,1,0               ; addps         0x1a12c(%rip),%xmm8        # 356b0 <_sk_srcover_bgra_8888_sse2_lowp+0xe98>
+  DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
+  DB  68,15,17,128,0,1,0,0                ; movups        %xmm8,0x100(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bicubic_n3y_sse41
+_sk_bicubic_n3y_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,16,72,64                         ; movups        0x40(%rax),%xmm1
+  DB  68,15,16,128,192,0,0,0              ; movups        0xc0(%rax),%xmm8
+  DB  15,88,13,55,165,1,0                 ; addps         0x1a537(%rip),%xmm1        # 35ae0 <_sk_srcover_bgra_8888_sse2_lowp+0x12c8>
+  DB  68,15,40,13,255,158,1,0             ; movaps        0x19eff(%rip),%xmm9        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,92,200                        ; subps         %xmm8,%xmm9
+  DB  69,15,40,193                        ; movaps        %xmm9,%xmm8
+  DB  69,15,89,192                        ; mulps         %xmm8,%xmm8
+  DB  68,15,89,13,43,165,1,0              ; mulps         0x1a52b(%rip),%xmm9        # 35af0 <_sk_srcover_bgra_8888_sse2_lowp+0x12d8>
+  DB  68,15,88,13,227,160,1,0             ; addps         0x1a0e3(%rip),%xmm9        # 356b0 <_sk_srcover_bgra_8888_sse2_lowp+0xe98>
+  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
+  DB  68,15,17,136,64,1,0,0               ; movups        %xmm9,0x140(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bicubic_n1y_sse41
+_sk_bicubic_n1y_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,16,72,64                         ; movups        0x40(%rax),%xmm1
+  DB  68,15,16,128,192,0,0,0              ; movups        0xc0(%rax),%xmm8
+  DB  15,88,13,222,164,1,0                ; addps         0x1a4de(%rip),%xmm1        # 35ad0 <_sk_srcover_bgra_8888_sse2_lowp+0x12b8>
+  DB  68,15,40,13,182,158,1,0             ; movaps        0x19eb6(%rip),%xmm9        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,92,200                        ; subps         %xmm8,%xmm9
+  DB  68,15,40,5,250,164,1,0              ; movaps        0x1a4fa(%rip),%xmm8        # 35b00 <_sk_srcover_bgra_8888_sse2_lowp+0x12e8>
+  DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
+  DB  68,15,88,5,254,164,1,0              ; addps         0x1a4fe(%rip),%xmm8        # 35b10 <_sk_srcover_bgra_8888_sse2_lowp+0x12f8>
+  DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
+  DB  68,15,88,5,130,158,1,0              ; addps         0x19e82(%rip),%xmm8        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
+  DB  68,15,88,5,246,164,1,0              ; addps         0x1a4f6(%rip),%xmm8        # 35b20 <_sk_srcover_bgra_8888_sse2_lowp+0x1308>
+  DB  68,15,17,128,64,1,0,0               ; movups        %xmm8,0x140(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bicubic_p1y_sse41
+_sk_bicubic_p1y_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  68,15,40,5,96,158,1,0               ; movaps        0x19e60(%rip),%xmm8        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  15,16,72,64                         ; movups        0x40(%rax),%xmm1
+  DB  68,15,16,136,192,0,0,0              ; movups        0xc0(%rax),%xmm9
+  DB  65,15,88,200                        ; addps         %xmm8,%xmm1
+  DB  68,15,40,21,168,164,1,0             ; movaps        0x1a4a8(%rip),%xmm10        # 35b00 <_sk_srcover_bgra_8888_sse2_lowp+0x12e8>
+  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
+  DB  68,15,88,21,172,164,1,0             ; addps         0x1a4ac(%rip),%xmm10        # 35b10 <_sk_srcover_bgra_8888_sse2_lowp+0x12f8>
+  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
+  DB  69,15,88,208                        ; addps         %xmm8,%xmm10
+  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
+  DB  68,15,88,21,168,164,1,0             ; addps         0x1a4a8(%rip),%xmm10        # 35b20 <_sk_srcover_bgra_8888_sse2_lowp+0x1308>
+  DB  68,15,17,144,64,1,0,0               ; movups        %xmm10,0x140(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bicubic_p3y_sse41
+_sk_bicubic_p3y_sse41 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,16,72,64                         ; movups        0x40(%rax),%xmm1
+  DB  68,15,16,128,192,0,0,0              ; movups        0xc0(%rax),%xmm8
+  DB  15,88,13,119,164,1,0                ; addps         0x1a477(%rip),%xmm1        # 35b10 <_sk_srcover_bgra_8888_sse2_lowp+0x12f8>
+  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
+  DB  69,15,89,201                        ; mulps         %xmm9,%xmm9
+  DB  68,15,89,5,71,164,1,0               ; mulps         0x1a447(%rip),%xmm8        # 35af0 <_sk_srcover_bgra_8888_sse2_lowp+0x12d8>
+  DB  68,15,88,5,255,159,1,0              ; addps         0x19fff(%rip),%xmm8        # 356b0 <_sk_srcover_bgra_8888_sse2_lowp+0xe98>
+  DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
+  DB  68,15,17,128,64,1,0,0               ; movups        %xmm8,0x140(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_callback_sse41
+_sk_callback_sse41 LABEL PROC
+  DB  85                                  ; push          %rbp
+  DB  72,137,229                          ; mov           %rsp,%rbp
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  83                                  ; push          %rbx
+  DB  72,131,236,40                       ; sub           $0x28,%rsp
+  DB  68,15,40,197                        ; movaps        %xmm5,%xmm8
+  DB  68,15,40,204                        ; movaps        %xmm4,%xmm9
+  DB  73,137,206                          ; mov           %rcx,%r14
+  DB  73,137,215                          ; mov           %rdx,%r15
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  72,137,195                          ; mov           %rax,%rbx
+  DB  15,40,224                           ; movaps        %xmm0,%xmm4
+  DB  15,20,225                           ; unpcklps      %xmm1,%xmm4
+  DB  15,40,234                           ; movaps        %xmm2,%xmm5
+  DB  15,20,235                           ; unpcklps      %xmm3,%xmm5
+  DB  15,21,193                           ; unpckhps      %xmm1,%xmm0
+  DB  15,21,211                           ; unpckhps      %xmm3,%xmm2
+  DB  15,40,204                           ; movaps        %xmm4,%xmm1
+  DB  102,15,20,205                       ; unpcklpd      %xmm5,%xmm1
+  DB  15,18,236                           ; movhlps       %xmm4,%xmm5
+  DB  15,40,216                           ; movaps        %xmm0,%xmm3
+  DB  102,15,20,218                       ; unpcklpd      %xmm2,%xmm3
+  DB  102,15,17,75,8                      ; movupd        %xmm1,0x8(%rbx)
+  DB  15,18,208                           ; movhlps       %xmm0,%xmm2
+  DB  15,17,107,24                        ; movups        %xmm5,0x18(%rbx)
+  DB  102,15,17,91,40                     ; movupd        %xmm3,0x28(%rbx)
+  DB  15,17,83,56                         ; movups        %xmm2,0x38(%rbx)
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  186,4,0,0,0                         ; mov           $0x4,%edx
+  DB  15,69,215                           ; cmovne        %edi,%edx
+  DB  72,137,217                          ; mov           %rbx,%rcx
+  DB  255,19                              ; callq         *(%rbx)
+  DB  72,139,131,8,1,0,0                  ; mov           0x108(%rbx),%rax
+  DB  15,16,32                            ; movups        (%rax),%xmm4
+  DB  15,16,64,16                         ; movups        0x10(%rax),%xmm0
+  DB  15,16,88,32                         ; movups        0x20(%rax),%xmm3
+  DB  15,16,80,48                         ; movups        0x30(%rax),%xmm2
+  DB  15,40,236                           ; movaps        %xmm4,%xmm5
+  DB  15,20,232                           ; unpcklps      %xmm0,%xmm5
+  DB  15,40,203                           ; movaps        %xmm3,%xmm1
+  DB  15,20,202                           ; unpcklps      %xmm2,%xmm1
+  DB  15,21,224                           ; unpckhps      %xmm0,%xmm4
+  DB  15,21,218                           ; unpckhps      %xmm2,%xmm3
+  DB  15,40,197                           ; movaps        %xmm5,%xmm0
+  DB  102,15,20,193                       ; unpcklpd      %xmm1,%xmm0
+  DB  15,18,205                           ; movhlps       %xmm5,%xmm1
+  DB  15,40,212                           ; movaps        %xmm4,%xmm2
+  DB  102,15,20,211                       ; unpcklpd      %xmm3,%xmm2
+  DB  15,18,220                           ; movhlps       %xmm4,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,137,250                          ; mov           %r15,%rdx
+  DB  76,137,241                          ; mov           %r14,%rcx
+  DB  65,15,40,225                        ; movaps        %xmm9,%xmm4
+  DB  65,15,40,232                        ; movaps        %xmm8,%xmm5
+  DB  72,131,196,40                       ; add           $0x28,%rsp
+  DB  91                                  ; pop           %rbx
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  93                                  ; pop           %rbp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_clut_3D_sse41
+_sk_clut_3D_sse41 LABEL PROC
+  DB  85                                  ; push          %rbp
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,85                               ; push          %r13
+  DB  65,84                               ; push          %r12
+  DB  83                                  ; push          %rbx
+  DB  72,129,236,184,0,0,0                ; sub           $0xb8,%rsp
+  DB  15,41,188,36,160,0,0,0              ; movaps        %xmm7,0xa0(%rsp)
+  DB  15,41,180,36,144,0,0,0              ; movaps        %xmm6,0x90(%rsp)
+  DB  15,41,172,36,128,0,0,0              ; movaps        %xmm5,0x80(%rsp)
+  DB  15,41,100,36,112                    ; movaps        %xmm4,0x70(%rsp)
+  DB  15,41,92,36,96                      ; movaps        %xmm3,0x60(%rsp)
+  DB  15,40,216                           ; movaps        %xmm0,%xmm3
+  DB  72,137,76,36,8                      ; mov           %rcx,0x8(%rsp)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  68,139,64,16                        ; mov           0x10(%rax),%r8d
+  DB  69,141,72,255                       ; lea           -0x1(%r8),%r9d
+  DB  102,65,15,110,193                   ; movd          %r9d,%xmm0
+  DB  102,15,112,192,0                    ; pshufd        $0x0,%xmm0,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  15,89,194                           ; mulps         %xmm2,%xmm0
+  DB  15,41,68,36,80                      ; movaps        %xmm0,0x50(%rsp)
+  DB  243,15,91,240                       ; cvttps2dq     %xmm0,%xmm6
+  DB  15,40,37,74,163,1,0                 ; movaps        0x1a34a(%rip),%xmm4        # 35b30 <_sk_srcover_bgra_8888_sse2_lowp+0x1318>
+  DB  15,88,196                           ; addps         %xmm4,%xmm0
+  DB  15,41,68,36,48                      ; movaps        %xmm0,0x30(%rsp)
+  DB  102,65,15,110,208                   ; movd          %r8d,%xmm2
+  DB  102,68,15,112,202,0                 ; pshufd        $0x0,%xmm2,%xmm9
+  DB  68,139,64,12                        ; mov           0xc(%rax),%r8d
+  DB  69,141,72,255                       ; lea           -0x1(%r8),%r9d
+  DB  102,65,15,110,233                   ; movd          %r9d,%xmm5
+  DB  102,15,112,237,0                    ; pshufd        $0x0,%xmm5,%xmm5
+  DB  15,91,253                           ; cvtdq2ps      %xmm5,%xmm7
+  DB  15,89,249                           ; mulps         %xmm1,%xmm7
+  DB  15,41,124,36,16                     ; movaps        %xmm7,0x10(%rsp)
+  DB  243,15,91,239                       ; cvttps2dq     %xmm7,%xmm5
+  DB  102,15,127,108,36,32                ; movdqa        %xmm5,0x20(%rsp)
+  DB  15,40,207                           ; movaps        %xmm7,%xmm1
+  DB  15,88,204                           ; addps         %xmm4,%xmm1
+  DB  243,68,15,91,209                    ; cvttps2dq     %xmm1,%xmm10
+  DB  102,69,15,56,64,209                 ; pmulld        %xmm9,%xmm10
+  DB  102,68,15,56,64,205                 ; pmulld        %xmm5,%xmm9
+  DB  102,65,15,110,192                   ; movd          %r8d,%xmm0
+  DB  102,15,56,64,194                    ; pmulld        %xmm2,%xmm0
+  DB  68,139,64,8                         ; mov           0x8(%rax),%r8d
+  DB  65,255,200                          ; dec           %r8d
+  DB  102,65,15,110,200                   ; movd          %r8d,%xmm1
+  DB  102,15,112,201,0                    ; pshufd        $0x0,%xmm1,%xmm1
+  DB  68,15,91,217                        ; cvtdq2ps      %xmm1,%xmm11
+  DB  68,15,89,219                        ; mulps         %xmm3,%xmm11
+  DB  102,65,15,111,209                   ; movdqa        %xmm9,%xmm2
+  DB  102,15,111,238                      ; movdqa        %xmm6,%xmm5
+  DB  102,15,127,108,36,64                ; movdqa        %xmm5,0x40(%rsp)
+  DB  102,15,254,213                      ; paddd         %xmm5,%xmm2
+  DB  102,68,15,112,192,0                 ; pshufd        $0x0,%xmm0,%xmm8
+  DB  65,15,88,227                        ; addps         %xmm11,%xmm4
+  DB  243,68,15,91,244                    ; cvttps2dq     %xmm4,%xmm14
+  DB  102,69,15,56,64,240                 ; pmulld        %xmm8,%xmm14
+  DB  243,65,15,91,195                    ; cvttps2dq     %xmm11,%xmm0
+  DB  102,68,15,56,64,192                 ; pmulld        %xmm0,%xmm8
+  DB  102,65,15,111,216                   ; movdqa        %xmm8,%xmm3
+  DB  102,15,254,218                      ; paddd         %xmm2,%xmm3
+  DB  102,68,15,111,37,161,162,1,0        ; movdqa        0x1a2a1(%rip),%xmm12        # 35b40 <_sk_srcover_bgra_8888_sse2_lowp+0x1328>
+  DB  102,65,15,56,64,220                 ; pmulld        %xmm12,%xmm3
+  DB  102,15,118,228                      ; pcmpeqd       %xmm4,%xmm4
+  DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
+  DB  102,15,250,204                      ; psubd         %xmm4,%xmm1
+  DB  102,69,15,118,237                   ; pcmpeqd       %xmm13,%xmm13
+  DB  102,73,15,58,22,200,1               ; pextrq        $0x1,%xmm1,%r8
+  DB  102,73,15,126,201                   ; movq          %xmm1,%r9
+  DB  72,139,0                            ; mov           (%rax),%rax
+  DB  69,137,202                          ; mov           %r9d,%r10d
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,195                          ; mov           %r8d,%r11d
+  DB  243,66,15,16,12,144                 ; movss         (%rax,%r10,4),%xmm1
+  DB  102,66,15,58,33,12,136,16           ; insertps      $0x10,(%rax,%r9,4),%xmm1
+  DB  243,66,15,16,36,152                 ; movss         (%rax,%r11,4),%xmm4
+  DB  102,15,58,33,204,32                 ; insertps      $0x20,%xmm4,%xmm1
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,36,128                 ; movss         (%rax,%r8,4),%xmm4
+  DB  102,15,58,33,204,48                 ; insertps      $0x30,%xmm4,%xmm1
+  DB  102,65,15,126,216                   ; movd          %xmm3,%r8d
+  DB  102,65,15,58,22,217,1               ; pextrd        $0x1,%xmm3,%r9d
+  DB  102,65,15,58,22,218,2               ; pextrd        $0x2,%xmm3,%r10d
+  DB  102,65,15,58,22,219,3               ; pextrd        $0x3,%xmm3,%r11d
+  DB  102,15,111,37,197,155,1,0           ; movdqa        0x19bc5(%rip),%xmm4        # 354e0 <_sk_srcover_bgra_8888_sse2_lowp+0xcc8>
+  DB  102,15,254,220                      ; paddd         %xmm4,%xmm3
+  DB  102,15,111,252                      ; movdqa        %xmm4,%xmm7
+  DB  102,73,15,58,22,222,1               ; pextrq        $0x1,%xmm3,%r14
+  DB  102,72,15,126,219                   ; movq          %xmm3,%rbx
+  DB  65,137,223                          ; mov           %ebx,%r15d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,244                          ; mov           %r14d,%r12d
+  DB  243,66,15,16,36,184                 ; movss         (%rax,%r15,4),%xmm4
+  DB  102,15,58,33,36,152,16              ; insertps      $0x10,(%rax,%rbx,4),%xmm4
+  DB  243,66,15,16,28,160                 ; movss         (%rax,%r12,4),%xmm3
+  DB  102,15,58,33,227,32                 ; insertps      $0x20,%xmm3,%xmm4
+  DB  73,193,238,32                       ; shr           $0x20,%r14
+  DB  243,66,15,16,28,176                 ; movss         (%rax,%r14,4),%xmm3
+  DB  102,15,58,33,227,48                 ; insertps      $0x30,%xmm3,%xmm4
+  DB  102,65,15,254,214                   ; paddd         %xmm14,%xmm2
+  DB  102,65,15,56,64,212                 ; pmulld        %xmm12,%xmm2
+  DB  102,15,111,218                      ; movdqa        %xmm2,%xmm3
+  DB  102,65,15,250,221                   ; psubd         %xmm13,%xmm3
+  DB  102,69,15,118,255                   ; pcmpeqd       %xmm15,%xmm15
+  DB  102,73,15,58,22,222,1               ; pextrq        $0x1,%xmm3,%r14
+  DB  102,72,15,126,219                   ; movq          %xmm3,%rbx
+  DB  65,137,223                          ; mov           %ebx,%r15d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,244                          ; mov           %r14d,%r12d
+  DB  243,66,15,16,28,184                 ; movss         (%rax,%r15,4),%xmm3
+  DB  102,15,58,33,28,152,16              ; insertps      $0x10,(%rax,%rbx,4),%xmm3
+  DB  243,66,15,16,52,160                 ; movss         (%rax,%r12,4),%xmm6
+  DB  102,15,58,33,222,32                 ; insertps      $0x20,%xmm6,%xmm3
+  DB  73,193,238,32                       ; shr           $0x20,%r14
+  DB  243,66,15,16,52,176                 ; movss         (%rax,%r14,4),%xmm6
+  DB  102,15,58,33,222,48                 ; insertps      $0x30,%xmm6,%xmm3
+  DB  102,65,15,126,213                   ; movd          %xmm2,%r13d
+  DB  102,65,15,58,22,214,1               ; pextrd        $0x1,%xmm2,%r14d
+  DB  102,65,15,58,22,215,2               ; pextrd        $0x2,%xmm2,%r15d
+  DB  102,65,15,58,22,212,3               ; pextrd        $0x3,%xmm2,%r12d
+  DB  102,15,254,215                      ; paddd         %xmm7,%xmm2
+  DB  102,68,15,111,239                   ; movdqa        %xmm7,%xmm13
+  DB  102,72,15,58,22,211,1               ; pextrq        $0x1,%xmm2,%rbx
+  DB  102,72,15,126,213                   ; movq          %xmm2,%rbp
+  DB  137,233                             ; mov           %ebp,%ecx
+  DB  72,193,237,32                       ; shr           $0x20,%rbp
+  DB  243,15,16,60,136                    ; movss         (%rax,%rcx,4),%xmm7
+  DB  102,15,58,33,60,168,16              ; insertps      $0x10,(%rax,%rbp,4),%xmm7
+  DB  137,217                             ; mov           %ebx,%ecx
+  DB  243,15,16,20,136                    ; movss         (%rax,%rcx,4),%xmm2
+  DB  102,15,58,33,250,32                 ; insertps      $0x20,%xmm2,%xmm7
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  243,15,16,20,152                    ; movss         (%rax,%rbx,4),%xmm2
+  DB  102,15,58,33,250,48                 ; insertps      $0x30,%xmm2,%xmm7
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  68,15,92,216                        ; subps         %xmm0,%xmm11
+  DB  243,66,15,16,20,128                 ; movss         (%rax,%r8,4),%xmm2
+  DB  102,66,15,58,33,20,136,16           ; insertps      $0x10,(%rax,%r9,4),%xmm2
+  DB  102,66,15,58,33,20,144,32           ; insertps      $0x20,(%rax,%r10,4),%xmm2
+  DB  102,66,15,58,33,20,152,48           ; insertps      $0x30,(%rax,%r11,4),%xmm2
+  DB  243,66,15,16,4,168                  ; movss         (%rax,%r13,4),%xmm0
+  DB  102,66,15,58,33,4,176,16            ; insertps      $0x10,(%rax,%r14,4),%xmm0
+  DB  102,66,15,58,33,4,184,32            ; insertps      $0x20,(%rax,%r15,4),%xmm0
+  DB  102,66,15,58,33,4,160,48            ; insertps      $0x30,(%rax,%r12,4),%xmm0
+  DB  15,92,194                           ; subps         %xmm2,%xmm0
+  DB  65,15,89,195                        ; mulps         %xmm11,%xmm0
+  DB  15,88,194                           ; addps         %xmm2,%xmm0
+  DB  15,92,217                           ; subps         %xmm1,%xmm3
+  DB  65,15,89,219                        ; mulps         %xmm11,%xmm3
+  DB  15,88,217                           ; addps         %xmm1,%xmm3
+  DB  15,92,252                           ; subps         %xmm4,%xmm7
+  DB  65,15,89,251                        ; mulps         %xmm11,%xmm7
+  DB  15,88,252                           ; addps         %xmm4,%xmm7
+  DB  102,65,15,111,226                   ; movdqa        %xmm10,%xmm4
+  DB  102,15,254,229                      ; paddd         %xmm5,%xmm4
+  DB  102,15,111,204                      ; movdqa        %xmm4,%xmm1
+  DB  102,65,15,254,200                   ; paddd         %xmm8,%xmm1
+  DB  102,65,15,56,64,204                 ; pmulld        %xmm12,%xmm1
+  DB  102,15,126,201                      ; movd          %xmm1,%ecx
+  DB  102,15,58,22,205,1                  ; pextrd        $0x1,%xmm1,%ebp
+  DB  102,65,15,58,22,200,2               ; pextrd        $0x2,%xmm1,%r8d
+  DB  102,15,58,22,203,3                  ; pextrd        $0x3,%xmm1,%ebx
+  DB  243,15,16,20,136                    ; movss         (%rax,%rcx,4),%xmm2
+  DB  102,15,58,33,20,168,16              ; insertps      $0x10,(%rax,%rbp,4),%xmm2
+  DB  102,66,15,58,33,20,128,32           ; insertps      $0x20,(%rax,%r8,4),%xmm2
+  DB  243,15,16,52,152                    ; movss         (%rax,%rbx,4),%xmm6
+  DB  102,15,58,33,214,48                 ; insertps      $0x30,%xmm6,%xmm2
+  DB  102,15,111,241                      ; movdqa        %xmm1,%xmm6
+  DB  102,65,15,250,247                   ; psubd         %xmm15,%xmm6
+  DB  102,69,15,118,255                   ; pcmpeqd       %xmm15,%xmm15
+  DB  102,72,15,58,22,241,1               ; pextrq        $0x1,%xmm6,%rcx
+  DB  102,72,15,126,245                   ; movq          %xmm6,%rbp
+  DB  65,137,232                          ; mov           %ebp,%r8d
+  DB  72,193,237,32                       ; shr           $0x20,%rbp
+  DB  137,203                             ; mov           %ecx,%ebx
+  DB  243,66,15,16,52,128                 ; movss         (%rax,%r8,4),%xmm6
+  DB  102,15,58,33,52,168,16              ; insertps      $0x10,(%rax,%rbp,4),%xmm6
+  DB  243,15,16,44,152                    ; movss         (%rax,%rbx,4),%xmm5
+  DB  102,15,58,33,245,32                 ; insertps      $0x20,%xmm5,%xmm6
+  DB  72,193,233,32                       ; shr           $0x20,%rcx
+  DB  243,15,16,44,136                    ; movss         (%rax,%rcx,4),%xmm5
+  DB  102,15,58,33,245,48                 ; insertps      $0x30,%xmm5,%xmm6
+  DB  102,65,15,254,205                   ; paddd         %xmm13,%xmm1
+  DB  102,72,15,58,22,201,1               ; pextrq        $0x1,%xmm1,%rcx
+  DB  102,72,15,126,205                   ; movq          %xmm1,%rbp
+  DB  65,137,232                          ; mov           %ebp,%r8d
+  DB  72,193,237,32                       ; shr           $0x20,%rbp
+  DB  137,203                             ; mov           %ecx,%ebx
+  DB  243,66,15,16,12,128                 ; movss         (%rax,%r8,4),%xmm1
+  DB  102,15,58,33,12,168,16              ; insertps      $0x10,(%rax,%rbp,4),%xmm1
+  DB  243,15,16,44,152                    ; movss         (%rax,%rbx,4),%xmm5
+  DB  102,15,58,33,205,32                 ; insertps      $0x20,%xmm5,%xmm1
+  DB  72,193,233,32                       ; shr           $0x20,%rcx
+  DB  243,15,16,44,136                    ; movss         (%rax,%rcx,4),%xmm5
+  DB  102,15,58,33,205,48                 ; insertps      $0x30,%xmm5,%xmm1
+  DB  102,65,15,254,230                   ; paddd         %xmm14,%xmm4
+  DB  102,65,15,56,64,228                 ; pmulld        %xmm12,%xmm4
+  DB  102,15,111,236                      ; movdqa        %xmm4,%xmm5
+  DB  102,65,15,250,239                   ; psubd         %xmm15,%xmm5
+  DB  102,72,15,58,22,233,1               ; pextrq        $0x1,%xmm5,%rcx
+  DB  102,72,15,126,237                   ; movq          %xmm5,%rbp
+  DB  65,137,232                          ; mov           %ebp,%r8d
+  DB  72,193,237,32                       ; shr           $0x20,%rbp
+  DB  137,203                             ; mov           %ecx,%ebx
+  DB  243,70,15,16,36,128                 ; movss         (%rax,%r8,4),%xmm12
+  DB  102,68,15,58,33,36,168,16           ; insertps      $0x10,(%rax,%rbp,4),%xmm12
+  DB  243,15,16,44,152                    ; movss         (%rax,%rbx,4),%xmm5
+  DB  102,68,15,58,33,229,32              ; insertps      $0x20,%xmm5,%xmm12
+  DB  72,193,233,32                       ; shr           $0x20,%rcx
+  DB  243,15,16,44,136                    ; movss         (%rax,%rcx,4),%xmm5
+  DB  102,68,15,58,33,229,48              ; insertps      $0x30,%xmm5,%xmm12
+  DB  102,65,15,126,224                   ; movd          %xmm4,%r8d
+  DB  102,65,15,58,22,227,1               ; pextrd        $0x1,%xmm4,%r11d
+  DB  102,65,15,58,22,226,2               ; pextrd        $0x2,%xmm4,%r10d
+  DB  102,65,15,58,22,225,3               ; pextrd        $0x3,%xmm4,%r9d
+  DB  102,65,15,254,229                   ; paddd         %xmm13,%xmm4
+  DB  102,72,15,58,22,225,1               ; pextrq        $0x1,%xmm4,%rcx
+  DB  102,72,15,126,227                   ; movq          %xmm4,%rbx
+  DB  65,137,222                          ; mov           %ebx,%r14d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  137,205                             ; mov           %ecx,%ebp
+  DB  243,70,15,16,60,176                 ; movss         (%rax,%r14,4),%xmm15
+  DB  102,68,15,58,33,60,152,16           ; insertps      $0x10,(%rax,%rbx,4),%xmm15
+  DB  243,15,16,36,168                    ; movss         (%rax,%rbp,4),%xmm4
+  DB  102,68,15,58,33,252,32              ; insertps      $0x20,%xmm4,%xmm15
+  DB  72,193,233,32                       ; shr           $0x20,%rcx
+  DB  243,15,16,36,136                    ; movss         (%rax,%rcx,4),%xmm4
+  DB  102,68,15,58,33,252,48              ; insertps      $0x30,%xmm4,%xmm15
+  DB  243,66,15,16,36,128                 ; movss         (%rax,%r8,4),%xmm4
+  DB  102,66,15,58,33,36,152,16           ; insertps      $0x10,(%rax,%r11,4),%xmm4
+  DB  102,66,15,58,33,36,144,32           ; insertps      $0x20,(%rax,%r10,4),%xmm4
+  DB  102,66,15,58,33,36,136,48           ; insertps      $0x30,(%rax,%r9,4),%xmm4
+  DB  15,92,226                           ; subps         %xmm2,%xmm4
+  DB  65,15,89,227                        ; mulps         %xmm11,%xmm4
+  DB  15,88,226                           ; addps         %xmm2,%xmm4
+  DB  68,15,92,230                        ; subps         %xmm6,%xmm12
+  DB  69,15,89,227                        ; mulps         %xmm11,%xmm12
+  DB  68,15,88,230                        ; addps         %xmm6,%xmm12
+  DB  68,15,92,249                        ; subps         %xmm1,%xmm15
+  DB  69,15,89,251                        ; mulps         %xmm11,%xmm15
+  DB  68,15,88,249                        ; addps         %xmm1,%xmm15
+  DB  15,91,76,36,32                      ; cvtdq2ps      0x20(%rsp),%xmm1
+  DB  68,15,40,108,36,16                  ; movaps        0x10(%rsp),%xmm13
+  DB  68,15,92,233                        ; subps         %xmm1,%xmm13
+  DB  15,92,224                           ; subps         %xmm0,%xmm4
+  DB  65,15,89,229                        ; mulps         %xmm13,%xmm4
+  DB  15,88,224                           ; addps         %xmm0,%xmm4
+  DB  68,15,92,227                        ; subps         %xmm3,%xmm12
+  DB  69,15,89,229                        ; mulps         %xmm13,%xmm12
+  DB  68,15,88,227                        ; addps         %xmm3,%xmm12
+  DB  68,15,92,255                        ; subps         %xmm7,%xmm15
+  DB  69,15,89,253                        ; mulps         %xmm13,%xmm15
+  DB  68,15,88,255                        ; addps         %xmm7,%xmm15
+  DB  243,15,91,84,36,48                  ; cvttps2dq     0x30(%rsp),%xmm2
+  DB  102,68,15,254,202                   ; paddd         %xmm2,%xmm9
+  DB  102,65,15,111,192                   ; movdqa        %xmm8,%xmm0
+  DB  102,65,15,254,193                   ; paddd         %xmm9,%xmm0
+  DB  102,15,111,45,176,158,1,0           ; movdqa        0x19eb0(%rip),%xmm5        # 35b40 <_sk_srcover_bgra_8888_sse2_lowp+0x1328>
+  DB  102,15,56,64,197                    ; pmulld        %xmm5,%xmm0
+  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
+  DB  102,15,118,246                      ; pcmpeqd       %xmm6,%xmm6
+  DB  102,15,250,206                      ; psubd         %xmm6,%xmm1
+  DB  102,72,15,58,22,201,1               ; pextrq        $0x1,%xmm1,%rcx
+  DB  102,72,15,126,205                   ; movq          %xmm1,%rbp
+  DB  137,235                             ; mov           %ebp,%ebx
+  DB  72,193,237,32                       ; shr           $0x20,%rbp
+  DB  65,137,200                          ; mov           %ecx,%r8d
+  DB  243,15,16,12,152                    ; movss         (%rax,%rbx,4),%xmm1
+  DB  102,15,58,33,12,168,16              ; insertps      $0x10,(%rax,%rbp,4),%xmm1
+  DB  243,66,15,16,28,128                 ; movss         (%rax,%r8,4),%xmm3
+  DB  102,15,58,33,203,32                 ; insertps      $0x20,%xmm3,%xmm1
+  DB  72,193,233,32                       ; shr           $0x20,%rcx
+  DB  243,15,16,28,136                    ; movss         (%rax,%rcx,4),%xmm3
+  DB  102,15,58,33,203,48                 ; insertps      $0x30,%xmm3,%xmm1
+  DB  102,65,15,126,192                   ; movd          %xmm0,%r8d
+  DB  102,65,15,58,22,193,1               ; pextrd        $0x1,%xmm0,%r9d
+  DB  102,65,15,58,22,194,2               ; pextrd        $0x2,%xmm0,%r10d
+  DB  102,65,15,58,22,195,3               ; pextrd        $0x3,%xmm0,%r11d
+  DB  102,15,111,61,225,151,1,0           ; movdqa        0x197e1(%rip),%xmm7        # 354e0 <_sk_srcover_bgra_8888_sse2_lowp+0xcc8>
+  DB  102,15,254,199                      ; paddd         %xmm7,%xmm0
+  DB  102,72,15,58,22,193,1               ; pextrq        $0x1,%xmm0,%rcx
+  DB  102,72,15,126,195                   ; movq          %xmm0,%rbx
+  DB  137,221                             ; mov           %ebx,%ebp
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  65,137,206                          ; mov           %ecx,%r14d
+  DB  243,15,16,4,168                     ; movss         (%rax,%rbp,4),%xmm0
+  DB  102,15,58,33,4,152,16               ; insertps      $0x10,(%rax,%rbx,4),%xmm0
+  DB  243,66,15,16,28,176                 ; movss         (%rax,%r14,4),%xmm3
+  DB  102,15,58,33,195,32                 ; insertps      $0x20,%xmm3,%xmm0
+  DB  72,193,233,32                       ; shr           $0x20,%rcx
+  DB  243,15,16,28,136                    ; movss         (%rax,%rcx,4),%xmm3
+  DB  102,15,58,33,195,48                 ; insertps      $0x30,%xmm3,%xmm0
+  DB  102,69,15,254,206                   ; paddd         %xmm14,%xmm9
+  DB  102,68,15,56,64,205                 ; pmulld        %xmm5,%xmm9
+  DB  102,65,15,111,217                   ; movdqa        %xmm9,%xmm3
+  DB  102,15,250,222                      ; psubd         %xmm6,%xmm3
+  DB  102,72,15,58,22,217,1               ; pextrq        $0x1,%xmm3,%rcx
+  DB  102,72,15,126,219                   ; movq          %xmm3,%rbx
+  DB  137,221                             ; mov           %ebx,%ebp
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  65,137,206                          ; mov           %ecx,%r14d
+  DB  243,15,16,52,168                    ; movss         (%rax,%rbp,4),%xmm6
+  DB  102,15,58,33,52,152,16              ; insertps      $0x10,(%rax,%rbx,4),%xmm6
+  DB  243,66,15,16,28,176                 ; movss         (%rax,%r14,4),%xmm3
+  DB  102,15,58,33,243,32                 ; insertps      $0x20,%xmm3,%xmm6
+  DB  72,193,233,32                       ; shr           $0x20,%rcx
+  DB  243,15,16,28,136                    ; movss         (%rax,%rcx,4),%xmm3
+  DB  102,15,58,33,243,48                 ; insertps      $0x30,%xmm3,%xmm6
+  DB  102,69,15,126,205                   ; movd          %xmm9,%r13d
+  DB  102,69,15,58,22,207,1               ; pextrd        $0x1,%xmm9,%r15d
+  DB  102,69,15,58,22,204,2               ; pextrd        $0x2,%xmm9,%r12d
+  DB  102,69,15,58,22,206,3               ; pextrd        $0x3,%xmm9,%r14d
+  DB  102,68,15,254,207                   ; paddd         %xmm7,%xmm9
+  DB  102,76,15,58,22,203,1               ; pextrq        $0x1,%xmm9,%rbx
+  DB  102,76,15,126,205                   ; movq          %xmm9,%rbp
+  DB  137,233                             ; mov           %ebp,%ecx
+  DB  72,193,237,32                       ; shr           $0x20,%rbp
+  DB  243,15,16,60,136                    ; movss         (%rax,%rcx,4),%xmm7
+  DB  102,15,58,33,60,168,16              ; insertps      $0x10,(%rax,%rbp,4),%xmm7
+  DB  137,217                             ; mov           %ebx,%ecx
+  DB  243,15,16,28,136                    ; movss         (%rax,%rcx,4),%xmm3
+  DB  102,15,58,33,251,32                 ; insertps      $0x20,%xmm3,%xmm7
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  243,15,16,28,152                    ; movss         (%rax,%rbx,4),%xmm3
+  DB  102,15,58,33,251,48                 ; insertps      $0x30,%xmm3,%xmm7
+  DB  243,66,15,16,44,128                 ; movss         (%rax,%r8,4),%xmm5
+  DB  102,66,15,58,33,44,136,16           ; insertps      $0x10,(%rax,%r9,4),%xmm5
+  DB  102,66,15,58,33,44,144,32           ; insertps      $0x20,(%rax,%r10,4),%xmm5
+  DB  102,66,15,58,33,44,152,48           ; insertps      $0x30,(%rax,%r11,4),%xmm5
+  DB  243,66,15,16,28,168                 ; movss         (%rax,%r13,4),%xmm3
+  DB  102,66,15,58,33,28,184,16           ; insertps      $0x10,(%rax,%r15,4),%xmm3
+  DB  102,66,15,58,33,28,160,32           ; insertps      $0x20,(%rax,%r12,4),%xmm3
+  DB  102,66,15,58,33,28,176,48           ; insertps      $0x30,(%rax,%r14,4),%xmm3
+  DB  15,92,221                           ; subps         %xmm5,%xmm3
+  DB  65,15,89,219                        ; mulps         %xmm11,%xmm3
+  DB  15,88,221                           ; addps         %xmm5,%xmm3
+  DB  15,92,241                           ; subps         %xmm1,%xmm6
+  DB  65,15,89,243                        ; mulps         %xmm11,%xmm6
+  DB  15,88,241                           ; addps         %xmm1,%xmm6
+  DB  15,92,248                           ; subps         %xmm0,%xmm7
+  DB  65,15,89,251                        ; mulps         %xmm11,%xmm7
+  DB  15,88,248                           ; addps         %xmm0,%xmm7
+  DB  102,68,15,254,210                   ; paddd         %xmm2,%xmm10
+  DB  102,69,15,254,194                   ; paddd         %xmm10,%xmm8
+  DB  102,15,111,13,236,156,1,0           ; movdqa        0x19cec(%rip),%xmm1        # 35b40 <_sk_srcover_bgra_8888_sse2_lowp+0x1328>
+  DB  102,68,15,56,64,193                 ; pmulld        %xmm1,%xmm8
+  DB  102,65,15,111,192                   ; movdqa        %xmm8,%xmm0
+  DB  102,15,118,237                      ; pcmpeqd       %xmm5,%xmm5
+  DB  102,15,250,197                      ; psubd         %xmm5,%xmm0
+  DB  102,72,15,58,22,193,1               ; pextrq        $0x1,%xmm0,%rcx
+  DB  102,72,15,126,197                   ; movq          %xmm0,%rbp
+  DB  137,235                             ; mov           %ebp,%ebx
+  DB  72,193,237,32                       ; shr           $0x20,%rbp
+  DB  65,137,200                          ; mov           %ecx,%r8d
+  DB  243,68,15,16,12,152                 ; movss         (%rax,%rbx,4),%xmm9
+  DB  102,68,15,58,33,12,168,16           ; insertps      $0x10,(%rax,%rbp,4),%xmm9
+  DB  243,66,15,16,4,128                  ; movss         (%rax,%r8,4),%xmm0
+  DB  102,68,15,58,33,200,32              ; insertps      $0x20,%xmm0,%xmm9
+  DB  72,193,233,32                       ; shr           $0x20,%rcx
+  DB  243,15,16,4,136                     ; movss         (%rax,%rcx,4),%xmm0
+  DB  102,68,15,58,33,200,48              ; insertps      $0x30,%xmm0,%xmm9
+  DB  102,69,15,126,192                   ; movd          %xmm8,%r8d
+  DB  102,69,15,58,22,193,1               ; pextrd        $0x1,%xmm8,%r9d
+  DB  102,69,15,58,22,194,2               ; pextrd        $0x2,%xmm8,%r10d
+  DB  102,69,15,58,22,195,3               ; pextrd        $0x3,%xmm8,%r11d
+  DB  102,15,111,21,23,150,1,0            ; movdqa        0x19617(%rip),%xmm2        # 354e0 <_sk_srcover_bgra_8888_sse2_lowp+0xcc8>
+  DB  102,68,15,254,194                   ; paddd         %xmm2,%xmm8
+  DB  102,76,15,58,22,193,1               ; pextrq        $0x1,%xmm8,%rcx
+  DB  102,76,15,126,195                   ; movq          %xmm8,%rbx
+  DB  137,221                             ; mov           %ebx,%ebp
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  65,137,206                          ; mov           %ecx,%r14d
+  DB  243,68,15,16,4,168                  ; movss         (%rax,%rbp,4),%xmm8
+  DB  102,68,15,58,33,4,152,16            ; insertps      $0x10,(%rax,%rbx,4),%xmm8
+  DB  243,66,15,16,4,176                  ; movss         (%rax,%r14,4),%xmm0
+  DB  102,68,15,58,33,192,32              ; insertps      $0x20,%xmm0,%xmm8
+  DB  72,193,233,32                       ; shr           $0x20,%rcx
+  DB  243,15,16,4,136                     ; movss         (%rax,%rcx,4),%xmm0
+  DB  102,68,15,58,33,192,48              ; insertps      $0x30,%xmm0,%xmm8
+  DB  102,69,15,254,214                   ; paddd         %xmm14,%xmm10
+  DB  102,68,15,56,64,209                 ; pmulld        %xmm1,%xmm10
+  DB  102,65,15,111,194                   ; movdqa        %xmm10,%xmm0
+  DB  102,15,250,197                      ; psubd         %xmm5,%xmm0
+  DB  102,72,15,58,22,193,1               ; pextrq        $0x1,%xmm0,%rcx
+  DB  102,72,15,126,195                   ; movq          %xmm0,%rbx
+  DB  137,221                             ; mov           %ebx,%ebp
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  65,137,206                          ; mov           %ecx,%r14d
+  DB  243,15,16,12,168                    ; movss         (%rax,%rbp,4),%xmm1
+  DB  102,15,58,33,12,152,16              ; insertps      $0x10,(%rax,%rbx,4),%xmm1
+  DB  243,66,15,16,4,176                  ; movss         (%rax,%r14,4),%xmm0
+  DB  102,15,58,33,200,32                 ; insertps      $0x20,%xmm0,%xmm1
+  DB  72,193,233,32                       ; shr           $0x20,%rcx
+  DB  243,15,16,4,136                     ; movss         (%rax,%rcx,4),%xmm0
+  DB  102,15,58,33,200,48                 ; insertps      $0x30,%xmm0,%xmm1
+  DB  102,69,15,126,213                   ; movd          %xmm10,%r13d
+  DB  102,69,15,58,22,215,1               ; pextrd        $0x1,%xmm10,%r15d
+  DB  102,69,15,58,22,212,2               ; pextrd        $0x2,%xmm10,%r12d
+  DB  102,69,15,58,22,214,3               ; pextrd        $0x3,%xmm10,%r14d
+  DB  102,68,15,254,210                   ; paddd         %xmm2,%xmm10
+  DB  102,76,15,58,22,211,1               ; pextrq        $0x1,%xmm10,%rbx
+  DB  102,76,15,126,213                   ; movq          %xmm10,%rbp
+  DB  137,233                             ; mov           %ebp,%ecx
+  DB  72,193,237,32                       ; shr           $0x20,%rbp
+  DB  243,15,16,20,136                    ; movss         (%rax,%rcx,4),%xmm2
+  DB  102,15,58,33,20,168,16              ; insertps      $0x10,(%rax,%rbp,4),%xmm2
+  DB  137,217                             ; mov           %ebx,%ecx
+  DB  243,15,16,4,136                     ; movss         (%rax,%rcx,4),%xmm0
+  DB  102,15,58,33,208,32                 ; insertps      $0x20,%xmm0,%xmm2
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  243,15,16,4,152                     ; movss         (%rax,%rbx,4),%xmm0
+  DB  102,15,58,33,208,48                 ; insertps      $0x30,%xmm0,%xmm2
+  DB  243,66,15,16,44,128                 ; movss         (%rax,%r8,4),%xmm5
+  DB  102,66,15,58,33,44,136,16           ; insertps      $0x10,(%rax,%r9,4),%xmm5
+  DB  102,66,15,58,33,44,144,32           ; insertps      $0x20,(%rax,%r10,4),%xmm5
+  DB  102,66,15,58,33,44,152,48           ; insertps      $0x30,(%rax,%r11,4),%xmm5
+  DB  243,66,15,16,4,168                  ; movss         (%rax,%r13,4),%xmm0
+  DB  102,66,15,58,33,4,184,16            ; insertps      $0x10,(%rax,%r15,4),%xmm0
+  DB  102,66,15,58,33,4,160,32            ; insertps      $0x20,(%rax,%r12,4),%xmm0
+  DB  102,66,15,58,33,4,176,48            ; insertps      $0x30,(%rax,%r14,4),%xmm0
+  DB  15,92,197                           ; subps         %xmm5,%xmm0
+  DB  65,15,89,195                        ; mulps         %xmm11,%xmm0
+  DB  15,88,197                           ; addps         %xmm5,%xmm0
+  DB  65,15,92,201                        ; subps         %xmm9,%xmm1
+  DB  65,15,89,203                        ; mulps         %xmm11,%xmm1
+  DB  65,15,88,201                        ; addps         %xmm9,%xmm1
+  DB  65,15,92,208                        ; subps         %xmm8,%xmm2
+  DB  65,15,89,211                        ; mulps         %xmm11,%xmm2
+  DB  65,15,88,208                        ; addps         %xmm8,%xmm2
+  DB  15,92,195                           ; subps         %xmm3,%xmm0
+  DB  65,15,89,197                        ; mulps         %xmm13,%xmm0
+  DB  15,88,195                           ; addps         %xmm3,%xmm0
+  DB  15,92,206                           ; subps         %xmm6,%xmm1
+  DB  65,15,89,205                        ; mulps         %xmm13,%xmm1
+  DB  15,88,206                           ; addps         %xmm6,%xmm1
+  DB  15,92,215                           ; subps         %xmm7,%xmm2
+  DB  65,15,89,213                        ; mulps         %xmm13,%xmm2
+  DB  15,88,215                           ; addps         %xmm7,%xmm2
+  DB  15,91,92,36,64                      ; cvtdq2ps      0x40(%rsp),%xmm3
+  DB  15,40,108,36,80                     ; movaps        0x50(%rsp),%xmm5
+  DB  15,92,235                           ; subps         %xmm3,%xmm5
+  DB  15,92,196                           ; subps         %xmm4,%xmm0
+  DB  15,89,197                           ; mulps         %xmm5,%xmm0
+  DB  15,88,196                           ; addps         %xmm4,%xmm0
+  DB  65,15,92,204                        ; subps         %xmm12,%xmm1
+  DB  15,89,205                           ; mulps         %xmm5,%xmm1
+  DB  65,15,88,204                        ; addps         %xmm12,%xmm1
+  DB  65,15,92,215                        ; subps         %xmm15,%xmm2
+  DB  15,89,213                           ; mulps         %xmm5,%xmm2
+  DB  65,15,88,215                        ; addps         %xmm15,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  72,139,76,36,8                      ; mov           0x8(%rsp),%rcx
+  DB  15,40,92,36,96                      ; movaps        0x60(%rsp),%xmm3
+  DB  15,40,100,36,112                    ; movaps        0x70(%rsp),%xmm4
+  DB  15,40,172,36,128,0,0,0              ; movaps        0x80(%rsp),%xmm5
+  DB  15,40,180,36,144,0,0,0              ; movaps        0x90(%rsp),%xmm6
+  DB  15,40,188,36,160,0,0,0              ; movaps        0xa0(%rsp),%xmm7
+  DB  72,129,196,184,0,0,0                ; add           $0xb8,%rsp
+  DB  91                                  ; pop           %rbx
+  DB  65,92                               ; pop           %r12
+  DB  65,93                               ; pop           %r13
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  93                                  ; pop           %rbp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_clut_4D_sse41
+_sk_clut_4D_sse41 LABEL PROC
+  DB  85                                  ; push          %rbp
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,85                               ; push          %r13
+  DB  65,84                               ; push          %r12
+  DB  83                                  ; push          %rbx
+  DB  72,129,236,8,1,0,0                  ; sub           $0x108,%rsp
+  DB  15,41,188,36,240,0,0,0              ; movaps        %xmm7,0xf0(%rsp)
+  DB  15,41,180,36,224,0,0,0              ; movaps        %xmm6,0xe0(%rsp)
+  DB  15,41,172,36,208,0,0,0              ; movaps        %xmm5,0xd0(%rsp)
+  DB  15,41,164,36,192,0,0,0              ; movaps        %xmm4,0xc0(%rsp)
+  DB  68,15,40,193                        ; movaps        %xmm1,%xmm8
+  DB  72,137,76,36,120                    ; mov           %rcx,0x78(%rsp)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  68,139,64,20                        ; mov           0x14(%rax),%r8d
+  DB  69,141,72,255                       ; lea           -0x1(%r8),%r9d
+  DB  102,65,15,110,201                   ; movd          %r9d,%xmm1
+  DB  102,15,112,201,0                    ; pshufd        $0x0,%xmm1,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  15,89,203                           ; mulps         %xmm3,%xmm1
+  DB  15,41,140,36,176,0,0,0              ; movaps        %xmm1,0xb0(%rsp)
+  DB  243,15,91,249                       ; cvttps2dq     %xmm1,%xmm7
+  DB  15,40,29,46,154,1,0                 ; movaps        0x19a2e(%rip),%xmm3        # 35b30 <_sk_srcover_bgra_8888_sse2_lowp+0x1318>
+  DB  15,88,203                           ; addps         %xmm3,%xmm1
+  DB  15,41,76,36,32                      ; movaps        %xmm1,0x20(%rsp)
+  DB  102,65,15,110,232                   ; movd          %r8d,%xmm5
+  DB  102,68,15,112,237,0                 ; pshufd        $0x0,%xmm5,%xmm13
+  DB  68,139,64,16                        ; mov           0x10(%rax),%r8d
+  DB  69,141,72,255                       ; lea           -0x1(%r8),%r9d
+  DB  102,65,15,110,201                   ; movd          %r9d,%xmm1
+  DB  102,15,112,201,0                    ; pshufd        $0x0,%xmm1,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  15,89,202                           ; mulps         %xmm2,%xmm1
+  DB  15,41,76,36,96                      ; movaps        %xmm1,0x60(%rsp)
+  DB  243,15,91,209                       ; cvttps2dq     %xmm1,%xmm2
+  DB  102,15,127,148,36,160,0,0,0         ; movdqa        %xmm2,0xa0(%rsp)
+  DB  15,88,203                           ; addps         %xmm3,%xmm1
+  DB  243,15,91,201                       ; cvttps2dq     %xmm1,%xmm1
+  DB  102,65,15,56,64,205                 ; pmulld        %xmm13,%xmm1
+  DB  102,15,127,76,36,16                 ; movdqa        %xmm1,0x10(%rsp)
+  DB  102,68,15,56,64,234                 ; pmulld        %xmm2,%xmm13
+  DB  102,65,15,110,240                   ; movd          %r8d,%xmm6
+  DB  102,15,56,64,245                    ; pmulld        %xmm5,%xmm6
+  DB  68,139,64,12                        ; mov           0xc(%rax),%r8d
+  DB  69,141,72,255                       ; lea           -0x1(%r8),%r9d
+  DB  102,65,15,110,201                   ; movd          %r9d,%xmm1
+  DB  102,15,112,201,0                    ; pshufd        $0x0,%xmm1,%xmm1
+  DB  15,91,209                           ; cvtdq2ps      %xmm1,%xmm2
+  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
+  DB  68,139,72,8                         ; mov           0x8(%rax),%r9d
+  DB  65,255,201                          ; dec           %r9d
+  DB  102,65,15,110,201                   ; movd          %r9d,%xmm1
+  DB  102,15,112,201,0                    ; pshufd        $0x0,%xmm1,%xmm1
+  DB  68,15,91,225                        ; cvtdq2ps      %xmm1,%xmm12
+  DB  68,15,89,224                        ; mulps         %xmm0,%xmm12
+  DB  102,65,15,111,229                   ; movdqa        %xmm13,%xmm4
+  DB  102,15,127,188,36,144,0,0,0         ; movdqa        %xmm7,0x90(%rsp)
+  DB  102,15,254,231                      ; paddd         %xmm7,%xmm4
+  DB  102,65,15,110,232                   ; movd          %r8d,%xmm5
+  DB  102,15,56,64,238                    ; pmulld        %xmm6,%xmm5
+  DB  102,68,15,112,246,0                 ; pshufd        $0x0,%xmm6,%xmm14
+  DB  15,40,194                           ; movaps        %xmm2,%xmm0
+  DB  15,88,195                           ; addps         %xmm3,%xmm0
+  DB  243,68,15,91,192                    ; cvttps2dq     %xmm0,%xmm8
+  DB  102,69,15,56,64,198                 ; pmulld        %xmm14,%xmm8
+  DB  102,68,15,127,68,36,80              ; movdqa        %xmm8,0x50(%rsp)
+  DB  243,15,91,194                       ; cvttps2dq     %xmm2,%xmm0
+  DB  102,15,127,4,36                     ; movdqa        %xmm0,(%rsp)
+  DB  102,68,15,56,64,240                 ; pmulld        %xmm0,%xmm14
+  DB  102,65,15,111,206                   ; movdqa        %xmm14,%xmm1
+  DB  102,15,254,204                      ; paddd         %xmm4,%xmm1
+  DB  102,68,15,112,253,0                 ; pshufd        $0x0,%xmm5,%xmm15
+  DB  65,15,88,220                        ; addps         %xmm12,%xmm3
+  DB  243,68,15,91,203                    ; cvttps2dq     %xmm3,%xmm9
+  DB  102,69,15,56,64,207                 ; pmulld        %xmm15,%xmm9
+  DB  243,65,15,91,236                    ; cvttps2dq     %xmm12,%xmm5
+  DB  102,68,15,56,64,253                 ; pmulld        %xmm5,%xmm15
+  DB  102,65,15,111,223                   ; movdqa        %xmm15,%xmm3
+  DB  102,15,254,217                      ; paddd         %xmm1,%xmm3
+  DB  102,68,15,111,29,40,153,1,0         ; movdqa        0x19928(%rip),%xmm11        # 35b40 <_sk_srcover_bgra_8888_sse2_lowp+0x1328>
+  DB  102,65,15,56,64,219                 ; pmulld        %xmm11,%xmm3
+  DB  102,15,118,192                      ; pcmpeqd       %xmm0,%xmm0
+  DB  102,15,111,243                      ; movdqa        %xmm3,%xmm6
+  DB  102,15,250,240                      ; psubd         %xmm0,%xmm6
+  DB  102,73,15,58,22,240,1               ; pextrq        $0x1,%xmm6,%r8
+  DB  102,73,15,126,241                   ; movq          %xmm6,%r9
+  DB  72,139,0                            ; mov           (%rax),%rax
+  DB  69,137,202                          ; mov           %r9d,%r10d
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  69,137,195                          ; mov           %r8d,%r11d
+  DB  243,66,15,16,60,144                 ; movss         (%rax,%r10,4),%xmm7
+  DB  102,66,15,58,33,60,136,16           ; insertps      $0x10,(%rax,%r9,4),%xmm7
+  DB  243,66,15,16,52,152                 ; movss         (%rax,%r11,4),%xmm6
+  DB  102,15,58,33,254,32                 ; insertps      $0x20,%xmm6,%xmm7
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,52,128                 ; movss         (%rax,%r8,4),%xmm6
+  DB  102,15,58,33,254,48                 ; insertps      $0x30,%xmm6,%xmm7
+  DB  102,65,15,126,216                   ; movd          %xmm3,%r8d
+  DB  102,65,15,58,22,217,1               ; pextrd        $0x1,%xmm3,%r9d
+  DB  102,65,15,58,22,218,2               ; pextrd        $0x2,%xmm3,%r10d
+  DB  102,65,15,58,22,219,3               ; pextrd        $0x3,%xmm3,%r11d
+  DB  102,68,15,111,21,80,146,1,0         ; movdqa        0x19250(%rip),%xmm10        # 354e0 <_sk_srcover_bgra_8888_sse2_lowp+0xcc8>
+  DB  102,65,15,254,218                   ; paddd         %xmm10,%xmm3
+  DB  102,73,15,58,22,222,1               ; pextrq        $0x1,%xmm3,%r14
+  DB  102,72,15,126,219                   ; movq          %xmm3,%rbx
+  DB  65,137,223                          ; mov           %ebx,%r15d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,244                          ; mov           %r14d,%r12d
+  DB  243,66,15,16,4,184                  ; movss         (%rax,%r15,4),%xmm0
+  DB  102,15,58,33,4,152,16               ; insertps      $0x10,(%rax,%rbx,4),%xmm0
+  DB  243,66,15,16,28,160                 ; movss         (%rax,%r12,4),%xmm3
+  DB  102,15,58,33,195,32                 ; insertps      $0x20,%xmm3,%xmm0
+  DB  73,193,238,32                       ; shr           $0x20,%r14
+  DB  243,66,15,16,28,176                 ; movss         (%rax,%r14,4),%xmm3
+  DB  102,15,58,33,195,48                 ; insertps      $0x30,%xmm3,%xmm0
+  DB  102,68,15,127,76,36,48              ; movdqa        %xmm9,0x30(%rsp)
+  DB  102,65,15,254,201                   ; paddd         %xmm9,%xmm1
+  DB  102,65,15,56,64,203                 ; pmulld        %xmm11,%xmm1
+  DB  102,15,111,217                      ; movdqa        %xmm1,%xmm3
+  DB  102,15,250,29,94,152,1,0            ; psubd         0x1985e(%rip),%xmm3        # 35b50 <_sk_srcover_bgra_8888_sse2_lowp+0x1338>
+  DB  102,73,15,58,22,222,1               ; pextrq        $0x1,%xmm3,%r14
+  DB  102,72,15,126,219                   ; movq          %xmm3,%rbx
+  DB  65,137,223                          ; mov           %ebx,%r15d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  69,137,244                          ; mov           %r14d,%r12d
+  DB  243,66,15,16,28,184                 ; movss         (%rax,%r15,4),%xmm3
+  DB  102,15,58,33,28,152,16              ; insertps      $0x10,(%rax,%rbx,4),%xmm3
+  DB  243,66,15,16,52,160                 ; movss         (%rax,%r12,4),%xmm6
+  DB  102,15,58,33,222,32                 ; insertps      $0x20,%xmm6,%xmm3
+  DB  73,193,238,32                       ; shr           $0x20,%r14
+  DB  243,66,15,16,52,176                 ; movss         (%rax,%r14,4),%xmm6
+  DB  102,15,58,33,222,48                 ; insertps      $0x30,%xmm6,%xmm3
+  DB  102,65,15,126,205                   ; movd          %xmm1,%r13d
+  DB  102,65,15,58,22,206,1               ; pextrd        $0x1,%xmm1,%r14d
+  DB  102,65,15,58,22,207,2               ; pextrd        $0x2,%xmm1,%r15d
+  DB  102,65,15,58,22,204,3               ; pextrd        $0x3,%xmm1,%r12d
+  DB  102,65,15,254,202                   ; paddd         %xmm10,%xmm1
+  DB  102,72,15,58,22,203,1               ; pextrq        $0x1,%xmm1,%rbx
+  DB  102,72,15,126,205                   ; movq          %xmm1,%rbp
+  DB  137,233                             ; mov           %ebp,%ecx
+  DB  72,193,237,32                       ; shr           $0x20,%rbp
+  DB  243,15,16,12,136                    ; movss         (%rax,%rcx,4),%xmm1
+  DB  102,15,58,33,12,168,16              ; insertps      $0x10,(%rax,%rbp,4),%xmm1
+  DB  137,217                             ; mov           %ebx,%ecx
+  DB  243,15,16,52,136                    ; movss         (%rax,%rcx,4),%xmm6
+  DB  102,15,58,33,206,32                 ; insertps      $0x20,%xmm6,%xmm1
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  243,15,16,52,152                    ; movss         (%rax,%rbx,4),%xmm6
+  DB  102,15,58,33,206,48                 ; insertps      $0x30,%xmm6,%xmm1
+  DB  15,91,237                           ; cvtdq2ps      %xmm5,%xmm5
+  DB  68,15,92,229                        ; subps         %xmm5,%xmm12
+  DB  243,66,15,16,44,128                 ; movss         (%rax,%r8,4),%xmm5
+  DB  102,66,15,58,33,44,136,16           ; insertps      $0x10,(%rax,%r9,4),%xmm5
+  DB  102,66,15,58,33,44,144,32           ; insertps      $0x20,(%rax,%r10,4),%xmm5
+  DB  102,66,15,58,33,44,152,48           ; insertps      $0x30,(%rax,%r11,4),%xmm5
+  DB  243,66,15,16,52,168                 ; movss         (%rax,%r13,4),%xmm6
+  DB  102,66,15,58,33,52,176,16           ; insertps      $0x10,(%rax,%r14,4),%xmm6
+  DB  102,66,15,58,33,52,184,32           ; insertps      $0x20,(%rax,%r15,4),%xmm6
+  DB  102,66,15,58,33,52,160,48           ; insertps      $0x30,(%rax,%r12,4),%xmm6
+  DB  15,92,245                           ; subps         %xmm5,%xmm6
+  DB  65,15,89,244                        ; mulps         %xmm12,%xmm6
+  DB  15,88,245                           ; addps         %xmm5,%xmm6
+  DB  15,92,223                           ; subps         %xmm7,%xmm3
+  DB  65,15,89,220                        ; mulps         %xmm12,%xmm3
+  DB  15,88,223                           ; addps         %xmm7,%xmm3
+  DB  15,92,200                           ; subps         %xmm0,%xmm1
+  DB  65,15,89,204                        ; mulps         %xmm12,%xmm1
+  DB  15,88,200                           ; addps         %xmm0,%xmm1
+  DB  102,65,15,254,224                   ; paddd         %xmm8,%xmm4
+  DB  102,15,111,196                      ; movdqa        %xmm4,%xmm0
+  DB  102,68,15,127,124,36,64             ; movdqa        %xmm15,0x40(%rsp)
+  DB  102,65,15,254,199                   ; paddd         %xmm15,%xmm0
+  DB  102,65,15,56,64,195                 ; pmulld        %xmm11,%xmm0
+  DB  102,15,111,232                      ; movdqa        %xmm0,%xmm5
+  DB  102,15,250,45,62,151,1,0            ; psubd         0x1973e(%rip),%xmm5        # 35b50 <_sk_srcover_bgra_8888_sse2_lowp+0x1338>
+  DB  102,69,15,118,192                   ; pcmpeqd       %xmm8,%xmm8
+  DB  102,72,15,58,22,233,1               ; pextrq        $0x1,%xmm5,%rcx
+  DB  102,72,15,126,237                   ; movq          %xmm5,%rbp
+  DB  65,137,232                          ; mov           %ebp,%r8d
+  DB  72,193,237,32                       ; shr           $0x20,%rbp
+  DB  137,203                             ; mov           %ecx,%ebx
+  DB  243,66,15,16,60,128                 ; movss         (%rax,%r8,4),%xmm7
+  DB  102,15,58,33,60,168,16              ; insertps      $0x10,(%rax,%rbp,4),%xmm7
+  DB  243,15,16,44,152                    ; movss         (%rax,%rbx,4),%xmm5
+  DB  102,15,58,33,253,32                 ; insertps      $0x20,%xmm5,%xmm7
+  DB  72,193,233,32                       ; shr           $0x20,%rcx
+  DB  243,15,16,44,136                    ; movss         (%rax,%rcx,4),%xmm5
+  DB  102,15,58,33,253,48                 ; insertps      $0x30,%xmm5,%xmm7
+  DB  102,65,15,126,193                   ; movd          %xmm0,%r9d
+  DB  102,65,15,58,22,195,1               ; pextrd        $0x1,%xmm0,%r11d
+  DB  102,65,15,58,22,194,2               ; pextrd        $0x2,%xmm0,%r10d
+  DB  102,65,15,58,22,192,3               ; pextrd        $0x3,%xmm0,%r8d
+  DB  102,65,15,254,194                   ; paddd         %xmm10,%xmm0
+  DB  102,72,15,58,22,193,1               ; pextrq        $0x1,%xmm0,%rcx
+  DB  102,72,15,126,195                   ; movq          %xmm0,%rbx
+  DB  65,137,222                          ; mov           %ebx,%r14d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  137,205                             ; mov           %ecx,%ebp
+  DB  243,66,15,16,4,176                  ; movss         (%rax,%r14,4),%xmm0
+  DB  102,15,58,33,4,152,16               ; insertps      $0x10,(%rax,%rbx,4),%xmm0
+  DB  243,15,16,44,168                    ; movss         (%rax,%rbp,4),%xmm5
+  DB  102,15,58,33,197,32                 ; insertps      $0x20,%xmm5,%xmm0
+  DB  72,193,233,32                       ; shr           $0x20,%rcx
+  DB  243,15,16,44,136                    ; movss         (%rax,%rcx,4),%xmm5
+  DB  102,15,58,33,197,48                 ; insertps      $0x30,%xmm5,%xmm0
+  DB  102,65,15,254,225                   ; paddd         %xmm9,%xmm4
+  DB  102,65,15,56,64,227                 ; pmulld        %xmm11,%xmm4
+  DB  102,15,111,236                      ; movdqa        %xmm4,%xmm5
+  DB  102,65,15,250,232                   ; psubd         %xmm8,%xmm5
+  DB  102,72,15,58,22,233,1               ; pextrq        $0x1,%xmm5,%rcx
+  DB  102,72,15,126,235                   ; movq          %xmm5,%rbx
+  DB  65,137,222                          ; mov           %ebx,%r14d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  137,205                             ; mov           %ecx,%ebp
+  DB  243,70,15,16,4,176                  ; movss         (%rax,%r14,4),%xmm8
+  DB  102,68,15,58,33,4,152,16            ; insertps      $0x10,(%rax,%rbx,4),%xmm8
+  DB  243,15,16,44,168                    ; movss         (%rax,%rbp,4),%xmm5
+  DB  102,68,15,58,33,197,32              ; insertps      $0x20,%xmm5,%xmm8
+  DB  72,193,233,32                       ; shr           $0x20,%rcx
+  DB  243,15,16,44,136                    ; movss         (%rax,%rcx,4),%xmm5
+  DB  102,68,15,58,33,197,48              ; insertps      $0x30,%xmm5,%xmm8
+  DB  102,65,15,126,231                   ; movd          %xmm4,%r15d
+  DB  102,65,15,58,22,228,1               ; pextrd        $0x1,%xmm4,%r12d
+  DB  102,65,15,58,22,229,2               ; pextrd        $0x2,%xmm4,%r13d
+  DB  102,65,15,58,22,230,3               ; pextrd        $0x3,%xmm4,%r14d
+  DB  102,65,15,254,226                   ; paddd         %xmm10,%xmm4
+  DB  102,72,15,58,22,225,1               ; pextrq        $0x1,%xmm4,%rcx
+  DB  102,72,15,126,227                   ; movq          %xmm4,%rbx
+  DB  137,221                             ; mov           %ebx,%ebp
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  243,68,15,16,12,168                 ; movss         (%rax,%rbp,4),%xmm9
+  DB  102,68,15,58,33,12,152,16           ; insertps      $0x10,(%rax,%rbx,4),%xmm9
+  DB  137,203                             ; mov           %ecx,%ebx
+  DB  243,15,16,36,152                    ; movss         (%rax,%rbx,4),%xmm4
+  DB  102,68,15,58,33,204,32              ; insertps      $0x20,%xmm4,%xmm9
+  DB  72,193,233,32                       ; shr           $0x20,%rcx
+  DB  243,15,16,36,136                    ; movss         (%rax,%rcx,4),%xmm4
+  DB  102,68,15,58,33,204,48              ; insertps      $0x30,%xmm4,%xmm9
+  DB  243,66,15,16,36,136                 ; movss         (%rax,%r9,4),%xmm4
+  DB  102,66,15,58,33,36,152,16           ; insertps      $0x10,(%rax,%r11,4),%xmm4
+  DB  102,66,15,58,33,36,144,32           ; insertps      $0x20,(%rax,%r10,4),%xmm4
+  DB  102,66,15,58,33,36,128,48           ; insertps      $0x30,(%rax,%r8,4),%xmm4
+  DB  243,66,15,16,44,184                 ; movss         (%rax,%r15,4),%xmm5
+  DB  102,66,15,58,33,44,160,16           ; insertps      $0x10,(%rax,%r12,4),%xmm5
+  DB  102,66,15,58,33,44,168,32           ; insertps      $0x20,(%rax,%r13,4),%xmm5
+  DB  102,66,15,58,33,44,176,48           ; insertps      $0x30,(%rax,%r14,4),%xmm5
+  DB  15,92,236                           ; subps         %xmm4,%xmm5
+  DB  65,15,89,236                        ; mulps         %xmm12,%xmm5
+  DB  15,88,236                           ; addps         %xmm4,%xmm5
+  DB  68,15,92,199                        ; subps         %xmm7,%xmm8
+  DB  69,15,89,196                        ; mulps         %xmm12,%xmm8
+  DB  68,15,88,199                        ; addps         %xmm7,%xmm8
+  DB  68,15,92,200                        ; subps         %xmm0,%xmm9
+  DB  69,15,89,204                        ; mulps         %xmm12,%xmm9
+  DB  68,15,88,200                        ; addps         %xmm0,%xmm9
+  DB  15,91,4,36                          ; cvtdq2ps      (%rsp),%xmm0
+  DB  15,92,208                           ; subps         %xmm0,%xmm2
+  DB  15,41,20,36                         ; movaps        %xmm2,(%rsp)
+  DB  15,92,238                           ; subps         %xmm6,%xmm5
+  DB  15,89,234                           ; mulps         %xmm2,%xmm5
+  DB  15,88,238                           ; addps         %xmm6,%xmm5
+  DB  68,15,92,195                        ; subps         %xmm3,%xmm8
+  DB  68,15,89,194                        ; mulps         %xmm2,%xmm8
+  DB  68,15,88,195                        ; addps         %xmm3,%xmm8
+  DB  68,15,92,201                        ; subps         %xmm1,%xmm9
+  DB  68,15,89,202                        ; mulps         %xmm2,%xmm9
+  DB  68,15,88,201                        ; addps         %xmm1,%xmm9
+  DB  102,15,111,68,36,16                 ; movdqa        0x10(%rsp),%xmm0
+  DB  102,15,254,132,36,144,0,0,0         ; paddd         0x90(%rsp),%xmm0
+  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
+  DB  102,65,15,254,206                   ; paddd         %xmm14,%xmm1
+  DB  102,15,111,217                      ; movdqa        %xmm1,%xmm3
+  DB  102,65,15,254,223                   ; paddd         %xmm15,%xmm3
+  DB  102,65,15,111,211                   ; movdqa        %xmm11,%xmm2
+  DB  102,15,56,64,218                    ; pmulld        %xmm2,%xmm3
+  DB  102,15,126,217                      ; movd          %xmm3,%ecx
+  DB  102,15,58,22,221,1                  ; pextrd        $0x1,%xmm3,%ebp
+  DB  102,65,15,58,22,216,2               ; pextrd        $0x2,%xmm3,%r8d
+  DB  102,15,58,22,219,3                  ; pextrd        $0x3,%xmm3,%ebx
+  DB  243,68,15,16,20,136                 ; movss         (%rax,%rcx,4),%xmm10
+  DB  102,68,15,58,33,20,168,16           ; insertps      $0x10,(%rax,%rbp,4),%xmm10
+  DB  102,70,15,58,33,20,128,32           ; insertps      $0x20,(%rax,%r8,4),%xmm10
+  DB  243,15,16,36,152                    ; movss         (%rax,%rbx,4),%xmm4
+  DB  102,68,15,58,33,212,48              ; insertps      $0x30,%xmm4,%xmm10
+  DB  102,15,111,227                      ; movdqa        %xmm3,%xmm4
+  DB  102,15,118,246                      ; pcmpeqd       %xmm6,%xmm6
+  DB  102,15,250,230                      ; psubd         %xmm6,%xmm4
+  DB  102,72,15,58,22,225,1               ; pextrq        $0x1,%xmm4,%rcx
+  DB  102,72,15,126,229                   ; movq          %xmm4,%rbp
+  DB  65,137,232                          ; mov           %ebp,%r8d
+  DB  72,193,237,32                       ; shr           $0x20,%rbp
+  DB  137,203                             ; mov           %ecx,%ebx
+  DB  243,70,15,16,28,128                 ; movss         (%rax,%r8,4),%xmm11
+  DB  102,68,15,58,33,28,168,16           ; insertps      $0x10,(%rax,%rbp,4),%xmm11
+  DB  243,15,16,36,152                    ; movss         (%rax,%rbx,4),%xmm4
+  DB  102,68,15,58,33,220,32              ; insertps      $0x20,%xmm4,%xmm11
+  DB  72,193,233,32                       ; shr           $0x20,%rcx
+  DB  243,15,16,36,136                    ; movss         (%rax,%rcx,4),%xmm4
+  DB  102,68,15,58,33,220,48              ; insertps      $0x30,%xmm4,%xmm11
+  DB  102,15,111,61,65,142,1,0            ; movdqa        0x18e41(%rip),%xmm7        # 354e0 <_sk_srcover_bgra_8888_sse2_lowp+0xcc8>
+  DB  102,15,254,223                      ; paddd         %xmm7,%xmm3
+  DB  102,72,15,58,22,217,1               ; pextrq        $0x1,%xmm3,%rcx
+  DB  102,72,15,126,221                   ; movq          %xmm3,%rbp
+  DB  65,137,232                          ; mov           %ebp,%r8d
+  DB  72,193,237,32                       ; shr           $0x20,%rbp
+  DB  137,203                             ; mov           %ecx,%ebx
+  DB  243,66,15,16,36,128                 ; movss         (%rax,%r8,4),%xmm4
+  DB  102,15,58,33,36,168,16              ; insertps      $0x10,(%rax,%rbp,4),%xmm4
+  DB  243,15,16,28,152                    ; movss         (%rax,%rbx,4),%xmm3
+  DB  102,15,58,33,227,32                 ; insertps      $0x20,%xmm3,%xmm4
+  DB  72,193,233,32                       ; shr           $0x20,%rcx
+  DB  243,15,16,28,136                    ; movss         (%rax,%rcx,4),%xmm3
+  DB  102,15,58,33,227,48                 ; insertps      $0x30,%xmm3,%xmm4
+  DB  102,68,15,111,124,36,48             ; movdqa        0x30(%rsp),%xmm15
+  DB  102,65,15,254,207                   ; paddd         %xmm15,%xmm1
+  DB  102,15,56,64,202                    ; pmulld        %xmm2,%xmm1
+  DB  102,15,111,217                      ; movdqa        %xmm1,%xmm3
+  DB  102,15,250,222                      ; psubd         %xmm6,%xmm3
+  DB  102,72,15,58,22,217,1               ; pextrq        $0x1,%xmm3,%rcx
+  DB  102,72,15,126,221                   ; movq          %xmm3,%rbp
+  DB  65,137,232                          ; mov           %ebp,%r8d
+  DB  72,193,237,32                       ; shr           $0x20,%rbp
+  DB  137,203                             ; mov           %ecx,%ebx
+  DB  243,66,15,16,52,128                 ; movss         (%rax,%r8,4),%xmm6
+  DB  102,15,58,33,52,168,16              ; insertps      $0x10,(%rax,%rbp,4),%xmm6
+  DB  243,15,16,28,152                    ; movss         (%rax,%rbx,4),%xmm3
+  DB  102,15,58,33,243,32                 ; insertps      $0x20,%xmm3,%xmm6
+  DB  72,193,233,32                       ; shr           $0x20,%rcx
+  DB  243,15,16,28,136                    ; movss         (%rax,%rcx,4),%xmm3
+  DB  102,15,58,33,243,48                 ; insertps      $0x30,%xmm3,%xmm6
+  DB  102,65,15,126,201                   ; movd          %xmm1,%r9d
+  DB  102,65,15,58,22,203,1               ; pextrd        $0x1,%xmm1,%r11d
+  DB  102,65,15,58,22,202,2               ; pextrd        $0x2,%xmm1,%r10d
+  DB  102,65,15,58,22,200,3               ; pextrd        $0x3,%xmm1,%r8d
+  DB  102,15,254,207                      ; paddd         %xmm7,%xmm1
+  DB  102,72,15,58,22,201,1               ; pextrq        $0x1,%xmm1,%rcx
+  DB  102,72,15,126,203                   ; movq          %xmm1,%rbx
+  DB  65,137,222                          ; mov           %ebx,%r14d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  137,205                             ; mov           %ecx,%ebp
+  DB  243,66,15,16,60,176                 ; movss         (%rax,%r14,4),%xmm7
+  DB  102,15,58,33,60,152,16              ; insertps      $0x10,(%rax,%rbx,4),%xmm7
+  DB  243,15,16,12,168                    ; movss         (%rax,%rbp,4),%xmm1
+  DB  102,15,58,33,249,32                 ; insertps      $0x20,%xmm1,%xmm7
+  DB  72,193,233,32                       ; shr           $0x20,%rcx
+  DB  243,15,16,12,136                    ; movss         (%rax,%rcx,4),%xmm1
+  DB  102,15,58,33,249,48                 ; insertps      $0x30,%xmm1,%xmm7
+  DB  243,66,15,16,28,136                 ; movss         (%rax,%r9,4),%xmm3
+  DB  102,66,15,58,33,28,152,16           ; insertps      $0x10,(%rax,%r11,4),%xmm3
+  DB  102,66,15,58,33,28,144,32           ; insertps      $0x20,(%rax,%r10,4),%xmm3
+  DB  102,66,15,58,33,28,128,48           ; insertps      $0x30,(%rax,%r8,4),%xmm3
+  DB  65,15,92,218                        ; subps         %xmm10,%xmm3
+  DB  68,15,41,164,36,128,0,0,0           ; movaps        %xmm12,0x80(%rsp)
+  DB  65,15,89,220                        ; mulps         %xmm12,%xmm3
+  DB  65,15,88,218                        ; addps         %xmm10,%xmm3
+  DB  65,15,92,243                        ; subps         %xmm11,%xmm6
+  DB  65,15,89,244                        ; mulps         %xmm12,%xmm6
+  DB  65,15,88,243                        ; addps         %xmm11,%xmm6
+  DB  15,92,252                           ; subps         %xmm4,%xmm7
+  DB  65,15,89,252                        ; mulps         %xmm12,%xmm7
+  DB  15,88,252                           ; addps         %xmm4,%xmm7
+  DB  102,15,254,68,36,80                 ; paddd         0x50(%rsp),%xmm0
+  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
+  DB  102,15,254,76,36,64                 ; paddd         0x40(%rsp),%xmm1
+  DB  102,68,15,111,218                   ; movdqa        %xmm2,%xmm11
+  DB  102,65,15,56,64,203                 ; pmulld        %xmm11,%xmm1
+  DB  102,15,111,225                      ; movdqa        %xmm1,%xmm4
+  DB  102,69,15,118,228                   ; pcmpeqd       %xmm12,%xmm12
+  DB  102,65,15,250,228                   ; psubd         %xmm12,%xmm4
+  DB  102,72,15,58,22,225,1               ; pextrq        $0x1,%xmm4,%rcx
+  DB  102,72,15,126,229                   ; movq          %xmm4,%rbp
+  DB  65,137,232                          ; mov           %ebp,%r8d
+  DB  72,193,237,32                       ; shr           $0x20,%rbp
+  DB  137,203                             ; mov           %ecx,%ebx
+  DB  243,66,15,16,36,128                 ; movss         (%rax,%r8,4),%xmm4
+  DB  102,15,58,33,36,168,16              ; insertps      $0x10,(%rax,%rbp,4),%xmm4
+  DB  243,15,16,20,152                    ; movss         (%rax,%rbx,4),%xmm2
+  DB  102,15,58,33,226,32                 ; insertps      $0x20,%xmm2,%xmm4
+  DB  72,193,233,32                       ; shr           $0x20,%rcx
+  DB  243,15,16,20,136                    ; movss         (%rax,%rcx,4),%xmm2
+  DB  102,15,58,33,226,48                 ; insertps      $0x30,%xmm2,%xmm4
+  DB  102,65,15,126,200                   ; movd          %xmm1,%r8d
+  DB  102,65,15,58,22,201,1               ; pextrd        $0x1,%xmm1,%r9d
+  DB  102,65,15,58,22,202,2               ; pextrd        $0x2,%xmm1,%r10d
+  DB  102,65,15,58,22,203,3               ; pextrd        $0x3,%xmm1,%r11d
+  DB  102,68,15,111,21,129,140,1,0        ; movdqa        0x18c81(%rip),%xmm10        # 354e0 <_sk_srcover_bgra_8888_sse2_lowp+0xcc8>
+  DB  102,65,15,254,202                   ; paddd         %xmm10,%xmm1
+  DB  102,72,15,58,22,201,1               ; pextrq        $0x1,%xmm1,%rcx
+  DB  102,72,15,126,203                   ; movq          %xmm1,%rbx
+  DB  65,137,222                          ; mov           %ebx,%r14d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  137,205                             ; mov           %ecx,%ebp
+  DB  243,66,15,16,12,176                 ; movss         (%rax,%r14,4),%xmm1
+  DB  102,15,58,33,12,152,16              ; insertps      $0x10,(%rax,%rbx,4),%xmm1
+  DB  243,15,16,20,168                    ; movss         (%rax,%rbp,4),%xmm2
+  DB  102,15,58,33,202,32                 ; insertps      $0x20,%xmm2,%xmm1
+  DB  72,193,233,32                       ; shr           $0x20,%rcx
+  DB  243,15,16,20,136                    ; movss         (%rax,%rcx,4),%xmm2
+  DB  102,15,58,33,202,48                 ; insertps      $0x30,%xmm2,%xmm1
+  DB  102,65,15,254,199                   ; paddd         %xmm15,%xmm0
+  DB  102,65,15,56,64,195                 ; pmulld        %xmm11,%xmm0
+  DB  102,15,111,208                      ; movdqa        %xmm0,%xmm2
+  DB  102,65,15,250,212                   ; psubd         %xmm12,%xmm2
+  DB  102,72,15,58,22,209,1               ; pextrq        $0x1,%xmm2,%rcx
+  DB  102,72,15,126,211                   ; movq          %xmm2,%rbx
+  DB  65,137,222                          ; mov           %ebx,%r14d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  137,205                             ; mov           %ecx,%ebp
+  DB  243,70,15,16,60,176                 ; movss         (%rax,%r14,4),%xmm15
+  DB  102,68,15,58,33,60,152,16           ; insertps      $0x10,(%rax,%rbx,4),%xmm15
+  DB  243,15,16,20,168                    ; movss         (%rax,%rbp,4),%xmm2
+  DB  102,68,15,58,33,250,32              ; insertps      $0x20,%xmm2,%xmm15
+  DB  72,193,233,32                       ; shr           $0x20,%rcx
+  DB  243,15,16,20,136                    ; movss         (%rax,%rcx,4),%xmm2
+  DB  102,68,15,58,33,250,48              ; insertps      $0x30,%xmm2,%xmm15
+  DB  102,65,15,126,199                   ; movd          %xmm0,%r15d
+  DB  102,65,15,58,22,196,1               ; pextrd        $0x1,%xmm0,%r12d
+  DB  102,65,15,58,22,197,2               ; pextrd        $0x2,%xmm0,%r13d
+  DB  102,65,15,58,22,198,3               ; pextrd        $0x3,%xmm0,%r14d
+  DB  102,65,15,254,194                   ; paddd         %xmm10,%xmm0
+  DB  102,72,15,58,22,193,1               ; pextrq        $0x1,%xmm0,%rcx
+  DB  102,72,15,126,195                   ; movq          %xmm0,%rbx
+  DB  137,221                             ; mov           %ebx,%ebp
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  243,68,15,16,28,168                 ; movss         (%rax,%rbp,4),%xmm11
+  DB  102,68,15,58,33,28,152,16           ; insertps      $0x10,(%rax,%rbx,4),%xmm11
+  DB  137,203                             ; mov           %ecx,%ebx
+  DB  243,15,16,4,152                     ; movss         (%rax,%rbx,4),%xmm0
+  DB  102,68,15,58,33,216,32              ; insertps      $0x20,%xmm0,%xmm11
+  DB  72,193,233,32                       ; shr           $0x20,%rcx
+  DB  243,15,16,4,136                     ; movss         (%rax,%rcx,4),%xmm0
+  DB  102,68,15,58,33,216,48              ; insertps      $0x30,%xmm0,%xmm11
+  DB  243,66,15,16,4,128                  ; movss         (%rax,%r8,4),%xmm0
+  DB  102,66,15,58,33,4,136,16            ; insertps      $0x10,(%rax,%r9,4),%xmm0
+  DB  102,66,15,58,33,4,144,32            ; insertps      $0x20,(%rax,%r10,4),%xmm0
+  DB  102,66,15,58,33,4,152,48            ; insertps      $0x30,(%rax,%r11,4),%xmm0
+  DB  243,70,15,16,20,184                 ; movss         (%rax,%r15,4),%xmm10
+  DB  102,70,15,58,33,20,160,16           ; insertps      $0x10,(%rax,%r12,4),%xmm10
+  DB  102,70,15,58,33,20,168,32           ; insertps      $0x20,(%rax,%r13,4),%xmm10
+  DB  102,70,15,58,33,20,176,48           ; insertps      $0x30,(%rax,%r14,4),%xmm10
+  DB  68,15,92,208                        ; subps         %xmm0,%xmm10
+  DB  68,15,40,164,36,128,0,0,0           ; movaps        0x80(%rsp),%xmm12
+  DB  69,15,89,212                        ; mulps         %xmm12,%xmm10
+  DB  68,15,88,208                        ; addps         %xmm0,%xmm10
+  DB  68,15,92,252                        ; subps         %xmm4,%xmm15
+  DB  69,15,89,252                        ; mulps         %xmm12,%xmm15
+  DB  68,15,88,252                        ; addps         %xmm4,%xmm15
+  DB  68,15,92,217                        ; subps         %xmm1,%xmm11
+  DB  69,15,89,220                        ; mulps         %xmm12,%xmm11
+  DB  68,15,88,217                        ; addps         %xmm1,%xmm11
+  DB  68,15,92,211                        ; subps         %xmm3,%xmm10
+  DB  15,40,4,36                          ; movaps        (%rsp),%xmm0
+  DB  68,15,89,208                        ; mulps         %xmm0,%xmm10
+  DB  68,15,88,211                        ; addps         %xmm3,%xmm10
+  DB  68,15,92,254                        ; subps         %xmm6,%xmm15
+  DB  68,15,89,248                        ; mulps         %xmm0,%xmm15
+  DB  68,15,88,254                        ; addps         %xmm6,%xmm15
+  DB  68,15,92,223                        ; subps         %xmm7,%xmm11
+  DB  68,15,89,216                        ; mulps         %xmm0,%xmm11
+  DB  68,15,88,223                        ; addps         %xmm7,%xmm11
+  DB  15,91,132,36,160,0,0,0              ; cvtdq2ps      0xa0(%rsp),%xmm0
+  DB  15,40,76,36,96                      ; movaps        0x60(%rsp),%xmm1
+  DB  15,92,200                           ; subps         %xmm0,%xmm1
+  DB  15,41,76,36,96                      ; movaps        %xmm1,0x60(%rsp)
+  DB  68,15,92,213                        ; subps         %xmm5,%xmm10
+  DB  68,15,89,209                        ; mulps         %xmm1,%xmm10
+  DB  68,15,88,213                        ; addps         %xmm5,%xmm10
+  DB  69,15,92,248                        ; subps         %xmm8,%xmm15
+  DB  68,15,89,249                        ; mulps         %xmm1,%xmm15
+  DB  69,15,88,248                        ; addps         %xmm8,%xmm15
+  DB  69,15,92,217                        ; subps         %xmm9,%xmm11
+  DB  68,15,89,217                        ; mulps         %xmm1,%xmm11
+  DB  69,15,88,217                        ; addps         %xmm9,%xmm11
+  DB  243,15,91,68,36,32                  ; cvttps2dq     0x20(%rsp),%xmm0
+  DB  102,15,127,68,36,32                 ; movdqa        %xmm0,0x20(%rsp)
+  DB  102,68,15,254,232                   ; paddd         %xmm0,%xmm13
+  DB  102,65,15,111,222                   ; movdqa        %xmm14,%xmm3
+  DB  102,65,15,254,221                   ; paddd         %xmm13,%xmm3
+  DB  102,15,111,124,36,64                ; movdqa        0x40(%rsp),%xmm7
+  DB  102,15,111,199                      ; movdqa        %xmm7,%xmm0
+  DB  102,15,254,195                      ; paddd         %xmm3,%xmm0
+  DB  102,15,111,21,245,144,1,0           ; movdqa        0x190f5(%rip),%xmm2        # 35b40 <_sk_srcover_bgra_8888_sse2_lowp+0x1328>
+  DB  102,15,56,64,194                    ; pmulld        %xmm2,%xmm0
+  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
+  DB  102,69,15,118,192                   ; pcmpeqd       %xmm8,%xmm8
+  DB  102,65,15,250,200                   ; psubd         %xmm8,%xmm1
+  DB  102,72,15,58,22,201,1               ; pextrq        $0x1,%xmm1,%rcx
+  DB  102,72,15,126,205                   ; movq          %xmm1,%rbp
+  DB  137,235                             ; mov           %ebp,%ebx
+  DB  72,193,237,32                       ; shr           $0x20,%rbp
+  DB  65,137,200                          ; mov           %ecx,%r8d
+  DB  243,15,16,44,152                    ; movss         (%rax,%rbx,4),%xmm5
+  DB  102,15,58,33,44,168,16              ; insertps      $0x10,(%rax,%rbp,4),%xmm5
+  DB  243,66,15,16,12,128                 ; movss         (%rax,%r8,4),%xmm1
+  DB  102,15,58,33,233,32                 ; insertps      $0x20,%xmm1,%xmm5
+  DB  72,193,233,32                       ; shr           $0x20,%rcx
+  DB  243,15,16,12,136                    ; movss         (%rax,%rcx,4),%xmm1
+  DB  102,15,58,33,233,48                 ; insertps      $0x30,%xmm1,%xmm5
+  DB  102,65,15,126,192                   ; movd          %xmm0,%r8d
+  DB  102,65,15,58,22,193,1               ; pextrd        $0x1,%xmm0,%r9d
+  DB  102,65,15,58,22,194,2               ; pextrd        $0x2,%xmm0,%r10d
+  DB  102,65,15,58,22,195,3               ; pextrd        $0x3,%xmm0,%r11d
+  DB  102,15,111,37,36,138,1,0            ; movdqa        0x18a24(%rip),%xmm4        # 354e0 <_sk_srcover_bgra_8888_sse2_lowp+0xcc8>
+  DB  102,15,254,196                      ; paddd         %xmm4,%xmm0
+  DB  102,72,15,58,22,193,1               ; pextrq        $0x1,%xmm0,%rcx
+  DB  102,72,15,126,195                   ; movq          %xmm0,%rbx
+  DB  137,221                             ; mov           %ebx,%ebp
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  65,137,206                          ; mov           %ecx,%r14d
+  DB  243,15,16,52,168                    ; movss         (%rax,%rbp,4),%xmm6
+  DB  102,15,58,33,52,152,16              ; insertps      $0x10,(%rax,%rbx,4),%xmm6
+  DB  243,66,15,16,4,176                  ; movss         (%rax,%r14,4),%xmm0
+  DB  102,15,58,33,240,32                 ; insertps      $0x20,%xmm0,%xmm6
+  DB  72,193,233,32                       ; shr           $0x20,%rcx
+  DB  243,15,16,4,136                     ; movss         (%rax,%rcx,4),%xmm0
+  DB  102,15,58,33,240,48                 ; insertps      $0x30,%xmm0,%xmm6
+  DB  102,68,15,111,76,36,48              ; movdqa        0x30(%rsp),%xmm9
+  DB  102,65,15,254,217                   ; paddd         %xmm9,%xmm3
+  DB  102,15,56,64,218                    ; pmulld        %xmm2,%xmm3
+  DB  102,15,111,195                      ; movdqa        %xmm3,%xmm0
+  DB  102,65,15,250,192                   ; psubd         %xmm8,%xmm0
+  DB  102,72,15,58,22,193,1               ; pextrq        $0x1,%xmm0,%rcx
+  DB  102,72,15,126,195                   ; movq          %xmm0,%rbx
+  DB  137,221                             ; mov           %ebx,%ebp
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  65,137,206                          ; mov           %ecx,%r14d
+  DB  243,15,16,4,168                     ; movss         (%rax,%rbp,4),%xmm0
+  DB  102,15,58,33,4,152,16               ; insertps      $0x10,(%rax,%rbx,4),%xmm0
+  DB  243,66,15,16,12,176                 ; movss         (%rax,%r14,4),%xmm1
+  DB  102,15,58,33,193,32                 ; insertps      $0x20,%xmm1,%xmm0
+  DB  72,193,233,32                       ; shr           $0x20,%rcx
+  DB  243,15,16,12,136                    ; movss         (%rax,%rcx,4),%xmm1
+  DB  102,15,58,33,193,48                 ; insertps      $0x30,%xmm1,%xmm0
+  DB  102,65,15,126,221                   ; movd          %xmm3,%r13d
+  DB  102,65,15,58,22,223,1               ; pextrd        $0x1,%xmm3,%r15d
+  DB  102,65,15,58,22,220,2               ; pextrd        $0x2,%xmm3,%r12d
+  DB  102,65,15,58,22,222,3               ; pextrd        $0x3,%xmm3,%r14d
+  DB  102,15,254,220                      ; paddd         %xmm4,%xmm3
+  DB  102,68,15,111,196                   ; movdqa        %xmm4,%xmm8
+  DB  102,72,15,58,22,219,1               ; pextrq        $0x1,%xmm3,%rbx
+  DB  102,72,15,126,221                   ; movq          %xmm3,%rbp
+  DB  137,233                             ; mov           %ebp,%ecx
+  DB  72,193,237,32                       ; shr           $0x20,%rbp
+  DB  243,15,16,28,136                    ; movss         (%rax,%rcx,4),%xmm3
+  DB  102,15,58,33,28,168,16              ; insertps      $0x10,(%rax,%rbp,4),%xmm3
+  DB  137,217                             ; mov           %ebx,%ecx
+  DB  243,15,16,12,136                    ; movss         (%rax,%rcx,4),%xmm1
+  DB  102,15,58,33,217,32                 ; insertps      $0x20,%xmm1,%xmm3
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  243,15,16,12,152                    ; movss         (%rax,%rbx,4),%xmm1
+  DB  102,15,58,33,217,48                 ; insertps      $0x30,%xmm1,%xmm3
+  DB  243,66,15,16,12,128                 ; movss         (%rax,%r8,4),%xmm1
+  DB  102,66,15,58,33,12,136,16           ; insertps      $0x10,(%rax,%r9,4),%xmm1
+  DB  102,66,15,58,33,12,144,32           ; insertps      $0x20,(%rax,%r10,4),%xmm1
+  DB  102,66,15,58,33,12,152,48           ; insertps      $0x30,(%rax,%r11,4),%xmm1
+  DB  243,66,15,16,36,168                 ; movss         (%rax,%r13,4),%xmm4
+  DB  102,66,15,58,33,36,184,16           ; insertps      $0x10,(%rax,%r15,4),%xmm4
+  DB  102,66,15,58,33,36,160,32           ; insertps      $0x20,(%rax,%r12,4),%xmm4
+  DB  102,66,15,58,33,36,176,48           ; insertps      $0x30,(%rax,%r14,4),%xmm4
+  DB  15,92,225                           ; subps         %xmm1,%xmm4
+  DB  65,15,89,228                        ; mulps         %xmm12,%xmm4
+  DB  15,88,225                           ; addps         %xmm1,%xmm4
+  DB  15,92,197                           ; subps         %xmm5,%xmm0
+  DB  65,15,89,196                        ; mulps         %xmm12,%xmm0
+  DB  15,88,197                           ; addps         %xmm5,%xmm0
+  DB  15,92,222                           ; subps         %xmm6,%xmm3
+  DB  65,15,89,220                        ; mulps         %xmm12,%xmm3
+  DB  15,88,222                           ; addps         %xmm6,%xmm3
+  DB  102,68,15,254,108,36,80             ; paddd         0x50(%rsp),%xmm13
+  DB  102,65,15,111,205                   ; movdqa        %xmm13,%xmm1
+  DB  102,15,254,207                      ; paddd         %xmm7,%xmm1
+  DB  102,68,15,111,226                   ; movdqa        %xmm2,%xmm12
+  DB  102,65,15,56,64,204                 ; pmulld        %xmm12,%xmm1
+  DB  102,15,111,209                      ; movdqa        %xmm1,%xmm2
+  DB  102,15,250,21,32,143,1,0            ; psubd         0x18f20(%rip),%xmm2        # 35b50 <_sk_srcover_bgra_8888_sse2_lowp+0x1338>
+  DB  102,72,15,58,22,209,1               ; pextrq        $0x1,%xmm2,%rcx
+  DB  102,72,15,126,213                   ; movq          %xmm2,%rbp
+  DB  137,235                             ; mov           %ebp,%ebx
+  DB  72,193,237,32                       ; shr           $0x20,%rbp
+  DB  65,137,200                          ; mov           %ecx,%r8d
+  DB  243,15,16,44,152                    ; movss         (%rax,%rbx,4),%xmm5
+  DB  102,15,58,33,44,168,16              ; insertps      $0x10,(%rax,%rbp,4),%xmm5
+  DB  243,66,15,16,20,128                 ; movss         (%rax,%r8,4),%xmm2
+  DB  102,15,58,33,234,32                 ; insertps      $0x20,%xmm2,%xmm5
+  DB  72,193,233,32                       ; shr           $0x20,%rcx
+  DB  243,15,16,20,136                    ; movss         (%rax,%rcx,4),%xmm2
+  DB  102,15,58,33,234,48                 ; insertps      $0x30,%xmm2,%xmm5
+  DB  102,65,15,126,200                   ; movd          %xmm1,%r8d
+  DB  102,65,15,58,22,201,1               ; pextrd        $0x1,%xmm1,%r9d
+  DB  102,65,15,58,22,202,2               ; pextrd        $0x2,%xmm1,%r10d
+  DB  102,65,15,58,22,203,3               ; pextrd        $0x3,%xmm1,%r11d
+  DB  102,65,15,254,200                   ; paddd         %xmm8,%xmm1
+  DB  102,72,15,58,22,201,1               ; pextrq        $0x1,%xmm1,%rcx
+  DB  102,72,15,126,203                   ; movq          %xmm1,%rbx
+  DB  137,221                             ; mov           %ebx,%ebp
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  65,137,206                          ; mov           %ecx,%r14d
+  DB  243,15,16,52,168                    ; movss         (%rax,%rbp,4),%xmm6
+  DB  102,15,58,33,52,152,16              ; insertps      $0x10,(%rax,%rbx,4),%xmm6
+  DB  243,66,15,16,12,176                 ; movss         (%rax,%r14,4),%xmm1
+  DB  102,15,58,33,241,32                 ; insertps      $0x20,%xmm1,%xmm6
+  DB  72,193,233,32                       ; shr           $0x20,%rcx
+  DB  243,15,16,12,136                    ; movss         (%rax,%rcx,4),%xmm1
+  DB  102,15,58,33,241,48                 ; insertps      $0x30,%xmm1,%xmm6
+  DB  102,69,15,254,233                   ; paddd         %xmm9,%xmm13
+  DB  102,65,15,111,249                   ; movdqa        %xmm9,%xmm7
+  DB  102,69,15,56,64,236                 ; pmulld        %xmm12,%xmm13
+  DB  102,65,15,111,205                   ; movdqa        %xmm13,%xmm1
+  DB  102,15,250,13,108,142,1,0           ; psubd         0x18e6c(%rip),%xmm1        # 35b50 <_sk_srcover_bgra_8888_sse2_lowp+0x1338>
+  DB  102,72,15,58,22,201,1               ; pextrq        $0x1,%xmm1,%rcx
+  DB  102,72,15,126,203                   ; movq          %xmm1,%rbx
+  DB  137,221                             ; mov           %ebx,%ebp
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  65,137,206                          ; mov           %ecx,%r14d
+  DB  243,68,15,16,12,168                 ; movss         (%rax,%rbp,4),%xmm9
+  DB  102,68,15,58,33,12,152,16           ; insertps      $0x10,(%rax,%rbx,4),%xmm9
+  DB  243,66,15,16,12,176                 ; movss         (%rax,%r14,4),%xmm1
+  DB  102,68,15,58,33,201,32              ; insertps      $0x20,%xmm1,%xmm9
+  DB  72,193,233,32                       ; shr           $0x20,%rcx
+  DB  243,15,16,12,136                    ; movss         (%rax,%rcx,4),%xmm1
+  DB  102,68,15,58,33,201,48              ; insertps      $0x30,%xmm1,%xmm9
+  DB  102,69,15,126,237                   ; movd          %xmm13,%r13d
+  DB  102,69,15,58,22,239,1               ; pextrd        $0x1,%xmm13,%r15d
+  DB  102,69,15,58,22,236,2               ; pextrd        $0x2,%xmm13,%r12d
+  DB  102,69,15,58,22,238,3               ; pextrd        $0x3,%xmm13,%r14d
+  DB  102,69,15,254,232                   ; paddd         %xmm8,%xmm13
+  DB  102,76,15,58,22,235,1               ; pextrq        $0x1,%xmm13,%rbx
+  DB  102,76,15,126,237                   ; movq          %xmm13,%rbp
+  DB  137,233                             ; mov           %ebp,%ecx
+  DB  72,193,237,32                       ; shr           $0x20,%rbp
+  DB  243,68,15,16,4,136                  ; movss         (%rax,%rcx,4),%xmm8
+  DB  102,68,15,58,33,4,168,16            ; insertps      $0x10,(%rax,%rbp,4),%xmm8
+  DB  137,217                             ; mov           %ebx,%ecx
+  DB  243,15,16,12,136                    ; movss         (%rax,%rcx,4),%xmm1
+  DB  102,68,15,58,33,193,32              ; insertps      $0x20,%xmm1,%xmm8
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  243,15,16,12,152                    ; movss         (%rax,%rbx,4),%xmm1
+  DB  102,68,15,58,33,193,48              ; insertps      $0x30,%xmm1,%xmm8
+  DB  243,66,15,16,12,128                 ; movss         (%rax,%r8,4),%xmm1
+  DB  102,66,15,58,33,12,136,16           ; insertps      $0x10,(%rax,%r9,4),%xmm1
+  DB  102,66,15,58,33,12,144,32           ; insertps      $0x20,(%rax,%r10,4),%xmm1
+  DB  102,66,15,58,33,12,152,48           ; insertps      $0x30,(%rax,%r11,4),%xmm1
+  DB  243,70,15,16,36,168                 ; movss         (%rax,%r13,4),%xmm12
+  DB  102,70,15,58,33,36,184,16           ; insertps      $0x10,(%rax,%r15,4),%xmm12
+  DB  102,70,15,58,33,36,160,32           ; insertps      $0x20,(%rax,%r12,4),%xmm12
+  DB  102,70,15,58,33,36,176,48           ; insertps      $0x30,(%rax,%r14,4),%xmm12
+  DB  68,15,92,225                        ; subps         %xmm1,%xmm12
+  DB  68,15,40,172,36,128,0,0,0           ; movaps        0x80(%rsp),%xmm13
+  DB  69,15,89,229                        ; mulps         %xmm13,%xmm12
+  DB  68,15,88,225                        ; addps         %xmm1,%xmm12
+  DB  68,15,92,205                        ; subps         %xmm5,%xmm9
+  DB  69,15,89,205                        ; mulps         %xmm13,%xmm9
+  DB  68,15,88,205                        ; addps         %xmm5,%xmm9
+  DB  68,15,92,198                        ; subps         %xmm6,%xmm8
+  DB  69,15,89,197                        ; mulps         %xmm13,%xmm8
+  DB  68,15,88,198                        ; addps         %xmm6,%xmm8
+  DB  68,15,92,228                        ; subps         %xmm4,%xmm12
+  DB  15,40,12,36                         ; movaps        (%rsp),%xmm1
+  DB  68,15,89,225                        ; mulps         %xmm1,%xmm12
+  DB  68,15,88,228                        ; addps         %xmm4,%xmm12
+  DB  68,15,92,200                        ; subps         %xmm0,%xmm9
+  DB  68,15,89,201                        ; mulps         %xmm1,%xmm9
+  DB  68,15,88,200                        ; addps         %xmm0,%xmm9
+  DB  68,15,92,195                        ; subps         %xmm3,%xmm8
+  DB  68,15,89,193                        ; mulps         %xmm1,%xmm8
+  DB  68,15,88,195                        ; addps         %xmm3,%xmm8
+  DB  102,15,111,68,36,16                 ; movdqa        0x10(%rsp),%xmm0
+  DB  102,15,254,68,36,32                 ; paddd         0x20(%rsp),%xmm0
+  DB  102,15,127,68,36,16                 ; movdqa        %xmm0,0x10(%rsp)
+  DB  102,68,15,254,240                   ; paddd         %xmm0,%xmm14
+  DB  102,65,15,111,206                   ; movdqa        %xmm14,%xmm1
+  DB  102,15,111,108,36,64                ; movdqa        0x40(%rsp),%xmm5
+  DB  102,15,254,205                      ; paddd         %xmm5,%xmm1
+  DB  102,15,111,37,0,141,1,0             ; movdqa        0x18d00(%rip),%xmm4        # 35b40 <_sk_srcover_bgra_8888_sse2_lowp+0x1328>
+  DB  102,15,56,64,204                    ; pmulld        %xmm4,%xmm1
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,15,118,246                      ; pcmpeqd       %xmm6,%xmm6
+  DB  102,15,250,198                      ; psubd         %xmm6,%xmm0
+  DB  102,72,15,58,22,193,1               ; pextrq        $0x1,%xmm0,%rcx
+  DB  102,72,15,126,197                   ; movq          %xmm0,%rbp
+  DB  137,235                             ; mov           %ebp,%ebx
+  DB  72,193,237,32                       ; shr           $0x20,%rbp
+  DB  65,137,200                          ; mov           %ecx,%r8d
+  DB  243,15,16,4,152                     ; movss         (%rax,%rbx,4),%xmm0
+  DB  102,15,58,33,4,168,16               ; insertps      $0x10,(%rax,%rbp,4),%xmm0
+  DB  243,66,15,16,20,128                 ; movss         (%rax,%r8,4),%xmm2
+  DB  102,15,58,33,194,32                 ; insertps      $0x20,%xmm2,%xmm0
+  DB  72,193,233,32                       ; shr           $0x20,%rcx
+  DB  243,15,16,20,136                    ; movss         (%rax,%rcx,4),%xmm2
+  DB  102,15,58,33,194,48                 ; insertps      $0x30,%xmm2,%xmm0
+  DB  102,65,15,126,200                   ; movd          %xmm1,%r8d
+  DB  102,65,15,58,22,201,1               ; pextrd        $0x1,%xmm1,%r9d
+  DB  102,65,15,58,22,202,2               ; pextrd        $0x2,%xmm1,%r10d
+  DB  102,65,15,58,22,203,3               ; pextrd        $0x3,%xmm1,%r11d
+  DB  102,15,111,29,49,134,1,0            ; movdqa        0x18631(%rip),%xmm3        # 354e0 <_sk_srcover_bgra_8888_sse2_lowp+0xcc8>
+  DB  102,15,254,203                      ; paddd         %xmm3,%xmm1
+  DB  102,72,15,58,22,201,1               ; pextrq        $0x1,%xmm1,%rcx
+  DB  102,72,15,126,203                   ; movq          %xmm1,%rbx
+  DB  137,221                             ; mov           %ebx,%ebp
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  65,137,206                          ; mov           %ecx,%r14d
+  DB  243,15,16,12,168                    ; movss         (%rax,%rbp,4),%xmm1
+  DB  102,15,58,33,12,152,16              ; insertps      $0x10,(%rax,%rbx,4),%xmm1
+  DB  243,66,15,16,20,176                 ; movss         (%rax,%r14,4),%xmm2
+  DB  102,15,58,33,202,32                 ; insertps      $0x20,%xmm2,%xmm1
+  DB  72,193,233,32                       ; shr           $0x20,%rcx
+  DB  243,15,16,20,136                    ; movss         (%rax,%rcx,4),%xmm2
+  DB  102,15,58,33,202,48                 ; insertps      $0x30,%xmm2,%xmm1
+  DB  102,68,15,254,247                   ; paddd         %xmm7,%xmm14
+  DB  102,68,15,56,64,244                 ; pmulld        %xmm4,%xmm14
+  DB  102,15,111,252                      ; movdqa        %xmm4,%xmm7
+  DB  102,65,15,111,214                   ; movdqa        %xmm14,%xmm2
+  DB  102,15,250,214                      ; psubd         %xmm6,%xmm2
+  DB  102,72,15,58,22,209,1               ; pextrq        $0x1,%xmm2,%rcx
+  DB  102,72,15,126,211                   ; movq          %xmm2,%rbx
+  DB  137,221                             ; mov           %ebx,%ebp
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  65,137,206                          ; mov           %ecx,%r14d
+  DB  243,15,16,52,168                    ; movss         (%rax,%rbp,4),%xmm6
+  DB  102,15,58,33,52,152,16              ; insertps      $0x10,(%rax,%rbx,4),%xmm6
+  DB  243,66,15,16,20,176                 ; movss         (%rax,%r14,4),%xmm2
+  DB  102,15,58,33,242,32                 ; insertps      $0x20,%xmm2,%xmm6
+  DB  72,193,233,32                       ; shr           $0x20,%rcx
+  DB  243,15,16,20,136                    ; movss         (%rax,%rcx,4),%xmm2
+  DB  102,15,58,33,242,48                 ; insertps      $0x30,%xmm2,%xmm6
+  DB  102,69,15,126,245                   ; movd          %xmm14,%r13d
+  DB  102,69,15,58,22,247,1               ; pextrd        $0x1,%xmm14,%r15d
+  DB  102,69,15,58,22,244,2               ; pextrd        $0x2,%xmm14,%r12d
+  DB  102,69,15,58,22,246,3               ; pextrd        $0x3,%xmm14,%r14d
+  DB  102,68,15,254,243                   ; paddd         %xmm3,%xmm14
+  DB  102,76,15,58,22,243,1               ; pextrq        $0x1,%xmm14,%rbx
+  DB  102,76,15,126,245                   ; movq          %xmm14,%rbp
+  DB  137,233                             ; mov           %ebp,%ecx
+  DB  72,193,237,32                       ; shr           $0x20,%rbp
+  DB  243,15,16,36,136                    ; movss         (%rax,%rcx,4),%xmm4
+  DB  102,15,58,33,36,168,16              ; insertps      $0x10,(%rax,%rbp,4),%xmm4
+  DB  137,217                             ; mov           %ebx,%ecx
+  DB  243,15,16,20,136                    ; movss         (%rax,%rcx,4),%xmm2
+  DB  102,15,58,33,226,32                 ; insertps      $0x20,%xmm2,%xmm4
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  243,15,16,20,152                    ; movss         (%rax,%rbx,4),%xmm2
+  DB  102,15,58,33,226,48                 ; insertps      $0x30,%xmm2,%xmm4
+  DB  243,66,15,16,20,128                 ; movss         (%rax,%r8,4),%xmm2
+  DB  102,66,15,58,33,20,136,16           ; insertps      $0x10,(%rax,%r9,4),%xmm2
+  DB  102,66,15,58,33,20,144,32           ; insertps      $0x20,(%rax,%r10,4),%xmm2
+  DB  102,66,15,58,33,20,152,48           ; insertps      $0x30,(%rax,%r11,4),%xmm2
+  DB  243,66,15,16,28,168                 ; movss         (%rax,%r13,4),%xmm3
+  DB  102,66,15,58,33,28,184,16           ; insertps      $0x10,(%rax,%r15,4),%xmm3
+  DB  102,66,15,58,33,28,160,32           ; insertps      $0x20,(%rax,%r12,4),%xmm3
+  DB  102,66,15,58,33,28,176,48           ; insertps      $0x30,(%rax,%r14,4),%xmm3
+  DB  15,92,218                           ; subps         %xmm2,%xmm3
+  DB  65,15,89,221                        ; mulps         %xmm13,%xmm3
+  DB  15,88,218                           ; addps         %xmm2,%xmm3
+  DB  15,92,240                           ; subps         %xmm0,%xmm6
+  DB  65,15,89,245                        ; mulps         %xmm13,%xmm6
+  DB  15,88,240                           ; addps         %xmm0,%xmm6
+  DB  15,92,225                           ; subps         %xmm1,%xmm4
+  DB  65,15,89,229                        ; mulps         %xmm13,%xmm4
+  DB  15,88,225                           ; addps         %xmm1,%xmm4
+  DB  102,15,111,68,36,16                 ; movdqa        0x10(%rsp),%xmm0
+  DB  102,15,254,68,36,80                 ; paddd         0x50(%rsp),%xmm0
+  DB  102,15,254,232                      ; paddd         %xmm0,%xmm5
+  DB  102,15,111,208                      ; movdqa        %xmm0,%xmm2
+  DB  102,15,56,64,239                    ; pmulld        %xmm7,%xmm5
+  DB  102,15,111,205                      ; movdqa        %xmm5,%xmm1
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,15,250,5,49,139,1,0             ; psubd         0x18b31(%rip),%xmm0        # 35b50 <_sk_srcover_bgra_8888_sse2_lowp+0x1338>
+  DB  102,72,15,58,22,193,1               ; pextrq        $0x1,%xmm0,%rcx
+  DB  102,72,15,126,197                   ; movq          %xmm0,%rbp
+  DB  137,235                             ; mov           %ebp,%ebx
+  DB  72,193,237,32                       ; shr           $0x20,%rbp
+  DB  65,137,200                          ; mov           %ecx,%r8d
+  DB  243,15,16,44,152                    ; movss         (%rax,%rbx,4),%xmm5
+  DB  102,15,58,33,44,168,16              ; insertps      $0x10,(%rax,%rbp,4),%xmm5
+  DB  243,66,15,16,4,128                  ; movss         (%rax,%r8,4),%xmm0
+  DB  102,15,58,33,232,32                 ; insertps      $0x20,%xmm0,%xmm5
+  DB  72,193,233,32                       ; shr           $0x20,%rcx
+  DB  243,15,16,4,136                     ; movss         (%rax,%rcx,4),%xmm0
+  DB  102,15,58,33,232,48                 ; insertps      $0x30,%xmm0,%xmm5
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,65,15,126,192                   ; movd          %xmm0,%r8d
+  DB  102,65,15,58,22,193,1               ; pextrd        $0x1,%xmm0,%r9d
+  DB  102,65,15,58,22,194,2               ; pextrd        $0x2,%xmm0,%r10d
+  DB  102,65,15,58,22,195,3               ; pextrd        $0x3,%xmm0,%r11d
+  DB  102,15,254,5,95,132,1,0             ; paddd         0x1845f(%rip),%xmm0        # 354e0 <_sk_srcover_bgra_8888_sse2_lowp+0xcc8>
+  DB  102,72,15,58,22,193,1               ; pextrq        $0x1,%xmm0,%rcx
+  DB  102,72,15,126,195                   ; movq          %xmm0,%rbx
+  DB  137,221                             ; mov           %ebx,%ebp
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  65,137,206                          ; mov           %ecx,%r14d
+  DB  243,68,15,16,52,168                 ; movss         (%rax,%rbp,4),%xmm14
+  DB  102,68,15,58,33,52,152,16           ; insertps      $0x10,(%rax,%rbx,4),%xmm14
+  DB  243,66,15,16,4,176                  ; movss         (%rax,%r14,4),%xmm0
+  DB  102,68,15,58,33,240,32              ; insertps      $0x20,%xmm0,%xmm14
+  DB  72,193,233,32                       ; shr           $0x20,%rcx
+  DB  243,15,16,4,136                     ; movss         (%rax,%rcx,4),%xmm0
+  DB  102,68,15,58,33,240,48              ; insertps      $0x30,%xmm0,%xmm14
+  DB  102,15,254,84,36,48                 ; paddd         0x30(%rsp),%xmm2
+  DB  102,15,56,64,215                    ; pmulld        %xmm7,%xmm2
+  DB  102,15,111,194                      ; movdqa        %xmm2,%xmm0
+  DB  102,15,250,5,120,138,1,0            ; psubd         0x18a78(%rip),%xmm0        # 35b50 <_sk_srcover_bgra_8888_sse2_lowp+0x1338>
+  DB  102,72,15,58,22,193,1               ; pextrq        $0x1,%xmm0,%rcx
+  DB  102,72,15,126,195                   ; movq          %xmm0,%rbx
+  DB  137,221                             ; mov           %ebx,%ebp
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  65,137,206                          ; mov           %ecx,%r14d
+  DB  243,15,16,12,168                    ; movss         (%rax,%rbp,4),%xmm1
+  DB  102,15,58,33,12,152,16              ; insertps      $0x10,(%rax,%rbx,4),%xmm1
+  DB  243,66,15,16,4,176                  ; movss         (%rax,%r14,4),%xmm0
+  DB  102,15,58,33,200,32                 ; insertps      $0x20,%xmm0,%xmm1
+  DB  72,193,233,32                       ; shr           $0x20,%rcx
+  DB  243,15,16,4,136                     ; movss         (%rax,%rcx,4),%xmm0
+  DB  102,15,58,33,200,48                 ; insertps      $0x30,%xmm0,%xmm1
+  DB  102,15,111,194                      ; movdqa        %xmm2,%xmm0
+  DB  102,65,15,126,197                   ; movd          %xmm0,%r13d
+  DB  102,65,15,58,22,199,1               ; pextrd        $0x1,%xmm0,%r15d
+  DB  102,65,15,58,22,196,2               ; pextrd        $0x2,%xmm0,%r12d
+  DB  102,65,15,58,22,198,3               ; pextrd        $0x3,%xmm0,%r14d
+  DB  102,15,254,5,166,131,1,0            ; paddd         0x183a6(%rip),%xmm0        # 354e0 <_sk_srcover_bgra_8888_sse2_lowp+0xcc8>
+  DB  102,72,15,58,22,195,1               ; pextrq        $0x1,%xmm0,%rbx
+  DB  102,72,15,126,197                   ; movq          %xmm0,%rbp
+  DB  137,233                             ; mov           %ebp,%ecx
+  DB  72,193,237,32                       ; shr           $0x20,%rbp
+  DB  243,15,16,20,136                    ; movss         (%rax,%rcx,4),%xmm2
+  DB  102,15,58,33,20,168,16              ; insertps      $0x10,(%rax,%rbp,4),%xmm2
+  DB  137,217                             ; mov           %ebx,%ecx
+  DB  243,15,16,4,136                     ; movss         (%rax,%rcx,4),%xmm0
+  DB  102,15,58,33,208,32                 ; insertps      $0x20,%xmm0,%xmm2
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  243,15,16,4,152                     ; movss         (%rax,%rbx,4),%xmm0
+  DB  102,15,58,33,208,48                 ; insertps      $0x30,%xmm0,%xmm2
+  DB  243,66,15,16,60,128                 ; movss         (%rax,%r8,4),%xmm7
+  DB  102,66,15,58,33,60,136,16           ; insertps      $0x10,(%rax,%r9,4),%xmm7
+  DB  102,66,15,58,33,60,144,32           ; insertps      $0x20,(%rax,%r10,4),%xmm7
+  DB  102,66,15,58,33,60,152,48           ; insertps      $0x30,(%rax,%r11,4),%xmm7
+  DB  243,66,15,16,4,168                  ; movss         (%rax,%r13,4),%xmm0
+  DB  102,66,15,58,33,4,184,16            ; insertps      $0x10,(%rax,%r15,4),%xmm0
+  DB  102,66,15,58,33,4,160,32            ; insertps      $0x20,(%rax,%r12,4),%xmm0
+  DB  102,66,15,58,33,4,176,48            ; insertps      $0x30,(%rax,%r14,4),%xmm0
+  DB  15,92,199                           ; subps         %xmm7,%xmm0
+  DB  65,15,89,197                        ; mulps         %xmm13,%xmm0
+  DB  15,88,199                           ; addps         %xmm7,%xmm0
+  DB  15,92,205                           ; subps         %xmm5,%xmm1
+  DB  65,15,89,205                        ; mulps         %xmm13,%xmm1
+  DB  15,88,205                           ; addps         %xmm5,%xmm1
+  DB  65,15,92,214                        ; subps         %xmm14,%xmm2
+  DB  65,15,89,213                        ; mulps         %xmm13,%xmm2
+  DB  65,15,88,214                        ; addps         %xmm14,%xmm2
+  DB  15,92,195                           ; subps         %xmm3,%xmm0
+  DB  15,40,44,36                         ; movaps        (%rsp),%xmm5
+  DB  15,89,197                           ; mulps         %xmm5,%xmm0
+  DB  15,88,195                           ; addps         %xmm3,%xmm0
+  DB  15,92,206                           ; subps         %xmm6,%xmm1
+  DB  15,89,205                           ; mulps         %xmm5,%xmm1
+  DB  15,88,206                           ; addps         %xmm6,%xmm1
+  DB  15,92,212                           ; subps         %xmm4,%xmm2
+  DB  15,89,213                           ; mulps         %xmm5,%xmm2
+  DB  15,88,212                           ; addps         %xmm4,%xmm2
+  DB  65,15,92,196                        ; subps         %xmm12,%xmm0
+  DB  15,40,92,36,96                      ; movaps        0x60(%rsp),%xmm3
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  65,15,88,196                        ; addps         %xmm12,%xmm0
+  DB  65,15,92,201                        ; subps         %xmm9,%xmm1
+  DB  15,89,203                           ; mulps         %xmm3,%xmm1
+  DB  65,15,88,201                        ; addps         %xmm9,%xmm1
+  DB  65,15,92,208                        ; subps         %xmm8,%xmm2
+  DB  15,89,211                           ; mulps         %xmm3,%xmm2
+  DB  65,15,88,208                        ; addps         %xmm8,%xmm2
+  DB  15,91,156,36,144,0,0,0              ; cvtdq2ps      0x90(%rsp),%xmm3
+  DB  15,40,164,36,176,0,0,0              ; movaps        0xb0(%rsp),%xmm4
+  DB  15,92,227                           ; subps         %xmm3,%xmm4
+  DB  65,15,92,194                        ; subps         %xmm10,%xmm0
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  65,15,88,194                        ; addps         %xmm10,%xmm0
+  DB  65,15,92,207                        ; subps         %xmm15,%xmm1
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  65,15,88,207                        ; addps         %xmm15,%xmm1
+  DB  65,15,92,211                        ; subps         %xmm11,%xmm2
+  DB  15,89,212                           ; mulps         %xmm4,%xmm2
+  DB  65,15,88,211                        ; addps         %xmm11,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,29,94,130,1,0                 ; movaps        0x1825e(%rip),%xmm3        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  72,139,76,36,120                    ; mov           0x78(%rsp),%rcx
+  DB  15,40,164,36,192,0,0,0              ; movaps        0xc0(%rsp),%xmm4
+  DB  15,40,172,36,208,0,0,0              ; movaps        0xd0(%rsp),%xmm5
+  DB  15,40,180,36,224,0,0,0              ; movaps        0xe0(%rsp),%xmm6
+  DB  15,40,188,36,240,0,0,0              ; movaps        0xf0(%rsp),%xmm7
+  DB  72,129,196,8,1,0,0                  ; add           $0x108,%rsp
+  DB  91                                  ; pop           %rbx
+  DB  65,92                               ; pop           %r12
+  DB  65,93                               ; pop           %r13
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  93                                  ; pop           %rbp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_gauss_a_to_rgba_sse41
+_sk_gauss_a_to_rgba_sse41 LABEL PROC
+  DB  15,40,5,207,136,1,0                 ; movaps        0x188cf(%rip),%xmm0        # 35b60 <_sk_srcover_bgra_8888_sse2_lowp+0x1348>
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  15,88,5,213,136,1,0                 ; addps         0x188d5(%rip),%xmm0        # 35b70 <_sk_srcover_bgra_8888_sse2_lowp+0x1358>
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  15,88,5,219,136,1,0                 ; addps         0x188db(%rip),%xmm0        # 35b80 <_sk_srcover_bgra_8888_sse2_lowp+0x1368>
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  15,88,5,225,136,1,0                 ; addps         0x188e1(%rip),%xmm0        # 35b90 <_sk_srcover_bgra_8888_sse2_lowp+0x1378>
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  15,88,5,231,136,1,0                 ; addps         0x188e7(%rip),%xmm0        # 35ba0 <_sk_srcover_bgra_8888_sse2_lowp+0x1388>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  15,40,208                           ; movaps        %xmm0,%xmm2
+  DB  15,40,216                           ; movaps        %xmm0,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bilerp_clamp_8888_sse41
+_sk_bilerp_clamp_8888_sse41 LABEL PROC
+  DB  72,129,236,184,0,0,0                ; sub           $0xb8,%rsp
+  DB  15,41,124,36,48                     ; movaps        %xmm7,0x30(%rsp)
+  DB  15,41,116,36,32                     ; movaps        %xmm6,0x20(%rsp)
+  DB  15,41,108,36,16                     ; movaps        %xmm5,0x10(%rsp)
+  DB  15,41,36,36                         ; movaps        %xmm4,(%rsp)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,29,183,129,1,0                ; movaps        0x181b7(%rip),%xmm3        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  68,15,40,208                        ; movaps        %xmm0,%xmm10
+  DB  68,15,88,211                        ; addps         %xmm3,%xmm10
+  DB  102,65,15,58,8,210,1                ; roundps       $0x1,%xmm10,%xmm2
+  DB  68,15,92,210                        ; subps         %xmm2,%xmm10
+  DB  15,41,140,36,128,0,0,0              ; movaps        %xmm1,0x80(%rsp)
+  DB  15,88,217                           ; addps         %xmm1,%xmm3
+  DB  102,15,58,8,203,1                   ; roundps       $0x1,%xmm3,%xmm1
+  DB  15,92,217                           ; subps         %xmm1,%xmm3
+  DB  15,40,13,153,129,1,0                ; movaps        0x18199(%rip),%xmm1        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  15,40,209                           ; movaps        %xmm1,%xmm2
+  DB  65,15,92,210                        ; subps         %xmm10,%xmm2
+  DB  15,41,148,36,160,0,0,0              ; movaps        %xmm2,0xa0(%rsp)
+  DB  15,41,92,36,112                     ; movaps        %xmm3,0x70(%rsp)
+  DB  15,92,203                           ; subps         %xmm3,%xmm1
+  DB  15,41,76,36,64                      ; movaps        %xmm1,0x40(%rsp)
+  DB  243,68,15,16,112,12                 ; movss         0xc(%rax),%xmm14
+  DB  69,15,198,246,0                     ; shufps        $0x0,%xmm14,%xmm14
+  DB  102,15,118,201                      ; pcmpeqd       %xmm1,%xmm1
+  DB  102,68,15,254,241                   ; paddd         %xmm1,%xmm14
+  DB  243,15,16,80,16                     ; movss         0x10(%rax),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  102,15,254,209                      ; paddd         %xmm1,%xmm2
+  DB  102,15,127,84,36,96                 ; movdqa        %xmm2,0x60(%rsp)
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  102,15,110,72,8                     ; movd          0x8(%rax),%xmm1
+  DB  102,15,112,201,0                    ; pshufd        $0x0,%xmm1,%xmm1
+  DB  102,15,127,76,36,80                 ; movdqa        %xmm1,0x50(%rsp)
+  DB  243,15,16,13,167,120,1,0            ; movss         0x178a7(%rip),%xmm1        # 34c1c <_sk_srcover_bgra_8888_sse2_lowp+0x404>
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  15,40,37,65,131,1,0                 ; movaps        0x18341(%rip),%xmm4        # 356c0 <_sk_srcover_bgra_8888_sse2_lowp+0xea8>
+  DB  102,15,239,210                      ; pxor          %xmm2,%xmm2
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  15,40,241                           ; movaps        %xmm1,%xmm6
+  DB  15,40,238                           ; movaps        %xmm6,%xmm5
+  DB  15,198,237,0                        ; shufps        $0x0,%xmm5,%xmm5
+  DB  15,88,172,36,128,0,0,0              ; addps         0x80(%rsp),%xmm5
+  DB  15,87,201                           ; xorps         %xmm1,%xmm1
+  DB  15,95,205                           ; maxps         %xmm5,%xmm1
+  DB  15,41,180,36,144,0,0,0              ; movaps        %xmm6,0x90(%rsp)
+  DB  15,46,53,158,120,1,0                ; ucomiss       0x1789e(%rip),%xmm6        # 34c50 <_sk_srcover_bgra_8888_sse2_lowp+0x438>
+  DB  68,15,40,124,36,112                 ; movaps        0x70(%rsp),%xmm15
+  DB  119,6                               ; ja            1d3c0 <_sk_bilerp_clamp_8888_sse41+0xfa>
+  DB  68,15,40,124,36,64                  ; movaps        0x40(%rsp),%xmm15
+  DB  15,93,76,36,96                      ; minps         0x60(%rsp),%xmm1
+  DB  243,68,15,91,233                    ; cvttps2dq     %xmm1,%xmm13
+  DB  102,68,15,56,64,108,36,80           ; pmulld        0x50(%rsp),%xmm13
+  DB  243,15,16,45,66,120,1,0             ; movss         0x17842(%rip),%xmm5        # 34c1c <_sk_srcover_bgra_8888_sse2_lowp+0x404>
+  DB  15,40,205                           ; movaps        %xmm5,%xmm1
+  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
+  DB  15,88,200                           ; addps         %xmm0,%xmm1
+  DB  15,87,246                           ; xorps         %xmm6,%xmm6
+  DB  15,95,241                           ; maxps         %xmm1,%xmm6
+  DB  65,15,93,246                        ; minps         %xmm14,%xmm6
+  DB  243,15,91,206                       ; cvttps2dq     %xmm6,%xmm1
+  DB  102,65,15,254,205                   ; paddd         %xmm13,%xmm1
+  DB  102,72,15,58,22,200,1               ; pextrq        $0x1,%xmm1,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  102,73,15,126,202                   ; movq          %xmm1,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  102,67,15,110,12,152                ; movd          (%r8,%r11,4),%xmm1
+  DB  102,67,15,58,34,12,144,1            ; pinsrd        $0x1,(%r8,%r10,4),%xmm1
+  DB  102,67,15,58,34,12,136,2            ; pinsrd        $0x2,(%r8,%r9,4),%xmm1
+  DB  102,65,15,58,34,12,128,3            ; pinsrd        $0x3,(%r8,%rax,4),%xmm1
+  DB  102,15,111,241                      ; movdqa        %xmm1,%xmm6
+  DB  102,15,219,53,37,129,1,0            ; pand          0x18125(%rip),%xmm6        # 35560 <_sk_srcover_bgra_8888_sse2_lowp+0xd48>
+  DB  15,91,254                           ; cvtdq2ps      %xmm6,%xmm7
+  DB  15,89,252                           ; mulps         %xmm4,%xmm7
+  DB  102,15,111,241                      ; movdqa        %xmm1,%xmm6
+  DB  102,15,56,0,53,34,129,1,0           ; pshufb        0x18122(%rip),%xmm6        # 35570 <_sk_srcover_bgra_8888_sse2_lowp+0xd58>
+  DB  68,15,91,230                        ; cvtdq2ps      %xmm6,%xmm12
+  DB  68,15,89,228                        ; mulps         %xmm4,%xmm12
+  DB  102,15,111,241                      ; movdqa        %xmm1,%xmm6
+  DB  102,15,56,0,53,29,129,1,0           ; pshufb        0x1811d(%rip),%xmm6        # 35580 <_sk_srcover_bgra_8888_sse2_lowp+0xd68>
+  DB  15,91,246                           ; cvtdq2ps      %xmm6,%xmm6
+  DB  15,89,244                           ; mulps         %xmm4,%xmm6
+  DB  102,15,114,209,24                   ; psrld         $0x18,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  15,46,45,213,119,1,0                ; ucomiss       0x177d5(%rip),%xmm5        # 34c50 <_sk_srcover_bgra_8888_sse2_lowp+0x438>
+  DB  69,15,40,218                        ; movaps        %xmm10,%xmm11
+  DB  119,9                               ; ja            1d48a <_sk_bilerp_clamp_8888_sse41+0x1c4>
+  DB  68,15,40,156,36,160,0,0,0           ; movaps        0xa0(%rsp),%xmm11
+  DB  69,15,89,223                        ; mulps         %xmm15,%xmm11
+  DB  65,15,89,251                        ; mulps         %xmm11,%xmm7
+  DB  68,15,88,207                        ; addps         %xmm7,%xmm9
+  DB  69,15,89,227                        ; mulps         %xmm11,%xmm12
+  DB  69,15,88,196                        ; addps         %xmm12,%xmm8
+  DB  65,15,89,243                        ; mulps         %xmm11,%xmm6
+  DB  15,88,214                           ; addps         %xmm6,%xmm2
+  DB  68,15,89,217                        ; mulps         %xmm1,%xmm11
+  DB  65,15,88,219                        ; addps         %xmm11,%xmm3
+  DB  243,15,88,45,19,118,1,0             ; addss         0x17613(%rip),%xmm5        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  243,15,16,13,7,118,1,0              ; movss         0x17607(%rip),%xmm1        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  15,46,205                           ; ucomiss       %xmm5,%xmm1
+  DB  15,131,20,255,255,255               ; jae           1d3da <_sk_bilerp_clamp_8888_sse41+0x114>
+  DB  15,40,180,36,144,0,0,0              ; movaps        0x90(%rsp),%xmm6
+  DB  243,15,88,53,242,117,1,0            ; addss         0x175f2(%rip),%xmm6        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  243,15,16,13,230,117,1,0            ; movss         0x175e6(%rip),%xmm1        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  15,46,206                           ; ucomiss       %xmm6,%xmm1
+  DB  15,131,167,254,255,255              ; jae           1d38e <_sk_bilerp_clamp_8888_sse41+0xc8>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  65,15,40,200                        ; movaps        %xmm8,%xmm1
+  DB  15,40,36,36                         ; movaps        (%rsp),%xmm4
+  DB  15,40,108,36,16                     ; movaps        0x10(%rsp),%xmm5
+  DB  15,40,116,36,32                     ; movaps        0x20(%rsp),%xmm6
+  DB  15,40,124,36,48                     ; movaps        0x30(%rsp),%xmm7
+  DB  72,129,196,184,0,0,0                ; add           $0xb8,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_start_pipeline_sse2
+_sk_start_pipeline_sse2 LABEL PROC
+  DB  85                                  ; push          %rbp
+  DB  72,137,229                          ; mov           %rsp,%rbp
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,85                               ; push          %r13
+  DB  65,84                               ; push          %r12
+  DB  86                                  ; push          %rsi
+  DB  87                                  ; push          %rdi
+  DB  83                                  ; push          %rbx
+  DB  72,129,236,200,0,0,0                ; sub           $0xc8,%rsp
+  DB  68,15,41,125,176                    ; movaps        %xmm15,-0x50(%rbp)
+  DB  68,15,41,117,160                    ; movaps        %xmm14,-0x60(%rbp)
+  DB  68,15,41,109,144                    ; movaps        %xmm13,-0x70(%rbp)
+  DB  68,15,41,101,128                    ; movaps        %xmm12,-0x80(%rbp)
+  DB  68,15,41,157,112,255,255,255        ; movaps        %xmm11,-0x90(%rbp)
+  DB  68,15,41,149,96,255,255,255         ; movaps        %xmm10,-0xa0(%rbp)
+  DB  68,15,41,141,80,255,255,255         ; movaps        %xmm9,-0xb0(%rbp)
+  DB  68,15,41,133,64,255,255,255         ; movaps        %xmm8,-0xc0(%rbp)
+  DB  15,41,189,48,255,255,255            ; movaps        %xmm7,-0xd0(%rbp)
+  DB  15,41,181,32,255,255,255            ; movaps        %xmm6,-0xe0(%rbp)
+  DB  77,137,199                          ; mov           %r8,%r15
+  DB  72,137,211                          ; mov           %rdx,%rbx
+  DB  72,137,141,24,255,255,255           ; mov           %rcx,-0xe8(%rbp)
+  DB  72,139,117,48                       ; mov           0x30(%rbp),%rsi
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  73,137,197                          ; mov           %rax,%r13
+  DB  73,137,246                          ; mov           %rsi,%r14
+  DB  76,137,141,8,255,255,255            ; mov           %r9,-0xf8(%rbp)
+  DB  76,57,203                           ; cmp           %r9,%rbx
+  DB  15,131,153,0,0,0                    ; jae           1d627 <_sk_start_pipeline_sse2+0x11a>
+  DB  72,139,133,24,255,255,255           ; mov           -0xe8(%rbp),%rax
+  DB  72,141,64,4                         ; lea           0x4(%rax),%rax
+  DB  72,137,133,16,255,255,255           ; mov           %rax,-0xf0(%rbp)
+  DB  76,57,189,16,255,255,255            ; cmp           %r15,-0xf0(%rbp)
+  DB  72,139,149,24,255,255,255           ; mov           -0xe8(%rbp),%rdx
+  DB  119,62                              ; ja            1d5ee <_sk_start_pipeline_sse2+0xe1>
+  DB  76,139,165,24,255,255,255           ; mov           -0xe8(%rbp),%r12
+  DB  49,255                              ; xor           %edi,%edi
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  15,87,201                           ; xorps         %xmm1,%xmm1
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,87,237                           ; xorps         %xmm5,%xmm5
+  DB  15,87,246                           ; xorps         %xmm6,%xmm6
+  DB  15,87,255                           ; xorps         %xmm7,%xmm7
+  DB  76,137,246                          ; mov           %r14,%rsi
+  DB  76,137,226                          ; mov           %r12,%rdx
+  DB  72,137,217                          ; mov           %rbx,%rcx
+  DB  65,255,213                          ; callq         *%r13
+  DB  73,141,84,36,4                      ; lea           0x4(%r12),%rdx
+  DB  73,131,196,8                        ; add           $0x8,%r12
+  DB  77,57,252                           ; cmp           %r15,%r12
+  DB  73,137,212                          ; mov           %rdx,%r12
+  DB  118,201                             ; jbe           1d5b7 <_sk_start_pipeline_sse2+0xaa>
+  DB  76,137,255                          ; mov           %r15,%rdi
+  DB  72,41,215                           ; sub           %rdx,%rdi
+  DB  116,33                              ; je            1d617 <_sk_start_pipeline_sse2+0x10a>
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  15,87,201                           ; xorps         %xmm1,%xmm1
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,87,237                           ; xorps         %xmm5,%xmm5
+  DB  15,87,246                           ; xorps         %xmm6,%xmm6
+  DB  15,87,255                           ; xorps         %xmm7,%xmm7
+  DB  76,137,246                          ; mov           %r14,%rsi
+  DB  72,137,217                          ; mov           %rbx,%rcx
+  DB  65,255,213                          ; callq         *%r13
+  DB  72,255,195                          ; inc           %rbx
+  DB  72,59,157,8,255,255,255             ; cmp           -0xf8(%rbp),%rbx
+  DB  15,133,121,255,255,255              ; jne           1d5a0 <_sk_start_pipeline_sse2+0x93>
+  DB  15,40,181,32,255,255,255            ; movaps        -0xe0(%rbp),%xmm6
+  DB  15,40,189,48,255,255,255            ; movaps        -0xd0(%rbp),%xmm7
+  DB  68,15,40,133,64,255,255,255         ; movaps        -0xc0(%rbp),%xmm8
+  DB  68,15,40,141,80,255,255,255         ; movaps        -0xb0(%rbp),%xmm9
+  DB  68,15,40,149,96,255,255,255         ; movaps        -0xa0(%rbp),%xmm10
+  DB  68,15,40,157,112,255,255,255        ; movaps        -0x90(%rbp),%xmm11
+  DB  68,15,40,101,128                    ; movaps        -0x80(%rbp),%xmm12
+  DB  68,15,40,109,144                    ; movaps        -0x70(%rbp),%xmm13
+  DB  68,15,40,117,160                    ; movaps        -0x60(%rbp),%xmm14
+  DB  68,15,40,125,176                    ; movaps        -0x50(%rbp),%xmm15
+  DB  72,129,196,200,0,0,0                ; add           $0xc8,%rsp
+  DB  91                                  ; pop           %rbx
+  DB  95                                  ; pop           %rdi
+  DB  94                                  ; pop           %rsi
+  DB  65,92                               ; pop           %r12
+  DB  65,93                               ; pop           %r13
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  93                                  ; pop           %rbp
+  DB  195                                 ; retq
+
+PUBLIC _sk_just_return_sse2
+_sk_just_return_sse2 LABEL PROC
+  DB  195                                 ; retq
+
+PUBLIC _sk_seed_shader_sse2
+_sk_seed_shader_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,15,110,194                      ; movd          %edx,%xmm0
+  DB  102,15,112,192,0                    ; pshufd        $0x0,%xmm0,%xmm0
+  DB  15,91,200                           ; cvtdq2ps      %xmm0,%xmm1
+  DB  15,16,0                             ; movups        (%rax),%xmm0
+  DB  15,88,193                           ; addps         %xmm1,%xmm0
+  DB  102,15,110,201                      ; movd          %ecx,%xmm1
+  DB  102,15,112,201,0                    ; pshufd        $0x0,%xmm1,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  15,88,13,251,125,1,0                ; addps         0x17dfb(%rip),%xmm1        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,21,2,126,1,0                  ; movaps        0x17e02(%rip),%xmm2        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,87,237                           ; xorps         %xmm5,%xmm5
+  DB  15,87,246                           ; xorps         %xmm6,%xmm6
+  DB  15,87,255                           ; xorps         %xmm7,%xmm7
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_dither_sse2
+_sk_dither_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,68,15,110,194                   ; movd          %edx,%xmm8
+  DB  102,69,15,112,192,0                 ; pshufd        $0x0,%xmm8,%xmm8
+  DB  102,68,15,254,5,171,125,1,0         ; paddd         0x17dab(%rip),%xmm8        # 35480 <_sk_srcover_bgra_8888_sse2_lowp+0xc68>
+  DB  102,68,15,110,201                   ; movd          %ecx,%xmm9
+  DB  102,69,15,112,201,0                 ; pshufd        $0x0,%xmm9,%xmm9
+  DB  102,69,15,239,200                   ; pxor          %xmm8,%xmm9
+  DB  102,68,15,111,21,210,125,1,0        ; movdqa        0x17dd2(%rip),%xmm10        # 354c0 <_sk_srcover_bgra_8888_sse2_lowp+0xca8>
+  DB  102,69,15,111,217                   ; movdqa        %xmm9,%xmm11
+  DB  102,69,15,219,218                   ; pand          %xmm10,%xmm11
+  DB  102,65,15,114,243,5                 ; pslld         $0x5,%xmm11
+  DB  102,69,15,219,208                   ; pand          %xmm8,%xmm10
+  DB  102,65,15,114,242,4                 ; pslld         $0x4,%xmm10
+  DB  102,68,15,111,37,190,125,1,0        ; movdqa        0x17dbe(%rip),%xmm12        # 354d0 <_sk_srcover_bgra_8888_sse2_lowp+0xcb8>
+  DB  102,68,15,111,45,197,125,1,0        ; movdqa        0x17dc5(%rip),%xmm13        # 354e0 <_sk_srcover_bgra_8888_sse2_lowp+0xcc8>
+  DB  102,69,15,111,241                   ; movdqa        %xmm9,%xmm14
+  DB  102,69,15,219,245                   ; pand          %xmm13,%xmm14
+  DB  102,65,15,114,246,2                 ; pslld         $0x2,%xmm14
+  DB  102,69,15,235,243                   ; por           %xmm11,%xmm14
+  DB  102,69,15,219,232                   ; pand          %xmm8,%xmm13
+  DB  102,69,15,254,237                   ; paddd         %xmm13,%xmm13
+  DB  102,69,15,235,234                   ; por           %xmm10,%xmm13
+  DB  102,69,15,219,204                   ; pand          %xmm12,%xmm9
+  DB  102,65,15,114,209,1                 ; psrld         $0x1,%xmm9
+  DB  102,69,15,219,196                   ; pand          %xmm12,%xmm8
+  DB  102,65,15,114,208,2                 ; psrld         $0x2,%xmm8
+  DB  102,69,15,235,197                   ; por           %xmm13,%xmm8
+  DB  102,69,15,235,198                   ; por           %xmm14,%xmm8
+  DB  102,69,15,235,193                   ; por           %xmm9,%xmm8
+  DB  69,15,91,192                        ; cvtdq2ps      %xmm8,%xmm8
+  DB  68,15,89,5,128,125,1,0              ; mulps         0x17d80(%rip),%xmm8        # 354f0 <_sk_srcover_bgra_8888_sse2_lowp+0xcd8>
+  DB  68,15,88,5,136,125,1,0              ; addps         0x17d88(%rip),%xmm8        # 35500 <_sk_srcover_bgra_8888_sse2_lowp+0xce8>
+  DB  243,68,15,16,16                     ; movss         (%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  69,15,89,208                        ; mulps         %xmm8,%xmm10
+  DB  65,15,88,194                        ; addps         %xmm10,%xmm0
+  DB  65,15,88,202                        ; addps         %xmm10,%xmm1
+  DB  68,15,88,210                        ; addps         %xmm2,%xmm10
+  DB  15,93,195                           ; minps         %xmm3,%xmm0
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  68,15,95,192                        ; maxps         %xmm0,%xmm8
+  DB  15,93,203                           ; minps         %xmm3,%xmm1
+  DB  102,69,15,239,201                   ; pxor          %xmm9,%xmm9
+  DB  68,15,95,201                        ; maxps         %xmm1,%xmm9
+  DB  68,15,93,211                        ; minps         %xmm3,%xmm10
+  DB  65,15,95,210                        ; maxps         %xmm10,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  65,15,40,201                        ; movaps        %xmm9,%xmm1
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_uniform_color_sse2
+_sk_uniform_color_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,15,16,0                         ; movss         (%rax),%xmm0
+  DB  243,15,16,72,4                      ; movss         0x4(%rax),%xmm1
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
+  DB  243,15,16,80,8                      ; movss         0x8(%rax),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  243,15,16,88,12                     ; movss         0xc(%rax),%xmm3
+  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_black_color_sse2
+_sk_black_color_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,29,190,124,1,0                ; movaps        0x17cbe(%rip),%xmm3        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  15,87,201                           ; xorps         %xmm1,%xmm1
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_white_color_sse2
+_sk_white_color_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,5,170,124,1,0                 ; movaps        0x17caa(%rip),%xmm0        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  15,40,208                           ; movaps        %xmm0,%xmm2
+  DB  15,40,216                           ; movaps        %xmm0,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_load_rgba_sse2
+_sk_load_rgba_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,16,0                             ; movups        (%rax),%xmm0
+  DB  15,16,72,16                         ; movups        0x10(%rax),%xmm1
+  DB  15,16,80,32                         ; movups        0x20(%rax),%xmm2
+  DB  15,16,88,48                         ; movups        0x30(%rax),%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_store_rgba_sse2
+_sk_store_rgba_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,17,0                             ; movups        %xmm0,(%rax)
+  DB  15,17,72,16                         ; movups        %xmm1,0x10(%rax)
+  DB  15,17,80,32                         ; movups        %xmm2,0x20(%rax)
+  DB  15,17,88,48                         ; movups        %xmm3,0x30(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_clear_sse2
+_sk_clear_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  15,87,201                           ; xorps         %xmm1,%xmm1
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_srcatop_sse2
+_sk_srcatop_sse2 LABEL PROC
+  DB  15,89,199                           ; mulps         %xmm7,%xmm0
+  DB  68,15,40,5,90,124,1,0               ; movaps        0x17c5a(%rip),%xmm8        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  68,15,92,195                        ; subps         %xmm3,%xmm8
+  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
+  DB  68,15,89,204                        ; mulps         %xmm4,%xmm9
+  DB  65,15,88,193                        ; addps         %xmm9,%xmm0
+  DB  15,89,207                           ; mulps         %xmm7,%xmm1
+  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
+  DB  68,15,89,205                        ; mulps         %xmm5,%xmm9
+  DB  65,15,88,201                        ; addps         %xmm9,%xmm1
+  DB  15,89,215                           ; mulps         %xmm7,%xmm2
+  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
+  DB  68,15,89,206                        ; mulps         %xmm6,%xmm9
+  DB  65,15,88,209                        ; addps         %xmm9,%xmm2
+  DB  15,89,223                           ; mulps         %xmm7,%xmm3
+  DB  68,15,89,199                        ; mulps         %xmm7,%xmm8
+  DB  65,15,88,216                        ; addps         %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_dstatop_sse2
+_sk_dstatop_sse2 LABEL PROC
+  DB  68,15,40,195                        ; movaps        %xmm3,%xmm8
+  DB  68,15,89,196                        ; mulps         %xmm4,%xmm8
+  DB  68,15,40,13,13,124,1,0              ; movaps        0x17c0d(%rip),%xmm9        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  68,15,92,207                        ; subps         %xmm7,%xmm9
+  DB  65,15,89,193                        ; mulps         %xmm9,%xmm0
+  DB  65,15,88,192                        ; addps         %xmm8,%xmm0
+  DB  68,15,40,195                        ; movaps        %xmm3,%xmm8
+  DB  68,15,89,197                        ; mulps         %xmm5,%xmm8
+  DB  65,15,89,201                        ; mulps         %xmm9,%xmm1
+  DB  65,15,88,200                        ; addps         %xmm8,%xmm1
+  DB  68,15,40,195                        ; movaps        %xmm3,%xmm8
+  DB  68,15,89,198                        ; mulps         %xmm6,%xmm8
+  DB  65,15,89,209                        ; mulps         %xmm9,%xmm2
+  DB  65,15,88,208                        ; addps         %xmm8,%xmm2
+  DB  68,15,89,203                        ; mulps         %xmm3,%xmm9
+  DB  15,89,223                           ; mulps         %xmm7,%xmm3
+  DB  65,15,88,217                        ; addps         %xmm9,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_srcin_sse2
+_sk_srcin_sse2 LABEL PROC
+  DB  15,89,199                           ; mulps         %xmm7,%xmm0
+  DB  15,89,207                           ; mulps         %xmm7,%xmm1
+  DB  15,89,215                           ; mulps         %xmm7,%xmm2
+  DB  15,89,223                           ; mulps         %xmm7,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_dstin_sse2
+_sk_dstin_sse2 LABEL PROC
+  DB  15,40,195                           ; movaps        %xmm3,%xmm0
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  15,40,203                           ; movaps        %xmm3,%xmm1
+  DB  15,89,205                           ; mulps         %xmm5,%xmm1
+  DB  15,40,211                           ; movaps        %xmm3,%xmm2
+  DB  15,89,214                           ; mulps         %xmm6,%xmm2
+  DB  15,89,223                           ; mulps         %xmm7,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_srcout_sse2
+_sk_srcout_sse2 LABEL PROC
+  DB  68,15,40,5,161,123,1,0              ; movaps        0x17ba1(%rip),%xmm8        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  68,15,92,199                        ; subps         %xmm7,%xmm8
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
+  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
+  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_dstout_sse2
+_sk_dstout_sse2 LABEL PROC
+  DB  68,15,40,5,129,123,1,0              ; movaps        0x17b81(%rip),%xmm8        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  68,15,92,195                        ; subps         %xmm3,%xmm8
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  65,15,40,200                        ; movaps        %xmm8,%xmm1
+  DB  15,89,205                           ; mulps         %xmm5,%xmm1
+  DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
+  DB  15,89,214                           ; mulps         %xmm6,%xmm2
+  DB  68,15,89,199                        ; mulps         %xmm7,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,216                        ; movaps        %xmm8,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_srcover_sse2
+_sk_srcover_sse2 LABEL PROC
+  DB  68,15,40,5,84,123,1,0               ; movaps        0x17b54(%rip),%xmm8        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  68,15,92,195                        ; subps         %xmm3,%xmm8
+  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
+  DB  68,15,89,204                        ; mulps         %xmm4,%xmm9
+  DB  65,15,88,193                        ; addps         %xmm9,%xmm0
+  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
+  DB  68,15,89,205                        ; mulps         %xmm5,%xmm9
+  DB  65,15,88,201                        ; addps         %xmm9,%xmm1
+  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
+  DB  68,15,89,206                        ; mulps         %xmm6,%xmm9
+  DB  65,15,88,209                        ; addps         %xmm9,%xmm2
+  DB  68,15,89,199                        ; mulps         %xmm7,%xmm8
+  DB  65,15,88,216                        ; addps         %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_dstover_sse2
+_sk_dstover_sse2 LABEL PROC
+  DB  68,15,40,5,24,123,1,0               ; movaps        0x17b18(%rip),%xmm8        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  68,15,92,199                        ; subps         %xmm7,%xmm8
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  15,88,196                           ; addps         %xmm4,%xmm0
+  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
+  DB  15,88,205                           ; addps         %xmm5,%xmm1
+  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
+  DB  15,88,214                           ; addps         %xmm6,%xmm2
+  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
+  DB  15,88,223                           ; addps         %xmm7,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_modulate_sse2
+_sk_modulate_sse2 LABEL PROC
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  15,89,205                           ; mulps         %xmm5,%xmm1
+  DB  15,89,214                           ; mulps         %xmm6,%xmm2
+  DB  15,89,223                           ; mulps         %xmm7,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_multiply_sse2
+_sk_multiply_sse2 LABEL PROC
+  DB  68,15,40,5,220,122,1,0              ; movaps        0x17adc(%rip),%xmm8        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
+  DB  68,15,92,207                        ; subps         %xmm7,%xmm9
+  DB  69,15,40,209                        ; movaps        %xmm9,%xmm10
+  DB  68,15,89,208                        ; mulps         %xmm0,%xmm10
+  DB  68,15,92,195                        ; subps         %xmm3,%xmm8
+  DB  69,15,40,216                        ; movaps        %xmm8,%xmm11
+  DB  68,15,89,220                        ; mulps         %xmm4,%xmm11
+  DB  69,15,88,218                        ; addps         %xmm10,%xmm11
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  65,15,88,195                        ; addps         %xmm11,%xmm0
+  DB  69,15,40,209                        ; movaps        %xmm9,%xmm10
+  DB  68,15,89,209                        ; mulps         %xmm1,%xmm10
+  DB  69,15,40,216                        ; movaps        %xmm8,%xmm11
+  DB  68,15,89,221                        ; mulps         %xmm5,%xmm11
+  DB  69,15,88,218                        ; addps         %xmm10,%xmm11
+  DB  15,89,205                           ; mulps         %xmm5,%xmm1
+  DB  65,15,88,203                        ; addps         %xmm11,%xmm1
+  DB  69,15,40,209                        ; movaps        %xmm9,%xmm10
+  DB  68,15,89,210                        ; mulps         %xmm2,%xmm10
+  DB  69,15,40,216                        ; movaps        %xmm8,%xmm11
+  DB  68,15,89,222                        ; mulps         %xmm6,%xmm11
+  DB  69,15,88,218                        ; addps         %xmm10,%xmm11
+  DB  15,89,214                           ; mulps         %xmm6,%xmm2
+  DB  65,15,88,211                        ; addps         %xmm11,%xmm2
+  DB  68,15,89,203                        ; mulps         %xmm3,%xmm9
+  DB  68,15,89,199                        ; mulps         %xmm7,%xmm8
+  DB  69,15,88,193                        ; addps         %xmm9,%xmm8
+  DB  15,89,223                           ; mulps         %xmm7,%xmm3
+  DB  65,15,88,216                        ; addps         %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_plus__sse2
+_sk_plus__sse2 LABEL PROC
+  DB  15,88,196                           ; addps         %xmm4,%xmm0
+  DB  68,15,40,5,93,122,1,0               ; movaps        0x17a5d(%rip),%xmm8        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  65,15,93,192                        ; minps         %xmm8,%xmm0
+  DB  15,88,205                           ; addps         %xmm5,%xmm1
+  DB  65,15,93,200                        ; minps         %xmm8,%xmm1
+  DB  15,88,214                           ; addps         %xmm6,%xmm2
+  DB  65,15,93,208                        ; minps         %xmm8,%xmm2
+  DB  15,88,223                           ; addps         %xmm7,%xmm3
+  DB  65,15,93,216                        ; minps         %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_screen_sse2
+_sk_screen_sse2 LABEL PROC
+  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
+  DB  15,88,196                           ; addps         %xmm4,%xmm0
+  DB  68,15,89,196                        ; mulps         %xmm4,%xmm8
+  DB  65,15,92,192                        ; subps         %xmm8,%xmm0
+  DB  68,15,40,193                        ; movaps        %xmm1,%xmm8
+  DB  68,15,88,197                        ; addps         %xmm5,%xmm8
+  DB  15,89,205                           ; mulps         %xmm5,%xmm1
+  DB  68,15,92,193                        ; subps         %xmm1,%xmm8
+  DB  68,15,40,202                        ; movaps        %xmm2,%xmm9
+  DB  68,15,88,206                        ; addps         %xmm6,%xmm9
+  DB  15,89,214                           ; mulps         %xmm6,%xmm2
+  DB  68,15,92,202                        ; subps         %xmm2,%xmm9
+  DB  68,15,40,211                        ; movaps        %xmm3,%xmm10
+  DB  68,15,88,215                        ; addps         %xmm7,%xmm10
+  DB  15,89,223                           ; mulps         %xmm7,%xmm3
+  DB  68,15,92,211                        ; subps         %xmm3,%xmm10
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,200                        ; movaps        %xmm8,%xmm1
+  DB  65,15,40,209                        ; movaps        %xmm9,%xmm2
+  DB  65,15,40,218                        ; movaps        %xmm10,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_xor__sse2
+_sk_xor__sse2 LABEL PROC
+  DB  68,15,40,195                        ; movaps        %xmm3,%xmm8
+  DB  15,40,29,233,121,1,0                ; movaps        0x179e9(%rip),%xmm3        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  68,15,40,203                        ; movaps        %xmm3,%xmm9
+  DB  68,15,92,207                        ; subps         %xmm7,%xmm9
+  DB  65,15,89,193                        ; mulps         %xmm9,%xmm0
+  DB  65,15,92,216                        ; subps         %xmm8,%xmm3
+  DB  68,15,40,211                        ; movaps        %xmm3,%xmm10
+  DB  68,15,89,212                        ; mulps         %xmm4,%xmm10
+  DB  65,15,88,194                        ; addps         %xmm10,%xmm0
+  DB  65,15,89,201                        ; mulps         %xmm9,%xmm1
+  DB  68,15,40,211                        ; movaps        %xmm3,%xmm10
+  DB  68,15,89,213                        ; mulps         %xmm5,%xmm10
+  DB  65,15,88,202                        ; addps         %xmm10,%xmm1
+  DB  65,15,89,209                        ; mulps         %xmm9,%xmm2
+  DB  68,15,40,211                        ; movaps        %xmm3,%xmm10
+  DB  68,15,89,214                        ; mulps         %xmm6,%xmm10
+  DB  65,15,88,210                        ; addps         %xmm10,%xmm2
+  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
+  DB  15,89,223                           ; mulps         %xmm7,%xmm3
+  DB  65,15,88,217                        ; addps         %xmm9,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_darken_sse2
+_sk_darken_sse2 LABEL PROC
+  DB  68,15,40,193                        ; movaps        %xmm1,%xmm8
+  DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
+  DB  15,88,196                           ; addps         %xmm4,%xmm0
+  DB  68,15,89,207                        ; mulps         %xmm7,%xmm9
+  DB  15,40,203                           ; movaps        %xmm3,%xmm1
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  68,15,95,201                        ; maxps         %xmm1,%xmm9
+  DB  65,15,92,193                        ; subps         %xmm9,%xmm0
+  DB  65,15,40,200                        ; movaps        %xmm8,%xmm1
+  DB  15,88,205                           ; addps         %xmm5,%xmm1
+  DB  68,15,89,199                        ; mulps         %xmm7,%xmm8
+  DB  68,15,40,203                        ; movaps        %xmm3,%xmm9
+  DB  68,15,89,205                        ; mulps         %xmm5,%xmm9
+  DB  69,15,95,193                        ; maxps         %xmm9,%xmm8
+  DB  65,15,92,200                        ; subps         %xmm8,%xmm1
+  DB  68,15,40,194                        ; movaps        %xmm2,%xmm8
+  DB  68,15,88,198                        ; addps         %xmm6,%xmm8
+  DB  15,89,215                           ; mulps         %xmm7,%xmm2
+  DB  68,15,40,203                        ; movaps        %xmm3,%xmm9
+  DB  68,15,89,206                        ; mulps         %xmm6,%xmm9
+  DB  65,15,95,209                        ; maxps         %xmm9,%xmm2
+  DB  68,15,92,194                        ; subps         %xmm2,%xmm8
+  DB  15,40,21,68,121,1,0                 ; movaps        0x17944(%rip),%xmm2        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  15,92,211                           ; subps         %xmm3,%xmm2
+  DB  15,89,215                           ; mulps         %xmm7,%xmm2
+  DB  15,88,218                           ; addps         %xmm2,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_lighten_sse2
+_sk_lighten_sse2 LABEL PROC
+  DB  68,15,40,193                        ; movaps        %xmm1,%xmm8
+  DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
+  DB  15,88,196                           ; addps         %xmm4,%xmm0
+  DB  68,15,89,207                        ; mulps         %xmm7,%xmm9
+  DB  15,40,203                           ; movaps        %xmm3,%xmm1
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  68,15,93,201                        ; minps         %xmm1,%xmm9
+  DB  65,15,92,193                        ; subps         %xmm9,%xmm0
+  DB  65,15,40,200                        ; movaps        %xmm8,%xmm1
+  DB  15,88,205                           ; addps         %xmm5,%xmm1
+  DB  68,15,89,199                        ; mulps         %xmm7,%xmm8
+  DB  68,15,40,203                        ; movaps        %xmm3,%xmm9
+  DB  68,15,89,205                        ; mulps         %xmm5,%xmm9
+  DB  69,15,93,193                        ; minps         %xmm9,%xmm8
+  DB  65,15,92,200                        ; subps         %xmm8,%xmm1
+  DB  68,15,40,194                        ; movaps        %xmm2,%xmm8
+  DB  68,15,88,198                        ; addps         %xmm6,%xmm8
+  DB  15,89,215                           ; mulps         %xmm7,%xmm2
+  DB  68,15,40,203                        ; movaps        %xmm3,%xmm9
+  DB  68,15,89,206                        ; mulps         %xmm6,%xmm9
+  DB  65,15,93,209                        ; minps         %xmm9,%xmm2
+  DB  68,15,92,194                        ; subps         %xmm2,%xmm8
+  DB  15,40,21,217,120,1,0                ; movaps        0x178d9(%rip),%xmm2        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  15,92,211                           ; subps         %xmm3,%xmm2
+  DB  15,89,215                           ; mulps         %xmm7,%xmm2
+  DB  15,88,218                           ; addps         %xmm2,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_difference_sse2
+_sk_difference_sse2 LABEL PROC
+  DB  68,15,40,193                        ; movaps        %xmm1,%xmm8
+  DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
+  DB  15,88,196                           ; addps         %xmm4,%xmm0
+  DB  68,15,89,207                        ; mulps         %xmm7,%xmm9
+  DB  15,40,203                           ; movaps        %xmm3,%xmm1
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  68,15,93,201                        ; minps         %xmm1,%xmm9
+  DB  69,15,88,201                        ; addps         %xmm9,%xmm9
+  DB  65,15,92,193                        ; subps         %xmm9,%xmm0
+  DB  65,15,40,200                        ; movaps        %xmm8,%xmm1
+  DB  15,88,205                           ; addps         %xmm5,%xmm1
+  DB  68,15,89,199                        ; mulps         %xmm7,%xmm8
+  DB  68,15,40,203                        ; movaps        %xmm3,%xmm9
+  DB  68,15,89,205                        ; mulps         %xmm5,%xmm9
+  DB  69,15,93,193                        ; minps         %xmm9,%xmm8
+  DB  69,15,88,192                        ; addps         %xmm8,%xmm8
+  DB  65,15,92,200                        ; subps         %xmm8,%xmm1
+  DB  68,15,40,194                        ; movaps        %xmm2,%xmm8
+  DB  68,15,88,198                        ; addps         %xmm6,%xmm8
+  DB  15,89,215                           ; mulps         %xmm7,%xmm2
+  DB  68,15,40,203                        ; movaps        %xmm3,%xmm9
+  DB  68,15,89,206                        ; mulps         %xmm6,%xmm9
+  DB  65,15,93,209                        ; minps         %xmm9,%xmm2
+  DB  15,88,210                           ; addps         %xmm2,%xmm2
+  DB  68,15,92,194                        ; subps         %xmm2,%xmm8
+  DB  15,40,21,99,120,1,0                 ; movaps        0x17863(%rip),%xmm2        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  15,92,211                           ; subps         %xmm3,%xmm2
+  DB  15,89,215                           ; mulps         %xmm7,%xmm2
+  DB  15,88,218                           ; addps         %xmm2,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_exclusion_sse2
+_sk_exclusion_sse2 LABEL PROC
+  DB  68,15,40,193                        ; movaps        %xmm1,%xmm8
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  15,88,196                           ; addps         %xmm4,%xmm0
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  15,88,201                           ; addps         %xmm1,%xmm1
+  DB  15,92,193                           ; subps         %xmm1,%xmm0
+  DB  65,15,40,200                        ; movaps        %xmm8,%xmm1
+  DB  15,88,205                           ; addps         %xmm5,%xmm1
+  DB  68,15,89,197                        ; mulps         %xmm5,%xmm8
+  DB  69,15,88,192                        ; addps         %xmm8,%xmm8
+  DB  65,15,92,200                        ; subps         %xmm8,%xmm1
+  DB  68,15,40,194                        ; movaps        %xmm2,%xmm8
+  DB  68,15,88,198                        ; addps         %xmm6,%xmm8
+  DB  15,89,214                           ; mulps         %xmm6,%xmm2
+  DB  15,88,210                           ; addps         %xmm2,%xmm2
+  DB  68,15,92,194                        ; subps         %xmm2,%xmm8
+  DB  15,40,21,19,120,1,0                 ; movaps        0x17813(%rip),%xmm2        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  15,92,211                           ; subps         %xmm3,%xmm2
+  DB  15,89,215                           ; mulps         %xmm7,%xmm2
+  DB  15,88,218                           ; addps         %xmm2,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_colorburn_sse2
+_sk_colorburn_sse2 LABEL PROC
+  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
+  DB  68,15,40,13,246,119,1,0             ; movaps        0x177f6(%rip),%xmm9        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,40,209                        ; movaps        %xmm9,%xmm10
+  DB  68,15,92,215                        ; subps         %xmm7,%xmm10
+  DB  69,15,40,218                        ; movaps        %xmm10,%xmm11
+  DB  69,15,89,216                        ; mulps         %xmm8,%xmm11
+  DB  15,40,199                           ; movaps        %xmm7,%xmm0
+  DB  15,92,196                           ; subps         %xmm4,%xmm0
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  69,15,83,224                        ; rcpps         %xmm8,%xmm12
+  DB  68,15,89,224                        ; mulps         %xmm0,%xmm12
+  DB  15,40,199                           ; movaps        %xmm7,%xmm0
+  DB  65,15,93,196                        ; minps         %xmm12,%xmm0
+  DB  68,15,40,231                        ; movaps        %xmm7,%xmm12
+  DB  68,15,92,224                        ; subps         %xmm0,%xmm12
+  DB  68,15,89,227                        ; mulps         %xmm3,%xmm12
+  DB  69,15,88,227                        ; addps         %xmm11,%xmm12
+  DB  65,15,40,195                        ; movaps        %xmm11,%xmm0
+  DB  15,88,196                           ; addps         %xmm4,%xmm0
+  DB  69,15,87,219                        ; xorps         %xmm11,%xmm11
+  DB  68,15,92,203                        ; subps         %xmm3,%xmm9
+  DB  69,15,40,233                        ; movaps        %xmm9,%xmm13
+  DB  68,15,89,236                        ; mulps         %xmm4,%xmm13
+  DB  69,15,194,195,0                     ; cmpeqps       %xmm11,%xmm8
+  DB  69,15,88,229                        ; addps         %xmm13,%xmm12
+  DB  69,15,84,232                        ; andps         %xmm8,%xmm13
+  DB  69,15,85,196                        ; andnps        %xmm12,%xmm8
+  DB  68,15,40,228                        ; movaps        %xmm4,%xmm12
+  DB  68,15,194,231,0                     ; cmpeqps       %xmm7,%xmm12
+  DB  69,15,86,197                        ; orps          %xmm13,%xmm8
+  DB  65,15,84,196                        ; andps         %xmm12,%xmm0
+  DB  69,15,85,224                        ; andnps        %xmm8,%xmm12
+  DB  65,15,86,196                        ; orps          %xmm12,%xmm0
+  DB  69,15,40,194                        ; movaps        %xmm10,%xmm8
+  DB  68,15,89,193                        ; mulps         %xmm1,%xmm8
+  DB  68,15,40,231                        ; movaps        %xmm7,%xmm12
+  DB  68,15,92,229                        ; subps         %xmm5,%xmm12
+  DB  68,15,89,227                        ; mulps         %xmm3,%xmm12
+  DB  68,15,83,233                        ; rcpps         %xmm1,%xmm13
+  DB  69,15,89,236                        ; mulps         %xmm12,%xmm13
+  DB  68,15,40,231                        ; movaps        %xmm7,%xmm12
+  DB  69,15,93,229                        ; minps         %xmm13,%xmm12
+  DB  68,15,40,239                        ; movaps        %xmm7,%xmm13
+  DB  69,15,92,236                        ; subps         %xmm12,%xmm13
+  DB  69,15,40,225                        ; movaps        %xmm9,%xmm12
+  DB  68,15,89,229                        ; mulps         %xmm5,%xmm12
+  DB  65,15,194,203,0                     ; cmpeqps       %xmm11,%xmm1
+  DB  68,15,89,235                        ; mulps         %xmm3,%xmm13
+  DB  69,15,88,232                        ; addps         %xmm8,%xmm13
+  DB  69,15,88,236                        ; addps         %xmm12,%xmm13
+  DB  68,15,84,225                        ; andps         %xmm1,%xmm12
+  DB  65,15,85,205                        ; andnps        %xmm13,%xmm1
+  DB  68,15,88,197                        ; addps         %xmm5,%xmm8
+  DB  65,15,86,204                        ; orps          %xmm12,%xmm1
+  DB  68,15,40,229                        ; movaps        %xmm5,%xmm12
+  DB  68,15,194,231,0                     ; cmpeqps       %xmm7,%xmm12
+  DB  69,15,84,196                        ; andps         %xmm12,%xmm8
+  DB  68,15,85,225                        ; andnps        %xmm1,%xmm12
+  DB  69,15,86,196                        ; orps          %xmm12,%xmm8
+  DB  68,15,89,210                        ; mulps         %xmm2,%xmm10
+  DB  68,15,194,218,0                     ; cmpeqps       %xmm2,%xmm11
+  DB  15,40,207                           ; movaps        %xmm7,%xmm1
+  DB  15,92,206                           ; subps         %xmm6,%xmm1
+  DB  15,89,203                           ; mulps         %xmm3,%xmm1
+  DB  15,83,210                           ; rcpps         %xmm2,%xmm2
+  DB  15,89,209                           ; mulps         %xmm1,%xmm2
+  DB  15,40,207                           ; movaps        %xmm7,%xmm1
+  DB  15,93,202                           ; minps         %xmm2,%xmm1
+  DB  15,40,215                           ; movaps        %xmm7,%xmm2
+  DB  15,92,209                           ; subps         %xmm1,%xmm2
+  DB  65,15,40,201                        ; movaps        %xmm9,%xmm1
+  DB  15,89,206                           ; mulps         %xmm6,%xmm1
+  DB  15,89,211                           ; mulps         %xmm3,%xmm2
+  DB  65,15,88,210                        ; addps         %xmm10,%xmm2
+  DB  15,88,209                           ; addps         %xmm1,%xmm2
+  DB  65,15,84,203                        ; andps         %xmm11,%xmm1
+  DB  68,15,85,218                        ; andnps        %xmm2,%xmm11
+  DB  65,15,40,210                        ; movaps        %xmm10,%xmm2
+  DB  15,88,214                           ; addps         %xmm6,%xmm2
+  DB  68,15,86,217                        ; orps          %xmm1,%xmm11
+  DB  15,40,206                           ; movaps        %xmm6,%xmm1
+  DB  15,194,207,0                        ; cmpeqps       %xmm7,%xmm1
+  DB  15,84,209                           ; andps         %xmm1,%xmm2
+  DB  65,15,85,203                        ; andnps        %xmm11,%xmm1
+  DB  15,86,209                           ; orps          %xmm1,%xmm2
+  DB  68,15,89,207                        ; mulps         %xmm7,%xmm9
+  DB  65,15,88,217                        ; addps         %xmm9,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,200                        ; movaps        %xmm8,%xmm1
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_colordodge_sse2
+_sk_colordodge_sse2 LABEL PROC
+  DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
+  DB  68,15,40,21,158,118,1,0             ; movaps        0x1769e(%rip),%xmm10        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,40,218                        ; movaps        %xmm10,%xmm11
+  DB  68,15,92,223                        ; subps         %xmm7,%xmm11
+  DB  65,15,40,195                        ; movaps        %xmm11,%xmm0
+  DB  65,15,89,193                        ; mulps         %xmm9,%xmm0
+  DB  68,15,40,227                        ; movaps        %xmm3,%xmm12
+  DB  68,15,89,228                        ; mulps         %xmm4,%xmm12
+  DB  68,15,40,195                        ; movaps        %xmm3,%xmm8
+  DB  69,15,92,193                        ; subps         %xmm9,%xmm8
+  DB  69,15,83,192                        ; rcpps         %xmm8,%xmm8
+  DB  69,15,89,196                        ; mulps         %xmm12,%xmm8
+  DB  68,15,40,231                        ; movaps        %xmm7,%xmm12
+  DB  68,15,40,239                        ; movaps        %xmm7,%xmm13
+  DB  69,15,93,232                        ; minps         %xmm8,%xmm13
+  DB  69,15,40,241                        ; movaps        %xmm9,%xmm14
+  DB  68,15,194,243,0                     ; cmpeqps       %xmm3,%xmm14
+  DB  68,15,89,235                        ; mulps         %xmm3,%xmm13
+  DB  68,15,88,232                        ; addps         %xmm0,%xmm13
+  DB  69,15,84,206                        ; andps         %xmm14,%xmm9
+  DB  69,15,85,245                        ; andnps        %xmm13,%xmm14
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  68,15,92,211                        ; subps         %xmm3,%xmm10
+  DB  69,15,86,241                        ; orps          %xmm9,%xmm14
+  DB  69,15,40,202                        ; movaps        %xmm10,%xmm9
+  DB  68,15,89,204                        ; mulps         %xmm4,%xmm9
+  DB  69,15,88,241                        ; addps         %xmm9,%xmm14
+  DB  68,15,40,204                        ; movaps        %xmm4,%xmm9
+  DB  69,15,194,200,0                     ; cmpeqps       %xmm8,%xmm9
+  DB  65,15,84,193                        ; andps         %xmm9,%xmm0
+  DB  69,15,85,206                        ; andnps        %xmm14,%xmm9
+  DB  65,15,86,193                        ; orps          %xmm9,%xmm0
+  DB  68,15,40,203                        ; movaps        %xmm3,%xmm9
+  DB  68,15,89,205                        ; mulps         %xmm5,%xmm9
+  DB  68,15,40,235                        ; movaps        %xmm3,%xmm13
+  DB  68,15,92,233                        ; subps         %xmm1,%xmm13
+  DB  69,15,83,237                        ; rcpps         %xmm13,%xmm13
+  DB  69,15,89,233                        ; mulps         %xmm9,%xmm13
+  DB  69,15,40,203                        ; movaps        %xmm11,%xmm9
+  DB  68,15,89,201                        ; mulps         %xmm1,%xmm9
+  DB  69,15,93,229                        ; minps         %xmm13,%xmm12
+  DB  68,15,40,233                        ; movaps        %xmm1,%xmm13
+  DB  68,15,194,235,0                     ; cmpeqps       %xmm3,%xmm13
+  DB  68,15,89,227                        ; mulps         %xmm3,%xmm12
+  DB  69,15,88,225                        ; addps         %xmm9,%xmm12
+  DB  65,15,84,205                        ; andps         %xmm13,%xmm1
+  DB  69,15,85,236                        ; andnps        %xmm12,%xmm13
+  DB  68,15,86,233                        ; orps          %xmm1,%xmm13
+  DB  65,15,40,202                        ; movaps        %xmm10,%xmm1
+  DB  15,89,205                           ; mulps         %xmm5,%xmm1
+  DB  68,15,88,233                        ; addps         %xmm1,%xmm13
+  DB  15,40,205                           ; movaps        %xmm5,%xmm1
+  DB  65,15,194,200,0                     ; cmpeqps       %xmm8,%xmm1
+  DB  68,15,84,201                        ; andps         %xmm1,%xmm9
+  DB  65,15,85,205                        ; andnps        %xmm13,%xmm1
+  DB  68,15,86,201                        ; orps          %xmm1,%xmm9
+  DB  68,15,40,227                        ; movaps        %xmm3,%xmm12
+  DB  68,15,89,230                        ; mulps         %xmm6,%xmm12
+  DB  15,40,203                           ; movaps        %xmm3,%xmm1
+  DB  15,92,202                           ; subps         %xmm2,%xmm1
+  DB  68,15,83,233                        ; rcpps         %xmm1,%xmm13
+  DB  69,15,89,236                        ; mulps         %xmm12,%xmm13
+  DB  68,15,40,231                        ; movaps        %xmm7,%xmm12
+  DB  68,15,89,218                        ; mulps         %xmm2,%xmm11
+  DB  69,15,93,229                        ; minps         %xmm13,%xmm12
+  DB  15,40,202                           ; movaps        %xmm2,%xmm1
+  DB  15,194,203,0                        ; cmpeqps       %xmm3,%xmm1
+  DB  68,15,89,227                        ; mulps         %xmm3,%xmm12
+  DB  69,15,88,227                        ; addps         %xmm11,%xmm12
+  DB  15,84,209                           ; andps         %xmm1,%xmm2
+  DB  65,15,85,204                        ; andnps        %xmm12,%xmm1
+  DB  15,86,202                           ; orps          %xmm2,%xmm1
+  DB  65,15,40,210                        ; movaps        %xmm10,%xmm2
+  DB  15,89,214                           ; mulps         %xmm6,%xmm2
+  DB  15,88,202                           ; addps         %xmm2,%xmm1
+  DB  68,15,194,198,0                     ; cmpeqps       %xmm6,%xmm8
+  DB  69,15,84,216                        ; andps         %xmm8,%xmm11
+  DB  68,15,85,193                        ; andnps        %xmm1,%xmm8
+  DB  69,15,86,195                        ; orps          %xmm11,%xmm8
+  DB  68,15,89,215                        ; mulps         %xmm7,%xmm10
+  DB  65,15,88,218                        ; addps         %xmm10,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,201                        ; movaps        %xmm9,%xmm1
+  DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_hardlight_sse2
+_sk_hardlight_sse2 LABEL PROC
+  DB  72,131,236,24                       ; sub           $0x18,%rsp
+  DB  15,41,52,36                         ; movaps        %xmm6,(%rsp)
+  DB  15,40,245                           ; movaps        %xmm5,%xmm6
+  DB  15,40,236                           ; movaps        %xmm4,%xmm5
+  DB  68,15,40,29,68,117,1,0              ; movaps        0x17544(%rip),%xmm11        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,40,211                        ; movaps        %xmm11,%xmm10
+  DB  68,15,92,215                        ; subps         %xmm7,%xmm10
+  DB  69,15,40,194                        ; movaps        %xmm10,%xmm8
+  DB  68,15,89,192                        ; mulps         %xmm0,%xmm8
+  DB  68,15,92,219                        ; subps         %xmm3,%xmm11
+  DB  69,15,40,203                        ; movaps        %xmm11,%xmm9
+  DB  68,15,89,205                        ; mulps         %xmm5,%xmm9
+  DB  69,15,88,200                        ; addps         %xmm8,%xmm9
+  DB  68,15,40,195                        ; movaps        %xmm3,%xmm8
+  DB  68,15,92,192                        ; subps         %xmm0,%xmm8
+  DB  15,40,227                           ; movaps        %xmm3,%xmm4
+  DB  15,89,231                           ; mulps         %xmm7,%xmm4
+  DB  68,15,40,239                        ; movaps        %xmm7,%xmm13
+  DB  68,15,40,247                        ; movaps        %xmm7,%xmm14
+  DB  68,15,40,255                        ; movaps        %xmm7,%xmm15
+  DB  68,15,92,253                        ; subps         %xmm5,%xmm15
+  DB  69,15,89,248                        ; mulps         %xmm8,%xmm15
+  DB  69,15,88,255                        ; addps         %xmm15,%xmm15
+  DB  68,15,40,228                        ; movaps        %xmm4,%xmm12
+  DB  69,15,92,231                        ; subps         %xmm15,%xmm12
+  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
+  DB  69,15,88,192                        ; addps         %xmm8,%xmm8
+  DB  68,15,194,195,2                     ; cmpleps       %xmm3,%xmm8
+  DB  15,89,197                           ; mulps         %xmm5,%xmm0
+  DB  15,88,192                           ; addps         %xmm0,%xmm0
+  DB  65,15,84,192                        ; andps         %xmm8,%xmm0
+  DB  69,15,85,196                        ; andnps        %xmm12,%xmm8
+  DB  68,15,86,192                        ; orps          %xmm0,%xmm8
+  DB  69,15,40,251                        ; movaps        %xmm11,%xmm15
+  DB  69,15,40,227                        ; movaps        %xmm11,%xmm12
+  DB  68,15,89,223                        ; mulps         %xmm7,%xmm11
+  DB  69,15,88,193                        ; addps         %xmm9,%xmm8
+  DB  65,15,40,194                        ; movaps        %xmm10,%xmm0
+  DB  15,89,193                           ; mulps         %xmm1,%xmm0
+  DB  68,15,89,254                        ; mulps         %xmm6,%xmm15
+  DB  68,15,88,248                        ; addps         %xmm0,%xmm15
+  DB  15,40,195                           ; movaps        %xmm3,%xmm0
+  DB  15,92,193                           ; subps         %xmm1,%xmm0
+  DB  68,15,92,238                        ; subps         %xmm6,%xmm13
+  DB  68,15,89,232                        ; mulps         %xmm0,%xmm13
+  DB  69,15,88,237                        ; addps         %xmm13,%xmm13
+  DB  15,40,196                           ; movaps        %xmm4,%xmm0
+  DB  65,15,92,197                        ; subps         %xmm13,%xmm0
+  DB  68,15,40,201                        ; movaps        %xmm1,%xmm9
+  DB  69,15,88,201                        ; addps         %xmm9,%xmm9
+  DB  68,15,194,203,2                     ; cmpleps       %xmm3,%xmm9
+  DB  15,89,206                           ; mulps         %xmm6,%xmm1
+  DB  15,88,201                           ; addps         %xmm1,%xmm1
+  DB  65,15,84,201                        ; andps         %xmm9,%xmm1
+  DB  68,15,85,200                        ; andnps        %xmm0,%xmm9
+  DB  68,15,86,201                        ; orps          %xmm1,%xmm9
+  DB  69,15,88,207                        ; addps         %xmm15,%xmm9
+  DB  68,15,89,210                        ; mulps         %xmm2,%xmm10
+  DB  68,15,40,44,36                      ; movaps        (%rsp),%xmm13
+  DB  69,15,89,229                        ; mulps         %xmm13,%xmm12
+  DB  69,15,88,226                        ; addps         %xmm10,%xmm12
+  DB  68,15,40,210                        ; movaps        %xmm2,%xmm10
+  DB  69,15,88,210                        ; addps         %xmm10,%xmm10
+  DB  68,15,194,211,2                     ; cmpleps       %xmm3,%xmm10
+  DB  15,40,195                           ; movaps        %xmm3,%xmm0
+  DB  15,92,194                           ; subps         %xmm2,%xmm0
+  DB  65,15,89,213                        ; mulps         %xmm13,%xmm2
+  DB  15,88,210                           ; addps         %xmm2,%xmm2
+  DB  69,15,92,245                        ; subps         %xmm13,%xmm14
+  DB  68,15,89,240                        ; mulps         %xmm0,%xmm14
+  DB  69,15,88,246                        ; addps         %xmm14,%xmm14
+  DB  65,15,92,230                        ; subps         %xmm14,%xmm4
+  DB  65,15,84,210                        ; andps         %xmm10,%xmm2
+  DB  68,15,85,212                        ; andnps        %xmm4,%xmm10
+  DB  68,15,86,210                        ; orps          %xmm2,%xmm10
+  DB  69,15,88,212                        ; addps         %xmm12,%xmm10
+  DB  65,15,88,219                        ; addps         %xmm11,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  65,15,40,201                        ; movaps        %xmm9,%xmm1
+  DB  65,15,40,210                        ; movaps        %xmm10,%xmm2
+  DB  15,40,229                           ; movaps        %xmm5,%xmm4
+  DB  15,40,238                           ; movaps        %xmm6,%xmm5
+  DB  65,15,40,245                        ; movaps        %xmm13,%xmm6
+  DB  72,131,196,24                       ; add           $0x18,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_overlay_sse2
+_sk_overlay_sse2 LABEL PROC
+  DB  68,15,40,193                        ; movaps        %xmm1,%xmm8
+  DB  68,15,40,232                        ; movaps        %xmm0,%xmm13
+  DB  68,15,40,13,255,115,1,0             ; movaps        0x173ff(%rip),%xmm9        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,40,209                        ; movaps        %xmm9,%xmm10
+  DB  68,15,92,215                        ; subps         %xmm7,%xmm10
+  DB  69,15,40,218                        ; movaps        %xmm10,%xmm11
+  DB  69,15,89,221                        ; mulps         %xmm13,%xmm11
+  DB  68,15,92,203                        ; subps         %xmm3,%xmm9
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  65,15,88,195                        ; addps         %xmm11,%xmm0
+  DB  68,15,40,227                        ; movaps        %xmm3,%xmm12
+  DB  69,15,92,229                        ; subps         %xmm13,%xmm12
+  DB  68,15,89,236                        ; mulps         %xmm4,%xmm13
+  DB  68,15,40,247                        ; movaps        %xmm7,%xmm14
+  DB  68,15,92,244                        ; subps         %xmm4,%xmm14
+  DB  15,40,204                           ; movaps        %xmm4,%xmm1
+  DB  15,88,201                           ; addps         %xmm1,%xmm1
+  DB  15,194,207,2                        ; cmpleps       %xmm7,%xmm1
+  DB  69,15,88,237                        ; addps         %xmm13,%xmm13
+  DB  68,15,40,219                        ; movaps        %xmm3,%xmm11
+  DB  68,15,89,223                        ; mulps         %xmm7,%xmm11
+  DB  69,15,89,244                        ; mulps         %xmm12,%xmm14
+  DB  69,15,88,246                        ; addps         %xmm14,%xmm14
+  DB  69,15,40,227                        ; movaps        %xmm11,%xmm12
+  DB  69,15,92,230                        ; subps         %xmm14,%xmm12
+  DB  68,15,84,233                        ; andps         %xmm1,%xmm13
+  DB  65,15,85,204                        ; andnps        %xmm12,%xmm1
+  DB  65,15,86,205                        ; orps          %xmm13,%xmm1
+  DB  15,88,193                           ; addps         %xmm1,%xmm0
+  DB  69,15,40,226                        ; movaps        %xmm10,%xmm12
+  DB  69,15,89,224                        ; mulps         %xmm8,%xmm12
+  DB  65,15,40,201                        ; movaps        %xmm9,%xmm1
+  DB  15,89,205                           ; mulps         %xmm5,%xmm1
+  DB  65,15,88,204                        ; addps         %xmm12,%xmm1
+  DB  68,15,40,227                        ; movaps        %xmm3,%xmm12
+  DB  69,15,92,224                        ; subps         %xmm8,%xmm12
+  DB  68,15,89,197                        ; mulps         %xmm5,%xmm8
+  DB  68,15,40,239                        ; movaps        %xmm7,%xmm13
+  DB  68,15,92,237                        ; subps         %xmm5,%xmm13
+  DB  68,15,40,245                        ; movaps        %xmm5,%xmm14
+  DB  69,15,88,246                        ; addps         %xmm14,%xmm14
+  DB  68,15,194,247,2                     ; cmpleps       %xmm7,%xmm14
+  DB  69,15,88,192                        ; addps         %xmm8,%xmm8
+  DB  69,15,89,236                        ; mulps         %xmm12,%xmm13
+  DB  69,15,88,237                        ; addps         %xmm13,%xmm13
+  DB  69,15,40,227                        ; movaps        %xmm11,%xmm12
+  DB  69,15,92,229                        ; subps         %xmm13,%xmm12
+  DB  69,15,84,198                        ; andps         %xmm14,%xmm8
+  DB  69,15,85,244                        ; andnps        %xmm12,%xmm14
+  DB  69,15,86,240                        ; orps          %xmm8,%xmm14
+  DB  65,15,88,206                        ; addps         %xmm14,%xmm1
+  DB  68,15,89,210                        ; mulps         %xmm2,%xmm10
+  DB  69,15,40,193                        ; movaps        %xmm9,%xmm8
+  DB  68,15,89,198                        ; mulps         %xmm6,%xmm8
+  DB  69,15,88,194                        ; addps         %xmm10,%xmm8
+  DB  68,15,40,211                        ; movaps        %xmm3,%xmm10
+  DB  68,15,92,210                        ; subps         %xmm2,%xmm10
+  DB  15,89,214                           ; mulps         %xmm6,%xmm2
+  DB  68,15,40,231                        ; movaps        %xmm7,%xmm12
+  DB  68,15,92,230                        ; subps         %xmm6,%xmm12
+  DB  68,15,40,238                        ; movaps        %xmm6,%xmm13
+  DB  69,15,88,237                        ; addps         %xmm13,%xmm13
+  DB  68,15,194,239,2                     ; cmpleps       %xmm7,%xmm13
+  DB  15,88,210                           ; addps         %xmm2,%xmm2
+  DB  69,15,89,226                        ; mulps         %xmm10,%xmm12
+  DB  69,15,88,228                        ; addps         %xmm12,%xmm12
+  DB  69,15,92,220                        ; subps         %xmm12,%xmm11
+  DB  65,15,84,213                        ; andps         %xmm13,%xmm2
+  DB  69,15,85,235                        ; andnps        %xmm11,%xmm13
+  DB  68,15,86,234                        ; orps          %xmm2,%xmm13
+  DB  69,15,88,197                        ; addps         %xmm13,%xmm8
+  DB  68,15,89,207                        ; mulps         %xmm7,%xmm9
+  DB  65,15,88,217                        ; addps         %xmm9,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_softlight_sse2
+_sk_softlight_sse2 LABEL PROC
+  DB  72,131,236,40                       ; sub           $0x28,%rsp
+  DB  15,41,52,36                         ; movaps        %xmm6,(%rsp)
+  DB  15,40,245                           ; movaps        %xmm5,%xmm6
+  DB  15,40,236                           ; movaps        %xmm4,%xmm5
+  DB  15,41,84,36,16                      ; movaps        %xmm2,0x10(%rsp)
+  DB  15,40,209                           ; movaps        %xmm1,%xmm2
+  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
+  DB  69,15,87,228                        ; xorps         %xmm12,%xmm12
+  DB  68,15,194,231,1                     ; cmpltps       %xmm7,%xmm12
+  DB  68,15,40,213                        ; movaps        %xmm5,%xmm10
+  DB  68,15,94,215                        ; divps         %xmm7,%xmm10
+  DB  69,15,84,212                        ; andps         %xmm12,%xmm10
+  DB  68,15,40,13,169,114,1,0             ; movaps        0x172a9(%rip),%xmm9        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,40,249                        ; movaps        %xmm9,%xmm15
+  DB  69,15,92,250                        ; subps         %xmm10,%xmm15
+  DB  69,15,40,218                        ; movaps        %xmm10,%xmm11
+  DB  69,15,40,234                        ; movaps        %xmm10,%xmm13
+  DB  65,15,82,194                        ; rsqrtps       %xmm10,%xmm0
+  DB  15,83,200                           ; rcpps         %xmm0,%xmm1
+  DB  65,15,92,202                        ; subps         %xmm10,%xmm1
+  DB  69,15,88,210                        ; addps         %xmm10,%xmm10
+  DB  69,15,88,210                        ; addps         %xmm10,%xmm10
+  DB  65,15,40,194                        ; movaps        %xmm10,%xmm0
+  DB  15,89,192                           ; mulps         %xmm0,%xmm0
+  DB  65,15,88,194                        ; addps         %xmm10,%xmm0
+  DB  68,15,40,53,211,114,1,0             ; movaps        0x172d3(%rip),%xmm14        # 35510 <_sk_srcover_bgra_8888_sse2_lowp+0xcf8>
+  DB  69,15,88,222                        ; addps         %xmm14,%xmm11
+  DB  68,15,89,216                        ; mulps         %xmm0,%xmm11
+  DB  68,15,40,21,211,114,1,0             ; movaps        0x172d3(%rip),%xmm10        # 35520 <_sk_srcover_bgra_8888_sse2_lowp+0xd08>
+  DB  69,15,89,234                        ; mulps         %xmm10,%xmm13
+  DB  69,15,88,235                        ; addps         %xmm11,%xmm13
+  DB  15,88,228                           ; addps         %xmm4,%xmm4
+  DB  15,88,228                           ; addps         %xmm4,%xmm4
+  DB  15,194,231,2                        ; cmpleps       %xmm7,%xmm4
+  DB  68,15,84,236                        ; andps         %xmm4,%xmm13
+  DB  15,85,225                           ; andnps        %xmm1,%xmm4
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  15,88,192                           ; addps         %xmm0,%xmm0
+  DB  65,15,86,229                        ; orps          %xmm13,%xmm4
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  15,92,203                           ; subps         %xmm3,%xmm1
+  DB  68,15,89,249                        ; mulps         %xmm1,%xmm15
+  DB  15,89,207                           ; mulps         %xmm7,%xmm1
+  DB  15,89,225                           ; mulps         %xmm1,%xmm4
+  DB  15,40,203                           ; movaps        %xmm3,%xmm1
+  DB  15,89,205                           ; mulps         %xmm5,%xmm1
+  DB  15,88,225                           ; addps         %xmm1,%xmm4
+  DB  69,15,40,217                        ; movaps        %xmm9,%xmm11
+  DB  68,15,92,219                        ; subps         %xmm3,%xmm11
+  DB  65,15,40,203                        ; movaps        %xmm11,%xmm1
+  DB  15,89,205                           ; mulps         %xmm5,%xmm1
+  DB  69,15,40,233                        ; movaps        %xmm9,%xmm13
+  DB  68,15,92,239                        ; subps         %xmm7,%xmm13
+  DB  69,15,89,197                        ; mulps         %xmm13,%xmm8
+  DB  68,15,88,193                        ; addps         %xmm1,%xmm8
+  DB  68,15,88,251                        ; addps         %xmm3,%xmm15
+  DB  68,15,89,253                        ; mulps         %xmm5,%xmm15
+  DB  15,194,195,2                        ; cmpleps       %xmm3,%xmm0
+  DB  68,15,84,248                        ; andps         %xmm0,%xmm15
+  DB  15,85,196                           ; andnps        %xmm4,%xmm0
+  DB  65,15,86,199                        ; orps          %xmm15,%xmm0
+  DB  65,15,88,192                        ; addps         %xmm8,%xmm0
+  DB  68,15,40,198                        ; movaps        %xmm6,%xmm8
+  DB  68,15,94,199                        ; divps         %xmm7,%xmm8
+  DB  69,15,84,196                        ; andps         %xmm12,%xmm8
+  DB  65,15,40,200                        ; movaps        %xmm8,%xmm1
+  DB  15,88,201                           ; addps         %xmm1,%xmm1
+  DB  15,88,201                           ; addps         %xmm1,%xmm1
+  DB  15,40,225                           ; movaps        %xmm1,%xmm4
+  DB  15,89,228                           ; mulps         %xmm4,%xmm4
+  DB  15,88,225                           ; addps         %xmm1,%xmm4
+  DB  65,15,40,200                        ; movaps        %xmm8,%xmm1
+  DB  65,15,88,206                        ; addps         %xmm14,%xmm1
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  69,15,40,249                        ; movaps        %xmm9,%xmm15
+  DB  69,15,92,248                        ; subps         %xmm8,%xmm15
+  DB  65,15,82,224                        ; rsqrtps       %xmm8,%xmm4
+  DB  15,83,228                           ; rcpps         %xmm4,%xmm4
+  DB  65,15,92,224                        ; subps         %xmm8,%xmm4
+  DB  69,15,89,194                        ; mulps         %xmm10,%xmm8
+  DB  68,15,88,193                        ; addps         %xmm1,%xmm8
+  DB  15,40,206                           ; movaps        %xmm6,%xmm1
+  DB  15,88,201                           ; addps         %xmm1,%xmm1
+  DB  15,88,201                           ; addps         %xmm1,%xmm1
+  DB  15,194,207,2                        ; cmpleps       %xmm7,%xmm1
+  DB  68,15,84,193                        ; andps         %xmm1,%xmm8
+  DB  15,85,204                           ; andnps        %xmm4,%xmm1
+  DB  65,15,86,200                        ; orps          %xmm8,%xmm1
+  DB  68,15,40,194                        ; movaps        %xmm2,%xmm8
+  DB  69,15,88,192                        ; addps         %xmm8,%xmm8
+  DB  65,15,40,224                        ; movaps        %xmm8,%xmm4
+  DB  15,92,227                           ; subps         %xmm3,%xmm4
+  DB  68,15,89,252                        ; mulps         %xmm4,%xmm15
+  DB  15,89,231                           ; mulps         %xmm7,%xmm4
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  15,40,227                           ; movaps        %xmm3,%xmm4
+  DB  15,89,230                           ; mulps         %xmm6,%xmm4
+  DB  15,88,204                           ; addps         %xmm4,%xmm1
+  DB  65,15,40,227                        ; movaps        %xmm11,%xmm4
+  DB  15,89,230                           ; mulps         %xmm6,%xmm4
+  DB  65,15,89,213                        ; mulps         %xmm13,%xmm2
+  DB  15,88,212                           ; addps         %xmm4,%xmm2
+  DB  68,15,88,251                        ; addps         %xmm3,%xmm15
+  DB  68,15,89,254                        ; mulps         %xmm6,%xmm15
+  DB  68,15,194,195,2                     ; cmpleps       %xmm3,%xmm8
+  DB  69,15,84,248                        ; andps         %xmm8,%xmm15
+  DB  68,15,85,193                        ; andnps        %xmm1,%xmm8
+  DB  69,15,86,199                        ; orps          %xmm15,%xmm8
+  DB  68,15,88,194                        ; addps         %xmm2,%xmm8
+  DB  68,15,40,60,36                      ; movaps        (%rsp),%xmm15
+  DB  65,15,40,207                        ; movaps        %xmm15,%xmm1
+  DB  15,94,207                           ; divps         %xmm7,%xmm1
+  DB  65,15,84,204                        ; andps         %xmm12,%xmm1
+  DB  68,15,92,201                        ; subps         %xmm1,%xmm9
+  DB  68,15,88,241                        ; addps         %xmm1,%xmm14
+  DB  68,15,89,209                        ; mulps         %xmm1,%xmm10
+  DB  15,82,209                           ; rsqrtps       %xmm1,%xmm2
+  DB  15,83,210                           ; rcpps         %xmm2,%xmm2
+  DB  15,92,209                           ; subps         %xmm1,%xmm2
+  DB  15,88,201                           ; addps         %xmm1,%xmm1
+  DB  15,88,201                           ; addps         %xmm1,%xmm1
+  DB  15,40,225                           ; movaps        %xmm1,%xmm4
+  DB  15,89,228                           ; mulps         %xmm4,%xmm4
+  DB  15,88,225                           ; addps         %xmm1,%xmm4
+  DB  68,15,89,244                        ; mulps         %xmm4,%xmm14
+  DB  69,15,88,214                        ; addps         %xmm14,%xmm10
+  DB  65,15,40,207                        ; movaps        %xmm15,%xmm1
+  DB  15,88,201                           ; addps         %xmm1,%xmm1
+  DB  15,88,201                           ; addps         %xmm1,%xmm1
+  DB  15,194,207,2                        ; cmpleps       %xmm7,%xmm1
+  DB  68,15,84,209                        ; andps         %xmm1,%xmm10
+  DB  15,85,202                           ; andnps        %xmm2,%xmm1
+  DB  15,40,84,36,16                      ; movaps        0x10(%rsp),%xmm2
+  DB  68,15,89,234                        ; mulps         %xmm2,%xmm13
+  DB  15,88,210                           ; addps         %xmm2,%xmm2
+  DB  65,15,86,202                        ; orps          %xmm10,%xmm1
+  DB  15,40,226                           ; movaps        %xmm2,%xmm4
+  DB  15,92,227                           ; subps         %xmm3,%xmm4
+  DB  68,15,89,204                        ; mulps         %xmm4,%xmm9
+  DB  15,89,231                           ; mulps         %xmm7,%xmm4
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  15,40,227                           ; movaps        %xmm3,%xmm4
+  DB  65,15,89,231                        ; mulps         %xmm15,%xmm4
+  DB  15,88,204                           ; addps         %xmm4,%xmm1
+  DB  65,15,40,227                        ; movaps        %xmm11,%xmm4
+  DB  65,15,89,231                        ; mulps         %xmm15,%xmm4
+  DB  65,15,88,229                        ; addps         %xmm13,%xmm4
+  DB  68,15,88,203                        ; addps         %xmm3,%xmm9
+  DB  69,15,89,207                        ; mulps         %xmm15,%xmm9
+  DB  69,15,40,215                        ; movaps        %xmm15,%xmm10
+  DB  15,194,211,2                        ; cmpleps       %xmm3,%xmm2
+  DB  68,15,84,202                        ; andps         %xmm2,%xmm9
+  DB  15,85,209                           ; andnps        %xmm1,%xmm2
+  DB  65,15,86,209                        ; orps          %xmm9,%xmm2
+  DB  15,88,212                           ; addps         %xmm4,%xmm2
+  DB  68,15,89,223                        ; mulps         %xmm7,%xmm11
+  DB  65,15,88,219                        ; addps         %xmm11,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,229                           ; movaps        %xmm5,%xmm4
+  DB  15,40,238                           ; movaps        %xmm6,%xmm5
+  DB  65,15,40,242                        ; movaps        %xmm10,%xmm6
+  DB  65,15,40,200                        ; movaps        %xmm8,%xmm1
+  DB  72,131,196,40                       ; add           $0x28,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_hue_sse2
+_sk_hue_sse2 LABEL PROC
+  DB  72,131,236,88                       ; sub           $0x58,%rsp
+  DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
+  DB  68,15,89,203                        ; mulps         %xmm3,%xmm9
+  DB  68,15,40,209                        ; movaps        %xmm1,%xmm10
+  DB  68,15,40,225                        ; movaps        %xmm1,%xmm12
+  DB  68,15,89,211                        ; mulps         %xmm3,%xmm10
+  DB  68,15,40,5,95,112,1,0               ; movaps        0x1705f(%rip),%xmm8        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,40,216                        ; movaps        %xmm8,%xmm11
+  DB  15,40,207                           ; movaps        %xmm7,%xmm1
+  DB  68,15,92,217                        ; subps         %xmm1,%xmm11
+  DB  65,15,89,195                        ; mulps         %xmm11,%xmm0
+  DB  15,41,68,36,64                      ; movaps        %xmm0,0x40(%rsp)
+  DB  69,15,89,227                        ; mulps         %xmm11,%xmm12
+  DB  68,15,41,100,36,48                  ; movaps        %xmm12,0x30(%rsp)
+  DB  68,15,89,218                        ; mulps         %xmm2,%xmm11
+  DB  15,89,211                           ; mulps         %xmm3,%xmm2
+  DB  68,15,40,229                        ; movaps        %xmm5,%xmm12
+  DB  68,15,40,237                        ; movaps        %xmm5,%xmm13
+  DB  15,40,197                           ; movaps        %xmm5,%xmm0
+  DB  15,41,68,36,32                      ; movaps        %xmm0,0x20(%rsp)
+  DB  15,40,254                           ; movaps        %xmm6,%xmm7
+  DB  68,15,95,239                        ; maxps         %xmm7,%xmm13
+  DB  15,40,236                           ; movaps        %xmm4,%xmm5
+  DB  68,15,40,245                        ; movaps        %xmm5,%xmm14
+  DB  68,15,40,253                        ; movaps        %xmm5,%xmm15
+  DB  69,15,95,253                        ; maxps         %xmm13,%xmm15
+  DB  68,15,93,231                        ; minps         %xmm7,%xmm12
+  DB  69,15,93,244                        ; minps         %xmm12,%xmm14
+  DB  69,15,92,254                        ; subps         %xmm14,%xmm15
+  DB  69,15,40,226                        ; movaps        %xmm10,%xmm12
+  DB  68,15,93,226                        ; minps         %xmm2,%xmm12
+  DB  69,15,40,233                        ; movaps        %xmm9,%xmm13
+  DB  69,15,93,236                        ; minps         %xmm12,%xmm13
+  DB  69,15,40,226                        ; movaps        %xmm10,%xmm12
+  DB  68,15,95,226                        ; maxps         %xmm2,%xmm12
+  DB  69,15,40,241                        ; movaps        %xmm9,%xmm14
+  DB  69,15,95,244                        ; maxps         %xmm12,%xmm14
+  DB  69,15,92,245                        ; subps         %xmm13,%xmm14
+  DB  69,15,92,205                        ; subps         %xmm13,%xmm9
+  DB  69,15,92,213                        ; subps         %xmm13,%xmm10
+  DB  65,15,92,213                        ; subps         %xmm13,%xmm2
+  DB  15,40,240                           ; movaps        %xmm0,%xmm6
+  DB  68,15,89,251                        ; mulps         %xmm3,%xmm15
+  DB  69,15,89,207                        ; mulps         %xmm15,%xmm9
+  DB  69,15,89,215                        ; mulps         %xmm15,%xmm10
+  DB  65,15,89,215                        ; mulps         %xmm15,%xmm2
+  DB  69,15,87,228                        ; xorps         %xmm12,%xmm12
+  DB  69,15,94,206                        ; divps         %xmm14,%xmm9
+  DB  69,15,94,214                        ; divps         %xmm14,%xmm10
+  DB  65,15,94,214                        ; divps         %xmm14,%xmm2
+  DB  69,15,194,244,4                     ; cmpneqps      %xmm12,%xmm14
+  DB  69,15,84,206                        ; andps         %xmm14,%xmm9
+  DB  69,15,84,214                        ; andps         %xmm14,%xmm10
+  DB  65,15,84,214                        ; andps         %xmm14,%xmm2
+  DB  68,15,40,61,28,112,1,0              ; movaps        0x1701c(%rip),%xmm15        # 35530 <_sk_srcover_bgra_8888_sse2_lowp+0xd18>
+  DB  65,15,89,231                        ; mulps         %xmm15,%xmm4
+  DB  15,40,5,33,112,1,0                  ; movaps        0x17021(%rip),%xmm0        # 35540 <_sk_srcover_bgra_8888_sse2_lowp+0xd28>
+  DB  15,89,240                           ; mulps         %xmm0,%xmm6
+  DB  15,88,244                           ; addps         %xmm4,%xmm6
+  DB  68,15,40,53,35,112,1,0              ; movaps        0x17023(%rip),%xmm14        # 35550 <_sk_srcover_bgra_8888_sse2_lowp+0xd38>
+  DB  68,15,40,239                        ; movaps        %xmm7,%xmm13
+  DB  69,15,89,238                        ; mulps         %xmm14,%xmm13
+  DB  68,15,88,238                        ; addps         %xmm6,%xmm13
+  DB  65,15,40,225                        ; movaps        %xmm9,%xmm4
+  DB  65,15,89,231                        ; mulps         %xmm15,%xmm4
+  DB  65,15,40,242                        ; movaps        %xmm10,%xmm6
+  DB  15,89,240                           ; mulps         %xmm0,%xmm6
+  DB  15,88,244                           ; addps         %xmm4,%xmm6
+  DB  15,40,226                           ; movaps        %xmm2,%xmm4
+  DB  65,15,89,230                        ; mulps         %xmm14,%xmm4
+  DB  15,88,230                           ; addps         %xmm6,%xmm4
+  DB  68,15,89,235                        ; mulps         %xmm3,%xmm13
+  DB  68,15,92,236                        ; subps         %xmm4,%xmm13
+  DB  69,15,88,205                        ; addps         %xmm13,%xmm9
+  DB  69,15,88,213                        ; addps         %xmm13,%xmm10
+  DB  68,15,88,234                        ; addps         %xmm2,%xmm13
+  DB  65,15,40,210                        ; movaps        %xmm10,%xmm2
+  DB  65,15,93,213                        ; minps         %xmm13,%xmm2
+  DB  65,15,40,241                        ; movaps        %xmm9,%xmm6
+  DB  15,93,242                           ; minps         %xmm2,%xmm6
+  DB  65,15,40,210                        ; movaps        %xmm10,%xmm2
+  DB  65,15,95,213                        ; maxps         %xmm13,%xmm2
+  DB  65,15,40,225                        ; movaps        %xmm9,%xmm4
+  DB  15,95,226                           ; maxps         %xmm2,%xmm4
+  DB  69,15,89,249                        ; mulps         %xmm9,%xmm15
+  DB  65,15,89,194                        ; mulps         %xmm10,%xmm0
+  DB  65,15,88,199                        ; addps         %xmm15,%xmm0
+  DB  69,15,89,245                        ; mulps         %xmm13,%xmm14
+  DB  68,15,88,240                        ; addps         %xmm0,%xmm14
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  15,194,214,2                        ; cmpleps       %xmm6,%xmm2
+  DB  69,15,40,254                        ; movaps        %xmm14,%xmm15
+  DB  68,15,92,254                        ; subps         %xmm6,%xmm15
+  DB  65,15,40,241                        ; movaps        %xmm9,%xmm6
+  DB  65,15,92,246                        ; subps         %xmm14,%xmm6
+  DB  65,15,89,246                        ; mulps         %xmm14,%xmm6
+  DB  65,15,94,247                        ; divps         %xmm15,%xmm6
+  DB  65,15,88,246                        ; addps         %xmm14,%xmm6
+  DB  15,40,194                           ; movaps        %xmm2,%xmm0
+  DB  15,85,198                           ; andnps        %xmm6,%xmm0
+  DB  68,15,84,202                        ; andps         %xmm2,%xmm9
+  DB  68,15,86,200                        ; orps          %xmm0,%xmm9
+  DB  15,40,195                           ; movaps        %xmm3,%xmm0
+  DB  15,41,76,36,16                      ; movaps        %xmm1,0x10(%rsp)
+  DB  15,89,193                           ; mulps         %xmm1,%xmm0
+  DB  68,15,92,195                        ; subps         %xmm3,%xmm8
+  DB  15,88,217                           ; addps         %xmm1,%xmm3
+  DB  15,92,216                           ; subps         %xmm0,%xmm3
+  DB  15,41,28,36                         ; movaps        %xmm3,(%rsp)
+  DB  15,40,240                           ; movaps        %xmm0,%xmm6
+  DB  15,194,196,1                        ; cmpltps       %xmm4,%xmm0
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  65,15,85,201                        ; andnps        %xmm9,%xmm1
+  DB  69,15,92,206                        ; subps         %xmm14,%xmm9
+  DB  65,15,92,246                        ; subps         %xmm14,%xmm6
+  DB  68,15,89,206                        ; mulps         %xmm6,%xmm9
+  DB  65,15,92,230                        ; subps         %xmm14,%xmm4
+  DB  68,15,94,204                        ; divps         %xmm4,%xmm9
+  DB  69,15,88,206                        ; addps         %xmm14,%xmm9
+  DB  68,15,84,200                        ; andps         %xmm0,%xmm9
+  DB  68,15,86,201                        ; orps          %xmm1,%xmm9
+  DB  65,15,40,202                        ; movaps        %xmm10,%xmm1
+  DB  65,15,92,206                        ; subps         %xmm14,%xmm1
+  DB  65,15,89,206                        ; mulps         %xmm14,%xmm1
+  DB  65,15,94,207                        ; divps         %xmm15,%xmm1
+  DB  65,15,88,206                        ; addps         %xmm14,%xmm1
+  DB  15,40,218                           ; movaps        %xmm2,%xmm3
+  DB  15,85,217                           ; andnps        %xmm1,%xmm3
+  DB  68,15,84,210                        ; andps         %xmm2,%xmm10
+  DB  68,15,86,211                        ; orps          %xmm3,%xmm10
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  65,15,85,202                        ; andnps        %xmm10,%xmm1
+  DB  69,15,92,214                        ; subps         %xmm14,%xmm10
+  DB  68,15,89,214                        ; mulps         %xmm6,%xmm10
+  DB  68,15,94,212                        ; divps         %xmm4,%xmm10
+  DB  69,15,88,214                        ; addps         %xmm14,%xmm10
+  DB  68,15,84,208                        ; andps         %xmm0,%xmm10
+  DB  68,15,86,209                        ; orps          %xmm1,%xmm10
+  DB  65,15,40,205                        ; movaps        %xmm13,%xmm1
+  DB  65,15,92,206                        ; subps         %xmm14,%xmm1
+  DB  65,15,89,206                        ; mulps         %xmm14,%xmm1
+  DB  65,15,94,207                        ; divps         %xmm15,%xmm1
+  DB  65,15,88,206                        ; addps         %xmm14,%xmm1
+  DB  68,15,84,234                        ; andps         %xmm2,%xmm13
+  DB  15,85,209                           ; andnps        %xmm1,%xmm2
+  DB  65,15,86,213                        ; orps          %xmm13,%xmm2
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  15,85,202                           ; andnps        %xmm2,%xmm1
+  DB  65,15,92,214                        ; subps         %xmm14,%xmm2
+  DB  15,89,214                           ; mulps         %xmm6,%xmm2
+  DB  15,94,212                           ; divps         %xmm4,%xmm2
+  DB  65,15,88,214                        ; addps         %xmm14,%xmm2
+  DB  15,84,208                           ; andps         %xmm0,%xmm2
+  DB  15,86,209                           ; orps          %xmm1,%xmm2
+  DB  69,15,95,204                        ; maxps         %xmm12,%xmm9
+  DB  69,15,95,212                        ; maxps         %xmm12,%xmm10
+  DB  65,15,95,212                        ; maxps         %xmm12,%xmm2
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  15,89,197                           ; mulps         %xmm5,%xmm0
+  DB  15,40,76,36,64                      ; movaps        0x40(%rsp),%xmm1
+  DB  15,88,200                           ; addps         %xmm0,%xmm1
+  DB  65,15,88,201                        ; addps         %xmm9,%xmm1
+  DB  15,40,193                           ; movaps        %xmm1,%xmm0
+  DB  65,15,40,216                        ; movaps        %xmm8,%xmm3
+  DB  15,40,116,36,32                     ; movaps        0x20(%rsp),%xmm6
+  DB  15,89,222                           ; mulps         %xmm6,%xmm3
+  DB  15,40,76,36,48                      ; movaps        0x30(%rsp),%xmm1
+  DB  15,88,203                           ; addps         %xmm3,%xmm1
+  DB  65,15,88,202                        ; addps         %xmm10,%xmm1
+  DB  68,15,89,199                        ; mulps         %xmm7,%xmm8
+  DB  69,15,88,195                        ; addps         %xmm11,%xmm8
+  DB  68,15,88,194                        ; addps         %xmm2,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,229                           ; movaps        %xmm5,%xmm4
+  DB  15,40,238                           ; movaps        %xmm6,%xmm5
+  DB  15,40,247                           ; movaps        %xmm7,%xmm6
+  DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
+  DB  15,40,28,36                         ; movaps        (%rsp),%xmm3
+  DB  15,40,124,36,16                     ; movaps        0x10(%rsp),%xmm7
+  DB  72,131,196,88                       ; add           $0x58,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_saturation_sse2
+_sk_saturation_sse2 LABEL PROC
+  DB  72,131,236,88                       ; sub           $0x58,%rsp
+  DB  68,15,40,231                        ; movaps        %xmm7,%xmm12
+  DB  68,15,40,198                        ; movaps        %xmm6,%xmm8
+  DB  15,40,251                           ; movaps        %xmm3,%xmm7
+  DB  68,15,40,216                        ; movaps        %xmm0,%xmm11
+  DB  68,15,40,215                        ; movaps        %xmm7,%xmm10
+  DB  68,15,89,212                        ; mulps         %xmm4,%xmm10
+  DB  15,40,244                           ; movaps        %xmm4,%xmm6
+  DB  15,41,116,36,16                     ; movaps        %xmm6,0x10(%rsp)
+  DB  68,15,40,207                        ; movaps        %xmm7,%xmm9
+  DB  68,15,89,205                        ; mulps         %xmm5,%xmm9
+  DB  15,41,108,36,32                     ; movaps        %xmm5,0x20(%rsp)
+  DB  15,40,199                           ; movaps        %xmm7,%xmm0
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  69,15,40,232                        ; movaps        %xmm8,%xmm13
+  DB  68,15,41,44,36                      ; movaps        %xmm13,(%rsp)
+  DB  15,40,225                           ; movaps        %xmm1,%xmm4
+  DB  15,41,100,36,48                     ; movaps        %xmm4,0x30(%rsp)
+  DB  15,40,220                           ; movaps        %xmm4,%xmm3
+  DB  15,41,84,36,64                      ; movaps        %xmm2,0x40(%rsp)
+  DB  15,95,218                           ; maxps         %xmm2,%xmm3
+  DB  65,15,40,203                        ; movaps        %xmm11,%xmm1
+  DB  15,95,203                           ; maxps         %xmm3,%xmm1
+  DB  15,40,220                           ; movaps        %xmm4,%xmm3
+  DB  15,93,218                           ; minps         %xmm2,%xmm3
+  DB  65,15,40,211                        ; movaps        %xmm11,%xmm2
+  DB  15,93,211                           ; minps         %xmm3,%xmm2
+  DB  15,92,202                           ; subps         %xmm2,%xmm1
+  DB  65,15,89,204                        ; mulps         %xmm12,%xmm1
+  DB  65,15,40,228                        ; movaps        %xmm12,%xmm4
+  DB  65,15,40,209                        ; movaps        %xmm9,%xmm2
+  DB  15,93,208                           ; minps         %xmm0,%xmm2
+  DB  69,15,40,194                        ; movaps        %xmm10,%xmm8
+  DB  68,15,93,194                        ; minps         %xmm2,%xmm8
+  DB  65,15,40,209                        ; movaps        %xmm9,%xmm2
+  DB  15,95,208                           ; maxps         %xmm0,%xmm2
+  DB  65,15,40,218                        ; movaps        %xmm10,%xmm3
+  DB  15,95,218                           ; maxps         %xmm2,%xmm3
+  DB  65,15,92,216                        ; subps         %xmm8,%xmm3
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  69,15,92,208                        ; subps         %xmm8,%xmm10
+  DB  68,15,89,209                        ; mulps         %xmm1,%xmm10
+  DB  68,15,94,211                        ; divps         %xmm3,%xmm10
+  DB  69,15,92,200                        ; subps         %xmm8,%xmm9
+  DB  68,15,89,201                        ; mulps         %xmm1,%xmm9
+  DB  68,15,94,203                        ; divps         %xmm3,%xmm9
+  DB  65,15,92,192                        ; subps         %xmm8,%xmm0
+  DB  15,89,193                           ; mulps         %xmm1,%xmm0
+  DB  15,94,195                           ; divps         %xmm3,%xmm0
+  DB  15,194,218,4                        ; cmpneqps      %xmm2,%xmm3
+  DB  68,15,84,211                        ; andps         %xmm3,%xmm10
+  DB  68,15,84,203                        ; andps         %xmm3,%xmm9
+  DB  15,84,195                           ; andps         %xmm3,%xmm0
+  DB  68,15,40,5,112,109,1,0              ; movaps        0x16d70(%rip),%xmm8        # 35530 <_sk_srcover_bgra_8888_sse2_lowp+0xd18>
+  DB  15,40,214                           ; movaps        %xmm6,%xmm2
+  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
+  DB  15,40,13,114,109,1,0                ; movaps        0x16d72(%rip),%xmm1        # 35540 <_sk_srcover_bgra_8888_sse2_lowp+0xd28>
+  DB  15,40,221                           ; movaps        %xmm5,%xmm3
+  DB  15,89,217                           ; mulps         %xmm1,%xmm3
+  DB  15,88,218                           ; addps         %xmm2,%xmm3
+  DB  68,15,40,37,113,109,1,0             ; movaps        0x16d71(%rip),%xmm12        # 35550 <_sk_srcover_bgra_8888_sse2_lowp+0xd38>
+  DB  69,15,89,236                        ; mulps         %xmm12,%xmm13
+  DB  68,15,88,235                        ; addps         %xmm3,%xmm13
+  DB  65,15,40,210                        ; movaps        %xmm10,%xmm2
+  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
+  DB  65,15,40,217                        ; movaps        %xmm9,%xmm3
+  DB  15,89,217                           ; mulps         %xmm1,%xmm3
+  DB  15,88,218                           ; addps         %xmm2,%xmm3
+  DB  15,40,208                           ; movaps        %xmm0,%xmm2
+  DB  65,15,89,212                        ; mulps         %xmm12,%xmm2
+  DB  15,88,211                           ; addps         %xmm3,%xmm2
+  DB  68,15,89,239                        ; mulps         %xmm7,%xmm13
+  DB  68,15,92,234                        ; subps         %xmm2,%xmm13
+  DB  69,15,88,213                        ; addps         %xmm13,%xmm10
+  DB  69,15,88,205                        ; addps         %xmm13,%xmm9
+  DB  68,15,88,232                        ; addps         %xmm0,%xmm13
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  65,15,93,197                        ; minps         %xmm13,%xmm0
+  DB  65,15,40,218                        ; movaps        %xmm10,%xmm3
+  DB  15,93,216                           ; minps         %xmm0,%xmm3
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  65,15,95,197                        ; maxps         %xmm13,%xmm0
+  DB  69,15,40,242                        ; movaps        %xmm10,%xmm14
+  DB  68,15,95,240                        ; maxps         %xmm0,%xmm14
+  DB  69,15,89,194                        ; mulps         %xmm10,%xmm8
+  DB  65,15,89,201                        ; mulps         %xmm9,%xmm1
+  DB  65,15,88,200                        ; addps         %xmm8,%xmm1
+  DB  69,15,89,229                        ; mulps         %xmm13,%xmm12
+  DB  68,15,88,225                        ; addps         %xmm1,%xmm12
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  15,194,211,2                        ; cmpleps       %xmm3,%xmm2
+  DB  65,15,40,244                        ; movaps        %xmm12,%xmm6
+  DB  15,92,243                           ; subps         %xmm3,%xmm6
+  DB  65,15,40,194                        ; movaps        %xmm10,%xmm0
+  DB  65,15,92,196                        ; subps         %xmm12,%xmm0
+  DB  65,15,89,196                        ; mulps         %xmm12,%xmm0
+  DB  15,94,198                           ; divps         %xmm6,%xmm0
+  DB  65,15,88,196                        ; addps         %xmm12,%xmm0
+  DB  15,40,202                           ; movaps        %xmm2,%xmm1
+  DB  15,85,200                           ; andnps        %xmm0,%xmm1
+  DB  68,15,84,210                        ; andps         %xmm2,%xmm10
+  DB  68,15,86,209                        ; orps          %xmm1,%xmm10
+  DB  15,40,223                           ; movaps        %xmm7,%xmm3
+  DB  15,40,236                           ; movaps        %xmm4,%xmm5
+  DB  15,89,221                           ; mulps         %xmm5,%xmm3
+  DB  68,15,40,5,38,108,1,0               ; movaps        0x16c26(%rip),%xmm8        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  65,15,40,224                        ; movaps        %xmm8,%xmm4
+  DB  68,15,92,199                        ; subps         %xmm7,%xmm8
+  DB  15,88,253                           ; addps         %xmm5,%xmm7
+  DB  15,92,251                           ; subps         %xmm3,%xmm7
+  DB  15,40,203                           ; movaps        %xmm3,%xmm1
+  DB  65,15,194,222,1                     ; cmpltps       %xmm14,%xmm3
+  DB  15,40,195                           ; movaps        %xmm3,%xmm0
+  DB  65,15,85,194                        ; andnps        %xmm10,%xmm0
+  DB  69,15,92,212                        ; subps         %xmm12,%xmm10
+  DB  65,15,92,204                        ; subps         %xmm12,%xmm1
+  DB  68,15,89,209                        ; mulps         %xmm1,%xmm10
+  DB  69,15,92,244                        ; subps         %xmm12,%xmm14
+  DB  69,15,94,214                        ; divps         %xmm14,%xmm10
+  DB  69,15,88,212                        ; addps         %xmm12,%xmm10
+  DB  68,15,84,211                        ; andps         %xmm3,%xmm10
+  DB  68,15,86,208                        ; orps          %xmm0,%xmm10
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  65,15,92,196                        ; subps         %xmm12,%xmm0
+  DB  65,15,89,196                        ; mulps         %xmm12,%xmm0
+  DB  15,94,198                           ; divps         %xmm6,%xmm0
+  DB  65,15,88,196                        ; addps         %xmm12,%xmm0
+  DB  68,15,40,250                        ; movaps        %xmm2,%xmm15
+  DB  68,15,85,248                        ; andnps        %xmm0,%xmm15
+  DB  68,15,84,202                        ; andps         %xmm2,%xmm9
+  DB  69,15,86,207                        ; orps          %xmm15,%xmm9
+  DB  15,40,195                           ; movaps        %xmm3,%xmm0
+  DB  65,15,85,193                        ; andnps        %xmm9,%xmm0
+  DB  69,15,92,204                        ; subps         %xmm12,%xmm9
+  DB  68,15,89,201                        ; mulps         %xmm1,%xmm9
+  DB  69,15,94,206                        ; divps         %xmm14,%xmm9
+  DB  69,15,88,204                        ; addps         %xmm12,%xmm9
+  DB  68,15,84,203                        ; andps         %xmm3,%xmm9
+  DB  68,15,86,200                        ; orps          %xmm0,%xmm9
+  DB  65,15,40,197                        ; movaps        %xmm13,%xmm0
+  DB  65,15,92,196                        ; subps         %xmm12,%xmm0
+  DB  65,15,89,196                        ; mulps         %xmm12,%xmm0
+  DB  15,94,198                           ; divps         %xmm6,%xmm0
+  DB  65,15,88,196                        ; addps         %xmm12,%xmm0
+  DB  68,15,84,234                        ; andps         %xmm2,%xmm13
+  DB  15,85,208                           ; andnps        %xmm0,%xmm2
+  DB  65,15,86,213                        ; orps          %xmm13,%xmm2
+  DB  15,40,195                           ; movaps        %xmm3,%xmm0
+  DB  15,85,194                           ; andnps        %xmm2,%xmm0
+  DB  65,15,92,212                        ; subps         %xmm12,%xmm2
+  DB  15,89,209                           ; mulps         %xmm1,%xmm2
+  DB  65,15,94,214                        ; divps         %xmm14,%xmm2
+  DB  65,15,88,212                        ; addps         %xmm12,%xmm2
+  DB  15,84,211                           ; andps         %xmm3,%xmm2
+  DB  15,86,208                           ; orps          %xmm0,%xmm2
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  68,15,95,208                        ; maxps         %xmm0,%xmm10
+  DB  68,15,95,200                        ; maxps         %xmm0,%xmm9
+  DB  15,95,208                           ; maxps         %xmm0,%xmm2
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  15,40,92,36,16                      ; movaps        0x10(%rsp),%xmm3
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  68,15,40,229                        ; movaps        %xmm5,%xmm12
+  DB  65,15,92,228                        ; subps         %xmm12,%xmm4
+  DB  68,15,89,220                        ; mulps         %xmm4,%xmm11
+  DB  68,15,88,216                        ; addps         %xmm0,%xmm11
+  DB  69,15,88,218                        ; addps         %xmm10,%xmm11
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  15,40,108,36,32                     ; movaps        0x20(%rsp),%xmm5
+  DB  15,89,197                           ; mulps         %xmm5,%xmm0
+  DB  15,40,76,36,48                      ; movaps        0x30(%rsp),%xmm1
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  15,88,200                           ; addps         %xmm0,%xmm1
+  DB  65,15,88,201                        ; addps         %xmm9,%xmm1
+  DB  15,89,100,36,64                     ; mulps         0x40(%rsp),%xmm4
+  DB  15,40,4,36                          ; movaps        (%rsp),%xmm0
+  DB  68,15,89,192                        ; mulps         %xmm0,%xmm8
+  DB  68,15,88,196                        ; addps         %xmm4,%xmm8
+  DB  68,15,88,194                        ; addps         %xmm2,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,227                           ; movaps        %xmm3,%xmm4
+  DB  15,40,240                           ; movaps        %xmm0,%xmm6
+  DB  65,15,40,195                        ; movaps        %xmm11,%xmm0
+  DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
+  DB  15,40,223                           ; movaps        %xmm7,%xmm3
+  DB  65,15,40,252                        ; movaps        %xmm12,%xmm7
+  DB  72,131,196,88                       ; add           $0x58,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_color_sse2
+_sk_color_sse2 LABEL PROC
+  DB  72,131,236,72                       ; sub           $0x48,%rsp
+  DB  68,15,40,199                        ; movaps        %xmm7,%xmm8
+  DB  68,15,40,230                        ; movaps        %xmm6,%xmm12
+  DB  68,15,41,100,36,32                  ; movaps        %xmm12,0x20(%rsp)
+  DB  68,15,40,221                        ; movaps        %xmm5,%xmm11
+  DB  68,15,41,92,36,48                   ; movaps        %xmm11,0x30(%rsp)
+  DB  15,40,244                           ; movaps        %xmm4,%xmm6
+  DB  15,41,20,36                         ; movaps        %xmm2,(%rsp)
+  DB  15,40,233                           ; movaps        %xmm1,%xmm5
+  DB  15,40,248                           ; movaps        %xmm0,%xmm7
+  DB  68,15,40,207                        ; movaps        %xmm7,%xmm9
+  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
+  DB  68,15,40,213                        ; movaps        %xmm5,%xmm10
+  DB  69,15,89,208                        ; mulps         %xmm8,%xmm10
+  DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
+  DB  68,15,40,45,46,107,1,0              ; movaps        0x16b2e(%rip),%xmm13        # 35530 <_sk_srcover_bgra_8888_sse2_lowp+0xd18>
+  DB  68,15,40,198                        ; movaps        %xmm6,%xmm8
+  DB  69,15,89,197                        ; mulps         %xmm13,%xmm8
+  DB  68,15,40,53,46,107,1,0              ; movaps        0x16b2e(%rip),%xmm14        # 35540 <_sk_srcover_bgra_8888_sse2_lowp+0xd28>
+  DB  65,15,40,195                        ; movaps        %xmm11,%xmm0
+  DB  65,15,89,198                        ; mulps         %xmm14,%xmm0
+  DB  65,15,88,192                        ; addps         %xmm8,%xmm0
+  DB  68,15,40,29,42,107,1,0              ; movaps        0x16b2a(%rip),%xmm11        # 35550 <_sk_srcover_bgra_8888_sse2_lowp+0xd38>
+  DB  69,15,89,227                        ; mulps         %xmm11,%xmm12
+  DB  68,15,88,224                        ; addps         %xmm0,%xmm12
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  65,15,89,197                        ; mulps         %xmm13,%xmm0
+  DB  69,15,40,250                        ; movaps        %xmm10,%xmm15
+  DB  69,15,89,254                        ; mulps         %xmm14,%xmm15
+  DB  68,15,88,248                        ; addps         %xmm0,%xmm15
+  DB  68,15,40,5,102,106,1,0              ; movaps        0x16a66(%rip),%xmm8        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  65,15,40,224                        ; movaps        %xmm8,%xmm4
+  DB  15,92,226                           ; subps         %xmm2,%xmm4
+  DB  15,89,252                           ; mulps         %xmm4,%xmm7
+  DB  15,89,236                           ; mulps         %xmm4,%xmm5
+  DB  15,40,12,36                         ; movaps        (%rsp),%xmm1
+  DB  15,89,225                           ; mulps         %xmm1,%xmm4
+  DB  15,89,202                           ; mulps         %xmm2,%xmm1
+  DB  15,40,193                           ; movaps        %xmm1,%xmm0
+  DB  65,15,89,195                        ; mulps         %xmm11,%xmm0
+  DB  65,15,88,199                        ; addps         %xmm15,%xmm0
+  DB  68,15,89,227                        ; mulps         %xmm3,%xmm12
+  DB  68,15,92,224                        ; subps         %xmm0,%xmm12
+  DB  69,15,88,204                        ; addps         %xmm12,%xmm9
+  DB  69,15,88,212                        ; addps         %xmm12,%xmm10
+  DB  68,15,88,225                        ; addps         %xmm1,%xmm12
+  DB  65,15,40,194                        ; movaps        %xmm10,%xmm0
+  DB  65,15,93,196                        ; minps         %xmm12,%xmm0
+  DB  65,15,40,201                        ; movaps        %xmm9,%xmm1
+  DB  15,93,200                           ; minps         %xmm0,%xmm1
+  DB  65,15,40,194                        ; movaps        %xmm10,%xmm0
+  DB  65,15,95,196                        ; maxps         %xmm12,%xmm0
+  DB  69,15,40,249                        ; movaps        %xmm9,%xmm15
+  DB  68,15,95,248                        ; maxps         %xmm0,%xmm15
+  DB  69,15,89,233                        ; mulps         %xmm9,%xmm13
+  DB  69,15,89,242                        ; mulps         %xmm10,%xmm14
+  DB  69,15,88,245                        ; addps         %xmm13,%xmm14
+  DB  69,15,89,220                        ; mulps         %xmm12,%xmm11
+  DB  69,15,88,222                        ; addps         %xmm14,%xmm11
+  DB  69,15,87,237                        ; xorps         %xmm13,%xmm13
+  DB  68,15,194,233,2                     ; cmpleps       %xmm1,%xmm13
+  DB  69,15,40,243                        ; movaps        %xmm11,%xmm14
+  DB  68,15,92,241                        ; subps         %xmm1,%xmm14
+  DB  65,15,40,201                        ; movaps        %xmm9,%xmm1
+  DB  65,15,92,203                        ; subps         %xmm11,%xmm1
+  DB  65,15,89,203                        ; mulps         %xmm11,%xmm1
+  DB  65,15,94,206                        ; divps         %xmm14,%xmm1
+  DB  65,15,88,203                        ; addps         %xmm11,%xmm1
+  DB  65,15,40,197                        ; movaps        %xmm13,%xmm0
+  DB  15,85,193                           ; andnps        %xmm1,%xmm0
+  DB  69,15,84,205                        ; andps         %xmm13,%xmm9
+  DB  68,15,86,200                        ; orps          %xmm0,%xmm9
+  DB  15,40,195                           ; movaps        %xmm3,%xmm0
+  DB  15,41,84,36,16                      ; movaps        %xmm2,0x10(%rsp)
+  DB  15,89,194                           ; mulps         %xmm2,%xmm0
+  DB  68,15,92,195                        ; subps         %xmm3,%xmm8
+  DB  15,88,218                           ; addps         %xmm2,%xmm3
+  DB  15,92,216                           ; subps         %xmm0,%xmm3
+  DB  15,41,28,36                         ; movaps        %xmm3,(%rsp)
+  DB  15,40,216                           ; movaps        %xmm0,%xmm3
+  DB  65,15,194,199,1                     ; cmpltps       %xmm15,%xmm0
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  65,15,85,201                        ; andnps        %xmm9,%xmm1
+  DB  69,15,92,203                        ; subps         %xmm11,%xmm9
+  DB  65,15,92,219                        ; subps         %xmm11,%xmm3
+  DB  68,15,89,203                        ; mulps         %xmm3,%xmm9
+  DB  69,15,92,251                        ; subps         %xmm11,%xmm15
+  DB  69,15,94,207                        ; divps         %xmm15,%xmm9
+  DB  69,15,88,203                        ; addps         %xmm11,%xmm9
+  DB  68,15,84,200                        ; andps         %xmm0,%xmm9
+  DB  68,15,86,201                        ; orps          %xmm1,%xmm9
+  DB  65,15,40,202                        ; movaps        %xmm10,%xmm1
+  DB  65,15,92,203                        ; subps         %xmm11,%xmm1
+  DB  65,15,89,203                        ; mulps         %xmm11,%xmm1
+  DB  65,15,94,206                        ; divps         %xmm14,%xmm1
+  DB  65,15,88,203                        ; addps         %xmm11,%xmm1
+  DB  65,15,40,213                        ; movaps        %xmm13,%xmm2
+  DB  15,85,209                           ; andnps        %xmm1,%xmm2
+  DB  69,15,84,213                        ; andps         %xmm13,%xmm10
+  DB  68,15,86,210                        ; orps          %xmm2,%xmm10
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  65,15,85,202                        ; andnps        %xmm10,%xmm1
+  DB  69,15,92,211                        ; subps         %xmm11,%xmm10
+  DB  68,15,89,211                        ; mulps         %xmm3,%xmm10
+  DB  69,15,94,215                        ; divps         %xmm15,%xmm10
+  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
+  DB  68,15,84,208                        ; andps         %xmm0,%xmm10
+  DB  68,15,86,209                        ; orps          %xmm1,%xmm10
+  DB  65,15,40,204                        ; movaps        %xmm12,%xmm1
+  DB  65,15,92,203                        ; subps         %xmm11,%xmm1
+  DB  65,15,89,203                        ; mulps         %xmm11,%xmm1
+  DB  65,15,94,206                        ; divps         %xmm14,%xmm1
+  DB  65,15,88,203                        ; addps         %xmm11,%xmm1
+  DB  69,15,84,229                        ; andps         %xmm13,%xmm12
+  DB  68,15,85,233                        ; andnps        %xmm1,%xmm13
+  DB  69,15,86,236                        ; orps          %xmm12,%xmm13
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  65,15,85,205                        ; andnps        %xmm13,%xmm1
+  DB  69,15,92,235                        ; subps         %xmm11,%xmm13
+  DB  68,15,89,235                        ; mulps         %xmm3,%xmm13
+  DB  69,15,94,239                        ; divps         %xmm15,%xmm13
+  DB  69,15,88,235                        ; addps         %xmm11,%xmm13
+  DB  68,15,84,232                        ; andps         %xmm0,%xmm13
+  DB  68,15,86,233                        ; orps          %xmm1,%xmm13
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  68,15,95,200                        ; maxps         %xmm0,%xmm9
+  DB  68,15,95,208                        ; maxps         %xmm0,%xmm10
+  DB  68,15,95,232                        ; maxps         %xmm0,%xmm13
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  15,89,198                           ; mulps         %xmm6,%xmm0
+  DB  15,88,248                           ; addps         %xmm0,%xmm7
+  DB  65,15,88,249                        ; addps         %xmm9,%xmm7
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  15,40,84,36,48                      ; movaps        0x30(%rsp),%xmm2
+  DB  15,89,194                           ; mulps         %xmm2,%xmm0
+  DB  15,88,232                           ; addps         %xmm0,%xmm5
+  DB  65,15,88,234                        ; addps         %xmm10,%xmm5
+  DB  15,40,205                           ; movaps        %xmm5,%xmm1
+  DB  15,40,68,36,32                      ; movaps        0x20(%rsp),%xmm0
+  DB  68,15,89,192                        ; mulps         %xmm0,%xmm8
+  DB  68,15,88,196                        ; addps         %xmm4,%xmm8
+  DB  69,15,88,197                        ; addps         %xmm13,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,230                           ; movaps        %xmm6,%xmm4
+  DB  15,40,234                           ; movaps        %xmm2,%xmm5
+  DB  15,40,240                           ; movaps        %xmm0,%xmm6
+  DB  15,40,199                           ; movaps        %xmm7,%xmm0
+  DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
+  DB  15,40,28,36                         ; movaps        (%rsp),%xmm3
+  DB  15,40,124,36,16                     ; movaps        0x10(%rsp),%xmm7
+  DB  72,131,196,72                       ; add           $0x48,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_luminosity_sse2
+_sk_luminosity_sse2 LABEL PROC
+  DB  72,131,236,88                       ; sub           $0x58,%rsp
+  DB  68,15,40,215                        ; movaps        %xmm7,%xmm10
+  DB  15,41,116,36,32                     ; movaps        %xmm6,0x20(%rsp)
+  DB  15,40,245                           ; movaps        %xmm5,%xmm6
+  DB  15,41,116,36,64                     ; movaps        %xmm6,0x40(%rsp)
+  DB  15,41,100,36,48                     ; movaps        %xmm4,0x30(%rsp)
+  DB  15,40,235                           ; movaps        %xmm3,%xmm5
+  DB  15,40,248                           ; movaps        %xmm0,%xmm7
+  DB  68,15,40,205                        ; movaps        %xmm5,%xmm9
+  DB  68,15,89,204                        ; mulps         %xmm4,%xmm9
+  DB  15,89,222                           ; mulps         %xmm6,%xmm3
+  DB  68,15,40,37,232,104,1,0             ; movaps        0x168e8(%rip),%xmm12        # 35530 <_sk_srcover_bgra_8888_sse2_lowp+0xd18>
+  DB  68,15,40,199                        ; movaps        %xmm7,%xmm8
+  DB  69,15,89,196                        ; mulps         %xmm12,%xmm8
+  DB  68,15,40,45,232,104,1,0             ; movaps        0x168e8(%rip),%xmm13        # 35540 <_sk_srcover_bgra_8888_sse2_lowp+0xd28>
+  DB  68,15,40,241                        ; movaps        %xmm1,%xmm14
+  DB  69,15,89,245                        ; mulps         %xmm13,%xmm14
+  DB  69,15,88,240                        ; addps         %xmm8,%xmm14
+  DB  68,15,40,29,228,104,1,0             ; movaps        0x168e4(%rip),%xmm11        # 35550 <_sk_srcover_bgra_8888_sse2_lowp+0xd38>
+  DB  68,15,40,5,60,104,1,0               ; movaps        0x1683c(%rip),%xmm8        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,40,248                        ; movaps        %xmm8,%xmm15
+  DB  65,15,40,194                        ; movaps        %xmm10,%xmm0
+  DB  68,15,92,248                        ; subps         %xmm0,%xmm15
+  DB  65,15,89,255                        ; mulps         %xmm15,%xmm7
+  DB  65,15,89,207                        ; mulps         %xmm15,%xmm1
+  DB  15,41,76,36,16                      ; movaps        %xmm1,0x10(%rsp)
+  DB  68,15,89,250                        ; mulps         %xmm2,%xmm15
+  DB  65,15,89,211                        ; mulps         %xmm11,%xmm2
+  DB  65,15,88,214                        ; addps         %xmm14,%xmm2
+  DB  69,15,40,241                        ; movaps        %xmm9,%xmm14
+  DB  69,15,89,244                        ; mulps         %xmm12,%xmm14
+  DB  68,15,40,211                        ; movaps        %xmm3,%xmm10
+  DB  69,15,89,213                        ; mulps         %xmm13,%xmm10
+  DB  69,15,88,214                        ; addps         %xmm14,%xmm10
+  DB  15,40,229                           ; movaps        %xmm5,%xmm4
+  DB  15,40,116,36,32                     ; movaps        0x20(%rsp),%xmm6
+  DB  15,89,230                           ; mulps         %xmm6,%xmm4
+  DB  68,15,40,244                        ; movaps        %xmm4,%xmm14
+  DB  69,15,89,243                        ; mulps         %xmm11,%xmm14
+  DB  69,15,88,242                        ; addps         %xmm10,%xmm14
+  DB  15,89,208                           ; mulps         %xmm0,%xmm2
+  DB  65,15,92,214                        ; subps         %xmm14,%xmm2
+  DB  68,15,88,202                        ; addps         %xmm2,%xmm9
+  DB  15,88,218                           ; addps         %xmm2,%xmm3
+  DB  15,88,212                           ; addps         %xmm4,%xmm2
+  DB  68,15,40,211                        ; movaps        %xmm3,%xmm10
+  DB  68,15,93,210                        ; minps         %xmm2,%xmm10
+  DB  65,15,40,225                        ; movaps        %xmm9,%xmm4
+  DB  65,15,93,226                        ; minps         %xmm10,%xmm4
+  DB  68,15,40,211                        ; movaps        %xmm3,%xmm10
+  DB  68,15,95,210                        ; maxps         %xmm2,%xmm10
+  DB  69,15,40,241                        ; movaps        %xmm9,%xmm14
+  DB  69,15,95,242                        ; maxps         %xmm10,%xmm14
+  DB  69,15,89,225                        ; mulps         %xmm9,%xmm12
+  DB  68,15,89,235                        ; mulps         %xmm3,%xmm13
+  DB  69,15,88,236                        ; addps         %xmm12,%xmm13
+  DB  68,15,89,218                        ; mulps         %xmm2,%xmm11
+  DB  69,15,88,221                        ; addps         %xmm13,%xmm11
+  DB  69,15,87,228                        ; xorps         %xmm12,%xmm12
+  DB  68,15,194,228,2                     ; cmpleps       %xmm4,%xmm12
+  DB  69,15,40,211                        ; movaps        %xmm11,%xmm10
+  DB  68,15,92,212                        ; subps         %xmm4,%xmm10
+  DB  65,15,40,225                        ; movaps        %xmm9,%xmm4
+  DB  65,15,92,227                        ; subps         %xmm11,%xmm4
+  DB  65,15,89,227                        ; mulps         %xmm11,%xmm4
+  DB  65,15,94,226                        ; divps         %xmm10,%xmm4
+  DB  65,15,88,227                        ; addps         %xmm11,%xmm4
+  DB  69,15,40,236                        ; movaps        %xmm12,%xmm13
+  DB  68,15,85,236                        ; andnps        %xmm4,%xmm13
+  DB  69,15,84,204                        ; andps         %xmm12,%xmm9
+  DB  69,15,86,205                        ; orps          %xmm13,%xmm9
+  DB  15,40,229                           ; movaps        %xmm5,%xmm4
+  DB  15,41,4,36                          ; movaps        %xmm0,(%rsp)
+  DB  15,89,224                           ; mulps         %xmm0,%xmm4
+  DB  68,15,92,197                        ; subps         %xmm5,%xmm8
+  DB  15,88,232                           ; addps         %xmm0,%xmm5
+  DB  15,92,236                           ; subps         %xmm4,%xmm5
+  DB  68,15,40,236                        ; movaps        %xmm4,%xmm13
+  DB  65,15,194,230,1                     ; cmpltps       %xmm14,%xmm4
+  DB  15,40,196                           ; movaps        %xmm4,%xmm0
+  DB  65,15,85,193                        ; andnps        %xmm9,%xmm0
+  DB  69,15,92,203                        ; subps         %xmm11,%xmm9
+  DB  69,15,92,235                        ; subps         %xmm11,%xmm13
+  DB  69,15,89,205                        ; mulps         %xmm13,%xmm9
+  DB  69,15,92,243                        ; subps         %xmm11,%xmm14
+  DB  69,15,94,206                        ; divps         %xmm14,%xmm9
+  DB  69,15,88,203                        ; addps         %xmm11,%xmm9
+  DB  68,15,84,204                        ; andps         %xmm4,%xmm9
+  DB  68,15,86,200                        ; orps          %xmm0,%xmm9
+  DB  15,40,195                           ; movaps        %xmm3,%xmm0
+  DB  65,15,92,195                        ; subps         %xmm11,%xmm0
+  DB  65,15,89,195                        ; mulps         %xmm11,%xmm0
+  DB  65,15,94,194                        ; divps         %xmm10,%xmm0
+  DB  65,15,88,195                        ; addps         %xmm11,%xmm0
+  DB  65,15,40,204                        ; movaps        %xmm12,%xmm1
+  DB  15,85,200                           ; andnps        %xmm0,%xmm1
+  DB  65,15,84,220                        ; andps         %xmm12,%xmm3
+  DB  15,86,217                           ; orps          %xmm1,%xmm3
+  DB  15,40,196                           ; movaps        %xmm4,%xmm0
+  DB  15,85,195                           ; andnps        %xmm3,%xmm0
+  DB  65,15,92,219                        ; subps         %xmm11,%xmm3
+  DB  65,15,89,221                        ; mulps         %xmm13,%xmm3
+  DB  65,15,94,222                        ; divps         %xmm14,%xmm3
+  DB  65,15,88,219                        ; addps         %xmm11,%xmm3
+  DB  15,84,220                           ; andps         %xmm4,%xmm3
+  DB  15,86,216                           ; orps          %xmm0,%xmm3
+  DB  15,40,194                           ; movaps        %xmm2,%xmm0
+  DB  65,15,92,195                        ; subps         %xmm11,%xmm0
+  DB  65,15,89,195                        ; mulps         %xmm11,%xmm0
+  DB  65,15,94,194                        ; divps         %xmm10,%xmm0
+  DB  65,15,88,195                        ; addps         %xmm11,%xmm0
+  DB  65,15,84,212                        ; andps         %xmm12,%xmm2
+  DB  68,15,85,224                        ; andnps        %xmm0,%xmm12
+  DB  68,15,86,226                        ; orps          %xmm2,%xmm12
+  DB  15,40,196                           ; movaps        %xmm4,%xmm0
+  DB  65,15,85,196                        ; andnps        %xmm12,%xmm0
+  DB  69,15,92,227                        ; subps         %xmm11,%xmm12
+  DB  69,15,89,229                        ; mulps         %xmm13,%xmm12
+  DB  69,15,94,230                        ; divps         %xmm14,%xmm12
+  DB  69,15,88,227                        ; addps         %xmm11,%xmm12
+  DB  68,15,84,228                        ; andps         %xmm4,%xmm12
+  DB  68,15,86,224                        ; orps          %xmm0,%xmm12
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  68,15,95,200                        ; maxps         %xmm0,%xmm9
+  DB  15,95,216                           ; maxps         %xmm0,%xmm3
+  DB  68,15,95,224                        ; maxps         %xmm0,%xmm12
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  15,40,100,36,48                     ; movaps        0x30(%rsp),%xmm4
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  15,88,248                           ; addps         %xmm0,%xmm7
+  DB  65,15,88,249                        ; addps         %xmm9,%xmm7
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  68,15,40,84,36,64                   ; movaps        0x40(%rsp),%xmm10
+  DB  65,15,89,194                        ; mulps         %xmm10,%xmm0
+  DB  15,40,76,36,16                      ; movaps        0x10(%rsp),%xmm1
+  DB  15,88,200                           ; addps         %xmm0,%xmm1
+  DB  15,88,203                           ; addps         %xmm3,%xmm1
+  DB  68,15,89,198                        ; mulps         %xmm6,%xmm8
+  DB  69,15,88,199                        ; addps         %xmm15,%xmm8
+  DB  69,15,88,196                        ; addps         %xmm12,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,199                           ; movaps        %xmm7,%xmm0
+  DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
+  DB  15,40,221                           ; movaps        %xmm5,%xmm3
+  DB  65,15,40,234                        ; movaps        %xmm10,%xmm5
+  DB  15,40,60,36                         ; movaps        (%rsp),%xmm7
+  DB  72,131,196,88                       ; add           $0x58,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_srcover_rgba_8888_sse2
+_sk_srcover_rgba_8888_sse2 LABEL PROC
+  DB  102,68,15,111,200                   ; movdqa        %xmm0,%xmm9
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,4,1,0,0                      ; jne           1ef80 <_sk_srcover_rgba_8888_sse2+0x123>
+  DB  243,65,15,111,4,144                 ; movdqu        (%r8,%rdx,4),%xmm0
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  102,15,111,53,211,102,1,0           ; movdqa        0x166d3(%rip),%xmm6        # 35560 <_sk_srcover_bgra_8888_sse2_lowp+0xd48>
+  DB  102,15,111,224                      ; movdqa        %xmm0,%xmm4
+  DB  102,15,219,230                      ; pand          %xmm6,%xmm4
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  102,15,111,232                      ; movdqa        %xmm0,%xmm5
+  DB  102,15,114,213,8                    ; psrld         $0x8,%xmm5
+  DB  102,15,219,238                      ; pand          %xmm6,%xmm5
+  DB  15,91,237                           ; cvtdq2ps      %xmm5,%xmm5
+  DB  102,15,111,248                      ; movdqa        %xmm0,%xmm7
+  DB  102,15,114,215,16                   ; psrld         $0x10,%xmm7
+  DB  102,15,219,254                      ; pand          %xmm6,%xmm7
+  DB  69,15,87,219                        ; xorps         %xmm11,%xmm11
+  DB  15,91,247                           ; cvtdq2ps      %xmm7,%xmm6
+  DB  102,15,114,208,24                   ; psrld         $0x18,%xmm0
+  DB  15,91,248                           ; cvtdq2ps      %xmm0,%xmm7
+  DB  68,15,40,5,228,101,1,0              ; movaps        0x165e4(%rip),%xmm8        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  68,15,92,195                        ; subps         %xmm3,%xmm8
+  DB  68,15,40,37,184,102,1,0             ; movaps        0x166b8(%rip),%xmm12        # 35590 <_sk_srcover_bgra_8888_sse2_lowp+0xd78>
+  DB  69,15,89,204                        ; mulps         %xmm12,%xmm9
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  65,15,88,193                        ; addps         %xmm9,%xmm0
+  DB  65,15,89,204                        ; mulps         %xmm12,%xmm1
+  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
+  DB  68,15,89,205                        ; mulps         %xmm5,%xmm9
+  DB  68,15,88,201                        ; addps         %xmm1,%xmm9
+  DB  65,15,89,212                        ; mulps         %xmm12,%xmm2
+  DB  69,15,40,208                        ; movaps        %xmm8,%xmm10
+  DB  68,15,89,214                        ; mulps         %xmm6,%xmm10
+  DB  68,15,88,210                        ; addps         %xmm2,%xmm10
+  DB  65,15,89,220                        ; mulps         %xmm12,%xmm3
+  DB  68,15,89,199                        ; mulps         %xmm7,%xmm8
+  DB  68,15,88,195                        ; addps         %xmm3,%xmm8
+  DB  15,87,201                           ; xorps         %xmm1,%xmm1
+  DB  15,95,200                           ; maxps         %xmm0,%xmm1
+  DB  65,15,93,204                        ; minps         %xmm12,%xmm1
+  DB  102,15,91,201                       ; cvtps2dq      %xmm1,%xmm1
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  65,15,95,209                        ; maxps         %xmm9,%xmm2
+  DB  65,15,93,212                        ; minps         %xmm12,%xmm2
+  DB  102,15,91,210                       ; cvtps2dq      %xmm2,%xmm2
+  DB  102,15,114,242,8                    ; pslld         $0x8,%xmm2
+  DB  102,15,235,209                      ; por           %xmm1,%xmm2
+  DB  102,15,87,201                       ; xorpd         %xmm1,%xmm1
+  DB  65,15,95,202                        ; maxps         %xmm10,%xmm1
+  DB  65,15,93,204                        ; minps         %xmm12,%xmm1
+  DB  102,15,91,217                       ; cvtps2dq      %xmm1,%xmm3
+  DB  102,15,114,243,16                   ; pslld         $0x10,%xmm3
+  DB  69,15,95,216                        ; maxps         %xmm8,%xmm11
+  DB  69,15,93,220                        ; minps         %xmm12,%xmm11
+  DB  102,65,15,91,203                    ; cvtps2dq      %xmm11,%xmm1
+  DB  102,15,114,241,24                   ; pslld         $0x18,%xmm1
+  DB  102,15,235,203                      ; por           %xmm3,%xmm1
+  DB  102,15,235,202                      ; por           %xmm2,%xmm1
+  DB  117,69                              ; jne           1efaf <_sk_srcover_rgba_8888_sse2+0x152>
+  DB  243,65,15,127,12,144                ; movdqu        %xmm1,(%r8,%rdx,4)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,201                        ; movaps        %xmm9,%xmm1
+  DB  65,15,40,210                        ; movaps        %xmm10,%xmm2
+  DB  65,15,40,216                        ; movaps        %xmm8,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,75                              ; je            1efd3 <_sk_srcover_rgba_8888_sse2+0x176>
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,20                              ; je            1efa4 <_sk_srcover_rgba_8888_sse2+0x147>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  15,133,234,254,255,255              ; jne           1ee82 <_sk_srcover_rgba_8888_sse2+0x25>
+  DB  102,65,15,110,68,144,8              ; movd          0x8(%r8,%rdx,4),%xmm0
+  DB  102,15,112,192,69                   ; pshufd        $0x45,%xmm0,%xmm0
+  DB  102,65,15,18,4,144                  ; movlpd        (%r8,%rdx,4),%xmm0
+  DB  233,211,254,255,255                 ; jmpq          1ee82 <_sk_srcover_rgba_8888_sse2+0x25>
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,39                              ; je            1efde <_sk_srcover_rgba_8888_sse2+0x181>
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,16                              ; je            1efcb <_sk_srcover_rgba_8888_sse2+0x16e>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,177                             ; jne           1ef70 <_sk_srcover_rgba_8888_sse2+0x113>
+  DB  102,15,112,209,78                   ; pshufd        $0x4e,%xmm1,%xmm2
+  DB  102,65,15,126,84,144,8              ; movd          %xmm2,0x8(%r8,%rdx,4)
+  DB  102,65,15,214,12,144                ; movq          %xmm1,(%r8,%rdx,4)
+  DB  235,157                             ; jmp           1ef70 <_sk_srcover_rgba_8888_sse2+0x113>
+  DB  102,65,15,110,4,144                 ; movd          (%r8,%rdx,4),%xmm0
+  DB  233,164,254,255,255                 ; jmpq          1ee82 <_sk_srcover_rgba_8888_sse2+0x25>
+  DB  102,65,15,126,12,144                ; movd          %xmm1,(%r8,%rdx,4)
+  DB  235,138                             ; jmp           1ef70 <_sk_srcover_rgba_8888_sse2+0x113>
+
+PUBLIC _sk_srcover_bgra_8888_sse2
+_sk_srcover_bgra_8888_sse2 LABEL PROC
+  DB  102,68,15,111,200                   ; movdqa        %xmm0,%xmm9
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,4,1,0,0                      ; jne           1f109 <_sk_srcover_bgra_8888_sse2+0x123>
+  DB  243,65,15,111,4,144                 ; movdqu        (%r8,%rdx,4),%xmm0
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  102,15,111,37,74,101,1,0            ; movdqa        0x1654a(%rip),%xmm4        # 35560 <_sk_srcover_bgra_8888_sse2_lowp+0xd48>
+  DB  102,15,111,232                      ; movdqa        %xmm0,%xmm5
+  DB  102,15,219,236                      ; pand          %xmm4,%xmm5
+  DB  15,91,245                           ; cvtdq2ps      %xmm5,%xmm6
+  DB  102,15,111,232                      ; movdqa        %xmm0,%xmm5
+  DB  102,15,114,213,8                    ; psrld         $0x8,%xmm5
+  DB  102,15,219,236                      ; pand          %xmm4,%xmm5
+  DB  15,91,237                           ; cvtdq2ps      %xmm5,%xmm5
+  DB  102,15,111,248                      ; movdqa        %xmm0,%xmm7
+  DB  102,15,114,215,16                   ; psrld         $0x10,%xmm7
+  DB  102,15,219,252                      ; pand          %xmm4,%xmm7
+  DB  69,15,87,219                        ; xorps         %xmm11,%xmm11
+  DB  15,91,231                           ; cvtdq2ps      %xmm7,%xmm4
+  DB  102,15,114,208,24                   ; psrld         $0x18,%xmm0
+  DB  15,91,248                           ; cvtdq2ps      %xmm0,%xmm7
+  DB  68,15,40,5,91,100,1,0               ; movaps        0x1645b(%rip),%xmm8        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  68,15,92,195                        ; subps         %xmm3,%xmm8
+  DB  68,15,40,37,47,101,1,0              ; movaps        0x1652f(%rip),%xmm12        # 35590 <_sk_srcover_bgra_8888_sse2_lowp+0xd78>
+  DB  69,15,89,204                        ; mulps         %xmm12,%xmm9
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  65,15,88,193                        ; addps         %xmm9,%xmm0
+  DB  65,15,89,204                        ; mulps         %xmm12,%xmm1
+  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
+  DB  68,15,89,205                        ; mulps         %xmm5,%xmm9
+  DB  68,15,88,201                        ; addps         %xmm1,%xmm9
+  DB  65,15,89,212                        ; mulps         %xmm12,%xmm2
+  DB  69,15,40,208                        ; movaps        %xmm8,%xmm10
+  DB  68,15,89,214                        ; mulps         %xmm6,%xmm10
+  DB  68,15,88,210                        ; addps         %xmm2,%xmm10
+  DB  65,15,89,220                        ; mulps         %xmm12,%xmm3
+  DB  68,15,89,199                        ; mulps         %xmm7,%xmm8
+  DB  68,15,88,195                        ; addps         %xmm3,%xmm8
+  DB  15,87,201                           ; xorps         %xmm1,%xmm1
+  DB  65,15,95,202                        ; maxps         %xmm10,%xmm1
+  DB  65,15,93,204                        ; minps         %xmm12,%xmm1
+  DB  102,15,91,201                       ; cvtps2dq      %xmm1,%xmm1
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  65,15,95,209                        ; maxps         %xmm9,%xmm2
+  DB  65,15,93,212                        ; minps         %xmm12,%xmm2
+  DB  102,15,91,210                       ; cvtps2dq      %xmm2,%xmm2
+  DB  102,15,114,242,8                    ; pslld         $0x8,%xmm2
+  DB  102,15,235,209                      ; por           %xmm1,%xmm2
+  DB  102,15,87,201                       ; xorpd         %xmm1,%xmm1
+  DB  15,95,200                           ; maxps         %xmm0,%xmm1
+  DB  65,15,93,204                        ; minps         %xmm12,%xmm1
+  DB  102,15,91,217                       ; cvtps2dq      %xmm1,%xmm3
+  DB  102,15,114,243,16                   ; pslld         $0x10,%xmm3
+  DB  69,15,95,216                        ; maxps         %xmm8,%xmm11
+  DB  69,15,93,220                        ; minps         %xmm12,%xmm11
+  DB  102,65,15,91,203                    ; cvtps2dq      %xmm11,%xmm1
+  DB  102,15,114,241,24                   ; pslld         $0x18,%xmm1
+  DB  102,15,235,203                      ; por           %xmm3,%xmm1
+  DB  102,15,235,202                      ; por           %xmm2,%xmm1
+  DB  117,69                              ; jne           1f138 <_sk_srcover_bgra_8888_sse2+0x152>
+  DB  243,65,15,127,12,144                ; movdqu        %xmm1,(%r8,%rdx,4)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,201                        ; movaps        %xmm9,%xmm1
+  DB  65,15,40,210                        ; movaps        %xmm10,%xmm2
+  DB  65,15,40,216                        ; movaps        %xmm8,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,75                              ; je            1f15c <_sk_srcover_bgra_8888_sse2+0x176>
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,20                              ; je            1f12d <_sk_srcover_bgra_8888_sse2+0x147>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  15,133,234,254,255,255              ; jne           1f00b <_sk_srcover_bgra_8888_sse2+0x25>
+  DB  102,65,15,110,68,144,8              ; movd          0x8(%r8,%rdx,4),%xmm0
+  DB  102,15,112,192,69                   ; pshufd        $0x45,%xmm0,%xmm0
+  DB  102,65,15,18,4,144                  ; movlpd        (%r8,%rdx,4),%xmm0
+  DB  233,211,254,255,255                 ; jmpq          1f00b <_sk_srcover_bgra_8888_sse2+0x25>
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,39                              ; je            1f167 <_sk_srcover_bgra_8888_sse2+0x181>
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,16                              ; je            1f154 <_sk_srcover_bgra_8888_sse2+0x16e>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,177                             ; jne           1f0f9 <_sk_srcover_bgra_8888_sse2+0x113>
+  DB  102,15,112,209,78                   ; pshufd        $0x4e,%xmm1,%xmm2
+  DB  102,65,15,126,84,144,8              ; movd          %xmm2,0x8(%r8,%rdx,4)
+  DB  102,65,15,214,12,144                ; movq          %xmm1,(%r8,%rdx,4)
+  DB  235,157                             ; jmp           1f0f9 <_sk_srcover_bgra_8888_sse2+0x113>
+  DB  102,65,15,110,4,144                 ; movd          (%r8,%rdx,4),%xmm0
+  DB  233,164,254,255,255                 ; jmpq          1f00b <_sk_srcover_bgra_8888_sse2+0x25>
+  DB  102,65,15,126,12,144                ; movd          %xmm1,(%r8,%rdx,4)
+  DB  235,138                             ; jmp           1f0f9 <_sk_srcover_bgra_8888_sse2+0x113>
+
+PUBLIC _sk_clamp_0_sse2
+_sk_clamp_0_sse2 LABEL PROC
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  65,15,95,192                        ; maxps         %xmm8,%xmm0
+  DB  65,15,95,200                        ; maxps         %xmm8,%xmm1
+  DB  65,15,95,208                        ; maxps         %xmm8,%xmm2
+  DB  65,15,95,216                        ; maxps         %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_clamp_1_sse2
+_sk_clamp_1_sse2 LABEL PROC
+  DB  68,15,40,5,33,99,1,0                ; movaps        0x16321(%rip),%xmm8        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  65,15,93,192                        ; minps         %xmm8,%xmm0
+  DB  65,15,93,200                        ; minps         %xmm8,%xmm1
+  DB  65,15,93,208                        ; minps         %xmm8,%xmm2
+  DB  65,15,93,216                        ; minps         %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_clamp_a_sse2
+_sk_clamp_a_sse2 LABEL PROC
+  DB  15,93,29,6,99,1,0                   ; minps         0x16306(%rip),%xmm3        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  15,93,195                           ; minps         %xmm3,%xmm0
+  DB  15,93,203                           ; minps         %xmm3,%xmm1
+  DB  15,93,211                           ; minps         %xmm3,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_clamp_a_dst_sse2
+_sk_clamp_a_dst_sse2 LABEL PROC
+  DB  15,93,61,242,98,1,0                 ; minps         0x162f2(%rip),%xmm7        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  15,93,231                           ; minps         %xmm7,%xmm4
+  DB  15,93,239                           ; minps         %xmm7,%xmm5
+  DB  15,93,247                           ; minps         %xmm7,%xmm6
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_set_rgb_sse2
+_sk_set_rgb_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,15,16,0                         ; movss         (%rax),%xmm0
+  DB  243,15,16,72,4                      ; movss         0x4(%rax),%xmm1
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
+  DB  243,15,16,80,8                      ; movss         0x8(%rax),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_swap_rb_sse2
+_sk_swap_rb_sse2 LABEL PROC
+  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,194                           ; movaps        %xmm2,%xmm0
+  DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_invert_sse2
+_sk_invert_sse2 LABEL PROC
+  DB  68,15,40,5,174,98,1,0               ; movaps        0x162ae(%rip),%xmm8        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
+  DB  68,15,92,200                        ; subps         %xmm0,%xmm9
+  DB  69,15,40,208                        ; movaps        %xmm8,%xmm10
+  DB  68,15,92,209                        ; subps         %xmm1,%xmm10
+  DB  69,15,40,216                        ; movaps        %xmm8,%xmm11
+  DB  68,15,92,218                        ; subps         %xmm2,%xmm11
+  DB  68,15,92,195                        ; subps         %xmm3,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  65,15,40,202                        ; movaps        %xmm10,%xmm1
+  DB  65,15,40,211                        ; movaps        %xmm11,%xmm2
+  DB  65,15,40,216                        ; movaps        %xmm8,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_move_src_dst_sse2
+_sk_move_src_dst_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,224                           ; movaps        %xmm0,%xmm4
+  DB  15,40,233                           ; movaps        %xmm1,%xmm5
+  DB  15,40,242                           ; movaps        %xmm2,%xmm6
+  DB  15,40,251                           ; movaps        %xmm3,%xmm7
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_move_dst_src_sse2
+_sk_move_dst_src_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,196                           ; movaps        %xmm4,%xmm0
+  DB  15,40,205                           ; movaps        %xmm5,%xmm1
+  DB  15,40,214                           ; movaps        %xmm6,%xmm2
+  DB  15,40,223                           ; movaps        %xmm7,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_premul_sse2
+_sk_premul_sse2 LABEL PROC
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  15,89,203                           ; mulps         %xmm3,%xmm1
+  DB  15,89,211                           ; mulps         %xmm3,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_premul_dst_sse2
+_sk_premul_dst_sse2 LABEL PROC
+  DB  15,89,231                           ; mulps         %xmm7,%xmm4
+  DB  15,89,239                           ; mulps         %xmm7,%xmm5
+  DB  15,89,247                           ; mulps         %xmm7,%xmm6
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_unpremul_sse2
+_sk_unpremul_sse2 LABEL PROC
+  DB  68,15,40,5,60,98,1,0                ; movaps        0x1623c(%rip),%xmm8        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  68,15,94,195                        ; divps         %xmm3,%xmm8
+  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
+  DB  68,15,194,13,27,99,1,0,1            ; cmpltps       0x1631b(%rip),%xmm9        # 355a0 <_sk_srcover_bgra_8888_sse2_lowp+0xd88>
+  DB  69,15,84,200                        ; andps         %xmm8,%xmm9
+  DB  65,15,89,193                        ; mulps         %xmm9,%xmm0
+  DB  65,15,89,201                        ; mulps         %xmm9,%xmm1
+  DB  65,15,89,209                        ; mulps         %xmm9,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_force_opaque_sse2
+_sk_force_opaque_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,29,14,98,1,0                  ; movaps        0x1620e(%rip),%xmm3        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_force_opaque_dst_sse2
+_sk_force_opaque_dst_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,61,3,98,1,0                   ; movaps        0x16203(%rip),%xmm7        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_from_srgb_sse2
+_sk_from_srgb_sse2 LABEL PROC
+  DB  68,15,40,5,249,98,1,0               ; movaps        0x162f9(%rip),%xmm8        # 355b0 <_sk_srcover_bgra_8888_sse2_lowp+0xd98>
+  DB  68,15,40,232                        ; movaps        %xmm0,%xmm13
+  DB  69,15,89,232                        ; mulps         %xmm8,%xmm13
+  DB  68,15,40,216                        ; movaps        %xmm0,%xmm11
+  DB  69,15,89,219                        ; mulps         %xmm11,%xmm11
+  DB  68,15,40,13,97,98,1,0               ; movaps        0x16261(%rip),%xmm9        # 35530 <_sk_srcover_bgra_8888_sse2_lowp+0xd18>
+  DB  68,15,40,240                        ; movaps        %xmm0,%xmm14
+  DB  69,15,89,241                        ; mulps         %xmm9,%xmm14
+  DB  68,15,40,21,225,98,1,0              ; movaps        0x162e1(%rip),%xmm10        # 355c0 <_sk_srcover_bgra_8888_sse2_lowp+0xda8>
+  DB  69,15,88,242                        ; addps         %xmm10,%xmm14
+  DB  69,15,89,243                        ; mulps         %xmm11,%xmm14
+  DB  68,15,40,29,225,98,1,0              ; movaps        0x162e1(%rip),%xmm11        # 355d0 <_sk_srcover_bgra_8888_sse2_lowp+0xdb8>
+  DB  69,15,88,243                        ; addps         %xmm11,%xmm14
+  DB  68,15,40,37,229,98,1,0              ; movaps        0x162e5(%rip),%xmm12        # 355e0 <_sk_srcover_bgra_8888_sse2_lowp+0xdc8>
+  DB  65,15,194,196,1                     ; cmpltps       %xmm12,%xmm0
+  DB  68,15,84,232                        ; andps         %xmm0,%xmm13
+  DB  65,15,85,198                        ; andnps        %xmm14,%xmm0
+  DB  65,15,86,197                        ; orps          %xmm13,%xmm0
+  DB  68,15,40,233                        ; movaps        %xmm1,%xmm13
+  DB  69,15,89,232                        ; mulps         %xmm8,%xmm13
+  DB  68,15,40,241                        ; movaps        %xmm1,%xmm14
+  DB  69,15,89,246                        ; mulps         %xmm14,%xmm14
+  DB  68,15,40,249                        ; movaps        %xmm1,%xmm15
+  DB  69,15,89,249                        ; mulps         %xmm9,%xmm15
+  DB  69,15,88,250                        ; addps         %xmm10,%xmm15
+  DB  69,15,89,254                        ; mulps         %xmm14,%xmm15
+  DB  69,15,88,251                        ; addps         %xmm11,%xmm15
+  DB  65,15,194,204,1                     ; cmpltps       %xmm12,%xmm1
+  DB  68,15,84,233                        ; andps         %xmm1,%xmm13
+  DB  65,15,85,207                        ; andnps        %xmm15,%xmm1
+  DB  65,15,86,205                        ; orps          %xmm13,%xmm1
+  DB  68,15,89,194                        ; mulps         %xmm2,%xmm8
+  DB  68,15,40,234                        ; movaps        %xmm2,%xmm13
+  DB  69,15,89,237                        ; mulps         %xmm13,%xmm13
+  DB  68,15,89,202                        ; mulps         %xmm2,%xmm9
+  DB  69,15,88,202                        ; addps         %xmm10,%xmm9
+  DB  69,15,89,205                        ; mulps         %xmm13,%xmm9
+  DB  69,15,88,203                        ; addps         %xmm11,%xmm9
+  DB  65,15,194,212,1                     ; cmpltps       %xmm12,%xmm2
+  DB  68,15,84,194                        ; andps         %xmm2,%xmm8
+  DB  65,15,85,209                        ; andnps        %xmm9,%xmm2
+  DB  65,15,86,208                        ; orps          %xmm8,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_from_srgb_dst_sse2
+_sk_from_srgb_dst_sse2 LABEL PROC
+  DB  68,15,40,5,54,98,1,0                ; movaps        0x16236(%rip),%xmm8        # 355b0 <_sk_srcover_bgra_8888_sse2_lowp+0xd98>
+  DB  68,15,40,236                        ; movaps        %xmm4,%xmm13
+  DB  69,15,89,232                        ; mulps         %xmm8,%xmm13
+  DB  68,15,40,220                        ; movaps        %xmm4,%xmm11
+  DB  69,15,89,219                        ; mulps         %xmm11,%xmm11
+  DB  68,15,40,13,158,97,1,0              ; movaps        0x1619e(%rip),%xmm9        # 35530 <_sk_srcover_bgra_8888_sse2_lowp+0xd18>
+  DB  68,15,40,244                        ; movaps        %xmm4,%xmm14
+  DB  69,15,89,241                        ; mulps         %xmm9,%xmm14
+  DB  68,15,40,21,30,98,1,0               ; movaps        0x1621e(%rip),%xmm10        # 355c0 <_sk_srcover_bgra_8888_sse2_lowp+0xda8>
+  DB  69,15,88,242                        ; addps         %xmm10,%xmm14
+  DB  69,15,89,243                        ; mulps         %xmm11,%xmm14
+  DB  68,15,40,29,30,98,1,0               ; movaps        0x1621e(%rip),%xmm11        # 355d0 <_sk_srcover_bgra_8888_sse2_lowp+0xdb8>
+  DB  69,15,88,243                        ; addps         %xmm11,%xmm14
+  DB  68,15,40,37,34,98,1,0               ; movaps        0x16222(%rip),%xmm12        # 355e0 <_sk_srcover_bgra_8888_sse2_lowp+0xdc8>
+  DB  65,15,194,228,1                     ; cmpltps       %xmm12,%xmm4
+  DB  68,15,84,236                        ; andps         %xmm4,%xmm13
+  DB  65,15,85,230                        ; andnps        %xmm14,%xmm4
+  DB  65,15,86,229                        ; orps          %xmm13,%xmm4
+  DB  68,15,40,237                        ; movaps        %xmm5,%xmm13
+  DB  69,15,89,232                        ; mulps         %xmm8,%xmm13
+  DB  68,15,40,245                        ; movaps        %xmm5,%xmm14
+  DB  69,15,89,246                        ; mulps         %xmm14,%xmm14
+  DB  68,15,40,253                        ; movaps        %xmm5,%xmm15
+  DB  69,15,89,249                        ; mulps         %xmm9,%xmm15
+  DB  69,15,88,250                        ; addps         %xmm10,%xmm15
+  DB  69,15,89,254                        ; mulps         %xmm14,%xmm15
+  DB  69,15,88,251                        ; addps         %xmm11,%xmm15
+  DB  65,15,194,236,1                     ; cmpltps       %xmm12,%xmm5
+  DB  68,15,84,237                        ; andps         %xmm5,%xmm13
+  DB  65,15,85,239                        ; andnps        %xmm15,%xmm5
+  DB  65,15,86,237                        ; orps          %xmm13,%xmm5
+  DB  68,15,89,198                        ; mulps         %xmm6,%xmm8
+  DB  68,15,40,238                        ; movaps        %xmm6,%xmm13
+  DB  69,15,89,237                        ; mulps         %xmm13,%xmm13
+  DB  68,15,89,206                        ; mulps         %xmm6,%xmm9
+  DB  69,15,88,202                        ; addps         %xmm10,%xmm9
+  DB  69,15,89,205                        ; mulps         %xmm13,%xmm9
+  DB  69,15,88,203                        ; addps         %xmm11,%xmm9
+  DB  65,15,194,244,1                     ; cmpltps       %xmm12,%xmm6
+  DB  68,15,84,198                        ; andps         %xmm6,%xmm8
+  DB  65,15,85,241                        ; andnps        %xmm9,%xmm6
+  DB  65,15,86,240                        ; orps          %xmm8,%xmm6
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_to_srgb_sse2
+_sk_to_srgb_sse2 LABEL PROC
+  DB  68,15,82,232                        ; rsqrtps       %xmm0,%xmm13
+  DB  68,15,40,5,175,97,1,0               ; movaps        0x161af(%rip),%xmm8        # 355f0 <_sk_srcover_bgra_8888_sse2_lowp+0xdd8>
+  DB  68,15,40,240                        ; movaps        %xmm0,%xmm14
+  DB  69,15,89,240                        ; mulps         %xmm8,%xmm14
+  DB  68,15,40,13,175,97,1,0              ; movaps        0x161af(%rip),%xmm9        # 35600 <_sk_srcover_bgra_8888_sse2_lowp+0xde8>
+  DB  69,15,40,253                        ; movaps        %xmm13,%xmm15
+  DB  69,15,89,249                        ; mulps         %xmm9,%xmm15
+  DB  68,15,40,21,175,97,1,0              ; movaps        0x161af(%rip),%xmm10        # 35610 <_sk_srcover_bgra_8888_sse2_lowp+0xdf8>
+  DB  69,15,88,250                        ; addps         %xmm10,%xmm15
+  DB  69,15,89,253                        ; mulps         %xmm13,%xmm15
+  DB  68,15,40,29,175,97,1,0              ; movaps        0x161af(%rip),%xmm11        # 35620 <_sk_srcover_bgra_8888_sse2_lowp+0xe08>
+  DB  69,15,88,251                        ; addps         %xmm11,%xmm15
+  DB  68,15,40,37,179,97,1,0              ; movaps        0x161b3(%rip),%xmm12        # 35630 <_sk_srcover_bgra_8888_sse2_lowp+0xe18>
+  DB  69,15,88,236                        ; addps         %xmm12,%xmm13
+  DB  69,15,83,237                        ; rcpps         %xmm13,%xmm13
+  DB  69,15,89,239                        ; mulps         %xmm15,%xmm13
+  DB  68,15,40,61,175,97,1,0              ; movaps        0x161af(%rip),%xmm15        # 35640 <_sk_srcover_bgra_8888_sse2_lowp+0xe28>
+  DB  65,15,194,199,1                     ; cmpltps       %xmm15,%xmm0
+  DB  68,15,84,240                        ; andps         %xmm0,%xmm14
+  DB  65,15,85,197                        ; andnps        %xmm13,%xmm0
+  DB  65,15,86,198                        ; orps          %xmm14,%xmm0
+  DB  68,15,82,233                        ; rsqrtps       %xmm1,%xmm13
+  DB  69,15,40,245                        ; movaps        %xmm13,%xmm14
+  DB  69,15,89,241                        ; mulps         %xmm9,%xmm14
+  DB  69,15,88,242                        ; addps         %xmm10,%xmm14
+  DB  69,15,89,245                        ; mulps         %xmm13,%xmm14
+  DB  69,15,88,243                        ; addps         %xmm11,%xmm14
+  DB  69,15,88,236                        ; addps         %xmm12,%xmm13
+  DB  69,15,83,237                        ; rcpps         %xmm13,%xmm13
+  DB  69,15,89,238                        ; mulps         %xmm14,%xmm13
+  DB  68,15,40,241                        ; movaps        %xmm1,%xmm14
+  DB  69,15,89,240                        ; mulps         %xmm8,%xmm14
+  DB  65,15,194,207,1                     ; cmpltps       %xmm15,%xmm1
+  DB  68,15,84,241                        ; andps         %xmm1,%xmm14
+  DB  65,15,85,205                        ; andnps        %xmm13,%xmm1
+  DB  65,15,86,206                        ; orps          %xmm14,%xmm1
+  DB  68,15,82,234                        ; rsqrtps       %xmm2,%xmm13
+  DB  69,15,89,205                        ; mulps         %xmm13,%xmm9
+  DB  69,15,88,202                        ; addps         %xmm10,%xmm9
+  DB  69,15,89,205                        ; mulps         %xmm13,%xmm9
+  DB  69,15,88,203                        ; addps         %xmm11,%xmm9
+  DB  69,15,88,236                        ; addps         %xmm12,%xmm13
+  DB  69,15,83,213                        ; rcpps         %xmm13,%xmm10
+  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
+  DB  68,15,89,194                        ; mulps         %xmm2,%xmm8
+  DB  65,15,194,215,1                     ; cmpltps       %xmm15,%xmm2
+  DB  68,15,84,194                        ; andps         %xmm2,%xmm8
+  DB  65,15,85,210                        ; andnps        %xmm10,%xmm2
+  DB  65,15,86,208                        ; orps          %xmm8,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_rgb_to_hsl_sse2
+_sk_rgb_to_hsl_sse2 LABEL PROC
+  DB  68,15,40,201                        ; movaps        %xmm1,%xmm9
+  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  15,95,194                           ; maxps         %xmm2,%xmm0
+  DB  69,15,40,208                        ; movaps        %xmm8,%xmm10
+  DB  68,15,95,208                        ; maxps         %xmm0,%xmm10
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  15,93,194                           ; minps         %xmm2,%xmm0
+  DB  69,15,40,216                        ; movaps        %xmm8,%xmm11
+  DB  68,15,93,216                        ; minps         %xmm0,%xmm11
+  DB  65,15,40,202                        ; movaps        %xmm10,%xmm1
+  DB  65,15,92,203                        ; subps         %xmm11,%xmm1
+  DB  68,15,40,45,98,95,1,0               ; movaps        0x15f62(%rip),%xmm13        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  68,15,94,233                        ; divps         %xmm1,%xmm13
+  DB  65,15,40,194                        ; movaps        %xmm10,%xmm0
+  DB  65,15,194,192,0                     ; cmpeqps       %xmm8,%xmm0
+  DB  69,15,40,225                        ; movaps        %xmm9,%xmm12
+  DB  68,15,92,226                        ; subps         %xmm2,%xmm12
+  DB  69,15,89,229                        ; mulps         %xmm13,%xmm12
+  DB  69,15,40,241                        ; movaps        %xmm9,%xmm14
+  DB  68,15,194,242,1                     ; cmpltps       %xmm2,%xmm14
+  DB  68,15,84,53,216,96,1,0              ; andps         0x160d8(%rip),%xmm14        # 35650 <_sk_srcover_bgra_8888_sse2_lowp+0xe38>
+  DB  69,15,88,244                        ; addps         %xmm12,%xmm14
+  DB  69,15,40,250                        ; movaps        %xmm10,%xmm15
+  DB  69,15,194,249,0                     ; cmpeqps       %xmm9,%xmm15
+  DB  65,15,92,208                        ; subps         %xmm8,%xmm2
+  DB  65,15,89,213                        ; mulps         %xmm13,%xmm2
+  DB  68,15,40,37,203,96,1,0              ; movaps        0x160cb(%rip),%xmm12        # 35660 <_sk_srcover_bgra_8888_sse2_lowp+0xe48>
+  DB  65,15,88,212                        ; addps         %xmm12,%xmm2
+  DB  69,15,92,193                        ; subps         %xmm9,%xmm8
+  DB  69,15,89,197                        ; mulps         %xmm13,%xmm8
+  DB  68,15,88,5,199,96,1,0               ; addps         0x160c7(%rip),%xmm8        # 35670 <_sk_srcover_bgra_8888_sse2_lowp+0xe58>
+  DB  65,15,84,215                        ; andps         %xmm15,%xmm2
+  DB  69,15,85,248                        ; andnps        %xmm8,%xmm15
+  DB  68,15,86,250                        ; orps          %xmm2,%xmm15
+  DB  68,15,84,240                        ; andps         %xmm0,%xmm14
+  DB  65,15,85,199                        ; andnps        %xmm15,%xmm0
+  DB  65,15,86,198                        ; orps          %xmm14,%xmm0
+  DB  15,89,5,184,96,1,0                  ; mulps         0x160b8(%rip),%xmm0        # 35680 <_sk_srcover_bgra_8888_sse2_lowp+0xe68>
+  DB  69,15,40,194                        ; movaps        %xmm10,%xmm8
+  DB  69,15,194,195,4                     ; cmpneqps      %xmm11,%xmm8
+  DB  65,15,84,192                        ; andps         %xmm8,%xmm0
+  DB  69,15,92,226                        ; subps         %xmm10,%xmm12
+  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
+  DB  68,15,40,13,187,94,1,0              ; movaps        0x15ebb(%rip),%xmm9        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  65,15,40,210                        ; movaps        %xmm10,%xmm2
+  DB  65,15,89,209                        ; mulps         %xmm9,%xmm2
+  DB  68,15,194,202,1                     ; cmpltps       %xmm2,%xmm9
+  DB  69,15,92,227                        ; subps         %xmm11,%xmm12
+  DB  69,15,84,225                        ; andps         %xmm9,%xmm12
+  DB  69,15,85,202                        ; andnps        %xmm10,%xmm9
+  DB  69,15,86,204                        ; orps          %xmm12,%xmm9
+  DB  65,15,94,201                        ; divps         %xmm9,%xmm1
+  DB  65,15,84,200                        ; andps         %xmm8,%xmm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_hsl_to_rgb_sse2
+_sk_hsl_to_rgb_sse2 LABEL PROC
+  DB  72,131,236,120                      ; sub           $0x78,%rsp
+  DB  15,41,124,36,96                     ; movaps        %xmm7,0x60(%rsp)
+  DB  15,41,116,36,80                     ; movaps        %xmm6,0x50(%rsp)
+  DB  15,41,108,36,64                     ; movaps        %xmm5,0x40(%rsp)
+  DB  15,41,100,36,48                     ; movaps        %xmm4,0x30(%rsp)
+  DB  15,41,92,36,32                      ; movaps        %xmm3,0x20(%rsp)
+  DB  68,15,40,218                        ; movaps        %xmm2,%xmm11
+  DB  15,40,240                           ; movaps        %xmm0,%xmm6
+  DB  68,15,40,13,102,94,1,0              ; movaps        0x15e66(%rip),%xmm9        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  69,15,40,209                        ; movaps        %xmm9,%xmm10
+  DB  69,15,194,211,2                     ; cmpleps       %xmm11,%xmm10
+  DB  15,40,193                           ; movaps        %xmm1,%xmm0
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  15,194,217,0                        ; cmpeqps       %xmm1,%xmm3
+  DB  15,40,251                           ; movaps        %xmm3,%xmm7
+  DB  15,41,60,36                         ; movaps        %xmm7,(%rsp)
+  DB  65,15,89,203                        ; mulps         %xmm11,%xmm1
+  DB  15,92,193                           ; subps         %xmm1,%xmm0
+  DB  65,15,84,194                        ; andps         %xmm10,%xmm0
+  DB  68,15,85,209                        ; andnps        %xmm1,%xmm10
+  DB  68,15,86,208                        ; orps          %xmm0,%xmm10
+  DB  68,15,41,92,36,16                   ; movaps        %xmm11,0x10(%rsp)
+  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
+  DB  69,15,88,219                        ; addps         %xmm11,%xmm11
+  DB  69,15,92,218                        ; subps         %xmm10,%xmm11
+  DB  15,40,5,16,96,1,0                   ; movaps        0x16010(%rip),%xmm0        # 35690 <_sk_srcover_bgra_8888_sse2_lowp+0xe78>
+  DB  15,88,198                           ; addps         %xmm6,%xmm0
+  DB  243,15,91,200                       ; cvttps2dq     %xmm0,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  15,40,216                           ; movaps        %xmm0,%xmm3
+  DB  15,194,217,1                        ; cmpltps       %xmm1,%xmm3
+  DB  15,84,29,24,94,1,0                  ; andps         0x15e18(%rip),%xmm3        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  15,92,203                           ; subps         %xmm3,%xmm1
+  DB  15,92,193                           ; subps         %xmm1,%xmm0
+  DB  68,15,40,45,250,95,1,0              ; movaps        0x15ffa(%rip),%xmm13        # 356a0 <_sk_srcover_bgra_8888_sse2_lowp+0xe88>
+  DB  69,15,40,197                        ; movaps        %xmm13,%xmm8
+  DB  68,15,194,192,2                     ; cmpleps       %xmm0,%xmm8
+  DB  69,15,40,242                        ; movaps        %xmm10,%xmm14
+  DB  69,15,92,243                        ; subps         %xmm11,%xmm14
+  DB  65,15,40,217                        ; movaps        %xmm9,%xmm3
+  DB  15,194,216,2                        ; cmpleps       %xmm0,%xmm3
+  DB  15,40,21,186,95,1,0                 ; movaps        0x15fba(%rip),%xmm2        # 35680 <_sk_srcover_bgra_8888_sse2_lowp+0xe68>
+  DB  68,15,40,250                        ; movaps        %xmm2,%xmm15
+  DB  68,15,194,248,2                     ; cmpleps       %xmm0,%xmm15
+  DB  15,40,13,122,95,1,0                 ; movaps        0x15f7a(%rip),%xmm1        # 35650 <_sk_srcover_bgra_8888_sse2_lowp+0xe38>
+  DB  15,89,193                           ; mulps         %xmm1,%xmm0
+  DB  15,40,45,144,95,1,0                 ; movaps        0x15f90(%rip),%xmm5        # 35670 <_sk_srcover_bgra_8888_sse2_lowp+0xe58>
+  DB  15,40,229                           ; movaps        %xmm5,%xmm4
+  DB  15,92,224                           ; subps         %xmm0,%xmm4
+  DB  65,15,89,230                        ; mulps         %xmm14,%xmm4
+  DB  65,15,88,227                        ; addps         %xmm11,%xmm4
+  DB  69,15,40,227                        ; movaps        %xmm11,%xmm12
+  DB  69,15,84,224                        ; andps         %xmm8,%xmm12
+  DB  68,15,85,196                        ; andnps        %xmm4,%xmm8
+  DB  69,15,86,196                        ; orps          %xmm12,%xmm8
+  DB  68,15,84,195                        ; andps         %xmm3,%xmm8
+  DB  65,15,85,218                        ; andnps        %xmm10,%xmm3
+  DB  65,15,86,216                        ; orps          %xmm8,%xmm3
+  DB  65,15,89,198                        ; mulps         %xmm14,%xmm0
+  DB  65,15,88,195                        ; addps         %xmm11,%xmm0
+  DB  65,15,84,223                        ; andps         %xmm15,%xmm3
+  DB  68,15,85,248                        ; andnps        %xmm0,%xmm15
+  DB  68,15,86,251                        ; orps          %xmm3,%xmm15
+  DB  68,15,40,199                        ; movaps        %xmm7,%xmm8
+  DB  69,15,85,199                        ; andnps        %xmm15,%xmm8
+  DB  243,15,91,198                       ; cvttps2dq     %xmm6,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  15,40,222                           ; movaps        %xmm6,%xmm3
+  DB  15,194,216,1                        ; cmpltps       %xmm0,%xmm3
+  DB  15,84,29,117,93,1,0                 ; andps         0x15d75(%rip),%xmm3        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  15,92,195                           ; subps         %xmm3,%xmm0
+  DB  68,15,40,230                        ; movaps        %xmm6,%xmm12
+  DB  68,15,92,224                        ; subps         %xmm0,%xmm12
+  DB  69,15,40,253                        ; movaps        %xmm13,%xmm15
+  DB  69,15,194,252,2                     ; cmpleps       %xmm12,%xmm15
+  DB  65,15,40,225                        ; movaps        %xmm9,%xmm4
+  DB  65,15,194,228,2                     ; cmpleps       %xmm12,%xmm4
+  DB  15,40,218                           ; movaps        %xmm2,%xmm3
+  DB  65,15,194,220,2                     ; cmpleps       %xmm12,%xmm3
+  DB  68,15,89,225                        ; mulps         %xmm1,%xmm12
+  DB  15,40,197                           ; movaps        %xmm5,%xmm0
+  DB  65,15,92,196                        ; subps         %xmm12,%xmm0
+  DB  65,15,89,198                        ; mulps         %xmm14,%xmm0
+  DB  65,15,88,195                        ; addps         %xmm11,%xmm0
+  DB  65,15,40,251                        ; movaps        %xmm11,%xmm7
+  DB  65,15,84,255                        ; andps         %xmm15,%xmm7
+  DB  68,15,85,248                        ; andnps        %xmm0,%xmm15
+  DB  68,15,86,255                        ; orps          %xmm7,%xmm15
+  DB  68,15,84,252                        ; andps         %xmm4,%xmm15
+  DB  65,15,85,226                        ; andnps        %xmm10,%xmm4
+  DB  65,15,86,231                        ; orps          %xmm15,%xmm4
+  DB  69,15,89,230                        ; mulps         %xmm14,%xmm12
+  DB  69,15,88,227                        ; addps         %xmm11,%xmm12
+  DB  15,84,227                           ; andps         %xmm3,%xmm4
+  DB  65,15,85,220                        ; andnps        %xmm12,%xmm3
+  DB  15,86,220                           ; orps          %xmm4,%xmm3
+  DB  15,40,60,36                         ; movaps        (%rsp),%xmm7
+  DB  15,40,231                           ; movaps        %xmm7,%xmm4
+  DB  15,85,227                           ; andnps        %xmm3,%xmm4
+  DB  15,88,53,254,94,1,0                 ; addps         0x15efe(%rip),%xmm6        # 356b0 <_sk_srcover_bgra_8888_sse2_lowp+0xe98>
+  DB  243,15,91,198                       ; cvttps2dq     %xmm6,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  15,40,222                           ; movaps        %xmm6,%xmm3
+  DB  15,194,216,1                        ; cmpltps       %xmm0,%xmm3
+  DB  15,84,29,233,92,1,0                 ; andps         0x15ce9(%rip),%xmm3        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  15,92,195                           ; subps         %xmm3,%xmm0
+  DB  15,92,240                           ; subps         %xmm0,%xmm6
+  DB  15,89,206                           ; mulps         %xmm6,%xmm1
+  DB  15,92,233                           ; subps         %xmm1,%xmm5
+  DB  65,15,89,238                        ; mulps         %xmm14,%xmm5
+  DB  65,15,89,206                        ; mulps         %xmm14,%xmm1
+  DB  65,15,88,235                        ; addps         %xmm11,%xmm5
+  DB  65,15,88,203                        ; addps         %xmm11,%xmm1
+  DB  68,15,194,238,2                     ; cmpleps       %xmm6,%xmm13
+  DB  69,15,84,221                        ; andps         %xmm13,%xmm11
+  DB  68,15,85,237                        ; andnps        %xmm5,%xmm13
+  DB  69,15,86,235                        ; orps          %xmm11,%xmm13
+  DB  68,15,194,206,2                     ; cmpleps       %xmm6,%xmm9
+  DB  69,15,84,233                        ; andps         %xmm9,%xmm13
+  DB  69,15,85,202                        ; andnps        %xmm10,%xmm9
+  DB  69,15,86,205                        ; orps          %xmm13,%xmm9
+  DB  15,194,214,2                        ; cmpleps       %xmm6,%xmm2
+  DB  68,15,84,202                        ; andps         %xmm2,%xmm9
+  DB  15,85,209                           ; andnps        %xmm1,%xmm2
+  DB  65,15,86,209                        ; orps          %xmm9,%xmm2
+  DB  15,40,68,36,16                      ; movaps        0x10(%rsp),%xmm0
+  DB  15,40,207                           ; movaps        %xmm7,%xmm1
+  DB  15,84,193                           ; andps         %xmm1,%xmm0
+  DB  15,85,202                           ; andnps        %xmm2,%xmm1
+  DB  68,15,86,192                        ; orps          %xmm0,%xmm8
+  DB  15,86,224                           ; orps          %xmm0,%xmm4
+  DB  15,86,193                           ; orps          %xmm1,%xmm0
+  DB  15,40,208                           ; movaps        %xmm0,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  15,40,204                           ; movaps        %xmm4,%xmm1
+  DB  15,40,92,36,32                      ; movaps        0x20(%rsp),%xmm3
+  DB  15,40,100,36,48                     ; movaps        0x30(%rsp),%xmm4
+  DB  15,40,108,36,64                     ; movaps        0x40(%rsp),%xmm5
+  DB  15,40,116,36,80                     ; movaps        0x50(%rsp),%xmm6
+  DB  15,40,124,36,96                     ; movaps        0x60(%rsp),%xmm7
+  DB  72,131,196,120                      ; add           $0x78,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_scale_1_float_sse2
+_sk_scale_1_float_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,0                      ; movss         (%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
+  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
+  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_scale_u8_sse2
+_sk_scale_u8_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,61                              ; jne           1f8c6 <_sk_scale_u8_sse2+0x4f>
+  DB  102,69,15,110,4,16                  ; movd          (%r8,%rdx,1),%xmm8
+  DB  102,68,15,96,192                    ; punpcklbw     %xmm0,%xmm8
+  DB  102,68,15,97,192                    ; punpcklwd     %xmm0,%xmm8
+  DB  102,68,15,219,5,190,92,1,0          ; pand          0x15cbe(%rip),%xmm8        # 35560 <_sk_srcover_bgra_8888_sse2_lowp+0xd48>
+  DB  69,15,91,192                        ; cvtdq2ps      %xmm8,%xmm8
+  DB  68,15,89,5,18,94,1,0                ; mulps         0x15e12(%rip),%xmm8        # 356c0 <_sk_srcover_bgra_8888_sse2_lowp+0xea8>
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
+  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
+  DB  68,15,89,195                        ; mulps         %xmm3,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,216                        ; movaps        %xmm8,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,57                              ; je            1f907 <_sk_scale_u8_sse2+0x90>
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,21                              ; je            1f8ec <_sk_scale_u8_sse2+0x75>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,190                             ; jne           1f899 <_sk_scale_u8_sse2+0x22>
+  DB  65,15,182,68,16,2                   ; movzbl        0x2(%r8,%rdx,1),%eax
+  DB  102,68,15,110,192                   ; movd          %eax,%xmm8
+  DB  102,69,15,112,192,69                ; pshufd        $0x45,%xmm8,%xmm8
+  DB  65,15,183,4,16                      ; movzwl        (%r8,%rdx,1),%eax
+  DB  102,68,15,110,200                   ; movd          %eax,%xmm9
+  DB  102,68,15,96,200                    ; punpcklbw     %xmm0,%xmm9
+  DB  102,68,15,97,200                    ; punpcklwd     %xmm0,%xmm9
+  DB  242,69,15,16,193                    ; movsd         %xmm9,%xmm8
+  DB  235,146                             ; jmp           1f899 <_sk_scale_u8_sse2+0x22>
+  DB  65,15,182,4,16                      ; movzbl        (%r8,%rdx,1),%eax
+  DB  102,68,15,110,192                   ; movd          %eax,%xmm8
+  DB  235,134                             ; jmp           1f899 <_sk_scale_u8_sse2+0x22>
+
+PUBLIC _sk_scale_565_sse2
+_sk_scale_565_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,173,0,0,0                    ; jne           1f9d9 <_sk_scale_565_sse2+0xc6>
+  DB  243,69,15,126,20,80                 ; movq          (%r8,%rdx,2),%xmm10
+  DB  102,68,15,97,208                    ; punpcklwd     %xmm0,%xmm10
+  DB  102,68,15,111,5,144,93,1,0          ; movdqa        0x15d90(%rip),%xmm8        # 356d0 <_sk_srcover_bgra_8888_sse2_lowp+0xeb8>
+  DB  102,69,15,219,194                   ; pand          %xmm10,%xmm8
+  DB  69,15,91,192                        ; cvtdq2ps      %xmm8,%xmm8
+  DB  68,15,89,5,143,93,1,0               ; mulps         0x15d8f(%rip),%xmm8        # 356e0 <_sk_srcover_bgra_8888_sse2_lowp+0xec8>
+  DB  102,68,15,111,13,150,93,1,0         ; movdqa        0x15d96(%rip),%xmm9        # 356f0 <_sk_srcover_bgra_8888_sse2_lowp+0xed8>
+  DB  102,69,15,219,202                   ; pand          %xmm10,%xmm9
+  DB  69,15,91,201                        ; cvtdq2ps      %xmm9,%xmm9
+  DB  68,15,89,13,149,93,1,0              ; mulps         0x15d95(%rip),%xmm9        # 35700 <_sk_srcover_bgra_8888_sse2_lowp+0xee8>
+  DB  102,68,15,219,21,156,93,1,0         ; pand          0x15d9c(%rip),%xmm10        # 35710 <_sk_srcover_bgra_8888_sse2_lowp+0xef8>
+  DB  69,15,91,210                        ; cvtdq2ps      %xmm10,%xmm10
+  DB  68,15,89,21,160,93,1,0              ; mulps         0x15da0(%rip),%xmm10        # 35720 <_sk_srcover_bgra_8888_sse2_lowp+0xf08>
+  DB  68,15,40,219                        ; movaps        %xmm3,%xmm11
+  DB  68,15,194,223,1                     ; cmpltps       %xmm7,%xmm11
+  DB  69,15,40,225                        ; movaps        %xmm9,%xmm12
+  DB  69,15,93,226                        ; minps         %xmm10,%xmm12
+  DB  69,15,40,232                        ; movaps        %xmm8,%xmm13
+  DB  69,15,93,236                        ; minps         %xmm12,%xmm13
+  DB  69,15,40,225                        ; movaps        %xmm9,%xmm12
+  DB  69,15,95,226                        ; maxps         %xmm10,%xmm12
+  DB  69,15,40,240                        ; movaps        %xmm8,%xmm14
+  DB  69,15,95,244                        ; maxps         %xmm12,%xmm14
+  DB  69,15,84,235                        ; andps         %xmm11,%xmm13
+  DB  69,15,85,222                        ; andnps        %xmm14,%xmm11
+  DB  69,15,86,221                        ; orps          %xmm13,%xmm11
+  DB  68,15,89,192                        ; mulps         %xmm0,%xmm8
+  DB  68,15,89,201                        ; mulps         %xmm1,%xmm9
+  DB  68,15,89,210                        ; mulps         %xmm2,%xmm10
+  DB  68,15,89,219                        ; mulps         %xmm3,%xmm11
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  65,15,40,201                        ; movaps        %xmm9,%xmm1
+  DB  65,15,40,210                        ; movaps        %xmm10,%xmm2
+  DB  65,15,40,219                        ; movaps        %xmm11,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,56                              ; je            1fa19 <_sk_scale_565_sse2+0x106>
+  DB  102,69,15,239,210                   ; pxor          %xmm10,%xmm10
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,25                              ; je            1fa03 <_sk_scale_565_sse2+0xf0>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  15,133,69,255,255,255               ; jne           1f937 <_sk_scale_565_sse2+0x24>
+  DB  65,15,183,68,80,4                   ; movzwl        0x4(%r8,%rdx,2),%eax
+  DB  102,68,15,110,192                   ; movd          %eax,%xmm8
+  DB  102,69,15,112,208,69                ; pshufd        $0x45,%xmm8,%xmm10
+  DB  102,69,15,110,4,80                  ; movd          (%r8,%rdx,2),%xmm8
+  DB  242,69,15,112,192,212               ; pshuflw       $0xd4,%xmm8,%xmm8
+  DB  242,69,15,16,208                    ; movsd         %xmm8,%xmm10
+  DB  233,30,255,255,255                  ; jmpq          1f937 <_sk_scale_565_sse2+0x24>
+  DB  65,15,183,4,80                      ; movzwl        (%r8,%rdx,2),%eax
+  DB  102,68,15,110,208                   ; movd          %eax,%xmm10
+  DB  233,15,255,255,255                  ; jmpq          1f937 <_sk_scale_565_sse2+0x24>
+
+PUBLIC _sk_lerp_1_float_sse2
+_sk_lerp_1_float_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,0                      ; movss         (%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  15,92,196                           ; subps         %xmm4,%xmm0
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  15,88,196                           ; addps         %xmm4,%xmm0
+  DB  15,92,205                           ; subps         %xmm5,%xmm1
+  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
+  DB  15,88,205                           ; addps         %xmm5,%xmm1
+  DB  15,92,214                           ; subps         %xmm6,%xmm2
+  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
+  DB  15,88,214                           ; addps         %xmm6,%xmm2
+  DB  15,92,223                           ; subps         %xmm7,%xmm3
+  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
+  DB  15,88,223                           ; addps         %xmm7,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_lerp_u8_sse2
+_sk_lerp_u8_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,81                              ; jne           1fac3 <_sk_lerp_u8_sse2+0x63>
+  DB  102,69,15,110,4,16                  ; movd          (%r8,%rdx,1),%xmm8
+  DB  102,68,15,96,192                    ; punpcklbw     %xmm0,%xmm8
+  DB  102,68,15,97,192                    ; punpcklwd     %xmm0,%xmm8
+  DB  102,68,15,219,5,213,90,1,0          ; pand          0x15ad5(%rip),%xmm8        # 35560 <_sk_srcover_bgra_8888_sse2_lowp+0xd48>
+  DB  69,15,91,192                        ; cvtdq2ps      %xmm8,%xmm8
+  DB  68,15,89,5,41,92,1,0                ; mulps         0x15c29(%rip),%xmm8        # 356c0 <_sk_srcover_bgra_8888_sse2_lowp+0xea8>
+  DB  15,92,196                           ; subps         %xmm4,%xmm0
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  15,88,196                           ; addps         %xmm4,%xmm0
+  DB  15,92,205                           ; subps         %xmm5,%xmm1
+  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
+  DB  15,88,205                           ; addps         %xmm5,%xmm1
+  DB  15,92,214                           ; subps         %xmm6,%xmm2
+  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
+  DB  15,88,214                           ; addps         %xmm6,%xmm2
+  DB  15,92,223                           ; subps         %xmm7,%xmm3
+  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
+  DB  15,88,223                           ; addps         %xmm7,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,60                              ; je            1fb07 <_sk_lerp_u8_sse2+0xa7>
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,21                              ; je            1fae9 <_sk_lerp_u8_sse2+0x89>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,170                             ; jne           1fa82 <_sk_lerp_u8_sse2+0x22>
+  DB  65,15,182,68,16,2                   ; movzbl        0x2(%r8,%rdx,1),%eax
+  DB  102,68,15,110,192                   ; movd          %eax,%xmm8
+  DB  102,69,15,112,192,69                ; pshufd        $0x45,%xmm8,%xmm8
+  DB  65,15,183,4,16                      ; movzwl        (%r8,%rdx,1),%eax
+  DB  102,68,15,110,200                   ; movd          %eax,%xmm9
+  DB  102,68,15,96,200                    ; punpcklbw     %xmm0,%xmm9
+  DB  102,68,15,97,200                    ; punpcklwd     %xmm0,%xmm9
+  DB  242,69,15,16,193                    ; movsd         %xmm9,%xmm8
+  DB  233,123,255,255,255                 ; jmpq          1fa82 <_sk_lerp_u8_sse2+0x22>
+  DB  65,15,182,4,16                      ; movzbl        (%r8,%rdx,1),%eax
+  DB  102,68,15,110,192                   ; movd          %eax,%xmm8
+  DB  233,108,255,255,255                 ; jmpq          1fa82 <_sk_lerp_u8_sse2+0x22>
+
+PUBLIC _sk_lerp_565_sse2
+_sk_lerp_565_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,173,0,0,0                    ; jne           1fbdc <_sk_lerp_565_sse2+0xc6>
+  DB  243,69,15,126,4,80                  ; movq          (%r8,%rdx,2),%xmm8
+  DB  102,68,15,97,192                    ; punpcklwd     %xmm0,%xmm8
+  DB  102,68,15,111,13,141,91,1,0         ; movdqa        0x15b8d(%rip),%xmm9        # 356d0 <_sk_srcover_bgra_8888_sse2_lowp+0xeb8>
+  DB  102,69,15,219,200                   ; pand          %xmm8,%xmm9
+  DB  69,15,91,201                        ; cvtdq2ps      %xmm9,%xmm9
+  DB  68,15,89,13,140,91,1,0              ; mulps         0x15b8c(%rip),%xmm9        # 356e0 <_sk_srcover_bgra_8888_sse2_lowp+0xec8>
+  DB  102,68,15,111,21,147,91,1,0         ; movdqa        0x15b93(%rip),%xmm10        # 356f0 <_sk_srcover_bgra_8888_sse2_lowp+0xed8>
+  DB  102,69,15,219,208                   ; pand          %xmm8,%xmm10
+  DB  69,15,91,218                        ; cvtdq2ps      %xmm10,%xmm11
+  DB  68,15,89,29,146,91,1,0              ; mulps         0x15b92(%rip),%xmm11        # 35700 <_sk_srcover_bgra_8888_sse2_lowp+0xee8>
+  DB  102,68,15,219,5,153,91,1,0          ; pand          0x15b99(%rip),%xmm8        # 35710 <_sk_srcover_bgra_8888_sse2_lowp+0xef8>
+  DB  69,15,91,192                        ; cvtdq2ps      %xmm8,%xmm8
+  DB  68,15,89,5,157,91,1,0               ; mulps         0x15b9d(%rip),%xmm8        # 35720 <_sk_srcover_bgra_8888_sse2_lowp+0xf08>
+  DB  68,15,40,211                        ; movaps        %xmm3,%xmm10
+  DB  68,15,194,215,1                     ; cmpltps       %xmm7,%xmm10
+  DB  69,15,40,227                        ; movaps        %xmm11,%xmm12
+  DB  15,92,205                           ; subps         %xmm5,%xmm1
+  DB  65,15,89,203                        ; mulps         %xmm11,%xmm1
+  DB  69,15,93,216                        ; minps         %xmm8,%xmm11
+  DB  69,15,40,233                        ; movaps        %xmm9,%xmm13
+  DB  15,92,196                           ; subps         %xmm4,%xmm0
+  DB  65,15,89,193                        ; mulps         %xmm9,%xmm0
+  DB  69,15,93,203                        ; minps         %xmm11,%xmm9
+  DB  69,15,95,224                        ; maxps         %xmm8,%xmm12
+  DB  69,15,95,236                        ; maxps         %xmm12,%xmm13
+  DB  69,15,84,202                        ; andps         %xmm10,%xmm9
+  DB  69,15,85,213                        ; andnps        %xmm13,%xmm10
+  DB  69,15,86,209                        ; orps          %xmm9,%xmm10
+  DB  15,88,196                           ; addps         %xmm4,%xmm0
+  DB  15,88,205                           ; addps         %xmm5,%xmm1
+  DB  15,92,214                           ; subps         %xmm6,%xmm2
+  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
+  DB  15,88,214                           ; addps         %xmm6,%xmm2
+  DB  15,92,223                           ; subps         %xmm7,%xmm3
+  DB  65,15,89,218                        ; mulps         %xmm10,%xmm3
+  DB  15,88,223                           ; addps         %xmm7,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,56                              ; je            1fc1c <_sk_lerp_565_sse2+0x106>
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,25                              ; je            1fc06 <_sk_lerp_565_sse2+0xf0>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  15,133,69,255,255,255               ; jne           1fb3a <_sk_lerp_565_sse2+0x24>
+  DB  65,15,183,68,80,4                   ; movzwl        0x4(%r8,%rdx,2),%eax
+  DB  102,68,15,110,192                   ; movd          %eax,%xmm8
+  DB  102,69,15,112,192,69                ; pshufd        $0x45,%xmm8,%xmm8
+  DB  102,69,15,110,12,80                 ; movd          (%r8,%rdx,2),%xmm9
+  DB  242,69,15,112,201,212               ; pshuflw       $0xd4,%xmm9,%xmm9
+  DB  242,69,15,16,193                    ; movsd         %xmm9,%xmm8
+  DB  233,30,255,255,255                  ; jmpq          1fb3a <_sk_lerp_565_sse2+0x24>
+  DB  65,15,183,4,80                      ; movzwl        (%r8,%rdx,2),%eax
+  DB  102,68,15,110,192                   ; movd          %eax,%xmm8
+  DB  233,15,255,255,255                  ; jmpq          1fb3a <_sk_lerp_565_sse2+0x24>
+
+PUBLIC _sk_load_tables_sse2
+_sk_load_tables_sse2 LABEL PROC
+  DB  65,86                               ; push          %r14
+  DB  83                                  ; push          %rbx
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,31,1,0,0                     ; jne           1fd5b <_sk_load_tables_sse2+0x130>
+  DB  243,69,15,111,12,144                ; movdqu        (%r8,%rdx,4),%xmm9
+  DB  102,68,15,111,5,21,89,1,0           ; movdqa        0x15915(%rip),%xmm8        # 35560 <_sk_srcover_bgra_8888_sse2_lowp+0xd48>
+  DB  102,65,15,111,193                   ; movdqa        %xmm9,%xmm0
+  DB  102,65,15,219,192                   ; pand          %xmm8,%xmm0
+  DB  102,15,112,200,78                   ; pshufd        $0x4e,%xmm0,%xmm1
+  DB  102,73,15,126,200                   ; movq          %xmm1,%r8
+  DB  102,73,15,126,193                   ; movq          %xmm0,%r9
+  DB  69,15,182,209                       ; movzbl        %r9b,%r10d
+  DB  73,193,233,30                       ; shr           $0x1e,%r9
+  DB  69,15,182,216                       ; movzbl        %r8b,%r11d
+  DB  73,193,232,30                       ; shr           $0x1e,%r8
+  DB  72,139,88,8                         ; mov           0x8(%rax),%rbx
+  DB  76,139,112,16                       ; mov           0x10(%rax),%r14
+  DB  243,66,15,16,12,11                  ; movss         (%rbx,%r9,1),%xmm1
+  DB  243,66,15,16,4,147                  ; movss         (%rbx,%r10,4),%xmm0
+  DB  15,20,193                           ; unpcklps      %xmm1,%xmm0
+  DB  243,66,15,16,12,3                   ; movss         (%rbx,%r8,1),%xmm1
+  DB  243,66,15,16,20,155                 ; movss         (%rbx,%r11,4),%xmm2
+  DB  15,20,209                           ; unpcklps      %xmm1,%xmm2
+  DB  102,15,20,194                       ; unpcklpd      %xmm2,%xmm0
+  DB  102,65,15,111,201                   ; movdqa        %xmm9,%xmm1
+  DB  102,15,114,209,8                    ; psrld         $0x8,%xmm1
+  DB  102,65,15,219,200                   ; pand          %xmm8,%xmm1
+  DB  102,15,112,209,78                   ; pshufd        $0x4e,%xmm1,%xmm2
+  DB  102,73,15,126,208                   ; movq          %xmm2,%r8
+  DB  102,72,15,126,203                   ; movq          %xmm1,%rbx
+  DB  68,15,182,203                       ; movzbl        %bl,%r9d
+  DB  72,193,235,30                       ; shr           $0x1e,%rbx
+  DB  69,15,182,208                       ; movzbl        %r8b,%r10d
+  DB  73,193,232,30                       ; shr           $0x1e,%r8
+  DB  243,65,15,16,20,30                  ; movss         (%r14,%rbx,1),%xmm2
+  DB  243,67,15,16,12,142                 ; movss         (%r14,%r9,4),%xmm1
+  DB  15,20,202                           ; unpcklps      %xmm2,%xmm1
+  DB  243,67,15,16,20,6                   ; movss         (%r14,%r8,1),%xmm2
+  DB  243,67,15,16,28,150                 ; movss         (%r14,%r10,4),%xmm3
+  DB  15,20,218                           ; unpcklps      %xmm2,%xmm3
+  DB  102,15,20,203                       ; unpcklpd      %xmm3,%xmm1
+  DB  76,139,64,24                        ; mov           0x18(%rax),%r8
+  DB  102,65,15,111,209                   ; movdqa        %xmm9,%xmm2
+  DB  102,15,114,210,16                   ; psrld         $0x10,%xmm2
+  DB  102,65,15,219,208                   ; pand          %xmm8,%xmm2
+  DB  102,15,112,218,78                   ; pshufd        $0x4e,%xmm2,%xmm3
+  DB  102,72,15,126,219                   ; movq          %xmm3,%rbx
+  DB  102,72,15,126,208                   ; movq          %xmm2,%rax
+  DB  68,15,182,200                       ; movzbl        %al,%r9d
+  DB  72,193,232,30                       ; shr           $0x1e,%rax
+  DB  68,15,182,211                       ; movzbl        %bl,%r10d
+  DB  72,193,235,30                       ; shr           $0x1e,%rbx
+  DB  243,65,15,16,28,0                   ; movss         (%r8,%rax,1),%xmm3
+  DB  243,67,15,16,20,136                 ; movss         (%r8,%r9,4),%xmm2
+  DB  15,20,211                           ; unpcklps      %xmm3,%xmm2
+  DB  243,69,15,16,4,24                   ; movss         (%r8,%rbx,1),%xmm8
+  DB  243,67,15,16,28,144                 ; movss         (%r8,%r10,4),%xmm3
+  DB  65,15,20,216                        ; unpcklps      %xmm8,%xmm3
+  DB  102,15,20,211                       ; unpcklpd      %xmm3,%xmm2
+  DB  102,65,15,114,209,24                ; psrld         $0x18,%xmm9
+  DB  65,15,91,217                        ; cvtdq2ps      %xmm9,%xmm3
+  DB  15,89,29,108,89,1,0                 ; mulps         0x1596c(%rip),%xmm3        # 356c0 <_sk_srcover_bgra_8888_sse2_lowp+0xea8>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  91                                  ; pop           %rbx
+  DB  65,94                               ; pop           %r14
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,137,249                          ; mov           %edi,%r9d
+  DB  65,128,225,3                        ; and           $0x3,%r9b
+  DB  65,128,249,1                        ; cmp           $0x1,%r9b
+  DB  116,45                              ; je            1fd95 <_sk_load_tables_sse2+0x16a>
+  DB  102,69,15,239,201                   ; pxor          %xmm9,%xmm9
+  DB  65,128,249,2                        ; cmp           $0x2,%r9b
+  DB  116,23                              ; je            1fd8a <_sk_load_tables_sse2+0x15f>
+  DB  65,128,249,3                        ; cmp           $0x3,%r9b
+  DB  15,133,197,254,255,255              ; jne           1fc42 <_sk_load_tables_sse2+0x17>
+  DB  102,65,15,110,68,144,8              ; movd          0x8(%r8,%rdx,4),%xmm0
+  DB  102,68,15,112,200,69                ; pshufd        $0x45,%xmm0,%xmm9
+  DB  102,69,15,18,12,144                 ; movlpd        (%r8,%rdx,4),%xmm9
+  DB  233,173,254,255,255                 ; jmpq          1fc42 <_sk_load_tables_sse2+0x17>
+  DB  102,69,15,110,12,144                ; movd          (%r8,%rdx,4),%xmm9
+  DB  233,162,254,255,255                 ; jmpq          1fc42 <_sk_load_tables_sse2+0x17>
+
+PUBLIC _sk_load_tables_u16_be_sse2
+_sk_load_tables_u16_be_sse2 LABEL PROC
+  DB  65,86                               ; push          %r14
+  DB  83                                  ; push          %rbx
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  76,141,12,149,0,0,0,0               ; lea           0x0(,%rdx,4),%r9
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,90,1,0,0                     ; jne           1ff13 <_sk_load_tables_u16_be_sse2+0x173>
+  DB  102,67,15,16,4,72                   ; movupd        (%r8,%r9,2),%xmm0
+  DB  243,67,15,111,76,72,16              ; movdqu        0x10(%r8,%r9,2),%xmm1
+  DB  102,68,15,40,200                    ; movapd        %xmm0,%xmm9
+  DB  102,68,15,97,201                    ; punpcklwd     %xmm1,%xmm9
+  DB  102,15,105,193                      ; punpckhwd     %xmm1,%xmm0
+  DB  102,65,15,111,201                   ; movdqa        %xmm9,%xmm1
+  DB  102,15,97,200                       ; punpcklwd     %xmm0,%xmm1
+  DB  102,68,15,105,200                   ; punpckhwd     %xmm0,%xmm9
+  DB  102,15,111,21,70,89,1,0             ; movdqa        0x15946(%rip),%xmm2        # 35730 <_sk_srcover_bgra_8888_sse2_lowp+0xf18>
+  DB  102,15,112,217,238                  ; pshufd        $0xee,%xmm1,%xmm3
+  DB  102,15,219,202                      ; pand          %xmm2,%xmm1
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  102,65,15,97,200                    ; punpcklwd     %xmm8,%xmm1
+  DB  102,15,112,193,78                   ; pshufd        $0x4e,%xmm1,%xmm0
+  DB  102,73,15,126,192                   ; movq          %xmm0,%r8
+  DB  102,73,15,126,201                   ; movq          %xmm1,%r9
+  DB  69,15,182,209                       ; movzbl        %r9b,%r10d
+  DB  73,193,233,30                       ; shr           $0x1e,%r9
+  DB  69,15,182,216                       ; movzbl        %r8b,%r11d
+  DB  73,193,232,30                       ; shr           $0x1e,%r8
+  DB  72,139,88,8                         ; mov           0x8(%rax),%rbx
+  DB  76,139,112,16                       ; mov           0x10(%rax),%r14
+  DB  243,66,15,16,12,11                  ; movss         (%rbx,%r9,1),%xmm1
+  DB  243,66,15,16,4,147                  ; movss         (%rbx,%r10,4),%xmm0
+  DB  15,20,193                           ; unpcklps      %xmm1,%xmm0
+  DB  243,70,15,16,20,3                   ; movss         (%rbx,%r8,1),%xmm10
+  DB  243,66,15,16,12,155                 ; movss         (%rbx,%r11,4),%xmm1
+  DB  65,15,20,202                        ; unpcklps      %xmm10,%xmm1
+  DB  102,15,20,193                       ; unpcklpd      %xmm1,%xmm0
+  DB  102,15,219,218                      ; pand          %xmm2,%xmm3
+  DB  102,65,15,97,216                    ; punpcklwd     %xmm8,%xmm3
+  DB  102,15,112,203,78                   ; pshufd        $0x4e,%xmm3,%xmm1
+  DB  102,73,15,126,200                   ; movq          %xmm1,%r8
+  DB  102,72,15,126,219                   ; movq          %xmm3,%rbx
+  DB  68,15,182,203                       ; movzbl        %bl,%r9d
+  DB  72,193,235,30                       ; shr           $0x1e,%rbx
+  DB  69,15,182,208                       ; movzbl        %r8b,%r10d
+  DB  73,193,232,30                       ; shr           $0x1e,%r8
+  DB  243,65,15,16,28,30                  ; movss         (%r14,%rbx,1),%xmm3
+  DB  243,67,15,16,12,142                 ; movss         (%r14,%r9,4),%xmm1
+  DB  15,20,203                           ; unpcklps      %xmm3,%xmm1
+  DB  243,71,15,16,20,6                   ; movss         (%r14,%r8,1),%xmm10
+  DB  243,67,15,16,28,150                 ; movss         (%r14,%r10,4),%xmm3
+  DB  65,15,20,218                        ; unpcklps      %xmm10,%xmm3
+  DB  102,15,20,203                       ; unpcklpd      %xmm3,%xmm1
+  DB  76,139,64,24                        ; mov           0x18(%rax),%r8
+  DB  102,65,15,219,209                   ; pand          %xmm9,%xmm2
+  DB  102,65,15,97,208                    ; punpcklwd     %xmm8,%xmm2
+  DB  102,15,112,218,78                   ; pshufd        $0x4e,%xmm2,%xmm3
+  DB  102,72,15,126,219                   ; movq          %xmm3,%rbx
+  DB  102,72,15,126,208                   ; movq          %xmm2,%rax
+  DB  68,15,182,200                       ; movzbl        %al,%r9d
+  DB  72,193,232,30                       ; shr           $0x1e,%rax
+  DB  68,15,182,211                       ; movzbl        %bl,%r10d
+  DB  72,193,235,30                       ; shr           $0x1e,%rbx
+  DB  243,65,15,16,28,0                   ; movss         (%r8,%rax,1),%xmm3
+  DB  243,67,15,16,20,136                 ; movss         (%r8,%r9,4),%xmm2
+  DB  15,20,211                           ; unpcklps      %xmm3,%xmm2
+  DB  243,69,15,16,20,24                  ; movss         (%r8,%rbx,1),%xmm10
+  DB  243,67,15,16,28,144                 ; movss         (%r8,%r10,4),%xmm3
+  DB  65,15,20,218                        ; unpcklps      %xmm10,%xmm3
+  DB  102,15,20,211                       ; unpcklpd      %xmm3,%xmm2
+  DB  102,65,15,112,217,78                ; pshufd        $0x4e,%xmm9,%xmm3
+  DB  102,68,15,111,203                   ; movdqa        %xmm3,%xmm9
+  DB  102,65,15,113,241,8                 ; psllw         $0x8,%xmm9
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  102,65,15,235,217                   ; por           %xmm9,%xmm3
+  DB  102,65,15,97,216                    ; punpcklwd     %xmm8,%xmm3
+  DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
+  DB  15,89,29,68,88,1,0                  ; mulps         0x15844(%rip),%xmm3        # 35750 <_sk_srcover_bgra_8888_sse2_lowp+0xf38>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  91                                  ; pop           %rbx
+  DB  65,94                               ; pop           %r14
+  DB  255,224                             ; jmpq          *%rax
+  DB  242,67,15,16,4,72                   ; movsd         (%r8,%r9,2),%xmm0
+  DB  72,131,255,1                        ; cmp           $0x1,%rdi
+  DB  117,13                              ; jne           1ff2c <_sk_load_tables_u16_be_sse2+0x18c>
+  DB  243,15,126,192                      ; movq          %xmm0,%xmm0
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  233,154,254,255,255                 ; jmpq          1fdc6 <_sk_load_tables_u16_be_sse2+0x26>
+  DB  102,67,15,22,68,72,8                ; movhpd        0x8(%r8,%r9,2),%xmm0
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  15,130,133,254,255,255              ; jb            1fdc6 <_sk_load_tables_u16_be_sse2+0x26>
+  DB  243,67,15,126,76,72,16              ; movq          0x10(%r8,%r9,2),%xmm1
+  DB  233,121,254,255,255                 ; jmpq          1fdc6 <_sk_load_tables_u16_be_sse2+0x26>
+
+PUBLIC _sk_load_tables_rgb_u16_be_sse2
+_sk_load_tables_rgb_u16_be_sse2 LABEL PROC
+  DB  65,86                               ; push          %r14
+  DB  83                                  ; push          %rbx
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  76,141,12,82                        ; lea           (%rdx,%rdx,2),%r9
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,78,1,0,0                     ; jne           200b0 <_sk_load_tables_rgb_u16_be_sse2+0x163>
+  DB  243,67,15,111,20,72                 ; movdqu        (%r8,%r9,2),%xmm2
+  DB  243,67,15,111,76,72,8               ; movdqu        0x8(%r8,%r9,2),%xmm1
+  DB  102,15,115,217,4                    ; psrldq        $0x4,%xmm1
+  DB  102,68,15,111,210                   ; movdqa        %xmm2,%xmm10
+  DB  102,65,15,115,218,6                 ; psrldq        $0x6,%xmm10
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,15,115,216,6                    ; psrldq        $0x6,%xmm0
+  DB  102,68,15,97,208                    ; punpcklwd     %xmm0,%xmm10
+  DB  102,15,97,209                       ; punpcklwd     %xmm1,%xmm2
+  DB  102,15,111,194                      ; movdqa        %xmm2,%xmm0
+  DB  102,65,15,97,194                    ; punpcklwd     %xmm10,%xmm0
+  DB  102,15,112,200,78                   ; pshufd        $0x4e,%xmm0,%xmm1
+  DB  102,68,15,111,5,136,87,1,0          ; movdqa        0x15788(%rip),%xmm8        # 35730 <_sk_srcover_bgra_8888_sse2_lowp+0xf18>
+  DB  102,65,15,219,192                   ; pand          %xmm8,%xmm0
+  DB  102,69,15,239,201                   ; pxor          %xmm9,%xmm9
+  DB  102,65,15,97,193                    ; punpcklwd     %xmm9,%xmm0
+  DB  102,15,112,216,78                   ; pshufd        $0x4e,%xmm0,%xmm3
+  DB  102,73,15,126,216                   ; movq          %xmm3,%r8
+  DB  102,73,15,126,193                   ; movq          %xmm0,%r9
+  DB  69,15,182,209                       ; movzbl        %r9b,%r10d
+  DB  73,193,233,30                       ; shr           $0x1e,%r9
+  DB  69,15,182,216                       ; movzbl        %r8b,%r11d
+  DB  73,193,232,30                       ; shr           $0x1e,%r8
+  DB  72,139,88,8                         ; mov           0x8(%rax),%rbx
+  DB  76,139,112,16                       ; mov           0x10(%rax),%r14
+  DB  243,66,15,16,28,11                  ; movss         (%rbx,%r9,1),%xmm3
+  DB  243,66,15,16,4,147                  ; movss         (%rbx,%r10,4),%xmm0
+  DB  15,20,195                           ; unpcklps      %xmm3,%xmm0
+  DB  243,70,15,16,28,3                   ; movss         (%rbx,%r8,1),%xmm11
+  DB  243,66,15,16,28,155                 ; movss         (%rbx,%r11,4),%xmm3
+  DB  65,15,20,219                        ; unpcklps      %xmm11,%xmm3
+  DB  102,15,20,195                       ; unpcklpd      %xmm3,%xmm0
+  DB  102,65,15,219,200                   ; pand          %xmm8,%xmm1
+  DB  102,65,15,97,201                    ; punpcklwd     %xmm9,%xmm1
+  DB  102,15,112,217,78                   ; pshufd        $0x4e,%xmm1,%xmm3
+  DB  102,73,15,126,216                   ; movq          %xmm3,%r8
+  DB  102,72,15,126,203                   ; movq          %xmm1,%rbx
+  DB  68,15,182,203                       ; movzbl        %bl,%r9d
+  DB  72,193,235,30                       ; shr           $0x1e,%rbx
+  DB  69,15,182,208                       ; movzbl        %r8b,%r10d
+  DB  73,193,232,30                       ; shr           $0x1e,%r8
+  DB  243,65,15,16,28,30                  ; movss         (%r14,%rbx,1),%xmm3
+  DB  243,67,15,16,12,142                 ; movss         (%r14,%r9,4),%xmm1
+  DB  15,20,203                           ; unpcklps      %xmm3,%xmm1
+  DB  243,71,15,16,28,6                   ; movss         (%r14,%r8,1),%xmm11
+  DB  243,67,15,16,28,150                 ; movss         (%r14,%r10,4),%xmm3
+  DB  65,15,20,219                        ; unpcklps      %xmm11,%xmm3
+  DB  102,15,20,203                       ; unpcklpd      %xmm3,%xmm1
+  DB  76,139,64,24                        ; mov           0x18(%rax),%r8
+  DB  102,65,15,105,210                   ; punpckhwd     %xmm10,%xmm2
+  DB  102,65,15,219,208                   ; pand          %xmm8,%xmm2
+  DB  102,65,15,97,209                    ; punpcklwd     %xmm9,%xmm2
+  DB  102,15,112,218,78                   ; pshufd        $0x4e,%xmm2,%xmm3
+  DB  102,72,15,126,219                   ; movq          %xmm3,%rbx
+  DB  102,72,15,126,208                   ; movq          %xmm2,%rax
+  DB  68,15,182,200                       ; movzbl        %al,%r9d
+  DB  72,193,232,30                       ; shr           $0x1e,%rax
+  DB  68,15,182,211                       ; movzbl        %bl,%r10d
+  DB  72,193,235,30                       ; shr           $0x1e,%rbx
+  DB  243,65,15,16,28,0                   ; movss         (%r8,%rax,1),%xmm3
+  DB  243,67,15,16,20,136                 ; movss         (%r8,%r9,4),%xmm2
+  DB  15,20,211                           ; unpcklps      %xmm3,%xmm2
+  DB  243,69,15,16,4,24                   ; movss         (%r8,%rbx,1),%xmm8
+  DB  243,67,15,16,28,144                 ; movss         (%r8,%r10,4),%xmm3
+  DB  65,15,20,216                        ; unpcklps      %xmm8,%xmm3
+  DB  102,15,20,211                       ; unpcklpd      %xmm3,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,29,5,84,1,0                   ; movaps        0x15405(%rip),%xmm3        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  91                                  ; pop           %rbx
+  DB  65,94                               ; pop           %r14
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,67,15,110,20,72                 ; movd          (%r8,%r9,2),%xmm2
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  102,67,15,196,84,72,4,2             ; pinsrw        $0x2,0x4(%r8,%r9,2),%xmm2
+  DB  72,131,255,1                        ; cmp           $0x1,%rdi
+  DB  117,14                              ; jne           200d6 <_sk_load_tables_rgb_u16_be_sse2+0x189>
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  102,69,15,239,210                   ; pxor          %xmm10,%xmm10
+  DB  233,178,254,255,255                 ; jmpq          1ff88 <_sk_load_tables_rgb_u16_be_sse2+0x3b>
+  DB  102,71,15,110,84,72,6               ; movd          0x6(%r8,%r9,2),%xmm10
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  102,71,15,196,84,72,10,2            ; pinsrw        $0x2,0xa(%r8,%r9,2),%xmm10
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  114,24                              ; jb            20107 <_sk_load_tables_rgb_u16_be_sse2+0x1ba>
+  DB  102,67,15,110,76,72,12              ; movd          0xc(%r8,%r9,2),%xmm1
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  102,67,15,196,76,72,16,2            ; pinsrw        $0x2,0x10(%r8,%r9,2),%xmm1
+  DB  233,129,254,255,255                 ; jmpq          1ff88 <_sk_load_tables_rgb_u16_be_sse2+0x3b>
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  233,120,254,255,255                 ; jmpq          1ff88 <_sk_load_tables_rgb_u16_be_sse2+0x3b>
+
+PUBLIC _sk_byte_tables_sse2
+_sk_byte_tables_sse2 LABEL PROC
+  DB  85                                  ; push          %rbp
+  DB  65,86                               ; push          %r14
+  DB  83                                  ; push          %rbx
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  69,15,87,219                        ; xorps         %xmm11,%xmm11
+  DB  68,15,95,216                        ; maxps         %xmm0,%xmm11
+  DB  68,15,40,13,133,83,1,0              ; movaps        0x15385(%rip),%xmm9        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,93,217                        ; minps         %xmm9,%xmm11
+  DB  68,15,40,21,89,84,1,0               ; movaps        0x15459(%rip),%xmm10        # 35590 <_sk_srcover_bgra_8888_sse2_lowp+0xd78>
+  DB  69,15,89,218                        ; mulps         %xmm10,%xmm11
+  DB  102,65,15,91,195                    ; cvtps2dq      %xmm11,%xmm0
+  DB  102,73,15,126,192                   ; movq          %xmm0,%r8
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  77,137,194                          ; mov           %r8,%r10
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  102,15,112,192,78                   ; pshufd        $0x4e,%xmm0,%xmm0
+  DB  102,73,15,126,192                   ; movq          %xmm0,%r8
+  DB  69,137,195                          ; mov           %r8d,%r11d
+  DB  77,137,198                          ; mov           %r8,%r14
+  DB  73,193,238,32                       ; shr           $0x20,%r14
+  DB  72,139,24                           ; mov           (%rax),%rbx
+  DB  76,139,64,8                         ; mov           0x8(%rax),%r8
+  DB  70,15,182,28,27                     ; movzbl        (%rbx,%r11,1),%r11d
+  DB  66,15,182,44,51                     ; movzbl        (%rbx,%r14,1),%ebp
+  DB  193,229,8                           ; shl           $0x8,%ebp
+  DB  68,9,221                            ; or            %r11d,%ebp
+  DB  70,15,182,12,11                     ; movzbl        (%rbx,%r9,1),%r9d
+  DB  66,15,182,28,19                     ; movzbl        (%rbx,%r10,1),%ebx
+  DB  193,227,8                           ; shl           $0x8,%ebx
+  DB  68,9,203                            ; or            %r9d,%ebx
+  DB  102,15,110,195                      ; movd          %ebx,%xmm0
+  DB  102,15,196,197,1                    ; pinsrw        $0x1,%ebp,%xmm0
+  DB  102,65,15,96,192                    ; punpcklbw     %xmm8,%xmm0
+  DB  102,65,15,97,192                    ; punpcklwd     %xmm8,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  68,15,40,29,24,85,1,0               ; movaps        0x15518(%rip),%xmm11        # 356c0 <_sk_srcover_bgra_8888_sse2_lowp+0xea8>
+  DB  65,15,89,195                        ; mulps         %xmm11,%xmm0
+  DB  69,15,87,228                        ; xorps         %xmm12,%xmm12
+  DB  68,15,95,225                        ; maxps         %xmm1,%xmm12
+  DB  69,15,93,225                        ; minps         %xmm9,%xmm12
+  DB  69,15,89,226                        ; mulps         %xmm10,%xmm12
+  DB  102,65,15,91,204                    ; cvtps2dq      %xmm12,%xmm1
+  DB  102,72,15,126,205                   ; movq          %xmm1,%rbp
+  DB  65,137,233                          ; mov           %ebp,%r9d
+  DB  72,193,237,32                       ; shr           $0x20,%rbp
+  DB  102,15,112,201,78                   ; pshufd        $0x4e,%xmm1,%xmm1
+  DB  102,72,15,126,203                   ; movq          %xmm1,%rbx
+  DB  65,137,218                          ; mov           %ebx,%r10d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  71,15,182,20,16                     ; movzbl        (%r8,%r10,1),%r10d
+  DB  65,15,182,28,24                     ; movzbl        (%r8,%rbx,1),%ebx
+  DB  193,227,8                           ; shl           $0x8,%ebx
+  DB  68,9,211                            ; or            %r10d,%ebx
+  DB  71,15,182,12,8                      ; movzbl        (%r8,%r9,1),%r9d
+  DB  65,15,182,44,40                     ; movzbl        (%r8,%rbp,1),%ebp
+  DB  193,229,8                           ; shl           $0x8,%ebp
+  DB  68,9,205                            ; or            %r9d,%ebp
+  DB  102,15,110,205                      ; movd          %ebp,%xmm1
+  DB  102,15,196,203,1                    ; pinsrw        $0x1,%ebx,%xmm1
+  DB  102,65,15,96,200                    ; punpcklbw     %xmm8,%xmm1
+  DB  102,65,15,97,200                    ; punpcklwd     %xmm8,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  65,15,89,203                        ; mulps         %xmm11,%xmm1
+  DB  76,139,72,16                        ; mov           0x10(%rax),%r9
+  DB  69,15,87,228                        ; xorps         %xmm12,%xmm12
+  DB  68,15,95,226                        ; maxps         %xmm2,%xmm12
+  DB  69,15,93,225                        ; minps         %xmm9,%xmm12
+  DB  69,15,89,226                        ; mulps         %xmm10,%xmm12
+  DB  102,65,15,91,212                    ; cvtps2dq      %xmm12,%xmm2
+  DB  102,72,15,126,211                   ; movq          %xmm2,%rbx
+  DB  65,137,216                          ; mov           %ebx,%r8d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  102,15,112,210,78                   ; pshufd        $0x4e,%xmm2,%xmm2
+  DB  102,72,15,126,213                   ; movq          %xmm2,%rbp
+  DB  65,137,234                          ; mov           %ebp,%r10d
+  DB  72,193,237,32                       ; shr           $0x20,%rbp
+  DB  71,15,182,20,17                     ; movzbl        (%r9,%r10,1),%r10d
+  DB  65,15,182,44,41                     ; movzbl        (%r9,%rbp,1),%ebp
+  DB  193,229,8                           ; shl           $0x8,%ebp
+  DB  68,9,213                            ; or            %r10d,%ebp
+  DB  71,15,182,4,1                       ; movzbl        (%r9,%r8,1),%r8d
+  DB  65,15,182,28,25                     ; movzbl        (%r9,%rbx,1),%ebx
+  DB  193,227,8                           ; shl           $0x8,%ebx
+  DB  68,9,195                            ; or            %r8d,%ebx
+  DB  102,15,110,211                      ; movd          %ebx,%xmm2
+  DB  102,15,196,213,1                    ; pinsrw        $0x1,%ebp,%xmm2
+  DB  102,65,15,96,208                    ; punpcklbw     %xmm8,%xmm2
+  DB  102,65,15,97,208                    ; punpcklwd     %xmm8,%xmm2
+  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
+  DB  65,15,89,211                        ; mulps         %xmm11,%xmm2
+  DB  72,139,64,24                        ; mov           0x18(%rax),%rax
+  DB  69,15,87,228                        ; xorps         %xmm12,%xmm12
+  DB  68,15,95,227                        ; maxps         %xmm3,%xmm12
+  DB  69,15,93,225                        ; minps         %xmm9,%xmm12
+  DB  69,15,89,226                        ; mulps         %xmm10,%xmm12
+  DB  102,65,15,91,220                    ; cvtps2dq      %xmm12,%xmm3
+  DB  102,72,15,126,221                   ; movq          %xmm3,%rbp
+  DB  65,137,232                          ; mov           %ebp,%r8d
+  DB  72,193,237,32                       ; shr           $0x20,%rbp
+  DB  102,15,112,219,78                   ; pshufd        $0x4e,%xmm3,%xmm3
+  DB  102,72,15,126,219                   ; movq          %xmm3,%rbx
+  DB  65,137,217                          ; mov           %ebx,%r9d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  70,15,182,12,8                      ; movzbl        (%rax,%r9,1),%r9d
+  DB  15,182,28,24                        ; movzbl        (%rax,%rbx,1),%ebx
+  DB  193,227,8                           ; shl           $0x8,%ebx
+  DB  68,9,203                            ; or            %r9d,%ebx
+  DB  70,15,182,4,0                       ; movzbl        (%rax,%r8,1),%r8d
+  DB  15,182,4,40                         ; movzbl        (%rax,%rbp,1),%eax
+  DB  193,224,8                           ; shl           $0x8,%eax
+  DB  68,9,192                            ; or            %r8d,%eax
+  DB  102,15,110,216                      ; movd          %eax,%xmm3
+  DB  102,15,196,219,1                    ; pinsrw        $0x1,%ebx,%xmm3
+  DB  102,65,15,96,216                    ; punpcklbw     %xmm8,%xmm3
+  DB  102,65,15,97,216                    ; punpcklwd     %xmm8,%xmm3
+  DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
+  DB  65,15,89,219                        ; mulps         %xmm11,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  91                                  ; pop           %rbx
+  DB  65,94                               ; pop           %r14
+  DB  93                                  ; pop           %rbp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_byte_tables_rgb_sse2
+_sk_byte_tables_rgb_sse2 LABEL PROC
+  DB  85                                  ; push          %rbp
+  DB  65,86                               ; push          %r14
+  DB  83                                  ; push          %rbx
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  68,139,64,24                        ; mov           0x18(%rax),%r8d
+  DB  65,255,200                          ; dec           %r8d
+  DB  102,69,15,110,192                   ; movd          %r8d,%xmm8
+  DB  102,69,15,112,192,0                 ; pshufd        $0x0,%xmm8,%xmm8
+  DB  69,15,91,200                        ; cvtdq2ps      %xmm8,%xmm9
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  69,15,87,219                        ; xorps         %xmm11,%xmm11
+  DB  68,15,95,216                        ; maxps         %xmm0,%xmm11
+  DB  68,15,40,21,129,81,1,0              ; movaps        0x15181(%rip),%xmm10        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,93,218                        ; minps         %xmm10,%xmm11
+  DB  69,15,89,217                        ; mulps         %xmm9,%xmm11
+  DB  102,65,15,91,195                    ; cvtps2dq      %xmm11,%xmm0
+  DB  102,73,15,126,192                   ; movq          %xmm0,%r8
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  77,137,194                          ; mov           %r8,%r10
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  102,15,112,192,78                   ; pshufd        $0x4e,%xmm0,%xmm0
+  DB  102,73,15,126,192                   ; movq          %xmm0,%r8
+  DB  69,137,195                          ; mov           %r8d,%r11d
+  DB  77,137,198                          ; mov           %r8,%r14
+  DB  73,193,238,32                       ; shr           $0x20,%r14
+  DB  72,139,24                           ; mov           (%rax),%rbx
+  DB  76,139,64,8                         ; mov           0x8(%rax),%r8
+  DB  70,15,182,28,27                     ; movzbl        (%rbx,%r11,1),%r11d
+  DB  66,15,182,44,51                     ; movzbl        (%rbx,%r14,1),%ebp
+  DB  193,229,8                           ; shl           $0x8,%ebp
+  DB  68,9,221                            ; or            %r11d,%ebp
+  DB  70,15,182,12,11                     ; movzbl        (%rbx,%r9,1),%r9d
+  DB  66,15,182,28,19                     ; movzbl        (%rbx,%r10,1),%ebx
+  DB  193,227,8                           ; shl           $0x8,%ebx
+  DB  68,9,203                            ; or            %r9d,%ebx
+  DB  102,15,110,195                      ; movd          %ebx,%xmm0
+  DB  102,15,196,197,1                    ; pinsrw        $0x1,%ebp,%xmm0
+  DB  102,65,15,96,192                    ; punpcklbw     %xmm8,%xmm0
+  DB  102,65,15,97,192                    ; punpcklwd     %xmm8,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  68,15,40,29,28,83,1,0               ; movaps        0x1531c(%rip),%xmm11        # 356c0 <_sk_srcover_bgra_8888_sse2_lowp+0xea8>
+  DB  65,15,89,195                        ; mulps         %xmm11,%xmm0
+  DB  69,15,87,228                        ; xorps         %xmm12,%xmm12
+  DB  68,15,95,225                        ; maxps         %xmm1,%xmm12
+  DB  69,15,93,226                        ; minps         %xmm10,%xmm12
+  DB  69,15,89,225                        ; mulps         %xmm9,%xmm12
+  DB  102,65,15,91,204                    ; cvtps2dq      %xmm12,%xmm1
+  DB  102,72,15,126,205                   ; movq          %xmm1,%rbp
+  DB  65,137,233                          ; mov           %ebp,%r9d
+  DB  72,193,237,32                       ; shr           $0x20,%rbp
+  DB  102,15,112,201,78                   ; pshufd        $0x4e,%xmm1,%xmm1
+  DB  102,72,15,126,203                   ; movq          %xmm1,%rbx
+  DB  65,137,218                          ; mov           %ebx,%r10d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  71,15,182,20,16                     ; movzbl        (%r8,%r10,1),%r10d
+  DB  65,15,182,28,24                     ; movzbl        (%r8,%rbx,1),%ebx
+  DB  193,227,8                           ; shl           $0x8,%ebx
+  DB  68,9,211                            ; or            %r10d,%ebx
+  DB  71,15,182,12,8                      ; movzbl        (%r8,%r9,1),%r9d
+  DB  65,15,182,44,40                     ; movzbl        (%r8,%rbp,1),%ebp
+  DB  193,229,8                           ; shl           $0x8,%ebp
+  DB  68,9,205                            ; or            %r9d,%ebp
+  DB  102,15,110,205                      ; movd          %ebp,%xmm1
+  DB  102,15,196,203,1                    ; pinsrw        $0x1,%ebx,%xmm1
+  DB  102,65,15,96,200                    ; punpcklbw     %xmm8,%xmm1
+  DB  102,65,15,97,200                    ; punpcklwd     %xmm8,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  65,15,89,203                        ; mulps         %xmm11,%xmm1
+  DB  72,139,64,16                        ; mov           0x10(%rax),%rax
+  DB  69,15,87,228                        ; xorps         %xmm12,%xmm12
+  DB  68,15,95,226                        ; maxps         %xmm2,%xmm12
+  DB  69,15,93,226                        ; minps         %xmm10,%xmm12
+  DB  69,15,89,225                        ; mulps         %xmm9,%xmm12
+  DB  102,65,15,91,212                    ; cvtps2dq      %xmm12,%xmm2
+  DB  102,72,15,126,213                   ; movq          %xmm2,%rbp
+  DB  65,137,232                          ; mov           %ebp,%r8d
+  DB  72,193,237,32                       ; shr           $0x20,%rbp
+  DB  102,15,112,210,78                   ; pshufd        $0x4e,%xmm2,%xmm2
+  DB  102,72,15,126,211                   ; movq          %xmm2,%rbx
+  DB  65,137,217                          ; mov           %ebx,%r9d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  70,15,182,12,8                      ; movzbl        (%rax,%r9,1),%r9d
+  DB  15,182,28,24                        ; movzbl        (%rax,%rbx,1),%ebx
+  DB  193,227,8                           ; shl           $0x8,%ebx
+  DB  68,9,203                            ; or            %r9d,%ebx
+  DB  70,15,182,4,0                       ; movzbl        (%rax,%r8,1),%r8d
+  DB  15,182,4,40                         ; movzbl        (%rax,%rbp,1),%eax
+  DB  193,224,8                           ; shl           $0x8,%eax
+  DB  68,9,192                            ; or            %r8d,%eax
+  DB  102,15,110,208                      ; movd          %eax,%xmm2
+  DB  102,15,196,211,1                    ; pinsrw        $0x1,%ebx,%xmm2
+  DB  102,65,15,96,208                    ; punpcklbw     %xmm8,%xmm2
+  DB  102,65,15,97,208                    ; punpcklwd     %xmm8,%xmm2
+  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
+  DB  65,15,89,211                        ; mulps         %xmm11,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  91                                  ; pop           %rbx
+  DB  65,94                               ; pop           %r14
+  DB  93                                  ; pop           %rbp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_table_r_sse2
+_sk_table_r_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  139,64,8                            ; mov           0x8(%rax),%eax
+  DB  255,200                             ; dec           %eax
+  DB  102,68,15,110,192                   ; movd          %eax,%xmm8
+  DB  102,69,15,112,192,0                 ; pshufd        $0x0,%xmm8,%xmm8
+  DB  69,15,91,192                        ; cvtdq2ps      %xmm8,%xmm8
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,95,200                        ; maxps         %xmm0,%xmm9
+  DB  68,15,93,13,253,79,1,0              ; minps         0x14ffd(%rip),%xmm9        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
+  DB  102,69,15,91,193                    ; cvtps2dq      %xmm9,%xmm8
+  DB  102,65,15,112,192,78                ; pshufd        $0x4e,%xmm8,%xmm0
+  DB  102,72,15,126,192                   ; movq          %xmm0,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  102,77,15,126,194                   ; movq          %xmm8,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  243,71,15,16,4,144                  ; movss         (%r8,%r10,4),%xmm8
+  DB  243,67,15,16,4,152                  ; movss         (%r8,%r11,4),%xmm0
+  DB  65,15,20,192                        ; unpcklps      %xmm8,%xmm0
+  DB  243,69,15,16,4,128                  ; movss         (%r8,%rax,4),%xmm8
+  DB  243,71,15,16,12,136                 ; movss         (%r8,%r9,4),%xmm9
+  DB  69,15,20,200                        ; unpcklps      %xmm8,%xmm9
+  DB  102,65,15,20,193                    ; unpcklpd      %xmm9,%xmm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_table_g_sse2
+_sk_table_g_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  139,64,8                            ; mov           0x8(%rax),%eax
+  DB  255,200                             ; dec           %eax
+  DB  102,68,15,110,192                   ; movd          %eax,%xmm8
+  DB  102,69,15,112,192,0                 ; pshufd        $0x0,%xmm8,%xmm8
+  DB  69,15,91,192                        ; cvtdq2ps      %xmm8,%xmm8
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,95,201                        ; maxps         %xmm1,%xmm9
+  DB  68,15,93,13,132,79,1,0              ; minps         0x14f84(%rip),%xmm9        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
+  DB  102,69,15,91,193                    ; cvtps2dq      %xmm9,%xmm8
+  DB  102,65,15,112,200,78                ; pshufd        $0x4e,%xmm8,%xmm1
+  DB  102,72,15,126,200                   ; movq          %xmm1,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  102,77,15,126,194                   ; movq          %xmm8,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  243,71,15,16,4,144                  ; movss         (%r8,%r10,4),%xmm8
+  DB  243,67,15,16,12,152                 ; movss         (%r8,%r11,4),%xmm1
+  DB  65,15,20,200                        ; unpcklps      %xmm8,%xmm1
+  DB  243,69,15,16,4,128                  ; movss         (%r8,%rax,4),%xmm8
+  DB  243,71,15,16,12,136                 ; movss         (%r8,%r9,4),%xmm9
+  DB  69,15,20,200                        ; unpcklps      %xmm8,%xmm9
+  DB  102,65,15,20,201                    ; unpcklpd      %xmm9,%xmm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_table_b_sse2
+_sk_table_b_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  139,64,8                            ; mov           0x8(%rax),%eax
+  DB  255,200                             ; dec           %eax
+  DB  102,68,15,110,192                   ; movd          %eax,%xmm8
+  DB  102,69,15,112,192,0                 ; pshufd        $0x0,%xmm8,%xmm8
+  DB  69,15,91,192                        ; cvtdq2ps      %xmm8,%xmm8
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,95,202                        ; maxps         %xmm2,%xmm9
+  DB  68,15,93,13,11,79,1,0               ; minps         0x14f0b(%rip),%xmm9        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
+  DB  102,69,15,91,193                    ; cvtps2dq      %xmm9,%xmm8
+  DB  102,65,15,112,208,78                ; pshufd        $0x4e,%xmm8,%xmm2
+  DB  102,72,15,126,208                   ; movq          %xmm2,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  102,77,15,126,194                   ; movq          %xmm8,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  243,71,15,16,4,144                  ; movss         (%r8,%r10,4),%xmm8
+  DB  243,67,15,16,20,152                 ; movss         (%r8,%r11,4),%xmm2
+  DB  65,15,20,208                        ; unpcklps      %xmm8,%xmm2
+  DB  243,69,15,16,4,128                  ; movss         (%r8,%rax,4),%xmm8
+  DB  243,71,15,16,12,136                 ; movss         (%r8,%r9,4),%xmm9
+  DB  69,15,20,200                        ; unpcklps      %xmm8,%xmm9
+  DB  102,65,15,20,209                    ; unpcklpd      %xmm9,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_table_a_sse2
+_sk_table_a_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  139,64,8                            ; mov           0x8(%rax),%eax
+  DB  255,200                             ; dec           %eax
+  DB  102,68,15,110,192                   ; movd          %eax,%xmm8
+  DB  102,69,15,112,192,0                 ; pshufd        $0x0,%xmm8,%xmm8
+  DB  69,15,91,192                        ; cvtdq2ps      %xmm8,%xmm8
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,95,203                        ; maxps         %xmm3,%xmm9
+  DB  68,15,93,13,146,78,1,0              ; minps         0x14e92(%rip),%xmm9        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
+  DB  102,69,15,91,193                    ; cvtps2dq      %xmm9,%xmm8
+  DB  102,65,15,112,216,78                ; pshufd        $0x4e,%xmm8,%xmm3
+  DB  102,72,15,126,216                   ; movq          %xmm3,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  102,77,15,126,194                   ; movq          %xmm8,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  243,71,15,16,4,144                  ; movss         (%r8,%r10,4),%xmm8
+  DB  243,67,15,16,28,152                 ; movss         (%r8,%r11,4),%xmm3
+  DB  65,15,20,216                        ; unpcklps      %xmm8,%xmm3
+  DB  243,69,15,16,4,128                  ; movss         (%r8,%rax,4),%xmm8
+  DB  243,71,15,16,12,136                 ; movss         (%r8,%r9,4),%xmm9
+  DB  69,15,20,200                        ; unpcklps      %xmm8,%xmm9
+  DB  102,65,15,20,217                    ; unpcklpd      %xmm9,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_parametric_r_sse2
+_sk_parametric_r_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,80,16                  ; movss         0x10(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  243,68,15,16,64,12                  ; movss         0xc(%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  68,15,89,192                        ; mulps         %xmm0,%xmm8
+  DB  243,68,15,16,72,4                   ; movss         0x4(%rax),%xmm9
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  68,15,89,200                        ; mulps         %xmm0,%xmm9
+  DB  65,15,194,194,2                     ; cmpleps       %xmm10,%xmm0
+  DB  243,68,15,16,80,24                  ; movss         0x18(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  69,15,88,194                        ; addps         %xmm10,%xmm8
+  DB  243,68,15,16,32                     ; movss         (%rax),%xmm12
+  DB  243,68,15,16,80,8                   ; movss         0x8(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  69,15,88,202                        ; addps         %xmm10,%xmm9
+  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
+  DB  69,15,87,210                        ; xorps         %xmm10,%xmm10
+  DB  69,15,91,217                        ; cvtdq2ps      %xmm9,%xmm11
+  DB  68,15,89,29,138,80,1,0              ; mulps         0x1508a(%rip),%xmm11        # 35760 <_sk_srcover_bgra_8888_sse2_lowp+0xf48>
+  DB  68,15,40,45,146,80,1,0              ; movaps        0x15092(%rip),%xmm13        # 35770 <_sk_srcover_bgra_8888_sse2_lowp+0xf58>
+  DB  69,15,84,233                        ; andps         %xmm9,%xmm13
+  DB  68,15,86,45,182,77,1,0              ; orps          0x14db6(%rip),%xmm13        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  68,15,88,29,142,80,1,0              ; addps         0x1508e(%rip),%xmm11        # 35780 <_sk_srcover_bgra_8888_sse2_lowp+0xf68>
+  DB  68,15,40,53,150,80,1,0              ; movaps        0x15096(%rip),%xmm14        # 35790 <_sk_srcover_bgra_8888_sse2_lowp+0xf78>
+  DB  69,15,89,245                        ; mulps         %xmm13,%xmm14
+  DB  69,15,92,222                        ; subps         %xmm14,%xmm11
+  DB  68,15,88,45,150,80,1,0              ; addps         0x15096(%rip),%xmm13        # 357a0 <_sk_srcover_bgra_8888_sse2_lowp+0xf88>
+  DB  68,15,40,53,158,80,1,0              ; movaps        0x1509e(%rip),%xmm14        # 357b0 <_sk_srcover_bgra_8888_sse2_lowp+0xf98>
+  DB  69,15,94,245                        ; divps         %xmm13,%xmm14
+  DB  69,15,92,222                        ; subps         %xmm14,%xmm11
+  DB  69,15,89,220                        ; mulps         %xmm12,%xmm11
+  DB  243,69,15,91,227                    ; cvttps2dq     %xmm11,%xmm12
+  DB  69,15,91,236                        ; cvtdq2ps      %xmm12,%xmm13
+  DB  69,15,40,243                        ; movaps        %xmm11,%xmm14
+  DB  69,15,194,245,1                     ; cmpltps       %xmm13,%xmm14
+  DB  68,15,40,37,120,77,1,0              ; movaps        0x14d78(%rip),%xmm12        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,84,244                        ; andps         %xmm12,%xmm14
+  DB  69,15,92,238                        ; subps         %xmm14,%xmm13
+  DB  69,15,40,243                        ; movaps        %xmm11,%xmm14
+  DB  69,15,92,245                        ; subps         %xmm13,%xmm14
+  DB  68,15,88,29,112,80,1,0              ; addps         0x15070(%rip),%xmm11        # 357c0 <_sk_srcover_bgra_8888_sse2_lowp+0xfa8>
+  DB  68,15,40,45,120,80,1,0              ; movaps        0x15078(%rip),%xmm13        # 357d0 <_sk_srcover_bgra_8888_sse2_lowp+0xfb8>
+  DB  69,15,89,238                        ; mulps         %xmm14,%xmm13
+  DB  69,15,92,221                        ; subps         %xmm13,%xmm11
+  DB  68,15,40,45,120,80,1,0              ; movaps        0x15078(%rip),%xmm13        # 357e0 <_sk_srcover_bgra_8888_sse2_lowp+0xfc8>
+  DB  69,15,92,238                        ; subps         %xmm14,%xmm13
+  DB  68,15,40,53,124,80,1,0              ; movaps        0x1507c(%rip),%xmm14        # 357f0 <_sk_srcover_bgra_8888_sse2_lowp+0xfd8>
+  DB  69,15,94,245                        ; divps         %xmm13,%xmm14
+  DB  69,15,88,243                        ; addps         %xmm11,%xmm14
+  DB  68,15,89,53,124,80,1,0              ; mulps         0x1507c(%rip),%xmm14        # 35800 <_sk_srcover_bgra_8888_sse2_lowp+0xfe8>
+  DB  102,69,15,91,222                    ; cvtps2dq      %xmm14,%xmm11
+  DB  69,15,194,202,4                     ; cmpneqps      %xmm10,%xmm9
+  DB  69,15,84,203                        ; andps         %xmm11,%xmm9
+  DB  243,68,15,16,88,20                  ; movss         0x14(%rax),%xmm11
+  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
+  DB  69,15,88,217                        ; addps         %xmm9,%xmm11
+  DB  68,15,84,192                        ; andps         %xmm0,%xmm8
+  DB  65,15,85,195                        ; andnps        %xmm11,%xmm0
+  DB  65,15,86,192                        ; orps          %xmm8,%xmm0
+  DB  65,15,95,194                        ; maxps         %xmm10,%xmm0
+  DB  65,15,93,196                        ; minps         %xmm12,%xmm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_parametric_g_sse2
+_sk_parametric_g_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,80,16                  ; movss         0x10(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  243,68,15,16,64,12                  ; movss         0xc(%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  68,15,89,193                        ; mulps         %xmm1,%xmm8
+  DB  243,68,15,16,72,4                   ; movss         0x4(%rax),%xmm9
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  68,15,89,201                        ; mulps         %xmm1,%xmm9
+  DB  65,15,194,202,2                     ; cmpleps       %xmm10,%xmm1
+  DB  243,68,15,16,80,24                  ; movss         0x18(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  69,15,88,194                        ; addps         %xmm10,%xmm8
+  DB  243,68,15,16,32                     ; movss         (%rax),%xmm12
+  DB  243,68,15,16,80,8                   ; movss         0x8(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  69,15,88,202                        ; addps         %xmm10,%xmm9
+  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
+  DB  69,15,87,210                        ; xorps         %xmm10,%xmm10
+  DB  69,15,91,217                        ; cvtdq2ps      %xmm9,%xmm11
+  DB  68,15,89,29,63,79,1,0               ; mulps         0x14f3f(%rip),%xmm11        # 35760 <_sk_srcover_bgra_8888_sse2_lowp+0xf48>
+  DB  68,15,40,45,71,79,1,0               ; movaps        0x14f47(%rip),%xmm13        # 35770 <_sk_srcover_bgra_8888_sse2_lowp+0xf58>
+  DB  69,15,84,233                        ; andps         %xmm9,%xmm13
+  DB  68,15,86,45,107,76,1,0              ; orps          0x14c6b(%rip),%xmm13        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  68,15,88,29,67,79,1,0               ; addps         0x14f43(%rip),%xmm11        # 35780 <_sk_srcover_bgra_8888_sse2_lowp+0xf68>
+  DB  68,15,40,53,75,79,1,0               ; movaps        0x14f4b(%rip),%xmm14        # 35790 <_sk_srcover_bgra_8888_sse2_lowp+0xf78>
+  DB  69,15,89,245                        ; mulps         %xmm13,%xmm14
+  DB  69,15,92,222                        ; subps         %xmm14,%xmm11
+  DB  68,15,88,45,75,79,1,0               ; addps         0x14f4b(%rip),%xmm13        # 357a0 <_sk_srcover_bgra_8888_sse2_lowp+0xf88>
+  DB  68,15,40,53,83,79,1,0               ; movaps        0x14f53(%rip),%xmm14        # 357b0 <_sk_srcover_bgra_8888_sse2_lowp+0xf98>
+  DB  69,15,94,245                        ; divps         %xmm13,%xmm14
+  DB  69,15,92,222                        ; subps         %xmm14,%xmm11
+  DB  69,15,89,220                        ; mulps         %xmm12,%xmm11
+  DB  243,69,15,91,227                    ; cvttps2dq     %xmm11,%xmm12
+  DB  69,15,91,236                        ; cvtdq2ps      %xmm12,%xmm13
+  DB  69,15,40,243                        ; movaps        %xmm11,%xmm14
+  DB  69,15,194,245,1                     ; cmpltps       %xmm13,%xmm14
+  DB  68,15,40,37,45,76,1,0               ; movaps        0x14c2d(%rip),%xmm12        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,84,244                        ; andps         %xmm12,%xmm14
+  DB  69,15,92,238                        ; subps         %xmm14,%xmm13
+  DB  69,15,40,243                        ; movaps        %xmm11,%xmm14
+  DB  69,15,92,245                        ; subps         %xmm13,%xmm14
+  DB  68,15,88,29,37,79,1,0               ; addps         0x14f25(%rip),%xmm11        # 357c0 <_sk_srcover_bgra_8888_sse2_lowp+0xfa8>
+  DB  68,15,40,45,45,79,1,0               ; movaps        0x14f2d(%rip),%xmm13        # 357d0 <_sk_srcover_bgra_8888_sse2_lowp+0xfb8>
+  DB  69,15,89,238                        ; mulps         %xmm14,%xmm13
+  DB  69,15,92,221                        ; subps         %xmm13,%xmm11
+  DB  68,15,40,45,45,79,1,0               ; movaps        0x14f2d(%rip),%xmm13        # 357e0 <_sk_srcover_bgra_8888_sse2_lowp+0xfc8>
+  DB  69,15,92,238                        ; subps         %xmm14,%xmm13
+  DB  68,15,40,53,49,79,1,0               ; movaps        0x14f31(%rip),%xmm14        # 357f0 <_sk_srcover_bgra_8888_sse2_lowp+0xfd8>
+  DB  69,15,94,245                        ; divps         %xmm13,%xmm14
+  DB  69,15,88,243                        ; addps         %xmm11,%xmm14
+  DB  68,15,89,53,49,79,1,0               ; mulps         0x14f31(%rip),%xmm14        # 35800 <_sk_srcover_bgra_8888_sse2_lowp+0xfe8>
+  DB  102,69,15,91,222                    ; cvtps2dq      %xmm14,%xmm11
+  DB  69,15,194,202,4                     ; cmpneqps      %xmm10,%xmm9
+  DB  69,15,84,203                        ; andps         %xmm11,%xmm9
+  DB  243,68,15,16,88,20                  ; movss         0x14(%rax),%xmm11
+  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
+  DB  69,15,88,217                        ; addps         %xmm9,%xmm11
+  DB  68,15,84,193                        ; andps         %xmm1,%xmm8
+  DB  65,15,85,203                        ; andnps        %xmm11,%xmm1
+  DB  65,15,86,200                        ; orps          %xmm8,%xmm1
+  DB  65,15,95,202                        ; maxps         %xmm10,%xmm1
+  DB  65,15,93,204                        ; minps         %xmm12,%xmm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_parametric_b_sse2
+_sk_parametric_b_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,80,16                  ; movss         0x10(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  243,68,15,16,64,12                  ; movss         0xc(%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  68,15,89,194                        ; mulps         %xmm2,%xmm8
+  DB  243,68,15,16,72,4                   ; movss         0x4(%rax),%xmm9
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  68,15,89,202                        ; mulps         %xmm2,%xmm9
+  DB  65,15,194,210,2                     ; cmpleps       %xmm10,%xmm2
+  DB  243,68,15,16,80,24                  ; movss         0x18(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  69,15,88,194                        ; addps         %xmm10,%xmm8
+  DB  243,68,15,16,32                     ; movss         (%rax),%xmm12
+  DB  243,68,15,16,80,8                   ; movss         0x8(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  69,15,88,202                        ; addps         %xmm10,%xmm9
+  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
+  DB  69,15,87,210                        ; xorps         %xmm10,%xmm10
+  DB  69,15,91,217                        ; cvtdq2ps      %xmm9,%xmm11
+  DB  68,15,89,29,244,77,1,0              ; mulps         0x14df4(%rip),%xmm11        # 35760 <_sk_srcover_bgra_8888_sse2_lowp+0xf48>
+  DB  68,15,40,45,252,77,1,0              ; movaps        0x14dfc(%rip),%xmm13        # 35770 <_sk_srcover_bgra_8888_sse2_lowp+0xf58>
+  DB  69,15,84,233                        ; andps         %xmm9,%xmm13
+  DB  68,15,86,45,32,75,1,0               ; orps          0x14b20(%rip),%xmm13        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  68,15,88,29,248,77,1,0              ; addps         0x14df8(%rip),%xmm11        # 35780 <_sk_srcover_bgra_8888_sse2_lowp+0xf68>
+  DB  68,15,40,53,0,78,1,0                ; movaps        0x14e00(%rip),%xmm14        # 35790 <_sk_srcover_bgra_8888_sse2_lowp+0xf78>
+  DB  69,15,89,245                        ; mulps         %xmm13,%xmm14
+  DB  69,15,92,222                        ; subps         %xmm14,%xmm11
+  DB  68,15,88,45,0,78,1,0                ; addps         0x14e00(%rip),%xmm13        # 357a0 <_sk_srcover_bgra_8888_sse2_lowp+0xf88>
+  DB  68,15,40,53,8,78,1,0                ; movaps        0x14e08(%rip),%xmm14        # 357b0 <_sk_srcover_bgra_8888_sse2_lowp+0xf98>
+  DB  69,15,94,245                        ; divps         %xmm13,%xmm14
+  DB  69,15,92,222                        ; subps         %xmm14,%xmm11
+  DB  69,15,89,220                        ; mulps         %xmm12,%xmm11
+  DB  243,69,15,91,227                    ; cvttps2dq     %xmm11,%xmm12
+  DB  69,15,91,236                        ; cvtdq2ps      %xmm12,%xmm13
+  DB  69,15,40,243                        ; movaps        %xmm11,%xmm14
+  DB  69,15,194,245,1                     ; cmpltps       %xmm13,%xmm14
+  DB  68,15,40,37,226,74,1,0              ; movaps        0x14ae2(%rip),%xmm12        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,84,244                        ; andps         %xmm12,%xmm14
+  DB  69,15,92,238                        ; subps         %xmm14,%xmm13
+  DB  69,15,40,243                        ; movaps        %xmm11,%xmm14
+  DB  69,15,92,245                        ; subps         %xmm13,%xmm14
+  DB  68,15,88,29,218,77,1,0              ; addps         0x14dda(%rip),%xmm11        # 357c0 <_sk_srcover_bgra_8888_sse2_lowp+0xfa8>
+  DB  68,15,40,45,226,77,1,0              ; movaps        0x14de2(%rip),%xmm13        # 357d0 <_sk_srcover_bgra_8888_sse2_lowp+0xfb8>
+  DB  69,15,89,238                        ; mulps         %xmm14,%xmm13
+  DB  69,15,92,221                        ; subps         %xmm13,%xmm11
+  DB  68,15,40,45,226,77,1,0              ; movaps        0x14de2(%rip),%xmm13        # 357e0 <_sk_srcover_bgra_8888_sse2_lowp+0xfc8>
+  DB  69,15,92,238                        ; subps         %xmm14,%xmm13
+  DB  68,15,40,53,230,77,1,0              ; movaps        0x14de6(%rip),%xmm14        # 357f0 <_sk_srcover_bgra_8888_sse2_lowp+0xfd8>
+  DB  69,15,94,245                        ; divps         %xmm13,%xmm14
+  DB  69,15,88,243                        ; addps         %xmm11,%xmm14
+  DB  68,15,89,53,230,77,1,0              ; mulps         0x14de6(%rip),%xmm14        # 35800 <_sk_srcover_bgra_8888_sse2_lowp+0xfe8>
+  DB  102,69,15,91,222                    ; cvtps2dq      %xmm14,%xmm11
+  DB  69,15,194,202,4                     ; cmpneqps      %xmm10,%xmm9
+  DB  69,15,84,203                        ; andps         %xmm11,%xmm9
+  DB  243,68,15,16,88,20                  ; movss         0x14(%rax),%xmm11
+  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
+  DB  69,15,88,217                        ; addps         %xmm9,%xmm11
+  DB  68,15,84,194                        ; andps         %xmm2,%xmm8
+  DB  65,15,85,211                        ; andnps        %xmm11,%xmm2
+  DB  65,15,86,208                        ; orps          %xmm8,%xmm2
+  DB  65,15,95,210                        ; maxps         %xmm10,%xmm2
+  DB  65,15,93,212                        ; minps         %xmm12,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_parametric_a_sse2
+_sk_parametric_a_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,80,16                  ; movss         0x10(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  243,68,15,16,64,12                  ; movss         0xc(%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  68,15,89,195                        ; mulps         %xmm3,%xmm8
+  DB  243,68,15,16,72,4                   ; movss         0x4(%rax),%xmm9
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  68,15,89,203                        ; mulps         %xmm3,%xmm9
+  DB  65,15,194,218,2                     ; cmpleps       %xmm10,%xmm3
+  DB  243,68,15,16,80,24                  ; movss         0x18(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  69,15,88,194                        ; addps         %xmm10,%xmm8
+  DB  243,68,15,16,32                     ; movss         (%rax),%xmm12
+  DB  243,68,15,16,80,8                   ; movss         0x8(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  69,15,88,202                        ; addps         %xmm10,%xmm9
+  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
+  DB  69,15,87,210                        ; xorps         %xmm10,%xmm10
+  DB  69,15,91,217                        ; cvtdq2ps      %xmm9,%xmm11
+  DB  68,15,89,29,169,76,1,0              ; mulps         0x14ca9(%rip),%xmm11        # 35760 <_sk_srcover_bgra_8888_sse2_lowp+0xf48>
+  DB  68,15,40,45,177,76,1,0              ; movaps        0x14cb1(%rip),%xmm13        # 35770 <_sk_srcover_bgra_8888_sse2_lowp+0xf58>
+  DB  69,15,84,233                        ; andps         %xmm9,%xmm13
+  DB  68,15,86,45,213,73,1,0              ; orps          0x149d5(%rip),%xmm13        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  68,15,88,29,173,76,1,0              ; addps         0x14cad(%rip),%xmm11        # 35780 <_sk_srcover_bgra_8888_sse2_lowp+0xf68>
+  DB  68,15,40,53,181,76,1,0              ; movaps        0x14cb5(%rip),%xmm14        # 35790 <_sk_srcover_bgra_8888_sse2_lowp+0xf78>
+  DB  69,15,89,245                        ; mulps         %xmm13,%xmm14
+  DB  69,15,92,222                        ; subps         %xmm14,%xmm11
+  DB  68,15,88,45,181,76,1,0              ; addps         0x14cb5(%rip),%xmm13        # 357a0 <_sk_srcover_bgra_8888_sse2_lowp+0xf88>
+  DB  68,15,40,53,189,76,1,0              ; movaps        0x14cbd(%rip),%xmm14        # 357b0 <_sk_srcover_bgra_8888_sse2_lowp+0xf98>
+  DB  69,15,94,245                        ; divps         %xmm13,%xmm14
+  DB  69,15,92,222                        ; subps         %xmm14,%xmm11
+  DB  69,15,89,220                        ; mulps         %xmm12,%xmm11
+  DB  243,69,15,91,227                    ; cvttps2dq     %xmm11,%xmm12
+  DB  69,15,91,236                        ; cvtdq2ps      %xmm12,%xmm13
+  DB  69,15,40,243                        ; movaps        %xmm11,%xmm14
+  DB  69,15,194,245,1                     ; cmpltps       %xmm13,%xmm14
+  DB  68,15,40,37,151,73,1,0              ; movaps        0x14997(%rip),%xmm12        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,84,244                        ; andps         %xmm12,%xmm14
+  DB  69,15,92,238                        ; subps         %xmm14,%xmm13
+  DB  69,15,40,243                        ; movaps        %xmm11,%xmm14
+  DB  69,15,92,245                        ; subps         %xmm13,%xmm14
+  DB  68,15,88,29,143,76,1,0              ; addps         0x14c8f(%rip),%xmm11        # 357c0 <_sk_srcover_bgra_8888_sse2_lowp+0xfa8>
+  DB  68,15,40,45,151,76,1,0              ; movaps        0x14c97(%rip),%xmm13        # 357d0 <_sk_srcover_bgra_8888_sse2_lowp+0xfb8>
+  DB  69,15,89,238                        ; mulps         %xmm14,%xmm13
+  DB  69,15,92,221                        ; subps         %xmm13,%xmm11
+  DB  68,15,40,45,151,76,1,0              ; movaps        0x14c97(%rip),%xmm13        # 357e0 <_sk_srcover_bgra_8888_sse2_lowp+0xfc8>
+  DB  69,15,92,238                        ; subps         %xmm14,%xmm13
+  DB  68,15,40,53,155,76,1,0              ; movaps        0x14c9b(%rip),%xmm14        # 357f0 <_sk_srcover_bgra_8888_sse2_lowp+0xfd8>
+  DB  69,15,94,245                        ; divps         %xmm13,%xmm14
+  DB  69,15,88,243                        ; addps         %xmm11,%xmm14
+  DB  68,15,89,53,155,76,1,0              ; mulps         0x14c9b(%rip),%xmm14        # 35800 <_sk_srcover_bgra_8888_sse2_lowp+0xfe8>
+  DB  102,69,15,91,222                    ; cvtps2dq      %xmm14,%xmm11
+  DB  69,15,194,202,4                     ; cmpneqps      %xmm10,%xmm9
+  DB  69,15,84,203                        ; andps         %xmm11,%xmm9
+  DB  243,68,15,16,88,20                  ; movss         0x14(%rax),%xmm11
+  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
+  DB  69,15,88,217                        ; addps         %xmm9,%xmm11
+  DB  68,15,84,195                        ; andps         %xmm3,%xmm8
+  DB  65,15,85,219                        ; andnps        %xmm11,%xmm3
+  DB  65,15,86,216                        ; orps          %xmm8,%xmm3
+  DB  65,15,95,218                        ; maxps         %xmm10,%xmm3
+  DB  65,15,93,220                        ; minps         %xmm12,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_gamma_sse2
+_sk_gamma_sse2 LABEL PROC
+  DB  72,131,236,88                       ; sub           $0x58,%rsp
+  DB  15,41,124,36,64                     ; movaps        %xmm7,0x40(%rsp)
+  DB  15,41,116,36,48                     ; movaps        %xmm6,0x30(%rsp)
+  DB  15,41,108,36,32                     ; movaps        %xmm5,0x20(%rsp)
+  DB  15,41,100,36,16                     ; movaps        %xmm4,0x10(%rsp)
+  DB  15,41,28,36                         ; movaps        %xmm3,(%rsp)
+  DB  68,15,40,226                        ; movaps        %xmm2,%xmm12
+  DB  68,15,40,209                        ; movaps        %xmm1,%xmm10
+  DB  15,40,224                           ; movaps        %xmm0,%xmm4
+  DB  15,91,244                           ; cvtdq2ps      %xmm4,%xmm6
+  DB  15,40,5,149,75,1,0                  ; movaps        0x14b95(%rip),%xmm0        # 35760 <_sk_srcover_bgra_8888_sse2_lowp+0xf48>
+  DB  15,89,240                           ; mulps         %xmm0,%xmm6
+  DB  15,40,232                           ; movaps        %xmm0,%xmm5
+  DB  68,15,40,5,151,75,1,0               ; movaps        0x14b97(%rip),%xmm8        # 35770 <_sk_srcover_bgra_8888_sse2_lowp+0xf58>
+  DB  15,40,196                           ; movaps        %xmm4,%xmm0
+  DB  65,15,84,192                        ; andps         %xmm8,%xmm0
+  DB  15,86,5,185,72,1,0                  ; orps          0x148b9(%rip),%xmm0        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  15,88,53,146,75,1,0                 ; addps         0x14b92(%rip),%xmm6        # 35780 <_sk_srcover_bgra_8888_sse2_lowp+0xf68>
+  DB  68,15,40,29,154,75,1,0              ; movaps        0x14b9a(%rip),%xmm11        # 35790 <_sk_srcover_bgra_8888_sse2_lowp+0xf78>
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  65,15,89,203                        ; mulps         %xmm11,%xmm1
+  DB  15,92,241                           ; subps         %xmm1,%xmm6
+  DB  68,15,40,61,152,75,1,0              ; movaps        0x14b98(%rip),%xmm15        # 357a0 <_sk_srcover_bgra_8888_sse2_lowp+0xf88>
+  DB  65,15,88,199                        ; addps         %xmm15,%xmm0
+  DB  68,15,40,45,156,75,1,0              ; movaps        0x14b9c(%rip),%xmm13        # 357b0 <_sk_srcover_bgra_8888_sse2_lowp+0xf98>
+  DB  65,15,40,205                        ; movaps        %xmm13,%xmm1
+  DB  15,94,200                           ; divps         %xmm0,%xmm1
+  DB  15,92,241                           ; subps         %xmm1,%xmm6
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,15,16,24                        ; movss         (%rax),%xmm3
+  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
+  DB  15,89,243                           ; mulps         %xmm3,%xmm6
+  DB  243,15,91,198                       ; cvttps2dq     %xmm6,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  15,40,206                           ; movaps        %xmm6,%xmm1
+  DB  15,194,200,1                        ; cmpltps       %xmm0,%xmm1
+  DB  15,84,13,112,72,1,0                 ; andps         0x14870(%rip),%xmm1        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  15,92,193                           ; subps         %xmm1,%xmm0
+  DB  15,40,206                           ; movaps        %xmm6,%xmm1
+  DB  15,92,200                           ; subps         %xmm0,%xmm1
+  DB  15,88,53,112,75,1,0                 ; addps         0x14b70(%rip),%xmm6        # 357c0 <_sk_srcover_bgra_8888_sse2_lowp+0xfa8>
+  DB  15,40,21,137,75,1,0                 ; movaps        0x14b89(%rip),%xmm2        # 357e0 <_sk_srcover_bgra_8888_sse2_lowp+0xfc8>
+  DB  68,15,40,202                        ; movaps        %xmm2,%xmm9
+  DB  68,15,92,201                        ; subps         %xmm1,%xmm9
+  DB  15,40,193                           ; movaps        %xmm1,%xmm0
+  DB  15,40,13,103,75,1,0                 ; movaps        0x14b67(%rip),%xmm1        # 357d0 <_sk_srcover_bgra_8888_sse2_lowp+0xfb8>
+  DB  15,89,193                           ; mulps         %xmm1,%xmm0
+  DB  15,92,240                           ; subps         %xmm0,%xmm6
+  DB  68,15,40,53,121,75,1,0              ; movaps        0x14b79(%rip),%xmm14        # 357f0 <_sk_srcover_bgra_8888_sse2_lowp+0xfd8>
+  DB  65,15,40,198                        ; movaps        %xmm14,%xmm0
+  DB  65,15,94,193                        ; divps         %xmm9,%xmm0
+  DB  15,88,198                           ; addps         %xmm6,%xmm0
+  DB  68,15,40,13,118,75,1,0              ; movaps        0x14b76(%rip),%xmm9        # 35800 <_sk_srcover_bgra_8888_sse2_lowp+0xfe8>
+  DB  65,15,89,193                        ; mulps         %xmm9,%xmm0
+  DB  102,15,91,192                       ; cvtps2dq      %xmm0,%xmm0
+  DB  15,87,246                           ; xorps         %xmm6,%xmm6
+  DB  15,194,230,4                        ; cmpneqps      %xmm6,%xmm4
+  DB  15,84,224                           ; andps         %xmm0,%xmm4
+  DB  65,15,91,194                        ; cvtdq2ps      %xmm10,%xmm0
+  DB  15,89,197                           ; mulps         %xmm5,%xmm0
+  DB  65,15,40,250                        ; movaps        %xmm10,%xmm7
+  DB  65,15,84,248                        ; andps         %xmm8,%xmm7
+  DB  15,40,53,238,71,1,0                 ; movaps        0x147ee(%rip),%xmm6        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  15,86,254                           ; orps          %xmm6,%xmm7
+  DB  15,88,5,196,74,1,0                  ; addps         0x14ac4(%rip),%xmm0        # 35780 <_sk_srcover_bgra_8888_sse2_lowp+0xf68>
+  DB  15,40,239                           ; movaps        %xmm7,%xmm5
+  DB  65,15,89,235                        ; mulps         %xmm11,%xmm5
+  DB  15,92,197                           ; subps         %xmm5,%xmm0
+  DB  65,15,88,255                        ; addps         %xmm15,%xmm7
+  DB  65,15,40,237                        ; movaps        %xmm13,%xmm5
+  DB  15,94,239                           ; divps         %xmm7,%xmm5
+  DB  15,92,197                           ; subps         %xmm5,%xmm0
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  243,15,91,232                       ; cvttps2dq     %xmm0,%xmm5
+  DB  15,91,237                           ; cvtdq2ps      %xmm5,%xmm5
+  DB  15,40,248                           ; movaps        %xmm0,%xmm7
+  DB  15,194,253,1                        ; cmpltps       %xmm5,%xmm7
+  DB  68,15,40,61,195,71,1,0              ; movaps        0x147c3(%rip),%xmm15        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  65,15,84,255                        ; andps         %xmm15,%xmm7
+  DB  15,92,239                           ; subps         %xmm7,%xmm5
+  DB  15,40,248                           ; movaps        %xmm0,%xmm7
+  DB  15,92,253                           ; subps         %xmm5,%xmm7
+  DB  15,88,5,191,74,1,0                  ; addps         0x14abf(%rip),%xmm0        # 357c0 <_sk_srcover_bgra_8888_sse2_lowp+0xfa8>
+  DB  15,40,234                           ; movaps        %xmm2,%xmm5
+  DB  15,92,239                           ; subps         %xmm7,%xmm5
+  DB  15,89,249                           ; mulps         %xmm1,%xmm7
+  DB  15,92,199                           ; subps         %xmm7,%xmm0
+  DB  65,15,40,254                        ; movaps        %xmm14,%xmm7
+  DB  15,94,253                           ; divps         %xmm5,%xmm7
+  DB  15,88,248                           ; addps         %xmm0,%xmm7
+  DB  65,15,89,249                        ; mulps         %xmm9,%xmm7
+  DB  102,15,91,199                       ; cvtps2dq      %xmm7,%xmm0
+  DB  15,87,255                           ; xorps         %xmm7,%xmm7
+  DB  68,15,194,215,4                     ; cmpneqps      %xmm7,%xmm10
+  DB  68,15,84,208                        ; andps         %xmm0,%xmm10
+  DB  65,15,91,196                        ; cvtdq2ps      %xmm12,%xmm0
+  DB  15,89,5,42,74,1,0                   ; mulps         0x14a2a(%rip),%xmm0        # 35760 <_sk_srcover_bgra_8888_sse2_lowp+0xf48>
+  DB  69,15,84,196                        ; andps         %xmm12,%xmm8
+  DB  68,15,86,198                        ; orps          %xmm6,%xmm8
+  DB  15,88,5,59,74,1,0                   ; addps         0x14a3b(%rip),%xmm0        # 35780 <_sk_srcover_bgra_8888_sse2_lowp+0xf68>
+  DB  69,15,89,216                        ; mulps         %xmm8,%xmm11
+  DB  65,15,92,195                        ; subps         %xmm11,%xmm0
+  DB  68,15,88,5,75,74,1,0                ; addps         0x14a4b(%rip),%xmm8        # 357a0 <_sk_srcover_bgra_8888_sse2_lowp+0xf88>
+  DB  69,15,94,232                        ; divps         %xmm8,%xmm13
+  DB  65,15,92,197                        ; subps         %xmm13,%xmm0
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  243,15,91,216                       ; cvttps2dq     %xmm0,%xmm3
+  DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
+  DB  15,40,232                           ; movaps        %xmm0,%xmm5
+  DB  15,194,235,1                        ; cmpltps       %xmm3,%xmm5
+  DB  65,15,84,239                        ; andps         %xmm15,%xmm5
+  DB  15,92,221                           ; subps         %xmm5,%xmm3
+  DB  15,40,232                           ; movaps        %xmm0,%xmm5
+  DB  15,92,235                           ; subps         %xmm3,%xmm5
+  DB  15,88,5,62,74,1,0                   ; addps         0x14a3e(%rip),%xmm0        # 357c0 <_sk_srcover_bgra_8888_sse2_lowp+0xfa8>
+  DB  15,89,205                           ; mulps         %xmm5,%xmm1
+  DB  15,92,193                           ; subps         %xmm1,%xmm0
+  DB  15,92,213                           ; subps         %xmm5,%xmm2
+  DB  68,15,94,242                        ; divps         %xmm2,%xmm14
+  DB  68,15,88,240                        ; addps         %xmm0,%xmm14
+  DB  69,15,89,241                        ; mulps         %xmm9,%xmm14
+  DB  68,15,194,231,4                     ; cmpneqps      %xmm7,%xmm12
+  DB  102,65,15,91,198                    ; cvtps2dq      %xmm14,%xmm0
+  DB  68,15,84,224                        ; andps         %xmm0,%xmm12
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,196                           ; movaps        %xmm4,%xmm0
+  DB  65,15,40,202                        ; movaps        %xmm10,%xmm1
+  DB  65,15,40,212                        ; movaps        %xmm12,%xmm2
+  DB  15,40,28,36                         ; movaps        (%rsp),%xmm3
+  DB  15,40,100,36,16                     ; movaps        0x10(%rsp),%xmm4
+  DB  15,40,108,36,32                     ; movaps        0x20(%rsp),%xmm5
+  DB  15,40,116,36,48                     ; movaps        0x30(%rsp),%xmm6
+  DB  15,40,124,36,64                     ; movaps        0x40(%rsp),%xmm7
+  DB  72,131,196,88                       ; add           $0x58,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_gamma_dst_sse2
+_sk_gamma_dst_sse2 LABEL PROC
+  DB  72,131,236,88                       ; sub           $0x58,%rsp
+  DB  15,41,124,36,64                     ; movaps        %xmm7,0x40(%rsp)
+  DB  68,15,40,230                        ; movaps        %xmm6,%xmm12
+  DB  68,15,40,213                        ; movaps        %xmm5,%xmm10
+  DB  15,40,236                           ; movaps        %xmm4,%xmm5
+  DB  15,41,92,36,48                      ; movaps        %xmm3,0x30(%rsp)
+  DB  15,41,84,36,32                      ; movaps        %xmm2,0x20(%rsp)
+  DB  15,41,76,36,16                      ; movaps        %xmm1,0x10(%rsp)
+  DB  15,41,4,36                          ; movaps        %xmm0,(%rsp)
+  DB  15,91,221                           ; cvtdq2ps      %xmm5,%xmm3
+  DB  15,40,5,95,73,1,0                   ; movaps        0x1495f(%rip),%xmm0        # 35760 <_sk_srcover_bgra_8888_sse2_lowp+0xf48>
+  DB  15,89,216                           ; mulps         %xmm0,%xmm3
+  DB  15,40,240                           ; movaps        %xmm0,%xmm6
+  DB  68,15,40,5,97,73,1,0                ; movaps        0x14961(%rip),%xmm8        # 35770 <_sk_srcover_bgra_8888_sse2_lowp+0xf58>
+  DB  15,40,197                           ; movaps        %xmm5,%xmm0
+  DB  65,15,84,192                        ; andps         %xmm8,%xmm0
+  DB  15,86,5,131,70,1,0                  ; orps          0x14683(%rip),%xmm0        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  15,88,29,92,73,1,0                  ; addps         0x1495c(%rip),%xmm3        # 35780 <_sk_srcover_bgra_8888_sse2_lowp+0xf68>
+  DB  68,15,40,29,100,73,1,0              ; movaps        0x14964(%rip),%xmm11        # 35790 <_sk_srcover_bgra_8888_sse2_lowp+0xf78>
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  65,15,89,203                        ; mulps         %xmm11,%xmm1
+  DB  15,92,217                           ; subps         %xmm1,%xmm3
+  DB  68,15,40,61,98,73,1,0               ; movaps        0x14962(%rip),%xmm15        # 357a0 <_sk_srcover_bgra_8888_sse2_lowp+0xf88>
+  DB  65,15,88,199                        ; addps         %xmm15,%xmm0
+  DB  68,15,40,45,102,73,1,0              ; movaps        0x14966(%rip),%xmm13        # 357b0 <_sk_srcover_bgra_8888_sse2_lowp+0xf98>
+  DB  65,15,40,205                        ; movaps        %xmm13,%xmm1
+  DB  15,94,200                           ; divps         %xmm0,%xmm1
+  DB  15,92,217                           ; subps         %xmm1,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,15,16,32                        ; movss         (%rax),%xmm4
+  DB  15,198,228,0                        ; shufps        $0x0,%xmm4,%xmm4
+  DB  15,89,220                           ; mulps         %xmm4,%xmm3
+  DB  243,15,91,195                       ; cvttps2dq     %xmm3,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  15,40,203                           ; movaps        %xmm3,%xmm1
+  DB  15,194,200,1                        ; cmpltps       %xmm0,%xmm1
+  DB  15,84,13,58,70,1,0                  ; andps         0x1463a(%rip),%xmm1        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  15,92,193                           ; subps         %xmm1,%xmm0
+  DB  15,40,203                           ; movaps        %xmm3,%xmm1
+  DB  15,92,200                           ; subps         %xmm0,%xmm1
+  DB  15,88,29,58,73,1,0                  ; addps         0x1493a(%rip),%xmm3        # 357c0 <_sk_srcover_bgra_8888_sse2_lowp+0xfa8>
+  DB  15,40,21,83,73,1,0                  ; movaps        0x14953(%rip),%xmm2        # 357e0 <_sk_srcover_bgra_8888_sse2_lowp+0xfc8>
+  DB  68,15,40,202                        ; movaps        %xmm2,%xmm9
+  DB  68,15,92,201                        ; subps         %xmm1,%xmm9
+  DB  15,40,193                           ; movaps        %xmm1,%xmm0
+  DB  15,40,13,49,73,1,0                  ; movaps        0x14931(%rip),%xmm1        # 357d0 <_sk_srcover_bgra_8888_sse2_lowp+0xfb8>
+  DB  15,89,193                           ; mulps         %xmm1,%xmm0
+  DB  15,92,216                           ; subps         %xmm0,%xmm3
+  DB  68,15,40,53,67,73,1,0               ; movaps        0x14943(%rip),%xmm14        # 357f0 <_sk_srcover_bgra_8888_sse2_lowp+0xfd8>
+  DB  65,15,40,198                        ; movaps        %xmm14,%xmm0
+  DB  65,15,94,193                        ; divps         %xmm9,%xmm0
+  DB  15,88,195                           ; addps         %xmm3,%xmm0
+  DB  68,15,40,13,64,73,1,0               ; movaps        0x14940(%rip),%xmm9        # 35800 <_sk_srcover_bgra_8888_sse2_lowp+0xfe8>
+  DB  65,15,89,193                        ; mulps         %xmm9,%xmm0
+  DB  102,15,91,192                       ; cvtps2dq      %xmm0,%xmm0
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  15,194,235,4                        ; cmpneqps      %xmm3,%xmm5
+  DB  15,84,232                           ; andps         %xmm0,%xmm5
+  DB  65,15,91,194                        ; cvtdq2ps      %xmm10,%xmm0
+  DB  15,89,198                           ; mulps         %xmm6,%xmm0
+  DB  65,15,40,250                        ; movaps        %xmm10,%xmm7
+  DB  65,15,84,248                        ; andps         %xmm8,%xmm7
+  DB  15,40,29,184,69,1,0                 ; movaps        0x145b8(%rip),%xmm3        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  15,86,251                           ; orps          %xmm3,%xmm7
+  DB  15,88,5,142,72,1,0                  ; addps         0x1488e(%rip),%xmm0        # 35780 <_sk_srcover_bgra_8888_sse2_lowp+0xf68>
+  DB  15,40,247                           ; movaps        %xmm7,%xmm6
+  DB  65,15,89,243                        ; mulps         %xmm11,%xmm6
+  DB  15,92,198                           ; subps         %xmm6,%xmm0
+  DB  65,15,88,255                        ; addps         %xmm15,%xmm7
+  DB  65,15,40,245                        ; movaps        %xmm13,%xmm6
+  DB  15,94,247                           ; divps         %xmm7,%xmm6
+  DB  15,92,198                           ; subps         %xmm6,%xmm0
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  243,15,91,240                       ; cvttps2dq     %xmm0,%xmm6
+  DB  15,91,246                           ; cvtdq2ps      %xmm6,%xmm6
+  DB  15,40,248                           ; movaps        %xmm0,%xmm7
+  DB  15,194,254,1                        ; cmpltps       %xmm6,%xmm7
+  DB  68,15,40,61,141,69,1,0              ; movaps        0x1458d(%rip),%xmm15        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  65,15,84,255                        ; andps         %xmm15,%xmm7
+  DB  15,92,247                           ; subps         %xmm7,%xmm6
+  DB  15,40,248                           ; movaps        %xmm0,%xmm7
+  DB  15,92,254                           ; subps         %xmm6,%xmm7
+  DB  15,88,5,137,72,1,0                  ; addps         0x14889(%rip),%xmm0        # 357c0 <_sk_srcover_bgra_8888_sse2_lowp+0xfa8>
+  DB  15,40,242                           ; movaps        %xmm2,%xmm6
+  DB  15,92,247                           ; subps         %xmm7,%xmm6
+  DB  15,89,249                           ; mulps         %xmm1,%xmm7
+  DB  15,92,199                           ; subps         %xmm7,%xmm0
+  DB  65,15,40,254                        ; movaps        %xmm14,%xmm7
+  DB  15,94,254                           ; divps         %xmm6,%xmm7
+  DB  15,88,248                           ; addps         %xmm0,%xmm7
+  DB  65,15,89,249                        ; mulps         %xmm9,%xmm7
+  DB  102,15,91,199                       ; cvtps2dq      %xmm7,%xmm0
+  DB  15,87,255                           ; xorps         %xmm7,%xmm7
+  DB  68,15,194,215,4                     ; cmpneqps      %xmm7,%xmm10
+  DB  68,15,84,208                        ; andps         %xmm0,%xmm10
+  DB  65,15,91,196                        ; cvtdq2ps      %xmm12,%xmm0
+  DB  15,89,5,244,71,1,0                  ; mulps         0x147f4(%rip),%xmm0        # 35760 <_sk_srcover_bgra_8888_sse2_lowp+0xf48>
+  DB  69,15,84,196                        ; andps         %xmm12,%xmm8
+  DB  68,15,86,195                        ; orps          %xmm3,%xmm8
+  DB  15,88,5,5,72,1,0                    ; addps         0x14805(%rip),%xmm0        # 35780 <_sk_srcover_bgra_8888_sse2_lowp+0xf68>
+  DB  69,15,89,216                        ; mulps         %xmm8,%xmm11
+  DB  65,15,92,195                        ; subps         %xmm11,%xmm0
+  DB  68,15,88,5,21,72,1,0                ; addps         0x14815(%rip),%xmm8        # 357a0 <_sk_srcover_bgra_8888_sse2_lowp+0xf88>
+  DB  69,15,94,232                        ; divps         %xmm8,%xmm13
+  DB  65,15,92,197                        ; subps         %xmm13,%xmm0
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  243,15,91,224                       ; cvttps2dq     %xmm0,%xmm4
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  15,40,240                           ; movaps        %xmm0,%xmm6
+  DB  15,194,244,1                        ; cmpltps       %xmm4,%xmm6
+  DB  65,15,84,247                        ; andps         %xmm15,%xmm6
+  DB  15,92,230                           ; subps         %xmm6,%xmm4
+  DB  15,40,240                           ; movaps        %xmm0,%xmm6
+  DB  15,92,244                           ; subps         %xmm4,%xmm6
+  DB  15,88,5,8,72,1,0                    ; addps         0x14808(%rip),%xmm0        # 357c0 <_sk_srcover_bgra_8888_sse2_lowp+0xfa8>
+  DB  15,89,206                           ; mulps         %xmm6,%xmm1
+  DB  15,92,193                           ; subps         %xmm1,%xmm0
+  DB  15,92,214                           ; subps         %xmm6,%xmm2
+  DB  68,15,94,242                        ; divps         %xmm2,%xmm14
+  DB  68,15,88,240                        ; addps         %xmm0,%xmm14
+  DB  69,15,89,241                        ; mulps         %xmm9,%xmm14
+  DB  68,15,194,231,4                     ; cmpneqps      %xmm7,%xmm12
+  DB  102,65,15,91,198                    ; cvtps2dq      %xmm14,%xmm0
+  DB  68,15,84,224                        ; andps         %xmm0,%xmm12
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,4,36                          ; movaps        (%rsp),%xmm0
+  DB  15,40,76,36,16                      ; movaps        0x10(%rsp),%xmm1
+  DB  15,40,84,36,32                      ; movaps        0x20(%rsp),%xmm2
+  DB  15,40,92,36,48                      ; movaps        0x30(%rsp),%xmm3
+  DB  15,40,229                           ; movaps        %xmm5,%xmm4
+  DB  65,15,40,234                        ; movaps        %xmm10,%xmm5
+  DB  65,15,40,244                        ; movaps        %xmm12,%xmm6
+  DB  15,40,124,36,64                     ; movaps        0x40(%rsp),%xmm7
+  DB  72,131,196,88                       ; add           $0x58,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_lab_to_xyz_sse2
+_sk_lab_to_xyz_sse2 LABEL PROC
+  DB  15,89,5,3,72,1,0                    ; mulps         0x14803(%rip),%xmm0        # 35810 <_sk_srcover_bgra_8888_sse2_lowp+0xff8>
+  DB  68,15,40,5,123,69,1,0               ; movaps        0x1457b(%rip),%xmm8        # 35590 <_sk_srcover_bgra_8888_sse2_lowp+0xd78>
+  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
+  DB  68,15,40,13,255,71,1,0              ; movaps        0x147ff(%rip),%xmm9        # 35820 <_sk_srcover_bgra_8888_sse2_lowp+0x1008>
+  DB  65,15,88,201                        ; addps         %xmm9,%xmm1
+  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
+  DB  65,15,88,209                        ; addps         %xmm9,%xmm2
+  DB  15,88,5,252,71,1,0                  ; addps         0x147fc(%rip),%xmm0        # 35830 <_sk_srcover_bgra_8888_sse2_lowp+0x1018>
+  DB  15,89,5,5,72,1,0                    ; mulps         0x14805(%rip),%xmm0        # 35840 <_sk_srcover_bgra_8888_sse2_lowp+0x1028>
+  DB  15,89,13,14,72,1,0                  ; mulps         0x1480e(%rip),%xmm1        # 35850 <_sk_srcover_bgra_8888_sse2_lowp+0x1038>
+  DB  15,88,200                           ; addps         %xmm0,%xmm1
+  DB  15,89,21,20,72,1,0                  ; mulps         0x14814(%rip),%xmm2        # 35860 <_sk_srcover_bgra_8888_sse2_lowp+0x1048>
+  DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
+  DB  68,15,92,202                        ; subps         %xmm2,%xmm9
+  DB  68,15,40,225                        ; movaps        %xmm1,%xmm12
+  DB  69,15,89,228                        ; mulps         %xmm12,%xmm12
+  DB  68,15,89,225                        ; mulps         %xmm1,%xmm12
+  DB  15,40,21,9,72,1,0                   ; movaps        0x14809(%rip),%xmm2        # 35870 <_sk_srcover_bgra_8888_sse2_lowp+0x1058>
+  DB  68,15,40,194                        ; movaps        %xmm2,%xmm8
+  DB  69,15,194,196,1                     ; cmpltps       %xmm12,%xmm8
+  DB  68,15,40,21,8,72,1,0                ; movaps        0x14808(%rip),%xmm10        # 35880 <_sk_srcover_bgra_8888_sse2_lowp+0x1068>
+  DB  65,15,88,202                        ; addps         %xmm10,%xmm1
+  DB  68,15,40,29,12,72,1,0               ; movaps        0x1480c(%rip),%xmm11        # 35890 <_sk_srcover_bgra_8888_sse2_lowp+0x1078>
+  DB  65,15,89,203                        ; mulps         %xmm11,%xmm1
+  DB  69,15,84,224                        ; andps         %xmm8,%xmm12
+  DB  68,15,85,193                        ; andnps        %xmm1,%xmm8
+  DB  69,15,86,196                        ; orps          %xmm12,%xmm8
+  DB  68,15,40,224                        ; movaps        %xmm0,%xmm12
+  DB  69,15,89,228                        ; mulps         %xmm12,%xmm12
+  DB  68,15,89,224                        ; mulps         %xmm0,%xmm12
+  DB  15,40,202                           ; movaps        %xmm2,%xmm1
+  DB  65,15,194,204,1                     ; cmpltps       %xmm12,%xmm1
+  DB  65,15,88,194                        ; addps         %xmm10,%xmm0
+  DB  65,15,89,195                        ; mulps         %xmm11,%xmm0
+  DB  68,15,84,225                        ; andps         %xmm1,%xmm12
+  DB  15,85,200                           ; andnps        %xmm0,%xmm1
+  DB  65,15,86,204                        ; orps          %xmm12,%xmm1
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  15,89,192                           ; mulps         %xmm0,%xmm0
+  DB  65,15,89,193                        ; mulps         %xmm9,%xmm0
+  DB  15,194,208,1                        ; cmpltps       %xmm0,%xmm2
+  DB  69,15,88,202                        ; addps         %xmm10,%xmm9
+  DB  69,15,89,203                        ; mulps         %xmm11,%xmm9
+  DB  15,84,194                           ; andps         %xmm2,%xmm0
+  DB  65,15,85,209                        ; andnps        %xmm9,%xmm2
+  DB  15,86,208                           ; orps          %xmm0,%xmm2
+  DB  68,15,89,5,188,71,1,0               ; mulps         0x147bc(%rip),%xmm8        # 358a0 <_sk_srcover_bgra_8888_sse2_lowp+0x1088>
+  DB  15,89,21,197,71,1,0                 ; mulps         0x147c5(%rip),%xmm2        # 358b0 <_sk_srcover_bgra_8888_sse2_lowp+0x1098>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_load_a8_sse2
+_sk_load_a8_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,46                              ; jne           21133 <_sk_load_a8_sse2+0x40>
+  DB  102,65,15,110,4,16                  ; movd          (%r8,%rdx,1),%xmm0
+  DB  102,15,96,192                       ; punpcklbw     %xmm0,%xmm0
+  DB  102,15,97,192                       ; punpcklwd     %xmm0,%xmm0
+  DB  102,15,219,5,69,68,1,0              ; pand          0x14445(%rip),%xmm0        # 35560 <_sk_srcover_bgra_8888_sse2_lowp+0xd48>
+  DB  15,91,216                           ; cvtdq2ps      %xmm0,%xmm3
+  DB  15,89,29,155,69,1,0                 ; mulps         0x1459b(%rip),%xmm3        # 356c0 <_sk_srcover_bgra_8888_sse2_lowp+0xea8>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  102,15,87,201                       ; xorpd         %xmm1,%xmm1
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,50                              ; je            2116d <_sk_load_a8_sse2+0x7a>
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,19                              ; je            21156 <_sk_load_a8_sse2+0x63>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,204                             ; jne           21113 <_sk_load_a8_sse2+0x20>
+  DB  65,15,182,68,16,2                   ; movzbl        0x2(%r8,%rdx,1),%eax
+  DB  102,15,110,192                      ; movd          %eax,%xmm0
+  DB  102,15,112,192,69                   ; pshufd        $0x45,%xmm0,%xmm0
+  DB  65,15,183,4,16                      ; movzwl        (%r8,%rdx,1),%eax
+  DB  102,15,110,200                      ; movd          %eax,%xmm1
+  DB  102,15,96,200                       ; punpcklbw     %xmm0,%xmm1
+  DB  102,15,97,200                       ; punpcklwd     %xmm0,%xmm1
+  DB  242,15,16,193                       ; movsd         %xmm1,%xmm0
+  DB  235,166                             ; jmp           21113 <_sk_load_a8_sse2+0x20>
+  DB  65,15,182,4,16                      ; movzbl        (%r8,%rdx,1),%eax
+  DB  102,15,110,192                      ; movd          %eax,%xmm0
+  DB  235,155                             ; jmp           21113 <_sk_load_a8_sse2+0x20>
+
+PUBLIC _sk_load_a8_dst_sse2
+_sk_load_a8_dst_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,46                              ; jne           211b8 <_sk_load_a8_dst_sse2+0x40>
+  DB  102,65,15,110,36,16                 ; movd          (%r8,%rdx,1),%xmm4
+  DB  102,15,96,224                       ; punpcklbw     %xmm0,%xmm4
+  DB  102,15,97,224                       ; punpcklwd     %xmm0,%xmm4
+  DB  102,15,219,37,192,67,1,0            ; pand          0x143c0(%rip),%xmm4        # 35560 <_sk_srcover_bgra_8888_sse2_lowp+0xd48>
+  DB  15,91,252                           ; cvtdq2ps      %xmm4,%xmm7
+  DB  15,89,61,22,69,1,0                  ; mulps         0x14516(%rip),%xmm7        # 356c0 <_sk_srcover_bgra_8888_sse2_lowp+0xea8>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  102,15,87,237                       ; xorpd         %xmm5,%xmm5
+  DB  15,87,246                           ; xorps         %xmm6,%xmm6
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,50                              ; je            211f2 <_sk_load_a8_dst_sse2+0x7a>
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,19                              ; je            211db <_sk_load_a8_dst_sse2+0x63>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,204                             ; jne           21198 <_sk_load_a8_dst_sse2+0x20>
+  DB  65,15,182,68,16,2                   ; movzbl        0x2(%r8,%rdx,1),%eax
+  DB  102,15,110,224                      ; movd          %eax,%xmm4
+  DB  102,15,112,228,69                   ; pshufd        $0x45,%xmm4,%xmm4
+  DB  65,15,183,4,16                      ; movzwl        (%r8,%rdx,1),%eax
+  DB  102,15,110,232                      ; movd          %eax,%xmm5
+  DB  102,15,96,232                       ; punpcklbw     %xmm0,%xmm5
+  DB  102,15,97,232                       ; punpcklwd     %xmm0,%xmm5
+  DB  242,15,16,229                       ; movsd         %xmm5,%xmm4
+  DB  235,166                             ; jmp           21198 <_sk_load_a8_dst_sse2+0x20>
+  DB  65,15,182,4,16                      ; movzbl        (%r8,%rdx,1),%eax
+  DB  102,15,110,224                      ; movd          %eax,%xmm4
+  DB  235,155                             ; jmp           21198 <_sk_load_a8_dst_sse2+0x20>
+
+PUBLIC _sk_gather_a8_sse2
+_sk_gather_a8_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,15,16,88,12                     ; movss         0xc(%rax),%xmm3
+  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
+  DB  102,69,15,118,201                   ; pcmpeqd       %xmm9,%xmm9
+  DB  102,65,15,254,217                   ; paddd         %xmm9,%xmm3
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  15,95,208                           ; maxps         %xmm0,%xmm2
+  DB  15,93,211                           ; minps         %xmm3,%xmm2
+  DB  243,15,16,64,16                     ; movss         0x10(%rax),%xmm0
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  102,65,15,254,193                   ; paddd         %xmm9,%xmm0
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  15,95,217                           ; maxps         %xmm1,%xmm3
+  DB  15,93,216                           ; minps         %xmm0,%xmm3
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  243,15,91,195                       ; cvttps2dq     %xmm3,%xmm0
+  DB  102,15,110,72,8                     ; movd          0x8(%rax),%xmm1
+  DB  102,15,112,201,0                    ; pshufd        $0x0,%xmm1,%xmm1
+  DB  102,15,112,216,245                  ; pshufd        $0xf5,%xmm0,%xmm3
+  DB  102,15,244,217                      ; pmuludq       %xmm1,%xmm3
+  DB  102,15,244,200                      ; pmuludq       %xmm0,%xmm1
+  DB  102,15,112,193,232                  ; pshufd        $0xe8,%xmm1,%xmm0
+  DB  102,15,112,203,232                  ; pshufd        $0xe8,%xmm3,%xmm1
+  DB  102,15,98,193                       ; punpckldq     %xmm1,%xmm0
+  DB  243,15,91,202                       ; cvttps2dq     %xmm2,%xmm1
+  DB  102,15,254,200                      ; paddd         %xmm0,%xmm1
+  DB  102,72,15,126,200                   ; movq          %xmm1,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  102,15,112,193,78                   ; pshufd        $0x4e,%xmm1,%xmm0
+  DB  102,73,15,126,194                   ; movq          %xmm0,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  71,15,182,28,24                     ; movzbl        (%r8,%r11,1),%r11d
+  DB  71,15,182,20,16                     ; movzbl        (%r8,%r10,1),%r10d
+  DB  65,193,226,8                        ; shl           $0x8,%r10d
+  DB  69,9,218                            ; or            %r11d,%r10d
+  DB  71,15,182,12,8                      ; movzbl        (%r8,%r9,1),%r9d
+  DB  65,15,182,4,0                       ; movzbl        (%r8,%rax,1),%eax
+  DB  193,224,8                           ; shl           $0x8,%eax
+  DB  68,9,200                            ; or            %r9d,%eax
+  DB  102,15,110,192                      ; movd          %eax,%xmm0
+  DB  102,65,15,196,194,1                 ; pinsrw        $0x1,%r10d,%xmm0
+  DB  102,65,15,96,192                    ; punpcklbw     %xmm8,%xmm0
+  DB  102,65,15,97,192                    ; punpcklwd     %xmm8,%xmm0
+  DB  15,91,216                           ; cvtdq2ps      %xmm0,%xmm3
+  DB  15,89,29,249,67,1,0                 ; mulps         0x143f9(%rip),%xmm3        # 356c0 <_sk_srcover_bgra_8888_sse2_lowp+0xea8>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_store_a8_sse2
+_sk_store_a8_sse2 LABEL PROC
+  DB  72,131,236,4                        ; sub           $0x4,%rsp
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  68,15,95,195                        ; maxps         %xmm3,%xmm8
+  DB  68,15,93,5,186,65,1,0               ; minps         0x141ba(%rip),%xmm8        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  68,15,89,5,146,66,1,0               ; mulps         0x14292(%rip),%xmm8        # 35590 <_sk_srcover_bgra_8888_sse2_lowp+0xd78>
+  DB  102,69,15,91,192                    ; cvtps2dq      %xmm8,%xmm8
+  DB  102,65,15,114,240,16                ; pslld         $0x10,%xmm8
+  DB  102,65,15,114,224,16                ; psrad         $0x10,%xmm8
+  DB  102,68,15,107,192                   ; packssdw      %xmm0,%xmm8
+  DB  102,68,15,103,192                   ; packuswb      %xmm0,%xmm8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,17                              ; jne           2132f <_sk_store_a8_sse2+0x5a>
+  DB  102,68,15,126,192                   ; movd          %xmm8,%eax
+  DB  65,137,4,16                         ; mov           %eax,(%r8,%rdx,1)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  72,131,196,4                        ; add           $0x4,%rsp
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,68,15,96,192                    ; punpcklbw     %xmm0,%xmm8
+  DB  102,68,15,97,192                    ; punpcklwd     %xmm0,%xmm8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,50                              ; je            21373 <_sk_store_a8_sse2+0x9e>
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,15                              ; je            21354 <_sk_store_a8_sse2+0x7f>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,222                             ; jne           21327 <_sk_store_a8_sse2+0x52>
+  DB  102,65,15,197,192,4                 ; pextrw        $0x4,%xmm8,%eax
+  DB  65,136,68,16,2                      ; mov           %al,0x2(%r8,%rdx,1)
+  DB  102,68,15,219,5,3,66,1,0            ; pand          0x14203(%rip),%xmm8        # 35560 <_sk_srcover_bgra_8888_sse2_lowp+0xd48>
+  DB  102,69,15,103,192                   ; packuswb      %xmm8,%xmm8
+  DB  102,69,15,103,192                   ; packuswb      %xmm8,%xmm8
+  DB  102,68,15,126,192                   ; movd          %xmm8,%eax
+  DB  102,65,137,4,16                     ; mov           %ax,(%r8,%rdx,1)
+  DB  235,180                             ; jmp           21327 <_sk_store_a8_sse2+0x52>
+  DB  102,68,15,126,192                   ; movd          %xmm8,%eax
+  DB  65,136,4,16                         ; mov           %al,(%r8,%rdx,1)
+  DB  235,169                             ; jmp           21327 <_sk_store_a8_sse2+0x52>
+
+PUBLIC _sk_load_g8_sse2
+_sk_load_g8_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,49                              ; jne           213c1 <_sk_load_g8_sse2+0x43>
+  DB  102,65,15,110,4,16                  ; movd          (%r8,%rdx,1),%xmm0
+  DB  102,15,96,192                       ; punpcklbw     %xmm0,%xmm0
+  DB  102,15,97,192                       ; punpcklwd     %xmm0,%xmm0
+  DB  102,15,219,5,186,65,1,0             ; pand          0x141ba(%rip),%xmm0        # 35560 <_sk_srcover_bgra_8888_sse2_lowp+0xd48>
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  15,89,5,16,67,1,0                   ; mulps         0x14310(%rip),%xmm0        # 356c0 <_sk_srcover_bgra_8888_sse2_lowp+0xea8>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,29,247,64,1,0                 ; movaps        0x140f7(%rip),%xmm3        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  15,40,208                           ; movaps        %xmm0,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,50                              ; je            213fb <_sk_load_g8_sse2+0x7d>
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,19                              ; je            213e4 <_sk_load_g8_sse2+0x66>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,201                             ; jne           2139e <_sk_load_g8_sse2+0x20>
+  DB  65,15,182,68,16,2                   ; movzbl        0x2(%r8,%rdx,1),%eax
+  DB  102,15,110,192                      ; movd          %eax,%xmm0
+  DB  102,15,112,192,69                   ; pshufd        $0x45,%xmm0,%xmm0
+  DB  65,15,183,4,16                      ; movzwl        (%r8,%rdx,1),%eax
+  DB  102,15,110,200                      ; movd          %eax,%xmm1
+  DB  102,15,96,200                       ; punpcklbw     %xmm0,%xmm1
+  DB  102,15,97,200                       ; punpcklwd     %xmm0,%xmm1
+  DB  242,15,16,193                       ; movsd         %xmm1,%xmm0
+  DB  235,163                             ; jmp           2139e <_sk_load_g8_sse2+0x20>
+  DB  65,15,182,4,16                      ; movzbl        (%r8,%rdx,1),%eax
+  DB  102,15,110,192                      ; movd          %eax,%xmm0
+  DB  235,152                             ; jmp           2139e <_sk_load_g8_sse2+0x20>
+
+PUBLIC _sk_load_g8_dst_sse2
+_sk_load_g8_dst_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,49                              ; jne           21449 <_sk_load_g8_dst_sse2+0x43>
+  DB  102,65,15,110,36,16                 ; movd          (%r8,%rdx,1),%xmm4
+  DB  102,15,96,224                       ; punpcklbw     %xmm0,%xmm4
+  DB  102,15,97,224                       ; punpcklwd     %xmm0,%xmm4
+  DB  102,15,219,37,50,65,1,0             ; pand          0x14132(%rip),%xmm4        # 35560 <_sk_srcover_bgra_8888_sse2_lowp+0xd48>
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  15,89,37,136,66,1,0                 ; mulps         0x14288(%rip),%xmm4        # 356c0 <_sk_srcover_bgra_8888_sse2_lowp+0xea8>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,61,111,64,1,0                 ; movaps        0x1406f(%rip),%xmm7        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  15,40,236                           ; movaps        %xmm4,%xmm5
+  DB  15,40,244                           ; movaps        %xmm4,%xmm6
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,50                              ; je            21483 <_sk_load_g8_dst_sse2+0x7d>
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,19                              ; je            2146c <_sk_load_g8_dst_sse2+0x66>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,201                             ; jne           21426 <_sk_load_g8_dst_sse2+0x20>
+  DB  65,15,182,68,16,2                   ; movzbl        0x2(%r8,%rdx,1),%eax
+  DB  102,15,110,224                      ; movd          %eax,%xmm4
+  DB  102,15,112,228,69                   ; pshufd        $0x45,%xmm4,%xmm4
+  DB  65,15,183,4,16                      ; movzwl        (%r8,%rdx,1),%eax
+  DB  102,15,110,232                      ; movd          %eax,%xmm5
+  DB  102,15,96,232                       ; punpcklbw     %xmm0,%xmm5
+  DB  102,15,97,232                       ; punpcklwd     %xmm0,%xmm5
+  DB  242,15,16,229                       ; movsd         %xmm5,%xmm4
+  DB  235,163                             ; jmp           21426 <_sk_load_g8_dst_sse2+0x20>
+  DB  65,15,182,4,16                      ; movzbl        (%r8,%rdx,1),%eax
+  DB  102,15,110,224                      ; movd          %eax,%xmm4
+  DB  235,152                             ; jmp           21426 <_sk_load_g8_dst_sse2+0x20>
+
+PUBLIC _sk_gather_g8_sse2
+_sk_gather_g8_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,15,16,88,12                     ; movss         0xc(%rax),%xmm3
+  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
+  DB  102,69,15,118,201                   ; pcmpeqd       %xmm9,%xmm9
+  DB  102,65,15,254,217                   ; paddd         %xmm9,%xmm3
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  15,95,208                           ; maxps         %xmm0,%xmm2
+  DB  15,93,211                           ; minps         %xmm3,%xmm2
+  DB  243,15,16,64,16                     ; movss         0x10(%rax),%xmm0
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  102,65,15,254,193                   ; paddd         %xmm9,%xmm0
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  15,95,217                           ; maxps         %xmm1,%xmm3
+  DB  15,93,216                           ; minps         %xmm0,%xmm3
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  243,15,91,195                       ; cvttps2dq     %xmm3,%xmm0
+  DB  102,15,110,72,8                     ; movd          0x8(%rax),%xmm1
+  DB  102,15,112,201,0                    ; pshufd        $0x0,%xmm1,%xmm1
+  DB  102,15,112,216,245                  ; pshufd        $0xf5,%xmm0,%xmm3
+  DB  102,15,244,217                      ; pmuludq       %xmm1,%xmm3
+  DB  102,15,244,200                      ; pmuludq       %xmm0,%xmm1
+  DB  102,15,112,193,232                  ; pshufd        $0xe8,%xmm1,%xmm0
+  DB  102,15,112,203,232                  ; pshufd        $0xe8,%xmm3,%xmm1
+  DB  102,15,98,193                       ; punpckldq     %xmm1,%xmm0
+  DB  243,15,91,202                       ; cvttps2dq     %xmm2,%xmm1
+  DB  102,15,254,200                      ; paddd         %xmm0,%xmm1
+  DB  102,72,15,126,200                   ; movq          %xmm1,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  102,15,112,193,78                   ; pshufd        $0x4e,%xmm1,%xmm0
+  DB  102,73,15,126,194                   ; movq          %xmm0,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  71,15,182,28,24                     ; movzbl        (%r8,%r11,1),%r11d
+  DB  71,15,182,20,16                     ; movzbl        (%r8,%r10,1),%r10d
+  DB  65,193,226,8                        ; shl           $0x8,%r10d
+  DB  69,9,218                            ; or            %r11d,%r10d
+  DB  71,15,182,12,8                      ; movzbl        (%r8,%r9,1),%r9d
+  DB  65,15,182,4,0                       ; movzbl        (%r8,%rax,1),%eax
+  DB  193,224,8                           ; shl           $0x8,%eax
+  DB  68,9,200                            ; or            %r9d,%eax
+  DB  102,15,110,192                      ; movd          %eax,%xmm0
+  DB  102,65,15,196,194,1                 ; pinsrw        $0x1,%r10d,%xmm0
+  DB  102,65,15,96,192                    ; punpcklbw     %xmm8,%xmm0
+  DB  102,65,15,97,192                    ; punpcklwd     %xmm8,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  15,89,5,104,65,1,0                  ; mulps         0x14168(%rip),%xmm0        # 356c0 <_sk_srcover_bgra_8888_sse2_lowp+0xea8>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,29,79,63,1,0                  ; movaps        0x13f4f(%rip),%xmm3        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  15,40,208                           ; movaps        %xmm0,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_load_565_sse2
+_sk_load_565_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,83                              ; jne           215d1 <_sk_load_565_sse2+0x68>
+  DB  243,65,15,126,20,80                 ; movq          (%r8,%rdx,2),%xmm2
+  DB  102,15,97,208                       ; punpcklwd     %xmm0,%xmm2
+  DB  102,15,111,5,64,65,1,0              ; movdqa        0x14140(%rip),%xmm0        # 356d0 <_sk_srcover_bgra_8888_sse2_lowp+0xeb8>
+  DB  102,15,219,194                      ; pand          %xmm2,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  15,89,5,66,65,1,0                   ; mulps         0x14142(%rip),%xmm0        # 356e0 <_sk_srcover_bgra_8888_sse2_lowp+0xec8>
+  DB  102,15,111,13,74,65,1,0             ; movdqa        0x1414a(%rip),%xmm1        # 356f0 <_sk_srcover_bgra_8888_sse2_lowp+0xed8>
+  DB  102,15,219,202                      ; pand          %xmm2,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  15,89,13,76,65,1,0                  ; mulps         0x1414c(%rip),%xmm1        # 35700 <_sk_srcover_bgra_8888_sse2_lowp+0xee8>
+  DB  102,15,219,21,84,65,1,0             ; pand          0x14154(%rip),%xmm2        # 35710 <_sk_srcover_bgra_8888_sse2_lowp+0xef8>
+  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
+  DB  15,89,21,90,65,1,0                  ; mulps         0x1415a(%rip),%xmm2        # 35720 <_sk_srcover_bgra_8888_sse2_lowp+0xf08>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,29,225,62,1,0                 ; movaps        0x13ee1(%rip),%xmm3        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,44                              ; je            21605 <_sk_load_565_sse2+0x9c>
+  DB  102,15,239,210                      ; pxor          %xmm2,%xmm2
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,19                              ; je            215f4 <_sk_load_565_sse2+0x8b>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,163                             ; jne           21588 <_sk_load_565_sse2+0x1f>
+  DB  65,15,183,68,80,4                   ; movzwl        0x4(%r8,%rdx,2),%eax
+  DB  102,15,110,192                      ; movd          %eax,%xmm0
+  DB  102,15,112,208,69                   ; pshufd        $0x45,%xmm0,%xmm2
+  DB  102,65,15,110,4,80                  ; movd          (%r8,%rdx,2),%xmm0
+  DB  242,15,112,192,212                  ; pshuflw       $0xd4,%xmm0,%xmm0
+  DB  242,15,16,208                       ; movsd         %xmm0,%xmm2
+  DB  235,131                             ; jmp           21588 <_sk_load_565_sse2+0x1f>
+  DB  65,15,183,4,80                      ; movzwl        (%r8,%rdx,2),%eax
+  DB  102,15,110,208                      ; movd          %eax,%xmm2
+  DB  233,117,255,255,255                 ; jmpq          21588 <_sk_load_565_sse2+0x1f>
+
+PUBLIC _sk_load_565_dst_sse2
+_sk_load_565_dst_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,83                              ; jne           2167b <_sk_load_565_dst_sse2+0x68>
+  DB  243,65,15,126,52,80                 ; movq          (%r8,%rdx,2),%xmm6
+  DB  102,15,97,240                       ; punpcklwd     %xmm0,%xmm6
+  DB  102,15,111,37,150,64,1,0            ; movdqa        0x14096(%rip),%xmm4        # 356d0 <_sk_srcover_bgra_8888_sse2_lowp+0xeb8>
+  DB  102,15,219,230                      ; pand          %xmm6,%xmm4
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  15,89,37,152,64,1,0                 ; mulps         0x14098(%rip),%xmm4        # 356e0 <_sk_srcover_bgra_8888_sse2_lowp+0xec8>
+  DB  102,15,111,45,160,64,1,0            ; movdqa        0x140a0(%rip),%xmm5        # 356f0 <_sk_srcover_bgra_8888_sse2_lowp+0xed8>
+  DB  102,15,219,238                      ; pand          %xmm6,%xmm5
+  DB  15,91,237                           ; cvtdq2ps      %xmm5,%xmm5
+  DB  15,89,45,162,64,1,0                 ; mulps         0x140a2(%rip),%xmm5        # 35700 <_sk_srcover_bgra_8888_sse2_lowp+0xee8>
+  DB  102,15,219,53,170,64,1,0            ; pand          0x140aa(%rip),%xmm6        # 35710 <_sk_srcover_bgra_8888_sse2_lowp+0xef8>
+  DB  15,91,246                           ; cvtdq2ps      %xmm6,%xmm6
+  DB  15,89,53,176,64,1,0                 ; mulps         0x140b0(%rip),%xmm6        # 35720 <_sk_srcover_bgra_8888_sse2_lowp+0xf08>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,61,55,62,1,0                  ; movaps        0x13e37(%rip),%xmm7        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,44                              ; je            216af <_sk_load_565_dst_sse2+0x9c>
+  DB  102,15,239,246                      ; pxor          %xmm6,%xmm6
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,19                              ; je            2169e <_sk_load_565_dst_sse2+0x8b>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,163                             ; jne           21632 <_sk_load_565_dst_sse2+0x1f>
+  DB  65,15,183,68,80,4                   ; movzwl        0x4(%r8,%rdx,2),%eax
+  DB  102,15,110,224                      ; movd          %eax,%xmm4
+  DB  102,15,112,244,69                   ; pshufd        $0x45,%xmm4,%xmm6
+  DB  102,65,15,110,36,80                 ; movd          (%r8,%rdx,2),%xmm4
+  DB  242,15,112,228,212                  ; pshuflw       $0xd4,%xmm4,%xmm4
+  DB  242,15,16,244                       ; movsd         %xmm4,%xmm6
+  DB  235,131                             ; jmp           21632 <_sk_load_565_dst_sse2+0x1f>
+  DB  65,15,183,4,80                      ; movzwl        (%r8,%rdx,2),%eax
+  DB  102,15,110,240                      ; movd          %eax,%xmm6
+  DB  233,117,255,255,255                 ; jmpq          21632 <_sk_load_565_dst_sse2+0x1f>
+
+PUBLIC _sk_gather_565_sse2
+_sk_gather_565_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,15,16,88,12                     ; movss         0xc(%rax),%xmm3
+  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
+  DB  102,69,15,118,201                   ; pcmpeqd       %xmm9,%xmm9
+  DB  102,65,15,254,217                   ; paddd         %xmm9,%xmm3
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  15,95,208                           ; maxps         %xmm0,%xmm2
+  DB  15,93,211                           ; minps         %xmm3,%xmm2
+  DB  243,15,16,64,16                     ; movss         0x10(%rax),%xmm0
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  102,65,15,254,193                   ; paddd         %xmm9,%xmm0
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  15,95,217                           ; maxps         %xmm1,%xmm3
+  DB  15,93,216                           ; minps         %xmm0,%xmm3
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  243,15,91,195                       ; cvttps2dq     %xmm3,%xmm0
+  DB  102,15,110,72,8                     ; movd          0x8(%rax),%xmm1
+  DB  102,15,112,201,0                    ; pshufd        $0x0,%xmm1,%xmm1
+  DB  102,15,112,216,245                  ; pshufd        $0xf5,%xmm0,%xmm3
+  DB  102,15,244,217                      ; pmuludq       %xmm1,%xmm3
+  DB  102,15,244,200                      ; pmuludq       %xmm0,%xmm1
+  DB  102,15,112,193,232                  ; pshufd        $0xe8,%xmm1,%xmm0
+  DB  102,15,112,203,232                  ; pshufd        $0xe8,%xmm3,%xmm1
+  DB  102,15,98,193                       ; punpckldq     %xmm1,%xmm0
+  DB  243,15,91,202                       ; cvttps2dq     %xmm2,%xmm1
+  DB  102,15,254,200                      ; paddd         %xmm0,%xmm1
+  DB  102,15,112,193,78                   ; pshufd        $0x4e,%xmm1,%xmm0
+  DB  102,72,15,126,192                   ; movq          %xmm0,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  102,73,15,126,202                   ; movq          %xmm1,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  71,15,183,20,80                     ; movzwl        (%r8,%r10,2),%r10d
+  DB  71,15,183,28,88                     ; movzwl        (%r8,%r11,2),%r11d
+  DB  102,65,15,110,211                   ; movd          %r11d,%xmm2
+  DB  102,65,15,196,210,1                 ; pinsrw        $0x1,%r10d,%xmm2
+  DB  71,15,183,12,72                     ; movzwl        (%r8,%r9,2),%r9d
+  DB  102,65,15,196,209,2                 ; pinsrw        $0x2,%r9d,%xmm2
+  DB  65,15,183,4,64                      ; movzwl        (%r8,%rax,2),%eax
+  DB  102,15,196,208,3                    ; pinsrw        $0x3,%eax,%xmm2
+  DB  102,65,15,97,208                    ; punpcklwd     %xmm8,%xmm2
+  DB  102,15,111,5,81,63,1,0              ; movdqa        0x13f51(%rip),%xmm0        # 356d0 <_sk_srcover_bgra_8888_sse2_lowp+0xeb8>
+  DB  102,15,219,194                      ; pand          %xmm2,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  15,89,5,83,63,1,0                   ; mulps         0x13f53(%rip),%xmm0        # 356e0 <_sk_srcover_bgra_8888_sse2_lowp+0xec8>
+  DB  102,15,111,13,91,63,1,0             ; movdqa        0x13f5b(%rip),%xmm1        # 356f0 <_sk_srcover_bgra_8888_sse2_lowp+0xed8>
+  DB  102,15,219,202                      ; pand          %xmm2,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  15,89,13,93,63,1,0                  ; mulps         0x13f5d(%rip),%xmm1        # 35700 <_sk_srcover_bgra_8888_sse2_lowp+0xee8>
+  DB  102,15,219,21,101,63,1,0            ; pand          0x13f65(%rip),%xmm2        # 35710 <_sk_srcover_bgra_8888_sse2_lowp+0xef8>
+  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
+  DB  15,89,21,107,63,1,0                 ; mulps         0x13f6b(%rip),%xmm2        # 35720 <_sk_srcover_bgra_8888_sse2_lowp+0xf08>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,29,242,60,1,0                 ; movaps        0x13cf2(%rip),%xmm3        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_store_565_sse2
+_sk_store_565_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,95,200                        ; maxps         %xmm0,%xmm9
+  DB  68,15,40,21,204,60,1,0              ; movaps        0x13ccc(%rip),%xmm10        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,93,202                        ; minps         %xmm10,%xmm9
+  DB  68,15,40,29,224,64,1,0              ; movaps        0x140e0(%rip),%xmm11        # 358d0 <_sk_srcover_bgra_8888_sse2_lowp+0x10b8>
+  DB  69,15,89,203                        ; mulps         %xmm11,%xmm9
+  DB  102,69,15,91,201                    ; cvtps2dq      %xmm9,%xmm9
+  DB  102,65,15,114,241,11                ; pslld         $0xb,%xmm9
+  DB  69,15,87,228                        ; xorps         %xmm12,%xmm12
+  DB  68,15,95,225                        ; maxps         %xmm1,%xmm12
+  DB  69,15,93,226                        ; minps         %xmm10,%xmm12
+  DB  68,15,89,37,205,64,1,0              ; mulps         0x140cd(%rip),%xmm12        # 358e0 <_sk_srcover_bgra_8888_sse2_lowp+0x10c8>
+  DB  102,69,15,91,228                    ; cvtps2dq      %xmm12,%xmm12
+  DB  102,65,15,114,244,5                 ; pslld         $0x5,%xmm12
+  DB  68,15,95,194                        ; maxps         %xmm2,%xmm8
+  DB  69,15,93,194                        ; minps         %xmm10,%xmm8
+  DB  69,15,89,195                        ; mulps         %xmm11,%xmm8
+  DB  102,69,15,91,192                    ; cvtps2dq      %xmm8,%xmm8
+  DB  102,69,15,86,193                    ; orpd          %xmm9,%xmm8
+  DB  102,69,15,86,196                    ; orpd          %xmm12,%xmm8
+  DB  102,65,15,114,240,16                ; pslld         $0x10,%xmm8
+  DB  102,65,15,114,224,16                ; psrad         $0x10,%xmm8
+  DB  102,68,15,107,192                   ; packssdw      %xmm0,%xmm8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,10                              ; jne           21859 <_sk_store_565_sse2+0x99>
+  DB  102,69,15,214,4,80                  ; movq          %xmm8,(%r8,%rdx,2)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,68,15,97,192                    ; punpcklwd     %xmm0,%xmm8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,34                              ; je            21888 <_sk_store_565_sse2+0xc8>
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,16                              ; je            2187a <_sk_store_565_sse2+0xba>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,231                             ; jne           21855 <_sk_store_565_sse2+0x95>
+  DB  102,65,15,197,192,4                 ; pextrw        $0x4,%xmm8,%eax
+  DB  102,65,137,68,80,4                  ; mov           %ax,0x4(%r8,%rdx,2)
+  DB  242,69,15,112,192,232               ; pshuflw       $0xe8,%xmm8,%xmm8
+  DB  102,69,15,126,4,80                  ; movd          %xmm8,(%r8,%rdx,2)
+  DB  235,205                             ; jmp           21855 <_sk_store_565_sse2+0x95>
+  DB  102,68,15,126,192                   ; movd          %xmm8,%eax
+  DB  102,65,137,4,80                     ; mov           %ax,(%r8,%rdx,2)
+  DB  235,193                             ; jmp           21855 <_sk_store_565_sse2+0x95>
+
+PUBLIC _sk_load_4444_sse2
+_sk_load_4444_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,98                              ; jne           2190b <_sk_load_4444_sse2+0x77>
+  DB  243,65,15,126,28,80                 ; movq          (%r8,%rdx,2),%xmm3
+  DB  102,15,97,216                       ; punpcklwd     %xmm0,%xmm3
+  DB  102,15,111,5,53,64,1,0              ; movdqa        0x14035(%rip),%xmm0        # 358f0 <_sk_srcover_bgra_8888_sse2_lowp+0x10d8>
+  DB  102,15,219,195                      ; pand          %xmm3,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  15,89,5,55,64,1,0                   ; mulps         0x14037(%rip),%xmm0        # 35900 <_sk_srcover_bgra_8888_sse2_lowp+0x10e8>
+  DB  102,15,111,13,63,64,1,0             ; movdqa        0x1403f(%rip),%xmm1        # 35910 <_sk_srcover_bgra_8888_sse2_lowp+0x10f8>
+  DB  102,15,219,203                      ; pand          %xmm3,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  15,89,13,65,64,1,0                  ; mulps         0x14041(%rip),%xmm1        # 35920 <_sk_srcover_bgra_8888_sse2_lowp+0x1108>
+  DB  102,15,111,21,73,64,1,0             ; movdqa        0x14049(%rip),%xmm2        # 35930 <_sk_srcover_bgra_8888_sse2_lowp+0x1118>
+  DB  102,15,219,211                      ; pand          %xmm3,%xmm2
+  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
+  DB  15,89,21,75,64,1,0                  ; mulps         0x1404b(%rip),%xmm2        # 35940 <_sk_srcover_bgra_8888_sse2_lowp+0x1128>
+  DB  102,15,219,29,83,64,1,0             ; pand          0x14053(%rip),%xmm3        # 35950 <_sk_srcover_bgra_8888_sse2_lowp+0x1138>
+  DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
+  DB  15,89,29,89,64,1,0                  ; mulps         0x14059(%rip),%xmm3        # 35960 <_sk_srcover_bgra_8888_sse2_lowp+0x1148>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,47                              ; je            21942 <_sk_load_4444_sse2+0xae>
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,19                              ; je            2192e <_sk_load_4444_sse2+0x9a>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,148                             ; jne           218b3 <_sk_load_4444_sse2+0x1f>
+  DB  65,15,183,68,80,4                   ; movzwl        0x4(%r8,%rdx,2),%eax
+  DB  102,15,110,192                      ; movd          %eax,%xmm0
+  DB  102,15,112,216,69                   ; pshufd        $0x45,%xmm0,%xmm3
+  DB  102,65,15,110,4,80                  ; movd          (%r8,%rdx,2),%xmm0
+  DB  242,15,112,192,212                  ; pshuflw       $0xd4,%xmm0,%xmm0
+  DB  242,15,16,216                       ; movsd         %xmm0,%xmm3
+  DB  233,113,255,255,255                 ; jmpq          218b3 <_sk_load_4444_sse2+0x1f>
+  DB  65,15,183,4,80                      ; movzwl        (%r8,%rdx,2),%eax
+  DB  102,15,110,216                      ; movd          %eax,%xmm3
+  DB  233,99,255,255,255                  ; jmpq          218b3 <_sk_load_4444_sse2+0x1f>
+
+PUBLIC _sk_load_4444_dst_sse2
+_sk_load_4444_dst_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,98                              ; jne           219c7 <_sk_load_4444_dst_sse2+0x77>
+  DB  243,65,15,126,60,80                 ; movq          (%r8,%rdx,2),%xmm7
+  DB  102,15,97,248                       ; punpcklwd     %xmm0,%xmm7
+  DB  102,15,111,37,121,63,1,0            ; movdqa        0x13f79(%rip),%xmm4        # 358f0 <_sk_srcover_bgra_8888_sse2_lowp+0x10d8>
+  DB  102,15,219,231                      ; pand          %xmm7,%xmm4
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  15,89,37,123,63,1,0                 ; mulps         0x13f7b(%rip),%xmm4        # 35900 <_sk_srcover_bgra_8888_sse2_lowp+0x10e8>
+  DB  102,15,111,45,131,63,1,0            ; movdqa        0x13f83(%rip),%xmm5        # 35910 <_sk_srcover_bgra_8888_sse2_lowp+0x10f8>
+  DB  102,15,219,239                      ; pand          %xmm7,%xmm5
+  DB  15,91,237                           ; cvtdq2ps      %xmm5,%xmm5
+  DB  15,89,45,133,63,1,0                 ; mulps         0x13f85(%rip),%xmm5        # 35920 <_sk_srcover_bgra_8888_sse2_lowp+0x1108>
+  DB  102,15,111,53,141,63,1,0            ; movdqa        0x13f8d(%rip),%xmm6        # 35930 <_sk_srcover_bgra_8888_sse2_lowp+0x1118>
+  DB  102,15,219,247                      ; pand          %xmm7,%xmm6
+  DB  15,91,246                           ; cvtdq2ps      %xmm6,%xmm6
+  DB  15,89,53,143,63,1,0                 ; mulps         0x13f8f(%rip),%xmm6        # 35940 <_sk_srcover_bgra_8888_sse2_lowp+0x1128>
+  DB  102,15,219,61,151,63,1,0            ; pand          0x13f97(%rip),%xmm7        # 35950 <_sk_srcover_bgra_8888_sse2_lowp+0x1138>
+  DB  15,91,255                           ; cvtdq2ps      %xmm7,%xmm7
+  DB  15,89,61,157,63,1,0                 ; mulps         0x13f9d(%rip),%xmm7        # 35960 <_sk_srcover_bgra_8888_sse2_lowp+0x1148>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,47                              ; je            219fe <_sk_load_4444_dst_sse2+0xae>
+  DB  102,15,239,255                      ; pxor          %xmm7,%xmm7
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,19                              ; je            219ea <_sk_load_4444_dst_sse2+0x9a>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,148                             ; jne           2196f <_sk_load_4444_dst_sse2+0x1f>
+  DB  65,15,183,68,80,4                   ; movzwl        0x4(%r8,%rdx,2),%eax
+  DB  102,15,110,224                      ; movd          %eax,%xmm4
+  DB  102,15,112,252,69                   ; pshufd        $0x45,%xmm4,%xmm7
+  DB  102,65,15,110,36,80                 ; movd          (%r8,%rdx,2),%xmm4
+  DB  242,15,112,228,212                  ; pshuflw       $0xd4,%xmm4,%xmm4
+  DB  242,15,16,252                       ; movsd         %xmm4,%xmm7
+  DB  233,113,255,255,255                 ; jmpq          2196f <_sk_load_4444_dst_sse2+0x1f>
+  DB  65,15,183,4,80                      ; movzwl        (%r8,%rdx,2),%eax
+  DB  102,15,110,248                      ; movd          %eax,%xmm7
+  DB  233,99,255,255,255                  ; jmpq          2196f <_sk_load_4444_dst_sse2+0x1f>
+
+PUBLIC _sk_gather_4444_sse2
+_sk_gather_4444_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,15,16,88,12                     ; movss         0xc(%rax),%xmm3
+  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
+  DB  102,69,15,118,201                   ; pcmpeqd       %xmm9,%xmm9
+  DB  102,65,15,254,217                   ; paddd         %xmm9,%xmm3
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  15,95,208                           ; maxps         %xmm0,%xmm2
+  DB  15,93,211                           ; minps         %xmm3,%xmm2
+  DB  243,15,16,64,16                     ; movss         0x10(%rax),%xmm0
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  102,65,15,254,193                   ; paddd         %xmm9,%xmm0
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  15,95,217                           ; maxps         %xmm1,%xmm3
+  DB  15,93,216                           ; minps         %xmm0,%xmm3
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  243,15,91,195                       ; cvttps2dq     %xmm3,%xmm0
+  DB  102,15,110,72,8                     ; movd          0x8(%rax),%xmm1
+  DB  102,15,112,201,0                    ; pshufd        $0x0,%xmm1,%xmm1
+  DB  102,15,112,216,245                  ; pshufd        $0xf5,%xmm0,%xmm3
+  DB  102,15,244,217                      ; pmuludq       %xmm1,%xmm3
+  DB  102,15,244,200                      ; pmuludq       %xmm0,%xmm1
+  DB  102,15,112,193,232                  ; pshufd        $0xe8,%xmm1,%xmm0
+  DB  102,15,112,203,232                  ; pshufd        $0xe8,%xmm3,%xmm1
+  DB  102,15,98,193                       ; punpckldq     %xmm1,%xmm0
+  DB  243,15,91,202                       ; cvttps2dq     %xmm2,%xmm1
+  DB  102,15,254,200                      ; paddd         %xmm0,%xmm1
+  DB  102,15,112,193,78                   ; pshufd        $0x4e,%xmm1,%xmm0
+  DB  102,72,15,126,192                   ; movq          %xmm0,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  102,73,15,126,202                   ; movq          %xmm1,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  71,15,183,20,80                     ; movzwl        (%r8,%r10,2),%r10d
+  DB  71,15,183,28,88                     ; movzwl        (%r8,%r11,2),%r11d
+  DB  102,65,15,110,219                   ; movd          %r11d,%xmm3
+  DB  102,65,15,196,218,1                 ; pinsrw        $0x1,%r10d,%xmm3
+  DB  71,15,183,12,72                     ; movzwl        (%r8,%r9,2),%r9d
+  DB  102,65,15,196,217,2                 ; pinsrw        $0x2,%r9d,%xmm3
+  DB  65,15,183,4,64                      ; movzwl        (%r8,%rax,2),%eax
+  DB  102,15,196,216,3                    ; pinsrw        $0x3,%eax,%xmm3
+  DB  102,65,15,97,216                    ; punpcklwd     %xmm8,%xmm3
+  DB  102,15,111,5,34,62,1,0              ; movdqa        0x13e22(%rip),%xmm0        # 358f0 <_sk_srcover_bgra_8888_sse2_lowp+0x10d8>
+  DB  102,15,219,195                      ; pand          %xmm3,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  15,89,5,36,62,1,0                   ; mulps         0x13e24(%rip),%xmm0        # 35900 <_sk_srcover_bgra_8888_sse2_lowp+0x10e8>
+  DB  102,15,111,13,44,62,1,0             ; movdqa        0x13e2c(%rip),%xmm1        # 35910 <_sk_srcover_bgra_8888_sse2_lowp+0x10f8>
+  DB  102,15,219,203                      ; pand          %xmm3,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  15,89,13,46,62,1,0                  ; mulps         0x13e2e(%rip),%xmm1        # 35920 <_sk_srcover_bgra_8888_sse2_lowp+0x1108>
+  DB  102,15,111,21,54,62,1,0             ; movdqa        0x13e36(%rip),%xmm2        # 35930 <_sk_srcover_bgra_8888_sse2_lowp+0x1118>
+  DB  102,15,219,211                      ; pand          %xmm3,%xmm2
+  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
+  DB  15,89,21,56,62,1,0                  ; mulps         0x13e38(%rip),%xmm2        # 35940 <_sk_srcover_bgra_8888_sse2_lowp+0x1128>
+  DB  102,15,219,29,64,62,1,0             ; pand          0x13e40(%rip),%xmm3        # 35950 <_sk_srcover_bgra_8888_sse2_lowp+0x1138>
+  DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
+  DB  15,89,29,70,62,1,0                  ; mulps         0x13e46(%rip),%xmm3        # 35960 <_sk_srcover_bgra_8888_sse2_lowp+0x1148>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_store_4444_sse2
+_sk_store_4444_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,95,200                        ; maxps         %xmm0,%xmm9
+  DB  68,15,40,21,110,57,1,0              ; movaps        0x1396e(%rip),%xmm10        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,93,202                        ; minps         %xmm10,%xmm9
+  DB  68,15,40,29,34,62,1,0               ; movaps        0x13e22(%rip),%xmm11        # 35970 <_sk_srcover_bgra_8888_sse2_lowp+0x1158>
+  DB  69,15,89,203                        ; mulps         %xmm11,%xmm9
+  DB  102,69,15,91,201                    ; cvtps2dq      %xmm9,%xmm9
+  DB  102,65,15,114,241,12                ; pslld         $0xc,%xmm9
+  DB  69,15,87,228                        ; xorps         %xmm12,%xmm12
+  DB  68,15,95,225                        ; maxps         %xmm1,%xmm12
+  DB  69,15,93,226                        ; minps         %xmm10,%xmm12
+  DB  69,15,89,227                        ; mulps         %xmm11,%xmm12
+  DB  102,69,15,91,228                    ; cvtps2dq      %xmm12,%xmm12
+  DB  102,65,15,114,244,8                 ; pslld         $0x8,%xmm12
+  DB  102,69,15,235,225                   ; por           %xmm9,%xmm12
+  DB  102,69,15,239,201                   ; pxor          %xmm9,%xmm9
+  DB  68,15,95,202                        ; maxps         %xmm2,%xmm9
+  DB  69,15,93,202                        ; minps         %xmm10,%xmm9
+  DB  69,15,89,203                        ; mulps         %xmm11,%xmm9
+  DB  102,69,15,91,201                    ; cvtps2dq      %xmm9,%xmm9
+  DB  102,65,15,114,241,4                 ; pslld         $0x4,%xmm9
+  DB  68,15,95,195                        ; maxps         %xmm3,%xmm8
+  DB  69,15,93,194                        ; minps         %xmm10,%xmm8
+  DB  69,15,89,195                        ; mulps         %xmm11,%xmm8
+  DB  102,69,15,91,192                    ; cvtps2dq      %xmm8,%xmm8
+  DB  102,69,15,86,193                    ; orpd          %xmm9,%xmm8
+  DB  102,69,15,86,196                    ; orpd          %xmm12,%xmm8
+  DB  102,65,15,114,240,16                ; pslld         $0x10,%xmm8
+  DB  102,65,15,114,224,16                ; psrad         $0x10,%xmm8
+  DB  102,68,15,107,192                   ; packssdw      %xmm0,%xmm8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,10                              ; jne           21bd4 <_sk_store_4444_sse2+0xb6>
+  DB  102,69,15,214,4,80                  ; movq          %xmm8,(%r8,%rdx,2)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,68,15,97,192                    ; punpcklwd     %xmm0,%xmm8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,34                              ; je            21c03 <_sk_store_4444_sse2+0xe5>
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,16                              ; je            21bf5 <_sk_store_4444_sse2+0xd7>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,231                             ; jne           21bd0 <_sk_store_4444_sse2+0xb2>
+  DB  102,65,15,197,192,4                 ; pextrw        $0x4,%xmm8,%eax
+  DB  102,65,137,68,80,4                  ; mov           %ax,0x4(%r8,%rdx,2)
+  DB  242,69,15,112,192,232               ; pshuflw       $0xe8,%xmm8,%xmm8
+  DB  102,69,15,126,4,80                  ; movd          %xmm8,(%r8,%rdx,2)
+  DB  235,205                             ; jmp           21bd0 <_sk_store_4444_sse2+0xb2>
+  DB  102,68,15,126,192                   ; movd          %xmm8,%eax
+  DB  102,65,137,4,80                     ; mov           %ax,(%r8,%rdx,2)
+  DB  235,193                             ; jmp           21bd0 <_sk_store_4444_sse2+0xb2>
+
+PUBLIC _sk_load_8888_sse2
+_sk_load_8888_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,98                              ; jne           21c87 <_sk_load_8888_sse2+0x78>
+  DB  243,69,15,111,12,144                ; movdqu        (%r8,%rdx,4),%xmm9
+  DB  102,15,111,21,45,57,1,0             ; movdqa        0x1392d(%rip),%xmm2        # 35560 <_sk_srcover_bgra_8888_sse2_lowp+0xd48>
+  DB  102,65,15,111,193                   ; movdqa        %xmm9,%xmm0
+  DB  102,15,219,194                      ; pand          %xmm2,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  68,15,40,5,121,58,1,0               ; movaps        0x13a79(%rip),%xmm8        # 356c0 <_sk_srcover_bgra_8888_sse2_lowp+0xea8>
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  102,65,15,111,201                   ; movdqa        %xmm9,%xmm1
+  DB  102,15,114,209,8                    ; psrld         $0x8,%xmm1
+  DB  102,15,219,202                      ; pand          %xmm2,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
+  DB  102,65,15,111,217                   ; movdqa        %xmm9,%xmm3
+  DB  102,15,114,211,16                   ; psrld         $0x10,%xmm3
+  DB  102,15,219,218                      ; pand          %xmm2,%xmm3
+  DB  15,91,211                           ; cvtdq2ps      %xmm3,%xmm2
+  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
+  DB  102,65,15,114,209,24                ; psrld         $0x18,%xmm9
+  DB  65,15,91,217                        ; cvtdq2ps      %xmm9,%xmm3
+  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,37                              ; je            21cb4 <_sk_load_8888_sse2+0xa5>
+  DB  102,69,15,239,201                   ; pxor          %xmm9,%xmm9
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,17                              ; je            21ca9 <_sk_load_8888_sse2+0x9a>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,143                             ; jne           21c2b <_sk_load_8888_sse2+0x1c>
+  DB  102,65,15,110,68,144,8              ; movd          0x8(%r8,%rdx,4),%xmm0
+  DB  102,68,15,112,200,69                ; pshufd        $0x45,%xmm0,%xmm9
+  DB  102,69,15,18,12,144                 ; movlpd        (%r8,%rdx,4),%xmm9
+  DB  233,119,255,255,255                 ; jmpq          21c2b <_sk_load_8888_sse2+0x1c>
+  DB  102,69,15,110,12,144                ; movd          (%r8,%rdx,4),%xmm9
+  DB  233,108,255,255,255                 ; jmpq          21c2b <_sk_load_8888_sse2+0x1c>
+
+PUBLIC _sk_load_8888_dst_sse2
+_sk_load_8888_dst_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,98                              ; jne           21d37 <_sk_load_8888_dst_sse2+0x78>
+  DB  243,69,15,111,12,144                ; movdqu        (%r8,%rdx,4),%xmm9
+  DB  102,15,111,53,125,56,1,0            ; movdqa        0x1387d(%rip),%xmm6        # 35560 <_sk_srcover_bgra_8888_sse2_lowp+0xd48>
+  DB  102,65,15,111,225                   ; movdqa        %xmm9,%xmm4
+  DB  102,15,219,230                      ; pand          %xmm6,%xmm4
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  68,15,40,5,201,57,1,0               ; movaps        0x139c9(%rip),%xmm8        # 356c0 <_sk_srcover_bgra_8888_sse2_lowp+0xea8>
+  DB  65,15,89,224                        ; mulps         %xmm8,%xmm4
+  DB  102,65,15,111,233                   ; movdqa        %xmm9,%xmm5
+  DB  102,15,114,213,8                    ; psrld         $0x8,%xmm5
+  DB  102,15,219,238                      ; pand          %xmm6,%xmm5
+  DB  15,91,237                           ; cvtdq2ps      %xmm5,%xmm5
+  DB  65,15,89,232                        ; mulps         %xmm8,%xmm5
+  DB  102,65,15,111,249                   ; movdqa        %xmm9,%xmm7
+  DB  102,15,114,215,16                   ; psrld         $0x10,%xmm7
+  DB  102,15,219,254                      ; pand          %xmm6,%xmm7
+  DB  15,91,247                           ; cvtdq2ps      %xmm7,%xmm6
+  DB  65,15,89,240                        ; mulps         %xmm8,%xmm6
+  DB  102,65,15,114,209,24                ; psrld         $0x18,%xmm9
+  DB  65,15,91,249                        ; cvtdq2ps      %xmm9,%xmm7
+  DB  65,15,89,248                        ; mulps         %xmm8,%xmm7
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,37                              ; je            21d64 <_sk_load_8888_dst_sse2+0xa5>
+  DB  102,69,15,239,201                   ; pxor          %xmm9,%xmm9
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,17                              ; je            21d59 <_sk_load_8888_dst_sse2+0x9a>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,143                             ; jne           21cdb <_sk_load_8888_dst_sse2+0x1c>
+  DB  102,65,15,110,100,144,8             ; movd          0x8(%r8,%rdx,4),%xmm4
+  DB  102,68,15,112,204,69                ; pshufd        $0x45,%xmm4,%xmm9
+  DB  102,69,15,18,12,144                 ; movlpd        (%r8,%rdx,4),%xmm9
+  DB  233,119,255,255,255                 ; jmpq          21cdb <_sk_load_8888_dst_sse2+0x1c>
+  DB  102,69,15,110,12,144                ; movd          (%r8,%rdx,4),%xmm9
+  DB  233,108,255,255,255                 ; jmpq          21cdb <_sk_load_8888_dst_sse2+0x1c>
+
+PUBLIC _sk_gather_8888_sse2
+_sk_gather_8888_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,15,16,80,12                     ; movss         0xc(%rax),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  102,69,15,118,192                   ; pcmpeqd       %xmm8,%xmm8
+  DB  102,65,15,254,208                   ; paddd         %xmm8,%xmm2
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,95,200                        ; maxps         %xmm0,%xmm9
+  DB  68,15,93,202                        ; minps         %xmm2,%xmm9
+  DB  243,15,16,64,16                     ; movss         0x10(%rax),%xmm0
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  102,65,15,254,192                   ; paddd         %xmm8,%xmm0
+  DB  15,95,217                           ; maxps         %xmm1,%xmm3
+  DB  15,93,216                           ; minps         %xmm0,%xmm3
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  243,15,91,195                       ; cvttps2dq     %xmm3,%xmm0
+  DB  102,15,110,72,8                     ; movd          0x8(%rax),%xmm1
+  DB  102,15,112,201,0                    ; pshufd        $0x0,%xmm1,%xmm1
+  DB  102,15,112,208,245                  ; pshufd        $0xf5,%xmm0,%xmm2
+  DB  102,15,244,209                      ; pmuludq       %xmm1,%xmm2
+  DB  102,15,244,200                      ; pmuludq       %xmm0,%xmm1
+  DB  102,15,112,193,232                  ; pshufd        $0xe8,%xmm1,%xmm0
+  DB  102,15,112,202,232                  ; pshufd        $0xe8,%xmm2,%xmm1
+  DB  102,15,98,193                       ; punpckldq     %xmm1,%xmm0
+  DB  243,65,15,91,201                    ; cvttps2dq     %xmm9,%xmm1
+  DB  102,15,254,200                      ; paddd         %xmm0,%xmm1
+  DB  102,15,112,193,78                   ; pshufd        $0x4e,%xmm1,%xmm0
+  DB  102,72,15,126,192                   ; movq          %xmm0,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  102,73,15,126,202                   ; movq          %xmm1,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  102,67,15,110,4,144                 ; movd          (%r8,%r10,4),%xmm0
+  DB  102,71,15,110,12,152                ; movd          (%r8,%r11,4),%xmm9
+  DB  102,68,15,98,200                    ; punpckldq     %xmm0,%xmm9
+  DB  102,65,15,110,4,128                 ; movd          (%r8,%rax,4),%xmm0
+  DB  102,67,15,110,12,136                ; movd          (%r8,%r9,4),%xmm1
+  DB  102,15,98,200                       ; punpckldq     %xmm0,%xmm1
+  DB  102,68,15,108,201                   ; punpcklqdq    %xmm1,%xmm9
+  DB  102,15,111,21,57,55,1,0             ; movdqa        0x13739(%rip),%xmm2        # 35560 <_sk_srcover_bgra_8888_sse2_lowp+0xd48>
+  DB  102,65,15,111,193                   ; movdqa        %xmm9,%xmm0
+  DB  102,15,219,194                      ; pand          %xmm2,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  68,15,40,5,133,56,1,0               ; movaps        0x13885(%rip),%xmm8        # 356c0 <_sk_srcover_bgra_8888_sse2_lowp+0xea8>
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  102,65,15,111,201                   ; movdqa        %xmm9,%xmm1
+  DB  102,15,114,209,8                    ; psrld         $0x8,%xmm1
+  DB  102,15,219,202                      ; pand          %xmm2,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
+  DB  102,65,15,111,217                   ; movdqa        %xmm9,%xmm3
+  DB  102,15,114,211,16                   ; psrld         $0x10,%xmm3
+  DB  102,15,219,218                      ; pand          %xmm2,%xmm3
+  DB  15,91,211                           ; cvtdq2ps      %xmm3,%xmm2
+  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
+  DB  102,65,15,114,209,24                ; psrld         $0x18,%xmm9
+  DB  65,15,91,217                        ; cvtdq2ps      %xmm9,%xmm3
+  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_store_8888_sse2
+_sk_store_8888_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,95,200                        ; maxps         %xmm0,%xmm9
+  DB  68,15,40,21,16,54,1,0               ; movaps        0x13610(%rip),%xmm10        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,93,202                        ; minps         %xmm10,%xmm9
+  DB  68,15,40,29,228,54,1,0              ; movaps        0x136e4(%rip),%xmm11        # 35590 <_sk_srcover_bgra_8888_sse2_lowp+0xd78>
+  DB  69,15,89,203                        ; mulps         %xmm11,%xmm9
+  DB  102,69,15,91,201                    ; cvtps2dq      %xmm9,%xmm9
+  DB  69,15,87,228                        ; xorps         %xmm12,%xmm12
+  DB  68,15,95,225                        ; maxps         %xmm1,%xmm12
+  DB  69,15,93,226                        ; minps         %xmm10,%xmm12
+  DB  69,15,89,227                        ; mulps         %xmm11,%xmm12
+  DB  102,69,15,91,228                    ; cvtps2dq      %xmm12,%xmm12
+  DB  102,65,15,114,244,8                 ; pslld         $0x8,%xmm12
+  DB  102,69,15,235,225                   ; por           %xmm9,%xmm12
+  DB  102,69,15,87,201                    ; xorpd         %xmm9,%xmm9
+  DB  68,15,95,202                        ; maxps         %xmm2,%xmm9
+  DB  69,15,93,202                        ; minps         %xmm10,%xmm9
+  DB  69,15,89,203                        ; mulps         %xmm11,%xmm9
+  DB  102,69,15,91,201                    ; cvtps2dq      %xmm9,%xmm9
+  DB  102,65,15,114,241,16                ; pslld         $0x10,%xmm9
+  DB  68,15,95,195                        ; maxps         %xmm3,%xmm8
+  DB  69,15,93,194                        ; minps         %xmm10,%xmm8
+  DB  69,15,89,195                        ; mulps         %xmm11,%xmm8
+  DB  102,69,15,91,192                    ; cvtps2dq      %xmm8,%xmm8
+  DB  102,65,15,114,240,24                ; pslld         $0x18,%xmm8
+  DB  102,69,15,235,193                   ; por           %xmm9,%xmm8
+  DB  102,69,15,235,196                   ; por           %xmm12,%xmm8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,10                              ; jne           21f21 <_sk_store_8888_sse2+0xa6>
+  DB  243,69,15,127,4,144                 ; movdqu        %xmm8,(%r8,%rdx,4)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,29                              ; je            21f46 <_sk_store_8888_sse2+0xcb>
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,17                              ; je            21f3e <_sk_store_8888_sse2+0xc3>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,236                             ; jne           21f1d <_sk_store_8888_sse2+0xa2>
+  DB  102,69,15,112,200,78                ; pshufd        $0x4e,%xmm8,%xmm9
+  DB  102,69,15,126,76,144,8              ; movd          %xmm9,0x8(%r8,%rdx,4)
+  DB  102,69,15,214,4,144                 ; movq          %xmm8,(%r8,%rdx,4)
+  DB  235,215                             ; jmp           21f1d <_sk_store_8888_sse2+0xa2>
+  DB  102,69,15,126,4,144                 ; movd          %xmm8,(%r8,%rdx,4)
+  DB  235,207                             ; jmp           21f1d <_sk_store_8888_sse2+0xa2>
+
+PUBLIC _sk_load_bgra_sse2
+_sk_load_bgra_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,98                              ; jne           21fc6 <_sk_load_bgra_sse2+0x78>
+  DB  243,69,15,111,12,144                ; movdqu        (%r8,%rdx,4),%xmm9
+  DB  102,15,111,5,238,53,1,0             ; movdqa        0x135ee(%rip),%xmm0        # 35560 <_sk_srcover_bgra_8888_sse2_lowp+0xd48>
+  DB  102,65,15,111,201                   ; movdqa        %xmm9,%xmm1
+  DB  102,15,219,200                      ; pand          %xmm0,%xmm1
+  DB  15,91,209                           ; cvtdq2ps      %xmm1,%xmm2
+  DB  68,15,40,5,58,55,1,0                ; movaps        0x1373a(%rip),%xmm8        # 356c0 <_sk_srcover_bgra_8888_sse2_lowp+0xea8>
+  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
+  DB  102,65,15,111,201                   ; movdqa        %xmm9,%xmm1
+  DB  102,15,114,209,8                    ; psrld         $0x8,%xmm1
+  DB  102,15,219,200                      ; pand          %xmm0,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
+  DB  102,65,15,111,217                   ; movdqa        %xmm9,%xmm3
+  DB  102,15,114,211,16                   ; psrld         $0x10,%xmm3
+  DB  102,15,219,216                      ; pand          %xmm0,%xmm3
+  DB  15,91,195                           ; cvtdq2ps      %xmm3,%xmm0
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  102,65,15,114,209,24                ; psrld         $0x18,%xmm9
+  DB  65,15,91,217                        ; cvtdq2ps      %xmm9,%xmm3
+  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,37                              ; je            21ff3 <_sk_load_bgra_sse2+0xa5>
+  DB  102,69,15,239,201                   ; pxor          %xmm9,%xmm9
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,17                              ; je            21fe8 <_sk_load_bgra_sse2+0x9a>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,143                             ; jne           21f6a <_sk_load_bgra_sse2+0x1c>
+  DB  102,65,15,110,68,144,8              ; movd          0x8(%r8,%rdx,4),%xmm0
+  DB  102,68,15,112,200,69                ; pshufd        $0x45,%xmm0,%xmm9
+  DB  102,69,15,18,12,144                 ; movlpd        (%r8,%rdx,4),%xmm9
+  DB  233,119,255,255,255                 ; jmpq          21f6a <_sk_load_bgra_sse2+0x1c>
+  DB  102,69,15,110,12,144                ; movd          (%r8,%rdx,4),%xmm9
+  DB  233,108,255,255,255                 ; jmpq          21f6a <_sk_load_bgra_sse2+0x1c>
+
+PUBLIC _sk_load_bgra_dst_sse2
+_sk_load_bgra_dst_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,98                              ; jne           22076 <_sk_load_bgra_dst_sse2+0x78>
+  DB  243,69,15,111,12,144                ; movdqu        (%r8,%rdx,4),%xmm9
+  DB  102,15,111,37,62,53,1,0             ; movdqa        0x1353e(%rip),%xmm4        # 35560 <_sk_srcover_bgra_8888_sse2_lowp+0xd48>
+  DB  102,65,15,111,233                   ; movdqa        %xmm9,%xmm5
+  DB  102,15,219,236                      ; pand          %xmm4,%xmm5
+  DB  15,91,245                           ; cvtdq2ps      %xmm5,%xmm6
+  DB  68,15,40,5,138,54,1,0               ; movaps        0x1368a(%rip),%xmm8        # 356c0 <_sk_srcover_bgra_8888_sse2_lowp+0xea8>
+  DB  65,15,89,240                        ; mulps         %xmm8,%xmm6
+  DB  102,65,15,111,233                   ; movdqa        %xmm9,%xmm5
+  DB  102,15,114,213,8                    ; psrld         $0x8,%xmm5
+  DB  102,15,219,236                      ; pand          %xmm4,%xmm5
+  DB  15,91,237                           ; cvtdq2ps      %xmm5,%xmm5
+  DB  65,15,89,232                        ; mulps         %xmm8,%xmm5
+  DB  102,65,15,111,249                   ; movdqa        %xmm9,%xmm7
+  DB  102,15,114,215,16                   ; psrld         $0x10,%xmm7
+  DB  102,15,219,252                      ; pand          %xmm4,%xmm7
+  DB  15,91,231                           ; cvtdq2ps      %xmm7,%xmm4
+  DB  65,15,89,224                        ; mulps         %xmm8,%xmm4
+  DB  102,65,15,114,209,24                ; psrld         $0x18,%xmm9
+  DB  65,15,91,249                        ; cvtdq2ps      %xmm9,%xmm7
+  DB  65,15,89,248                        ; mulps         %xmm8,%xmm7
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,37                              ; je            220a3 <_sk_load_bgra_dst_sse2+0xa5>
+  DB  102,69,15,239,201                   ; pxor          %xmm9,%xmm9
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,17                              ; je            22098 <_sk_load_bgra_dst_sse2+0x9a>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,143                             ; jne           2201a <_sk_load_bgra_dst_sse2+0x1c>
+  DB  102,65,15,110,100,144,8             ; movd          0x8(%r8,%rdx,4),%xmm4
+  DB  102,68,15,112,204,69                ; pshufd        $0x45,%xmm4,%xmm9
+  DB  102,69,15,18,12,144                 ; movlpd        (%r8,%rdx,4),%xmm9
+  DB  233,119,255,255,255                 ; jmpq          2201a <_sk_load_bgra_dst_sse2+0x1c>
+  DB  102,69,15,110,12,144                ; movd          (%r8,%rdx,4),%xmm9
+  DB  233,108,255,255,255                 ; jmpq          2201a <_sk_load_bgra_dst_sse2+0x1c>
+
+PUBLIC _sk_gather_bgra_sse2
+_sk_gather_bgra_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,15,16,80,12                     ; movss         0xc(%rax),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  102,69,15,118,192                   ; pcmpeqd       %xmm8,%xmm8
+  DB  102,65,15,254,208                   ; paddd         %xmm8,%xmm2
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,95,200                        ; maxps         %xmm0,%xmm9
+  DB  68,15,93,202                        ; minps         %xmm2,%xmm9
+  DB  243,15,16,64,16                     ; movss         0x10(%rax),%xmm0
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  102,65,15,254,192                   ; paddd         %xmm8,%xmm0
+  DB  15,95,217                           ; maxps         %xmm1,%xmm3
+  DB  15,93,216                           ; minps         %xmm0,%xmm3
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  243,15,91,195                       ; cvttps2dq     %xmm3,%xmm0
+  DB  102,15,110,72,8                     ; movd          0x8(%rax),%xmm1
+  DB  102,15,112,201,0                    ; pshufd        $0x0,%xmm1,%xmm1
+  DB  102,15,112,208,245                  ; pshufd        $0xf5,%xmm0,%xmm2
+  DB  102,15,244,209                      ; pmuludq       %xmm1,%xmm2
+  DB  102,15,244,200                      ; pmuludq       %xmm0,%xmm1
+  DB  102,15,112,193,232                  ; pshufd        $0xe8,%xmm1,%xmm0
+  DB  102,15,112,202,232                  ; pshufd        $0xe8,%xmm2,%xmm1
+  DB  102,15,98,193                       ; punpckldq     %xmm1,%xmm0
+  DB  243,65,15,91,201                    ; cvttps2dq     %xmm9,%xmm1
+  DB  102,15,254,200                      ; paddd         %xmm0,%xmm1
+  DB  102,15,112,193,78                   ; pshufd        $0x4e,%xmm1,%xmm0
+  DB  102,72,15,126,192                   ; movq          %xmm0,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  102,73,15,126,202                   ; movq          %xmm1,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  102,67,15,110,4,144                 ; movd          (%r8,%r10,4),%xmm0
+  DB  102,71,15,110,12,152                ; movd          (%r8,%r11,4),%xmm9
+  DB  102,68,15,98,200                    ; punpckldq     %xmm0,%xmm9
+  DB  102,65,15,110,4,128                 ; movd          (%r8,%rax,4),%xmm0
+  DB  102,67,15,110,12,136                ; movd          (%r8,%r9,4),%xmm1
+  DB  102,15,98,200                       ; punpckldq     %xmm0,%xmm1
+  DB  102,68,15,108,201                   ; punpcklqdq    %xmm1,%xmm9
+  DB  102,15,111,5,250,51,1,0             ; movdqa        0x133fa(%rip),%xmm0        # 35560 <_sk_srcover_bgra_8888_sse2_lowp+0xd48>
+  DB  102,65,15,111,201                   ; movdqa        %xmm9,%xmm1
+  DB  102,15,219,200                      ; pand          %xmm0,%xmm1
+  DB  15,91,209                           ; cvtdq2ps      %xmm1,%xmm2
+  DB  68,15,40,5,70,53,1,0                ; movaps        0x13546(%rip),%xmm8        # 356c0 <_sk_srcover_bgra_8888_sse2_lowp+0xea8>
+  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
+  DB  102,65,15,111,201                   ; movdqa        %xmm9,%xmm1
+  DB  102,15,114,209,8                    ; psrld         $0x8,%xmm1
+  DB  102,15,219,200                      ; pand          %xmm0,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
+  DB  102,65,15,111,217                   ; movdqa        %xmm9,%xmm3
+  DB  102,15,114,211,16                   ; psrld         $0x10,%xmm3
+  DB  102,15,219,216                      ; pand          %xmm0,%xmm3
+  DB  15,91,195                           ; cvtdq2ps      %xmm3,%xmm0
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  102,65,15,114,209,24                ; psrld         $0x18,%xmm9
+  DB  65,15,91,217                        ; cvtdq2ps      %xmm9,%xmm3
+  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_store_bgra_sse2
+_sk_store_bgra_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,95,202                        ; maxps         %xmm2,%xmm9
+  DB  68,15,40,21,209,50,1,0              ; movaps        0x132d1(%rip),%xmm10        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,93,202                        ; minps         %xmm10,%xmm9
+  DB  68,15,40,29,165,51,1,0              ; movaps        0x133a5(%rip),%xmm11        # 35590 <_sk_srcover_bgra_8888_sse2_lowp+0xd78>
+  DB  69,15,89,203                        ; mulps         %xmm11,%xmm9
+  DB  102,69,15,91,201                    ; cvtps2dq      %xmm9,%xmm9
+  DB  69,15,87,228                        ; xorps         %xmm12,%xmm12
+  DB  68,15,95,225                        ; maxps         %xmm1,%xmm12
+  DB  69,15,93,226                        ; minps         %xmm10,%xmm12
+  DB  69,15,89,227                        ; mulps         %xmm11,%xmm12
+  DB  102,69,15,91,228                    ; cvtps2dq      %xmm12,%xmm12
+  DB  102,65,15,114,244,8                 ; pslld         $0x8,%xmm12
+  DB  102,69,15,235,225                   ; por           %xmm9,%xmm12
+  DB  102,69,15,87,201                    ; xorpd         %xmm9,%xmm9
+  DB  68,15,95,200                        ; maxps         %xmm0,%xmm9
+  DB  69,15,93,202                        ; minps         %xmm10,%xmm9
+  DB  69,15,89,203                        ; mulps         %xmm11,%xmm9
+  DB  102,69,15,91,201                    ; cvtps2dq      %xmm9,%xmm9
+  DB  102,65,15,114,241,16                ; pslld         $0x10,%xmm9
+  DB  68,15,95,195                        ; maxps         %xmm3,%xmm8
+  DB  69,15,93,194                        ; minps         %xmm10,%xmm8
+  DB  69,15,89,195                        ; mulps         %xmm11,%xmm8
+  DB  102,69,15,91,192                    ; cvtps2dq      %xmm8,%xmm8
+  DB  102,65,15,114,240,24                ; pslld         $0x18,%xmm8
+  DB  102,69,15,235,193                   ; por           %xmm9,%xmm8
+  DB  102,69,15,235,196                   ; por           %xmm12,%xmm8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,10                              ; jne           22260 <_sk_store_bgra_sse2+0xa6>
+  DB  243,69,15,127,4,144                 ; movdqu        %xmm8,(%r8,%rdx,4)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,29                              ; je            22285 <_sk_store_bgra_sse2+0xcb>
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,17                              ; je            2227d <_sk_store_bgra_sse2+0xc3>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,236                             ; jne           2225c <_sk_store_bgra_sse2+0xa2>
+  DB  102,69,15,112,200,78                ; pshufd        $0x4e,%xmm8,%xmm9
+  DB  102,69,15,126,76,144,8              ; movd          %xmm9,0x8(%r8,%rdx,4)
+  DB  102,69,15,214,4,144                 ; movq          %xmm8,(%r8,%rdx,4)
+  DB  235,215                             ; jmp           2225c <_sk_store_bgra_sse2+0xa2>
+  DB  102,69,15,126,4,144                 ; movd          %xmm8,(%r8,%rdx,4)
+  DB  235,207                             ; jmp           2225c <_sk_store_bgra_sse2+0xa2>
+
+PUBLIC _sk_load_1010102_sse2
+_sk_load_1010102_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,101                             ; jne           22308 <_sk_load_1010102_sse2+0x7b>
+  DB  243,69,15,111,12,144                ; movdqu        (%r8,%rdx,4),%xmm9
+  DB  102,15,111,21,207,54,1,0            ; movdqa        0x136cf(%rip),%xmm2        # 35980 <_sk_srcover_bgra_8888_sse2_lowp+0x1168>
+  DB  102,65,15,111,193                   ; movdqa        %xmm9,%xmm0
+  DB  102,15,219,194                      ; pand          %xmm2,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  68,15,40,5,203,54,1,0               ; movaps        0x136cb(%rip),%xmm8        # 35990 <_sk_srcover_bgra_8888_sse2_lowp+0x1178>
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  102,65,15,111,201                   ; movdqa        %xmm9,%xmm1
+  DB  102,15,114,209,10                   ; psrld         $0xa,%xmm1
+  DB  102,15,219,202                      ; pand          %xmm2,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
+  DB  102,65,15,111,217                   ; movdqa        %xmm9,%xmm3
+  DB  102,15,114,211,20                   ; psrld         $0x14,%xmm3
+  DB  102,15,219,218                      ; pand          %xmm2,%xmm3
+  DB  15,91,211                           ; cvtdq2ps      %xmm3,%xmm2
+  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
+  DB  102,65,15,114,209,30                ; psrld         $0x1e,%xmm9
+  DB  65,15,91,217                        ; cvtdq2ps      %xmm9,%xmm3
+  DB  15,89,29,140,51,1,0                 ; mulps         0x1338c(%rip),%xmm3        # 35690 <_sk_srcover_bgra_8888_sse2_lowp+0xe78>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,37                              ; je            22335 <_sk_load_1010102_sse2+0xa8>
+  DB  102,69,15,239,201                   ; pxor          %xmm9,%xmm9
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,17                              ; je            2232a <_sk_load_1010102_sse2+0x9d>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,140                             ; jne           222a9 <_sk_load_1010102_sse2+0x1c>
+  DB  102,65,15,110,68,144,8              ; movd          0x8(%r8,%rdx,4),%xmm0
+  DB  102,68,15,112,200,69                ; pshufd        $0x45,%xmm0,%xmm9
+  DB  102,69,15,18,12,144                 ; movlpd        (%r8,%rdx,4),%xmm9
+  DB  233,116,255,255,255                 ; jmpq          222a9 <_sk_load_1010102_sse2+0x1c>
+  DB  102,69,15,110,12,144                ; movd          (%r8,%rdx,4),%xmm9
+  DB  233,105,255,255,255                 ; jmpq          222a9 <_sk_load_1010102_sse2+0x1c>
+
+PUBLIC _sk_load_1010102_dst_sse2
+_sk_load_1010102_dst_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,101                             ; jne           223bb <_sk_load_1010102_dst_sse2+0x7b>
+  DB  243,69,15,111,12,144                ; movdqu        (%r8,%rdx,4),%xmm9
+  DB  102,15,111,53,28,54,1,0             ; movdqa        0x1361c(%rip),%xmm6        # 35980 <_sk_srcover_bgra_8888_sse2_lowp+0x1168>
+  DB  102,65,15,111,225                   ; movdqa        %xmm9,%xmm4
+  DB  102,15,219,230                      ; pand          %xmm6,%xmm4
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  68,15,40,5,24,54,1,0                ; movaps        0x13618(%rip),%xmm8        # 35990 <_sk_srcover_bgra_8888_sse2_lowp+0x1178>
+  DB  65,15,89,224                        ; mulps         %xmm8,%xmm4
+  DB  102,65,15,111,233                   ; movdqa        %xmm9,%xmm5
+  DB  102,15,114,213,10                   ; psrld         $0xa,%xmm5
+  DB  102,15,219,238                      ; pand          %xmm6,%xmm5
+  DB  15,91,237                           ; cvtdq2ps      %xmm5,%xmm5
+  DB  65,15,89,232                        ; mulps         %xmm8,%xmm5
+  DB  102,65,15,111,249                   ; movdqa        %xmm9,%xmm7
+  DB  102,15,114,215,20                   ; psrld         $0x14,%xmm7
+  DB  102,15,219,254                      ; pand          %xmm6,%xmm7
+  DB  15,91,247                           ; cvtdq2ps      %xmm7,%xmm6
+  DB  65,15,89,240                        ; mulps         %xmm8,%xmm6
+  DB  102,65,15,114,209,30                ; psrld         $0x1e,%xmm9
+  DB  65,15,91,249                        ; cvtdq2ps      %xmm9,%xmm7
+  DB  15,89,61,217,50,1,0                 ; mulps         0x132d9(%rip),%xmm7        # 35690 <_sk_srcover_bgra_8888_sse2_lowp+0xe78>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,37                              ; je            223e8 <_sk_load_1010102_dst_sse2+0xa8>
+  DB  102,69,15,239,201                   ; pxor          %xmm9,%xmm9
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,17                              ; je            223dd <_sk_load_1010102_dst_sse2+0x9d>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,140                             ; jne           2235c <_sk_load_1010102_dst_sse2+0x1c>
+  DB  102,65,15,110,100,144,8             ; movd          0x8(%r8,%rdx,4),%xmm4
+  DB  102,68,15,112,204,69                ; pshufd        $0x45,%xmm4,%xmm9
+  DB  102,69,15,18,12,144                 ; movlpd        (%r8,%rdx,4),%xmm9
+  DB  233,116,255,255,255                 ; jmpq          2235c <_sk_load_1010102_dst_sse2+0x1c>
+  DB  102,69,15,110,12,144                ; movd          (%r8,%rdx,4),%xmm9
+  DB  233,105,255,255,255                 ; jmpq          2235c <_sk_load_1010102_dst_sse2+0x1c>
+
+PUBLIC _sk_gather_1010102_sse2
+_sk_gather_1010102_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,15,16,80,12                     ; movss         0xc(%rax),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  102,69,15,118,192                   ; pcmpeqd       %xmm8,%xmm8
+  DB  102,65,15,254,208                   ; paddd         %xmm8,%xmm2
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,95,200                        ; maxps         %xmm0,%xmm9
+  DB  68,15,93,202                        ; minps         %xmm2,%xmm9
+  DB  243,15,16,64,16                     ; movss         0x10(%rax),%xmm0
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  102,65,15,254,192                   ; paddd         %xmm8,%xmm0
+  DB  15,95,217                           ; maxps         %xmm1,%xmm3
+  DB  15,93,216                           ; minps         %xmm0,%xmm3
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  243,15,91,195                       ; cvttps2dq     %xmm3,%xmm0
+  DB  102,15,110,72,8                     ; movd          0x8(%rax),%xmm1
+  DB  102,15,112,201,0                    ; pshufd        $0x0,%xmm1,%xmm1
+  DB  102,15,112,208,245                  ; pshufd        $0xf5,%xmm0,%xmm2
+  DB  102,15,244,209                      ; pmuludq       %xmm1,%xmm2
+  DB  102,15,244,200                      ; pmuludq       %xmm0,%xmm1
+  DB  102,15,112,193,232                  ; pshufd        $0xe8,%xmm1,%xmm0
+  DB  102,15,112,202,232                  ; pshufd        $0xe8,%xmm2,%xmm1
+  DB  102,15,98,193                       ; punpckldq     %xmm1,%xmm0
+  DB  243,65,15,91,201                    ; cvttps2dq     %xmm9,%xmm1
+  DB  102,15,254,200                      ; paddd         %xmm0,%xmm1
+  DB  102,15,112,193,78                   ; pshufd        $0x4e,%xmm1,%xmm0
+  DB  102,72,15,126,192                   ; movq          %xmm0,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  102,73,15,126,202                   ; movq          %xmm1,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  102,67,15,110,4,144                 ; movd          (%r8,%r10,4),%xmm0
+  DB  102,71,15,110,12,152                ; movd          (%r8,%r11,4),%xmm9
+  DB  102,68,15,98,200                    ; punpckldq     %xmm0,%xmm9
+  DB  102,65,15,110,4,128                 ; movd          (%r8,%rax,4),%xmm0
+  DB  102,67,15,110,12,136                ; movd          (%r8,%r9,4),%xmm1
+  DB  102,15,98,200                       ; punpckldq     %xmm0,%xmm1
+  DB  102,68,15,108,201                   ; punpcklqdq    %xmm1,%xmm9
+  DB  102,15,111,21,213,52,1,0            ; movdqa        0x134d5(%rip),%xmm2        # 35980 <_sk_srcover_bgra_8888_sse2_lowp+0x1168>
+  DB  102,65,15,111,193                   ; movdqa        %xmm9,%xmm0
+  DB  102,15,219,194                      ; pand          %xmm2,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  68,15,40,5,209,52,1,0               ; movaps        0x134d1(%rip),%xmm8        # 35990 <_sk_srcover_bgra_8888_sse2_lowp+0x1178>
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  102,65,15,111,201                   ; movdqa        %xmm9,%xmm1
+  DB  102,15,114,209,10                   ; psrld         $0xa,%xmm1
+  DB  102,15,219,202                      ; pand          %xmm2,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
+  DB  102,65,15,111,217                   ; movdqa        %xmm9,%xmm3
+  DB  102,15,114,211,20                   ; psrld         $0x14,%xmm3
+  DB  102,15,219,218                      ; pand          %xmm2,%xmm3
+  DB  15,91,211                           ; cvtdq2ps      %xmm3,%xmm2
+  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
+  DB  102,65,15,114,209,30                ; psrld         $0x1e,%xmm9
+  DB  65,15,91,217                        ; cvtdq2ps      %xmm9,%xmm3
+  DB  15,89,29,146,49,1,0                 ; mulps         0x13192(%rip),%xmm3        # 35690 <_sk_srcover_bgra_8888_sse2_lowp+0xe78>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_store_1010102_sse2
+_sk_store_1010102_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,95,200                        ; maxps         %xmm0,%xmm9
+  DB  68,15,40,21,137,47,1,0              ; movaps        0x12f89(%rip),%xmm10        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,93,202                        ; minps         %xmm10,%xmm9
+  DB  68,15,40,29,109,52,1,0              ; movaps        0x1346d(%rip),%xmm11        # 359a0 <_sk_srcover_bgra_8888_sse2_lowp+0x1188>
+  DB  69,15,89,203                        ; mulps         %xmm11,%xmm9
+  DB  102,69,15,91,201                    ; cvtps2dq      %xmm9,%xmm9
+  DB  69,15,87,228                        ; xorps         %xmm12,%xmm12
+  DB  68,15,95,225                        ; maxps         %xmm1,%xmm12
+  DB  69,15,93,226                        ; minps         %xmm10,%xmm12
+  DB  69,15,89,227                        ; mulps         %xmm11,%xmm12
+  DB  102,69,15,91,228                    ; cvtps2dq      %xmm12,%xmm12
+  DB  102,65,15,114,244,10                ; pslld         $0xa,%xmm12
+  DB  102,69,15,235,225                   ; por           %xmm9,%xmm12
+  DB  102,69,15,87,201                    ; xorpd         %xmm9,%xmm9
+  DB  68,15,95,202                        ; maxps         %xmm2,%xmm9
+  DB  69,15,93,202                        ; minps         %xmm10,%xmm9
+  DB  69,15,89,203                        ; mulps         %xmm11,%xmm9
+  DB  102,69,15,91,201                    ; cvtps2dq      %xmm9,%xmm9
+  DB  102,65,15,114,241,20                ; pslld         $0x14,%xmm9
+  DB  102,69,15,235,204                   ; por           %xmm12,%xmm9
+  DB  68,15,95,195                        ; maxps         %xmm3,%xmm8
+  DB  69,15,93,194                        ; minps         %xmm10,%xmm8
+  DB  68,15,89,5,35,52,1,0                ; mulps         0x13423(%rip),%xmm8        # 359b0 <_sk_srcover_bgra_8888_sse2_lowp+0x1198>
+  DB  102,69,15,91,192                    ; cvtps2dq      %xmm8,%xmm8
+  DB  102,65,15,114,240,30                ; pslld         $0x1e,%xmm8
+  DB  102,69,15,235,193                   ; por           %xmm9,%xmm8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,10                              ; jne           225ac <_sk_store_1010102_sse2+0xaa>
+  DB  243,69,15,127,4,144                 ; movdqu        %xmm8,(%r8,%rdx,4)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,29                              ; je            225d1 <_sk_store_1010102_sse2+0xcf>
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,17                              ; je            225c9 <_sk_store_1010102_sse2+0xc7>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  117,236                             ; jne           225a8 <_sk_store_1010102_sse2+0xa6>
+  DB  102,69,15,112,200,78                ; pshufd        $0x4e,%xmm8,%xmm9
+  DB  102,69,15,126,76,144,8              ; movd          %xmm9,0x8(%r8,%rdx,4)
+  DB  102,69,15,214,4,144                 ; movq          %xmm8,(%r8,%rdx,4)
+  DB  235,215                             ; jmp           225a8 <_sk_store_1010102_sse2+0xa6>
+  DB  102,69,15,126,4,144                 ; movd          %xmm8,(%r8,%rdx,4)
+  DB  235,207                             ; jmp           225a8 <_sk_store_1010102_sse2+0xa6>
+
+PUBLIC _sk_load_f16_sse2
+_sk_load_f16_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,3                        ; shl           $0x3,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,47,1,0,0                     ; jne           22722 <_sk_load_f16_sse2+0x149>
+  DB  102,65,15,16,4,208                  ; movupd        (%r8,%rdx,8),%xmm0
+  DB  243,65,15,111,76,208,16             ; movdqu        0x10(%r8,%rdx,8),%xmm1
+  DB  102,68,15,40,192                    ; movapd        %xmm0,%xmm8
+  DB  102,68,15,97,193                    ; punpcklwd     %xmm1,%xmm8
+  DB  102,15,105,193                      ; punpckhwd     %xmm1,%xmm0
+  DB  102,65,15,111,208                   ; movdqa        %xmm8,%xmm2
+  DB  102,15,97,208                       ; punpcklwd     %xmm0,%xmm2
+  DB  102,68,15,105,192                   ; punpckhwd     %xmm0,%xmm8
+  DB  102,69,15,239,210                   ; pxor          %xmm10,%xmm10
+  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
+  DB  102,65,15,97,202                    ; punpcklwd     %xmm10,%xmm1
+  DB  102,68,15,111,13,141,51,1,0         ; movdqa        0x1338d(%rip),%xmm9        # 359c0 <_sk_srcover_bgra_8888_sse2_lowp+0x11a8>
+  DB  102,68,15,111,225                   ; movdqa        %xmm1,%xmm12
+  DB  102,69,15,219,225                   ; pand          %xmm9,%xmm12
+  DB  102,68,15,111,29,138,51,1,0         ; movdqa        0x1338a(%rip),%xmm11        # 359d0 <_sk_srcover_bgra_8888_sse2_lowp+0x11b8>
+  DB  102,65,15,219,203                   ; pand          %xmm11,%xmm1
+  DB  102,15,111,29,141,51,1,0            ; movdqa        0x1338d(%rip),%xmm3        # 359e0 <_sk_srcover_bgra_8888_sse2_lowp+0x11c8>
+  DB  102,65,15,114,244,16                ; pslld         $0x10,%xmm12
+  DB  102,15,111,195                      ; movdqa        %xmm3,%xmm0
+  DB  102,15,102,193                      ; pcmpgtd       %xmm1,%xmm0
+  DB  102,15,114,241,13                   ; pslld         $0xd,%xmm1
+  DB  102,65,15,235,204                   ; por           %xmm12,%xmm1
+  DB  102,68,15,111,37,124,51,1,0         ; movdqa        0x1337c(%rip),%xmm12        # 359f0 <_sk_srcover_bgra_8888_sse2_lowp+0x11d8>
+  DB  102,65,15,254,204                   ; paddd         %xmm12,%xmm1
+  DB  102,15,223,193                      ; pandn         %xmm1,%xmm0
+  DB  102,65,15,105,210                   ; punpckhwd     %xmm10,%xmm2
+  DB  102,68,15,111,234                   ; movdqa        %xmm2,%xmm13
+  DB  102,69,15,219,233                   ; pand          %xmm9,%xmm13
+  DB  102,65,15,219,211                   ; pand          %xmm11,%xmm2
+  DB  102,65,15,114,245,16                ; pslld         $0x10,%xmm13
+  DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
+  DB  102,15,102,202                      ; pcmpgtd       %xmm2,%xmm1
+  DB  102,15,114,242,13                   ; pslld         $0xd,%xmm2
+  DB  102,65,15,235,213                   ; por           %xmm13,%xmm2
+  DB  102,65,15,254,212                   ; paddd         %xmm12,%xmm2
+  DB  102,15,223,202                      ; pandn         %xmm2,%xmm1
+  DB  102,69,15,111,232                   ; movdqa        %xmm8,%xmm13
+  DB  102,69,15,97,234                    ; punpcklwd     %xmm10,%xmm13
+  DB  102,69,15,111,245                   ; movdqa        %xmm13,%xmm14
+  DB  102,69,15,219,241                   ; pand          %xmm9,%xmm14
+  DB  102,69,15,219,235                   ; pand          %xmm11,%xmm13
+  DB  102,65,15,114,246,16                ; pslld         $0x10,%xmm14
+  DB  102,15,111,211                      ; movdqa        %xmm3,%xmm2
+  DB  102,65,15,102,213                   ; pcmpgtd       %xmm13,%xmm2
+  DB  102,65,15,114,245,13                ; pslld         $0xd,%xmm13
+  DB  102,69,15,235,238                   ; por           %xmm14,%xmm13
+  DB  102,69,15,254,236                   ; paddd         %xmm12,%xmm13
+  DB  102,65,15,223,213                   ; pandn         %xmm13,%xmm2
+  DB  102,69,15,105,194                   ; punpckhwd     %xmm10,%xmm8
+  DB  102,69,15,219,200                   ; pand          %xmm8,%xmm9
+  DB  102,69,15,219,195                   ; pand          %xmm11,%xmm8
+  DB  102,65,15,114,241,16                ; pslld         $0x10,%xmm9
+  DB  102,65,15,102,216                   ; pcmpgtd       %xmm8,%xmm3
+  DB  102,65,15,114,240,13                ; pslld         $0xd,%xmm8
+  DB  102,69,15,235,193                   ; por           %xmm9,%xmm8
+  DB  102,69,15,254,196                   ; paddd         %xmm12,%xmm8
+  DB  102,65,15,223,216                   ; pandn         %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  242,65,15,16,4,208                  ; movsd         (%r8,%rdx,8),%xmm0
+  DB  72,131,255,1                        ; cmp           $0x1,%rdi
+  DB  117,13                              ; jne           2273b <_sk_load_f16_sse2+0x162>
+  DB  243,15,126,192                      ; movq          %xmm0,%xmm0
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  233,197,254,255,255                 ; jmpq          22600 <_sk_load_f16_sse2+0x27>
+  DB  102,65,15,22,68,208,8               ; movhpd        0x8(%r8,%rdx,8),%xmm0
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  15,130,176,254,255,255              ; jb            22600 <_sk_load_f16_sse2+0x27>
+  DB  243,65,15,126,76,208,16             ; movq          0x10(%r8,%rdx,8),%xmm1
+  DB  233,164,254,255,255                 ; jmpq          22600 <_sk_load_f16_sse2+0x27>
+
+PUBLIC _sk_load_f16_dst_sse2
+_sk_load_f16_dst_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,3                        ; shl           $0x3,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,47,1,0,0                     ; jne           228a5 <_sk_load_f16_dst_sse2+0x149>
+  DB  102,65,15,16,36,208                 ; movupd        (%r8,%rdx,8),%xmm4
+  DB  243,65,15,111,108,208,16            ; movdqu        0x10(%r8,%rdx,8),%xmm5
+  DB  102,68,15,40,196                    ; movapd        %xmm4,%xmm8
+  DB  102,68,15,97,197                    ; punpcklwd     %xmm5,%xmm8
+  DB  102,15,105,229                      ; punpckhwd     %xmm5,%xmm4
+  DB  102,65,15,111,240                   ; movdqa        %xmm8,%xmm6
+  DB  102,15,97,244                       ; punpcklwd     %xmm4,%xmm6
+  DB  102,68,15,105,196                   ; punpckhwd     %xmm4,%xmm8
+  DB  102,69,15,239,210                   ; pxor          %xmm10,%xmm10
+  DB  102,15,111,238                      ; movdqa        %xmm6,%xmm5
+  DB  102,65,15,97,234                    ; punpcklwd     %xmm10,%xmm5
+  DB  102,68,15,111,13,10,50,1,0          ; movdqa        0x1320a(%rip),%xmm9        # 359c0 <_sk_srcover_bgra_8888_sse2_lowp+0x11a8>
+  DB  102,68,15,111,229                   ; movdqa        %xmm5,%xmm12
+  DB  102,69,15,219,225                   ; pand          %xmm9,%xmm12
+  DB  102,68,15,111,29,7,50,1,0           ; movdqa        0x13207(%rip),%xmm11        # 359d0 <_sk_srcover_bgra_8888_sse2_lowp+0x11b8>
+  DB  102,65,15,219,235                   ; pand          %xmm11,%xmm5
+  DB  102,15,111,61,10,50,1,0             ; movdqa        0x1320a(%rip),%xmm7        # 359e0 <_sk_srcover_bgra_8888_sse2_lowp+0x11c8>
+  DB  102,65,15,114,244,16                ; pslld         $0x10,%xmm12
+  DB  102,15,111,231                      ; movdqa        %xmm7,%xmm4
+  DB  102,15,102,229                      ; pcmpgtd       %xmm5,%xmm4
+  DB  102,15,114,245,13                   ; pslld         $0xd,%xmm5
+  DB  102,65,15,235,236                   ; por           %xmm12,%xmm5
+  DB  102,68,15,111,37,249,49,1,0         ; movdqa        0x131f9(%rip),%xmm12        # 359f0 <_sk_srcover_bgra_8888_sse2_lowp+0x11d8>
+  DB  102,65,15,254,236                   ; paddd         %xmm12,%xmm5
+  DB  102,15,223,229                      ; pandn         %xmm5,%xmm4
+  DB  102,65,15,105,242                   ; punpckhwd     %xmm10,%xmm6
+  DB  102,68,15,111,238                   ; movdqa        %xmm6,%xmm13
+  DB  102,69,15,219,233                   ; pand          %xmm9,%xmm13
+  DB  102,65,15,219,243                   ; pand          %xmm11,%xmm6
+  DB  102,65,15,114,245,16                ; pslld         $0x10,%xmm13
+  DB  102,15,111,239                      ; movdqa        %xmm7,%xmm5
+  DB  102,15,102,238                      ; pcmpgtd       %xmm6,%xmm5
+  DB  102,15,114,246,13                   ; pslld         $0xd,%xmm6
+  DB  102,65,15,235,245                   ; por           %xmm13,%xmm6
+  DB  102,65,15,254,244                   ; paddd         %xmm12,%xmm6
+  DB  102,15,223,238                      ; pandn         %xmm6,%xmm5
+  DB  102,69,15,111,232                   ; movdqa        %xmm8,%xmm13
+  DB  102,69,15,97,234                    ; punpcklwd     %xmm10,%xmm13
+  DB  102,69,15,111,245                   ; movdqa        %xmm13,%xmm14
+  DB  102,69,15,219,241                   ; pand          %xmm9,%xmm14
+  DB  102,69,15,219,235                   ; pand          %xmm11,%xmm13
+  DB  102,65,15,114,246,16                ; pslld         $0x10,%xmm14
+  DB  102,15,111,247                      ; movdqa        %xmm7,%xmm6
+  DB  102,65,15,102,245                   ; pcmpgtd       %xmm13,%xmm6
+  DB  102,65,15,114,245,13                ; pslld         $0xd,%xmm13
+  DB  102,69,15,235,238                   ; por           %xmm14,%xmm13
+  DB  102,69,15,254,236                   ; paddd         %xmm12,%xmm13
+  DB  102,65,15,223,245                   ; pandn         %xmm13,%xmm6
+  DB  102,69,15,105,194                   ; punpckhwd     %xmm10,%xmm8
+  DB  102,69,15,219,200                   ; pand          %xmm8,%xmm9
+  DB  102,69,15,219,195                   ; pand          %xmm11,%xmm8
+  DB  102,65,15,114,241,16                ; pslld         $0x10,%xmm9
+  DB  102,65,15,102,248                   ; pcmpgtd       %xmm8,%xmm7
+  DB  102,65,15,114,240,13                ; pslld         $0xd,%xmm8
+  DB  102,69,15,235,193                   ; por           %xmm9,%xmm8
+  DB  102,69,15,254,196                   ; paddd         %xmm12,%xmm8
+  DB  102,65,15,223,248                   ; pandn         %xmm8,%xmm7
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  242,65,15,16,36,208                 ; movsd         (%r8,%rdx,8),%xmm4
+  DB  72,131,255,1                        ; cmp           $0x1,%rdi
+  DB  117,13                              ; jne           228be <_sk_load_f16_dst_sse2+0x162>
+  DB  243,15,126,228                      ; movq          %xmm4,%xmm4
+  DB  102,15,239,237                      ; pxor          %xmm5,%xmm5
+  DB  233,197,254,255,255                 ; jmpq          22783 <_sk_load_f16_dst_sse2+0x27>
+  DB  102,65,15,22,100,208,8              ; movhpd        0x8(%r8,%rdx,8),%xmm4
+  DB  102,15,239,237                      ; pxor          %xmm5,%xmm5
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  15,130,176,254,255,255              ; jb            22783 <_sk_load_f16_dst_sse2+0x27>
+  DB  243,65,15,126,108,208,16            ; movq          0x10(%r8,%rdx,8),%xmm5
+  DB  233,164,254,255,255                 ; jmpq          22783 <_sk_load_f16_dst_sse2+0x27>
+
+PUBLIC _sk_gather_f16_sse2
+_sk_gather_f16_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,15,16,80,12                     ; movss         0xc(%rax),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  102,69,15,118,201                   ; pcmpeqd       %xmm9,%xmm9
+  DB  102,65,15,254,209                   ; paddd         %xmm9,%xmm2
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  15,95,216                           ; maxps         %xmm0,%xmm3
+  DB  15,93,218                           ; minps         %xmm2,%xmm3
+  DB  243,15,16,64,16                     ; movss         0x10(%rax),%xmm0
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  102,65,15,254,193                   ; paddd         %xmm9,%xmm0
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  15,95,209                           ; maxps         %xmm1,%xmm2
+  DB  15,93,208                           ; minps         %xmm0,%xmm2
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  243,15,91,194                       ; cvttps2dq     %xmm2,%xmm0
+  DB  102,15,110,72,8                     ; movd          0x8(%rax),%xmm1
+  DB  102,15,112,201,0                    ; pshufd        $0x0,%xmm1,%xmm1
+  DB  102,15,112,208,245                  ; pshufd        $0xf5,%xmm0,%xmm2
+  DB  102,15,244,209                      ; pmuludq       %xmm1,%xmm2
+  DB  102,15,244,200                      ; pmuludq       %xmm0,%xmm1
+  DB  102,15,112,193,232                  ; pshufd        $0xe8,%xmm1,%xmm0
+  DB  102,15,112,202,232                  ; pshufd        $0xe8,%xmm2,%xmm1
+  DB  102,15,98,193                       ; punpckldq     %xmm1,%xmm0
+  DB  243,15,91,203                       ; cvttps2dq     %xmm3,%xmm1
+  DB  102,15,254,200                      ; paddd         %xmm0,%xmm1
+  DB  102,15,112,193,78                   ; pshufd        $0x4e,%xmm1,%xmm0
+  DB  102,72,15,126,192                   ; movq          %xmm0,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  102,73,15,126,202                   ; movq          %xmm1,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  243,67,15,126,4,208                 ; movq          (%r8,%r10,8),%xmm0
+  DB  243,67,15,126,12,216                ; movq          (%r8,%r11,8),%xmm1
+  DB  102,15,108,200                      ; punpcklqdq    %xmm0,%xmm1
+  DB  243,65,15,126,4,192                 ; movq          (%r8,%rax,8),%xmm0
+  DB  243,67,15,126,20,200                ; movq          (%r8,%r9,8),%xmm2
+  DB  102,15,108,208                      ; punpcklqdq    %xmm0,%xmm2
+  DB  102,68,15,111,201                   ; movdqa        %xmm1,%xmm9
+  DB  102,68,15,97,202                    ; punpcklwd     %xmm2,%xmm9
+  DB  102,15,105,202                      ; punpckhwd     %xmm2,%xmm1
+  DB  102,65,15,111,209                   ; movdqa        %xmm9,%xmm2
+  DB  102,15,97,209                       ; punpcklwd     %xmm1,%xmm2
+  DB  102,68,15,105,201                   ; punpckhwd     %xmm1,%xmm9
+  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
+  DB  102,65,15,97,200                    ; punpcklwd     %xmm8,%xmm1
+  DB  102,68,15,111,21,8,48,1,0           ; movdqa        0x13008(%rip),%xmm10        # 359c0 <_sk_srcover_bgra_8888_sse2_lowp+0x11a8>
+  DB  102,68,15,111,225                   ; movdqa        %xmm1,%xmm12
+  DB  102,69,15,219,226                   ; pand          %xmm10,%xmm12
+  DB  102,68,15,111,29,5,48,1,0           ; movdqa        0x13005(%rip),%xmm11        # 359d0 <_sk_srcover_bgra_8888_sse2_lowp+0x11b8>
+  DB  102,65,15,219,203                   ; pand          %xmm11,%xmm1
+  DB  102,15,111,29,8,48,1,0              ; movdqa        0x13008(%rip),%xmm3        # 359e0 <_sk_srcover_bgra_8888_sse2_lowp+0x11c8>
+  DB  102,65,15,114,244,16                ; pslld         $0x10,%xmm12
+  DB  102,15,111,195                      ; movdqa        %xmm3,%xmm0
+  DB  102,15,102,193                      ; pcmpgtd       %xmm1,%xmm0
+  DB  102,15,114,241,13                   ; pslld         $0xd,%xmm1
+  DB  102,65,15,235,204                   ; por           %xmm12,%xmm1
+  DB  102,68,15,111,37,247,47,1,0         ; movdqa        0x12ff7(%rip),%xmm12        # 359f0 <_sk_srcover_bgra_8888_sse2_lowp+0x11d8>
+  DB  102,65,15,254,204                   ; paddd         %xmm12,%xmm1
+  DB  102,15,223,193                      ; pandn         %xmm1,%xmm0
+  DB  102,65,15,105,208                   ; punpckhwd     %xmm8,%xmm2
+  DB  102,68,15,111,234                   ; movdqa        %xmm2,%xmm13
+  DB  102,69,15,219,234                   ; pand          %xmm10,%xmm13
+  DB  102,65,15,219,211                   ; pand          %xmm11,%xmm2
+  DB  102,65,15,114,245,16                ; pslld         $0x10,%xmm13
+  DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
+  DB  102,15,102,202                      ; pcmpgtd       %xmm2,%xmm1
+  DB  102,15,114,242,13                   ; pslld         $0xd,%xmm2
+  DB  102,65,15,235,213                   ; por           %xmm13,%xmm2
+  DB  102,65,15,254,212                   ; paddd         %xmm12,%xmm2
+  DB  102,15,223,202                      ; pandn         %xmm2,%xmm1
+  DB  102,69,15,111,233                   ; movdqa        %xmm9,%xmm13
+  DB  102,69,15,97,232                    ; punpcklwd     %xmm8,%xmm13
+  DB  102,69,15,111,245                   ; movdqa        %xmm13,%xmm14
+  DB  102,69,15,219,242                   ; pand          %xmm10,%xmm14
+  DB  102,69,15,219,235                   ; pand          %xmm11,%xmm13
+  DB  102,65,15,114,246,16                ; pslld         $0x10,%xmm14
+  DB  102,15,111,211                      ; movdqa        %xmm3,%xmm2
+  DB  102,65,15,102,213                   ; pcmpgtd       %xmm13,%xmm2
+  DB  102,65,15,114,245,13                ; pslld         $0xd,%xmm13
+  DB  102,69,15,235,238                   ; por           %xmm14,%xmm13
+  DB  102,69,15,254,236                   ; paddd         %xmm12,%xmm13
+  DB  102,65,15,223,213                   ; pandn         %xmm13,%xmm2
+  DB  102,69,15,105,200                   ; punpckhwd     %xmm8,%xmm9
+  DB  102,69,15,219,209                   ; pand          %xmm9,%xmm10
+  DB  102,69,15,219,203                   ; pand          %xmm11,%xmm9
+  DB  102,65,15,114,242,16                ; pslld         $0x10,%xmm10
+  DB  102,65,15,102,217                   ; pcmpgtd       %xmm9,%xmm3
+  DB  102,65,15,114,241,13                ; pslld         $0xd,%xmm9
+  DB  102,69,15,235,202                   ; por           %xmm10,%xmm9
+  DB  102,69,15,254,204                   ; paddd         %xmm12,%xmm9
+  DB  102,65,15,223,217                   ; pandn         %xmm9,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_store_f16_sse2
+_sk_store_f16_sse2 LABEL PROC
+  DB  72,131,236,24                       ; sub           $0x18,%rsp
+  DB  15,41,60,36                         ; movaps        %xmm7,(%rsp)
+  DB  102,68,15,111,29,72,47,1,0          ; movdqa        0x12f48(%rip),%xmm11        # 35a00 <_sk_srcover_bgra_8888_sse2_lowp+0x11e8>
+  DB  102,68,15,111,192                   ; movdqa        %xmm0,%xmm8
+  DB  102,69,15,219,195                   ; pand          %xmm11,%xmm8
+  DB  102,68,15,111,21,69,47,1,0          ; movdqa        0x12f45(%rip),%xmm10        # 35a10 <_sk_srcover_bgra_8888_sse2_lowp+0x11f8>
+  DB  102,68,15,111,240                   ; movdqa        %xmm0,%xmm14
+  DB  102,69,15,219,242                   ; pand          %xmm10,%xmm14
+  DB  102,15,111,61,67,47,1,0             ; movdqa        0x12f43(%rip),%xmm7        # 35a20 <_sk_srcover_bgra_8888_sse2_lowp+0x1208>
+  DB  102,68,15,111,37,202,48,1,0         ; movdqa        0x130ca(%rip),%xmm12        # 35bb0 <_sk_srcover_bgra_8888_sse2_lowp+0x1398>
+  DB  102,68,15,111,248                   ; movdqa        %xmm0,%xmm15
+  DB  102,65,15,114,247,3                 ; pslld         $0x3,%xmm15
+  DB  102,69,15,219,252                   ; pand          %xmm12,%xmm15
+  DB  102,69,15,254,248                   ; paddd         %xmm8,%xmm15
+  DB  102,68,15,111,45,92,43,1,0          ; movdqa        0x12b5c(%rip),%xmm13        # 35660 <_sk_srcover_bgra_8888_sse2_lowp+0xe48>
+  DB  102,69,15,254,253                   ; paddd         %xmm13,%xmm15
+  DB  102,65,15,114,231,16                ; psrad         $0x10,%xmm15
+  DB  102,68,15,111,199                   ; movdqa        %xmm7,%xmm8
+  DB  102,69,15,102,198                   ; pcmpgtd       %xmm14,%xmm8
+  DB  102,69,15,223,199                   ; pandn         %xmm15,%xmm8
+  DB  102,68,15,111,241                   ; movdqa        %xmm1,%xmm14
+  DB  102,69,15,219,243                   ; pand          %xmm11,%xmm14
+  DB  102,68,15,111,249                   ; movdqa        %xmm1,%xmm15
+  DB  102,65,15,114,247,3                 ; pslld         $0x3,%xmm15
+  DB  102,69,15,219,252                   ; pand          %xmm12,%xmm15
+  DB  102,69,15,254,254                   ; paddd         %xmm14,%xmm15
+  DB  102,68,15,111,241                   ; movdqa        %xmm1,%xmm14
+  DB  102,69,15,219,242                   ; pand          %xmm10,%xmm14
+  DB  102,68,15,111,207                   ; movdqa        %xmm7,%xmm9
+  DB  102,69,15,102,206                   ; pcmpgtd       %xmm14,%xmm9
+  DB  102,68,15,107,192                   ; packssdw      %xmm0,%xmm8
+  DB  102,69,15,254,253                   ; paddd         %xmm13,%xmm15
+  DB  102,65,15,114,231,16                ; psrad         $0x10,%xmm15
+  DB  102,69,15,223,207                   ; pandn         %xmm15,%xmm9
+  DB  102,68,15,107,200                   ; packssdw      %xmm0,%xmm9
+  DB  102,69,15,97,193                    ; punpcklwd     %xmm9,%xmm8
+  DB  102,68,15,111,202                   ; movdqa        %xmm2,%xmm9
+  DB  102,69,15,219,203                   ; pand          %xmm11,%xmm9
+  DB  102,68,15,111,250                   ; movdqa        %xmm2,%xmm15
+  DB  102,65,15,114,247,3                 ; pslld         $0x3,%xmm15
+  DB  102,69,15,219,252                   ; pand          %xmm12,%xmm15
+  DB  102,69,15,254,249                   ; paddd         %xmm9,%xmm15
+  DB  102,68,15,111,202                   ; movdqa        %xmm2,%xmm9
+  DB  102,69,15,219,202                   ; pand          %xmm10,%xmm9
+  DB  102,68,15,111,247                   ; movdqa        %xmm7,%xmm14
+  DB  102,69,15,102,241                   ; pcmpgtd       %xmm9,%xmm14
+  DB  102,69,15,254,253                   ; paddd         %xmm13,%xmm15
+  DB  102,65,15,114,231,16                ; psrad         $0x10,%xmm15
+  DB  102,69,15,223,247                   ; pandn         %xmm15,%xmm14
+  DB  102,68,15,111,203                   ; movdqa        %xmm3,%xmm9
+  DB  102,65,15,114,241,3                 ; pslld         $0x3,%xmm9
+  DB  102,69,15,219,204                   ; pand          %xmm12,%xmm9
+  DB  102,68,15,219,219                   ; pand          %xmm3,%xmm11
+  DB  102,69,15,254,203                   ; paddd         %xmm11,%xmm9
+  DB  102,69,15,254,205                   ; paddd         %xmm13,%xmm9
+  DB  102,68,15,219,211                   ; pand          %xmm3,%xmm10
+  DB  102,65,15,102,250                   ; pcmpgtd       %xmm10,%xmm7
+  DB  102,65,15,114,225,16                ; psrad         $0x10,%xmm9
+  DB  102,65,15,223,249                   ; pandn         %xmm9,%xmm7
+  DB  102,68,15,107,240                   ; packssdw      %xmm0,%xmm14
+  DB  102,15,107,248                      ; packssdw      %xmm0,%xmm7
+  DB  102,68,15,97,247                    ; punpcklwd     %xmm7,%xmm14
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,3                        ; shl           $0x3,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,40                              ; jne           22c33 <_sk_store_f16_sse2+0x18c>
+  DB  102,65,15,111,248                   ; movdqa        %xmm8,%xmm7
+  DB  102,65,15,98,254                    ; punpckldq     %xmm14,%xmm7
+  DB  243,65,15,127,60,208                ; movdqu        %xmm7,(%r8,%rdx,8)
+  DB  102,69,15,106,198                   ; punpckhdq     %xmm14,%xmm8
+  DB  243,69,15,127,68,208,16             ; movdqu        %xmm8,0x10(%r8,%rdx,8)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,60,36                         ; movaps        (%rsp),%xmm7
+  DB  72,131,196,24                       ; add           $0x18,%rsp
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,69,15,111,200                   ; movdqa        %xmm8,%xmm9
+  DB  102,69,15,98,206                    ; punpckldq     %xmm14,%xmm9
+  DB  102,69,15,214,12,208                ; movq          %xmm9,(%r8,%rdx,8)
+  DB  72,131,255,1                        ; cmp           $0x1,%rdi
+  DB  116,222                             ; je            22c27 <_sk_store_f16_sse2+0x180>
+  DB  102,69,15,23,76,208,8               ; movhpd        %xmm9,0x8(%r8,%rdx,8)
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  114,209                             ; jb            22c27 <_sk_store_f16_sse2+0x180>
+  DB  102,69,15,106,198                   ; punpckhdq     %xmm14,%xmm8
+  DB  102,69,15,214,68,208,16             ; movq          %xmm8,0x10(%r8,%rdx,8)
+  DB  235,195                             ; jmp           22c27 <_sk_store_f16_sse2+0x180>
+
+PUBLIC _sk_load_u16_be_sse2
+_sk_load_u16_be_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,141,4,149,0,0,0,0                ; lea           0x0(,%rdx,4),%r8
+  DB  76,99,72,8                          ; movslq        0x8(%rax),%r9
+  DB  76,15,175,201                       ; imul          %rcx,%r9
+  DB  77,1,201                            ; add           %r9,%r9
+  DB  76,3,8                              ; add           (%rax),%r9
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,190,0,0,0                    ; jne           22d43 <_sk_load_u16_be_sse2+0xdf>
+  DB  102,67,15,16,4,65                   ; movupd        (%r9,%r8,2),%xmm0
+  DB  243,67,15,111,76,65,16              ; movdqu        0x10(%r9,%r8,2),%xmm1
+  DB  102,15,40,208                       ; movapd        %xmm0,%xmm2
+  DB  102,15,97,209                       ; punpcklwd     %xmm1,%xmm2
+  DB  102,15,105,193                      ; punpckhwd     %xmm1,%xmm0
+  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
+  DB  102,15,97,200                       ; punpcklwd     %xmm0,%xmm1
+  DB  102,15,105,208                      ; punpckhwd     %xmm0,%xmm2
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,15,113,240,8                    ; psllw         $0x8,%xmm0
+  DB  102,15,112,217,78                   ; pshufd        $0x4e,%xmm1,%xmm3
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,235,200                      ; por           %xmm0,%xmm1
+  DB  102,69,15,239,201                   ; pxor          %xmm9,%xmm9
+  DB  102,65,15,97,201                    ; punpcklwd     %xmm9,%xmm1
+  DB  15,91,193                           ; cvtdq2ps      %xmm1,%xmm0
+  DB  68,15,40,5,122,42,1,0               ; movaps        0x12a7a(%rip),%xmm8        # 35750 <_sk_srcover_bgra_8888_sse2_lowp+0xf38>
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
+  DB  102,15,113,241,8                    ; psllw         $0x8,%xmm1
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  102,15,235,217                      ; por           %xmm1,%xmm3
+  DB  102,65,15,97,217                    ; punpcklwd     %xmm9,%xmm3
+  DB  15,91,203                           ; cvtdq2ps      %xmm3,%xmm1
+  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
+  DB  102,68,15,111,210                   ; movdqa        %xmm2,%xmm10
+  DB  102,65,15,113,242,8                 ; psllw         $0x8,%xmm10
+  DB  102,15,112,218,78                   ; pshufd        $0x4e,%xmm2,%xmm3
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,65,15,235,210                   ; por           %xmm10,%xmm2
+  DB  102,65,15,97,209                    ; punpcklwd     %xmm9,%xmm2
+  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
+  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
+  DB  102,68,15,111,211                   ; movdqa        %xmm3,%xmm10
+  DB  102,65,15,113,242,8                 ; psllw         $0x8,%xmm10
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  102,65,15,235,218                   ; por           %xmm10,%xmm3
+  DB  102,65,15,97,217                    ; punpcklwd     %xmm9,%xmm3
+  DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
+  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  242,67,15,16,4,65                   ; movsd         (%r9,%r8,2),%xmm0
+  DB  72,131,255,1                        ; cmp           $0x1,%rdi
+  DB  117,13                              ; jne           22d5c <_sk_load_u16_be_sse2+0xf8>
+  DB  243,15,126,192                      ; movq          %xmm0,%xmm0
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  233,54,255,255,255                  ; jmpq          22c92 <_sk_load_u16_be_sse2+0x2e>
+  DB  102,67,15,22,68,65,8                ; movhpd        0x8(%r9,%r8,2),%xmm0
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  15,130,33,255,255,255               ; jb            22c92 <_sk_load_u16_be_sse2+0x2e>
+  DB  243,67,15,126,76,65,16              ; movq          0x10(%r9,%r8,2),%xmm1
+  DB  233,21,255,255,255                  ; jmpq          22c92 <_sk_load_u16_be_sse2+0x2e>
+
+PUBLIC _sk_load_rgb_u16_be_sse2
+_sk_load_rgb_u16_be_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,141,4,82                         ; lea           (%rdx,%rdx,2),%r8
+  DB  76,99,72,8                          ; movslq        0x8(%rax),%r9
+  DB  76,15,175,201                       ; imul          %rcx,%r9
+  DB  77,1,201                            ; add           %r9,%r9
+  DB  76,3,8                              ; add           (%rax),%r9
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  15,133,175,0,0,0                    ; jne           22e49 <_sk_load_rgb_u16_be_sse2+0xcc>
+  DB  243,67,15,111,20,65                 ; movdqu        (%r9,%r8,2),%xmm2
+  DB  243,67,15,111,92,65,8               ; movdqu        0x8(%r9,%r8,2),%xmm3
+  DB  102,15,115,219,4                    ; psrldq        $0x4,%xmm3
+  DB  102,15,111,194                      ; movdqa        %xmm2,%xmm0
+  DB  102,15,115,216,6                    ; psrldq        $0x6,%xmm0
+  DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
+  DB  102,15,115,217,6                    ; psrldq        $0x6,%xmm1
+  DB  102,15,97,193                       ; punpcklwd     %xmm1,%xmm0
+  DB  102,15,97,211                       ; punpcklwd     %xmm3,%xmm2
+  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
+  DB  102,15,97,200                       ; punpcklwd     %xmm0,%xmm1
+  DB  102,15,112,217,78                   ; pshufd        $0x4e,%xmm1,%xmm3
+  DB  102,15,105,208                      ; punpckhwd     %xmm0,%xmm2
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,15,113,240,8                    ; psllw         $0x8,%xmm0
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,235,200                      ; por           %xmm0,%xmm1
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  102,65,15,97,200                    ; punpcklwd     %xmm8,%xmm1
+  DB  15,91,193                           ; cvtdq2ps      %xmm1,%xmm0
+  DB  68,15,40,13,82,41,1,0               ; movaps        0x12952(%rip),%xmm9        # 35750 <_sk_srcover_bgra_8888_sse2_lowp+0xf38>
+  DB  65,15,89,193                        ; mulps         %xmm9,%xmm0
+  DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
+  DB  102,15,113,241,8                    ; psllw         $0x8,%xmm1
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  102,15,235,217                      ; por           %xmm1,%xmm3
+  DB  102,65,15,97,216                    ; punpcklwd     %xmm8,%xmm3
+  DB  15,91,203                           ; cvtdq2ps      %xmm3,%xmm1
+  DB  65,15,89,201                        ; mulps         %xmm9,%xmm1
+  DB  102,15,111,218                      ; movdqa        %xmm2,%xmm3
+  DB  102,15,113,243,8                    ; psllw         $0x8,%xmm3
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,235,211                      ; por           %xmm3,%xmm2
+  DB  102,65,15,97,208                    ; punpcklwd     %xmm8,%xmm2
+  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
+  DB  65,15,89,209                        ; mulps         %xmm9,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,29,105,38,1,0                 ; movaps        0x12669(%rip),%xmm3        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,67,15,110,20,65                 ; movd          (%r9,%r8,2),%xmm2
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  102,67,15,196,84,65,4,2             ; pinsrw        $0x2,0x4(%r9,%r8,2),%xmm2
+  DB  72,131,255,1                        ; cmp           $0x1,%rdi
+  DB  117,13                              ; jne           22e6e <_sk_load_rgb_u16_be_sse2+0xf1>
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  233,80,255,255,255                  ; jmpq          22dbe <_sk_load_rgb_u16_be_sse2+0x41>
+  DB  102,67,15,110,68,65,6               ; movd          0x6(%r9,%r8,2),%xmm0
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  102,67,15,196,68,65,10,2            ; pinsrw        $0x2,0xa(%r9,%r8,2),%xmm0
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  114,24                              ; jb            22e9f <_sk_load_rgb_u16_be_sse2+0x122>
+  DB  102,67,15,110,92,65,12              ; movd          0xc(%r9,%r8,2),%xmm3
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  102,67,15,196,92,65,16,2            ; pinsrw        $0x2,0x10(%r9,%r8,2),%xmm3
+  DB  233,31,255,255,255                  ; jmpq          22dbe <_sk_load_rgb_u16_be_sse2+0x41>
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  233,22,255,255,255                  ; jmpq          22dbe <_sk_load_rgb_u16_be_sse2+0x41>
+
+PUBLIC _sk_store_u16_be_sse2
+_sk_store_u16_be_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,141,4,149,0,0,0,0                ; lea           0x0(,%rdx,4),%r8
+  DB  76,99,72,8                          ; movslq        0x8(%rax),%r9
+  DB  76,15,175,201                       ; imul          %rcx,%r9
+  DB  77,1,201                            ; add           %r9,%r9
+  DB  76,3,8                              ; add           (%rax),%r9
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  68,15,95,192                        ; maxps         %xmm0,%xmm8
+  DB  68,15,40,21,220,37,1,0              ; movaps        0x125dc(%rip),%xmm10        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,93,194                        ; minps         %xmm10,%xmm8
+  DB  68,15,40,29,96,43,1,0               ; movaps        0x12b60(%rip),%xmm11        # 35a40 <_sk_srcover_bgra_8888_sse2_lowp+0x1228>
+  DB  69,15,89,195                        ; mulps         %xmm11,%xmm8
+  DB  102,69,15,91,192                    ; cvtps2dq      %xmm8,%xmm8
+  DB  102,65,15,114,240,16                ; pslld         $0x10,%xmm8
+  DB  102,65,15,114,224,16                ; psrad         $0x10,%xmm8
+  DB  102,68,15,107,192                   ; packssdw      %xmm0,%xmm8
+  DB  102,69,15,111,224                   ; movdqa        %xmm8,%xmm12
+  DB  102,65,15,113,244,8                 ; psllw         $0x8,%xmm12
+  DB  102,65,15,113,208,8                 ; psrlw         $0x8,%xmm8
+  DB  102,69,15,235,196                   ; por           %xmm12,%xmm8
+  DB  102,69,15,239,228                   ; pxor          %xmm12,%xmm12
+  DB  68,15,95,225                        ; maxps         %xmm1,%xmm12
+  DB  69,15,93,226                        ; minps         %xmm10,%xmm12
+  DB  69,15,89,227                        ; mulps         %xmm11,%xmm12
+  DB  102,69,15,91,228                    ; cvtps2dq      %xmm12,%xmm12
+  DB  102,65,15,114,244,16                ; pslld         $0x10,%xmm12
+  DB  102,65,15,114,228,16                ; psrad         $0x10,%xmm12
+  DB  102,68,15,107,224                   ; packssdw      %xmm0,%xmm12
+  DB  102,69,15,111,236                   ; movdqa        %xmm12,%xmm13
+  DB  102,65,15,113,245,8                 ; psllw         $0x8,%xmm13
+  DB  102,65,15,113,212,8                 ; psrlw         $0x8,%xmm12
+  DB  102,69,15,235,229                   ; por           %xmm13,%xmm12
+  DB  102,69,15,97,196                    ; punpcklwd     %xmm12,%xmm8
+  DB  102,69,15,239,228                   ; pxor          %xmm12,%xmm12
+  DB  68,15,95,226                        ; maxps         %xmm2,%xmm12
+  DB  69,15,93,226                        ; minps         %xmm10,%xmm12
+  DB  69,15,89,227                        ; mulps         %xmm11,%xmm12
+  DB  102,69,15,91,228                    ; cvtps2dq      %xmm12,%xmm12
+  DB  102,65,15,114,244,16                ; pslld         $0x10,%xmm12
+  DB  102,65,15,114,228,16                ; psrad         $0x10,%xmm12
+  DB  102,68,15,107,224                   ; packssdw      %xmm0,%xmm12
+  DB  102,69,15,111,236                   ; movdqa        %xmm12,%xmm13
+  DB  102,65,15,113,245,8                 ; psllw         $0x8,%xmm13
+  DB  102,65,15,113,212,8                 ; psrlw         $0x8,%xmm12
+  DB  102,69,15,235,229                   ; por           %xmm13,%xmm12
+  DB  68,15,95,203                        ; maxps         %xmm3,%xmm9
+  DB  69,15,93,202                        ; minps         %xmm10,%xmm9
+  DB  69,15,89,203                        ; mulps         %xmm11,%xmm9
+  DB  102,69,15,91,201                    ; cvtps2dq      %xmm9,%xmm9
+  DB  102,65,15,114,241,16                ; pslld         $0x10,%xmm9
+  DB  102,65,15,114,225,16                ; psrad         $0x10,%xmm9
+  DB  102,68,15,107,200                   ; packssdw      %xmm0,%xmm9
+  DB  102,69,15,111,209                   ; movdqa        %xmm9,%xmm10
+  DB  102,65,15,113,242,8                 ; psllw         $0x8,%xmm10
+  DB  102,65,15,113,209,8                 ; psrlw         $0x8,%xmm9
+  DB  102,69,15,235,202                   ; por           %xmm10,%xmm9
+  DB  102,69,15,97,225                    ; punpcklwd     %xmm9,%xmm12
+  DB  102,69,15,111,200                   ; movdqa        %xmm8,%xmm9
+  DB  102,69,15,98,204                    ; punpckldq     %xmm12,%xmm9
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,21                              ; jne           22ff0 <_sk_store_u16_be_sse2+0x148>
+  DB  71,15,17,12,65                      ; movups        %xmm9,(%r9,%r8,2)
+  DB  102,69,15,106,196                   ; punpckhdq     %xmm12,%xmm8
+  DB  243,71,15,127,68,65,16              ; movdqu        %xmm8,0x10(%r9,%r8,2)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,71,15,214,12,65                 ; movq          %xmm9,(%r9,%r8,2)
+  DB  72,131,255,1                        ; cmp           $0x1,%rdi
+  DB  116,240                             ; je            22fec <_sk_store_u16_be_sse2+0x144>
+  DB  102,71,15,23,76,65,8                ; movhpd        %xmm9,0x8(%r9,%r8,2)
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  114,227                             ; jb            22fec <_sk_store_u16_be_sse2+0x144>
+  DB  102,69,15,106,196                   ; punpckhdq     %xmm12,%xmm8
+  DB  102,71,15,214,68,65,16              ; movq          %xmm8,0x10(%r9,%r8,2)
+  DB  235,213                             ; jmp           22fec <_sk_store_u16_be_sse2+0x144>
+
+PUBLIC _sk_load_f32_sse2
+_sk_load_f32_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,141,4,149,0,0,0,0                ; lea           0x0(,%rdx,4),%r8
+  DB  76,99,72,8                          ; movslq        0x8(%rax),%r9
+  DB  76,15,175,201                       ; imul          %rcx,%r9
+  DB  73,193,225,2                        ; shl           $0x2,%r9
+  DB  76,3,8                              ; add           (%rax),%r9
+  DB  72,137,208                          ; mov           %rdx,%rax
+  DB  72,193,224,4                        ; shl           $0x4,%rax
+  DB  70,15,16,4,8                        ; movups        (%rax,%r9,1),%xmm8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,66                              ; jne           23083 <_sk_load_f32_sse2+0x6c>
+  DB  67,15,16,68,129,16                  ; movups        0x10(%r9,%r8,4),%xmm0
+  DB  67,15,16,92,129,32                  ; movups        0x20(%r9,%r8,4),%xmm3
+  DB  71,15,16,76,129,48                  ; movups        0x30(%r9,%r8,4),%xmm9
+  DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
+  DB  15,20,208                           ; unpcklps      %xmm0,%xmm2
+  DB  15,40,203                           ; movaps        %xmm3,%xmm1
+  DB  65,15,20,201                        ; unpcklps      %xmm9,%xmm1
+  DB  68,15,21,192                        ; unpckhps      %xmm0,%xmm8
+  DB  65,15,21,217                        ; unpckhps      %xmm9,%xmm3
+  DB  15,40,194                           ; movaps        %xmm2,%xmm0
+  DB  102,15,20,193                       ; unpcklpd      %xmm1,%xmm0
+  DB  15,18,202                           ; movhlps       %xmm2,%xmm1
+  DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
+  DB  102,15,20,211                       ; unpcklpd      %xmm3,%xmm2
+  DB  65,15,18,216                        ; movhlps       %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  72,131,255,1                        ; cmp           $0x1,%rdi
+  DB  117,8                               ; jne           23095 <_sk_load_f32_sse2+0x7e>
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  235,190                             ; jmp           23053 <_sk_load_f32_sse2+0x3c>
+  DB  67,15,16,68,129,16                  ; movups        0x10(%r9,%r8,4),%xmm0
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  114,8                               ; jb            230a9 <_sk_load_f32_sse2+0x92>
+  DB  67,15,16,92,129,32                  ; movups        0x20(%r9,%r8,4),%xmm3
+  DB  235,170                             ; jmp           23053 <_sk_load_f32_sse2+0x3c>
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  235,165                             ; jmp           23053 <_sk_load_f32_sse2+0x3c>
+
+PUBLIC _sk_load_f32_dst_sse2
+_sk_load_f32_dst_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,141,4,149,0,0,0,0                ; lea           0x0(,%rdx,4),%r8
+  DB  76,99,72,8                          ; movslq        0x8(%rax),%r9
+  DB  76,15,175,201                       ; imul          %rcx,%r9
+  DB  73,193,225,2                        ; shl           $0x2,%r9
+  DB  76,3,8                              ; add           (%rax),%r9
+  DB  72,137,208                          ; mov           %rdx,%rax
+  DB  72,193,224,4                        ; shl           $0x4,%rax
+  DB  70,15,16,4,8                        ; movups        (%rax,%r9,1),%xmm8
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,66                              ; jne           2311a <_sk_load_f32_dst_sse2+0x6c>
+  DB  67,15,16,100,129,16                 ; movups        0x10(%r9,%r8,4),%xmm4
+  DB  67,15,16,124,129,32                 ; movups        0x20(%r9,%r8,4),%xmm7
+  DB  71,15,16,76,129,48                  ; movups        0x30(%r9,%r8,4),%xmm9
+  DB  65,15,40,240                        ; movaps        %xmm8,%xmm6
+  DB  15,20,244                           ; unpcklps      %xmm4,%xmm6
+  DB  15,40,239                           ; movaps        %xmm7,%xmm5
+  DB  65,15,20,233                        ; unpcklps      %xmm9,%xmm5
+  DB  68,15,21,196                        ; unpckhps      %xmm4,%xmm8
+  DB  65,15,21,249                        ; unpckhps      %xmm9,%xmm7
+  DB  15,40,230                           ; movaps        %xmm6,%xmm4
+  DB  102,15,20,229                       ; unpcklpd      %xmm5,%xmm4
+  DB  15,18,238                           ; movhlps       %xmm6,%xmm5
+  DB  65,15,40,240                        ; movaps        %xmm8,%xmm6
+  DB  102,15,20,247                       ; unpcklpd      %xmm7,%xmm6
+  DB  65,15,18,248                        ; movhlps       %xmm8,%xmm7
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  72,131,255,1                        ; cmp           $0x1,%rdi
+  DB  117,8                               ; jne           2312c <_sk_load_f32_dst_sse2+0x7e>
+  DB  15,87,255                           ; xorps         %xmm7,%xmm7
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  235,190                             ; jmp           230ea <_sk_load_f32_dst_sse2+0x3c>
+  DB  67,15,16,100,129,16                 ; movups        0x10(%r9,%r8,4),%xmm4
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  114,8                               ; jb            23140 <_sk_load_f32_dst_sse2+0x92>
+  DB  67,15,16,124,129,32                 ; movups        0x20(%r9,%r8,4),%xmm7
+  DB  235,170                             ; jmp           230ea <_sk_load_f32_dst_sse2+0x3c>
+  DB  15,87,255                           ; xorps         %xmm7,%xmm7
+  DB  235,165                             ; jmp           230ea <_sk_load_f32_dst_sse2+0x3c>
+
+PUBLIC _sk_store_f32_sse2
+_sk_store_f32_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,141,4,149,0,0,0,0                ; lea           0x0(,%rdx,4),%r8
+  DB  76,99,72,8                          ; movslq        0x8(%rax),%r9
+  DB  76,15,175,201                       ; imul          %rcx,%r9
+  DB  73,193,225,2                        ; shl           $0x2,%r9
+  DB  76,3,8                              ; add           (%rax),%r9
+  DB  72,137,208                          ; mov           %rdx,%rax
+  DB  72,193,224,4                        ; shl           $0x4,%rax
+  DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
+  DB  68,15,20,201                        ; unpcklps      %xmm1,%xmm9
+  DB  68,15,40,194                        ; movaps        %xmm2,%xmm8
+  DB  68,15,20,195                        ; unpcklps      %xmm3,%xmm8
+  DB  68,15,40,208                        ; movaps        %xmm0,%xmm10
+  DB  68,15,21,209                        ; unpckhps      %xmm1,%xmm10
+  DB  68,15,40,218                        ; movaps        %xmm2,%xmm11
+  DB  68,15,21,219                        ; unpckhps      %xmm3,%xmm11
+  DB  69,15,40,225                        ; movaps        %xmm9,%xmm12
+  DB  102,69,15,20,224                    ; unpcklpd      %xmm8,%xmm12
+  DB  69,15,18,193                        ; movhlps       %xmm9,%xmm8
+  DB  69,15,40,202                        ; movaps        %xmm10,%xmm9
+  DB  102,69,15,20,203                    ; unpcklpd      %xmm11,%xmm9
+  DB  102,70,15,17,36,8                   ; movupd        %xmm12,(%rax,%r9,1)
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  117,29                              ; jne           231c3 <_sk_store_f32_sse2+0x7e>
+  DB  102,69,15,21,211                    ; unpckhpd      %xmm11,%xmm10
+  DB  71,15,17,68,129,16                  ; movups        %xmm8,0x10(%r9,%r8,4)
+  DB  102,71,15,17,76,129,32              ; movupd        %xmm9,0x20(%r9,%r8,4)
+  DB  102,71,15,17,84,129,48              ; movupd        %xmm10,0x30(%r9,%r8,4)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  72,131,255,1                        ; cmp           $0x1,%rdi
+  DB  116,246                             ; je            231bf <_sk_store_f32_sse2+0x7a>
+  DB  71,15,17,68,129,16                  ; movups        %xmm8,0x10(%r9,%r8,4)
+  DB  72,131,255,3                        ; cmp           $0x3,%rdi
+  DB  114,234                             ; jb            231bf <_sk_store_f32_sse2+0x7a>
+  DB  102,71,15,17,76,129,32              ; movupd        %xmm9,0x20(%r9,%r8,4)
+  DB  235,225                             ; jmp           231bf <_sk_store_f32_sse2+0x7a>
+
+PUBLIC _sk_repeat_x_sse2
+_sk_repeat_x_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,0                      ; movss         (%rax),%xmm8
+  DB  243,68,15,16,72,4                   ; movss         0x4(%rax),%xmm9
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  68,15,89,200                        ; mulps         %xmm0,%xmm9
+  DB  243,69,15,91,209                    ; cvttps2dq     %xmm9,%xmm10
+  DB  69,15,91,210                        ; cvtdq2ps      %xmm10,%xmm10
+  DB  69,15,194,202,1                     ; cmpltps       %xmm10,%xmm9
+  DB  68,15,84,13,166,34,1,0              ; andps         0x122a6(%rip),%xmm9        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,92,209                        ; subps         %xmm9,%xmm10
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  69,15,89,194                        ; mulps         %xmm10,%xmm8
+  DB  65,15,92,192                        ; subps         %xmm8,%xmm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_repeat_y_sse2
+_sk_repeat_y_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,0                      ; movss         (%rax),%xmm8
+  DB  243,68,15,16,72,4                   ; movss         0x4(%rax),%xmm9
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  68,15,89,201                        ; mulps         %xmm1,%xmm9
+  DB  243,69,15,91,209                    ; cvttps2dq     %xmm9,%xmm10
+  DB  69,15,91,210                        ; cvtdq2ps      %xmm10,%xmm10
+  DB  69,15,194,202,1                     ; cmpltps       %xmm10,%xmm9
+  DB  68,15,84,13,101,34,1,0              ; andps         0x12265(%rip),%xmm9        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,92,209                        ; subps         %xmm9,%xmm10
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  69,15,89,194                        ; mulps         %xmm10,%xmm8
+  DB  65,15,92,200                        ; subps         %xmm8,%xmm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_mirror_x_sse2
+_sk_mirror_x_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,0                      ; movss         (%rax),%xmm8
+  DB  243,68,15,16,72,4                   ; movss         0x4(%rax),%xmm9
+  DB  69,15,40,208                        ; movaps        %xmm8,%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  65,15,92,194                        ; subps         %xmm10,%xmm0
+  DB  243,69,15,88,192                    ; addss         %xmm8,%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  243,68,15,89,13,55,24,1,0           ; mulss         0x11837(%rip),%xmm9        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  68,15,89,200                        ; mulps         %xmm0,%xmm9
+  DB  243,69,15,91,217                    ; cvttps2dq     %xmm9,%xmm11
+  DB  69,15,91,219                        ; cvtdq2ps      %xmm11,%xmm11
+  DB  69,15,194,203,1                     ; cmpltps       %xmm11,%xmm9
+  DB  68,15,84,13,4,34,1,0                ; andps         0x12204(%rip),%xmm9        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,87,228                        ; xorps         %xmm12,%xmm12
+  DB  69,15,92,217                        ; subps         %xmm9,%xmm11
+  DB  69,15,89,216                        ; mulps         %xmm8,%xmm11
+  DB  65,15,92,195                        ; subps         %xmm11,%xmm0
+  DB  65,15,92,194                        ; subps         %xmm10,%xmm0
+  DB  68,15,92,224                        ; subps         %xmm0,%xmm12
+  DB  65,15,84,196                        ; andps         %xmm12,%xmm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_mirror_y_sse2
+_sk_mirror_y_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,0                      ; movss         (%rax),%xmm8
+  DB  243,68,15,16,72,4                   ; movss         0x4(%rax),%xmm9
+  DB  69,15,40,208                        ; movaps        %xmm8,%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  65,15,92,202                        ; subps         %xmm10,%xmm1
+  DB  243,69,15,88,192                    ; addss         %xmm8,%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  243,68,15,89,13,203,23,1,0          ; mulss         0x117cb(%rip),%xmm9        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  68,15,89,201                        ; mulps         %xmm1,%xmm9
+  DB  243,69,15,91,217                    ; cvttps2dq     %xmm9,%xmm11
+  DB  69,15,91,219                        ; cvtdq2ps      %xmm11,%xmm11
+  DB  69,15,194,203,1                     ; cmpltps       %xmm11,%xmm9
+  DB  68,15,84,13,152,33,1,0              ; andps         0x12198(%rip),%xmm9        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,87,228                        ; xorps         %xmm12,%xmm12
+  DB  69,15,92,217                        ; subps         %xmm9,%xmm11
+  DB  69,15,89,216                        ; mulps         %xmm8,%xmm11
+  DB  65,15,92,203                        ; subps         %xmm11,%xmm1
+  DB  65,15,92,202                        ; subps         %xmm10,%xmm1
+  DB  68,15,92,225                        ; subps         %xmm1,%xmm12
+  DB  65,15,84,204                        ; andps         %xmm12,%xmm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_clamp_x_1_sse2
+_sk_clamp_x_1_sse2 LABEL PROC
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  68,15,95,192                        ; maxps         %xmm0,%xmm8
+  DB  68,15,93,5,104,33,1,0               ; minps         0x12168(%rip),%xmm8        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_repeat_x_1_sse2
+_sk_repeat_x_1_sse2 LABEL PROC
+  DB  243,68,15,91,192                    ; cvttps2dq     %xmm0,%xmm8
+  DB  69,15,91,200                        ; cvtdq2ps      %xmm8,%xmm9
+  DB  68,15,40,208                        ; movaps        %xmm0,%xmm10
+  DB  69,15,194,209,1                     ; cmpltps       %xmm9,%xmm10
+  DB  68,15,40,29,70,33,1,0               ; movaps        0x12146(%rip),%xmm11        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,84,211                        ; andps         %xmm11,%xmm10
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  69,15,92,202                        ; subps         %xmm10,%xmm9
+  DB  65,15,92,193                        ; subps         %xmm9,%xmm0
+  DB  68,15,95,192                        ; maxps         %xmm0,%xmm8
+  DB  69,15,93,195                        ; minps         %xmm11,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_mirror_x_1_sse2
+_sk_mirror_x_1_sse2 LABEL PROC
+  DB  68,15,40,13,126,33,1,0              ; movaps        0x1217e(%rip),%xmm9        # 35510 <_sk_srcover_bgra_8888_sse2_lowp+0xcf8>
+  DB  65,15,88,193                        ; addps         %xmm9,%xmm0
+  DB  68,15,40,21,2,33,1,0                ; movaps        0x12102(%rip),%xmm10        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  68,15,89,208                        ; mulps         %xmm0,%xmm10
+  DB  243,69,15,91,194                    ; cvttps2dq     %xmm10,%xmm8
+  DB  69,15,91,216                        ; cvtdq2ps      %xmm8,%xmm11
+  DB  69,15,194,211,1                     ; cmpltps       %xmm11,%xmm10
+  DB  68,15,40,37,248,32,1,0              ; movaps        0x120f8(%rip),%xmm12        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,84,212                        ; andps         %xmm12,%xmm10
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  69,15,92,218                        ; subps         %xmm10,%xmm11
+  DB  69,15,88,219                        ; addps         %xmm11,%xmm11
+  DB  65,15,92,195                        ; subps         %xmm11,%xmm0
+  DB  65,15,88,193                        ; addps         %xmm9,%xmm0
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,92,200                        ; subps         %xmm0,%xmm9
+  DB  68,15,84,200                        ; andps         %xmm0,%xmm9
+  DB  69,15,95,193                        ; maxps         %xmm9,%xmm8
+  DB  69,15,93,196                        ; minps         %xmm12,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_decal_x_sse2
+_sk_decal_x_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  68,15,194,192,2                     ; cmpleps       %xmm0,%xmm8
+  DB  243,68,15,16,72,64                  ; movss         0x40(%rax),%xmm9
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  68,15,40,208                        ; movaps        %xmm0,%xmm10
+  DB  69,15,194,209,1                     ; cmpltps       %xmm9,%xmm10
+  DB  69,15,84,208                        ; andps         %xmm8,%xmm10
+  DB  68,15,17,16                         ; movups        %xmm10,(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_decal_y_sse2
+_sk_decal_y_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  68,15,194,193,2                     ; cmpleps       %xmm1,%xmm8
+  DB  243,68,15,16,72,68                  ; movss         0x44(%rax),%xmm9
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  68,15,40,209                        ; movaps        %xmm1,%xmm10
+  DB  69,15,194,209,1                     ; cmpltps       %xmm9,%xmm10
+  DB  69,15,84,208                        ; andps         %xmm8,%xmm10
+  DB  68,15,17,16                         ; movups        %xmm10,(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_decal_x_and_y_sse2
+_sk_decal_x_and_y_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,194,200,2                     ; cmpleps       %xmm0,%xmm9
+  DB  243,68,15,16,80,64                  ; movss         0x40(%rax),%xmm10
+  DB  243,68,15,16,88,68                  ; movss         0x44(%rax),%xmm11
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  68,15,40,224                        ; movaps        %xmm0,%xmm12
+  DB  69,15,194,226,1                     ; cmpltps       %xmm10,%xmm12
+  DB  68,15,194,193,2                     ; cmpleps       %xmm1,%xmm8
+  DB  69,15,84,193                        ; andps         %xmm9,%xmm8
+  DB  69,15,84,196                        ; andps         %xmm12,%xmm8
+  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
+  DB  68,15,40,201                        ; movaps        %xmm1,%xmm9
+  DB  69,15,194,203,1                     ; cmpltps       %xmm11,%xmm9
+  DB  69,15,84,200                        ; andps         %xmm8,%xmm9
+  DB  68,15,17,8                          ; movups        %xmm9,(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_check_decal_mask_sse2
+_sk_check_decal_mask_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  68,15,16,0                          ; movups        (%rax),%xmm8
+  DB  65,15,84,192                        ; andps         %xmm8,%xmm0
+  DB  65,15,84,200                        ; andps         %xmm8,%xmm1
+  DB  65,15,84,208                        ; andps         %xmm8,%xmm2
+  DB  65,15,84,216                        ; andps         %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_luminance_to_alpha_sse2
+_sk_luminance_to_alpha_sse2 LABEL PROC
+  DB  15,40,218                           ; movaps        %xmm2,%xmm3
+  DB  15,89,5,154,37,1,0                  ; mulps         0x1259a(%rip),%xmm0        # 35a50 <_sk_srcover_bgra_8888_sse2_lowp+0x1238>
+  DB  15,89,13,163,37,1,0                 ; mulps         0x125a3(%rip),%xmm1        # 35a60 <_sk_srcover_bgra_8888_sse2_lowp+0x1248>
+  DB  15,88,200                           ; addps         %xmm0,%xmm1
+  DB  15,89,29,169,37,1,0                 ; mulps         0x125a9(%rip),%xmm3        # 35a70 <_sk_srcover_bgra_8888_sse2_lowp+0x1258>
+  DB  15,88,217                           ; addps         %xmm1,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  15,87,201                           ; xorps         %xmm1,%xmm1
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_matrix_translate_sse2
+_sk_matrix_translate_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,0                      ; movss         (%rax),%xmm8
+  DB  243,68,15,16,72,4                   ; movss         0x4(%rax),%xmm9
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  65,15,88,192                        ; addps         %xmm8,%xmm0
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  65,15,88,201                        ; addps         %xmm9,%xmm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_matrix_scale_translate_sse2
+_sk_matrix_scale_translate_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,0                      ; movss         (%rax),%xmm8
+  DB  243,68,15,16,72,4                   ; movss         0x4(%rax),%xmm9
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  243,68,15,16,80,8                   ; movss         0x8(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  65,15,88,194                        ; addps         %xmm10,%xmm0
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  243,68,15,16,64,12                  ; movss         0xc(%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  65,15,89,201                        ; mulps         %xmm9,%xmm1
+  DB  65,15,88,200                        ; addps         %xmm8,%xmm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_matrix_2x3_sse2
+_sk_matrix_2x3_sse2 LABEL PROC
+  DB  68,15,40,201                        ; movaps        %xmm1,%xmm9
+  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,15,16,0                         ; movss         (%rax),%xmm0
+  DB  243,15,16,72,4                      ; movss         0x4(%rax),%xmm1
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  243,68,15,16,80,8                   ; movss         0x8(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  243,68,15,16,88,16                  ; movss         0x10(%rax),%xmm11
+  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
+  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
+  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  65,15,88,194                        ; addps         %xmm10,%xmm0
+  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
+  DB  243,68,15,16,80,12                  ; movss         0xc(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  243,68,15,16,88,20                  ; movss         0x14(%rax),%xmm11
+  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
+  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
+  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
+  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
+  DB  65,15,88,202                        ; addps         %xmm10,%xmm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_matrix_3x4_sse2
+_sk_matrix_3x4_sse2 LABEL PROC
+  DB  68,15,40,201                        ; movaps        %xmm1,%xmm9
+  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,15,16,0                         ; movss         (%rax),%xmm0
+  DB  243,15,16,72,4                      ; movss         0x4(%rax),%xmm1
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  243,68,15,16,80,12                  ; movss         0xc(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  243,68,15,16,88,24                  ; movss         0x18(%rax),%xmm11
+  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
+  DB  243,68,15,16,96,36                  ; movss         0x24(%rax),%xmm12
+  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
+  DB  68,15,89,218                        ; mulps         %xmm2,%xmm11
+  DB  69,15,88,220                        ; addps         %xmm12,%xmm11
+  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
+  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  65,15,88,194                        ; addps         %xmm10,%xmm0
+  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
+  DB  243,68,15,16,80,16                  ; movss         0x10(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  243,68,15,16,88,28                  ; movss         0x1c(%rax),%xmm11
+  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
+  DB  243,68,15,16,96,40                  ; movss         0x28(%rax),%xmm12
+  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
+  DB  68,15,89,218                        ; mulps         %xmm2,%xmm11
+  DB  69,15,88,220                        ; addps         %xmm12,%xmm11
+  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
+  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
+  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
+  DB  65,15,88,202                        ; addps         %xmm10,%xmm1
+  DB  243,68,15,16,80,8                   ; movss         0x8(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  243,68,15,16,88,20                  ; movss         0x14(%rax),%xmm11
+  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
+  DB  243,68,15,16,96,32                  ; movss         0x20(%rax),%xmm12
+  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
+  DB  243,68,15,16,104,44                 ; movss         0x2c(%rax),%xmm13
+  DB  69,15,198,237,0                     ; shufps        $0x0,%xmm13,%xmm13
+  DB  68,15,89,226                        ; mulps         %xmm2,%xmm12
+  DB  69,15,88,229                        ; addps         %xmm13,%xmm12
+  DB  69,15,89,217                        ; mulps         %xmm9,%xmm11
+  DB  69,15,88,220                        ; addps         %xmm12,%xmm11
+  DB  69,15,89,208                        ; mulps         %xmm8,%xmm10
+  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,210                        ; movaps        %xmm10,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_matrix_4x5_sse2
+_sk_matrix_4x5_sse2 LABEL PROC
+  DB  68,15,40,201                        ; movaps        %xmm1,%xmm9
+  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,15,16,0                         ; movss         (%rax),%xmm0
+  DB  243,15,16,72,4                      ; movss         0x4(%rax),%xmm1
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  243,68,15,16,80,16                  ; movss         0x10(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  243,68,15,16,88,32                  ; movss         0x20(%rax),%xmm11
+  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
+  DB  243,68,15,16,96,48                  ; movss         0x30(%rax),%xmm12
+  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
+  DB  243,68,15,16,104,64                 ; movss         0x40(%rax),%xmm13
+  DB  69,15,198,237,0                     ; shufps        $0x0,%xmm13,%xmm13
+  DB  68,15,89,227                        ; mulps         %xmm3,%xmm12
+  DB  69,15,88,229                        ; addps         %xmm13,%xmm12
+  DB  68,15,89,218                        ; mulps         %xmm2,%xmm11
+  DB  69,15,88,220                        ; addps         %xmm12,%xmm11
+  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
+  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  65,15,88,194                        ; addps         %xmm10,%xmm0
+  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
+  DB  243,68,15,16,80,20                  ; movss         0x14(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  243,68,15,16,88,36                  ; movss         0x24(%rax),%xmm11
+  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
+  DB  243,68,15,16,96,52                  ; movss         0x34(%rax),%xmm12
+  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
+  DB  243,68,15,16,104,68                 ; movss         0x44(%rax),%xmm13
+  DB  69,15,198,237,0                     ; shufps        $0x0,%xmm13,%xmm13
+  DB  68,15,89,227                        ; mulps         %xmm3,%xmm12
+  DB  69,15,88,229                        ; addps         %xmm13,%xmm12
+  DB  68,15,89,218                        ; mulps         %xmm2,%xmm11
+  DB  69,15,88,220                        ; addps         %xmm12,%xmm11
+  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
+  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
+  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
+  DB  65,15,88,202                        ; addps         %xmm10,%xmm1
+  DB  243,68,15,16,80,8                   ; movss         0x8(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  243,68,15,16,88,24                  ; movss         0x18(%rax),%xmm11
+  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
+  DB  243,68,15,16,96,40                  ; movss         0x28(%rax),%xmm12
+  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
+  DB  243,68,15,16,104,56                 ; movss         0x38(%rax),%xmm13
+  DB  69,15,198,237,0                     ; shufps        $0x0,%xmm13,%xmm13
+  DB  243,68,15,16,112,72                 ; movss         0x48(%rax),%xmm14
+  DB  69,15,198,246,0                     ; shufps        $0x0,%xmm14,%xmm14
+  DB  68,15,89,235                        ; mulps         %xmm3,%xmm13
+  DB  69,15,88,238                        ; addps         %xmm14,%xmm13
+  DB  68,15,89,226                        ; mulps         %xmm2,%xmm12
+  DB  69,15,88,229                        ; addps         %xmm13,%xmm12
+  DB  69,15,89,217                        ; mulps         %xmm9,%xmm11
+  DB  69,15,88,220                        ; addps         %xmm12,%xmm11
+  DB  69,15,89,208                        ; mulps         %xmm8,%xmm10
+  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
+  DB  243,68,15,16,88,12                  ; movss         0xc(%rax),%xmm11
+  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
+  DB  243,68,15,16,96,28                  ; movss         0x1c(%rax),%xmm12
+  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
+  DB  243,68,15,16,104,44                 ; movss         0x2c(%rax),%xmm13
+  DB  69,15,198,237,0                     ; shufps        $0x0,%xmm13,%xmm13
+  DB  243,68,15,16,112,60                 ; movss         0x3c(%rax),%xmm14
+  DB  69,15,198,246,0                     ; shufps        $0x0,%xmm14,%xmm14
+  DB  243,68,15,16,120,76                 ; movss         0x4c(%rax),%xmm15
+  DB  69,15,198,255,0                     ; shufps        $0x0,%xmm15,%xmm15
+  DB  68,15,89,243                        ; mulps         %xmm3,%xmm14
+  DB  69,15,88,247                        ; addps         %xmm15,%xmm14
+  DB  68,15,89,234                        ; mulps         %xmm2,%xmm13
+  DB  69,15,88,238                        ; addps         %xmm14,%xmm13
+  DB  69,15,89,225                        ; mulps         %xmm9,%xmm12
+  DB  69,15,88,229                        ; addps         %xmm13,%xmm12
+  DB  69,15,89,216                        ; mulps         %xmm8,%xmm11
+  DB  69,15,88,220                        ; addps         %xmm12,%xmm11
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,210                        ; movaps        %xmm10,%xmm2
+  DB  65,15,40,219                        ; movaps        %xmm11,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_matrix_4x3_sse2
+_sk_matrix_4x3_sse2 LABEL PROC
+  DB  68,15,40,201                        ; movaps        %xmm1,%xmm9
+  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,15,16,0                         ; movss         (%rax),%xmm0
+  DB  243,15,16,72,4                      ; movss         0x4(%rax),%xmm1
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  243,15,16,80,16                     ; movss         0x10(%rax),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  243,15,16,88,32                     ; movss         0x20(%rax),%xmm3
+  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
+  DB  65,15,89,209                        ; mulps         %xmm9,%xmm2
+  DB  15,88,211                           ; addps         %xmm3,%xmm2
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  15,88,194                           ; addps         %xmm2,%xmm0
+  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
+  DB  243,15,16,80,20                     ; movss         0x14(%rax),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  243,15,16,88,36                     ; movss         0x24(%rax),%xmm3
+  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
+  DB  65,15,89,209                        ; mulps         %xmm9,%xmm2
+  DB  15,88,211                           ; addps         %xmm3,%xmm2
+  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
+  DB  15,88,202                           ; addps         %xmm2,%xmm1
+  DB  243,15,16,80,8                      ; movss         0x8(%rax),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  243,15,16,88,24                     ; movss         0x18(%rax),%xmm3
+  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
+  DB  243,68,15,16,80,40                  ; movss         0x28(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  65,15,89,217                        ; mulps         %xmm9,%xmm3
+  DB  65,15,88,218                        ; addps         %xmm10,%xmm3
+  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
+  DB  15,88,211                           ; addps         %xmm3,%xmm2
+  DB  243,15,16,88,12                     ; movss         0xc(%rax),%xmm3
+  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
+  DB  243,68,15,16,80,28                  ; movss         0x1c(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  243,68,15,16,88,44                  ; movss         0x2c(%rax),%xmm11
+  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
+  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
+  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
+  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
+  DB  65,15,88,218                        ; addps         %xmm10,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_matrix_perspective_sse2
+_sk_matrix_perspective_sse2 LABEL PROC
+  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,15,16,0                         ; movss         (%rax),%xmm0
+  DB  243,68,15,16,72,4                   ; movss         0x4(%rax),%xmm9
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  243,68,15,16,80,8                   ; movss         0x8(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  68,15,89,201                        ; mulps         %xmm1,%xmm9
+  DB  69,15,88,202                        ; addps         %xmm10,%xmm9
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  65,15,88,193                        ; addps         %xmm9,%xmm0
+  DB  243,68,15,16,72,12                  ; movss         0xc(%rax),%xmm9
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  243,68,15,16,80,16                  ; movss         0x10(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  243,68,15,16,88,20                  ; movss         0x14(%rax),%xmm11
+  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
+  DB  68,15,89,209                        ; mulps         %xmm1,%xmm10
+  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
+  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
+  DB  69,15,88,202                        ; addps         %xmm10,%xmm9
+  DB  243,68,15,16,80,24                  ; movss         0x18(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  243,68,15,16,88,28                  ; movss         0x1c(%rax),%xmm11
+  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
+  DB  243,68,15,16,96,32                  ; movss         0x20(%rax),%xmm12
+  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
+  DB  68,15,89,217                        ; mulps         %xmm1,%xmm11
+  DB  69,15,88,220                        ; addps         %xmm12,%xmm11
+  DB  69,15,89,208                        ; mulps         %xmm8,%xmm10
+  DB  69,15,88,211                        ; addps         %xmm11,%xmm10
+  DB  65,15,83,202                        ; rcpps         %xmm10,%xmm1
+  DB  15,89,193                           ; mulps         %xmm1,%xmm0
+  DB  68,15,89,201                        ; mulps         %xmm1,%xmm9
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,201                        ; movaps        %xmm9,%xmm1
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_evenly_spaced_gradient_sse2
+_sk_evenly_spaced_gradient_sse2 LABEL PROC
+  DB  65,86                               ; push          %r14
+  DB  83                                  ; push          %rbx
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  72,139,24                           ; mov           (%rax),%rbx
+  DB  76,139,112,8                        ; mov           0x8(%rax),%r14
+  DB  72,255,203                          ; dec           %rbx
+  DB  120,7                               ; js            23967 <_sk_evenly_spaced_gradient_sse2+0x18>
+  DB  243,72,15,42,203                    ; cvtsi2ss      %rbx,%xmm1
+  DB  235,21                              ; jmp           2397c <_sk_evenly_spaced_gradient_sse2+0x2d>
+  DB  73,137,216                          ; mov           %rbx,%r8
+  DB  73,209,232                          ; shr           %r8
+  DB  131,227,1                           ; and           $0x1,%ebx
+  DB  76,9,195                            ; or            %r8,%rbx
+  DB  243,72,15,42,203                    ; cvtsi2ss      %rbx,%xmm1
+  DB  243,15,88,201                       ; addss         %xmm1,%xmm1
+  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
+  DB  15,89,200                           ; mulps         %xmm0,%xmm1
+  DB  243,15,91,201                       ; cvttps2dq     %xmm1,%xmm1
+  DB  102,15,112,209,78                   ; pshufd        $0x4e,%xmm1,%xmm2
+  DB  102,73,15,126,209                   ; movq          %xmm2,%r9
+  DB  69,137,200                          ; mov           %r9d,%r8d
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  102,73,15,126,203                   ; movq          %xmm1,%r11
+  DB  69,137,218                          ; mov           %r11d,%r10d
+  DB  73,193,235,32                       ; shr           $0x20,%r11
+  DB  243,67,15,16,12,158                 ; movss         (%r14,%r11,4),%xmm1
+  DB  243,71,15,16,4,150                  ; movss         (%r14,%r10,4),%xmm8
+  DB  68,15,20,193                        ; unpcklps      %xmm1,%xmm8
+  DB  243,67,15,16,12,142                 ; movss         (%r14,%r9,4),%xmm1
+  DB  243,67,15,16,20,134                 ; movss         (%r14,%r8,4),%xmm2
+  DB  15,20,209                           ; unpcklps      %xmm1,%xmm2
+  DB  102,68,15,20,194                    ; unpcklpd      %xmm2,%xmm8
+  DB  72,139,88,40                        ; mov           0x28(%rax),%rbx
+  DB  243,66,15,16,12,155                 ; movss         (%rbx,%r11,4),%xmm1
+  DB  243,70,15,16,12,147                 ; movss         (%rbx,%r10,4),%xmm9
+  DB  68,15,20,201                        ; unpcklps      %xmm1,%xmm9
+  DB  243,66,15,16,12,139                 ; movss         (%rbx,%r9,4),%xmm1
+  DB  243,66,15,16,20,131                 ; movss         (%rbx,%r8,4),%xmm2
+  DB  15,20,209                           ; unpcklps      %xmm1,%xmm2
+  DB  102,68,15,20,202                    ; unpcklpd      %xmm2,%xmm9
+  DB  72,139,88,16                        ; mov           0x10(%rax),%rbx
+  DB  243,66,15,16,20,155                 ; movss         (%rbx,%r11,4),%xmm2
+  DB  243,66,15,16,12,147                 ; movss         (%rbx,%r10,4),%xmm1
+  DB  15,20,202                           ; unpcklps      %xmm2,%xmm1
+  DB  243,66,15,16,20,139                 ; movss         (%rbx,%r9,4),%xmm2
+  DB  243,66,15,16,28,131                 ; movss         (%rbx,%r8,4),%xmm3
+  DB  15,20,218                           ; unpcklps      %xmm2,%xmm3
+  DB  102,15,20,203                       ; unpcklpd      %xmm3,%xmm1
+  DB  72,139,88,48                        ; mov           0x30(%rax),%rbx
+  DB  243,66,15,16,20,155                 ; movss         (%rbx,%r11,4),%xmm2
+  DB  243,70,15,16,20,147                 ; movss         (%rbx,%r10,4),%xmm10
+  DB  68,15,20,210                        ; unpcklps      %xmm2,%xmm10
+  DB  243,66,15,16,20,139                 ; movss         (%rbx,%r9,4),%xmm2
+  DB  243,66,15,16,28,131                 ; movss         (%rbx,%r8,4),%xmm3
+  DB  15,20,218                           ; unpcklps      %xmm2,%xmm3
+  DB  102,68,15,20,211                    ; unpcklpd      %xmm3,%xmm10
+  DB  72,139,88,24                        ; mov           0x18(%rax),%rbx
+  DB  243,66,15,16,28,155                 ; movss         (%rbx,%r11,4),%xmm3
+  DB  243,66,15,16,20,147                 ; movss         (%rbx,%r10,4),%xmm2
+  DB  15,20,211                           ; unpcklps      %xmm3,%xmm2
+  DB  243,70,15,16,28,139                 ; movss         (%rbx,%r9,4),%xmm11
+  DB  243,66,15,16,28,131                 ; movss         (%rbx,%r8,4),%xmm3
+  DB  65,15,20,219                        ; unpcklps      %xmm11,%xmm3
+  DB  102,15,20,211                       ; unpcklpd      %xmm3,%xmm2
+  DB  72,139,88,56                        ; mov           0x38(%rax),%rbx
+  DB  243,66,15,16,28,155                 ; movss         (%rbx,%r11,4),%xmm3
+  DB  243,70,15,16,28,147                 ; movss         (%rbx,%r10,4),%xmm11
+  DB  68,15,20,219                        ; unpcklps      %xmm3,%xmm11
+  DB  243,70,15,16,36,139                 ; movss         (%rbx,%r9,4),%xmm12
+  DB  243,66,15,16,28,131                 ; movss         (%rbx,%r8,4),%xmm3
+  DB  65,15,20,220                        ; unpcklps      %xmm12,%xmm3
+  DB  102,68,15,20,219                    ; unpcklpd      %xmm3,%xmm11
+  DB  72,139,88,32                        ; mov           0x20(%rax),%rbx
+  DB  243,70,15,16,36,155                 ; movss         (%rbx,%r11,4),%xmm12
+  DB  243,66,15,16,28,147                 ; movss         (%rbx,%r10,4),%xmm3
+  DB  65,15,20,220                        ; unpcklps      %xmm12,%xmm3
+  DB  243,70,15,16,36,139                 ; movss         (%rbx,%r9,4),%xmm12
+  DB  243,70,15,16,44,131                 ; movss         (%rbx,%r8,4),%xmm13
+  DB  69,15,20,236                        ; unpcklps      %xmm12,%xmm13
+  DB  102,65,15,20,221                    ; unpcklpd      %xmm13,%xmm3
+  DB  72,139,64,64                        ; mov           0x40(%rax),%rax
+  DB  243,70,15,16,36,152                 ; movss         (%rax,%r11,4),%xmm12
+  DB  243,70,15,16,44,144                 ; movss         (%rax,%r10,4),%xmm13
+  DB  69,15,20,236                        ; unpcklps      %xmm12,%xmm13
+  DB  243,70,15,16,36,136                 ; movss         (%rax,%r9,4),%xmm12
+  DB  243,70,15,16,52,128                 ; movss         (%rax,%r8,4),%xmm14
+  DB  69,15,20,244                        ; unpcklps      %xmm12,%xmm14
+  DB  102,69,15,20,238                    ; unpcklpd      %xmm14,%xmm13
+  DB  68,15,89,192                        ; mulps         %xmm0,%xmm8
+  DB  69,15,88,193                        ; addps         %xmm9,%xmm8
+  DB  15,89,200                           ; mulps         %xmm0,%xmm1
+  DB  65,15,88,202                        ; addps         %xmm10,%xmm1
+  DB  15,89,208                           ; mulps         %xmm0,%xmm2
+  DB  65,15,88,211                        ; addps         %xmm11,%xmm2
+  DB  15,89,216                           ; mulps         %xmm0,%xmm3
+  DB  65,15,88,221                        ; addps         %xmm13,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  91                                  ; pop           %rbx
+  DB  65,94                               ; pop           %r14
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_gradient_sse2
+_sk_gradient_sse2 LABEL PROC
+  DB  65,86                               ; push          %r14
+  DB  83                                  ; push          %rbx
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  73,131,248,2                        ; cmp           $0x2,%r8
+  DB  114,41                              ; jb            23b43 <_sk_gradient_sse2+0x3b>
+  DB  76,139,72,72                        ; mov           0x48(%rax),%r9
+  DB  73,255,200                          ; dec           %r8
+  DB  73,131,193,4                        ; add           $0x4,%r9
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  243,65,15,16,17                     ; movss         (%r9),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  15,194,208,2                        ; cmpleps       %xmm0,%xmm2
+  DB  102,15,250,202                      ; psubd         %xmm2,%xmm1
+  DB  73,131,193,4                        ; add           $0x4,%r9
+  DB  73,255,200                          ; dec           %r8
+  DB  117,230                             ; jne           23b29 <_sk_gradient_sse2+0x21>
+  DB  102,15,112,209,78                   ; pshufd        $0x4e,%xmm1,%xmm2
+  DB  102,73,15,126,209                   ; movq          %xmm2,%r9
+  DB  69,137,200                          ; mov           %r9d,%r8d
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  102,73,15,126,203                   ; movq          %xmm1,%r11
+  DB  69,137,218                          ; mov           %r11d,%r10d
+  DB  73,193,235,32                       ; shr           $0x20,%r11
+  DB  72,139,88,8                         ; mov           0x8(%rax),%rbx
+  DB  76,139,112,16                       ; mov           0x10(%rax),%r14
+  DB  243,66,15,16,12,155                 ; movss         (%rbx,%r11,4),%xmm1
+  DB  243,70,15,16,4,147                  ; movss         (%rbx,%r10,4),%xmm8
+  DB  68,15,20,193                        ; unpcklps      %xmm1,%xmm8
+  DB  243,66,15,16,12,139                 ; movss         (%rbx,%r9,4),%xmm1
+  DB  243,66,15,16,20,131                 ; movss         (%rbx,%r8,4),%xmm2
+  DB  15,20,209                           ; unpcklps      %xmm1,%xmm2
+  DB  102,68,15,20,194                    ; unpcklpd      %xmm2,%xmm8
+  DB  72,139,88,40                        ; mov           0x28(%rax),%rbx
+  DB  243,66,15,16,12,155                 ; movss         (%rbx,%r11,4),%xmm1
+  DB  243,70,15,16,12,147                 ; movss         (%rbx,%r10,4),%xmm9
+  DB  68,15,20,201                        ; unpcklps      %xmm1,%xmm9
+  DB  243,66,15,16,12,139                 ; movss         (%rbx,%r9,4),%xmm1
+  DB  243,66,15,16,20,131                 ; movss         (%rbx,%r8,4),%xmm2
+  DB  15,20,209                           ; unpcklps      %xmm1,%xmm2
+  DB  102,68,15,20,202                    ; unpcklpd      %xmm2,%xmm9
+  DB  243,67,15,16,20,158                 ; movss         (%r14,%r11,4),%xmm2
+  DB  243,67,15,16,12,150                 ; movss         (%r14,%r10,4),%xmm1
+  DB  15,20,202                           ; unpcklps      %xmm2,%xmm1
+  DB  243,67,15,16,20,142                 ; movss         (%r14,%r9,4),%xmm2
+  DB  243,67,15,16,28,134                 ; movss         (%r14,%r8,4),%xmm3
+  DB  15,20,218                           ; unpcklps      %xmm2,%xmm3
+  DB  102,15,20,203                       ; unpcklpd      %xmm3,%xmm1
+  DB  72,139,88,48                        ; mov           0x30(%rax),%rbx
+  DB  243,66,15,16,20,155                 ; movss         (%rbx,%r11,4),%xmm2
+  DB  243,70,15,16,20,147                 ; movss         (%rbx,%r10,4),%xmm10
+  DB  68,15,20,210                        ; unpcklps      %xmm2,%xmm10
+  DB  243,66,15,16,20,139                 ; movss         (%rbx,%r9,4),%xmm2
+  DB  243,66,15,16,28,131                 ; movss         (%rbx,%r8,4),%xmm3
+  DB  15,20,218                           ; unpcklps      %xmm2,%xmm3
+  DB  102,68,15,20,211                    ; unpcklpd      %xmm3,%xmm10
+  DB  72,139,88,24                        ; mov           0x18(%rax),%rbx
+  DB  243,66,15,16,28,155                 ; movss         (%rbx,%r11,4),%xmm3
+  DB  243,66,15,16,20,147                 ; movss         (%rbx,%r10,4),%xmm2
+  DB  15,20,211                           ; unpcklps      %xmm3,%xmm2
+  DB  243,70,15,16,28,139                 ; movss         (%rbx,%r9,4),%xmm11
+  DB  243,66,15,16,28,131                 ; movss         (%rbx,%r8,4),%xmm3
+  DB  65,15,20,219                        ; unpcklps      %xmm11,%xmm3
+  DB  102,15,20,211                       ; unpcklpd      %xmm3,%xmm2
+  DB  72,139,88,56                        ; mov           0x38(%rax),%rbx
+  DB  243,66,15,16,28,155                 ; movss         (%rbx,%r11,4),%xmm3
+  DB  243,70,15,16,28,147                 ; movss         (%rbx,%r10,4),%xmm11
+  DB  68,15,20,219                        ; unpcklps      %xmm3,%xmm11
+  DB  243,70,15,16,36,139                 ; movss         (%rbx,%r9,4),%xmm12
+  DB  243,66,15,16,28,131                 ; movss         (%rbx,%r8,4),%xmm3
+  DB  65,15,20,220                        ; unpcklps      %xmm12,%xmm3
+  DB  102,68,15,20,219                    ; unpcklpd      %xmm3,%xmm11
+  DB  72,139,88,32                        ; mov           0x20(%rax),%rbx
+  DB  243,70,15,16,36,155                 ; movss         (%rbx,%r11,4),%xmm12
+  DB  243,66,15,16,28,147                 ; movss         (%rbx,%r10,4),%xmm3
+  DB  65,15,20,220                        ; unpcklps      %xmm12,%xmm3
+  DB  243,70,15,16,36,139                 ; movss         (%rbx,%r9,4),%xmm12
+  DB  243,70,15,16,44,131                 ; movss         (%rbx,%r8,4),%xmm13
+  DB  69,15,20,236                        ; unpcklps      %xmm12,%xmm13
+  DB  102,65,15,20,221                    ; unpcklpd      %xmm13,%xmm3
+  DB  72,139,64,64                        ; mov           0x40(%rax),%rax
+  DB  243,70,15,16,36,152                 ; movss         (%rax,%r11,4),%xmm12
+  DB  243,70,15,16,44,144                 ; movss         (%rax,%r10,4),%xmm13
+  DB  69,15,20,236                        ; unpcklps      %xmm12,%xmm13
+  DB  243,70,15,16,36,136                 ; movss         (%rax,%r9,4),%xmm12
+  DB  243,70,15,16,52,128                 ; movss         (%rax,%r8,4),%xmm14
+  DB  69,15,20,244                        ; unpcklps      %xmm12,%xmm14
+  DB  102,69,15,20,238                    ; unpcklpd      %xmm14,%xmm13
+  DB  68,15,89,192                        ; mulps         %xmm0,%xmm8
+  DB  69,15,88,193                        ; addps         %xmm9,%xmm8
+  DB  15,89,200                           ; mulps         %xmm0,%xmm1
+  DB  65,15,88,202                        ; addps         %xmm10,%xmm1
+  DB  15,89,208                           ; mulps         %xmm0,%xmm2
+  DB  65,15,88,211                        ; addps         %xmm11,%xmm2
+  DB  15,89,216                           ; mulps         %xmm0,%xmm3
+  DB  65,15,88,221                        ; addps         %xmm13,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  91                                  ; pop           %rbx
+  DB  65,94                               ; pop           %r14
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_evenly_spaced_2_stop_gradient_sse2
+_sk_evenly_spaced_2_stop_gradient_sse2 LABEL PROC
+  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,15,16,0                         ; movss         (%rax),%xmm0
+  DB  243,15,16,72,4                      ; movss         0x4(%rax),%xmm1
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  243,15,16,80,16                     ; movss         0x10(%rax),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  15,88,194                           ; addps         %xmm2,%xmm0
+  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
+  DB  243,15,16,80,20                     ; movss         0x14(%rax),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
+  DB  15,88,202                           ; addps         %xmm2,%xmm1
+  DB  243,15,16,80,8                      ; movss         0x8(%rax),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  243,15,16,88,24                     ; movss         0x18(%rax),%xmm3
+  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
+  DB  65,15,89,208                        ; mulps         %xmm8,%xmm2
+  DB  15,88,211                           ; addps         %xmm3,%xmm2
+  DB  243,15,16,88,12                     ; movss         0xc(%rax),%xmm3
+  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
+  DB  243,68,15,16,72,28                  ; movss         0x1c(%rax),%xmm9
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
+  DB  65,15,88,217                        ; addps         %xmm9,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_xy_to_unit_angle_sse2
+_sk_xy_to_unit_angle_sse2 LABEL PROC
+  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  69,15,92,200                        ; subps         %xmm8,%xmm9
+  DB  69,15,84,200                        ; andps         %xmm8,%xmm9
+  DB  69,15,87,210                        ; xorps         %xmm10,%xmm10
+  DB  68,15,92,209                        ; subps         %xmm1,%xmm10
+  DB  68,15,84,209                        ; andps         %xmm1,%xmm10
+  DB  69,15,40,217                        ; movaps        %xmm9,%xmm11
+  DB  69,15,93,218                        ; minps         %xmm10,%xmm11
+  DB  69,15,40,225                        ; movaps        %xmm9,%xmm12
+  DB  69,15,95,226                        ; maxps         %xmm10,%xmm12
+  DB  69,15,94,220                        ; divps         %xmm12,%xmm11
+  DB  69,15,40,227                        ; movaps        %xmm11,%xmm12
+  DB  69,15,89,228                        ; mulps         %xmm12,%xmm12
+  DB  68,15,40,45,5,29,1,0                ; movaps        0x11d05(%rip),%xmm13        # 35a80 <_sk_srcover_bgra_8888_sse2_lowp+0x1268>
+  DB  69,15,89,236                        ; mulps         %xmm12,%xmm13
+  DB  68,15,88,45,9,29,1,0                ; addps         0x11d09(%rip),%xmm13        # 35a90 <_sk_srcover_bgra_8888_sse2_lowp+0x1278>
+  DB  69,15,89,236                        ; mulps         %xmm12,%xmm13
+  DB  68,15,88,45,13,29,1,0               ; addps         0x11d0d(%rip),%xmm13        # 35aa0 <_sk_srcover_bgra_8888_sse2_lowp+0x1288>
+  DB  69,15,89,236                        ; mulps         %xmm12,%xmm13
+  DB  68,15,88,45,17,29,1,0               ; addps         0x11d11(%rip),%xmm13        # 35ab0 <_sk_srcover_bgra_8888_sse2_lowp+0x1298>
+  DB  69,15,89,235                        ; mulps         %xmm11,%xmm13
+  DB  69,15,194,202,1                     ; cmpltps       %xmm10,%xmm9
+  DB  68,15,40,21,16,29,1,0               ; movaps        0x11d10(%rip),%xmm10        # 35ac0 <_sk_srcover_bgra_8888_sse2_lowp+0x12a8>
+  DB  69,15,92,213                        ; subps         %xmm13,%xmm10
+  DB  69,15,84,209                        ; andps         %xmm9,%xmm10
+  DB  69,15,85,205                        ; andnps        %xmm13,%xmm9
+  DB  69,15,86,202                        ; orps          %xmm10,%xmm9
+  DB  68,15,194,192,1                     ; cmpltps       %xmm0,%xmm8
+  DB  68,15,40,21,211,22,1,0              ; movaps        0x116d3(%rip),%xmm10        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  69,15,92,209                        ; subps         %xmm9,%xmm10
+  DB  69,15,84,208                        ; andps         %xmm8,%xmm10
+  DB  69,15,85,193                        ; andnps        %xmm9,%xmm8
+  DB  69,15,86,194                        ; orps          %xmm10,%xmm8
+  DB  68,15,40,201                        ; movaps        %xmm1,%xmm9
+  DB  68,15,194,200,1                     ; cmpltps       %xmm0,%xmm9
+  DB  68,15,40,21,194,22,1,0              ; movaps        0x116c2(%rip),%xmm10        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,92,208                        ; subps         %xmm8,%xmm10
+  DB  69,15,84,209                        ; andps         %xmm9,%xmm10
+  DB  69,15,85,200                        ; andnps        %xmm8,%xmm9
+  DB  69,15,86,202                        ; orps          %xmm10,%xmm9
+  DB  65,15,194,193,7                     ; cmpordps      %xmm9,%xmm0
+  DB  65,15,84,193                        ; andps         %xmm9,%xmm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_xy_to_radius_sse2
+_sk_xy_to_radius_sse2 LABEL PROC
+  DB  15,89,192                           ; mulps         %xmm0,%xmm0
+  DB  68,15,40,193                        ; movaps        %xmm1,%xmm8
+  DB  69,15,89,192                        ; mulps         %xmm8,%xmm8
+  DB  68,15,88,192                        ; addps         %xmm0,%xmm8
+  DB  65,15,81,192                        ; sqrtps        %xmm8,%xmm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_negate_x_sse2
+_sk_negate_x_sse2 LABEL PROC
+  DB  15,87,5,215,27,1,0                  ; xorps         0x11bd7(%rip),%xmm0        # 35a00 <_sk_srcover_bgra_8888_sse2_lowp+0x11e8>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_xy_to_2pt_conical_strip_sse2
+_sk_xy_to_2pt_conical_strip_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,64,64                  ; movss         0x40(%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  68,15,40,201                        ; movaps        %xmm1,%xmm9
+  DB  69,15,89,201                        ; mulps         %xmm9,%xmm9
+  DB  69,15,92,193                        ; subps         %xmm9,%xmm8
+  DB  69,15,81,192                        ; sqrtps        %xmm8,%xmm8
+  DB  65,15,88,192                        ; addps         %xmm8,%xmm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_xy_to_2pt_conical_focal_on_circle_sse2
+_sk_xy_to_2pt_conical_focal_on_circle_sse2 LABEL PROC
+  DB  68,15,40,193                        ; movaps        %xmm1,%xmm8
+  DB  69,15,89,192                        ; mulps         %xmm8,%xmm8
+  DB  68,15,94,192                        ; divps         %xmm0,%xmm8
+  DB  65,15,88,192                        ; addps         %xmm8,%xmm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_xy_to_2pt_conical_well_behaved_sse2
+_sk_xy_to_2pt_conical_well_behaved_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,64,64                  ; movss         0x40(%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  68,15,89,192                        ; mulps         %xmm0,%xmm8
+  DB  15,89,192                           ; mulps         %xmm0,%xmm0
+  DB  68,15,40,201                        ; movaps        %xmm1,%xmm9
+  DB  69,15,89,201                        ; mulps         %xmm9,%xmm9
+  DB  68,15,88,200                        ; addps         %xmm0,%xmm9
+  DB  65,15,81,193                        ; sqrtps        %xmm9,%xmm0
+  DB  65,15,92,192                        ; subps         %xmm8,%xmm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_xy_to_2pt_conical_greater_sse2
+_sk_xy_to_2pt_conical_greater_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,64,64                  ; movss         0x40(%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  68,15,89,192                        ; mulps         %xmm0,%xmm8
+  DB  15,89,192                           ; mulps         %xmm0,%xmm0
+  DB  68,15,40,201                        ; movaps        %xmm1,%xmm9
+  DB  69,15,89,201                        ; mulps         %xmm9,%xmm9
+  DB  65,15,92,193                        ; subps         %xmm9,%xmm0
+  DB  15,81,192                           ; sqrtps        %xmm0,%xmm0
+  DB  65,15,92,192                        ; subps         %xmm8,%xmm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_xy_to_2pt_conical_smaller_sse2
+_sk_xy_to_2pt_conical_smaller_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,64,64                  ; movss         0x40(%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  68,15,89,192                        ; mulps         %xmm0,%xmm8
+  DB  15,89,192                           ; mulps         %xmm0,%xmm0
+  DB  68,15,40,201                        ; movaps        %xmm1,%xmm9
+  DB  69,15,89,201                        ; mulps         %xmm9,%xmm9
+  DB  65,15,92,193                        ; subps         %xmm9,%xmm0
+  DB  15,81,192                           ; sqrtps        %xmm0,%xmm0
+  DB  15,87,5,25,27,1,0                   ; xorps         0x11b19(%rip),%xmm0        # 35a00 <_sk_srcover_bgra_8888_sse2_lowp+0x11e8>
+  DB  65,15,92,192                        ; subps         %xmm8,%xmm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_alter_2pt_conical_compensate_focal_sse2
+_sk_alter_2pt_conical_compensate_focal_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,64,68                  ; movss         0x44(%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  65,15,88,192                        ; addps         %xmm8,%xmm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_alter_2pt_conical_unswap_sse2
+_sk_alter_2pt_conical_unswap_sse2 LABEL PROC
+  DB  68,15,40,5,164,21,1,0               ; movaps        0x115a4(%rip),%xmm8        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  68,15,92,192                        ; subps         %xmm0,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_mask_2pt_conical_nan_sse2
+_sk_mask_2pt_conical_nan_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  68,15,194,192,7                     ; cmpordps      %xmm0,%xmm8
+  DB  65,15,84,192                        ; andps         %xmm8,%xmm0
+  DB  68,15,17,0                          ; movups        %xmm8,(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_mask_2pt_conical_degenerates_sse2
+_sk_mask_2pt_conical_degenerates_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
+  DB  69,15,95,193                        ; maxps         %xmm9,%xmm8
+  DB  68,15,194,200,1                     ; cmpltps       %xmm0,%xmm9
+  DB  68,15,17,8                          ; movups        %xmm9,(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_apply_vector_mask_sse2
+_sk_apply_vector_mask_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  68,15,16,0                          ; movups        (%rax),%xmm8
+  DB  65,15,84,192                        ; andps         %xmm8,%xmm0
+  DB  65,15,84,200                        ; andps         %xmm8,%xmm1
+  DB  65,15,84,208                        ; andps         %xmm8,%xmm2
+  DB  65,15,84,216                        ; andps         %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_save_xy_sse2
+_sk_save_xy_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  68,15,40,5,46,21,1,0                ; movaps        0x1152e(%rip),%xmm8        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  15,17,0                             ; movups        %xmm0,(%rax)
+  DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
+  DB  69,15,88,200                        ; addps         %xmm8,%xmm9
+  DB  243,69,15,91,209                    ; cvttps2dq     %xmm9,%xmm10
+  DB  69,15,91,210                        ; cvtdq2ps      %xmm10,%xmm10
+  DB  69,15,40,217                        ; movaps        %xmm9,%xmm11
+  DB  69,15,194,218,1                     ; cmpltps       %xmm10,%xmm11
+  DB  68,15,40,37,25,21,1,0               ; movaps        0x11519(%rip),%xmm12        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,84,220                        ; andps         %xmm12,%xmm11
+  DB  69,15,92,211                        ; subps         %xmm11,%xmm10
+  DB  69,15,92,202                        ; subps         %xmm10,%xmm9
+  DB  68,15,88,193                        ; addps         %xmm1,%xmm8
+  DB  243,69,15,91,208                    ; cvttps2dq     %xmm8,%xmm10
+  DB  69,15,91,210                        ; cvtdq2ps      %xmm10,%xmm10
+  DB  69,15,40,216                        ; movaps        %xmm8,%xmm11
+  DB  69,15,194,218,1                     ; cmpltps       %xmm10,%xmm11
+  DB  69,15,84,220                        ; andps         %xmm12,%xmm11
+  DB  69,15,92,211                        ; subps         %xmm11,%xmm10
+  DB  69,15,92,194                        ; subps         %xmm10,%xmm8
+  DB  15,17,72,64                         ; movups        %xmm1,0x40(%rax)
+  DB  68,15,17,136,128,0,0,0              ; movups        %xmm9,0x80(%rax)
+  DB  68,15,17,128,192,0,0,0              ; movups        %xmm8,0xc0(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_accumulate_sse2
+_sk_accumulate_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  68,15,16,128,0,1,0,0                ; movups        0x100(%rax),%xmm8
+  DB  68,15,16,136,64,1,0,0               ; movups        0x140(%rax),%xmm9
+  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
+  DB  69,15,40,193                        ; movaps        %xmm9,%xmm8
+  DB  68,15,89,192                        ; mulps         %xmm0,%xmm8
+  DB  65,15,88,224                        ; addps         %xmm8,%xmm4
+  DB  69,15,40,193                        ; movaps        %xmm9,%xmm8
+  DB  68,15,89,193                        ; mulps         %xmm1,%xmm8
+  DB  65,15,88,232                        ; addps         %xmm8,%xmm5
+  DB  69,15,40,193                        ; movaps        %xmm9,%xmm8
+  DB  68,15,89,194                        ; mulps         %xmm2,%xmm8
+  DB  65,15,88,240                        ; addps         %xmm8,%xmm6
+  DB  68,15,89,203                        ; mulps         %xmm3,%xmm9
+  DB  65,15,88,249                        ; addps         %xmm9,%xmm7
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bilinear_nx_sse2
+_sk_bilinear_nx_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,16,0                             ; movups        (%rax),%xmm0
+  DB  68,15,16,128,128,0,0,0              ; movups        0x80(%rax),%xmm8
+  DB  15,88,5,153,26,1,0                  ; addps         0x11a99(%rip),%xmm0        # 35ad0 <_sk_srcover_bgra_8888_sse2_lowp+0x12b8>
+  DB  68,15,40,13,113,20,1,0              ; movaps        0x11471(%rip),%xmm9        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,92,200                        ; subps         %xmm8,%xmm9
+  DB  68,15,17,136,0,1,0,0                ; movups        %xmm9,0x100(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bilinear_px_sse2
+_sk_bilinear_px_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,16,0                             ; movups        (%rax),%xmm0
+  DB  68,15,16,128,128,0,0,0              ; movups        0x80(%rax),%xmm8
+  DB  15,88,5,61,20,1,0                   ; addps         0x1143d(%rip),%xmm0        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  68,15,17,128,0,1,0,0                ; movups        %xmm8,0x100(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bilinear_ny_sse2
+_sk_bilinear_ny_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,16,72,64                         ; movups        0x40(%rax),%xmm1
+  DB  68,15,16,128,192,0,0,0              ; movups        0xc0(%rax),%xmm8
+  DB  15,88,13,76,26,1,0                  ; addps         0x11a4c(%rip),%xmm1        # 35ad0 <_sk_srcover_bgra_8888_sse2_lowp+0x12b8>
+  DB  68,15,40,13,36,20,1,0               ; movaps        0x11424(%rip),%xmm9        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,92,200                        ; subps         %xmm8,%xmm9
+  DB  68,15,17,136,64,1,0,0               ; movups        %xmm9,0x140(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bilinear_py_sse2
+_sk_bilinear_py_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,16,72,64                         ; movups        0x40(%rax),%xmm1
+  DB  68,15,16,128,192,0,0,0              ; movups        0xc0(%rax),%xmm8
+  DB  15,88,13,239,19,1,0                 ; addps         0x113ef(%rip),%xmm1        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  68,15,17,128,64,1,0,0               ; movups        %xmm8,0x140(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bicubic_n3x_sse2
+_sk_bicubic_n3x_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,16,0                             ; movups        (%rax),%xmm0
+  DB  68,15,16,128,128,0,0,0              ; movups        0x80(%rax),%xmm8
+  DB  15,88,5,15,26,1,0                   ; addps         0x11a0f(%rip),%xmm0        # 35ae0 <_sk_srcover_bgra_8888_sse2_lowp+0x12c8>
+  DB  68,15,40,13,215,19,1,0              ; movaps        0x113d7(%rip),%xmm9        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,92,200                        ; subps         %xmm8,%xmm9
+  DB  69,15,40,193                        ; movaps        %xmm9,%xmm8
+  DB  69,15,89,192                        ; mulps         %xmm8,%xmm8
+  DB  68,15,89,13,3,26,1,0                ; mulps         0x11a03(%rip),%xmm9        # 35af0 <_sk_srcover_bgra_8888_sse2_lowp+0x12d8>
+  DB  68,15,88,13,187,21,1,0              ; addps         0x115bb(%rip),%xmm9        # 356b0 <_sk_srcover_bgra_8888_sse2_lowp+0xe98>
+  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
+  DB  68,15,17,136,0,1,0,0                ; movups        %xmm9,0x100(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bicubic_n1x_sse2
+_sk_bicubic_n1x_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,16,0                             ; movups        (%rax),%xmm0
+  DB  68,15,16,128,128,0,0,0              ; movups        0x80(%rax),%xmm8
+  DB  15,88,5,183,25,1,0                  ; addps         0x119b7(%rip),%xmm0        # 35ad0 <_sk_srcover_bgra_8888_sse2_lowp+0x12b8>
+  DB  68,15,40,13,143,19,1,0              ; movaps        0x1138f(%rip),%xmm9        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,92,200                        ; subps         %xmm8,%xmm9
+  DB  68,15,40,5,211,25,1,0               ; movaps        0x119d3(%rip),%xmm8        # 35b00 <_sk_srcover_bgra_8888_sse2_lowp+0x12e8>
+  DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
+  DB  68,15,88,5,215,25,1,0               ; addps         0x119d7(%rip),%xmm8        # 35b10 <_sk_srcover_bgra_8888_sse2_lowp+0x12f8>
+  DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
+  DB  68,15,88,5,91,19,1,0                ; addps         0x1135b(%rip),%xmm8        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
+  DB  68,15,88,5,207,25,1,0               ; addps         0x119cf(%rip),%xmm8        # 35b20 <_sk_srcover_bgra_8888_sse2_lowp+0x1308>
+  DB  68,15,17,128,0,1,0,0                ; movups        %xmm8,0x100(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bicubic_p1x_sse2
+_sk_bicubic_p1x_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  68,15,40,5,57,19,1,0                ; movaps        0x11339(%rip),%xmm8        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  15,16,0                             ; movups        (%rax),%xmm0
+  DB  68,15,16,136,128,0,0,0              ; movups        0x80(%rax),%xmm9
+  DB  65,15,88,192                        ; addps         %xmm8,%xmm0
+  DB  68,15,40,21,130,25,1,0              ; movaps        0x11982(%rip),%xmm10        # 35b00 <_sk_srcover_bgra_8888_sse2_lowp+0x12e8>
+  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
+  DB  68,15,88,21,134,25,1,0              ; addps         0x11986(%rip),%xmm10        # 35b10 <_sk_srcover_bgra_8888_sse2_lowp+0x12f8>
+  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
+  DB  69,15,88,208                        ; addps         %xmm8,%xmm10
+  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
+  DB  68,15,88,21,130,25,1,0              ; addps         0x11982(%rip),%xmm10        # 35b20 <_sk_srcover_bgra_8888_sse2_lowp+0x1308>
+  DB  68,15,17,144,0,1,0,0                ; movups        %xmm10,0x100(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bicubic_p3x_sse2
+_sk_bicubic_p3x_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,16,0                             ; movups        (%rax),%xmm0
+  DB  68,15,16,128,128,0,0,0              ; movups        0x80(%rax),%xmm8
+  DB  15,88,5,82,25,1,0                   ; addps         0x11952(%rip),%xmm0        # 35b10 <_sk_srcover_bgra_8888_sse2_lowp+0x12f8>
+  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
+  DB  69,15,89,201                        ; mulps         %xmm9,%xmm9
+  DB  68,15,89,5,34,25,1,0                ; mulps         0x11922(%rip),%xmm8        # 35af0 <_sk_srcover_bgra_8888_sse2_lowp+0x12d8>
+  DB  68,15,88,5,218,20,1,0               ; addps         0x114da(%rip),%xmm8        # 356b0 <_sk_srcover_bgra_8888_sse2_lowp+0xe98>
+  DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
+  DB  68,15,17,128,0,1,0,0                ; movups        %xmm8,0x100(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bicubic_n3y_sse2
+_sk_bicubic_n3y_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,16,72,64                         ; movups        0x40(%rax),%xmm1
+  DB  68,15,16,128,192,0,0,0              ; movups        0xc0(%rax),%xmm8
+  DB  15,88,13,229,24,1,0                 ; addps         0x118e5(%rip),%xmm1        # 35ae0 <_sk_srcover_bgra_8888_sse2_lowp+0x12c8>
+  DB  68,15,40,13,173,18,1,0              ; movaps        0x112ad(%rip),%xmm9        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,92,200                        ; subps         %xmm8,%xmm9
+  DB  69,15,40,193                        ; movaps        %xmm9,%xmm8
+  DB  69,15,89,192                        ; mulps         %xmm8,%xmm8
+  DB  68,15,89,13,217,24,1,0              ; mulps         0x118d9(%rip),%xmm9        # 35af0 <_sk_srcover_bgra_8888_sse2_lowp+0x12d8>
+  DB  68,15,88,13,145,20,1,0              ; addps         0x11491(%rip),%xmm9        # 356b0 <_sk_srcover_bgra_8888_sse2_lowp+0xe98>
+  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
+  DB  68,15,17,136,64,1,0,0               ; movups        %xmm9,0x140(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bicubic_n1y_sse2
+_sk_bicubic_n1y_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,16,72,64                         ; movups        0x40(%rax),%xmm1
+  DB  68,15,16,128,192,0,0,0              ; movups        0xc0(%rax),%xmm8
+  DB  15,88,13,140,24,1,0                 ; addps         0x1188c(%rip),%xmm1        # 35ad0 <_sk_srcover_bgra_8888_sse2_lowp+0x12b8>
+  DB  68,15,40,13,100,18,1,0              ; movaps        0x11264(%rip),%xmm9        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,92,200                        ; subps         %xmm8,%xmm9
+  DB  68,15,40,5,168,24,1,0               ; movaps        0x118a8(%rip),%xmm8        # 35b00 <_sk_srcover_bgra_8888_sse2_lowp+0x12e8>
+  DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
+  DB  68,15,88,5,172,24,1,0               ; addps         0x118ac(%rip),%xmm8        # 35b10 <_sk_srcover_bgra_8888_sse2_lowp+0x12f8>
+  DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
+  DB  68,15,88,5,48,18,1,0                ; addps         0x11230(%rip),%xmm8        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
+  DB  68,15,88,5,164,24,1,0               ; addps         0x118a4(%rip),%xmm8        # 35b20 <_sk_srcover_bgra_8888_sse2_lowp+0x1308>
+  DB  68,15,17,128,64,1,0,0               ; movups        %xmm8,0x140(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bicubic_p1y_sse2
+_sk_bicubic_p1y_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  68,15,40,5,14,18,1,0                ; movaps        0x1120e(%rip),%xmm8        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  15,16,72,64                         ; movups        0x40(%rax),%xmm1
+  DB  68,15,16,136,192,0,0,0              ; movups        0xc0(%rax),%xmm9
+  DB  65,15,88,200                        ; addps         %xmm8,%xmm1
+  DB  68,15,40,21,86,24,1,0               ; movaps        0x11856(%rip),%xmm10        # 35b00 <_sk_srcover_bgra_8888_sse2_lowp+0x12e8>
+  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
+  DB  68,15,88,21,90,24,1,0               ; addps         0x1185a(%rip),%xmm10        # 35b10 <_sk_srcover_bgra_8888_sse2_lowp+0x12f8>
+  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
+  DB  69,15,88,208                        ; addps         %xmm8,%xmm10
+  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
+  DB  68,15,88,21,86,24,1,0               ; addps         0x11856(%rip),%xmm10        # 35b20 <_sk_srcover_bgra_8888_sse2_lowp+0x1308>
+  DB  68,15,17,144,64,1,0,0               ; movups        %xmm10,0x140(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bicubic_p3y_sse2
+_sk_bicubic_p3y_sse2 LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,16,72,64                         ; movups        0x40(%rax),%xmm1
+  DB  68,15,16,128,192,0,0,0              ; movups        0xc0(%rax),%xmm8
+  DB  15,88,13,37,24,1,0                  ; addps         0x11825(%rip),%xmm1        # 35b10 <_sk_srcover_bgra_8888_sse2_lowp+0x12f8>
+  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
+  DB  69,15,89,201                        ; mulps         %xmm9,%xmm9
+  DB  68,15,89,5,245,23,1,0               ; mulps         0x117f5(%rip),%xmm8        # 35af0 <_sk_srcover_bgra_8888_sse2_lowp+0x12d8>
+  DB  68,15,88,5,173,19,1,0               ; addps         0x113ad(%rip),%xmm8        # 356b0 <_sk_srcover_bgra_8888_sse2_lowp+0xe98>
+  DB  69,15,89,193                        ; mulps         %xmm9,%xmm8
+  DB  68,15,17,128,64,1,0,0               ; movups        %xmm8,0x140(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_callback_sse2
+_sk_callback_sse2 LABEL PROC
+  DB  85                                  ; push          %rbp
+  DB  72,137,229                          ; mov           %rsp,%rbp
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  83                                  ; push          %rbx
+  DB  72,131,236,40                       ; sub           $0x28,%rsp
+  DB  68,15,40,197                        ; movaps        %xmm5,%xmm8
+  DB  68,15,40,204                        ; movaps        %xmm4,%xmm9
+  DB  73,137,206                          ; mov           %rcx,%r14
+  DB  73,137,215                          ; mov           %rdx,%r15
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  72,137,195                          ; mov           %rax,%rbx
+  DB  15,40,224                           ; movaps        %xmm0,%xmm4
+  DB  15,20,225                           ; unpcklps      %xmm1,%xmm4
+  DB  15,40,234                           ; movaps        %xmm2,%xmm5
+  DB  15,20,235                           ; unpcklps      %xmm3,%xmm5
+  DB  15,21,193                           ; unpckhps      %xmm1,%xmm0
+  DB  15,21,211                           ; unpckhps      %xmm3,%xmm2
+  DB  15,40,204                           ; movaps        %xmm4,%xmm1
+  DB  102,15,20,205                       ; unpcklpd      %xmm5,%xmm1
+  DB  15,18,236                           ; movhlps       %xmm4,%xmm5
+  DB  15,40,216                           ; movaps        %xmm0,%xmm3
+  DB  102,15,20,218                       ; unpcklpd      %xmm2,%xmm3
+  DB  102,15,17,75,8                      ; movupd        %xmm1,0x8(%rbx)
+  DB  15,18,208                           ; movhlps       %xmm0,%xmm2
+  DB  15,17,107,24                        ; movups        %xmm5,0x18(%rbx)
+  DB  102,15,17,91,40                     ; movupd        %xmm3,0x28(%rbx)
+  DB  15,17,83,56                         ; movups        %xmm2,0x38(%rbx)
+  DB  72,133,255                          ; test          %rdi,%rdi
+  DB  186,4,0,0,0                         ; mov           $0x4,%edx
+  DB  15,69,215                           ; cmovne        %edi,%edx
+  DB  72,137,217                          ; mov           %rbx,%rcx
+  DB  255,19                              ; callq         *(%rbx)
+  DB  72,139,131,8,1,0,0                  ; mov           0x108(%rbx),%rax
+  DB  15,16,32                            ; movups        (%rax),%xmm4
+  DB  15,16,64,16                         ; movups        0x10(%rax),%xmm0
+  DB  15,16,88,32                         ; movups        0x20(%rax),%xmm3
+  DB  15,16,80,48                         ; movups        0x30(%rax),%xmm2
+  DB  15,40,236                           ; movaps        %xmm4,%xmm5
+  DB  15,20,232                           ; unpcklps      %xmm0,%xmm5
+  DB  15,40,203                           ; movaps        %xmm3,%xmm1
+  DB  15,20,202                           ; unpcklps      %xmm2,%xmm1
+  DB  15,21,224                           ; unpckhps      %xmm0,%xmm4
+  DB  15,21,218                           ; unpckhps      %xmm2,%xmm3
+  DB  15,40,197                           ; movaps        %xmm5,%xmm0
+  DB  102,15,20,193                       ; unpcklpd      %xmm1,%xmm0
+  DB  15,18,205                           ; movhlps       %xmm5,%xmm1
+  DB  15,40,212                           ; movaps        %xmm4,%xmm2
+  DB  102,15,20,211                       ; unpcklpd      %xmm3,%xmm2
+  DB  15,18,220                           ; movhlps       %xmm4,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,137,250                          ; mov           %r15,%rdx
+  DB  76,137,241                          ; mov           %r14,%rcx
+  DB  65,15,40,225                        ; movaps        %xmm9,%xmm4
+  DB  65,15,40,232                        ; movaps        %xmm8,%xmm5
+  DB  72,131,196,40                       ; add           $0x28,%rsp
+  DB  91                                  ; pop           %rbx
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  93                                  ; pop           %rbp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_clut_3D_sse2
+_sk_clut_3D_sse2 LABEL PROC
+  DB  83                                  ; push          %rbx
+  DB  72,129,236,192,0,0,0                ; sub           $0xc0,%rsp
+  DB  15,41,188,36,176,0,0,0              ; movaps        %xmm7,0xb0(%rsp)
+  DB  15,41,180,36,160,0,0,0              ; movaps        %xmm6,0xa0(%rsp)
+  DB  15,41,172,36,144,0,0,0              ; movaps        %xmm5,0x90(%rsp)
+  DB  15,41,164,36,128,0,0,0              ; movaps        %xmm4,0x80(%rsp)
+  DB  15,41,92,36,112                     ; movaps        %xmm3,0x70(%rsp)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  68,139,64,16                        ; mov           0x10(%rax),%r8d
+  DB  69,141,72,255                       ; lea           -0x1(%r8),%r9d
+  DB  102,65,15,110,217                   ; movd          %r9d,%xmm3
+  DB  102,15,112,219,0                    ; pshufd        $0x0,%xmm3,%xmm3
+  DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
+  DB  15,89,218                           ; mulps         %xmm2,%xmm3
+  DB  243,68,15,91,235                    ; cvttps2dq     %xmm3,%xmm13
+  DB  68,15,40,219                        ; movaps        %xmm3,%xmm11
+  DB  68,15,41,92,36,96                   ; movaps        %xmm11,0x60(%rsp)
+  DB  102,65,15,110,208                   ; movd          %r8d,%xmm2
+  DB  102,68,15,112,250,0                 ; pshufd        $0x0,%xmm2,%xmm15
+  DB  68,139,64,12                        ; mov           0xc(%rax),%r8d
+  DB  69,141,72,255                       ; lea           -0x1(%r8),%r9d
+  DB  102,65,15,110,217                   ; movd          %r9d,%xmm3
+  DB  102,15,112,219,0                    ; pshufd        $0x0,%xmm3,%xmm3
+  DB  15,91,251                           ; cvtdq2ps      %xmm3,%xmm7
+  DB  15,89,249                           ; mulps         %xmm1,%xmm7
+  DB  243,15,91,239                       ; cvttps2dq     %xmm7,%xmm5
+  DB  102,15,127,44,36                    ; movdqa        %xmm5,(%rsp)
+  DB  15,41,124,36,16                     ; movaps        %xmm7,0x10(%rsp)
+  DB  102,15,112,205,245                  ; pshufd        $0xf5,%xmm5,%xmm1
+  DB  102,65,15,244,207                   ; pmuludq       %xmm15,%xmm1
+  DB  102,65,15,111,223                   ; movdqa        %xmm15,%xmm3
+  DB  102,15,244,221                      ; pmuludq       %xmm5,%xmm3
+  DB  102,68,15,112,211,232               ; pshufd        $0xe8,%xmm3,%xmm10
+  DB  102,15,112,201,232                  ; pshufd        $0xe8,%xmm1,%xmm1
+  DB  102,68,15,98,209                    ; punpckldq     %xmm1,%xmm10
+  DB  102,65,15,110,200                   ; movd          %r8d,%xmm1
+  DB  102,15,244,202                      ; pmuludq       %xmm2,%xmm1
+  DB  102,15,112,209,0                    ; pshufd        $0x0,%xmm1,%xmm2
+  DB  68,139,64,8                         ; mov           0x8(%rax),%r8d
+  DB  65,255,200                          ; dec           %r8d
+  DB  102,65,15,110,200                   ; movd          %r8d,%xmm1
+  DB  102,15,112,201,0                    ; pshufd        $0x0,%xmm1,%xmm1
+  DB  68,15,91,241                        ; cvtdq2ps      %xmm1,%xmm14
+  DB  68,15,89,240                        ; mulps         %xmm0,%xmm14
+  DB  243,69,15,91,206                    ; cvttps2dq     %xmm14,%xmm9
+  DB  102,65,15,112,193,245               ; pshufd        $0xf5,%xmm9,%xmm0
+  DB  102,15,244,194                      ; pmuludq       %xmm2,%xmm0
+  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
+  DB  102,65,15,244,201                   ; pmuludq       %xmm9,%xmm1
+  DB  102,15,112,217,232                  ; pshufd        $0xe8,%xmm1,%xmm3
+  DB  102,15,112,192,232                  ; pshufd        $0xe8,%xmm0,%xmm0
+  DB  102,15,98,216                       ; punpckldq     %xmm0,%xmm3
+  DB  102,15,127,92,36,48                 ; movdqa        %xmm3,0x30(%rsp)
+  DB  102,65,15,111,202                   ; movdqa        %xmm10,%xmm1
+  DB  102,65,15,254,205                   ; paddd         %xmm13,%xmm1
+  DB  102,68,15,127,108,36,80             ; movdqa        %xmm13,0x50(%rsp)
+  DB  102,15,254,217                      ; paddd         %xmm1,%xmm3
+  DB  102,68,15,111,5,82,22,1,0           ; movdqa        0x11652(%rip),%xmm8        # 35b40 <_sk_srcover_bgra_8888_sse2_lowp+0x1328>
+  DB  102,15,112,195,245                  ; pshufd        $0xf5,%xmm3,%xmm0
+  DB  102,65,15,244,216                   ; pmuludq       %xmm8,%xmm3
+  DB  102,65,15,244,192                   ; pmuludq       %xmm8,%xmm0
+  DB  102,15,112,224,232                  ; pshufd        $0xe8,%xmm0,%xmm4
+  DB  102,15,112,195,232                  ; pshufd        $0xe8,%xmm3,%xmm0
+  DB  102,15,98,196                       ; punpckldq     %xmm4,%xmm0
+  DB  102,65,15,126,216                   ; movd          %xmm3,%r8d
+  DB  102,15,112,216,229                  ; pshufd        $0xe5,%xmm0,%xmm3
+  DB  102,65,15,126,217                   ; movd          %xmm3,%r9d
+  DB  102,15,112,216,78                   ; pshufd        $0x4e,%xmm0,%xmm3
+  DB  102,65,15,126,218                   ; movd          %xmm3,%r10d
+  DB  102,15,112,216,231                  ; pshufd        $0xe7,%xmm0,%xmm3
+  DB  102,65,15,126,219                   ; movd          %xmm3,%r11d
+  DB  72,139,24                           ; mov           (%rax),%rbx
+  DB  243,66,15,16,28,155                 ; movss         (%rbx,%r11,4),%xmm3
+  DB  243,66,15,16,36,147                 ; movss         (%rbx,%r10,4),%xmm4
+  DB  15,20,227                           ; unpcklps      %xmm3,%xmm4
+  DB  243,66,15,16,28,139                 ; movss         (%rbx,%r9,4),%xmm3
+  DB  243,66,15,16,52,131                 ; movss         (%rbx,%r8,4),%xmm6
+  DB  15,20,243                           ; unpcklps      %xmm3,%xmm6
+  DB  102,15,20,244                       ; unpcklpd      %xmm4,%xmm6
+  DB  102,15,118,228                      ; pcmpeqd       %xmm4,%xmm4
+  DB  102,15,111,216                      ; movdqa        %xmm0,%xmm3
+  DB  102,15,250,220                      ; psubd         %xmm4,%xmm3
+  DB  102,15,112,227,78                   ; pshufd        $0x4e,%xmm3,%xmm4
+  DB  102,73,15,126,224                   ; movq          %xmm4,%r8
+  DB  102,73,15,126,217                   ; movq          %xmm3,%r9
+  DB  69,137,202                          ; mov           %r9d,%r10d
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  243,66,15,16,36,139                 ; movss         (%rbx,%r9,4),%xmm4
+  DB  243,66,15,16,28,147                 ; movss         (%rbx,%r10,4),%xmm3
+  DB  15,20,220                           ; unpcklps      %xmm4,%xmm3
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,36,131                 ; movss         (%rbx,%r8,4),%xmm4
+  DB  243,66,15,16,44,139                 ; movss         (%rbx,%r9,4),%xmm5
+  DB  15,20,236                           ; unpcklps      %xmm4,%xmm5
+  DB  102,15,20,221                       ; unpcklpd      %xmm5,%xmm3
+  DB  102,68,15,111,37,57,15,1,0          ; movdqa        0x10f39(%rip),%xmm12        # 354e0 <_sk_srcover_bgra_8888_sse2_lowp+0xcc8>
+  DB  102,65,15,254,196                   ; paddd         %xmm12,%xmm0
+  DB  102,15,112,224,78                   ; pshufd        $0x4e,%xmm0,%xmm4
+  DB  102,73,15,126,224                   ; movq          %xmm4,%r8
+  DB  102,73,15,126,193                   ; movq          %xmm0,%r9
+  DB  69,137,202                          ; mov           %r9d,%r10d
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  243,66,15,16,4,139                  ; movss         (%rbx,%r9,4),%xmm0
+  DB  243,66,15,16,44,147                 ; movss         (%rbx,%r10,4),%xmm5
+  DB  15,20,232                           ; unpcklps      %xmm0,%xmm5
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,4,131                  ; movss         (%rbx,%r8,4),%xmm0
+  DB  243,66,15,16,36,139                 ; movss         (%rbx,%r9,4),%xmm4
+  DB  15,20,224                           ; unpcklps      %xmm0,%xmm4
+  DB  102,15,20,236                       ; unpcklpd      %xmm4,%xmm5
+  DB  15,40,37,62,21,1,0                  ; movaps        0x1153e(%rip),%xmm4        # 35b30 <_sk_srcover_bgra_8888_sse2_lowp+0x1318>
+  DB  68,15,88,220                        ; addps         %xmm4,%xmm11
+  DB  68,15,41,92,36,64                   ; movaps        %xmm11,0x40(%rsp)
+  DB  68,15,40,223                        ; movaps        %xmm7,%xmm11
+  DB  68,15,88,220                        ; addps         %xmm4,%xmm11
+  DB  65,15,88,230                        ; addps         %xmm14,%xmm4
+  DB  243,15,91,228                       ; cvttps2dq     %xmm4,%xmm4
+  DB  102,15,112,252,245                  ; pshufd        $0xf5,%xmm4,%xmm7
+  DB  102,15,244,250                      ; pmuludq       %xmm2,%xmm7
+  DB  102,15,244,212                      ; pmuludq       %xmm4,%xmm2
+  DB  102,15,112,194,232                  ; pshufd        $0xe8,%xmm2,%xmm0
+  DB  102,15,112,215,232                  ; pshufd        $0xe8,%xmm7,%xmm2
+  DB  102,15,98,194                       ; punpckldq     %xmm2,%xmm0
+  DB  102,15,127,68,36,32                 ; movdqa        %xmm0,0x20(%rsp)
+  DB  102,15,254,200                      ; paddd         %xmm0,%xmm1
+  DB  102,15,112,209,245                  ; pshufd        $0xf5,%xmm1,%xmm2
+  DB  102,65,15,244,200                   ; pmuludq       %xmm8,%xmm1
+  DB  102,65,15,244,208                   ; pmuludq       %xmm8,%xmm2
+  DB  102,15,112,226,232                  ; pshufd        $0xe8,%xmm2,%xmm4
+  DB  102,15,112,209,232                  ; pshufd        $0xe8,%xmm1,%xmm2
+  DB  102,15,98,212                       ; punpckldq     %xmm4,%xmm2
+  DB  102,65,15,126,200                   ; movd          %xmm1,%r8d
+  DB  102,15,112,202,229                  ; pshufd        $0xe5,%xmm2,%xmm1
+  DB  102,65,15,126,201                   ; movd          %xmm1,%r9d
+  DB  102,15,112,202,78                   ; pshufd        $0x4e,%xmm2,%xmm1
+  DB  102,65,15,126,202                   ; movd          %xmm1,%r10d
+  DB  102,15,112,202,231                  ; pshufd        $0xe7,%xmm2,%xmm1
+  DB  102,15,126,200                      ; movd          %xmm1,%eax
+  DB  243,15,16,12,131                    ; movss         (%rbx,%rax,4),%xmm1
+  DB  243,66,15,16,36,147                 ; movss         (%rbx,%r10,4),%xmm4
+  DB  15,20,225                           ; unpcklps      %xmm1,%xmm4
+  DB  243,66,15,16,12,139                 ; movss         (%rbx,%r9,4),%xmm1
+  DB  243,66,15,16,60,131                 ; movss         (%rbx,%r8,4),%xmm7
+  DB  15,20,249                           ; unpcklps      %xmm1,%xmm7
+  DB  102,15,20,252                       ; unpcklpd      %xmm4,%xmm7
+  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
+  DB  102,15,250,13,179,20,1,0            ; psubd         0x114b3(%rip),%xmm1        # 35b50 <_sk_srcover_bgra_8888_sse2_lowp+0x1338>
+  DB  102,15,112,225,78                   ; pshufd        $0x4e,%xmm1,%xmm4
+  DB  102,73,15,126,224                   ; movq          %xmm4,%r8
+  DB  102,72,15,126,200                   ; movq          %xmm1,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  243,15,16,12,131                    ; movss         (%rbx,%rax,4),%xmm1
+  DB  243,66,15,16,36,139                 ; movss         (%rbx,%r9,4),%xmm4
+  DB  15,20,225                           ; unpcklps      %xmm1,%xmm4
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,12,131                 ; movss         (%rbx,%r8,4),%xmm1
+  DB  243,15,16,4,131                     ; movss         (%rbx,%rax,4),%xmm0
+  DB  15,20,193                           ; unpcklps      %xmm1,%xmm0
+  DB  102,15,20,224                       ; unpcklpd      %xmm0,%xmm4
+  DB  102,65,15,254,212                   ; paddd         %xmm12,%xmm2
+  DB  102,15,112,194,78                   ; pshufd        $0x4e,%xmm2,%xmm0
+  DB  102,73,15,126,192                   ; movq          %xmm0,%r8
+  DB  102,72,15,126,208                   ; movq          %xmm2,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  243,15,16,4,131                     ; movss         (%rbx,%rax,4),%xmm0
+  DB  243,66,15,16,20,139                 ; movss         (%rbx,%r9,4),%xmm2
+  DB  15,20,208                           ; unpcklps      %xmm0,%xmm2
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,4,131                  ; movss         (%rbx,%r8,4),%xmm0
+  DB  243,15,16,12,131                    ; movss         (%rbx,%rax,4),%xmm1
+  DB  15,20,200                           ; unpcklps      %xmm0,%xmm1
+  DB  102,15,20,209                       ; unpcklpd      %xmm1,%xmm2
+  DB  65,15,91,193                        ; cvtdq2ps      %xmm9,%xmm0
+  DB  68,15,92,240                        ; subps         %xmm0,%xmm14
+  DB  15,92,254                           ; subps         %xmm6,%xmm7
+  DB  65,15,89,254                        ; mulps         %xmm14,%xmm7
+  DB  15,88,254                           ; addps         %xmm6,%xmm7
+  DB  15,92,227                           ; subps         %xmm3,%xmm4
+  DB  65,15,89,230                        ; mulps         %xmm14,%xmm4
+  DB  15,88,227                           ; addps         %xmm3,%xmm4
+  DB  15,92,213                           ; subps         %xmm5,%xmm2
+  DB  65,15,89,214                        ; mulps         %xmm14,%xmm2
+  DB  15,88,213                           ; addps         %xmm5,%xmm2
+  DB  243,65,15,91,195                    ; cvttps2dq     %xmm11,%xmm0
+  DB  102,15,112,200,245                  ; pshufd        $0xf5,%xmm0,%xmm1
+  DB  102,65,15,244,207                   ; pmuludq       %xmm15,%xmm1
+  DB  102,68,15,244,248                   ; pmuludq       %xmm0,%xmm15
+  DB  102,69,15,112,231,232               ; pshufd        $0xe8,%xmm15,%xmm12
+  DB  102,15,112,193,232                  ; pshufd        $0xe8,%xmm1,%xmm0
+  DB  102,68,15,98,224                    ; punpckldq     %xmm0,%xmm12
+  DB  102,65,15,111,244                   ; movdqa        %xmm12,%xmm6
+  DB  102,65,15,254,245                   ; paddd         %xmm13,%xmm6
+  DB  102,15,111,206                      ; movdqa        %xmm6,%xmm1
+  DB  102,15,254,76,36,48                 ; paddd         0x30(%rsp),%xmm1
+  DB  102,15,112,193,245                  ; pshufd        $0xf5,%xmm1,%xmm0
+  DB  102,65,15,244,200                   ; pmuludq       %xmm8,%xmm1
+  DB  102,65,15,244,192                   ; pmuludq       %xmm8,%xmm0
+  DB  102,69,15,111,216                   ; movdqa        %xmm8,%xmm11
+  DB  102,15,112,216,232                  ; pshufd        $0xe8,%xmm0,%xmm3
+  DB  102,15,112,193,232                  ; pshufd        $0xe8,%xmm1,%xmm0
+  DB  102,15,98,195                       ; punpckldq     %xmm3,%xmm0
+  DB  102,65,15,126,200                   ; movd          %xmm1,%r8d
+  DB  102,15,112,200,229                  ; pshufd        $0xe5,%xmm0,%xmm1
+  DB  102,65,15,126,201                   ; movd          %xmm1,%r9d
+  DB  102,15,112,200,78                   ; pshufd        $0x4e,%xmm0,%xmm1
+  DB  102,65,15,126,202                   ; movd          %xmm1,%r10d
+  DB  102,15,112,200,231                  ; pshufd        $0xe7,%xmm0,%xmm1
+  DB  102,15,126,200                      ; movd          %xmm1,%eax
+  DB  243,15,16,12,131                    ; movss         (%rbx,%rax,4),%xmm1
+  DB  243,66,15,16,28,147                 ; movss         (%rbx,%r10,4),%xmm3
+  DB  15,20,217                           ; unpcklps      %xmm1,%xmm3
+  DB  243,66,15,16,12,139                 ; movss         (%rbx,%r9,4),%xmm1
+  DB  243,70,15,16,4,131                  ; movss         (%rbx,%r8,4),%xmm8
+  DB  68,15,20,193                        ; unpcklps      %xmm1,%xmm8
+  DB  102,68,15,20,195                    ; unpcklpd      %xmm3,%xmm8
+  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
+  DB  102,69,15,118,201                   ; pcmpeqd       %xmm9,%xmm9
+  DB  102,65,15,250,201                   ; psubd         %xmm9,%xmm1
+  DB  102,15,112,217,78                   ; pshufd        $0x4e,%xmm1,%xmm3
+  DB  102,73,15,126,216                   ; movq          %xmm3,%r8
+  DB  102,72,15,126,200                   ; movq          %xmm1,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  243,15,16,12,131                    ; movss         (%rbx,%rax,4),%xmm1
+  DB  243,66,15,16,28,139                 ; movss         (%rbx,%r9,4),%xmm3
+  DB  15,20,217                           ; unpcklps      %xmm1,%xmm3
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,12,131                 ; movss         (%rbx,%r8,4),%xmm1
+  DB  243,15,16,44,131                    ; movss         (%rbx,%rax,4),%xmm5
+  DB  15,20,233                           ; unpcklps      %xmm1,%xmm5
+  DB  102,15,20,221                       ; unpcklpd      %xmm5,%xmm3
+  DB  102,68,15,111,45,171,12,1,0         ; movdqa        0x10cab(%rip),%xmm13        # 354e0 <_sk_srcover_bgra_8888_sse2_lowp+0xcc8>
+  DB  102,65,15,254,197                   ; paddd         %xmm13,%xmm0
+  DB  102,15,112,200,78                   ; pshufd        $0x4e,%xmm0,%xmm1
+  DB  102,73,15,126,200                   ; movq          %xmm1,%r8
+  DB  102,72,15,126,192                   ; movq          %xmm0,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  243,15,16,4,131                     ; movss         (%rbx,%rax,4),%xmm0
+  DB  243,66,15,16,12,139                 ; movss         (%rbx,%r9,4),%xmm1
+  DB  15,20,200                           ; unpcklps      %xmm0,%xmm1
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,4,131                  ; movss         (%rbx,%r8,4),%xmm0
+  DB  243,15,16,44,131                    ; movss         (%rbx,%rax,4),%xmm5
+  DB  15,20,232                           ; unpcklps      %xmm0,%xmm5
+  DB  102,15,20,205                       ; unpcklpd      %xmm5,%xmm1
+  DB  102,15,254,116,36,32                ; paddd         0x20(%rsp),%xmm6
+  DB  102,15,112,198,245                  ; pshufd        $0xf5,%xmm6,%xmm0
+  DB  102,65,15,244,243                   ; pmuludq       %xmm11,%xmm6
+  DB  102,65,15,244,195                   ; pmuludq       %xmm11,%xmm0
+  DB  102,15,112,232,232                  ; pshufd        $0xe8,%xmm0,%xmm5
+  DB  102,15,112,198,232                  ; pshufd        $0xe8,%xmm6,%xmm0
+  DB  102,15,98,197                       ; punpckldq     %xmm5,%xmm0
+  DB  102,65,15,126,240                   ; movd          %xmm6,%r8d
+  DB  102,15,112,232,229                  ; pshufd        $0xe5,%xmm0,%xmm5
+  DB  102,65,15,126,233                   ; movd          %xmm5,%r9d
+  DB  102,15,112,232,78                   ; pshufd        $0x4e,%xmm0,%xmm5
+  DB  102,65,15,126,234                   ; movd          %xmm5,%r10d
+  DB  102,15,112,232,231                  ; pshufd        $0xe7,%xmm0,%xmm5
+  DB  102,15,126,232                      ; movd          %xmm5,%eax
+  DB  243,15,16,44,131                    ; movss         (%rbx,%rax,4),%xmm5
+  DB  243,66,15,16,52,147                 ; movss         (%rbx,%r10,4),%xmm6
+  DB  15,20,245                           ; unpcklps      %xmm5,%xmm6
+  DB  243,66,15,16,44,139                 ; movss         (%rbx,%r9,4),%xmm5
+  DB  243,70,15,16,60,131                 ; movss         (%rbx,%r8,4),%xmm15
+  DB  68,15,20,253                        ; unpcklps      %xmm5,%xmm15
+  DB  102,68,15,20,254                    ; unpcklpd      %xmm6,%xmm15
+  DB  102,15,111,232                      ; movdqa        %xmm0,%xmm5
+  DB  102,65,15,250,233                   ; psubd         %xmm9,%xmm5
+  DB  102,15,112,245,78                   ; pshufd        $0x4e,%xmm5,%xmm6
+  DB  102,73,15,126,240                   ; movq          %xmm6,%r8
+  DB  102,72,15,126,232                   ; movq          %xmm5,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  243,15,16,44,131                    ; movss         (%rbx,%rax,4),%xmm5
+  DB  243,70,15,16,28,139                 ; movss         (%rbx,%r9,4),%xmm11
+  DB  68,15,20,221                        ; unpcklps      %xmm5,%xmm11
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,44,131                 ; movss         (%rbx,%r8,4),%xmm5
+  DB  243,15,16,52,131                    ; movss         (%rbx,%rax,4),%xmm6
+  DB  15,20,245                           ; unpcklps      %xmm5,%xmm6
+  DB  102,68,15,20,222                    ; unpcklpd      %xmm6,%xmm11
+  DB  102,65,15,254,197                   ; paddd         %xmm13,%xmm0
+  DB  102,15,112,232,78                   ; pshufd        $0x4e,%xmm0,%xmm5
+  DB  102,73,15,126,232                   ; movq          %xmm5,%r8
+  DB  102,72,15,126,192                   ; movq          %xmm0,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  243,15,16,4,131                     ; movss         (%rbx,%rax,4),%xmm0
+  DB  243,70,15,16,12,139                 ; movss         (%rbx,%r9,4),%xmm9
+  DB  68,15,20,200                        ; unpcklps      %xmm0,%xmm9
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,4,131                  ; movss         (%rbx,%r8,4),%xmm0
+  DB  243,15,16,44,131                    ; movss         (%rbx,%rax,4),%xmm5
+  DB  15,20,232                           ; unpcklps      %xmm0,%xmm5
+  DB  102,68,15,20,205                    ; unpcklpd      %xmm5,%xmm9
+  DB  69,15,92,248                        ; subps         %xmm8,%xmm15
+  DB  69,15,89,254                        ; mulps         %xmm14,%xmm15
+  DB  69,15,88,248                        ; addps         %xmm8,%xmm15
+  DB  68,15,92,219                        ; subps         %xmm3,%xmm11
+  DB  69,15,89,222                        ; mulps         %xmm14,%xmm11
+  DB  68,15,88,219                        ; addps         %xmm3,%xmm11
+  DB  68,15,92,201                        ; subps         %xmm1,%xmm9
+  DB  69,15,89,206                        ; mulps         %xmm14,%xmm9
+  DB  68,15,88,201                        ; addps         %xmm1,%xmm9
+  DB  15,91,4,36                          ; cvtdq2ps      (%rsp),%xmm0
+  DB  15,40,76,36,16                      ; movaps        0x10(%rsp),%xmm1
+  DB  15,92,200                           ; subps         %xmm0,%xmm1
+  DB  15,41,76,36,16                      ; movaps        %xmm1,0x10(%rsp)
+  DB  68,15,92,255                        ; subps         %xmm7,%xmm15
+  DB  68,15,89,249                        ; mulps         %xmm1,%xmm15
+  DB  68,15,88,255                        ; addps         %xmm7,%xmm15
+  DB  68,15,92,220                        ; subps         %xmm4,%xmm11
+  DB  68,15,89,217                        ; mulps         %xmm1,%xmm11
+  DB  68,15,88,220                        ; addps         %xmm4,%xmm11
+  DB  68,15,92,202                        ; subps         %xmm2,%xmm9
+  DB  68,15,89,201                        ; mulps         %xmm1,%xmm9
+  DB  68,15,88,202                        ; addps         %xmm2,%xmm9
+  DB  243,15,91,68,36,64                  ; cvttps2dq     0x40(%rsp),%xmm0
+  DB  102,15,127,4,36                     ; movdqa        %xmm0,(%rsp)
+  DB  102,68,15,254,208                   ; paddd         %xmm0,%xmm10
+  DB  102,15,111,116,36,48                ; movdqa        0x30(%rsp),%xmm6
+  DB  102,15,111,206                      ; movdqa        %xmm6,%xmm1
+  DB  102,65,15,254,202                   ; paddd         %xmm10,%xmm1
+  DB  102,15,112,209,245                  ; pshufd        $0xf5,%xmm1,%xmm2
+  DB  102,15,111,29,80,17,1,0             ; movdqa        0x11150(%rip),%xmm3        # 35b40 <_sk_srcover_bgra_8888_sse2_lowp+0x1328>
+  DB  102,15,244,203                      ; pmuludq       %xmm3,%xmm1
+  DB  102,15,244,211                      ; pmuludq       %xmm3,%xmm2
+  DB  102,15,111,251                      ; movdqa        %xmm3,%xmm7
+  DB  102,15,112,210,232                  ; pshufd        $0xe8,%xmm2,%xmm2
+  DB  102,15,112,217,232                  ; pshufd        $0xe8,%xmm1,%xmm3
+  DB  102,15,98,218                       ; punpckldq     %xmm2,%xmm3
+  DB  102,65,15,126,200                   ; movd          %xmm1,%r8d
+  DB  102,15,112,203,229                  ; pshufd        $0xe5,%xmm3,%xmm1
+  DB  102,65,15,126,201                   ; movd          %xmm1,%r9d
+  DB  102,15,112,203,78                   ; pshufd        $0x4e,%xmm3,%xmm1
+  DB  102,65,15,126,202                   ; movd          %xmm1,%r10d
+  DB  102,15,112,203,231                  ; pshufd        $0xe7,%xmm3,%xmm1
+  DB  102,15,126,200                      ; movd          %xmm1,%eax
+  DB  243,15,16,12,131                    ; movss         (%rbx,%rax,4),%xmm1
+  DB  243,66,15,16,20,147                 ; movss         (%rbx,%r10,4),%xmm2
+  DB  15,20,209                           ; unpcklps      %xmm1,%xmm2
+  DB  243,66,15,16,36,139                 ; movss         (%rbx,%r9,4),%xmm4
+  DB  243,66,15,16,12,131                 ; movss         (%rbx,%r8,4),%xmm1
+  DB  15,20,204                           ; unpcklps      %xmm4,%xmm1
+  DB  102,15,20,202                       ; unpcklpd      %xmm2,%xmm1
+  DB  102,15,111,211                      ; movdqa        %xmm3,%xmm2
+  DB  102,69,15,118,237                   ; pcmpeqd       %xmm13,%xmm13
+  DB  102,65,15,250,213                   ; psubd         %xmm13,%xmm2
+  DB  102,15,112,226,78                   ; pshufd        $0x4e,%xmm2,%xmm4
+  DB  102,73,15,126,224                   ; movq          %xmm4,%r8
+  DB  102,72,15,126,208                   ; movq          %xmm2,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  243,15,16,36,131                    ; movss         (%rbx,%rax,4),%xmm4
+  DB  243,66,15,16,20,139                 ; movss         (%rbx,%r9,4),%xmm2
+  DB  15,20,212                           ; unpcklps      %xmm4,%xmm2
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,36,131                 ; movss         (%rbx,%r8,4),%xmm4
+  DB  243,15,16,44,131                    ; movss         (%rbx,%rax,4),%xmm5
+  DB  15,20,236                           ; unpcklps      %xmm4,%xmm5
+  DB  102,15,20,213                       ; unpcklpd      %xmm5,%xmm2
+  DB  102,15,111,5,64,10,1,0              ; movdqa        0x10a40(%rip),%xmm0        # 354e0 <_sk_srcover_bgra_8888_sse2_lowp+0xcc8>
+  DB  102,15,254,216                      ; paddd         %xmm0,%xmm3
+  DB  102,15,112,227,78                   ; pshufd        $0x4e,%xmm3,%xmm4
+  DB  102,73,15,126,224                   ; movq          %xmm4,%r8
+  DB  102,72,15,126,216                   ; movq          %xmm3,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  243,15,16,36,131                    ; movss         (%rbx,%rax,4),%xmm4
+  DB  243,66,15,16,28,139                 ; movss         (%rbx,%r9,4),%xmm3
+  DB  15,20,220                           ; unpcklps      %xmm4,%xmm3
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,36,131                 ; movss         (%rbx,%r8,4),%xmm4
+  DB  243,15,16,44,131                    ; movss         (%rbx,%rax,4),%xmm5
+  DB  15,20,236                           ; unpcklps      %xmm4,%xmm5
+  DB  102,15,20,221                       ; unpcklpd      %xmm5,%xmm3
+  DB  102,68,15,254,84,36,32              ; paddd         0x20(%rsp),%xmm10
+  DB  102,65,15,112,226,245               ; pshufd        $0xf5,%xmm10,%xmm4
+  DB  102,68,15,244,215                   ; pmuludq       %xmm7,%xmm10
+  DB  102,15,244,231                      ; pmuludq       %xmm7,%xmm4
+  DB  102,15,112,236,232                  ; pshufd        $0xe8,%xmm4,%xmm5
+  DB  102,65,15,112,226,232               ; pshufd        $0xe8,%xmm10,%xmm4
+  DB  102,15,98,229                       ; punpckldq     %xmm5,%xmm4
+  DB  102,69,15,126,208                   ; movd          %xmm10,%r8d
+  DB  102,15,112,236,229                  ; pshufd        $0xe5,%xmm4,%xmm5
+  DB  102,65,15,126,233                   ; movd          %xmm5,%r9d
+  DB  102,15,112,236,78                   ; pshufd        $0x4e,%xmm4,%xmm5
+  DB  102,65,15,126,234                   ; movd          %xmm5,%r10d
+  DB  102,15,112,236,231                  ; pshufd        $0xe7,%xmm4,%xmm5
+  DB  102,15,126,232                      ; movd          %xmm5,%eax
+  DB  243,15,16,44,131                    ; movss         (%rbx,%rax,4),%xmm5
+  DB  243,66,15,16,60,147                 ; movss         (%rbx,%r10,4),%xmm7
+  DB  15,20,253                           ; unpcklps      %xmm5,%xmm7
+  DB  243,66,15,16,44,139                 ; movss         (%rbx,%r9,4),%xmm5
+  DB  243,70,15,16,4,131                  ; movss         (%rbx,%r8,4),%xmm8
+  DB  68,15,20,197                        ; unpcklps      %xmm5,%xmm8
+  DB  102,68,15,20,199                    ; unpcklpd      %xmm7,%xmm8
+  DB  102,15,111,236                      ; movdqa        %xmm4,%xmm5
+  DB  102,65,15,250,237                   ; psubd         %xmm13,%xmm5
+  DB  102,15,112,253,78                   ; pshufd        $0x4e,%xmm5,%xmm7
+  DB  102,73,15,126,248                   ; movq          %xmm7,%r8
+  DB  102,72,15,126,232                   ; movq          %xmm5,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  243,15,16,44,131                    ; movss         (%rbx,%rax,4),%xmm5
+  DB  243,70,15,16,44,139                 ; movss         (%rbx,%r9,4),%xmm13
+  DB  68,15,20,237                        ; unpcklps      %xmm5,%xmm13
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,44,131                 ; movss         (%rbx,%r8,4),%xmm5
+  DB  243,15,16,60,131                    ; movss         (%rbx,%rax,4),%xmm7
+  DB  15,20,253                           ; unpcklps      %xmm5,%xmm7
+  DB  102,68,15,20,239                    ; unpcklpd      %xmm7,%xmm13
+  DB  102,15,254,224                      ; paddd         %xmm0,%xmm4
+  DB  102,15,112,236,78                   ; pshufd        $0x4e,%xmm4,%xmm5
+  DB  102,73,15,126,232                   ; movq          %xmm5,%r8
+  DB  102,72,15,126,224                   ; movq          %xmm4,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  243,15,16,36,131                    ; movss         (%rbx,%rax,4),%xmm4
+  DB  243,66,15,16,44,139                 ; movss         (%rbx,%r9,4),%xmm5
+  DB  15,20,236                           ; unpcklps      %xmm4,%xmm5
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,36,131                 ; movss         (%rbx,%r8,4),%xmm4
+  DB  243,15,16,60,131                    ; movss         (%rbx,%rax,4),%xmm7
+  DB  15,20,252                           ; unpcklps      %xmm4,%xmm7
+  DB  102,15,20,239                       ; unpcklpd      %xmm7,%xmm5
+  DB  68,15,92,193                        ; subps         %xmm1,%xmm8
+  DB  69,15,89,198                        ; mulps         %xmm14,%xmm8
+  DB  68,15,88,193                        ; addps         %xmm1,%xmm8
+  DB  68,15,92,234                        ; subps         %xmm2,%xmm13
+  DB  69,15,89,238                        ; mulps         %xmm14,%xmm13
+  DB  68,15,88,234                        ; addps         %xmm2,%xmm13
+  DB  15,92,235                           ; subps         %xmm3,%xmm5
+  DB  65,15,89,238                        ; mulps         %xmm14,%xmm5
+  DB  15,88,235                           ; addps         %xmm3,%xmm5
+  DB  102,68,15,254,36,36                 ; paddd         (%rsp),%xmm12
+  DB  102,15,111,214                      ; movdqa        %xmm6,%xmm2
+  DB  102,65,15,254,212                   ; paddd         %xmm12,%xmm2
+  DB  102,15,112,194,245                  ; pshufd        $0xf5,%xmm2,%xmm0
+  DB  102,15,111,13,46,15,1,0             ; movdqa        0x10f2e(%rip),%xmm1        # 35b40 <_sk_srcover_bgra_8888_sse2_lowp+0x1328>
+  DB  102,15,244,209                      ; pmuludq       %xmm1,%xmm2
+  DB  102,15,244,193                      ; pmuludq       %xmm1,%xmm0
+  DB  102,15,111,241                      ; movdqa        %xmm1,%xmm6
+  DB  102,15,112,200,232                  ; pshufd        $0xe8,%xmm0,%xmm1
+  DB  102,15,112,194,232                  ; pshufd        $0xe8,%xmm2,%xmm0
+  DB  102,15,98,193                       ; punpckldq     %xmm1,%xmm0
+  DB  102,65,15,126,208                   ; movd          %xmm2,%r8d
+  DB  102,15,112,200,229                  ; pshufd        $0xe5,%xmm0,%xmm1
+  DB  102,65,15,126,201                   ; movd          %xmm1,%r9d
+  DB  102,15,112,200,78                   ; pshufd        $0x4e,%xmm0,%xmm1
+  DB  102,65,15,126,202                   ; movd          %xmm1,%r10d
+  DB  102,15,112,200,231                  ; pshufd        $0xe7,%xmm0,%xmm1
+  DB  102,15,126,200                      ; movd          %xmm1,%eax
+  DB  243,15,16,12,131                    ; movss         (%rbx,%rax,4),%xmm1
+  DB  243,66,15,16,20,147                 ; movss         (%rbx,%r10,4),%xmm2
+  DB  15,20,209                           ; unpcklps      %xmm1,%xmm2
+  DB  243,66,15,16,12,139                 ; movss         (%rbx,%r9,4),%xmm1
+  DB  243,70,15,16,20,131                 ; movss         (%rbx,%r8,4),%xmm10
+  DB  68,15,20,209                        ; unpcklps      %xmm1,%xmm10
+  DB  102,68,15,20,210                    ; unpcklpd      %xmm2,%xmm10
+  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
+  DB  102,15,250,13,211,14,1,0            ; psubd         0x10ed3(%rip),%xmm1        # 35b50 <_sk_srcover_bgra_8888_sse2_lowp+0x1338>
+  DB  102,15,112,209,78                   ; pshufd        $0x4e,%xmm1,%xmm2
+  DB  102,73,15,126,208                   ; movq          %xmm2,%r8
+  DB  102,72,15,126,200                   ; movq          %xmm1,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  243,15,16,12,131                    ; movss         (%rbx,%rax,4),%xmm1
+  DB  243,66,15,16,36,139                 ; movss         (%rbx,%r9,4),%xmm4
+  DB  15,20,225                           ; unpcklps      %xmm1,%xmm4
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,12,131                 ; movss         (%rbx,%r8,4),%xmm1
+  DB  243,15,16,20,131                    ; movss         (%rbx,%rax,4),%xmm2
+  DB  15,20,209                           ; unpcklps      %xmm1,%xmm2
+  DB  102,15,20,226                       ; unpcklpd      %xmm2,%xmm4
+  DB  102,15,254,5,30,8,1,0               ; paddd         0x1081e(%rip),%xmm0        # 354e0 <_sk_srcover_bgra_8888_sse2_lowp+0xcc8>
+  DB  102,15,112,200,78                   ; pshufd        $0x4e,%xmm0,%xmm1
+  DB  102,73,15,126,200                   ; movq          %xmm1,%r8
+  DB  102,72,15,126,192                   ; movq          %xmm0,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  243,15,16,4,131                     ; movss         (%rbx,%rax,4),%xmm0
+  DB  243,66,15,16,28,139                 ; movss         (%rbx,%r9,4),%xmm3
+  DB  15,20,216                           ; unpcklps      %xmm0,%xmm3
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,4,131                  ; movss         (%rbx,%r8,4),%xmm0
+  DB  243,15,16,12,131                    ; movss         (%rbx,%rax,4),%xmm1
+  DB  15,20,200                           ; unpcklps      %xmm0,%xmm1
+  DB  102,15,20,217                       ; unpcklpd      %xmm1,%xmm3
+  DB  102,68,15,254,100,36,32             ; paddd         0x20(%rsp),%xmm12
+  DB  102,65,15,112,196,245               ; pshufd        $0xf5,%xmm12,%xmm0
+  DB  102,68,15,244,230                   ; pmuludq       %xmm6,%xmm12
+  DB  102,15,244,198                      ; pmuludq       %xmm6,%xmm0
+  DB  102,15,112,192,232                  ; pshufd        $0xe8,%xmm0,%xmm0
+  DB  102,65,15,112,212,232               ; pshufd        $0xe8,%xmm12,%xmm2
+  DB  102,15,98,208                       ; punpckldq     %xmm0,%xmm2
+  DB  102,69,15,126,224                   ; movd          %xmm12,%r8d
+  DB  102,15,112,194,229                  ; pshufd        $0xe5,%xmm2,%xmm0
+  DB  102,65,15,126,193                   ; movd          %xmm0,%r9d
+  DB  102,15,112,194,78                   ; pshufd        $0x4e,%xmm2,%xmm0
+  DB  102,65,15,126,194                   ; movd          %xmm0,%r10d
+  DB  102,15,112,194,231                  ; pshufd        $0xe7,%xmm2,%xmm0
+  DB  102,15,126,192                      ; movd          %xmm0,%eax
+  DB  243,15,16,4,131                     ; movss         (%rbx,%rax,4),%xmm0
+  DB  243,66,15,16,12,147                 ; movss         (%rbx,%r10,4),%xmm1
+  DB  15,20,200                           ; unpcklps      %xmm0,%xmm1
+  DB  243,66,15,16,60,139                 ; movss         (%rbx,%r9,4),%xmm7
+  DB  243,66,15,16,4,131                  ; movss         (%rbx,%r8,4),%xmm0
+  DB  15,20,199                           ; unpcklps      %xmm7,%xmm0
+  DB  102,15,20,193                       ; unpcklpd      %xmm1,%xmm0
+  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
+  DB  102,15,250,13,221,13,1,0            ; psubd         0x10ddd(%rip),%xmm1        # 35b50 <_sk_srcover_bgra_8888_sse2_lowp+0x1338>
+  DB  102,15,112,249,78                   ; pshufd        $0x4e,%xmm1,%xmm7
+  DB  102,73,15,126,248                   ; movq          %xmm7,%r8
+  DB  102,72,15,126,200                   ; movq          %xmm1,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  243,15,16,60,131                    ; movss         (%rbx,%rax,4),%xmm7
+  DB  243,66,15,16,12,139                 ; movss         (%rbx,%r9,4),%xmm1
+  DB  15,20,207                           ; unpcklps      %xmm7,%xmm1
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,60,131                 ; movss         (%rbx,%r8,4),%xmm7
+  DB  243,15,16,52,131                    ; movss         (%rbx,%rax,4),%xmm6
+  DB  15,20,247                           ; unpcklps      %xmm7,%xmm6
+  DB  102,15,20,206                       ; unpcklpd      %xmm6,%xmm1
+  DB  102,15,254,21,40,7,1,0              ; paddd         0x10728(%rip),%xmm2        # 354e0 <_sk_srcover_bgra_8888_sse2_lowp+0xcc8>
+  DB  102,15,112,242,78                   ; pshufd        $0x4e,%xmm2,%xmm6
+  DB  102,73,15,126,240                   ; movq          %xmm6,%r8
+  DB  102,72,15,126,208                   ; movq          %xmm2,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  243,15,16,52,131                    ; movss         (%rbx,%rax,4),%xmm6
+  DB  243,66,15,16,20,139                 ; movss         (%rbx,%r9,4),%xmm2
+  DB  15,20,214                           ; unpcklps      %xmm6,%xmm2
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,52,131                 ; movss         (%rbx,%r8,4),%xmm6
+  DB  243,15,16,60,131                    ; movss         (%rbx,%rax,4),%xmm7
+  DB  15,20,254                           ; unpcklps      %xmm6,%xmm7
+  DB  102,15,20,215                       ; unpcklpd      %xmm7,%xmm2
+  DB  65,15,92,194                        ; subps         %xmm10,%xmm0
+  DB  65,15,89,198                        ; mulps         %xmm14,%xmm0
+  DB  65,15,88,194                        ; addps         %xmm10,%xmm0
+  DB  15,92,204                           ; subps         %xmm4,%xmm1
+  DB  65,15,89,206                        ; mulps         %xmm14,%xmm1
+  DB  15,88,204                           ; addps         %xmm4,%xmm1
+  DB  15,92,211                           ; subps         %xmm3,%xmm2
+  DB  65,15,89,214                        ; mulps         %xmm14,%xmm2
+  DB  15,88,211                           ; addps         %xmm3,%xmm2
+  DB  65,15,92,192                        ; subps         %xmm8,%xmm0
+  DB  15,40,92,36,16                      ; movaps        0x10(%rsp),%xmm3
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  65,15,88,192                        ; addps         %xmm8,%xmm0
+  DB  65,15,92,205                        ; subps         %xmm13,%xmm1
+  DB  15,89,203                           ; mulps         %xmm3,%xmm1
+  DB  65,15,88,205                        ; addps         %xmm13,%xmm1
+  DB  15,92,213                           ; subps         %xmm5,%xmm2
+  DB  15,89,211                           ; mulps         %xmm3,%xmm2
+  DB  15,88,213                           ; addps         %xmm5,%xmm2
+  DB  15,91,92,36,80                      ; cvtdq2ps      0x50(%rsp),%xmm3
+  DB  15,40,100,36,96                     ; movaps        0x60(%rsp),%xmm4
+  DB  15,92,227                           ; subps         %xmm3,%xmm4
+  DB  65,15,92,199                        ; subps         %xmm15,%xmm0
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  65,15,88,199                        ; addps         %xmm15,%xmm0
+  DB  65,15,92,203                        ; subps         %xmm11,%xmm1
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  65,15,88,203                        ; addps         %xmm11,%xmm1
+  DB  65,15,92,209                        ; subps         %xmm9,%xmm2
+  DB  15,89,212                           ; mulps         %xmm4,%xmm2
+  DB  65,15,88,209                        ; addps         %xmm9,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,92,36,112                     ; movaps        0x70(%rsp),%xmm3
+  DB  15,40,164,36,128,0,0,0              ; movaps        0x80(%rsp),%xmm4
+  DB  15,40,172,36,144,0,0,0              ; movaps        0x90(%rsp),%xmm5
+  DB  15,40,180,36,160,0,0,0              ; movaps        0xa0(%rsp),%xmm6
+  DB  15,40,188,36,176,0,0,0              ; movaps        0xb0(%rsp),%xmm7
+  DB  72,129,196,192,0,0,0                ; add           $0xc0,%rsp
+  DB  91                                  ; pop           %rbx
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_clut_4D_sse2
+_sk_clut_4D_sse2 LABEL PROC
+  DB  83                                  ; push          %rbx
+  DB  72,129,236,32,1,0,0                 ; sub           $0x120,%rsp
+  DB  15,41,188,36,16,1,0,0               ; movaps        %xmm7,0x110(%rsp)
+  DB  15,41,180,36,0,1,0,0                ; movaps        %xmm6,0x100(%rsp)
+  DB  15,41,172,36,240,0,0,0              ; movaps        %xmm5,0xf0(%rsp)
+  DB  15,41,164,36,224,0,0,0              ; movaps        %xmm4,0xe0(%rsp)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  68,139,64,20                        ; mov           0x14(%rax),%r8d
+  DB  69,141,72,255                       ; lea           -0x1(%r8),%r9d
+  DB  102,65,15,110,225                   ; movd          %r9d,%xmm4
+  DB  102,15,112,228,0                    ; pshufd        $0x0,%xmm4,%xmm4
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  15,89,227                           ; mulps         %xmm3,%xmm4
+  DB  15,40,236                           ; movaps        %xmm4,%xmm5
+  DB  102,65,15,110,216                   ; movd          %r8d,%xmm3
+  DB  102,15,112,251,0                    ; pshufd        $0x0,%xmm3,%xmm7
+  DB  102,15,127,60,36                    ; movdqa        %xmm7,(%rsp)
+  DB  68,139,64,16                        ; mov           0x10(%rax),%r8d
+  DB  69,141,72,255                       ; lea           -0x1(%r8),%r9d
+  DB  102,65,15,110,225                   ; movd          %r9d,%xmm4
+  DB  102,15,112,228,0                    ; pshufd        $0x0,%xmm4,%xmm4
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  15,89,226                           ; mulps         %xmm2,%xmm4
+  DB  243,15,91,244                       ; cvttps2dq     %xmm4,%xmm6
+  DB  102,15,127,116,36,80                ; movdqa        %xmm6,0x50(%rsp)
+  DB  68,15,40,252                        ; movaps        %xmm4,%xmm15
+  DB  68,15,41,124,36,112                 ; movaps        %xmm15,0x70(%rsp)
+  DB  102,15,112,214,245                  ; pshufd        $0xf5,%xmm6,%xmm2
+  DB  102,15,244,215                      ; pmuludq       %xmm7,%xmm2
+  DB  102,15,111,231                      ; movdqa        %xmm7,%xmm4
+  DB  102,15,244,230                      ; pmuludq       %xmm6,%xmm4
+  DB  102,68,15,112,244,232               ; pshufd        $0xe8,%xmm4,%xmm14
+  DB  102,15,112,210,232                  ; pshufd        $0xe8,%xmm2,%xmm2
+  DB  102,68,15,98,242                    ; punpckldq     %xmm2,%xmm14
+  DB  102,65,15,110,208                   ; movd          %r8d,%xmm2
+  DB  102,15,244,211                      ; pmuludq       %xmm3,%xmm2
+  DB  102,15,112,210,232                  ; pshufd        $0xe8,%xmm2,%xmm2
+  DB  102,15,244,216                      ; pmuludq       %xmm0,%xmm3
+  DB  102,15,112,219,232                  ; pshufd        $0xe8,%xmm3,%xmm3
+  DB  102,15,98,211                       ; punpckldq     %xmm3,%xmm2
+  DB  102,68,15,112,226,0                 ; pshufd        $0x0,%xmm2,%xmm12
+  DB  68,139,64,12                        ; mov           0xc(%rax),%r8d
+  DB  69,141,72,255                       ; lea           -0x1(%r8),%r9d
+  DB  102,65,15,110,217                   ; movd          %r9d,%xmm3
+  DB  102,15,112,219,0                    ; pshufd        $0x0,%xmm3,%xmm3
+  DB  68,15,91,219                        ; cvtdq2ps      %xmm3,%xmm11
+  DB  68,15,89,217                        ; mulps         %xmm1,%xmm11
+  DB  243,65,15,91,227                    ; cvttps2dq     %xmm11,%xmm4
+  DB  102,15,127,100,36,64                ; movdqa        %xmm4,0x40(%rsp)
+  DB  68,15,41,92,36,16                   ; movaps        %xmm11,0x10(%rsp)
+  DB  102,15,112,204,245                  ; pshufd        $0xf5,%xmm4,%xmm1
+  DB  102,65,15,244,204                   ; pmuludq       %xmm12,%xmm1
+  DB  102,65,15,111,220                   ; movdqa        %xmm12,%xmm3
+  DB  102,15,244,220                      ; pmuludq       %xmm4,%xmm3
+  DB  102,15,112,219,232                  ; pshufd        $0xe8,%xmm3,%xmm3
+  DB  102,15,112,201,232                  ; pshufd        $0xe8,%xmm1,%xmm1
+  DB  102,15,98,217                       ; punpckldq     %xmm1,%xmm3
+  DB  102,15,127,156,36,128,0,0,0         ; movdqa        %xmm3,0x80(%rsp)
+  DB  102,65,15,110,200                   ; movd          %r8d,%xmm1
+  DB  102,15,244,202                      ; pmuludq       %xmm2,%xmm1
+  DB  102,15,112,201,0                    ; pshufd        $0x0,%xmm1,%xmm1
+  DB  68,139,64,8                         ; mov           0x8(%rax),%r8d
+  DB  65,255,200                          ; dec           %r8d
+  DB  102,65,15,110,208                   ; movd          %r8d,%xmm2
+  DB  102,15,112,210,0                    ; pshufd        $0x0,%xmm2,%xmm2
+  DB  68,15,91,234                        ; cvtdq2ps      %xmm2,%xmm13
+  DB  68,15,89,232                        ; mulps         %xmm0,%xmm13
+  DB  243,69,15,91,205                    ; cvttps2dq     %xmm13,%xmm9
+  DB  102,65,15,112,193,245               ; pshufd        $0xf5,%xmm9,%xmm0
+  DB  102,15,244,193                      ; pmuludq       %xmm1,%xmm0
+  DB  102,15,111,209                      ; movdqa        %xmm1,%xmm2
+  DB  102,65,15,244,209                   ; pmuludq       %xmm9,%xmm2
+  DB  102,15,112,226,232                  ; pshufd        $0xe8,%xmm2,%xmm4
+  DB  102,15,112,192,232                  ; pshufd        $0xe8,%xmm0,%xmm0
+  DB  102,15,98,224                       ; punpckldq     %xmm0,%xmm4
+  DB  102,15,127,100,36,32                ; movdqa        %xmm4,0x20(%rsp)
+  DB  243,15,91,197                       ; cvttps2dq     %xmm5,%xmm0
+  DB  102,15,127,132,36,176,0,0,0         ; movdqa        %xmm0,0xb0(%rsp)
+  DB  68,15,40,197                        ; movaps        %xmm5,%xmm8
+  DB  68,15,41,132,36,208,0,0,0           ; movaps        %xmm8,0xd0(%rsp)
+  DB  102,69,15,111,214                   ; movdqa        %xmm14,%xmm10
+  DB  102,68,15,254,208                   ; paddd         %xmm0,%xmm10
+  DB  102,15,111,211                      ; movdqa        %xmm3,%xmm2
+  DB  102,65,15,254,210                   ; paddd         %xmm10,%xmm2
+  DB  102,15,111,220                      ; movdqa        %xmm4,%xmm3
+  DB  102,15,254,218                      ; paddd         %xmm2,%xmm3
+  DB  102,15,111,37,1,11,1,0              ; movdqa        0x10b01(%rip),%xmm4        # 35b40 <_sk_srcover_bgra_8888_sse2_lowp+0x1328>
+  DB  102,15,112,195,245                  ; pshufd        $0xf5,%xmm3,%xmm0
+  DB  102,15,244,220                      ; pmuludq       %xmm4,%xmm3
+  DB  102,15,244,196                      ; pmuludq       %xmm4,%xmm0
+  DB  102,15,112,224,232                  ; pshufd        $0xe8,%xmm0,%xmm4
+  DB  102,15,112,195,232                  ; pshufd        $0xe8,%xmm3,%xmm0
+  DB  102,15,98,196                       ; punpckldq     %xmm4,%xmm0
+  DB  102,65,15,126,216                   ; movd          %xmm3,%r8d
+  DB  102,15,112,216,229                  ; pshufd        $0xe5,%xmm0,%xmm3
+  DB  102,65,15,126,217                   ; movd          %xmm3,%r9d
+  DB  102,15,112,216,78                   ; pshufd        $0x4e,%xmm0,%xmm3
+  DB  102,65,15,126,218                   ; movd          %xmm3,%r10d
+  DB  102,15,112,216,231                  ; pshufd        $0xe7,%xmm0,%xmm3
+  DB  102,65,15,126,219                   ; movd          %xmm3,%r11d
+  DB  72,139,24                           ; mov           (%rax),%rbx
+  DB  243,66,15,16,28,155                 ; movss         (%rbx,%r11,4),%xmm3
+  DB  243,66,15,16,36,147                 ; movss         (%rbx,%r10,4),%xmm4
+  DB  15,20,227                           ; unpcklps      %xmm3,%xmm4
+  DB  243,66,15,16,28,139                 ; movss         (%rbx,%r9,4),%xmm3
+  DB  243,66,15,16,60,131                 ; movss         (%rbx,%r8,4),%xmm7
+  DB  15,20,251                           ; unpcklps      %xmm3,%xmm7
+  DB  102,15,20,252                       ; unpcklpd      %xmm4,%xmm7
+  DB  102,15,118,228                      ; pcmpeqd       %xmm4,%xmm4
+  DB  102,15,111,216                      ; movdqa        %xmm0,%xmm3
+  DB  102,15,250,220                      ; psubd         %xmm4,%xmm3
+  DB  102,15,112,227,78                   ; pshufd        $0x4e,%xmm3,%xmm4
+  DB  102,73,15,126,224                   ; movq          %xmm4,%r8
+  DB  102,73,15,126,217                   ; movq          %xmm3,%r9
+  DB  69,137,202                          ; mov           %r9d,%r10d
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  243,66,15,16,36,139                 ; movss         (%rbx,%r9,4),%xmm4
+  DB  243,66,15,16,44,147                 ; movss         (%rbx,%r10,4),%xmm5
+  DB  15,20,236                           ; unpcklps      %xmm4,%xmm5
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,36,131                 ; movss         (%rbx,%r8,4),%xmm4
+  DB  243,66,15,16,52,139                 ; movss         (%rbx,%r9,4),%xmm6
+  DB  15,20,244                           ; unpcklps      %xmm4,%xmm6
+  DB  102,15,20,238                       ; unpcklpd      %xmm6,%xmm5
+  DB  102,15,254,5,235,3,1,0              ; paddd         0x103eb(%rip),%xmm0        # 354e0 <_sk_srcover_bgra_8888_sse2_lowp+0xcc8>
+  DB  102,15,112,224,78                   ; pshufd        $0x4e,%xmm0,%xmm4
+  DB  102,73,15,126,224                   ; movq          %xmm4,%r8
+  DB  102,73,15,126,193                   ; movq          %xmm0,%r9
+  DB  69,137,202                          ; mov           %r9d,%r10d
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  243,66,15,16,36,139                 ; movss         (%rbx,%r9,4),%xmm4
+  DB  243,66,15,16,28,147                 ; movss         (%rbx,%r10,4),%xmm3
+  DB  15,20,220                           ; unpcklps      %xmm4,%xmm3
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,36,131                 ; movss         (%rbx,%r8,4),%xmm4
+  DB  243,66,15,16,52,139                 ; movss         (%rbx,%r9,4),%xmm6
+  DB  15,20,244                           ; unpcklps      %xmm4,%xmm6
+  DB  102,15,20,222                       ; unpcklpd      %xmm6,%xmm3
+  DB  15,40,53,245,9,1,0                  ; movaps        0x109f5(%rip),%xmm6        # 35b30 <_sk_srcover_bgra_8888_sse2_lowp+0x1318>
+  DB  68,15,88,198                        ; addps         %xmm6,%xmm8
+  DB  68,15,41,68,36,48                   ; movaps        %xmm8,0x30(%rsp)
+  DB  68,15,88,254                        ; addps         %xmm6,%xmm15
+  DB  68,15,41,188,36,192,0,0,0           ; movaps        %xmm15,0xc0(%rsp)
+  DB  69,15,40,195                        ; movaps        %xmm11,%xmm8
+  DB  68,15,88,198                        ; addps         %xmm6,%xmm8
+  DB  65,15,88,245                        ; addps         %xmm13,%xmm6
+  DB  243,15,91,246                       ; cvttps2dq     %xmm6,%xmm6
+  DB  102,15,112,198,245                  ; pshufd        $0xf5,%xmm6,%xmm0
+  DB  102,15,244,193                      ; pmuludq       %xmm1,%xmm0
+  DB  102,15,244,206                      ; pmuludq       %xmm6,%xmm1
+  DB  102,68,15,112,249,232               ; pshufd        $0xe8,%xmm1,%xmm15
+  DB  102,15,112,192,232                  ; pshufd        $0xe8,%xmm0,%xmm0
+  DB  102,68,15,98,248                    ; punpckldq     %xmm0,%xmm15
+  DB  102,65,15,254,215                   ; paddd         %xmm15,%xmm2
+  DB  102,68,15,127,124,36,96             ; movdqa        %xmm15,0x60(%rsp)
+  DB  102,15,112,194,245                  ; pshufd        $0xf5,%xmm2,%xmm0
+  DB  102,15,111,13,168,9,1,0             ; movdqa        0x109a8(%rip),%xmm1        # 35b40 <_sk_srcover_bgra_8888_sse2_lowp+0x1328>
+  DB  102,15,244,209                      ; pmuludq       %xmm1,%xmm2
+  DB  102,15,244,193                      ; pmuludq       %xmm1,%xmm0
+  DB  102,15,112,192,232                  ; pshufd        $0xe8,%xmm0,%xmm0
+  DB  102,15,112,202,232                  ; pshufd        $0xe8,%xmm2,%xmm1
+  DB  102,15,98,200                       ; punpckldq     %xmm0,%xmm1
+  DB  102,65,15,126,208                   ; movd          %xmm2,%r8d
+  DB  102,15,112,193,229                  ; pshufd        $0xe5,%xmm1,%xmm0
+  DB  102,65,15,126,193                   ; movd          %xmm0,%r9d
+  DB  102,15,112,193,78                   ; pshufd        $0x4e,%xmm1,%xmm0
+  DB  102,65,15,126,194                   ; movd          %xmm0,%r10d
+  DB  102,15,112,193,231                  ; pshufd        $0xe7,%xmm1,%xmm0
+  DB  102,15,126,192                      ; movd          %xmm0,%eax
+  DB  243,15,16,4,131                     ; movss         (%rbx,%rax,4),%xmm0
+  DB  243,66,15,16,20,147                 ; movss         (%rbx,%r10,4),%xmm2
+  DB  15,20,208                           ; unpcklps      %xmm0,%xmm2
+  DB  243,66,15,16,4,139                  ; movss         (%rbx,%r9,4),%xmm0
+  DB  243,66,15,16,52,131                 ; movss         (%rbx,%r8,4),%xmm6
+  DB  15,20,240                           ; unpcklps      %xmm0,%xmm6
+  DB  102,15,20,242                       ; unpcklpd      %xmm2,%xmm6
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,15,250,5,83,9,1,0               ; psubd         0x10953(%rip),%xmm0        # 35b50 <_sk_srcover_bgra_8888_sse2_lowp+0x1338>
+  DB  102,15,112,208,78                   ; pshufd        $0x4e,%xmm0,%xmm2
+  DB  102,73,15,126,208                   ; movq          %xmm2,%r8
+  DB  102,72,15,126,192                   ; movq          %xmm0,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  243,15,16,4,131                     ; movss         (%rbx,%rax,4),%xmm0
+  DB  243,66,15,16,20,139                 ; movss         (%rbx,%r9,4),%xmm2
+  DB  15,20,208                           ; unpcklps      %xmm0,%xmm2
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,4,131                  ; movss         (%rbx,%r8,4),%xmm0
+  DB  243,68,15,16,28,131                 ; movss         (%rbx,%rax,4),%xmm11
+  DB  68,15,20,216                        ; unpcklps      %xmm0,%xmm11
+  DB  102,65,15,20,211                    ; unpcklpd      %xmm11,%xmm2
+  DB  102,15,254,13,155,2,1,0             ; paddd         0x1029b(%rip),%xmm1        # 354e0 <_sk_srcover_bgra_8888_sse2_lowp+0xcc8>
+  DB  102,15,112,193,78                   ; pshufd        $0x4e,%xmm1,%xmm0
+  DB  102,73,15,126,192                   ; movq          %xmm0,%r8
+  DB  102,72,15,126,200                   ; movq          %xmm1,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  243,15,16,4,131                     ; movss         (%rbx,%rax,4),%xmm0
+  DB  243,66,15,16,12,139                 ; movss         (%rbx,%r9,4),%xmm1
+  DB  15,20,200                           ; unpcklps      %xmm0,%xmm1
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,4,131                  ; movss         (%rbx,%r8,4),%xmm0
+  DB  243,15,16,36,131                    ; movss         (%rbx,%rax,4),%xmm4
+  DB  15,20,224                           ; unpcklps      %xmm0,%xmm4
+  DB  102,15,20,204                       ; unpcklpd      %xmm4,%xmm1
+  DB  65,15,91,193                        ; cvtdq2ps      %xmm9,%xmm0
+  DB  68,15,92,232                        ; subps         %xmm0,%xmm13
+  DB  15,92,247                           ; subps         %xmm7,%xmm6
+  DB  65,15,89,245                        ; mulps         %xmm13,%xmm6
+  DB  15,88,247                           ; addps         %xmm7,%xmm6
+  DB  15,92,213                           ; subps         %xmm5,%xmm2
+  DB  65,15,89,213                        ; mulps         %xmm13,%xmm2
+  DB  15,88,213                           ; addps         %xmm5,%xmm2
+  DB  15,92,203                           ; subps         %xmm3,%xmm1
+  DB  65,15,89,205                        ; mulps         %xmm13,%xmm1
+  DB  15,88,203                           ; addps         %xmm3,%xmm1
+  DB  243,65,15,91,192                    ; cvttps2dq     %xmm8,%xmm0
+  DB  102,15,112,216,245                  ; pshufd        $0xf5,%xmm0,%xmm3
+  DB  102,65,15,244,220                   ; pmuludq       %xmm12,%xmm3
+  DB  102,68,15,244,224                   ; pmuludq       %xmm0,%xmm12
+  DB  102,65,15,112,228,232               ; pshufd        $0xe8,%xmm12,%xmm4
+  DB  102,15,112,195,232                  ; pshufd        $0xe8,%xmm3,%xmm0
+  DB  102,15,98,224                       ; punpckldq     %xmm0,%xmm4
+  DB  102,15,127,164,36,144,0,0,0         ; movdqa        %xmm4,0x90(%rsp)
+  DB  102,68,15,254,212                   ; paddd         %xmm4,%xmm10
+  DB  102,65,15,111,194                   ; movdqa        %xmm10,%xmm0
+  DB  102,15,254,68,36,32                 ; paddd         0x20(%rsp),%xmm0
+  DB  102,15,112,216,245                  ; pshufd        $0xf5,%xmm0,%xmm3
+  DB  102,15,111,37,79,8,1,0              ; movdqa        0x1084f(%rip),%xmm4        # 35b40 <_sk_srcover_bgra_8888_sse2_lowp+0x1328>
+  DB  102,15,244,196                      ; pmuludq       %xmm4,%xmm0
+  DB  102,15,244,220                      ; pmuludq       %xmm4,%xmm3
+  DB  102,68,15,111,220                   ; movdqa        %xmm4,%xmm11
+  DB  102,15,112,219,232                  ; pshufd        $0xe8,%xmm3,%xmm3
+  DB  102,15,112,224,232                  ; pshufd        $0xe8,%xmm0,%xmm4
+  DB  102,15,98,227                       ; punpckldq     %xmm3,%xmm4
+  DB  102,65,15,126,192                   ; movd          %xmm0,%r8d
+  DB  102,15,112,196,229                  ; pshufd        $0xe5,%xmm4,%xmm0
+  DB  102,65,15,126,193                   ; movd          %xmm0,%r9d
+  DB  102,15,112,196,78                   ; pshufd        $0x4e,%xmm4,%xmm0
+  DB  102,65,15,126,194                   ; movd          %xmm0,%r10d
+  DB  102,15,112,196,231                  ; pshufd        $0xe7,%xmm4,%xmm0
+  DB  102,15,126,192                      ; movd          %xmm0,%eax
+  DB  243,15,16,4,131                     ; movss         (%rbx,%rax,4),%xmm0
+  DB  243,66,15,16,44,147                 ; movss         (%rbx,%r10,4),%xmm5
+  DB  15,20,232                           ; unpcklps      %xmm0,%xmm5
+  DB  243,66,15,16,4,139                  ; movss         (%rbx,%r9,4),%xmm0
+  DB  243,70,15,16,12,131                 ; movss         (%rbx,%r8,4),%xmm9
+  DB  68,15,20,200                        ; unpcklps      %xmm0,%xmm9
+  DB  102,68,15,20,205                    ; unpcklpd      %xmm5,%xmm9
+  DB  102,15,111,196                      ; movdqa        %xmm4,%xmm0
+  DB  102,69,15,118,228                   ; pcmpeqd       %xmm12,%xmm12
+  DB  102,65,15,250,196                   ; psubd         %xmm12,%xmm0
+  DB  102,15,112,232,78                   ; pshufd        $0x4e,%xmm0,%xmm5
+  DB  102,73,15,126,232                   ; movq          %xmm5,%r8
+  DB  102,72,15,126,192                   ; movq          %xmm0,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  243,15,16,44,131                    ; movss         (%rbx,%rax,4),%xmm5
+  DB  243,66,15,16,4,139                  ; movss         (%rbx,%r9,4),%xmm0
+  DB  15,20,197                           ; unpcklps      %xmm5,%xmm0
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,44,131                 ; movss         (%rbx,%r8,4),%xmm5
+  DB  243,15,16,60,131                    ; movss         (%rbx,%rax,4),%xmm7
+  DB  15,20,253                           ; unpcklps      %xmm5,%xmm7
+  DB  102,15,20,199                       ; unpcklpd      %xmm7,%xmm0
+  DB  102,68,15,111,5,59,1,1,0            ; movdqa        0x1013b(%rip),%xmm8        # 354e0 <_sk_srcover_bgra_8888_sse2_lowp+0xcc8>
+  DB  102,65,15,254,224                   ; paddd         %xmm8,%xmm4
+  DB  102,15,112,236,78                   ; pshufd        $0x4e,%xmm4,%xmm5
+  DB  102,73,15,126,232                   ; movq          %xmm5,%r8
+  DB  102,72,15,126,224                   ; movq          %xmm4,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  243,15,16,44,131                    ; movss         (%rbx,%rax,4),%xmm5
+  DB  243,66,15,16,36,139                 ; movss         (%rbx,%r9,4),%xmm4
+  DB  15,20,229                           ; unpcklps      %xmm5,%xmm4
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,44,131                 ; movss         (%rbx,%r8,4),%xmm5
+  DB  243,15,16,60,131                    ; movss         (%rbx,%rax,4),%xmm7
+  DB  15,20,253                           ; unpcklps      %xmm5,%xmm7
+  DB  102,15,20,231                       ; unpcklpd      %xmm7,%xmm4
+  DB  102,69,15,254,215                   ; paddd         %xmm15,%xmm10
+  DB  102,65,15,112,234,245               ; pshufd        $0xf5,%xmm10,%xmm5
+  DB  102,69,15,244,211                   ; pmuludq       %xmm11,%xmm10
+  DB  102,65,15,244,235                   ; pmuludq       %xmm11,%xmm5
+  DB  102,69,15,111,251                   ; movdqa        %xmm11,%xmm15
+  DB  102,15,112,253,232                  ; pshufd        $0xe8,%xmm5,%xmm7
+  DB  102,65,15,112,234,232               ; pshufd        $0xe8,%xmm10,%xmm5
+  DB  102,15,98,239                       ; punpckldq     %xmm7,%xmm5
+  DB  102,69,15,126,208                   ; movd          %xmm10,%r8d
+  DB  102,15,112,253,229                  ; pshufd        $0xe5,%xmm5,%xmm7
+  DB  102,65,15,126,249                   ; movd          %xmm7,%r9d
+  DB  102,15,112,253,78                   ; pshufd        $0x4e,%xmm5,%xmm7
+  DB  102,65,15,126,250                   ; movd          %xmm7,%r10d
+  DB  102,15,112,253,231                  ; pshufd        $0xe7,%xmm5,%xmm7
+  DB  102,15,126,248                      ; movd          %xmm7,%eax
+  DB  243,15,16,60,131                    ; movss         (%rbx,%rax,4),%xmm7
+  DB  243,66,15,16,28,147                 ; movss         (%rbx,%r10,4),%xmm3
+  DB  15,20,223                           ; unpcklps      %xmm7,%xmm3
+  DB  243,66,15,16,60,139                 ; movss         (%rbx,%r9,4),%xmm7
+  DB  243,70,15,16,28,131                 ; movss         (%rbx,%r8,4),%xmm11
+  DB  68,15,20,223                        ; unpcklps      %xmm7,%xmm11
+  DB  102,68,15,20,219                    ; unpcklpd      %xmm3,%xmm11
+  DB  102,15,111,221                      ; movdqa        %xmm5,%xmm3
+  DB  102,65,15,250,220                   ; psubd         %xmm12,%xmm3
+  DB  102,15,112,251,78                   ; pshufd        $0x4e,%xmm3,%xmm7
+  DB  102,73,15,126,248                   ; movq          %xmm7,%r8
+  DB  102,72,15,126,216                   ; movq          %xmm3,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  243,15,16,28,131                    ; movss         (%rbx,%rax,4),%xmm3
+  DB  243,70,15,16,20,139                 ; movss         (%rbx,%r9,4),%xmm10
+  DB  68,15,20,211                        ; unpcklps      %xmm3,%xmm10
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,28,131                 ; movss         (%rbx,%r8,4),%xmm3
+  DB  243,15,16,60,131                    ; movss         (%rbx,%rax,4),%xmm7
+  DB  15,20,251                           ; unpcklps      %xmm3,%xmm7
+  DB  102,68,15,20,215                    ; unpcklpd      %xmm7,%xmm10
+  DB  102,65,15,254,232                   ; paddd         %xmm8,%xmm5
+  DB  102,15,112,221,78                   ; pshufd        $0x4e,%xmm5,%xmm3
+  DB  102,73,15,126,216                   ; movq          %xmm3,%r8
+  DB  102,72,15,126,232                   ; movq          %xmm5,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  243,15,16,28,131                    ; movss         (%rbx,%rax,4),%xmm3
+  DB  243,70,15,16,36,139                 ; movss         (%rbx,%r9,4),%xmm12
+  DB  68,15,20,227                        ; unpcklps      %xmm3,%xmm12
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,28,131                 ; movss         (%rbx,%r8,4),%xmm3
+  DB  243,15,16,60,131                    ; movss         (%rbx,%rax,4),%xmm7
+  DB  15,20,251                           ; unpcklps      %xmm3,%xmm7
+  DB  102,68,15,20,231                    ; unpcklpd      %xmm7,%xmm12
+  DB  69,15,92,217                        ; subps         %xmm9,%xmm11
+  DB  68,15,41,172,36,160,0,0,0           ; movaps        %xmm13,0xa0(%rsp)
+  DB  69,15,89,221                        ; mulps         %xmm13,%xmm11
+  DB  69,15,88,217                        ; addps         %xmm9,%xmm11
+  DB  68,15,92,208                        ; subps         %xmm0,%xmm10
+  DB  69,15,89,213                        ; mulps         %xmm13,%xmm10
+  DB  68,15,88,208                        ; addps         %xmm0,%xmm10
+  DB  68,15,92,228                        ; subps         %xmm4,%xmm12
+  DB  69,15,89,229                        ; mulps         %xmm13,%xmm12
+  DB  68,15,88,228                        ; addps         %xmm4,%xmm12
+  DB  15,91,68,36,64                      ; cvtdq2ps      0x40(%rsp),%xmm0
+  DB  15,40,92,36,16                      ; movaps        0x10(%rsp),%xmm3
+  DB  15,92,216                           ; subps         %xmm0,%xmm3
+  DB  15,41,92,36,16                      ; movaps        %xmm3,0x10(%rsp)
+  DB  68,15,92,222                        ; subps         %xmm6,%xmm11
+  DB  68,15,89,219                        ; mulps         %xmm3,%xmm11
+  DB  68,15,88,222                        ; addps         %xmm6,%xmm11
+  DB  68,15,92,210                        ; subps         %xmm2,%xmm10
+  DB  68,15,89,211                        ; mulps         %xmm3,%xmm10
+  DB  68,15,88,210                        ; addps         %xmm2,%xmm10
+  DB  68,15,92,225                        ; subps         %xmm1,%xmm12
+  DB  68,15,89,227                        ; mulps         %xmm3,%xmm12
+  DB  68,15,88,225                        ; addps         %xmm1,%xmm12
+  DB  243,15,91,132,36,192,0,0,0          ; cvttps2dq     0xc0(%rsp),%xmm0
+  DB  102,15,112,200,245                  ; pshufd        $0xf5,%xmm0,%xmm1
+  DB  102,15,111,20,36                    ; movdqa        (%rsp),%xmm2
+  DB  102,15,244,202                      ; pmuludq       %xmm2,%xmm1
+  DB  102,15,244,208                      ; pmuludq       %xmm0,%xmm2
+  DB  102,68,15,112,202,232               ; pshufd        $0xe8,%xmm2,%xmm9
+  DB  102,15,112,193,232                  ; pshufd        $0xe8,%xmm1,%xmm0
+  DB  102,68,15,98,200                    ; punpckldq     %xmm0,%xmm9
+  DB  102,68,15,127,12,36                 ; movdqa        %xmm9,(%rsp)
+  DB  102,68,15,254,140,36,176,0,0,0      ; paddd         0xb0(%rsp),%xmm9
+  DB  102,65,15,111,193                   ; movdqa        %xmm9,%xmm0
+  DB  102,15,254,132,36,128,0,0,0         ; paddd         0x80(%rsp),%xmm0
+  DB  102,15,111,208                      ; movdqa        %xmm0,%xmm2
+  DB  102,68,15,111,68,36,32              ; movdqa        0x20(%rsp),%xmm8
+  DB  102,65,15,254,208                   ; paddd         %xmm8,%xmm2
+  DB  102,15,112,202,245                  ; pshufd        $0xf5,%xmm2,%xmm1
+  DB  102,65,15,111,223                   ; movdqa        %xmm15,%xmm3
+  DB  102,15,244,211                      ; pmuludq       %xmm3,%xmm2
+  DB  102,15,244,203                      ; pmuludq       %xmm3,%xmm1
+  DB  102,15,111,243                      ; movdqa        %xmm3,%xmm6
+  DB  102,15,112,217,232                  ; pshufd        $0xe8,%xmm1,%xmm3
+  DB  102,15,112,202,232                  ; pshufd        $0xe8,%xmm2,%xmm1
+  DB  102,15,98,203                       ; punpckldq     %xmm3,%xmm1
+  DB  102,65,15,126,208                   ; movd          %xmm2,%r8d
+  DB  102,15,112,209,229                  ; pshufd        $0xe5,%xmm1,%xmm2
+  DB  102,65,15,126,209                   ; movd          %xmm2,%r9d
+  DB  102,15,112,209,78                   ; pshufd        $0x4e,%xmm1,%xmm2
+  DB  102,65,15,126,210                   ; movd          %xmm2,%r10d
+  DB  102,15,112,209,231                  ; pshufd        $0xe7,%xmm1,%xmm2
+  DB  102,15,126,208                      ; movd          %xmm2,%eax
+  DB  243,15,16,20,131                    ; movss         (%rbx,%rax,4),%xmm2
+  DB  243,66,15,16,36,147                 ; movss         (%rbx,%r10,4),%xmm4
+  DB  15,20,226                           ; unpcklps      %xmm2,%xmm4
+  DB  243,66,15,16,20,139                 ; movss         (%rbx,%r9,4),%xmm2
+  DB  243,66,15,16,28,131                 ; movss         (%rbx,%r8,4),%xmm3
+  DB  15,20,218                           ; unpcklps      %xmm2,%xmm3
+  DB  102,15,20,220                       ; unpcklpd      %xmm4,%xmm3
+  DB  102,15,111,209                      ; movdqa        %xmm1,%xmm2
+  DB  102,15,118,237                      ; pcmpeqd       %xmm5,%xmm5
+  DB  102,15,250,213                      ; psubd         %xmm5,%xmm2
+  DB  102,15,112,226,78                   ; pshufd        $0x4e,%xmm2,%xmm4
+  DB  102,73,15,126,224                   ; movq          %xmm4,%r8
+  DB  102,72,15,126,208                   ; movq          %xmm2,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  243,15,16,20,131                    ; movss         (%rbx,%rax,4),%xmm2
+  DB  243,66,15,16,60,139                 ; movss         (%rbx,%r9,4),%xmm7
+  DB  15,20,250                           ; unpcklps      %xmm2,%xmm7
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,20,131                 ; movss         (%rbx,%r8,4),%xmm2
+  DB  243,15,16,36,131                    ; movss         (%rbx,%rax,4),%xmm4
+  DB  15,20,226                           ; unpcklps      %xmm2,%xmm4
+  DB  102,15,20,252                       ; unpcklpd      %xmm4,%xmm7
+  DB  102,68,15,111,61,138,254,0,0        ; movdqa        0xfe8a(%rip),%xmm15        # 354e0 <_sk_srcover_bgra_8888_sse2_lowp+0xcc8>
+  DB  102,65,15,254,207                   ; paddd         %xmm15,%xmm1
+  DB  102,15,112,209,78                   ; pshufd        $0x4e,%xmm1,%xmm2
+  DB  102,73,15,126,208                   ; movq          %xmm2,%r8
+  DB  102,72,15,126,200                   ; movq          %xmm1,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  243,15,16,12,131                    ; movss         (%rbx,%rax,4),%xmm1
+  DB  243,66,15,16,20,139                 ; movss         (%rbx,%r9,4),%xmm2
+  DB  15,20,209                           ; unpcklps      %xmm1,%xmm2
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,12,131                 ; movss         (%rbx,%r8,4),%xmm1
+  DB  243,15,16,36,131                    ; movss         (%rbx,%rax,4),%xmm4
+  DB  15,20,225                           ; unpcklps      %xmm1,%xmm4
+  DB  102,15,20,212                       ; unpcklpd      %xmm4,%xmm2
+  DB  102,68,15,111,108,36,96             ; movdqa        0x60(%rsp),%xmm13
+  DB  102,65,15,254,197                   ; paddd         %xmm13,%xmm0
+  DB  102,15,112,200,245                  ; pshufd        $0xf5,%xmm0,%xmm1
+  DB  102,15,244,198                      ; pmuludq       %xmm6,%xmm0
+  DB  102,15,244,206                      ; pmuludq       %xmm6,%xmm1
+  DB  102,15,112,201,232                  ; pshufd        $0xe8,%xmm1,%xmm1
+  DB  102,15,112,224,232                  ; pshufd        $0xe8,%xmm0,%xmm4
+  DB  102,15,98,225                       ; punpckldq     %xmm1,%xmm4
+  DB  102,65,15,126,192                   ; movd          %xmm0,%r8d
+  DB  102,15,112,196,229                  ; pshufd        $0xe5,%xmm4,%xmm0
+  DB  102,65,15,126,193                   ; movd          %xmm0,%r9d
+  DB  102,15,112,196,78                   ; pshufd        $0x4e,%xmm4,%xmm0
+  DB  102,65,15,126,194                   ; movd          %xmm0,%r10d
+  DB  102,15,112,196,231                  ; pshufd        $0xe7,%xmm4,%xmm0
+  DB  102,15,126,192                      ; movd          %xmm0,%eax
+  DB  243,15,16,4,131                     ; movss         (%rbx,%rax,4),%xmm0
+  DB  243,66,15,16,52,147                 ; movss         (%rbx,%r10,4),%xmm6
+  DB  15,20,240                           ; unpcklps      %xmm0,%xmm6
+  DB  243,66,15,16,4,139                  ; movss         (%rbx,%r9,4),%xmm0
+  DB  243,66,15,16,12,131                 ; movss         (%rbx,%r8,4),%xmm1
+  DB  15,20,200                           ; unpcklps      %xmm0,%xmm1
+  DB  102,15,20,206                       ; unpcklpd      %xmm6,%xmm1
+  DB  102,15,111,196                      ; movdqa        %xmm4,%xmm0
+  DB  102,15,250,197                      ; psubd         %xmm5,%xmm0
+  DB  102,15,112,240,78                   ; pshufd        $0x4e,%xmm0,%xmm6
+  DB  102,73,15,126,240                   ; movq          %xmm6,%r8
+  DB  102,72,15,126,192                   ; movq          %xmm0,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  243,15,16,52,131                    ; movss         (%rbx,%rax,4),%xmm6
+  DB  243,66,15,16,4,139                  ; movss         (%rbx,%r9,4),%xmm0
+  DB  15,20,198                           ; unpcklps      %xmm6,%xmm0
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,52,131                 ; movss         (%rbx,%r8,4),%xmm6
+  DB  243,15,16,44,131                    ; movss         (%rbx,%rax,4),%xmm5
+  DB  15,20,238                           ; unpcklps      %xmm6,%xmm5
+  DB  102,15,20,197                       ; unpcklpd      %xmm5,%xmm0
+  DB  102,65,15,254,231                   ; paddd         %xmm15,%xmm4
+  DB  102,15,112,236,78                   ; pshufd        $0x4e,%xmm4,%xmm5
+  DB  102,73,15,126,232                   ; movq          %xmm5,%r8
+  DB  102,72,15,126,224                   ; movq          %xmm4,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  243,15,16,44,131                    ; movss         (%rbx,%rax,4),%xmm5
+  DB  243,66,15,16,36,139                 ; movss         (%rbx,%r9,4),%xmm4
+  DB  15,20,229                           ; unpcklps      %xmm5,%xmm4
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,44,131                 ; movss         (%rbx,%r8,4),%xmm5
+  DB  243,15,16,52,131                    ; movss         (%rbx,%rax,4),%xmm6
+  DB  15,20,245                           ; unpcklps      %xmm5,%xmm6
+  DB  102,15,20,230                       ; unpcklpd      %xmm6,%xmm4
+  DB  15,92,203                           ; subps         %xmm3,%xmm1
+  DB  15,40,172,36,160,0,0,0              ; movaps        0xa0(%rsp),%xmm5
+  DB  15,89,205                           ; mulps         %xmm5,%xmm1
+  DB  15,88,203                           ; addps         %xmm3,%xmm1
+  DB  15,92,199                           ; subps         %xmm7,%xmm0
+  DB  15,89,197                           ; mulps         %xmm5,%xmm0
+  DB  15,88,199                           ; addps         %xmm7,%xmm0
+  DB  15,92,226                           ; subps         %xmm2,%xmm4
+  DB  15,89,229                           ; mulps         %xmm5,%xmm4
+  DB  15,88,226                           ; addps         %xmm2,%xmm4
+  DB  102,68,15,254,140,36,144,0,0,0      ; paddd         0x90(%rsp),%xmm9
+  DB  102,65,15,111,217                   ; movdqa        %xmm9,%xmm3
+  DB  102,65,15,254,216                   ; paddd         %xmm8,%xmm3
+  DB  102,15,112,211,245                  ; pshufd        $0xf5,%xmm3,%xmm2
+  DB  102,15,111,45,115,3,1,0             ; movdqa        0x10373(%rip),%xmm5        # 35b40 <_sk_srcover_bgra_8888_sse2_lowp+0x1328>
+  DB  102,15,244,221                      ; pmuludq       %xmm5,%xmm3
+  DB  102,15,244,213                      ; pmuludq       %xmm5,%xmm2
+  DB  102,15,112,234,232                  ; pshufd        $0xe8,%xmm2,%xmm5
+  DB  102,15,112,211,232                  ; pshufd        $0xe8,%xmm3,%xmm2
+  DB  102,15,98,213                       ; punpckldq     %xmm5,%xmm2
+  DB  102,65,15,126,216                   ; movd          %xmm3,%r8d
+  DB  102,15,112,218,229                  ; pshufd        $0xe5,%xmm2,%xmm3
+  DB  102,65,15,126,217                   ; movd          %xmm3,%r9d
+  DB  102,15,112,218,78                   ; pshufd        $0x4e,%xmm2,%xmm3
+  DB  102,65,15,126,218                   ; movd          %xmm3,%r10d
+  DB  102,15,112,218,231                  ; pshufd        $0xe7,%xmm2,%xmm3
+  DB  102,15,126,216                      ; movd          %xmm3,%eax
+  DB  243,15,16,28,131                    ; movss         (%rbx,%rax,4),%xmm3
+  DB  243,66,15,16,44,147                 ; movss         (%rbx,%r10,4),%xmm5
+  DB  15,20,235                           ; unpcklps      %xmm3,%xmm5
+  DB  243,66,15,16,52,139                 ; movss         (%rbx,%r9,4),%xmm6
+  DB  243,70,15,16,4,131                  ; movss         (%rbx,%r8,4),%xmm8
+  DB  68,15,20,198                        ; unpcklps      %xmm6,%xmm8
+  DB  102,68,15,20,197                    ; unpcklpd      %xmm5,%xmm8
+  DB  102,15,111,234                      ; movdqa        %xmm2,%xmm5
+  DB  102,15,250,45,28,3,1,0              ; psubd         0x1031c(%rip),%xmm5        # 35b50 <_sk_srcover_bgra_8888_sse2_lowp+0x1338>
+  DB  102,15,112,245,78                   ; pshufd        $0x4e,%xmm5,%xmm6
+  DB  102,73,15,126,240                   ; movq          %xmm6,%r8
+  DB  102,72,15,126,232                   ; movq          %xmm5,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  243,15,16,44,131                    ; movss         (%rbx,%rax,4),%xmm5
+  DB  243,66,15,16,60,139                 ; movss         (%rbx,%r9,4),%xmm7
+  DB  15,20,253                           ; unpcklps      %xmm5,%xmm7
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,44,131                 ; movss         (%rbx,%r8,4),%xmm5
+  DB  243,15,16,52,131                    ; movss         (%rbx,%rax,4),%xmm6
+  DB  15,20,245                           ; unpcklps      %xmm5,%xmm6
+  DB  102,15,20,254                       ; unpcklpd      %xmm6,%xmm7
+  DB  102,65,15,254,215                   ; paddd         %xmm15,%xmm2
+  DB  102,15,112,234,78                   ; pshufd        $0x4e,%xmm2,%xmm5
+  DB  102,73,15,126,232                   ; movq          %xmm5,%r8
+  DB  102,72,15,126,208                   ; movq          %xmm2,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  243,15,16,44,131                    ; movss         (%rbx,%rax,4),%xmm5
+  DB  243,66,15,16,20,139                 ; movss         (%rbx,%r9,4),%xmm2
+  DB  15,20,213                           ; unpcklps      %xmm5,%xmm2
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,44,131                 ; movss         (%rbx,%r8,4),%xmm5
+  DB  243,15,16,52,131                    ; movss         (%rbx,%rax,4),%xmm6
+  DB  15,20,245                           ; unpcklps      %xmm5,%xmm6
+  DB  102,15,20,214                       ; unpcklpd      %xmm6,%xmm2
+  DB  102,69,15,254,205                   ; paddd         %xmm13,%xmm9
+  DB  102,65,15,112,233,245               ; pshufd        $0xf5,%xmm9,%xmm5
+  DB  102,15,111,29,122,2,1,0             ; movdqa        0x1027a(%rip),%xmm3        # 35b40 <_sk_srcover_bgra_8888_sse2_lowp+0x1328>
+  DB  102,68,15,244,203                   ; pmuludq       %xmm3,%xmm9
+  DB  102,15,244,235                      ; pmuludq       %xmm3,%xmm5
+  DB  102,15,112,237,232                  ; pshufd        $0xe8,%xmm5,%xmm5
+  DB  102,69,15,112,249,232               ; pshufd        $0xe8,%xmm9,%xmm15
+  DB  102,68,15,98,253                    ; punpckldq     %xmm5,%xmm15
+  DB  102,69,15,126,200                   ; movd          %xmm9,%r8d
+  DB  102,65,15,112,239,229               ; pshufd        $0xe5,%xmm15,%xmm5
+  DB  102,65,15,126,233                   ; movd          %xmm5,%r9d
+  DB  102,65,15,112,239,78                ; pshufd        $0x4e,%xmm15,%xmm5
+  DB  102,65,15,126,234                   ; movd          %xmm5,%r10d
+  DB  102,65,15,112,239,231               ; pshufd        $0xe7,%xmm15,%xmm5
+  DB  102,15,126,232                      ; movd          %xmm5,%eax
+  DB  243,68,15,16,12,131                 ; movss         (%rbx,%rax,4),%xmm9
+  DB  243,66,15,16,44,147                 ; movss         (%rbx,%r10,4),%xmm5
+  DB  65,15,20,233                        ; unpcklps      %xmm9,%xmm5
+  DB  243,70,15,16,12,139                 ; movss         (%rbx,%r9,4),%xmm9
+  DB  243,70,15,16,44,131                 ; movss         (%rbx,%r8,4),%xmm13
+  DB  69,15,20,233                        ; unpcklps      %xmm9,%xmm13
+  DB  102,68,15,20,237                    ; unpcklpd      %xmm5,%xmm13
+  DB  102,65,15,111,239                   ; movdqa        %xmm15,%xmm5
+  DB  102,15,250,45,26,2,1,0              ; psubd         0x1021a(%rip),%xmm5        # 35b50 <_sk_srcover_bgra_8888_sse2_lowp+0x1338>
+  DB  102,15,112,221,78                   ; pshufd        $0x4e,%xmm5,%xmm3
+  DB  102,73,15,126,216                   ; movq          %xmm3,%r8
+  DB  102,72,15,126,232                   ; movq          %xmm5,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  243,15,16,28,131                    ; movss         (%rbx,%rax,4),%xmm3
+  DB  243,66,15,16,52,139                 ; movss         (%rbx,%r9,4),%xmm6
+  DB  15,20,243                           ; unpcklps      %xmm3,%xmm6
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,28,131                 ; movss         (%rbx,%r8,4),%xmm3
+  DB  243,15,16,44,131                    ; movss         (%rbx,%rax,4),%xmm5
+  DB  15,20,235                           ; unpcklps      %xmm3,%xmm5
+  DB  102,15,20,245                       ; unpcklpd      %xmm5,%xmm6
+  DB  102,68,15,111,13,100,251,0,0        ; movdqa        0xfb64(%rip),%xmm9        # 354e0 <_sk_srcover_bgra_8888_sse2_lowp+0xcc8>
+  DB  102,69,15,254,249                   ; paddd         %xmm9,%xmm15
+  DB  102,65,15,112,223,78                ; pshufd        $0x4e,%xmm15,%xmm3
+  DB  102,73,15,126,216                   ; movq          %xmm3,%r8
+  DB  102,76,15,126,248                   ; movq          %xmm15,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  243,15,16,28,131                    ; movss         (%rbx,%rax,4),%xmm3
+  DB  243,70,15,16,60,139                 ; movss         (%rbx,%r9,4),%xmm15
+  DB  68,15,20,251                        ; unpcklps      %xmm3,%xmm15
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,28,131                 ; movss         (%rbx,%r8,4),%xmm3
+  DB  243,15,16,44,131                    ; movss         (%rbx,%rax,4),%xmm5
+  DB  15,20,235                           ; unpcklps      %xmm3,%xmm5
+  DB  102,68,15,20,253                    ; unpcklpd      %xmm5,%xmm15
+  DB  69,15,92,232                        ; subps         %xmm8,%xmm13
+  DB  15,40,156,36,160,0,0,0              ; movaps        0xa0(%rsp),%xmm3
+  DB  68,15,89,235                        ; mulps         %xmm3,%xmm13
+  DB  69,15,88,232                        ; addps         %xmm8,%xmm13
+  DB  15,92,247                           ; subps         %xmm7,%xmm6
+  DB  15,89,243                           ; mulps         %xmm3,%xmm6
+  DB  15,88,247                           ; addps         %xmm7,%xmm6
+  DB  68,15,92,250                        ; subps         %xmm2,%xmm15
+  DB  68,15,89,251                        ; mulps         %xmm3,%xmm15
+  DB  68,15,40,195                        ; movaps        %xmm3,%xmm8
+  DB  68,15,88,250                        ; addps         %xmm2,%xmm15
+  DB  68,15,92,233                        ; subps         %xmm1,%xmm13
+  DB  15,40,84,36,16                      ; movaps        0x10(%rsp),%xmm2
+  DB  68,15,89,234                        ; mulps         %xmm2,%xmm13
+  DB  68,15,88,233                        ; addps         %xmm1,%xmm13
+  DB  65,15,40,205                        ; movaps        %xmm13,%xmm1
+  DB  15,92,240                           ; subps         %xmm0,%xmm6
+  DB  15,89,242                           ; mulps         %xmm2,%xmm6
+  DB  15,88,240                           ; addps         %xmm0,%xmm6
+  DB  68,15,92,252                        ; subps         %xmm4,%xmm15
+  DB  68,15,89,250                        ; mulps         %xmm2,%xmm15
+  DB  68,15,88,252                        ; addps         %xmm4,%xmm15
+  DB  15,91,68,36,80                      ; cvtdq2ps      0x50(%rsp),%xmm0
+  DB  15,40,84,36,112                     ; movaps        0x70(%rsp),%xmm2
+  DB  15,92,208                           ; subps         %xmm0,%xmm2
+  DB  15,41,84,36,112                     ; movaps        %xmm2,0x70(%rsp)
+  DB  65,15,92,203                        ; subps         %xmm11,%xmm1
+  DB  15,89,202                           ; mulps         %xmm2,%xmm1
+  DB  65,15,88,203                        ; addps         %xmm11,%xmm1
+  DB  15,41,76,36,80                      ; movaps        %xmm1,0x50(%rsp)
+  DB  65,15,92,242                        ; subps         %xmm10,%xmm6
+  DB  15,89,242                           ; mulps         %xmm2,%xmm6
+  DB  65,15,88,242                        ; addps         %xmm10,%xmm6
+  DB  15,41,116,36,64                     ; movaps        %xmm6,0x40(%rsp)
+  DB  69,15,92,252                        ; subps         %xmm12,%xmm15
+  DB  68,15,89,250                        ; mulps         %xmm2,%xmm15
+  DB  69,15,88,252                        ; addps         %xmm12,%xmm15
+  DB  243,15,91,68,36,48                  ; cvttps2dq     0x30(%rsp),%xmm0
+  DB  102,15,127,68,36,48                 ; movdqa        %xmm0,0x30(%rsp)
+  DB  102,68,15,254,240                   ; paddd         %xmm0,%xmm14
+  DB  102,15,111,156,36,128,0,0,0         ; movdqa        0x80(%rsp),%xmm3
+  DB  102,65,15,254,222                   ; paddd         %xmm14,%xmm3
+  DB  102,68,15,111,92,36,32              ; movdqa        0x20(%rsp),%xmm11
+  DB  102,65,15,111,195                   ; movdqa        %xmm11,%xmm0
+  DB  102,15,254,195                      ; paddd         %xmm3,%xmm0
+  DB  102,15,112,200,245                  ; pshufd        $0xf5,%xmm0,%xmm1
+  DB  102,15,111,21,174,0,1,0             ; movdqa        0x100ae(%rip),%xmm2        # 35b40 <_sk_srcover_bgra_8888_sse2_lowp+0x1328>
+  DB  102,15,244,194                      ; pmuludq       %xmm2,%xmm0
+  DB  102,15,244,202                      ; pmuludq       %xmm2,%xmm1
+  DB  102,68,15,111,234                   ; movdqa        %xmm2,%xmm13
+  DB  102,15,112,201,232                  ; pshufd        $0xe8,%xmm1,%xmm1
+  DB  102,15,112,208,232                  ; pshufd        $0xe8,%xmm0,%xmm2
+  DB  102,15,98,209                       ; punpckldq     %xmm1,%xmm2
+  DB  102,65,15,126,192                   ; movd          %xmm0,%r8d
+  DB  102,15,112,194,229                  ; pshufd        $0xe5,%xmm2,%xmm0
+  DB  102,65,15,126,193                   ; movd          %xmm0,%r9d
+  DB  102,15,112,194,78                   ; pshufd        $0x4e,%xmm2,%xmm0
+  DB  102,65,15,126,194                   ; movd          %xmm0,%r10d
+  DB  102,15,112,194,231                  ; pshufd        $0xe7,%xmm2,%xmm0
+  DB  102,15,126,192                      ; movd          %xmm0,%eax
+  DB  243,15,16,4,131                     ; movss         (%rbx,%rax,4),%xmm0
+  DB  243,66,15,16,36,147                 ; movss         (%rbx,%r10,4),%xmm4
+  DB  15,20,224                           ; unpcklps      %xmm0,%xmm4
+  DB  243,66,15,16,4,139                  ; movss         (%rbx,%r9,4),%xmm0
+  DB  243,66,15,16,12,131                 ; movss         (%rbx,%r8,4),%xmm1
+  DB  15,20,200                           ; unpcklps      %xmm0,%xmm1
+  DB  102,15,20,204                       ; unpcklpd      %xmm4,%xmm1
+  DB  102,15,111,194                      ; movdqa        %xmm2,%xmm0
+  DB  102,15,118,255                      ; pcmpeqd       %xmm7,%xmm7
+  DB  102,15,250,199                      ; psubd         %xmm7,%xmm0
+  DB  102,15,112,224,78                   ; pshufd        $0x4e,%xmm0,%xmm4
+  DB  102,73,15,126,224                   ; movq          %xmm4,%r8
+  DB  102,72,15,126,192                   ; movq          %xmm0,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  243,15,16,36,131                    ; movss         (%rbx,%rax,4),%xmm4
+  DB  243,66,15,16,4,139                  ; movss         (%rbx,%r9,4),%xmm0
+  DB  15,20,196                           ; unpcklps      %xmm4,%xmm0
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,36,131                 ; movss         (%rbx,%r8,4),%xmm4
+  DB  243,15,16,44,131                    ; movss         (%rbx,%rax,4),%xmm5
+  DB  15,20,236                           ; unpcklps      %xmm4,%xmm5
+  DB  102,15,20,197                       ; unpcklpd      %xmm5,%xmm0
+  DB  102,65,15,254,209                   ; paddd         %xmm9,%xmm2
+  DB  102,15,112,226,78                   ; pshufd        $0x4e,%xmm2,%xmm4
+  DB  102,73,15,126,224                   ; movq          %xmm4,%r8
+  DB  102,72,15,126,208                   ; movq          %xmm2,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  243,15,16,36,131                    ; movss         (%rbx,%rax,4),%xmm4
+  DB  243,66,15,16,20,139                 ; movss         (%rbx,%r9,4),%xmm2
+  DB  15,20,212                           ; unpcklps      %xmm4,%xmm2
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,36,131                 ; movss         (%rbx,%r8,4),%xmm4
+  DB  243,15,16,44,131                    ; movss         (%rbx,%rax,4),%xmm5
+  DB  15,20,236                           ; unpcklps      %xmm4,%xmm5
+  DB  102,15,20,213                       ; unpcklpd      %xmm5,%xmm2
+  DB  102,68,15,111,84,36,96              ; movdqa        0x60(%rsp),%xmm10
+  DB  102,65,15,254,218                   ; paddd         %xmm10,%xmm3
+  DB  102,15,112,227,245                  ; pshufd        $0xf5,%xmm3,%xmm4
+  DB  102,65,15,244,221                   ; pmuludq       %xmm13,%xmm3
+  DB  102,65,15,244,229                   ; pmuludq       %xmm13,%xmm4
+  DB  102,15,112,236,232                  ; pshufd        $0xe8,%xmm4,%xmm5
+  DB  102,15,112,227,232                  ; pshufd        $0xe8,%xmm3,%xmm4
+  DB  102,15,98,229                       ; punpckldq     %xmm5,%xmm4
+  DB  102,65,15,126,216                   ; movd          %xmm3,%r8d
+  DB  102,15,112,220,229                  ; pshufd        $0xe5,%xmm4,%xmm3
+  DB  102,65,15,126,217                   ; movd          %xmm3,%r9d
+  DB  102,15,112,220,78                   ; pshufd        $0x4e,%xmm4,%xmm3
+  DB  102,65,15,126,218                   ; movd          %xmm3,%r10d
+  DB  102,15,112,220,231                  ; pshufd        $0xe7,%xmm4,%xmm3
+  DB  102,15,126,216                      ; movd          %xmm3,%eax
+  DB  243,15,16,28,131                    ; movss         (%rbx,%rax,4),%xmm3
+  DB  243,66,15,16,44,147                 ; movss         (%rbx,%r10,4),%xmm5
+  DB  15,20,235                           ; unpcklps      %xmm3,%xmm5
+  DB  243,66,15,16,52,139                 ; movss         (%rbx,%r9,4),%xmm6
+  DB  243,66,15,16,28,131                 ; movss         (%rbx,%r8,4),%xmm3
+  DB  15,20,222                           ; unpcklps      %xmm6,%xmm3
+  DB  102,15,20,221                       ; unpcklpd      %xmm5,%xmm3
+  DB  102,15,111,236                      ; movdqa        %xmm4,%xmm5
+  DB  102,15,250,239                      ; psubd         %xmm7,%xmm5
+  DB  102,69,15,118,228                   ; pcmpeqd       %xmm12,%xmm12
+  DB  102,15,112,245,78                   ; pshufd        $0x4e,%xmm5,%xmm6
+  DB  102,73,15,126,240                   ; movq          %xmm6,%r8
+  DB  102,72,15,126,232                   ; movq          %xmm5,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  243,15,16,52,131                    ; movss         (%rbx,%rax,4),%xmm6
+  DB  243,66,15,16,44,139                 ; movss         (%rbx,%r9,4),%xmm5
+  DB  15,20,238                           ; unpcklps      %xmm6,%xmm5
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,52,131                 ; movss         (%rbx,%r8,4),%xmm6
+  DB  243,15,16,60,131                    ; movss         (%rbx,%rax,4),%xmm7
+  DB  15,20,254                           ; unpcklps      %xmm6,%xmm7
+  DB  102,15,20,239                       ; unpcklpd      %xmm7,%xmm5
+  DB  102,65,15,254,225                   ; paddd         %xmm9,%xmm4
+  DB  102,15,112,244,78                   ; pshufd        $0x4e,%xmm4,%xmm6
+  DB  102,73,15,126,240                   ; movq          %xmm6,%r8
+  DB  102,72,15,126,224                   ; movq          %xmm4,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  243,15,16,36,131                    ; movss         (%rbx,%rax,4),%xmm4
+  DB  243,66,15,16,60,139                 ; movss         (%rbx,%r9,4),%xmm7
+  DB  15,20,252                           ; unpcklps      %xmm4,%xmm7
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,36,131                 ; movss         (%rbx,%r8,4),%xmm4
+  DB  243,15,16,52,131                    ; movss         (%rbx,%rax,4),%xmm6
+  DB  15,20,244                           ; unpcklps      %xmm4,%xmm6
+  DB  102,15,20,254                       ; unpcklpd      %xmm6,%xmm7
+  DB  15,92,217                           ; subps         %xmm1,%xmm3
+  DB  65,15,89,216                        ; mulps         %xmm8,%xmm3
+  DB  15,88,217                           ; addps         %xmm1,%xmm3
+  DB  15,92,232                           ; subps         %xmm0,%xmm5
+  DB  65,15,89,232                        ; mulps         %xmm8,%xmm5
+  DB  15,88,232                           ; addps         %xmm0,%xmm5
+  DB  15,92,250                           ; subps         %xmm2,%xmm7
+  DB  65,15,89,248                        ; mulps         %xmm8,%xmm7
+  DB  15,88,250                           ; addps         %xmm2,%xmm7
+  DB  102,68,15,254,180,36,144,0,0,0      ; paddd         0x90(%rsp),%xmm14
+  DB  102,65,15,111,206                   ; movdqa        %xmm14,%xmm1
+  DB  102,65,15,254,203                   ; paddd         %xmm11,%xmm1
+  DB  102,15,112,193,245                  ; pshufd        $0xf5,%xmm1,%xmm0
+  DB  102,65,15,244,205                   ; pmuludq       %xmm13,%xmm1
+  DB  102,65,15,244,197                   ; pmuludq       %xmm13,%xmm0
+  DB  102,15,112,208,232                  ; pshufd        $0xe8,%xmm0,%xmm2
+  DB  102,15,112,193,232                  ; pshufd        $0xe8,%xmm1,%xmm0
+  DB  102,15,98,194                       ; punpckldq     %xmm2,%xmm0
+  DB  102,65,15,126,200                   ; movd          %xmm1,%r8d
+  DB  102,15,112,200,229                  ; pshufd        $0xe5,%xmm0,%xmm1
+  DB  102,65,15,126,201                   ; movd          %xmm1,%r9d
+  DB  102,15,112,200,78                   ; pshufd        $0x4e,%xmm0,%xmm1
+  DB  102,65,15,126,202                   ; movd          %xmm1,%r10d
+  DB  102,15,112,200,231                  ; pshufd        $0xe7,%xmm0,%xmm1
+  DB  102,15,126,200                      ; movd          %xmm1,%eax
+  DB  243,15,16,12,131                    ; movss         (%rbx,%rax,4),%xmm1
+  DB  243,66,15,16,36,147                 ; movss         (%rbx,%r10,4),%xmm4
+  DB  15,20,225                           ; unpcklps      %xmm1,%xmm4
+  DB  243,66,15,16,12,139                 ; movss         (%rbx,%r9,4),%xmm1
+  DB  243,70,15,16,28,131                 ; movss         (%rbx,%r8,4),%xmm11
+  DB  68,15,20,217                        ; unpcklps      %xmm1,%xmm11
+  DB  102,68,15,20,220                    ; unpcklpd      %xmm4,%xmm11
+  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
+  DB  102,65,15,250,204                   ; psubd         %xmm12,%xmm1
+  DB  102,15,112,225,78                   ; pshufd        $0x4e,%xmm1,%xmm4
+  DB  102,73,15,126,224                   ; movq          %xmm4,%r8
+  DB  102,72,15,126,200                   ; movq          %xmm1,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  243,15,16,36,131                    ; movss         (%rbx,%rax,4),%xmm4
+  DB  243,66,15,16,12,139                 ; movss         (%rbx,%r9,4),%xmm1
+  DB  15,20,204                           ; unpcklps      %xmm4,%xmm1
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,36,131                 ; movss         (%rbx,%r8,4),%xmm4
+  DB  243,15,16,52,131                    ; movss         (%rbx,%rax,4),%xmm6
+  DB  15,20,244                           ; unpcklps      %xmm4,%xmm6
+  DB  102,15,20,206                       ; unpcklpd      %xmm6,%xmm1
+  DB  102,65,15,254,193                   ; paddd         %xmm9,%xmm0
+  DB  102,15,112,224,78                   ; pshufd        $0x4e,%xmm0,%xmm4
+  DB  102,73,15,126,224                   ; movq          %xmm4,%r8
+  DB  102,72,15,126,192                   ; movq          %xmm0,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  243,15,16,36,131                    ; movss         (%rbx,%rax,4),%xmm4
+  DB  243,66,15,16,4,139                  ; movss         (%rbx,%r9,4),%xmm0
+  DB  15,20,196                           ; unpcklps      %xmm4,%xmm0
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,36,131                 ; movss         (%rbx,%r8,4),%xmm4
+  DB  243,15,16,52,131                    ; movss         (%rbx,%rax,4),%xmm6
+  DB  15,20,244                           ; unpcklps      %xmm4,%xmm6
+  DB  102,15,20,198                       ; unpcklpd      %xmm6,%xmm0
+  DB  102,69,15,254,242                   ; paddd         %xmm10,%xmm14
+  DB  102,69,15,111,226                   ; movdqa        %xmm10,%xmm12
+  DB  102,65,15,112,230,245               ; pshufd        $0xf5,%xmm14,%xmm4
+  DB  102,69,15,244,245                   ; pmuludq       %xmm13,%xmm14
+  DB  102,65,15,244,229                   ; pmuludq       %xmm13,%xmm4
+  DB  102,15,112,244,232                  ; pshufd        $0xe8,%xmm4,%xmm6
+  DB  102,65,15,112,230,232               ; pshufd        $0xe8,%xmm14,%xmm4
+  DB  102,15,98,230                       ; punpckldq     %xmm6,%xmm4
+  DB  102,69,15,126,240                   ; movd          %xmm14,%r8d
+  DB  102,15,112,244,229                  ; pshufd        $0xe5,%xmm4,%xmm6
+  DB  102,65,15,126,241                   ; movd          %xmm6,%r9d
+  DB  102,15,112,244,78                   ; pshufd        $0x4e,%xmm4,%xmm6
+  DB  102,65,15,126,242                   ; movd          %xmm6,%r10d
+  DB  102,15,112,244,231                  ; pshufd        $0xe7,%xmm4,%xmm6
+  DB  102,15,126,240                      ; movd          %xmm6,%eax
+  DB  243,15,16,52,131                    ; movss         (%rbx,%rax,4),%xmm6
+  DB  243,66,15,16,20,147                 ; movss         (%rbx,%r10,4),%xmm2
+  DB  15,20,214                           ; unpcklps      %xmm6,%xmm2
+  DB  243,66,15,16,52,139                 ; movss         (%rbx,%r9,4),%xmm6
+  DB  243,70,15,16,44,131                 ; movss         (%rbx,%r8,4),%xmm13
+  DB  68,15,20,238                        ; unpcklps      %xmm6,%xmm13
+  DB  102,68,15,20,234                    ; unpcklpd      %xmm2,%xmm13
+  DB  102,15,111,212                      ; movdqa        %xmm4,%xmm2
+  DB  102,15,250,21,71,253,0,0            ; psubd         0xfd47(%rip),%xmm2        # 35b50 <_sk_srcover_bgra_8888_sse2_lowp+0x1338>
+  DB  102,15,112,242,78                   ; pshufd        $0x4e,%xmm2,%xmm6
+  DB  102,73,15,126,240                   ; movq          %xmm6,%r8
+  DB  102,72,15,126,208                   ; movq          %xmm2,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  243,15,16,20,131                    ; movss         (%rbx,%rax,4),%xmm2
+  DB  243,70,15,16,20,139                 ; movss         (%rbx,%r9,4),%xmm10
+  DB  68,15,20,210                        ; unpcklps      %xmm2,%xmm10
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,20,131                 ; movss         (%rbx,%r8,4),%xmm2
+  DB  243,15,16,52,131                    ; movss         (%rbx,%rax,4),%xmm6
+  DB  15,20,242                           ; unpcklps      %xmm2,%xmm6
+  DB  102,68,15,20,214                    ; unpcklpd      %xmm6,%xmm10
+  DB  102,65,15,254,225                   ; paddd         %xmm9,%xmm4
+  DB  102,15,112,212,78                   ; pshufd        $0x4e,%xmm4,%xmm2
+  DB  102,73,15,126,208                   ; movq          %xmm2,%r8
+  DB  102,72,15,126,224                   ; movq          %xmm4,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  243,15,16,20,131                    ; movss         (%rbx,%rax,4),%xmm2
+  DB  243,70,15,16,12,139                 ; movss         (%rbx,%r9,4),%xmm9
+  DB  68,15,20,202                        ; unpcklps      %xmm2,%xmm9
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,20,131                 ; movss         (%rbx,%r8,4),%xmm2
+  DB  243,15,16,52,131                    ; movss         (%rbx,%rax,4),%xmm6
+  DB  15,20,242                           ; unpcklps      %xmm2,%xmm6
+  DB  102,68,15,20,206                    ; unpcklpd      %xmm6,%xmm9
+  DB  69,15,92,235                        ; subps         %xmm11,%xmm13
+  DB  69,15,89,232                        ; mulps         %xmm8,%xmm13
+  DB  69,15,88,235                        ; addps         %xmm11,%xmm13
+  DB  68,15,92,209                        ; subps         %xmm1,%xmm10
+  DB  69,15,89,208                        ; mulps         %xmm8,%xmm10
+  DB  68,15,88,209                        ; addps         %xmm1,%xmm10
+  DB  68,15,92,200                        ; subps         %xmm0,%xmm9
+  DB  69,15,89,200                        ; mulps         %xmm8,%xmm9
+  DB  69,15,40,216                        ; movaps        %xmm8,%xmm11
+  DB  68,15,88,200                        ; addps         %xmm0,%xmm9
+  DB  68,15,92,235                        ; subps         %xmm3,%xmm13
+  DB  15,40,68,36,16                      ; movaps        0x10(%rsp),%xmm0
+  DB  68,15,89,232                        ; mulps         %xmm0,%xmm13
+  DB  68,15,88,235                        ; addps         %xmm3,%xmm13
+  DB  68,15,92,213                        ; subps         %xmm5,%xmm10
+  DB  68,15,89,208                        ; mulps         %xmm0,%xmm10
+  DB  68,15,88,213                        ; addps         %xmm5,%xmm10
+  DB  68,15,92,207                        ; subps         %xmm7,%xmm9
+  DB  68,15,89,200                        ; mulps         %xmm0,%xmm9
+  DB  68,15,88,207                        ; addps         %xmm7,%xmm9
+  DB  102,15,111,4,36                     ; movdqa        (%rsp),%xmm0
+  DB  102,15,254,68,36,48                 ; paddd         0x30(%rsp),%xmm0
+  DB  102,15,127,4,36                     ; movdqa        %xmm0,(%rsp)
+  DB  102,15,111,140,36,128,0,0,0         ; movdqa        0x80(%rsp),%xmm1
+  DB  102,15,254,200                      ; paddd         %xmm0,%xmm1
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,15,111,225                      ; movdqa        %xmm1,%xmm4
+  DB  102,68,15,111,116,36,32             ; movdqa        0x20(%rsp),%xmm14
+  DB  102,65,15,254,198                   ; paddd         %xmm14,%xmm0
+  DB  102,15,112,200,245                  ; pshufd        $0xf5,%xmm0,%xmm1
+  DB  102,68,15,111,5,36,252,0,0          ; movdqa        0xfc24(%rip),%xmm8        # 35b40 <_sk_srcover_bgra_8888_sse2_lowp+0x1328>
+  DB  102,65,15,244,192                   ; pmuludq       %xmm8,%xmm0
+  DB  102,65,15,244,200                   ; pmuludq       %xmm8,%xmm1
+  DB  102,65,15,111,240                   ; movdqa        %xmm8,%xmm6
+  DB  102,15,112,201,232                  ; pshufd        $0xe8,%xmm1,%xmm1
+  DB  102,15,112,208,232                  ; pshufd        $0xe8,%xmm0,%xmm2
+  DB  102,15,98,209                       ; punpckldq     %xmm1,%xmm2
+  DB  102,65,15,126,192                   ; movd          %xmm0,%r8d
+  DB  102,15,112,194,229                  ; pshufd        $0xe5,%xmm2,%xmm0
+  DB  102,65,15,126,193                   ; movd          %xmm0,%r9d
+  DB  102,15,112,194,78                   ; pshufd        $0x4e,%xmm2,%xmm0
+  DB  102,65,15,126,194                   ; movd          %xmm0,%r10d
+  DB  102,15,112,194,231                  ; pshufd        $0xe7,%xmm2,%xmm0
+  DB  102,15,126,192                      ; movd          %xmm0,%eax
+  DB  243,15,16,4,131                     ; movss         (%rbx,%rax,4),%xmm0
+  DB  243,66,15,16,12,147                 ; movss         (%rbx,%r10,4),%xmm1
+  DB  15,20,200                           ; unpcklps      %xmm0,%xmm1
+  DB  243,66,15,16,28,139                 ; movss         (%rbx,%r9,4),%xmm3
+  DB  243,66,15,16,4,131                  ; movss         (%rbx,%r8,4),%xmm0
+  DB  15,20,195                           ; unpcklps      %xmm3,%xmm0
+  DB  102,15,20,193                       ; unpcklpd      %xmm1,%xmm0
+  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
+  DB  102,15,118,255                      ; pcmpeqd       %xmm7,%xmm7
+  DB  102,15,250,207                      ; psubd         %xmm7,%xmm1
+  DB  102,15,112,217,78                   ; pshufd        $0x4e,%xmm1,%xmm3
+  DB  102,73,15,126,216                   ; movq          %xmm3,%r8
+  DB  102,72,15,126,200                   ; movq          %xmm1,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  243,15,16,28,131                    ; movss         (%rbx,%rax,4),%xmm3
+  DB  243,66,15,16,12,139                 ; movss         (%rbx,%r9,4),%xmm1
+  DB  15,20,203                           ; unpcklps      %xmm3,%xmm1
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,28,131                 ; movss         (%rbx,%r8,4),%xmm3
+  DB  243,15,16,44,131                    ; movss         (%rbx,%rax,4),%xmm5
+  DB  15,20,235                           ; unpcklps      %xmm3,%xmm5
+  DB  102,15,20,205                       ; unpcklpd      %xmm5,%xmm1
+  DB  102,68,15,111,5,18,245,0,0          ; movdqa        0xf512(%rip),%xmm8        # 354e0 <_sk_srcover_bgra_8888_sse2_lowp+0xcc8>
+  DB  102,65,15,254,208                   ; paddd         %xmm8,%xmm2
+  DB  102,15,112,218,78                   ; pshufd        $0x4e,%xmm2,%xmm3
+  DB  102,73,15,126,216                   ; movq          %xmm3,%r8
+  DB  102,72,15,126,208                   ; movq          %xmm2,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  243,15,16,28,131                    ; movss         (%rbx,%rax,4),%xmm3
+  DB  243,66,15,16,20,139                 ; movss         (%rbx,%r9,4),%xmm2
+  DB  15,20,211                           ; unpcklps      %xmm3,%xmm2
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,28,131                 ; movss         (%rbx,%r8,4),%xmm3
+  DB  243,15,16,44,131                    ; movss         (%rbx,%rax,4),%xmm5
+  DB  15,20,235                           ; unpcklps      %xmm3,%xmm5
+  DB  102,15,20,213                       ; unpcklpd      %xmm5,%xmm2
+  DB  102,65,15,254,228                   ; paddd         %xmm12,%xmm4
+  DB  102,15,112,220,245                  ; pshufd        $0xf5,%xmm4,%xmm3
+  DB  102,15,244,230                      ; pmuludq       %xmm6,%xmm4
+  DB  102,15,244,222                      ; pmuludq       %xmm6,%xmm3
+  DB  102,15,112,235,232                  ; pshufd        $0xe8,%xmm3,%xmm5
+  DB  102,15,112,220,232                  ; pshufd        $0xe8,%xmm4,%xmm3
+  DB  102,15,98,221                       ; punpckldq     %xmm5,%xmm3
+  DB  102,65,15,126,224                   ; movd          %xmm4,%r8d
+  DB  102,15,112,235,229                  ; pshufd        $0xe5,%xmm3,%xmm5
+  DB  102,65,15,126,233                   ; movd          %xmm5,%r9d
+  DB  102,15,112,235,78                   ; pshufd        $0x4e,%xmm3,%xmm5
+  DB  102,65,15,126,234                   ; movd          %xmm5,%r10d
+  DB  102,15,112,235,231                  ; pshufd        $0xe7,%xmm3,%xmm5
+  DB  102,15,126,232                      ; movd          %xmm5,%eax
+  DB  243,15,16,44,131                    ; movss         (%rbx,%rax,4),%xmm5
+  DB  243,66,15,16,52,147                 ; movss         (%rbx,%r10,4),%xmm6
+  DB  15,20,245                           ; unpcklps      %xmm5,%xmm6
+  DB  243,66,15,16,44,139                 ; movss         (%rbx,%r9,4),%xmm5
+  DB  243,70,15,16,36,131                 ; movss         (%rbx,%r8,4),%xmm12
+  DB  68,15,20,229                        ; unpcklps      %xmm5,%xmm12
+  DB  102,68,15,20,230                    ; unpcklpd      %xmm6,%xmm12
+  DB  102,15,111,235                      ; movdqa        %xmm3,%xmm5
+  DB  102,15,250,239                      ; psubd         %xmm7,%xmm5
+  DB  102,15,112,245,78                   ; pshufd        $0x4e,%xmm5,%xmm6
+  DB  102,73,15,126,240                   ; movq          %xmm6,%r8
+  DB  102,72,15,126,232                   ; movq          %xmm5,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  243,15,16,44,131                    ; movss         (%rbx,%rax,4),%xmm5
+  DB  243,66,15,16,60,139                 ; movss         (%rbx,%r9,4),%xmm7
+  DB  15,20,253                           ; unpcklps      %xmm5,%xmm7
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,44,131                 ; movss         (%rbx,%r8,4),%xmm5
+  DB  243,15,16,52,131                    ; movss         (%rbx,%rax,4),%xmm6
+  DB  15,20,245                           ; unpcklps      %xmm5,%xmm6
+  DB  102,15,20,254                       ; unpcklpd      %xmm6,%xmm7
+  DB  102,65,15,254,216                   ; paddd         %xmm8,%xmm3
+  DB  102,15,112,235,78                   ; pshufd        $0x4e,%xmm3,%xmm5
+  DB  102,73,15,126,232                   ; movq          %xmm5,%r8
+  DB  102,72,15,126,216                   ; movq          %xmm3,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  243,15,16,28,131                    ; movss         (%rbx,%rax,4),%xmm3
+  DB  243,66,15,16,44,139                 ; movss         (%rbx,%r9,4),%xmm5
+  DB  15,20,235                           ; unpcklps      %xmm3,%xmm5
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,28,131                 ; movss         (%rbx,%r8,4),%xmm3
+  DB  243,15,16,52,131                    ; movss         (%rbx,%rax,4),%xmm6
+  DB  15,20,243                           ; unpcklps      %xmm3,%xmm6
+  DB  102,15,20,238                       ; unpcklpd      %xmm6,%xmm5
+  DB  68,15,92,224                        ; subps         %xmm0,%xmm12
+  DB  69,15,89,227                        ; mulps         %xmm11,%xmm12
+  DB  68,15,88,224                        ; addps         %xmm0,%xmm12
+  DB  15,92,249                           ; subps         %xmm1,%xmm7
+  DB  65,15,89,251                        ; mulps         %xmm11,%xmm7
+  DB  15,88,249                           ; addps         %xmm1,%xmm7
+  DB  15,92,234                           ; subps         %xmm2,%xmm5
+  DB  65,15,89,235                        ; mulps         %xmm11,%xmm5
+  DB  15,88,234                           ; addps         %xmm2,%xmm5
+  DB  102,15,111,4,36                     ; movdqa        (%rsp),%xmm0
+  DB  102,15,254,132,36,144,0,0,0         ; paddd         0x90(%rsp),%xmm0
+  DB  102,65,15,111,214                   ; movdqa        %xmm14,%xmm2
+  DB  102,15,254,208                      ; paddd         %xmm0,%xmm2
+  DB  102,15,111,240                      ; movdqa        %xmm0,%xmm6
+  DB  102,15,112,194,245                  ; pshufd        $0xf5,%xmm2,%xmm0
+  DB  102,15,111,37,252,249,0,0           ; movdqa        0xf9fc(%rip),%xmm4        # 35b40 <_sk_srcover_bgra_8888_sse2_lowp+0x1328>
+  DB  102,15,244,212                      ; pmuludq       %xmm4,%xmm2
+  DB  102,15,244,196                      ; pmuludq       %xmm4,%xmm0
+  DB  102,15,112,200,232                  ; pshufd        $0xe8,%xmm0,%xmm1
+  DB  102,15,112,194,232                  ; pshufd        $0xe8,%xmm2,%xmm0
+  DB  102,15,98,193                       ; punpckldq     %xmm1,%xmm0
+  DB  102,65,15,126,208                   ; movd          %xmm2,%r8d
+  DB  102,15,112,200,229                  ; pshufd        $0xe5,%xmm0,%xmm1
+  DB  102,65,15,126,201                   ; movd          %xmm1,%r9d
+  DB  102,15,112,200,78                   ; pshufd        $0x4e,%xmm0,%xmm1
+  DB  102,65,15,126,202                   ; movd          %xmm1,%r10d
+  DB  102,15,112,200,231                  ; pshufd        $0xe7,%xmm0,%xmm1
+  DB  102,15,126,200                      ; movd          %xmm1,%eax
+  DB  243,15,16,12,131                    ; movss         (%rbx,%rax,4),%xmm1
+  DB  243,66,15,16,20,147                 ; movss         (%rbx,%r10,4),%xmm2
+  DB  15,20,209                           ; unpcklps      %xmm1,%xmm2
+  DB  243,66,15,16,12,139                 ; movss         (%rbx,%r9,4),%xmm1
+  DB  243,70,15,16,4,131                  ; movss         (%rbx,%r8,4),%xmm8
+  DB  68,15,20,193                        ; unpcklps      %xmm1,%xmm8
+  DB  102,68,15,20,194                    ; unpcklpd      %xmm2,%xmm8
+  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
+  DB  102,15,250,13,165,249,0,0           ; psubd         0xf9a5(%rip),%xmm1        # 35b50 <_sk_srcover_bgra_8888_sse2_lowp+0x1338>
+  DB  102,15,112,209,78                   ; pshufd        $0x4e,%xmm1,%xmm2
+  DB  102,73,15,126,208                   ; movq          %xmm2,%r8
+  DB  102,72,15,126,200                   ; movq          %xmm1,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  243,15,16,12,131                    ; movss         (%rbx,%rax,4),%xmm1
+  DB  243,70,15,16,52,139                 ; movss         (%rbx,%r9,4),%xmm14
+  DB  68,15,20,241                        ; unpcklps      %xmm1,%xmm14
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,12,131                 ; movss         (%rbx,%r8,4),%xmm1
+  DB  243,15,16,20,131                    ; movss         (%rbx,%rax,4),%xmm2
+  DB  15,20,209                           ; unpcklps      %xmm1,%xmm2
+  DB  102,68,15,20,242                    ; unpcklpd      %xmm2,%xmm14
+  DB  102,15,254,5,238,242,0,0            ; paddd         0xf2ee(%rip),%xmm0        # 354e0 <_sk_srcover_bgra_8888_sse2_lowp+0xcc8>
+  DB  102,15,112,200,78                   ; pshufd        $0x4e,%xmm0,%xmm1
+  DB  102,73,15,126,200                   ; movq          %xmm1,%r8
+  DB  102,72,15,126,192                   ; movq          %xmm0,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  243,15,16,4,131                     ; movss         (%rbx,%rax,4),%xmm0
+  DB  243,66,15,16,28,139                 ; movss         (%rbx,%r9,4),%xmm3
+  DB  15,20,216                           ; unpcklps      %xmm0,%xmm3
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,4,131                  ; movss         (%rbx,%r8,4),%xmm0
+  DB  243,15,16,12,131                    ; movss         (%rbx,%rax,4),%xmm1
+  DB  15,20,200                           ; unpcklps      %xmm0,%xmm1
+  DB  102,15,20,217                       ; unpcklpd      %xmm1,%xmm3
+  DB  102,15,111,206                      ; movdqa        %xmm6,%xmm1
+  DB  102,15,254,76,36,96                 ; paddd         0x60(%rsp),%xmm1
+  DB  102,15,112,193,245                  ; pshufd        $0xf5,%xmm1,%xmm0
+  DB  102,15,244,204                      ; pmuludq       %xmm4,%xmm1
+  DB  102,15,244,196                      ; pmuludq       %xmm4,%xmm0
+  DB  102,15,112,192,232                  ; pshufd        $0xe8,%xmm0,%xmm0
+  DB  102,15,112,209,232                  ; pshufd        $0xe8,%xmm1,%xmm2
+  DB  102,15,98,208                       ; punpckldq     %xmm0,%xmm2
+  DB  102,65,15,126,200                   ; movd          %xmm1,%r8d
+  DB  102,15,112,194,229                  ; pshufd        $0xe5,%xmm2,%xmm0
+  DB  102,65,15,126,193                   ; movd          %xmm0,%r9d
+  DB  102,15,112,194,78                   ; pshufd        $0x4e,%xmm2,%xmm0
+  DB  102,65,15,126,194                   ; movd          %xmm0,%r10d
+  DB  102,15,112,194,231                  ; pshufd        $0xe7,%xmm2,%xmm0
+  DB  102,15,126,192                      ; movd          %xmm0,%eax
+  DB  243,15,16,4,131                     ; movss         (%rbx,%rax,4),%xmm0
+  DB  243,66,15,16,12,147                 ; movss         (%rbx,%r10,4),%xmm1
+  DB  15,20,200                           ; unpcklps      %xmm0,%xmm1
+  DB  243,66,15,16,52,139                 ; movss         (%rbx,%r9,4),%xmm6
+  DB  243,66,15,16,4,131                  ; movss         (%rbx,%r8,4),%xmm0
+  DB  15,20,198                           ; unpcklps      %xmm6,%xmm0
+  DB  102,15,20,193                       ; unpcklpd      %xmm1,%xmm0
+  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
+  DB  102,15,250,13,173,248,0,0           ; psubd         0xf8ad(%rip),%xmm1        # 35b50 <_sk_srcover_bgra_8888_sse2_lowp+0x1338>
+  DB  102,15,112,241,78                   ; pshufd        $0x4e,%xmm1,%xmm6
+  DB  102,73,15,126,240                   ; movq          %xmm6,%r8
+  DB  102,72,15,126,200                   ; movq          %xmm1,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  243,15,16,52,131                    ; movss         (%rbx,%rax,4),%xmm6
+  DB  243,66,15,16,12,139                 ; movss         (%rbx,%r9,4),%xmm1
+  DB  15,20,206                           ; unpcklps      %xmm6,%xmm1
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,52,131                 ; movss         (%rbx,%r8,4),%xmm6
+  DB  243,15,16,36,131                    ; movss         (%rbx,%rax,4),%xmm4
+  DB  15,20,230                           ; unpcklps      %xmm6,%xmm4
+  DB  102,15,20,204                       ; unpcklpd      %xmm4,%xmm1
+  DB  102,15,254,21,248,241,0,0           ; paddd         0xf1f8(%rip),%xmm2        # 354e0 <_sk_srcover_bgra_8888_sse2_lowp+0xcc8>
+  DB  102,15,112,226,78                   ; pshufd        $0x4e,%xmm2,%xmm4
+  DB  102,73,15,126,224                   ; movq          %xmm4,%r8
+  DB  102,72,15,126,208                   ; movq          %xmm2,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  243,15,16,36,131                    ; movss         (%rbx,%rax,4),%xmm4
+  DB  243,66,15,16,20,139                 ; movss         (%rbx,%r9,4),%xmm2
+  DB  15,20,212                           ; unpcklps      %xmm4,%xmm2
+  DB  68,137,192                          ; mov           %r8d,%eax
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  243,66,15,16,36,131                 ; movss         (%rbx,%r8,4),%xmm4
+  DB  243,15,16,52,131                    ; movss         (%rbx,%rax,4),%xmm6
+  DB  15,20,244                           ; unpcklps      %xmm4,%xmm6
+  DB  102,15,20,214                       ; unpcklpd      %xmm6,%xmm2
+  DB  65,15,92,192                        ; subps         %xmm8,%xmm0
+  DB  65,15,89,195                        ; mulps         %xmm11,%xmm0
+  DB  65,15,88,192                        ; addps         %xmm8,%xmm0
+  DB  65,15,92,206                        ; subps         %xmm14,%xmm1
+  DB  65,15,89,203                        ; mulps         %xmm11,%xmm1
+  DB  65,15,88,206                        ; addps         %xmm14,%xmm1
+  DB  15,92,211                           ; subps         %xmm3,%xmm2
+  DB  65,15,89,211                        ; mulps         %xmm11,%xmm2
+  DB  15,88,211                           ; addps         %xmm3,%xmm2
+  DB  65,15,92,196                        ; subps         %xmm12,%xmm0
+  DB  15,40,92,36,16                      ; movaps        0x10(%rsp),%xmm3
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  65,15,88,196                        ; addps         %xmm12,%xmm0
+  DB  15,92,207                           ; subps         %xmm7,%xmm1
+  DB  15,89,203                           ; mulps         %xmm3,%xmm1
+  DB  15,88,207                           ; addps         %xmm7,%xmm1
+  DB  15,92,213                           ; subps         %xmm5,%xmm2
+  DB  15,89,211                           ; mulps         %xmm3,%xmm2
+  DB  15,88,213                           ; addps         %xmm5,%xmm2
+  DB  65,15,92,197                        ; subps         %xmm13,%xmm0
+  DB  15,40,92,36,112                     ; movaps        0x70(%rsp),%xmm3
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  65,15,88,197                        ; addps         %xmm13,%xmm0
+  DB  65,15,92,202                        ; subps         %xmm10,%xmm1
+  DB  15,89,203                           ; mulps         %xmm3,%xmm1
+  DB  65,15,88,202                        ; addps         %xmm10,%xmm1
+  DB  65,15,92,209                        ; subps         %xmm9,%xmm2
+  DB  15,89,211                           ; mulps         %xmm3,%xmm2
+  DB  65,15,88,209                        ; addps         %xmm9,%xmm2
+  DB  15,91,156,36,176,0,0,0              ; cvtdq2ps      0xb0(%rsp),%xmm3
+  DB  15,40,164,36,208,0,0,0              ; movaps        0xd0(%rsp),%xmm4
+  DB  15,92,227                           ; subps         %xmm3,%xmm4
+  DB  15,40,92,36,80                      ; movaps        0x50(%rsp),%xmm3
+  DB  15,92,195                           ; subps         %xmm3,%xmm0
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  15,88,195                           ; addps         %xmm3,%xmm0
+  DB  15,40,92,36,64                      ; movaps        0x40(%rsp),%xmm3
+  DB  15,92,203                           ; subps         %xmm3,%xmm1
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  15,88,203                           ; addps         %xmm3,%xmm1
+  DB  65,15,92,215                        ; subps         %xmm15,%xmm2
+  DB  15,89,212                           ; mulps         %xmm4,%xmm2
+  DB  65,15,88,215                        ; addps         %xmm15,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,29,222,240,0,0                ; movaps        0xf0de(%rip),%xmm3        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  15,40,164,36,224,0,0,0              ; movaps        0xe0(%rsp),%xmm4
+  DB  15,40,172,36,240,0,0,0              ; movaps        0xf0(%rsp),%xmm5
+  DB  15,40,180,36,0,1,0,0                ; movaps        0x100(%rsp),%xmm6
+  DB  15,40,188,36,16,1,0,0               ; movaps        0x110(%rsp),%xmm7
+  DB  72,129,196,32,1,0,0                 ; add           $0x120,%rsp
+  DB  91                                  ; pop           %rbx
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_gauss_a_to_rgba_sse2
+_sk_gauss_a_to_rgba_sse2 LABEL PROC
+  DB  15,40,5,93,247,0,0                  ; movaps        0xf75d(%rip),%xmm0        # 35b60 <_sk_srcover_bgra_8888_sse2_lowp+0x1348>
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  15,88,5,99,247,0,0                  ; addps         0xf763(%rip),%xmm0        # 35b70 <_sk_srcover_bgra_8888_sse2_lowp+0x1358>
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  15,88,5,105,247,0,0                 ; addps         0xf769(%rip),%xmm0        # 35b80 <_sk_srcover_bgra_8888_sse2_lowp+0x1368>
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  15,88,5,111,247,0,0                 ; addps         0xf76f(%rip),%xmm0        # 35b90 <_sk_srcover_bgra_8888_sse2_lowp+0x1378>
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  15,88,5,117,247,0,0                 ; addps         0xf775(%rip),%xmm0        # 35ba0 <_sk_srcover_bgra_8888_sse2_lowp+0x1388>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  15,40,208                           ; movaps        %xmm0,%xmm2
+  DB  15,40,216                           ; movaps        %xmm0,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_bilerp_clamp_8888_sse2
+_sk_bilerp_clamp_8888_sse2 LABEL PROC
+  DB  72,129,236,216,0,0,0                ; sub           $0xd8,%rsp
+  DB  15,41,124,36,48                     ; movaps        %xmm7,0x30(%rsp)
+  DB  15,41,116,36,32                     ; movaps        %xmm6,0x20(%rsp)
+  DB  15,41,108,36,16                     ; movaps        %xmm5,0x10(%rsp)
+  DB  15,41,36,36                         ; movaps        %xmm4,(%rsp)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,37,69,240,0,0                 ; movaps        0xf045(%rip),%xmm4        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  15,41,132,36,192,0,0,0              ; movaps        %xmm0,0xc0(%rsp)
+  DB  15,40,232                           ; movaps        %xmm0,%xmm5
+  DB  15,88,236                           ; addps         %xmm4,%xmm5
+  DB  243,15,91,197                       ; cvttps2dq     %xmm5,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  15,40,213                           ; movaps        %xmm5,%xmm2
+  DB  15,194,208,1                        ; cmpltps       %xmm0,%xmm2
+  DB  15,40,53,50,240,0,0                 ; movaps        0xf032(%rip),%xmm6        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  15,84,214                           ; andps         %xmm6,%xmm2
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  15,92,194                           ; subps         %xmm2,%xmm0
+  DB  15,92,232                           ; subps         %xmm0,%xmm5
+  DB  15,41,140,36,128,0,0,0              ; movaps        %xmm1,0x80(%rsp)
+  DB  15,88,225                           ; addps         %xmm1,%xmm4
+  DB  243,15,91,204                       ; cvttps2dq     %xmm4,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  15,40,212                           ; movaps        %xmm4,%xmm2
+  DB  15,194,209,1                        ; cmpltps       %xmm1,%xmm2
+  DB  15,84,214                           ; andps         %xmm6,%xmm2
+  DB  15,92,202                           ; subps         %xmm2,%xmm1
+  DB  15,92,225                           ; subps         %xmm1,%xmm4
+  DB  15,40,198                           ; movaps        %xmm6,%xmm0
+  DB  15,41,172,36,176,0,0,0              ; movaps        %xmm5,0xb0(%rsp)
+  DB  15,92,197                           ; subps         %xmm5,%xmm0
+  DB  15,41,132,36,160,0,0,0              ; movaps        %xmm0,0xa0(%rsp)
+  DB  15,41,100,36,112                    ; movaps        %xmm4,0x70(%rsp)
+  DB  15,92,244                           ; subps         %xmm4,%xmm6
+  DB  15,41,116,36,64                     ; movaps        %xmm6,0x40(%rsp)
+  DB  243,68,15,16,112,12                 ; movss         0xc(%rax),%xmm14
+  DB  69,15,198,246,0                     ; shufps        $0x0,%xmm14,%xmm14
+  DB  102,15,118,201                      ; pcmpeqd       %xmm1,%xmm1
+  DB  102,68,15,254,241                   ; paddd         %xmm1,%xmm14
+  DB  243,15,16,64,16                     ; movss         0x10(%rax),%xmm0
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  102,15,254,193                      ; paddd         %xmm1,%xmm0
+  DB  102,15,127,68,36,96                 ; movdqa        %xmm0,0x60(%rsp)
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  102,15,110,72,8                     ; movd          0x8(%rax),%xmm1
+  DB  102,15,112,193,0                    ; pshufd        $0x0,%xmm1,%xmm0
+  DB  102,15,127,68,36,80                 ; movdqa        %xmm0,0x50(%rsp)
+  DB  243,15,16,5,11,231,0,0              ; movss         0xe70b(%rip),%xmm0        # 34c1c <_sk_srcover_bgra_8888_sse2_lowp+0x404>
+  DB  102,15,111,45,71,240,0,0            ; movdqa        0xf047(%rip),%xmm5        # 35560 <_sk_srcover_bgra_8888_sse2_lowp+0xd48>
+  DB  15,40,37,160,241,0,0                ; movaps        0xf1a0(%rip),%xmm4        # 356c0 <_sk_srcover_bgra_8888_sse2_lowp+0xea8>
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  15,40,248                           ; movaps        %xmm0,%xmm7
+  DB  15,40,247                           ; movaps        %xmm7,%xmm6
+  DB  15,198,246,0                        ; shufps        $0x0,%xmm6,%xmm6
+  DB  15,88,180,36,128,0,0,0              ; addps         0x80(%rsp),%xmm6
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  15,95,206                           ; maxps         %xmm6,%xmm1
+  DB  15,41,188,36,144,0,0,0              ; movaps        %xmm7,0x90(%rsp)
+  DB  15,46,61,253,230,0,0                ; ucomiss       0xe6fd(%rip),%xmm7        # 34c50 <_sk_srcover_bgra_8888_sse2_lowp+0x438>
+  DB  68,15,40,124,36,112                 ; movaps        0x70(%rsp),%xmm15
+  DB  119,6                               ; ja            26561 <_sk_bilerp_clamp_8888_sse2+0x129>
+  DB  68,15,40,124,36,64                  ; movaps        0x40(%rsp),%xmm15
+  DB  15,93,76,36,96                      ; minps         0x60(%rsp),%xmm1
+  DB  243,15,91,201                       ; cvttps2dq     %xmm1,%xmm1
+  DB  102,15,111,68,36,80                 ; movdqa        0x50(%rsp),%xmm0
+  DB  102,15,111,240                      ; movdqa        %xmm0,%xmm6
+  DB  102,15,244,241                      ; pmuludq       %xmm1,%xmm6
+  DB  102,68,15,112,230,232               ; pshufd        $0xe8,%xmm6,%xmm12
+  DB  102,15,112,201,245                  ; pshufd        $0xf5,%xmm1,%xmm1
+  DB  102,15,112,240,245                  ; pshufd        $0xf5,%xmm0,%xmm6
+  DB  102,15,244,241                      ; pmuludq       %xmm1,%xmm6
+  DB  102,15,112,206,232                  ; pshufd        $0xe8,%xmm6,%xmm1
+  DB  102,68,15,98,225                    ; punpckldq     %xmm1,%xmm12
+  DB  243,15,16,13,126,230,0,0            ; movss         0xe67e(%rip),%xmm1        # 34c1c <_sk_srcover_bgra_8888_sse2_lowp+0x404>
+  DB  15,40,241                           ; movaps        %xmm1,%xmm6
+  DB  15,198,246,0                        ; shufps        $0x0,%xmm6,%xmm6
+  DB  15,88,180,36,192,0,0,0              ; addps         0xc0(%rsp),%xmm6
+  DB  15,87,255                           ; xorps         %xmm7,%xmm7
+  DB  15,95,254                           ; maxps         %xmm6,%xmm7
+  DB  65,15,93,254                        ; minps         %xmm14,%xmm7
+  DB  243,15,91,247                       ; cvttps2dq     %xmm7,%xmm6
+  DB  102,65,15,254,244                   ; paddd         %xmm12,%xmm6
+  DB  102,15,112,254,78                   ; pshufd        $0x4e,%xmm6,%xmm7
+  DB  102,72,15,126,248                   ; movq          %xmm7,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  102,73,15,126,242                   ; movq          %xmm6,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  102,67,15,110,52,144                ; movd          (%r8,%r10,4),%xmm6
+  DB  102,67,15,110,4,152                 ; movd          (%r8,%r11,4),%xmm0
+  DB  102,15,98,198                       ; punpckldq     %xmm6,%xmm0
+  DB  102,65,15,110,52,128                ; movd          (%r8,%rax,4),%xmm6
+  DB  102,67,15,110,60,136                ; movd          (%r8,%r9,4),%xmm7
+  DB  102,15,98,254                       ; punpckldq     %xmm6,%xmm7
+  DB  102,15,108,199                      ; punpcklqdq    %xmm7,%xmm0
+  DB  102,15,111,240                      ; movdqa        %xmm0,%xmm6
+  DB  102,15,219,245                      ; pand          %xmm5,%xmm6
+  DB  68,15,91,238                        ; cvtdq2ps      %xmm6,%xmm13
+  DB  68,15,89,236                        ; mulps         %xmm4,%xmm13
+  DB  102,15,111,240                      ; movdqa        %xmm0,%xmm6
+  DB  102,15,114,214,8                    ; psrld         $0x8,%xmm6
+  DB  102,15,219,245                      ; pand          %xmm5,%xmm6
+  DB  15,91,246                           ; cvtdq2ps      %xmm6,%xmm6
+  DB  15,89,244                           ; mulps         %xmm4,%xmm6
+  DB  102,15,111,248                      ; movdqa        %xmm0,%xmm7
+  DB  102,15,114,215,16                   ; psrld         $0x10,%xmm7
+  DB  102,15,219,253                      ; pand          %xmm5,%xmm7
+  DB  15,91,255                           ; cvtdq2ps      %xmm7,%xmm7
+  DB  15,89,252                           ; mulps         %xmm4,%xmm7
+  DB  102,15,114,208,24                   ; psrld         $0x18,%xmm0
+  DB  68,15,91,208                        ; cvtdq2ps      %xmm0,%xmm10
+  DB  68,15,89,212                        ; mulps         %xmm4,%xmm10
+  DB  15,46,13,5,230,0,0                  ; ucomiss       0xe605(%rip),%xmm1        # 34c50 <_sk_srcover_bgra_8888_sse2_lowp+0x438>
+  DB  68,15,40,156,36,176,0,0,0           ; movaps        0xb0(%rsp),%xmm11
+  DB  119,9                               ; ja            2665f <_sk_bilerp_clamp_8888_sse2+0x227>
+  DB  68,15,40,156,36,160,0,0,0           ; movaps        0xa0(%rsp),%xmm11
+  DB  69,15,89,223                        ; mulps         %xmm15,%xmm11
+  DB  69,15,89,235                        ; mulps         %xmm11,%xmm13
+  DB  69,15,88,205                        ; addps         %xmm13,%xmm9
+  DB  65,15,89,243                        ; mulps         %xmm11,%xmm6
+  DB  68,15,88,198                        ; addps         %xmm6,%xmm8
+  DB  65,15,89,251                        ; mulps         %xmm11,%xmm7
+  DB  15,88,215                           ; addps         %xmm7,%xmm2
+  DB  69,15,89,218                        ; mulps         %xmm10,%xmm11
+  DB  65,15,88,219                        ; addps         %xmm11,%xmm3
+  DB  243,15,88,13,62,228,0,0             ; addss         0xe43e(%rip),%xmm1        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  243,15,16,5,50,228,0,0              ; movss         0xe432(%rip),%xmm0        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  15,46,193                           ; ucomiss       %xmm1,%xmm0
+  DB  15,131,3,255,255,255                ; jae           2659e <_sk_bilerp_clamp_8888_sse2+0x166>
+  DB  15,40,188,36,144,0,0,0              ; movaps        0x90(%rsp),%xmm7
+  DB  243,15,88,61,29,228,0,0             ; addss         0xe41d(%rip),%xmm7        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  243,15,16,5,17,228,0,0              ; movss         0xe411(%rip),%xmm0        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  15,46,199                           ; ucomiss       %xmm7,%xmm0
+  DB  15,131,114,254,255,255              ; jae           2652e <_sk_bilerp_clamp_8888_sse2+0xf6>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  65,15,40,200                        ; movaps        %xmm8,%xmm1
+  DB  15,40,36,36                         ; movaps        (%rsp),%xmm4
+  DB  15,40,108,36,16                     ; movaps        0x10(%rsp),%xmm5
+  DB  15,40,116,36,32                     ; movaps        0x20(%rsp),%xmm6
+  DB  15,40,124,36,48                     ; movaps        0x30(%rsp),%xmm7
+  DB  72,129,196,216,0,0,0                ; add           $0xd8,%rsp
+  DB  255,224                             ; jmpq          *%rax
+  DB  144                                 ; nop
+  DB  144                                 ; nop
+
+PUBLIC _sk_start_pipeline_hsw_lowp
+_sk_start_pipeline_hsw_lowp LABEL PROC
+  DB  85                                  ; push          %rbp
+  DB  72,137,229                          ; mov           %rsp,%rbp
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,85                               ; push          %r13
+  DB  65,84                               ; push          %r12
+  DB  86                                  ; push          %rsi
+  DB  87                                  ; push          %rdi
+  DB  83                                  ; push          %rbx
+  DB  72,129,236,200,0,0,0                ; sub           $0xc8,%rsp
+  DB  197,120,41,125,176                  ; vmovaps       %xmm15,-0x50(%rbp)
+  DB  197,120,41,117,160                  ; vmovaps       %xmm14,-0x60(%rbp)
+  DB  197,120,41,109,144                  ; vmovaps       %xmm13,-0x70(%rbp)
+  DB  197,120,41,101,128                  ; vmovaps       %xmm12,-0x80(%rbp)
+  DB  197,120,41,157,112,255,255,255      ; vmovaps       %xmm11,-0x90(%rbp)
+  DB  197,120,41,149,96,255,255,255       ; vmovaps       %xmm10,-0xa0(%rbp)
+  DB  197,120,41,141,80,255,255,255       ; vmovaps       %xmm9,-0xb0(%rbp)
+  DB  197,120,41,133,64,255,255,255       ; vmovaps       %xmm8,-0xc0(%rbp)
+  DB  197,248,41,189,48,255,255,255       ; vmovaps       %xmm7,-0xd0(%rbp)
+  DB  197,248,41,181,32,255,255,255       ; vmovaps       %xmm6,-0xe0(%rbp)
+  DB  77,137,199                          ; mov           %r8,%r15
+  DB  72,137,211                          ; mov           %rdx,%rbx
+  DB  72,137,141,24,255,255,255           ; mov           %rcx,-0xe8(%rbp)
+  DB  72,139,117,48                       ; mov           0x30(%rbp),%rsi
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  73,137,197                          ; mov           %rax,%r13
+  DB  73,137,246                          ; mov           %rsi,%r14
+  DB  76,137,141,8,255,255,255            ; mov           %r9,-0xf8(%rbp)
+  DB  76,57,203                           ; cmp           %r9,%rbx
+  DB  15,131,169,0,0,0                    ; jae           26810 <_sk_start_pipeline_hsw_lowp+0x12c>
+  DB  72,139,133,24,255,255,255           ; mov           -0xe8(%rbp),%rax
+  DB  72,141,64,16                        ; lea           0x10(%rax),%rax
+  DB  72,137,133,16,255,255,255           ; mov           %rax,-0xf0(%rbp)
+  DB  72,139,149,24,255,255,255           ; mov           -0xe8(%rbp),%rdx
+  DB  76,57,189,16,255,255,255            ; cmp           %r15,-0xf0(%rbp)
+  DB  119,70                              ; ja            267cf <_sk_start_pipeline_hsw_lowp+0xeb>
+  DB  76,139,165,24,255,255,255           ; mov           -0xe8(%rbp),%r12
+  DB  49,255                              ; xor           %edi,%edi
+  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
+  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
+  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
+  DB  197,228,87,219                      ; vxorps        %ymm3,%ymm3,%ymm3
+  DB  197,220,87,228                      ; vxorps        %ymm4,%ymm4,%ymm4
+  DB  197,212,87,237                      ; vxorps        %ymm5,%ymm5,%ymm5
+  DB  197,204,87,246                      ; vxorps        %ymm6,%ymm6,%ymm6
+  DB  197,196,87,255                      ; vxorps        %ymm7,%ymm7,%ymm7
+  DB  76,137,246                          ; mov           %r14,%rsi
+  DB  76,137,226                          ; mov           %r12,%rdx
+  DB  72,137,217                          ; mov           %rbx,%rcx
+  DB  65,255,213                          ; callq         *%r13
+  DB  73,141,84,36,16                     ; lea           0x10(%r12),%rdx
+  DB  73,131,196,32                       ; add           $0x20,%r12
+  DB  77,57,252                           ; cmp           %r15,%r12
+  DB  73,137,212                          ; mov           %rdx,%r12
+  DB  118,193                             ; jbe           26790 <_sk_start_pipeline_hsw_lowp+0xac>
+  DB  76,137,255                          ; mov           %r15,%rdi
+  DB  72,41,215                           ; sub           %rdx,%rdi
+  DB  116,41                              ; je            26800 <_sk_start_pipeline_hsw_lowp+0x11c>
+  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
+  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
+  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
+  DB  197,228,87,219                      ; vxorps        %ymm3,%ymm3,%ymm3
+  DB  197,220,87,228                      ; vxorps        %ymm4,%ymm4,%ymm4
+  DB  197,212,87,237                      ; vxorps        %ymm5,%ymm5,%ymm5
+  DB  197,204,87,246                      ; vxorps        %ymm6,%ymm6,%ymm6
+  DB  197,196,87,255                      ; vxorps        %ymm7,%ymm7,%ymm7
+  DB  76,137,246                          ; mov           %r14,%rsi
+  DB  72,137,217                          ; mov           %rbx,%rcx
+  DB  65,255,213                          ; callq         *%r13
+  DB  72,255,195                          ; inc           %rbx
+  DB  72,59,157,8,255,255,255             ; cmp           -0xf8(%rbp),%rbx
+  DB  15,133,105,255,255,255              ; jne           26779 <_sk_start_pipeline_hsw_lowp+0x95>
+  DB  197,248,40,181,32,255,255,255       ; vmovaps       -0xe0(%rbp),%xmm6
+  DB  197,248,40,189,48,255,255,255       ; vmovaps       -0xd0(%rbp),%xmm7
+  DB  197,120,40,133,64,255,255,255       ; vmovaps       -0xc0(%rbp),%xmm8
+  DB  197,120,40,141,80,255,255,255       ; vmovaps       -0xb0(%rbp),%xmm9
+  DB  197,120,40,149,96,255,255,255       ; vmovaps       -0xa0(%rbp),%xmm10
+  DB  197,120,40,157,112,255,255,255      ; vmovaps       -0x90(%rbp),%xmm11
+  DB  197,120,40,101,128                  ; vmovaps       -0x80(%rbp),%xmm12
+  DB  197,120,40,109,144                  ; vmovaps       -0x70(%rbp),%xmm13
+  DB  197,120,40,117,160                  ; vmovaps       -0x60(%rbp),%xmm14
+  DB  197,120,40,125,176                  ; vmovaps       -0x50(%rbp),%xmm15
+  DB  72,129,196,200,0,0,0                ; add           $0xc8,%rsp
+  DB  91                                  ; pop           %rbx
+  DB  95                                  ; pop           %rdi
+  DB  94                                  ; pop           %rsi
+  DB  65,92                               ; pop           %r12
+  DB  65,93                               ; pop           %r13
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  93                                  ; pop           %rbp
+  DB  197,248,119                         ; vzeroupper
+  DB  195                                 ; retq
+
+PUBLIC _sk_just_return_hsw_lowp
+_sk_just_return_hsw_lowp LABEL PROC
+  DB  195                                 ; retq
+
+PUBLIC _sk_seed_shader_hsw_lowp
+_sk_seed_shader_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,249,110,194                     ; vmovd         %edx,%xmm0
+  DB  196,226,125,88,192                  ; vpbroadcastd  %xmm0,%ymm0
+  DB  197,252,91,192                      ; vcvtdq2ps     %ymm0,%ymm0
+  DB  197,252,88,72,32                    ; vaddps        0x20(%rax),%ymm0,%ymm1
+  DB  197,252,88,0                        ; vaddps        (%rax),%ymm0,%ymm0
+  DB  197,249,110,209                     ; vmovd         %ecx,%xmm2
+  DB  196,226,125,88,210                  ; vpbroadcastd  %xmm2,%ymm2
+  DB  197,252,91,210                      ; vcvtdq2ps     %ymm2,%ymm2
+  DB  196,226,125,24,29,42,226,0,0        ; vbroadcastss  0xe22a(%rip),%ymm3        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  197,236,88,211                      ; vaddps        %ymm3,%ymm2,%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,40,218                      ; vmovaps       %ymm2,%ymm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_matrix_translate_hsw_lowp
+_sk_matrix_translate_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,24,0                     ; vbroadcastss  (%rax),%ymm8
+  DB  196,193,124,88,192                  ; vaddps        %ymm8,%ymm0,%ymm0
+  DB  196,193,116,88,200                  ; vaddps        %ymm8,%ymm1,%ymm1
+  DB  196,98,125,24,64,4                  ; vbroadcastss  0x4(%rax),%ymm8
+  DB  196,193,108,88,208                  ; vaddps        %ymm8,%ymm2,%ymm2
+  DB  196,193,100,88,216                  ; vaddps        %ymm8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_matrix_scale_translate_hsw_lowp
+_sk_matrix_scale_translate_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,24,0                     ; vbroadcastss  (%rax),%ymm8
+  DB  196,98,125,24,72,8                  ; vbroadcastss  0x8(%rax),%ymm9
+  DB  196,194,61,168,193                  ; vfmadd213ps   %ymm9,%ymm8,%ymm0
+  DB  196,194,61,168,201                  ; vfmadd213ps   %ymm9,%ymm8,%ymm1
+  DB  196,98,125,24,64,4                  ; vbroadcastss  0x4(%rax),%ymm8
+  DB  196,98,125,24,72,12                 ; vbroadcastss  0xc(%rax),%ymm9
+  DB  196,194,61,168,209                  ; vfmadd213ps   %ymm9,%ymm8,%ymm2
+  DB  196,194,61,168,217                  ; vfmadd213ps   %ymm9,%ymm8,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_matrix_2x3_hsw_lowp
+_sk_matrix_2x3_hsw_lowp LABEL PROC
+  DB  197,124,40,192                      ; vmovaps       %ymm0,%ymm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,24,16                    ; vbroadcastss  (%rax),%ymm10
+  DB  196,226,125,24,64,8                 ; vbroadcastss  0x8(%rax),%ymm0
+  DB  196,98,125,24,88,16                 ; vbroadcastss  0x10(%rax),%ymm11
+  DB  197,124,40,200                      ; vmovaps       %ymm0,%ymm9
+  DB  196,66,101,168,203                  ; vfmadd213ps   %ymm11,%ymm3,%ymm9
+  DB  196,194,109,168,195                 ; vfmadd213ps   %ymm11,%ymm2,%ymm0
+  DB  196,194,61,184,194                  ; vfmadd231ps   %ymm10,%ymm8,%ymm0
+  DB  196,66,117,184,202                  ; vfmadd231ps   %ymm10,%ymm1,%ymm9
+  DB  196,98,125,24,80,4                  ; vbroadcastss  0x4(%rax),%ymm10
+  DB  196,98,125,24,88,12                 ; vbroadcastss  0xc(%rax),%ymm11
+  DB  196,98,125,24,96,20                 ; vbroadcastss  0x14(%rax),%ymm12
+  DB  196,194,37,168,220                  ; vfmadd213ps   %ymm12,%ymm11,%ymm3
+  DB  196,66,109,168,220                  ; vfmadd213ps   %ymm12,%ymm2,%ymm11
+  DB  196,66,45,168,195                   ; vfmadd213ps   %ymm11,%ymm10,%ymm8
+  DB  196,194,117,184,218                 ; vfmadd231ps   %ymm10,%ymm1,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,124,41,201                      ; vmovaps       %ymm9,%ymm1
+  DB  197,124,41,194                      ; vmovaps       %ymm8,%ymm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_matrix_perspective_hsw_lowp
+_sk_matrix_perspective_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,24,8                     ; vbroadcastss  (%rax),%ymm9
+  DB  196,98,125,24,64,4                  ; vbroadcastss  0x4(%rax),%ymm8
+  DB  196,98,125,24,80,8                  ; vbroadcastss  0x8(%rax),%ymm10
+  DB  196,65,124,40,216                   ; vmovaps       %ymm8,%ymm11
+  DB  196,66,109,168,218                  ; vfmadd213ps   %ymm10,%ymm2,%ymm11
+  DB  196,66,101,168,194                  ; vfmadd213ps   %ymm10,%ymm3,%ymm8
+  DB  196,66,117,184,193                  ; vfmadd231ps   %ymm9,%ymm1,%ymm8
+  DB  196,66,125,184,217                  ; vfmadd231ps   %ymm9,%ymm0,%ymm11
+  DB  196,98,125,24,72,12                 ; vbroadcastss  0xc(%rax),%ymm9
+  DB  196,98,125,24,80,16                 ; vbroadcastss  0x10(%rax),%ymm10
+  DB  196,98,125,24,96,20                 ; vbroadcastss  0x14(%rax),%ymm12
+  DB  196,65,124,40,234                   ; vmovaps       %ymm10,%ymm13
+  DB  196,66,109,168,236                  ; vfmadd213ps   %ymm12,%ymm2,%ymm13
+  DB  196,66,101,168,212                  ; vfmadd213ps   %ymm12,%ymm3,%ymm10
+  DB  196,66,117,184,209                  ; vfmadd231ps   %ymm9,%ymm1,%ymm10
+  DB  196,66,125,184,233                  ; vfmadd231ps   %ymm9,%ymm0,%ymm13
+  DB  196,98,125,24,72,24                 ; vbroadcastss  0x18(%rax),%ymm9
+  DB  196,98,125,24,96,28                 ; vbroadcastss  0x1c(%rax),%ymm12
+  DB  196,98,125,24,112,32                ; vbroadcastss  0x20(%rax),%ymm14
+  DB  196,194,29,168,214                  ; vfmadd213ps   %ymm14,%ymm12,%ymm2
+  DB  196,66,101,168,230                  ; vfmadd213ps   %ymm14,%ymm3,%ymm12
+  DB  196,194,53,168,204                  ; vfmadd213ps   %ymm12,%ymm9,%ymm1
+  DB  196,194,125,184,209                 ; vfmadd231ps   %ymm9,%ymm0,%ymm2
+  DB  197,252,83,210                      ; vrcpps        %ymm2,%ymm2
+  DB  197,252,83,217                      ; vrcpps        %ymm1,%ymm3
+  DB  197,164,89,194                      ; vmulps        %ymm2,%ymm11,%ymm0
+  DB  197,188,89,203                      ; vmulps        %ymm3,%ymm8,%ymm1
+  DB  197,148,89,210                      ; vmulps        %ymm2,%ymm13,%ymm2
+  DB  197,172,89,219                      ; vmulps        %ymm3,%ymm10,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_uniform_color_hsw_lowp
+_sk_uniform_color_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,121,64,16               ; vpbroadcastw  0x10(%rax),%ymm0
+  DB  196,226,125,121,72,18               ; vpbroadcastw  0x12(%rax),%ymm1
+  DB  196,226,125,121,80,20               ; vpbroadcastw  0x14(%rax),%ymm2
+  DB  196,226,125,121,88,22               ; vpbroadcastw  0x16(%rax),%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_black_color_hsw_lowp
+_sk_black_color_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,121,29,193,231,0,0      ; vpbroadcastw  0xe7c1(%rip),%ymm3        # 351e0 <_sk_srcover_bgra_8888_sse2_lowp+0x9c8>
+  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
+  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
+  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_white_color_hsw_lowp
+_sk_white_color_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,121,5,170,231,0,0       ; vpbroadcastw  0xe7aa(%rip),%ymm0        # 351e2 <_sk_srcover_bgra_8888_sse2_lowp+0x9ca>
+  DB  197,253,111,200                     ; vmovdqa       %ymm0,%ymm1
+  DB  197,253,111,208                     ; vmovdqa       %ymm0,%ymm2
+  DB  197,253,111,216                     ; vmovdqa       %ymm0,%ymm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_set_rgb_hsw_lowp
+_sk_set_rgb_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,122,16,5,116,224,0,0            ; vmovss        0xe074(%rip),%xmm8        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  197,250,16,21,156,224,0,0           ; vmovss        0xe09c(%rip),%xmm2        # 34af4 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  DB  197,250,16,0                        ; vmovss        (%rax),%xmm0
+  DB  196,226,57,153,194                  ; vfmadd132ss   %xmm2,%xmm8,%xmm0
+  DB  197,122,44,192                      ; vcvttss2si    %xmm0,%r8d
+  DB  196,193,121,110,192                 ; vmovd         %r8d,%xmm0
+  DB  196,226,125,121,192                 ; vpbroadcastw  %xmm0,%ymm0
+  DB  197,250,16,72,4                     ; vmovss        0x4(%rax),%xmm1
+  DB  196,226,57,153,202                  ; vfmadd132ss   %xmm2,%xmm8,%xmm1
+  DB  197,122,44,193                      ; vcvttss2si    %xmm1,%r8d
+  DB  196,193,121,110,200                 ; vmovd         %r8d,%xmm1
+  DB  196,226,125,121,201                 ; vpbroadcastw  %xmm1,%ymm1
+  DB  196,226,57,153,80,8                 ; vfmadd132ss   0x8(%rax),%xmm8,%xmm2
+  DB  197,250,44,194                      ; vcvttss2si    %xmm2,%eax
+  DB  197,249,110,208                     ; vmovd         %eax,%xmm2
+  DB  196,226,125,121,210                 ; vpbroadcastw  %xmm2,%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_clamp_a_hsw_lowp
+_sk_clamp_a_hsw_lowp LABEL PROC
+  DB  196,226,125,58,195                  ; vpminuw       %ymm3,%ymm0,%ymm0
+  DB  196,226,117,58,203                  ; vpminuw       %ymm3,%ymm1,%ymm1
+  DB  196,226,109,58,211                  ; vpminuw       %ymm3,%ymm2,%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_clamp_a_dst_hsw_lowp
+_sk_clamp_a_dst_hsw_lowp LABEL PROC
+  DB  196,226,93,58,231                   ; vpminuw       %ymm7,%ymm4,%ymm4
+  DB  196,226,85,58,239                   ; vpminuw       %ymm7,%ymm5,%ymm5
+  DB  196,226,77,58,247                   ; vpminuw       %ymm7,%ymm6,%ymm6
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_premul_hsw_lowp
+_sk_premul_hsw_lowp LABEL PROC
+  DB  197,229,213,192                     ; vpmullw       %ymm0,%ymm3,%ymm0
+  DB  196,98,125,121,5,19,231,0,0         ; vpbroadcastw  0xe713(%rip),%ymm8        # 351e4 <_sk_srcover_bgra_8888_sse2_lowp+0x9cc>
+  DB  196,193,125,253,192                 ; vpaddw        %ymm8,%ymm0,%ymm0
+  DB  197,253,113,208,8                   ; vpsrlw        $0x8,%ymm0,%ymm0
+  DB  197,229,213,201                     ; vpmullw       %ymm1,%ymm3,%ymm1
+  DB  196,193,117,253,200                 ; vpaddw        %ymm8,%ymm1,%ymm1
+  DB  197,245,113,209,8                   ; vpsrlw        $0x8,%ymm1,%ymm1
+  DB  197,229,213,210                     ; vpmullw       %ymm2,%ymm3,%ymm2
+  DB  196,193,109,253,208                 ; vpaddw        %ymm8,%ymm2,%ymm2
+  DB  197,237,113,210,8                   ; vpsrlw        $0x8,%ymm2,%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_premul_dst_hsw_lowp
+_sk_premul_dst_hsw_lowp LABEL PROC
+  DB  197,197,213,228                     ; vpmullw       %ymm4,%ymm7,%ymm4
+  DB  196,98,125,121,5,222,230,0,0        ; vpbroadcastw  0xe6de(%rip),%ymm8        # 351e6 <_sk_srcover_bgra_8888_sse2_lowp+0x9ce>
+  DB  196,193,93,253,224                  ; vpaddw        %ymm8,%ymm4,%ymm4
+  DB  197,221,113,212,8                   ; vpsrlw        $0x8,%ymm4,%ymm4
+  DB  197,197,213,237                     ; vpmullw       %ymm5,%ymm7,%ymm5
+  DB  196,193,85,253,232                  ; vpaddw        %ymm8,%ymm5,%ymm5
+  DB  197,213,113,213,8                   ; vpsrlw        $0x8,%ymm5,%ymm5
+  DB  197,197,213,246                     ; vpmullw       %ymm6,%ymm7,%ymm6
+  DB  196,193,77,253,240                  ; vpaddw        %ymm8,%ymm6,%ymm6
+  DB  197,205,113,214,8                   ; vpsrlw        $0x8,%ymm6,%ymm6
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_force_opaque_hsw_lowp
+_sk_force_opaque_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,121,29,171,230,0,0      ; vpbroadcastw  0xe6ab(%rip),%ymm3        # 351e8 <_sk_srcover_bgra_8888_sse2_lowp+0x9d0>
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_force_opaque_dst_hsw_lowp
+_sk_force_opaque_dst_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,121,61,160,230,0,0      ; vpbroadcastw  0xe6a0(%rip),%ymm7        # 351ea <_sk_srcover_bgra_8888_sse2_lowp+0x9d2>
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_swap_rb_hsw_lowp
+_sk_swap_rb_hsw_lowp LABEL PROC
+  DB  197,124,40,192                      ; vmovaps       %ymm0,%ymm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,40,194                      ; vmovaps       %ymm2,%ymm0
+  DB  197,124,41,194                      ; vmovaps       %ymm8,%ymm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_move_src_dst_hsw_lowp
+_sk_move_src_dst_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,40,224                      ; vmovaps       %ymm0,%ymm4
+  DB  197,252,40,233                      ; vmovaps       %ymm1,%ymm5
+  DB  197,252,40,242                      ; vmovaps       %ymm2,%ymm6
+  DB  197,252,40,251                      ; vmovaps       %ymm3,%ymm7
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_move_dst_src_hsw_lowp
+_sk_move_dst_src_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,40,196                      ; vmovaps       %ymm4,%ymm0
+  DB  197,252,40,205                      ; vmovaps       %ymm5,%ymm1
+  DB  197,252,40,214                      ; vmovaps       %ymm6,%ymm2
+  DB  197,252,40,223                      ; vmovaps       %ymm7,%ymm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_invert_hsw_lowp
+_sk_invert_hsw_lowp LABEL PROC
+  DB  196,98,125,121,5,95,230,0,0         ; vpbroadcastw  0xe65f(%rip),%ymm8        # 351ec <_sk_srcover_bgra_8888_sse2_lowp+0x9d4>
+  DB  197,189,249,192                     ; vpsubw        %ymm0,%ymm8,%ymm0
+  DB  197,189,249,201                     ; vpsubw        %ymm1,%ymm8,%ymm1
+  DB  197,189,249,210                     ; vpsubw        %ymm2,%ymm8,%ymm2
+  DB  197,189,249,219                     ; vpsubw        %ymm3,%ymm8,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_clear_hsw_lowp
+_sk_clear_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,87,192                      ; vxorps        %ymm0,%ymm0,%ymm0
+  DB  197,244,87,201                      ; vxorps        %ymm1,%ymm1,%ymm1
+  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
+  DB  197,228,87,219                      ; vxorps        %ymm3,%ymm3,%ymm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_srcatop_hsw_lowp
+_sk_srcatop_hsw_lowp LABEL PROC
+  DB  197,197,213,192                     ; vpmullw       %ymm0,%ymm7,%ymm0
+  DB  196,98,125,121,5,44,230,0,0         ; vpbroadcastw  0xe62c(%rip),%ymm8        # 351ee <_sk_srcover_bgra_8888_sse2_lowp+0x9d6>
+  DB  197,189,249,219                     ; vpsubw        %ymm3,%ymm8,%ymm3
+  DB  197,101,213,204                     ; vpmullw       %ymm4,%ymm3,%ymm9
+  DB  196,193,125,253,192                 ; vpaddw        %ymm8,%ymm0,%ymm0
+  DB  197,181,253,192                     ; vpaddw        %ymm0,%ymm9,%ymm0
+  DB  197,253,113,208,8                   ; vpsrlw        $0x8,%ymm0,%ymm0
+  DB  197,197,213,201                     ; vpmullw       %ymm1,%ymm7,%ymm1
+  DB  197,101,213,205                     ; vpmullw       %ymm5,%ymm3,%ymm9
+  DB  196,193,117,253,200                 ; vpaddw        %ymm8,%ymm1,%ymm1
+  DB  197,181,253,201                     ; vpaddw        %ymm1,%ymm9,%ymm1
+  DB  197,245,113,209,8                   ; vpsrlw        $0x8,%ymm1,%ymm1
+  DB  197,197,213,210                     ; vpmullw       %ymm2,%ymm7,%ymm2
+  DB  197,229,213,222                     ; vpmullw       %ymm6,%ymm3,%ymm3
+  DB  196,193,109,253,208                 ; vpaddw        %ymm8,%ymm2,%ymm2
+  DB  197,229,253,210                     ; vpaddw        %ymm2,%ymm3,%ymm2
+  DB  197,237,113,210,8                   ; vpsrlw        $0x8,%ymm2,%ymm2
+  DB  196,193,69,213,216                  ; vpmullw       %ymm8,%ymm7,%ymm3
+  DB  196,193,101,253,216                 ; vpaddw        %ymm8,%ymm3,%ymm3
+  DB  197,229,113,211,8                   ; vpsrlw        $0x8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_dstatop_hsw_lowp
+_sk_dstatop_hsw_lowp LABEL PROC
+  DB  197,93,213,195                      ; vpmullw       %ymm3,%ymm4,%ymm8
+  DB  196,98,125,121,13,204,229,0,0       ; vpbroadcastw  0xe5cc(%rip),%ymm9        # 351f0 <_sk_srcover_bgra_8888_sse2_lowp+0x9d8>
+  DB  197,53,249,215                      ; vpsubw        %ymm7,%ymm9,%ymm10
+  DB  197,173,213,192                     ; vpmullw       %ymm0,%ymm10,%ymm0
+  DB  196,65,61,253,193                   ; vpaddw        %ymm9,%ymm8,%ymm8
+  DB  196,193,125,253,192                 ; vpaddw        %ymm8,%ymm0,%ymm0
+  DB  197,253,113,208,8                   ; vpsrlw        $0x8,%ymm0,%ymm0
+  DB  197,85,213,195                      ; vpmullw       %ymm3,%ymm5,%ymm8
+  DB  197,173,213,201                     ; vpmullw       %ymm1,%ymm10,%ymm1
+  DB  196,65,61,253,193                   ; vpaddw        %ymm9,%ymm8,%ymm8
+  DB  196,193,117,253,200                 ; vpaddw        %ymm8,%ymm1,%ymm1
+  DB  197,245,113,209,8                   ; vpsrlw        $0x8,%ymm1,%ymm1
+  DB  197,77,213,195                      ; vpmullw       %ymm3,%ymm6,%ymm8
+  DB  197,173,213,210                     ; vpmullw       %ymm2,%ymm10,%ymm2
+  DB  196,65,61,253,193                   ; vpaddw        %ymm9,%ymm8,%ymm8
+  DB  196,193,109,253,208                 ; vpaddw        %ymm8,%ymm2,%ymm2
+  DB  197,237,113,210,8                   ; vpsrlw        $0x8,%ymm2,%ymm2
+  DB  196,193,101,213,217                 ; vpmullw       %ymm9,%ymm3,%ymm3
+  DB  196,193,101,253,217                 ; vpaddw        %ymm9,%ymm3,%ymm3
+  DB  197,229,113,211,8                   ; vpsrlw        $0x8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_srcin_hsw_lowp
+_sk_srcin_hsw_lowp LABEL PROC
+  DB  197,197,213,192                     ; vpmullw       %ymm0,%ymm7,%ymm0
+  DB  196,98,125,121,5,105,229,0,0        ; vpbroadcastw  0xe569(%rip),%ymm8        # 351f2 <_sk_srcover_bgra_8888_sse2_lowp+0x9da>
+  DB  196,193,125,253,192                 ; vpaddw        %ymm8,%ymm0,%ymm0
+  DB  197,253,113,208,8                   ; vpsrlw        $0x8,%ymm0,%ymm0
+  DB  197,197,213,201                     ; vpmullw       %ymm1,%ymm7,%ymm1
+  DB  196,193,117,253,200                 ; vpaddw        %ymm8,%ymm1,%ymm1
+  DB  197,245,113,209,8                   ; vpsrlw        $0x8,%ymm1,%ymm1
+  DB  197,197,213,210                     ; vpmullw       %ymm2,%ymm7,%ymm2
+  DB  196,193,109,253,208                 ; vpaddw        %ymm8,%ymm2,%ymm2
+  DB  197,237,113,210,8                   ; vpsrlw        $0x8,%ymm2,%ymm2
+  DB  197,197,213,219                     ; vpmullw       %ymm3,%ymm7,%ymm3
+  DB  196,193,101,253,216                 ; vpaddw        %ymm8,%ymm3,%ymm3
+  DB  197,229,113,211,8                   ; vpsrlw        $0x8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_dstin_hsw_lowp
+_sk_dstin_hsw_lowp LABEL PROC
+  DB  197,221,213,195                     ; vpmullw       %ymm3,%ymm4,%ymm0
+  DB  196,98,125,121,5,38,229,0,0         ; vpbroadcastw  0xe526(%rip),%ymm8        # 351f4 <_sk_srcover_bgra_8888_sse2_lowp+0x9dc>
+  DB  196,193,125,253,192                 ; vpaddw        %ymm8,%ymm0,%ymm0
+  DB  197,253,113,208,8                   ; vpsrlw        $0x8,%ymm0,%ymm0
+  DB  197,213,213,203                     ; vpmullw       %ymm3,%ymm5,%ymm1
+  DB  196,193,117,253,200                 ; vpaddw        %ymm8,%ymm1,%ymm1
+  DB  197,245,113,209,8                   ; vpsrlw        $0x8,%ymm1,%ymm1
+  DB  197,205,213,211                     ; vpmullw       %ymm3,%ymm6,%ymm2
+  DB  196,193,109,253,208                 ; vpaddw        %ymm8,%ymm2,%ymm2
+  DB  197,237,113,210,8                   ; vpsrlw        $0x8,%ymm2,%ymm2
+  DB  197,197,213,219                     ; vpmullw       %ymm3,%ymm7,%ymm3
+  DB  196,193,101,253,216                 ; vpaddw        %ymm8,%ymm3,%ymm3
+  DB  197,229,113,211,8                   ; vpsrlw        $0x8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_srcout_hsw_lowp
+_sk_srcout_hsw_lowp LABEL PROC
+  DB  196,98,125,121,5,231,228,0,0        ; vpbroadcastw  0xe4e7(%rip),%ymm8        # 351f6 <_sk_srcover_bgra_8888_sse2_lowp+0x9de>
+  DB  197,61,249,207                      ; vpsubw        %ymm7,%ymm8,%ymm9
+  DB  197,181,213,192                     ; vpmullw       %ymm0,%ymm9,%ymm0
+  DB  196,193,125,253,192                 ; vpaddw        %ymm8,%ymm0,%ymm0
+  DB  197,253,113,208,8                   ; vpsrlw        $0x8,%ymm0,%ymm0
+  DB  197,181,213,201                     ; vpmullw       %ymm1,%ymm9,%ymm1
+  DB  196,193,117,253,200                 ; vpaddw        %ymm8,%ymm1,%ymm1
+  DB  197,245,113,209,8                   ; vpsrlw        $0x8,%ymm1,%ymm1
+  DB  197,181,213,210                     ; vpmullw       %ymm2,%ymm9,%ymm2
+  DB  196,193,109,253,208                 ; vpaddw        %ymm8,%ymm2,%ymm2
+  DB  197,237,113,210,8                   ; vpsrlw        $0x8,%ymm2,%ymm2
+  DB  197,181,213,219                     ; vpmullw       %ymm3,%ymm9,%ymm3
+  DB  196,193,101,253,216                 ; vpaddw        %ymm8,%ymm3,%ymm3
+  DB  197,229,113,211,8                   ; vpsrlw        $0x8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_dstout_hsw_lowp
+_sk_dstout_hsw_lowp LABEL PROC
+  DB  196,98,125,121,5,160,228,0,0        ; vpbroadcastw  0xe4a0(%rip),%ymm8        # 351f8 <_sk_srcover_bgra_8888_sse2_lowp+0x9e0>
+  DB  197,189,249,219                     ; vpsubw        %ymm3,%ymm8,%ymm3
+  DB  197,229,213,196                     ; vpmullw       %ymm4,%ymm3,%ymm0
+  DB  196,193,125,253,192                 ; vpaddw        %ymm8,%ymm0,%ymm0
+  DB  197,253,113,208,8                   ; vpsrlw        $0x8,%ymm0,%ymm0
+  DB  197,229,213,205                     ; vpmullw       %ymm5,%ymm3,%ymm1
+  DB  196,193,117,253,200                 ; vpaddw        %ymm8,%ymm1,%ymm1
+  DB  197,245,113,209,8                   ; vpsrlw        $0x8,%ymm1,%ymm1
+  DB  197,229,213,214                     ; vpmullw       %ymm6,%ymm3,%ymm2
+  DB  196,193,109,253,208                 ; vpaddw        %ymm8,%ymm2,%ymm2
+  DB  197,237,113,210,8                   ; vpsrlw        $0x8,%ymm2,%ymm2
+  DB  197,229,213,223                     ; vpmullw       %ymm7,%ymm3,%ymm3
+  DB  196,193,101,253,216                 ; vpaddw        %ymm8,%ymm3,%ymm3
+  DB  197,229,113,211,8                   ; vpsrlw        $0x8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_srcover_hsw_lowp
+_sk_srcover_hsw_lowp LABEL PROC
+  DB  196,98,125,121,5,89,228,0,0         ; vpbroadcastw  0xe459(%rip),%ymm8        # 351fa <_sk_srcover_bgra_8888_sse2_lowp+0x9e2>
+  DB  197,61,249,203                      ; vpsubw        %ymm3,%ymm8,%ymm9
+  DB  197,53,213,212                      ; vpmullw       %ymm4,%ymm9,%ymm10
+  DB  196,65,45,253,208                   ; vpaddw        %ymm8,%ymm10,%ymm10
+  DB  196,193,45,113,210,8                ; vpsrlw        $0x8,%ymm10,%ymm10
+  DB  197,173,253,192                     ; vpaddw        %ymm0,%ymm10,%ymm0
+  DB  197,53,213,213                      ; vpmullw       %ymm5,%ymm9,%ymm10
+  DB  196,65,45,253,208                   ; vpaddw        %ymm8,%ymm10,%ymm10
+  DB  196,193,45,113,210,8                ; vpsrlw        $0x8,%ymm10,%ymm10
+  DB  197,173,253,201                     ; vpaddw        %ymm1,%ymm10,%ymm1
+  DB  197,53,213,214                      ; vpmullw       %ymm6,%ymm9,%ymm10
+  DB  196,65,45,253,208                   ; vpaddw        %ymm8,%ymm10,%ymm10
+  DB  196,193,45,113,210,8                ; vpsrlw        $0x8,%ymm10,%ymm10
+  DB  197,173,253,210                     ; vpaddw        %ymm2,%ymm10,%ymm2
+  DB  197,53,213,207                      ; vpmullw       %ymm7,%ymm9,%ymm9
+  DB  196,65,53,253,192                   ; vpaddw        %ymm8,%ymm9,%ymm8
+  DB  196,193,61,113,208,8                ; vpsrlw        $0x8,%ymm8,%ymm8
+  DB  197,189,253,219                     ; vpaddw        %ymm3,%ymm8,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_dstover_hsw_lowp
+_sk_dstover_hsw_lowp LABEL PROC
+  DB  196,98,125,121,5,254,227,0,0        ; vpbroadcastw  0xe3fe(%rip),%ymm8        # 351fc <_sk_srcover_bgra_8888_sse2_lowp+0x9e4>
+  DB  197,61,249,207                      ; vpsubw        %ymm7,%ymm8,%ymm9
+  DB  197,181,213,192                     ; vpmullw       %ymm0,%ymm9,%ymm0
+  DB  196,193,125,253,192                 ; vpaddw        %ymm8,%ymm0,%ymm0
+  DB  197,253,113,208,8                   ; vpsrlw        $0x8,%ymm0,%ymm0
+  DB  197,253,253,196                     ; vpaddw        %ymm4,%ymm0,%ymm0
+  DB  197,181,213,201                     ; vpmullw       %ymm1,%ymm9,%ymm1
+  DB  196,193,117,253,200                 ; vpaddw        %ymm8,%ymm1,%ymm1
+  DB  197,245,113,209,8                   ; vpsrlw        $0x8,%ymm1,%ymm1
+  DB  197,245,253,205                     ; vpaddw        %ymm5,%ymm1,%ymm1
+  DB  197,181,213,210                     ; vpmullw       %ymm2,%ymm9,%ymm2
+  DB  196,193,109,253,208                 ; vpaddw        %ymm8,%ymm2,%ymm2
+  DB  197,237,113,210,8                   ; vpsrlw        $0x8,%ymm2,%ymm2
+  DB  197,237,253,214                     ; vpaddw        %ymm6,%ymm2,%ymm2
+  DB  197,181,213,219                     ; vpmullw       %ymm3,%ymm9,%ymm3
+  DB  196,193,101,253,216                 ; vpaddw        %ymm8,%ymm3,%ymm3
+  DB  197,229,113,211,8                   ; vpsrlw        $0x8,%ymm3,%ymm3
+  DB  197,229,253,223                     ; vpaddw        %ymm7,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_modulate_hsw_lowp
+_sk_modulate_hsw_lowp LABEL PROC
+  DB  197,221,213,192                     ; vpmullw       %ymm0,%ymm4,%ymm0
+  DB  196,98,125,121,5,163,227,0,0        ; vpbroadcastw  0xe3a3(%rip),%ymm8        # 351fe <_sk_srcover_bgra_8888_sse2_lowp+0x9e6>
+  DB  196,193,125,253,192                 ; vpaddw        %ymm8,%ymm0,%ymm0
+  DB  197,253,113,208,8                   ; vpsrlw        $0x8,%ymm0,%ymm0
+  DB  197,213,213,201                     ; vpmullw       %ymm1,%ymm5,%ymm1
+  DB  196,193,117,253,200                 ; vpaddw        %ymm8,%ymm1,%ymm1
+  DB  197,245,113,209,8                   ; vpsrlw        $0x8,%ymm1,%ymm1
+  DB  197,205,213,210                     ; vpmullw       %ymm2,%ymm6,%ymm2
+  DB  196,193,109,253,208                 ; vpaddw        %ymm8,%ymm2,%ymm2
+  DB  197,237,113,210,8                   ; vpsrlw        $0x8,%ymm2,%ymm2
+  DB  197,197,213,219                     ; vpmullw       %ymm3,%ymm7,%ymm3
+  DB  196,193,101,253,216                 ; vpaddw        %ymm8,%ymm3,%ymm3
+  DB  197,229,113,211,8                   ; vpsrlw        $0x8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_multiply_hsw_lowp
+_sk_multiply_hsw_lowp LABEL PROC
+  DB  196,98,125,121,5,100,227,0,0        ; vpbroadcastw  0xe364(%rip),%ymm8        # 35200 <_sk_srcover_bgra_8888_sse2_lowp+0x9e8>
+  DB  197,61,249,203                      ; vpsubw        %ymm3,%ymm8,%ymm9
+  DB  197,53,213,212                      ; vpmullw       %ymm4,%ymm9,%ymm10
+  DB  196,65,93,253,216                   ; vpaddw        %ymm8,%ymm4,%ymm11
+  DB  197,37,249,223                      ; vpsubw        %ymm7,%ymm11,%ymm11
+  DB  197,165,213,192                     ; vpmullw       %ymm0,%ymm11,%ymm0
+  DB  196,65,45,253,208                   ; vpaddw        %ymm8,%ymm10,%ymm10
+  DB  196,193,125,253,194                 ; vpaddw        %ymm10,%ymm0,%ymm0
+  DB  197,253,113,208,8                   ; vpsrlw        $0x8,%ymm0,%ymm0
+  DB  197,53,213,213                      ; vpmullw       %ymm5,%ymm9,%ymm10
+  DB  196,65,85,253,216                   ; vpaddw        %ymm8,%ymm5,%ymm11
+  DB  197,37,249,223                      ; vpsubw        %ymm7,%ymm11,%ymm11
+  DB  197,165,213,201                     ; vpmullw       %ymm1,%ymm11,%ymm1
+  DB  196,65,45,253,208                   ; vpaddw        %ymm8,%ymm10,%ymm10
+  DB  196,193,117,253,202                 ; vpaddw        %ymm10,%ymm1,%ymm1
+  DB  197,245,113,209,8                   ; vpsrlw        $0x8,%ymm1,%ymm1
+  DB  197,53,213,214                      ; vpmullw       %ymm6,%ymm9,%ymm10
+  DB  196,65,77,253,216                   ; vpaddw        %ymm8,%ymm6,%ymm11
+  DB  197,37,249,223                      ; vpsubw        %ymm7,%ymm11,%ymm11
+  DB  197,165,213,210                     ; vpmullw       %ymm2,%ymm11,%ymm2
+  DB  196,65,45,253,208                   ; vpaddw        %ymm8,%ymm10,%ymm10
+  DB  196,193,109,253,210                 ; vpaddw        %ymm10,%ymm2,%ymm2
+  DB  197,237,113,210,8                   ; vpsrlw        $0x8,%ymm2,%ymm2
+  DB  197,53,213,207                      ; vpmullw       %ymm7,%ymm9,%ymm9
+  DB  196,193,101,213,216                 ; vpmullw       %ymm8,%ymm3,%ymm3
+  DB  196,193,101,253,216                 ; vpaddw        %ymm8,%ymm3,%ymm3
+  DB  197,181,253,219                     ; vpaddw        %ymm3,%ymm9,%ymm3
+  DB  197,229,113,211,8                   ; vpsrlw        $0x8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_plus__hsw_lowp
+_sk_plus__hsw_lowp LABEL PROC
+  DB  197,221,253,192                     ; vpaddw        %ymm0,%ymm4,%ymm0
+  DB  196,98,125,121,5,218,226,0,0        ; vpbroadcastw  0xe2da(%rip),%ymm8        # 35202 <_sk_srcover_bgra_8888_sse2_lowp+0x9ea>
+  DB  196,194,125,58,192                  ; vpminuw       %ymm8,%ymm0,%ymm0
+  DB  197,213,253,201                     ; vpaddw        %ymm1,%ymm5,%ymm1
+  DB  196,194,117,58,200                  ; vpminuw       %ymm8,%ymm1,%ymm1
+  DB  197,205,253,210                     ; vpaddw        %ymm2,%ymm6,%ymm2
+  DB  196,194,109,58,208                  ; vpminuw       %ymm8,%ymm2,%ymm2
+  DB  197,197,253,219                     ; vpaddw        %ymm3,%ymm7,%ymm3
+  DB  196,194,101,58,216                  ; vpminuw       %ymm8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_screen_hsw_lowp
+_sk_screen_hsw_lowp LABEL PROC
+  DB  197,93,253,192                      ; vpaddw        %ymm0,%ymm4,%ymm8
+  DB  197,221,213,192                     ; vpmullw       %ymm0,%ymm4,%ymm0
+  DB  196,98,125,121,13,167,226,0,0       ; vpbroadcastw  0xe2a7(%rip),%ymm9        # 35204 <_sk_srcover_bgra_8888_sse2_lowp+0x9ec>
+  DB  196,193,125,253,193                 ; vpaddw        %ymm9,%ymm0,%ymm0
+  DB  197,253,113,208,8                   ; vpsrlw        $0x8,%ymm0,%ymm0
+  DB  197,189,249,192                     ; vpsubw        %ymm0,%ymm8,%ymm0
+  DB  197,85,253,193                      ; vpaddw        %ymm1,%ymm5,%ymm8
+  DB  197,213,213,201                     ; vpmullw       %ymm1,%ymm5,%ymm1
+  DB  196,193,117,253,201                 ; vpaddw        %ymm9,%ymm1,%ymm1
+  DB  197,245,113,209,8                   ; vpsrlw        $0x8,%ymm1,%ymm1
+  DB  197,189,249,201                     ; vpsubw        %ymm1,%ymm8,%ymm1
+  DB  197,77,253,194                      ; vpaddw        %ymm2,%ymm6,%ymm8
+  DB  197,205,213,210                     ; vpmullw       %ymm2,%ymm6,%ymm2
+  DB  196,193,109,253,209                 ; vpaddw        %ymm9,%ymm2,%ymm2
+  DB  197,237,113,210,8                   ; vpsrlw        $0x8,%ymm2,%ymm2
+  DB  197,189,249,210                     ; vpsubw        %ymm2,%ymm8,%ymm2
+  DB  197,69,253,195                      ; vpaddw        %ymm3,%ymm7,%ymm8
+  DB  197,197,213,219                     ; vpmullw       %ymm3,%ymm7,%ymm3
+  DB  196,193,101,253,217                 ; vpaddw        %ymm9,%ymm3,%ymm3
+  DB  197,229,113,211,8                   ; vpsrlw        $0x8,%ymm3,%ymm3
+  DB  197,189,249,219                     ; vpsubw        %ymm3,%ymm8,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_xor__hsw_lowp
+_sk_xor__hsw_lowp LABEL PROC
+  DB  196,98,125,121,5,76,226,0,0         ; vpbroadcastw  0xe24c(%rip),%ymm8        # 35206 <_sk_srcover_bgra_8888_sse2_lowp+0x9ee>
+  DB  197,61,249,207                      ; vpsubw        %ymm7,%ymm8,%ymm9
+  DB  197,181,213,192                     ; vpmullw       %ymm0,%ymm9,%ymm0
+  DB  197,61,249,211                      ; vpsubw        %ymm3,%ymm8,%ymm10
+  DB  197,45,213,220                      ; vpmullw       %ymm4,%ymm10,%ymm11
+  DB  197,165,253,192                     ; vpaddw        %ymm0,%ymm11,%ymm0
+  DB  196,193,125,253,192                 ; vpaddw        %ymm8,%ymm0,%ymm0
+  DB  197,253,113,208,8                   ; vpsrlw        $0x8,%ymm0,%ymm0
+  DB  197,181,213,201                     ; vpmullw       %ymm1,%ymm9,%ymm1
+  DB  197,45,213,221                      ; vpmullw       %ymm5,%ymm10,%ymm11
+  DB  197,165,253,201                     ; vpaddw        %ymm1,%ymm11,%ymm1
+  DB  196,193,117,253,200                 ; vpaddw        %ymm8,%ymm1,%ymm1
+  DB  197,245,113,209,8                   ; vpsrlw        $0x8,%ymm1,%ymm1
+  DB  197,181,213,210                     ; vpmullw       %ymm2,%ymm9,%ymm2
+  DB  197,45,213,222                      ; vpmullw       %ymm6,%ymm10,%ymm11
+  DB  197,165,253,210                     ; vpaddw        %ymm2,%ymm11,%ymm2
+  DB  196,193,109,253,208                 ; vpaddw        %ymm8,%ymm2,%ymm2
+  DB  197,237,113,210,8                   ; vpsrlw        $0x8,%ymm2,%ymm2
+  DB  197,181,213,219                     ; vpmullw       %ymm3,%ymm9,%ymm3
+  DB  197,45,213,207                      ; vpmullw       %ymm7,%ymm10,%ymm9
+  DB  197,181,253,219                     ; vpaddw        %ymm3,%ymm9,%ymm3
+  DB  196,193,101,253,216                 ; vpaddw        %ymm8,%ymm3,%ymm3
+  DB  197,229,113,211,8                   ; vpsrlw        $0x8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_darken_hsw_lowp
+_sk_darken_hsw_lowp LABEL PROC
+  DB  197,93,253,192                      ; vpaddw        %ymm0,%ymm4,%ymm8
+  DB  197,197,213,192                     ; vpmullw       %ymm0,%ymm7,%ymm0
+  DB  197,93,213,203                      ; vpmullw       %ymm3,%ymm4,%ymm9
+  DB  196,194,125,62,193                  ; vpmaxuw       %ymm9,%ymm0,%ymm0
+  DB  196,98,125,121,13,208,225,0,0       ; vpbroadcastw  0xe1d0(%rip),%ymm9        # 35208 <_sk_srcover_bgra_8888_sse2_lowp+0x9f0>
+  DB  196,193,125,253,193                 ; vpaddw        %ymm9,%ymm0,%ymm0
+  DB  197,253,113,208,8                   ; vpsrlw        $0x8,%ymm0,%ymm0
+  DB  197,189,249,192                     ; vpsubw        %ymm0,%ymm8,%ymm0
+  DB  197,85,253,193                      ; vpaddw        %ymm1,%ymm5,%ymm8
+  DB  197,197,213,201                     ; vpmullw       %ymm1,%ymm7,%ymm1
+  DB  197,85,213,211                      ; vpmullw       %ymm3,%ymm5,%ymm10
+  DB  196,194,117,62,202                  ; vpmaxuw       %ymm10,%ymm1,%ymm1
+  DB  196,193,117,253,201                 ; vpaddw        %ymm9,%ymm1,%ymm1
+  DB  197,245,113,209,8                   ; vpsrlw        $0x8,%ymm1,%ymm1
+  DB  197,189,249,201                     ; vpsubw        %ymm1,%ymm8,%ymm1
+  DB  197,77,253,194                      ; vpaddw        %ymm2,%ymm6,%ymm8
+  DB  197,197,213,210                     ; vpmullw       %ymm2,%ymm7,%ymm2
+  DB  197,77,213,211                      ; vpmullw       %ymm3,%ymm6,%ymm10
+  DB  196,194,109,62,210                  ; vpmaxuw       %ymm10,%ymm2,%ymm2
+  DB  196,193,109,253,209                 ; vpaddw        %ymm9,%ymm2,%ymm2
+  DB  197,237,113,210,8                   ; vpsrlw        $0x8,%ymm2,%ymm2
+  DB  197,189,249,210                     ; vpsubw        %ymm2,%ymm8,%ymm2
+  DB  197,53,249,195                      ; vpsubw        %ymm3,%ymm9,%ymm8
+  DB  197,61,213,199                      ; vpmullw       %ymm7,%ymm8,%ymm8
+  DB  196,65,61,253,193                   ; vpaddw        %ymm9,%ymm8,%ymm8
+  DB  196,193,61,113,208,8                ; vpsrlw        $0x8,%ymm8,%ymm8
+  DB  197,189,253,219                     ; vpaddw        %ymm3,%ymm8,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_lighten_hsw_lowp
+_sk_lighten_hsw_lowp LABEL PROC
+  DB  197,93,253,192                      ; vpaddw        %ymm0,%ymm4,%ymm8
+  DB  197,197,213,192                     ; vpmullw       %ymm0,%ymm7,%ymm0
+  DB  197,93,213,203                      ; vpmullw       %ymm3,%ymm4,%ymm9
+  DB  196,194,125,58,193                  ; vpminuw       %ymm9,%ymm0,%ymm0
+  DB  196,98,125,121,13,81,225,0,0        ; vpbroadcastw  0xe151(%rip),%ymm9        # 3520a <_sk_srcover_bgra_8888_sse2_lowp+0x9f2>
+  DB  196,193,125,253,193                 ; vpaddw        %ymm9,%ymm0,%ymm0
+  DB  197,253,113,208,8                   ; vpsrlw        $0x8,%ymm0,%ymm0
+  DB  197,189,249,192                     ; vpsubw        %ymm0,%ymm8,%ymm0
+  DB  197,85,253,193                      ; vpaddw        %ymm1,%ymm5,%ymm8
+  DB  197,197,213,201                     ; vpmullw       %ymm1,%ymm7,%ymm1
+  DB  197,85,213,211                      ; vpmullw       %ymm3,%ymm5,%ymm10
+  DB  196,194,117,58,202                  ; vpminuw       %ymm10,%ymm1,%ymm1
+  DB  196,193,117,253,201                 ; vpaddw        %ymm9,%ymm1,%ymm1
+  DB  197,245,113,209,8                   ; vpsrlw        $0x8,%ymm1,%ymm1
+  DB  197,189,249,201                     ; vpsubw        %ymm1,%ymm8,%ymm1
+  DB  197,77,253,194                      ; vpaddw        %ymm2,%ymm6,%ymm8
+  DB  197,197,213,210                     ; vpmullw       %ymm2,%ymm7,%ymm2
+  DB  197,77,213,211                      ; vpmullw       %ymm3,%ymm6,%ymm10
+  DB  196,194,109,58,210                  ; vpminuw       %ymm10,%ymm2,%ymm2
+  DB  196,193,109,253,209                 ; vpaddw        %ymm9,%ymm2,%ymm2
+  DB  197,237,113,210,8                   ; vpsrlw        $0x8,%ymm2,%ymm2
+  DB  197,189,249,210                     ; vpsubw        %ymm2,%ymm8,%ymm2
+  DB  197,53,249,195                      ; vpsubw        %ymm3,%ymm9,%ymm8
+  DB  197,61,213,199                      ; vpmullw       %ymm7,%ymm8,%ymm8
+  DB  196,65,61,253,193                   ; vpaddw        %ymm9,%ymm8,%ymm8
+  DB  196,193,61,113,208,8                ; vpsrlw        $0x8,%ymm8,%ymm8
+  DB  197,189,253,219                     ; vpaddw        %ymm3,%ymm8,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_difference_hsw_lowp
+_sk_difference_hsw_lowp LABEL PROC
+  DB  197,93,253,192                      ; vpaddw        %ymm0,%ymm4,%ymm8
+  DB  197,197,213,192                     ; vpmullw       %ymm0,%ymm7,%ymm0
+  DB  197,93,213,203                      ; vpmullw       %ymm3,%ymm4,%ymm9
+  DB  196,194,125,58,193                  ; vpminuw       %ymm9,%ymm0,%ymm0
+  DB  196,98,125,121,13,210,224,0,0       ; vpbroadcastw  0xe0d2(%rip),%ymm9        # 3520c <_sk_srcover_bgra_8888_sse2_lowp+0x9f4>
+  DB  196,193,125,253,193                 ; vpaddw        %ymm9,%ymm0,%ymm0
+  DB  197,253,113,208,7                   ; vpsrlw        $0x7,%ymm0,%ymm0
+  DB  196,98,125,121,21,193,224,0,0       ; vpbroadcastw  0xe0c1(%rip),%ymm10        # 3520e <_sk_srcover_bgra_8888_sse2_lowp+0x9f6>
+  DB  196,193,125,219,194                 ; vpand         %ymm10,%ymm0,%ymm0
+  DB  197,189,249,192                     ; vpsubw        %ymm0,%ymm8,%ymm0
+  DB  197,85,253,193                      ; vpaddw        %ymm1,%ymm5,%ymm8
+  DB  197,197,213,201                     ; vpmullw       %ymm1,%ymm7,%ymm1
+  DB  197,85,213,219                      ; vpmullw       %ymm3,%ymm5,%ymm11
+  DB  196,194,117,58,203                  ; vpminuw       %ymm11,%ymm1,%ymm1
+  DB  196,193,117,253,201                 ; vpaddw        %ymm9,%ymm1,%ymm1
+  DB  197,245,113,209,7                   ; vpsrlw        $0x7,%ymm1,%ymm1
+  DB  196,193,117,219,202                 ; vpand         %ymm10,%ymm1,%ymm1
+  DB  197,189,249,201                     ; vpsubw        %ymm1,%ymm8,%ymm1
+  DB  197,77,253,194                      ; vpaddw        %ymm2,%ymm6,%ymm8
+  DB  197,197,213,210                     ; vpmullw       %ymm2,%ymm7,%ymm2
+  DB  197,77,213,219                      ; vpmullw       %ymm3,%ymm6,%ymm11
+  DB  196,194,109,58,211                  ; vpminuw       %ymm11,%ymm2,%ymm2
+  DB  196,193,109,253,209                 ; vpaddw        %ymm9,%ymm2,%ymm2
+  DB  197,237,113,210,7                   ; vpsrlw        $0x7,%ymm2,%ymm2
+  DB  196,193,109,219,210                 ; vpand         %ymm10,%ymm2,%ymm2
+  DB  197,189,249,210                     ; vpsubw        %ymm2,%ymm8,%ymm2
+  DB  197,53,249,195                      ; vpsubw        %ymm3,%ymm9,%ymm8
+  DB  197,61,213,199                      ; vpmullw       %ymm7,%ymm8,%ymm8
+  DB  196,65,61,253,193                   ; vpaddw        %ymm9,%ymm8,%ymm8
+  DB  196,193,61,113,208,8                ; vpsrlw        $0x8,%ymm8,%ymm8
+  DB  197,189,253,219                     ; vpaddw        %ymm3,%ymm8,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_exclusion_hsw_lowp
+_sk_exclusion_hsw_lowp LABEL PROC
+  DB  197,93,253,192                      ; vpaddw        %ymm0,%ymm4,%ymm8
+  DB  197,221,213,192                     ; vpmullw       %ymm0,%ymm4,%ymm0
+  DB  196,98,125,121,13,70,224,0,0        ; vpbroadcastw  0xe046(%rip),%ymm9        # 35210 <_sk_srcover_bgra_8888_sse2_lowp+0x9f8>
+  DB  196,193,125,253,193                 ; vpaddw        %ymm9,%ymm0,%ymm0
+  DB  197,253,113,208,7                   ; vpsrlw        $0x7,%ymm0,%ymm0
+  DB  196,98,125,121,21,53,224,0,0        ; vpbroadcastw  0xe035(%rip),%ymm10        # 35212 <_sk_srcover_bgra_8888_sse2_lowp+0x9fa>
+  DB  196,193,125,219,194                 ; vpand         %ymm10,%ymm0,%ymm0
+  DB  197,189,249,192                     ; vpsubw        %ymm0,%ymm8,%ymm0
+  DB  197,85,253,193                      ; vpaddw        %ymm1,%ymm5,%ymm8
+  DB  197,213,213,201                     ; vpmullw       %ymm1,%ymm5,%ymm1
+  DB  196,193,117,253,201                 ; vpaddw        %ymm9,%ymm1,%ymm1
+  DB  197,245,113,209,7                   ; vpsrlw        $0x7,%ymm1,%ymm1
+  DB  196,193,117,219,202                 ; vpand         %ymm10,%ymm1,%ymm1
+  DB  197,189,249,201                     ; vpsubw        %ymm1,%ymm8,%ymm1
+  DB  197,77,253,194                      ; vpaddw        %ymm2,%ymm6,%ymm8
+  DB  197,205,213,210                     ; vpmullw       %ymm2,%ymm6,%ymm2
+  DB  196,193,109,253,209                 ; vpaddw        %ymm9,%ymm2,%ymm2
+  DB  197,237,113,210,7                   ; vpsrlw        $0x7,%ymm2,%ymm2
+  DB  196,193,109,219,210                 ; vpand         %ymm10,%ymm2,%ymm2
+  DB  197,189,249,210                     ; vpsubw        %ymm2,%ymm8,%ymm2
+  DB  197,53,249,195                      ; vpsubw        %ymm3,%ymm9,%ymm8
+  DB  197,61,213,199                      ; vpmullw       %ymm7,%ymm8,%ymm8
+  DB  196,65,61,253,193                   ; vpaddw        %ymm9,%ymm8,%ymm8
+  DB  196,193,61,113,208,8                ; vpsrlw        $0x8,%ymm8,%ymm8
+  DB  197,189,253,219                     ; vpaddw        %ymm3,%ymm8,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_hardlight_hsw_lowp
+_sk_hardlight_hsw_lowp LABEL PROC
+  DB  197,125,253,192                     ; vpaddw        %ymm0,%ymm0,%ymm8
+  DB  196,98,125,121,13,210,223,0,0       ; vpbroadcastw  0xdfd2(%rip),%ymm9        # 35216 <_sk_srcover_bgra_8888_sse2_lowp+0x9fe>
+  DB  196,65,101,239,209                  ; vpxor         %ymm9,%ymm3,%ymm10
+  DB  196,65,61,239,217                   ; vpxor         %ymm9,%ymm8,%ymm11
+  DB  196,65,37,101,218                   ; vpcmpgtw      %ymm10,%ymm11,%ymm11
+  DB  197,61,213,228                      ; vpmullw       %ymm4,%ymm8,%ymm12
+  DB  197,69,213,195                      ; vpmullw       %ymm3,%ymm7,%ymm8
+  DB  197,101,249,232                     ; vpsubw        %ymm0,%ymm3,%ymm13
+  DB  197,69,249,244                      ; vpsubw        %ymm4,%ymm7,%ymm14
+  DB  196,65,21,213,238                   ; vpmullw       %ymm14,%ymm13,%ymm13
+  DB  196,65,21,253,237                   ; vpaddw        %ymm13,%ymm13,%ymm13
+  DB  196,65,61,249,237                   ; vpsubw        %ymm13,%ymm8,%ymm13
+  DB  196,67,29,76,221,176                ; vpblendvb     %ymm11,%ymm13,%ymm12,%ymm11
+  DB  197,117,253,225                     ; vpaddw        %ymm1,%ymm1,%ymm12
+  DB  197,101,249,233                     ; vpsubw        %ymm1,%ymm3,%ymm13
+  DB  197,69,249,245                      ; vpsubw        %ymm5,%ymm7,%ymm14
+  DB  196,65,21,213,238                   ; vpmullw       %ymm14,%ymm13,%ymm13
+  DB  196,65,29,239,241                   ; vpxor         %ymm9,%ymm12,%ymm14
+  DB  196,65,13,101,242                   ; vpcmpgtw      %ymm10,%ymm14,%ymm14
+  DB  197,29,213,229                      ; vpmullw       %ymm5,%ymm12,%ymm12
+  DB  196,65,21,253,237                   ; vpaddw        %ymm13,%ymm13,%ymm13
+  DB  196,65,61,249,237                   ; vpsubw        %ymm13,%ymm8,%ymm13
+  DB  196,67,29,76,229,224                ; vpblendvb     %ymm14,%ymm13,%ymm12,%ymm12
+  DB  197,109,253,234                     ; vpaddw        %ymm2,%ymm2,%ymm13
+  DB  196,65,21,239,201                   ; vpxor         %ymm9,%ymm13,%ymm9
+  DB  196,65,53,101,202                   ; vpcmpgtw      %ymm10,%ymm9,%ymm9
+  DB  197,101,249,210                     ; vpsubw        %ymm2,%ymm3,%ymm10
+  DB  197,69,249,246                      ; vpsubw        %ymm6,%ymm7,%ymm14
+  DB  196,65,45,213,214                   ; vpmullw       %ymm14,%ymm10,%ymm10
+  DB  196,98,125,121,53,73,223,0,0        ; vpbroadcastw  0xdf49(%rip),%ymm14        # 35214 <_sk_srcover_bgra_8888_sse2_lowp+0x9fc>
+  DB  196,65,45,253,210                   ; vpaddw        %ymm10,%ymm10,%ymm10
+  DB  196,65,61,249,194                   ; vpsubw        %ymm10,%ymm8,%ymm8
+  DB  197,13,249,215                      ; vpsubw        %ymm7,%ymm14,%ymm10
+  DB  197,173,213,192                     ; vpmullw       %ymm0,%ymm10,%ymm0
+  DB  197,21,213,238                      ; vpmullw       %ymm6,%ymm13,%ymm13
+  DB  196,67,21,76,192,144                ; vpblendvb     %ymm9,%ymm8,%ymm13,%ymm8
+  DB  197,13,249,203                      ; vpsubw        %ymm3,%ymm14,%ymm9
+  DB  197,53,213,236                      ; vpmullw       %ymm4,%ymm9,%ymm13
+  DB  197,149,253,192                     ; vpaddw        %ymm0,%ymm13,%ymm0
+  DB  196,65,37,253,222                   ; vpaddw        %ymm14,%ymm11,%ymm11
+  DB  196,193,125,253,195                 ; vpaddw        %ymm11,%ymm0,%ymm0
+  DB  197,173,213,201                     ; vpmullw       %ymm1,%ymm10,%ymm1
+  DB  197,53,213,221                      ; vpmullw       %ymm5,%ymm9,%ymm11
+  DB  197,165,253,201                     ; vpaddw        %ymm1,%ymm11,%ymm1
+  DB  196,65,29,253,222                   ; vpaddw        %ymm14,%ymm12,%ymm11
+  DB  196,193,117,253,203                 ; vpaddw        %ymm11,%ymm1,%ymm1
+  DB  197,173,213,210                     ; vpmullw       %ymm2,%ymm10,%ymm2
+  DB  197,53,213,214                      ; vpmullw       %ymm6,%ymm9,%ymm10
+  DB  197,173,253,210                     ; vpaddw        %ymm2,%ymm10,%ymm2
+  DB  196,65,61,253,198                   ; vpaddw        %ymm14,%ymm8,%ymm8
+  DB  196,193,109,253,208                 ; vpaddw        %ymm8,%ymm2,%ymm2
+  DB  197,53,213,199                      ; vpmullw       %ymm7,%ymm9,%ymm8
+  DB  196,65,61,253,198                   ; vpaddw        %ymm14,%ymm8,%ymm8
+  DB  196,193,61,113,208,8                ; vpsrlw        $0x8,%ymm8,%ymm8
+  DB  197,189,253,219                     ; vpaddw        %ymm3,%ymm8,%ymm3
+  DB  197,253,113,208,8                   ; vpsrlw        $0x8,%ymm0,%ymm0
+  DB  197,245,113,209,8                   ; vpsrlw        $0x8,%ymm1,%ymm1
+  DB  197,237,113,210,8                   ; vpsrlw        $0x8,%ymm2,%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_overlay_hsw_lowp
+_sk_overlay_hsw_lowp LABEL PROC
+  DB  197,93,253,196                      ; vpaddw        %ymm4,%ymm4,%ymm8
+  DB  196,98,125,121,13,190,222,0,0       ; vpbroadcastw  0xdebe(%rip),%ymm9        # 3521a <_sk_srcover_bgra_8888_sse2_lowp+0xa02>
+  DB  196,65,69,239,209                   ; vpxor         %ymm9,%ymm7,%ymm10
+  DB  196,65,61,239,193                   ; vpxor         %ymm9,%ymm8,%ymm8
+  DB  196,65,61,101,218                   ; vpcmpgtw      %ymm10,%ymm8,%ymm11
+  DB  197,125,213,196                     ; vpmullw       %ymm4,%ymm0,%ymm8
+  DB  196,65,61,253,224                   ; vpaddw        %ymm8,%ymm8,%ymm12
+  DB  197,69,213,195                      ; vpmullw       %ymm3,%ymm7,%ymm8
+  DB  197,101,249,232                     ; vpsubw        %ymm0,%ymm3,%ymm13
+  DB  197,69,249,244                      ; vpsubw        %ymm4,%ymm7,%ymm14
+  DB  196,65,21,213,238                   ; vpmullw       %ymm14,%ymm13,%ymm13
+  DB  196,65,21,253,237                   ; vpaddw        %ymm13,%ymm13,%ymm13
+  DB  196,65,61,249,237                   ; vpsubw        %ymm13,%ymm8,%ymm13
+  DB  196,67,29,76,221,176                ; vpblendvb     %ymm11,%ymm13,%ymm12,%ymm11
+  DB  197,85,253,229                      ; vpaddw        %ymm5,%ymm5,%ymm12
+  DB  196,65,29,239,225                   ; vpxor         %ymm9,%ymm12,%ymm12
+  DB  196,65,29,101,226                   ; vpcmpgtw      %ymm10,%ymm12,%ymm12
+  DB  197,101,249,233                     ; vpsubw        %ymm1,%ymm3,%ymm13
+  DB  197,69,249,245                      ; vpsubw        %ymm5,%ymm7,%ymm14
+  DB  196,65,21,213,238                   ; vpmullw       %ymm14,%ymm13,%ymm13
+  DB  197,117,213,245                     ; vpmullw       %ymm5,%ymm1,%ymm14
+  DB  196,65,13,253,246                   ; vpaddw        %ymm14,%ymm14,%ymm14
+  DB  196,65,21,253,237                   ; vpaddw        %ymm13,%ymm13,%ymm13
+  DB  196,65,61,249,237                   ; vpsubw        %ymm13,%ymm8,%ymm13
+  DB  196,67,13,76,229,192                ; vpblendvb     %ymm12,%ymm13,%ymm14,%ymm12
+  DB  196,98,125,121,45,70,222,0,0        ; vpbroadcastw  0xde46(%rip),%ymm13        # 35218 <_sk_srcover_bgra_8888_sse2_lowp+0xa00>
+  DB  197,77,253,246                      ; vpaddw        %ymm6,%ymm6,%ymm14
+  DB  196,65,13,239,201                   ; vpxor         %ymm9,%ymm14,%ymm9
+  DB  196,65,53,101,202                   ; vpcmpgtw      %ymm10,%ymm9,%ymm9
+  DB  197,101,249,210                     ; vpsubw        %ymm2,%ymm3,%ymm10
+  DB  197,69,249,246                      ; vpsubw        %ymm6,%ymm7,%ymm14
+  DB  196,65,45,213,214                   ; vpmullw       %ymm14,%ymm10,%ymm10
+  DB  197,21,249,247                      ; vpsubw        %ymm7,%ymm13,%ymm14
+  DB  197,141,213,192                     ; vpmullw       %ymm0,%ymm14,%ymm0
+  DB  196,65,45,253,210                   ; vpaddw        %ymm10,%ymm10,%ymm10
+  DB  196,65,61,249,194                   ; vpsubw        %ymm10,%ymm8,%ymm8
+  DB  197,109,213,214                     ; vpmullw       %ymm6,%ymm2,%ymm10
+  DB  196,65,45,253,210                   ; vpaddw        %ymm10,%ymm10,%ymm10
+  DB  196,67,45,76,192,144                ; vpblendvb     %ymm9,%ymm8,%ymm10,%ymm8
+  DB  197,21,249,203                      ; vpsubw        %ymm3,%ymm13,%ymm9
+  DB  197,53,213,212                      ; vpmullw       %ymm4,%ymm9,%ymm10
+  DB  197,173,253,192                     ; vpaddw        %ymm0,%ymm10,%ymm0
+  DB  196,65,37,253,213                   ; vpaddw        %ymm13,%ymm11,%ymm10
+  DB  196,193,125,253,194                 ; vpaddw        %ymm10,%ymm0,%ymm0
+  DB  197,141,213,201                     ; vpmullw       %ymm1,%ymm14,%ymm1
+  DB  197,53,213,213                      ; vpmullw       %ymm5,%ymm9,%ymm10
+  DB  197,173,253,201                     ; vpaddw        %ymm1,%ymm10,%ymm1
+  DB  196,65,29,253,213                   ; vpaddw        %ymm13,%ymm12,%ymm10
+  DB  196,193,117,253,202                 ; vpaddw        %ymm10,%ymm1,%ymm1
+  DB  197,141,213,210                     ; vpmullw       %ymm2,%ymm14,%ymm2
+  DB  197,53,213,214                      ; vpmullw       %ymm6,%ymm9,%ymm10
+  DB  197,173,253,210                     ; vpaddw        %ymm2,%ymm10,%ymm2
+  DB  196,65,61,253,197                   ; vpaddw        %ymm13,%ymm8,%ymm8
+  DB  196,193,109,253,208                 ; vpaddw        %ymm8,%ymm2,%ymm2
+  DB  197,53,213,199                      ; vpmullw       %ymm7,%ymm9,%ymm8
+  DB  196,65,61,253,197                   ; vpaddw        %ymm13,%ymm8,%ymm8
+  DB  196,193,61,113,208,8                ; vpsrlw        $0x8,%ymm8,%ymm8
+  DB  197,189,253,219                     ; vpaddw        %ymm3,%ymm8,%ymm3
+  DB  197,253,113,208,8                   ; vpsrlw        $0x8,%ymm0,%ymm0
+  DB  197,245,113,209,8                   ; vpsrlw        $0x8,%ymm1,%ymm1
+  DB  197,237,113,210,8                   ; vpsrlw        $0x8,%ymm2,%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_load_8888_hsw_lowp
+_sk_load_8888_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,15                               ; and           $0xf,%al
+  DB  254,200                             ; dec           %al
+  DB  60,14                               ; cmp           $0xe,%al
+  DB  119,55                              ; ja            274c8 <_sk_load_8888_hsw_lowp+0x52>
+  DB  197,253,239,192                     ; vpxor         %ymm0,%ymm0,%ymm0
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,161,1,0,0                 ; lea           0x1a1(%rip),%r9        # 27640 <_sk_load_8888_hsw_lowp+0x1ca>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  197,245,239,201                     ; vpxor         %ymm1,%ymm1,%ymm1
+  DB  197,237,239,210                     ; vpxor         %ymm2,%ymm2,%ymm2
+  DB  196,65,61,239,192                   ; vpxor         %ymm8,%ymm8,%ymm8
+  DB  197,229,239,219                     ; vpxor         %ymm3,%ymm3,%ymm3
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,193,121,110,12,144              ; vmovd         (%r8,%rdx,4),%xmm1
+  DB  197,253,239,192                     ; vpxor         %ymm0,%ymm0,%ymm0
+  DB  233,39,1,0,0                        ; jmpq          275ef <_sk_load_8888_hsw_lowp+0x179>
+  DB  196,193,126,111,12,144              ; vmovdqu       (%r8,%rdx,4),%ymm1
+  DB  196,193,126,111,68,144,32           ; vmovdqu       0x20(%r8,%rdx,4),%ymm0
+  DB  233,21,1,0,0                        ; jmpq          275ef <_sk_load_8888_hsw_lowp+0x179>
+  DB  196,193,121,110,68,144,8            ; vmovd         0x8(%r8,%rdx,4),%xmm0
+  DB  196,226,121,89,192                  ; vpbroadcastq  %xmm0,%xmm0
+  DB  197,229,239,219                     ; vpxor         %ymm3,%ymm3,%ymm3
+  DB  196,227,101,2,192,4                 ; vpblendd      $0x4,%ymm0,%ymm3,%ymm0
+  DB  196,194,121,53,12,144               ; vpmovzxdq     (%r8,%rdx,4),%xmm1
+  DB  197,249,112,201,232                 ; vpshufd       $0xe8,%xmm1,%xmm1
+  DB  196,227,125,2,201,3                 ; vpblendd      $0x3,%ymm1,%ymm0,%ymm1
+  DB  197,253,111,195                     ; vmovdqa       %ymm3,%ymm0
+  DB  233,229,0,0,0                       ; jmpq          275ef <_sk_load_8888_hsw_lowp+0x179>
+  DB  196,193,121,110,68,144,24           ; vmovd         0x18(%r8,%rdx,4),%xmm0
+  DB  196,226,125,89,192                  ; vpbroadcastq  %xmm0,%ymm0
+  DB  197,245,239,201                     ; vpxor         %ymm1,%ymm1,%ymm1
+  DB  196,227,117,2,192,64                ; vpblendd      $0x40,%ymm0,%ymm1,%ymm0
+  DB  196,227,125,57,194,1                ; vextracti128  $0x1,%ymm0,%xmm2
+  DB  196,195,105,34,84,144,20,1          ; vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm2,%xmm2
+  DB  196,227,125,56,194,1                ; vinserti128   $0x1,%xmm2,%ymm0,%ymm0
+  DB  197,253,111,209                     ; vmovdqa       %ymm1,%ymm2
+  DB  196,227,125,57,193,1                ; vextracti128  $0x1,%ymm0,%xmm1
+  DB  196,195,113,34,76,144,16,0          ; vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm1,%xmm1
+  DB  196,227,125,56,193,1                ; vinserti128   $0x1,%xmm1,%ymm0,%ymm0
+  DB  197,125,111,194                     ; vmovdqa       %ymm2,%ymm8
+  DB  196,193,122,111,12,144              ; vmovdqu       (%r8,%rdx,4),%xmm1
+  DB  196,227,117,2,200,240               ; vpblendd      $0xf0,%ymm0,%ymm1,%ymm1
+  DB  197,125,127,192                     ; vmovdqa       %ymm8,%ymm0
+  DB  233,138,0,0,0                       ; jmpq          275ef <_sk_load_8888_hsw_lowp+0x179>
+  DB  196,193,121,110,68,144,40           ; vmovd         0x28(%r8,%rdx,4),%xmm0
+  DB  196,226,121,89,192                  ; vpbroadcastq  %xmm0,%xmm0
+  DB  197,245,239,201                     ; vpxor         %ymm1,%ymm1,%ymm1
+  DB  196,227,117,2,192,4                 ; vpblendd      $0x4,%ymm0,%ymm1,%ymm0
+  DB  196,195,121,34,76,144,36,1          ; vpinsrd       $0x1,0x24(%r8,%rdx,4),%xmm0,%xmm1
+  DB  196,227,125,2,193,15                ; vpblendd      $0xf,%ymm1,%ymm0,%ymm0
+  DB  196,193,121,110,76,144,32           ; vmovd         0x20(%r8,%rdx,4),%xmm1
+  DB  196,227,125,2,193,1                 ; vpblendd      $0x1,%ymm1,%ymm0,%ymm0
+  DB  196,193,126,111,12,144              ; vmovdqu       (%r8,%rdx,4),%ymm1
+  DB  235,81                              ; jmp           275ef <_sk_load_8888_hsw_lowp+0x179>
+  DB  196,193,121,110,68,144,56           ; vmovd         0x38(%r8,%rdx,4),%xmm0
+  DB  196,226,125,89,192                  ; vpbroadcastq  %xmm0,%ymm0
+  DB  197,245,239,201                     ; vpxor         %ymm1,%ymm1,%ymm1
+  DB  196,227,117,2,192,64                ; vpblendd      $0x40,%ymm0,%ymm1,%ymm0
+  DB  196,227,125,57,193,1                ; vextracti128  $0x1,%ymm0,%xmm1
+  DB  196,195,113,34,76,144,52,1          ; vpinsrd       $0x1,0x34(%r8,%rdx,4),%xmm1,%xmm1
+  DB  196,227,125,56,193,1                ; vinserti128   $0x1,%xmm1,%ymm0,%ymm0
+  DB  196,227,125,57,193,1                ; vextracti128  $0x1,%ymm0,%xmm1
+  DB  196,195,113,34,76,144,48,0          ; vpinsrd       $0x0,0x30(%r8,%rdx,4),%xmm1,%xmm1
+  DB  196,227,125,56,193,1                ; vinserti128   $0x1,%xmm1,%ymm0,%ymm0
+  DB  196,193,126,111,12,144              ; vmovdqu       (%r8,%rdx,4),%ymm1
+  DB  196,193,122,111,84,144,32           ; vmovdqu       0x20(%r8,%rdx,4),%xmm2
+  DB  196,227,109,2,192,240               ; vpblendd      $0xf0,%ymm0,%ymm2,%ymm0
+  DB  196,227,117,56,208,1                ; vinserti128   $0x1,%xmm0,%ymm1,%ymm2
+  DB  196,227,117,70,216,49               ; vperm2i128    $0x31,%ymm0,%ymm1,%ymm3
+  DB  197,253,239,192                     ; vpxor         %ymm0,%ymm0,%ymm0
+  DB  196,227,101,14,200,170              ; vpblendw      $0xaa,%ymm0,%ymm3,%ymm1
+  DB  196,227,109,14,192,170              ; vpblendw      $0xaa,%ymm0,%ymm2,%ymm0
+  DB  196,226,125,43,201                  ; vpackusdw     %ymm1,%ymm0,%ymm1
+  DB  197,125,111,5,8,220,0,0             ; vmovdqa       0xdc08(%rip),%ymm8        # 35220 <_sk_srcover_bgra_8888_sse2_lowp+0xa08>
+  DB  196,193,117,219,192                 ; vpand         %ymm8,%ymm1,%ymm0
+  DB  197,245,113,209,8                   ; vpsrlw        $0x8,%ymm1,%ymm1
+  DB  197,229,114,211,16                  ; vpsrld        $0x10,%ymm3,%ymm3
+  DB  197,237,114,210,16                  ; vpsrld        $0x10,%ymm2,%ymm2
+  DB  196,226,109,43,219                  ; vpackusdw     %ymm3,%ymm2,%ymm3
+  DB  196,193,101,219,208                 ; vpand         %ymm8,%ymm3,%ymm2
+  DB  197,229,113,211,8                   ; vpsrlw        $0x8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  144                                 ; nop
+  DB  121,254                             ; jns           27640 <_sk_load_8888_hsw_lowp+0x1ca>
+  DB  255                                 ; (bad)
+  DB  255,176,254,255,255,154             ; pushq         -0x65000002(%rax)
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,16                              ; callq         *(%rax)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  248                                 ; clc
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,224                             ; jmpq          *%rax
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,202                             ; dec           %edx
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,86,255                          ; callq         *-0x1(%rsi)
+  DB  255                                 ; (bad)
+  DB  255,73,255                          ; decl          -0x1(%rcx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  59,255                              ; cmp           %edi,%edi
+  DB  255                                 ; (bad)
+  DB  255,37,255,255,255,156              ; jmpq          *-0x63000001(%rip)        # ffffffff9d02766c <_sk_srcover_bgra_8888_sse2_lowp+0xffffffff9cff2e54>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,136,255,255,255,116             ; decl          0x74ffffff(%rax)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,94,255                          ; lcall         *-0x1(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_8888_dst_hsw_lowp
+_sk_load_8888_dst_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,15                               ; and           $0xf,%al
+  DB  254,200                             ; dec           %al
+  DB  60,14                               ; cmp           $0xe,%al
+  DB  119,55                              ; ja            276ce <_sk_load_8888_dst_hsw_lowp+0x52>
+  DB  197,221,239,228                     ; vpxor         %ymm4,%ymm4,%ymm4
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,163,1,0,0                 ; lea           0x1a3(%rip),%r9        # 27848 <_sk_load_8888_dst_hsw_lowp+0x1cc>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  197,213,239,237                     ; vpxor         %ymm5,%ymm5,%ymm5
+  DB  197,205,239,246                     ; vpxor         %ymm6,%ymm6,%ymm6
+  DB  196,65,61,239,192                   ; vpxor         %ymm8,%ymm8,%ymm8
+  DB  197,197,239,255                     ; vpxor         %ymm7,%ymm7,%ymm7
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,193,121,110,44,144              ; vmovd         (%r8,%rdx,4),%xmm5
+  DB  197,221,239,228                     ; vpxor         %ymm4,%ymm4,%ymm4
+  DB  233,39,1,0,0                        ; jmpq          277f5 <_sk_load_8888_dst_hsw_lowp+0x179>
+  DB  196,193,126,111,44,144              ; vmovdqu       (%r8,%rdx,4),%ymm5
+  DB  196,193,126,111,100,144,32          ; vmovdqu       0x20(%r8,%rdx,4),%ymm4
+  DB  233,21,1,0,0                        ; jmpq          277f5 <_sk_load_8888_dst_hsw_lowp+0x179>
+  DB  196,193,121,110,100,144,8           ; vmovd         0x8(%r8,%rdx,4),%xmm4
+  DB  196,226,121,89,228                  ; vpbroadcastq  %xmm4,%xmm4
+  DB  197,197,239,255                     ; vpxor         %ymm7,%ymm7,%ymm7
+  DB  196,227,69,2,228,4                  ; vpblendd      $0x4,%ymm4,%ymm7,%ymm4
+  DB  196,194,121,53,44,144               ; vpmovzxdq     (%r8,%rdx,4),%xmm5
+  DB  197,249,112,237,232                 ; vpshufd       $0xe8,%xmm5,%xmm5
+  DB  196,227,93,2,237,3                  ; vpblendd      $0x3,%ymm5,%ymm4,%ymm5
+  DB  197,253,111,231                     ; vmovdqa       %ymm7,%ymm4
+  DB  233,229,0,0,0                       ; jmpq          277f5 <_sk_load_8888_dst_hsw_lowp+0x179>
+  DB  196,193,121,110,100,144,24          ; vmovd         0x18(%r8,%rdx,4),%xmm4
+  DB  196,226,125,89,228                  ; vpbroadcastq  %xmm4,%ymm4
+  DB  197,213,239,237                     ; vpxor         %ymm5,%ymm5,%ymm5
+  DB  196,227,85,2,228,64                 ; vpblendd      $0x40,%ymm4,%ymm5,%ymm4
+  DB  196,227,125,57,230,1                ; vextracti128  $0x1,%ymm4,%xmm6
+  DB  196,195,73,34,116,144,20,1          ; vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm6,%xmm6
+  DB  196,227,93,56,230,1                 ; vinserti128   $0x1,%xmm6,%ymm4,%ymm4
+  DB  197,253,111,245                     ; vmovdqa       %ymm5,%ymm6
+  DB  196,227,125,57,229,1                ; vextracti128  $0x1,%ymm4,%xmm5
+  DB  196,195,81,34,108,144,16,0          ; vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm5,%xmm5
+  DB  196,227,93,56,229,1                 ; vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  DB  197,125,111,198                     ; vmovdqa       %ymm6,%ymm8
+  DB  196,193,122,111,44,144              ; vmovdqu       (%r8,%rdx,4),%xmm5
+  DB  196,227,85,2,236,240                ; vpblendd      $0xf0,%ymm4,%ymm5,%ymm5
+  DB  197,125,127,196                     ; vmovdqa       %ymm8,%ymm4
+  DB  233,138,0,0,0                       ; jmpq          277f5 <_sk_load_8888_dst_hsw_lowp+0x179>
+  DB  196,193,121,110,100,144,40          ; vmovd         0x28(%r8,%rdx,4),%xmm4
+  DB  196,226,121,89,228                  ; vpbroadcastq  %xmm4,%xmm4
+  DB  197,213,239,237                     ; vpxor         %ymm5,%ymm5,%ymm5
+  DB  196,227,85,2,228,4                  ; vpblendd      $0x4,%ymm4,%ymm5,%ymm4
+  DB  196,195,89,34,108,144,36,1          ; vpinsrd       $0x1,0x24(%r8,%rdx,4),%xmm4,%xmm5
+  DB  196,227,93,2,229,15                 ; vpblendd      $0xf,%ymm5,%ymm4,%ymm4
+  DB  196,193,121,110,108,144,32          ; vmovd         0x20(%r8,%rdx,4),%xmm5
+  DB  196,227,93,2,229,1                  ; vpblendd      $0x1,%ymm5,%ymm4,%ymm4
+  DB  196,193,126,111,44,144              ; vmovdqu       (%r8,%rdx,4),%ymm5
+  DB  235,81                              ; jmp           277f5 <_sk_load_8888_dst_hsw_lowp+0x179>
+  DB  196,193,121,110,100,144,56          ; vmovd         0x38(%r8,%rdx,4),%xmm4
+  DB  196,226,125,89,228                  ; vpbroadcastq  %xmm4,%ymm4
+  DB  197,213,239,237                     ; vpxor         %ymm5,%ymm5,%ymm5
+  DB  196,227,85,2,228,64                 ; vpblendd      $0x40,%ymm4,%ymm5,%ymm4
+  DB  196,227,125,57,229,1                ; vextracti128  $0x1,%ymm4,%xmm5
+  DB  196,195,81,34,108,144,52,1          ; vpinsrd       $0x1,0x34(%r8,%rdx,4),%xmm5,%xmm5
+  DB  196,227,93,56,229,1                 ; vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  DB  196,227,125,57,229,1                ; vextracti128  $0x1,%ymm4,%xmm5
+  DB  196,195,81,34,108,144,48,0          ; vpinsrd       $0x0,0x30(%r8,%rdx,4),%xmm5,%xmm5
+  DB  196,227,93,56,229,1                 ; vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  DB  196,193,126,111,44,144              ; vmovdqu       (%r8,%rdx,4),%ymm5
+  DB  196,193,122,111,116,144,32          ; vmovdqu       0x20(%r8,%rdx,4),%xmm6
+  DB  196,227,77,2,228,240                ; vpblendd      $0xf0,%ymm4,%ymm6,%ymm4
+  DB  196,227,85,56,244,1                 ; vinserti128   $0x1,%xmm4,%ymm5,%ymm6
+  DB  196,227,85,70,252,49                ; vperm2i128    $0x31,%ymm4,%ymm5,%ymm7
+  DB  197,221,239,228                     ; vpxor         %ymm4,%ymm4,%ymm4
+  DB  196,227,69,14,236,170               ; vpblendw      $0xaa,%ymm4,%ymm7,%ymm5
+  DB  196,227,77,14,228,170               ; vpblendw      $0xaa,%ymm4,%ymm6,%ymm4
+  DB  196,226,93,43,237                   ; vpackusdw     %ymm5,%ymm4,%ymm5
+  DB  197,125,111,5,34,218,0,0            ; vmovdqa       0xda22(%rip),%ymm8        # 35240 <_sk_srcover_bgra_8888_sse2_lowp+0xa28>
+  DB  196,193,85,219,224                  ; vpand         %ymm8,%ymm5,%ymm4
+  DB  197,213,113,213,8                   ; vpsrlw        $0x8,%ymm5,%ymm5
+  DB  197,197,114,215,16                  ; vpsrld        $0x10,%ymm7,%ymm7
+  DB  197,205,114,214,16                  ; vpsrld        $0x10,%ymm6,%ymm6
+  DB  196,226,77,43,255                   ; vpackusdw     %ymm7,%ymm6,%ymm7
+  DB  196,193,69,219,240                  ; vpand         %ymm8,%ymm7,%ymm6
+  DB  197,197,113,215,8                   ; vpsrlw        $0x8,%ymm7,%ymm7
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  15,31,0                             ; nopl          (%rax)
+  DB  119,254                             ; ja            27848 <_sk_load_8888_dst_hsw_lowp+0x1cc>
+  DB  255                                 ; (bad)
+  DB  255,174,254,255,255,152             ; ljmp          *-0x67000002(%rsi)
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,14                              ; decl          (%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,246                             ; push          %rsi
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  222,254                             ; fdivrp        %st,%st(6)
+  DB  255                                 ; (bad)
+  DB  255,200                             ; dec           %eax
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,84,255,255                      ; callq         *-0x1(%rdi,%rdi,8)
+  DB  255,71,255                          ; incl          -0x1(%rdi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  57,255                              ; cmp           %edi,%edi
+  DB  255                                 ; (bad)
+  DB  255,35                              ; jmpq          *(%rbx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,154,255,255,255,134             ; lcall         *-0x79000001(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,114,255                         ; pushq         -0x1(%rdx)
+  DB  255                                 ; (bad)
+  DB  255,92,255,255                      ; lcall         *-0x1(%rdi,%rdi,8)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_store_8888_hsw_lowp
+_sk_store_8888_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  197,189,113,241,8                   ; vpsllw        $0x8,%ymm1,%ymm8
+  DB  197,61,235,192                      ; vpor          %ymm0,%ymm8,%ymm8
+  DB  196,66,125,51,200                   ; vpmovzxwd     %xmm8,%ymm9
+  DB  196,67,125,57,192,1                 ; vextracti128  $0x1,%ymm8,%xmm8
+  DB  196,66,125,51,208                   ; vpmovzxwd     %xmm8,%ymm10
+  DB  197,189,113,243,8                   ; vpsllw        $0x8,%ymm3,%ymm8
+  DB  197,61,235,194                      ; vpor          %ymm2,%ymm8,%ymm8
+  DB  196,67,125,57,195,1                 ; vextracti128  $0x1,%ymm8,%xmm11
+  DB  196,66,125,51,219                   ; vpmovzxwd     %xmm11,%ymm11
+  DB  196,66,125,51,192                   ; vpmovzxwd     %xmm8,%ymm8
+  DB  196,193,61,114,240,16               ; vpslld        $0x10,%ymm8,%ymm8
+  DB  196,65,61,235,193                   ; vpor          %ymm9,%ymm8,%ymm8
+  DB  196,193,53,114,243,16               ; vpslld        $0x10,%ymm11,%ymm9
+  DB  196,65,53,235,202                   ; vpor          %ymm10,%ymm9,%ymm9
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,15                               ; and           $0xf,%al
+  DB  254,200                             ; dec           %al
+  DB  60,14                               ; cmp           $0xe,%al
+  DB  119,30                              ; ja            27905 <_sk_store_8888_hsw_lowp+0x81>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,195,0,0,0                 ; lea           0xc3(%rip),%r9        # 279b4 <_sk_store_8888_hsw_lowp+0x130>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,65,121,126,4,144                ; vmovd         %xmm8,(%r8,%rdx,4)
+  DB  233,171,0,0,0                       ; jmpq          279b0 <_sk_store_8888_hsw_lowp+0x12c>
+  DB  196,65,126,127,4,144                ; vmovdqu       %ymm8,(%r8,%rdx,4)
+  DB  196,65,126,127,76,144,32            ; vmovdqu       %ymm9,0x20(%r8,%rdx,4)
+  DB  233,153,0,0,0                       ; jmpq          279b0 <_sk_store_8888_hsw_lowp+0x12c>
+  DB  196,67,121,22,68,144,8,2            ; vpextrd       $0x2,%xmm8,0x8(%r8,%rdx,4)
+  DB  196,65,121,214,4,144                ; vmovq         %xmm8,(%r8,%rdx,4)
+  DB  233,134,0,0,0                       ; jmpq          279b0 <_sk_store_8888_hsw_lowp+0x12c>
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,67,121,22,76,144,24,2           ; vpextrd       $0x2,%xmm9,0x18(%r8,%rdx,4)
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,67,121,22,76,144,20,1           ; vpextrd       $0x1,%xmm9,0x14(%r8,%rdx,4)
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,65,121,126,76,144,16            ; vmovd         %xmm9,0x10(%r8,%rdx,4)
+  DB  196,65,122,127,4,144                ; vmovdqu       %xmm8,(%r8,%rdx,4)
+  DB  235,85                              ; jmp           279b0 <_sk_store_8888_hsw_lowp+0x12c>
+  DB  196,67,121,22,76,144,40,2           ; vpextrd       $0x2,%xmm9,0x28(%r8,%rdx,4)
+  DB  196,67,121,22,76,144,36,1           ; vpextrd       $0x1,%xmm9,0x24(%r8,%rdx,4)
+  DB  196,65,121,126,76,144,32            ; vmovd         %xmm9,0x20(%r8,%rdx,4)
+  DB  196,65,126,127,4,144                ; vmovdqu       %ymm8,(%r8,%rdx,4)
+  DB  235,54                              ; jmp           279b0 <_sk_store_8888_hsw_lowp+0x12c>
+  DB  196,67,125,57,202,1                 ; vextracti128  $0x1,%ymm9,%xmm10
+  DB  196,67,121,22,84,144,56,2           ; vpextrd       $0x2,%xmm10,0x38(%r8,%rdx,4)
+  DB  196,67,125,57,202,1                 ; vextracti128  $0x1,%ymm9,%xmm10
+  DB  196,67,121,22,84,144,52,1           ; vpextrd       $0x1,%xmm10,0x34(%r8,%rdx,4)
+  DB  196,67,125,57,202,1                 ; vextracti128  $0x1,%ymm9,%xmm10
+  DB  196,65,121,126,84,144,48            ; vmovd         %xmm10,0x30(%r8,%rdx,4)
+  DB  196,65,126,127,4,144                ; vmovdqu       %ymm8,(%r8,%rdx,4)
+  DB  196,65,122,127,76,144,32            ; vmovdqu       %xmm9,0x20(%r8,%rdx,4)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  70,255                              ; rex.RX        (bad)
+  DB  255                                 ; (bad)
+  DB  255,107,255                         ; ljmp          *-0x1(%rbx)
+  DB  255                                 ; (bad)
+  DB  255,99,255                          ; jmpq          *-0x1(%rbx)
+  DB  255                                 ; (bad)
+  DB  255,159,255,255,255,146             ; lcall         *-0x6d000001(%rdi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,132,255,255,255,118,255         ; incl          -0x890001(%rdi,%rdi,8)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  190,255,255,255,183                 ; mov           $0xb7ffffff,%esi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,175,255,255,255,167             ; ljmp          *-0x58000001(%rdi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  239                                 ; out           %eax,(%dx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,226                             ; jmpq          *%rdx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,212                             ; callq         *%rsp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,198                             ; inc           %esi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_bgra_hsw_lowp
+_sk_load_bgra_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,15                               ; and           $0xf,%al
+  DB  254,200                             ; dec           %al
+  DB  60,14                               ; cmp           $0xe,%al
+  DB  119,55                              ; ja            27a42 <_sk_load_bgra_hsw_lowp+0x52>
+  DB  197,253,239,192                     ; vpxor         %ymm0,%ymm0,%ymm0
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,163,1,0,0                 ; lea           0x1a3(%rip),%r9        # 27bbc <_sk_load_bgra_hsw_lowp+0x1cc>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  197,245,239,201                     ; vpxor         %ymm1,%ymm1,%ymm1
+  DB  197,237,239,210                     ; vpxor         %ymm2,%ymm2,%ymm2
+  DB  196,65,61,239,192                   ; vpxor         %ymm8,%ymm8,%ymm8
+  DB  197,229,239,219                     ; vpxor         %ymm3,%ymm3,%ymm3
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,193,121,110,12,144              ; vmovd         (%r8,%rdx,4),%xmm1
+  DB  197,253,239,192                     ; vpxor         %ymm0,%ymm0,%ymm0
+  DB  233,39,1,0,0                        ; jmpq          27b69 <_sk_load_bgra_hsw_lowp+0x179>
+  DB  196,193,126,111,12,144              ; vmovdqu       (%r8,%rdx,4),%ymm1
+  DB  196,193,126,111,68,144,32           ; vmovdqu       0x20(%r8,%rdx,4),%ymm0
+  DB  233,21,1,0,0                        ; jmpq          27b69 <_sk_load_bgra_hsw_lowp+0x179>
+  DB  196,193,121,110,68,144,8            ; vmovd         0x8(%r8,%rdx,4),%xmm0
+  DB  196,226,121,89,192                  ; vpbroadcastq  %xmm0,%xmm0
+  DB  197,229,239,219                     ; vpxor         %ymm3,%ymm3,%ymm3
+  DB  196,227,101,2,192,4                 ; vpblendd      $0x4,%ymm0,%ymm3,%ymm0
+  DB  196,194,121,53,12,144               ; vpmovzxdq     (%r8,%rdx,4),%xmm1
+  DB  197,249,112,201,232                 ; vpshufd       $0xe8,%xmm1,%xmm1
+  DB  196,227,125,2,201,3                 ; vpblendd      $0x3,%ymm1,%ymm0,%ymm1
+  DB  197,253,111,195                     ; vmovdqa       %ymm3,%ymm0
+  DB  233,229,0,0,0                       ; jmpq          27b69 <_sk_load_bgra_hsw_lowp+0x179>
+  DB  196,193,121,110,68,144,24           ; vmovd         0x18(%r8,%rdx,4),%xmm0
+  DB  196,226,125,89,192                  ; vpbroadcastq  %xmm0,%ymm0
+  DB  197,245,239,201                     ; vpxor         %ymm1,%ymm1,%ymm1
+  DB  196,227,117,2,192,64                ; vpblendd      $0x40,%ymm0,%ymm1,%ymm0
+  DB  196,227,125,57,194,1                ; vextracti128  $0x1,%ymm0,%xmm2
+  DB  196,195,105,34,84,144,20,1          ; vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm2,%xmm2
+  DB  196,227,125,56,194,1                ; vinserti128   $0x1,%xmm2,%ymm0,%ymm0
+  DB  197,253,111,209                     ; vmovdqa       %ymm1,%ymm2
+  DB  196,227,125,57,193,1                ; vextracti128  $0x1,%ymm0,%xmm1
+  DB  196,195,113,34,76,144,16,0          ; vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm1,%xmm1
+  DB  196,227,125,56,193,1                ; vinserti128   $0x1,%xmm1,%ymm0,%ymm0
+  DB  197,125,111,194                     ; vmovdqa       %ymm2,%ymm8
+  DB  196,193,122,111,12,144              ; vmovdqu       (%r8,%rdx,4),%xmm1
+  DB  196,227,117,2,200,240               ; vpblendd      $0xf0,%ymm0,%ymm1,%ymm1
+  DB  197,125,127,192                     ; vmovdqa       %ymm8,%ymm0
+  DB  233,138,0,0,0                       ; jmpq          27b69 <_sk_load_bgra_hsw_lowp+0x179>
+  DB  196,193,121,110,68,144,40           ; vmovd         0x28(%r8,%rdx,4),%xmm0
+  DB  196,226,121,89,192                  ; vpbroadcastq  %xmm0,%xmm0
+  DB  197,245,239,201                     ; vpxor         %ymm1,%ymm1,%ymm1
+  DB  196,227,117,2,192,4                 ; vpblendd      $0x4,%ymm0,%ymm1,%ymm0
+  DB  196,195,121,34,76,144,36,1          ; vpinsrd       $0x1,0x24(%r8,%rdx,4),%xmm0,%xmm1
+  DB  196,227,125,2,193,15                ; vpblendd      $0xf,%ymm1,%ymm0,%ymm0
+  DB  196,193,121,110,76,144,32           ; vmovd         0x20(%r8,%rdx,4),%xmm1
+  DB  196,227,125,2,193,1                 ; vpblendd      $0x1,%ymm1,%ymm0,%ymm0
+  DB  196,193,126,111,12,144              ; vmovdqu       (%r8,%rdx,4),%ymm1
+  DB  235,81                              ; jmp           27b69 <_sk_load_bgra_hsw_lowp+0x179>
+  DB  196,193,121,110,68,144,56           ; vmovd         0x38(%r8,%rdx,4),%xmm0
+  DB  196,226,125,89,192                  ; vpbroadcastq  %xmm0,%ymm0
+  DB  197,245,239,201                     ; vpxor         %ymm1,%ymm1,%ymm1
+  DB  196,227,117,2,192,64                ; vpblendd      $0x40,%ymm0,%ymm1,%ymm0
+  DB  196,227,125,57,193,1                ; vextracti128  $0x1,%ymm0,%xmm1
+  DB  196,195,113,34,76,144,52,1          ; vpinsrd       $0x1,0x34(%r8,%rdx,4),%xmm1,%xmm1
+  DB  196,227,125,56,193,1                ; vinserti128   $0x1,%xmm1,%ymm0,%ymm0
+  DB  196,227,125,57,193,1                ; vextracti128  $0x1,%ymm0,%xmm1
+  DB  196,195,113,34,76,144,48,0          ; vpinsrd       $0x0,0x30(%r8,%rdx,4),%xmm1,%xmm1
+  DB  196,227,125,56,193,1                ; vinserti128   $0x1,%xmm1,%ymm0,%ymm0
+  DB  196,193,126,111,12,144              ; vmovdqu       (%r8,%rdx,4),%ymm1
+  DB  196,193,122,111,84,144,32           ; vmovdqu       0x20(%r8,%rdx,4),%xmm2
+  DB  196,227,109,2,192,240               ; vpblendd      $0xf0,%ymm0,%ymm2,%ymm0
+  DB  196,227,117,56,216,1                ; vinserti128   $0x1,%xmm0,%ymm1,%ymm3
+  DB  196,227,117,70,192,49               ; vperm2i128    $0x31,%ymm0,%ymm1,%ymm0
+  DB  197,245,239,201                     ; vpxor         %ymm1,%ymm1,%ymm1
+  DB  196,227,125,14,209,170              ; vpblendw      $0xaa,%ymm1,%ymm0,%ymm2
+  DB  196,227,101,14,201,170              ; vpblendw      $0xaa,%ymm1,%ymm3,%ymm1
+  DB  196,226,117,43,202                  ; vpackusdw     %ymm2,%ymm1,%ymm1
+  DB  197,125,111,5,206,214,0,0           ; vmovdqa       0xd6ce(%rip),%ymm8        # 35260 <_sk_srcover_bgra_8888_sse2_lowp+0xa48>
+  DB  196,193,117,219,208                 ; vpand         %ymm8,%ymm1,%ymm2
+  DB  197,245,113,209,8                   ; vpsrlw        $0x8,%ymm1,%ymm1
+  DB  197,253,114,208,16                  ; vpsrld        $0x10,%ymm0,%ymm0
+  DB  197,229,114,211,16                  ; vpsrld        $0x10,%ymm3,%ymm3
+  DB  196,226,101,43,216                  ; vpackusdw     %ymm0,%ymm3,%ymm3
+  DB  196,193,101,219,192                 ; vpand         %ymm8,%ymm3,%ymm0
+  DB  197,229,113,211,8                   ; vpsrlw        $0x8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  15,31,0                             ; nopl          (%rax)
+  DB  119,254                             ; ja            27bbc <_sk_load_bgra_hsw_lowp+0x1cc>
+  DB  255                                 ; (bad)
+  DB  255,174,254,255,255,152             ; ljmp          *-0x67000002(%rsi)
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,14                              ; decl          (%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,246                             ; push          %rsi
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  222,254                             ; fdivrp        %st,%st(6)
+  DB  255                                 ; (bad)
+  DB  255,200                             ; dec           %eax
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,84,255,255                      ; callq         *-0x1(%rdi,%rdi,8)
+  DB  255,71,255                          ; incl          -0x1(%rdi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  57,255                              ; cmp           %edi,%edi
+  DB  255                                 ; (bad)
+  DB  255,35                              ; jmpq          *(%rbx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,154,255,255,255,134             ; lcall         *-0x79000001(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,114,255                         ; pushq         -0x1(%rdx)
+  DB  255                                 ; (bad)
+  DB  255,92,255,255                      ; lcall         *-0x1(%rdi,%rdi,8)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_bgra_dst_hsw_lowp
+_sk_load_bgra_dst_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,15                               ; and           $0xf,%al
+  DB  254,200                             ; dec           %al
+  DB  60,14                               ; cmp           $0xe,%al
+  DB  119,55                              ; ja            27c4a <_sk_load_bgra_dst_hsw_lowp+0x52>
+  DB  197,221,239,228                     ; vpxor         %ymm4,%ymm4,%ymm4
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,163,1,0,0                 ; lea           0x1a3(%rip),%r9        # 27dc4 <_sk_load_bgra_dst_hsw_lowp+0x1cc>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  197,213,239,237                     ; vpxor         %ymm5,%ymm5,%ymm5
+  DB  197,205,239,246                     ; vpxor         %ymm6,%ymm6,%ymm6
+  DB  196,65,61,239,192                   ; vpxor         %ymm8,%ymm8,%ymm8
+  DB  197,197,239,255                     ; vpxor         %ymm7,%ymm7,%ymm7
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,193,121,110,44,144              ; vmovd         (%r8,%rdx,4),%xmm5
+  DB  197,221,239,228                     ; vpxor         %ymm4,%ymm4,%ymm4
+  DB  233,39,1,0,0                        ; jmpq          27d71 <_sk_load_bgra_dst_hsw_lowp+0x179>
+  DB  196,193,126,111,44,144              ; vmovdqu       (%r8,%rdx,4),%ymm5
+  DB  196,193,126,111,100,144,32          ; vmovdqu       0x20(%r8,%rdx,4),%ymm4
+  DB  233,21,1,0,0                        ; jmpq          27d71 <_sk_load_bgra_dst_hsw_lowp+0x179>
+  DB  196,193,121,110,100,144,8           ; vmovd         0x8(%r8,%rdx,4),%xmm4
+  DB  196,226,121,89,228                  ; vpbroadcastq  %xmm4,%xmm4
+  DB  197,197,239,255                     ; vpxor         %ymm7,%ymm7,%ymm7
+  DB  196,227,69,2,228,4                  ; vpblendd      $0x4,%ymm4,%ymm7,%ymm4
+  DB  196,194,121,53,44,144               ; vpmovzxdq     (%r8,%rdx,4),%xmm5
+  DB  197,249,112,237,232                 ; vpshufd       $0xe8,%xmm5,%xmm5
+  DB  196,227,93,2,237,3                  ; vpblendd      $0x3,%ymm5,%ymm4,%ymm5
+  DB  197,253,111,231                     ; vmovdqa       %ymm7,%ymm4
+  DB  233,229,0,0,0                       ; jmpq          27d71 <_sk_load_bgra_dst_hsw_lowp+0x179>
+  DB  196,193,121,110,100,144,24          ; vmovd         0x18(%r8,%rdx,4),%xmm4
+  DB  196,226,125,89,228                  ; vpbroadcastq  %xmm4,%ymm4
+  DB  197,213,239,237                     ; vpxor         %ymm5,%ymm5,%ymm5
+  DB  196,227,85,2,228,64                 ; vpblendd      $0x40,%ymm4,%ymm5,%ymm4
+  DB  196,227,125,57,230,1                ; vextracti128  $0x1,%ymm4,%xmm6
+  DB  196,195,73,34,116,144,20,1          ; vpinsrd       $0x1,0x14(%r8,%rdx,4),%xmm6,%xmm6
+  DB  196,227,93,56,230,1                 ; vinserti128   $0x1,%xmm6,%ymm4,%ymm4
+  DB  197,253,111,245                     ; vmovdqa       %ymm5,%ymm6
+  DB  196,227,125,57,229,1                ; vextracti128  $0x1,%ymm4,%xmm5
+  DB  196,195,81,34,108,144,16,0          ; vpinsrd       $0x0,0x10(%r8,%rdx,4),%xmm5,%xmm5
+  DB  196,227,93,56,229,1                 ; vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  DB  197,125,111,198                     ; vmovdqa       %ymm6,%ymm8
+  DB  196,193,122,111,44,144              ; vmovdqu       (%r8,%rdx,4),%xmm5
+  DB  196,227,85,2,236,240                ; vpblendd      $0xf0,%ymm4,%ymm5,%ymm5
+  DB  197,125,127,196                     ; vmovdqa       %ymm8,%ymm4
+  DB  233,138,0,0,0                       ; jmpq          27d71 <_sk_load_bgra_dst_hsw_lowp+0x179>
+  DB  196,193,121,110,100,144,40          ; vmovd         0x28(%r8,%rdx,4),%xmm4
+  DB  196,226,121,89,228                  ; vpbroadcastq  %xmm4,%xmm4
+  DB  197,213,239,237                     ; vpxor         %ymm5,%ymm5,%ymm5
+  DB  196,227,85,2,228,4                  ; vpblendd      $0x4,%ymm4,%ymm5,%ymm4
+  DB  196,195,89,34,108,144,36,1          ; vpinsrd       $0x1,0x24(%r8,%rdx,4),%xmm4,%xmm5
+  DB  196,227,93,2,229,15                 ; vpblendd      $0xf,%ymm5,%ymm4,%ymm4
+  DB  196,193,121,110,108,144,32          ; vmovd         0x20(%r8,%rdx,4),%xmm5
+  DB  196,227,93,2,229,1                  ; vpblendd      $0x1,%ymm5,%ymm4,%ymm4
+  DB  196,193,126,111,44,144              ; vmovdqu       (%r8,%rdx,4),%ymm5
+  DB  235,81                              ; jmp           27d71 <_sk_load_bgra_dst_hsw_lowp+0x179>
+  DB  196,193,121,110,100,144,56          ; vmovd         0x38(%r8,%rdx,4),%xmm4
+  DB  196,226,125,89,228                  ; vpbroadcastq  %xmm4,%ymm4
+  DB  197,213,239,237                     ; vpxor         %ymm5,%ymm5,%ymm5
+  DB  196,227,85,2,228,64                 ; vpblendd      $0x40,%ymm4,%ymm5,%ymm4
+  DB  196,227,125,57,229,1                ; vextracti128  $0x1,%ymm4,%xmm5
+  DB  196,195,81,34,108,144,52,1          ; vpinsrd       $0x1,0x34(%r8,%rdx,4),%xmm5,%xmm5
+  DB  196,227,93,56,229,1                 ; vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  DB  196,227,125,57,229,1                ; vextracti128  $0x1,%ymm4,%xmm5
+  DB  196,195,81,34,108,144,48,0          ; vpinsrd       $0x0,0x30(%r8,%rdx,4),%xmm5,%xmm5
+  DB  196,227,93,56,229,1                 ; vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  DB  196,193,126,111,44,144              ; vmovdqu       (%r8,%rdx,4),%ymm5
+  DB  196,193,122,111,116,144,32          ; vmovdqu       0x20(%r8,%rdx,4),%xmm6
+  DB  196,227,77,2,228,240                ; vpblendd      $0xf0,%ymm4,%ymm6,%ymm4
+  DB  196,227,85,56,252,1                 ; vinserti128   $0x1,%xmm4,%ymm5,%ymm7
+  DB  196,227,85,70,228,49                ; vperm2i128    $0x31,%ymm4,%ymm5,%ymm4
+  DB  197,213,239,237                     ; vpxor         %ymm5,%ymm5,%ymm5
+  DB  196,227,93,14,245,170               ; vpblendw      $0xaa,%ymm5,%ymm4,%ymm6
+  DB  196,227,69,14,237,170               ; vpblendw      $0xaa,%ymm5,%ymm7,%ymm5
+  DB  196,226,85,43,238                   ; vpackusdw     %ymm6,%ymm5,%ymm5
+  DB  197,125,111,5,230,212,0,0           ; vmovdqa       0xd4e6(%rip),%ymm8        # 35280 <_sk_srcover_bgra_8888_sse2_lowp+0xa68>
+  DB  196,193,85,219,240                  ; vpand         %ymm8,%ymm5,%ymm6
+  DB  197,213,113,213,8                   ; vpsrlw        $0x8,%ymm5,%ymm5
+  DB  197,221,114,212,16                  ; vpsrld        $0x10,%ymm4,%ymm4
+  DB  197,197,114,215,16                  ; vpsrld        $0x10,%ymm7,%ymm7
+  DB  196,226,69,43,252                   ; vpackusdw     %ymm4,%ymm7,%ymm7
+  DB  196,193,69,219,224                  ; vpand         %ymm8,%ymm7,%ymm4
+  DB  197,197,113,215,8                   ; vpsrlw        $0x8,%ymm7,%ymm7
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  15,31,0                             ; nopl          (%rax)
+  DB  119,254                             ; ja            27dc4 <_sk_load_bgra_dst_hsw_lowp+0x1cc>
+  DB  255                                 ; (bad)
+  DB  255,174,254,255,255,152             ; ljmp          *-0x67000002(%rsi)
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,14                              ; decl          (%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,246                             ; push          %rsi
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  222,254                             ; fdivrp        %st,%st(6)
+  DB  255                                 ; (bad)
+  DB  255,200                             ; dec           %eax
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,84,255,255                      ; callq         *-0x1(%rdi,%rdi,8)
+  DB  255,71,255                          ; incl          -0x1(%rdi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  57,255                              ; cmp           %edi,%edi
+  DB  255                                 ; (bad)
+  DB  255,35                              ; jmpq          *(%rbx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,154,255,255,255,134             ; lcall         *-0x79000001(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,114,255                         ; pushq         -0x1(%rdx)
+  DB  255                                 ; (bad)
+  DB  255,92,255,255                      ; lcall         *-0x1(%rdi,%rdi,8)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_store_bgra_hsw_lowp
+_sk_store_bgra_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  197,189,113,241,8                   ; vpsllw        $0x8,%ymm1,%ymm8
+  DB  197,61,235,194                      ; vpor          %ymm2,%ymm8,%ymm8
+  DB  196,66,125,51,200                   ; vpmovzxwd     %xmm8,%ymm9
+  DB  196,67,125,57,192,1                 ; vextracti128  $0x1,%ymm8,%xmm8
+  DB  196,66,125,51,208                   ; vpmovzxwd     %xmm8,%ymm10
+  DB  197,189,113,243,8                   ; vpsllw        $0x8,%ymm3,%ymm8
+  DB  197,61,235,192                      ; vpor          %ymm0,%ymm8,%ymm8
+  DB  196,67,125,57,195,1                 ; vextracti128  $0x1,%ymm8,%xmm11
+  DB  196,66,125,51,219                   ; vpmovzxwd     %xmm11,%ymm11
+  DB  196,66,125,51,192                   ; vpmovzxwd     %xmm8,%ymm8
+  DB  196,193,61,114,240,16               ; vpslld        $0x10,%ymm8,%ymm8
+  DB  196,65,61,235,193                   ; vpor          %ymm9,%ymm8,%ymm8
+  DB  196,193,53,114,243,16               ; vpslld        $0x10,%ymm11,%ymm9
+  DB  196,65,53,235,202                   ; vpor          %ymm10,%ymm9,%ymm9
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,15                               ; and           $0xf,%al
+  DB  254,200                             ; dec           %al
+  DB  60,14                               ; cmp           $0xe,%al
+  DB  119,30                              ; ja            27e81 <_sk_store_bgra_hsw_lowp+0x81>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,195,0,0,0                 ; lea           0xc3(%rip),%r9        # 27f30 <_sk_store_bgra_hsw_lowp+0x130>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,65,121,126,4,144                ; vmovd         %xmm8,(%r8,%rdx,4)
+  DB  233,171,0,0,0                       ; jmpq          27f2c <_sk_store_bgra_hsw_lowp+0x12c>
+  DB  196,65,126,127,4,144                ; vmovdqu       %ymm8,(%r8,%rdx,4)
+  DB  196,65,126,127,76,144,32            ; vmovdqu       %ymm9,0x20(%r8,%rdx,4)
+  DB  233,153,0,0,0                       ; jmpq          27f2c <_sk_store_bgra_hsw_lowp+0x12c>
+  DB  196,67,121,22,68,144,8,2            ; vpextrd       $0x2,%xmm8,0x8(%r8,%rdx,4)
+  DB  196,65,121,214,4,144                ; vmovq         %xmm8,(%r8,%rdx,4)
+  DB  233,134,0,0,0                       ; jmpq          27f2c <_sk_store_bgra_hsw_lowp+0x12c>
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,67,121,22,76,144,24,2           ; vpextrd       $0x2,%xmm9,0x18(%r8,%rdx,4)
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,67,121,22,76,144,20,1           ; vpextrd       $0x1,%xmm9,0x14(%r8,%rdx,4)
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,65,121,126,76,144,16            ; vmovd         %xmm9,0x10(%r8,%rdx,4)
+  DB  196,65,122,127,4,144                ; vmovdqu       %xmm8,(%r8,%rdx,4)
+  DB  235,85                              ; jmp           27f2c <_sk_store_bgra_hsw_lowp+0x12c>
+  DB  196,67,121,22,76,144,40,2           ; vpextrd       $0x2,%xmm9,0x28(%r8,%rdx,4)
+  DB  196,67,121,22,76,144,36,1           ; vpextrd       $0x1,%xmm9,0x24(%r8,%rdx,4)
+  DB  196,65,121,126,76,144,32            ; vmovd         %xmm9,0x20(%r8,%rdx,4)
+  DB  196,65,126,127,4,144                ; vmovdqu       %ymm8,(%r8,%rdx,4)
+  DB  235,54                              ; jmp           27f2c <_sk_store_bgra_hsw_lowp+0x12c>
+  DB  196,67,125,57,202,1                 ; vextracti128  $0x1,%ymm9,%xmm10
+  DB  196,67,121,22,84,144,56,2           ; vpextrd       $0x2,%xmm10,0x38(%r8,%rdx,4)
+  DB  196,67,125,57,202,1                 ; vextracti128  $0x1,%ymm9,%xmm10
+  DB  196,67,121,22,84,144,52,1           ; vpextrd       $0x1,%xmm10,0x34(%r8,%rdx,4)
+  DB  196,67,125,57,202,1                 ; vextracti128  $0x1,%ymm9,%xmm10
+  DB  196,65,121,126,84,144,48            ; vmovd         %xmm10,0x30(%r8,%rdx,4)
+  DB  196,65,126,127,4,144                ; vmovdqu       %ymm8,(%r8,%rdx,4)
+  DB  196,65,122,127,76,144,32            ; vmovdqu       %xmm9,0x20(%r8,%rdx,4)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  70,255                              ; rex.RX        (bad)
+  DB  255                                 ; (bad)
+  DB  255,107,255                         ; ljmp          *-0x1(%rbx)
+  DB  255                                 ; (bad)
+  DB  255,99,255                          ; jmpq          *-0x1(%rbx)
+  DB  255                                 ; (bad)
+  DB  255,159,255,255,255,146             ; lcall         *-0x6d000001(%rdi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,132,255,255,255,118,255         ; incl          -0x890001(%rdi,%rdi,8)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  190,255,255,255,183                 ; mov           $0xb7ffffff,%esi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,175,255,255,255,167             ; ljmp          *-0x58000001(%rdi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  239                                 ; out           %eax,(%dx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,226                             ; jmpq          *%rdx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,212                             ; callq         *%rsp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,198                             ; inc           %esi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_gather_8888_hsw_lowp
+_sk_gather_8888_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,88,64,12                 ; vpbroadcastd  0xc(%rax),%ymm8
+  DB  196,65,53,118,201                   ; vpcmpeqd      %ymm9,%ymm9,%ymm9
+  DB  196,65,61,254,193                   ; vpaddd        %ymm9,%ymm8,%ymm8
+  DB  196,65,44,87,210                    ; vxorps        %ymm10,%ymm10,%ymm10
+  DB  196,193,124,95,194                  ; vmaxps        %ymm10,%ymm0,%ymm0
+  DB  196,193,116,95,202                  ; vmaxps        %ymm10,%ymm1,%ymm1
+  DB  196,193,116,93,200                  ; vminps        %ymm8,%ymm1,%ymm1
+  DB  196,193,124,93,192                  ; vminps        %ymm8,%ymm0,%ymm0
+  DB  196,98,125,88,64,16                 ; vpbroadcastd  0x10(%rax),%ymm8
+  DB  196,65,61,254,193                   ; vpaddd        %ymm9,%ymm8,%ymm8
+  DB  196,193,100,95,218                  ; vmaxps        %ymm10,%ymm3,%ymm3
+  DB  196,193,108,95,210                  ; vmaxps        %ymm10,%ymm2,%ymm2
+  DB  196,193,108,93,208                  ; vminps        %ymm8,%ymm2,%ymm2
+  DB  196,193,100,93,216                  ; vminps        %ymm8,%ymm3,%ymm3
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  197,254,91,219                      ; vcvttps2dq    %ymm3,%ymm3
+  DB  197,254,91,210                      ; vcvttps2dq    %ymm2,%ymm2
+  DB  196,98,125,88,64,8                  ; vpbroadcastd  0x8(%rax),%ymm8
+  DB  196,226,61,64,210                   ; vpmulld       %ymm2,%ymm8,%ymm2
+  DB  196,226,61,64,219                   ; vpmulld       %ymm3,%ymm8,%ymm3
+  DB  197,254,91,192                      ; vcvttps2dq    %ymm0,%ymm0
+  DB  197,237,254,192                     ; vpaddd        %ymm0,%ymm2,%ymm0
+  DB  197,254,91,201                      ; vcvttps2dq    %ymm1,%ymm1
+  DB  197,229,254,201                     ; vpaddd        %ymm1,%ymm3,%ymm1
+  DB  197,237,118,210                     ; vpcmpeqd      %ymm2,%ymm2,%ymm2
+  DB  197,229,239,219                     ; vpxor         %ymm3,%ymm3,%ymm3
+  DB  196,194,109,144,28,128              ; vpgatherdd    %ymm2,(%r8,%ymm0,4),%ymm3
+  DB  197,253,239,192                     ; vpxor         %ymm0,%ymm0,%ymm0
+  DB  196,194,53,144,4,136                ; vpgatherdd    %ymm9,(%r8,%ymm1,4),%ymm0
+  DB  196,227,101,56,208,1                ; vinserti128   $0x1,%xmm0,%ymm3,%ymm2
+  DB  196,227,101,70,216,49               ; vperm2i128    $0x31,%ymm0,%ymm3,%ymm3
+  DB  196,195,101,14,194,170              ; vpblendw      $0xaa,%ymm10,%ymm3,%ymm0
+  DB  196,195,109,14,202,170              ; vpblendw      $0xaa,%ymm10,%ymm2,%ymm1
+  DB  196,226,117,43,200                  ; vpackusdw     %ymm0,%ymm1,%ymm1
+  DB  197,125,111,5,130,210,0,0           ; vmovdqa       0xd282(%rip),%ymm8        # 352a0 <_sk_srcover_bgra_8888_sse2_lowp+0xa88>
+  DB  196,193,117,219,192                 ; vpand         %ymm8,%ymm1,%ymm0
+  DB  197,245,113,209,8                   ; vpsrlw        $0x8,%ymm1,%ymm1
+  DB  197,229,114,211,16                  ; vpsrld        $0x10,%ymm3,%ymm3
+  DB  197,237,114,210,16                  ; vpsrld        $0x10,%ymm2,%ymm2
+  DB  196,226,109,43,219                  ; vpackusdw     %ymm3,%ymm2,%ymm3
+  DB  196,193,101,219,208                 ; vpand         %ymm8,%ymm3,%ymm2
+  DB  197,229,113,211,8                   ; vpsrlw        $0x8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_gather_bgra_hsw_lowp
+_sk_gather_bgra_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,88,64,12                 ; vpbroadcastd  0xc(%rax),%ymm8
+  DB  196,65,53,118,201                   ; vpcmpeqd      %ymm9,%ymm9,%ymm9
+  DB  196,65,61,254,193                   ; vpaddd        %ymm9,%ymm8,%ymm8
+  DB  196,65,44,87,210                    ; vxorps        %ymm10,%ymm10,%ymm10
+  DB  196,193,124,95,194                  ; vmaxps        %ymm10,%ymm0,%ymm0
+  DB  196,193,116,95,202                  ; vmaxps        %ymm10,%ymm1,%ymm1
+  DB  196,193,116,93,200                  ; vminps        %ymm8,%ymm1,%ymm1
+  DB  196,193,124,93,192                  ; vminps        %ymm8,%ymm0,%ymm0
+  DB  196,98,125,88,64,16                 ; vpbroadcastd  0x10(%rax),%ymm8
+  DB  196,65,61,254,193                   ; vpaddd        %ymm9,%ymm8,%ymm8
+  DB  196,193,100,95,218                  ; vmaxps        %ymm10,%ymm3,%ymm3
+  DB  196,193,108,95,210                  ; vmaxps        %ymm10,%ymm2,%ymm2
+  DB  196,193,108,93,208                  ; vminps        %ymm8,%ymm2,%ymm2
+  DB  196,193,100,93,216                  ; vminps        %ymm8,%ymm3,%ymm3
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  197,254,91,219                      ; vcvttps2dq    %ymm3,%ymm3
+  DB  197,254,91,210                      ; vcvttps2dq    %ymm2,%ymm2
+  DB  196,98,125,88,64,8                  ; vpbroadcastd  0x8(%rax),%ymm8
+  DB  196,226,61,64,210                   ; vpmulld       %ymm2,%ymm8,%ymm2
+  DB  196,226,61,64,219                   ; vpmulld       %ymm3,%ymm8,%ymm3
+  DB  197,254,91,192                      ; vcvttps2dq    %ymm0,%ymm0
+  DB  197,237,254,192                     ; vpaddd        %ymm0,%ymm2,%ymm0
+  DB  197,254,91,201                      ; vcvttps2dq    %ymm1,%ymm1
+  DB  197,229,254,201                     ; vpaddd        %ymm1,%ymm3,%ymm1
+  DB  197,237,118,210                     ; vpcmpeqd      %ymm2,%ymm2,%ymm2
+  DB  197,229,239,219                     ; vpxor         %ymm3,%ymm3,%ymm3
+  DB  196,194,109,144,28,128              ; vpgatherdd    %ymm2,(%r8,%ymm0,4),%ymm3
+  DB  197,253,239,192                     ; vpxor         %ymm0,%ymm0,%ymm0
+  DB  196,194,53,144,4,136                ; vpgatherdd    %ymm9,(%r8,%ymm1,4),%ymm0
+  DB  196,99,101,56,192,1                 ; vinserti128   $0x1,%xmm0,%ymm3,%ymm8
+  DB  196,227,101,70,192,49               ; vperm2i128    $0x31,%ymm0,%ymm3,%ymm0
+  DB  196,195,125,14,202,170              ; vpblendw      $0xaa,%ymm10,%ymm0,%ymm1
+  DB  196,195,61,14,210,170               ; vpblendw      $0xaa,%ymm10,%ymm8,%ymm2
+  DB  196,226,109,43,201                  ; vpackusdw     %ymm1,%ymm2,%ymm1
+  DB  197,253,111,29,201,209,0,0          ; vmovdqa       0xd1c9(%rip),%ymm3        # 352c0 <_sk_srcover_bgra_8888_sse2_lowp+0xaa8>
+  DB  197,245,219,211                     ; vpand         %ymm3,%ymm1,%ymm2
+  DB  197,245,113,209,8                   ; vpsrlw        $0x8,%ymm1,%ymm1
+  DB  197,253,114,208,16                  ; vpsrld        $0x10,%ymm0,%ymm0
+  DB  196,193,61,114,208,16               ; vpsrld        $0x10,%ymm8,%ymm8
+  DB  196,98,61,43,192                    ; vpackusdw     %ymm0,%ymm8,%ymm8
+  DB  197,189,219,195                     ; vpand         %ymm3,%ymm8,%ymm0
+  DB  196,193,101,113,208,8               ; vpsrlw        $0x8,%ymm8,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_load_565_hsw_lowp
+_sk_load_565_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,15                               ; and           $0xf,%al
+  DB  254,200                             ; dec           %al
+  DB  60,14                               ; cmp           $0xe,%al
+  DB  119,37                              ; ja            2815d <_sk_load_565_hsw_lowp+0x3f>
+  DB  197,253,239,192                     ; vpxor         %ymm0,%ymm0,%ymm0
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,130,1,0,0                 ; lea           0x182(%rip),%r9        # 282c8 <_sk_load_565_hsw_lowp+0x1aa>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,183,4,80                      ; movzwl        (%r8,%rdx,2),%eax
+  DB  197,249,110,192                     ; vmovd         %eax,%xmm0
+  DB  233,8,1,0,0                         ; jmpq          28265 <_sk_load_565_hsw_lowp+0x147>
+  DB  196,193,126,111,4,80                ; vmovdqu       (%r8,%rdx,2),%ymm0
+  DB  233,253,0,0,0                       ; jmpq          28265 <_sk_load_565_hsw_lowp+0x147>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  196,193,121,196,76,80,4,2           ; vpinsrw       $0x2,0x4(%r8,%rdx,2),%xmm0,%xmm1
+  DB  196,227,117,56,192,1                ; vinserti128   $0x1,%xmm0,%ymm1,%ymm0
+  DB  196,193,121,110,12,80               ; vmovd         (%r8,%rdx,2),%xmm1
+  DB  196,227,125,2,193,1                 ; vpblendd      $0x1,%ymm1,%ymm0,%ymm0
+  DB  233,218,0,0,0                       ; jmpq          28265 <_sk_load_565_hsw_lowp+0x147>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  196,193,121,196,76,80,12,6          ; vpinsrw       $0x6,0xc(%r8,%rdx,2),%xmm0,%xmm1
+  DB  196,227,117,56,192,1                ; vinserti128   $0x1,%xmm0,%ymm1,%ymm0
+  DB  196,193,121,196,76,80,10,5          ; vpinsrw       $0x5,0xa(%r8,%rdx,2),%xmm0,%xmm1
+  DB  196,227,125,2,193,15                ; vpblendd      $0xf,%ymm1,%ymm0,%ymm0
+  DB  196,193,121,196,76,80,8,4           ; vpinsrw       $0x4,0x8(%r8,%rdx,2),%xmm0,%xmm1
+  DB  196,227,125,2,193,15                ; vpblendd      $0xf,%ymm1,%ymm0,%ymm0
+  DB  196,193,122,126,12,80               ; vmovq         (%r8,%rdx,2),%xmm1
+  DB  196,227,125,2,193,3                 ; vpblendd      $0x3,%ymm1,%ymm0,%ymm0
+  DB  233,155,0,0,0                       ; jmpq          28265 <_sk_load_565_hsw_lowp+0x147>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  196,193,121,196,76,80,20,2          ; vpinsrw       $0x2,0x14(%r8,%rdx,2),%xmm0,%xmm1
+  DB  196,227,125,56,193,1                ; vinserti128   $0x1,%xmm1,%ymm0,%ymm0
+  DB  196,227,125,57,193,1                ; vextracti128  $0x1,%ymm0,%xmm1
+  DB  196,193,113,196,76,80,18,1          ; vpinsrw       $0x1,0x12(%r8,%rdx,2),%xmm1,%xmm1
+  DB  196,227,125,56,193,1                ; vinserti128   $0x1,%xmm1,%ymm0,%ymm0
+  DB  196,227,125,57,193,1                ; vextracti128  $0x1,%ymm0,%xmm1
+  DB  196,193,113,196,76,80,16,0          ; vpinsrw       $0x0,0x10(%r8,%rdx,2),%xmm1,%xmm1
+  DB  196,227,125,56,193,1                ; vinserti128   $0x1,%xmm1,%ymm0,%ymm0
+  DB  196,193,122,111,12,80               ; vmovdqu       (%r8,%rdx,2),%xmm1
+  DB  196,227,117,2,192,240               ; vpblendd      $0xf0,%ymm0,%ymm1,%ymm0
+  DB  235,83                              ; jmp           28265 <_sk_load_565_hsw_lowp+0x147>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  196,193,121,196,76,80,28,6          ; vpinsrw       $0x6,0x1c(%r8,%rdx,2),%xmm0,%xmm1
+  DB  196,227,125,56,193,1                ; vinserti128   $0x1,%xmm1,%ymm0,%ymm0
+  DB  196,227,125,57,193,1                ; vextracti128  $0x1,%ymm0,%xmm1
+  DB  196,193,113,196,76,80,26,5          ; vpinsrw       $0x5,0x1a(%r8,%rdx,2),%xmm1,%xmm1
+  DB  196,227,125,56,193,1                ; vinserti128   $0x1,%xmm1,%ymm0,%ymm0
+  DB  196,227,125,57,193,1                ; vextracti128  $0x1,%ymm0,%xmm1
+  DB  196,193,113,196,76,80,24,4          ; vpinsrw       $0x4,0x18(%r8,%rdx,2),%xmm1,%xmm1
+  DB  196,227,125,56,193,1                ; vinserti128   $0x1,%xmm1,%ymm0,%ymm0
+  DB  196,193,122,126,76,80,16            ; vmovq         0x10(%r8,%rdx,2),%xmm1
+  DB  196,193,122,111,20,80               ; vmovdqu       (%r8,%rdx,2),%xmm2
+  DB  196,227,109,56,201,1                ; vinserti128   $0x1,%xmm1,%ymm2,%ymm1
+  DB  196,227,117,2,192,192               ; vpblendd      $0xc0,%ymm0,%ymm1,%ymm0
+  DB  196,226,125,121,13,114,208,0,0      ; vpbroadcastw  0xd072(%rip),%ymm1        # 352e0 <_sk_srcover_bgra_8888_sse2_lowp+0xac8>
+  DB  197,237,113,208,8                   ; vpsrlw        $0x8,%ymm0,%ymm2
+  DB  197,237,219,201                     ; vpand         %ymm1,%ymm2,%ymm1
+  DB  197,237,113,208,5                   ; vpsrlw        $0x5,%ymm0,%ymm2
+  DB  196,226,125,121,29,93,208,0,0       ; vpbroadcastw  0xd05d(%rip),%ymm3        # 352e2 <_sk_srcover_bgra_8888_sse2_lowp+0xaca>
+  DB  197,237,219,211                     ; vpand         %ymm3,%ymm2,%ymm2
+  DB  196,226,125,121,29,82,208,0,0       ; vpbroadcastw  0xd052(%rip),%ymm3        # 352e4 <_sk_srcover_bgra_8888_sse2_lowp+0xacc>
+  DB  197,253,219,219                     ; vpand         %ymm3,%ymm0,%ymm3
+  DB  197,253,113,208,13                  ; vpsrlw        $0xd,%ymm0,%ymm0
+  DB  197,245,235,192                     ; vpor          %ymm0,%ymm1,%ymm0
+  DB  197,245,113,242,2                   ; vpsllw        $0x2,%ymm2,%ymm1
+  DB  197,237,113,210,4                   ; vpsrlw        $0x4,%ymm2,%ymm2
+  DB  197,245,235,202                     ; vpor          %ymm2,%ymm1,%ymm1
+  DB  197,237,113,243,3                   ; vpsllw        $0x3,%ymm3,%ymm2
+  DB  197,229,113,211,2                   ; vpsrlw        $0x2,%ymm3,%ymm3
+  DB  197,237,235,211                     ; vpor          %ymm3,%ymm2,%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,121,29,32,208,0,0       ; vpbroadcastw  0xd020(%rip),%ymm3        # 352e6 <_sk_srcover_bgra_8888_sse2_lowp+0xace>
+  DB  255,224                             ; jmpq          *%rax
+  DB  135,254                             ; xchg          %edi,%esi
+  DB  255                                 ; (bad)
+  DB  255,178,254,255,255,160             ; pushq         -0x5f000002(%rdx)
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,241                             ; push          %rcx
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,227                             ; jmpq          *%rbx
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,213                             ; callq         *%rbp
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,195                             ; inc           %ebx
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  60,255                              ; cmp           $0xff,%al
+  DB  255                                 ; (bad)
+  DB  255,40                              ; ljmp          *(%rax)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,20,255                          ; callq         *(%rdi,%rdi,8)
+  DB  255                                 ; (bad)
+  DB  255,2                               ; incl          (%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,132,255,255,255,112,255         ; incl          -0x8f0001(%rdi,%rdi,8)
+  DB  255                                 ; (bad)
+  DB  255,92,255,255                      ; lcall         *-0x1(%rdi,%rdi,8)
+  DB  255,74,255                          ; decl          -0x1(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_565_dst_hsw_lowp
+_sk_load_565_dst_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,15                               ; and           $0xf,%al
+  DB  254,200                             ; dec           %al
+  DB  60,14                               ; cmp           $0xe,%al
+  DB  119,37                              ; ja            28343 <_sk_load_565_dst_hsw_lowp+0x3f>
+  DB  197,221,239,228                     ; vpxor         %ymm4,%ymm4,%ymm4
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,132,1,0,0                 ; lea           0x184(%rip),%r9        # 284b0 <_sk_load_565_dst_hsw_lowp+0x1ac>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,183,4,80                      ; movzwl        (%r8,%rdx,2),%eax
+  DB  197,249,110,224                     ; vmovd         %eax,%xmm4
+  DB  233,8,1,0,0                         ; jmpq          2844b <_sk_load_565_dst_hsw_lowp+0x147>
+  DB  196,193,126,111,36,80               ; vmovdqu       (%r8,%rdx,2),%ymm4
+  DB  233,253,0,0,0                       ; jmpq          2844b <_sk_load_565_dst_hsw_lowp+0x147>
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  196,193,89,196,108,80,4,2           ; vpinsrw       $0x2,0x4(%r8,%rdx,2),%xmm4,%xmm5
+  DB  196,227,85,56,228,1                 ; vinserti128   $0x1,%xmm4,%ymm5,%ymm4
+  DB  196,193,121,110,44,80               ; vmovd         (%r8,%rdx,2),%xmm5
+  DB  196,227,93,2,229,1                  ; vpblendd      $0x1,%ymm5,%ymm4,%ymm4
+  DB  233,218,0,0,0                       ; jmpq          2844b <_sk_load_565_dst_hsw_lowp+0x147>
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  196,193,89,196,108,80,12,6          ; vpinsrw       $0x6,0xc(%r8,%rdx,2),%xmm4,%xmm5
+  DB  196,227,85,56,228,1                 ; vinserti128   $0x1,%xmm4,%ymm5,%ymm4
+  DB  196,193,89,196,108,80,10,5          ; vpinsrw       $0x5,0xa(%r8,%rdx,2),%xmm4,%xmm5
+  DB  196,227,93,2,229,15                 ; vpblendd      $0xf,%ymm5,%ymm4,%ymm4
+  DB  196,193,89,196,108,80,8,4           ; vpinsrw       $0x4,0x8(%r8,%rdx,2),%xmm4,%xmm5
+  DB  196,227,93,2,229,15                 ; vpblendd      $0xf,%ymm5,%ymm4,%ymm4
+  DB  196,193,122,126,44,80               ; vmovq         (%r8,%rdx,2),%xmm5
+  DB  196,227,93,2,229,3                  ; vpblendd      $0x3,%ymm5,%ymm4,%ymm4
+  DB  233,155,0,0,0                       ; jmpq          2844b <_sk_load_565_dst_hsw_lowp+0x147>
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  196,193,89,196,108,80,20,2          ; vpinsrw       $0x2,0x14(%r8,%rdx,2),%xmm4,%xmm5
+  DB  196,227,93,56,229,1                 ; vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  DB  196,227,125,57,229,1                ; vextracti128  $0x1,%ymm4,%xmm5
+  DB  196,193,81,196,108,80,18,1          ; vpinsrw       $0x1,0x12(%r8,%rdx,2),%xmm5,%xmm5
+  DB  196,227,93,56,229,1                 ; vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  DB  196,227,125,57,229,1                ; vextracti128  $0x1,%ymm4,%xmm5
+  DB  196,193,81,196,108,80,16,0          ; vpinsrw       $0x0,0x10(%r8,%rdx,2),%xmm5,%xmm5
+  DB  196,227,93,56,229,1                 ; vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  DB  196,193,122,111,44,80               ; vmovdqu       (%r8,%rdx,2),%xmm5
+  DB  196,227,85,2,228,240                ; vpblendd      $0xf0,%ymm4,%ymm5,%ymm4
+  DB  235,83                              ; jmp           2844b <_sk_load_565_dst_hsw_lowp+0x147>
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  196,193,89,196,108,80,28,6          ; vpinsrw       $0x6,0x1c(%r8,%rdx,2),%xmm4,%xmm5
+  DB  196,227,93,56,229,1                 ; vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  DB  196,227,125,57,229,1                ; vextracti128  $0x1,%ymm4,%xmm5
+  DB  196,193,81,196,108,80,26,5          ; vpinsrw       $0x5,0x1a(%r8,%rdx,2),%xmm5,%xmm5
+  DB  196,227,93,56,229,1                 ; vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  DB  196,227,125,57,229,1                ; vextracti128  $0x1,%ymm4,%xmm5
+  DB  196,193,81,196,108,80,24,4          ; vpinsrw       $0x4,0x18(%r8,%rdx,2),%xmm5,%xmm5
+  DB  196,227,93,56,229,1                 ; vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  DB  196,193,122,126,108,80,16           ; vmovq         0x10(%r8,%rdx,2),%xmm5
+  DB  196,193,122,111,52,80               ; vmovdqu       (%r8,%rdx,2),%xmm6
+  DB  196,227,77,56,237,1                 ; vinserti128   $0x1,%xmm5,%ymm6,%ymm5
+  DB  196,227,85,2,228,192                ; vpblendd      $0xc0,%ymm4,%ymm5,%ymm4
+  DB  196,226,125,121,45,148,206,0,0      ; vpbroadcastw  0xce94(%rip),%ymm5        # 352e8 <_sk_srcover_bgra_8888_sse2_lowp+0xad0>
+  DB  197,205,113,212,8                   ; vpsrlw        $0x8,%ymm4,%ymm6
+  DB  197,205,219,237                     ; vpand         %ymm5,%ymm6,%ymm5
+  DB  197,205,113,212,5                   ; vpsrlw        $0x5,%ymm4,%ymm6
+  DB  196,226,125,121,61,127,206,0,0      ; vpbroadcastw  0xce7f(%rip),%ymm7        # 352ea <_sk_srcover_bgra_8888_sse2_lowp+0xad2>
+  DB  197,205,219,247                     ; vpand         %ymm7,%ymm6,%ymm6
+  DB  196,226,125,121,61,116,206,0,0      ; vpbroadcastw  0xce74(%rip),%ymm7        # 352ec <_sk_srcover_bgra_8888_sse2_lowp+0xad4>
+  DB  197,221,219,255                     ; vpand         %ymm7,%ymm4,%ymm7
+  DB  197,221,113,212,13                  ; vpsrlw        $0xd,%ymm4,%ymm4
+  DB  197,213,235,228                     ; vpor          %ymm4,%ymm5,%ymm4
+  DB  197,213,113,246,2                   ; vpsllw        $0x2,%ymm6,%ymm5
+  DB  197,205,113,214,4                   ; vpsrlw        $0x4,%ymm6,%ymm6
+  DB  197,213,235,238                     ; vpor          %ymm6,%ymm5,%ymm5
+  DB  197,205,113,247,3                   ; vpsllw        $0x3,%ymm7,%ymm6
+  DB  197,197,113,215,2                   ; vpsrlw        $0x2,%ymm7,%ymm7
+  DB  197,205,235,247                     ; vpor          %ymm7,%ymm6,%ymm6
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,121,61,66,206,0,0       ; vpbroadcastw  0xce42(%rip),%ymm7        # 352ee <_sk_srcover_bgra_8888_sse2_lowp+0xad6>
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  133,254                             ; test          %edi,%esi
+  DB  255                                 ; (bad)
+  DB  255,176,254,255,255,158             ; pushq         -0x61000002(%rax)
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  239                                 ; out           %eax,(%dx)
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,225                             ; jmpq          *%rcx
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,211                             ; callq         *%rbx
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,193                             ; inc           %ecx
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  58,255                              ; cmp           %bh,%bh
+  DB  255                                 ; (bad)
+  DB  255,38                              ; jmpq          *(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,18                              ; callq         *(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,0                               ; incl          (%rax)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,130,255,255,255,110             ; incl          0x6effffff(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,90,255                          ; lcall         *-0x1(%rdx)
+  DB  255                                 ; (bad)
+  DB  255,72,255                          ; decl          -0x1(%rax)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_store_565_hsw_lowp
+_sk_store_565_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  196,98,125,121,5,235,205,0,0        ; vpbroadcastw  0xcdeb(%rip),%ymm8        # 352f0 <_sk_srcover_bgra_8888_sse2_lowp+0xad8>
+  DB  197,181,113,240,8                   ; vpsllw        $0x8,%ymm0,%ymm9
+  DB  196,65,53,219,192                   ; vpand         %ymm8,%ymm9,%ymm8
+  DB  196,98,125,121,13,218,205,0,0       ; vpbroadcastw  0xcdda(%rip),%ymm9        # 352f2 <_sk_srcover_bgra_8888_sse2_lowp+0xada>
+  DB  197,173,113,241,3                   ; vpsllw        $0x3,%ymm1,%ymm10
+  DB  196,65,45,219,201                   ; vpand         %ymm9,%ymm10,%ymm9
+  DB  196,65,53,235,192                   ; vpor          %ymm8,%ymm9,%ymm8
+  DB  197,181,113,210,3                   ; vpsrlw        $0x3,%ymm2,%ymm9
+  DB  196,65,61,235,193                   ; vpor          %ymm9,%ymm8,%ymm8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,15                               ; and           $0xf,%al
+  DB  254,200                             ; dec           %al
+  DB  60,14                               ; cmp           $0xe,%al
+  DB  119,31                              ; ja            2855a <_sk_store_565_hsw_lowp+0x6e>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,195,0,0,0                 ; lea           0xc3(%rip),%r9        # 28608 <_sk_store_565_hsw_lowp+0x11c>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,67,121,21,4,80,0                ; vpextrw       $0x0,%xmm8,(%r8,%rdx,2)
+  DB  233,167,0,0,0                       ; jmpq          28601 <_sk_store_565_hsw_lowp+0x115>
+  DB  196,65,126,127,4,80                 ; vmovdqu       %ymm8,(%r8,%rdx,2)
+  DB  233,156,0,0,0                       ; jmpq          28601 <_sk_store_565_hsw_lowp+0x115>
+  DB  196,67,121,21,68,80,4,2             ; vpextrw       $0x2,%xmm8,0x4(%r8,%rdx,2)
+  DB  196,65,121,126,4,80                 ; vmovd         %xmm8,(%r8,%rdx,2)
+  DB  233,137,0,0,0                       ; jmpq          28601 <_sk_store_565_hsw_lowp+0x115>
+  DB  196,67,121,21,68,80,12,6            ; vpextrw       $0x6,%xmm8,0xc(%r8,%rdx,2)
+  DB  196,67,121,21,68,80,10,5            ; vpextrw       $0x5,%xmm8,0xa(%r8,%rdx,2)
+  DB  196,67,121,21,68,80,8,4             ; vpextrw       $0x4,%xmm8,0x8(%r8,%rdx,2)
+  DB  196,65,121,214,4,80                 ; vmovq         %xmm8,(%r8,%rdx,2)
+  DB  235,105                             ; jmp           28601 <_sk_store_565_hsw_lowp+0x115>
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,67,121,21,76,80,20,2            ; vpextrw       $0x2,%xmm9,0x14(%r8,%rdx,2)
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,67,121,21,76,80,18,1            ; vpextrw       $0x1,%xmm9,0x12(%r8,%rdx,2)
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,67,121,21,76,80,16,0            ; vpextrw       $0x0,%xmm9,0x10(%r8,%rdx,2)
+  DB  235,55                              ; jmp           285fb <_sk_store_565_hsw_lowp+0x10f>
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,67,121,21,76,80,28,6            ; vpextrw       $0x6,%xmm9,0x1c(%r8,%rdx,2)
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,67,121,21,76,80,26,5            ; vpextrw       $0x5,%xmm9,0x1a(%r8,%rdx,2)
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,67,121,21,76,80,24,4            ; vpextrw       $0x4,%xmm9,0x18(%r8,%rdx,2)
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,65,121,214,76,80,16             ; vmovq         %xmm9,0x10(%r8,%rdx,2)
+  DB  196,65,122,127,4,80                 ; vmovdqu       %xmm8,(%r8,%rdx,2)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  15,31,0                             ; nopl          (%rax)
+  DB  70,255                              ; rex.RX        (bad)
+  DB  255                                 ; (bad)
+  DB  255,101,255                         ; jmpq          *-0x1(%rbp)
+  DB  255                                 ; (bad)
+  DB  255,93,255                          ; lcall         *-0x1(%rbp)
+  DB  255                                 ; (bad)
+  DB  255,136,255,255,255,128             ; decl          -0x7f000001(%rax)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  120,255                             ; js            2861d <_sk_store_565_hsw_lowp+0x131>
+  DB  255                                 ; (bad)
+  DB  255,112,255                         ; pushq         -0x1(%rax)
+  DB  255                                 ; (bad)
+  DB  255,243                             ; push          %rbx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,172,255,255,255,158,255         ; ljmp          *-0x610001(%rdi,%rdi,8)
+  DB  255                                 ; (bad)
+  DB  255,144,255,255,255,230             ; callq         *-0x19000001(%rax)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  216,255                             ; fdivr         %st(7),%st
+  DB  255                                 ; (bad)
+  DB  255,202                             ; dec           %edx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  188                                 ; .byte         0xbc
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_gather_565_hsw_lowp
+_sk_gather_565_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,88,64,12                 ; vpbroadcastd  0xc(%rax),%ymm8
+  DB  196,65,53,118,201                   ; vpcmpeqd      %ymm9,%ymm9,%ymm9
+  DB  196,65,61,254,193                   ; vpaddd        %ymm9,%ymm8,%ymm8
+  DB  196,65,44,87,210                    ; vxorps        %ymm10,%ymm10,%ymm10
+  DB  196,193,124,95,194                  ; vmaxps        %ymm10,%ymm0,%ymm0
+  DB  196,193,116,95,202                  ; vmaxps        %ymm10,%ymm1,%ymm1
+  DB  196,193,116,93,200                  ; vminps        %ymm8,%ymm1,%ymm1
+  DB  196,193,124,93,192                  ; vminps        %ymm8,%ymm0,%ymm0
+  DB  196,98,125,88,64,16                 ; vpbroadcastd  0x10(%rax),%ymm8
+  DB  196,65,61,254,193                   ; vpaddd        %ymm9,%ymm8,%ymm8
+  DB  196,193,100,95,218                  ; vmaxps        %ymm10,%ymm3,%ymm3
+  DB  196,193,108,95,210                  ; vmaxps        %ymm10,%ymm2,%ymm2
+  DB  196,193,108,93,208                  ; vminps        %ymm8,%ymm2,%ymm2
+  DB  196,193,100,93,216                  ; vminps        %ymm8,%ymm3,%ymm3
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  197,254,91,219                      ; vcvttps2dq    %ymm3,%ymm3
+  DB  197,254,91,210                      ; vcvttps2dq    %ymm2,%ymm2
+  DB  196,98,125,88,64,8                  ; vpbroadcastd  0x8(%rax),%ymm8
+  DB  196,226,61,64,210                   ; vpmulld       %ymm2,%ymm8,%ymm2
+  DB  196,226,61,64,219                   ; vpmulld       %ymm3,%ymm8,%ymm3
+  DB  197,254,91,192                      ; vcvttps2dq    %ymm0,%ymm0
+  DB  197,237,254,192                     ; vpaddd        %ymm0,%ymm2,%ymm0
+  DB  197,254,91,201                      ; vcvttps2dq    %ymm1,%ymm1
+  DB  197,229,254,201                     ; vpaddd        %ymm1,%ymm3,%ymm1
+  DB  196,193,249,126,201                 ; vmovq         %xmm1,%r9
+  DB  68,137,200                          ; mov           %r9d,%eax
+  DB  65,15,183,4,64                      ; movzwl        (%r8,%rax,2),%eax
+  DB  197,249,110,208                     ; vmovd         %eax,%xmm2
+  DB  196,195,249,22,202,1                ; vpextrq       $0x1,%xmm1,%r10
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  67,15,183,4,72                      ; movzwl        (%r8,%r9,2),%eax
+  DB  197,233,196,208,1                   ; vpinsrw       $0x1,%eax,%xmm2,%xmm2
+  DB  68,137,208                          ; mov           %r10d,%eax
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,227,125,57,201,1                ; vextracti128  $0x1,%ymm1,%xmm1
+  DB  65,15,183,4,64                      ; movzwl        (%r8,%rax,2),%eax
+  DB  197,233,196,208,2                   ; vpinsrw       $0x2,%eax,%xmm2,%xmm2
+  DB  196,193,249,126,201                 ; vmovq         %xmm1,%r9
+  DB  67,15,183,4,80                      ; movzwl        (%r8,%r10,2),%eax
+  DB  197,233,196,208,3                   ; vpinsrw       $0x3,%eax,%xmm2,%xmm2
+  DB  68,137,200                          ; mov           %r9d,%eax
+  DB  65,15,183,4,64                      ; movzwl        (%r8,%rax,2),%eax
+  DB  197,233,196,208,4                   ; vpinsrw       $0x4,%eax,%xmm2,%xmm2
+  DB  196,195,249,22,202,1                ; vpextrq       $0x1,%xmm1,%r10
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  67,15,183,4,72                      ; movzwl        (%r8,%r9,2),%eax
+  DB  197,233,196,200,5                   ; vpinsrw       $0x5,%eax,%xmm2,%xmm1
+  DB  68,137,208                          ; mov           %r10d,%eax
+  DB  65,15,183,4,64                      ; movzwl        (%r8,%rax,2),%eax
+  DB  197,241,196,200,6                   ; vpinsrw       $0x6,%eax,%xmm1,%xmm1
+  DB  196,193,249,126,193                 ; vmovq         %xmm0,%r9
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  67,15,183,4,80                      ; movzwl        (%r8,%r10,2),%eax
+  DB  197,241,196,200,7                   ; vpinsrw       $0x7,%eax,%xmm1,%xmm1
+  DB  68,137,200                          ; mov           %r9d,%eax
+  DB  65,15,183,4,64                      ; movzwl        (%r8,%rax,2),%eax
+  DB  197,249,110,208                     ; vmovd         %eax,%xmm2
+  DB  196,195,249,22,194,1                ; vpextrq       $0x1,%xmm0,%r10
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  67,15,183,4,72                      ; movzwl        (%r8,%r9,2),%eax
+  DB  197,233,196,208,1                   ; vpinsrw       $0x1,%eax,%xmm2,%xmm2
+  DB  68,137,208                          ; mov           %r10d,%eax
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,227,125,57,192,1                ; vextracti128  $0x1,%ymm0,%xmm0
+  DB  65,15,183,4,64                      ; movzwl        (%r8,%rax,2),%eax
+  DB  197,233,196,208,2                   ; vpinsrw       $0x2,%eax,%xmm2,%xmm2
+  DB  196,193,249,126,193                 ; vmovq         %xmm0,%r9
+  DB  67,15,183,4,80                      ; movzwl        (%r8,%r10,2),%eax
+  DB  197,233,196,208,3                   ; vpinsrw       $0x3,%eax,%xmm2,%xmm2
+  DB  68,137,200                          ; mov           %r9d,%eax
+  DB  65,15,183,4,64                      ; movzwl        (%r8,%rax,2),%eax
+  DB  197,233,196,208,4                   ; vpinsrw       $0x4,%eax,%xmm2,%xmm2
+  DB  196,195,249,22,194,1                ; vpextrq       $0x1,%xmm0,%r10
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  67,15,183,4,72                      ; movzwl        (%r8,%r9,2),%eax
+  DB  197,233,196,192,5                   ; vpinsrw       $0x5,%eax,%xmm2,%xmm0
+  DB  68,137,208                          ; mov           %r10d,%eax
+  DB  65,15,183,4,64                      ; movzwl        (%r8,%rax,2),%eax
+  DB  197,249,196,192,6                   ; vpinsrw       $0x6,%eax,%xmm0,%xmm0
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  67,15,183,4,80                      ; movzwl        (%r8,%r10,2),%eax
+  DB  197,249,196,192,7                   ; vpinsrw       $0x7,%eax,%xmm0,%xmm0
+  DB  196,227,125,56,193,1                ; vinserti128   $0x1,%xmm1,%ymm0,%ymm0
+  DB  196,226,125,121,13,30,203,0,0       ; vpbroadcastw  0xcb1e(%rip),%ymm1        # 352f4 <_sk_srcover_bgra_8888_sse2_lowp+0xadc>
+  DB  197,237,113,208,8                   ; vpsrlw        $0x8,%ymm0,%ymm2
+  DB  197,237,219,201                     ; vpand         %ymm1,%ymm2,%ymm1
+  DB  197,237,113,208,5                   ; vpsrlw        $0x5,%ymm0,%ymm2
+  DB  196,226,125,121,29,9,203,0,0        ; vpbroadcastw  0xcb09(%rip),%ymm3        # 352f6 <_sk_srcover_bgra_8888_sse2_lowp+0xade>
+  DB  197,237,219,211                     ; vpand         %ymm3,%ymm2,%ymm2
+  DB  196,226,125,121,29,254,202,0,0      ; vpbroadcastw  0xcafe(%rip),%ymm3        # 352f8 <_sk_srcover_bgra_8888_sse2_lowp+0xae0>
+  DB  197,253,219,219                     ; vpand         %ymm3,%ymm0,%ymm3
+  DB  197,253,113,208,13                  ; vpsrlw        $0xd,%ymm0,%ymm0
+  DB  197,245,235,192                     ; vpor          %ymm0,%ymm1,%ymm0
+  DB  197,245,113,242,2                   ; vpsllw        $0x2,%ymm2,%ymm1
+  DB  197,237,113,210,4                   ; vpsrlw        $0x4,%ymm2,%ymm2
+  DB  197,245,235,202                     ; vpor          %ymm2,%ymm1,%ymm1
+  DB  197,237,113,243,3                   ; vpsllw        $0x3,%ymm3,%ymm2
+  DB  197,229,113,211,2                   ; vpsrlw        $0x2,%ymm3,%ymm3
+  DB  197,237,235,211                     ; vpor          %ymm3,%ymm2,%ymm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,121,29,204,202,0,0      ; vpbroadcastw  0xcacc(%rip),%ymm3        # 352fa <_sk_srcover_bgra_8888_sse2_lowp+0xae2>
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_load_4444_hsw_lowp
+_sk_load_4444_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,15                               ; and           $0xf,%al
+  DB  254,200                             ; dec           %al
+  DB  60,14                               ; cmp           $0xe,%al
+  DB  119,37                              ; ja            2886f <_sk_load_4444_hsw_lowp+0x3f>
+  DB  197,253,239,192                     ; vpxor         %ymm0,%ymm0,%ymm0
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,112,1,0,0                 ; lea           0x170(%rip),%r9        # 289c8 <_sk_load_4444_hsw_lowp+0x198>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,183,4,80                      ; movzwl        (%r8,%rdx,2),%eax
+  DB  197,249,110,192                     ; vmovd         %eax,%xmm0
+  DB  233,8,1,0,0                         ; jmpq          28977 <_sk_load_4444_hsw_lowp+0x147>
+  DB  196,193,126,111,4,80                ; vmovdqu       (%r8,%rdx,2),%ymm0
+  DB  233,253,0,0,0                       ; jmpq          28977 <_sk_load_4444_hsw_lowp+0x147>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  196,193,121,196,76,80,4,2           ; vpinsrw       $0x2,0x4(%r8,%rdx,2),%xmm0,%xmm1
+  DB  196,227,117,56,192,1                ; vinserti128   $0x1,%xmm0,%ymm1,%ymm0
+  DB  196,193,121,110,12,80               ; vmovd         (%r8,%rdx,2),%xmm1
+  DB  196,227,125,2,193,1                 ; vpblendd      $0x1,%ymm1,%ymm0,%ymm0
+  DB  233,218,0,0,0                       ; jmpq          28977 <_sk_load_4444_hsw_lowp+0x147>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  196,193,121,196,76,80,12,6          ; vpinsrw       $0x6,0xc(%r8,%rdx,2),%xmm0,%xmm1
+  DB  196,227,117,56,192,1                ; vinserti128   $0x1,%xmm0,%ymm1,%ymm0
+  DB  196,193,121,196,76,80,10,5          ; vpinsrw       $0x5,0xa(%r8,%rdx,2),%xmm0,%xmm1
+  DB  196,227,125,2,193,15                ; vpblendd      $0xf,%ymm1,%ymm0,%ymm0
+  DB  196,193,121,196,76,80,8,4           ; vpinsrw       $0x4,0x8(%r8,%rdx,2),%xmm0,%xmm1
+  DB  196,227,125,2,193,15                ; vpblendd      $0xf,%ymm1,%ymm0,%ymm0
+  DB  196,193,122,126,12,80               ; vmovq         (%r8,%rdx,2),%xmm1
+  DB  196,227,125,2,193,3                 ; vpblendd      $0x3,%ymm1,%ymm0,%ymm0
+  DB  233,155,0,0,0                       ; jmpq          28977 <_sk_load_4444_hsw_lowp+0x147>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  196,193,121,196,76,80,20,2          ; vpinsrw       $0x2,0x14(%r8,%rdx,2),%xmm0,%xmm1
+  DB  196,227,125,56,193,1                ; vinserti128   $0x1,%xmm1,%ymm0,%ymm0
+  DB  196,227,125,57,193,1                ; vextracti128  $0x1,%ymm0,%xmm1
+  DB  196,193,113,196,76,80,18,1          ; vpinsrw       $0x1,0x12(%r8,%rdx,2),%xmm1,%xmm1
+  DB  196,227,125,56,193,1                ; vinserti128   $0x1,%xmm1,%ymm0,%ymm0
+  DB  196,227,125,57,193,1                ; vextracti128  $0x1,%ymm0,%xmm1
+  DB  196,193,113,196,76,80,16,0          ; vpinsrw       $0x0,0x10(%r8,%rdx,2),%xmm1,%xmm1
+  DB  196,227,125,56,193,1                ; vinserti128   $0x1,%xmm1,%ymm0,%ymm0
+  DB  196,193,122,111,12,80               ; vmovdqu       (%r8,%rdx,2),%xmm1
+  DB  196,227,117,2,192,240               ; vpblendd      $0xf0,%ymm0,%ymm1,%ymm0
+  DB  235,83                              ; jmp           28977 <_sk_load_4444_hsw_lowp+0x147>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  196,193,121,196,76,80,28,6          ; vpinsrw       $0x6,0x1c(%r8,%rdx,2),%xmm0,%xmm1
+  DB  196,227,125,56,193,1                ; vinserti128   $0x1,%xmm1,%ymm0,%ymm0
+  DB  196,227,125,57,193,1                ; vextracti128  $0x1,%ymm0,%xmm1
+  DB  196,193,113,196,76,80,26,5          ; vpinsrw       $0x5,0x1a(%r8,%rdx,2),%xmm1,%xmm1
+  DB  196,227,125,56,193,1                ; vinserti128   $0x1,%xmm1,%ymm0,%ymm0
+  DB  196,227,125,57,193,1                ; vextracti128  $0x1,%ymm0,%xmm1
+  DB  196,193,113,196,76,80,24,4          ; vpinsrw       $0x4,0x18(%r8,%rdx,2),%xmm1,%xmm1
+  DB  196,227,125,56,193,1                ; vinserti128   $0x1,%xmm1,%ymm0,%ymm0
+  DB  196,193,122,126,76,80,16            ; vmovq         0x10(%r8,%rdx,2),%xmm1
+  DB  196,193,122,111,20,80               ; vmovdqu       (%r8,%rdx,2),%xmm2
+  DB  196,227,109,56,201,1                ; vinserti128   $0x1,%xmm1,%ymm2,%ymm1
+  DB  196,227,117,2,192,192               ; vpblendd      $0xc0,%ymm0,%ymm1,%ymm0
+  DB  197,245,113,208,12                  ; vpsrlw        $0xc,%ymm0,%ymm1
+  DB  197,237,113,208,8                   ; vpsrlw        $0x8,%ymm0,%ymm2
+  DB  196,226,125,121,29,114,201,0,0      ; vpbroadcastw  0xc972(%rip),%ymm3        # 352fc <_sk_srcover_bgra_8888_sse2_lowp+0xae4>
+  DB  197,237,219,211                     ; vpand         %ymm3,%ymm2,%ymm2
+  DB  197,189,113,208,4                   ; vpsrlw        $0x4,%ymm0,%ymm8
+  DB  197,61,219,195                      ; vpand         %ymm3,%ymm8,%ymm8
+  DB  197,253,219,219                     ; vpand         %ymm3,%ymm0,%ymm3
+  DB  197,253,113,241,4                   ; vpsllw        $0x4,%ymm1,%ymm0
+  DB  197,253,235,193                     ; vpor          %ymm1,%ymm0,%ymm0
+  DB  197,245,113,242,4                   ; vpsllw        $0x4,%ymm2,%ymm1
+  DB  197,245,235,202                     ; vpor          %ymm2,%ymm1,%ymm1
+  DB  196,193,109,113,240,4               ; vpsllw        $0x4,%ymm8,%ymm2
+  DB  196,193,109,235,208                 ; vpor          %ymm8,%ymm2,%ymm2
+  DB  197,189,113,243,4                   ; vpsllw        $0x4,%ymm3,%ymm8
+  DB  197,189,235,219                     ; vpor          %ymm3,%ymm8,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  15,31,0                             ; nopl          (%rax)
+  DB  153                                 ; cltd
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,196                             ; inc           %esp
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,178,254,255,255,3               ; pushq         0x3fffffe(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,245                             ; push          %rbp
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,231                             ; jmpq          *%rdi
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,213                             ; callq         *%rbp
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,78,255                          ; decl          -0x1(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  58,255                              ; cmp           %bh,%bh
+  DB  255                                 ; (bad)
+  DB  255,38                              ; jmpq          *(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,20,255                          ; callq         *(%rdi,%rdi,8)
+  DB  255                                 ; (bad)
+  DB  255,150,255,255,255,130             ; callq         *-0x7d000001(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,110,255                         ; ljmp          *-0x1(%rsi)
+  DB  255                                 ; (bad)
+  DB  255,92,255,255                      ; lcall         *-0x1(%rdi,%rdi,8)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_4444_dst_hsw_lowp
+_sk_load_4444_dst_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,15                               ; and           $0xf,%al
+  DB  254,200                             ; dec           %al
+  DB  60,14                               ; cmp           $0xe,%al
+  DB  119,37                              ; ja            28a43 <_sk_load_4444_dst_hsw_lowp+0x3f>
+  DB  197,221,239,228                     ; vpxor         %ymm4,%ymm4,%ymm4
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,112,1,0,0                 ; lea           0x170(%rip),%r9        # 28b9c <_sk_load_4444_dst_hsw_lowp+0x198>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,183,4,80                      ; movzwl        (%r8,%rdx,2),%eax
+  DB  197,249,110,224                     ; vmovd         %eax,%xmm4
+  DB  233,8,1,0,0                         ; jmpq          28b4b <_sk_load_4444_dst_hsw_lowp+0x147>
+  DB  196,193,126,111,36,80               ; vmovdqu       (%r8,%rdx,2),%ymm4
+  DB  233,253,0,0,0                       ; jmpq          28b4b <_sk_load_4444_dst_hsw_lowp+0x147>
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  196,193,89,196,108,80,4,2           ; vpinsrw       $0x2,0x4(%r8,%rdx,2),%xmm4,%xmm5
+  DB  196,227,85,56,228,1                 ; vinserti128   $0x1,%xmm4,%ymm5,%ymm4
+  DB  196,193,121,110,44,80               ; vmovd         (%r8,%rdx,2),%xmm5
+  DB  196,227,93,2,229,1                  ; vpblendd      $0x1,%ymm5,%ymm4,%ymm4
+  DB  233,218,0,0,0                       ; jmpq          28b4b <_sk_load_4444_dst_hsw_lowp+0x147>
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  196,193,89,196,108,80,12,6          ; vpinsrw       $0x6,0xc(%r8,%rdx,2),%xmm4,%xmm5
+  DB  196,227,85,56,228,1                 ; vinserti128   $0x1,%xmm4,%ymm5,%ymm4
+  DB  196,193,89,196,108,80,10,5          ; vpinsrw       $0x5,0xa(%r8,%rdx,2),%xmm4,%xmm5
+  DB  196,227,93,2,229,15                 ; vpblendd      $0xf,%ymm5,%ymm4,%ymm4
+  DB  196,193,89,196,108,80,8,4           ; vpinsrw       $0x4,0x8(%r8,%rdx,2),%xmm4,%xmm5
+  DB  196,227,93,2,229,15                 ; vpblendd      $0xf,%ymm5,%ymm4,%ymm4
+  DB  196,193,122,126,44,80               ; vmovq         (%r8,%rdx,2),%xmm5
+  DB  196,227,93,2,229,3                  ; vpblendd      $0x3,%ymm5,%ymm4,%ymm4
+  DB  233,155,0,0,0                       ; jmpq          28b4b <_sk_load_4444_dst_hsw_lowp+0x147>
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  196,193,89,196,108,80,20,2          ; vpinsrw       $0x2,0x14(%r8,%rdx,2),%xmm4,%xmm5
+  DB  196,227,93,56,229,1                 ; vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  DB  196,227,125,57,229,1                ; vextracti128  $0x1,%ymm4,%xmm5
+  DB  196,193,81,196,108,80,18,1          ; vpinsrw       $0x1,0x12(%r8,%rdx,2),%xmm5,%xmm5
+  DB  196,227,93,56,229,1                 ; vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  DB  196,227,125,57,229,1                ; vextracti128  $0x1,%ymm4,%xmm5
+  DB  196,193,81,196,108,80,16,0          ; vpinsrw       $0x0,0x10(%r8,%rdx,2),%xmm5,%xmm5
+  DB  196,227,93,56,229,1                 ; vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  DB  196,193,122,111,44,80               ; vmovdqu       (%r8,%rdx,2),%xmm5
+  DB  196,227,85,2,228,240                ; vpblendd      $0xf0,%ymm4,%ymm5,%ymm4
+  DB  235,83                              ; jmp           28b4b <_sk_load_4444_dst_hsw_lowp+0x147>
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  196,193,89,196,108,80,28,6          ; vpinsrw       $0x6,0x1c(%r8,%rdx,2),%xmm4,%xmm5
+  DB  196,227,93,56,229,1                 ; vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  DB  196,227,125,57,229,1                ; vextracti128  $0x1,%ymm4,%xmm5
+  DB  196,193,81,196,108,80,26,5          ; vpinsrw       $0x5,0x1a(%r8,%rdx,2),%xmm5,%xmm5
+  DB  196,227,93,56,229,1                 ; vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  DB  196,227,125,57,229,1                ; vextracti128  $0x1,%ymm4,%xmm5
+  DB  196,193,81,196,108,80,24,4          ; vpinsrw       $0x4,0x18(%r8,%rdx,2),%xmm5,%xmm5
+  DB  196,227,93,56,229,1                 ; vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  DB  196,193,122,126,108,80,16           ; vmovq         0x10(%r8,%rdx,2),%xmm5
+  DB  196,193,122,111,52,80               ; vmovdqu       (%r8,%rdx,2),%xmm6
+  DB  196,227,77,56,237,1                 ; vinserti128   $0x1,%xmm5,%ymm6,%ymm5
+  DB  196,227,85,2,228,192                ; vpblendd      $0xc0,%ymm4,%ymm5,%ymm4
+  DB  197,213,113,212,12                  ; vpsrlw        $0xc,%ymm4,%ymm5
+  DB  197,205,113,212,8                   ; vpsrlw        $0x8,%ymm4,%ymm6
+  DB  196,226,125,121,61,160,199,0,0      ; vpbroadcastw  0xc7a0(%rip),%ymm7        # 352fe <_sk_srcover_bgra_8888_sse2_lowp+0xae6>
+  DB  197,205,219,247                     ; vpand         %ymm7,%ymm6,%ymm6
+  DB  197,189,113,212,4                   ; vpsrlw        $0x4,%ymm4,%ymm8
+  DB  197,61,219,199                      ; vpand         %ymm7,%ymm8,%ymm8
+  DB  197,221,219,255                     ; vpand         %ymm7,%ymm4,%ymm7
+  DB  197,221,113,245,4                   ; vpsllw        $0x4,%ymm5,%ymm4
+  DB  197,221,235,229                     ; vpor          %ymm5,%ymm4,%ymm4
+  DB  197,213,113,246,4                   ; vpsllw        $0x4,%ymm6,%ymm5
+  DB  197,213,235,238                     ; vpor          %ymm6,%ymm5,%ymm5
+  DB  196,193,77,113,240,4                ; vpsllw        $0x4,%ymm8,%ymm6
+  DB  196,193,77,235,240                  ; vpor          %ymm8,%ymm6,%ymm6
+  DB  197,189,113,247,4                   ; vpsllw        $0x4,%ymm7,%ymm8
+  DB  197,189,235,255                     ; vpor          %ymm7,%ymm8,%ymm7
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  15,31,0                             ; nopl          (%rax)
+  DB  153                                 ; cltd
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,196                             ; inc           %esp
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,178,254,255,255,3               ; pushq         0x3fffffe(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,245                             ; push          %rbp
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,231                             ; jmpq          *%rdi
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,213                             ; callq         *%rbp
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,78,255                          ; decl          -0x1(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  58,255                              ; cmp           %bh,%bh
+  DB  255                                 ; (bad)
+  DB  255,38                              ; jmpq          *(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,20,255                          ; callq         *(%rdi,%rdi,8)
+  DB  255                                 ; (bad)
+  DB  255,150,255,255,255,130             ; callq         *-0x7d000001(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,110,255                         ; ljmp          *-0x1(%rsi)
+  DB  255                                 ; (bad)
+  DB  255,92,255,255                      ; lcall         *-0x1(%rdi,%rdi,8)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_store_4444_hsw_lowp
+_sk_store_4444_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  196,98,125,121,5,15,199,0,0         ; vpbroadcastw  0xc70f(%rip),%ymm8        # 35300 <_sk_srcover_bgra_8888_sse2_lowp+0xae8>
+  DB  197,181,113,240,8                   ; vpsllw        $0x8,%ymm0,%ymm9
+  DB  196,65,53,219,192                   ; vpand         %ymm8,%ymm9,%ymm8
+  DB  197,181,113,241,4                   ; vpsllw        $0x4,%ymm1,%ymm9
+  DB  197,53,219,13,24,199,0,0            ; vpand         0xc718(%rip),%ymm9,%ymm9        # 35320 <_sk_srcover_bgra_8888_sse2_lowp+0xb08>
+  DB  196,65,53,235,192                   ; vpor          %ymm8,%ymm9,%ymm8
+  DB  196,98,125,121,13,42,199,0,0        ; vpbroadcastw  0xc72a(%rip),%ymm9        # 35340 <_sk_srcover_bgra_8888_sse2_lowp+0xb28>
+  DB  196,65,109,219,201                  ; vpand         %ymm9,%ymm2,%ymm9
+  DB  197,173,113,211,4                   ; vpsrlw        $0x4,%ymm3,%ymm10
+  DB  196,65,53,235,202                   ; vpor          %ymm10,%ymm9,%ymm9
+  DB  196,65,61,235,193                   ; vpor          %ymm9,%ymm8,%ymm8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,15                               ; and           $0xf,%al
+  DB  254,200                             ; dec           %al
+  DB  60,14                               ; cmp           $0xe,%al
+  DB  119,31                              ; ja            28c53 <_sk_store_4444_hsw_lowp+0x7b>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,194,0,0,0                 ; lea           0xc2(%rip),%r9        # 28d00 <_sk_store_4444_hsw_lowp+0x128>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,67,121,21,4,80,0                ; vpextrw       $0x0,%xmm8,(%r8,%rdx,2)
+  DB  233,167,0,0,0                       ; jmpq          28cfa <_sk_store_4444_hsw_lowp+0x122>
+  DB  196,65,126,127,4,80                 ; vmovdqu       %ymm8,(%r8,%rdx,2)
+  DB  233,156,0,0,0                       ; jmpq          28cfa <_sk_store_4444_hsw_lowp+0x122>
+  DB  196,67,121,21,68,80,4,2             ; vpextrw       $0x2,%xmm8,0x4(%r8,%rdx,2)
+  DB  196,65,121,126,4,80                 ; vmovd         %xmm8,(%r8,%rdx,2)
+  DB  233,137,0,0,0                       ; jmpq          28cfa <_sk_store_4444_hsw_lowp+0x122>
+  DB  196,67,121,21,68,80,12,6            ; vpextrw       $0x6,%xmm8,0xc(%r8,%rdx,2)
+  DB  196,67,121,21,68,80,10,5            ; vpextrw       $0x5,%xmm8,0xa(%r8,%rdx,2)
+  DB  196,67,121,21,68,80,8,4             ; vpextrw       $0x4,%xmm8,0x8(%r8,%rdx,2)
+  DB  196,65,121,214,4,80                 ; vmovq         %xmm8,(%r8,%rdx,2)
+  DB  235,105                             ; jmp           28cfa <_sk_store_4444_hsw_lowp+0x122>
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,67,121,21,76,80,20,2            ; vpextrw       $0x2,%xmm9,0x14(%r8,%rdx,2)
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,67,121,21,76,80,18,1            ; vpextrw       $0x1,%xmm9,0x12(%r8,%rdx,2)
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,67,121,21,76,80,16,0            ; vpextrw       $0x0,%xmm9,0x10(%r8,%rdx,2)
+  DB  235,55                              ; jmp           28cf4 <_sk_store_4444_hsw_lowp+0x11c>
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,67,121,21,76,80,28,6            ; vpextrw       $0x6,%xmm9,0x1c(%r8,%rdx,2)
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,67,121,21,76,80,26,5            ; vpextrw       $0x5,%xmm9,0x1a(%r8,%rdx,2)
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,67,121,21,76,80,24,4            ; vpextrw       $0x4,%xmm9,0x18(%r8,%rdx,2)
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,65,121,214,76,80,16             ; vmovq         %xmm9,0x10(%r8,%rdx,2)
+  DB  196,65,122,127,4,80                 ; vmovdqu       %xmm8,(%r8,%rdx,2)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  71,255                              ; rex.RXB       (bad)
+  DB  255                                 ; (bad)
+  DB  255,102,255                         ; jmpq          *-0x1(%rsi)
+  DB  255                                 ; (bad)
+  DB  255,94,255                          ; lcall         *-0x1(%rsi)
+  DB  255                                 ; (bad)
+  DB  255,137,255,255,255,129             ; decl          -0x7e000001(%rcx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  121,255                             ; jns           28d15 <_sk_store_4444_hsw_lowp+0x13d>
+  DB  255                                 ; (bad)
+  DB  255,113,255                         ; pushq         -0x1(%rcx)
+  DB  255                                 ; (bad)
+  DB  255,244                             ; push          %rsp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,173,255,255,255,159             ; ljmp          *-0x60000001(%rbp)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,145,255,255,255,231             ; callq         *-0x18000001(%rcx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  217,255                             ; fcos
+  DB  255                                 ; (bad)
+  DB  255,203                             ; dec           %ebx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  189                                 ; .byte         0xbd
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_gather_4444_hsw_lowp
+_sk_gather_4444_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,88,64,12                 ; vpbroadcastd  0xc(%rax),%ymm8
+  DB  196,65,53,118,201                   ; vpcmpeqd      %ymm9,%ymm9,%ymm9
+  DB  196,65,61,254,193                   ; vpaddd        %ymm9,%ymm8,%ymm8
+  DB  196,65,44,87,210                    ; vxorps        %ymm10,%ymm10,%ymm10
+  DB  196,193,124,95,194                  ; vmaxps        %ymm10,%ymm0,%ymm0
+  DB  196,193,116,95,202                  ; vmaxps        %ymm10,%ymm1,%ymm1
+  DB  196,193,116,93,200                  ; vminps        %ymm8,%ymm1,%ymm1
+  DB  196,193,124,93,192                  ; vminps        %ymm8,%ymm0,%ymm0
+  DB  196,98,125,88,64,16                 ; vpbroadcastd  0x10(%rax),%ymm8
+  DB  196,65,61,254,193                   ; vpaddd        %ymm9,%ymm8,%ymm8
+  DB  196,193,100,95,218                  ; vmaxps        %ymm10,%ymm3,%ymm3
+  DB  196,193,108,95,210                  ; vmaxps        %ymm10,%ymm2,%ymm2
+  DB  196,193,108,93,208                  ; vminps        %ymm8,%ymm2,%ymm2
+  DB  196,193,100,93,216                  ; vminps        %ymm8,%ymm3,%ymm3
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  197,254,91,219                      ; vcvttps2dq    %ymm3,%ymm3
+  DB  197,254,91,210                      ; vcvttps2dq    %ymm2,%ymm2
+  DB  196,98,125,88,64,8                  ; vpbroadcastd  0x8(%rax),%ymm8
+  DB  196,226,61,64,210                   ; vpmulld       %ymm2,%ymm8,%ymm2
+  DB  196,226,61,64,219                   ; vpmulld       %ymm3,%ymm8,%ymm3
+  DB  197,254,91,192                      ; vcvttps2dq    %ymm0,%ymm0
+  DB  197,237,254,192                     ; vpaddd        %ymm0,%ymm2,%ymm0
+  DB  197,254,91,201                      ; vcvttps2dq    %ymm1,%ymm1
+  DB  197,229,254,201                     ; vpaddd        %ymm1,%ymm3,%ymm1
+  DB  196,193,249,126,201                 ; vmovq         %xmm1,%r9
+  DB  68,137,200                          ; mov           %r9d,%eax
+  DB  65,15,183,4,64                      ; movzwl        (%r8,%rax,2),%eax
+  DB  197,249,110,208                     ; vmovd         %eax,%xmm2
+  DB  196,195,249,22,202,1                ; vpextrq       $0x1,%xmm1,%r10
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  67,15,183,4,72                      ; movzwl        (%r8,%r9,2),%eax
+  DB  197,233,196,208,1                   ; vpinsrw       $0x1,%eax,%xmm2,%xmm2
+  DB  68,137,208                          ; mov           %r10d,%eax
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,227,125,57,201,1                ; vextracti128  $0x1,%ymm1,%xmm1
+  DB  65,15,183,4,64                      ; movzwl        (%r8,%rax,2),%eax
+  DB  197,233,196,208,2                   ; vpinsrw       $0x2,%eax,%xmm2,%xmm2
+  DB  196,193,249,126,201                 ; vmovq         %xmm1,%r9
+  DB  67,15,183,4,80                      ; movzwl        (%r8,%r10,2),%eax
+  DB  197,233,196,208,3                   ; vpinsrw       $0x3,%eax,%xmm2,%xmm2
+  DB  68,137,200                          ; mov           %r9d,%eax
+  DB  65,15,183,4,64                      ; movzwl        (%r8,%rax,2),%eax
+  DB  197,233,196,208,4                   ; vpinsrw       $0x4,%eax,%xmm2,%xmm2
+  DB  196,195,249,22,202,1                ; vpextrq       $0x1,%xmm1,%r10
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  67,15,183,4,72                      ; movzwl        (%r8,%r9,2),%eax
+  DB  197,233,196,200,5                   ; vpinsrw       $0x5,%eax,%xmm2,%xmm1
+  DB  68,137,208                          ; mov           %r10d,%eax
+  DB  65,15,183,4,64                      ; movzwl        (%r8,%rax,2),%eax
+  DB  197,241,196,200,6                   ; vpinsrw       $0x6,%eax,%xmm1,%xmm1
+  DB  196,193,249,126,193                 ; vmovq         %xmm0,%r9
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  67,15,183,4,80                      ; movzwl        (%r8,%r10,2),%eax
+  DB  197,241,196,200,7                   ; vpinsrw       $0x7,%eax,%xmm1,%xmm1
+  DB  68,137,200                          ; mov           %r9d,%eax
+  DB  65,15,183,4,64                      ; movzwl        (%r8,%rax,2),%eax
+  DB  197,249,110,208                     ; vmovd         %eax,%xmm2
+  DB  196,195,249,22,194,1                ; vpextrq       $0x1,%xmm0,%r10
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  67,15,183,4,72                      ; movzwl        (%r8,%r9,2),%eax
+  DB  197,233,196,208,1                   ; vpinsrw       $0x1,%eax,%xmm2,%xmm2
+  DB  68,137,208                          ; mov           %r10d,%eax
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,227,125,57,192,1                ; vextracti128  $0x1,%ymm0,%xmm0
+  DB  65,15,183,4,64                      ; movzwl        (%r8,%rax,2),%eax
+  DB  197,233,196,208,2                   ; vpinsrw       $0x2,%eax,%xmm2,%xmm2
+  DB  196,193,249,126,193                 ; vmovq         %xmm0,%r9
+  DB  67,15,183,4,80                      ; movzwl        (%r8,%r10,2),%eax
+  DB  197,233,196,208,3                   ; vpinsrw       $0x3,%eax,%xmm2,%xmm2
+  DB  68,137,200                          ; mov           %r9d,%eax
+  DB  65,15,183,4,64                      ; movzwl        (%r8,%rax,2),%eax
+  DB  197,233,196,208,4                   ; vpinsrw       $0x4,%eax,%xmm2,%xmm2
+  DB  196,195,249,22,194,1                ; vpextrq       $0x1,%xmm0,%r10
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  67,15,183,4,72                      ; movzwl        (%r8,%r9,2),%eax
+  DB  197,233,196,192,5                   ; vpinsrw       $0x5,%eax,%xmm2,%xmm0
+  DB  68,137,208                          ; mov           %r10d,%eax
+  DB  65,15,183,4,64                      ; movzwl        (%r8,%rax,2),%eax
+  DB  197,249,196,192,6                   ; vpinsrw       $0x6,%eax,%xmm0,%xmm0
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  67,15,183,4,80                      ; movzwl        (%r8,%r10,2),%eax
+  DB  197,249,196,192,7                   ; vpinsrw       $0x7,%eax,%xmm0,%xmm0
+  DB  196,227,125,56,193,1                ; vinserti128   $0x1,%xmm1,%ymm0,%ymm0
+  DB  197,245,113,208,12                  ; vpsrlw        $0xc,%ymm0,%ymm1
+  DB  197,237,113,208,8                   ; vpsrlw        $0x8,%ymm0,%ymm2
+  DB  196,226,125,121,29,106,196,0,0      ; vpbroadcastw  0xc46a(%rip),%ymm3        # 35342 <_sk_srcover_bgra_8888_sse2_lowp+0xb2a>
+  DB  197,237,219,211                     ; vpand         %ymm3,%ymm2,%ymm2
+  DB  197,189,113,208,4                   ; vpsrlw        $0x4,%ymm0,%ymm8
+  DB  197,61,219,195                      ; vpand         %ymm3,%ymm8,%ymm8
+  DB  197,253,219,219                     ; vpand         %ymm3,%ymm0,%ymm3
+  DB  197,253,113,241,4                   ; vpsllw        $0x4,%ymm1,%ymm0
+  DB  197,253,235,193                     ; vpor          %ymm1,%ymm0,%ymm0
+  DB  197,245,113,242,4                   ; vpsllw        $0x4,%ymm2,%ymm1
+  DB  197,245,235,202                     ; vpor          %ymm2,%ymm1,%ymm1
+  DB  196,193,109,113,240,4               ; vpsllw        $0x4,%ymm8,%ymm2
+  DB  196,193,109,235,208                 ; vpor          %ymm8,%ymm2,%ymm2
+  DB  197,189,113,243,4                   ; vpsllw        $0x4,%ymm3,%ymm8
+  DB  197,189,235,219                     ; vpor          %ymm3,%ymm8,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_load_a8_hsw_lowp
+_sk_load_a8_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,15                               ; and           $0xf,%al
+  DB  254,200                             ; dec           %al
+  DB  60,14                               ; cmp           $0xe,%al
+  DB  119,37                              ; ja            28f4f <_sk_load_a8_hsw_lowp+0x3c>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,220,0,0,0                 ; lea           0xdc(%rip),%r9        # 29014 <_sk_load_a8_hsw_lowp+0x101>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,182,4,16                      ; movzbl        (%r8,%rdx,1),%eax
+  DB  197,249,110,192                     ; vmovd         %eax,%xmm0
+  DB  233,175,0,0,0                       ; jmpq          28ffe <_sk_load_a8_hsw_lowp+0xeb>
+  DB  196,193,122,111,4,16                ; vmovdqu       (%r8,%rdx,1),%xmm0
+  DB  233,164,0,0,0                       ; jmpq          28ffe <_sk_load_a8_hsw_lowp+0xeb>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  196,195,121,32,68,16,2,2            ; vpinsrb       $0x2,0x2(%r8,%rdx,1),%xmm0,%xmm0
+  DB  65,15,183,4,16                      ; movzwl        (%r8,%rdx,1),%eax
+  DB  197,249,110,200                     ; vmovd         %eax,%xmm1
+  DB  196,227,121,14,193,1                ; vpblendw      $0x1,%xmm1,%xmm0,%xmm0
+  DB  233,132,0,0,0                       ; jmpq          28ffe <_sk_load_a8_hsw_lowp+0xeb>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  196,195,121,32,68,16,6,6            ; vpinsrb       $0x6,0x6(%r8,%rdx,1),%xmm0,%xmm0
+  DB  196,195,121,32,68,16,5,5            ; vpinsrb       $0x5,0x5(%r8,%rdx,1),%xmm0,%xmm0
+  DB  196,195,121,32,68,16,4,4            ; vpinsrb       $0x4,0x4(%r8,%rdx,1),%xmm0,%xmm0
+  DB  196,193,121,110,12,16               ; vmovd         (%r8,%rdx,1),%xmm1
+  DB  196,227,121,2,193,1                 ; vpblendd      $0x1,%xmm1,%xmm0,%xmm0
+  DB  235,90                              ; jmp           28ffe <_sk_load_a8_hsw_lowp+0xeb>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  196,195,121,32,68,16,10,10          ; vpinsrb       $0xa,0xa(%r8,%rdx,1),%xmm0,%xmm0
+  DB  196,195,121,32,68,16,9,9            ; vpinsrb       $0x9,0x9(%r8,%rdx,1),%xmm0,%xmm0
+  DB  196,195,121,32,68,16,8,8            ; vpinsrb       $0x8,0x8(%r8,%rdx,1),%xmm0,%xmm0
+  DB  196,193,122,126,12,16               ; vmovq         (%r8,%rdx,1),%xmm1
+  DB  196,227,113,2,192,12                ; vpblendd      $0xc,%xmm0,%xmm1,%xmm0
+  DB  235,48                              ; jmp           28ffe <_sk_load_a8_hsw_lowp+0xeb>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  196,195,121,32,68,16,14,14          ; vpinsrb       $0xe,0xe(%r8,%rdx,1),%xmm0,%xmm0
+  DB  196,195,121,32,68,16,13,13          ; vpinsrb       $0xd,0xd(%r8,%rdx,1),%xmm0,%xmm0
+  DB  196,195,121,32,68,16,12,12          ; vpinsrb       $0xc,0xc(%r8,%rdx,1),%xmm0,%xmm0
+  DB  196,193,122,126,12,16               ; vmovq         (%r8,%rdx,1),%xmm1
+  DB  196,195,113,34,76,16,8,2            ; vpinsrd       $0x2,0x8(%r8,%rdx,1),%xmm1,%xmm1
+  DB  196,227,113,2,192,8                 ; vpblendd      $0x8,%xmm0,%xmm1,%xmm0
+  DB  196,226,125,48,216                  ; vpmovzxbw     %xmm0,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,253,239,192                     ; vpxor         %ymm0,%ymm0,%ymm0
+  DB  197,245,239,201                     ; vpxor         %ymm1,%ymm1,%ymm1
+  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
+  DB  255,224                             ; jmpq          *%rax
+  DB  144                                 ; nop
+  DB  45,255,255,255,82                   ; sub           $0x52ffffff,%eax
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,70,255                          ; incl          -0x1(%rsi)
+  DB  255                                 ; (bad)
+  DB  255,130,255,255,255,122             ; incl          0x7affffff(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,114,255                         ; pushq         -0x1(%rdx)
+  DB  255                                 ; (bad)
+  DB  255,102,255                         ; jmpq          *-0x1(%rsi)
+  DB  255                                 ; (bad)
+  DB  255,172,255,255,255,164,255         ; ljmp          *-0x5b0001(%rdi,%rdi,8)
+  DB  255                                 ; (bad)
+  DB  255,156,255,255,255,144,255         ; lcall         *-0x6f0001(%rdi,%rdi,8)
+  DB  255                                 ; (bad)
+  DB  255,214                             ; callq         *%rsi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,206                             ; dec           %esi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,198                             ; inc           %esi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  186                                 ; .byte         0xba
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_a8_dst_hsw_lowp
+_sk_load_a8_dst_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,15                               ; and           $0xf,%al
+  DB  254,200                             ; dec           %al
+  DB  60,14                               ; cmp           $0xe,%al
+  DB  119,37                              ; ja            2908c <_sk_load_a8_dst_hsw_lowp+0x3c>
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,219,0,0,0                 ; lea           0xdb(%rip),%r9        # 29150 <_sk_load_a8_dst_hsw_lowp+0x100>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,182,4,16                      ; movzbl        (%r8,%rdx,1),%eax
+  DB  197,249,110,224                     ; vmovd         %eax,%xmm4
+  DB  233,175,0,0,0                       ; jmpq          2913b <_sk_load_a8_dst_hsw_lowp+0xeb>
+  DB  196,193,122,111,36,16               ; vmovdqu       (%r8,%rdx,1),%xmm4
+  DB  233,164,0,0,0                       ; jmpq          2913b <_sk_load_a8_dst_hsw_lowp+0xeb>
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  196,195,89,32,100,16,2,2            ; vpinsrb       $0x2,0x2(%r8,%rdx,1),%xmm4,%xmm4
+  DB  65,15,183,4,16                      ; movzwl        (%r8,%rdx,1),%eax
+  DB  197,249,110,232                     ; vmovd         %eax,%xmm5
+  DB  196,227,89,14,229,1                 ; vpblendw      $0x1,%xmm5,%xmm4,%xmm4
+  DB  233,132,0,0,0                       ; jmpq          2913b <_sk_load_a8_dst_hsw_lowp+0xeb>
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  196,195,89,32,100,16,6,6            ; vpinsrb       $0x6,0x6(%r8,%rdx,1),%xmm4,%xmm4
+  DB  196,195,89,32,100,16,5,5            ; vpinsrb       $0x5,0x5(%r8,%rdx,1),%xmm4,%xmm4
+  DB  196,195,89,32,100,16,4,4            ; vpinsrb       $0x4,0x4(%r8,%rdx,1),%xmm4,%xmm4
+  DB  196,193,121,110,44,16               ; vmovd         (%r8,%rdx,1),%xmm5
+  DB  196,227,89,2,229,1                  ; vpblendd      $0x1,%xmm5,%xmm4,%xmm4
+  DB  235,90                              ; jmp           2913b <_sk_load_a8_dst_hsw_lowp+0xeb>
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  196,195,89,32,100,16,10,10          ; vpinsrb       $0xa,0xa(%r8,%rdx,1),%xmm4,%xmm4
+  DB  196,195,89,32,100,16,9,9            ; vpinsrb       $0x9,0x9(%r8,%rdx,1),%xmm4,%xmm4
+  DB  196,195,89,32,100,16,8,8            ; vpinsrb       $0x8,0x8(%r8,%rdx,1),%xmm4,%xmm4
+  DB  196,193,122,126,44,16               ; vmovq         (%r8,%rdx,1),%xmm5
+  DB  196,227,81,2,228,12                 ; vpblendd      $0xc,%xmm4,%xmm5,%xmm4
+  DB  235,48                              ; jmp           2913b <_sk_load_a8_dst_hsw_lowp+0xeb>
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  196,195,89,32,100,16,14,14          ; vpinsrb       $0xe,0xe(%r8,%rdx,1),%xmm4,%xmm4
+  DB  196,195,89,32,100,16,13,13          ; vpinsrb       $0xd,0xd(%r8,%rdx,1),%xmm4,%xmm4
+  DB  196,195,89,32,100,16,12,12          ; vpinsrb       $0xc,0xc(%r8,%rdx,1),%xmm4,%xmm4
+  DB  196,193,122,126,44,16               ; vmovq         (%r8,%rdx,1),%xmm5
+  DB  196,195,81,34,108,16,8,2            ; vpinsrd       $0x2,0x8(%r8,%rdx,1),%xmm5,%xmm5
+  DB  196,227,81,2,228,8                  ; vpblendd      $0x8,%xmm4,%xmm5,%xmm4
+  DB  196,226,125,48,252                  ; vpmovzxbw     %xmm4,%ymm7
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,221,239,228                     ; vpxor         %ymm4,%ymm4,%ymm4
+  DB  197,213,239,237                     ; vpxor         %ymm5,%ymm5,%ymm5
+  DB  197,204,87,246                      ; vxorps        %ymm6,%ymm6,%ymm6
+  DB  255,224                             ; jmpq          *%rax
+  DB  46,255                              ; cs            (bad)
+  DB  255                                 ; (bad)
+  DB  255,83,255                          ; callq         *-0x1(%rbx)
+  DB  255                                 ; (bad)
+  DB  255,71,255                          ; incl          -0x1(%rdi)
+  DB  255                                 ; (bad)
+  DB  255,131,255,255,255,123             ; incl          0x7bffffff(%rbx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,115,255                         ; pushq         -0x1(%rbx)
+  DB  255                                 ; (bad)
+  DB  255,103,255                         ; jmpq          *-0x1(%rdi)
+  DB  255                                 ; (bad)
+  DB  255,173,255,255,255,165             ; ljmp          *-0x5a000001(%rbp)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,157,255,255,255,145             ; lcall         *-0x6e000001(%rbp)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,215                             ; callq         *%rdi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,207                             ; dec           %edi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,199                             ; inc           %edi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  187                                 ; .byte         0xbb
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_store_a8_hsw_lowp
+_sk_store_a8_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  196,195,125,57,216,1                ; vextracti128  $0x1,%ymm3,%xmm8
+  DB  197,121,111,13,25,202,0,0           ; vmovdqa       0xca19(%rip),%xmm9        # 35bc0 <_sk_srcover_bgra_8888_sse2_lowp+0x13a8>
+  DB  196,66,57,0,193                     ; vpshufb       %xmm9,%xmm8,%xmm8
+  DB  196,66,97,0,201                     ; vpshufb       %xmm9,%xmm3,%xmm9
+  DB  196,65,49,108,192                   ; vpunpcklqdq   %xmm8,%xmm9,%xmm8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,15                               ; and           $0xf,%al
+  DB  254,200                             ; dec           %al
+  DB  60,14                               ; cmp           $0xe,%al
+  DB  119,28                              ; ja            291dc <_sk_store_a8_hsw_lowp+0x50>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,146,0,0,0                 ; lea           0x92(%rip),%r9        # 2925c <_sk_store_a8_hsw_lowp+0xd0>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,67,121,20,4,16,0                ; vpextrb       $0x0,%xmm8,(%r8,%rdx,1)
+  DB  235,121                             ; jmp           29255 <_sk_store_a8_hsw_lowp+0xc9>
+  DB  196,65,122,127,4,16                 ; vmovdqu       %xmm8,(%r8,%rdx,1)
+  DB  235,113                             ; jmp           29255 <_sk_store_a8_hsw_lowp+0xc9>
+  DB  196,67,121,20,68,16,2,2             ; vpextrb       $0x2,%xmm8,0x2(%r8,%rdx,1)
+  DB  196,67,121,21,4,16,0                ; vpextrw       $0x0,%xmm8,(%r8,%rdx,1)
+  DB  235,96                              ; jmp           29255 <_sk_store_a8_hsw_lowp+0xc9>
+  DB  196,67,121,20,68,16,6,6             ; vpextrb       $0x6,%xmm8,0x6(%r8,%rdx,1)
+  DB  196,67,121,20,68,16,5,5             ; vpextrb       $0x5,%xmm8,0x5(%r8,%rdx,1)
+  DB  196,67,121,20,68,16,4,4             ; vpextrb       $0x4,%xmm8,0x4(%r8,%rdx,1)
+  DB  196,65,121,126,4,16                 ; vmovd         %xmm8,(%r8,%rdx,1)
+  DB  235,64                              ; jmp           29255 <_sk_store_a8_hsw_lowp+0xc9>
+  DB  196,67,121,20,68,16,10,10           ; vpextrb       $0xa,%xmm8,0xa(%r8,%rdx,1)
+  DB  196,67,121,20,68,16,9,9             ; vpextrb       $0x9,%xmm8,0x9(%r8,%rdx,1)
+  DB  196,67,121,20,68,16,8,8             ; vpextrb       $0x8,%xmm8,0x8(%r8,%rdx,1)
+  DB  235,32                              ; jmp           2924f <_sk_store_a8_hsw_lowp+0xc3>
+  DB  196,67,121,20,68,16,14,14           ; vpextrb       $0xe,%xmm8,0xe(%r8,%rdx,1)
+  DB  196,67,121,20,68,16,13,13           ; vpextrb       $0xd,%xmm8,0xd(%r8,%rdx,1)
+  DB  196,67,121,20,68,16,12,12           ; vpextrb       $0xc,%xmm8,0xc(%r8,%rdx,1)
+  DB  196,67,121,22,68,16,8,2             ; vpextrd       $0x2,%xmm8,0x8(%r8,%rdx,1)
+  DB  196,65,121,214,4,16                 ; vmovq         %xmm8,(%r8,%rdx,1)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  15,31,0                             ; nopl          (%rax)
+  DB  119,255                             ; ja            2925d <_sk_store_a8_hsw_lowp+0xd1>
+  DB  255                                 ; (bad)
+  DB  255,144,255,255,255,136             ; callq         *-0x77000001(%rax)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,177,255,255,255,169             ; pushq         -0x56000001(%rcx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,161,255,255,255,153             ; jmpq          *-0x66000001(%rcx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,243                             ; push          %rbx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,201                             ; dec           %ecx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,193                             ; inc           %ecx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  185,255,255,255,235                 ; mov           $0xebffffff,%ecx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,227                             ; jmpq          *%rbx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  219,255                             ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,211                             ; callq         *%rbx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_gather_a8_hsw_lowp
+_sk_gather_a8_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,88,64,12                 ; vpbroadcastd  0xc(%rax),%ymm8
+  DB  196,65,53,118,201                   ; vpcmpeqd      %ymm9,%ymm9,%ymm9
+  DB  196,65,61,254,193                   ; vpaddd        %ymm9,%ymm8,%ymm8
+  DB  196,65,44,87,210                    ; vxorps        %ymm10,%ymm10,%ymm10
+  DB  196,193,124,95,194                  ; vmaxps        %ymm10,%ymm0,%ymm0
+  DB  196,193,116,95,202                  ; vmaxps        %ymm10,%ymm1,%ymm1
+  DB  196,65,116,93,216                   ; vminps        %ymm8,%ymm1,%ymm11
+  DB  196,193,124,93,192                  ; vminps        %ymm8,%ymm0,%ymm0
+  DB  196,226,125,88,72,16                ; vpbroadcastd  0x10(%rax),%ymm1
+  DB  196,193,117,254,201                 ; vpaddd        %ymm9,%ymm1,%ymm1
+  DB  196,193,100,95,218                  ; vmaxps        %ymm10,%ymm3,%ymm3
+  DB  196,193,108,95,210                  ; vmaxps        %ymm10,%ymm2,%ymm2
+  DB  197,236,93,209                      ; vminps        %ymm1,%ymm2,%ymm2
+  DB  197,228,93,201                      ; vminps        %ymm1,%ymm3,%ymm1
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  197,254,91,201                      ; vcvttps2dq    %ymm1,%ymm1
+  DB  197,254,91,210                      ; vcvttps2dq    %ymm2,%ymm2
+  DB  196,226,125,88,88,8                 ; vpbroadcastd  0x8(%rax),%ymm3
+  DB  196,226,101,64,210                  ; vpmulld       %ymm2,%ymm3,%ymm2
+  DB  196,226,101,64,217                  ; vpmulld       %ymm1,%ymm3,%ymm3
+  DB  197,254,91,192                      ; vcvttps2dq    %ymm0,%ymm0
+  DB  197,237,254,200                     ; vpaddd        %ymm0,%ymm2,%ymm1
+  DB  196,193,126,91,195                  ; vcvttps2dq    %ymm11,%ymm0
+  DB  197,229,254,192                     ; vpaddd        %ymm0,%ymm3,%ymm0
+  DB  196,193,249,126,201                 ; vmovq         %xmm1,%r9
+  DB  68,137,200                          ; mov           %r9d,%eax
+  DB  65,15,182,4,0                       ; movzbl        (%r8,%rax,1),%eax
+  DB  197,249,110,208                     ; vmovd         %eax,%xmm2
+  DB  196,195,249,22,202,1                ; vpextrq       $0x1,%xmm1,%r10
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  67,15,182,4,8                       ; movzbl        (%r8,%r9,1),%eax
+  DB  196,227,105,32,208,1                ; vpinsrb       $0x1,%eax,%xmm2,%xmm2
+  DB  68,137,208                          ; mov           %r10d,%eax
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,227,125,57,201,1                ; vextracti128  $0x1,%ymm1,%xmm1
+  DB  65,15,182,4,0                       ; movzbl        (%r8,%rax,1),%eax
+  DB  196,227,105,32,208,2                ; vpinsrb       $0x2,%eax,%xmm2,%xmm2
+  DB  196,193,249,126,201                 ; vmovq         %xmm1,%r9
+  DB  67,15,182,4,16                      ; movzbl        (%r8,%r10,1),%eax
+  DB  196,227,105,32,208,3                ; vpinsrb       $0x3,%eax,%xmm2,%xmm2
+  DB  68,137,200                          ; mov           %r9d,%eax
+  DB  65,15,182,4,0                       ; movzbl        (%r8,%rax,1),%eax
+  DB  196,227,105,32,208,4                ; vpinsrb       $0x4,%eax,%xmm2,%xmm2
+  DB  196,195,249,22,202,1                ; vpextrq       $0x1,%xmm1,%r10
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  67,15,182,4,8                       ; movzbl        (%r8,%r9,1),%eax
+  DB  196,227,105,32,200,5                ; vpinsrb       $0x5,%eax,%xmm2,%xmm1
+  DB  68,137,208                          ; mov           %r10d,%eax
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  65,15,182,4,0                       ; movzbl        (%r8,%rax,1),%eax
+  DB  196,227,113,32,200,6                ; vpinsrb       $0x6,%eax,%xmm1,%xmm1
+  DB  196,193,249,126,193                 ; vmovq         %xmm0,%r9
+  DB  67,15,182,4,16                      ; movzbl        (%r8,%r10,1),%eax
+  DB  196,227,113,32,200,7                ; vpinsrb       $0x7,%eax,%xmm1,%xmm1
+  DB  68,137,200                          ; mov           %r9d,%eax
+  DB  65,15,182,4,0                       ; movzbl        (%r8,%rax,1),%eax
+  DB  196,227,113,32,200,8                ; vpinsrb       $0x8,%eax,%xmm1,%xmm1
+  DB  196,195,249,22,194,1                ; vpextrq       $0x1,%xmm0,%r10
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  67,15,182,4,8                       ; movzbl        (%r8,%r9,1),%eax
+  DB  196,227,113,32,200,9                ; vpinsrb       $0x9,%eax,%xmm1,%xmm1
+  DB  68,137,208                          ; mov           %r10d,%eax
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,227,125,57,192,1                ; vextracti128  $0x1,%ymm0,%xmm0
+  DB  65,15,182,4,0                       ; movzbl        (%r8,%rax,1),%eax
+  DB  196,227,113,32,200,10               ; vpinsrb       $0xa,%eax,%xmm1,%xmm1
+  DB  196,193,249,126,193                 ; vmovq         %xmm0,%r9
+  DB  67,15,182,4,16                      ; movzbl        (%r8,%r10,1),%eax
+  DB  196,227,113,32,200,11               ; vpinsrb       $0xb,%eax,%xmm1,%xmm1
+  DB  68,137,200                          ; mov           %r9d,%eax
+  DB  65,15,182,4,0                       ; movzbl        (%r8,%rax,1),%eax
+  DB  196,227,113,32,200,12               ; vpinsrb       $0xc,%eax,%xmm1,%xmm1
+  DB  196,195,249,22,194,1                ; vpextrq       $0x1,%xmm0,%r10
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  67,15,182,4,8                       ; movzbl        (%r8,%r9,1),%eax
+  DB  196,227,113,32,192,13               ; vpinsrb       $0xd,%eax,%xmm1,%xmm0
+  DB  68,137,208                          ; mov           %r10d,%eax
+  DB  65,15,182,4,0                       ; movzbl        (%r8,%rax,1),%eax
+  DB  196,227,121,32,192,14               ; vpinsrb       $0xe,%eax,%xmm0,%xmm0
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  67,15,182,4,16                      ; movzbl        (%r8,%r10,1),%eax
+  DB  196,227,121,32,192,15               ; vpinsrb       $0xf,%eax,%xmm0,%xmm0
+  DB  196,226,125,48,216                  ; vpmovzxbw     %xmm0,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,253,239,192                     ; vpxor         %ymm0,%ymm0,%ymm0
+  DB  197,245,239,201                     ; vpxor         %ymm1,%ymm1,%ymm1
+  DB  197,237,239,210                     ; vpxor         %ymm2,%ymm2,%ymm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_load_g8_hsw_lowp
+_sk_load_g8_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,15                               ; and           $0xf,%al
+  DB  254,200                             ; dec           %al
+  DB  60,14                               ; cmp           $0xe,%al
+  DB  119,37                              ; ja            2947b <_sk_load_g8_hsw_lowp+0x3c>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,224,0,0,0                 ; lea           0xe0(%rip),%r9        # 29544 <_sk_load_g8_hsw_lowp+0x105>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,182,4,16                      ; movzbl        (%r8,%rdx,1),%eax
+  DB  197,249,110,192                     ; vmovd         %eax,%xmm0
+  DB  233,175,0,0,0                       ; jmpq          2952a <_sk_load_g8_hsw_lowp+0xeb>
+  DB  196,193,122,111,4,16                ; vmovdqu       (%r8,%rdx,1),%xmm0
+  DB  233,164,0,0,0                       ; jmpq          2952a <_sk_load_g8_hsw_lowp+0xeb>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  196,195,121,32,68,16,2,2            ; vpinsrb       $0x2,0x2(%r8,%rdx,1),%xmm0,%xmm0
+  DB  65,15,183,4,16                      ; movzwl        (%r8,%rdx,1),%eax
+  DB  197,249,110,200                     ; vmovd         %eax,%xmm1
+  DB  196,227,121,14,193,1                ; vpblendw      $0x1,%xmm1,%xmm0,%xmm0
+  DB  233,132,0,0,0                       ; jmpq          2952a <_sk_load_g8_hsw_lowp+0xeb>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  196,195,121,32,68,16,6,6            ; vpinsrb       $0x6,0x6(%r8,%rdx,1),%xmm0,%xmm0
+  DB  196,195,121,32,68,16,5,5            ; vpinsrb       $0x5,0x5(%r8,%rdx,1),%xmm0,%xmm0
+  DB  196,195,121,32,68,16,4,4            ; vpinsrb       $0x4,0x4(%r8,%rdx,1),%xmm0,%xmm0
+  DB  196,193,121,110,12,16               ; vmovd         (%r8,%rdx,1),%xmm1
+  DB  196,227,121,2,193,1                 ; vpblendd      $0x1,%xmm1,%xmm0,%xmm0
+  DB  235,90                              ; jmp           2952a <_sk_load_g8_hsw_lowp+0xeb>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  196,195,121,32,68,16,10,10          ; vpinsrb       $0xa,0xa(%r8,%rdx,1),%xmm0,%xmm0
+  DB  196,195,121,32,68,16,9,9            ; vpinsrb       $0x9,0x9(%r8,%rdx,1),%xmm0,%xmm0
+  DB  196,195,121,32,68,16,8,8            ; vpinsrb       $0x8,0x8(%r8,%rdx,1),%xmm0,%xmm0
+  DB  196,193,122,126,12,16               ; vmovq         (%r8,%rdx,1),%xmm1
+  DB  196,227,113,2,192,12                ; vpblendd      $0xc,%xmm0,%xmm1,%xmm0
+  DB  235,48                              ; jmp           2952a <_sk_load_g8_hsw_lowp+0xeb>
+  DB  197,249,239,192                     ; vpxor         %xmm0,%xmm0,%xmm0
+  DB  196,195,121,32,68,16,14,14          ; vpinsrb       $0xe,0xe(%r8,%rdx,1),%xmm0,%xmm0
+  DB  196,195,121,32,68,16,13,13          ; vpinsrb       $0xd,0xd(%r8,%rdx,1),%xmm0,%xmm0
+  DB  196,195,121,32,68,16,12,12          ; vpinsrb       $0xc,0xc(%r8,%rdx,1),%xmm0,%xmm0
+  DB  196,193,122,126,12,16               ; vmovq         (%r8,%rdx,1),%xmm1
+  DB  196,195,113,34,76,16,8,2            ; vpinsrd       $0x2,0x8(%r8,%rdx,1),%xmm1,%xmm1
+  DB  196,227,113,2,192,8                 ; vpblendd      $0x8,%xmm0,%xmm1,%xmm0
+  DB  196,226,125,48,192                  ; vpmovzxbw     %xmm0,%ymm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,121,29,10,190,0,0       ; vpbroadcastw  0xbe0a(%rip),%ymm3        # 35344 <_sk_srcover_bgra_8888_sse2_lowp+0xb2c>
+  DB  197,253,111,200                     ; vmovdqa       %ymm0,%ymm1
+  DB  197,253,111,208                     ; vmovdqa       %ymm0,%ymm2
+  DB  255,224                             ; jmpq          *%rax
+  DB  41,255                              ; sub           %edi,%edi
+  DB  255                                 ; (bad)
+  DB  255,78,255                          ; decl          -0x1(%rsi)
+  DB  255                                 ; (bad)
+  DB  255,66,255                          ; incl          -0x1(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  126,255                             ; jle           29551 <_sk_load_g8_hsw_lowp+0x112>
+  DB  255                                 ; (bad)
+  DB  255,118,255                         ; pushq         -0x1(%rsi)
+  DB  255                                 ; (bad)
+  DB  255,110,255                         ; ljmp          *-0x1(%rsi)
+  DB  255                                 ; (bad)
+  DB  255,98,255                          ; jmpq          *-0x1(%rdx)
+  DB  255                                 ; (bad)
+  DB  255,168,255,255,255,160             ; ljmp          *-0x5f000001(%rax)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,152,255,255,255,140             ; lcall         *-0x73000001(%rax)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,210                             ; callq         *%rdx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,202                             ; dec           %edx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,194                             ; inc           %edx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+  DB  182,255                             ; mov           $0xff,%dh
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_g8_dst_hsw_lowp
+_sk_load_g8_dst_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,15                               ; and           $0xf,%al
+  DB  254,200                             ; dec           %al
+  DB  60,14                               ; cmp           $0xe,%al
+  DB  119,37                              ; ja            295bc <_sk_load_g8_dst_hsw_lowp+0x3c>
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,227,0,0,0                 ; lea           0xe3(%rip),%r9        # 29688 <_sk_load_g8_dst_hsw_lowp+0x108>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,182,4,16                      ; movzbl        (%r8,%rdx,1),%eax
+  DB  197,249,110,224                     ; vmovd         %eax,%xmm4
+  DB  233,175,0,0,0                       ; jmpq          2966b <_sk_load_g8_dst_hsw_lowp+0xeb>
+  DB  196,193,122,111,36,16               ; vmovdqu       (%r8,%rdx,1),%xmm4
+  DB  233,164,0,0,0                       ; jmpq          2966b <_sk_load_g8_dst_hsw_lowp+0xeb>
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  196,195,89,32,100,16,2,2            ; vpinsrb       $0x2,0x2(%r8,%rdx,1),%xmm4,%xmm4
+  DB  65,15,183,4,16                      ; movzwl        (%r8,%rdx,1),%eax
+  DB  197,249,110,232                     ; vmovd         %eax,%xmm5
+  DB  196,227,89,14,229,1                 ; vpblendw      $0x1,%xmm5,%xmm4,%xmm4
+  DB  233,132,0,0,0                       ; jmpq          2966b <_sk_load_g8_dst_hsw_lowp+0xeb>
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  196,195,89,32,100,16,6,6            ; vpinsrb       $0x6,0x6(%r8,%rdx,1),%xmm4,%xmm4
+  DB  196,195,89,32,100,16,5,5            ; vpinsrb       $0x5,0x5(%r8,%rdx,1),%xmm4,%xmm4
+  DB  196,195,89,32,100,16,4,4            ; vpinsrb       $0x4,0x4(%r8,%rdx,1),%xmm4,%xmm4
+  DB  196,193,121,110,44,16               ; vmovd         (%r8,%rdx,1),%xmm5
+  DB  196,227,89,2,229,1                  ; vpblendd      $0x1,%xmm5,%xmm4,%xmm4
+  DB  235,90                              ; jmp           2966b <_sk_load_g8_dst_hsw_lowp+0xeb>
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  196,195,89,32,100,16,10,10          ; vpinsrb       $0xa,0xa(%r8,%rdx,1),%xmm4,%xmm4
+  DB  196,195,89,32,100,16,9,9            ; vpinsrb       $0x9,0x9(%r8,%rdx,1),%xmm4,%xmm4
+  DB  196,195,89,32,100,16,8,8            ; vpinsrb       $0x8,0x8(%r8,%rdx,1),%xmm4,%xmm4
+  DB  196,193,122,126,44,16               ; vmovq         (%r8,%rdx,1),%xmm5
+  DB  196,227,81,2,228,12                 ; vpblendd      $0xc,%xmm4,%xmm5,%xmm4
+  DB  235,48                              ; jmp           2966b <_sk_load_g8_dst_hsw_lowp+0xeb>
+  DB  197,217,239,228                     ; vpxor         %xmm4,%xmm4,%xmm4
+  DB  196,195,89,32,100,16,14,14          ; vpinsrb       $0xe,0xe(%r8,%rdx,1),%xmm4,%xmm4
+  DB  196,195,89,32,100,16,13,13          ; vpinsrb       $0xd,0xd(%r8,%rdx,1),%xmm4,%xmm4
+  DB  196,195,89,32,100,16,12,12          ; vpinsrb       $0xc,0xc(%r8,%rdx,1),%xmm4,%xmm4
+  DB  196,193,122,126,44,16               ; vmovq         (%r8,%rdx,1),%xmm5
+  DB  196,195,81,34,108,16,8,2            ; vpinsrd       $0x2,0x8(%r8,%rdx,1),%xmm5,%xmm5
+  DB  196,227,81,2,228,8                  ; vpblendd      $0x8,%xmm4,%xmm5,%xmm4
+  DB  196,226,125,48,228                  ; vpmovzxbw     %xmm4,%ymm4
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,121,61,203,188,0,0      ; vpbroadcastw  0xbccb(%rip),%ymm7        # 35346 <_sk_srcover_bgra_8888_sse2_lowp+0xb2e>
+  DB  197,253,111,236                     ; vmovdqa       %ymm4,%ymm5
+  DB  197,253,111,244                     ; vmovdqa       %ymm4,%ymm6
+  DB  255,224                             ; jmpq          *%rax
+  DB  15,31,0                             ; nopl          (%rax)
+  DB  38,255                              ; es            (bad)
+  DB  255                                 ; (bad)
+  DB  255,75,255                          ; decl          -0x1(%rbx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  63                                  ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  123,255                             ; jnp           29695 <_sk_load_g8_dst_hsw_lowp+0x115>
+  DB  255                                 ; (bad)
+  DB  255,115,255                         ; pushq         -0x1(%rbx)
+  DB  255                                 ; (bad)
+  DB  255,107,255                         ; ljmp          *-0x1(%rbx)
+  DB  255                                 ; (bad)
+  DB  255,95,255                          ; lcall         *-0x1(%rdi)
+  DB  255                                 ; (bad)
+  DB  255,165,255,255,255,157             ; jmpq          *-0x62000001(%rbp)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,149,255,255,255,137             ; callq         *-0x76000001(%rbp)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,207                             ; dec           %edi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,199                             ; inc           %edi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  191,255,255,255,179                 ; mov           $0xb3ffffff,%edi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_luminance_to_alpha_hsw_lowp
+_sk_luminance_to_alpha_hsw_lowp LABEL PROC
+  DB  196,226,125,121,29,123,188,0,0      ; vpbroadcastw  0xbc7b(%rip),%ymm3        # 35348 <_sk_srcover_bgra_8888_sse2_lowp+0xb30>
+  DB  197,253,213,195                     ; vpmullw       %ymm3,%ymm0,%ymm0
+  DB  196,226,125,121,29,112,188,0,0      ; vpbroadcastw  0xbc70(%rip),%ymm3        # 3534a <_sk_srcover_bgra_8888_sse2_lowp+0xb32>
+  DB  197,245,213,203                     ; vpmullw       %ymm3,%ymm1,%ymm1
+  DB  197,245,253,192                     ; vpaddw        %ymm0,%ymm1,%ymm0
+  DB  196,226,125,121,13,97,188,0,0       ; vpbroadcastw  0xbc61(%rip),%ymm1        # 3534c <_sk_srcover_bgra_8888_sse2_lowp+0xb34>
+  DB  197,237,213,201                     ; vpmullw       %ymm1,%ymm2,%ymm1
+  DB  197,253,253,193                     ; vpaddw        %ymm1,%ymm0,%ymm0
+  DB  197,229,113,208,8                   ; vpsrlw        $0x8,%ymm0,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,253,239,192                     ; vpxor         %ymm0,%ymm0,%ymm0
+  DB  197,245,239,201                     ; vpxor         %ymm1,%ymm1,%ymm1
+  DB  197,237,239,210                     ; vpxor         %ymm2,%ymm2,%ymm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_gather_g8_hsw_lowp
+_sk_gather_g8_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,98,125,88,64,12                 ; vpbroadcastd  0xc(%rax),%ymm8
+  DB  196,65,53,118,201                   ; vpcmpeqd      %ymm9,%ymm9,%ymm9
+  DB  196,65,61,254,193                   ; vpaddd        %ymm9,%ymm8,%ymm8
+  DB  196,65,44,87,210                    ; vxorps        %ymm10,%ymm10,%ymm10
+  DB  196,193,124,95,194                  ; vmaxps        %ymm10,%ymm0,%ymm0
+  DB  196,193,116,95,202                  ; vmaxps        %ymm10,%ymm1,%ymm1
+  DB  196,65,116,93,216                   ; vminps        %ymm8,%ymm1,%ymm11
+  DB  196,193,124,93,192                  ; vminps        %ymm8,%ymm0,%ymm0
+  DB  196,226,125,88,72,16                ; vpbroadcastd  0x10(%rax),%ymm1
+  DB  196,193,117,254,201                 ; vpaddd        %ymm9,%ymm1,%ymm1
+  DB  196,193,100,95,218                  ; vmaxps        %ymm10,%ymm3,%ymm3
+  DB  196,193,108,95,210                  ; vmaxps        %ymm10,%ymm2,%ymm2
+  DB  197,236,93,209                      ; vminps        %ymm1,%ymm2,%ymm2
+  DB  197,228,93,201                      ; vminps        %ymm1,%ymm3,%ymm1
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  197,254,91,201                      ; vcvttps2dq    %ymm1,%ymm1
+  DB  197,254,91,210                      ; vcvttps2dq    %ymm2,%ymm2
+  DB  196,226,125,88,88,8                 ; vpbroadcastd  0x8(%rax),%ymm3
+  DB  196,226,101,64,210                  ; vpmulld       %ymm2,%ymm3,%ymm2
+  DB  196,226,101,64,217                  ; vpmulld       %ymm1,%ymm3,%ymm3
+  DB  197,254,91,192                      ; vcvttps2dq    %ymm0,%ymm0
+  DB  197,237,254,200                     ; vpaddd        %ymm0,%ymm2,%ymm1
+  DB  196,193,126,91,195                  ; vcvttps2dq    %ymm11,%ymm0
+  DB  197,229,254,192                     ; vpaddd        %ymm0,%ymm3,%ymm0
+  DB  196,193,249,126,201                 ; vmovq         %xmm1,%r9
+  DB  68,137,200                          ; mov           %r9d,%eax
+  DB  65,15,182,4,0                       ; movzbl        (%r8,%rax,1),%eax
+  DB  197,249,110,208                     ; vmovd         %eax,%xmm2
+  DB  196,195,249,22,202,1                ; vpextrq       $0x1,%xmm1,%r10
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  67,15,182,4,8                       ; movzbl        (%r8,%r9,1),%eax
+  DB  196,227,105,32,208,1                ; vpinsrb       $0x1,%eax,%xmm2,%xmm2
+  DB  68,137,208                          ; mov           %r10d,%eax
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,227,125,57,201,1                ; vextracti128  $0x1,%ymm1,%xmm1
+  DB  65,15,182,4,0                       ; movzbl        (%r8,%rax,1),%eax
+  DB  196,227,105,32,208,2                ; vpinsrb       $0x2,%eax,%xmm2,%xmm2
+  DB  196,193,249,126,201                 ; vmovq         %xmm1,%r9
+  DB  67,15,182,4,16                      ; movzbl        (%r8,%r10,1),%eax
+  DB  196,227,105,32,208,3                ; vpinsrb       $0x3,%eax,%xmm2,%xmm2
+  DB  68,137,200                          ; mov           %r9d,%eax
+  DB  65,15,182,4,0                       ; movzbl        (%r8,%rax,1),%eax
+  DB  196,227,105,32,208,4                ; vpinsrb       $0x4,%eax,%xmm2,%xmm2
+  DB  196,195,249,22,202,1                ; vpextrq       $0x1,%xmm1,%r10
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  67,15,182,4,8                       ; movzbl        (%r8,%r9,1),%eax
+  DB  196,227,105,32,200,5                ; vpinsrb       $0x5,%eax,%xmm2,%xmm1
+  DB  68,137,208                          ; mov           %r10d,%eax
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  65,15,182,4,0                       ; movzbl        (%r8,%rax,1),%eax
+  DB  196,227,113,32,200,6                ; vpinsrb       $0x6,%eax,%xmm1,%xmm1
+  DB  196,193,249,126,193                 ; vmovq         %xmm0,%r9
+  DB  67,15,182,4,16                      ; movzbl        (%r8,%r10,1),%eax
+  DB  196,227,113,32,200,7                ; vpinsrb       $0x7,%eax,%xmm1,%xmm1
+  DB  68,137,200                          ; mov           %r9d,%eax
+  DB  65,15,182,4,0                       ; movzbl        (%r8,%rax,1),%eax
+  DB  196,227,113,32,200,8                ; vpinsrb       $0x8,%eax,%xmm1,%xmm1
+  DB  196,195,249,22,194,1                ; vpextrq       $0x1,%xmm0,%r10
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  67,15,182,4,8                       ; movzbl        (%r8,%r9,1),%eax
+  DB  196,227,113,32,200,9                ; vpinsrb       $0x9,%eax,%xmm1,%xmm1
+  DB  68,137,208                          ; mov           %r10d,%eax
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  196,227,125,57,192,1                ; vextracti128  $0x1,%ymm0,%xmm0
+  DB  65,15,182,4,0                       ; movzbl        (%r8,%rax,1),%eax
+  DB  196,227,113,32,200,10               ; vpinsrb       $0xa,%eax,%xmm1,%xmm1
+  DB  196,193,249,126,193                 ; vmovq         %xmm0,%r9
+  DB  67,15,182,4,16                      ; movzbl        (%r8,%r10,1),%eax
+  DB  196,227,113,32,200,11               ; vpinsrb       $0xb,%eax,%xmm1,%xmm1
+  DB  68,137,200                          ; mov           %r9d,%eax
+  DB  65,15,182,4,0                       ; movzbl        (%r8,%rax,1),%eax
+  DB  196,227,113,32,200,12               ; vpinsrb       $0xc,%eax,%xmm1,%xmm1
+  DB  196,195,249,22,194,1                ; vpextrq       $0x1,%xmm0,%r10
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  67,15,182,4,8                       ; movzbl        (%r8,%r9,1),%eax
+  DB  196,227,113,32,192,13               ; vpinsrb       $0xd,%eax,%xmm1,%xmm0
+  DB  68,137,208                          ; mov           %r10d,%eax
+  DB  65,15,182,4,0                       ; movzbl        (%r8,%rax,1),%eax
+  DB  196,227,121,32,192,14               ; vpinsrb       $0xe,%eax,%xmm0,%xmm0
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  67,15,182,4,16                      ; movzbl        (%r8,%r10,1),%eax
+  DB  196,227,121,32,192,15               ; vpinsrb       $0xf,%eax,%xmm0,%xmm0
+  DB  196,226,125,48,192                  ; vpmovzxbw     %xmm0,%ymm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,121,29,164,186,0,0      ; vpbroadcastw  0xbaa4(%rip),%ymm3        # 3534e <_sk_srcover_bgra_8888_sse2_lowp+0xb36>
+  DB  197,253,111,200                     ; vmovdqa       %ymm0,%ymm1
+  DB  197,253,111,208                     ; vmovdqa       %ymm0,%ymm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_scale_1_float_hsw_lowp
+_sk_scale_1_float_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,122,16,0                        ; vmovss        (%rax),%xmm8
+  DB  197,122,16,13,50,178,0,0            ; vmovss        0xb232(%rip),%xmm9        # 34af4 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  DB  196,98,57,169,13,249,177,0,0        ; vfmadd213ss   0xb1f9(%rip),%xmm8,%xmm9        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  196,193,122,44,193                  ; vcvttss2si    %xmm9,%eax
+  DB  197,121,110,192                     ; vmovd         %eax,%xmm8
+  DB  196,66,125,121,192                  ; vpbroadcastw  %xmm8,%ymm8
+  DB  197,189,213,192                     ; vpmullw       %ymm0,%ymm8,%ymm0
+  DB  196,98,125,121,13,106,186,0,0       ; vpbroadcastw  0xba6a(%rip),%ymm9        # 35350 <_sk_srcover_bgra_8888_sse2_lowp+0xb38>
+  DB  196,193,125,253,193                 ; vpaddw        %ymm9,%ymm0,%ymm0
+  DB  197,253,113,208,8                   ; vpsrlw        $0x8,%ymm0,%ymm0
+  DB  197,189,213,201                     ; vpmullw       %ymm1,%ymm8,%ymm1
+  DB  196,193,117,253,201                 ; vpaddw        %ymm9,%ymm1,%ymm1
+  DB  197,245,113,209,8                   ; vpsrlw        $0x8,%ymm1,%ymm1
+  DB  197,189,213,210                     ; vpmullw       %ymm2,%ymm8,%ymm2
+  DB  196,193,109,253,209                 ; vpaddw        %ymm9,%ymm2,%ymm2
+  DB  197,237,113,210,8                   ; vpsrlw        $0x8,%ymm2,%ymm2
+  DB  197,189,213,219                     ; vpmullw       %ymm3,%ymm8,%ymm3
+  DB  196,193,101,253,217                 ; vpaddw        %ymm9,%ymm3,%ymm3
+  DB  197,229,113,211,8                   ; vpsrlw        $0x8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_lerp_1_float_hsw_lowp
+_sk_lerp_1_float_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,122,16,0                        ; vmovss        (%rax),%xmm8
+  DB  197,122,16,13,200,177,0,0           ; vmovss        0xb1c8(%rip),%xmm9        # 34af4 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  DB  196,98,57,169,13,143,177,0,0        ; vfmadd213ss   0xb18f(%rip),%xmm8,%xmm9        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  196,193,122,44,193                  ; vcvttss2si    %xmm9,%eax
+  DB  197,121,110,192                     ; vmovd         %eax,%xmm8
+  DB  196,66,125,121,192                  ; vpbroadcastw  %xmm8,%ymm8
+  DB  196,98,125,121,13,6,186,0,0         ; vpbroadcastw  0xba06(%rip),%ymm9        # 35352 <_sk_srcover_bgra_8888_sse2_lowp+0xb3a>
+  DB  196,65,53,249,208                   ; vpsubw        %ymm8,%ymm9,%ymm10
+  DB  197,45,213,220                      ; vpmullw       %ymm4,%ymm10,%ymm11
+  DB  197,189,213,192                     ; vpmullw       %ymm0,%ymm8,%ymm0
+  DB  196,193,125,253,193                 ; vpaddw        %ymm9,%ymm0,%ymm0
+  DB  197,165,253,192                     ; vpaddw        %ymm0,%ymm11,%ymm0
+  DB  197,253,113,208,8                   ; vpsrlw        $0x8,%ymm0,%ymm0
+  DB  197,45,213,221                      ; vpmullw       %ymm5,%ymm10,%ymm11
+  DB  197,189,213,201                     ; vpmullw       %ymm1,%ymm8,%ymm1
+  DB  196,193,117,253,201                 ; vpaddw        %ymm9,%ymm1,%ymm1
+  DB  197,165,253,201                     ; vpaddw        %ymm1,%ymm11,%ymm1
+  DB  197,245,113,209,8                   ; vpsrlw        $0x8,%ymm1,%ymm1
+  DB  197,45,213,222                      ; vpmullw       %ymm6,%ymm10,%ymm11
+  DB  197,189,213,210                     ; vpmullw       %ymm2,%ymm8,%ymm2
+  DB  196,193,109,253,209                 ; vpaddw        %ymm9,%ymm2,%ymm2
+  DB  197,165,253,210                     ; vpaddw        %ymm2,%ymm11,%ymm2
+  DB  197,237,113,210,8                   ; vpsrlw        $0x8,%ymm2,%ymm2
+  DB  197,45,213,215                      ; vpmullw       %ymm7,%ymm10,%ymm10
+  DB  197,189,213,219                     ; vpmullw       %ymm3,%ymm8,%ymm3
+  DB  196,193,101,253,217                 ; vpaddw        %ymm9,%ymm3,%ymm3
+  DB  197,173,253,219                     ; vpaddw        %ymm3,%ymm10,%ymm3
+  DB  197,229,113,211,8                   ; vpsrlw        $0x8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_scale_u8_hsw_lowp
+_sk_scale_u8_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,15                               ; and           $0xf,%al
+  DB  254,200                             ; dec           %al
+  DB  60,14                               ; cmp           $0xe,%al
+  DB  119,38                              ; ja            299ea <_sk_scale_u8_hsw_lowp+0x3d>
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,21,1,0,0                  ; lea           0x115(%rip),%r9        # 29ae8 <_sk_scale_u8_hsw_lowp+0x13b>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,182,4,16                      ; movzbl        (%r8,%rdx,1),%eax
+  DB  197,121,110,192                     ; vmovd         %eax,%xmm8
+  DB  233,179,0,0,0                       ; jmpq          29a9d <_sk_scale_u8_hsw_lowp+0xf0>
+  DB  196,65,122,111,4,16                 ; vmovdqu       (%r8,%rdx,1),%xmm8
+  DB  233,168,0,0,0                       ; jmpq          29a9d <_sk_scale_u8_hsw_lowp+0xf0>
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  196,67,57,32,68,16,2,2              ; vpinsrb       $0x2,0x2(%r8,%rdx,1),%xmm8,%xmm8
+  DB  65,15,183,4,16                      ; movzwl        (%r8,%rdx,1),%eax
+  DB  197,121,110,200                     ; vmovd         %eax,%xmm9
+  DB  196,67,57,14,193,1                  ; vpblendw      $0x1,%xmm9,%xmm8,%xmm8
+  DB  233,135,0,0,0                       ; jmpq          29a9d <_sk_scale_u8_hsw_lowp+0xf0>
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  196,67,57,32,68,16,6,6              ; vpinsrb       $0x6,0x6(%r8,%rdx,1),%xmm8,%xmm8
+  DB  196,67,57,32,68,16,5,5              ; vpinsrb       $0x5,0x5(%r8,%rdx,1),%xmm8,%xmm8
+  DB  196,67,57,32,68,16,4,4              ; vpinsrb       $0x4,0x4(%r8,%rdx,1),%xmm8,%xmm8
+  DB  196,65,121,110,12,16                ; vmovd         (%r8,%rdx,1),%xmm9
+  DB  196,67,57,2,193,1                   ; vpblendd      $0x1,%xmm9,%xmm8,%xmm8
+  DB  235,92                              ; jmp           29a9d <_sk_scale_u8_hsw_lowp+0xf0>
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  196,67,57,32,68,16,10,10            ; vpinsrb       $0xa,0xa(%r8,%rdx,1),%xmm8,%xmm8
+  DB  196,67,57,32,68,16,9,9              ; vpinsrb       $0x9,0x9(%r8,%rdx,1),%xmm8,%xmm8
+  DB  196,67,57,32,68,16,8,8              ; vpinsrb       $0x8,0x8(%r8,%rdx,1),%xmm8,%xmm8
+  DB  196,65,122,126,12,16                ; vmovq         (%r8,%rdx,1),%xmm9
+  DB  196,67,49,2,192,12                  ; vpblendd      $0xc,%xmm8,%xmm9,%xmm8
+  DB  235,49                              ; jmp           29a9d <_sk_scale_u8_hsw_lowp+0xf0>
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  196,67,57,32,68,16,14,14            ; vpinsrb       $0xe,0xe(%r8,%rdx,1),%xmm8,%xmm8
+  DB  196,67,57,32,68,16,13,13            ; vpinsrb       $0xd,0xd(%r8,%rdx,1),%xmm8,%xmm8
+  DB  196,67,57,32,68,16,12,12            ; vpinsrb       $0xc,0xc(%r8,%rdx,1),%xmm8,%xmm8
+  DB  196,65,122,126,12,16                ; vmovq         (%r8,%rdx,1),%xmm9
+  DB  196,67,49,34,76,16,8,2              ; vpinsrd       $0x2,0x8(%r8,%rdx,1),%xmm9,%xmm9
+  DB  196,67,49,2,192,8                   ; vpblendd      $0x8,%xmm8,%xmm9,%xmm8
+  DB  196,66,125,48,192                   ; vpmovzxbw     %xmm8,%ymm8
+  DB  197,189,213,192                     ; vpmullw       %ymm0,%ymm8,%ymm0
+  DB  196,98,125,121,13,165,184,0,0       ; vpbroadcastw  0xb8a5(%rip),%ymm9        # 35354 <_sk_srcover_bgra_8888_sse2_lowp+0xb3c>
+  DB  196,193,125,253,193                 ; vpaddw        %ymm9,%ymm0,%ymm0
+  DB  197,253,113,208,8                   ; vpsrlw        $0x8,%ymm0,%ymm0
+  DB  197,189,213,201                     ; vpmullw       %ymm1,%ymm8,%ymm1
+  DB  196,193,117,253,201                 ; vpaddw        %ymm9,%ymm1,%ymm1
+  DB  197,245,113,209,8                   ; vpsrlw        $0x8,%ymm1,%ymm1
+  DB  197,189,213,210                     ; vpmullw       %ymm2,%ymm8,%ymm2
+  DB  196,193,109,253,209                 ; vpaddw        %ymm9,%ymm2,%ymm2
+  DB  197,237,113,210,8                   ; vpsrlw        $0x8,%ymm2,%ymm2
+  DB  197,189,213,219                     ; vpmullw       %ymm3,%ymm8,%ymm3
+  DB  196,193,101,253,217                 ; vpaddw        %ymm9,%ymm3,%ymm3
+  DB  197,229,113,211,8                   ; vpsrlw        $0x8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  144                                 ; nop
+  DB  244                                 ; hlt
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,26                              ; lcall         *(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,13,255,255,255,75               ; decl          0x4bffffff(%rip)        # 4c029af4 <_sk_srcover_bgra_8888_sse2_lowp+0x4bff52dc>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,67,255                          ; incl          -0x1(%rbx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  59,255                              ; cmp           %edi,%edi
+  DB  255                                 ; (bad)
+  DB  255,46                              ; ljmp          *(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,118,255                         ; pushq         -0x1(%rsi)
+  DB  255                                 ; (bad)
+  DB  255,110,255                         ; ljmp          *-0x1(%rsi)
+  DB  255                                 ; (bad)
+  DB  255,102,255                         ; jmpq          *-0x1(%rsi)
+  DB  255                                 ; (bad)
+  DB  255,89,255                          ; lcall         *-0x1(%rcx)
+  DB  255                                 ; (bad)
+  DB  255,161,255,255,255,153             ; jmpq          *-0x66000001(%rcx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,145,255,255,255,132             ; callq         *-0x7b000001(%rcx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_lerp_u8_hsw_lowp
+_sk_lerp_u8_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,15                               ; and           $0xf,%al
+  DB  254,200                             ; dec           %al
+  DB  60,14                               ; cmp           $0xe,%al
+  DB  119,38                              ; ja            29b61 <_sk_lerp_u8_hsw_lowp+0x3d>
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,58,1,0,0                  ; lea           0x13a(%rip),%r9        # 29c84 <_sk_lerp_u8_hsw_lowp+0x160>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,182,4,16                      ; movzbl        (%r8,%rdx,1),%eax
+  DB  197,121,110,192                     ; vmovd         %eax,%xmm8
+  DB  233,179,0,0,0                       ; jmpq          29c14 <_sk_lerp_u8_hsw_lowp+0xf0>
+  DB  196,65,122,111,4,16                 ; vmovdqu       (%r8,%rdx,1),%xmm8
+  DB  233,168,0,0,0                       ; jmpq          29c14 <_sk_lerp_u8_hsw_lowp+0xf0>
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  196,67,57,32,68,16,2,2              ; vpinsrb       $0x2,0x2(%r8,%rdx,1),%xmm8,%xmm8
+  DB  65,15,183,4,16                      ; movzwl        (%r8,%rdx,1),%eax
+  DB  197,121,110,200                     ; vmovd         %eax,%xmm9
+  DB  196,67,57,14,193,1                  ; vpblendw      $0x1,%xmm9,%xmm8,%xmm8
+  DB  233,135,0,0,0                       ; jmpq          29c14 <_sk_lerp_u8_hsw_lowp+0xf0>
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  196,67,57,32,68,16,6,6              ; vpinsrb       $0x6,0x6(%r8,%rdx,1),%xmm8,%xmm8
+  DB  196,67,57,32,68,16,5,5              ; vpinsrb       $0x5,0x5(%r8,%rdx,1),%xmm8,%xmm8
+  DB  196,67,57,32,68,16,4,4              ; vpinsrb       $0x4,0x4(%r8,%rdx,1),%xmm8,%xmm8
+  DB  196,65,121,110,12,16                ; vmovd         (%r8,%rdx,1),%xmm9
+  DB  196,67,57,2,193,1                   ; vpblendd      $0x1,%xmm9,%xmm8,%xmm8
+  DB  235,92                              ; jmp           29c14 <_sk_lerp_u8_hsw_lowp+0xf0>
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  196,67,57,32,68,16,10,10            ; vpinsrb       $0xa,0xa(%r8,%rdx,1),%xmm8,%xmm8
+  DB  196,67,57,32,68,16,9,9              ; vpinsrb       $0x9,0x9(%r8,%rdx,1),%xmm8,%xmm8
+  DB  196,67,57,32,68,16,8,8              ; vpinsrb       $0x8,0x8(%r8,%rdx,1),%xmm8,%xmm8
+  DB  196,65,122,126,12,16                ; vmovq         (%r8,%rdx,1),%xmm9
+  DB  196,67,49,2,192,12                  ; vpblendd      $0xc,%xmm8,%xmm9,%xmm8
+  DB  235,49                              ; jmp           29c14 <_sk_lerp_u8_hsw_lowp+0xf0>
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  196,67,57,32,68,16,14,14            ; vpinsrb       $0xe,0xe(%r8,%rdx,1),%xmm8,%xmm8
+  DB  196,67,57,32,68,16,13,13            ; vpinsrb       $0xd,0xd(%r8,%rdx,1),%xmm8,%xmm8
+  DB  196,67,57,32,68,16,12,12            ; vpinsrb       $0xc,0xc(%r8,%rdx,1),%xmm8,%xmm8
+  DB  196,65,122,126,12,16                ; vmovq         (%r8,%rdx,1),%xmm9
+  DB  196,67,49,34,76,16,8,2              ; vpinsrd       $0x2,0x8(%r8,%rdx,1),%xmm9,%xmm9
+  DB  196,67,49,2,192,8                   ; vpblendd      $0x8,%xmm8,%xmm9,%xmm8
+  DB  196,66,125,48,192                   ; vpmovzxbw     %xmm8,%ymm8
+  DB  196,98,125,121,13,52,183,0,0        ; vpbroadcastw  0xb734(%rip),%ymm9        # 35356 <_sk_srcover_bgra_8888_sse2_lowp+0xb3e>
+  DB  196,65,61,239,209                   ; vpxor         %ymm9,%ymm8,%ymm10
+  DB  197,45,213,220                      ; vpmullw       %ymm4,%ymm10,%ymm11
+  DB  197,189,213,192                     ; vpmullw       %ymm0,%ymm8,%ymm0
+  DB  196,193,125,253,193                 ; vpaddw        %ymm9,%ymm0,%ymm0
+  DB  197,165,253,192                     ; vpaddw        %ymm0,%ymm11,%ymm0
+  DB  197,253,113,208,8                   ; vpsrlw        $0x8,%ymm0,%ymm0
+  DB  197,45,213,221                      ; vpmullw       %ymm5,%ymm10,%ymm11
+  DB  197,189,213,201                     ; vpmullw       %ymm1,%ymm8,%ymm1
+  DB  196,193,117,253,201                 ; vpaddw        %ymm9,%ymm1,%ymm1
+  DB  197,165,253,201                     ; vpaddw        %ymm1,%ymm11,%ymm1
+  DB  197,245,113,209,8                   ; vpsrlw        $0x8,%ymm1,%ymm1
+  DB  197,45,213,222                      ; vpmullw       %ymm6,%ymm10,%ymm11
+  DB  197,189,213,210                     ; vpmullw       %ymm2,%ymm8,%ymm2
+  DB  196,193,109,253,209                 ; vpaddw        %ymm9,%ymm2,%ymm2
+  DB  197,165,253,210                     ; vpaddw        %ymm2,%ymm11,%ymm2
+  DB  197,237,113,210,8                   ; vpsrlw        $0x8,%ymm2,%ymm2
+  DB  197,45,213,215                      ; vpmullw       %ymm7,%ymm10,%ymm10
+  DB  197,189,213,219                     ; vpmullw       %ymm3,%ymm8,%ymm3
+  DB  196,193,101,253,217                 ; vpaddw        %ymm9,%ymm3,%ymm3
+  DB  197,173,253,219                     ; vpaddw        %ymm3,%ymm10,%ymm3
+  DB  197,229,113,211,8                   ; vpsrlw        $0x8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  144                                 ; nop
+  DB  207                                 ; iret
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,245                             ; push          %rbp
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  232,254,255,255,38                  ; callq         27029c8f <_sk_srcover_bgra_8888_sse2_lowp+0x26ff5477>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,30                              ; lcall         *(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,22                              ; callq         *(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,9                               ; decl          (%rcx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,81,255                          ; callq         *-0x1(%rcx)
+  DB  255                                 ; (bad)
+  DB  255,73,255                          ; decl          -0x1(%rcx)
+  DB  255                                 ; (bad)
+  DB  255,65,255                          ; incl          -0x1(%rcx)
+  DB  255                                 ; (bad)
+  DB  255,52,255                          ; pushq         (%rdi,%rdi,8)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  124,255                             ; jl            29cb1 <_sk_lerp_u8_hsw_lowp+0x18d>
+  DB  255                                 ; (bad)
+  DB  255,116,255,255                     ; pushq         -0x1(%rdi,%rdi,8)
+  DB  255,108,255,255                     ; ljmp          *-0x1(%rdi,%rdi,8)
+  DB  255,95,255                          ; lcall         *-0x1(%rdi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_scale_565_hsw_lowp
+_sk_scale_565_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,15                               ; and           $0xf,%al
+  DB  254,200                             ; dec           %al
+  DB  60,14                               ; cmp           $0xe,%al
+  DB  119,38                              ; ja            29d00 <_sk_scale_565_hsw_lowp+0x40>
+  DB  196,65,61,239,192                   ; vpxor         %ymm8,%ymm8,%ymm8
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,255,1,0,0                 ; lea           0x1ff(%rip),%r9        # 29ee8 <_sk_scale_565_hsw_lowp+0x228>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,183,4,80                      ; movzwl        (%r8,%rdx,2),%eax
+  DB  197,121,110,192                     ; vmovd         %eax,%xmm8
+  DB  233,12,1,0,0                        ; jmpq          29e0c <_sk_scale_565_hsw_lowp+0x14c>
+  DB  196,65,126,111,4,80                 ; vmovdqu       (%r8,%rdx,2),%ymm8
+  DB  233,1,1,0,0                         ; jmpq          29e0c <_sk_scale_565_hsw_lowp+0x14c>
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  196,65,57,196,76,80,4,2             ; vpinsrw       $0x2,0x4(%r8,%rdx,2),%xmm8,%xmm9
+  DB  196,67,53,56,192,1                  ; vinserti128   $0x1,%xmm8,%ymm9,%ymm8
+  DB  196,65,121,110,12,80                ; vmovd         (%r8,%rdx,2),%xmm9
+  DB  196,67,61,2,193,1                   ; vpblendd      $0x1,%ymm9,%ymm8,%ymm8
+  DB  233,221,0,0,0                       ; jmpq          29e0c <_sk_scale_565_hsw_lowp+0x14c>
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  196,65,57,196,76,80,12,6            ; vpinsrw       $0x6,0xc(%r8,%rdx,2),%xmm8,%xmm9
+  DB  196,67,53,56,192,1                  ; vinserti128   $0x1,%xmm8,%ymm9,%ymm8
+  DB  196,65,57,196,76,80,10,5            ; vpinsrw       $0x5,0xa(%r8,%rdx,2),%xmm8,%xmm9
+  DB  196,67,61,2,193,15                  ; vpblendd      $0xf,%ymm9,%ymm8,%ymm8
+  DB  196,65,57,196,76,80,8,4             ; vpinsrw       $0x4,0x8(%r8,%rdx,2),%xmm8,%xmm9
+  DB  196,67,61,2,193,15                  ; vpblendd      $0xf,%ymm9,%ymm8,%ymm8
+  DB  196,65,122,126,12,80                ; vmovq         (%r8,%rdx,2),%xmm9
+  DB  196,67,61,2,193,3                   ; vpblendd      $0x3,%ymm9,%ymm8,%ymm8
+  DB  233,157,0,0,0                       ; jmpq          29e0c <_sk_scale_565_hsw_lowp+0x14c>
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  196,65,57,196,76,80,20,2            ; vpinsrw       $0x2,0x14(%r8,%rdx,2),%xmm8,%xmm9
+  DB  196,67,61,56,193,1                  ; vinserti128   $0x1,%xmm9,%ymm8,%ymm8
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,65,49,196,76,80,18,1            ; vpinsrw       $0x1,0x12(%r8,%rdx,2),%xmm9,%xmm9
+  DB  196,67,61,56,193,1                  ; vinserti128   $0x1,%xmm9,%ymm8,%ymm8
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,65,49,196,76,80,16,0            ; vpinsrw       $0x0,0x10(%r8,%rdx,2),%xmm9,%xmm9
+  DB  196,67,61,56,193,1                  ; vinserti128   $0x1,%xmm9,%ymm8,%ymm8
+  DB  196,65,122,111,12,80                ; vmovdqu       (%r8,%rdx,2),%xmm9
+  DB  196,67,53,2,192,240                 ; vpblendd      $0xf0,%ymm8,%ymm9,%ymm8
+  DB  235,84                              ; jmp           29e0c <_sk_scale_565_hsw_lowp+0x14c>
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  196,65,57,196,76,80,28,6            ; vpinsrw       $0x6,0x1c(%r8,%rdx,2),%xmm8,%xmm9
+  DB  196,67,61,56,193,1                  ; vinserti128   $0x1,%xmm9,%ymm8,%ymm8
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,65,49,196,76,80,26,5            ; vpinsrw       $0x5,0x1a(%r8,%rdx,2),%xmm9,%xmm9
+  DB  196,67,61,56,193,1                  ; vinserti128   $0x1,%xmm9,%ymm8,%ymm8
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,65,49,196,76,80,24,4            ; vpinsrw       $0x4,0x18(%r8,%rdx,2),%xmm9,%xmm9
+  DB  196,67,61,56,193,1                  ; vinserti128   $0x1,%xmm9,%ymm8,%ymm8
+  DB  196,65,122,126,76,80,16             ; vmovq         0x10(%r8,%rdx,2),%xmm9
+  DB  196,65,122,111,20,80                ; vmovdqu       (%r8,%rdx,2),%xmm10
+  DB  196,67,45,56,201,1                  ; vinserti128   $0x1,%xmm9,%ymm10,%ymm9
+  DB  196,67,53,2,192,192                 ; vpblendd      $0xc0,%ymm8,%ymm9,%ymm8
+  DB  196,98,125,121,13,67,181,0,0        ; vpbroadcastw  0xb543(%rip),%ymm9        # 35358 <_sk_srcover_bgra_8888_sse2_lowp+0xb40>
+  DB  196,193,45,113,208,8                ; vpsrlw        $0x8,%ymm8,%ymm10
+  DB  196,65,45,219,201                   ; vpand         %ymm9,%ymm10,%ymm9
+  DB  196,193,45,113,208,5                ; vpsrlw        $0x5,%ymm8,%ymm10
+  DB  196,98,125,121,29,43,181,0,0        ; vpbroadcastw  0xb52b(%rip),%ymm11        # 3535a <_sk_srcover_bgra_8888_sse2_lowp+0xb42>
+  DB  196,65,45,219,211                   ; vpand         %ymm11,%ymm10,%ymm10
+  DB  196,98,125,121,29,31,181,0,0        ; vpbroadcastw  0xb51f(%rip),%ymm11        # 3535c <_sk_srcover_bgra_8888_sse2_lowp+0xb44>
+  DB  196,65,61,219,219                   ; vpand         %ymm11,%ymm8,%ymm11
+  DB  196,193,61,113,208,13               ; vpsrlw        $0xd,%ymm8,%ymm8
+  DB  196,65,53,235,192                   ; vpor          %ymm8,%ymm9,%ymm8
+  DB  196,193,53,113,242,2                ; vpsllw        $0x2,%ymm10,%ymm9
+  DB  196,193,45,113,210,4                ; vpsrlw        $0x4,%ymm10,%ymm10
+  DB  196,65,53,235,202                   ; vpor          %ymm10,%ymm9,%ymm9
+  DB  196,193,45,113,243,3                ; vpsllw        $0x3,%ymm11,%ymm10
+  DB  196,193,37,113,211,2                ; vpsrlw        $0x2,%ymm11,%ymm11
+  DB  196,65,45,235,211                   ; vpor          %ymm11,%ymm10,%ymm10
+  DB  196,98,125,121,29,230,180,0,0       ; vpbroadcastw  0xb4e6(%rip),%ymm11        # 3535e <_sk_srcover_bgra_8888_sse2_lowp+0xb46>
+  DB  196,65,101,239,227                  ; vpxor         %ymm11,%ymm3,%ymm12
+  DB  196,65,69,239,219                   ; vpxor         %ymm11,%ymm7,%ymm11
+  DB  196,65,37,101,220                   ; vpcmpgtw      %ymm12,%ymm11,%ymm11
+  DB  196,66,53,58,226                    ; vpminuw       %ymm10,%ymm9,%ymm12
+  DB  196,66,29,58,224                    ; vpminuw       %ymm8,%ymm12,%ymm12
+  DB  196,66,53,62,234                    ; vpmaxuw       %ymm10,%ymm9,%ymm13
+  DB  196,66,21,62,232                    ; vpmaxuw       %ymm8,%ymm13,%ymm13
+  DB  196,67,21,76,220,176                ; vpblendvb     %ymm11,%ymm12,%ymm13,%ymm11
+  DB  197,189,213,192                     ; vpmullw       %ymm0,%ymm8,%ymm0
+  DB  196,98,125,121,5,178,180,0,0        ; vpbroadcastw  0xb4b2(%rip),%ymm8        # 35360 <_sk_srcover_bgra_8888_sse2_lowp+0xb48>
+  DB  196,193,125,253,192                 ; vpaddw        %ymm8,%ymm0,%ymm0
+  DB  197,253,113,208,8                   ; vpsrlw        $0x8,%ymm0,%ymm0
+  DB  197,181,213,201                     ; vpmullw       %ymm1,%ymm9,%ymm1
+  DB  196,193,117,253,200                 ; vpaddw        %ymm8,%ymm1,%ymm1
+  DB  197,245,113,209,8                   ; vpsrlw        $0x8,%ymm1,%ymm1
+  DB  197,173,213,210                     ; vpmullw       %ymm2,%ymm10,%ymm2
+  DB  196,193,109,253,208                 ; vpaddw        %ymm8,%ymm2,%ymm2
+  DB  197,237,113,210,8                   ; vpsrlw        $0x8,%ymm2,%ymm2
+  DB  197,165,213,219                     ; vpmullw       %ymm3,%ymm11,%ymm3
+  DB  196,193,101,253,216                 ; vpaddw        %ymm8,%ymm3,%ymm3
+  DB  197,229,113,211,8                   ; vpsrlw        $0x8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  10,254                              ; or            %dh,%bh
+  DB  255                                 ; (bad)
+  DB  255,54                              ; pushq         (%rsi)
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,35                              ; jmpq          *(%rbx)
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,118,254                         ; pushq         -0x2(%rsi)
+  DB  255                                 ; (bad)
+  DB  255,104,254                         ; ljmp          *-0x2(%rax)
+  DB  255                                 ; (bad)
+  DB  255,90,254                          ; lcall         *-0x2(%rdx)
+  DB  255                                 ; (bad)
+  DB  255,71,254                          ; incl          -0x2(%rdi)
+  DB  255                                 ; (bad)
+  DB  255,194                             ; inc           %edx
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,174,254,255,255,154             ; ljmp          *-0x65000002(%rsi)
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,135,254,255,255,11              ; incl          0xbfffffe(%rdi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,247                             ; push          %rdi
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,227                             ; jmpq          *%rbx
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,208                             ; callq         *%rax
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_lerp_565_hsw_lowp
+_sk_lerp_565_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,15                               ; and           $0xf,%al
+  DB  254,200                             ; dec           %al
+  DB  60,14                               ; cmp           $0xe,%al
+  DB  119,38                              ; ja            29f64 <_sk_lerp_565_hsw_lowp+0x40>
+  DB  196,65,61,239,192                   ; vpxor         %ymm8,%ymm8,%ymm8
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,51,2,0,0                  ; lea           0x233(%rip),%r9        # 2a180 <_sk_lerp_565_hsw_lowp+0x25c>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,183,4,80                      ; movzwl        (%r8,%rdx,2),%eax
+  DB  197,121,110,192                     ; vmovd         %eax,%xmm8
+  DB  233,12,1,0,0                        ; jmpq          2a070 <_sk_lerp_565_hsw_lowp+0x14c>
+  DB  196,65,126,111,4,80                 ; vmovdqu       (%r8,%rdx,2),%ymm8
+  DB  233,1,1,0,0                         ; jmpq          2a070 <_sk_lerp_565_hsw_lowp+0x14c>
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  196,65,57,196,76,80,4,2             ; vpinsrw       $0x2,0x4(%r8,%rdx,2),%xmm8,%xmm9
+  DB  196,67,53,56,192,1                  ; vinserti128   $0x1,%xmm8,%ymm9,%ymm8
+  DB  196,65,121,110,12,80                ; vmovd         (%r8,%rdx,2),%xmm9
+  DB  196,67,61,2,193,1                   ; vpblendd      $0x1,%ymm9,%ymm8,%ymm8
+  DB  233,221,0,0,0                       ; jmpq          2a070 <_sk_lerp_565_hsw_lowp+0x14c>
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  196,65,57,196,76,80,12,6            ; vpinsrw       $0x6,0xc(%r8,%rdx,2),%xmm8,%xmm9
+  DB  196,67,53,56,192,1                  ; vinserti128   $0x1,%xmm8,%ymm9,%ymm8
+  DB  196,65,57,196,76,80,10,5            ; vpinsrw       $0x5,0xa(%r8,%rdx,2),%xmm8,%xmm9
+  DB  196,67,61,2,193,15                  ; vpblendd      $0xf,%ymm9,%ymm8,%ymm8
+  DB  196,65,57,196,76,80,8,4             ; vpinsrw       $0x4,0x8(%r8,%rdx,2),%xmm8,%xmm9
+  DB  196,67,61,2,193,15                  ; vpblendd      $0xf,%ymm9,%ymm8,%ymm8
+  DB  196,65,122,126,12,80                ; vmovq         (%r8,%rdx,2),%xmm9
+  DB  196,67,61,2,193,3                   ; vpblendd      $0x3,%ymm9,%ymm8,%ymm8
+  DB  233,157,0,0,0                       ; jmpq          2a070 <_sk_lerp_565_hsw_lowp+0x14c>
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  196,65,57,196,76,80,20,2            ; vpinsrw       $0x2,0x14(%r8,%rdx,2),%xmm8,%xmm9
+  DB  196,67,61,56,193,1                  ; vinserti128   $0x1,%xmm9,%ymm8,%ymm8
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,65,49,196,76,80,18,1            ; vpinsrw       $0x1,0x12(%r8,%rdx,2),%xmm9,%xmm9
+  DB  196,67,61,56,193,1                  ; vinserti128   $0x1,%xmm9,%ymm8,%ymm8
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,65,49,196,76,80,16,0            ; vpinsrw       $0x0,0x10(%r8,%rdx,2),%xmm9,%xmm9
+  DB  196,67,61,56,193,1                  ; vinserti128   $0x1,%xmm9,%ymm8,%ymm8
+  DB  196,65,122,111,12,80                ; vmovdqu       (%r8,%rdx,2),%xmm9
+  DB  196,67,53,2,192,240                 ; vpblendd      $0xf0,%ymm8,%ymm9,%ymm8
+  DB  235,84                              ; jmp           2a070 <_sk_lerp_565_hsw_lowp+0x14c>
+  DB  196,65,57,239,192                   ; vpxor         %xmm8,%xmm8,%xmm8
+  DB  196,65,57,196,76,80,28,6            ; vpinsrw       $0x6,0x1c(%r8,%rdx,2),%xmm8,%xmm9
+  DB  196,67,61,56,193,1                  ; vinserti128   $0x1,%xmm9,%ymm8,%ymm8
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,65,49,196,76,80,26,5            ; vpinsrw       $0x5,0x1a(%r8,%rdx,2),%xmm9,%xmm9
+  DB  196,67,61,56,193,1                  ; vinserti128   $0x1,%xmm9,%ymm8,%ymm8
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,65,49,196,76,80,24,4            ; vpinsrw       $0x4,0x18(%r8,%rdx,2),%xmm9,%xmm9
+  DB  196,67,61,56,193,1                  ; vinserti128   $0x1,%xmm9,%ymm8,%ymm8
+  DB  196,65,122,126,76,80,16             ; vmovq         0x10(%r8,%rdx,2),%xmm9
+  DB  196,65,122,111,20,80                ; vmovdqu       (%r8,%rdx,2),%xmm10
+  DB  196,67,45,56,201,1                  ; vinserti128   $0x1,%xmm9,%ymm10,%ymm9
+  DB  196,67,53,2,192,192                 ; vpblendd      $0xc0,%ymm8,%ymm9,%ymm8
+  DB  196,98,125,121,13,233,178,0,0       ; vpbroadcastw  0xb2e9(%rip),%ymm9        # 35362 <_sk_srcover_bgra_8888_sse2_lowp+0xb4a>
+  DB  196,193,45,113,208,8                ; vpsrlw        $0x8,%ymm8,%ymm10
+  DB  196,65,45,219,201                   ; vpand         %ymm9,%ymm10,%ymm9
+  DB  196,193,45,113,208,5                ; vpsrlw        $0x5,%ymm8,%ymm10
+  DB  196,98,125,121,29,209,178,0,0       ; vpbroadcastw  0xb2d1(%rip),%ymm11        # 35364 <_sk_srcover_bgra_8888_sse2_lowp+0xb4c>
+  DB  196,65,45,219,211                   ; vpand         %ymm11,%ymm10,%ymm10
+  DB  196,98,125,121,29,197,178,0,0       ; vpbroadcastw  0xb2c5(%rip),%ymm11        # 35366 <_sk_srcover_bgra_8888_sse2_lowp+0xb4e>
+  DB  196,65,61,219,219                   ; vpand         %ymm11,%ymm8,%ymm11
+  DB  196,193,61,113,208,13               ; vpsrlw        $0xd,%ymm8,%ymm8
+  DB  196,65,53,235,192                   ; vpor          %ymm8,%ymm9,%ymm8
+  DB  196,193,53,113,242,2                ; vpsllw        $0x2,%ymm10,%ymm9
+  DB  196,193,45,113,210,4                ; vpsrlw        $0x4,%ymm10,%ymm10
+  DB  196,65,53,235,202                   ; vpor          %ymm10,%ymm9,%ymm9
+  DB  196,193,45,113,243,3                ; vpsllw        $0x3,%ymm11,%ymm10
+  DB  196,193,37,113,211,2                ; vpsrlw        $0x2,%ymm11,%ymm11
+  DB  196,65,45,235,211                   ; vpor          %ymm11,%ymm10,%ymm10
+  DB  196,98,125,121,29,140,178,0,0       ; vpbroadcastw  0xb28c(%rip),%ymm11        # 35368 <_sk_srcover_bgra_8888_sse2_lowp+0xb50>
+  DB  196,65,101,239,227                  ; vpxor         %ymm11,%ymm3,%ymm12
+  DB  196,65,69,239,219                   ; vpxor         %ymm11,%ymm7,%ymm11
+  DB  196,65,37,101,220                   ; vpcmpgtw      %ymm12,%ymm11,%ymm11
+  DB  196,66,53,58,226                    ; vpminuw       %ymm10,%ymm9,%ymm12
+  DB  196,66,29,58,224                    ; vpminuw       %ymm8,%ymm12,%ymm12
+  DB  196,66,53,62,234                    ; vpmaxuw       %ymm10,%ymm9,%ymm13
+  DB  196,66,21,62,232                    ; vpmaxuw       %ymm8,%ymm13,%ymm13
+  DB  196,67,21,76,220,176                ; vpblendvb     %ymm11,%ymm12,%ymm13,%ymm11
+  DB  196,98,125,121,37,92,178,0,0        ; vpbroadcastw  0xb25c(%rip),%ymm12        # 3536a <_sk_srcover_bgra_8888_sse2_lowp+0xb52>
+  DB  196,65,61,239,236                   ; vpxor         %ymm12,%ymm8,%ymm13
+  DB  197,21,213,236                      ; vpmullw       %ymm4,%ymm13,%ymm13
+  DB  197,189,213,192                     ; vpmullw       %ymm0,%ymm8,%ymm0
+  DB  196,193,125,253,196                 ; vpaddw        %ymm12,%ymm0,%ymm0
+  DB  197,149,253,192                     ; vpaddw        %ymm0,%ymm13,%ymm0
+  DB  197,253,113,208,8                   ; vpsrlw        $0x8,%ymm0,%ymm0
+  DB  196,65,53,239,196                   ; vpxor         %ymm12,%ymm9,%ymm8
+  DB  197,61,213,197                      ; vpmullw       %ymm5,%ymm8,%ymm8
+  DB  197,181,213,201                     ; vpmullw       %ymm1,%ymm9,%ymm1
+  DB  196,193,117,253,204                 ; vpaddw        %ymm12,%ymm1,%ymm1
+  DB  197,189,253,201                     ; vpaddw        %ymm1,%ymm8,%ymm1
+  DB  197,245,113,209,8                   ; vpsrlw        $0x8,%ymm1,%ymm1
+  DB  196,65,45,239,196                   ; vpxor         %ymm12,%ymm10,%ymm8
+  DB  197,61,213,198                      ; vpmullw       %ymm6,%ymm8,%ymm8
+  DB  197,173,213,210                     ; vpmullw       %ymm2,%ymm10,%ymm2
+  DB  196,193,109,253,212                 ; vpaddw        %ymm12,%ymm2,%ymm2
+  DB  197,189,253,210                     ; vpaddw        %ymm2,%ymm8,%ymm2
+  DB  197,237,113,210,8                   ; vpsrlw        $0x8,%ymm2,%ymm2
+  DB  196,65,37,239,196                   ; vpxor         %ymm12,%ymm11,%ymm8
+  DB  197,61,213,199                      ; vpmullw       %ymm7,%ymm8,%ymm8
+  DB  197,165,213,219                     ; vpmullw       %ymm3,%ymm11,%ymm3
+  DB  196,193,101,253,220                 ; vpaddw        %ymm12,%ymm3,%ymm3
+  DB  197,189,253,219                     ; vpaddw        %ymm3,%ymm8,%ymm3
+  DB  197,229,113,211,8                   ; vpsrlw        $0x8,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  214                                 ; (bad)
+  DB  253                                 ; std
+  DB  255                                 ; (bad)
+  DB  255,2                               ; incl          (%rdx)
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  239                                 ; out           %eax,(%dx)
+  DB  253                                 ; std
+  DB  255                                 ; (bad)
+  DB  255,66,254                          ; incl          -0x2(%rdx)
+  DB  255                                 ; (bad)
+  DB  255,52,254                          ; pushq         (%rsi,%rdi,8)
+  DB  255                                 ; (bad)
+  DB  255,38                              ; jmpq          *(%rsi)
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,19                              ; callq         *(%rbx)
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,142,254,255,255,122             ; decl          0x7afffffe(%rsi)
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,102,254                         ; jmpq          *-0x2(%rsi)
+  DB  255                                 ; (bad)
+  DB  255,83,254                          ; callq         *-0x2(%rbx)
+  DB  255                                 ; (bad)
+  DB  255,215                             ; callq         *%rdi
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,195                             ; inc           %ebx
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,175,254,255,255,156             ; ljmp          *-0x63000002(%rdi)
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_clamp_x_1_hsw_lowp
+_sk_clamp_x_1_hsw_lowp LABEL PROC
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  196,193,116,95,200                  ; vmaxps        %ymm8,%ymm1,%ymm1
+  DB  196,193,124,95,192                  ; vmaxps        %ymm8,%ymm0,%ymm0
+  DB  196,98,125,24,5,244,168,0,0         ; vbroadcastss  0xa8f4(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,193,124,93,192                  ; vminps        %ymm8,%ymm0,%ymm0
+  DB  196,193,116,93,200                  ; vminps        %ymm8,%ymm1,%ymm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_repeat_x_1_hsw_lowp
+_sk_repeat_x_1_hsw_lowp LABEL PROC
+  DB  196,99,125,8,192,1                  ; vroundps      $0x1,%ymm0,%ymm8
+  DB  196,99,125,8,201,1                  ; vroundps      $0x1,%ymm1,%ymm9
+  DB  196,193,124,92,192                  ; vsubps        %ymm8,%ymm0,%ymm0
+  DB  196,193,116,92,201                  ; vsubps        %ymm9,%ymm1,%ymm1
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  196,193,116,95,200                  ; vmaxps        %ymm8,%ymm1,%ymm1
+  DB  196,193,124,95,192                  ; vmaxps        %ymm8,%ymm0,%ymm0
+  DB  196,98,125,24,5,184,168,0,0         ; vbroadcastss  0xa8b8(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,193,124,93,192                  ; vminps        %ymm8,%ymm0,%ymm0
+  DB  196,193,116,93,200                  ; vminps        %ymm8,%ymm1,%ymm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_mirror_x_1_hsw_lowp
+_sk_mirror_x_1_hsw_lowp LABEL PROC
+  DB  196,98,125,24,5,185,168,0,0         ; vbroadcastss  0xa8b9(%rip),%ymm8        # 34ae0 <_sk_srcover_bgra_8888_sse2_lowp+0x2c8>
+  DB  196,193,124,88,192                  ; vaddps        %ymm8,%ymm0,%ymm0
+  DB  196,193,116,88,200                  ; vaddps        %ymm8,%ymm1,%ymm1
+  DB  196,98,125,24,13,138,168,0,0        ; vbroadcastss  0xa88a(%rip),%ymm9        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  196,65,116,89,209                   ; vmulps        %ymm9,%ymm1,%ymm10
+  DB  196,65,124,89,201                   ; vmulps        %ymm9,%ymm0,%ymm9
+  DB  196,67,125,8,201,1                  ; vroundps      $0x1,%ymm9,%ymm9
+  DB  196,67,125,8,210,1                  ; vroundps      $0x1,%ymm10,%ymm10
+  DB  196,65,44,88,210                    ; vaddps        %ymm10,%ymm10,%ymm10
+  DB  196,65,52,88,201                    ; vaddps        %ymm9,%ymm9,%ymm9
+  DB  196,193,124,92,193                  ; vsubps        %ymm9,%ymm0,%ymm0
+  DB  196,193,116,92,202                  ; vsubps        %ymm10,%ymm1,%ymm1
+  DB  196,193,116,88,200                  ; vaddps        %ymm8,%ymm1,%ymm1
+  DB  196,193,124,88,192                  ; vaddps        %ymm8,%ymm0,%ymm0
+  DB  196,98,125,24,5,229,169,0,0         ; vbroadcastss  0xa9e5(%rip),%ymm8        # 34c5c <_sk_srcover_bgra_8888_sse2_lowp+0x444>
+  DB  196,193,124,84,192                  ; vandps        %ymm8,%ymm0,%ymm0
+  DB  196,193,116,84,200                  ; vandps        %ymm8,%ymm1,%ymm1
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  196,193,116,95,200                  ; vmaxps        %ymm8,%ymm1,%ymm1
+  DB  196,193,124,95,192                  ; vmaxps        %ymm8,%ymm0,%ymm0
+  DB  196,98,125,24,5,47,168,0,0          ; vbroadcastss  0xa82f(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  196,193,124,93,192                  ; vminps        %ymm8,%ymm0,%ymm0
+  DB  196,193,116,93,200                  ; vminps        %ymm8,%ymm1,%ymm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_decal_x_hsw_lowp
+_sk_decal_x_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,60,194,201,2                    ; vcmpleps      %ymm1,%ymm8,%ymm9
+  DB  196,67,125,25,202,1                 ; vextractf128  $0x1,%ymm9,%xmm10
+  DB  196,65,49,99,202                    ; vpacksswb     %xmm10,%xmm9,%xmm9
+  DB  197,121,111,21,250,184,0,0          ; vmovdqa       0xb8fa(%rip),%xmm10        # 35bc0 <_sk_srcover_bgra_8888_sse2_lowp+0x13a8>
+  DB  196,66,49,0,202                     ; vpshufb       %xmm10,%xmm9,%xmm9
+  DB  197,60,194,192,2                    ; vcmpleps      %ymm0,%ymm8,%ymm8
+  DB  196,67,125,25,195,1                 ; vextractf128  $0x1,%ymm8,%xmm11
+  DB  196,65,57,99,195                    ; vpacksswb     %xmm11,%xmm8,%xmm8
+  DB  196,66,57,0,194                     ; vpshufb       %xmm10,%xmm8,%xmm8
+  DB  196,65,57,108,193                   ; vpunpcklqdq   %xmm9,%xmm8,%xmm8
+  DB  196,98,125,24,72,64                 ; vbroadcastss  0x40(%rax),%ymm9
+  DB  196,65,116,194,217,1                ; vcmpltps      %ymm9,%ymm1,%ymm11
+  DB  196,67,125,25,220,1                 ; vextractf128  $0x1,%ymm11,%xmm12
+  DB  196,65,33,99,220                    ; vpacksswb     %xmm12,%xmm11,%xmm11
+  DB  196,66,33,0,218                     ; vpshufb       %xmm10,%xmm11,%xmm11
+  DB  196,65,124,194,201,1                ; vcmpltps      %ymm9,%ymm0,%ymm9
+  DB  196,67,125,25,204,1                 ; vextractf128  $0x1,%ymm9,%xmm12
+  DB  196,65,49,99,204                    ; vpacksswb     %xmm12,%xmm9,%xmm9
+  DB  196,66,49,0,202                     ; vpshufb       %xmm10,%xmm9,%xmm9
+  DB  196,65,49,108,203                   ; vpunpcklqdq   %xmm11,%xmm9,%xmm9
+  DB  196,65,49,219,192                   ; vpand         %xmm8,%xmm9,%xmm8
+  DB  196,66,125,48,192                   ; vpmovzxbw     %xmm8,%ymm8
+  DB  196,193,61,113,240,15               ; vpsllw        $0xf,%ymm8,%ymm8
+  DB  196,193,61,113,224,15               ; vpsraw        $0xf,%ymm8,%ymm8
+  DB  197,126,127,0                       ; vmovdqu       %ymm8,(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_decal_y_hsw_lowp
+_sk_decal_y_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,60,194,203,2                    ; vcmpleps      %ymm3,%ymm8,%ymm9
+  DB  196,67,125,25,202,1                 ; vextractf128  $0x1,%ymm9,%xmm10
+  DB  196,65,49,99,202                    ; vpacksswb     %xmm10,%xmm9,%xmm9
+  DB  197,121,111,21,103,184,0,0          ; vmovdqa       0xb867(%rip),%xmm10        # 35bc0 <_sk_srcover_bgra_8888_sse2_lowp+0x13a8>
+  DB  196,66,49,0,202                     ; vpshufb       %xmm10,%xmm9,%xmm9
+  DB  197,60,194,194,2                    ; vcmpleps      %ymm2,%ymm8,%ymm8
+  DB  196,67,125,25,195,1                 ; vextractf128  $0x1,%ymm8,%xmm11
+  DB  196,65,57,99,195                    ; vpacksswb     %xmm11,%xmm8,%xmm8
+  DB  196,66,57,0,194                     ; vpshufb       %xmm10,%xmm8,%xmm8
+  DB  196,65,57,108,193                   ; vpunpcklqdq   %xmm9,%xmm8,%xmm8
+  DB  196,98,125,24,72,68                 ; vbroadcastss  0x44(%rax),%ymm9
+  DB  196,65,100,194,217,1                ; vcmpltps      %ymm9,%ymm3,%ymm11
+  DB  196,67,125,25,220,1                 ; vextractf128  $0x1,%ymm11,%xmm12
+  DB  196,65,33,99,220                    ; vpacksswb     %xmm12,%xmm11,%xmm11
+  DB  196,66,33,0,218                     ; vpshufb       %xmm10,%xmm11,%xmm11
+  DB  196,65,108,194,201,1                ; vcmpltps      %ymm9,%ymm2,%ymm9
+  DB  196,67,125,25,204,1                 ; vextractf128  $0x1,%ymm9,%xmm12
+  DB  196,65,49,99,204                    ; vpacksswb     %xmm12,%xmm9,%xmm9
+  DB  196,66,49,0,202                     ; vpshufb       %xmm10,%xmm9,%xmm9
+  DB  196,65,49,108,203                   ; vpunpcklqdq   %xmm11,%xmm9,%xmm9
+  DB  196,65,49,219,192                   ; vpand         %xmm8,%xmm9,%xmm8
+  DB  196,66,125,48,192                   ; vpmovzxbw     %xmm8,%ymm8
+  DB  196,193,61,113,240,15               ; vpsllw        $0xf,%ymm8,%ymm8
+  DB  196,193,61,113,224,15               ; vpsraw        $0xf,%ymm8,%ymm8
+  DB  197,126,127,0                       ; vmovdqu       %ymm8,(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_decal_x_and_y_hsw_lowp
+_sk_decal_x_and_y_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,65,52,87,201                    ; vxorps        %ymm9,%ymm9,%ymm9
+  DB  197,52,194,193,2                    ; vcmpleps      %ymm1,%ymm9,%ymm8
+  DB  196,67,125,25,194,1                 ; vextractf128  $0x1,%ymm8,%xmm10
+  DB  196,65,57,99,210                    ; vpacksswb     %xmm10,%xmm8,%xmm10
+  DB  197,121,111,5,212,183,0,0           ; vmovdqa       0xb7d4(%rip),%xmm8        # 35bc0 <_sk_srcover_bgra_8888_sse2_lowp+0x13a8>
+  DB  196,66,41,0,208                     ; vpshufb       %xmm8,%xmm10,%xmm10
+  DB  197,52,194,216,2                    ; vcmpleps      %ymm0,%ymm9,%ymm11
+  DB  196,67,125,25,220,1                 ; vextractf128  $0x1,%ymm11,%xmm12
+  DB  196,65,33,99,220                    ; vpacksswb     %xmm12,%xmm11,%xmm11
+  DB  196,66,33,0,216                     ; vpshufb       %xmm8,%xmm11,%xmm11
+  DB  196,65,33,108,210                   ; vpunpcklqdq   %xmm10,%xmm11,%xmm10
+  DB  196,98,125,24,88,64                 ; vbroadcastss  0x40(%rax),%ymm11
+  DB  196,65,116,194,227,1                ; vcmpltps      %ymm11,%ymm1,%ymm12
+  DB  196,67,125,25,229,1                 ; vextractf128  $0x1,%ymm12,%xmm13
+  DB  196,65,25,99,229                    ; vpacksswb     %xmm13,%xmm12,%xmm12
+  DB  196,66,25,0,224                     ; vpshufb       %xmm8,%xmm12,%xmm12
+  DB  196,65,124,194,219,1                ; vcmpltps      %ymm11,%ymm0,%ymm11
+  DB  196,67,125,25,221,1                 ; vextractf128  $0x1,%ymm11,%xmm13
+  DB  196,65,33,99,221                    ; vpacksswb     %xmm13,%xmm11,%xmm11
+  DB  196,66,33,0,216                     ; vpshufb       %xmm8,%xmm11,%xmm11
+  DB  196,65,33,108,220                   ; vpunpcklqdq   %xmm12,%xmm11,%xmm11
+  DB  197,52,194,227,2                    ; vcmpleps      %ymm3,%ymm9,%ymm12
+  DB  196,67,125,25,229,1                 ; vextractf128  $0x1,%ymm12,%xmm13
+  DB  196,65,25,99,229                    ; vpacksswb     %xmm13,%xmm12,%xmm12
+  DB  196,66,25,0,224                     ; vpshufb       %xmm8,%xmm12,%xmm12
+  DB  197,52,194,202,2                    ; vcmpleps      %ymm2,%ymm9,%ymm9
+  DB  196,67,125,25,205,1                 ; vextractf128  $0x1,%ymm9,%xmm13
+  DB  196,65,49,99,205                    ; vpacksswb     %xmm13,%xmm9,%xmm9
+  DB  196,66,49,0,200                     ; vpshufb       %xmm8,%xmm9,%xmm9
+  DB  196,65,49,108,204                   ; vpunpcklqdq   %xmm12,%xmm9,%xmm9
+  DB  196,65,49,219,202                   ; vpand         %xmm10,%xmm9,%xmm9
+  DB  196,65,49,219,203                   ; vpand         %xmm11,%xmm9,%xmm9
+  DB  196,98,125,24,80,68                 ; vbroadcastss  0x44(%rax),%ymm10
+  DB  196,65,100,194,218,1                ; vcmpltps      %ymm10,%ymm3,%ymm11
+  DB  196,67,125,25,220,1                 ; vextractf128  $0x1,%ymm11,%xmm12
+  DB  196,65,33,99,220                    ; vpacksswb     %xmm12,%xmm11,%xmm11
+  DB  196,66,33,0,216                     ; vpshufb       %xmm8,%xmm11,%xmm11
+  DB  196,65,108,194,210,1                ; vcmpltps      %ymm10,%ymm2,%ymm10
+  DB  196,67,125,25,212,1                 ; vextractf128  $0x1,%ymm10,%xmm12
+  DB  196,65,41,99,212                    ; vpacksswb     %xmm12,%xmm10,%xmm10
+  DB  196,66,41,0,192                     ; vpshufb       %xmm8,%xmm10,%xmm8
+  DB  196,65,57,108,195                   ; vpunpcklqdq   %xmm11,%xmm8,%xmm8
+  DB  196,65,49,219,192                   ; vpand         %xmm8,%xmm9,%xmm8
+  DB  196,66,125,48,192                   ; vpmovzxbw     %xmm8,%ymm8
+  DB  196,193,61,113,240,15               ; vpsllw        $0xf,%ymm8,%ymm8
+  DB  196,193,61,113,224,15               ; vpsraw        $0xf,%ymm8,%ymm8
+  DB  197,126,127,0                       ; vmovdqu       %ymm8,(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_check_decal_mask_hsw_lowp
+_sk_check_decal_mask_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,124,16,0                        ; vmovups       (%rax),%ymm8
+  DB  197,188,84,192                      ; vandps        %ymm0,%ymm8,%ymm0
+  DB  197,188,84,201                      ; vandps        %ymm1,%ymm8,%ymm1
+  DB  197,188,84,210                      ; vandps        %ymm2,%ymm8,%ymm2
+  DB  197,188,84,219                      ; vandps        %ymm3,%ymm8,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_gradient_hsw_lowp
+_sk_gradient_hsw_lowp LABEL PROC
+  DB  72,129,236,24,1,0,0                 ; sub           $0x118,%rsp
+  DB  197,254,127,188,36,224,0,0,0        ; vmovdqu       %ymm7,0xe0(%rsp)
+  DB  197,252,17,180,36,192,0,0,0         ; vmovups       %ymm6,0xc0(%rsp)
+  DB  197,254,127,172,36,160,0,0,0        ; vmovdqu       %ymm5,0xa0(%rsp)
+  DB  197,254,127,164,36,128,0,0,0        ; vmovdqu       %ymm4,0x80(%rsp)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  197,197,239,255                     ; vpxor         %ymm7,%ymm7,%ymm7
+  DB  197,213,239,237                     ; vpxor         %ymm5,%ymm5,%ymm5
+  DB  73,131,248,2                        ; cmp           $0x2,%r8
+  DB  114,60                              ; jb            2a564 <_sk_gradient_hsw_lowp+0x7a>
+  DB  76,139,72,72                        ; mov           0x48(%rax),%r9
+  DB  197,197,239,255                     ; vpxor         %ymm7,%ymm7,%ymm7
+  DB  65,186,1,0,0,0                      ; mov           $0x1,%r10d
+  DB  197,213,239,237                     ; vpxor         %ymm5,%ymm5,%ymm5
+  DB  196,130,125,24,20,145               ; vbroadcastss  (%r9,%r10,4),%ymm2
+  DB  197,236,194,216,2                   ; vcmpleps      %ymm0,%ymm2,%ymm3
+  DB  197,197,250,251                     ; vpsubd        %ymm3,%ymm7,%ymm7
+  DB  197,236,194,209,2                   ; vcmpleps      %ymm1,%ymm2,%ymm2
+  DB  197,213,250,234                     ; vpsubd        %ymm2,%ymm5,%ymm5
+  DB  73,255,194                          ; inc           %r10
+  DB  77,57,208                           ; cmp           %r10,%r8
+  DB  117,224                             ; jne           2a53a <_sk_gradient_hsw_lowp+0x50>
+  DB  73,131,248,8                        ; cmp           $0x8,%r8
+  DB  15,135,179,0,0,0                    ; ja            2a617 <_sk_gradient_hsw_lowp+0x12d>
+  DB  76,139,64,8                         ; mov           0x8(%rax),%r8
+  DB  76,139,72,16                        ; mov           0x10(%rax),%r9
+  DB  196,193,124,16,24                   ; vmovups       (%r8),%ymm3
+  DB  196,226,69,22,211                   ; vpermps       %ymm3,%ymm7,%ymm2
+  DB  196,226,85,22,219                   ; vpermps       %ymm3,%ymm5,%ymm3
+  DB  76,139,64,40                        ; mov           0x28(%rax),%r8
+  DB  196,193,124,16,32                   ; vmovups       (%r8),%ymm4
+  DB  196,98,69,22,244                    ; vpermps       %ymm4,%ymm7,%ymm14
+  DB  196,226,85,22,228                   ; vpermps       %ymm4,%ymm5,%ymm4
+  DB  197,252,17,100,36,96                ; vmovups       %ymm4,0x60(%rsp)
+  DB  196,193,124,16,33                   ; vmovups       (%r9),%ymm4
+  DB  196,98,69,22,196                    ; vpermps       %ymm4,%ymm7,%ymm8
+  DB  196,98,85,22,204                    ; vpermps       %ymm4,%ymm5,%ymm9
+  DB  76,139,64,48                        ; mov           0x30(%rax),%r8
+  DB  196,193,124,16,32                   ; vmovups       (%r8),%ymm4
+  DB  196,98,69,22,236                    ; vpermps       %ymm4,%ymm7,%ymm13
+  DB  196,226,85,22,228                   ; vpermps       %ymm4,%ymm5,%ymm4
+  DB  197,252,17,36,36                    ; vmovups       %ymm4,(%rsp)
+  DB  76,139,64,24                        ; mov           0x18(%rax),%r8
+  DB  196,193,124,16,32                   ; vmovups       (%r8),%ymm4
+  DB  196,98,69,22,212                    ; vpermps       %ymm4,%ymm7,%ymm10
+  DB  196,98,85,22,220                    ; vpermps       %ymm4,%ymm5,%ymm11
+  DB  76,139,64,56                        ; mov           0x38(%rax),%r8
+  DB  196,193,124,16,48                   ; vmovups       (%r8),%ymm6
+  DB  196,226,69,22,230                   ; vpermps       %ymm6,%ymm7,%ymm4
+  DB  196,226,85,22,246                   ; vpermps       %ymm6,%ymm5,%ymm6
+  DB  76,139,64,32                        ; mov           0x20(%rax),%r8
+  DB  196,65,124,16,32                    ; vmovups       (%r8),%ymm12
+  DB  196,66,69,22,252                    ; vpermps       %ymm12,%ymm7,%ymm15
+  DB  197,124,17,124,36,64                ; vmovups       %ymm15,0x40(%rsp)
+  DB  196,66,85,22,228                    ; vpermps       %ymm12,%ymm5,%ymm12
+  DB  197,124,17,100,36,32                ; vmovups       %ymm12,0x20(%rsp)
+  DB  72,139,64,64                        ; mov           0x40(%rax),%rax
+  DB  197,124,16,56                       ; vmovups       (%rax),%ymm15
+  DB  196,66,69,22,231                    ; vpermps       %ymm15,%ymm7,%ymm12
+  DB  196,194,85,22,255                   ; vpermps       %ymm15,%ymm5,%ymm7
+  DB  233,33,1,0,0                        ; jmpq          2a738 <_sk_gradient_hsw_lowp+0x24e>
+  DB  76,139,64,8                         ; mov           0x8(%rax),%r8
+  DB  76,139,72,16                        ; mov           0x10(%rax),%r9
+  DB  197,229,118,219                     ; vpcmpeqd      %ymm3,%ymm3,%ymm3
+  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
+  DB  196,194,101,146,20,184              ; vgatherdps    %ymm3,(%r8,%ymm7,4),%ymm2
+  DB  197,221,118,228                     ; vpcmpeqd      %ymm4,%ymm4,%ymm4
+  DB  197,228,87,219                      ; vxorps        %ymm3,%ymm3,%ymm3
+  DB  196,194,93,146,28,168               ; vgatherdps    %ymm4,(%r8,%ymm5,4),%ymm3
+  DB  197,221,118,228                     ; vpcmpeqd      %ymm4,%ymm4,%ymm4
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  196,66,93,146,4,185                 ; vgatherdps    %ymm4,(%r9,%ymm7,4),%ymm8
+  DB  197,221,118,228                     ; vpcmpeqd      %ymm4,%ymm4,%ymm4
+  DB  196,65,52,87,201                    ; vxorps        %ymm9,%ymm9,%ymm9
+  DB  196,66,93,146,12,169                ; vgatherdps    %ymm4,(%r9,%ymm5,4),%ymm9
+  DB  76,139,64,24                        ; mov           0x18(%rax),%r8
+  DB  197,221,118,228                     ; vpcmpeqd      %ymm4,%ymm4,%ymm4
+  DB  196,65,44,87,210                    ; vxorps        %ymm10,%ymm10,%ymm10
+  DB  196,66,93,146,20,184                ; vgatherdps    %ymm4,(%r8,%ymm7,4),%ymm10
+  DB  197,221,118,228                     ; vpcmpeqd      %ymm4,%ymm4,%ymm4
+  DB  196,65,36,87,219                    ; vxorps        %ymm11,%ymm11,%ymm11
+  DB  196,66,93,146,28,168                ; vgatherdps    %ymm4,(%r8,%ymm5,4),%ymm11
+  DB  76,139,64,32                        ; mov           0x20(%rax),%r8
+  DB  197,221,118,228                     ; vpcmpeqd      %ymm4,%ymm4,%ymm4
+  DB  197,204,87,246                      ; vxorps        %ymm6,%ymm6,%ymm6
+  DB  196,194,93,146,52,184               ; vgatherdps    %ymm4,(%r8,%ymm7,4),%ymm6
+  DB  197,252,17,116,36,64                ; vmovups       %ymm6,0x40(%rsp)
+  DB  197,221,118,228                     ; vpcmpeqd      %ymm4,%ymm4,%ymm4
+  DB  197,204,87,246                      ; vxorps        %ymm6,%ymm6,%ymm6
+  DB  196,194,93,146,52,168               ; vgatherdps    %ymm4,(%r8,%ymm5,4),%ymm6
+  DB  197,252,17,116,36,32                ; vmovups       %ymm6,0x20(%rsp)
+  DB  76,139,64,40                        ; mov           0x28(%rax),%r8
+  DB  197,221,118,228                     ; vpcmpeqd      %ymm4,%ymm4,%ymm4
+  DB  196,65,12,87,246                    ; vxorps        %ymm14,%ymm14,%ymm14
+  DB  196,66,93,146,52,184                ; vgatherdps    %ymm4,(%r8,%ymm7,4),%ymm14
+  DB  197,221,118,228                     ; vpcmpeqd      %ymm4,%ymm4,%ymm4
+  DB  197,204,87,246                      ; vxorps        %ymm6,%ymm6,%ymm6
+  DB  196,194,93,146,52,168               ; vgatherdps    %ymm4,(%r8,%ymm5,4),%ymm6
+  DB  197,252,17,116,36,96                ; vmovups       %ymm6,0x60(%rsp)
+  DB  76,139,64,48                        ; mov           0x30(%rax),%r8
+  DB  197,221,118,228                     ; vpcmpeqd      %ymm4,%ymm4,%ymm4
+  DB  196,65,20,87,237                    ; vxorps        %ymm13,%ymm13,%ymm13
+  DB  196,66,93,146,44,184                ; vgatherdps    %ymm4,(%r8,%ymm7,4),%ymm13
+  DB  197,221,118,228                     ; vpcmpeqd      %ymm4,%ymm4,%ymm4
+  DB  197,204,87,246                      ; vxorps        %ymm6,%ymm6,%ymm6
+  DB  196,194,93,146,52,168               ; vgatherdps    %ymm4,(%r8,%ymm5,4),%ymm6
+  DB  197,252,17,52,36                    ; vmovups       %ymm6,(%rsp)
+  DB  76,139,64,56                        ; mov           0x38(%rax),%r8
+  DB  197,205,118,246                     ; vpcmpeqd      %ymm6,%ymm6,%ymm6
+  DB  197,220,87,228                      ; vxorps        %ymm4,%ymm4,%ymm4
+  DB  196,194,77,146,36,184               ; vgatherdps    %ymm6,(%r8,%ymm7,4),%ymm4
+  DB  196,65,29,118,228                   ; vpcmpeqd      %ymm12,%ymm12,%ymm12
+  DB  197,204,87,246                      ; vxorps        %ymm6,%ymm6,%ymm6
+  DB  196,194,29,146,52,168               ; vgatherdps    %ymm12,(%r8,%ymm5,4),%ymm6
+  DB  72,139,64,64                        ; mov           0x40(%rax),%rax
+  DB  196,65,5,118,255                    ; vpcmpeqd      %ymm15,%ymm15,%ymm15
+  DB  196,65,28,87,228                    ; vxorps        %ymm12,%ymm12,%ymm12
+  DB  196,98,5,146,36,184                 ; vgatherdps    %ymm15,(%rax,%ymm7,4),%ymm12
+  DB  196,65,5,118,255                    ; vpcmpeqd      %ymm15,%ymm15,%ymm15
+  DB  197,196,87,255                      ; vxorps        %ymm7,%ymm7,%ymm7
+  DB  196,226,5,146,60,168                ; vgatherdps    %ymm15,(%rax,%ymm5,4),%ymm7
+  DB  196,194,125,168,214                 ; vfmadd213ps   %ymm14,%ymm0,%ymm2
+  DB  196,66,125,168,197                  ; vfmadd213ps   %ymm13,%ymm0,%ymm8
+  DB  196,98,125,168,212                  ; vfmadd213ps   %ymm4,%ymm0,%ymm10
+  DB  196,98,125,184,100,36,64            ; vfmadd231ps   0x40(%rsp),%ymm0,%ymm12
+  DB  196,226,117,168,92,36,96            ; vfmadd213ps   0x60(%rsp),%ymm1,%ymm3
+  DB  196,98,117,168,12,36                ; vfmadd213ps   (%rsp),%ymm1,%ymm9
+  DB  196,98,117,168,222                  ; vfmadd213ps   %ymm6,%ymm1,%ymm11
+  DB  196,226,117,184,124,36,32           ; vfmadd231ps   0x20(%rsp),%ymm1,%ymm7
+  DB  196,226,125,24,5,132,163,0,0        ; vbroadcastss  0xa384(%rip),%ymm0        # 34af4 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  DB  196,226,125,24,13,75,163,0,0        ; vbroadcastss  0xa34b(%rip),%ymm1        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  196,226,125,168,217                 ; vfmadd213ps   %ymm1,%ymm0,%ymm3
+  DB  196,226,125,168,209                 ; vfmadd213ps   %ymm1,%ymm0,%ymm2
+  DB  196,98,125,168,201                  ; vfmadd213ps   %ymm1,%ymm0,%ymm9
+  DB  196,98,125,168,193                  ; vfmadd213ps   %ymm1,%ymm0,%ymm8
+  DB  196,98,125,168,217                  ; vfmadd213ps   %ymm1,%ymm0,%ymm11
+  DB  196,98,125,168,209                  ; vfmadd213ps   %ymm1,%ymm0,%ymm10
+  DB  196,226,125,168,249                 ; vfmadd213ps   %ymm1,%ymm0,%ymm7
+  DB  196,98,125,168,225                  ; vfmadd213ps   %ymm1,%ymm0,%ymm12
+  DB  197,254,91,194                      ; vcvttps2dq    %ymm2,%ymm0
+  DB  197,253,111,37,211,171,0,0          ; vmovdqa       0xabd3(%rip),%ymm4        # 35380 <_sk_srcover_bgra_8888_sse2_lowp+0xb68>
+  DB  196,226,125,0,196                   ; vpshufb       %ymm4,%ymm0,%ymm0
+  DB  196,227,253,0,192,232               ; vpermq        $0xe8,%ymm0,%ymm0
+  DB  197,254,91,203                      ; vcvttps2dq    %ymm3,%ymm1
+  DB  196,226,117,0,204                   ; vpshufb       %ymm4,%ymm1,%ymm1
+  DB  196,227,253,0,201,232               ; vpermq        $0xe8,%ymm1,%ymm1
+  DB  196,227,125,56,193,1                ; vinserti128   $0x1,%xmm1,%ymm0,%ymm0
+  DB  196,193,126,91,200                  ; vcvttps2dq    %ymm8,%ymm1
+  DB  196,226,117,0,204                   ; vpshufb       %ymm4,%ymm1,%ymm1
+  DB  196,227,253,0,201,232               ; vpermq        $0xe8,%ymm1,%ymm1
+  DB  196,193,126,91,209                  ; vcvttps2dq    %ymm9,%ymm2
+  DB  196,226,109,0,212                   ; vpshufb       %ymm4,%ymm2,%ymm2
+  DB  196,227,253,0,210,232               ; vpermq        $0xe8,%ymm2,%ymm2
+  DB  196,227,117,56,202,1                ; vinserti128   $0x1,%xmm2,%ymm1,%ymm1
+  DB  196,193,126,91,210                  ; vcvttps2dq    %ymm10,%ymm2
+  DB  196,226,109,0,212                   ; vpshufb       %ymm4,%ymm2,%ymm2
+  DB  196,227,253,0,210,232               ; vpermq        $0xe8,%ymm2,%ymm2
+  DB  196,193,126,91,219                  ; vcvttps2dq    %ymm11,%ymm3
+  DB  196,226,101,0,220                   ; vpshufb       %ymm4,%ymm3,%ymm3
+  DB  196,227,253,0,219,232               ; vpermq        $0xe8,%ymm3,%ymm3
+  DB  196,227,109,56,211,1                ; vinserti128   $0x1,%xmm3,%ymm2,%ymm2
+  DB  196,193,126,91,220                  ; vcvttps2dq    %ymm12,%ymm3
+  DB  196,226,101,0,220                   ; vpshufb       %ymm4,%ymm3,%ymm3
+  DB  197,254,91,239                      ; vcvttps2dq    %ymm7,%ymm5
+  DB  196,226,85,0,228                    ; vpshufb       %ymm4,%ymm5,%ymm4
+  DB  196,227,253,0,219,232               ; vpermq        $0xe8,%ymm3,%ymm3
+  DB  196,227,253,0,228,232               ; vpermq        $0xe8,%ymm4,%ymm4
+  DB  196,227,101,56,220,1                ; vinserti128   $0x1,%xmm4,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,16,164,36,128,0,0,0         ; vmovups       0x80(%rsp),%ymm4
+  DB  197,252,16,172,36,160,0,0,0         ; vmovups       0xa0(%rsp),%ymm5
+  DB  197,252,16,180,36,192,0,0,0         ; vmovups       0xc0(%rsp),%ymm6
+  DB  197,252,16,188,36,224,0,0,0         ; vmovups       0xe0(%rsp),%ymm7
+  DB  72,129,196,24,1,0,0                 ; add           $0x118,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_evenly_spaced_gradient_hsw_lowp
+_sk_evenly_spaced_gradient_hsw_lowp LABEL PROC
+  DB  72,129,236,24,1,0,0                 ; sub           $0x118,%rsp
+  DB  197,252,17,188,36,224,0,0,0         ; vmovups       %ymm7,0xe0(%rsp)
+  DB  197,252,17,180,36,192,0,0,0         ; vmovups       %ymm6,0xc0(%rsp)
+  DB  197,252,17,172,36,160,0,0,0         ; vmovups       %ymm5,0xa0(%rsp)
+  DB  197,254,127,164,36,128,0,0,0        ; vmovdqu       %ymm4,0x80(%rsp)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  77,137,193                          ; mov           %r8,%r9
+  DB  73,255,201                          ; dec           %r9
+  DB  120,7                               ; js            2a8ac <_sk_evenly_spaced_gradient_hsw_lowp+0x3f>
+  DB  196,193,234,42,209                  ; vcvtsi2ss     %r9,%xmm2,%xmm2
+  DB  235,22                              ; jmp           2a8c2 <_sk_evenly_spaced_gradient_hsw_lowp+0x55>
+  DB  77,137,202                          ; mov           %r9,%r10
+  DB  73,209,234                          ; shr           %r10
+  DB  65,131,225,1                        ; and           $0x1,%r9d
+  DB  77,9,209                            ; or            %r10,%r9
+  DB  196,193,234,42,209                  ; vcvtsi2ss     %r9,%xmm2,%xmm2
+  DB  197,234,88,210                      ; vaddss        %xmm2,%xmm2,%xmm2
+  DB  196,226,125,24,210                  ; vbroadcastss  %xmm2,%ymm2
+  DB  197,252,89,218                      ; vmulps        %ymm2,%ymm0,%ymm3
+  DB  197,244,89,210                      ; vmulps        %ymm2,%ymm1,%ymm2
+  DB  197,126,91,242                      ; vcvttps2dq    %ymm2,%ymm14
+  DB  197,254,91,251                      ; vcvttps2dq    %ymm3,%ymm7
+  DB  73,131,248,8                        ; cmp           $0x8,%r8
+  DB  15,135,179,0,0,0                    ; ja            2a994 <_sk_evenly_spaced_gradient_hsw_lowp+0x127>
+  DB  76,139,64,8                         ; mov           0x8(%rax),%r8
+  DB  76,139,72,16                        ; mov           0x10(%rax),%r9
+  DB  196,193,124,16,24                   ; vmovups       (%r8),%ymm3
+  DB  196,226,69,22,211                   ; vpermps       %ymm3,%ymm7,%ymm2
+  DB  196,226,13,22,219                   ; vpermps       %ymm3,%ymm14,%ymm3
+  DB  76,139,64,40                        ; mov           0x28(%rax),%r8
+  DB  196,193,124,16,32                   ; vmovups       (%r8),%ymm4
+  DB  196,98,69,22,236                    ; vpermps       %ymm4,%ymm7,%ymm13
+  DB  196,226,13,22,228                   ; vpermps       %ymm4,%ymm14,%ymm4
+  DB  197,252,17,100,36,96                ; vmovups       %ymm4,0x60(%rsp)
+  DB  196,193,124,16,33                   ; vmovups       (%r9),%ymm4
+  DB  196,98,69,22,196                    ; vpermps       %ymm4,%ymm7,%ymm8
+  DB  196,98,13,22,204                    ; vpermps       %ymm4,%ymm14,%ymm9
+  DB  76,139,64,48                        ; mov           0x30(%rax),%r8
+  DB  196,193,124,16,40                   ; vmovups       (%r8),%ymm5
+  DB  196,226,69,22,229                   ; vpermps       %ymm5,%ymm7,%ymm4
+  DB  196,226,13,22,237                   ; vpermps       %ymm5,%ymm14,%ymm5
+  DB  197,252,17,44,36                    ; vmovups       %ymm5,(%rsp)
+  DB  76,139,64,24                        ; mov           0x18(%rax),%r8
+  DB  196,193,124,16,40                   ; vmovups       (%r8),%ymm5
+  DB  196,98,69,22,213                    ; vpermps       %ymm5,%ymm7,%ymm10
+  DB  196,98,13,22,221                    ; vpermps       %ymm5,%ymm14,%ymm11
+  DB  76,139,64,56                        ; mov           0x38(%rax),%r8
+  DB  196,193,124,16,48                   ; vmovups       (%r8),%ymm6
+  DB  196,226,69,22,238                   ; vpermps       %ymm6,%ymm7,%ymm5
+  DB  196,226,13,22,246                   ; vpermps       %ymm6,%ymm14,%ymm6
+  DB  76,139,64,32                        ; mov           0x20(%rax),%r8
+  DB  196,65,124,16,32                    ; vmovups       (%r8),%ymm12
+  DB  196,66,69,22,252                    ; vpermps       %ymm12,%ymm7,%ymm15
+  DB  197,124,17,124,36,64                ; vmovups       %ymm15,0x40(%rsp)
+  DB  196,66,13,22,228                    ; vpermps       %ymm12,%ymm14,%ymm12
+  DB  197,124,17,100,36,32                ; vmovups       %ymm12,0x20(%rsp)
+  DB  72,139,64,64                        ; mov           0x40(%rax),%rax
+  DB  197,124,16,56                       ; vmovups       (%rax),%ymm15
+  DB  196,66,69,22,231                    ; vpermps       %ymm15,%ymm7,%ymm12
+  DB  196,194,13,22,255                   ; vpermps       %ymm15,%ymm14,%ymm7
+  DB  233,32,1,0,0                        ; jmpq          2aab4 <_sk_evenly_spaced_gradient_hsw_lowp+0x247>
+  DB  76,139,64,8                         ; mov           0x8(%rax),%r8
+  DB  76,139,72,16                        ; mov           0x10(%rax),%r9
+  DB  197,236,87,210                      ; vxorps        %ymm2,%ymm2,%ymm2
+  DB  197,229,118,219                     ; vpcmpeqd      %ymm3,%ymm3,%ymm3
+  DB  196,194,101,146,20,184              ; vgatherdps    %ymm3,(%r8,%ymm7,4),%ymm2
+  DB  197,228,87,219                      ; vxorps        %ymm3,%ymm3,%ymm3
+  DB  197,221,118,228                     ; vpcmpeqd      %ymm4,%ymm4,%ymm4
+  DB  196,130,93,146,28,176               ; vgatherdps    %ymm4,(%r8,%ymm14,4),%ymm3
+  DB  196,65,60,87,192                    ; vxorps        %ymm8,%ymm8,%ymm8
+  DB  197,221,118,228                     ; vpcmpeqd      %ymm4,%ymm4,%ymm4
+  DB  196,66,93,146,4,185                 ; vgatherdps    %ymm4,(%r9,%ymm7,4),%ymm8
+  DB  196,65,52,87,201                    ; vxorps        %ymm9,%ymm9,%ymm9
+  DB  197,221,118,228                     ; vpcmpeqd      %ymm4,%ymm4,%ymm4
+  DB  196,2,93,146,12,177                 ; vgatherdps    %ymm4,(%r9,%ymm14,4),%ymm9
+  DB  76,139,64,24                        ; mov           0x18(%rax),%r8
+  DB  196,65,44,87,210                    ; vxorps        %ymm10,%ymm10,%ymm10
+  DB  197,221,118,228                     ; vpcmpeqd      %ymm4,%ymm4,%ymm4
+  DB  196,66,93,146,20,184                ; vgatherdps    %ymm4,(%r8,%ymm7,4),%ymm10
+  DB  196,65,36,87,219                    ; vxorps        %ymm11,%ymm11,%ymm11
+  DB  197,221,118,228                     ; vpcmpeqd      %ymm4,%ymm4,%ymm4
+  DB  196,2,93,146,28,176                 ; vgatherdps    %ymm4,(%r8,%ymm14,4),%ymm11
+  DB  76,139,64,32                        ; mov           0x20(%rax),%r8
+  DB  197,212,87,237                      ; vxorps        %ymm5,%ymm5,%ymm5
+  DB  197,221,118,228                     ; vpcmpeqd      %ymm4,%ymm4,%ymm4
+  DB  196,194,93,146,44,184               ; vgatherdps    %ymm4,(%r8,%ymm7,4),%ymm5
+  DB  197,252,17,108,36,64                ; vmovups       %ymm5,0x40(%rsp)
+  DB  197,212,87,237                      ; vxorps        %ymm5,%ymm5,%ymm5
+  DB  197,221,118,228                     ; vpcmpeqd      %ymm4,%ymm4,%ymm4
+  DB  196,130,93,146,44,176               ; vgatherdps    %ymm4,(%r8,%ymm14,4),%ymm5
+  DB  197,252,17,108,36,32                ; vmovups       %ymm5,0x20(%rsp)
+  DB  76,139,64,40                        ; mov           0x28(%rax),%r8
+  DB  196,65,20,87,237                    ; vxorps        %ymm13,%ymm13,%ymm13
+  DB  197,221,118,228                     ; vpcmpeqd      %ymm4,%ymm4,%ymm4
+  DB  196,66,93,146,44,184                ; vgatherdps    %ymm4,(%r8,%ymm7,4),%ymm13
+  DB  197,212,87,237                      ; vxorps        %ymm5,%ymm5,%ymm5
+  DB  197,221,118,228                     ; vpcmpeqd      %ymm4,%ymm4,%ymm4
+  DB  196,130,93,146,44,176               ; vgatherdps    %ymm4,(%r8,%ymm14,4),%ymm5
+  DB  197,252,17,108,36,96                ; vmovups       %ymm5,0x60(%rsp)
+  DB  76,139,64,48                        ; mov           0x30(%rax),%r8
+  DB  197,220,87,228                      ; vxorps        %ymm4,%ymm4,%ymm4
+  DB  197,213,118,237                     ; vpcmpeqd      %ymm5,%ymm5,%ymm5
+  DB  196,194,85,146,36,184               ; vgatherdps    %ymm5,(%r8,%ymm7,4),%ymm4
+  DB  197,204,87,246                      ; vxorps        %ymm6,%ymm6,%ymm6
+  DB  197,213,118,237                     ; vpcmpeqd      %ymm5,%ymm5,%ymm5
+  DB  196,130,85,146,52,176               ; vgatherdps    %ymm5,(%r8,%ymm14,4),%ymm6
+  DB  197,252,17,52,36                    ; vmovups       %ymm6,(%rsp)
+  DB  76,139,64,56                        ; mov           0x38(%rax),%r8
+  DB  197,212,87,237                      ; vxorps        %ymm5,%ymm5,%ymm5
+  DB  197,205,118,246                     ; vpcmpeqd      %ymm6,%ymm6,%ymm6
+  DB  196,194,77,146,44,184               ; vgatherdps    %ymm6,(%r8,%ymm7,4),%ymm5
+  DB  197,204,87,246                      ; vxorps        %ymm6,%ymm6,%ymm6
+  DB  196,65,29,118,228                   ; vpcmpeqd      %ymm12,%ymm12,%ymm12
+  DB  196,130,29,146,52,176               ; vgatherdps    %ymm12,(%r8,%ymm14,4),%ymm6
+  DB  72,139,64,64                        ; mov           0x40(%rax),%rax
+  DB  196,65,28,87,228                    ; vxorps        %ymm12,%ymm12,%ymm12
+  DB  196,65,5,118,255                    ; vpcmpeqd      %ymm15,%ymm15,%ymm15
+  DB  196,98,5,146,36,184                 ; vgatherdps    %ymm15,(%rax,%ymm7,4),%ymm12
+  DB  196,65,5,118,255                    ; vpcmpeqd      %ymm15,%ymm15,%ymm15
+  DB  197,196,87,255                      ; vxorps        %ymm7,%ymm7,%ymm7
+  DB  196,162,5,146,60,176                ; vgatherdps    %ymm15,(%rax,%ymm14,4),%ymm7
+  DB  196,194,125,168,213                 ; vfmadd213ps   %ymm13,%ymm0,%ymm2
+  DB  196,98,125,168,196                  ; vfmadd213ps   %ymm4,%ymm0,%ymm8
+  DB  196,98,125,168,213                  ; vfmadd213ps   %ymm5,%ymm0,%ymm10
+  DB  196,98,125,184,100,36,64            ; vfmadd231ps   0x40(%rsp),%ymm0,%ymm12
+  DB  196,226,117,168,92,36,96            ; vfmadd213ps   0x60(%rsp),%ymm1,%ymm3
+  DB  196,98,117,168,12,36                ; vfmadd213ps   (%rsp),%ymm1,%ymm9
+  DB  196,98,117,168,222                  ; vfmadd213ps   %ymm6,%ymm1,%ymm11
+  DB  196,226,117,184,124,36,32           ; vfmadd231ps   0x20(%rsp),%ymm1,%ymm7
+  DB  196,226,125,24,5,8,160,0,0          ; vbroadcastss  0xa008(%rip),%ymm0        # 34af4 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  DB  196,226,125,24,13,207,159,0,0       ; vbroadcastss  0x9fcf(%rip),%ymm1        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  196,226,125,168,217                 ; vfmadd213ps   %ymm1,%ymm0,%ymm3
+  DB  196,226,125,168,209                 ; vfmadd213ps   %ymm1,%ymm0,%ymm2
+  DB  196,98,125,168,201                  ; vfmadd213ps   %ymm1,%ymm0,%ymm9
+  DB  196,98,125,168,193                  ; vfmadd213ps   %ymm1,%ymm0,%ymm8
+  DB  196,98,125,168,217                  ; vfmadd213ps   %ymm1,%ymm0,%ymm11
+  DB  196,98,125,168,209                  ; vfmadd213ps   %ymm1,%ymm0,%ymm10
+  DB  196,226,125,168,249                 ; vfmadd213ps   %ymm1,%ymm0,%ymm7
+  DB  196,98,125,168,225                  ; vfmadd213ps   %ymm1,%ymm0,%ymm12
+  DB  197,254,91,194                      ; vcvttps2dq    %ymm2,%ymm0
+  DB  197,253,111,37,119,168,0,0          ; vmovdqa       0xa877(%rip),%ymm4        # 353a0 <_sk_srcover_bgra_8888_sse2_lowp+0xb88>
+  DB  196,226,125,0,196                   ; vpshufb       %ymm4,%ymm0,%ymm0
+  DB  196,227,253,0,192,232               ; vpermq        $0xe8,%ymm0,%ymm0
+  DB  197,254,91,203                      ; vcvttps2dq    %ymm3,%ymm1
+  DB  196,226,117,0,204                   ; vpshufb       %ymm4,%ymm1,%ymm1
+  DB  196,227,253,0,201,232               ; vpermq        $0xe8,%ymm1,%ymm1
+  DB  196,227,125,56,193,1                ; vinserti128   $0x1,%xmm1,%ymm0,%ymm0
+  DB  196,193,126,91,200                  ; vcvttps2dq    %ymm8,%ymm1
+  DB  196,226,117,0,204                   ; vpshufb       %ymm4,%ymm1,%ymm1
+  DB  196,227,253,0,201,232               ; vpermq        $0xe8,%ymm1,%ymm1
+  DB  196,193,126,91,209                  ; vcvttps2dq    %ymm9,%ymm2
+  DB  196,226,109,0,212                   ; vpshufb       %ymm4,%ymm2,%ymm2
+  DB  196,227,253,0,210,232               ; vpermq        $0xe8,%ymm2,%ymm2
+  DB  196,227,117,56,202,1                ; vinserti128   $0x1,%xmm2,%ymm1,%ymm1
+  DB  196,193,126,91,210                  ; vcvttps2dq    %ymm10,%ymm2
+  DB  196,226,109,0,212                   ; vpshufb       %ymm4,%ymm2,%ymm2
+  DB  196,227,253,0,210,232               ; vpermq        $0xe8,%ymm2,%ymm2
+  DB  196,193,126,91,219                  ; vcvttps2dq    %ymm11,%ymm3
+  DB  196,226,101,0,220                   ; vpshufb       %ymm4,%ymm3,%ymm3
+  DB  196,227,253,0,219,232               ; vpermq        $0xe8,%ymm3,%ymm3
+  DB  196,227,109,56,211,1                ; vinserti128   $0x1,%xmm3,%ymm2,%ymm2
+  DB  196,193,126,91,220                  ; vcvttps2dq    %ymm12,%ymm3
+  DB  196,226,101,0,220                   ; vpshufb       %ymm4,%ymm3,%ymm3
+  DB  197,254,91,239                      ; vcvttps2dq    %ymm7,%ymm5
+  DB  196,226,85,0,228                    ; vpshufb       %ymm4,%ymm5,%ymm4
+  DB  196,227,253,0,219,232               ; vpermq        $0xe8,%ymm3,%ymm3
+  DB  196,227,253,0,228,232               ; vpermq        $0xe8,%ymm4,%ymm4
+  DB  196,227,101,56,220,1                ; vinserti128   $0x1,%xmm4,%ymm3,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,16,164,36,128,0,0,0         ; vmovups       0x80(%rsp),%ymm4
+  DB  197,252,16,172,36,160,0,0,0         ; vmovups       0xa0(%rsp),%ymm5
+  DB  197,252,16,180,36,192,0,0,0         ; vmovups       0xc0(%rsp),%ymm6
+  DB  197,252,16,188,36,224,0,0,0         ; vmovups       0xe0(%rsp),%ymm7
+  DB  72,129,196,24,1,0,0                 ; add           $0x118,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_evenly_spaced_2_stop_gradient_hsw_lowp
+_sk_evenly_spaced_2_stop_gradient_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  196,226,125,24,16                   ; vbroadcastss  (%rax),%ymm2
+  DB  196,226,125,24,88,16                ; vbroadcastss  0x10(%rax),%ymm3
+  DB  197,124,40,194                      ; vmovaps       %ymm2,%ymm8
+  DB  196,98,125,168,195                  ; vfmadd213ps   %ymm3,%ymm0,%ymm8
+  DB  196,226,117,168,211                 ; vfmadd213ps   %ymm3,%ymm1,%ymm2
+  DB  196,226,125,24,29,231,158,0,0       ; vbroadcastss  0x9ee7(%rip),%ymm3        # 34af4 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  DB  196,98,125,24,29,174,158,0,0        ; vbroadcastss  0x9eae(%rip),%ymm11        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  196,194,101,168,211                 ; vfmadd213ps   %ymm11,%ymm3,%ymm2
+  DB  196,66,101,168,195                  ; vfmadd213ps   %ymm11,%ymm3,%ymm8
+  DB  196,65,126,91,192                   ; vcvttps2dq    %ymm8,%ymm8
+  DB  197,125,111,21,147,167,0,0          ; vmovdqa       0xa793(%rip),%ymm10        # 353c0 <_sk_srcover_bgra_8888_sse2_lowp+0xba8>
+  DB  196,66,61,0,194                     ; vpshufb       %ymm10,%ymm8,%ymm8
+  DB  196,67,253,0,192,232                ; vpermq        $0xe8,%ymm8,%ymm8
+  DB  197,254,91,210                      ; vcvttps2dq    %ymm2,%ymm2
+  DB  196,194,109,0,210                   ; vpshufb       %ymm10,%ymm2,%ymm2
+  DB  196,227,253,0,210,232               ; vpermq        $0xe8,%ymm2,%ymm2
+  DB  196,99,61,56,194,1                  ; vinserti128   $0x1,%xmm2,%ymm8,%ymm8
+  DB  196,226,125,24,80,4                 ; vbroadcastss  0x4(%rax),%ymm2
+  DB  196,98,125,24,72,20                 ; vbroadcastss  0x14(%rax),%ymm9
+  DB  197,124,40,226                      ; vmovaps       %ymm2,%ymm12
+  DB  196,66,125,168,225                  ; vfmadd213ps   %ymm9,%ymm0,%ymm12
+  DB  196,194,117,168,209                 ; vfmadd213ps   %ymm9,%ymm1,%ymm2
+  DB  196,194,101,168,211                 ; vfmadd213ps   %ymm11,%ymm3,%ymm2
+  DB  196,66,101,168,227                  ; vfmadd213ps   %ymm11,%ymm3,%ymm12
+  DB  196,65,126,91,204                   ; vcvttps2dq    %ymm12,%ymm9
+  DB  196,66,53,0,202                     ; vpshufb       %ymm10,%ymm9,%ymm9
+  DB  196,67,253,0,201,232                ; vpermq        $0xe8,%ymm9,%ymm9
+  DB  197,254,91,210                      ; vcvttps2dq    %ymm2,%ymm2
+  DB  196,194,109,0,210                   ; vpshufb       %ymm10,%ymm2,%ymm2
+  DB  196,227,253,0,210,232               ; vpermq        $0xe8,%ymm2,%ymm2
+  DB  196,99,53,56,202,1                  ; vinserti128   $0x1,%xmm2,%ymm9,%ymm9
+  DB  196,226,125,24,80,8                 ; vbroadcastss  0x8(%rax),%ymm2
+  DB  196,98,125,24,96,24                 ; vbroadcastss  0x18(%rax),%ymm12
+  DB  197,124,40,234                      ; vmovaps       %ymm2,%ymm13
+  DB  196,66,125,168,236                  ; vfmadd213ps   %ymm12,%ymm0,%ymm13
+  DB  196,194,117,168,212                 ; vfmadd213ps   %ymm12,%ymm1,%ymm2
+  DB  196,194,101,168,211                 ; vfmadd213ps   %ymm11,%ymm3,%ymm2
+  DB  196,66,101,168,235                  ; vfmadd213ps   %ymm11,%ymm3,%ymm13
+  DB  196,65,126,91,229                   ; vcvttps2dq    %ymm13,%ymm12
+  DB  196,66,29,0,226                     ; vpshufb       %ymm10,%ymm12,%ymm12
+  DB  196,67,253,0,228,232                ; vpermq        $0xe8,%ymm12,%ymm12
+  DB  197,254,91,210                      ; vcvttps2dq    %ymm2,%ymm2
+  DB  196,194,109,0,210                   ; vpshufb       %ymm10,%ymm2,%ymm2
+  DB  196,227,253,0,210,232               ; vpermq        $0xe8,%ymm2,%ymm2
+  DB  196,227,29,56,210,1                 ; vinserti128   $0x1,%xmm2,%ymm12,%ymm2
+  DB  196,98,125,24,96,12                 ; vbroadcastss  0xc(%rax),%ymm12
+  DB  196,98,125,24,104,28                ; vbroadcastss  0x1c(%rax),%ymm13
+  DB  196,194,29,168,197                  ; vfmadd213ps   %ymm13,%ymm12,%ymm0
+  DB  196,66,117,168,229                  ; vfmadd213ps   %ymm13,%ymm1,%ymm12
+  DB  196,66,101,168,227                  ; vfmadd213ps   %ymm11,%ymm3,%ymm12
+  DB  196,194,101,168,195                 ; vfmadd213ps   %ymm11,%ymm3,%ymm0
+  DB  197,254,91,192                      ; vcvttps2dq    %ymm0,%ymm0
+  DB  196,194,125,0,194                   ; vpshufb       %ymm10,%ymm0,%ymm0
+  DB  196,227,253,0,192,232               ; vpermq        $0xe8,%ymm0,%ymm0
+  DB  196,193,126,91,204                  ; vcvttps2dq    %ymm12,%ymm1
+  DB  196,194,117,0,202                   ; vpshufb       %ymm10,%ymm1,%ymm1
+  DB  196,227,253,0,201,232               ; vpermq        $0xe8,%ymm1,%ymm1
+  DB  196,227,125,56,217,1                ; vinserti128   $0x1,%xmm1,%ymm0,%ymm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,125,127,192                     ; vmovdqa       %ymm8,%ymm0
+  DB  197,125,127,201                     ; vmovdqa       %ymm9,%ymm1
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_xy_to_unit_angle_hsw_lowp
+_sk_xy_to_unit_angle_hsw_lowp LABEL PROC
+  DB  72,131,236,56                       ; sub           $0x38,%rsp
+  DB  197,252,17,60,36                    ; vmovups       %ymm7,(%rsp)
+  DB  197,252,40,254                      ; vmovaps       %ymm6,%ymm7
+  DB  197,252,40,245                      ; vmovaps       %ymm5,%ymm6
+  DB  197,252,40,236                      ; vmovaps       %ymm4,%ymm5
+  DB  197,252,40,227                      ; vmovaps       %ymm3,%ymm4
+  DB  197,252,40,217                      ; vmovaps       %ymm1,%ymm3
+  DB  197,252,40,200                      ; vmovaps       %ymm0,%ymm1
+  DB  196,98,125,24,5,2,159,0,0           ; vbroadcastss  0x9f02(%rip),%ymm8        # 34c5c <_sk_srcover_bgra_8888_sse2_lowp+0x444>
+  DB  196,65,116,84,200                   ; vandps        %ymm8,%ymm1,%ymm9
+  DB  196,65,100,84,208                   ; vandps        %ymm8,%ymm3,%ymm10
+  DB  196,65,108,84,216                   ; vandps        %ymm8,%ymm2,%ymm11
+  DB  196,65,92,84,192                    ; vandps        %ymm8,%ymm4,%ymm8
+  DB  196,65,44,194,224,1                 ; vcmpltps      %ymm8,%ymm10,%ymm12
+  DB  196,65,52,194,235,1                 ; vcmpltps      %ymm11,%ymm9,%ymm13
+  DB  196,67,37,74,241,208                ; vblendvps     %ymm13,%ymm9,%ymm11,%ymm14
+  DB  196,67,61,74,250,192                ; vblendvps     %ymm12,%ymm10,%ymm8,%ymm15
+  DB  196,67,53,74,203,208                ; vblendvps     %ymm13,%ymm11,%ymm9,%ymm9
+  DB  196,65,12,94,201                    ; vdivps        %ymm9,%ymm14,%ymm9
+  DB  196,67,45,74,192,192                ; vblendvps     %ymm12,%ymm8,%ymm10,%ymm8
+  DB  196,65,4,94,192                     ; vdivps        %ymm8,%ymm15,%ymm8
+  DB  196,65,60,89,208                    ; vmulps        %ymm8,%ymm8,%ymm10
+  DB  196,98,125,24,29,90,158,0,0         ; vbroadcastss  0x9e5a(%rip),%ymm11        # 34c04 <_sk_srcover_bgra_8888_sse2_lowp+0x3ec>
+  DB  196,98,125,24,53,85,158,0,0         ; vbroadcastss  0x9e55(%rip),%ymm14        # 34c08 <_sk_srcover_bgra_8888_sse2_lowp+0x3f0>
+  DB  196,65,124,40,251                   ; vmovaps       %ymm11,%ymm15
+  DB  196,66,45,168,254                   ; vfmadd213ps   %ymm14,%ymm10,%ymm15
+  DB  196,193,52,89,193                   ; vmulps        %ymm9,%ymm9,%ymm0
+  DB  196,66,125,168,222                  ; vfmadd213ps   %ymm14,%ymm0,%ymm11
+  DB  196,98,125,24,53,60,158,0,0         ; vbroadcastss  0x9e3c(%rip),%ymm14        # 34c0c <_sk_srcover_bgra_8888_sse2_lowp+0x3f4>
+  DB  196,66,125,168,222                  ; vfmadd213ps   %ymm14,%ymm0,%ymm11
+  DB  196,66,45,168,254                   ; vfmadd213ps   %ymm14,%ymm10,%ymm15
+  DB  196,98,125,24,53,45,158,0,0         ; vbroadcastss  0x9e2d(%rip),%ymm14        # 34c10 <_sk_srcover_bgra_8888_sse2_lowp+0x3f8>
+  DB  196,66,45,168,254                   ; vfmadd213ps   %ymm14,%ymm10,%ymm15
+  DB  196,66,125,168,222                  ; vfmadd213ps   %ymm14,%ymm0,%ymm11
+  DB  196,193,52,89,195                   ; vmulps        %ymm11,%ymm9,%ymm0
+  DB  196,98,125,24,13,25,158,0,0         ; vbroadcastss  0x9e19(%rip),%ymm9        # 34c14 <_sk_srcover_bgra_8888_sse2_lowp+0x3fc>
+  DB  197,52,92,208                       ; vsubps        %ymm0,%ymm9,%ymm10
+  DB  196,195,125,74,194,208              ; vblendvps     %ymm13,%ymm10,%ymm0,%ymm0
+  DB  196,65,60,89,199                    ; vmulps        %ymm15,%ymm8,%ymm8
+  DB  196,65,52,92,200                    ; vsubps        %ymm8,%ymm9,%ymm9
+  DB  196,67,61,74,193,192                ; vblendvps     %ymm12,%ymm9,%ymm8,%ymm8
+  DB  196,65,52,87,201                    ; vxorps        %ymm9,%ymm9,%ymm9
+  DB  196,193,116,194,201,1               ; vcmpltps      %ymm9,%ymm1,%ymm1
+  DB  196,98,125,24,21,155,156,0,0        ; vbroadcastss  0x9c9b(%rip),%ymm10        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  197,44,92,216                       ; vsubps        %ymm0,%ymm10,%ymm11
+  DB  196,195,125,74,195,16               ; vblendvps     %ymm1,%ymm11,%ymm0,%ymm0
+  DB  196,193,100,194,201,1               ; vcmpltps      %ymm9,%ymm3,%ymm1
+  DB  196,193,44,92,216                   ; vsubps        %ymm8,%ymm10,%ymm3
+  DB  196,227,61,74,203,16                ; vblendvps     %ymm1,%ymm3,%ymm8,%ymm1
+  DB  196,193,108,194,217,1               ; vcmpltps      %ymm9,%ymm2,%ymm3
+  DB  196,98,125,24,5,117,156,0,0         ; vbroadcastss  0x9c75(%rip),%ymm8        # 34ac8 <_sk_srcover_bgra_8888_sse2_lowp+0x2b0>
+  DB  197,60,92,208                       ; vsubps        %ymm0,%ymm8,%ymm10
+  DB  196,195,125,74,194,48               ; vblendvps     %ymm3,%ymm10,%ymm0,%ymm0
+  DB  196,193,92,194,217,1                ; vcmpltps      %ymm9,%ymm4,%ymm3
+  DB  197,60,92,193                       ; vsubps        %ymm1,%ymm8,%ymm8
+  DB  196,195,117,74,200,48               ; vblendvps     %ymm3,%ymm8,%ymm1,%ymm1
+  DB  196,193,124,194,217,7               ; vcmpordps     %ymm9,%ymm0,%ymm3
+  DB  197,228,84,192                      ; vandps        %ymm0,%ymm3,%ymm0
+  DB  196,193,116,194,217,7               ; vcmpordps     %ymm9,%ymm1,%ymm3
+  DB  197,228,84,201                      ; vandps        %ymm1,%ymm3,%ymm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  197,252,40,220                      ; vmovaps       %ymm4,%ymm3
+  DB  197,252,40,229                      ; vmovaps       %ymm5,%ymm4
+  DB  197,252,40,238                      ; vmovaps       %ymm6,%ymm5
+  DB  197,252,40,247                      ; vmovaps       %ymm7,%ymm6
+  DB  197,252,16,60,36                    ; vmovups       (%rsp),%ymm7
+  DB  72,131,196,56                       ; add           $0x38,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_xy_to_radius_hsw_lowp
+_sk_xy_to_radius_hsw_lowp LABEL PROC
+  DB  197,108,89,194                      ; vmulps        %ymm2,%ymm2,%ymm8
+  DB  197,100,89,203                      ; vmulps        %ymm3,%ymm3,%ymm9
+  DB  196,98,117,184,201                  ; vfmadd231ps   %ymm1,%ymm1,%ymm9
+  DB  196,98,125,184,192                  ; vfmadd231ps   %ymm0,%ymm0,%ymm8
+  DB  196,193,124,81,192                  ; vsqrtps       %ymm8,%ymm0
+  DB  196,193,124,81,201                  ; vsqrtps       %ymm9,%ymm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_srcover_rgba_8888_hsw_lowp
+_sk_srcover_rgba_8888_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  77,141,12,144                       ; lea           (%r8,%rdx,4),%r9
+  DB  65,137,250                          ; mov           %edi,%r10d
+  DB  65,128,226,15                       ; and           $0xf,%r10b
+  DB  65,254,202                          ; dec           %r10b
+  DB  69,15,182,194                       ; movzbl        %r10b,%r8d
+  DB  65,128,248,14                       ; cmp           $0xe,%r8b
+  DB  119,51                              ; ja            2af1a <_sk_srcover_rgba_8888_hsw_lowp+0x5c>
+  DB  197,221,239,228                     ; vpxor         %ymm4,%ymm4,%ymm4
+  DB  76,141,29,234,2,0,0                 ; lea           0x2ea(%rip),%r11        # 2b1dc <_sk_srcover_rgba_8888_hsw_lowp+0x31e>
+  DB  75,99,4,131                         ; movslq        (%r11,%r8,4),%rax
+  DB  76,1,216                            ; add           %r11,%rax
+  DB  197,213,239,237                     ; vpxor         %ymm5,%ymm5,%ymm5
+  DB  197,205,239,246                     ; vpxor         %ymm6,%ymm6,%ymm6
+  DB  196,65,61,239,192                   ; vpxor         %ymm8,%ymm8,%ymm8
+  DB  197,197,239,255                     ; vpxor         %ymm7,%ymm7,%ymm7
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,193,121,110,41                  ; vmovd         (%r9),%xmm5
+  DB  197,221,239,228                     ; vpxor         %ymm4,%ymm4,%ymm4
+  DB  233,22,1,0,0                        ; jmpq          2b030 <_sk_srcover_rgba_8888_hsw_lowp+0x172>
+  DB  196,193,126,111,41                  ; vmovdqu       (%r9),%ymm5
+  DB  196,193,126,111,97,32               ; vmovdqu       0x20(%r9),%ymm4
+  DB  233,6,1,0,0                         ; jmpq          2b030 <_sk_srcover_rgba_8888_hsw_lowp+0x172>
+  DB  196,193,121,110,97,8                ; vmovd         0x8(%r9),%xmm4
+  DB  196,226,121,89,228                  ; vpbroadcastq  %xmm4,%xmm4
+  DB  197,197,239,255                     ; vpxor         %ymm7,%ymm7,%ymm7
+  DB  196,227,69,2,228,4                  ; vpblendd      $0x4,%ymm4,%ymm7,%ymm4
+  DB  196,194,121,53,41                   ; vpmovzxdq     (%r9),%xmm5
+  DB  197,249,112,237,232                 ; vpshufd       $0xe8,%xmm5,%xmm5
+  DB  196,227,93,2,237,3                  ; vpblendd      $0x3,%ymm5,%ymm4,%ymm5
+  DB  197,253,111,231                     ; vmovdqa       %ymm7,%ymm4
+  DB  233,216,0,0,0                       ; jmpq          2b030 <_sk_srcover_rgba_8888_hsw_lowp+0x172>
+  DB  196,193,121,110,97,24               ; vmovd         0x18(%r9),%xmm4
+  DB  196,226,125,89,228                  ; vpbroadcastq  %xmm4,%ymm4
+  DB  197,213,239,237                     ; vpxor         %ymm5,%ymm5,%ymm5
+  DB  196,227,85,2,228,64                 ; vpblendd      $0x40,%ymm4,%ymm5,%ymm4
+  DB  196,227,125,57,230,1                ; vextracti128  $0x1,%ymm4,%xmm6
+  DB  196,195,73,34,113,20,1              ; vpinsrd       $0x1,0x14(%r9),%xmm6,%xmm6
+  DB  196,227,93,56,230,1                 ; vinserti128   $0x1,%xmm6,%ymm4,%ymm4
+  DB  197,253,111,245                     ; vmovdqa       %ymm5,%ymm6
+  DB  196,227,125,57,229,1                ; vextracti128  $0x1,%ymm4,%xmm5
+  DB  196,195,81,34,105,16,0              ; vpinsrd       $0x0,0x10(%r9),%xmm5,%xmm5
+  DB  196,227,93,56,229,1                 ; vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  DB  197,125,111,198                     ; vmovdqa       %ymm6,%ymm8
+  DB  196,193,122,111,41                  ; vmovdqu       (%r9),%xmm5
+  DB  196,227,85,2,236,240                ; vpblendd      $0xf0,%ymm4,%ymm5,%ymm5
+  DB  197,125,127,196                     ; vmovdqa       %ymm8,%ymm4
+  DB  233,129,0,0,0                       ; jmpq          2b030 <_sk_srcover_rgba_8888_hsw_lowp+0x172>
+  DB  196,193,121,110,97,40               ; vmovd         0x28(%r9),%xmm4
+  DB  196,226,121,89,228                  ; vpbroadcastq  %xmm4,%xmm4
+  DB  197,213,239,237                     ; vpxor         %ymm5,%ymm5,%ymm5
+  DB  196,227,85,2,228,4                  ; vpblendd      $0x4,%ymm4,%ymm5,%ymm4
+  DB  196,195,89,34,105,36,1              ; vpinsrd       $0x1,0x24(%r9),%xmm4,%xmm5
+  DB  196,227,93,2,229,15                 ; vpblendd      $0xf,%ymm5,%ymm4,%ymm4
+  DB  196,193,121,110,105,32              ; vmovd         0x20(%r9),%xmm5
+  DB  196,227,93,2,229,1                  ; vpblendd      $0x1,%ymm5,%ymm4,%ymm4
+  DB  196,193,126,111,41                  ; vmovdqu       (%r9),%ymm5
+  DB  235,76                              ; jmp           2b030 <_sk_srcover_rgba_8888_hsw_lowp+0x172>
+  DB  196,193,121,110,97,56               ; vmovd         0x38(%r9),%xmm4
+  DB  196,226,125,89,228                  ; vpbroadcastq  %xmm4,%ymm4
+  DB  197,213,239,237                     ; vpxor         %ymm5,%ymm5,%ymm5
+  DB  196,227,85,2,228,64                 ; vpblendd      $0x40,%ymm4,%ymm5,%ymm4
+  DB  196,227,125,57,229,1                ; vextracti128  $0x1,%ymm4,%xmm5
+  DB  196,195,81,34,105,52,1              ; vpinsrd       $0x1,0x34(%r9),%xmm5,%xmm5
+  DB  196,227,93,56,229,1                 ; vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  DB  196,227,125,57,229,1                ; vextracti128  $0x1,%ymm4,%xmm5
+  DB  196,195,81,34,105,48,0              ; vpinsrd       $0x0,0x30(%r9),%xmm5,%xmm5
+  DB  196,227,93,56,229,1                 ; vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  DB  196,193,126,111,41                  ; vmovdqu       (%r9),%ymm5
+  DB  196,193,122,111,113,32              ; vmovdqu       0x20(%r9),%xmm6
+  DB  196,227,77,2,228,240                ; vpblendd      $0xf0,%ymm4,%ymm6,%ymm4
+  DB  196,227,85,56,244,1                 ; vinserti128   $0x1,%xmm4,%ymm5,%ymm6
+  DB  196,227,85,70,252,49                ; vperm2i128    $0x31,%ymm4,%ymm5,%ymm7
+  DB  197,221,239,228                     ; vpxor         %ymm4,%ymm4,%ymm4
+  DB  196,227,69,14,236,170               ; vpblendw      $0xaa,%ymm4,%ymm7,%ymm5
+  DB  196,227,77,14,228,170               ; vpblendw      $0xaa,%ymm4,%ymm6,%ymm4
+  DB  196,226,93,43,237                   ; vpackusdw     %ymm5,%ymm4,%ymm5
+  DB  197,125,111,5,135,163,0,0           ; vmovdqa       0xa387(%rip),%ymm8        # 353e0 <_sk_srcover_bgra_8888_sse2_lowp+0xbc8>
+  DB  196,193,85,219,224                  ; vpand         %ymm8,%ymm5,%ymm4
+  DB  196,98,125,121,13,153,163,0,0       ; vpbroadcastw  0xa399(%rip),%ymm9        # 35400 <_sk_srcover_bgra_8888_sse2_lowp+0xbe8>
+  DB  197,213,113,213,8                   ; vpsrlw        $0x8,%ymm5,%ymm5
+  DB  197,197,114,215,16                  ; vpsrld        $0x10,%ymm7,%ymm7
+  DB  197,205,114,214,16                  ; vpsrld        $0x10,%ymm6,%ymm6
+  DB  196,226,77,43,255                   ; vpackusdw     %ymm7,%ymm6,%ymm7
+  DB  196,193,69,219,240                  ; vpand         %ymm8,%ymm7,%ymm6
+  DB  197,197,113,215,8                   ; vpsrlw        $0x8,%ymm7,%ymm7
+  DB  197,53,249,195                      ; vpsubw        %ymm3,%ymm9,%ymm8
+  DB  196,65,93,213,208                   ; vpmullw       %ymm8,%ymm4,%ymm10
+  DB  196,65,45,253,209                   ; vpaddw        %ymm9,%ymm10,%ymm10
+  DB  196,193,45,113,210,8                ; vpsrlw        $0x8,%ymm10,%ymm10
+  DB  197,173,253,192                     ; vpaddw        %ymm0,%ymm10,%ymm0
+  DB  196,65,85,213,208                   ; vpmullw       %ymm8,%ymm5,%ymm10
+  DB  196,65,45,253,209                   ; vpaddw        %ymm9,%ymm10,%ymm10
+  DB  196,193,45,113,210,8                ; vpsrlw        $0x8,%ymm10,%ymm10
+  DB  197,173,253,201                     ; vpaddw        %ymm1,%ymm10,%ymm1
+  DB  196,65,77,213,208                   ; vpmullw       %ymm8,%ymm6,%ymm10
+  DB  196,65,45,253,209                   ; vpaddw        %ymm9,%ymm10,%ymm10
+  DB  196,193,45,113,210,8                ; vpsrlw        $0x8,%ymm10,%ymm10
+  DB  197,173,253,210                     ; vpaddw        %ymm2,%ymm10,%ymm2
+  DB  196,65,69,213,192                   ; vpmullw       %ymm8,%ymm7,%ymm8
+  DB  196,65,61,253,193                   ; vpaddw        %ymm9,%ymm8,%ymm8
+  DB  196,193,61,113,208,8                ; vpsrlw        $0x8,%ymm8,%ymm8
+  DB  197,189,253,219                     ; vpaddw        %ymm3,%ymm8,%ymm3
+  DB  197,189,113,241,8                   ; vpsllw        $0x8,%ymm1,%ymm8
+  DB  197,61,235,192                      ; vpor          %ymm0,%ymm8,%ymm8
+  DB  196,66,125,51,200                   ; vpmovzxwd     %xmm8,%ymm9
+  DB  196,67,125,57,192,1                 ; vextracti128  $0x1,%ymm8,%xmm8
+  DB  196,66,125,51,208                   ; vpmovzxwd     %xmm8,%ymm10
+  DB  197,189,113,243,8                   ; vpsllw        $0x8,%ymm3,%ymm8
+  DB  197,61,235,194                      ; vpor          %ymm2,%ymm8,%ymm8
+  DB  196,67,125,57,195,1                 ; vextracti128  $0x1,%ymm8,%xmm11
+  DB  196,66,125,51,219                   ; vpmovzxwd     %xmm11,%ymm11
+  DB  196,66,125,51,192                   ; vpmovzxwd     %xmm8,%ymm8
+  DB  196,193,61,114,240,16               ; vpslld        $0x10,%ymm8,%ymm8
+  DB  196,65,61,235,193                   ; vpor          %ymm9,%ymm8,%ymm8
+  DB  196,193,53,114,243,16               ; vpslld        $0x10,%ymm11,%ymm9
+  DB  196,65,53,235,202                   ; vpor          %ymm10,%ymm9,%ymm9
+  DB  65,128,250,14                       ; cmp           $0xe,%r10b
+  DB  119,26                              ; ja            2b141 <_sk_srcover_rgba_8888_hsw_lowp+0x283>
+  DB  76,141,21,234,0,0,0                 ; lea           0xea(%rip),%r10        # 2b218 <_sk_srcover_rgba_8888_hsw_lowp+0x35a>
+  DB  75,99,4,130                         ; movslq        (%r10,%r8,4),%rax
+  DB  76,1,208                            ; add           %r10,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,65,121,126,1                    ; vmovd         %xmm8,(%r9)
+  DB  233,151,0,0,0                       ; jmpq          2b1d8 <_sk_srcover_rgba_8888_hsw_lowp+0x31a>
+  DB  196,65,126,127,1                    ; vmovdqu       %ymm8,(%r9)
+  DB  196,65,126,127,73,32                ; vmovdqu       %ymm9,0x20(%r9)
+  DB  233,135,0,0,0                       ; jmpq          2b1d8 <_sk_srcover_rgba_8888_hsw_lowp+0x31a>
+  DB  196,67,121,22,65,8,2                ; vpextrd       $0x2,%xmm8,0x8(%r9)
+  DB  196,65,121,214,1                    ; vmovq         %xmm8,(%r9)
+  DB  235,121                             ; jmp           2b1d8 <_sk_srcover_rgba_8888_hsw_lowp+0x31a>
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,67,121,22,73,24,2               ; vpextrd       $0x2,%xmm9,0x18(%r9)
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,67,121,22,73,20,1               ; vpextrd       $0x1,%xmm9,0x14(%r9)
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,65,121,126,73,16                ; vmovd         %xmm9,0x10(%r9)
+  DB  196,65,122,127,1                    ; vmovdqu       %xmm8,(%r9)
+  DB  235,76                              ; jmp           2b1d8 <_sk_srcover_rgba_8888_hsw_lowp+0x31a>
+  DB  196,67,121,22,73,40,2               ; vpextrd       $0x2,%xmm9,0x28(%r9)
+  DB  196,67,121,22,73,36,1               ; vpextrd       $0x1,%xmm9,0x24(%r9)
+  DB  196,65,121,126,73,32                ; vmovd         %xmm9,0x20(%r9)
+  DB  196,65,126,127,1                    ; vmovdqu       %ymm8,(%r9)
+  DB  235,49                              ; jmp           2b1d8 <_sk_srcover_rgba_8888_hsw_lowp+0x31a>
+  DB  196,67,125,57,202,1                 ; vextracti128  $0x1,%ymm9,%xmm10
+  DB  196,67,121,22,81,56,2               ; vpextrd       $0x2,%xmm10,0x38(%r9)
+  DB  196,67,125,57,202,1                 ; vextracti128  $0x1,%ymm9,%xmm10
+  DB  196,67,121,22,81,52,1               ; vpextrd       $0x1,%xmm10,0x34(%r9)
+  DB  196,67,125,57,202,1                 ; vextracti128  $0x1,%ymm9,%xmm10
+  DB  196,65,121,126,81,48                ; vmovd         %xmm10,0x30(%r9)
+  DB  196,65,126,127,1                    ; vmovdqu       %ymm8,(%r9)
+  DB  196,65,122,127,73,32                ; vmovdqu       %xmm9,0x20(%r9)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  48,253                              ; xor           %bh,%ch
+  DB  255                                 ; (bad)
+  DB  255,99,253                          ; jmpq          *-0x3(%rbx)
+  DB  255                                 ; (bad)
+  DB  255,78,253                          ; decl          -0x3(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  191,253,255,255,168                 ; mov           $0xa8fffffd,%edi
+  DB  253                                 ; std
+  DB  255                                 ; (bad)
+  DB  255,145,253,255,255,124             ; callq         *0x7cfffffd(%rcx)
+  DB  253                                 ; std
+  DB  255                                 ; (bad)
+  DB  255,1                               ; incl          (%rcx)
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,245                             ; push          %rbp
+  DB  253                                 ; std
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  232,253,255,255,211                 ; callq         ffffffffd402b202 <_sk_srcover_bgra_8888_sse2_lowp+0xffffffffd3ff69ea>
+  DB  253                                 ; std
+  DB  255                                 ; (bad)
+  DB  255,67,254                          ; incl          -0x2(%rbx)
+  DB  255                                 ; (bad)
+  DB  255,48                              ; pushq         (%rax)
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,29,254,255,255,8                ; lcall         *0x8fffffe(%rip)        # 902b213 <_sk_srcover_bgra_8888_sse2_lowp+0x8ff69fb>
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,31                              ; lcall         *(%rdi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,64,255                          ; incl          -0x1(%rax)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  57,255                              ; cmp           %edi,%edi
+  DB  255                                 ; (bad)
+  DB  255,109,255                         ; ljmp          *-0x1(%rbp)
+  DB  255                                 ; (bad)
+  DB  255,97,255                          ; jmpq          *-0x1(%rcx)
+  DB  255                                 ; (bad)
+  DB  255,84,255,255                      ; callq         *-0x1(%rdi,%rdi,8)
+  DB  255,71,255                          ; incl          -0x1(%rdi)
+  DB  255                                 ; (bad)
+  DB  255,136,255,255,255,130             ; decl          -0x7d000001(%rax)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  123,255                             ; jnp           2b23d <_sk_srcover_rgba_8888_hsw_lowp+0x37f>
+  DB  255                                 ; (bad)
+  DB  255,116,255,255                     ; pushq         -0x1(%rdi,%rdi,8)
+  DB  255,181,255,255,255,169             ; pushq         -0x56000001(%rbp)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,156,255,255,255,143,255         ; lcall         *-0x700001(%rdi,%rdi,8)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_srcover_bgra_8888_hsw_lowp
+_sk_srcover_bgra_8888_hsw_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  77,141,12,144                       ; lea           (%r8,%rdx,4),%r9
+  DB  65,137,250                          ; mov           %edi,%r10d
+  DB  65,128,226,15                       ; and           $0xf,%r10b
+  DB  65,254,202                          ; dec           %r10b
+  DB  69,15,182,194                       ; movzbl        %r10b,%r8d
+  DB  65,128,248,14                       ; cmp           $0xe,%r8b
+  DB  119,51                              ; ja            2b2b0 <_sk_srcover_bgra_8888_hsw_lowp+0x5c>
+  DB  197,221,239,228                     ; vpxor         %ymm4,%ymm4,%ymm4
+  DB  76,141,29,236,2,0,0                 ; lea           0x2ec(%rip),%r11        # 2b574 <_sk_srcover_bgra_8888_hsw_lowp+0x320>
+  DB  75,99,4,131                         ; movslq        (%r11,%r8,4),%rax
+  DB  76,1,216                            ; add           %r11,%rax
+  DB  197,213,239,237                     ; vpxor         %ymm5,%ymm5,%ymm5
+  DB  197,205,239,246                     ; vpxor         %ymm6,%ymm6,%ymm6
+  DB  196,65,61,239,192                   ; vpxor         %ymm8,%ymm8,%ymm8
+  DB  197,197,239,255                     ; vpxor         %ymm7,%ymm7,%ymm7
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,193,121,110,41                  ; vmovd         (%r9),%xmm5
+  DB  197,221,239,228                     ; vpxor         %ymm4,%ymm4,%ymm4
+  DB  233,22,1,0,0                        ; jmpq          2b3c6 <_sk_srcover_bgra_8888_hsw_lowp+0x172>
+  DB  196,193,126,111,41                  ; vmovdqu       (%r9),%ymm5
+  DB  196,193,126,111,97,32               ; vmovdqu       0x20(%r9),%ymm4
+  DB  233,6,1,0,0                         ; jmpq          2b3c6 <_sk_srcover_bgra_8888_hsw_lowp+0x172>
+  DB  196,193,121,110,97,8                ; vmovd         0x8(%r9),%xmm4
+  DB  196,226,121,89,228                  ; vpbroadcastq  %xmm4,%xmm4
+  DB  197,197,239,255                     ; vpxor         %ymm7,%ymm7,%ymm7
+  DB  196,227,69,2,228,4                  ; vpblendd      $0x4,%ymm4,%ymm7,%ymm4
+  DB  196,194,121,53,41                   ; vpmovzxdq     (%r9),%xmm5
+  DB  197,249,112,237,232                 ; vpshufd       $0xe8,%xmm5,%xmm5
+  DB  196,227,93,2,237,3                  ; vpblendd      $0x3,%ymm5,%ymm4,%ymm5
+  DB  197,253,111,231                     ; vmovdqa       %ymm7,%ymm4
+  DB  233,216,0,0,0                       ; jmpq          2b3c6 <_sk_srcover_bgra_8888_hsw_lowp+0x172>
+  DB  196,193,121,110,97,24               ; vmovd         0x18(%r9),%xmm4
+  DB  196,226,125,89,228                  ; vpbroadcastq  %xmm4,%ymm4
+  DB  197,213,239,237                     ; vpxor         %ymm5,%ymm5,%ymm5
+  DB  196,227,85,2,228,64                 ; vpblendd      $0x40,%ymm4,%ymm5,%ymm4
+  DB  196,227,125,57,230,1                ; vextracti128  $0x1,%ymm4,%xmm6
+  DB  196,195,73,34,113,20,1              ; vpinsrd       $0x1,0x14(%r9),%xmm6,%xmm6
+  DB  196,227,93,56,230,1                 ; vinserti128   $0x1,%xmm6,%ymm4,%ymm4
+  DB  197,253,111,245                     ; vmovdqa       %ymm5,%ymm6
+  DB  196,227,125,57,229,1                ; vextracti128  $0x1,%ymm4,%xmm5
+  DB  196,195,81,34,105,16,0              ; vpinsrd       $0x0,0x10(%r9),%xmm5,%xmm5
+  DB  196,227,93,56,229,1                 ; vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  DB  197,125,111,198                     ; vmovdqa       %ymm6,%ymm8
+  DB  196,193,122,111,41                  ; vmovdqu       (%r9),%xmm5
+  DB  196,227,85,2,236,240                ; vpblendd      $0xf0,%ymm4,%ymm5,%ymm5
+  DB  197,125,127,196                     ; vmovdqa       %ymm8,%ymm4
+  DB  233,129,0,0,0                       ; jmpq          2b3c6 <_sk_srcover_bgra_8888_hsw_lowp+0x172>
+  DB  196,193,121,110,97,40               ; vmovd         0x28(%r9),%xmm4
+  DB  196,226,121,89,228                  ; vpbroadcastq  %xmm4,%xmm4
+  DB  197,213,239,237                     ; vpxor         %ymm5,%ymm5,%ymm5
+  DB  196,227,85,2,228,4                  ; vpblendd      $0x4,%ymm4,%ymm5,%ymm4
+  DB  196,195,89,34,105,36,1              ; vpinsrd       $0x1,0x24(%r9),%xmm4,%xmm5
+  DB  196,227,93,2,229,15                 ; vpblendd      $0xf,%ymm5,%ymm4,%ymm4
+  DB  196,193,121,110,105,32              ; vmovd         0x20(%r9),%xmm5
+  DB  196,227,93,2,229,1                  ; vpblendd      $0x1,%ymm5,%ymm4,%ymm4
+  DB  196,193,126,111,41                  ; vmovdqu       (%r9),%ymm5
+  DB  235,76                              ; jmp           2b3c6 <_sk_srcover_bgra_8888_hsw_lowp+0x172>
+  DB  196,193,121,110,97,56               ; vmovd         0x38(%r9),%xmm4
+  DB  196,226,125,89,228                  ; vpbroadcastq  %xmm4,%ymm4
+  DB  197,213,239,237                     ; vpxor         %ymm5,%ymm5,%ymm5
+  DB  196,227,85,2,228,64                 ; vpblendd      $0x40,%ymm4,%ymm5,%ymm4
+  DB  196,227,125,57,229,1                ; vextracti128  $0x1,%ymm4,%xmm5
+  DB  196,195,81,34,105,52,1              ; vpinsrd       $0x1,0x34(%r9),%xmm5,%xmm5
+  DB  196,227,93,56,229,1                 ; vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  DB  196,227,125,57,229,1                ; vextracti128  $0x1,%ymm4,%xmm5
+  DB  196,195,81,34,105,48,0              ; vpinsrd       $0x0,0x30(%r9),%xmm5,%xmm5
+  DB  196,227,93,56,229,1                 ; vinserti128   $0x1,%xmm5,%ymm4,%ymm4
+  DB  196,193,126,111,41                  ; vmovdqu       (%r9),%ymm5
+  DB  196,193,122,111,113,32              ; vmovdqu       0x20(%r9),%xmm6
+  DB  196,227,77,2,228,240                ; vpblendd      $0xf0,%ymm4,%ymm6,%ymm4
+  DB  196,227,85,56,252,1                 ; vinserti128   $0x1,%xmm4,%ymm5,%ymm7
+  DB  196,227,85,70,228,49                ; vperm2i128    $0x31,%ymm4,%ymm5,%ymm4
+  DB  197,213,239,237                     ; vpxor         %ymm5,%ymm5,%ymm5
+  DB  196,227,93,14,245,170               ; vpblendw      $0xaa,%ymm5,%ymm4,%ymm6
+  DB  196,227,69,14,237,170               ; vpblendw      $0xaa,%ymm5,%ymm7,%ymm5
+  DB  196,226,85,43,238                   ; vpackusdw     %ymm6,%ymm5,%ymm5
+  DB  197,125,111,5,49,160,0,0            ; vmovdqa       0xa031(%rip),%ymm8        # 35420 <_sk_srcover_bgra_8888_sse2_lowp+0xc08>
+  DB  196,193,85,219,240                  ; vpand         %ymm8,%ymm5,%ymm6
+  DB  196,98,125,121,13,67,160,0,0        ; vpbroadcastw  0xa043(%rip),%ymm9        # 35440 <_sk_srcover_bgra_8888_sse2_lowp+0xc28>
+  DB  197,213,113,213,8                   ; vpsrlw        $0x8,%ymm5,%ymm5
+  DB  197,221,114,212,16                  ; vpsrld        $0x10,%ymm4,%ymm4
+  DB  197,197,114,215,16                  ; vpsrld        $0x10,%ymm7,%ymm7
+  DB  196,226,69,43,252                   ; vpackusdw     %ymm4,%ymm7,%ymm7
+  DB  196,193,69,219,224                  ; vpand         %ymm8,%ymm7,%ymm4
+  DB  197,197,113,215,8                   ; vpsrlw        $0x8,%ymm7,%ymm7
+  DB  197,53,249,195                      ; vpsubw        %ymm3,%ymm9,%ymm8
+  DB  196,65,93,213,208                   ; vpmullw       %ymm8,%ymm4,%ymm10
+  DB  196,65,45,253,209                   ; vpaddw        %ymm9,%ymm10,%ymm10
+  DB  196,193,45,113,210,8                ; vpsrlw        $0x8,%ymm10,%ymm10
+  DB  197,173,253,192                     ; vpaddw        %ymm0,%ymm10,%ymm0
+  DB  196,65,85,213,208                   ; vpmullw       %ymm8,%ymm5,%ymm10
+  DB  196,65,45,253,209                   ; vpaddw        %ymm9,%ymm10,%ymm10
+  DB  196,193,45,113,210,8                ; vpsrlw        $0x8,%ymm10,%ymm10
+  DB  197,173,253,201                     ; vpaddw        %ymm1,%ymm10,%ymm1
+  DB  196,65,77,213,208                   ; vpmullw       %ymm8,%ymm6,%ymm10
+  DB  196,65,45,253,209                   ; vpaddw        %ymm9,%ymm10,%ymm10
+  DB  196,193,45,113,210,8                ; vpsrlw        $0x8,%ymm10,%ymm10
+  DB  197,173,253,210                     ; vpaddw        %ymm2,%ymm10,%ymm2
+  DB  196,65,69,213,192                   ; vpmullw       %ymm8,%ymm7,%ymm8
+  DB  196,65,61,253,193                   ; vpaddw        %ymm9,%ymm8,%ymm8
+  DB  196,193,61,113,208,8                ; vpsrlw        $0x8,%ymm8,%ymm8
+  DB  197,189,253,219                     ; vpaddw        %ymm3,%ymm8,%ymm3
+  DB  197,189,113,241,8                   ; vpsllw        $0x8,%ymm1,%ymm8
+  DB  197,61,235,194                      ; vpor          %ymm2,%ymm8,%ymm8
+  DB  196,66,125,51,200                   ; vpmovzxwd     %xmm8,%ymm9
+  DB  196,67,125,57,192,1                 ; vextracti128  $0x1,%ymm8,%xmm8
+  DB  196,66,125,51,208                   ; vpmovzxwd     %xmm8,%ymm10
+  DB  197,189,113,243,8                   ; vpsllw        $0x8,%ymm3,%ymm8
+  DB  197,61,235,192                      ; vpor          %ymm0,%ymm8,%ymm8
+  DB  196,67,125,57,195,1                 ; vextracti128  $0x1,%ymm8,%xmm11
+  DB  196,66,125,51,219                   ; vpmovzxwd     %xmm11,%ymm11
+  DB  196,66,125,51,192                   ; vpmovzxwd     %xmm8,%ymm8
+  DB  196,193,61,114,240,16               ; vpslld        $0x10,%ymm8,%ymm8
+  DB  196,65,61,235,193                   ; vpor          %ymm9,%ymm8,%ymm8
+  DB  196,193,53,114,243,16               ; vpslld        $0x10,%ymm11,%ymm9
+  DB  196,65,53,235,202                   ; vpor          %ymm10,%ymm9,%ymm9
+  DB  65,128,250,14                       ; cmp           $0xe,%r10b
+  DB  119,26                              ; ja            2b4d7 <_sk_srcover_bgra_8888_hsw_lowp+0x283>
+  DB  76,141,21,236,0,0,0                 ; lea           0xec(%rip),%r10        # 2b5b0 <_sk_srcover_bgra_8888_hsw_lowp+0x35c>
+  DB  75,99,4,130                         ; movslq        (%r10,%r8,4),%rax
+  DB  76,1,208                            ; add           %r10,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  196,65,121,126,1                    ; vmovd         %xmm8,(%r9)
+  DB  233,151,0,0,0                       ; jmpq          2b56e <_sk_srcover_bgra_8888_hsw_lowp+0x31a>
+  DB  196,65,126,127,1                    ; vmovdqu       %ymm8,(%r9)
+  DB  196,65,126,127,73,32                ; vmovdqu       %ymm9,0x20(%r9)
+  DB  233,135,0,0,0                       ; jmpq          2b56e <_sk_srcover_bgra_8888_hsw_lowp+0x31a>
+  DB  196,67,121,22,65,8,2                ; vpextrd       $0x2,%xmm8,0x8(%r9)
+  DB  196,65,121,214,1                    ; vmovq         %xmm8,(%r9)
+  DB  235,121                             ; jmp           2b56e <_sk_srcover_bgra_8888_hsw_lowp+0x31a>
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,67,121,22,73,24,2               ; vpextrd       $0x2,%xmm9,0x18(%r9)
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,67,121,22,73,20,1               ; vpextrd       $0x1,%xmm9,0x14(%r9)
+  DB  196,67,125,57,193,1                 ; vextracti128  $0x1,%ymm8,%xmm9
+  DB  196,65,121,126,73,16                ; vmovd         %xmm9,0x10(%r9)
+  DB  196,65,122,127,1                    ; vmovdqu       %xmm8,(%r9)
+  DB  235,76                              ; jmp           2b56e <_sk_srcover_bgra_8888_hsw_lowp+0x31a>
+  DB  196,67,121,22,73,40,2               ; vpextrd       $0x2,%xmm9,0x28(%r9)
+  DB  196,67,121,22,73,36,1               ; vpextrd       $0x1,%xmm9,0x24(%r9)
+  DB  196,65,121,126,73,32                ; vmovd         %xmm9,0x20(%r9)
+  DB  196,65,126,127,1                    ; vmovdqu       %ymm8,(%r9)
+  DB  235,49                              ; jmp           2b56e <_sk_srcover_bgra_8888_hsw_lowp+0x31a>
+  DB  196,67,125,57,202,1                 ; vextracti128  $0x1,%ymm9,%xmm10
+  DB  196,67,121,22,81,56,2               ; vpextrd       $0x2,%xmm10,0x38(%r9)
+  DB  196,67,125,57,202,1                 ; vextracti128  $0x1,%ymm9,%xmm10
+  DB  196,67,121,22,81,52,1               ; vpextrd       $0x1,%xmm10,0x34(%r9)
+  DB  196,67,125,57,202,1                 ; vextracti128  $0x1,%ymm9,%xmm10
+  DB  196,65,121,126,81,48                ; vmovd         %xmm10,0x30(%r9)
+  DB  196,65,126,127,1                    ; vmovdqu       %ymm8,(%r9)
+  DB  196,65,122,127,73,32                ; vmovdqu       %xmm9,0x20(%r9)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  46,253                              ; cs            std
+  DB  255                                 ; (bad)
+  DB  255,97,253                          ; jmpq          *-0x3(%rcx)
+  DB  255                                 ; (bad)
+  DB  255,76,253,255                      ; decl          -0x1(%rbp,%rdi,8)
+  DB  255                                 ; (bad)
+  DB  189,253,255,255,166                 ; mov           $0xa6fffffd,%ebp
+  DB  253                                 ; std
+  DB  255                                 ; (bad)
+  DB  255,143,253,255,255,122             ; decl          0x7afffffd(%rdi)
+  DB  253                                 ; std
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  253                                 ; std
+  DB  255                                 ; (bad)
+  DB  255,243                             ; push          %rbx
+  DB  253                                 ; std
+  DB  255                                 ; (bad)
+  DB  255,230                             ; jmpq          *%rsi
+  DB  253                                 ; std
+  DB  255                                 ; (bad)
+  DB  255,209                             ; callq         *%rcx
+  DB  253                                 ; std
+  DB  255                                 ; (bad)
+  DB  255,65,254                          ; incl          -0x2(%rcx)
+  DB  255                                 ; (bad)
+  DB  255,46                              ; ljmp          *(%rsi)
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,27                              ; lcall         *(%rbx)
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,6                               ; incl          (%rsi)
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,29,255,255,255,62               ; lcall         *0x3effffff(%rip)        # 3f02b5b4 <_sk_srcover_bgra_8888_sse2_lowp+0x3eff6d9c>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,55                              ; pushq         (%rdi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,107,255                         ; ljmp          *-0x1(%rbx)
+  DB  255                                 ; (bad)
+  DB  255,95,255                          ; lcall         *-0x1(%rdi)
+  DB  255                                 ; (bad)
+  DB  255,82,255                          ; callq         *-0x1(%rdx)
+  DB  255                                 ; (bad)
+  DB  255,69,255                          ; incl          -0x1(%rbp)
+  DB  255                                 ; (bad)
+  DB  255,134,255,255,255,128             ; incl          -0x7f000001(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  121,255                             ; jns           2b5d5 <_sk_srcover_bgra_8888_hsw_lowp+0x381>
+  DB  255                                 ; (bad)
+  DB  255,114,255                         ; pushq         -0x1(%rdx)
+  DB  255                                 ; (bad)
+  DB  255,179,255,255,255,167             ; pushq         -0x58000001(%rbx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,154,255,255,255,141             ; lcall         *-0x72000001(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_start_pipeline_sse41_lowp
+_sk_start_pipeline_sse41_lowp LABEL PROC
+  DB  85                                  ; push          %rbp
+  DB  72,137,229                          ; mov           %rsp,%rbp
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,85                               ; push          %r13
+  DB  65,84                               ; push          %r12
+  DB  86                                  ; push          %rsi
+  DB  87                                  ; push          %rdi
+  DB  83                                  ; push          %rbx
+  DB  72,129,236,200,0,0,0                ; sub           $0xc8,%rsp
+  DB  68,15,41,125,176                    ; movaps        %xmm15,-0x50(%rbp)
+  DB  68,15,41,117,160                    ; movaps        %xmm14,-0x60(%rbp)
+  DB  68,15,41,109,144                    ; movaps        %xmm13,-0x70(%rbp)
+  DB  68,15,41,101,128                    ; movaps        %xmm12,-0x80(%rbp)
+  DB  68,15,41,157,112,255,255,255        ; movaps        %xmm11,-0x90(%rbp)
+  DB  68,15,41,149,96,255,255,255         ; movaps        %xmm10,-0xa0(%rbp)
+  DB  68,15,41,141,80,255,255,255         ; movaps        %xmm9,-0xb0(%rbp)
+  DB  68,15,41,133,64,255,255,255         ; movaps        %xmm8,-0xc0(%rbp)
+  DB  15,41,189,48,255,255,255            ; movaps        %xmm7,-0xd0(%rbp)
+  DB  15,41,181,32,255,255,255            ; movaps        %xmm6,-0xe0(%rbp)
+  DB  77,137,199                          ; mov           %r8,%r15
+  DB  72,137,211                          ; mov           %rdx,%rbx
+  DB  72,137,141,24,255,255,255           ; mov           %rcx,-0xe8(%rbp)
+  DB  72,139,117,48                       ; mov           0x30(%rbp),%rsi
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  73,137,197                          ; mov           %rax,%r13
+  DB  73,137,246                          ; mov           %rsi,%r14
+  DB  76,137,141,8,255,255,255            ; mov           %r9,-0xf8(%rbp)
+  DB  76,57,203                           ; cmp           %r9,%rbx
+  DB  15,131,153,0,0,0                    ; jae           2b706 <_sk_start_pipeline_sse41_lowp+0x11a>
+  DB  72,139,133,24,255,255,255           ; mov           -0xe8(%rbp),%rax
+  DB  72,141,64,8                         ; lea           0x8(%rax),%rax
+  DB  72,137,133,16,255,255,255           ; mov           %rax,-0xf0(%rbp)
+  DB  76,57,189,16,255,255,255            ; cmp           %r15,-0xf0(%rbp)
+  DB  72,139,149,24,255,255,255           ; mov           -0xe8(%rbp),%rdx
+  DB  119,62                              ; ja            2b6cd <_sk_start_pipeline_sse41_lowp+0xe1>
+  DB  76,139,165,24,255,255,255           ; mov           -0xe8(%rbp),%r12
+  DB  49,255                              ; xor           %edi,%edi
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  15,87,201                           ; xorps         %xmm1,%xmm1
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,87,237                           ; xorps         %xmm5,%xmm5
+  DB  15,87,246                           ; xorps         %xmm6,%xmm6
+  DB  15,87,255                           ; xorps         %xmm7,%xmm7
+  DB  76,137,246                          ; mov           %r14,%rsi
+  DB  76,137,226                          ; mov           %r12,%rdx
+  DB  72,137,217                          ; mov           %rbx,%rcx
+  DB  65,255,213                          ; callq         *%r13
+  DB  73,141,84,36,8                      ; lea           0x8(%r12),%rdx
+  DB  73,131,196,16                       ; add           $0x10,%r12
+  DB  77,57,252                           ; cmp           %r15,%r12
+  DB  73,137,212                          ; mov           %rdx,%r12
+  DB  118,201                             ; jbe           2b696 <_sk_start_pipeline_sse41_lowp+0xaa>
+  DB  76,137,255                          ; mov           %r15,%rdi
+  DB  72,41,215                           ; sub           %rdx,%rdi
+  DB  116,33                              ; je            2b6f6 <_sk_start_pipeline_sse41_lowp+0x10a>
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  15,87,201                           ; xorps         %xmm1,%xmm1
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,87,237                           ; xorps         %xmm5,%xmm5
+  DB  15,87,246                           ; xorps         %xmm6,%xmm6
+  DB  15,87,255                           ; xorps         %xmm7,%xmm7
+  DB  76,137,246                          ; mov           %r14,%rsi
+  DB  72,137,217                          ; mov           %rbx,%rcx
+  DB  65,255,213                          ; callq         *%r13
+  DB  72,255,195                          ; inc           %rbx
+  DB  72,59,157,8,255,255,255             ; cmp           -0xf8(%rbp),%rbx
+  DB  15,133,121,255,255,255              ; jne           2b67f <_sk_start_pipeline_sse41_lowp+0x93>
+  DB  15,40,181,32,255,255,255            ; movaps        -0xe0(%rbp),%xmm6
+  DB  15,40,189,48,255,255,255            ; movaps        -0xd0(%rbp),%xmm7
+  DB  68,15,40,133,64,255,255,255         ; movaps        -0xc0(%rbp),%xmm8
+  DB  68,15,40,141,80,255,255,255         ; movaps        -0xb0(%rbp),%xmm9
+  DB  68,15,40,149,96,255,255,255         ; movaps        -0xa0(%rbp),%xmm10
+  DB  68,15,40,157,112,255,255,255        ; movaps        -0x90(%rbp),%xmm11
+  DB  68,15,40,101,128                    ; movaps        -0x80(%rbp),%xmm12
+  DB  68,15,40,109,144                    ; movaps        -0x70(%rbp),%xmm13
+  DB  68,15,40,117,160                    ; movaps        -0x60(%rbp),%xmm14
+  DB  68,15,40,125,176                    ; movaps        -0x50(%rbp),%xmm15
+  DB  72,129,196,200,0,0,0                ; add           $0xc8,%rsp
+  DB  91                                  ; pop           %rbx
+  DB  95                                  ; pop           %rdi
+  DB  94                                  ; pop           %rsi
+  DB  65,92                               ; pop           %r12
+  DB  65,93                               ; pop           %r13
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  93                                  ; pop           %rbp
+  DB  195                                 ; retq
+
+PUBLIC _sk_just_return_sse41_lowp
+_sk_just_return_sse41_lowp LABEL PROC
+  DB  195                                 ; retq
+
+PUBLIC _sk_seed_shader_sse41_lowp
+_sk_seed_shader_sse41_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,15,110,194                      ; movd          %edx,%xmm0
+  DB  102,15,112,192,0                    ; pshufd        $0x0,%xmm0,%xmm0
+  DB  15,91,208                           ; cvtdq2ps      %xmm0,%xmm2
+  DB  15,16,0                             ; movups        (%rax),%xmm0
+  DB  15,16,72,16                         ; movups        0x10(%rax),%xmm1
+  DB  15,88,194                           ; addps         %xmm2,%xmm0
+  DB  15,88,202                           ; addps         %xmm2,%xmm1
+  DB  102,15,110,209                      ; movd          %ecx,%xmm2
+  DB  102,15,112,210,0                    ; pshufd        $0x0,%xmm2,%xmm2
+  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
+  DB  15,88,21,21,157,0,0                 ; addps         0x9d15(%rip),%xmm2        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,218                           ; movaps        %xmm2,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_matrix_translate_sse41_lowp
+_sk_matrix_translate_sse41_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,0                      ; movss         (%rax),%xmm8
+  DB  243,68,15,16,72,4                   ; movss         0x4(%rax),%xmm9
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  65,15,88,192                        ; addps         %xmm8,%xmm0
+  DB  65,15,88,200                        ; addps         %xmm8,%xmm1
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  65,15,88,209                        ; addps         %xmm9,%xmm2
+  DB  65,15,88,217                        ; addps         %xmm9,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_matrix_scale_translate_sse41_lowp
+_sk_matrix_scale_translate_sse41_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,0                      ; movss         (%rax),%xmm8
+  DB  243,68,15,16,72,4                   ; movss         0x4(%rax),%xmm9
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  243,68,15,16,80,8                   ; movss         0x8(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  65,15,88,194                        ; addps         %xmm10,%xmm0
+  DB  65,15,88,202                        ; addps         %xmm10,%xmm1
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  243,68,15,16,64,12                  ; movss         0xc(%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  65,15,89,217                        ; mulps         %xmm9,%xmm3
+  DB  65,15,89,209                        ; mulps         %xmm9,%xmm2
+  DB  65,15,88,208                        ; addps         %xmm8,%xmm2
+  DB  65,15,88,216                        ; addps         %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_matrix_2x3_sse41_lowp
+_sk_matrix_2x3_sse41_lowp LABEL PROC
+  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,15,16,0                         ; movss         (%rax),%xmm0
+  DB  243,68,15,16,88,4                   ; movss         0x4(%rax),%xmm11
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  243,68,15,16,80,8                   ; movss         0x8(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  243,68,15,16,72,16                  ; movss         0x10(%rax),%xmm9
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  68,15,40,226                        ; movaps        %xmm2,%xmm12
+  DB  69,15,89,226                        ; mulps         %xmm10,%xmm12
+  DB  68,15,89,211                        ; mulps         %xmm3,%xmm10
+  DB  69,15,88,209                        ; addps         %xmm9,%xmm10
+  DB  69,15,88,225                        ; addps         %xmm9,%xmm12
+  DB  68,15,40,201                        ; movaps        %xmm1,%xmm9
+  DB  68,15,89,200                        ; mulps         %xmm0,%xmm9
+  DB  69,15,88,202                        ; addps         %xmm10,%xmm9
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  65,15,88,196                        ; addps         %xmm12,%xmm0
+  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
+  DB  243,68,15,16,80,12                  ; movss         0xc(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  243,68,15,16,96,20                  ; movss         0x14(%rax),%xmm12
+  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
+  DB  65,15,89,210                        ; mulps         %xmm10,%xmm2
+  DB  68,15,89,211                        ; mulps         %xmm3,%xmm10
+  DB  69,15,88,212                        ; addps         %xmm12,%xmm10
+  DB  65,15,88,212                        ; addps         %xmm12,%xmm2
+  DB  65,15,89,203                        ; mulps         %xmm11,%xmm1
+  DB  68,15,88,209                        ; addps         %xmm1,%xmm10
+  DB  69,15,89,216                        ; mulps         %xmm8,%xmm11
+  DB  65,15,88,211                        ; addps         %xmm11,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,201                        ; movaps        %xmm9,%xmm1
+  DB  65,15,40,218                        ; movaps        %xmm10,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_matrix_perspective_sse41_lowp
+_sk_matrix_perspective_sse41_lowp LABEL PROC
+  DB  68,15,40,193                        ; movaps        %xmm1,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,15,16,8                         ; movss         (%rax),%xmm1
+  DB  243,68,15,16,80,4                   ; movss         0x4(%rax),%xmm10
+  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  243,68,15,16,72,8                   ; movss         0x8(%rax),%xmm9
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  68,15,40,219                        ; movaps        %xmm3,%xmm11
+  DB  69,15,89,218                        ; mulps         %xmm10,%xmm11
+  DB  68,15,89,210                        ; mulps         %xmm2,%xmm10
+  DB  69,15,88,209                        ; addps         %xmm9,%xmm10
+  DB  69,15,88,217                        ; addps         %xmm9,%xmm11
+  DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
+  DB  68,15,89,201                        ; mulps         %xmm1,%xmm9
+  DB  69,15,88,202                        ; addps         %xmm10,%xmm9
+  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
+  DB  65,15,88,203                        ; addps         %xmm11,%xmm1
+  DB  243,68,15,16,96,12                  ; movss         0xc(%rax),%xmm12
+  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
+  DB  243,68,15,16,80,16                  ; movss         0x10(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  243,68,15,16,104,20                 ; movss         0x14(%rax),%xmm13
+  DB  69,15,198,237,0                     ; shufps        $0x0,%xmm13,%xmm13
+  DB  68,15,40,219                        ; movaps        %xmm3,%xmm11
+  DB  69,15,89,218                        ; mulps         %xmm10,%xmm11
+  DB  68,15,89,210                        ; mulps         %xmm2,%xmm10
+  DB  69,15,88,213                        ; addps         %xmm13,%xmm10
+  DB  69,15,88,221                        ; addps         %xmm13,%xmm11
+  DB  68,15,40,232                        ; movaps        %xmm0,%xmm13
+  DB  69,15,89,236                        ; mulps         %xmm12,%xmm13
+  DB  69,15,88,213                        ; addps         %xmm13,%xmm10
+  DB  69,15,89,224                        ; mulps         %xmm8,%xmm12
+  DB  69,15,88,220                        ; addps         %xmm12,%xmm11
+  DB  243,68,15,16,96,24                  ; movss         0x18(%rax),%xmm12
+  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
+  DB  243,68,15,16,104,28                 ; movss         0x1c(%rax),%xmm13
+  DB  69,15,198,237,0                     ; shufps        $0x0,%xmm13,%xmm13
+  DB  243,68,15,16,112,32                 ; movss         0x20(%rax),%xmm14
+  DB  69,15,198,246,0                     ; shufps        $0x0,%xmm14,%xmm14
+  DB  65,15,89,221                        ; mulps         %xmm13,%xmm3
+  DB  68,15,89,234                        ; mulps         %xmm2,%xmm13
+  DB  69,15,88,238                        ; addps         %xmm14,%xmm13
+  DB  65,15,88,222                        ; addps         %xmm14,%xmm3
+  DB  65,15,89,196                        ; mulps         %xmm12,%xmm0
+  DB  65,15,88,197                        ; addps         %xmm13,%xmm0
+  DB  69,15,89,224                        ; mulps         %xmm8,%xmm12
+  DB  68,15,88,227                        ; addps         %xmm3,%xmm12
+  DB  15,83,192                           ; rcpps         %xmm0,%xmm0
+  DB  65,15,83,212                        ; rcpps         %xmm12,%xmm2
+  DB  68,15,89,200                        ; mulps         %xmm0,%xmm9
+  DB  15,89,202                           ; mulps         %xmm2,%xmm1
+  DB  68,15,89,208                        ; mulps         %xmm0,%xmm10
+  DB  68,15,89,218                        ; mulps         %xmm2,%xmm11
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  65,15,40,210                        ; movaps        %xmm10,%xmm2
+  DB  65,15,40,219                        ; movaps        %xmm11,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_uniform_color_sse41_lowp
+_sk_uniform_color_sse41_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,15,110,64,16                    ; movd          0x10(%rax),%xmm0
+  DB  242,15,112,192,0                    ; pshuflw       $0x0,%xmm0,%xmm0
+  DB  102,15,112,192,80                   ; pshufd        $0x50,%xmm0,%xmm0
+  DB  68,15,183,64,18                     ; movzwl        0x12(%rax),%r8d
+  DB  102,65,15,110,200                   ; movd          %r8d,%xmm1
+  DB  242,15,112,201,0                    ; pshuflw       $0x0,%xmm1,%xmm1
+  DB  102,15,112,201,80                   ; pshufd        $0x50,%xmm1,%xmm1
+  DB  102,15,110,80,20                    ; movd          0x14(%rax),%xmm2
+  DB  242,15,112,210,0                    ; pshuflw       $0x0,%xmm2,%xmm2
+  DB  102,15,112,210,80                   ; pshufd        $0x50,%xmm2,%xmm2
+  DB  15,183,64,22                        ; movzwl        0x16(%rax),%eax
+  DB  102,15,110,216                      ; movd          %eax,%xmm3
+  DB  242,15,112,219,0                    ; pshuflw       $0x0,%xmm3,%xmm3
+  DB  102,15,112,219,80                   ; pshufd        $0x50,%xmm3,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_black_color_sse41_lowp
+_sk_black_color_sse41_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,29,90,154,0,0                 ; movaps        0x9a5a(%rip),%xmm3        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  15,87,201                           ; xorps         %xmm1,%xmm1
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_white_color_sse41_lowp
+_sk_white_color_sse41_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,5,70,154,0,0                  ; movaps        0x9a46(%rip),%xmm0        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  15,40,208                           ; movaps        %xmm0,%xmm2
+  DB  15,40,216                           ; movaps        %xmm0,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_set_rgb_sse41_lowp
+_sk_set_rgb_sse41_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,15,16,21,213,144,0,0            ; movss         0x90d5(%rip),%xmm2        # 34af4 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  DB  243,15,16,0                         ; movss         (%rax),%xmm0
+  DB  243,15,89,194                       ; mulss         %xmm2,%xmm0
+  DB  243,68,15,16,5,148,144,0,0          ; movss         0x9094(%rip),%xmm8        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  243,65,15,88,192                    ; addss         %xmm8,%xmm0
+  DB  243,68,15,44,192                    ; cvttss2si     %xmm0,%r8d
+  DB  102,65,15,110,192                   ; movd          %r8d,%xmm0
+  DB  242,15,112,192,0                    ; pshuflw       $0x0,%xmm0,%xmm0
+  DB  102,15,112,192,80                   ; pshufd        $0x50,%xmm0,%xmm0
+  DB  243,15,16,72,4                      ; movss         0x4(%rax),%xmm1
+  DB  243,15,89,202                       ; mulss         %xmm2,%xmm1
+  DB  243,65,15,88,200                    ; addss         %xmm8,%xmm1
+  DB  243,68,15,44,193                    ; cvttss2si     %xmm1,%r8d
+  DB  102,65,15,110,200                   ; movd          %r8d,%xmm1
+  DB  242,15,112,201,0                    ; pshuflw       $0x0,%xmm1,%xmm1
+  DB  102,15,112,201,80                   ; pshufd        $0x50,%xmm1,%xmm1
+  DB  243,15,89,80,8                      ; mulss         0x8(%rax),%xmm2
+  DB  243,65,15,88,208                    ; addss         %xmm8,%xmm2
+  DB  243,15,44,194                       ; cvttss2si     %xmm2,%eax
+  DB  102,15,110,208                      ; movd          %eax,%xmm2
+  DB  242,15,112,210,0                    ; pshuflw       $0x0,%xmm2,%xmm2
+  DB  102,15,112,210,80                   ; pshufd        $0x50,%xmm2,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_clamp_a_sse41_lowp
+_sk_clamp_a_sse41_lowp LABEL PROC
+  DB  102,15,56,58,195                    ; pminuw        %xmm3,%xmm0
+  DB  102,15,56,58,203                    ; pminuw        %xmm3,%xmm1
+  DB  102,15,56,58,211                    ; pminuw        %xmm3,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_clamp_a_dst_sse41_lowp
+_sk_clamp_a_dst_sse41_lowp LABEL PROC
+  DB  102,15,56,58,231                    ; pminuw        %xmm7,%xmm4
+  DB  102,15,56,58,239                    ; pminuw        %xmm7,%xmm5
+  DB  102,15,56,58,247                    ; pminuw        %xmm7,%xmm6
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_premul_sse41_lowp
+_sk_premul_sse41_lowp LABEL PROC
+  DB  102,15,213,195                      ; pmullw        %xmm3,%xmm0
+  DB  102,68,15,111,5,146,153,0,0         ; movdqa        0x9992(%rip),%xmm8        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,65,15,253,192                   ; paddw         %xmm8,%xmm0
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,15,213,203                      ; pmullw        %xmm3,%xmm1
+  DB  102,65,15,253,200                   ; paddw         %xmm8,%xmm1
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,213,211                      ; pmullw        %xmm3,%xmm2
+  DB  102,65,15,253,208                   ; paddw         %xmm8,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_premul_dst_sse41_lowp
+_sk_premul_dst_sse41_lowp LABEL PROC
+  DB  102,15,213,231                      ; pmullw        %xmm7,%xmm4
+  DB  102,68,15,111,5,91,153,0,0          ; movdqa        0x995b(%rip),%xmm8        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,65,15,253,224                   ; paddw         %xmm8,%xmm4
+  DB  102,15,113,212,8                    ; psrlw         $0x8,%xmm4
+  DB  102,15,213,239                      ; pmullw        %xmm7,%xmm5
+  DB  102,65,15,253,232                   ; paddw         %xmm8,%xmm5
+  DB  102,15,113,213,8                    ; psrlw         $0x8,%xmm5
+  DB  102,15,213,247                      ; pmullw        %xmm7,%xmm6
+  DB  102,65,15,253,240                   ; paddw         %xmm8,%xmm6
+  DB  102,15,113,214,8                    ; psrlw         $0x8,%xmm6
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_force_opaque_sse41_lowp
+_sk_force_opaque_sse41_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,29,40,153,0,0                 ; movaps        0x9928(%rip),%xmm3        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_force_opaque_dst_sse41_lowp
+_sk_force_opaque_dst_sse41_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,61,29,153,0,0                 ; movaps        0x991d(%rip),%xmm7        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_swap_rb_sse41_lowp
+_sk_swap_rb_sse41_lowp LABEL PROC
+  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,194                           ; movaps        %xmm2,%xmm0
+  DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_move_src_dst_sse41_lowp
+_sk_move_src_dst_sse41_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,224                           ; movaps        %xmm0,%xmm4
+  DB  15,40,233                           ; movaps        %xmm1,%xmm5
+  DB  15,40,242                           ; movaps        %xmm2,%xmm6
+  DB  15,40,251                           ; movaps        %xmm3,%xmm7
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_move_dst_src_sse41_lowp
+_sk_move_dst_src_sse41_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,196                           ; movaps        %xmm4,%xmm0
+  DB  15,40,205                           ; movaps        %xmm5,%xmm1
+  DB  15,40,214                           ; movaps        %xmm6,%xmm2
+  DB  15,40,223                           ; movaps        %xmm7,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_invert_sse41_lowp
+_sk_invert_sse41_lowp LABEL PROC
+  DB  102,68,15,111,5,227,152,0,0         ; movdqa        0x98e3(%rip),%xmm8        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,69,15,111,200                   ; movdqa        %xmm8,%xmm9
+  DB  102,68,15,249,200                   ; psubw         %xmm0,%xmm9
+  DB  102,69,15,111,208                   ; movdqa        %xmm8,%xmm10
+  DB  102,68,15,249,209                   ; psubw         %xmm1,%xmm10
+  DB  102,69,15,111,216                   ; movdqa        %xmm8,%xmm11
+  DB  102,68,15,249,218                   ; psubw         %xmm2,%xmm11
+  DB  102,68,15,249,195                   ; psubw         %xmm3,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,65,15,111,193                   ; movdqa        %xmm9,%xmm0
+  DB  102,65,15,111,202                   ; movdqa        %xmm10,%xmm1
+  DB  102,65,15,111,211                   ; movdqa        %xmm11,%xmm2
+  DB  102,65,15,111,216                   ; movdqa        %xmm8,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_clear_sse41_lowp
+_sk_clear_sse41_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  15,87,201                           ; xorps         %xmm1,%xmm1
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_srcatop_sse41_lowp
+_sk_srcatop_sse41_lowp LABEL PROC
+  DB  102,68,15,111,195                   ; movdqa        %xmm3,%xmm8
+  DB  102,15,213,199                      ; pmullw        %xmm7,%xmm0
+  DB  102,15,111,29,135,152,0,0           ; movdqa        0x9887(%rip),%xmm3        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,68,15,111,203                   ; movdqa        %xmm3,%xmm9
+  DB  102,69,15,249,200                   ; psubw         %xmm8,%xmm9
+  DB  102,69,15,111,193                   ; movdqa        %xmm9,%xmm8
+  DB  102,68,15,213,196                   ; pmullw        %xmm4,%xmm8
+  DB  102,15,253,195                      ; paddw         %xmm3,%xmm0
+  DB  102,65,15,253,192                   ; paddw         %xmm8,%xmm0
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,15,213,207                      ; pmullw        %xmm7,%xmm1
+  DB  102,69,15,111,193                   ; movdqa        %xmm9,%xmm8
+  DB  102,68,15,213,197                   ; pmullw        %xmm5,%xmm8
+  DB  102,15,253,203                      ; paddw         %xmm3,%xmm1
+  DB  102,65,15,253,200                   ; paddw         %xmm8,%xmm1
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,213,215                      ; pmullw        %xmm7,%xmm2
+  DB  102,68,15,213,206                   ; pmullw        %xmm6,%xmm9
+  DB  102,15,253,211                      ; paddw         %xmm3,%xmm2
+  DB  102,65,15,253,209                   ; paddw         %xmm9,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,68,15,111,199                   ; movdqa        %xmm7,%xmm8
+  DB  102,68,15,213,195                   ; pmullw        %xmm3,%xmm8
+  DB  102,65,15,253,216                   ; paddw         %xmm8,%xmm3
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_dstatop_sse41_lowp
+_sk_dstatop_sse41_lowp LABEL PROC
+  DB  102,68,15,111,196                   ; movdqa        %xmm4,%xmm8
+  DB  102,68,15,213,195                   ; pmullw        %xmm3,%xmm8
+  DB  102,68,15,111,13,7,152,0,0          ; movdqa        0x9807(%rip),%xmm9        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,69,15,253,193                   ; paddw         %xmm9,%xmm8
+  DB  102,68,15,111,213                   ; movdqa        %xmm5,%xmm10
+  DB  102,68,15,213,211                   ; pmullw        %xmm3,%xmm10
+  DB  102,69,15,253,209                   ; paddw         %xmm9,%xmm10
+  DB  102,68,15,111,222                   ; movdqa        %xmm6,%xmm11
+  DB  102,68,15,213,219                   ; pmullw        %xmm3,%xmm11
+  DB  102,69,15,253,217                   ; paddw         %xmm9,%xmm11
+  DB  102,65,15,213,217                   ; pmullw        %xmm9,%xmm3
+  DB  102,65,15,253,217                   ; paddw         %xmm9,%xmm3
+  DB  102,68,15,249,207                   ; psubw         %xmm7,%xmm9
+  DB  102,65,15,213,193                   ; pmullw        %xmm9,%xmm0
+  DB  102,65,15,253,192                   ; paddw         %xmm8,%xmm0
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,65,15,213,201                   ; pmullw        %xmm9,%xmm1
+  DB  102,65,15,253,202                   ; paddw         %xmm10,%xmm1
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,65,15,213,209                   ; pmullw        %xmm9,%xmm2
+  DB  102,65,15,253,211                   ; paddw         %xmm11,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_srcin_sse41_lowp
+_sk_srcin_sse41_lowp LABEL PROC
+  DB  102,15,213,199                      ; pmullw        %xmm7,%xmm0
+  DB  102,68,15,111,5,146,151,0,0         ; movdqa        0x9792(%rip),%xmm8        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,65,15,253,192                   ; paddw         %xmm8,%xmm0
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,15,213,207                      ; pmullw        %xmm7,%xmm1
+  DB  102,65,15,253,200                   ; paddw         %xmm8,%xmm1
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,213,215                      ; pmullw        %xmm7,%xmm2
+  DB  102,65,15,253,208                   ; paddw         %xmm8,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,213,223                      ; pmullw        %xmm7,%xmm3
+  DB  102,65,15,253,216                   ; paddw         %xmm8,%xmm3
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_dstin_sse41_lowp
+_sk_dstin_sse41_lowp LABEL PROC
+  DB  102,15,111,196                      ; movdqa        %xmm4,%xmm0
+  DB  102,15,213,195                      ; pmullw        %xmm3,%xmm0
+  DB  102,68,15,111,5,73,151,0,0          ; movdqa        0x9749(%rip),%xmm8        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,65,15,253,192                   ; paddw         %xmm8,%xmm0
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,15,111,205                      ; movdqa        %xmm5,%xmm1
+  DB  102,15,213,203                      ; pmullw        %xmm3,%xmm1
+  DB  102,65,15,253,200                   ; paddw         %xmm8,%xmm1
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,111,214                      ; movdqa        %xmm6,%xmm2
+  DB  102,15,213,211                      ; pmullw        %xmm3,%xmm2
+  DB  102,65,15,253,208                   ; paddw         %xmm8,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,213,223                      ; pmullw        %xmm7,%xmm3
+  DB  102,65,15,253,216                   ; paddw         %xmm8,%xmm3
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_srcout_sse41_lowp
+_sk_srcout_sse41_lowp LABEL PROC
+  DB  102,68,15,111,5,0,151,0,0           ; movdqa        0x9700(%rip),%xmm8        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,69,15,111,200                   ; movdqa        %xmm8,%xmm9
+  DB  102,68,15,249,207                   ; psubw         %xmm7,%xmm9
+  DB  102,65,15,213,193                   ; pmullw        %xmm9,%xmm0
+  DB  102,65,15,253,192                   ; paddw         %xmm8,%xmm0
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,65,15,213,201                   ; pmullw        %xmm9,%xmm1
+  DB  102,65,15,253,200                   ; paddw         %xmm8,%xmm1
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,65,15,213,209                   ; pmullw        %xmm9,%xmm2
+  DB  102,65,15,253,208                   ; paddw         %xmm8,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,65,15,213,217                   ; pmullw        %xmm9,%xmm3
+  DB  102,65,15,253,216                   ; paddw         %xmm8,%xmm3
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_dstout_sse41_lowp
+_sk_dstout_sse41_lowp LABEL PROC
+  DB  102,15,111,195                      ; movdqa        %xmm3,%xmm0
+  DB  102,68,15,111,5,169,150,0,0         ; movdqa        0x96a9(%rip),%xmm8        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,65,15,111,216                   ; movdqa        %xmm8,%xmm3
+  DB  102,15,249,216                      ; psubw         %xmm0,%xmm3
+  DB  102,15,111,195                      ; movdqa        %xmm3,%xmm0
+  DB  102,15,213,196                      ; pmullw        %xmm4,%xmm0
+  DB  102,65,15,253,192                   ; paddw         %xmm8,%xmm0
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
+  DB  102,15,213,205                      ; pmullw        %xmm5,%xmm1
+  DB  102,65,15,253,200                   ; paddw         %xmm8,%xmm1
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,111,211                      ; movdqa        %xmm3,%xmm2
+  DB  102,15,213,214                      ; pmullw        %xmm6,%xmm2
+  DB  102,65,15,253,208                   ; paddw         %xmm8,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,213,223                      ; pmullw        %xmm7,%xmm3
+  DB  102,65,15,253,216                   ; paddw         %xmm8,%xmm3
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_srcover_sse41_lowp
+_sk_srcover_sse41_lowp LABEL PROC
+  DB  102,68,15,111,13,79,150,0,0         ; movdqa        0x964f(%rip),%xmm9        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,69,15,111,193                   ; movdqa        %xmm9,%xmm8
+  DB  102,68,15,249,195                   ; psubw         %xmm3,%xmm8
+  DB  102,69,15,111,208                   ; movdqa        %xmm8,%xmm10
+  DB  102,68,15,213,212                   ; pmullw        %xmm4,%xmm10
+  DB  102,69,15,253,209                   ; paddw         %xmm9,%xmm10
+  DB  102,65,15,113,210,8                 ; psrlw         $0x8,%xmm10
+  DB  102,65,15,253,194                   ; paddw         %xmm10,%xmm0
+  DB  102,69,15,111,208                   ; movdqa        %xmm8,%xmm10
+  DB  102,68,15,213,213                   ; pmullw        %xmm5,%xmm10
+  DB  102,69,15,253,209                   ; paddw         %xmm9,%xmm10
+  DB  102,65,15,113,210,8                 ; psrlw         $0x8,%xmm10
+  DB  102,65,15,253,202                   ; paddw         %xmm10,%xmm1
+  DB  102,69,15,111,208                   ; movdqa        %xmm8,%xmm10
+  DB  102,68,15,213,214                   ; pmullw        %xmm6,%xmm10
+  DB  102,69,15,253,209                   ; paddw         %xmm9,%xmm10
+  DB  102,65,15,113,210,8                 ; psrlw         $0x8,%xmm10
+  DB  102,65,15,253,210                   ; paddw         %xmm10,%xmm2
+  DB  102,68,15,213,199                   ; pmullw        %xmm7,%xmm8
+  DB  102,69,15,253,193                   ; paddw         %xmm9,%xmm8
+  DB  102,65,15,113,208,8                 ; psrlw         $0x8,%xmm8
+  DB  102,65,15,253,216                   ; paddw         %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_dstover_sse41_lowp
+_sk_dstover_sse41_lowp LABEL PROC
+  DB  102,68,15,111,5,213,149,0,0         ; movdqa        0x95d5(%rip),%xmm8        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,69,15,111,200                   ; movdqa        %xmm8,%xmm9
+  DB  102,68,15,249,207                   ; psubw         %xmm7,%xmm9
+  DB  102,65,15,213,193                   ; pmullw        %xmm9,%xmm0
+  DB  102,65,15,253,192                   ; paddw         %xmm8,%xmm0
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,15,253,196                      ; paddw         %xmm4,%xmm0
+  DB  102,65,15,213,201                   ; pmullw        %xmm9,%xmm1
+  DB  102,65,15,253,200                   ; paddw         %xmm8,%xmm1
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,253,205                      ; paddw         %xmm5,%xmm1
+  DB  102,65,15,213,209                   ; pmullw        %xmm9,%xmm2
+  DB  102,65,15,253,208                   ; paddw         %xmm8,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,253,214                      ; paddw         %xmm6,%xmm2
+  DB  102,65,15,213,217                   ; pmullw        %xmm9,%xmm3
+  DB  102,65,15,253,216                   ; paddw         %xmm8,%xmm3
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  102,15,253,223                      ; paddw         %xmm7,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_modulate_sse41_lowp
+_sk_modulate_sse41_lowp LABEL PROC
+  DB  102,15,213,196                      ; pmullw        %xmm4,%xmm0
+  DB  102,68,15,111,5,110,149,0,0         ; movdqa        0x956e(%rip),%xmm8        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,65,15,253,192                   ; paddw         %xmm8,%xmm0
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,15,213,205                      ; pmullw        %xmm5,%xmm1
+  DB  102,65,15,253,200                   ; paddw         %xmm8,%xmm1
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,213,214                      ; pmullw        %xmm6,%xmm2
+  DB  102,65,15,253,208                   ; paddw         %xmm8,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,213,223                      ; pmullw        %xmm7,%xmm3
+  DB  102,65,15,253,216                   ; paddw         %xmm8,%xmm3
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_multiply_sse41_lowp
+_sk_multiply_sse41_lowp LABEL PROC
+  DB  102,68,15,111,13,45,149,0,0         ; movdqa        0x952d(%rip),%xmm9        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,69,15,111,193                   ; movdqa        %xmm9,%xmm8
+  DB  102,68,15,249,195                   ; psubw         %xmm3,%xmm8
+  DB  102,69,15,111,208                   ; movdqa        %xmm8,%xmm10
+  DB  102,68,15,213,212                   ; pmullw        %xmm4,%xmm10
+  DB  102,68,15,111,220                   ; movdqa        %xmm4,%xmm11
+  DB  102,69,15,253,217                   ; paddw         %xmm9,%xmm11
+  DB  102,68,15,249,223                   ; psubw         %xmm7,%xmm11
+  DB  102,65,15,213,195                   ; pmullw        %xmm11,%xmm0
+  DB  102,69,15,253,209                   ; paddw         %xmm9,%xmm10
+  DB  102,65,15,253,194                   ; paddw         %xmm10,%xmm0
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,69,15,111,208                   ; movdqa        %xmm8,%xmm10
+  DB  102,68,15,213,213                   ; pmullw        %xmm5,%xmm10
+  DB  102,68,15,111,221                   ; movdqa        %xmm5,%xmm11
+  DB  102,69,15,253,217                   ; paddw         %xmm9,%xmm11
+  DB  102,68,15,249,223                   ; psubw         %xmm7,%xmm11
+  DB  102,65,15,213,203                   ; pmullw        %xmm11,%xmm1
+  DB  102,69,15,253,209                   ; paddw         %xmm9,%xmm10
+  DB  102,65,15,253,202                   ; paddw         %xmm10,%xmm1
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,69,15,111,208                   ; movdqa        %xmm8,%xmm10
+  DB  102,68,15,213,214                   ; pmullw        %xmm6,%xmm10
+  DB  102,68,15,111,222                   ; movdqa        %xmm6,%xmm11
+  DB  102,69,15,253,217                   ; paddw         %xmm9,%xmm11
+  DB  102,68,15,249,223                   ; psubw         %xmm7,%xmm11
+  DB  102,65,15,213,211                   ; pmullw        %xmm11,%xmm2
+  DB  102,69,15,253,209                   ; paddw         %xmm9,%xmm10
+  DB  102,65,15,253,210                   ; paddw         %xmm10,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,68,15,213,199                   ; pmullw        %xmm7,%xmm8
+  DB  102,65,15,213,217                   ; pmullw        %xmm9,%xmm3
+  DB  102,65,15,253,217                   ; paddw         %xmm9,%xmm3
+  DB  102,65,15,253,216                   ; paddw         %xmm8,%xmm3
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_plus__sse41_lowp
+_sk_plus__sse41_lowp LABEL PROC
+  DB  102,15,253,196                      ; paddw         %xmm4,%xmm0
+  DB  102,68,15,111,5,114,148,0,0         ; movdqa        0x9472(%rip),%xmm8        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,65,15,56,58,192                 ; pminuw        %xmm8,%xmm0
+  DB  102,15,253,205                      ; paddw         %xmm5,%xmm1
+  DB  102,65,15,56,58,200                 ; pminuw        %xmm8,%xmm1
+  DB  102,15,253,214                      ; paddw         %xmm6,%xmm2
+  DB  102,65,15,56,58,208                 ; pminuw        %xmm8,%xmm2
+  DB  102,15,253,223                      ; paddw         %xmm7,%xmm3
+  DB  102,65,15,56,58,216                 ; pminuw        %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_screen_sse41_lowp
+_sk_screen_sse41_lowp LABEL PROC
+  DB  102,68,15,111,193                   ; movdqa        %xmm1,%xmm8
+  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
+  DB  102,15,111,196                      ; movdqa        %xmm4,%xmm0
+  DB  102,15,253,193                      ; paddw         %xmm1,%xmm0
+  DB  102,15,213,204                      ; pmullw        %xmm4,%xmm1
+  DB  102,68,15,111,21,44,148,0,0         ; movdqa        0x942c(%rip),%xmm10        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,65,15,253,202                   ; paddw         %xmm10,%xmm1
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,249,193                      ; psubw         %xmm1,%xmm0
+  DB  102,15,111,205                      ; movdqa        %xmm5,%xmm1
+  DB  102,65,15,253,200                   ; paddw         %xmm8,%xmm1
+  DB  102,68,15,213,197                   ; pmullw        %xmm5,%xmm8
+  DB  102,69,15,253,194                   ; paddw         %xmm10,%xmm8
+  DB  102,65,15,113,208,8                 ; psrlw         $0x8,%xmm8
+  DB  102,65,15,249,200                   ; psubw         %xmm8,%xmm1
+  DB  102,68,15,111,198                   ; movdqa        %xmm6,%xmm8
+  DB  102,68,15,253,194                   ; paddw         %xmm2,%xmm8
+  DB  102,15,213,214                      ; pmullw        %xmm6,%xmm2
+  DB  102,65,15,253,210                   ; paddw         %xmm10,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,68,15,249,194                   ; psubw         %xmm2,%xmm8
+  DB  102,68,15,111,207                   ; movdqa        %xmm7,%xmm9
+  DB  102,68,15,253,203                   ; paddw         %xmm3,%xmm9
+  DB  102,15,213,223                      ; pmullw        %xmm7,%xmm3
+  DB  102,65,15,253,218                   ; paddw         %xmm10,%xmm3
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  102,68,15,249,203                   ; psubw         %xmm3,%xmm9
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,65,15,111,208                   ; movdqa        %xmm8,%xmm2
+  DB  102,65,15,111,217                   ; movdqa        %xmm9,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_xor__sse41_lowp
+_sk_xor__sse41_lowp LABEL PROC
+  DB  102,68,15,111,195                   ; movdqa        %xmm3,%xmm8
+  DB  102,68,15,111,13,170,147,0,0        ; movdqa        0x93aa(%rip),%xmm9        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,69,15,111,209                   ; movdqa        %xmm9,%xmm10
+  DB  102,68,15,249,215                   ; psubw         %xmm7,%xmm10
+  DB  102,65,15,213,194                   ; pmullw        %xmm10,%xmm0
+  DB  102,65,15,111,217                   ; movdqa        %xmm9,%xmm3
+  DB  102,65,15,249,216                   ; psubw         %xmm8,%xmm3
+  DB  102,68,15,111,219                   ; movdqa        %xmm3,%xmm11
+  DB  102,68,15,213,220                   ; pmullw        %xmm4,%xmm11
+  DB  102,65,15,253,195                   ; paddw         %xmm11,%xmm0
+  DB  102,65,15,253,193                   ; paddw         %xmm9,%xmm0
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,65,15,213,202                   ; pmullw        %xmm10,%xmm1
+  DB  102,68,15,111,219                   ; movdqa        %xmm3,%xmm11
+  DB  102,68,15,213,221                   ; pmullw        %xmm5,%xmm11
+  DB  102,65,15,253,203                   ; paddw         %xmm11,%xmm1
+  DB  102,65,15,253,201                   ; paddw         %xmm9,%xmm1
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,65,15,213,210                   ; pmullw        %xmm10,%xmm2
+  DB  102,68,15,111,219                   ; movdqa        %xmm3,%xmm11
+  DB  102,68,15,213,222                   ; pmullw        %xmm6,%xmm11
+  DB  102,65,15,253,211                   ; paddw         %xmm11,%xmm2
+  DB  102,65,15,253,209                   ; paddw         %xmm9,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,69,15,213,208                   ; pmullw        %xmm8,%xmm10
+  DB  102,15,213,223                      ; pmullw        %xmm7,%xmm3
+  DB  102,65,15,253,218                   ; paddw         %xmm10,%xmm3
+  DB  102,65,15,253,217                   ; paddw         %xmm9,%xmm3
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_darken_sse41_lowp
+_sk_darken_sse41_lowp LABEL PROC
+  DB  102,68,15,111,193                   ; movdqa        %xmm1,%xmm8
+  DB  102,68,15,111,200                   ; movdqa        %xmm0,%xmm9
+  DB  102,15,111,204                      ; movdqa        %xmm4,%xmm1
+  DB  102,15,111,196                      ; movdqa        %xmm4,%xmm0
+  DB  102,65,15,253,193                   ; paddw         %xmm9,%xmm0
+  DB  102,68,15,213,207                   ; pmullw        %xmm7,%xmm9
+  DB  102,15,213,203                      ; pmullw        %xmm3,%xmm1
+  DB  102,65,15,56,62,201                 ; pmaxuw        %xmm9,%xmm1
+  DB  102,68,15,111,13,241,146,0,0        ; movdqa        0x92f1(%rip),%xmm9        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,65,15,253,201                   ; paddw         %xmm9,%xmm1
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,249,193                      ; psubw         %xmm1,%xmm0
+  DB  102,68,15,111,213                   ; movdqa        %xmm5,%xmm10
+  DB  102,15,111,205                      ; movdqa        %xmm5,%xmm1
+  DB  102,65,15,253,200                   ; paddw         %xmm8,%xmm1
+  DB  102,68,15,213,199                   ; pmullw        %xmm7,%xmm8
+  DB  102,68,15,213,211                   ; pmullw        %xmm3,%xmm10
+  DB  102,69,15,56,62,208                 ; pmaxuw        %xmm8,%xmm10
+  DB  102,69,15,253,209                   ; paddw         %xmm9,%xmm10
+  DB  102,65,15,113,210,8                 ; psrlw         $0x8,%xmm10
+  DB  102,65,15,249,202                   ; psubw         %xmm10,%xmm1
+  DB  102,68,15,111,214                   ; movdqa        %xmm6,%xmm10
+  DB  102,68,15,111,198                   ; movdqa        %xmm6,%xmm8
+  DB  102,68,15,253,194                   ; paddw         %xmm2,%xmm8
+  DB  102,15,213,215                      ; pmullw        %xmm7,%xmm2
+  DB  102,68,15,213,211                   ; pmullw        %xmm3,%xmm10
+  DB  102,68,15,56,62,210                 ; pmaxuw        %xmm2,%xmm10
+  DB  102,69,15,253,209                   ; paddw         %xmm9,%xmm10
+  DB  102,65,15,113,210,8                 ; psrlw         $0x8,%xmm10
+  DB  102,69,15,249,194                   ; psubw         %xmm10,%xmm8
+  DB  102,65,15,111,209                   ; movdqa        %xmm9,%xmm2
+  DB  102,15,249,211                      ; psubw         %xmm3,%xmm2
+  DB  102,15,213,215                      ; pmullw        %xmm7,%xmm2
+  DB  102,65,15,253,209                   ; paddw         %xmm9,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,253,218                      ; paddw         %xmm2,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,65,15,111,208                   ; movdqa        %xmm8,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_lighten_sse41_lowp
+_sk_lighten_sse41_lowp LABEL PROC
+  DB  102,68,15,111,193                   ; movdqa        %xmm1,%xmm8
+  DB  102,68,15,111,200                   ; movdqa        %xmm0,%xmm9
+  DB  102,15,111,204                      ; movdqa        %xmm4,%xmm1
+  DB  102,15,111,196                      ; movdqa        %xmm4,%xmm0
+  DB  102,65,15,253,193                   ; paddw         %xmm9,%xmm0
+  DB  102,68,15,213,207                   ; pmullw        %xmm7,%xmm9
+  DB  102,15,213,203                      ; pmullw        %xmm3,%xmm1
+  DB  102,65,15,56,58,201                 ; pminuw        %xmm9,%xmm1
+  DB  102,68,15,111,13,52,146,0,0         ; movdqa        0x9234(%rip),%xmm9        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,65,15,253,201                   ; paddw         %xmm9,%xmm1
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,249,193                      ; psubw         %xmm1,%xmm0
+  DB  102,68,15,111,213                   ; movdqa        %xmm5,%xmm10
+  DB  102,15,111,205                      ; movdqa        %xmm5,%xmm1
+  DB  102,65,15,253,200                   ; paddw         %xmm8,%xmm1
+  DB  102,68,15,213,199                   ; pmullw        %xmm7,%xmm8
+  DB  102,68,15,213,211                   ; pmullw        %xmm3,%xmm10
+  DB  102,69,15,56,58,208                 ; pminuw        %xmm8,%xmm10
+  DB  102,69,15,253,209                   ; paddw         %xmm9,%xmm10
+  DB  102,65,15,113,210,8                 ; psrlw         $0x8,%xmm10
+  DB  102,65,15,249,202                   ; psubw         %xmm10,%xmm1
+  DB  102,68,15,111,214                   ; movdqa        %xmm6,%xmm10
+  DB  102,68,15,111,198                   ; movdqa        %xmm6,%xmm8
+  DB  102,68,15,253,194                   ; paddw         %xmm2,%xmm8
+  DB  102,15,213,215                      ; pmullw        %xmm7,%xmm2
+  DB  102,68,15,213,211                   ; pmullw        %xmm3,%xmm10
+  DB  102,68,15,56,58,210                 ; pminuw        %xmm2,%xmm10
+  DB  102,69,15,253,209                   ; paddw         %xmm9,%xmm10
+  DB  102,65,15,113,210,8                 ; psrlw         $0x8,%xmm10
+  DB  102,69,15,249,194                   ; psubw         %xmm10,%xmm8
+  DB  102,65,15,111,209                   ; movdqa        %xmm9,%xmm2
+  DB  102,15,249,211                      ; psubw         %xmm3,%xmm2
+  DB  102,15,213,215                      ; pmullw        %xmm7,%xmm2
+  DB  102,65,15,253,209                   ; paddw         %xmm9,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,253,218                      ; paddw         %xmm2,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,65,15,111,208                   ; movdqa        %xmm8,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_difference_sse41_lowp
+_sk_difference_sse41_lowp LABEL PROC
+  DB  102,68,15,111,193                   ; movdqa        %xmm1,%xmm8
+  DB  102,68,15,111,200                   ; movdqa        %xmm0,%xmm9
+  DB  102,15,111,204                      ; movdqa        %xmm4,%xmm1
+  DB  102,15,111,196                      ; movdqa        %xmm4,%xmm0
+  DB  102,65,15,253,193                   ; paddw         %xmm9,%xmm0
+  DB  102,68,15,213,207                   ; pmullw        %xmm7,%xmm9
+  DB  102,15,213,203                      ; pmullw        %xmm3,%xmm1
+  DB  102,65,15,56,58,201                 ; pminuw        %xmm9,%xmm1
+  DB  102,68,15,111,13,119,145,0,0        ; movdqa        0x9177(%rip),%xmm9        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,65,15,253,201                   ; paddw         %xmm9,%xmm1
+  DB  102,15,113,209,7                    ; psrlw         $0x7,%xmm1
+  DB  102,68,15,111,21,228,152,0,0        ; movdqa        0x98e4(%rip),%xmm10        # 35bd0 <_sk_srcover_bgra_8888_sse2_lowp+0x13b8>
+  DB  102,65,15,219,202                   ; pand          %xmm10,%xmm1
+  DB  102,15,249,193                      ; psubw         %xmm1,%xmm0
+  DB  102,68,15,111,221                   ; movdqa        %xmm5,%xmm11
+  DB  102,15,111,205                      ; movdqa        %xmm5,%xmm1
+  DB  102,65,15,253,200                   ; paddw         %xmm8,%xmm1
+  DB  102,68,15,213,199                   ; pmullw        %xmm7,%xmm8
+  DB  102,68,15,213,219                   ; pmullw        %xmm3,%xmm11
+  DB  102,69,15,56,58,216                 ; pminuw        %xmm8,%xmm11
+  DB  102,69,15,253,217                   ; paddw         %xmm9,%xmm11
+  DB  102,65,15,113,211,7                 ; psrlw         $0x7,%xmm11
+  DB  102,69,15,219,218                   ; pand          %xmm10,%xmm11
+  DB  102,65,15,249,203                   ; psubw         %xmm11,%xmm1
+  DB  102,68,15,111,222                   ; movdqa        %xmm6,%xmm11
+  DB  102,68,15,111,198                   ; movdqa        %xmm6,%xmm8
+  DB  102,68,15,253,194                   ; paddw         %xmm2,%xmm8
+  DB  102,15,213,215                      ; pmullw        %xmm7,%xmm2
+  DB  102,68,15,213,219                   ; pmullw        %xmm3,%xmm11
+  DB  102,68,15,56,58,218                 ; pminuw        %xmm2,%xmm11
+  DB  102,69,15,253,217                   ; paddw         %xmm9,%xmm11
+  DB  102,65,15,113,211,7                 ; psrlw         $0x7,%xmm11
+  DB  102,69,15,219,218                   ; pand          %xmm10,%xmm11
+  DB  102,69,15,249,195                   ; psubw         %xmm11,%xmm8
+  DB  102,65,15,111,209                   ; movdqa        %xmm9,%xmm2
+  DB  102,15,249,211                      ; psubw         %xmm3,%xmm2
+  DB  102,15,213,215                      ; pmullw        %xmm7,%xmm2
+  DB  102,65,15,253,209                   ; paddw         %xmm9,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,253,218                      ; paddw         %xmm2,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,65,15,111,208                   ; movdqa        %xmm8,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_exclusion_sse41_lowp
+_sk_exclusion_sse41_lowp LABEL PROC
+  DB  102,68,15,111,193                   ; movdqa        %xmm1,%xmm8
+  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
+  DB  102,15,111,196                      ; movdqa        %xmm4,%xmm0
+  DB  102,15,253,193                      ; paddw         %xmm1,%xmm0
+  DB  102,15,213,204                      ; pmullw        %xmm4,%xmm1
+  DB  102,68,15,111,13,179,144,0,0        ; movdqa        0x90b3(%rip),%xmm9        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,65,15,253,201                   ; paddw         %xmm9,%xmm1
+  DB  102,15,113,209,7                    ; psrlw         $0x7,%xmm1
+  DB  102,68,15,111,21,32,152,0,0         ; movdqa        0x9820(%rip),%xmm10        # 35bd0 <_sk_srcover_bgra_8888_sse2_lowp+0x13b8>
+  DB  102,65,15,219,202                   ; pand          %xmm10,%xmm1
+  DB  102,15,249,193                      ; psubw         %xmm1,%xmm0
+  DB  102,15,111,205                      ; movdqa        %xmm5,%xmm1
+  DB  102,65,15,253,200                   ; paddw         %xmm8,%xmm1
+  DB  102,68,15,213,197                   ; pmullw        %xmm5,%xmm8
+  DB  102,69,15,253,193                   ; paddw         %xmm9,%xmm8
+  DB  102,65,15,113,208,7                 ; psrlw         $0x7,%xmm8
+  DB  102,69,15,219,194                   ; pand          %xmm10,%xmm8
+  DB  102,65,15,249,200                   ; psubw         %xmm8,%xmm1
+  DB  102,68,15,111,198                   ; movdqa        %xmm6,%xmm8
+  DB  102,68,15,253,194                   ; paddw         %xmm2,%xmm8
+  DB  102,15,213,214                      ; pmullw        %xmm6,%xmm2
+  DB  102,65,15,253,209                   ; paddw         %xmm9,%xmm2
+  DB  102,15,113,210,7                    ; psrlw         $0x7,%xmm2
+  DB  102,65,15,219,210                   ; pand          %xmm10,%xmm2
+  DB  102,68,15,249,194                   ; psubw         %xmm2,%xmm8
+  DB  102,65,15,111,209                   ; movdqa        %xmm9,%xmm2
+  DB  102,15,249,211                      ; psubw         %xmm3,%xmm2
+  DB  102,15,213,215                      ; pmullw        %xmm7,%xmm2
+  DB  102,65,15,253,209                   ; paddw         %xmm9,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,253,218                      ; paddw         %xmm2,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,65,15,111,208                   ; movdqa        %xmm8,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_hardlight_sse41_lowp
+_sk_hardlight_sse41_lowp LABEL PROC
+  DB  72,131,236,24                       ; sub           $0x18,%rsp
+  DB  102,68,15,111,231                   ; movdqa        %xmm7,%xmm12
+  DB  15,41,52,36                         ; movaps        %xmm6,(%rsp)
+  DB  102,15,111,245                      ; movdqa        %xmm5,%xmm6
+  DB  102,15,111,236                      ; movdqa        %xmm4,%xmm5
+  DB  102,68,15,111,192                   ; movdqa        %xmm0,%xmm8
+  DB  102,68,15,111,29,11,144,0,0         ; movdqa        0x900b(%rip),%xmm11        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,69,15,249,220                   ; psubw         %xmm12,%xmm11
+  DB  102,65,15,111,227                   ; movdqa        %xmm11,%xmm4
+  DB  102,65,15,213,224                   ; pmullw        %xmm8,%xmm4
+  DB  102,68,15,111,251                   ; movdqa        %xmm3,%xmm15
+  DB  102,69,15,249,248                   ; psubw         %xmm8,%xmm15
+  DB  102,69,15,253,192                   ; paddw         %xmm8,%xmm8
+  DB  102,68,15,111,13,116,151,0,0        ; movdqa        0x9774(%rip),%xmm9        # 35be0 <_sk_srcover_bgra_8888_sse2_lowp+0x13c8>
+  DB  102,68,15,111,243                   ; movdqa        %xmm3,%xmm14
+  DB  102,69,15,239,241                   ; pxor          %xmm9,%xmm14
+  DB  102,65,15,111,196                   ; movdqa        %xmm12,%xmm0
+  DB  102,69,15,111,212                   ; movdqa        %xmm12,%xmm10
+  DB  102,68,15,213,211                   ; pmullw        %xmm3,%xmm10
+  DB  102,15,249,197                      ; psubw         %xmm5,%xmm0
+  DB  102,65,15,213,199                   ; pmullw        %xmm15,%xmm0
+  DB  102,15,253,192                      ; paddw         %xmm0,%xmm0
+  DB  102,69,15,111,250                   ; movdqa        %xmm10,%xmm15
+  DB  102,68,15,249,248                   ; psubw         %xmm0,%xmm15
+  DB  102,65,15,111,192                   ; movdqa        %xmm8,%xmm0
+  DB  102,65,15,239,193                   ; pxor          %xmm9,%xmm0
+  DB  102,65,15,101,198                   ; pcmpgtw       %xmm14,%xmm0
+  DB  102,68,15,213,197                   ; pmullw        %xmm5,%xmm8
+  DB  102,69,15,56,16,199                 ; pblendvb      %xmm0,%xmm15,%xmm8
+  DB  102,65,15,111,196                   ; movdqa        %xmm12,%xmm0
+  DB  102,68,15,111,251                   ; movdqa        %xmm3,%xmm15
+  DB  102,68,15,249,249                   ; psubw         %xmm1,%xmm15
+  DB  102,15,249,198                      ; psubw         %xmm6,%xmm0
+  DB  102,65,15,213,199                   ; pmullw        %xmm15,%xmm0
+  DB  102,15,253,192                      ; paddw         %xmm0,%xmm0
+  DB  102,69,15,111,234                   ; movdqa        %xmm10,%xmm13
+  DB  102,68,15,249,232                   ; psubw         %xmm0,%xmm13
+  DB  102,69,15,111,251                   ; movdqa        %xmm11,%xmm15
+  DB  102,68,15,213,249                   ; pmullw        %xmm1,%xmm15
+  DB  102,15,253,201                      ; paddw         %xmm1,%xmm1
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,65,15,239,193                   ; pxor          %xmm9,%xmm0
+  DB  102,65,15,101,198                   ; pcmpgtw       %xmm14,%xmm0
+  DB  102,15,213,206                      ; pmullw        %xmm6,%xmm1
+  DB  102,65,15,56,16,205                 ; pblendvb      %xmm0,%xmm13,%xmm1
+  DB  102,68,15,213,218                   ; pmullw        %xmm2,%xmm11
+  DB  102,68,15,111,235                   ; movdqa        %xmm3,%xmm13
+  DB  102,68,15,249,234                   ; psubw         %xmm2,%xmm13
+  DB  102,15,253,210                      ; paddw         %xmm2,%xmm2
+  DB  102,68,15,239,202                   ; pxor          %xmm2,%xmm9
+  DB  102,69,15,101,206                   ; pcmpgtw       %xmm14,%xmm9
+  DB  102,15,111,4,36                     ; movdqa        (%rsp),%xmm0
+  DB  102,15,249,248                      ; psubw         %xmm0,%xmm7
+  DB  102,65,15,213,253                   ; pmullw        %xmm13,%xmm7
+  DB  102,15,253,255                      ; paddw         %xmm7,%xmm7
+  DB  102,68,15,249,215                   ; psubw         %xmm7,%xmm10
+  DB  102,15,213,208                      ; pmullw        %xmm0,%xmm2
+  DB  102,68,15,111,232                   ; movdqa        %xmm0,%xmm13
+  DB  102,65,15,111,193                   ; movdqa        %xmm9,%xmm0
+  DB  102,65,15,56,16,210                 ; pblendvb      %xmm0,%xmm10,%xmm2
+  DB  102,68,15,111,13,253,142,0,0        ; movdqa        0x8efd(%rip),%xmm9        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,65,15,111,193                   ; movdqa        %xmm9,%xmm0
+  DB  102,15,249,195                      ; psubw         %xmm3,%xmm0
+  DB  102,15,111,248                      ; movdqa        %xmm0,%xmm7
+  DB  102,15,213,253                      ; pmullw        %xmm5,%xmm7
+  DB  102,15,253,252                      ; paddw         %xmm4,%xmm7
+  DB  102,69,15,253,193                   ; paddw         %xmm9,%xmm8
+  DB  102,68,15,253,199                   ; paddw         %xmm7,%xmm8
+  DB  102,15,111,224                      ; movdqa        %xmm0,%xmm4
+  DB  102,15,213,230                      ; pmullw        %xmm6,%xmm4
+  DB  102,65,15,253,231                   ; paddw         %xmm15,%xmm4
+  DB  102,65,15,253,201                   ; paddw         %xmm9,%xmm1
+  DB  102,15,253,204                      ; paddw         %xmm4,%xmm1
+  DB  102,15,111,224                      ; movdqa        %xmm0,%xmm4
+  DB  102,65,15,213,229                   ; pmullw        %xmm13,%xmm4
+  DB  102,65,15,253,227                   ; paddw         %xmm11,%xmm4
+  DB  102,65,15,253,209                   ; paddw         %xmm9,%xmm2
+  DB  102,15,253,212                      ; paddw         %xmm4,%xmm2
+  DB  102,65,15,213,196                   ; pmullw        %xmm12,%xmm0
+  DB  102,65,15,253,193                   ; paddw         %xmm9,%xmm0
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,15,253,216                      ; paddw         %xmm0,%xmm3
+  DB  102,65,15,113,208,8                 ; psrlw         $0x8,%xmm8
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,65,15,111,252                   ; movdqa        %xmm12,%xmm7
+  DB  102,65,15,111,192                   ; movdqa        %xmm8,%xmm0
+  DB  102,15,111,229                      ; movdqa        %xmm5,%xmm4
+  DB  102,15,111,238                      ; movdqa        %xmm6,%xmm5
+  DB  102,65,15,111,245                   ; movdqa        %xmm13,%xmm6
+  DB  72,131,196,24                       ; add           $0x18,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_overlay_sse41_lowp
+_sk_overlay_sse41_lowp LABEL PROC
+  DB  72,131,236,24                       ; sub           $0x18,%rsp
+  DB  102,68,15,111,231                   ; movdqa        %xmm7,%xmm12
+  DB  102,68,15,111,192                   ; movdqa        %xmm0,%xmm8
+  DB  102,68,15,111,29,88,142,0,0         ; movdqa        0x8e58(%rip),%xmm11        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,69,15,249,220                   ; psubw         %xmm12,%xmm11
+  DB  102,65,15,111,195                   ; movdqa        %xmm11,%xmm0
+  DB  102,65,15,213,192                   ; pmullw        %xmm8,%xmm0
+  DB  102,15,127,4,36                     ; movdqa        %xmm0,(%rsp)
+  DB  102,68,15,111,243                   ; movdqa        %xmm3,%xmm14
+  DB  102,69,15,249,240                   ; psubw         %xmm8,%xmm14
+  DB  102,68,15,213,196                   ; pmullw        %xmm4,%xmm8
+  DB  102,69,15,111,252                   ; movdqa        %xmm12,%xmm15
+  DB  102,68,15,249,252                   ; psubw         %xmm4,%xmm15
+  DB  102,15,111,196                      ; movdqa        %xmm4,%xmm0
+  DB  102,15,253,192                      ; paddw         %xmm0,%xmm0
+  DB  102,68,15,111,13,170,149,0,0        ; movdqa        0x95aa(%rip),%xmm9        # 35be0 <_sk_srcover_bgra_8888_sse2_lowp+0x13c8>
+  DB  102,69,15,111,212                   ; movdqa        %xmm12,%xmm10
+  DB  102,68,15,213,211                   ; pmullw        %xmm3,%xmm10
+  DB  102,69,15,213,254                   ; pmullw        %xmm14,%xmm15
+  DB  102,69,15,253,255                   ; paddw         %xmm15,%xmm15
+  DB  102,69,15,111,234                   ; movdqa        %xmm10,%xmm13
+  DB  102,69,15,249,239                   ; psubw         %xmm15,%xmm13
+  DB  102,69,15,111,244                   ; movdqa        %xmm12,%xmm14
+  DB  102,69,15,239,241                   ; pxor          %xmm9,%xmm14
+  DB  102,65,15,239,193                   ; pxor          %xmm9,%xmm0
+  DB  102,65,15,101,198                   ; pcmpgtw       %xmm14,%xmm0
+  DB  102,69,15,253,192                   ; paddw         %xmm8,%xmm8
+  DB  102,69,15,56,16,197                 ; pblendvb      %xmm0,%xmm13,%xmm8
+  DB  102,65,15,111,196                   ; movdqa        %xmm12,%xmm0
+  DB  102,68,15,111,235                   ; movdqa        %xmm3,%xmm13
+  DB  102,68,15,249,233                   ; psubw         %xmm1,%xmm13
+  DB  102,15,249,197                      ; psubw         %xmm5,%xmm0
+  DB  102,65,15,213,197                   ; pmullw        %xmm13,%xmm0
+  DB  102,15,253,192                      ; paddw         %xmm0,%xmm0
+  DB  102,69,15,111,234                   ; movdqa        %xmm10,%xmm13
+  DB  102,68,15,249,232                   ; psubw         %xmm0,%xmm13
+  DB  102,69,15,111,251                   ; movdqa        %xmm11,%xmm15
+  DB  102,68,15,213,249                   ; pmullw        %xmm1,%xmm15
+  DB  102,15,213,205                      ; pmullw        %xmm5,%xmm1
+  DB  102,15,111,197                      ; movdqa        %xmm5,%xmm0
+  DB  102,15,253,192                      ; paddw         %xmm0,%xmm0
+  DB  102,65,15,239,193                   ; pxor          %xmm9,%xmm0
+  DB  102,65,15,101,198                   ; pcmpgtw       %xmm14,%xmm0
+  DB  102,15,253,201                      ; paddw         %xmm1,%xmm1
+  DB  102,65,15,56,16,205                 ; pblendvb      %xmm0,%xmm13,%xmm1
+  DB  102,15,111,198                      ; movdqa        %xmm6,%xmm0
+  DB  102,15,253,192                      ; paddw         %xmm0,%xmm0
+  DB  102,68,15,239,200                   ; pxor          %xmm0,%xmm9
+  DB  102,65,15,111,196                   ; movdqa        %xmm12,%xmm0
+  DB  102,15,249,198                      ; psubw         %xmm6,%xmm0
+  DB  102,69,15,101,206                   ; pcmpgtw       %xmm14,%xmm9
+  DB  102,15,111,251                      ; movdqa        %xmm3,%xmm7
+  DB  102,15,249,250                      ; psubw         %xmm2,%xmm7
+  DB  102,15,213,199                      ; pmullw        %xmm7,%xmm0
+  DB  102,15,253,192                      ; paddw         %xmm0,%xmm0
+  DB  102,68,15,249,208                   ; psubw         %xmm0,%xmm10
+  DB  102,68,15,213,218                   ; pmullw        %xmm2,%xmm11
+  DB  102,15,213,214                      ; pmullw        %xmm6,%xmm2
+  DB  102,15,253,210                      ; paddw         %xmm2,%xmm2
+  DB  102,65,15,111,193                   ; movdqa        %xmm9,%xmm0
+  DB  102,65,15,56,16,210                 ; pblendvb      %xmm0,%xmm10,%xmm2
+  DB  102,68,15,111,13,60,141,0,0         ; movdqa        0x8d3c(%rip),%xmm9        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,65,15,111,193                   ; movdqa        %xmm9,%xmm0
+  DB  102,15,249,195                      ; psubw         %xmm3,%xmm0
+  DB  102,15,111,248                      ; movdqa        %xmm0,%xmm7
+  DB  102,15,213,252                      ; pmullw        %xmm4,%xmm7
+  DB  102,15,253,60,36                    ; paddw         (%rsp),%xmm7
+  DB  102,69,15,253,193                   ; paddw         %xmm9,%xmm8
+  DB  102,68,15,253,199                   ; paddw         %xmm7,%xmm8
+  DB  102,15,111,248                      ; movdqa        %xmm0,%xmm7
+  DB  102,15,213,253                      ; pmullw        %xmm5,%xmm7
+  DB  102,65,15,253,255                   ; paddw         %xmm15,%xmm7
+  DB  102,65,15,253,201                   ; paddw         %xmm9,%xmm1
+  DB  102,15,253,207                      ; paddw         %xmm7,%xmm1
+  DB  102,15,111,248                      ; movdqa        %xmm0,%xmm7
+  DB  102,15,213,254                      ; pmullw        %xmm6,%xmm7
+  DB  102,65,15,253,251                   ; paddw         %xmm11,%xmm7
+  DB  102,65,15,253,209                   ; paddw         %xmm9,%xmm2
+  DB  102,15,253,215                      ; paddw         %xmm7,%xmm2
+  DB  102,65,15,213,196                   ; pmullw        %xmm12,%xmm0
+  DB  102,65,15,253,193                   ; paddw         %xmm9,%xmm0
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,15,253,216                      ; paddw         %xmm0,%xmm3
+  DB  102,65,15,113,208,8                 ; psrlw         $0x8,%xmm8
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,65,15,111,252                   ; movdqa        %xmm12,%xmm7
+  DB  102,65,15,111,192                   ; movdqa        %xmm8,%xmm0
+  DB  72,131,196,24                       ; add           $0x18,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_load_8888_sse41_lowp
+_sk_load_8888_sse41_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,41                              ; ja            2c7d9 <_sk_load_8888_sse41_lowp+0x44>
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,241,0,0,0                 ; lea           0xf1(%rip),%r9        # 2c8b0 <_sk_load_8888_sse41_lowp+0x11b>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,65,15,110,20,144                ; movd          (%r8,%rdx,4),%xmm2
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  235,89                              ; jmp           2c832 <_sk_load_8888_sse41_lowp+0x9d>
+  DB  243,65,15,111,20,144                ; movdqu        (%r8,%rdx,4),%xmm2
+  DB  243,69,15,111,68,144,16             ; movdqu        0x10(%r8,%rdx,4),%xmm8
+  DB  235,74                              ; jmp           2c832 <_sk_load_8888_sse41_lowp+0x9d>
+  DB  102,65,15,110,68,144,8              ; movd          0x8(%r8,%rdx,4),%xmm0
+  DB  102,68,15,112,192,69                ; pshufd        $0x45,%xmm0,%xmm8
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  243,65,15,126,20,144                ; movq          (%r8,%rdx,4),%xmm2
+  DB  102,65,15,58,14,208,240             ; pblendw       $0xf0,%xmm8,%xmm2
+  DB  102,68,15,111,192                   ; movdqa        %xmm0,%xmm8
+  DB  235,37                              ; jmp           2c832 <_sk_load_8888_sse41_lowp+0x9d>
+  DB  102,65,15,110,68,144,24             ; movd          0x18(%r8,%rdx,4),%xmm0
+  DB  102,68,15,112,192,69                ; pshufd        $0x45,%xmm0,%xmm8
+  DB  102,69,15,58,34,68,144,20,1         ; pinsrd        $0x1,0x14(%r8,%rdx,4),%xmm8
+  DB  102,69,15,58,34,68,144,16,0         ; pinsrd        $0x0,0x10(%r8,%rdx,4),%xmm8
+  DB  243,65,15,111,20,144                ; movdqu        (%r8,%rdx,4),%xmm2
+  DB  102,15,111,5,182,147,0,0            ; movdqa        0x93b6(%rip),%xmm0        # 35bf0 <_sk_srcover_bgra_8888_sse2_lowp+0x13d8>
+  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
+  DB  102,15,56,0,200                     ; pshufb        %xmm0,%xmm1
+  DB  102,65,15,111,216                   ; movdqa        %xmm8,%xmm3
+  DB  102,15,56,0,216                     ; pshufb        %xmm0,%xmm3
+  DB  102,15,108,203                      ; punpcklqdq    %xmm3,%xmm1
+  DB  102,68,15,111,13,246,139,0,0        ; movdqa        0x8bf6(%rip),%xmm9        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,65,15,219,193                   ; pand          %xmm9,%xmm0
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,68,15,111,21,143,147,0,0        ; movdqa        0x938f(%rip),%xmm10        # 35c00 <_sk_srcover_bgra_8888_sse2_lowp+0x13e8>
+  DB  102,15,111,218                      ; movdqa        %xmm2,%xmm3
+  DB  102,65,15,56,0,218                  ; pshufb        %xmm10,%xmm3
+  DB  102,69,15,111,216                   ; movdqa        %xmm8,%xmm11
+  DB  102,69,15,56,0,218                  ; pshufb        %xmm10,%xmm11
+  DB  102,65,15,108,219                   ; punpcklqdq    %xmm11,%xmm3
+  DB  102,68,15,111,21,124,147,0,0        ; movdqa        0x937c(%rip),%xmm10        # 35c10 <_sk_srcover_bgra_8888_sse2_lowp+0x13f8>
+  DB  102,65,15,56,0,210                  ; pshufb        %xmm10,%xmm2
+  DB  102,69,15,56,0,194                  ; pshufb        %xmm10,%xmm8
+  DB  102,65,15,108,208                   ; punpcklqdq    %xmm8,%xmm2
+  DB  102,65,15,219,209                   ; pand          %xmm9,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  28,255                              ; sbb           $0xff,%al
+  DB  255                                 ; (bad)
+  DB  255,73,255                          ; decl          -0x1(%rcx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  56,255                              ; cmp           %bh,%bh
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  124,255                             ; jl            2c8bd <_sk_load_8888_sse41_lowp+0x128>
+  DB  255                                 ; (bad)
+  DB  255,115,255                         ; pushq         -0x1(%rbx)
+  DB  255                                 ; (bad)
+  DB  255,106,255                         ; ljmp          *-0x1(%rdx)
+  DB  255                                 ; (bad)
+  DB  255,93,255                          ; lcall         *-0x1(%rbp)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_8888_dst_sse41_lowp
+_sk_load_8888_dst_sse41_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,41                              ; ja            2c910 <_sk_load_8888_dst_sse41_lowp+0x44>
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,242,0,0,0                 ; lea           0xf2(%rip),%r9        # 2c9e8 <_sk_load_8888_dst_sse41_lowp+0x11c>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,65,15,110,52,144                ; movd          (%r8,%rdx,4),%xmm6
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  235,89                              ; jmp           2c969 <_sk_load_8888_dst_sse41_lowp+0x9d>
+  DB  243,65,15,111,52,144                ; movdqu        (%r8,%rdx,4),%xmm6
+  DB  243,69,15,111,68,144,16             ; movdqu        0x10(%r8,%rdx,4),%xmm8
+  DB  235,74                              ; jmp           2c969 <_sk_load_8888_dst_sse41_lowp+0x9d>
+  DB  102,65,15,110,100,144,8             ; movd          0x8(%r8,%rdx,4),%xmm4
+  DB  102,68,15,112,196,69                ; pshufd        $0x45,%xmm4,%xmm8
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  243,65,15,126,52,144                ; movq          (%r8,%rdx,4),%xmm6
+  DB  102,65,15,58,14,240,240             ; pblendw       $0xf0,%xmm8,%xmm6
+  DB  102,68,15,111,196                   ; movdqa        %xmm4,%xmm8
+  DB  235,37                              ; jmp           2c969 <_sk_load_8888_dst_sse41_lowp+0x9d>
+  DB  102,65,15,110,100,144,24            ; movd          0x18(%r8,%rdx,4),%xmm4
+  DB  102,68,15,112,196,69                ; pshufd        $0x45,%xmm4,%xmm8
+  DB  102,69,15,58,34,68,144,20,1         ; pinsrd        $0x1,0x14(%r8,%rdx,4),%xmm8
+  DB  102,69,15,58,34,68,144,16,0         ; pinsrd        $0x0,0x10(%r8,%rdx,4),%xmm8
+  DB  243,65,15,111,52,144                ; movdqu        (%r8,%rdx,4),%xmm6
+  DB  102,15,111,37,127,146,0,0           ; movdqa        0x927f(%rip),%xmm4        # 35bf0 <_sk_srcover_bgra_8888_sse2_lowp+0x13d8>
+  DB  102,15,111,238                      ; movdqa        %xmm6,%xmm5
+  DB  102,15,56,0,236                     ; pshufb        %xmm4,%xmm5
+  DB  102,65,15,111,248                   ; movdqa        %xmm8,%xmm7
+  DB  102,15,56,0,252                     ; pshufb        %xmm4,%xmm7
+  DB  102,15,108,239                      ; punpcklqdq    %xmm7,%xmm5
+  DB  102,68,15,111,13,191,138,0,0        ; movdqa        0x8abf(%rip),%xmm9        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,15,111,229                      ; movdqa        %xmm5,%xmm4
+  DB  102,65,15,219,225                   ; pand          %xmm9,%xmm4
+  DB  102,15,113,213,8                    ; psrlw         $0x8,%xmm5
+  DB  102,68,15,111,21,88,146,0,0         ; movdqa        0x9258(%rip),%xmm10        # 35c00 <_sk_srcover_bgra_8888_sse2_lowp+0x13e8>
+  DB  102,15,111,254                      ; movdqa        %xmm6,%xmm7
+  DB  102,65,15,56,0,250                  ; pshufb        %xmm10,%xmm7
+  DB  102,69,15,111,216                   ; movdqa        %xmm8,%xmm11
+  DB  102,69,15,56,0,218                  ; pshufb        %xmm10,%xmm11
+  DB  102,65,15,108,251                   ; punpcklqdq    %xmm11,%xmm7
+  DB  102,68,15,111,21,69,146,0,0         ; movdqa        0x9245(%rip),%xmm10        # 35c10 <_sk_srcover_bgra_8888_sse2_lowp+0x13f8>
+  DB  102,65,15,56,0,242                  ; pshufb        %xmm10,%xmm6
+  DB  102,69,15,56,0,194                  ; pshufb        %xmm10,%xmm8
+  DB  102,65,15,108,240                   ; punpcklqdq    %xmm8,%xmm6
+  DB  102,65,15,219,241                   ; pand          %xmm9,%xmm6
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  15,31,0                             ; nopl          (%rax)
+  DB  27,255                              ; sbb           %edi,%edi
+  DB  255                                 ; (bad)
+  DB  255,72,255                          ; decl          -0x1(%rax)
+  DB  255                                 ; (bad)
+  DB  255,55                              ; pushq         (%rdi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  123,255                             ; jnp           2c9f5 <_sk_load_8888_dst_sse41_lowp+0x129>
+  DB  255                                 ; (bad)
+  DB  255,114,255                         ; pushq         -0x1(%rdx)
+  DB  255                                 ; (bad)
+  DB  255,105,255                         ; ljmp          *-0x1(%rcx)
+  DB  255                                 ; (bad)
+  DB  255,92,255,255                      ; lcall         *-0x1(%rdi,%rdi,8)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_store_8888_sse41_lowp
+_sk_store_8888_sse41_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  102,68,15,111,193                   ; movdqa        %xmm1,%xmm8
+  DB  102,65,15,113,240,8                 ; psllw         $0x8,%xmm8
+  DB  102,68,15,235,192                   ; por           %xmm0,%xmm8
+  DB  102,69,15,112,200,78                ; pshufd        $0x4e,%xmm8,%xmm9
+  DB  102,69,15,56,51,209                 ; pmovzxwd      %xmm9,%xmm10
+  DB  102,69,15,56,51,216                 ; pmovzxwd      %xmm8,%xmm11
+  DB  102,68,15,111,227                   ; movdqa        %xmm3,%xmm12
+  DB  102,65,15,113,244,8                 ; psllw         $0x8,%xmm12
+  DB  102,68,15,235,226                   ; por           %xmm2,%xmm12
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  102,69,15,239,201                   ; pxor          %xmm9,%xmm9
+  DB  102,69,15,105,204                   ; punpckhwd     %xmm12,%xmm9
+  DB  102,69,15,235,202                   ; por           %xmm10,%xmm9
+  DB  102,69,15,97,196                    ; punpcklwd     %xmm12,%xmm8
+  DB  102,69,15,235,195                   ; por           %xmm11,%xmm8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,27                              ; ja            2ca8a <_sk_store_8888_sse41_lowp+0x86>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,87,0,0,0                  ; lea           0x57(%rip),%r9        # 2cad0 <_sk_store_8888_sse41_lowp+0xcc>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,69,15,126,4,144                 ; movd          %xmm8,(%r8,%rdx,4)
+  DB  235,63                              ; jmp           2cac9 <_sk_store_8888_sse41_lowp+0xc5>
+  DB  243,69,15,127,4,144                 ; movdqu        %xmm8,(%r8,%rdx,4)
+  DB  243,69,15,127,76,144,16             ; movdqu        %xmm9,0x10(%r8,%rdx,4)
+  DB  235,48                              ; jmp           2cac9 <_sk_store_8888_sse41_lowp+0xc5>
+  DB  102,69,15,58,22,68,144,8,2          ; pextrd        $0x2,%xmm8,0x8(%r8,%rdx,4)
+  DB  102,69,15,214,4,144                 ; movq          %xmm8,(%r8,%rdx,4)
+  DB  235,31                              ; jmp           2cac9 <_sk_store_8888_sse41_lowp+0xc5>
+  DB  102,69,15,58,22,76,144,24,2         ; pextrd        $0x2,%xmm9,0x18(%r8,%rdx,4)
+  DB  102,69,15,58,22,76,144,20,1         ; pextrd        $0x1,%xmm9,0x14(%r8,%rdx,4)
+  DB  102,69,15,126,76,144,16             ; movd          %xmm9,0x10(%r8,%rdx,4)
+  DB  243,69,15,127,4,144                 ; movdqu        %xmm8,(%r8,%rdx,4)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  15,31,0                             ; nopl          (%rax)
+  DB  178,255                             ; mov           $0xff,%dl
+  DB  255                                 ; (bad)
+  DB  255,210                             ; callq         *%rdx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,201                             ; dec           %ecx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,243                             ; push          %rbx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  236                                 ; in            (%dx),%al
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,227                             ; jmpq          *%rbx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  218,255                             ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_bgra_sse41_lowp
+_sk_load_bgra_sse41_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,41                              ; ja            2cb30 <_sk_load_bgra_sse41_lowp+0x44>
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,242,0,0,0                 ; lea           0xf2(%rip),%r9        # 2cc08 <_sk_load_bgra_sse41_lowp+0x11c>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,65,15,110,4,144                 ; movd          (%r8,%rdx,4),%xmm0
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  235,89                              ; jmp           2cb89 <_sk_load_bgra_sse41_lowp+0x9d>
+  DB  243,65,15,111,4,144                 ; movdqu        (%r8,%rdx,4),%xmm0
+  DB  243,69,15,111,68,144,16             ; movdqu        0x10(%r8,%rdx,4),%xmm8
+  DB  235,74                              ; jmp           2cb89 <_sk_load_bgra_sse41_lowp+0x9d>
+  DB  102,65,15,110,68,144,8              ; movd          0x8(%r8,%rdx,4),%xmm0
+  DB  102,68,15,112,192,69                ; pshufd        $0x45,%xmm0,%xmm8
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  243,65,15,126,4,144                 ; movq          (%r8,%rdx,4),%xmm0
+  DB  102,65,15,58,14,192,240             ; pblendw       $0xf0,%xmm8,%xmm0
+  DB  102,68,15,111,193                   ; movdqa        %xmm1,%xmm8
+  DB  235,37                              ; jmp           2cb89 <_sk_load_bgra_sse41_lowp+0x9d>
+  DB  102,65,15,110,68,144,24             ; movd          0x18(%r8,%rdx,4),%xmm0
+  DB  102,68,15,112,192,69                ; pshufd        $0x45,%xmm0,%xmm8
+  DB  102,69,15,58,34,68,144,20,1         ; pinsrd        $0x1,0x14(%r8,%rdx,4),%xmm8
+  DB  102,69,15,58,34,68,144,16,0         ; pinsrd        $0x0,0x10(%r8,%rdx,4),%xmm8
+  DB  243,65,15,111,4,144                 ; movdqu        (%r8,%rdx,4),%xmm0
+  DB  102,15,111,21,95,144,0,0            ; movdqa        0x905f(%rip),%xmm2        # 35bf0 <_sk_srcover_bgra_8888_sse2_lowp+0x13d8>
+  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
+  DB  102,15,56,0,202                     ; pshufb        %xmm2,%xmm1
+  DB  102,65,15,111,216                   ; movdqa        %xmm8,%xmm3
+  DB  102,15,56,0,218                     ; pshufb        %xmm2,%xmm3
+  DB  102,15,108,203                      ; punpcklqdq    %xmm3,%xmm1
+  DB  102,68,15,111,13,159,136,0,0        ; movdqa        0x889f(%rip),%xmm9        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,15,111,209                      ; movdqa        %xmm1,%xmm2
+  DB  102,65,15,219,209                   ; pand          %xmm9,%xmm2
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,68,15,111,21,56,144,0,0         ; movdqa        0x9038(%rip),%xmm10        # 35c00 <_sk_srcover_bgra_8888_sse2_lowp+0x13e8>
+  DB  102,15,111,216                      ; movdqa        %xmm0,%xmm3
+  DB  102,65,15,56,0,218                  ; pshufb        %xmm10,%xmm3
+  DB  102,69,15,111,216                   ; movdqa        %xmm8,%xmm11
+  DB  102,69,15,56,0,218                  ; pshufb        %xmm10,%xmm11
+  DB  102,65,15,108,219                   ; punpcklqdq    %xmm11,%xmm3
+  DB  102,68,15,111,21,37,144,0,0         ; movdqa        0x9025(%rip),%xmm10        # 35c10 <_sk_srcover_bgra_8888_sse2_lowp+0x13f8>
+  DB  102,65,15,56,0,194                  ; pshufb        %xmm10,%xmm0
+  DB  102,69,15,56,0,194                  ; pshufb        %xmm10,%xmm8
+  DB  102,65,15,108,192                   ; punpcklqdq    %xmm8,%xmm0
+  DB  102,65,15,219,193                   ; pand          %xmm9,%xmm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  15,31,0                             ; nopl          (%rax)
+  DB  27,255                              ; sbb           %edi,%edi
+  DB  255                                 ; (bad)
+  DB  255,72,255                          ; decl          -0x1(%rax)
+  DB  255                                 ; (bad)
+  DB  255,55                              ; pushq         (%rdi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  123,255                             ; jnp           2cc15 <_sk_load_bgra_sse41_lowp+0x129>
+  DB  255                                 ; (bad)
+  DB  255,114,255                         ; pushq         -0x1(%rdx)
+  DB  255                                 ; (bad)
+  DB  255,105,255                         ; ljmp          *-0x1(%rcx)
+  DB  255                                 ; (bad)
+  DB  255,92,255,255                      ; lcall         *-0x1(%rdi,%rdi,8)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_bgra_dst_sse41_lowp
+_sk_load_bgra_dst_sse41_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,41                              ; ja            2cc68 <_sk_load_bgra_dst_sse41_lowp+0x44>
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,242,0,0,0                 ; lea           0xf2(%rip),%r9        # 2cd40 <_sk_load_bgra_dst_sse41_lowp+0x11c>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  102,15,239,237                      ; pxor          %xmm5,%xmm5
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,65,15,110,36,144                ; movd          (%r8,%rdx,4),%xmm4
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  235,89                              ; jmp           2ccc1 <_sk_load_bgra_dst_sse41_lowp+0x9d>
+  DB  243,65,15,111,36,144                ; movdqu        (%r8,%rdx,4),%xmm4
+  DB  243,69,15,111,68,144,16             ; movdqu        0x10(%r8,%rdx,4),%xmm8
+  DB  235,74                              ; jmp           2ccc1 <_sk_load_bgra_dst_sse41_lowp+0x9d>
+  DB  102,65,15,110,100,144,8             ; movd          0x8(%r8,%rdx,4),%xmm4
+  DB  102,68,15,112,196,69                ; pshufd        $0x45,%xmm4,%xmm8
+  DB  102,15,239,237                      ; pxor          %xmm5,%xmm5
+  DB  243,65,15,126,36,144                ; movq          (%r8,%rdx,4),%xmm4
+  DB  102,65,15,58,14,224,240             ; pblendw       $0xf0,%xmm8,%xmm4
+  DB  102,68,15,111,197                   ; movdqa        %xmm5,%xmm8
+  DB  235,37                              ; jmp           2ccc1 <_sk_load_bgra_dst_sse41_lowp+0x9d>
+  DB  102,65,15,110,100,144,24            ; movd          0x18(%r8,%rdx,4),%xmm4
+  DB  102,68,15,112,196,69                ; pshufd        $0x45,%xmm4,%xmm8
+  DB  102,69,15,58,34,68,144,20,1         ; pinsrd        $0x1,0x14(%r8,%rdx,4),%xmm8
+  DB  102,69,15,58,34,68,144,16,0         ; pinsrd        $0x0,0x10(%r8,%rdx,4),%xmm8
+  DB  243,65,15,111,36,144                ; movdqu        (%r8,%rdx,4),%xmm4
+  DB  102,15,111,53,39,143,0,0            ; movdqa        0x8f27(%rip),%xmm6        # 35bf0 <_sk_srcover_bgra_8888_sse2_lowp+0x13d8>
+  DB  102,15,111,236                      ; movdqa        %xmm4,%xmm5
+  DB  102,15,56,0,238                     ; pshufb        %xmm6,%xmm5
+  DB  102,65,15,111,248                   ; movdqa        %xmm8,%xmm7
+  DB  102,15,56,0,254                     ; pshufb        %xmm6,%xmm7
+  DB  102,15,108,239                      ; punpcklqdq    %xmm7,%xmm5
+  DB  102,68,15,111,13,103,135,0,0        ; movdqa        0x8767(%rip),%xmm9        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,15,111,245                      ; movdqa        %xmm5,%xmm6
+  DB  102,65,15,219,241                   ; pand          %xmm9,%xmm6
+  DB  102,15,113,213,8                    ; psrlw         $0x8,%xmm5
+  DB  102,68,15,111,21,0,143,0,0          ; movdqa        0x8f00(%rip),%xmm10        # 35c00 <_sk_srcover_bgra_8888_sse2_lowp+0x13e8>
+  DB  102,15,111,252                      ; movdqa        %xmm4,%xmm7
+  DB  102,65,15,56,0,250                  ; pshufb        %xmm10,%xmm7
+  DB  102,69,15,111,216                   ; movdqa        %xmm8,%xmm11
+  DB  102,69,15,56,0,218                  ; pshufb        %xmm10,%xmm11
+  DB  102,65,15,108,251                   ; punpcklqdq    %xmm11,%xmm7
+  DB  102,68,15,111,21,237,142,0,0        ; movdqa        0x8eed(%rip),%xmm10        # 35c10 <_sk_srcover_bgra_8888_sse2_lowp+0x13f8>
+  DB  102,65,15,56,0,226                  ; pshufb        %xmm10,%xmm4
+  DB  102,69,15,56,0,194                  ; pshufb        %xmm10,%xmm8
+  DB  102,65,15,108,224                   ; punpcklqdq    %xmm8,%xmm4
+  DB  102,65,15,219,225                   ; pand          %xmm9,%xmm4
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  15,31,0                             ; nopl          (%rax)
+  DB  27,255                              ; sbb           %edi,%edi
+  DB  255                                 ; (bad)
+  DB  255,72,255                          ; decl          -0x1(%rax)
+  DB  255                                 ; (bad)
+  DB  255,55                              ; pushq         (%rdi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  123,255                             ; jnp           2cd4d <_sk_load_bgra_dst_sse41_lowp+0x129>
+  DB  255                                 ; (bad)
+  DB  255,114,255                         ; pushq         -0x1(%rdx)
+  DB  255                                 ; (bad)
+  DB  255,105,255                         ; ljmp          *-0x1(%rcx)
+  DB  255                                 ; (bad)
+  DB  255,92,255,255                      ; lcall         *-0x1(%rdi,%rdi,8)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_store_bgra_sse41_lowp
+_sk_store_bgra_sse41_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  102,68,15,111,193                   ; movdqa        %xmm1,%xmm8
+  DB  102,65,15,113,240,8                 ; psllw         $0x8,%xmm8
+  DB  102,68,15,235,194                   ; por           %xmm2,%xmm8
+  DB  102,69,15,112,200,78                ; pshufd        $0x4e,%xmm8,%xmm9
+  DB  102,69,15,56,51,209                 ; pmovzxwd      %xmm9,%xmm10
+  DB  102,69,15,56,51,216                 ; pmovzxwd      %xmm8,%xmm11
+  DB  102,68,15,111,227                   ; movdqa        %xmm3,%xmm12
+  DB  102,65,15,113,244,8                 ; psllw         $0x8,%xmm12
+  DB  102,68,15,235,224                   ; por           %xmm0,%xmm12
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  102,69,15,239,201                   ; pxor          %xmm9,%xmm9
+  DB  102,69,15,105,204                   ; punpckhwd     %xmm12,%xmm9
+  DB  102,69,15,235,202                   ; por           %xmm10,%xmm9
+  DB  102,69,15,97,196                    ; punpcklwd     %xmm12,%xmm8
+  DB  102,69,15,235,195                   ; por           %xmm11,%xmm8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,27                              ; ja            2cde2 <_sk_store_bgra_sse41_lowp+0x86>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,87,0,0,0                  ; lea           0x57(%rip),%r9        # 2ce28 <_sk_store_bgra_sse41_lowp+0xcc>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,69,15,126,4,144                 ; movd          %xmm8,(%r8,%rdx,4)
+  DB  235,63                              ; jmp           2ce21 <_sk_store_bgra_sse41_lowp+0xc5>
+  DB  243,69,15,127,4,144                 ; movdqu        %xmm8,(%r8,%rdx,4)
+  DB  243,69,15,127,76,144,16             ; movdqu        %xmm9,0x10(%r8,%rdx,4)
+  DB  235,48                              ; jmp           2ce21 <_sk_store_bgra_sse41_lowp+0xc5>
+  DB  102,69,15,58,22,68,144,8,2          ; pextrd        $0x2,%xmm8,0x8(%r8,%rdx,4)
+  DB  102,69,15,214,4,144                 ; movq          %xmm8,(%r8,%rdx,4)
+  DB  235,31                              ; jmp           2ce21 <_sk_store_bgra_sse41_lowp+0xc5>
+  DB  102,69,15,58,22,76,144,24,2         ; pextrd        $0x2,%xmm9,0x18(%r8,%rdx,4)
+  DB  102,69,15,58,22,76,144,20,1         ; pextrd        $0x1,%xmm9,0x14(%r8,%rdx,4)
+  DB  102,69,15,126,76,144,16             ; movd          %xmm9,0x10(%r8,%rdx,4)
+  DB  243,69,15,127,4,144                 ; movdqu        %xmm8,(%r8,%rdx,4)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  15,31,0                             ; nopl          (%rax)
+  DB  178,255                             ; mov           $0xff,%dl
+  DB  255                                 ; (bad)
+  DB  255,210                             ; callq         *%rdx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,201                             ; dec           %ecx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,243                             ; push          %rbx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  236                                 ; in            (%dx),%al
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,227                             ; jmpq          *%rbx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  218,255                             ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_gather_8888_sse41_lowp
+_sk_gather_8888_sse41_lowp LABEL PROC
+  DB  85                                  ; push          %rbp
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,84                               ; push          %r12
+  DB  83                                  ; push          %rbx
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,64,12                  ; movss         0xc(%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  102,69,15,118,201                   ; pcmpeqd       %xmm9,%xmm9
+  DB  102,69,15,254,193                   ; paddd         %xmm9,%xmm8
+  DB  69,15,87,210                        ; xorps         %xmm10,%xmm10
+  DB  65,15,95,194                        ; maxps         %xmm10,%xmm0
+  DB  65,15,95,202                        ; maxps         %xmm10,%xmm1
+  DB  65,15,93,200                        ; minps         %xmm8,%xmm1
+  DB  65,15,93,192                        ; minps         %xmm8,%xmm0
+  DB  243,68,15,16,64,16                  ; movss         0x10(%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  102,69,15,254,193                   ; paddd         %xmm9,%xmm8
+  DB  65,15,95,218                        ; maxps         %xmm10,%xmm3
+  DB  65,15,95,210                        ; maxps         %xmm10,%xmm2
+  DB  65,15,93,208                        ; minps         %xmm8,%xmm2
+  DB  65,15,93,216                        ; minps         %xmm8,%xmm3
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  243,68,15,91,195                    ; cvttps2dq     %xmm3,%xmm8
+  DB  243,15,91,210                       ; cvttps2dq     %xmm2,%xmm2
+  DB  102,15,110,88,8                     ; movd          0x8(%rax),%xmm3
+  DB  102,15,112,219,0                    ; pshufd        $0x0,%xmm3,%xmm3
+  DB  102,15,56,64,211                    ; pmulld        %xmm3,%xmm2
+  DB  102,68,15,56,64,195                 ; pmulld        %xmm3,%xmm8
+  DB  243,15,91,192                       ; cvttps2dq     %xmm0,%xmm0
+  DB  102,15,254,194                      ; paddd         %xmm2,%xmm0
+  DB  243,15,91,201                       ; cvttps2dq     %xmm1,%xmm1
+  DB  102,65,15,254,200                   ; paddd         %xmm8,%xmm1
+  DB  102,72,15,58,22,200,1               ; pextrq        $0x1,%xmm1,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  102,73,15,126,202                   ; movq          %xmm1,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  102,72,15,58,22,195,1               ; pextrq        $0x1,%xmm0,%rbx
+  DB  65,137,222                          ; mov           %ebx,%r14d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  102,73,15,126,199                   ; movq          %xmm0,%r15
+  DB  69,137,252                          ; mov           %r15d,%r12d
+  DB  73,193,239,32                       ; shr           $0x20,%r15
+  DB  67,139,44,184                       ; mov           (%r8,%r15,4),%ebp
+  DB  71,139,52,176                       ; mov           (%r8,%r14,4),%r14d
+  DB  65,139,28,152                       ; mov           (%r8,%rbx,4),%ebx
+  DB  71,139,28,152                       ; mov           (%r8,%r11,4),%r11d
+  DB  71,139,20,144                       ; mov           (%r8,%r10,4),%r10d
+  DB  71,139,12,136                       ; mov           (%r8,%r9,4),%r9d
+  DB  65,139,4,128                        ; mov           (%r8,%rax,4),%eax
+  DB  102,69,15,110,195                   ; movd          %r11d,%xmm8
+  DB  102,69,15,58,34,194,1               ; pinsrd        $0x1,%r10d,%xmm8
+  DB  102,69,15,58,34,193,2               ; pinsrd        $0x2,%r9d,%xmm8
+  DB  102,68,15,58,34,192,3               ; pinsrd        $0x3,%eax,%xmm8
+  DB  102,67,15,110,12,160                ; movd          (%r8,%r12,4),%xmm1
+  DB  102,15,111,209                      ; movdqa        %xmm1,%xmm2
+  DB  102,15,58,34,213,1                  ; pinsrd        $0x1,%ebp,%xmm2
+  DB  102,65,15,58,34,214,2               ; pinsrd        $0x2,%r14d,%xmm2
+  DB  102,15,58,34,211,3                  ; pinsrd        $0x3,%ebx,%xmm2
+  DB  102,15,196,205,1                    ; pinsrw        $0x1,%ebp,%xmm1
+  DB  102,65,15,196,206,2                 ; pinsrw        $0x2,%r14d,%xmm1
+  DB  102,15,196,203,3                    ; pinsrw        $0x3,%ebx,%xmm1
+  DB  102,65,15,196,203,4                 ; pinsrw        $0x4,%r11d,%xmm1
+  DB  102,65,15,196,202,5                 ; pinsrw        $0x5,%r10d,%xmm1
+  DB  102,65,15,196,201,6                 ; pinsrw        $0x6,%r9d,%xmm1
+  DB  102,15,196,200,7                    ; pinsrw        $0x7,%eax,%xmm1
+  DB  102,68,15,111,13,208,132,0,0        ; movdqa        0x84d0(%rip),%xmm9        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,65,15,219,193                   ; pand          %xmm9,%xmm0
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,68,15,111,21,105,140,0,0        ; movdqa        0x8c69(%rip),%xmm10        # 35c00 <_sk_srcover_bgra_8888_sse2_lowp+0x13e8>
+  DB  102,15,111,218                      ; movdqa        %xmm2,%xmm3
+  DB  102,65,15,56,0,218                  ; pshufb        %xmm10,%xmm3
+  DB  102,69,15,111,216                   ; movdqa        %xmm8,%xmm11
+  DB  102,69,15,56,0,218                  ; pshufb        %xmm10,%xmm11
+  DB  102,65,15,108,219                   ; punpcklqdq    %xmm11,%xmm3
+  DB  102,68,15,111,21,86,140,0,0         ; movdqa        0x8c56(%rip),%xmm10        # 35c10 <_sk_srcover_bgra_8888_sse2_lowp+0x13f8>
+  DB  102,65,15,56,0,210                  ; pshufb        %xmm10,%xmm2
+  DB  102,69,15,56,0,194                  ; pshufb        %xmm10,%xmm8
+  DB  102,65,15,108,208                   ; punpcklqdq    %xmm8,%xmm2
+  DB  102,65,15,219,209                   ; pand          %xmm9,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  91                                  ; pop           %rbx
+  DB  65,92                               ; pop           %r12
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  93                                  ; pop           %rbp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_gather_bgra_sse41_lowp
+_sk_gather_bgra_sse41_lowp LABEL PROC
+  DB  85                                  ; push          %rbp
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,84                               ; push          %r12
+  DB  83                                  ; push          %rbx
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,64,12                  ; movss         0xc(%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  102,69,15,118,201                   ; pcmpeqd       %xmm9,%xmm9
+  DB  102,69,15,254,193                   ; paddd         %xmm9,%xmm8
+  DB  69,15,87,210                        ; xorps         %xmm10,%xmm10
+  DB  65,15,95,194                        ; maxps         %xmm10,%xmm0
+  DB  65,15,95,202                        ; maxps         %xmm10,%xmm1
+  DB  65,15,93,200                        ; minps         %xmm8,%xmm1
+  DB  65,15,93,192                        ; minps         %xmm8,%xmm0
+  DB  243,68,15,16,64,16                  ; movss         0x10(%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  102,69,15,254,193                   ; paddd         %xmm9,%xmm8
+  DB  65,15,95,218                        ; maxps         %xmm10,%xmm3
+  DB  65,15,95,210                        ; maxps         %xmm10,%xmm2
+  DB  65,15,93,208                        ; minps         %xmm8,%xmm2
+  DB  65,15,93,216                        ; minps         %xmm8,%xmm3
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  243,68,15,91,195                    ; cvttps2dq     %xmm3,%xmm8
+  DB  243,15,91,210                       ; cvttps2dq     %xmm2,%xmm2
+  DB  102,15,110,88,8                     ; movd          0x8(%rax),%xmm3
+  DB  102,15,112,219,0                    ; pshufd        $0x0,%xmm3,%xmm3
+  DB  102,15,56,64,211                    ; pmulld        %xmm3,%xmm2
+  DB  102,68,15,56,64,195                 ; pmulld        %xmm3,%xmm8
+  DB  243,15,91,192                       ; cvttps2dq     %xmm0,%xmm0
+  DB  102,15,254,194                      ; paddd         %xmm2,%xmm0
+  DB  243,15,91,201                       ; cvttps2dq     %xmm1,%xmm1
+  DB  102,65,15,254,200                   ; paddd         %xmm8,%xmm1
+  DB  102,72,15,58,22,200,1               ; pextrq        $0x1,%xmm1,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  102,73,15,126,202                   ; movq          %xmm1,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  102,72,15,58,22,195,1               ; pextrq        $0x1,%xmm0,%rbx
+  DB  65,137,222                          ; mov           %ebx,%r14d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  102,73,15,126,199                   ; movq          %xmm0,%r15
+  DB  69,137,252                          ; mov           %r15d,%r12d
+  DB  73,193,239,32                       ; shr           $0x20,%r15
+  DB  67,139,44,184                       ; mov           (%r8,%r15,4),%ebp
+  DB  71,139,52,176                       ; mov           (%r8,%r14,4),%r14d
+  DB  65,139,28,152                       ; mov           (%r8,%rbx,4),%ebx
+  DB  71,139,28,152                       ; mov           (%r8,%r11,4),%r11d
+  DB  71,139,20,144                       ; mov           (%r8,%r10,4),%r10d
+  DB  71,139,12,136                       ; mov           (%r8,%r9,4),%r9d
+  DB  65,139,4,128                        ; mov           (%r8,%rax,4),%eax
+  DB  102,69,15,110,195                   ; movd          %r11d,%xmm8
+  DB  102,69,15,58,34,194,1               ; pinsrd        $0x1,%r10d,%xmm8
+  DB  102,69,15,58,34,193,2               ; pinsrd        $0x2,%r9d,%xmm8
+  DB  102,68,15,58,34,192,3               ; pinsrd        $0x3,%eax,%xmm8
+  DB  102,67,15,110,12,160                ; movd          (%r8,%r12,4),%xmm1
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,15,58,34,197,1                  ; pinsrd        $0x1,%ebp,%xmm0
+  DB  102,65,15,58,34,198,2               ; pinsrd        $0x2,%r14d,%xmm0
+  DB  102,15,58,34,195,3                  ; pinsrd        $0x3,%ebx,%xmm0
+  DB  102,15,196,205,1                    ; pinsrw        $0x1,%ebp,%xmm1
+  DB  102,65,15,196,206,2                 ; pinsrw        $0x2,%r14d,%xmm1
+  DB  102,15,196,203,3                    ; pinsrw        $0x3,%ebx,%xmm1
+  DB  102,65,15,196,203,4                 ; pinsrw        $0x4,%r11d,%xmm1
+  DB  102,65,15,196,202,5                 ; pinsrw        $0x5,%r10d,%xmm1
+  DB  102,65,15,196,201,6                 ; pinsrw        $0x6,%r9d,%xmm1
+  DB  102,15,196,200,7                    ; pinsrw        $0x7,%eax,%xmm1
+  DB  102,68,15,111,13,56,131,0,0         ; movdqa        0x8338(%rip),%xmm9        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,15,111,209                      ; movdqa        %xmm1,%xmm2
+  DB  102,65,15,219,209                   ; pand          %xmm9,%xmm2
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,68,15,111,21,209,138,0,0        ; movdqa        0x8ad1(%rip),%xmm10        # 35c00 <_sk_srcover_bgra_8888_sse2_lowp+0x13e8>
+  DB  102,15,111,216                      ; movdqa        %xmm0,%xmm3
+  DB  102,65,15,56,0,218                  ; pshufb        %xmm10,%xmm3
+  DB  102,69,15,111,216                   ; movdqa        %xmm8,%xmm11
+  DB  102,69,15,56,0,218                  ; pshufb        %xmm10,%xmm11
+  DB  102,65,15,108,219                   ; punpcklqdq    %xmm11,%xmm3
+  DB  102,68,15,111,21,190,138,0,0        ; movdqa        0x8abe(%rip),%xmm10        # 35c10 <_sk_srcover_bgra_8888_sse2_lowp+0x13f8>
+  DB  102,65,15,56,0,194                  ; pshufb        %xmm10,%xmm0
+  DB  102,69,15,56,0,194                  ; pshufb        %xmm10,%xmm8
+  DB  102,65,15,108,192                   ; punpcklqdq    %xmm8,%xmm0
+  DB  102,65,15,219,193                   ; pand          %xmm9,%xmm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  91                                  ; pop           %rbx
+  DB  65,92                               ; pop           %r12
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  93                                  ; pop           %rbp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_load_565_sse41_lowp
+_sk_load_565_sse41_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,34                              ; ja            2d1b0 <_sk_load_565_sse41_lowp+0x3c>
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,196,0,0,0                 ; lea           0xc4(%rip),%r9        # 2d260 <_sk_load_565_sse41_lowp+0xec>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,183,4,80                      ; movzwl        (%r8,%rdx,2),%eax
+  DB  102,15,110,192                      ; movd          %eax,%xmm0
+  DB  235,74                              ; jmp           2d1fa <_sk_load_565_sse41_lowp+0x86>
+  DB  243,65,15,111,4,80                  ; movdqu        (%r8,%rdx,2),%xmm0
+  DB  235,66                              ; jmp           2d1fa <_sk_load_565_sse41_lowp+0x86>
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  102,65,15,196,76,80,4,2             ; pinsrw        $0x2,0x4(%r8,%rdx,2),%xmm1
+  DB  102,65,15,110,4,80                  ; movd          (%r8,%rdx,2),%xmm0
+  DB  102,15,58,14,193,252                ; pblendw       $0xfc,%xmm1,%xmm0
+  DB  235,40                              ; jmp           2d1fa <_sk_load_565_sse41_lowp+0x86>
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  102,65,15,196,76,80,12,6            ; pinsrw        $0x6,0xc(%r8,%rdx,2),%xmm1
+  DB  102,65,15,196,76,80,10,5            ; pinsrw        $0x5,0xa(%r8,%rdx,2),%xmm1
+  DB  102,65,15,196,76,80,8,4             ; pinsrw        $0x4,0x8(%r8,%rdx,2),%xmm1
+  DB  243,65,15,126,4,80                  ; movq          (%r8,%rdx,2),%xmm0
+  DB  102,15,58,14,193,240                ; pblendw       $0xf0,%xmm1,%xmm0
+  DB  102,15,111,216                      ; movdqa        %xmm0,%xmm3
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  102,15,219,29,21,138,0,0            ; pand          0x8a15(%rip),%xmm3        # 35c20 <_sk_srcover_bgra_8888_sse2_lowp+0x1408>
+  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
+  DB  102,15,113,209,5                    ; psrlw         $0x5,%xmm1
+  DB  102,15,219,13,20,138,0,0            ; pand          0x8a14(%rip),%xmm1        # 35c30 <_sk_srcover_bgra_8888_sse2_lowp+0x1418>
+  DB  102,15,111,21,28,138,0,0            ; movdqa        0x8a1c(%rip),%xmm2        # 35c40 <_sk_srcover_bgra_8888_sse2_lowp+0x1428>
+  DB  102,15,219,208                      ; pand          %xmm0,%xmm2
+  DB  102,15,113,208,13                   ; psrlw         $0xd,%xmm0
+  DB  102,15,235,195                      ; por           %xmm3,%xmm0
+  DB  102,15,111,217                      ; movdqa        %xmm1,%xmm3
+  DB  102,15,113,243,2                    ; psllw         $0x2,%xmm3
+  DB  102,15,113,209,4                    ; psrlw         $0x4,%xmm1
+  DB  102,15,235,203                      ; por           %xmm3,%xmm1
+  DB  102,15,111,218                      ; movdqa        %xmm2,%xmm3
+  DB  102,15,113,243,3                    ; psllw         $0x3,%xmm3
+  DB  102,15,113,210,2                    ; psrlw         $0x2,%xmm2
+  DB  102,15,235,211                      ; por           %xmm3,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,29,242,129,0,0                ; movaps        0x81f2(%rip),%xmm3        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  255,224                             ; jmpq          *%rax
+  DB  69,255                              ; rex.RB        (bad)
+  DB  255                                 ; (bad)
+  DB  255,100,255,255                     ; jmpq          *-0x1(%rdi,%rdi,8)
+  DB  255,88,255                          ; lcall         *-0x1(%rax)
+  DB  255                                 ; (bad)
+  DB  255,142,255,255,255,134             ; decl          -0x79000001(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  126,255                             ; jle           2d275 <_sk_load_565_sse41_lowp+0x101>
+  DB  255                                 ; (bad)
+  DB  255,114,255                         ; pushq         -0x1(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_565_dst_sse41_lowp
+_sk_load_565_dst_sse41_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,34                              ; ja            2d2b8 <_sk_load_565_dst_sse41_lowp+0x3c>
+  DB  102,15,239,237                      ; pxor          %xmm5,%xmm5
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,196,0,0,0                 ; lea           0xc4(%rip),%r9        # 2d368 <_sk_load_565_dst_sse41_lowp+0xec>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,183,4,80                      ; movzwl        (%r8,%rdx,2),%eax
+  DB  102,15,110,224                      ; movd          %eax,%xmm4
+  DB  235,74                              ; jmp           2d302 <_sk_load_565_dst_sse41_lowp+0x86>
+  DB  243,65,15,111,36,80                 ; movdqu        (%r8,%rdx,2),%xmm4
+  DB  235,66                              ; jmp           2d302 <_sk_load_565_dst_sse41_lowp+0x86>
+  DB  102,15,239,237                      ; pxor          %xmm5,%xmm5
+  DB  102,65,15,196,108,80,4,2            ; pinsrw        $0x2,0x4(%r8,%rdx,2),%xmm5
+  DB  102,65,15,110,36,80                 ; movd          (%r8,%rdx,2),%xmm4
+  DB  102,15,58,14,229,252                ; pblendw       $0xfc,%xmm5,%xmm4
+  DB  235,40                              ; jmp           2d302 <_sk_load_565_dst_sse41_lowp+0x86>
+  DB  102,15,239,237                      ; pxor          %xmm5,%xmm5
+  DB  102,65,15,196,108,80,12,6           ; pinsrw        $0x6,0xc(%r8,%rdx,2),%xmm5
+  DB  102,65,15,196,108,80,10,5           ; pinsrw        $0x5,0xa(%r8,%rdx,2),%xmm5
+  DB  102,65,15,196,108,80,8,4            ; pinsrw        $0x4,0x8(%r8,%rdx,2),%xmm5
+  DB  243,65,15,126,36,80                 ; movq          (%r8,%rdx,2),%xmm4
+  DB  102,15,58,14,229,240                ; pblendw       $0xf0,%xmm5,%xmm4
+  DB  102,15,111,252                      ; movdqa        %xmm4,%xmm7
+  DB  102,15,113,215,8                    ; psrlw         $0x8,%xmm7
+  DB  102,15,219,61,13,137,0,0            ; pand          0x890d(%rip),%xmm7        # 35c20 <_sk_srcover_bgra_8888_sse2_lowp+0x1408>
+  DB  102,15,111,236                      ; movdqa        %xmm4,%xmm5
+  DB  102,15,113,213,5                    ; psrlw         $0x5,%xmm5
+  DB  102,15,219,45,12,137,0,0            ; pand          0x890c(%rip),%xmm5        # 35c30 <_sk_srcover_bgra_8888_sse2_lowp+0x1418>
+  DB  102,15,111,53,20,137,0,0            ; movdqa        0x8914(%rip),%xmm6        # 35c40 <_sk_srcover_bgra_8888_sse2_lowp+0x1428>
+  DB  102,15,219,244                      ; pand          %xmm4,%xmm6
+  DB  102,15,113,212,13                   ; psrlw         $0xd,%xmm4
+  DB  102,15,235,231                      ; por           %xmm7,%xmm4
+  DB  102,15,111,253                      ; movdqa        %xmm5,%xmm7
+  DB  102,15,113,247,2                    ; psllw         $0x2,%xmm7
+  DB  102,15,113,213,4                    ; psrlw         $0x4,%xmm5
+  DB  102,15,235,239                      ; por           %xmm7,%xmm5
+  DB  102,15,111,254                      ; movdqa        %xmm6,%xmm7
+  DB  102,15,113,247,3                    ; psllw         $0x3,%xmm7
+  DB  102,15,113,214,2                    ; psrlw         $0x2,%xmm6
+  DB  102,15,235,247                      ; por           %xmm7,%xmm6
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,61,234,128,0,0                ; movaps        0x80ea(%rip),%xmm7        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  255,224                             ; jmpq          *%rax
+  DB  69,255                              ; rex.RB        (bad)
+  DB  255                                 ; (bad)
+  DB  255,100,255,255                     ; jmpq          *-0x1(%rdi,%rdi,8)
+  DB  255,88,255                          ; lcall         *-0x1(%rax)
+  DB  255                                 ; (bad)
+  DB  255,142,255,255,255,134             ; decl          -0x79000001(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  126,255                             ; jle           2d37d <_sk_load_565_dst_sse41_lowp+0x101>
+  DB  255                                 ; (bad)
+  DB  255,114,255                         ; pushq         -0x1(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_store_565_sse41_lowp
+_sk_store_565_sse41_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  102,68,15,111,192                   ; movdqa        %xmm0,%xmm8
+  DB  102,65,15,113,240,8                 ; psllw         $0x8,%xmm8
+  DB  102,68,15,219,5,168,136,0,0         ; pand          0x88a8(%rip),%xmm8        # 35c50 <_sk_srcover_bgra_8888_sse2_lowp+0x1438>
+  DB  102,68,15,111,201                   ; movdqa        %xmm1,%xmm9
+  DB  102,65,15,113,241,3                 ; psllw         $0x3,%xmm9
+  DB  102,68,15,219,13,164,136,0,0        ; pand          0x88a4(%rip),%xmm9        # 35c60 <_sk_srcover_bgra_8888_sse2_lowp+0x1448>
+  DB  102,69,15,235,200                   ; por           %xmm8,%xmm9
+  DB  102,68,15,111,194                   ; movdqa        %xmm2,%xmm8
+  DB  102,65,15,113,208,3                 ; psrlw         $0x3,%xmm8
+  DB  102,69,15,235,193                   ; por           %xmm9,%xmm8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,29                              ; ja            2d3f8 <_sk_store_565_sse41_lowp+0x74>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,83,0,0,0                  ; lea           0x53(%rip),%r9        # 2d438 <_sk_store_565_sse41_lowp+0xb4>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,69,15,58,21,4,80,0              ; pextrw        $0x0,%xmm8,(%r8,%rdx,2)
+  DB  235,58                              ; jmp           2d432 <_sk_store_565_sse41_lowp+0xae>
+  DB  243,69,15,127,4,80                  ; movdqu        %xmm8,(%r8,%rdx,2)
+  DB  235,50                              ; jmp           2d432 <_sk_store_565_sse41_lowp+0xae>
+  DB  102,69,15,58,21,68,80,4,2           ; pextrw        $0x2,%xmm8,0x4(%r8,%rdx,2)
+  DB  102,69,15,126,4,80                  ; movd          %xmm8,(%r8,%rdx,2)
+  DB  235,33                              ; jmp           2d432 <_sk_store_565_sse41_lowp+0xae>
+  DB  102,69,15,58,21,68,80,12,6          ; pextrw        $0x6,%xmm8,0xc(%r8,%rdx,2)
+  DB  102,69,15,58,21,68,80,10,5          ; pextrw        $0x5,%xmm8,0xa(%r8,%rdx,2)
+  DB  102,69,15,58,21,68,80,8,4           ; pextrw        $0x4,%xmm8,0x8(%r8,%rdx,2)
+  DB  102,69,15,214,4,80                  ; movq          %xmm8,(%r8,%rdx,2)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  182,255                             ; mov           $0xff,%dh
+  DB  255                                 ; (bad)
+  DB  255,209                             ; callq         *%rcx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,200                             ; dec           %eax
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,244                             ; push          %rsp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  235,255                             ; jmp           2d449 <_sk_store_565_sse41_lowp+0xc5>
+  DB  255                                 ; (bad)
+  DB  255,226                             ; jmpq          *%rdx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  217,255                             ; fcos
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_gather_565_sse41_lowp
+_sk_gather_565_sse41_lowp LABEL PROC
+  DB  85                                  ; push          %rbp
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,84                               ; push          %r12
+  DB  83                                  ; push          %rbx
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,64,12                  ; movss         0xc(%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  102,69,15,118,201                   ; pcmpeqd       %xmm9,%xmm9
+  DB  102,69,15,254,193                   ; paddd         %xmm9,%xmm8
+  DB  69,15,87,210                        ; xorps         %xmm10,%xmm10
+  DB  65,15,95,194                        ; maxps         %xmm10,%xmm0
+  DB  65,15,95,202                        ; maxps         %xmm10,%xmm1
+  DB  65,15,93,200                        ; minps         %xmm8,%xmm1
+  DB  65,15,93,192                        ; minps         %xmm8,%xmm0
+  DB  243,68,15,16,64,16                  ; movss         0x10(%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  102,69,15,254,193                   ; paddd         %xmm9,%xmm8
+  DB  65,15,95,218                        ; maxps         %xmm10,%xmm3
+  DB  65,15,95,210                        ; maxps         %xmm10,%xmm2
+  DB  65,15,93,208                        ; minps         %xmm8,%xmm2
+  DB  65,15,93,216                        ; minps         %xmm8,%xmm3
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  243,68,15,91,195                    ; cvttps2dq     %xmm3,%xmm8
+  DB  243,15,91,210                       ; cvttps2dq     %xmm2,%xmm2
+  DB  102,15,110,88,8                     ; movd          0x8(%rax),%xmm3
+  DB  102,15,112,219,0                    ; pshufd        $0x0,%xmm3,%xmm3
+  DB  102,15,56,64,211                    ; pmulld        %xmm3,%xmm2
+  DB  102,68,15,56,64,195                 ; pmulld        %xmm3,%xmm8
+  DB  243,15,91,192                       ; cvttps2dq     %xmm0,%xmm0
+  DB  102,15,254,194                      ; paddd         %xmm2,%xmm0
+  DB  243,15,91,201                       ; cvttps2dq     %xmm1,%xmm1
+  DB  102,65,15,254,200                   ; paddd         %xmm8,%xmm1
+  DB  102,72,15,58,22,200,1               ; pextrq        $0x1,%xmm1,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  102,73,15,126,202                   ; movq          %xmm1,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  102,72,15,58,22,195,1               ; pextrq        $0x1,%xmm0,%rbx
+  DB  65,137,222                          ; mov           %ebx,%r14d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  102,73,15,126,199                   ; movq          %xmm0,%r15
+  DB  69,137,252                          ; mov           %r15d,%r12d
+  DB  73,193,239,32                       ; shr           $0x20,%r15
+  DB  71,15,183,60,120                    ; movzwl        (%r8,%r15,2),%r15d
+  DB  67,15,183,44,96                     ; movzwl        (%r8,%r12,2),%ebp
+  DB  102,15,110,197                      ; movd          %ebp,%xmm0
+  DB  102,65,15,196,199,1                 ; pinsrw        $0x1,%r15d,%xmm0
+  DB  67,15,183,44,112                    ; movzwl        (%r8,%r14,2),%ebp
+  DB  102,15,196,197,2                    ; pinsrw        $0x2,%ebp,%xmm0
+  DB  65,15,183,28,88                     ; movzwl        (%r8,%rbx,2),%ebx
+  DB  102,15,196,195,3                    ; pinsrw        $0x3,%ebx,%xmm0
+  DB  67,15,183,44,88                     ; movzwl        (%r8,%r11,2),%ebp
+  DB  102,15,196,197,4                    ; pinsrw        $0x4,%ebp,%xmm0
+  DB  67,15,183,44,80                     ; movzwl        (%r8,%r10,2),%ebp
+  DB  102,15,196,197,5                    ; pinsrw        $0x5,%ebp,%xmm0
+  DB  67,15,183,44,72                     ; movzwl        (%r8,%r9,2),%ebp
+  DB  102,15,196,197,6                    ; pinsrw        $0x6,%ebp,%xmm0
+  DB  65,15,183,4,64                      ; movzwl        (%r8,%rax,2),%eax
+  DB  102,15,196,192,7                    ; pinsrw        $0x7,%eax,%xmm0
+  DB  102,15,111,216                      ; movdqa        %xmm0,%xmm3
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  102,15,219,29,178,134,0,0           ; pand          0x86b2(%rip),%xmm3        # 35c20 <_sk_srcover_bgra_8888_sse2_lowp+0x1408>
+  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
+  DB  102,15,113,209,5                    ; psrlw         $0x5,%xmm1
+  DB  102,15,219,13,177,134,0,0           ; pand          0x86b1(%rip),%xmm1        # 35c30 <_sk_srcover_bgra_8888_sse2_lowp+0x1418>
+  DB  102,15,111,21,185,134,0,0           ; movdqa        0x86b9(%rip),%xmm2        # 35c40 <_sk_srcover_bgra_8888_sse2_lowp+0x1428>
+  DB  102,15,219,208                      ; pand          %xmm0,%xmm2
+  DB  102,15,113,208,13                   ; psrlw         $0xd,%xmm0
+  DB  102,15,235,195                      ; por           %xmm3,%xmm0
+  DB  102,15,111,217                      ; movdqa        %xmm1,%xmm3
+  DB  102,15,113,243,2                    ; psllw         $0x2,%xmm3
+  DB  102,15,113,209,4                    ; psrlw         $0x4,%xmm1
+  DB  102,15,235,203                      ; por           %xmm3,%xmm1
+  DB  102,15,111,218                      ; movdqa        %xmm2,%xmm3
+  DB  102,15,113,243,3                    ; psllw         $0x3,%xmm3
+  DB  102,15,113,210,2                    ; psrlw         $0x2,%xmm2
+  DB  102,15,235,211                      ; por           %xmm3,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,29,143,126,0,0                ; movaps        0x7e8f(%rip),%xmm3        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  91                                  ; pop           %rbx
+  DB  65,92                               ; pop           %r12
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  93                                  ; pop           %rbp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_load_4444_sse41_lowp
+_sk_load_4444_sse41_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,35                              ; ja            2d608 <_sk_load_4444_sse41_lowp+0x3d>
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,209,0,0,0                 ; lea           0xd1(%rip),%r9        # 2d6c4 <_sk_load_4444_sse41_lowp+0xf9>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,183,4,80                      ; movzwl        (%r8,%rdx,2),%eax
+  DB  102,68,15,110,192                   ; movd          %eax,%xmm8
+  DB  235,76                              ; jmp           2d654 <_sk_load_4444_sse41_lowp+0x89>
+  DB  243,69,15,111,4,80                  ; movdqu        (%r8,%rdx,2),%xmm8
+  DB  235,68                              ; jmp           2d654 <_sk_load_4444_sse41_lowp+0x89>
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  102,65,15,196,68,80,4,2             ; pinsrw        $0x2,0x4(%r8,%rdx,2),%xmm0
+  DB  102,69,15,110,4,80                  ; movd          (%r8,%rdx,2),%xmm8
+  DB  102,68,15,58,14,192,252             ; pblendw       $0xfc,%xmm0,%xmm8
+  DB  235,41                              ; jmp           2d654 <_sk_load_4444_sse41_lowp+0x89>
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  102,65,15,196,68,80,12,6            ; pinsrw        $0x6,0xc(%r8,%rdx,2),%xmm0
+  DB  102,65,15,196,68,80,10,5            ; pinsrw        $0x5,0xa(%r8,%rdx,2),%xmm0
+  DB  102,65,15,196,68,80,8,4             ; pinsrw        $0x4,0x8(%r8,%rdx,2),%xmm0
+  DB  243,69,15,126,4,80                  ; movq          (%r8,%rdx,2),%xmm8
+  DB  102,68,15,58,14,192,240             ; pblendw       $0xf0,%xmm0,%xmm8
+  DB  102,65,15,111,200                   ; movdqa        %xmm8,%xmm1
+  DB  102,15,113,209,12                   ; psrlw         $0xc,%xmm1
+  DB  102,65,15,111,208                   ; movdqa        %xmm8,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,111,5,0,134,0,0              ; movdqa        0x8600(%rip),%xmm0        # 35c70 <_sk_srcover_bgra_8888_sse2_lowp+0x1458>
+  DB  102,15,219,208                      ; pand          %xmm0,%xmm2
+  DB  102,65,15,111,216                   ; movdqa        %xmm8,%xmm3
+  DB  102,15,113,211,4                    ; psrlw         $0x4,%xmm3
+  DB  102,15,219,216                      ; pand          %xmm0,%xmm3
+  DB  102,68,15,219,192                   ; pand          %xmm0,%xmm8
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,15,113,240,4                    ; psllw         $0x4,%xmm0
+  DB  102,15,235,193                      ; por           %xmm1,%xmm0
+  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
+  DB  102,15,113,241,4                    ; psllw         $0x4,%xmm1
+  DB  102,15,235,202                      ; por           %xmm2,%xmm1
+  DB  102,15,111,211                      ; movdqa        %xmm3,%xmm2
+  DB  102,15,113,242,4                    ; psllw         $0x4,%xmm2
+  DB  102,15,235,211                      ; por           %xmm3,%xmm2
+  DB  102,65,15,111,216                   ; movdqa        %xmm8,%xmm3
+  DB  102,15,113,243,4                    ; psllw         $0x4,%xmm3
+  DB  102,65,15,235,216                   ; por           %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  15,31,0                             ; nopl          (%rax)
+  DB  56,255                              ; cmp           %bh,%bh
+  DB  255                                 ; (bad)
+  DB  255,88,255                          ; lcall         *-0x1(%rax)
+  DB  255                                 ; (bad)
+  DB  255,76,255,255                      ; decl          -0x1(%rdi,%rdi,8)
+  DB  255,131,255,255,255,123             ; incl          0x7bffffff(%rbx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,115,255                         ; pushq         -0x1(%rbx)
+  DB  255                                 ; (bad)
+  DB  255,103,255                         ; jmpq          *-0x1(%rdi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_4444_dst_sse41_lowp
+_sk_load_4444_dst_sse41_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,35                              ; ja            2d71d <_sk_load_4444_dst_sse41_lowp+0x3d>
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,208,0,0,0                 ; lea           0xd0(%rip),%r9        # 2d7d8 <_sk_load_4444_dst_sse41_lowp+0xf8>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,183,4,80                      ; movzwl        (%r8,%rdx,2),%eax
+  DB  102,68,15,110,192                   ; movd          %eax,%xmm8
+  DB  235,76                              ; jmp           2d769 <_sk_load_4444_dst_sse41_lowp+0x89>
+  DB  243,69,15,111,4,80                  ; movdqu        (%r8,%rdx,2),%xmm8
+  DB  235,68                              ; jmp           2d769 <_sk_load_4444_dst_sse41_lowp+0x89>
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  102,65,15,196,100,80,4,2            ; pinsrw        $0x2,0x4(%r8,%rdx,2),%xmm4
+  DB  102,69,15,110,4,80                  ; movd          (%r8,%rdx,2),%xmm8
+  DB  102,68,15,58,14,196,252             ; pblendw       $0xfc,%xmm4,%xmm8
+  DB  235,41                              ; jmp           2d769 <_sk_load_4444_dst_sse41_lowp+0x89>
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  102,65,15,196,100,80,12,6           ; pinsrw        $0x6,0xc(%r8,%rdx,2),%xmm4
+  DB  102,65,15,196,100,80,10,5           ; pinsrw        $0x5,0xa(%r8,%rdx,2),%xmm4
+  DB  102,65,15,196,100,80,8,4            ; pinsrw        $0x4,0x8(%r8,%rdx,2),%xmm4
+  DB  243,69,15,126,4,80                  ; movq          (%r8,%rdx,2),%xmm8
+  DB  102,68,15,58,14,196,240             ; pblendw       $0xf0,%xmm4,%xmm8
+  DB  102,65,15,111,232                   ; movdqa        %xmm8,%xmm5
+  DB  102,15,113,213,12                   ; psrlw         $0xc,%xmm5
+  DB  102,65,15,111,240                   ; movdqa        %xmm8,%xmm6
+  DB  102,15,113,214,8                    ; psrlw         $0x8,%xmm6
+  DB  102,15,111,37,235,132,0,0           ; movdqa        0x84eb(%rip),%xmm4        # 35c70 <_sk_srcover_bgra_8888_sse2_lowp+0x1458>
+  DB  102,15,219,244                      ; pand          %xmm4,%xmm6
+  DB  102,65,15,111,248                   ; movdqa        %xmm8,%xmm7
+  DB  102,15,113,215,4                    ; psrlw         $0x4,%xmm7
+  DB  102,15,219,252                      ; pand          %xmm4,%xmm7
+  DB  102,68,15,219,196                   ; pand          %xmm4,%xmm8
+  DB  102,15,111,229                      ; movdqa        %xmm5,%xmm4
+  DB  102,15,113,244,4                    ; psllw         $0x4,%xmm4
+  DB  102,15,235,229                      ; por           %xmm5,%xmm4
+  DB  102,15,111,238                      ; movdqa        %xmm6,%xmm5
+  DB  102,15,113,245,4                    ; psllw         $0x4,%xmm5
+  DB  102,15,235,238                      ; por           %xmm6,%xmm5
+  DB  102,15,111,247                      ; movdqa        %xmm7,%xmm6
+  DB  102,15,113,246,4                    ; psllw         $0x4,%xmm6
+  DB  102,15,235,247                      ; por           %xmm7,%xmm6
+  DB  102,65,15,111,248                   ; movdqa        %xmm8,%xmm7
+  DB  102,15,113,247,4                    ; psllw         $0x4,%xmm7
+  DB  102,65,15,235,248                   ; por           %xmm8,%xmm7
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  57,255                              ; cmp           %edi,%edi
+  DB  255                                 ; (bad)
+  DB  255,89,255                          ; lcall         *-0x1(%rcx)
+  DB  255                                 ; (bad)
+  DB  255,77,255                          ; decl          -0x1(%rbp)
+  DB  255                                 ; (bad)
+  DB  255,132,255,255,255,124,255         ; incl          -0x830001(%rdi,%rdi,8)
+  DB  255                                 ; (bad)
+  DB  255,116,255,255                     ; pushq         -0x1(%rdi,%rdi,8)
+  DB  255,104,255                         ; ljmp          *-0x1(%rax)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_store_4444_sse41_lowp
+_sk_store_4444_sse41_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  102,68,15,111,192                   ; movdqa        %xmm0,%xmm8
+  DB  102,65,15,113,240,8                 ; psllw         $0x8,%xmm8
+  DB  102,68,15,219,5,104,132,0,0         ; pand          0x8468(%rip),%xmm8        # 35c80 <_sk_srcover_bgra_8888_sse2_lowp+0x1468>
+  DB  102,68,15,111,201                   ; movdqa        %xmm1,%xmm9
+  DB  102,65,15,113,241,4                 ; psllw         $0x4,%xmm9
+  DB  102,68,15,219,13,100,132,0,0        ; pand          0x8464(%rip),%xmm9        # 35c90 <_sk_srcover_bgra_8888_sse2_lowp+0x1478>
+  DB  102,69,15,235,200                   ; por           %xmm8,%xmm9
+  DB  102,68,15,111,21,102,132,0,0        ; movdqa        0x8466(%rip),%xmm10        # 35ca0 <_sk_srcover_bgra_8888_sse2_lowp+0x1488>
+  DB  102,68,15,219,210                   ; pand          %xmm2,%xmm10
+  DB  102,68,15,111,195                   ; movdqa        %xmm3,%xmm8
+  DB  102,65,15,113,208,4                 ; psrlw         $0x4,%xmm8
+  DB  102,69,15,235,194                   ; por           %xmm10,%xmm8
+  DB  102,69,15,235,193                   ; por           %xmm9,%xmm8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,29                              ; ja            2d87b <_sk_store_4444_sse41_lowp+0x87>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,84,0,0,0                  ; lea           0x54(%rip),%r9        # 2d8bc <_sk_store_4444_sse41_lowp+0xc8>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,69,15,58,21,4,80,0              ; pextrw        $0x0,%xmm8,(%r8,%rdx,2)
+  DB  235,58                              ; jmp           2d8b5 <_sk_store_4444_sse41_lowp+0xc1>
+  DB  243,69,15,127,4,80                  ; movdqu        %xmm8,(%r8,%rdx,2)
+  DB  235,50                              ; jmp           2d8b5 <_sk_store_4444_sse41_lowp+0xc1>
+  DB  102,69,15,58,21,68,80,4,2           ; pextrw        $0x2,%xmm8,0x4(%r8,%rdx,2)
+  DB  102,69,15,126,4,80                  ; movd          %xmm8,(%r8,%rdx,2)
+  DB  235,33                              ; jmp           2d8b5 <_sk_store_4444_sse41_lowp+0xc1>
+  DB  102,69,15,58,21,68,80,12,6          ; pextrw        $0x6,%xmm8,0xc(%r8,%rdx,2)
+  DB  102,69,15,58,21,68,80,10,5          ; pextrw        $0x5,%xmm8,0xa(%r8,%rdx,2)
+  DB  102,69,15,58,21,68,80,8,4           ; pextrw        $0x4,%xmm8,0x8(%r8,%rdx,2)
+  DB  102,69,15,214,4,80                  ; movq          %xmm8,(%r8,%rdx,2)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  15,31,0                             ; nopl          (%rax)
+  DB  181,255                             ; mov           $0xff,%ch
+  DB  255                                 ; (bad)
+  DB  255,208                             ; callq         *%rax
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,199                             ; inc           %edi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,243                             ; push          %rbx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  234                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,225                             ; jmpq          *%rcx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  216,255                             ; fdivr         %st(7),%st
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_gather_4444_sse41_lowp
+_sk_gather_4444_sse41_lowp LABEL PROC
+  DB  85                                  ; push          %rbp
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,84                               ; push          %r12
+  DB  83                                  ; push          %rbx
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,64,12                  ; movss         0xc(%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  102,69,15,118,201                   ; pcmpeqd       %xmm9,%xmm9
+  DB  102,69,15,254,193                   ; paddd         %xmm9,%xmm8
+  DB  69,15,87,210                        ; xorps         %xmm10,%xmm10
+  DB  65,15,95,194                        ; maxps         %xmm10,%xmm0
+  DB  65,15,95,202                        ; maxps         %xmm10,%xmm1
+  DB  65,15,93,200                        ; minps         %xmm8,%xmm1
+  DB  65,15,93,192                        ; minps         %xmm8,%xmm0
+  DB  243,68,15,16,64,16                  ; movss         0x10(%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  102,69,15,254,193                   ; paddd         %xmm9,%xmm8
+  DB  65,15,95,218                        ; maxps         %xmm10,%xmm3
+  DB  65,15,95,210                        ; maxps         %xmm10,%xmm2
+  DB  65,15,93,208                        ; minps         %xmm8,%xmm2
+  DB  65,15,93,216                        ; minps         %xmm8,%xmm3
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  243,68,15,91,195                    ; cvttps2dq     %xmm3,%xmm8
+  DB  243,15,91,210                       ; cvttps2dq     %xmm2,%xmm2
+  DB  102,15,110,88,8                     ; movd          0x8(%rax),%xmm3
+  DB  102,15,112,219,0                    ; pshufd        $0x0,%xmm3,%xmm3
+  DB  102,15,56,64,211                    ; pmulld        %xmm3,%xmm2
+  DB  102,68,15,56,64,195                 ; pmulld        %xmm3,%xmm8
+  DB  243,15,91,192                       ; cvttps2dq     %xmm0,%xmm0
+  DB  102,15,254,194                      ; paddd         %xmm2,%xmm0
+  DB  243,15,91,201                       ; cvttps2dq     %xmm1,%xmm1
+  DB  102,65,15,254,200                   ; paddd         %xmm8,%xmm1
+  DB  102,72,15,58,22,200,1               ; pextrq        $0x1,%xmm1,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  102,73,15,126,202                   ; movq          %xmm1,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  102,72,15,58,22,195,1               ; pextrq        $0x1,%xmm0,%rbx
+  DB  65,137,222                          ; mov           %ebx,%r14d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  102,73,15,126,199                   ; movq          %xmm0,%r15
+  DB  69,137,252                          ; mov           %r15d,%r12d
+  DB  73,193,239,32                       ; shr           $0x20,%r15
+  DB  71,15,183,60,120                    ; movzwl        (%r8,%r15,2),%r15d
+  DB  67,15,183,44,96                     ; movzwl        (%r8,%r12,2),%ebp
+  DB  102,68,15,110,197                   ; movd          %ebp,%xmm8
+  DB  102,69,15,196,199,1                 ; pinsrw        $0x1,%r15d,%xmm8
+  DB  67,15,183,44,112                    ; movzwl        (%r8,%r14,2),%ebp
+  DB  102,68,15,196,197,2                 ; pinsrw        $0x2,%ebp,%xmm8
+  DB  65,15,183,28,88                     ; movzwl        (%r8,%rbx,2),%ebx
+  DB  102,68,15,196,195,3                 ; pinsrw        $0x3,%ebx,%xmm8
+  DB  67,15,183,44,88                     ; movzwl        (%r8,%r11,2),%ebp
+  DB  102,68,15,196,197,4                 ; pinsrw        $0x4,%ebp,%xmm8
+  DB  67,15,183,44,80                     ; movzwl        (%r8,%r10,2),%ebp
+  DB  102,68,15,196,197,5                 ; pinsrw        $0x5,%ebp,%xmm8
+  DB  67,15,183,44,72                     ; movzwl        (%r8,%r9,2),%ebp
+  DB  102,68,15,196,197,6                 ; pinsrw        $0x6,%ebp,%xmm8
+  DB  65,15,183,4,64                      ; movzwl        (%r8,%rax,2),%eax
+  DB  102,68,15,196,192,7                 ; pinsrw        $0x7,%eax,%xmm8
+  DB  102,65,15,111,200                   ; movdqa        %xmm8,%xmm1
+  DB  102,15,113,209,12                   ; psrlw         $0xc,%xmm1
+  DB  102,65,15,111,208                   ; movdqa        %xmm8,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,111,5,108,130,0,0            ; movdqa        0x826c(%rip),%xmm0        # 35c70 <_sk_srcover_bgra_8888_sse2_lowp+0x1458>
+  DB  102,15,219,208                      ; pand          %xmm0,%xmm2
+  DB  102,65,15,111,216                   ; movdqa        %xmm8,%xmm3
+  DB  102,15,113,211,4                    ; psrlw         $0x4,%xmm3
+  DB  102,15,219,216                      ; pand          %xmm0,%xmm3
+  DB  102,68,15,219,192                   ; pand          %xmm0,%xmm8
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,15,113,240,4                    ; psllw         $0x4,%xmm0
+  DB  102,15,235,193                      ; por           %xmm1,%xmm0
+  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
+  DB  102,15,113,241,4                    ; psllw         $0x4,%xmm1
+  DB  102,15,235,202                      ; por           %xmm2,%xmm1
+  DB  102,15,111,211                      ; movdqa        %xmm3,%xmm2
+  DB  102,15,113,242,4                    ; psllw         $0x4,%xmm2
+  DB  102,15,235,211                      ; por           %xmm3,%xmm2
+  DB  102,65,15,111,216                   ; movdqa        %xmm8,%xmm3
+  DB  102,15,113,243,4                    ; psllw         $0x4,%xmm3
+  DB  102,65,15,235,216                   ; por           %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  91                                  ; pop           %rbx
+  DB  65,92                               ; pop           %r12
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  93                                  ; pop           %rbp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_load_a8_sse41_lowp
+_sk_load_a8_sse41_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,34                              ; ja            2da96 <_sk_load_a8_sse41_lowp+0x39>
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,146,0,0,0                 ; lea           0x92(%rip),%r9        # 2db14 <_sk_load_a8_sse41_lowp+0xb7>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,182,4,16                      ; movzbl        (%r8,%rdx,1),%eax
+  DB  102,15,110,216                      ; movd          %eax,%xmm3
+  DB  235,100                             ; jmp           2dafa <_sk_load_a8_sse41_lowp+0x9d>
+  DB  102,65,15,56,48,28,16               ; pmovzxbw      (%r8,%rdx,1),%xmm3
+  DB  235,91                              ; jmp           2dafa <_sk_load_a8_sse41_lowp+0x9d>
+  DB  65,15,182,68,16,2                   ; movzbl        0x2(%r8,%rdx,1),%eax
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  102,15,196,192,2                    ; pinsrw        $0x2,%eax,%xmm0
+  DB  65,15,183,4,16                      ; movzwl        (%r8,%rdx,1),%eax
+  DB  102,15,110,200                      ; movd          %eax,%xmm1
+  DB  102,15,56,48,217                    ; pmovzxbw      %xmm1,%xmm3
+  DB  102,15,58,14,216,252                ; pblendw       $0xfc,%xmm0,%xmm3
+  DB  235,54                              ; jmp           2dafa <_sk_load_a8_sse41_lowp+0x9d>
+  DB  65,15,182,68,16,6                   ; movzbl        0x6(%r8,%rdx,1),%eax
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  102,15,196,192,6                    ; pinsrw        $0x6,%eax,%xmm0
+  DB  65,15,182,68,16,5                   ; movzbl        0x5(%r8,%rdx,1),%eax
+  DB  102,15,196,192,5                    ; pinsrw        $0x5,%eax,%xmm0
+  DB  65,15,182,68,16,4                   ; movzbl        0x4(%r8,%rdx,1),%eax
+  DB  102,15,196,192,4                    ; pinsrw        $0x4,%eax,%xmm0
+  DB  102,65,15,110,12,16                 ; movd          (%r8,%rdx,1),%xmm1
+  DB  102,15,56,48,217                    ; pmovzxbw      %xmm1,%xmm3
+  DB  102,15,58,14,216,240                ; pblendw       $0xf0,%xmm0,%xmm3
+  DB  102,15,219,29,78,121,0,0            ; pand          0x794e(%rip),%xmm3        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+  DB  15,31,0                             ; nopl          (%rax)
+  DB  119,255                             ; ja            2db15 <_sk_load_a8_sse41_lowp+0xb8>
+  DB  255                                 ; (bad)
+  DB  255,154,255,255,255,139             ; lcall         *-0x74000001(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,213                             ; callq         *%rbp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,202                             ; dec           %edx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  191,255,255,255,176                 ; mov           $0xb0ffffff,%edi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_a8_dst_sse41_lowp
+_sk_load_a8_dst_sse41_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,34                              ; ja            2db69 <_sk_load_a8_dst_sse41_lowp+0x39>
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,143,0,0,0                 ; lea           0x8f(%rip),%r9        # 2dbe4 <_sk_load_a8_dst_sse41_lowp+0xb4>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,182,4,16                      ; movzbl        (%r8,%rdx,1),%eax
+  DB  102,15,110,248                      ; movd          %eax,%xmm7
+  DB  235,100                             ; jmp           2dbcd <_sk_load_a8_dst_sse41_lowp+0x9d>
+  DB  102,65,15,56,48,60,16               ; pmovzxbw      (%r8,%rdx,1),%xmm7
+  DB  235,91                              ; jmp           2dbcd <_sk_load_a8_dst_sse41_lowp+0x9d>
+  DB  65,15,182,68,16,2                   ; movzbl        0x2(%r8,%rdx,1),%eax
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  102,15,196,224,2                    ; pinsrw        $0x2,%eax,%xmm4
+  DB  65,15,183,4,16                      ; movzwl        (%r8,%rdx,1),%eax
+  DB  102,15,110,232                      ; movd          %eax,%xmm5
+  DB  102,15,56,48,253                    ; pmovzxbw      %xmm5,%xmm7
+  DB  102,15,58,14,252,252                ; pblendw       $0xfc,%xmm4,%xmm7
+  DB  235,54                              ; jmp           2dbcd <_sk_load_a8_dst_sse41_lowp+0x9d>
+  DB  65,15,182,68,16,6                   ; movzbl        0x6(%r8,%rdx,1),%eax
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  102,15,196,224,6                    ; pinsrw        $0x6,%eax,%xmm4
+  DB  65,15,182,68,16,5                   ; movzbl        0x5(%r8,%rdx,1),%eax
+  DB  102,15,196,224,5                    ; pinsrw        $0x5,%eax,%xmm4
+  DB  65,15,182,68,16,4                   ; movzbl        0x4(%r8,%rdx,1),%eax
+  DB  102,15,196,224,4                    ; pinsrw        $0x4,%eax,%xmm4
+  DB  102,65,15,110,44,16                 ; movd          (%r8,%rdx,1),%xmm5
+  DB  102,15,56,48,253                    ; pmovzxbw      %xmm5,%xmm7
+  DB  102,15,58,14,252,240                ; pblendw       $0xf0,%xmm4,%xmm7
+  DB  102,15,219,61,123,120,0,0           ; pand          0x787b(%rip),%xmm7        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  102,15,239,237                      ; pxor          %xmm5,%xmm5
+  DB  15,87,246                           ; xorps         %xmm6,%xmm6
+  DB  255,224                             ; jmpq          *%rax
+  DB  122,255                             ; jp            2dbe5 <_sk_load_a8_dst_sse41_lowp+0xb5>
+  DB  255                                 ; (bad)
+  DB  255,157,255,255,255,142             ; lcall         *-0x71000001(%rbp)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  216,255                             ; fdivr         %st(7),%st
+  DB  255                                 ; (bad)
+  DB  255,205                             ; dec           %ebp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,194                             ; inc           %edx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+  DB  179,255                             ; mov           $0xff,%bl
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_store_a8_sse41_lowp
+_sk_store_a8_sse41_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,29                              ; ja            2dc34 <_sk_store_a8_sse41_lowp+0x34>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,131,0,0,0                 ; lea           0x83(%rip),%r9        # 2dca4 <_sk_store_a8_sse41_lowp+0xa4>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,65,15,58,20,28,16,0             ; pextrb        $0x0,%xmm3,(%r8,%rdx,1)
+  DB  235,105                             ; jmp           2dc9d <_sk_store_a8_sse41_lowp+0x9d>
+  DB  102,68,15,111,195                   ; movdqa        %xmm3,%xmm8
+  DB  102,68,15,56,0,5,125,127,0,0        ; pshufb        0x7f7d(%rip),%xmm8        # 35bc0 <_sk_srcover_bgra_8888_sse2_lowp+0x13a8>
+  DB  102,69,15,214,4,16                  ; movq          %xmm8,(%r8,%rdx,1)
+  DB  235,82                              ; jmp           2dc9d <_sk_store_a8_sse41_lowp+0x9d>
+  DB  102,65,15,58,20,92,16,2,4           ; pextrb        $0x4,%xmm3,0x2(%r8,%rdx,1)
+  DB  102,68,15,111,195                   ; movdqa        %xmm3,%xmm8
+  DB  102,68,15,56,0,5,253,119,0,0        ; pshufb        0x77fd(%rip),%xmm8        # 35460 <_sk_srcover_bgra_8888_sse2_lowp+0xc48>
+  DB  102,69,15,58,21,4,16,0              ; pextrw        $0x0,%xmm8,(%r8,%rdx,1)
+  DB  235,48                              ; jmp           2dc9d <_sk_store_a8_sse41_lowp+0x9d>
+  DB  102,65,15,58,20,92,16,6,12          ; pextrb        $0xc,%xmm3,0x6(%r8,%rdx,1)
+  DB  102,65,15,58,20,92,16,5,10          ; pextrb        $0xa,%xmm3,0x5(%r8,%rdx,1)
+  DB  102,65,15,58,20,92,16,4,8           ; pextrb        $0x8,%xmm3,0x4(%r8,%rdx,1)
+  DB  102,68,15,111,195                   ; movdqa        %xmm3,%xmm8
+  DB  102,68,15,56,0,5,217,119,0,0        ; pshufb        0x77d9(%rip),%xmm8        # 35470 <_sk_srcover_bgra_8888_sse2_lowp+0xc58>
+  DB  102,69,15,126,4,16                  ; movd          %xmm8,(%r8,%rdx,1)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  15,31,0                             ; nopl          (%rax)
+  DB  134,255                             ; xchg          %bh,%bh
+  DB  255                                 ; (bad)
+  DB  255,176,255,255,255,167             ; pushq         -0x58000001(%rax)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,228                             ; jmpq          *%rsp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  219,255                             ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,210                             ; callq         *%rdx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,201                             ; dec           %ecx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_gather_a8_sse41_lowp
+_sk_gather_a8_sse41_lowp LABEL PROC
+  DB  85                                  ; push          %rbp
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,84                               ; push          %r12
+  DB  83                                  ; push          %rbx
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,64,12                  ; movss         0xc(%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  102,69,15,118,201                   ; pcmpeqd       %xmm9,%xmm9
+  DB  102,69,15,254,193                   ; paddd         %xmm9,%xmm8
+  DB  69,15,87,210                        ; xorps         %xmm10,%xmm10
+  DB  65,15,95,194                        ; maxps         %xmm10,%xmm0
+  DB  65,15,95,202                        ; maxps         %xmm10,%xmm1
+  DB  65,15,93,200                        ; minps         %xmm8,%xmm1
+  DB  65,15,93,192                        ; minps         %xmm8,%xmm0
+  DB  243,68,15,16,64,16                  ; movss         0x10(%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  102,69,15,254,193                   ; paddd         %xmm9,%xmm8
+  DB  65,15,95,218                        ; maxps         %xmm10,%xmm3
+  DB  65,15,95,210                        ; maxps         %xmm10,%xmm2
+  DB  65,15,93,208                        ; minps         %xmm8,%xmm2
+  DB  65,15,93,216                        ; minps         %xmm8,%xmm3
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  243,68,15,91,195                    ; cvttps2dq     %xmm3,%xmm8
+  DB  243,15,91,210                       ; cvttps2dq     %xmm2,%xmm2
+  DB  102,15,110,88,8                     ; movd          0x8(%rax),%xmm3
+  DB  102,15,112,219,0                    ; pshufd        $0x0,%xmm3,%xmm3
+  DB  102,15,56,64,211                    ; pmulld        %xmm3,%xmm2
+  DB  102,68,15,56,64,195                 ; pmulld        %xmm3,%xmm8
+  DB  243,15,91,192                       ; cvttps2dq     %xmm0,%xmm0
+  DB  102,15,254,194                      ; paddd         %xmm2,%xmm0
+  DB  243,15,91,201                       ; cvttps2dq     %xmm1,%xmm1
+  DB  102,65,15,254,200                   ; paddd         %xmm8,%xmm1
+  DB  102,72,15,58,22,200,1               ; pextrq        $0x1,%xmm1,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  102,73,15,126,202                   ; movq          %xmm1,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  102,72,15,58,22,195,1               ; pextrq        $0x1,%xmm0,%rbx
+  DB  65,137,222                          ; mov           %ebx,%r14d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  102,73,15,126,199                   ; movq          %xmm0,%r15
+  DB  69,137,252                          ; mov           %r15d,%r12d
+  DB  73,193,239,32                       ; shr           $0x20,%r15
+  DB  71,15,182,60,56                     ; movzbl        (%r8,%r15,1),%r15d
+  DB  67,15,182,44,32                     ; movzbl        (%r8,%r12,1),%ebp
+  DB  102,15,110,197                      ; movd          %ebp,%xmm0
+  DB  102,65,15,58,32,199,1               ; pinsrb        $0x1,%r15d,%xmm0
+  DB  67,15,182,44,48                     ; movzbl        (%r8,%r14,1),%ebp
+  DB  102,15,58,32,197,2                  ; pinsrb        $0x2,%ebp,%xmm0
+  DB  65,15,182,28,24                     ; movzbl        (%r8,%rbx,1),%ebx
+  DB  102,15,58,32,195,3                  ; pinsrb        $0x3,%ebx,%xmm0
+  DB  67,15,182,44,24                     ; movzbl        (%r8,%r11,1),%ebp
+  DB  102,15,58,32,197,4                  ; pinsrb        $0x4,%ebp,%xmm0
+  DB  67,15,182,44,16                     ; movzbl        (%r8,%r10,1),%ebp
+  DB  102,15,58,32,197,5                  ; pinsrb        $0x5,%ebp,%xmm0
+  DB  67,15,182,44,8                      ; movzbl        (%r8,%r9,1),%ebp
+  DB  102,15,58,32,197,6                  ; pinsrb        $0x6,%ebp,%xmm0
+  DB  65,15,182,4,0                       ; movzbl        (%r8,%rax,1),%eax
+  DB  102,15,58,32,192,7                  ; pinsrb        $0x7,%eax,%xmm0
+  DB  102,15,56,48,216                    ; pmovzxbw      %xmm0,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  102,15,239,210                      ; pxor          %xmm2,%xmm2
+  DB  91                                  ; pop           %rbx
+  DB  65,92                               ; pop           %r12
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  93                                  ; pop           %rbp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_load_g8_sse41_lowp
+_sk_load_g8_sse41_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,34                              ; ja            2de26 <_sk_load_g8_sse41_lowp+0x39>
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,150,0,0,0                 ; lea           0x96(%rip),%r9        # 2dea8 <_sk_load_g8_sse41_lowp+0xbb>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,182,4,16                      ; movzbl        (%r8,%rdx,1),%eax
+  DB  102,15,110,192                      ; movd          %eax,%xmm0
+  DB  235,100                             ; jmp           2de8a <_sk_load_g8_sse41_lowp+0x9d>
+  DB  102,65,15,56,48,4,16                ; pmovzxbw      (%r8,%rdx,1),%xmm0
+  DB  235,91                              ; jmp           2de8a <_sk_load_g8_sse41_lowp+0x9d>
+  DB  65,15,182,68,16,2                   ; movzbl        0x2(%r8,%rdx,1),%eax
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  102,15,196,200,2                    ; pinsrw        $0x2,%eax,%xmm1
+  DB  65,15,183,4,16                      ; movzwl        (%r8,%rdx,1),%eax
+  DB  102,15,110,192                      ; movd          %eax,%xmm0
+  DB  102,15,56,48,192                    ; pmovzxbw      %xmm0,%xmm0
+  DB  102,15,58,14,193,252                ; pblendw       $0xfc,%xmm1,%xmm0
+  DB  235,54                              ; jmp           2de8a <_sk_load_g8_sse41_lowp+0x9d>
+  DB  65,15,182,68,16,6                   ; movzbl        0x6(%r8,%rdx,1),%eax
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  102,15,196,200,6                    ; pinsrw        $0x6,%eax,%xmm1
+  DB  65,15,182,68,16,5                   ; movzbl        0x5(%r8,%rdx,1),%eax
+  DB  102,15,196,200,5                    ; pinsrw        $0x5,%eax,%xmm1
+  DB  65,15,182,68,16,4                   ; movzbl        0x4(%r8,%rdx,1),%eax
+  DB  102,15,196,200,4                    ; pinsrw        $0x4,%eax,%xmm1
+  DB  102,65,15,110,4,16                  ; movd          (%r8,%rdx,1),%xmm0
+  DB  102,15,56,48,192                    ; pmovzxbw      %xmm0,%xmm0
+  DB  102,15,58,14,193,240                ; pblendw       $0xf0,%xmm1,%xmm0
+  DB  102,15,219,5,190,117,0,0            ; pand          0x75be(%rip),%xmm0        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,29,181,117,0,0                ; movaps        0x75b5(%rip),%xmm3        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
+  DB  102,15,111,208                      ; movdqa        %xmm0,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+  DB  15,31,0                             ; nopl          (%rax)
+  DB  115,255                             ; jae           2dea9 <_sk_load_g8_sse41_lowp+0xbc>
+  DB  255                                 ; (bad)
+  DB  255,150,255,255,255,135             ; callq         *-0x78000001(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,209                             ; callq         *%rcx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,198                             ; inc           %esi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  187,255,255,255,172                 ; mov           $0xacffffff,%ebx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_g8_dst_sse41_lowp
+_sk_load_g8_dst_sse41_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,34                              ; ja            2defd <_sk_load_g8_dst_sse41_lowp+0x39>
+  DB  102,15,239,237                      ; pxor          %xmm5,%xmm5
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,147,0,0,0                 ; lea           0x93(%rip),%r9        # 2df7c <_sk_load_g8_dst_sse41_lowp+0xb8>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,182,4,16                      ; movzbl        (%r8,%rdx,1),%eax
+  DB  102,15,110,224                      ; movd          %eax,%xmm4
+  DB  235,100                             ; jmp           2df61 <_sk_load_g8_dst_sse41_lowp+0x9d>
+  DB  102,65,15,56,48,36,16               ; pmovzxbw      (%r8,%rdx,1),%xmm4
+  DB  235,91                              ; jmp           2df61 <_sk_load_g8_dst_sse41_lowp+0x9d>
+  DB  65,15,182,68,16,2                   ; movzbl        0x2(%r8,%rdx,1),%eax
+  DB  102,15,239,237                      ; pxor          %xmm5,%xmm5
+  DB  102,15,196,232,2                    ; pinsrw        $0x2,%eax,%xmm5
+  DB  65,15,183,4,16                      ; movzwl        (%r8,%rdx,1),%eax
+  DB  102,15,110,224                      ; movd          %eax,%xmm4
+  DB  102,15,56,48,228                    ; pmovzxbw      %xmm4,%xmm4
+  DB  102,15,58,14,229,252                ; pblendw       $0xfc,%xmm5,%xmm4
+  DB  235,54                              ; jmp           2df61 <_sk_load_g8_dst_sse41_lowp+0x9d>
+  DB  65,15,182,68,16,6                   ; movzbl        0x6(%r8,%rdx,1),%eax
+  DB  102,15,239,237                      ; pxor          %xmm5,%xmm5
+  DB  102,15,196,232,6                    ; pinsrw        $0x6,%eax,%xmm5
+  DB  65,15,182,68,16,5                   ; movzbl        0x5(%r8,%rdx,1),%eax
+  DB  102,15,196,232,5                    ; pinsrw        $0x5,%eax,%xmm5
+  DB  65,15,182,68,16,4                   ; movzbl        0x4(%r8,%rdx,1),%eax
+  DB  102,15,196,232,4                    ; pinsrw        $0x4,%eax,%xmm5
+  DB  102,65,15,110,36,16                 ; movd          (%r8,%rdx,1),%xmm4
+  DB  102,15,56,48,228                    ; pmovzxbw      %xmm4,%xmm4
+  DB  102,15,58,14,229,240                ; pblendw       $0xf0,%xmm5,%xmm4
+  DB  102,15,219,37,231,116,0,0           ; pand          0x74e7(%rip),%xmm4        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,61,222,116,0,0                ; movaps        0x74de(%rip),%xmm7        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,15,111,236                      ; movdqa        %xmm4,%xmm5
+  DB  102,15,111,244                      ; movdqa        %xmm4,%xmm6
+  DB  255,224                             ; jmpq          *%rax
+  DB  118,255                             ; jbe           2df7d <_sk_load_g8_dst_sse41_lowp+0xb9>
+  DB  255                                 ; (bad)
+  DB  255,153,255,255,255,138             ; lcall         *-0x75000001(%rcx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,212                             ; callq         *%rsp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,201                             ; dec           %ecx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  190,255,255,255,175                 ; mov           $0xafffffff,%esi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_luminance_to_alpha_sse41_lowp
+_sk_luminance_to_alpha_sse41_lowp LABEL PROC
+  DB  102,15,111,218                      ; movdqa        %xmm2,%xmm3
+  DB  102,15,213,5,12,125,0,0             ; pmullw        0x7d0c(%rip),%xmm0        # 35cb0 <_sk_srcover_bgra_8888_sse2_lowp+0x1498>
+  DB  102,15,213,13,20,125,0,0            ; pmullw        0x7d14(%rip),%xmm1        # 35cc0 <_sk_srcover_bgra_8888_sse2_lowp+0x14a8>
+  DB  102,15,253,200                      ; paddw         %xmm0,%xmm1
+  DB  102,15,213,29,24,125,0,0            ; pmullw        0x7d18(%rip),%xmm3        # 35cd0 <_sk_srcover_bgra_8888_sse2_lowp+0x14b8>
+  DB  102,15,253,217                      ; paddw         %xmm1,%xmm3
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  102,15,239,210                      ; pxor          %xmm2,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_gather_g8_sse41_lowp
+_sk_gather_g8_sse41_lowp LABEL PROC
+  DB  85                                  ; push          %rbp
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,84                               ; push          %r12
+  DB  83                                  ; push          %rbx
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,64,12                  ; movss         0xc(%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  102,69,15,118,201                   ; pcmpeqd       %xmm9,%xmm9
+  DB  102,69,15,254,193                   ; paddd         %xmm9,%xmm8
+  DB  69,15,87,210                        ; xorps         %xmm10,%xmm10
+  DB  65,15,95,194                        ; maxps         %xmm10,%xmm0
+  DB  65,15,95,202                        ; maxps         %xmm10,%xmm1
+  DB  65,15,93,200                        ; minps         %xmm8,%xmm1
+  DB  65,15,93,192                        ; minps         %xmm8,%xmm0
+  DB  243,68,15,16,64,16                  ; movss         0x10(%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  102,69,15,254,193                   ; paddd         %xmm9,%xmm8
+  DB  65,15,95,218                        ; maxps         %xmm10,%xmm3
+  DB  65,15,95,210                        ; maxps         %xmm10,%xmm2
+  DB  65,15,93,208                        ; minps         %xmm8,%xmm2
+  DB  65,15,93,216                        ; minps         %xmm8,%xmm3
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  243,68,15,91,195                    ; cvttps2dq     %xmm3,%xmm8
+  DB  243,15,91,210                       ; cvttps2dq     %xmm2,%xmm2
+  DB  102,15,110,88,8                     ; movd          0x8(%rax),%xmm3
+  DB  102,15,112,219,0                    ; pshufd        $0x0,%xmm3,%xmm3
+  DB  102,15,56,64,211                    ; pmulld        %xmm3,%xmm2
+  DB  102,68,15,56,64,195                 ; pmulld        %xmm3,%xmm8
+  DB  243,15,91,192                       ; cvttps2dq     %xmm0,%xmm0
+  DB  102,15,254,194                      ; paddd         %xmm2,%xmm0
+  DB  243,15,91,201                       ; cvttps2dq     %xmm1,%xmm1
+  DB  102,65,15,254,200                   ; paddd         %xmm8,%xmm1
+  DB  102,72,15,58,22,200,1               ; pextrq        $0x1,%xmm1,%rax
+  DB  65,137,193                          ; mov           %eax,%r9d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  102,73,15,126,202                   ; movq          %xmm1,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  102,72,15,58,22,195,1               ; pextrq        $0x1,%xmm0,%rbx
+  DB  65,137,222                          ; mov           %ebx,%r14d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  102,73,15,126,199                   ; movq          %xmm0,%r15
+  DB  69,137,252                          ; mov           %r15d,%r12d
+  DB  73,193,239,32                       ; shr           $0x20,%r15
+  DB  71,15,182,60,56                     ; movzbl        (%r8,%r15,1),%r15d
+  DB  67,15,182,44,32                     ; movzbl        (%r8,%r12,1),%ebp
+  DB  102,15,110,197                      ; movd          %ebp,%xmm0
+  DB  102,65,15,58,32,199,1               ; pinsrb        $0x1,%r15d,%xmm0
+  DB  67,15,182,44,48                     ; movzbl        (%r8,%r14,1),%ebp
+  DB  102,15,58,32,197,2                  ; pinsrb        $0x2,%ebp,%xmm0
+  DB  65,15,182,28,24                     ; movzbl        (%r8,%rbx,1),%ebx
+  DB  102,15,58,32,195,3                  ; pinsrb        $0x3,%ebx,%xmm0
+  DB  67,15,182,44,24                     ; movzbl        (%r8,%r11,1),%ebp
+  DB  102,15,58,32,197,4                  ; pinsrb        $0x4,%ebp,%xmm0
+  DB  67,15,182,44,16                     ; movzbl        (%r8,%r10,1),%ebp
+  DB  102,15,58,32,197,5                  ; pinsrb        $0x5,%ebp,%xmm0
+  DB  67,15,182,44,8                      ; movzbl        (%r8,%r9,1),%ebp
+  DB  102,15,58,32,197,6                  ; pinsrb        $0x6,%ebp,%xmm0
+  DB  65,15,182,4,0                       ; movzbl        (%r8,%rax,1),%eax
+  DB  102,15,58,32,192,7                  ; pinsrb        $0x7,%eax,%xmm0
+  DB  102,15,56,48,192                    ; pmovzxbw      %xmm0,%xmm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,29,97,115,0,0                 ; movaps        0x7361(%rip),%xmm3        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
+  DB  102,15,111,208                      ; movdqa        %xmm0,%xmm2
+  DB  91                                  ; pop           %rbx
+  DB  65,92                               ; pop           %r12
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  93                                  ; pop           %rbp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_scale_1_float_sse41_lowp
+_sk_scale_1_float_sse41_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,0                      ; movss         (%rax),%xmm8
+  DB  243,68,15,89,5,227,105,0,0          ; mulss         0x69e3(%rip),%xmm8        # 34af4 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  DB  243,68,15,88,5,170,105,0,0          ; addss         0x69aa(%rip),%xmm8        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  243,65,15,44,192                    ; cvttss2si     %xmm8,%eax
+  DB  102,68,15,110,192                   ; movd          %eax,%xmm8
+  DB  242,69,15,112,192,0                 ; pshuflw       $0x0,%xmm8,%xmm8
+  DB  102,69,15,112,192,80                ; pshufd        $0x50,%xmm8,%xmm8
+  DB  102,65,15,213,192                   ; pmullw        %xmm8,%xmm0
+  DB  102,68,15,111,13,18,115,0,0         ; movdqa        0x7312(%rip),%xmm9        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,65,15,253,193                   ; paddw         %xmm9,%xmm0
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,65,15,213,200                   ; pmullw        %xmm8,%xmm1
+  DB  102,65,15,253,201                   ; paddw         %xmm9,%xmm1
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,65,15,213,208                   ; pmullw        %xmm8,%xmm2
+  DB  102,65,15,253,209                   ; paddw         %xmm9,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,65,15,213,216                   ; pmullw        %xmm8,%xmm3
+  DB  102,65,15,253,217                   ; paddw         %xmm9,%xmm3
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_lerp_1_float_sse41_lowp
+_sk_lerp_1_float_sse41_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,0                      ; movss         (%rax),%xmm8
+  DB  243,68,15,89,5,107,105,0,0          ; mulss         0x696b(%rip),%xmm8        # 34af4 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  DB  243,68,15,88,5,50,105,0,0           ; addss         0x6932(%rip),%xmm8        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  243,65,15,44,192                    ; cvttss2si     %xmm8,%eax
+  DB  102,68,15,110,192                   ; movd          %eax,%xmm8
+  DB  242,69,15,112,192,0                 ; pshuflw       $0x0,%xmm8,%xmm8
+  DB  102,69,15,112,192,80                ; pshufd        $0x50,%xmm8,%xmm8
+  DB  102,68,15,111,13,159,114,0,0        ; movdqa        0x729f(%rip),%xmm9        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,65,15,213,192                   ; pmullw        %xmm8,%xmm0
+  DB  102,65,15,253,193                   ; paddw         %xmm9,%xmm0
+  DB  102,65,15,213,200                   ; pmullw        %xmm8,%xmm1
+  DB  102,65,15,253,201                   ; paddw         %xmm9,%xmm1
+  DB  102,65,15,213,208                   ; pmullw        %xmm8,%xmm2
+  DB  102,65,15,253,209                   ; paddw         %xmm9,%xmm2
+  DB  102,65,15,213,216                   ; pmullw        %xmm8,%xmm3
+  DB  102,65,15,253,217                   ; paddw         %xmm9,%xmm3
+  DB  102,69,15,249,200                   ; psubw         %xmm8,%xmm9
+  DB  102,69,15,111,193                   ; movdqa        %xmm9,%xmm8
+  DB  102,68,15,213,196                   ; pmullw        %xmm4,%xmm8
+  DB  102,65,15,253,192                   ; paddw         %xmm8,%xmm0
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,69,15,111,193                   ; movdqa        %xmm9,%xmm8
+  DB  102,68,15,213,197                   ; pmullw        %xmm5,%xmm8
+  DB  102,65,15,253,200                   ; paddw         %xmm8,%xmm1
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,69,15,111,193                   ; movdqa        %xmm9,%xmm8
+  DB  102,68,15,213,198                   ; pmullw        %xmm6,%xmm8
+  DB  102,65,15,253,208                   ; paddw         %xmm8,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,68,15,213,207                   ; pmullw        %xmm7,%xmm9
+  DB  102,65,15,253,217                   ; paddw         %xmm9,%xmm3
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_scale_u8_sse41_lowp
+_sk_scale_u8_sse41_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,36                              ; ja            2e268 <_sk_scale_u8_sse41_lowp+0x3b>
+  DB  102,69,15,239,201                   ; pxor          %xmm9,%xmm9
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,221,0,0,0                 ; lea           0xdd(%rip),%r9        # 2e330 <_sk_scale_u8_sse41_lowp+0x103>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,182,4,16                      ; movzbl        (%r8,%rdx,1),%eax
+  DB  102,68,15,110,192                   ; movd          %eax,%xmm8
+  DB  235,111                             ; jmp           2e2d7 <_sk_scale_u8_sse41_lowp+0xaa>
+  DB  102,69,15,56,48,4,16                ; pmovzxbw      (%r8,%rdx,1),%xmm8
+  DB  235,102                             ; jmp           2e2d7 <_sk_scale_u8_sse41_lowp+0xaa>
+  DB  65,15,182,68,16,2                   ; movzbl        0x2(%r8,%rdx,1),%eax
+  DB  102,69,15,239,201                   ; pxor          %xmm9,%xmm9
+  DB  102,68,15,196,200,2                 ; pinsrw        $0x2,%eax,%xmm9
+  DB  65,15,183,4,16                      ; movzwl        (%r8,%rdx,1),%eax
+  DB  102,68,15,110,192                   ; movd          %eax,%xmm8
+  DB  102,69,15,56,48,192                 ; pmovzxbw      %xmm8,%xmm8
+  DB  102,69,15,58,14,193,252             ; pblendw       $0xfc,%xmm9,%xmm8
+  DB  235,60                              ; jmp           2e2d7 <_sk_scale_u8_sse41_lowp+0xaa>
+  DB  65,15,182,68,16,6                   ; movzbl        0x6(%r8,%rdx,1),%eax
+  DB  102,69,15,239,201                   ; pxor          %xmm9,%xmm9
+  DB  102,68,15,196,200,6                 ; pinsrw        $0x6,%eax,%xmm9
+  DB  65,15,182,68,16,5                   ; movzbl        0x5(%r8,%rdx,1),%eax
+  DB  102,68,15,196,200,5                 ; pinsrw        $0x5,%eax,%xmm9
+  DB  65,15,182,68,16,4                   ; movzbl        0x4(%r8,%rdx,1),%eax
+  DB  102,68,15,196,200,4                 ; pinsrw        $0x4,%eax,%xmm9
+  DB  102,69,15,110,4,16                  ; movd          (%r8,%rdx,1),%xmm8
+  DB  102,69,15,56,48,192                 ; pmovzxbw      %xmm8,%xmm8
+  DB  102,69,15,58,14,193,240             ; pblendw       $0xf0,%xmm9,%xmm8
+  DB  102,68,15,219,5,112,113,0,0         ; pand          0x7170(%rip),%xmm8        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,65,15,213,192                   ; pmullw        %xmm8,%xmm0
+  DB  102,68,15,111,13,98,113,0,0         ; movdqa        0x7162(%rip),%xmm9        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,65,15,253,193                   ; paddw         %xmm9,%xmm0
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,65,15,213,200                   ; pmullw        %xmm8,%xmm1
+  DB  102,65,15,253,201                   ; paddw         %xmm9,%xmm1
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,65,15,213,208                   ; pmullw        %xmm8,%xmm2
+  DB  102,65,15,253,209                   ; paddw         %xmm9,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,68,15,213,195                   ; pmullw        %xmm3,%xmm8
+  DB  102,69,15,253,193                   ; paddw         %xmm9,%xmm8
+  DB  102,65,15,113,208,8                 ; psrlw         $0x8,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,65,15,111,216                   ; movdqa        %xmm8,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+  DB  144                                 ; nop
+  DB  44,255                              ; sub           $0xff,%al
+  DB  255                                 ; (bad)
+  DB  255,82,255                          ; callq         *-0x1(%rdx)
+  DB  255                                 ; (bad)
+  DB  255,65,255                          ; incl          -0x1(%rcx)
+  DB  255                                 ; (bad)
+  DB  255,148,255,255,255,136,255         ; callq         *-0x770001(%rdi,%rdi,8)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  124,255                             ; jl            2e345 <_sk_scale_u8_sse41_lowp+0x118>
+  DB  255                                 ; (bad)
+  DB  255,107,255                         ; ljmp          *-0x1(%rbx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_lerp_u8_sse41_lowp
+_sk_lerp_u8_sse41_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,36                              ; ja            2e387 <_sk_lerp_u8_sse41_lowp+0x3b>
+  DB  102,69,15,239,201                   ; pxor          %xmm9,%xmm9
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,30,1,0,0                  ; lea           0x11e(%rip),%r9        # 2e490 <_sk_lerp_u8_sse41_lowp+0x144>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,182,4,16                      ; movzbl        (%r8,%rdx,1),%eax
+  DB  102,68,15,110,192                   ; movd          %eax,%xmm8
+  DB  235,111                             ; jmp           2e3f6 <_sk_lerp_u8_sse41_lowp+0xaa>
+  DB  102,69,15,56,48,4,16                ; pmovzxbw      (%r8,%rdx,1),%xmm8
+  DB  235,102                             ; jmp           2e3f6 <_sk_lerp_u8_sse41_lowp+0xaa>
+  DB  65,15,182,68,16,2                   ; movzbl        0x2(%r8,%rdx,1),%eax
+  DB  102,69,15,239,201                   ; pxor          %xmm9,%xmm9
+  DB  102,68,15,196,200,2                 ; pinsrw        $0x2,%eax,%xmm9
+  DB  65,15,183,4,16                      ; movzwl        (%r8,%rdx,1),%eax
+  DB  102,68,15,110,192                   ; movd          %eax,%xmm8
+  DB  102,69,15,56,48,192                 ; pmovzxbw      %xmm8,%xmm8
+  DB  102,69,15,58,14,193,252             ; pblendw       $0xfc,%xmm9,%xmm8
+  DB  235,60                              ; jmp           2e3f6 <_sk_lerp_u8_sse41_lowp+0xaa>
+  DB  65,15,182,68,16,6                   ; movzbl        0x6(%r8,%rdx,1),%eax
+  DB  102,69,15,239,201                   ; pxor          %xmm9,%xmm9
+  DB  102,68,15,196,200,6                 ; pinsrw        $0x6,%eax,%xmm9
+  DB  65,15,182,68,16,5                   ; movzbl        0x5(%r8,%rdx,1),%eax
+  DB  102,68,15,196,200,5                 ; pinsrw        $0x5,%eax,%xmm9
+  DB  65,15,182,68,16,4                   ; movzbl        0x4(%r8,%rdx,1),%eax
+  DB  102,68,15,196,200,4                 ; pinsrw        $0x4,%eax,%xmm9
+  DB  102,69,15,110,4,16                  ; movd          (%r8,%rdx,1),%xmm8
+  DB  102,69,15,56,48,192                 ; pmovzxbw      %xmm8,%xmm8
+  DB  102,69,15,58,14,193,240             ; pblendw       $0xf0,%xmm9,%xmm8
+  DB  102,68,15,219,5,81,112,0,0          ; pand          0x7051(%rip),%xmm8        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,68,15,111,21,72,112,0,0         ; movdqa        0x7048(%rip),%xmm10        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,69,15,111,200                   ; movdqa        %xmm8,%xmm9
+  DB  102,69,15,239,202                   ; pxor          %xmm10,%xmm9
+  DB  102,69,15,111,217                   ; movdqa        %xmm9,%xmm11
+  DB  102,68,15,213,220                   ; pmullw        %xmm4,%xmm11
+  DB  102,65,15,213,192                   ; pmullw        %xmm8,%xmm0
+  DB  102,65,15,253,194                   ; paddw         %xmm10,%xmm0
+  DB  102,65,15,253,195                   ; paddw         %xmm11,%xmm0
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,69,15,111,217                   ; movdqa        %xmm9,%xmm11
+  DB  102,68,15,213,221                   ; pmullw        %xmm5,%xmm11
+  DB  102,65,15,213,200                   ; pmullw        %xmm8,%xmm1
+  DB  102,65,15,253,202                   ; paddw         %xmm10,%xmm1
+  DB  102,65,15,253,203                   ; paddw         %xmm11,%xmm1
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,69,15,111,217                   ; movdqa        %xmm9,%xmm11
+  DB  102,68,15,213,222                   ; pmullw        %xmm6,%xmm11
+  DB  102,65,15,213,208                   ; pmullw        %xmm8,%xmm2
+  DB  102,65,15,253,210                   ; paddw         %xmm10,%xmm2
+  DB  102,65,15,253,211                   ; paddw         %xmm11,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,68,15,213,207                   ; pmullw        %xmm7,%xmm9
+  DB  102,68,15,213,195                   ; pmullw        %xmm3,%xmm8
+  DB  102,69,15,253,194                   ; paddw         %xmm10,%xmm8
+  DB  102,69,15,253,193                   ; paddw         %xmm9,%xmm8
+  DB  102,65,15,113,208,8                 ; psrlw         $0x8,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,65,15,111,216                   ; movdqa        %xmm8,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+  DB  144                                 ; nop
+  DB  235,254                             ; jmp           2e490 <_sk_lerp_u8_sse41_lowp+0x144>
+  DB  255                                 ; (bad)
+  DB  255,17                              ; callq         *(%rcx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,0                               ; incl          (%rax)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,83,255                          ; callq         *-0x1(%rbx)
+  DB  255                                 ; (bad)
+  DB  255,71,255                          ; incl          -0x1(%rdi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  59,255                              ; cmp           %edi,%edi
+  DB  255                                 ; (bad)
+  DB  255,42                              ; ljmp          *(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_scale_565_sse41_lowp
+_sk_scale_565_sse41_lowp LABEL PROC
+  DB  102,68,15,111,192                   ; movdqa        %xmm0,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,35                              ; ja            2e4ee <_sk_scale_565_sse41_lowp+0x42>
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,111,1,0,0                 ; lea           0x16f(%rip),%r9        # 2e648 <_sk_scale_565_sse41_lowp+0x19c>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,183,4,80                      ; movzwl        (%r8,%rdx,2),%eax
+  DB  102,68,15,110,200                   ; movd          %eax,%xmm9
+  DB  235,76                              ; jmp           2e53a <_sk_scale_565_sse41_lowp+0x8e>
+  DB  243,69,15,111,12,80                 ; movdqu        (%r8,%rdx,2),%xmm9
+  DB  235,68                              ; jmp           2e53a <_sk_scale_565_sse41_lowp+0x8e>
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  102,65,15,196,68,80,4,2             ; pinsrw        $0x2,0x4(%r8,%rdx,2),%xmm0
+  DB  102,69,15,110,12,80                 ; movd          (%r8,%rdx,2),%xmm9
+  DB  102,68,15,58,14,200,252             ; pblendw       $0xfc,%xmm0,%xmm9
+  DB  235,41                              ; jmp           2e53a <_sk_scale_565_sse41_lowp+0x8e>
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  102,65,15,196,68,80,12,6            ; pinsrw        $0x6,0xc(%r8,%rdx,2),%xmm0
+  DB  102,65,15,196,68,80,10,5            ; pinsrw        $0x5,0xa(%r8,%rdx,2),%xmm0
+  DB  102,65,15,196,68,80,8,4             ; pinsrw        $0x4,0x8(%r8,%rdx,2),%xmm0
+  DB  243,69,15,126,12,80                 ; movq          (%r8,%rdx,2),%xmm9
+  DB  102,68,15,58,14,200,240             ; pblendw       $0xf0,%xmm0,%xmm9
+  DB  102,65,15,111,193                   ; movdqa        %xmm9,%xmm0
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,15,219,5,212,118,0,0            ; pand          0x76d4(%rip),%xmm0        # 35c20 <_sk_srcover_bgra_8888_sse2_lowp+0x1408>
+  DB  102,69,15,111,209                   ; movdqa        %xmm9,%xmm10
+  DB  102,65,15,113,210,5                 ; psrlw         $0x5,%xmm10
+  DB  102,68,15,219,21,208,118,0,0        ; pand          0x76d0(%rip),%xmm10        # 35c30 <_sk_srcover_bgra_8888_sse2_lowp+0x1418>
+  DB  102,68,15,111,29,215,118,0,0        ; movdqa        0x76d7(%rip),%xmm11        # 35c40 <_sk_srcover_bgra_8888_sse2_lowp+0x1428>
+  DB  102,69,15,219,217                   ; pand          %xmm9,%xmm11
+  DB  102,65,15,113,209,13                ; psrlw         $0xd,%xmm9
+  DB  102,68,15,235,200                   ; por           %xmm0,%xmm9
+  DB  102,65,15,111,194                   ; movdqa        %xmm10,%xmm0
+  DB  102,15,113,240,2                    ; psllw         $0x2,%xmm0
+  DB  102,65,15,113,210,4                 ; psrlw         $0x4,%xmm10
+  DB  102,68,15,235,208                   ; por           %xmm0,%xmm10
+  DB  102,65,15,111,195                   ; movdqa        %xmm11,%xmm0
+  DB  102,15,113,240,3                    ; psllw         $0x3,%xmm0
+  DB  102,65,15,113,211,2                 ; psrlw         $0x2,%xmm11
+  DB  102,68,15,235,216                   ; por           %xmm0,%xmm11
+  DB  102,15,111,5,53,118,0,0             ; movdqa        0x7635(%rip),%xmm0        # 35be0 <_sk_srcover_bgra_8888_sse2_lowp+0x13c8>
+  DB  102,68,15,111,227                   ; movdqa        %xmm3,%xmm12
+  DB  102,68,15,239,224                   ; pxor          %xmm0,%xmm12
+  DB  102,15,239,199                      ; pxor          %xmm7,%xmm0
+  DB  102,65,15,101,196                   ; pcmpgtw       %xmm12,%xmm0
+  DB  102,69,15,111,234                   ; movdqa        %xmm10,%xmm13
+  DB  102,69,15,56,58,235                 ; pminuw        %xmm11,%xmm13
+  DB  102,69,15,56,58,233                 ; pminuw        %xmm9,%xmm13
+  DB  102,69,15,111,226                   ; movdqa        %xmm10,%xmm12
+  DB  102,69,15,56,62,227                 ; pmaxuw        %xmm11,%xmm12
+  DB  102,69,15,56,62,225                 ; pmaxuw        %xmm9,%xmm12
+  DB  102,69,15,56,16,229                 ; pblendvb      %xmm0,%xmm13,%xmm12
+  DB  102,69,15,213,200                   ; pmullw        %xmm8,%xmm9
+  DB  102,15,111,5,93,110,0,0             ; movdqa        0x6e5d(%rip),%xmm0        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,68,15,253,200                   ; paddw         %xmm0,%xmm9
+  DB  102,65,15,113,209,8                 ; psrlw         $0x8,%xmm9
+  DB  102,68,15,213,209                   ; pmullw        %xmm1,%xmm10
+  DB  102,68,15,253,208                   ; paddw         %xmm0,%xmm10
+  DB  102,65,15,113,210,8                 ; psrlw         $0x8,%xmm10
+  DB  102,68,15,213,218                   ; pmullw        %xmm2,%xmm11
+  DB  102,68,15,253,216                   ; paddw         %xmm0,%xmm11
+  DB  102,65,15,113,211,8                 ; psrlw         $0x8,%xmm11
+  DB  102,68,15,213,227                   ; pmullw        %xmm3,%xmm12
+  DB  102,68,15,253,224                   ; paddw         %xmm0,%xmm12
+  DB  102,65,15,113,212,8                 ; psrlw         $0x8,%xmm12
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,65,15,111,193                   ; movdqa        %xmm9,%xmm0
+  DB  102,65,15,111,202                   ; movdqa        %xmm10,%xmm1
+  DB  102,65,15,111,211                   ; movdqa        %xmm11,%xmm2
+  DB  102,65,15,111,220                   ; movdqa        %xmm12,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  154                                 ; (bad)
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  186,254,255,255,174                 ; mov           $0xaefffffe,%edx
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,229                             ; jmpq          *%rbp
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  221,254                             ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,213                             ; callq         *%rbp
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,201                             ; dec           %ecx
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_lerp_565_sse41_lowp
+_sk_lerp_565_sse41_lowp LABEL PROC
+  DB  102,68,15,111,192                   ; movdqa        %xmm0,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,35                              ; ja            2e6a6 <_sk_lerp_565_sse41_lowp+0x42>
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,187,1,0,0                 ; lea           0x1bb(%rip),%r9        # 2e84c <_sk_lerp_565_sse41_lowp+0x1e8>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,183,4,80                      ; movzwl        (%r8,%rdx,2),%eax
+  DB  102,68,15,110,200                   ; movd          %eax,%xmm9
+  DB  235,76                              ; jmp           2e6f2 <_sk_lerp_565_sse41_lowp+0x8e>
+  DB  243,69,15,111,12,80                 ; movdqu        (%r8,%rdx,2),%xmm9
+  DB  235,68                              ; jmp           2e6f2 <_sk_lerp_565_sse41_lowp+0x8e>
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  102,65,15,196,68,80,4,2             ; pinsrw        $0x2,0x4(%r8,%rdx,2),%xmm0
+  DB  102,69,15,110,12,80                 ; movd          (%r8,%rdx,2),%xmm9
+  DB  102,68,15,58,14,200,252             ; pblendw       $0xfc,%xmm0,%xmm9
+  DB  235,41                              ; jmp           2e6f2 <_sk_lerp_565_sse41_lowp+0x8e>
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  102,65,15,196,68,80,12,6            ; pinsrw        $0x6,0xc(%r8,%rdx,2),%xmm0
+  DB  102,65,15,196,68,80,10,5            ; pinsrw        $0x5,0xa(%r8,%rdx,2),%xmm0
+  DB  102,65,15,196,68,80,8,4             ; pinsrw        $0x4,0x8(%r8,%rdx,2),%xmm0
+  DB  243,69,15,126,12,80                 ; movq          (%r8,%rdx,2),%xmm9
+  DB  102,68,15,58,14,200,240             ; pblendw       $0xf0,%xmm0,%xmm9
+  DB  102,65,15,111,193                   ; movdqa        %xmm9,%xmm0
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,15,219,5,28,117,0,0             ; pand          0x751c(%rip),%xmm0        # 35c20 <_sk_srcover_bgra_8888_sse2_lowp+0x1408>
+  DB  102,69,15,111,209                   ; movdqa        %xmm9,%xmm10
+  DB  102,65,15,113,210,5                 ; psrlw         $0x5,%xmm10
+  DB  102,68,15,219,21,24,117,0,0         ; pand          0x7518(%rip),%xmm10        # 35c30 <_sk_srcover_bgra_8888_sse2_lowp+0x1418>
+  DB  102,68,15,111,29,31,117,0,0         ; movdqa        0x751f(%rip),%xmm11        # 35c40 <_sk_srcover_bgra_8888_sse2_lowp+0x1428>
+  DB  102,69,15,219,217                   ; pand          %xmm9,%xmm11
+  DB  102,65,15,113,209,13                ; psrlw         $0xd,%xmm9
+  DB  102,68,15,235,200                   ; por           %xmm0,%xmm9
+  DB  102,65,15,111,194                   ; movdqa        %xmm10,%xmm0
+  DB  102,15,113,240,2                    ; psllw         $0x2,%xmm0
+  DB  102,65,15,113,210,4                 ; psrlw         $0x4,%xmm10
+  DB  102,68,15,235,208                   ; por           %xmm0,%xmm10
+  DB  102,65,15,111,195                   ; movdqa        %xmm11,%xmm0
+  DB  102,15,113,240,3                    ; psllw         $0x3,%xmm0
+  DB  102,65,15,113,211,2                 ; psrlw         $0x2,%xmm11
+  DB  102,68,15,235,216                   ; por           %xmm0,%xmm11
+  DB  102,15,111,5,125,116,0,0            ; movdqa        0x747d(%rip),%xmm0        # 35be0 <_sk_srcover_bgra_8888_sse2_lowp+0x13c8>
+  DB  102,68,15,111,227                   ; movdqa        %xmm3,%xmm12
+  DB  102,68,15,239,224                   ; pxor          %xmm0,%xmm12
+  DB  102,15,239,199                      ; pxor          %xmm7,%xmm0
+  DB  102,65,15,101,196                   ; pcmpgtw       %xmm12,%xmm0
+  DB  102,69,15,111,234                   ; movdqa        %xmm10,%xmm13
+  DB  102,69,15,56,58,235                 ; pminuw        %xmm11,%xmm13
+  DB  102,69,15,56,58,233                 ; pminuw        %xmm9,%xmm13
+  DB  102,69,15,111,226                   ; movdqa        %xmm10,%xmm12
+  DB  102,69,15,56,62,227                 ; pmaxuw        %xmm11,%xmm12
+  DB  102,69,15,56,62,225                 ; pmaxuw        %xmm9,%xmm12
+  DB  102,69,15,56,16,229                 ; pblendvb      %xmm0,%xmm13,%xmm12
+  DB  102,68,15,111,45,169,108,0,0        ; movdqa        0x6ca9(%rip),%xmm13        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,65,15,111,193                   ; movdqa        %xmm9,%xmm0
+  DB  102,65,15,239,197                   ; pxor          %xmm13,%xmm0
+  DB  102,15,213,196                      ; pmullw        %xmm4,%xmm0
+  DB  102,69,15,213,200                   ; pmullw        %xmm8,%xmm9
+  DB  102,69,15,253,205                   ; paddw         %xmm13,%xmm9
+  DB  102,68,15,253,200                   ; paddw         %xmm0,%xmm9
+  DB  102,65,15,113,209,8                 ; psrlw         $0x8,%xmm9
+  DB  102,65,15,111,194                   ; movdqa        %xmm10,%xmm0
+  DB  102,65,15,239,197                   ; pxor          %xmm13,%xmm0
+  DB  102,15,213,197                      ; pmullw        %xmm5,%xmm0
+  DB  102,68,15,213,209                   ; pmullw        %xmm1,%xmm10
+  DB  102,69,15,253,213                   ; paddw         %xmm13,%xmm10
+  DB  102,68,15,253,208                   ; paddw         %xmm0,%xmm10
+  DB  102,65,15,113,210,8                 ; psrlw         $0x8,%xmm10
+  DB  102,65,15,111,195                   ; movdqa        %xmm11,%xmm0
+  DB  102,65,15,239,197                   ; pxor          %xmm13,%xmm0
+  DB  102,15,213,198                      ; pmullw        %xmm6,%xmm0
+  DB  102,68,15,213,218                   ; pmullw        %xmm2,%xmm11
+  DB  102,69,15,253,221                   ; paddw         %xmm13,%xmm11
+  DB  102,68,15,253,216                   ; paddw         %xmm0,%xmm11
+  DB  102,65,15,113,211,8                 ; psrlw         $0x8,%xmm11
+  DB  102,65,15,111,196                   ; movdqa        %xmm12,%xmm0
+  DB  102,65,15,239,197                   ; pxor          %xmm13,%xmm0
+  DB  102,15,213,199                      ; pmullw        %xmm7,%xmm0
+  DB  102,68,15,213,227                   ; pmullw        %xmm3,%xmm12
+  DB  102,69,15,253,229                   ; paddw         %xmm13,%xmm12
+  DB  102,68,15,253,224                   ; paddw         %xmm0,%xmm12
+  DB  102,65,15,113,212,8                 ; psrlw         $0x8,%xmm12
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,65,15,111,193                   ; movdqa        %xmm9,%xmm0
+  DB  102,65,15,111,202                   ; movdqa        %xmm10,%xmm1
+  DB  102,65,15,111,211                   ; movdqa        %xmm11,%xmm2
+  DB  102,65,15,111,220                   ; movdqa        %xmm12,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+  DB  144                                 ; nop
+  DB  78,254                              ; rex.WRX       (bad)
+  DB  255                                 ; (bad)
+  DB  255,110,254                         ; ljmp          *-0x2(%rsi)
+  DB  255                                 ; (bad)
+  DB  255,98,254                          ; jmpq          *-0x2(%rdx)
+  DB  255                                 ; (bad)
+  DB  255,153,254,255,255,145             ; lcall         *-0x6e000002(%rcx)
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,137,254,255,255,125             ; decl          0x7dfffffe(%rcx)
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_clamp_x_1_sse41_lowp
+_sk_clamp_x_1_sse41_lowp LABEL PROC
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  65,15,95,200                        ; maxps         %xmm8,%xmm1
+  DB  65,15,95,192                        ; maxps         %xmm8,%xmm0
+  DB  68,15,40,5,52,108,0,0               ; movaps        0x6c34(%rip),%xmm8        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  65,15,93,192                        ; minps         %xmm8,%xmm0
+  DB  65,15,93,200                        ; minps         %xmm8,%xmm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_repeat_x_1_sse41_lowp
+_sk_repeat_x_1_sse41_lowp LABEL PROC
+  DB  102,68,15,58,8,192,1                ; roundps       $0x1,%xmm0,%xmm8
+  DB  102,68,15,58,8,201,1                ; roundps       $0x1,%xmm1,%xmm9
+  DB  65,15,92,192                        ; subps         %xmm8,%xmm0
+  DB  65,15,92,201                        ; subps         %xmm9,%xmm1
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  65,15,95,200                        ; maxps         %xmm8,%xmm1
+  DB  65,15,95,192                        ; maxps         %xmm8,%xmm0
+  DB  68,15,40,5,254,107,0,0              ; movaps        0x6bfe(%rip),%xmm8        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  65,15,93,192                        ; minps         %xmm8,%xmm0
+  DB  65,15,93,200                        ; minps         %xmm8,%xmm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_mirror_x_1_sse41_lowp
+_sk_mirror_x_1_sse41_lowp LABEL PROC
+  DB  68,15,40,5,74,108,0,0               ; movaps        0x6c4a(%rip),%xmm8        # 35510 <_sk_srcover_bgra_8888_sse2_lowp+0xcf8>
+  DB  65,15,88,192                        ; addps         %xmm8,%xmm0
+  DB  65,15,88,200                        ; addps         %xmm8,%xmm1
+  DB  68,15,40,13,202,107,0,0             ; movaps        0x6bca(%rip),%xmm9        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  68,15,40,209                        ; movaps        %xmm1,%xmm10
+  DB  69,15,89,209                        ; mulps         %xmm9,%xmm10
+  DB  68,15,89,200                        ; mulps         %xmm0,%xmm9
+  DB  102,69,15,58,8,201,1                ; roundps       $0x1,%xmm9,%xmm9
+  DB  102,69,15,58,8,210,1                ; roundps       $0x1,%xmm10,%xmm10
+  DB  69,15,88,210                        ; addps         %xmm10,%xmm10
+  DB  69,15,88,201                        ; addps         %xmm9,%xmm9
+  DB  65,15,92,193                        ; subps         %xmm9,%xmm0
+  DB  65,15,92,202                        ; subps         %xmm10,%xmm1
+  DB  65,15,88,200                        ; addps         %xmm8,%xmm1
+  DB  65,15,88,192                        ; addps         %xmm8,%xmm0
+  DB  68,15,40,5,0,113,0,0                ; movaps        0x7100(%rip),%xmm8        # 35a10 <_sk_srcover_bgra_8888_sse2_lowp+0x11f8>
+  DB  65,15,84,192                        ; andps         %xmm8,%xmm0
+  DB  65,15,84,200                        ; andps         %xmm8,%xmm1
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  65,15,95,200                        ; maxps         %xmm8,%xmm1
+  DB  65,15,95,192                        ; maxps         %xmm8,%xmm0
+  DB  68,15,40,5,132,107,0,0              ; movaps        0x6b84(%rip),%xmm8        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  65,15,93,192                        ; minps         %xmm8,%xmm0
+  DB  65,15,93,200                        ; minps         %xmm8,%xmm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_decal_x_sse41_lowp
+_sk_decal_x_sse41_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,194,201,2                     ; cmpleps       %xmm1,%xmm9
+  DB  102,68,15,111,21,160,114,0,0        ; movdqa        0x72a0(%rip),%xmm10        # 35bf0 <_sk_srcover_bgra_8888_sse2_lowp+0x13d8>
+  DB  102,69,15,56,0,202                  ; pshufb        %xmm10,%xmm9
+  DB  68,15,194,192,2                     ; cmpleps       %xmm0,%xmm8
+  DB  102,69,15,56,0,194                  ; pshufb        %xmm10,%xmm8
+  DB  102,69,15,108,193                   ; punpcklqdq    %xmm9,%xmm8
+  DB  102,65,15,113,240,15                ; psllw         $0xf,%xmm8
+  DB  102,65,15,113,224,15                ; psraw         $0xf,%xmm8
+  DB  243,68,15,16,72,64                  ; movss         0x40(%rax),%xmm9
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  68,15,40,217                        ; movaps        %xmm1,%xmm11
+  DB  69,15,194,217,1                     ; cmpltps       %xmm9,%xmm11
+  DB  102,69,15,56,0,218                  ; pshufb        %xmm10,%xmm11
+  DB  68,15,40,224                        ; movaps        %xmm0,%xmm12
+  DB  69,15,194,225,1                     ; cmpltps       %xmm9,%xmm12
+  DB  102,69,15,56,0,226                  ; pshufb        %xmm10,%xmm12
+  DB  102,69,15,108,227                   ; punpcklqdq    %xmm11,%xmm12
+  DB  102,65,15,113,244,15                ; psllw         $0xf,%xmm12
+  DB  102,65,15,113,228,15                ; psraw         $0xf,%xmm12
+  DB  102,69,15,219,224                   ; pand          %xmm8,%xmm12
+  DB  243,68,15,127,32                    ; movdqu        %xmm12,(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_decal_y_sse41_lowp
+_sk_decal_y_sse41_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,194,203,2                     ; cmpleps       %xmm3,%xmm9
+  DB  102,68,15,111,21,30,114,0,0         ; movdqa        0x721e(%rip),%xmm10        # 35bf0 <_sk_srcover_bgra_8888_sse2_lowp+0x13d8>
+  DB  102,69,15,56,0,202                  ; pshufb        %xmm10,%xmm9
+  DB  68,15,194,194,2                     ; cmpleps       %xmm2,%xmm8
+  DB  102,69,15,56,0,194                  ; pshufb        %xmm10,%xmm8
+  DB  102,69,15,108,193                   ; punpcklqdq    %xmm9,%xmm8
+  DB  102,65,15,113,240,15                ; psllw         $0xf,%xmm8
+  DB  102,65,15,113,224,15                ; psraw         $0xf,%xmm8
+  DB  243,68,15,16,72,68                  ; movss         0x44(%rax),%xmm9
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  68,15,40,219                        ; movaps        %xmm3,%xmm11
+  DB  69,15,194,217,1                     ; cmpltps       %xmm9,%xmm11
+  DB  102,69,15,56,0,218                  ; pshufb        %xmm10,%xmm11
+  DB  68,15,40,226                        ; movaps        %xmm2,%xmm12
+  DB  69,15,194,225,1                     ; cmpltps       %xmm9,%xmm12
+  DB  102,69,15,56,0,226                  ; pshufb        %xmm10,%xmm12
+  DB  102,69,15,108,227                   ; punpcklqdq    %xmm11,%xmm12
+  DB  102,65,15,113,244,15                ; psllw         $0xf,%xmm12
+  DB  102,65,15,113,228,15                ; psraw         $0xf,%xmm12
+  DB  102,69,15,219,224                   ; pand          %xmm8,%xmm12
+  DB  243,68,15,127,32                    ; movdqu        %xmm12,(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_decal_x_and_y_sse41_lowp
+_sk_decal_x_and_y_sse41_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  69,15,87,219                        ; xorps         %xmm11,%xmm11
+  DB  68,15,194,217,2                     ; cmpleps       %xmm1,%xmm11
+  DB  102,68,15,111,13,156,113,0,0        ; movdqa        0x719c(%rip),%xmm9        # 35bf0 <_sk_srcover_bgra_8888_sse2_lowp+0x13d8>
+  DB  102,69,15,56,0,217                  ; pshufb        %xmm9,%xmm11
+  DB  69,15,87,210                        ; xorps         %xmm10,%xmm10
+  DB  68,15,194,208,2                     ; cmpleps       %xmm0,%xmm10
+  DB  102,69,15,56,0,209                  ; pshufb        %xmm9,%xmm10
+  DB  102,69,15,108,211                   ; punpcklqdq    %xmm11,%xmm10
+  DB  102,65,15,113,242,15                ; psllw         $0xf,%xmm10
+  DB  102,65,15,113,226,15                ; psraw         $0xf,%xmm10
+  DB  243,68,15,16,96,64                  ; movss         0x40(%rax),%xmm12
+  DB  243,68,15,16,88,68                  ; movss         0x44(%rax),%xmm11
+  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
+  DB  68,15,40,233                        ; movaps        %xmm1,%xmm13
+  DB  69,15,194,236,1                     ; cmpltps       %xmm12,%xmm13
+  DB  102,69,15,56,0,233                  ; pshufb        %xmm9,%xmm13
+  DB  68,15,40,240                        ; movaps        %xmm0,%xmm14
+  DB  69,15,194,244,1                     ; cmpltps       %xmm12,%xmm14
+  DB  102,69,15,56,0,241                  ; pshufb        %xmm9,%xmm14
+  DB  102,69,15,108,245                   ; punpcklqdq    %xmm13,%xmm14
+  DB  102,65,15,113,246,15                ; psllw         $0xf,%xmm14
+  DB  102,65,15,113,230,15                ; psraw         $0xf,%xmm14
+  DB  69,15,87,228                        ; xorps         %xmm12,%xmm12
+  DB  68,15,194,227,2                     ; cmpleps       %xmm3,%xmm12
+  DB  102,69,15,56,0,225                  ; pshufb        %xmm9,%xmm12
+  DB  68,15,194,194,2                     ; cmpleps       %xmm2,%xmm8
+  DB  102,69,15,56,0,193                  ; pshufb        %xmm9,%xmm8
+  DB  102,69,15,108,196                   ; punpcklqdq    %xmm12,%xmm8
+  DB  102,65,15,113,240,15                ; psllw         $0xf,%xmm8
+  DB  102,65,15,113,224,15                ; psraw         $0xf,%xmm8
+  DB  102,69,15,219,194                   ; pand          %xmm10,%xmm8
+  DB  102,69,15,219,198                   ; pand          %xmm14,%xmm8
+  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
+  DB  68,15,40,211                        ; movaps        %xmm3,%xmm10
+  DB  69,15,194,211,1                     ; cmpltps       %xmm11,%xmm10
+  DB  102,69,15,56,0,209                  ; pshufb        %xmm9,%xmm10
+  DB  68,15,40,226                        ; movaps        %xmm2,%xmm12
+  DB  69,15,194,227,1                     ; cmpltps       %xmm11,%xmm12
+  DB  102,69,15,56,0,225                  ; pshufb        %xmm9,%xmm12
+  DB  102,69,15,108,226                   ; punpcklqdq    %xmm10,%xmm12
+  DB  102,65,15,113,244,15                ; psllw         $0xf,%xmm12
+  DB  102,65,15,113,228,15                ; psraw         $0xf,%xmm12
+  DB  102,69,15,219,224                   ; pand          %xmm8,%xmm12
+  DB  243,68,15,127,32                    ; movdqu        %xmm12,(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_check_decal_mask_sse41_lowp
+_sk_check_decal_mask_sse41_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  68,15,16,0                          ; movups        (%rax),%xmm8
+  DB  65,15,84,192                        ; andps         %xmm8,%xmm0
+  DB  65,15,84,200                        ; andps         %xmm8,%xmm1
+  DB  65,15,84,208                        ; andps         %xmm8,%xmm2
+  DB  65,15,84,216                        ; andps         %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_gradient_sse41_lowp
+_sk_gradient_sse41_lowp LABEL PROC
+  DB  85                                  ; push          %rbp
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,85                               ; push          %r13
+  DB  65,84                               ; push          %r12
+  DB  83                                  ; push          %rbx
+  DB  72,131,236,72                       ; sub           $0x48,%rsp
+  DB  15,41,124,36,48                     ; movaps        %xmm7,0x30(%rsp)
+  DB  15,41,116,36,32                     ; movaps        %xmm6,0x20(%rsp)
+  DB  72,137,76,36,24                     ; mov           %rcx,0x18(%rsp)
+  DB  72,137,84,36,16                     ; mov           %rdx,0x10(%rsp)
+  DB  72,137,124,36,8                     ; mov           %rdi,0x8(%rsp)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  72,137,52,36                        ; mov           %rsi,(%rsp)
+  DB  72,139,8                            ; mov           (%rax),%rcx
+  DB  102,69,15,239,201                   ; pxor          %xmm9,%xmm9
+  DB  72,131,249,2                        ; cmp           $0x2,%rcx
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  114,57                              ; jb            2ebc3 <_sk_gradient_sse41_lowp+0x78>
+  DB  72,139,80,72                        ; mov           0x48(%rax),%rdx
+  DB  72,255,201                          ; dec           %rcx
+  DB  72,131,194,4                        ; add           $0x4,%rdx
+  DB  102,69,15,239,201                   ; pxor          %xmm9,%xmm9
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  243,15,16,18                        ; movss         (%rdx),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  15,40,250                           ; movaps        %xmm2,%xmm7
+  DB  15,194,248,2                        ; cmpleps       %xmm0,%xmm7
+  DB  102,68,15,250,207                   ; psubd         %xmm7,%xmm9
+  DB  15,194,209,2                        ; cmpleps       %xmm1,%xmm2
+  DB  102,15,250,218                      ; psubd         %xmm2,%xmm3
+  DB  72,131,194,4                        ; add           $0x4,%rdx
+  DB  72,255,201                          ; dec           %rcx
+  DB  117,219                             ; jne           2eb9e <_sk_gradient_sse41_lowp+0x53>
+  DB  102,72,15,58,22,219,1               ; pextrq        $0x1,%xmm3,%rbx
+  DB  65,137,221                          ; mov           %ebx,%r13d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  102,72,15,126,221                   ; movq          %xmm3,%rbp
+  DB  137,239                             ; mov           %ebp,%edi
+  DB  72,193,237,32                       ; shr           $0x20,%rbp
+  DB  102,69,15,126,200                   ; movd          %xmm9,%r8d
+  DB  102,69,15,58,22,201,1               ; pextrd        $0x1,%xmm9,%r9d
+  DB  102,69,15,58,22,202,2               ; pextrd        $0x2,%xmm9,%r10d
+  DB  72,139,72,8                         ; mov           0x8(%rax),%rcx
+  DB  243,68,15,16,44,185                 ; movss         (%rcx,%rdi,4),%xmm13
+  DB  102,68,15,58,33,44,169,16           ; insertps      $0x10,(%rcx,%rbp,4),%xmm13
+  DB  243,66,15,16,20,169                 ; movss         (%rcx,%r13,4),%xmm2
+  DB  243,68,15,16,4,153                  ; movss         (%rcx,%rbx,4),%xmm8
+  DB  243,66,15,16,28,129                 ; movss         (%rcx,%r8,4),%xmm3
+  DB  102,66,15,58,33,28,137,16           ; insertps      $0x10,(%rcx,%r9,4),%xmm3
+  DB  102,66,15,58,33,28,145,32           ; insertps      $0x20,(%rcx,%r10,4),%xmm3
+  DB  102,69,15,58,22,203,3               ; pextrd        $0x3,%xmm9,%r11d
+  DB  102,66,15,58,33,28,153,48           ; insertps      $0x30,(%rcx,%r11,4),%xmm3
+  DB  102,68,15,58,33,234,32              ; insertps      $0x20,%xmm2,%xmm13
+  DB  76,139,96,16                        ; mov           0x10(%rax),%r12
+  DB  243,69,15,16,12,188                 ; movss         (%r12,%rdi,4),%xmm9
+  DB  76,139,120,24                       ; mov           0x18(%rax),%r15
+  DB  243,69,15,16,28,191                 ; movss         (%r15,%rdi,4),%xmm11
+  DB  76,139,112,32                       ; mov           0x20(%rax),%r14
+  DB  243,69,15,16,20,190                 ; movss         (%r14,%rdi,4),%xmm10
+  DB  72,139,112,40                       ; mov           0x28(%rax),%rsi
+  DB  243,68,15,16,60,190                 ; movss         (%rsi,%rdi,4),%xmm15
+  DB  72,139,80,48                        ; mov           0x30(%rax),%rdx
+  DB  243,68,15,16,52,186                 ; movss         (%rdx,%rdi,4),%xmm14
+  DB  72,139,72,56                        ; mov           0x38(%rax),%rcx
+  DB  243,15,16,20,185                    ; movss         (%rcx,%rdi,4),%xmm2
+  DB  72,139,64,64                        ; mov           0x40(%rax),%rax
+  DB  243,68,15,16,36,184                 ; movss         (%rax,%rdi,4),%xmm12
+  DB  102,69,15,58,33,12,172,16           ; insertps      $0x10,(%r12,%rbp,4),%xmm9
+  DB  102,69,15,58,33,28,175,16           ; insertps      $0x10,(%r15,%rbp,4),%xmm11
+  DB  102,69,15,58,33,20,174,16           ; insertps      $0x10,(%r14,%rbp,4),%xmm10
+  DB  102,68,15,58,33,60,174,16           ; insertps      $0x10,(%rsi,%rbp,4),%xmm15
+  DB  102,68,15,58,33,52,170,16           ; insertps      $0x10,(%rdx,%rbp,4),%xmm14
+  DB  102,15,58,33,20,169,16              ; insertps      $0x10,(%rcx,%rbp,4),%xmm2
+  DB  102,68,15,58,33,36,168,16           ; insertps      $0x10,(%rax,%rbp,4),%xmm12
+  DB  102,69,15,58,33,232,48              ; insertps      $0x30,%xmm8,%xmm13
+  DB  243,67,15,16,60,172                 ; movss         (%r12,%r13,4),%xmm7
+  DB  102,68,15,58,33,207,32              ; insertps      $0x20,%xmm7,%xmm9
+  DB  243,65,15,16,60,156                 ; movss         (%r12,%rbx,4),%xmm7
+  DB  102,68,15,58,33,207,48              ; insertps      $0x30,%xmm7,%xmm9
+  DB  243,67,15,16,60,175                 ; movss         (%r15,%r13,4),%xmm7
+  DB  102,68,15,58,33,223,32              ; insertps      $0x20,%xmm7,%xmm11
+  DB  243,65,15,16,60,159                 ; movss         (%r15,%rbx,4),%xmm7
+  DB  102,68,15,58,33,223,48              ; insertps      $0x30,%xmm7,%xmm11
+  DB  243,67,15,16,60,174                 ; movss         (%r14,%r13,4),%xmm7
+  DB  102,68,15,58,33,215,32              ; insertps      $0x20,%xmm7,%xmm10
+  DB  243,65,15,16,60,158                 ; movss         (%r14,%rbx,4),%xmm7
+  DB  102,68,15,58,33,215,48              ; insertps      $0x30,%xmm7,%xmm10
+  DB  243,66,15,16,60,174                 ; movss         (%rsi,%r13,4),%xmm7
+  DB  102,68,15,58,33,255,32              ; insertps      $0x20,%xmm7,%xmm15
+  DB  243,15,16,60,158                    ; movss         (%rsi,%rbx,4),%xmm7
+  DB  102,68,15,58,33,255,48              ; insertps      $0x30,%xmm7,%xmm15
+  DB  243,66,15,16,60,170                 ; movss         (%rdx,%r13,4),%xmm7
+  DB  102,68,15,58,33,247,32              ; insertps      $0x20,%xmm7,%xmm14
+  DB  243,15,16,60,154                    ; movss         (%rdx,%rbx,4),%xmm7
+  DB  102,68,15,58,33,247,48              ; insertps      $0x30,%xmm7,%xmm14
+  DB  243,66,15,16,60,169                 ; movss         (%rcx,%r13,4),%xmm7
+  DB  102,15,58,33,215,32                 ; insertps      $0x20,%xmm7,%xmm2
+  DB  243,15,16,60,153                    ; movss         (%rcx,%rbx,4),%xmm7
+  DB  102,15,58,33,215,48                 ; insertps      $0x30,%xmm7,%xmm2
+  DB  243,66,15,16,60,168                 ; movss         (%rax,%r13,4),%xmm7
+  DB  102,68,15,58,33,231,32              ; insertps      $0x20,%xmm7,%xmm12
+  DB  243,15,16,60,152                    ; movss         (%rax,%rbx,4),%xmm7
+  DB  102,68,15,58,33,231,48              ; insertps      $0x30,%xmm7,%xmm12
+  DB  243,66,15,16,60,134                 ; movss         (%rsi,%r8,4),%xmm7
+  DB  102,66,15,58,33,60,142,16           ; insertps      $0x10,(%rsi,%r9,4),%xmm7
+  DB  102,66,15,58,33,60,150,32           ; insertps      $0x20,(%rsi,%r10,4),%xmm7
+  DB  102,66,15,58,33,60,158,48           ; insertps      $0x30,(%rsi,%r11,4),%xmm7
+  DB  68,15,89,233                        ; mulps         %xmm1,%xmm13
+  DB  69,15,88,239                        ; addps         %xmm15,%xmm13
+  DB  15,89,216                           ; mulps         %xmm0,%xmm3
+  DB  15,88,223                           ; addps         %xmm7,%xmm3
+  DB  15,40,61,241,103,0,0                ; movaps        0x67f1(%rip),%xmm7        # 35590 <_sk_srcover_bgra_8888_sse2_lowp+0xd78>
+  DB  68,15,89,239                        ; mulps         %xmm7,%xmm13
+  DB  15,89,223                           ; mulps         %xmm7,%xmm3
+  DB  68,15,40,61,242,102,0,0             ; movaps        0x66f2(%rip),%xmm15        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  69,15,88,239                        ; addps         %xmm15,%xmm13
+  DB  65,15,88,223                        ; addps         %xmm15,%xmm3
+  DB  243,65,15,91,245                    ; cvttps2dq     %xmm13,%xmm6
+  DB  102,68,15,111,45,44,110,0,0         ; movdqa        0x6e2c(%rip),%xmm13        # 35bf0 <_sk_srcover_bgra_8888_sse2_lowp+0x13d8>
+  DB  102,65,15,56,0,245                  ; pshufb        %xmm13,%xmm6
+  DB  243,68,15,91,195                    ; cvttps2dq     %xmm3,%xmm8
+  DB  102,69,15,56,0,197                  ; pshufb        %xmm13,%xmm8
+  DB  102,68,15,108,198                   ; punpcklqdq    %xmm6,%xmm8
+  DB  68,15,89,201                        ; mulps         %xmm1,%xmm9
+  DB  69,15,88,206                        ; addps         %xmm14,%xmm9
+  DB  243,67,15,16,28,132                 ; movss         (%r12,%r8,4),%xmm3
+  DB  102,67,15,58,33,28,140,16           ; insertps      $0x10,(%r12,%r9,4),%xmm3
+  DB  102,67,15,58,33,28,148,32           ; insertps      $0x20,(%r12,%r10,4),%xmm3
+  DB  102,67,15,58,33,28,156,48           ; insertps      $0x30,(%r12,%r11,4),%xmm3
+  DB  243,66,15,16,52,130                 ; movss         (%rdx,%r8,4),%xmm6
+  DB  102,66,15,58,33,52,138,16           ; insertps      $0x10,(%rdx,%r9,4),%xmm6
+  DB  102,66,15,58,33,52,146,32           ; insertps      $0x20,(%rdx,%r10,4),%xmm6
+  DB  102,66,15,58,33,52,154,48           ; insertps      $0x30,(%rdx,%r11,4),%xmm6
+  DB  15,89,216                           ; mulps         %xmm0,%xmm3
+  DB  15,88,222                           ; addps         %xmm6,%xmm3
+  DB  68,15,89,207                        ; mulps         %xmm7,%xmm9
+  DB  15,89,223                           ; mulps         %xmm7,%xmm3
+  DB  69,15,88,207                        ; addps         %xmm15,%xmm9
+  DB  65,15,88,223                        ; addps         %xmm15,%xmm3
+  DB  243,65,15,91,241                    ; cvttps2dq     %xmm9,%xmm6
+  DB  102,65,15,56,0,245                  ; pshufb        %xmm13,%xmm6
+  DB  243,68,15,91,203                    ; cvttps2dq     %xmm3,%xmm9
+  DB  102,69,15,56,0,205                  ; pshufb        %xmm13,%xmm9
+  DB  102,68,15,108,206                   ; punpcklqdq    %xmm6,%xmm9
+  DB  243,67,15,16,28,135                 ; movss         (%r15,%r8,4),%xmm3
+  DB  102,67,15,58,33,28,143,16           ; insertps      $0x10,(%r15,%r9,4),%xmm3
+  DB  102,67,15,58,33,28,151,32           ; insertps      $0x20,(%r15,%r10,4),%xmm3
+  DB  102,67,15,58,33,28,159,48           ; insertps      $0x30,(%r15,%r11,4),%xmm3
+  DB  68,15,89,217                        ; mulps         %xmm1,%xmm11
+  DB  68,15,88,218                        ; addps         %xmm2,%xmm11
+  DB  243,66,15,16,20,129                 ; movss         (%rcx,%r8,4),%xmm2
+  DB  102,66,15,58,33,20,137,16           ; insertps      $0x10,(%rcx,%r9,4),%xmm2
+  DB  102,66,15,58,33,20,145,32           ; insertps      $0x20,(%rcx,%r10,4),%xmm2
+  DB  102,66,15,58,33,20,153,48           ; insertps      $0x30,(%rcx,%r11,4),%xmm2
+  DB  15,89,216                           ; mulps         %xmm0,%xmm3
+  DB  15,88,218                           ; addps         %xmm2,%xmm3
+  DB  68,15,89,223                        ; mulps         %xmm7,%xmm11
+  DB  15,89,223                           ; mulps         %xmm7,%xmm3
+  DB  69,15,88,223                        ; addps         %xmm15,%xmm11
+  DB  65,15,88,223                        ; addps         %xmm15,%xmm3
+  DB  243,65,15,91,243                    ; cvttps2dq     %xmm11,%xmm6
+  DB  102,65,15,56,0,245                  ; pshufb        %xmm13,%xmm6
+  DB  243,15,91,211                       ; cvttps2dq     %xmm3,%xmm2
+  DB  102,65,15,56,0,213                  ; pshufb        %xmm13,%xmm2
+  DB  102,15,108,214                      ; punpcklqdq    %xmm6,%xmm2
+  DB  68,15,89,209                        ; mulps         %xmm1,%xmm10
+  DB  69,15,88,212                        ; addps         %xmm12,%xmm10
+  DB  243,67,15,16,12,134                 ; movss         (%r14,%r8,4),%xmm1
+  DB  102,67,15,58,33,12,142,16           ; insertps      $0x10,(%r14,%r9,4),%xmm1
+  DB  102,67,15,58,33,12,150,32           ; insertps      $0x20,(%r14,%r10,4),%xmm1
+  DB  102,67,15,58,33,12,158,48           ; insertps      $0x30,(%r14,%r11,4),%xmm1
+  DB  15,89,200                           ; mulps         %xmm0,%xmm1
+  DB  243,66,15,16,4,128                  ; movss         (%rax,%r8,4),%xmm0
+  DB  102,66,15,58,33,4,136,16            ; insertps      $0x10,(%rax,%r9,4),%xmm0
+  DB  102,66,15,58,33,4,144,32            ; insertps      $0x20,(%rax,%r10,4),%xmm0
+  DB  102,66,15,58,33,4,152,48            ; insertps      $0x30,(%rax,%r11,4),%xmm0
+  DB  15,88,200                           ; addps         %xmm0,%xmm1
+  DB  68,15,89,215                        ; mulps         %xmm7,%xmm10
+  DB  15,89,207                           ; mulps         %xmm7,%xmm1
+  DB  69,15,88,215                        ; addps         %xmm15,%xmm10
+  DB  65,15,88,207                        ; addps         %xmm15,%xmm1
+  DB  243,65,15,91,194                    ; cvttps2dq     %xmm10,%xmm0
+  DB  102,65,15,56,0,197                  ; pshufb        %xmm13,%xmm0
+  DB  243,15,91,217                       ; cvttps2dq     %xmm1,%xmm3
+  DB  102,65,15,56,0,221                  ; pshufb        %xmm13,%xmm3
+  DB  102,15,108,216                      ; punpcklqdq    %xmm0,%xmm3
+  DB  72,139,52,36                        ; mov           (%rsp),%rsi
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  72,139,124,36,8                     ; mov           0x8(%rsp),%rdi
+  DB  72,139,84,36,16                     ; mov           0x10(%rsp),%rdx
+  DB  72,139,76,36,24                     ; mov           0x18(%rsp),%rcx
+  DB  102,65,15,111,192                   ; movdqa        %xmm8,%xmm0
+  DB  102,65,15,111,201                   ; movdqa        %xmm9,%xmm1
+  DB  15,40,116,36,32                     ; movaps        0x20(%rsp),%xmm6
+  DB  15,40,124,36,48                     ; movaps        0x30(%rsp),%xmm7
+  DB  72,131,196,72                       ; add           $0x48,%rsp
+  DB  91                                  ; pop           %rbx
+  DB  65,92                               ; pop           %r12
+  DB  65,93                               ; pop           %r13
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  93                                  ; pop           %rbp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_evenly_spaced_gradient_sse41_lowp
+_sk_evenly_spaced_gradient_sse41_lowp LABEL PROC
+  DB  85                                  ; push          %rbp
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,85                               ; push          %r13
+  DB  65,84                               ; push          %r12
+  DB  83                                  ; push          %rbx
+  DB  72,129,236,136,0,0,0                ; sub           $0x88,%rsp
+  DB  15,41,124,36,112                    ; movaps        %xmm7,0x70(%rsp)
+  DB  15,41,116,36,96                     ; movaps        %xmm6,0x60(%rsp)
+  DB  15,41,108,36,80                     ; movaps        %xmm5,0x50(%rsp)
+  DB  15,41,100,36,64                     ; movaps        %xmm4,0x40(%rsp)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  72,139,24                           ; mov           (%rax),%rbx
+  DB  72,139,104,8                        ; mov           0x8(%rax),%rbp
+  DB  72,255,203                          ; dec           %rbx
+  DB  120,7                               ; js            2efa5 <_sk_evenly_spaced_gradient_sse41_lowp+0x3a>
+  DB  243,72,15,42,211                    ; cvtsi2ss      %rbx,%xmm2
+  DB  235,21                              ; jmp           2efba <_sk_evenly_spaced_gradient_sse41_lowp+0x4f>
+  DB  73,137,216                          ; mov           %rbx,%r8
+  DB  73,209,232                          ; shr           %r8
+  DB  131,227,1                           ; and           $0x1,%ebx
+  DB  76,9,195                            ; or            %r8,%rbx
+  DB  243,72,15,42,211                    ; cvtsi2ss      %rbx,%xmm2
+  DB  243,15,88,210                       ; addss         %xmm2,%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  15,41,68,36,48                      ; movaps        %xmm0,0x30(%rsp)
+  DB  15,40,216                           ; movaps        %xmm0,%xmm3
+  DB  15,89,218                           ; mulps         %xmm2,%xmm3
+  DB  15,89,209                           ; mulps         %xmm1,%xmm2
+  DB  243,15,91,194                       ; cvttps2dq     %xmm2,%xmm0
+  DB  102,73,15,58,22,194,1               ; pextrq        $0x1,%xmm0,%r10
+  DB  69,137,214                          ; mov           %r10d,%r14d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  102,73,15,126,197                   ; movq          %xmm0,%r13
+  DB  69,137,236                          ; mov           %r13d,%r12d
+  DB  73,193,237,32                       ; shr           $0x20,%r13
+  DB  243,15,91,195                       ; cvttps2dq     %xmm3,%xmm0
+  DB  102,73,15,58,22,192,1               ; pextrq        $0x1,%xmm0,%r8
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  102,73,15,126,195                   ; movq          %xmm0,%r11
+  DB  69,137,223                          ; mov           %r11d,%r15d
+  DB  73,193,235,32                       ; shr           $0x20,%r11
+  DB  243,70,15,16,68,189,0               ; movss         0x0(%rbp,%r15,4),%xmm8
+  DB  102,70,15,58,33,68,157,0,16         ; insertps      $0x10,0x0(%rbp,%r11,4),%xmm8
+  DB  243,66,15,16,68,141,0               ; movss         0x0(%rbp,%r9,4),%xmm0
+  DB  243,66,15,16,84,133,0               ; movss         0x0(%rbp,%r8,4),%xmm2
+  DB  15,41,76,36,32                      ; movaps        %xmm1,0x20(%rsp)
+  DB  243,66,15,16,92,165,0               ; movss         0x0(%rbp,%r12,4),%xmm3
+  DB  102,66,15,58,33,92,173,0,16         ; insertps      $0x10,0x0(%rbp,%r13,4),%xmm3
+  DB  243,66,15,16,100,181,0              ; movss         0x0(%rbp,%r14,4),%xmm4
+  DB  243,66,15,16,108,149,0              ; movss         0x0(%rbp,%r10,4),%xmm5
+  DB  102,68,15,58,33,192,32              ; insertps      $0x20,%xmm0,%xmm8
+  DB  102,68,15,58,33,194,48              ; insertps      $0x30,%xmm2,%xmm8
+  DB  72,139,88,16                        ; mov           0x10(%rax),%rbx
+  DB  243,70,15,16,12,187                 ; movss         (%rbx,%r15,4),%xmm9
+  DB  102,70,15,58,33,12,155,16           ; insertps      $0x10,(%rbx,%r11,4),%xmm9
+  DB  243,66,15,16,4,139                  ; movss         (%rbx,%r9,4),%xmm0
+  DB  243,66,15,16,12,131                 ; movss         (%rbx,%r8,4),%xmm1
+  DB  243,66,15,16,20,163                 ; movss         (%rbx,%r12,4),%xmm2
+  DB  102,66,15,58,33,20,171,16           ; insertps      $0x10,(%rbx,%r13,4),%xmm2
+  DB  243,66,15,16,52,179                 ; movss         (%rbx,%r14,4),%xmm6
+  DB  243,66,15,16,60,147                 ; movss         (%rbx,%r10,4),%xmm7
+  DB  102,15,58,33,220,32                 ; insertps      $0x20,%xmm4,%xmm3
+  DB  102,15,58,33,221,48                 ; insertps      $0x30,%xmm5,%xmm3
+  DB  102,68,15,58,33,200,32              ; insertps      $0x20,%xmm0,%xmm9
+  DB  102,68,15,58,33,201,48              ; insertps      $0x30,%xmm1,%xmm9
+  DB  102,15,58,33,214,32                 ; insertps      $0x20,%xmm6,%xmm2
+  DB  102,15,58,33,215,48                 ; insertps      $0x30,%xmm7,%xmm2
+  DB  72,139,88,24                        ; mov           0x18(%rax),%rbx
+  DB  243,70,15,16,28,187                 ; movss         (%rbx,%r15,4),%xmm11
+  DB  102,70,15,58,33,28,155,16           ; insertps      $0x10,(%rbx,%r11,4),%xmm11
+  DB  243,66,15,16,4,139                  ; movss         (%rbx,%r9,4),%xmm0
+  DB  243,66,15,16,12,131                 ; movss         (%rbx,%r8,4),%xmm1
+  DB  243,70,15,16,44,163                 ; movss         (%rbx,%r12,4),%xmm13
+  DB  102,70,15,58,33,44,171,16           ; insertps      $0x10,(%rbx,%r13,4),%xmm13
+  DB  243,66,15,16,36,179                 ; movss         (%rbx,%r14,4),%xmm4
+  DB  243,66,15,16,44,147                 ; movss         (%rbx,%r10,4),%xmm5
+  DB  102,68,15,58,33,216,32              ; insertps      $0x20,%xmm0,%xmm11
+  DB  102,68,15,58,33,217,48              ; insertps      $0x30,%xmm1,%xmm11
+  DB  102,68,15,58,33,236,32              ; insertps      $0x20,%xmm4,%xmm13
+  DB  102,68,15,58,33,237,48              ; insertps      $0x30,%xmm5,%xmm13
+  DB  72,139,88,32                        ; mov           0x20(%rax),%rbx
+  DB  243,70,15,16,20,187                 ; movss         (%rbx,%r15,4),%xmm10
+  DB  102,70,15,58,33,20,155,16           ; insertps      $0x10,(%rbx,%r11,4),%xmm10
+  DB  243,66,15,16,4,139                  ; movss         (%rbx,%r9,4),%xmm0
+  DB  102,68,15,58,33,208,32              ; insertps      $0x20,%xmm0,%xmm10
+  DB  243,66,15,16,4,131                  ; movss         (%rbx,%r8,4),%xmm0
+  DB  102,68,15,58,33,208,48              ; insertps      $0x30,%xmm0,%xmm10
+  DB  243,70,15,16,36,163                 ; movss         (%rbx,%r12,4),%xmm12
+  DB  102,70,15,58,33,36,171,16           ; insertps      $0x10,(%rbx,%r13,4),%xmm12
+  DB  243,66,15,16,4,179                  ; movss         (%rbx,%r14,4),%xmm0
+  DB  243,66,15,16,12,147                 ; movss         (%rbx,%r10,4),%xmm1
+  DB  102,68,15,58,33,224,32              ; insertps      $0x20,%xmm0,%xmm12
+  DB  102,68,15,58,33,225,48              ; insertps      $0x30,%xmm1,%xmm12
+  DB  72,139,88,40                        ; mov           0x28(%rax),%rbx
+  DB  243,66,15,16,36,163                 ; movss         (%rbx,%r12,4),%xmm4
+  DB  102,66,15,58,33,36,171,16           ; insertps      $0x10,(%rbx,%r13,4),%xmm4
+  DB  243,66,15,16,4,179                  ; movss         (%rbx,%r14,4),%xmm0
+  DB  102,15,58,33,224,32                 ; insertps      $0x20,%xmm0,%xmm4
+  DB  243,66,15,16,4,147                  ; movss         (%rbx,%r10,4),%xmm0
+  DB  102,15,58,33,224,48                 ; insertps      $0x30,%xmm0,%xmm4
+  DB  243,66,15,16,4,187                  ; movss         (%rbx,%r15,4),%xmm0
+  DB  102,66,15,58,33,4,155,16            ; insertps      $0x10,(%rbx,%r11,4),%xmm0
+  DB  243,66,15,16,12,139                 ; movss         (%rbx,%r9,4),%xmm1
+  DB  102,15,58,33,193,32                 ; insertps      $0x20,%xmm1,%xmm0
+  DB  243,66,15,16,12,131                 ; movss         (%rbx,%r8,4),%xmm1
+  DB  102,15,58,33,193,48                 ; insertps      $0x30,%xmm1,%xmm0
+  DB  72,139,88,48                        ; mov           0x30(%rax),%rbx
+  DB  243,66,15,16,60,163                 ; movss         (%rbx,%r12,4),%xmm7
+  DB  102,66,15,58,33,60,171,16           ; insertps      $0x10,(%rbx,%r13,4),%xmm7
+  DB  243,66,15,16,12,179                 ; movss         (%rbx,%r14,4),%xmm1
+  DB  102,15,58,33,249,32                 ; insertps      $0x20,%xmm1,%xmm7
+  DB  243,66,15,16,12,147                 ; movss         (%rbx,%r10,4),%xmm1
+  DB  102,15,58,33,249,48                 ; insertps      $0x30,%xmm1,%xmm7
+  DB  243,66,15,16,12,187                 ; movss         (%rbx,%r15,4),%xmm1
+  DB  102,66,15,58,33,12,155,16           ; insertps      $0x10,(%rbx,%r11,4),%xmm1
+  DB  243,66,15,16,44,139                 ; movss         (%rbx,%r9,4),%xmm5
+  DB  102,15,58,33,205,32                 ; insertps      $0x20,%xmm5,%xmm1
+  DB  243,66,15,16,44,131                 ; movss         (%rbx,%r8,4),%xmm5
+  DB  102,15,58,33,205,48                 ; insertps      $0x30,%xmm5,%xmm1
+  DB  72,139,88,56                        ; mov           0x38(%rax),%rbx
+  DB  243,66,15,16,52,163                 ; movss         (%rbx,%r12,4),%xmm6
+  DB  102,66,15,58,33,52,171,16           ; insertps      $0x10,(%rbx,%r13,4),%xmm6
+  DB  243,66,15,16,44,179                 ; movss         (%rbx,%r14,4),%xmm5
+  DB  102,15,58,33,245,32                 ; insertps      $0x20,%xmm5,%xmm6
+  DB  243,66,15,16,44,147                 ; movss         (%rbx,%r10,4),%xmm5
+  DB  102,15,58,33,245,48                 ; insertps      $0x30,%xmm5,%xmm6
+  DB  15,41,52,36                         ; movaps        %xmm6,(%rsp)
+  DB  243,66,15,16,44,187                 ; movss         (%rbx,%r15,4),%xmm5
+  DB  102,66,15,58,33,44,155,16           ; insertps      $0x10,(%rbx,%r11,4),%xmm5
+  DB  243,66,15,16,52,139                 ; movss         (%rbx,%r9,4),%xmm6
+  DB  102,15,58,33,238,32                 ; insertps      $0x20,%xmm6,%xmm5
+  DB  243,66,15,16,52,131                 ; movss         (%rbx,%r8,4),%xmm6
+  DB  102,15,58,33,238,48                 ; insertps      $0x30,%xmm6,%xmm5
+  DB  72,139,64,64                        ; mov           0x40(%rax),%rax
+  DB  243,70,15,16,52,160                 ; movss         (%rax,%r12,4),%xmm14
+  DB  102,70,15,58,33,52,168,16           ; insertps      $0x10,(%rax,%r13,4),%xmm14
+  DB  243,66,15,16,52,176                 ; movss         (%rax,%r14,4),%xmm6
+  DB  102,68,15,58,33,246,32              ; insertps      $0x20,%xmm6,%xmm14
+  DB  243,66,15,16,52,144                 ; movss         (%rax,%r10,4),%xmm6
+  DB  102,68,15,58,33,246,48              ; insertps      $0x30,%xmm6,%xmm14
+  DB  68,15,41,116,36,16                  ; movaps        %xmm14,0x10(%rsp)
+  DB  243,70,15,16,60,184                 ; movss         (%rax,%r15,4),%xmm15
+  DB  102,70,15,58,33,60,152,16           ; insertps      $0x10,(%rax,%r11,4),%xmm15
+  DB  243,70,15,16,52,136                 ; movss         (%rax,%r9,4),%xmm14
+  DB  102,69,15,58,33,254,32              ; insertps      $0x20,%xmm14,%xmm15
+  DB  243,66,15,16,52,128                 ; movss         (%rax,%r8,4),%xmm6
+  DB  102,68,15,58,33,254,48              ; insertps      $0x30,%xmm6,%xmm15
+  DB  15,40,116,36,32                     ; movaps        0x20(%rsp),%xmm6
+  DB  15,89,222                           ; mulps         %xmm6,%xmm3
+  DB  15,88,220                           ; addps         %xmm4,%xmm3
+  DB  15,40,100,36,48                     ; movaps        0x30(%rsp),%xmm4
+  DB  68,15,89,196                        ; mulps         %xmm4,%xmm8
+  DB  68,15,88,192                        ; addps         %xmm0,%xmm8
+  DB  15,40,5,198,98,0,0                  ; movaps        0x62c6(%rip),%xmm0        # 35590 <_sk_srcover_bgra_8888_sse2_lowp+0xd78>
+  DB  15,89,216                           ; mulps         %xmm0,%xmm3
+  DB  68,15,89,192                        ; mulps         %xmm0,%xmm8
+  DB  68,15,40,53,199,97,0,0              ; movaps        0x61c7(%rip),%xmm14        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  69,15,88,198                        ; addps         %xmm14,%xmm8
+  DB  65,15,88,222                        ; addps         %xmm14,%xmm3
+  DB  243,15,91,219                       ; cvttps2dq     %xmm3,%xmm3
+  DB  102,15,111,5,3,105,0,0              ; movdqa        0x6903(%rip),%xmm0        # 35bf0 <_sk_srcover_bgra_8888_sse2_lowp+0x13d8>
+  DB  102,15,56,0,216                     ; pshufb        %xmm0,%xmm3
+  DB  243,69,15,91,192                    ; cvttps2dq     %xmm8,%xmm8
+  DB  102,68,15,56,0,192                  ; pshufb        %xmm0,%xmm8
+  DB  102,68,15,108,195                   ; punpcklqdq    %xmm3,%xmm8
+  DB  15,89,214                           ; mulps         %xmm6,%xmm2
+  DB  15,88,215                           ; addps         %xmm7,%xmm2
+  DB  15,40,220                           ; movaps        %xmm4,%xmm3
+  DB  68,15,89,203                        ; mulps         %xmm3,%xmm9
+  DB  68,15,88,201                        ; addps         %xmm1,%xmm9
+  DB  15,40,13,118,98,0,0                 ; movaps        0x6276(%rip),%xmm1        # 35590 <_sk_srcover_bgra_8888_sse2_lowp+0xd78>
+  DB  15,89,209                           ; mulps         %xmm1,%xmm2
+  DB  68,15,89,201                        ; mulps         %xmm1,%xmm9
+  DB  15,40,225                           ; movaps        %xmm1,%xmm4
+  DB  69,15,88,206                        ; addps         %xmm14,%xmm9
+  DB  65,15,88,214                        ; addps         %xmm14,%xmm2
+  DB  243,15,91,202                       ; cvttps2dq     %xmm2,%xmm1
+  DB  102,15,56,0,200                     ; pshufb        %xmm0,%xmm1
+  DB  243,69,15,91,201                    ; cvttps2dq     %xmm9,%xmm9
+  DB  102,68,15,56,0,200                  ; pshufb        %xmm0,%xmm9
+  DB  102,68,15,108,201                   ; punpcklqdq    %xmm1,%xmm9
+  DB  68,15,89,238                        ; mulps         %xmm6,%xmm13
+  DB  68,15,88,44,36                      ; addps         (%rsp),%xmm13
+  DB  68,15,89,219                        ; mulps         %xmm3,%xmm11
+  DB  68,15,88,221                        ; addps         %xmm5,%xmm11
+  DB  15,40,204                           ; movaps        %xmm4,%xmm1
+  DB  68,15,89,233                        ; mulps         %xmm1,%xmm13
+  DB  68,15,89,217                        ; mulps         %xmm1,%xmm11
+  DB  69,15,88,222                        ; addps         %xmm14,%xmm11
+  DB  69,15,88,238                        ; addps         %xmm14,%xmm13
+  DB  243,65,15,91,205                    ; cvttps2dq     %xmm13,%xmm1
+  DB  102,15,56,0,200                     ; pshufb        %xmm0,%xmm1
+  DB  243,65,15,91,211                    ; cvttps2dq     %xmm11,%xmm2
+  DB  102,15,56,0,208                     ; pshufb        %xmm0,%xmm2
+  DB  102,15,108,209                      ; punpcklqdq    %xmm1,%xmm2
+  DB  68,15,89,230                        ; mulps         %xmm6,%xmm12
+  DB  68,15,88,100,36,16                  ; addps         0x10(%rsp),%xmm12
+  DB  68,15,89,211                        ; mulps         %xmm3,%xmm10
+  DB  69,15,88,215                        ; addps         %xmm15,%xmm10
+  DB  68,15,89,228                        ; mulps         %xmm4,%xmm12
+  DB  68,15,89,212                        ; mulps         %xmm4,%xmm10
+  DB  69,15,88,214                        ; addps         %xmm14,%xmm10
+  DB  69,15,88,230                        ; addps         %xmm14,%xmm12
+  DB  243,65,15,91,204                    ; cvttps2dq     %xmm12,%xmm1
+  DB  102,15,56,0,200                     ; pshufb        %xmm0,%xmm1
+  DB  243,65,15,91,218                    ; cvttps2dq     %xmm10,%xmm3
+  DB  102,15,56,0,216                     ; pshufb        %xmm0,%xmm3
+  DB  102,15,108,217                      ; punpcklqdq    %xmm1,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,65,15,111,192                   ; movdqa        %xmm8,%xmm0
+  DB  102,65,15,111,201                   ; movdqa        %xmm9,%xmm1
+  DB  15,40,100,36,64                     ; movaps        0x40(%rsp),%xmm4
+  DB  15,40,108,36,80                     ; movaps        0x50(%rsp),%xmm5
+  DB  15,40,116,36,96                     ; movaps        0x60(%rsp),%xmm6
+  DB  15,40,124,36,112                    ; movaps        0x70(%rsp),%xmm7
+  DB  72,129,196,136,0,0,0                ; add           $0x88,%rsp
+  DB  91                                  ; pop           %rbx
+  DB  65,92                               ; pop           %r12
+  DB  65,93                               ; pop           %r13
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  93                                  ; pop           %rbp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_evenly_spaced_2_stop_gradient_sse41_lowp
+_sk_evenly_spaced_2_stop_gradient_sse41_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,15,16,24                        ; movss         (%rax),%xmm3
+  DB  243,68,15,16,72,4                   ; movss         0x4(%rax),%xmm9
+  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
+  DB  243,68,15,16,64,16                  ; movss         0x10(%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  15,40,209                           ; movaps        %xmm1,%xmm2
+  DB  15,89,211                           ; mulps         %xmm3,%xmm2
+  DB  15,89,216                           ; mulps         %xmm0,%xmm3
+  DB  65,15,88,216                        ; addps         %xmm8,%xmm3
+  DB  65,15,88,208                        ; addps         %xmm8,%xmm2
+  DB  68,15,40,21,110,97,0,0              ; movaps        0x616e(%rip),%xmm10        # 35590 <_sk_srcover_bgra_8888_sse2_lowp+0xd78>
+  DB  65,15,89,210                        ; mulps         %xmm10,%xmm2
+  DB  65,15,89,218                        ; mulps         %xmm10,%xmm3
+  DB  68,15,40,37,110,96,0,0              ; movaps        0x606e(%rip),%xmm12        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  65,15,88,220                        ; addps         %xmm12,%xmm3
+  DB  65,15,88,212                        ; addps         %xmm12,%xmm2
+  DB  243,15,91,210                       ; cvttps2dq     %xmm2,%xmm2
+  DB  102,68,15,111,29,169,103,0,0        ; movdqa        0x67a9(%rip),%xmm11        # 35bf0 <_sk_srcover_bgra_8888_sse2_lowp+0x13d8>
+  DB  102,65,15,56,0,211                  ; pshufb        %xmm11,%xmm2
+  DB  243,68,15,91,195                    ; cvttps2dq     %xmm3,%xmm8
+  DB  102,69,15,56,0,195                  ; pshufb        %xmm11,%xmm8
+  DB  102,68,15,108,194                   ; punpcklqdq    %xmm2,%xmm8
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  243,15,16,80,20                     ; movss         0x14(%rax),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  15,40,217                           ; movaps        %xmm1,%xmm3
+  DB  65,15,89,217                        ; mulps         %xmm9,%xmm3
+  DB  68,15,89,200                        ; mulps         %xmm0,%xmm9
+  DB  68,15,88,202                        ; addps         %xmm2,%xmm9
+  DB  15,88,218                           ; addps         %xmm2,%xmm3
+  DB  65,15,89,218                        ; mulps         %xmm10,%xmm3
+  DB  69,15,89,202                        ; mulps         %xmm10,%xmm9
+  DB  69,15,88,204                        ; addps         %xmm12,%xmm9
+  DB  65,15,88,220                        ; addps         %xmm12,%xmm3
+  DB  243,15,91,211                       ; cvttps2dq     %xmm3,%xmm2
+  DB  102,65,15,56,0,211                  ; pshufb        %xmm11,%xmm2
+  DB  243,69,15,91,201                    ; cvttps2dq     %xmm9,%xmm9
+  DB  102,69,15,56,0,203                  ; pshufb        %xmm11,%xmm9
+  DB  102,68,15,108,202                   ; punpcklqdq    %xmm2,%xmm9
+  DB  243,15,16,80,8                      ; movss         0x8(%rax),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  243,68,15,16,104,24                 ; movss         0x18(%rax),%xmm13
+  DB  69,15,198,237,0                     ; shufps        $0x0,%xmm13,%xmm13
+  DB  15,40,217                           ; movaps        %xmm1,%xmm3
+  DB  15,89,218                           ; mulps         %xmm2,%xmm3
+  DB  15,89,208                           ; mulps         %xmm0,%xmm2
+  DB  65,15,88,213                        ; addps         %xmm13,%xmm2
+  DB  65,15,88,221                        ; addps         %xmm13,%xmm3
+  DB  65,15,89,218                        ; mulps         %xmm10,%xmm3
+  DB  65,15,89,210                        ; mulps         %xmm10,%xmm2
+  DB  65,15,88,212                        ; addps         %xmm12,%xmm2
+  DB  65,15,88,220                        ; addps         %xmm12,%xmm3
+  DB  243,15,91,219                       ; cvttps2dq     %xmm3,%xmm3
+  DB  102,65,15,56,0,219                  ; pshufb        %xmm11,%xmm3
+  DB  243,15,91,210                       ; cvttps2dq     %xmm2,%xmm2
+  DB  102,65,15,56,0,211                  ; pshufb        %xmm11,%xmm2
+  DB  102,15,108,211                      ; punpcklqdq    %xmm3,%xmm2
+  DB  243,15,16,88,12                     ; movss         0xc(%rax),%xmm3
+  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
+  DB  243,68,15,16,104,28                 ; movss         0x1c(%rax),%xmm13
+  DB  69,15,198,237,0                     ; shufps        $0x0,%xmm13,%xmm13
+  DB  15,89,203                           ; mulps         %xmm3,%xmm1
+  DB  15,89,216                           ; mulps         %xmm0,%xmm3
+  DB  65,15,88,221                        ; addps         %xmm13,%xmm3
+  DB  65,15,88,205                        ; addps         %xmm13,%xmm1
+  DB  65,15,89,202                        ; mulps         %xmm10,%xmm1
+  DB  65,15,89,218                        ; mulps         %xmm10,%xmm3
+  DB  65,15,88,220                        ; addps         %xmm12,%xmm3
+  DB  65,15,88,204                        ; addps         %xmm12,%xmm1
+  DB  243,15,91,193                       ; cvttps2dq     %xmm1,%xmm0
+  DB  102,65,15,56,0,195                  ; pshufb        %xmm11,%xmm0
+  DB  243,15,91,219                       ; cvttps2dq     %xmm3,%xmm3
+  DB  102,65,15,56,0,219                  ; pshufb        %xmm11,%xmm3
+  DB  102,15,108,216                      ; punpcklqdq    %xmm0,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,65,15,111,192                   ; movdqa        %xmm8,%xmm0
+  DB  102,65,15,111,201                   ; movdqa        %xmm9,%xmm1
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_xy_to_unit_angle_sse41_lowp
+_sk_xy_to_unit_angle_sse41_lowp LABEL PROC
+  DB  72,131,236,72                       ; sub           $0x48,%rsp
+  DB  15,41,124,36,48                     ; movaps        %xmm7,0x30(%rsp)
+  DB  15,41,116,36,32                     ; movaps        %xmm6,0x20(%rsp)
+  DB  15,41,108,36,16                     ; movaps        %xmm5,0x10(%rsp)
+  DB  15,41,36,36                         ; movaps        %xmm4,(%rsp)
+  DB  15,40,251                           ; movaps        %xmm3,%xmm7
+  DB  15,40,242                           ; movaps        %xmm2,%xmm6
+  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
+  DB  15,40,37,156,100,0,0                ; movaps        0x649c(%rip),%xmm4        # 35a10 <_sk_srcover_bgra_8888_sse2_lowp+0x11f8>
+  DB  68,15,40,233                        ; movaps        %xmm1,%xmm13
+  DB  68,15,84,236                        ; andps         %xmm4,%xmm13
+  DB  69,15,40,216                        ; movaps        %xmm8,%xmm11
+  DB  68,15,84,220                        ; andps         %xmm4,%xmm11
+  DB  68,15,40,231                        ; movaps        %xmm7,%xmm12
+  DB  68,15,84,228                        ; andps         %xmm4,%xmm12
+  DB  15,84,230                           ; andps         %xmm6,%xmm4
+  DB  69,15,40,211                        ; movaps        %xmm11,%xmm10
+  DB  68,15,194,212,1                     ; cmpltps       %xmm4,%xmm10
+  DB  69,15,40,205                        ; movaps        %xmm13,%xmm9
+  DB  69,15,194,204,1                     ; cmpltps       %xmm12,%xmm9
+  DB  69,15,40,244                        ; movaps        %xmm12,%xmm14
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  102,69,15,56,20,245                 ; blendvps      %xmm0,%xmm13,%xmm14
+  DB  68,15,40,252                        ; movaps        %xmm4,%xmm15
+  DB  65,15,40,194                        ; movaps        %xmm10,%xmm0
+  DB  102,69,15,56,20,251                 ; blendvps      %xmm0,%xmm11,%xmm15
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  102,69,15,56,20,236                 ; blendvps      %xmm0,%xmm12,%xmm13
+  DB  65,15,40,194                        ; movaps        %xmm10,%xmm0
+  DB  102,68,15,56,20,220                 ; blendvps      %xmm0,%xmm4,%xmm11
+  DB  69,15,94,251                        ; divps         %xmm11,%xmm15
+  DB  65,15,40,199                        ; movaps        %xmm15,%xmm0
+  DB  15,89,192                           ; mulps         %xmm0,%xmm0
+  DB  68,15,40,29,156,100,0,0             ; movaps        0x649c(%rip),%xmm11        # 35a80 <_sk_srcover_bgra_8888_sse2_lowp+0x1268>
+  DB  68,15,40,224                        ; movaps        %xmm0,%xmm12
+  DB  69,15,89,227                        ; mulps         %xmm11,%xmm12
+  DB  68,15,88,37,156,100,0,0             ; addps         0x649c(%rip),%xmm12        # 35a90 <_sk_srcover_bgra_8888_sse2_lowp+0x1278>
+  DB  68,15,89,224                        ; mulps         %xmm0,%xmm12
+  DB  15,40,45,161,100,0,0                ; movaps        0x64a1(%rip),%xmm5        # 35aa0 <_sk_srcover_bgra_8888_sse2_lowp+0x1288>
+  DB  68,15,88,229                        ; addps         %xmm5,%xmm12
+  DB  68,15,89,224                        ; mulps         %xmm0,%xmm12
+  DB  15,40,37,162,100,0,0                ; movaps        0x64a2(%rip),%xmm4        # 35ab0 <_sk_srcover_bgra_8888_sse2_lowp+0x1298>
+  DB  68,15,88,228                        ; addps         %xmm4,%xmm12
+  DB  69,15,89,231                        ; mulps         %xmm15,%xmm12
+  DB  15,40,21,163,100,0,0                ; movaps        0x64a3(%rip),%xmm2        # 35ac0 <_sk_srcover_bgra_8888_sse2_lowp+0x12a8>
+  DB  15,40,218                           ; movaps        %xmm2,%xmm3
+  DB  65,15,92,212                        ; subps         %xmm12,%xmm2
+  DB  65,15,40,194                        ; movaps        %xmm10,%xmm0
+  DB  102,68,15,56,20,226                 ; blendvps      %xmm0,%xmm2,%xmm12
+  DB  69,15,94,245                        ; divps         %xmm13,%xmm14
+  DB  65,15,40,198                        ; movaps        %xmm14,%xmm0
+  DB  15,89,192                           ; mulps         %xmm0,%xmm0
+  DB  68,15,89,216                        ; mulps         %xmm0,%xmm11
+  DB  68,15,88,29,75,100,0,0              ; addps         0x644b(%rip),%xmm11        # 35a90 <_sk_srcover_bgra_8888_sse2_lowp+0x1278>
+  DB  68,15,89,216                        ; mulps         %xmm0,%xmm11
+  DB  68,15,88,221                        ; addps         %xmm5,%xmm11
+  DB  68,15,89,216                        ; mulps         %xmm0,%xmm11
+  DB  68,15,88,220                        ; addps         %xmm4,%xmm11
+  DB  69,15,89,222                        ; mulps         %xmm14,%xmm11
+  DB  65,15,92,219                        ; subps         %xmm11,%xmm3
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  102,68,15,56,20,219                 ; blendvps      %xmm0,%xmm3,%xmm11
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  69,15,194,193,1                     ; cmpltps       %xmm9,%xmm8
+  DB  15,40,21,41,94,0,0                  ; movaps        0x5e29(%rip),%xmm2        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  15,40,218                           ; movaps        %xmm2,%xmm3
+  DB  65,15,92,212                        ; subps         %xmm12,%xmm2
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  102,68,15,56,20,226                 ; blendvps      %xmm0,%xmm2,%xmm12
+  DB  65,15,194,201,1                     ; cmpltps       %xmm9,%xmm1
+  DB  65,15,92,219                        ; subps         %xmm11,%xmm3
+  DB  15,40,193                           ; movaps        %xmm1,%xmm0
+  DB  102,68,15,56,20,219                 ; blendvps      %xmm0,%xmm3,%xmm11
+  DB  15,40,198                           ; movaps        %xmm6,%xmm0
+  DB  65,15,194,193,1                     ; cmpltps       %xmm9,%xmm0
+  DB  15,40,13,7,94,0,0                   ; movaps        0x5e07(%rip),%xmm1        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  15,40,209                           ; movaps        %xmm1,%xmm2
+  DB  65,15,92,204                        ; subps         %xmm12,%xmm1
+  DB  102,68,15,56,20,225                 ; blendvps      %xmm0,%xmm1,%xmm12
+  DB  15,40,199                           ; movaps        %xmm7,%xmm0
+  DB  65,15,194,193,1                     ; cmpltps       %xmm9,%xmm0
+  DB  65,15,92,211                        ; subps         %xmm11,%xmm2
+  DB  102,68,15,56,20,218                 ; blendvps      %xmm0,%xmm2,%xmm11
+  DB  65,15,40,203                        ; movaps        %xmm11,%xmm1
+  DB  65,15,194,201,7                     ; cmpordps      %xmm9,%xmm1
+  DB  69,15,194,204,7                     ; cmpordps      %xmm12,%xmm9
+  DB  69,15,84,204                        ; andps         %xmm12,%xmm9
+  DB  65,15,84,203                        ; andps         %xmm11,%xmm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,214                           ; movaps        %xmm6,%xmm2
+  DB  15,40,223                           ; movaps        %xmm7,%xmm3
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  15,40,36,36                         ; movaps        (%rsp),%xmm4
+  DB  15,40,108,36,16                     ; movaps        0x10(%rsp),%xmm5
+  DB  15,40,116,36,32                     ; movaps        0x20(%rsp),%xmm6
+  DB  15,40,124,36,48                     ; movaps        0x30(%rsp),%xmm7
+  DB  72,131,196,72                       ; add           $0x48,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_xy_to_radius_sse41_lowp
+_sk_xy_to_radius_sse41_lowp LABEL PROC
+  DB  15,89,192                           ; mulps         %xmm0,%xmm0
+  DB  15,89,201                           ; mulps         %xmm1,%xmm1
+  DB  68,15,40,194                        ; movaps        %xmm2,%xmm8
+  DB  69,15,89,192                        ; mulps         %xmm8,%xmm8
+  DB  68,15,88,192                        ; addps         %xmm0,%xmm8
+  DB  68,15,40,203                        ; movaps        %xmm3,%xmm9
+  DB  69,15,89,201                        ; mulps         %xmm9,%xmm9
+  DB  68,15,88,201                        ; addps         %xmm1,%xmm9
+  DB  65,15,81,192                        ; sqrtps        %xmm8,%xmm0
+  DB  65,15,81,201                        ; sqrtps        %xmm9,%xmm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_srcover_rgba_8888_sse41_lowp
+_sk_srcover_rgba_8888_sse41_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  65,137,250                          ; mov           %edi,%r10d
+  DB  65,128,226,7                        ; and           $0x7,%r10b
+  DB  65,254,202                          ; dec           %r10b
+  DB  69,15,182,202                       ; movzbl        %r10b,%r9d
+  DB  65,128,249,6                        ; cmp           $0x6,%r9b
+  DB  119,38                              ; ja            2f778 <_sk_srcover_rgba_8888_sse41_lowp+0x4b>
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  76,141,29,22,2,0,0                  ; lea           0x216(%rip),%r11        # 2f974 <_sk_srcover_rgba_8888_sse41_lowp+0x247>
+  DB  75,99,4,139                         ; movslq        (%r11,%r9,4),%rax
+  DB  76,1,216                            ; add           %r11,%rax
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,65,15,110,52,144                ; movd          (%r8,%rdx,4),%xmm6
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  235,89                              ; jmp           2f7d1 <_sk_srcover_rgba_8888_sse41_lowp+0xa4>
+  DB  243,65,15,111,52,144                ; movdqu        (%r8,%rdx,4),%xmm6
+  DB  243,69,15,111,68,144,16             ; movdqu        0x10(%r8,%rdx,4),%xmm8
+  DB  235,74                              ; jmp           2f7d1 <_sk_srcover_rgba_8888_sse41_lowp+0xa4>
+  DB  102,65,15,110,100,144,8             ; movd          0x8(%r8,%rdx,4),%xmm4
+  DB  102,68,15,112,196,69                ; pshufd        $0x45,%xmm4,%xmm8
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  243,65,15,126,52,144                ; movq          (%r8,%rdx,4),%xmm6
+  DB  102,65,15,58,14,240,240             ; pblendw       $0xf0,%xmm8,%xmm6
+  DB  102,68,15,111,196                   ; movdqa        %xmm4,%xmm8
+  DB  235,37                              ; jmp           2f7d1 <_sk_srcover_rgba_8888_sse41_lowp+0xa4>
+  DB  102,65,15,110,100,144,24            ; movd          0x18(%r8,%rdx,4),%xmm4
+  DB  102,68,15,112,196,69                ; pshufd        $0x45,%xmm4,%xmm8
+  DB  102,69,15,58,34,68,144,20,1         ; pinsrd        $0x1,0x14(%r8,%rdx,4),%xmm8
+  DB  102,69,15,58,34,68,144,16,0         ; pinsrd        $0x0,0x10(%r8,%rdx,4),%xmm8
+  DB  243,65,15,111,52,144                ; movdqu        (%r8,%rdx,4),%xmm6
+  DB  102,15,111,37,23,100,0,0            ; movdqa        0x6417(%rip),%xmm4        # 35bf0 <_sk_srcover_bgra_8888_sse2_lowp+0x13d8>
+  DB  102,15,111,238                      ; movdqa        %xmm6,%xmm5
+  DB  102,15,56,0,236                     ; pshufb        %xmm4,%xmm5
+  DB  102,65,15,111,248                   ; movdqa        %xmm8,%xmm7
+  DB  102,15,56,0,252                     ; pshufb        %xmm4,%xmm7
+  DB  102,15,108,239                      ; punpcklqdq    %xmm7,%xmm5
+  DB  102,68,15,111,37,87,92,0,0          ; movdqa        0x5c57(%rip),%xmm12        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,15,111,229                      ; movdqa        %xmm5,%xmm4
+  DB  102,65,15,219,228                   ; pand          %xmm12,%xmm4
+  DB  102,15,113,213,8                    ; psrlw         $0x8,%xmm5
+  DB  102,68,15,111,13,240,99,0,0         ; movdqa        0x63f0(%rip),%xmm9        # 35c00 <_sk_srcover_bgra_8888_sse2_lowp+0x13e8>
+  DB  102,15,111,254                      ; movdqa        %xmm6,%xmm7
+  DB  102,65,15,56,0,249                  ; pshufb        %xmm9,%xmm7
+  DB  102,69,15,111,208                   ; movdqa        %xmm8,%xmm10
+  DB  102,69,15,56,0,209                  ; pshufb        %xmm9,%xmm10
+  DB  102,65,15,108,250                   ; punpcklqdq    %xmm10,%xmm7
+  DB  102,68,15,111,13,221,99,0,0         ; movdqa        0x63dd(%rip),%xmm9        # 35c10 <_sk_srcover_bgra_8888_sse2_lowp+0x13f8>
+  DB  102,65,15,56,0,241                  ; pshufb        %xmm9,%xmm6
+  DB  102,69,15,56,0,193                  ; pshufb        %xmm9,%xmm8
+  DB  102,65,15,108,240                   ; punpcklqdq    %xmm8,%xmm6
+  DB  102,65,15,219,244                   ; pand          %xmm12,%xmm6
+  DB  102,69,15,111,196                   ; movdqa        %xmm12,%xmm8
+  DB  102,68,15,249,195                   ; psubw         %xmm3,%xmm8
+  DB  102,68,15,111,204                   ; movdqa        %xmm4,%xmm9
+  DB  102,69,15,213,200                   ; pmullw        %xmm8,%xmm9
+  DB  102,69,15,253,204                   ; paddw         %xmm12,%xmm9
+  DB  102,65,15,113,209,8                 ; psrlw         $0x8,%xmm9
+  DB  102,68,15,253,200                   ; paddw         %xmm0,%xmm9
+  DB  102,68,15,111,213                   ; movdqa        %xmm5,%xmm10
+  DB  102,69,15,213,208                   ; pmullw        %xmm8,%xmm10
+  DB  102,69,15,253,212                   ; paddw         %xmm12,%xmm10
+  DB  102,65,15,113,210,8                 ; psrlw         $0x8,%xmm10
+  DB  102,68,15,253,209                   ; paddw         %xmm1,%xmm10
+  DB  102,68,15,111,222                   ; movdqa        %xmm6,%xmm11
+  DB  102,69,15,213,216                   ; pmullw        %xmm8,%xmm11
+  DB  102,69,15,253,220                   ; paddw         %xmm12,%xmm11
+  DB  102,65,15,113,211,8                 ; psrlw         $0x8,%xmm11
+  DB  102,68,15,253,218                   ; paddw         %xmm2,%xmm11
+  DB  102,68,15,213,199                   ; pmullw        %xmm7,%xmm8
+  DB  102,69,15,253,196                   ; paddw         %xmm12,%xmm8
+  DB  102,65,15,113,208,8                 ; psrlw         $0x8,%xmm8
+  DB  102,68,15,253,195                   ; paddw         %xmm3,%xmm8
+  DB  102,65,15,111,194                   ; movdqa        %xmm10,%xmm0
+  DB  102,15,113,240,8                    ; psllw         $0x8,%xmm0
+  DB  102,65,15,235,193                   ; por           %xmm9,%xmm0
+  DB  102,15,112,200,78                   ; pshufd        $0x4e,%xmm0,%xmm1
+  DB  102,15,56,51,209                    ; pmovzxwd      %xmm1,%xmm2
+  DB  102,68,15,56,51,224                 ; pmovzxwd      %xmm0,%xmm12
+  DB  102,65,15,111,216                   ; movdqa        %xmm8,%xmm3
+  DB  102,15,113,243,8                    ; psllw         $0x8,%xmm3
+  DB  102,65,15,235,219                   ; por           %xmm11,%xmm3
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  102,15,105,203                      ; punpckhwd     %xmm3,%xmm1
+  DB  102,15,235,202                      ; por           %xmm2,%xmm1
+  DB  102,15,97,195                       ; punpcklwd     %xmm3,%xmm0
+  DB  102,65,15,235,196                   ; por           %xmm12,%xmm0
+  DB  65,128,250,6                        ; cmp           $0x6,%r10b
+  DB  119,24                              ; ja            2f91b <_sk_srcover_rgba_8888_sse41_lowp+0x1ee>
+  DB  76,141,21,134,0,0,0                 ; lea           0x86(%rip),%r10        # 2f990 <_sk_srcover_rgba_8888_sse41_lowp+0x263>
+  DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
+  DB  76,1,208                            ; add           %r10,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,65,15,126,4,144                 ; movd          %xmm0,(%r8,%rdx,4)
+  DB  235,63                              ; jmp           2f95a <_sk_srcover_rgba_8888_sse41_lowp+0x22d>
+  DB  243,65,15,127,4,144                 ; movdqu        %xmm0,(%r8,%rdx,4)
+  DB  243,65,15,127,76,144,16             ; movdqu        %xmm1,0x10(%r8,%rdx,4)
+  DB  235,48                              ; jmp           2f95a <_sk_srcover_rgba_8888_sse41_lowp+0x22d>
+  DB  102,65,15,58,22,68,144,8,2          ; pextrd        $0x2,%xmm0,0x8(%r8,%rdx,4)
+  DB  102,65,15,214,4,144                 ; movq          %xmm0,(%r8,%rdx,4)
+  DB  235,31                              ; jmp           2f95a <_sk_srcover_rgba_8888_sse41_lowp+0x22d>
+  DB  102,65,15,58,22,76,144,24,2         ; pextrd        $0x2,%xmm1,0x18(%r8,%rdx,4)
+  DB  102,65,15,58,22,76,144,20,1         ; pextrd        $0x1,%xmm1,0x14(%r8,%rdx,4)
+  DB  102,65,15,126,76,144,16             ; movd          %xmm1,0x10(%r8,%rdx,4)
+  DB  243,65,15,127,4,144                 ; movdqu        %xmm0,(%r8,%rdx,4)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,65,15,111,193                   ; movdqa        %xmm9,%xmm0
+  DB  102,65,15,111,202                   ; movdqa        %xmm10,%xmm1
+  DB  102,65,15,111,211                   ; movdqa        %xmm11,%xmm2
+  DB  102,65,15,111,216                   ; movdqa        %xmm8,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  247,253                             ; idiv          %ebp
+  DB  255                                 ; (bad)
+  DB  255,36,254                          ; jmpq          *(%rsi,%rdi,8)
+  DB  255                                 ; (bad)
+  DB  255,19                              ; callq         *(%rbx)
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,87,254                          ; callq         *-0x2(%rdi)
+  DB  255                                 ; (bad)
+  DB  255,78,254                          ; decl          -0x2(%rsi)
+  DB  255                                 ; (bad)
+  DB  255,69,254                          ; incl          -0x2(%rbp)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  56,254                              ; cmp           %bh,%dh
+  DB  255                                 ; (bad)
+  DB  255,131,255,255,255,163             ; incl          -0x5c000001(%rbx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,154,255,255,255,196             ; lcall         *-0x3b000001(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  189,255,255,255,180                 ; mov           $0xb4ffffff,%ebp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+  DB  171                                 ; stos          %eax,%es:(%rdi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_srcover_bgra_8888_sse41_lowp
+_sk_srcover_bgra_8888_sse41_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  65,137,250                          ; mov           %edi,%r10d
+  DB  65,128,226,7                        ; and           $0x7,%r10b
+  DB  65,254,202                          ; dec           %r10b
+  DB  69,15,182,202                       ; movzbl        %r10b,%r9d
+  DB  65,128,249,6                        ; cmp           $0x6,%r9b
+  DB  119,38                              ; ja            2f9f7 <_sk_srcover_bgra_8888_sse41_lowp+0x4b>
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  76,141,29,23,2,0,0                  ; lea           0x217(%rip),%r11        # 2fbf4 <_sk_srcover_bgra_8888_sse41_lowp+0x248>
+  DB  75,99,4,139                         ; movslq        (%r11,%r9,4),%rax
+  DB  76,1,216                            ; add           %r11,%rax
+  DB  102,15,239,237                      ; pxor          %xmm5,%xmm5
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,65,15,110,36,144                ; movd          (%r8,%rdx,4),%xmm4
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  235,89                              ; jmp           2fa50 <_sk_srcover_bgra_8888_sse41_lowp+0xa4>
+  DB  243,65,15,111,36,144                ; movdqu        (%r8,%rdx,4),%xmm4
+  DB  243,69,15,111,68,144,16             ; movdqu        0x10(%r8,%rdx,4),%xmm8
+  DB  235,74                              ; jmp           2fa50 <_sk_srcover_bgra_8888_sse41_lowp+0xa4>
+  DB  102,65,15,110,100,144,8             ; movd          0x8(%r8,%rdx,4),%xmm4
+  DB  102,68,15,112,196,69                ; pshufd        $0x45,%xmm4,%xmm8
+  DB  102,15,239,237                      ; pxor          %xmm5,%xmm5
+  DB  243,65,15,126,36,144                ; movq          (%r8,%rdx,4),%xmm4
+  DB  102,65,15,58,14,224,240             ; pblendw       $0xf0,%xmm8,%xmm4
+  DB  102,68,15,111,197                   ; movdqa        %xmm5,%xmm8
+  DB  235,37                              ; jmp           2fa50 <_sk_srcover_bgra_8888_sse41_lowp+0xa4>
+  DB  102,65,15,110,100,144,24            ; movd          0x18(%r8,%rdx,4),%xmm4
+  DB  102,68,15,112,196,69                ; pshufd        $0x45,%xmm4,%xmm8
+  DB  102,69,15,58,34,68,144,20,1         ; pinsrd        $0x1,0x14(%r8,%rdx,4),%xmm8
+  DB  102,69,15,58,34,68,144,16,0         ; pinsrd        $0x0,0x10(%r8,%rdx,4),%xmm8
+  DB  243,65,15,111,36,144                ; movdqu        (%r8,%rdx,4),%xmm4
+  DB  102,15,111,53,152,97,0,0            ; movdqa        0x6198(%rip),%xmm6        # 35bf0 <_sk_srcover_bgra_8888_sse2_lowp+0x13d8>
+  DB  102,15,111,236                      ; movdqa        %xmm4,%xmm5
+  DB  102,15,56,0,238                     ; pshufb        %xmm6,%xmm5
+  DB  102,65,15,111,248                   ; movdqa        %xmm8,%xmm7
+  DB  102,15,56,0,254                     ; pshufb        %xmm6,%xmm7
+  DB  102,15,108,239                      ; punpcklqdq    %xmm7,%xmm5
+  DB  102,68,15,111,37,216,89,0,0         ; movdqa        0x59d8(%rip),%xmm12        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,15,111,245                      ; movdqa        %xmm5,%xmm6
+  DB  102,65,15,219,244                   ; pand          %xmm12,%xmm6
+  DB  102,15,113,213,8                    ; psrlw         $0x8,%xmm5
+  DB  102,68,15,111,13,113,97,0,0         ; movdqa        0x6171(%rip),%xmm9        # 35c00 <_sk_srcover_bgra_8888_sse2_lowp+0x13e8>
+  DB  102,15,111,252                      ; movdqa        %xmm4,%xmm7
+  DB  102,65,15,56,0,249                  ; pshufb        %xmm9,%xmm7
+  DB  102,69,15,111,208                   ; movdqa        %xmm8,%xmm10
+  DB  102,69,15,56,0,209                  ; pshufb        %xmm9,%xmm10
+  DB  102,65,15,108,250                   ; punpcklqdq    %xmm10,%xmm7
+  DB  102,68,15,111,13,94,97,0,0          ; movdqa        0x615e(%rip),%xmm9        # 35c10 <_sk_srcover_bgra_8888_sse2_lowp+0x13f8>
+  DB  102,65,15,56,0,225                  ; pshufb        %xmm9,%xmm4
+  DB  102,69,15,56,0,193                  ; pshufb        %xmm9,%xmm8
+  DB  102,65,15,108,224                   ; punpcklqdq    %xmm8,%xmm4
+  DB  102,65,15,219,228                   ; pand          %xmm12,%xmm4
+  DB  102,69,15,111,196                   ; movdqa        %xmm12,%xmm8
+  DB  102,68,15,249,195                   ; psubw         %xmm3,%xmm8
+  DB  102,68,15,111,204                   ; movdqa        %xmm4,%xmm9
+  DB  102,69,15,213,200                   ; pmullw        %xmm8,%xmm9
+  DB  102,69,15,253,204                   ; paddw         %xmm12,%xmm9
+  DB  102,65,15,113,209,8                 ; psrlw         $0x8,%xmm9
+  DB  102,68,15,253,200                   ; paddw         %xmm0,%xmm9
+  DB  102,68,15,111,213                   ; movdqa        %xmm5,%xmm10
+  DB  102,69,15,213,208                   ; pmullw        %xmm8,%xmm10
+  DB  102,69,15,253,212                   ; paddw         %xmm12,%xmm10
+  DB  102,65,15,113,210,8                 ; psrlw         $0x8,%xmm10
+  DB  102,68,15,253,209                   ; paddw         %xmm1,%xmm10
+  DB  102,68,15,111,222                   ; movdqa        %xmm6,%xmm11
+  DB  102,69,15,213,216                   ; pmullw        %xmm8,%xmm11
+  DB  102,69,15,253,220                   ; paddw         %xmm12,%xmm11
+  DB  102,65,15,113,211,8                 ; psrlw         $0x8,%xmm11
+  DB  102,68,15,253,218                   ; paddw         %xmm2,%xmm11
+  DB  102,68,15,213,199                   ; pmullw        %xmm7,%xmm8
+  DB  102,69,15,253,196                   ; paddw         %xmm12,%xmm8
+  DB  102,65,15,113,208,8                 ; psrlw         $0x8,%xmm8
+  DB  102,68,15,253,195                   ; paddw         %xmm3,%xmm8
+  DB  102,65,15,111,194                   ; movdqa        %xmm10,%xmm0
+  DB  102,15,113,240,8                    ; psllw         $0x8,%xmm0
+  DB  102,65,15,235,195                   ; por           %xmm11,%xmm0
+  DB  102,15,112,200,78                   ; pshufd        $0x4e,%xmm0,%xmm1
+  DB  102,15,56,51,209                    ; pmovzxwd      %xmm1,%xmm2
+  DB  102,68,15,56,51,224                 ; pmovzxwd      %xmm0,%xmm12
+  DB  102,65,15,111,216                   ; movdqa        %xmm8,%xmm3
+  DB  102,15,113,243,8                    ; psllw         $0x8,%xmm3
+  DB  102,65,15,235,217                   ; por           %xmm9,%xmm3
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  102,15,105,203                      ; punpckhwd     %xmm3,%xmm1
+  DB  102,15,235,202                      ; por           %xmm2,%xmm1
+  DB  102,15,97,195                       ; punpcklwd     %xmm3,%xmm0
+  DB  102,65,15,235,196                   ; por           %xmm12,%xmm0
+  DB  65,128,250,6                        ; cmp           $0x6,%r10b
+  DB  119,24                              ; ja            2fb9a <_sk_srcover_bgra_8888_sse41_lowp+0x1ee>
+  DB  76,141,21,135,0,0,0                 ; lea           0x87(%rip),%r10        # 2fc10 <_sk_srcover_bgra_8888_sse41_lowp+0x264>
+  DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
+  DB  76,1,208                            ; add           %r10,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,65,15,126,4,144                 ; movd          %xmm0,(%r8,%rdx,4)
+  DB  235,63                              ; jmp           2fbd9 <_sk_srcover_bgra_8888_sse41_lowp+0x22d>
+  DB  243,65,15,127,4,144                 ; movdqu        %xmm0,(%r8,%rdx,4)
+  DB  243,65,15,127,76,144,16             ; movdqu        %xmm1,0x10(%r8,%rdx,4)
+  DB  235,48                              ; jmp           2fbd9 <_sk_srcover_bgra_8888_sse41_lowp+0x22d>
+  DB  102,65,15,58,22,68,144,8,2          ; pextrd        $0x2,%xmm0,0x8(%r8,%rdx,4)
+  DB  102,65,15,214,4,144                 ; movq          %xmm0,(%r8,%rdx,4)
+  DB  235,31                              ; jmp           2fbd9 <_sk_srcover_bgra_8888_sse41_lowp+0x22d>
+  DB  102,65,15,58,22,76,144,24,2         ; pextrd        $0x2,%xmm1,0x18(%r8,%rdx,4)
+  DB  102,65,15,58,22,76,144,20,1         ; pextrd        $0x1,%xmm1,0x14(%r8,%rdx,4)
+  DB  102,65,15,126,76,144,16             ; movd          %xmm1,0x10(%r8,%rdx,4)
+  DB  243,65,15,127,4,144                 ; movdqu        %xmm0,(%r8,%rdx,4)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,65,15,111,193                   ; movdqa        %xmm9,%xmm0
+  DB  102,65,15,111,202                   ; movdqa        %xmm10,%xmm1
+  DB  102,65,15,111,211                   ; movdqa        %xmm11,%xmm2
+  DB  102,65,15,111,216                   ; movdqa        %xmm8,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+  DB  15,31,0                             ; nopl          (%rax)
+  DB  246,253                             ; idiv          %ch
+  DB  255                                 ; (bad)
+  DB  255,35                              ; jmpq          *(%rbx)
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,18                              ; callq         *(%rdx)
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,86,254                          ; callq         *-0x2(%rsi)
+  DB  255                                 ; (bad)
+  DB  255,77,254                          ; decl          -0x2(%rbp)
+  DB  255                                 ; (bad)
+  DB  255,68,254,255                      ; incl          -0x1(%rsi,%rdi,8)
+  DB  255,55                              ; pushq         (%rdi)
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,130,255,255,255,162             ; incl          -0x5d000001(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,153,255,255,255,195             ; lcall         *-0x3c000001(%rcx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  188,255,255,255,179                 ; mov           $0xb3ffffff,%esp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+  DB  170                                 ; stos          %al,%es:(%rdi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_start_pipeline_sse2_lowp
+_sk_start_pipeline_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %rbp
+  DB  72,137,229                          ; mov           %rsp,%rbp
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,85                               ; push          %r13
+  DB  65,84                               ; push          %r12
+  DB  86                                  ; push          %rsi
+  DB  87                                  ; push          %rdi
+  DB  83                                  ; push          %rbx
+  DB  72,129,236,200,0,0,0                ; sub           $0xc8,%rsp
+  DB  68,15,41,125,176                    ; movaps        %xmm15,-0x50(%rbp)
+  DB  68,15,41,117,160                    ; movaps        %xmm14,-0x60(%rbp)
+  DB  68,15,41,109,144                    ; movaps        %xmm13,-0x70(%rbp)
+  DB  68,15,41,101,128                    ; movaps        %xmm12,-0x80(%rbp)
+  DB  68,15,41,157,112,255,255,255        ; movaps        %xmm11,-0x90(%rbp)
+  DB  68,15,41,149,96,255,255,255         ; movaps        %xmm10,-0xa0(%rbp)
+  DB  68,15,41,141,80,255,255,255         ; movaps        %xmm9,-0xb0(%rbp)
+  DB  68,15,41,133,64,255,255,255         ; movaps        %xmm8,-0xc0(%rbp)
+  DB  15,41,189,48,255,255,255            ; movaps        %xmm7,-0xd0(%rbp)
+  DB  15,41,181,32,255,255,255            ; movaps        %xmm6,-0xe0(%rbp)
+  DB  77,137,199                          ; mov           %r8,%r15
+  DB  72,137,211                          ; mov           %rdx,%rbx
+  DB  72,137,141,24,255,255,255           ; mov           %rcx,-0xe8(%rbp)
+  DB  72,139,117,48                       ; mov           0x30(%rbp),%rsi
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  73,137,197                          ; mov           %rax,%r13
+  DB  73,137,246                          ; mov           %rsi,%r14
+  DB  76,137,141,8,255,255,255            ; mov           %r9,-0xf8(%rbp)
+  DB  76,57,203                           ; cmp           %r9,%rbx
+  DB  15,131,153,0,0,0                    ; jae           2fd46 <_sk_start_pipeline_sse2_lowp+0x11a>
+  DB  72,139,133,24,255,255,255           ; mov           -0xe8(%rbp),%rax
+  DB  72,141,64,8                         ; lea           0x8(%rax),%rax
+  DB  72,137,133,16,255,255,255           ; mov           %rax,-0xf0(%rbp)
+  DB  76,57,189,16,255,255,255            ; cmp           %r15,-0xf0(%rbp)
+  DB  72,139,149,24,255,255,255           ; mov           -0xe8(%rbp),%rdx
+  DB  119,62                              ; ja            2fd0d <_sk_start_pipeline_sse2_lowp+0xe1>
+  DB  76,139,165,24,255,255,255           ; mov           -0xe8(%rbp),%r12
+  DB  49,255                              ; xor           %edi,%edi
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  15,87,201                           ; xorps         %xmm1,%xmm1
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,87,237                           ; xorps         %xmm5,%xmm5
+  DB  15,87,246                           ; xorps         %xmm6,%xmm6
+  DB  15,87,255                           ; xorps         %xmm7,%xmm7
+  DB  76,137,246                          ; mov           %r14,%rsi
+  DB  76,137,226                          ; mov           %r12,%rdx
+  DB  72,137,217                          ; mov           %rbx,%rcx
+  DB  65,255,213                          ; callq         *%r13
+  DB  73,141,84,36,8                      ; lea           0x8(%r12),%rdx
+  DB  73,131,196,16                       ; add           $0x10,%r12
+  DB  77,57,252                           ; cmp           %r15,%r12
+  DB  73,137,212                          ; mov           %rdx,%r12
+  DB  118,201                             ; jbe           2fcd6 <_sk_start_pipeline_sse2_lowp+0xaa>
+  DB  76,137,255                          ; mov           %r15,%rdi
+  DB  72,41,215                           ; sub           %rdx,%rdi
+  DB  116,33                              ; je            2fd36 <_sk_start_pipeline_sse2_lowp+0x10a>
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  15,87,201                           ; xorps         %xmm1,%xmm1
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,87,237                           ; xorps         %xmm5,%xmm5
+  DB  15,87,246                           ; xorps         %xmm6,%xmm6
+  DB  15,87,255                           ; xorps         %xmm7,%xmm7
+  DB  76,137,246                          ; mov           %r14,%rsi
+  DB  72,137,217                          ; mov           %rbx,%rcx
+  DB  65,255,213                          ; callq         *%r13
+  DB  72,255,195                          ; inc           %rbx
+  DB  72,59,157,8,255,255,255             ; cmp           -0xf8(%rbp),%rbx
+  DB  15,133,121,255,255,255              ; jne           2fcbf <_sk_start_pipeline_sse2_lowp+0x93>
+  DB  15,40,181,32,255,255,255            ; movaps        -0xe0(%rbp),%xmm6
+  DB  15,40,189,48,255,255,255            ; movaps        -0xd0(%rbp),%xmm7
+  DB  68,15,40,133,64,255,255,255         ; movaps        -0xc0(%rbp),%xmm8
+  DB  68,15,40,141,80,255,255,255         ; movaps        -0xb0(%rbp),%xmm9
+  DB  68,15,40,149,96,255,255,255         ; movaps        -0xa0(%rbp),%xmm10
+  DB  68,15,40,157,112,255,255,255        ; movaps        -0x90(%rbp),%xmm11
+  DB  68,15,40,101,128                    ; movaps        -0x80(%rbp),%xmm12
+  DB  68,15,40,109,144                    ; movaps        -0x70(%rbp),%xmm13
+  DB  68,15,40,117,160                    ; movaps        -0x60(%rbp),%xmm14
+  DB  68,15,40,125,176                    ; movaps        -0x50(%rbp),%xmm15
+  DB  72,129,196,200,0,0,0                ; add           $0xc8,%rsp
+  DB  91                                  ; pop           %rbx
+  DB  95                                  ; pop           %rdi
+  DB  94                                  ; pop           %rsi
+  DB  65,92                               ; pop           %r12
+  DB  65,93                               ; pop           %r13
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  93                                  ; pop           %rbp
+  DB  195                                 ; retq
+
+PUBLIC _sk_just_return_sse2_lowp
+_sk_just_return_sse2_lowp LABEL PROC
+  DB  195                                 ; retq
+
+PUBLIC _sk_seed_shader_sse2_lowp
+_sk_seed_shader_sse2_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,15,110,194                      ; movd          %edx,%xmm0
+  DB  102,15,112,192,0                    ; pshufd        $0x0,%xmm0,%xmm0
+  DB  15,91,208                           ; cvtdq2ps      %xmm0,%xmm2
+  DB  15,16,0                             ; movups        (%rax),%xmm0
+  DB  15,16,72,16                         ; movups        0x10(%rax),%xmm1
+  DB  15,88,194                           ; addps         %xmm2,%xmm0
+  DB  15,88,202                           ; addps         %xmm2,%xmm1
+  DB  102,15,110,209                      ; movd          %ecx,%xmm2
+  DB  102,15,112,210,0                    ; pshufd        $0x0,%xmm2,%xmm2
+  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
+  DB  15,88,21,213,86,0,0                 ; addps         0x56d5(%rip),%xmm2        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,218                           ; movaps        %xmm2,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_matrix_translate_sse2_lowp
+_sk_matrix_translate_sse2_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,0                      ; movss         (%rax),%xmm8
+  DB  243,68,15,16,72,4                   ; movss         0x4(%rax),%xmm9
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  65,15,88,192                        ; addps         %xmm8,%xmm0
+  DB  65,15,88,200                        ; addps         %xmm8,%xmm1
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  65,15,88,209                        ; addps         %xmm9,%xmm2
+  DB  65,15,88,217                        ; addps         %xmm9,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_matrix_scale_translate_sse2_lowp
+_sk_matrix_scale_translate_sse2_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,0                      ; movss         (%rax),%xmm8
+  DB  243,68,15,16,72,4                   ; movss         0x4(%rax),%xmm9
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  243,68,15,16,80,8                   ; movss         0x8(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  65,15,88,194                        ; addps         %xmm10,%xmm0
+  DB  65,15,88,202                        ; addps         %xmm10,%xmm1
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  243,68,15,16,64,12                  ; movss         0xc(%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  65,15,89,217                        ; mulps         %xmm9,%xmm3
+  DB  65,15,89,209                        ; mulps         %xmm9,%xmm2
+  DB  65,15,88,208                        ; addps         %xmm8,%xmm2
+  DB  65,15,88,216                        ; addps         %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_matrix_2x3_sse2_lowp
+_sk_matrix_2x3_sse2_lowp LABEL PROC
+  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,15,16,0                         ; movss         (%rax),%xmm0
+  DB  243,68,15,16,88,4                   ; movss         0x4(%rax),%xmm11
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  243,68,15,16,80,8                   ; movss         0x8(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  243,68,15,16,72,16                  ; movss         0x10(%rax),%xmm9
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  68,15,40,226                        ; movaps        %xmm2,%xmm12
+  DB  69,15,89,226                        ; mulps         %xmm10,%xmm12
+  DB  68,15,89,211                        ; mulps         %xmm3,%xmm10
+  DB  69,15,88,209                        ; addps         %xmm9,%xmm10
+  DB  69,15,88,225                        ; addps         %xmm9,%xmm12
+  DB  68,15,40,201                        ; movaps        %xmm1,%xmm9
+  DB  68,15,89,200                        ; mulps         %xmm0,%xmm9
+  DB  69,15,88,202                        ; addps         %xmm10,%xmm9
+  DB  65,15,89,192                        ; mulps         %xmm8,%xmm0
+  DB  65,15,88,196                        ; addps         %xmm12,%xmm0
+  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
+  DB  243,68,15,16,80,12                  ; movss         0xc(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  243,68,15,16,96,20                  ; movss         0x14(%rax),%xmm12
+  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
+  DB  65,15,89,210                        ; mulps         %xmm10,%xmm2
+  DB  68,15,89,211                        ; mulps         %xmm3,%xmm10
+  DB  69,15,88,212                        ; addps         %xmm12,%xmm10
+  DB  65,15,88,212                        ; addps         %xmm12,%xmm2
+  DB  65,15,89,203                        ; mulps         %xmm11,%xmm1
+  DB  68,15,88,209                        ; addps         %xmm1,%xmm10
+  DB  69,15,89,216                        ; mulps         %xmm8,%xmm11
+  DB  65,15,88,211                        ; addps         %xmm11,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,201                        ; movaps        %xmm9,%xmm1
+  DB  65,15,40,218                        ; movaps        %xmm10,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_matrix_perspective_sse2_lowp
+_sk_matrix_perspective_sse2_lowp LABEL PROC
+  DB  68,15,40,193                        ; movaps        %xmm1,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,15,16,8                         ; movss         (%rax),%xmm1
+  DB  243,68,15,16,80,4                   ; movss         0x4(%rax),%xmm10
+  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  243,68,15,16,72,8                   ; movss         0x8(%rax),%xmm9
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  68,15,40,219                        ; movaps        %xmm3,%xmm11
+  DB  69,15,89,218                        ; mulps         %xmm10,%xmm11
+  DB  68,15,89,210                        ; mulps         %xmm2,%xmm10
+  DB  69,15,88,209                        ; addps         %xmm9,%xmm10
+  DB  69,15,88,217                        ; addps         %xmm9,%xmm11
+  DB  68,15,40,200                        ; movaps        %xmm0,%xmm9
+  DB  68,15,89,201                        ; mulps         %xmm1,%xmm9
+  DB  69,15,88,202                        ; addps         %xmm10,%xmm9
+  DB  65,15,89,200                        ; mulps         %xmm8,%xmm1
+  DB  65,15,88,203                        ; addps         %xmm11,%xmm1
+  DB  243,68,15,16,96,12                  ; movss         0xc(%rax),%xmm12
+  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
+  DB  243,68,15,16,80,16                  ; movss         0x10(%rax),%xmm10
+  DB  69,15,198,210,0                     ; shufps        $0x0,%xmm10,%xmm10
+  DB  243,68,15,16,104,20                 ; movss         0x14(%rax),%xmm13
+  DB  69,15,198,237,0                     ; shufps        $0x0,%xmm13,%xmm13
+  DB  68,15,40,219                        ; movaps        %xmm3,%xmm11
+  DB  69,15,89,218                        ; mulps         %xmm10,%xmm11
+  DB  68,15,89,210                        ; mulps         %xmm2,%xmm10
+  DB  69,15,88,213                        ; addps         %xmm13,%xmm10
+  DB  69,15,88,221                        ; addps         %xmm13,%xmm11
+  DB  68,15,40,232                        ; movaps        %xmm0,%xmm13
+  DB  69,15,89,236                        ; mulps         %xmm12,%xmm13
+  DB  69,15,88,213                        ; addps         %xmm13,%xmm10
+  DB  69,15,89,224                        ; mulps         %xmm8,%xmm12
+  DB  69,15,88,220                        ; addps         %xmm12,%xmm11
+  DB  243,68,15,16,96,24                  ; movss         0x18(%rax),%xmm12
+  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
+  DB  243,68,15,16,104,28                 ; movss         0x1c(%rax),%xmm13
+  DB  69,15,198,237,0                     ; shufps        $0x0,%xmm13,%xmm13
+  DB  243,68,15,16,112,32                 ; movss         0x20(%rax),%xmm14
+  DB  69,15,198,246,0                     ; shufps        $0x0,%xmm14,%xmm14
+  DB  65,15,89,221                        ; mulps         %xmm13,%xmm3
+  DB  68,15,89,234                        ; mulps         %xmm2,%xmm13
+  DB  69,15,88,238                        ; addps         %xmm14,%xmm13
+  DB  65,15,88,222                        ; addps         %xmm14,%xmm3
+  DB  65,15,89,196                        ; mulps         %xmm12,%xmm0
+  DB  65,15,88,197                        ; addps         %xmm13,%xmm0
+  DB  69,15,89,224                        ; mulps         %xmm8,%xmm12
+  DB  68,15,88,227                        ; addps         %xmm3,%xmm12
+  DB  15,83,192                           ; rcpps         %xmm0,%xmm0
+  DB  65,15,83,212                        ; rcpps         %xmm12,%xmm2
+  DB  68,15,89,200                        ; mulps         %xmm0,%xmm9
+  DB  15,89,202                           ; mulps         %xmm2,%xmm1
+  DB  68,15,89,208                        ; mulps         %xmm0,%xmm10
+  DB  68,15,89,218                        ; mulps         %xmm2,%xmm11
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  65,15,40,193                        ; movaps        %xmm9,%xmm0
+  DB  65,15,40,210                        ; movaps        %xmm10,%xmm2
+  DB  65,15,40,219                        ; movaps        %xmm11,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_uniform_color_sse2_lowp
+_sk_uniform_color_sse2_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,15,110,64,16                    ; movd          0x10(%rax),%xmm0
+  DB  242,15,112,192,0                    ; pshuflw       $0x0,%xmm0,%xmm0
+  DB  102,15,112,192,80                   ; pshufd        $0x50,%xmm0,%xmm0
+  DB  68,15,183,64,18                     ; movzwl        0x12(%rax),%r8d
+  DB  102,65,15,110,200                   ; movd          %r8d,%xmm1
+  DB  242,15,112,201,0                    ; pshuflw       $0x0,%xmm1,%xmm1
+  DB  102,15,112,201,80                   ; pshufd        $0x50,%xmm1,%xmm1
+  DB  102,15,110,80,20                    ; movd          0x14(%rax),%xmm2
+  DB  242,15,112,210,0                    ; pshuflw       $0x0,%xmm2,%xmm2
+  DB  102,15,112,210,80                   ; pshufd        $0x50,%xmm2,%xmm2
+  DB  15,183,64,22                        ; movzwl        0x16(%rax),%eax
+  DB  102,15,110,216                      ; movd          %eax,%xmm3
+  DB  242,15,112,219,0                    ; pshuflw       $0x0,%xmm3,%xmm3
+  DB  102,15,112,219,80                   ; pshufd        $0x50,%xmm3,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_black_color_sse2_lowp
+_sk_black_color_sse2_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,29,26,84,0,0                  ; movaps        0x541a(%rip),%xmm3        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  15,87,201                           ; xorps         %xmm1,%xmm1
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_white_color_sse2_lowp
+_sk_white_color_sse2_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,5,6,84,0,0                    ; movaps        0x5406(%rip),%xmm0        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  15,40,208                           ; movaps        %xmm0,%xmm2
+  DB  15,40,216                           ; movaps        %xmm0,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_set_rgb_sse2_lowp
+_sk_set_rgb_sse2_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,15,16,21,149,74,0,0             ; movss         0x4a95(%rip),%xmm2        # 34af4 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  DB  243,15,16,0                         ; movss         (%rax),%xmm0
+  DB  243,15,89,194                       ; mulss         %xmm2,%xmm0
+  DB  243,68,15,16,5,84,74,0,0            ; movss         0x4a54(%rip),%xmm8        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  243,65,15,88,192                    ; addss         %xmm8,%xmm0
+  DB  243,68,15,44,192                    ; cvttss2si     %xmm0,%r8d
+  DB  102,65,15,110,192                   ; movd          %r8d,%xmm0
+  DB  242,15,112,192,0                    ; pshuflw       $0x0,%xmm0,%xmm0
+  DB  102,15,112,192,80                   ; pshufd        $0x50,%xmm0,%xmm0
+  DB  243,15,16,72,4                      ; movss         0x4(%rax),%xmm1
+  DB  243,15,89,202                       ; mulss         %xmm2,%xmm1
+  DB  243,65,15,88,200                    ; addss         %xmm8,%xmm1
+  DB  243,68,15,44,193                    ; cvttss2si     %xmm1,%r8d
+  DB  102,65,15,110,200                   ; movd          %r8d,%xmm1
+  DB  242,15,112,201,0                    ; pshuflw       $0x0,%xmm1,%xmm1
+  DB  102,15,112,201,80                   ; pshufd        $0x50,%xmm1,%xmm1
+  DB  243,15,89,80,8                      ; mulss         0x8(%rax),%xmm2
+  DB  243,65,15,88,208                    ; addss         %xmm8,%xmm2
+  DB  243,15,44,194                       ; cvttss2si     %xmm2,%eax
+  DB  102,15,110,208                      ; movd          %eax,%xmm2
+  DB  242,15,112,210,0                    ; pshuflw       $0x0,%xmm2,%xmm2
+  DB  102,15,112,210,80                   ; pshufd        $0x50,%xmm2,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_clamp_a_sse2_lowp
+_sk_clamp_a_sse2_lowp LABEL PROC
+  DB  102,68,15,111,5,12,91,0,0           ; movdqa        0x5b0c(%rip),%xmm8        # 35be0 <_sk_srcover_bgra_8888_sse2_lowp+0x13c8>
+  DB  102,68,15,111,200                   ; movdqa        %xmm0,%xmm9
+  DB  102,69,15,239,200                   ; pxor          %xmm8,%xmm9
+  DB  102,68,15,111,211                   ; movdqa        %xmm3,%xmm10
+  DB  102,69,15,239,208                   ; pxor          %xmm8,%xmm10
+  DB  102,69,15,111,218                   ; movdqa        %xmm10,%xmm11
+  DB  102,69,15,101,217                   ; pcmpgtw       %xmm9,%xmm11
+  DB  102,65,15,219,195                   ; pand          %xmm11,%xmm0
+  DB  102,68,15,223,219                   ; pandn         %xmm3,%xmm11
+  DB  102,65,15,235,195                   ; por           %xmm11,%xmm0
+  DB  102,68,15,111,201                   ; movdqa        %xmm1,%xmm9
+  DB  102,69,15,239,200                   ; pxor          %xmm8,%xmm9
+  DB  102,69,15,111,218                   ; movdqa        %xmm10,%xmm11
+  DB  102,69,15,101,217                   ; pcmpgtw       %xmm9,%xmm11
+  DB  102,65,15,219,203                   ; pand          %xmm11,%xmm1
+  DB  102,68,15,223,219                   ; pandn         %xmm3,%xmm11
+  DB  102,65,15,235,203                   ; por           %xmm11,%xmm1
+  DB  102,68,15,239,194                   ; pxor          %xmm2,%xmm8
+  DB  102,69,15,101,208                   ; pcmpgtw       %xmm8,%xmm10
+  DB  102,65,15,219,210                   ; pand          %xmm10,%xmm2
+  DB  102,68,15,223,211                   ; pandn         %xmm3,%xmm10
+  DB  102,65,15,235,210                   ; por           %xmm10,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_clamp_a_dst_sse2_lowp
+_sk_clamp_a_dst_sse2_lowp LABEL PROC
+  DB  102,68,15,111,5,150,90,0,0          ; movdqa        0x5a96(%rip),%xmm8        # 35be0 <_sk_srcover_bgra_8888_sse2_lowp+0x13c8>
+  DB  102,68,15,111,204                   ; movdqa        %xmm4,%xmm9
+  DB  102,69,15,239,200                   ; pxor          %xmm8,%xmm9
+  DB  102,68,15,111,215                   ; movdqa        %xmm7,%xmm10
+  DB  102,69,15,239,208                   ; pxor          %xmm8,%xmm10
+  DB  102,69,15,111,218                   ; movdqa        %xmm10,%xmm11
+  DB  102,69,15,101,217                   ; pcmpgtw       %xmm9,%xmm11
+  DB  102,65,15,219,227                   ; pand          %xmm11,%xmm4
+  DB  102,68,15,223,223                   ; pandn         %xmm7,%xmm11
+  DB  102,65,15,235,227                   ; por           %xmm11,%xmm4
+  DB  102,68,15,111,205                   ; movdqa        %xmm5,%xmm9
+  DB  102,69,15,239,200                   ; pxor          %xmm8,%xmm9
+  DB  102,69,15,111,218                   ; movdqa        %xmm10,%xmm11
+  DB  102,69,15,101,217                   ; pcmpgtw       %xmm9,%xmm11
+  DB  102,65,15,219,235                   ; pand          %xmm11,%xmm5
+  DB  102,68,15,223,223                   ; pandn         %xmm7,%xmm11
+  DB  102,65,15,235,235                   ; por           %xmm11,%xmm5
+  DB  102,68,15,239,198                   ; pxor          %xmm6,%xmm8
+  DB  102,69,15,101,208                   ; pcmpgtw       %xmm8,%xmm10
+  DB  102,65,15,219,242                   ; pand          %xmm10,%xmm6
+  DB  102,68,15,223,215                   ; pandn         %xmm7,%xmm10
+  DB  102,65,15,235,242                   ; por           %xmm10,%xmm6
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_premul_sse2_lowp
+_sk_premul_sse2_lowp LABEL PROC
+  DB  102,15,213,195                      ; pmullw        %xmm3,%xmm0
+  DB  102,68,15,111,5,140,82,0,0          ; movdqa        0x528c(%rip),%xmm8        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,65,15,253,192                   ; paddw         %xmm8,%xmm0
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,15,213,203                      ; pmullw        %xmm3,%xmm1
+  DB  102,65,15,253,200                   ; paddw         %xmm8,%xmm1
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,213,211                      ; pmullw        %xmm3,%xmm2
+  DB  102,65,15,253,208                   ; paddw         %xmm8,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_premul_dst_sse2_lowp
+_sk_premul_dst_sse2_lowp LABEL PROC
+  DB  102,15,213,231                      ; pmullw        %xmm7,%xmm4
+  DB  102,68,15,111,5,85,82,0,0           ; movdqa        0x5255(%rip),%xmm8        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,65,15,253,224                   ; paddw         %xmm8,%xmm4
+  DB  102,15,113,212,8                    ; psrlw         $0x8,%xmm4
+  DB  102,15,213,239                      ; pmullw        %xmm7,%xmm5
+  DB  102,65,15,253,232                   ; paddw         %xmm8,%xmm5
+  DB  102,15,113,213,8                    ; psrlw         $0x8,%xmm5
+  DB  102,15,213,247                      ; pmullw        %xmm7,%xmm6
+  DB  102,65,15,253,240                   ; paddw         %xmm8,%xmm6
+  DB  102,15,113,214,8                    ; psrlw         $0x8,%xmm6
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_force_opaque_sse2_lowp
+_sk_force_opaque_sse2_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,29,34,82,0,0                  ; movaps        0x5222(%rip),%xmm3        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_force_opaque_dst_sse2_lowp
+_sk_force_opaque_dst_sse2_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,61,23,82,0,0                  ; movaps        0x5217(%rip),%xmm7        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_swap_rb_sse2_lowp
+_sk_swap_rb_sse2_lowp LABEL PROC
+  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,194                           ; movaps        %xmm2,%xmm0
+  DB  65,15,40,208                        ; movaps        %xmm8,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_move_src_dst_sse2_lowp
+_sk_move_src_dst_sse2_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,224                           ; movaps        %xmm0,%xmm4
+  DB  15,40,233                           ; movaps        %xmm1,%xmm5
+  DB  15,40,242                           ; movaps        %xmm2,%xmm6
+  DB  15,40,251                           ; movaps        %xmm3,%xmm7
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_move_dst_src_sse2_lowp
+_sk_move_dst_src_sse2_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,196                           ; movaps        %xmm4,%xmm0
+  DB  15,40,205                           ; movaps        %xmm5,%xmm1
+  DB  15,40,214                           ; movaps        %xmm6,%xmm2
+  DB  15,40,223                           ; movaps        %xmm7,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_invert_sse2_lowp
+_sk_invert_sse2_lowp LABEL PROC
+  DB  102,68,15,111,5,221,81,0,0          ; movdqa        0x51dd(%rip),%xmm8        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,69,15,111,200                   ; movdqa        %xmm8,%xmm9
+  DB  102,68,15,249,200                   ; psubw         %xmm0,%xmm9
+  DB  102,69,15,111,208                   ; movdqa        %xmm8,%xmm10
+  DB  102,68,15,249,209                   ; psubw         %xmm1,%xmm10
+  DB  102,69,15,111,216                   ; movdqa        %xmm8,%xmm11
+  DB  102,68,15,249,218                   ; psubw         %xmm2,%xmm11
+  DB  102,68,15,249,195                   ; psubw         %xmm3,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,65,15,111,193                   ; movdqa        %xmm9,%xmm0
+  DB  102,65,15,111,202                   ; movdqa        %xmm10,%xmm1
+  DB  102,65,15,111,211                   ; movdqa        %xmm11,%xmm2
+  DB  102,65,15,111,216                   ; movdqa        %xmm8,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_clear_sse2_lowp
+_sk_clear_sse2_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  15,87,201                           ; xorps         %xmm1,%xmm1
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_srcatop_sse2_lowp
+_sk_srcatop_sse2_lowp LABEL PROC
+  DB  102,68,15,111,195                   ; movdqa        %xmm3,%xmm8
+  DB  102,15,213,199                      ; pmullw        %xmm7,%xmm0
+  DB  102,15,111,29,129,81,0,0            ; movdqa        0x5181(%rip),%xmm3        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,68,15,111,203                   ; movdqa        %xmm3,%xmm9
+  DB  102,69,15,249,200                   ; psubw         %xmm8,%xmm9
+  DB  102,69,15,111,193                   ; movdqa        %xmm9,%xmm8
+  DB  102,68,15,213,196                   ; pmullw        %xmm4,%xmm8
+  DB  102,15,253,195                      ; paddw         %xmm3,%xmm0
+  DB  102,65,15,253,192                   ; paddw         %xmm8,%xmm0
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,15,213,207                      ; pmullw        %xmm7,%xmm1
+  DB  102,69,15,111,193                   ; movdqa        %xmm9,%xmm8
+  DB  102,68,15,213,197                   ; pmullw        %xmm5,%xmm8
+  DB  102,15,253,203                      ; paddw         %xmm3,%xmm1
+  DB  102,65,15,253,200                   ; paddw         %xmm8,%xmm1
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,213,215                      ; pmullw        %xmm7,%xmm2
+  DB  102,68,15,213,206                   ; pmullw        %xmm6,%xmm9
+  DB  102,15,253,211                      ; paddw         %xmm3,%xmm2
+  DB  102,65,15,253,209                   ; paddw         %xmm9,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,68,15,111,199                   ; movdqa        %xmm7,%xmm8
+  DB  102,68,15,213,195                   ; pmullw        %xmm3,%xmm8
+  DB  102,65,15,253,216                   ; paddw         %xmm8,%xmm3
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_dstatop_sse2_lowp
+_sk_dstatop_sse2_lowp LABEL PROC
+  DB  102,68,15,111,196                   ; movdqa        %xmm4,%xmm8
+  DB  102,68,15,213,195                   ; pmullw        %xmm3,%xmm8
+  DB  102,68,15,111,13,1,81,0,0           ; movdqa        0x5101(%rip),%xmm9        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,69,15,253,193                   ; paddw         %xmm9,%xmm8
+  DB  102,68,15,111,213                   ; movdqa        %xmm5,%xmm10
+  DB  102,68,15,213,211                   ; pmullw        %xmm3,%xmm10
+  DB  102,69,15,253,209                   ; paddw         %xmm9,%xmm10
+  DB  102,68,15,111,222                   ; movdqa        %xmm6,%xmm11
+  DB  102,68,15,213,219                   ; pmullw        %xmm3,%xmm11
+  DB  102,69,15,253,217                   ; paddw         %xmm9,%xmm11
+  DB  102,65,15,213,217                   ; pmullw        %xmm9,%xmm3
+  DB  102,65,15,253,217                   ; paddw         %xmm9,%xmm3
+  DB  102,68,15,249,207                   ; psubw         %xmm7,%xmm9
+  DB  102,65,15,213,193                   ; pmullw        %xmm9,%xmm0
+  DB  102,65,15,253,192                   ; paddw         %xmm8,%xmm0
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,65,15,213,201                   ; pmullw        %xmm9,%xmm1
+  DB  102,65,15,253,202                   ; paddw         %xmm10,%xmm1
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,65,15,213,209                   ; pmullw        %xmm9,%xmm2
+  DB  102,65,15,253,211                   ; paddw         %xmm11,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_srcin_sse2_lowp
+_sk_srcin_sse2_lowp LABEL PROC
+  DB  102,15,213,199                      ; pmullw        %xmm7,%xmm0
+  DB  102,68,15,111,5,140,80,0,0          ; movdqa        0x508c(%rip),%xmm8        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,65,15,253,192                   ; paddw         %xmm8,%xmm0
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,15,213,207                      ; pmullw        %xmm7,%xmm1
+  DB  102,65,15,253,200                   ; paddw         %xmm8,%xmm1
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,213,215                      ; pmullw        %xmm7,%xmm2
+  DB  102,65,15,253,208                   ; paddw         %xmm8,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,213,223                      ; pmullw        %xmm7,%xmm3
+  DB  102,65,15,253,216                   ; paddw         %xmm8,%xmm3
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_dstin_sse2_lowp
+_sk_dstin_sse2_lowp LABEL PROC
+  DB  102,15,111,196                      ; movdqa        %xmm4,%xmm0
+  DB  102,15,213,195                      ; pmullw        %xmm3,%xmm0
+  DB  102,68,15,111,5,67,80,0,0           ; movdqa        0x5043(%rip),%xmm8        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,65,15,253,192                   ; paddw         %xmm8,%xmm0
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,15,111,205                      ; movdqa        %xmm5,%xmm1
+  DB  102,15,213,203                      ; pmullw        %xmm3,%xmm1
+  DB  102,65,15,253,200                   ; paddw         %xmm8,%xmm1
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,111,214                      ; movdqa        %xmm6,%xmm2
+  DB  102,15,213,211                      ; pmullw        %xmm3,%xmm2
+  DB  102,65,15,253,208                   ; paddw         %xmm8,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,213,223                      ; pmullw        %xmm7,%xmm3
+  DB  102,65,15,253,216                   ; paddw         %xmm8,%xmm3
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_srcout_sse2_lowp
+_sk_srcout_sse2_lowp LABEL PROC
+  DB  102,68,15,111,5,250,79,0,0          ; movdqa        0x4ffa(%rip),%xmm8        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,69,15,111,200                   ; movdqa        %xmm8,%xmm9
+  DB  102,68,15,249,207                   ; psubw         %xmm7,%xmm9
+  DB  102,65,15,213,193                   ; pmullw        %xmm9,%xmm0
+  DB  102,65,15,253,192                   ; paddw         %xmm8,%xmm0
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,65,15,213,201                   ; pmullw        %xmm9,%xmm1
+  DB  102,65,15,253,200                   ; paddw         %xmm8,%xmm1
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,65,15,213,209                   ; pmullw        %xmm9,%xmm2
+  DB  102,65,15,253,208                   ; paddw         %xmm8,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,65,15,213,217                   ; pmullw        %xmm9,%xmm3
+  DB  102,65,15,253,216                   ; paddw         %xmm8,%xmm3
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_dstout_sse2_lowp
+_sk_dstout_sse2_lowp LABEL PROC
+  DB  102,15,111,195                      ; movdqa        %xmm3,%xmm0
+  DB  102,68,15,111,5,163,79,0,0          ; movdqa        0x4fa3(%rip),%xmm8        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,65,15,111,216                   ; movdqa        %xmm8,%xmm3
+  DB  102,15,249,216                      ; psubw         %xmm0,%xmm3
+  DB  102,15,111,195                      ; movdqa        %xmm3,%xmm0
+  DB  102,15,213,196                      ; pmullw        %xmm4,%xmm0
+  DB  102,65,15,253,192                   ; paddw         %xmm8,%xmm0
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
+  DB  102,15,213,205                      ; pmullw        %xmm5,%xmm1
+  DB  102,65,15,253,200                   ; paddw         %xmm8,%xmm1
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,111,211                      ; movdqa        %xmm3,%xmm2
+  DB  102,15,213,214                      ; pmullw        %xmm6,%xmm2
+  DB  102,65,15,253,208                   ; paddw         %xmm8,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,213,223                      ; pmullw        %xmm7,%xmm3
+  DB  102,65,15,253,216                   ; paddw         %xmm8,%xmm3
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_srcover_sse2_lowp
+_sk_srcover_sse2_lowp LABEL PROC
+  DB  102,68,15,111,13,73,79,0,0          ; movdqa        0x4f49(%rip),%xmm9        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,69,15,111,193                   ; movdqa        %xmm9,%xmm8
+  DB  102,68,15,249,195                   ; psubw         %xmm3,%xmm8
+  DB  102,69,15,111,208                   ; movdqa        %xmm8,%xmm10
+  DB  102,68,15,213,212                   ; pmullw        %xmm4,%xmm10
+  DB  102,69,15,253,209                   ; paddw         %xmm9,%xmm10
+  DB  102,65,15,113,210,8                 ; psrlw         $0x8,%xmm10
+  DB  102,65,15,253,194                   ; paddw         %xmm10,%xmm0
+  DB  102,69,15,111,208                   ; movdqa        %xmm8,%xmm10
+  DB  102,68,15,213,213                   ; pmullw        %xmm5,%xmm10
+  DB  102,69,15,253,209                   ; paddw         %xmm9,%xmm10
+  DB  102,65,15,113,210,8                 ; psrlw         $0x8,%xmm10
+  DB  102,65,15,253,202                   ; paddw         %xmm10,%xmm1
+  DB  102,69,15,111,208                   ; movdqa        %xmm8,%xmm10
+  DB  102,68,15,213,214                   ; pmullw        %xmm6,%xmm10
+  DB  102,69,15,253,209                   ; paddw         %xmm9,%xmm10
+  DB  102,65,15,113,210,8                 ; psrlw         $0x8,%xmm10
+  DB  102,65,15,253,210                   ; paddw         %xmm10,%xmm2
+  DB  102,68,15,213,199                   ; pmullw        %xmm7,%xmm8
+  DB  102,69,15,253,193                   ; paddw         %xmm9,%xmm8
+  DB  102,65,15,113,208,8                 ; psrlw         $0x8,%xmm8
+  DB  102,65,15,253,216                   ; paddw         %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_dstover_sse2_lowp
+_sk_dstover_sse2_lowp LABEL PROC
+  DB  102,68,15,111,5,207,78,0,0          ; movdqa        0x4ecf(%rip),%xmm8        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,69,15,111,200                   ; movdqa        %xmm8,%xmm9
+  DB  102,68,15,249,207                   ; psubw         %xmm7,%xmm9
+  DB  102,65,15,213,193                   ; pmullw        %xmm9,%xmm0
+  DB  102,65,15,253,192                   ; paddw         %xmm8,%xmm0
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,15,253,196                      ; paddw         %xmm4,%xmm0
+  DB  102,65,15,213,201                   ; pmullw        %xmm9,%xmm1
+  DB  102,65,15,253,200                   ; paddw         %xmm8,%xmm1
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,253,205                      ; paddw         %xmm5,%xmm1
+  DB  102,65,15,213,209                   ; pmullw        %xmm9,%xmm2
+  DB  102,65,15,253,208                   ; paddw         %xmm8,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,253,214                      ; paddw         %xmm6,%xmm2
+  DB  102,65,15,213,217                   ; pmullw        %xmm9,%xmm3
+  DB  102,65,15,253,216                   ; paddw         %xmm8,%xmm3
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  102,15,253,223                      ; paddw         %xmm7,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_modulate_sse2_lowp
+_sk_modulate_sse2_lowp LABEL PROC
+  DB  102,15,213,196                      ; pmullw        %xmm4,%xmm0
+  DB  102,68,15,111,5,104,78,0,0          ; movdqa        0x4e68(%rip),%xmm8        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,65,15,253,192                   ; paddw         %xmm8,%xmm0
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,15,213,205                      ; pmullw        %xmm5,%xmm1
+  DB  102,65,15,253,200                   ; paddw         %xmm8,%xmm1
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,213,214                      ; pmullw        %xmm6,%xmm2
+  DB  102,65,15,253,208                   ; paddw         %xmm8,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,213,223                      ; pmullw        %xmm7,%xmm3
+  DB  102,65,15,253,216                   ; paddw         %xmm8,%xmm3
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_multiply_sse2_lowp
+_sk_multiply_sse2_lowp LABEL PROC
+  DB  102,68,15,111,13,39,78,0,0          ; movdqa        0x4e27(%rip),%xmm9        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,69,15,111,193                   ; movdqa        %xmm9,%xmm8
+  DB  102,68,15,249,195                   ; psubw         %xmm3,%xmm8
+  DB  102,69,15,111,208                   ; movdqa        %xmm8,%xmm10
+  DB  102,68,15,213,212                   ; pmullw        %xmm4,%xmm10
+  DB  102,68,15,111,220                   ; movdqa        %xmm4,%xmm11
+  DB  102,69,15,253,217                   ; paddw         %xmm9,%xmm11
+  DB  102,68,15,249,223                   ; psubw         %xmm7,%xmm11
+  DB  102,65,15,213,195                   ; pmullw        %xmm11,%xmm0
+  DB  102,69,15,253,209                   ; paddw         %xmm9,%xmm10
+  DB  102,65,15,253,194                   ; paddw         %xmm10,%xmm0
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,69,15,111,208                   ; movdqa        %xmm8,%xmm10
+  DB  102,68,15,213,213                   ; pmullw        %xmm5,%xmm10
+  DB  102,68,15,111,221                   ; movdqa        %xmm5,%xmm11
+  DB  102,69,15,253,217                   ; paddw         %xmm9,%xmm11
+  DB  102,68,15,249,223                   ; psubw         %xmm7,%xmm11
+  DB  102,65,15,213,203                   ; pmullw        %xmm11,%xmm1
+  DB  102,69,15,253,209                   ; paddw         %xmm9,%xmm10
+  DB  102,65,15,253,202                   ; paddw         %xmm10,%xmm1
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,69,15,111,208                   ; movdqa        %xmm8,%xmm10
+  DB  102,68,15,213,214                   ; pmullw        %xmm6,%xmm10
+  DB  102,68,15,111,222                   ; movdqa        %xmm6,%xmm11
+  DB  102,69,15,253,217                   ; paddw         %xmm9,%xmm11
+  DB  102,68,15,249,223                   ; psubw         %xmm7,%xmm11
+  DB  102,65,15,213,211                   ; pmullw        %xmm11,%xmm2
+  DB  102,69,15,253,209                   ; paddw         %xmm9,%xmm10
+  DB  102,65,15,253,210                   ; paddw         %xmm10,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,68,15,213,199                   ; pmullw        %xmm7,%xmm8
+  DB  102,65,15,213,217                   ; pmullw        %xmm9,%xmm3
+  DB  102,65,15,253,217                   ; paddw         %xmm9,%xmm3
+  DB  102,65,15,253,216                   ; paddw         %xmm8,%xmm3
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_plus__sse2_lowp
+_sk_plus__sse2_lowp LABEL PROC
+  DB  102,68,15,111,193                   ; movdqa        %xmm1,%xmm8
+  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
+  DB  102,15,253,204                      ; paddw         %xmm4,%xmm1
+  DB  102,68,15,111,21,243,85,0,0         ; movdqa        0x55f3(%rip),%xmm10        # 35ce0 <_sk_srcover_bgra_8888_sse2_lowp+0x14c8>
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,65,15,217,194                   ; psubusw       %xmm10,%xmm0
+  DB  102,69,15,239,228                   ; pxor          %xmm12,%xmm12
+  DB  102,65,15,117,196                   ; pcmpeqw       %xmm12,%xmm0
+  DB  102,68,15,111,29,71,77,0,0          ; movdqa        0x4d47(%rip),%xmm11        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,15,219,200                      ; pand          %xmm0,%xmm1
+  DB  102,65,15,223,195                   ; pandn         %xmm11,%xmm0
+  DB  102,15,235,193                      ; por           %xmm1,%xmm0
+  DB  102,68,15,253,197                   ; paddw         %xmm5,%xmm8
+  DB  102,65,15,111,200                   ; movdqa        %xmm8,%xmm1
+  DB  102,65,15,217,202                   ; psubusw       %xmm10,%xmm1
+  DB  102,65,15,117,204                   ; pcmpeqw       %xmm12,%xmm1
+  DB  102,68,15,219,193                   ; pand          %xmm1,%xmm8
+  DB  102,65,15,223,203                   ; pandn         %xmm11,%xmm1
+  DB  102,65,15,235,200                   ; por           %xmm8,%xmm1
+  DB  102,15,253,214                      ; paddw         %xmm6,%xmm2
+  DB  102,68,15,111,194                   ; movdqa        %xmm2,%xmm8
+  DB  102,69,15,217,194                   ; psubusw       %xmm10,%xmm8
+  DB  102,69,15,117,196                   ; pcmpeqw       %xmm12,%xmm8
+  DB  102,65,15,219,208                   ; pand          %xmm8,%xmm2
+  DB  102,69,15,223,195                   ; pandn         %xmm11,%xmm8
+  DB  102,68,15,235,194                   ; por           %xmm2,%xmm8
+  DB  102,15,253,223                      ; paddw         %xmm7,%xmm3
+  DB  102,68,15,111,203                   ; movdqa        %xmm3,%xmm9
+  DB  102,69,15,217,202                   ; psubusw       %xmm10,%xmm9
+  DB  102,69,15,117,204                   ; pcmpeqw       %xmm12,%xmm9
+  DB  102,65,15,219,217                   ; pand          %xmm9,%xmm3
+  DB  102,69,15,223,203                   ; pandn         %xmm11,%xmm9
+  DB  102,68,15,235,203                   ; por           %xmm3,%xmm9
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,65,15,111,208                   ; movdqa        %xmm8,%xmm2
+  DB  102,65,15,111,217                   ; movdqa        %xmm9,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_screen_sse2_lowp
+_sk_screen_sse2_lowp LABEL PROC
+  DB  102,68,15,111,193                   ; movdqa        %xmm1,%xmm8
+  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
+  DB  102,15,111,196                      ; movdqa        %xmm4,%xmm0
+  DB  102,15,253,193                      ; paddw         %xmm1,%xmm0
+  DB  102,15,213,204                      ; pmullw        %xmm4,%xmm1
+  DB  102,68,15,111,21,167,76,0,0         ; movdqa        0x4ca7(%rip),%xmm10        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,65,15,253,202                   ; paddw         %xmm10,%xmm1
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,249,193                      ; psubw         %xmm1,%xmm0
+  DB  102,15,111,205                      ; movdqa        %xmm5,%xmm1
+  DB  102,65,15,253,200                   ; paddw         %xmm8,%xmm1
+  DB  102,68,15,213,197                   ; pmullw        %xmm5,%xmm8
+  DB  102,69,15,253,194                   ; paddw         %xmm10,%xmm8
+  DB  102,65,15,113,208,8                 ; psrlw         $0x8,%xmm8
+  DB  102,65,15,249,200                   ; psubw         %xmm8,%xmm1
+  DB  102,68,15,111,198                   ; movdqa        %xmm6,%xmm8
+  DB  102,68,15,253,194                   ; paddw         %xmm2,%xmm8
+  DB  102,15,213,214                      ; pmullw        %xmm6,%xmm2
+  DB  102,65,15,253,210                   ; paddw         %xmm10,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,68,15,249,194                   ; psubw         %xmm2,%xmm8
+  DB  102,68,15,111,207                   ; movdqa        %xmm7,%xmm9
+  DB  102,68,15,253,203                   ; paddw         %xmm3,%xmm9
+  DB  102,15,213,223                      ; pmullw        %xmm7,%xmm3
+  DB  102,65,15,253,218                   ; paddw         %xmm10,%xmm3
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  102,68,15,249,203                   ; psubw         %xmm3,%xmm9
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,65,15,111,208                   ; movdqa        %xmm8,%xmm2
+  DB  102,65,15,111,217                   ; movdqa        %xmm9,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_xor__sse2_lowp
+_sk_xor__sse2_lowp LABEL PROC
+  DB  102,68,15,111,195                   ; movdqa        %xmm3,%xmm8
+  DB  102,68,15,111,13,37,76,0,0          ; movdqa        0x4c25(%rip),%xmm9        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,69,15,111,209                   ; movdqa        %xmm9,%xmm10
+  DB  102,68,15,249,215                   ; psubw         %xmm7,%xmm10
+  DB  102,65,15,213,194                   ; pmullw        %xmm10,%xmm0
+  DB  102,65,15,111,217                   ; movdqa        %xmm9,%xmm3
+  DB  102,65,15,249,216                   ; psubw         %xmm8,%xmm3
+  DB  102,68,15,111,219                   ; movdqa        %xmm3,%xmm11
+  DB  102,68,15,213,220                   ; pmullw        %xmm4,%xmm11
+  DB  102,65,15,253,195                   ; paddw         %xmm11,%xmm0
+  DB  102,65,15,253,193                   ; paddw         %xmm9,%xmm0
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,65,15,213,202                   ; pmullw        %xmm10,%xmm1
+  DB  102,68,15,111,219                   ; movdqa        %xmm3,%xmm11
+  DB  102,68,15,213,221                   ; pmullw        %xmm5,%xmm11
+  DB  102,65,15,253,203                   ; paddw         %xmm11,%xmm1
+  DB  102,65,15,253,201                   ; paddw         %xmm9,%xmm1
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,65,15,213,210                   ; pmullw        %xmm10,%xmm2
+  DB  102,68,15,111,219                   ; movdqa        %xmm3,%xmm11
+  DB  102,68,15,213,222                   ; pmullw        %xmm6,%xmm11
+  DB  102,65,15,253,211                   ; paddw         %xmm11,%xmm2
+  DB  102,65,15,253,209                   ; paddw         %xmm9,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,69,15,213,208                   ; pmullw        %xmm8,%xmm10
+  DB  102,15,213,223                      ; pmullw        %xmm7,%xmm3
+  DB  102,65,15,253,218                   ; paddw         %xmm10,%xmm3
+  DB  102,65,15,253,217                   ; paddw         %xmm9,%xmm3
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_darken_sse2_lowp
+_sk_darken_sse2_lowp LABEL PROC
+  DB  102,68,15,111,193                   ; movdqa        %xmm1,%xmm8
+  DB  102,68,15,111,208                   ; movdqa        %xmm0,%xmm10
+  DB  102,68,15,111,228                   ; movdqa        %xmm4,%xmm12
+  DB  102,15,111,196                      ; movdqa        %xmm4,%xmm0
+  DB  102,65,15,253,194                   ; paddw         %xmm10,%xmm0
+  DB  102,68,15,213,215                   ; pmullw        %xmm7,%xmm10
+  DB  102,68,15,213,227                   ; pmullw        %xmm3,%xmm12
+  DB  102,68,15,111,13,0,83,0,0           ; movdqa        0x5300(%rip),%xmm9        # 35be0 <_sk_srcover_bgra_8888_sse2_lowp+0x13c8>
+  DB  102,69,15,111,218                   ; movdqa        %xmm10,%xmm11
+  DB  102,69,15,239,217                   ; pxor          %xmm9,%xmm11
+  DB  102,65,15,111,204                   ; movdqa        %xmm12,%xmm1
+  DB  102,65,15,239,201                   ; pxor          %xmm9,%xmm1
+  DB  102,65,15,101,203                   ; pcmpgtw       %xmm11,%xmm1
+  DB  102,68,15,219,225                   ; pand          %xmm1,%xmm12
+  DB  102,65,15,223,202                   ; pandn         %xmm10,%xmm1
+  DB  102,65,15,235,204                   ; por           %xmm12,%xmm1
+  DB  102,68,15,111,21,63,75,0,0          ; movdqa        0x4b3f(%rip),%xmm10        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,65,15,253,202                   ; paddw         %xmm10,%xmm1
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,249,193                      ; psubw         %xmm1,%xmm0
+  DB  102,68,15,111,221                   ; movdqa        %xmm5,%xmm11
+  DB  102,15,111,205                      ; movdqa        %xmm5,%xmm1
+  DB  102,65,15,253,200                   ; paddw         %xmm8,%xmm1
+  DB  102,68,15,213,199                   ; pmullw        %xmm7,%xmm8
+  DB  102,68,15,213,219                   ; pmullw        %xmm3,%xmm11
+  DB  102,69,15,111,224                   ; movdqa        %xmm8,%xmm12
+  DB  102,69,15,239,225                   ; pxor          %xmm9,%xmm12
+  DB  102,69,15,111,235                   ; movdqa        %xmm11,%xmm13
+  DB  102,69,15,239,233                   ; pxor          %xmm9,%xmm13
+  DB  102,69,15,101,236                   ; pcmpgtw       %xmm12,%xmm13
+  DB  102,69,15,219,221                   ; pand          %xmm13,%xmm11
+  DB  102,69,15,223,232                   ; pandn         %xmm8,%xmm13
+  DB  102,69,15,235,235                   ; por           %xmm11,%xmm13
+  DB  102,69,15,253,234                   ; paddw         %xmm10,%xmm13
+  DB  102,65,15,113,213,8                 ; psrlw         $0x8,%xmm13
+  DB  102,65,15,249,205                   ; psubw         %xmm13,%xmm1
+  DB  102,68,15,111,222                   ; movdqa        %xmm6,%xmm11
+  DB  102,68,15,111,198                   ; movdqa        %xmm6,%xmm8
+  DB  102,68,15,253,194                   ; paddw         %xmm2,%xmm8
+  DB  102,15,213,215                      ; pmullw        %xmm7,%xmm2
+  DB  102,68,15,213,219                   ; pmullw        %xmm3,%xmm11
+  DB  102,68,15,111,226                   ; movdqa        %xmm2,%xmm12
+  DB  102,69,15,239,225                   ; pxor          %xmm9,%xmm12
+  DB  102,69,15,239,203                   ; pxor          %xmm11,%xmm9
+  DB  102,69,15,101,204                   ; pcmpgtw       %xmm12,%xmm9
+  DB  102,69,15,219,217                   ; pand          %xmm9,%xmm11
+  DB  102,68,15,223,202                   ; pandn         %xmm2,%xmm9
+  DB  102,69,15,235,203                   ; por           %xmm11,%xmm9
+  DB  102,69,15,253,202                   ; paddw         %xmm10,%xmm9
+  DB  102,65,15,113,209,8                 ; psrlw         $0x8,%xmm9
+  DB  102,69,15,249,193                   ; psubw         %xmm9,%xmm8
+  DB  102,65,15,111,210                   ; movdqa        %xmm10,%xmm2
+  DB  102,15,249,211                      ; psubw         %xmm3,%xmm2
+  DB  102,15,213,215                      ; pmullw        %xmm7,%xmm2
+  DB  102,65,15,253,210                   ; paddw         %xmm10,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,253,218                      ; paddw         %xmm2,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,65,15,111,208                   ; movdqa        %xmm8,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_lighten_sse2_lowp
+_sk_lighten_sse2_lowp LABEL PROC
+  DB  102,68,15,111,193                   ; movdqa        %xmm1,%xmm8
+  DB  102,68,15,111,224                   ; movdqa        %xmm0,%xmm12
+  DB  102,68,15,111,212                   ; movdqa        %xmm4,%xmm10
+  DB  102,15,111,196                      ; movdqa        %xmm4,%xmm0
+  DB  102,65,15,253,196                   ; paddw         %xmm12,%xmm0
+  DB  102,68,15,213,231                   ; pmullw        %xmm7,%xmm12
+  DB  102,68,15,213,211                   ; pmullw        %xmm3,%xmm10
+  DB  102,68,15,111,13,215,81,0,0         ; movdqa        0x51d7(%rip),%xmm9        # 35be0 <_sk_srcover_bgra_8888_sse2_lowp+0x13c8>
+  DB  102,69,15,111,220                   ; movdqa        %xmm12,%xmm11
+  DB  102,69,15,239,217                   ; pxor          %xmm9,%xmm11
+  DB  102,65,15,111,202                   ; movdqa        %xmm10,%xmm1
+  DB  102,65,15,239,201                   ; pxor          %xmm9,%xmm1
+  DB  102,65,15,101,203                   ; pcmpgtw       %xmm11,%xmm1
+  DB  102,68,15,219,225                   ; pand          %xmm1,%xmm12
+  DB  102,65,15,223,202                   ; pandn         %xmm10,%xmm1
+  DB  102,65,15,235,204                   ; por           %xmm12,%xmm1
+  DB  102,68,15,111,21,22,74,0,0          ; movdqa        0x4a16(%rip),%xmm10        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,65,15,253,202                   ; paddw         %xmm10,%xmm1
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,249,193                      ; psubw         %xmm1,%xmm0
+  DB  102,68,15,111,221                   ; movdqa        %xmm5,%xmm11
+  DB  102,15,111,205                      ; movdqa        %xmm5,%xmm1
+  DB  102,65,15,253,200                   ; paddw         %xmm8,%xmm1
+  DB  102,68,15,213,199                   ; pmullw        %xmm7,%xmm8
+  DB  102,68,15,213,219                   ; pmullw        %xmm3,%xmm11
+  DB  102,69,15,111,224                   ; movdqa        %xmm8,%xmm12
+  DB  102,69,15,239,225                   ; pxor          %xmm9,%xmm12
+  DB  102,69,15,111,235                   ; movdqa        %xmm11,%xmm13
+  DB  102,69,15,239,233                   ; pxor          %xmm9,%xmm13
+  DB  102,69,15,101,236                   ; pcmpgtw       %xmm12,%xmm13
+  DB  102,69,15,219,197                   ; pand          %xmm13,%xmm8
+  DB  102,69,15,223,235                   ; pandn         %xmm11,%xmm13
+  DB  102,69,15,235,232                   ; por           %xmm8,%xmm13
+  DB  102,69,15,253,234                   ; paddw         %xmm10,%xmm13
+  DB  102,65,15,113,213,8                 ; psrlw         $0x8,%xmm13
+  DB  102,65,15,249,205                   ; psubw         %xmm13,%xmm1
+  DB  102,68,15,111,222                   ; movdqa        %xmm6,%xmm11
+  DB  102,68,15,111,198                   ; movdqa        %xmm6,%xmm8
+  DB  102,68,15,253,194                   ; paddw         %xmm2,%xmm8
+  DB  102,15,213,215                      ; pmullw        %xmm7,%xmm2
+  DB  102,68,15,213,219                   ; pmullw        %xmm3,%xmm11
+  DB  102,68,15,111,226                   ; movdqa        %xmm2,%xmm12
+  DB  102,69,15,239,225                   ; pxor          %xmm9,%xmm12
+  DB  102,69,15,239,203                   ; pxor          %xmm11,%xmm9
+  DB  102,69,15,101,204                   ; pcmpgtw       %xmm12,%xmm9
+  DB  102,65,15,219,209                   ; pand          %xmm9,%xmm2
+  DB  102,69,15,223,203                   ; pandn         %xmm11,%xmm9
+  DB  102,68,15,235,202                   ; por           %xmm2,%xmm9
+  DB  102,69,15,253,202                   ; paddw         %xmm10,%xmm9
+  DB  102,65,15,113,209,8                 ; psrlw         $0x8,%xmm9
+  DB  102,69,15,249,193                   ; psubw         %xmm9,%xmm8
+  DB  102,65,15,111,210                   ; movdqa        %xmm10,%xmm2
+  DB  102,15,249,211                      ; psubw         %xmm3,%xmm2
+  DB  102,15,213,215                      ; pmullw        %xmm7,%xmm2
+  DB  102,65,15,253,210                   ; paddw         %xmm10,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,253,218                      ; paddw         %xmm2,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,65,15,111,208                   ; movdqa        %xmm8,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_difference_sse2_lowp
+_sk_difference_sse2_lowp LABEL PROC
+  DB  102,68,15,111,193                   ; movdqa        %xmm1,%xmm8
+  DB  102,68,15,111,224                   ; movdqa        %xmm0,%xmm12
+  DB  102,68,15,111,212                   ; movdqa        %xmm4,%xmm10
+  DB  102,15,111,196                      ; movdqa        %xmm4,%xmm0
+  DB  102,65,15,253,196                   ; paddw         %xmm12,%xmm0
+  DB  102,68,15,213,231                   ; pmullw        %xmm7,%xmm12
+  DB  102,68,15,213,211                   ; pmullw        %xmm3,%xmm10
+  DB  102,68,15,111,13,174,80,0,0         ; movdqa        0x50ae(%rip),%xmm9        # 35be0 <_sk_srcover_bgra_8888_sse2_lowp+0x13c8>
+  DB  102,69,15,111,220                   ; movdqa        %xmm12,%xmm11
+  DB  102,69,15,239,217                   ; pxor          %xmm9,%xmm11
+  DB  102,65,15,111,202                   ; movdqa        %xmm10,%xmm1
+  DB  102,65,15,239,201                   ; pxor          %xmm9,%xmm1
+  DB  102,65,15,101,203                   ; pcmpgtw       %xmm11,%xmm1
+  DB  102,68,15,219,225                   ; pand          %xmm1,%xmm12
+  DB  102,65,15,223,202                   ; pandn         %xmm10,%xmm1
+  DB  102,65,15,235,204                   ; por           %xmm12,%xmm1
+  DB  102,68,15,111,21,237,72,0,0         ; movdqa        0x48ed(%rip),%xmm10        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,65,15,253,202                   ; paddw         %xmm10,%xmm1
+  DB  102,15,113,209,7                    ; psrlw         $0x7,%xmm1
+  DB  102,68,15,111,29,90,80,0,0          ; movdqa        0x505a(%rip),%xmm11        # 35bd0 <_sk_srcover_bgra_8888_sse2_lowp+0x13b8>
+  DB  102,65,15,219,203                   ; pand          %xmm11,%xmm1
+  DB  102,15,249,193                      ; psubw         %xmm1,%xmm0
+  DB  102,68,15,111,229                   ; movdqa        %xmm5,%xmm12
+  DB  102,15,111,205                      ; movdqa        %xmm5,%xmm1
+  DB  102,65,15,253,200                   ; paddw         %xmm8,%xmm1
+  DB  102,68,15,213,199                   ; pmullw        %xmm7,%xmm8
+  DB  102,68,15,213,227                   ; pmullw        %xmm3,%xmm12
+  DB  102,69,15,111,232                   ; movdqa        %xmm8,%xmm13
+  DB  102,69,15,239,233                   ; pxor          %xmm9,%xmm13
+  DB  102,69,15,111,244                   ; movdqa        %xmm12,%xmm14
+  DB  102,69,15,239,241                   ; pxor          %xmm9,%xmm14
+  DB  102,69,15,101,245                   ; pcmpgtw       %xmm13,%xmm14
+  DB  102,69,15,219,198                   ; pand          %xmm14,%xmm8
+  DB  102,69,15,223,244                   ; pandn         %xmm12,%xmm14
+  DB  102,69,15,235,240                   ; por           %xmm8,%xmm14
+  DB  102,69,15,253,242                   ; paddw         %xmm10,%xmm14
+  DB  102,65,15,113,214,7                 ; psrlw         $0x7,%xmm14
+  DB  102,69,15,219,243                   ; pand          %xmm11,%xmm14
+  DB  102,65,15,249,206                   ; psubw         %xmm14,%xmm1
+  DB  102,68,15,111,230                   ; movdqa        %xmm6,%xmm12
+  DB  102,68,15,111,198                   ; movdqa        %xmm6,%xmm8
+  DB  102,68,15,253,194                   ; paddw         %xmm2,%xmm8
+  DB  102,15,213,215                      ; pmullw        %xmm7,%xmm2
+  DB  102,68,15,213,227                   ; pmullw        %xmm3,%xmm12
+  DB  102,68,15,111,234                   ; movdqa        %xmm2,%xmm13
+  DB  102,69,15,239,233                   ; pxor          %xmm9,%xmm13
+  DB  102,69,15,239,204                   ; pxor          %xmm12,%xmm9
+  DB  102,69,15,101,205                   ; pcmpgtw       %xmm13,%xmm9
+  DB  102,65,15,219,209                   ; pand          %xmm9,%xmm2
+  DB  102,69,15,223,204                   ; pandn         %xmm12,%xmm9
+  DB  102,68,15,235,202                   ; por           %xmm2,%xmm9
+  DB  102,69,15,253,202                   ; paddw         %xmm10,%xmm9
+  DB  102,65,15,113,209,7                 ; psrlw         $0x7,%xmm9
+  DB  102,69,15,219,203                   ; pand          %xmm11,%xmm9
+  DB  102,69,15,249,193                   ; psubw         %xmm9,%xmm8
+  DB  102,65,15,111,210                   ; movdqa        %xmm10,%xmm2
+  DB  102,15,249,211                      ; psubw         %xmm3,%xmm2
+  DB  102,15,213,215                      ; pmullw        %xmm7,%xmm2
+  DB  102,65,15,253,210                   ; paddw         %xmm10,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,253,218                      ; paddw         %xmm2,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,65,15,111,208                   ; movdqa        %xmm8,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_exclusion_sse2_lowp
+_sk_exclusion_sse2_lowp LABEL PROC
+  DB  102,68,15,111,193                   ; movdqa        %xmm1,%xmm8
+  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
+  DB  102,15,111,196                      ; movdqa        %xmm4,%xmm0
+  DB  102,15,253,193                      ; paddw         %xmm1,%xmm0
+  DB  102,15,213,204                      ; pmullw        %xmm4,%xmm1
+  DB  102,68,15,111,13,234,71,0,0         ; movdqa        0x47ea(%rip),%xmm9        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,65,15,253,201                   ; paddw         %xmm9,%xmm1
+  DB  102,15,113,209,7                    ; psrlw         $0x7,%xmm1
+  DB  102,68,15,111,21,87,79,0,0          ; movdqa        0x4f57(%rip),%xmm10        # 35bd0 <_sk_srcover_bgra_8888_sse2_lowp+0x13b8>
+  DB  102,65,15,219,202                   ; pand          %xmm10,%xmm1
+  DB  102,15,249,193                      ; psubw         %xmm1,%xmm0
+  DB  102,15,111,205                      ; movdqa        %xmm5,%xmm1
+  DB  102,65,15,253,200                   ; paddw         %xmm8,%xmm1
+  DB  102,68,15,213,197                   ; pmullw        %xmm5,%xmm8
+  DB  102,69,15,253,193                   ; paddw         %xmm9,%xmm8
+  DB  102,65,15,113,208,7                 ; psrlw         $0x7,%xmm8
+  DB  102,69,15,219,194                   ; pand          %xmm10,%xmm8
+  DB  102,65,15,249,200                   ; psubw         %xmm8,%xmm1
+  DB  102,68,15,111,198                   ; movdqa        %xmm6,%xmm8
+  DB  102,68,15,253,194                   ; paddw         %xmm2,%xmm8
+  DB  102,15,213,214                      ; pmullw        %xmm6,%xmm2
+  DB  102,65,15,253,209                   ; paddw         %xmm9,%xmm2
+  DB  102,15,113,210,7                    ; psrlw         $0x7,%xmm2
+  DB  102,65,15,219,210                   ; pand          %xmm10,%xmm2
+  DB  102,68,15,249,194                   ; psubw         %xmm2,%xmm8
+  DB  102,65,15,111,209                   ; movdqa        %xmm9,%xmm2
+  DB  102,15,249,211                      ; psubw         %xmm3,%xmm2
+  DB  102,15,213,215                      ; pmullw        %xmm7,%xmm2
+  DB  102,65,15,253,209                   ; paddw         %xmm9,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,253,218                      ; paddw         %xmm2,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,65,15,111,208                   ; movdqa        %xmm8,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_hardlight_sse2_lowp
+_sk_hardlight_sse2_lowp LABEL PROC
+  DB  72,131,236,24                       ; sub           $0x18,%rsp
+  DB  15,41,52,36                         ; movaps        %xmm6,(%rsp)
+  DB  102,15,111,245                      ; movdqa        %xmm5,%xmm6
+  DB  102,15,111,236                      ; movdqa        %xmm4,%xmm5
+  DB  102,68,15,111,194                   ; movdqa        %xmm2,%xmm8
+  DB  102,68,15,111,200                   ; movdqa        %xmm0,%xmm9
+  DB  102,15,111,21,67,71,0,0             ; movdqa        0x4743(%rip),%xmm2        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,68,15,111,226                   ; movdqa        %xmm2,%xmm12
+  DB  102,68,15,249,231                   ; psubw         %xmm7,%xmm12
+  DB  102,65,15,111,196                   ; movdqa        %xmm12,%xmm0
+  DB  102,65,15,213,193                   ; pmullw        %xmm9,%xmm0
+  DB  102,68,15,111,218                   ; movdqa        %xmm2,%xmm11
+  DB  102,68,15,249,219                   ; psubw         %xmm3,%xmm11
+  DB  102,69,15,111,251                   ; movdqa        %xmm11,%xmm15
+  DB  102,68,15,213,253                   ; pmullw        %xmm5,%xmm15
+  DB  102,68,15,253,248                   ; paddw         %xmm0,%xmm15
+  DB  102,68,15,111,243                   ; movdqa        %xmm3,%xmm14
+  DB  102,69,15,249,241                   ; psubw         %xmm9,%xmm14
+  DB  102,69,15,253,201                   ; paddw         %xmm9,%xmm9
+  DB  102,15,111,21,143,78,0,0            ; movdqa        0x4e8f(%rip),%xmm2        # 35be0 <_sk_srcover_bgra_8888_sse2_lowp+0x13c8>
+  DB  102,15,111,199                      ; movdqa        %xmm7,%xmm0
+  DB  102,68,15,111,215                   ; movdqa        %xmm7,%xmm10
+  DB  102,15,111,231                      ; movdqa        %xmm7,%xmm4
+  DB  102,68,15,213,211                   ; pmullw        %xmm3,%xmm10
+  DB  102,15,249,197                      ; psubw         %xmm5,%xmm0
+  DB  102,65,15,213,198                   ; pmullw        %xmm14,%xmm0
+  DB  102,15,253,192                      ; paddw         %xmm0,%xmm0
+  DB  102,69,15,111,234                   ; movdqa        %xmm10,%xmm13
+  DB  102,68,15,249,232                   ; psubw         %xmm0,%xmm13
+  DB  102,68,15,111,243                   ; movdqa        %xmm3,%xmm14
+  DB  102,68,15,239,242                   ; pxor          %xmm2,%xmm14
+  DB  102,65,15,111,193                   ; movdqa        %xmm9,%xmm0
+  DB  102,15,239,194                      ; pxor          %xmm2,%xmm0
+  DB  102,65,15,101,198                   ; pcmpgtw       %xmm14,%xmm0
+  DB  102,68,15,213,205                   ; pmullw        %xmm5,%xmm9
+  DB  102,68,15,219,232                   ; pand          %xmm0,%xmm13
+  DB  102,65,15,223,193                   ; pandn         %xmm9,%xmm0
+  DB  102,65,15,235,197                   ; por           %xmm13,%xmm0
+  DB  102,15,253,5,162,70,0,0             ; paddw         0x46a2(%rip),%xmm0        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,65,15,253,199                   ; paddw         %xmm15,%xmm0
+  DB  102,69,15,111,204                   ; movdqa        %xmm12,%xmm9
+  DB  102,68,15,213,201                   ; pmullw        %xmm1,%xmm9
+  DB  102,69,15,111,235                   ; movdqa        %xmm11,%xmm13
+  DB  102,68,15,213,238                   ; pmullw        %xmm6,%xmm13
+  DB  102,69,15,253,233                   ; paddw         %xmm9,%xmm13
+  DB  102,68,15,111,203                   ; movdqa        %xmm3,%xmm9
+  DB  102,68,15,249,201                   ; psubw         %xmm1,%xmm9
+  DB  102,68,15,111,252                   ; movdqa        %xmm4,%xmm15
+  DB  102,68,15,249,254                   ; psubw         %xmm6,%xmm15
+  DB  102,69,15,213,249                   ; pmullw        %xmm9,%xmm15
+  DB  102,69,15,253,255                   ; paddw         %xmm15,%xmm15
+  DB  102,65,15,111,250                   ; movdqa        %xmm10,%xmm7
+  DB  102,65,15,249,255                   ; psubw         %xmm15,%xmm7
+  DB  102,15,253,201                      ; paddw         %xmm1,%xmm1
+  DB  102,68,15,111,201                   ; movdqa        %xmm1,%xmm9
+  DB  102,68,15,239,202                   ; pxor          %xmm2,%xmm9
+  DB  102,69,15,101,206                   ; pcmpgtw       %xmm14,%xmm9
+  DB  102,15,213,206                      ; pmullw        %xmm6,%xmm1
+  DB  102,65,15,219,249                   ; pand          %xmm9,%xmm7
+  DB  102,68,15,223,201                   ; pandn         %xmm1,%xmm9
+  DB  102,68,15,235,207                   ; por           %xmm7,%xmm9
+  DB  102,68,15,253,13,45,70,0,0          ; paddw         0x462d(%rip),%xmm9        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,69,15,253,205                   ; paddw         %xmm13,%xmm9
+  DB  102,69,15,213,224                   ; pmullw        %xmm8,%xmm12
+  DB  102,69,15,111,251                   ; movdqa        %xmm11,%xmm15
+  DB  102,15,111,12,36                    ; movdqa        (%rsp),%xmm1
+  DB  102,68,15,213,249                   ; pmullw        %xmm1,%xmm15
+  DB  102,69,15,253,252                   ; paddw         %xmm12,%xmm15
+  DB  102,68,15,111,227                   ; movdqa        %xmm3,%xmm12
+  DB  102,69,15,249,224                   ; psubw         %xmm8,%xmm12
+  DB  102,69,15,253,192                   ; paddw         %xmm8,%xmm8
+  DB  102,65,15,239,208                   ; pxor          %xmm8,%xmm2
+  DB  102,65,15,101,214                   ; pcmpgtw       %xmm14,%xmm2
+  DB  102,15,111,252                      ; movdqa        %xmm4,%xmm7
+  DB  102,15,249,249                      ; psubw         %xmm1,%xmm7
+  DB  102,65,15,213,252                   ; pmullw        %xmm12,%xmm7
+  DB  102,15,253,255                      ; paddw         %xmm7,%xmm7
+  DB  102,68,15,249,215                   ; psubw         %xmm7,%xmm10
+  DB  102,68,15,213,193                   ; pmullw        %xmm1,%xmm8
+  DB  102,68,15,111,225                   ; movdqa        %xmm1,%xmm12
+  DB  102,68,15,219,210                   ; pand          %xmm2,%xmm10
+  DB  102,65,15,223,208                   ; pandn         %xmm8,%xmm2
+  DB  102,65,15,235,210                   ; por           %xmm10,%xmm2
+  DB  102,68,15,111,5,190,69,0,0          ; movdqa        0x45be(%rip),%xmm8        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,65,15,253,208                   ; paddw         %xmm8,%xmm2
+  DB  102,65,15,253,215                   ; paddw         %xmm15,%xmm2
+  DB  102,68,15,213,220                   ; pmullw        %xmm4,%xmm11
+  DB  102,69,15,253,216                   ; paddw         %xmm8,%xmm11
+  DB  102,65,15,113,211,8                 ; psrlw         $0x8,%xmm11
+  DB  102,65,15,253,219                   ; paddw         %xmm11,%xmm3
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,65,15,113,209,8                 ; psrlw         $0x8,%xmm9
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,15,111,252                      ; movdqa        %xmm4,%xmm7
+  DB  102,65,15,111,201                   ; movdqa        %xmm9,%xmm1
+  DB  102,15,111,229                      ; movdqa        %xmm5,%xmm4
+  DB  102,15,111,238                      ; movdqa        %xmm6,%xmm5
+  DB  102,65,15,111,244                   ; movdqa        %xmm12,%xmm6
+  DB  72,131,196,24                       ; add           $0x18,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_overlay_sse2_lowp
+_sk_overlay_sse2_lowp LABEL PROC
+  DB  72,131,236,40                       ; sub           $0x28,%rsp
+  DB  102,68,15,111,247                   ; movdqa        %xmm7,%xmm14
+  DB  15,41,52,36                         ; movaps        %xmm6,(%rsp)
+  DB  102,15,111,252                      ; movdqa        %xmm4,%xmm7
+  DB  102,15,127,124,36,16                ; movdqa        %xmm7,0x10(%rsp)
+  DB  102,68,15,111,193                   ; movdqa        %xmm1,%xmm8
+  DB  102,68,15,111,248                   ; movdqa        %xmm0,%xmm15
+  DB  102,15,111,53,72,69,0,0             ; movdqa        0x4548(%rip),%xmm6        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,68,15,111,222                   ; movdqa        %xmm6,%xmm11
+  DB  102,69,15,249,222                   ; psubw         %xmm14,%xmm11
+  DB  102,65,15,111,203                   ; movdqa        %xmm11,%xmm1
+  DB  102,65,15,213,207                   ; pmullw        %xmm15,%xmm1
+  DB  102,68,15,111,214                   ; movdqa        %xmm6,%xmm10
+  DB  102,68,15,249,211                   ; psubw         %xmm3,%xmm10
+  DB  102,65,15,111,194                   ; movdqa        %xmm10,%xmm0
+  DB  102,15,213,199                      ; pmullw        %xmm7,%xmm0
+  DB  102,15,253,193                      ; paddw         %xmm1,%xmm0
+  DB  102,68,15,111,235                   ; movdqa        %xmm3,%xmm13
+  DB  102,69,15,249,239                   ; psubw         %xmm15,%xmm13
+  DB  102,68,15,213,255                   ; pmullw        %xmm7,%xmm15
+  DB  102,65,15,111,206                   ; movdqa        %xmm14,%xmm1
+  DB  102,15,249,207                      ; psubw         %xmm7,%xmm1
+  DB  102,15,253,255                      ; paddw         %xmm7,%xmm7
+  DB  102,69,15,111,206                   ; movdqa        %xmm14,%xmm9
+  DB  102,68,15,213,203                   ; pmullw        %xmm3,%xmm9
+  DB  102,65,15,213,205                   ; pmullw        %xmm13,%xmm1
+  DB  102,15,253,201                      ; paddw         %xmm1,%xmm1
+  DB  102,69,15,111,225                   ; movdqa        %xmm9,%xmm12
+  DB  102,68,15,249,225                   ; psubw         %xmm1,%xmm12
+  DB  102,15,111,13,108,76,0,0            ; movdqa        0x4c6c(%rip),%xmm1        # 35be0 <_sk_srcover_bgra_8888_sse2_lowp+0x13c8>
+  DB  102,69,15,111,238                   ; movdqa        %xmm14,%xmm13
+  DB  102,68,15,239,233                   ; pxor          %xmm1,%xmm13
+  DB  102,15,239,249                      ; pxor          %xmm1,%xmm7
+  DB  102,65,15,101,253                   ; pcmpgtw       %xmm13,%xmm7
+  DB  102,69,15,253,255                   ; paddw         %xmm15,%xmm15
+  DB  102,68,15,219,231                   ; pand          %xmm7,%xmm12
+  DB  102,65,15,223,255                   ; pandn         %xmm15,%xmm7
+  DB  102,65,15,235,252                   ; por           %xmm12,%xmm7
+  DB  102,15,253,254                      ; paddw         %xmm6,%xmm7
+  DB  102,15,253,199                      ; paddw         %xmm7,%xmm0
+  DB  102,65,15,111,227                   ; movdqa        %xmm11,%xmm4
+  DB  102,65,15,213,224                   ; pmullw        %xmm8,%xmm4
+  DB  102,65,15,111,202                   ; movdqa        %xmm10,%xmm1
+  DB  102,15,213,205                      ; pmullw        %xmm5,%xmm1
+  DB  102,15,253,204                      ; paddw         %xmm4,%xmm1
+  DB  102,68,15,111,227                   ; movdqa        %xmm3,%xmm12
+  DB  102,69,15,249,224                   ; psubw         %xmm8,%xmm12
+  DB  102,65,15,111,230                   ; movdqa        %xmm14,%xmm4
+  DB  102,15,249,229                      ; psubw         %xmm5,%xmm4
+  DB  102,65,15,213,228                   ; pmullw        %xmm12,%xmm4
+  DB  102,15,253,228                      ; paddw         %xmm4,%xmm4
+  DB  102,69,15,111,225                   ; movdqa        %xmm9,%xmm12
+  DB  102,68,15,249,228                   ; psubw         %xmm4,%xmm12
+  DB  102,68,15,213,197                   ; pmullw        %xmm5,%xmm8
+  DB  102,15,111,229                      ; movdqa        %xmm5,%xmm4
+  DB  102,15,253,228                      ; paddw         %xmm4,%xmm4
+  DB  102,15,111,61,235,75,0,0            ; movdqa        0x4beb(%rip),%xmm7        # 35be0 <_sk_srcover_bgra_8888_sse2_lowp+0x13c8>
+  DB  102,15,239,231                      ; pxor          %xmm7,%xmm4
+  DB  102,65,15,101,229                   ; pcmpgtw       %xmm13,%xmm4
+  DB  102,69,15,253,192                   ; paddw         %xmm8,%xmm8
+  DB  102,68,15,219,228                   ; pand          %xmm4,%xmm12
+  DB  102,65,15,223,224                   ; pandn         %xmm8,%xmm4
+  DB  102,65,15,235,228                   ; por           %xmm12,%xmm4
+  DB  102,15,253,230                      ; paddw         %xmm6,%xmm4
+  DB  102,68,15,111,230                   ; movdqa        %xmm6,%xmm12
+  DB  102,15,253,204                      ; paddw         %xmm4,%xmm1
+  DB  102,68,15,213,218                   ; pmullw        %xmm2,%xmm11
+  DB  102,69,15,111,194                   ; movdqa        %xmm10,%xmm8
+  DB  102,15,111,52,36                    ; movdqa        (%rsp),%xmm6
+  DB  102,68,15,213,198                   ; pmullw        %xmm6,%xmm8
+  DB  102,69,15,253,195                   ; paddw         %xmm11,%xmm8
+  DB  102,15,111,230                      ; movdqa        %xmm6,%xmm4
+  DB  102,15,253,228                      ; paddw         %xmm4,%xmm4
+  DB  102,15,239,231                      ; pxor          %xmm7,%xmm4
+  DB  102,69,15,111,222                   ; movdqa        %xmm14,%xmm11
+  DB  102,68,15,249,222                   ; psubw         %xmm6,%xmm11
+  DB  102,65,15,101,229                   ; pcmpgtw       %xmm13,%xmm4
+  DB  102,15,111,251                      ; movdqa        %xmm3,%xmm7
+  DB  102,15,249,250                      ; psubw         %xmm2,%xmm7
+  DB  102,68,15,213,223                   ; pmullw        %xmm7,%xmm11
+  DB  102,69,15,253,219                   ; paddw         %xmm11,%xmm11
+  DB  102,69,15,249,203                   ; psubw         %xmm11,%xmm9
+  DB  102,15,213,214                      ; pmullw        %xmm6,%xmm2
+  DB  102,15,253,210                      ; paddw         %xmm2,%xmm2
+  DB  102,68,15,219,204                   ; pand          %xmm4,%xmm9
+  DB  102,15,223,226                      ; pandn         %xmm2,%xmm4
+  DB  102,65,15,235,225                   ; por           %xmm9,%xmm4
+  DB  102,65,15,111,212                   ; movdqa        %xmm12,%xmm2
+  DB  102,15,253,226                      ; paddw         %xmm2,%xmm4
+  DB  102,68,15,253,196                   ; paddw         %xmm4,%xmm8
+  DB  102,69,15,213,214                   ; pmullw        %xmm14,%xmm10
+  DB  102,68,15,253,210                   ; paddw         %xmm2,%xmm10
+  DB  102,65,15,113,210,8                 ; psrlw         $0x8,%xmm10
+  DB  102,65,15,253,218                   ; paddw         %xmm10,%xmm3
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,65,15,113,208,8                 ; psrlw         $0x8,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,100,36,16                     ; movaps        0x10(%rsp),%xmm4
+  DB  102,65,15,111,254                   ; movdqa        %xmm14,%xmm7
+  DB  102,65,15,111,208                   ; movdqa        %xmm8,%xmm2
+  DB  72,131,196,40                       ; add           $0x28,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_load_8888_sse2_lowp
+_sk_load_8888_sse2_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,41                              ; ja            3110e <_sk_load_8888_sse2_lowp+0x44>
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,24,1,0,0                  ; lea           0x118(%rip),%r9        # 3120c <_sk_load_8888_sse2_lowp+0x142>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  255,224                             ; jmpq          *%rax
+  DB  243,65,15,16,28,144                 ; movss         (%r8,%rdx,4),%xmm3
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  235,102                             ; jmp           31174 <_sk_load_8888_sse2_lowp+0xaa>
+  DB  102,65,15,16,28,144                 ; movupd        (%r8,%rdx,4),%xmm3
+  DB  243,69,15,111,68,144,16             ; movdqu        0x10(%r8,%rdx,4),%xmm8
+  DB  235,87                              ; jmp           31174 <_sk_load_8888_sse2_lowp+0xaa>
+  DB  102,65,15,110,68,144,8              ; movd          0x8(%r8,%rdx,4),%xmm0
+  DB  102,68,15,112,192,69                ; pshufd        $0x45,%xmm0,%xmm8
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  102,69,15,18,4,144                  ; movlpd        (%r8,%rdx,4),%xmm8
+  DB  102,65,15,40,216                    ; movapd        %xmm8,%xmm3
+  DB  102,68,15,111,192                   ; movdqa        %xmm0,%xmm8
+  DB  235,52                              ; jmp           31174 <_sk_load_8888_sse2_lowp+0xaa>
+  DB  102,65,15,110,68,144,24             ; movd          0x18(%r8,%rdx,4),%xmm0
+  DB  102,68,15,112,192,69                ; pshufd        $0x45,%xmm0,%xmm8
+  DB  243,65,15,16,68,144,20              ; movss         0x14(%r8,%rdx,4),%xmm0
+  DB  65,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm0
+  DB  65,15,198,192,226                   ; shufps        $0xe2,%xmm8,%xmm0
+  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
+  DB  243,65,15,16,68,144,16              ; movss         0x10(%r8,%rdx,4),%xmm0
+  DB  243,68,15,16,192                    ; movss         %xmm0,%xmm8
+  DB  102,65,15,16,28,144                 ; movupd        (%r8,%rdx,4),%xmm3
+  DB  102,15,40,203                       ; movapd        %xmm3,%xmm1
+  DB  102,15,114,241,16                   ; pslld         $0x10,%xmm1
+  DB  102,15,114,225,16                   ; psrad         $0x10,%xmm1
+  DB  102,65,15,111,192                   ; movdqa        %xmm8,%xmm0
+  DB  102,15,114,240,16                   ; pslld         $0x10,%xmm0
+  DB  102,15,114,224,16                   ; psrad         $0x10,%xmm0
+  DB  102,15,107,200                      ; packssdw      %xmm0,%xmm1
+  DB  102,68,15,111,13,178,66,0,0         ; movdqa        0x42b2(%rip),%xmm9        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,65,15,219,193                   ; pand          %xmm9,%xmm0
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,69,15,111,208                   ; movdqa        %xmm8,%xmm10
+  DB  102,65,15,114,210,16                ; psrld         $0x10,%xmm10
+  DB  102,15,40,211                       ; movapd        %xmm3,%xmm2
+  DB  102,15,114,210,16                   ; psrld         $0x10,%xmm2
+  DB  102,15,114,211,24                   ; psrld         $0x18,%xmm3
+  DB  102,15,114,243,16                   ; pslld         $0x10,%xmm3
+  DB  102,15,114,227,16                   ; psrad         $0x10,%xmm3
+  DB  102,65,15,114,208,24                ; psrld         $0x18,%xmm8
+  DB  102,65,15,114,240,16                ; pslld         $0x10,%xmm8
+  DB  102,65,15,114,224,16                ; psrad         $0x10,%xmm8
+  DB  102,65,15,107,216                   ; packssdw      %xmm8,%xmm3
+  DB  102,15,114,242,16                   ; pslld         $0x10,%xmm2
+  DB  102,15,114,226,16                   ; psrad         $0x10,%xmm2
+  DB  102,65,15,114,242,16                ; pslld         $0x10,%xmm10
+  DB  102,65,15,114,226,16                ; psrad         $0x10,%xmm10
+  DB  102,65,15,107,210                   ; packssdw      %xmm10,%xmm2
+  DB  102,65,15,219,209                   ; pand          %xmm9,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  245                                 ; cmc
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,34                              ; jmpq          *(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,17                              ; callq         *(%rcx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,98,255                          ; jmpq          *-0x1(%rdx)
+  DB  255                                 ; (bad)
+  DB  255,86,255                          ; callq         *-0x1(%rsi)
+  DB  255                                 ; (bad)
+  DB  255,65,255                          ; incl          -0x1(%rcx)
+  DB  255                                 ; (bad)
+  DB  255,52,255                          ; pushq         (%rdi,%rdi,8)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_8888_dst_sse2_lowp
+_sk_load_8888_dst_sse2_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,41                              ; ja            3126c <_sk_load_8888_dst_sse2_lowp+0x44>
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,22,1,0,0                  ; lea           0x116(%rip),%r9        # 31368 <_sk_load_8888_dst_sse2_lowp+0x140>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  255,224                             ; jmpq          *%rax
+  DB  243,65,15,16,60,144                 ; movss         (%r8,%rdx,4),%xmm7
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  235,102                             ; jmp           312d2 <_sk_load_8888_dst_sse2_lowp+0xaa>
+  DB  102,65,15,16,60,144                 ; movupd        (%r8,%rdx,4),%xmm7
+  DB  243,69,15,111,68,144,16             ; movdqu        0x10(%r8,%rdx,4),%xmm8
+  DB  235,87                              ; jmp           312d2 <_sk_load_8888_dst_sse2_lowp+0xaa>
+  DB  102,65,15,110,100,144,8             ; movd          0x8(%r8,%rdx,4),%xmm4
+  DB  102,68,15,112,196,69                ; pshufd        $0x45,%xmm4,%xmm8
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  102,69,15,18,4,144                  ; movlpd        (%r8,%rdx,4),%xmm8
+  DB  102,65,15,40,248                    ; movapd        %xmm8,%xmm7
+  DB  102,68,15,111,196                   ; movdqa        %xmm4,%xmm8
+  DB  235,52                              ; jmp           312d2 <_sk_load_8888_dst_sse2_lowp+0xaa>
+  DB  102,65,15,110,100,144,24            ; movd          0x18(%r8,%rdx,4),%xmm4
+  DB  102,68,15,112,196,69                ; pshufd        $0x45,%xmm4,%xmm8
+  DB  243,65,15,16,100,144,20             ; movss         0x14(%r8,%rdx,4),%xmm4
+  DB  65,15,198,224,0                     ; shufps        $0x0,%xmm8,%xmm4
+  DB  65,15,198,224,226                   ; shufps        $0xe2,%xmm8,%xmm4
+  DB  68,15,40,196                        ; movaps        %xmm4,%xmm8
+  DB  243,65,15,16,100,144,16             ; movss         0x10(%r8,%rdx,4),%xmm4
+  DB  243,68,15,16,196                    ; movss         %xmm4,%xmm8
+  DB  102,65,15,16,60,144                 ; movupd        (%r8,%rdx,4),%xmm7
+  DB  102,15,40,239                       ; movapd        %xmm7,%xmm5
+  DB  102,15,114,245,16                   ; pslld         $0x10,%xmm5
+  DB  102,15,114,229,16                   ; psrad         $0x10,%xmm5
+  DB  102,65,15,111,224                   ; movdqa        %xmm8,%xmm4
+  DB  102,15,114,244,16                   ; pslld         $0x10,%xmm4
+  DB  102,15,114,228,16                   ; psrad         $0x10,%xmm4
+  DB  102,15,107,236                      ; packssdw      %xmm4,%xmm5
+  DB  102,68,15,111,13,84,65,0,0          ; movdqa        0x4154(%rip),%xmm9        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,15,111,229                      ; movdqa        %xmm5,%xmm4
+  DB  102,65,15,219,225                   ; pand          %xmm9,%xmm4
+  DB  102,15,113,213,8                    ; psrlw         $0x8,%xmm5
+  DB  102,69,15,111,208                   ; movdqa        %xmm8,%xmm10
+  DB  102,65,15,114,210,16                ; psrld         $0x10,%xmm10
+  DB  102,15,40,247                       ; movapd        %xmm7,%xmm6
+  DB  102,15,114,214,16                   ; psrld         $0x10,%xmm6
+  DB  102,15,114,215,24                   ; psrld         $0x18,%xmm7
+  DB  102,15,114,247,16                   ; pslld         $0x10,%xmm7
+  DB  102,15,114,231,16                   ; psrad         $0x10,%xmm7
+  DB  102,65,15,114,208,24                ; psrld         $0x18,%xmm8
+  DB  102,65,15,114,240,16                ; pslld         $0x10,%xmm8
+  DB  102,65,15,114,224,16                ; psrad         $0x10,%xmm8
+  DB  102,65,15,107,248                   ; packssdw      %xmm8,%xmm7
+  DB  102,15,114,246,16                   ; pslld         $0x10,%xmm6
+  DB  102,15,114,230,16                   ; psrad         $0x10,%xmm6
+  DB  102,65,15,114,242,16                ; pslld         $0x10,%xmm10
+  DB  102,65,15,114,226,16                ; psrad         $0x10,%xmm10
+  DB  102,65,15,107,242                   ; packssdw      %xmm10,%xmm6
+  DB  102,65,15,219,241                   ; pand          %xmm9,%xmm6
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  247,254                             ; idiv          %esi
+  DB  255                                 ; (bad)
+  DB  255,36,255                          ; jmpq          *(%rdi,%rdi,8)
+  DB  255                                 ; (bad)
+  DB  255,19                              ; callq         *(%rbx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,100,255,255                     ; jmpq          *-0x1(%rdi,%rdi,8)
+  DB  255,88,255                          ; lcall         *-0x1(%rax)
+  DB  255                                 ; (bad)
+  DB  255,67,255                          ; incl          -0x1(%rbx)
+  DB  255                                 ; (bad)
+  DB  255,54                              ; pushq         (%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_store_8888_sse2_lowp
+_sk_store_8888_sse2_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  102,68,15,111,209                   ; movdqa        %xmm1,%xmm10
+  DB  102,65,15,113,242,8                 ; psllw         $0x8,%xmm10
+  DB  102,68,15,235,208                   ; por           %xmm0,%xmm10
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  102,69,15,111,218                   ; movdqa        %xmm10,%xmm11
+  DB  102,69,15,97,216                    ; punpcklwd     %xmm8,%xmm11
+  DB  102,69,15,105,208                   ; punpckhwd     %xmm8,%xmm10
+  DB  102,68,15,111,227                   ; movdqa        %xmm3,%xmm12
+  DB  102,65,15,113,244,8                 ; psllw         $0x8,%xmm12
+  DB  102,68,15,235,226                   ; por           %xmm2,%xmm12
+  DB  102,69,15,239,201                   ; pxor          %xmm9,%xmm9
+  DB  102,69,15,97,204                    ; punpcklwd     %xmm12,%xmm9
+  DB  102,69,15,235,203                   ; por           %xmm11,%xmm9
+  DB  102,69,15,105,196                   ; punpckhwd     %xmm12,%xmm8
+  DB  102,69,15,235,194                   ; por           %xmm10,%xmm8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,27                              ; ja            31407 <_sk_store_8888_sse2_lowp+0x83>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,98,0,0,0                  ; lea           0x62(%rip),%r9        # 31458 <_sk_store_8888_sse2_lowp+0xd4>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,69,15,126,12,144                ; movd          %xmm9,(%r8,%rdx,4)
+  DB  235,75                              ; jmp           31452 <_sk_store_8888_sse2_lowp+0xce>
+  DB  243,69,15,127,12,144                ; movdqu        %xmm9,(%r8,%rdx,4)
+  DB  243,69,15,127,68,144,16             ; movdqu        %xmm8,0x10(%r8,%rdx,4)
+  DB  235,60                              ; jmp           31452 <_sk_store_8888_sse2_lowp+0xce>
+  DB  102,69,15,112,193,78                ; pshufd        $0x4e,%xmm9,%xmm8
+  DB  102,69,15,126,68,144,8              ; movd          %xmm8,0x8(%r8,%rdx,4)
+  DB  102,69,15,214,12,144                ; movq          %xmm9,(%r8,%rdx,4)
+  DB  235,39                              ; jmp           31452 <_sk_store_8888_sse2_lowp+0xce>
+  DB  102,69,15,112,208,78                ; pshufd        $0x4e,%xmm8,%xmm10
+  DB  102,69,15,126,84,144,24             ; movd          %xmm10,0x18(%r8,%rdx,4)
+  DB  102,69,15,112,208,229               ; pshufd        $0xe5,%xmm8,%xmm10
+  DB  102,69,15,126,84,144,20             ; movd          %xmm10,0x14(%r8,%rdx,4)
+  DB  102,69,15,126,68,144,16             ; movd          %xmm8,0x10(%r8,%rdx,4)
+  DB  243,69,15,127,12,144                ; movdqu        %xmm9,(%r8,%rdx,4)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  167                                 ; cmpsl         %es:(%rdi),%ds:(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,203                             ; dec           %ebx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  190,255,255,255,244                 ; mov           $0xf4ffffff,%esi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  237                                 ; in            (%dx),%eax
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,224                             ; jmpq          *%rax
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,211                             ; callq         *%rbx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_bgra_sse2_lowp
+_sk_load_bgra_sse2_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,41                              ; ja            314b8 <_sk_load_bgra_sse2_lowp+0x44>
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,22,1,0,0                  ; lea           0x116(%rip),%r9        # 315b4 <_sk_load_bgra_sse2_lowp+0x140>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  255,224                             ; jmpq          *%rax
+  DB  243,65,15,16,28,144                 ; movss         (%r8,%rdx,4),%xmm3
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  235,102                             ; jmp           3151e <_sk_load_bgra_sse2_lowp+0xaa>
+  DB  102,65,15,16,28,144                 ; movupd        (%r8,%rdx,4),%xmm3
+  DB  243,69,15,111,68,144,16             ; movdqu        0x10(%r8,%rdx,4),%xmm8
+  DB  235,87                              ; jmp           3151e <_sk_load_bgra_sse2_lowp+0xaa>
+  DB  102,65,15,110,68,144,8              ; movd          0x8(%r8,%rdx,4),%xmm0
+  DB  102,68,15,112,192,69                ; pshufd        $0x45,%xmm0,%xmm8
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  102,69,15,18,4,144                  ; movlpd        (%r8,%rdx,4),%xmm8
+  DB  102,65,15,40,216                    ; movapd        %xmm8,%xmm3
+  DB  102,68,15,111,192                   ; movdqa        %xmm0,%xmm8
+  DB  235,52                              ; jmp           3151e <_sk_load_bgra_sse2_lowp+0xaa>
+  DB  102,65,15,110,68,144,24             ; movd          0x18(%r8,%rdx,4),%xmm0
+  DB  102,68,15,112,192,69                ; pshufd        $0x45,%xmm0,%xmm8
+  DB  243,65,15,16,68,144,20              ; movss         0x14(%r8,%rdx,4),%xmm0
+  DB  65,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm0
+  DB  65,15,198,192,226                   ; shufps        $0xe2,%xmm8,%xmm0
+  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
+  DB  243,65,15,16,68,144,16              ; movss         0x10(%r8,%rdx,4),%xmm0
+  DB  243,68,15,16,192                    ; movss         %xmm0,%xmm8
+  DB  102,65,15,16,28,144                 ; movupd        (%r8,%rdx,4),%xmm3
+  DB  102,15,40,203                       ; movapd        %xmm3,%xmm1
+  DB  102,15,114,241,16                   ; pslld         $0x10,%xmm1
+  DB  102,15,114,225,16                   ; psrad         $0x10,%xmm1
+  DB  102,65,15,111,192                   ; movdqa        %xmm8,%xmm0
+  DB  102,15,114,240,16                   ; pslld         $0x10,%xmm0
+  DB  102,15,114,224,16                   ; psrad         $0x10,%xmm0
+  DB  102,15,107,200                      ; packssdw      %xmm0,%xmm1
+  DB  102,68,15,111,13,8,63,0,0           ; movdqa        0x3f08(%rip),%xmm9        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,15,111,209                      ; movdqa        %xmm1,%xmm2
+  DB  102,65,15,219,209                   ; pand          %xmm9,%xmm2
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,69,15,111,208                   ; movdqa        %xmm8,%xmm10
+  DB  102,65,15,114,210,16                ; psrld         $0x10,%xmm10
+  DB  102,15,40,195                       ; movapd        %xmm3,%xmm0
+  DB  102,15,114,208,16                   ; psrld         $0x10,%xmm0
+  DB  102,15,114,211,24                   ; psrld         $0x18,%xmm3
+  DB  102,15,114,243,16                   ; pslld         $0x10,%xmm3
+  DB  102,15,114,227,16                   ; psrad         $0x10,%xmm3
+  DB  102,65,15,114,208,24                ; psrld         $0x18,%xmm8
+  DB  102,65,15,114,240,16                ; pslld         $0x10,%xmm8
+  DB  102,65,15,114,224,16                ; psrad         $0x10,%xmm8
+  DB  102,65,15,107,216                   ; packssdw      %xmm8,%xmm3
+  DB  102,15,114,240,16                   ; pslld         $0x10,%xmm0
+  DB  102,15,114,224,16                   ; psrad         $0x10,%xmm0
+  DB  102,65,15,114,242,16                ; pslld         $0x10,%xmm10
+  DB  102,65,15,114,226,16                ; psrad         $0x10,%xmm10
+  DB  102,65,15,107,194                   ; packssdw      %xmm10,%xmm0
+  DB  102,65,15,219,193                   ; pand          %xmm9,%xmm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  247,254                             ; idiv          %esi
+  DB  255                                 ; (bad)
+  DB  255,36,255                          ; jmpq          *(%rdi,%rdi,8)
+  DB  255                                 ; (bad)
+  DB  255,19                              ; callq         *(%rbx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,100,255,255                     ; jmpq          *-0x1(%rdi,%rdi,8)
+  DB  255,88,255                          ; lcall         *-0x1(%rax)
+  DB  255                                 ; (bad)
+  DB  255,67,255                          ; incl          -0x1(%rbx)
+  DB  255                                 ; (bad)
+  DB  255,54                              ; pushq         (%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_bgra_dst_sse2_lowp
+_sk_load_bgra_dst_sse2_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,41                              ; ja            31614 <_sk_load_bgra_dst_sse2_lowp+0x44>
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,22,1,0,0                  ; lea           0x116(%rip),%r9        # 31710 <_sk_load_bgra_dst_sse2_lowp+0x140>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  255,224                             ; jmpq          *%rax
+  DB  243,65,15,16,60,144                 ; movss         (%r8,%rdx,4),%xmm7
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  235,102                             ; jmp           3167a <_sk_load_bgra_dst_sse2_lowp+0xaa>
+  DB  102,65,15,16,60,144                 ; movupd        (%r8,%rdx,4),%xmm7
+  DB  243,69,15,111,68,144,16             ; movdqu        0x10(%r8,%rdx,4),%xmm8
+  DB  235,87                              ; jmp           3167a <_sk_load_bgra_dst_sse2_lowp+0xaa>
+  DB  102,65,15,110,100,144,8             ; movd          0x8(%r8,%rdx,4),%xmm4
+  DB  102,68,15,112,196,69                ; pshufd        $0x45,%xmm4,%xmm8
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  102,69,15,18,4,144                  ; movlpd        (%r8,%rdx,4),%xmm8
+  DB  102,65,15,40,248                    ; movapd        %xmm8,%xmm7
+  DB  102,68,15,111,196                   ; movdqa        %xmm4,%xmm8
+  DB  235,52                              ; jmp           3167a <_sk_load_bgra_dst_sse2_lowp+0xaa>
+  DB  102,65,15,110,100,144,24            ; movd          0x18(%r8,%rdx,4),%xmm4
+  DB  102,68,15,112,196,69                ; pshufd        $0x45,%xmm4,%xmm8
+  DB  243,65,15,16,100,144,20             ; movss         0x14(%r8,%rdx,4),%xmm4
+  DB  65,15,198,224,0                     ; shufps        $0x0,%xmm8,%xmm4
+  DB  65,15,198,224,226                   ; shufps        $0xe2,%xmm8,%xmm4
+  DB  68,15,40,196                        ; movaps        %xmm4,%xmm8
+  DB  243,65,15,16,100,144,16             ; movss         0x10(%r8,%rdx,4),%xmm4
+  DB  243,68,15,16,196                    ; movss         %xmm4,%xmm8
+  DB  102,65,15,16,60,144                 ; movupd        (%r8,%rdx,4),%xmm7
+  DB  102,15,40,239                       ; movapd        %xmm7,%xmm5
+  DB  102,15,114,245,16                   ; pslld         $0x10,%xmm5
+  DB  102,15,114,229,16                   ; psrad         $0x10,%xmm5
+  DB  102,65,15,111,224                   ; movdqa        %xmm8,%xmm4
+  DB  102,15,114,244,16                   ; pslld         $0x10,%xmm4
+  DB  102,15,114,228,16                   ; psrad         $0x10,%xmm4
+  DB  102,15,107,236                      ; packssdw      %xmm4,%xmm5
+  DB  102,68,15,111,13,172,61,0,0         ; movdqa        0x3dac(%rip),%xmm9        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,15,111,245                      ; movdqa        %xmm5,%xmm6
+  DB  102,65,15,219,241                   ; pand          %xmm9,%xmm6
+  DB  102,15,113,213,8                    ; psrlw         $0x8,%xmm5
+  DB  102,69,15,111,208                   ; movdqa        %xmm8,%xmm10
+  DB  102,65,15,114,210,16                ; psrld         $0x10,%xmm10
+  DB  102,15,40,231                       ; movapd        %xmm7,%xmm4
+  DB  102,15,114,212,16                   ; psrld         $0x10,%xmm4
+  DB  102,15,114,215,24                   ; psrld         $0x18,%xmm7
+  DB  102,15,114,247,16                   ; pslld         $0x10,%xmm7
+  DB  102,15,114,231,16                   ; psrad         $0x10,%xmm7
+  DB  102,65,15,114,208,24                ; psrld         $0x18,%xmm8
+  DB  102,65,15,114,240,16                ; pslld         $0x10,%xmm8
+  DB  102,65,15,114,224,16                ; psrad         $0x10,%xmm8
+  DB  102,65,15,107,248                   ; packssdw      %xmm8,%xmm7
+  DB  102,15,114,244,16                   ; pslld         $0x10,%xmm4
+  DB  102,15,114,228,16                   ; psrad         $0x10,%xmm4
+  DB  102,65,15,114,242,16                ; pslld         $0x10,%xmm10
+  DB  102,65,15,114,226,16                ; psrad         $0x10,%xmm10
+  DB  102,65,15,107,226                   ; packssdw      %xmm10,%xmm4
+  DB  102,65,15,219,225                   ; pand          %xmm9,%xmm4
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  247,254                             ; idiv          %esi
+  DB  255                                 ; (bad)
+  DB  255,36,255                          ; jmpq          *(%rdi,%rdi,8)
+  DB  255                                 ; (bad)
+  DB  255,19                              ; callq         *(%rbx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,100,255,255                     ; jmpq          *-0x1(%rdi,%rdi,8)
+  DB  255,88,255                          ; lcall         *-0x1(%rax)
+  DB  255                                 ; (bad)
+  DB  255,67,255                          ; incl          -0x1(%rbx)
+  DB  255                                 ; (bad)
+  DB  255,54                              ; pushq         (%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_store_bgra_sse2_lowp
+_sk_store_bgra_sse2_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  102,68,15,111,209                   ; movdqa        %xmm1,%xmm10
+  DB  102,65,15,113,242,8                 ; psllw         $0x8,%xmm10
+  DB  102,68,15,235,210                   ; por           %xmm2,%xmm10
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  102,69,15,111,218                   ; movdqa        %xmm10,%xmm11
+  DB  102,69,15,97,216                    ; punpcklwd     %xmm8,%xmm11
+  DB  102,69,15,105,208                   ; punpckhwd     %xmm8,%xmm10
+  DB  102,68,15,111,227                   ; movdqa        %xmm3,%xmm12
+  DB  102,65,15,113,244,8                 ; psllw         $0x8,%xmm12
+  DB  102,68,15,235,224                   ; por           %xmm0,%xmm12
+  DB  102,69,15,239,201                   ; pxor          %xmm9,%xmm9
+  DB  102,69,15,97,204                    ; punpcklwd     %xmm12,%xmm9
+  DB  102,69,15,235,203                   ; por           %xmm11,%xmm9
+  DB  102,69,15,105,196                   ; punpckhwd     %xmm12,%xmm8
+  DB  102,69,15,235,194                   ; por           %xmm10,%xmm8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,27                              ; ja            317af <_sk_store_bgra_sse2_lowp+0x83>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,98,0,0,0                  ; lea           0x62(%rip),%r9        # 31800 <_sk_store_bgra_sse2_lowp+0xd4>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,69,15,126,12,144                ; movd          %xmm9,(%r8,%rdx,4)
+  DB  235,75                              ; jmp           317fa <_sk_store_bgra_sse2_lowp+0xce>
+  DB  243,69,15,127,12,144                ; movdqu        %xmm9,(%r8,%rdx,4)
+  DB  243,69,15,127,68,144,16             ; movdqu        %xmm8,0x10(%r8,%rdx,4)
+  DB  235,60                              ; jmp           317fa <_sk_store_bgra_sse2_lowp+0xce>
+  DB  102,69,15,112,193,78                ; pshufd        $0x4e,%xmm9,%xmm8
+  DB  102,69,15,126,68,144,8              ; movd          %xmm8,0x8(%r8,%rdx,4)
+  DB  102,69,15,214,12,144                ; movq          %xmm9,(%r8,%rdx,4)
+  DB  235,39                              ; jmp           317fa <_sk_store_bgra_sse2_lowp+0xce>
+  DB  102,69,15,112,208,78                ; pshufd        $0x4e,%xmm8,%xmm10
+  DB  102,69,15,126,84,144,24             ; movd          %xmm10,0x18(%r8,%rdx,4)
+  DB  102,69,15,112,208,229               ; pshufd        $0xe5,%xmm8,%xmm10
+  DB  102,69,15,126,84,144,20             ; movd          %xmm10,0x14(%r8,%rdx,4)
+  DB  102,69,15,126,68,144,16             ; movd          %xmm8,0x10(%r8,%rdx,4)
+  DB  243,69,15,127,12,144                ; movdqu        %xmm9,(%r8,%rdx,4)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  167                                 ; cmpsl         %es:(%rdi),%ds:(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,203                             ; dec           %ebx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  190,255,255,255,244                 ; mov           $0xf4ffffff,%esi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  237                                 ; in            (%dx),%eax
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,224                             ; jmpq          *%rax
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,211                             ; callq         *%rbx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_gather_8888_sse2_lowp
+_sk_gather_8888_sse2_lowp LABEL PROC
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,84                               ; push          %r12
+  DB  83                                  ; push          %rbx
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,64,12                  ; movss         0xc(%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  102,69,15,118,201                   ; pcmpeqd       %xmm9,%xmm9
+  DB  102,69,15,254,193                   ; paddd         %xmm9,%xmm8
+  DB  69,15,87,210                        ; xorps         %xmm10,%xmm10
+  DB  65,15,95,194                        ; maxps         %xmm10,%xmm0
+  DB  65,15,95,202                        ; maxps         %xmm10,%xmm1
+  DB  65,15,93,200                        ; minps         %xmm8,%xmm1
+  DB  65,15,93,192                        ; minps         %xmm8,%xmm0
+  DB  243,68,15,16,64,16                  ; movss         0x10(%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  102,69,15,254,193                   ; paddd         %xmm9,%xmm8
+  DB  65,15,95,218                        ; maxps         %xmm10,%xmm3
+  DB  65,15,95,210                        ; maxps         %xmm10,%xmm2
+  DB  65,15,93,208                        ; minps         %xmm8,%xmm2
+  DB  65,15,93,216                        ; minps         %xmm8,%xmm3
+  DB  243,68,15,91,195                    ; cvttps2dq     %xmm3,%xmm8
+  DB  243,68,15,91,202                    ; cvttps2dq     %xmm2,%xmm9
+  DB  102,15,110,88,8                     ; movd          0x8(%rax),%xmm3
+  DB  102,15,112,219,0                    ; pshufd        $0x0,%xmm3,%xmm3
+  DB  102,69,15,112,209,245               ; pshufd        $0xf5,%xmm9,%xmm10
+  DB  102,68,15,244,211                   ; pmuludq       %xmm3,%xmm10
+  DB  102,68,15,111,219                   ; movdqa        %xmm3,%xmm11
+  DB  102,69,15,112,224,245               ; pshufd        $0xf5,%xmm8,%xmm12
+  DB  102,68,15,244,227                   ; pmuludq       %xmm3,%xmm12
+  DB  102,65,15,244,217                   ; pmuludq       %xmm9,%xmm3
+  DB  72,139,0                            ; mov           (%rax),%rax
+  DB  102,15,112,219,232                  ; pshufd        $0xe8,%xmm3,%xmm3
+  DB  102,65,15,112,210,232               ; pshufd        $0xe8,%xmm10,%xmm2
+  DB  102,15,98,218                       ; punpckldq     %xmm2,%xmm3
+  DB  102,69,15,244,216                   ; pmuludq       %xmm8,%xmm11
+  DB  102,69,15,112,195,232               ; pshufd        $0xe8,%xmm11,%xmm8
+  DB  102,65,15,112,212,232               ; pshufd        $0xe8,%xmm12,%xmm2
+  DB  102,68,15,98,194                    ; punpckldq     %xmm2,%xmm8
+  DB  243,15,91,192                       ; cvttps2dq     %xmm0,%xmm0
+  DB  102,15,254,195                      ; paddd         %xmm3,%xmm0
+  DB  243,15,91,201                       ; cvttps2dq     %xmm1,%xmm1
+  DB  102,65,15,254,200                   ; paddd         %xmm8,%xmm1
+  DB  102,15,112,209,78                   ; pshufd        $0x4e,%xmm1,%xmm2
+  DB  102,73,15,126,208                   ; movq          %xmm2,%r8
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  102,73,15,126,202                   ; movq          %xmm1,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  102,15,112,200,78                   ; pshufd        $0x4e,%xmm0,%xmm1
+  DB  102,72,15,126,203                   ; movq          %xmm1,%rbx
+  DB  65,137,222                          ; mov           %ebx,%r14d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  102,73,15,126,199                   ; movq          %xmm0,%r15
+  DB  69,137,252                          ; mov           %r15d,%r12d
+  DB  73,193,239,32                       ; shr           $0x20,%r15
+  DB  102,66,15,110,4,184                 ; movd          (%rax,%r15,4),%xmm0
+  DB  102,66,15,110,28,160                ; movd          (%rax,%r12,4),%xmm3
+  DB  102,15,98,216                       ; punpckldq     %xmm0,%xmm3
+  DB  102,15,110,4,152                    ; movd          (%rax,%rbx,4),%xmm0
+  DB  102,66,15,110,12,176                ; movd          (%rax,%r14,4),%xmm1
+  DB  102,15,98,200                       ; punpckldq     %xmm0,%xmm1
+  DB  102,15,108,217                      ; punpcklqdq    %xmm1,%xmm3
+  DB  102,66,15,110,4,144                 ; movd          (%rax,%r10,4),%xmm0
+  DB  102,70,15,110,4,152                 ; movd          (%rax,%r11,4),%xmm8
+  DB  102,68,15,98,192                    ; punpckldq     %xmm0,%xmm8
+  DB  102,66,15,110,4,128                 ; movd          (%rax,%r8,4),%xmm0
+  DB  102,66,15,110,12,136                ; movd          (%rax,%r9,4),%xmm1
+  DB  102,15,98,200                       ; punpckldq     %xmm0,%xmm1
+  DB  102,68,15,108,193                   ; punpcklqdq    %xmm1,%xmm8
+  DB  102,65,15,111,192                   ; movdqa        %xmm8,%xmm0
+  DB  102,15,114,240,16                   ; pslld         $0x10,%xmm0
+  DB  102,15,114,224,16                   ; psrad         $0x10,%xmm0
+  DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
+  DB  102,15,114,241,16                   ; pslld         $0x10,%xmm1
+  DB  102,15,114,225,16                   ; psrad         $0x10,%xmm1
+  DB  102,15,107,200                      ; packssdw      %xmm0,%xmm1
+  DB  102,68,15,111,13,200,58,0,0         ; movdqa        0x3ac8(%rip),%xmm9        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,65,15,219,193                   ; pand          %xmm9,%xmm0
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,111,211                      ; movdqa        %xmm3,%xmm2
+  DB  102,15,114,210,16                   ; psrld         $0x10,%xmm2
+  DB  102,69,15,111,208                   ; movdqa        %xmm8,%xmm10
+  DB  102,65,15,114,210,16                ; psrld         $0x10,%xmm10
+  DB  102,65,15,114,208,24                ; psrld         $0x18,%xmm8
+  DB  102,65,15,114,240,16                ; pslld         $0x10,%xmm8
+  DB  102,65,15,114,224,16                ; psrad         $0x10,%xmm8
+  DB  102,15,114,211,24                   ; psrld         $0x18,%xmm3
+  DB  102,15,114,243,16                   ; pslld         $0x10,%xmm3
+  DB  102,15,114,227,16                   ; psrad         $0x10,%xmm3
+  DB  102,65,15,107,216                   ; packssdw      %xmm8,%xmm3
+  DB  102,65,15,114,242,16                ; pslld         $0x10,%xmm10
+  DB  102,65,15,114,226,16                ; psrad         $0x10,%xmm10
+  DB  102,15,114,242,16                   ; pslld         $0x10,%xmm2
+  DB  102,15,114,226,16                   ; psrad         $0x10,%xmm2
+  DB  102,65,15,107,210                   ; packssdw      %xmm10,%xmm2
+  DB  102,65,15,219,209                   ; pand          %xmm9,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  91                                  ; pop           %rbx
+  DB  65,92                               ; pop           %r12
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_gather_bgra_sse2_lowp
+_sk_gather_bgra_sse2_lowp LABEL PROC
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,84                               ; push          %r12
+  DB  83                                  ; push          %rbx
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,64,12                  ; movss         0xc(%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  102,69,15,118,201                   ; pcmpeqd       %xmm9,%xmm9
+  DB  102,69,15,254,193                   ; paddd         %xmm9,%xmm8
+  DB  69,15,87,210                        ; xorps         %xmm10,%xmm10
+  DB  65,15,95,194                        ; maxps         %xmm10,%xmm0
+  DB  65,15,95,202                        ; maxps         %xmm10,%xmm1
+  DB  65,15,93,200                        ; minps         %xmm8,%xmm1
+  DB  65,15,93,192                        ; minps         %xmm8,%xmm0
+  DB  243,68,15,16,64,16                  ; movss         0x10(%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  102,69,15,254,193                   ; paddd         %xmm9,%xmm8
+  DB  65,15,95,218                        ; maxps         %xmm10,%xmm3
+  DB  65,15,95,210                        ; maxps         %xmm10,%xmm2
+  DB  65,15,93,208                        ; minps         %xmm8,%xmm2
+  DB  65,15,93,216                        ; minps         %xmm8,%xmm3
+  DB  243,68,15,91,195                    ; cvttps2dq     %xmm3,%xmm8
+  DB  243,68,15,91,202                    ; cvttps2dq     %xmm2,%xmm9
+  DB  102,15,110,88,8                     ; movd          0x8(%rax),%xmm3
+  DB  102,15,112,219,0                    ; pshufd        $0x0,%xmm3,%xmm3
+  DB  102,69,15,112,209,245               ; pshufd        $0xf5,%xmm9,%xmm10
+  DB  102,68,15,244,211                   ; pmuludq       %xmm3,%xmm10
+  DB  102,68,15,111,219                   ; movdqa        %xmm3,%xmm11
+  DB  102,69,15,112,224,245               ; pshufd        $0xf5,%xmm8,%xmm12
+  DB  102,68,15,244,227                   ; pmuludq       %xmm3,%xmm12
+  DB  102,65,15,244,217                   ; pmuludq       %xmm9,%xmm3
+  DB  72,139,0                            ; mov           (%rax),%rax
+  DB  102,15,112,219,232                  ; pshufd        $0xe8,%xmm3,%xmm3
+  DB  102,65,15,112,210,232               ; pshufd        $0xe8,%xmm10,%xmm2
+  DB  102,15,98,218                       ; punpckldq     %xmm2,%xmm3
+  DB  102,69,15,244,216                   ; pmuludq       %xmm8,%xmm11
+  DB  102,69,15,112,195,232               ; pshufd        $0xe8,%xmm11,%xmm8
+  DB  102,65,15,112,212,232               ; pshufd        $0xe8,%xmm12,%xmm2
+  DB  102,68,15,98,194                    ; punpckldq     %xmm2,%xmm8
+  DB  243,15,91,192                       ; cvttps2dq     %xmm0,%xmm0
+  DB  102,15,254,195                      ; paddd         %xmm3,%xmm0
+  DB  243,15,91,201                       ; cvttps2dq     %xmm1,%xmm1
+  DB  102,65,15,254,200                   ; paddd         %xmm8,%xmm1
+  DB  102,15,112,209,78                   ; pshufd        $0x4e,%xmm1,%xmm2
+  DB  102,73,15,126,208                   ; movq          %xmm2,%r8
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  102,73,15,126,202                   ; movq          %xmm1,%r10
+  DB  69,137,211                          ; mov           %r10d,%r11d
+  DB  73,193,234,32                       ; shr           $0x20,%r10
+  DB  102,15,112,200,78                   ; pshufd        $0x4e,%xmm0,%xmm1
+  DB  102,72,15,126,203                   ; movq          %xmm1,%rbx
+  DB  65,137,222                          ; mov           %ebx,%r14d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  102,73,15,126,199                   ; movq          %xmm0,%r15
+  DB  69,137,252                          ; mov           %r15d,%r12d
+  DB  73,193,239,32                       ; shr           $0x20,%r15
+  DB  102,66,15,110,4,184                 ; movd          (%rax,%r15,4),%xmm0
+  DB  102,66,15,110,28,160                ; movd          (%rax,%r12,4),%xmm3
+  DB  102,15,98,216                       ; punpckldq     %xmm0,%xmm3
+  DB  102,15,110,4,152                    ; movd          (%rax,%rbx,4),%xmm0
+  DB  102,66,15,110,12,176                ; movd          (%rax,%r14,4),%xmm1
+  DB  102,15,98,200                       ; punpckldq     %xmm0,%xmm1
+  DB  102,15,108,217                      ; punpcklqdq    %xmm1,%xmm3
+  DB  102,66,15,110,4,144                 ; movd          (%rax,%r10,4),%xmm0
+  DB  102,70,15,110,4,152                 ; movd          (%rax,%r11,4),%xmm8
+  DB  102,68,15,98,192                    ; punpckldq     %xmm0,%xmm8
+  DB  102,66,15,110,4,128                 ; movd          (%rax,%r8,4),%xmm0
+  DB  102,66,15,110,12,136                ; movd          (%rax,%r9,4),%xmm1
+  DB  102,15,98,200                       ; punpckldq     %xmm0,%xmm1
+  DB  102,68,15,108,193                   ; punpcklqdq    %xmm1,%xmm8
+  DB  102,65,15,111,192                   ; movdqa        %xmm8,%xmm0
+  DB  102,15,114,240,16                   ; pslld         $0x10,%xmm0
+  DB  102,15,114,224,16                   ; psrad         $0x10,%xmm0
+  DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
+  DB  102,15,114,241,16                   ; pslld         $0x10,%xmm1
+  DB  102,15,114,225,16                   ; psrad         $0x10,%xmm1
+  DB  102,15,107,200                      ; packssdw      %xmm0,%xmm1
+  DB  102,68,15,111,13,233,56,0,0         ; movdqa        0x38e9(%rip),%xmm9        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,15,111,209                      ; movdqa        %xmm1,%xmm2
+  DB  102,65,15,219,209                   ; pand          %xmm9,%xmm2
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,111,195                      ; movdqa        %xmm3,%xmm0
+  DB  102,15,114,208,16                   ; psrld         $0x10,%xmm0
+  DB  102,69,15,111,208                   ; movdqa        %xmm8,%xmm10
+  DB  102,65,15,114,210,16                ; psrld         $0x10,%xmm10
+  DB  102,65,15,114,208,24                ; psrld         $0x18,%xmm8
+  DB  102,65,15,114,240,16                ; pslld         $0x10,%xmm8
+  DB  102,65,15,114,224,16                ; psrad         $0x10,%xmm8
+  DB  102,15,114,211,24                   ; psrld         $0x18,%xmm3
+  DB  102,15,114,243,16                   ; pslld         $0x10,%xmm3
+  DB  102,15,114,227,16                   ; psrad         $0x10,%xmm3
+  DB  102,65,15,107,216                   ; packssdw      %xmm8,%xmm3
+  DB  102,65,15,114,242,16                ; pslld         $0x10,%xmm10
+  DB  102,65,15,114,226,16                ; psrad         $0x10,%xmm10
+  DB  102,15,114,240,16                   ; pslld         $0x10,%xmm0
+  DB  102,15,114,224,16                   ; psrad         $0x10,%xmm0
+  DB  102,65,15,107,194                   ; packssdw      %xmm10,%xmm0
+  DB  102,65,15,219,193                   ; pand          %xmm9,%xmm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  91                                  ; pop           %rbx
+  DB  65,92                               ; pop           %r12
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_load_565_sse2_lowp
+_sk_load_565_sse2_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,34                              ; ja            31c16 <_sk_load_565_sse2_lowp+0x3c>
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,190,0,0,0                 ; lea           0xbe(%rip),%r9        # 31cc0 <_sk_load_565_sse2_lowp+0xe6>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,183,4,80                      ; movzwl        (%r8,%rdx,2),%eax
+  DB  102,15,110,192                      ; movd          %eax,%xmm0
+  DB  235,66                              ; jmp           31c58 <_sk_load_565_sse2_lowp+0x7e>
+  DB  243,65,15,111,4,80                  ; movdqu        (%r8,%rdx,2),%xmm0
+  DB  235,58                              ; jmp           31c58 <_sk_load_565_sse2_lowp+0x7e>
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  102,65,15,196,68,80,4,2             ; pinsrw        $0x2,0x4(%r8,%rdx,2),%xmm0
+  DB  243,65,15,16,12,80                  ; movss         (%r8,%rdx,2),%xmm1
+  DB  243,15,16,193                       ; movss         %xmm1,%xmm0
+  DB  235,34                              ; jmp           31c58 <_sk_load_565_sse2_lowp+0x7e>
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  102,65,15,196,68,80,12,6            ; pinsrw        $0x6,0xc(%r8,%rdx,2),%xmm0
+  DB  102,65,15,196,68,80,10,5            ; pinsrw        $0x5,0xa(%r8,%rdx,2),%xmm0
+  DB  102,65,15,196,68,80,8,4             ; pinsrw        $0x4,0x8(%r8,%rdx,2),%xmm0
+  DB  102,65,15,18,4,80                   ; movlpd        (%r8,%rdx,2),%xmm0
+  DB  102,15,111,216                      ; movdqa        %xmm0,%xmm3
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  102,15,219,29,183,63,0,0            ; pand          0x3fb7(%rip),%xmm3        # 35c20 <_sk_srcover_bgra_8888_sse2_lowp+0x1408>
+  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
+  DB  102,15,113,209,5                    ; psrlw         $0x5,%xmm1
+  DB  102,15,219,13,182,63,0,0            ; pand          0x3fb6(%rip),%xmm1        # 35c30 <_sk_srcover_bgra_8888_sse2_lowp+0x1418>
+  DB  102,15,111,21,190,63,0,0            ; movdqa        0x3fbe(%rip),%xmm2        # 35c40 <_sk_srcover_bgra_8888_sse2_lowp+0x1428>
+  DB  102,15,219,208                      ; pand          %xmm0,%xmm2
+  DB  102,15,113,208,13                   ; psrlw         $0xd,%xmm0
+  DB  102,15,235,195                      ; por           %xmm3,%xmm0
+  DB  102,15,111,217                      ; movdqa        %xmm1,%xmm3
+  DB  102,15,113,243,2                    ; psllw         $0x2,%xmm3
+  DB  102,15,113,209,4                    ; psrlw         $0x4,%xmm1
+  DB  102,15,235,203                      ; por           %xmm3,%xmm1
+  DB  102,15,111,218                      ; movdqa        %xmm2,%xmm3
+  DB  102,15,113,243,3                    ; psllw         $0x3,%xmm3
+  DB  102,15,113,210,2                    ; psrlw         $0x2,%xmm2
+  DB  102,15,235,211                      ; por           %xmm3,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,29,148,55,0,0                 ; movaps        0x3794(%rip),%xmm3        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  75,255                              ; rex.WXB       (bad)
+  DB  255                                 ; (bad)
+  DB  255,106,255                         ; ljmp          *-0x1(%rdx)
+  DB  255                                 ; (bad)
+  DB  255,94,255                          ; lcall         *-0x1(%rsi)
+  DB  255                                 ; (bad)
+  DB  255,146,255,255,255,138             ; callq         *-0x75000001(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,130,255,255,255,118             ; incl          0x76ffffff(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_565_dst_sse2_lowp
+_sk_load_565_dst_sse2_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,34                              ; ja            31d18 <_sk_load_565_dst_sse2_lowp+0x3c>
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,188,0,0,0                 ; lea           0xbc(%rip),%r9        # 31dc0 <_sk_load_565_dst_sse2_lowp+0xe4>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,183,4,80                      ; movzwl        (%r8,%rdx,2),%eax
+  DB  102,15,110,224                      ; movd          %eax,%xmm4
+  DB  235,66                              ; jmp           31d5a <_sk_load_565_dst_sse2_lowp+0x7e>
+  DB  243,65,15,111,36,80                 ; movdqu        (%r8,%rdx,2),%xmm4
+  DB  235,58                              ; jmp           31d5a <_sk_load_565_dst_sse2_lowp+0x7e>
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  102,65,15,196,100,80,4,2            ; pinsrw        $0x2,0x4(%r8,%rdx,2),%xmm4
+  DB  243,65,15,16,44,80                  ; movss         (%r8,%rdx,2),%xmm5
+  DB  243,15,16,229                       ; movss         %xmm5,%xmm4
+  DB  235,34                              ; jmp           31d5a <_sk_load_565_dst_sse2_lowp+0x7e>
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  102,65,15,196,100,80,12,6           ; pinsrw        $0x6,0xc(%r8,%rdx,2),%xmm4
+  DB  102,65,15,196,100,80,10,5           ; pinsrw        $0x5,0xa(%r8,%rdx,2),%xmm4
+  DB  102,65,15,196,100,80,8,4            ; pinsrw        $0x4,0x8(%r8,%rdx,2),%xmm4
+  DB  102,65,15,18,36,80                  ; movlpd        (%r8,%rdx,2),%xmm4
+  DB  102,15,111,252                      ; movdqa        %xmm4,%xmm7
+  DB  102,15,113,215,8                    ; psrlw         $0x8,%xmm7
+  DB  102,15,219,61,181,62,0,0            ; pand          0x3eb5(%rip),%xmm7        # 35c20 <_sk_srcover_bgra_8888_sse2_lowp+0x1408>
+  DB  102,15,111,236                      ; movdqa        %xmm4,%xmm5
+  DB  102,15,113,213,5                    ; psrlw         $0x5,%xmm5
+  DB  102,15,219,45,180,62,0,0            ; pand          0x3eb4(%rip),%xmm5        # 35c30 <_sk_srcover_bgra_8888_sse2_lowp+0x1418>
+  DB  102,15,111,53,188,62,0,0            ; movdqa        0x3ebc(%rip),%xmm6        # 35c40 <_sk_srcover_bgra_8888_sse2_lowp+0x1428>
+  DB  102,15,219,244                      ; pand          %xmm4,%xmm6
+  DB  102,15,113,212,13                   ; psrlw         $0xd,%xmm4
+  DB  102,15,235,231                      ; por           %xmm7,%xmm4
+  DB  102,15,111,253                      ; movdqa        %xmm5,%xmm7
+  DB  102,15,113,247,2                    ; psllw         $0x2,%xmm7
+  DB  102,15,113,213,4                    ; psrlw         $0x4,%xmm5
+  DB  102,15,235,239                      ; por           %xmm7,%xmm5
+  DB  102,15,111,254                      ; movdqa        %xmm6,%xmm7
+  DB  102,15,113,247,3                    ; psllw         $0x3,%xmm7
+  DB  102,15,113,214,2                    ; psrlw         $0x2,%xmm6
+  DB  102,15,235,247                      ; por           %xmm7,%xmm6
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,61,146,54,0,0                 ; movaps        0x3692(%rip),%xmm7        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  255,224                             ; jmpq          *%rax
+  DB  77,255                              ; rex.WRB       (bad)
+  DB  255                                 ; (bad)
+  DB  255,108,255,255                     ; ljmp          *-0x1(%rdi,%rdi,8)
+  DB  255,96,255                          ; jmpq          *-0x1(%rax)
+  DB  255                                 ; (bad)
+  DB  255,148,255,255,255,140,255         ; callq         *-0x730001(%rdi,%rdi,8)
+  DB  255                                 ; (bad)
+  DB  255,132,255,255,255,120,255         ; incl          -0x870001(%rdi,%rdi,8)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_store_565_sse2_lowp
+_sk_store_565_sse2_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  102,68,15,111,192                   ; movdqa        %xmm0,%xmm8
+  DB  102,65,15,113,240,8                 ; psllw         $0x8,%xmm8
+  DB  102,68,15,219,5,80,62,0,0           ; pand          0x3e50(%rip),%xmm8        # 35c50 <_sk_srcover_bgra_8888_sse2_lowp+0x1438>
+  DB  102,68,15,111,201                   ; movdqa        %xmm1,%xmm9
+  DB  102,65,15,113,241,3                 ; psllw         $0x3,%xmm9
+  DB  102,68,15,219,13,76,62,0,0          ; pand          0x3e4c(%rip),%xmm9        # 35c60 <_sk_srcover_bgra_8888_sse2_lowp+0x1448>
+  DB  102,69,15,235,200                   ; por           %xmm8,%xmm9
+  DB  102,68,15,111,194                   ; movdqa        %xmm2,%xmm8
+  DB  102,65,15,113,208,3                 ; psrlw         $0x3,%xmm8
+  DB  102,69,15,235,193                   ; por           %xmm9,%xmm8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,31                              ; ja            31e52 <_sk_store_565_sse2_lowp+0x76>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,95,0,0,0                  ; lea           0x5f(%rip),%r9        # 31e9c <_sk_store_565_sse2_lowp+0xc0>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,68,15,126,192                   ; movd          %xmm8,%eax
+  DB  102,65,137,4,80                     ; mov           %ax,(%r8,%rdx,2)
+  DB  235,70                              ; jmp           31e98 <_sk_store_565_sse2_lowp+0xbc>
+  DB  243,69,15,127,4,80                  ; movdqu        %xmm8,(%r8,%rdx,2)
+  DB  235,62                              ; jmp           31e98 <_sk_store_565_sse2_lowp+0xbc>
+  DB  102,65,15,197,192,2                 ; pextrw        $0x2,%xmm8,%eax
+  DB  102,65,137,68,80,4                  ; mov           %ax,0x4(%r8,%rdx,2)
+  DB  102,69,15,126,4,80                  ; movd          %xmm8,(%r8,%rdx,2)
+  DB  235,42                              ; jmp           31e98 <_sk_store_565_sse2_lowp+0xbc>
+  DB  102,65,15,197,192,6                 ; pextrw        $0x6,%xmm8,%eax
+  DB  102,65,137,68,80,12                 ; mov           %ax,0xc(%r8,%rdx,2)
+  DB  102,65,15,197,192,5                 ; pextrw        $0x5,%xmm8,%eax
+  DB  102,65,137,68,80,10                 ; mov           %ax,0xa(%r8,%rdx,2)
+  DB  102,65,15,197,192,4                 ; pextrw        $0x4,%xmm8,%eax
+  DB  102,65,137,68,80,8                  ; mov           %ax,0x8(%r8,%rdx,2)
+  DB  102,69,15,214,4,80                  ; movq          %xmm8,(%r8,%rdx,2)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  170                                 ; stos          %al,%es:(%rdi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,202                             ; dec           %edx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  190,255,255,255,246                 ; mov           $0xf6ffffff,%esi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  234                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  222,255                             ; fdivrp        %st,%st(7)
+  DB  255                                 ; (bad)
+  DB  255,210                             ; callq         *%rdx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_gather_565_sse2_lowp
+_sk_gather_565_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %rbp
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,84                               ; push          %r12
+  DB  83                                  ; push          %rbx
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,64,12                  ; movss         0xc(%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  102,69,15,118,201                   ; pcmpeqd       %xmm9,%xmm9
+  DB  102,69,15,254,193                   ; paddd         %xmm9,%xmm8
+  DB  69,15,87,210                        ; xorps         %xmm10,%xmm10
+  DB  65,15,95,202                        ; maxps         %xmm10,%xmm1
+  DB  65,15,95,194                        ; maxps         %xmm10,%xmm0
+  DB  65,15,93,192                        ; minps         %xmm8,%xmm0
+  DB  65,15,93,200                        ; minps         %xmm8,%xmm1
+  DB  243,68,15,16,64,16                  ; movss         0x10(%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  102,69,15,254,193                   ; paddd         %xmm9,%xmm8
+  DB  65,15,95,210                        ; maxps         %xmm10,%xmm2
+  DB  65,15,95,218                        ; maxps         %xmm10,%xmm3
+  DB  65,15,93,216                        ; minps         %xmm8,%xmm3
+  DB  65,15,93,208                        ; minps         %xmm8,%xmm2
+  DB  243,68,15,91,194                    ; cvttps2dq     %xmm2,%xmm8
+  DB  243,68,15,91,203                    ; cvttps2dq     %xmm3,%xmm9
+  DB  102,15,110,80,8                     ; movd          0x8(%rax),%xmm2
+  DB  102,15,112,210,0                    ; pshufd        $0x0,%xmm2,%xmm2
+  DB  102,69,15,112,209,245               ; pshufd        $0xf5,%xmm9,%xmm10
+  DB  102,68,15,244,210                   ; pmuludq       %xmm2,%xmm10
+  DB  102,68,15,111,218                   ; movdqa        %xmm2,%xmm11
+  DB  102,69,15,112,224,245               ; pshufd        $0xf5,%xmm8,%xmm12
+  DB  102,68,15,244,226                   ; pmuludq       %xmm2,%xmm12
+  DB  102,65,15,244,209                   ; pmuludq       %xmm9,%xmm2
+  DB  76,139,16                           ; mov           (%rax),%r10
+  DB  102,15,112,210,232                  ; pshufd        $0xe8,%xmm2,%xmm2
+  DB  102,65,15,112,218,232               ; pshufd        $0xe8,%xmm10,%xmm3
+  DB  102,15,98,211                       ; punpckldq     %xmm3,%xmm2
+  DB  102,69,15,244,216                   ; pmuludq       %xmm8,%xmm11
+  DB  102,69,15,112,195,232               ; pshufd        $0xe8,%xmm11,%xmm8
+  DB  102,65,15,112,220,232               ; pshufd        $0xe8,%xmm12,%xmm3
+  DB  102,68,15,98,195                    ; punpckldq     %xmm3,%xmm8
+  DB  243,15,91,201                       ; cvttps2dq     %xmm1,%xmm1
+  DB  102,15,254,202                      ; paddd         %xmm2,%xmm1
+  DB  243,15,91,192                       ; cvttps2dq     %xmm0,%xmm0
+  DB  102,65,15,254,192                   ; paddd         %xmm8,%xmm0
+  DB  102,15,112,208,78                   ; pshufd        $0x4e,%xmm0,%xmm2
+  DB  102,73,15,126,208                   ; movq          %xmm2,%r8
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  102,72,15,126,192                   ; movq          %xmm0,%rax
+  DB  65,137,195                          ; mov           %eax,%r11d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  102,15,112,193,78                   ; pshufd        $0x4e,%xmm1,%xmm0
+  DB  102,72,15,126,195                   ; movq          %xmm0,%rbx
+  DB  65,137,222                          ; mov           %ebx,%r14d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  102,73,15,126,207                   ; movq          %xmm1,%r15
+  DB  69,137,252                          ; mov           %r15d,%r12d
+  DB  73,193,239,32                       ; shr           $0x20,%r15
+  DB  67,15,183,44,122                    ; movzwl        (%r10,%r15,2),%ebp
+  DB  102,15,110,197                      ; movd          %ebp,%xmm0
+  DB  67,15,183,44,98                     ; movzwl        (%r10,%r12,2),%ebp
+  DB  102,15,110,205                      ; movd          %ebp,%xmm1
+  DB  102,15,97,200                       ; punpcklwd     %xmm0,%xmm1
+  DB  65,15,183,28,90                     ; movzwl        (%r10,%rbx,2),%ebx
+  DB  102,15,110,195                      ; movd          %ebx,%xmm0
+  DB  67,15,183,28,114                    ; movzwl        (%r10,%r14,2),%ebx
+  DB  102,15,110,211                      ; movd          %ebx,%xmm2
+  DB  102,15,97,208                       ; punpcklwd     %xmm0,%xmm2
+  DB  102,15,98,202                       ; punpckldq     %xmm2,%xmm1
+  DB  65,15,183,4,66                      ; movzwl        (%r10,%rax,2),%eax
+  DB  102,15,110,208                      ; movd          %eax,%xmm2
+  DB  67,15,183,4,90                      ; movzwl        (%r10,%r11,2),%eax
+  DB  102,15,110,192                      ; movd          %eax,%xmm0
+  DB  102,15,97,194                       ; punpcklwd     %xmm2,%xmm0
+  DB  67,15,183,4,66                      ; movzwl        (%r10,%r8,2),%eax
+  DB  102,15,110,208                      ; movd          %eax,%xmm2
+  DB  67,15,183,4,74                      ; movzwl        (%r10,%r9,2),%eax
+  DB  102,15,110,216                      ; movd          %eax,%xmm3
+  DB  102,15,97,218                       ; punpcklwd     %xmm2,%xmm3
+  DB  102,15,98,195                       ; punpckldq     %xmm3,%xmm0
+  DB  102,15,108,193                      ; punpcklqdq    %xmm1,%xmm0
+  DB  102,15,111,216                      ; movdqa        %xmm0,%xmm3
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  102,15,219,29,249,59,0,0            ; pand          0x3bf9(%rip),%xmm3        # 35c20 <_sk_srcover_bgra_8888_sse2_lowp+0x1408>
+  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
+  DB  102,15,113,209,5                    ; psrlw         $0x5,%xmm1
+  DB  102,15,219,13,248,59,0,0            ; pand          0x3bf8(%rip),%xmm1        # 35c30 <_sk_srcover_bgra_8888_sse2_lowp+0x1418>
+  DB  102,15,111,21,0,60,0,0              ; movdqa        0x3c00(%rip),%xmm2        # 35c40 <_sk_srcover_bgra_8888_sse2_lowp+0x1428>
+  DB  102,15,219,208                      ; pand          %xmm0,%xmm2
+  DB  102,15,113,208,13                   ; psrlw         $0xd,%xmm0
+  DB  102,15,235,195                      ; por           %xmm3,%xmm0
+  DB  102,15,111,217                      ; movdqa        %xmm1,%xmm3
+  DB  102,15,113,243,2                    ; psllw         $0x2,%xmm3
+  DB  102,15,113,209,4                    ; psrlw         $0x4,%xmm1
+  DB  102,15,235,203                      ; por           %xmm3,%xmm1
+  DB  102,15,111,218                      ; movdqa        %xmm2,%xmm3
+  DB  102,15,113,243,3                    ; psllw         $0x3,%xmm3
+  DB  102,15,113,210,2                    ; psrlw         $0x2,%xmm2
+  DB  102,15,235,211                      ; por           %xmm3,%xmm2
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,29,214,51,0,0                 ; movaps        0x33d6(%rip),%xmm3        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  91                                  ; pop           %rbx
+  DB  65,92                               ; pop           %r12
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  93                                  ; pop           %rbp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_load_4444_sse2_lowp
+_sk_load_4444_sse2_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,36                              ; ja            320c2 <_sk_load_4444_sse2_lowp+0x3e>
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,199,0,0,0                 ; lea           0xc7(%rip),%r9        # 32174 <_sk_load_4444_sse2_lowp+0xf0>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,183,4,80                      ; movzwl        (%r8,%rdx,2),%eax
+  DB  102,68,15,110,192                   ; movd          %eax,%xmm8
+  DB  235,69                              ; jmp           32107 <_sk_load_4444_sse2_lowp+0x83>
+  DB  243,69,15,111,4,80                  ; movdqu        (%r8,%rdx,2),%xmm8
+  DB  235,61                              ; jmp           32107 <_sk_load_4444_sse2_lowp+0x83>
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  102,69,15,196,68,80,4,2             ; pinsrw        $0x2,0x4(%r8,%rdx,2),%xmm8
+  DB  243,65,15,16,4,80                   ; movss         (%r8,%rdx,2),%xmm0
+  DB  243,68,15,16,192                    ; movss         %xmm0,%xmm8
+  DB  235,35                              ; jmp           32107 <_sk_load_4444_sse2_lowp+0x83>
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  102,69,15,196,68,80,12,6            ; pinsrw        $0x6,0xc(%r8,%rdx,2),%xmm8
+  DB  102,69,15,196,68,80,10,5            ; pinsrw        $0x5,0xa(%r8,%rdx,2),%xmm8
+  DB  102,69,15,196,68,80,8,4             ; pinsrw        $0x4,0x8(%r8,%rdx,2),%xmm8
+  DB  102,69,15,18,4,80                   ; movlpd        (%r8,%rdx,2),%xmm8
+  DB  102,65,15,111,200                   ; movdqa        %xmm8,%xmm1
+  DB  102,15,113,209,12                   ; psrlw         $0xc,%xmm1
+  DB  102,65,15,111,208                   ; movdqa        %xmm8,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,111,5,77,59,0,0              ; movdqa        0x3b4d(%rip),%xmm0        # 35c70 <_sk_srcover_bgra_8888_sse2_lowp+0x1458>
+  DB  102,15,219,208                      ; pand          %xmm0,%xmm2
+  DB  102,65,15,111,216                   ; movdqa        %xmm8,%xmm3
+  DB  102,15,113,211,4                    ; psrlw         $0x4,%xmm3
+  DB  102,15,219,216                      ; pand          %xmm0,%xmm3
+  DB  102,68,15,219,192                   ; pand          %xmm0,%xmm8
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,15,113,240,4                    ; psllw         $0x4,%xmm0
+  DB  102,15,235,193                      ; por           %xmm1,%xmm0
+  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
+  DB  102,15,113,241,4                    ; psllw         $0x4,%xmm1
+  DB  102,15,235,202                      ; por           %xmm2,%xmm1
+  DB  102,15,111,211                      ; movdqa        %xmm3,%xmm2
+  DB  102,15,113,242,4                    ; psllw         $0x4,%xmm2
+  DB  102,15,235,211                      ; por           %xmm3,%xmm2
+  DB  102,65,15,111,216                   ; movdqa        %xmm8,%xmm3
+  DB  102,15,113,243,4                    ; psllw         $0x4,%xmm3
+  DB  102,65,15,235,216                   ; por           %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  66,255                              ; rex.X         (bad)
+  DB  255                                 ; (bad)
+  DB  255,99,255                          ; jmpq          *-0x1(%rbx)
+  DB  255                                 ; (bad)
+  DB  255,86,255                          ; callq         *-0x1(%rsi)
+  DB  255                                 ; (bad)
+  DB  255,141,255,255,255,133             ; decl          -0x7a000001(%rbp)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  125,255                             ; jge           32189 <_sk_load_4444_sse2_lowp+0x105>
+  DB  255                                 ; (bad)
+  DB  255,112,255                         ; pushq         -0x1(%rax)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_4444_dst_sse2_lowp
+_sk_load_4444_dst_sse2_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,36                              ; ja            321ce <_sk_load_4444_dst_sse2_lowp+0x3e>
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,199,0,0,0                 ; lea           0xc7(%rip),%r9        # 32280 <_sk_load_4444_dst_sse2_lowp+0xf0>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,183,4,80                      ; movzwl        (%r8,%rdx,2),%eax
+  DB  102,68,15,110,192                   ; movd          %eax,%xmm8
+  DB  235,69                              ; jmp           32213 <_sk_load_4444_dst_sse2_lowp+0x83>
+  DB  243,69,15,111,4,80                  ; movdqu        (%r8,%rdx,2),%xmm8
+  DB  235,61                              ; jmp           32213 <_sk_load_4444_dst_sse2_lowp+0x83>
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  102,69,15,196,68,80,4,2             ; pinsrw        $0x2,0x4(%r8,%rdx,2),%xmm8
+  DB  243,65,15,16,36,80                  ; movss         (%r8,%rdx,2),%xmm4
+  DB  243,68,15,16,196                    ; movss         %xmm4,%xmm8
+  DB  235,35                              ; jmp           32213 <_sk_load_4444_dst_sse2_lowp+0x83>
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  102,69,15,196,68,80,12,6            ; pinsrw        $0x6,0xc(%r8,%rdx,2),%xmm8
+  DB  102,69,15,196,68,80,10,5            ; pinsrw        $0x5,0xa(%r8,%rdx,2),%xmm8
+  DB  102,69,15,196,68,80,8,4             ; pinsrw        $0x4,0x8(%r8,%rdx,2),%xmm8
+  DB  102,69,15,18,4,80                   ; movlpd        (%r8,%rdx,2),%xmm8
+  DB  102,65,15,111,232                   ; movdqa        %xmm8,%xmm5
+  DB  102,15,113,213,12                   ; psrlw         $0xc,%xmm5
+  DB  102,65,15,111,240                   ; movdqa        %xmm8,%xmm6
+  DB  102,15,113,214,8                    ; psrlw         $0x8,%xmm6
+  DB  102,15,111,37,65,58,0,0             ; movdqa        0x3a41(%rip),%xmm4        # 35c70 <_sk_srcover_bgra_8888_sse2_lowp+0x1458>
+  DB  102,15,219,244                      ; pand          %xmm4,%xmm6
+  DB  102,65,15,111,248                   ; movdqa        %xmm8,%xmm7
+  DB  102,15,113,215,4                    ; psrlw         $0x4,%xmm7
+  DB  102,15,219,252                      ; pand          %xmm4,%xmm7
+  DB  102,68,15,219,196                   ; pand          %xmm4,%xmm8
+  DB  102,15,111,229                      ; movdqa        %xmm5,%xmm4
+  DB  102,15,113,244,4                    ; psllw         $0x4,%xmm4
+  DB  102,15,235,229                      ; por           %xmm5,%xmm4
+  DB  102,15,111,238                      ; movdqa        %xmm6,%xmm5
+  DB  102,15,113,245,4                    ; psllw         $0x4,%xmm5
+  DB  102,15,235,238                      ; por           %xmm6,%xmm5
+  DB  102,15,111,247                      ; movdqa        %xmm7,%xmm6
+  DB  102,15,113,246,4                    ; psllw         $0x4,%xmm6
+  DB  102,15,235,247                      ; por           %xmm7,%xmm6
+  DB  102,65,15,111,248                   ; movdqa        %xmm8,%xmm7
+  DB  102,15,113,247,4                    ; psllw         $0x4,%xmm7
+  DB  102,65,15,235,248                   ; por           %xmm8,%xmm7
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  66,255                              ; rex.X         (bad)
+  DB  255                                 ; (bad)
+  DB  255,99,255                          ; jmpq          *-0x1(%rbx)
+  DB  255                                 ; (bad)
+  DB  255,86,255                          ; callq         *-0x1(%rsi)
+  DB  255                                 ; (bad)
+  DB  255,141,255,255,255,133             ; decl          -0x7a000001(%rbp)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  125,255                             ; jge           32295 <_sk_load_4444_dst_sse2_lowp+0x105>
+  DB  255                                 ; (bad)
+  DB  255,112,255                         ; pushq         -0x1(%rax)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_store_4444_sse2_lowp
+_sk_store_4444_sse2_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  102,68,15,111,192                   ; movdqa        %xmm0,%xmm8
+  DB  102,65,15,113,240,8                 ; psllw         $0x8,%xmm8
+  DB  102,68,15,219,5,192,57,0,0          ; pand          0x39c0(%rip),%xmm8        # 35c80 <_sk_srcover_bgra_8888_sse2_lowp+0x1468>
+  DB  102,68,15,111,201                   ; movdqa        %xmm1,%xmm9
+  DB  102,65,15,113,241,4                 ; psllw         $0x4,%xmm9
+  DB  102,68,15,219,13,188,57,0,0         ; pand          0x39bc(%rip),%xmm9        # 35c90 <_sk_srcover_bgra_8888_sse2_lowp+0x1478>
+  DB  102,69,15,235,200                   ; por           %xmm8,%xmm9
+  DB  102,68,15,111,21,190,57,0,0         ; movdqa        0x39be(%rip),%xmm10        # 35ca0 <_sk_srcover_bgra_8888_sse2_lowp+0x1488>
+  DB  102,68,15,219,210                   ; pand          %xmm2,%xmm10
+  DB  102,68,15,111,195                   ; movdqa        %xmm3,%xmm8
+  DB  102,65,15,113,208,4                 ; psrlw         $0x4,%xmm8
+  DB  102,69,15,235,194                   ; por           %xmm10,%xmm8
+  DB  102,69,15,235,193                   ; por           %xmm9,%xmm8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,31                              ; ja            32325 <_sk_store_4444_sse2_lowp+0x89>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,96,0,0,0                  ; lea           0x60(%rip),%r9        # 32370 <_sk_store_4444_sse2_lowp+0xd4>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,68,15,126,192                   ; movd          %xmm8,%eax
+  DB  102,65,137,4,80                     ; mov           %ax,(%r8,%rdx,2)
+  DB  235,70                              ; jmp           3236b <_sk_store_4444_sse2_lowp+0xcf>
+  DB  243,69,15,127,4,80                  ; movdqu        %xmm8,(%r8,%rdx,2)
+  DB  235,62                              ; jmp           3236b <_sk_store_4444_sse2_lowp+0xcf>
+  DB  102,65,15,197,192,2                 ; pextrw        $0x2,%xmm8,%eax
+  DB  102,65,137,68,80,4                  ; mov           %ax,0x4(%r8,%rdx,2)
+  DB  102,69,15,126,4,80                  ; movd          %xmm8,(%r8,%rdx,2)
+  DB  235,42                              ; jmp           3236b <_sk_store_4444_sse2_lowp+0xcf>
+  DB  102,65,15,197,192,6                 ; pextrw        $0x6,%xmm8,%eax
+  DB  102,65,137,68,80,12                 ; mov           %ax,0xc(%r8,%rdx,2)
+  DB  102,65,15,197,192,5                 ; pextrw        $0x5,%xmm8,%eax
+  DB  102,65,137,68,80,10                 ; mov           %ax,0xa(%r8,%rdx,2)
+  DB  102,65,15,197,192,4                 ; pextrw        $0x4,%xmm8,%eax
+  DB  102,65,137,68,80,8                  ; mov           %ax,0x8(%r8,%rdx,2)
+  DB  102,69,15,214,4,80                  ; movq          %xmm8,(%r8,%rdx,2)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  144                                 ; nop
+  DB  169,255,255,255,201                 ; test          $0xc9ffffff,%eax
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  189,255,255,255,245                 ; mov           $0xf5ffffff,%ebp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  233,255,255,255,221                 ; jmpq          ffffffffde032384 <_sk_srcover_bgra_8888_sse2_lowp+0xffffffffddffdb6c>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,209                             ; callq         *%rcx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_gather_4444_sse2_lowp
+_sk_gather_4444_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %rbp
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,84                               ; push          %r12
+  DB  83                                  ; push          %rbx
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,64,12                  ; movss         0xc(%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  102,69,15,118,201                   ; pcmpeqd       %xmm9,%xmm9
+  DB  102,69,15,254,193                   ; paddd         %xmm9,%xmm8
+  DB  69,15,87,210                        ; xorps         %xmm10,%xmm10
+  DB  65,15,95,202                        ; maxps         %xmm10,%xmm1
+  DB  65,15,95,194                        ; maxps         %xmm10,%xmm0
+  DB  65,15,93,192                        ; minps         %xmm8,%xmm0
+  DB  65,15,93,200                        ; minps         %xmm8,%xmm1
+  DB  243,68,15,16,64,16                  ; movss         0x10(%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  102,69,15,254,193                   ; paddd         %xmm9,%xmm8
+  DB  65,15,95,210                        ; maxps         %xmm10,%xmm2
+  DB  65,15,95,218                        ; maxps         %xmm10,%xmm3
+  DB  65,15,93,216                        ; minps         %xmm8,%xmm3
+  DB  65,15,93,208                        ; minps         %xmm8,%xmm2
+  DB  243,68,15,91,194                    ; cvttps2dq     %xmm2,%xmm8
+  DB  243,68,15,91,203                    ; cvttps2dq     %xmm3,%xmm9
+  DB  102,15,110,80,8                     ; movd          0x8(%rax),%xmm2
+  DB  102,15,112,210,0                    ; pshufd        $0x0,%xmm2,%xmm2
+  DB  102,69,15,112,209,245               ; pshufd        $0xf5,%xmm9,%xmm10
+  DB  102,68,15,244,210                   ; pmuludq       %xmm2,%xmm10
+  DB  102,68,15,111,218                   ; movdqa        %xmm2,%xmm11
+  DB  102,69,15,112,224,245               ; pshufd        $0xf5,%xmm8,%xmm12
+  DB  102,68,15,244,226                   ; pmuludq       %xmm2,%xmm12
+  DB  102,65,15,244,209                   ; pmuludq       %xmm9,%xmm2
+  DB  76,139,16                           ; mov           (%rax),%r10
+  DB  102,15,112,210,232                  ; pshufd        $0xe8,%xmm2,%xmm2
+  DB  102,65,15,112,218,232               ; pshufd        $0xe8,%xmm10,%xmm3
+  DB  102,15,98,211                       ; punpckldq     %xmm3,%xmm2
+  DB  102,69,15,244,216                   ; pmuludq       %xmm8,%xmm11
+  DB  102,69,15,112,195,232               ; pshufd        $0xe8,%xmm11,%xmm8
+  DB  102,65,15,112,220,232               ; pshufd        $0xe8,%xmm12,%xmm3
+  DB  102,68,15,98,195                    ; punpckldq     %xmm3,%xmm8
+  DB  243,15,91,201                       ; cvttps2dq     %xmm1,%xmm1
+  DB  102,15,254,202                      ; paddd         %xmm2,%xmm1
+  DB  243,15,91,192                       ; cvttps2dq     %xmm0,%xmm0
+  DB  102,65,15,254,192                   ; paddd         %xmm8,%xmm0
+  DB  102,15,112,208,78                   ; pshufd        $0x4e,%xmm0,%xmm2
+  DB  102,73,15,126,208                   ; movq          %xmm2,%r8
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  102,72,15,126,192                   ; movq          %xmm0,%rax
+  DB  65,137,195                          ; mov           %eax,%r11d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  102,15,112,193,78                   ; pshufd        $0x4e,%xmm1,%xmm0
+  DB  102,72,15,126,195                   ; movq          %xmm0,%rbx
+  DB  65,137,222                          ; mov           %ebx,%r14d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  102,73,15,126,207                   ; movq          %xmm1,%r15
+  DB  69,137,252                          ; mov           %r15d,%r12d
+  DB  73,193,239,32                       ; shr           $0x20,%r15
+  DB  67,15,183,44,122                    ; movzwl        (%r10,%r15,2),%ebp
+  DB  102,15,110,197                      ; movd          %ebp,%xmm0
+  DB  67,15,183,44,98                     ; movzwl        (%r10,%r12,2),%ebp
+  DB  102,15,110,205                      ; movd          %ebp,%xmm1
+  DB  102,15,97,200                       ; punpcklwd     %xmm0,%xmm1
+  DB  65,15,183,28,90                     ; movzwl        (%r10,%rbx,2),%ebx
+  DB  102,15,110,195                      ; movd          %ebx,%xmm0
+  DB  67,15,183,28,114                    ; movzwl        (%r10,%r14,2),%ebx
+  DB  102,15,110,211                      ; movd          %ebx,%xmm2
+  DB  102,15,97,208                       ; punpcklwd     %xmm0,%xmm2
+  DB  102,15,98,202                       ; punpckldq     %xmm2,%xmm1
+  DB  65,15,183,4,66                      ; movzwl        (%r10,%rax,2),%eax
+  DB  102,15,110,192                      ; movd          %eax,%xmm0
+  DB  67,15,183,4,90                      ; movzwl        (%r10,%r11,2),%eax
+  DB  102,68,15,110,192                   ; movd          %eax,%xmm8
+  DB  102,68,15,97,192                    ; punpcklwd     %xmm0,%xmm8
+  DB  67,15,183,4,66                      ; movzwl        (%r10,%r8,2),%eax
+  DB  102,15,110,192                      ; movd          %eax,%xmm0
+  DB  67,15,183,4,74                      ; movzwl        (%r10,%r9,2),%eax
+  DB  102,15,110,208                      ; movd          %eax,%xmm2
+  DB  102,15,97,208                       ; punpcklwd     %xmm0,%xmm2
+  DB  102,68,15,98,194                    ; punpckldq     %xmm2,%xmm8
+  DB  102,68,15,108,193                   ; punpcklqdq    %xmm1,%xmm8
+  DB  102,65,15,111,200                   ; movdqa        %xmm8,%xmm1
+  DB  102,15,113,209,12                   ; psrlw         $0xc,%xmm1
+  DB  102,65,15,111,208                   ; movdqa        %xmm8,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,111,5,102,55,0,0             ; movdqa        0x3766(%rip),%xmm0        # 35c70 <_sk_srcover_bgra_8888_sse2_lowp+0x1458>
+  DB  102,15,219,208                      ; pand          %xmm0,%xmm2
+  DB  102,65,15,111,216                   ; movdqa        %xmm8,%xmm3
+  DB  102,15,113,211,4                    ; psrlw         $0x4,%xmm3
+  DB  102,15,219,216                      ; pand          %xmm0,%xmm3
+  DB  102,68,15,219,192                   ; pand          %xmm0,%xmm8
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,15,113,240,4                    ; psllw         $0x4,%xmm0
+  DB  102,15,235,193                      ; por           %xmm1,%xmm0
+  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
+  DB  102,15,113,241,4                    ; psllw         $0x4,%xmm1
+  DB  102,15,235,202                      ; por           %xmm2,%xmm1
+  DB  102,15,111,211                      ; movdqa        %xmm3,%xmm2
+  DB  102,15,113,242,4                    ; psllw         $0x4,%xmm2
+  DB  102,15,235,211                      ; por           %xmm3,%xmm2
+  DB  102,65,15,111,216                   ; movdqa        %xmm8,%xmm3
+  DB  102,15,113,243,4                    ; psllw         $0x4,%xmm3
+  DB  102,65,15,235,216                   ; por           %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  91                                  ; pop           %rbx
+  DB  65,92                               ; pop           %r12
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  93                                  ; pop           %rbp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_load_a8_sse2_lowp
+_sk_load_a8_sse2_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,34                              ; ja            3259c <_sk_load_a8_sse2_lowp+0x39>
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,140,0,0,0                 ; lea           0x8c(%rip),%r9        # 32614 <_sk_load_a8_sse2_lowp+0xb1>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,182,4,16                      ; movzbl        (%r8,%rdx,1),%eax
+  DB  102,15,110,216                      ; movd          %eax,%xmm3
+  DB  235,97                              ; jmp           325fd <_sk_load_a8_sse2_lowp+0x9a>
+  DB  243,65,15,126,28,16                 ; movq          (%r8,%rdx,1),%xmm3
+  DB  102,15,96,216                       ; punpcklbw     %xmm0,%xmm3
+  DB  235,85                              ; jmp           325fd <_sk_load_a8_sse2_lowp+0x9a>
+  DB  65,15,182,68,16,2                   ; movzbl        0x2(%r8,%rdx,1),%eax
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  102,15,196,216,2                    ; pinsrw        $0x2,%eax,%xmm3
+  DB  65,15,183,4,16                      ; movzwl        (%r8,%rdx,1),%eax
+  DB  102,15,110,192                      ; movd          %eax,%xmm0
+  DB  102,15,96,192                       ; punpcklbw     %xmm0,%xmm0
+  DB  243,15,16,216                       ; movss         %xmm0,%xmm3
+  DB  235,51                              ; jmp           325fd <_sk_load_a8_sse2_lowp+0x9a>
+  DB  65,15,182,68,16,6                   ; movzbl        0x6(%r8,%rdx,1),%eax
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  102,15,196,216,6                    ; pinsrw        $0x6,%eax,%xmm3
+  DB  65,15,182,68,16,5                   ; movzbl        0x5(%r8,%rdx,1),%eax
+  DB  102,15,196,216,5                    ; pinsrw        $0x5,%eax,%xmm3
+  DB  65,15,182,68,16,4                   ; movzbl        0x4(%r8,%rdx,1),%eax
+  DB  102,15,196,216,4                    ; pinsrw        $0x4,%eax,%xmm3
+  DB  102,65,15,110,4,16                  ; movd          (%r8,%rdx,1),%xmm0
+  DB  102,15,96,192                       ; punpcklbw     %xmm0,%xmm0
+  DB  242,15,16,216                       ; movsd         %xmm0,%xmm3
+  DB  102,15,219,29,75,46,0,0             ; pand          0x2e4b(%rip),%xmm3        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  15,87,201                           ; xorps         %xmm1,%xmm1
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  125,255                             ; jge           32615 <_sk_load_a8_sse2_lowp+0xb2>
+  DB  255                                 ; (bad)
+  DB  255,163,255,255,255,148             ; jmpq          *-0x6b000001(%rbx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  219,255                             ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,208                             ; callq         *%rax
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,197                             ; inc           %ebp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+  DB  182,255                             ; mov           $0xff,%dh
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_a8_dst_sse2_lowp
+_sk_load_a8_dst_sse2_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,34                              ; ja            32669 <_sk_load_a8_dst_sse2_lowp+0x39>
+  DB  102,15,239,255                      ; pxor          %xmm7,%xmm7
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,139,0,0,0                 ; lea           0x8b(%rip),%r9        # 326e0 <_sk_load_a8_dst_sse2_lowp+0xb0>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,182,4,16                      ; movzbl        (%r8,%rdx,1),%eax
+  DB  102,15,110,248                      ; movd          %eax,%xmm7
+  DB  235,97                              ; jmp           326ca <_sk_load_a8_dst_sse2_lowp+0x9a>
+  DB  243,65,15,126,60,16                 ; movq          (%r8,%rdx,1),%xmm7
+  DB  102,15,96,248                       ; punpcklbw     %xmm0,%xmm7
+  DB  235,85                              ; jmp           326ca <_sk_load_a8_dst_sse2_lowp+0x9a>
+  DB  65,15,182,68,16,2                   ; movzbl        0x2(%r8,%rdx,1),%eax
+  DB  102,15,239,255                      ; pxor          %xmm7,%xmm7
+  DB  102,15,196,248,2                    ; pinsrw        $0x2,%eax,%xmm7
+  DB  65,15,183,4,16                      ; movzwl        (%r8,%rdx,1),%eax
+  DB  102,15,110,224                      ; movd          %eax,%xmm4
+  DB  102,15,96,224                       ; punpcklbw     %xmm0,%xmm4
+  DB  243,15,16,252                       ; movss         %xmm4,%xmm7
+  DB  235,51                              ; jmp           326ca <_sk_load_a8_dst_sse2_lowp+0x9a>
+  DB  65,15,182,68,16,6                   ; movzbl        0x6(%r8,%rdx,1),%eax
+  DB  102,15,239,255                      ; pxor          %xmm7,%xmm7
+  DB  102,15,196,248,6                    ; pinsrw        $0x6,%eax,%xmm7
+  DB  65,15,182,68,16,5                   ; movzbl        0x5(%r8,%rdx,1),%eax
+  DB  102,15,196,248,5                    ; pinsrw        $0x5,%eax,%xmm7
+  DB  65,15,182,68,16,4                   ; movzbl        0x4(%r8,%rdx,1),%eax
+  DB  102,15,196,248,4                    ; pinsrw        $0x4,%eax,%xmm7
+  DB  102,65,15,110,36,16                 ; movd          (%r8,%rdx,1),%xmm4
+  DB  102,15,96,224                       ; punpcklbw     %xmm0,%xmm4
+  DB  242,15,16,252                       ; movsd         %xmm4,%xmm7
+  DB  102,15,219,61,126,45,0,0            ; pand          0x2d7e(%rip),%xmm7        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,87,237                           ; xorps         %xmm5,%xmm5
+  DB  15,87,246                           ; xorps         %xmm6,%xmm6
+  DB  255,224                             ; jmpq          *%rax
+  DB  144                                 ; nop
+  DB  126,255                             ; jle           326e1 <_sk_load_a8_dst_sse2_lowp+0xb1>
+  DB  255                                 ; (bad)
+  DB  255,164,255,255,255,149,255         ; jmpq          *-0x6a0001(%rdi,%rdi,8)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  220,255                             ; fdivr         %st,%st(7)
+  DB  255                                 ; (bad)
+  DB  255,209                             ; callq         *%rcx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,198                             ; inc           %esi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+  DB  183,255                             ; mov           $0xff,%bh
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_store_a8_sse2_lowp
+_sk_store_a8_sse2_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,29                              ; ja            32730 <_sk_store_a8_sse2_lowp+0x34>
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,147,0,0,0                 ; lea           0x93(%rip),%r9        # 327b0 <_sk_store_a8_sse2_lowp+0xb4>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,15,126,216                      ; movd          %xmm3,%eax
+  DB  65,136,4,16                         ; mov           %al,(%r8,%rdx,1)
+  DB  235,123                             ; jmp           327ab <_sk_store_a8_sse2_lowp+0xaf>
+  DB  102,68,15,111,5,23,45,0,0           ; movdqa        0x2d17(%rip),%xmm8        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,68,15,219,195                   ; pand          %xmm3,%xmm8
+  DB  102,69,15,103,192                   ; packuswb      %xmm8,%xmm8
+  DB  102,69,15,214,4,16                  ; movq          %xmm8,(%r8,%rdx,1)
+  DB  235,96                              ; jmp           327ab <_sk_store_a8_sse2_lowp+0xaf>
+  DB  102,15,197,195,2                    ; pextrw        $0x2,%xmm3,%eax
+  DB  65,136,68,16,2                      ; mov           %al,0x2(%r8,%rdx,1)
+  DB  102,68,15,111,5,242,44,0,0          ; movdqa        0x2cf2(%rip),%xmm8        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,68,15,219,195                   ; pand          %xmm3,%xmm8
+  DB  102,69,15,103,192                   ; packuswb      %xmm8,%xmm8
+  DB  102,68,15,126,192                   ; movd          %xmm8,%eax
+  DB  102,65,137,4,16                     ; mov           %ax,(%r8,%rdx,1)
+  DB  235,55                              ; jmp           327ab <_sk_store_a8_sse2_lowp+0xaf>
+  DB  102,15,197,195,6                    ; pextrw        $0x6,%xmm3,%eax
+  DB  65,136,68,16,6                      ; mov           %al,0x6(%r8,%rdx,1)
+  DB  102,15,197,195,5                    ; pextrw        $0x5,%xmm3,%eax
+  DB  65,136,68,16,5                      ; mov           %al,0x5(%r8,%rdx,1)
+  DB  102,15,197,195,4                    ; pextrw        $0x4,%xmm3,%eax
+  DB  65,136,68,16,4                      ; mov           %al,0x4(%r8,%rdx,1)
+  DB  102,68,15,111,5,181,44,0,0          ; movdqa        0x2cb5(%rip),%xmm8        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,68,15,219,195                   ; pand          %xmm3,%xmm8
+  DB  102,69,15,103,192                   ; packuswb      %xmm8,%xmm8
+  DB  102,69,15,126,4,16                  ; movd          %xmm8,(%r8,%rdx,1)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  144                                 ; nop
+  DB  118,255                             ; jbe           327b1 <_sk_store_a8_sse2_lowp+0xb5>
+  DB  255                                 ; (bad)
+  DB  255,165,255,255,255,155             ; jmpq          *-0x64000001(%rbp)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,226                             ; jmpq          *%rdx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  216,255                             ; fdivr         %st(7),%st
+  DB  255                                 ; (bad)
+  DB  255,206                             ; dec           %esi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,196                             ; inc           %esp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_gather_a8_sse2_lowp
+_sk_gather_a8_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %rbp
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,84                               ; push          %r12
+  DB  83                                  ; push          %rbx
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,72,12                  ; movss         0xc(%rax),%xmm9
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  102,69,15,118,210                   ; pcmpeqd       %xmm10,%xmm10
+  DB  102,69,15,254,202                   ; paddd         %xmm10,%xmm9
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  65,15,95,192                        ; maxps         %xmm8,%xmm0
+  DB  65,15,95,200                        ; maxps         %xmm8,%xmm1
+  DB  65,15,93,201                        ; minps         %xmm9,%xmm1
+  DB  65,15,93,193                        ; minps         %xmm9,%xmm0
+  DB  243,68,15,16,72,16                  ; movss         0x10(%rax),%xmm9
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  102,69,15,254,202                   ; paddd         %xmm10,%xmm9
+  DB  65,15,95,216                        ; maxps         %xmm8,%xmm3
+  DB  65,15,95,208                        ; maxps         %xmm8,%xmm2
+  DB  65,15,93,209                        ; minps         %xmm9,%xmm2
+  DB  65,15,93,217                        ; minps         %xmm9,%xmm3
+  DB  243,68,15,91,203                    ; cvttps2dq     %xmm3,%xmm9
+  DB  243,68,15,91,210                    ; cvttps2dq     %xmm2,%xmm10
+  DB  102,15,110,88,8                     ; movd          0x8(%rax),%xmm3
+  DB  102,15,112,219,0                    ; pshufd        $0x0,%xmm3,%xmm3
+  DB  102,69,15,112,218,245               ; pshufd        $0xf5,%xmm10,%xmm11
+  DB  102,68,15,244,219                   ; pmuludq       %xmm3,%xmm11
+  DB  102,68,15,111,227                   ; movdqa        %xmm3,%xmm12
+  DB  102,69,15,112,233,245               ; pshufd        $0xf5,%xmm9,%xmm13
+  DB  102,68,15,244,235                   ; pmuludq       %xmm3,%xmm13
+  DB  102,65,15,244,218                   ; pmuludq       %xmm10,%xmm3
+  DB  102,15,112,219,232                  ; pshufd        $0xe8,%xmm3,%xmm3
+  DB  102,65,15,112,211,232               ; pshufd        $0xe8,%xmm11,%xmm2
+  DB  102,15,98,218                       ; punpckldq     %xmm2,%xmm3
+  DB  76,139,16                           ; mov           (%rax),%r10
+  DB  102,69,15,244,225                   ; pmuludq       %xmm9,%xmm12
+  DB  102,69,15,112,204,232               ; pshufd        $0xe8,%xmm12,%xmm9
+  DB  102,65,15,112,213,232               ; pshufd        $0xe8,%xmm13,%xmm2
+  DB  102,68,15,98,202                    ; punpckldq     %xmm2,%xmm9
+  DB  243,15,91,192                       ; cvttps2dq     %xmm0,%xmm0
+  DB  102,15,254,195                      ; paddd         %xmm3,%xmm0
+  DB  243,15,91,201                       ; cvttps2dq     %xmm1,%xmm1
+  DB  102,65,15,254,201                   ; paddd         %xmm9,%xmm1
+  DB  102,15,112,209,78                   ; pshufd        $0x4e,%xmm1,%xmm2
+  DB  102,73,15,126,208                   ; movq          %xmm2,%r8
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  102,72,15,126,200                   ; movq          %xmm1,%rax
+  DB  65,137,195                          ; mov           %eax,%r11d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  102,72,15,126,195                   ; movq          %xmm0,%rbx
+  DB  65,137,222                          ; mov           %ebx,%r14d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  102,15,112,192,78                   ; pshufd        $0x4e,%xmm0,%xmm0
+  DB  102,73,15,126,199                   ; movq          %xmm0,%r15
+  DB  69,137,252                          ; mov           %r15d,%r12d
+  DB  73,193,239,32                       ; shr           $0x20,%r15
+  DB  71,15,182,36,34                     ; movzbl        (%r10,%r12,1),%r12d
+  DB  67,15,182,44,58                     ; movzbl        (%r10,%r15,1),%ebp
+  DB  193,229,8                           ; shl           $0x8,%ebp
+  DB  68,9,229                            ; or            %r12d,%ebp
+  DB  71,15,182,52,50                     ; movzbl        (%r10,%r14,1),%r14d
+  DB  65,15,182,28,26                     ; movzbl        (%r10,%rbx,1),%ebx
+  DB  193,227,8                           ; shl           $0x8,%ebx
+  DB  68,9,243                            ; or            %r14d,%ebx
+  DB  102,15,110,219                      ; movd          %ebx,%xmm3
+  DB  102,15,196,221,1                    ; pinsrw        $0x1,%ebp,%xmm3
+  DB  67,15,182,44,26                     ; movzbl        (%r10,%r11,1),%ebp
+  DB  65,15,182,4,2                       ; movzbl        (%r10,%rax,1),%eax
+  DB  193,224,8                           ; shl           $0x8,%eax
+  DB  9,232                               ; or            %ebp,%eax
+  DB  102,15,196,216,2                    ; pinsrw        $0x2,%eax,%xmm3
+  DB  67,15,182,4,10                      ; movzbl        (%r10,%r9,1),%eax
+  DB  67,15,182,44,2                      ; movzbl        (%r10,%r8,1),%ebp
+  DB  193,229,8                           ; shl           $0x8,%ebp
+  DB  9,197                               ; or            %eax,%ebp
+  DB  102,15,196,221,3                    ; pinsrw        $0x3,%ebp,%xmm3
+  DB  102,65,15,96,216                    ; punpcklbw     %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  102,15,239,210                      ; pxor          %xmm2,%xmm2
+  DB  91                                  ; pop           %rbx
+  DB  65,92                               ; pop           %r12
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  93                                  ; pop           %rbp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_load_g8_sse2_lowp
+_sk_load_g8_sse2_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,34                              ; ja            3296d <_sk_load_g8_sse2_lowp+0x39>
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,147,0,0,0                 ; lea           0x93(%rip),%r9        # 329ec <_sk_load_g8_sse2_lowp+0xb8>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,182,4,16                      ; movzbl        (%r8,%rdx,1),%eax
+  DB  102,15,110,192                      ; movd          %eax,%xmm0
+  DB  235,97                              ; jmp           329ce <_sk_load_g8_sse2_lowp+0x9a>
+  DB  243,65,15,126,4,16                  ; movq          (%r8,%rdx,1),%xmm0
+  DB  102,15,96,192                       ; punpcklbw     %xmm0,%xmm0
+  DB  235,85                              ; jmp           329ce <_sk_load_g8_sse2_lowp+0x9a>
+  DB  65,15,182,68,16,2                   ; movzbl        0x2(%r8,%rdx,1),%eax
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  102,15,196,192,2                    ; pinsrw        $0x2,%eax,%xmm0
+  DB  65,15,183,4,16                      ; movzwl        (%r8,%rdx,1),%eax
+  DB  102,15,110,200                      ; movd          %eax,%xmm1
+  DB  102,15,96,200                       ; punpcklbw     %xmm0,%xmm1
+  DB  243,15,16,193                       ; movss         %xmm1,%xmm0
+  DB  235,51                              ; jmp           329ce <_sk_load_g8_sse2_lowp+0x9a>
+  DB  65,15,182,68,16,6                   ; movzbl        0x6(%r8,%rdx,1),%eax
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  102,15,196,192,6                    ; pinsrw        $0x6,%eax,%xmm0
+  DB  65,15,182,68,16,5                   ; movzbl        0x5(%r8,%rdx,1),%eax
+  DB  102,15,196,192,5                    ; pinsrw        $0x5,%eax,%xmm0
+  DB  65,15,182,68,16,4                   ; movzbl        0x4(%r8,%rdx,1),%eax
+  DB  102,15,196,192,4                    ; pinsrw        $0x4,%eax,%xmm0
+  DB  102,65,15,110,12,16                 ; movd          (%r8,%rdx,1),%xmm1
+  DB  102,15,96,200                       ; punpcklbw     %xmm0,%xmm1
+  DB  242,15,16,193                       ; movsd         %xmm1,%xmm0
+  DB  102,15,219,5,122,42,0,0             ; pand          0x2a7a(%rip),%xmm0        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,29,113,42,0,0                 ; movaps        0x2a71(%rip),%xmm3        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
+  DB  102,15,111,208                      ; movdqa        %xmm0,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+  DB  15,31,0                             ; nopl          (%rax)
+  DB  118,255                             ; jbe           329ed <_sk_load_g8_sse2_lowp+0xb9>
+  DB  255                                 ; (bad)
+  DB  255,156,255,255,255,141,255         ; lcall         *-0x720001(%rdi,%rdi,8)
+  DB  255                                 ; (bad)
+  DB  255,212                             ; callq         *%rsp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,201                             ; dec           %ecx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  190,255,255,255,175                 ; mov           $0xafffffff,%esi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_load_g8_dst_sse2_lowp
+_sk_load_g8_dst_sse2_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,34                              ; ja            32a41 <_sk_load_g8_dst_sse2_lowp+0x39>
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,147,0,0,0                 ; lea           0x93(%rip),%r9        # 32ac0 <_sk_load_g8_dst_sse2_lowp+0xb8>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,182,4,16                      ; movzbl        (%r8,%rdx,1),%eax
+  DB  102,15,110,224                      ; movd          %eax,%xmm4
+  DB  235,97                              ; jmp           32aa2 <_sk_load_g8_dst_sse2_lowp+0x9a>
+  DB  243,65,15,126,36,16                 ; movq          (%r8,%rdx,1),%xmm4
+  DB  102,15,96,224                       ; punpcklbw     %xmm0,%xmm4
+  DB  235,85                              ; jmp           32aa2 <_sk_load_g8_dst_sse2_lowp+0x9a>
+  DB  65,15,182,68,16,2                   ; movzbl        0x2(%r8,%rdx,1),%eax
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  102,15,196,224,2                    ; pinsrw        $0x2,%eax,%xmm4
+  DB  65,15,183,4,16                      ; movzwl        (%r8,%rdx,1),%eax
+  DB  102,15,110,232                      ; movd          %eax,%xmm5
+  DB  102,15,96,232                       ; punpcklbw     %xmm0,%xmm5
+  DB  243,15,16,229                       ; movss         %xmm5,%xmm4
+  DB  235,51                              ; jmp           32aa2 <_sk_load_g8_dst_sse2_lowp+0x9a>
+  DB  65,15,182,68,16,6                   ; movzbl        0x6(%r8,%rdx,1),%eax
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  102,15,196,224,6                    ; pinsrw        $0x6,%eax,%xmm4
+  DB  65,15,182,68,16,5                   ; movzbl        0x5(%r8,%rdx,1),%eax
+  DB  102,15,196,224,5                    ; pinsrw        $0x5,%eax,%xmm4
+  DB  65,15,182,68,16,4                   ; movzbl        0x4(%r8,%rdx,1),%eax
+  DB  102,15,196,224,4                    ; pinsrw        $0x4,%eax,%xmm4
+  DB  102,65,15,110,44,16                 ; movd          (%r8,%rdx,1),%xmm5
+  DB  102,15,96,232                       ; punpcklbw     %xmm0,%xmm5
+  DB  242,15,16,229                       ; movsd         %xmm5,%xmm4
+  DB  102,15,219,37,166,41,0,0            ; pand          0x29a6(%rip),%xmm4        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,61,157,41,0,0                 ; movaps        0x299d(%rip),%xmm7        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,15,111,236                      ; movdqa        %xmm4,%xmm5
+  DB  102,15,111,244                      ; movdqa        %xmm4,%xmm6
+  DB  255,224                             ; jmpq          *%rax
+  DB  15,31,0                             ; nopl          (%rax)
+  DB  118,255                             ; jbe           32ac1 <_sk_load_g8_dst_sse2_lowp+0xb9>
+  DB  255                                 ; (bad)
+  DB  255,156,255,255,255,141,255         ; lcall         *-0x720001(%rdi,%rdi,8)
+  DB  255                                 ; (bad)
+  DB  255,212                             ; callq         *%rsp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,201                             ; dec           %ecx
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  190,255,255,255,175                 ; mov           $0xafffffff,%esi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_luminance_to_alpha_sse2_lowp
+_sk_luminance_to_alpha_sse2_lowp LABEL PROC
+  DB  102,15,111,218                      ; movdqa        %xmm2,%xmm3
+  DB  102,15,213,5,200,49,0,0             ; pmullw        0x31c8(%rip),%xmm0        # 35cb0 <_sk_srcover_bgra_8888_sse2_lowp+0x1498>
+  DB  102,15,213,13,208,49,0,0            ; pmullw        0x31d0(%rip),%xmm1        # 35cc0 <_sk_srcover_bgra_8888_sse2_lowp+0x14a8>
+  DB  102,15,253,200                      ; paddw         %xmm0,%xmm1
+  DB  102,15,213,29,212,49,0,0            ; pmullw        0x31d4(%rip),%xmm3        # 35cd0 <_sk_srcover_bgra_8888_sse2_lowp+0x14b8>
+  DB  102,15,253,217                      ; paddw         %xmm1,%xmm3
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  102,15,239,210                      ; pxor          %xmm2,%xmm2
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_gather_g8_sse2_lowp
+_sk_gather_g8_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %rbp
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,84                               ; push          %r12
+  DB  83                                  ; push          %rbx
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,72,12                  ; movss         0xc(%rax),%xmm9
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  102,69,15,118,210                   ; pcmpeqd       %xmm10,%xmm10
+  DB  102,69,15,254,202                   ; paddd         %xmm10,%xmm9
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  65,15,95,192                        ; maxps         %xmm8,%xmm0
+  DB  65,15,95,200                        ; maxps         %xmm8,%xmm1
+  DB  65,15,93,201                        ; minps         %xmm9,%xmm1
+  DB  65,15,93,193                        ; minps         %xmm9,%xmm0
+  DB  243,68,15,16,72,16                  ; movss         0x10(%rax),%xmm9
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  102,69,15,254,202                   ; paddd         %xmm10,%xmm9
+  DB  65,15,95,216                        ; maxps         %xmm8,%xmm3
+  DB  65,15,95,208                        ; maxps         %xmm8,%xmm2
+  DB  65,15,93,209                        ; minps         %xmm9,%xmm2
+  DB  65,15,93,217                        ; minps         %xmm9,%xmm3
+  DB  243,68,15,91,203                    ; cvttps2dq     %xmm3,%xmm9
+  DB  243,68,15,91,210                    ; cvttps2dq     %xmm2,%xmm10
+  DB  102,15,110,88,8                     ; movd          0x8(%rax),%xmm3
+  DB  102,15,112,219,0                    ; pshufd        $0x0,%xmm3,%xmm3
+  DB  102,69,15,112,218,245               ; pshufd        $0xf5,%xmm10,%xmm11
+  DB  102,68,15,244,219                   ; pmuludq       %xmm3,%xmm11
+  DB  102,68,15,111,227                   ; movdqa        %xmm3,%xmm12
+  DB  102,69,15,112,233,245               ; pshufd        $0xf5,%xmm9,%xmm13
+  DB  102,68,15,244,235                   ; pmuludq       %xmm3,%xmm13
+  DB  102,65,15,244,218                   ; pmuludq       %xmm10,%xmm3
+  DB  102,15,112,219,232                  ; pshufd        $0xe8,%xmm3,%xmm3
+  DB  102,65,15,112,211,232               ; pshufd        $0xe8,%xmm11,%xmm2
+  DB  102,15,98,218                       ; punpckldq     %xmm2,%xmm3
+  DB  76,139,16                           ; mov           (%rax),%r10
+  DB  102,69,15,244,225                   ; pmuludq       %xmm9,%xmm12
+  DB  102,69,15,112,204,232               ; pshufd        $0xe8,%xmm12,%xmm9
+  DB  102,65,15,112,213,232               ; pshufd        $0xe8,%xmm13,%xmm2
+  DB  102,68,15,98,202                    ; punpckldq     %xmm2,%xmm9
+  DB  243,15,91,192                       ; cvttps2dq     %xmm0,%xmm0
+  DB  102,15,254,195                      ; paddd         %xmm3,%xmm0
+  DB  243,15,91,201                       ; cvttps2dq     %xmm1,%xmm1
+  DB  102,65,15,254,201                   ; paddd         %xmm9,%xmm1
+  DB  102,15,112,209,78                   ; pshufd        $0x4e,%xmm1,%xmm2
+  DB  102,73,15,126,208                   ; movq          %xmm2,%r8
+  DB  69,137,193                          ; mov           %r8d,%r9d
+  DB  73,193,232,32                       ; shr           $0x20,%r8
+  DB  102,72,15,126,200                   ; movq          %xmm1,%rax
+  DB  65,137,195                          ; mov           %eax,%r11d
+  DB  72,193,232,32                       ; shr           $0x20,%rax
+  DB  102,72,15,126,195                   ; movq          %xmm0,%rbx
+  DB  65,137,222                          ; mov           %ebx,%r14d
+  DB  72,193,235,32                       ; shr           $0x20,%rbx
+  DB  102,15,112,192,78                   ; pshufd        $0x4e,%xmm0,%xmm0
+  DB  102,73,15,126,199                   ; movq          %xmm0,%r15
+  DB  69,137,252                          ; mov           %r15d,%r12d
+  DB  73,193,239,32                       ; shr           $0x20,%r15
+  DB  71,15,182,36,34                     ; movzbl        (%r10,%r12,1),%r12d
+  DB  67,15,182,44,58                     ; movzbl        (%r10,%r15,1),%ebp
+  DB  193,229,8                           ; shl           $0x8,%ebp
+  DB  68,9,229                            ; or            %r12d,%ebp
+  DB  71,15,182,52,50                     ; movzbl        (%r10,%r14,1),%r14d
+  DB  65,15,182,28,26                     ; movzbl        (%r10,%rbx,1),%ebx
+  DB  193,227,8                           ; shl           $0x8,%ebx
+  DB  68,9,243                            ; or            %r14d,%ebx
+  DB  102,15,110,195                      ; movd          %ebx,%xmm0
+  DB  102,15,196,197,1                    ; pinsrw        $0x1,%ebp,%xmm0
+  DB  67,15,182,44,26                     ; movzbl        (%r10,%r11,1),%ebp
+  DB  65,15,182,4,2                       ; movzbl        (%r10,%rax,1),%eax
+  DB  193,224,8                           ; shl           $0x8,%eax
+  DB  9,232                               ; or            %ebp,%eax
+  DB  102,15,196,192,2                    ; pinsrw        $0x2,%eax,%xmm0
+  DB  67,15,182,4,10                      ; movzbl        (%r10,%r9,1),%eax
+  DB  67,15,182,44,2                      ; movzbl        (%r10,%r8,1),%ebp
+  DB  193,229,8                           ; shl           $0x8,%ebp
+  DB  9,197                               ; or            %eax,%ebp
+  DB  102,15,196,197,3                    ; pinsrw        $0x3,%ebp,%xmm0
+  DB  102,65,15,96,192                    ; punpcklbw     %xmm8,%xmm0
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,29,226,39,0,0                 ; movaps        0x27e2(%rip),%xmm3        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
+  DB  102,15,111,208                      ; movdqa        %xmm0,%xmm2
+  DB  91                                  ; pop           %rbx
+  DB  65,92                               ; pop           %r12
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  93                                  ; pop           %rbp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_scale_1_float_sse2_lowp
+_sk_scale_1_float_sse2_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,0                      ; movss         (%rax),%xmm8
+  DB  243,68,15,89,5,100,30,0,0           ; mulss         0x1e64(%rip),%xmm8        # 34af4 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  DB  243,68,15,88,5,43,30,0,0            ; addss         0x1e2b(%rip),%xmm8        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  243,65,15,44,192                    ; cvttss2si     %xmm8,%eax
+  DB  102,68,15,110,192                   ; movd          %eax,%xmm8
+  DB  242,69,15,112,192,0                 ; pshuflw       $0x0,%xmm8,%xmm8
+  DB  102,69,15,112,192,80                ; pshufd        $0x50,%xmm8,%xmm8
+  DB  102,65,15,213,192                   ; pmullw        %xmm8,%xmm0
+  DB  102,68,15,111,13,147,39,0,0         ; movdqa        0x2793(%rip),%xmm9        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,65,15,253,193                   ; paddw         %xmm9,%xmm0
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,65,15,213,200                   ; pmullw        %xmm8,%xmm1
+  DB  102,65,15,253,201                   ; paddw         %xmm9,%xmm1
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,65,15,213,208                   ; pmullw        %xmm8,%xmm2
+  DB  102,65,15,253,209                   ; paddw         %xmm9,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,65,15,213,216                   ; pmullw        %xmm8,%xmm3
+  DB  102,65,15,253,217                   ; paddw         %xmm9,%xmm3
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_lerp_1_float_sse2_lowp
+_sk_lerp_1_float_sse2_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,68,15,16,0                      ; movss         (%rax),%xmm8
+  DB  243,68,15,89,5,236,29,0,0           ; mulss         0x1dec(%rip),%xmm8        # 34af4 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc>
+  DB  243,68,15,88,5,179,29,0,0           ; addss         0x1db3(%rip),%xmm8        # 34ac4 <_sk_srcover_bgra_8888_sse2_lowp+0x2ac>
+  DB  243,65,15,44,192                    ; cvttss2si     %xmm8,%eax
+  DB  102,68,15,110,192                   ; movd          %eax,%xmm8
+  DB  242,69,15,112,192,0                 ; pshuflw       $0x0,%xmm8,%xmm8
+  DB  102,69,15,112,192,80                ; pshufd        $0x50,%xmm8,%xmm8
+  DB  102,68,15,111,13,32,39,0,0          ; movdqa        0x2720(%rip),%xmm9        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,65,15,213,192                   ; pmullw        %xmm8,%xmm0
+  DB  102,65,15,253,193                   ; paddw         %xmm9,%xmm0
+  DB  102,65,15,213,200                   ; pmullw        %xmm8,%xmm1
+  DB  102,65,15,253,201                   ; paddw         %xmm9,%xmm1
+  DB  102,65,15,213,208                   ; pmullw        %xmm8,%xmm2
+  DB  102,65,15,253,209                   ; paddw         %xmm9,%xmm2
+  DB  102,65,15,213,216                   ; pmullw        %xmm8,%xmm3
+  DB  102,65,15,253,217                   ; paddw         %xmm9,%xmm3
+  DB  102,69,15,249,200                   ; psubw         %xmm8,%xmm9
+  DB  102,69,15,111,193                   ; movdqa        %xmm9,%xmm8
+  DB  102,68,15,213,196                   ; pmullw        %xmm4,%xmm8
+  DB  102,65,15,253,192                   ; paddw         %xmm8,%xmm0
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,69,15,111,193                   ; movdqa        %xmm9,%xmm8
+  DB  102,68,15,213,197                   ; pmullw        %xmm5,%xmm8
+  DB  102,65,15,253,200                   ; paddw         %xmm8,%xmm1
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,69,15,111,193                   ; movdqa        %xmm9,%xmm8
+  DB  102,68,15,213,198                   ; pmullw        %xmm6,%xmm8
+  DB  102,65,15,253,208                   ; paddw         %xmm8,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,68,15,213,207                   ; pmullw        %xmm7,%xmm9
+  DB  102,65,15,253,217                   ; paddw         %xmm9,%xmm3
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_scale_u8_sse2_lowp
+_sk_scale_u8_sse2_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,36                              ; ja            32de7 <_sk_scale_u8_sse2_lowp+0x3b>
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,218,0,0,0                 ; lea           0xda(%rip),%r9        # 32eac <_sk_scale_u8_sse2_lowp+0x100>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,182,4,16                      ; movzbl        (%r8,%rdx,1),%eax
+  DB  102,68,15,110,192                   ; movd          %eax,%xmm8
+  DB  235,109                             ; jmp           32e54 <_sk_scale_u8_sse2_lowp+0xa8>
+  DB  243,69,15,126,4,16                  ; movq          (%r8,%rdx,1),%xmm8
+  DB  102,68,15,96,192                    ; punpcklbw     %xmm0,%xmm8
+  DB  235,96                              ; jmp           32e54 <_sk_scale_u8_sse2_lowp+0xa8>
+  DB  65,15,182,68,16,2                   ; movzbl        0x2(%r8,%rdx,1),%eax
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  102,68,15,196,192,2                 ; pinsrw        $0x2,%eax,%xmm8
+  DB  65,15,183,4,16                      ; movzwl        (%r8,%rdx,1),%eax
+  DB  102,68,15,110,200                   ; movd          %eax,%xmm9
+  DB  102,68,15,96,200                    ; punpcklbw     %xmm0,%xmm9
+  DB  243,69,15,16,193                    ; movss         %xmm9,%xmm8
+  DB  235,57                              ; jmp           32e54 <_sk_scale_u8_sse2_lowp+0xa8>
+  DB  65,15,182,68,16,6                   ; movzbl        0x6(%r8,%rdx,1),%eax
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  102,68,15,196,192,6                 ; pinsrw        $0x6,%eax,%xmm8
+  DB  65,15,182,68,16,5                   ; movzbl        0x5(%r8,%rdx,1),%eax
+  DB  102,68,15,196,192,5                 ; pinsrw        $0x5,%eax,%xmm8
+  DB  65,15,182,68,16,4                   ; movzbl        0x4(%r8,%rdx,1),%eax
+  DB  102,68,15,196,192,4                 ; pinsrw        $0x4,%eax,%xmm8
+  DB  102,69,15,110,12,16                 ; movd          (%r8,%rdx,1),%xmm9
+  DB  102,68,15,96,200                    ; punpcklbw     %xmm0,%xmm9
+  DB  242,69,15,16,193                    ; movsd         %xmm9,%xmm8
+  DB  102,68,15,219,5,243,37,0,0          ; pand          0x25f3(%rip),%xmm8        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,65,15,213,192                   ; pmullw        %xmm8,%xmm0
+  DB  102,68,15,111,13,229,37,0,0         ; movdqa        0x25e5(%rip),%xmm9        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,65,15,253,193                   ; paddw         %xmm9,%xmm0
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,65,15,213,200                   ; pmullw        %xmm8,%xmm1
+  DB  102,65,15,253,201                   ; paddw         %xmm9,%xmm1
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,65,15,213,208                   ; pmullw        %xmm8,%xmm2
+  DB  102,65,15,253,209                   ; paddw         %xmm9,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,68,15,213,195                   ; pmullw        %xmm3,%xmm8
+  DB  102,69,15,253,193                   ; paddw         %xmm9,%xmm8
+  DB  102,65,15,113,208,8                 ; psrlw         $0x8,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,65,15,111,216                   ; movdqa        %xmm8,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+  DB  47                                  ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,89,255                          ; lcall         *-0x1(%rcx)
+  DB  255                                 ; (bad)
+  DB  255,72,255                          ; decl          -0x1(%rax)
+  DB  255                                 ; (bad)
+  DB  255,152,255,255,255,140             ; lcall         *-0x73000001(%rax)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,128,255,255,255,111             ; incl          0x6fffffff(%rax)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_lerp_u8_sse2_lowp
+_sk_lerp_u8_sse2_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,36                              ; ja            32f03 <_sk_lerp_u8_sse2_lowp+0x3b>
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,30,1,0,0                  ; lea           0x11e(%rip),%r9        # 3300c <_sk_lerp_u8_sse2_lowp+0x144>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,182,4,16                      ; movzbl        (%r8,%rdx,1),%eax
+  DB  102,68,15,110,192                   ; movd          %eax,%xmm8
+  DB  235,109                             ; jmp           32f70 <_sk_lerp_u8_sse2_lowp+0xa8>
+  DB  243,69,15,126,4,16                  ; movq          (%r8,%rdx,1),%xmm8
+  DB  102,68,15,96,192                    ; punpcklbw     %xmm0,%xmm8
+  DB  235,96                              ; jmp           32f70 <_sk_lerp_u8_sse2_lowp+0xa8>
+  DB  65,15,182,68,16,2                   ; movzbl        0x2(%r8,%rdx,1),%eax
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  102,68,15,196,192,2                 ; pinsrw        $0x2,%eax,%xmm8
+  DB  65,15,183,4,16                      ; movzwl        (%r8,%rdx,1),%eax
+  DB  102,68,15,110,200                   ; movd          %eax,%xmm9
+  DB  102,68,15,96,200                    ; punpcklbw     %xmm0,%xmm9
+  DB  243,69,15,16,193                    ; movss         %xmm9,%xmm8
+  DB  235,57                              ; jmp           32f70 <_sk_lerp_u8_sse2_lowp+0xa8>
+  DB  65,15,182,68,16,6                   ; movzbl        0x6(%r8,%rdx,1),%eax
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  102,68,15,196,192,6                 ; pinsrw        $0x6,%eax,%xmm8
+  DB  65,15,182,68,16,5                   ; movzbl        0x5(%r8,%rdx,1),%eax
+  DB  102,68,15,196,192,5                 ; pinsrw        $0x5,%eax,%xmm8
+  DB  65,15,182,68,16,4                   ; movzbl        0x4(%r8,%rdx,1),%eax
+  DB  102,68,15,196,192,4                 ; pinsrw        $0x4,%eax,%xmm8
+  DB  102,69,15,110,12,16                 ; movd          (%r8,%rdx,1),%xmm9
+  DB  102,68,15,96,200                    ; punpcklbw     %xmm0,%xmm9
+  DB  242,69,15,16,193                    ; movsd         %xmm9,%xmm8
+  DB  102,68,15,219,5,215,36,0,0          ; pand          0x24d7(%rip),%xmm8        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,68,15,111,21,206,36,0,0         ; movdqa        0x24ce(%rip),%xmm10        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,69,15,111,200                   ; movdqa        %xmm8,%xmm9
+  DB  102,69,15,239,202                   ; pxor          %xmm10,%xmm9
+  DB  102,69,15,111,217                   ; movdqa        %xmm9,%xmm11
+  DB  102,68,15,213,220                   ; pmullw        %xmm4,%xmm11
+  DB  102,65,15,213,192                   ; pmullw        %xmm8,%xmm0
+  DB  102,65,15,253,194                   ; paddw         %xmm10,%xmm0
+  DB  102,65,15,253,195                   ; paddw         %xmm11,%xmm0
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,69,15,111,217                   ; movdqa        %xmm9,%xmm11
+  DB  102,68,15,213,221                   ; pmullw        %xmm5,%xmm11
+  DB  102,65,15,213,200                   ; pmullw        %xmm8,%xmm1
+  DB  102,65,15,253,202                   ; paddw         %xmm10,%xmm1
+  DB  102,65,15,253,203                   ; paddw         %xmm11,%xmm1
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,69,15,111,217                   ; movdqa        %xmm9,%xmm11
+  DB  102,68,15,213,222                   ; pmullw        %xmm6,%xmm11
+  DB  102,65,15,213,208                   ; pmullw        %xmm8,%xmm2
+  DB  102,65,15,253,210                   ; paddw         %xmm10,%xmm2
+  DB  102,65,15,253,211                   ; paddw         %xmm11,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,68,15,213,207                   ; pmullw        %xmm7,%xmm9
+  DB  102,68,15,213,195                   ; pmullw        %xmm3,%xmm8
+  DB  102,69,15,253,194                   ; paddw         %xmm10,%xmm8
+  DB  102,69,15,253,193                   ; paddw         %xmm9,%xmm8
+  DB  102,65,15,113,208,8                 ; psrlw         $0x8,%xmm8
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,65,15,111,216                   ; movdqa        %xmm8,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+  DB  15,31,0                             ; nopl          (%rax)
+  DB  235,254                             ; jmp           3300c <_sk_lerp_u8_sse2_lowp+0x144>
+  DB  255                                 ; (bad)
+  DB  255,21,255,255,255,4                ; callq         *0x4ffffff(%rip)        # 5033014 <_sk_srcover_bgra_8888_sse2_lowp+0x4ffe7fc>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,84,255,255                      ; callq         *-0x1(%rdi,%rdi,8)
+  DB  255,72,255                          ; decl          -0x1(%rax)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  60,255                              ; cmp           $0xff,%al
+  DB  255                                 ; (bad)
+  DB  255,43                              ; ljmp          *(%rbx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_scale_565_sse2_lowp
+_sk_scale_565_sse2_lowp LABEL PROC
+  DB  72,131,236,40                       ; sub           $0x28,%rsp
+  DB  102,15,127,116,36,16                ; movdqa        %xmm6,0x10(%rsp)
+  DB  15,41,44,36                         ; movaps        %xmm5,(%rsp)
+  DB  102,15,111,232                      ; movdqa        %xmm0,%xmm5
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,34                              ; ja            33076 <_sk_scale_565_sse2_lowp+0x4e>
+  DB  102,15,239,246                      ; pxor          %xmm6,%xmm6
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,234,1,0,0                 ; lea           0x1ea(%rip),%r9        # 3324c <_sk_scale_565_sse2_lowp+0x224>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,183,4,80                      ; movzwl        (%r8,%rdx,2),%eax
+  DB  102,15,110,240                      ; movd          %eax,%xmm6
+  DB  235,67                              ; jmp           330b9 <_sk_scale_565_sse2_lowp+0x91>
+  DB  243,65,15,111,52,80                 ; movdqu        (%r8,%rdx,2),%xmm6
+  DB  235,59                              ; jmp           330b9 <_sk_scale_565_sse2_lowp+0x91>
+  DB  102,15,239,246                      ; pxor          %xmm6,%xmm6
+  DB  102,65,15,196,116,80,4,2            ; pinsrw        $0x2,0x4(%r8,%rdx,2),%xmm6
+  DB  243,69,15,16,12,80                  ; movss         (%r8,%rdx,2),%xmm9
+  DB  243,65,15,16,241                    ; movss         %xmm9,%xmm6
+  DB  235,34                              ; jmp           330b9 <_sk_scale_565_sse2_lowp+0x91>
+  DB  102,15,239,246                      ; pxor          %xmm6,%xmm6
+  DB  102,65,15,196,116,80,12,6           ; pinsrw        $0x6,0xc(%r8,%rdx,2),%xmm6
+  DB  102,65,15,196,116,80,10,5           ; pinsrw        $0x5,0xa(%r8,%rdx,2),%xmm6
+  DB  102,65,15,196,116,80,8,4            ; pinsrw        $0x4,0x8(%r8,%rdx,2),%xmm6
+  DB  102,65,15,18,52,80                  ; movlpd        (%r8,%rdx,2),%xmm6
+  DB  102,68,15,111,222                   ; movdqa        %xmm6,%xmm11
+  DB  102,65,15,113,211,8                 ; psrlw         $0x8,%xmm11
+  DB  102,68,15,219,29,83,43,0,0          ; pand          0x2b53(%rip),%xmm11        # 35c20 <_sk_srcover_bgra_8888_sse2_lowp+0x1408>
+  DB  102,68,15,111,206                   ; movdqa        %xmm6,%xmm9
+  DB  102,65,15,113,209,5                 ; psrlw         $0x5,%xmm9
+  DB  102,68,15,219,13,79,43,0,0          ; pand          0x2b4f(%rip),%xmm9        # 35c30 <_sk_srcover_bgra_8888_sse2_lowp+0x1418>
+  DB  102,68,15,111,21,86,43,0,0          ; movdqa        0x2b56(%rip),%xmm10        # 35c40 <_sk_srcover_bgra_8888_sse2_lowp+0x1428>
+  DB  102,68,15,219,214                   ; pand          %xmm6,%xmm10
+  DB  102,15,113,214,13                   ; psrlw         $0xd,%xmm6
+  DB  102,65,15,235,243                   ; por           %xmm11,%xmm6
+  DB  102,69,15,111,217                   ; movdqa        %xmm9,%xmm11
+  DB  102,65,15,113,243,2                 ; psllw         $0x2,%xmm11
+  DB  102,65,15,113,209,4                 ; psrlw         $0x4,%xmm9
+  DB  102,69,15,235,203                   ; por           %xmm11,%xmm9
+  DB  102,69,15,111,218                   ; movdqa        %xmm10,%xmm11
+  DB  102,65,15,113,243,3                 ; psllw         $0x3,%xmm11
+  DB  102,65,15,113,210,2                 ; psrlw         $0x2,%xmm10
+  DB  102,69,15,235,211                   ; por           %xmm11,%xmm10
+  DB  102,68,15,111,37,178,42,0,0         ; movdqa        0x2ab2(%rip),%xmm12        # 35be0 <_sk_srcover_bgra_8888_sse2_lowp+0x13c8>
+  DB  102,68,15,111,235                   ; movdqa        %xmm3,%xmm13
+  DB  102,69,15,239,236                   ; pxor          %xmm12,%xmm13
+  DB  102,68,15,111,223                   ; movdqa        %xmm7,%xmm11
+  DB  102,69,15,239,220                   ; pxor          %xmm12,%xmm11
+  DB  102,69,15,101,221                   ; pcmpgtw       %xmm13,%xmm11
+  DB  102,69,15,111,234                   ; movdqa        %xmm10,%xmm13
+  DB  102,69,15,239,236                   ; pxor          %xmm12,%xmm13
+  DB  102,69,15,111,241                   ; movdqa        %xmm9,%xmm14
+  DB  102,69,15,239,244                   ; pxor          %xmm12,%xmm14
+  DB  102,69,15,101,238                   ; pcmpgtw       %xmm14,%xmm13
+  DB  102,69,15,111,245                   ; movdqa        %xmm13,%xmm14
+  DB  102,69,15,223,242                   ; pandn         %xmm10,%xmm14
+  DB  102,69,15,111,249                   ; movdqa        %xmm9,%xmm15
+  DB  102,69,15,219,253                   ; pand          %xmm13,%xmm15
+  DB  102,69,15,235,254                   ; por           %xmm14,%xmm15
+  DB  102,69,15,111,247                   ; movdqa        %xmm15,%xmm14
+  DB  102,69,15,239,244                   ; pxor          %xmm12,%xmm14
+  DB  102,68,15,111,198                   ; movdqa        %xmm6,%xmm8
+  DB  102,69,15,235,196                   ; por           %xmm12,%xmm8
+  DB  102,69,15,101,240                   ; pcmpgtw       %xmm8,%xmm14
+  DB  102,15,111,198                      ; movdqa        %xmm6,%xmm0
+  DB  102,65,15,219,198                   ; pand          %xmm14,%xmm0
+  DB  102,69,15,223,247                   ; pandn         %xmm15,%xmm14
+  DB  102,68,15,235,240                   ; por           %xmm0,%xmm14
+  DB  102,65,15,111,194                   ; movdqa        %xmm10,%xmm0
+  DB  102,65,15,219,197                   ; pand          %xmm13,%xmm0
+  DB  102,69,15,223,233                   ; pandn         %xmm9,%xmm13
+  DB  102,68,15,235,232                   ; por           %xmm0,%xmm13
+  DB  102,69,15,239,229                   ; pxor          %xmm13,%xmm12
+  DB  102,69,15,101,224                   ; pcmpgtw       %xmm8,%xmm12
+  DB  102,69,15,219,236                   ; pand          %xmm12,%xmm13
+  DB  102,68,15,223,230                   ; pandn         %xmm6,%xmm12
+  DB  102,69,15,235,229                   ; por           %xmm13,%xmm12
+  DB  102,69,15,219,243                   ; pand          %xmm11,%xmm14
+  DB  102,69,15,223,220                   ; pandn         %xmm12,%xmm11
+  DB  102,69,15,235,222                   ; por           %xmm14,%xmm11
+  DB  102,15,213,245                      ; pmullw        %xmm5,%xmm6
+  DB  102,68,15,213,201                   ; pmullw        %xmm1,%xmm9
+  DB  102,68,15,213,210                   ; pmullw        %xmm2,%xmm10
+  DB  102,68,15,213,219                   ; pmullw        %xmm3,%xmm11
+  DB  102,15,111,5,84,34,0,0              ; movdqa        0x2254(%rip),%xmm0        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,15,253,240                      ; paddw         %xmm0,%xmm6
+  DB  102,68,15,253,200                   ; paddw         %xmm0,%xmm9
+  DB  102,68,15,253,208                   ; paddw         %xmm0,%xmm10
+  DB  102,68,15,253,216                   ; paddw         %xmm0,%xmm11
+  DB  102,15,113,214,8                    ; psrlw         $0x8,%xmm6
+  DB  102,65,15,113,209,8                 ; psrlw         $0x8,%xmm9
+  DB  102,65,15,113,210,8                 ; psrlw         $0x8,%xmm10
+  DB  102,65,15,113,211,8                 ; psrlw         $0x8,%xmm11
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,15,111,198                      ; movdqa        %xmm6,%xmm0
+  DB  102,65,15,111,201                   ; movdqa        %xmm9,%xmm1
+  DB  102,65,15,111,210                   ; movdqa        %xmm10,%xmm2
+  DB  102,65,15,111,219                   ; movdqa        %xmm11,%xmm3
+  DB  15,40,44,36                         ; movaps        (%rsp),%xmm5
+  DB  15,40,116,36,16                     ; movaps        0x10(%rsp),%xmm6
+  DB  72,131,196,40                       ; add           $0x28,%rsp
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  31                                  ; (bad)
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  62,254                              ; ds            (bad)
+  DB  255                                 ; (bad)
+  DB  255,50                              ; pushq         (%rdx)
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,103,254                         ; jmpq          *-0x2(%rdi)
+  DB  255                                 ; (bad)
+  DB  255,95,254                          ; lcall         *-0x2(%rdi)
+  DB  255                                 ; (bad)
+  DB  255,87,254                          ; callq         *-0x2(%rdi)
+  DB  255                                 ; (bad)
+  DB  255,75,254                          ; decl          -0x2(%rbx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_lerp_565_sse2_lowp
+_sk_lerp_565_sse2_lowp LABEL PROC
+  DB  72,131,236,40                       ; sub           $0x28,%rsp
+  DB  102,15,127,84,36,16                 ; movdqa        %xmm2,0x10(%rsp)
+  DB  15,41,12,36                         ; movaps        %xmm1,(%rsp)
+  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  77,1,192                            ; add           %r8,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  137,248                             ; mov           %edi,%eax
+  DB  36,7                                ; and           $0x7,%al
+  DB  254,200                             ; dec           %al
+  DB  60,6                                ; cmp           $0x6,%al
+  DB  119,34                              ; ja            332b6 <_sk_lerp_565_sse2_lowp+0x4e>
+  DB  102,15,239,210                      ; pxor          %xmm2,%xmm2
+  DB  15,182,192                          ; movzbl        %al,%eax
+  DB  76,141,13,46,2,0,0                  ; lea           0x22e(%rip),%r9        # 334d0 <_sk_lerp_565_sse2_lowp+0x268>
+  DB  73,99,4,129                         ; movslq        (%r9,%rax,4),%rax
+  DB  76,1,200                            ; add           %r9,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  65,15,183,4,80                      ; movzwl        (%r8,%rdx,2),%eax
+  DB  102,15,110,208                      ; movd          %eax,%xmm2
+  DB  235,67                              ; jmp           332f9 <_sk_lerp_565_sse2_lowp+0x91>
+  DB  243,65,15,111,20,80                 ; movdqu        (%r8,%rdx,2),%xmm2
+  DB  235,59                              ; jmp           332f9 <_sk_lerp_565_sse2_lowp+0x91>
+  DB  102,15,239,210                      ; pxor          %xmm2,%xmm2
+  DB  102,65,15,196,84,80,4,2             ; pinsrw        $0x2,0x4(%r8,%rdx,2),%xmm2
+  DB  243,69,15,16,12,80                  ; movss         (%r8,%rdx,2),%xmm9
+  DB  243,65,15,16,209                    ; movss         %xmm9,%xmm2
+  DB  235,34                              ; jmp           332f9 <_sk_lerp_565_sse2_lowp+0x91>
+  DB  102,15,239,210                      ; pxor          %xmm2,%xmm2
+  DB  102,65,15,196,84,80,12,6            ; pinsrw        $0x6,0xc(%r8,%rdx,2),%xmm2
+  DB  102,65,15,196,84,80,10,5            ; pinsrw        $0x5,0xa(%r8,%rdx,2),%xmm2
+  DB  102,65,15,196,84,80,8,4             ; pinsrw        $0x4,0x8(%r8,%rdx,2),%xmm2
+  DB  102,65,15,18,20,80                  ; movlpd        (%r8,%rdx,2),%xmm2
+  DB  102,68,15,111,218                   ; movdqa        %xmm2,%xmm11
+  DB  102,65,15,113,211,8                 ; psrlw         $0x8,%xmm11
+  DB  102,68,15,219,29,19,41,0,0          ; pand          0x2913(%rip),%xmm11        # 35c20 <_sk_srcover_bgra_8888_sse2_lowp+0x1408>
+  DB  102,68,15,111,202                   ; movdqa        %xmm2,%xmm9
+  DB  102,65,15,113,209,5                 ; psrlw         $0x5,%xmm9
+  DB  102,68,15,219,13,15,41,0,0          ; pand          0x290f(%rip),%xmm9        # 35c30 <_sk_srcover_bgra_8888_sse2_lowp+0x1418>
+  DB  102,68,15,111,21,22,41,0,0          ; movdqa        0x2916(%rip),%xmm10        # 35c40 <_sk_srcover_bgra_8888_sse2_lowp+0x1428>
+  DB  102,68,15,219,210                   ; pand          %xmm2,%xmm10
+  DB  102,15,113,210,13                   ; psrlw         $0xd,%xmm2
+  DB  102,65,15,235,211                   ; por           %xmm11,%xmm2
+  DB  102,69,15,111,217                   ; movdqa        %xmm9,%xmm11
+  DB  102,65,15,113,243,2                 ; psllw         $0x2,%xmm11
+  DB  102,65,15,113,209,4                 ; psrlw         $0x4,%xmm9
+  DB  102,69,15,235,203                   ; por           %xmm11,%xmm9
+  DB  102,69,15,111,218                   ; movdqa        %xmm10,%xmm11
+  DB  102,65,15,113,243,3                 ; psllw         $0x3,%xmm11
+  DB  102,65,15,113,210,2                 ; psrlw         $0x2,%xmm10
+  DB  102,69,15,235,211                   ; por           %xmm11,%xmm10
+  DB  102,68,15,111,37,114,40,0,0         ; movdqa        0x2872(%rip),%xmm12        # 35be0 <_sk_srcover_bgra_8888_sse2_lowp+0x13c8>
+  DB  102,68,15,111,235                   ; movdqa        %xmm3,%xmm13
+  DB  102,69,15,239,236                   ; pxor          %xmm12,%xmm13
+  DB  102,68,15,111,223                   ; movdqa        %xmm7,%xmm11
+  DB  102,69,15,239,220                   ; pxor          %xmm12,%xmm11
+  DB  102,69,15,101,221                   ; pcmpgtw       %xmm13,%xmm11
+  DB  102,69,15,111,234                   ; movdqa        %xmm10,%xmm13
+  DB  102,69,15,239,236                   ; pxor          %xmm12,%xmm13
+  DB  102,69,15,111,241                   ; movdqa        %xmm9,%xmm14
+  DB  102,69,15,239,244                   ; pxor          %xmm12,%xmm14
+  DB  102,69,15,101,238                   ; pcmpgtw       %xmm14,%xmm13
+  DB  102,69,15,111,245                   ; movdqa        %xmm13,%xmm14
+  DB  102,69,15,223,242                   ; pandn         %xmm10,%xmm14
+  DB  102,69,15,111,249                   ; movdqa        %xmm9,%xmm15
+  DB  102,69,15,219,253                   ; pand          %xmm13,%xmm15
+  DB  102,69,15,235,254                   ; por           %xmm14,%xmm15
+  DB  102,69,15,111,247                   ; movdqa        %xmm15,%xmm14
+  DB  102,69,15,239,244                   ; pxor          %xmm12,%xmm14
+  DB  102,68,15,111,194                   ; movdqa        %xmm2,%xmm8
+  DB  102,69,15,235,196                   ; por           %xmm12,%xmm8
+  DB  102,69,15,101,240                   ; pcmpgtw       %xmm8,%xmm14
+  DB  102,15,111,194                      ; movdqa        %xmm2,%xmm0
+  DB  102,65,15,219,198                   ; pand          %xmm14,%xmm0
+  DB  102,69,15,223,247                   ; pandn         %xmm15,%xmm14
+  DB  102,68,15,235,240                   ; por           %xmm0,%xmm14
+  DB  102,65,15,111,194                   ; movdqa        %xmm10,%xmm0
+  DB  102,65,15,219,197                   ; pand          %xmm13,%xmm0
+  DB  102,69,15,223,233                   ; pandn         %xmm9,%xmm13
+  DB  102,68,15,235,232                   ; por           %xmm0,%xmm13
+  DB  102,69,15,239,229                   ; pxor          %xmm13,%xmm12
+  DB  102,69,15,101,224                   ; pcmpgtw       %xmm8,%xmm12
+  DB  102,69,15,219,236                   ; pand          %xmm12,%xmm13
+  DB  102,68,15,223,226                   ; pandn         %xmm2,%xmm12
+  DB  102,69,15,235,229                   ; por           %xmm13,%xmm12
+  DB  102,69,15,219,243                   ; pand          %xmm11,%xmm14
+  DB  102,69,15,223,220                   ; pandn         %xmm12,%xmm11
+  DB  102,69,15,235,222                   ; por           %xmm14,%xmm11
+  DB  102,15,111,194                      ; movdqa        %xmm2,%xmm0
+  DB  102,15,213,209                      ; pmullw        %xmm1,%xmm2
+  DB  102,68,15,111,5,30,32,0,0           ; movdqa        0x201e(%rip),%xmm8        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,65,15,239,192                   ; pxor          %xmm8,%xmm0
+  DB  102,15,213,196                      ; pmullw        %xmm4,%xmm0
+  DB  102,65,15,253,208                   ; paddw         %xmm8,%xmm2
+  DB  102,15,253,208                      ; paddw         %xmm0,%xmm2
+  DB  102,65,15,111,193                   ; movdqa        %xmm9,%xmm0
+  DB  102,68,15,213,12,36                 ; pmullw        (%rsp),%xmm9
+  DB  102,65,15,239,192                   ; pxor          %xmm8,%xmm0
+  DB  102,15,213,197                      ; pmullw        %xmm5,%xmm0
+  DB  102,69,15,253,200                   ; paddw         %xmm8,%xmm9
+  DB  102,68,15,253,200                   ; paddw         %xmm0,%xmm9
+  DB  102,65,15,111,194                   ; movdqa        %xmm10,%xmm0
+  DB  102,68,15,213,84,36,16              ; pmullw        0x10(%rsp),%xmm10
+  DB  102,65,15,239,192                   ; pxor          %xmm8,%xmm0
+  DB  102,15,213,198                      ; pmullw        %xmm6,%xmm0
+  DB  102,69,15,253,208                   ; paddw         %xmm8,%xmm10
+  DB  102,68,15,253,208                   ; paddw         %xmm0,%xmm10
+  DB  102,65,15,111,195                   ; movdqa        %xmm11,%xmm0
+  DB  102,68,15,213,219                   ; pmullw        %xmm3,%xmm11
+  DB  102,65,15,239,192                   ; pxor          %xmm8,%xmm0
+  DB  102,69,15,253,216                   ; paddw         %xmm8,%xmm11
+  DB  102,15,213,199                      ; pmullw        %xmm7,%xmm0
+  DB  102,68,15,253,216                   ; paddw         %xmm0,%xmm11
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,65,15,113,209,8                 ; psrlw         $0x8,%xmm9
+  DB  102,65,15,113,210,8                 ; psrlw         $0x8,%xmm10
+  DB  102,65,15,113,211,8                 ; psrlw         $0x8,%xmm11
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,15,111,194                      ; movdqa        %xmm2,%xmm0
+  DB  102,65,15,111,201                   ; movdqa        %xmm9,%xmm1
+  DB  102,65,15,111,210                   ; movdqa        %xmm10,%xmm2
+  DB  102,65,15,111,219                   ; movdqa        %xmm11,%xmm3
+  DB  72,131,196,40                       ; add           $0x28,%rsp
+  DB  255,224                             ; jmpq          *%rax
+  DB  219,253                             ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  250                                 ; cli
+  DB  253                                 ; std
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  238                                 ; out           %al,(%dx)
+  DB  253                                 ; std
+  DB  255                                 ; (bad)
+  DB  255,35                              ; jmpq          *(%rbx)
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,27                              ; lcall         *(%rbx)
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,19                              ; callq         *(%rbx)
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,7                               ; incl          (%rdi)
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_clamp_x_1_sse2_lowp
+_sk_clamp_x_1_sse2_lowp LABEL PROC
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  65,15,95,200                        ; maxps         %xmm8,%xmm1
+  DB  65,15,95,192                        ; maxps         %xmm8,%xmm0
+  DB  68,15,40,5,176,31,0,0               ; movaps        0x1fb0(%rip),%xmm8        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  65,15,93,192                        ; minps         %xmm8,%xmm0
+  DB  65,15,93,200                        ; minps         %xmm8,%xmm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_repeat_x_1_sse2_lowp
+_sk_repeat_x_1_sse2_lowp LABEL PROC
+  DB  243,68,15,91,193                    ; cvttps2dq     %xmm1,%xmm8
+  DB  243,68,15,91,200                    ; cvttps2dq     %xmm0,%xmm9
+  DB  69,15,91,201                        ; cvtdq2ps      %xmm9,%xmm9
+  DB  69,15,91,192                        ; cvtdq2ps      %xmm8,%xmm8
+  DB  68,15,40,209                        ; movaps        %xmm1,%xmm10
+  DB  69,15,194,208,1                     ; cmpltps       %xmm8,%xmm10
+  DB  68,15,40,216                        ; movaps        %xmm0,%xmm11
+  DB  69,15,194,217,1                     ; cmpltps       %xmm9,%xmm11
+  DB  68,15,40,37,120,31,0,0              ; movaps        0x1f78(%rip),%xmm12        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,84,220                        ; andps         %xmm12,%xmm11
+  DB  69,15,84,212                        ; andps         %xmm12,%xmm10
+  DB  69,15,87,237                        ; xorps         %xmm13,%xmm13
+  DB  69,15,92,194                        ; subps         %xmm10,%xmm8
+  DB  69,15,92,203                        ; subps         %xmm11,%xmm9
+  DB  65,15,92,193                        ; subps         %xmm9,%xmm0
+  DB  65,15,92,200                        ; subps         %xmm8,%xmm1
+  DB  65,15,95,205                        ; maxps         %xmm13,%xmm1
+  DB  65,15,95,197                        ; maxps         %xmm13,%xmm0
+  DB  65,15,93,196                        ; minps         %xmm12,%xmm0
+  DB  65,15,93,204                        ; minps         %xmm12,%xmm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_mirror_x_1_sse2_lowp
+_sk_mirror_x_1_sse2_lowp LABEL PROC
+  DB  68,15,40,5,160,31,0,0               ; movaps        0x1fa0(%rip),%xmm8        # 35510 <_sk_srcover_bgra_8888_sse2_lowp+0xcf8>
+  DB  65,15,88,192                        ; addps         %xmm8,%xmm0
+  DB  65,15,88,200                        ; addps         %xmm8,%xmm1
+  DB  68,15,40,21,32,31,0,0               ; movaps        0x1f20(%rip),%xmm10        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  68,15,40,217                        ; movaps        %xmm1,%xmm11
+  DB  69,15,89,218                        ; mulps         %xmm10,%xmm11
+  DB  68,15,89,208                        ; mulps         %xmm0,%xmm10
+  DB  243,69,15,91,202                    ; cvttps2dq     %xmm10,%xmm9
+  DB  243,69,15,91,227                    ; cvttps2dq     %xmm11,%xmm12
+  DB  69,15,91,228                        ; cvtdq2ps      %xmm12,%xmm12
+  DB  69,15,91,233                        ; cvtdq2ps      %xmm9,%xmm13
+  DB  69,15,194,213,1                     ; cmpltps       %xmm13,%xmm10
+  DB  69,15,194,220,1                     ; cmpltps       %xmm12,%xmm11
+  DB  68,15,40,13,0,31,0,0                ; movaps        0x1f00(%rip),%xmm9        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,84,217                        ; andps         %xmm9,%xmm11
+  DB  69,15,84,209                        ; andps         %xmm9,%xmm10
+  DB  69,15,87,246                        ; xorps         %xmm14,%xmm14
+  DB  69,15,92,234                        ; subps         %xmm10,%xmm13
+  DB  69,15,92,227                        ; subps         %xmm11,%xmm12
+  DB  69,15,88,228                        ; addps         %xmm12,%xmm12
+  DB  69,15,88,237                        ; addps         %xmm13,%xmm13
+  DB  65,15,92,197                        ; subps         %xmm13,%xmm0
+  DB  65,15,92,204                        ; subps         %xmm12,%xmm1
+  DB  65,15,88,200                        ; addps         %xmm8,%xmm1
+  DB  65,15,88,192                        ; addps         %xmm8,%xmm0
+  DB  68,15,40,5,44,36,0,0                ; movaps        0x242c(%rip),%xmm8        # 35a10 <_sk_srcover_bgra_8888_sse2_lowp+0x11f8>
+  DB  65,15,84,192                        ; andps         %xmm8,%xmm0
+  DB  65,15,84,200                        ; andps         %xmm8,%xmm1
+  DB  65,15,95,206                        ; maxps         %xmm14,%xmm1
+  DB  65,15,95,198                        ; maxps         %xmm14,%xmm0
+  DB  65,15,93,193                        ; minps         %xmm9,%xmm0
+  DB  65,15,93,201                        ; minps         %xmm9,%xmm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_decal_x_sse2_lowp
+_sk_decal_x_sse2_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,194,201,2                     ; cmpleps       %xmm1,%xmm9
+  DB  242,69,15,112,201,232               ; pshuflw       $0xe8,%xmm9,%xmm9
+  DB  243,69,15,112,201,232               ; pshufhw       $0xe8,%xmm9,%xmm9
+  DB  102,69,15,112,201,232               ; pshufd        $0xe8,%xmm9,%xmm9
+  DB  68,15,194,192,2                     ; cmpleps       %xmm0,%xmm8
+  DB  242,69,15,112,192,232               ; pshuflw       $0xe8,%xmm8,%xmm8
+  DB  243,69,15,112,192,232               ; pshufhw       $0xe8,%xmm8,%xmm8
+  DB  102,69,15,112,192,232               ; pshufd        $0xe8,%xmm8,%xmm8
+  DB  102,69,15,108,193                   ; punpcklqdq    %xmm9,%xmm8
+  DB  102,65,15,113,240,15                ; psllw         $0xf,%xmm8
+  DB  102,65,15,113,224,15                ; psraw         $0xf,%xmm8
+  DB  243,68,15,16,72,64                  ; movss         0x40(%rax),%xmm9
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  68,15,40,209                        ; movaps        %xmm1,%xmm10
+  DB  69,15,194,209,1                     ; cmpltps       %xmm9,%xmm10
+  DB  242,69,15,112,210,232               ; pshuflw       $0xe8,%xmm10,%xmm10
+  DB  243,69,15,112,210,232               ; pshufhw       $0xe8,%xmm10,%xmm10
+  DB  102,69,15,112,210,232               ; pshufd        $0xe8,%xmm10,%xmm10
+  DB  68,15,40,216                        ; movaps        %xmm0,%xmm11
+  DB  69,15,194,217,1                     ; cmpltps       %xmm9,%xmm11
+  DB  242,69,15,112,203,232               ; pshuflw       $0xe8,%xmm11,%xmm9
+  DB  243,69,15,112,201,232               ; pshufhw       $0xe8,%xmm9,%xmm9
+  DB  102,69,15,112,201,232               ; pshufd        $0xe8,%xmm9,%xmm9
+  DB  102,69,15,108,202                   ; punpcklqdq    %xmm10,%xmm9
+  DB  102,65,15,113,241,15                ; psllw         $0xf,%xmm9
+  DB  102,65,15,113,225,15                ; psraw         $0xf,%xmm9
+  DB  102,69,15,219,200                   ; pand          %xmm8,%xmm9
+  DB  243,68,15,127,8                     ; movdqu        %xmm9,(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_decal_y_sse2_lowp
+_sk_decal_y_sse2_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,194,203,2                     ; cmpleps       %xmm3,%xmm9
+  DB  242,69,15,112,201,232               ; pshuflw       $0xe8,%xmm9,%xmm9
+  DB  243,69,15,112,201,232               ; pshufhw       $0xe8,%xmm9,%xmm9
+  DB  102,69,15,112,201,232               ; pshufd        $0xe8,%xmm9,%xmm9
+  DB  68,15,194,194,2                     ; cmpleps       %xmm2,%xmm8
+  DB  242,69,15,112,192,232               ; pshuflw       $0xe8,%xmm8,%xmm8
+  DB  243,69,15,112,192,232               ; pshufhw       $0xe8,%xmm8,%xmm8
+  DB  102,69,15,112,192,232               ; pshufd        $0xe8,%xmm8,%xmm8
+  DB  102,69,15,108,193                   ; punpcklqdq    %xmm9,%xmm8
+  DB  102,65,15,113,240,15                ; psllw         $0xf,%xmm8
+  DB  102,65,15,113,224,15                ; psraw         $0xf,%xmm8
+  DB  243,68,15,16,72,68                  ; movss         0x44(%rax),%xmm9
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  68,15,40,211                        ; movaps        %xmm3,%xmm10
+  DB  69,15,194,209,1                     ; cmpltps       %xmm9,%xmm10
+  DB  242,69,15,112,210,232               ; pshuflw       $0xe8,%xmm10,%xmm10
+  DB  243,69,15,112,210,232               ; pshufhw       $0xe8,%xmm10,%xmm10
+  DB  102,69,15,112,210,232               ; pshufd        $0xe8,%xmm10,%xmm10
+  DB  68,15,40,218                        ; movaps        %xmm2,%xmm11
+  DB  69,15,194,217,1                     ; cmpltps       %xmm9,%xmm11
+  DB  242,69,15,112,203,232               ; pshuflw       $0xe8,%xmm11,%xmm9
+  DB  243,69,15,112,201,232               ; pshufhw       $0xe8,%xmm9,%xmm9
+  DB  102,69,15,112,201,232               ; pshufd        $0xe8,%xmm9,%xmm9
+  DB  102,69,15,108,202                   ; punpcklqdq    %xmm10,%xmm9
+  DB  102,65,15,113,241,15                ; psllw         $0xf,%xmm9
+  DB  102,65,15,113,225,15                ; psraw         $0xf,%xmm9
+  DB  102,69,15,219,200                   ; pand          %xmm8,%xmm9
+  DB  243,68,15,127,8                     ; movdqu        %xmm9,(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_decal_x_and_y_sse2_lowp
+_sk_decal_x_and_y_sse2_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  69,15,87,210                        ; xorps         %xmm10,%xmm10
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  68,15,194,193,2                     ; cmpleps       %xmm1,%xmm8
+  DB  242,69,15,112,192,232               ; pshuflw       $0xe8,%xmm8,%xmm8
+  DB  243,69,15,112,192,232               ; pshufhw       $0xe8,%xmm8,%xmm8
+  DB  102,69,15,112,192,232               ; pshufd        $0xe8,%xmm8,%xmm8
+  DB  69,15,87,201                        ; xorps         %xmm9,%xmm9
+  DB  68,15,194,200,2                     ; cmpleps       %xmm0,%xmm9
+  DB  242,69,15,112,201,232               ; pshuflw       $0xe8,%xmm9,%xmm9
+  DB  243,69,15,112,201,232               ; pshufhw       $0xe8,%xmm9,%xmm9
+  DB  102,69,15,112,201,232               ; pshufd        $0xe8,%xmm9,%xmm9
+  DB  102,69,15,108,200                   ; punpcklqdq    %xmm8,%xmm9
+  DB  102,65,15,113,241,15                ; psllw         $0xf,%xmm9
+  DB  102,65,15,113,225,15                ; psraw         $0xf,%xmm9
+  DB  243,68,15,16,88,64                  ; movss         0x40(%rax),%xmm11
+  DB  243,68,15,16,64,68                  ; movss         0x44(%rax),%xmm8
+  DB  69,15,198,219,0                     ; shufps        $0x0,%xmm11,%xmm11
+  DB  68,15,40,225                        ; movaps        %xmm1,%xmm12
+  DB  69,15,194,227,1                     ; cmpltps       %xmm11,%xmm12
+  DB  242,69,15,112,228,232               ; pshuflw       $0xe8,%xmm12,%xmm12
+  DB  243,69,15,112,228,232               ; pshufhw       $0xe8,%xmm12,%xmm12
+  DB  102,69,15,112,228,232               ; pshufd        $0xe8,%xmm12,%xmm12
+  DB  68,15,40,232                        ; movaps        %xmm0,%xmm13
+  DB  69,15,194,235,1                     ; cmpltps       %xmm11,%xmm13
+  DB  242,69,15,112,221,232               ; pshuflw       $0xe8,%xmm13,%xmm11
+  DB  243,69,15,112,219,232               ; pshufhw       $0xe8,%xmm11,%xmm11
+  DB  102,69,15,112,219,232               ; pshufd        $0xe8,%xmm11,%xmm11
+  DB  102,69,15,108,220                   ; punpcklqdq    %xmm12,%xmm11
+  DB  102,65,15,113,243,15                ; psllw         $0xf,%xmm11
+  DB  102,65,15,113,227,15                ; psraw         $0xf,%xmm11
+  DB  102,69,15,239,228                   ; pxor          %xmm12,%xmm12
+  DB  68,15,194,227,2                     ; cmpleps       %xmm3,%xmm12
+  DB  242,69,15,112,228,232               ; pshuflw       $0xe8,%xmm12,%xmm12
+  DB  243,69,15,112,228,232               ; pshufhw       $0xe8,%xmm12,%xmm12
+  DB  102,69,15,112,228,232               ; pshufd        $0xe8,%xmm12,%xmm12
+  DB  68,15,194,210,2                     ; cmpleps       %xmm2,%xmm10
+  DB  242,69,15,112,210,232               ; pshuflw       $0xe8,%xmm10,%xmm10
+  DB  243,69,15,112,210,232               ; pshufhw       $0xe8,%xmm10,%xmm10
+  DB  102,69,15,112,210,232               ; pshufd        $0xe8,%xmm10,%xmm10
+  DB  102,69,15,108,212                   ; punpcklqdq    %xmm12,%xmm10
+  DB  102,65,15,113,242,15                ; psllw         $0xf,%xmm10
+  DB  102,65,15,113,226,15                ; psraw         $0xf,%xmm10
+  DB  102,69,15,219,209                   ; pand          %xmm9,%xmm10
+  DB  102,69,15,219,211                   ; pand          %xmm11,%xmm10
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  68,15,40,203                        ; movaps        %xmm3,%xmm9
+  DB  69,15,194,200,1                     ; cmpltps       %xmm8,%xmm9
+  DB  242,69,15,112,201,232               ; pshuflw       $0xe8,%xmm9,%xmm9
+  DB  243,69,15,112,201,232               ; pshufhw       $0xe8,%xmm9,%xmm9
+  DB  102,69,15,112,201,232               ; pshufd        $0xe8,%xmm9,%xmm9
+  DB  68,15,40,218                        ; movaps        %xmm2,%xmm11
+  DB  69,15,194,216,1                     ; cmpltps       %xmm8,%xmm11
+  DB  242,69,15,112,195,232               ; pshuflw       $0xe8,%xmm11,%xmm8
+  DB  243,69,15,112,192,232               ; pshufhw       $0xe8,%xmm8,%xmm8
+  DB  102,69,15,112,192,232               ; pshufd        $0xe8,%xmm8,%xmm8
+  DB  102,69,15,108,193                   ; punpcklqdq    %xmm9,%xmm8
+  DB  102,65,15,113,240,15                ; psllw         $0xf,%xmm8
+  DB  102,65,15,113,224,15                ; psraw         $0xf,%xmm8
+  DB  102,69,15,219,194                   ; pand          %xmm10,%xmm8
+  DB  243,68,15,127,0                     ; movdqu        %xmm8,(%rax)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_check_decal_mask_sse2_lowp
+_sk_check_decal_mask_sse2_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  68,15,16,0                          ; movups        (%rax),%xmm8
+  DB  65,15,84,192                        ; andps         %xmm8,%xmm0
+  DB  65,15,84,200                        ; andps         %xmm8,%xmm1
+  DB  65,15,84,208                        ; andps         %xmm8,%xmm2
+  DB  65,15,84,216                        ; andps         %xmm8,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_gradient_sse2_lowp
+_sk_gradient_sse2_lowp LABEL PROC
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,85                               ; push          %r13
+  DB  65,84                               ; push          %r12
+  DB  83                                  ; push          %rbx
+  DB  72,129,236,128,0,0,0                ; sub           $0x80,%rsp
+  DB  15,41,124,36,112                    ; movaps        %xmm7,0x70(%rsp)
+  DB  15,41,116,36,96                     ; movaps        %xmm6,0x60(%rsp)
+  DB  15,41,108,36,80                     ; movaps        %xmm5,0x50(%rsp)
+  DB  15,41,100,36,64                     ; movaps        %xmm4,0x40(%rsp)
+  DB  68,15,40,249                        ; movaps        %xmm1,%xmm15
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,139,0                            ; mov           (%rax),%r8
+  DB  102,15,239,210                      ; pxor          %xmm2,%xmm2
+  DB  73,131,248,2                        ; cmp           $0x2,%r8
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  114,56                              ; jb            3392c <_sk_gradient_sse2_lowp+0x73>
+  DB  72,139,88,72                        ; mov           0x48(%rax),%rbx
+  DB  73,255,200                          ; dec           %r8
+  DB  72,131,195,4                        ; add           $0x4,%rbx
+  DB  102,15,239,210                      ; pxor          %xmm2,%xmm2
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  243,15,16,35                        ; movss         (%rbx),%xmm4
+  DB  15,198,228,0                        ; shufps        $0x0,%xmm4,%xmm4
+  DB  15,40,236                           ; movaps        %xmm4,%xmm5
+  DB  15,194,232,2                        ; cmpleps       %xmm0,%xmm5
+  DB  102,15,250,213                      ; psubd         %xmm5,%xmm2
+  DB  65,15,194,231,2                     ; cmpleps       %xmm15,%xmm4
+  DB  102,15,250,220                      ; psubd         %xmm4,%xmm3
+  DB  72,131,195,4                        ; add           $0x4,%rbx
+  DB  73,255,200                          ; dec           %r8
+  DB  117,219                             ; jne           33907 <_sk_gradient_sse2_lowp+0x4e>
+  DB  102,15,112,227,78                   ; pshufd        $0x4e,%xmm3,%xmm4
+  DB  102,73,15,126,225                   ; movq          %xmm4,%r9
+  DB  69,137,200                          ; mov           %r9d,%r8d
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  102,73,15,126,219                   ; movq          %xmm3,%r11
+  DB  69,137,218                          ; mov           %r11d,%r10d
+  DB  73,193,235,32                       ; shr           $0x20,%r11
+  DB  102,65,15,126,214                   ; movd          %xmm2,%r14d
+  DB  102,68,15,112,194,229               ; pshufd        $0xe5,%xmm2,%xmm8
+  DB  102,15,112,218,78                   ; pshufd        $0x4e,%xmm2,%xmm3
+  DB  102,65,15,126,223                   ; movd          %xmm3,%r15d
+  DB  102,15,112,210,231                  ; pshufd        $0xe7,%xmm2,%xmm2
+  DB  102,65,15,126,212                   ; movd          %xmm2,%r12d
+  DB  72,139,88,8                         ; mov           0x8(%rax),%rbx
+  DB  243,70,15,16,20,155                 ; movss         (%rbx,%r11,4),%xmm10
+  DB  243,70,15,16,12,147                 ; movss         (%rbx,%r10,4),%xmm9
+  DB  243,66,15,16,44,139                 ; movss         (%rbx,%r9,4),%xmm5
+  DB  243,66,15,16,52,131                 ; movss         (%rbx,%r8,4),%xmm6
+  DB  243,66,15,16,60,163                 ; movss         (%rbx,%r12,4),%xmm7
+  DB  243,66,15,16,36,187                 ; movss         (%rbx,%r15,4),%xmm4
+  DB  243,66,15,16,28,179                 ; movss         (%rbx,%r14,4),%xmm3
+  DB  102,69,15,126,197                   ; movd          %xmm8,%r13d
+  DB  243,66,15,16,20,171                 ; movss         (%rbx,%r13,4),%xmm2
+  DB  69,15,20,202                        ; unpcklps      %xmm10,%xmm9
+  DB  15,20,245                           ; unpcklps      %xmm5,%xmm6
+  DB  102,68,15,20,206                    ; unpcklpd      %xmm6,%xmm9
+  DB  15,20,231                           ; unpcklps      %xmm7,%xmm4
+  DB  15,20,218                           ; unpcklps      %xmm2,%xmm3
+  DB  102,15,20,220                       ; unpcklpd      %xmm4,%xmm3
+  DB  72,139,88,16                        ; mov           0x10(%rax),%rbx
+  DB  243,70,15,16,4,155                  ; movss         (%rbx,%r11,4),%xmm8
+  DB  243,70,15,16,36,147                 ; movss         (%rbx,%r10,4),%xmm12
+  DB  243,70,15,16,20,139                 ; movss         (%rbx,%r9,4),%xmm10
+  DB  243,66,15,16,52,131                 ; movss         (%rbx,%r8,4),%xmm6
+  DB  243,66,15,16,60,163                 ; movss         (%rbx,%r12,4),%xmm7
+  DB  243,66,15,16,36,187                 ; movss         (%rbx,%r15,4),%xmm4
+  DB  243,66,15,16,20,179                 ; movss         (%rbx,%r14,4),%xmm2
+  DB  243,66,15,16,44,171                 ; movss         (%rbx,%r13,4),%xmm5
+  DB  69,15,20,224                        ; unpcklps      %xmm8,%xmm12
+  DB  65,15,20,242                        ; unpcklps      %xmm10,%xmm6
+  DB  102,68,15,20,230                    ; unpcklpd      %xmm6,%xmm12
+  DB  15,20,231                           ; unpcklps      %xmm7,%xmm4
+  DB  15,20,213                           ; unpcklps      %xmm5,%xmm2
+  DB  102,15,20,212                       ; unpcklpd      %xmm4,%xmm2
+  DB  72,139,88,24                        ; mov           0x18(%rax),%rbx
+  DB  243,66,15,16,36,155                 ; movss         (%rbx,%r11,4),%xmm4
+  DB  243,70,15,16,28,147                 ; movss         (%rbx,%r10,4),%xmm11
+  DB  68,15,20,220                        ; unpcklps      %xmm4,%xmm11
+  DB  243,66,15,16,36,139                 ; movss         (%rbx,%r9,4),%xmm4
+  DB  243,66,15,16,44,131                 ; movss         (%rbx,%r8,4),%xmm5
+  DB  15,20,236                           ; unpcklps      %xmm4,%xmm5
+  DB  243,66,15,16,36,163                 ; movss         (%rbx,%r12,4),%xmm4
+  DB  243,66,15,16,52,187                 ; movss         (%rbx,%r15,4),%xmm6
+  DB  243,70,15,16,52,179                 ; movss         (%rbx,%r14,4),%xmm14
+  DB  243,66,15,16,60,171                 ; movss         (%rbx,%r13,4),%xmm7
+  DB  102,68,15,20,221                    ; unpcklpd      %xmm5,%xmm11
+  DB  15,20,244                           ; unpcklps      %xmm4,%xmm6
+  DB  68,15,20,247                        ; unpcklps      %xmm7,%xmm14
+  DB  102,68,15,20,246                    ; unpcklpd      %xmm6,%xmm14
+  DB  72,139,88,32                        ; mov           0x20(%rax),%rbx
+  DB  243,66,15,16,36,155                 ; movss         (%rbx,%r11,4),%xmm4
+  DB  243,70,15,16,20,147                 ; movss         (%rbx,%r10,4),%xmm10
+  DB  68,15,20,212                        ; unpcklps      %xmm4,%xmm10
+  DB  243,66,15,16,36,139                 ; movss         (%rbx,%r9,4),%xmm4
+  DB  243,66,15,16,44,131                 ; movss         (%rbx,%r8,4),%xmm5
+  DB  15,20,236                           ; unpcklps      %xmm4,%xmm5
+  DB  102,68,15,20,213                    ; unpcklpd      %xmm5,%xmm10
+  DB  243,66,15,16,36,163                 ; movss         (%rbx,%r12,4),%xmm4
+  DB  243,66,15,16,44,187                 ; movss         (%rbx,%r15,4),%xmm5
+  DB  15,20,236                           ; unpcklps      %xmm4,%xmm5
+  DB  243,70,15,16,44,179                 ; movss         (%rbx,%r14,4),%xmm13
+  DB  243,66,15,16,36,171                 ; movss         (%rbx,%r13,4),%xmm4
+  DB  68,15,20,236                        ; unpcklps      %xmm4,%xmm13
+  DB  102,68,15,20,237                    ; unpcklpd      %xmm5,%xmm13
+  DB  72,139,88,40                        ; mov           0x28(%rax),%rbx
+  DB  243,66,15,16,36,163                 ; movss         (%rbx,%r12,4),%xmm4
+  DB  243,66,15,16,52,187                 ; movss         (%rbx,%r15,4),%xmm6
+  DB  15,20,244                           ; unpcklps      %xmm4,%xmm6
+  DB  243,66,15,16,44,179                 ; movss         (%rbx,%r14,4),%xmm5
+  DB  243,66,15,16,36,171                 ; movss         (%rbx,%r13,4),%xmm4
+  DB  15,20,236                           ; unpcklps      %xmm4,%xmm5
+  DB  102,15,20,238                       ; unpcklpd      %xmm6,%xmm5
+  DB  243,66,15,16,52,155                 ; movss         (%rbx,%r11,4),%xmm6
+  DB  243,66,15,16,36,147                 ; movss         (%rbx,%r10,4),%xmm4
+  DB  15,20,230                           ; unpcklps      %xmm6,%xmm4
+  DB  243,66,15,16,52,139                 ; movss         (%rbx,%r9,4),%xmm6
+  DB  243,66,15,16,60,131                 ; movss         (%rbx,%r8,4),%xmm7
+  DB  15,20,254                           ; unpcklps      %xmm6,%xmm7
+  DB  102,15,20,231                       ; unpcklpd      %xmm7,%xmm4
+  DB  72,139,88,48                        ; mov           0x30(%rax),%rbx
+  DB  243,66,15,16,60,163                 ; movss         (%rbx,%r12,4),%xmm7
+  DB  243,66,15,16,52,187                 ; movss         (%rbx,%r15,4),%xmm6
+  DB  15,20,247                           ; unpcklps      %xmm7,%xmm6
+  DB  243,66,15,16,12,179                 ; movss         (%rbx,%r14,4),%xmm1
+  DB  243,66,15,16,60,171                 ; movss         (%rbx,%r13,4),%xmm7
+  DB  15,20,207                           ; unpcklps      %xmm7,%xmm1
+  DB  102,15,20,206                       ; unpcklpd      %xmm6,%xmm1
+  DB  102,15,41,76,36,16                  ; movapd        %xmm1,0x10(%rsp)
+  DB  243,66,15,16,60,155                 ; movss         (%rbx,%r11,4),%xmm7
+  DB  243,70,15,16,4,147                  ; movss         (%rbx,%r10,4),%xmm8
+  DB  68,15,20,199                        ; unpcklps      %xmm7,%xmm8
+  DB  243,66,15,16,60,139                 ; movss         (%rbx,%r9,4),%xmm7
+  DB  243,66,15,16,52,131                 ; movss         (%rbx,%r8,4),%xmm6
+  DB  15,20,247                           ; unpcklps      %xmm7,%xmm6
+  DB  102,68,15,20,198                    ; unpcklpd      %xmm6,%xmm8
+  DB  72,139,88,56                        ; mov           0x38(%rax),%rbx
+  DB  243,66,15,16,60,163                 ; movss         (%rbx,%r12,4),%xmm7
+  DB  243,66,15,16,52,187                 ; movss         (%rbx,%r15,4),%xmm6
+  DB  15,20,247                           ; unpcklps      %xmm7,%xmm6
+  DB  243,66,15,16,12,179                 ; movss         (%rbx,%r14,4),%xmm1
+  DB  243,66,15,16,60,171                 ; movss         (%rbx,%r13,4),%xmm7
+  DB  15,20,207                           ; unpcklps      %xmm7,%xmm1
+  DB  102,15,20,206                       ; unpcklpd      %xmm6,%xmm1
+  DB  102,15,41,76,36,32                  ; movapd        %xmm1,0x20(%rsp)
+  DB  243,66,15,16,60,155                 ; movss         (%rbx,%r11,4),%xmm7
+  DB  243,66,15,16,12,147                 ; movss         (%rbx,%r10,4),%xmm1
+  DB  15,20,207                           ; unpcklps      %xmm7,%xmm1
+  DB  243,66,15,16,60,139                 ; movss         (%rbx,%r9,4),%xmm7
+  DB  243,66,15,16,52,131                 ; movss         (%rbx,%r8,4),%xmm6
+  DB  15,20,247                           ; unpcklps      %xmm7,%xmm6
+  DB  102,15,20,206                       ; unpcklpd      %xmm6,%xmm1
+  DB  102,15,41,12,36                     ; movapd        %xmm1,(%rsp)
+  DB  72,139,64,64                        ; mov           0x40(%rax),%rax
+  DB  243,66,15,16,52,160                 ; movss         (%rax,%r12,4),%xmm6
+  DB  243,66,15,16,60,184                 ; movss         (%rax,%r15,4),%xmm7
+  DB  15,20,254                           ; unpcklps      %xmm6,%xmm7
+  DB  243,66,15,16,12,176                 ; movss         (%rax,%r14,4),%xmm1
+  DB  243,66,15,16,52,168                 ; movss         (%rax,%r13,4),%xmm6
+  DB  15,20,206                           ; unpcklps      %xmm6,%xmm1
+  DB  102,15,20,207                       ; unpcklpd      %xmm7,%xmm1
+  DB  102,15,41,76,36,48                  ; movapd        %xmm1,0x30(%rsp)
+  DB  243,66,15,16,52,152                 ; movss         (%rax,%r11,4),%xmm6
+  DB  243,66,15,16,12,144                 ; movss         (%rax,%r10,4),%xmm1
+  DB  15,20,206                           ; unpcklps      %xmm6,%xmm1
+  DB  243,66,15,16,52,136                 ; movss         (%rax,%r9,4),%xmm6
+  DB  243,66,15,16,60,128                 ; movss         (%rax,%r8,4),%xmm7
+  DB  15,20,254                           ; unpcklps      %xmm6,%xmm7
+  DB  102,15,20,207                       ; unpcklpd      %xmm7,%xmm1
+  DB  15,89,216                           ; mulps         %xmm0,%xmm3
+  DB  15,88,221                           ; addps         %xmm5,%xmm3
+  DB  69,15,89,207                        ; mulps         %xmm15,%xmm9
+  DB  68,15,88,204                        ; addps         %xmm4,%xmm9
+  DB  15,40,53,168,25,0,0                 ; movaps        0x19a8(%rip),%xmm6        # 35590 <_sk_srcover_bgra_8888_sse2_lowp+0xd78>
+  DB  15,89,222                           ; mulps         %xmm6,%xmm3
+  DB  68,15,89,206                        ; mulps         %xmm6,%xmm9
+  DB  15,40,37,170,24,0,0                 ; movaps        0x18aa(%rip),%xmm4        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  68,15,88,204                        ; addps         %xmm4,%xmm9
+  DB  15,88,220                           ; addps         %xmm4,%xmm3
+  DB  243,15,91,219                       ; cvttps2dq     %xmm3,%xmm3
+  DB  242,15,112,219,232                  ; pshuflw       $0xe8,%xmm3,%xmm3
+  DB  243,15,112,219,232                  ; pshufhw       $0xe8,%xmm3,%xmm3
+  DB  102,15,112,235,232                  ; pshufd        $0xe8,%xmm3,%xmm5
+  DB  243,65,15,91,217                    ; cvttps2dq     %xmm9,%xmm3
+  DB  242,15,112,219,232                  ; pshuflw       $0xe8,%xmm3,%xmm3
+  DB  243,15,112,219,232                  ; pshufhw       $0xe8,%xmm3,%xmm3
+  DB  102,15,112,219,232                  ; pshufd        $0xe8,%xmm3,%xmm3
+  DB  102,15,108,235                      ; punpcklqdq    %xmm3,%xmm5
+  DB  15,89,208                           ; mulps         %xmm0,%xmm2
+  DB  15,88,84,36,16                      ; addps         0x10(%rsp),%xmm2
+  DB  69,15,89,231                        ; mulps         %xmm15,%xmm12
+  DB  69,15,88,224                        ; addps         %xmm8,%xmm12
+  DB  15,89,214                           ; mulps         %xmm6,%xmm2
+  DB  68,15,89,230                        ; mulps         %xmm6,%xmm12
+  DB  68,15,88,228                        ; addps         %xmm4,%xmm12
+  DB  15,88,212                           ; addps         %xmm4,%xmm2
+  DB  243,15,91,210                       ; cvttps2dq     %xmm2,%xmm2
+  DB  242,15,112,210,232                  ; pshuflw       $0xe8,%xmm2,%xmm2
+  DB  243,15,112,210,232                  ; pshufhw       $0xe8,%xmm2,%xmm2
+  DB  102,68,15,112,202,232               ; pshufd        $0xe8,%xmm2,%xmm9
+  DB  243,65,15,91,212                    ; cvttps2dq     %xmm12,%xmm2
+  DB  242,15,112,210,232                  ; pshuflw       $0xe8,%xmm2,%xmm2
+  DB  243,15,112,210,232                  ; pshufhw       $0xe8,%xmm2,%xmm2
+  DB  102,15,112,210,232                  ; pshufd        $0xe8,%xmm2,%xmm2
+  DB  102,68,15,108,202                   ; punpcklqdq    %xmm2,%xmm9
+  DB  68,15,89,240                        ; mulps         %xmm0,%xmm14
+  DB  68,15,88,116,36,32                  ; addps         0x20(%rsp),%xmm14
+  DB  69,15,89,223                        ; mulps         %xmm15,%xmm11
+  DB  68,15,88,28,36                      ; addps         (%rsp),%xmm11
+  DB  68,15,89,246                        ; mulps         %xmm6,%xmm14
+  DB  68,15,89,222                        ; mulps         %xmm6,%xmm11
+  DB  68,15,88,220                        ; addps         %xmm4,%xmm11
+  DB  68,15,88,244                        ; addps         %xmm4,%xmm14
+  DB  243,65,15,91,214                    ; cvttps2dq     %xmm14,%xmm2
+  DB  242,15,112,210,232                  ; pshuflw       $0xe8,%xmm2,%xmm2
+  DB  243,15,112,210,232                  ; pshufhw       $0xe8,%xmm2,%xmm2
+  DB  102,15,112,210,232                  ; pshufd        $0xe8,%xmm2,%xmm2
+  DB  243,65,15,91,219                    ; cvttps2dq     %xmm11,%xmm3
+  DB  242,15,112,219,232                  ; pshuflw       $0xe8,%xmm3,%xmm3
+  DB  243,15,112,219,232                  ; pshufhw       $0xe8,%xmm3,%xmm3
+  DB  102,15,112,219,232                  ; pshufd        $0xe8,%xmm3,%xmm3
+  DB  102,15,108,211                      ; punpcklqdq    %xmm3,%xmm2
+  DB  68,15,89,232                        ; mulps         %xmm0,%xmm13
+  DB  68,15,88,108,36,48                  ; addps         0x30(%rsp),%xmm13
+  DB  69,15,89,215                        ; mulps         %xmm15,%xmm10
+  DB  68,15,88,209                        ; addps         %xmm1,%xmm10
+  DB  68,15,89,238                        ; mulps         %xmm6,%xmm13
+  DB  68,15,89,214                        ; mulps         %xmm6,%xmm10
+  DB  68,15,88,212                        ; addps         %xmm4,%xmm10
+  DB  68,15,88,236                        ; addps         %xmm4,%xmm13
+  DB  243,65,15,91,197                    ; cvttps2dq     %xmm13,%xmm0
+  DB  242,15,112,192,232                  ; pshuflw       $0xe8,%xmm0,%xmm0
+  DB  243,15,112,192,232                  ; pshufhw       $0xe8,%xmm0,%xmm0
+  DB  102,15,112,216,232                  ; pshufd        $0xe8,%xmm0,%xmm3
+  DB  243,65,15,91,194                    ; cvttps2dq     %xmm10,%xmm0
+  DB  242,15,112,192,232                  ; pshuflw       $0xe8,%xmm0,%xmm0
+  DB  243,15,112,192,232                  ; pshufhw       $0xe8,%xmm0,%xmm0
+  DB  102,15,112,192,232                  ; pshufd        $0xe8,%xmm0,%xmm0
+  DB  102,15,108,216                      ; punpcklqdq    %xmm0,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,15,111,197                      ; movdqa        %xmm5,%xmm0
+  DB  102,65,15,111,201                   ; movdqa        %xmm9,%xmm1
+  DB  15,40,100,36,64                     ; movaps        0x40(%rsp),%xmm4
+  DB  15,40,108,36,80                     ; movaps        0x50(%rsp),%xmm5
+  DB  15,40,116,36,96                     ; movaps        0x60(%rsp),%xmm6
+  DB  15,40,124,36,112                    ; movaps        0x70(%rsp),%xmm7
+  DB  72,129,196,128,0,0,0                ; add           $0x80,%rsp
+  DB  91                                  ; pop           %rbx
+  DB  65,92                               ; pop           %r12
+  DB  65,93                               ; pop           %r13
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_evenly_spaced_gradient_sse2_lowp
+_sk_evenly_spaced_gradient_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %rbp
+  DB  65,87                               ; push          %r15
+  DB  65,86                               ; push          %r14
+  DB  65,85                               ; push          %r13
+  DB  65,84                               ; push          %r12
+  DB  83                                  ; push          %rbx
+  DB  72,129,236,136,0,0,0                ; sub           $0x88,%rsp
+  DB  15,41,124,36,112                    ; movaps        %xmm7,0x70(%rsp)
+  DB  15,41,116,36,96                     ; movaps        %xmm6,0x60(%rsp)
+  DB  15,41,108,36,80                     ; movaps        %xmm5,0x50(%rsp)
+  DB  15,41,100,36,64                     ; movaps        %xmm4,0x40(%rsp)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  72,139,24                           ; mov           (%rax),%rbx
+  DB  72,139,104,8                        ; mov           0x8(%rax),%rbp
+  DB  72,255,203                          ; dec           %rbx
+  DB  120,7                               ; js            33d7b <_sk_evenly_spaced_gradient_sse2_lowp+0x3a>
+  DB  243,72,15,42,211                    ; cvtsi2ss      %rbx,%xmm2
+  DB  235,21                              ; jmp           33d90 <_sk_evenly_spaced_gradient_sse2_lowp+0x4f>
+  DB  73,137,216                          ; mov           %rbx,%r8
+  DB  73,209,232                          ; shr           %r8
+  DB  131,227,1                           ; and           $0x1,%ebx
+  DB  76,9,195                            ; or            %r8,%rbx
+  DB  243,72,15,42,211                    ; cvtsi2ss      %rbx,%xmm2
+  DB  243,15,88,210                       ; addss         %xmm2,%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  15,41,68,36,48                      ; movaps        %xmm0,0x30(%rsp)
+  DB  15,89,194                           ; mulps         %xmm2,%xmm0
+  DB  15,89,209                           ; mulps         %xmm1,%xmm2
+  DB  243,15,91,218                       ; cvttps2dq     %xmm2,%xmm3
+  DB  15,41,76,36,32                      ; movaps        %xmm1,0x20(%rsp)
+  DB  102,15,112,211,78                   ; pshufd        $0x4e,%xmm3,%xmm2
+  DB  102,73,15,126,214                   ; movq          %xmm2,%r14
+  DB  69,137,242                          ; mov           %r14d,%r10d
+  DB  73,193,238,32                       ; shr           $0x20,%r14
+  DB  102,73,15,126,221                   ; movq          %xmm3,%r13
+  DB  69,137,239                          ; mov           %r13d,%r15d
+  DB  73,193,237,32                       ; shr           $0x20,%r13
+  DB  243,15,91,192                       ; cvttps2dq     %xmm0,%xmm0
+  DB  102,15,112,200,78                   ; pshufd        $0x4e,%xmm0,%xmm1
+  DB  102,73,15,126,201                   ; movq          %xmm1,%r9
+  DB  69,137,200                          ; mov           %r9d,%r8d
+  DB  73,193,233,32                       ; shr           $0x20,%r9
+  DB  102,73,15,126,196                   ; movq          %xmm0,%r12
+  DB  69,137,227                          ; mov           %r12d,%r11d
+  DB  73,193,236,32                       ; shr           $0x20,%r12
+  DB  243,66,15,16,68,165,0               ; movss         0x0(%rbp,%r12,4),%xmm0
+  DB  243,70,15,16,68,157,0               ; movss         0x0(%rbp,%r11,4),%xmm8
+  DB  243,66,15,16,76,141,0               ; movss         0x0(%rbp,%r9,4),%xmm1
+  DB  243,66,15,16,84,133,0               ; movss         0x0(%rbp,%r8,4),%xmm2
+  DB  243,66,15,16,100,173,0              ; movss         0x0(%rbp,%r13,4),%xmm4
+  DB  243,66,15,16,92,189,0               ; movss         0x0(%rbp,%r15,4),%xmm3
+  DB  243,66,15,16,108,181,0              ; movss         0x0(%rbp,%r14,4),%xmm5
+  DB  243,66,15,16,116,149,0              ; movss         0x0(%rbp,%r10,4),%xmm6
+  DB  68,15,20,192                        ; unpcklps      %xmm0,%xmm8
+  DB  15,20,209                           ; unpcklps      %xmm1,%xmm2
+  DB  102,68,15,20,194                    ; unpcklpd      %xmm2,%xmm8
+  DB  15,20,220                           ; unpcklps      %xmm4,%xmm3
+  DB  15,20,245                           ; unpcklps      %xmm5,%xmm6
+  DB  102,15,20,222                       ; unpcklpd      %xmm6,%xmm3
+  DB  72,139,88,16                        ; mov           0x10(%rax),%rbx
+  DB  243,66,15,16,4,163                  ; movss         (%rbx,%r12,4),%xmm0
+  DB  243,70,15,16,12,155                 ; movss         (%rbx,%r11,4),%xmm9
+  DB  243,66,15,16,12,139                 ; movss         (%rbx,%r9,4),%xmm1
+  DB  243,66,15,16,36,131                 ; movss         (%rbx,%r8,4),%xmm4
+  DB  243,66,15,16,44,171                 ; movss         (%rbx,%r13,4),%xmm5
+  DB  243,66,15,16,20,187                 ; movss         (%rbx,%r15,4),%xmm2
+  DB  243,66,15,16,52,179                 ; movss         (%rbx,%r14,4),%xmm6
+  DB  243,66,15,16,60,147                 ; movss         (%rbx,%r10,4),%xmm7
+  DB  68,15,20,200                        ; unpcklps      %xmm0,%xmm9
+  DB  15,20,225                           ; unpcklps      %xmm1,%xmm4
+  DB  102,68,15,20,204                    ; unpcklpd      %xmm4,%xmm9
+  DB  15,20,213                           ; unpcklps      %xmm5,%xmm2
+  DB  15,20,254                           ; unpcklps      %xmm6,%xmm7
+  DB  102,15,20,215                       ; unpcklpd      %xmm7,%xmm2
+  DB  72,139,88,24                        ; mov           0x18(%rax),%rbx
+  DB  243,66,15,16,4,163                  ; movss         (%rbx,%r12,4),%xmm0
+  DB  243,70,15,16,28,155                 ; movss         (%rbx,%r11,4),%xmm11
+  DB  68,15,20,216                        ; unpcklps      %xmm0,%xmm11
+  DB  243,66,15,16,4,139                  ; movss         (%rbx,%r9,4),%xmm0
+  DB  243,66,15,16,12,131                 ; movss         (%rbx,%r8,4),%xmm1
+  DB  15,20,200                           ; unpcklps      %xmm0,%xmm1
+  DB  243,66,15,16,4,171                  ; movss         (%rbx,%r13,4),%xmm0
+  DB  243,70,15,16,44,187                 ; movss         (%rbx,%r15,4),%xmm13
+  DB  243,66,15,16,36,179                 ; movss         (%rbx,%r14,4),%xmm4
+  DB  243,66,15,16,44,147                 ; movss         (%rbx,%r10,4),%xmm5
+  DB  102,68,15,20,217                    ; unpcklpd      %xmm1,%xmm11
+  DB  68,15,20,232                        ; unpcklps      %xmm0,%xmm13
+  DB  15,20,236                           ; unpcklps      %xmm4,%xmm5
+  DB  102,68,15,20,237                    ; unpcklpd      %xmm5,%xmm13
+  DB  72,139,88,32                        ; mov           0x20(%rax),%rbx
+  DB  243,66,15,16,4,163                  ; movss         (%rbx,%r12,4),%xmm0
+  DB  243,70,15,16,20,155                 ; movss         (%rbx,%r11,4),%xmm10
+  DB  68,15,20,208                        ; unpcklps      %xmm0,%xmm10
+  DB  243,66,15,16,4,139                  ; movss         (%rbx,%r9,4),%xmm0
+  DB  243,66,15,16,12,131                 ; movss         (%rbx,%r8,4),%xmm1
+  DB  15,20,200                           ; unpcklps      %xmm0,%xmm1
+  DB  102,68,15,20,209                    ; unpcklpd      %xmm1,%xmm10
+  DB  243,66,15,16,4,171                  ; movss         (%rbx,%r13,4),%xmm0
+  DB  243,70,15,16,36,187                 ; movss         (%rbx,%r15,4),%xmm12
+  DB  68,15,20,224                        ; unpcklps      %xmm0,%xmm12
+  DB  243,66,15,16,4,179                  ; movss         (%rbx,%r14,4),%xmm0
+  DB  243,66,15,16,12,147                 ; movss         (%rbx,%r10,4),%xmm1
+  DB  15,20,200                           ; unpcklps      %xmm0,%xmm1
+  DB  102,68,15,20,225                    ; unpcklpd      %xmm1,%xmm12
+  DB  72,139,88,40                        ; mov           0x28(%rax),%rbx
+  DB  243,66,15,16,12,171                 ; movss         (%rbx,%r13,4),%xmm1
+  DB  243,66,15,16,4,187                  ; movss         (%rbx,%r15,4),%xmm0
+  DB  15,20,193                           ; unpcklps      %xmm1,%xmm0
+  DB  243,66,15,16,12,179                 ; movss         (%rbx,%r14,4),%xmm1
+  DB  243,66,15,16,36,147                 ; movss         (%rbx,%r10,4),%xmm4
+  DB  15,20,225                           ; unpcklps      %xmm1,%xmm4
+  DB  102,15,20,196                       ; unpcklpd      %xmm4,%xmm0
+  DB  243,66,15,16,36,163                 ; movss         (%rbx,%r12,4),%xmm4
+  DB  243,66,15,16,12,155                 ; movss         (%rbx,%r11,4),%xmm1
+  DB  15,20,204                           ; unpcklps      %xmm4,%xmm1
+  DB  243,66,15,16,36,139                 ; movss         (%rbx,%r9,4),%xmm4
+  DB  243,66,15,16,44,131                 ; movss         (%rbx,%r8,4),%xmm5
+  DB  15,20,236                           ; unpcklps      %xmm4,%xmm5
+  DB  102,15,20,205                       ; unpcklpd      %xmm5,%xmm1
+  DB  72,139,88,48                        ; mov           0x30(%rax),%rbx
+  DB  243,66,15,16,36,171                 ; movss         (%rbx,%r13,4),%xmm4
+  DB  243,70,15,16,52,187                 ; movss         (%rbx,%r15,4),%xmm14
+  DB  68,15,20,244                        ; unpcklps      %xmm4,%xmm14
+  DB  243,66,15,16,36,179                 ; movss         (%rbx,%r14,4),%xmm4
+  DB  243,66,15,16,44,147                 ; movss         (%rbx,%r10,4),%xmm5
+  DB  15,20,236                           ; unpcklps      %xmm4,%xmm5
+  DB  102,68,15,20,245                    ; unpcklpd      %xmm5,%xmm14
+  DB  243,66,15,16,44,163                 ; movss         (%rbx,%r12,4),%xmm5
+  DB  243,66,15,16,36,155                 ; movss         (%rbx,%r11,4),%xmm4
+  DB  15,20,229                           ; unpcklps      %xmm5,%xmm4
+  DB  243,66,15,16,44,139                 ; movss         (%rbx,%r9,4),%xmm5
+  DB  243,66,15,16,60,131                 ; movss         (%rbx,%r8,4),%xmm7
+  DB  15,20,253                           ; unpcklps      %xmm5,%xmm7
+  DB  102,15,20,231                       ; unpcklpd      %xmm7,%xmm4
+  DB  72,139,88,56                        ; mov           0x38(%rax),%rbx
+  DB  243,66,15,16,44,171                 ; movss         (%rbx,%r13,4),%xmm5
+  DB  243,66,15,16,52,187                 ; movss         (%rbx,%r15,4),%xmm6
+  DB  15,20,245                           ; unpcklps      %xmm5,%xmm6
+  DB  243,66,15,16,44,179                 ; movss         (%rbx,%r14,4),%xmm5
+  DB  243,66,15,16,60,147                 ; movss         (%rbx,%r10,4),%xmm7
+  DB  15,20,253                           ; unpcklps      %xmm5,%xmm7
+  DB  102,15,20,247                       ; unpcklpd      %xmm7,%xmm6
+  DB  102,15,41,52,36                     ; movapd        %xmm6,(%rsp)
+  DB  243,66,15,16,60,163                 ; movss         (%rbx,%r12,4),%xmm7
+  DB  243,66,15,16,44,155                 ; movss         (%rbx,%r11,4),%xmm5
+  DB  15,20,239                           ; unpcklps      %xmm7,%xmm5
+  DB  243,66,15,16,60,139                 ; movss         (%rbx,%r9,4),%xmm7
+  DB  243,66,15,16,52,131                 ; movss         (%rbx,%r8,4),%xmm6
+  DB  15,20,247                           ; unpcklps      %xmm7,%xmm6
+  DB  102,15,20,238                       ; unpcklpd      %xmm6,%xmm5
+  DB  72,139,64,64                        ; mov           0x40(%rax),%rax
+  DB  243,66,15,16,52,168                 ; movss         (%rax,%r13,4),%xmm6
+  DB  243,66,15,16,60,184                 ; movss         (%rax,%r15,4),%xmm7
+  DB  15,20,254                           ; unpcklps      %xmm6,%xmm7
+  DB  243,70,15,16,60,176                 ; movss         (%rax,%r14,4),%xmm15
+  DB  243,66,15,16,52,144                 ; movss         (%rax,%r10,4),%xmm6
+  DB  65,15,20,247                        ; unpcklps      %xmm15,%xmm6
+  DB  102,15,20,254                       ; unpcklpd      %xmm6,%xmm7
+  DB  102,15,41,124,36,16                 ; movapd        %xmm7,0x10(%rsp)
+  DB  243,66,15,16,52,160                 ; movss         (%rax,%r12,4),%xmm6
+  DB  243,66,15,16,60,152                 ; movss         (%rax,%r11,4),%xmm7
+  DB  15,20,254                           ; unpcklps      %xmm6,%xmm7
+  DB  243,66,15,16,52,136                 ; movss         (%rax,%r9,4),%xmm6
+  DB  243,70,15,16,60,128                 ; movss         (%rax,%r8,4),%xmm15
+  DB  68,15,20,254                        ; unpcklps      %xmm6,%xmm15
+  DB  102,65,15,20,255                    ; unpcklpd      %xmm15,%xmm7
+  DB  68,15,40,124,36,32                  ; movaps        0x20(%rsp),%xmm15
+  DB  65,15,89,223                        ; mulps         %xmm15,%xmm3
+  DB  15,88,216                           ; addps         %xmm0,%xmm3
+  DB  15,40,68,36,48                      ; movaps        0x30(%rsp),%xmm0
+  DB  68,15,89,192                        ; mulps         %xmm0,%xmm8
+  DB  68,15,88,193                        ; addps         %xmm1,%xmm8
+  DB  15,40,13,41,21,0,0                  ; movaps        0x1529(%rip),%xmm1        # 35590 <_sk_srcover_bgra_8888_sse2_lowp+0xd78>
+  DB  15,89,217                           ; mulps         %xmm1,%xmm3
+  DB  68,15,89,193                        ; mulps         %xmm1,%xmm8
+  DB  15,40,13,43,20,0,0                  ; movaps        0x142b(%rip),%xmm1        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  68,15,88,193                        ; addps         %xmm1,%xmm8
+  DB  15,88,217                           ; addps         %xmm1,%xmm3
+  DB  243,15,91,219                       ; cvttps2dq     %xmm3,%xmm3
+  DB  242,15,112,219,232                  ; pshuflw       $0xe8,%xmm3,%xmm3
+  DB  243,15,112,219,232                  ; pshufhw       $0xe8,%xmm3,%xmm3
+  DB  102,15,112,219,232                  ; pshufd        $0xe8,%xmm3,%xmm3
+  DB  243,65,15,91,240                    ; cvttps2dq     %xmm8,%xmm6
+  DB  242,15,112,246,232                  ; pshuflw       $0xe8,%xmm6,%xmm6
+  DB  243,15,112,246,232                  ; pshufhw       $0xe8,%xmm6,%xmm6
+  DB  102,68,15,112,198,232               ; pshufd        $0xe8,%xmm6,%xmm8
+  DB  102,68,15,108,195                   ; punpcklqdq    %xmm3,%xmm8
+  DB  65,15,89,215                        ; mulps         %xmm15,%xmm2
+  DB  65,15,88,214                        ; addps         %xmm14,%xmm2
+  DB  15,40,240                           ; movaps        %xmm0,%xmm6
+  DB  68,15,89,206                        ; mulps         %xmm6,%xmm9
+  DB  68,15,88,204                        ; addps         %xmm4,%xmm9
+  DB  15,40,5,205,20,0,0                  ; movaps        0x14cd(%rip),%xmm0        # 35590 <_sk_srcover_bgra_8888_sse2_lowp+0xd78>
+  DB  15,89,208                           ; mulps         %xmm0,%xmm2
+  DB  68,15,89,200                        ; mulps         %xmm0,%xmm9
+  DB  68,15,88,201                        ; addps         %xmm1,%xmm9
+  DB  15,88,209                           ; addps         %xmm1,%xmm2
+  DB  243,15,91,210                       ; cvttps2dq     %xmm2,%xmm2
+  DB  242,15,112,210,232                  ; pshuflw       $0xe8,%xmm2,%xmm2
+  DB  243,15,112,210,232                  ; pshufhw       $0xe8,%xmm2,%xmm2
+  DB  102,15,112,210,232                  ; pshufd        $0xe8,%xmm2,%xmm2
+  DB  243,65,15,91,217                    ; cvttps2dq     %xmm9,%xmm3
+  DB  242,15,112,219,232                  ; pshuflw       $0xe8,%xmm3,%xmm3
+  DB  243,15,112,219,232                  ; pshufhw       $0xe8,%xmm3,%xmm3
+  DB  102,68,15,112,203,232               ; pshufd        $0xe8,%xmm3,%xmm9
+  DB  102,68,15,108,202                   ; punpcklqdq    %xmm2,%xmm9
+  DB  69,15,89,239                        ; mulps         %xmm15,%xmm13
+  DB  68,15,88,44,36                      ; addps         (%rsp),%xmm13
+  DB  68,15,89,222                        ; mulps         %xmm6,%xmm11
+  DB  68,15,88,221                        ; addps         %xmm5,%xmm11
+  DB  68,15,89,232                        ; mulps         %xmm0,%xmm13
+  DB  68,15,89,216                        ; mulps         %xmm0,%xmm11
+  DB  68,15,88,217                        ; addps         %xmm1,%xmm11
+  DB  68,15,88,233                        ; addps         %xmm1,%xmm13
+  DB  243,65,15,91,213                    ; cvttps2dq     %xmm13,%xmm2
+  DB  242,15,112,210,232                  ; pshuflw       $0xe8,%xmm2,%xmm2
+  DB  243,15,112,210,232                  ; pshufhw       $0xe8,%xmm2,%xmm2
+  DB  102,15,112,218,232                  ; pshufd        $0xe8,%xmm2,%xmm3
+  DB  243,65,15,91,211                    ; cvttps2dq     %xmm11,%xmm2
+  DB  242,15,112,210,232                  ; pshuflw       $0xe8,%xmm2,%xmm2
+  DB  243,15,112,210,232                  ; pshufhw       $0xe8,%xmm2,%xmm2
+  DB  102,15,112,210,232                  ; pshufd        $0xe8,%xmm2,%xmm2
+  DB  102,15,108,211                      ; punpcklqdq    %xmm3,%xmm2
+  DB  69,15,89,231                        ; mulps         %xmm15,%xmm12
+  DB  68,15,88,100,36,16                  ; addps         0x10(%rsp),%xmm12
+  DB  68,15,89,214                        ; mulps         %xmm6,%xmm10
+  DB  68,15,88,215                        ; addps         %xmm7,%xmm10
+  DB  68,15,89,224                        ; mulps         %xmm0,%xmm12
+  DB  68,15,89,208                        ; mulps         %xmm0,%xmm10
+  DB  68,15,88,209                        ; addps         %xmm1,%xmm10
+  DB  68,15,88,225                        ; addps         %xmm1,%xmm12
+  DB  243,65,15,91,196                    ; cvttps2dq     %xmm12,%xmm0
+  DB  242,15,112,192,232                  ; pshuflw       $0xe8,%xmm0,%xmm0
+  DB  243,15,112,192,232                  ; pshufhw       $0xe8,%xmm0,%xmm0
+  DB  102,15,112,192,232                  ; pshufd        $0xe8,%xmm0,%xmm0
+  DB  243,65,15,91,202                    ; cvttps2dq     %xmm10,%xmm1
+  DB  242,15,112,201,232                  ; pshuflw       $0xe8,%xmm1,%xmm1
+  DB  243,15,112,201,232                  ; pshufhw       $0xe8,%xmm1,%xmm1
+  DB  102,15,112,217,232                  ; pshufd        $0xe8,%xmm1,%xmm3
+  DB  102,15,108,216                      ; punpcklqdq    %xmm0,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,65,15,111,192                   ; movdqa        %xmm8,%xmm0
+  DB  102,65,15,111,201                   ; movdqa        %xmm9,%xmm1
+  DB  15,40,100,36,64                     ; movaps        0x40(%rsp),%xmm4
+  DB  15,40,108,36,80                     ; movaps        0x50(%rsp),%xmm5
+  DB  15,40,116,36,96                     ; movaps        0x60(%rsp),%xmm6
+  DB  15,40,124,36,112                    ; movaps        0x70(%rsp),%xmm7
+  DB  72,129,196,136,0,0,0                ; add           $0x88,%rsp
+  DB  91                                  ; pop           %rbx
+  DB  65,92                               ; pop           %r12
+  DB  65,93                               ; pop           %r13
+  DB  65,94                               ; pop           %r14
+  DB  65,95                               ; pop           %r15
+  DB  93                                  ; pop           %rbp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_evenly_spaced_2_stop_gradient_sse2_lowp
+_sk_evenly_spaced_2_stop_gradient_sse2_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  243,15,16,24                        ; movss         (%rax),%xmm3
+  DB  243,68,15,16,72,4                   ; movss         0x4(%rax),%xmm9
+  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
+  DB  243,68,15,16,64,16                  ; movss         0x10(%rax),%xmm8
+  DB  69,15,198,192,0                     ; shufps        $0x0,%xmm8,%xmm8
+  DB  15,40,209                           ; movaps        %xmm1,%xmm2
+  DB  15,89,211                           ; mulps         %xmm3,%xmm2
+  DB  15,89,216                           ; mulps         %xmm0,%xmm3
+  DB  65,15,88,216                        ; addps         %xmm8,%xmm3
+  DB  65,15,88,208                        ; addps         %xmm8,%xmm2
+  DB  68,15,40,21,144,19,0,0              ; movaps        0x1390(%rip),%xmm10        # 35590 <_sk_srcover_bgra_8888_sse2_lowp+0xd78>
+  DB  65,15,89,210                        ; mulps         %xmm10,%xmm2
+  DB  65,15,89,218                        ; mulps         %xmm10,%xmm3
+  DB  68,15,40,29,144,18,0,0              ; movaps        0x1290(%rip),%xmm11        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  65,15,88,219                        ; addps         %xmm11,%xmm3
+  DB  65,15,88,211                        ; addps         %xmm11,%xmm2
+  DB  243,15,91,210                       ; cvttps2dq     %xmm2,%xmm2
+  DB  242,15,112,210,232                  ; pshuflw       $0xe8,%xmm2,%xmm2
+  DB  243,15,112,210,232                  ; pshufhw       $0xe8,%xmm2,%xmm2
+  DB  102,15,112,210,232                  ; pshufd        $0xe8,%xmm2,%xmm2
+  DB  243,15,91,219                       ; cvttps2dq     %xmm3,%xmm3
+  DB  242,15,112,219,232                  ; pshuflw       $0xe8,%xmm3,%xmm3
+  DB  243,15,112,219,232                  ; pshufhw       $0xe8,%xmm3,%xmm3
+  DB  102,68,15,112,195,232               ; pshufd        $0xe8,%xmm3,%xmm8
+  DB  102,68,15,108,194                   ; punpcklqdq    %xmm2,%xmm8
+  DB  69,15,198,201,0                     ; shufps        $0x0,%xmm9,%xmm9
+  DB  243,15,16,80,20                     ; movss         0x14(%rax),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  15,40,217                           ; movaps        %xmm1,%xmm3
+  DB  65,15,89,217                        ; mulps         %xmm9,%xmm3
+  DB  68,15,89,200                        ; mulps         %xmm0,%xmm9
+  DB  68,15,88,202                        ; addps         %xmm2,%xmm9
+  DB  15,88,218                           ; addps         %xmm2,%xmm3
+  DB  65,15,89,218                        ; mulps         %xmm10,%xmm3
+  DB  69,15,89,202                        ; mulps         %xmm10,%xmm9
+  DB  69,15,88,203                        ; addps         %xmm11,%xmm9
+  DB  65,15,88,219                        ; addps         %xmm11,%xmm3
+  DB  243,15,91,211                       ; cvttps2dq     %xmm3,%xmm2
+  DB  242,15,112,210,232                  ; pshuflw       $0xe8,%xmm2,%xmm2
+  DB  243,15,112,210,232                  ; pshufhw       $0xe8,%xmm2,%xmm2
+  DB  102,15,112,210,232                  ; pshufd        $0xe8,%xmm2,%xmm2
+  DB  243,65,15,91,217                    ; cvttps2dq     %xmm9,%xmm3
+  DB  242,15,112,219,232                  ; pshuflw       $0xe8,%xmm3,%xmm3
+  DB  243,15,112,219,232                  ; pshufhw       $0xe8,%xmm3,%xmm3
+  DB  102,68,15,112,203,232               ; pshufd        $0xe8,%xmm3,%xmm9
+  DB  102,68,15,108,202                   ; punpcklqdq    %xmm2,%xmm9
+  DB  243,15,16,80,8                      ; movss         0x8(%rax),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  243,68,15,16,96,24                  ; movss         0x18(%rax),%xmm12
+  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
+  DB  15,40,217                           ; movaps        %xmm1,%xmm3
+  DB  15,89,218                           ; mulps         %xmm2,%xmm3
+  DB  15,89,208                           ; mulps         %xmm0,%xmm2
+  DB  65,15,88,212                        ; addps         %xmm12,%xmm2
+  DB  65,15,88,220                        ; addps         %xmm12,%xmm3
+  DB  65,15,89,218                        ; mulps         %xmm10,%xmm3
+  DB  65,15,89,210                        ; mulps         %xmm10,%xmm2
+  DB  65,15,88,211                        ; addps         %xmm11,%xmm2
+  DB  65,15,88,219                        ; addps         %xmm11,%xmm3
+  DB  243,15,91,219                       ; cvttps2dq     %xmm3,%xmm3
+  DB  242,15,112,219,232                  ; pshuflw       $0xe8,%xmm3,%xmm3
+  DB  243,15,112,219,232                  ; pshufhw       $0xe8,%xmm3,%xmm3
+  DB  102,15,112,219,232                  ; pshufd        $0xe8,%xmm3,%xmm3
+  DB  243,15,91,210                       ; cvttps2dq     %xmm2,%xmm2
+  DB  242,15,112,210,232                  ; pshuflw       $0xe8,%xmm2,%xmm2
+  DB  243,15,112,210,232                  ; pshufhw       $0xe8,%xmm2,%xmm2
+  DB  102,15,112,210,232                  ; pshufd        $0xe8,%xmm2,%xmm2
+  DB  102,15,108,211                      ; punpcklqdq    %xmm3,%xmm2
+  DB  243,15,16,88,12                     ; movss         0xc(%rax),%xmm3
+  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
+  DB  243,68,15,16,96,28                  ; movss         0x1c(%rax),%xmm12
+  DB  69,15,198,228,0                     ; shufps        $0x0,%xmm12,%xmm12
+  DB  15,89,203                           ; mulps         %xmm3,%xmm1
+  DB  15,89,216                           ; mulps         %xmm0,%xmm3
+  DB  65,15,88,220                        ; addps         %xmm12,%xmm3
+  DB  65,15,88,204                        ; addps         %xmm12,%xmm1
+  DB  65,15,89,202                        ; mulps         %xmm10,%xmm1
+  DB  65,15,89,218                        ; mulps         %xmm10,%xmm3
+  DB  65,15,88,219                        ; addps         %xmm11,%xmm3
+  DB  65,15,88,203                        ; addps         %xmm11,%xmm1
+  DB  243,15,91,193                       ; cvttps2dq     %xmm1,%xmm0
+  DB  242,15,112,192,232                  ; pshuflw       $0xe8,%xmm0,%xmm0
+  DB  243,15,112,192,232                  ; pshufhw       $0xe8,%xmm0,%xmm0
+  DB  102,15,112,192,232                  ; pshufd        $0xe8,%xmm0,%xmm0
+  DB  243,15,91,203                       ; cvttps2dq     %xmm3,%xmm1
+  DB  242,15,112,201,232                  ; pshuflw       $0xe8,%xmm1,%xmm1
+  DB  243,15,112,201,232                  ; pshufhw       $0xe8,%xmm1,%xmm1
+  DB  102,15,112,217,232                  ; pshufd        $0xe8,%xmm1,%xmm3
+  DB  102,15,108,216                      ; punpcklqdq    %xmm0,%xmm3
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,65,15,111,192                   ; movdqa        %xmm8,%xmm0
+  DB  102,65,15,111,201                   ; movdqa        %xmm9,%xmm1
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_xy_to_unit_angle_sse2_lowp
+_sk_xy_to_unit_angle_sse2_lowp LABEL PROC
+  DB  72,131,236,24                       ; sub           $0x18,%rsp
+  DB  15,41,60,36                         ; movaps        %xmm7,(%rsp)
+  DB  15,40,254                           ; movaps        %xmm6,%xmm7
+  DB  15,40,245                           ; movaps        %xmm5,%xmm6
+  DB  15,40,236                           ; movaps        %xmm4,%xmm5
+  DB  15,40,227                           ; movaps        %xmm3,%xmm4
+  DB  15,40,218                           ; movaps        %xmm2,%xmm3
+  DB  15,40,209                           ; movaps        %xmm1,%xmm2
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  68,15,40,37,129,22,0,0              ; movaps        0x1681(%rip),%xmm12        # 35a10 <_sk_srcover_bgra_8888_sse2_lowp+0x11f8>
+  DB  68,15,40,194                        ; movaps        %xmm2,%xmm8
+  DB  69,15,84,196                        ; andps         %xmm12,%xmm8
+  DB  68,15,40,217                        ; movaps        %xmm1,%xmm11
+  DB  69,15,84,220                        ; andps         %xmm12,%xmm11
+  DB  68,15,40,236                        ; movaps        %xmm4,%xmm13
+  DB  69,15,84,236                        ; andps         %xmm12,%xmm13
+  DB  68,15,84,227                        ; andps         %xmm3,%xmm12
+  DB  69,15,40,211                        ; movaps        %xmm11,%xmm10
+  DB  69,15,194,212,1                     ; cmpltps       %xmm12,%xmm10
+  DB  69,15,40,200                        ; movaps        %xmm8,%xmm9
+  DB  69,15,194,205,1                     ; cmpltps       %xmm13,%xmm9
+  DB  69,15,40,241                        ; movaps        %xmm9,%xmm14
+  DB  69,15,85,245                        ; andnps        %xmm13,%xmm14
+  DB  69,15,40,249                        ; movaps        %xmm9,%xmm15
+  DB  69,15,85,248                        ; andnps        %xmm8,%xmm15
+  DB  69,15,84,193                        ; andps         %xmm9,%xmm8
+  DB  69,15,86,198                        ; orps          %xmm14,%xmm8
+  DB  69,15,40,242                        ; movaps        %xmm10,%xmm14
+  DB  69,15,85,244                        ; andnps        %xmm12,%xmm14
+  DB  65,15,40,194                        ; movaps        %xmm10,%xmm0
+  DB  65,15,85,195                        ; andnps        %xmm11,%xmm0
+  DB  69,15,84,218                        ; andps         %xmm10,%xmm11
+  DB  69,15,86,222                        ; orps          %xmm14,%xmm11
+  DB  69,15,84,233                        ; andps         %xmm9,%xmm13
+  DB  69,15,86,239                        ; orps          %xmm15,%xmm13
+  DB  69,15,94,197                        ; divps         %xmm13,%xmm8
+  DB  69,15,84,226                        ; andps         %xmm10,%xmm12
+  DB  68,15,86,224                        ; orps          %xmm0,%xmm12
+  DB  69,15,94,220                        ; divps         %xmm12,%xmm11
+  DB  69,15,40,240                        ; movaps        %xmm8,%xmm14
+  DB  69,15,89,246                        ; mulps         %xmm14,%xmm14
+  DB  65,15,40,195                        ; movaps        %xmm11,%xmm0
+  DB  15,89,192                           ; mulps         %xmm0,%xmm0
+  DB  68,15,40,37,100,22,0,0              ; movaps        0x1664(%rip),%xmm12        # 35a80 <_sk_srcover_bgra_8888_sse2_lowp+0x1268>
+  DB  68,15,40,232                        ; movaps        %xmm0,%xmm13
+  DB  69,15,89,236                        ; mulps         %xmm12,%xmm13
+  DB  69,15,89,230                        ; mulps         %xmm14,%xmm12
+  DB  68,15,40,61,96,22,0,0               ; movaps        0x1660(%rip),%xmm15        # 35a90 <_sk_srcover_bgra_8888_sse2_lowp+0x1278>
+  DB  69,15,88,231                        ; addps         %xmm15,%xmm12
+  DB  69,15,88,239                        ; addps         %xmm15,%xmm13
+  DB  68,15,89,232                        ; mulps         %xmm0,%xmm13
+  DB  69,15,89,230                        ; mulps         %xmm14,%xmm12
+  DB  68,15,40,61,88,22,0,0               ; movaps        0x1658(%rip),%xmm15        # 35aa0 <_sk_srcover_bgra_8888_sse2_lowp+0x1288>
+  DB  69,15,88,231                        ; addps         %xmm15,%xmm12
+  DB  69,15,88,239                        ; addps         %xmm15,%xmm13
+  DB  68,15,89,232                        ; mulps         %xmm0,%xmm13
+  DB  69,15,89,230                        ; mulps         %xmm14,%xmm12
+  DB  15,40,5,81,22,0,0                   ; movaps        0x1651(%rip),%xmm0        # 35ab0 <_sk_srcover_bgra_8888_sse2_lowp+0x1298>
+  DB  68,15,88,224                        ; addps         %xmm0,%xmm12
+  DB  68,15,88,232                        ; addps         %xmm0,%xmm13
+  DB  69,15,89,235                        ; mulps         %xmm11,%xmm13
+  DB  69,15,89,224                        ; mulps         %xmm8,%xmm12
+  DB  15,40,5,74,22,0,0                   ; movaps        0x164a(%rip),%xmm0        # 35ac0 <_sk_srcover_bgra_8888_sse2_lowp+0x12a8>
+  DB  68,15,40,192                        ; movaps        %xmm0,%xmm8
+  DB  65,15,92,197                        ; subps         %xmm13,%xmm0
+  DB  65,15,84,194                        ; andps         %xmm10,%xmm0
+  DB  69,15,85,213                        ; andnps        %xmm13,%xmm10
+  DB  69,15,92,196                        ; subps         %xmm12,%xmm8
+  DB  68,15,86,208                        ; orps          %xmm0,%xmm10
+  DB  69,15,84,193                        ; andps         %xmm9,%xmm8
+  DB  69,15,85,204                        ; andnps        %xmm12,%xmm9
+  DB  69,15,86,200                        ; orps          %xmm8,%xmm9
+  DB  69,15,87,192                        ; xorps         %xmm8,%xmm8
+  DB  65,15,194,200,1                     ; cmpltps       %xmm8,%xmm1
+  DB  15,40,5,246,15,0,0                  ; movaps        0xff6(%rip),%xmm0        # 354a0 <_sk_srcover_bgra_8888_sse2_lowp+0xc88>
+  DB  68,15,40,216                        ; movaps        %xmm0,%xmm11
+  DB  65,15,92,194                        ; subps         %xmm10,%xmm0
+  DB  15,84,193                           ; andps         %xmm1,%xmm0
+  DB  65,15,85,202                        ; andnps        %xmm10,%xmm1
+  DB  65,15,194,208,1                     ; cmpltps       %xmm8,%xmm2
+  DB  69,15,92,217                        ; subps         %xmm9,%xmm11
+  DB  15,86,200                           ; orps          %xmm0,%xmm1
+  DB  68,15,84,218                        ; andps         %xmm2,%xmm11
+  DB  65,15,85,209                        ; andnps        %xmm9,%xmm2
+  DB  65,15,86,211                        ; orps          %xmm11,%xmm2
+  DB  68,15,40,219                        ; movaps        %xmm3,%xmm11
+  DB  69,15,194,216,1                     ; cmpltps       %xmm8,%xmm11
+  DB  68,15,40,13,206,15,0,0              ; movaps        0xfce(%rip),%xmm9        # 354b0 <_sk_srcover_bgra_8888_sse2_lowp+0xc98>
+  DB  69,15,40,209                        ; movaps        %xmm9,%xmm10
+  DB  68,15,92,201                        ; subps         %xmm1,%xmm9
+  DB  69,15,84,203                        ; andps         %xmm11,%xmm9
+  DB  68,15,85,217                        ; andnps        %xmm1,%xmm11
+  DB  69,15,86,217                        ; orps          %xmm9,%xmm11
+  DB  15,40,196                           ; movaps        %xmm4,%xmm0
+  DB  65,15,194,192,1                     ; cmpltps       %xmm8,%xmm0
+  DB  68,15,92,210                        ; subps         %xmm2,%xmm10
+  DB  68,15,84,208                        ; andps         %xmm0,%xmm10
+  DB  15,85,194                           ; andnps        %xmm2,%xmm0
+  DB  65,15,86,194                        ; orps          %xmm10,%xmm0
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  65,15,194,200,7                     ; cmpordps      %xmm8,%xmm1
+  DB  69,15,194,195,7                     ; cmpordps      %xmm11,%xmm8
+  DB  69,15,84,195                        ; andps         %xmm11,%xmm8
+  DB  15,84,200                           ; andps         %xmm0,%xmm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  15,40,211                           ; movaps        %xmm3,%xmm2
+  DB  15,40,220                           ; movaps        %xmm4,%xmm3
+  DB  65,15,40,192                        ; movaps        %xmm8,%xmm0
+  DB  15,40,229                           ; movaps        %xmm5,%xmm4
+  DB  15,40,238                           ; movaps        %xmm6,%xmm5
+  DB  15,40,247                           ; movaps        %xmm7,%xmm6
+  DB  15,40,60,36                         ; movaps        (%rsp),%xmm7
+  DB  72,131,196,24                       ; add           $0x18,%rsp
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_xy_to_radius_sse2_lowp
+_sk_xy_to_radius_sse2_lowp LABEL PROC
+  DB  15,89,192                           ; mulps         %xmm0,%xmm0
+  DB  15,89,201                           ; mulps         %xmm1,%xmm1
+  DB  68,15,40,194                        ; movaps        %xmm2,%xmm8
+  DB  69,15,89,192                        ; mulps         %xmm8,%xmm8
+  DB  68,15,88,192                        ; addps         %xmm0,%xmm8
+  DB  68,15,40,203                        ; movaps        %xmm3,%xmm9
+  DB  69,15,89,201                        ; mulps         %xmm9,%xmm9
+  DB  68,15,88,201                        ; addps         %xmm1,%xmm9
+  DB  65,15,81,192                        ; sqrtps        %xmm8,%xmm0
+  DB  65,15,81,201                        ; sqrtps        %xmm9,%xmm1
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  255,224                             ; jmpq          *%rax
+
+PUBLIC _sk_srcover_rgba_8888_sse2_lowp
+_sk_srcover_rgba_8888_sse2_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  65,137,250                          ; mov           %edi,%r10d
+  DB  65,128,226,7                        ; and           $0x7,%r10b
+  DB  65,254,202                          ; dec           %r10b
+  DB  69,15,182,202                       ; movzbl        %r10b,%r9d
+  DB  65,128,249,6                        ; cmp           $0x6,%r9b
+  DB  119,38                              ; ja            345b5 <_sk_srcover_rgba_8888_sse2_lowp+0x4b>
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  76,141,29,69,2,0,0                  ; lea           0x245(%rip),%r11        # 347e0 <_sk_srcover_rgba_8888_sse2_lowp+0x276>
+  DB  75,99,4,139                         ; movslq        (%r11,%r9,4),%rax
+  DB  76,1,216                            ; add           %r11,%rax
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  255,224                             ; jmpq          *%rax
+  DB  243,65,15,16,60,144                 ; movss         (%r8,%rdx,4),%xmm7
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  235,102                             ; jmp           3461b <_sk_srcover_rgba_8888_sse2_lowp+0xb1>
+  DB  102,65,15,16,60,144                 ; movupd        (%r8,%rdx,4),%xmm7
+  DB  243,69,15,111,68,144,16             ; movdqu        0x10(%r8,%rdx,4),%xmm8
+  DB  235,87                              ; jmp           3461b <_sk_srcover_rgba_8888_sse2_lowp+0xb1>
+  DB  102,65,15,110,100,144,8             ; movd          0x8(%r8,%rdx,4),%xmm4
+  DB  102,68,15,112,196,69                ; pshufd        $0x45,%xmm4,%xmm8
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  102,69,15,18,4,144                  ; movlpd        (%r8,%rdx,4),%xmm8
+  DB  102,65,15,40,248                    ; movapd        %xmm8,%xmm7
+  DB  102,68,15,111,196                   ; movdqa        %xmm4,%xmm8
+  DB  235,52                              ; jmp           3461b <_sk_srcover_rgba_8888_sse2_lowp+0xb1>
+  DB  102,65,15,110,100,144,24            ; movd          0x18(%r8,%rdx,4),%xmm4
+  DB  102,68,15,112,196,69                ; pshufd        $0x45,%xmm4,%xmm8
+  DB  243,65,15,16,100,144,20             ; movss         0x14(%r8,%rdx,4),%xmm4
+  DB  65,15,198,224,0                     ; shufps        $0x0,%xmm8,%xmm4
+  DB  65,15,198,224,226                   ; shufps        $0xe2,%xmm8,%xmm4
+  DB  68,15,40,196                        ; movaps        %xmm4,%xmm8
+  DB  243,65,15,16,100,144,16             ; movss         0x10(%r8,%rdx,4),%xmm4
+  DB  243,68,15,16,196                    ; movss         %xmm4,%xmm8
+  DB  102,65,15,16,60,144                 ; movupd        (%r8,%rdx,4),%xmm7
+  DB  102,15,40,239                       ; movapd        %xmm7,%xmm5
+  DB  102,15,114,245,16                   ; pslld         $0x10,%xmm5
+  DB  102,15,114,229,16                   ; psrad         $0x10,%xmm5
+  DB  102,65,15,111,224                   ; movdqa        %xmm8,%xmm4
+  DB  102,15,114,244,16                   ; pslld         $0x10,%xmm4
+  DB  102,15,114,228,16                   ; psrad         $0x10,%xmm4
+  DB  102,15,107,236                      ; packssdw      %xmm4,%xmm5
+  DB  102,68,15,111,37,11,14,0,0          ; movdqa        0xe0b(%rip),%xmm12        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,15,111,229                      ; movdqa        %xmm5,%xmm4
+  DB  102,65,15,219,228                   ; pand          %xmm12,%xmm4
+  DB  102,15,113,213,8                    ; psrlw         $0x8,%xmm5
+  DB  102,69,15,111,200                   ; movdqa        %xmm8,%xmm9
+  DB  102,65,15,114,209,16                ; psrld         $0x10,%xmm9
+  DB  102,15,40,247                       ; movapd        %xmm7,%xmm6
+  DB  102,15,114,214,16                   ; psrld         $0x10,%xmm6
+  DB  102,15,114,215,24                   ; psrld         $0x18,%xmm7
+  DB  102,15,114,247,16                   ; pslld         $0x10,%xmm7
+  DB  102,15,114,231,16                   ; psrad         $0x10,%xmm7
+  DB  102,65,15,114,208,24                ; psrld         $0x18,%xmm8
+  DB  102,65,15,114,240,16                ; pslld         $0x10,%xmm8
+  DB  102,65,15,114,224,16                ; psrad         $0x10,%xmm8
+  DB  102,65,15,107,248                   ; packssdw      %xmm8,%xmm7
+  DB  102,15,114,246,16                   ; pslld         $0x10,%xmm6
+  DB  102,15,114,230,16                   ; psrad         $0x10,%xmm6
+  DB  102,65,15,114,241,16                ; pslld         $0x10,%xmm9
+  DB  102,65,15,114,225,16                ; psrad         $0x10,%xmm9
+  DB  102,65,15,107,241                   ; packssdw      %xmm9,%xmm6
+  DB  102,65,15,219,244                   ; pand          %xmm12,%xmm6
+  DB  102,69,15,111,196                   ; movdqa        %xmm12,%xmm8
+  DB  102,68,15,249,195                   ; psubw         %xmm3,%xmm8
+  DB  102,68,15,111,204                   ; movdqa        %xmm4,%xmm9
+  DB  102,69,15,213,200                   ; pmullw        %xmm8,%xmm9
+  DB  102,69,15,253,204                   ; paddw         %xmm12,%xmm9
+  DB  102,65,15,113,209,8                 ; psrlw         $0x8,%xmm9
+  DB  102,68,15,253,200                   ; paddw         %xmm0,%xmm9
+  DB  102,68,15,111,213                   ; movdqa        %xmm5,%xmm10
+  DB  102,69,15,213,208                   ; pmullw        %xmm8,%xmm10
+  DB  102,69,15,253,212                   ; paddw         %xmm12,%xmm10
+  DB  102,65,15,113,210,8                 ; psrlw         $0x8,%xmm10
+  DB  102,68,15,253,209                   ; paddw         %xmm1,%xmm10
+  DB  102,68,15,111,222                   ; movdqa        %xmm6,%xmm11
+  DB  102,69,15,213,216                   ; pmullw        %xmm8,%xmm11
+  DB  102,69,15,253,220                   ; paddw         %xmm12,%xmm11
+  DB  102,65,15,113,211,8                 ; psrlw         $0x8,%xmm11
+  DB  102,68,15,253,218                   ; paddw         %xmm2,%xmm11
+  DB  102,68,15,213,199                   ; pmullw        %xmm7,%xmm8
+  DB  102,69,15,253,196                   ; paddw         %xmm12,%xmm8
+  DB  102,65,15,113,208,8                 ; psrlw         $0x8,%xmm8
+  DB  102,68,15,253,195                   ; paddw         %xmm3,%xmm8
+  DB  102,65,15,111,210                   ; movdqa        %xmm10,%xmm2
+  DB  102,15,113,242,8                    ; psllw         $0x8,%xmm2
+  DB  102,65,15,235,209                   ; por           %xmm9,%xmm2
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  102,15,111,218                      ; movdqa        %xmm2,%xmm3
+  DB  102,15,97,216                       ; punpcklwd     %xmm0,%xmm3
+  DB  102,15,105,208                      ; punpckhwd     %xmm0,%xmm2
+  DB  102,65,15,111,200                   ; movdqa        %xmm8,%xmm1
+  DB  102,15,113,241,8                    ; psllw         $0x8,%xmm1
+  DB  102,65,15,235,203                   ; por           %xmm11,%xmm1
+  DB  102,69,15,239,228                   ; pxor          %xmm12,%xmm12
+  DB  102,68,15,97,225                    ; punpcklwd     %xmm1,%xmm12
+  DB  102,68,15,235,227                   ; por           %xmm3,%xmm12
+  DB  102,15,105,193                      ; punpckhwd     %xmm1,%xmm0
+  DB  102,15,235,194                      ; por           %xmm2,%xmm0
+  DB  65,128,250,6                        ; cmp           $0x6,%r10b
+  DB  119,24                              ; ja            3477d <_sk_srcover_rgba_8888_sse2_lowp+0x213>
+  DB  76,141,21,144,0,0,0                 ; lea           0x90(%rip),%r10        # 347fc <_sk_srcover_rgba_8888_sse2_lowp+0x292>
+  DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
+  DB  76,1,208                            ; add           %r10,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,69,15,126,36,144                ; movd          %xmm12,(%r8,%rdx,4)
+  DB  235,73                              ; jmp           347c6 <_sk_srcover_rgba_8888_sse2_lowp+0x25c>
+  DB  243,69,15,127,36,144                ; movdqu        %xmm12,(%r8,%rdx,4)
+  DB  243,65,15,127,68,144,16             ; movdqu        %xmm0,0x10(%r8,%rdx,4)
+  DB  235,58                              ; jmp           347c6 <_sk_srcover_rgba_8888_sse2_lowp+0x25c>
+  DB  102,65,15,112,196,78                ; pshufd        $0x4e,%xmm12,%xmm0
+  DB  102,65,15,126,68,144,8              ; movd          %xmm0,0x8(%r8,%rdx,4)
+  DB  102,69,15,214,36,144                ; movq          %xmm12,(%r8,%rdx,4)
+  DB  235,37                              ; jmp           347c6 <_sk_srcover_rgba_8888_sse2_lowp+0x25c>
+  DB  102,15,112,200,78                   ; pshufd        $0x4e,%xmm0,%xmm1
+  DB  102,65,15,126,76,144,24             ; movd          %xmm1,0x18(%r8,%rdx,4)
+  DB  102,15,112,200,229                  ; pshufd        $0xe5,%xmm0,%xmm1
+  DB  102,65,15,126,76,144,20             ; movd          %xmm1,0x14(%r8,%rdx,4)
+  DB  102,65,15,126,68,144,16             ; movd          %xmm0,0x10(%r8,%rdx,4)
+  DB  243,69,15,127,36,144                ; movdqu        %xmm12,(%r8,%rdx,4)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,65,15,111,193                   ; movdqa        %xmm9,%xmm0
+  DB  102,65,15,111,202                   ; movdqa        %xmm10,%xmm1
+  DB  102,65,15,111,211                   ; movdqa        %xmm11,%xmm2
+  DB  102,65,15,111,216                   ; movdqa        %xmm8,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  200,253,255,255                     ; enterq        $0xfffd,$0xff
+  DB  245                                 ; cmc
+  DB  253                                 ; std
+  DB  255                                 ; (bad)
+  DB  255,228                             ; jmpq          *%rsp
+  DB  253                                 ; std
+  DB  255                                 ; (bad)
+  DB  255,53,254,255,255,41               ; pushq         0x29fffffe(%rip)        # 2a0347ef <_sk_srcover_bgra_8888_sse2_lowp+0x29ffffd7>
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,20,254                          ; callq         *(%rsi,%rdi,8)
+  DB  255                                 ; (bad)
+  DB  255,7                               ; incl          (%rdi)
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  121,255                             ; jns           347fd <_sk_srcover_rgba_8888_sse2_lowp+0x293>
+  DB  255                                 ; (bad)
+  DB  255,157,255,255,255,144             ; lcall         *-0x6f000001(%rbp)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,196                             ; inc           %esp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  189,255,255,255,177                 ; mov           $0xb1ffffff,%ebp
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+  DB  165                                 ; movsl         %ds:(%rsi),%es:(%rdi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+PUBLIC _sk_srcover_bgra_8888_sse2_lowp
+_sk_srcover_bgra_8888_sse2_lowp LABEL PROC
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  76,99,64,8                          ; movslq        0x8(%rax),%r8
+  DB  76,15,175,193                       ; imul          %rcx,%r8
+  DB  73,193,224,2                        ; shl           $0x2,%r8
+  DB  76,3,0                              ; add           (%rax),%r8
+  DB  65,137,250                          ; mov           %edi,%r10d
+  DB  65,128,226,7                        ; and           $0x7,%r10b
+  DB  65,254,202                          ; dec           %r10b
+  DB  69,15,182,202                       ; movzbl        %r10b,%r9d
+  DB  65,128,249,6                        ; cmp           $0x6,%r9b
+  DB  119,38                              ; ja            34863 <_sk_srcover_bgra_8888_sse2_lowp+0x4b>
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  76,141,29,67,2,0,0                  ; lea           0x243(%rip),%r11        # 34a8c <_sk_srcover_bgra_8888_sse2_lowp+0x274>
+  DB  75,99,4,139                         ; movslq        (%r11,%r9,4),%rax
+  DB  76,1,216                            ; add           %r11,%rax
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  255,224                             ; jmpq          *%rax
+  DB  243,65,15,16,60,144                 ; movss         (%r8,%rdx,4),%xmm7
+  DB  102,69,15,239,192                   ; pxor          %xmm8,%xmm8
+  DB  235,102                             ; jmp           348c9 <_sk_srcover_bgra_8888_sse2_lowp+0xb1>
+  DB  102,65,15,16,60,144                 ; movupd        (%r8,%rdx,4),%xmm7
+  DB  243,69,15,111,68,144,16             ; movdqu        0x10(%r8,%rdx,4),%xmm8
+  DB  235,87                              ; jmp           348c9 <_sk_srcover_bgra_8888_sse2_lowp+0xb1>
+  DB  102,65,15,110,100,144,8             ; movd          0x8(%r8,%rdx,4),%xmm4
+  DB  102,68,15,112,196,69                ; pshufd        $0x45,%xmm4,%xmm8
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  102,69,15,18,4,144                  ; movlpd        (%r8,%rdx,4),%xmm8
+  DB  102,65,15,40,248                    ; movapd        %xmm8,%xmm7
+  DB  102,68,15,111,196                   ; movdqa        %xmm4,%xmm8
+  DB  235,52                              ; jmp           348c9 <_sk_srcover_bgra_8888_sse2_lowp+0xb1>
+  DB  102,65,15,110,100,144,24            ; movd          0x18(%r8,%rdx,4),%xmm4
+  DB  102,68,15,112,196,69                ; pshufd        $0x45,%xmm4,%xmm8
+  DB  243,65,15,16,100,144,20             ; movss         0x14(%r8,%rdx,4),%xmm4
+  DB  65,15,198,224,0                     ; shufps        $0x0,%xmm8,%xmm4
+  DB  65,15,198,224,226                   ; shufps        $0xe2,%xmm8,%xmm4
+  DB  68,15,40,196                        ; movaps        %xmm4,%xmm8
+  DB  243,65,15,16,100,144,16             ; movss         0x10(%r8,%rdx,4),%xmm4
+  DB  243,68,15,16,196                    ; movss         %xmm4,%xmm8
+  DB  102,65,15,16,60,144                 ; movupd        (%r8,%rdx,4),%xmm7
+  DB  102,15,40,239                       ; movapd        %xmm7,%xmm5
+  DB  102,15,114,245,16                   ; pslld         $0x10,%xmm5
+  DB  102,15,114,229,16                   ; psrad         $0x10,%xmm5
+  DB  102,65,15,111,224                   ; movdqa        %xmm8,%xmm4
+  DB  102,15,114,244,16                   ; pslld         $0x10,%xmm4
+  DB  102,15,114,228,16                   ; psrad         $0x10,%xmm4
+  DB  102,15,107,236                      ; packssdw      %xmm4,%xmm5
+  DB  102,68,15,111,37,93,11,0,0          ; movdqa        0xb5d(%rip),%xmm12        # 35450 <_sk_srcover_bgra_8888_sse2_lowp+0xc38>
+  DB  102,15,111,245                      ; movdqa        %xmm5,%xmm6
+  DB  102,65,15,219,244                   ; pand          %xmm12,%xmm6
+  DB  102,15,113,213,8                    ; psrlw         $0x8,%xmm5
+  DB  102,69,15,111,200                   ; movdqa        %xmm8,%xmm9
+  DB  102,65,15,114,209,16                ; psrld         $0x10,%xmm9
+  DB  102,15,40,231                       ; movapd        %xmm7,%xmm4
+  DB  102,15,114,212,16                   ; psrld         $0x10,%xmm4
+  DB  102,15,114,215,24                   ; psrld         $0x18,%xmm7
+  DB  102,15,114,247,16                   ; pslld         $0x10,%xmm7
+  DB  102,15,114,231,16                   ; psrad         $0x10,%xmm7
+  DB  102,65,15,114,208,24                ; psrld         $0x18,%xmm8
+  DB  102,65,15,114,240,16                ; pslld         $0x10,%xmm8
+  DB  102,65,15,114,224,16                ; psrad         $0x10,%xmm8
+  DB  102,65,15,107,248                   ; packssdw      %xmm8,%xmm7
+  DB  102,15,114,244,16                   ; pslld         $0x10,%xmm4
+  DB  102,15,114,228,16                   ; psrad         $0x10,%xmm4
+  DB  102,65,15,114,241,16                ; pslld         $0x10,%xmm9
+  DB  102,65,15,114,225,16                ; psrad         $0x10,%xmm9
+  DB  102,65,15,107,225                   ; packssdw      %xmm9,%xmm4
+  DB  102,65,15,219,228                   ; pand          %xmm12,%xmm4
+  DB  102,69,15,111,196                   ; movdqa        %xmm12,%xmm8
+  DB  102,68,15,249,195                   ; psubw         %xmm3,%xmm8
+  DB  102,68,15,111,204                   ; movdqa        %xmm4,%xmm9
+  DB  102,69,15,213,200                   ; pmullw        %xmm8,%xmm9
+  DB  102,69,15,253,204                   ; paddw         %xmm12,%xmm9
+  DB  102,65,15,113,209,8                 ; psrlw         $0x8,%xmm9
+  DB  102,68,15,253,200                   ; paddw         %xmm0,%xmm9
+  DB  102,68,15,111,213                   ; movdqa        %xmm5,%xmm10
+  DB  102,69,15,213,208                   ; pmullw        %xmm8,%xmm10
+  DB  102,69,15,253,212                   ; paddw         %xmm12,%xmm10
+  DB  102,65,15,113,210,8                 ; psrlw         $0x8,%xmm10
+  DB  102,68,15,253,209                   ; paddw         %xmm1,%xmm10
+  DB  102,68,15,111,222                   ; movdqa        %xmm6,%xmm11
+  DB  102,69,15,213,216                   ; pmullw        %xmm8,%xmm11
+  DB  102,69,15,253,220                   ; paddw         %xmm12,%xmm11
+  DB  102,65,15,113,211,8                 ; psrlw         $0x8,%xmm11
+  DB  102,68,15,253,218                   ; paddw         %xmm2,%xmm11
+  DB  102,68,15,213,199                   ; pmullw        %xmm7,%xmm8
+  DB  102,69,15,253,196                   ; paddw         %xmm12,%xmm8
+  DB  102,65,15,113,208,8                 ; psrlw         $0x8,%xmm8
+  DB  102,68,15,253,195                   ; paddw         %xmm3,%xmm8
+  DB  102,65,15,111,210                   ; movdqa        %xmm10,%xmm2
+  DB  102,15,113,242,8                    ; psllw         $0x8,%xmm2
+  DB  102,65,15,235,211                   ; por           %xmm11,%xmm2
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  102,15,111,218                      ; movdqa        %xmm2,%xmm3
+  DB  102,15,97,216                       ; punpcklwd     %xmm0,%xmm3
+  DB  102,15,105,208                      ; punpckhwd     %xmm0,%xmm2
+  DB  102,65,15,111,200                   ; movdqa        %xmm8,%xmm1
+  DB  102,15,113,241,8                    ; psllw         $0x8,%xmm1
+  DB  102,65,15,235,201                   ; por           %xmm9,%xmm1
+  DB  102,69,15,239,228                   ; pxor          %xmm12,%xmm12
+  DB  102,68,15,97,225                    ; punpcklwd     %xmm1,%xmm12
+  DB  102,68,15,235,227                   ; por           %xmm3,%xmm12
+  DB  102,15,105,193                      ; punpckhwd     %xmm1,%xmm0
+  DB  102,15,235,194                      ; por           %xmm2,%xmm0
+  DB  65,128,250,6                        ; cmp           $0x6,%r10b
+  DB  119,24                              ; ja            34a2b <_sk_srcover_bgra_8888_sse2_lowp+0x213>
+  DB  76,141,21,142,0,0,0                 ; lea           0x8e(%rip),%r10        # 34aa8 <_sk_srcover_bgra_8888_sse2_lowp+0x290>
+  DB  75,99,4,138                         ; movslq        (%r10,%r9,4),%rax
+  DB  76,1,208                            ; add           %r10,%rax
+  DB  255,224                             ; jmpq          *%rax
+  DB  102,69,15,126,36,144                ; movd          %xmm12,(%r8,%rdx,4)
+  DB  235,73                              ; jmp           34a74 <_sk_srcover_bgra_8888_sse2_lowp+0x25c>
+  DB  243,69,15,127,36,144                ; movdqu        %xmm12,(%r8,%rdx,4)
+  DB  243,65,15,127,68,144,16             ; movdqu        %xmm0,0x10(%r8,%rdx,4)
+  DB  235,58                              ; jmp           34a74 <_sk_srcover_bgra_8888_sse2_lowp+0x25c>
+  DB  102,65,15,112,196,78                ; pshufd        $0x4e,%xmm12,%xmm0
+  DB  102,65,15,126,68,144,8              ; movd          %xmm0,0x8(%r8,%rdx,4)
+  DB  102,69,15,214,36,144                ; movq          %xmm12,(%r8,%rdx,4)
+  DB  235,37                              ; jmp           34a74 <_sk_srcover_bgra_8888_sse2_lowp+0x25c>
+  DB  102,15,112,200,78                   ; pshufd        $0x4e,%xmm0,%xmm1
+  DB  102,65,15,126,76,144,24             ; movd          %xmm1,0x18(%r8,%rdx,4)
+  DB  102,15,112,200,229                  ; pshufd        $0xe5,%xmm0,%xmm1
+  DB  102,65,15,126,76,144,20             ; movd          %xmm1,0x14(%r8,%rdx,4)
+  DB  102,65,15,126,68,144,16             ; movd          %xmm0,0x10(%r8,%rdx,4)
+  DB  243,69,15,127,36,144                ; movdqu        %xmm12,(%r8,%rdx,4)
+  DB  72,173                              ; lods          %ds:(%rsi),%rax
+  DB  102,65,15,111,193                   ; movdqa        %xmm9,%xmm0
+  DB  102,65,15,111,202                   ; movdqa        %xmm10,%xmm1
+  DB  102,65,15,111,211                   ; movdqa        %xmm11,%xmm2
+  DB  102,65,15,111,216                   ; movdqa        %xmm8,%xmm3
+  DB  255,224                             ; jmpq          *%rax
+  DB  202,253,255                         ; lret          $0xfffd
+  DB  255,247                             ; push          %rdi
+  DB  253                                 ; std
+  DB  255                                 ; (bad)
+  DB  255,230                             ; jmpq          *%rsi
+  DB  253                                 ; std
+  DB  255                                 ; (bad)
+  DB  255,55                              ; pushq         (%rdi)
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,43                              ; ljmp          *(%rbx)
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,22                              ; callq         *(%rsi)
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,9                               ; decl          (%rcx)
+  DB  254                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  123,255                             ; jnp           34aa9 <_sk_srcover_bgra_8888_sse2_lowp+0x291>
+  DB  255                                 ; (bad)
+  DB  255,159,255,255,255,146             ; lcall         *-0x6d000001(%rdi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,198                             ; inc           %esi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  191,255,255,255,179                 ; mov           $0xb3ffffff,%edi
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+  DB  167                                 ; cmpsl         %es:(%rdi),%ds:(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; .byte         0xff
+
+ALIGN 4
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,63                                ; add           %bh,(%rdi)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  128,63,1                            ; cmpb          $0x1,(%rdi)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,4,0                               ; add           %al,(%rax,%rax,1)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  2,0                                 ; add           (%rax),%al
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  128,60,0,0                          ; cmpb          $0x0,(%rax,%rax,1)
+  DB  252                                 ; cld
+  DB  190,0,0,128,191                     ; mov           $0xbf800000,%esi
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  224,64                              ; loopne        34b28 <.literal4+0x64>
+  DB  154                                 ; (bad)
+  DB  153                                 ; cltd
+  DB  153                                 ; cltd
+  DB  62,61,10,23,63,174                  ; ds            cmp $0xae3f170a,%eax
+  DB  71,225,61                           ; rex.RXB       loope 34b31 <.literal4+0x6d>
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  127,67                              ; jg            34b3b <.literal4+0x77>
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  128,127,145,131                     ; cmpb          $0x83,-0x6f(%rdi)
+  DB  158                                 ; sahf
+  DB  61,92,143,50,63                     ; cmp           $0x3f328f5c,%eax
+  DB  10,215                              ; or            %bh,%dl
+  DB  35,59                               ; and           (%rbx),%edi
+  DB  174                                 ; scas          %es:(%rdi),%al
+  DB  71,97                               ; rex.RXB       (bad)
+  DB  61,82,184,78,65                     ; cmp           $0x414eb852,%eax
+  DB  186,159,98,60,57                    ; mov           $0x393c629f,%edx
+  DB  215                                 ; xlat          %ds:(%rbx)
+  DB  32,187,109,165,144,63               ; and           %bh,0x3f90a56d(%rbx)
+  DB  252                                 ; cld
+  DB  191,16,62,168,177                   ; mov           $0xb1a83e10,%edi
+  DB  152                                 ; cwtl
+  DB  59,0                                ; cmp           (%rax),%eax
+  DB  0,192                               ; add           %al,%al
+  DB  64,0,0                              ; add           %al,(%rax)
+  DB  0,64,0                              ; add           %al,0x0(%rax)
+  DB  0,128,64,171,170,42                 ; add           %al,0x2aaaab40(%rax)
+  DB  62,171                              ; ds            stos %eax,%es:(%rdi)
+  DB  170                                 ; stos          %al,%es:(%rdi)
+  DB  170                                 ; stos          %al,%es:(%rdi)
+  DB  62,171                              ; ds            stos %eax,%es:(%rdi)
+  DB  170                                 ; stos          %al,%es:(%rdi)
+  DB  42,63                               ; sub           (%rdi),%bh
+  DB  171                                 ; stos          %eax,%es:(%rdi)
+  DB  170                                 ; stos          %al,%es:(%rdi)
+  DB  170                                 ; stos          %al,%es:(%rdi)
+  DB  190,129,128,128,59                  ; mov           $0x3b808081,%esi
+  DB  0,248                               ; add           %bh,%al
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  8,33                                ; or            %ah,(%rcx)
+  DB  132,55                              ; test          %dh,(%rdi)
+  DB  224,7                               ; loopne        34b55 <.literal4+0x91>
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  33,8                                ; and           %ecx,(%rax)
+  DB  2,58                                ; add           (%rdx),%bh
+  DB  31                                  ; (bad)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,8                                 ; add           %cl,(%rax)
+  DB  33,4,61,128,0,128,55                ; and           %eax,0x37800080(,%rdi,1)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,52,255                            ; add           %dh,(%rdi,%rdi,8)
+  DB  255                                 ; (bad)
+  DB  127,0                               ; jg            34b68 <.literal4+0xa4>
+  DB  119,115                             ; ja            34bdd <.literal4+0x119>
+  DB  248                                 ; clc
+  DB  194,117,191                         ; retq          $0xbf75
+  DB  191,63,249,68,180                   ; mov           $0xb444f93f,%edi
+  DB  62,163,233,220,63,81,140,242,66,141 ; movabs        %eax,%ds:0x8d42f28c513fdce9
+  DB  188,190,63,248,245                  ; mov           $0xf5f83fbe,%esp
+  DB  154                                 ; (bad)
+  DB  64,254                              ; rex           (bad)
+  DB  210,221                             ; rcr           %cl,%ch
+  DB  65,0,0                              ; add           %al,(%r8)
+  DB  0,75,0                              ; add           %cl,0x0(%rbx)
+  DB  0,200                               ; add           %cl,%al
+  DB  66,0,0                              ; rex.X         add %al,(%rax)
+  DB  0,195                               ; add           %al,%bl
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  128,65,203,61                       ; addb          $0x3d,-0x35(%rcx)
+  DB  13,60,111,18,3                      ; or            $0x3126f3c,%eax
+  DB  59,10                               ; cmp           (%rdx),%ecx
+  DB  215                                 ; xlat          %ds:(%rbx)
+  DB  163,59,194,24,17,60,203,61,13       ; movabs        %eax,0xd3dcb3c1118c23b
+  DB  190,80,128,3,62                     ; mov           $0x3e038050,%esi
+  DB  31                                  ; (bad)
+  DB  215                                 ; xlat          %ds:(%rbx)
+  DB  118,63                              ; jbe           34bf3 <.literal4+0x12f>
+  DB  246,64,83,63                        ; testb         $0x3f,0x53(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  248                                 ; clc
+  DB  65,0,0                              ; add           %al,(%r8)
+  DB  124,66                              ; jl            34c02 <.literal4+0x13e>
+  DB  0,240                               ; add           %dh,%al
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  137,136,136,55,0,15                 ; mov           %ecx,0xf003788(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  137,136,136,57,240,0                ; mov           %ecx,0xf03988(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  137,136,136,59,15,0                 ; mov           %ecx,0xf3b88(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  137,136,136,61,0,0                  ; mov           %ecx,0x3d88(%rax)
+  DB  112,65                              ; jo            34c25 <.literal4+0x161>
+  DB  255,3                               ; incl          (%rbx)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  8,32                                ; or            %ah,(%rax)
+  DB  128,58,0                            ; cmpb          $0x0,(%rdx)
+  DB  192,127,68,0                        ; sarb          $0x0,0x44(%rdi)
+  DB  0,64,64                             ; add           %al,0x40(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  127,71                              ; jg            34c3f <.literal4+0x17b>
+  DB  208                                 ; (bad)
+  DB  179,89                              ; mov           $0x59,%bl
+  DB  62,89                               ; ds            pop %rcx
+  DB  23                                  ; (bad)
+  DB  55                                  ; (bad)
+  DB  63                                  ; (bad)
+  DB  152                                 ; cwtl
+  DB  221,147,61,111,43,231               ; fstl          -0x18d490c3(%rbx)
+  DB  187,159,215,202,60                  ; mov           $0x3ccad79f,%ebx
+  DB  212                                 ; (bad)
+  DB  100,84                              ; fs            push %rsp
+  DB  189,169,240,34,62                   ; mov           $0x3e22f0a9,%ebp
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  128,62,0                            ; cmpb          $0x0,(%rsi)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  128,0,0                             ; addb          $0x0,(%rax)
+  DB  0,191,0,0,192,191                   ; add           %bh,-0x40400000(%rdi)
+  DB  114,28                              ; jb            34c42 <.literal4+0x17e>
+  DB  199                                 ; (bad)
+  DB  62,0,0                              ; add           %al,%ds:(%rax)
+  DB  192,63,85                           ; sarb          $0x55,(%rdi)
+  DB  85                                  ; push          %rbp
+  DB  149                                 ; xchg          %eax,%ebp
+  DB  191,57,142,99,61                    ; mov           $0x3d638e39,%edi
+  DB  114,249                             ; jb            34c2f <.literal4+0x16b>
+  DB  127,63                              ; jg            34c77 <_sk_srcover_bgra_8888_sse2_lowp+0x45f>
+  DB  3,0                                 ; add           (%rax),%eax
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  18,120,57                           ; adc           0x39(%rax),%bh
+  DB  64,45,16,17,192,32                  ; rex           sub $0x20c01110,%eax
+  DB  148                                 ; xchg          %eax,%esp
+  DB  90                                  ; pop           %rdx
+  DB  62,4,157                            ; ds            add $0x9d,%al
+  DB  30                                  ; (bad)
+  DB  62,0,24                             ; add           %bl,%ds:(%rax)
+  DB  161,57,0,0,0,0,0,4,0                ; movabs        0x4000000000039,%eax
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  56,255                              ; cmp           %bh,%bh
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  127,0                               ; jg            34c61 <.literal4+0x19d>
+  DB  0,128,56,0,64,254                   ; add           %al,-0x1bfffc8(%rax)
+  DB  255                                 ; .byte         0xff
+
+ALIGN 32
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  1,0                                 ; add           %eax,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  2,0                                 ; add           (%rax),%al
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  3,0                                 ; add           (%rax),%eax
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  4,0                                 ; add           $0x0,%al
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  5,0,0,0,6                           ; add           $0x6000000,%eax
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,7                                 ; add           %al,(%rdi)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,1                                 ; add           %al,(%rcx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,5,255,255,255,9                 ; incl          0x9ffffff(%rip)        # a034cc8 <_sk_srcover_bgra_8888_sse2_lowp+0xa0004b0>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,13,255,255,255,17               ; decl          0x11ffffff(%rip)        # 12034cd0 <_sk_srcover_bgra_8888_sse2_lowp+0x120004b8>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,21,255,255,255,25               ; callq         *0x19ffffff(%rip)        # 1a034cd8 <_sk_srcover_bgra_8888_sse2_lowp+0x1a0004c0>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,29,255,255,255,2                ; lcall         *0x2ffffff(%rip)        # 3034ce0 <_sk_srcover_bgra_8888_sse2_lowp+0x30004c8>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,6                               ; incl          (%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,10                              ; decl          (%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,14                              ; decl          (%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,18                              ; callq         *(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,22                              ; callq         *(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,26                              ; lcall         *(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,30                              ; lcall         *(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  1,255                               ; add           %edi,%edi
+  DB  255                                 ; (bad)
+  DB  255,5,255,255,255,9                 ; incl          0x9ffffff(%rip)        # a034d28 <_sk_srcover_bgra_8888_sse2_lowp+0xa000510>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,13,255,255,255,17               ; decl          0x11ffffff(%rip)        # 12034d30 <_sk_srcover_bgra_8888_sse2_lowp+0x12000518>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,21,255,255,255,25               ; callq         *0x19ffffff(%rip)        # 1a034d38 <_sk_srcover_bgra_8888_sse2_lowp+0x1a000520>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,29,255,255,255,2                ; lcall         *0x2ffffff(%rip)        # 3034d40 <_sk_srcover_bgra_8888_sse2_lowp+0x3000528>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,6                               ; incl          (%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,10                              ; decl          (%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,14                              ; decl          (%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,18                              ; callq         *(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,22                              ; callq         *(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,26                              ; lcall         *(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,30                              ; lcall         *(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  1,255                               ; add           %edi,%edi
+  DB  255                                 ; (bad)
+  DB  255,5,255,255,255,9                 ; incl          0x9ffffff(%rip)        # a034d88 <_sk_srcover_bgra_8888_sse2_lowp+0xa000570>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,13,255,255,255,17               ; decl          0x11ffffff(%rip)        # 12034d90 <_sk_srcover_bgra_8888_sse2_lowp+0x12000578>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,21,255,255,255,25               ; callq         *0x19ffffff(%rip)        # 1a034d98 <_sk_srcover_bgra_8888_sse2_lowp+0x1a000580>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,29,255,255,255,2                ; lcall         *0x2ffffff(%rip)        # 3034da0 <_sk_srcover_bgra_8888_sse2_lowp+0x3000588>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,6                               ; incl          (%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,10                              ; decl          (%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,14                              ; decl          (%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,18                              ; callq         *(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,22                              ; callq         *(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,26                              ; lcall         *(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,30                              ; lcall         *(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  1,255                               ; add           %edi,%edi
+  DB  255                                 ; (bad)
+  DB  255,5,255,255,255,9                 ; incl          0x9ffffff(%rip)        # a034de8 <_sk_srcover_bgra_8888_sse2_lowp+0xa0005d0>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,13,255,255,255,17               ; decl          0x11ffffff(%rip)        # 12034df0 <_sk_srcover_bgra_8888_sse2_lowp+0x120005d8>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,21,255,255,255,25               ; callq         *0x19ffffff(%rip)        # 1a034df8 <_sk_srcover_bgra_8888_sse2_lowp+0x1a0005e0>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,29,255,255,255,2                ; lcall         *0x2ffffff(%rip)        # 3034e00 <_sk_srcover_bgra_8888_sse2_lowp+0x30005e8>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,6                               ; incl          (%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,10                              ; decl          (%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,14                              ; decl          (%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,18                              ; callq         *(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,22                              ; callq         *(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,26                              ; lcall         *(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,30                              ; lcall         *(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  1,255                               ; add           %edi,%edi
+  DB  255                                 ; (bad)
+  DB  255,5,255,255,255,9                 ; incl          0x9ffffff(%rip)        # a034e48 <_sk_srcover_bgra_8888_sse2_lowp+0xa000630>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,13,255,255,255,17               ; decl          0x11ffffff(%rip)        # 12034e50 <_sk_srcover_bgra_8888_sse2_lowp+0x12000638>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,21,255,255,255,25               ; callq         *0x19ffffff(%rip)        # 1a034e58 <_sk_srcover_bgra_8888_sse2_lowp+0x1a000640>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,29,255,255,255,2                ; lcall         *0x2ffffff(%rip)        # 3034e60 <_sk_srcover_bgra_8888_sse2_lowp+0x3000648>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,6                               ; incl          (%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,10                              ; decl          (%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,14                              ; decl          (%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,18                              ; callq         *(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,22                              ; callq         *(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,26                              ; lcall         *(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,30                              ; lcall         *(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  1,255                               ; add           %edi,%edi
+  DB  255                                 ; (bad)
+  DB  255,5,255,255,255,9                 ; incl          0x9ffffff(%rip)        # a034ea8 <_sk_srcover_bgra_8888_sse2_lowp+0xa000690>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,13,255,255,255,17               ; decl          0x11ffffff(%rip)        # 12034eb0 <_sk_srcover_bgra_8888_sse2_lowp+0x12000698>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,21,255,255,255,25               ; callq         *0x19ffffff(%rip)        # 1a034eb8 <_sk_srcover_bgra_8888_sse2_lowp+0x1a0006a0>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,29,255,255,255,2                ; lcall         *0x2ffffff(%rip)        # 3034ec0 <_sk_srcover_bgra_8888_sse2_lowp+0x30006a8>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,6                               ; incl          (%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,10                              ; decl          (%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,14                              ; decl          (%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,18                              ; callq         *(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,22                              ; callq         *(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,26                              ; lcall         *(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,30                              ; lcall         *(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  1,255                               ; add           %edi,%edi
+  DB  255                                 ; (bad)
+  DB  255,5,255,255,255,9                 ; incl          0x9ffffff(%rip)        # a034f08 <_sk_srcover_bgra_8888_sse2_lowp+0xa0006f0>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,13,255,255,255,17               ; decl          0x11ffffff(%rip)        # 12034f10 <_sk_srcover_bgra_8888_sse2_lowp+0x120006f8>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,21,255,255,255,25               ; callq         *0x19ffffff(%rip)        # 1a034f18 <_sk_srcover_bgra_8888_sse2_lowp+0x1a000700>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,29,255,255,255,2                ; lcall         *0x2ffffff(%rip)        # 3034f20 <_sk_srcover_bgra_8888_sse2_lowp+0x3000708>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,6                               ; incl          (%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,10                              ; decl          (%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,14                              ; decl          (%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,18                              ; callq         *(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,22                              ; callq         *(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,26                              ; lcall         *(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,30                              ; lcall         *(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  1,255                               ; add           %edi,%edi
+  DB  255                                 ; (bad)
+  DB  255,5,255,255,255,9                 ; incl          0x9ffffff(%rip)        # a034f68 <_sk_srcover_bgra_8888_sse2_lowp+0xa000750>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,13,255,255,255,17               ; decl          0x11ffffff(%rip)        # 12034f70 <_sk_srcover_bgra_8888_sse2_lowp+0x12000758>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,21,255,255,255,25               ; callq         *0x19ffffff(%rip)        # 1a034f78 <_sk_srcover_bgra_8888_sse2_lowp+0x1a000760>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,29,255,255,255,2                ; lcall         *0x2ffffff(%rip)        # 3034f80 <_sk_srcover_bgra_8888_sse2_lowp+0x3000768>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,6                               ; incl          (%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,10                              ; decl          (%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,14                              ; decl          (%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,18                              ; callq         *(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,22                              ; callq         *(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,26                              ; lcall         *(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,30                              ; lcall         *(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  1,255                               ; add           %edi,%edi
+  DB  255                                 ; (bad)
+  DB  255,5,255,255,255,9                 ; incl          0x9ffffff(%rip)        # a034fc8 <_sk_srcover_bgra_8888_sse2_lowp+0xa0007b0>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,13,255,255,255,17               ; decl          0x11ffffff(%rip)        # 12034fd0 <_sk_srcover_bgra_8888_sse2_lowp+0x120007b8>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,21,255,255,255,25               ; callq         *0x19ffffff(%rip)        # 1a034fd8 <_sk_srcover_bgra_8888_sse2_lowp+0x1a0007c0>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,29,255,255,255,2                ; lcall         *0x2ffffff(%rip)        # 3034fe0 <_sk_srcover_bgra_8888_sse2_lowp+0x30007c8>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,6                               ; incl          (%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,10                              ; decl          (%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,14                              ; decl          (%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,18                              ; callq         *(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,22                              ; callq         *(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,26                              ; lcall         *(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,30                              ; lcall         *(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  1,255                               ; add           %edi,%edi
+  DB  255                                 ; (bad)
+  DB  255,5,255,255,255,9                 ; incl          0x9ffffff(%rip)        # a035028 <_sk_srcover_bgra_8888_sse2_lowp+0xa000810>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,13,255,255,255,17               ; decl          0x11ffffff(%rip)        # 12035030 <_sk_srcover_bgra_8888_sse2_lowp+0x12000818>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,21,255,255,255,25               ; callq         *0x19ffffff(%rip)        # 1a035038 <_sk_srcover_bgra_8888_sse2_lowp+0x1a000820>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,29,255,255,255,2                ; lcall         *0x2ffffff(%rip)        # 3035040 <_sk_srcover_bgra_8888_sse2_lowp+0x3000828>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,6                               ; incl          (%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,10                              ; decl          (%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,14                              ; decl          (%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,18                              ; callq         *(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,22                              ; callq         *(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,26                              ; lcall         *(%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,30                              ; lcall         *(%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,254                               ; add           %bh,%dh
+  DB  1,255                               ; add           %edi,%edi
+  DB  0,254                               ; add           %bh,%dh
+  DB  1,255                               ; add           %edi,%edi
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  128,255,0                           ; cmp           $0x0,%bh
+  DB  0,128,0,0,0,0                       ; add           %al,0x0(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  248                                 ; clc
+  DB  0,63                                ; add           %bh,(%rdi)
+  DB  0,31                                ; add           %bl,(%rdi)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,248                               ; add           %bh,%al
+  DB  0,63                                ; add           %bh,(%rdi)
+  DB  0,31                                ; add           %bl,(%rdi)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  248                                 ; clc
+  DB  224,255                             ; loopne        352f3 <.const+0x673>
+  DB  248                                 ; clc
+  DB  0,63                                ; add           %bh,(%rdi)
+  DB  0,31                                ; add           %bl,(%rdi)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,15                                ; add           %cl,(%rdi)
+  DB  0,15                                ; add           %cl,(%rdi)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  240,0,0                             ; lock          add %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  240,255,15                          ; lock          decl (%rdi)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,54                                ; add           %dh,(%rsi)
+  DB  0,183,0,19,0,255                    ; add           %dh,-0xffed00(%rdi)
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,248                               ; add           %bh,%al
+  DB  0,63                                ; add           %bh,(%rdi)
+  DB  0,31                                ; add           %bl,(%rdi)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  128,255,0                           ; cmp           $0x0,%bh
+  DB  248                                 ; clc
+  DB  0,63                                ; add           %bh,(%rdi)
+  DB  0,31                                ; add           %bl,(%rdi)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  128,255,0                           ; cmp           $0x0,%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,1                                 ; add           %al,(%rcx)
+  DB  4,5                                 ; add           $0x5,%al
+  DB  8,9                                 ; or            %cl,(%rcx)
+  DB  12,13                               ; or            $0xd,%al
+  DB  8,9                                 ; or            %cl,(%rcx)
+  DB  12,13                               ; or            $0xd,%al
+  DB  12,13                               ; or            $0xd,%al
+  DB  14                                  ; (bad)
+  DB  15,16,17                            ; movups        (%rcx),%xmm2
+  DB  20,21                               ; adc           $0x15,%al
+  DB  24,25                               ; sbb           %bl,(%rcx)
+  DB  28,29                               ; sbb           $0x1d,%al
+  DB  24,25                               ; sbb           %bl,(%rcx)
+  DB  28,29                               ; sbb           $0x1d,%al
+  DB  28,29                               ; sbb           $0x1d,%al
+  DB  30                                  ; (bad)
+  DB  31                                  ; (bad)
+  DB  0,1                                 ; add           %al,(%rcx)
+  DB  4,5                                 ; add           $0x5,%al
+  DB  8,9                                 ; or            %cl,(%rcx)
+  DB  12,13                               ; or            $0xd,%al
+  DB  8,9                                 ; or            %cl,(%rcx)
+  DB  12,13                               ; or            $0xd,%al
+  DB  12,13                               ; or            $0xd,%al
+  DB  14                                  ; (bad)
+  DB  15,16,17                            ; movups        (%rcx),%xmm2
+  DB  20,21                               ; adc           $0x15,%al
+  DB  24,25                               ; sbb           %bl,(%rcx)
+  DB  28,29                               ; sbb           $0x1d,%al
+  DB  24,25                               ; sbb           %bl,(%rcx)
+  DB  28,29                               ; sbb           $0x1d,%al
+  DB  28,29                               ; sbb           $0x1d,%al
+  DB  30                                  ; (bad)
+  DB  31                                  ; (bad)
+  DB  0,1                                 ; add           %al,(%rcx)
+  DB  4,5                                 ; add           $0x5,%al
+  DB  8,9                                 ; or            %cl,(%rcx)
+  DB  12,13                               ; or            $0xd,%al
+  DB  8,9                                 ; or            %cl,(%rcx)
+  DB  12,13                               ; or            $0xd,%al
+  DB  12,13                               ; or            $0xd,%al
+  DB  14                                  ; (bad)
+  DB  15,16,17                            ; movups        (%rcx),%xmm2
+  DB  20,21                               ; adc           $0x15,%al
+  DB  24,25                               ; sbb           %bl,(%rcx)
+  DB  28,29                               ; sbb           $0x1d,%al
+  DB  24,25                               ; sbb           %bl,(%rcx)
+  DB  28,29                               ; sbb           $0x1d,%al
+  DB  28,29                               ; sbb           $0x1d,%al
+  DB  30                                  ; (bad)
+  DB  31                                  ; (bad)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+
+ALIGN 16
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,2                                 ; add           %al,(%rdx)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,2                                 ; add           %al,(%rdx)
+  DB  4,6                                 ; add           $0x6,%al
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  1,0                                 ; add           %eax,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  2,0                                 ; add           (%rax),%al
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  3,0                                 ; add           (%rax),%eax
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  4,0                                 ; add           $0x0,%al
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  5,0,0,0,6                           ; add           $0x6000000,%eax
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,7                                 ; add           %al,(%rdi)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  63                                  ; (bad)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,63                                ; add           %bh,(%rdi)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,63                                ; add           %bh,(%rdi)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,63                                ; add           %bh,(%rdi)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  128,63,0                            ; cmpb          $0x0,(%rdi)
+  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%rax)
+  DB  63                                  ; (bad)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  128,63,1                            ; cmpb          $0x1,(%rdi)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,1                                 ; add           %al,(%rcx)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,1                                 ; add           %al,(%rcx)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,1                                 ; add           %al,(%rcx)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,4,0                               ; add           %al,(%rax,%rax,1)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  4,0                                 ; add           $0x0,%al
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  4,0                                 ; add           $0x0,%al
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  4,0                                 ; add           $0x0,%al
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  2,0                                 ; add           (%rax),%al
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  2,0                                 ; add           (%rax),%al
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  2,0                                 ; add           (%rax),%al
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  2,0                                 ; add           (%rax),%al
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  128,60,0,0                          ; cmpb          $0x0,(%rax,%rax,1)
+  DB  128,60,0,0                          ; cmpb          $0x0,(%rax,%rax,1)
+  DB  128,60,0,0                          ; cmpb          $0x0,(%rax,%rax,1)
+  DB  128,60,0,0                          ; cmpb          $0x0,(%rax,%rax,1)
+  DB  252                                 ; cld
+  DB  190,0,0,252,190                     ; mov           $0xbefc0000,%esi
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  252                                 ; cld
+  DB  190,0,0,252,190                     ; mov           $0xbefc0000,%esi
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  128,191,0,0,128,191,0               ; cmpb          $0x0,-0x40800000(%rdi)
+  DB  0,128,191,0,0,128                   ; add           %al,-0x7fffff41(%rax)
+  DB  191,0,0,224,64                      ; mov           $0x40e00000,%edi
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  224,64                              ; loopne        35568 <.literal16+0x118>
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  224,64                              ; loopne        3556c <.literal16+0x11c>
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  224,64                              ; loopne        35570 <.literal16+0x120>
+  DB  154                                 ; (bad)
+  DB  153                                 ; cltd
+  DB  153                                 ; cltd
+  DB  62,154                              ; ds            (bad)
+  DB  153                                 ; cltd
+  DB  153                                 ; cltd
+  DB  62,154                              ; ds            (bad)
+  DB  153                                 ; cltd
+  DB  153                                 ; cltd
+  DB  62,154                              ; ds            (bad)
+  DB  153                                 ; cltd
+  DB  153                                 ; cltd
+  DB  62,61,10,23,63,61                   ; ds            cmp $0x3d3f170a,%eax
+  DB  10,23                               ; or            (%rdi),%dl
+  DB  63                                  ; (bad)
+  DB  61,10,23,63,61                      ; cmp           $0x3d3f170a,%eax
+  DB  10,23                               ; or            (%rdi),%dl
+  DB  63                                  ; (bad)
+  DB  174                                 ; scas          %es:(%rdi),%al
+  DB  71,225,61                           ; rex.RXB       loope 35591 <.literal16+0x141>
+  DB  174                                 ; scas          %es:(%rdi),%al
+  DB  71,225,61                           ; rex.RXB       loope 35595 <.literal16+0x145>
+  DB  174                                 ; scas          %es:(%rdi),%al
+  DB  71,225,61                           ; rex.RXB       loope 35599 <.literal16+0x149>
+  DB  174                                 ; scas          %es:(%rdi),%al
+  DB  71,225,61                           ; rex.RXB       loope 3559d <.literal16+0x14d>
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  1,255                               ; add           %edi,%edi
+  DB  255                                 ; (bad)
+  DB  255,5,255,255,255,9                 ; incl          0x9ffffff(%rip)        # a035578 <_sk_srcover_bgra_8888_sse2_lowp+0xa000d60>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,13,255,255,255,2                ; decl          0x2ffffff(%rip)        # 3035580 <_sk_srcover_bgra_8888_sse2_lowp+0x3000d68>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,6                               ; incl          (%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,10                              ; decl          (%rdx)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,14                              ; decl          (%rsi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,127,67                            ; add           %bh,0x43(%rdi)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  127,67                              ; jg            355db <.literal16+0x18b>
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  127,67                              ; jg            355df <.literal16+0x18f>
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  127,67                              ; jg            355e3 <.literal16+0x193>
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  128,127,0,0                         ; cmpb          $0x0,0x0(%rdi)
+  DB  128,127,0,0                         ; cmpb          $0x0,0x0(%rdi)
+  DB  128,127,0,0                         ; cmpb          $0x0,0x0(%rdi)
+  DB  128,127,145,131                     ; cmpb          $0x83,-0x6f(%rdi)
+  DB  158                                 ; sahf
+  DB  61,145,131,158,61                   ; cmp           $0x3d9e8391,%eax
+  DB  145                                 ; xchg          %eax,%ecx
+  DB  131,158,61,145,131,158,61           ; sbbl          $0x3d,-0x617c6ec3(%rsi)
+  DB  92                                  ; pop           %rsp
+  DB  143                                 ; (bad)
+  DB  50,63                               ; xor           (%rdi),%bh
+  DB  92                                  ; pop           %rsp
+  DB  143                                 ; (bad)
+  DB  50,63                               ; xor           (%rdi),%bh
+  DB  92                                  ; pop           %rsp
+  DB  143                                 ; (bad)
+  DB  50,63                               ; xor           (%rdi),%bh
+  DB  92                                  ; pop           %rsp
+  DB  143                                 ; (bad)
+  DB  50,63                               ; xor           (%rdi),%bh
+  DB  10,215                              ; or            %bh,%dl
+  DB  35,59                               ; and           (%rbx),%edi
+  DB  10,215                              ; or            %bh,%dl
+  DB  35,59                               ; and           (%rbx),%edi
+  DB  10,215                              ; or            %bh,%dl
+  DB  35,59                               ; and           (%rbx),%edi
+  DB  10,215                              ; or            %bh,%dl
+  DB  35,59                               ; and           (%rbx),%edi
+  DB  174                                 ; scas          %es:(%rdi),%al
+  DB  71,97                               ; rex.RXB       (bad)
+  DB  61,174,71,97,61                     ; cmp           $0x3d6147ae,%eax
+  DB  174                                 ; scas          %es:(%rdi),%al
+  DB  71,97                               ; rex.RXB       (bad)
+  DB  61,174,71,97,61                     ; cmp           $0x3d6147ae,%eax
+  DB  82                                  ; push          %rdx
+  DB  184,78,65,82,184                    ; mov           $0xb852414e,%eax
+  DB  78                                  ; rex.WRX
+  DB  65,82                               ; push          %r10
+  DB  184,78,65,82,184                    ; mov           $0xb852414e,%eax
+  DB  78                                  ; rex.WRX
+  DB  65,57,215                           ; cmp           %edx,%r15d
+  DB  32,187,57,215,32,187                ; and           %bh,-0x44df28c7(%rbx)
+  DB  57,215                              ; cmp           %edx,%edi
+  DB  32,187,57,215,32,187                ; and           %bh,-0x44df28c7(%rbx)
+  DB  186,159,98,60,186                   ; mov           $0xba3c629f,%edx
+  DB  159                                 ; lahf
+  DB  98                                  ; (bad)
+  DB  60,186                              ; cmp           $0xba,%al
+  DB  159                                 ; lahf
+  DB  98                                  ; (bad)
+  DB  60,186                              ; cmp           $0xba,%al
+  DB  159                                 ; lahf
+  DB  98                                  ; (bad)
+  DB  60,109                              ; cmp           $0x6d,%al
+  DB  165                                 ; movsl         %ds:(%rsi),%es:(%rdi)
+  DB  144                                 ; nop
+  DB  63                                  ; (bad)
+  DB  109                                 ; insl          (%dx),%es:(%rdi)
+  DB  165                                 ; movsl         %ds:(%rsi),%es:(%rdi)
+  DB  144                                 ; nop
+  DB  63                                  ; (bad)
+  DB  109                                 ; insl          (%dx),%es:(%rdi)
+  DB  165                                 ; movsl         %ds:(%rsi),%es:(%rdi)
+  DB  144                                 ; nop
+  DB  63                                  ; (bad)
+  DB  109                                 ; insl          (%dx),%es:(%rdi)
+  DB  165                                 ; movsl         %ds:(%rsi),%es:(%rdi)
+  DB  144                                 ; nop
+  DB  63                                  ; (bad)
+  DB  252                                 ; cld
+  DB  191,16,62,252,191                   ; mov           $0xbffc3e10,%edi
+  DB  16,62                               ; adc           %bh,(%rsi)
+  DB  252                                 ; cld
+  DB  191,16,62,252,191                   ; mov           $0xbffc3e10,%edi
+  DB  16,62                               ; adc           %bh,(%rsi)
+  DB  168,177                             ; test          $0xb1,%al
+  DB  152                                 ; cwtl
+  DB  59,168,177,152,59,168               ; cmp           -0x57c4674f(%rax),%ebp
+  DB  177,152                             ; mov           $0x98,%cl
+  DB  59,168,177,152,59,0                 ; cmp           0x3b98b1(%rax),%ebp
+  DB  0,192                               ; add           %al,%al
+  DB  64,0,0                              ; add           %al,(%rax)
+  DB  192,64,0,0                          ; rolb          $0x0,0x0(%rax)
+  DB  192,64,0,0                          ; rolb          $0x0,0x0(%rax)
+  DB  192,64,0,0                          ; rolb          $0x0,0x0(%rax)
+  DB  0,64,0                              ; add           %al,0x0(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  64,0,0                              ; add           %al,(%rax)
+  DB  0,64,0                              ; add           %al,0x0(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  64,0,0                              ; add           %al,(%rax)
+  DB  128,64,0,0                          ; addb          $0x0,0x0(%rax)
+  DB  128,64,0,0                          ; addb          $0x0,0x0(%rax)
+  DB  128,64,0,0                          ; addb          $0x0,0x0(%rax)
+  DB  128,64,171,170                      ; addb          $0xaa,-0x55(%rax)
+  DB  42,62                               ; sub           (%rsi),%bh
+  DB  171                                 ; stos          %eax,%es:(%rdi)
+  DB  170                                 ; stos          %al,%es:(%rdi)
+  DB  42,62                               ; sub           (%rsi),%bh
+  DB  171                                 ; stos          %eax,%es:(%rdi)
+  DB  170                                 ; stos          %al,%es:(%rdi)
+  DB  42,62                               ; sub           (%rsi),%bh
+  DB  171                                 ; stos          %eax,%es:(%rdi)
+  DB  170                                 ; stos          %al,%es:(%rdi)
+  DB  42,62                               ; sub           (%rsi),%bh
+  DB  171                                 ; stos          %eax,%es:(%rdi)
+  DB  170                                 ; stos          %al,%es:(%rdi)
+  DB  170                                 ; stos          %al,%es:(%rdi)
+  DB  62,171                              ; ds            stos %eax,%es:(%rdi)
+  DB  170                                 ; stos          %al,%es:(%rdi)
+  DB  170                                 ; stos          %al,%es:(%rdi)
+  DB  62,171                              ; ds            stos %eax,%es:(%rdi)
+  DB  170                                 ; stos          %al,%es:(%rdi)
+  DB  170                                 ; stos          %al,%es:(%rdi)
+  DB  62,171                              ; ds            stos %eax,%es:(%rdi)
+  DB  170                                 ; stos          %al,%es:(%rdi)
+  DB  170                                 ; stos          %al,%es:(%rdi)
+  DB  62,171                              ; ds            stos %eax,%es:(%rdi)
+  DB  170                                 ; stos          %al,%es:(%rdi)
+  DB  42,63                               ; sub           (%rdi),%bh
+  DB  171                                 ; stos          %eax,%es:(%rdi)
+  DB  170                                 ; stos          %al,%es:(%rdi)
+  DB  42,63                               ; sub           (%rdi),%bh
+  DB  171                                 ; stos          %eax,%es:(%rdi)
+  DB  170                                 ; stos          %al,%es:(%rdi)
+  DB  42,63                               ; sub           (%rdi),%bh
+  DB  171                                 ; stos          %eax,%es:(%rdi)
+  DB  170                                 ; stos          %al,%es:(%rdi)
+  DB  42,63                               ; sub           (%rdi),%bh
+  DB  171                                 ; stos          %eax,%es:(%rdi)
+  DB  170                                 ; stos          %al,%es:(%rdi)
+  DB  170                                 ; stos          %al,%es:(%rdi)
+  DB  190,171,170,170,190                 ; mov           $0xbeaaaaab,%esi
+  DB  171                                 ; stos          %eax,%es:(%rdi)
+  DB  170                                 ; stos          %al,%es:(%rdi)
+  DB  170                                 ; stos          %al,%es:(%rdi)
+  DB  190,171,170,170,190                 ; mov           $0xbeaaaaab,%esi
+  DB  129,128,128,59,129,128,128,59,129,128; addl          $0x80813b80,-0x7f7ec480(%rax)
+  DB  128,59,129                          ; cmpb          $0x81,(%rbx)
+  DB  128,128,59,0,248,0,0                ; addb          $0x0,0xf8003b(%rax)
+  DB  0,248                               ; add           %bh,%al
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,248                               ; add           %bh,%al
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,248                               ; add           %bh,%al
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  8,33                                ; or            %ah,(%rcx)
+  DB  132,55                              ; test          %dh,(%rdi)
+  DB  8,33                                ; or            %ah,(%rcx)
+  DB  132,55                              ; test          %dh,(%rdi)
+  DB  8,33                                ; or            %ah,(%rcx)
+  DB  132,55                              ; test          %dh,(%rdi)
+  DB  8,33                                ; or            %ah,(%rcx)
+  DB  132,55                              ; test          %dh,(%rdi)
+  DB  224,7                               ; loopne        356f9 <.literal16+0x2a9>
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  224,7                               ; loopne        356fd <.literal16+0x2ad>
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  224,7                               ; loopne        35701 <.literal16+0x2b1>
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  224,7                               ; loopne        35705 <.literal16+0x2b5>
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  33,8                                ; and           %ecx,(%rax)
+  DB  2,58                                ; add           (%rdx),%bh
+  DB  33,8                                ; and           %ecx,(%rax)
+  DB  2,58                                ; add           (%rdx),%bh
+  DB  33,8                                ; and           %ecx,(%rax)
+  DB  2,58                                ; add           (%rdx),%bh
+  DB  33,8                                ; and           %ecx,(%rax)
+  DB  2,58                                ; add           (%rdx),%bh
+  DB  31                                  ; (bad)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,31                                ; add           %bl,(%rdi)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,31                                ; add           %bl,(%rdi)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,31                                ; add           %bl,(%rdi)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,8                                 ; add           %cl,(%rax)
+  DB  33,4,61,8,33,4,61                   ; and           %eax,0x3d042108(,%rdi,1)
+  DB  8,33                                ; or            %ah,(%rcx)
+  DB  4,61                                ; add           $0x3d,%al
+  DB  8,33                                ; or            %ah,(%rcx)
+  DB  4,61                                ; add           $0x3d,%al
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  8,255                               ; or            %bh,%bh
+  DB  10,255                              ; or            %bh,%bh
+  DB  12,255                              ; or            $0xff,%al
+  DB  14                                  ; (bad)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,128,0,128,55,128                  ; add           %al,-0x7fc88000(%rax)
+  DB  0,128,55,128,0,128                  ; add           %al,-0x7fff7fc9(%rax)
+  DB  55                                  ; (bad)
+  DB  128,0,128                           ; addb          $0x80,(%rax)
+  DB  55                                  ; (bad)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,52,0                              ; add           %dh,(%rax,%rax,1)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  52,0                                ; xor           $0x0,%al
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  52,0                                ; xor           $0x0,%al
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  52,255                              ; xor           $0xff,%al
+  DB  255                                 ; (bad)
+  DB  127,0                               ; jg            35774 <.literal16+0x324>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  127,0                               ; jg            35778 <.literal16+0x328>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  127,0                               ; jg            3577c <.literal16+0x32c>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  127,0                               ; jg            35780 <.literal16+0x330>
+  DB  119,115                             ; ja            357f5 <.literal16+0x3a5>
+  DB  248                                 ; clc
+  DB  194,119,115                         ; retq          $0x7377
+  DB  248                                 ; clc
+  DB  194,119,115                         ; retq          $0x7377
+  DB  248                                 ; clc
+  DB  194,119,115                         ; retq          $0x7377
+  DB  248                                 ; clc
+  DB  194,117,191                         ; retq          $0xbf75
+  DB  191,63,117,191,191                  ; mov           $0xbfbf753f,%edi
+  DB  63                                  ; (bad)
+  DB  117,191                             ; jne           35759 <.literal16+0x309>
+  DB  191,63,117,191,191                  ; mov           $0xbfbf753f,%edi
+  DB  63                                  ; (bad)
+  DB  249                                 ; stc
+  DB  68,180,62                           ; rex.R         mov $0x3e,%spl
+  DB  249                                 ; stc
+  DB  68,180,62                           ; rex.R         mov $0x3e,%spl
+  DB  249                                 ; stc
+  DB  68,180,62                           ; rex.R         mov $0x3e,%spl
+  DB  249                                 ; stc
+  DB  68,180,62                           ; rex.R         mov $0x3e,%spl
+  DB  163,233,220,63,163,233,220,63,163   ; movabs        %eax,0xa33fdce9a33fdce9
+  DB  233,220,63,163,233                  ; jmpq          ffffffffe9a6979a <_sk_srcover_bgra_8888_sse2_lowp+0xffffffffe9a34f82>
+  DB  220,63                              ; fdivrl        (%rdi)
+  DB  81                                  ; push          %rcx
+  DB  140,242                             ; mov           %?,%edx
+  DB  66,81                               ; rex.X         push %rcx
+  DB  140,242                             ; mov           %?,%edx
+  DB  66,81                               ; rex.X         push %rcx
+  DB  140,242                             ; mov           %?,%edx
+  DB  66,81                               ; rex.X         push %rcx
+  DB  140,242                             ; mov           %?,%edx
+  DB  66,141,188,190,63,141,188,190       ; lea           -0x414372c1(%rsi,%r15,4),%edi
+  DB  63                                  ; (bad)
+  DB  141,188,190,63,141,188,190          ; lea           -0x414372c1(%rsi,%rdi,4),%edi
+  DB  63                                  ; (bad)
+  DB  248                                 ; clc
+  DB  245                                 ; cmc
+  DB  154                                 ; (bad)
+  DB  64,248                              ; rex           clc
+  DB  245                                 ; cmc
+  DB  154                                 ; (bad)
+  DB  64,248                              ; rex           clc
+  DB  245                                 ; cmc
+  DB  154                                 ; (bad)
+  DB  64,248                              ; rex           clc
+  DB  245                                 ; cmc
+  DB  154                                 ; (bad)
+  DB  64,254                              ; rex           (bad)
+  DB  210,221                             ; rcr           %cl,%ch
+  DB  65,254                              ; rex.B         (bad)
+  DB  210,221                             ; rcr           %cl,%ch
+  DB  65,254                              ; rex.B         (bad)
+  DB  210,221                             ; rcr           %cl,%ch
+  DB  65,254                              ; rex.B         (bad)
+  DB  210,221                             ; rcr           %cl,%ch
+  DB  65,0,0                              ; add           %al,(%r8)
+  DB  0,75,0                              ; add           %cl,0x0(%rbx)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  75,0,0                              ; rex.WXB       add %al,(%r8)
+  DB  0,75,0                              ; add           %cl,0x0(%rbx)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  75,0,0                              ; rex.WXB       add %al,(%r8)
+  DB  200,66,0,0                          ; enterq        $0x42,$0x0
+  DB  200,66,0,0                          ; enterq        $0x42,$0x0
+  DB  200,66,0,0                          ; enterq        $0x42,$0x0
+  DB  200,66,0,0                          ; enterq        $0x42,$0x0
+  DB  0,195                               ; add           %al,%bl
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,195                               ; add           %al,%bl
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,195                               ; add           %al,%bl
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,195                               ; add           %al,%bl
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  128,65,0,0                          ; addb          $0x0,0x0(%rcx)
+  DB  128,65,0,0                          ; addb          $0x0,0x0(%rcx)
+  DB  128,65,0,0                          ; addb          $0x0,0x0(%rcx)
+  DB  128,65,203,61                       ; addb          $0x3d,-0x35(%rcx)
+  DB  13,60,203,61,13                     ; or            $0xd3dcb3c,%eax
+  DB  60,203                              ; cmp           $0xcb,%al
+  DB  61,13,60,203,61                     ; cmp           $0x3dcb3c0d,%eax
+  DB  13,60,111,18,3                      ; or            $0x3126f3c,%eax
+  DB  59,111,18                           ; cmp           0x12(%rdi),%ebp
+  DB  3,59                                ; add           (%rbx),%edi
+  DB  111                                 ; outsl         %ds:(%rsi),(%dx)
+  DB  18,3                                ; adc           (%rbx),%al
+  DB  59,111,18                           ; cmp           0x12(%rdi),%ebp
+  DB  3,59                                ; add           (%rbx),%edi
+  DB  10,215                              ; or            %bh,%dl
+  DB  163,59,10,215,163,59,10,215,163     ; movabs        %eax,0xa3d70a3ba3d70a3b
+  DB  59,10                               ; cmp           (%rdx),%ecx
+  DB  215                                 ; xlat          %ds:(%rbx)
+  DB  163,59,194,24,17,60,194,24,17       ; movabs        %eax,0x1118c23c1118c23b
+  DB  60,194                              ; cmp           $0xc2,%al
+  DB  24,17                               ; sbb           %dl,(%rcx)
+  DB  60,194                              ; cmp           $0xc2,%al
+  DB  24,17                               ; sbb           %dl,(%rcx)
+  DB  60,203                              ; cmp           $0xcb,%al
+  DB  61,13,190,203,61                    ; cmp           $0x3dcbbe0d,%eax
+  DB  13,190,203,61,13                    ; or            $0xd3dcbbe,%eax
+  DB  190,203,61,13,190                   ; mov           $0xbe0d3dcb,%esi
+  DB  80                                  ; push          %rax
+  DB  128,3,62                            ; addb          $0x3e,(%rbx)
+  DB  80                                  ; push          %rax
+  DB  128,3,62                            ; addb          $0x3e,(%rbx)
+  DB  80                                  ; push          %rax
+  DB  128,3,62                            ; addb          $0x3e,(%rbx)
+  DB  80                                  ; push          %rax
+  DB  128,3,62                            ; addb          $0x3e,(%rbx)
+  DB  31                                  ; (bad)
+  DB  215                                 ; xlat          %ds:(%rbx)
+  DB  118,63                              ; jbe           358e3 <.literal16+0x493>
+  DB  31                                  ; (bad)
+  DB  215                                 ; xlat          %ds:(%rbx)
+  DB  118,63                              ; jbe           358e7 <.literal16+0x497>
+  DB  31                                  ; (bad)
+  DB  215                                 ; xlat          %ds:(%rbx)
+  DB  118,63                              ; jbe           358eb <.literal16+0x49b>
+  DB  31                                  ; (bad)
+  DB  215                                 ; xlat          %ds:(%rbx)
+  DB  118,63                              ; jbe           358ef <.literal16+0x49f>
+  DB  246,64,83,63                        ; testb         $0x3f,0x53(%rax)
+  DB  246,64,83,63                        ; testb         $0x3f,0x53(%rax)
+  DB  246,64,83,63                        ; testb         $0x3f,0x53(%rax)
+  DB  246,64,83,63                        ; testb         $0x3f,0x53(%rax)
+  DB  0,4,0                               ; add           %al,(%rax,%rax,1)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,248                               ; add           %bh,%al
+  DB  65,0,0                              ; add           %al,(%r8)
+  DB  248                                 ; clc
+  DB  65,0,0                              ; add           %al,(%r8)
+  DB  248                                 ; clc
+  DB  65,0,0                              ; add           %al,(%r8)
+  DB  248                                 ; clc
+  DB  65,0,0                              ; add           %al,(%r8)
+  DB  124,66                              ; jl            35926 <.literal16+0x4d6>
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  124,66                              ; jl            3592a <.literal16+0x4da>
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  124,66                              ; jl            3592e <.literal16+0x4de>
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  124,66                              ; jl            35932 <.literal16+0x4e2>
+  DB  0,240                               ; add           %dh,%al
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,240                               ; add           %dh,%al
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,240                               ; add           %dh,%al
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,240                               ; add           %dh,%al
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  137,136,136,55,137,136              ; mov           %ecx,-0x7776c878(%rax)
+  DB  136,55                              ; mov           %dh,(%rdi)
+  DB  137,136,136,55,137,136              ; mov           %ecx,-0x7776c878(%rax)
+  DB  136,55                              ; mov           %dh,(%rdi)
+  DB  0,15                                ; add           %cl,(%rdi)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,15                                ; add           %cl,(%rdi)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,15                                ; add           %cl,(%rdi)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,15                                ; add           %cl,(%rdi)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  137,136,136,57,137,136              ; mov           %ecx,-0x7776c678(%rax)
+  DB  136,57                              ; mov           %bh,(%rcx)
+  DB  137,136,136,57,137,136              ; mov           %ecx,-0x7776c678(%rax)
+  DB  136,57                              ; mov           %bh,(%rcx)
+  DB  240,0,0                             ; lock          add %al,(%rax)
+  DB  0,240                               ; add           %dh,%al
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,240                               ; add           %dh,%al
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,240                               ; add           %dh,%al
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,137,136,136,59,137                ; add           %cl,-0x76c47778(%rcx)
+  DB  136,136,59,137,136,136              ; mov           %cl,-0x777776c5(%rax)
+  DB  59,137,136,136,59,15                ; cmp           0xf3b8888(%rcx),%ecx
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,15                                ; add           %cl,(%rdi)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,15                                ; add           %cl,(%rdi)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,15                                ; add           %cl,(%rdi)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,137,136,136,61,137                ; add           %cl,-0x76c27778(%rcx)
+  DB  136,136,61,137,136,136              ; mov           %cl,-0x777776c3(%rax)
+  DB  61,137,136,136,61                   ; cmp           $0x3d888889,%eax
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  112,65                              ; jo            359b5 <.literal16+0x565>
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  112,65                              ; jo            359b9 <.literal16+0x569>
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  112,65                              ; jo            359bd <.literal16+0x56d>
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  112,65                              ; jo            359c1 <.literal16+0x571>
+  DB  255,3                               ; incl          (%rbx)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,3                               ; incl          (%rbx)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,3                               ; incl          (%rbx)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255,3                               ; incl          (%rbx)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  8,32                                ; or            %ah,(%rax)
+  DB  128,58,8                            ; cmpb          $0x8,(%rdx)
+  DB  32,128,58,8,32,128                  ; and           %al,-0x7fdff7c6(%rax)
+  DB  58,8                                ; cmp           (%rax),%cl
+  DB  32,128,58,0,192,127                 ; and           %al,0x7fc0003a(%rax)
+  DB  68,0,192                            ; add           %r8b,%al
+  DB  127,68                              ; jg            359ec <.literal16+0x59c>
+  DB  0,192                               ; add           %al,%al
+  DB  127,68                              ; jg            359f0 <.literal16+0x5a0>
+  DB  0,192                               ; add           %al,%al
+  DB  127,68                              ; jg            359f4 <.literal16+0x5a4>
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  64                                  ; rex
+  DB  64,0,0                              ; add           %al,(%rax)
+  DB  64                                  ; rex
+  DB  64,0,0                              ; add           %al,(%rax)
+  DB  64                                  ; rex
+  DB  64,0,0                              ; add           %al,(%rax)
+  DB  64                                  ; rex
+  DB  64,0,128,0,0,0,128                  ; add           %al,-0x80000000(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,128,0,0,0,128                     ; add           %al,-0x80000000(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255                                 ; (bad)
+  DB  127,0                               ; jg            359d3 <.literal16+0x583>
+  DB  0,255                               ; add           %bh,%bh
+  DB  127,0                               ; jg            359d7 <.literal16+0x587>
+  DB  0,255                               ; add           %bh,%bh
+  DB  127,0                               ; jg            359db <.literal16+0x58b>
+  DB  0,255                               ; add           %bh,%bh
+  DB  127,0                               ; jg            359df <.literal16+0x58f>
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  4,0                                 ; add           $0x0,%al
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  4,0                                 ; add           $0x0,%al
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  4,0                                 ; add           $0x0,%al
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  4,0                                 ; add           $0x0,%al
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  56,0                                ; cmp           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  56,0                                ; cmp           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  56,0                                ; cmp           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  56,0                                ; cmp           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  128,0,0                             ; addb          $0x0,(%rax)
+  DB  0,128,0,0,0,128                     ; add           %al,-0x80000000(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,128,255,255,255,127               ; add           %al,0x7fffffff(%rax)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  127,255                             ; jg            35a18 <.literal16+0x5c8>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  127,255                             ; jg            35a1c <.literal16+0x5cc>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  127,0                               ; jg            35a21 <.literal16+0x5d1>
+  DB  0,128,56,0,0,128                    ; add           %al,-0x7fffffc8(%rax)
+  DB  56,0                                ; cmp           %al,(%rax)
+  DB  0,128,56,0,0,128                    ; add           %al,-0x7fffffc8(%rax)
+  DB  56,0                                ; cmp           %al,(%rax)
+  DB  64,254                              ; rex           (bad)
+  DB  255,0                               ; incl          (%rax)
+  DB  64,254                              ; rex           (bad)
+  DB  255,0                               ; incl          (%rax)
+  DB  64,254                              ; rex           (bad)
+  DB  255,0                               ; incl          (%rax)
+  DB  64,254                              ; rex           (bad)
+  DB  255,0                               ; incl          (%rax)
+  DB  255                                 ; (bad)
+  DB  127,71                              ; jg            35a8b <.literal16+0x63b>
+  DB  0,255                               ; add           %bh,%bh
+  DB  127,71                              ; jg            35a8f <.literal16+0x63f>
+  DB  0,255                               ; add           %bh,%bh
+  DB  127,71                              ; jg            35a93 <.literal16+0x643>
+  DB  0,255                               ; add           %bh,%bh
+  DB  127,71                              ; jg            35a97 <.literal16+0x647>
+  DB  208                                 ; (bad)
+  DB  179,89                              ; mov           $0x59,%bl
+  DB  62,208                              ; ds            (bad)
+  DB  179,89                              ; mov           $0x59,%bl
+  DB  62,208                              ; ds            (bad)
+  DB  179,89                              ; mov           $0x59,%bl
+  DB  62,208                              ; ds            (bad)
+  DB  179,89                              ; mov           $0x59,%bl
+  DB  62,89                               ; ds            pop %rcx
+  DB  23                                  ; (bad)
+  DB  55                                  ; (bad)
+  DB  63                                  ; (bad)
+  DB  89                                  ; pop           %rcx
+  DB  23                                  ; (bad)
+  DB  55                                  ; (bad)
+  DB  63                                  ; (bad)
+  DB  89                                  ; pop           %rcx
+  DB  23                                  ; (bad)
+  DB  55                                  ; (bad)
+  DB  63                                  ; (bad)
+  DB  89                                  ; pop           %rcx
+  DB  23                                  ; (bad)
+  DB  55                                  ; (bad)
+  DB  63                                  ; (bad)
+  DB  152                                 ; cwtl
+  DB  221,147,61,152,221,147              ; fstl          -0x6c2267c3(%rbx)
+  DB  61,152,221,147,61                   ; cmp           $0x3d93dd98,%eax
+  DB  152                                 ; cwtl
+  DB  221,147,61,111,43,231               ; fstl          -0x18d490c3(%rbx)
+  DB  187,111,43,231,187                  ; mov           $0xbbe72b6f,%ebx
+  DB  111                                 ; outsl         %ds:(%rsi),(%dx)
+  DB  43,231                              ; sub           %edi,%esp
+  DB  187,111,43,231,187                  ; mov           $0xbbe72b6f,%ebx
+  DB  159                                 ; lahf
+  DB  215                                 ; xlat          %ds:(%rbx)
+  DB  202,60,159                          ; lret          $0x9f3c
+  DB  215                                 ; xlat          %ds:(%rbx)
+  DB  202,60,159                          ; lret          $0x9f3c
+  DB  215                                 ; xlat          %ds:(%rbx)
+  DB  202,60,159                          ; lret          $0x9f3c
+  DB  215                                 ; xlat          %ds:(%rbx)
+  DB  202,60,212                          ; lret          $0xd43c
+  DB  100,84                              ; fs            push %rsp
+  DB  189,212,100,84,189                  ; mov           $0xbd5464d4,%ebp
+  DB  212                                 ; (bad)
+  DB  100,84                              ; fs            push %rsp
+  DB  189,212,100,84,189                  ; mov           $0xbd5464d4,%ebp
+  DB  169,240,34,62,169                   ; test          $0xa93e22f0,%eax
+  DB  240,34,62                           ; lock          and (%rsi),%bh
+  DB  169,240,34,62,169                   ; test          $0xa93e22f0,%eax
+  DB  240,34,62                           ; lock          and (%rsi),%bh
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  128,62,0                            ; cmpb          $0x0,(%rsi)
+  DB  0,128,62,0,0,128                    ; add           %al,-0x7fffffc2(%rax)
+  DB  62,0,0                              ; add           %al,%ds:(%rax)
+  DB  128,62,0                            ; cmpb          $0x0,(%rsi)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  191,0,0,0,191                       ; mov           $0xbf000000,%edi
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,191,0,0,0,191                     ; add           %bh,-0x41000000(%rdi)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  192,191,0,0,192,191,0               ; sarb          $0x0,-0x40400000(%rdi)
+  DB  0,192                               ; add           %al,%al
+  DB  191,0,0,192,191                     ; mov           $0xbfc00000,%edi
+  DB  114,28                              ; jb            35b0e <.literal16+0x6be>
+  DB  199                                 ; (bad)
+  DB  62,114,28                           ; jb,pt         35b12 <.literal16+0x6c2>
+  DB  199                                 ; (bad)
+  DB  62,114,28                           ; jb,pt         35b16 <.literal16+0x6c6>
+  DB  199                                 ; (bad)
+  DB  62,114,28                           ; jb,pt         35b1a <.literal16+0x6ca>
+  DB  199                                 ; (bad)
+  DB  62,85                               ; ds            push %rbp
+  DB  85                                  ; push          %rbp
+  DB  149                                 ; xchg          %eax,%ebp
+  DB  191,85,85,149,191                   ; mov           $0xbf955555,%edi
+  DB  85                                  ; push          %rbp
+  DB  85                                  ; push          %rbp
+  DB  149                                 ; xchg          %eax,%ebp
+  DB  191,85,85,149,191                   ; mov           $0xbf955555,%edi
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  192,63,0                            ; sarb          $0x0,(%rdi)
+  DB  0,192                               ; add           %al,%al
+  DB  63                                  ; (bad)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  192,63,0                            ; sarb          $0x0,(%rdi)
+  DB  0,192                               ; add           %al,%al
+  DB  63                                  ; (bad)
+  DB  57,142,99,61,57,142                 ; cmp           %ecx,-0x71c6c29d(%rsi)
+  DB  99,61,57,142,99,61                  ; movslq        0x3d638e39(%rip),%edi        # 3d66e965 <_sk_srcover_bgra_8888_sse2_lowp+0x3d63a14d>
+  DB  57,142,99,61,114,249                ; cmp           %ecx,-0x68dc29d(%rsi)
+  DB  127,63                              ; jg            35b73 <.literal16+0x723>
+  DB  114,249                             ; jb            35b2f <.literal16+0x6df>
+  DB  127,63                              ; jg            35b77 <.literal16+0x727>
+  DB  114,249                             ; jb            35b33 <.literal16+0x6e3>
+  DB  127,63                              ; jg            35b7b <.literal16+0x72b>
+  DB  114,249                             ; jb            35b37 <.literal16+0x6e7>
+  DB  127,63                              ; jg            35b7f <.literal16+0x72f>
+  DB  3,0                                 ; add           (%rax),%eax
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  3,0                                 ; add           (%rax),%eax
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  3,0                                 ; add           (%rax),%eax
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  3,0                                 ; add           (%rax),%eax
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,45,16,17,192,45                 ; ljmp          *0x2dc01110(%rip)        # 2dc36c75 <_sk_srcover_bgra_8888_sse2_lowp+0x2dc0245d>
+  DB  16,17                               ; adc           %dl,(%rcx)
+  DB  192,45,16,17,192,45,16              ; shrb          $0x10,0x2dc01110(%rip)        # 2dc36c7e <_sk_srcover_bgra_8888_sse2_lowp+0x2dc02466>
+  DB  17,192                              ; adc           %eax,%eax
+  DB  18,120,57                           ; adc           0x39(%rax),%bh
+  DB  64,18,120,57                        ; adc           0x39(%rax),%dil
+  DB  64,18,120,57                        ; adc           0x39(%rax),%dil
+  DB  64,18,120,57                        ; adc           0x39(%rax),%dil
+  DB  64,32,148,90,62,32,148,90           ; and           %dl,0x5a94203e(%rdx,%rbx,2)
+  DB  62,32,148,90,62,32,148,90           ; and           %dl,%ds:0x5a94203e(%rdx,%rbx,2)
+  DB  62,4,157                            ; ds            add $0x9d,%al
+  DB  30                                  ; (bad)
+  DB  62,4,157                            ; ds            add $0x9d,%al
+  DB  30                                  ; (bad)
+  DB  62,4,157                            ; ds            add $0x9d,%al
+  DB  30                                  ; (bad)
+  DB  62,4,157                            ; ds            add $0x9d,%al
+  DB  30                                  ; (bad)
+  DB  62,0,24                             ; add           %bl,%ds:(%rax)
+  DB  161,57,0,24,161,57,0,24,161         ; movabs        0xa1180039a1180039,%eax
+  DB  57,0                                ; cmp           %eax,(%rax)
+  DB  24,161,57,0,0,255                   ; sbb           %ah,-0xffffc7(%rcx)
+  DB  255,0                               ; incl          (%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  255,0                               ; incl          (%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  255,0                               ; incl          (%rax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  255,0                               ; incl          (%rax)
+  DB  2,4,6                               ; add           (%rsi,%rax,1),%al
+  DB  8,10                                ; or            %cl,(%rdx)
+  DB  12,14                               ; or            $0xe,%al
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  254,1                               ; incb          (%rcx)
+  DB  254,1                               ; incb          (%rcx)
+  DB  254,1                               ; incb          (%rcx)
+  DB  254,1                               ; incb          (%rcx)
+  DB  254,1                               ; incb          (%rcx)
+  DB  254,1                               ; incb          (%rcx)
+  DB  254,1                               ; incb          (%rcx)
+  DB  254,1                               ; incb          (%rcx)
+  DB  0,128,0,128,0,128                   ; add           %al,-0x7fff8000(%rax)
+  DB  0,128,0,128,0,128                   ; add           %al,-0x7fff8000(%rax)
+  DB  0,128,0,128,0,1                     ; add           %al,0x1008000(%rax)
+  DB  4,5                                 ; add           $0x5,%al
+  DB  8,9                                 ; or            %cl,(%rcx)
+  DB  12,13                               ; or            $0xd,%al
+  DB  8,9                                 ; or            %cl,(%rcx)
+  DB  12,13                               ; or            $0xd,%al
+  DB  12,13                               ; or            $0xd,%al
+  DB  14                                  ; (bad)
+  DB  15,3,255                            ; lsl           %di,%edi
+  DB  7                                   ; (bad)
+  DB  255,11                              ; decl          (%rbx)
+  DB  255,15                              ; decl          (%rdi)
+  DB  255,11                              ; decl          (%rbx)
+  DB  255,15                              ; decl          (%rdi)
+  DB  255,15                              ; decl          (%rdi)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255,2                               ; incl          (%rdx)
+  DB  3,6                                 ; add           (%rsi),%eax
+  DB  7                                   ; (bad)
+  DB  10,11                               ; or            (%rbx),%cl
+  DB  14                                  ; (bad)
+  DB  15,10                               ; (bad)
+  DB  11,14                               ; or            (%rsi),%ecx
+  DB  15,14                               ; femms
+  DB  15,255                              ; (bad)
+  DB  255                                 ; (bad)
+  DB  248                                 ; clc
+  DB  0,248                               ; add           %bh,%al
+  DB  0,248                               ; add           %bh,%al
+  DB  0,248                               ; add           %bh,%al
+  DB  0,248                               ; add           %bh,%al
+  DB  0,248                               ; add           %bh,%al
+  DB  0,248                               ; add           %bh,%al
+  DB  0,248                               ; add           %bh,%al
+  DB  0,63                                ; add           %bh,(%rdi)
+  DB  0,63                                ; add           %bh,(%rdi)
+  DB  0,63                                ; add           %bh,(%rdi)
+  DB  0,63                                ; add           %bh,(%rdi)
+  DB  0,63                                ; add           %bh,(%rdi)
+  DB  0,63                                ; add           %bh,(%rdi)
+  DB  0,63                                ; add           %bh,(%rdi)
+  DB  0,63                                ; add           %bh,(%rdi)
+  DB  0,31                                ; add           %bl,(%rdi)
+  DB  0,31                                ; add           %bl,(%rdi)
+  DB  0,31                                ; add           %bl,(%rdi)
+  DB  0,31                                ; add           %bl,(%rdi)
+  DB  0,31                                ; add           %bl,(%rdi)
+  DB  0,31                                ; add           %bl,(%rdi)
+  DB  0,31                                ; add           %bl,(%rdi)
+  DB  0,31                                ; add           %bl,(%rdi)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  248                                 ; clc
+  DB  0,248                               ; add           %bh,%al
+  DB  0,248                               ; add           %bh,%al
+  DB  0,248                               ; add           %bh,%al
+  DB  0,248                               ; add           %bh,%al
+  DB  0,248                               ; add           %bh,%al
+  DB  0,248                               ; add           %bh,%al
+  DB  0,248                               ; add           %bh,%al
+  DB  224,255                             ; loopne        35c61 <.literal16+0x811>
+  DB  224,255                             ; loopne        35c63 <.literal16+0x813>
+  DB  224,255                             ; loopne        35c65 <.literal16+0x815>
+  DB  224,255                             ; loopne        35c67 <.literal16+0x817>
+  DB  224,255                             ; loopne        35c69 <.literal16+0x819>
+  DB  224,255                             ; loopne        35c6b <.literal16+0x81b>
+  DB  224,255                             ; loopne        35c6d <.literal16+0x81d>
+  DB  224,255                             ; loopne        35c6f <.literal16+0x81f>
+  DB  15,0,15                             ; str           (%rdi)
+  DB  0,15                                ; add           %cl,(%rdi)
+  DB  0,15                                ; add           %cl,(%rdi)
+  DB  0,15                                ; add           %cl,(%rdi)
+  DB  0,15                                ; add           %cl,(%rdi)
+  DB  0,15                                ; add           %cl,(%rdi)
+  DB  0,15                                ; add           %cl,(%rdi)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  240,0,240                           ; lock          add %dh,%al
+  DB  0,240                               ; add           %dh,%al
+  DB  0,240                               ; add           %dh,%al
+  DB  0,240                               ; add           %dh,%al
+  DB  0,240                               ; add           %dh,%al
+  DB  0,240                               ; add           %dh,%al
+  DB  0,240                               ; add           %dh,%al
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  240,255,240                         ; lock          push %rax
+  DB  255,240                             ; push          %rax
+  DB  255,240                             ; push          %rax
+  DB  255,240                             ; push          %rax
+  DB  255,240                             ; push          %rax
+  DB  255,240                             ; push          %rax
+  DB  255,240                             ; push          %rax
+  DB  255,54                              ; pushq         (%rsi)
+  DB  0,54                                ; add           %dh,(%rsi)
+  DB  0,54                                ; add           %dh,(%rsi)
+  DB  0,54                                ; add           %dh,(%rsi)
+  DB  0,54                                ; add           %dh,(%rsi)
+  DB  0,54                                ; add           %dh,(%rsi)
+  DB  0,54                                ; add           %dh,(%rsi)
+  DB  0,54                                ; add           %dh,(%rsi)
+  DB  0,183,0,183,0,183                   ; add           %dh,-0x48ff4900(%rdi)
+  DB  0,183,0,183,0,183                   ; add           %dh,-0x48ff4900(%rdi)
+  DB  0,183,0,183,0,19                    ; add           %dh,0x1300b700(%rdi)
+  DB  0,19                                ; add           %dl,(%rbx)
+  DB  0,19                                ; add           %dl,(%rbx)
+  DB  0,19                                ; add           %dl,(%rbx)
+  DB  0,19                                ; add           %dl,(%rbx)
+  DB  0,19                                ; add           %dl,(%rbx)
+  DB  0,19                                ; add           %dl,(%rbx)
+  DB  0,19                                ; add           %dl,(%rbx)
+  DB  0,254                               ; add           %bh,%dh
+  DB  0,254                               ; add           %bh,%dh
+  DB  0,254                               ; add           %bh,%dh
+  DB  0,254                               ; add           %bh,%dh
+  DB  0,254                               ; add           %bh,%dh
+  DB  0,254                               ; add           %bh,%dh
+  DB  0,254                               ; add           %bh,%dh
+  DB  0,254                               ; add           %bh,%dh
+  DB  0                                   ; .byte         0x0
+
+ALIGN 8
+  DB  1,0                                 ; add           %eax,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  1,0                                 ; add           %eax,(%rax)
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  2,0                                 ; add           (%rax),%al
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  2,0                                 ; add           (%rax),%al
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  4,0                                 ; add           $0x0,%al
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  4,0                                 ; add           $0x0,%al
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  255                                 ; (bad)
+  DB  127,0                               ; jg            35d0b <.literal8+0x1b>
+  DB  0,255                               ; add           %bh,%bh
+  DB  127,0                               ; jg            35d0f <.literal8+0x1f>
+  DB  0,0                                 ; add           %al,(%rax)
+  DB  128,0,0                             ; addb          $0x0,(%rax)
+  DB  0                                   ; .byte         0x0
+  DB  128,0,0                             ; addb          $0x0,(%rax)
+ELSE
+.MODEL FLAT,C
+_text32 SEGMENT ALIGN(32) 'CODE'
+ALIGN 32
+
+PUBLIC _sk_start_pipeline_sse2
+_sk_start_pipeline_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,228,240                         ; and           $0xfffffff0,%esp
+  DB  131,236,112                         ; sub           $0x70,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  59,69,20                            ; cmp           0x14(%ebp),%eax
+  DB  15,131,174,0,0,0                    ; jae           c6 <_sk_start_pipeline_sse2+0xc6>
+  DB  139,85,16                           ; mov           0x10(%ebp),%edx
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,117,24                          ; mov           0x18(%ebp),%esi
+  DB  139,62                              ; mov           (%esi),%edi
+  DB  131,198,4                           ; add           $0x4,%esi
+  DB  141,73,4                            ; lea           0x4(%ecx),%ecx
+  DB  137,76,36,8                         ; mov           %ecx,0x8(%esp)
+  DB  57,84,36,8                          ; cmp           %edx,0x8(%esp)
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  137,76,36,16                        ; mov           %ecx,0x10(%esp)
+  DB  137,68,36,12                        ; mov           %eax,0xc(%esp)
+  DB  137,68,36,20                        ; mov           %eax,0x14(%esp)
+  DB  199,68,36,24,0,0,0,0                ; movl          $0x0,0x18(%esp)
+  DB  141,68,36,32                        ; lea           0x20(%esp),%eax
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  15,41,64,48                         ; movaps        %xmm0,0x30(%eax)
+  DB  15,41,64,32                         ; movaps        %xmm0,0x20(%eax)
+  DB  15,41,64,16                         ; movaps        %xmm0,0x10(%eax)
+  DB  15,41,0                             ; movaps        %xmm0,(%eax)
+  DB  137,200                             ; mov           %ecx,%eax
+  DB  141,92,36,16                        ; lea           0x10(%esp),%ebx
+  DB  119,43                              ; ja            91 <_sk_start_pipeline_sse2+0x91>
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  15,87,201                           ; xorps         %xmm1,%xmm1
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  86                                  ; push          %esi
+  DB  83                                  ; push          %ebx
+  DB  255,215                             ; call          *%edi
+  DB  139,85,16                           ; mov           0x10(%ebp),%edx
+  DB  131,196,16                          ; add           $0x10,%esp
+  DB  139,76,36,16                        ; mov           0x10(%esp),%ecx
+  DB  141,65,4                            ; lea           0x4(%ecx),%eax
+  DB  137,68,36,16                        ; mov           %eax,0x10(%esp)
+  DB  131,193,8                           ; add           $0x8,%ecx
+  DB  57,209                              ; cmp           %edx,%ecx
+  DB  118,213                             ; jbe           66 <_sk_start_pipeline_sse2+0x66>
+  DB  137,209                             ; mov           %edx,%ecx
+  DB  41,193                              ; sub           %eax,%ecx
+  DB  116,33                              ; je            b8 <_sk_start_pipeline_sse2+0xb8>
+  DB  137,76,36,24                        ; mov           %ecx,0x18(%esp)
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  15,87,201                           ; xorps         %xmm1,%xmm1
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  86                                  ; push          %esi
+  DB  141,68,36,28                        ; lea           0x1c(%esp),%eax
+  DB  80                                  ; push          %eax
+  DB  255,215                             ; call          *%edi
+  DB  139,85,16                           ; mov           0x10(%ebp),%edx
+  DB  131,196,16                          ; add           $0x10,%esp
+  DB  139,68,36,12                        ; mov           0xc(%esp),%eax
+  DB  64                                  ; inc           %eax
+  DB  59,69,20                            ; cmp           0x14(%ebp),%eax
+  DB  15,133,103,255,255,255              ; jne           2d <_sk_start_pipeline_sse2+0x2d>
+  DB  141,101,244                         ; lea           -0xc(%ebp),%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_just_return_sse2
+_sk_just_return_sse2 LABEL PROC
+  DB  195                                 ; ret
+
+PUBLIC _sk_seed_shader_sse2
+_sk_seed_shader_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  86                                  ; push          %esi
+  DB  80                                  ; push          %eax
+  DB  232,0,0,0,0                         ; call          d9 <_sk_seed_shader_sse2+0xa>
+  DB  88                                  ; pop           %eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,85,12                           ; mov           0xc(%ebp),%edx
+  DB  139,50                              ; mov           (%edx),%esi
+  DB  102,15,110,1                        ; movd          (%ecx),%xmm0
+  DB  102,15,112,192,0                    ; pshufd        $0x0,%xmm0,%xmm0
+  DB  15,91,200                           ; cvtdq2ps      %xmm0,%xmm1
+  DB  15,16,6                             ; movups        (%esi),%xmm0
+  DB  15,88,193                           ; addps         %xmm1,%xmm0
+  DB  102,15,110,73,4                     ; movd          0x4(%ecx),%xmm1
+  DB  102,15,112,201,0                    ; pshufd        $0x0,%xmm1,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  15,88,136,135,6,1,0                 ; addps         0x10687(%eax),%xmm1
+  DB  141,114,8                           ; lea           0x8(%edx),%esi
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  15,41,81,64                         ; movaps        %xmm2,0x40(%ecx)
+  DB  15,41,81,48                         ; movaps        %xmm2,0x30(%ecx)
+  DB  15,41,81,32                         ; movaps        %xmm2,0x20(%ecx)
+  DB  15,41,81,16                         ; movaps        %xmm2,0x10(%ecx)
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,144,151,6,1,0                 ; movaps        0x10697(%eax),%xmm2
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  86                                  ; push          %esi
+  DB  81                                  ; push          %ecx
+  DB  255,82,4                            ; call          *0x4(%edx)
+  DB  131,196,20                          ; add           $0x14,%esp
+  DB  94                                  ; pop           %esi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_dither_sse2
+_sk_dither_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  86                                  ; push          %esi
+  DB  131,236,36                          ; sub           $0x24,%esp
+  DB  15,41,93,216                        ; movaps        %xmm3,-0x28(%ebp)
+  DB  15,41,85,232                        ; movaps        %xmm2,-0x18(%ebp)
+  DB  15,40,217                           ; movaps        %xmm1,%xmm3
+  DB  15,40,208                           ; movaps        %xmm0,%xmm2
+  DB  232,0,0,0,0                         ; call          150 <_sk_dither_sse2+0x1a>
+  DB  89                                  ; pop           %ecx
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  102,15,110,32                       ; movd          (%eax),%xmm4
+  DB  102,15,112,228,0                    ; pshufd        $0x0,%xmm4,%xmm4
+  DB  102,15,254,161,48,6,1,0             ; paddd         0x10630(%ecx),%xmm4
+  DB  102,15,110,104,4                    ; movd          0x4(%eax),%xmm5
+  DB  102,15,112,253,0                    ; pshufd        $0x0,%xmm5,%xmm7
+  DB  102,15,239,252                      ; pxor          %xmm4,%xmm7
+  DB  102,15,111,177,64,6,1,0             ; movdqa        0x10640(%ecx),%xmm6
+  DB  102,15,111,207                      ; movdqa        %xmm7,%xmm1
+  DB  102,15,219,206                      ; pand          %xmm6,%xmm1
+  DB  102,15,114,241,5                    ; pslld         $0x5,%xmm1
+  DB  102,15,111,129,96,6,1,0             ; movdqa        0x10660(%ecx),%xmm0
+  DB  102,15,111,239                      ; movdqa        %xmm7,%xmm5
+  DB  102,15,219,232                      ; pand          %xmm0,%xmm5
+  DB  102,15,114,245,2                    ; pslld         $0x2,%xmm5
+  DB  102,15,235,233                      ; por           %xmm1,%xmm5
+  DB  102,15,219,244                      ; pand          %xmm4,%xmm6
+  DB  102,15,114,246,4                    ; pslld         $0x4,%xmm6
+  DB  102,15,219,196                      ; pand          %xmm4,%xmm0
+  DB  102,15,254,192                      ; paddd         %xmm0,%xmm0
+  DB  102,15,235,198                      ; por           %xmm6,%xmm0
+  DB  102,15,111,137,80,6,1,0             ; movdqa        0x10650(%ecx),%xmm1
+  DB  102,15,219,249                      ; pand          %xmm1,%xmm7
+  DB  102,15,219,225                      ; pand          %xmm1,%xmm4
+  DB  102,15,114,212,2                    ; psrld         $0x2,%xmm4
+  DB  102,15,235,224                      ; por           %xmm0,%xmm4
+  DB  102,15,235,229                      ; por           %xmm5,%xmm4
+  DB  139,85,12                           ; mov           0xc(%ebp),%edx
+  DB  139,50                              ; mov           (%edx),%esi
+  DB  102,15,114,215,1                    ; psrld         $0x1,%xmm7
+  DB  102,15,235,231                      ; por           %xmm7,%xmm4
+  DB  15,91,196                           ; cvtdq2ps      %xmm4,%xmm0
+  DB  15,89,129,112,6,1,0                 ; mulps         0x10670(%ecx),%xmm0
+  DB  15,88,129,128,6,1,0                 ; addps         0x10680(%ecx),%xmm0
+  DB  243,15,16,14                        ; movss         (%esi),%xmm1
+  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
+  DB  15,89,200                           ; mulps         %xmm0,%xmm1
+  DB  15,88,209                           ; addps         %xmm1,%xmm2
+  DB  15,88,217                           ; addps         %xmm1,%xmm3
+  DB  15,88,77,232                        ; addps         -0x18(%ebp),%xmm1
+  DB  15,40,69,216                        ; movaps        -0x28(%ebp),%xmm0
+  DB  15,93,208                           ; minps         %xmm0,%xmm2
+  DB  102,15,239,237                      ; pxor          %xmm5,%xmm5
+  DB  15,95,234                           ; maxps         %xmm2,%xmm5
+  DB  15,93,216                           ; minps         %xmm0,%xmm3
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,95,227                           ; maxps         %xmm3,%xmm4
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  15,93,200                           ; minps         %xmm0,%xmm1
+  DB  15,40,216                           ; movaps        %xmm0,%xmm3
+  DB  15,95,209                           ; maxps         %xmm1,%xmm2
+  DB  141,74,8                            ; lea           0x8(%edx),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,197                           ; movaps        %xmm5,%xmm0
+  DB  15,40,204                           ; movaps        %xmm4,%xmm1
+  DB  81                                  ; push          %ecx
+  DB  80                                  ; push          %eax
+  DB  255,82,4                            ; call          *0x4(%edx)
+  DB  131,196,52                          ; add           $0x34,%esp
+  DB  94                                  ; pop           %esi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_uniform_color_sse2
+_sk_uniform_color_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  243,15,16,1                         ; movss         (%ecx),%xmm0
+  DB  243,15,16,73,4                      ; movss         0x4(%ecx),%xmm1
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
+  DB  243,15,16,81,8                      ; movss         0x8(%ecx),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  243,15,16,89,12                     ; movss         0xc(%ecx),%xmm3
+  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_black_color_sse2
+_sk_black_color_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  232,0,0,0,0                         ; call          28c <_sk_black_color_sse2+0xb>
+  DB  88                                  ; pop           %eax
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  141,81,4                            ; lea           0x4(%ecx),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,152,228,4,1,0                 ; movaps        0x104e4(%eax),%xmm3
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  15,87,201                           ; xorps         %xmm1,%xmm1
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  82                                  ; push          %edx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,17                              ; call          *(%ecx)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_white_color_sse2
+_sk_white_color_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  232,0,0,0,0                         ; call          2bc <_sk_white_color_sse2+0xb>
+  DB  88                                  ; pop           %eax
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  141,81,4                            ; lea           0x4(%ecx),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,128,180,4,1,0                 ; movaps        0x104b4(%eax),%xmm0
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  15,40,208                           ; movaps        %xmm0,%xmm2
+  DB  15,40,216                           ; movaps        %xmm0,%xmm3
+  DB  82                                  ; push          %edx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,17                              ; call          *(%ecx)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_load_rgba_sse2
+_sk_load_rgba_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  15,16,1                             ; movups        (%ecx),%xmm0
+  DB  15,16,73,16                         ; movups        0x10(%ecx),%xmm1
+  DB  15,16,81,32                         ; movups        0x20(%ecx),%xmm2
+  DB  15,16,89,48                         ; movups        0x30(%ecx),%xmm3
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_store_rgba_sse2
+_sk_store_rgba_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  139,17                              ; mov           (%ecx),%edx
+  DB  15,17,2                             ; movups        %xmm0,(%edx)
+  DB  15,17,74,16                         ; movups        %xmm1,0x10(%edx)
+  DB  15,17,82,32                         ; movups        %xmm2,0x20(%edx)
+  DB  15,17,90,48                         ; movups        %xmm3,0x30(%edx)
+  DB  141,81,8                            ; lea           0x8(%ecx),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  82                                  ; push          %edx
+  DB  80                                  ; push          %eax
+  DB  255,81,4                            ; call          *0x4(%ecx)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_clear_sse2
+_sk_clear_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  141,72,4                            ; lea           0x4(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  15,87,201                           ; xorps         %xmm1,%xmm1
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,16                              ; call          *(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_srcatop_sse2
+_sk_srcatop_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  232,0,0,0,0                         ; call          36b <_sk_srcatop_sse2+0xb>
+  DB  90                                  ; pop           %edx
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  15,40,97,64                         ; movaps        0x40(%ecx),%xmm4
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  15,40,170,5,4,1,0                   ; movaps        0x10405(%edx),%xmm5
+  DB  15,92,235                           ; subps         %xmm3,%xmm5
+  DB  15,40,113,16                        ; movaps        0x10(%ecx),%xmm6
+  DB  15,89,245                           ; mulps         %xmm5,%xmm6
+  DB  15,88,198                           ; addps         %xmm6,%xmm0
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  15,40,113,32                        ; movaps        0x20(%ecx),%xmm6
+  DB  15,89,245                           ; mulps         %xmm5,%xmm6
+  DB  15,88,206                           ; addps         %xmm6,%xmm1
+  DB  15,89,212                           ; mulps         %xmm4,%xmm2
+  DB  15,40,113,48                        ; movaps        0x30(%ecx),%xmm6
+  DB  15,89,245                           ; mulps         %xmm5,%xmm6
+  DB  15,88,214                           ; addps         %xmm6,%xmm2
+  DB  15,89,220                           ; mulps         %xmm4,%xmm3
+  DB  15,89,236                           ; mulps         %xmm4,%xmm5
+  DB  15,88,221                           ; addps         %xmm5,%xmm3
+  DB  141,80,4                            ; lea           0x4(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,16                              ; call          *(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_dstatop_sse2
+_sk_dstatop_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  232,0,0,0,0                         ; call          3ca <_sk_dstatop_sse2+0xb>
+  DB  90                                  ; pop           %edx
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  15,40,105,64                        ; movaps        0x40(%ecx),%xmm5
+  DB  15,40,113,16                        ; movaps        0x10(%ecx),%xmm6
+  DB  15,89,243                           ; mulps         %xmm3,%xmm6
+  DB  15,40,162,166,3,1,0                 ; movaps        0x103a6(%edx),%xmm4
+  DB  15,92,229                           ; subps         %xmm5,%xmm4
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  15,88,198                           ; addps         %xmm6,%xmm0
+  DB  15,40,113,32                        ; movaps        0x20(%ecx),%xmm6
+  DB  15,89,243                           ; mulps         %xmm3,%xmm6
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  15,88,206                           ; addps         %xmm6,%xmm1
+  DB  15,40,113,48                        ; movaps        0x30(%ecx),%xmm6
+  DB  15,89,243                           ; mulps         %xmm3,%xmm6
+  DB  15,89,212                           ; mulps         %xmm4,%xmm2
+  DB  15,88,214                           ; addps         %xmm6,%xmm2
+  DB  15,89,235                           ; mulps         %xmm3,%xmm5
+  DB  15,89,227                           ; mulps         %xmm3,%xmm4
+  DB  15,88,229                           ; addps         %xmm5,%xmm4
+  DB  141,80,4                            ; lea           0x4(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,220                           ; movaps        %xmm4,%xmm3
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,16                              ; call          *(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_srcin_sse2
+_sk_srcin_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  15,40,97,64                         ; movaps        0x40(%ecx),%xmm4
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  15,89,212                           ; mulps         %xmm4,%xmm2
+  DB  15,89,220                           ; mulps         %xmm4,%xmm3
+  DB  141,80,4                            ; lea           0x4(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,16                              ; call          *(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_dstin_sse2
+_sk_dstin_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  15,40,65,16                         ; movaps        0x10(%ecx),%xmm0
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  15,40,73,32                         ; movaps        0x20(%ecx),%xmm1
+  DB  15,89,203                           ; mulps         %xmm3,%xmm1
+  DB  15,40,81,48                         ; movaps        0x30(%ecx),%xmm2
+  DB  15,89,211                           ; mulps         %xmm3,%xmm2
+  DB  15,89,89,64                         ; mulps         0x40(%ecx),%xmm3
+  DB  141,80,4                            ; lea           0x4(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,16                              ; call          *(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_srcout_sse2
+_sk_srcout_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  232,0,0,0,0                         ; call          48b <_sk_srcout_sse2+0xb>
+  DB  88                                  ; pop           %eax
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  139,85,8                            ; mov           0x8(%ebp),%edx
+  DB  15,40,160,229,2,1,0                 ; movaps        0x102e5(%eax),%xmm4
+  DB  15,92,98,64                         ; subps         0x40(%edx),%xmm4
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  15,89,212                           ; mulps         %xmm4,%xmm2
+  DB  15,89,220                           ; mulps         %xmm4,%xmm3
+  DB  141,65,4                            ; lea           0x4(%ecx),%eax
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  80                                  ; push          %eax
+  DB  82                                  ; push          %edx
+  DB  255,17                              ; call          *(%ecx)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_dstout_sse2
+_sk_dstout_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  232,0,0,0,0                         ; call          4c3 <_sk_dstout_sse2+0xb>
+  DB  88                                  ; pop           %eax
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  139,85,8                            ; mov           0x8(%ebp),%edx
+  DB  15,40,160,173,2,1,0                 ; movaps        0x102ad(%eax),%xmm4
+  DB  15,92,227                           ; subps         %xmm3,%xmm4
+  DB  15,40,66,16                         ; movaps        0x10(%edx),%xmm0
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  15,40,74,32                         ; movaps        0x20(%edx),%xmm1
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  15,40,82,48                         ; movaps        0x30(%edx),%xmm2
+  DB  15,89,212                           ; mulps         %xmm4,%xmm2
+  DB  15,89,98,64                         ; mulps         0x40(%edx),%xmm4
+  DB  141,65,4                            ; lea           0x4(%ecx),%eax
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,220                           ; movaps        %xmm4,%xmm3
+  DB  80                                  ; push          %eax
+  DB  82                                  ; push          %edx
+  DB  255,17                              ; call          *(%ecx)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_srcover_sse2
+_sk_srcover_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  232,0,0,0,0                         ; call          50a <_sk_srcover_sse2+0xb>
+  DB  88                                  ; pop           %eax
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  139,85,8                            ; mov           0x8(%ebp),%edx
+  DB  15,40,160,102,2,1,0                 ; movaps        0x10266(%eax),%xmm4
+  DB  15,92,227                           ; subps         %xmm3,%xmm4
+  DB  15,40,106,16                        ; movaps        0x10(%edx),%xmm5
+  DB  15,89,236                           ; mulps         %xmm4,%xmm5
+  DB  15,88,197                           ; addps         %xmm5,%xmm0
+  DB  15,40,106,32                        ; movaps        0x20(%edx),%xmm5
+  DB  15,89,236                           ; mulps         %xmm4,%xmm5
+  DB  15,88,205                           ; addps         %xmm5,%xmm1
+  DB  15,40,106,48                        ; movaps        0x30(%edx),%xmm5
+  DB  15,89,236                           ; mulps         %xmm4,%xmm5
+  DB  15,88,213                           ; addps         %xmm5,%xmm2
+  DB  15,89,98,64                         ; mulps         0x40(%edx),%xmm4
+  DB  15,88,220                           ; addps         %xmm4,%xmm3
+  DB  141,65,4                            ; lea           0x4(%ecx),%eax
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  80                                  ; push          %eax
+  DB  82                                  ; push          %edx
+  DB  255,17                              ; call          *(%ecx)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_dstover_sse2
+_sk_dstover_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  232,0,0,0,0                         ; call          55a <_sk_dstover_sse2+0xb>
+  DB  88                                  ; pop           %eax
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  139,85,8                            ; mov           0x8(%ebp),%edx
+  DB  15,40,106,64                        ; movaps        0x40(%edx),%xmm5
+  DB  15,40,160,22,2,1,0                  ; movaps        0x10216(%eax),%xmm4
+  DB  15,92,229                           ; subps         %xmm5,%xmm4
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  15,88,66,16                         ; addps         0x10(%edx),%xmm0
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  15,88,74,32                         ; addps         0x20(%edx),%xmm1
+  DB  15,89,212                           ; mulps         %xmm4,%xmm2
+  DB  15,88,82,48                         ; addps         0x30(%edx),%xmm2
+  DB  15,89,227                           ; mulps         %xmm3,%xmm4
+  DB  15,88,229                           ; addps         %xmm5,%xmm4
+  DB  141,65,4                            ; lea           0x4(%ecx),%eax
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,220                           ; movaps        %xmm4,%xmm3
+  DB  80                                  ; push          %eax
+  DB  82                                  ; push          %edx
+  DB  255,17                              ; call          *(%ecx)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_modulate_sse2
+_sk_modulate_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  15,89,65,16                         ; mulps         0x10(%ecx),%xmm0
+  DB  15,89,73,32                         ; mulps         0x20(%ecx),%xmm1
+  DB  15,89,81,48                         ; mulps         0x30(%ecx),%xmm2
+  DB  15,89,89,64                         ; mulps         0x40(%ecx),%xmm3
+  DB  141,80,4                            ; lea           0x4(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,16                              ; call          *(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_multiply_sse2
+_sk_multiply_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,56                          ; sub           $0x38,%esp
+  DB  15,41,85,216                        ; movaps        %xmm2,-0x28(%ebp)
+  DB  15,40,232                           ; movaps        %xmm0,%xmm5
+  DB  232,0,0,0,0                         ; call          5d9 <_sk_multiply_sse2+0x12>
+  DB  89                                  ; pop           %ecx
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  15,40,80,64                         ; movaps        0x40(%eax),%xmm2
+  DB  15,41,85,200                        ; movaps        %xmm2,-0x38(%ebp)
+  DB  15,40,129,151,1,1,0                 ; movaps        0x10197(%ecx),%xmm0
+  DB  15,40,240                           ; movaps        %xmm0,%xmm6
+  DB  15,92,242                           ; subps         %xmm2,%xmm6
+  DB  15,40,254                           ; movaps        %xmm6,%xmm7
+  DB  15,89,253                           ; mulps         %xmm5,%xmm7
+  DB  15,92,195                           ; subps         %xmm3,%xmm0
+  DB  15,40,80,16                         ; movaps        0x10(%eax),%xmm2
+  DB  15,40,224                           ; movaps        %xmm0,%xmm4
+  DB  15,89,226                           ; mulps         %xmm2,%xmm4
+  DB  15,88,231                           ; addps         %xmm7,%xmm4
+  DB  15,89,234                           ; mulps         %xmm2,%xmm5
+  DB  15,88,236                           ; addps         %xmm4,%xmm5
+  DB  15,40,214                           ; movaps        %xmm6,%xmm2
+  DB  15,89,209                           ; mulps         %xmm1,%xmm2
+  DB  15,40,96,32                         ; movaps        0x20(%eax),%xmm4
+  DB  15,40,248                           ; movaps        %xmm0,%xmm7
+  DB  15,89,252                           ; mulps         %xmm4,%xmm7
+  DB  15,88,250                           ; addps         %xmm2,%xmm7
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  15,88,207                           ; addps         %xmm7,%xmm1
+  DB  15,41,77,232                        ; movaps        %xmm1,-0x18(%ebp)
+  DB  15,40,206                           ; movaps        %xmm6,%xmm1
+  DB  15,40,85,216                        ; movaps        -0x28(%ebp),%xmm2
+  DB  15,89,202                           ; mulps         %xmm2,%xmm1
+  DB  15,40,96,48                         ; movaps        0x30(%eax),%xmm4
+  DB  15,40,248                           ; movaps        %xmm0,%xmm7
+  DB  15,89,252                           ; mulps         %xmm4,%xmm7
+  DB  15,88,249                           ; addps         %xmm1,%xmm7
+  DB  15,89,212                           ; mulps         %xmm4,%xmm2
+  DB  15,88,215                           ; addps         %xmm7,%xmm2
+  DB  15,89,243                           ; mulps         %xmm3,%xmm6
+  DB  15,40,77,200                        ; movaps        -0x38(%ebp),%xmm1
+  DB  15,89,193                           ; mulps         %xmm1,%xmm0
+  DB  15,88,198                           ; addps         %xmm6,%xmm0
+  DB  15,89,217                           ; mulps         %xmm1,%xmm3
+  DB  15,88,216                           ; addps         %xmm0,%xmm3
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  141,81,4                            ; lea           0x4(%ecx),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,197                           ; movaps        %xmm5,%xmm0
+  DB  15,40,77,232                        ; movaps        -0x18(%ebp),%xmm1
+  DB  82                                  ; push          %edx
+  DB  80                                  ; push          %eax
+  DB  255,17                              ; call          *(%ecx)
+  DB  131,196,72                          ; add           $0x48,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_plus__sse2
+_sk_plus__sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  232,0,0,0,0                         ; call          67f <_sk_plus__sse2+0xb>
+  DB  88                                  ; pop           %eax
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  139,85,8                            ; mov           0x8(%ebp),%edx
+  DB  15,88,66,16                         ; addps         0x10(%edx),%xmm0
+  DB  15,40,160,241,0,1,0                 ; movaps        0x100f1(%eax),%xmm4
+  DB  15,93,196                           ; minps         %xmm4,%xmm0
+  DB  15,88,74,32                         ; addps         0x20(%edx),%xmm1
+  DB  15,93,204                           ; minps         %xmm4,%xmm1
+  DB  15,88,82,48                         ; addps         0x30(%edx),%xmm2
+  DB  15,93,212                           ; minps         %xmm4,%xmm2
+  DB  15,88,90,64                         ; addps         0x40(%edx),%xmm3
+  DB  15,93,220                           ; minps         %xmm4,%xmm3
+  DB  141,65,4                            ; lea           0x4(%ecx),%eax
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  80                                  ; push          %eax
+  DB  82                                  ; push          %edx
+  DB  255,17                              ; call          *(%ecx)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_screen_sse2
+_sk_screen_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  15,40,105,16                        ; movaps        0x10(%ecx),%xmm5
+  DB  15,40,113,32                        ; movaps        0x20(%ecx),%xmm6
+  DB  15,40,229                           ; movaps        %xmm5,%xmm4
+  DB  15,88,224                           ; addps         %xmm0,%xmm4
+  DB  15,89,232                           ; mulps         %xmm0,%xmm5
+  DB  15,92,229                           ; subps         %xmm5,%xmm4
+  DB  15,40,238                           ; movaps        %xmm6,%xmm5
+  DB  15,88,233                           ; addps         %xmm1,%xmm5
+  DB  15,89,241                           ; mulps         %xmm1,%xmm6
+  DB  15,92,238                           ; subps         %xmm6,%xmm5
+  DB  15,40,65,48                         ; movaps        0x30(%ecx),%xmm0
+  DB  15,40,240                           ; movaps        %xmm0,%xmm6
+  DB  15,88,242                           ; addps         %xmm2,%xmm6
+  DB  15,89,194                           ; mulps         %xmm2,%xmm0
+  DB  15,92,240                           ; subps         %xmm0,%xmm6
+  DB  15,40,65,64                         ; movaps        0x40(%ecx),%xmm0
+  DB  15,40,248                           ; movaps        %xmm0,%xmm7
+  DB  15,88,251                           ; addps         %xmm3,%xmm7
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  15,92,248                           ; subps         %xmm0,%xmm7
+  DB  141,80,4                            ; lea           0x4(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,196                           ; movaps        %xmm4,%xmm0
+  DB  15,40,205                           ; movaps        %xmm5,%xmm1
+  DB  15,40,214                           ; movaps        %xmm6,%xmm2
+  DB  15,40,223                           ; movaps        %xmm7,%xmm3
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,16                              ; call          *(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_xor__sse2
+_sk_xor__sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,227                           ; movaps        %xmm3,%xmm4
+  DB  232,0,0,0,0                         ; call          72d <_sk_xor__sse2+0xe>
+  DB  90                                  ; pop           %edx
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  15,40,105,64                        ; movaps        0x40(%ecx),%xmm5
+  DB  15,40,154,67,0,1,0                  ; movaps        0x10043(%edx),%xmm3
+  DB  15,40,243                           ; movaps        %xmm3,%xmm6
+  DB  15,92,245                           ; subps         %xmm5,%xmm6
+  DB  15,89,198                           ; mulps         %xmm6,%xmm0
+  DB  15,92,220                           ; subps         %xmm4,%xmm3
+  DB  15,40,121,16                        ; movaps        0x10(%ecx),%xmm7
+  DB  15,89,251                           ; mulps         %xmm3,%xmm7
+  DB  15,88,199                           ; addps         %xmm7,%xmm0
+  DB  15,89,206                           ; mulps         %xmm6,%xmm1
+  DB  15,40,121,32                        ; movaps        0x20(%ecx),%xmm7
+  DB  15,89,251                           ; mulps         %xmm3,%xmm7
+  DB  15,88,207                           ; addps         %xmm7,%xmm1
+  DB  15,89,214                           ; mulps         %xmm6,%xmm2
+  DB  15,40,121,48                        ; movaps        0x30(%ecx),%xmm7
+  DB  15,89,251                           ; mulps         %xmm3,%xmm7
+  DB  15,88,215                           ; addps         %xmm7,%xmm2
+  DB  15,89,244                           ; mulps         %xmm4,%xmm6
+  DB  15,89,221                           ; mulps         %xmm5,%xmm3
+  DB  15,88,222                           ; addps         %xmm6,%xmm3
+  DB  141,80,4                            ; lea           0x4(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,16                              ; call          *(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_darken_sse2
+_sk_darken_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,224                           ; movaps        %xmm0,%xmm4
+  DB  232,0,0,0,0                         ; call          795 <_sk_darken_sse2+0xe>
+  DB  90                                  ; pop           %edx
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  15,40,113,64                        ; movaps        0x40(%ecx),%xmm6
+  DB  15,40,105,16                        ; movaps        0x10(%ecx),%xmm5
+  DB  15,40,121,32                        ; movaps        0x20(%ecx),%xmm7
+  DB  15,40,197                           ; movaps        %xmm5,%xmm0
+  DB  15,88,196                           ; addps         %xmm4,%xmm0
+  DB  15,89,230                           ; mulps         %xmm6,%xmm4
+  DB  15,89,235                           ; mulps         %xmm3,%xmm5
+  DB  15,95,229                           ; maxps         %xmm5,%xmm4
+  DB  15,92,196                           ; subps         %xmm4,%xmm0
+  DB  15,40,231                           ; movaps        %xmm7,%xmm4
+  DB  15,88,225                           ; addps         %xmm1,%xmm4
+  DB  15,89,206                           ; mulps         %xmm6,%xmm1
+  DB  15,89,251                           ; mulps         %xmm3,%xmm7
+  DB  15,95,207                           ; maxps         %xmm7,%xmm1
+  DB  15,92,225                           ; subps         %xmm1,%xmm4
+  DB  15,40,73,48                         ; movaps        0x30(%ecx),%xmm1
+  DB  15,40,233                           ; movaps        %xmm1,%xmm5
+  DB  15,88,234                           ; addps         %xmm2,%xmm5
+  DB  15,89,214                           ; mulps         %xmm6,%xmm2
+  DB  15,89,203                           ; mulps         %xmm3,%xmm1
+  DB  15,95,209                           ; maxps         %xmm1,%xmm2
+  DB  15,92,234                           ; subps         %xmm2,%xmm5
+  DB  15,40,138,219,255,0,0               ; movaps        0xffdb(%edx),%xmm1
+  DB  15,92,203                           ; subps         %xmm3,%xmm1
+  DB  15,89,206                           ; mulps         %xmm6,%xmm1
+  DB  15,88,217                           ; addps         %xmm1,%xmm3
+  DB  141,80,4                            ; lea           0x4(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,204                           ; movaps        %xmm4,%xmm1
+  DB  15,40,213                           ; movaps        %xmm5,%xmm2
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,16                              ; call          *(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_lighten_sse2
+_sk_lighten_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,224                           ; movaps        %xmm0,%xmm4
+  DB  232,0,0,0,0                         ; call          815 <_sk_lighten_sse2+0xe>
+  DB  90                                  ; pop           %edx
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  15,40,113,64                        ; movaps        0x40(%ecx),%xmm6
+  DB  15,40,105,16                        ; movaps        0x10(%ecx),%xmm5
+  DB  15,40,121,32                        ; movaps        0x20(%ecx),%xmm7
+  DB  15,40,197                           ; movaps        %xmm5,%xmm0
+  DB  15,88,196                           ; addps         %xmm4,%xmm0
+  DB  15,89,230                           ; mulps         %xmm6,%xmm4
+  DB  15,89,235                           ; mulps         %xmm3,%xmm5
+  DB  15,93,229                           ; minps         %xmm5,%xmm4
+  DB  15,92,196                           ; subps         %xmm4,%xmm0
+  DB  15,40,231                           ; movaps        %xmm7,%xmm4
+  DB  15,88,225                           ; addps         %xmm1,%xmm4
+  DB  15,89,206                           ; mulps         %xmm6,%xmm1
+  DB  15,89,251                           ; mulps         %xmm3,%xmm7
+  DB  15,93,207                           ; minps         %xmm7,%xmm1
+  DB  15,92,225                           ; subps         %xmm1,%xmm4
+  DB  15,40,73,48                         ; movaps        0x30(%ecx),%xmm1
+  DB  15,40,233                           ; movaps        %xmm1,%xmm5
+  DB  15,88,234                           ; addps         %xmm2,%xmm5
+  DB  15,89,214                           ; mulps         %xmm6,%xmm2
+  DB  15,89,203                           ; mulps         %xmm3,%xmm1
+  DB  15,93,209                           ; minps         %xmm1,%xmm2
+  DB  15,92,234                           ; subps         %xmm2,%xmm5
+  DB  15,40,138,91,255,0,0                ; movaps        0xff5b(%edx),%xmm1
+  DB  15,92,203                           ; subps         %xmm3,%xmm1
+  DB  15,89,206                           ; mulps         %xmm6,%xmm1
+  DB  15,88,217                           ; addps         %xmm1,%xmm3
+  DB  141,80,4                            ; lea           0x4(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,204                           ; movaps        %xmm4,%xmm1
+  DB  15,40,213                           ; movaps        %xmm5,%xmm2
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,16                              ; call          *(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_difference_sse2
+_sk_difference_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,225                           ; movaps        %xmm1,%xmm4
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  232,0,0,0,0                         ; call          898 <_sk_difference_sse2+0x11>
+  DB  90                                  ; pop           %edx
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  15,40,105,64                        ; movaps        0x40(%ecx),%xmm5
+  DB  15,40,113,16                        ; movaps        0x10(%ecx),%xmm6
+  DB  15,40,121,32                        ; movaps        0x20(%ecx),%xmm7
+  DB  15,40,198                           ; movaps        %xmm6,%xmm0
+  DB  15,88,193                           ; addps         %xmm1,%xmm0
+  DB  15,89,205                           ; mulps         %xmm5,%xmm1
+  DB  15,89,243                           ; mulps         %xmm3,%xmm6
+  DB  15,93,206                           ; minps         %xmm6,%xmm1
+  DB  15,88,201                           ; addps         %xmm1,%xmm1
+  DB  15,92,193                           ; subps         %xmm1,%xmm0
+  DB  15,40,207                           ; movaps        %xmm7,%xmm1
+  DB  15,88,204                           ; addps         %xmm4,%xmm1
+  DB  15,89,229                           ; mulps         %xmm5,%xmm4
+  DB  15,89,251                           ; mulps         %xmm3,%xmm7
+  DB  15,93,231                           ; minps         %xmm7,%xmm4
+  DB  15,88,228                           ; addps         %xmm4,%xmm4
+  DB  15,92,204                           ; subps         %xmm4,%xmm1
+  DB  15,40,113,48                        ; movaps        0x30(%ecx),%xmm6
+  DB  15,40,230                           ; movaps        %xmm6,%xmm4
+  DB  15,88,226                           ; addps         %xmm2,%xmm4
+  DB  15,89,213                           ; mulps         %xmm5,%xmm2
+  DB  15,89,243                           ; mulps         %xmm3,%xmm6
+  DB  15,93,214                           ; minps         %xmm6,%xmm2
+  DB  15,88,210                           ; addps         %xmm2,%xmm2
+  DB  15,92,226                           ; subps         %xmm2,%xmm4
+  DB  15,40,146,216,254,0,0               ; movaps        0xfed8(%edx),%xmm2
+  DB  15,92,211                           ; subps         %xmm3,%xmm2
+  DB  15,89,213                           ; mulps         %xmm5,%xmm2
+  DB  15,88,218                           ; addps         %xmm2,%xmm3
+  DB  141,80,4                            ; lea           0x4(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,212                           ; movaps        %xmm4,%xmm2
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,16                              ; call          *(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_exclusion_sse2
+_sk_exclusion_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,224                           ; movaps        %xmm0,%xmm4
+  DB  232,0,0,0,0                         ; call          91e <_sk_exclusion_sse2+0xe>
+  DB  90                                  ; pop           %edx
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  15,40,105,16                        ; movaps        0x10(%ecx),%xmm5
+  DB  15,40,113,32                        ; movaps        0x20(%ecx),%xmm6
+  DB  15,40,197                           ; movaps        %xmm5,%xmm0
+  DB  15,88,196                           ; addps         %xmm4,%xmm0
+  DB  15,89,236                           ; mulps         %xmm4,%xmm5
+  DB  15,88,237                           ; addps         %xmm5,%xmm5
+  DB  15,92,197                           ; subps         %xmm5,%xmm0
+  DB  15,40,230                           ; movaps        %xmm6,%xmm4
+  DB  15,88,225                           ; addps         %xmm1,%xmm4
+  DB  15,89,241                           ; mulps         %xmm1,%xmm6
+  DB  15,88,246                           ; addps         %xmm6,%xmm6
+  DB  15,92,230                           ; subps         %xmm6,%xmm4
+  DB  15,40,73,48                         ; movaps        0x30(%ecx),%xmm1
+  DB  15,40,233                           ; movaps        %xmm1,%xmm5
+  DB  15,88,234                           ; addps         %xmm2,%xmm5
+  DB  15,89,202                           ; mulps         %xmm2,%xmm1
+  DB  15,88,201                           ; addps         %xmm1,%xmm1
+  DB  15,92,233                           ; subps         %xmm1,%xmm5
+  DB  15,40,138,82,254,0,0                ; movaps        0xfe52(%edx),%xmm1
+  DB  15,92,203                           ; subps         %xmm3,%xmm1
+  DB  15,89,73,64                         ; mulps         0x40(%ecx),%xmm1
+  DB  15,88,217                           ; addps         %xmm1,%xmm3
+  DB  141,80,4                            ; lea           0x4(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,204                           ; movaps        %xmm4,%xmm1
+  DB  15,40,213                           ; movaps        %xmm5,%xmm2
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,16                              ; call          *(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_colorburn_sse2
+_sk_colorburn_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,88                          ; sub           $0x58,%esp
+  DB  15,41,93,216                        ; movaps        %xmm3,-0x28(%ebp)
+  DB  15,41,85,168                        ; movaps        %xmm2,-0x58(%ebp)
+  DB  15,40,209                           ; movaps        %xmm1,%xmm2
+  DB  15,40,224                           ; movaps        %xmm0,%xmm4
+  DB  232,0,0,0,0                         ; call          99d <_sk_colorburn_sse2+0x19>
+  DB  89                                  ; pop           %ecx
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  15,40,72,64                         ; movaps        0x40(%eax),%xmm1
+  DB  15,40,104,16                        ; movaps        0x10(%eax),%xmm5
+  DB  15,41,109,232                       ; movaps        %xmm5,-0x18(%ebp)
+  DB  15,40,193                           ; movaps        %xmm1,%xmm0
+  DB  15,92,197                           ; subps         %xmm5,%xmm0
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  15,83,244                           ; rcpps         %xmm4,%xmm6
+  DB  15,89,240                           ; mulps         %xmm0,%xmm6
+  DB  15,40,193                           ; movaps        %xmm1,%xmm0
+  DB  15,93,198                           ; minps         %xmm6,%xmm0
+  DB  15,40,233                           ; movaps        %xmm1,%xmm5
+  DB  15,92,232                           ; subps         %xmm0,%xmm5
+  DB  15,40,177,211,253,0,0               ; movaps        0xfdd3(%ecx),%xmm6
+  DB  15,40,198                           ; movaps        %xmm6,%xmm0
+  DB  15,92,193                           ; subps         %xmm1,%xmm0
+  DB  15,41,69,200                        ; movaps        %xmm0,-0x38(%ebp)
+  DB  15,40,248                           ; movaps        %xmm0,%xmm7
+  DB  15,89,252                           ; mulps         %xmm4,%xmm7
+  DB  15,40,93,232                        ; movaps        -0x18(%ebp),%xmm3
+  DB  15,88,223                           ; addps         %xmm7,%xmm3
+  DB  15,40,69,216                        ; movaps        -0x28(%ebp),%xmm0
+  DB  15,89,232                           ; mulps         %xmm0,%xmm5
+  DB  15,88,239                           ; addps         %xmm7,%xmm5
+  DB  15,92,240                           ; subps         %xmm0,%xmm6
+  DB  15,41,117,184                       ; movaps        %xmm6,-0x48(%ebp)
+  DB  15,40,198                           ; movaps        %xmm6,%xmm0
+  DB  15,40,117,232                       ; movaps        -0x18(%ebp),%xmm6
+  DB  15,89,198                           ; mulps         %xmm6,%xmm0
+  DB  15,87,255                           ; xorps         %xmm7,%xmm7
+  DB  15,194,231,0                        ; cmpeqps       %xmm7,%xmm4
+  DB  15,88,232                           ; addps         %xmm0,%xmm5
+  DB  15,84,196                           ; andps         %xmm4,%xmm0
+  DB  15,85,229                           ; andnps        %xmm5,%xmm4
+  DB  15,86,224                           ; orps          %xmm0,%xmm4
+  DB  15,40,198                           ; movaps        %xmm6,%xmm0
+  DB  15,194,193,0                        ; cmpeqps       %xmm1,%xmm0
+  DB  15,84,216                           ; andps         %xmm0,%xmm3
+  DB  15,85,196                           ; andnps        %xmm4,%xmm0
+  DB  15,86,195                           ; orps          %xmm3,%xmm0
+  DB  15,41,69,232                        ; movaps        %xmm0,-0x18(%ebp)
+  DB  15,40,96,32                         ; movaps        0x20(%eax),%xmm4
+  DB  15,40,193                           ; movaps        %xmm1,%xmm0
+  DB  15,92,196                           ; subps         %xmm4,%xmm0
+  DB  15,40,109,216                       ; movaps        -0x28(%ebp),%xmm5
+  DB  15,89,197                           ; mulps         %xmm5,%xmm0
+  DB  15,83,218                           ; rcpps         %xmm2,%xmm3
+  DB  15,89,216                           ; mulps         %xmm0,%xmm3
+  DB  15,40,193                           ; movaps        %xmm1,%xmm0
+  DB  15,93,195                           ; minps         %xmm3,%xmm0
+  DB  15,40,217                           ; movaps        %xmm1,%xmm3
+  DB  15,92,216                           ; subps         %xmm0,%xmm3
+  DB  15,40,117,200                       ; movaps        -0x38(%ebp),%xmm6
+  DB  15,89,242                           ; mulps         %xmm2,%xmm6
+  DB  15,40,69,184                        ; movaps        -0x48(%ebp),%xmm0
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  15,194,215,0                        ; cmpeqps       %xmm7,%xmm2
+  DB  15,89,221                           ; mulps         %xmm5,%xmm3
+  DB  15,88,222                           ; addps         %xmm6,%xmm3
+  DB  15,88,216                           ; addps         %xmm0,%xmm3
+  DB  15,84,194                           ; andps         %xmm2,%xmm0
+  DB  15,85,211                           ; andnps        %xmm3,%xmm2
+  DB  15,86,208                           ; orps          %xmm0,%xmm2
+  DB  15,88,244                           ; addps         %xmm4,%xmm6
+  DB  15,40,236                           ; movaps        %xmm4,%xmm5
+  DB  15,194,233,0                        ; cmpeqps       %xmm1,%xmm5
+  DB  15,84,245                           ; andps         %xmm5,%xmm6
+  DB  15,85,234                           ; andnps        %xmm2,%xmm5
+  DB  15,86,238                           ; orps          %xmm6,%xmm5
+  DB  15,40,69,168                        ; movaps        -0x58(%ebp),%xmm0
+  DB  15,40,117,200                       ; movaps        -0x38(%ebp),%xmm6
+  DB  15,89,240                           ; mulps         %xmm0,%xmm6
+  DB  15,41,117,200                       ; movaps        %xmm6,-0x38(%ebp)
+  DB  15,194,248,0                        ; cmpeqps       %xmm0,%xmm7
+  DB  15,40,216                           ; movaps        %xmm0,%xmm3
+  DB  15,40,80,48                         ; movaps        0x30(%eax),%xmm2
+  DB  15,40,193                           ; movaps        %xmm1,%xmm0
+  DB  15,92,194                           ; subps         %xmm2,%xmm0
+  DB  15,89,69,216                        ; mulps         -0x28(%ebp),%xmm0
+  DB  15,83,219                           ; rcpps         %xmm3,%xmm3
+  DB  15,89,216                           ; mulps         %xmm0,%xmm3
+  DB  15,40,225                           ; movaps        %xmm1,%xmm4
+  DB  15,93,227                           ; minps         %xmm3,%xmm4
+  DB  15,40,222                           ; movaps        %xmm6,%xmm3
+  DB  15,88,218                           ; addps         %xmm2,%xmm3
+  DB  15,40,69,184                        ; movaps        -0x48(%ebp),%xmm0
+  DB  15,40,240                           ; movaps        %xmm0,%xmm6
+  DB  15,89,242                           ; mulps         %xmm2,%xmm6
+  DB  15,194,209,0                        ; cmpeqps       %xmm1,%xmm2
+  DB  15,89,193                           ; mulps         %xmm1,%xmm0
+  DB  15,41,69,184                        ; movaps        %xmm0,-0x48(%ebp)
+  DB  15,92,204                           ; subps         %xmm4,%xmm1
+  DB  15,40,69,216                        ; movaps        -0x28(%ebp),%xmm0
+  DB  15,89,200                           ; mulps         %xmm0,%xmm1
+  DB  15,88,77,200                        ; addps         -0x38(%ebp),%xmm1
+  DB  15,88,206                           ; addps         %xmm6,%xmm1
+  DB  15,84,247                           ; andps         %xmm7,%xmm6
+  DB  15,85,249                           ; andnps        %xmm1,%xmm7
+  DB  15,86,254                           ; orps          %xmm6,%xmm7
+  DB  15,84,218                           ; andps         %xmm2,%xmm3
+  DB  15,85,215                           ; andnps        %xmm7,%xmm2
+  DB  15,86,211                           ; orps          %xmm3,%xmm2
+  DB  15,40,216                           ; movaps        %xmm0,%xmm3
+  DB  15,88,93,184                        ; addps         -0x48(%ebp),%xmm3
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  141,81,4                            ; lea           0x4(%ecx),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,69,232                        ; movaps        -0x18(%ebp),%xmm0
+  DB  15,40,205                           ; movaps        %xmm5,%xmm1
+  DB  82                                  ; push          %edx
+  DB  80                                  ; push          %eax
+  DB  255,17                              ; call          *(%ecx)
+  DB  131,196,104                         ; add           $0x68,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_colordodge_sse2
+_sk_colordodge_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,88                          ; sub           $0x58,%esp
+  DB  15,40,243                           ; movaps        %xmm3,%xmm6
+  DB  15,41,85,168                        ; movaps        %xmm2,-0x58(%ebp)
+  DB  15,41,77,232                        ; movaps        %xmm1,-0x18(%ebp)
+  DB  232,0,0,0,0                         ; call          b26 <_sk_colordodge_sse2+0x16>
+  DB  89                                  ; pop           %ecx
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  15,40,72,16                         ; movaps        0x10(%eax),%xmm1
+  DB  15,40,145,74,252,0,0                ; movaps        0xfc4a(%ecx),%xmm2
+  DB  15,40,226                           ; movaps        %xmm2,%xmm4
+  DB  15,92,214                           ; subps         %xmm6,%xmm2
+  DB  15,40,250                           ; movaps        %xmm2,%xmm7
+  DB  15,41,85,184                        ; movaps        %xmm2,-0x48(%ebp)
+  DB  15,89,249                           ; mulps         %xmm1,%xmm7
+  DB  15,41,77,216                        ; movaps        %xmm1,-0x28(%ebp)
+  DB  15,89,206                           ; mulps         %xmm6,%xmm1
+  DB  15,92,216                           ; subps         %xmm0,%xmm3
+  DB  15,83,219                           ; rcpps         %xmm3,%xmm3
+  DB  15,89,217                           ; mulps         %xmm1,%xmm3
+  DB  15,40,104,64                        ; movaps        0x40(%eax),%xmm5
+  DB  15,40,205                           ; movaps        %xmm5,%xmm1
+  DB  15,93,203                           ; minps         %xmm3,%xmm1
+  DB  15,92,229                           ; subps         %xmm5,%xmm4
+  DB  15,41,101,200                       ; movaps        %xmm4,-0x38(%ebp)
+  DB  15,40,220                           ; movaps        %xmm4,%xmm3
+  DB  15,89,216                           ; mulps         %xmm0,%xmm3
+  DB  15,40,224                           ; movaps        %xmm0,%xmm4
+  DB  15,194,230,0                        ; cmpeqps       %xmm6,%xmm4
+  DB  15,89,206                           ; mulps         %xmm6,%xmm1
+  DB  15,88,203                           ; addps         %xmm3,%xmm1
+  DB  15,84,196                           ; andps         %xmm4,%xmm0
+  DB  15,85,225                           ; andnps        %xmm1,%xmm4
+  DB  15,86,224                           ; orps          %xmm0,%xmm4
+  DB  15,88,231                           ; addps         %xmm7,%xmm4
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  15,40,125,216                       ; movaps        -0x28(%ebp),%xmm7
+  DB  15,194,248,0                        ; cmpeqps       %xmm0,%xmm7
+  DB  15,84,223                           ; andps         %xmm7,%xmm3
+  DB  15,85,252                           ; andnps        %xmm4,%xmm7
+  DB  15,86,251                           ; orps          %xmm3,%xmm7
+  DB  15,41,125,216                       ; movaps        %xmm7,-0x28(%ebp)
+  DB  15,40,64,32                         ; movaps        0x20(%eax),%xmm0
+  DB  15,40,250                           ; movaps        %xmm2,%xmm7
+  DB  15,89,248                           ; mulps         %xmm0,%xmm7
+  DB  15,40,216                           ; movaps        %xmm0,%xmm3
+  DB  15,89,198                           ; mulps         %xmm6,%xmm0
+  DB  15,40,230                           ; movaps        %xmm6,%xmm4
+  DB  15,40,85,232                        ; movaps        -0x18(%ebp),%xmm2
+  DB  15,92,226                           ; subps         %xmm2,%xmm4
+  DB  15,83,228                           ; rcpps         %xmm4,%xmm4
+  DB  15,89,224                           ; mulps         %xmm0,%xmm4
+  DB  15,40,205                           ; movaps        %xmm5,%xmm1
+  DB  15,93,204                           ; minps         %xmm4,%xmm1
+  DB  15,40,101,200                       ; movaps        -0x38(%ebp),%xmm4
+  DB  15,89,226                           ; mulps         %xmm2,%xmm4
+  DB  15,40,194                           ; movaps        %xmm2,%xmm0
+  DB  15,194,198,0                        ; cmpeqps       %xmm6,%xmm0
+  DB  15,89,206                           ; mulps         %xmm6,%xmm1
+  DB  15,88,204                           ; addps         %xmm4,%xmm1
+  DB  15,84,208                           ; andps         %xmm0,%xmm2
+  DB  15,85,193                           ; andnps        %xmm1,%xmm0
+  DB  15,86,194                           ; orps          %xmm2,%xmm0
+  DB  15,88,199                           ; addps         %xmm7,%xmm0
+  DB  15,87,201                           ; xorps         %xmm1,%xmm1
+  DB  15,194,217,0                        ; cmpeqps       %xmm1,%xmm3
+  DB  15,84,227                           ; andps         %xmm3,%xmm4
+  DB  15,85,216                           ; andnps        %xmm0,%xmm3
+  DB  15,86,220                           ; orps          %xmm4,%xmm3
+  DB  15,40,64,48                         ; movaps        0x30(%eax),%xmm0
+  DB  15,194,200,0                        ; cmpeqps       %xmm0,%xmm1
+  DB  15,41,77,232                        ; movaps        %xmm1,-0x18(%ebp)
+  DB  15,40,77,184                        ; movaps        -0x48(%ebp),%xmm1
+  DB  15,40,209                           ; movaps        %xmm1,%xmm2
+  DB  15,89,208                           ; mulps         %xmm0,%xmm2
+  DB  15,89,198                           ; mulps         %xmm6,%xmm0
+  DB  15,40,230                           ; movaps        %xmm6,%xmm4
+  DB  15,40,125,168                       ; movaps        -0x58(%ebp),%xmm7
+  DB  15,92,231                           ; subps         %xmm7,%xmm4
+  DB  15,83,228                           ; rcpps         %xmm4,%xmm4
+  DB  15,89,224                           ; mulps         %xmm0,%xmm4
+  DB  15,89,205                           ; mulps         %xmm5,%xmm1
+  DB  15,93,236                           ; minps         %xmm4,%xmm5
+  DB  15,40,231                           ; movaps        %xmm7,%xmm4
+  DB  15,40,125,200                       ; movaps        -0x38(%ebp),%xmm7
+  DB  15,89,252                           ; mulps         %xmm4,%xmm7
+  DB  15,40,196                           ; movaps        %xmm4,%xmm0
+  DB  15,194,198,0                        ; cmpeqps       %xmm6,%xmm0
+  DB  15,89,238                           ; mulps         %xmm6,%xmm5
+  DB  15,88,239                           ; addps         %xmm7,%xmm5
+  DB  15,84,224                           ; andps         %xmm0,%xmm4
+  DB  15,85,197                           ; andnps        %xmm5,%xmm0
+  DB  15,86,196                           ; orps          %xmm4,%xmm0
+  DB  15,88,194                           ; addps         %xmm2,%xmm0
+  DB  15,40,85,232                        ; movaps        -0x18(%ebp),%xmm2
+  DB  15,84,250                           ; andps         %xmm2,%xmm7
+  DB  15,85,208                           ; andnps        %xmm0,%xmm2
+  DB  15,86,215                           ; orps          %xmm7,%xmm2
+  DB  15,88,241                           ; addps         %xmm1,%xmm6
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  141,81,4                            ; lea           0x4(%ecx),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,69,216                        ; movaps        -0x28(%ebp),%xmm0
+  DB  15,40,203                           ; movaps        %xmm3,%xmm1
+  DB  15,40,222                           ; movaps        %xmm6,%xmm3
+  DB  82                                  ; push          %edx
+  DB  80                                  ; push          %eax
+  DB  255,17                              ; call          *(%ecx)
+  DB  131,196,104                         ; add           $0x68,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_hardlight_sse2
+_sk_hardlight_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,88                          ; sub           $0x58,%esp
+  DB  15,40,243                           ; movaps        %xmm3,%xmm6
+  DB  15,41,85,168                        ; movaps        %xmm2,-0x58(%ebp)
+  DB  15,41,77,232                        ; movaps        %xmm1,-0x18(%ebp)
+  DB  232,0,0,0,0                         ; call          c87 <_sk_hardlight_sse2+0x16>
+  DB  89                                  ; pop           %ecx
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  15,40,72,64                         ; movaps        0x40(%eax),%xmm1
+  DB  15,40,145,233,250,0,0               ; movaps        0xfae9(%ecx),%xmm2
+  DB  15,40,234                           ; movaps        %xmm2,%xmm5
+  DB  15,92,233                           ; subps         %xmm1,%xmm5
+  DB  15,40,225                           ; movaps        %xmm1,%xmm4
+  DB  15,40,253                           ; movaps        %xmm5,%xmm7
+  DB  15,89,248                           ; mulps         %xmm0,%xmm7
+  DB  15,92,214                           ; subps         %xmm6,%xmm2
+  DB  15,41,85,200                        ; movaps        %xmm2,-0x38(%ebp)
+  DB  15,40,88,16                         ; movaps        0x10(%eax),%xmm3
+  DB  15,40,202                           ; movaps        %xmm2,%xmm1
+  DB  15,89,203                           ; mulps         %xmm3,%xmm1
+  DB  15,88,207                           ; addps         %xmm7,%xmm1
+  DB  15,40,212                           ; movaps        %xmm4,%xmm2
+  DB  15,41,85,216                        ; movaps        %xmm2,-0x28(%ebp)
+  DB  15,40,250                           ; movaps        %xmm2,%xmm7
+  DB  15,92,251                           ; subps         %xmm3,%xmm7
+  DB  15,40,230                           ; movaps        %xmm6,%xmm4
+  DB  15,92,224                           ; subps         %xmm0,%xmm4
+  DB  15,89,231                           ; mulps         %xmm7,%xmm4
+  DB  15,40,250                           ; movaps        %xmm2,%xmm7
+  DB  15,89,254                           ; mulps         %xmm6,%xmm7
+  DB  15,41,125,184                       ; movaps        %xmm7,-0x48(%ebp)
+  DB  15,88,228                           ; addps         %xmm4,%xmm4
+  DB  15,92,252                           ; subps         %xmm4,%xmm7
+  DB  15,89,216                           ; mulps         %xmm0,%xmm3
+  DB  15,40,224                           ; movaps        %xmm0,%xmm4
+  DB  15,88,228                           ; addps         %xmm4,%xmm4
+  DB  15,194,230,2                        ; cmpleps       %xmm6,%xmm4
+  DB  15,88,219                           ; addps         %xmm3,%xmm3
+  DB  15,84,220                           ; andps         %xmm4,%xmm3
+  DB  15,85,231                           ; andnps        %xmm7,%xmm4
+  DB  15,86,227                           ; orps          %xmm3,%xmm4
+  DB  15,88,225                           ; addps         %xmm1,%xmm4
+  DB  15,40,205                           ; movaps        %xmm5,%xmm1
+  DB  15,40,85,232                        ; movaps        -0x18(%ebp),%xmm2
+  DB  15,89,202                           ; mulps         %xmm2,%xmm1
+  DB  15,40,88,32                         ; movaps        0x20(%eax),%xmm3
+  DB  15,40,69,200                        ; movaps        -0x38(%ebp),%xmm0
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  15,88,193                           ; addps         %xmm1,%xmm0
+  DB  15,40,77,216                        ; movaps        -0x28(%ebp),%xmm1
+  DB  15,92,203                           ; subps         %xmm3,%xmm1
+  DB  15,40,254                           ; movaps        %xmm6,%xmm7
+  DB  15,92,250                           ; subps         %xmm2,%xmm7
+  DB  15,89,249                           ; mulps         %xmm1,%xmm7
+  DB  15,88,255                           ; addps         %xmm7,%xmm7
+  DB  15,40,85,184                        ; movaps        -0x48(%ebp),%xmm2
+  DB  15,92,215                           ; subps         %xmm7,%xmm2
+  DB  15,40,77,232                        ; movaps        -0x18(%ebp),%xmm1
+  DB  15,89,217                           ; mulps         %xmm1,%xmm3
+  DB  15,88,201                           ; addps         %xmm1,%xmm1
+  DB  15,194,206,2                        ; cmpleps       %xmm6,%xmm1
+  DB  15,88,219                           ; addps         %xmm3,%xmm3
+  DB  15,84,217                           ; andps         %xmm1,%xmm3
+  DB  15,85,202                           ; andnps        %xmm2,%xmm1
+  DB  15,86,203                           ; orps          %xmm3,%xmm1
+  DB  15,88,200                           ; addps         %xmm0,%xmm1
+  DB  15,40,125,168                       ; movaps        -0x58(%ebp),%xmm7
+  DB  15,89,239                           ; mulps         %xmm7,%xmm5
+  DB  15,40,80,48                         ; movaps        0x30(%eax),%xmm2
+  DB  15,40,93,200                        ; movaps        -0x38(%ebp),%xmm3
+  DB  15,40,195                           ; movaps        %xmm3,%xmm0
+  DB  15,89,194                           ; mulps         %xmm2,%xmm0
+  DB  15,88,197                           ; addps         %xmm5,%xmm0
+  DB  15,41,69,232                        ; movaps        %xmm0,-0x18(%ebp)
+  DB  15,40,239                           ; movaps        %xmm7,%xmm5
+  DB  15,88,237                           ; addps         %xmm5,%xmm5
+  DB  15,194,238,2                        ; cmpleps       %xmm6,%xmm5
+  DB  15,40,69,216                        ; movaps        -0x28(%ebp),%xmm0
+  DB  15,89,216                           ; mulps         %xmm0,%xmm3
+  DB  15,92,194                           ; subps         %xmm2,%xmm0
+  DB  15,89,215                           ; mulps         %xmm7,%xmm2
+  DB  15,88,222                           ; addps         %xmm6,%xmm3
+  DB  15,92,247                           ; subps         %xmm7,%xmm6
+  DB  15,89,240                           ; mulps         %xmm0,%xmm6
+  DB  15,88,246                           ; addps         %xmm6,%xmm6
+  DB  15,40,125,184                       ; movaps        -0x48(%ebp),%xmm7
+  DB  15,92,254                           ; subps         %xmm6,%xmm7
+  DB  15,88,210                           ; addps         %xmm2,%xmm2
+  DB  15,84,213                           ; andps         %xmm5,%xmm2
+  DB  15,85,239                           ; andnps        %xmm7,%xmm5
+  DB  15,86,234                           ; orps          %xmm2,%xmm5
+  DB  15,88,109,232                       ; addps         -0x18(%ebp),%xmm5
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  141,81,4                            ; lea           0x4(%ecx),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,196                           ; movaps        %xmm4,%xmm0
+  DB  15,40,213                           ; movaps        %xmm5,%xmm2
+  DB  82                                  ; push          %edx
+  DB  80                                  ; push          %eax
+  DB  255,17                              ; call          *(%ecx)
+  DB  131,196,104                         ; add           $0x68,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_overlay_sse2
+_sk_overlay_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,104                         ; sub           $0x68,%esp
+  DB  15,41,93,232                        ; movaps        %xmm3,-0x18(%ebp)
+  DB  15,41,85,152                        ; movaps        %xmm2,-0x68(%ebp)
+  DB  15,41,77,168                        ; movaps        %xmm1,-0x58(%ebp)
+  DB  15,40,232                           ; movaps        %xmm0,%xmm5
+  DB  232,0,0,0,0                         ; call          dd2 <_sk_overlay_sse2+0x1a>
+  DB  89                                  ; pop           %ecx
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  15,40,80,64                         ; movaps        0x40(%eax),%xmm2
+  DB  15,40,161,158,249,0,0               ; movaps        0xf99e(%ecx),%xmm4
+  DB  15,40,244                           ; movaps        %xmm4,%xmm6
+  DB  15,92,242                           ; subps         %xmm2,%xmm6
+  DB  15,40,206                           ; movaps        %xmm6,%xmm1
+  DB  15,89,205                           ; mulps         %xmm5,%xmm1
+  DB  15,92,227                           ; subps         %xmm3,%xmm4
+  DB  15,41,101,200                       ; movaps        %xmm4,-0x38(%ebp)
+  DB  15,40,64,16                         ; movaps        0x10(%eax),%xmm0
+  DB  15,40,220                           ; movaps        %xmm4,%xmm3
+  DB  15,89,216                           ; mulps         %xmm0,%xmm3
+  DB  15,88,217                           ; addps         %xmm1,%xmm3
+  DB  15,40,250                           ; movaps        %xmm2,%xmm7
+  DB  15,92,248                           ; subps         %xmm0,%xmm7
+  DB  15,41,69,216                        ; movaps        %xmm0,-0x28(%ebp)
+  DB  15,89,197                           ; mulps         %xmm5,%xmm0
+  DB  15,40,77,232                        ; movaps        -0x18(%ebp),%xmm1
+  DB  15,40,225                           ; movaps        %xmm1,%xmm4
+  DB  15,92,229                           ; subps         %xmm5,%xmm4
+  DB  15,89,231                           ; mulps         %xmm7,%xmm4
+  DB  15,40,234                           ; movaps        %xmm2,%xmm5
+  DB  15,89,233                           ; mulps         %xmm1,%xmm5
+  DB  15,41,109,184                       ; movaps        %xmm5,-0x48(%ebp)
+  DB  15,88,228                           ; addps         %xmm4,%xmm4
+  DB  15,92,236                           ; subps         %xmm4,%xmm5
+  DB  15,40,77,216                        ; movaps        -0x28(%ebp),%xmm1
+  DB  15,88,201                           ; addps         %xmm1,%xmm1
+  DB  15,194,202,2                        ; cmpleps       %xmm2,%xmm1
+  DB  15,88,192                           ; addps         %xmm0,%xmm0
+  DB  15,84,193                           ; andps         %xmm1,%xmm0
+  DB  15,85,205                           ; andnps        %xmm5,%xmm1
+  DB  15,86,200                           ; orps          %xmm0,%xmm1
+  DB  15,88,203                           ; addps         %xmm3,%xmm1
+  DB  15,41,77,216                        ; movaps        %xmm1,-0x28(%ebp)
+  DB  15,40,206                           ; movaps        %xmm6,%xmm1
+  DB  15,40,69,168                        ; movaps        -0x58(%ebp),%xmm0
+  DB  15,89,200                           ; mulps         %xmm0,%xmm1
+  DB  15,40,88,32                         ; movaps        0x20(%eax),%xmm3
+  DB  15,40,101,200                       ; movaps        -0x38(%ebp),%xmm4
+  DB  15,89,227                           ; mulps         %xmm3,%xmm4
+  DB  15,88,225                           ; addps         %xmm1,%xmm4
+  DB  15,40,202                           ; movaps        %xmm2,%xmm1
+  DB  15,92,203                           ; subps         %xmm3,%xmm1
+  DB  15,40,235                           ; movaps        %xmm3,%xmm5
+  DB  15,89,216                           ; mulps         %xmm0,%xmm3
+  DB  15,40,125,232                       ; movaps        -0x18(%ebp),%xmm7
+  DB  15,92,248                           ; subps         %xmm0,%xmm7
+  DB  15,89,249                           ; mulps         %xmm1,%xmm7
+  DB  15,88,255                           ; addps         %xmm7,%xmm7
+  DB  15,40,77,184                        ; movaps        -0x48(%ebp),%xmm1
+  DB  15,92,207                           ; subps         %xmm7,%xmm1
+  DB  15,88,237                           ; addps         %xmm5,%xmm5
+  DB  15,40,250                           ; movaps        %xmm2,%xmm7
+  DB  15,194,239,2                        ; cmpleps       %xmm7,%xmm5
+  DB  15,88,219                           ; addps         %xmm3,%xmm3
+  DB  15,84,221                           ; andps         %xmm5,%xmm3
+  DB  15,85,233                           ; andnps        %xmm1,%xmm5
+  DB  15,86,235                           ; orps          %xmm3,%xmm5
+  DB  15,88,236                           ; addps         %xmm4,%xmm5
+  DB  15,40,93,152                        ; movaps        -0x68(%ebp),%xmm3
+  DB  15,89,243                           ; mulps         %xmm3,%xmm6
+  DB  15,40,72,48                         ; movaps        0x30(%eax),%xmm1
+  DB  15,40,101,200                       ; movaps        -0x38(%ebp),%xmm4
+  DB  15,40,212                           ; movaps        %xmm4,%xmm2
+  DB  15,89,209                           ; mulps         %xmm1,%xmm2
+  DB  15,88,214                           ; addps         %xmm6,%xmm2
+  DB  15,40,241                           ; movaps        %xmm1,%xmm6
+  DB  15,88,246                           ; addps         %xmm6,%xmm6
+  DB  15,194,247,2                        ; cmpleps       %xmm7,%xmm6
+  DB  15,89,231                           ; mulps         %xmm7,%xmm4
+  DB  15,92,249                           ; subps         %xmm1,%xmm7
+  DB  15,40,199                           ; movaps        %xmm7,%xmm0
+  DB  15,89,203                           ; mulps         %xmm3,%xmm1
+  DB  15,40,251                           ; movaps        %xmm3,%xmm7
+  DB  15,40,93,232                        ; movaps        -0x18(%ebp),%xmm3
+  DB  15,88,227                           ; addps         %xmm3,%xmm4
+  DB  15,92,223                           ; subps         %xmm7,%xmm3
+  DB  15,89,216                           ; mulps         %xmm0,%xmm3
+  DB  15,88,219                           ; addps         %xmm3,%xmm3
+  DB  15,40,125,184                       ; movaps        -0x48(%ebp),%xmm7
+  DB  15,92,251                           ; subps         %xmm3,%xmm7
+  DB  15,88,201                           ; addps         %xmm1,%xmm1
+  DB  15,84,206                           ; andps         %xmm6,%xmm1
+  DB  15,85,247                           ; andnps        %xmm7,%xmm6
+  DB  15,86,241                           ; orps          %xmm1,%xmm6
+  DB  15,88,242                           ; addps         %xmm2,%xmm6
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  141,81,4                            ; lea           0x4(%ecx),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,69,216                        ; movaps        -0x28(%ebp),%xmm0
+  DB  15,40,205                           ; movaps        %xmm5,%xmm1
+  DB  15,40,214                           ; movaps        %xmm6,%xmm2
+  DB  15,40,220                           ; movaps        %xmm4,%xmm3
+  DB  82                                  ; push          %edx
+  DB  80                                  ; push          %eax
+  DB  255,17                              ; call          *(%ecx)
+  DB  131,196,120                         ; add           $0x78,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_softlight_sse2
+_sk_softlight_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  129,236,184,0,0,0                   ; sub           $0xb8,%esp
+  DB  15,41,93,168                        ; movaps        %xmm3,-0x58(%ebp)
+  DB  15,41,149,88,255,255,255            ; movaps        %xmm2,-0xa8(%ebp)
+  DB  15,41,77,136                        ; movaps        %xmm1,-0x78(%ebp)
+  DB  15,41,69,216                        ; movaps        %xmm0,-0x28(%ebp)
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  15,40,88,64                         ; movaps        0x40(%eax),%xmm3
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  15,194,195,1                        ; cmpltps       %xmm3,%xmm0
+  DB  15,41,69,200                        ; movaps        %xmm0,-0x38(%ebp)
+  DB  15,40,104,16                        ; movaps        0x10(%eax),%xmm5
+  DB  15,40,213                           ; movaps        %xmm5,%xmm2
+  DB  15,94,211                           ; divps         %xmm3,%xmm2
+  DB  15,84,208                           ; andps         %xmm0,%xmm2
+  DB  15,40,202                           ; movaps        %xmm2,%xmm1
+  DB  15,88,201                           ; addps         %xmm1,%xmm1
+  DB  15,88,201                           ; addps         %xmm1,%xmm1
+  DB  15,40,241                           ; movaps        %xmm1,%xmm6
+  DB  15,89,246                           ; mulps         %xmm6,%xmm6
+  DB  15,88,241                           ; addps         %xmm1,%xmm6
+  DB  232,0,0,0,0                         ; call          f62 <_sk_softlight_sse2+0x52>
+  DB  89                                  ; pop           %ecx
+  DB  15,40,194                           ; movaps        %xmm2,%xmm0
+  DB  15,40,137,126,248,0,0               ; movaps        0xf87e(%ecx),%xmm1
+  DB  15,41,141,104,255,255,255           ; movaps        %xmm1,-0x98(%ebp)
+  DB  15,88,193                           ; addps         %xmm1,%xmm0
+  DB  15,89,198                           ; mulps         %xmm6,%xmm0
+  DB  15,40,185,14,248,0,0                ; movaps        0xf80e(%ecx),%xmm7
+  DB  15,41,125,232                       ; movaps        %xmm7,-0x18(%ebp)
+  DB  15,92,250                           ; subps         %xmm2,%xmm7
+  DB  15,82,242                           ; rsqrtps       %xmm2,%xmm6
+  DB  15,83,206                           ; rcpps         %xmm6,%xmm1
+  DB  15,92,202                           ; subps         %xmm2,%xmm1
+  DB  15,40,161,142,248,0,0               ; movaps        0xf88e(%ecx),%xmm4
+  DB  15,41,101,152                       ; movaps        %xmm4,-0x68(%ebp)
+  DB  15,89,212                           ; mulps         %xmm4,%xmm2
+  DB  15,88,208                           ; addps         %xmm0,%xmm2
+  DB  15,40,197                           ; movaps        %xmm5,%xmm0
+  DB  15,88,192                           ; addps         %xmm0,%xmm0
+  DB  15,88,192                           ; addps         %xmm0,%xmm0
+  DB  15,40,243                           ; movaps        %xmm3,%xmm6
+  DB  15,41,117,184                       ; movaps        %xmm6,-0x48(%ebp)
+  DB  15,194,198,2                        ; cmpleps       %xmm6,%xmm0
+  DB  15,84,208                           ; andps         %xmm0,%xmm2
+  DB  15,85,193                           ; andnps        %xmm1,%xmm0
+  DB  15,86,194                           ; orps          %xmm2,%xmm0
+  DB  15,40,85,216                        ; movaps        -0x28(%ebp),%xmm2
+  DB  15,88,210                           ; addps         %xmm2,%xmm2
+  DB  15,40,202                           ; movaps        %xmm2,%xmm1
+  DB  15,40,93,168                        ; movaps        -0x58(%ebp),%xmm3
+  DB  15,92,203                           ; subps         %xmm3,%xmm1
+  DB  15,89,249                           ; mulps         %xmm1,%xmm7
+  DB  15,89,206                           ; mulps         %xmm6,%xmm1
+  DB  15,89,193                           ; mulps         %xmm1,%xmm0
+  DB  15,40,205                           ; movaps        %xmm5,%xmm1
+  DB  15,89,203                           ; mulps         %xmm3,%xmm1
+  DB  15,88,193                           ; addps         %xmm1,%xmm0
+  DB  15,88,251                           ; addps         %xmm3,%xmm7
+  DB  15,89,253                           ; mulps         %xmm5,%xmm7
+  DB  15,40,101,232                       ; movaps        -0x18(%ebp),%xmm4
+  DB  15,40,204                           ; movaps        %xmm4,%xmm1
+  DB  15,92,206                           ; subps         %xmm6,%xmm1
+  DB  15,41,141,120,255,255,255           ; movaps        %xmm1,-0x88(%ebp)
+  DB  15,40,117,216                       ; movaps        -0x28(%ebp),%xmm6
+  DB  15,89,241                           ; mulps         %xmm1,%xmm6
+  DB  15,92,227                           ; subps         %xmm3,%xmm4
+  DB  15,41,101,216                       ; movaps        %xmm4,-0x28(%ebp)
+  DB  15,89,236                           ; mulps         %xmm4,%xmm5
+  DB  15,88,245                           ; addps         %xmm5,%xmm6
+  DB  15,40,206                           ; movaps        %xmm6,%xmm1
+  DB  15,194,211,2                        ; cmpleps       %xmm3,%xmm2
+  DB  15,40,243                           ; movaps        %xmm3,%xmm6
+  DB  15,84,250                           ; andps         %xmm2,%xmm7
+  DB  15,85,208                           ; andnps        %xmm0,%xmm2
+  DB  15,86,215                           ; orps          %xmm7,%xmm2
+  DB  15,88,209                           ; addps         %xmm1,%xmm2
+  DB  15,41,149,72,255,255,255            ; movaps        %xmm2,-0xb8(%ebp)
+  DB  15,40,64,32                         ; movaps        0x20(%eax),%xmm0
+  DB  15,40,224                           ; movaps        %xmm0,%xmm4
+  DB  15,94,101,184                       ; divps         -0x48(%ebp),%xmm4
+  DB  15,84,101,200                       ; andps         -0x38(%ebp),%xmm4
+  DB  15,40,204                           ; movaps        %xmm4,%xmm1
+  DB  15,88,201                           ; addps         %xmm1,%xmm1
+  DB  15,88,201                           ; addps         %xmm1,%xmm1
+  DB  15,40,217                           ; movaps        %xmm1,%xmm3
+  DB  15,89,219                           ; mulps         %xmm3,%xmm3
+  DB  15,88,217                           ; addps         %xmm1,%xmm3
+  DB  15,40,204                           ; movaps        %xmm4,%xmm1
+  DB  15,88,141,104,255,255,255           ; addps         -0x98(%ebp),%xmm1
+  DB  15,89,203                           ; mulps         %xmm3,%xmm1
+  DB  15,40,125,232                       ; movaps        -0x18(%ebp),%xmm7
+  DB  15,92,252                           ; subps         %xmm4,%xmm7
+  DB  15,82,220                           ; rsqrtps       %xmm4,%xmm3
+  DB  15,83,235                           ; rcpps         %xmm3,%xmm5
+  DB  15,92,236                           ; subps         %xmm4,%xmm5
+  DB  15,89,101,152                       ; mulps         -0x68(%ebp),%xmm4
+  DB  15,88,225                           ; addps         %xmm1,%xmm4
+  DB  15,40,93,136                        ; movaps        -0x78(%ebp),%xmm3
+  DB  15,88,219                           ; addps         %xmm3,%xmm3
+  DB  15,40,203                           ; movaps        %xmm3,%xmm1
+  DB  15,92,206                           ; subps         %xmm6,%xmm1
+  DB  15,89,249                           ; mulps         %xmm1,%xmm7
+  DB  15,88,254                           ; addps         %xmm6,%xmm7
+  DB  15,89,248                           ; mulps         %xmm0,%xmm7
+  DB  15,40,117,216                       ; movaps        -0x28(%ebp),%xmm6
+  DB  15,89,240                           ; mulps         %xmm0,%xmm6
+  DB  15,40,208                           ; movaps        %xmm0,%xmm2
+  DB  15,88,192                           ; addps         %xmm0,%xmm0
+  DB  15,88,192                           ; addps         %xmm0,%xmm0
+  DB  15,194,69,184,2                     ; cmpleps       -0x48(%ebp),%xmm0
+  DB  15,84,224                           ; andps         %xmm0,%xmm4
+  DB  15,85,197                           ; andnps        %xmm5,%xmm0
+  DB  15,86,196                           ; orps          %xmm4,%xmm0
+  DB  15,40,101,184                       ; movaps        -0x48(%ebp),%xmm4
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  15,89,193                           ; mulps         %xmm1,%xmm0
+  DB  15,40,109,168                       ; movaps        -0x58(%ebp),%xmm5
+  DB  15,89,213                           ; mulps         %xmm5,%xmm2
+  DB  15,88,194                           ; addps         %xmm2,%xmm0
+  DB  15,40,77,136                        ; movaps        -0x78(%ebp),%xmm1
+  DB  15,89,141,120,255,255,255           ; mulps         -0x88(%ebp),%xmm1
+  DB  15,88,206                           ; addps         %xmm6,%xmm1
+  DB  15,194,221,2                        ; cmpleps       %xmm5,%xmm3
+  DB  15,40,245                           ; movaps        %xmm5,%xmm6
+  DB  15,84,251                           ; andps         %xmm3,%xmm7
+  DB  15,85,216                           ; andnps        %xmm0,%xmm3
+  DB  15,86,223                           ; orps          %xmm7,%xmm3
+  DB  15,88,217                           ; addps         %xmm1,%xmm3
+  DB  15,40,64,48                         ; movaps        0x30(%eax),%xmm0
+  DB  15,40,248                           ; movaps        %xmm0,%xmm7
+  DB  15,94,252                           ; divps         %xmm4,%xmm7
+  DB  15,84,125,200                       ; andps         -0x38(%ebp),%xmm7
+  DB  15,40,77,232                        ; movaps        -0x18(%ebp),%xmm1
+  DB  15,92,207                           ; subps         %xmm7,%xmm1
+  DB  15,41,77,232                        ; movaps        %xmm1,-0x18(%ebp)
+  DB  15,40,173,104,255,255,255           ; movaps        -0x98(%ebp),%xmm5
+  DB  15,88,239                           ; addps         %xmm7,%xmm5
+  DB  15,40,101,152                       ; movaps        -0x68(%ebp),%xmm4
+  DB  15,89,231                           ; mulps         %xmm7,%xmm4
+  DB  15,82,207                           ; rsqrtps       %xmm7,%xmm1
+  DB  15,83,201                           ; rcpps         %xmm1,%xmm1
+  DB  15,92,207                           ; subps         %xmm7,%xmm1
+  DB  15,41,77,200                        ; movaps        %xmm1,-0x38(%ebp)
+  DB  15,88,255                           ; addps         %xmm7,%xmm7
+  DB  15,88,255                           ; addps         %xmm7,%xmm7
+  DB  15,40,215                           ; movaps        %xmm7,%xmm2
+  DB  15,89,210                           ; mulps         %xmm2,%xmm2
+  DB  15,88,215                           ; addps         %xmm7,%xmm2
+  DB  15,40,205                           ; movaps        %xmm5,%xmm1
+  DB  15,89,202                           ; mulps         %xmm2,%xmm1
+  DB  15,88,225                           ; addps         %xmm1,%xmm4
+  DB  15,40,204                           ; movaps        %xmm4,%xmm1
+  DB  15,40,173,88,255,255,255            ; movaps        -0xa8(%ebp),%xmm5
+  DB  15,88,237                           ; addps         %xmm5,%xmm5
+  DB  15,40,213                           ; movaps        %xmm5,%xmm2
+  DB  15,92,214                           ; subps         %xmm6,%xmm2
+  DB  15,40,101,232                       ; movaps        -0x18(%ebp),%xmm4
+  DB  15,89,226                           ; mulps         %xmm2,%xmm4
+  DB  15,88,230                           ; addps         %xmm6,%xmm4
+  DB  15,89,224                           ; mulps         %xmm0,%xmm4
+  DB  15,41,101,232                       ; movaps        %xmm4,-0x18(%ebp)
+  DB  15,40,101,216                       ; movaps        -0x28(%ebp),%xmm4
+  DB  15,89,224                           ; mulps         %xmm0,%xmm4
+  DB  15,40,240                           ; movaps        %xmm0,%xmm6
+  DB  15,88,192                           ; addps         %xmm0,%xmm0
+  DB  15,88,192                           ; addps         %xmm0,%xmm0
+  DB  15,40,125,184                       ; movaps        -0x48(%ebp),%xmm7
+  DB  15,194,199,2                        ; cmpleps       %xmm7,%xmm0
+  DB  15,84,200                           ; andps         %xmm0,%xmm1
+  DB  15,85,69,200                        ; andnps        -0x38(%ebp),%xmm0
+  DB  15,86,193                           ; orps          %xmm1,%xmm0
+  DB  15,89,215                           ; mulps         %xmm7,%xmm2
+  DB  15,89,194                           ; mulps         %xmm2,%xmm0
+  DB  15,40,85,168                        ; movaps        -0x58(%ebp),%xmm2
+  DB  15,89,242                           ; mulps         %xmm2,%xmm6
+  DB  15,88,198                           ; addps         %xmm6,%xmm0
+  DB  15,40,141,88,255,255,255            ; movaps        -0xa8(%ebp),%xmm1
+  DB  15,89,141,120,255,255,255           ; mulps         -0x88(%ebp),%xmm1
+  DB  15,88,204                           ; addps         %xmm4,%xmm1
+  DB  15,194,234,2                        ; cmpleps       %xmm2,%xmm5
+  DB  15,40,226                           ; movaps        %xmm2,%xmm4
+  DB  15,40,85,232                        ; movaps        -0x18(%ebp),%xmm2
+  DB  15,84,213                           ; andps         %xmm5,%xmm2
+  DB  15,85,232                           ; andnps        %xmm0,%xmm5
+  DB  15,86,234                           ; orps          %xmm2,%xmm5
+  DB  15,88,233                           ; addps         %xmm1,%xmm5
+  DB  15,40,69,216                        ; movaps        -0x28(%ebp),%xmm0
+  DB  15,89,199                           ; mulps         %xmm7,%xmm0
+  DB  15,88,224                           ; addps         %xmm0,%xmm4
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  141,81,4                            ; lea           0x4(%ecx),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,133,72,255,255,255            ; movaps        -0xb8(%ebp),%xmm0
+  DB  15,40,203                           ; movaps        %xmm3,%xmm1
+  DB  15,40,213                           ; movaps        %xmm5,%xmm2
+  DB  15,40,220                           ; movaps        %xmm4,%xmm3
+  DB  82                                  ; push          %edx
+  DB  80                                  ; push          %eax
+  DB  255,17                              ; call          *(%ecx)
+  DB  129,196,200,0,0,0                   ; add           $0xc8,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_hue_sse2
+_sk_hue_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  129,236,184,0,0,0                   ; sub           $0xb8,%esp
+  DB  15,40,251                           ; movaps        %xmm3,%xmm7
+  DB  15,41,85,232                        ; movaps        %xmm2,-0x18(%ebp)
+  DB  15,40,241                           ; movaps        %xmm1,%xmm6
+  DB  15,40,232                           ; movaps        %xmm0,%xmm5
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  15,40,72,16                         ; movaps        0x10(%eax),%xmm1
+  DB  15,40,64,32                         ; movaps        0x20(%eax),%xmm0
+  DB  15,41,69,136                        ; movaps        %xmm0,-0x78(%ebp)
+  DB  15,40,88,48                         ; movaps        0x30(%eax),%xmm3
+  DB  15,41,93,200                        ; movaps        %xmm3,-0x38(%ebp)
+  DB  15,40,208                           ; movaps        %xmm0,%xmm2
+  DB  15,95,211                           ; maxps         %xmm3,%xmm2
+  DB  15,40,225                           ; movaps        %xmm1,%xmm4
+  DB  15,41,77,152                        ; movaps        %xmm1,-0x68(%ebp)
+  DB  15,95,226                           ; maxps         %xmm2,%xmm4
+  DB  15,93,195                           ; minps         %xmm3,%xmm0
+  DB  15,93,200                           ; minps         %xmm0,%xmm1
+  DB  15,92,225                           ; subps         %xmm1,%xmm4
+  DB  15,41,101,168                       ; movaps        %xmm4,-0x58(%ebp)
+  DB  232,0,0,0,0                         ; call          1223 <_sk_hue_sse2+0x4f>
+  DB  89                                  ; pop           %ecx
+  DB  15,40,221                           ; movaps        %xmm5,%xmm3
+  DB  15,40,197                           ; movaps        %xmm5,%xmm0
+  DB  15,89,223                           ; mulps         %xmm7,%xmm3
+  DB  15,40,214                           ; movaps        %xmm6,%xmm2
+  DB  15,89,215                           ; mulps         %xmm7,%xmm2
+  DB  15,40,226                           ; movaps        %xmm2,%xmm4
+  DB  15,40,72,64                         ; movaps        0x40(%eax),%xmm1
+  DB  15,41,77,216                        ; movaps        %xmm1,-0x28(%ebp)
+  DB  15,40,169,77,245,0,0                ; movaps        0xf54d(%ecx),%xmm5
+  DB  15,92,233                           ; subps         %xmm1,%xmm5
+  DB  15,89,197                           ; mulps         %xmm5,%xmm0
+  DB  15,41,133,72,255,255,255            ; movaps        %xmm0,-0xb8(%ebp)
+  DB  15,89,245                           ; mulps         %xmm5,%xmm6
+  DB  15,41,181,104,255,255,255           ; movaps        %xmm6,-0x98(%ebp)
+  DB  15,40,69,232                        ; movaps        -0x18(%ebp),%xmm0
+  DB  15,89,232                           ; mulps         %xmm0,%xmm5
+  DB  15,41,173,88,255,255,255            ; movaps        %xmm5,-0xa8(%ebp)
+  DB  15,40,215                           ; movaps        %xmm7,%xmm2
+  DB  15,41,85,184                        ; movaps        %xmm2,-0x48(%ebp)
+  DB  15,89,194                           ; mulps         %xmm2,%xmm0
+  DB  15,40,236                           ; movaps        %xmm4,%xmm5
+  DB  15,40,205                           ; movaps        %xmm5,%xmm1
+  DB  15,93,200                           ; minps         %xmm0,%xmm1
+  DB  15,40,243                           ; movaps        %xmm3,%xmm6
+  DB  15,40,254                           ; movaps        %xmm6,%xmm7
+  DB  15,93,249                           ; minps         %xmm1,%xmm7
+  DB  15,40,205                           ; movaps        %xmm5,%xmm1
+  DB  15,95,200                           ; maxps         %xmm0,%xmm1
+  DB  15,40,230                           ; movaps        %xmm6,%xmm4
+  DB  15,95,225                           ; maxps         %xmm1,%xmm4
+  DB  15,92,231                           ; subps         %xmm7,%xmm4
+  DB  15,92,247                           ; subps         %xmm7,%xmm6
+  DB  15,92,239                           ; subps         %xmm7,%xmm5
+  DB  15,92,199                           ; subps         %xmm7,%xmm0
+  DB  15,40,77,168                        ; movaps        -0x58(%ebp),%xmm1
+  DB  15,89,202                           ; mulps         %xmm2,%xmm1
+  DB  15,89,241                           ; mulps         %xmm1,%xmm6
+  DB  15,40,214                           ; movaps        %xmm6,%xmm2
+  DB  15,89,233                           ; mulps         %xmm1,%xmm5
+  DB  15,41,173,120,255,255,255           ; movaps        %xmm5,-0x88(%ebp)
+  DB  15,89,193                           ; mulps         %xmm1,%xmm0
+  DB  15,40,153,221,245,0,0               ; movaps        0xf5dd(%ecx),%xmm3
+  DB  15,41,93,232                        ; movaps        %xmm3,-0x18(%ebp)
+  DB  15,40,117,152                       ; movaps        -0x68(%ebp),%xmm6
+  DB  15,40,206                           ; movaps        %xmm6,%xmm1
+  DB  15,89,203                           ; mulps         %xmm3,%xmm1
+  DB  15,40,153,237,245,0,0               ; movaps        0xf5ed(%ecx),%xmm3
+  DB  15,40,109,136                       ; movaps        -0x78(%ebp),%xmm5
+  DB  15,40,253                           ; movaps        %xmm5,%xmm7
+  DB  15,89,251                           ; mulps         %xmm3,%xmm7
+  DB  15,88,249                           ; addps         %xmm1,%xmm7
+  DB  15,40,137,77,245,0,0                ; movaps        0xf54d(%ecx),%xmm1
+  DB  15,92,77,184                        ; subps         -0x48(%ebp),%xmm1
+  DB  15,89,241                           ; mulps         %xmm1,%xmm6
+  DB  15,41,117,152                       ; movaps        %xmm6,-0x68(%ebp)
+  DB  15,89,233                           ; mulps         %xmm1,%xmm5
+  DB  15,41,109,136                       ; movaps        %xmm5,-0x78(%ebp)
+  DB  15,40,241                           ; movaps        %xmm1,%xmm6
+  DB  15,40,77,200                        ; movaps        -0x38(%ebp),%xmm1
+  DB  15,89,241                           ; mulps         %xmm1,%xmm6
+  DB  15,41,117,168                       ; movaps        %xmm6,-0x58(%ebp)
+  DB  15,40,169,253,245,0,0               ; movaps        0xf5fd(%ecx),%xmm5
+  DB  15,89,205                           ; mulps         %xmm5,%xmm1
+  DB  15,88,207                           ; addps         %xmm7,%xmm1
+  DB  15,94,212                           ; divps         %xmm4,%xmm2
+  DB  15,40,181,120,255,255,255           ; movaps        -0x88(%ebp),%xmm6
+  DB  15,94,244                           ; divps         %xmm4,%xmm6
+  DB  15,94,196                           ; divps         %xmm4,%xmm0
+  DB  15,87,255                           ; xorps         %xmm7,%xmm7
+  DB  15,194,231,4                        ; cmpneqps      %xmm7,%xmm4
+  DB  15,84,212                           ; andps         %xmm4,%xmm2
+  DB  15,84,244                           ; andps         %xmm4,%xmm6
+  DB  15,84,224                           ; andps         %xmm0,%xmm4
+  DB  15,40,194                           ; movaps        %xmm2,%xmm0
+  DB  15,89,69,232                        ; mulps         -0x18(%ebp),%xmm0
+  DB  15,40,254                           ; movaps        %xmm6,%xmm7
+  DB  15,89,251                           ; mulps         %xmm3,%xmm7
+  DB  15,88,248                           ; addps         %xmm0,%xmm7
+  DB  15,40,196                           ; movaps        %xmm4,%xmm0
+  DB  15,89,197                           ; mulps         %xmm5,%xmm0
+  DB  15,88,199                           ; addps         %xmm7,%xmm0
+  DB  15,89,77,184                        ; mulps         -0x48(%ebp),%xmm1
+  DB  15,92,200                           ; subps         %xmm0,%xmm1
+  DB  15,88,209                           ; addps         %xmm1,%xmm2
+  DB  15,88,241                           ; addps         %xmm1,%xmm6
+  DB  15,88,204                           ; addps         %xmm4,%xmm1
+  DB  15,40,198                           ; movaps        %xmm6,%xmm0
+  DB  15,93,193                           ; minps         %xmm1,%xmm0
+  DB  15,40,226                           ; movaps        %xmm2,%xmm4
+  DB  15,93,224                           ; minps         %xmm0,%xmm4
+  DB  15,40,198                           ; movaps        %xmm6,%xmm0
+  DB  15,95,193                           ; maxps         %xmm1,%xmm0
+  DB  15,40,250                           ; movaps        %xmm2,%xmm7
+  DB  15,95,248                           ; maxps         %xmm0,%xmm7
+  DB  15,40,69,232                        ; movaps        -0x18(%ebp),%xmm0
+  DB  15,89,194                           ; mulps         %xmm2,%xmm0
+  DB  15,89,222                           ; mulps         %xmm6,%xmm3
+  DB  15,88,216                           ; addps         %xmm0,%xmm3
+  DB  15,89,233                           ; mulps         %xmm1,%xmm5
+  DB  15,88,235                           ; addps         %xmm3,%xmm5
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  15,194,196,2                        ; cmpleps       %xmm4,%xmm0
+  DB  15,40,221                           ; movaps        %xmm5,%xmm3
+  DB  15,92,220                           ; subps         %xmm4,%xmm3
+  DB  15,41,93,232                        ; movaps        %xmm3,-0x18(%ebp)
+  DB  15,40,226                           ; movaps        %xmm2,%xmm4
+  DB  15,92,229                           ; subps         %xmm5,%xmm4
+  DB  15,89,229                           ; mulps         %xmm5,%xmm4
+  DB  15,94,227                           ; divps         %xmm3,%xmm4
+  DB  15,88,229                           ; addps         %xmm5,%xmm4
+  DB  15,40,216                           ; movaps        %xmm0,%xmm3
+  DB  15,85,220                           ; andnps        %xmm4,%xmm3
+  DB  15,40,226                           ; movaps        %xmm2,%xmm4
+  DB  15,84,224                           ; andps         %xmm0,%xmm4
+  DB  15,86,227                           ; orps          %xmm3,%xmm4
+  DB  15,40,85,216                        ; movaps        -0x28(%ebp),%xmm2
+  DB  15,40,93,184                        ; movaps        -0x48(%ebp),%xmm3
+  DB  15,89,211                           ; mulps         %xmm3,%xmm2
+  DB  15,88,93,216                        ; addps         -0x28(%ebp),%xmm3
+  DB  15,92,218                           ; subps         %xmm2,%xmm3
+  DB  15,41,93,184                        ; movaps        %xmm3,-0x48(%ebp)
+  DB  15,41,85,216                        ; movaps        %xmm2,-0x28(%ebp)
+  DB  15,194,215,1                        ; cmpltps       %xmm7,%xmm2
+  DB  15,40,218                           ; movaps        %xmm2,%xmm3
+  DB  15,85,220                           ; andnps        %xmm4,%xmm3
+  DB  15,41,93,200                        ; movaps        %xmm3,-0x38(%ebp)
+  DB  15,92,229                           ; subps         %xmm5,%xmm4
+  DB  15,40,93,216                        ; movaps        -0x28(%ebp),%xmm3
+  DB  15,92,221                           ; subps         %xmm5,%xmm3
+  DB  15,41,93,216                        ; movaps        %xmm3,-0x28(%ebp)
+  DB  15,89,227                           ; mulps         %xmm3,%xmm4
+  DB  15,92,253                           ; subps         %xmm5,%xmm7
+  DB  15,94,231                           ; divps         %xmm7,%xmm4
+  DB  15,88,229                           ; addps         %xmm5,%xmm4
+  DB  15,84,226                           ; andps         %xmm2,%xmm4
+  DB  15,86,101,200                       ; orps          -0x38(%ebp),%xmm4
+  DB  15,41,101,200                       ; movaps        %xmm4,-0x38(%ebp)
+  DB  15,40,222                           ; movaps        %xmm6,%xmm3
+  DB  15,92,221                           ; subps         %xmm5,%xmm3
+  DB  15,89,221                           ; mulps         %xmm5,%xmm3
+  DB  15,94,93,232                        ; divps         -0x18(%ebp),%xmm3
+  DB  15,88,221                           ; addps         %xmm5,%xmm3
+  DB  15,40,224                           ; movaps        %xmm0,%xmm4
+  DB  15,85,227                           ; andnps        %xmm3,%xmm4
+  DB  15,84,240                           ; andps         %xmm0,%xmm6
+  DB  15,86,244                           ; orps          %xmm4,%xmm6
+  DB  15,40,218                           ; movaps        %xmm2,%xmm3
+  DB  15,40,230                           ; movaps        %xmm6,%xmm4
+  DB  15,85,220                           ; andnps        %xmm4,%xmm3
+  DB  15,92,229                           ; subps         %xmm5,%xmm4
+  DB  15,40,117,216                       ; movaps        -0x28(%ebp),%xmm6
+  DB  15,89,230                           ; mulps         %xmm6,%xmm4
+  DB  15,94,231                           ; divps         %xmm7,%xmm4
+  DB  15,88,229                           ; addps         %xmm5,%xmm4
+  DB  15,84,226                           ; andps         %xmm2,%xmm4
+  DB  15,86,227                           ; orps          %xmm3,%xmm4
+  DB  15,40,217                           ; movaps        %xmm1,%xmm3
+  DB  15,92,221                           ; subps         %xmm5,%xmm3
+  DB  15,89,221                           ; mulps         %xmm5,%xmm3
+  DB  15,94,93,232                        ; divps         -0x18(%ebp),%xmm3
+  DB  15,88,221                           ; addps         %xmm5,%xmm3
+  DB  15,84,200                           ; andps         %xmm0,%xmm1
+  DB  15,85,195                           ; andnps        %xmm3,%xmm0
+  DB  15,86,193                           ; orps          %xmm1,%xmm0
+  DB  15,40,202                           ; movaps        %xmm2,%xmm1
+  DB  15,85,200                           ; andnps        %xmm0,%xmm1
+  DB  15,92,197                           ; subps         %xmm5,%xmm0
+  DB  15,89,198                           ; mulps         %xmm6,%xmm0
+  DB  15,94,199                           ; divps         %xmm7,%xmm0
+  DB  15,88,197                           ; addps         %xmm5,%xmm0
+  DB  15,84,194                           ; andps         %xmm2,%xmm0
+  DB  15,86,193                           ; orps          %xmm1,%xmm0
+  DB  15,87,201                           ; xorps         %xmm1,%xmm1
+  DB  15,40,85,200                        ; movaps        -0x38(%ebp),%xmm2
+  DB  15,95,209                           ; maxps         %xmm1,%xmm2
+  DB  15,95,225                           ; maxps         %xmm1,%xmm4
+  DB  15,95,193                           ; maxps         %xmm1,%xmm0
+  DB  15,40,157,72,255,255,255            ; movaps        -0xb8(%ebp),%xmm3
+  DB  15,88,93,152                        ; addps         -0x68(%ebp),%xmm3
+  DB  15,88,218                           ; addps         %xmm2,%xmm3
+  DB  15,40,141,104,255,255,255           ; movaps        -0x98(%ebp),%xmm1
+  DB  15,88,77,136                        ; addps         -0x78(%ebp),%xmm1
+  DB  15,88,204                           ; addps         %xmm4,%xmm1
+  DB  15,40,85,168                        ; movaps        -0x58(%ebp),%xmm2
+  DB  15,88,149,88,255,255,255            ; addps         -0xa8(%ebp),%xmm2
+  DB  15,88,208                           ; addps         %xmm0,%xmm2
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  141,81,4                            ; lea           0x4(%ecx),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,195                           ; movaps        %xmm3,%xmm0
+  DB  15,40,93,184                        ; movaps        -0x48(%ebp),%xmm3
+  DB  82                                  ; push          %edx
+  DB  80                                  ; push          %eax
+  DB  255,17                              ; call          *(%ecx)
+  DB  129,196,200,0,0,0                   ; add           $0xc8,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_saturation_sse2
+_sk_saturation_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  129,236,216,0,0,0                   ; sub           $0xd8,%esp
+  DB  15,41,149,40,255,255,255            ; movaps        %xmm2,-0xd8(%ebp)
+  DB  15,41,141,56,255,255,255            ; movaps        %xmm1,-0xc8(%ebp)
+  DB  15,41,133,72,255,255,255            ; movaps        %xmm0,-0xb8(%ebp)
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  15,40,112,16                        ; movaps        0x10(%eax),%xmm6
+  DB  15,41,117,184                       ; movaps        %xmm6,-0x48(%ebp)
+  DB  15,40,225                           ; movaps        %xmm1,%xmm4
+  DB  15,95,226                           ; maxps         %xmm2,%xmm4
+  DB  15,40,232                           ; movaps        %xmm0,%xmm5
+  DB  15,95,236                           ; maxps         %xmm4,%xmm5
+  DB  15,40,225                           ; movaps        %xmm1,%xmm4
+  DB  15,93,226                           ; minps         %xmm2,%xmm4
+  DB  15,40,208                           ; movaps        %xmm0,%xmm2
+  DB  15,93,212                           ; minps         %xmm4,%xmm2
+  DB  15,40,64,32                         ; movaps        0x20(%eax),%xmm0
+  DB  15,92,234                           ; subps         %xmm2,%xmm5
+  DB  15,40,214                           ; movaps        %xmm6,%xmm2
+  DB  15,41,93,216                        ; movaps        %xmm3,-0x28(%ebp)
+  DB  15,89,211                           ; mulps         %xmm3,%xmm2
+  DB  15,40,224                           ; movaps        %xmm0,%xmm4
+  DB  15,40,240                           ; movaps        %xmm0,%xmm6
+  DB  15,89,227                           ; mulps         %xmm3,%xmm4
+  DB  15,40,120,48                        ; movaps        0x30(%eax),%xmm7
+  DB  15,41,125,200                       ; movaps        %xmm7,-0x38(%ebp)
+  DB  15,89,251                           ; mulps         %xmm3,%xmm7
+  DB  15,40,204                           ; movaps        %xmm4,%xmm1
+  DB  15,93,207                           ; minps         %xmm7,%xmm1
+  DB  15,40,194                           ; movaps        %xmm2,%xmm0
+  DB  15,93,209                           ; minps         %xmm1,%xmm2
+  DB  15,40,204                           ; movaps        %xmm4,%xmm1
+  DB  15,40,220                           ; movaps        %xmm4,%xmm3
+  DB  15,95,207                           ; maxps         %xmm7,%xmm1
+  DB  15,40,224                           ; movaps        %xmm0,%xmm4
+  DB  15,95,225                           ; maxps         %xmm1,%xmm4
+  DB  15,92,226                           ; subps         %xmm2,%xmm4
+  DB  15,92,194                           ; subps         %xmm2,%xmm0
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  15,92,218                           ; subps         %xmm2,%xmm3
+  DB  15,92,250                           ; subps         %xmm2,%xmm7
+  DB  15,40,64,64                         ; movaps        0x40(%eax),%xmm0
+  DB  15,41,69,152                        ; movaps        %xmm0,-0x68(%ebp)
+  DB  15,89,232                           ; mulps         %xmm0,%xmm5
+  DB  15,89,205                           ; mulps         %xmm5,%xmm1
+  DB  15,41,77,168                        ; movaps        %xmm1,-0x58(%ebp)
+  DB  15,89,221                           ; mulps         %xmm5,%xmm3
+  DB  15,40,211                           ; movaps        %xmm3,%xmm2
+  DB  15,89,253                           ; mulps         %xmm5,%xmm7
+  DB  232,0,0,0,0                         ; call          1577 <_sk_saturation_sse2+0xb0>
+  DB  89                                  ; pop           %ecx
+  DB  15,40,153,137,242,0,0               ; movaps        0xf289(%ecx),%xmm3
+  DB  15,41,157,88,255,255,255            ; movaps        %xmm3,-0xa8(%ebp)
+  DB  15,40,77,184                        ; movaps        -0x48(%ebp),%xmm1
+  DB  15,40,193                           ; movaps        %xmm1,%xmm0
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  15,40,153,153,242,0,0               ; movaps        0xf299(%ecx),%xmm3
+  DB  15,41,93,232                        ; movaps        %xmm3,-0x18(%ebp)
+  DB  15,40,238                           ; movaps        %xmm6,%xmm5
+  DB  15,89,235                           ; mulps         %xmm3,%xmm5
+  DB  15,88,232                           ; addps         %xmm0,%xmm5
+  DB  15,40,129,249,241,0,0               ; movaps        0xf1f9(%ecx),%xmm0
+  DB  15,41,133,104,255,255,255           ; movaps        %xmm0,-0x98(%ebp)
+  DB  15,92,69,216                        ; subps         -0x28(%ebp),%xmm0
+  DB  15,89,200                           ; mulps         %xmm0,%xmm1
+  DB  15,41,77,184                        ; movaps        %xmm1,-0x48(%ebp)
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  15,89,241                           ; mulps         %xmm1,%xmm6
+  DB  15,41,117,136                       ; movaps        %xmm6,-0x78(%ebp)
+  DB  15,40,69,200                        ; movaps        -0x38(%ebp),%xmm0
+  DB  15,89,200                           ; mulps         %xmm0,%xmm1
+  DB  15,41,141,120,255,255,255           ; movaps        %xmm1,-0x88(%ebp)
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  15,40,129,169,242,0,0               ; movaps        0xf2a9(%ecx),%xmm0
+  DB  15,89,200                           ; mulps         %xmm0,%xmm1
+  DB  15,88,205                           ; addps         %xmm5,%xmm1
+  DB  15,40,109,168                       ; movaps        -0x58(%ebp),%xmm5
+  DB  15,94,236                           ; divps         %xmm4,%xmm5
+  DB  15,94,212                           ; divps         %xmm4,%xmm2
+  DB  15,94,252                           ; divps         %xmm4,%xmm7
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  15,194,227,4                        ; cmpneqps      %xmm3,%xmm4
+  DB  15,84,236                           ; andps         %xmm4,%xmm5
+  DB  15,84,212                           ; andps         %xmm4,%xmm2
+  DB  15,84,231                           ; andps         %xmm7,%xmm4
+  DB  15,40,220                           ; movaps        %xmm4,%xmm3
+  DB  15,40,245                           ; movaps        %xmm5,%xmm6
+  DB  15,40,165,88,255,255,255            ; movaps        -0xa8(%ebp),%xmm4
+  DB  15,89,244                           ; mulps         %xmm4,%xmm6
+  DB  15,40,250                           ; movaps        %xmm2,%xmm7
+  DB  15,89,125,232                       ; mulps         -0x18(%ebp),%xmm7
+  DB  15,88,254                           ; addps         %xmm6,%xmm7
+  DB  15,40,243                           ; movaps        %xmm3,%xmm6
+  DB  15,89,240                           ; mulps         %xmm0,%xmm6
+  DB  15,88,247                           ; addps         %xmm7,%xmm6
+  DB  15,89,77,216                        ; mulps         -0x28(%ebp),%xmm1
+  DB  15,92,206                           ; subps         %xmm6,%xmm1
+  DB  15,88,233                           ; addps         %xmm1,%xmm5
+  DB  15,88,209                           ; addps         %xmm1,%xmm2
+  DB  15,41,85,200                        ; movaps        %xmm2,-0x38(%ebp)
+  DB  15,88,203                           ; addps         %xmm3,%xmm1
+  DB  15,40,218                           ; movaps        %xmm2,%xmm3
+  DB  15,93,217                           ; minps         %xmm1,%xmm3
+  DB  15,40,253                           ; movaps        %xmm5,%xmm7
+  DB  15,93,251                           ; minps         %xmm3,%xmm7
+  DB  15,40,218                           ; movaps        %xmm2,%xmm3
+  DB  15,95,217                           ; maxps         %xmm1,%xmm3
+  DB  15,40,245                           ; movaps        %xmm5,%xmm6
+  DB  15,95,243                           ; maxps         %xmm3,%xmm6
+  DB  15,89,229                           ; mulps         %xmm5,%xmm4
+  DB  15,40,93,232                        ; movaps        -0x18(%ebp),%xmm3
+  DB  15,89,218                           ; mulps         %xmm2,%xmm3
+  DB  15,88,220                           ; addps         %xmm4,%xmm3
+  DB  15,89,193                           ; mulps         %xmm1,%xmm0
+  DB  15,88,195                           ; addps         %xmm3,%xmm0
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  15,194,223,2                        ; cmpleps       %xmm7,%xmm3
+  DB  15,40,208                           ; movaps        %xmm0,%xmm2
+  DB  15,92,215                           ; subps         %xmm7,%xmm2
+  DB  15,41,85,232                        ; movaps        %xmm2,-0x18(%ebp)
+  DB  15,40,253                           ; movaps        %xmm5,%xmm7
+  DB  15,92,248                           ; subps         %xmm0,%xmm7
+  DB  15,89,248                           ; mulps         %xmm0,%xmm7
+  DB  15,94,250                           ; divps         %xmm2,%xmm7
+  DB  15,88,248                           ; addps         %xmm0,%xmm7
+  DB  15,40,211                           ; movaps        %xmm3,%xmm2
+  DB  15,85,215                           ; andnps        %xmm7,%xmm2
+  DB  15,84,235                           ; andps         %xmm3,%xmm5
+  DB  15,86,234                           ; orps          %xmm2,%xmm5
+  DB  15,40,125,152                       ; movaps        -0x68(%ebp),%xmm7
+  DB  15,40,215                           ; movaps        %xmm7,%xmm2
+  DB  15,40,101,216                       ; movaps        -0x28(%ebp),%xmm4
+  DB  15,89,212                           ; mulps         %xmm4,%xmm2
+  DB  15,88,231                           ; addps         %xmm7,%xmm4
+  DB  15,92,226                           ; subps         %xmm2,%xmm4
+  DB  15,41,101,216                       ; movaps        %xmm4,-0x28(%ebp)
+  DB  15,40,250                           ; movaps        %xmm2,%xmm7
+  DB  15,194,214,1                        ; cmpltps       %xmm6,%xmm2
+  DB  15,40,226                           ; movaps        %xmm2,%xmm4
+  DB  15,85,229                           ; andnps        %xmm5,%xmm4
+  DB  15,92,232                           ; subps         %xmm0,%xmm5
+  DB  15,92,248                           ; subps         %xmm0,%xmm7
+  DB  15,89,239                           ; mulps         %xmm7,%xmm5
+  DB  15,92,240                           ; subps         %xmm0,%xmm6
+  DB  15,94,238                           ; divps         %xmm6,%xmm5
+  DB  15,88,232                           ; addps         %xmm0,%xmm5
+  DB  15,84,234                           ; andps         %xmm2,%xmm5
+  DB  15,86,236                           ; orps          %xmm4,%xmm5
+  DB  15,41,109,168                       ; movaps        %xmm5,-0x58(%ebp)
+  DB  15,40,101,200                       ; movaps        -0x38(%ebp),%xmm4
+  DB  15,92,224                           ; subps         %xmm0,%xmm4
+  DB  15,89,224                           ; mulps         %xmm0,%xmm4
+  DB  15,94,101,232                       ; divps         -0x18(%ebp),%xmm4
+  DB  15,88,224                           ; addps         %xmm0,%xmm4
+  DB  15,40,235                           ; movaps        %xmm3,%xmm5
+  DB  15,85,236                           ; andnps        %xmm4,%xmm5
+  DB  15,40,101,200                       ; movaps        -0x38(%ebp),%xmm4
+  DB  15,84,227                           ; andps         %xmm3,%xmm4
+  DB  15,86,229                           ; orps          %xmm5,%xmm4
+  DB  15,40,234                           ; movaps        %xmm2,%xmm5
+  DB  15,85,236                           ; andnps        %xmm4,%xmm5
+  DB  15,92,224                           ; subps         %xmm0,%xmm4
+  DB  15,89,231                           ; mulps         %xmm7,%xmm4
+  DB  15,94,230                           ; divps         %xmm6,%xmm4
+  DB  15,88,224                           ; addps         %xmm0,%xmm4
+  DB  15,84,226                           ; andps         %xmm2,%xmm4
+  DB  15,86,229                           ; orps          %xmm5,%xmm4
+  DB  15,40,236                           ; movaps        %xmm4,%xmm5
+  DB  15,40,225                           ; movaps        %xmm1,%xmm4
+  DB  15,92,224                           ; subps         %xmm0,%xmm4
+  DB  15,89,224                           ; mulps         %xmm0,%xmm4
+  DB  15,94,101,232                       ; divps         -0x18(%ebp),%xmm4
+  DB  15,88,224                           ; addps         %xmm0,%xmm4
+  DB  15,84,203                           ; andps         %xmm3,%xmm1
+  DB  15,85,220                           ; andnps        %xmm4,%xmm3
+  DB  15,86,217                           ; orps          %xmm1,%xmm3
+  DB  15,40,202                           ; movaps        %xmm2,%xmm1
+  DB  15,85,203                           ; andnps        %xmm3,%xmm1
+  DB  15,92,216                           ; subps         %xmm0,%xmm3
+  DB  15,89,223                           ; mulps         %xmm7,%xmm3
+  DB  15,94,222                           ; divps         %xmm6,%xmm3
+  DB  15,88,216                           ; addps         %xmm0,%xmm3
+  DB  15,84,218                           ; andps         %xmm2,%xmm3
+  DB  15,86,217                           ; orps          %xmm1,%xmm3
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  15,40,77,168                        ; movaps        -0x58(%ebp),%xmm1
+  DB  15,95,200                           ; maxps         %xmm0,%xmm1
+  DB  15,95,232                           ; maxps         %xmm0,%xmm5
+  DB  15,95,216                           ; maxps         %xmm0,%xmm3
+  DB  15,40,165,104,255,255,255           ; movaps        -0x98(%ebp),%xmm4
+  DB  15,92,101,152                       ; subps         -0x68(%ebp),%xmm4
+  DB  15,40,133,72,255,255,255            ; movaps        -0xb8(%ebp),%xmm0
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  15,88,69,184                        ; addps         -0x48(%ebp),%xmm0
+  DB  15,88,193                           ; addps         %xmm1,%xmm0
+  DB  15,40,141,56,255,255,255            ; movaps        -0xc8(%ebp),%xmm1
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  15,88,77,136                        ; addps         -0x78(%ebp),%xmm1
+  DB  15,88,205                           ; addps         %xmm5,%xmm1
+  DB  15,89,165,40,255,255,255            ; mulps         -0xd8(%ebp),%xmm4
+  DB  15,40,149,120,255,255,255           ; movaps        -0x88(%ebp),%xmm2
+  DB  15,88,212                           ; addps         %xmm4,%xmm2
+  DB  15,88,211                           ; addps         %xmm3,%xmm2
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  141,81,4                            ; lea           0x4(%ecx),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,93,216                        ; movaps        -0x28(%ebp),%xmm3
+  DB  82                                  ; push          %edx
+  DB  80                                  ; push          %eax
+  DB  255,17                              ; call          *(%ecx)
+  DB  129,196,232,0,0,0                   ; add           $0xe8,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_color_sse2
+_sk_color_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  129,236,200,0,0,0                   ; sub           $0xc8,%esp
+  DB  15,41,93,200                        ; movaps        %xmm3,-0x38(%ebp)
+  DB  15,41,85,152                        ; movaps        %xmm2,-0x68(%ebp)
+  DB  15,40,225                           ; movaps        %xmm1,%xmm4
+  DB  15,41,165,104,255,255,255           ; movaps        %xmm4,-0x98(%ebp)
+  DB  15,40,232                           ; movaps        %xmm0,%xmm5
+  DB  15,41,173,120,255,255,255           ; movaps        %xmm5,-0x88(%ebp)
+  DB  232,0,0,0,0                         ; call          17d2 <_sk_color_sse2+0x2a>
+  DB  89                                  ; pop           %ecx
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  15,40,80,16                         ; movaps        0x10(%eax),%xmm2
+  DB  15,40,72,32                         ; movaps        0x20(%eax),%xmm1
+  DB  15,40,177,46,240,0,0                ; movaps        0xf02e(%ecx),%xmm6
+  DB  15,41,117,216                       ; movaps        %xmm6,-0x28(%ebp)
+  DB  15,40,194                           ; movaps        %xmm2,%xmm0
+  DB  15,89,198                           ; mulps         %xmm6,%xmm0
+  DB  15,40,153,62,240,0,0                ; movaps        0xf03e(%ecx),%xmm3
+  DB  15,41,93,184                        ; movaps        %xmm3,-0x48(%ebp)
+  DB  15,40,241                           ; movaps        %xmm1,%xmm6
+  DB  15,89,243                           ; mulps         %xmm3,%xmm6
+  DB  15,88,240                           ; addps         %xmm0,%xmm6
+  DB  15,40,129,158,239,0,0               ; movaps        0xef9e(%ecx),%xmm0
+  DB  15,41,69,168                        ; movaps        %xmm0,-0x58(%ebp)
+  DB  15,92,69,200                        ; subps         -0x38(%ebp),%xmm0
+  DB  15,89,208                           ; mulps         %xmm0,%xmm2
+  DB  15,41,149,56,255,255,255            ; movaps        %xmm2,-0xc8(%ebp)
+  DB  15,89,200                           ; mulps         %xmm0,%xmm1
+  DB  15,41,141,88,255,255,255            ; movaps        %xmm1,-0xa8(%ebp)
+  DB  15,40,80,48                         ; movaps        0x30(%eax),%xmm2
+  DB  15,89,194                           ; mulps         %xmm2,%xmm0
+  DB  15,41,133,72,255,255,255            ; movaps        %xmm0,-0xb8(%ebp)
+  DB  15,40,137,78,240,0,0                ; movaps        0xf04e(%ecx),%xmm1
+  DB  15,89,209                           ; mulps         %xmm1,%xmm2
+  DB  15,88,214                           ; addps         %xmm6,%xmm2
+  DB  15,40,88,64                         ; movaps        0x40(%eax),%xmm3
+  DB  15,40,195                           ; movaps        %xmm3,%xmm0
+  DB  15,89,197                           ; mulps         %xmm5,%xmm0
+  DB  15,40,243                           ; movaps        %xmm3,%xmm6
+  DB  15,89,244                           ; mulps         %xmm4,%xmm6
+  DB  15,40,232                           ; movaps        %xmm0,%xmm5
+  DB  15,89,109,216                       ; mulps         -0x28(%ebp),%xmm5
+  DB  15,40,254                           ; movaps        %xmm6,%xmm7
+  DB  15,89,125,184                       ; mulps         -0x48(%ebp),%xmm7
+  DB  15,88,253                           ; addps         %xmm5,%xmm7
+  DB  15,40,109,168                       ; movaps        -0x58(%ebp),%xmm5
+  DB  15,92,235                           ; subps         %xmm3,%xmm5
+  DB  15,41,109,168                       ; movaps        %xmm5,-0x58(%ebp)
+  DB  15,40,109,200                       ; movaps        -0x38(%ebp),%xmm5
+  DB  15,89,213                           ; mulps         %xmm5,%xmm2
+  DB  15,41,93,232                        ; movaps        %xmm3,-0x18(%ebp)
+  DB  15,40,101,232                       ; movaps        -0x18(%ebp),%xmm4
+  DB  15,89,229                           ; mulps         %xmm5,%xmm4
+  DB  15,41,101,232                       ; movaps        %xmm4,-0x18(%ebp)
+  DB  15,88,235                           ; addps         %xmm3,%xmm5
+  DB  15,41,109,200                       ; movaps        %xmm5,-0x38(%ebp)
+  DB  15,40,235                           ; movaps        %xmm3,%xmm5
+  DB  15,89,109,152                       ; mulps         -0x68(%ebp),%xmm5
+  DB  15,40,221                           ; movaps        %xmm5,%xmm3
+  DB  15,89,217                           ; mulps         %xmm1,%xmm3
+  DB  15,88,223                           ; addps         %xmm7,%xmm3
+  DB  15,92,211                           ; subps         %xmm3,%xmm2
+  DB  15,88,194                           ; addps         %xmm2,%xmm0
+  DB  15,88,242                           ; addps         %xmm2,%xmm6
+  DB  15,88,213                           ; addps         %xmm5,%xmm2
+  DB  15,40,222                           ; movaps        %xmm6,%xmm3
+  DB  15,93,218                           ; minps         %xmm2,%xmm3
+  DB  15,40,224                           ; movaps        %xmm0,%xmm4
+  DB  15,93,227                           ; minps         %xmm3,%xmm4
+  DB  15,40,222                           ; movaps        %xmm6,%xmm3
+  DB  15,95,218                           ; maxps         %xmm2,%xmm3
+  DB  15,40,232                           ; movaps        %xmm0,%xmm5
+  DB  15,95,235                           ; maxps         %xmm3,%xmm5
+  DB  15,40,93,216                        ; movaps        -0x28(%ebp),%xmm3
+  DB  15,89,216                           ; mulps         %xmm0,%xmm3
+  DB  15,40,125,184                       ; movaps        -0x48(%ebp),%xmm7
+  DB  15,89,254                           ; mulps         %xmm6,%xmm7
+  DB  15,88,251                           ; addps         %xmm3,%xmm7
+  DB  15,89,202                           ; mulps         %xmm2,%xmm1
+  DB  15,88,207                           ; addps         %xmm7,%xmm1
+  DB  15,87,255                           ; xorps         %xmm7,%xmm7
+  DB  15,194,252,2                        ; cmpleps       %xmm4,%xmm7
+  DB  15,40,217                           ; movaps        %xmm1,%xmm3
+  DB  15,92,220                           ; subps         %xmm4,%xmm3
+  DB  15,41,93,184                        ; movaps        %xmm3,-0x48(%ebp)
+  DB  15,40,224                           ; movaps        %xmm0,%xmm4
+  DB  15,92,225                           ; subps         %xmm1,%xmm4
+  DB  15,89,225                           ; mulps         %xmm1,%xmm4
+  DB  15,94,227                           ; divps         %xmm3,%xmm4
+  DB  15,88,225                           ; addps         %xmm1,%xmm4
+  DB  15,40,223                           ; movaps        %xmm7,%xmm3
+  DB  15,85,220                           ; andnps        %xmm4,%xmm3
+  DB  15,84,199                           ; andps         %xmm7,%xmm0
+  DB  15,86,195                           ; orps          %xmm3,%xmm0
+  DB  15,40,93,200                        ; movaps        -0x38(%ebp),%xmm3
+  DB  15,40,101,232                       ; movaps        -0x18(%ebp),%xmm4
+  DB  15,92,220                           ; subps         %xmm4,%xmm3
+  DB  15,41,93,200                        ; movaps        %xmm3,-0x38(%ebp)
+  DB  15,41,101,216                       ; movaps        %xmm4,-0x28(%ebp)
+  DB  15,194,229,1                        ; cmpltps       %xmm5,%xmm4
+  DB  15,40,220                           ; movaps        %xmm4,%xmm3
+  DB  15,85,216                           ; andnps        %xmm0,%xmm3
+  DB  15,41,93,232                        ; movaps        %xmm3,-0x18(%ebp)
+  DB  15,92,193                           ; subps         %xmm1,%xmm0
+  DB  15,40,93,216                        ; movaps        -0x28(%ebp),%xmm3
+  DB  15,92,217                           ; subps         %xmm1,%xmm3
+  DB  15,41,93,216                        ; movaps        %xmm3,-0x28(%ebp)
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  15,92,233                           ; subps         %xmm1,%xmm5
+  DB  15,41,109,136                       ; movaps        %xmm5,-0x78(%ebp)
+  DB  15,94,197                           ; divps         %xmm5,%xmm0
+  DB  15,88,193                           ; addps         %xmm1,%xmm0
+  DB  15,84,196                           ; andps         %xmm4,%xmm0
+  DB  15,86,69,232                        ; orps          -0x18(%ebp),%xmm0
+  DB  15,40,222                           ; movaps        %xmm6,%xmm3
+  DB  15,92,217                           ; subps         %xmm1,%xmm3
+  DB  15,89,217                           ; mulps         %xmm1,%xmm3
+  DB  15,94,93,184                        ; divps         -0x48(%ebp),%xmm3
+  DB  15,88,217                           ; addps         %xmm1,%xmm3
+  DB  15,41,125,232                       ; movaps        %xmm7,-0x18(%ebp)
+  DB  15,40,109,232                       ; movaps        -0x18(%ebp),%xmm5
+  DB  15,85,235                           ; andnps        %xmm3,%xmm5
+  DB  15,41,109,232                       ; movaps        %xmm5,-0x18(%ebp)
+  DB  15,84,247                           ; andps         %xmm7,%xmm6
+  DB  15,86,117,232                       ; orps          -0x18(%ebp),%xmm6
+  DB  15,40,220                           ; movaps        %xmm4,%xmm3
+  DB  15,85,222                           ; andnps        %xmm6,%xmm3
+  DB  15,92,241                           ; subps         %xmm1,%xmm6
+  DB  15,89,117,216                       ; mulps         -0x28(%ebp),%xmm6
+  DB  15,40,109,136                       ; movaps        -0x78(%ebp),%xmm5
+  DB  15,94,245                           ; divps         %xmm5,%xmm6
+  DB  15,88,241                           ; addps         %xmm1,%xmm6
+  DB  15,84,244                           ; andps         %xmm4,%xmm6
+  DB  15,86,243                           ; orps          %xmm3,%xmm6
+  DB  15,40,218                           ; movaps        %xmm2,%xmm3
+  DB  15,92,217                           ; subps         %xmm1,%xmm3
+  DB  15,89,217                           ; mulps         %xmm1,%xmm3
+  DB  15,94,93,184                        ; divps         -0x48(%ebp),%xmm3
+  DB  15,88,217                           ; addps         %xmm1,%xmm3
+  DB  15,84,215                           ; andps         %xmm7,%xmm2
+  DB  15,85,251                           ; andnps        %xmm3,%xmm7
+  DB  15,86,250                           ; orps          %xmm2,%xmm7
+  DB  15,40,212                           ; movaps        %xmm4,%xmm2
+  DB  15,85,215                           ; andnps        %xmm7,%xmm2
+  DB  15,92,249                           ; subps         %xmm1,%xmm7
+  DB  15,89,125,216                       ; mulps         -0x28(%ebp),%xmm7
+  DB  15,94,253                           ; divps         %xmm5,%xmm7
+  DB  15,88,249                           ; addps         %xmm1,%xmm7
+  DB  15,84,252                           ; andps         %xmm4,%xmm7
+  DB  15,86,250                           ; orps          %xmm2,%xmm7
+  DB  15,87,201                           ; xorps         %xmm1,%xmm1
+  DB  15,95,193                           ; maxps         %xmm1,%xmm0
+  DB  15,95,241                           ; maxps         %xmm1,%xmm6
+  DB  15,95,249                           ; maxps         %xmm1,%xmm7
+  DB  15,40,141,120,255,255,255           ; movaps        -0x88(%ebp),%xmm1
+  DB  15,40,85,168                        ; movaps        -0x58(%ebp),%xmm2
+  DB  15,89,202                           ; mulps         %xmm2,%xmm1
+  DB  15,88,141,56,255,255,255            ; addps         -0xc8(%ebp),%xmm1
+  DB  15,88,200                           ; addps         %xmm0,%xmm1
+  DB  15,40,193                           ; movaps        %xmm1,%xmm0
+  DB  15,40,141,104,255,255,255           ; movaps        -0x98(%ebp),%xmm1
+  DB  15,89,202                           ; mulps         %xmm2,%xmm1
+  DB  15,40,218                           ; movaps        %xmm2,%xmm3
+  DB  15,88,141,88,255,255,255            ; addps         -0xa8(%ebp),%xmm1
+  DB  15,88,206                           ; addps         %xmm6,%xmm1
+  DB  15,40,85,152                        ; movaps        -0x68(%ebp),%xmm2
+  DB  15,89,211                           ; mulps         %xmm3,%xmm2
+  DB  15,88,149,72,255,255,255            ; addps         -0xb8(%ebp),%xmm2
+  DB  15,88,215                           ; addps         %xmm7,%xmm2
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  141,81,4                            ; lea           0x4(%ecx),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,93,200                        ; movaps        -0x38(%ebp),%xmm3
+  DB  82                                  ; push          %edx
+  DB  80                                  ; push          %eax
+  DB  255,17                              ; call          *(%ecx)
+  DB  129,196,216,0,0,0                   ; add           $0xd8,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_luminosity_sse2
+_sk_luminosity_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  129,236,184,0,0,0                   ; sub           $0xb8,%esp
+  DB  15,40,242                           ; movaps        %xmm2,%xmm6
+  DB  232,0,0,0,0                         ; call          1a35 <_sk_luminosity_sse2+0x11>
+  DB  89                                  ; pop           %ecx
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  15,40,161,203,237,0,0               ; movaps        0xedcb(%ecx),%xmm4
+  DB  15,41,101,232                       ; movaps        %xmm4,-0x18(%ebp)
+  DB  15,40,208                           ; movaps        %xmm0,%xmm2
+  DB  15,89,212                           ; mulps         %xmm4,%xmm2
+  DB  15,40,161,219,237,0,0               ; movaps        0xeddb(%ecx),%xmm4
+  DB  15,41,101,216                       ; movaps        %xmm4,-0x28(%ebp)
+  DB  15,40,233                           ; movaps        %xmm1,%xmm5
+  DB  15,89,236                           ; mulps         %xmm4,%xmm5
+  DB  15,88,234                           ; addps         %xmm2,%xmm5
+  DB  15,40,80,64                         ; movaps        0x40(%eax),%xmm2
+  DB  15,41,85,184                        ; movaps        %xmm2,-0x48(%ebp)
+  DB  15,40,161,59,237,0,0                ; movaps        0xed3b(%ecx),%xmm4
+  DB  15,40,252                           ; movaps        %xmm4,%xmm7
+  DB  15,92,250                           ; subps         %xmm2,%xmm7
+  DB  15,89,199                           ; mulps         %xmm7,%xmm0
+  DB  15,41,133,72,255,255,255            ; movaps        %xmm0,-0xb8(%ebp)
+  DB  15,89,207                           ; mulps         %xmm7,%xmm1
+  DB  15,41,141,88,255,255,255            ; movaps        %xmm1,-0xa8(%ebp)
+  DB  15,89,254                           ; mulps         %xmm6,%xmm7
+  DB  15,41,189,104,255,255,255           ; movaps        %xmm7,-0x98(%ebp)
+  DB  15,40,214                           ; movaps        %xmm6,%xmm2
+  DB  15,40,137,235,237,0,0               ; movaps        0xedeb(%ecx),%xmm1
+  DB  15,89,209                           ; mulps         %xmm1,%xmm2
+  DB  15,88,213                           ; addps         %xmm5,%xmm2
+  DB  15,40,104,16                        ; movaps        0x10(%eax),%xmm5
+  DB  15,41,109,136                       ; movaps        %xmm5,-0x78(%ebp)
+  DB  15,89,235                           ; mulps         %xmm3,%xmm5
+  DB  15,40,112,32                        ; movaps        0x20(%eax),%xmm6
+  DB  15,41,117,152                       ; movaps        %xmm6,-0x68(%ebp)
+  DB  15,89,243                           ; mulps         %xmm3,%xmm6
+  DB  15,40,197                           ; movaps        %xmm5,%xmm0
+  DB  15,89,69,232                        ; mulps         -0x18(%ebp),%xmm0
+  DB  15,40,254                           ; movaps        %xmm6,%xmm7
+  DB  15,89,125,216                       ; mulps         -0x28(%ebp),%xmm7
+  DB  15,88,248                           ; addps         %xmm0,%xmm7
+  DB  15,92,227                           ; subps         %xmm3,%xmm4
+  DB  15,41,93,168                        ; movaps        %xmm3,-0x58(%ebp)
+  DB  15,40,69,136                        ; movaps        -0x78(%ebp),%xmm0
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  15,41,69,136                        ; movaps        %xmm0,-0x78(%ebp)
+  DB  15,40,69,152                        ; movaps        -0x68(%ebp),%xmm0
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  15,41,69,152                        ; movaps        %xmm0,-0x68(%ebp)
+  DB  15,40,64,48                         ; movaps        0x30(%eax),%xmm0
+  DB  15,89,224                           ; mulps         %xmm0,%xmm4
+  DB  15,41,165,120,255,255,255           ; movaps        %xmm4,-0x88(%ebp)
+  DB  15,40,224                           ; movaps        %xmm0,%xmm4
+  DB  15,89,227                           ; mulps         %xmm3,%xmm4
+  DB  15,40,196                           ; movaps        %xmm4,%xmm0
+  DB  15,89,193                           ; mulps         %xmm1,%xmm0
+  DB  15,88,199                           ; addps         %xmm7,%xmm0
+  DB  15,40,93,184                        ; movaps        -0x48(%ebp),%xmm3
+  DB  15,89,211                           ; mulps         %xmm3,%xmm2
+  DB  15,92,208                           ; subps         %xmm0,%xmm2
+  DB  15,88,234                           ; addps         %xmm2,%xmm5
+  DB  15,88,242                           ; addps         %xmm2,%xmm6
+  DB  15,88,212                           ; addps         %xmm4,%xmm2
+  DB  15,40,198                           ; movaps        %xmm6,%xmm0
+  DB  15,93,194                           ; minps         %xmm2,%xmm0
+  DB  15,40,229                           ; movaps        %xmm5,%xmm4
+  DB  15,93,224                           ; minps         %xmm0,%xmm4
+  DB  15,40,198                           ; movaps        %xmm6,%xmm0
+  DB  15,95,194                           ; maxps         %xmm2,%xmm0
+  DB  15,40,253                           ; movaps        %xmm5,%xmm7
+  DB  15,95,248                           ; maxps         %xmm0,%xmm7
+  DB  15,41,125,200                       ; movaps        %xmm7,-0x38(%ebp)
+  DB  15,40,69,232                        ; movaps        -0x18(%ebp),%xmm0
+  DB  15,89,197                           ; mulps         %xmm5,%xmm0
+  DB  15,40,125,216                       ; movaps        -0x28(%ebp),%xmm7
+  DB  15,89,254                           ; mulps         %xmm6,%xmm7
+  DB  15,88,248                           ; addps         %xmm0,%xmm7
+  DB  15,89,202                           ; mulps         %xmm2,%xmm1
+  DB  15,88,207                           ; addps         %xmm7,%xmm1
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  15,194,196,2                        ; cmpleps       %xmm4,%xmm0
+  DB  15,40,249                           ; movaps        %xmm1,%xmm7
+  DB  15,92,252                           ; subps         %xmm4,%xmm7
+  DB  15,41,125,216                       ; movaps        %xmm7,-0x28(%ebp)
+  DB  15,40,229                           ; movaps        %xmm5,%xmm4
+  DB  15,92,225                           ; subps         %xmm1,%xmm4
+  DB  15,89,225                           ; mulps         %xmm1,%xmm4
+  DB  15,94,231                           ; divps         %xmm7,%xmm4
+  DB  15,88,225                           ; addps         %xmm1,%xmm4
+  DB  15,40,248                           ; movaps        %xmm0,%xmm7
+  DB  15,85,252                           ; andnps        %xmm4,%xmm7
+  DB  15,84,232                           ; andps         %xmm0,%xmm5
+  DB  15,86,239                           ; orps          %xmm7,%xmm5
+  DB  15,40,251                           ; movaps        %xmm3,%xmm7
+  DB  15,40,231                           ; movaps        %xmm7,%xmm4
+  DB  15,40,93,168                        ; movaps        -0x58(%ebp),%xmm3
+  DB  15,89,227                           ; mulps         %xmm3,%xmm4
+  DB  15,88,223                           ; addps         %xmm7,%xmm3
+  DB  15,92,220                           ; subps         %xmm4,%xmm3
+  DB  15,41,93,168                        ; movaps        %xmm3,-0x58(%ebp)
+  DB  15,41,101,232                       ; movaps        %xmm4,-0x18(%ebp)
+  DB  15,40,220                           ; movaps        %xmm4,%xmm3
+  DB  15,40,125,200                       ; movaps        -0x38(%ebp),%xmm7
+  DB  15,194,223,1                        ; cmpltps       %xmm7,%xmm3
+  DB  15,40,227                           ; movaps        %xmm3,%xmm4
+  DB  15,85,229                           ; andnps        %xmm5,%xmm4
+  DB  15,41,101,184                       ; movaps        %xmm4,-0x48(%ebp)
+  DB  15,92,233                           ; subps         %xmm1,%xmm5
+  DB  15,40,101,232                       ; movaps        -0x18(%ebp),%xmm4
+  DB  15,92,225                           ; subps         %xmm1,%xmm4
+  DB  15,41,101,232                       ; movaps        %xmm4,-0x18(%ebp)
+  DB  15,89,236                           ; mulps         %xmm4,%xmm5
+  DB  15,92,249                           ; subps         %xmm1,%xmm7
+  DB  15,41,125,200                       ; movaps        %xmm7,-0x38(%ebp)
+  DB  15,94,239                           ; divps         %xmm7,%xmm5
+  DB  15,88,233                           ; addps         %xmm1,%xmm5
+  DB  15,84,235                           ; andps         %xmm3,%xmm5
+  DB  15,86,109,184                       ; orps          -0x48(%ebp),%xmm5
+  DB  15,40,230                           ; movaps        %xmm6,%xmm4
+  DB  15,92,225                           ; subps         %xmm1,%xmm4
+  DB  15,89,225                           ; mulps         %xmm1,%xmm4
+  DB  15,94,101,216                       ; divps         -0x28(%ebp),%xmm4
+  DB  15,88,225                           ; addps         %xmm1,%xmm4
+  DB  15,40,248                           ; movaps        %xmm0,%xmm7
+  DB  15,85,252                           ; andnps        %xmm4,%xmm7
+  DB  15,84,240                           ; andps         %xmm0,%xmm6
+  DB  15,86,247                           ; orps          %xmm7,%xmm6
+  DB  15,40,227                           ; movaps        %xmm3,%xmm4
+  DB  15,85,230                           ; andnps        %xmm6,%xmm4
+  DB  15,92,241                           ; subps         %xmm1,%xmm6
+  DB  15,40,125,232                       ; movaps        -0x18(%ebp),%xmm7
+  DB  15,89,247                           ; mulps         %xmm7,%xmm6
+  DB  15,94,117,200                       ; divps         -0x38(%ebp),%xmm6
+  DB  15,88,241                           ; addps         %xmm1,%xmm6
+  DB  15,84,243                           ; andps         %xmm3,%xmm6
+  DB  15,86,244                           ; orps          %xmm4,%xmm6
+  DB  15,40,226                           ; movaps        %xmm2,%xmm4
+  DB  15,92,225                           ; subps         %xmm1,%xmm4
+  DB  15,89,225                           ; mulps         %xmm1,%xmm4
+  DB  15,94,101,216                       ; divps         -0x28(%ebp),%xmm4
+  DB  15,88,225                           ; addps         %xmm1,%xmm4
+  DB  15,84,208                           ; andps         %xmm0,%xmm2
+  DB  15,85,196                           ; andnps        %xmm4,%xmm0
+  DB  15,86,194                           ; orps          %xmm2,%xmm0
+  DB  15,40,211                           ; movaps        %xmm3,%xmm2
+  DB  15,85,208                           ; andnps        %xmm0,%xmm2
+  DB  15,92,193                           ; subps         %xmm1,%xmm0
+  DB  15,89,199                           ; mulps         %xmm7,%xmm0
+  DB  15,94,69,200                        ; divps         -0x38(%ebp),%xmm0
+  DB  15,88,193                           ; addps         %xmm1,%xmm0
+  DB  15,84,195                           ; andps         %xmm3,%xmm0
+  DB  15,86,194                           ; orps          %xmm2,%xmm0
+  DB  15,87,201                           ; xorps         %xmm1,%xmm1
+  DB  15,95,233                           ; maxps         %xmm1,%xmm5
+  DB  15,95,241                           ; maxps         %xmm1,%xmm6
+  DB  15,95,193                           ; maxps         %xmm1,%xmm0
+  DB  15,40,157,72,255,255,255            ; movaps        -0xb8(%ebp),%xmm3
+  DB  15,88,93,136                        ; addps         -0x78(%ebp),%xmm3
+  DB  15,88,221                           ; addps         %xmm5,%xmm3
+  DB  15,40,141,88,255,255,255            ; movaps        -0xa8(%ebp),%xmm1
+  DB  15,88,77,152                        ; addps         -0x68(%ebp),%xmm1
+  DB  15,88,206                           ; addps         %xmm6,%xmm1
+  DB  15,40,149,120,255,255,255           ; movaps        -0x88(%ebp),%xmm2
+  DB  15,88,149,104,255,255,255           ; addps         -0x98(%ebp),%xmm2
+  DB  15,88,208                           ; addps         %xmm0,%xmm2
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  141,81,4                            ; lea           0x4(%ecx),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,195                           ; movaps        %xmm3,%xmm0
+  DB  15,40,93,168                        ; movaps        -0x58(%ebp),%xmm3
+  DB  82                                  ; push          %edx
+  DB  80                                  ; push          %eax
+  DB  255,17                              ; call          *(%ecx)
+  DB  129,196,200,0,0,0                   ; add           $0xc8,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_srcover_rgba_8888_sse2
+_sk_srcover_rgba_8888_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,44                          ; sub           $0x2c,%esp
+  DB  15,41,85,200                        ; movaps        %xmm2,-0x38(%ebp)
+  DB  102,15,127,77,216                   ; movdqa        %xmm1,-0x28(%ebp)
+  DB  102,15,111,232                      ; movdqa        %xmm0,%xmm5
+  DB  232,0,0,0,0                         ; call          1ca4 <_sk_srcover_rgba_8888_sse2+0x1b>
+  DB  95                                  ; pop           %edi
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,48                              ; mov           (%eax),%esi
+  DB  139,86,4                            ; mov           0x4(%esi),%edx
+  DB  15,175,81,4                         ; imul          0x4(%ecx),%edx
+  DB  193,226,2                           ; shl           $0x2,%edx
+  DB  3,22                                ; add           (%esi),%edx
+  DB  139,89,8                            ; mov           0x8(%ecx),%ebx
+  DB  133,219                             ; test          %ebx,%ebx
+  DB  139,49                              ; mov           (%ecx),%esi
+  DB  15,133,2,1,0,0                      ; jne           1dc8 <_sk_srcover_rgba_8888_sse2+0x13f>
+  DB  243,15,111,12,178                   ; movdqu        (%edx,%esi,4),%xmm1
+  DB  102,15,111,135,140,235,0,0          ; movdqa        0xeb8c(%edi),%xmm0
+  DB  102,15,111,209                      ; movdqa        %xmm1,%xmm2
+  DB  102,15,219,208                      ; pand          %xmm0,%xmm2
+  DB  102,15,111,241                      ; movdqa        %xmm1,%xmm6
+  DB  102,15,114,214,8                    ; psrld         $0x8,%xmm6
+  DB  102,15,219,240                      ; pand          %xmm0,%xmm6
+  DB  102,15,111,249                      ; movdqa        %xmm1,%xmm7
+  DB  102,15,114,215,16                   ; psrld         $0x10,%xmm7
+  DB  102,15,219,248                      ; pand          %xmm0,%xmm7
+  DB  15,91,194                           ; cvtdq2ps      %xmm2,%xmm0
+  DB  15,41,65,16                         ; movaps        %xmm0,0x10(%ecx)
+  DB  15,40,167,204,234,0,0               ; movaps        0xeacc(%edi),%xmm4
+  DB  15,92,227                           ; subps         %xmm3,%xmm4
+  DB  15,40,151,156,235,0,0               ; movaps        0xeb9c(%edi),%xmm2
+  DB  15,89,234                           ; mulps         %xmm2,%xmm5
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  15,88,197                           ; addps         %xmm5,%xmm0
+  DB  15,91,238                           ; cvtdq2ps      %xmm6,%xmm5
+  DB  15,41,105,32                        ; movaps        %xmm5,0x20(%ecx)
+  DB  15,40,117,216                       ; movaps        -0x28(%ebp),%xmm6
+  DB  15,89,242                           ; mulps         %xmm2,%xmm6
+  DB  15,89,236                           ; mulps         %xmm4,%xmm5
+  DB  15,88,238                           ; addps         %xmm6,%xmm5
+  DB  15,91,247                           ; cvtdq2ps      %xmm7,%xmm6
+  DB  15,41,113,48                        ; movaps        %xmm6,0x30(%ecx)
+  DB  15,40,125,200                       ; movaps        -0x38(%ebp),%xmm7
+  DB  15,89,250                           ; mulps         %xmm2,%xmm7
+  DB  15,89,244                           ; mulps         %xmm4,%xmm6
+  DB  15,88,247                           ; addps         %xmm7,%xmm6
+  DB  15,87,255                           ; xorps         %xmm7,%xmm7
+  DB  102,15,114,209,24                   ; psrld         $0x18,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  15,41,73,64                         ; movaps        %xmm1,0x40(%ecx)
+  DB  15,89,218                           ; mulps         %xmm2,%xmm3
+  DB  15,89,225                           ; mulps         %xmm1,%xmm4
+  DB  15,88,227                           ; addps         %xmm3,%xmm4
+  DB  15,87,201                           ; xorps         %xmm1,%xmm1
+  DB  15,95,200                           ; maxps         %xmm0,%xmm1
+  DB  15,93,202                           ; minps         %xmm2,%xmm1
+  DB  102,15,91,201                       ; cvtps2dq      %xmm1,%xmm1
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  15,95,221                           ; maxps         %xmm5,%xmm3
+  DB  15,93,218                           ; minps         %xmm2,%xmm3
+  DB  102,15,91,219                       ; cvtps2dq      %xmm3,%xmm3
+  DB  102,15,114,243,8                    ; pslld         $0x8,%xmm3
+  DB  102,15,235,217                      ; por           %xmm1,%xmm3
+  DB  102,15,87,201                       ; xorpd         %xmm1,%xmm1
+  DB  15,95,206                           ; maxps         %xmm6,%xmm1
+  DB  15,93,202                           ; minps         %xmm2,%xmm1
+  DB  15,95,252                           ; maxps         %xmm4,%xmm7
+  DB  15,93,250                           ; minps         %xmm2,%xmm7
+  DB  102,15,91,209                       ; cvtps2dq      %xmm1,%xmm2
+  DB  102,15,114,242,16                   ; pslld         $0x10,%xmm2
+  DB  102,15,91,207                       ; cvtps2dq      %xmm7,%xmm1
+  DB  102,15,114,241,24                   ; pslld         $0x18,%xmm1
+  DB  102,15,235,202                      ; por           %xmm2,%xmm1
+  DB  102,15,235,203                      ; por           %xmm3,%xmm1
+  DB  133,219                             ; test          %ebx,%ebx
+  DB  117,92                              ; jne           1e03 <_sk_srcover_rgba_8888_sse2+0x17a>
+  DB  243,15,127,12,178                   ; movdqu        %xmm1,(%edx,%esi,4)
+  DB  141,80,8                            ; lea           0x8(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,205                           ; movaps        %xmm5,%xmm1
+  DB  15,40,214                           ; movaps        %xmm6,%xmm2
+  DB  15,40,220                           ; movaps        %xmm4,%xmm3
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,60                          ; add           $0x3c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  137,216                             ; mov           %ebx,%eax
+  DB  136,69,243                          ; mov           %al,-0xd(%ebp)
+  DB  128,101,243,3                       ; andb          $0x3,-0xd(%ebp)
+  DB  128,125,243,1                       ; cmpb          $0x1,-0xd(%ebp)
+  DB  116,80                              ; je            1e27 <_sk_srcover_rgba_8888_sse2+0x19e>
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  128,125,243,2                       ; cmpb          $0x2,-0xd(%ebp)
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  116,21                              ; je            1df9 <_sk_srcover_rgba_8888_sse2+0x170>
+  DB  128,125,243,3                       ; cmpb          $0x3,-0xd(%ebp)
+  DB  15,133,221,254,255,255              ; jne           1ccb <_sk_srcover_rgba_8888_sse2+0x42>
+  DB  102,15,110,68,178,8                 ; movd          0x8(%edx,%esi,4),%xmm0
+  DB  102,15,112,200,69                   ; pshufd        $0x45,%xmm0,%xmm1
+  DB  102,15,18,12,178                    ; movlpd        (%edx,%esi,4),%xmm1
+  DB  233,200,254,255,255                 ; jmp           1ccb <_sk_srcover_rgba_8888_sse2+0x42>
+  DB  128,227,3                           ; and           $0x3,%bl
+  DB  128,251,1                           ; cmp           $0x1,%bl
+  DB  116,41                              ; je            1e34 <_sk_srcover_rgba_8888_sse2+0x1ab>
+  DB  128,251,2                           ; cmp           $0x2,%bl
+  DB  116,16                              ; je            1e20 <_sk_srcover_rgba_8888_sse2+0x197>
+  DB  128,251,3                           ; cmp           $0x3,%bl
+  DB  117,151                             ; jne           1dac <_sk_srcover_rgba_8888_sse2+0x123>
+  DB  102,15,112,209,78                   ; pshufd        $0x4e,%xmm1,%xmm2
+  DB  102,15,126,84,178,8                 ; movd          %xmm2,0x8(%edx,%esi,4)
+  DB  102,15,214,12,178                   ; movq          %xmm1,(%edx,%esi,4)
+  DB  235,133                             ; jmp           1dac <_sk_srcover_rgba_8888_sse2+0x123>
+  DB  102,15,110,12,178                   ; movd          (%edx,%esi,4),%xmm1
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  233,151,254,255,255                 ; jmp           1ccb <_sk_srcover_rgba_8888_sse2+0x42>
+  DB  102,15,126,12,178                   ; movd          %xmm1,(%edx,%esi,4)
+  DB  233,110,255,255,255                 ; jmp           1dac <_sk_srcover_rgba_8888_sse2+0x123>
+
+PUBLIC _sk_srcover_bgra_8888_sse2
+_sk_srcover_bgra_8888_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,44                          ; sub           $0x2c,%esp
+  DB  15,41,85,200                        ; movaps        %xmm2,-0x38(%ebp)
+  DB  15,41,77,216                        ; movaps        %xmm1,-0x28(%ebp)
+  DB  102,15,111,248                      ; movdqa        %xmm0,%xmm7
+  DB  232,0,0,0,0                         ; call          1e58 <_sk_srcover_bgra_8888_sse2+0x1a>
+  DB  95                                  ; pop           %edi
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,48                              ; mov           (%eax),%esi
+  DB  139,86,4                            ; mov           0x4(%esi),%edx
+  DB  15,175,81,4                         ; imul          0x4(%ecx),%edx
+  DB  193,226,2                           ; shl           $0x2,%edx
+  DB  3,22                                ; add           (%esi),%edx
+  DB  139,89,8                            ; mov           0x8(%ecx),%ebx
+  DB  133,219                             ; test          %ebx,%ebx
+  DB  139,49                              ; mov           (%ecx),%esi
+  DB  15,133,252,0,0,0                    ; jne           1f76 <_sk_srcover_bgra_8888_sse2+0x138>
+  DB  243,15,111,36,178                   ; movdqu        (%edx,%esi,4),%xmm4
+  DB  102,15,111,135,216,233,0,0          ; movdqa        0xe9d8(%edi),%xmm0
+  DB  102,15,111,204                      ; movdqa        %xmm4,%xmm1
+  DB  102,15,219,200                      ; pand          %xmm0,%xmm1
+  DB  102,15,111,236                      ; movdqa        %xmm4,%xmm5
+  DB  102,15,114,213,8                    ; psrld         $0x8,%xmm5
+  DB  102,15,219,232                      ; pand          %xmm0,%xmm5
+  DB  102,15,111,244                      ; movdqa        %xmm4,%xmm6
+  DB  102,15,114,214,16                   ; psrld         $0x10,%xmm6
+  DB  102,15,219,240                      ; pand          %xmm0,%xmm6
+  DB  15,91,209                           ; cvtdq2ps      %xmm1,%xmm2
+  DB  15,41,81,48                         ; movaps        %xmm2,0x30(%ecx)
+  DB  15,91,205                           ; cvtdq2ps      %xmm5,%xmm1
+  DB  15,41,73,32                         ; movaps        %xmm1,0x20(%ecx)
+  DB  15,91,198                           ; cvtdq2ps      %xmm6,%xmm0
+  DB  15,41,65,16                         ; movaps        %xmm0,0x10(%ecx)
+  DB  15,40,175,24,233,0,0                ; movaps        0xe918(%edi),%xmm5
+  DB  15,92,235                           ; subps         %xmm3,%xmm5
+  DB  15,40,183,232,233,0,0               ; movaps        0xe9e8(%edi),%xmm6
+  DB  15,89,254                           ; mulps         %xmm6,%xmm7
+  DB  15,89,197                           ; mulps         %xmm5,%xmm0
+  DB  15,88,199                           ; addps         %xmm7,%xmm0
+  DB  15,40,125,216                       ; movaps        -0x28(%ebp),%xmm7
+  DB  15,89,254                           ; mulps         %xmm6,%xmm7
+  DB  15,89,205                           ; mulps         %xmm5,%xmm1
+  DB  15,88,207                           ; addps         %xmm7,%xmm1
+  DB  15,40,125,200                       ; movaps        -0x38(%ebp),%xmm7
+  DB  15,89,254                           ; mulps         %xmm6,%xmm7
+  DB  15,89,213                           ; mulps         %xmm5,%xmm2
+  DB  15,88,215                           ; addps         %xmm7,%xmm2
+  DB  15,87,255                           ; xorps         %xmm7,%xmm7
+  DB  102,15,114,212,24                   ; psrld         $0x18,%xmm4
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  15,41,97,64                         ; movaps        %xmm4,0x40(%ecx)
+  DB  15,89,222                           ; mulps         %xmm6,%xmm3
+  DB  15,89,236                           ; mulps         %xmm4,%xmm5
+  DB  15,88,235                           ; addps         %xmm3,%xmm5
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  15,95,218                           ; maxps         %xmm2,%xmm3
+  DB  15,93,222                           ; minps         %xmm6,%xmm3
+  DB  102,15,91,219                       ; cvtps2dq      %xmm3,%xmm3
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,95,225                           ; maxps         %xmm1,%xmm4
+  DB  15,93,230                           ; minps         %xmm6,%xmm4
+  DB  102,15,91,228                       ; cvtps2dq      %xmm4,%xmm4
+  DB  102,15,114,244,8                    ; pslld         $0x8,%xmm4
+  DB  102,15,235,227                      ; por           %xmm3,%xmm4
+  DB  102,15,87,219                       ; xorpd         %xmm3,%xmm3
+  DB  15,95,216                           ; maxps         %xmm0,%xmm3
+  DB  15,93,222                           ; minps         %xmm6,%xmm3
+  DB  15,95,253                           ; maxps         %xmm5,%xmm7
+  DB  15,93,254                           ; minps         %xmm6,%xmm7
+  DB  102,15,91,243                       ; cvtps2dq      %xmm3,%xmm6
+  DB  102,15,114,246,16                   ; pslld         $0x10,%xmm6
+  DB  102,15,91,223                       ; cvtps2dq      %xmm7,%xmm3
+  DB  102,15,114,243,24                   ; pslld         $0x18,%xmm3
+  DB  102,15,235,222                      ; por           %xmm6,%xmm3
+  DB  102,15,235,220                      ; por           %xmm4,%xmm3
+  DB  133,219                             ; test          %ebx,%ebx
+  DB  117,86                              ; jne           1fb1 <_sk_srcover_bgra_8888_sse2+0x173>
+  DB  243,15,127,28,178                   ; movdqu        %xmm3,(%edx,%esi,4)
+  DB  141,80,8                            ; lea           0x8(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,221                           ; movaps        %xmm5,%xmm3
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,60                          ; add           $0x3c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  137,216                             ; mov           %ebx,%eax
+  DB  136,69,243                          ; mov           %al,-0xd(%ebp)
+  DB  128,101,243,3                       ; andb          $0x3,-0xd(%ebp)
+  DB  128,125,243,1                       ; cmpb          $0x1,-0xd(%ebp)
+  DB  116,80                              ; je            1fd5 <_sk_srcover_bgra_8888_sse2+0x197>
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  128,125,243,2                       ; cmpb          $0x2,-0xd(%ebp)
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  116,21                              ; je            1fa7 <_sk_srcover_bgra_8888_sse2+0x169>
+  DB  128,125,243,3                       ; cmpb          $0x3,-0xd(%ebp)
+  DB  15,133,227,254,255,255              ; jne           1e7f <_sk_srcover_bgra_8888_sse2+0x41>
+  DB  102,15,110,68,178,8                 ; movd          0x8(%edx,%esi,4),%xmm0
+  DB  102,15,112,224,69                   ; pshufd        $0x45,%xmm0,%xmm4
+  DB  102,15,18,36,178                    ; movlpd        (%edx,%esi,4),%xmm4
+  DB  233,206,254,255,255                 ; jmp           1e7f <_sk_srcover_bgra_8888_sse2+0x41>
+  DB  128,227,3                           ; and           $0x3,%bl
+  DB  128,251,1                           ; cmp           $0x1,%bl
+  DB  116,41                              ; je            1fe2 <_sk_srcover_bgra_8888_sse2+0x1a4>
+  DB  128,251,2                           ; cmp           $0x2,%bl
+  DB  116,16                              ; je            1fce <_sk_srcover_bgra_8888_sse2+0x190>
+  DB  128,251,3                           ; cmp           $0x3,%bl
+  DB  117,157                             ; jne           1f60 <_sk_srcover_bgra_8888_sse2+0x122>
+  DB  102,15,112,227,78                   ; pshufd        $0x4e,%xmm3,%xmm4
+  DB  102,15,126,100,178,8                ; movd          %xmm4,0x8(%edx,%esi,4)
+  DB  102,15,214,28,178                   ; movq          %xmm3,(%edx,%esi,4)
+  DB  235,139                             ; jmp           1f60 <_sk_srcover_bgra_8888_sse2+0x122>
+  DB  102,15,110,36,178                   ; movd          (%edx,%esi,4),%xmm4
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  233,157,254,255,255                 ; jmp           1e7f <_sk_srcover_bgra_8888_sse2+0x41>
+  DB  102,15,126,28,178                   ; movd          %xmm3,(%edx,%esi,4)
+  DB  233,116,255,255,255                 ; jmp           1f60 <_sk_srcover_bgra_8888_sse2+0x122>
+
+PUBLIC _sk_clamp_0_sse2
+_sk_clamp_0_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,95,196                           ; maxps         %xmm4,%xmm0
+  DB  15,95,204                           ; maxps         %xmm4,%xmm1
+  DB  15,95,212                           ; maxps         %xmm4,%xmm2
+  DB  15,95,220                           ; maxps         %xmm4,%xmm3
+  DB  141,72,4                            ; lea           0x4(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,16                              ; call          *(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_clamp_1_sse2
+_sk_clamp_1_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  232,0,0,0,0                         ; call          2020 <_sk_clamp_1_sse2+0xb>
+  DB  88                                  ; pop           %eax
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  15,40,160,80,231,0,0                ; movaps        0xe750(%eax),%xmm4
+  DB  15,93,196                           ; minps         %xmm4,%xmm0
+  DB  15,93,204                           ; minps         %xmm4,%xmm1
+  DB  15,93,212                           ; minps         %xmm4,%xmm2
+  DB  15,93,220                           ; minps         %xmm4,%xmm3
+  DB  141,65,4                            ; lea           0x4(%ecx),%eax
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  80                                  ; push          %eax
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,17                              ; call          *(%ecx)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_clamp_a_sse2
+_sk_clamp_a_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  232,0,0,0,0                         ; call          2053 <_sk_clamp_a_sse2+0xb>
+  DB  88                                  ; pop           %eax
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  15,93,152,29,231,0,0                ; minps         0xe71d(%eax),%xmm3
+  DB  15,93,195                           ; minps         %xmm3,%xmm0
+  DB  15,93,203                           ; minps         %xmm3,%xmm1
+  DB  15,93,211                           ; minps         %xmm3,%xmm2
+  DB  141,65,4                            ; lea           0x4(%ecx),%eax
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  80                                  ; push          %eax
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,17                              ; call          *(%ecx)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_clamp_a_dst_sse2
+_sk_clamp_a_dst_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  232,0,0,0,0                         ; call          2083 <_sk_clamp_a_dst_sse2+0xb>
+  DB  88                                  ; pop           %eax
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  139,85,8                            ; mov           0x8(%ebp),%edx
+  DB  15,40,98,64                         ; movaps        0x40(%edx),%xmm4
+  DB  15,93,160,237,230,0,0               ; minps         0xe6ed(%eax),%xmm4
+  DB  15,41,98,64                         ; movaps        %xmm4,0x40(%edx)
+  DB  15,40,106,16                        ; movaps        0x10(%edx),%xmm5
+  DB  15,40,114,32                        ; movaps        0x20(%edx),%xmm6
+  DB  15,93,236                           ; minps         %xmm4,%xmm5
+  DB  15,41,106,16                        ; movaps        %xmm5,0x10(%edx)
+  DB  15,93,244                           ; minps         %xmm4,%xmm6
+  DB  15,41,114,32                        ; movaps        %xmm6,0x20(%edx)
+  DB  15,40,106,48                        ; movaps        0x30(%edx),%xmm5
+  DB  15,93,236                           ; minps         %xmm4,%xmm5
+  DB  15,41,106,48                        ; movaps        %xmm5,0x30(%edx)
+  DB  141,65,4                            ; lea           0x4(%ecx),%eax
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  80                                  ; push          %eax
+  DB  82                                  ; push          %edx
+  DB  255,17                              ; call          *(%ecx)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_set_rgb_sse2
+_sk_set_rgb_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  243,15,16,1                         ; movss         (%ecx),%xmm0
+  DB  243,15,16,73,4                      ; movss         0x4(%ecx),%xmm1
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
+  DB  243,15,16,81,8                      ; movss         0x8(%ecx),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_swap_rb_sse2
+_sk_swap_rb_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,224                           ; movaps        %xmm0,%xmm4
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  141,72,4                            ; lea           0x4(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,194                           ; movaps        %xmm2,%xmm0
+  DB  15,40,212                           ; movaps        %xmm4,%xmm2
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,16                              ; call          *(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_invert_sse2
+_sk_invert_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  232,0,0,0,0                         ; call          212e <_sk_invert_sse2+0xb>
+  DB  88                                  ; pop           %eax
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  15,40,160,66,230,0,0                ; movaps        0xe642(%eax),%xmm4
+  DB  15,40,236                           ; movaps        %xmm4,%xmm5
+  DB  15,92,232                           ; subps         %xmm0,%xmm5
+  DB  15,40,244                           ; movaps        %xmm4,%xmm6
+  DB  15,92,241                           ; subps         %xmm1,%xmm6
+  DB  15,40,252                           ; movaps        %xmm4,%xmm7
+  DB  15,92,250                           ; subps         %xmm2,%xmm7
+  DB  15,92,227                           ; subps         %xmm3,%xmm4
+  DB  141,65,4                            ; lea           0x4(%ecx),%eax
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,197                           ; movaps        %xmm5,%xmm0
+  DB  15,40,206                           ; movaps        %xmm6,%xmm1
+  DB  15,40,215                           ; movaps        %xmm7,%xmm2
+  DB  15,40,220                           ; movaps        %xmm4,%xmm3
+  DB  80                                  ; push          %eax
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,17                              ; call          *(%ecx)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_move_src_dst_sse2
+_sk_move_src_dst_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  15,41,65,16                         ; movaps        %xmm0,0x10(%ecx)
+  DB  15,41,73,32                         ; movaps        %xmm1,0x20(%ecx)
+  DB  15,41,81,48                         ; movaps        %xmm2,0x30(%ecx)
+  DB  15,41,89,64                         ; movaps        %xmm3,0x40(%ecx)
+  DB  141,80,4                            ; lea           0x4(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,16                              ; call          *(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_move_dst_src_sse2
+_sk_move_dst_src_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  15,40,65,16                         ; movaps        0x10(%ecx),%xmm0
+  DB  15,40,73,32                         ; movaps        0x20(%ecx),%xmm1
+  DB  15,40,81,48                         ; movaps        0x30(%ecx),%xmm2
+  DB  15,40,89,64                         ; movaps        0x40(%ecx),%xmm3
+  DB  141,80,4                            ; lea           0x4(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,16                              ; call          *(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_premul_sse2
+_sk_premul_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  15,89,203                           ; mulps         %xmm3,%xmm1
+  DB  15,89,211                           ; mulps         %xmm3,%xmm2
+  DB  141,72,4                            ; lea           0x4(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,16                              ; call          *(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_premul_dst_sse2
+_sk_premul_dst_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  15,40,97,64                         ; movaps        0x40(%ecx),%xmm4
+  DB  15,40,105,16                        ; movaps        0x10(%ecx),%xmm5
+  DB  15,89,236                           ; mulps         %xmm4,%xmm5
+  DB  15,41,105,16                        ; movaps        %xmm5,0x10(%ecx)
+  DB  15,40,105,32                        ; movaps        0x20(%ecx),%xmm5
+  DB  15,89,236                           ; mulps         %xmm4,%xmm5
+  DB  15,41,105,32                        ; movaps        %xmm5,0x20(%ecx)
+  DB  15,89,97,48                         ; mulps         0x30(%ecx),%xmm4
+  DB  15,41,97,48                         ; movaps        %xmm4,0x30(%ecx)
+  DB  141,80,4                            ; lea           0x4(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,16                              ; call          *(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_unpremul_sse2
+_sk_unpremul_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  232,0,0,0,0                         ; call          222c <_sk_unpremul_sse2+0xb>
+  DB  88                                  ; pop           %eax
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  15,40,160,68,229,0,0                ; movaps        0xe544(%eax),%xmm4
+  DB  15,94,227                           ; divps         %xmm3,%xmm4
+  DB  15,40,236                           ; movaps        %xmm4,%xmm5
+  DB  15,194,168,36,230,0,0,1             ; cmpltps       0xe624(%eax),%xmm5
+  DB  15,84,236                           ; andps         %xmm4,%xmm5
+  DB  15,89,197                           ; mulps         %xmm5,%xmm0
+  DB  15,89,205                           ; mulps         %xmm5,%xmm1
+  DB  15,89,213                           ; mulps         %xmm5,%xmm2
+  DB  141,65,4                            ; lea           0x4(%ecx),%eax
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  80                                  ; push          %eax
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,17                              ; call          *(%ecx)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_force_opaque_sse2
+_sk_force_opaque_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  232,0,0,0,0                         ; call          226d <_sk_force_opaque_sse2+0xb>
+  DB  88                                  ; pop           %eax
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  141,81,4                            ; lea           0x4(%ecx),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,152,3,229,0,0                 ; movaps        0xe503(%eax),%xmm3
+  DB  82                                  ; push          %edx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,17                              ; call          *(%ecx)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_force_opaque_dst_sse2
+_sk_force_opaque_dst_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  232,0,0,0,0                         ; call          2294 <_sk_force_opaque_dst_sse2+0xb>
+  DB  88                                  ; pop           %eax
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  139,85,8                            ; mov           0x8(%ebp),%edx
+  DB  15,40,160,220,228,0,0               ; movaps        0xe4dc(%eax),%xmm4
+  DB  15,41,98,64                         ; movaps        %xmm4,0x40(%edx)
+  DB  141,65,4                            ; lea           0x4(%ecx),%eax
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  80                                  ; push          %eax
+  DB  82                                  ; push          %edx
+  DB  255,17                              ; call          *(%ecx)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_from_srgb_sse2
+_sk_from_srgb_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,56                          ; sub           $0x38,%esp
+  DB  15,41,93,200                        ; movaps        %xmm3,-0x38(%ebp)
+  DB  15,40,234                           ; movaps        %xmm2,%xmm5
+  DB  15,40,217                           ; movaps        %xmm1,%xmm3
+  DB  15,40,208                           ; movaps        %xmm0,%xmm2
+  DB  232,0,0,0,0                         ; call          22cd <_sk_from_srgb_sse2+0x18>
+  DB  88                                  ; pop           %eax
+  DB  15,40,202                           ; movaps        %xmm2,%xmm1
+  DB  15,89,201                           ; mulps         %xmm1,%xmm1
+  DB  15,40,160,51,229,0,0                ; movaps        0xe533(%eax),%xmm4
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  15,40,176,163,229,0,0               ; movaps        0xe5a3(%eax),%xmm6
+  DB  15,41,117,216                       ; movaps        %xmm6,-0x28(%ebp)
+  DB  15,88,198                           ; addps         %xmm6,%xmm0
+  DB  15,89,193                           ; mulps         %xmm1,%xmm0
+  DB  15,40,176,147,229,0,0               ; movaps        0xe593(%eax),%xmm6
+  DB  15,40,202                           ; movaps        %xmm2,%xmm1
+  DB  15,89,206                           ; mulps         %xmm6,%xmm1
+  DB  15,40,184,179,229,0,0               ; movaps        0xe5b3(%eax),%xmm7
+  DB  15,41,125,232                       ; movaps        %xmm7,-0x18(%ebp)
+  DB  15,88,199                           ; addps         %xmm7,%xmm0
+  DB  15,40,184,195,229,0,0               ; movaps        0xe5c3(%eax),%xmm7
+  DB  15,194,215,1                        ; cmpltps       %xmm7,%xmm2
+  DB  15,84,202                           ; andps         %xmm2,%xmm1
+  DB  15,85,208                           ; andnps        %xmm0,%xmm2
+  DB  15,86,209                           ; orps          %xmm1,%xmm2
+  DB  15,40,195                           ; movaps        %xmm3,%xmm0
+  DB  15,89,192                           ; mulps         %xmm0,%xmm0
+  DB  15,40,203                           ; movaps        %xmm3,%xmm1
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  15,88,77,216                        ; addps         -0x28(%ebp),%xmm1
+  DB  15,89,200                           ; mulps         %xmm0,%xmm1
+  DB  15,40,195                           ; movaps        %xmm3,%xmm0
+  DB  15,89,198                           ; mulps         %xmm6,%xmm0
+  DB  15,88,77,232                        ; addps         -0x18(%ebp),%xmm1
+  DB  15,194,223,1                        ; cmpltps       %xmm7,%xmm3
+  DB  15,84,195                           ; andps         %xmm3,%xmm0
+  DB  15,85,217                           ; andnps        %xmm1,%xmm3
+  DB  15,86,216                           ; orps          %xmm0,%xmm3
+  DB  15,89,229                           ; mulps         %xmm5,%xmm4
+  DB  15,88,101,216                       ; addps         -0x28(%ebp),%xmm4
+  DB  15,40,197                           ; movaps        %xmm5,%xmm0
+  DB  15,89,192                           ; mulps         %xmm0,%xmm0
+  DB  15,89,224                           ; mulps         %xmm0,%xmm4
+  DB  15,88,101,232                       ; addps         -0x18(%ebp),%xmm4
+  DB  15,89,245                           ; mulps         %xmm5,%xmm6
+  DB  15,194,239,1                        ; cmpltps       %xmm7,%xmm5
+  DB  15,84,245                           ; andps         %xmm5,%xmm6
+  DB  15,85,236                           ; andnps        %xmm4,%xmm5
+  DB  15,86,238                           ; orps          %xmm6,%xmm5
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  141,72,4                            ; lea           0x4(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,194                           ; movaps        %xmm2,%xmm0
+  DB  15,40,203                           ; movaps        %xmm3,%xmm1
+  DB  15,40,213                           ; movaps        %xmm5,%xmm2
+  DB  15,40,93,200                        ; movaps        -0x38(%ebp),%xmm3
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,16                              ; call          *(%eax)
+  DB  131,196,72                          ; add           $0x48,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_from_srgb_dst_sse2
+_sk_from_srgb_dst_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,72                          ; sub           $0x48,%esp
+  DB  15,41,93,184                        ; movaps        %xmm3,-0x48(%ebp)
+  DB  15,41,85,200                        ; movaps        %xmm2,-0x38(%ebp)
+  DB  15,41,77,216                        ; movaps        %xmm1,-0x28(%ebp)
+  DB  15,41,69,232                        ; movaps        %xmm0,-0x18(%ebp)
+  DB  232,0,0,0,0                         ; call          23a8 <_sk_from_srgb_dst_sse2+0x1b>
+  DB  89                                  ; pop           %ecx
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  15,40,72,16                         ; movaps        0x10(%eax),%xmm1
+  DB  15,40,233                           ; movaps        %xmm1,%xmm5
+  DB  15,89,237                           ; mulps         %xmm5,%xmm5
+  DB  15,40,161,88,228,0,0                ; movaps        0xe458(%ecx),%xmm4
+  DB  15,40,193                           ; movaps        %xmm1,%xmm0
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  15,40,177,200,228,0,0               ; movaps        0xe4c8(%ecx),%xmm6
+  DB  15,88,198                           ; addps         %xmm6,%xmm0
+  DB  15,89,197                           ; mulps         %xmm5,%xmm0
+  DB  15,40,169,184,228,0,0               ; movaps        0xe4b8(%ecx),%xmm5
+  DB  15,40,209                           ; movaps        %xmm1,%xmm2
+  DB  15,89,213                           ; mulps         %xmm5,%xmm2
+  DB  15,40,185,216,228,0,0               ; movaps        0xe4d8(%ecx),%xmm7
+  DB  15,88,199                           ; addps         %xmm7,%xmm0
+  DB  15,40,153,232,228,0,0               ; movaps        0xe4e8(%ecx),%xmm3
+  DB  15,194,203,1                        ; cmpltps       %xmm3,%xmm1
+  DB  15,84,209                           ; andps         %xmm1,%xmm2
+  DB  15,85,200                           ; andnps        %xmm0,%xmm1
+  DB  15,86,202                           ; orps          %xmm2,%xmm1
+  DB  15,40,64,32                         ; movaps        0x20(%eax),%xmm0
+  DB  15,41,72,16                         ; movaps        %xmm1,0x10(%eax)
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  15,89,201                           ; mulps         %xmm1,%xmm1
+  DB  15,40,208                           ; movaps        %xmm0,%xmm2
+  DB  15,89,212                           ; mulps         %xmm4,%xmm2
+  DB  15,88,214                           ; addps         %xmm6,%xmm2
+  DB  15,89,209                           ; mulps         %xmm1,%xmm2
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  15,89,205                           ; mulps         %xmm5,%xmm1
+  DB  15,88,215                           ; addps         %xmm7,%xmm2
+  DB  15,194,195,1                        ; cmpltps       %xmm3,%xmm0
+  DB  15,84,200                           ; andps         %xmm0,%xmm1
+  DB  15,85,194                           ; andnps        %xmm2,%xmm0
+  DB  15,86,193                           ; orps          %xmm1,%xmm0
+  DB  15,41,64,32                         ; movaps        %xmm0,0x20(%eax)
+  DB  15,40,64,48                         ; movaps        0x30(%eax),%xmm0
+  DB  15,89,224                           ; mulps         %xmm0,%xmm4
+  DB  15,88,230                           ; addps         %xmm6,%xmm4
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  15,89,201                           ; mulps         %xmm1,%xmm1
+  DB  15,89,225                           ; mulps         %xmm1,%xmm4
+  DB  15,88,231                           ; addps         %xmm7,%xmm4
+  DB  15,89,232                           ; mulps         %xmm0,%xmm5
+  DB  15,194,195,1                        ; cmpltps       %xmm3,%xmm0
+  DB  15,84,232                           ; andps         %xmm0,%xmm5
+  DB  15,85,196                           ; andnps        %xmm4,%xmm0
+  DB  15,86,197                           ; orps          %xmm5,%xmm0
+  DB  15,41,64,48                         ; movaps        %xmm0,0x30(%eax)
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  141,81,4                            ; lea           0x4(%ecx),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,69,232                        ; movaps        -0x18(%ebp),%xmm0
+  DB  15,40,77,216                        ; movaps        -0x28(%ebp),%xmm1
+  DB  15,40,85,200                        ; movaps        -0x38(%ebp),%xmm2
+  DB  15,40,93,184                        ; movaps        -0x48(%ebp),%xmm3
+  DB  82                                  ; push          %edx
+  DB  80                                  ; push          %eax
+  DB  255,17                              ; call          *(%ecx)
+  DB  131,196,88                          ; add           $0x58,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_to_srgb_sse2
+_sk_to_srgb_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,72                          ; sub           $0x48,%esp
+  DB  15,41,93,184                        ; movaps        %xmm3,-0x48(%ebp)
+  DB  15,40,250                           ; movaps        %xmm2,%xmm7
+  DB  15,40,241                           ; movaps        %xmm1,%xmm6
+  DB  15,40,208                           ; movaps        %xmm0,%xmm2
+  DB  232,0,0,0,0                         ; call          2493 <_sk_to_srgb_sse2+0x18>
+  DB  88                                  ; pop           %eax
+  DB  15,82,218                           ; rsqrtps       %xmm2,%xmm3
+  DB  15,40,160,29,228,0,0                ; movaps        0xe41d(%eax),%xmm4
+  DB  15,40,235                           ; movaps        %xmm3,%xmm5
+  DB  15,89,236                           ; mulps         %xmm4,%xmm5
+  DB  15,40,128,45,228,0,0                ; movaps        0xe42d(%eax),%xmm0
+  DB  15,41,69,232                        ; movaps        %xmm0,-0x18(%ebp)
+  DB  15,88,232                           ; addps         %xmm0,%xmm5
+  DB  15,89,235                           ; mulps         %xmm3,%xmm5
+  DB  15,40,128,61,228,0,0                ; movaps        0xe43d(%eax),%xmm0
+  DB  15,41,69,200                        ; movaps        %xmm0,-0x38(%ebp)
+  DB  15,88,232                           ; addps         %xmm0,%xmm5
+  DB  15,40,128,77,228,0,0                ; movaps        0xe44d(%eax),%xmm0
+  DB  15,41,69,216                        ; movaps        %xmm0,-0x28(%ebp)
+  DB  15,88,216                           ; addps         %xmm0,%xmm3
+  DB  15,83,195                           ; rcpps         %xmm3,%xmm0
+  DB  15,89,197                           ; mulps         %xmm5,%xmm0
+  DB  15,40,168,13,228,0,0                ; movaps        0xe40d(%eax),%xmm5
+  DB  15,40,202                           ; movaps        %xmm2,%xmm1
+  DB  15,89,205                           ; mulps         %xmm5,%xmm1
+  DB  15,40,152,93,228,0,0                ; movaps        0xe45d(%eax),%xmm3
+  DB  15,194,211,1                        ; cmpltps       %xmm3,%xmm2
+  DB  15,84,202                           ; andps         %xmm2,%xmm1
+  DB  15,85,208                           ; andnps        %xmm0,%xmm2
+  DB  15,86,209                           ; orps          %xmm1,%xmm2
+  DB  15,82,198                           ; rsqrtps       %xmm6,%xmm0
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  15,88,77,232                        ; addps         -0x18(%ebp),%xmm1
+  DB  15,89,200                           ; mulps         %xmm0,%xmm1
+  DB  15,88,77,200                        ; addps         -0x38(%ebp),%xmm1
+  DB  15,88,69,216                        ; addps         -0x28(%ebp),%xmm0
+  DB  15,83,192                           ; rcpps         %xmm0,%xmm0
+  DB  15,89,193                           ; mulps         %xmm1,%xmm0
+  DB  15,40,206                           ; movaps        %xmm6,%xmm1
+  DB  15,89,205                           ; mulps         %xmm5,%xmm1
+  DB  15,194,243,1                        ; cmpltps       %xmm3,%xmm6
+  DB  15,84,206                           ; andps         %xmm6,%xmm1
+  DB  15,85,240                           ; andnps        %xmm0,%xmm6
+  DB  15,86,241                           ; orps          %xmm1,%xmm6
+  DB  15,82,199                           ; rsqrtps       %xmm7,%xmm0
+  DB  15,89,224                           ; mulps         %xmm0,%xmm4
+  DB  15,88,101,232                       ; addps         -0x18(%ebp),%xmm4
+  DB  15,89,224                           ; mulps         %xmm0,%xmm4
+  DB  15,88,101,200                       ; addps         -0x38(%ebp),%xmm4
+  DB  15,88,69,216                        ; addps         -0x28(%ebp),%xmm0
+  DB  15,83,192                           ; rcpps         %xmm0,%xmm0
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  15,89,239                           ; mulps         %xmm7,%xmm5
+  DB  15,194,251,1                        ; cmpltps       %xmm3,%xmm7
+  DB  15,84,239                           ; andps         %xmm7,%xmm5
+  DB  15,85,248                           ; andnps        %xmm0,%xmm7
+  DB  15,86,253                           ; orps          %xmm5,%xmm7
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  141,72,4                            ; lea           0x4(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,194                           ; movaps        %xmm2,%xmm0
+  DB  15,40,206                           ; movaps        %xmm6,%xmm1
+  DB  15,40,215                           ; movaps        %xmm7,%xmm2
+  DB  15,40,93,184                        ; movaps        -0x48(%ebp),%xmm3
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,16                              ; call          *(%eax)
+  DB  131,196,88                          ; add           $0x58,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_rgb_to_hsl_sse2
+_sk_rgb_to_hsl_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,56                          ; sub           $0x38,%esp
+  DB  15,41,93,200                        ; movaps        %xmm3,-0x38(%ebp)
+  DB  15,40,249                           ; movaps        %xmm1,%xmm7
+  DB  15,40,224                           ; movaps        %xmm0,%xmm4
+  DB  232,0,0,0,0                         ; call          258a <_sk_rgb_to_hsl_sse2+0x15>
+  DB  88                                  ; pop           %eax
+  DB  15,40,199                           ; movaps        %xmm7,%xmm0
+  DB  15,95,194                           ; maxps         %xmm2,%xmm0
+  DB  15,40,220                           ; movaps        %xmm4,%xmm3
+  DB  15,95,216                           ; maxps         %xmm0,%xmm3
+  DB  15,40,199                           ; movaps        %xmm7,%xmm0
+  DB  15,93,194                           ; minps         %xmm2,%xmm0
+  DB  15,40,204                           ; movaps        %xmm4,%xmm1
+  DB  15,93,200                           ; minps         %xmm0,%xmm1
+  DB  15,41,77,232                        ; movaps        %xmm1,-0x18(%ebp)
+  DB  15,40,195                           ; movaps        %xmm3,%xmm0
+  DB  15,92,193                           ; subps         %xmm1,%xmm0
+  DB  15,41,69,216                        ; movaps        %xmm0,-0x28(%ebp)
+  DB  15,40,136,230,225,0,0               ; movaps        0xe1e6(%eax),%xmm1
+  DB  15,94,200                           ; divps         %xmm0,%xmm1
+  DB  15,40,199                           ; movaps        %xmm7,%xmm0
+  DB  15,92,194                           ; subps         %xmm2,%xmm0
+  DB  15,89,193                           ; mulps         %xmm1,%xmm0
+  DB  15,40,239                           ; movaps        %xmm7,%xmm5
+  DB  15,194,234,1                        ; cmpltps       %xmm2,%xmm5
+  DB  15,84,168,118,227,0,0               ; andps         0xe376(%eax),%xmm5
+  DB  15,88,232                           ; addps         %xmm0,%xmm5
+  DB  15,40,195                           ; movaps        %xmm3,%xmm0
+  DB  15,194,196,0                        ; cmpeqps       %xmm4,%xmm0
+  DB  15,40,243                           ; movaps        %xmm3,%xmm6
+  DB  15,194,247,0                        ; cmpeqps       %xmm7,%xmm6
+  DB  15,92,212                           ; subps         %xmm4,%xmm2
+  DB  15,92,231                           ; subps         %xmm7,%xmm4
+  DB  15,89,209                           ; mulps         %xmm1,%xmm2
+  DB  15,89,225                           ; mulps         %xmm1,%xmm4
+  DB  15,40,136,134,227,0,0               ; movaps        0xe386(%eax),%xmm1
+  DB  15,88,209                           ; addps         %xmm1,%xmm2
+  DB  15,88,160,150,227,0,0               ; addps         0xe396(%eax),%xmm4
+  DB  15,84,214                           ; andps         %xmm6,%xmm2
+  DB  15,85,244                           ; andnps        %xmm4,%xmm6
+  DB  15,86,242                           ; orps          %xmm2,%xmm6
+  DB  15,84,232                           ; andps         %xmm0,%xmm5
+  DB  15,85,198                           ; andnps        %xmm6,%xmm0
+  DB  15,86,197                           ; orps          %xmm5,%xmm0
+  DB  15,40,227                           ; movaps        %xmm3,%xmm4
+  DB  15,40,85,232                        ; movaps        -0x18(%ebp),%xmm2
+  DB  15,194,226,4                        ; cmpneqps      %xmm2,%xmm4
+  DB  15,92,203                           ; subps         %xmm3,%xmm1
+  DB  15,88,218                           ; addps         %xmm2,%xmm3
+  DB  15,40,168,214,225,0,0               ; movaps        0xe1d6(%eax),%xmm5
+  DB  15,92,202                           ; subps         %xmm2,%xmm1
+  DB  15,40,211                           ; movaps        %xmm3,%xmm2
+  DB  15,89,213                           ; mulps         %xmm5,%xmm2
+  DB  15,194,234,1                        ; cmpltps       %xmm2,%xmm5
+  DB  15,84,205                           ; andps         %xmm5,%xmm1
+  DB  15,85,235                           ; andnps        %xmm3,%xmm5
+  DB  15,86,233                           ; orps          %xmm1,%xmm5
+  DB  15,40,77,216                        ; movaps        -0x28(%ebp),%xmm1
+  DB  15,94,205                           ; divps         %xmm5,%xmm1
+  DB  15,89,128,166,227,0,0               ; mulps         0xe3a6(%eax),%xmm0
+  DB  15,84,196                           ; andps         %xmm4,%xmm0
+  DB  15,84,204                           ; andps         %xmm4,%xmm1
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  141,72,4                            ; lea           0x4(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,93,200                        ; movaps        -0x38(%ebp),%xmm3
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,16                              ; call          *(%eax)
+  DB  131,196,72                          ; add           $0x48,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_hsl_to_rgb_sse2
+_sk_hsl_to_rgb_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  129,236,200,0,0,0                   ; sub           $0xc8,%esp
+  DB  15,41,157,56,255,255,255            ; movaps        %xmm3,-0xc8(%ebp)
+  DB  15,41,69,184                        ; movaps        %xmm0,-0x48(%ebp)
+  DB  232,0,0,0,0                         ; call          2685 <_sk_hsl_to_rgb_sse2+0x19>
+  DB  88                                  ; pop           %eax
+  DB  15,40,160,219,224,0,0               ; movaps        0xe0db(%eax),%xmm4
+  DB  15,40,220                           ; movaps        %xmm4,%xmm3
+  DB  15,41,165,104,255,255,255           ; movaps        %xmm4,-0x98(%ebp)
+  DB  15,194,218,2                        ; cmpleps       %xmm2,%xmm3
+  DB  15,40,241                           ; movaps        %xmm1,%xmm6
+  DB  15,87,237                           ; xorps         %xmm5,%xmm5
+  DB  15,194,233,0                        ; cmpeqps       %xmm1,%xmm5
+  DB  15,41,109,232                       ; movaps        %xmm5,-0x18(%ebp)
+  DB  15,89,202                           ; mulps         %xmm2,%xmm1
+  DB  15,92,241                           ; subps         %xmm1,%xmm6
+  DB  15,84,243                           ; andps         %xmm3,%xmm6
+  DB  15,85,217                           ; andnps        %xmm1,%xmm3
+  DB  15,86,222                           ; orps          %xmm6,%xmm3
+  DB  15,40,168,187,226,0,0               ; movaps        0xe2bb(%eax),%xmm5
+  DB  15,88,232                           ; addps         %xmm0,%xmm5
+  DB  243,15,91,205                       ; cvttps2dq     %xmm5,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  15,40,197                           ; movaps        %xmm5,%xmm0
+  DB  15,194,193,1                        ; cmpltps       %xmm1,%xmm0
+  DB  15,40,176,235,224,0,0               ; movaps        0xe0eb(%eax),%xmm6
+  DB  15,41,117,136                       ; movaps        %xmm6,-0x78(%ebp)
+  DB  15,84,198                           ; andps         %xmm6,%xmm0
+  DB  15,92,200                           ; subps         %xmm0,%xmm1
+  DB  15,92,233                           ; subps         %xmm1,%xmm5
+  DB  15,41,149,72,255,255,255            ; movaps        %xmm2,-0xb8(%ebp)
+  DB  15,88,218                           ; addps         %xmm2,%xmm3
+  DB  15,41,93,216                        ; movaps        %xmm3,-0x28(%ebp)
+  DB  15,88,210                           ; addps         %xmm2,%xmm2
+  DB  15,92,211                           ; subps         %xmm3,%xmm2
+  DB  15,40,184,203,226,0,0               ; movaps        0xe2cb(%eax),%xmm7
+  DB  15,41,189,88,255,255,255            ; movaps        %xmm7,-0xa8(%ebp)
+  DB  15,194,253,2                        ; cmpleps       %xmm5,%xmm7
+  DB  15,92,218                           ; subps         %xmm2,%xmm3
+  DB  15,41,93,200                        ; movaps        %xmm3,-0x38(%ebp)
+  DB  15,40,204                           ; movaps        %xmm4,%xmm1
+  DB  15,194,205,2                        ; cmpleps       %xmm5,%xmm1
+  DB  15,40,160,171,226,0,0               ; movaps        0xe2ab(%eax),%xmm4
+  DB  15,41,165,120,255,255,255           ; movaps        %xmm4,-0x88(%ebp)
+  DB  15,194,229,2                        ; cmpleps       %xmm5,%xmm4
+  DB  15,40,176,123,226,0,0               ; movaps        0xe27b(%eax),%xmm6
+  DB  15,89,238                           ; mulps         %xmm6,%xmm5
+  DB  15,40,128,155,226,0,0               ; movaps        0xe29b(%eax),%xmm0
+  DB  15,41,69,168                        ; movaps        %xmm0,-0x58(%ebp)
+  DB  15,92,197                           ; subps         %xmm5,%xmm0
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  15,88,194                           ; addps         %xmm2,%xmm0
+  DB  15,40,218                           ; movaps        %xmm2,%xmm3
+  DB  15,84,223                           ; andps         %xmm7,%xmm3
+  DB  15,85,248                           ; andnps        %xmm0,%xmm7
+  DB  15,86,251                           ; orps          %xmm3,%xmm7
+  DB  15,84,249                           ; andps         %xmm1,%xmm7
+  DB  15,85,77,216                        ; andnps        -0x28(%ebp),%xmm1
+  DB  15,86,207                           ; orps          %xmm7,%xmm1
+  DB  15,40,125,200                       ; movaps        -0x38(%ebp),%xmm7
+  DB  15,89,239                           ; mulps         %xmm7,%xmm5
+  DB  15,88,234                           ; addps         %xmm2,%xmm5
+  DB  15,84,204                           ; andps         %xmm4,%xmm1
+  DB  15,85,229                           ; andnps        %xmm5,%xmm4
+  DB  15,86,225                           ; orps          %xmm1,%xmm4
+  DB  15,40,69,232                        ; movaps        -0x18(%ebp),%xmm0
+  DB  15,85,196                           ; andnps        %xmm4,%xmm0
+  DB  15,41,69,152                        ; movaps        %xmm0,-0x68(%ebp)
+  DB  15,40,93,184                        ; movaps        -0x48(%ebp),%xmm3
+  DB  243,15,91,195                       ; cvttps2dq     %xmm3,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  15,40,203                           ; movaps        %xmm3,%xmm1
+  DB  15,194,200,1                        ; cmpltps       %xmm0,%xmm1
+  DB  15,84,136,235,224,0,0               ; andps         0xe0eb(%eax),%xmm1
+  DB  15,92,193                           ; subps         %xmm1,%xmm0
+  DB  15,40,203                           ; movaps        %xmm3,%xmm1
+  DB  15,92,200                           ; subps         %xmm0,%xmm1
+  DB  15,40,128,203,226,0,0               ; movaps        0xe2cb(%eax),%xmm0
+  DB  15,194,193,2                        ; cmpleps       %xmm1,%xmm0
+  DB  15,40,152,219,224,0,0               ; movaps        0xe0db(%eax),%xmm3
+  DB  15,194,217,2                        ; cmpleps       %xmm1,%xmm3
+  DB  15,40,160,171,226,0,0               ; movaps        0xe2ab(%eax),%xmm4
+  DB  15,194,225,2                        ; cmpleps       %xmm1,%xmm4
+  DB  15,89,206                           ; mulps         %xmm6,%xmm1
+  DB  15,40,168,155,226,0,0               ; movaps        0xe29b(%eax),%xmm5
+  DB  15,92,233                           ; subps         %xmm1,%xmm5
+  DB  15,89,239                           ; mulps         %xmm7,%xmm5
+  DB  15,88,234                           ; addps         %xmm2,%xmm5
+  DB  15,40,250                           ; movaps        %xmm2,%xmm7
+  DB  15,84,248                           ; andps         %xmm0,%xmm7
+  DB  15,85,197                           ; andnps        %xmm5,%xmm0
+  DB  15,86,199                           ; orps          %xmm7,%xmm0
+  DB  15,84,195                           ; andps         %xmm3,%xmm0
+  DB  15,85,93,216                        ; andnps        -0x28(%ebp),%xmm3
+  DB  15,86,216                           ; orps          %xmm0,%xmm3
+  DB  15,40,109,200                       ; movaps        -0x38(%ebp),%xmm5
+  DB  15,89,205                           ; mulps         %xmm5,%xmm1
+  DB  15,88,202                           ; addps         %xmm2,%xmm1
+  DB  15,84,220                           ; andps         %xmm4,%xmm3
+  DB  15,85,225                           ; andnps        %xmm1,%xmm4
+  DB  15,86,227                           ; orps          %xmm3,%xmm4
+  DB  15,40,125,232                       ; movaps        -0x18(%ebp),%xmm7
+  DB  15,85,252                           ; andnps        %xmm4,%xmm7
+  DB  15,40,93,184                        ; movaps        -0x48(%ebp),%xmm3
+  DB  15,88,152,219,226,0,0               ; addps         0xe2db(%eax),%xmm3
+  DB  243,15,91,195                       ; cvttps2dq     %xmm3,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  15,40,203                           ; movaps        %xmm3,%xmm1
+  DB  15,194,200,1                        ; cmpltps       %xmm0,%xmm1
+  DB  15,84,77,136                        ; andps         -0x78(%ebp),%xmm1
+  DB  15,92,193                           ; subps         %xmm1,%xmm0
+  DB  15,92,216                           ; subps         %xmm0,%xmm3
+  DB  15,89,243                           ; mulps         %xmm3,%xmm6
+  DB  15,40,77,168                        ; movaps        -0x58(%ebp),%xmm1
+  DB  15,92,206                           ; subps         %xmm6,%xmm1
+  DB  15,89,205                           ; mulps         %xmm5,%xmm1
+  DB  15,40,225                           ; movaps        %xmm1,%xmm4
+  DB  15,89,245                           ; mulps         %xmm5,%xmm6
+  DB  15,88,226                           ; addps         %xmm2,%xmm4
+  DB  15,88,242                           ; addps         %xmm2,%xmm6
+  DB  15,40,141,88,255,255,255            ; movaps        -0xa8(%ebp),%xmm1
+  DB  15,194,203,2                        ; cmpleps       %xmm3,%xmm1
+  DB  15,84,209                           ; andps         %xmm1,%xmm2
+  DB  15,85,204                           ; andnps        %xmm4,%xmm1
+  DB  15,86,202                           ; orps          %xmm2,%xmm1
+  DB  15,40,133,104,255,255,255           ; movaps        -0x98(%ebp),%xmm0
+  DB  15,194,195,2                        ; cmpleps       %xmm3,%xmm0
+  DB  15,84,200                           ; andps         %xmm0,%xmm1
+  DB  15,85,69,216                        ; andnps        -0x28(%ebp),%xmm0
+  DB  15,86,193                           ; orps          %xmm1,%xmm0
+  DB  15,40,141,120,255,255,255           ; movaps        -0x88(%ebp),%xmm1
+  DB  15,194,203,2                        ; cmpleps       %xmm3,%xmm1
+  DB  15,84,193                           ; andps         %xmm1,%xmm0
+  DB  15,85,206                           ; andnps        %xmm6,%xmm1
+  DB  15,86,200                           ; orps          %xmm0,%xmm1
+  DB  15,40,209                           ; movaps        %xmm1,%xmm2
+  DB  15,40,157,72,255,255,255            ; movaps        -0xb8(%ebp),%xmm3
+  DB  15,40,77,232                        ; movaps        -0x18(%ebp),%xmm1
+  DB  15,84,217                           ; andps         %xmm1,%xmm3
+  DB  15,85,202                           ; andnps        %xmm2,%xmm1
+  DB  15,40,69,152                        ; movaps        -0x68(%ebp),%xmm0
+  DB  15,86,195                           ; orps          %xmm3,%xmm0
+  DB  15,86,251                           ; orps          %xmm3,%xmm7
+  DB  15,86,217                           ; orps          %xmm1,%xmm3
+  DB  15,40,211                           ; movaps        %xmm3,%xmm2
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  141,72,4                            ; lea           0x4(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,207                           ; movaps        %xmm7,%xmm1
+  DB  15,40,157,56,255,255,255            ; movaps        -0xc8(%ebp),%xmm3
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,16                              ; call          *(%eax)
+  DB  129,196,216,0,0,0                   ; add           $0xd8,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_scale_1_float_sse2
+_sk_scale_1_float_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  243,15,16,33                        ; movss         (%ecx),%xmm4
+  DB  15,198,228,0                        ; shufps        $0x0,%xmm4,%xmm4
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  15,89,212                           ; mulps         %xmm4,%xmm2
+  DB  15,89,220                           ; mulps         %xmm4,%xmm3
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_scale_u8_sse2
+_sk_scale_u8_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,12                          ; sub           $0xc,%esp
+  DB  232,0,0,0,0                         ; call          28ff <_sk_scale_u8_sse2+0xe>
+  DB  90                                  ; pop           %edx
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,56                              ; mov           (%eax),%edi
+  DB  139,119,4                           ; mov           0x4(%edi),%esi
+  DB  15,175,113,4                        ; imul          0x4(%ecx),%esi
+  DB  3,55                                ; add           (%edi),%esi
+  DB  139,89,8                            ; mov           0x8(%ecx),%ebx
+  DB  133,219                             ; test          %ebx,%ebx
+  DB  139,57                              ; mov           (%ecx),%edi
+  DB  117,65                              ; jne           295b <_sk_scale_u8_sse2+0x6a>
+  DB  102,15,110,36,62                    ; movd          (%esi,%edi,1),%xmm4
+  DB  102,15,96,224                       ; punpcklbw     %xmm0,%xmm4
+  DB  102,15,97,224                       ; punpcklwd     %xmm0,%xmm4
+  DB  102,15,219,162,49,223,0,0           ; pand          0xdf31(%edx),%xmm4
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  15,89,162,113,224,0,0               ; mulps         0xe071(%edx),%xmm4
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  15,89,212                           ; mulps         %xmm4,%xmm2
+  DB  15,89,227                           ; mulps         %xmm3,%xmm4
+  DB  141,80,8                            ; lea           0x8(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,220                           ; movaps        %xmm4,%xmm3
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,28                          ; add           $0x1c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  128,227,3                           ; and           $0x3,%bl
+  DB  128,251,1                           ; cmp           $0x1,%bl
+  DB  116,50                              ; je            2995 <_sk_scale_u8_sse2+0xa4>
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  128,251,2                           ; cmp           $0x2,%bl
+  DB  116,19                              ; je            297f <_sk_scale_u8_sse2+0x8e>
+  DB  128,251,3                           ; cmp           $0x3,%bl
+  DB  117,182                             ; jne           2927 <_sk_scale_u8_sse2+0x36>
+  DB  15,182,92,62,2                      ; movzbl        0x2(%esi,%edi,1),%ebx
+  DB  102,15,110,227                      ; movd          %ebx,%xmm4
+  DB  102,15,112,228,69                   ; pshufd        $0x45,%xmm4,%xmm4
+  DB  15,183,52,62                        ; movzwl        (%esi,%edi,1),%esi
+  DB  102,15,110,238                      ; movd          %esi,%xmm5
+  DB  102,15,96,232                       ; punpcklbw     %xmm0,%xmm5
+  DB  102,15,97,232                       ; punpcklwd     %xmm0,%xmm5
+  DB  242,15,16,229                       ; movsd         %xmm5,%xmm4
+  DB  235,146                             ; jmp           2927 <_sk_scale_u8_sse2+0x36>
+  DB  15,182,52,62                        ; movzbl        (%esi,%edi,1),%esi
+  DB  102,15,110,230                      ; movd          %esi,%xmm4
+  DB  235,136                             ; jmp           2927 <_sk_scale_u8_sse2+0x36>
+
+PUBLIC _sk_scale_565_sse2
+_sk_scale_565_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,44                          ; sub           $0x2c,%esp
+  DB  15,41,85,200                        ; movaps        %xmm2,-0x38(%ebp)
+  DB  15,41,77,216                        ; movaps        %xmm1,-0x28(%ebp)
+  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
+  DB  232,0,0,0,0                         ; call          29b9 <_sk_scale_565_sse2+0x1a>
+  DB  90                                  ; pop           %edx
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,56                              ; mov           (%eax),%edi
+  DB  139,119,4                           ; mov           0x4(%edi),%esi
+  DB  15,175,113,4                        ; imul          0x4(%ecx),%esi
+  DB  1,246                               ; add           %esi,%esi
+  DB  3,55                                ; add           (%edi),%esi
+  DB  139,89,8                            ; mov           0x8(%ecx),%ebx
+  DB  133,219                             ; test          %ebx,%ebx
+  DB  139,57                              ; mov           (%ecx),%edi
+  DB  15,133,157,0,0,0                    ; jne           2a77 <_sk_scale_565_sse2+0xd8>
+  DB  243,15,126,52,126                   ; movq          (%esi,%edi,2),%xmm6
+  DB  102,15,97,240                       ; punpcklwd     %xmm0,%xmm6
+  DB  102,15,111,162,199,223,0,0          ; movdqa        0xdfc7(%edx),%xmm4
+  DB  102,15,219,230                      ; pand          %xmm6,%xmm4
+  DB  15,91,212                           ; cvtdq2ps      %xmm4,%xmm2
+  DB  15,89,146,215,223,0,0               ; mulps         0xdfd7(%edx),%xmm2
+  DB  102,15,111,170,231,223,0,0          ; movdqa        0xdfe7(%edx),%xmm5
+  DB  102,15,219,238                      ; pand          %xmm6,%xmm5
+  DB  15,91,237                           ; cvtdq2ps      %xmm5,%xmm5
+  DB  15,89,170,247,223,0,0               ; mulps         0xdff7(%edx),%xmm5
+  DB  102,15,219,178,7,224,0,0            ; pand          0xe007(%edx),%xmm6
+  DB  15,91,246                           ; cvtdq2ps      %xmm6,%xmm6
+  DB  15,89,178,23,224,0,0                ; mulps         0xe017(%edx),%xmm6
+  DB  15,40,253                           ; movaps        %xmm5,%xmm7
+  DB  15,93,254                           ; minps         %xmm6,%xmm7
+  DB  15,40,226                           ; movaps        %xmm2,%xmm4
+  DB  15,93,231                           ; minps         %xmm7,%xmm4
+  DB  15,40,253                           ; movaps        %xmm5,%xmm7
+  DB  15,95,254                           ; maxps         %xmm6,%xmm7
+  DB  15,40,194                           ; movaps        %xmm2,%xmm0
+  DB  15,95,199                           ; maxps         %xmm7,%xmm0
+  DB  15,40,251                           ; movaps        %xmm3,%xmm7
+  DB  15,194,121,64,1                     ; cmpltps       0x40(%ecx),%xmm7
+  DB  15,84,231                           ; andps         %xmm7,%xmm4
+  DB  15,85,248                           ; andnps        %xmm0,%xmm7
+  DB  15,86,252                           ; orps          %xmm4,%xmm7
+  DB  15,89,209                           ; mulps         %xmm1,%xmm2
+  DB  15,89,109,216                       ; mulps         -0x28(%ebp),%xmm5
+  DB  15,89,117,200                       ; mulps         -0x38(%ebp),%xmm6
+  DB  15,89,251                           ; mulps         %xmm3,%xmm7
+  DB  141,80,8                            ; lea           0x8(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,194                           ; movaps        %xmm2,%xmm0
+  DB  15,40,205                           ; movaps        %xmm5,%xmm1
+  DB  15,40,214                           ; movaps        %xmm6,%xmm2
+  DB  15,40,223                           ; movaps        %xmm7,%xmm3
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,60                          ; add           $0x3c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  128,227,3                           ; and           $0x3,%bl
+  DB  128,251,1                           ; cmp           $0x1,%bl
+  DB  116,51                              ; je            2ab2 <_sk_scale_565_sse2+0x113>
+  DB  102,15,239,246                      ; pxor          %xmm6,%xmm6
+  DB  128,251,2                           ; cmp           $0x2,%bl
+  DB  116,23                              ; je            2a9f <_sk_scale_565_sse2+0x100>
+  DB  128,251,3                           ; cmp           $0x3,%bl
+  DB  15,133,82,255,255,255               ; jne           29e3 <_sk_scale_565_sse2+0x44>
+  DB  15,183,92,126,4                     ; movzwl        0x4(%esi,%edi,2),%ebx
+  DB  102,15,110,227                      ; movd          %ebx,%xmm4
+  DB  102,15,112,244,69                   ; pshufd        $0x45,%xmm4,%xmm6
+  DB  102,15,110,36,126                   ; movd          (%esi,%edi,2),%xmm4
+  DB  242,15,112,228,212                  ; pshuflw       $0xd4,%xmm4,%xmm4
+  DB  242,15,16,244                       ; movsd         %xmm4,%xmm6
+  DB  233,49,255,255,255                  ; jmp           29e3 <_sk_scale_565_sse2+0x44>
+  DB  15,183,52,126                       ; movzwl        (%esi,%edi,2),%esi
+  DB  102,15,110,246                      ; movd          %esi,%xmm6
+  DB  233,36,255,255,255                  ; jmp           29e3 <_sk_scale_565_sse2+0x44>
+
+PUBLIC _sk_lerp_1_float_sse2
+_sk_lerp_1_float_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  139,17                              ; mov           (%ecx),%edx
+  DB  243,15,16,34                        ; movss         (%edx),%xmm4
+  DB  15,198,228,0                        ; shufps        $0x0,%xmm4,%xmm4
+  DB  15,40,104,16                        ; movaps        0x10(%eax),%xmm5
+  DB  15,40,112,32                        ; movaps        0x20(%eax),%xmm6
+  DB  15,92,197                           ; subps         %xmm5,%xmm0
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  15,88,197                           ; addps         %xmm5,%xmm0
+  DB  15,92,206                           ; subps         %xmm6,%xmm1
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  15,88,206                           ; addps         %xmm6,%xmm1
+  DB  15,40,104,48                        ; movaps        0x30(%eax),%xmm5
+  DB  15,92,213                           ; subps         %xmm5,%xmm2
+  DB  15,89,212                           ; mulps         %xmm4,%xmm2
+  DB  15,88,213                           ; addps         %xmm5,%xmm2
+  DB  15,40,104,64                        ; movaps        0x40(%eax),%xmm5
+  DB  15,92,221                           ; subps         %xmm5,%xmm3
+  DB  15,89,220                           ; mulps         %xmm4,%xmm3
+  DB  15,88,221                           ; addps         %xmm5,%xmm3
+  DB  141,81,8                            ; lea           0x8(%ecx),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  82                                  ; push          %edx
+  DB  80                                  ; push          %eax
+  DB  255,81,4                            ; call          *0x4(%ecx)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_lerp_u8_sse2
+_sk_lerp_u8_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,12                          ; sub           $0xc,%esp
+  DB  232,0,0,0,0                         ; call          2b27 <_sk_lerp_u8_sse2+0xe>
+  DB  90                                  ; pop           %edx
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,56                              ; mov           (%eax),%edi
+  DB  139,119,4                           ; mov           0x4(%edi),%esi
+  DB  15,175,113,4                        ; imul          0x4(%ecx),%esi
+  DB  3,55                                ; add           (%edi),%esi
+  DB  139,89,8                            ; mov           0x8(%ecx),%ebx
+  DB  133,219                             ; test          %ebx,%ebx
+  DB  139,57                              ; mov           (%ecx),%edi
+  DB  117,102                             ; jne           2ba8 <_sk_lerp_u8_sse2+0x8f>
+  DB  102,15,110,36,62                    ; movd          (%esi,%edi,1),%xmm4
+  DB  102,15,96,224                       ; punpcklbw     %xmm0,%xmm4
+  DB  102,15,97,224                       ; punpcklwd     %xmm0,%xmm4
+  DB  102,15,219,162,9,221,0,0            ; pand          0xdd09(%edx),%xmm4
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  15,89,162,73,222,0,0                ; mulps         0xde49(%edx),%xmm4
+  DB  15,40,105,16                        ; movaps        0x10(%ecx),%xmm5
+  DB  15,40,113,32                        ; movaps        0x20(%ecx),%xmm6
+  DB  15,92,197                           ; subps         %xmm5,%xmm0
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  15,88,197                           ; addps         %xmm5,%xmm0
+  DB  15,92,206                           ; subps         %xmm6,%xmm1
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  15,88,206                           ; addps         %xmm6,%xmm1
+  DB  15,40,105,48                        ; movaps        0x30(%ecx),%xmm5
+  DB  15,92,213                           ; subps         %xmm5,%xmm2
+  DB  15,89,212                           ; mulps         %xmm4,%xmm2
+  DB  15,88,213                           ; addps         %xmm5,%xmm2
+  DB  15,40,105,64                        ; movaps        0x40(%ecx),%xmm5
+  DB  15,92,221                           ; subps         %xmm5,%xmm3
+  DB  15,89,220                           ; mulps         %xmm4,%xmm3
+  DB  15,88,221                           ; addps         %xmm5,%xmm3
+  DB  141,80,8                            ; lea           0x8(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,28                          ; add           $0x1c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  128,227,3                           ; and           $0x3,%bl
+  DB  128,251,1                           ; cmp           $0x1,%bl
+  DB  116,53                              ; je            2be5 <_sk_lerp_u8_sse2+0xcc>
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  128,251,2                           ; cmp           $0x2,%bl
+  DB  116,19                              ; je            2bcc <_sk_lerp_u8_sse2+0xb3>
+  DB  128,251,3                           ; cmp           $0x3,%bl
+  DB  117,145                             ; jne           2b4f <_sk_lerp_u8_sse2+0x36>
+  DB  15,182,92,62,2                      ; movzbl        0x2(%esi,%edi,1),%ebx
+  DB  102,15,110,227                      ; movd          %ebx,%xmm4
+  DB  102,15,112,228,69                   ; pshufd        $0x45,%xmm4,%xmm4
+  DB  15,183,52,62                        ; movzwl        (%esi,%edi,1),%esi
+  DB  102,15,110,238                      ; movd          %esi,%xmm5
+  DB  102,15,96,232                       ; punpcklbw     %xmm0,%xmm5
+  DB  102,15,97,232                       ; punpcklwd     %xmm0,%xmm5
+  DB  242,15,16,229                       ; movsd         %xmm5,%xmm4
+  DB  233,106,255,255,255                 ; jmp           2b4f <_sk_lerp_u8_sse2+0x36>
+  DB  15,182,52,62                        ; movzbl        (%esi,%edi,1),%esi
+  DB  102,15,110,230                      ; movd          %esi,%xmm4
+  DB  233,93,255,255,255                  ; jmp           2b4f <_sk_lerp_u8_sse2+0x36>
+
+PUBLIC _sk_lerp_565_sse2
+_sk_lerp_565_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,108                         ; sub           $0x6c,%esp
+  DB  15,41,93,168                        ; movaps        %xmm3,-0x58(%ebp)
+  DB  15,41,85,136                        ; movaps        %xmm2,-0x78(%ebp)
+  DB  15,41,77,152                        ; movaps        %xmm1,-0x68(%ebp)
+  DB  102,15,127,69,184                   ; movdqa        %xmm0,-0x48(%ebp)
+  DB  232,0,0,0,0                         ; call          2c11 <_sk_lerp_565_sse2+0x1f>
+  DB  90                                  ; pop           %edx
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,56                              ; mov           (%eax),%edi
+  DB  139,119,4                           ; mov           0x4(%edi),%esi
+  DB  15,175,113,4                        ; imul          0x4(%ecx),%esi
+  DB  1,246                               ; add           %esi,%esi
+  DB  3,55                                ; add           (%edi),%esi
+  DB  139,89,8                            ; mov           0x8(%ecx),%ebx
+  DB  133,219                             ; test          %ebx,%ebx
+  DB  139,57                              ; mov           (%ecx),%edi
+  DB  15,133,211,0,0,0                    ; jne           2d05 <_sk_lerp_565_sse2+0x113>
+  DB  243,15,126,44,126                   ; movq          (%esi,%edi,2),%xmm5
+  DB  102,15,97,232                       ; punpcklwd     %xmm0,%xmm5
+  DB  102,15,111,162,111,221,0,0          ; movdqa        0xdd6f(%edx),%xmm4
+  DB  102,15,219,229                      ; pand          %xmm5,%xmm4
+  DB  15,91,204                           ; cvtdq2ps      %xmm4,%xmm1
+  DB  15,89,138,127,221,0,0               ; mulps         0xdd7f(%edx),%xmm1
+  DB  102,15,111,178,143,221,0,0          ; movdqa        0xdd8f(%edx),%xmm6
+  DB  102,15,219,245                      ; pand          %xmm5,%xmm6
+  DB  15,91,246                           ; cvtdq2ps      %xmm6,%xmm6
+  DB  15,89,178,159,221,0,0               ; mulps         0xdd9f(%edx),%xmm6
+  DB  102,15,219,170,175,221,0,0          ; pand          0xddaf(%edx),%xmm5
+  DB  15,91,213                           ; cvtdq2ps      %xmm5,%xmm2
+  DB  15,89,146,191,221,0,0               ; mulps         0xddbf(%edx),%xmm2
+  DB  15,40,218                           ; movaps        %xmm2,%xmm3
+  DB  15,41,93,200                        ; movaps        %xmm3,-0x38(%ebp)
+  DB  15,40,254                           ; movaps        %xmm6,%xmm7
+  DB  15,40,65,32                         ; movaps        0x20(%ecx),%xmm0
+  DB  15,41,69,216                        ; movaps        %xmm0,-0x28(%ebp)
+  DB  15,40,101,152                       ; movaps        -0x68(%ebp),%xmm4
+  DB  15,92,224                           ; subps         %xmm0,%xmm4
+  DB  15,89,230                           ; mulps         %xmm6,%xmm4
+  DB  15,93,243                           ; minps         %xmm3,%xmm6
+  DB  15,40,209                           ; movaps        %xmm1,%xmm2
+  DB  15,40,65,16                         ; movaps        0x10(%ecx),%xmm0
+  DB  15,40,109,184                       ; movaps        -0x48(%ebp),%xmm5
+  DB  15,92,232                           ; subps         %xmm0,%xmm5
+  DB  15,89,233                           ; mulps         %xmm1,%xmm5
+  DB  15,93,206                           ; minps         %xmm6,%xmm1
+  DB  15,40,113,64                        ; movaps        0x40(%ecx),%xmm6
+  DB  15,95,251                           ; maxps         %xmm3,%xmm7
+  DB  15,95,215                           ; maxps         %xmm7,%xmm2
+  DB  15,40,93,168                        ; movaps        -0x58(%ebp),%xmm3
+  DB  15,40,251                           ; movaps        %xmm3,%xmm7
+  DB  15,194,254,1                        ; cmpltps       %xmm6,%xmm7
+  DB  15,84,207                           ; andps         %xmm7,%xmm1
+  DB  15,85,250                           ; andnps        %xmm2,%xmm7
+  DB  15,86,249                           ; orps          %xmm1,%xmm7
+  DB  15,88,232                           ; addps         %xmm0,%xmm5
+  DB  15,88,101,216                       ; addps         -0x28(%ebp),%xmm4
+  DB  15,40,65,48                         ; movaps        0x30(%ecx),%xmm0
+  DB  15,40,85,136                        ; movaps        -0x78(%ebp),%xmm2
+  DB  15,92,208                           ; subps         %xmm0,%xmm2
+  DB  15,89,85,200                        ; mulps         -0x38(%ebp),%xmm2
+  DB  15,88,208                           ; addps         %xmm0,%xmm2
+  DB  15,92,222                           ; subps         %xmm6,%xmm3
+  DB  15,89,223                           ; mulps         %xmm7,%xmm3
+  DB  15,88,222                           ; addps         %xmm6,%xmm3
+  DB  141,80,8                            ; lea           0x8(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,197                           ; movaps        %xmm5,%xmm0
+  DB  15,40,204                           ; movaps        %xmm4,%xmm1
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,124                         ; add           $0x7c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  128,227,3                           ; and           $0x3,%bl
+  DB  128,251,1                           ; cmp           $0x1,%bl
+  DB  116,51                              ; je            2d40 <_sk_lerp_565_sse2+0x14e>
+  DB  102,15,239,237                      ; pxor          %xmm5,%xmm5
+  DB  128,251,2                           ; cmp           $0x2,%bl
+  DB  116,23                              ; je            2d2d <_sk_lerp_565_sse2+0x13b>
+  DB  128,251,3                           ; cmp           $0x3,%bl
+  DB  15,133,28,255,255,255               ; jne           2c3b <_sk_lerp_565_sse2+0x49>
+  DB  15,183,92,126,4                     ; movzwl        0x4(%esi,%edi,2),%ebx
+  DB  102,15,110,227                      ; movd          %ebx,%xmm4
+  DB  102,15,112,236,69                   ; pshufd        $0x45,%xmm4,%xmm5
+  DB  102,15,110,36,126                   ; movd          (%esi,%edi,2),%xmm4
+  DB  242,15,112,228,212                  ; pshuflw       $0xd4,%xmm4,%xmm4
+  DB  242,15,16,236                       ; movsd         %xmm4,%xmm5
+  DB  233,251,254,255,255                 ; jmp           2c3b <_sk_lerp_565_sse2+0x49>
+  DB  15,183,52,126                       ; movzwl        (%esi,%edi,2),%esi
+  DB  102,15,110,238                      ; movd          %esi,%xmm5
+  DB  233,238,254,255,255                 ; jmp           2c3b <_sk_lerp_565_sse2+0x49>
+
+PUBLIC _sk_load_tables_sse2
+_sk_load_tables_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,12                          ; sub           $0xc,%esp
+  DB  232,0,0,0,0                         ; call          2d5b <_sk_load_tables_sse2+0xe>
+  DB  90                                  ; pop           %edx
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,48                              ; mov           (%eax),%esi
+  DB  139,65,8                            ; mov           0x8(%ecx),%eax
+  DB  133,192                             ; test          %eax,%eax
+  DB  139,57                              ; mov           (%ecx),%edi
+  DB  139,30                              ; mov           (%esi),%ebx
+  DB  15,133,22,1,0,0                     ; jne           2e89 <_sk_load_tables_sse2+0x13c>
+  DB  243,15,111,28,187                   ; movdqu        (%ebx,%edi,4),%xmm3
+  DB  102,15,111,146,213,218,0,0          ; movdqa        0xdad5(%edx),%xmm2
+  DB  102,15,111,195                      ; movdqa        %xmm3,%xmm0
+  DB  102,15,219,194                      ; pand          %xmm2,%xmm0
+  DB  102,15,112,200,78                   ; pshufd        $0x4e,%xmm0,%xmm1
+  DB  102,15,112,224,231                  ; pshufd        $0xe7,%xmm0,%xmm4
+  DB  102,15,126,224                      ; movd          %xmm4,%eax
+  DB  139,126,4                           ; mov           0x4(%esi),%edi
+  DB  243,15,16,36,135                    ; movss         (%edi,%eax,4),%xmm4
+  DB  102,15,126,200                      ; movd          %xmm1,%eax
+  DB  243,15,16,44,135                    ; movss         (%edi,%eax,4),%xmm5
+  DB  102,15,126,192                      ; movd          %xmm0,%eax
+  DB  102,15,112,200,229                  ; pshufd        $0xe5,%xmm0,%xmm1
+  DB  243,15,16,4,135                     ; movss         (%edi,%eax,4),%xmm0
+  DB  102,15,126,200                      ; movd          %xmm1,%eax
+  DB  243,15,16,12,135                    ; movss         (%edi,%eax,4),%xmm1
+  DB  139,70,8                            ; mov           0x8(%esi),%eax
+  DB  15,20,236                           ; unpcklps      %xmm4,%xmm5
+  DB  15,20,193                           ; unpcklps      %xmm1,%xmm0
+  DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
+  DB  102,15,114,209,8                    ; psrld         $0x8,%xmm1
+  DB  102,15,219,202                      ; pand          %xmm2,%xmm1
+  DB  102,15,112,225,78                   ; pshufd        $0x4e,%xmm1,%xmm4
+  DB  102,15,112,241,231                  ; pshufd        $0xe7,%xmm1,%xmm6
+  DB  102,15,126,247                      ; movd          %xmm6,%edi
+  DB  243,15,16,52,184                    ; movss         (%eax,%edi,4),%xmm6
+  DB  102,15,126,231                      ; movd          %xmm4,%edi
+  DB  243,15,16,36,184                    ; movss         (%eax,%edi,4),%xmm4
+  DB  102,15,126,207                      ; movd          %xmm1,%edi
+  DB  102,15,112,249,229                  ; pshufd        $0xe5,%xmm1,%xmm7
+  DB  243,15,16,12,184                    ; movss         (%eax,%edi,4),%xmm1
+  DB  102,15,126,255                      ; movd          %xmm7,%edi
+  DB  243,15,16,60,184                    ; movss         (%eax,%edi,4),%xmm7
+  DB  102,15,20,197                       ; unpcklpd      %xmm5,%xmm0
+  DB  15,20,230                           ; unpcklps      %xmm6,%xmm4
+  DB  15,20,207                           ; unpcklps      %xmm7,%xmm1
+  DB  139,70,12                           ; mov           0xc(%esi),%eax
+  DB  102,15,111,235                      ; movdqa        %xmm3,%xmm5
+  DB  102,15,114,213,16                   ; psrld         $0x10,%xmm5
+  DB  102,15,219,234                      ; pand          %xmm2,%xmm5
+  DB  102,15,112,213,78                   ; pshufd        $0x4e,%xmm5,%xmm2
+  DB  102,15,112,245,231                  ; pshufd        $0xe7,%xmm5,%xmm6
+  DB  102,15,126,246                      ; movd          %xmm6,%esi
+  DB  243,15,16,52,176                    ; movss         (%eax,%esi,4),%xmm6
+  DB  102,15,126,214                      ; movd          %xmm2,%esi
+  DB  243,15,16,60,176                    ; movss         (%eax,%esi,4),%xmm7
+  DB  102,15,126,238                      ; movd          %xmm5,%esi
+  DB  102,15,112,237,229                  ; pshufd        $0xe5,%xmm5,%xmm5
+  DB  243,15,16,20,176                    ; movss         (%eax,%esi,4),%xmm2
+  DB  102,15,126,238                      ; movd          %xmm5,%esi
+  DB  243,15,16,44,176                    ; movss         (%eax,%esi,4),%xmm5
+  DB  102,15,20,204                       ; unpcklpd      %xmm4,%xmm1
+  DB  15,20,254                           ; unpcklps      %xmm6,%xmm7
+  DB  15,20,213                           ; unpcklps      %xmm5,%xmm2
+  DB  102,15,20,215                       ; unpcklpd      %xmm7,%xmm2
+  DB  102,15,114,211,24                   ; psrld         $0x18,%xmm3
+  DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
+  DB  15,89,154,21,220,0,0                ; mulps         0xdc15(%edx),%xmm3
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  137,194                             ; mov           %eax,%edx
+  DB  141,66,8                            ; lea           0x8(%edx),%eax
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  80                                  ; push          %eax
+  DB  81                                  ; push          %ecx
+  DB  255,82,4                            ; call          *0x4(%edx)
+  DB  131,196,28                          ; add           $0x1c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  36,3                                ; and           $0x3,%al
+  DB  60,1                                ; cmp           $0x1,%al
+  DB  116,37                              ; je            2eb4 <_sk_load_tables_sse2+0x167>
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  60,2                                ; cmp           $0x2,%al
+  DB  116,19                              ; je            2eaa <_sk_load_tables_sse2+0x15d>
+  DB  60,3                                ; cmp           $0x3,%al
+  DB  15,133,217,254,255,255              ; jne           2d78 <_sk_load_tables_sse2+0x2b>
+  DB  102,15,110,68,187,8                 ; movd          0x8(%ebx,%edi,4),%xmm0
+  DB  102,15,112,216,69                   ; pshufd        $0x45,%xmm0,%xmm3
+  DB  102,15,18,28,187                    ; movlpd        (%ebx,%edi,4),%xmm3
+  DB  233,196,254,255,255                 ; jmp           2d78 <_sk_load_tables_sse2+0x2b>
+  DB  102,15,110,28,187                   ; movd          (%ebx,%edi,4),%xmm3
+  DB  233,186,254,255,255                 ; jmp           2d78 <_sk_load_tables_sse2+0x2b>
+
+PUBLIC _sk_load_tables_u16_be_sse2
+_sk_load_tables_u16_be_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,44                          ; sub           $0x2c,%esp
+  DB  232,0,0,0,0                         ; call          2ecc <_sk_load_tables_u16_be_sse2+0xe>
+  DB  90                                  ; pop           %edx
+  DB  139,117,12                          ; mov           0xc(%ebp),%esi
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,57                              ; mov           (%ecx),%edi
+  DB  139,65,8                            ; mov           0x8(%ecx),%eax
+  DB  193,231,2                           ; shl           $0x2,%edi
+  DB  133,192                             ; test          %eax,%eax
+  DB  139,54                              ; mov           (%esi),%esi
+  DB  139,30                              ; mov           (%esi),%ebx
+  DB  15,133,210,1,0,0                    ; jne           30b9 <_sk_load_tables_u16_be_sse2+0x1fb>
+  DB  102,15,16,4,123                     ; movupd        (%ebx,%edi,2),%xmm0
+  DB  243,15,111,76,123,16                ; movdqu        0x10(%ebx,%edi,2),%xmm1
+  DB  102,15,40,216                       ; movapd        %xmm0,%xmm3
+  DB  102,15,97,217                       ; punpcklwd     %xmm1,%xmm3
+  DB  102,15,105,193                      ; punpckhwd     %xmm1,%xmm0
+  DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
+  DB  102,15,97,200                       ; punpcklwd     %xmm0,%xmm1
+  DB  102,15,105,216                      ; punpckhwd     %xmm0,%xmm3
+  DB  102,15,126,77,208                   ; movd          %xmm1,-0x30(%ebp)
+  DB  102,15,112,193,229                  ; pshufd        $0xe5,%xmm1,%xmm0
+  DB  102,15,126,69,212                   ; movd          %xmm0,-0x2c(%ebp)
+  DB  243,15,126,69,208                   ; movq          -0x30(%ebp),%xmm0
+  DB  102,15,97,192                       ; punpcklwd     %xmm0,%xmm0
+  DB  102,15,112,209,231                  ; pshufd        $0xe7,%xmm1,%xmm2
+  DB  102,15,126,85,220                   ; movd          %xmm2,-0x24(%ebp)
+  DB  102,15,112,201,78                   ; pshufd        $0x4e,%xmm1,%xmm1
+  DB  102,15,126,77,216                   ; movd          %xmm1,-0x28(%ebp)
+  DB  243,15,126,77,216                   ; movq          -0x28(%ebp),%xmm1
+  DB  102,15,97,200                       ; punpcklwd     %xmm0,%xmm1
+  DB  102,15,126,93,224                   ; movd          %xmm3,-0x20(%ebp)
+  DB  102,15,112,211,229                  ; pshufd        $0xe5,%xmm3,%xmm2
+  DB  102,15,126,85,228                   ; movd          %xmm2,-0x1c(%ebp)
+  DB  242,15,112,192,232                  ; pshuflw       $0xe8,%xmm0,%xmm0
+  DB  243,15,112,192,232                  ; pshufhw       $0xe8,%xmm0,%xmm0
+  DB  102,15,112,192,232                  ; pshufd        $0xe8,%xmm0,%xmm0
+  DB  102,15,111,146,20,219,0,0           ; movdqa        0xdb14(%edx),%xmm2
+  DB  102,15,219,194                      ; pand          %xmm2,%xmm0
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  102,15,97,196                       ; punpcklwd     %xmm4,%xmm0
+  DB  102,15,112,232,78                   ; pshufd        $0x4e,%xmm0,%xmm5
+  DB  102,15,112,240,231                  ; pshufd        $0xe7,%xmm0,%xmm6
+  DB  102,15,126,240                      ; movd          %xmm6,%eax
+  DB  139,126,4                           ; mov           0x4(%esi),%edi
+  DB  243,15,16,52,135                    ; movss         (%edi,%eax,4),%xmm6
+  DB  102,15,126,232                      ; movd          %xmm5,%eax
+  DB  243,15,16,44,135                    ; movss         (%edi,%eax,4),%xmm5
+  DB  102,15,126,192                      ; movd          %xmm0,%eax
+  DB  102,15,112,248,229                  ; pshufd        $0xe5,%xmm0,%xmm7
+  DB  243,15,16,4,135                     ; movss         (%edi,%eax,4),%xmm0
+  DB  102,15,126,248                      ; movd          %xmm7,%eax
+  DB  243,15,16,60,135                    ; movss         (%edi,%eax,4),%xmm7
+  DB  139,70,8                            ; mov           0x8(%esi),%eax
+  DB  15,20,238                           ; unpcklps      %xmm6,%xmm5
+  DB  15,20,199                           ; unpcklps      %xmm7,%xmm0
+  DB  102,15,20,197                       ; unpcklpd      %xmm5,%xmm0
+  DB  242,15,112,201,232                  ; pshuflw       $0xe8,%xmm1,%xmm1
+  DB  243,15,112,201,232                  ; pshufhw       $0xe8,%xmm1,%xmm1
+  DB  102,15,112,201,232                  ; pshufd        $0xe8,%xmm1,%xmm1
+  DB  102,15,219,202                      ; pand          %xmm2,%xmm1
+  DB  102,15,97,204                       ; punpcklwd     %xmm4,%xmm1
+  DB  102,15,112,233,78                   ; pshufd        $0x4e,%xmm1,%xmm5
+  DB  102,15,112,241,231                  ; pshufd        $0xe7,%xmm1,%xmm6
+  DB  102,15,126,247                      ; movd          %xmm6,%edi
+  DB  243,15,16,52,184                    ; movss         (%eax,%edi,4),%xmm6
+  DB  102,15,126,239                      ; movd          %xmm5,%edi
+  DB  243,15,16,44,184                    ; movss         (%eax,%edi,4),%xmm5
+  DB  102,15,126,207                      ; movd          %xmm1,%edi
+  DB  102,15,112,249,229                  ; pshufd        $0xe5,%xmm1,%xmm7
+  DB  243,15,16,12,184                    ; movss         (%eax,%edi,4),%xmm1
+  DB  102,15,126,255                      ; movd          %xmm7,%edi
+  DB  243,15,16,60,184                    ; movss         (%eax,%edi,4),%xmm7
+  DB  15,20,238                           ; unpcklps      %xmm6,%xmm5
+  DB  243,15,126,117,224                  ; movq          -0x20(%ebp),%xmm6
+  DB  102,15,97,240                       ; punpcklwd     %xmm0,%xmm6
+  DB  15,20,207                           ; unpcklps      %xmm7,%xmm1
+  DB  102,15,20,205                       ; unpcklpd      %xmm5,%xmm1
+  DB  139,70,12                           ; mov           0xc(%esi),%eax
+  DB  242,15,112,238,232                  ; pshuflw       $0xe8,%xmm6,%xmm5
+  DB  243,15,112,237,232                  ; pshufhw       $0xe8,%xmm5,%xmm5
+  DB  102,15,112,237,232                  ; pshufd        $0xe8,%xmm5,%xmm5
+  DB  102,15,219,234                      ; pand          %xmm2,%xmm5
+  DB  102,15,97,236                       ; punpcklwd     %xmm4,%xmm5
+  DB  102,15,112,213,78                   ; pshufd        $0x4e,%xmm5,%xmm2
+  DB  102,15,112,245,231                  ; pshufd        $0xe7,%xmm5,%xmm6
+  DB  102,15,126,246                      ; movd          %xmm6,%esi
+  DB  243,15,16,52,176                    ; movss         (%eax,%esi,4),%xmm6
+  DB  102,15,126,214                      ; movd          %xmm2,%esi
+  DB  243,15,16,60,176                    ; movss         (%eax,%esi,4),%xmm7
+  DB  102,15,126,238                      ; movd          %xmm5,%esi
+  DB  102,15,112,237,229                  ; pshufd        $0xe5,%xmm5,%xmm5
+  DB  243,15,16,20,176                    ; movss         (%eax,%esi,4),%xmm2
+  DB  102,15,126,238                      ; movd          %xmm5,%esi
+  DB  243,15,16,44,176                    ; movss         (%eax,%esi,4),%xmm5
+  DB  15,20,254                           ; unpcklps      %xmm6,%xmm7
+  DB  15,20,213                           ; unpcklps      %xmm5,%xmm2
+  DB  102,15,20,215                       ; unpcklpd      %xmm7,%xmm2
+  DB  102,15,112,219,78                   ; pshufd        $0x4e,%xmm3,%xmm3
+  DB  102,15,111,235                      ; movdqa        %xmm3,%xmm5
+  DB  102,15,113,245,8                    ; psllw         $0x8,%xmm5
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  102,15,235,221                      ; por           %xmm5,%xmm3
+  DB  102,15,126,93,232                   ; movd          %xmm3,-0x18(%ebp)
+  DB  102,15,112,219,229                  ; pshufd        $0xe5,%xmm3,%xmm3
+  DB  102,15,126,93,236                   ; movd          %xmm3,-0x14(%ebp)
+  DB  243,15,126,93,232                   ; movq          -0x18(%ebp),%xmm3
+  DB  102,15,97,220                       ; punpcklwd     %xmm4,%xmm3
+  DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
+  DB  15,89,154,36,219,0,0                ; mulps         0xdb24(%edx),%xmm3
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  137,194                             ; mov           %eax,%edx
+  DB  141,66,8                            ; lea           0x8(%edx),%eax
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  80                                  ; push          %eax
+  DB  81                                  ; push          %ecx
+  DB  255,82,4                            ; call          *0x4(%edx)
+  DB  131,196,60                          ; add           $0x3c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  242,15,16,4,123                     ; movsd         (%ebx,%edi,2),%xmm0
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  131,248,1                           ; cmp           $0x1,%eax
+  DB  15,132,39,254,255,255               ; je            2ef2 <_sk_load_tables_u16_be_sse2+0x34>
+  DB  102,15,22,68,123,8                  ; movhpd        0x8(%ebx,%edi,2),%xmm0
+  DB  131,248,3                           ; cmp           $0x3,%eax
+  DB  15,130,24,254,255,255               ; jb            2ef2 <_sk_load_tables_u16_be_sse2+0x34>
+  DB  243,15,126,76,123,16                ; movq          0x10(%ebx,%edi,2),%xmm1
+  DB  233,13,254,255,255                  ; jmp           2ef2 <_sk_load_tables_u16_be_sse2+0x34>
+
+PUBLIC _sk_load_tables_rgb_u16_be_sse2
+_sk_load_tables_rgb_u16_be_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,28                          ; sub           $0x1c,%esp
+  DB  232,0,0,0,0                         ; call          30f3 <_sk_load_tables_rgb_u16_be_sse2+0xe>
+  DB  90                                  ; pop           %edx
+  DB  139,117,12                          ; mov           0xc(%ebp),%esi
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,65,8                            ; mov           0x8(%ecx),%eax
+  DB  107,57,3                            ; imul          $0x3,(%ecx),%edi
+  DB  133,192                             ; test          %eax,%eax
+  DB  139,54                              ; mov           (%esi),%esi
+  DB  139,30                              ; mov           (%esi),%ebx
+  DB  15,133,179,1,0,0                    ; jne           32bf <_sk_load_tables_rgb_u16_be_sse2+0x1da>
+  DB  243,15,111,4,123                    ; movdqu        (%ebx,%edi,2),%xmm0
+  DB  243,15,111,92,123,8                 ; movdqu        0x8(%ebx,%edi,2),%xmm3
+  DB  102,15,115,219,4                    ; psrldq        $0x4,%xmm3
+  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
+  DB  102,15,115,217,6                    ; psrldq        $0x6,%xmm1
+  DB  102,15,111,211                      ; movdqa        %xmm3,%xmm2
+  DB  102,15,115,218,6                    ; psrldq        $0x6,%xmm2
+  DB  102,15,97,202                       ; punpcklwd     %xmm2,%xmm1
+  DB  102,15,97,195                       ; punpcklwd     %xmm3,%xmm0
+  DB  102,15,111,208                      ; movdqa        %xmm0,%xmm2
+  DB  102,15,97,209                       ; punpcklwd     %xmm1,%xmm2
+  DB  102,15,112,218,78                   ; pshufd        $0x4e,%xmm2,%xmm3
+  DB  102,15,105,193                      ; punpckhwd     %xmm1,%xmm0
+  DB  102,15,126,85,216                   ; movd          %xmm2,-0x28(%ebp)
+  DB  102,15,112,202,229                  ; pshufd        $0xe5,%xmm2,%xmm1
+  DB  102,15,126,77,220                   ; movd          %xmm1,-0x24(%ebp)
+  DB  243,15,126,85,216                   ; movq          -0x28(%ebp),%xmm2
+  DB  102,15,97,208                       ; punpcklwd     %xmm0,%xmm2
+  DB  102,15,126,93,224                   ; movd          %xmm3,-0x20(%ebp)
+  DB  102,15,112,203,229                  ; pshufd        $0xe5,%xmm3,%xmm1
+  DB  102,15,126,77,228                   ; movd          %xmm1,-0x1c(%ebp)
+  DB  243,15,126,77,224                   ; movq          -0x20(%ebp),%xmm1
+  DB  102,15,97,200                       ; punpcklwd     %xmm0,%xmm1
+  DB  102,15,126,69,232                   ; movd          %xmm0,-0x18(%ebp)
+  DB  102,15,112,192,229                  ; pshufd        $0xe5,%xmm0,%xmm0
+  DB  102,15,126,69,236                   ; movd          %xmm0,-0x14(%ebp)
+  DB  242,15,112,194,232                  ; pshuflw       $0xe8,%xmm2,%xmm0
+  DB  243,15,112,192,232                  ; pshufhw       $0xe8,%xmm0,%xmm0
+  DB  102,15,112,192,232                  ; pshufd        $0xe8,%xmm0,%xmm0
+  DB  102,15,111,146,237,216,0,0          ; movdqa        0xd8ed(%edx),%xmm2
+  DB  102,15,219,194                      ; pand          %xmm2,%xmm0
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  102,15,97,195                       ; punpcklwd     %xmm3,%xmm0
+  DB  102,15,112,224,78                   ; pshufd        $0x4e,%xmm0,%xmm4
+  DB  102,15,112,232,231                  ; pshufd        $0xe7,%xmm0,%xmm5
+  DB  102,15,126,232                      ; movd          %xmm5,%eax
+  DB  139,126,4                           ; mov           0x4(%esi),%edi
+  DB  243,15,16,44,135                    ; movss         (%edi,%eax,4),%xmm5
+  DB  102,15,126,224                      ; movd          %xmm4,%eax
+  DB  243,15,16,36,135                    ; movss         (%edi,%eax,4),%xmm4
+  DB  102,15,126,192                      ; movd          %xmm0,%eax
+  DB  102,15,112,240,229                  ; pshufd        $0xe5,%xmm0,%xmm6
+  DB  243,15,16,4,135                     ; movss         (%edi,%eax,4),%xmm0
+  DB  102,15,126,240                      ; movd          %xmm6,%eax
+  DB  243,15,16,52,135                    ; movss         (%edi,%eax,4),%xmm6
+  DB  139,70,8                            ; mov           0x8(%esi),%eax
+  DB  15,20,229                           ; unpcklps      %xmm5,%xmm4
+  DB  15,20,198                           ; unpcklps      %xmm6,%xmm0
+  DB  242,15,112,201,232                  ; pshuflw       $0xe8,%xmm1,%xmm1
+  DB  243,15,112,201,232                  ; pshufhw       $0xe8,%xmm1,%xmm1
+  DB  102,15,112,201,232                  ; pshufd        $0xe8,%xmm1,%xmm1
+  DB  102,15,219,202                      ; pand          %xmm2,%xmm1
+  DB  102,15,97,203                       ; punpcklwd     %xmm3,%xmm1
+  DB  102,15,112,233,78                   ; pshufd        $0x4e,%xmm1,%xmm5
+  DB  102,15,112,241,231                  ; pshufd        $0xe7,%xmm1,%xmm6
+  DB  102,15,126,247                      ; movd          %xmm6,%edi
+  DB  243,15,16,52,184                    ; movss         (%eax,%edi,4),%xmm6
+  DB  102,15,126,239                      ; movd          %xmm5,%edi
+  DB  243,15,16,44,184                    ; movss         (%eax,%edi,4),%xmm5
+  DB  102,15,126,207                      ; movd          %xmm1,%edi
+  DB  102,15,112,249,229                  ; pshufd        $0xe5,%xmm1,%xmm7
+  DB  243,15,16,12,184                    ; movss         (%eax,%edi,4),%xmm1
+  DB  102,15,126,255                      ; movd          %xmm7,%edi
+  DB  243,15,16,60,184                    ; movss         (%eax,%edi,4),%xmm7
+  DB  102,15,20,196                       ; unpcklpd      %xmm4,%xmm0
+  DB  243,15,126,101,232                  ; movq          -0x18(%ebp),%xmm4
+  DB  102,15,97,224                       ; punpcklwd     %xmm0,%xmm4
+  DB  15,20,238                           ; unpcklps      %xmm6,%xmm5
+  DB  139,70,12                           ; mov           0xc(%esi),%eax
+  DB  242,15,112,228,232                  ; pshuflw       $0xe8,%xmm4,%xmm4
+  DB  243,15,112,228,232                  ; pshufhw       $0xe8,%xmm4,%xmm4
+  DB  102,15,112,228,232                  ; pshufd        $0xe8,%xmm4,%xmm4
+  DB  102,15,219,226                      ; pand          %xmm2,%xmm4
+  DB  102,15,97,227                       ; punpcklwd     %xmm3,%xmm4
+  DB  102,15,112,212,78                   ; pshufd        $0x4e,%xmm4,%xmm2
+  DB  102,15,112,220,231                  ; pshufd        $0xe7,%xmm4,%xmm3
+  DB  102,15,126,222                      ; movd          %xmm3,%esi
+  DB  243,15,16,28,176                    ; movss         (%eax,%esi,4),%xmm3
+  DB  102,15,126,214                      ; movd          %xmm2,%esi
+  DB  243,15,16,52,176                    ; movss         (%eax,%esi,4),%xmm6
+  DB  102,15,126,230                      ; movd          %xmm4,%esi
+  DB  102,15,112,228,229                  ; pshufd        $0xe5,%xmm4,%xmm4
+  DB  243,15,16,20,176                    ; movss         (%eax,%esi,4),%xmm2
+  DB  102,15,126,230                      ; movd          %xmm4,%esi
+  DB  243,15,16,36,176                    ; movss         (%eax,%esi,4),%xmm4
+  DB  15,20,207                           ; unpcklps      %xmm7,%xmm1
+  DB  102,15,20,205                       ; unpcklpd      %xmm5,%xmm1
+  DB  15,20,243                           ; unpcklps      %xmm3,%xmm6
+  DB  15,20,212                           ; unpcklps      %xmm4,%xmm2
+  DB  102,15,20,214                       ; unpcklpd      %xmm6,%xmm2
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  137,198                             ; mov           %eax,%esi
+  DB  141,70,8                            ; lea           0x8(%esi),%eax
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,154,125,214,0,0               ; movaps        0xd67d(%edx),%xmm3
+  DB  80                                  ; push          %eax
+  DB  81                                  ; push          %ecx
+  DB  255,86,4                            ; call          *0x4(%esi)
+  DB  131,196,44                          ; add           $0x2c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  102,15,110,4,123                    ; movd          (%ebx,%edi,2),%xmm0
+  DB  102,15,196,68,123,4,2               ; pinsrw        $0x2,0x4(%ebx,%edi,2),%xmm0
+  DB  102,15,239,210                      ; pxor          %xmm2,%xmm2
+  DB  131,248,1                           ; cmp           $0x1,%eax
+  DB  117,13                              ; jne           32e1 <_sk_load_tables_rgb_u16_be_sse2+0x1fc>
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  233,77,254,255,255                  ; jmp           312e <_sk_load_tables_rgb_u16_be_sse2+0x49>
+  DB  102,15,110,76,123,6                 ; movd          0x6(%ebx,%edi,2),%xmm1
+  DB  102,15,196,76,123,10,2              ; pinsrw        $0x2,0xa(%ebx,%edi,2),%xmm1
+  DB  102,15,239,210                      ; pxor          %xmm2,%xmm2
+  DB  131,248,3                           ; cmp           $0x3,%eax
+  DB  114,18                              ; jb            3309 <_sk_load_tables_rgb_u16_be_sse2+0x224>
+  DB  102,15,110,92,123,12                ; movd          0xc(%ebx,%edi,2),%xmm3
+  DB  102,15,196,92,123,16,2              ; pinsrw        $0x2,0x10(%ebx,%edi,2),%xmm3
+  DB  233,37,254,255,255                  ; jmp           312e <_sk_load_tables_rgb_u16_be_sse2+0x49>
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  233,28,254,255,255                  ; jmp           312e <_sk_load_tables_rgb_u16_be_sse2+0x49>
+
+PUBLIC _sk_byte_tables_sse2
+_sk_byte_tables_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,12                          ; sub           $0xc,%esp
+  DB  232,0,0,0,0                         ; call          3320 <_sk_byte_tables_sse2+0xe>
+  DB  89                                  ; pop           %ecx
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,16                              ; mov           (%eax),%edx
+  DB  15,87,237                           ; xorps         %xmm5,%xmm5
+  DB  15,95,232                           ; maxps         %xmm0,%xmm5
+  DB  15,40,129,80,212,0,0                ; movaps        0xd450(%ecx),%xmm0
+  DB  15,93,232                           ; minps         %xmm0,%xmm5
+  DB  15,40,161,32,213,0,0                ; movaps        0xd520(%ecx),%xmm4
+  DB  15,89,236                           ; mulps         %xmm4,%xmm5
+  DB  102,15,91,237                       ; cvtps2dq      %xmm5,%xmm5
+  DB  102,15,112,245,78                   ; pshufd        $0x4e,%xmm5,%xmm6
+  DB  102,15,126,246                      ; movd          %xmm6,%esi
+  DB  102,15,112,245,231                  ; pshufd        $0xe7,%xmm5,%xmm6
+  DB  139,58                              ; mov           (%edx),%edi
+  DB  15,182,52,55                        ; movzbl        (%edi,%esi,1),%esi
+  DB  102,15,126,243                      ; movd          %xmm6,%ebx
+  DB  15,182,28,31                        ; movzbl        (%edi,%ebx,1),%ebx
+  DB  193,227,8                           ; shl           $0x8,%ebx
+  DB  9,243                               ; or            %esi,%ebx
+  DB  102,15,112,245,229                  ; pshufd        $0xe5,%xmm5,%xmm6
+  DB  102,15,126,238                      ; movd          %xmm5,%esi
+  DB  15,182,52,55                        ; movzbl        (%edi,%esi,1),%esi
+  DB  102,15,126,240                      ; movd          %xmm6,%eax
+  DB  15,182,4,7                          ; movzbl        (%edi,%eax,1),%eax
+  DB  193,224,8                           ; shl           $0x8,%eax
+  DB  9,240                               ; or            %esi,%eax
+  DB  102,15,110,232                      ; movd          %eax,%xmm5
+  DB  139,66,4                            ; mov           0x4(%edx),%eax
+  DB  102,15,196,235,1                    ; pinsrw        $0x1,%ebx,%xmm5
+  DB  102,15,239,246                      ; pxor          %xmm6,%xmm6
+  DB  15,95,241                           ; maxps         %xmm1,%xmm6
+  DB  15,93,240                           ; minps         %xmm0,%xmm6
+  DB  15,89,244                           ; mulps         %xmm4,%xmm6
+  DB  102,15,91,206                       ; cvtps2dq      %xmm6,%xmm1
+  DB  102,15,112,241,78                   ; pshufd        $0x4e,%xmm1,%xmm6
+  DB  102,15,126,246                      ; movd          %xmm6,%esi
+  DB  102,15,112,241,231                  ; pshufd        $0xe7,%xmm1,%xmm6
+  DB  15,182,52,48                        ; movzbl        (%eax,%esi,1),%esi
+  DB  102,15,126,247                      ; movd          %xmm6,%edi
+  DB  15,182,60,56                        ; movzbl        (%eax,%edi,1),%edi
+  DB  193,231,8                           ; shl           $0x8,%edi
+  DB  9,247                               ; or            %esi,%edi
+  DB  102,15,112,241,229                  ; pshufd        $0xe5,%xmm1,%xmm6
+  DB  102,15,126,206                      ; movd          %xmm1,%esi
+  DB  15,182,52,48                        ; movzbl        (%eax,%esi,1),%esi
+  DB  102,15,126,243                      ; movd          %xmm6,%ebx
+  DB  15,182,4,24                         ; movzbl        (%eax,%ebx,1),%eax
+  DB  193,224,8                           ; shl           $0x8,%eax
+  DB  9,240                               ; or            %esi,%eax
+  DB  102,15,110,200                      ; movd          %eax,%xmm1
+  DB  102,15,196,207,1                    ; pinsrw        $0x1,%edi,%xmm1
+  DB  139,66,8                            ; mov           0x8(%edx),%eax
+  DB  102,15,239,246                      ; pxor          %xmm6,%xmm6
+  DB  15,95,242                           ; maxps         %xmm2,%xmm6
+  DB  15,93,240                           ; minps         %xmm0,%xmm6
+  DB  15,89,244                           ; mulps         %xmm4,%xmm6
+  DB  102,15,91,214                       ; cvtps2dq      %xmm6,%xmm2
+  DB  102,15,112,242,78                   ; pshufd        $0x4e,%xmm2,%xmm6
+  DB  102,15,126,246                      ; movd          %xmm6,%esi
+  DB  102,15,112,242,231                  ; pshufd        $0xe7,%xmm2,%xmm6
+  DB  15,182,52,48                        ; movzbl        (%eax,%esi,1),%esi
+  DB  102,15,126,247                      ; movd          %xmm6,%edi
+  DB  15,182,60,56                        ; movzbl        (%eax,%edi,1),%edi
+  DB  193,231,8                           ; shl           $0x8,%edi
+  DB  9,247                               ; or            %esi,%edi
+  DB  102,15,112,242,229                  ; pshufd        $0xe5,%xmm2,%xmm6
+  DB  102,15,126,214                      ; movd          %xmm2,%esi
+  DB  15,182,52,48                        ; movzbl        (%eax,%esi,1),%esi
+  DB  102,15,126,243                      ; movd          %xmm6,%ebx
+  DB  15,182,4,24                         ; movzbl        (%eax,%ebx,1),%eax
+  DB  193,224,8                           ; shl           $0x8,%eax
+  DB  9,240                               ; or            %esi,%eax
+  DB  102,15,87,210                       ; xorpd         %xmm2,%xmm2
+  DB  15,95,211                           ; maxps         %xmm3,%xmm2
+  DB  15,93,208                           ; minps         %xmm0,%xmm2
+  DB  102,15,110,216                      ; movd          %eax,%xmm3
+  DB  102,15,196,223,1                    ; pinsrw        $0x1,%edi,%xmm3
+  DB  139,66,12                           ; mov           0xc(%edx),%eax
+  DB  15,89,212                           ; mulps         %xmm4,%xmm2
+  DB  102,15,91,194                       ; cvtps2dq      %xmm2,%xmm0
+  DB  102,15,112,208,78                   ; pshufd        $0x4e,%xmm0,%xmm2
+  DB  102,15,126,210                      ; movd          %xmm2,%edx
+  DB  102,15,112,208,231                  ; pshufd        $0xe7,%xmm0,%xmm2
+  DB  102,15,126,214                      ; movd          %xmm2,%esi
+  DB  15,182,20,16                        ; movzbl        (%eax,%edx,1),%edx
+  DB  15,182,52,48                        ; movzbl        (%eax,%esi,1),%esi
+  DB  193,230,8                           ; shl           $0x8,%esi
+  DB  9,214                               ; or            %edx,%esi
+  DB  102,15,126,194                      ; movd          %xmm0,%edx
+  DB  102,15,112,192,229                  ; pshufd        $0xe5,%xmm0,%xmm0
+  DB  15,182,20,16                        ; movzbl        (%eax,%edx,1),%edx
+  DB  102,15,126,199                      ; movd          %xmm0,%edi
+  DB  15,182,4,56                         ; movzbl        (%eax,%edi,1),%eax
+  DB  193,224,8                           ; shl           $0x8,%eax
+  DB  9,208                               ; or            %edx,%eax
+  DB  102,15,110,224                      ; movd          %eax,%xmm4
+  DB  102,15,196,230,1                    ; pinsrw        $0x1,%esi,%xmm4
+  DB  102,15,239,210                      ; pxor          %xmm2,%xmm2
+  DB  102,15,96,234                       ; punpcklbw     %xmm2,%xmm5
+  DB  102,15,97,234                       ; punpcklwd     %xmm2,%xmm5
+  DB  15,91,197                           ; cvtdq2ps      %xmm5,%xmm0
+  DB  102,15,96,202                       ; punpcklbw     %xmm2,%xmm1
+  DB  102,15,97,202                       ; punpcklwd     %xmm2,%xmm1
+  DB  102,15,96,218                       ; punpcklbw     %xmm2,%xmm3
+  DB  102,15,97,218                       ; punpcklwd     %xmm2,%xmm3
+  DB  102,15,96,226                       ; punpcklbw     %xmm2,%xmm4
+  DB  102,15,97,226                       ; punpcklwd     %xmm2,%xmm4
+  DB  15,40,169,80,214,0,0                ; movaps        0xd650(%ecx),%xmm5
+  DB  15,89,197                           ; mulps         %xmm5,%xmm0
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  15,89,205                           ; mulps         %xmm5,%xmm1
+  DB  15,91,211                           ; cvtdq2ps      %xmm3,%xmm2
+  DB  15,89,213                           ; mulps         %xmm5,%xmm2
+  DB  15,91,220                           ; cvtdq2ps      %xmm4,%xmm3
+  DB  15,89,221                           ; mulps         %xmm5,%xmm3
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  141,65,8                            ; lea           0x8(%ecx),%eax
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  80                                  ; push          %eax
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,81,4                            ; call          *0x4(%ecx)
+  DB  131,196,28                          ; add           $0x1c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_byte_tables_rgb_sse2
+_sk_byte_tables_rgb_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,12                          ; sub           $0xc,%esp
+  DB  232,0,0,0,0                         ; call          34f3 <_sk_byte_tables_rgb_sse2+0xe>
+  DB  89                                  ; pop           %ecx
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,16                              ; mov           (%eax),%edx
+  DB  139,114,12                          ; mov           0xc(%edx),%esi
+  DB  78                                  ; dec           %esi
+  DB  102,15,110,230                      ; movd          %esi,%xmm4
+  DB  102,15,112,228,0                    ; pshufd        $0x0,%xmm4,%xmm4
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  15,87,237                           ; xorps         %xmm5,%xmm5
+  DB  15,95,232                           ; maxps         %xmm0,%xmm5
+  DB  15,40,129,125,210,0,0               ; movaps        0xd27d(%ecx),%xmm0
+  DB  15,93,232                           ; minps         %xmm0,%xmm5
+  DB  15,89,236                           ; mulps         %xmm4,%xmm5
+  DB  102,15,91,237                       ; cvtps2dq      %xmm5,%xmm5
+  DB  102,15,112,245,78                   ; pshufd        $0x4e,%xmm5,%xmm6
+  DB  102,15,126,246                      ; movd          %xmm6,%esi
+  DB  102,15,112,245,231                  ; pshufd        $0xe7,%xmm5,%xmm6
+  DB  139,58                              ; mov           (%edx),%edi
+  DB  15,182,52,55                        ; movzbl        (%edi,%esi,1),%esi
+  DB  102,15,126,243                      ; movd          %xmm6,%ebx
+  DB  15,182,28,31                        ; movzbl        (%edi,%ebx,1),%ebx
+  DB  193,227,8                           ; shl           $0x8,%ebx
+  DB  9,243                               ; or            %esi,%ebx
+  DB  102,15,112,245,229                  ; pshufd        $0xe5,%xmm5,%xmm6
+  DB  102,15,126,238                      ; movd          %xmm5,%esi
+  DB  15,182,52,55                        ; movzbl        (%edi,%esi,1),%esi
+  DB  102,15,126,240                      ; movd          %xmm6,%eax
+  DB  15,182,4,7                          ; movzbl        (%edi,%eax,1),%eax
+  DB  193,224,8                           ; shl           $0x8,%eax
+  DB  9,240                               ; or            %esi,%eax
+  DB  102,15,110,232                      ; movd          %eax,%xmm5
+  DB  139,66,4                            ; mov           0x4(%edx),%eax
+  DB  102,15,196,235,1                    ; pinsrw        $0x1,%ebx,%xmm5
+  DB  102,15,239,246                      ; pxor          %xmm6,%xmm6
+  DB  15,95,241                           ; maxps         %xmm1,%xmm6
+  DB  15,93,240                           ; minps         %xmm0,%xmm6
+  DB  15,89,244                           ; mulps         %xmm4,%xmm6
+  DB  102,15,91,206                       ; cvtps2dq      %xmm6,%xmm1
+  DB  102,15,112,241,78                   ; pshufd        $0x4e,%xmm1,%xmm6
+  DB  102,15,126,246                      ; movd          %xmm6,%esi
+  DB  102,15,112,241,231                  ; pshufd        $0xe7,%xmm1,%xmm6
+  DB  15,182,52,48                        ; movzbl        (%eax,%esi,1),%esi
+  DB  102,15,126,247                      ; movd          %xmm6,%edi
+  DB  15,182,60,56                        ; movzbl        (%eax,%edi,1),%edi
+  DB  193,231,8                           ; shl           $0x8,%edi
+  DB  9,247                               ; or            %esi,%edi
+  DB  102,15,112,241,229                  ; pshufd        $0xe5,%xmm1,%xmm6
+  DB  102,15,126,206                      ; movd          %xmm1,%esi
+  DB  15,182,52,48                        ; movzbl        (%eax,%esi,1),%esi
+  DB  102,15,126,243                      ; movd          %xmm6,%ebx
+  DB  15,182,4,24                         ; movzbl        (%eax,%ebx,1),%eax
+  DB  193,224,8                           ; shl           $0x8,%eax
+  DB  9,240                               ; or            %esi,%eax
+  DB  102,15,87,201                       ; xorpd         %xmm1,%xmm1
+  DB  15,95,202                           ; maxps         %xmm2,%xmm1
+  DB  15,93,200                           ; minps         %xmm0,%xmm1
+  DB  102,15,110,208                      ; movd          %eax,%xmm2
+  DB  102,15,196,215,1                    ; pinsrw        $0x1,%edi,%xmm2
+  DB  139,66,8                            ; mov           0x8(%edx),%eax
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  102,15,91,193                       ; cvtps2dq      %xmm1,%xmm0
+  DB  102,15,112,200,78                   ; pshufd        $0x4e,%xmm0,%xmm1
+  DB  102,15,126,202                      ; movd          %xmm1,%edx
+  DB  102,15,112,200,231                  ; pshufd        $0xe7,%xmm0,%xmm1
+  DB  102,15,126,206                      ; movd          %xmm1,%esi
+  DB  15,182,20,16                        ; movzbl        (%eax,%edx,1),%edx
+  DB  15,182,52,48                        ; movzbl        (%eax,%esi,1),%esi
+  DB  193,230,8                           ; shl           $0x8,%esi
+  DB  9,214                               ; or            %edx,%esi
+  DB  102,15,126,194                      ; movd          %xmm0,%edx
+  DB  102,15,112,192,229                  ; pshufd        $0xe5,%xmm0,%xmm0
+  DB  15,182,20,16                        ; movzbl        (%eax,%edx,1),%edx
+  DB  102,15,126,199                      ; movd          %xmm0,%edi
+  DB  15,182,4,56                         ; movzbl        (%eax,%edi,1),%eax
+  DB  193,224,8                           ; shl           $0x8,%eax
+  DB  9,208                               ; or            %edx,%eax
+  DB  102,15,110,224                      ; movd          %eax,%xmm4
+  DB  102,15,196,230,1                    ; pinsrw        $0x1,%esi,%xmm4
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  102,15,96,233                       ; punpcklbw     %xmm1,%xmm5
+  DB  102,15,97,233                       ; punpcklwd     %xmm1,%xmm5
+  DB  15,91,197                           ; cvtdq2ps      %xmm5,%xmm0
+  DB  102,15,96,209                       ; punpcklbw     %xmm1,%xmm2
+  DB  102,15,97,209                       ; punpcklwd     %xmm1,%xmm2
+  DB  102,15,96,225                       ; punpcklbw     %xmm1,%xmm4
+  DB  102,15,97,225                       ; punpcklwd     %xmm1,%xmm4
+  DB  15,40,169,125,212,0,0               ; movaps        0xd47d(%ecx),%xmm5
+  DB  15,89,197                           ; mulps         %xmm5,%xmm0
+  DB  15,91,202                           ; cvtdq2ps      %xmm2,%xmm1
+  DB  15,89,205                           ; mulps         %xmm5,%xmm1
+  DB  15,91,212                           ; cvtdq2ps      %xmm4,%xmm2
+  DB  15,89,213                           ; mulps         %xmm5,%xmm2
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  141,65,8                            ; lea           0x8(%ecx),%eax
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  80                                  ; push          %eax
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,81,4                            ; call          *0x4(%ecx)
+  DB  131,196,28                          ; add           $0x1c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_table_r_sse2
+_sk_table_r_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  139,81,4                            ; mov           0x4(%ecx),%edx
+  DB  74                                  ; dec           %edx
+  DB  102,15,110,226                      ; movd          %edx,%xmm4
+  DB  232,0,0,0,0                         ; call          3675 <_sk_table_r_sse2+0x18>
+  DB  90                                  ; pop           %edx
+  DB  139,9                               ; mov           (%ecx),%ecx
+  DB  102,15,112,228,0                    ; pshufd        $0x0,%xmm4,%xmm4
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  15,87,237                           ; xorps         %xmm5,%xmm5
+  DB  15,95,232                           ; maxps         %xmm0,%xmm5
+  DB  15,93,170,251,208,0,0               ; minps         0xd0fb(%edx),%xmm5
+  DB  15,89,236                           ; mulps         %xmm4,%xmm5
+  DB  102,15,91,197                       ; cvtps2dq      %xmm5,%xmm0
+  DB  102,15,112,224,78                   ; pshufd        $0x4e,%xmm0,%xmm4
+  DB  102,15,112,232,231                  ; pshufd        $0xe7,%xmm0,%xmm5
+  DB  102,15,126,234                      ; movd          %xmm5,%edx
+  DB  243,15,16,44,145                    ; movss         (%ecx,%edx,4),%xmm5
+  DB  102,15,126,226                      ; movd          %xmm4,%edx
+  DB  243,15,16,36,145                    ; movss         (%ecx,%edx,4),%xmm4
+  DB  102,15,126,194                      ; movd          %xmm0,%edx
+  DB  102,15,112,240,229                  ; pshufd        $0xe5,%xmm0,%xmm6
+  DB  243,15,16,4,145                     ; movss         (%ecx,%edx,4),%xmm0
+  DB  102,15,126,242                      ; movd          %xmm6,%edx
+  DB  243,15,16,52,145                    ; movss         (%ecx,%edx,4),%xmm6
+  DB  15,20,229                           ; unpcklps      %xmm5,%xmm4
+  DB  15,20,198                           ; unpcklps      %xmm6,%xmm0
+  DB  102,15,20,196                       ; unpcklpd      %xmm4,%xmm0
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_table_g_sse2
+_sk_table_g_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  139,81,4                            ; mov           0x4(%ecx),%edx
+  DB  74                                  ; dec           %edx
+  DB  102,15,110,226                      ; movd          %edx,%xmm4
+  DB  232,0,0,0,0                         ; call          36fb <_sk_table_g_sse2+0x18>
+  DB  90                                  ; pop           %edx
+  DB  139,9                               ; mov           (%ecx),%ecx
+  DB  102,15,112,228,0                    ; pshufd        $0x0,%xmm4,%xmm4
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  15,87,237                           ; xorps         %xmm5,%xmm5
+  DB  15,95,233                           ; maxps         %xmm1,%xmm5
+  DB  15,93,170,117,208,0,0               ; minps         0xd075(%edx),%xmm5
+  DB  15,89,236                           ; mulps         %xmm4,%xmm5
+  DB  102,15,91,205                       ; cvtps2dq      %xmm5,%xmm1
+  DB  102,15,112,225,78                   ; pshufd        $0x4e,%xmm1,%xmm4
+  DB  102,15,112,233,231                  ; pshufd        $0xe7,%xmm1,%xmm5
+  DB  102,15,126,234                      ; movd          %xmm5,%edx
+  DB  243,15,16,44,145                    ; movss         (%ecx,%edx,4),%xmm5
+  DB  102,15,126,226                      ; movd          %xmm4,%edx
+  DB  243,15,16,36,145                    ; movss         (%ecx,%edx,4),%xmm4
+  DB  102,15,126,202                      ; movd          %xmm1,%edx
+  DB  102,15,112,241,229                  ; pshufd        $0xe5,%xmm1,%xmm6
+  DB  243,15,16,12,145                    ; movss         (%ecx,%edx,4),%xmm1
+  DB  102,15,126,242                      ; movd          %xmm6,%edx
+  DB  243,15,16,52,145                    ; movss         (%ecx,%edx,4),%xmm6
+  DB  15,20,229                           ; unpcklps      %xmm5,%xmm4
+  DB  15,20,206                           ; unpcklps      %xmm6,%xmm1
+  DB  102,15,20,204                       ; unpcklpd      %xmm4,%xmm1
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_table_b_sse2
+_sk_table_b_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  139,81,4                            ; mov           0x4(%ecx),%edx
+  DB  74                                  ; dec           %edx
+  DB  102,15,110,226                      ; movd          %edx,%xmm4
+  DB  232,0,0,0,0                         ; call          3781 <_sk_table_b_sse2+0x18>
+  DB  90                                  ; pop           %edx
+  DB  139,9                               ; mov           (%ecx),%ecx
+  DB  102,15,112,228,0                    ; pshufd        $0x0,%xmm4,%xmm4
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  15,87,237                           ; xorps         %xmm5,%xmm5
+  DB  15,95,234                           ; maxps         %xmm2,%xmm5
+  DB  15,93,170,239,207,0,0               ; minps         0xcfef(%edx),%xmm5
+  DB  15,89,236                           ; mulps         %xmm4,%xmm5
+  DB  102,15,91,213                       ; cvtps2dq      %xmm5,%xmm2
+  DB  102,15,112,226,78                   ; pshufd        $0x4e,%xmm2,%xmm4
+  DB  102,15,112,234,231                  ; pshufd        $0xe7,%xmm2,%xmm5
+  DB  102,15,126,234                      ; movd          %xmm5,%edx
+  DB  243,15,16,44,145                    ; movss         (%ecx,%edx,4),%xmm5
+  DB  102,15,126,226                      ; movd          %xmm4,%edx
+  DB  243,15,16,36,145                    ; movss         (%ecx,%edx,4),%xmm4
+  DB  102,15,126,210                      ; movd          %xmm2,%edx
+  DB  102,15,112,242,229                  ; pshufd        $0xe5,%xmm2,%xmm6
+  DB  243,15,16,20,145                    ; movss         (%ecx,%edx,4),%xmm2
+  DB  102,15,126,242                      ; movd          %xmm6,%edx
+  DB  243,15,16,52,145                    ; movss         (%ecx,%edx,4),%xmm6
+  DB  15,20,229                           ; unpcklps      %xmm5,%xmm4
+  DB  15,20,214                           ; unpcklps      %xmm6,%xmm2
+  DB  102,15,20,212                       ; unpcklpd      %xmm4,%xmm2
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_table_a_sse2
+_sk_table_a_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  139,81,4                            ; mov           0x4(%ecx),%edx
+  DB  74                                  ; dec           %edx
+  DB  102,15,110,226                      ; movd          %edx,%xmm4
+  DB  232,0,0,0,0                         ; call          3807 <_sk_table_a_sse2+0x18>
+  DB  90                                  ; pop           %edx
+  DB  139,9                               ; mov           (%ecx),%ecx
+  DB  102,15,112,228,0                    ; pshufd        $0x0,%xmm4,%xmm4
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  15,87,237                           ; xorps         %xmm5,%xmm5
+  DB  15,95,235                           ; maxps         %xmm3,%xmm5
+  DB  15,93,170,105,207,0,0               ; minps         0xcf69(%edx),%xmm5
+  DB  15,89,236                           ; mulps         %xmm4,%xmm5
+  DB  102,15,91,221                       ; cvtps2dq      %xmm5,%xmm3
+  DB  102,15,112,227,78                   ; pshufd        $0x4e,%xmm3,%xmm4
+  DB  102,15,112,235,231                  ; pshufd        $0xe7,%xmm3,%xmm5
+  DB  102,15,126,234                      ; movd          %xmm5,%edx
+  DB  243,15,16,44,145                    ; movss         (%ecx,%edx,4),%xmm5
+  DB  102,15,126,226                      ; movd          %xmm4,%edx
+  DB  243,15,16,36,145                    ; movss         (%ecx,%edx,4),%xmm4
+  DB  102,15,126,218                      ; movd          %xmm3,%edx
+  DB  102,15,112,243,229                  ; pshufd        $0xe5,%xmm3,%xmm6
+  DB  243,15,16,28,145                    ; movss         (%ecx,%edx,4),%xmm3
+  DB  102,15,126,242                      ; movd          %xmm6,%edx
+  DB  243,15,16,52,145                    ; movss         (%ecx,%edx,4),%xmm6
+  DB  15,20,229                           ; unpcklps      %xmm5,%xmm4
+  DB  15,20,222                           ; unpcklps      %xmm6,%xmm3
+  DB  102,15,20,220                       ; unpcklpd      %xmm4,%xmm3
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_parametric_r_sse2
+_sk_parametric_r_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,40                          ; sub           $0x28,%esp
+  DB  15,41,93,216                        ; movaps        %xmm3,-0x28(%ebp)
+  DB  15,41,85,232                        ; movaps        %xmm2,-0x18(%ebp)
+  DB  15,40,217                           ; movaps        %xmm1,%xmm3
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  232,0,0,0,0                         ; call          388e <_sk_parametric_r_sse2+0x19>
+  DB  90                                  ; pop           %edx
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  243,15,16,113,16                    ; movss         0x10(%ecx),%xmm6
+  DB  15,198,246,0                        ; shufps        $0x0,%xmm6,%xmm6
+  DB  243,15,16,81,12                     ; movss         0xc(%ecx),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  15,89,209                           ; mulps         %xmm1,%xmm2
+  DB  243,15,16,105,4                     ; movss         0x4(%ecx),%xmm5
+  DB  15,198,237,0                        ; shufps        $0x0,%xmm5,%xmm5
+  DB  15,89,233                           ; mulps         %xmm1,%xmm5
+  DB  15,194,206,2                        ; cmpleps       %xmm6,%xmm1
+  DB  243,15,16,113,24                    ; movss         0x18(%ecx),%xmm6
+  DB  15,198,246,0                        ; shufps        $0x0,%xmm6,%xmm6
+  DB  15,88,214                           ; addps         %xmm6,%xmm2
+  DB  243,15,16,113,8                     ; movss         0x8(%ecx),%xmm6
+  DB  15,198,246,0                        ; shufps        $0x0,%xmm6,%xmm6
+  DB  15,88,238                           ; addps         %xmm6,%xmm5
+  DB  15,91,245                           ; cvtdq2ps      %xmm5,%xmm6
+  DB  15,89,178,114,209,0,0               ; mulps         0xd172(%edx),%xmm6
+  DB  15,40,186,130,209,0,0               ; movaps        0xd182(%edx),%xmm7
+  DB  15,84,253                           ; andps         %xmm5,%xmm7
+  DB  15,86,186,210,206,0,0               ; orps          0xced2(%edx),%xmm7
+  DB  15,88,178,146,209,0,0               ; addps         0xd192(%edx),%xmm6
+  DB  15,40,162,162,209,0,0               ; movaps        0xd1a2(%edx),%xmm4
+  DB  15,89,231                           ; mulps         %xmm7,%xmm4
+  DB  15,92,244                           ; subps         %xmm4,%xmm6
+  DB  15,88,186,178,209,0,0               ; addps         0xd1b2(%edx),%xmm7
+  DB  15,40,162,194,209,0,0               ; movaps        0xd1c2(%edx),%xmm4
+  DB  15,94,231                           ; divps         %xmm7,%xmm4
+  DB  15,92,244                           ; subps         %xmm4,%xmm6
+  DB  243,15,16,33                        ; movss         (%ecx),%xmm4
+  DB  15,198,228,0                        ; shufps        $0x0,%xmm4,%xmm4
+  DB  15,89,244                           ; mulps         %xmm4,%xmm6
+  DB  243,15,91,230                       ; cvttps2dq     %xmm6,%xmm4
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  15,40,198                           ; movaps        %xmm6,%xmm0
+  DB  15,194,196,1                        ; cmpltps       %xmm4,%xmm0
+  DB  15,40,186,226,206,0,0               ; movaps        0xcee2(%edx),%xmm7
+  DB  15,84,199                           ; andps         %xmm7,%xmm0
+  DB  15,92,224                           ; subps         %xmm0,%xmm4
+  DB  15,40,198                           ; movaps        %xmm6,%xmm0
+  DB  15,92,196                           ; subps         %xmm4,%xmm0
+  DB  15,88,178,210,209,0,0               ; addps         0xd1d2(%edx),%xmm6
+  DB  15,40,162,226,209,0,0               ; movaps        0xd1e2(%edx),%xmm4
+  DB  15,89,224                           ; mulps         %xmm0,%xmm4
+  DB  15,92,244                           ; subps         %xmm4,%xmm6
+  DB  15,40,162,242,209,0,0               ; movaps        0xd1f2(%edx),%xmm4
+  DB  15,92,224                           ; subps         %xmm0,%xmm4
+  DB  15,40,130,2,210,0,0                 ; movaps        0xd202(%edx),%xmm0
+  DB  15,94,196                           ; divps         %xmm4,%xmm0
+  DB  15,88,198                           ; addps         %xmm6,%xmm0
+  DB  15,89,130,18,210,0,0                ; mulps         0xd212(%edx),%xmm0
+  DB  102,15,91,192                       ; cvtps2dq      %xmm0,%xmm0
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,194,236,4                        ; cmpneqps      %xmm4,%xmm5
+  DB  15,84,232                           ; andps         %xmm0,%xmm5
+  DB  243,15,16,65,20                     ; movss         0x14(%ecx),%xmm0
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  15,88,197                           ; addps         %xmm5,%xmm0
+  DB  15,84,209                           ; andps         %xmm1,%xmm2
+  DB  15,85,200                           ; andnps        %xmm0,%xmm1
+  DB  15,86,202                           ; orps          %xmm2,%xmm1
+  DB  15,95,204                           ; maxps         %xmm4,%xmm1
+  DB  15,93,207                           ; minps         %xmm7,%xmm1
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,193                           ; movaps        %xmm1,%xmm0
+  DB  15,40,203                           ; movaps        %xmm3,%xmm1
+  DB  15,40,85,232                        ; movaps        -0x18(%ebp),%xmm2
+  DB  15,40,93,216                        ; movaps        -0x28(%ebp),%xmm3
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,56                          ; add           $0x38,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_parametric_g_sse2
+_sk_parametric_g_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,40                          ; sub           $0x28,%esp
+  DB  15,41,93,216                        ; movaps        %xmm3,-0x28(%ebp)
+  DB  15,41,85,232                        ; movaps        %xmm2,-0x18(%ebp)
+  DB  15,40,216                           ; movaps        %xmm0,%xmm3
+  DB  232,0,0,0,0                         ; call          39d1 <_sk_parametric_g_sse2+0x16>
+  DB  90                                  ; pop           %edx
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  243,15,16,113,16                    ; movss         0x10(%ecx),%xmm6
+  DB  15,198,246,0                        ; shufps        $0x0,%xmm6,%xmm6
+  DB  243,15,16,81,12                     ; movss         0xc(%ecx),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  15,89,209                           ; mulps         %xmm1,%xmm2
+  DB  243,15,16,105,4                     ; movss         0x4(%ecx),%xmm5
+  DB  15,198,237,0                        ; shufps        $0x0,%xmm5,%xmm5
+  DB  15,89,233                           ; mulps         %xmm1,%xmm5
+  DB  15,194,206,2                        ; cmpleps       %xmm6,%xmm1
+  DB  243,15,16,113,24                    ; movss         0x18(%ecx),%xmm6
+  DB  15,198,246,0                        ; shufps        $0x0,%xmm6,%xmm6
+  DB  15,88,214                           ; addps         %xmm6,%xmm2
+  DB  243,15,16,113,8                     ; movss         0x8(%ecx),%xmm6
+  DB  15,198,246,0                        ; shufps        $0x0,%xmm6,%xmm6
+  DB  15,88,238                           ; addps         %xmm6,%xmm5
+  DB  15,91,245                           ; cvtdq2ps      %xmm5,%xmm6
+  DB  15,89,178,47,208,0,0                ; mulps         0xd02f(%edx),%xmm6
+  DB  15,40,186,63,208,0,0                ; movaps        0xd03f(%edx),%xmm7
+  DB  15,84,253                           ; andps         %xmm5,%xmm7
+  DB  15,86,186,143,205,0,0               ; orps          0xcd8f(%edx),%xmm7
+  DB  15,88,178,79,208,0,0                ; addps         0xd04f(%edx),%xmm6
+  DB  15,40,162,95,208,0,0                ; movaps        0xd05f(%edx),%xmm4
+  DB  15,89,231                           ; mulps         %xmm7,%xmm4
+  DB  15,92,244                           ; subps         %xmm4,%xmm6
+  DB  15,88,186,111,208,0,0               ; addps         0xd06f(%edx),%xmm7
+  DB  15,40,162,127,208,0,0               ; movaps        0xd07f(%edx),%xmm4
+  DB  15,94,231                           ; divps         %xmm7,%xmm4
+  DB  15,92,244                           ; subps         %xmm4,%xmm6
+  DB  243,15,16,33                        ; movss         (%ecx),%xmm4
+  DB  15,198,228,0                        ; shufps        $0x0,%xmm4,%xmm4
+  DB  15,89,244                           ; mulps         %xmm4,%xmm6
+  DB  243,15,91,230                       ; cvttps2dq     %xmm6,%xmm4
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  15,40,198                           ; movaps        %xmm6,%xmm0
+  DB  15,194,196,1                        ; cmpltps       %xmm4,%xmm0
+  DB  15,40,186,159,205,0,0               ; movaps        0xcd9f(%edx),%xmm7
+  DB  15,84,199                           ; andps         %xmm7,%xmm0
+  DB  15,92,224                           ; subps         %xmm0,%xmm4
+  DB  15,40,198                           ; movaps        %xmm6,%xmm0
+  DB  15,92,196                           ; subps         %xmm4,%xmm0
+  DB  15,88,178,143,208,0,0               ; addps         0xd08f(%edx),%xmm6
+  DB  15,40,162,159,208,0,0               ; movaps        0xd09f(%edx),%xmm4
+  DB  15,89,224                           ; mulps         %xmm0,%xmm4
+  DB  15,92,244                           ; subps         %xmm4,%xmm6
+  DB  15,40,162,175,208,0,0               ; movaps        0xd0af(%edx),%xmm4
+  DB  15,92,224                           ; subps         %xmm0,%xmm4
+  DB  15,40,130,191,208,0,0               ; movaps        0xd0bf(%edx),%xmm0
+  DB  15,94,196                           ; divps         %xmm4,%xmm0
+  DB  15,88,198                           ; addps         %xmm6,%xmm0
+  DB  15,89,130,207,208,0,0               ; mulps         0xd0cf(%edx),%xmm0
+  DB  102,15,91,192                       ; cvtps2dq      %xmm0,%xmm0
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,194,236,4                        ; cmpneqps      %xmm4,%xmm5
+  DB  15,84,232                           ; andps         %xmm0,%xmm5
+  DB  243,15,16,65,20                     ; movss         0x14(%ecx),%xmm0
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  15,88,197                           ; addps         %xmm5,%xmm0
+  DB  15,84,209                           ; andps         %xmm1,%xmm2
+  DB  15,85,200                           ; andnps        %xmm0,%xmm1
+  DB  15,86,202                           ; orps          %xmm2,%xmm1
+  DB  15,95,204                           ; maxps         %xmm4,%xmm1
+  DB  15,93,207                           ; minps         %xmm7,%xmm1
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,195                           ; movaps        %xmm3,%xmm0
+  DB  15,40,85,232                        ; movaps        -0x18(%ebp),%xmm2
+  DB  15,40,93,216                        ; movaps        -0x28(%ebp),%xmm3
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,56                          ; add           $0x38,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_parametric_b_sse2
+_sk_parametric_b_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,40                          ; sub           $0x28,%esp
+  DB  15,41,93,216                        ; movaps        %xmm3,-0x28(%ebp)
+  DB  15,41,77,232                        ; movaps        %xmm1,-0x18(%ebp)
+  DB  15,40,216                           ; movaps        %xmm0,%xmm3
+  DB  232,0,0,0,0                         ; call          3b11 <_sk_parametric_b_sse2+0x16>
+  DB  90                                  ; pop           %edx
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  243,15,16,113,16                    ; movss         0x10(%ecx),%xmm6
+  DB  15,198,246,0                        ; shufps        $0x0,%xmm6,%xmm6
+  DB  243,15,16,73,12                     ; movss         0xc(%ecx),%xmm1
+  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
+  DB  15,89,202                           ; mulps         %xmm2,%xmm1
+  DB  243,15,16,105,4                     ; movss         0x4(%ecx),%xmm5
+  DB  15,198,237,0                        ; shufps        $0x0,%xmm5,%xmm5
+  DB  15,89,234                           ; mulps         %xmm2,%xmm5
+  DB  15,194,214,2                        ; cmpleps       %xmm6,%xmm2
+  DB  243,15,16,113,24                    ; movss         0x18(%ecx),%xmm6
+  DB  15,198,246,0                        ; shufps        $0x0,%xmm6,%xmm6
+  DB  15,88,206                           ; addps         %xmm6,%xmm1
+  DB  243,15,16,113,8                     ; movss         0x8(%ecx),%xmm6
+  DB  15,198,246,0                        ; shufps        $0x0,%xmm6,%xmm6
+  DB  15,88,238                           ; addps         %xmm6,%xmm5
+  DB  15,91,245                           ; cvtdq2ps      %xmm5,%xmm6
+  DB  15,89,178,239,206,0,0               ; mulps         0xceef(%edx),%xmm6
+  DB  15,40,186,255,206,0,0               ; movaps        0xceff(%edx),%xmm7
+  DB  15,84,253                           ; andps         %xmm5,%xmm7
+  DB  15,86,186,79,204,0,0                ; orps          0xcc4f(%edx),%xmm7
+  DB  15,88,178,15,207,0,0                ; addps         0xcf0f(%edx),%xmm6
+  DB  15,40,162,31,207,0,0                ; movaps        0xcf1f(%edx),%xmm4
+  DB  15,89,231                           ; mulps         %xmm7,%xmm4
+  DB  15,92,244                           ; subps         %xmm4,%xmm6
+  DB  15,88,186,47,207,0,0                ; addps         0xcf2f(%edx),%xmm7
+  DB  15,40,162,63,207,0,0                ; movaps        0xcf3f(%edx),%xmm4
+  DB  15,94,231                           ; divps         %xmm7,%xmm4
+  DB  15,92,244                           ; subps         %xmm4,%xmm6
+  DB  243,15,16,33                        ; movss         (%ecx),%xmm4
+  DB  15,198,228,0                        ; shufps        $0x0,%xmm4,%xmm4
+  DB  15,89,244                           ; mulps         %xmm4,%xmm6
+  DB  243,15,91,230                       ; cvttps2dq     %xmm6,%xmm4
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  15,40,198                           ; movaps        %xmm6,%xmm0
+  DB  15,194,196,1                        ; cmpltps       %xmm4,%xmm0
+  DB  15,40,186,95,204,0,0                ; movaps        0xcc5f(%edx),%xmm7
+  DB  15,84,199                           ; andps         %xmm7,%xmm0
+  DB  15,92,224                           ; subps         %xmm0,%xmm4
+  DB  15,40,198                           ; movaps        %xmm6,%xmm0
+  DB  15,92,196                           ; subps         %xmm4,%xmm0
+  DB  15,88,178,79,207,0,0                ; addps         0xcf4f(%edx),%xmm6
+  DB  15,40,162,95,207,0,0                ; movaps        0xcf5f(%edx),%xmm4
+  DB  15,89,224                           ; mulps         %xmm0,%xmm4
+  DB  15,92,244                           ; subps         %xmm4,%xmm6
+  DB  15,40,162,111,207,0,0               ; movaps        0xcf6f(%edx),%xmm4
+  DB  15,92,224                           ; subps         %xmm0,%xmm4
+  DB  15,40,130,127,207,0,0               ; movaps        0xcf7f(%edx),%xmm0
+  DB  15,94,196                           ; divps         %xmm4,%xmm0
+  DB  15,88,198                           ; addps         %xmm6,%xmm0
+  DB  15,89,130,143,207,0,0               ; mulps         0xcf8f(%edx),%xmm0
+  DB  102,15,91,192                       ; cvtps2dq      %xmm0,%xmm0
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,194,236,4                        ; cmpneqps      %xmm4,%xmm5
+  DB  15,84,232                           ; andps         %xmm0,%xmm5
+  DB  243,15,16,65,20                     ; movss         0x14(%ecx),%xmm0
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  15,88,197                           ; addps         %xmm5,%xmm0
+  DB  15,84,202                           ; andps         %xmm2,%xmm1
+  DB  15,85,208                           ; andnps        %xmm0,%xmm2
+  DB  15,86,209                           ; orps          %xmm1,%xmm2
+  DB  15,95,212                           ; maxps         %xmm4,%xmm2
+  DB  15,93,215                           ; minps         %xmm7,%xmm2
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,195                           ; movaps        %xmm3,%xmm0
+  DB  15,40,77,232                        ; movaps        -0x18(%ebp),%xmm1
+  DB  15,40,93,216                        ; movaps        -0x28(%ebp),%xmm3
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,56                          ; add           $0x38,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_parametric_a_sse2
+_sk_parametric_a_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,40                          ; sub           $0x28,%esp
+  DB  15,41,85,216                        ; movaps        %xmm2,-0x28(%ebp)
+  DB  15,41,77,232                        ; movaps        %xmm1,-0x18(%ebp)
+  DB  15,40,208                           ; movaps        %xmm0,%xmm2
+  DB  232,0,0,0,0                         ; call          3c51 <_sk_parametric_a_sse2+0x16>
+  DB  90                                  ; pop           %edx
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  243,15,16,113,16                    ; movss         0x10(%ecx),%xmm6
+  DB  15,198,246,0                        ; shufps        $0x0,%xmm6,%xmm6
+  DB  243,15,16,73,12                     ; movss         0xc(%ecx),%xmm1
+  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
+  DB  15,89,203                           ; mulps         %xmm3,%xmm1
+  DB  243,15,16,105,4                     ; movss         0x4(%ecx),%xmm5
+  DB  15,198,237,0                        ; shufps        $0x0,%xmm5,%xmm5
+  DB  15,89,235                           ; mulps         %xmm3,%xmm5
+  DB  15,194,222,2                        ; cmpleps       %xmm6,%xmm3
+  DB  243,15,16,113,24                    ; movss         0x18(%ecx),%xmm6
+  DB  15,198,246,0                        ; shufps        $0x0,%xmm6,%xmm6
+  DB  15,88,206                           ; addps         %xmm6,%xmm1
+  DB  243,15,16,113,8                     ; movss         0x8(%ecx),%xmm6
+  DB  15,198,246,0                        ; shufps        $0x0,%xmm6,%xmm6
+  DB  15,88,238                           ; addps         %xmm6,%xmm5
+  DB  15,91,245                           ; cvtdq2ps      %xmm5,%xmm6
+  DB  15,89,178,175,205,0,0               ; mulps         0xcdaf(%edx),%xmm6
+  DB  15,40,186,191,205,0,0               ; movaps        0xcdbf(%edx),%xmm7
+  DB  15,84,253                           ; andps         %xmm5,%xmm7
+  DB  15,86,186,15,203,0,0                ; orps          0xcb0f(%edx),%xmm7
+  DB  15,88,178,207,205,0,0               ; addps         0xcdcf(%edx),%xmm6
+  DB  15,40,162,223,205,0,0               ; movaps        0xcddf(%edx),%xmm4
+  DB  15,89,231                           ; mulps         %xmm7,%xmm4
+  DB  15,92,244                           ; subps         %xmm4,%xmm6
+  DB  15,88,186,239,205,0,0               ; addps         0xcdef(%edx),%xmm7
+  DB  15,40,162,255,205,0,0               ; movaps        0xcdff(%edx),%xmm4
+  DB  15,94,231                           ; divps         %xmm7,%xmm4
+  DB  15,92,244                           ; subps         %xmm4,%xmm6
+  DB  243,15,16,33                        ; movss         (%ecx),%xmm4
+  DB  15,198,228,0                        ; shufps        $0x0,%xmm4,%xmm4
+  DB  15,89,244                           ; mulps         %xmm4,%xmm6
+  DB  243,15,91,230                       ; cvttps2dq     %xmm6,%xmm4
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  15,40,198                           ; movaps        %xmm6,%xmm0
+  DB  15,194,196,1                        ; cmpltps       %xmm4,%xmm0
+  DB  15,40,186,31,203,0,0                ; movaps        0xcb1f(%edx),%xmm7
+  DB  15,84,199                           ; andps         %xmm7,%xmm0
+  DB  15,92,224                           ; subps         %xmm0,%xmm4
+  DB  15,40,198                           ; movaps        %xmm6,%xmm0
+  DB  15,92,196                           ; subps         %xmm4,%xmm0
+  DB  15,88,178,15,206,0,0                ; addps         0xce0f(%edx),%xmm6
+  DB  15,40,162,31,206,0,0                ; movaps        0xce1f(%edx),%xmm4
+  DB  15,89,224                           ; mulps         %xmm0,%xmm4
+  DB  15,92,244                           ; subps         %xmm4,%xmm6
+  DB  15,40,162,47,206,0,0                ; movaps        0xce2f(%edx),%xmm4
+  DB  15,92,224                           ; subps         %xmm0,%xmm4
+  DB  15,40,130,63,206,0,0                ; movaps        0xce3f(%edx),%xmm0
+  DB  15,94,196                           ; divps         %xmm4,%xmm0
+  DB  15,88,198                           ; addps         %xmm6,%xmm0
+  DB  15,89,130,79,206,0,0                ; mulps         0xce4f(%edx),%xmm0
+  DB  102,15,91,192                       ; cvtps2dq      %xmm0,%xmm0
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,194,236,4                        ; cmpneqps      %xmm4,%xmm5
+  DB  15,84,232                           ; andps         %xmm0,%xmm5
+  DB  243,15,16,65,20                     ; movss         0x14(%ecx),%xmm0
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  15,88,197                           ; addps         %xmm5,%xmm0
+  DB  15,84,203                           ; andps         %xmm3,%xmm1
+  DB  15,85,216                           ; andnps        %xmm0,%xmm3
+  DB  15,86,217                           ; orps          %xmm1,%xmm3
+  DB  15,95,220                           ; maxps         %xmm4,%xmm3
+  DB  15,93,223                           ; minps         %xmm7,%xmm3
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,194                           ; movaps        %xmm2,%xmm0
+  DB  15,40,77,232                        ; movaps        -0x18(%ebp),%xmm1
+  DB  15,40,85,216                        ; movaps        -0x28(%ebp),%xmm2
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,56                          ; add           $0x38,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_gamma_sse2
+_sk_gamma_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,88                          ; sub           $0x58,%esp
+  DB  15,41,93,168                        ; movaps        %xmm3,-0x58(%ebp)
+  DB  15,41,85,200                        ; movaps        %xmm2,-0x38(%ebp)
+  DB  15,41,77,232                        ; movaps        %xmm1,-0x18(%ebp)
+  DB  15,41,69,184                        ; movaps        %xmm0,-0x48(%ebp)
+  DB  232,0,0,0,0                         ; call          3d96 <_sk_gamma_sse2+0x1b>
+  DB  88                                  ; pop           %eax
+  DB  15,91,232                           ; cvtdq2ps      %xmm0,%xmm5
+  DB  15,89,168,106,204,0,0               ; mulps         0xcc6a(%eax),%xmm5
+  DB  15,40,160,122,204,0,0               ; movaps        0xcc7a(%eax),%xmm4
+  DB  15,40,208                           ; movaps        %xmm0,%xmm2
+  DB  15,84,212                           ; andps         %xmm4,%xmm2
+  DB  15,86,144,202,201,0,0               ; orps          0xc9ca(%eax),%xmm2
+  DB  15,88,168,138,204,0,0               ; addps         0xcc8a(%eax),%xmm5
+  DB  15,40,202                           ; movaps        %xmm2,%xmm1
+  DB  15,89,136,154,204,0,0               ; mulps         0xcc9a(%eax),%xmm1
+  DB  15,92,233                           ; subps         %xmm1,%xmm5
+  DB  15,88,144,170,204,0,0               ; addps         0xccaa(%eax),%xmm2
+  DB  15,40,136,186,204,0,0               ; movaps        0xccba(%eax),%xmm1
+  DB  15,94,202                           ; divps         %xmm2,%xmm1
+  DB  15,92,233                           ; subps         %xmm1,%xmm5
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  139,17                              ; mov           (%ecx),%edx
+  DB  243,15,16,2                         ; movss         (%edx),%xmm0
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  15,41,69,216                        ; movaps        %xmm0,-0x28(%ebp)
+  DB  15,89,232                           ; mulps         %xmm0,%xmm5
+  DB  243,15,91,197                       ; cvttps2dq     %xmm5,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  15,40,205                           ; movaps        %xmm5,%xmm1
+  DB  15,194,200,1                        ; cmpltps       %xmm0,%xmm1
+  DB  15,84,136,218,201,0,0               ; andps         0xc9da(%eax),%xmm1
+  DB  15,92,193                           ; subps         %xmm1,%xmm0
+  DB  15,40,205                           ; movaps        %xmm5,%xmm1
+  DB  15,92,200                           ; subps         %xmm0,%xmm1
+  DB  15,88,168,202,204,0,0               ; addps         0xccca(%eax),%xmm5
+  DB  15,40,184,234,204,0,0               ; movaps        0xccea(%eax),%xmm7
+  DB  15,40,199                           ; movaps        %xmm7,%xmm0
+  DB  15,92,193                           ; subps         %xmm1,%xmm0
+  DB  15,40,176,218,204,0,0               ; movaps        0xccda(%eax),%xmm6
+  DB  15,89,206                           ; mulps         %xmm6,%xmm1
+  DB  15,92,233                           ; subps         %xmm1,%xmm5
+  DB  15,40,144,250,204,0,0               ; movaps        0xccfa(%eax),%xmm2
+  DB  15,40,218                           ; movaps        %xmm2,%xmm3
+  DB  15,94,216                           ; divps         %xmm0,%xmm3
+  DB  15,88,221                           ; addps         %xmm5,%xmm3
+  DB  15,40,77,232                        ; movaps        -0x18(%ebp),%xmm1
+  DB  15,91,193                           ; cvtdq2ps      %xmm1,%xmm0
+  DB  15,89,128,106,204,0,0               ; mulps         0xcc6a(%eax),%xmm0
+  DB  15,84,204                           ; andps         %xmm4,%xmm1
+  DB  15,86,136,202,201,0,0               ; orps          0xc9ca(%eax),%xmm1
+  DB  15,88,128,138,204,0,0               ; addps         0xcc8a(%eax),%xmm0
+  DB  15,40,233                           ; movaps        %xmm1,%xmm5
+  DB  15,89,168,154,204,0,0               ; mulps         0xcc9a(%eax),%xmm5
+  DB  15,92,197                           ; subps         %xmm5,%xmm0
+  DB  15,88,136,170,204,0,0               ; addps         0xccaa(%eax),%xmm1
+  DB  15,40,168,186,204,0,0               ; movaps        0xccba(%eax),%xmm5
+  DB  15,94,233                           ; divps         %xmm1,%xmm5
+  DB  15,92,197                           ; subps         %xmm5,%xmm0
+  DB  15,89,69,216                        ; mulps         -0x28(%ebp),%xmm0
+  DB  243,15,91,200                       ; cvttps2dq     %xmm0,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  15,40,232                           ; movaps        %xmm0,%xmm5
+  DB  15,194,233,1                        ; cmpltps       %xmm1,%xmm5
+  DB  15,84,168,218,201,0,0               ; andps         0xc9da(%eax),%xmm5
+  DB  15,92,205                           ; subps         %xmm5,%xmm1
+  DB  15,40,232                           ; movaps        %xmm0,%xmm5
+  DB  15,92,233                           ; subps         %xmm1,%xmm5
+  DB  15,88,128,202,204,0,0               ; addps         0xccca(%eax),%xmm0
+  DB  15,40,207                           ; movaps        %xmm7,%xmm1
+  DB  15,92,205                           ; subps         %xmm5,%xmm1
+  DB  15,89,238                           ; mulps         %xmm6,%xmm5
+  DB  15,92,197                           ; subps         %xmm5,%xmm0
+  DB  15,40,234                           ; movaps        %xmm2,%xmm5
+  DB  15,94,233                           ; divps         %xmm1,%xmm5
+  DB  15,88,232                           ; addps         %xmm0,%xmm5
+  DB  15,40,77,200                        ; movaps        -0x38(%ebp),%xmm1
+  DB  15,91,193                           ; cvtdq2ps      %xmm1,%xmm0
+  DB  15,89,128,106,204,0,0               ; mulps         0xcc6a(%eax),%xmm0
+  DB  15,84,225                           ; andps         %xmm1,%xmm4
+  DB  15,86,160,202,201,0,0               ; orps          0xc9ca(%eax),%xmm4
+  DB  15,88,128,138,204,0,0               ; addps         0xcc8a(%eax),%xmm0
+  DB  15,40,136,154,204,0,0               ; movaps        0xcc9a(%eax),%xmm1
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  15,92,193                           ; subps         %xmm1,%xmm0
+  DB  15,88,160,170,204,0,0               ; addps         0xccaa(%eax),%xmm4
+  DB  15,40,136,186,204,0,0               ; movaps        0xccba(%eax),%xmm1
+  DB  15,94,204                           ; divps         %xmm4,%xmm1
+  DB  15,92,193                           ; subps         %xmm1,%xmm0
+  DB  15,89,69,216                        ; mulps         -0x28(%ebp),%xmm0
+  DB  243,15,91,200                       ; cvttps2dq     %xmm0,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  15,40,224                           ; movaps        %xmm0,%xmm4
+  DB  15,194,225,1                        ; cmpltps       %xmm1,%xmm4
+  DB  15,84,160,218,201,0,0               ; andps         0xc9da(%eax),%xmm4
+  DB  15,92,204                           ; subps         %xmm4,%xmm1
+  DB  15,40,224                           ; movaps        %xmm0,%xmm4
+  DB  15,92,225                           ; subps         %xmm1,%xmm4
+  DB  15,88,128,202,204,0,0               ; addps         0xccca(%eax),%xmm0
+  DB  15,89,244                           ; mulps         %xmm4,%xmm6
+  DB  15,92,198                           ; subps         %xmm6,%xmm0
+  DB  15,92,252                           ; subps         %xmm4,%xmm7
+  DB  15,94,215                           ; divps         %xmm7,%xmm2
+  DB  15,88,208                           ; addps         %xmm0,%xmm2
+  DB  15,40,128,10,205,0,0                ; movaps        0xcd0a(%eax),%xmm0
+  DB  15,89,216                           ; mulps         %xmm0,%xmm3
+  DB  15,89,232                           ; mulps         %xmm0,%xmm5
+  DB  15,89,208                           ; mulps         %xmm0,%xmm2
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  102,15,91,203                       ; cvtps2dq      %xmm3,%xmm1
+  DB  15,40,69,184                        ; movaps        -0x48(%ebp),%xmm0
+  DB  15,194,196,4                        ; cmpneqps      %xmm4,%xmm0
+  DB  15,84,193                           ; andps         %xmm1,%xmm0
+  DB  102,15,91,205                       ; cvtps2dq      %xmm5,%xmm1
+  DB  15,40,93,232                        ; movaps        -0x18(%ebp),%xmm3
+  DB  15,194,220,4                        ; cmpneqps      %xmm4,%xmm3
+  DB  15,84,217                           ; andps         %xmm1,%xmm3
+  DB  15,40,203                           ; movaps        %xmm3,%xmm1
+  DB  15,40,93,200                        ; movaps        -0x38(%ebp),%xmm3
+  DB  15,194,220,4                        ; cmpneqps      %xmm4,%xmm3
+  DB  102,15,91,210                       ; cvtps2dq      %xmm2,%xmm2
+  DB  15,84,218                           ; andps         %xmm2,%xmm3
+  DB  15,40,211                           ; movaps        %xmm3,%xmm2
+  DB  141,65,8                            ; lea           0x8(%ecx),%eax
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,93,168                        ; movaps        -0x58(%ebp),%xmm3
+  DB  80                                  ; push          %eax
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,81,4                            ; call          *0x4(%ecx)
+  DB  131,196,104                         ; add           $0x68,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_gamma_dst_sse2
+_sk_gamma_dst_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  86                                  ; push          %esi
+  DB  129,236,212,0,0,0                   ; sub           $0xd4,%esp
+  DB  15,41,157,40,255,255,255            ; movaps        %xmm3,-0xd8(%ebp)
+  DB  15,41,149,56,255,255,255            ; movaps        %xmm2,-0xc8(%ebp)
+  DB  15,41,141,72,255,255,255            ; movaps        %xmm1,-0xb8(%ebp)
+  DB  15,41,133,88,255,255,255            ; movaps        %xmm0,-0xa8(%ebp)
+  DB  232,0,0,0,0                         ; call          3fbd <_sk_gamma_dst_sse2+0x2b>
+  DB  94                                  ; pop           %esi
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  15,40,72,16                         ; movaps        0x10(%eax),%xmm1
+  DB  15,91,193                           ; cvtdq2ps      %xmm1,%xmm0
+  DB  15,40,150,67,202,0,0                ; movaps        0xca43(%esi),%xmm2
+  DB  15,41,149,104,255,255,255           ; movaps        %xmm2,-0x98(%ebp)
+  DB  15,89,194                           ; mulps         %xmm2,%xmm0
+  DB  15,40,166,83,202,0,0                ; movaps        0xca53(%esi),%xmm4
+  DB  15,40,209                           ; movaps        %xmm1,%xmm2
+  DB  15,84,212                           ; andps         %xmm4,%xmm2
+  DB  15,40,158,163,199,0,0               ; movaps        0xc7a3(%esi),%xmm3
+  DB  15,41,157,120,255,255,255           ; movaps        %xmm3,-0x88(%ebp)
+  DB  15,86,211                           ; orps          %xmm3,%xmm2
+  DB  15,40,158,99,202,0,0                ; movaps        0xca63(%esi),%xmm3
+  DB  15,41,93,136                        ; movaps        %xmm3,-0x78(%ebp)
+  DB  15,88,195                           ; addps         %xmm3,%xmm0
+  DB  15,40,174,115,202,0,0               ; movaps        0xca73(%esi),%xmm5
+  DB  15,41,109,152                       ; movaps        %xmm5,-0x68(%ebp)
+  DB  15,40,218                           ; movaps        %xmm2,%xmm3
+  DB  15,89,221                           ; mulps         %xmm5,%xmm3
+  DB  15,92,195                           ; subps         %xmm3,%xmm0
+  DB  15,40,158,131,202,0,0               ; movaps        0xca83(%esi),%xmm3
+  DB  15,41,93,168                        ; movaps        %xmm3,-0x58(%ebp)
+  DB  15,88,211                           ; addps         %xmm3,%xmm2
+  DB  15,40,158,147,202,0,0               ; movaps        0xca93(%esi),%xmm3
+  DB  15,41,93,184                        ; movaps        %xmm3,-0x48(%ebp)
+  DB  15,94,218                           ; divps         %xmm2,%xmm3
+  DB  15,92,195                           ; subps         %xmm3,%xmm0
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  139,17                              ; mov           (%ecx),%edx
+  DB  243,15,16,18                        ; movss         (%edx),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  15,89,194                           ; mulps         %xmm2,%xmm0
+  DB  243,15,91,208                       ; cvttps2dq     %xmm0,%xmm2
+  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
+  DB  15,40,216                           ; movaps        %xmm0,%xmm3
+  DB  15,194,218,1                        ; cmpltps       %xmm2,%xmm3
+  DB  15,40,174,179,199,0,0               ; movaps        0xc7b3(%esi),%xmm5
+  DB  15,41,109,200                       ; movaps        %xmm5,-0x38(%ebp)
+  DB  15,84,221                           ; andps         %xmm5,%xmm3
+  DB  15,92,211                           ; subps         %xmm3,%xmm2
+  DB  15,40,216                           ; movaps        %xmm0,%xmm3
+  DB  15,92,218                           ; subps         %xmm2,%xmm3
+  DB  15,40,150,163,202,0,0               ; movaps        0xcaa3(%esi),%xmm2
+  DB  15,41,85,216                        ; movaps        %xmm2,-0x28(%ebp)
+  DB  15,88,194                           ; addps         %xmm2,%xmm0
+  DB  15,40,190,195,202,0,0               ; movaps        0xcac3(%esi),%xmm7
+  DB  15,40,239                           ; movaps        %xmm7,%xmm5
+  DB  15,92,235                           ; subps         %xmm3,%xmm5
+  DB  15,40,211                           ; movaps        %xmm3,%xmm2
+  DB  15,40,182,179,202,0,0               ; movaps        0xcab3(%esi),%xmm6
+  DB  15,89,214                           ; mulps         %xmm6,%xmm2
+  DB  15,92,194                           ; subps         %xmm2,%xmm0
+  DB  15,40,158,211,202,0,0               ; movaps        0xcad3(%esi),%xmm3
+  DB  15,40,211                           ; movaps        %xmm3,%xmm2
+  DB  15,94,213                           ; divps         %xmm5,%xmm2
+  DB  15,88,208                           ; addps         %xmm0,%xmm2
+  DB  15,40,134,227,202,0,0               ; movaps        0xcae3(%esi),%xmm0
+  DB  15,41,69,232                        ; movaps        %xmm0,-0x18(%ebp)
+  DB  15,89,208                           ; mulps         %xmm0,%xmm2
+  DB  102,15,91,194                       ; cvtps2dq      %xmm2,%xmm0
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  15,194,202,4                        ; cmpneqps      %xmm2,%xmm1
+  DB  15,84,200                           ; andps         %xmm0,%xmm1
+  DB  15,40,64,32                         ; movaps        0x20(%eax),%xmm0
+  DB  15,41,72,16                         ; movaps        %xmm1,0x10(%eax)
+  DB  15,91,200                           ; cvtdq2ps      %xmm0,%xmm1
+  DB  15,89,141,104,255,255,255           ; mulps         -0x98(%ebp),%xmm1
+  DB  15,40,208                           ; movaps        %xmm0,%xmm2
+  DB  15,84,212                           ; andps         %xmm4,%xmm2
+  DB  15,86,149,120,255,255,255           ; orps          -0x88(%ebp),%xmm2
+  DB  15,88,77,136                        ; addps         -0x78(%ebp),%xmm1
+  DB  15,40,234                           ; movaps        %xmm2,%xmm5
+  DB  15,89,109,152                       ; mulps         -0x68(%ebp),%xmm5
+  DB  15,92,205                           ; subps         %xmm5,%xmm1
+  DB  15,88,85,168                        ; addps         -0x58(%ebp),%xmm2
+  DB  15,40,109,184                       ; movaps        -0x48(%ebp),%xmm5
+  DB  15,94,234                           ; divps         %xmm2,%xmm5
+  DB  15,92,205                           ; subps         %xmm5,%xmm1
+  DB  243,15,16,18                        ; movss         (%edx),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  15,89,202                           ; mulps         %xmm2,%xmm1
+  DB  243,15,91,209                       ; cvttps2dq     %xmm1,%xmm2
+  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
+  DB  15,40,233                           ; movaps        %xmm1,%xmm5
+  DB  15,194,234,1                        ; cmpltps       %xmm2,%xmm5
+  DB  15,84,109,200                       ; andps         -0x38(%ebp),%xmm5
+  DB  15,92,213                           ; subps         %xmm5,%xmm2
+  DB  15,40,233                           ; movaps        %xmm1,%xmm5
+  DB  15,92,234                           ; subps         %xmm2,%xmm5
+  DB  15,88,77,216                        ; addps         -0x28(%ebp),%xmm1
+  DB  15,40,215                           ; movaps        %xmm7,%xmm2
+  DB  15,92,213                           ; subps         %xmm5,%xmm2
+  DB  15,89,238                           ; mulps         %xmm6,%xmm5
+  DB  15,92,205                           ; subps         %xmm5,%xmm1
+  DB  15,40,235                           ; movaps        %xmm3,%xmm5
+  DB  15,94,234                           ; divps         %xmm2,%xmm5
+  DB  15,88,233                           ; addps         %xmm1,%xmm5
+  DB  15,89,109,232                       ; mulps         -0x18(%ebp),%xmm5
+  DB  102,15,91,205                       ; cvtps2dq      %xmm5,%xmm1
+  DB  15,87,237                           ; xorps         %xmm5,%xmm5
+  DB  15,194,197,4                        ; cmpneqps      %xmm5,%xmm0
+  DB  15,84,193                           ; andps         %xmm1,%xmm0
+  DB  15,41,64,32                         ; movaps        %xmm0,0x20(%eax)
+  DB  15,40,64,48                         ; movaps        0x30(%eax),%xmm0
+  DB  15,91,200                           ; cvtdq2ps      %xmm0,%xmm1
+  DB  15,89,141,104,255,255,255           ; mulps         -0x98(%ebp),%xmm1
+  DB  15,84,224                           ; andps         %xmm0,%xmm4
+  DB  15,86,165,120,255,255,255           ; orps          -0x88(%ebp),%xmm4
+  DB  15,88,77,136                        ; addps         -0x78(%ebp),%xmm1
+  DB  15,40,85,152                        ; movaps        -0x68(%ebp),%xmm2
+  DB  15,89,212                           ; mulps         %xmm4,%xmm2
+  DB  15,92,202                           ; subps         %xmm2,%xmm1
+  DB  15,88,101,168                       ; addps         -0x58(%ebp),%xmm4
+  DB  15,40,85,184                        ; movaps        -0x48(%ebp),%xmm2
+  DB  15,94,212                           ; divps         %xmm4,%xmm2
+  DB  15,92,202                           ; subps         %xmm2,%xmm1
+  DB  243,15,16,18                        ; movss         (%edx),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  15,89,202                           ; mulps         %xmm2,%xmm1
+  DB  243,15,91,209                       ; cvttps2dq     %xmm1,%xmm2
+  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
+  DB  15,40,225                           ; movaps        %xmm1,%xmm4
+  DB  15,194,226,1                        ; cmpltps       %xmm2,%xmm4
+  DB  15,84,101,200                       ; andps         -0x38(%ebp),%xmm4
+  DB  15,92,212                           ; subps         %xmm4,%xmm2
+  DB  15,40,225                           ; movaps        %xmm1,%xmm4
+  DB  15,92,226                           ; subps         %xmm2,%xmm4
+  DB  15,88,77,216                        ; addps         -0x28(%ebp),%xmm1
+  DB  15,89,244                           ; mulps         %xmm4,%xmm6
+  DB  15,92,206                           ; subps         %xmm6,%xmm1
+  DB  15,92,252                           ; subps         %xmm4,%xmm7
+  DB  15,94,223                           ; divps         %xmm7,%xmm3
+  DB  15,88,217                           ; addps         %xmm1,%xmm3
+  DB  15,89,93,232                        ; mulps         -0x18(%ebp),%xmm3
+  DB  15,194,197,4                        ; cmpneqps      %xmm5,%xmm0
+  DB  102,15,91,203                       ; cvtps2dq      %xmm3,%xmm1
+  DB  15,84,193                           ; andps         %xmm1,%xmm0
+  DB  15,41,64,48                         ; movaps        %xmm0,0x30(%eax)
+  DB  141,81,8                            ; lea           0x8(%ecx),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,133,88,255,255,255            ; movaps        -0xa8(%ebp),%xmm0
+  DB  15,40,141,72,255,255,255            ; movaps        -0xb8(%ebp),%xmm1
+  DB  15,40,149,56,255,255,255            ; movaps        -0xc8(%ebp),%xmm2
+  DB  15,40,157,40,255,255,255            ; movaps        -0xd8(%ebp),%xmm3
+  DB  82                                  ; push          %edx
+  DB  80                                  ; push          %eax
+  DB  255,81,4                            ; call          *0x4(%ecx)
+  DB  129,196,228,0,0,0                   ; add           $0xe4,%esp
+  DB  94                                  ; pop           %esi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_lab_to_xyz_sse2
+_sk_lab_to_xyz_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,24                          ; sub           $0x18,%esp
+  DB  15,41,93,232                        ; movaps        %xmm3,-0x18(%ebp)
+  DB  15,40,218                           ; movaps        %xmm2,%xmm3
+  DB  15,40,208                           ; movaps        %xmm0,%xmm2
+  DB  232,0,0,0,0                         ; call          4219 <_sk_lab_to_xyz_sse2+0x15>
+  DB  88                                  ; pop           %eax
+  DB  15,89,144,151,200,0,0               ; mulps         0xc897(%eax),%xmm2
+  DB  15,40,160,39,198,0,0                ; movaps        0xc627(%eax),%xmm4
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  15,40,168,167,200,0,0               ; movaps        0xc8a7(%eax),%xmm5
+  DB  15,88,205                           ; addps         %xmm5,%xmm1
+  DB  15,89,220                           ; mulps         %xmm4,%xmm3
+  DB  15,88,221                           ; addps         %xmm5,%xmm3
+  DB  15,88,144,183,200,0,0               ; addps         0xc8b7(%eax),%xmm2
+  DB  15,89,144,199,200,0,0               ; mulps         0xc8c7(%eax),%xmm2
+  DB  15,89,136,215,200,0,0               ; mulps         0xc8d7(%eax),%xmm1
+  DB  15,88,202                           ; addps         %xmm2,%xmm1
+  DB  15,89,152,231,200,0,0               ; mulps         0xc8e7(%eax),%xmm3
+  DB  15,40,234                           ; movaps        %xmm2,%xmm5
+  DB  15,92,235                           ; subps         %xmm3,%xmm5
+  DB  15,40,193                           ; movaps        %xmm1,%xmm0
+  DB  15,89,192                           ; mulps         %xmm0,%xmm0
+  DB  15,89,193                           ; mulps         %xmm1,%xmm0
+  DB  15,40,152,247,200,0,0               ; movaps        0xc8f7(%eax),%xmm3
+  DB  15,40,227                           ; movaps        %xmm3,%xmm4
+  DB  15,194,224,1                        ; cmpltps       %xmm0,%xmm4
+  DB  15,40,176,7,201,0,0                 ; movaps        0xc907(%eax),%xmm6
+  DB  15,88,206                           ; addps         %xmm6,%xmm1
+  DB  15,40,184,23,201,0,0                ; movaps        0xc917(%eax),%xmm7
+  DB  15,89,207                           ; mulps         %xmm7,%xmm1
+  DB  15,84,196                           ; andps         %xmm4,%xmm0
+  DB  15,85,225                           ; andnps        %xmm1,%xmm4
+  DB  15,86,224                           ; orps          %xmm0,%xmm4
+  DB  15,40,194                           ; movaps        %xmm2,%xmm0
+  DB  15,89,192                           ; mulps         %xmm0,%xmm0
+  DB  15,89,194                           ; mulps         %xmm2,%xmm0
+  DB  15,40,203                           ; movaps        %xmm3,%xmm1
+  DB  15,194,200,1                        ; cmpltps       %xmm0,%xmm1
+  DB  15,88,214                           ; addps         %xmm6,%xmm2
+  DB  15,89,215                           ; mulps         %xmm7,%xmm2
+  DB  15,84,193                           ; andps         %xmm1,%xmm0
+  DB  15,85,202                           ; andnps        %xmm2,%xmm1
+  DB  15,86,200                           ; orps          %xmm0,%xmm1
+  DB  15,40,197                           ; movaps        %xmm5,%xmm0
+  DB  15,89,192                           ; mulps         %xmm0,%xmm0
+  DB  15,89,197                           ; mulps         %xmm5,%xmm0
+  DB  15,88,238                           ; addps         %xmm6,%xmm5
+  DB  15,89,239                           ; mulps         %xmm7,%xmm5
+  DB  15,194,216,1                        ; cmpltps       %xmm0,%xmm3
+  DB  15,84,195                           ; andps         %xmm3,%xmm0
+  DB  15,85,221                           ; andnps        %xmm5,%xmm3
+  DB  15,86,216                           ; orps          %xmm0,%xmm3
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  15,89,160,39,201,0,0                ; mulps         0xc927(%eax),%xmm4
+  DB  15,89,152,55,201,0,0                ; mulps         0xc937(%eax),%xmm3
+  DB  141,65,4                            ; lea           0x4(%ecx),%eax
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,196                           ; movaps        %xmm4,%xmm0
+  DB  15,40,211                           ; movaps        %xmm3,%xmm2
+  DB  15,40,93,232                        ; movaps        -0x18(%ebp),%xmm3
+  DB  80                                  ; push          %eax
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,17                              ; call          *(%ecx)
+  DB  131,196,40                          ; add           $0x28,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_load_a8_sse2
+_sk_load_a8_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,12                          ; sub           $0xc,%esp
+  DB  232,0,0,0,0                         ; call          4309 <_sk_load_a8_sse2+0xe>
+  DB  90                                  ; pop           %edx
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,56                              ; mov           (%eax),%edi
+  DB  139,119,4                           ; mov           0x4(%edi),%esi
+  DB  15,175,113,4                        ; imul          0x4(%ecx),%esi
+  DB  3,55                                ; add           (%edi),%esi
+  DB  139,89,8                            ; mov           0x8(%ecx),%ebx
+  DB  133,219                             ; test          %ebx,%ebx
+  DB  139,57                              ; mov           (%ecx),%edi
+  DB  117,60                              ; jne           4360 <_sk_load_a8_sse2+0x65>
+  DB  102,15,110,4,62                     ; movd          (%esi,%edi,1),%xmm0
+  DB  102,15,96,192                       ; punpcklbw     %xmm0,%xmm0
+  DB  102,15,97,192                       ; punpcklwd     %xmm0,%xmm0
+  DB  102,15,219,130,39,197,0,0           ; pand          0xc527(%edx),%xmm0
+  DB  15,91,216                           ; cvtdq2ps      %xmm0,%xmm3
+  DB  15,89,154,103,198,0,0               ; mulps         0xc667(%edx),%xmm3
+  DB  141,80,8                            ; lea           0x8(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  102,15,87,201                       ; xorpd         %xmm1,%xmm1
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,28                          ; add           $0x1c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  128,227,3                           ; and           $0x3,%bl
+  DB  128,251,1                           ; cmp           $0x1,%bl
+  DB  116,50                              ; je            439a <_sk_load_a8_sse2+0x9f>
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  128,251,2                           ; cmp           $0x2,%bl
+  DB  116,19                              ; je            4384 <_sk_load_a8_sse2+0x89>
+  DB  128,251,3                           ; cmp           $0x3,%bl
+  DB  117,187                             ; jne           4331 <_sk_load_a8_sse2+0x36>
+  DB  15,182,92,62,2                      ; movzbl        0x2(%esi,%edi,1),%ebx
+  DB  102,15,110,195                      ; movd          %ebx,%xmm0
+  DB  102,15,112,192,69                   ; pshufd        $0x45,%xmm0,%xmm0
+  DB  15,183,52,62                        ; movzwl        (%esi,%edi,1),%esi
+  DB  102,15,110,206                      ; movd          %esi,%xmm1
+  DB  102,15,96,200                       ; punpcklbw     %xmm0,%xmm1
+  DB  102,15,97,200                       ; punpcklwd     %xmm0,%xmm1
+  DB  242,15,16,193                       ; movsd         %xmm1,%xmm0
+  DB  235,151                             ; jmp           4331 <_sk_load_a8_sse2+0x36>
+  DB  15,182,52,62                        ; movzbl        (%esi,%edi,1),%esi
+  DB  102,15,110,198                      ; movd          %esi,%xmm0
+  DB  235,141                             ; jmp           4331 <_sk_load_a8_sse2+0x36>
+
+PUBLIC _sk_load_a8_dst_sse2
+_sk_load_a8_dst_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,12                          ; sub           $0xc,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,16                              ; mov           (%eax),%edx
+  DB  139,49                              ; mov           (%ecx),%esi
+  DB  139,122,4                           ; mov           0x4(%edx),%edi
+  DB  15,175,121,4                        ; imul          0x4(%ecx),%edi
+  DB  3,58                                ; add           (%edx),%edi
+  DB  139,89,8                            ; mov           0x8(%ecx),%ebx
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  102,15,127,97,48                    ; movdqa        %xmm4,0x30(%ecx)
+  DB  102,15,127,97,32                    ; movdqa        %xmm4,0x20(%ecx)
+  DB  102,15,127,97,16                    ; movdqa        %xmm4,0x10(%ecx)
+  DB  133,219                             ; test          %ebx,%ebx
+  DB  232,0,0,0,0                         ; call          43dd <_sk_load_a8_dst_sse2+0x39>
+  DB  90                                  ; pop           %edx
+  DB  117,54                              ; jne           4416 <_sk_load_a8_dst_sse2+0x72>
+  DB  102,15,110,36,55                    ; movd          (%edi,%esi,1),%xmm4
+  DB  102,15,96,224                       ; punpcklbw     %xmm0,%xmm4
+  DB  102,15,97,224                       ; punpcklwd     %xmm0,%xmm4
+  DB  102,15,219,162,83,196,0,0           ; pand          0xc453(%edx),%xmm4
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  15,89,162,147,197,0,0               ; mulps         0xc593(%edx),%xmm4
+  DB  15,41,97,64                         ; movaps        %xmm4,0x40(%ecx)
+  DB  141,80,8                            ; lea           0x8(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,28                          ; add           $0x1c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  128,227,3                           ; and           $0x3,%bl
+  DB  128,251,1                           ; cmp           $0x1,%bl
+  DB  116,46                              ; je            444c <_sk_load_a8_dst_sse2+0xa8>
+  DB  128,251,2                           ; cmp           $0x2,%bl
+  DB  116,19                              ; je            4436 <_sk_load_a8_dst_sse2+0x92>
+  DB  128,251,3                           ; cmp           $0x3,%bl
+  DB  117,197                             ; jne           43ed <_sk_load_a8_dst_sse2+0x49>
+  DB  15,182,92,55,2                      ; movzbl        0x2(%edi,%esi,1),%ebx
+  DB  102,15,110,227                      ; movd          %ebx,%xmm4
+  DB  102,15,112,228,69                   ; pshufd        $0x45,%xmm4,%xmm4
+  DB  15,183,52,55                        ; movzwl        (%edi,%esi,1),%esi
+  DB  102,15,110,238                      ; movd          %esi,%xmm5
+  DB  102,15,96,232                       ; punpcklbw     %xmm0,%xmm5
+  DB  102,15,97,232                       ; punpcklwd     %xmm0,%xmm5
+  DB  242,15,16,229                       ; movsd         %xmm5,%xmm4
+  DB  235,161                             ; jmp           43ed <_sk_load_a8_dst_sse2+0x49>
+  DB  15,182,52,55                        ; movzbl        (%edi,%esi,1),%esi
+  DB  102,15,110,230                      ; movd          %esi,%xmm4
+  DB  235,151                             ; jmp           43ed <_sk_load_a8_dst_sse2+0x49>
+
+PUBLIC _sk_gather_a8_sse2
+_sk_gather_a8_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  243,15,16,81,8                      ; movss         0x8(%ecx),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  102,15,118,219                      ; pcmpeqd       %xmm3,%xmm3
+  DB  102,15,254,211                      ; paddd         %xmm3,%xmm2
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,95,224                           ; maxps         %xmm0,%xmm4
+  DB  15,93,226                           ; minps         %xmm2,%xmm4
+  DB  243,15,16,65,12                     ; movss         0xc(%ecx),%xmm0
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  102,15,254,195                      ; paddd         %xmm3,%xmm0
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  15,95,209                           ; maxps         %xmm1,%xmm2
+  DB  15,93,208                           ; minps         %xmm0,%xmm2
+  DB  139,17                              ; mov           (%ecx),%edx
+  DB  243,15,91,194                       ; cvttps2dq     %xmm2,%xmm0
+  DB  102,15,110,73,4                     ; movd          0x4(%ecx),%xmm1
+  DB  102,15,112,201,0                    ; pshufd        $0x0,%xmm1,%xmm1
+  DB  102,15,112,208,245                  ; pshufd        $0xf5,%xmm0,%xmm2
+  DB  102,15,244,209                      ; pmuludq       %xmm1,%xmm2
+  DB  102,15,244,200                      ; pmuludq       %xmm0,%xmm1
+  DB  102,15,112,193,232                  ; pshufd        $0xe8,%xmm1,%xmm0
+  DB  102,15,112,202,232                  ; pshufd        $0xe8,%xmm2,%xmm1
+  DB  102,15,98,193                       ; punpckldq     %xmm1,%xmm0
+  DB  243,15,91,204                       ; cvttps2dq     %xmm4,%xmm1
+  DB  102,15,254,200                      ; paddd         %xmm0,%xmm1
+  DB  102,15,126,201                      ; movd          %xmm1,%ecx
+  DB  102,15,112,193,229                  ; pshufd        $0xe5,%xmm1,%xmm0
+  DB  102,15,112,209,78                   ; pshufd        $0x4e,%xmm1,%xmm2
+  DB  102,15,126,214                      ; movd          %xmm2,%esi
+  DB  102,15,112,201,231                  ; pshufd        $0xe7,%xmm1,%xmm1
+  DB  102,15,126,207                      ; movd          %xmm1,%edi
+  DB  15,182,52,50                        ; movzbl        (%edx,%esi,1),%esi
+  DB  15,182,60,58                        ; movzbl        (%edx,%edi,1),%edi
+  DB  193,231,8                           ; shl           $0x8,%edi
+  DB  9,247                               ; or            %esi,%edi
+  DB  102,15,126,198                      ; movd          %xmm0,%esi
+  DB  15,182,12,10                        ; movzbl        (%edx,%ecx,1),%ecx
+  DB  15,182,20,50                        ; movzbl        (%edx,%esi,1),%edx
+  DB  193,226,8                           ; shl           $0x8,%edx
+  DB  9,202                               ; or            %ecx,%edx
+  DB  102,15,110,194                      ; movd          %edx,%xmm0
+  DB  102,15,196,199,1                    ; pinsrw        $0x1,%edi,%xmm0
+  DB  232,0,0,0,0                         ; call          450a <_sk_gather_a8_sse2+0xb4>
+  DB  89                                  ; pop           %ecx
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  102,15,96,193                       ; punpcklbw     %xmm1,%xmm0
+  DB  102,15,97,193                       ; punpcklwd     %xmm1,%xmm0
+  DB  15,91,216                           ; cvtdq2ps      %xmm0,%xmm3
+  DB  15,89,153,102,196,0,0               ; mulps         0xc466(%ecx),%xmm3
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  102,15,239,210                      ; pxor          %xmm2,%xmm2
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,16                          ; add           $0x10,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_store_a8_sse2
+_sk_store_a8_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,12                          ; sub           $0xc,%esp
+  DB  232,0,0,0,0                         ; call          454e <_sk_store_a8_sse2+0xe>
+  DB  94                                  ; pop           %esi
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,56                              ; mov           (%eax),%edi
+  DB  139,87,4                            ; mov           0x4(%edi),%edx
+  DB  15,175,81,4                         ; imul          0x4(%ecx),%edx
+  DB  3,23                                ; add           (%edi),%edx
+  DB  139,89,8                            ; mov           0x8(%ecx),%ebx
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,95,227                           ; maxps         %xmm3,%xmm4
+  DB  15,93,166,34,194,0,0                ; minps         0xc222(%esi),%xmm4
+  DB  15,89,166,242,194,0,0               ; mulps         0xc2f2(%esi),%xmm4
+  DB  102,15,91,228                       ; cvtps2dq      %xmm4,%xmm4
+  DB  102,15,114,244,16                   ; pslld         $0x10,%xmm4
+  DB  102,15,114,228,16                   ; psrad         $0x10,%xmm4
+  DB  102,15,107,224                      ; packssdw      %xmm0,%xmm4
+  DB  102,15,103,224                      ; packuswb      %xmm0,%xmm4
+  DB  133,219                             ; test          %ebx,%ebx
+  DB  139,57                              ; mov           (%ecx),%edi
+  DB  117,26                              ; jne           45ad <_sk_store_a8_sse2+0x6d>
+  DB  102,15,126,230                      ; movd          %xmm4,%esi
+  DB  137,52,58                           ; mov           %esi,(%edx,%edi,1)
+  DB  141,80,8                            ; lea           0x8(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,28                          ; add           $0x1c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  102,15,96,224                       ; punpcklbw     %xmm0,%xmm4
+  DB  102,15,97,224                       ; punpcklwd     %xmm0,%xmm4
+  DB  128,227,3                           ; and           $0x3,%bl
+  DB  128,251,1                           ; cmp           $0x1,%bl
+  DB  116,54                              ; je            45f3 <_sk_store_a8_sse2+0xb3>
+  DB  128,251,2                           ; cmp           $0x2,%bl
+  DB  116,14                              ; je            45d0 <_sk_store_a8_sse2+0x90>
+  DB  128,251,3                           ; cmp           $0x3,%bl
+  DB  117,211                             ; jne           459a <_sk_store_a8_sse2+0x5a>
+  DB  102,15,197,220,4                    ; pextrw        $0x4,%xmm4,%ebx
+  DB  136,92,58,2                         ; mov           %bl,0x2(%edx,%edi,1)
+  DB  102,15,112,228,212                  ; pshufd        $0xd4,%xmm4,%xmm4
+  DB  102,15,219,166,18,198,0,0           ; pand          0xc612(%esi),%xmm4
+  DB  102,15,103,228                      ; packuswb      %xmm4,%xmm4
+  DB  102,15,103,228                      ; packuswb      %xmm4,%xmm4
+  DB  102,15,103,228                      ; packuswb      %xmm4,%xmm4
+  DB  102,15,126,230                      ; movd          %xmm4,%esi
+  DB  102,137,52,58                       ; mov           %si,(%edx,%edi,1)
+  DB  235,167                             ; jmp           459a <_sk_store_a8_sse2+0x5a>
+  DB  102,15,126,227                      ; movd          %xmm4,%ebx
+  DB  136,28,58                           ; mov           %bl,(%edx,%edi,1)
+  DB  235,158                             ; jmp           459a <_sk_store_a8_sse2+0x5a>
+
+PUBLIC _sk_load_g8_sse2
+_sk_load_g8_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,12                          ; sub           $0xc,%esp
+  DB  232,0,0,0,0                         ; call          460a <_sk_load_g8_sse2+0xe>
+  DB  90                                  ; pop           %edx
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,56                              ; mov           (%eax),%edi
+  DB  139,119,4                           ; mov           0x4(%edi),%esi
+  DB  15,175,113,4                        ; imul          0x4(%ecx),%esi
+  DB  3,55                                ; add           (%edi),%esi
+  DB  139,89,8                            ; mov           0x8(%ecx),%ebx
+  DB  133,219                             ; test          %ebx,%ebx
+  DB  139,57                              ; mov           (%ecx),%edi
+  DB  117,63                              ; jne           4664 <_sk_load_g8_sse2+0x68>
+  DB  102,15,110,4,62                     ; movd          (%esi,%edi,1),%xmm0
+  DB  102,15,96,192                       ; punpcklbw     %xmm0,%xmm0
+  DB  102,15,97,192                       ; punpcklwd     %xmm0,%xmm0
+  DB  102,15,219,130,38,194,0,0           ; pand          0xc226(%edx),%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  15,89,130,102,195,0,0               ; mulps         0xc366(%edx),%xmm0
+  DB  141,112,8                           ; lea           0x8(%eax),%esi
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,154,102,193,0,0               ; movaps        0xc166(%edx),%xmm3
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  15,40,208                           ; movaps        %xmm0,%xmm2
+  DB  86                                  ; push          %esi
+  DB  81                                  ; push          %ecx
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,28                          ; add           $0x1c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  128,227,3                           ; and           $0x3,%bl
+  DB  128,251,1                           ; cmp           $0x1,%bl
+  DB  116,50                              ; je            469e <_sk_load_g8_sse2+0xa2>
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  128,251,2                           ; cmp           $0x2,%bl
+  DB  116,19                              ; je            4688 <_sk_load_g8_sse2+0x8c>
+  DB  128,251,3                           ; cmp           $0x3,%bl
+  DB  117,184                             ; jne           4632 <_sk_load_g8_sse2+0x36>
+  DB  15,182,92,62,2                      ; movzbl        0x2(%esi,%edi,1),%ebx
+  DB  102,15,110,195                      ; movd          %ebx,%xmm0
+  DB  102,15,112,192,69                   ; pshufd        $0x45,%xmm0,%xmm0
+  DB  15,183,52,62                        ; movzwl        (%esi,%edi,1),%esi
+  DB  102,15,110,206                      ; movd          %esi,%xmm1
+  DB  102,15,96,200                       ; punpcklbw     %xmm0,%xmm1
+  DB  102,15,97,200                       ; punpcklwd     %xmm0,%xmm1
+  DB  242,15,16,193                       ; movsd         %xmm1,%xmm0
+  DB  235,148                             ; jmp           4632 <_sk_load_g8_sse2+0x36>
+  DB  15,182,52,62                        ; movzbl        (%esi,%edi,1),%esi
+  DB  102,15,110,198                      ; movd          %esi,%xmm0
+  DB  235,138                             ; jmp           4632 <_sk_load_g8_sse2+0x36>
+
+PUBLIC _sk_load_g8_dst_sse2
+_sk_load_g8_dst_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,12                          ; sub           $0xc,%esp
+  DB  232,0,0,0,0                         ; call          46b6 <_sk_load_g8_dst_sse2+0xe>
+  DB  90                                  ; pop           %edx
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,56                              ; mov           (%eax),%edi
+  DB  139,119,4                           ; mov           0x4(%edi),%esi
+  DB  15,175,113,4                        ; imul          0x4(%ecx),%esi
+  DB  3,55                                ; add           (%edi),%esi
+  DB  139,89,8                            ; mov           0x8(%ecx),%ebx
+  DB  133,219                             ; test          %ebx,%ebx
+  DB  139,57                              ; mov           (%ecx),%edi
+  DB  117,73                              ; jne           471a <_sk_load_g8_dst_sse2+0x72>
+  DB  102,15,110,36,62                    ; movd          (%esi,%edi,1),%xmm4
+  DB  102,15,96,224                       ; punpcklbw     %xmm0,%xmm4
+  DB  102,15,97,224                       ; punpcklwd     %xmm0,%xmm4
+  DB  102,15,219,162,122,193,0,0          ; pand          0xc17a(%edx),%xmm4
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  15,89,162,186,194,0,0               ; mulps         0xc2ba(%edx),%xmm4
+  DB  15,41,97,48                         ; movaps        %xmm4,0x30(%ecx)
+  DB  15,41,97,32                         ; movaps        %xmm4,0x20(%ecx)
+  DB  15,41,97,16                         ; movaps        %xmm4,0x10(%ecx)
+  DB  15,40,162,186,192,0,0               ; movaps        0xc0ba(%edx),%xmm4
+  DB  15,41,97,64                         ; movaps        %xmm4,0x40(%ecx)
+  DB  141,80,8                            ; lea           0x8(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,28                          ; add           $0x1c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  128,227,3                           ; and           $0x3,%bl
+  DB  128,251,1                           ; cmp           $0x1,%bl
+  DB  116,50                              ; je            4754 <_sk_load_g8_dst_sse2+0xac>
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  128,251,2                           ; cmp           $0x2,%bl
+  DB  116,19                              ; je            473e <_sk_load_g8_dst_sse2+0x96>
+  DB  128,251,3                           ; cmp           $0x3,%bl
+  DB  117,174                             ; jne           46de <_sk_load_g8_dst_sse2+0x36>
+  DB  15,182,92,62,2                      ; movzbl        0x2(%esi,%edi,1),%ebx
+  DB  102,15,110,227                      ; movd          %ebx,%xmm4
+  DB  102,15,112,228,69                   ; pshufd        $0x45,%xmm4,%xmm4
+  DB  15,183,52,62                        ; movzwl        (%esi,%edi,1),%esi
+  DB  102,15,110,238                      ; movd          %esi,%xmm5
+  DB  102,15,96,232                       ; punpcklbw     %xmm0,%xmm5
+  DB  102,15,97,232                       ; punpcklwd     %xmm0,%xmm5
+  DB  242,15,16,229                       ; movsd         %xmm5,%xmm4
+  DB  235,138                             ; jmp           46de <_sk_load_g8_dst_sse2+0x36>
+  DB  15,182,52,62                        ; movzbl        (%esi,%edi,1),%esi
+  DB  102,15,110,230                      ; movd          %esi,%xmm4
+  DB  235,128                             ; jmp           46de <_sk_load_g8_dst_sse2+0x36>
+
+PUBLIC _sk_gather_g8_sse2
+_sk_gather_g8_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  243,15,16,81,8                      ; movss         0x8(%ecx),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  102,15,118,219                      ; pcmpeqd       %xmm3,%xmm3
+  DB  102,15,254,211                      ; paddd         %xmm3,%xmm2
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,95,224                           ; maxps         %xmm0,%xmm4
+  DB  15,93,226                           ; minps         %xmm2,%xmm4
+  DB  243,15,16,65,12                     ; movss         0xc(%ecx),%xmm0
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  102,15,254,195                      ; paddd         %xmm3,%xmm0
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  15,95,209                           ; maxps         %xmm1,%xmm2
+  DB  15,93,208                           ; minps         %xmm0,%xmm2
+  DB  139,17                              ; mov           (%ecx),%edx
+  DB  243,15,91,194                       ; cvttps2dq     %xmm2,%xmm0
+  DB  102,15,110,73,4                     ; movd          0x4(%ecx),%xmm1
+  DB  102,15,112,201,0                    ; pshufd        $0x0,%xmm1,%xmm1
+  DB  102,15,112,208,245                  ; pshufd        $0xf5,%xmm0,%xmm2
+  DB  102,15,244,209                      ; pmuludq       %xmm1,%xmm2
+  DB  102,15,244,200                      ; pmuludq       %xmm0,%xmm1
+  DB  102,15,112,193,232                  ; pshufd        $0xe8,%xmm1,%xmm0
+  DB  102,15,112,202,232                  ; pshufd        $0xe8,%xmm2,%xmm1
+  DB  102,15,98,193                       ; punpckldq     %xmm1,%xmm0
+  DB  243,15,91,204                       ; cvttps2dq     %xmm4,%xmm1
+  DB  102,15,254,200                      ; paddd         %xmm0,%xmm1
+  DB  102,15,126,201                      ; movd          %xmm1,%ecx
+  DB  102,15,112,193,229                  ; pshufd        $0xe5,%xmm1,%xmm0
+  DB  102,15,112,209,78                   ; pshufd        $0x4e,%xmm1,%xmm2
+  DB  102,15,126,214                      ; movd          %xmm2,%esi
+  DB  102,15,112,201,231                  ; pshufd        $0xe7,%xmm1,%xmm1
+  DB  102,15,126,207                      ; movd          %xmm1,%edi
+  DB  15,182,52,50                        ; movzbl        (%edx,%esi,1),%esi
+  DB  15,182,60,58                        ; movzbl        (%edx,%edi,1),%edi
+  DB  193,231,8                           ; shl           $0x8,%edi
+  DB  9,247                               ; or            %esi,%edi
+  DB  102,15,126,198                      ; movd          %xmm0,%esi
+  DB  15,182,12,10                        ; movzbl        (%edx,%ecx,1),%ecx
+  DB  15,182,20,50                        ; movzbl        (%edx,%esi,1),%edx
+  DB  193,226,8                           ; shl           $0x8,%edx
+  DB  9,202                               ; or            %ecx,%edx
+  DB  102,15,110,194                      ; movd          %edx,%xmm0
+  DB  232,0,0,0,0                         ; call          480d <_sk_gather_g8_sse2+0xaf>
+  DB  89                                  ; pop           %ecx
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  102,15,196,199,1                    ; pinsrw        $0x1,%edi,%xmm0
+  DB  102,15,96,193                       ; punpcklbw     %xmm1,%xmm0
+  DB  102,15,97,193                       ; punpcklwd     %xmm1,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  15,89,129,99,193,0,0                ; mulps         0xc163(%ecx),%xmm0
+  DB  141,80,8                            ; lea           0x8(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,153,99,191,0,0                ; movaps        0xbf63(%ecx),%xmm3
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  15,40,208                           ; movaps        %xmm0,%xmm2
+  DB  82                                  ; push          %edx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,16                          ; add           $0x10,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_load_565_sse2
+_sk_load_565_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,12                          ; sub           $0xc,%esp
+  DB  232,0,0,0,0                         ; call          4858 <_sk_load_565_sse2+0xe>
+  DB  90                                  ; pop           %edx
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,56                              ; mov           (%eax),%edi
+  DB  139,119,4                           ; mov           0x4(%edi),%esi
+  DB  15,175,113,4                        ; imul          0x4(%ecx),%esi
+  DB  1,246                               ; add           %esi,%esi
+  DB  3,55                                ; add           (%edi),%esi
+  DB  139,89,8                            ; mov           0x8(%ecx),%ebx
+  DB  133,219                             ; test          %ebx,%ebx
+  DB  139,57                              ; mov           (%ecx),%edi
+  DB  117,97                              ; jne           48d6 <_sk_load_565_sse2+0x8c>
+  DB  243,15,126,20,126                   ; movq          (%esi,%edi,2),%xmm2
+  DB  102,15,97,208                       ; punpcklwd     %xmm0,%xmm2
+  DB  102,15,111,130,40,193,0,0           ; movdqa        0xc128(%edx),%xmm0
+  DB  102,15,219,194                      ; pand          %xmm2,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  15,89,130,56,193,0,0                ; mulps         0xc138(%edx),%xmm0
+  DB  102,15,111,138,72,193,0,0           ; movdqa        0xc148(%edx),%xmm1
+  DB  102,15,219,202                      ; pand          %xmm2,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  15,89,138,88,193,0,0                ; mulps         0xc158(%edx),%xmm1
+  DB  102,15,219,146,104,193,0,0          ; pand          0xc168(%edx),%xmm2
+  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
+  DB  15,89,146,120,193,0,0               ; mulps         0xc178(%edx),%xmm2
+  DB  141,112,8                           ; lea           0x8(%eax),%esi
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,154,24,191,0,0                ; movaps        0xbf18(%edx),%xmm3
+  DB  86                                  ; push          %esi
+  DB  81                                  ; push          %ecx
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,28                          ; add           $0x1c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  128,227,3                           ; and           $0x3,%bl
+  DB  128,251,1                           ; cmp           $0x1,%bl
+  DB  116,47                              ; je            490d <_sk_load_565_sse2+0xc3>
+  DB  102,15,239,210                      ; pxor          %xmm2,%xmm2
+  DB  128,251,2                           ; cmp           $0x2,%bl
+  DB  116,19                              ; je            48fa <_sk_load_565_sse2+0xb0>
+  DB  128,251,3                           ; cmp           $0x3,%bl
+  DB  117,146                             ; jne           487e <_sk_load_565_sse2+0x34>
+  DB  15,183,92,126,4                     ; movzwl        0x4(%esi,%edi,2),%ebx
+  DB  102,15,110,195                      ; movd          %ebx,%xmm0
+  DB  102,15,112,208,69                   ; pshufd        $0x45,%xmm0,%xmm2
+  DB  102,15,110,4,126                    ; movd          (%esi,%edi,2),%xmm0
+  DB  242,15,112,192,212                  ; pshuflw       $0xd4,%xmm0,%xmm0
+  DB  242,15,16,208                       ; movsd         %xmm0,%xmm2
+  DB  233,113,255,255,255                 ; jmp           487e <_sk_load_565_sse2+0x34>
+  DB  15,183,52,126                       ; movzwl        (%esi,%edi,2),%esi
+  DB  102,15,110,214                      ; movd          %esi,%xmm2
+  DB  233,100,255,255,255                 ; jmp           487e <_sk_load_565_sse2+0x34>
+
+PUBLIC _sk_load_565_dst_sse2
+_sk_load_565_dst_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,12                          ; sub           $0xc,%esp
+  DB  232,0,0,0,0                         ; call          4928 <_sk_load_565_dst_sse2+0xe>
+  DB  90                                  ; pop           %edx
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,56                              ; mov           (%eax),%edi
+  DB  139,119,4                           ; mov           0x4(%edi),%esi
+  DB  15,175,113,4                        ; imul          0x4(%ecx),%esi
+  DB  1,246                               ; add           %esi,%esi
+  DB  3,55                                ; add           (%edi),%esi
+  DB  139,89,8                            ; mov           0x8(%ecx),%ebx
+  DB  133,219                             ; test          %ebx,%ebx
+  DB  139,57                              ; mov           (%ecx),%edi
+  DB  117,113                             ; jne           49b6 <_sk_load_565_dst_sse2+0x9c>
+  DB  243,15,126,36,126                   ; movq          (%esi,%edi,2),%xmm4
+  DB  102,15,97,224                       ; punpcklwd     %xmm0,%xmm4
+  DB  102,15,111,170,88,192,0,0           ; movdqa        0xc058(%edx),%xmm5
+  DB  102,15,219,236                      ; pand          %xmm4,%xmm5
+  DB  15,91,237                           ; cvtdq2ps      %xmm5,%xmm5
+  DB  15,89,170,104,192,0,0               ; mulps         0xc068(%edx),%xmm5
+  DB  15,41,105,16                        ; movaps        %xmm5,0x10(%ecx)
+  DB  102,15,111,170,120,192,0,0          ; movdqa        0xc078(%edx),%xmm5
+  DB  102,15,219,236                      ; pand          %xmm4,%xmm5
+  DB  15,91,237                           ; cvtdq2ps      %xmm5,%xmm5
+  DB  15,89,170,136,192,0,0               ; mulps         0xc088(%edx),%xmm5
+  DB  15,41,105,32                        ; movaps        %xmm5,0x20(%ecx)
+  DB  102,15,219,162,152,192,0,0          ; pand          0xc098(%edx),%xmm4
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  15,89,162,168,192,0,0               ; mulps         0xc0a8(%edx),%xmm4
+  DB  15,41,97,48                         ; movaps        %xmm4,0x30(%ecx)
+  DB  15,40,162,72,190,0,0                ; movaps        0xbe48(%edx),%xmm4
+  DB  15,41,97,64                         ; movaps        %xmm4,0x40(%ecx)
+  DB  141,80,8                            ; lea           0x8(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,28                          ; add           $0x1c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  128,227,3                           ; and           $0x3,%bl
+  DB  128,251,1                           ; cmp           $0x1,%bl
+  DB  116,47                              ; je            49ed <_sk_load_565_dst_sse2+0xd3>
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  128,251,2                           ; cmp           $0x2,%bl
+  DB  116,19                              ; je            49da <_sk_load_565_dst_sse2+0xc0>
+  DB  128,251,3                           ; cmp           $0x3,%bl
+  DB  117,130                             ; jne           494e <_sk_load_565_dst_sse2+0x34>
+  DB  15,183,92,126,4                     ; movzwl        0x4(%esi,%edi,2),%ebx
+  DB  102,15,110,227                      ; movd          %ebx,%xmm4
+  DB  102,15,112,228,69                   ; pshufd        $0x45,%xmm4,%xmm4
+  DB  102,15,110,44,126                   ; movd          (%esi,%edi,2),%xmm5
+  DB  242,15,112,237,212                  ; pshuflw       $0xd4,%xmm5,%xmm5
+  DB  242,15,16,229                       ; movsd         %xmm5,%xmm4
+  DB  233,97,255,255,255                  ; jmp           494e <_sk_load_565_dst_sse2+0x34>
+  DB  15,183,52,126                       ; movzwl        (%esi,%edi,2),%esi
+  DB  102,15,110,230                      ; movd          %esi,%xmm4
+  DB  233,84,255,255,255                  ; jmp           494e <_sk_load_565_dst_sse2+0x34>
+
+PUBLIC _sk_gather_565_sse2
+_sk_gather_565_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  243,15,16,81,8                      ; movss         0x8(%ecx),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  102,15,118,219                      ; pcmpeqd       %xmm3,%xmm3
+  DB  102,15,254,211                      ; paddd         %xmm3,%xmm2
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,95,224                           ; maxps         %xmm0,%xmm4
+  DB  15,93,226                           ; minps         %xmm2,%xmm4
+  DB  243,15,16,65,12                     ; movss         0xc(%ecx),%xmm0
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  102,15,254,195                      ; paddd         %xmm3,%xmm0
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  15,95,209                           ; maxps         %xmm1,%xmm2
+  DB  15,93,208                           ; minps         %xmm0,%xmm2
+  DB  139,17                              ; mov           (%ecx),%edx
+  DB  243,15,91,194                       ; cvttps2dq     %xmm2,%xmm0
+  DB  102,15,110,73,4                     ; movd          0x4(%ecx),%xmm1
+  DB  102,15,112,201,0                    ; pshufd        $0x0,%xmm1,%xmm1
+  DB  102,15,112,208,245                  ; pshufd        $0xf5,%xmm0,%xmm2
+  DB  102,15,244,209                      ; pmuludq       %xmm1,%xmm2
+  DB  102,15,244,200                      ; pmuludq       %xmm0,%xmm1
+  DB  102,15,112,193,232                  ; pshufd        $0xe8,%xmm1,%xmm0
+  DB  102,15,112,202,232                  ; pshufd        $0xe8,%xmm2,%xmm1
+  DB  102,15,98,193                       ; punpckldq     %xmm1,%xmm0
+  DB  243,15,91,204                       ; cvttps2dq     %xmm4,%xmm1
+  DB  102,15,254,200                      ; paddd         %xmm0,%xmm1
+  DB  102,15,126,201                      ; movd          %xmm1,%ecx
+  DB  102,15,112,193,229                  ; pshufd        $0xe5,%xmm1,%xmm0
+  DB  15,183,12,74                        ; movzwl        (%edx,%ecx,2),%ecx
+  DB  102,15,110,209                      ; movd          %ecx,%xmm2
+  DB  102,15,126,193                      ; movd          %xmm0,%ecx
+  DB  102,15,112,193,78                   ; pshufd        $0x4e,%xmm1,%xmm0
+  DB  15,183,12,74                        ; movzwl        (%edx,%ecx,2),%ecx
+  DB  102,15,196,209,1                    ; pinsrw        $0x1,%ecx,%xmm2
+  DB  102,15,126,193                      ; movd          %xmm0,%ecx
+  DB  102,15,112,193,231                  ; pshufd        $0xe7,%xmm1,%xmm0
+  DB  15,183,12,74                        ; movzwl        (%edx,%ecx,2),%ecx
+  DB  102,15,196,209,2                    ; pinsrw        $0x2,%ecx,%xmm2
+  DB  102,15,126,193                      ; movd          %xmm0,%ecx
+  DB  15,183,12,74                        ; movzwl        (%edx,%ecx,2),%ecx
+  DB  232,0,0,0,0                         ; call          4aaa <_sk_gather_565_sse2+0xb0>
+  DB  90                                  ; pop           %edx
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  102,15,196,209,3                    ; pinsrw        $0x3,%ecx,%xmm2
+  DB  102,15,97,208                       ; punpcklwd     %xmm0,%xmm2
+  DB  102,15,111,130,214,190,0,0          ; movdqa        0xbed6(%edx),%xmm0
+  DB  102,15,219,194                      ; pand          %xmm2,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  15,89,130,230,190,0,0               ; mulps         0xbee6(%edx),%xmm0
+  DB  102,15,111,138,246,190,0,0          ; movdqa        0xbef6(%edx),%xmm1
+  DB  102,15,219,202                      ; pand          %xmm2,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  15,89,138,6,191,0,0                 ; mulps         0xbf06(%edx),%xmm1
+  DB  102,15,219,146,22,191,0,0           ; pand          0xbf16(%edx),%xmm2
+  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
+  DB  15,89,146,38,191,0,0                ; mulps         0xbf26(%edx),%xmm2
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,154,198,188,0,0               ; movaps        0xbcc6(%edx),%xmm3
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_store_565_sse2
+_sk_store_565_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,12                          ; sub           $0xc,%esp
+  DB  232,0,0,0,0                         ; call          4b1d <_sk_store_565_sse2+0xe>
+  DB  94                                  ; pop           %esi
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,87,237                           ; xorps         %xmm5,%xmm5
+  DB  15,95,232                           ; maxps         %xmm0,%xmm5
+  DB  15,40,182,83,188,0,0                ; movaps        0xbc53(%esi),%xmm6
+  DB  15,93,238                           ; minps         %xmm6,%xmm5
+  DB  15,87,255                           ; xorps         %xmm7,%xmm7
+  DB  15,95,249                           ; maxps         %xmm1,%xmm7
+  DB  15,93,254                           ; minps         %xmm6,%xmm7
+  DB  15,95,226                           ; maxps         %xmm2,%xmm4
+  DB  15,93,230                           ; minps         %xmm6,%xmm4
+  DB  15,40,182,83,192,0,0                ; movaps        0xc053(%esi),%xmm6
+  DB  15,89,238                           ; mulps         %xmm6,%xmm5
+  DB  15,89,230                           ; mulps         %xmm6,%xmm4
+  DB  102,15,91,237                       ; cvtps2dq      %xmm5,%xmm5
+  DB  102,15,114,245,11                   ; pslld         $0xb,%xmm5
+  DB  102,15,91,228                       ; cvtps2dq      %xmm4,%xmm4
+  DB  102,15,86,229                       ; orpd          %xmm5,%xmm4
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,56                              ; mov           (%eax),%edi
+  DB  139,87,4                            ; mov           0x4(%edi),%edx
+  DB  15,175,81,4                         ; imul          0x4(%ecx),%edx
+  DB  1,210                               ; add           %edx,%edx
+  DB  3,23                                ; add           (%edi),%edx
+  DB  139,57                              ; mov           (%ecx),%edi
+  DB  15,89,190,99,192,0,0                ; mulps         0xc063(%esi),%xmm7
+  DB  139,89,8                            ; mov           0x8(%ecx),%ebx
+  DB  102,15,91,239                       ; cvtps2dq      %xmm7,%xmm5
+  DB  102,15,114,245,5                    ; pslld         $0x5,%xmm5
+  DB  102,15,86,229                       ; orpd          %xmm5,%xmm4
+  DB  102,15,114,244,16                   ; pslld         $0x10,%xmm4
+  DB  102,15,114,228,16                   ; psrad         $0x10,%xmm4
+  DB  102,15,107,224                      ; packssdw      %xmm0,%xmm4
+  DB  102,15,126,101,232                  ; movd          %xmm4,-0x18(%ebp)
+  DB  102,15,112,236,229                  ; pshufd        $0xe5,%xmm4,%xmm5
+  DB  102,15,126,109,236                  ; movd          %xmm5,-0x14(%ebp)
+  DB  133,219                             ; test          %ebx,%ebx
+  DB  117,34                              ; jne           4bcd <_sk_store_565_sse2+0xbe>
+  DB  102,15,126,230                      ; movd          %xmm4,%esi
+  DB  102,15,126,235                      ; movd          %xmm5,%ebx
+  DB  137,52,122                          ; mov           %esi,(%edx,%edi,2)
+  DB  137,92,122,4                        ; mov           %ebx,0x4(%edx,%edi,2)
+  DB  141,80,8                            ; lea           0x8(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,28                          ; add           $0x1c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  243,15,126,101,232                  ; movq          -0x18(%ebp),%xmm4
+  DB  102,15,97,224                       ; punpcklwd     %xmm0,%xmm4
+  DB  128,227,3                           ; and           $0x3,%bl
+  DB  128,251,1                           ; cmp           $0x1,%bl
+  DB  116,37                              ; je            4c03 <_sk_store_565_sse2+0xf4>
+  DB  128,251,2                           ; cmp           $0x2,%bl
+  DB  116,15                              ; je            4bf2 <_sk_store_565_sse2+0xe3>
+  DB  128,251,3                           ; cmp           $0x3,%bl
+  DB  117,210                             ; jne           4bba <_sk_store_565_sse2+0xab>
+  DB  102,15,197,244,4                    ; pextrw        $0x4,%xmm4,%esi
+  DB  102,137,116,122,4                   ; mov           %si,0x4(%edx,%edi,2)
+  DB  102,15,112,228,212                  ; pshufd        $0xd4,%xmm4,%xmm4
+  DB  242,15,112,228,232                  ; pshuflw       $0xe8,%xmm4,%xmm4
+  DB  102,15,126,36,122                   ; movd          %xmm4,(%edx,%edi,2)
+  DB  235,183                             ; jmp           4bba <_sk_store_565_sse2+0xab>
+  DB  102,15,126,230                      ; movd          %xmm4,%esi
+  DB  102,137,52,122                      ; mov           %si,(%edx,%edi,2)
+  DB  235,173                             ; jmp           4bba <_sk_store_565_sse2+0xab>
+
+PUBLIC _sk_load_4444_sse2
+_sk_load_4444_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,12                          ; sub           $0xc,%esp
+  DB  232,0,0,0,0                         ; call          4c1b <_sk_load_4444_sse2+0xe>
+  DB  90                                  ; pop           %edx
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,56                              ; mov           (%eax),%edi
+  DB  139,119,4                           ; mov           0x4(%edi),%esi
+  DB  15,175,113,4                        ; imul          0x4(%ecx),%esi
+  DB  1,246                               ; add           %esi,%esi
+  DB  3,55                                ; add           (%edi),%esi
+  DB  139,89,8                            ; mov           0x8(%ecx),%ebx
+  DB  133,219                             ; test          %ebx,%ebx
+  DB  139,57                              ; mov           (%ecx),%edi
+  DB  117,112                             ; jne           4ca8 <_sk_load_4444_sse2+0x9b>
+  DB  243,15,126,28,126                   ; movq          (%esi,%edi,2),%xmm3
+  DB  102,15,97,216                       ; punpcklwd     %xmm0,%xmm3
+  DB  102,15,111,130,117,191,0,0          ; movdqa        0xbf75(%edx),%xmm0
+  DB  102,15,219,195                      ; pand          %xmm3,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  15,89,130,133,191,0,0               ; mulps         0xbf85(%edx),%xmm0
+  DB  102,15,111,138,149,191,0,0          ; movdqa        0xbf95(%edx),%xmm1
+  DB  102,15,219,203                      ; pand          %xmm3,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  15,89,138,165,191,0,0               ; mulps         0xbfa5(%edx),%xmm1
+  DB  102,15,111,146,181,191,0,0          ; movdqa        0xbfb5(%edx),%xmm2
+  DB  102,15,219,211                      ; pand          %xmm3,%xmm2
+  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
+  DB  15,89,146,197,191,0,0               ; mulps         0xbfc5(%edx),%xmm2
+  DB  102,15,219,154,213,191,0,0          ; pand          0xbfd5(%edx),%xmm3
+  DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
+  DB  15,89,154,229,191,0,0               ; mulps         0xbfe5(%edx),%xmm3
+  DB  141,80,8                            ; lea           0x8(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,28                          ; add           $0x1c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  128,227,3                           ; and           $0x3,%bl
+  DB  128,251,1                           ; cmp           $0x1,%bl
+  DB  116,47                              ; je            4cdf <_sk_load_4444_sse2+0xd2>
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  128,251,2                           ; cmp           $0x2,%bl
+  DB  116,19                              ; je            4ccc <_sk_load_4444_sse2+0xbf>
+  DB  128,251,3                           ; cmp           $0x3,%bl
+  DB  117,131                             ; jne           4c41 <_sk_load_4444_sse2+0x34>
+  DB  15,183,92,126,4                     ; movzwl        0x4(%esi,%edi,2),%ebx
+  DB  102,15,110,195                      ; movd          %ebx,%xmm0
+  DB  102,15,112,216,69                   ; pshufd        $0x45,%xmm0,%xmm3
+  DB  102,15,110,4,126                    ; movd          (%esi,%edi,2),%xmm0
+  DB  242,15,112,192,212                  ; pshuflw       $0xd4,%xmm0,%xmm0
+  DB  242,15,16,216                       ; movsd         %xmm0,%xmm3
+  DB  233,98,255,255,255                  ; jmp           4c41 <_sk_load_4444_sse2+0x34>
+  DB  15,183,52,126                       ; movzwl        (%esi,%edi,2),%esi
+  DB  102,15,110,222                      ; movd          %esi,%xmm3
+  DB  233,85,255,255,255                  ; jmp           4c41 <_sk_load_4444_sse2+0x34>
+
+PUBLIC _sk_load_4444_dst_sse2
+_sk_load_4444_dst_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,12                          ; sub           $0xc,%esp
+  DB  232,0,0,0,0                         ; call          4cfa <_sk_load_4444_dst_sse2+0xe>
+  DB  90                                  ; pop           %edx
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,56                              ; mov           (%eax),%edi
+  DB  139,119,4                           ; mov           0x4(%edi),%esi
+  DB  15,175,113,4                        ; imul          0x4(%ecx),%esi
+  DB  1,246                               ; add           %esi,%esi
+  DB  3,55                                ; add           (%edi),%esi
+  DB  139,89,8                            ; mov           0x8(%ecx),%ebx
+  DB  133,219                             ; test          %ebx,%ebx
+  DB  139,57                              ; mov           (%ecx),%edi
+  DB  15,133,128,0,0,0                    ; jne           4d9b <_sk_load_4444_dst_sse2+0xaf>
+  DB  243,15,126,36,126                   ; movq          (%esi,%edi,2),%xmm4
+  DB  102,15,97,224                       ; punpcklwd     %xmm0,%xmm4
+  DB  102,15,111,170,150,190,0,0          ; movdqa        0xbe96(%edx),%xmm5
+  DB  102,15,219,236                      ; pand          %xmm4,%xmm5
+  DB  15,91,237                           ; cvtdq2ps      %xmm5,%xmm5
+  DB  15,89,170,166,190,0,0               ; mulps         0xbea6(%edx),%xmm5
+  DB  15,41,105,16                        ; movaps        %xmm5,0x10(%ecx)
+  DB  102,15,111,170,182,190,0,0          ; movdqa        0xbeb6(%edx),%xmm5
+  DB  102,15,219,236                      ; pand          %xmm4,%xmm5
+  DB  15,91,237                           ; cvtdq2ps      %xmm5,%xmm5
+  DB  15,89,170,198,190,0,0               ; mulps         0xbec6(%edx),%xmm5
+  DB  15,41,105,32                        ; movaps        %xmm5,0x20(%ecx)
+  DB  102,15,111,170,214,190,0,0          ; movdqa        0xbed6(%edx),%xmm5
+  DB  102,15,219,236                      ; pand          %xmm4,%xmm5
+  DB  15,91,237                           ; cvtdq2ps      %xmm5,%xmm5
+  DB  15,89,170,230,190,0,0               ; mulps         0xbee6(%edx),%xmm5
+  DB  15,41,105,48                        ; movaps        %xmm5,0x30(%ecx)
+  DB  102,15,219,162,246,190,0,0          ; pand          0xbef6(%edx),%xmm4
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  15,89,162,6,191,0,0                 ; mulps         0xbf06(%edx),%xmm4
+  DB  15,41,97,64                         ; movaps        %xmm4,0x40(%ecx)
+  DB  141,80,8                            ; lea           0x8(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,28                          ; add           $0x1c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  128,227,3                           ; and           $0x3,%bl
+  DB  128,251,1                           ; cmp           $0x1,%bl
+  DB  116,51                              ; je            4dd6 <_sk_load_4444_dst_sse2+0xea>
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  128,251,2                           ; cmp           $0x2,%bl
+  DB  116,23                              ; je            4dc3 <_sk_load_4444_dst_sse2+0xd7>
+  DB  128,251,3                           ; cmp           $0x3,%bl
+  DB  15,133,111,255,255,255              ; jne           4d24 <_sk_load_4444_dst_sse2+0x38>
+  DB  15,183,92,126,4                     ; movzwl        0x4(%esi,%edi,2),%ebx
+  DB  102,15,110,227                      ; movd          %ebx,%xmm4
+  DB  102,15,112,228,69                   ; pshufd        $0x45,%xmm4,%xmm4
+  DB  102,15,110,44,126                   ; movd          (%esi,%edi,2),%xmm5
+  DB  242,15,112,237,212                  ; pshuflw       $0xd4,%xmm5,%xmm5
+  DB  242,15,16,229                       ; movsd         %xmm5,%xmm4
+  DB  233,78,255,255,255                  ; jmp           4d24 <_sk_load_4444_dst_sse2+0x38>
+  DB  15,183,52,126                       ; movzwl        (%esi,%edi,2),%esi
+  DB  102,15,110,230                      ; movd          %esi,%xmm4
+  DB  233,65,255,255,255                  ; jmp           4d24 <_sk_load_4444_dst_sse2+0x38>
+
+PUBLIC _sk_gather_4444_sse2
+_sk_gather_4444_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  243,15,16,81,8                      ; movss         0x8(%ecx),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  102,15,118,219                      ; pcmpeqd       %xmm3,%xmm3
+  DB  102,15,254,211                      ; paddd         %xmm3,%xmm2
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,95,224                           ; maxps         %xmm0,%xmm4
+  DB  15,93,226                           ; minps         %xmm2,%xmm4
+  DB  243,15,16,65,12                     ; movss         0xc(%ecx),%xmm0
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  102,15,254,195                      ; paddd         %xmm3,%xmm0
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  15,95,209                           ; maxps         %xmm1,%xmm2
+  DB  15,93,208                           ; minps         %xmm0,%xmm2
+  DB  139,17                              ; mov           (%ecx),%edx
+  DB  243,15,91,194                       ; cvttps2dq     %xmm2,%xmm0
+  DB  102,15,110,73,4                     ; movd          0x4(%ecx),%xmm1
+  DB  102,15,112,201,0                    ; pshufd        $0x0,%xmm1,%xmm1
+  DB  102,15,112,208,245                  ; pshufd        $0xf5,%xmm0,%xmm2
+  DB  102,15,244,209                      ; pmuludq       %xmm1,%xmm2
+  DB  102,15,244,200                      ; pmuludq       %xmm0,%xmm1
+  DB  102,15,112,193,232                  ; pshufd        $0xe8,%xmm1,%xmm0
+  DB  102,15,112,202,232                  ; pshufd        $0xe8,%xmm2,%xmm1
+  DB  102,15,98,193                       ; punpckldq     %xmm1,%xmm0
+  DB  243,15,91,204                       ; cvttps2dq     %xmm4,%xmm1
+  DB  102,15,254,200                      ; paddd         %xmm0,%xmm1
+  DB  102,15,126,201                      ; movd          %xmm1,%ecx
+  DB  102,15,112,193,229                  ; pshufd        $0xe5,%xmm1,%xmm0
+  DB  15,183,12,74                        ; movzwl        (%edx,%ecx,2),%ecx
+  DB  102,15,110,217                      ; movd          %ecx,%xmm3
+  DB  102,15,126,193                      ; movd          %xmm0,%ecx
+  DB  102,15,112,193,78                   ; pshufd        $0x4e,%xmm1,%xmm0
+  DB  15,183,12,74                        ; movzwl        (%edx,%ecx,2),%ecx
+  DB  102,15,196,217,1                    ; pinsrw        $0x1,%ecx,%xmm3
+  DB  102,15,126,193                      ; movd          %xmm0,%ecx
+  DB  102,15,112,193,231                  ; pshufd        $0xe7,%xmm1,%xmm0
+  DB  15,183,12,74                        ; movzwl        (%edx,%ecx,2),%ecx
+  DB  102,15,196,217,2                    ; pinsrw        $0x2,%ecx,%xmm3
+  DB  102,15,126,193                      ; movd          %xmm0,%ecx
+  DB  15,183,12,74                        ; movzwl        (%edx,%ecx,2),%ecx
+  DB  102,15,196,217,3                    ; pinsrw        $0x3,%ecx,%xmm3
+  DB  232,0,0,0,0                         ; call          4e98 <_sk_gather_4444_sse2+0xb5>
+  DB  89                                  ; pop           %ecx
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  102,15,97,216                       ; punpcklwd     %xmm0,%xmm3
+  DB  102,15,111,129,248,188,0,0          ; movdqa        0xbcf8(%ecx),%xmm0
+  DB  102,15,219,195                      ; pand          %xmm3,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  15,89,129,8,189,0,0                 ; mulps         0xbd08(%ecx),%xmm0
+  DB  102,15,111,137,24,189,0,0           ; movdqa        0xbd18(%ecx),%xmm1
+  DB  102,15,219,203                      ; pand          %xmm3,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  15,89,137,40,189,0,0                ; mulps         0xbd28(%ecx),%xmm1
+  DB  102,15,111,145,56,189,0,0           ; movdqa        0xbd38(%ecx),%xmm2
+  DB  102,15,219,211                      ; pand          %xmm3,%xmm2
+  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
+  DB  15,89,145,72,189,0,0                ; mulps         0xbd48(%ecx),%xmm2
+  DB  102,15,219,153,88,189,0,0           ; pand          0xbd58(%ecx),%xmm3
+  DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
+  DB  15,89,153,104,189,0,0               ; mulps         0xbd68(%ecx),%xmm3
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_store_4444_sse2
+_sk_store_4444_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,44                          ; sub           $0x2c,%esp
+  DB  15,41,93,216                        ; movaps        %xmm3,-0x28(%ebp)
+  DB  232,0,0,0,0                         ; call          4f19 <_sk_store_4444_sse2+0x12>
+  DB  88                                  ; pop           %eax
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,95,224                           ; maxps         %xmm0,%xmm4
+  DB  15,40,168,87,184,0,0                ; movaps        0xb857(%eax),%xmm5
+  DB  15,93,229                           ; minps         %xmm5,%xmm4
+  DB  15,40,176,247,188,0,0               ; movaps        0xbcf7(%eax),%xmm6
+  DB  15,89,230                           ; mulps         %xmm6,%xmm4
+  DB  102,15,91,228                       ; cvtps2dq      %xmm4,%xmm4
+  DB  102,15,114,244,12                   ; pslld         $0xc,%xmm4
+  DB  15,87,255                           ; xorps         %xmm7,%xmm7
+  DB  15,95,249                           ; maxps         %xmm1,%xmm7
+  DB  15,93,253                           ; minps         %xmm5,%xmm7
+  DB  15,89,254                           ; mulps         %xmm6,%xmm7
+  DB  102,15,91,255                       ; cvtps2dq      %xmm7,%xmm7
+  DB  102,15,114,247,8                    ; pslld         $0x8,%xmm7
+  DB  102,15,235,252                      ; por           %xmm4,%xmm7
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  15,41,85,200                        ; movaps        %xmm2,-0x38(%ebp)
+  DB  15,95,226                           ; maxps         %xmm2,%xmm4
+  DB  15,93,229                           ; minps         %xmm5,%xmm4
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  15,95,93,216                        ; maxps         -0x28(%ebp),%xmm3
+  DB  15,93,221                           ; minps         %xmm5,%xmm3
+  DB  15,89,230                           ; mulps         %xmm6,%xmm4
+  DB  15,89,222                           ; mulps         %xmm6,%xmm3
+  DB  102,15,91,236                       ; cvtps2dq      %xmm4,%xmm5
+  DB  102,15,114,245,4                    ; pslld         $0x4,%xmm5
+  DB  102,15,91,227                       ; cvtps2dq      %xmm3,%xmm4
+  DB  102,15,86,229                       ; orpd          %xmm5,%xmm4
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,56                              ; mov           (%eax),%edi
+  DB  139,17                              ; mov           (%ecx),%edx
+  DB  139,119,4                           ; mov           0x4(%edi),%esi
+  DB  15,175,113,4                        ; imul          0x4(%ecx),%esi
+  DB  1,246                               ; add           %esi,%esi
+  DB  3,55                                ; add           (%edi),%esi
+  DB  139,89,8                            ; mov           0x8(%ecx),%ebx
+  DB  102,15,86,231                       ; orpd          %xmm7,%xmm4
+  DB  102,15,114,244,16                   ; pslld         $0x10,%xmm4
+  DB  102,15,114,228,16                   ; psrad         $0x10,%xmm4
+  DB  102,15,107,224                      ; packssdw      %xmm0,%xmm4
+  DB  102,15,126,101,232                  ; movd          %xmm4,-0x18(%ebp)
+  DB  102,15,112,236,229                  ; pshufd        $0xe5,%xmm4,%xmm5
+  DB  102,15,126,109,236                  ; movd          %xmm5,-0x14(%ebp)
+  DB  133,219                             ; test          %ebx,%ebx
+  DB  117,42                              ; jne           4fec <_sk_store_4444_sse2+0xe5>
+  DB  102,15,126,231                      ; movd          %xmm4,%edi
+  DB  102,15,126,235                      ; movd          %xmm5,%ebx
+  DB  137,60,86                           ; mov           %edi,(%esi,%edx,2)
+  DB  137,92,86,4                         ; mov           %ebx,0x4(%esi,%edx,2)
+  DB  141,80,8                            ; lea           0x8(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,85,200                        ; movaps        -0x38(%ebp),%xmm2
+  DB  15,40,93,216                        ; movaps        -0x28(%ebp),%xmm3
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,60                          ; add           $0x3c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  243,15,126,101,232                  ; movq          -0x18(%ebp),%xmm4
+  DB  102,15,97,224                       ; punpcklwd     %xmm0,%xmm4
+  DB  128,227,3                           ; and           $0x3,%bl
+  DB  128,251,1                           ; cmp           $0x1,%bl
+  DB  116,37                              ; je            5022 <_sk_store_4444_sse2+0x11b>
+  DB  128,251,2                           ; cmp           $0x2,%bl
+  DB  116,15                              ; je            5011 <_sk_store_4444_sse2+0x10a>
+  DB  128,251,3                           ; cmp           $0x3,%bl
+  DB  117,202                             ; jne           4fd1 <_sk_store_4444_sse2+0xca>
+  DB  102,15,197,252,4                    ; pextrw        $0x4,%xmm4,%edi
+  DB  102,137,124,86,4                    ; mov           %di,0x4(%esi,%edx,2)
+  DB  102,15,112,220,212                  ; pshufd        $0xd4,%xmm4,%xmm3
+  DB  242,15,112,219,232                  ; pshuflw       $0xe8,%xmm3,%xmm3
+  DB  102,15,126,28,86                    ; movd          %xmm3,(%esi,%edx,2)
+  DB  235,175                             ; jmp           4fd1 <_sk_store_4444_sse2+0xca>
+  DB  102,15,126,231                      ; movd          %xmm4,%edi
+  DB  102,137,60,86                       ; mov           %di,(%esi,%edx,2)
+  DB  235,165                             ; jmp           4fd1 <_sk_store_4444_sse2+0xca>
+
+PUBLIC _sk_load_8888_sse2
+_sk_load_8888_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,12                          ; sub           $0xc,%esp
+  DB  232,0,0,0,0                         ; call          503a <_sk_load_8888_sse2+0xe>
+  DB  90                                  ; pop           %edx
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,56                              ; mov           (%eax),%edi
+  DB  139,119,4                           ; mov           0x4(%edi),%esi
+  DB  15,175,113,4                        ; imul          0x4(%ecx),%esi
+  DB  193,230,2                           ; shl           $0x2,%esi
+  DB  3,55                                ; add           (%edi),%esi
+  DB  139,89,8                            ; mov           0x8(%ecx),%ebx
+  DB  133,219                             ; test          %ebx,%ebx
+  DB  139,57                              ; mov           (%ecx),%edi
+  DB  117,102                             ; jne           50be <_sk_load_8888_sse2+0x92>
+  DB  243,15,111,28,190                   ; movdqu        (%esi,%edi,4),%xmm3
+  DB  102,15,111,146,246,183,0,0          ; movdqa        0xb7f6(%edx),%xmm2
+  DB  102,15,111,195                      ; movdqa        %xmm3,%xmm0
+  DB  102,15,219,194                      ; pand          %xmm2,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  15,40,162,54,185,0,0                ; movaps        0xb936(%edx),%xmm4
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
+  DB  102,15,114,209,8                    ; psrld         $0x8,%xmm1
+  DB  102,15,219,202                      ; pand          %xmm2,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  102,15,111,235                      ; movdqa        %xmm3,%xmm5
+  DB  102,15,114,213,16                   ; psrld         $0x10,%xmm5
+  DB  102,15,219,234                      ; pand          %xmm2,%xmm5
+  DB  15,91,213                           ; cvtdq2ps      %xmm5,%xmm2
+  DB  15,89,212                           ; mulps         %xmm4,%xmm2
+  DB  102,15,114,211,24                   ; psrld         $0x18,%xmm3
+  DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
+  DB  15,89,220                           ; mulps         %xmm4,%xmm3
+  DB  141,80,8                            ; lea           0x8(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,28                          ; add           $0x1c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  128,227,3                           ; and           $0x3,%bl
+  DB  128,251,1                           ; cmp           $0x1,%bl
+  DB  116,35                              ; je            50e9 <_sk_load_8888_sse2+0xbd>
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  128,251,2                           ; cmp           $0x2,%bl
+  DB  116,16                              ; je            50df <_sk_load_8888_sse2+0xb3>
+  DB  128,251,3                           ; cmp           $0x3,%bl
+  DB  117,137                             ; jne           505d <_sk_load_8888_sse2+0x31>
+  DB  102,15,110,68,190,8                 ; movd          0x8(%esi,%edi,4),%xmm0
+  DB  102,15,112,216,69                   ; pshufd        $0x45,%xmm0,%xmm3
+  DB  102,15,18,28,190                    ; movlpd        (%esi,%edi,4),%xmm3
+  DB  233,116,255,255,255                 ; jmp           505d <_sk_load_8888_sse2+0x31>
+  DB  102,15,110,28,190                   ; movd          (%esi,%edi,4),%xmm3
+  DB  233,106,255,255,255                 ; jmp           505d <_sk_load_8888_sse2+0x31>
+
+PUBLIC _sk_load_8888_dst_sse2
+_sk_load_8888_dst_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,12                          ; sub           $0xc,%esp
+  DB  232,0,0,0,0                         ; call          5101 <_sk_load_8888_dst_sse2+0xe>
+  DB  90                                  ; pop           %edx
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,56                              ; mov           (%eax),%edi
+  DB  139,119,4                           ; mov           0x4(%edi),%esi
+  DB  15,175,113,4                        ; imul          0x4(%ecx),%esi
+  DB  193,230,2                           ; shl           $0x2,%esi
+  DB  3,55                                ; add           (%edi),%esi
+  DB  139,89,8                            ; mov           0x8(%ecx),%ebx
+  DB  133,219                             ; test          %ebx,%ebx
+  DB  139,57                              ; mov           (%ecx),%edi
+  DB  117,118                             ; jne           5195 <_sk_load_8888_dst_sse2+0xa2>
+  DB  243,15,111,36,190                   ; movdqu        (%esi,%edi,4),%xmm4
+  DB  102,15,111,170,47,183,0,0           ; movdqa        0xb72f(%edx),%xmm5
+  DB  102,15,111,244                      ; movdqa        %xmm4,%xmm6
+  DB  102,15,219,245                      ; pand          %xmm5,%xmm6
+  DB  15,91,246                           ; cvtdq2ps      %xmm6,%xmm6
+  DB  15,40,186,111,184,0,0               ; movaps        0xb86f(%edx),%xmm7
+  DB  15,89,247                           ; mulps         %xmm7,%xmm6
+  DB  15,41,113,16                        ; movaps        %xmm6,0x10(%ecx)
+  DB  102,15,111,244                      ; movdqa        %xmm4,%xmm6
+  DB  102,15,114,214,8                    ; psrld         $0x8,%xmm6
+  DB  102,15,219,245                      ; pand          %xmm5,%xmm6
+  DB  15,91,246                           ; cvtdq2ps      %xmm6,%xmm6
+  DB  15,89,247                           ; mulps         %xmm7,%xmm6
+  DB  15,41,113,32                        ; movaps        %xmm6,0x20(%ecx)
+  DB  102,15,111,244                      ; movdqa        %xmm4,%xmm6
+  DB  102,15,114,214,16                   ; psrld         $0x10,%xmm6
+  DB  102,15,219,245                      ; pand          %xmm5,%xmm6
+  DB  15,91,238                           ; cvtdq2ps      %xmm6,%xmm5
+  DB  15,89,239                           ; mulps         %xmm7,%xmm5
+  DB  15,41,105,48                        ; movaps        %xmm5,0x30(%ecx)
+  DB  102,15,114,212,24                   ; psrld         $0x18,%xmm4
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  15,89,231                           ; mulps         %xmm7,%xmm4
+  DB  15,41,97,64                         ; movaps        %xmm4,0x40(%ecx)
+  DB  141,80,8                            ; lea           0x8(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,28                          ; add           $0x1c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  128,227,3                           ; and           $0x3,%bl
+  DB  128,251,1                           ; cmp           $0x1,%bl
+  DB  116,39                              ; je            51c4 <_sk_load_8888_dst_sse2+0xd1>
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  128,251,2                           ; cmp           $0x2,%bl
+  DB  116,20                              ; je            51ba <_sk_load_8888_dst_sse2+0xc7>
+  DB  128,251,3                           ; cmp           $0x3,%bl
+  DB  15,133,117,255,255,255              ; jne           5124 <_sk_load_8888_dst_sse2+0x31>
+  DB  102,15,110,100,190,8                ; movd          0x8(%esi,%edi,4),%xmm4
+  DB  102,15,112,228,69                   ; pshufd        $0x45,%xmm4,%xmm4
+  DB  102,15,18,36,190                    ; movlpd        (%esi,%edi,4),%xmm4
+  DB  233,96,255,255,255                  ; jmp           5124 <_sk_load_8888_dst_sse2+0x31>
+  DB  102,15,110,36,190                   ; movd          (%esi,%edi,4),%xmm4
+  DB  233,86,255,255,255                  ; jmp           5124 <_sk_load_8888_dst_sse2+0x31>
+
+PUBLIC _sk_gather_8888_sse2
+_sk_gather_8888_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  243,15,16,81,8                      ; movss         0x8(%ecx),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  102,15,118,219                      ; pcmpeqd       %xmm3,%xmm3
+  DB  102,15,254,211                      ; paddd         %xmm3,%xmm2
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,87,237                           ; xorps         %xmm5,%xmm5
+  DB  15,95,232                           ; maxps         %xmm0,%xmm5
+  DB  15,93,234                           ; minps         %xmm2,%xmm5
+  DB  243,15,16,65,12                     ; movss         0xc(%ecx),%xmm0
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  102,15,254,195                      ; paddd         %xmm3,%xmm0
+  DB  15,95,225                           ; maxps         %xmm1,%xmm4
+  DB  15,93,224                           ; minps         %xmm0,%xmm4
+  DB  139,17                              ; mov           (%ecx),%edx
+  DB  243,15,91,196                       ; cvttps2dq     %xmm4,%xmm0
+  DB  102,15,110,73,4                     ; movd          0x4(%ecx),%xmm1
+  DB  102,15,112,201,0                    ; pshufd        $0x0,%xmm1,%xmm1
+  DB  102,15,112,208,245                  ; pshufd        $0xf5,%xmm0,%xmm2
+  DB  102,15,244,209                      ; pmuludq       %xmm1,%xmm2
+  DB  102,15,244,200                      ; pmuludq       %xmm0,%xmm1
+  DB  102,15,112,193,232                  ; pshufd        $0xe8,%xmm1,%xmm0
+  DB  102,15,112,202,232                  ; pshufd        $0xe8,%xmm2,%xmm1
+  DB  102,15,98,193                       ; punpckldq     %xmm1,%xmm0
+  DB  243,15,91,205                       ; cvttps2dq     %xmm5,%xmm1
+  DB  102,15,254,200                      ; paddd         %xmm0,%xmm1
+  DB  102,15,112,193,78                   ; pshufd        $0x4e,%xmm1,%xmm0
+  DB  102,15,112,209,231                  ; pshufd        $0xe7,%xmm1,%xmm2
+  DB  102,15,126,209                      ; movd          %xmm2,%ecx
+  DB  102,15,110,20,138                   ; movd          (%edx,%ecx,4),%xmm2
+  DB  102,15,126,193                      ; movd          %xmm0,%ecx
+  DB  102,15,110,4,138                    ; movd          (%edx,%ecx,4),%xmm0
+  DB  102,15,126,201                      ; movd          %xmm1,%ecx
+  DB  102,15,112,201,229                  ; pshufd        $0xe5,%xmm1,%xmm1
+  DB  102,15,110,28,138                   ; movd          (%edx,%ecx,4),%xmm3
+  DB  102,15,126,201                      ; movd          %xmm1,%ecx
+  DB  102,15,110,12,138                   ; movd          (%edx,%ecx,4),%xmm1
+  DB  232,0,0,0,0                         ; call          5274 <_sk_gather_8888_sse2+0xa6>
+  DB  89                                  ; pop           %ecx
+  DB  102,15,98,194                       ; punpckldq     %xmm2,%xmm0
+  DB  102,15,98,217                       ; punpckldq     %xmm1,%xmm3
+  DB  102,15,108,216                      ; punpcklqdq    %xmm0,%xmm3
+  DB  102,15,111,145,188,181,0,0          ; movdqa        0xb5bc(%ecx),%xmm2
+  DB  102,15,111,195                      ; movdqa        %xmm3,%xmm0
+  DB  102,15,219,194                      ; pand          %xmm2,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  15,40,161,252,182,0,0               ; movaps        0xb6fc(%ecx),%xmm4
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
+  DB  102,15,114,209,8                    ; psrld         $0x8,%xmm1
+  DB  102,15,219,202                      ; pand          %xmm2,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  102,15,111,235                      ; movdqa        %xmm3,%xmm5
+  DB  102,15,114,213,16                   ; psrld         $0x10,%xmm5
+  DB  102,15,219,234                      ; pand          %xmm2,%xmm5
+  DB  15,91,213                           ; cvtdq2ps      %xmm5,%xmm2
+  DB  15,89,212                           ; mulps         %xmm4,%xmm2
+  DB  102,15,114,211,24                   ; psrld         $0x18,%xmm3
+  DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
+  DB  15,89,220                           ; mulps         %xmm4,%xmm3
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_store_8888_sse2
+_sk_store_8888_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,44                          ; sub           $0x2c,%esp
+  DB  15,41,93,216                        ; movaps        %xmm3,-0x28(%ebp)
+  DB  232,0,0,0,0                         ; call          52f3 <_sk_store_8888_sse2+0x12>
+  DB  88                                  ; pop           %eax
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,95,224                           ; maxps         %xmm0,%xmm4
+  DB  15,40,168,125,180,0,0               ; movaps        0xb47d(%eax),%xmm5
+  DB  15,93,229                           ; minps         %xmm5,%xmm4
+  DB  15,40,176,77,181,0,0                ; movaps        0xb54d(%eax),%xmm6
+  DB  15,89,230                           ; mulps         %xmm6,%xmm4
+  DB  102,15,91,228                       ; cvtps2dq      %xmm4,%xmm4
+  DB  15,87,255                           ; xorps         %xmm7,%xmm7
+  DB  15,95,249                           ; maxps         %xmm1,%xmm7
+  DB  15,93,253                           ; minps         %xmm5,%xmm7
+  DB  15,89,254                           ; mulps         %xmm6,%xmm7
+  DB  102,15,91,255                       ; cvtps2dq      %xmm7,%xmm7
+  DB  102,15,114,247,8                    ; pslld         $0x8,%xmm7
+  DB  102,15,235,252                      ; por           %xmm4,%xmm7
+  DB  102,15,87,228                       ; xorpd         %xmm4,%xmm4
+  DB  15,41,85,200                        ; movaps        %xmm2,-0x38(%ebp)
+  DB  15,95,226                           ; maxps         %xmm2,%xmm4
+  DB  15,93,229                           ; minps         %xmm5,%xmm4
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  15,95,93,216                        ; maxps         -0x28(%ebp),%xmm3
+  DB  15,93,221                           ; minps         %xmm5,%xmm3
+  DB  15,89,230                           ; mulps         %xmm6,%xmm4
+  DB  15,89,222                           ; mulps         %xmm6,%xmm3
+  DB  102,15,91,236                       ; cvtps2dq      %xmm4,%xmm5
+  DB  102,15,114,245,16                   ; pslld         $0x10,%xmm5
+  DB  102,15,91,227                       ; cvtps2dq      %xmm3,%xmm4
+  DB  102,15,114,244,24                   ; pslld         $0x18,%xmm4
+  DB  102,15,235,229                      ; por           %xmm5,%xmm4
+  DB  102,15,235,231                      ; por           %xmm7,%xmm4
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,56                              ; mov           (%eax),%edi
+  DB  139,17                              ; mov           (%ecx),%edx
+  DB  139,119,4                           ; mov           0x4(%edi),%esi
+  DB  15,175,113,4                        ; imul          0x4(%ecx),%esi
+  DB  193,230,2                           ; shl           $0x2,%esi
+  DB  3,55                                ; add           (%edi),%esi
+  DB  139,89,8                            ; mov           0x8(%ecx),%ebx
+  DB  133,219                             ; test          %ebx,%ebx
+  DB  117,32                              ; jne           53a0 <_sk_store_8888_sse2+0xbf>
+  DB  243,15,127,36,150                   ; movdqu        %xmm4,(%esi,%edx,4)
+  DB  141,80,8                            ; lea           0x8(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,85,200                        ; movaps        -0x38(%ebp),%xmm2
+  DB  15,40,93,216                        ; movaps        -0x28(%ebp),%xmm3
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,60                          ; add           $0x3c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  128,227,3                           ; and           $0x3,%bl
+  DB  128,251,1                           ; cmp           $0x1,%bl
+  DB  116,28                              ; je            53c4 <_sk_store_8888_sse2+0xe3>
+  DB  128,251,2                           ; cmp           $0x2,%bl
+  DB  116,16                              ; je            53bd <_sk_store_8888_sse2+0xdc>
+  DB  128,251,3                           ; cmp           $0x3,%bl
+  DB  117,211                             ; jne           5385 <_sk_store_8888_sse2+0xa4>
+  DB  102,15,112,220,78                   ; pshufd        $0x4e,%xmm4,%xmm3
+  DB  102,15,126,92,150,8                 ; movd          %xmm3,0x8(%esi,%edx,4)
+  DB  102,15,214,36,150                   ; movq          %xmm4,(%esi,%edx,4)
+  DB  235,193                             ; jmp           5385 <_sk_store_8888_sse2+0xa4>
+  DB  102,15,126,36,150                   ; movd          %xmm4,(%esi,%edx,4)
+  DB  235,186                             ; jmp           5385 <_sk_store_8888_sse2+0xa4>
+
+PUBLIC _sk_load_bgra_sse2
+_sk_load_bgra_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,12                          ; sub           $0xc,%esp
+  DB  232,0,0,0,0                         ; call          53d9 <_sk_load_bgra_sse2+0xe>
+  DB  90                                  ; pop           %edx
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,56                              ; mov           (%eax),%edi
+  DB  139,119,4                           ; mov           0x4(%edi),%esi
+  DB  15,175,113,4                        ; imul          0x4(%ecx),%esi
+  DB  193,230,2                           ; shl           $0x2,%esi
+  DB  3,55                                ; add           (%edi),%esi
+  DB  139,89,8                            ; mov           0x8(%ecx),%ebx
+  DB  133,219                             ; test          %ebx,%ebx
+  DB  139,57                              ; mov           (%ecx),%edi
+  DB  117,102                             ; jne           545d <_sk_load_bgra_sse2+0x92>
+  DB  243,15,111,28,190                   ; movdqu        (%esi,%edi,4),%xmm3
+  DB  102,15,111,130,87,180,0,0           ; movdqa        0xb457(%edx),%xmm0
+  DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
+  DB  102,15,219,200                      ; pand          %xmm0,%xmm1
+  DB  15,91,209                           ; cvtdq2ps      %xmm1,%xmm2
+  DB  15,40,162,151,181,0,0               ; movaps        0xb597(%edx),%xmm4
+  DB  15,89,212                           ; mulps         %xmm4,%xmm2
+  DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
+  DB  102,15,114,209,8                    ; psrld         $0x8,%xmm1
+  DB  102,15,219,200                      ; pand          %xmm0,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  102,15,111,235                      ; movdqa        %xmm3,%xmm5
+  DB  102,15,114,213,16                   ; psrld         $0x10,%xmm5
+  DB  102,15,219,232                      ; pand          %xmm0,%xmm5
+  DB  15,91,197                           ; cvtdq2ps      %xmm5,%xmm0
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  102,15,114,211,24                   ; psrld         $0x18,%xmm3
+  DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
+  DB  15,89,220                           ; mulps         %xmm4,%xmm3
+  DB  141,80,8                            ; lea           0x8(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,28                          ; add           $0x1c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  128,227,3                           ; and           $0x3,%bl
+  DB  128,251,1                           ; cmp           $0x1,%bl
+  DB  116,35                              ; je            5488 <_sk_load_bgra_sse2+0xbd>
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  128,251,2                           ; cmp           $0x2,%bl
+  DB  116,16                              ; je            547e <_sk_load_bgra_sse2+0xb3>
+  DB  128,251,3                           ; cmp           $0x3,%bl
+  DB  117,137                             ; jne           53fc <_sk_load_bgra_sse2+0x31>
+  DB  102,15,110,68,190,8                 ; movd          0x8(%esi,%edi,4),%xmm0
+  DB  102,15,112,216,69                   ; pshufd        $0x45,%xmm0,%xmm3
+  DB  102,15,18,28,190                    ; movlpd        (%esi,%edi,4),%xmm3
+  DB  233,116,255,255,255                 ; jmp           53fc <_sk_load_bgra_sse2+0x31>
+  DB  102,15,110,28,190                   ; movd          (%esi,%edi,4),%xmm3
+  DB  233,106,255,255,255                 ; jmp           53fc <_sk_load_bgra_sse2+0x31>
+
+PUBLIC _sk_load_bgra_dst_sse2
+_sk_load_bgra_dst_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,12                          ; sub           $0xc,%esp
+  DB  232,0,0,0,0                         ; call          54a0 <_sk_load_bgra_dst_sse2+0xe>
+  DB  90                                  ; pop           %edx
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,56                              ; mov           (%eax),%edi
+  DB  139,119,4                           ; mov           0x4(%edi),%esi
+  DB  15,175,113,4                        ; imul          0x4(%ecx),%esi
+  DB  193,230,2                           ; shl           $0x2,%esi
+  DB  3,55                                ; add           (%edi),%esi
+  DB  139,89,8                            ; mov           0x8(%ecx),%ebx
+  DB  133,219                             ; test          %ebx,%ebx
+  DB  139,57                              ; mov           (%ecx),%edi
+  DB  117,118                             ; jne           5534 <_sk_load_bgra_dst_sse2+0xa2>
+  DB  243,15,111,36,190                   ; movdqu        (%esi,%edi,4),%xmm4
+  DB  102,15,111,170,144,179,0,0          ; movdqa        0xb390(%edx),%xmm5
+  DB  102,15,111,244                      ; movdqa        %xmm4,%xmm6
+  DB  102,15,219,245                      ; pand          %xmm5,%xmm6
+  DB  15,91,246                           ; cvtdq2ps      %xmm6,%xmm6
+  DB  15,40,186,208,180,0,0               ; movaps        0xb4d0(%edx),%xmm7
+  DB  15,89,247                           ; mulps         %xmm7,%xmm6
+  DB  15,41,113,48                        ; movaps        %xmm6,0x30(%ecx)
+  DB  102,15,111,244                      ; movdqa        %xmm4,%xmm6
+  DB  102,15,114,214,8                    ; psrld         $0x8,%xmm6
+  DB  102,15,219,245                      ; pand          %xmm5,%xmm6
+  DB  15,91,246                           ; cvtdq2ps      %xmm6,%xmm6
+  DB  15,89,247                           ; mulps         %xmm7,%xmm6
+  DB  15,41,113,32                        ; movaps        %xmm6,0x20(%ecx)
+  DB  102,15,111,244                      ; movdqa        %xmm4,%xmm6
+  DB  102,15,114,214,16                   ; psrld         $0x10,%xmm6
+  DB  102,15,219,245                      ; pand          %xmm5,%xmm6
+  DB  15,91,238                           ; cvtdq2ps      %xmm6,%xmm5
+  DB  15,89,239                           ; mulps         %xmm7,%xmm5
+  DB  15,41,105,16                        ; movaps        %xmm5,0x10(%ecx)
+  DB  102,15,114,212,24                   ; psrld         $0x18,%xmm4
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  15,89,231                           ; mulps         %xmm7,%xmm4
+  DB  15,41,97,64                         ; movaps        %xmm4,0x40(%ecx)
+  DB  141,80,8                            ; lea           0x8(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,28                          ; add           $0x1c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  128,227,3                           ; and           $0x3,%bl
+  DB  128,251,1                           ; cmp           $0x1,%bl
+  DB  116,39                              ; je            5563 <_sk_load_bgra_dst_sse2+0xd1>
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  128,251,2                           ; cmp           $0x2,%bl
+  DB  116,20                              ; je            5559 <_sk_load_bgra_dst_sse2+0xc7>
+  DB  128,251,3                           ; cmp           $0x3,%bl
+  DB  15,133,117,255,255,255              ; jne           54c3 <_sk_load_bgra_dst_sse2+0x31>
+  DB  102,15,110,100,190,8                ; movd          0x8(%esi,%edi,4),%xmm4
+  DB  102,15,112,228,69                   ; pshufd        $0x45,%xmm4,%xmm4
+  DB  102,15,18,36,190                    ; movlpd        (%esi,%edi,4),%xmm4
+  DB  233,96,255,255,255                  ; jmp           54c3 <_sk_load_bgra_dst_sse2+0x31>
+  DB  102,15,110,36,190                   ; movd          (%esi,%edi,4),%xmm4
+  DB  233,86,255,255,255                  ; jmp           54c3 <_sk_load_bgra_dst_sse2+0x31>
+
+PUBLIC _sk_gather_bgra_sse2
+_sk_gather_bgra_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  243,15,16,81,8                      ; movss         0x8(%ecx),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  102,15,118,219                      ; pcmpeqd       %xmm3,%xmm3
+  DB  102,15,254,211                      ; paddd         %xmm3,%xmm2
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,87,237                           ; xorps         %xmm5,%xmm5
+  DB  15,95,232                           ; maxps         %xmm0,%xmm5
+  DB  15,93,234                           ; minps         %xmm2,%xmm5
+  DB  243,15,16,65,12                     ; movss         0xc(%ecx),%xmm0
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  102,15,254,195                      ; paddd         %xmm3,%xmm0
+  DB  15,95,225                           ; maxps         %xmm1,%xmm4
+  DB  15,93,224                           ; minps         %xmm0,%xmm4
+  DB  139,17                              ; mov           (%ecx),%edx
+  DB  243,15,91,196                       ; cvttps2dq     %xmm4,%xmm0
+  DB  102,15,110,73,4                     ; movd          0x4(%ecx),%xmm1
+  DB  102,15,112,201,0                    ; pshufd        $0x0,%xmm1,%xmm1
+  DB  102,15,112,208,245                  ; pshufd        $0xf5,%xmm0,%xmm2
+  DB  102,15,244,209                      ; pmuludq       %xmm1,%xmm2
+  DB  102,15,244,200                      ; pmuludq       %xmm0,%xmm1
+  DB  102,15,112,193,232                  ; pshufd        $0xe8,%xmm1,%xmm0
+  DB  102,15,112,202,232                  ; pshufd        $0xe8,%xmm2,%xmm1
+  DB  102,15,98,193                       ; punpckldq     %xmm1,%xmm0
+  DB  243,15,91,205                       ; cvttps2dq     %xmm5,%xmm1
+  DB  102,15,254,200                      ; paddd         %xmm0,%xmm1
+  DB  102,15,112,193,78                   ; pshufd        $0x4e,%xmm1,%xmm0
+  DB  102,15,112,209,231                  ; pshufd        $0xe7,%xmm1,%xmm2
+  DB  102,15,126,209                      ; movd          %xmm2,%ecx
+  DB  102,15,110,20,138                   ; movd          (%edx,%ecx,4),%xmm2
+  DB  102,15,126,193                      ; movd          %xmm0,%ecx
+  DB  102,15,110,4,138                    ; movd          (%edx,%ecx,4),%xmm0
+  DB  102,15,126,201                      ; movd          %xmm1,%ecx
+  DB  102,15,112,201,229                  ; pshufd        $0xe5,%xmm1,%xmm1
+  DB  102,15,110,28,138                   ; movd          (%edx,%ecx,4),%xmm3
+  DB  102,15,126,201                      ; movd          %xmm1,%ecx
+  DB  102,15,110,12,138                   ; movd          (%edx,%ecx,4),%xmm1
+  DB  232,0,0,0,0                         ; call          5613 <_sk_gather_bgra_sse2+0xa6>
+  DB  89                                  ; pop           %ecx
+  DB  102,15,98,194                       ; punpckldq     %xmm2,%xmm0
+  DB  102,15,98,217                       ; punpckldq     %xmm1,%xmm3
+  DB  102,15,108,216                      ; punpcklqdq    %xmm0,%xmm3
+  DB  102,15,111,129,29,178,0,0           ; movdqa        0xb21d(%ecx),%xmm0
+  DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
+  DB  102,15,219,200                      ; pand          %xmm0,%xmm1
+  DB  15,91,209                           ; cvtdq2ps      %xmm1,%xmm2
+  DB  15,40,161,93,179,0,0                ; movaps        0xb35d(%ecx),%xmm4
+  DB  15,89,212                           ; mulps         %xmm4,%xmm2
+  DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
+  DB  102,15,114,209,8                    ; psrld         $0x8,%xmm1
+  DB  102,15,219,200                      ; pand          %xmm0,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  102,15,111,235                      ; movdqa        %xmm3,%xmm5
+  DB  102,15,114,213,16                   ; psrld         $0x10,%xmm5
+  DB  102,15,219,232                      ; pand          %xmm0,%xmm5
+  DB  15,91,197                           ; cvtdq2ps      %xmm5,%xmm0
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  102,15,114,211,24                   ; psrld         $0x18,%xmm3
+  DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
+  DB  15,89,220                           ; mulps         %xmm4,%xmm3
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_store_bgra_sse2
+_sk_store_bgra_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,44                          ; sub           $0x2c,%esp
+  DB  15,41,93,216                        ; movaps        %xmm3,-0x28(%ebp)
+  DB  232,0,0,0,0                         ; call          5692 <_sk_store_bgra_sse2+0x12>
+  DB  88                                  ; pop           %eax
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,41,85,200                        ; movaps        %xmm2,-0x38(%ebp)
+  DB  15,95,226                           ; maxps         %xmm2,%xmm4
+  DB  15,40,168,222,176,0,0               ; movaps        0xb0de(%eax),%xmm5
+  DB  15,93,229                           ; minps         %xmm5,%xmm4
+  DB  15,40,176,174,177,0,0               ; movaps        0xb1ae(%eax),%xmm6
+  DB  15,89,230                           ; mulps         %xmm6,%xmm4
+  DB  102,15,91,228                       ; cvtps2dq      %xmm4,%xmm4
+  DB  15,87,255                           ; xorps         %xmm7,%xmm7
+  DB  15,95,249                           ; maxps         %xmm1,%xmm7
+  DB  15,93,253                           ; minps         %xmm5,%xmm7
+  DB  15,89,254                           ; mulps         %xmm6,%xmm7
+  DB  102,15,91,255                       ; cvtps2dq      %xmm7,%xmm7
+  DB  102,15,114,247,8                    ; pslld         $0x8,%xmm7
+  DB  102,15,235,252                      ; por           %xmm4,%xmm7
+  DB  102,15,87,228                       ; xorpd         %xmm4,%xmm4
+  DB  15,95,224                           ; maxps         %xmm0,%xmm4
+  DB  15,93,229                           ; minps         %xmm5,%xmm4
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  15,95,93,216                        ; maxps         -0x28(%ebp),%xmm3
+  DB  15,93,221                           ; minps         %xmm5,%xmm3
+  DB  15,89,230                           ; mulps         %xmm6,%xmm4
+  DB  15,89,222                           ; mulps         %xmm6,%xmm3
+  DB  102,15,91,236                       ; cvtps2dq      %xmm4,%xmm5
+  DB  102,15,114,245,16                   ; pslld         $0x10,%xmm5
+  DB  102,15,91,227                       ; cvtps2dq      %xmm3,%xmm4
+  DB  102,15,114,244,24                   ; pslld         $0x18,%xmm4
+  DB  102,15,235,229                      ; por           %xmm5,%xmm4
+  DB  102,15,235,231                      ; por           %xmm7,%xmm4
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,56                              ; mov           (%eax),%edi
+  DB  139,17                              ; mov           (%ecx),%edx
+  DB  139,119,4                           ; mov           0x4(%edi),%esi
+  DB  15,175,113,4                        ; imul          0x4(%ecx),%esi
+  DB  193,230,2                           ; shl           $0x2,%esi
+  DB  3,55                                ; add           (%edi),%esi
+  DB  139,89,8                            ; mov           0x8(%ecx),%ebx
+  DB  133,219                             ; test          %ebx,%ebx
+  DB  117,32                              ; jne           573f <_sk_store_bgra_sse2+0xbf>
+  DB  243,15,127,36,150                   ; movdqu        %xmm4,(%esi,%edx,4)
+  DB  141,80,8                            ; lea           0x8(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,85,200                        ; movaps        -0x38(%ebp),%xmm2
+  DB  15,40,93,216                        ; movaps        -0x28(%ebp),%xmm3
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,60                          ; add           $0x3c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  128,227,3                           ; and           $0x3,%bl
+  DB  128,251,1                           ; cmp           $0x1,%bl
+  DB  116,28                              ; je            5763 <_sk_store_bgra_sse2+0xe3>
+  DB  128,251,2                           ; cmp           $0x2,%bl
+  DB  116,16                              ; je            575c <_sk_store_bgra_sse2+0xdc>
+  DB  128,251,3                           ; cmp           $0x3,%bl
+  DB  117,211                             ; jne           5724 <_sk_store_bgra_sse2+0xa4>
+  DB  102,15,112,220,78                   ; pshufd        $0x4e,%xmm4,%xmm3
+  DB  102,15,126,92,150,8                 ; movd          %xmm3,0x8(%esi,%edx,4)
+  DB  102,15,214,36,150                   ; movq          %xmm4,(%esi,%edx,4)
+  DB  235,193                             ; jmp           5724 <_sk_store_bgra_sse2+0xa4>
+  DB  102,15,126,36,150                   ; movd          %xmm4,(%esi,%edx,4)
+  DB  235,186                             ; jmp           5724 <_sk_store_bgra_sse2+0xa4>
+
+PUBLIC _sk_load_1010102_sse2
+_sk_load_1010102_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,12                          ; sub           $0xc,%esp
+  DB  232,0,0,0,0                         ; call          5778 <_sk_load_1010102_sse2+0xe>
+  DB  90                                  ; pop           %edx
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,56                              ; mov           (%eax),%edi
+  DB  139,119,4                           ; mov           0x4(%edi),%esi
+  DB  15,175,113,4                        ; imul          0x4(%ecx),%esi
+  DB  193,230,2                           ; shl           $0x2,%esi
+  DB  3,55                                ; add           (%edi),%esi
+  DB  139,89,8                            ; mov           0x8(%ecx),%ebx
+  DB  133,219                             ; test          %ebx,%ebx
+  DB  139,57                              ; mov           (%ecx),%edi
+  DB  117,106                             ; jne           5800 <_sk_load_1010102_sse2+0x96>
+  DB  243,15,111,28,190                   ; movdqu        (%esi,%edi,4),%xmm3
+  DB  102,15,111,146,168,180,0,0          ; movdqa        0xb4a8(%edx),%xmm2
+  DB  102,15,111,195                      ; movdqa        %xmm3,%xmm0
+  DB  102,15,219,194                      ; pand          %xmm2,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  15,40,162,184,180,0,0               ; movaps        0xb4b8(%edx),%xmm4
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
+  DB  102,15,114,209,10                   ; psrld         $0xa,%xmm1
+  DB  102,15,219,202                      ; pand          %xmm2,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  102,15,111,235                      ; movdqa        %xmm3,%xmm5
+  DB  102,15,114,213,20                   ; psrld         $0x14,%xmm5
+  DB  102,15,219,234                      ; pand          %xmm2,%xmm5
+  DB  15,91,213                           ; cvtdq2ps      %xmm5,%xmm2
+  DB  15,89,212                           ; mulps         %xmm4,%xmm2
+  DB  102,15,114,211,30                   ; psrld         $0x1e,%xmm3
+  DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
+  DB  15,89,154,200,177,0,0               ; mulps         0xb1c8(%edx),%xmm3
+  DB  141,80,8                            ; lea           0x8(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,28                          ; add           $0x1c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  128,227,3                           ; and           $0x3,%bl
+  DB  128,251,1                           ; cmp           $0x1,%bl
+  DB  116,35                              ; je            582b <_sk_load_1010102_sse2+0xc1>
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  128,251,2                           ; cmp           $0x2,%bl
+  DB  116,16                              ; je            5821 <_sk_load_1010102_sse2+0xb7>
+  DB  128,251,3                           ; cmp           $0x3,%bl
+  DB  117,133                             ; jne           579b <_sk_load_1010102_sse2+0x31>
+  DB  102,15,110,68,190,8                 ; movd          0x8(%esi,%edi,4),%xmm0
+  DB  102,15,112,216,69                   ; pshufd        $0x45,%xmm0,%xmm3
+  DB  102,15,18,28,190                    ; movlpd        (%esi,%edi,4),%xmm3
+  DB  233,112,255,255,255                 ; jmp           579b <_sk_load_1010102_sse2+0x31>
+  DB  102,15,110,28,190                   ; movd          (%esi,%edi,4),%xmm3
+  DB  233,102,255,255,255                 ; jmp           579b <_sk_load_1010102_sse2+0x31>
+
+PUBLIC _sk_load_1010102_dst_sse2
+_sk_load_1010102_dst_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,12                          ; sub           $0xc,%esp
+  DB  232,0,0,0,0                         ; call          5843 <_sk_load_1010102_dst_sse2+0xe>
+  DB  90                                  ; pop           %edx
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,56                              ; mov           (%eax),%edi
+  DB  139,119,4                           ; mov           0x4(%edi),%esi
+  DB  15,175,113,4                        ; imul          0x4(%ecx),%esi
+  DB  193,230,2                           ; shl           $0x2,%esi
+  DB  3,55                                ; add           (%edi),%esi
+  DB  139,89,8                            ; mov           0x8(%ecx),%ebx
+  DB  133,219                             ; test          %ebx,%ebx
+  DB  139,57                              ; mov           (%ecx),%edi
+  DB  117,122                             ; jne           58db <_sk_load_1010102_dst_sse2+0xa6>
+  DB  243,15,111,36,190                   ; movdqu        (%esi,%edi,4),%xmm4
+  DB  102,15,111,170,221,179,0,0          ; movdqa        0xb3dd(%edx),%xmm5
+  DB  102,15,111,244                      ; movdqa        %xmm4,%xmm6
+  DB  102,15,219,245                      ; pand          %xmm5,%xmm6
+  DB  15,91,246                           ; cvtdq2ps      %xmm6,%xmm6
+  DB  15,40,186,237,179,0,0               ; movaps        0xb3ed(%edx),%xmm7
+  DB  15,89,247                           ; mulps         %xmm7,%xmm6
+  DB  15,41,113,16                        ; movaps        %xmm6,0x10(%ecx)
+  DB  102,15,111,244                      ; movdqa        %xmm4,%xmm6
+  DB  102,15,114,214,10                   ; psrld         $0xa,%xmm6
+  DB  102,15,219,245                      ; pand          %xmm5,%xmm6
+  DB  15,91,246                           ; cvtdq2ps      %xmm6,%xmm6
+  DB  15,89,247                           ; mulps         %xmm7,%xmm6
+  DB  15,41,113,32                        ; movaps        %xmm6,0x20(%ecx)
+  DB  102,15,111,244                      ; movdqa        %xmm4,%xmm6
+  DB  102,15,114,214,20                   ; psrld         $0x14,%xmm6
+  DB  102,15,219,245                      ; pand          %xmm5,%xmm6
+  DB  15,91,238                           ; cvtdq2ps      %xmm6,%xmm5
+  DB  15,89,239                           ; mulps         %xmm7,%xmm5
+  DB  15,41,105,48                        ; movaps        %xmm5,0x30(%ecx)
+  DB  102,15,114,212,30                   ; psrld         $0x1e,%xmm4
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  15,89,162,253,176,0,0               ; mulps         0xb0fd(%edx),%xmm4
+  DB  15,41,97,64                         ; movaps        %xmm4,0x40(%ecx)
+  DB  141,80,8                            ; lea           0x8(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,28                          ; add           $0x1c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  128,227,3                           ; and           $0x3,%bl
+  DB  128,251,1                           ; cmp           $0x1,%bl
+  DB  116,39                              ; je            590a <_sk_load_1010102_dst_sse2+0xd5>
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  128,251,2                           ; cmp           $0x2,%bl
+  DB  116,20                              ; je            5900 <_sk_load_1010102_dst_sse2+0xcb>
+  DB  128,251,3                           ; cmp           $0x3,%bl
+  DB  15,133,113,255,255,255              ; jne           5866 <_sk_load_1010102_dst_sse2+0x31>
+  DB  102,15,110,100,190,8                ; movd          0x8(%esi,%edi,4),%xmm4
+  DB  102,15,112,228,69                   ; pshufd        $0x45,%xmm4,%xmm4
+  DB  102,15,18,36,190                    ; movlpd        (%esi,%edi,4),%xmm4
+  DB  233,92,255,255,255                  ; jmp           5866 <_sk_load_1010102_dst_sse2+0x31>
+  DB  102,15,110,36,190                   ; movd          (%esi,%edi,4),%xmm4
+  DB  233,82,255,255,255                  ; jmp           5866 <_sk_load_1010102_dst_sse2+0x31>
+
+PUBLIC _sk_gather_1010102_sse2
+_sk_gather_1010102_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  243,15,16,81,8                      ; movss         0x8(%ecx),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  102,15,118,219                      ; pcmpeqd       %xmm3,%xmm3
+  DB  102,15,254,211                      ; paddd         %xmm3,%xmm2
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,87,237                           ; xorps         %xmm5,%xmm5
+  DB  15,95,232                           ; maxps         %xmm0,%xmm5
+  DB  15,93,234                           ; minps         %xmm2,%xmm5
+  DB  243,15,16,65,12                     ; movss         0xc(%ecx),%xmm0
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  102,15,254,195                      ; paddd         %xmm3,%xmm0
+  DB  15,95,225                           ; maxps         %xmm1,%xmm4
+  DB  15,93,224                           ; minps         %xmm0,%xmm4
+  DB  139,17                              ; mov           (%ecx),%edx
+  DB  243,15,91,196                       ; cvttps2dq     %xmm4,%xmm0
+  DB  102,15,110,73,4                     ; movd          0x4(%ecx),%xmm1
+  DB  102,15,112,201,0                    ; pshufd        $0x0,%xmm1,%xmm1
+  DB  102,15,112,208,245                  ; pshufd        $0xf5,%xmm0,%xmm2
+  DB  102,15,244,209                      ; pmuludq       %xmm1,%xmm2
+  DB  102,15,244,200                      ; pmuludq       %xmm0,%xmm1
+  DB  102,15,112,193,232                  ; pshufd        $0xe8,%xmm1,%xmm0
+  DB  102,15,112,202,232                  ; pshufd        $0xe8,%xmm2,%xmm1
+  DB  102,15,98,193                       ; punpckldq     %xmm1,%xmm0
+  DB  243,15,91,205                       ; cvttps2dq     %xmm5,%xmm1
+  DB  102,15,254,200                      ; paddd         %xmm0,%xmm1
+  DB  102,15,112,193,78                   ; pshufd        $0x4e,%xmm1,%xmm0
+  DB  102,15,112,209,231                  ; pshufd        $0xe7,%xmm1,%xmm2
+  DB  102,15,126,209                      ; movd          %xmm2,%ecx
+  DB  102,15,110,20,138                   ; movd          (%edx,%ecx,4),%xmm2
+  DB  102,15,126,193                      ; movd          %xmm0,%ecx
+  DB  102,15,110,4,138                    ; movd          (%edx,%ecx,4),%xmm0
+  DB  102,15,126,201                      ; movd          %xmm1,%ecx
+  DB  102,15,112,201,229                  ; pshufd        $0xe5,%xmm1,%xmm1
+  DB  102,15,110,28,138                   ; movd          (%edx,%ecx,4),%xmm3
+  DB  102,15,126,201                      ; movd          %xmm1,%ecx
+  DB  102,15,110,12,138                   ; movd          (%edx,%ecx,4),%xmm1
+  DB  232,0,0,0,0                         ; call          59ba <_sk_gather_1010102_sse2+0xa6>
+  DB  89                                  ; pop           %ecx
+  DB  102,15,98,194                       ; punpckldq     %xmm2,%xmm0
+  DB  102,15,98,217                       ; punpckldq     %xmm1,%xmm3
+  DB  102,15,108,216                      ; punpcklqdq    %xmm0,%xmm3
+  DB  102,15,111,145,102,178,0,0          ; movdqa        0xb266(%ecx),%xmm2
+  DB  102,15,111,195                      ; movdqa        %xmm3,%xmm0
+  DB  102,15,219,194                      ; pand          %xmm2,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  15,40,161,118,178,0,0               ; movaps        0xb276(%ecx),%xmm4
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
+  DB  102,15,114,209,10                   ; psrld         $0xa,%xmm1
+  DB  102,15,219,202                      ; pand          %xmm2,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  102,15,111,235                      ; movdqa        %xmm3,%xmm5
+  DB  102,15,114,213,20                   ; psrld         $0x14,%xmm5
+  DB  102,15,219,234                      ; pand          %xmm2,%xmm5
+  DB  15,91,213                           ; cvtdq2ps      %xmm5,%xmm2
+  DB  15,89,212                           ; mulps         %xmm4,%xmm2
+  DB  102,15,114,211,30                   ; psrld         $0x1e,%xmm3
+  DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
+  DB  15,89,153,134,175,0,0               ; mulps         0xaf86(%ecx),%xmm3
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_store_1010102_sse2
+_sk_store_1010102_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,12                          ; sub           $0xc,%esp
+  DB  232,0,0,0,0                         ; call          5a39 <_sk_store_1010102_sse2+0xe>
+  DB  88                                  ; pop           %eax
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,95,224                           ; maxps         %xmm0,%xmm4
+  DB  15,40,168,55,173,0,0                ; movaps        0xad37(%eax),%xmm5
+  DB  15,93,229                           ; minps         %xmm5,%xmm4
+  DB  15,40,176,7,178,0,0                 ; movaps        0xb207(%eax),%xmm6
+  DB  15,89,230                           ; mulps         %xmm6,%xmm4
+  DB  102,15,91,228                       ; cvtps2dq      %xmm4,%xmm4
+  DB  15,87,255                           ; xorps         %xmm7,%xmm7
+  DB  15,95,249                           ; maxps         %xmm1,%xmm7
+  DB  15,93,253                           ; minps         %xmm5,%xmm7
+  DB  15,89,254                           ; mulps         %xmm6,%xmm7
+  DB  102,15,91,255                       ; cvtps2dq      %xmm7,%xmm7
+  DB  102,15,114,247,10                   ; pslld         $0xa,%xmm7
+  DB  102,15,235,252                      ; por           %xmm4,%xmm7
+  DB  102,15,87,228                       ; xorpd         %xmm4,%xmm4
+  DB  15,95,226                           ; maxps         %xmm2,%xmm4
+  DB  15,93,229                           ; minps         %xmm5,%xmm4
+  DB  15,89,230                           ; mulps         %xmm6,%xmm4
+  DB  102,15,91,244                       ; cvtps2dq      %xmm4,%xmm6
+  DB  102,15,114,246,20                   ; pslld         $0x14,%xmm6
+  DB  102,15,235,247                      ; por           %xmm7,%xmm6
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,95,227                           ; maxps         %xmm3,%xmm4
+  DB  15,93,229                           ; minps         %xmm5,%xmm4
+  DB  15,89,160,23,178,0,0                ; mulps         0xb217(%eax),%xmm4
+  DB  102,15,91,228                       ; cvtps2dq      %xmm4,%xmm4
+  DB  102,15,114,244,30                   ; pslld         $0x1e,%xmm4
+  DB  102,15,235,230                      ; por           %xmm6,%xmm4
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,56                              ; mov           (%eax),%edi
+  DB  139,17                              ; mov           (%ecx),%edx
+  DB  139,119,4                           ; mov           0x4(%edi),%esi
+  DB  15,175,113,4                        ; imul          0x4(%ecx),%esi
+  DB  193,230,2                           ; shl           $0x2,%esi
+  DB  3,55                                ; add           (%edi),%esi
+  DB  139,89,8                            ; mov           0x8(%ecx),%ebx
+  DB  133,219                             ; test          %ebx,%ebx
+  DB  117,24                              ; jne           5add <_sk_store_1010102_sse2+0xb2>
+  DB  243,15,127,36,150                   ; movdqu        %xmm4,(%esi,%edx,4)
+  DB  141,80,8                            ; lea           0x8(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,28                          ; add           $0x1c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  128,227,3                           ; and           $0x3,%bl
+  DB  128,251,1                           ; cmp           $0x1,%bl
+  DB  116,28                              ; je            5b01 <_sk_store_1010102_sse2+0xd6>
+  DB  128,251,2                           ; cmp           $0x2,%bl
+  DB  116,16                              ; je            5afa <_sk_store_1010102_sse2+0xcf>
+  DB  128,251,3                           ; cmp           $0x3,%bl
+  DB  117,219                             ; jne           5aca <_sk_store_1010102_sse2+0x9f>
+  DB  102,15,112,236,78                   ; pshufd        $0x4e,%xmm4,%xmm5
+  DB  102,15,126,108,150,8                ; movd          %xmm5,0x8(%esi,%edx,4)
+  DB  102,15,214,36,150                   ; movq          %xmm4,(%esi,%edx,4)
+  DB  235,201                             ; jmp           5aca <_sk_store_1010102_sse2+0x9f>
+  DB  102,15,126,36,150                   ; movd          %xmm4,(%esi,%edx,4)
+  DB  235,194                             ; jmp           5aca <_sk_store_1010102_sse2+0x9f>
+
+PUBLIC _sk_load_f16_sse2
+_sk_load_f16_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,108                         ; sub           $0x6c,%esp
+  DB  232,0,0,0,0                         ; call          5b16 <_sk_load_f16_sse2+0xe>
+  DB  90                                  ; pop           %edx
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,56                              ; mov           (%eax),%edi
+  DB  139,119,4                           ; mov           0x4(%edi),%esi
+  DB  15,175,113,4                        ; imul          0x4(%ecx),%esi
+  DB  193,230,3                           ; shl           $0x3,%esi
+  DB  3,55                                ; add           (%edi),%esi
+  DB  139,89,8                            ; mov           0x8(%ecx),%ebx
+  DB  133,219                             ; test          %ebx,%ebx
+  DB  139,57                              ; mov           (%ecx),%edi
+  DB  15,133,173,1,0,0                    ; jne           5ce5 <_sk_load_f16_sse2+0x1dd>
+  DB  102,15,16,4,254                     ; movupd        (%esi,%edi,8),%xmm0
+  DB  243,15,111,76,254,16                ; movdqu        0x10(%esi,%edi,8),%xmm1
+  DB  102,15,40,216                       ; movapd        %xmm0,%xmm3
+  DB  102,15,97,217                       ; punpcklwd     %xmm1,%xmm3
+  DB  102,15,105,193                      ; punpckhwd     %xmm1,%xmm0
+  DB  102,15,111,211                      ; movdqa        %xmm3,%xmm2
+  DB  102,15,97,208                       ; punpcklwd     %xmm0,%xmm2
+  DB  102,15,105,216                      ; punpckhwd     %xmm0,%xmm3
+  DB  102,15,126,85,208                   ; movd          %xmm2,-0x30(%ebp)
+  DB  102,15,112,194,229                  ; pshufd        $0xe5,%xmm2,%xmm0
+  DB  102,15,126,69,212                   ; movd          %xmm0,-0x2c(%ebp)
+  DB  243,15,126,77,208                   ; movq          -0x30(%ebp),%xmm1
+  DB  102,15,112,194,231                  ; pshufd        $0xe7,%xmm2,%xmm0
+  DB  102,15,126,69,220                   ; movd          %xmm0,-0x24(%ebp)
+  DB  102,15,112,194,78                   ; pshufd        $0x4e,%xmm2,%xmm0
+  DB  102,15,126,69,216                   ; movd          %xmm0,-0x28(%ebp)
+  DB  243,15,126,101,216                  ; movq          -0x28(%ebp),%xmm4
+  DB  102,15,126,93,224                   ; movd          %xmm3,-0x20(%ebp)
+  DB  102,15,112,195,229                  ; pshufd        $0xe5,%xmm3,%xmm0
+  DB  102,15,126,69,228                   ; movd          %xmm0,-0x1c(%ebp)
+  DB  242,15,16,69,224                    ; movsd         -0x20(%ebp),%xmm0
+  DB  15,41,69,152                        ; movaps        %xmm0,-0x68(%ebp)
+  DB  102,15,112,195,231                  ; pshufd        $0xe7,%xmm3,%xmm0
+  DB  102,15,126,69,236                   ; movd          %xmm0,-0x14(%ebp)
+  DB  102,15,112,195,78                   ; pshufd        $0x4e,%xmm3,%xmm0
+  DB  102,15,126,69,232                   ; movd          %xmm0,-0x18(%ebp)
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  102,15,97,200                       ; punpcklwd     %xmm0,%xmm1
+  DB  102,15,239,210                      ; pxor          %xmm2,%xmm2
+  DB  102,15,111,170,74,177,0,0           ; movdqa        0xb14a(%edx),%xmm5
+  DB  102,15,111,241                      ; movdqa        %xmm1,%xmm6
+  DB  102,15,219,245                      ; pand          %xmm5,%xmm6
+  DB  102,15,219,138,90,177,0,0           ; pand          0xb15a(%edx),%xmm1
+  DB  102,15,111,130,106,177,0,0          ; movdqa        0xb16a(%edx),%xmm0
+  DB  102,15,127,69,184                   ; movdqa        %xmm0,-0x48(%ebp)
+  DB  102,15,114,246,16                   ; pslld         $0x10,%xmm6
+  DB  102,15,111,216                      ; movdqa        %xmm0,%xmm3
+  DB  102,15,102,217                      ; pcmpgtd       %xmm1,%xmm3
+  DB  102,15,127,93,136                   ; movdqa        %xmm3,-0x78(%ebp)
+  DB  102,15,114,241,13                   ; pslld         $0xd,%xmm1
+  DB  102,15,235,206                      ; por           %xmm6,%xmm1
+  DB  102,15,97,226                       ; punpcklwd     %xmm2,%xmm4
+  DB  102,15,239,255                      ; pxor          %xmm7,%xmm7
+  DB  102,15,111,212                      ; movdqa        %xmm4,%xmm2
+  DB  102,15,219,213                      ; pand          %xmm5,%xmm2
+  DB  102,15,111,154,90,177,0,0           ; movdqa        0xb15a(%edx),%xmm3
+  DB  102,15,219,227                      ; pand          %xmm3,%xmm4
+  DB  102,15,114,242,16                   ; pslld         $0x10,%xmm2
+  DB  102,15,102,196                      ; pcmpgtd       %xmm4,%xmm0
+  DB  102,15,127,69,168                   ; movdqa        %xmm0,-0x58(%ebp)
+  DB  102,15,114,244,13                   ; pslld         $0xd,%xmm4
+  DB  102,15,235,226                      ; por           %xmm2,%xmm4
+  DB  102,15,111,69,152                   ; movdqa        -0x68(%ebp),%xmm0
+  DB  102,15,97,199                       ; punpcklwd     %xmm7,%xmm0
+  DB  102,15,111,248                      ; movdqa        %xmm0,%xmm7
+  DB  102,15,219,253                      ; pand          %xmm5,%xmm7
+  DB  102,15,219,195                      ; pand          %xmm3,%xmm0
+  DB  102,15,114,247,16                   ; pslld         $0x10,%xmm7
+  DB  102,15,111,146,106,177,0,0          ; movdqa        0xb16a(%edx),%xmm2
+  DB  102,15,102,208                      ; pcmpgtd       %xmm0,%xmm2
+  DB  102,15,114,240,13                   ; pslld         $0xd,%xmm0
+  DB  102,15,235,199                      ; por           %xmm7,%xmm0
+  DB  243,15,126,125,232                  ; movq          -0x18(%ebp),%xmm7
+  DB  102,15,239,246                      ; pxor          %xmm6,%xmm6
+  DB  102,15,97,254                       ; punpcklwd     %xmm6,%xmm7
+  DB  102,15,219,239                      ; pand          %xmm7,%xmm5
+  DB  102,15,219,251                      ; pand          %xmm3,%xmm7
+  DB  102,15,114,245,16                   ; pslld         $0x10,%xmm5
+  DB  102,15,111,93,184                   ; movdqa        -0x48(%ebp),%xmm3
+  DB  102,15,102,223                      ; pcmpgtd       %xmm7,%xmm3
+  DB  102,15,127,93,184                   ; movdqa        %xmm3,-0x48(%ebp)
+  DB  102,15,114,247,13                   ; pslld         $0xd,%xmm7
+  DB  102,15,235,253                      ; por           %xmm5,%xmm7
+  DB  102,15,111,154,122,177,0,0          ; movdqa        0xb17a(%edx),%xmm3
+  DB  102,15,254,203                      ; paddd         %xmm3,%xmm1
+  DB  102,15,254,227                      ; paddd         %xmm3,%xmm4
+  DB  102,15,254,195                      ; paddd         %xmm3,%xmm0
+  DB  102,15,254,251                      ; paddd         %xmm3,%xmm7
+  DB  102,15,111,93,136                   ; movdqa        -0x78(%ebp),%xmm3
+  DB  102,15,223,217                      ; pandn         %xmm1,%xmm3
+  DB  102,15,111,77,168                   ; movdqa        -0x58(%ebp),%xmm1
+  DB  102,15,223,204                      ; pandn         %xmm4,%xmm1
+  DB  102,15,223,208                      ; pandn         %xmm0,%xmm2
+  DB  102,15,111,101,184                  ; movdqa        -0x48(%ebp),%xmm4
+  DB  102,15,223,231                      ; pandn         %xmm7,%xmm4
+  DB  141,80,8                            ; lea           0x8(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  102,15,111,195                      ; movdqa        %xmm3,%xmm0
+  DB  102,15,111,220                      ; movdqa        %xmm4,%xmm3
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,124                         ; add           $0x7c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  242,15,16,4,254                     ; movsd         (%esi,%edi,8),%xmm0
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  131,251,1                           ; cmp           $0x1,%ebx
+  DB  15,132,76,254,255,255               ; je            5b43 <_sk_load_f16_sse2+0x3b>
+  DB  102,15,22,68,254,8                  ; movhpd        0x8(%esi,%edi,8),%xmm0
+  DB  131,251,3                           ; cmp           $0x3,%ebx
+  DB  15,130,61,254,255,255               ; jb            5b43 <_sk_load_f16_sse2+0x3b>
+  DB  243,15,126,76,254,16                ; movq          0x10(%esi,%edi,8),%xmm1
+  DB  233,50,254,255,255                  ; jmp           5b43 <_sk_load_f16_sse2+0x3b>
+
+PUBLIC _sk_load_f16_dst_sse2
+_sk_load_f16_dst_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,124                         ; sub           $0x7c,%esp
+  DB  15,41,157,120,255,255,255           ; movaps        %xmm3,-0x88(%ebp)
+  DB  15,41,85,136                        ; movaps        %xmm2,-0x78(%ebp)
+  DB  102,15,127,77,152                   ; movdqa        %xmm1,-0x68(%ebp)
+  DB  15,41,69,168                        ; movaps        %xmm0,-0x58(%ebp)
+  DB  232,0,0,0,0                         ; call          5d33 <_sk_load_f16_dst_sse2+0x22>
+  DB  90                                  ; pop           %edx
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,56                              ; mov           (%eax),%edi
+  DB  139,119,4                           ; mov           0x4(%edi),%esi
+  DB  15,175,113,4                        ; imul          0x4(%ecx),%esi
+  DB  193,230,3                           ; shl           $0x3,%esi
+  DB  3,55                                ; add           (%edi),%esi
+  DB  139,89,8                            ; mov           0x8(%ecx),%ebx
+  DB  133,219                             ; test          %ebx,%ebx
+  DB  139,57                              ; mov           (%ecx),%edi
+  DB  15,133,168,1,0,0                    ; jne           5efd <_sk_load_f16_dst_sse2+0x1ec>
+  DB  102,15,16,4,254                     ; movupd        (%esi,%edi,8),%xmm0
+  DB  243,15,111,76,254,16                ; movdqu        0x10(%esi,%edi,8),%xmm1
+  DB  102,15,40,208                       ; movapd        %xmm0,%xmm2
+  DB  102,15,97,209                       ; punpcklwd     %xmm1,%xmm2
+  DB  102,15,105,193                      ; punpckhwd     %xmm1,%xmm0
+  DB  102,15,111,218                      ; movdqa        %xmm2,%xmm3
+  DB  102,15,97,216                       ; punpcklwd     %xmm0,%xmm3
+  DB  102,15,105,208                      ; punpckhwd     %xmm0,%xmm2
+  DB  102,15,126,93,208                   ; movd          %xmm3,-0x30(%ebp)
+  DB  102,15,112,195,229                  ; pshufd        $0xe5,%xmm3,%xmm0
+  DB  102,15,126,69,212                   ; movd          %xmm0,-0x2c(%ebp)
+  DB  243,15,126,77,208                   ; movq          -0x30(%ebp),%xmm1
+  DB  102,15,112,195,231                  ; pshufd        $0xe7,%xmm3,%xmm0
+  DB  102,15,126,69,220                   ; movd          %xmm0,-0x24(%ebp)
+  DB  102,15,112,195,78                   ; pshufd        $0x4e,%xmm3,%xmm0
+  DB  102,15,126,69,216                   ; movd          %xmm0,-0x28(%ebp)
+  DB  243,15,126,69,216                   ; movq          -0x28(%ebp),%xmm0
+  DB  102,15,126,85,224                   ; movd          %xmm2,-0x20(%ebp)
+  DB  102,15,112,218,229                  ; pshufd        $0xe5,%xmm2,%xmm3
+  DB  102,15,126,93,228                   ; movd          %xmm3,-0x1c(%ebp)
+  DB  243,15,126,117,224                  ; movq          -0x20(%ebp),%xmm6
+  DB  102,15,112,218,231                  ; pshufd        $0xe7,%xmm2,%xmm3
+  DB  102,15,126,93,236                   ; movd          %xmm3,-0x14(%ebp)
+  DB  102,15,112,210,78                   ; pshufd        $0x4e,%xmm2,%xmm2
+  DB  102,15,126,85,232                   ; movd          %xmm2,-0x18(%ebp)
+  DB  102,15,239,210                      ; pxor          %xmm2,%xmm2
+  DB  102,15,97,202                       ; punpcklwd     %xmm2,%xmm1
+  DB  102,15,111,186,45,175,0,0           ; movdqa        0xaf2d(%edx),%xmm7
+  DB  102,15,111,209                      ; movdqa        %xmm1,%xmm2
+  DB  102,15,219,215                      ; pand          %xmm7,%xmm2
+  DB  102,15,111,154,61,175,0,0           ; movdqa        0xaf3d(%edx),%xmm3
+  DB  102,15,219,203                      ; pand          %xmm3,%xmm1
+  DB  102,15,111,162,77,175,0,0           ; movdqa        0xaf4d(%edx),%xmm4
+  DB  102,15,114,242,16                   ; pslld         $0x10,%xmm2
+  DB  102,15,111,236                      ; movdqa        %xmm4,%xmm5
+  DB  102,15,102,233                      ; pcmpgtd       %xmm1,%xmm5
+  DB  102,15,114,241,13                   ; pslld         $0xd,%xmm1
+  DB  102,15,235,202                      ; por           %xmm2,%xmm1
+  DB  102,15,111,146,93,175,0,0           ; movdqa        0xaf5d(%edx),%xmm2
+  DB  102,15,127,85,184                   ; movdqa        %xmm2,-0x48(%ebp)
+  DB  102,15,254,202                      ; paddd         %xmm2,%xmm1
+  DB  102,15,223,233                      ; pandn         %xmm1,%xmm5
+  DB  243,15,126,77,232                   ; movq          -0x18(%ebp),%xmm1
+  DB  102,15,127,105,16                   ; movdqa        %xmm5,0x10(%ecx)
+  DB  102,15,239,210                      ; pxor          %xmm2,%xmm2
+  DB  102,15,97,194                       ; punpcklwd     %xmm2,%xmm0
+  DB  102,15,111,232                      ; movdqa        %xmm0,%xmm5
+  DB  102,15,219,239                      ; pand          %xmm7,%xmm5
+  DB  102,15,219,195                      ; pand          %xmm3,%xmm0
+  DB  102,15,111,211                      ; movdqa        %xmm3,%xmm2
+  DB  102,15,114,245,16                   ; pslld         $0x10,%xmm5
+  DB  102,15,111,220                      ; movdqa        %xmm4,%xmm3
+  DB  102,15,102,216                      ; pcmpgtd       %xmm0,%xmm3
+  DB  102,15,114,240,13                   ; pslld         $0xd,%xmm0
+  DB  102,15,235,197                      ; por           %xmm5,%xmm0
+  DB  102,15,111,109,184                  ; movdqa        -0x48(%ebp),%xmm5
+  DB  102,15,254,197                      ; paddd         %xmm5,%xmm0
+  DB  102,15,223,216                      ; pandn         %xmm0,%xmm3
+  DB  102,15,127,89,32                    ; movdqa        %xmm3,0x20(%ecx)
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  102,15,97,240                       ; punpcklwd     %xmm0,%xmm6
+  DB  102,15,111,198                      ; movdqa        %xmm6,%xmm0
+  DB  102,15,219,199                      ; pand          %xmm7,%xmm0
+  DB  102,15,219,242                      ; pand          %xmm2,%xmm6
+  DB  102,15,114,240,16                   ; pslld         $0x10,%xmm0
+  DB  102,15,111,220                      ; movdqa        %xmm4,%xmm3
+  DB  102,15,102,222                      ; pcmpgtd       %xmm6,%xmm3
+  DB  102,15,114,246,13                   ; pslld         $0xd,%xmm6
+  DB  102,15,235,240                      ; por           %xmm0,%xmm6
+  DB  102,15,254,245                      ; paddd         %xmm5,%xmm6
+  DB  102,15,223,222                      ; pandn         %xmm6,%xmm3
+  DB  102,15,127,89,48                    ; movdqa        %xmm3,0x30(%ecx)
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  102,15,97,203                       ; punpcklwd     %xmm3,%xmm1
+  DB  102,15,219,249                      ; pand          %xmm1,%xmm7
+  DB  102,15,219,202                      ; pand          %xmm2,%xmm1
+  DB  102,15,114,247,16                   ; pslld         $0x10,%xmm7
+  DB  102,15,102,225                      ; pcmpgtd       %xmm1,%xmm4
+  DB  102,15,114,241,13                   ; pslld         $0xd,%xmm1
+  DB  102,15,235,207                      ; por           %xmm7,%xmm1
+  DB  102,15,254,205                      ; paddd         %xmm5,%xmm1
+  DB  102,15,223,225                      ; pandn         %xmm1,%xmm4
+  DB  102,15,127,97,64                    ; movdqa        %xmm4,0x40(%ecx)
+  DB  141,80,8                            ; lea           0x8(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,69,168                        ; movaps        -0x58(%ebp),%xmm0
+  DB  15,40,77,152                        ; movaps        -0x68(%ebp),%xmm1
+  DB  15,40,85,136                        ; movaps        -0x78(%ebp),%xmm2
+  DB  15,40,157,120,255,255,255           ; movaps        -0x88(%ebp),%xmm3
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  129,196,140,0,0,0                   ; add           $0x8c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  242,15,16,4,254                     ; movsd         (%esi,%edi,8),%xmm0
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  131,251,1                           ; cmp           $0x1,%ebx
+  DB  15,132,81,254,255,255               ; je            5d60 <_sk_load_f16_dst_sse2+0x4f>
+  DB  102,15,22,68,254,8                  ; movhpd        0x8(%esi,%edi,8),%xmm0
+  DB  131,251,3                           ; cmp           $0x3,%ebx
+  DB  15,130,66,254,255,255               ; jb            5d60 <_sk_load_f16_dst_sse2+0x4f>
+  DB  243,15,126,76,254,16                ; movq          0x10(%esi,%edi,8),%xmm1
+  DB  233,55,254,255,255                  ; jmp           5d60 <_sk_load_f16_dst_sse2+0x4f>
+
+PUBLIC _sk_gather_f16_sse2
+_sk_gather_f16_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,88                          ; sub           $0x58,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  243,15,16,81,8                      ; movss         0x8(%ecx),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  102,15,118,219                      ; pcmpeqd       %xmm3,%xmm3
+  DB  102,15,254,211                      ; paddd         %xmm3,%xmm2
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,95,224                           ; maxps         %xmm0,%xmm4
+  DB  15,93,226                           ; minps         %xmm2,%xmm4
+  DB  243,15,16,65,12                     ; movss         0xc(%ecx),%xmm0
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  102,15,254,195                      ; paddd         %xmm3,%xmm0
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  15,95,209                           ; maxps         %xmm1,%xmm2
+  DB  15,93,208                           ; minps         %xmm0,%xmm2
+  DB  139,17                              ; mov           (%ecx),%edx
+  DB  243,15,91,194                       ; cvttps2dq     %xmm2,%xmm0
+  DB  102,15,110,73,4                     ; movd          0x4(%ecx),%xmm1
+  DB  102,15,112,201,0                    ; pshufd        $0x0,%xmm1,%xmm1
+  DB  102,15,112,208,245                  ; pshufd        $0xf5,%xmm0,%xmm2
+  DB  102,15,244,209                      ; pmuludq       %xmm1,%xmm2
+  DB  102,15,244,200                      ; pmuludq       %xmm0,%xmm1
+  DB  102,15,112,193,232                  ; pshufd        $0xe8,%xmm1,%xmm0
+  DB  102,15,112,202,232                  ; pshufd        $0xe8,%xmm2,%xmm1
+  DB  102,15,98,193                       ; punpckldq     %xmm1,%xmm0
+  DB  243,15,91,204                       ; cvttps2dq     %xmm4,%xmm1
+  DB  102,15,254,200                      ; paddd         %xmm0,%xmm1
+  DB  102,15,112,193,78                   ; pshufd        $0x4e,%xmm1,%xmm0
+  DB  102,15,112,209,231                  ; pshufd        $0xe7,%xmm1,%xmm2
+  DB  102,15,126,209                      ; movd          %xmm2,%ecx
+  DB  243,15,126,20,202                   ; movq          (%edx,%ecx,8),%xmm2
+  DB  102,15,126,193                      ; movd          %xmm0,%ecx
+  DB  243,15,126,4,202                    ; movq          (%edx,%ecx,8),%xmm0
+  DB  102,15,126,201                      ; movd          %xmm1,%ecx
+  DB  102,15,112,201,229                  ; pshufd        $0xe5,%xmm1,%xmm1
+  DB  243,15,126,28,202                   ; movq          (%edx,%ecx,8),%xmm3
+  DB  102,15,126,201                      ; movd          %xmm1,%ecx
+  DB  243,15,126,12,202                   ; movq          (%edx,%ecx,8),%xmm1
+  DB  232,0,0,0,0                         ; call          5fcf <_sk_gather_f16_sse2+0xa6>
+  DB  89                                  ; pop           %ecx
+  DB  102,15,239,246                      ; pxor          %xmm6,%xmm6
+  DB  102,15,108,194                      ; punpcklqdq    %xmm2,%xmm0
+  DB  102,15,108,217                      ; punpcklqdq    %xmm1,%xmm3
+  DB  102,15,111,227                      ; movdqa        %xmm3,%xmm4
+  DB  102,15,97,224                       ; punpcklwd     %xmm0,%xmm4
+  DB  102,15,105,216                      ; punpckhwd     %xmm0,%xmm3
+  DB  102,15,111,196                      ; movdqa        %xmm4,%xmm0
+  DB  102,15,97,195                       ; punpcklwd     %xmm3,%xmm0
+  DB  102,15,105,227                      ; punpckhwd     %xmm3,%xmm4
+  DB  102,15,126,69,224                   ; movd          %xmm0,-0x20(%ebp)
+  DB  102,15,112,200,229                  ; pshufd        $0xe5,%xmm0,%xmm1
+  DB  102,15,126,77,228                   ; movd          %xmm1,-0x1c(%ebp)
+  DB  243,15,126,77,224                   ; movq          -0x20(%ebp),%xmm1
+  DB  102,15,112,208,231                  ; pshufd        $0xe7,%xmm0,%xmm2
+  DB  102,15,126,85,236                   ; movd          %xmm2,-0x14(%ebp)
+  DB  102,15,112,192,78                   ; pshufd        $0x4e,%xmm0,%xmm0
+  DB  102,15,126,69,232                   ; movd          %xmm0,-0x18(%ebp)
+  DB  243,15,126,109,232                  ; movq          -0x18(%ebp),%xmm5
+  DB  102,15,126,101,240                  ; movd          %xmm4,-0x10(%ebp)
+  DB  102,15,112,196,229                  ; pshufd        $0xe5,%xmm4,%xmm0
+  DB  102,15,126,69,244                   ; movd          %xmm0,-0xc(%ebp)
+  DB  242,15,16,69,240                    ; movsd         -0x10(%ebp),%xmm0
+  DB  15,41,69,184                        ; movaps        %xmm0,-0x48(%ebp)
+  DB  102,15,112,196,231                  ; pshufd        $0xe7,%xmm4,%xmm0
+  DB  102,15,126,69,252                   ; movd          %xmm0,-0x4(%ebp)
+  DB  102,15,112,196,78                   ; pshufd        $0x4e,%xmm4,%xmm0
+  DB  102,15,126,69,248                   ; movd          %xmm0,-0x8(%ebp)
+  DB  102,15,97,206                       ; punpcklwd     %xmm6,%xmm1
+  DB  102,15,239,210                      ; pxor          %xmm2,%xmm2
+  DB  102,15,111,177,145,172,0,0          ; movdqa        0xac91(%ecx),%xmm6
+  DB  102,15,111,225                      ; movdqa        %xmm1,%xmm4
+  DB  102,15,219,230                      ; pand          %xmm6,%xmm4
+  DB  102,15,219,137,161,172,0,0          ; pand          0xaca1(%ecx),%xmm1
+  DB  102,15,111,129,177,172,0,0          ; movdqa        0xacb1(%ecx),%xmm0
+  DB  102,15,114,244,16                   ; pslld         $0x10,%xmm4
+  DB  102,15,111,216                      ; movdqa        %xmm0,%xmm3
+  DB  102,15,102,217                      ; pcmpgtd       %xmm1,%xmm3
+  DB  102,15,127,93,168                   ; movdqa        %xmm3,-0x58(%ebp)
+  DB  102,15,114,241,13                   ; pslld         $0xd,%xmm1
+  DB  102,15,235,204                      ; por           %xmm4,%xmm1
+  DB  102,15,97,234                       ; punpcklwd     %xmm2,%xmm5
+  DB  102,15,239,255                      ; pxor          %xmm7,%xmm7
+  DB  102,15,111,213                      ; movdqa        %xmm5,%xmm2
+  DB  102,15,219,214                      ; pand          %xmm6,%xmm2
+  DB  102,15,111,153,161,172,0,0          ; movdqa        0xaca1(%ecx),%xmm3
+  DB  102,15,219,235                      ; pand          %xmm3,%xmm5
+  DB  102,15,114,242,16                   ; pslld         $0x10,%xmm2
+  DB  102,15,111,224                      ; movdqa        %xmm0,%xmm4
+  DB  102,15,102,229                      ; pcmpgtd       %xmm5,%xmm4
+  DB  102,15,127,101,200                  ; movdqa        %xmm4,-0x38(%ebp)
+  DB  102,15,114,245,13                   ; pslld         $0xd,%xmm5
+  DB  102,15,235,234                      ; por           %xmm2,%xmm5
+  DB  102,15,111,69,184                   ; movdqa        -0x48(%ebp),%xmm0
+  DB  102,15,97,199                       ; punpcklwd     %xmm7,%xmm0
+  DB  102,15,111,248                      ; movdqa        %xmm0,%xmm7
+  DB  102,15,219,254                      ; pand          %xmm6,%xmm7
+  DB  102,15,219,195                      ; pand          %xmm3,%xmm0
+  DB  102,15,114,247,16                   ; pslld         $0x10,%xmm7
+  DB  102,15,111,145,177,172,0,0          ; movdqa        0xacb1(%ecx),%xmm2
+  DB  102,15,111,218                      ; movdqa        %xmm2,%xmm3
+  DB  102,15,102,216                      ; pcmpgtd       %xmm0,%xmm3
+  DB  102,15,114,240,13                   ; pslld         $0xd,%xmm0
+  DB  102,15,235,199                      ; por           %xmm7,%xmm0
+  DB  243,15,126,125,248                  ; movq          -0x8(%ebp),%xmm7
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  102,15,97,252                       ; punpcklwd     %xmm4,%xmm7
+  DB  102,15,219,247                      ; pand          %xmm7,%xmm6
+  DB  102,15,219,185,161,172,0,0          ; pand          0xaca1(%ecx),%xmm7
+  DB  102,15,114,246,16                   ; pslld         $0x10,%xmm6
+  DB  102,15,102,215                      ; pcmpgtd       %xmm7,%xmm2
+  DB  102,15,114,247,13                   ; pslld         $0xd,%xmm7
+  DB  102,15,235,254                      ; por           %xmm6,%xmm7
+  DB  102,15,111,161,193,172,0,0          ; movdqa        0xacc1(%ecx),%xmm4
+  DB  102,15,254,204                      ; paddd         %xmm4,%xmm1
+  DB  102,15,254,236                      ; paddd         %xmm4,%xmm5
+  DB  102,15,254,196                      ; paddd         %xmm4,%xmm0
+  DB  102,15,254,252                      ; paddd         %xmm4,%xmm7
+  DB  102,15,111,117,168                  ; movdqa        -0x58(%ebp),%xmm6
+  DB  102,15,223,241                      ; pandn         %xmm1,%xmm6
+  DB  102,15,111,77,200                   ; movdqa        -0x38(%ebp),%xmm1
+  DB  102,15,223,205                      ; pandn         %xmm5,%xmm1
+  DB  102,15,223,216                      ; pandn         %xmm0,%xmm3
+  DB  102,15,111,234                      ; movdqa        %xmm2,%xmm5
+  DB  102,15,223,239                      ; pandn         %xmm7,%xmm5
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  141,80,8                            ; lea           0x8(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  102,15,111,198                      ; movdqa        %xmm6,%xmm0
+  DB  102,15,111,211                      ; movdqa        %xmm3,%xmm2
+  DB  102,15,111,221                      ; movdqa        %xmm5,%xmm3
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,104                         ; add           $0x68,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_store_f16_sse2
+_sk_store_f16_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,96                          ; sub           $0x60,%esp
+  DB  15,41,93,184                        ; movaps        %xmm3,-0x48(%ebp)
+  DB  15,41,85,200                        ; movaps        %xmm2,-0x38(%ebp)
+  DB  102,15,111,209                      ; movdqa        %xmm1,%xmm2
+  DB  232,0,0,0,0                         ; call          6193 <_sk_store_f16_sse2+0x19>
+  DB  88                                  ; pop           %eax
+  DB  102,15,111,152,13,171,0,0           ; movdqa        0xab0d(%eax),%xmm3
+  DB  102,15,111,224                      ; movdqa        %xmm0,%xmm4
+  DB  102,15,219,227                      ; pand          %xmm3,%xmm4
+  DB  102,15,111,136,61,171,0,0           ; movdqa        0xab3d(%eax),%xmm1
+  DB  102,15,127,77,232                   ; movdqa        %xmm1,-0x18(%ebp)
+  DB  102,15,111,240                      ; movdqa        %xmm0,%xmm6
+  DB  102,15,114,246,3                    ; pslld         $0x3,%xmm6
+  DB  102,15,219,241                      ; pand          %xmm1,%xmm6
+  DB  102,15,254,244                      ; paddd         %xmm4,%xmm6
+  DB  102,15,111,184,29,171,0,0           ; movdqa        0xab1d(%eax),%xmm7
+  DB  102,15,127,69,168                   ; movdqa        %xmm0,-0x58(%ebp)
+  DB  102,15,219,199                      ; pand          %xmm7,%xmm0
+  DB  102,15,111,168,45,171,0,0           ; movdqa        0xab2d(%eax),%xmm5
+  DB  102,15,111,205                      ; movdqa        %xmm5,%xmm1
+  DB  102,15,102,200                      ; pcmpgtd       %xmm0,%xmm1
+  DB  102,15,111,128,125,167,0,0          ; movdqa        0xa77d(%eax),%xmm0
+  DB  102,15,127,69,216                   ; movdqa        %xmm0,-0x28(%ebp)
+  DB  102,15,254,240                      ; paddd         %xmm0,%xmm6
+  DB  102,15,114,230,16                   ; psrad         $0x10,%xmm6
+  DB  102,15,223,206                      ; pandn         %xmm6,%xmm1
+  DB  102,15,111,194                      ; movdqa        %xmm2,%xmm0
+  DB  102,15,219,195                      ; pand          %xmm3,%xmm0
+  DB  102,15,111,242                      ; movdqa        %xmm2,%xmm6
+  DB  102,15,114,246,3                    ; pslld         $0x3,%xmm6
+  DB  102,15,219,117,232                  ; pand          -0x18(%ebp),%xmm6
+  DB  102,15,254,240                      ; paddd         %xmm0,%xmm6
+  DB  102,15,127,85,152                   ; movdqa        %xmm2,-0x68(%ebp)
+  DB  102,15,219,215                      ; pand          %xmm7,%xmm2
+  DB  102,15,111,229                      ; movdqa        %xmm5,%xmm4
+  DB  102,15,102,226                      ; pcmpgtd       %xmm2,%xmm4
+  DB  102,15,254,117,216                  ; paddd         -0x28(%ebp),%xmm6
+  DB  102,15,114,230,16                   ; psrad         $0x10,%xmm6
+  DB  102,15,223,230                      ; pandn         %xmm6,%xmm4
+  DB  102,15,107,200                      ; packssdw      %xmm0,%xmm1
+  DB  102,15,107,224                      ; packssdw      %xmm0,%xmm4
+  DB  102,15,97,204                       ; punpcklwd     %xmm4,%xmm1
+  DB  102,15,111,85,200                   ; movdqa        -0x38(%ebp),%xmm2
+  DB  102,15,111,194                      ; movdqa        %xmm2,%xmm0
+  DB  102,15,219,195                      ; pand          %xmm3,%xmm0
+  DB  102,15,111,226                      ; movdqa        %xmm2,%xmm4
+  DB  102,15,114,244,3                    ; pslld         $0x3,%xmm4
+  DB  102,15,219,101,232                  ; pand          -0x18(%ebp),%xmm4
+  DB  102,15,254,224                      ; paddd         %xmm0,%xmm4
+  DB  102,15,111,194                      ; movdqa        %xmm2,%xmm0
+  DB  102,15,219,199                      ; pand          %xmm7,%xmm0
+  DB  102,15,111,245                      ; movdqa        %xmm5,%xmm6
+  DB  102,15,102,240                      ; pcmpgtd       %xmm0,%xmm6
+  DB  102,15,111,85,216                   ; movdqa        -0x28(%ebp),%xmm2
+  DB  102,15,254,226                      ; paddd         %xmm2,%xmm4
+  DB  102,15,114,228,16                   ; psrad         $0x10,%xmm4
+  DB  102,15,223,244                      ; pandn         %xmm4,%xmm6
+  DB  102,15,111,101,184                  ; movdqa        -0x48(%ebp),%xmm4
+  DB  102,15,111,196                      ; movdqa        %xmm4,%xmm0
+  DB  102,15,114,240,3                    ; pslld         $0x3,%xmm0
+  DB  102,15,219,69,232                   ; pand          -0x18(%ebp),%xmm0
+  DB  102,15,219,220                      ; pand          %xmm4,%xmm3
+  DB  102,15,254,195                      ; paddd         %xmm3,%xmm0
+  DB  102,15,254,194                      ; paddd         %xmm2,%xmm0
+  DB  102,15,219,252                      ; pand          %xmm4,%xmm7
+  DB  102,15,102,239                      ; pcmpgtd       %xmm7,%xmm5
+  DB  102,15,114,224,16                   ; psrad         $0x10,%xmm0
+  DB  102,15,223,232                      ; pandn         %xmm0,%xmm5
+  DB  102,15,107,240                      ; packssdw      %xmm0,%xmm6
+  DB  102,15,107,232                      ; packssdw      %xmm0,%xmm5
+  DB  102,15,97,245                       ; punpcklwd     %xmm5,%xmm6
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,56                              ; mov           (%eax),%edi
+  DB  139,17                              ; mov           (%ecx),%edx
+  DB  139,119,4                           ; mov           0x4(%edi),%esi
+  DB  15,175,113,4                        ; imul          0x4(%ecx),%esi
+  DB  193,230,3                           ; shl           $0x3,%esi
+  DB  3,55                                ; add           (%edi),%esi
+  DB  139,121,8                           ; mov           0x8(%ecx),%edi
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,15,98,198                       ; punpckldq     %xmm6,%xmm0
+  DB  133,255                             ; test          %edi,%edi
+  DB  117,48                              ; jne           6314 <_sk_store_f16_sse2+0x19a>
+  DB  15,17,4,214                         ; movups        %xmm0,(%esi,%edx,8)
+  DB  102,15,106,206                      ; punpckhdq     %xmm6,%xmm1
+  DB  243,15,127,76,214,16                ; movdqu        %xmm1,0x10(%esi,%edx,8)
+  DB  141,80,8                            ; lea           0x8(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,69,168                        ; movaps        -0x58(%ebp),%xmm0
+  DB  15,40,77,152                        ; movaps        -0x68(%ebp),%xmm1
+  DB  15,40,85,200                        ; movaps        -0x38(%ebp),%xmm2
+  DB  102,15,111,220                      ; movdqa        %xmm4,%xmm3
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,112                         ; add           $0x70,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  102,15,214,4,214                    ; movq          %xmm0,(%esi,%edx,8)
+  DB  131,255,1                           ; cmp           $0x1,%edi
+  DB  116,212                             ; je            62f2 <_sk_store_f16_sse2+0x178>
+  DB  102,15,23,68,214,8                  ; movhpd        %xmm0,0x8(%esi,%edx,8)
+  DB  131,255,3                           ; cmp           $0x3,%edi
+  DB  114,201                             ; jb            62f2 <_sk_store_f16_sse2+0x178>
+  DB  102,15,106,206                      ; punpckhdq     %xmm6,%xmm1
+  DB  102,15,214,76,214,16                ; movq          %xmm1,0x10(%esi,%edx,8)
+  DB  235,189                             ; jmp           62f2 <_sk_store_f16_sse2+0x178>
+
+PUBLIC _sk_load_u16_be_sse2
+_sk_load_u16_be_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,44                          ; sub           $0x2c,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,16                              ; mov           (%eax),%edx
+  DB  139,49                              ; mov           (%ecx),%esi
+  DB  139,122,4                           ; mov           0x4(%edx),%edi
+  DB  15,175,121,4                        ; imul          0x4(%ecx),%edi
+  DB  1,255                               ; add           %edi,%edi
+  DB  3,58                                ; add           (%edx),%edi
+  DB  139,89,8                            ; mov           0x8(%ecx),%ebx
+  DB  193,230,2                           ; shl           $0x2,%esi
+  DB  133,219                             ; test          %ebx,%ebx
+  DB  232,0,0,0,0                         ; call          6360 <_sk_load_u16_be_sse2+0x2b>
+  DB  90                                  ; pop           %edx
+  DB  15,133,11,1,0,0                     ; jne           6472 <_sk_load_u16_be_sse2+0x13d>
+  DB  102,15,16,4,119                     ; movupd        (%edi,%esi,2),%xmm0
+  DB  243,15,111,76,119,16                ; movdqu        0x10(%edi,%esi,2),%xmm1
+  DB  102,15,40,208                       ; movapd        %xmm0,%xmm2
+  DB  102,15,97,209                       ; punpcklwd     %xmm1,%xmm2
+  DB  102,15,105,193                      ; punpckhwd     %xmm1,%xmm0
+  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
+  DB  102,15,97,200                       ; punpcklwd     %xmm0,%xmm1
+  DB  102,15,105,208                      ; punpckhwd     %xmm0,%xmm2
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,15,113,240,8                    ; psllw         $0x8,%xmm0
+  DB  102,15,112,233,78                   ; pshufd        $0x4e,%xmm1,%xmm5
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,235,200                      ; por           %xmm0,%xmm1
+  DB  102,15,126,77,216                   ; movd          %xmm1,-0x28(%ebp)
+  DB  102,15,112,193,229                  ; pshufd        $0xe5,%xmm1,%xmm0
+  DB  102,15,126,69,220                   ; movd          %xmm0,-0x24(%ebp)
+  DB  243,15,126,69,216                   ; movq          -0x28(%ebp),%xmm0
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  102,15,97,195                       ; punpcklwd     %xmm3,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  15,40,162,144,166,0,0               ; movaps        0xa690(%edx),%xmm4
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  102,15,111,205                      ; movdqa        %xmm5,%xmm1
+  DB  102,15,113,241,8                    ; psllw         $0x8,%xmm1
+  DB  102,15,113,213,8                    ; psrlw         $0x8,%xmm5
+  DB  102,15,235,233                      ; por           %xmm1,%xmm5
+  DB  102,15,126,109,208                  ; movd          %xmm5,-0x30(%ebp)
+  DB  102,15,112,205,229                  ; pshufd        $0xe5,%xmm5,%xmm1
+  DB  102,15,126,77,212                   ; movd          %xmm1,-0x2c(%ebp)
+  DB  243,15,126,77,208                   ; movq          -0x30(%ebp),%xmm1
+  DB  102,15,97,203                       ; punpcklwd     %xmm3,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  102,15,111,234                      ; movdqa        %xmm2,%xmm5
+  DB  102,15,113,245,8                    ; psllw         $0x8,%xmm5
+  DB  102,15,112,242,78                   ; pshufd        $0x4e,%xmm2,%xmm6
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,235,213                      ; por           %xmm5,%xmm2
+  DB  102,15,126,85,232                   ; movd          %xmm2,-0x18(%ebp)
+  DB  102,15,112,210,229                  ; pshufd        $0xe5,%xmm2,%xmm2
+  DB  102,15,126,85,236                   ; movd          %xmm2,-0x14(%ebp)
+  DB  243,15,126,85,232                   ; movq          -0x18(%ebp),%xmm2
+  DB  102,15,97,211                       ; punpcklwd     %xmm3,%xmm2
+  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
+  DB  15,89,212                           ; mulps         %xmm4,%xmm2
+  DB  102,15,111,238                      ; movdqa        %xmm6,%xmm5
+  DB  102,15,113,245,8                    ; psllw         $0x8,%xmm5
+  DB  102,15,113,214,8                    ; psrlw         $0x8,%xmm6
+  DB  102,15,235,245                      ; por           %xmm5,%xmm6
+  DB  102,15,126,117,224                  ; movd          %xmm6,-0x20(%ebp)
+  DB  102,15,112,238,229                  ; pshufd        $0xe5,%xmm6,%xmm5
+  DB  102,15,126,109,228                  ; movd          %xmm5,-0x1c(%ebp)
+  DB  243,15,126,109,224                  ; movq          -0x20(%ebp),%xmm5
+  DB  102,15,97,235                       ; punpcklwd     %xmm3,%xmm5
+  DB  15,91,221                           ; cvtdq2ps      %xmm5,%xmm3
+  DB  15,89,220                           ; mulps         %xmm4,%xmm3
+  DB  141,80,8                            ; lea           0x8(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,60                          ; add           $0x3c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  242,15,16,4,119                     ; movsd         (%edi,%esi,2),%xmm0
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  131,251,1                           ; cmp           $0x1,%ebx
+  DB  15,132,238,254,255,255              ; je            6372 <_sk_load_u16_be_sse2+0x3d>
+  DB  102,15,22,68,119,8                  ; movhpd        0x8(%edi,%esi,2),%xmm0
+  DB  131,251,3                           ; cmp           $0x3,%ebx
+  DB  15,130,223,254,255,255              ; jb            6372 <_sk_load_u16_be_sse2+0x3d>
+  DB  243,15,126,76,119,16                ; movq          0x10(%edi,%esi,2),%xmm1
+  DB  233,212,254,255,255                 ; jmp           6372 <_sk_load_u16_be_sse2+0x3d>
+
+PUBLIC _sk_load_rgb_u16_be_sse2
+_sk_load_rgb_u16_be_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,28                          ; sub           $0x1c,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,16                              ; mov           (%eax),%edx
+  DB  139,121,8                           ; mov           0x8(%ecx),%edi
+  DB  139,114,4                           ; mov           0x4(%edx),%esi
+  DB  15,175,113,4                        ; imul          0x4(%ecx),%esi
+  DB  1,246                               ; add           %esi,%esi
+  DB  3,50                                ; add           (%edx),%esi
+  DB  107,25,3                            ; imul          $0x3,(%ecx),%ebx
+  DB  133,255                             ; test          %edi,%edi
+  DB  232,0,0,0,0                         ; call          64c7 <_sk_load_rgb_u16_be_sse2+0x29>
+  DB  90                                  ; pop           %edx
+  DB  15,133,240,0,0,0                    ; jne           65be <_sk_load_rgb_u16_be_sse2+0x120>
+  DB  243,15,111,20,94                    ; movdqu        (%esi,%ebx,2),%xmm2
+  DB  243,15,111,92,94,8                  ; movdqu        0x8(%esi,%ebx,2),%xmm3
+  DB  102,15,115,219,4                    ; psrldq        $0x4,%xmm3
+  DB  102,15,111,194                      ; movdqa        %xmm2,%xmm0
+  DB  102,15,115,216,6                    ; psrldq        $0x6,%xmm0
+  DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
+  DB  102,15,115,217,6                    ; psrldq        $0x6,%xmm1
+  DB  102,15,97,193                       ; punpcklwd     %xmm1,%xmm0
+  DB  102,15,97,211                       ; punpcklwd     %xmm3,%xmm2
+  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
+  DB  102,15,97,200                       ; punpcklwd     %xmm0,%xmm1
+  DB  102,15,112,225,78                   ; pshufd        $0x4e,%xmm1,%xmm4
+  DB  102,15,105,208                      ; punpckhwd     %xmm0,%xmm2
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,15,113,240,8                    ; psllw         $0x8,%xmm0
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,235,200                      ; por           %xmm0,%xmm1
+  DB  102,15,126,77,224                   ; movd          %xmm1,-0x20(%ebp)
+  DB  102,15,112,193,229                  ; pshufd        $0xe5,%xmm1,%xmm0
+  DB  102,15,126,69,228                   ; movd          %xmm0,-0x1c(%ebp)
+  DB  243,15,126,69,224                   ; movq          -0x20(%ebp),%xmm0
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  102,15,97,195                       ; punpcklwd     %xmm3,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  15,40,170,41,165,0,0                ; movaps        0xa529(%edx),%xmm5
+  DB  15,89,197                           ; mulps         %xmm5,%xmm0
+  DB  102,15,111,204                      ; movdqa        %xmm4,%xmm1
+  DB  102,15,113,241,8                    ; psllw         $0x8,%xmm1
+  DB  102,15,113,212,8                    ; psrlw         $0x8,%xmm4
+  DB  102,15,235,225                      ; por           %xmm1,%xmm4
+  DB  102,15,126,101,216                  ; movd          %xmm4,-0x28(%ebp)
+  DB  102,15,112,204,229                  ; pshufd        $0xe5,%xmm4,%xmm1
+  DB  102,15,126,77,220                   ; movd          %xmm1,-0x24(%ebp)
+  DB  243,15,126,77,216                   ; movq          -0x28(%ebp),%xmm1
+  DB  102,15,97,203                       ; punpcklwd     %xmm3,%xmm1
+  DB  15,91,201                           ; cvtdq2ps      %xmm1,%xmm1
+  DB  15,89,205                           ; mulps         %xmm5,%xmm1
+  DB  102,15,111,226                      ; movdqa        %xmm2,%xmm4
+  DB  102,15,113,244,8                    ; psllw         $0x8,%xmm4
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,235,212                      ; por           %xmm4,%xmm2
+  DB  102,15,126,85,232                   ; movd          %xmm2,-0x18(%ebp)
+  DB  102,15,112,210,229                  ; pshufd        $0xe5,%xmm2,%xmm2
+  DB  102,15,126,85,236                   ; movd          %xmm2,-0x14(%ebp)
+  DB  243,15,126,85,232                   ; movq          -0x18(%ebp),%xmm2
+  DB  102,15,97,211                       ; punpcklwd     %xmm3,%xmm2
+  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
+  DB  15,89,213                           ; mulps         %xmm5,%xmm2
+  DB  141,112,8                           ; lea           0x8(%eax),%esi
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,154,169,162,0,0               ; movaps        0xa2a9(%edx),%xmm3
+  DB  86                                  ; push          %esi
+  DB  81                                  ; push          %ecx
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,44                          ; add           $0x2c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  102,15,110,20,94                    ; movd          (%esi,%ebx,2),%xmm2
+  DB  102,15,196,84,94,4,2                ; pinsrw        $0x2,0x4(%esi,%ebx,2),%xmm2
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  131,255,1                           ; cmp           $0x1,%edi
+  DB  117,13                              ; jne           65e0 <_sk_load_rgb_u16_be_sse2+0x142>
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  233,16,255,255,255                  ; jmp           64f0 <_sk_load_rgb_u16_be_sse2+0x52>
+  DB  102,15,110,68,94,6                  ; movd          0x6(%esi,%ebx,2),%xmm0
+  DB  102,15,196,68,94,10,2               ; pinsrw        $0x2,0xa(%esi,%ebx,2),%xmm0
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  131,255,3                           ; cmp           $0x3,%edi
+  DB  114,18                              ; jb            6608 <_sk_load_rgb_u16_be_sse2+0x16a>
+  DB  102,15,110,92,94,12                 ; movd          0xc(%esi,%ebx,2),%xmm3
+  DB  102,15,196,92,94,16,2               ; pinsrw        $0x2,0x10(%esi,%ebx,2),%xmm3
+  DB  233,232,254,255,255                 ; jmp           64f0 <_sk_load_rgb_u16_be_sse2+0x52>
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  233,223,254,255,255                 ; jmp           64f0 <_sk_load_rgb_u16_be_sse2+0x52>
+
+PUBLIC _sk_store_u16_be_sse2
+_sk_store_u16_be_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,32                          ; sub           $0x20,%esp
+  DB  15,41,93,232                        ; movaps        %xmm3,-0x18(%ebp)
+  DB  232,0,0,0,0                         ; call          6622 <_sk_store_u16_be_sse2+0x11>
+  DB  88                                  ; pop           %eax
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,95,224                           ; maxps         %xmm0,%xmm4
+  DB  15,40,168,78,161,0,0                ; movaps        0xa14e(%eax),%xmm5
+  DB  15,93,229                           ; minps         %xmm5,%xmm4
+  DB  15,40,176,190,166,0,0               ; movaps        0xa6be(%eax),%xmm6
+  DB  15,89,230                           ; mulps         %xmm6,%xmm4
+  DB  102,15,91,228                       ; cvtps2dq      %xmm4,%xmm4
+  DB  102,15,114,244,16                   ; pslld         $0x10,%xmm4
+  DB  102,15,114,228,16                   ; psrad         $0x10,%xmm4
+  DB  102,15,107,224                      ; packssdw      %xmm0,%xmm4
+  DB  102,15,111,252                      ; movdqa        %xmm4,%xmm7
+  DB  102,15,113,247,8                    ; psllw         $0x8,%xmm7
+  DB  102,15,113,212,8                    ; psrlw         $0x8,%xmm4
+  DB  102,15,235,231                      ; por           %xmm7,%xmm4
+  DB  102,15,239,255                      ; pxor          %xmm7,%xmm7
+  DB  15,95,249                           ; maxps         %xmm1,%xmm7
+  DB  15,93,253                           ; minps         %xmm5,%xmm7
+  DB  15,89,254                           ; mulps         %xmm6,%xmm7
+  DB  102,15,91,255                       ; cvtps2dq      %xmm7,%xmm7
+  DB  102,15,114,247,16                   ; pslld         $0x10,%xmm7
+  DB  102,15,114,231,16                   ; psrad         $0x10,%xmm7
+  DB  102,15,107,248                      ; packssdw      %xmm0,%xmm7
+  DB  102,15,111,223                      ; movdqa        %xmm7,%xmm3
+  DB  102,15,113,243,8                    ; psllw         $0x8,%xmm3
+  DB  102,15,113,215,8                    ; psrlw         $0x8,%xmm7
+  DB  102,15,235,251                      ; por           %xmm3,%xmm7
+  DB  102,15,97,231                       ; punpcklwd     %xmm7,%xmm4
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  15,41,85,216                        ; movaps        %xmm2,-0x28(%ebp)
+  DB  15,95,218                           ; maxps         %xmm2,%xmm3
+  DB  15,93,221                           ; minps         %xmm5,%xmm3
+  DB  15,89,222                           ; mulps         %xmm6,%xmm3
+  DB  102,15,91,251                       ; cvtps2dq      %xmm3,%xmm7
+  DB  102,15,114,247,16                   ; pslld         $0x10,%xmm7
+  DB  102,15,114,231,16                   ; psrad         $0x10,%xmm7
+  DB  102,15,107,248                      ; packssdw      %xmm0,%xmm7
+  DB  102,15,111,223                      ; movdqa        %xmm7,%xmm3
+  DB  102,15,113,243,8                    ; psllw         $0x8,%xmm3
+  DB  102,15,113,215,8                    ; psrlw         $0x8,%xmm7
+  DB  102,15,235,251                      ; por           %xmm3,%xmm7
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  15,95,93,232                        ; maxps         -0x18(%ebp),%xmm3
+  DB  15,93,221                           ; minps         %xmm5,%xmm3
+  DB  15,89,222                           ; mulps         %xmm6,%xmm3
+  DB  102,15,91,219                       ; cvtps2dq      %xmm3,%xmm3
+  DB  102,15,114,243,16                   ; pslld         $0x10,%xmm3
+  DB  102,15,114,227,16                   ; psrad         $0x10,%xmm3
+  DB  102,15,107,216                      ; packssdw      %xmm0,%xmm3
+  DB  102,15,111,235                      ; movdqa        %xmm3,%xmm5
+  DB  102,15,113,245,8                    ; psllw         $0x8,%xmm5
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  102,15,235,221                      ; por           %xmm5,%xmm3
+  DB  102,15,97,251                       ; punpcklwd     %xmm3,%xmm7
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,56                              ; mov           (%eax),%edi
+  DB  139,17                              ; mov           (%ecx),%edx
+  DB  139,119,4                           ; mov           0x4(%edi),%esi
+  DB  15,175,113,4                        ; imul          0x4(%ecx),%esi
+  DB  1,246                               ; add           %esi,%esi
+  DB  3,55                                ; add           (%edi),%esi
+  DB  139,121,8                           ; mov           0x8(%ecx),%edi
+  DB  193,226,2                           ; shl           $0x2,%edx
+  DB  133,255                             ; test          %edi,%edi
+  DB  117,49                              ; jne           6751 <_sk_store_u16_be_sse2+0x140>
+  DB  102,15,111,220                      ; movdqa        %xmm4,%xmm3
+  DB  102,15,98,223                       ; punpckldq     %xmm7,%xmm3
+  DB  243,15,127,28,86                    ; movdqu        %xmm3,(%esi,%edx,2)
+  DB  102,15,106,231                      ; punpckhdq     %xmm7,%xmm4
+  DB  243,15,127,100,86,16                ; movdqu        %xmm4,0x10(%esi,%edx,2)
+  DB  141,80,8                            ; lea           0x8(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,85,216                        ; movaps        -0x28(%ebp),%xmm2
+  DB  15,40,93,232                        ; movaps        -0x18(%ebp),%xmm3
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,48                          ; add           $0x30,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  102,15,111,236                      ; movdqa        %xmm4,%xmm5
+  DB  102,15,98,239                       ; punpckldq     %xmm7,%xmm5
+  DB  102,15,214,44,86                    ; movq          %xmm5,(%esi,%edx,2)
+  DB  131,255,1                           ; cmp           $0x1,%edi
+  DB  116,212                             ; je            6737 <_sk_store_u16_be_sse2+0x126>
+  DB  102,15,23,108,86,8                  ; movhpd        %xmm5,0x8(%esi,%edx,2)
+  DB  131,255,3                           ; cmp           $0x3,%edi
+  DB  114,201                             ; jb            6737 <_sk_store_u16_be_sse2+0x126>
+  DB  102,15,106,231                      ; punpckhdq     %xmm7,%xmm4
+  DB  102,15,214,100,86,16                ; movq          %xmm4,0x10(%esi,%edx,2)
+  DB  235,189                             ; jmp           6737 <_sk_store_u16_be_sse2+0x126>
+
+PUBLIC _sk_load_f32_sse2
+_sk_load_f32_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,48                              ; mov           (%eax),%esi
+  DB  139,57                              ; mov           (%ecx),%edi
+  DB  139,86,4                            ; mov           0x4(%esi),%edx
+  DB  15,175,81,4                         ; imul          0x4(%ecx),%edx
+  DB  193,226,2                           ; shl           $0x2,%edx
+  DB  3,22                                ; add           (%esi),%edx
+  DB  141,52,189,0,0,0,0                  ; lea           0x0(,%edi,4),%esi
+  DB  193,231,4                           ; shl           $0x4,%edi
+  DB  15,16,36,23                         ; movups        (%edi,%edx,1),%xmm4
+  DB  139,121,8                           ; mov           0x8(%ecx),%edi
+  DB  133,255                             ; test          %edi,%edi
+  DB  117,71                              ; jne           67f1 <_sk_load_f32_sse2+0x77>
+  DB  15,16,84,178,16                     ; movups        0x10(%edx,%esi,4),%xmm2
+  DB  15,16,92,178,32                     ; movups        0x20(%edx,%esi,4),%xmm3
+  DB  15,16,68,178,48                     ; movups        0x30(%edx,%esi,4),%xmm0
+  DB  15,40,236                           ; movaps        %xmm4,%xmm5
+  DB  15,20,234                           ; unpcklps      %xmm2,%xmm5
+  DB  15,40,203                           ; movaps        %xmm3,%xmm1
+  DB  15,20,200                           ; unpcklps      %xmm0,%xmm1
+  DB  15,21,226                           ; unpckhps      %xmm2,%xmm4
+  DB  15,21,216                           ; unpckhps      %xmm0,%xmm3
+  DB  15,40,197                           ; movaps        %xmm5,%xmm0
+  DB  102,15,20,193                       ; unpcklpd      %xmm1,%xmm0
+  DB  15,18,205                           ; movhlps       %xmm5,%xmm1
+  DB  15,40,212                           ; movaps        %xmm4,%xmm2
+  DB  102,15,20,211                       ; unpcklpd      %xmm3,%xmm2
+  DB  15,18,220                           ; movhlps       %xmm4,%xmm3
+  DB  141,80,8                            ; lea           0x8(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,16                          ; add           $0x10,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  131,255,1                           ; cmp           $0x1,%edi
+  DB  117,8                               ; jne           6801 <_sk_load_f32_sse2+0x87>
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  235,184                             ; jmp           67b9 <_sk_load_f32_sse2+0x3f>
+  DB  15,16,84,178,16                     ; movups        0x10(%edx,%esi,4),%xmm2
+  DB  131,255,3                           ; cmp           $0x3,%edi
+  DB  114,7                               ; jb            6812 <_sk_load_f32_sse2+0x98>
+  DB  15,16,92,178,32                     ; movups        0x20(%edx,%esi,4),%xmm3
+  DB  235,167                             ; jmp           67b9 <_sk_load_f32_sse2+0x3f>
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  235,162                             ; jmp           67b9 <_sk_load_f32_sse2+0x3f>
+
+PUBLIC _sk_load_f32_dst_sse2
+_sk_load_f32_dst_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,32                          ; sub           $0x20,%esp
+  DB  15,41,93,216                        ; movaps        %xmm3,-0x28(%ebp)
+  DB  15,41,85,232                        ; movaps        %xmm2,-0x18(%ebp)
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,48                              ; mov           (%eax),%esi
+  DB  139,57                              ; mov           (%ecx),%edi
+  DB  139,86,4                            ; mov           0x4(%esi),%edx
+  DB  15,175,81,4                         ; imul          0x4(%ecx),%edx
+  DB  193,226,2                           ; shl           $0x2,%edx
+  DB  3,22                                ; add           (%esi),%edx
+  DB  141,52,189,0,0,0,0                  ; lea           0x0(,%edi,4),%esi
+  DB  193,231,4                           ; shl           $0x4,%edi
+  DB  15,16,52,23                         ; movups        (%edi,%edx,1),%xmm6
+  DB  139,121,8                           ; mov           0x8(%ecx),%edi
+  DB  133,255                             ; test          %edi,%edi
+  DB  117,97                              ; jne           68b3 <_sk_load_f32_dst_sse2+0x9c>
+  DB  15,16,124,178,16                    ; movups        0x10(%edx,%esi,4),%xmm7
+  DB  15,16,92,178,32                     ; movups        0x20(%edx,%esi,4),%xmm3
+  DB  15,16,84,178,48                     ; movups        0x30(%edx,%esi,4),%xmm2
+  DB  15,40,230                           ; movaps        %xmm6,%xmm4
+  DB  15,20,231                           ; unpcklps      %xmm7,%xmm4
+  DB  15,40,235                           ; movaps        %xmm3,%xmm5
+  DB  15,20,234                           ; unpcklps      %xmm2,%xmm5
+  DB  15,21,247                           ; unpckhps      %xmm7,%xmm6
+  DB  15,21,218                           ; unpckhps      %xmm2,%xmm3
+  DB  15,40,212                           ; movaps        %xmm4,%xmm2
+  DB  102,15,20,213                       ; unpcklpd      %xmm5,%xmm2
+  DB  15,18,236                           ; movhlps       %xmm4,%xmm5
+  DB  15,40,230                           ; movaps        %xmm6,%xmm4
+  DB  102,15,20,227                       ; unpcklpd      %xmm3,%xmm4
+  DB  15,18,222                           ; movhlps       %xmm6,%xmm3
+  DB  102,15,41,81,16                     ; movapd        %xmm2,0x10(%ecx)
+  DB  15,41,105,32                        ; movaps        %xmm5,0x20(%ecx)
+  DB  102,15,41,97,48                     ; movapd        %xmm4,0x30(%ecx)
+  DB  15,41,89,64                         ; movaps        %xmm3,0x40(%ecx)
+  DB  141,80,8                            ; lea           0x8(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,85,232                        ; movaps        -0x18(%ebp),%xmm2
+  DB  15,40,93,216                        ; movaps        -0x28(%ebp),%xmm3
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,48                          ; add           $0x30,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  131,255,1                           ; cmp           $0x1,%edi
+  DB  117,8                               ; jne           68c3 <_sk_load_f32_dst_sse2+0xac>
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  15,87,255                           ; xorps         %xmm7,%xmm7
+  DB  235,158                             ; jmp           6861 <_sk_load_f32_dst_sse2+0x4a>
+  DB  15,16,124,178,16                    ; movups        0x10(%edx,%esi,4),%xmm7
+  DB  131,255,3                           ; cmp           $0x3,%edi
+  DB  114,7                               ; jb            68d4 <_sk_load_f32_dst_sse2+0xbd>
+  DB  15,16,92,178,32                     ; movups        0x20(%edx,%esi,4),%xmm3
+  DB  235,141                             ; jmp           6861 <_sk_load_f32_dst_sse2+0x4a>
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  235,136                             ; jmp           6861 <_sk_load_f32_dst_sse2+0x4a>
+
+PUBLIC _sk_store_f32_sse2
+_sk_store_f32_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,12                          ; sub           $0xc,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,48                              ; mov           (%eax),%esi
+  DB  139,25                              ; mov           (%ecx),%ebx
+  DB  139,86,4                            ; mov           0x4(%esi),%edx
+  DB  15,175,81,4                         ; imul          0x4(%ecx),%edx
+  DB  193,226,2                           ; shl           $0x2,%edx
+  DB  3,22                                ; add           (%esi),%edx
+  DB  141,52,157,0,0,0,0                  ; lea           0x0(,%ebx,4),%esi
+  DB  193,227,4                           ; shl           $0x4,%ebx
+  DB  15,40,232                           ; movaps        %xmm0,%xmm5
+  DB  15,20,233                           ; unpcklps      %xmm1,%xmm5
+  DB  15,40,226                           ; movaps        %xmm2,%xmm4
+  DB  15,20,227                           ; unpcklps      %xmm3,%xmm4
+  DB  15,40,245                           ; movaps        %xmm5,%xmm6
+  DB  102,15,20,244                       ; unpcklpd      %xmm4,%xmm6
+  DB  139,121,8                           ; mov           0x8(%ecx),%edi
+  DB  102,15,17,52,19                     ; movupd        %xmm6,(%ebx,%edx,1)
+  DB  15,40,240                           ; movaps        %xmm0,%xmm6
+  DB  15,21,241                           ; unpckhps      %xmm1,%xmm6
+  DB  15,40,250                           ; movaps        %xmm2,%xmm7
+  DB  15,21,251                           ; unpckhps      %xmm3,%xmm7
+  DB  15,18,229                           ; movhlps       %xmm5,%xmm4
+  DB  15,40,238                           ; movaps        %xmm6,%xmm5
+  DB  102,15,20,239                       ; unpcklpd      %xmm7,%xmm5
+  DB  133,255                             ; test          %edi,%edi
+  DB  117,40                              ; jne           695f <_sk_store_f32_sse2+0x86>
+  DB  102,15,21,247                       ; unpckhpd      %xmm7,%xmm6
+  DB  15,17,100,178,16                    ; movups        %xmm4,0x10(%edx,%esi,4)
+  DB  102,15,17,108,178,32                ; movupd        %xmm5,0x20(%edx,%esi,4)
+  DB  102,15,17,116,178,48                ; movupd        %xmm6,0x30(%edx,%esi,4)
+  DB  141,80,8                            ; lea           0x8(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,28                          ; add           $0x1c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  131,255,1                           ; cmp           $0x1,%edi
+  DB  116,232                             ; je            694c <_sk_store_f32_sse2+0x73>
+  DB  15,17,100,178,16                    ; movups        %xmm4,0x10(%edx,%esi,4)
+  DB  131,255,3                           ; cmp           $0x3,%edi
+  DB  114,222                             ; jb            694c <_sk_store_f32_sse2+0x73>
+  DB  102,15,17,108,178,32                ; movupd        %xmm5,0x20(%edx,%esi,4)
+  DB  235,214                             ; jmp           694c <_sk_store_f32_sse2+0x73>
+
+PUBLIC _sk_repeat_x_sse2
+_sk_repeat_x_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  232,0,0,0,0                         ; call          6981 <_sk_repeat_x_sse2+0xb>
+  DB  88                                  ; pop           %eax
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  139,17                              ; mov           (%ecx),%edx
+  DB  243,15,16,34                        ; movss         (%edx),%xmm4
+  DB  243,15,16,106,4                     ; movss         0x4(%edx),%xmm5
+  DB  15,198,237,0                        ; shufps        $0x0,%xmm5,%xmm5
+  DB  15,89,232                           ; mulps         %xmm0,%xmm5
+  DB  243,15,91,245                       ; cvttps2dq     %xmm5,%xmm6
+  DB  15,91,246                           ; cvtdq2ps      %xmm6,%xmm6
+  DB  15,194,238,1                        ; cmpltps       %xmm6,%xmm5
+  DB  15,84,168,239,157,0,0               ; andps         0x9def(%eax),%xmm5
+  DB  15,92,245                           ; subps         %xmm5,%xmm6
+  DB  15,198,228,0                        ; shufps        $0x0,%xmm4,%xmm4
+  DB  15,89,230                           ; mulps         %xmm6,%xmm4
+  DB  15,92,196                           ; subps         %xmm4,%xmm0
+  DB  141,65,8                            ; lea           0x8(%ecx),%eax
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  80                                  ; push          %eax
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,81,4                            ; call          *0x4(%ecx)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_repeat_y_sse2
+_sk_repeat_y_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  232,0,0,0,0                         ; call          69d3 <_sk_repeat_y_sse2+0xb>
+  DB  88                                  ; pop           %eax
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  139,17                              ; mov           (%ecx),%edx
+  DB  243,15,16,34                        ; movss         (%edx),%xmm4
+  DB  243,15,16,106,4                     ; movss         0x4(%edx),%xmm5
+  DB  15,198,237,0                        ; shufps        $0x0,%xmm5,%xmm5
+  DB  15,89,233                           ; mulps         %xmm1,%xmm5
+  DB  243,15,91,245                       ; cvttps2dq     %xmm5,%xmm6
+  DB  15,91,246                           ; cvtdq2ps      %xmm6,%xmm6
+  DB  15,194,238,1                        ; cmpltps       %xmm6,%xmm5
+  DB  15,84,168,157,157,0,0               ; andps         0x9d9d(%eax),%xmm5
+  DB  15,92,245                           ; subps         %xmm5,%xmm6
+  DB  15,198,228,0                        ; shufps        $0x0,%xmm4,%xmm4
+  DB  15,89,230                           ; mulps         %xmm6,%xmm4
+  DB  15,92,204                           ; subps         %xmm4,%xmm1
+  DB  141,65,8                            ; lea           0x8(%ecx),%eax
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  80                                  ; push          %eax
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,81,4                            ; call          *0x4(%ecx)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_mirror_x_sse2
+_sk_mirror_x_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  232,0,0,0,0                         ; call          6a25 <_sk_mirror_x_sse2+0xb>
+  DB  89                                  ; pop           %ecx
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,16                              ; mov           (%eax),%edx
+  DB  243,15,16,34                        ; movss         (%edx),%xmm4
+  DB  243,15,16,106,4                     ; movss         0x4(%edx),%xmm5
+  DB  15,40,244                           ; movaps        %xmm4,%xmm6
+  DB  15,198,246,0                        ; shufps        $0x0,%xmm6,%xmm6
+  DB  15,92,198                           ; subps         %xmm6,%xmm0
+  DB  243,15,89,169,75,165,0,0            ; mulss         0xa54b(%ecx),%xmm5
+  DB  15,198,237,0                        ; shufps        $0x0,%xmm5,%xmm5
+  DB  15,89,232                           ; mulps         %xmm0,%xmm5
+  DB  243,15,91,253                       ; cvttps2dq     %xmm5,%xmm7
+  DB  15,91,255                           ; cvtdq2ps      %xmm7,%xmm7
+  DB  15,194,239,1                        ; cmpltps       %xmm7,%xmm5
+  DB  15,84,169,75,157,0,0                ; andps         0x9d4b(%ecx),%xmm5
+  DB  15,92,253                           ; subps         %xmm5,%xmm7
+  DB  243,15,88,228                       ; addss         %xmm4,%xmm4
+  DB  15,198,228,0                        ; shufps        $0x0,%xmm4,%xmm4
+  DB  15,89,252                           ; mulps         %xmm4,%xmm7
+  DB  15,92,199                           ; subps         %xmm7,%xmm0
+  DB  15,92,198                           ; subps         %xmm6,%xmm0
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,92,224                           ; subps         %xmm0,%xmm4
+  DB  15,84,196                           ; andps         %xmm4,%xmm0
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_mirror_y_sse2
+_sk_mirror_y_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  232,0,0,0,0                         ; call          6a99 <_sk_mirror_y_sse2+0xb>
+  DB  89                                  ; pop           %ecx
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,16                              ; mov           (%eax),%edx
+  DB  243,15,16,34                        ; movss         (%edx),%xmm4
+  DB  243,15,16,106,4                     ; movss         0x4(%edx),%xmm5
+  DB  15,40,244                           ; movaps        %xmm4,%xmm6
+  DB  15,198,246,0                        ; shufps        $0x0,%xmm6,%xmm6
+  DB  15,92,206                           ; subps         %xmm6,%xmm1
+  DB  243,15,89,169,215,164,0,0           ; mulss         0xa4d7(%ecx),%xmm5
+  DB  15,198,237,0                        ; shufps        $0x0,%xmm5,%xmm5
+  DB  15,89,233                           ; mulps         %xmm1,%xmm5
+  DB  243,15,91,253                       ; cvttps2dq     %xmm5,%xmm7
+  DB  15,91,255                           ; cvtdq2ps      %xmm7,%xmm7
+  DB  15,194,239,1                        ; cmpltps       %xmm7,%xmm5
+  DB  15,84,169,215,156,0,0               ; andps         0x9cd7(%ecx),%xmm5
+  DB  15,92,253                           ; subps         %xmm5,%xmm7
+  DB  243,15,88,228                       ; addss         %xmm4,%xmm4
+  DB  15,198,228,0                        ; shufps        $0x0,%xmm4,%xmm4
+  DB  15,89,252                           ; mulps         %xmm4,%xmm7
+  DB  15,92,207                           ; subps         %xmm7,%xmm1
+  DB  15,92,206                           ; subps         %xmm6,%xmm1
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,92,225                           ; subps         %xmm1,%xmm4
+  DB  15,84,204                           ; andps         %xmm4,%xmm1
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_clamp_x_1_sse2
+_sk_clamp_x_1_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  232,0,0,0,0                         ; call          6b0d <_sk_clamp_x_1_sse2+0xb>
+  DB  88                                  ; pop           %eax
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,95,224                           ; maxps         %xmm0,%xmm4
+  DB  15,93,160,99,156,0,0                ; minps         0x9c63(%eax),%xmm4
+  DB  141,65,4                            ; lea           0x4(%ecx),%eax
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,196                           ; movaps        %xmm4,%xmm0
+  DB  80                                  ; push          %eax
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,17                              ; call          *(%ecx)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_repeat_x_1_sse2
+_sk_repeat_x_1_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  232,0,0,0,0                         ; call          6b3d <_sk_repeat_x_1_sse2+0xb>
+  DB  88                                  ; pop           %eax
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  243,15,91,224                       ; cvttps2dq     %xmm0,%xmm4
+  DB  15,91,236                           ; cvtdq2ps      %xmm4,%xmm5
+  DB  15,40,240                           ; movaps        %xmm0,%xmm6
+  DB  15,194,245,1                        ; cmpltps       %xmm5,%xmm6
+  DB  15,40,184,51,156,0,0                ; movaps        0x9c33(%eax),%xmm7
+  DB  15,84,247                           ; andps         %xmm7,%xmm6
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,92,238                           ; subps         %xmm6,%xmm5
+  DB  15,92,197                           ; subps         %xmm5,%xmm0
+  DB  15,95,224                           ; maxps         %xmm0,%xmm4
+  DB  15,93,231                           ; minps         %xmm7,%xmm4
+  DB  141,65,4                            ; lea           0x4(%ecx),%eax
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,196                           ; movaps        %xmm4,%xmm0
+  DB  80                                  ; push          %eax
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,17                              ; call          *(%ecx)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_mirror_x_1_sse2
+_sk_mirror_x_1_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  232,0,0,0,0                         ; call          6b87 <_sk_mirror_x_1_sse2+0xb>
+  DB  88                                  ; pop           %eax
+  DB  15,40,160,89,156,0,0                ; movaps        0x9c59(%eax),%xmm4
+  DB  15,88,196                           ; addps         %xmm4,%xmm0
+  DB  15,40,168,217,155,0,0               ; movaps        0x9bd9(%eax),%xmm5
+  DB  15,89,232                           ; mulps         %xmm0,%xmm5
+  DB  243,15,91,245                       ; cvttps2dq     %xmm5,%xmm6
+  DB  15,91,246                           ; cvtdq2ps      %xmm6,%xmm6
+  DB  15,194,238,1                        ; cmpltps       %xmm6,%xmm5
+  DB  15,40,184,233,155,0,0               ; movaps        0x9be9(%eax),%xmm7
+  DB  15,84,239                           ; andps         %xmm7,%xmm5
+  DB  15,92,245                           ; subps         %xmm5,%xmm6
+  DB  15,88,246                           ; addps         %xmm6,%xmm6
+  DB  15,92,198                           ; subps         %xmm6,%xmm0
+  DB  15,88,196                           ; addps         %xmm4,%xmm0
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,92,224                           ; subps         %xmm0,%xmm4
+  DB  15,84,224                           ; andps         %xmm0,%xmm4
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  15,95,196                           ; maxps         %xmm4,%xmm0
+  DB  15,93,199                           ; minps         %xmm7,%xmm0
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  141,72,4                            ; lea           0x4(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,16                              ; call          *(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_decal_x_sse2
+_sk_decal_x_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  139,17                              ; mov           (%ecx),%edx
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,194,224,2                        ; cmpleps       %xmm0,%xmm4
+  DB  243,15,16,106,64                    ; movss         0x40(%edx),%xmm5
+  DB  15,198,237,0                        ; shufps        $0x0,%xmm5,%xmm5
+  DB  15,40,240                           ; movaps        %xmm0,%xmm6
+  DB  15,194,245,1                        ; cmpltps       %xmm5,%xmm6
+  DB  15,84,244                           ; andps         %xmm4,%xmm6
+  DB  15,17,50                            ; movups        %xmm6,(%edx)
+  DB  141,81,8                            ; lea           0x8(%ecx),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  82                                  ; push          %edx
+  DB  80                                  ; push          %eax
+  DB  255,81,4                            ; call          *0x4(%ecx)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_decal_y_sse2
+_sk_decal_y_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  139,17                              ; mov           (%ecx),%edx
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,194,225,2                        ; cmpleps       %xmm1,%xmm4
+  DB  243,15,16,106,68                    ; movss         0x44(%edx),%xmm5
+  DB  15,198,237,0                        ; shufps        $0x0,%xmm5,%xmm5
+  DB  15,40,241                           ; movaps        %xmm1,%xmm6
+  DB  15,194,245,1                        ; cmpltps       %xmm5,%xmm6
+  DB  15,84,244                           ; andps         %xmm4,%xmm6
+  DB  15,17,50                            ; movups        %xmm6,(%edx)
+  DB  141,81,8                            ; lea           0x8(%ecx),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  82                                  ; push          %edx
+  DB  80                                  ; push          %eax
+  DB  255,81,4                            ; call          *0x4(%ecx)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_decal_x_and_y_sse2
+_sk_decal_x_and_y_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  243,15,16,105,64                    ; movss         0x40(%ecx),%xmm5
+  DB  15,198,237,0                        ; shufps        $0x0,%xmm5,%xmm5
+  DB  15,40,240                           ; movaps        %xmm0,%xmm6
+  DB  15,194,245,1                        ; cmpltps       %xmm5,%xmm6
+  DB  15,87,237                           ; xorps         %xmm5,%xmm5
+  DB  15,194,232,2                        ; cmpleps       %xmm0,%xmm5
+  DB  15,194,225,2                        ; cmpleps       %xmm1,%xmm4
+  DB  15,84,229                           ; andps         %xmm5,%xmm4
+  DB  243,15,16,105,68                    ; movss         0x44(%ecx),%xmm5
+  DB  15,84,230                           ; andps         %xmm6,%xmm4
+  DB  15,198,237,0                        ; shufps        $0x0,%xmm5,%xmm5
+  DB  15,40,241                           ; movaps        %xmm1,%xmm6
+  DB  15,194,245,1                        ; cmpltps       %xmm5,%xmm6
+  DB  15,84,244                           ; andps         %xmm4,%xmm6
+  DB  15,17,49                            ; movups        %xmm6,(%ecx)
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  141,80,8                            ; lea           0x8(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_check_decal_mask_sse2
+_sk_check_decal_mask_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  15,16,33                            ; movups        (%ecx),%xmm4
+  DB  15,84,196                           ; andps         %xmm4,%xmm0
+  DB  15,84,204                           ; andps         %xmm4,%xmm1
+  DB  15,84,212                           ; andps         %xmm4,%xmm2
+  DB  15,84,220                           ; andps         %xmm4,%xmm3
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_luminance_to_alpha_sse2
+_sk_luminance_to_alpha_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,218                           ; movaps        %xmm2,%xmm3
+  DB  232,0,0,0,0                         ; call          6ceb <_sk_luminance_to_alpha_sse2+0xe>
+  DB  88                                  ; pop           %eax
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  15,89,128,5,160,0,0                 ; mulps         0xa005(%eax),%xmm0
+  DB  15,89,136,21,160,0,0                ; mulps         0xa015(%eax),%xmm1
+  DB  15,88,200                           ; addps         %xmm0,%xmm1
+  DB  15,89,152,37,160,0,0                ; mulps         0xa025(%eax),%xmm3
+  DB  15,88,217                           ; addps         %xmm1,%xmm3
+  DB  141,65,4                            ; lea           0x4(%ecx),%eax
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  15,87,201                           ; xorps         %xmm1,%xmm1
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  80                                  ; push          %eax
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,17                              ; call          *(%ecx)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_matrix_translate_sse2
+_sk_matrix_translate_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  243,15,16,33                        ; movss         (%ecx),%xmm4
+  DB  243,15,16,105,4                     ; movss         0x4(%ecx),%xmm5
+  DB  15,198,228,0                        ; shufps        $0x0,%xmm4,%xmm4
+  DB  15,88,196                           ; addps         %xmm4,%xmm0
+  DB  15,198,237,0                        ; shufps        $0x0,%xmm5,%xmm5
+  DB  15,88,205                           ; addps         %xmm5,%xmm1
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_matrix_scale_translate_sse2
+_sk_matrix_scale_translate_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  243,15,16,33                        ; movss         (%ecx),%xmm4
+  DB  243,15,16,105,4                     ; movss         0x4(%ecx),%xmm5
+  DB  15,198,228,0                        ; shufps        $0x0,%xmm4,%xmm4
+  DB  243,15,16,113,8                     ; movss         0x8(%ecx),%xmm6
+  DB  15,198,246,0                        ; shufps        $0x0,%xmm6,%xmm6
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  15,88,198                           ; addps         %xmm6,%xmm0
+  DB  15,198,237,0                        ; shufps        $0x0,%xmm5,%xmm5
+  DB  243,15,16,97,12                     ; movss         0xc(%ecx),%xmm4
+  DB  15,198,228,0                        ; shufps        $0x0,%xmm4,%xmm4
+  DB  15,89,205                           ; mulps         %xmm5,%xmm1
+  DB  15,88,204                           ; addps         %xmm4,%xmm1
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_matrix_2x3_sse2
+_sk_matrix_2x3_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,233                           ; movaps        %xmm1,%xmm5
+  DB  15,40,224                           ; movaps        %xmm0,%xmm4
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  243,15,16,1                         ; movss         (%ecx),%xmm0
+  DB  243,15,16,73,4                      ; movss         0x4(%ecx),%xmm1
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  243,15,16,113,8                     ; movss         0x8(%ecx),%xmm6
+  DB  15,198,246,0                        ; shufps        $0x0,%xmm6,%xmm6
+  DB  243,15,16,121,16                    ; movss         0x10(%ecx),%xmm7
+  DB  15,198,255,0                        ; shufps        $0x0,%xmm7,%xmm7
+  DB  15,89,245                           ; mulps         %xmm5,%xmm6
+  DB  15,88,247                           ; addps         %xmm7,%xmm6
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  15,88,198                           ; addps         %xmm6,%xmm0
+  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
+  DB  243,15,16,113,12                    ; movss         0xc(%ecx),%xmm6
+  DB  15,198,246,0                        ; shufps        $0x0,%xmm6,%xmm6
+  DB  243,15,16,121,20                    ; movss         0x14(%ecx),%xmm7
+  DB  15,198,255,0                        ; shufps        $0x0,%xmm7,%xmm7
+  DB  15,89,245                           ; mulps         %xmm5,%xmm6
+  DB  15,88,247                           ; addps         %xmm7,%xmm6
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  15,88,206                           ; addps         %xmm6,%xmm1
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_matrix_3x4_sse2
+_sk_matrix_3x4_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,224                           ; movaps        %xmm0,%xmm4
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  243,15,16,1                         ; movss         (%ecx),%xmm0
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  243,15,16,105,24                    ; movss         0x18(%ecx),%xmm5
+  DB  15,198,237,0                        ; shufps        $0x0,%xmm5,%xmm5
+  DB  243,15,16,113,36                    ; movss         0x24(%ecx),%xmm6
+  DB  15,198,246,0                        ; shufps        $0x0,%xmm6,%xmm6
+  DB  15,89,234                           ; mulps         %xmm2,%xmm5
+  DB  15,88,238                           ; addps         %xmm6,%xmm5
+  DB  243,15,16,113,12                    ; movss         0xc(%ecx),%xmm6
+  DB  15,198,246,0                        ; shufps        $0x0,%xmm6,%xmm6
+  DB  15,89,241                           ; mulps         %xmm1,%xmm6
+  DB  15,88,245                           ; addps         %xmm5,%xmm6
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  15,88,198                           ; addps         %xmm6,%xmm0
+  DB  243,15,16,105,28                    ; movss         0x1c(%ecx),%xmm5
+  DB  15,198,237,0                        ; shufps        $0x0,%xmm5,%xmm5
+  DB  243,15,16,113,40                    ; movss         0x28(%ecx),%xmm6
+  DB  15,198,246,0                        ; shufps        $0x0,%xmm6,%xmm6
+  DB  15,89,234                           ; mulps         %xmm2,%xmm5
+  DB  15,88,238                           ; addps         %xmm6,%xmm5
+  DB  243,15,16,113,16                    ; movss         0x10(%ecx),%xmm6
+  DB  15,198,246,0                        ; shufps        $0x0,%xmm6,%xmm6
+  DB  15,89,241                           ; mulps         %xmm1,%xmm6
+  DB  15,88,245                           ; addps         %xmm5,%xmm6
+  DB  243,15,16,105,4                     ; movss         0x4(%ecx),%xmm5
+  DB  15,198,237,0                        ; shufps        $0x0,%xmm5,%xmm5
+  DB  15,89,236                           ; mulps         %xmm4,%xmm5
+  DB  15,88,238                           ; addps         %xmm6,%xmm5
+  DB  243,15,16,113,32                    ; movss         0x20(%ecx),%xmm6
+  DB  15,198,246,0                        ; shufps        $0x0,%xmm6,%xmm6
+  DB  15,89,242                           ; mulps         %xmm2,%xmm6
+  DB  243,15,16,81,44                     ; movss         0x2c(%ecx),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  15,88,242                           ; addps         %xmm2,%xmm6
+  DB  243,15,16,121,20                    ; movss         0x14(%ecx),%xmm7
+  DB  15,198,255,0                        ; shufps        $0x0,%xmm7,%xmm7
+  DB  15,89,249                           ; mulps         %xmm1,%xmm7
+  DB  15,88,254                           ; addps         %xmm6,%xmm7
+  DB  243,15,16,81,8                      ; movss         0x8(%ecx),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  15,89,212                           ; mulps         %xmm4,%xmm2
+  DB  15,88,215                           ; addps         %xmm7,%xmm2
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,205                           ; movaps        %xmm5,%xmm1
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_matrix_4x5_sse2
+_sk_matrix_4x5_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,233                           ; movaps        %xmm1,%xmm5
+  DB  15,40,224                           ; movaps        %xmm0,%xmm4
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  243,15,16,1                         ; movss         (%ecx),%xmm0
+  DB  243,15,16,73,4                      ; movss         0x4(%ecx),%xmm1
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  243,15,16,113,48                    ; movss         0x30(%ecx),%xmm6
+  DB  15,198,246,0                        ; shufps        $0x0,%xmm6,%xmm6
+  DB  243,15,16,121,64                    ; movss         0x40(%ecx),%xmm7
+  DB  15,198,255,0                        ; shufps        $0x0,%xmm7,%xmm7
+  DB  15,89,243                           ; mulps         %xmm3,%xmm6
+  DB  15,88,247                           ; addps         %xmm7,%xmm6
+  DB  243,15,16,121,32                    ; movss         0x20(%ecx),%xmm7
+  DB  15,198,255,0                        ; shufps        $0x0,%xmm7,%xmm7
+  DB  15,89,250                           ; mulps         %xmm2,%xmm7
+  DB  15,88,254                           ; addps         %xmm6,%xmm7
+  DB  243,15,16,113,16                    ; movss         0x10(%ecx),%xmm6
+  DB  15,198,246,0                        ; shufps        $0x0,%xmm6,%xmm6
+  DB  15,89,245                           ; mulps         %xmm5,%xmm6
+  DB  15,88,247                           ; addps         %xmm7,%xmm6
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  15,88,198                           ; addps         %xmm6,%xmm0
+  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
+  DB  243,15,16,113,52                    ; movss         0x34(%ecx),%xmm6
+  DB  15,198,246,0                        ; shufps        $0x0,%xmm6,%xmm6
+  DB  243,15,16,121,68                    ; movss         0x44(%ecx),%xmm7
+  DB  15,198,255,0                        ; shufps        $0x0,%xmm7,%xmm7
+  DB  15,89,243                           ; mulps         %xmm3,%xmm6
+  DB  15,88,247                           ; addps         %xmm7,%xmm6
+  DB  243,15,16,121,36                    ; movss         0x24(%ecx),%xmm7
+  DB  15,198,255,0                        ; shufps        $0x0,%xmm7,%xmm7
+  DB  15,89,250                           ; mulps         %xmm2,%xmm7
+  DB  15,88,254                           ; addps         %xmm6,%xmm7
+  DB  243,15,16,113,20                    ; movss         0x14(%ecx),%xmm6
+  DB  15,198,246,0                        ; shufps        $0x0,%xmm6,%xmm6
+  DB  15,89,245                           ; mulps         %xmm5,%xmm6
+  DB  15,88,247                           ; addps         %xmm7,%xmm6
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  15,88,206                           ; addps         %xmm6,%xmm1
+  DB  243,15,16,113,56                    ; movss         0x38(%ecx),%xmm6
+  DB  15,198,246,0                        ; shufps        $0x0,%xmm6,%xmm6
+  DB  243,15,16,121,72                    ; movss         0x48(%ecx),%xmm7
+  DB  15,198,255,0                        ; shufps        $0x0,%xmm7,%xmm7
+  DB  15,89,243                           ; mulps         %xmm3,%xmm6
+  DB  15,88,247                           ; addps         %xmm7,%xmm6
+  DB  243,15,16,121,40                    ; movss         0x28(%ecx),%xmm7
+  DB  15,198,255,0                        ; shufps        $0x0,%xmm7,%xmm7
+  DB  15,89,250                           ; mulps         %xmm2,%xmm7
+  DB  15,88,254                           ; addps         %xmm6,%xmm7
+  DB  243,15,16,113,24                    ; movss         0x18(%ecx),%xmm6
+  DB  15,198,246,0                        ; shufps        $0x0,%xmm6,%xmm6
+  DB  15,89,245                           ; mulps         %xmm5,%xmm6
+  DB  15,88,247                           ; addps         %xmm7,%xmm6
+  DB  243,15,16,121,8                     ; movss         0x8(%ecx),%xmm7
+  DB  15,198,255,0                        ; shufps        $0x0,%xmm7,%xmm7
+  DB  15,89,252                           ; mulps         %xmm4,%xmm7
+  DB  15,88,254                           ; addps         %xmm6,%xmm7
+  DB  243,15,16,113,60                    ; movss         0x3c(%ecx),%xmm6
+  DB  15,198,246,0                        ; shufps        $0x0,%xmm6,%xmm6
+  DB  15,89,243                           ; mulps         %xmm3,%xmm6
+  DB  243,15,16,89,76                     ; movss         0x4c(%ecx),%xmm3
+  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
+  DB  15,88,243                           ; addps         %xmm3,%xmm6
+  DB  243,15,16,89,44                     ; movss         0x2c(%ecx),%xmm3
+  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
+  DB  15,89,218                           ; mulps         %xmm2,%xmm3
+  DB  15,88,222                           ; addps         %xmm6,%xmm3
+  DB  243,15,16,81,28                     ; movss         0x1c(%ecx),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  15,89,213                           ; mulps         %xmm5,%xmm2
+  DB  15,88,211                           ; addps         %xmm3,%xmm2
+  DB  243,15,16,89,12                     ; movss         0xc(%ecx),%xmm3
+  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
+  DB  15,89,220                           ; mulps         %xmm4,%xmm3
+  DB  15,88,218                           ; addps         %xmm2,%xmm3
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,215                           ; movaps        %xmm7,%xmm2
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_matrix_4x3_sse2
+_sk_matrix_4x3_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,233                           ; movaps        %xmm1,%xmm5
+  DB  15,40,224                           ; movaps        %xmm0,%xmm4
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  243,15,16,1                         ; movss         (%ecx),%xmm0
+  DB  243,15,16,73,4                      ; movss         0x4(%ecx),%xmm1
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  243,15,16,81,16                     ; movss         0x10(%ecx),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  243,15,16,89,32                     ; movss         0x20(%ecx),%xmm3
+  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
+  DB  15,89,213                           ; mulps         %xmm5,%xmm2
+  DB  15,88,211                           ; addps         %xmm3,%xmm2
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  15,88,194                           ; addps         %xmm2,%xmm0
+  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
+  DB  243,15,16,81,20                     ; movss         0x14(%ecx),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  243,15,16,89,36                     ; movss         0x24(%ecx),%xmm3
+  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
+  DB  15,89,213                           ; mulps         %xmm5,%xmm2
+  DB  15,88,211                           ; addps         %xmm3,%xmm2
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  15,88,202                           ; addps         %xmm2,%xmm1
+  DB  243,15,16,81,8                      ; movss         0x8(%ecx),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  243,15,16,89,24                     ; movss         0x18(%ecx),%xmm3
+  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
+  DB  243,15,16,113,40                    ; movss         0x28(%ecx),%xmm6
+  DB  15,198,246,0                        ; shufps        $0x0,%xmm6,%xmm6
+  DB  15,89,221                           ; mulps         %xmm5,%xmm3
+  DB  15,88,222                           ; addps         %xmm6,%xmm3
+  DB  15,89,212                           ; mulps         %xmm4,%xmm2
+  DB  15,88,211                           ; addps         %xmm3,%xmm2
+  DB  243,15,16,89,12                     ; movss         0xc(%ecx),%xmm3
+  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
+  DB  243,15,16,113,28                    ; movss         0x1c(%ecx),%xmm6
+  DB  15,198,246,0                        ; shufps        $0x0,%xmm6,%xmm6
+  DB  243,15,16,121,44                    ; movss         0x2c(%ecx),%xmm7
+  DB  15,198,255,0                        ; shufps        $0x0,%xmm7,%xmm7
+  DB  15,89,245                           ; mulps         %xmm5,%xmm6
+  DB  15,88,247                           ; addps         %xmm7,%xmm6
+  DB  15,89,220                           ; mulps         %xmm4,%xmm3
+  DB  15,88,222                           ; addps         %xmm6,%xmm3
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_matrix_perspective_sse2
+_sk_matrix_perspective_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,224                           ; movaps        %xmm0,%xmm4
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  243,15,16,1                         ; movss         (%ecx),%xmm0
+  DB  243,15,16,105,4                     ; movss         0x4(%ecx),%xmm5
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  15,198,237,0                        ; shufps        $0x0,%xmm5,%xmm5
+  DB  243,15,16,113,8                     ; movss         0x8(%ecx),%xmm6
+  DB  15,198,246,0                        ; shufps        $0x0,%xmm6,%xmm6
+  DB  15,89,233                           ; mulps         %xmm1,%xmm5
+  DB  15,88,238                           ; addps         %xmm6,%xmm5
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  15,88,197                           ; addps         %xmm5,%xmm0
+  DB  243,15,16,113,16                    ; movss         0x10(%ecx),%xmm6
+  DB  15,198,246,0                        ; shufps        $0x0,%xmm6,%xmm6
+  DB  243,15,16,105,20                    ; movss         0x14(%ecx),%xmm5
+  DB  15,198,237,0                        ; shufps        $0x0,%xmm5,%xmm5
+  DB  15,89,241                           ; mulps         %xmm1,%xmm6
+  DB  15,88,245                           ; addps         %xmm5,%xmm6
+  DB  243,15,16,105,12                    ; movss         0xc(%ecx),%xmm5
+  DB  15,198,237,0                        ; shufps        $0x0,%xmm5,%xmm5
+  DB  15,89,236                           ; mulps         %xmm4,%xmm5
+  DB  15,88,238                           ; addps         %xmm6,%xmm5
+  DB  243,15,16,113,28                    ; movss         0x1c(%ecx),%xmm6
+  DB  15,198,246,0                        ; shufps        $0x0,%xmm6,%xmm6
+  DB  15,89,241                           ; mulps         %xmm1,%xmm6
+  DB  243,15,16,73,32                     ; movss         0x20(%ecx),%xmm1
+  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
+  DB  15,88,241                           ; addps         %xmm1,%xmm6
+  DB  243,15,16,73,24                     ; movss         0x18(%ecx),%xmm1
+  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  15,88,206                           ; addps         %xmm6,%xmm1
+  DB  15,83,201                           ; rcpps         %xmm1,%xmm1
+  DB  15,89,193                           ; mulps         %xmm1,%xmm0
+  DB  15,89,233                           ; mulps         %xmm1,%xmm5
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,205                           ; movaps        %xmm5,%xmm1
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_evenly_spaced_gradient_sse2
+_sk_evenly_spaced_gradient_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,60                          ; sub           $0x3c,%esp
+  DB  15,41,69,184                        ; movaps        %xmm0,-0x48(%ebp)
+  DB  232,0,0,0,0                         ; call          7181 <_sk_evenly_spaced_gradient_sse2+0x12>
+  DB  90                                  ; pop           %edx
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  139,49                              ; mov           (%ecx),%esi
+  DB  139,65,4                            ; mov           0x4(%ecx),%eax
+  DB  78                                  ; dec           %esi
+  DB  102,15,110,206                      ; movd          %esi,%xmm1
+  DB  102,15,112,201,0                    ; pshufd        $0x0,%xmm1,%xmm1
+  DB  102,15,111,146,159,155,0,0          ; movdqa        0x9b9f(%edx),%xmm2
+  DB  102,15,219,209                      ; pand          %xmm1,%xmm2
+  DB  102,15,235,146,31,153,0,0           ; por           0x991f(%edx),%xmm2
+  DB  102,15,114,209,16                   ; psrld         $0x10,%xmm1
+  DB  102,15,235,138,175,155,0,0          ; por           0x9baf(%edx),%xmm1
+  DB  15,88,138,191,155,0,0               ; addps         0x9bbf(%edx),%xmm1
+  DB  15,88,202                           ; addps         %xmm2,%xmm1
+  DB  15,89,200                           ; mulps         %xmm0,%xmm1
+  DB  243,15,91,201                       ; cvttps2dq     %xmm1,%xmm1
+  DB  102,15,112,209,229                  ; pshufd        $0xe5,%xmm1,%xmm2
+  DB  102,15,112,217,78                   ; pshufd        $0x4e,%xmm1,%xmm3
+  DB  102,15,126,218                      ; movd          %xmm3,%edx
+  DB  102,15,112,217,231                  ; pshufd        $0xe7,%xmm1,%xmm3
+  DB  102,15,126,223                      ; movd          %xmm3,%edi
+  DB  243,15,16,28,184                    ; movss         (%eax,%edi,4),%xmm3
+  DB  243,15,16,52,144                    ; movss         (%eax,%edx,4),%xmm6
+  DB  102,15,126,206                      ; movd          %xmm1,%esi
+  DB  243,15,16,36,176                    ; movss         (%eax,%esi,4),%xmm4
+  DB  102,15,126,211                      ; movd          %xmm2,%ebx
+  DB  243,15,16,12,152                    ; movss         (%eax,%ebx,4),%xmm1
+  DB  15,20,243                           ; unpcklps      %xmm3,%xmm6
+  DB  139,65,20                           ; mov           0x14(%ecx),%eax
+  DB  243,15,16,20,184                    ; movss         (%eax,%edi,4),%xmm2
+  DB  243,15,16,28,144                    ; movss         (%eax,%edx,4),%xmm3
+  DB  243,15,16,4,176                     ; movss         (%eax,%esi,4),%xmm0
+  DB  243,15,16,60,152                    ; movss         (%eax,%ebx,4),%xmm7
+  DB  15,20,225                           ; unpcklps      %xmm1,%xmm4
+  DB  102,15,20,230                       ; unpcklpd      %xmm6,%xmm4
+  DB  15,20,218                           ; unpcklps      %xmm2,%xmm3
+  DB  15,20,199                           ; unpcklps      %xmm7,%xmm0
+  DB  139,65,8                            ; mov           0x8(%ecx),%eax
+  DB  243,15,16,20,184                    ; movss         (%eax,%edi,4),%xmm2
+  DB  243,15,16,52,144                    ; movss         (%eax,%edx,4),%xmm6
+  DB  243,15,16,12,176                    ; movss         (%eax,%esi,4),%xmm1
+  DB  243,15,16,60,152                    ; movss         (%eax,%ebx,4),%xmm7
+  DB  102,15,20,195                       ; unpcklpd      %xmm3,%xmm0
+  DB  102,15,41,69,200                    ; movapd        %xmm0,-0x38(%ebp)
+  DB  15,20,242                           ; unpcklps      %xmm2,%xmm6
+  DB  15,20,207                           ; unpcklps      %xmm7,%xmm1
+  DB  102,15,20,206                       ; unpcklpd      %xmm6,%xmm1
+  DB  139,65,24                           ; mov           0x18(%ecx),%eax
+  DB  243,15,16,20,184                    ; movss         (%eax,%edi,4),%xmm2
+  DB  243,15,16,28,144                    ; movss         (%eax,%edx,4),%xmm3
+  DB  243,15,16,4,176                     ; movss         (%eax,%esi,4),%xmm0
+  DB  243,15,16,60,152                    ; movss         (%eax,%ebx,4),%xmm7
+  DB  15,20,218                           ; unpcklps      %xmm2,%xmm3
+  DB  15,20,199                           ; unpcklps      %xmm7,%xmm0
+  DB  102,15,20,195                       ; unpcklpd      %xmm3,%xmm0
+  DB  102,15,41,69,216                    ; movapd        %xmm0,-0x28(%ebp)
+  DB  139,65,12                           ; mov           0xc(%ecx),%eax
+  DB  243,15,16,20,184                    ; movss         (%eax,%edi,4),%xmm2
+  DB  243,15,16,28,144                    ; movss         (%eax,%edx,4),%xmm3
+  DB  15,20,218                           ; unpcklps      %xmm2,%xmm3
+  DB  243,15,16,20,176                    ; movss         (%eax,%esi,4),%xmm2
+  DB  243,15,16,60,152                    ; movss         (%eax,%ebx,4),%xmm7
+  DB  15,20,215                           ; unpcklps      %xmm7,%xmm2
+  DB  102,15,20,211                       ; unpcklpd      %xmm3,%xmm2
+  DB  139,65,28                           ; mov           0x1c(%ecx),%eax
+  DB  243,15,16,60,184                    ; movss         (%eax,%edi,4),%xmm7
+  DB  243,15,16,28,144                    ; movss         (%eax,%edx,4),%xmm3
+  DB  15,20,223                           ; unpcklps      %xmm7,%xmm3
+  DB  243,15,16,60,176                    ; movss         (%eax,%esi,4),%xmm7
+  DB  243,15,16,44,152                    ; movss         (%eax,%ebx,4),%xmm5
+  DB  15,20,253                           ; unpcklps      %xmm5,%xmm7
+  DB  102,15,20,251                       ; unpcklpd      %xmm3,%xmm7
+  DB  139,65,16                           ; mov           0x10(%ecx),%eax
+  DB  243,15,16,28,184                    ; movss         (%eax,%edi,4),%xmm3
+  DB  243,15,16,44,144                    ; movss         (%eax,%edx,4),%xmm5
+  DB  15,20,235                           ; unpcklps      %xmm3,%xmm5
+  DB  243,15,16,28,176                    ; movss         (%eax,%esi,4),%xmm3
+  DB  243,15,16,4,152                     ; movss         (%eax,%ebx,4),%xmm0
+  DB  15,20,216                           ; unpcklps      %xmm0,%xmm3
+  DB  102,15,20,221                       ; unpcklpd      %xmm5,%xmm3
+  DB  139,65,32                           ; mov           0x20(%ecx),%eax
+  DB  243,15,16,4,184                     ; movss         (%eax,%edi,4),%xmm0
+  DB  243,15,16,44,144                    ; movss         (%eax,%edx,4),%xmm5
+  DB  15,20,232                           ; unpcklps      %xmm0,%xmm5
+  DB  243,15,16,4,176                     ; movss         (%eax,%esi,4),%xmm0
+  DB  243,15,16,52,152                    ; movss         (%eax,%ebx,4),%xmm6
+  DB  15,20,198                           ; unpcklps      %xmm6,%xmm0
+  DB  102,15,20,197                       ; unpcklpd      %xmm5,%xmm0
+  DB  15,40,109,184                       ; movaps        -0x48(%ebp),%xmm5
+  DB  15,89,229                           ; mulps         %xmm5,%xmm4
+  DB  15,88,101,200                       ; addps         -0x38(%ebp),%xmm4
+  DB  15,89,205                           ; mulps         %xmm5,%xmm1
+  DB  15,88,77,216                        ; addps         -0x28(%ebp),%xmm1
+  DB  15,89,213                           ; mulps         %xmm5,%xmm2
+  DB  15,88,215                           ; addps         %xmm7,%xmm2
+  DB  15,89,221                           ; mulps         %xmm5,%xmm3
+  DB  15,88,216                           ; addps         %xmm0,%xmm3
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  141,65,8                            ; lea           0x8(%ecx),%eax
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,196                           ; movaps        %xmm4,%xmm0
+  DB  80                                  ; push          %eax
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,81,4                            ; call          *0x4(%ecx)
+  DB  131,196,76                          ; add           $0x4c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_gradient_sse2
+_sk_gradient_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,60                          ; sub           $0x3c,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,16                              ; mov           (%eax),%edx
+  DB  139,10                              ; mov           (%edx),%ecx
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  131,249,2                           ; cmp           $0x2,%ecx
+  DB  114,33                              ; jb            7369 <_sk_gradient_sse2+0x3a>
+  DB  139,114,36                          ; mov           0x24(%edx),%esi
+  DB  73                                  ; dec           %ecx
+  DB  131,198,4                           ; add           $0x4,%esi
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  243,15,16,22                        ; movss         (%esi),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  15,194,208,2                        ; cmpleps       %xmm0,%xmm2
+  DB  102,15,250,202                      ; psubd         %xmm2,%xmm1
+  DB  131,198,4                           ; add           $0x4,%esi
+  DB  73                                  ; dec           %ecx
+  DB  117,234                             ; jne           7353 <_sk_gradient_sse2+0x24>
+  DB  102,15,126,206                      ; movd          %xmm1,%esi
+  DB  102,15,112,209,229                  ; pshufd        $0xe5,%xmm1,%xmm2
+  DB  102,15,112,217,78                   ; pshufd        $0x4e,%xmm1,%xmm3
+  DB  102,15,126,223                      ; movd          %xmm3,%edi
+  DB  102,15,112,201,231                  ; pshufd        $0xe7,%xmm1,%xmm1
+  DB  102,15,126,203                      ; movd          %xmm1,%ebx
+  DB  139,66,4                            ; mov           0x4(%edx),%eax
+  DB  243,15,16,12,152                    ; movss         (%eax,%ebx,4),%xmm1
+  DB  243,15,16,28,184                    ; movss         (%eax,%edi,4),%xmm3
+  DB  243,15,16,36,176                    ; movss         (%eax,%esi,4),%xmm4
+  DB  102,15,126,209                      ; movd          %xmm2,%ecx
+  DB  243,15,16,20,136                    ; movss         (%eax,%ecx,4),%xmm2
+  DB  15,20,217                           ; unpcklps      %xmm1,%xmm3
+  DB  139,66,20                           ; mov           0x14(%edx),%eax
+  DB  243,15,16,12,152                    ; movss         (%eax,%ebx,4),%xmm1
+  DB  243,15,16,52,184                    ; movss         (%eax,%edi,4),%xmm6
+  DB  243,15,16,44,176                    ; movss         (%eax,%esi,4),%xmm5
+  DB  243,15,16,60,136                    ; movss         (%eax,%ecx,4),%xmm7
+  DB  15,20,226                           ; unpcklps      %xmm2,%xmm4
+  DB  102,15,20,227                       ; unpcklpd      %xmm3,%xmm4
+  DB  102,15,41,101,184                   ; movapd        %xmm4,-0x48(%ebp)
+  DB  15,20,241                           ; unpcklps      %xmm1,%xmm6
+  DB  15,20,239                           ; unpcklps      %xmm7,%xmm5
+  DB  139,66,8                            ; mov           0x8(%edx),%eax
+  DB  243,15,16,20,152                    ; movss         (%eax,%ebx,4),%xmm2
+  DB  243,15,16,28,184                    ; movss         (%eax,%edi,4),%xmm3
+  DB  243,15,16,12,176                    ; movss         (%eax,%esi,4),%xmm1
+  DB  243,15,16,60,136                    ; movss         (%eax,%ecx,4),%xmm7
+  DB  102,15,20,238                       ; unpcklpd      %xmm6,%xmm5
+  DB  102,15,41,109,200                   ; movapd        %xmm5,-0x38(%ebp)
+  DB  15,20,218                           ; unpcklps      %xmm2,%xmm3
+  DB  15,20,207                           ; unpcklps      %xmm7,%xmm1
+  DB  102,15,20,203                       ; unpcklpd      %xmm3,%xmm1
+  DB  139,66,24                           ; mov           0x18(%edx),%eax
+  DB  243,15,16,20,152                    ; movss         (%eax,%ebx,4),%xmm2
+  DB  243,15,16,28,184                    ; movss         (%eax,%edi,4),%xmm3
+  DB  243,15,16,36,176                    ; movss         (%eax,%esi,4),%xmm4
+  DB  243,15,16,60,136                    ; movss         (%eax,%ecx,4),%xmm7
+  DB  15,20,218                           ; unpcklps      %xmm2,%xmm3
+  DB  15,20,231                           ; unpcklps      %xmm7,%xmm4
+  DB  102,15,20,227                       ; unpcklpd      %xmm3,%xmm4
+  DB  102,15,41,101,216                   ; movapd        %xmm4,-0x28(%ebp)
+  DB  139,66,12                           ; mov           0xc(%edx),%eax
+  DB  243,15,16,20,152                    ; movss         (%eax,%ebx,4),%xmm2
+  DB  243,15,16,28,184                    ; movss         (%eax,%edi,4),%xmm3
+  DB  15,20,218                           ; unpcklps      %xmm2,%xmm3
+  DB  243,15,16,20,176                    ; movss         (%eax,%esi,4),%xmm2
+  DB  243,15,16,60,136                    ; movss         (%eax,%ecx,4),%xmm7
+  DB  15,20,215                           ; unpcklps      %xmm7,%xmm2
+  DB  102,15,20,211                       ; unpcklpd      %xmm3,%xmm2
+  DB  139,66,28                           ; mov           0x1c(%edx),%eax
+  DB  243,15,16,60,152                    ; movss         (%eax,%ebx,4),%xmm7
+  DB  243,15,16,28,184                    ; movss         (%eax,%edi,4),%xmm3
+  DB  15,20,223                           ; unpcklps      %xmm7,%xmm3
+  DB  243,15,16,60,176                    ; movss         (%eax,%esi,4),%xmm7
+  DB  243,15,16,44,136                    ; movss         (%eax,%ecx,4),%xmm5
+  DB  15,20,253                           ; unpcklps      %xmm5,%xmm7
+  DB  102,15,20,251                       ; unpcklpd      %xmm3,%xmm7
+  DB  139,66,16                           ; mov           0x10(%edx),%eax
+  DB  243,15,16,28,152                    ; movss         (%eax,%ebx,4),%xmm3
+  DB  243,15,16,44,184                    ; movss         (%eax,%edi,4),%xmm5
+  DB  15,20,235                           ; unpcklps      %xmm3,%xmm5
+  DB  243,15,16,28,176                    ; movss         (%eax,%esi,4),%xmm3
+  DB  243,15,16,52,136                    ; movss         (%eax,%ecx,4),%xmm6
+  DB  15,20,222                           ; unpcklps      %xmm6,%xmm3
+  DB  102,15,20,221                       ; unpcklpd      %xmm5,%xmm3
+  DB  139,66,32                           ; mov           0x20(%edx),%eax
+  DB  243,15,16,44,152                    ; movss         (%eax,%ebx,4),%xmm5
+  DB  243,15,16,52,184                    ; movss         (%eax,%edi,4),%xmm6
+  DB  15,20,245                           ; unpcklps      %xmm5,%xmm6
+  DB  243,15,16,44,176                    ; movss         (%eax,%esi,4),%xmm5
+  DB  243,15,16,36,136                    ; movss         (%eax,%ecx,4),%xmm4
+  DB  15,20,236                           ; unpcklps      %xmm4,%xmm5
+  DB  102,15,20,238                       ; unpcklpd      %xmm6,%xmm5
+  DB  15,40,101,184                       ; movaps        -0x48(%ebp),%xmm4
+  DB  15,89,224                           ; mulps         %xmm0,%xmm4
+  DB  15,88,101,200                       ; addps         -0x38(%ebp),%xmm4
+  DB  15,89,200                           ; mulps         %xmm0,%xmm1
+  DB  15,88,77,216                        ; addps         -0x28(%ebp),%xmm1
+  DB  15,89,208                           ; mulps         %xmm0,%xmm2
+  DB  15,88,215                           ; addps         %xmm7,%xmm2
+  DB  15,89,216                           ; mulps         %xmm0,%xmm3
+  DB  15,88,221                           ; addps         %xmm5,%xmm3
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  137,193                             ; mov           %eax,%ecx
+  DB  141,65,8                            ; lea           0x8(%ecx),%eax
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,196                           ; movaps        %xmm4,%xmm0
+  DB  80                                  ; push          %eax
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,81,4                            ; call          *0x4(%ecx)
+  DB  131,196,76                          ; add           $0x4c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_evenly_spaced_2_stop_gradient_sse2
+_sk_evenly_spaced_2_stop_gradient_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,224                           ; movaps        %xmm0,%xmm4
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  243,15,16,1                         ; movss         (%ecx),%xmm0
+  DB  243,15,16,73,4                      ; movss         0x4(%ecx),%xmm1
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  243,15,16,81,16                     ; movss         0x10(%ecx),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  15,88,194                           ; addps         %xmm2,%xmm0
+  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
+  DB  243,15,16,81,20                     ; movss         0x14(%ecx),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  15,88,202                           ; addps         %xmm2,%xmm1
+  DB  243,15,16,81,8                      ; movss         0x8(%ecx),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  243,15,16,89,24                     ; movss         0x18(%ecx),%xmm3
+  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
+  DB  15,89,212                           ; mulps         %xmm4,%xmm2
+  DB  15,88,211                           ; addps         %xmm3,%xmm2
+  DB  243,15,16,89,12                     ; movss         0xc(%ecx),%xmm3
+  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
+  DB  243,15,16,105,28                    ; movss         0x1c(%ecx),%xmm5
+  DB  15,198,237,0                        ; shufps        $0x0,%xmm5,%xmm5
+  DB  15,89,220                           ; mulps         %xmm4,%xmm3
+  DB  15,88,221                           ; addps         %xmm5,%xmm3
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_xy_to_unit_angle_sse2
+_sk_xy_to_unit_angle_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,24                          ; sub           $0x18,%esp
+  DB  15,41,93,232                        ; movaps        %xmm3,-0x18(%ebp)
+  DB  15,40,218                           ; movaps        %xmm2,%xmm3
+  DB  15,40,209                           ; movaps        %xmm1,%xmm2
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  232,0,0,0,0                         ; call          7571 <_sk_xy_to_unit_angle_sse2+0x18>
+  DB  88                                  ; pop           %eax
+  DB  15,87,237                           ; xorps         %xmm5,%xmm5
+  DB  15,92,233                           ; subps         %xmm1,%xmm5
+  DB  15,84,233                           ; andps         %xmm1,%xmm5
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,92,226                           ; subps         %xmm2,%xmm4
+  DB  15,84,226                           ; andps         %xmm2,%xmm4
+  DB  15,40,245                           ; movaps        %xmm5,%xmm6
+  DB  15,93,244                           ; minps         %xmm4,%xmm6
+  DB  15,40,253                           ; movaps        %xmm5,%xmm7
+  DB  15,95,252                           ; maxps         %xmm4,%xmm7
+  DB  15,94,247                           ; divps         %xmm7,%xmm6
+  DB  15,40,254                           ; movaps        %xmm6,%xmm7
+  DB  15,89,255                           ; mulps         %xmm7,%xmm7
+  DB  15,40,128,223,151,0,0               ; movaps        0x97df(%eax),%xmm0
+  DB  15,89,199                           ; mulps         %xmm7,%xmm0
+  DB  15,88,128,239,151,0,0               ; addps         0x97ef(%eax),%xmm0
+  DB  15,89,199                           ; mulps         %xmm7,%xmm0
+  DB  15,88,128,255,151,0,0               ; addps         0x97ff(%eax),%xmm0
+  DB  15,89,199                           ; mulps         %xmm7,%xmm0
+  DB  15,88,128,15,152,0,0                ; addps         0x980f(%eax),%xmm0
+  DB  15,89,198                           ; mulps         %xmm6,%xmm0
+  DB  15,194,236,1                        ; cmpltps       %xmm4,%xmm5
+  DB  15,40,176,31,152,0,0                ; movaps        0x981f(%eax),%xmm6
+  DB  15,92,240                           ; subps         %xmm0,%xmm6
+  DB  15,84,245                           ; andps         %xmm5,%xmm6
+  DB  15,85,232                           ; andnps        %xmm0,%xmm5
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,86,238                           ; orps          %xmm6,%xmm5
+  DB  15,194,204,1                        ; cmpltps       %xmm4,%xmm1
+  DB  15,40,128,239,145,0,0               ; movaps        0x91ef(%eax),%xmm0
+  DB  15,92,197                           ; subps         %xmm5,%xmm0
+  DB  15,84,193                           ; andps         %xmm1,%xmm0
+  DB  15,85,205                           ; andnps        %xmm5,%xmm1
+  DB  15,86,200                           ; orps          %xmm0,%xmm1
+  DB  15,40,194                           ; movaps        %xmm2,%xmm0
+  DB  15,194,196,1                        ; cmpltps       %xmm4,%xmm0
+  DB  15,40,168,255,145,0,0               ; movaps        0x91ff(%eax),%xmm5
+  DB  15,92,233                           ; subps         %xmm1,%xmm5
+  DB  15,84,232                           ; andps         %xmm0,%xmm5
+  DB  15,85,193                           ; andnps        %xmm1,%xmm0
+  DB  15,86,197                           ; orps          %xmm5,%xmm0
+  DB  15,194,224,7                        ; cmpordps      %xmm0,%xmm4
+  DB  15,84,224                           ; andps         %xmm0,%xmm4
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  141,72,4                            ; lea           0x4(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,196                           ; movaps        %xmm4,%xmm0
+  DB  15,40,202                           ; movaps        %xmm2,%xmm1
+  DB  15,40,211                           ; movaps        %xmm3,%xmm2
+  DB  15,40,93,232                        ; movaps        -0x18(%ebp),%xmm3
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,16                              ; call          *(%eax)
+  DB  131,196,40                          ; add           $0x28,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_xy_to_radius_sse2
+_sk_xy_to_radius_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  15,89,192                           ; mulps         %xmm0,%xmm0
+  DB  15,40,225                           ; movaps        %xmm1,%xmm4
+  DB  15,89,228                           ; mulps         %xmm4,%xmm4
+  DB  15,88,224                           ; addps         %xmm0,%xmm4
+  DB  15,81,196                           ; sqrtps        %xmm4,%xmm0
+  DB  141,72,4                            ; lea           0x4(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,16                              ; call          *(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_negate_x_sse2
+_sk_negate_x_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  232,0,0,0,0                         ; call          7668 <_sk_negate_x_sse2+0xb>
+  DB  88                                  ; pop           %eax
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  15,87,128,56,150,0,0                ; xorps         0x9638(%eax),%xmm0
+  DB  141,65,4                            ; lea           0x4(%ecx),%eax
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  80                                  ; push          %eax
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,17                              ; call          *(%ecx)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_xy_to_2pt_conical_strip_sse2
+_sk_xy_to_2pt_conical_strip_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  243,15,16,97,64                     ; movss         0x40(%ecx),%xmm4
+  DB  15,198,228,0                        ; shufps        $0x0,%xmm4,%xmm4
+  DB  15,40,233                           ; movaps        %xmm1,%xmm5
+  DB  15,89,237                           ; mulps         %xmm5,%xmm5
+  DB  15,92,229                           ; subps         %xmm5,%xmm4
+  DB  15,81,228                           ; sqrtps        %xmm4,%xmm4
+  DB  15,88,196                           ; addps         %xmm4,%xmm0
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_xy_to_2pt_conical_focal_on_circle_sse2
+_sk_xy_to_2pt_conical_focal_on_circle_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  15,40,225                           ; movaps        %xmm1,%xmm4
+  DB  15,89,228                           ; mulps         %xmm4,%xmm4
+  DB  15,94,224                           ; divps         %xmm0,%xmm4
+  DB  15,88,196                           ; addps         %xmm4,%xmm0
+  DB  141,72,4                            ; lea           0x4(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,16                              ; call          *(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_xy_to_2pt_conical_well_behaved_sse2
+_sk_xy_to_2pt_conical_well_behaved_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  243,15,16,97,64                     ; movss         0x40(%ecx),%xmm4
+  DB  15,198,228,0                        ; shufps        $0x0,%xmm4,%xmm4
+  DB  15,89,224                           ; mulps         %xmm0,%xmm4
+  DB  15,89,192                           ; mulps         %xmm0,%xmm0
+  DB  15,40,233                           ; movaps        %xmm1,%xmm5
+  DB  15,89,237                           ; mulps         %xmm5,%xmm5
+  DB  15,88,232                           ; addps         %xmm0,%xmm5
+  DB  15,81,197                           ; sqrtps        %xmm5,%xmm0
+  DB  15,92,196                           ; subps         %xmm4,%xmm0
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_xy_to_2pt_conical_greater_sse2
+_sk_xy_to_2pt_conical_greater_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  243,15,16,97,64                     ; movss         0x40(%ecx),%xmm4
+  DB  15,198,228,0                        ; shufps        $0x0,%xmm4,%xmm4
+  DB  15,89,224                           ; mulps         %xmm0,%xmm4
+  DB  15,89,192                           ; mulps         %xmm0,%xmm0
+  DB  15,40,233                           ; movaps        %xmm1,%xmm5
+  DB  15,89,237                           ; mulps         %xmm5,%xmm5
+  DB  15,92,197                           ; subps         %xmm5,%xmm0
+  DB  15,81,192                           ; sqrtps        %xmm0,%xmm0
+  DB  15,92,196                           ; subps         %xmm4,%xmm0
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_xy_to_2pt_conical_smaller_sse2
+_sk_xy_to_2pt_conical_smaller_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  232,0,0,0,0                         ; call          7760 <_sk_xy_to_2pt_conical_smaller_sse2+0xb>
+  DB  88                                  ; pop           %eax
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  139,17                              ; mov           (%ecx),%edx
+  DB  243,15,16,98,64                     ; movss         0x40(%edx),%xmm4
+  DB  15,198,228,0                        ; shufps        $0x0,%xmm4,%xmm4
+  DB  15,89,224                           ; mulps         %xmm0,%xmm4
+  DB  15,89,192                           ; mulps         %xmm0,%xmm0
+  DB  15,40,233                           ; movaps        %xmm1,%xmm5
+  DB  15,89,237                           ; mulps         %xmm5,%xmm5
+  DB  15,92,197                           ; subps         %xmm5,%xmm0
+  DB  15,81,192                           ; sqrtps        %xmm0,%xmm0
+  DB  15,87,128,64,149,0,0                ; xorps         0x9540(%eax),%xmm0
+  DB  15,92,196                           ; subps         %xmm4,%xmm0
+  DB  141,65,8                            ; lea           0x8(%ecx),%eax
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  80                                  ; push          %eax
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,81,4                            ; call          *0x4(%ecx)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_alter_2pt_conical_compensate_focal_sse2
+_sk_alter_2pt_conical_compensate_focal_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  243,15,16,97,68                     ; movss         0x44(%ecx),%xmm4
+  DB  15,198,228,0                        ; shufps        $0x0,%xmm4,%xmm4
+  DB  15,88,196                           ; addps         %xmm4,%xmm0
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_alter_2pt_conical_unswap_sse2
+_sk_alter_2pt_conical_unswap_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  232,0,0,0,0                         ; call          77d1 <_sk_alter_2pt_conical_unswap_sse2+0xb>
+  DB  88                                  ; pop           %eax
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  15,40,160,159,143,0,0               ; movaps        0x8f9f(%eax),%xmm4
+  DB  15,92,224                           ; subps         %xmm0,%xmm4
+  DB  141,65,4                            ; lea           0x4(%ecx),%eax
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,196                           ; movaps        %xmm4,%xmm0
+  DB  80                                  ; push          %eax
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,17                              ; call          *(%ecx)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_mask_2pt_conical_nan_sse2
+_sk_mask_2pt_conical_nan_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  139,17                              ; mov           (%ecx),%edx
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,194,224,7                        ; cmpordps      %xmm0,%xmm4
+  DB  15,17,34                            ; movups        %xmm4,(%edx)
+  DB  141,81,8                            ; lea           0x8(%ecx),%edx
+  DB  15,84,196                           ; andps         %xmm4,%xmm0
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  82                                  ; push          %edx
+  DB  80                                  ; push          %eax
+  DB  255,81,4                            ; call          *0x4(%ecx)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_mask_2pt_conical_degenerates_sse2
+_sk_mask_2pt_conical_degenerates_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  139,17                              ; mov           (%ecx),%edx
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,87,237                           ; xorps         %xmm5,%xmm5
+  DB  15,194,232,1                        ; cmpltps       %xmm0,%xmm5
+  DB  15,17,42                            ; movups        %xmm5,(%edx)
+  DB  141,81,8                            ; lea           0x8(%ecx),%edx
+  DB  15,95,196                           ; maxps         %xmm4,%xmm0
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  82                                  ; push          %edx
+  DB  80                                  ; push          %eax
+  DB  255,81,4                            ; call          *0x4(%ecx)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_apply_vector_mask_sse2
+_sk_apply_vector_mask_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  15,16,33                            ; movups        (%ecx),%xmm4
+  DB  15,84,196                           ; andps         %xmm4,%xmm0
+  DB  15,84,204                           ; andps         %xmm4,%xmm1
+  DB  15,84,212                           ; andps         %xmm4,%xmm2
+  DB  15,84,220                           ; andps         %xmm4,%xmm3
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_save_xy_sse2
+_sk_save_xy_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,24                          ; sub           $0x18,%esp
+  DB  15,41,93,232                        ; movaps        %xmm3,-0x18(%ebp)
+  DB  15,40,218                           ; movaps        %xmm2,%xmm3
+  DB  232,0,0,0,0                         ; call          788a <_sk_save_xy_sse2+0x12>
+  DB  88                                  ; pop           %eax
+  DB  15,40,160,214,142,0,0               ; movaps        0x8ed6(%eax),%xmm4
+  DB  15,40,232                           ; movaps        %xmm0,%xmm5
+  DB  15,88,236                           ; addps         %xmm4,%xmm5
+  DB  243,15,91,245                       ; cvttps2dq     %xmm5,%xmm6
+  DB  15,91,246                           ; cvtdq2ps      %xmm6,%xmm6
+  DB  15,40,253                           ; movaps        %xmm5,%xmm7
+  DB  15,194,254,1                        ; cmpltps       %xmm6,%xmm7
+  DB  15,40,144,230,142,0,0               ; movaps        0x8ee6(%eax),%xmm2
+  DB  15,84,250                           ; andps         %xmm2,%xmm7
+  DB  15,92,247                           ; subps         %xmm7,%xmm6
+  DB  15,92,238                           ; subps         %xmm6,%xmm5
+  DB  15,88,225                           ; addps         %xmm1,%xmm4
+  DB  243,15,91,244                       ; cvttps2dq     %xmm4,%xmm6
+  DB  15,91,246                           ; cvtdq2ps      %xmm6,%xmm6
+  DB  15,40,252                           ; movaps        %xmm4,%xmm7
+  DB  15,194,254,1                        ; cmpltps       %xmm6,%xmm7
+  DB  15,84,250                           ; andps         %xmm2,%xmm7
+  DB  15,92,247                           ; subps         %xmm7,%xmm6
+  DB  15,92,230                           ; subps         %xmm6,%xmm4
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  15,17,1                             ; movups        %xmm0,(%ecx)
+  DB  15,17,73,64                         ; movups        %xmm1,0x40(%ecx)
+  DB  15,17,169,128,0,0,0                 ; movups        %xmm5,0x80(%ecx)
+  DB  15,17,161,192,0,0,0                 ; movups        %xmm4,0xc0(%ecx)
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  141,80,8                            ; lea           0x8(%eax),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,211                           ; movaps        %xmm3,%xmm2
+  DB  15,40,93,232                        ; movaps        -0x18(%ebp),%xmm3
+  DB  82                                  ; push          %edx
+  DB  81                                  ; push          %ecx
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,40                          ; add           $0x28,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_accumulate_sse2
+_sk_accumulate_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  139,17                              ; mov           (%ecx),%edx
+  DB  15,16,162,0,1,0,0                   ; movups        0x100(%edx),%xmm4
+  DB  15,16,170,64,1,0,0                  ; movups        0x140(%edx),%xmm5
+  DB  15,89,236                           ; mulps         %xmm4,%xmm5
+  DB  15,40,229                           ; movaps        %xmm5,%xmm4
+  DB  15,89,224                           ; mulps         %xmm0,%xmm4
+  DB  15,88,96,16                         ; addps         0x10(%eax),%xmm4
+  DB  15,41,96,16                         ; movaps        %xmm4,0x10(%eax)
+  DB  15,40,229                           ; movaps        %xmm5,%xmm4
+  DB  15,89,225                           ; mulps         %xmm1,%xmm4
+  DB  15,88,96,32                         ; addps         0x20(%eax),%xmm4
+  DB  15,41,96,32                         ; movaps        %xmm4,0x20(%eax)
+  DB  15,40,229                           ; movaps        %xmm5,%xmm4
+  DB  15,89,226                           ; mulps         %xmm2,%xmm4
+  DB  15,88,96,48                         ; addps         0x30(%eax),%xmm4
+  DB  15,41,96,48                         ; movaps        %xmm4,0x30(%eax)
+  DB  15,89,235                           ; mulps         %xmm3,%xmm5
+  DB  15,88,104,64                        ; addps         0x40(%eax),%xmm5
+  DB  15,41,104,64                        ; movaps        %xmm5,0x40(%eax)
+  DB  141,81,8                            ; lea           0x8(%ecx),%edx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  82                                  ; push          %edx
+  DB  80                                  ; push          %eax
+  DB  255,81,4                            ; call          *0x4(%ecx)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_bilinear_nx_sse2
+_sk_bilinear_nx_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  86                                  ; push          %esi
+  DB  80                                  ; push          %eax
+  DB  232,0,0,0,0                         ; call          7972 <_sk_bilinear_nx_sse2+0xa>
+  DB  88                                  ; pop           %eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,85,12                           ; mov           0xc(%ebp),%edx
+  DB  139,50                              ; mov           (%edx),%esi
+  DB  15,16,6                             ; movups        (%esi),%xmm0
+  DB  15,16,166,128,0,0,0                 ; movups        0x80(%esi),%xmm4
+  DB  15,88,128,46,148,0,0                ; addps         0x942e(%eax),%xmm0
+  DB  15,40,168,254,141,0,0               ; movaps        0x8dfe(%eax),%xmm5
+  DB  15,92,236                           ; subps         %xmm4,%xmm5
+  DB  15,17,174,0,1,0,0                   ; movups        %xmm5,0x100(%esi)
+  DB  141,66,8                            ; lea           0x8(%edx),%eax
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  80                                  ; push          %eax
+  DB  81                                  ; push          %ecx
+  DB  255,82,4                            ; call          *0x4(%edx)
+  DB  131,196,20                          ; add           $0x14,%esp
+  DB  94                                  ; pop           %esi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_bilinear_px_sse2
+_sk_bilinear_px_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  86                                  ; push          %esi
+  DB  80                                  ; push          %eax
+  DB  232,0,0,0,0                         ; call          79b8 <_sk_bilinear_px_sse2+0xa>
+  DB  88                                  ; pop           %eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,85,12                           ; mov           0xc(%ebp),%edx
+  DB  139,50                              ; mov           (%edx),%esi
+  DB  15,16,6                             ; movups        (%esi),%xmm0
+  DB  15,16,166,128,0,0,0                 ; movups        0x80(%esi),%xmm4
+  DB  15,88,128,168,141,0,0               ; addps         0x8da8(%eax),%xmm0
+  DB  15,17,166,0,1,0,0                   ; movups        %xmm4,0x100(%esi)
+  DB  141,66,8                            ; lea           0x8(%edx),%eax
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  80                                  ; push          %eax
+  DB  81                                  ; push          %ecx
+  DB  255,82,4                            ; call          *0x4(%edx)
+  DB  131,196,20                          ; add           $0x14,%esp
+  DB  94                                  ; pop           %esi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_bilinear_ny_sse2
+_sk_bilinear_ny_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  86                                  ; push          %esi
+  DB  80                                  ; push          %eax
+  DB  232,0,0,0,0                         ; call          79f4 <_sk_bilinear_ny_sse2+0xa>
+  DB  88                                  ; pop           %eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,85,12                           ; mov           0xc(%ebp),%edx
+  DB  139,50                              ; mov           (%edx),%esi
+  DB  15,16,78,64                         ; movups        0x40(%esi),%xmm1
+  DB  15,16,166,192,0,0,0                 ; movups        0xc0(%esi),%xmm4
+  DB  15,88,136,172,147,0,0               ; addps         0x93ac(%eax),%xmm1
+  DB  15,40,168,124,141,0,0               ; movaps        0x8d7c(%eax),%xmm5
+  DB  15,92,236                           ; subps         %xmm4,%xmm5
+  DB  15,17,174,64,1,0,0                  ; movups        %xmm5,0x140(%esi)
+  DB  141,66,8                            ; lea           0x8(%edx),%eax
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  80                                  ; push          %eax
+  DB  81                                  ; push          %ecx
+  DB  255,82,4                            ; call          *0x4(%edx)
+  DB  131,196,20                          ; add           $0x14,%esp
+  DB  94                                  ; pop           %esi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_bilinear_py_sse2
+_sk_bilinear_py_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  86                                  ; push          %esi
+  DB  80                                  ; push          %eax
+  DB  232,0,0,0,0                         ; call          7a3b <_sk_bilinear_py_sse2+0xa>
+  DB  88                                  ; pop           %eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,85,12                           ; mov           0xc(%ebp),%edx
+  DB  139,50                              ; mov           (%edx),%esi
+  DB  15,16,78,64                         ; movups        0x40(%esi),%xmm1
+  DB  15,16,166,192,0,0,0                 ; movups        0xc0(%esi),%xmm4
+  DB  15,88,136,37,141,0,0                ; addps         0x8d25(%eax),%xmm1
+  DB  15,17,166,64,1,0,0                  ; movups        %xmm4,0x140(%esi)
+  DB  141,66,8                            ; lea           0x8(%edx),%eax
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  80                                  ; push          %eax
+  DB  81                                  ; push          %ecx
+  DB  255,82,4                            ; call          *0x4(%edx)
+  DB  131,196,20                          ; add           $0x14,%esp
+  DB  94                                  ; pop           %esi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_bicubic_n3x_sse2
+_sk_bicubic_n3x_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  86                                  ; push          %esi
+  DB  80                                  ; push          %eax
+  DB  232,0,0,0,0                         ; call          7a78 <_sk_bicubic_n3x_sse2+0xa>
+  DB  88                                  ; pop           %eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,85,12                           ; mov           0xc(%ebp),%edx
+  DB  139,50                              ; mov           (%edx),%esi
+  DB  15,16,6                             ; movups        (%esi),%xmm0
+  DB  15,16,166,128,0,0,0                 ; movups        0x80(%esi),%xmm4
+  DB  15,88,128,56,147,0,0                ; addps         0x9338(%eax),%xmm0
+  DB  15,40,168,248,140,0,0               ; movaps        0x8cf8(%eax),%xmm5
+  DB  15,92,236                           ; subps         %xmm4,%xmm5
+  DB  15,40,229                           ; movaps        %xmm5,%xmm4
+  DB  15,89,228                           ; mulps         %xmm4,%xmm4
+  DB  15,89,168,72,147,0,0                ; mulps         0x9348(%eax),%xmm5
+  DB  15,88,168,232,142,0,0               ; addps         0x8ee8(%eax),%xmm5
+  DB  15,89,236                           ; mulps         %xmm4,%xmm5
+  DB  15,17,174,0,1,0,0                   ; movups        %xmm5,0x100(%esi)
+  DB  141,66,8                            ; lea           0x8(%edx),%eax
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  80                                  ; push          %eax
+  DB  81                                  ; push          %ecx
+  DB  255,82,4                            ; call          *0x4(%edx)
+  DB  131,196,20                          ; add           $0x14,%esp
+  DB  94                                  ; pop           %esi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_bicubic_n1x_sse2
+_sk_bicubic_n1x_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  86                                  ; push          %esi
+  DB  80                                  ; push          %eax
+  DB  232,0,0,0,0                         ; call          7ad5 <_sk_bicubic_n1x_sse2+0xa>
+  DB  88                                  ; pop           %eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,85,12                           ; mov           0xc(%ebp),%edx
+  DB  139,50                              ; mov           (%edx),%esi
+  DB  15,16,6                             ; movups        (%esi),%xmm0
+  DB  15,16,166,128,0,0,0                 ; movups        0x80(%esi),%xmm4
+  DB  15,88,128,203,146,0,0               ; addps         0x92cb(%eax),%xmm0
+  DB  15,40,168,155,140,0,0               ; movaps        0x8c9b(%eax),%xmm5
+  DB  15,92,236                           ; subps         %xmm4,%xmm5
+  DB  15,40,160,251,146,0,0               ; movaps        0x92fb(%eax),%xmm4
+  DB  15,89,229                           ; mulps         %xmm5,%xmm4
+  DB  15,88,160,11,147,0,0                ; addps         0x930b(%eax),%xmm4
+  DB  15,89,229                           ; mulps         %xmm5,%xmm4
+  DB  15,88,160,139,140,0,0               ; addps         0x8c8b(%eax),%xmm4
+  DB  15,89,229                           ; mulps         %xmm5,%xmm4
+  DB  15,88,160,27,147,0,0                ; addps         0x931b(%eax),%xmm4
+  DB  15,17,166,0,1,0,0                   ; movups        %xmm4,0x100(%esi)
+  DB  141,66,8                            ; lea           0x8(%edx),%eax
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  80                                  ; push          %eax
+  DB  81                                  ; push          %ecx
+  DB  255,82,4                            ; call          *0x4(%edx)
+  DB  131,196,20                          ; add           $0x14,%esp
+  DB  94                                  ; pop           %esi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_bicubic_p1x_sse2
+_sk_bicubic_p1x_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  86                                  ; push          %esi
+  DB  80                                  ; push          %eax
+  DB  232,0,0,0,0                         ; call          7b40 <_sk_bicubic_p1x_sse2+0xa>
+  DB  88                                  ; pop           %eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,85,12                           ; mov           0xc(%ebp),%edx
+  DB  139,50                              ; mov           (%edx),%esi
+  DB  15,40,160,32,140,0,0                ; movaps        0x8c20(%eax),%xmm4
+  DB  15,16,6                             ; movups        (%esi),%xmm0
+  DB  15,16,174,128,0,0,0                 ; movups        0x80(%esi),%xmm5
+  DB  15,88,196                           ; addps         %xmm4,%xmm0
+  DB  15,40,176,144,146,0,0               ; movaps        0x9290(%eax),%xmm6
+  DB  15,89,245                           ; mulps         %xmm5,%xmm6
+  DB  15,88,176,160,146,0,0               ; addps         0x92a0(%eax),%xmm6
+  DB  15,89,245                           ; mulps         %xmm5,%xmm6
+  DB  15,88,244                           ; addps         %xmm4,%xmm6
+  DB  15,89,245                           ; mulps         %xmm5,%xmm6
+  DB  15,88,176,176,146,0,0               ; addps         0x92b0(%eax),%xmm6
+  DB  15,17,182,0,1,0,0                   ; movups        %xmm6,0x100(%esi)
+  DB  141,66,8                            ; lea           0x8(%edx),%eax
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  80                                  ; push          %eax
+  DB  81                                  ; push          %ecx
+  DB  255,82,4                            ; call          *0x4(%edx)
+  DB  131,196,20                          ; add           $0x14,%esp
+  DB  94                                  ; pop           %esi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_bicubic_p3x_sse2
+_sk_bicubic_p3x_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  86                                  ; push          %esi
+  DB  80                                  ; push          %eax
+  DB  232,0,0,0,0                         ; call          7ba0 <_sk_bicubic_p3x_sse2+0xa>
+  DB  88                                  ; pop           %eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,85,12                           ; mov           0xc(%ebp),%edx
+  DB  139,50                              ; mov           (%edx),%esi
+  DB  15,16,6                             ; movups        (%esi),%xmm0
+  DB  15,16,166,128,0,0,0                 ; movups        0x80(%esi),%xmm4
+  DB  15,88,128,64,146,0,0                ; addps         0x9240(%eax),%xmm0
+  DB  15,40,236                           ; movaps        %xmm4,%xmm5
+  DB  15,89,237                           ; mulps         %xmm5,%xmm5
+  DB  15,89,160,32,146,0,0                ; mulps         0x9220(%eax),%xmm4
+  DB  15,88,160,192,141,0,0               ; addps         0x8dc0(%eax),%xmm4
+  DB  15,89,229                           ; mulps         %xmm5,%xmm4
+  DB  15,17,166,0,1,0,0                   ; movups        %xmm4,0x100(%esi)
+  DB  141,66,8                            ; lea           0x8(%edx),%eax
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  80                                  ; push          %eax
+  DB  81                                  ; push          %ecx
+  DB  255,82,4                            ; call          *0x4(%edx)
+  DB  131,196,20                          ; add           $0x14,%esp
+  DB  94                                  ; pop           %esi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_bicubic_n3y_sse2
+_sk_bicubic_n3y_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  86                                  ; push          %esi
+  DB  80                                  ; push          %eax
+  DB  232,0,0,0,0                         ; call          7bf3 <_sk_bicubic_n3y_sse2+0xa>
+  DB  88                                  ; pop           %eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,85,12                           ; mov           0xc(%ebp),%edx
+  DB  139,50                              ; mov           (%edx),%esi
+  DB  15,16,78,64                         ; movups        0x40(%esi),%xmm1
+  DB  15,16,166,192,0,0,0                 ; movups        0xc0(%esi),%xmm4
+  DB  15,88,136,189,145,0,0               ; addps         0x91bd(%eax),%xmm1
+  DB  15,40,168,125,139,0,0               ; movaps        0x8b7d(%eax),%xmm5
+  DB  15,92,236                           ; subps         %xmm4,%xmm5
+  DB  15,40,229                           ; movaps        %xmm5,%xmm4
+  DB  15,89,228                           ; mulps         %xmm4,%xmm4
+  DB  15,89,168,205,145,0,0               ; mulps         0x91cd(%eax),%xmm5
+  DB  15,88,168,109,141,0,0               ; addps         0x8d6d(%eax),%xmm5
+  DB  15,89,236                           ; mulps         %xmm4,%xmm5
+  DB  15,17,174,64,1,0,0                  ; movups        %xmm5,0x140(%esi)
+  DB  141,66,8                            ; lea           0x8(%edx),%eax
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  80                                  ; push          %eax
+  DB  81                                  ; push          %ecx
+  DB  255,82,4                            ; call          *0x4(%edx)
+  DB  131,196,20                          ; add           $0x14,%esp
+  DB  94                                  ; pop           %esi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_bicubic_n1y_sse2
+_sk_bicubic_n1y_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  86                                  ; push          %esi
+  DB  80                                  ; push          %eax
+  DB  232,0,0,0,0                         ; call          7c51 <_sk_bicubic_n1y_sse2+0xa>
+  DB  88                                  ; pop           %eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,85,12                           ; mov           0xc(%ebp),%edx
+  DB  139,50                              ; mov           (%edx),%esi
+  DB  15,16,78,64                         ; movups        0x40(%esi),%xmm1
+  DB  15,16,166,192,0,0,0                 ; movups        0xc0(%esi),%xmm4
+  DB  15,88,136,79,145,0,0                ; addps         0x914f(%eax),%xmm1
+  DB  15,40,168,31,139,0,0                ; movaps        0x8b1f(%eax),%xmm5
+  DB  15,92,236                           ; subps         %xmm4,%xmm5
+  DB  15,40,160,127,145,0,0               ; movaps        0x917f(%eax),%xmm4
+  DB  15,89,229                           ; mulps         %xmm5,%xmm4
+  DB  15,88,160,143,145,0,0               ; addps         0x918f(%eax),%xmm4
+  DB  15,89,229                           ; mulps         %xmm5,%xmm4
+  DB  15,88,160,15,139,0,0                ; addps         0x8b0f(%eax),%xmm4
+  DB  15,89,229                           ; mulps         %xmm5,%xmm4
+  DB  15,88,160,159,145,0,0               ; addps         0x919f(%eax),%xmm4
+  DB  15,17,166,64,1,0,0                  ; movups        %xmm4,0x140(%esi)
+  DB  141,66,8                            ; lea           0x8(%edx),%eax
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  80                                  ; push          %eax
+  DB  81                                  ; push          %ecx
+  DB  255,82,4                            ; call          *0x4(%edx)
+  DB  131,196,20                          ; add           $0x14,%esp
+  DB  94                                  ; pop           %esi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_bicubic_p1y_sse2
+_sk_bicubic_p1y_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  86                                  ; push          %esi
+  DB  80                                  ; push          %eax
+  DB  232,0,0,0,0                         ; call          7cbd <_sk_bicubic_p1y_sse2+0xa>
+  DB  88                                  ; pop           %eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,85,12                           ; mov           0xc(%ebp),%edx
+  DB  139,50                              ; mov           (%edx),%esi
+  DB  15,40,160,163,138,0,0               ; movaps        0x8aa3(%eax),%xmm4
+  DB  15,16,78,64                         ; movups        0x40(%esi),%xmm1
+  DB  15,16,174,192,0,0,0                 ; movups        0xc0(%esi),%xmm5
+  DB  15,88,204                           ; addps         %xmm4,%xmm1
+  DB  15,40,176,19,145,0,0                ; movaps        0x9113(%eax),%xmm6
+  DB  15,89,245                           ; mulps         %xmm5,%xmm6
+  DB  15,88,176,35,145,0,0                ; addps         0x9123(%eax),%xmm6
+  DB  15,89,245                           ; mulps         %xmm5,%xmm6
+  DB  15,88,244                           ; addps         %xmm4,%xmm6
+  DB  15,89,245                           ; mulps         %xmm5,%xmm6
+  DB  15,88,176,51,145,0,0                ; addps         0x9133(%eax),%xmm6
+  DB  15,17,182,64,1,0,0                  ; movups        %xmm6,0x140(%esi)
+  DB  141,66,8                            ; lea           0x8(%edx),%eax
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  80                                  ; push          %eax
+  DB  81                                  ; push          %ecx
+  DB  255,82,4                            ; call          *0x4(%edx)
+  DB  131,196,20                          ; add           $0x14,%esp
+  DB  94                                  ; pop           %esi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_bicubic_p3y_sse2
+_sk_bicubic_p3y_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  86                                  ; push          %esi
+  DB  80                                  ; push          %eax
+  DB  232,0,0,0,0                         ; call          7d1e <_sk_bicubic_p3y_sse2+0xa>
+  DB  88                                  ; pop           %eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,85,12                           ; mov           0xc(%ebp),%edx
+  DB  139,50                              ; mov           (%edx),%esi
+  DB  15,16,78,64                         ; movups        0x40(%esi),%xmm1
+  DB  15,16,166,192,0,0,0                 ; movups        0xc0(%esi),%xmm4
+  DB  15,88,136,194,144,0,0               ; addps         0x90c2(%eax),%xmm1
+  DB  15,40,236                           ; movaps        %xmm4,%xmm5
+  DB  15,89,237                           ; mulps         %xmm5,%xmm5
+  DB  15,89,160,162,144,0,0               ; mulps         0x90a2(%eax),%xmm4
+  DB  15,88,160,66,140,0,0                ; addps         0x8c42(%eax),%xmm4
+  DB  15,89,229                           ; mulps         %xmm5,%xmm4
+  DB  15,17,166,64,1,0,0                  ; movups        %xmm4,0x140(%esi)
+  DB  141,66,8                            ; lea           0x8(%edx),%eax
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  80                                  ; push          %eax
+  DB  81                                  ; push          %ecx
+  DB  255,82,4                            ; call          *0x4(%edx)
+  DB  131,196,20                          ; add           $0x14,%esp
+  DB  94                                  ; pop           %esi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_callback_sse2
+_sk_callback_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,12                          ; sub           $0xc,%esp
+  DB  139,117,8                           ; mov           0x8(%ebp),%esi
+  DB  139,125,12                          ; mov           0xc(%ebp),%edi
+  DB  139,31                              ; mov           (%edi),%ebx
+  DB  139,70,8                            ; mov           0x8(%esi),%eax
+  DB  15,40,224                           ; movaps        %xmm0,%xmm4
+  DB  15,20,225                           ; unpcklps      %xmm1,%xmm4
+  DB  15,40,234                           ; movaps        %xmm2,%xmm5
+  DB  15,20,235                           ; unpcklps      %xmm3,%xmm5
+  DB  15,21,193                           ; unpckhps      %xmm1,%xmm0
+  DB  15,21,211                           ; unpckhps      %xmm3,%xmm2
+  DB  15,40,204                           ; movaps        %xmm4,%xmm1
+  DB  102,15,20,205                       ; unpcklpd      %xmm5,%xmm1
+  DB  15,18,236                           ; movhlps       %xmm4,%xmm5
+  DB  15,40,216                           ; movaps        %xmm0,%xmm3
+  DB  102,15,20,218                       ; unpcklpd      %xmm2,%xmm3
+  DB  102,15,17,75,4                      ; movupd        %xmm1,0x4(%ebx)
+  DB  15,18,208                           ; movhlps       %xmm0,%xmm2
+  DB  15,17,107,20                        ; movups        %xmm5,0x14(%ebx)
+  DB  102,15,17,91,36                     ; movupd        %xmm3,0x24(%ebx)
+  DB  15,17,83,52                         ; movups        %xmm2,0x34(%ebx)
+  DB  133,192                             ; test          %eax,%eax
+  DB  185,4,0,0,0                         ; mov           $0x4,%ecx
+  DB  15,69,200                           ; cmovne        %eax,%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  81                                  ; push          %ecx
+  DB  83                                  ; push          %ebx
+  DB  255,19                              ; call          *(%ebx)
+  DB  131,196,16                          ; add           $0x10,%esp
+  DB  139,131,4,1,0,0                     ; mov           0x104(%ebx),%eax
+  DB  15,16,32                            ; movups        (%eax),%xmm4
+  DB  15,16,64,16                         ; movups        0x10(%eax),%xmm0
+  DB  15,16,88,32                         ; movups        0x20(%eax),%xmm3
+  DB  15,16,80,48                         ; movups        0x30(%eax),%xmm2
+  DB  15,40,236                           ; movaps        %xmm4,%xmm5
+  DB  15,20,232                           ; unpcklps      %xmm0,%xmm5
+  DB  15,40,203                           ; movaps        %xmm3,%xmm1
+  DB  15,20,202                           ; unpcklps      %xmm2,%xmm1
+  DB  15,21,224                           ; unpckhps      %xmm0,%xmm4
+  DB  15,21,218                           ; unpckhps      %xmm2,%xmm3
+  DB  15,40,197                           ; movaps        %xmm5,%xmm0
+  DB  102,15,20,193                       ; unpcklpd      %xmm1,%xmm0
+  DB  15,18,205                           ; movhlps       %xmm5,%xmm1
+  DB  15,40,212                           ; movaps        %xmm4,%xmm2
+  DB  102,15,20,211                       ; unpcklpd      %xmm3,%xmm2
+  DB  15,18,220                           ; movhlps       %xmm4,%xmm3
+  DB  141,71,8                            ; lea           0x8(%edi),%eax
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  80                                  ; push          %eax
+  DB  86                                  ; push          %esi
+  DB  255,87,4                            ; call          *0x4(%edi)
+  DB  131,196,28                          ; add           $0x1c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_clut_3D_sse2
+_sk_clut_3D_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  129,236,28,1,0,0                    ; sub           $0x11c,%esp
+  DB  15,41,157,216,254,255,255           ; movaps        %xmm3,-0x128(%ebp)
+  DB  15,40,216                           ; movaps        %xmm0,%xmm3
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  139,81,12                           ; mov           0xc(%ecx),%edx
+  DB  141,114,255                         ; lea           -0x1(%edx),%esi
+  DB  102,15,110,198                      ; movd          %esi,%xmm0
+  DB  102,15,112,192,0                    ; pshufd        $0x0,%xmm0,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  15,89,194                           ; mulps         %xmm2,%xmm0
+  DB  15,40,224                           ; movaps        %xmm0,%xmm4
+  DB  15,41,165,248,254,255,255           ; movaps        %xmm4,-0x108(%ebp)
+  DB  102,15,110,194                      ; movd          %edx,%xmm0
+  DB  102,15,112,240,0                    ; pshufd        $0x0,%xmm0,%xmm6
+  DB  102,15,127,117,152                  ; movdqa        %xmm6,-0x68(%ebp)
+  DB  139,81,8                            ; mov           0x8(%ecx),%edx
+  DB  141,114,255                         ; lea           -0x1(%edx),%esi
+  DB  102,15,110,214                      ; movd          %esi,%xmm2
+  DB  102,15,112,210,0                    ; pshufd        $0x0,%xmm2,%xmm2
+  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
+  DB  15,89,209                           ; mulps         %xmm1,%xmm2
+  DB  15,41,149,88,255,255,255            ; movaps        %xmm2,-0xa8(%ebp)
+  DB  243,15,91,234                       ; cvttps2dq     %xmm2,%xmm5
+  DB  102,15,127,173,40,255,255,255       ; movdqa        %xmm5,-0xd8(%ebp)
+  DB  102,15,112,205,245                  ; pshufd        $0xf5,%xmm5,%xmm1
+  DB  102,15,244,206                      ; pmuludq       %xmm6,%xmm1
+  DB  102,15,111,214                      ; movdqa        %xmm6,%xmm2
+  DB  102,15,244,213                      ; pmuludq       %xmm5,%xmm2
+  DB  102,15,112,210,232                  ; pshufd        $0xe8,%xmm2,%xmm2
+  DB  102,15,112,201,232                  ; pshufd        $0xe8,%xmm1,%xmm1
+  DB  102,15,98,209                       ; punpckldq     %xmm1,%xmm2
+  DB  102,15,111,234                      ; movdqa        %xmm2,%xmm5
+  DB  102,15,127,109,168                  ; movdqa        %xmm5,-0x58(%ebp)
+  DB  102,15,110,202                      ; movd          %edx,%xmm1
+  DB  102,15,244,200                      ; pmuludq       %xmm0,%xmm1
+  DB  139,81,4                            ; mov           0x4(%ecx),%edx
+  DB  74                                  ; dec           %edx
+  DB  102,15,110,194                      ; movd          %edx,%xmm0
+  DB  102,15,112,192,0                    ; pshufd        $0x0,%xmm0,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  15,41,69,216                        ; movaps        %xmm0,-0x28(%ebp)
+  DB  102,15,112,209,0                    ; pshufd        $0x0,%xmm1,%xmm2
+  DB  243,15,91,216                       ; cvttps2dq     %xmm0,%xmm3
+  DB  102,15,127,93,184                   ; movdqa        %xmm3,-0x48(%ebp)
+  DB  102,15,112,195,245                  ; pshufd        $0xf5,%xmm3,%xmm0
+  DB  102,15,244,194                      ; pmuludq       %xmm2,%xmm0
+  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
+  DB  102,15,244,203                      ; pmuludq       %xmm3,%xmm1
+  DB  102,15,112,201,232                  ; pshufd        $0xe8,%xmm1,%xmm1
+  DB  102,15,112,192,232                  ; pshufd        $0xe8,%xmm0,%xmm0
+  DB  102,15,98,200                       ; punpckldq     %xmm0,%xmm1
+  DB  102,15,127,77,136                   ; movdqa        %xmm1,-0x78(%ebp)
+  DB  232,0,0,0,0                         ; call          7f04 <_sk_clut_3D_sse2+0xee>
+  DB  90                                  ; pop           %edx
+  DB  243,15,91,196                       ; cvttps2dq     %xmm4,%xmm0
+  DB  102,15,127,133,8,255,255,255        ; movdqa        %xmm0,-0xf8(%ebp)
+  DB  102,15,111,221                      ; movdqa        %xmm5,%xmm3
+  DB  102,15,254,216                      ; paddd         %xmm0,%xmm3
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,15,254,195                      ; paddd         %xmm3,%xmm0
+  DB  102,15,111,162,12,143,0,0           ; movdqa        0x8f0c(%edx),%xmm4
+  DB  102,15,127,165,120,255,255,255      ; movdqa        %xmm4,-0x88(%ebp)
+  DB  102,15,112,200,245                  ; pshufd        $0xf5,%xmm0,%xmm1
+  DB  102,15,244,196                      ; pmuludq       %xmm4,%xmm0
+  DB  102,15,244,204                      ; pmuludq       %xmm4,%xmm1
+  DB  102,15,112,225,232                  ; pshufd        $0xe8,%xmm1,%xmm4
+  DB  102,15,112,200,232                  ; pshufd        $0xe8,%xmm0,%xmm1
+  DB  102,15,98,204                       ; punpckldq     %xmm4,%xmm1
+  DB  102,15,126,198                      ; movd          %xmm0,%esi
+  DB  102,15,112,193,229                  ; pshufd        $0xe5,%xmm1,%xmm0
+  DB  102,15,126,199                      ; movd          %xmm0,%edi
+  DB  102,15,112,193,78                   ; pshufd        $0x4e,%xmm1,%xmm0
+  DB  102,15,126,195                      ; movd          %xmm0,%ebx
+  DB  102,15,112,193,231                  ; pshufd        $0xe7,%xmm1,%xmm0
+  DB  102,15,126,192                      ; movd          %xmm0,%eax
+  DB  139,9                               ; mov           (%ecx),%ecx
+  DB  243,15,16,4,129                     ; movss         (%ecx,%eax,4),%xmm0
+  DB  243,15,16,36,153                    ; movss         (%ecx,%ebx,4),%xmm4
+  DB  15,20,224                           ; unpcklps      %xmm0,%xmm4
+  DB  243,15,16,4,185                     ; movss         (%ecx,%edi,4),%xmm0
+  DB  243,15,16,44,177                    ; movss         (%ecx,%esi,4),%xmm5
+  DB  15,20,232                           ; unpcklps      %xmm0,%xmm5
+  DB  102,15,20,236                       ; unpcklpd      %xmm4,%xmm5
+  DB  102,15,118,228                      ; pcmpeqd       %xmm4,%xmm4
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,15,250,196                      ; psubd         %xmm4,%xmm0
+  DB  102,15,112,224,229                  ; pshufd        $0xe5,%xmm0,%xmm4
+  DB  102,15,126,224                      ; movd          %xmm4,%eax
+  DB  102,15,112,224,78                   ; pshufd        $0x4e,%xmm0,%xmm4
+  DB  102,15,126,230                      ; movd          %xmm4,%esi
+  DB  102,15,126,199                      ; movd          %xmm0,%edi
+  DB  102,15,112,192,231                  ; pshufd        $0xe7,%xmm0,%xmm0
+  DB  102,15,126,195                      ; movd          %xmm0,%ebx
+  DB  243,15,16,4,153                     ; movss         (%ecx,%ebx,4),%xmm0
+  DB  243,15,16,36,177                    ; movss         (%ecx,%esi,4),%xmm4
+  DB  15,20,224                           ; unpcklps      %xmm0,%xmm4
+  DB  243,15,16,60,185                    ; movss         (%ecx,%edi,4),%xmm7
+  DB  243,15,16,4,129                     ; movss         (%ecx,%eax,4),%xmm0
+  DB  15,20,248                           ; unpcklps      %xmm0,%xmm7
+  DB  102,15,20,252                       ; unpcklpd      %xmm4,%xmm7
+  DB  102,15,111,130,172,136,0,0          ; movdqa        0x88ac(%edx),%xmm0
+  DB  102,15,127,133,104,255,255,255      ; movdqa        %xmm0,-0x98(%ebp)
+  DB  102,15,254,200                      ; paddd         %xmm0,%xmm1
+  DB  102,15,112,193,229                  ; pshufd        $0xe5,%xmm1,%xmm0
+  DB  102,15,126,192                      ; movd          %xmm0,%eax
+  DB  102,15,112,193,78                   ; pshufd        $0x4e,%xmm1,%xmm0
+  DB  102,15,126,198                      ; movd          %xmm0,%esi
+  DB  102,15,126,207                      ; movd          %xmm1,%edi
+  DB  102,15,112,193,231                  ; pshufd        $0xe7,%xmm1,%xmm0
+  DB  102,15,126,195                      ; movd          %xmm0,%ebx
+  DB  243,15,16,4,153                     ; movss         (%ecx,%ebx,4),%xmm0
+  DB  243,15,16,12,177                    ; movss         (%ecx,%esi,4),%xmm1
+  DB  15,20,200                           ; unpcklps      %xmm0,%xmm1
+  DB  243,15,16,52,185                    ; movss         (%ecx,%edi,4),%xmm6
+  DB  243,15,16,4,129                     ; movss         (%ecx,%eax,4),%xmm0
+  DB  15,20,240                           ; unpcklps      %xmm0,%xmm6
+  DB  102,15,20,241                       ; unpcklpd      %xmm1,%xmm6
+  DB  15,40,130,252,142,0,0               ; movaps        0x8efc(%edx),%xmm0
+  DB  15,40,141,248,254,255,255           ; movaps        -0x108(%ebp),%xmm1
+  DB  15,88,200                           ; addps         %xmm0,%xmm1
+  DB  15,41,77,200                        ; movaps        %xmm1,-0x38(%ebp)
+  DB  15,40,141,88,255,255,255            ; movaps        -0xa8(%ebp),%xmm1
+  DB  15,88,200                           ; addps         %xmm0,%xmm1
+  DB  15,41,141,72,255,255,255            ; movaps        %xmm1,-0xb8(%ebp)
+  DB  15,88,69,216                        ; addps         -0x28(%ebp),%xmm0
+  DB  243,15,91,192                       ; cvttps2dq     %xmm0,%xmm0
+  DB  102,15,112,200,245                  ; pshufd        $0xf5,%xmm0,%xmm1
+  DB  102,15,244,202                      ; pmuludq       %xmm2,%xmm1
+  DB  102,15,244,208                      ; pmuludq       %xmm0,%xmm2
+  DB  102,15,112,210,232                  ; pshufd        $0xe8,%xmm2,%xmm2
+  DB  102,15,112,193,232                  ; pshufd        $0xe8,%xmm1,%xmm0
+  DB  102,15,98,208                       ; punpckldq     %xmm0,%xmm2
+  DB  102,15,127,149,24,255,255,255       ; movdqa        %xmm2,-0xe8(%ebp)
+  DB  102,15,254,218                      ; paddd         %xmm2,%xmm3
+  DB  102,15,112,195,245                  ; pshufd        $0xf5,%xmm3,%xmm0
+  DB  102,15,111,141,120,255,255,255      ; movdqa        -0x88(%ebp),%xmm1
+  DB  102,15,244,217                      ; pmuludq       %xmm1,%xmm3
+  DB  102,15,244,193                      ; pmuludq       %xmm1,%xmm0
+  DB  102,15,112,200,232                  ; pshufd        $0xe8,%xmm0,%xmm1
+  DB  102,15,112,195,232                  ; pshufd        $0xe8,%xmm3,%xmm0
+  DB  102,15,98,193                       ; punpckldq     %xmm1,%xmm0
+  DB  102,15,126,216                      ; movd          %xmm3,%eax
+  DB  102,15,112,200,229                  ; pshufd        $0xe5,%xmm0,%xmm1
+  DB  102,15,126,202                      ; movd          %xmm1,%edx
+  DB  102,15,112,200,78                   ; pshufd        $0x4e,%xmm0,%xmm1
+  DB  102,15,126,206                      ; movd          %xmm1,%esi
+  DB  102,15,112,200,231                  ; pshufd        $0xe7,%xmm0,%xmm1
+  DB  102,15,126,207                      ; movd          %xmm1,%edi
+  DB  243,15,16,12,185                    ; movss         (%ecx,%edi,4),%xmm1
+  DB  243,15,16,20,177                    ; movss         (%ecx,%esi,4),%xmm2
+  DB  15,20,209                           ; unpcklps      %xmm1,%xmm2
+  DB  243,15,16,12,145                    ; movss         (%ecx,%edx,4),%xmm1
+  DB  243,15,16,28,129                    ; movss         (%ecx,%eax,4),%xmm3
+  DB  15,20,217                           ; unpcklps      %xmm1,%xmm3
+  DB  102,15,20,218                       ; unpcklpd      %xmm2,%xmm3
+  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
+  DB  102,15,118,210                      ; pcmpeqd       %xmm2,%xmm2
+  DB  102,15,250,202                      ; psubd         %xmm2,%xmm1
+  DB  102,15,112,209,229                  ; pshufd        $0xe5,%xmm1,%xmm2
+  DB  102,15,126,208                      ; movd          %xmm2,%eax
+  DB  102,15,112,209,78                   ; pshufd        $0x4e,%xmm1,%xmm2
+  DB  102,15,126,210                      ; movd          %xmm2,%edx
+  DB  102,15,126,206                      ; movd          %xmm1,%esi
+  DB  102,15,112,201,231                  ; pshufd        $0xe7,%xmm1,%xmm1
+  DB  102,15,126,207                      ; movd          %xmm1,%edi
+  DB  243,15,16,20,185                    ; movss         (%ecx,%edi,4),%xmm2
+  DB  243,15,16,12,145                    ; movss         (%ecx,%edx,4),%xmm1
+  DB  15,20,202                           ; unpcklps      %xmm2,%xmm1
+  DB  243,15,16,20,177                    ; movss         (%ecx,%esi,4),%xmm2
+  DB  243,15,16,36,129                    ; movss         (%ecx,%eax,4),%xmm4
+  DB  15,20,212                           ; unpcklps      %xmm4,%xmm2
+  DB  102,15,20,209                       ; unpcklpd      %xmm1,%xmm2
+  DB  102,15,254,133,104,255,255,255      ; paddd         -0x98(%ebp),%xmm0
+  DB  102,15,112,200,229                  ; pshufd        $0xe5,%xmm0,%xmm1
+  DB  102,15,126,200                      ; movd          %xmm1,%eax
+  DB  102,15,112,200,78                   ; pshufd        $0x4e,%xmm0,%xmm1
+  DB  102,15,126,202                      ; movd          %xmm1,%edx
+  DB  102,15,126,198                      ; movd          %xmm0,%esi
+  DB  102,15,112,192,231                  ; pshufd        $0xe7,%xmm0,%xmm0
+  DB  102,15,126,199                      ; movd          %xmm0,%edi
+  DB  243,15,16,4,185                     ; movss         (%ecx,%edi,4),%xmm0
+  DB  243,15,16,36,145                    ; movss         (%ecx,%edx,4),%xmm4
+  DB  15,20,224                           ; unpcklps      %xmm0,%xmm4
+  DB  243,15,16,12,177                    ; movss         (%ecx,%esi,4),%xmm1
+  DB  243,15,16,4,129                     ; movss         (%ecx,%eax,4),%xmm0
+  DB  15,20,200                           ; unpcklps      %xmm0,%xmm1
+  DB  102,15,20,204                       ; unpcklpd      %xmm4,%xmm1
+  DB  15,91,69,184                        ; cvtdq2ps      -0x48(%ebp),%xmm0
+  DB  15,40,101,216                       ; movaps        -0x28(%ebp),%xmm4
+  DB  15,92,224                           ; subps         %xmm0,%xmm4
+  DB  15,41,101,216                       ; movaps        %xmm4,-0x28(%ebp)
+  DB  15,92,221                           ; subps         %xmm5,%xmm3
+  DB  15,89,220                           ; mulps         %xmm4,%xmm3
+  DB  15,88,221                           ; addps         %xmm5,%xmm3
+  DB  15,41,93,184                        ; movaps        %xmm3,-0x48(%ebp)
+  DB  15,92,215                           ; subps         %xmm7,%xmm2
+  DB  15,89,212                           ; mulps         %xmm4,%xmm2
+  DB  15,88,215                           ; addps         %xmm7,%xmm2
+  DB  15,41,149,56,255,255,255            ; movaps        %xmm2,-0xc8(%ebp)
+  DB  15,92,206                           ; subps         %xmm6,%xmm1
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  15,88,206                           ; addps         %xmm6,%xmm1
+  DB  15,41,141,232,254,255,255           ; movaps        %xmm1,-0x118(%ebp)
+  DB  243,15,91,133,72,255,255,255        ; cvttps2dq     -0xb8(%ebp),%xmm0
+  DB  102,15,112,224,245                  ; pshufd        $0xf5,%xmm0,%xmm4
+  DB  102,15,111,77,152                   ; movdqa        -0x68(%ebp),%xmm1
+  DB  102,15,244,225                      ; pmuludq       %xmm1,%xmm4
+  DB  102,15,111,233                      ; movdqa        %xmm1,%xmm5
+  DB  102,15,244,232                      ; pmuludq       %xmm0,%xmm5
+  DB  102,15,112,253,232                  ; pshufd        $0xe8,%xmm5,%xmm7
+  DB  102,15,112,196,232                  ; pshufd        $0xe8,%xmm4,%xmm0
+  DB  102,15,98,248                       ; punpckldq     %xmm0,%xmm7
+  DB  102,15,127,125,152                  ; movdqa        %xmm7,-0x68(%ebp)
+  DB  102,15,254,189,8,255,255,255        ; paddd         -0xf8(%ebp),%xmm7
+  DB  102,15,111,199                      ; movdqa        %xmm7,%xmm0
+  DB  102,15,254,69,136                   ; paddd         -0x78(%ebp),%xmm0
+  DB  102,15,112,224,245                  ; pshufd        $0xf5,%xmm0,%xmm4
+  DB  102,15,111,141,120,255,255,255      ; movdqa        -0x88(%ebp),%xmm1
+  DB  102,15,244,193                      ; pmuludq       %xmm1,%xmm0
+  DB  102,15,244,225                      ; pmuludq       %xmm1,%xmm4
+  DB  102,15,112,228,232                  ; pshufd        $0xe8,%xmm4,%xmm4
+  DB  102,15,112,232,232                  ; pshufd        $0xe8,%xmm0,%xmm5
+  DB  102,15,98,236                       ; punpckldq     %xmm4,%xmm5
+  DB  102,15,126,192                      ; movd          %xmm0,%eax
+  DB  102,15,112,197,229                  ; pshufd        $0xe5,%xmm5,%xmm0
+  DB  102,15,126,194                      ; movd          %xmm0,%edx
+  DB  102,15,112,197,78                   ; pshufd        $0x4e,%xmm5,%xmm0
+  DB  102,15,126,198                      ; movd          %xmm0,%esi
+  DB  102,15,112,197,231                  ; pshufd        $0xe7,%xmm5,%xmm0
+  DB  102,15,126,199                      ; movd          %xmm0,%edi
+  DB  243,15,16,4,185                     ; movss         (%ecx,%edi,4),%xmm0
+  DB  243,15,16,36,177                    ; movss         (%ecx,%esi,4),%xmm4
+  DB  15,20,224                           ; unpcklps      %xmm0,%xmm4
+  DB  243,15,16,4,145                     ; movss         (%ecx,%edx,4),%xmm0
+  DB  243,15,16,20,129                    ; movss         (%ecx,%eax,4),%xmm2
+  DB  15,20,208                           ; unpcklps      %xmm0,%xmm2
+  DB  102,15,20,212                       ; unpcklpd      %xmm4,%xmm2
+  DB  102,15,41,149,72,255,255,255        ; movapd        %xmm2,-0xb8(%ebp)
+  DB  102,15,111,197                      ; movdqa        %xmm5,%xmm0
+  DB  102,15,118,219                      ; pcmpeqd       %xmm3,%xmm3
+  DB  102,15,250,195                      ; psubd         %xmm3,%xmm0
+  DB  102,15,118,210                      ; pcmpeqd       %xmm2,%xmm2
+  DB  102,15,112,224,229                  ; pshufd        $0xe5,%xmm0,%xmm4
+  DB  102,15,126,224                      ; movd          %xmm4,%eax
+  DB  102,15,112,224,78                   ; pshufd        $0x4e,%xmm0,%xmm4
+  DB  102,15,126,226                      ; movd          %xmm4,%edx
+  DB  102,15,126,198                      ; movd          %xmm0,%esi
+  DB  102,15,112,192,231                  ; pshufd        $0xe7,%xmm0,%xmm0
+  DB  102,15,126,199                      ; movd          %xmm0,%edi
+  DB  243,15,16,36,185                    ; movss         (%ecx,%edi,4),%xmm4
+  DB  243,15,16,4,145                     ; movss         (%ecx,%edx,4),%xmm0
+  DB  15,20,196                           ; unpcklps      %xmm4,%xmm0
+  DB  243,15,16,36,177                    ; movss         (%ecx,%esi,4),%xmm4
+  DB  243,15,16,52,129                    ; movss         (%ecx,%eax,4),%xmm6
+  DB  15,20,230                           ; unpcklps      %xmm6,%xmm4
+  DB  102,15,20,224                       ; unpcklpd      %xmm0,%xmm4
+  DB  102,15,111,157,104,255,255,255      ; movdqa        -0x98(%ebp),%xmm3
+  DB  102,15,254,235                      ; paddd         %xmm3,%xmm5
+  DB  102,15,112,197,229                  ; pshufd        $0xe5,%xmm5,%xmm0
+  DB  102,15,126,192                      ; movd          %xmm0,%eax
+  DB  102,15,112,197,78                   ; pshufd        $0x4e,%xmm5,%xmm0
+  DB  102,15,126,194                      ; movd          %xmm0,%edx
+  DB  102,15,126,238                      ; movd          %xmm5,%esi
+  DB  102,15,112,197,231                  ; pshufd        $0xe7,%xmm5,%xmm0
+  DB  102,15,126,199                      ; movd          %xmm0,%edi
+  DB  243,15,16,4,185                     ; movss         (%ecx,%edi,4),%xmm0
+  DB  243,15,16,52,145                    ; movss         (%ecx,%edx,4),%xmm6
+  DB  15,20,240                           ; unpcklps      %xmm0,%xmm6
+  DB  243,15,16,44,177                    ; movss         (%ecx,%esi,4),%xmm5
+  DB  243,15,16,4,129                     ; movss         (%ecx,%eax,4),%xmm0
+  DB  15,20,232                           ; unpcklps      %xmm0,%xmm5
+  DB  102,15,20,238                       ; unpcklpd      %xmm6,%xmm5
+  DB  102,15,254,189,24,255,255,255       ; paddd         -0xe8(%ebp),%xmm7
+  DB  102,15,112,199,245                  ; pshufd        $0xf5,%xmm7,%xmm0
+  DB  102,15,244,249                      ; pmuludq       %xmm1,%xmm7
+  DB  102,15,244,193                      ; pmuludq       %xmm1,%xmm0
+  DB  102,15,112,240,232                  ; pshufd        $0xe8,%xmm0,%xmm6
+  DB  102,15,112,199,232                  ; pshufd        $0xe8,%xmm7,%xmm0
+  DB  102,15,98,198                       ; punpckldq     %xmm6,%xmm0
+  DB  102,15,126,248                      ; movd          %xmm7,%eax
+  DB  102,15,112,240,229                  ; pshufd        $0xe5,%xmm0,%xmm6
+  DB  102,15,126,242                      ; movd          %xmm6,%edx
+  DB  102,15,112,240,78                   ; pshufd        $0x4e,%xmm0,%xmm6
+  DB  102,15,126,246                      ; movd          %xmm6,%esi
+  DB  102,15,112,240,231                  ; pshufd        $0xe7,%xmm0,%xmm6
+  DB  102,15,126,247                      ; movd          %xmm6,%edi
+  DB  243,15,16,52,185                    ; movss         (%ecx,%edi,4),%xmm6
+  DB  243,15,16,60,177                    ; movss         (%ecx,%esi,4),%xmm7
+  DB  15,20,254                           ; unpcklps      %xmm6,%xmm7
+  DB  243,15,16,52,145                    ; movss         (%ecx,%edx,4),%xmm6
+  DB  243,15,16,12,129                    ; movss         (%ecx,%eax,4),%xmm1
+  DB  15,20,206                           ; unpcklps      %xmm6,%xmm1
+  DB  102,15,20,207                       ; unpcklpd      %xmm7,%xmm1
+  DB  102,15,111,240                      ; movdqa        %xmm0,%xmm6
+  DB  102,15,250,242                      ; psubd         %xmm2,%xmm6
+  DB  102,15,112,254,229                  ; pshufd        $0xe5,%xmm6,%xmm7
+  DB  102,15,126,248                      ; movd          %xmm7,%eax
+  DB  102,15,112,254,78                   ; pshufd        $0x4e,%xmm6,%xmm7
+  DB  102,15,126,250                      ; movd          %xmm7,%edx
+  DB  102,15,126,246                      ; movd          %xmm6,%esi
+  DB  102,15,112,246,231                  ; pshufd        $0xe7,%xmm6,%xmm6
+  DB  102,15,126,247                      ; movd          %xmm6,%edi
+  DB  243,15,16,52,185                    ; movss         (%ecx,%edi,4),%xmm6
+  DB  243,15,16,60,145                    ; movss         (%ecx,%edx,4),%xmm7
+  DB  15,20,254                           ; unpcklps      %xmm6,%xmm7
+  DB  243,15,16,20,177                    ; movss         (%ecx,%esi,4),%xmm2
+  DB  243,15,16,52,129                    ; movss         (%ecx,%eax,4),%xmm6
+  DB  15,20,214                           ; unpcklps      %xmm6,%xmm2
+  DB  102,15,20,215                       ; unpcklpd      %xmm7,%xmm2
+  DB  102,15,111,251                      ; movdqa        %xmm3,%xmm7
+  DB  102,15,254,199                      ; paddd         %xmm7,%xmm0
+  DB  102,15,112,240,229                  ; pshufd        $0xe5,%xmm0,%xmm6
+  DB  102,15,126,240                      ; movd          %xmm6,%eax
+  DB  102,15,112,240,78                   ; pshufd        $0x4e,%xmm0,%xmm6
+  DB  102,15,126,242                      ; movd          %xmm6,%edx
+  DB  102,15,126,198                      ; movd          %xmm0,%esi
+  DB  102,15,112,192,231                  ; pshufd        $0xe7,%xmm0,%xmm0
+  DB  102,15,126,199                      ; movd          %xmm0,%edi
+  DB  243,15,16,4,185                     ; movss         (%ecx,%edi,4),%xmm0
+  DB  243,15,16,52,145                    ; movss         (%ecx,%edx,4),%xmm6
+  DB  15,20,240                           ; unpcklps      %xmm0,%xmm6
+  DB  243,15,16,28,177                    ; movss         (%ecx,%esi,4),%xmm3
+  DB  243,15,16,4,129                     ; movss         (%ecx,%eax,4),%xmm0
+  DB  15,20,216                           ; unpcklps      %xmm0,%xmm3
+  DB  102,15,20,222                       ; unpcklpd      %xmm6,%xmm3
+  DB  15,40,181,72,255,255,255            ; movaps        -0xb8(%ebp),%xmm6
+  DB  15,92,206                           ; subps         %xmm6,%xmm1
+  DB  15,40,69,216                        ; movaps        -0x28(%ebp),%xmm0
+  DB  15,89,200                           ; mulps         %xmm0,%xmm1
+  DB  15,88,206                           ; addps         %xmm6,%xmm1
+  DB  15,92,212                           ; subps         %xmm4,%xmm2
+  DB  15,89,208                           ; mulps         %xmm0,%xmm2
+  DB  15,88,212                           ; addps         %xmm4,%xmm2
+  DB  15,92,221                           ; subps         %xmm5,%xmm3
+  DB  15,89,216                           ; mulps         %xmm0,%xmm3
+  DB  15,88,221                           ; addps         %xmm5,%xmm3
+  DB  15,91,133,40,255,255,255            ; cvtdq2ps      -0xd8(%ebp),%xmm0
+  DB  15,40,165,88,255,255,255            ; movaps        -0xa8(%ebp),%xmm4
+  DB  15,92,224                           ; subps         %xmm0,%xmm4
+  DB  15,41,165,88,255,255,255            ; movaps        %xmm4,-0xa8(%ebp)
+  DB  15,40,69,184                        ; movaps        -0x48(%ebp),%xmm0
+  DB  15,92,200                           ; subps         %xmm0,%xmm1
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  15,88,200                           ; addps         %xmm0,%xmm1
+  DB  15,41,77,184                        ; movaps        %xmm1,-0x48(%ebp)
+  DB  15,40,133,56,255,255,255            ; movaps        -0xc8(%ebp),%xmm0
+  DB  15,92,208                           ; subps         %xmm0,%xmm2
+  DB  15,89,212                           ; mulps         %xmm4,%xmm2
+  DB  15,88,208                           ; addps         %xmm0,%xmm2
+  DB  15,41,149,56,255,255,255            ; movaps        %xmm2,-0xc8(%ebp)
+  DB  15,40,133,232,254,255,255           ; movaps        -0x118(%ebp),%xmm0
+  DB  15,92,216                           ; subps         %xmm0,%xmm3
+  DB  15,89,220                           ; mulps         %xmm4,%xmm3
+  DB  15,88,216                           ; addps         %xmm0,%xmm3
+  DB  15,41,157,40,255,255,255            ; movaps        %xmm3,-0xd8(%ebp)
+  DB  243,15,91,77,200                    ; cvttps2dq     -0x38(%ebp),%xmm1
+  DB  102,15,127,77,200                   ; movdqa        %xmm1,-0x38(%ebp)
+  DB  102,15,111,69,168                   ; movdqa        -0x58(%ebp),%xmm0
+  DB  102,15,254,193                      ; paddd         %xmm1,%xmm0
+  DB  102,15,111,77,136                   ; movdqa        -0x78(%ebp),%xmm1
+  DB  102,15,254,200                      ; paddd         %xmm0,%xmm1
+  DB  102,15,111,240                      ; movdqa        %xmm0,%xmm6
+  DB  102,15,112,209,245                  ; pshufd        $0xf5,%xmm1,%xmm2
+  DB  102,15,111,133,120,255,255,255      ; movdqa        -0x88(%ebp),%xmm0
+  DB  102,15,244,200                      ; pmuludq       %xmm0,%xmm1
+  DB  102,15,244,208                      ; pmuludq       %xmm0,%xmm2
+  DB  102,15,112,210,232                  ; pshufd        $0xe8,%xmm2,%xmm2
+  DB  102,15,112,217,232                  ; pshufd        $0xe8,%xmm1,%xmm3
+  DB  102,15,98,218                       ; punpckldq     %xmm2,%xmm3
+  DB  102,15,126,200                      ; movd          %xmm1,%eax
+  DB  102,15,112,203,229                  ; pshufd        $0xe5,%xmm3,%xmm1
+  DB  102,15,126,202                      ; movd          %xmm1,%edx
+  DB  102,15,112,203,78                   ; pshufd        $0x4e,%xmm3,%xmm1
+  DB  102,15,126,206                      ; movd          %xmm1,%esi
+  DB  102,15,112,203,231                  ; pshufd        $0xe7,%xmm3,%xmm1
+  DB  102,15,126,207                      ; movd          %xmm1,%edi
+  DB  243,15,16,12,185                    ; movss         (%ecx,%edi,4),%xmm1
+  DB  243,15,16,20,177                    ; movss         (%ecx,%esi,4),%xmm2
+  DB  15,20,209                           ; unpcklps      %xmm1,%xmm2
+  DB  243,15,16,36,145                    ; movss         (%ecx,%edx,4),%xmm4
+  DB  243,15,16,4,129                     ; movss         (%ecx,%eax,4),%xmm0
+  DB  15,20,196                           ; unpcklps      %xmm4,%xmm0
+  DB  102,15,20,194                       ; unpcklpd      %xmm2,%xmm0
+  DB  102,15,41,69,168                    ; movapd        %xmm0,-0x58(%ebp)
+  DB  102,15,111,211                      ; movdqa        %xmm3,%xmm2
+  DB  102,15,118,192                      ; pcmpeqd       %xmm0,%xmm0
+  DB  102,15,250,208                      ; psubd         %xmm0,%xmm2
+  DB  102,15,112,226,229                  ; pshufd        $0xe5,%xmm2,%xmm4
+  DB  102,15,126,224                      ; movd          %xmm4,%eax
+  DB  102,15,112,226,78                   ; pshufd        $0x4e,%xmm2,%xmm4
+  DB  102,15,126,226                      ; movd          %xmm4,%edx
+  DB  102,15,126,214                      ; movd          %xmm2,%esi
+  DB  102,15,112,210,231                  ; pshufd        $0xe7,%xmm2,%xmm2
+  DB  102,15,126,215                      ; movd          %xmm2,%edi
+  DB  243,15,16,20,185                    ; movss         (%ecx,%edi,4),%xmm2
+  DB  243,15,16,36,145                    ; movss         (%ecx,%edx,4),%xmm4
+  DB  15,20,226                           ; unpcklps      %xmm2,%xmm4
+  DB  243,15,16,20,177                    ; movss         (%ecx,%esi,4),%xmm2
+  DB  243,15,16,44,129                    ; movss         (%ecx,%eax,4),%xmm5
+  DB  15,20,213                           ; unpcklps      %xmm5,%xmm2
+  DB  102,15,20,212                       ; unpcklpd      %xmm4,%xmm2
+  DB  102,15,254,223                      ; paddd         %xmm7,%xmm3
+  DB  102,15,112,227,229                  ; pshufd        $0xe5,%xmm3,%xmm4
+  DB  102,15,126,224                      ; movd          %xmm4,%eax
+  DB  102,15,112,227,78                   ; pshufd        $0x4e,%xmm3,%xmm4
+  DB  102,15,126,226                      ; movd          %xmm4,%edx
+  DB  102,15,126,222                      ; movd          %xmm3,%esi
+  DB  102,15,112,219,231                  ; pshufd        $0xe7,%xmm3,%xmm3
+  DB  102,15,126,223                      ; movd          %xmm3,%edi
+  DB  243,15,16,28,185                    ; movss         (%ecx,%edi,4),%xmm3
+  DB  243,15,16,36,145                    ; movss         (%ecx,%edx,4),%xmm4
+  DB  15,20,227                           ; unpcklps      %xmm3,%xmm4
+  DB  243,15,16,44,177                    ; movss         (%ecx,%esi,4),%xmm5
+  DB  243,15,16,28,129                    ; movss         (%ecx,%eax,4),%xmm3
+  DB  15,20,235                           ; unpcklps      %xmm3,%xmm5
+  DB  102,15,20,236                       ; unpcklpd      %xmm4,%xmm5
+  DB  102,15,111,230                      ; movdqa        %xmm6,%xmm4
+  DB  102,15,254,165,24,255,255,255       ; paddd         -0xe8(%ebp),%xmm4
+  DB  102,15,112,220,245                  ; pshufd        $0xf5,%xmm4,%xmm3
+  DB  102,15,111,141,120,255,255,255      ; movdqa        -0x88(%ebp),%xmm1
+  DB  102,15,244,225                      ; pmuludq       %xmm1,%xmm4
+  DB  102,15,111,244                      ; movdqa        %xmm4,%xmm6
+  DB  102,15,244,217                      ; pmuludq       %xmm1,%xmm3
+  DB  102,15,112,227,232                  ; pshufd        $0xe8,%xmm3,%xmm4
+  DB  102,15,112,222,232                  ; pshufd        $0xe8,%xmm6,%xmm3
+  DB  102,15,98,220                       ; punpckldq     %xmm4,%xmm3
+  DB  102,15,126,240                      ; movd          %xmm6,%eax
+  DB  102,15,112,227,229                  ; pshufd        $0xe5,%xmm3,%xmm4
+  DB  102,15,126,226                      ; movd          %xmm4,%edx
+  DB  102,15,112,227,78                   ; pshufd        $0x4e,%xmm3,%xmm4
+  DB  102,15,126,230                      ; movd          %xmm4,%esi
+  DB  102,15,112,227,231                  ; pshufd        $0xe7,%xmm3,%xmm4
+  DB  102,15,126,231                      ; movd          %xmm4,%edi
+  DB  243,15,16,36,185                    ; movss         (%ecx,%edi,4),%xmm4
+  DB  243,15,16,52,177                    ; movss         (%ecx,%esi,4),%xmm6
+  DB  15,20,244                           ; unpcklps      %xmm4,%xmm6
+  DB  243,15,16,36,145                    ; movss         (%ecx,%edx,4),%xmm4
+  DB  243,15,16,12,129                    ; movss         (%ecx,%eax,4),%xmm1
+  DB  15,20,204                           ; unpcklps      %xmm4,%xmm1
+  DB  102,15,20,206                       ; unpcklpd      %xmm6,%xmm1
+  DB  102,15,111,227                      ; movdqa        %xmm3,%xmm4
+  DB  102,15,250,224                      ; psubd         %xmm0,%xmm4
+  DB  102,15,112,244,229                  ; pshufd        $0xe5,%xmm4,%xmm6
+  DB  102,15,126,240                      ; movd          %xmm6,%eax
+  DB  102,15,112,244,78                   ; pshufd        $0x4e,%xmm4,%xmm6
+  DB  102,15,126,242                      ; movd          %xmm6,%edx
+  DB  102,15,126,230                      ; movd          %xmm4,%esi
+  DB  102,15,112,228,231                  ; pshufd        $0xe7,%xmm4,%xmm4
+  DB  102,15,126,231                      ; movd          %xmm4,%edi
+  DB  243,15,16,36,185                    ; movss         (%ecx,%edi,4),%xmm4
+  DB  243,15,16,4,145                     ; movss         (%ecx,%edx,4),%xmm0
+  DB  15,20,196                           ; unpcklps      %xmm4,%xmm0
+  DB  243,15,16,60,177                    ; movss         (%ecx,%esi,4),%xmm7
+  DB  243,15,16,36,129                    ; movss         (%ecx,%eax,4),%xmm4
+  DB  15,20,252                           ; unpcklps      %xmm4,%xmm7
+  DB  102,15,20,248                       ; unpcklpd      %xmm0,%xmm7
+  DB  102,15,111,165,104,255,255,255      ; movdqa        -0x98(%ebp),%xmm4
+  DB  102,15,254,220                      ; paddd         %xmm4,%xmm3
+  DB  102,15,112,195,229                  ; pshufd        $0xe5,%xmm3,%xmm0
+  DB  102,15,126,192                      ; movd          %xmm0,%eax
+  DB  102,15,112,195,78                   ; pshufd        $0x4e,%xmm3,%xmm0
+  DB  102,15,126,194                      ; movd          %xmm0,%edx
+  DB  102,15,126,222                      ; movd          %xmm3,%esi
+  DB  102,15,112,195,231                  ; pshufd        $0xe7,%xmm3,%xmm0
+  DB  102,15,126,199                      ; movd          %xmm0,%edi
+  DB  243,15,16,4,185                     ; movss         (%ecx,%edi,4),%xmm0
+  DB  243,15,16,28,145                    ; movss         (%ecx,%edx,4),%xmm3
+  DB  15,20,216                           ; unpcklps      %xmm0,%xmm3
+  DB  243,15,16,52,177                    ; movss         (%ecx,%esi,4),%xmm6
+  DB  243,15,16,4,129                     ; movss         (%ecx,%eax,4),%xmm0
+  DB  15,20,240                           ; unpcklps      %xmm0,%xmm6
+  DB  102,15,20,243                       ; unpcklpd      %xmm3,%xmm6
+  DB  15,40,93,168                        ; movaps        -0x58(%ebp),%xmm3
+  DB  15,92,203                           ; subps         %xmm3,%xmm1
+  DB  15,40,69,216                        ; movaps        -0x28(%ebp),%xmm0
+  DB  15,89,200                           ; mulps         %xmm0,%xmm1
+  DB  15,88,203                           ; addps         %xmm3,%xmm1
+  DB  15,41,77,168                        ; movaps        %xmm1,-0x58(%ebp)
+  DB  15,92,250                           ; subps         %xmm2,%xmm7
+  DB  15,89,248                           ; mulps         %xmm0,%xmm7
+  DB  15,88,250                           ; addps         %xmm2,%xmm7
+  DB  15,92,245                           ; subps         %xmm5,%xmm6
+  DB  15,89,240                           ; mulps         %xmm0,%xmm6
+  DB  15,88,245                           ; addps         %xmm5,%xmm6
+  DB  102,15,111,69,152                   ; movdqa        -0x68(%ebp),%xmm0
+  DB  102,15,254,69,200                   ; paddd         -0x38(%ebp),%xmm0
+  DB  102,15,127,69,152                   ; movdqa        %xmm0,-0x68(%ebp)
+  DB  102,15,111,85,136                   ; movdqa        -0x78(%ebp),%xmm2
+  DB  102,15,254,208                      ; paddd         %xmm0,%xmm2
+  DB  102,15,112,194,245                  ; pshufd        $0xf5,%xmm2,%xmm0
+  DB  102,15,111,157,120,255,255,255      ; movdqa        -0x88(%ebp),%xmm3
+  DB  102,15,244,211                      ; pmuludq       %xmm3,%xmm2
+  DB  102,15,244,195                      ; pmuludq       %xmm3,%xmm0
+  DB  102,15,112,200,232                  ; pshufd        $0xe8,%xmm0,%xmm1
+  DB  102,15,112,194,232                  ; pshufd        $0xe8,%xmm2,%xmm0
+  DB  102,15,98,193                       ; punpckldq     %xmm1,%xmm0
+  DB  102,15,126,208                      ; movd          %xmm2,%eax
+  DB  102,15,112,200,229                  ; pshufd        $0xe5,%xmm0,%xmm1
+  DB  102,15,126,202                      ; movd          %xmm1,%edx
+  DB  102,15,112,200,78                   ; pshufd        $0x4e,%xmm0,%xmm1
+  DB  102,15,126,206                      ; movd          %xmm1,%esi
+  DB  102,15,112,200,231                  ; pshufd        $0xe7,%xmm0,%xmm1
+  DB  102,15,126,207                      ; movd          %xmm1,%edi
+  DB  243,15,16,12,185                    ; movss         (%ecx,%edi,4),%xmm1
+  DB  243,15,16,20,177                    ; movss         (%ecx,%esi,4),%xmm2
+  DB  15,20,209                           ; unpcklps      %xmm1,%xmm2
+  DB  243,15,16,12,145                    ; movss         (%ecx,%edx,4),%xmm1
+  DB  243,15,16,44,129                    ; movss         (%ecx,%eax,4),%xmm5
+  DB  15,20,233                           ; unpcklps      %xmm1,%xmm5
+  DB  102,15,20,234                       ; unpcklpd      %xmm2,%xmm5
+  DB  102,15,41,109,136                   ; movapd        %xmm5,-0x78(%ebp)
+  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
+  DB  102,15,118,210                      ; pcmpeqd       %xmm2,%xmm2
+  DB  102,15,250,202                      ; psubd         %xmm2,%xmm1
+  DB  102,15,112,209,229                  ; pshufd        $0xe5,%xmm1,%xmm2
+  DB  102,15,126,208                      ; movd          %xmm2,%eax
+  DB  102,15,112,209,78                   ; pshufd        $0x4e,%xmm1,%xmm2
+  DB  102,15,126,210                      ; movd          %xmm2,%edx
+  DB  102,15,126,206                      ; movd          %xmm1,%esi
+  DB  102,15,112,201,231                  ; pshufd        $0xe7,%xmm1,%xmm1
+  DB  102,15,126,207                      ; movd          %xmm1,%edi
+  DB  243,15,16,12,185                    ; movss         (%ecx,%edi,4),%xmm1
+  DB  243,15,16,20,145                    ; movss         (%ecx,%edx,4),%xmm2
+  DB  15,20,209                           ; unpcklps      %xmm1,%xmm2
+  DB  243,15,16,44,177                    ; movss         (%ecx,%esi,4),%xmm5
+  DB  243,15,16,12,129                    ; movss         (%ecx,%eax,4),%xmm1
+  DB  15,20,233                           ; unpcklps      %xmm1,%xmm5
+  DB  102,15,20,234                       ; unpcklpd      %xmm2,%xmm5
+  DB  102,15,41,109,200                   ; movapd        %xmm5,-0x38(%ebp)
+  DB  102,15,254,196                      ; paddd         %xmm4,%xmm0
+  DB  102,15,112,200,229                  ; pshufd        $0xe5,%xmm0,%xmm1
+  DB  102,15,126,200                      ; movd          %xmm1,%eax
+  DB  102,15,112,200,78                   ; pshufd        $0x4e,%xmm0,%xmm1
+  DB  102,15,126,202                      ; movd          %xmm1,%edx
+  DB  102,15,126,198                      ; movd          %xmm0,%esi
+  DB  102,15,112,192,231                  ; pshufd        $0xe7,%xmm0,%xmm0
+  DB  102,15,126,199                      ; movd          %xmm0,%edi
+  DB  243,15,16,4,185                     ; movss         (%ecx,%edi,4),%xmm0
+  DB  243,15,16,12,145                    ; movss         (%ecx,%edx,4),%xmm1
+  DB  15,20,200                           ; unpcklps      %xmm0,%xmm1
+  DB  243,15,16,36,177                    ; movss         (%ecx,%esi,4),%xmm4
+  DB  243,15,16,4,129                     ; movss         (%ecx,%eax,4),%xmm0
+  DB  15,20,224                           ; unpcklps      %xmm0,%xmm4
+  DB  102,15,20,225                       ; unpcklpd      %xmm1,%xmm4
+  DB  102,15,111,77,152                   ; movdqa        -0x68(%ebp),%xmm1
+  DB  102,15,254,141,24,255,255,255       ; paddd         -0xe8(%ebp),%xmm1
+  DB  102,15,112,193,245                  ; pshufd        $0xf5,%xmm1,%xmm0
+  DB  102,15,244,203                      ; pmuludq       %xmm3,%xmm1
+  DB  102,15,244,195                      ; pmuludq       %xmm3,%xmm0
+  DB  102,15,112,192,232                  ; pshufd        $0xe8,%xmm0,%xmm0
+  DB  102,15,112,209,232                  ; pshufd        $0xe8,%xmm1,%xmm2
+  DB  102,15,98,208                       ; punpckldq     %xmm0,%xmm2
+  DB  102,15,126,200                      ; movd          %xmm1,%eax
+  DB  102,15,112,194,229                  ; pshufd        $0xe5,%xmm2,%xmm0
+  DB  102,15,126,194                      ; movd          %xmm0,%edx
+  DB  102,15,112,194,78                   ; pshufd        $0x4e,%xmm2,%xmm0
+  DB  102,15,126,198                      ; movd          %xmm0,%esi
+  DB  102,15,112,194,231                  ; pshufd        $0xe7,%xmm2,%xmm0
+  DB  102,15,126,199                      ; movd          %xmm0,%edi
+  DB  243,15,16,4,185                     ; movss         (%ecx,%edi,4),%xmm0
+  DB  243,15,16,12,177                    ; movss         (%ecx,%esi,4),%xmm1
+  DB  15,20,200                           ; unpcklps      %xmm0,%xmm1
+  DB  243,15,16,28,145                    ; movss         (%ecx,%edx,4),%xmm3
+  DB  243,15,16,4,129                     ; movss         (%ecx,%eax,4),%xmm0
+  DB  15,20,195                           ; unpcklps      %xmm3,%xmm0
+  DB  102,15,20,193                       ; unpcklpd      %xmm1,%xmm0
+  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
+  DB  102,15,118,219                      ; pcmpeqd       %xmm3,%xmm3
+  DB  102,15,250,203                      ; psubd         %xmm3,%xmm1
+  DB  102,15,112,217,229                  ; pshufd        $0xe5,%xmm1,%xmm3
+  DB  102,15,126,216                      ; movd          %xmm3,%eax
+  DB  102,15,112,217,78                   ; pshufd        $0x4e,%xmm1,%xmm3
+  DB  102,15,126,218                      ; movd          %xmm3,%edx
+  DB  102,15,126,206                      ; movd          %xmm1,%esi
+  DB  102,15,112,201,231                  ; pshufd        $0xe7,%xmm1,%xmm1
+  DB  102,15,126,207                      ; movd          %xmm1,%edi
+  DB  243,15,16,12,185                    ; movss         (%ecx,%edi,4),%xmm1
+  DB  243,15,16,28,145                    ; movss         (%ecx,%edx,4),%xmm3
+  DB  15,20,217                           ; unpcklps      %xmm1,%xmm3
+  DB  243,15,16,12,177                    ; movss         (%ecx,%esi,4),%xmm1
+  DB  243,15,16,44,129                    ; movss         (%ecx,%eax,4),%xmm5
+  DB  15,20,205                           ; unpcklps      %xmm5,%xmm1
+  DB  102,15,20,203                       ; unpcklpd      %xmm3,%xmm1
+  DB  102,15,254,149,104,255,255,255      ; paddd         -0x98(%ebp),%xmm2
+  DB  102,15,112,218,229                  ; pshufd        $0xe5,%xmm2,%xmm3
+  DB  102,15,126,216                      ; movd          %xmm3,%eax
+  DB  102,15,112,218,78                   ; pshufd        $0x4e,%xmm2,%xmm3
+  DB  102,15,126,218                      ; movd          %xmm3,%edx
+  DB  102,15,126,214                      ; movd          %xmm2,%esi
+  DB  102,15,112,210,231                  ; pshufd        $0xe7,%xmm2,%xmm2
+  DB  102,15,126,215                      ; movd          %xmm2,%edi
+  DB  243,15,16,20,185                    ; movss         (%ecx,%edi,4),%xmm2
+  DB  243,15,16,28,145                    ; movss         (%ecx,%edx,4),%xmm3
+  DB  15,20,218                           ; unpcklps      %xmm2,%xmm3
+  DB  243,15,16,20,177                    ; movss         (%ecx,%esi,4),%xmm2
+  DB  243,15,16,44,129                    ; movss         (%ecx,%eax,4),%xmm5
+  DB  15,20,213                           ; unpcklps      %xmm5,%xmm2
+  DB  102,15,20,211                       ; unpcklpd      %xmm3,%xmm2
+  DB  15,40,109,136                       ; movaps        -0x78(%ebp),%xmm5
+  DB  15,92,197                           ; subps         %xmm5,%xmm0
+  DB  15,40,93,216                        ; movaps        -0x28(%ebp),%xmm3
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  15,88,197                           ; addps         %xmm5,%xmm0
+  DB  15,40,109,200                       ; movaps        -0x38(%ebp),%xmm5
+  DB  15,92,205                           ; subps         %xmm5,%xmm1
+  DB  15,89,203                           ; mulps         %xmm3,%xmm1
+  DB  15,88,205                           ; addps         %xmm5,%xmm1
+  DB  15,92,212                           ; subps         %xmm4,%xmm2
+  DB  15,89,211                           ; mulps         %xmm3,%xmm2
+  DB  15,88,212                           ; addps         %xmm4,%xmm2
+  DB  15,40,101,168                       ; movaps        -0x58(%ebp),%xmm4
+  DB  15,92,196                           ; subps         %xmm4,%xmm0
+  DB  15,40,157,88,255,255,255            ; movaps        -0xa8(%ebp),%xmm3
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  15,88,196                           ; addps         %xmm4,%xmm0
+  DB  15,92,207                           ; subps         %xmm7,%xmm1
+  DB  15,89,203                           ; mulps         %xmm3,%xmm1
+  DB  15,88,207                           ; addps         %xmm7,%xmm1
+  DB  15,92,214                           ; subps         %xmm6,%xmm2
+  DB  15,89,211                           ; mulps         %xmm3,%xmm2
+  DB  15,88,214                           ; addps         %xmm6,%xmm2
+  DB  15,91,157,8,255,255,255             ; cvtdq2ps      -0xf8(%ebp),%xmm3
+  DB  15,40,165,248,254,255,255           ; movaps        -0x108(%ebp),%xmm4
+  DB  15,92,227                           ; subps         %xmm3,%xmm4
+  DB  15,40,93,184                        ; movaps        -0x48(%ebp),%xmm3
+  DB  15,92,195                           ; subps         %xmm3,%xmm0
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  15,88,195                           ; addps         %xmm3,%xmm0
+  DB  15,40,157,56,255,255,255            ; movaps        -0xc8(%ebp),%xmm3
+  DB  15,92,203                           ; subps         %xmm3,%xmm1
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  15,88,203                           ; addps         %xmm3,%xmm1
+  DB  15,40,157,40,255,255,255            ; movaps        -0xd8(%ebp),%xmm3
+  DB  15,92,211                           ; subps         %xmm3,%xmm2
+  DB  15,89,212                           ; mulps         %xmm4,%xmm2
+  DB  15,88,211                           ; addps         %xmm3,%xmm2
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  141,65,8                            ; lea           0x8(%ecx),%eax
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,157,216,254,255,255           ; movaps        -0x128(%ebp),%xmm3
+  DB  80                                  ; push          %eax
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,81,4                            ; call          *0x4(%ecx)
+  DB  129,196,44,1,0,0                    ; add           $0x12c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_clut_4D_sse2
+_sk_clut_4D_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  129,236,76,1,0,0                    ; sub           $0x14c,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,16                              ; mov           (%eax),%edx
+  DB  139,74,16                           ; mov           0x10(%edx),%ecx
+  DB  141,113,255                         ; lea           -0x1(%ecx),%esi
+  DB  102,15,110,230                      ; movd          %esi,%xmm4
+  DB  102,15,112,228,0                    ; pshufd        $0x0,%xmm4,%xmm4
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  15,89,227                           ; mulps         %xmm3,%xmm4
+  DB  15,40,236                           ; movaps        %xmm4,%xmm5
+  DB  102,15,110,217                      ; movd          %ecx,%xmm3
+  DB  102,15,112,251,0                    ; pshufd        $0x0,%xmm3,%xmm7
+  DB  102,15,127,189,24,255,255,255       ; movdqa        %xmm7,-0xe8(%ebp)
+  DB  139,74,12                           ; mov           0xc(%edx),%ecx
+  DB  141,113,255                         ; lea           -0x1(%ecx),%esi
+  DB  102,15,110,230                      ; movd          %esi,%xmm4
+  DB  102,15,112,228,0                    ; pshufd        $0x0,%xmm4,%xmm4
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  15,89,226                           ; mulps         %xmm2,%xmm4
+  DB  15,41,165,248,254,255,255           ; movaps        %xmm4,-0x108(%ebp)
+  DB  243,15,91,244                       ; cvttps2dq     %xmm4,%xmm6
+  DB  102,15,127,181,216,254,255,255      ; movdqa        %xmm6,-0x128(%ebp)
+  DB  102,15,112,214,245                  ; pshufd        $0xf5,%xmm6,%xmm2
+  DB  102,15,244,215                      ; pmuludq       %xmm7,%xmm2
+  DB  102,15,111,231                      ; movdqa        %xmm7,%xmm4
+  DB  102,15,244,230                      ; pmuludq       %xmm6,%xmm4
+  DB  102,15,112,228,232                  ; pshufd        $0xe8,%xmm4,%xmm4
+  DB  102,15,112,210,232                  ; pshufd        $0xe8,%xmm2,%xmm2
+  DB  102,15,98,226                       ; punpckldq     %xmm2,%xmm4
+  DB  102,15,111,244                      ; movdqa        %xmm4,%xmm6
+  DB  102,15,127,181,8,255,255,255        ; movdqa        %xmm6,-0xf8(%ebp)
+  DB  102,15,110,209                      ; movd          %ecx,%xmm2
+  DB  102,15,244,211                      ; pmuludq       %xmm3,%xmm2
+  DB  102,15,112,210,232                  ; pshufd        $0xe8,%xmm2,%xmm2
+  DB  102,15,244,216                      ; pmuludq       %xmm0,%xmm3
+  DB  102,15,112,219,232                  ; pshufd        $0xe8,%xmm3,%xmm3
+  DB  102,15,98,211                       ; punpckldq     %xmm3,%xmm2
+  DB  139,74,8                            ; mov           0x8(%edx),%ecx
+  DB  141,113,255                         ; lea           -0x1(%ecx),%esi
+  DB  102,15,110,222                      ; movd          %esi,%xmm3
+  DB  102,15,112,219,0                    ; pshufd        $0x0,%xmm3,%xmm3
+  DB  15,91,219                           ; cvtdq2ps      %xmm3,%xmm3
+  DB  15,89,217                           ; mulps         %xmm1,%xmm3
+  DB  15,41,157,56,255,255,255            ; movaps        %xmm3,-0xc8(%ebp)
+  DB  102,15,112,250,0                    ; pshufd        $0x0,%xmm2,%xmm7
+  DB  102,15,127,189,88,255,255,255       ; movdqa        %xmm7,-0xa8(%ebp)
+  DB  243,15,91,227                       ; cvttps2dq     %xmm3,%xmm4
+  DB  102,15,127,165,40,255,255,255       ; movdqa        %xmm4,-0xd8(%ebp)
+  DB  102,15,112,204,245                  ; pshufd        $0xf5,%xmm4,%xmm1
+  DB  102,15,244,207                      ; pmuludq       %xmm7,%xmm1
+  DB  102,15,111,223                      ; movdqa        %xmm7,%xmm3
+  DB  102,15,244,220                      ; pmuludq       %xmm4,%xmm3
+  DB  102,15,112,219,232                  ; pshufd        $0xe8,%xmm3,%xmm3
+  DB  102,15,112,201,232                  ; pshufd        $0xe8,%xmm1,%xmm1
+  DB  102,15,98,217                       ; punpckldq     %xmm1,%xmm3
+  DB  102,15,111,227                      ; movdqa        %xmm3,%xmm4
+  DB  102,15,127,165,72,255,255,255       ; movdqa        %xmm4,-0xb8(%ebp)
+  DB  102,15,110,201                      ; movd          %ecx,%xmm1
+  DB  102,15,244,202                      ; pmuludq       %xmm2,%xmm1
+  DB  139,74,4                            ; mov           0x4(%edx),%ecx
+  DB  73                                  ; dec           %ecx
+  DB  102,15,110,209                      ; movd          %ecx,%xmm2
+  DB  102,15,112,210,0                    ; pshufd        $0x0,%xmm2,%xmm2
+  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
+  DB  15,89,208                           ; mulps         %xmm0,%xmm2
+  DB  15,41,85,216                        ; movaps        %xmm2,-0x28(%ebp)
+  DB  102,15,112,217,0                    ; pshufd        $0x0,%xmm1,%xmm3
+  DB  102,15,127,93,168                   ; movdqa        %xmm3,-0x58(%ebp)
+  DB  243,15,91,194                       ; cvttps2dq     %xmm2,%xmm0
+  DB  102,15,127,133,104,255,255,255      ; movdqa        %xmm0,-0x98(%ebp)
+  DB  102,15,112,200,245                  ; pshufd        $0xf5,%xmm0,%xmm1
+  DB  102,15,244,203                      ; pmuludq       %xmm3,%xmm1
+  DB  102,15,111,211                      ; movdqa        %xmm3,%xmm2
+  DB  102,15,244,208                      ; pmuludq       %xmm0,%xmm2
+  DB  102,15,112,218,232                  ; pshufd        $0xe8,%xmm2,%xmm3
+  DB  102,15,112,201,232                  ; pshufd        $0xe8,%xmm1,%xmm1
+  DB  102,15,98,217                       ; punpckldq     %xmm1,%xmm3
+  DB  102,15,127,93,152                   ; movdqa        %xmm3,-0x68(%ebp)
+  DB  232,0,0,0,0                         ; call          8a90 <_sk_clut_4D_sse2+0x165>
+  DB  89                                  ; pop           %ecx
+  DB  15,40,197                           ; movaps        %xmm5,%xmm0
+  DB  15,41,133,168,254,255,255           ; movaps        %xmm0,-0x158(%ebp)
+  DB  243,15,91,200                       ; cvttps2dq     %xmm0,%xmm1
+  DB  102,15,127,141,200,254,255,255      ; movdqa        %xmm1,-0x138(%ebp)
+  DB  102,15,254,241                      ; paddd         %xmm1,%xmm6
+  DB  102,15,127,117,200                  ; movdqa        %xmm6,-0x38(%ebp)
+  DB  102,15,111,212                      ; movdqa        %xmm4,%xmm2
+  DB  102,15,254,214                      ; paddd         %xmm6,%xmm2
+  DB  102,15,254,218                      ; paddd         %xmm2,%xmm3
+  DB  102,15,111,161,128,131,0,0          ; movdqa        0x8380(%ecx),%xmm4
+  DB  102,15,112,203,245                  ; pshufd        $0xf5,%xmm3,%xmm1
+  DB  102,15,244,220                      ; pmuludq       %xmm4,%xmm3
+  DB  102,15,244,204                      ; pmuludq       %xmm4,%xmm1
+  DB  102,15,112,233,232                  ; pshufd        $0xe8,%xmm1,%xmm5
+  DB  102,15,112,203,232                  ; pshufd        $0xe8,%xmm3,%xmm1
+  DB  102,15,98,205                       ; punpckldq     %xmm5,%xmm1
+  DB  102,15,126,222                      ; movd          %xmm3,%esi
+  DB  102,15,112,217,229                  ; pshufd        $0xe5,%xmm1,%xmm3
+  DB  102,15,126,223                      ; movd          %xmm3,%edi
+  DB  102,15,112,217,78                   ; pshufd        $0x4e,%xmm1,%xmm3
+  DB  102,15,126,219                      ; movd          %xmm3,%ebx
+  DB  102,15,112,217,231                  ; pshufd        $0xe7,%xmm1,%xmm3
+  DB  102,15,126,216                      ; movd          %xmm3,%eax
+  DB  139,18                              ; mov           (%edx),%edx
+  DB  243,15,16,28,130                    ; movss         (%edx,%eax,4),%xmm3
+  DB  243,15,16,52,154                    ; movss         (%edx,%ebx,4),%xmm6
+  DB  15,20,243                           ; unpcklps      %xmm3,%xmm6
+  DB  243,15,16,28,186                    ; movss         (%edx,%edi,4),%xmm3
+  DB  243,15,16,36,178                    ; movss         (%edx,%esi,4),%xmm4
+  DB  15,20,227                           ; unpcklps      %xmm3,%xmm4
+  DB  102,15,20,230                       ; unpcklpd      %xmm6,%xmm4
+  DB  102,15,41,101,184                   ; movapd        %xmm4,-0x48(%ebp)
+  DB  102,15,118,228                      ; pcmpeqd       %xmm4,%xmm4
+  DB  102,15,111,217                      ; movdqa        %xmm1,%xmm3
+  DB  102,15,250,220                      ; psubd         %xmm4,%xmm3
+  DB  102,15,118,237                      ; pcmpeqd       %xmm5,%xmm5
+  DB  102,15,112,243,229                  ; pshufd        $0xe5,%xmm3,%xmm6
+  DB  102,15,126,240                      ; movd          %xmm6,%eax
+  DB  102,15,112,243,78                   ; pshufd        $0x4e,%xmm3,%xmm6
+  DB  102,15,126,246                      ; movd          %xmm6,%esi
+  DB  102,15,126,223                      ; movd          %xmm3,%edi
+  DB  102,15,112,219,231                  ; pshufd        $0xe7,%xmm3,%xmm3
+  DB  102,15,126,219                      ; movd          %xmm3,%ebx
+  DB  243,15,16,28,154                    ; movss         (%edx,%ebx,4),%xmm3
+  DB  243,15,16,52,178                    ; movss         (%edx,%esi,4),%xmm6
+  DB  15,20,243                           ; unpcklps      %xmm3,%xmm6
+  DB  243,15,16,28,186                    ; movss         (%edx,%edi,4),%xmm3
+  DB  243,15,16,60,130                    ; movss         (%edx,%eax,4),%xmm7
+  DB  15,20,223                           ; unpcklps      %xmm7,%xmm3
+  DB  102,15,20,222                       ; unpcklpd      %xmm6,%xmm3
+  DB  102,15,41,157,232,254,255,255       ; movapd        %xmm3,-0x118(%ebp)
+  DB  102,15,254,137,32,125,0,0           ; paddd         0x7d20(%ecx),%xmm1
+  DB  102,15,112,241,229                  ; pshufd        $0xe5,%xmm1,%xmm6
+  DB  102,15,126,240                      ; movd          %xmm6,%eax
+  DB  102,15,112,241,78                   ; pshufd        $0x4e,%xmm1,%xmm6
+  DB  102,15,126,246                      ; movd          %xmm6,%esi
+  DB  102,15,126,207                      ; movd          %xmm1,%edi
+  DB  102,15,112,201,231                  ; pshufd        $0xe7,%xmm1,%xmm1
+  DB  102,15,126,203                      ; movd          %xmm1,%ebx
+  DB  243,15,16,12,154                    ; movss         (%edx,%ebx,4),%xmm1
+  DB  243,15,16,52,178                    ; movss         (%edx,%esi,4),%xmm6
+  DB  15,20,241                           ; unpcklps      %xmm1,%xmm6
+  DB  243,15,16,28,186                    ; movss         (%edx,%edi,4),%xmm3
+  DB  243,15,16,60,130                    ; movss         (%edx,%eax,4),%xmm7
+  DB  15,20,223                           ; unpcklps      %xmm7,%xmm3
+  DB  102,15,20,222                       ; unpcklpd      %xmm6,%xmm3
+  DB  15,40,185,112,131,0,0               ; movaps        0x8370(%ecx),%xmm7
+  DB  15,88,199                           ; addps         %xmm7,%xmm0
+  DB  15,41,133,120,255,255,255           ; movaps        %xmm0,-0x88(%ebp)
+  DB  15,40,133,248,254,255,255           ; movaps        -0x108(%ebp),%xmm0
+  DB  15,88,199                           ; addps         %xmm7,%xmm0
+  DB  15,41,69,136                        ; movaps        %xmm0,-0x78(%ebp)
+  DB  15,40,133,56,255,255,255            ; movaps        -0xc8(%ebp),%xmm0
+  DB  15,88,199                           ; addps         %xmm7,%xmm0
+  DB  15,41,133,184,254,255,255           ; movaps        %xmm0,-0x148(%ebp)
+  DB  15,88,125,216                       ; addps         -0x28(%ebp),%xmm7
+  DB  243,15,91,255                       ; cvttps2dq     %xmm7,%xmm7
+  DB  102,15,112,199,245                  ; pshufd        $0xf5,%xmm7,%xmm0
+  DB  102,15,111,117,168                  ; movdqa        -0x58(%ebp),%xmm6
+  DB  102,15,244,198                      ; pmuludq       %xmm6,%xmm0
+  DB  102,15,244,247                      ; pmuludq       %xmm7,%xmm6
+  DB  102,15,112,230,232                  ; pshufd        $0xe8,%xmm6,%xmm4
+  DB  102,15,112,192,232                  ; pshufd        $0xe8,%xmm0,%xmm0
+  DB  102,15,98,224                       ; punpckldq     %xmm0,%xmm4
+  DB  102,15,127,101,168                  ; movdqa        %xmm4,-0x58(%ebp)
+  DB  102,15,254,212                      ; paddd         %xmm4,%xmm2
+  DB  102,15,112,194,245                  ; pshufd        $0xf5,%xmm2,%xmm0
+  DB  102,15,111,161,128,131,0,0          ; movdqa        0x8380(%ecx),%xmm4
+  DB  102,15,244,212                      ; pmuludq       %xmm4,%xmm2
+  DB  102,15,244,196                      ; pmuludq       %xmm4,%xmm0
+  DB  102,15,112,240,232                  ; pshufd        $0xe8,%xmm0,%xmm6
+  DB  102,15,112,194,232                  ; pshufd        $0xe8,%xmm2,%xmm0
+  DB  102,15,98,198                       ; punpckldq     %xmm6,%xmm0
+  DB  102,15,126,208                      ; movd          %xmm2,%eax
+  DB  102,15,112,208,229                  ; pshufd        $0xe5,%xmm0,%xmm2
+  DB  102,15,126,214                      ; movd          %xmm2,%esi
+  DB  102,15,112,208,78                   ; pshufd        $0x4e,%xmm0,%xmm2
+  DB  102,15,126,215                      ; movd          %xmm2,%edi
+  DB  102,15,112,208,231                  ; pshufd        $0xe7,%xmm0,%xmm2
+  DB  102,15,126,211                      ; movd          %xmm2,%ebx
+  DB  243,15,16,20,154                    ; movss         (%edx,%ebx,4),%xmm2
+  DB  243,15,16,52,186                    ; movss         (%edx,%edi,4),%xmm6
+  DB  15,20,242                           ; unpcklps      %xmm2,%xmm6
+  DB  243,15,16,20,178                    ; movss         (%edx,%esi,4),%xmm2
+  DB  243,15,16,12,130                    ; movss         (%edx,%eax,4),%xmm1
+  DB  15,20,202                           ; unpcklps      %xmm2,%xmm1
+  DB  102,15,20,206                       ; unpcklpd      %xmm6,%xmm1
+  DB  102,15,111,208                      ; movdqa        %xmm0,%xmm2
+  DB  102,15,250,213                      ; psubd         %xmm5,%xmm2
+  DB  102,15,112,242,229                  ; pshufd        $0xe5,%xmm2,%xmm6
+  DB  102,15,126,240                      ; movd          %xmm6,%eax
+  DB  102,15,112,242,78                   ; pshufd        $0x4e,%xmm2,%xmm6
+  DB  102,15,126,246                      ; movd          %xmm6,%esi
+  DB  102,15,126,215                      ; movd          %xmm2,%edi
+  DB  102,15,112,210,231                  ; pshufd        $0xe7,%xmm2,%xmm2
+  DB  102,15,126,211                      ; movd          %xmm2,%ebx
+  DB  243,15,16,20,154                    ; movss         (%edx,%ebx,4),%xmm2
+  DB  243,15,16,52,178                    ; movss         (%edx,%esi,4),%xmm6
+  DB  15,20,242                           ; unpcklps      %xmm2,%xmm6
+  DB  243,15,16,20,186                    ; movss         (%edx,%edi,4),%xmm2
+  DB  243,15,16,44,130                    ; movss         (%edx,%eax,4),%xmm5
+  DB  15,20,213                           ; unpcklps      %xmm5,%xmm2
+  DB  102,15,20,214                       ; unpcklpd      %xmm6,%xmm2
+  DB  102,15,254,129,32,125,0,0           ; paddd         0x7d20(%ecx),%xmm0
+  DB  102,15,112,232,229                  ; pshufd        $0xe5,%xmm0,%xmm5
+  DB  102,15,126,232                      ; movd          %xmm5,%eax
+  DB  102,15,112,232,78                   ; pshufd        $0x4e,%xmm0,%xmm5
+  DB  102,15,126,238                      ; movd          %xmm5,%esi
+  DB  102,15,126,199                      ; movd          %xmm0,%edi
+  DB  102,15,112,192,231                  ; pshufd        $0xe7,%xmm0,%xmm0
+  DB  102,15,126,195                      ; movd          %xmm0,%ebx
+  DB  243,15,16,4,154                     ; movss         (%edx,%ebx,4),%xmm0
+  DB  243,15,16,44,178                    ; movss         (%edx,%esi,4),%xmm5
+  DB  15,20,232                           ; unpcklps      %xmm0,%xmm5
+  DB  243,15,16,60,186                    ; movss         (%edx,%edi,4),%xmm7
+  DB  243,15,16,52,130                    ; movss         (%edx,%eax,4),%xmm6
+  DB  15,20,254                           ; unpcklps      %xmm6,%xmm7
+  DB  102,15,20,253                       ; unpcklpd      %xmm5,%xmm7
+  DB  15,91,173,104,255,255,255           ; cvtdq2ps      -0x98(%ebp),%xmm5
+  DB  15,40,69,216                        ; movaps        -0x28(%ebp),%xmm0
+  DB  15,92,197                           ; subps         %xmm5,%xmm0
+  DB  15,41,69,216                        ; movaps        %xmm0,-0x28(%ebp)
+  DB  15,40,109,184                       ; movaps        -0x48(%ebp),%xmm5
+  DB  15,92,205                           ; subps         %xmm5,%xmm1
+  DB  15,89,200                           ; mulps         %xmm0,%xmm1
+  DB  15,88,205                           ; addps         %xmm5,%xmm1
+  DB  15,41,141,104,255,255,255           ; movaps        %xmm1,-0x98(%ebp)
+  DB  15,40,141,232,254,255,255           ; movaps        -0x118(%ebp),%xmm1
+  DB  15,92,209                           ; subps         %xmm1,%xmm2
+  DB  15,89,208                           ; mulps         %xmm0,%xmm2
+  DB  15,88,209                           ; addps         %xmm1,%xmm2
+  DB  15,41,85,184                        ; movaps        %xmm2,-0x48(%ebp)
+  DB  15,92,251                           ; subps         %xmm3,%xmm7
+  DB  15,89,248                           ; mulps         %xmm0,%xmm7
+  DB  15,88,251                           ; addps         %xmm3,%xmm7
+  DB  243,15,91,141,184,254,255,255       ; cvttps2dq     -0x148(%ebp),%xmm1
+  DB  102,15,112,217,245                  ; pshufd        $0xf5,%xmm1,%xmm3
+  DB  102,15,111,133,88,255,255,255       ; movdqa        -0xa8(%ebp),%xmm0
+  DB  102,15,244,216                      ; pmuludq       %xmm0,%xmm3
+  DB  102,15,111,232                      ; movdqa        %xmm0,%xmm5
+  DB  102,15,244,233                      ; pmuludq       %xmm1,%xmm5
+  DB  102,15,112,197,232                  ; pshufd        $0xe8,%xmm5,%xmm0
+  DB  102,15,112,203,232                  ; pshufd        $0xe8,%xmm3,%xmm1
+  DB  102,15,98,193                       ; punpckldq     %xmm1,%xmm0
+  DB  102,15,127,133,88,255,255,255       ; movdqa        %xmm0,-0xa8(%ebp)
+  DB  102,15,111,85,200                   ; movdqa        -0x38(%ebp),%xmm2
+  DB  102,15,254,208                      ; paddd         %xmm0,%xmm2
+  DB  102,15,111,218                      ; movdqa        %xmm2,%xmm3
+  DB  102,15,254,93,152                   ; paddd         -0x68(%ebp),%xmm3
+  DB  102,15,112,203,245                  ; pshufd        $0xf5,%xmm3,%xmm1
+  DB  102,15,244,220                      ; pmuludq       %xmm4,%xmm3
+  DB  102,15,244,204                      ; pmuludq       %xmm4,%xmm1
+  DB  102,15,112,233,232                  ; pshufd        $0xe8,%xmm1,%xmm5
+  DB  102,15,112,203,232                  ; pshufd        $0xe8,%xmm3,%xmm1
+  DB  102,15,98,205                       ; punpckldq     %xmm5,%xmm1
+  DB  102,15,126,216                      ; movd          %xmm3,%eax
+  DB  102,15,112,217,229                  ; pshufd        $0xe5,%xmm1,%xmm3
+  DB  102,15,126,222                      ; movd          %xmm3,%esi
+  DB  102,15,112,217,78                   ; pshufd        $0x4e,%xmm1,%xmm3
+  DB  102,15,126,223                      ; movd          %xmm3,%edi
+  DB  102,15,112,217,231                  ; pshufd        $0xe7,%xmm1,%xmm3
+  DB  102,15,126,219                      ; movd          %xmm3,%ebx
+  DB  243,15,16,28,154                    ; movss         (%edx,%ebx,4),%xmm3
+  DB  243,15,16,44,186                    ; movss         (%edx,%edi,4),%xmm5
+  DB  15,20,235                           ; unpcklps      %xmm3,%xmm5
+  DB  243,15,16,52,178                    ; movss         (%edx,%esi,4),%xmm6
+  DB  243,15,16,4,130                     ; movss         (%edx,%eax,4),%xmm0
+  DB  15,20,198                           ; unpcklps      %xmm6,%xmm0
+  DB  102,15,20,197                       ; unpcklpd      %xmm5,%xmm0
+  DB  102,15,41,69,200                    ; movapd        %xmm0,-0x38(%ebp)
+  DB  102,15,111,233                      ; movdqa        %xmm1,%xmm5
+  DB  102,15,118,219                      ; pcmpeqd       %xmm3,%xmm3
+  DB  102,15,250,235                      ; psubd         %xmm3,%xmm5
+  DB  102,15,112,245,229                  ; pshufd        $0xe5,%xmm5,%xmm6
+  DB  102,15,126,240                      ; movd          %xmm6,%eax
+  DB  102,15,112,245,78                   ; pshufd        $0x4e,%xmm5,%xmm6
+  DB  102,15,126,246                      ; movd          %xmm6,%esi
+  DB  102,15,126,239                      ; movd          %xmm5,%edi
+  DB  102,15,112,237,231                  ; pshufd        $0xe7,%xmm5,%xmm5
+  DB  102,15,126,235                      ; movd          %xmm5,%ebx
+  DB  243,15,16,44,154                    ; movss         (%edx,%ebx,4),%xmm5
+  DB  243,15,16,4,178                     ; movss         (%edx,%esi,4),%xmm0
+  DB  15,20,197                           ; unpcklps      %xmm5,%xmm0
+  DB  243,15,16,52,186                    ; movss         (%edx,%edi,4),%xmm6
+  DB  243,15,16,44,130                    ; movss         (%edx,%eax,4),%xmm5
+  DB  15,20,245                           ; unpcklps      %xmm5,%xmm6
+  DB  102,15,20,240                       ; unpcklpd      %xmm0,%xmm6
+  DB  102,15,254,137,32,125,0,0           ; paddd         0x7d20(%ecx),%xmm1
+  DB  102,15,112,193,229                  ; pshufd        $0xe5,%xmm1,%xmm0
+  DB  102,15,126,192                      ; movd          %xmm0,%eax
+  DB  102,15,112,193,78                   ; pshufd        $0x4e,%xmm1,%xmm0
+  DB  102,15,126,198                      ; movd          %xmm0,%esi
+  DB  102,15,126,207                      ; movd          %xmm1,%edi
+  DB  102,15,112,193,231                  ; pshufd        $0xe7,%xmm1,%xmm0
+  DB  102,15,126,195                      ; movd          %xmm0,%ebx
+  DB  243,15,16,4,154                     ; movss         (%edx,%ebx,4),%xmm0
+  DB  243,15,16,44,178                    ; movss         (%edx,%esi,4),%xmm5
+  DB  15,20,232                           ; unpcklps      %xmm0,%xmm5
+  DB  243,15,16,36,186                    ; movss         (%edx,%edi,4),%xmm4
+  DB  243,15,16,4,130                     ; movss         (%edx,%eax,4),%xmm0
+  DB  15,20,224                           ; unpcklps      %xmm0,%xmm4
+  DB  102,15,20,229                       ; unpcklpd      %xmm5,%xmm4
+  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
+  DB  102,15,254,77,168                   ; paddd         -0x58(%ebp),%xmm1
+  DB  102,15,112,193,245                  ; pshufd        $0xf5,%xmm1,%xmm0
+  DB  102,15,111,145,128,131,0,0          ; movdqa        0x8380(%ecx),%xmm2
+  DB  102,15,244,202                      ; pmuludq       %xmm2,%xmm1
+  DB  102,15,244,194                      ; pmuludq       %xmm2,%xmm0
+  DB  102,15,112,192,232                  ; pshufd        $0xe8,%xmm0,%xmm0
+  DB  102,15,112,233,232                  ; pshufd        $0xe8,%xmm1,%xmm5
+  DB  102,15,98,232                       ; punpckldq     %xmm0,%xmm5
+  DB  102,15,126,200                      ; movd          %xmm1,%eax
+  DB  102,15,112,197,229                  ; pshufd        $0xe5,%xmm5,%xmm0
+  DB  102,15,126,198                      ; movd          %xmm0,%esi
+  DB  102,15,112,197,78                   ; pshufd        $0x4e,%xmm5,%xmm0
+  DB  102,15,126,199                      ; movd          %xmm0,%edi
+  DB  102,15,112,197,231                  ; pshufd        $0xe7,%xmm5,%xmm0
+  DB  102,15,126,195                      ; movd          %xmm0,%ebx
+  DB  243,15,16,12,154                    ; movss         (%edx,%ebx,4),%xmm1
+  DB  243,15,16,4,186                     ; movss         (%edx,%edi,4),%xmm0
+  DB  15,20,193                           ; unpcklps      %xmm1,%xmm0
+  DB  243,15,16,12,178                    ; movss         (%edx,%esi,4),%xmm1
+  DB  243,15,16,20,130                    ; movss         (%edx,%eax,4),%xmm2
+  DB  15,20,209                           ; unpcklps      %xmm1,%xmm2
+  DB  102,15,20,208                       ; unpcklpd      %xmm0,%xmm2
+  DB  102,15,111,197                      ; movdqa        %xmm5,%xmm0
+  DB  102,15,250,195                      ; psubd         %xmm3,%xmm0
+  DB  102,15,112,200,229                  ; pshufd        $0xe5,%xmm0,%xmm1
+  DB  102,15,126,200                      ; movd          %xmm1,%eax
+  DB  102,15,112,200,78                   ; pshufd        $0x4e,%xmm0,%xmm1
+  DB  102,15,126,206                      ; movd          %xmm1,%esi
+  DB  102,15,126,199                      ; movd          %xmm0,%edi
+  DB  102,15,112,192,231                  ; pshufd        $0xe7,%xmm0,%xmm0
+  DB  102,15,126,195                      ; movd          %xmm0,%ebx
+  DB  243,15,16,4,154                     ; movss         (%edx,%ebx,4),%xmm0
+  DB  243,15,16,12,178                    ; movss         (%edx,%esi,4),%xmm1
+  DB  15,20,200                           ; unpcklps      %xmm0,%xmm1
+  DB  243,15,16,28,186                    ; movss         (%edx,%edi,4),%xmm3
+  DB  243,15,16,4,130                     ; movss         (%edx,%eax,4),%xmm0
+  DB  15,20,216                           ; unpcklps      %xmm0,%xmm3
+  DB  102,15,20,217                       ; unpcklpd      %xmm1,%xmm3
+  DB  102,15,254,169,32,125,0,0           ; paddd         0x7d20(%ecx),%xmm5
+  DB  102,15,112,197,229                  ; pshufd        $0xe5,%xmm5,%xmm0
+  DB  102,15,126,192                      ; movd          %xmm0,%eax
+  DB  102,15,112,197,78                   ; pshufd        $0x4e,%xmm5,%xmm0
+  DB  102,15,126,198                      ; movd          %xmm0,%esi
+  DB  102,15,126,239                      ; movd          %xmm5,%edi
+  DB  102,15,112,197,231                  ; pshufd        $0xe7,%xmm5,%xmm0
+  DB  102,15,126,195                      ; movd          %xmm0,%ebx
+  DB  243,15,16,4,154                     ; movss         (%edx,%ebx,4),%xmm0
+  DB  243,15,16,12,178                    ; movss         (%edx,%esi,4),%xmm1
+  DB  15,20,200                           ; unpcklps      %xmm0,%xmm1
+  DB  243,15,16,44,186                    ; movss         (%edx,%edi,4),%xmm5
+  DB  243,15,16,4,130                     ; movss         (%edx,%eax,4),%xmm0
+  DB  15,20,232                           ; unpcklps      %xmm0,%xmm5
+  DB  102,15,20,233                       ; unpcklpd      %xmm1,%xmm5
+  DB  15,40,77,200                        ; movaps        -0x38(%ebp),%xmm1
+  DB  15,92,209                           ; subps         %xmm1,%xmm2
+  DB  15,40,69,216                        ; movaps        -0x28(%ebp),%xmm0
+  DB  15,89,208                           ; mulps         %xmm0,%xmm2
+  DB  15,88,209                           ; addps         %xmm1,%xmm2
+  DB  15,92,222                           ; subps         %xmm6,%xmm3
+  DB  15,89,216                           ; mulps         %xmm0,%xmm3
+  DB  15,88,222                           ; addps         %xmm6,%xmm3
+  DB  15,92,236                           ; subps         %xmm4,%xmm5
+  DB  15,89,232                           ; mulps         %xmm0,%xmm5
+  DB  15,88,236                           ; addps         %xmm4,%xmm5
+  DB  15,91,133,40,255,255,255            ; cvtdq2ps      -0xd8(%ebp),%xmm0
+  DB  15,40,141,56,255,255,255            ; movaps        -0xc8(%ebp),%xmm1
+  DB  15,92,200                           ; subps         %xmm0,%xmm1
+  DB  15,41,141,56,255,255,255            ; movaps        %xmm1,-0xc8(%ebp)
+  DB  15,40,133,104,255,255,255           ; movaps        -0x98(%ebp),%xmm0
+  DB  15,92,208                           ; subps         %xmm0,%xmm2
+  DB  15,89,209                           ; mulps         %xmm1,%xmm2
+  DB  15,88,208                           ; addps         %xmm0,%xmm2
+  DB  15,41,149,40,255,255,255            ; movaps        %xmm2,-0xd8(%ebp)
+  DB  15,40,69,184                        ; movaps        -0x48(%ebp),%xmm0
+  DB  15,92,216                           ; subps         %xmm0,%xmm3
+  DB  15,89,217                           ; mulps         %xmm1,%xmm3
+  DB  15,88,216                           ; addps         %xmm0,%xmm3
+  DB  15,41,157,104,255,255,255           ; movaps        %xmm3,-0x98(%ebp)
+  DB  15,92,239                           ; subps         %xmm7,%xmm5
+  DB  15,89,233                           ; mulps         %xmm1,%xmm5
+  DB  15,88,239                           ; addps         %xmm7,%xmm5
+  DB  15,41,109,184                       ; movaps        %xmm5,-0x48(%ebp)
+  DB  243,15,91,69,136                    ; cvttps2dq     -0x78(%ebp),%xmm0
+  DB  102,15,112,200,245                  ; pshufd        $0xf5,%xmm0,%xmm1
+  DB  102,15,111,149,24,255,255,255       ; movdqa        -0xe8(%ebp),%xmm2
+  DB  102,15,244,202                      ; pmuludq       %xmm2,%xmm1
+  DB  102,15,244,208                      ; pmuludq       %xmm0,%xmm2
+  DB  102,15,112,226,232                  ; pshufd        $0xe8,%xmm2,%xmm4
+  DB  102,15,112,193,232                  ; pshufd        $0xe8,%xmm1,%xmm0
+  DB  102,15,98,224                       ; punpckldq     %xmm0,%xmm4
+  DB  102,15,127,165,24,255,255,255       ; movdqa        %xmm4,-0xe8(%ebp)
+  DB  102,15,254,165,200,254,255,255      ; paddd         -0x138(%ebp),%xmm4
+  DB  102,15,127,101,200                  ; movdqa        %xmm4,-0x38(%ebp)
+  DB  102,15,111,204                      ; movdqa        %xmm4,%xmm1
+  DB  102,15,254,141,72,255,255,255       ; paddd         -0xb8(%ebp),%xmm1
+  DB  102,15,111,209                      ; movdqa        %xmm1,%xmm2
+  DB  102,15,254,85,152                   ; paddd         -0x68(%ebp),%xmm2
+  DB  102,15,112,194,245                  ; pshufd        $0xf5,%xmm2,%xmm0
+  DB  102,15,111,153,128,131,0,0          ; movdqa        0x8380(%ecx),%xmm3
+  DB  102,15,244,211                      ; pmuludq       %xmm3,%xmm2
+  DB  102,15,244,195                      ; pmuludq       %xmm3,%xmm0
+  DB  102,15,111,251                      ; movdqa        %xmm3,%xmm7
+  DB  102,15,112,216,232                  ; pshufd        $0xe8,%xmm0,%xmm3
+  DB  102,15,112,194,232                  ; pshufd        $0xe8,%xmm2,%xmm0
+  DB  102,15,98,195                       ; punpckldq     %xmm3,%xmm0
+  DB  102,15,126,208                      ; movd          %xmm2,%eax
+  DB  102,15,112,208,229                  ; pshufd        $0xe5,%xmm0,%xmm2
+  DB  102,15,126,214                      ; movd          %xmm2,%esi
+  DB  102,15,112,208,78                   ; pshufd        $0x4e,%xmm0,%xmm2
+  DB  102,15,126,215                      ; movd          %xmm2,%edi
+  DB  102,15,112,208,231                  ; pshufd        $0xe7,%xmm0,%xmm2
+  DB  102,15,126,211                      ; movd          %xmm2,%ebx
+  DB  243,15,16,20,154                    ; movss         (%edx,%ebx,4),%xmm2
+  DB  243,15,16,28,186                    ; movss         (%edx,%edi,4),%xmm3
+  DB  15,20,218                           ; unpcklps      %xmm2,%xmm3
+  DB  243,15,16,20,178                    ; movss         (%edx,%esi,4),%xmm2
+  DB  243,15,16,36,130                    ; movss         (%edx,%eax,4),%xmm4
+  DB  15,20,226                           ; unpcklps      %xmm2,%xmm4
+  DB  102,15,20,227                       ; unpcklpd      %xmm3,%xmm4
+  DB  102,15,41,101,136                   ; movapd        %xmm4,-0x78(%ebp)
+  DB  102,15,111,208                      ; movdqa        %xmm0,%xmm2
+  DB  102,15,118,246                      ; pcmpeqd       %xmm6,%xmm6
+  DB  102,15,250,214                      ; psubd         %xmm6,%xmm2
+  DB  102,15,112,218,229                  ; pshufd        $0xe5,%xmm2,%xmm3
+  DB  102,15,126,216                      ; movd          %xmm3,%eax
+  DB  102,15,112,218,78                   ; pshufd        $0x4e,%xmm2,%xmm3
+  DB  102,15,126,222                      ; movd          %xmm3,%esi
+  DB  102,15,126,215                      ; movd          %xmm2,%edi
+  DB  102,15,112,210,231                  ; pshufd        $0xe7,%xmm2,%xmm2
+  DB  102,15,126,211                      ; movd          %xmm2,%ebx
+  DB  243,15,16,20,154                    ; movss         (%edx,%ebx,4),%xmm2
+  DB  243,15,16,28,178                    ; movss         (%edx,%esi,4),%xmm3
+  DB  15,20,218                           ; unpcklps      %xmm2,%xmm3
+  DB  243,15,16,36,186                    ; movss         (%edx,%edi,4),%xmm4
+  DB  243,15,16,44,130                    ; movss         (%edx,%eax,4),%xmm5
+  DB  15,20,229                           ; unpcklps      %xmm5,%xmm4
+  DB  102,15,20,227                       ; unpcklpd      %xmm3,%xmm4
+  DB  102,15,254,129,32,125,0,0           ; paddd         0x7d20(%ecx),%xmm0
+  DB  102,15,112,216,229                  ; pshufd        $0xe5,%xmm0,%xmm3
+  DB  102,15,126,216                      ; movd          %xmm3,%eax
+  DB  102,15,112,216,78                   ; pshufd        $0x4e,%xmm0,%xmm3
+  DB  102,15,126,222                      ; movd          %xmm3,%esi
+  DB  102,15,126,199                      ; movd          %xmm0,%edi
+  DB  102,15,112,192,231                  ; pshufd        $0xe7,%xmm0,%xmm0
+  DB  102,15,126,195                      ; movd          %xmm0,%ebx
+  DB  243,15,16,4,154                     ; movss         (%edx,%ebx,4),%xmm0
+  DB  243,15,16,28,178                    ; movss         (%edx,%esi,4),%xmm3
+  DB  15,20,216                           ; unpcklps      %xmm0,%xmm3
+  DB  243,15,16,20,186                    ; movss         (%edx,%edi,4),%xmm2
+  DB  243,15,16,44,130                    ; movss         (%edx,%eax,4),%xmm5
+  DB  15,20,213                           ; unpcklps      %xmm5,%xmm2
+  DB  102,15,20,211                       ; unpcklpd      %xmm3,%xmm2
+  DB  102,15,254,77,168                   ; paddd         -0x58(%ebp),%xmm1
+  DB  102,15,112,217,245                  ; pshufd        $0xf5,%xmm1,%xmm3
+  DB  102,15,244,207                      ; pmuludq       %xmm7,%xmm1
+  DB  102,15,244,223                      ; pmuludq       %xmm7,%xmm3
+  DB  102,15,112,219,232                  ; pshufd        $0xe8,%xmm3,%xmm3
+  DB  102,15,112,249,232                  ; pshufd        $0xe8,%xmm1,%xmm7
+  DB  102,15,98,251                       ; punpckldq     %xmm3,%xmm7
+  DB  102,15,126,200                      ; movd          %xmm1,%eax
+  DB  102,15,112,207,229                  ; pshufd        $0xe5,%xmm7,%xmm1
+  DB  102,15,126,206                      ; movd          %xmm1,%esi
+  DB  102,15,112,207,78                   ; pshufd        $0x4e,%xmm7,%xmm1
+  DB  102,15,126,207                      ; movd          %xmm1,%edi
+  DB  102,15,112,207,231                  ; pshufd        $0xe7,%xmm7,%xmm1
+  DB  102,15,126,203                      ; movd          %xmm1,%ebx
+  DB  243,15,16,12,154                    ; movss         (%edx,%ebx,4),%xmm1
+  DB  243,15,16,28,186                    ; movss         (%edx,%edi,4),%xmm3
+  DB  15,20,217                           ; unpcklps      %xmm1,%xmm3
+  DB  243,15,16,12,178                    ; movss         (%edx,%esi,4),%xmm1
+  DB  243,15,16,4,130                     ; movss         (%edx,%eax,4),%xmm0
+  DB  15,20,193                           ; unpcklps      %xmm1,%xmm0
+  DB  102,15,20,195                       ; unpcklpd      %xmm3,%xmm0
+  DB  102,15,111,207                      ; movdqa        %xmm7,%xmm1
+  DB  102,15,250,206                      ; psubd         %xmm6,%xmm1
+  DB  102,15,112,217,229                  ; pshufd        $0xe5,%xmm1,%xmm3
+  DB  102,15,126,216                      ; movd          %xmm3,%eax
+  DB  102,15,112,217,78                   ; pshufd        $0x4e,%xmm1,%xmm3
+  DB  102,15,126,222                      ; movd          %xmm3,%esi
+  DB  102,15,126,207                      ; movd          %xmm1,%edi
+  DB  102,15,112,201,231                  ; pshufd        $0xe7,%xmm1,%xmm1
+  DB  102,15,126,203                      ; movd          %xmm1,%ebx
+  DB  243,15,16,12,154                    ; movss         (%edx,%ebx,4),%xmm1
+  DB  243,15,16,28,178                    ; movss         (%edx,%esi,4),%xmm3
+  DB  15,20,217                           ; unpcklps      %xmm1,%xmm3
+  DB  243,15,16,44,186                    ; movss         (%edx,%edi,4),%xmm5
+  DB  243,15,16,52,130                    ; movss         (%edx,%eax,4),%xmm6
+  DB  15,20,238                           ; unpcklps      %xmm6,%xmm5
+  DB  102,15,20,235                       ; unpcklpd      %xmm3,%xmm5
+  DB  102,15,111,137,32,125,0,0           ; movdqa        0x7d20(%ecx),%xmm1
+  DB  102,15,254,249                      ; paddd         %xmm1,%xmm7
+  DB  102,15,112,223,229                  ; pshufd        $0xe5,%xmm7,%xmm3
+  DB  102,15,126,216                      ; movd          %xmm3,%eax
+  DB  102,15,112,223,78                   ; pshufd        $0x4e,%xmm7,%xmm3
+  DB  102,15,126,222                      ; movd          %xmm3,%esi
+  DB  102,15,126,255                      ; movd          %xmm7,%edi
+  DB  102,15,112,223,231                  ; pshufd        $0xe7,%xmm7,%xmm3
+  DB  102,15,126,219                      ; movd          %xmm3,%ebx
+  DB  243,15,16,28,154                    ; movss         (%edx,%ebx,4),%xmm3
+  DB  243,15,16,52,178                    ; movss         (%edx,%esi,4),%xmm6
+  DB  15,20,243                           ; unpcklps      %xmm3,%xmm6
+  DB  243,15,16,60,186                    ; movss         (%edx,%edi,4),%xmm7
+  DB  243,15,16,28,130                    ; movss         (%edx,%eax,4),%xmm3
+  DB  15,20,251                           ; unpcklps      %xmm3,%xmm7
+  DB  102,15,20,254                       ; unpcklpd      %xmm6,%xmm7
+  DB  15,40,117,136                       ; movaps        -0x78(%ebp),%xmm6
+  DB  15,92,198                           ; subps         %xmm6,%xmm0
+  DB  15,40,93,216                        ; movaps        -0x28(%ebp),%xmm3
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  15,88,198                           ; addps         %xmm6,%xmm0
+  DB  15,41,69,136                        ; movaps        %xmm0,-0x78(%ebp)
+  DB  15,92,236                           ; subps         %xmm4,%xmm5
+  DB  15,89,235                           ; mulps         %xmm3,%xmm5
+  DB  15,88,236                           ; addps         %xmm4,%xmm5
+  DB  15,92,250                           ; subps         %xmm2,%xmm7
+  DB  15,89,251                           ; mulps         %xmm3,%xmm7
+  DB  15,88,250                           ; addps         %xmm2,%xmm7
+  DB  102,15,111,85,200                   ; movdqa        -0x38(%ebp),%xmm2
+  DB  102,15,254,149,88,255,255,255       ; paddd         -0xa8(%ebp),%xmm2
+  DB  102,15,111,194                      ; movdqa        %xmm2,%xmm0
+  DB  102,15,111,226                      ; movdqa        %xmm2,%xmm4
+  DB  102,15,254,69,152                   ; paddd         -0x68(%ebp),%xmm0
+  DB  102,15,112,208,245                  ; pshufd        $0xf5,%xmm0,%xmm2
+  DB  102,15,111,153,128,131,0,0          ; movdqa        0x8380(%ecx),%xmm3
+  DB  102,15,244,195                      ; pmuludq       %xmm3,%xmm0
+  DB  102,15,244,211                      ; pmuludq       %xmm3,%xmm2
+  DB  102,15,112,218,232                  ; pshufd        $0xe8,%xmm2,%xmm3
+  DB  102,15,112,208,232                  ; pshufd        $0xe8,%xmm0,%xmm2
+  DB  102,15,98,211                       ; punpckldq     %xmm3,%xmm2
+  DB  102,15,126,192                      ; movd          %xmm0,%eax
+  DB  102,15,112,194,229                  ; pshufd        $0xe5,%xmm2,%xmm0
+  DB  102,15,126,198                      ; movd          %xmm0,%esi
+  DB  102,15,112,194,78                   ; pshufd        $0x4e,%xmm2,%xmm0
+  DB  102,15,126,199                      ; movd          %xmm0,%edi
+  DB  102,15,112,194,231                  ; pshufd        $0xe7,%xmm2,%xmm0
+  DB  102,15,126,195                      ; movd          %xmm0,%ebx
+  DB  243,15,16,4,154                     ; movss         (%edx,%ebx,4),%xmm0
+  DB  243,15,16,28,186                    ; movss         (%edx,%edi,4),%xmm3
+  DB  15,20,216                           ; unpcklps      %xmm0,%xmm3
+  DB  243,15,16,4,178                     ; movss         (%edx,%esi,4),%xmm0
+  DB  243,15,16,52,130                    ; movss         (%edx,%eax,4),%xmm6
+  DB  15,20,240                           ; unpcklps      %xmm0,%xmm6
+  DB  102,15,20,243                       ; unpcklpd      %xmm3,%xmm6
+  DB  102,15,41,117,200                   ; movapd        %xmm6,-0x38(%ebp)
+  DB  102,15,111,194                      ; movdqa        %xmm2,%xmm0
+  DB  102,15,118,219                      ; pcmpeqd       %xmm3,%xmm3
+  DB  102,15,250,195                      ; psubd         %xmm3,%xmm0
+  DB  102,15,112,216,229                  ; pshufd        $0xe5,%xmm0,%xmm3
+  DB  102,15,126,216                      ; movd          %xmm3,%eax
+  DB  102,15,112,216,78                   ; pshufd        $0x4e,%xmm0,%xmm3
+  DB  102,15,126,222                      ; movd          %xmm3,%esi
+  DB  102,15,126,199                      ; movd          %xmm0,%edi
+  DB  102,15,112,192,231                  ; pshufd        $0xe7,%xmm0,%xmm0
+  DB  102,15,126,195                      ; movd          %xmm0,%ebx
+  DB  243,15,16,28,154                    ; movss         (%edx,%ebx,4),%xmm3
+  DB  243,15,16,4,178                     ; movss         (%edx,%esi,4),%xmm0
+  DB  15,20,195                           ; unpcklps      %xmm3,%xmm0
+  DB  243,15,16,28,186                    ; movss         (%edx,%edi,4),%xmm3
+  DB  243,15,16,52,130                    ; movss         (%edx,%eax,4),%xmm6
+  DB  15,20,222                           ; unpcklps      %xmm6,%xmm3
+  DB  102,15,20,216                       ; unpcklpd      %xmm0,%xmm3
+  DB  102,15,41,157,232,254,255,255       ; movapd        %xmm3,-0x118(%ebp)
+  DB  102,15,254,209                      ; paddd         %xmm1,%xmm2
+  DB  102,15,112,194,229                  ; pshufd        $0xe5,%xmm2,%xmm0
+  DB  102,15,126,192                      ; movd          %xmm0,%eax
+  DB  102,15,112,194,78                   ; pshufd        $0x4e,%xmm2,%xmm0
+  DB  102,15,126,198                      ; movd          %xmm0,%esi
+  DB  102,15,126,215                      ; movd          %xmm2,%edi
+  DB  102,15,112,194,231                  ; pshufd        $0xe7,%xmm2,%xmm0
+  DB  102,15,126,195                      ; movd          %xmm0,%ebx
+  DB  243,15,16,4,154                     ; movss         (%edx,%ebx,4),%xmm0
+  DB  243,15,16,52,178                    ; movss         (%edx,%esi,4),%xmm6
+  DB  15,20,240                           ; unpcklps      %xmm0,%xmm6
+  DB  243,15,16,28,186                    ; movss         (%edx,%edi,4),%xmm3
+  DB  243,15,16,4,130                     ; movss         (%edx,%eax,4),%xmm0
+  DB  15,20,216                           ; unpcklps      %xmm0,%xmm3
+  DB  102,15,20,222                       ; unpcklpd      %xmm6,%xmm3
+  DB  102,15,111,212                      ; movdqa        %xmm4,%xmm2
+  DB  102,15,254,85,168                   ; paddd         -0x58(%ebp),%xmm2
+  DB  102,15,112,194,245                  ; pshufd        $0xf5,%xmm2,%xmm0
+  DB  102,15,111,137,128,131,0,0          ; movdqa        0x8380(%ecx),%xmm1
+  DB  102,15,244,209                      ; pmuludq       %xmm1,%xmm2
+  DB  102,15,244,193                      ; pmuludq       %xmm1,%xmm0
+  DB  102,15,112,240,232                  ; pshufd        $0xe8,%xmm0,%xmm6
+  DB  102,15,112,194,232                  ; pshufd        $0xe8,%xmm2,%xmm0
+  DB  102,15,98,198                       ; punpckldq     %xmm6,%xmm0
+  DB  102,15,126,208                      ; movd          %xmm2,%eax
+  DB  102,15,112,224,229                  ; pshufd        $0xe5,%xmm0,%xmm4
+  DB  102,15,126,230                      ; movd          %xmm4,%esi
+  DB  102,15,112,224,78                   ; pshufd        $0x4e,%xmm0,%xmm4
+  DB  102,15,126,231                      ; movd          %xmm4,%edi
+  DB  102,15,112,224,231                  ; pshufd        $0xe7,%xmm0,%xmm4
+  DB  102,15,126,227                      ; movd          %xmm4,%ebx
+  DB  243,15,16,36,154                    ; movss         (%edx,%ebx,4),%xmm4
+  DB  243,15,16,52,186                    ; movss         (%edx,%edi,4),%xmm6
+  DB  15,20,244                           ; unpcklps      %xmm4,%xmm6
+  DB  243,15,16,36,178                    ; movss         (%edx,%esi,4),%xmm4
+  DB  243,15,16,12,130                    ; movss         (%edx,%eax,4),%xmm1
+  DB  15,20,204                           ; unpcklps      %xmm4,%xmm1
+  DB  102,15,20,206                       ; unpcklpd      %xmm6,%xmm1
+  DB  102,15,111,224                      ; movdqa        %xmm0,%xmm4
+  DB  102,15,118,210                      ; pcmpeqd       %xmm2,%xmm2
+  DB  102,15,250,226                      ; psubd         %xmm2,%xmm4
+  DB  102,15,112,244,229                  ; pshufd        $0xe5,%xmm4,%xmm6
+  DB  102,15,126,240                      ; movd          %xmm6,%eax
+  DB  102,15,112,244,78                   ; pshufd        $0x4e,%xmm4,%xmm6
+  DB  102,15,126,246                      ; movd          %xmm6,%esi
+  DB  102,15,126,231                      ; movd          %xmm4,%edi
+  DB  102,15,112,228,231                  ; pshufd        $0xe7,%xmm4,%xmm4
+  DB  102,15,126,227                      ; movd          %xmm4,%ebx
+  DB  243,15,16,36,154                    ; movss         (%edx,%ebx,4),%xmm4
+  DB  243,15,16,52,178                    ; movss         (%edx,%esi,4),%xmm6
+  DB  15,20,244                           ; unpcklps      %xmm4,%xmm6
+  DB  243,15,16,20,186                    ; movss         (%edx,%edi,4),%xmm2
+  DB  243,15,16,36,130                    ; movss         (%edx,%eax,4),%xmm4
+  DB  15,20,212                           ; unpcklps      %xmm4,%xmm2
+  DB  102,15,20,214                       ; unpcklpd      %xmm6,%xmm2
+  DB  102,15,254,129,32,125,0,0           ; paddd         0x7d20(%ecx),%xmm0
+  DB  102,15,112,224,229                  ; pshufd        $0xe5,%xmm0,%xmm4
+  DB  102,15,126,224                      ; movd          %xmm4,%eax
+  DB  102,15,112,224,78                   ; pshufd        $0x4e,%xmm0,%xmm4
+  DB  102,15,126,230                      ; movd          %xmm4,%esi
+  DB  102,15,126,199                      ; movd          %xmm0,%edi
+  DB  102,15,112,192,231                  ; pshufd        $0xe7,%xmm0,%xmm0
+  DB  102,15,126,195                      ; movd          %xmm0,%ebx
+  DB  243,15,16,4,154                     ; movss         (%edx,%ebx,4),%xmm0
+  DB  243,15,16,36,178                    ; movss         (%edx,%esi,4),%xmm4
+  DB  15,20,224                           ; unpcklps      %xmm0,%xmm4
+  DB  243,15,16,52,186                    ; movss         (%edx,%edi,4),%xmm6
+  DB  243,15,16,4,130                     ; movss         (%edx,%eax,4),%xmm0
+  DB  15,20,240                           ; unpcklps      %xmm0,%xmm6
+  DB  102,15,20,244                       ; unpcklpd      %xmm4,%xmm6
+  DB  15,40,101,200                       ; movaps        -0x38(%ebp),%xmm4
+  DB  15,92,204                           ; subps         %xmm4,%xmm1
+  DB  15,40,69,216                        ; movaps        -0x28(%ebp),%xmm0
+  DB  15,89,200                           ; mulps         %xmm0,%xmm1
+  DB  15,88,204                           ; addps         %xmm4,%xmm1
+  DB  15,40,165,232,254,255,255           ; movaps        -0x118(%ebp),%xmm4
+  DB  15,92,212                           ; subps         %xmm4,%xmm2
+  DB  15,89,208                           ; mulps         %xmm0,%xmm2
+  DB  15,88,212                           ; addps         %xmm4,%xmm2
+  DB  15,92,243                           ; subps         %xmm3,%xmm6
+  DB  15,89,240                           ; mulps         %xmm0,%xmm6
+  DB  15,88,243                           ; addps         %xmm3,%xmm6
+  DB  15,40,93,136                        ; movaps        -0x78(%ebp),%xmm3
+  DB  15,92,203                           ; subps         %xmm3,%xmm1
+  DB  15,40,133,56,255,255,255            ; movaps        -0xc8(%ebp),%xmm0
+  DB  15,89,200                           ; mulps         %xmm0,%xmm1
+  DB  15,88,203                           ; addps         %xmm3,%xmm1
+  DB  15,40,217                           ; movaps        %xmm1,%xmm3
+  DB  15,92,213                           ; subps         %xmm5,%xmm2
+  DB  15,89,208                           ; mulps         %xmm0,%xmm2
+  DB  15,88,213                           ; addps         %xmm5,%xmm2
+  DB  15,92,247                           ; subps         %xmm7,%xmm6
+  DB  15,89,240                           ; mulps         %xmm0,%xmm6
+  DB  15,88,247                           ; addps         %xmm7,%xmm6
+  DB  15,91,133,216,254,255,255           ; cvtdq2ps      -0x128(%ebp),%xmm0
+  DB  15,40,141,248,254,255,255           ; movaps        -0x108(%ebp),%xmm1
+  DB  15,92,200                           ; subps         %xmm0,%xmm1
+  DB  15,41,141,248,254,255,255           ; movaps        %xmm1,-0x108(%ebp)
+  DB  15,40,133,40,255,255,255            ; movaps        -0xd8(%ebp),%xmm0
+  DB  15,92,216                           ; subps         %xmm0,%xmm3
+  DB  15,89,217                           ; mulps         %xmm1,%xmm3
+  DB  15,88,216                           ; addps         %xmm0,%xmm3
+  DB  15,41,157,40,255,255,255            ; movaps        %xmm3,-0xd8(%ebp)
+  DB  15,40,133,104,255,255,255           ; movaps        -0x98(%ebp),%xmm0
+  DB  15,92,208                           ; subps         %xmm0,%xmm2
+  DB  15,89,209                           ; mulps         %xmm1,%xmm2
+  DB  15,88,208                           ; addps         %xmm0,%xmm2
+  DB  15,41,149,104,255,255,255           ; movaps        %xmm2,-0x98(%ebp)
+  DB  15,40,69,184                        ; movaps        -0x48(%ebp),%xmm0
+  DB  15,92,240                           ; subps         %xmm0,%xmm6
+  DB  15,89,241                           ; mulps         %xmm1,%xmm6
+  DB  15,88,240                           ; addps         %xmm0,%xmm6
+  DB  15,41,181,216,254,255,255           ; movaps        %xmm6,-0x128(%ebp)
+  DB  243,15,91,141,120,255,255,255       ; cvttps2dq     -0x88(%ebp),%xmm1
+  DB  102,15,127,77,136                   ; movdqa        %xmm1,-0x78(%ebp)
+  DB  102,15,111,133,8,255,255,255        ; movdqa        -0xf8(%ebp),%xmm0
+  DB  102,15,254,193                      ; paddd         %xmm1,%xmm0
+  DB  102,15,127,133,8,255,255,255        ; movdqa        %xmm0,-0xf8(%ebp)
+  DB  102,15,111,141,72,255,255,255       ; movdqa        -0xb8(%ebp),%xmm1
+  DB  102,15,254,200                      ; paddd         %xmm0,%xmm1
+  DB  102,15,111,93,152                   ; movdqa        -0x68(%ebp),%xmm3
+  DB  102,15,254,217                      ; paddd         %xmm1,%xmm3
+  DB  102,15,112,211,245                  ; pshufd        $0xf5,%xmm3,%xmm2
+  DB  102,15,111,129,128,131,0,0          ; movdqa        0x8380(%ecx),%xmm0
+  DB  102,15,244,216                      ; pmuludq       %xmm0,%xmm3
+  DB  102,15,244,208                      ; pmuludq       %xmm0,%xmm2
+  DB  102,15,111,248                      ; movdqa        %xmm0,%xmm7
+  DB  102,15,112,226,232                  ; pshufd        $0xe8,%xmm2,%xmm4
+  DB  102,15,112,211,232                  ; pshufd        $0xe8,%xmm3,%xmm2
+  DB  102,15,98,212                       ; punpckldq     %xmm4,%xmm2
+  DB  102,15,126,216                      ; movd          %xmm3,%eax
+  DB  102,15,112,218,229                  ; pshufd        $0xe5,%xmm2,%xmm3
+  DB  102,15,126,222                      ; movd          %xmm3,%esi
+  DB  102,15,112,218,78                   ; pshufd        $0x4e,%xmm2,%xmm3
+  DB  102,15,126,223                      ; movd          %xmm3,%edi
+  DB  102,15,112,218,231                  ; pshufd        $0xe7,%xmm2,%xmm3
+  DB  102,15,126,219                      ; movd          %xmm3,%ebx
+  DB  243,15,16,28,154                    ; movss         (%edx,%ebx,4),%xmm3
+  DB  243,15,16,44,186                    ; movss         (%edx,%edi,4),%xmm5
+  DB  15,20,235                           ; unpcklps      %xmm3,%xmm5
+  DB  243,15,16,28,178                    ; movss         (%edx,%esi,4),%xmm3
+  DB  243,15,16,4,130                     ; movss         (%edx,%eax,4),%xmm0
+  DB  15,20,195                           ; unpcklps      %xmm3,%xmm0
+  DB  102,15,20,197                       ; unpcklpd      %xmm5,%xmm0
+  DB  102,15,41,133,120,255,255,255       ; movapd        %xmm0,-0x88(%ebp)
+  DB  102,15,111,218                      ; movdqa        %xmm2,%xmm3
+  DB  102,15,118,192                      ; pcmpeqd       %xmm0,%xmm0
+  DB  102,15,250,216                      ; psubd         %xmm0,%xmm3
+  DB  102,15,112,235,229                  ; pshufd        $0xe5,%xmm3,%xmm5
+  DB  102,15,126,232                      ; movd          %xmm5,%eax
+  DB  102,15,112,235,78                   ; pshufd        $0x4e,%xmm3,%xmm5
+  DB  102,15,126,238                      ; movd          %xmm5,%esi
+  DB  102,15,126,223                      ; movd          %xmm3,%edi
+  DB  102,15,112,219,231                  ; pshufd        $0xe7,%xmm3,%xmm3
+  DB  102,15,126,219                      ; movd          %xmm3,%ebx
+  DB  243,15,16,28,154                    ; movss         (%edx,%ebx,4),%xmm3
+  DB  243,15,16,52,178                    ; movss         (%edx,%esi,4),%xmm6
+  DB  15,20,243                           ; unpcklps      %xmm3,%xmm6
+  DB  243,15,16,44,186                    ; movss         (%edx,%edi,4),%xmm5
+  DB  243,15,16,28,130                    ; movss         (%edx,%eax,4),%xmm3
+  DB  15,20,235                           ; unpcklps      %xmm3,%xmm5
+  DB  102,15,20,238                       ; unpcklpd      %xmm6,%xmm5
+  DB  102,15,254,145,32,125,0,0           ; paddd         0x7d20(%ecx),%xmm2
+  DB  102,15,112,218,229                  ; pshufd        $0xe5,%xmm2,%xmm3
+  DB  102,15,126,216                      ; movd          %xmm3,%eax
+  DB  102,15,112,218,78                   ; pshufd        $0x4e,%xmm2,%xmm3
+  DB  102,15,126,222                      ; movd          %xmm3,%esi
+  DB  102,15,126,215                      ; movd          %xmm2,%edi
+  DB  102,15,112,210,231                  ; pshufd        $0xe7,%xmm2,%xmm2
+  DB  102,15,126,211                      ; movd          %xmm2,%ebx
+  DB  243,15,16,20,154                    ; movss         (%edx,%ebx,4),%xmm2
+  DB  243,15,16,28,178                    ; movss         (%edx,%esi,4),%xmm3
+  DB  15,20,218                           ; unpcklps      %xmm2,%xmm3
+  DB  243,15,16,52,186                    ; movss         (%edx,%edi,4),%xmm6
+  DB  243,15,16,20,130                    ; movss         (%edx,%eax,4),%xmm2
+  DB  15,20,242                           ; unpcklps      %xmm2,%xmm6
+  DB  102,15,20,243                       ; unpcklpd      %xmm3,%xmm6
+  DB  102,15,254,77,168                   ; paddd         -0x58(%ebp),%xmm1
+  DB  102,15,112,209,245                  ; pshufd        $0xf5,%xmm1,%xmm2
+  DB  102,15,244,207                      ; pmuludq       %xmm7,%xmm1
+  DB  102,15,244,215                      ; pmuludq       %xmm7,%xmm2
+  DB  102,15,112,210,232                  ; pshufd        $0xe8,%xmm2,%xmm2
+  DB  102,15,112,217,232                  ; pshufd        $0xe8,%xmm1,%xmm3
+  DB  102,15,98,218                       ; punpckldq     %xmm2,%xmm3
+  DB  102,15,126,200                      ; movd          %xmm1,%eax
+  DB  102,15,112,203,229                  ; pshufd        $0xe5,%xmm3,%xmm1
+  DB  102,15,126,206                      ; movd          %xmm1,%esi
+  DB  102,15,112,203,78                   ; pshufd        $0x4e,%xmm3,%xmm1
+  DB  102,15,126,207                      ; movd          %xmm1,%edi
+  DB  102,15,112,203,231                  ; pshufd        $0xe7,%xmm3,%xmm1
+  DB  102,15,126,203                      ; movd          %xmm1,%ebx
+  DB  243,15,16,12,154                    ; movss         (%edx,%ebx,4),%xmm1
+  DB  243,15,16,20,186                    ; movss         (%edx,%edi,4),%xmm2
+  DB  15,20,209                           ; unpcklps      %xmm1,%xmm2
+  DB  243,15,16,60,178                    ; movss         (%edx,%esi,4),%xmm7
+  DB  243,15,16,36,130                    ; movss         (%edx,%eax,4),%xmm4
+  DB  15,20,231                           ; unpcklps      %xmm7,%xmm4
+  DB  102,15,20,226                       ; unpcklpd      %xmm2,%xmm4
+  DB  102,15,111,211                      ; movdqa        %xmm3,%xmm2
+  DB  102,15,250,208                      ; psubd         %xmm0,%xmm2
+  DB  102,15,112,250,229                  ; pshufd        $0xe5,%xmm2,%xmm7
+  DB  102,15,126,248                      ; movd          %xmm7,%eax
+  DB  102,15,112,250,78                   ; pshufd        $0x4e,%xmm2,%xmm7
+  DB  102,15,126,254                      ; movd          %xmm7,%esi
+  DB  102,15,126,215                      ; movd          %xmm2,%edi
+  DB  102,15,112,210,231                  ; pshufd        $0xe7,%xmm2,%xmm2
+  DB  102,15,126,211                      ; movd          %xmm2,%ebx
+  DB  243,15,16,20,154                    ; movss         (%edx,%ebx,4),%xmm2
+  DB  243,15,16,60,178                    ; movss         (%edx,%esi,4),%xmm7
+  DB  15,20,250                           ; unpcklps      %xmm2,%xmm7
+  DB  243,15,16,20,186                    ; movss         (%edx,%edi,4),%xmm2
+  DB  243,15,16,4,130                     ; movss         (%edx,%eax,4),%xmm0
+  DB  15,20,208                           ; unpcklps      %xmm0,%xmm2
+  DB  102,15,20,215                       ; unpcklpd      %xmm7,%xmm2
+  DB  102,15,111,137,32,125,0,0           ; movdqa        0x7d20(%ecx),%xmm1
+  DB  102,15,254,217                      ; paddd         %xmm1,%xmm3
+  DB  102,15,112,195,229                  ; pshufd        $0xe5,%xmm3,%xmm0
+  DB  102,15,126,192                      ; movd          %xmm0,%eax
+  DB  102,15,112,195,78                   ; pshufd        $0x4e,%xmm3,%xmm0
+  DB  102,15,126,198                      ; movd          %xmm0,%esi
+  DB  102,15,126,223                      ; movd          %xmm3,%edi
+  DB  102,15,112,195,231                  ; pshufd        $0xe7,%xmm3,%xmm0
+  DB  102,15,126,195                      ; movd          %xmm0,%ebx
+  DB  243,15,16,4,154                     ; movss         (%edx,%ebx,4),%xmm0
+  DB  243,15,16,60,178                    ; movss         (%edx,%esi,4),%xmm7
+  DB  15,20,248                           ; unpcklps      %xmm0,%xmm7
+  DB  243,15,16,28,186                    ; movss         (%edx,%edi,4),%xmm3
+  DB  243,15,16,4,130                     ; movss         (%edx,%eax,4),%xmm0
+  DB  15,20,216                           ; unpcklps      %xmm0,%xmm3
+  DB  102,15,20,223                       ; unpcklpd      %xmm7,%xmm3
+  DB  15,40,189,120,255,255,255           ; movaps        -0x88(%ebp),%xmm7
+  DB  15,92,231                           ; subps         %xmm7,%xmm4
+  DB  15,40,69,216                        ; movaps        -0x28(%ebp),%xmm0
+  DB  15,89,224                           ; mulps         %xmm0,%xmm4
+  DB  15,88,231                           ; addps         %xmm7,%xmm4
+  DB  15,41,165,120,255,255,255           ; movaps        %xmm4,-0x88(%ebp)
+  DB  15,92,213                           ; subps         %xmm5,%xmm2
+  DB  15,89,208                           ; mulps         %xmm0,%xmm2
+  DB  15,88,213                           ; addps         %xmm5,%xmm2
+  DB  15,41,85,200                        ; movaps        %xmm2,-0x38(%ebp)
+  DB  15,92,222                           ; subps         %xmm6,%xmm3
+  DB  15,89,216                           ; mulps         %xmm0,%xmm3
+  DB  15,88,222                           ; addps         %xmm6,%xmm3
+  DB  15,41,93,184                        ; movaps        %xmm3,-0x48(%ebp)
+  DB  102,15,111,149,8,255,255,255        ; movdqa        -0xf8(%ebp),%xmm2
+  DB  102,15,254,149,88,255,255,255       ; paddd         -0xa8(%ebp),%xmm2
+  DB  102,15,111,194                      ; movdqa        %xmm2,%xmm0
+  DB  102,15,254,69,152                   ; paddd         -0x68(%ebp),%xmm0
+  DB  102,15,112,224,245                  ; pshufd        $0xf5,%xmm0,%xmm4
+  DB  102,15,111,169,128,131,0,0          ; movdqa        0x8380(%ecx),%xmm5
+  DB  102,15,111,221                      ; movdqa        %xmm5,%xmm3
+  DB  102,15,244,195                      ; pmuludq       %xmm3,%xmm0
+  DB  102,15,244,227                      ; pmuludq       %xmm3,%xmm4
+  DB  102,15,112,228,232                  ; pshufd        $0xe8,%xmm4,%xmm4
+  DB  102,15,112,240,232                  ; pshufd        $0xe8,%xmm0,%xmm6
+  DB  102,15,98,244                       ; punpckldq     %xmm4,%xmm6
+  DB  102,15,126,192                      ; movd          %xmm0,%eax
+  DB  102,15,112,198,229                  ; pshufd        $0xe5,%xmm6,%xmm0
+  DB  102,15,126,198                      ; movd          %xmm0,%esi
+  DB  102,15,112,198,78                   ; pshufd        $0x4e,%xmm6,%xmm0
+  DB  102,15,126,199                      ; movd          %xmm0,%edi
+  DB  102,15,112,198,231                  ; pshufd        $0xe7,%xmm6,%xmm0
+  DB  102,15,126,195                      ; movd          %xmm0,%ebx
+  DB  243,15,16,4,154                     ; movss         (%edx,%ebx,4),%xmm0
+  DB  243,15,16,44,186                    ; movss         (%edx,%edi,4),%xmm5
+  DB  15,20,232                           ; unpcklps      %xmm0,%xmm5
+  DB  243,15,16,4,178                     ; movss         (%edx,%esi,4),%xmm0
+  DB  243,15,16,36,130                    ; movss         (%edx,%eax,4),%xmm4
+  DB  15,20,224                           ; unpcklps      %xmm0,%xmm4
+  DB  102,15,20,229                       ; unpcklpd      %xmm5,%xmm4
+  DB  102,15,111,198                      ; movdqa        %xmm6,%xmm0
+  DB  102,15,118,219                      ; pcmpeqd       %xmm3,%xmm3
+  DB  102,15,250,195                      ; psubd         %xmm3,%xmm0
+  DB  102,15,112,232,229                  ; pshufd        $0xe5,%xmm0,%xmm5
+  DB  102,15,126,232                      ; movd          %xmm5,%eax
+  DB  102,15,112,232,78                   ; pshufd        $0x4e,%xmm0,%xmm5
+  DB  102,15,126,238                      ; movd          %xmm5,%esi
+  DB  102,15,126,199                      ; movd          %xmm0,%edi
+  DB  102,15,112,192,231                  ; pshufd        $0xe7,%xmm0,%xmm0
+  DB  102,15,126,195                      ; movd          %xmm0,%ebx
+  DB  243,15,16,4,154                     ; movss         (%edx,%ebx,4),%xmm0
+  DB  243,15,16,60,178                    ; movss         (%edx,%esi,4),%xmm7
+  DB  15,20,248                           ; unpcklps      %xmm0,%xmm7
+  DB  243,15,16,44,186                    ; movss         (%edx,%edi,4),%xmm5
+  DB  243,15,16,4,130                     ; movss         (%edx,%eax,4),%xmm0
+  DB  15,20,232                           ; unpcklps      %xmm0,%xmm5
+  DB  102,15,20,239                       ; unpcklpd      %xmm7,%xmm5
+  DB  102,15,254,241                      ; paddd         %xmm1,%xmm6
+  DB  102,15,112,198,229                  ; pshufd        $0xe5,%xmm6,%xmm0
+  DB  102,15,126,192                      ; movd          %xmm0,%eax
+  DB  102,15,112,198,78                   ; pshufd        $0x4e,%xmm6,%xmm0
+  DB  102,15,126,198                      ; movd          %xmm0,%esi
+  DB  102,15,126,247                      ; movd          %xmm6,%edi
+  DB  102,15,112,198,231                  ; pshufd        $0xe7,%xmm6,%xmm0
+  DB  102,15,126,195                      ; movd          %xmm0,%ebx
+  DB  243,15,16,4,154                     ; movss         (%edx,%ebx,4),%xmm0
+  DB  243,15,16,60,178                    ; movss         (%edx,%esi,4),%xmm7
+  DB  15,20,248                           ; unpcklps      %xmm0,%xmm7
+  DB  243,15,16,52,186                    ; movss         (%edx,%edi,4),%xmm6
+  DB  243,15,16,4,130                     ; movss         (%edx,%eax,4),%xmm0
+  DB  15,20,240                           ; unpcklps      %xmm0,%xmm6
+  DB  102,15,20,247                       ; unpcklpd      %xmm7,%xmm6
+  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
+  DB  102,15,254,77,168                   ; paddd         -0x58(%ebp),%xmm1
+  DB  102,15,112,193,245                  ; pshufd        $0xf5,%xmm1,%xmm0
+  DB  102,15,111,145,128,131,0,0          ; movdqa        0x8380(%ecx),%xmm2
+  DB  102,15,244,202                      ; pmuludq       %xmm2,%xmm1
+  DB  102,15,244,194                      ; pmuludq       %xmm2,%xmm0
+  DB  102,15,112,192,232                  ; pshufd        $0xe8,%xmm0,%xmm0
+  DB  102,15,112,249,232                  ; pshufd        $0xe8,%xmm1,%xmm7
+  DB  102,15,98,248                       ; punpckldq     %xmm0,%xmm7
+  DB  102,15,126,200                      ; movd          %xmm1,%eax
+  DB  102,15,112,199,229                  ; pshufd        $0xe5,%xmm7,%xmm0
+  DB  102,15,126,198                      ; movd          %xmm0,%esi
+  DB  102,15,112,199,78                   ; pshufd        $0x4e,%xmm7,%xmm0
+  DB  102,15,126,199                      ; movd          %xmm0,%edi
+  DB  102,15,112,199,231                  ; pshufd        $0xe7,%xmm7,%xmm0
+  DB  102,15,126,195                      ; movd          %xmm0,%ebx
+  DB  243,15,16,12,154                    ; movss         (%edx,%ebx,4),%xmm1
+  DB  243,15,16,4,186                     ; movss         (%edx,%edi,4),%xmm0
+  DB  15,20,193                           ; unpcklps      %xmm1,%xmm0
+  DB  243,15,16,12,178                    ; movss         (%edx,%esi,4),%xmm1
+  DB  243,15,16,20,130                    ; movss         (%edx,%eax,4),%xmm2
+  DB  15,20,209                           ; unpcklps      %xmm1,%xmm2
+  DB  102,15,20,208                       ; unpcklpd      %xmm0,%xmm2
+  DB  102,15,111,199                      ; movdqa        %xmm7,%xmm0
+  DB  102,15,250,195                      ; psubd         %xmm3,%xmm0
+  DB  102,15,112,200,229                  ; pshufd        $0xe5,%xmm0,%xmm1
+  DB  102,15,126,200                      ; movd          %xmm1,%eax
+  DB  102,15,112,200,78                   ; pshufd        $0x4e,%xmm0,%xmm1
+  DB  102,15,126,206                      ; movd          %xmm1,%esi
+  DB  102,15,126,199                      ; movd          %xmm0,%edi
+  DB  102,15,112,192,231                  ; pshufd        $0xe7,%xmm0,%xmm0
+  DB  102,15,126,195                      ; movd          %xmm0,%ebx
+  DB  243,15,16,4,154                     ; movss         (%edx,%ebx,4),%xmm0
+  DB  243,15,16,12,178                    ; movss         (%edx,%esi,4),%xmm1
+  DB  15,20,200                           ; unpcklps      %xmm0,%xmm1
+  DB  243,15,16,28,186                    ; movss         (%edx,%edi,4),%xmm3
+  DB  243,15,16,4,130                     ; movss         (%edx,%eax,4),%xmm0
+  DB  15,20,216                           ; unpcklps      %xmm0,%xmm3
+  DB  102,15,20,217                       ; unpcklpd      %xmm1,%xmm3
+  DB  102,15,254,185,32,125,0,0           ; paddd         0x7d20(%ecx),%xmm7
+  DB  102,15,112,199,229                  ; pshufd        $0xe5,%xmm7,%xmm0
+  DB  102,15,126,192                      ; movd          %xmm0,%eax
+  DB  102,15,112,199,78                   ; pshufd        $0x4e,%xmm7,%xmm0
+  DB  102,15,126,198                      ; movd          %xmm0,%esi
+  DB  102,15,126,255                      ; movd          %xmm7,%edi
+  DB  102,15,112,199,231                  ; pshufd        $0xe7,%xmm7,%xmm0
+  DB  102,15,126,195                      ; movd          %xmm0,%ebx
+  DB  243,15,16,4,154                     ; movss         (%edx,%ebx,4),%xmm0
+  DB  243,15,16,12,178                    ; movss         (%edx,%esi,4),%xmm1
+  DB  15,20,200                           ; unpcklps      %xmm0,%xmm1
+  DB  243,15,16,60,186                    ; movss         (%edx,%edi,4),%xmm7
+  DB  243,15,16,4,130                     ; movss         (%edx,%eax,4),%xmm0
+  DB  15,20,248                           ; unpcklps      %xmm0,%xmm7
+  DB  102,15,20,249                       ; unpcklpd      %xmm1,%xmm7
+  DB  15,92,212                           ; subps         %xmm4,%xmm2
+  DB  15,40,69,216                        ; movaps        -0x28(%ebp),%xmm0
+  DB  15,89,208                           ; mulps         %xmm0,%xmm2
+  DB  15,88,212                           ; addps         %xmm4,%xmm2
+  DB  15,92,221                           ; subps         %xmm5,%xmm3
+  DB  15,89,216                           ; mulps         %xmm0,%xmm3
+  DB  15,88,221                           ; addps         %xmm5,%xmm3
+  DB  15,92,254                           ; subps         %xmm6,%xmm7
+  DB  15,89,248                           ; mulps         %xmm0,%xmm7
+  DB  15,88,254                           ; addps         %xmm6,%xmm7
+  DB  15,40,141,120,255,255,255           ; movaps        -0x88(%ebp),%xmm1
+  DB  15,92,209                           ; subps         %xmm1,%xmm2
+  DB  15,40,133,56,255,255,255            ; movaps        -0xc8(%ebp),%xmm0
+  DB  15,89,208                           ; mulps         %xmm0,%xmm2
+  DB  15,88,209                           ; addps         %xmm1,%xmm2
+  DB  15,41,149,8,255,255,255             ; movaps        %xmm2,-0xf8(%ebp)
+  DB  15,40,77,200                        ; movaps        -0x38(%ebp),%xmm1
+  DB  15,92,217                           ; subps         %xmm1,%xmm3
+  DB  15,89,216                           ; mulps         %xmm0,%xmm3
+  DB  15,88,217                           ; addps         %xmm1,%xmm3
+  DB  15,41,157,120,255,255,255           ; movaps        %xmm3,-0x88(%ebp)
+  DB  15,40,77,184                        ; movaps        -0x48(%ebp),%xmm1
+  DB  15,92,249                           ; subps         %xmm1,%xmm7
+  DB  15,89,248                           ; mulps         %xmm0,%xmm7
+  DB  15,88,249                           ; addps         %xmm1,%xmm7
+  DB  15,41,125,184                       ; movaps        %xmm7,-0x48(%ebp)
+  DB  102,15,111,133,24,255,255,255       ; movdqa        -0xe8(%ebp),%xmm0
+  DB  102,15,254,69,136                   ; paddd         -0x78(%ebp),%xmm0
+  DB  102,15,127,133,24,255,255,255       ; movdqa        %xmm0,-0xe8(%ebp)
+  DB  102,15,111,141,72,255,255,255       ; movdqa        -0xb8(%ebp),%xmm1
+  DB  102,15,254,200                      ; paddd         %xmm0,%xmm1
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,15,111,233                      ; movdqa        %xmm1,%xmm5
+  DB  102,15,254,69,152                   ; paddd         -0x68(%ebp),%xmm0
+  DB  102,15,112,200,245                  ; pshufd        $0xf5,%xmm0,%xmm1
+  DB  102,15,111,145,128,131,0,0          ; movdqa        0x8380(%ecx),%xmm2
+  DB  102,15,244,194                      ; pmuludq       %xmm2,%xmm0
+  DB  102,15,244,202                      ; pmuludq       %xmm2,%xmm1
+  DB  102,15,111,250                      ; movdqa        %xmm2,%xmm7
+  DB  102,15,112,201,232                  ; pshufd        $0xe8,%xmm1,%xmm1
+  DB  102,15,112,208,232                  ; pshufd        $0xe8,%xmm0,%xmm2
+  DB  102,15,98,209                       ; punpckldq     %xmm1,%xmm2
+  DB  102,15,126,192                      ; movd          %xmm0,%eax
+  DB  102,15,112,194,229                  ; pshufd        $0xe5,%xmm2,%xmm0
+  DB  102,15,126,198                      ; movd          %xmm0,%esi
+  DB  102,15,112,194,78                   ; pshufd        $0x4e,%xmm2,%xmm0
+  DB  102,15,126,199                      ; movd          %xmm0,%edi
+  DB  102,15,112,194,231                  ; pshufd        $0xe7,%xmm2,%xmm0
+  DB  102,15,126,195                      ; movd          %xmm0,%ebx
+  DB  243,15,16,4,154                     ; movss         (%edx,%ebx,4),%xmm0
+  DB  243,15,16,12,186                    ; movss         (%edx,%edi,4),%xmm1
+  DB  15,20,200                           ; unpcklps      %xmm0,%xmm1
+  DB  243,15,16,28,178                    ; movss         (%edx,%esi,4),%xmm3
+  DB  243,15,16,4,130                     ; movss         (%edx,%eax,4),%xmm0
+  DB  15,20,195                           ; unpcklps      %xmm3,%xmm0
+  DB  102,15,20,193                       ; unpcklpd      %xmm1,%xmm0
+  DB  102,15,41,133,72,255,255,255        ; movapd        %xmm0,-0xb8(%ebp)
+  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
+  DB  102,15,118,246                      ; pcmpeqd       %xmm6,%xmm6
+  DB  102,15,250,206                      ; psubd         %xmm6,%xmm1
+  DB  102,15,112,217,229                  ; pshufd        $0xe5,%xmm1,%xmm3
+  DB  102,15,126,216                      ; movd          %xmm3,%eax
+  DB  102,15,112,217,78                   ; pshufd        $0x4e,%xmm1,%xmm3
+  DB  102,15,126,222                      ; movd          %xmm3,%esi
+  DB  102,15,126,207                      ; movd          %xmm1,%edi
+  DB  102,15,112,201,231                  ; pshufd        $0xe7,%xmm1,%xmm1
+  DB  102,15,126,203                      ; movd          %xmm1,%ebx
+  DB  243,15,16,12,154                    ; movss         (%edx,%ebx,4),%xmm1
+  DB  243,15,16,28,178                    ; movss         (%edx,%esi,4),%xmm3
+  DB  15,20,217                           ; unpcklps      %xmm1,%xmm3
+  DB  243,15,16,12,186                    ; movss         (%edx,%edi,4),%xmm1
+  DB  243,15,16,36,130                    ; movss         (%edx,%eax,4),%xmm4
+  DB  15,20,204                           ; unpcklps      %xmm4,%xmm1
+  DB  102,15,20,203                       ; unpcklpd      %xmm3,%xmm1
+  DB  102,15,254,145,32,125,0,0           ; paddd         0x7d20(%ecx),%xmm2
+  DB  102,15,112,218,229                  ; pshufd        $0xe5,%xmm2,%xmm3
+  DB  102,15,126,216                      ; movd          %xmm3,%eax
+  DB  102,15,112,218,78                   ; pshufd        $0x4e,%xmm2,%xmm3
+  DB  102,15,126,222                      ; movd          %xmm3,%esi
+  DB  102,15,126,215                      ; movd          %xmm2,%edi
+  DB  102,15,112,210,231                  ; pshufd        $0xe7,%xmm2,%xmm2
+  DB  102,15,126,211                      ; movd          %xmm2,%ebx
+  DB  243,15,16,20,154                    ; movss         (%edx,%ebx,4),%xmm2
+  DB  243,15,16,28,178                    ; movss         (%edx,%esi,4),%xmm3
+  DB  15,20,218                           ; unpcklps      %xmm2,%xmm3
+  DB  243,15,16,20,186                    ; movss         (%edx,%edi,4),%xmm2
+  DB  243,15,16,36,130                    ; movss         (%edx,%eax,4),%xmm4
+  DB  15,20,212                           ; unpcklps      %xmm4,%xmm2
+  DB  102,15,20,211                       ; unpcklpd      %xmm3,%xmm2
+  DB  102,15,111,229                      ; movdqa        %xmm5,%xmm4
+  DB  102,15,254,101,168                  ; paddd         -0x58(%ebp),%xmm4
+  DB  102,15,112,220,245                  ; pshufd        $0xf5,%xmm4,%xmm3
+  DB  102,15,244,231                      ; pmuludq       %xmm7,%xmm4
+  DB  102,15,111,236                      ; movdqa        %xmm4,%xmm5
+  DB  102,15,244,223                      ; pmuludq       %xmm7,%xmm3
+  DB  102,15,112,227,232                  ; pshufd        $0xe8,%xmm3,%xmm4
+  DB  102,15,112,221,232                  ; pshufd        $0xe8,%xmm5,%xmm3
+  DB  102,15,98,220                       ; punpckldq     %xmm4,%xmm3
+  DB  102,15,126,232                      ; movd          %xmm5,%eax
+  DB  102,15,112,227,229                  ; pshufd        $0xe5,%xmm3,%xmm4
+  DB  102,15,126,230                      ; movd          %xmm4,%esi
+  DB  102,15,112,227,78                   ; pshufd        $0x4e,%xmm3,%xmm4
+  DB  102,15,126,231                      ; movd          %xmm4,%edi
+  DB  102,15,112,227,231                  ; pshufd        $0xe7,%xmm3,%xmm4
+  DB  102,15,126,227                      ; movd          %xmm4,%ebx
+  DB  243,15,16,36,154                    ; movss         (%edx,%ebx,4),%xmm4
+  DB  243,15,16,44,186                    ; movss         (%edx,%edi,4),%xmm5
+  DB  15,20,236                           ; unpcklps      %xmm4,%xmm5
+  DB  243,15,16,36,178                    ; movss         (%edx,%esi,4),%xmm4
+  DB  243,15,16,4,130                     ; movss         (%edx,%eax,4),%xmm0
+  DB  15,20,196                           ; unpcklps      %xmm4,%xmm0
+  DB  102,15,20,197                       ; unpcklpd      %xmm5,%xmm0
+  DB  102,15,111,227                      ; movdqa        %xmm3,%xmm4
+  DB  102,15,250,230                      ; psubd         %xmm6,%xmm4
+  DB  102,15,112,236,229                  ; pshufd        $0xe5,%xmm4,%xmm5
+  DB  102,15,126,232                      ; movd          %xmm5,%eax
+  DB  102,15,112,236,78                   ; pshufd        $0x4e,%xmm4,%xmm5
+  DB  102,15,126,238                      ; movd          %xmm5,%esi
+  DB  102,15,126,231                      ; movd          %xmm4,%edi
+  DB  102,15,112,228,231                  ; pshufd        $0xe7,%xmm4,%xmm4
+  DB  102,15,126,227                      ; movd          %xmm4,%ebx
+  DB  243,15,16,36,154                    ; movss         (%edx,%ebx,4),%xmm4
+  DB  243,15,16,52,178                    ; movss         (%edx,%esi,4),%xmm6
+  DB  15,20,244                           ; unpcklps      %xmm4,%xmm6
+  DB  243,15,16,60,186                    ; movss         (%edx,%edi,4),%xmm7
+  DB  243,15,16,36,130                    ; movss         (%edx,%eax,4),%xmm4
+  DB  15,20,252                           ; unpcklps      %xmm4,%xmm7
+  DB  102,15,20,254                       ; unpcklpd      %xmm6,%xmm7
+  DB  102,15,254,153,32,125,0,0           ; paddd         0x7d20(%ecx),%xmm3
+  DB  102,15,112,227,229                  ; pshufd        $0xe5,%xmm3,%xmm4
+  DB  102,15,126,224                      ; movd          %xmm4,%eax
+  DB  102,15,112,227,78                   ; pshufd        $0x4e,%xmm3,%xmm4
+  DB  102,15,126,230                      ; movd          %xmm4,%esi
+  DB  102,15,126,223                      ; movd          %xmm3,%edi
+  DB  102,15,112,219,231                  ; pshufd        $0xe7,%xmm3,%xmm3
+  DB  102,15,126,219                      ; movd          %xmm3,%ebx
+  DB  243,15,16,28,154                    ; movss         (%edx,%ebx,4),%xmm3
+  DB  243,15,16,52,178                    ; movss         (%edx,%esi,4),%xmm6
+  DB  15,20,243                           ; unpcklps      %xmm3,%xmm6
+  DB  243,15,16,44,186                    ; movss         (%edx,%edi,4),%xmm5
+  DB  243,15,16,28,130                    ; movss         (%edx,%eax,4),%xmm3
+  DB  15,20,235                           ; unpcklps      %xmm3,%xmm5
+  DB  102,15,20,238                       ; unpcklpd      %xmm6,%xmm5
+  DB  15,40,165,72,255,255,255            ; movaps        -0xb8(%ebp),%xmm4
+  DB  15,92,196                           ; subps         %xmm4,%xmm0
+  DB  15,40,93,216                        ; movaps        -0x28(%ebp),%xmm3
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  15,88,196                           ; addps         %xmm4,%xmm0
+  DB  15,41,133,72,255,255,255            ; movaps        %xmm0,-0xb8(%ebp)
+  DB  15,92,249                           ; subps         %xmm1,%xmm7
+  DB  15,89,251                           ; mulps         %xmm3,%xmm7
+  DB  15,88,249                           ; addps         %xmm1,%xmm7
+  DB  15,92,234                           ; subps         %xmm2,%xmm5
+  DB  15,89,235                           ; mulps         %xmm3,%xmm5
+  DB  15,88,234                           ; addps         %xmm2,%xmm5
+  DB  102,15,111,133,24,255,255,255       ; movdqa        -0xe8(%ebp),%xmm0
+  DB  102,15,254,133,88,255,255,255       ; paddd         -0xa8(%ebp),%xmm0
+  DB  102,15,111,85,152                   ; movdqa        -0x68(%ebp),%xmm2
+  DB  102,15,254,208                      ; paddd         %xmm0,%xmm2
+  DB  102,15,111,216                      ; movdqa        %xmm0,%xmm3
+  DB  102,15,112,194,245                  ; pshufd        $0xf5,%xmm2,%xmm0
+  DB  102,15,111,137,128,131,0,0          ; movdqa        0x8380(%ecx),%xmm1
+  DB  102,15,244,209                      ; pmuludq       %xmm1,%xmm2
+  DB  102,15,244,193                      ; pmuludq       %xmm1,%xmm0
+  DB  102,15,111,241                      ; movdqa        %xmm1,%xmm6
+  DB  102,15,112,200,232                  ; pshufd        $0xe8,%xmm0,%xmm1
+  DB  102,15,112,194,232                  ; pshufd        $0xe8,%xmm2,%xmm0
+  DB  102,15,98,193                       ; punpckldq     %xmm1,%xmm0
+  DB  102,15,126,208                      ; movd          %xmm2,%eax
+  DB  102,15,112,200,229                  ; pshufd        $0xe5,%xmm0,%xmm1
+  DB  102,15,126,206                      ; movd          %xmm1,%esi
+  DB  102,15,112,200,78                   ; pshufd        $0x4e,%xmm0,%xmm1
+  DB  102,15,126,207                      ; movd          %xmm1,%edi
+  DB  102,15,112,200,231                  ; pshufd        $0xe7,%xmm0,%xmm1
+  DB  102,15,126,203                      ; movd          %xmm1,%ebx
+  DB  243,15,16,12,154                    ; movss         (%edx,%ebx,4),%xmm1
+  DB  243,15,16,20,186                    ; movss         (%edx,%edi,4),%xmm2
+  DB  15,20,209                           ; unpcklps      %xmm1,%xmm2
+  DB  243,15,16,12,178                    ; movss         (%edx,%esi,4),%xmm1
+  DB  243,15,16,36,130                    ; movss         (%edx,%eax,4),%xmm4
+  DB  15,20,225                           ; unpcklps      %xmm1,%xmm4
+  DB  102,15,20,226                       ; unpcklpd      %xmm2,%xmm4
+  DB  102,15,41,101,152                   ; movapd        %xmm4,-0x68(%ebp)
+  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
+  DB  102,15,118,210                      ; pcmpeqd       %xmm2,%xmm2
+  DB  102,15,250,202                      ; psubd         %xmm2,%xmm1
+  DB  102,15,112,209,229                  ; pshufd        $0xe5,%xmm1,%xmm2
+  DB  102,15,126,208                      ; movd          %xmm2,%eax
+  DB  102,15,112,209,78                   ; pshufd        $0x4e,%xmm1,%xmm2
+  DB  102,15,126,214                      ; movd          %xmm2,%esi
+  DB  102,15,126,207                      ; movd          %xmm1,%edi
+  DB  102,15,112,201,231                  ; pshufd        $0xe7,%xmm1,%xmm1
+  DB  102,15,126,203                      ; movd          %xmm1,%ebx
+  DB  243,15,16,12,154                    ; movss         (%edx,%ebx,4),%xmm1
+  DB  243,15,16,20,178                    ; movss         (%edx,%esi,4),%xmm2
+  DB  15,20,209                           ; unpcklps      %xmm1,%xmm2
+  DB  243,15,16,36,186                    ; movss         (%edx,%edi,4),%xmm4
+  DB  243,15,16,12,130                    ; movss         (%edx,%eax,4),%xmm1
+  DB  15,20,225                           ; unpcklps      %xmm1,%xmm4
+  DB  102,15,20,226                       ; unpcklpd      %xmm2,%xmm4
+  DB  102,15,41,165,88,255,255,255        ; movapd        %xmm4,-0xa8(%ebp)
+  DB  102,15,254,129,32,125,0,0           ; paddd         0x7d20(%ecx),%xmm0
+  DB  102,15,112,200,229                  ; pshufd        $0xe5,%xmm0,%xmm1
+  DB  102,15,126,200                      ; movd          %xmm1,%eax
+  DB  102,15,112,200,78                   ; pshufd        $0x4e,%xmm0,%xmm1
+  DB  102,15,126,206                      ; movd          %xmm1,%esi
+  DB  102,15,126,199                      ; movd          %xmm0,%edi
+  DB  102,15,112,192,231                  ; pshufd        $0xe7,%xmm0,%xmm0
+  DB  102,15,126,195                      ; movd          %xmm0,%ebx
+  DB  243,15,16,4,154                     ; movss         (%edx,%ebx,4),%xmm0
+  DB  243,15,16,12,178                    ; movss         (%edx,%esi,4),%xmm1
+  DB  15,20,200                           ; unpcklps      %xmm0,%xmm1
+  DB  243,15,16,36,186                    ; movss         (%edx,%edi,4),%xmm4
+  DB  243,15,16,4,130                     ; movss         (%edx,%eax,4),%xmm0
+  DB  15,20,224                           ; unpcklps      %xmm0,%xmm4
+  DB  102,15,20,225                       ; unpcklpd      %xmm1,%xmm4
+  DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
+  DB  102,15,254,77,168                   ; paddd         -0x58(%ebp),%xmm1
+  DB  102,15,112,193,245                  ; pshufd        $0xf5,%xmm1,%xmm0
+  DB  102,15,244,206                      ; pmuludq       %xmm6,%xmm1
+  DB  102,15,244,198                      ; pmuludq       %xmm6,%xmm0
+  DB  102,15,112,192,232                  ; pshufd        $0xe8,%xmm0,%xmm0
+  DB  102,15,112,209,232                  ; pshufd        $0xe8,%xmm1,%xmm2
+  DB  102,15,98,208                       ; punpckldq     %xmm0,%xmm2
+  DB  102,15,126,200                      ; movd          %xmm1,%eax
+  DB  102,15,112,194,229                  ; pshufd        $0xe5,%xmm2,%xmm0
+  DB  102,15,126,198                      ; movd          %xmm0,%esi
+  DB  102,15,112,194,78                   ; pshufd        $0x4e,%xmm2,%xmm0
+  DB  102,15,126,199                      ; movd          %xmm0,%edi
+  DB  102,15,112,194,231                  ; pshufd        $0xe7,%xmm2,%xmm0
+  DB  102,15,126,195                      ; movd          %xmm0,%ebx
+  DB  243,15,16,4,154                     ; movss         (%edx,%ebx,4),%xmm0
+  DB  243,15,16,12,186                    ; movss         (%edx,%edi,4),%xmm1
+  DB  15,20,200                           ; unpcklps      %xmm0,%xmm1
+  DB  243,15,16,28,178                    ; movss         (%edx,%esi,4),%xmm3
+  DB  243,15,16,4,130                     ; movss         (%edx,%eax,4),%xmm0
+  DB  15,20,195                           ; unpcklps      %xmm3,%xmm0
+  DB  102,15,20,193                       ; unpcklpd      %xmm1,%xmm0
+  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
+  DB  102,15,118,219                      ; pcmpeqd       %xmm3,%xmm3
+  DB  102,15,250,203                      ; psubd         %xmm3,%xmm1
+  DB  102,15,112,217,229                  ; pshufd        $0xe5,%xmm1,%xmm3
+  DB  102,15,126,216                      ; movd          %xmm3,%eax
+  DB  102,15,112,217,78                   ; pshufd        $0x4e,%xmm1,%xmm3
+  DB  102,15,126,222                      ; movd          %xmm3,%esi
+  DB  102,15,126,207                      ; movd          %xmm1,%edi
+  DB  102,15,112,201,231                  ; pshufd        $0xe7,%xmm1,%xmm1
+  DB  102,15,126,203                      ; movd          %xmm1,%ebx
+  DB  243,15,16,12,154                    ; movss         (%edx,%ebx,4),%xmm1
+  DB  243,15,16,28,178                    ; movss         (%edx,%esi,4),%xmm3
+  DB  15,20,217                           ; unpcklps      %xmm1,%xmm3
+  DB  243,15,16,12,186                    ; movss         (%edx,%edi,4),%xmm1
+  DB  243,15,16,52,130                    ; movss         (%edx,%eax,4),%xmm6
+  DB  15,20,206                           ; unpcklps      %xmm6,%xmm1
+  DB  102,15,20,203                       ; unpcklpd      %xmm3,%xmm1
+  DB  102,15,254,145,32,125,0,0           ; paddd         0x7d20(%ecx),%xmm2
+  DB  102,15,112,218,229                  ; pshufd        $0xe5,%xmm2,%xmm3
+  DB  102,15,126,216                      ; movd          %xmm3,%eax
+  DB  102,15,112,218,78                   ; pshufd        $0x4e,%xmm2,%xmm3
+  DB  102,15,126,222                      ; movd          %xmm3,%esi
+  DB  102,15,126,215                      ; movd          %xmm2,%edi
+  DB  102,15,112,210,231                  ; pshufd        $0xe7,%xmm2,%xmm2
+  DB  102,15,126,211                      ; movd          %xmm2,%ebx
+  DB  243,15,16,20,154                    ; movss         (%edx,%ebx,4),%xmm2
+  DB  243,15,16,28,178                    ; movss         (%edx,%esi,4),%xmm3
+  DB  15,20,218                           ; unpcklps      %xmm2,%xmm3
+  DB  243,15,16,20,186                    ; movss         (%edx,%edi,4),%xmm2
+  DB  243,15,16,52,130                    ; movss         (%edx,%eax,4),%xmm6
+  DB  15,20,214                           ; unpcklps      %xmm6,%xmm2
+  DB  102,15,20,211                       ; unpcklpd      %xmm3,%xmm2
+  DB  15,40,117,152                       ; movaps        -0x68(%ebp),%xmm6
+  DB  15,92,198                           ; subps         %xmm6,%xmm0
+  DB  15,40,93,216                        ; movaps        -0x28(%ebp),%xmm3
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  15,88,198                           ; addps         %xmm6,%xmm0
+  DB  15,40,181,88,255,255,255            ; movaps        -0xa8(%ebp),%xmm6
+  DB  15,92,206                           ; subps         %xmm6,%xmm1
+  DB  15,89,203                           ; mulps         %xmm3,%xmm1
+  DB  15,88,206                           ; addps         %xmm6,%xmm1
+  DB  15,92,212                           ; subps         %xmm4,%xmm2
+  DB  15,89,211                           ; mulps         %xmm3,%xmm2
+  DB  15,88,212                           ; addps         %xmm4,%xmm2
+  DB  15,40,165,72,255,255,255            ; movaps        -0xb8(%ebp),%xmm4
+  DB  15,92,196                           ; subps         %xmm4,%xmm0
+  DB  15,40,157,56,255,255,255            ; movaps        -0xc8(%ebp),%xmm3
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  15,88,196                           ; addps         %xmm4,%xmm0
+  DB  15,92,207                           ; subps         %xmm7,%xmm1
+  DB  15,89,203                           ; mulps         %xmm3,%xmm1
+  DB  15,88,207                           ; addps         %xmm7,%xmm1
+  DB  15,92,213                           ; subps         %xmm5,%xmm2
+  DB  15,89,211                           ; mulps         %xmm3,%xmm2
+  DB  15,88,213                           ; addps         %xmm5,%xmm2
+  DB  15,40,165,8,255,255,255             ; movaps        -0xf8(%ebp),%xmm4
+  DB  15,92,196                           ; subps         %xmm4,%xmm0
+  DB  15,40,157,248,254,255,255           ; movaps        -0x108(%ebp),%xmm3
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  15,88,196                           ; addps         %xmm4,%xmm0
+  DB  15,40,165,120,255,255,255           ; movaps        -0x88(%ebp),%xmm4
+  DB  15,92,204                           ; subps         %xmm4,%xmm1
+  DB  15,89,203                           ; mulps         %xmm3,%xmm1
+  DB  15,88,204                           ; addps         %xmm4,%xmm1
+  DB  15,40,101,184                       ; movaps        -0x48(%ebp),%xmm4
+  DB  15,92,212                           ; subps         %xmm4,%xmm2
+  DB  15,89,211                           ; mulps         %xmm3,%xmm2
+  DB  15,88,212                           ; addps         %xmm4,%xmm2
+  DB  15,91,157,200,254,255,255           ; cvtdq2ps      -0x138(%ebp),%xmm3
+  DB  15,40,165,168,254,255,255           ; movaps        -0x158(%ebp),%xmm4
+  DB  15,92,227                           ; subps         %xmm3,%xmm4
+  DB  15,40,157,40,255,255,255            ; movaps        -0xd8(%ebp),%xmm3
+  DB  15,92,195                           ; subps         %xmm3,%xmm0
+  DB  15,89,196                           ; mulps         %xmm4,%xmm0
+  DB  15,88,195                           ; addps         %xmm3,%xmm0
+  DB  15,40,157,104,255,255,255           ; movaps        -0x98(%ebp),%xmm3
+  DB  15,92,203                           ; subps         %xmm3,%xmm1
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  15,88,203                           ; addps         %xmm3,%xmm1
+  DB  15,40,157,216,254,255,255           ; movaps        -0x128(%ebp),%xmm3
+  DB  15,92,211                           ; subps         %xmm3,%xmm2
+  DB  15,89,212                           ; mulps         %xmm4,%xmm2
+  DB  15,88,211                           ; addps         %xmm3,%xmm2
+  DB  139,85,12                           ; mov           0xc(%ebp),%edx
+  DB  141,66,8                            ; lea           0x8(%edx),%eax
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,153,224,124,0,0               ; movaps        0x7ce0(%ecx),%xmm3
+  DB  80                                  ; push          %eax
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,82,4                            ; call          *0x4(%edx)
+  DB  129,196,92,1,0,0                    ; add           $0x15c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_gauss_a_to_rgba_sse2
+_sk_gauss_a_to_rgba_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  232,0,0,0,0                         ; call          9ee5 <_sk_gauss_a_to_rgba_sse2+0xb>
+  DB  88                                  ; pop           %eax
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  15,40,128,59,111,0,0                ; movaps        0x6f3b(%eax),%xmm0
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  15,88,128,75,111,0,0                ; addps         0x6f4b(%eax),%xmm0
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  15,88,128,91,111,0,0                ; addps         0x6f5b(%eax),%xmm0
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  15,88,128,107,111,0,0               ; addps         0x6f6b(%eax),%xmm0
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  15,88,128,123,111,0,0               ; addps         0x6f7b(%eax),%xmm0
+  DB  141,65,4                            ; lea           0x4(%ecx),%eax
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  15,40,208                           ; movaps        %xmm0,%xmm2
+  DB  15,40,216                           ; movaps        %xmm0,%xmm3
+  DB  80                                  ; push          %eax
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,17                              ; call          *(%ecx)
+  DB  131,196,24                          ; add           $0x18,%esp
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_bilerp_clamp_8888_sse2
+_sk_bilerp_clamp_8888_sse2 LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  129,236,44,1,0,0                    ; sub           $0x12c,%esp
+  DB  232,0,0,0,0                         ; call          9f43 <_sk_bilerp_clamp_8888_sse2+0x11>
+  DB  94                                  ; pop           %esi
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,56                              ; mov           (%eax),%edi
+  DB  15,40,158,29,104,0,0                ; movaps        0x681d(%esi),%xmm3
+  DB  15,41,133,8,255,255,255             ; movaps        %xmm0,-0xf8(%ebp)
+  DB  15,40,224                           ; movaps        %xmm0,%xmm4
+  DB  15,88,227                           ; addps         %xmm3,%xmm4
+  DB  243,15,91,196                       ; cvttps2dq     %xmm4,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  15,40,212                           ; movaps        %xmm4,%xmm2
+  DB  15,194,208,1                        ; cmpltps       %xmm0,%xmm2
+  DB  15,40,174,45,104,0,0                ; movaps        0x682d(%esi),%xmm5
+  DB  15,84,213                           ; andps         %xmm5,%xmm2
+  DB  15,92,194                           ; subps         %xmm2,%xmm0
+  DB  15,92,224                           ; subps         %xmm0,%xmm4
+  DB  15,41,141,120,255,255,255           ; movaps        %xmm1,-0x88(%ebp)
+  DB  15,88,217                           ; addps         %xmm1,%xmm3
+  DB  243,15,91,195                       ; cvttps2dq     %xmm3,%xmm0
+  DB  15,91,192                           ; cvtdq2ps      %xmm0,%xmm0
+  DB  15,40,203                           ; movaps        %xmm3,%xmm1
+  DB  15,194,200,1                        ; cmpltps       %xmm0,%xmm1
+  DB  15,84,205                           ; andps         %xmm5,%xmm1
+  DB  15,92,193                           ; subps         %xmm1,%xmm0
+  DB  15,92,216                           ; subps         %xmm0,%xmm3
+  DB  243,15,16,79,8                      ; movss         0x8(%edi),%xmm1
+  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
+  DB  102,15,118,192                      ; pcmpeqd       %xmm0,%xmm0
+  DB  102,15,254,200                      ; paddd         %xmm0,%xmm1
+  DB  102,15,127,141,40,255,255,255       ; movdqa        %xmm1,-0xd8(%ebp)
+  DB  243,15,16,79,12                     ; movss         0xc(%edi),%xmm1
+  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
+  DB  102,15,254,200                      ; paddd         %xmm0,%xmm1
+  DB  102,15,127,77,152                   ; movdqa        %xmm1,-0x68(%ebp)
+  DB  15,40,197                           ; movaps        %xmm5,%xmm0
+  DB  15,41,165,24,255,255,255            ; movaps        %xmm4,-0xe8(%ebp)
+  DB  15,92,196                           ; subps         %xmm4,%xmm0
+  DB  15,41,133,88,255,255,255            ; movaps        %xmm0,-0xa8(%ebp)
+  DB  15,41,93,136                        ; movaps        %xmm3,-0x78(%ebp)
+  DB  15,92,235                           ; subps         %xmm3,%xmm5
+  DB  15,41,109,184                       ; movaps        %xmm5,-0x48(%ebp)
+  DB  139,23                              ; mov           (%edi),%edx
+  DB  102,15,110,71,4                     ; movd          0x4(%edi),%xmm0
+  DB  102,15,112,192,0                    ; pshufd        $0x0,%xmm0,%xmm0
+  DB  102,15,127,69,168                   ; movdqa        %xmm0,-0x58(%ebp)
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  243,15,16,134,49,112,0,0            ; movss         0x7031(%esi),%xmm0
+  DB  15,40,150,237,104,0,0               ; movaps        0x68ed(%esi),%xmm2
+  DB  15,41,149,56,255,255,255            ; movaps        %xmm2,-0xc8(%ebp)
+  DB  15,40,150,45,106,0,0                ; movaps        0x6a2d(%esi),%xmm2
+  DB  15,41,149,72,255,255,255            ; movaps        %xmm2,-0xb8(%ebp)
+  DB  243,15,16,150,53,112,0,0            ; movss         0x7035(%esi),%xmm2
+  DB  243,15,17,85,236                    ; movss         %xmm2,-0x14(%ebp)
+  DB  243,15,16,150,45,112,0,0            ; movss         0x702d(%esi),%xmm2
+  DB  243,15,17,85,240                    ; movss         %xmm2,-0x10(%ebp)
+  DB  15,87,246                           ; xorps         %xmm6,%xmm6
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  15,41,85,216                        ; movaps        %xmm2,-0x28(%ebp)
+  DB  243,15,17,69,232                    ; movss         %xmm0,-0x18(%ebp)
+  DB  15,40,224                           ; movaps        %xmm0,%xmm4
+  DB  15,40,212                           ; movaps        %xmm4,%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  15,88,149,120,255,255,255           ; addps         -0x88(%ebp),%xmm2
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  15,95,194                           ; maxps         %xmm2,%xmm0
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  15,41,165,104,255,255,255           ; movaps        %xmm4,-0x98(%ebp)
+  DB  15,46,226                           ; ucomiss       %xmm2,%xmm4
+  DB  15,40,85,136                        ; movaps        -0x78(%ebp),%xmm2
+  DB  15,41,85,200                        ; movaps        %xmm2,-0x38(%ebp)
+  DB  119,8                               ; ja            a081 <_sk_bilerp_clamp_8888_sse2+0x14f>
+  DB  15,40,85,184                        ; movaps        -0x48(%ebp),%xmm2
+  DB  15,41,85,200                        ; movaps        %xmm2,-0x38(%ebp)
+  DB  15,93,69,152                        ; minps         -0x68(%ebp),%xmm0
+  DB  243,15,91,192                       ; cvttps2dq     %xmm0,%xmm0
+  DB  102,15,111,101,168                  ; movdqa        -0x58(%ebp),%xmm4
+  DB  102,15,111,212                      ; movdqa        %xmm4,%xmm2
+  DB  102,15,244,208                      ; pmuludq       %xmm0,%xmm2
+  DB  102,15,112,234,232                  ; pshufd        $0xe8,%xmm2,%xmm5
+  DB  102,15,112,192,245                  ; pshufd        $0xf5,%xmm0,%xmm0
+  DB  102,15,112,212,245                  ; pshufd        $0xf5,%xmm4,%xmm2
+  DB  102,15,244,208                      ; pmuludq       %xmm0,%xmm2
+  DB  102,15,112,194,232                  ; pshufd        $0xe8,%xmm2,%xmm0
+  DB  102,15,98,232                       ; punpckldq     %xmm0,%xmm5
+  DB  102,15,127,173,248,254,255,255      ; movdqa        %xmm5,-0x108(%ebp)
+  DB  243,15,16,69,232                    ; movss         -0x18(%ebp),%xmm0
+  DB  15,41,157,232,254,255,255           ; movaps        %xmm3,-0x118(%ebp)
+  DB  15,41,181,216,254,255,255           ; movaps        %xmm6,-0x128(%ebp)
+  DB  102,15,127,141,200,254,255,255      ; movdqa        %xmm1,-0x138(%ebp)
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
+  DB  15,88,141,8,255,255,255             ; addps         -0xf8(%ebp),%xmm1
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  15,95,225                           ; maxps         %xmm1,%xmm4
+  DB  15,93,165,40,255,255,255            ; minps         -0xd8(%ebp),%xmm4
+  DB  243,15,91,204                       ; cvttps2dq     %xmm4,%xmm1
+  DB  102,15,254,141,248,254,255,255      ; paddd         -0x108(%ebp),%xmm1
+  DB  102,15,126,206                      ; movd          %xmm1,%esi
+  DB  102,15,112,225,229                  ; pshufd        $0xe5,%xmm1,%xmm4
+  DB  102,15,126,231                      ; movd          %xmm4,%edi
+  DB  102,15,112,225,78                   ; pshufd        $0x4e,%xmm1,%xmm4
+  DB  102,15,126,227                      ; movd          %xmm4,%ebx
+  DB  102,15,112,201,231                  ; pshufd        $0xe7,%xmm1,%xmm1
+  DB  102,15,126,201                      ; movd          %xmm1,%ecx
+  DB  102,15,110,12,138                   ; movd          (%edx,%ecx,4),%xmm1
+  DB  102,15,110,36,154                   ; movd          (%edx,%ebx,4),%xmm4
+  DB  102,15,98,225                       ; punpckldq     %xmm1,%xmm4
+  DB  102,15,110,44,178                   ; movd          (%edx,%esi,4),%xmm5
+  DB  102,15,110,12,186                   ; movd          (%edx,%edi,4),%xmm1
+  DB  102,15,98,233                       ; punpckldq     %xmm1,%xmm5
+  DB  102,15,108,236                      ; punpcklqdq    %xmm4,%xmm5
+  DB  102,15,111,205                      ; movdqa        %xmm5,%xmm1
+  DB  102,15,111,189,56,255,255,255       ; movdqa        -0xc8(%ebp),%xmm7
+  DB  102,15,219,207                      ; pand          %xmm7,%xmm1
+  DB  15,91,241                           ; cvtdq2ps      %xmm1,%xmm6
+  DB  15,40,157,72,255,255,255            ; movaps        -0xb8(%ebp),%xmm3
+  DB  15,89,243                           ; mulps         %xmm3,%xmm6
+  DB  102,15,111,205                      ; movdqa        %xmm5,%xmm1
+  DB  102,15,114,209,8                    ; psrld         $0x8,%xmm1
+  DB  102,15,219,207                      ; pand          %xmm7,%xmm1
+  DB  15,91,209                           ; cvtdq2ps      %xmm1,%xmm2
+  DB  15,89,211                           ; mulps         %xmm3,%xmm2
+  DB  102,15,111,229                      ; movdqa        %xmm5,%xmm4
+  DB  102,15,114,212,16                   ; psrld         $0x10,%xmm4
+  DB  102,15,219,231                      ; pand          %xmm7,%xmm4
+  DB  15,91,252                           ; cvtdq2ps      %xmm4,%xmm7
+  DB  15,89,251                           ; mulps         %xmm3,%xmm7
+  DB  102,15,114,213,24                   ; psrld         $0x18,%xmm5
+  DB  15,91,229                           ; cvtdq2ps      %xmm5,%xmm4
+  DB  15,89,227                           ; mulps         %xmm3,%xmm4
+  DB  15,87,201                           ; xorps         %xmm1,%xmm1
+  DB  15,46,193                           ; ucomiss       %xmm1,%xmm0
+  DB  15,40,173,24,255,255,255            ; movaps        -0xe8(%ebp),%xmm5
+  DB  119,7                               ; ja            a1a0 <_sk_bilerp_clamp_8888_sse2+0x26e>
+  DB  15,40,173,88,255,255,255            ; movaps        -0xa8(%ebp),%xmm5
+  DB  15,89,109,200                       ; mulps         -0x38(%ebp),%xmm5
+  DB  15,89,245                           ; mulps         %xmm5,%xmm6
+  DB  15,40,77,216                        ; movaps        -0x28(%ebp),%xmm1
+  DB  15,88,206                           ; addps         %xmm6,%xmm1
+  DB  15,41,77,216                        ; movaps        %xmm1,-0x28(%ebp)
+  DB  15,89,213                           ; mulps         %xmm5,%xmm2
+  DB  15,40,141,200,254,255,255           ; movaps        -0x138(%ebp),%xmm1
+  DB  15,88,202                           ; addps         %xmm2,%xmm1
+  DB  15,89,253                           ; mulps         %xmm5,%xmm7
+  DB  15,40,181,216,254,255,255           ; movaps        -0x128(%ebp),%xmm6
+  DB  15,88,247                           ; addps         %xmm7,%xmm6
+  DB  15,89,236                           ; mulps         %xmm4,%xmm5
+  DB  15,40,157,232,254,255,255           ; movaps        -0x118(%ebp),%xmm3
+  DB  15,88,221                           ; addps         %xmm5,%xmm3
+  DB  243,15,88,69,236                    ; addss         -0x14(%ebp),%xmm0
+  DB  243,15,16,85,240                    ; movss         -0x10(%ebp),%xmm2
+  DB  15,46,208                           ; ucomiss       %xmm0,%xmm2
+  DB  15,131,211,254,255,255              ; jae           a0bf <_sk_bilerp_clamp_8888_sse2+0x18d>
+  DB  15,40,165,104,255,255,255           ; movaps        -0x98(%ebp),%xmm4
+  DB  243,15,88,101,236                   ; addss         -0x14(%ebp),%xmm4
+  DB  243,15,16,69,240                    ; movss         -0x10(%ebp),%xmm0
+  DB  15,46,196                           ; ucomiss       %xmm4,%xmm0
+  DB  15,131,72,254,255,255               ; jae           a04e <_sk_bilerp_clamp_8888_sse2+0x11c>
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  131,236,8                           ; sub           $0x8,%esp
+  DB  15,40,69,216                        ; movaps        -0x28(%ebp),%xmm0
+  DB  15,40,214                           ; movaps        %xmm6,%xmm2
+  DB  81                                  ; push          %ecx
+  DB  255,117,8                           ; pushl         0x8(%ebp)
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  129,196,60,1,0,0                    ; add           $0x13c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  144                                 ; nop
+  DB  144                                 ; nop
+  DB  144                                 ; nop
+
+PUBLIC _sk_start_pipeline_sse2_lowp
+_sk_start_pipeline_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,228,240                         ; and           $0xfffffff0,%esp
+  DB  131,236,96                          ; sub           $0x60,%esp
+  DB  139,125,12                          ; mov           0xc(%ebp),%edi
+  DB  59,125,20                           ; cmp           0x14(%ebp),%edi
+  DB  15,131,198,0,0,0                    ; jae           a306 <_sk_start_pipeline_sse2_lowp+0xde>
+  DB  139,85,16                           ; mov           0x10(%ebp),%edx
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,117,24                          ; mov           0x18(%ebp),%esi
+  DB  139,30                              ; mov           (%esi),%ebx
+  DB  131,198,4                           ; add           $0x4,%esi
+  DB  141,64,8                            ; lea           0x8(%eax),%eax
+  DB  137,68,36,88                        ; mov           %eax,0x58(%esp)
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  137,124,36,84                       ; mov           %edi,0x54(%esp)
+  DB  57,84,36,88                         ; cmp           %edx,0x58(%esp)
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  137,223                             ; mov           %ebx,%edi
+  DB  137,243                             ; mov           %esi,%ebx
+  DB  119,78                              ; ja            a2b7 <_sk_start_pipeline_sse2_lowp+0x8f>
+  DB  139,117,8                           ; mov           0x8(%ebp),%esi
+  DB  15,41,68,36,64                      ; movaps        %xmm0,0x40(%esp)
+  DB  15,41,68,36,48                      ; movaps        %xmm0,0x30(%esp)
+  DB  15,41,68,36,32                      ; movaps        %xmm0,0x20(%esp)
+  DB  15,41,68,36,16                      ; movaps        %xmm0,0x10(%esp)
+  DB  139,68,36,84                        ; mov           0x54(%esp),%eax
+  DB  137,68,36,12                        ; mov           %eax,0xc(%esp)
+  DB  137,116,36,8                        ; mov           %esi,0x8(%esp)
+  DB  137,92,36,4                         ; mov           %ebx,0x4(%esp)
+  DB  199,4,36,0,0,0,0                    ; movl          $0x0,(%esp)
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  15,87,201                           ; xorps         %xmm1,%xmm1
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  255,215                             ; call          *%edi
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  139,85,16                           ; mov           0x10(%ebp),%edx
+  DB  141,70,8                            ; lea           0x8(%esi),%eax
+  DB  131,198,16                          ; add           $0x10,%esi
+  DB  57,214                              ; cmp           %edx,%esi
+  DB  137,198                             ; mov           %eax,%esi
+  DB  118,181                             ; jbe           a26c <_sk_start_pipeline_sse2_lowp+0x44>
+  DB  137,209                             ; mov           %edx,%ecx
+  DB  41,193                              ; sub           %eax,%ecx
+  DB  137,222                             ; mov           %ebx,%esi
+  DB  137,251                             ; mov           %edi,%ebx
+  DB  139,124,36,84                       ; mov           0x54(%esp),%edi
+  DB  116,55                              ; je            a2fc <_sk_start_pipeline_sse2_lowp+0xd4>
+  DB  15,41,68,36,64                      ; movaps        %xmm0,0x40(%esp)
+  DB  15,41,68,36,48                      ; movaps        %xmm0,0x30(%esp)
+  DB  15,41,68,36,32                      ; movaps        %xmm0,0x20(%esp)
+  DB  15,41,68,36,16                      ; movaps        %xmm0,0x10(%esp)
+  DB  137,124,36,12                       ; mov           %edi,0xc(%esp)
+  DB  137,68,36,8                         ; mov           %eax,0x8(%esp)
+  DB  137,116,36,4                        ; mov           %esi,0x4(%esp)
+  DB  137,12,36                           ; mov           %ecx,(%esp)
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  15,87,201                           ; xorps         %xmm1,%xmm1
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  255,211                             ; call          *%ebx
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  139,85,16                           ; mov           0x10(%ebp),%edx
+  DB  71                                  ; inc           %edi
+  DB  59,125,20                           ; cmp           0x14(%ebp),%edi
+  DB  15,133,82,255,255,255               ; jne           a258 <_sk_start_pipeline_sse2_lowp+0x30>
+  DB  141,101,244                         ; lea           -0xc(%ebp),%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_just_return_sse2_lowp
+_sk_just_return_sse2_lowp LABEL PROC
+  DB  195                                 ; ret
+
+PUBLIC _sk_seed_shader_sse2_lowp
+_sk_seed_shader_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,80                          ; sub           $0x50,%esp
+  DB  232,0,0,0,0                         ; call          a31c <_sk_seed_shader_sse2_lowp+0xd>
+  DB  89                                  ; pop           %ecx
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  15,40,93,24                         ; movaps        0x18(%ebp),%xmm3
+  DB  15,40,101,40                        ; movaps        0x28(%ebp),%xmm4
+  DB  15,40,109,56                        ; movaps        0x38(%ebp),%xmm5
+  DB  15,40,117,72                        ; movaps        0x48(%ebp),%xmm6
+  DB  139,85,20                           ; mov           0x14(%ebp),%edx
+  DB  139,117,12                          ; mov           0xc(%ebp),%esi
+  DB  139,62                              ; mov           (%esi),%edi
+  DB  15,16,7                             ; movups        (%edi),%xmm0
+  DB  15,16,79,16                         ; movups        0x10(%edi),%xmm1
+  DB  139,125,16                          ; mov           0x10(%ebp),%edi
+  DB  102,15,110,215                      ; movd          %edi,%xmm2
+  DB  102,15,112,210,0                    ; pshufd        $0x0,%xmm2,%xmm2
+  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
+  DB  15,88,194                           ; addps         %xmm2,%xmm0
+  DB  15,88,202                           ; addps         %xmm2,%xmm1
+  DB  102,15,110,210                      ; movd          %edx,%xmm2
+  DB  102,15,112,210,0                    ; pshufd        $0x0,%xmm2,%xmm2
+  DB  15,91,210                           ; cvtdq2ps      %xmm2,%xmm2
+  DB  15,88,145,68,100,0,0                ; addps         0x6444(%ecx),%xmm2
+  DB  141,78,8                            ; lea           0x8(%esi),%ecx
+  DB  15,41,116,36,64                     ; movaps        %xmm6,0x40(%esp)
+  DB  15,41,108,36,48                     ; movaps        %xmm5,0x30(%esp)
+  DB  15,41,100,36,32                     ; movaps        %xmm4,0x20(%esp)
+  DB  15,41,92,36,16                      ; movaps        %xmm3,0x10(%esp)
+  DB  137,84,36,12                        ; mov           %edx,0xc(%esp)
+  DB  137,124,36,8                        ; mov           %edi,0x8(%esp)
+  DB  137,76,36,4                         ; mov           %ecx,0x4(%esp)
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  15,40,218                           ; movaps        %xmm2,%xmm3
+  DB  255,86,4                            ; call          *0x4(%esi)
+  DB  131,196,80                          ; add           $0x50,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_matrix_translate_sse2_lowp
+_sk_matrix_translate_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,80                          ; sub           $0x50,%esp
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,77,16                           ; mov           0x10(%ebp),%ecx
+  DB  139,85,20                           ; mov           0x14(%ebp),%edx
+  DB  15,40,101,24                        ; movaps        0x18(%ebp),%xmm4
+  DB  15,40,109,40                        ; movaps        0x28(%ebp),%xmm5
+  DB  15,40,117,56                        ; movaps        0x38(%ebp),%xmm6
+  DB  139,117,12                          ; mov           0xc(%ebp),%esi
+  DB  139,62                              ; mov           (%esi),%edi
+  DB  243,15,16,63                        ; movss         (%edi),%xmm7
+  DB  15,198,255,0                        ; shufps        $0x0,%xmm7,%xmm7
+  DB  15,88,199                           ; addps         %xmm7,%xmm0
+  DB  15,88,207                           ; addps         %xmm7,%xmm1
+  DB  243,15,16,127,4                     ; movss         0x4(%edi),%xmm7
+  DB  15,198,255,0                        ; shufps        $0x0,%xmm7,%xmm7
+  DB  15,88,215                           ; addps         %xmm7,%xmm2
+  DB  15,88,223                           ; addps         %xmm7,%xmm3
+  DB  15,40,125,72                        ; movaps        0x48(%ebp),%xmm7
+  DB  141,126,8                           ; lea           0x8(%esi),%edi
+  DB  15,41,124,36,64                     ; movaps        %xmm7,0x40(%esp)
+  DB  15,41,116,36,48                     ; movaps        %xmm6,0x30(%esp)
+  DB  15,41,108,36,32                     ; movaps        %xmm5,0x20(%esp)
+  DB  15,41,100,36,16                     ; movaps        %xmm4,0x10(%esp)
+  DB  137,84,36,12                        ; mov           %edx,0xc(%esp)
+  DB  137,76,36,8                         ; mov           %ecx,0x8(%esp)
+  DB  137,124,36,4                        ; mov           %edi,0x4(%esp)
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  255,86,4                            ; call          *0x4(%esi)
+  DB  131,196,80                          ; add           $0x50,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_matrix_scale_translate_sse2_lowp
+_sk_matrix_scale_translate_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,80                          ; sub           $0x50,%esp
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,85,16                           ; mov           0x10(%ebp),%edx
+  DB  139,117,20                          ; mov           0x14(%ebp),%esi
+  DB  15,40,101,24                        ; movaps        0x18(%ebp),%xmm4
+  DB  15,40,109,40                        ; movaps        0x28(%ebp),%xmm5
+  DB  15,40,117,56                        ; movaps        0x38(%ebp),%xmm6
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  139,57                              ; mov           (%ecx),%edi
+  DB  243,15,16,63                        ; movss         (%edi),%xmm7
+  DB  15,198,255,0                        ; shufps        $0x0,%xmm7,%xmm7
+  DB  15,89,207                           ; mulps         %xmm7,%xmm1
+  DB  15,89,199                           ; mulps         %xmm7,%xmm0
+  DB  243,15,16,127,8                     ; movss         0x8(%edi),%xmm7
+  DB  15,198,255,0                        ; shufps        $0x0,%xmm7,%xmm7
+  DB  15,88,199                           ; addps         %xmm7,%xmm0
+  DB  15,88,207                           ; addps         %xmm7,%xmm1
+  DB  243,15,16,127,4                     ; movss         0x4(%edi),%xmm7
+  DB  15,198,255,0                        ; shufps        $0x0,%xmm7,%xmm7
+  DB  15,89,223                           ; mulps         %xmm7,%xmm3
+  DB  15,89,215                           ; mulps         %xmm7,%xmm2
+  DB  243,15,16,127,12                    ; movss         0xc(%edi),%xmm7
+  DB  15,198,255,0                        ; shufps        $0x0,%xmm7,%xmm7
+  DB  15,88,215                           ; addps         %xmm7,%xmm2
+  DB  15,88,223                           ; addps         %xmm7,%xmm3
+  DB  15,40,125,72                        ; movaps        0x48(%ebp),%xmm7
+  DB  141,121,8                           ; lea           0x8(%ecx),%edi
+  DB  15,41,124,36,64                     ; movaps        %xmm7,0x40(%esp)
+  DB  15,41,116,36,48                     ; movaps        %xmm6,0x30(%esp)
+  DB  15,41,108,36,32                     ; movaps        %xmm5,0x20(%esp)
+  DB  15,41,100,36,16                     ; movaps        %xmm4,0x10(%esp)
+  DB  137,116,36,12                       ; mov           %esi,0xc(%esp)
+  DB  137,84,36,8                         ; mov           %edx,0x8(%esp)
+  DB  137,124,36,4                        ; mov           %edi,0x4(%esp)
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  255,81,4                            ; call          *0x4(%ecx)
+  DB  131,196,80                          ; add           $0x50,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_matrix_2x3_sse2_lowp
+_sk_matrix_2x3_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,80                          ; sub           $0x50,%esp
+  DB  15,40,227                           ; movaps        %xmm3,%xmm4
+  DB  15,40,218                           ; movaps        %xmm2,%xmm3
+  DB  15,40,248                           ; movaps        %xmm0,%xmm7
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,85,16                           ; mov           0x10(%ebp),%edx
+  DB  139,117,20                          ; mov           0x14(%ebp),%esi
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  139,57                              ; mov           (%ecx),%edi
+  DB  243,15,16,7                         ; movss         (%edi),%xmm0
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  243,15,16,119,8                     ; movss         0x8(%edi),%xmm6
+  DB  15,198,246,0                        ; shufps        $0x0,%xmm6,%xmm6
+  DB  243,15,16,111,16                    ; movss         0x10(%edi),%xmm5
+  DB  15,198,237,0                        ; shufps        $0x0,%xmm5,%xmm5
+  DB  15,89,214                           ; mulps         %xmm6,%xmm2
+  DB  15,89,244                           ; mulps         %xmm4,%xmm6
+  DB  15,88,245                           ; addps         %xmm5,%xmm6
+  DB  15,88,213                           ; addps         %xmm5,%xmm2
+  DB  15,40,233                           ; movaps        %xmm1,%xmm5
+  DB  15,89,232                           ; mulps         %xmm0,%xmm5
+  DB  15,88,238                           ; addps         %xmm6,%xmm5
+  DB  15,89,199                           ; mulps         %xmm7,%xmm0
+  DB  15,88,194                           ; addps         %xmm2,%xmm0
+  DB  243,15,16,119,12                    ; movss         0xc(%edi),%xmm6
+  DB  15,198,246,0                        ; shufps        $0x0,%xmm6,%xmm6
+  DB  15,89,222                           ; mulps         %xmm6,%xmm3
+  DB  15,89,244                           ; mulps         %xmm4,%xmm6
+  DB  243,15,16,87,20                     ; movss         0x14(%edi),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  15,88,242                           ; addps         %xmm2,%xmm6
+  DB  15,88,218                           ; addps         %xmm2,%xmm3
+  DB  243,15,16,87,4                      ; movss         0x4(%edi),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  15,89,202                           ; mulps         %xmm2,%xmm1
+  DB  15,88,241                           ; addps         %xmm1,%xmm6
+  DB  15,40,77,40                         ; movaps        0x28(%ebp),%xmm1
+  DB  15,89,215                           ; mulps         %xmm7,%xmm2
+  DB  15,40,101,56                        ; movaps        0x38(%ebp),%xmm4
+  DB  15,88,218                           ; addps         %xmm2,%xmm3
+  DB  15,40,85,72                         ; movaps        0x48(%ebp),%xmm2
+  DB  141,121,8                           ; lea           0x8(%ecx),%edi
+  DB  15,41,84,36,64                      ; movaps        %xmm2,0x40(%esp)
+  DB  15,41,100,36,48                     ; movaps        %xmm4,0x30(%esp)
+  DB  15,41,76,36,32                      ; movaps        %xmm1,0x20(%esp)
+  DB  15,40,77,24                         ; movaps        0x18(%ebp),%xmm1
+  DB  15,41,76,36,16                      ; movaps        %xmm1,0x10(%esp)
+  DB  137,116,36,12                       ; mov           %esi,0xc(%esp)
+  DB  137,84,36,8                         ; mov           %edx,0x8(%esp)
+  DB  137,124,36,4                        ; mov           %edi,0x4(%esp)
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  15,40,205                           ; movaps        %xmm5,%xmm1
+  DB  15,40,211                           ; movaps        %xmm3,%xmm2
+  DB  15,40,222                           ; movaps        %xmm6,%xmm3
+  DB  255,81,4                            ; call          *0x4(%ecx)
+  DB  131,196,80                          ; add           $0x50,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_matrix_perspective_sse2_lowp
+_sk_matrix_perspective_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,112                         ; sub           $0x70,%esp
+  DB  15,40,235                           ; movaps        %xmm3,%xmm5
+  DB  15,41,77,232                        ; movaps        %xmm1,-0x18(%ebp)
+  DB  15,40,216                           ; movaps        %xmm0,%xmm3
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  243,15,16,9                         ; movss         (%ecx),%xmm1
+  DB  243,15,16,113,4                     ; movss         0x4(%ecx),%xmm6
+  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
+  DB  15,198,246,0                        ; shufps        $0x0,%xmm6,%xmm6
+  DB  243,15,16,97,8                      ; movss         0x8(%ecx),%xmm4
+  DB  15,198,228,0                        ; shufps        $0x0,%xmm4,%xmm4
+  DB  15,40,253                           ; movaps        %xmm5,%xmm7
+  DB  15,89,254                           ; mulps         %xmm6,%xmm7
+  DB  15,89,242                           ; mulps         %xmm2,%xmm6
+  DB  15,41,85,216                        ; movaps        %xmm2,-0x28(%ebp)
+  DB  15,88,244                           ; addps         %xmm4,%xmm6
+  DB  15,88,252                           ; addps         %xmm4,%xmm7
+  DB  15,40,227                           ; movaps        %xmm3,%xmm4
+  DB  15,89,225                           ; mulps         %xmm1,%xmm4
+  DB  15,88,230                           ; addps         %xmm6,%xmm4
+  DB  15,89,77,232                        ; mulps         -0x18(%ebp),%xmm1
+  DB  15,88,207                           ; addps         %xmm7,%xmm1
+  DB  243,15,16,113,16                    ; movss         0x10(%ecx),%xmm6
+  DB  15,198,246,0                        ; shufps        $0x0,%xmm6,%xmm6
+  DB  243,15,16,65,20                     ; movss         0x14(%ecx),%xmm0
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  15,40,253                           ; movaps        %xmm5,%xmm7
+  DB  15,89,254                           ; mulps         %xmm6,%xmm7
+  DB  15,89,242                           ; mulps         %xmm2,%xmm6
+  DB  15,88,240                           ; addps         %xmm0,%xmm6
+  DB  15,88,248                           ; addps         %xmm0,%xmm7
+  DB  243,15,16,65,12                     ; movss         0xc(%ecx),%xmm0
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  15,40,211                           ; movaps        %xmm3,%xmm2
+  DB  15,89,208                           ; mulps         %xmm0,%xmm2
+  DB  15,88,242                           ; addps         %xmm2,%xmm6
+  DB  15,89,69,232                        ; mulps         -0x18(%ebp),%xmm0
+  DB  15,88,248                           ; addps         %xmm0,%xmm7
+  DB  243,15,16,65,28                     ; movss         0x1c(%ecx),%xmm0
+  DB  15,198,192,0                        ; shufps        $0x0,%xmm0,%xmm0
+  DB  15,89,232                           ; mulps         %xmm0,%xmm5
+  DB  15,89,69,216                        ; mulps         -0x28(%ebp),%xmm0
+  DB  243,15,16,81,32                     ; movss         0x20(%ecx),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  15,88,194                           ; addps         %xmm2,%xmm0
+  DB  15,88,234                           ; addps         %xmm2,%xmm5
+  DB  243,15,16,81,24                     ; movss         0x18(%ecx),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  15,89,218                           ; mulps         %xmm2,%xmm3
+  DB  15,88,216                           ; addps         %xmm0,%xmm3
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,85,16                           ; mov           0x10(%ebp),%edx
+  DB  139,117,20                          ; mov           0x14(%ebp),%esi
+  DB  15,89,85,232                        ; mulps         -0x18(%ebp),%xmm2
+  DB  15,40,69,24                         ; movaps        0x18(%ebp),%xmm0
+  DB  15,88,213                           ; addps         %xmm5,%xmm2
+  DB  15,40,109,40                        ; movaps        0x28(%ebp),%xmm5
+  DB  15,83,219                           ; rcpps         %xmm3,%xmm3
+  DB  15,89,227                           ; mulps         %xmm3,%xmm4
+  DB  15,89,243                           ; mulps         %xmm3,%xmm6
+  DB  15,40,93,56                         ; movaps        0x38(%ebp),%xmm3
+  DB  15,83,210                           ; rcpps         %xmm2,%xmm2
+  DB  15,89,202                           ; mulps         %xmm2,%xmm1
+  DB  15,89,250                           ; mulps         %xmm2,%xmm7
+  DB  15,40,85,72                         ; movaps        0x48(%ebp),%xmm2
+  DB  141,120,8                           ; lea           0x8(%eax),%edi
+  DB  15,41,84,36,64                      ; movaps        %xmm2,0x40(%esp)
+  DB  15,41,92,36,48                      ; movaps        %xmm3,0x30(%esp)
+  DB  15,41,108,36,32                     ; movaps        %xmm5,0x20(%esp)
+  DB  15,41,68,36,16                      ; movaps        %xmm0,0x10(%esp)
+  DB  137,116,36,12                       ; mov           %esi,0xc(%esp)
+  DB  137,84,36,8                         ; mov           %edx,0x8(%esp)
+  DB  137,124,36,4                        ; mov           %edi,0x4(%esp)
+  DB  137,12,36                           ; mov           %ecx,(%esp)
+  DB  15,40,196                           ; movaps        %xmm4,%xmm0
+  DB  15,40,214                           ; movaps        %xmm6,%xmm2
+  DB  15,40,223                           ; movaps        %xmm7,%xmm3
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,112                         ; add           $0x70,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_uniform_color_sse2_lowp
+_sk_uniform_color_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,80                          ; sub           $0x50,%esp
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,77,16                           ; mov           0x10(%ebp),%ecx
+  DB  139,85,12                           ; mov           0xc(%ebp),%edx
+  DB  139,50                              ; mov           (%edx),%esi
+  DB  15,183,126,18                       ; movzwl        0x12(%esi),%edi
+  DB  102,15,110,207                      ; movd          %edi,%xmm1
+  DB  139,125,20                          ; mov           0x14(%ebp),%edi
+  DB  15,40,101,24                        ; movaps        0x18(%ebp),%xmm4
+  DB  15,40,109,40                        ; movaps        0x28(%ebp),%xmm5
+  DB  15,40,117,56                        ; movaps        0x38(%ebp),%xmm6
+  DB  15,40,125,72                        ; movaps        0x48(%ebp),%xmm7
+  DB  102,15,110,70,16                    ; movd          0x10(%esi),%xmm0
+  DB  242,15,112,192,0                    ; pshuflw       $0x0,%xmm0,%xmm0
+  DB  102,15,112,192,80                   ; pshufd        $0x50,%xmm0,%xmm0
+  DB  242,15,112,201,0                    ; pshuflw       $0x0,%xmm1,%xmm1
+  DB  102,15,112,201,80                   ; pshufd        $0x50,%xmm1,%xmm1
+  DB  102,15,110,86,20                    ; movd          0x14(%esi),%xmm2
+  DB  242,15,112,210,0                    ; pshuflw       $0x0,%xmm2,%xmm2
+  DB  102,15,112,210,80                   ; pshufd        $0x50,%xmm2,%xmm2
+  DB  15,183,118,22                       ; movzwl        0x16(%esi),%esi
+  DB  102,15,110,222                      ; movd          %esi,%xmm3
+  DB  242,15,112,219,0                    ; pshuflw       $0x0,%xmm3,%xmm3
+  DB  102,15,112,219,80                   ; pshufd        $0x50,%xmm3,%xmm3
+  DB  141,114,8                           ; lea           0x8(%edx),%esi
+  DB  15,41,124,36,64                     ; movaps        %xmm7,0x40(%esp)
+  DB  15,41,116,36,48                     ; movaps        %xmm6,0x30(%esp)
+  DB  15,41,108,36,32                     ; movaps        %xmm5,0x20(%esp)
+  DB  15,41,100,36,16                     ; movaps        %xmm4,0x10(%esp)
+  DB  137,124,36,12                       ; mov           %edi,0xc(%esp)
+  DB  137,76,36,8                         ; mov           %ecx,0x8(%esp)
+  DB  137,116,36,4                        ; mov           %esi,0x4(%esp)
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  255,82,4                            ; call          *0x4(%edx)
+  DB  131,196,80                          ; add           $0x50,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_black_color_sse2_lowp
+_sk_black_color_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,92                          ; sub           $0x5c,%esp
+  DB  232,0,0,0,0                         ; call          a73b <_sk_black_color_sse2_lowp+0xe>
+  DB  88                                  ; pop           %eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,85,16                           ; mov           0x10(%ebp),%edx
+  DB  139,117,20                          ; mov           0x14(%ebp),%esi
+  DB  15,40,69,24                         ; movaps        0x18(%ebp),%xmm0
+  DB  15,40,77,40                         ; movaps        0x28(%ebp),%xmm1
+  DB  15,40,85,56                         ; movaps        0x38(%ebp),%xmm2
+  DB  15,40,93,72                         ; movaps        0x48(%ebp),%xmm3
+  DB  139,125,12                          ; mov           0xc(%ebp),%edi
+  DB  141,95,4                            ; lea           0x4(%edi),%ebx
+  DB  15,41,92,36,64                      ; movaps        %xmm3,0x40(%esp)
+  DB  15,41,84,36,48                      ; movaps        %xmm2,0x30(%esp)
+  DB  15,41,76,36,32                      ; movaps        %xmm1,0x20(%esp)
+  DB  15,41,68,36,16                      ; movaps        %xmm0,0x10(%esp)
+  DB  137,116,36,12                       ; mov           %esi,0xc(%esp)
+  DB  137,84,36,8                         ; mov           %edx,0x8(%esp)
+  DB  137,92,36,4                         ; mov           %ebx,0x4(%esp)
+  DB  137,12,36                           ; mov           %ecx,(%esp)
+  DB  15,40,152,53,103,0,0                ; movaps        0x6735(%eax),%xmm3
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  15,87,201                           ; xorps         %xmm1,%xmm1
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  255,23                              ; call          *(%edi)
+  DB  131,196,92                          ; add           $0x5c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_white_color_sse2_lowp
+_sk_white_color_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,92                          ; sub           $0x5c,%esp
+  DB  232,0,0,0,0                         ; call          a7a6 <_sk_white_color_sse2_lowp+0xe>
+  DB  88                                  ; pop           %eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,85,16                           ; mov           0x10(%ebp),%edx
+  DB  139,117,20                          ; mov           0x14(%ebp),%esi
+  DB  15,40,69,24                         ; movaps        0x18(%ebp),%xmm0
+  DB  15,40,77,40                         ; movaps        0x28(%ebp),%xmm1
+  DB  15,40,85,56                         ; movaps        0x38(%ebp),%xmm2
+  DB  15,40,93,72                         ; movaps        0x48(%ebp),%xmm3
+  DB  139,125,12                          ; mov           0xc(%ebp),%edi
+  DB  141,95,4                            ; lea           0x4(%edi),%ebx
+  DB  15,41,92,36,64                      ; movaps        %xmm3,0x40(%esp)
+  DB  15,41,84,36,48                      ; movaps        %xmm2,0x30(%esp)
+  DB  15,41,76,36,32                      ; movaps        %xmm1,0x20(%esp)
+  DB  15,41,68,36,16                      ; movaps        %xmm0,0x10(%esp)
+  DB  137,116,36,12                       ; mov           %esi,0xc(%esp)
+  DB  137,84,36,8                         ; mov           %edx,0x8(%esp)
+  DB  137,92,36,4                         ; mov           %ebx,0x4(%esp)
+  DB  137,12,36                           ; mov           %ecx,(%esp)
+  DB  15,40,128,202,102,0,0               ; movaps        0x66ca(%eax),%xmm0
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  15,40,208                           ; movaps        %xmm0,%xmm2
+  DB  15,40,216                           ; movaps        %xmm0,%xmm3
+  DB  255,23                              ; call          *(%edi)
+  DB  131,196,92                          ; add           $0x5c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_set_rgb_sse2_lowp
+_sk_set_rgb_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,80                          ; sub           $0x50,%esp
+  DB  232,0,0,0,0                         ; call          a810 <_sk_set_rgb_sse2_lowp+0xd>
+  DB  94                                  ; pop           %esi
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,85,16                           ; mov           0x10(%ebp),%edx
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  139,57                              ; mov           (%ecx),%edi
+  DB  243,15,16,150,108,103,0,0           ; movss         0x676c(%esi),%xmm2
+  DB  243,15,16,7                         ; movss         (%edi),%xmm0
+  DB  243,15,89,194                       ; mulss         %xmm2,%xmm0
+  DB  243,15,16,142,96,103,0,0            ; movss         0x6760(%esi),%xmm1
+  DB  243,15,88,193                       ; addss         %xmm1,%xmm0
+  DB  243,15,44,240                       ; cvttss2si     %xmm0,%esi
+  DB  102,15,110,198                      ; movd          %esi,%xmm0
+  DB  139,117,20                          ; mov           0x14(%ebp),%esi
+  DB  15,40,101,24                        ; movaps        0x18(%ebp),%xmm4
+  DB  15,40,109,40                        ; movaps        0x28(%ebp),%xmm5
+  DB  15,40,117,56                        ; movaps        0x38(%ebp),%xmm6
+  DB  243,15,16,127,4                     ; movss         0x4(%edi),%xmm7
+  DB  243,15,89,250                       ; mulss         %xmm2,%xmm7
+  DB  243,15,88,249                       ; addss         %xmm1,%xmm7
+  DB  243,15,89,87,8                      ; mulss         0x8(%edi),%xmm2
+  DB  243,15,44,255                       ; cvttss2si     %xmm7,%edi
+  DB  15,40,125,72                        ; movaps        0x48(%ebp),%xmm7
+  DB  242,15,112,192,0                    ; pshuflw       $0x0,%xmm0,%xmm0
+  DB  102,15,112,192,80                   ; pshufd        $0x50,%xmm0,%xmm0
+  DB  243,15,88,209                       ; addss         %xmm1,%xmm2
+  DB  102,15,110,207                      ; movd          %edi,%xmm1
+  DB  242,15,112,201,0                    ; pshuflw       $0x0,%xmm1,%xmm1
+  DB  102,15,112,201,80                   ; pshufd        $0x50,%xmm1,%xmm1
+  DB  243,15,44,250                       ; cvttss2si     %xmm2,%edi
+  DB  102,15,110,215                      ; movd          %edi,%xmm2
+  DB  242,15,112,210,0                    ; pshuflw       $0x0,%xmm2,%xmm2
+  DB  102,15,112,210,80                   ; pshufd        $0x50,%xmm2,%xmm2
+  DB  141,121,8                           ; lea           0x8(%ecx),%edi
+  DB  15,41,124,36,64                     ; movaps        %xmm7,0x40(%esp)
+  DB  15,41,116,36,48                     ; movaps        %xmm6,0x30(%esp)
+  DB  15,41,108,36,32                     ; movaps        %xmm5,0x20(%esp)
+  DB  15,41,100,36,16                     ; movaps        %xmm4,0x10(%esp)
+  DB  137,116,36,12                       ; mov           %esi,0xc(%esp)
+  DB  137,84,36,8                         ; mov           %edx,0x8(%esp)
+  DB  137,124,36,4                        ; mov           %edi,0x4(%esp)
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  255,81,4                            ; call          *0x4(%ecx)
+  DB  131,196,80                          ; add           $0x50,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_clamp_a_sse2_lowp
+_sk_clamp_a_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,80                          ; sub           $0x50,%esp
+  DB  232,0,0,0,0                         ; call          a8d4 <_sk_clamp_a_sse2_lowp+0xd>
+  DB  94                                  ; pop           %esi
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,77,16                           ; mov           0x10(%ebp),%ecx
+  DB  139,85,20                           ; mov           0x14(%ebp),%edx
+  DB  102,15,111,166,172,101,0,0          ; movdqa        0x65ac(%esi),%xmm4
+  DB  102,15,111,232                      ; movdqa        %xmm0,%xmm5
+  DB  102,15,239,236                      ; pxor          %xmm4,%xmm5
+  DB  102,15,111,243                      ; movdqa        %xmm3,%xmm6
+  DB  102,15,239,244                      ; pxor          %xmm4,%xmm6
+  DB  102,15,111,254                      ; movdqa        %xmm6,%xmm7
+  DB  102,15,101,253                      ; pcmpgtw       %xmm5,%xmm7
+  DB  102,15,219,199                      ; pand          %xmm7,%xmm0
+  DB  102,15,223,251                      ; pandn         %xmm3,%xmm7
+  DB  102,15,235,199                      ; por           %xmm7,%xmm0
+  DB  102,15,111,233                      ; movdqa        %xmm1,%xmm5
+  DB  102,15,239,236                      ; pxor          %xmm4,%xmm5
+  DB  102,15,111,254                      ; movdqa        %xmm6,%xmm7
+  DB  102,15,101,253                      ; pcmpgtw       %xmm5,%xmm7
+  DB  15,40,109,24                        ; movaps        0x18(%ebp),%xmm5
+  DB  102,15,219,207                      ; pand          %xmm7,%xmm1
+  DB  102,15,223,251                      ; pandn         %xmm3,%xmm7
+  DB  102,15,235,207                      ; por           %xmm7,%xmm1
+  DB  15,40,125,40                        ; movaps        0x28(%ebp),%xmm7
+  DB  102,15,239,226                      ; pxor          %xmm2,%xmm4
+  DB  102,15,101,244                      ; pcmpgtw       %xmm4,%xmm6
+  DB  15,40,101,56                        ; movaps        0x38(%ebp),%xmm4
+  DB  102,15,219,214                      ; pand          %xmm6,%xmm2
+  DB  102,15,223,243                      ; pandn         %xmm3,%xmm6
+  DB  102,15,235,214                      ; por           %xmm6,%xmm2
+  DB  15,40,117,72                        ; movaps        0x48(%ebp),%xmm6
+  DB  139,117,12                          ; mov           0xc(%ebp),%esi
+  DB  141,126,4                           ; lea           0x4(%esi),%edi
+  DB  15,41,116,36,64                     ; movaps        %xmm6,0x40(%esp)
+  DB  15,41,100,36,48                     ; movaps        %xmm4,0x30(%esp)
+  DB  15,41,124,36,32                     ; movaps        %xmm7,0x20(%esp)
+  DB  15,41,108,36,16                     ; movaps        %xmm5,0x10(%esp)
+  DB  137,84,36,12                        ; mov           %edx,0xc(%esp)
+  DB  137,76,36,8                         ; mov           %ecx,0x8(%esp)
+  DB  137,124,36,4                        ; mov           %edi,0x4(%esp)
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  255,22                              ; call          *(%esi)
+  DB  131,196,80                          ; add           $0x50,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_clamp_a_dst_sse2_lowp
+_sk_clamp_a_dst_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  129,236,128,0,0,0                   ; sub           $0x80,%esp
+  DB  15,41,93,200                        ; movaps        %xmm3,-0x38(%ebp)
+  DB  15,41,85,216                        ; movaps        %xmm2,-0x28(%ebp)
+  DB  15,41,77,232                        ; movaps        %xmm1,-0x18(%ebp)
+  DB  15,40,216                           ; movaps        %xmm0,%xmm3
+  DB  232,0,0,0,0                         ; call          a99b <_sk_clamp_a_dst_sse2_lowp+0x1f>
+  DB  88                                  ; pop           %eax
+  DB  102,15,111,101,72                   ; movdqa        0x48(%ebp),%xmm4
+  DB  102,15,111,77,24                    ; movdqa        0x18(%ebp),%xmm1
+  DB  102,15,111,144,229,100,0,0          ; movdqa        0x64e5(%eax),%xmm2
+  DB  102,15,111,249                      ; movdqa        %xmm1,%xmm7
+  DB  102,15,239,250                      ; pxor          %xmm2,%xmm7
+  DB  102,15,111,244                      ; movdqa        %xmm4,%xmm6
+  DB  102,15,239,242                      ; pxor          %xmm2,%xmm6
+  DB  102,15,111,238                      ; movdqa        %xmm6,%xmm5
+  DB  102,15,101,239                      ; pcmpgtw       %xmm7,%xmm5
+  DB  102,15,219,205                      ; pand          %xmm5,%xmm1
+  DB  102,15,223,236                      ; pandn         %xmm4,%xmm5
+  DB  102,15,235,233                      ; por           %xmm1,%xmm5
+  DB  102,15,111,77,40                    ; movdqa        0x28(%ebp),%xmm1
+  DB  102,15,111,249                      ; movdqa        %xmm1,%xmm7
+  DB  102,15,239,250                      ; pxor          %xmm2,%xmm7
+  DB  102,15,111,198                      ; movdqa        %xmm6,%xmm0
+  DB  102,15,101,199                      ; pcmpgtw       %xmm7,%xmm0
+  DB  102,15,219,200                      ; pand          %xmm0,%xmm1
+  DB  102,15,223,196                      ; pandn         %xmm4,%xmm0
+  DB  102,15,235,193                      ; por           %xmm1,%xmm0
+  DB  102,15,111,77,56                    ; movdqa        0x38(%ebp),%xmm1
+  DB  102,15,239,209                      ; pxor          %xmm1,%xmm2
+  DB  102,15,101,242                      ; pcmpgtw       %xmm2,%xmm6
+  DB  102,15,219,206                      ; pand          %xmm6,%xmm1
+  DB  102,15,223,244                      ; pandn         %xmm4,%xmm6
+  DB  102,15,235,241                      ; por           %xmm1,%xmm6
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,77,16                           ; mov           0x10(%ebp),%ecx
+  DB  139,85,20                           ; mov           0x14(%ebp),%edx
+  DB  139,117,12                          ; mov           0xc(%ebp),%esi
+  DB  141,126,4                           ; lea           0x4(%esi),%edi
+  DB  102,15,127,100,36,64                ; movdqa        %xmm4,0x40(%esp)
+  DB  137,84,36,12                        ; mov           %edx,0xc(%esp)
+  DB  137,76,36,8                         ; mov           %ecx,0x8(%esp)
+  DB  137,124,36,4                        ; mov           %edi,0x4(%esp)
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  102,15,127,116,36,48                ; movdqa        %xmm6,0x30(%esp)
+  DB  102,15,127,68,36,32                 ; movdqa        %xmm0,0x20(%esp)
+  DB  102,15,127,108,36,16                ; movdqa        %xmm5,0x10(%esp)
+  DB  15,40,195                           ; movaps        %xmm3,%xmm0
+  DB  15,40,77,232                        ; movaps        -0x18(%ebp),%xmm1
+  DB  15,40,85,216                        ; movaps        -0x28(%ebp),%xmm2
+  DB  15,40,93,200                        ; movaps        -0x38(%ebp),%xmm3
+  DB  255,22                              ; call          *(%esi)
+  DB  129,196,128,0,0,0                   ; add           $0x80,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_premul_sse2_lowp
+_sk_premul_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,80                          ; sub           $0x50,%esp
+  DB  232,0,0,0,0                         ; call          aa6a <_sk_premul_sse2_lowp+0xd>
+  DB  90                                  ; pop           %edx
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,77,16                           ; mov           0x10(%ebp),%ecx
+  DB  139,117,20                          ; mov           0x14(%ebp),%esi
+  DB  15,40,101,24                        ; movaps        0x18(%ebp),%xmm4
+  DB  15,40,109,40                        ; movaps        0x28(%ebp),%xmm5
+  DB  15,40,117,56                        ; movaps        0x38(%ebp),%xmm6
+  DB  102,15,213,195                      ; pmullw        %xmm3,%xmm0
+  DB  102,15,111,186,6,100,0,0            ; movdqa        0x6406(%edx),%xmm7
+  DB  102,15,253,199                      ; paddw         %xmm7,%xmm0
+  DB  102,15,213,203                      ; pmullw        %xmm3,%xmm1
+  DB  102,15,253,207                      ; paddw         %xmm7,%xmm1
+  DB  102,15,213,211                      ; pmullw        %xmm3,%xmm2
+  DB  102,15,253,215                      ; paddw         %xmm7,%xmm2
+  DB  15,40,125,72                        ; movaps        0x48(%ebp),%xmm7
+  DB  139,85,12                           ; mov           0xc(%ebp),%edx
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  141,122,4                           ; lea           0x4(%edx),%edi
+  DB  15,41,124,36,64                     ; movaps        %xmm7,0x40(%esp)
+  DB  15,41,116,36,48                     ; movaps        %xmm6,0x30(%esp)
+  DB  15,41,108,36,32                     ; movaps        %xmm5,0x20(%esp)
+  DB  15,41,100,36,16                     ; movaps        %xmm4,0x10(%esp)
+  DB  137,116,36,12                       ; mov           %esi,0xc(%esp)
+  DB  137,76,36,8                         ; mov           %ecx,0x8(%esp)
+  DB  137,124,36,4                        ; mov           %edi,0x4(%esp)
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  255,18                              ; call          *(%edx)
+  DB  131,196,80                          ; add           $0x50,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_premul_dst_sse2_lowp
+_sk_premul_dst_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,96                          ; sub           $0x60,%esp
+  DB  15,41,93,232                        ; movaps        %xmm3,-0x18(%ebp)
+  DB  15,40,218                           ; movaps        %xmm2,%xmm3
+  DB  15,40,209                           ; movaps        %xmm1,%xmm2
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  232,0,0,0,0                         ; call          aaff <_sk_premul_dst_sse2_lowp+0x1a>
+  DB  88                                  ; pop           %eax
+  DB  102,15,111,101,72                   ; movdqa        0x48(%ebp),%xmm4
+  DB  102,15,111,109,24                   ; movdqa        0x18(%ebp),%xmm5
+  DB  102,15,213,236                      ; pmullw        %xmm4,%xmm5
+  DB  102,15,111,176,113,99,0,0           ; movdqa        0x6371(%eax),%xmm6
+  DB  102,15,253,238                      ; paddw         %xmm6,%xmm5
+  DB  102,15,111,125,40                   ; movdqa        0x28(%ebp),%xmm7
+  DB  102,15,213,252                      ; pmullw        %xmm4,%xmm7
+  DB  102,15,253,254                      ; paddw         %xmm6,%xmm7
+  DB  102,15,111,69,56                    ; movdqa        0x38(%ebp),%xmm0
+  DB  102,15,213,196                      ; pmullw        %xmm4,%xmm0
+  DB  102,15,253,198                      ; paddw         %xmm6,%xmm0
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,77,16                           ; mov           0x10(%ebp),%ecx
+  DB  139,85,20                           ; mov           0x14(%ebp),%edx
+  DB  139,117,12                          ; mov           0xc(%ebp),%esi
+  DB  102,15,113,213,8                    ; psrlw         $0x8,%xmm5
+  DB  102,15,113,215,8                    ; psrlw         $0x8,%xmm7
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  141,126,4                           ; lea           0x4(%esi),%edi
+  DB  102,15,127,100,36,64                ; movdqa        %xmm4,0x40(%esp)
+  DB  137,84,36,12                        ; mov           %edx,0xc(%esp)
+  DB  137,76,36,8                         ; mov           %ecx,0x8(%esp)
+  DB  137,124,36,4                        ; mov           %edi,0x4(%esp)
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  102,15,127,68,36,48                 ; movdqa        %xmm0,0x30(%esp)
+  DB  102,15,127,124,36,32                ; movdqa        %xmm7,0x20(%esp)
+  DB  102,15,127,108,36,16                ; movdqa        %xmm5,0x10(%esp)
+  DB  15,40,193                           ; movaps        %xmm1,%xmm0
+  DB  15,40,202                           ; movaps        %xmm2,%xmm1
+  DB  15,40,211                           ; movaps        %xmm3,%xmm2
+  DB  15,40,93,232                        ; movaps        -0x18(%ebp),%xmm3
+  DB  255,22                              ; call          *(%esi)
+  DB  131,196,96                          ; add           $0x60,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_force_opaque_sse2_lowp
+_sk_force_opaque_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,92                          ; sub           $0x5c,%esp
+  DB  232,0,0,0,0                         ; call          ab9d <_sk_force_opaque_sse2_lowp+0xe>
+  DB  88                                  ; pop           %eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,85,16                           ; mov           0x10(%ebp),%edx
+  DB  139,117,20                          ; mov           0x14(%ebp),%esi
+  DB  15,40,93,24                         ; movaps        0x18(%ebp),%xmm3
+  DB  15,40,101,40                        ; movaps        0x28(%ebp),%xmm4
+  DB  15,40,109,56                        ; movaps        0x38(%ebp),%xmm5
+  DB  15,40,117,72                        ; movaps        0x48(%ebp),%xmm6
+  DB  139,125,12                          ; mov           0xc(%ebp),%edi
+  DB  141,95,4                            ; lea           0x4(%edi),%ebx
+  DB  15,41,116,36,64                     ; movaps        %xmm6,0x40(%esp)
+  DB  15,41,108,36,48                     ; movaps        %xmm5,0x30(%esp)
+  DB  15,41,100,36,32                     ; movaps        %xmm4,0x20(%esp)
+  DB  15,41,92,36,16                      ; movaps        %xmm3,0x10(%esp)
+  DB  137,116,36,12                       ; mov           %esi,0xc(%esp)
+  DB  137,84,36,8                         ; mov           %edx,0x8(%esp)
+  DB  137,92,36,4                         ; mov           %ebx,0x4(%esp)
+  DB  137,12,36                           ; mov           %ecx,(%esp)
+  DB  15,40,152,211,98,0,0                ; movaps        0x62d3(%eax),%xmm3
+  DB  255,23                              ; call          *(%edi)
+  DB  131,196,92                          ; add           $0x5c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_force_opaque_dst_sse2_lowp
+_sk_force_opaque_dst_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,92                          ; sub           $0x5c,%esp
+  DB  232,0,0,0,0                         ; call          abff <_sk_force_opaque_dst_sse2_lowp+0xe>
+  DB  88                                  ; pop           %eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,85,16                           ; mov           0x10(%ebp),%edx
+  DB  139,117,20                          ; mov           0x14(%ebp),%esi
+  DB  15,40,101,24                        ; movaps        0x18(%ebp),%xmm4
+  DB  15,40,109,40                        ; movaps        0x28(%ebp),%xmm5
+  DB  15,40,117,56                        ; movaps        0x38(%ebp),%xmm6
+  DB  139,125,12                          ; mov           0xc(%ebp),%edi
+  DB  141,95,4                            ; lea           0x4(%edi),%ebx
+  DB  15,40,184,113,98,0,0                ; movaps        0x6271(%eax),%xmm7
+  DB  15,41,124,36,64                     ; movaps        %xmm7,0x40(%esp)
+  DB  15,41,116,36,48                     ; movaps        %xmm6,0x30(%esp)
+  DB  15,41,108,36,32                     ; movaps        %xmm5,0x20(%esp)
+  DB  15,41,100,36,16                     ; movaps        %xmm4,0x10(%esp)
+  DB  137,116,36,12                       ; mov           %esi,0xc(%esp)
+  DB  137,84,36,8                         ; mov           %edx,0x8(%esp)
+  DB  137,92,36,4                         ; mov           %ebx,0x4(%esp)
+  DB  137,12,36                           ; mov           %ecx,(%esp)
+  DB  255,23                              ; call          *(%edi)
+  DB  131,196,92                          ; add           $0x5c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_swap_rb_sse2_lowp
+_sk_swap_rb_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,80                          ; sub           $0x50,%esp
+  DB  15,40,224                           ; movaps        %xmm0,%xmm4
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,77,16                           ; mov           0x10(%ebp),%ecx
+  DB  139,85,20                           ; mov           0x14(%ebp),%edx
+  DB  15,40,69,24                         ; movaps        0x18(%ebp),%xmm0
+  DB  15,40,109,40                        ; movaps        0x28(%ebp),%xmm5
+  DB  15,40,117,56                        ; movaps        0x38(%ebp),%xmm6
+  DB  15,40,125,72                        ; movaps        0x48(%ebp),%xmm7
+  DB  139,117,12                          ; mov           0xc(%ebp),%esi
+  DB  141,126,4                           ; lea           0x4(%esi),%edi
+  DB  15,41,124,36,64                     ; movaps        %xmm7,0x40(%esp)
+  DB  15,41,116,36,48                     ; movaps        %xmm6,0x30(%esp)
+  DB  15,41,108,36,32                     ; movaps        %xmm5,0x20(%esp)
+  DB  15,41,68,36,16                      ; movaps        %xmm0,0x10(%esp)
+  DB  137,84,36,12                        ; mov           %edx,0xc(%esp)
+  DB  137,76,36,8                         ; mov           %ecx,0x8(%esp)
+  DB  137,124,36,4                        ; mov           %edi,0x4(%esp)
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  15,40,194                           ; movaps        %xmm2,%xmm0
+  DB  15,40,212                           ; movaps        %xmm4,%xmm2
+  DB  255,22                              ; call          *(%esi)
+  DB  131,196,80                          ; add           $0x50,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_move_src_dst_sse2_lowp
+_sk_move_src_dst_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,80                          ; sub           $0x50,%esp
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,77,16                           ; mov           0x10(%ebp),%ecx
+  DB  139,85,20                           ; mov           0x14(%ebp),%edx
+  DB  139,117,12                          ; mov           0xc(%ebp),%esi
+  DB  141,126,4                           ; lea           0x4(%esi),%edi
+  DB  15,41,92,36,64                      ; movaps        %xmm3,0x40(%esp)
+  DB  15,41,84,36,48                      ; movaps        %xmm2,0x30(%esp)
+  DB  15,41,76,36,32                      ; movaps        %xmm1,0x20(%esp)
+  DB  15,41,68,36,16                      ; movaps        %xmm0,0x10(%esp)
+  DB  137,84,36,12                        ; mov           %edx,0xc(%esp)
+  DB  137,76,36,8                         ; mov           %ecx,0x8(%esp)
+  DB  137,124,36,4                        ; mov           %edi,0x4(%esp)
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  255,22                              ; call          *(%esi)
+  DB  131,196,80                          ; add           $0x50,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_move_dst_src_sse2_lowp
+_sk_move_dst_src_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,80                          ; sub           $0x50,%esp
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,77,16                           ; mov           0x10(%ebp),%ecx
+  DB  139,85,20                           ; mov           0x14(%ebp),%edx
+  DB  15,40,69,24                         ; movaps        0x18(%ebp),%xmm0
+  DB  15,40,77,40                         ; movaps        0x28(%ebp),%xmm1
+  DB  15,40,85,56                         ; movaps        0x38(%ebp),%xmm2
+  DB  15,40,93,72                         ; movaps        0x48(%ebp),%xmm3
+  DB  139,117,12                          ; mov           0xc(%ebp),%esi
+  DB  141,126,4                           ; lea           0x4(%esi),%edi
+  DB  15,41,92,36,64                      ; movaps        %xmm3,0x40(%esp)
+  DB  15,41,84,36,48                      ; movaps        %xmm2,0x30(%esp)
+  DB  15,41,76,36,32                      ; movaps        %xmm1,0x20(%esp)
+  DB  15,41,68,36,16                      ; movaps        %xmm0,0x10(%esp)
+  DB  137,84,36,12                        ; mov           %edx,0xc(%esp)
+  DB  137,76,36,8                         ; mov           %ecx,0x8(%esp)
+  DB  137,124,36,4                        ; mov           %edi,0x4(%esp)
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  255,22                              ; call          *(%esi)
+  DB  131,196,80                          ; add           $0x50,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_invert_sse2_lowp
+_sk_invert_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,80                          ; sub           $0x50,%esp
+  DB  232,0,0,0,0                         ; call          ad4e <_sk_invert_sse2_lowp+0xd>
+  DB  88                                  ; pop           %eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,85,16                           ; mov           0x10(%ebp),%edx
+  DB  139,117,20                          ; mov           0x14(%ebp),%esi
+  DB  102,15,111,160,34,97,0,0            ; movdqa        0x6122(%eax),%xmm4
+  DB  102,15,111,236                      ; movdqa        %xmm4,%xmm5
+  DB  102,15,249,232                      ; psubw         %xmm0,%xmm5
+  DB  102,15,111,244                      ; movdqa        %xmm4,%xmm6
+  DB  102,15,249,241                      ; psubw         %xmm1,%xmm6
+  DB  102,15,111,252                      ; movdqa        %xmm4,%xmm7
+  DB  102,15,249,250                      ; psubw         %xmm2,%xmm7
+  DB  15,40,69,56                         ; movaps        0x38(%ebp),%xmm0
+  DB  102,15,249,227                      ; psubw         %xmm3,%xmm4
+  DB  15,40,77,72                         ; movaps        0x48(%ebp),%xmm1
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  141,120,4                           ; lea           0x4(%eax),%edi
+  DB  15,41,76,36,64                      ; movaps        %xmm1,0x40(%esp)
+  DB  15,41,68,36,48                      ; movaps        %xmm0,0x30(%esp)
+  DB  15,40,69,40                         ; movaps        0x28(%ebp),%xmm0
+  DB  15,41,68,36,32                      ; movaps        %xmm0,0x20(%esp)
+  DB  15,40,69,24                         ; movaps        0x18(%ebp),%xmm0
+  DB  15,41,68,36,16                      ; movaps        %xmm0,0x10(%esp)
+  DB  137,116,36,12                       ; mov           %esi,0xc(%esp)
+  DB  137,84,36,8                         ; mov           %edx,0x8(%esp)
+  DB  137,124,36,4                        ; mov           %edi,0x4(%esp)
+  DB  137,12,36                           ; mov           %ecx,(%esp)
+  DB  102,15,111,197                      ; movdqa        %xmm5,%xmm0
+  DB  102,15,111,206                      ; movdqa        %xmm6,%xmm1
+  DB  102,15,111,215                      ; movdqa        %xmm7,%xmm2
+  DB  102,15,111,220                      ; movdqa        %xmm4,%xmm3
+  DB  255,16                              ; call          *(%eax)
+  DB  131,196,80                          ; add           $0x50,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_clear_sse2_lowp
+_sk_clear_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,80                          ; sub           $0x50,%esp
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,77,16                           ; mov           0x10(%ebp),%ecx
+  DB  139,85,20                           ; mov           0x14(%ebp),%edx
+  DB  15,40,69,24                         ; movaps        0x18(%ebp),%xmm0
+  DB  15,40,77,40                         ; movaps        0x28(%ebp),%xmm1
+  DB  15,40,85,56                         ; movaps        0x38(%ebp),%xmm2
+  DB  15,40,93,72                         ; movaps        0x48(%ebp),%xmm3
+  DB  139,117,12                          ; mov           0xc(%ebp),%esi
+  DB  141,126,4                           ; lea           0x4(%esi),%edi
+  DB  15,41,92,36,64                      ; movaps        %xmm3,0x40(%esp)
+  DB  15,41,84,36,48                      ; movaps        %xmm2,0x30(%esp)
+  DB  15,41,76,36,32                      ; movaps        %xmm1,0x20(%esp)
+  DB  15,41,68,36,16                      ; movaps        %xmm0,0x10(%esp)
+  DB  137,84,36,12                        ; mov           %edx,0xc(%esp)
+  DB  137,76,36,8                         ; mov           %ecx,0x8(%esp)
+  DB  137,124,36,4                        ; mov           %edi,0x4(%esp)
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  15,87,201                           ; xorps         %xmm1,%xmm1
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  255,22                              ; call          *(%esi)
+  DB  131,196,80                          ; add           $0x50,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_srcatop_sse2_lowp
+_sk_srcatop_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,80                          ; sub           $0x50,%esp
+  DB  102,15,111,234                      ; movdqa        %xmm2,%xmm5
+  DB  102,15,111,209                      ; movdqa        %xmm1,%xmm2
+  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
+  DB  232,0,0,0,0                         ; call          ae46 <_sk_srcatop_sse2_lowp+0x19>
+  DB  88                                  ; pop           %eax
+  DB  102,15,111,117,72                   ; movdqa        0x48(%ebp),%xmm6
+  DB  102,15,213,206                      ; pmullw        %xmm6,%xmm1
+  DB  102,15,111,128,42,96,0,0            ; movdqa        0x602a(%eax),%xmm0
+  DB  102,15,253,200                      ; paddw         %xmm0,%xmm1
+  DB  102,15,213,214                      ; pmullw        %xmm6,%xmm2
+  DB  102,15,253,208                      ; paddw         %xmm0,%xmm2
+  DB  102,15,213,238                      ; pmullw        %xmm6,%xmm5
+  DB  102,15,253,232                      ; paddw         %xmm0,%xmm5
+  DB  102,15,111,230                      ; movdqa        %xmm6,%xmm4
+  DB  102,15,213,224                      ; pmullw        %xmm0,%xmm4
+  DB  102,15,253,224                      ; paddw         %xmm0,%xmm4
+  DB  102,15,249,195                      ; psubw         %xmm3,%xmm0
+  DB  102,15,111,216                      ; movdqa        %xmm0,%xmm3
+  DB  102,15,213,93,24                    ; pmullw        0x18(%ebp),%xmm3
+  DB  102,15,253,203                      ; paddw         %xmm3,%xmm1
+  DB  102,15,111,93,40                    ; movdqa        0x28(%ebp),%xmm3
+  DB  102,15,111,248                      ; movdqa        %xmm0,%xmm7
+  DB  102,15,213,251                      ; pmullw        %xmm3,%xmm7
+  DB  102,15,253,215                      ; paddw         %xmm7,%xmm2
+  DB  102,15,111,125,56                   ; movdqa        0x38(%ebp),%xmm7
+  DB  102,15,213,199                      ; pmullw        %xmm7,%xmm0
+  DB  102,15,253,232                      ; paddw         %xmm0,%xmm5
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,77,16                           ; mov           0x10(%ebp),%ecx
+  DB  139,85,20                           ; mov           0x14(%ebp),%edx
+  DB  139,117,12                          ; mov           0xc(%ebp),%esi
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,113,213,8                    ; psrlw         $0x8,%xmm5
+  DB  102,15,113,212,8                    ; psrlw         $0x8,%xmm4
+  DB  141,126,4                           ; lea           0x4(%esi),%edi
+  DB  102,15,127,116,36,64                ; movdqa        %xmm6,0x40(%esp)
+  DB  102,15,127,124,36,48                ; movdqa        %xmm7,0x30(%esp)
+  DB  102,15,127,92,36,32                 ; movdqa        %xmm3,0x20(%esp)
+  DB  15,40,69,24                         ; movaps        0x18(%ebp),%xmm0
+  DB  15,41,68,36,16                      ; movaps        %xmm0,0x10(%esp)
+  DB  137,84,36,12                        ; mov           %edx,0xc(%esp)
+  DB  137,76,36,8                         ; mov           %ecx,0x8(%esp)
+  DB  137,124,36,4                        ; mov           %edi,0x4(%esp)
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
+  DB  102,15,111,213                      ; movdqa        %xmm5,%xmm2
+  DB  102,15,111,220                      ; movdqa        %xmm4,%xmm3
+  DB  255,22                              ; call          *(%esi)
+  DB  131,196,80                          ; add           $0x50,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_dstatop_sse2_lowp
+_sk_dstatop_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,80                          ; sub           $0x50,%esp
+  DB  232,0,0,0,0                         ; call          af1a <_sk_dstatop_sse2_lowp+0xd>
+  DB  88                                  ; pop           %eax
+  DB  102,15,111,101,40                   ; movdqa        0x28(%ebp),%xmm4
+  DB  102,15,111,117,24                   ; movdqa        0x18(%ebp),%xmm6
+  DB  102,15,213,243                      ; pmullw        %xmm3,%xmm6
+  DB  102,15,111,184,86,95,0,0            ; movdqa        0x5f56(%eax),%xmm7
+  DB  102,15,253,247                      ; paddw         %xmm7,%xmm6
+  DB  102,15,213,227                      ; pmullw        %xmm3,%xmm4
+  DB  102,15,253,231                      ; paddw         %xmm7,%xmm4
+  DB  102,15,111,109,56                   ; movdqa        0x38(%ebp),%xmm5
+  DB  102,15,213,235                      ; pmullw        %xmm3,%xmm5
+  DB  102,15,253,239                      ; paddw         %xmm7,%xmm5
+  DB  102,15,213,223                      ; pmullw        %xmm7,%xmm3
+  DB  102,15,253,223                      ; paddw         %xmm7,%xmm3
+  DB  102,15,249,125,72                   ; psubw         0x48(%ebp),%xmm7
+  DB  102,15,213,199                      ; pmullw        %xmm7,%xmm0
+  DB  102,15,253,198                      ; paddw         %xmm6,%xmm0
+  DB  102,15,213,207                      ; pmullw        %xmm7,%xmm1
+  DB  102,15,253,204                      ; paddw         %xmm4,%xmm1
+  DB  102,15,213,215                      ; pmullw        %xmm7,%xmm2
+  DB  102,15,253,213                      ; paddw         %xmm5,%xmm2
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,77,16                           ; mov           0x10(%ebp),%ecx
+  DB  139,85,20                           ; mov           0x14(%ebp),%edx
+  DB  139,117,12                          ; mov           0xc(%ebp),%esi
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  141,126,4                           ; lea           0x4(%esi),%edi
+  DB  15,40,101,72                        ; movaps        0x48(%ebp),%xmm4
+  DB  15,41,100,36,64                     ; movaps        %xmm4,0x40(%esp)
+  DB  15,40,101,56                        ; movaps        0x38(%ebp),%xmm4
+  DB  15,41,100,36,48                     ; movaps        %xmm4,0x30(%esp)
+  DB  15,40,101,40                        ; movaps        0x28(%ebp),%xmm4
+  DB  15,41,100,36,32                     ; movaps        %xmm4,0x20(%esp)
+  DB  15,40,101,24                        ; movaps        0x18(%ebp),%xmm4
+  DB  15,41,100,36,16                     ; movaps        %xmm4,0x10(%esp)
+  DB  137,84,36,12                        ; mov           %edx,0xc(%esp)
+  DB  137,76,36,8                         ; mov           %ecx,0x8(%esp)
+  DB  137,124,36,4                        ; mov           %edi,0x4(%esp)
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  255,22                              ; call          *(%esi)
+  DB  131,196,80                          ; add           $0x50,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_srcin_sse2_lowp
+_sk_srcin_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,80                          ; sub           $0x50,%esp
+  DB  232,0,0,0,0                         ; call          afdb <_sk_srcin_sse2_lowp+0xd>
+  DB  94                                  ; pop           %esi
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,77,16                           ; mov           0x10(%ebp),%ecx
+  DB  139,85,20                           ; mov           0x14(%ebp),%edx
+  DB  15,40,101,24                        ; movaps        0x18(%ebp),%xmm4
+  DB  15,40,109,40                        ; movaps        0x28(%ebp),%xmm5
+  DB  102,15,111,117,72                   ; movdqa        0x48(%ebp),%xmm6
+  DB  102,15,213,198                      ; pmullw        %xmm6,%xmm0
+  DB  102,15,111,190,149,94,0,0           ; movdqa        0x5e95(%esi),%xmm7
+  DB  102,15,253,199                      ; paddw         %xmm7,%xmm0
+  DB  102,15,213,206                      ; pmullw        %xmm6,%xmm1
+  DB  102,15,253,207                      ; paddw         %xmm7,%xmm1
+  DB  102,15,213,214                      ; pmullw        %xmm6,%xmm2
+  DB  102,15,253,215                      ; paddw         %xmm7,%xmm2
+  DB  102,15,213,222                      ; pmullw        %xmm6,%xmm3
+  DB  102,15,253,223                      ; paddw         %xmm7,%xmm3
+  DB  15,40,125,56                        ; movaps        0x38(%ebp),%xmm7
+  DB  139,117,12                          ; mov           0xc(%ebp),%esi
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  141,126,4                           ; lea           0x4(%esi),%edi
+  DB  102,15,127,116,36,64                ; movdqa        %xmm6,0x40(%esp)
+  DB  15,41,124,36,48                     ; movaps        %xmm7,0x30(%esp)
+  DB  15,41,108,36,32                     ; movaps        %xmm5,0x20(%esp)
+  DB  15,41,100,36,16                     ; movaps        %xmm4,0x10(%esp)
+  DB  137,84,36,12                        ; mov           %edx,0xc(%esp)
+  DB  137,76,36,8                         ; mov           %ecx,0x8(%esp)
+  DB  137,124,36,4                        ; mov           %edi,0x4(%esp)
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  255,22                              ; call          *(%esi)
+  DB  131,196,80                          ; add           $0x50,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_dstin_sse2_lowp
+_sk_dstin_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,80                          ; sub           $0x50,%esp
+  DB  232,0,0,0,0                         ; call          b072 <_sk_dstin_sse2_lowp+0xd>
+  DB  88                                  ; pop           %eax
+  DB  102,15,111,85,56                    ; movdqa        0x38(%ebp),%xmm2
+  DB  102,15,111,109,40                   ; movdqa        0x28(%ebp),%xmm5
+  DB  102,15,111,117,24                   ; movdqa        0x18(%ebp),%xmm6
+  DB  102,15,111,198                      ; movdqa        %xmm6,%xmm0
+  DB  102,15,213,195                      ; pmullw        %xmm3,%xmm0
+  DB  102,15,111,184,254,93,0,0           ; movdqa        0x5dfe(%eax),%xmm7
+  DB  102,15,253,199                      ; paddw         %xmm7,%xmm0
+  DB  102,15,111,205                      ; movdqa        %xmm5,%xmm1
+  DB  102,15,213,203                      ; pmullw        %xmm3,%xmm1
+  DB  102,15,253,207                      ; paddw         %xmm7,%xmm1
+  DB  102,15,213,211                      ; pmullw        %xmm3,%xmm2
+  DB  102,15,253,215                      ; paddw         %xmm7,%xmm2
+  DB  102,15,111,101,72                   ; movdqa        0x48(%ebp),%xmm4
+  DB  102,15,213,220                      ; pmullw        %xmm4,%xmm3
+  DB  102,15,253,223                      ; paddw         %xmm7,%xmm3
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,77,16                           ; mov           0x10(%ebp),%ecx
+  DB  139,85,20                           ; mov           0x14(%ebp),%edx
+  DB  139,117,12                          ; mov           0xc(%ebp),%esi
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  141,126,4                           ; lea           0x4(%esi),%edi
+  DB  102,15,127,100,36,64                ; movdqa        %xmm4,0x40(%esp)
+  DB  15,40,101,56                        ; movaps        0x38(%ebp),%xmm4
+  DB  15,41,100,36,48                     ; movaps        %xmm4,0x30(%esp)
+  DB  102,15,127,108,36,32                ; movdqa        %xmm5,0x20(%esp)
+  DB  102,15,127,116,36,16                ; movdqa        %xmm6,0x10(%esp)
+  DB  137,84,36,12                        ; mov           %edx,0xc(%esp)
+  DB  137,76,36,8                         ; mov           %ecx,0x8(%esp)
+  DB  137,124,36,4                        ; mov           %edi,0x4(%esp)
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  255,22                              ; call          *(%esi)
+  DB  131,196,80                          ; add           $0x50,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_srcout_sse2_lowp
+_sk_srcout_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,80                          ; sub           $0x50,%esp
+  DB  232,0,0,0,0                         ; call          b11a <_sk_srcout_sse2_lowp+0xd>
+  DB  94                                  ; pop           %esi
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,77,16                           ; mov           0x10(%ebp),%ecx
+  DB  139,85,20                           ; mov           0x14(%ebp),%edx
+  DB  15,40,101,24                        ; movaps        0x18(%ebp),%xmm4
+  DB  102,15,111,109,72                   ; movdqa        0x48(%ebp),%xmm5
+  DB  102,15,111,182,86,93,0,0            ; movdqa        0x5d56(%esi),%xmm6
+  DB  102,15,111,254                      ; movdqa        %xmm6,%xmm7
+  DB  102,15,249,253                      ; psubw         %xmm5,%xmm7
+  DB  102,15,213,199                      ; pmullw        %xmm7,%xmm0
+  DB  102,15,213,207                      ; pmullw        %xmm7,%xmm1
+  DB  102,15,213,215                      ; pmullw        %xmm7,%xmm2
+  DB  102,15,213,223                      ; pmullw        %xmm7,%xmm3
+  DB  15,40,125,40                        ; movaps        0x28(%ebp),%xmm7
+  DB  102,15,253,198                      ; paddw         %xmm6,%xmm0
+  DB  102,15,253,206                      ; paddw         %xmm6,%xmm1
+  DB  102,15,253,214                      ; paddw         %xmm6,%xmm2
+  DB  102,15,253,222                      ; paddw         %xmm6,%xmm3
+  DB  15,40,117,56                        ; movaps        0x38(%ebp),%xmm6
+  DB  139,117,12                          ; mov           0xc(%ebp),%esi
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  141,126,4                           ; lea           0x4(%esi),%edi
+  DB  102,15,127,108,36,64                ; movdqa        %xmm5,0x40(%esp)
+  DB  15,41,116,36,48                     ; movaps        %xmm6,0x30(%esp)
+  DB  15,41,124,36,32                     ; movaps        %xmm7,0x20(%esp)
+  DB  15,41,100,36,16                     ; movaps        %xmm4,0x10(%esp)
+  DB  137,84,36,12                        ; mov           %edx,0xc(%esp)
+  DB  137,76,36,8                         ; mov           %ecx,0x8(%esp)
+  DB  137,124,36,4                        ; mov           %edi,0x4(%esp)
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  255,22                              ; call          *(%esi)
+  DB  131,196,80                          ; add           $0x50,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_dstout_sse2_lowp
+_sk_dstout_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,80                          ; sub           $0x50,%esp
+  DB  102,15,111,195                      ; movdqa        %xmm3,%xmm0
+  DB  232,0,0,0,0                         ; call          b1bd <_sk_dstout_sse2_lowp+0x11>
+  DB  88                                  ; pop           %eax
+  DB  102,15,111,109,56                   ; movdqa        0x38(%ebp),%xmm5
+  DB  102,15,111,117,24                   ; movdqa        0x18(%ebp),%xmm6
+  DB  102,15,111,184,179,92,0,0           ; movdqa        0x5cb3(%eax),%xmm7
+  DB  102,15,111,223                      ; movdqa        %xmm7,%xmm3
+  DB  102,15,249,216                      ; psubw         %xmm0,%xmm3
+  DB  102,15,111,195                      ; movdqa        %xmm3,%xmm0
+  DB  102,15,213,198                      ; pmullw        %xmm6,%xmm0
+  DB  102,15,253,199                      ; paddw         %xmm7,%xmm0
+  DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
+  DB  102,15,213,77,40                    ; pmullw        0x28(%ebp),%xmm1
+  DB  102,15,253,207                      ; paddw         %xmm7,%xmm1
+  DB  102,15,111,211                      ; movdqa        %xmm3,%xmm2
+  DB  102,15,213,213                      ; pmullw        %xmm5,%xmm2
+  DB  102,15,253,215                      ; paddw         %xmm7,%xmm2
+  DB  102,15,111,101,72                   ; movdqa        0x48(%ebp),%xmm4
+  DB  102,15,213,220                      ; pmullw        %xmm4,%xmm3
+  DB  102,15,253,223                      ; paddw         %xmm7,%xmm3
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,77,16                           ; mov           0x10(%ebp),%ecx
+  DB  139,85,20                           ; mov           0x14(%ebp),%edx
+  DB  139,117,12                          ; mov           0xc(%ebp),%esi
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  141,126,4                           ; lea           0x4(%esi),%edi
+  DB  102,15,127,100,36,64                ; movdqa        %xmm4,0x40(%esp)
+  DB  102,15,127,108,36,48                ; movdqa        %xmm5,0x30(%esp)
+  DB  15,40,101,40                        ; movaps        0x28(%ebp),%xmm4
+  DB  15,41,100,36,32                     ; movaps        %xmm4,0x20(%esp)
+  DB  102,15,127,116,36,16                ; movdqa        %xmm6,0x10(%esp)
+  DB  137,84,36,12                        ; mov           %edx,0xc(%esp)
+  DB  137,76,36,8                         ; mov           %ecx,0x8(%esp)
+  DB  137,124,36,4                        ; mov           %edi,0x4(%esp)
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  255,22                              ; call          *(%esi)
+  DB  131,196,80                          ; add           $0x50,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_srcover_sse2_lowp
+_sk_srcover_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,96                          ; sub           $0x60,%esp
+  DB  15,41,85,232                        ; movaps        %xmm2,-0x18(%ebp)
+  DB  102,15,111,209                      ; movdqa        %xmm1,%xmm2
+  DB  102,15,111,224                      ; movdqa        %xmm0,%xmm4
+  DB  232,0,0,0,0                         ; call          b279 <_sk_srcover_sse2_lowp+0x19>
+  DB  88                                  ; pop           %eax
+  DB  102,15,111,136,247,91,0,0           ; movdqa        0x5bf7(%eax),%xmm1
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,15,249,195                      ; psubw         %xmm3,%xmm0
+  DB  102,15,111,248                      ; movdqa        %xmm0,%xmm7
+  DB  102,15,213,125,24                   ; pmullw        0x18(%ebp),%xmm7
+  DB  102,15,253,249                      ; paddw         %xmm1,%xmm7
+  DB  102,15,113,215,8                    ; psrlw         $0x8,%xmm7
+  DB  102,15,253,231                      ; paddw         %xmm7,%xmm4
+  DB  102,15,111,232                      ; movdqa        %xmm0,%xmm5
+  DB  102,15,213,109,40                   ; pmullw        0x28(%ebp),%xmm5
+  DB  102,15,253,233                      ; paddw         %xmm1,%xmm5
+  DB  102,15,113,213,8                    ; psrlw         $0x8,%xmm5
+  DB  102,15,253,213                      ; paddw         %xmm5,%xmm2
+  DB  102,15,111,234                      ; movdqa        %xmm2,%xmm5
+  DB  102,15,111,125,56                   ; movdqa        0x38(%ebp),%xmm7
+  DB  102,15,111,240                      ; movdqa        %xmm0,%xmm6
+  DB  102,15,213,247                      ; pmullw        %xmm7,%xmm6
+  DB  102,15,253,241                      ; paddw         %xmm1,%xmm6
+  DB  102,15,113,214,8                    ; psrlw         $0x8,%xmm6
+  DB  102,15,111,85,232                   ; movdqa        -0x18(%ebp),%xmm2
+  DB  102,15,253,214                      ; paddw         %xmm6,%xmm2
+  DB  102,15,111,117,72                   ; movdqa        0x48(%ebp),%xmm6
+  DB  102,15,213,198                      ; pmullw        %xmm6,%xmm0
+  DB  102,15,253,193                      ; paddw         %xmm1,%xmm0
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,15,253,216                      ; paddw         %xmm0,%xmm3
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,77,16                           ; mov           0x10(%ebp),%ecx
+  DB  139,85,20                           ; mov           0x14(%ebp),%edx
+  DB  139,117,12                          ; mov           0xc(%ebp),%esi
+  DB  141,126,4                           ; lea           0x4(%esi),%edi
+  DB  102,15,127,116,36,64                ; movdqa        %xmm6,0x40(%esp)
+  DB  102,15,127,124,36,48                ; movdqa        %xmm7,0x30(%esp)
+  DB  15,40,69,40                         ; movaps        0x28(%ebp),%xmm0
+  DB  15,41,68,36,32                      ; movaps        %xmm0,0x20(%esp)
+  DB  15,40,69,24                         ; movaps        0x18(%ebp),%xmm0
+  DB  15,41,68,36,16                      ; movaps        %xmm0,0x10(%esp)
+  DB  137,84,36,12                        ; mov           %edx,0xc(%esp)
+  DB  137,76,36,8                         ; mov           %ecx,0x8(%esp)
+  DB  137,124,36,4                        ; mov           %edi,0x4(%esp)
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  102,15,111,196                      ; movdqa        %xmm4,%xmm0
+  DB  102,15,111,205                      ; movdqa        %xmm5,%xmm1
+  DB  255,22                              ; call          *(%esi)
+  DB  131,196,96                          ; add           $0x60,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_dstover_sse2_lowp
+_sk_dstover_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,80                          ; sub           $0x50,%esp
+  DB  232,0,0,0,0                         ; call          b349 <_sk_dstover_sse2_lowp+0xd>
+  DB  95                                  ; pop           %edi
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,85,16                           ; mov           0x10(%ebp),%edx
+  DB  139,117,20                          ; mov           0x14(%ebp),%esi
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  102,15,111,101,56                   ; movdqa        0x38(%ebp),%xmm4
+  DB  102,15,111,109,72                   ; movdqa        0x48(%ebp),%xmm5
+  DB  102,15,111,183,39,91,0,0            ; movdqa        0x5b27(%edi),%xmm6
+  DB  102,15,111,254                      ; movdqa        %xmm6,%xmm7
+  DB  102,15,249,253                      ; psubw         %xmm5,%xmm7
+  DB  102,15,213,199                      ; pmullw        %xmm7,%xmm0
+  DB  102,15,213,207                      ; pmullw        %xmm7,%xmm1
+  DB  102,15,213,215                      ; pmullw        %xmm7,%xmm2
+  DB  102,15,213,223                      ; pmullw        %xmm7,%xmm3
+  DB  102,15,111,125,40                   ; movdqa        0x28(%ebp),%xmm7
+  DB  102,15,253,198                      ; paddw         %xmm6,%xmm0
+  DB  102,15,253,206                      ; paddw         %xmm6,%xmm1
+  DB  102,15,253,214                      ; paddw         %xmm6,%xmm2
+  DB  102,15,253,222                      ; paddw         %xmm6,%xmm3
+  DB  102,15,111,117,24                   ; movdqa        0x18(%ebp),%xmm6
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,15,253,198                      ; paddw         %xmm6,%xmm0
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,253,207                      ; paddw         %xmm7,%xmm1
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,253,212                      ; paddw         %xmm4,%xmm2
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  102,15,253,221                      ; paddw         %xmm5,%xmm3
+  DB  141,120,4                           ; lea           0x4(%eax),%edi
+  DB  102,15,127,108,36,64                ; movdqa        %xmm5,0x40(%esp)
+  DB  102,15,127,100,36,48                ; movdqa        %xmm4,0x30(%esp)
+  DB  102,15,127,124,36,32                ; movdqa        %xmm7,0x20(%esp)
+  DB  102,15,127,116,36,16                ; movdqa        %xmm6,0x10(%esp)
+  DB  137,116,36,12                       ; mov           %esi,0xc(%esp)
+  DB  137,84,36,8                         ; mov           %edx,0x8(%esp)
+  DB  137,124,36,4                        ; mov           %edi,0x4(%esp)
+  DB  137,12,36                           ; mov           %ecx,(%esp)
+  DB  255,16                              ; call          *(%eax)
+  DB  131,196,80                          ; add           $0x50,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_modulate_sse2_lowp
+_sk_modulate_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,80                          ; sub           $0x50,%esp
+  DB  232,0,0,0,0                         ; call          b3fe <_sk_modulate_sse2_lowp+0xd>
+  DB  88                                  ; pop           %eax
+  DB  102,15,111,109,40                   ; movdqa        0x28(%ebp),%xmm5
+  DB  102,15,111,117,24                   ; movdqa        0x18(%ebp),%xmm6
+  DB  102,15,213,198                      ; pmullw        %xmm6,%xmm0
+  DB  102,15,111,184,114,90,0,0           ; movdqa        0x5a72(%eax),%xmm7
+  DB  102,15,253,199                      ; paddw         %xmm7,%xmm0
+  DB  102,15,213,205                      ; pmullw        %xmm5,%xmm1
+  DB  102,15,253,207                      ; paddw         %xmm7,%xmm1
+  DB  102,15,213,85,56                    ; pmullw        0x38(%ebp),%xmm2
+  DB  102,15,253,215                      ; paddw         %xmm7,%xmm2
+  DB  102,15,111,101,72                   ; movdqa        0x48(%ebp),%xmm4
+  DB  102,15,213,220                      ; pmullw        %xmm4,%xmm3
+  DB  102,15,253,223                      ; paddw         %xmm7,%xmm3
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,77,16                           ; mov           0x10(%ebp),%ecx
+  DB  139,85,20                           ; mov           0x14(%ebp),%edx
+  DB  139,117,12                          ; mov           0xc(%ebp),%esi
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  141,126,4                           ; lea           0x4(%esi),%edi
+  DB  102,15,127,100,36,64                ; movdqa        %xmm4,0x40(%esp)
+  DB  15,40,101,56                        ; movaps        0x38(%ebp),%xmm4
+  DB  15,41,100,36,48                     ; movaps        %xmm4,0x30(%esp)
+  DB  102,15,127,108,36,32                ; movdqa        %xmm5,0x20(%esp)
+  DB  102,15,127,116,36,16                ; movdqa        %xmm6,0x10(%esp)
+  DB  137,84,36,12                        ; mov           %edx,0xc(%esp)
+  DB  137,76,36,8                         ; mov           %ecx,0x8(%esp)
+  DB  137,124,36,4                        ; mov           %edi,0x4(%esp)
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  255,22                              ; call          *(%esi)
+  DB  131,196,80                          ; add           $0x50,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_multiply_sse2_lowp
+_sk_multiply_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,80                          ; sub           $0x50,%esp
+  DB  232,0,0,0,0                         ; call          b49a <_sk_multiply_sse2_lowp+0xd>
+  DB  88                                  ; pop           %eax
+  DB  102,15,111,109,24                   ; movdqa        0x18(%ebp),%xmm5
+  DB  102,15,111,160,214,89,0,0           ; movdqa        0x59d6(%eax),%xmm4
+  DB  102,15,111,245                      ; movdqa        %xmm5,%xmm6
+  DB  102,15,253,244                      ; paddw         %xmm4,%xmm6
+  DB  102,15,249,117,72                   ; psubw         0x48(%ebp),%xmm6
+  DB  102,15,213,198                      ; pmullw        %xmm6,%xmm0
+  DB  102,15,111,244                      ; movdqa        %xmm4,%xmm6
+  DB  102,15,249,243                      ; psubw         %xmm3,%xmm6
+  DB  102,15,111,254                      ; movdqa        %xmm6,%xmm7
+  DB  102,15,213,253                      ; pmullw        %xmm5,%xmm7
+  DB  102,15,253,252                      ; paddw         %xmm4,%xmm7
+  DB  102,15,253,199                      ; paddw         %xmm7,%xmm0
+  DB  102,15,111,125,40                   ; movdqa        0x28(%ebp),%xmm7
+  DB  102,15,253,252                      ; paddw         %xmm4,%xmm7
+  DB  102,15,111,109,72                   ; movdqa        0x48(%ebp),%xmm5
+  DB  102,15,249,253                      ; psubw         %xmm5,%xmm7
+  DB  102,15,213,207                      ; pmullw        %xmm7,%xmm1
+  DB  102,15,111,254                      ; movdqa        %xmm6,%xmm7
+  DB  102,15,213,125,40                   ; pmullw        0x28(%ebp),%xmm7
+  DB  102,15,253,252                      ; paddw         %xmm4,%xmm7
+  DB  102,15,253,207                      ; paddw         %xmm7,%xmm1
+  DB  102,15,111,125,56                   ; movdqa        0x38(%ebp),%xmm7
+  DB  102,15,253,252                      ; paddw         %xmm4,%xmm7
+  DB  102,15,249,253                      ; psubw         %xmm5,%xmm7
+  DB  102,15,213,215                      ; pmullw        %xmm7,%xmm2
+  DB  102,15,111,254                      ; movdqa        %xmm6,%xmm7
+  DB  102,15,213,125,56                   ; pmullw        0x38(%ebp),%xmm7
+  DB  102,15,253,252                      ; paddw         %xmm4,%xmm7
+  DB  102,15,253,215                      ; paddw         %xmm7,%xmm2
+  DB  102,15,213,220                      ; pmullw        %xmm4,%xmm3
+  DB  102,15,253,220                      ; paddw         %xmm4,%xmm3
+  DB  102,15,213,245                      ; pmullw        %xmm5,%xmm6
+  DB  102,15,253,222                      ; paddw         %xmm6,%xmm3
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,77,16                           ; mov           0x10(%ebp),%ecx
+  DB  139,85,20                           ; mov           0x14(%ebp),%edx
+  DB  139,117,12                          ; mov           0xc(%ebp),%esi
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  141,126,4                           ; lea           0x4(%esi),%edi
+  DB  102,15,127,108,36,64                ; movdqa        %xmm5,0x40(%esp)
+  DB  15,40,101,56                        ; movaps        0x38(%ebp),%xmm4
+  DB  15,41,100,36,48                     ; movaps        %xmm4,0x30(%esp)
+  DB  15,40,101,40                        ; movaps        0x28(%ebp),%xmm4
+  DB  15,41,100,36,32                     ; movaps        %xmm4,0x20(%esp)
+  DB  15,40,101,24                        ; movaps        0x18(%ebp),%xmm4
+  DB  15,41,100,36,16                     ; movaps        %xmm4,0x10(%esp)
+  DB  137,84,36,12                        ; mov           %edx,0xc(%esp)
+  DB  137,76,36,8                         ; mov           %ecx,0x8(%esp)
+  DB  137,124,36,4                        ; mov           %edi,0x4(%esp)
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  255,22                              ; call          *(%esi)
+  DB  131,196,80                          ; add           $0x50,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_plus__sse2_lowp
+_sk_plus__sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,96                          ; sub           $0x60,%esp
+  DB  102,15,111,225                      ; movdqa        %xmm1,%xmm4
+  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
+  DB  232,0,0,0,0                         ; call          b59b <_sk_plus__sse2_lowp+0x15>
+  DB  88                                  ; pop           %eax
+  DB  102,15,253,77,24                    ; paddw         0x18(%ebp),%xmm1
+  DB  102,15,111,168,245,88,0,0           ; movdqa        0x58f5(%eax),%xmm5
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,15,217,197                      ; psubusw       %xmm5,%xmm0
+  DB  102,15,127,109,232                  ; movdqa        %xmm5,-0x18(%ebp)
+  DB  102,15,239,255                      ; pxor          %xmm7,%xmm7
+  DB  102,15,117,199                      ; pcmpeqw       %xmm7,%xmm0
+  DB  102,15,219,200                      ; pand          %xmm0,%xmm1
+  DB  102,15,111,176,213,88,0,0           ; movdqa        0x58d5(%eax),%xmm6
+  DB  102,15,223,198                      ; pandn         %xmm6,%xmm0
+  DB  102,15,235,193                      ; por           %xmm1,%xmm0
+  DB  102,15,253,101,40                   ; paddw         0x28(%ebp),%xmm4
+  DB  102,15,111,204                      ; movdqa        %xmm4,%xmm1
+  DB  102,15,217,205                      ; psubusw       %xmm5,%xmm1
+  DB  102,15,117,207                      ; pcmpeqw       %xmm7,%xmm1
+  DB  102,15,219,225                      ; pand          %xmm1,%xmm4
+  DB  102,15,223,206                      ; pandn         %xmm6,%xmm1
+  DB  102,15,235,204                      ; por           %xmm4,%xmm1
+  DB  102,15,253,85,56                    ; paddw         0x38(%ebp),%xmm2
+  DB  102,15,111,226                      ; movdqa        %xmm2,%xmm4
+  DB  102,15,217,229                      ; psubusw       %xmm5,%xmm4
+  DB  102,15,117,231                      ; pcmpeqw       %xmm7,%xmm4
+  DB  102,15,219,212                      ; pand          %xmm4,%xmm2
+  DB  102,15,223,230                      ; pandn         %xmm6,%xmm4
+  DB  102,15,235,226                      ; por           %xmm2,%xmm4
+  DB  102,15,111,85,72                    ; movdqa        0x48(%ebp),%xmm2
+  DB  102,15,253,218                      ; paddw         %xmm2,%xmm3
+  DB  102,15,111,235                      ; movdqa        %xmm3,%xmm5
+  DB  102,15,217,109,232                  ; psubusw       -0x18(%ebp),%xmm5
+  DB  102,15,117,239                      ; pcmpeqw       %xmm7,%xmm5
+  DB  102,15,219,221                      ; pand          %xmm5,%xmm3
+  DB  102,15,223,238                      ; pandn         %xmm6,%xmm5
+  DB  102,15,235,235                      ; por           %xmm3,%xmm5
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,77,16                           ; mov           0x10(%ebp),%ecx
+  DB  139,85,20                           ; mov           0x14(%ebp),%edx
+  DB  139,117,12                          ; mov           0xc(%ebp),%esi
+  DB  141,126,4                           ; lea           0x4(%esi),%edi
+  DB  102,15,127,84,36,64                 ; movdqa        %xmm2,0x40(%esp)
+  DB  15,40,85,56                         ; movaps        0x38(%ebp),%xmm2
+  DB  15,41,84,36,48                      ; movaps        %xmm2,0x30(%esp)
+  DB  15,40,85,40                         ; movaps        0x28(%ebp),%xmm2
+  DB  15,41,84,36,32                      ; movaps        %xmm2,0x20(%esp)
+  DB  15,40,85,24                         ; movaps        0x18(%ebp),%xmm2
+  DB  15,41,84,36,16                      ; movaps        %xmm2,0x10(%esp)
+  DB  137,84,36,12                        ; mov           %edx,0xc(%esp)
+  DB  137,76,36,8                         ; mov           %ecx,0x8(%esp)
+  DB  137,124,36,4                        ; mov           %edi,0x4(%esp)
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  102,15,111,212                      ; movdqa        %xmm4,%xmm2
+  DB  102,15,111,221                      ; movdqa        %xmm5,%xmm3
+  DB  255,22                              ; call          *(%esi)
+  DB  131,196,96                          ; add           $0x60,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_screen_sse2_lowp
+_sk_screen_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,80                          ; sub           $0x50,%esp
+  DB  102,15,111,225                      ; movdqa        %xmm1,%xmm4
+  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
+  DB  232,0,0,0,0                         ; call          b693 <_sk_screen_sse2_lowp+0x15>
+  DB  88                                  ; pop           %eax
+  DB  102,15,111,109,40                   ; movdqa        0x28(%ebp),%xmm5
+  DB  102,15,111,117,24                   ; movdqa        0x18(%ebp),%xmm6
+  DB  102,15,111,198                      ; movdqa        %xmm6,%xmm0
+  DB  102,15,253,193                      ; paddw         %xmm1,%xmm0
+  DB  102,15,213,206                      ; pmullw        %xmm6,%xmm1
+  DB  102,15,111,176,221,87,0,0           ; movdqa        0x57dd(%eax),%xmm6
+  DB  102,15,253,206                      ; paddw         %xmm6,%xmm1
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,249,193                      ; psubw         %xmm1,%xmm0
+  DB  102,15,111,205                      ; movdqa        %xmm5,%xmm1
+  DB  102,15,253,204                      ; paddw         %xmm4,%xmm1
+  DB  102,15,213,229                      ; pmullw        %xmm5,%xmm4
+  DB  102,15,253,230                      ; paddw         %xmm6,%xmm4
+  DB  102,15,113,212,8                    ; psrlw         $0x8,%xmm4
+  DB  102,15,249,204                      ; psubw         %xmm4,%xmm1
+  DB  102,15,111,125,56                   ; movdqa        0x38(%ebp),%xmm7
+  DB  102,15,111,231                      ; movdqa        %xmm7,%xmm4
+  DB  102,15,253,226                      ; paddw         %xmm2,%xmm4
+  DB  102,15,213,215                      ; pmullw        %xmm7,%xmm2
+  DB  102,15,253,214                      ; paddw         %xmm6,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,249,226                      ; psubw         %xmm2,%xmm4
+  DB  102,15,111,85,72                    ; movdqa        0x48(%ebp),%xmm2
+  DB  102,15,111,234                      ; movdqa        %xmm2,%xmm5
+  DB  102,15,253,235                      ; paddw         %xmm3,%xmm5
+  DB  102,15,213,218                      ; pmullw        %xmm2,%xmm3
+  DB  102,15,253,222                      ; paddw         %xmm6,%xmm3
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  102,15,249,235                      ; psubw         %xmm3,%xmm5
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,77,16                           ; mov           0x10(%ebp),%ecx
+  DB  139,85,20                           ; mov           0x14(%ebp),%edx
+  DB  139,117,12                          ; mov           0xc(%ebp),%esi
+  DB  141,126,4                           ; lea           0x4(%esi),%edi
+  DB  102,15,127,84,36,64                 ; movdqa        %xmm2,0x40(%esp)
+  DB  102,15,127,124,36,48                ; movdqa        %xmm7,0x30(%esp)
+  DB  15,40,85,40                         ; movaps        0x28(%ebp),%xmm2
+  DB  15,41,84,36,32                      ; movaps        %xmm2,0x20(%esp)
+  DB  15,40,85,24                         ; movaps        0x18(%ebp),%xmm2
+  DB  15,41,84,36,16                      ; movaps        %xmm2,0x10(%esp)
+  DB  137,84,36,12                        ; mov           %edx,0xc(%esp)
+  DB  137,76,36,8                         ; mov           %ecx,0x8(%esp)
+  DB  137,124,36,4                        ; mov           %edi,0x4(%esp)
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  102,15,111,212                      ; movdqa        %xmm4,%xmm2
+  DB  102,15,111,221                      ; movdqa        %xmm5,%xmm3
+  DB  255,22                              ; call          *(%esi)
+  DB  131,196,80                          ; add           $0x50,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_xor__sse2_lowp
+_sk_xor__sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,96                          ; sub           $0x60,%esp
+  DB  102,15,127,93,232                   ; movdqa        %xmm3,-0x18(%ebp)
+  DB  232,0,0,0,0                         ; call          b773 <_sk_xor__sse2_lowp+0x12>
+  DB  88                                  ; pop           %eax
+  DB  102,15,111,176,253,86,0,0           ; movdqa        0x56fd(%eax),%xmm6
+  DB  102,15,111,254                      ; movdqa        %xmm6,%xmm7
+  DB  102,15,249,125,72                   ; psubw         0x48(%ebp),%xmm7
+  DB  102,15,213,199                      ; pmullw        %xmm7,%xmm0
+  DB  102,15,111,238                      ; movdqa        %xmm6,%xmm5
+  DB  102,15,249,235                      ; psubw         %xmm3,%xmm5
+  DB  102,15,111,221                      ; movdqa        %xmm5,%xmm3
+  DB  102,15,213,93,24                    ; pmullw        0x18(%ebp),%xmm3
+  DB  102,15,253,195                      ; paddw         %xmm3,%xmm0
+  DB  102,15,213,207                      ; pmullw        %xmm7,%xmm1
+  DB  102,15,111,221                      ; movdqa        %xmm5,%xmm3
+  DB  102,15,213,93,40                    ; pmullw        0x28(%ebp),%xmm3
+  DB  102,15,253,203                      ; paddw         %xmm3,%xmm1
+  DB  102,15,213,215                      ; pmullw        %xmm7,%xmm2
+  DB  102,15,111,93,56                    ; movdqa        0x38(%ebp),%xmm3
+  DB  102,15,111,229                      ; movdqa        %xmm5,%xmm4
+  DB  102,15,213,227                      ; pmullw        %xmm3,%xmm4
+  DB  102,15,253,212                      ; paddw         %xmm4,%xmm2
+  DB  102,15,213,125,232                  ; pmullw        -0x18(%ebp),%xmm7
+  DB  102,15,111,101,72                   ; movdqa        0x48(%ebp),%xmm4
+  DB  102,15,213,236                      ; pmullw        %xmm4,%xmm5
+  DB  102,15,253,239                      ; paddw         %xmm7,%xmm5
+  DB  102,15,253,198                      ; paddw         %xmm6,%xmm0
+  DB  102,15,253,206                      ; paddw         %xmm6,%xmm1
+  DB  102,15,253,214                      ; paddw         %xmm6,%xmm2
+  DB  102,15,253,238                      ; paddw         %xmm6,%xmm5
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,77,16                           ; mov           0x10(%ebp),%ecx
+  DB  139,85,20                           ; mov           0x14(%ebp),%edx
+  DB  139,117,12                          ; mov           0xc(%ebp),%esi
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,113,213,8                    ; psrlw         $0x8,%xmm5
+  DB  141,126,4                           ; lea           0x4(%esi),%edi
+  DB  102,15,127,100,36,64                ; movdqa        %xmm4,0x40(%esp)
+  DB  102,15,127,92,36,48                 ; movdqa        %xmm3,0x30(%esp)
+  DB  15,40,93,40                         ; movaps        0x28(%ebp),%xmm3
+  DB  15,41,92,36,32                      ; movaps        %xmm3,0x20(%esp)
+  DB  15,40,93,24                         ; movaps        0x18(%ebp),%xmm3
+  DB  15,41,92,36,16                      ; movaps        %xmm3,0x10(%esp)
+  DB  137,84,36,12                        ; mov           %edx,0xc(%esp)
+  DB  137,76,36,8                         ; mov           %ecx,0x8(%esp)
+  DB  137,124,36,4                        ; mov           %edi,0x4(%esp)
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  102,15,111,221                      ; movdqa        %xmm5,%xmm3
+  DB  255,22                              ; call          *(%esi)
+  DB  131,196,96                          ; add           $0x60,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_darken_sse2_lowp
+_sk_darken_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  129,236,144,0,0,0                   ; sub           $0x90,%esp
+  DB  102,15,111,251                      ; movdqa        %xmm3,%xmm7
+  DB  102,15,127,125,216                  ; movdqa        %xmm7,-0x28(%ebp)
+  DB  15,41,85,200                        ; movaps        %xmm2,-0x38(%ebp)
+  DB  102,15,111,225                      ; movdqa        %xmm1,%xmm4
+  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
+  DB  232,0,0,0,0                         ; call          b868 <_sk_darken_sse2_lowp+0x25>
+  DB  88                                  ; pop           %eax
+  DB  102,15,111,117,72                   ; movdqa        0x48(%ebp),%xmm6
+  DB  102,15,111,109,24                   ; movdqa        0x18(%ebp),%xmm5
+  DB  102,15,111,197                      ; movdqa        %xmm5,%xmm0
+  DB  102,15,253,193                      ; paddw         %xmm1,%xmm0
+  DB  102,15,111,208                      ; movdqa        %xmm0,%xmm2
+  DB  102,15,213,206                      ; pmullw        %xmm6,%xmm1
+  DB  102,15,111,222                      ; movdqa        %xmm6,%xmm3
+  DB  102,15,111,197                      ; movdqa        %xmm5,%xmm0
+  DB  102,15,213,199                      ; pmullw        %xmm7,%xmm0
+  DB  102,15,111,184,24,86,0,0            ; movdqa        0x5618(%eax),%xmm7
+  DB  102,15,111,241                      ; movdqa        %xmm1,%xmm6
+  DB  102,15,239,247                      ; pxor          %xmm7,%xmm6
+  DB  102,15,111,232                      ; movdqa        %xmm0,%xmm5
+  DB  102,15,239,239                      ; pxor          %xmm7,%xmm5
+  DB  102,15,101,238                      ; pcmpgtw       %xmm6,%xmm5
+  DB  102,15,219,197                      ; pand          %xmm5,%xmm0
+  DB  102,15,223,233                      ; pandn         %xmm1,%xmm5
+  DB  102,15,235,232                      ; por           %xmm0,%xmm5
+  DB  102,15,111,128,8,86,0,0             ; movdqa        0x5608(%eax),%xmm0
+  DB  102,15,127,69,232                   ; movdqa        %xmm0,-0x18(%ebp)
+  DB  102,15,253,232                      ; paddw         %xmm0,%xmm5
+  DB  102,15,113,213,8                    ; psrlw         $0x8,%xmm5
+  DB  102,15,249,213                      ; psubw         %xmm5,%xmm2
+  DB  102,15,127,85,184                   ; movdqa        %xmm2,-0x48(%ebp)
+  DB  102,15,111,77,40                    ; movdqa        0x28(%ebp),%xmm1
+  DB  102,15,111,241                      ; movdqa        %xmm1,%xmm6
+  DB  102,15,253,244                      ; paddw         %xmm4,%xmm6
+  DB  102,15,111,195                      ; movdqa        %xmm3,%xmm0
+  DB  102,15,213,224                      ; pmullw        %xmm0,%xmm4
+  DB  102,15,111,208                      ; movdqa        %xmm0,%xmm2
+  DB  102,15,111,93,216                   ; movdqa        -0x28(%ebp),%xmm3
+  DB  102,15,213,203                      ; pmullw        %xmm3,%xmm1
+  DB  102,15,111,236                      ; movdqa        %xmm4,%xmm5
+  DB  102,15,239,239                      ; pxor          %xmm7,%xmm5
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,15,239,199                      ; pxor          %xmm7,%xmm0
+  DB  102,15,101,197                      ; pcmpgtw       %xmm5,%xmm0
+  DB  102,15,219,200                      ; pand          %xmm0,%xmm1
+  DB  102,15,223,196                      ; pandn         %xmm4,%xmm0
+  DB  102,15,235,193                      ; por           %xmm1,%xmm0
+  DB  102,15,253,69,232                   ; paddw         -0x18(%ebp),%xmm0
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,15,249,240                      ; psubw         %xmm0,%xmm6
+  DB  102,15,111,109,56                   ; movdqa        0x38(%ebp),%xmm5
+  DB  102,15,111,229                      ; movdqa        %xmm5,%xmm4
+  DB  102,15,111,69,200                   ; movdqa        -0x38(%ebp),%xmm0
+  DB  102,15,253,224                      ; paddw         %xmm0,%xmm4
+  DB  102,15,213,194                      ; pmullw        %xmm2,%xmm0
+  DB  102,15,111,208                      ; movdqa        %xmm0,%xmm2
+  DB  102,15,111,197                      ; movdqa        %xmm5,%xmm0
+  DB  102,15,213,195                      ; pmullw        %xmm3,%xmm0
+  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
+  DB  102,15,239,207                      ; pxor          %xmm7,%xmm1
+  DB  102,15,239,248                      ; pxor          %xmm0,%xmm7
+  DB  102,15,101,249                      ; pcmpgtw       %xmm1,%xmm7
+  DB  102,15,219,199                      ; pand          %xmm7,%xmm0
+  DB  102,15,223,250                      ; pandn         %xmm2,%xmm7
+  DB  102,15,235,248                      ; por           %xmm0,%xmm7
+  DB  102,15,111,77,232                   ; movdqa        -0x18(%ebp),%xmm1
+  DB  102,15,253,249                      ; paddw         %xmm1,%xmm7
+  DB  102,15,113,215,8                    ; psrlw         $0x8,%xmm7
+  DB  102,15,249,231                      ; psubw         %xmm7,%xmm4
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,15,111,209                      ; movdqa        %xmm1,%xmm2
+  DB  102,15,249,195                      ; psubw         %xmm3,%xmm0
+  DB  102,15,111,125,72                   ; movdqa        0x48(%ebp),%xmm7
+  DB  102,15,213,199                      ; pmullw        %xmm7,%xmm0
+  DB  102,15,253,194                      ; paddw         %xmm2,%xmm0
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,15,253,216                      ; paddw         %xmm0,%xmm3
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,77,16                           ; mov           0x10(%ebp),%ecx
+  DB  139,85,20                           ; mov           0x14(%ebp),%edx
+  DB  139,117,12                          ; mov           0xc(%ebp),%esi
+  DB  141,126,4                           ; lea           0x4(%esi),%edi
+  DB  102,15,127,124,36,64                ; movdqa        %xmm7,0x40(%esp)
+  DB  102,15,127,108,36,48                ; movdqa        %xmm5,0x30(%esp)
+  DB  15,40,69,40                         ; movaps        0x28(%ebp),%xmm0
+  DB  15,41,68,36,32                      ; movaps        %xmm0,0x20(%esp)
+  DB  15,40,69,24                         ; movaps        0x18(%ebp),%xmm0
+  DB  15,41,68,36,16                      ; movaps        %xmm0,0x10(%esp)
+  DB  137,84,36,12                        ; mov           %edx,0xc(%esp)
+  DB  137,76,36,8                         ; mov           %ecx,0x8(%esp)
+  DB  137,124,36,4                        ; mov           %edi,0x4(%esp)
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  15,40,69,184                        ; movaps        -0x48(%ebp),%xmm0
+  DB  102,15,111,206                      ; movdqa        %xmm6,%xmm1
+  DB  102,15,111,212                      ; movdqa        %xmm4,%xmm2
+  DB  255,22                              ; call          *(%esi)
+  DB  129,196,144,0,0,0                   ; add           $0x90,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_lighten_sse2_lowp
+_sk_lighten_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  129,236,144,0,0,0                   ; sub           $0x90,%esp
+  DB  102,15,111,243                      ; movdqa        %xmm3,%xmm6
+  DB  102,15,127,117,216                  ; movdqa        %xmm6,-0x28(%ebp)
+  DB  15,41,85,200                        ; movaps        %xmm2,-0x38(%ebp)
+  DB  102,15,111,225                      ; movdqa        %xmm1,%xmm4
+  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
+  DB  232,0,0,0,0                         ; call          ba11 <_sk_lighten_sse2_lowp+0x25>
+  DB  88                                  ; pop           %eax
+  DB  102,15,111,109,24                   ; movdqa        0x18(%ebp),%xmm5
+  DB  102,15,111,197                      ; movdqa        %xmm5,%xmm0
+  DB  102,15,253,193                      ; paddw         %xmm1,%xmm0
+  DB  102,15,111,216                      ; movdqa        %xmm0,%xmm3
+  DB  102,15,213,77,72                    ; pmullw        0x48(%ebp),%xmm1
+  DB  102,15,111,197                      ; movdqa        %xmm5,%xmm0
+  DB  102,15,213,198                      ; pmullw        %xmm6,%xmm0
+  DB  102,15,111,184,111,84,0,0           ; movdqa        0x546f(%eax),%xmm7
+  DB  102,15,111,241                      ; movdqa        %xmm1,%xmm6
+  DB  102,15,239,247                      ; pxor          %xmm7,%xmm6
+  DB  102,15,111,232                      ; movdqa        %xmm0,%xmm5
+  DB  102,15,239,239                      ; pxor          %xmm7,%xmm5
+  DB  102,15,101,238                      ; pcmpgtw       %xmm6,%xmm5
+  DB  102,15,219,205                      ; pand          %xmm5,%xmm1
+  DB  102,15,223,232                      ; pandn         %xmm0,%xmm5
+  DB  102,15,235,233                      ; por           %xmm1,%xmm5
+  DB  102,15,111,128,95,84,0,0            ; movdqa        0x545f(%eax),%xmm0
+  DB  102,15,253,232                      ; paddw         %xmm0,%xmm5
+  DB  102,15,111,208                      ; movdqa        %xmm0,%xmm2
+  DB  102,15,127,85,232                   ; movdqa        %xmm2,-0x18(%ebp)
+  DB  102,15,113,213,8                    ; psrlw         $0x8,%xmm5
+  DB  102,15,249,221                      ; psubw         %xmm5,%xmm3
+  DB  102,15,127,93,184                   ; movdqa        %xmm3,-0x48(%ebp)
+  DB  102,15,111,77,40                    ; movdqa        0x28(%ebp),%xmm1
+  DB  102,15,111,241                      ; movdqa        %xmm1,%xmm6
+  DB  102,15,253,244                      ; paddw         %xmm4,%xmm6
+  DB  102,15,111,69,72                    ; movdqa        0x48(%ebp),%xmm0
+  DB  102,15,213,224                      ; pmullw        %xmm0,%xmm4
+  DB  102,15,111,93,216                   ; movdqa        -0x28(%ebp),%xmm3
+  DB  102,15,213,203                      ; pmullw        %xmm3,%xmm1
+  DB  102,15,111,236                      ; movdqa        %xmm4,%xmm5
+  DB  102,15,239,239                      ; pxor          %xmm7,%xmm5
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,15,239,199                      ; pxor          %xmm7,%xmm0
+  DB  102,15,101,197                      ; pcmpgtw       %xmm5,%xmm0
+  DB  102,15,219,224                      ; pand          %xmm0,%xmm4
+  DB  102,15,223,193                      ; pandn         %xmm1,%xmm0
+  DB  102,15,235,196                      ; por           %xmm4,%xmm0
+  DB  102,15,253,194                      ; paddw         %xmm2,%xmm0
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,15,249,240                      ; psubw         %xmm0,%xmm6
+  DB  102,15,111,109,56                   ; movdqa        0x38(%ebp),%xmm5
+  DB  102,15,111,229                      ; movdqa        %xmm5,%xmm4
+  DB  102,15,111,85,200                   ; movdqa        -0x38(%ebp),%xmm2
+  DB  102,15,253,226                      ; paddw         %xmm2,%xmm4
+  DB  102,15,213,85,72                    ; pmullw        0x48(%ebp),%xmm2
+  DB  102,15,111,197                      ; movdqa        %xmm5,%xmm0
+  DB  102,15,213,195                      ; pmullw        %xmm3,%xmm0
+  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
+  DB  102,15,239,207                      ; pxor          %xmm7,%xmm1
+  DB  102,15,239,248                      ; pxor          %xmm0,%xmm7
+  DB  102,15,101,249                      ; pcmpgtw       %xmm1,%xmm7
+  DB  102,15,219,215                      ; pand          %xmm7,%xmm2
+  DB  102,15,223,248                      ; pandn         %xmm0,%xmm7
+  DB  102,15,235,250                      ; por           %xmm2,%xmm7
+  DB  102,15,111,77,232                   ; movdqa        -0x18(%ebp),%xmm1
+  DB  102,15,253,249                      ; paddw         %xmm1,%xmm7
+  DB  102,15,113,215,8                    ; psrlw         $0x8,%xmm7
+  DB  102,15,249,231                      ; psubw         %xmm7,%xmm4
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,15,111,249                      ; movdqa        %xmm1,%xmm7
+  DB  102,15,249,195                      ; psubw         %xmm3,%xmm0
+  DB  102,15,111,85,72                    ; movdqa        0x48(%ebp),%xmm2
+  DB  102,15,213,194                      ; pmullw        %xmm2,%xmm0
+  DB  102,15,253,199                      ; paddw         %xmm7,%xmm0
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,15,253,216                      ; paddw         %xmm0,%xmm3
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,77,16                           ; mov           0x10(%ebp),%ecx
+  DB  139,85,20                           ; mov           0x14(%ebp),%edx
+  DB  139,117,12                          ; mov           0xc(%ebp),%esi
+  DB  141,126,4                           ; lea           0x4(%esi),%edi
+  DB  102,15,127,84,36,64                 ; movdqa        %xmm2,0x40(%esp)
+  DB  102,15,127,108,36,48                ; movdqa        %xmm5,0x30(%esp)
+  DB  15,40,69,40                         ; movaps        0x28(%ebp),%xmm0
+  DB  15,41,68,36,32                      ; movaps        %xmm0,0x20(%esp)
+  DB  15,40,69,24                         ; movaps        0x18(%ebp),%xmm0
+  DB  15,41,68,36,16                      ; movaps        %xmm0,0x10(%esp)
+  DB  137,84,36,12                        ; mov           %edx,0xc(%esp)
+  DB  137,76,36,8                         ; mov           %ecx,0x8(%esp)
+  DB  137,124,36,4                        ; mov           %edi,0x4(%esp)
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  15,40,69,184                        ; movaps        -0x48(%ebp),%xmm0
+  DB  102,15,111,206                      ; movdqa        %xmm6,%xmm1
+  DB  102,15,111,212                      ; movdqa        %xmm4,%xmm2
+  DB  255,22                              ; call          *(%esi)
+  DB  129,196,144,0,0,0                   ; add           $0x90,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_difference_sse2_lowp
+_sk_difference_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  129,236,160,0,0,0                   ; sub           $0xa0,%esp
+  DB  102,15,111,251                      ; movdqa        %xmm3,%xmm7
+  DB  102,15,127,125,200                  ; movdqa        %xmm7,-0x38(%ebp)
+  DB  15,41,85,184                        ; movaps        %xmm2,-0x48(%ebp)
+  DB  102,15,111,225                      ; movdqa        %xmm1,%xmm4
+  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
+  DB  232,0,0,0,0                         ; call          bbaf <_sk_difference_sse2_lowp+0x25>
+  DB  88                                  ; pop           %eax
+  DB  102,15,111,117,72                   ; movdqa        0x48(%ebp),%xmm6
+  DB  102,15,111,109,24                   ; movdqa        0x18(%ebp),%xmm5
+  DB  102,15,111,197                      ; movdqa        %xmm5,%xmm0
+  DB  102,15,253,193                      ; paddw         %xmm1,%xmm0
+  DB  102,15,111,208                      ; movdqa        %xmm0,%xmm2
+  DB  102,15,213,206                      ; pmullw        %xmm6,%xmm1
+  DB  102,15,111,222                      ; movdqa        %xmm6,%xmm3
+  DB  102,15,111,197                      ; movdqa        %xmm5,%xmm0
+  DB  102,15,213,199                      ; pmullw        %xmm7,%xmm0
+  DB  102,15,111,184,209,82,0,0           ; movdqa        0x52d1(%eax),%xmm7
+  DB  102,15,111,241                      ; movdqa        %xmm1,%xmm6
+  DB  102,15,239,247                      ; pxor          %xmm7,%xmm6
+  DB  102,15,111,232                      ; movdqa        %xmm0,%xmm5
+  DB  102,15,239,239                      ; pxor          %xmm7,%xmm5
+  DB  102,15,101,238                      ; pcmpgtw       %xmm6,%xmm5
+  DB  102,15,219,205                      ; pand          %xmm5,%xmm1
+  DB  102,15,223,232                      ; pandn         %xmm0,%xmm5
+  DB  102,15,235,233                      ; por           %xmm1,%xmm5
+  DB  102,15,111,128,193,82,0,0           ; movdqa        0x52c1(%eax),%xmm0
+  DB  102,15,127,69,216                   ; movdqa        %xmm0,-0x28(%ebp)
+  DB  102,15,253,232                      ; paddw         %xmm0,%xmm5
+  DB  102,15,113,213,7                    ; psrlw         $0x7,%xmm5
+  DB  102,15,111,128,241,82,0,0           ; movdqa        0x52f1(%eax),%xmm0
+  DB  102,15,127,69,232                   ; movdqa        %xmm0,-0x18(%ebp)
+  DB  102,15,219,232                      ; pand          %xmm0,%xmm5
+  DB  102,15,249,213                      ; psubw         %xmm5,%xmm2
+  DB  102,15,127,85,168                   ; movdqa        %xmm2,-0x58(%ebp)
+  DB  102,15,111,77,40                    ; movdqa        0x28(%ebp),%xmm1
+  DB  102,15,111,241                      ; movdqa        %xmm1,%xmm6
+  DB  102,15,253,244                      ; paddw         %xmm4,%xmm6
+  DB  102,15,111,195                      ; movdqa        %xmm3,%xmm0
+  DB  102,15,213,224                      ; pmullw        %xmm0,%xmm4
+  DB  102,15,111,208                      ; movdqa        %xmm0,%xmm2
+  DB  102,15,111,93,200                   ; movdqa        -0x38(%ebp),%xmm3
+  DB  102,15,213,203                      ; pmullw        %xmm3,%xmm1
+  DB  102,15,111,236                      ; movdqa        %xmm4,%xmm5
+  DB  102,15,239,239                      ; pxor          %xmm7,%xmm5
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,15,239,199                      ; pxor          %xmm7,%xmm0
+  DB  102,15,101,197                      ; pcmpgtw       %xmm5,%xmm0
+  DB  102,15,219,224                      ; pand          %xmm0,%xmm4
+  DB  102,15,223,193                      ; pandn         %xmm1,%xmm0
+  DB  102,15,235,196                      ; por           %xmm4,%xmm0
+  DB  102,15,253,69,216                   ; paddw         -0x28(%ebp),%xmm0
+  DB  102,15,113,208,7                    ; psrlw         $0x7,%xmm0
+  DB  102,15,219,69,232                   ; pand          -0x18(%ebp),%xmm0
+  DB  102,15,249,240                      ; psubw         %xmm0,%xmm6
+  DB  102,15,111,109,56                   ; movdqa        0x38(%ebp),%xmm5
+  DB  102,15,111,229                      ; movdqa        %xmm5,%xmm4
+  DB  102,15,111,69,184                   ; movdqa        -0x48(%ebp),%xmm0
+  DB  102,15,253,224                      ; paddw         %xmm0,%xmm4
+  DB  102,15,213,194                      ; pmullw        %xmm2,%xmm0
+  DB  102,15,111,208                      ; movdqa        %xmm0,%xmm2
+  DB  102,15,111,197                      ; movdqa        %xmm5,%xmm0
+  DB  102,15,213,195                      ; pmullw        %xmm3,%xmm0
+  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
+  DB  102,15,239,207                      ; pxor          %xmm7,%xmm1
+  DB  102,15,239,248                      ; pxor          %xmm0,%xmm7
+  DB  102,15,101,249                      ; pcmpgtw       %xmm1,%xmm7
+  DB  102,15,219,215                      ; pand          %xmm7,%xmm2
+  DB  102,15,223,248                      ; pandn         %xmm0,%xmm7
+  DB  102,15,235,250                      ; por           %xmm2,%xmm7
+  DB  102,15,111,77,216                   ; movdqa        -0x28(%ebp),%xmm1
+  DB  102,15,253,249                      ; paddw         %xmm1,%xmm7
+  DB  102,15,113,215,7                    ; psrlw         $0x7,%xmm7
+  DB  102,15,219,125,232                  ; pand          -0x18(%ebp),%xmm7
+  DB  102,15,249,231                      ; psubw         %xmm7,%xmm4
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,15,111,249                      ; movdqa        %xmm1,%xmm7
+  DB  102,15,249,195                      ; psubw         %xmm3,%xmm0
+  DB  102,15,111,85,72                    ; movdqa        0x48(%ebp),%xmm2
+  DB  102,15,213,194                      ; pmullw        %xmm2,%xmm0
+  DB  102,15,253,199                      ; paddw         %xmm7,%xmm0
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,15,253,216                      ; paddw         %xmm0,%xmm3
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,77,16                           ; mov           0x10(%ebp),%ecx
+  DB  139,85,20                           ; mov           0x14(%ebp),%edx
+  DB  139,117,12                          ; mov           0xc(%ebp),%esi
+  DB  141,126,4                           ; lea           0x4(%esi),%edi
+  DB  102,15,127,84,36,64                 ; movdqa        %xmm2,0x40(%esp)
+  DB  102,15,127,108,36,48                ; movdqa        %xmm5,0x30(%esp)
+  DB  15,40,69,40                         ; movaps        0x28(%ebp),%xmm0
+  DB  15,41,68,36,32                      ; movaps        %xmm0,0x20(%esp)
+  DB  15,40,69,24                         ; movaps        0x18(%ebp),%xmm0
+  DB  15,41,68,36,16                      ; movaps        %xmm0,0x10(%esp)
+  DB  137,84,36,12                        ; mov           %edx,0xc(%esp)
+  DB  137,76,36,8                         ; mov           %ecx,0x8(%esp)
+  DB  137,124,36,4                        ; mov           %edi,0x4(%esp)
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  15,40,69,168                        ; movaps        -0x58(%ebp),%xmm0
+  DB  102,15,111,206                      ; movdqa        %xmm6,%xmm1
+  DB  102,15,111,212                      ; movdqa        %xmm4,%xmm2
+  DB  255,22                              ; call          *(%esi)
+  DB  129,196,160,0,0,0                   ; add           $0xa0,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_exclusion_sse2_lowp
+_sk_exclusion_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,80                          ; sub           $0x50,%esp
+  DB  102,15,111,225                      ; movdqa        %xmm1,%xmm4
+  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
+  DB  232,0,0,0,0                         ; call          bd63 <_sk_exclusion_sse2_lowp+0x15>
+  DB  88                                  ; pop           %eax
+  DB  102,15,111,109,24                   ; movdqa        0x18(%ebp),%xmm5
+  DB  102,15,111,197                      ; movdqa        %xmm5,%xmm0
+  DB  102,15,253,193                      ; paddw         %xmm1,%xmm0
+  DB  102,15,213,205                      ; pmullw        %xmm5,%xmm1
+  DB  102,15,111,184,13,81,0,0            ; movdqa        0x510d(%eax),%xmm7
+  DB  102,15,253,207                      ; paddw         %xmm7,%xmm1
+  DB  102,15,113,209,7                    ; psrlw         $0x7,%xmm1
+  DB  102,15,111,176,61,81,0,0            ; movdqa        0x513d(%eax),%xmm6
+  DB  102,15,219,206                      ; pand          %xmm6,%xmm1
+  DB  102,15,249,193                      ; psubw         %xmm1,%xmm0
+  DB  102,15,111,109,40                   ; movdqa        0x28(%ebp),%xmm5
+  DB  102,15,111,205                      ; movdqa        %xmm5,%xmm1
+  DB  102,15,253,204                      ; paddw         %xmm4,%xmm1
+  DB  102,15,213,229                      ; pmullw        %xmm5,%xmm4
+  DB  102,15,253,231                      ; paddw         %xmm7,%xmm4
+  DB  102,15,113,212,7                    ; psrlw         $0x7,%xmm4
+  DB  102,15,219,230                      ; pand          %xmm6,%xmm4
+  DB  102,15,249,204                      ; psubw         %xmm4,%xmm1
+  DB  102,15,111,109,56                   ; movdqa        0x38(%ebp),%xmm5
+  DB  102,15,111,229                      ; movdqa        %xmm5,%xmm4
+  DB  102,15,253,226                      ; paddw         %xmm2,%xmm4
+  DB  102,15,213,213                      ; pmullw        %xmm5,%xmm2
+  DB  102,15,253,215                      ; paddw         %xmm7,%xmm2
+  DB  102,15,113,210,7                    ; psrlw         $0x7,%xmm2
+  DB  102,15,219,214                      ; pand          %xmm6,%xmm2
+  DB  102,15,249,226                      ; psubw         %xmm2,%xmm4
+  DB  102,15,111,215                      ; movdqa        %xmm7,%xmm2
+  DB  102,15,249,211                      ; psubw         %xmm3,%xmm2
+  DB  102,15,111,117,72                   ; movdqa        0x48(%ebp),%xmm6
+  DB  102,15,213,214                      ; pmullw        %xmm6,%xmm2
+  DB  102,15,253,215                      ; paddw         %xmm7,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,253,218                      ; paddw         %xmm2,%xmm3
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,77,16                           ; mov           0x10(%ebp),%ecx
+  DB  139,85,20                           ; mov           0x14(%ebp),%edx
+  DB  139,117,12                          ; mov           0xc(%ebp),%esi
+  DB  141,126,4                           ; lea           0x4(%esi),%edi
+  DB  102,15,127,116,36,64                ; movdqa        %xmm6,0x40(%esp)
+  DB  102,15,127,108,36,48                ; movdqa        %xmm5,0x30(%esp)
+  DB  15,40,85,40                         ; movaps        0x28(%ebp),%xmm2
+  DB  15,41,84,36,32                      ; movaps        %xmm2,0x20(%esp)
+  DB  15,40,85,24                         ; movaps        0x18(%ebp),%xmm2
+  DB  15,41,84,36,16                      ; movaps        %xmm2,0x10(%esp)
+  DB  137,84,36,12                        ; mov           %edx,0xc(%esp)
+  DB  137,76,36,8                         ; mov           %ecx,0x8(%esp)
+  DB  137,124,36,4                        ; mov           %edi,0x4(%esp)
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  102,15,111,212                      ; movdqa        %xmm4,%xmm2
+  DB  255,22                              ; call          *(%esi)
+  DB  131,196,80                          ; add           $0x50,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_hardlight_sse2_lowp
+_sk_hardlight_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  129,236,176,0,0,0                   ; sub           $0xb0,%esp
+  DB  15,41,85,152                        ; movaps        %xmm2,-0x68(%ebp)
+  DB  102,15,111,233                      ; movdqa        %xmm1,%xmm5
+  DB  102,15,111,224                      ; movdqa        %xmm0,%xmm4
+  DB  232,0,0,0,0                         ; call          be5d <_sk_hardlight_sse2_lowp+0x1c>
+  DB  88                                  ; pop           %eax
+  DB  102,15,111,184,19,80,0,0            ; movdqa        0x5013(%eax),%xmm7
+  DB  102,15,127,125,200                  ; movdqa        %xmm7,-0x38(%ebp)
+  DB  102,15,111,215                      ; movdqa        %xmm7,%xmm2
+  DB  102,15,249,85,72                    ; psubw         0x48(%ebp),%xmm2
+  DB  102,15,127,85,168                   ; movdqa        %xmm2,-0x58(%ebp)
+  DB  102,15,111,194                      ; movdqa        %xmm2,%xmm0
+  DB  102,15,213,196                      ; pmullw        %xmm4,%xmm0
+  DB  102,15,111,211                      ; movdqa        %xmm3,%xmm2
+  DB  102,15,249,250                      ; psubw         %xmm2,%xmm7
+  DB  102,15,127,125,232                  ; movdqa        %xmm7,-0x18(%ebp)
+  DB  102,15,111,117,24                   ; movdqa        0x18(%ebp),%xmm6
+  DB  102,15,213,254                      ; pmullw        %xmm6,%xmm7
+  DB  102,15,253,248                      ; paddw         %xmm0,%xmm7
+  DB  102,15,111,194                      ; movdqa        %xmm2,%xmm0
+  DB  102,15,249,196                      ; psubw         %xmm4,%xmm0
+  DB  102,15,111,93,72                    ; movdqa        0x48(%ebp),%xmm3
+  DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
+  DB  102,15,249,206                      ; psubw         %xmm6,%xmm1
+  DB  102,15,213,200                      ; pmullw        %xmm0,%xmm1
+  DB  102,15,111,243                      ; movdqa        %xmm3,%xmm6
+  DB  102,15,111,218                      ; movdqa        %xmm2,%xmm3
+  DB  102,15,127,93,216                   ; movdqa        %xmm3,-0x28(%ebp)
+  DB  102,15,213,243                      ; pmullw        %xmm3,%xmm6
+  DB  102,15,253,201                      ; paddw         %xmm1,%xmm1
+  DB  102,15,111,214                      ; movdqa        %xmm6,%xmm2
+  DB  102,15,249,209                      ; psubw         %xmm1,%xmm2
+  DB  102,15,253,228                      ; paddw         %xmm4,%xmm4
+  DB  102,15,111,128,35,80,0,0            ; movdqa        0x5023(%eax),%xmm0
+  DB  102,15,239,216                      ; pxor          %xmm0,%xmm3
+  DB  102,15,127,93,184                   ; movdqa        %xmm3,-0x48(%ebp)
+  DB  102,15,111,204                      ; movdqa        %xmm4,%xmm1
+  DB  102,15,239,200                      ; pxor          %xmm0,%xmm1
+  DB  102,15,101,203                      ; pcmpgtw       %xmm3,%xmm1
+  DB  102,15,213,101,24                   ; pmullw        0x18(%ebp),%xmm4
+  DB  102,15,219,209                      ; pand          %xmm1,%xmm2
+  DB  102,15,223,204                      ; pandn         %xmm4,%xmm1
+  DB  102,15,235,202                      ; por           %xmm2,%xmm1
+  DB  102,15,253,125,200                  ; paddw         -0x38(%ebp),%xmm7
+  DB  102,15,253,207                      ; paddw         %xmm7,%xmm1
+  DB  102,15,111,85,168                   ; movdqa        -0x58(%ebp),%xmm2
+  DB  102,15,213,213                      ; pmullw        %xmm5,%xmm2
+  DB  102,15,111,93,40                    ; movdqa        0x28(%ebp),%xmm3
+  DB  102,15,111,125,232                  ; movdqa        -0x18(%ebp),%xmm7
+  DB  102,15,213,251                      ; pmullw        %xmm3,%xmm7
+  DB  102,15,253,250                      ; paddw         %xmm2,%xmm7
+  DB  102,15,111,85,216                   ; movdqa        -0x28(%ebp),%xmm2
+  DB  102,15,249,213                      ; psubw         %xmm5,%xmm2
+  DB  102,15,111,101,72                   ; movdqa        0x48(%ebp),%xmm4
+  DB  102,15,249,227                      ; psubw         %xmm3,%xmm4
+  DB  102,15,213,226                      ; pmullw        %xmm2,%xmm4
+  DB  102,15,253,228                      ; paddw         %xmm4,%xmm4
+  DB  102,15,111,214                      ; movdqa        %xmm6,%xmm2
+  DB  102,15,249,212                      ; psubw         %xmm4,%xmm2
+  DB  102,15,253,237                      ; paddw         %xmm5,%xmm5
+  DB  102,15,111,229                      ; movdqa        %xmm5,%xmm4
+  DB  102,15,239,224                      ; pxor          %xmm0,%xmm4
+  DB  102,15,101,101,184                  ; pcmpgtw       -0x48(%ebp),%xmm4
+  DB  102,15,213,235                      ; pmullw        %xmm3,%xmm5
+  DB  102,15,219,212                      ; pand          %xmm4,%xmm2
+  DB  102,15,223,229                      ; pandn         %xmm5,%xmm4
+  DB  102,15,235,226                      ; por           %xmm2,%xmm4
+  DB  102,15,253,125,200                  ; paddw         -0x38(%ebp),%xmm7
+  DB  102,15,253,231                      ; paddw         %xmm7,%xmm4
+  DB  102,15,111,93,152                   ; movdqa        -0x68(%ebp),%xmm3
+  DB  102,15,111,85,168                   ; movdqa        -0x58(%ebp),%xmm2
+  DB  102,15,213,211                      ; pmullw        %xmm3,%xmm2
+  DB  102,15,111,109,232                  ; movdqa        -0x18(%ebp),%xmm5
+  DB  102,15,213,109,56                   ; pmullw        0x38(%ebp),%xmm5
+  DB  102,15,253,234                      ; paddw         %xmm2,%xmm5
+  DB  102,15,111,85,216                   ; movdqa        -0x28(%ebp),%xmm2
+  DB  102,15,249,211                      ; psubw         %xmm3,%xmm2
+  DB  102,15,253,219                      ; paddw         %xmm3,%xmm3
+  DB  102,15,239,195                      ; pxor          %xmm3,%xmm0
+  DB  102,15,101,69,184                   ; pcmpgtw       -0x48(%ebp),%xmm0
+  DB  102,15,111,125,72                   ; movdqa        0x48(%ebp),%xmm7
+  DB  102,15,249,125,56                   ; psubw         0x38(%ebp),%xmm7
+  DB  102,15,213,250                      ; pmullw        %xmm2,%xmm7
+  DB  102,15,253,255                      ; paddw         %xmm7,%xmm7
+  DB  102,15,249,247                      ; psubw         %xmm7,%xmm6
+  DB  102,15,111,125,56                   ; movdqa        0x38(%ebp),%xmm7
+  DB  102,15,213,223                      ; pmullw        %xmm7,%xmm3
+  DB  102,15,219,240                      ; pand          %xmm0,%xmm6
+  DB  102,15,223,195                      ; pandn         %xmm3,%xmm0
+  DB  102,15,235,198                      ; por           %xmm6,%xmm0
+  DB  102,15,111,93,200                   ; movdqa        -0x38(%ebp),%xmm3
+  DB  102,15,253,235                      ; paddw         %xmm3,%xmm5
+  DB  102,15,253,232                      ; paddw         %xmm0,%xmm5
+  DB  102,15,111,69,72                    ; movdqa        0x48(%ebp),%xmm0
+  DB  102,15,111,85,232                   ; movdqa        -0x18(%ebp),%xmm2
+  DB  102,15,213,208                      ; pmullw        %xmm0,%xmm2
+  DB  102,15,253,211                      ; paddw         %xmm3,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,111,93,216                   ; movdqa        -0x28(%ebp),%xmm3
+  DB  102,15,253,218                      ; paddw         %xmm2,%xmm3
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,77,16                           ; mov           0x10(%ebp),%ecx
+  DB  139,85,20                           ; mov           0x14(%ebp),%edx
+  DB  139,117,12                          ; mov           0xc(%ebp),%esi
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,113,212,8                    ; psrlw         $0x8,%xmm4
+  DB  102,15,113,213,8                    ; psrlw         $0x8,%xmm5
+  DB  141,126,4                           ; lea           0x4(%esi),%edi
+  DB  102,15,127,68,36,64                 ; movdqa        %xmm0,0x40(%esp)
+  DB  102,15,127,124,36,48                ; movdqa        %xmm7,0x30(%esp)
+  DB  15,40,69,40                         ; movaps        0x28(%ebp),%xmm0
+  DB  15,41,68,36,32                      ; movaps        %xmm0,0x20(%esp)
+  DB  15,40,69,24                         ; movaps        0x18(%ebp),%xmm0
+  DB  15,41,68,36,16                      ; movaps        %xmm0,0x10(%esp)
+  DB  137,84,36,12                        ; mov           %edx,0xc(%esp)
+  DB  137,76,36,8                         ; mov           %ecx,0x8(%esp)
+  DB  137,124,36,4                        ; mov           %edi,0x4(%esp)
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,15,111,204                      ; movdqa        %xmm4,%xmm1
+  DB  102,15,111,213                      ; movdqa        %xmm5,%xmm2
+  DB  255,22                              ; call          *(%esi)
+  DB  129,196,176,0,0,0                   ; add           $0xb0,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_overlay_sse2_lowp
+_sk_overlay_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  129,236,208,0,0,0                   ; sub           $0xd0,%esp
+  DB  15,41,85,152                        ; movaps        %xmm2,-0x68(%ebp)
+  DB  15,41,141,120,255,255,255           ; movaps        %xmm1,-0x88(%ebp)
+  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
+  DB  232,0,0,0,0                         ; call          c07f <_sk_overlay_sse2_lowp+0x1f>
+  DB  88                                  ; pop           %eax
+  DB  102,15,111,69,72                    ; movdqa        0x48(%ebp),%xmm0
+  DB  102,15,111,184,241,77,0,0           ; movdqa        0x4df1(%eax),%xmm7
+  DB  102,15,127,125,232                  ; movdqa        %xmm7,-0x18(%ebp)
+  DB  102,15,111,215                      ; movdqa        %xmm7,%xmm2
+  DB  102,15,249,208                      ; psubw         %xmm0,%xmm2
+  DB  102,15,127,85,168                   ; movdqa        %xmm2,-0x58(%ebp)
+  DB  102,15,111,240                      ; movdqa        %xmm0,%xmm6
+  DB  102,15,213,209                      ; pmullw        %xmm1,%xmm2
+  DB  102,15,111,195                      ; movdqa        %xmm3,%xmm0
+  DB  102,15,249,248                      ; psubw         %xmm0,%xmm7
+  DB  102,15,111,231                      ; movdqa        %xmm7,%xmm4
+  DB  102,15,213,101,24                   ; pmullw        0x18(%ebp),%xmm4
+  DB  102,15,253,226                      ; paddw         %xmm2,%xmm4
+  DB  102,15,127,101,216                  ; movdqa        %xmm4,-0x28(%ebp)
+  DB  102,15,111,232                      ; movdqa        %xmm0,%xmm5
+  DB  102,15,127,69,200                   ; movdqa        %xmm0,-0x38(%ebp)
+  DB  102,15,249,233                      ; psubw         %xmm1,%xmm5
+  DB  102,15,111,230                      ; movdqa        %xmm6,%xmm4
+  DB  102,15,111,212                      ; movdqa        %xmm4,%xmm2
+  DB  102,15,111,93,24                    ; movdqa        0x18(%ebp),%xmm3
+  DB  102,15,249,211                      ; psubw         %xmm3,%xmm2
+  DB  102,15,213,213                      ; pmullw        %xmm5,%xmm2
+  DB  102,15,213,240                      ; pmullw        %xmm0,%xmm6
+  DB  102,15,253,210                      ; paddw         %xmm2,%xmm2
+  DB  102,15,111,238                      ; movdqa        %xmm6,%xmm5
+  DB  102,15,249,234                      ; psubw         %xmm2,%xmm5
+  DB  102,15,111,195                      ; movdqa        %xmm3,%xmm0
+  DB  102,15,253,192                      ; paddw         %xmm0,%xmm0
+  DB  102,15,111,144,1,78,0,0             ; movdqa        0x4e01(%eax),%xmm2
+  DB  102,15,127,85,184                   ; movdqa        %xmm2,-0x48(%ebp)
+  DB  102,15,239,226                      ; pxor          %xmm2,%xmm4
+  DB  102,15,239,194                      ; pxor          %xmm2,%xmm0
+  DB  102,15,101,196                      ; pcmpgtw       %xmm4,%xmm0
+  DB  102,15,127,101,136                  ; movdqa        %xmm4,-0x78(%ebp)
+  DB  102,15,213,203                      ; pmullw        %xmm3,%xmm1
+  DB  102,15,253,201                      ; paddw         %xmm1,%xmm1
+  DB  102,15,219,232                      ; pand          %xmm0,%xmm5
+  DB  102,15,223,193                      ; pandn         %xmm1,%xmm0
+  DB  102,15,235,197                      ; por           %xmm5,%xmm0
+  DB  102,15,111,85,232                   ; movdqa        -0x18(%ebp),%xmm2
+  DB  102,15,111,77,216                   ; movdqa        -0x28(%ebp),%xmm1
+  DB  102,15,253,202                      ; paddw         %xmm2,%xmm1
+  DB  102,15,253,200                      ; paddw         %xmm0,%xmm1
+  DB  102,15,127,77,216                   ; movdqa        %xmm1,-0x28(%ebp)
+  DB  102,15,111,69,168                   ; movdqa        -0x58(%ebp),%xmm0
+  DB  102,15,111,141,120,255,255,255      ; movdqa        -0x88(%ebp),%xmm1
+  DB  102,15,213,193                      ; pmullw        %xmm1,%xmm0
+  DB  102,15,111,85,40                    ; movdqa        0x28(%ebp),%xmm2
+  DB  102,15,111,223                      ; movdqa        %xmm7,%xmm3
+  DB  102,15,213,218                      ; pmullw        %xmm2,%xmm3
+  DB  102,15,253,216                      ; paddw         %xmm0,%xmm3
+  DB  102,15,111,69,200                   ; movdqa        -0x38(%ebp),%xmm0
+  DB  102,15,249,193                      ; psubw         %xmm1,%xmm0
+  DB  102,15,111,109,72                   ; movdqa        0x48(%ebp),%xmm5
+  DB  102,15,249,234                      ; psubw         %xmm2,%xmm5
+  DB  102,15,213,232                      ; pmullw        %xmm0,%xmm5
+  DB  102,15,253,237                      ; paddw         %xmm5,%xmm5
+  DB  102,15,111,198                      ; movdqa        %xmm6,%xmm0
+  DB  102,15,249,197                      ; psubw         %xmm5,%xmm0
+  DB  102,15,111,234                      ; movdqa        %xmm2,%xmm5
+  DB  102,15,253,237                      ; paddw         %xmm5,%xmm5
+  DB  102,15,239,109,184                  ; pxor          -0x48(%ebp),%xmm5
+  DB  102,15,101,236                      ; pcmpgtw       %xmm4,%xmm5
+  DB  102,15,213,202                      ; pmullw        %xmm2,%xmm1
+  DB  102,15,253,201                      ; paddw         %xmm1,%xmm1
+  DB  102,15,219,197                      ; pand          %xmm5,%xmm0
+  DB  102,15,223,233                      ; pandn         %xmm1,%xmm5
+  DB  102,15,235,232                      ; por           %xmm0,%xmm5
+  DB  102,15,253,93,232                   ; paddw         -0x18(%ebp),%xmm3
+  DB  102,15,253,221                      ; paddw         %xmm5,%xmm3
+  DB  102,15,111,109,152                  ; movdqa        -0x68(%ebp),%xmm5
+  DB  102,15,111,69,168                   ; movdqa        -0x58(%ebp),%xmm0
+  DB  102,15,213,197                      ; pmullw        %xmm5,%xmm0
+  DB  102,15,111,77,56                    ; movdqa        0x38(%ebp),%xmm1
+  DB  102,15,111,231                      ; movdqa        %xmm7,%xmm4
+  DB  102,15,213,225                      ; pmullw        %xmm1,%xmm4
+  DB  102,15,253,224                      ; paddw         %xmm0,%xmm4
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,15,253,192                      ; paddw         %xmm0,%xmm0
+  DB  102,15,239,69,184                   ; pxor          -0x48(%ebp),%xmm0
+  DB  102,15,101,69,136                   ; pcmpgtw       -0x78(%ebp),%xmm0
+  DB  102,15,111,85,200                   ; movdqa        -0x38(%ebp),%xmm2
+  DB  102,15,249,213                      ; psubw         %xmm5,%xmm2
+  DB  102,15,111,77,72                    ; movdqa        0x48(%ebp),%xmm1
+  DB  102,15,111,233                      ; movdqa        %xmm1,%xmm5
+  DB  102,15,111,77,56                    ; movdqa        0x38(%ebp),%xmm1
+  DB  102,15,249,233                      ; psubw         %xmm1,%xmm5
+  DB  102,15,213,234                      ; pmullw        %xmm2,%xmm5
+  DB  102,15,253,237                      ; paddw         %xmm5,%xmm5
+  DB  102,15,249,245                      ; psubw         %xmm5,%xmm6
+  DB  102,15,111,85,152                   ; movdqa        -0x68(%ebp),%xmm2
+  DB  102,15,213,209                      ; pmullw        %xmm1,%xmm2
+  DB  102,15,253,210                      ; paddw         %xmm2,%xmm2
+  DB  102,15,219,240                      ; pand          %xmm0,%xmm6
+  DB  102,15,223,194                      ; pandn         %xmm2,%xmm0
+  DB  102,15,235,198                      ; por           %xmm6,%xmm0
+  DB  102,15,111,85,232                   ; movdqa        -0x18(%ebp),%xmm2
+  DB  102,15,253,226                      ; paddw         %xmm2,%xmm4
+  DB  102,15,253,224                      ; paddw         %xmm0,%xmm4
+  DB  102,15,111,69,72                    ; movdqa        0x48(%ebp),%xmm0
+  DB  102,15,213,248                      ; pmullw        %xmm0,%xmm7
+  DB  102,15,253,250                      ; paddw         %xmm2,%xmm7
+  DB  102,15,113,215,8                    ; psrlw         $0x8,%xmm7
+  DB  102,15,111,109,200                  ; movdqa        -0x38(%ebp),%xmm5
+  DB  102,15,253,239                      ; paddw         %xmm7,%xmm5
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,77,16                           ; mov           0x10(%ebp),%ecx
+  DB  139,85,20                           ; mov           0x14(%ebp),%edx
+  DB  139,117,12                          ; mov           0xc(%ebp),%esi
+  DB  102,15,111,77,216                   ; movdqa        -0x28(%ebp),%xmm1
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  102,15,113,212,8                    ; psrlw         $0x8,%xmm4
+  DB  141,126,4                           ; lea           0x4(%esi),%edi
+  DB  102,15,127,68,36,64                 ; movdqa        %xmm0,0x40(%esp)
+  DB  15,40,69,56                         ; movaps        0x38(%ebp),%xmm0
+  DB  15,41,68,36,48                      ; movaps        %xmm0,0x30(%esp)
+  DB  15,40,69,40                         ; movaps        0x28(%ebp),%xmm0
+  DB  15,41,68,36,32                      ; movaps        %xmm0,0x20(%esp)
+  DB  15,40,69,24                         ; movaps        0x18(%ebp),%xmm0
+  DB  15,41,68,36,16                      ; movaps        %xmm0,0x10(%esp)
+  DB  137,84,36,12                        ; mov           %edx,0xc(%esp)
+  DB  137,76,36,8                         ; mov           %ecx,0x8(%esp)
+  DB  137,124,36,4                        ; mov           %edi,0x4(%esp)
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
+  DB  102,15,111,212                      ; movdqa        %xmm4,%xmm2
+  DB  102,15,111,221                      ; movdqa        %xmm5,%xmm3
+  DB  255,22                              ; call          *(%esi)
+  DB  129,196,208,0,0,0                   ; add           $0xd0,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_load_8888_sse2_lowp
+_sk_load_8888_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,92                          ; sub           $0x5c,%esp
+  DB  15,40,125,72                        ; movaps        0x48(%ebp),%xmm7
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,85,8                            ; mov           0x8(%ebp),%edx
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  139,89,4                            ; mov           0x4(%ecx),%ebx
+  DB  15,175,93,20                        ; imul          0x14(%ebp),%ebx
+  DB  193,227,2                           ; shl           $0x2,%ebx
+  DB  3,25                                ; add           (%ecx),%ebx
+  DB  137,209                             ; mov           %edx,%ecx
+  DB  128,225,7                           ; and           $0x7,%cl
+  DB  254,201                             ; dec           %cl
+  DB  128,249,6                           ; cmp           $0x6,%cl
+  DB  232,0,0,0,0                         ; call          c2ee <_sk_load_8888_sse2_lowp+0x30>
+  DB  95                                  ; pop           %edi
+  DB  139,117,16                          ; mov           0x10(%ebp),%esi
+  DB  119,32                              ; ja            c314 <_sk_load_8888_sse2_lowp+0x56>
+  DB  102,15,239,246                      ; pxor          %xmm6,%xmm6
+  DB  15,182,201                          ; movzbl        %cl,%ecx
+  DB  139,140,143,50,1,0,0                ; mov           0x132(%edi,%ecx,4),%ecx
+  DB  1,249                               ; add           %edi,%ecx
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  255,225                             ; jmp           *%ecx
+  DB  243,15,16,28,179                    ; movss         (%ebx,%esi,4),%xmm3
+  DB  15,87,246                           ; xorps         %xmm6,%xmm6
+  DB  235,73                              ; jmp           c35d <_sk_load_8888_sse2_lowp+0x9f>
+  DB  102,15,16,28,179                    ; movupd        (%ebx,%esi,4),%xmm3
+  DB  15,16,116,179,16                    ; movups        0x10(%ebx,%esi,4),%xmm6
+  DB  235,61                              ; jmp           c35d <_sk_load_8888_sse2_lowp+0x9f>
+  DB  102,15,110,68,179,8                 ; movd          0x8(%ebx,%esi,4),%xmm0
+  DB  102,15,112,216,69                   ; pshufd        $0x45,%xmm0,%xmm3
+  DB  102,15,18,28,179                    ; movlpd        (%ebx,%esi,4),%xmm3
+  DB  235,43                              ; jmp           c35d <_sk_load_8888_sse2_lowp+0x9f>
+  DB  102,15,110,68,179,24                ; movd          0x18(%ebx,%esi,4),%xmm0
+  DB  102,15,112,240,69                   ; pshufd        $0x45,%xmm0,%xmm6
+  DB  243,15,16,68,179,20                 ; movss         0x14(%ebx,%esi,4),%xmm0
+  DB  15,198,198,0                        ; shufps        $0x0,%xmm6,%xmm0
+  DB  15,198,198,226                      ; shufps        $0xe2,%xmm6,%xmm0
+  DB  15,40,240                           ; movaps        %xmm0,%xmm6
+  DB  243,15,16,68,179,16                 ; movss         0x10(%ebx,%esi,4),%xmm0
+  DB  243,15,16,240                       ; movss         %xmm0,%xmm6
+  DB  102,15,16,28,179                    ; movupd        (%ebx,%esi,4),%xmm3
+  DB  102,15,40,203                       ; movapd        %xmm3,%xmm1
+  DB  102,15,114,241,16                   ; pslld         $0x10,%xmm1
+  DB  102,15,114,225,16                   ; psrad         $0x10,%xmm1
+  DB  15,40,198                           ; movaps        %xmm6,%xmm0
+  DB  102,15,114,240,16                   ; pslld         $0x10,%xmm0
+  DB  102,15,114,224,16                   ; psrad         $0x10,%xmm0
+  DB  102,15,107,200                      ; packssdw      %xmm0,%xmm1
+  DB  102,15,111,175,130,75,0,0           ; movdqa        0x4b82(%edi),%xmm5
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,15,219,197                      ; pand          %xmm5,%xmm0
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  15,40,230                           ; movaps        %xmm6,%xmm4
+  DB  102,15,114,212,16                   ; psrld         $0x10,%xmm4
+  DB  102,15,40,211                       ; movapd        %xmm3,%xmm2
+  DB  102,15,114,210,16                   ; psrld         $0x10,%xmm2
+  DB  102,15,114,211,24                   ; psrld         $0x18,%xmm3
+  DB  102,15,114,243,16                   ; pslld         $0x10,%xmm3
+  DB  102,15,114,227,16                   ; psrad         $0x10,%xmm3
+  DB  102,15,114,214,24                   ; psrld         $0x18,%xmm6
+  DB  102,15,114,246,16                   ; pslld         $0x10,%xmm6
+  DB  102,15,114,230,16                   ; psrad         $0x10,%xmm6
+  DB  102,15,107,222                      ; packssdw      %xmm6,%xmm3
+  DB  102,15,114,242,16                   ; pslld         $0x10,%xmm2
+  DB  102,15,114,226,16                   ; psrad         $0x10,%xmm2
+  DB  102,15,114,244,16                   ; pslld         $0x10,%xmm4
+  DB  102,15,114,228,16                   ; psrad         $0x10,%xmm4
+  DB  102,15,107,212                      ; packssdw      %xmm4,%xmm2
+  DB  102,15,219,213                      ; pand          %xmm5,%xmm2
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  15,41,124,36,64                     ; movaps        %xmm7,0x40(%esp)
+  DB  15,40,101,56                        ; movaps        0x38(%ebp),%xmm4
+  DB  15,41,100,36,48                     ; movaps        %xmm4,0x30(%esp)
+  DB  15,40,101,40                        ; movaps        0x28(%ebp),%xmm4
+  DB  15,41,100,36,32                     ; movaps        %xmm4,0x20(%esp)
+  DB  15,40,101,24                        ; movaps        0x18(%ebp),%xmm4
+  DB  15,41,100,36,16                     ; movaps        %xmm4,0x10(%esp)
+  DB  139,125,20                          ; mov           0x14(%ebp),%edi
+  DB  137,124,36,12                       ; mov           %edi,0xc(%esp)
+  DB  137,116,36,8                        ; mov           %esi,0x8(%esp)
+  DB  137,76,36,4                         ; mov           %ecx,0x4(%esp)
+  DB  137,20,36                           ; mov           %edx,(%esp)
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,92                          ; add           $0x5c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  28,0                                ; sbb           $0x0,%al
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  61,0,0,0,50                         ; cmp           $0x32000000,%eax
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,106,0                             ; add           %ch,0x0(%edx)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  96                                  ; pusha
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,79,0                              ; add           %cl,0x0(%edi)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  68                                  ; inc           %esp
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0                                   ; .byte         0x0
+
+PUBLIC _sk_load_8888_dst_sse2_lowp
+_sk_load_8888_dst_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  129,236,140,0,0,0                   ; sub           $0x8c,%esp
+  DB  102,15,127,93,184                   ; movdqa        %xmm3,-0x48(%ebp)
+  DB  102,15,127,85,200                   ; movdqa        %xmm2,-0x38(%ebp)
+  DB  15,41,77,216                        ; movaps        %xmm1,-0x28(%ebp)
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,85,8                            ; mov           0x8(%ebp),%edx
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  139,89,4                            ; mov           0x4(%ecx),%ebx
+  DB  15,175,93,20                        ; imul          0x14(%ebp),%ebx
+  DB  193,227,2                           ; shl           $0x2,%ebx
+  DB  3,25                                ; add           (%ecx),%ebx
+  DB  137,209                             ; mov           %edx,%ecx
+  DB  128,225,7                           ; and           $0x7,%cl
+  DB  254,201                             ; dec           %cl
+  DB  128,249,6                           ; cmp           $0x6,%cl
+  DB  232,0,0,0,0                         ; call          c479 <_sk_load_8888_dst_sse2_lowp+0x3d>
+  DB  95                                  ; pop           %edi
+  DB  139,117,16                          ; mov           0x10(%ebp),%esi
+  DB  119,32                              ; ja            c49f <_sk_load_8888_dst_sse2_lowp+0x63>
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  15,182,201                          ; movzbl        %cl,%ecx
+  DB  139,140,143,59,1,0,0                ; mov           0x13b(%edi,%ecx,4),%ecx
+  DB  1,249                               ; add           %edi,%ecx
+  DB  102,15,239,255                      ; pxor          %xmm7,%xmm7
+  DB  255,225                             ; jmp           *%ecx
+  DB  243,15,16,60,179                    ; movss         (%ebx,%esi,4),%xmm7
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  235,73                              ; jmp           c4e8 <_sk_load_8888_dst_sse2_lowp+0xac>
+  DB  102,15,16,60,179                    ; movupd        (%ebx,%esi,4),%xmm7
+  DB  15,16,92,179,16                     ; movups        0x10(%ebx,%esi,4),%xmm3
+  DB  235,61                              ; jmp           c4e8 <_sk_load_8888_dst_sse2_lowp+0xac>
+  DB  102,15,110,84,179,8                 ; movd          0x8(%ebx,%esi,4),%xmm2
+  DB  102,15,112,250,69                   ; pshufd        $0x45,%xmm2,%xmm7
+  DB  102,15,18,60,179                    ; movlpd        (%ebx,%esi,4),%xmm7
+  DB  235,43                              ; jmp           c4e8 <_sk_load_8888_dst_sse2_lowp+0xac>
+  DB  102,15,110,84,179,24                ; movd          0x18(%ebx,%esi,4),%xmm2
+  DB  102,15,112,218,69                   ; pshufd        $0x45,%xmm2,%xmm3
+  DB  243,15,16,84,179,20                 ; movss         0x14(%ebx,%esi,4),%xmm2
+  DB  15,198,211,0                        ; shufps        $0x0,%xmm3,%xmm2
+  DB  15,198,211,226                      ; shufps        $0xe2,%xmm3,%xmm2
+  DB  15,40,218                           ; movaps        %xmm2,%xmm3
+  DB  243,15,16,84,179,16                 ; movss         0x10(%ebx,%esi,4),%xmm2
+  DB  243,15,16,218                       ; movss         %xmm2,%xmm3
+  DB  102,15,16,60,179                    ; movupd        (%ebx,%esi,4),%xmm7
+  DB  102,15,40,247                       ; movapd        %xmm7,%xmm6
+  DB  102,15,114,246,16                   ; pslld         $0x10,%xmm6
+  DB  102,15,114,230,16                   ; psrad         $0x10,%xmm6
+  DB  15,40,211                           ; movaps        %xmm3,%xmm2
+  DB  102,15,114,242,16                   ; pslld         $0x10,%xmm2
+  DB  102,15,114,226,16                   ; psrad         $0x10,%xmm2
+  DB  102,15,107,242                      ; packssdw      %xmm2,%xmm6
+  DB  102,15,111,151,247,73,0,0           ; movdqa        0x49f7(%edi),%xmm2
+  DB  102,15,111,206                      ; movdqa        %xmm6,%xmm1
+  DB  102,15,219,202                      ; pand          %xmm2,%xmm1
+  DB  102,15,113,214,8                    ; psrlw         $0x8,%xmm6
+  DB  15,40,227                           ; movaps        %xmm3,%xmm4
+  DB  102,15,114,212,16                   ; psrld         $0x10,%xmm4
+  DB  102,15,40,239                       ; movapd        %xmm7,%xmm5
+  DB  102,15,114,213,16                   ; psrld         $0x10,%xmm5
+  DB  102,15,114,215,24                   ; psrld         $0x18,%xmm7
+  DB  102,15,114,247,16                   ; pslld         $0x10,%xmm7
+  DB  102,15,114,231,16                   ; psrad         $0x10,%xmm7
+  DB  102,15,114,211,24                   ; psrld         $0x18,%xmm3
+  DB  102,15,114,243,16                   ; pslld         $0x10,%xmm3
+  DB  102,15,114,227,16                   ; psrad         $0x10,%xmm3
+  DB  102,15,107,251                      ; packssdw      %xmm3,%xmm7
+  DB  102,15,114,245,16                   ; pslld         $0x10,%xmm5
+  DB  102,15,114,229,16                   ; psrad         $0x10,%xmm5
+  DB  102,15,114,244,16                   ; pslld         $0x10,%xmm4
+  DB  102,15,114,228,16                   ; psrad         $0x10,%xmm4
+  DB  102,15,107,236                      ; packssdw      %xmm4,%xmm5
+  DB  102,15,219,234                      ; pand          %xmm2,%xmm5
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  139,125,20                          ; mov           0x14(%ebp),%edi
+  DB  137,124,36,12                       ; mov           %edi,0xc(%esp)
+  DB  137,116,36,8                        ; mov           %esi,0x8(%esp)
+  DB  137,76,36,4                         ; mov           %ecx,0x4(%esp)
+  DB  137,20,36                           ; mov           %edx,(%esp)
+  DB  102,15,127,124,36,64                ; movdqa        %xmm7,0x40(%esp)
+  DB  102,15,127,116,36,32                ; movdqa        %xmm6,0x20(%esp)
+  DB  102,15,127,76,36,16                 ; movdqa        %xmm1,0x10(%esp)
+  DB  102,15,127,108,36,48                ; movdqa        %xmm5,0x30(%esp)
+  DB  15,40,77,216                        ; movaps        -0x28(%ebp),%xmm1
+  DB  15,40,85,200                        ; movaps        -0x38(%ebp),%xmm2
+  DB  15,40,93,184                        ; movaps        -0x48(%ebp),%xmm3
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  129,196,140,0,0,0                   ; add           $0x8c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  28,0                                ; sbb           $0x0,%al
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  61,0,0,0,50                         ; cmp           $0x32000000,%eax
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,106,0                             ; add           %ch,0x0(%edx)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  96                                  ; pusha
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,79,0                              ; add           %cl,0x0(%edi)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  68                                  ; inc           %esp
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0                                   ; .byte         0x0
+
+PUBLIC _sk_store_8888_sse2_lowp
+_sk_store_8888_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,108                         ; sub           $0x6c,%esp
+  DB  102,15,111,225                      ; movdqa        %xmm1,%xmm4
+  DB  102,15,113,244,8                    ; psllw         $0x8,%xmm4
+  DB  102,15,235,224                      ; por           %xmm0,%xmm4
+  DB  102,15,239,246                      ; pxor          %xmm6,%xmm6
+  DB  102,15,111,236                      ; movdqa        %xmm4,%xmm5
+  DB  102,15,97,238                       ; punpcklwd     %xmm6,%xmm5
+  DB  102,15,127,93,216                   ; movdqa        %xmm3,-0x28(%ebp)
+  DB  102,15,113,243,8                    ; psllw         $0x8,%xmm3
+  DB  102,15,235,218                      ; por           %xmm2,%xmm3
+  DB  102,15,239,255                      ; pxor          %xmm7,%xmm7
+  DB  102,15,97,251                       ; punpcklwd     %xmm3,%xmm7
+  DB  102,15,235,253                      ; por           %xmm5,%xmm7
+  DB  102,15,105,230                      ; punpckhwd     %xmm6,%xmm4
+  DB  102,15,105,243                      ; punpckhwd     %xmm3,%xmm6
+  DB  15,40,93,72                         ; movaps        0x48(%ebp),%xmm3
+  DB  102,15,235,244                      ; por           %xmm4,%xmm6
+  DB  102,15,111,101,56                   ; movdqa        0x38(%ebp),%xmm4
+  DB  139,85,20                           ; mov           0x14(%ebp),%edx
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,93,8                            ; mov           0x8(%ebp),%ebx
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  139,121,4                           ; mov           0x4(%ecx),%edi
+  DB  15,175,250                          ; imul          %edx,%edi
+  DB  193,231,2                           ; shl           $0x2,%edi
+  DB  3,57                                ; add           (%ecx),%edi
+  DB  128,227,7                           ; and           $0x7,%bl
+  DB  254,203                             ; dec           %bl
+  DB  128,251,6                           ; cmp           $0x6,%bl
+  DB  232,0,0,0,0                         ; call          c644 <_sk_store_8888_sse2_lowp+0x74>
+  DB  89                                  ; pop           %ecx
+  DB  139,117,16                          ; mov           0x10(%ebp),%esi
+  DB  15,40,109,40                        ; movaps        0x28(%ebp),%xmm5
+  DB  119,19                              ; ja            c661 <_sk_store_8888_sse2_lowp+0x91>
+  DB  15,182,219                          ; movzbl        %bl,%ebx
+  DB  3,140,153,184,0,0,0                 ; add           0xb8(%ecx,%ebx,4),%ecx
+  DB  255,225                             ; jmp           *%ecx
+  DB  102,15,126,60,183                   ; movd          %xmm7,(%edi,%esi,4)
+  DB  235,93                              ; jmp           c6be <_sk_store_8888_sse2_lowp+0xee>
+  DB  243,15,127,60,183                   ; movdqu        %xmm7,(%edi,%esi,4)
+  DB  243,15,127,116,183,16               ; movdqu        %xmm6,0x10(%edi,%esi,4)
+  DB  235,80                              ; jmp           c6be <_sk_store_8888_sse2_lowp+0xee>
+  DB  102,15,111,244                      ; movdqa        %xmm4,%xmm6
+  DB  15,40,227                           ; movaps        %xmm3,%xmm4
+  DB  102,15,112,223,78                   ; pshufd        $0x4e,%xmm7,%xmm3
+  DB  102,15,126,92,183,8                 ; movd          %xmm3,0x8(%edi,%esi,4)
+  DB  15,40,220                           ; movaps        %xmm4,%xmm3
+  DB  102,15,111,230                      ; movdqa        %xmm6,%xmm4
+  DB  102,15,214,60,183                   ; movq          %xmm7,(%edi,%esi,4)
+  DB  235,48                              ; jmp           c6be <_sk_store_8888_sse2_lowp+0xee>
+  DB  102,15,112,222,78                   ; pshufd        $0x4e,%xmm6,%xmm3
+  DB  102,15,126,92,183,24                ; movd          %xmm3,0x18(%edi,%esi,4)
+  DB  15,40,93,72                         ; movaps        0x48(%ebp),%xmm3
+  DB  15,40,227                           ; movaps        %xmm3,%xmm4
+  DB  102,15,112,222,229                  ; pshufd        $0xe5,%xmm6,%xmm3
+  DB  102,15,126,92,183,20                ; movd          %xmm3,0x14(%edi,%esi,4)
+  DB  15,40,220                           ; movaps        %xmm4,%xmm3
+  DB  102,15,111,101,56                   ; movdqa        0x38(%ebp),%xmm4
+  DB  102,15,126,116,183,16               ; movd          %xmm6,0x10(%edi,%esi,4)
+  DB  243,15,127,60,183                   ; movdqu        %xmm7,(%edi,%esi,4)
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  15,41,92,36,64                      ; movaps        %xmm3,0x40(%esp)
+  DB  102,15,127,100,36,48                ; movdqa        %xmm4,0x30(%esp)
+  DB  15,41,108,36,32                     ; movaps        %xmm5,0x20(%esp)
+  DB  15,40,93,24                         ; movaps        0x18(%ebp),%xmm3
+  DB  15,41,92,36,16                      ; movaps        %xmm3,0x10(%esp)
+  DB  137,84,36,12                        ; mov           %edx,0xc(%esp)
+  DB  137,116,36,8                        ; mov           %esi,0x8(%esp)
+  DB  137,76,36,4                         ; mov           %ecx,0x4(%esp)
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  137,12,36                           ; mov           %ecx,(%esp)
+  DB  15,40,93,216                        ; movaps        -0x28(%ebp),%xmm3
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,108                         ; add           $0x6c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  144                                 ; nop
+  DB  22                                  ; push          %ss
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,67,0                              ; add           %al,0x0(%ebx)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  42,0                                ; sub           (%eax),%al
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  117,0                               ; jne           c70a <_sk_store_8888_sse2_lowp+0x13a>
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  111                                 ; outsl         %ds:(%esi),(%dx)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,89,0                              ; add           %bl,0x0(%ecx)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  74                                  ; dec           %edx
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0                                   ; .byte         0x0
+
+PUBLIC _sk_load_bgra_sse2_lowp
+_sk_load_bgra_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,92                          ; sub           $0x5c,%esp
+  DB  15,40,125,72                        ; movaps        0x48(%ebp),%xmm7
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,85,8                            ; mov           0x8(%ebp),%edx
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  139,89,4                            ; mov           0x4(%ecx),%ebx
+  DB  15,175,93,20                        ; imul          0x14(%ebp),%ebx
+  DB  193,227,2                           ; shl           $0x2,%ebx
+  DB  3,25                                ; add           (%ecx),%ebx
+  DB  137,209                             ; mov           %edx,%ecx
+  DB  128,225,7                           ; and           $0x7,%cl
+  DB  254,201                             ; dec           %cl
+  DB  128,249,6                           ; cmp           $0x6,%cl
+  DB  232,0,0,0,0                         ; call          c748 <_sk_load_bgra_sse2_lowp+0x30>
+  DB  95                                  ; pop           %edi
+  DB  139,117,16                          ; mov           0x10(%ebp),%esi
+  DB  119,32                              ; ja            c76e <_sk_load_bgra_sse2_lowp+0x56>
+  DB  102,15,239,246                      ; pxor          %xmm6,%xmm6
+  DB  15,182,201                          ; movzbl        %cl,%ecx
+  DB  139,140,143,52,1,0,0                ; mov           0x134(%edi,%ecx,4),%ecx
+  DB  1,249                               ; add           %edi,%ecx
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  255,225                             ; jmp           *%ecx
+  DB  243,15,16,28,179                    ; movss         (%ebx,%esi,4),%xmm3
+  DB  15,87,246                           ; xorps         %xmm6,%xmm6
+  DB  235,73                              ; jmp           c7b7 <_sk_load_bgra_sse2_lowp+0x9f>
+  DB  102,15,16,28,179                    ; movupd        (%ebx,%esi,4),%xmm3
+  DB  15,16,116,179,16                    ; movups        0x10(%ebx,%esi,4),%xmm6
+  DB  235,61                              ; jmp           c7b7 <_sk_load_bgra_sse2_lowp+0x9f>
+  DB  102,15,110,68,179,8                 ; movd          0x8(%ebx,%esi,4),%xmm0
+  DB  102,15,112,216,69                   ; pshufd        $0x45,%xmm0,%xmm3
+  DB  102,15,18,28,179                    ; movlpd        (%ebx,%esi,4),%xmm3
+  DB  235,43                              ; jmp           c7b7 <_sk_load_bgra_sse2_lowp+0x9f>
+  DB  102,15,110,68,179,24                ; movd          0x18(%ebx,%esi,4),%xmm0
+  DB  102,15,112,240,69                   ; pshufd        $0x45,%xmm0,%xmm6
+  DB  243,15,16,68,179,20                 ; movss         0x14(%ebx,%esi,4),%xmm0
+  DB  15,198,198,0                        ; shufps        $0x0,%xmm6,%xmm0
+  DB  15,198,198,226                      ; shufps        $0xe2,%xmm6,%xmm0
+  DB  15,40,240                           ; movaps        %xmm0,%xmm6
+  DB  243,15,16,68,179,16                 ; movss         0x10(%ebx,%esi,4),%xmm0
+  DB  243,15,16,240                       ; movss         %xmm0,%xmm6
+  DB  102,15,16,28,179                    ; movupd        (%ebx,%esi,4),%xmm3
+  DB  102,15,40,203                       ; movapd        %xmm3,%xmm1
+  DB  102,15,114,241,16                   ; pslld         $0x10,%xmm1
+  DB  102,15,114,225,16                   ; psrad         $0x10,%xmm1
+  DB  15,40,198                           ; movaps        %xmm6,%xmm0
+  DB  102,15,114,240,16                   ; pslld         $0x10,%xmm0
+  DB  102,15,114,224,16                   ; psrad         $0x10,%xmm0
+  DB  102,15,107,200                      ; packssdw      %xmm0,%xmm1
+  DB  102,15,111,175,40,71,0,0            ; movdqa        0x4728(%edi),%xmm5
+  DB  102,15,111,209                      ; movdqa        %xmm1,%xmm2
+  DB  102,15,219,213                      ; pand          %xmm5,%xmm2
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  15,40,230                           ; movaps        %xmm6,%xmm4
+  DB  102,15,114,212,16                   ; psrld         $0x10,%xmm4
+  DB  102,15,40,195                       ; movapd        %xmm3,%xmm0
+  DB  102,15,114,208,16                   ; psrld         $0x10,%xmm0
+  DB  102,15,114,211,24                   ; psrld         $0x18,%xmm3
+  DB  102,15,114,243,16                   ; pslld         $0x10,%xmm3
+  DB  102,15,114,227,16                   ; psrad         $0x10,%xmm3
+  DB  102,15,114,214,24                   ; psrld         $0x18,%xmm6
+  DB  102,15,114,246,16                   ; pslld         $0x10,%xmm6
+  DB  102,15,114,230,16                   ; psrad         $0x10,%xmm6
+  DB  102,15,107,222                      ; packssdw      %xmm6,%xmm3
+  DB  102,15,114,240,16                   ; pslld         $0x10,%xmm0
+  DB  102,15,114,224,16                   ; psrad         $0x10,%xmm0
+  DB  102,15,114,244,16                   ; pslld         $0x10,%xmm4
+  DB  102,15,114,228,16                   ; psrad         $0x10,%xmm4
+  DB  102,15,107,196                      ; packssdw      %xmm4,%xmm0
+  DB  102,15,219,197                      ; pand          %xmm5,%xmm0
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  15,41,124,36,64                     ; movaps        %xmm7,0x40(%esp)
+  DB  15,40,101,56                        ; movaps        0x38(%ebp),%xmm4
+  DB  15,41,100,36,48                     ; movaps        %xmm4,0x30(%esp)
+  DB  15,40,101,40                        ; movaps        0x28(%ebp),%xmm4
+  DB  15,41,100,36,32                     ; movaps        %xmm4,0x20(%esp)
+  DB  15,40,101,24                        ; movaps        0x18(%ebp),%xmm4
+  DB  15,41,100,36,16                     ; movaps        %xmm4,0x10(%esp)
+  DB  139,125,20                          ; mov           0x14(%ebp),%edi
+  DB  137,124,36,12                       ; mov           %edi,0xc(%esp)
+  DB  137,116,36,8                        ; mov           %esi,0x8(%esp)
+  DB  137,76,36,4                         ; mov           %ecx,0x4(%esp)
+  DB  137,20,36                           ; mov           %edx,(%esp)
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,92                          ; add           $0x5c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  28,0                                ; sbb           $0x0,%al
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  61,0,0,0,50                         ; cmp           $0x32000000,%eax
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,106,0                             ; add           %ch,0x0(%edx)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  96                                  ; pusha
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,79,0                              ; add           %cl,0x0(%edi)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  68                                  ; inc           %esp
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0                                   ; .byte         0x0
+
+PUBLIC _sk_load_bgra_dst_sse2_lowp
+_sk_load_bgra_dst_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  129,236,140,0,0,0                   ; sub           $0x8c,%esp
+  DB  102,15,127,93,184                   ; movdqa        %xmm3,-0x48(%ebp)
+  DB  102,15,127,85,200                   ; movdqa        %xmm2,-0x38(%ebp)
+  DB  15,41,77,216                        ; movaps        %xmm1,-0x28(%ebp)
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,85,8                            ; mov           0x8(%ebp),%edx
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  139,89,4                            ; mov           0x4(%ecx),%ebx
+  DB  15,175,93,20                        ; imul          0x14(%ebp),%ebx
+  DB  193,227,2                           ; shl           $0x2,%ebx
+  DB  3,25                                ; add           (%ecx),%ebx
+  DB  137,209                             ; mov           %edx,%ecx
+  DB  128,225,7                           ; and           $0x7,%cl
+  DB  254,201                             ; dec           %cl
+  DB  128,249,6                           ; cmp           $0x6,%cl
+  DB  232,0,0,0,0                         ; call          c8d5 <_sk_load_bgra_dst_sse2_lowp+0x3d>
+  DB  95                                  ; pop           %edi
+  DB  139,117,16                          ; mov           0x10(%ebp),%esi
+  DB  119,32                              ; ja            c8fb <_sk_load_bgra_dst_sse2_lowp+0x63>
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  15,182,201                          ; movzbl        %cl,%ecx
+  DB  139,140,143,59,1,0,0                ; mov           0x13b(%edi,%ecx,4),%ecx
+  DB  1,249                               ; add           %edi,%ecx
+  DB  102,15,239,255                      ; pxor          %xmm7,%xmm7
+  DB  255,225                             ; jmp           *%ecx
+  DB  243,15,16,60,179                    ; movss         (%ebx,%esi,4),%xmm7
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  235,73                              ; jmp           c944 <_sk_load_bgra_dst_sse2_lowp+0xac>
+  DB  102,15,16,60,179                    ; movupd        (%ebx,%esi,4),%xmm7
+  DB  15,16,92,179,16                     ; movups        0x10(%ebx,%esi,4),%xmm3
+  DB  235,61                              ; jmp           c944 <_sk_load_bgra_dst_sse2_lowp+0xac>
+  DB  102,15,110,84,179,8                 ; movd          0x8(%ebx,%esi,4),%xmm2
+  DB  102,15,112,250,69                   ; pshufd        $0x45,%xmm2,%xmm7
+  DB  102,15,18,60,179                    ; movlpd        (%ebx,%esi,4),%xmm7
+  DB  235,43                              ; jmp           c944 <_sk_load_bgra_dst_sse2_lowp+0xac>
+  DB  102,15,110,84,179,24                ; movd          0x18(%ebx,%esi,4),%xmm2
+  DB  102,15,112,218,69                   ; pshufd        $0x45,%xmm2,%xmm3
+  DB  243,15,16,84,179,20                 ; movss         0x14(%ebx,%esi,4),%xmm2
+  DB  15,198,211,0                        ; shufps        $0x0,%xmm3,%xmm2
+  DB  15,198,211,226                      ; shufps        $0xe2,%xmm3,%xmm2
+  DB  15,40,218                           ; movaps        %xmm2,%xmm3
+  DB  243,15,16,84,179,16                 ; movss         0x10(%ebx,%esi,4),%xmm2
+  DB  243,15,16,218                       ; movss         %xmm2,%xmm3
+  DB  102,15,16,60,179                    ; movupd        (%ebx,%esi,4),%xmm7
+  DB  102,15,40,247                       ; movapd        %xmm7,%xmm6
+  DB  102,15,114,246,16                   ; pslld         $0x10,%xmm6
+  DB  102,15,114,230,16                   ; psrad         $0x10,%xmm6
+  DB  15,40,211                           ; movaps        %xmm3,%xmm2
+  DB  102,15,114,242,16                   ; pslld         $0x10,%xmm2
+  DB  102,15,114,226,16                   ; psrad         $0x10,%xmm2
+  DB  102,15,107,242                      ; packssdw      %xmm2,%xmm6
+  DB  102,15,111,151,155,69,0,0           ; movdqa        0x459b(%edi),%xmm2
+  DB  102,15,111,206                      ; movdqa        %xmm6,%xmm1
+  DB  102,15,219,202                      ; pand          %xmm2,%xmm1
+  DB  102,15,113,214,8                    ; psrlw         $0x8,%xmm6
+  DB  15,40,227                           ; movaps        %xmm3,%xmm4
+  DB  102,15,114,212,16                   ; psrld         $0x10,%xmm4
+  DB  102,15,40,239                       ; movapd        %xmm7,%xmm5
+  DB  102,15,114,213,16                   ; psrld         $0x10,%xmm5
+  DB  102,15,114,215,24                   ; psrld         $0x18,%xmm7
+  DB  102,15,114,247,16                   ; pslld         $0x10,%xmm7
+  DB  102,15,114,231,16                   ; psrad         $0x10,%xmm7
+  DB  102,15,114,211,24                   ; psrld         $0x18,%xmm3
+  DB  102,15,114,243,16                   ; pslld         $0x10,%xmm3
+  DB  102,15,114,227,16                   ; psrad         $0x10,%xmm3
+  DB  102,15,107,251                      ; packssdw      %xmm3,%xmm7
+  DB  102,15,114,245,16                   ; pslld         $0x10,%xmm5
+  DB  102,15,114,229,16                   ; psrad         $0x10,%xmm5
+  DB  102,15,114,244,16                   ; pslld         $0x10,%xmm4
+  DB  102,15,114,228,16                   ; psrad         $0x10,%xmm4
+  DB  102,15,107,236                      ; packssdw      %xmm4,%xmm5
+  DB  102,15,219,234                      ; pand          %xmm2,%xmm5
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  139,125,20                          ; mov           0x14(%ebp),%edi
+  DB  137,124,36,12                       ; mov           %edi,0xc(%esp)
+  DB  137,116,36,8                        ; mov           %esi,0x8(%esp)
+  DB  137,76,36,4                         ; mov           %ecx,0x4(%esp)
+  DB  137,20,36                           ; mov           %edx,(%esp)
+  DB  102,15,127,124,36,64                ; movdqa        %xmm7,0x40(%esp)
+  DB  102,15,127,76,36,48                 ; movdqa        %xmm1,0x30(%esp)
+  DB  102,15,127,116,36,32                ; movdqa        %xmm6,0x20(%esp)
+  DB  102,15,127,108,36,16                ; movdqa        %xmm5,0x10(%esp)
+  DB  15,40,77,216                        ; movaps        -0x28(%ebp),%xmm1
+  DB  15,40,85,200                        ; movaps        -0x38(%ebp),%xmm2
+  DB  15,40,93,184                        ; movaps        -0x48(%ebp),%xmm3
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  129,196,140,0,0,0                   ; add           $0x8c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  28,0                                ; sbb           $0x0,%al
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  61,0,0,0,50                         ; cmp           $0x32000000,%eax
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,106,0                             ; add           %ch,0x0(%edx)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  96                                  ; pusha
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,79,0                              ; add           %cl,0x0(%edi)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  68                                  ; inc           %esp
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0                                   ; .byte         0x0
+
+PUBLIC _sk_store_bgra_sse2_lowp
+_sk_store_bgra_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,108                         ; sub           $0x6c,%esp
+  DB  102,15,111,225                      ; movdqa        %xmm1,%xmm4
+  DB  102,15,113,244,8                    ; psllw         $0x8,%xmm4
+  DB  102,15,235,226                      ; por           %xmm2,%xmm4
+  DB  102,15,239,246                      ; pxor          %xmm6,%xmm6
+  DB  102,15,111,236                      ; movdqa        %xmm4,%xmm5
+  DB  102,15,97,238                       ; punpcklwd     %xmm6,%xmm5
+  DB  102,15,127,93,216                   ; movdqa        %xmm3,-0x28(%ebp)
+  DB  102,15,113,243,8                    ; psllw         $0x8,%xmm3
+  DB  102,15,235,216                      ; por           %xmm0,%xmm3
+  DB  102,15,239,255                      ; pxor          %xmm7,%xmm7
+  DB  102,15,97,251                       ; punpcklwd     %xmm3,%xmm7
+  DB  102,15,235,253                      ; por           %xmm5,%xmm7
+  DB  102,15,105,230                      ; punpckhwd     %xmm6,%xmm4
+  DB  102,15,105,243                      ; punpckhwd     %xmm3,%xmm6
+  DB  15,40,93,72                         ; movaps        0x48(%ebp),%xmm3
+  DB  102,15,235,244                      ; por           %xmm4,%xmm6
+  DB  102,15,111,101,56                   ; movdqa        0x38(%ebp),%xmm4
+  DB  139,85,20                           ; mov           0x14(%ebp),%edx
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,93,8                            ; mov           0x8(%ebp),%ebx
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  139,121,4                           ; mov           0x4(%ecx),%edi
+  DB  15,175,250                          ; imul          %edx,%edi
+  DB  193,231,2                           ; shl           $0x2,%edi
+  DB  3,57                                ; add           (%ecx),%edi
+  DB  128,227,7                           ; and           $0x7,%bl
+  DB  254,203                             ; dec           %bl
+  DB  128,251,6                           ; cmp           $0x6,%bl
+  DB  232,0,0,0,0                         ; call          caa0 <_sk_store_bgra_sse2_lowp+0x74>
+  DB  89                                  ; pop           %ecx
+  DB  139,117,16                          ; mov           0x10(%ebp),%esi
+  DB  15,40,109,40                        ; movaps        0x28(%ebp),%xmm5
+  DB  119,19                              ; ja            cabd <_sk_store_bgra_sse2_lowp+0x91>
+  DB  15,182,219                          ; movzbl        %bl,%ebx
+  DB  3,140,153,184,0,0,0                 ; add           0xb8(%ecx,%ebx,4),%ecx
+  DB  255,225                             ; jmp           *%ecx
+  DB  102,15,126,60,183                   ; movd          %xmm7,(%edi,%esi,4)
+  DB  235,93                              ; jmp           cb1a <_sk_store_bgra_sse2_lowp+0xee>
+  DB  243,15,127,60,183                   ; movdqu        %xmm7,(%edi,%esi,4)
+  DB  243,15,127,116,183,16               ; movdqu        %xmm6,0x10(%edi,%esi,4)
+  DB  235,80                              ; jmp           cb1a <_sk_store_bgra_sse2_lowp+0xee>
+  DB  102,15,111,244                      ; movdqa        %xmm4,%xmm6
+  DB  15,40,227                           ; movaps        %xmm3,%xmm4
+  DB  102,15,112,223,78                   ; pshufd        $0x4e,%xmm7,%xmm3
+  DB  102,15,126,92,183,8                 ; movd          %xmm3,0x8(%edi,%esi,4)
+  DB  15,40,220                           ; movaps        %xmm4,%xmm3
+  DB  102,15,111,230                      ; movdqa        %xmm6,%xmm4
+  DB  102,15,214,60,183                   ; movq          %xmm7,(%edi,%esi,4)
+  DB  235,48                              ; jmp           cb1a <_sk_store_bgra_sse2_lowp+0xee>
+  DB  102,15,112,222,78                   ; pshufd        $0x4e,%xmm6,%xmm3
+  DB  102,15,126,92,183,24                ; movd          %xmm3,0x18(%edi,%esi,4)
+  DB  15,40,93,72                         ; movaps        0x48(%ebp),%xmm3
+  DB  15,40,227                           ; movaps        %xmm3,%xmm4
+  DB  102,15,112,222,229                  ; pshufd        $0xe5,%xmm6,%xmm3
+  DB  102,15,126,92,183,20                ; movd          %xmm3,0x14(%edi,%esi,4)
+  DB  15,40,220                           ; movaps        %xmm4,%xmm3
+  DB  102,15,111,101,56                   ; movdqa        0x38(%ebp),%xmm4
+  DB  102,15,126,116,183,16               ; movd          %xmm6,0x10(%edi,%esi,4)
+  DB  243,15,127,60,183                   ; movdqu        %xmm7,(%edi,%esi,4)
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  15,41,92,36,64                      ; movaps        %xmm3,0x40(%esp)
+  DB  102,15,127,100,36,48                ; movdqa        %xmm4,0x30(%esp)
+  DB  15,41,108,36,32                     ; movaps        %xmm5,0x20(%esp)
+  DB  15,40,93,24                         ; movaps        0x18(%ebp),%xmm3
+  DB  15,41,92,36,16                      ; movaps        %xmm3,0x10(%esp)
+  DB  137,84,36,12                        ; mov           %edx,0xc(%esp)
+  DB  137,116,36,8                        ; mov           %esi,0x8(%esp)
+  DB  137,76,36,4                         ; mov           %ecx,0x4(%esp)
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  137,12,36                           ; mov           %ecx,(%esp)
+  DB  15,40,93,216                        ; movaps        -0x28(%ebp),%xmm3
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,108                         ; add           $0x6c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  144                                 ; nop
+  DB  22                                  ; push          %ss
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,67,0                              ; add           %al,0x0(%ebx)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  42,0                                ; sub           (%eax),%al
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  117,0                               ; jne           cb66 <_sk_store_bgra_sse2_lowp+0x13a>
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  111                                 ; outsl         %ds:(%esi),(%dx)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,89,0                              ; add           %bl,0x0(%ecx)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  74                                  ; dec           %edx
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0                                   ; .byte         0x0
+
+PUBLIC _sk_gather_8888_sse2_lowp
+_sk_gather_8888_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,96                          ; sub           $0x60,%esp
+  DB  232,0,0,0,0                         ; call          cb81 <_sk_gather_8888_sse2_lowp+0xd>
+  DB  90                                  ; pop           %edx
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  139,57                              ; mov           (%ecx),%edi
+  DB  243,15,16,103,8                     ; movss         0x8(%edi),%xmm4
+  DB  15,198,228,0                        ; shufps        $0x0,%xmm4,%xmm4
+  DB  102,15,118,237                      ; pcmpeqd       %xmm5,%xmm5
+  DB  102,15,254,229                      ; paddd         %xmm5,%xmm4
+  DB  15,87,246                           ; xorps         %xmm6,%xmm6
+  DB  15,95,198                           ; maxps         %xmm6,%xmm0
+  DB  15,95,206                           ; maxps         %xmm6,%xmm1
+  DB  15,93,204                           ; minps         %xmm4,%xmm1
+  DB  15,93,196                           ; minps         %xmm4,%xmm0
+  DB  243,15,16,103,12                    ; movss         0xc(%edi),%xmm4
+  DB  15,198,228,0                        ; shufps        $0x0,%xmm4,%xmm4
+  DB  102,15,254,229                      ; paddd         %xmm5,%xmm4
+  DB  15,95,222                           ; maxps         %xmm6,%xmm3
+  DB  15,95,214                           ; maxps         %xmm6,%xmm2
+  DB  15,93,212                           ; minps         %xmm4,%xmm2
+  DB  15,93,220                           ; minps         %xmm4,%xmm3
+  DB  139,55                              ; mov           (%edi),%esi
+  DB  243,15,91,219                       ; cvttps2dq     %xmm3,%xmm3
+  DB  243,15,91,210                       ; cvttps2dq     %xmm2,%xmm2
+  DB  102,15,110,103,4                    ; movd          0x4(%edi),%xmm4
+  DB  102,15,112,228,0                    ; pshufd        $0x0,%xmm4,%xmm4
+  DB  102,15,112,234,245                  ; pshufd        $0xf5,%xmm2,%xmm5
+  DB  102,15,244,236                      ; pmuludq       %xmm4,%xmm5
+  DB  102,15,111,244                      ; movdqa        %xmm4,%xmm6
+  DB  102,15,112,251,245                  ; pshufd        $0xf5,%xmm3,%xmm7
+  DB  102,15,244,252                      ; pmuludq       %xmm4,%xmm7
+  DB  102,15,244,226                      ; pmuludq       %xmm2,%xmm4
+  DB  102,15,112,212,232                  ; pshufd        $0xe8,%xmm4,%xmm2
+  DB  102,15,112,229,232                  ; pshufd        $0xe8,%xmm5,%xmm4
+  DB  102,15,98,212                       ; punpckldq     %xmm4,%xmm2
+  DB  102,15,244,243                      ; pmuludq       %xmm3,%xmm6
+  DB  102,15,112,222,232                  ; pshufd        $0xe8,%xmm6,%xmm3
+  DB  102,15,112,231,232                  ; pshufd        $0xe8,%xmm7,%xmm4
+  DB  102,15,98,220                       ; punpckldq     %xmm4,%xmm3
+  DB  243,15,91,192                       ; cvttps2dq     %xmm0,%xmm0
+  DB  102,15,254,194                      ; paddd         %xmm2,%xmm0
+  DB  243,15,91,201                       ; cvttps2dq     %xmm1,%xmm1
+  DB  102,15,254,203                      ; paddd         %xmm3,%xmm1
+  DB  102,15,112,208,78                   ; pshufd        $0x4e,%xmm0,%xmm2
+  DB  102,15,112,216,231                  ; pshufd        $0xe7,%xmm0,%xmm3
+  DB  102,15,126,223                      ; movd          %xmm3,%edi
+  DB  243,15,16,28,190                    ; movss         (%esi,%edi,4),%xmm3
+  DB  15,41,93,232                        ; movaps        %xmm3,-0x18(%ebp)
+  DB  102,15,126,215                      ; movd          %xmm2,%edi
+  DB  102,15,110,36,190                   ; movd          (%esi,%edi,4),%xmm4
+  DB  102,15,126,199                      ; movd          %xmm0,%edi
+  DB  102,15,112,192,229                  ; pshufd        $0xe5,%xmm0,%xmm0
+  DB  102,15,110,28,190                   ; movd          (%esi,%edi,4),%xmm3
+  DB  102,15,126,199                      ; movd          %xmm0,%edi
+  DB  102,15,112,193,78                   ; pshufd        $0x4e,%xmm1,%xmm0
+  DB  102,15,112,233,231                  ; pshufd        $0xe7,%xmm1,%xmm5
+  DB  102,15,110,52,190                   ; movd          (%esi,%edi,4),%xmm6
+  DB  102,15,126,239                      ; movd          %xmm5,%edi
+  DB  102,15,110,60,190                   ; movd          (%esi,%edi,4),%xmm7
+  DB  102,15,126,199                      ; movd          %xmm0,%edi
+  DB  102,15,110,20,190                   ; movd          (%esi,%edi,4),%xmm2
+  DB  102,15,126,207                      ; movd          %xmm1,%edi
+  DB  102,15,112,201,229                  ; pshufd        $0xe5,%xmm1,%xmm1
+  DB  102,15,110,4,190                    ; movd          (%esi,%edi,4),%xmm0
+  DB  102,15,126,207                      ; movd          %xmm1,%edi
+  DB  102,15,110,12,190                   ; movd          (%esi,%edi,4),%xmm1
+  DB  139,117,16                          ; mov           0x10(%ebp),%esi
+  DB  139,125,20                          ; mov           0x14(%ebp),%edi
+  DB  102,15,98,101,232                   ; punpckldq     -0x18(%ebp),%xmm4
+  DB  102,15,98,222                       ; punpckldq     %xmm6,%xmm3
+  DB  15,40,109,40                        ; movaps        0x28(%ebp),%xmm5
+  DB  102,15,108,220                      ; punpcklqdq    %xmm4,%xmm3
+  DB  15,40,117,56                        ; movaps        0x38(%ebp),%xmm6
+  DB  102,15,98,215                       ; punpckldq     %xmm7,%xmm2
+  DB  102,15,98,193                       ; punpckldq     %xmm1,%xmm0
+  DB  102,15,108,194                      ; punpcklqdq    %xmm2,%xmm0
+  DB  102,15,111,208                      ; movdqa        %xmm0,%xmm2
+  DB  102,15,114,242,16                   ; pslld         $0x10,%xmm2
+  DB  102,15,114,226,16                   ; psrad         $0x10,%xmm2
+  DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
+  DB  102,15,114,241,16                   ; pslld         $0x10,%xmm1
+  DB  102,15,114,225,16                   ; psrad         $0x10,%xmm1
+  DB  102,15,107,202                      ; packssdw      %xmm2,%xmm1
+  DB  102,15,111,211                      ; movdqa        %xmm3,%xmm2
+  DB  102,15,111,224                      ; movdqa        %xmm0,%xmm4
+  DB  102,15,114,208,24                   ; psrld         $0x18,%xmm0
+  DB  102,15,114,240,16                   ; pslld         $0x10,%xmm0
+  DB  102,15,114,224,16                   ; psrad         $0x10,%xmm0
+  DB  102,15,114,211,24                   ; psrld         $0x18,%xmm3
+  DB  102,15,114,243,16                   ; pslld         $0x10,%xmm3
+  DB  102,15,114,227,16                   ; psrad         $0x10,%xmm3
+  DB  102,15,107,216                      ; packssdw      %xmm0,%xmm3
+  DB  102,15,111,186,239,66,0,0           ; movdqa        0x42ef(%edx),%xmm7
+  DB  102,15,114,210,16                   ; psrld         $0x10,%xmm2
+  DB  102,15,114,212,16                   ; psrld         $0x10,%xmm4
+  DB  102,15,114,244,16                   ; pslld         $0x10,%xmm4
+  DB  102,15,114,228,16                   ; psrad         $0x10,%xmm4
+  DB  102,15,114,242,16                   ; pslld         $0x10,%xmm2
+  DB  102,15,114,226,16                   ; psrad         $0x10,%xmm2
+  DB  102,15,107,212                      ; packssdw      %xmm4,%xmm2
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,15,219,199                      ; pand          %xmm7,%xmm0
+  DB  102,15,219,215                      ; pand          %xmm7,%xmm2
+  DB  15,40,101,72                        ; movaps        0x48(%ebp),%xmm4
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  141,81,8                            ; lea           0x8(%ecx),%edx
+  DB  15,41,100,36,64                     ; movaps        %xmm4,0x40(%esp)
+  DB  15,41,116,36,48                     ; movaps        %xmm6,0x30(%esp)
+  DB  15,41,108,36,32                     ; movaps        %xmm5,0x20(%esp)
+  DB  15,40,101,24                        ; movaps        0x18(%ebp),%xmm4
+  DB  15,41,100,36,16                     ; movaps        %xmm4,0x10(%esp)
+  DB  137,124,36,12                       ; mov           %edi,0xc(%esp)
+  DB  137,116,36,8                        ; mov           %esi,0x8(%esp)
+  DB  137,84,36,4                         ; mov           %edx,0x4(%esp)
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  255,81,4                            ; call          *0x4(%ecx)
+  DB  131,196,96                          ; add           $0x60,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_gather_bgra_sse2_lowp
+_sk_gather_bgra_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,80                          ; sub           $0x50,%esp
+  DB  232,0,0,0,0                         ; call          cd7c <_sk_gather_bgra_sse2_lowp+0xd>
+  DB  90                                  ; pop           %edx
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  139,57                              ; mov           (%ecx),%edi
+  DB  243,15,16,103,8                     ; movss         0x8(%edi),%xmm4
+  DB  15,198,228,0                        ; shufps        $0x0,%xmm4,%xmm4
+  DB  102,15,118,237                      ; pcmpeqd       %xmm5,%xmm5
+  DB  102,15,254,229                      ; paddd         %xmm5,%xmm4
+  DB  15,87,246                           ; xorps         %xmm6,%xmm6
+  DB  15,95,198                           ; maxps         %xmm6,%xmm0
+  DB  15,95,206                           ; maxps         %xmm6,%xmm1
+  DB  15,93,204                           ; minps         %xmm4,%xmm1
+  DB  15,93,196                           ; minps         %xmm4,%xmm0
+  DB  243,15,16,103,12                    ; movss         0xc(%edi),%xmm4
+  DB  15,198,228,0                        ; shufps        $0x0,%xmm4,%xmm4
+  DB  102,15,254,229                      ; paddd         %xmm5,%xmm4
+  DB  15,95,222                           ; maxps         %xmm6,%xmm3
+  DB  15,95,214                           ; maxps         %xmm6,%xmm2
+  DB  15,93,212                           ; minps         %xmm4,%xmm2
+  DB  15,93,220                           ; minps         %xmm4,%xmm3
+  DB  139,55                              ; mov           (%edi),%esi
+  DB  243,15,91,219                       ; cvttps2dq     %xmm3,%xmm3
+  DB  243,15,91,210                       ; cvttps2dq     %xmm2,%xmm2
+  DB  102,15,110,103,4                    ; movd          0x4(%edi),%xmm4
+  DB  102,15,112,228,0                    ; pshufd        $0x0,%xmm4,%xmm4
+  DB  102,15,112,234,245                  ; pshufd        $0xf5,%xmm2,%xmm5
+  DB  102,15,244,236                      ; pmuludq       %xmm4,%xmm5
+  DB  102,15,111,244                      ; movdqa        %xmm4,%xmm6
+  DB  102,15,112,251,245                  ; pshufd        $0xf5,%xmm3,%xmm7
+  DB  102,15,244,252                      ; pmuludq       %xmm4,%xmm7
+  DB  102,15,244,226                      ; pmuludq       %xmm2,%xmm4
+  DB  102,15,112,212,232                  ; pshufd        $0xe8,%xmm4,%xmm2
+  DB  102,15,112,229,232                  ; pshufd        $0xe8,%xmm5,%xmm4
+  DB  102,15,98,212                       ; punpckldq     %xmm4,%xmm2
+  DB  102,15,244,243                      ; pmuludq       %xmm3,%xmm6
+  DB  102,15,112,222,232                  ; pshufd        $0xe8,%xmm6,%xmm3
+  DB  102,15,112,231,232                  ; pshufd        $0xe8,%xmm7,%xmm4
+  DB  102,15,98,220                       ; punpckldq     %xmm4,%xmm3
+  DB  243,15,91,192                       ; cvttps2dq     %xmm0,%xmm0
+  DB  102,15,254,194                      ; paddd         %xmm2,%xmm0
+  DB  243,15,91,201                       ; cvttps2dq     %xmm1,%xmm1
+  DB  102,15,254,203                      ; paddd         %xmm3,%xmm1
+  DB  102,15,112,208,78                   ; pshufd        $0x4e,%xmm0,%xmm2
+  DB  102,15,112,216,231                  ; pshufd        $0xe7,%xmm0,%xmm3
+  DB  102,15,126,223                      ; movd          %xmm3,%edi
+  DB  102,15,110,36,190                   ; movd          (%esi,%edi,4),%xmm4
+  DB  102,15,126,215                      ; movd          %xmm2,%edi
+  DB  102,15,110,52,190                   ; movd          (%esi,%edi,4),%xmm6
+  DB  102,15,126,199                      ; movd          %xmm0,%edi
+  DB  102,15,112,192,229                  ; pshufd        $0xe5,%xmm0,%xmm0
+  DB  102,15,110,28,190                   ; movd          (%esi,%edi,4),%xmm3
+  DB  102,15,126,199                      ; movd          %xmm0,%edi
+  DB  102,15,112,193,78                   ; pshufd        $0x4e,%xmm1,%xmm0
+  DB  102,15,112,209,231                  ; pshufd        $0xe7,%xmm1,%xmm2
+  DB  102,15,110,44,190                   ; movd          (%esi,%edi,4),%xmm5
+  DB  102,15,126,215                      ; movd          %xmm2,%edi
+  DB  102,15,110,60,190                   ; movd          (%esi,%edi,4),%xmm7
+  DB  102,15,126,199                      ; movd          %xmm0,%edi
+  DB  102,15,110,4,190                    ; movd          (%esi,%edi,4),%xmm0
+  DB  102,15,126,207                      ; movd          %xmm1,%edi
+  DB  102,15,112,201,229                  ; pshufd        $0xe5,%xmm1,%xmm1
+  DB  102,15,110,20,190                   ; movd          (%esi,%edi,4),%xmm2
+  DB  102,15,126,207                      ; movd          %xmm1,%edi
+  DB  102,15,110,12,190                   ; movd          (%esi,%edi,4),%xmm1
+  DB  139,117,16                          ; mov           0x10(%ebp),%esi
+  DB  139,125,20                          ; mov           0x14(%ebp),%edi
+  DB  102,15,98,244                       ; punpckldq     %xmm4,%xmm6
+  DB  102,15,98,221                       ; punpckldq     %xmm5,%xmm3
+  DB  15,40,109,40                        ; movaps        0x28(%ebp),%xmm5
+  DB  102,15,108,222                      ; punpcklqdq    %xmm6,%xmm3
+  DB  15,40,117,56                        ; movaps        0x38(%ebp),%xmm6
+  DB  102,15,98,199                       ; punpckldq     %xmm7,%xmm0
+  DB  102,15,98,209                       ; punpckldq     %xmm1,%xmm2
+  DB  102,15,108,208                      ; punpcklqdq    %xmm0,%xmm2
+  DB  102,15,111,194                      ; movdqa        %xmm2,%xmm0
+  DB  102,15,114,240,16                   ; pslld         $0x10,%xmm0
+  DB  102,15,114,224,16                   ; psrad         $0x10,%xmm0
+  DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
+  DB  102,15,114,241,16                   ; pslld         $0x10,%xmm1
+  DB  102,15,114,225,16                   ; psrad         $0x10,%xmm1
+  DB  102,15,107,200                      ; packssdw      %xmm0,%xmm1
+  DB  102,15,111,195                      ; movdqa        %xmm3,%xmm0
+  DB  102,15,111,250                      ; movdqa        %xmm2,%xmm7
+  DB  102,15,114,210,24                   ; psrld         $0x18,%xmm2
+  DB  102,15,114,242,16                   ; pslld         $0x10,%xmm2
+  DB  102,15,114,226,16                   ; psrad         $0x10,%xmm2
+  DB  102,15,114,211,24                   ; psrld         $0x18,%xmm3
+  DB  102,15,114,243,16                   ; pslld         $0x10,%xmm3
+  DB  102,15,114,227,16                   ; psrad         $0x10,%xmm3
+  DB  102,15,107,218                      ; packssdw      %xmm2,%xmm3
+  DB  102,15,111,162,244,64,0,0           ; movdqa        0x40f4(%edx),%xmm4
+  DB  102,15,114,208,16                   ; psrld         $0x10,%xmm0
+  DB  102,15,114,215,16                   ; psrld         $0x10,%xmm7
+  DB  102,15,114,247,16                   ; pslld         $0x10,%xmm7
+  DB  102,15,114,231,16                   ; psrad         $0x10,%xmm7
+  DB  102,15,114,240,16                   ; pslld         $0x10,%xmm0
+  DB  102,15,114,224,16                   ; psrad         $0x10,%xmm0
+  DB  102,15,107,199                      ; packssdw      %xmm7,%xmm0
+  DB  102,15,111,209                      ; movdqa        %xmm1,%xmm2
+  DB  102,15,219,212                      ; pand          %xmm4,%xmm2
+  DB  102,15,219,196                      ; pand          %xmm4,%xmm0
+  DB  15,40,101,72                        ; movaps        0x48(%ebp),%xmm4
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  141,81,8                            ; lea           0x8(%ecx),%edx
+  DB  15,41,100,36,64                     ; movaps        %xmm4,0x40(%esp)
+  DB  15,41,116,36,48                     ; movaps        %xmm6,0x30(%esp)
+  DB  15,41,108,36,32                     ; movaps        %xmm5,0x20(%esp)
+  DB  15,40,101,24                        ; movaps        0x18(%ebp),%xmm4
+  DB  15,41,100,36,16                     ; movaps        %xmm4,0x10(%esp)
+  DB  137,124,36,12                       ; mov           %edi,0xc(%esp)
+  DB  137,116,36,8                        ; mov           %esi,0x8(%esp)
+  DB  137,84,36,4                         ; mov           %edx,0x4(%esp)
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  255,81,4                            ; call          *0x4(%ecx)
+  DB  131,196,80                          ; add           $0x50,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_load_565_sse2_lowp
+_sk_load_565_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,92                          ; sub           $0x5c,%esp
+  DB  15,40,117,72                        ; movaps        0x48(%ebp),%xmm6
+  DB  15,40,109,56                        ; movaps        0x38(%ebp),%xmm5
+  DB  15,40,101,40                        ; movaps        0x28(%ebp),%xmm4
+  DB  15,40,93,24                         ; movaps        0x18(%ebp),%xmm3
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,85,8                            ; mov           0x8(%ebp),%edx
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  139,89,4                            ; mov           0x4(%ecx),%ebx
+  DB  15,175,93,20                        ; imul          0x14(%ebp),%ebx
+  DB  1,219                               ; add           %ebx,%ebx
+  DB  3,25                                ; add           (%ecx),%ebx
+  DB  137,209                             ; mov           %edx,%ecx
+  DB  128,225,7                           ; and           $0x7,%cl
+  DB  254,201                             ; dec           %cl
+  DB  128,249,6                           ; cmp           $0x6,%cl
+  DB  232,0,0,0,0                         ; call          cfa0 <_sk_load_565_sse2_lowp+0x3b>
+  DB  94                                  ; pop           %esi
+  DB  139,125,16                          ; mov           0x10(%ebp),%edi
+  DB  119,28                              ; ja            cfc2 <_sk_load_565_sse2_lowp+0x5d>
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  15,182,201                          ; movzbl        %cl,%ecx
+  DB  139,140,142,244,0,0,0               ; mov           0xf4(%esi,%ecx,4),%ecx
+  DB  1,241                               ; add           %esi,%ecx
+  DB  255,225                             ; jmp           *%ecx
+  DB  15,183,12,123                       ; movzwl        (%ebx,%edi,2),%ecx
+  DB  102,15,110,193                      ; movd          %ecx,%xmm0
+  DB  235,59                              ; jmp           cffd <_sk_load_565_sse2_lowp+0x98>
+  DB  243,15,111,4,123                    ; movdqu        (%ebx,%edi,2),%xmm0
+  DB  235,52                              ; jmp           cffd <_sk_load_565_sse2_lowp+0x98>
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  102,15,196,68,123,4,2               ; pinsrw        $0x2,0x4(%ebx,%edi,2),%xmm0
+  DB  243,15,16,12,123                    ; movss         (%ebx,%edi,2),%xmm1
+  DB  243,15,16,193                       ; movss         %xmm1,%xmm0
+  DB  235,30                              ; jmp           cffd <_sk_load_565_sse2_lowp+0x98>
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  102,15,196,68,123,12,6              ; pinsrw        $0x6,0xc(%ebx,%edi,2),%xmm0
+  DB  102,15,196,68,123,10,5              ; pinsrw        $0x5,0xa(%ebx,%edi,2),%xmm0
+  DB  102,15,196,68,123,8,4               ; pinsrw        $0x4,0x8(%ebx,%edi,2),%xmm0
+  DB  102,15,18,4,123                     ; movlpd        (%ebx,%edi,2),%xmm0
+  DB  102,15,111,248                      ; movdqa        %xmm0,%xmm7
+  DB  102,15,113,215,8                    ; psrlw         $0x8,%xmm7
+  DB  102,15,219,190,16,63,0,0            ; pand          0x3f10(%esi),%xmm7
+  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
+  DB  102,15,113,209,5                    ; psrlw         $0x5,%xmm1
+  DB  102,15,219,142,32,63,0,0            ; pand          0x3f20(%esi),%xmm1
+  DB  102,15,111,150,48,63,0,0            ; movdqa        0x3f30(%esi),%xmm2
+  DB  102,15,219,208                      ; pand          %xmm0,%xmm2
+  DB  102,15,113,208,13                   ; psrlw         $0xd,%xmm0
+  DB  102,15,235,199                      ; por           %xmm7,%xmm0
+  DB  102,15,111,249                      ; movdqa        %xmm1,%xmm7
+  DB  102,15,113,247,2                    ; psllw         $0x2,%xmm7
+  DB  102,15,113,209,4                    ; psrlw         $0x4,%xmm1
+  DB  102,15,235,207                      ; por           %xmm7,%xmm1
+  DB  102,15,111,250                      ; movdqa        %xmm2,%xmm7
+  DB  102,15,113,247,3                    ; psllw         $0x3,%xmm7
+  DB  102,15,113,210,2                    ; psrlw         $0x2,%xmm2
+  DB  102,15,235,215                      ; por           %xmm7,%xmm2
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  15,41,116,36,64                     ; movaps        %xmm6,0x40(%esp)
+  DB  15,41,108,36,48                     ; movaps        %xmm5,0x30(%esp)
+  DB  15,41,100,36,32                     ; movaps        %xmm4,0x20(%esp)
+  DB  15,41,92,36,16                      ; movaps        %xmm3,0x10(%esp)
+  DB  139,93,20                           ; mov           0x14(%ebp),%ebx
+  DB  137,92,36,12                        ; mov           %ebx,0xc(%esp)
+  DB  137,124,36,8                        ; mov           %edi,0x8(%esp)
+  DB  137,76,36,4                         ; mov           %ecx,0x4(%esp)
+  DB  137,20,36                           ; mov           %edx,(%esp)
+  DB  15,40,158,208,62,0,0                ; movaps        0x3ed0(%esi),%xmm3
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,92                          ; add           $0x5c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  144                                 ; nop
+  DB  24,0                                ; sbb           %al,(%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  52,0                                ; xor           $0x0,%al
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  41,0                                ; sub           %eax,(%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  88                                  ; pop           %eax
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,81,0                              ; add           %dl,0x0(%ecx)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  74                                  ; dec           %edx
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,63                                ; add           %bh,(%edi)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0                                   ; .byte         0x0
+
+PUBLIC _sk_load_565_dst_sse2_lowp
+_sk_load_565_dst_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,92                          ; sub           $0x5c,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,85,8                            ; mov           0x8(%ebp),%edx
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  139,89,4                            ; mov           0x4(%ecx),%ebx
+  DB  15,175,93,20                        ; imul          0x14(%ebp),%ebx
+  DB  1,219                               ; add           %ebx,%ebx
+  DB  3,25                                ; add           (%ecx),%ebx
+  DB  137,209                             ; mov           %edx,%ecx
+  DB  128,225,7                           ; and           $0x7,%cl
+  DB  254,201                             ; dec           %cl
+  DB  128,249,6                           ; cmp           $0x6,%cl
+  DB  232,0,0,0,0                         ; call          d0db <_sk_load_565_dst_sse2_lowp+0x2b>
+  DB  95                                  ; pop           %edi
+  DB  139,117,16                          ; mov           0x10(%ebp),%esi
+  DB  119,28                              ; ja            d0fd <_sk_load_565_dst_sse2_lowp+0x4d>
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  15,182,201                          ; movzbl        %cl,%ecx
+  DB  139,140,143,249,0,0,0               ; mov           0xf9(%edi,%ecx,4),%ecx
+  DB  1,249                               ; add           %edi,%ecx
+  DB  255,225                             ; jmp           *%ecx
+  DB  15,183,12,115                       ; movzwl        (%ebx,%esi,2),%ecx
+  DB  102,15,110,225                      ; movd          %ecx,%xmm4
+  DB  235,59                              ; jmp           d138 <_sk_load_565_dst_sse2_lowp+0x88>
+  DB  243,15,111,36,115                   ; movdqu        (%ebx,%esi,2),%xmm4
+  DB  235,52                              ; jmp           d138 <_sk_load_565_dst_sse2_lowp+0x88>
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  102,15,196,100,115,4,2              ; pinsrw        $0x2,0x4(%ebx,%esi,2),%xmm4
+  DB  243,15,16,44,115                    ; movss         (%ebx,%esi,2),%xmm5
+  DB  243,15,16,229                       ; movss         %xmm5,%xmm4
+  DB  235,30                              ; jmp           d138 <_sk_load_565_dst_sse2_lowp+0x88>
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  102,15,196,100,115,12,6             ; pinsrw        $0x6,0xc(%ebx,%esi,2),%xmm4
+  DB  102,15,196,100,115,10,5             ; pinsrw        $0x5,0xa(%ebx,%esi,2),%xmm4
+  DB  102,15,196,100,115,8,4              ; pinsrw        $0x4,0x8(%ebx,%esi,2),%xmm4
+  DB  102,15,18,36,115                    ; movlpd        (%ebx,%esi,2),%xmm4
+  DB  102,15,111,244                      ; movdqa        %xmm4,%xmm6
+  DB  102,15,113,214,8                    ; psrlw         $0x8,%xmm6
+  DB  102,15,219,183,213,61,0,0           ; pand          0x3dd5(%edi),%xmm6
+  DB  102,15,111,236                      ; movdqa        %xmm4,%xmm5
+  DB  102,15,113,213,5                    ; psrlw         $0x5,%xmm5
+  DB  102,15,219,175,229,61,0,0           ; pand          0x3de5(%edi),%xmm5
+  DB  102,15,111,191,245,61,0,0           ; movdqa        0x3df5(%edi),%xmm7
+  DB  102,15,219,252                      ; pand          %xmm4,%xmm7
+  DB  102,15,113,212,13                   ; psrlw         $0xd,%xmm4
+  DB  102,15,235,230                      ; por           %xmm6,%xmm4
+  DB  102,15,111,245                      ; movdqa        %xmm5,%xmm6
+  DB  102,15,113,246,2                    ; psllw         $0x2,%xmm6
+  DB  102,15,113,213,4                    ; psrlw         $0x4,%xmm5
+  DB  102,15,235,238                      ; por           %xmm6,%xmm5
+  DB  102,15,111,247                      ; movdqa        %xmm7,%xmm6
+  DB  102,15,113,246,3                    ; psllw         $0x3,%xmm6
+  DB  102,15,113,215,2                    ; psrlw         $0x2,%xmm7
+  DB  102,15,235,254                      ; por           %xmm6,%xmm7
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  15,40,183,149,61,0,0                ; movaps        0x3d95(%edi),%xmm6
+  DB  15,41,116,36,64                     ; movaps        %xmm6,0x40(%esp)
+  DB  139,125,20                          ; mov           0x14(%ebp),%edi
+  DB  137,124,36,12                       ; mov           %edi,0xc(%esp)
+  DB  137,116,36,8                        ; mov           %esi,0x8(%esp)
+  DB  137,76,36,4                         ; mov           %ecx,0x4(%esp)
+  DB  137,20,36                           ; mov           %edx,(%esp)
+  DB  102,15,127,124,36,48                ; movdqa        %xmm7,0x30(%esp)
+  DB  102,15,127,100,36,16                ; movdqa        %xmm4,0x10(%esp)
+  DB  102,15,127,108,36,32                ; movdqa        %xmm5,0x20(%esp)
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,92                          ; add           $0x5c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  15,31,0                             ; nopl          (%eax)
+  DB  24,0                                ; sbb           %al,(%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  52,0                                ; xor           $0x0,%al
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  41,0                                ; sub           %eax,(%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  88                                  ; pop           %eax
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,81,0                              ; add           %dl,0x0(%ecx)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  74                                  ; dec           %edx
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,63                                ; add           %bh,(%edi)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0                                   ; .byte         0x0
+
+PUBLIC _sk_store_565_sse2_lowp
+_sk_store_565_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,92                          ; sub           $0x5c,%esp
+  DB  102,15,111,226                      ; movdqa        %xmm2,%xmm4
+  DB  232,0,0,0,0                         ; call          d202 <_sk_store_565_sse2_lowp+0x12>
+  DB  95                                  ; pop           %edi
+  DB  15,40,109,72                        ; movaps        0x48(%ebp),%xmm5
+  DB  102,15,111,208                      ; movdqa        %xmm0,%xmm2
+  DB  102,15,113,242,8                    ; psllw         $0x8,%xmm2
+  DB  102,15,219,151,222,60,0,0           ; pand          0x3cde(%edi),%xmm2
+  DB  102,15,111,241                      ; movdqa        %xmm1,%xmm6
+  DB  102,15,113,246,3                    ; psllw         $0x3,%xmm6
+  DB  102,15,219,183,238,60,0,0           ; pand          0x3cee(%edi),%xmm6
+  DB  102,15,235,242                      ; por           %xmm2,%xmm6
+  DB  102,15,111,212                      ; movdqa        %xmm4,%xmm2
+  DB  102,15,113,210,3                    ; psrlw         $0x3,%xmm2
+  DB  102,15,235,214                      ; por           %xmm6,%xmm2
+  DB  15,40,117,40                        ; movaps        0x28(%ebp),%xmm6
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  139,89,4                            ; mov           0x4(%ecx),%ebx
+  DB  15,175,93,20                        ; imul          0x14(%ebp),%ebx
+  DB  1,219                               ; add           %ebx,%ebx
+  DB  3,25                                ; add           (%ecx),%ebx
+  DB  139,85,8                            ; mov           0x8(%ebp),%edx
+  DB  137,209                             ; mov           %edx,%ecx
+  DB  128,225,7                           ; and           $0x7,%cl
+  DB  254,201                             ; dec           %cl
+  DB  128,249,6                           ; cmp           $0x6,%cl
+  DB  139,117,16                          ; mov           0x10(%ebp),%esi
+  DB  15,40,125,24                        ; movaps        0x18(%ebp),%xmm7
+  DB  119,22                              ; ja            d27a <_sk_store_565_sse2_lowp+0x8a>
+  DB  15,182,201                          ; movzbl        %cl,%ecx
+  DB  3,188,143,242,0,0,0                 ; add           0xf2(%edi,%ecx,4),%edi
+  DB  255,231                             ; jmp           *%edi
+  DB  102,15,126,209                      ; movd          %xmm2,%ecx
+  DB  102,137,12,115                      ; mov           %cx,(%ebx,%esi,2)
+  DB  235,59                              ; jmp           d2b5 <_sk_store_565_sse2_lowp+0xc5>
+  DB  243,15,127,20,115                   ; movdqu        %xmm2,(%ebx,%esi,2)
+  DB  235,52                              ; jmp           d2b5 <_sk_store_565_sse2_lowp+0xc5>
+  DB  102,15,197,202,2                    ; pextrw        $0x2,%xmm2,%ecx
+  DB  102,137,76,115,4                    ; mov           %cx,0x4(%ebx,%esi,2)
+  DB  102,15,126,20,115                   ; movd          %xmm2,(%ebx,%esi,2)
+  DB  235,35                              ; jmp           d2b5 <_sk_store_565_sse2_lowp+0xc5>
+  DB  102,15,197,202,6                    ; pextrw        $0x6,%xmm2,%ecx
+  DB  102,137,76,115,12                   ; mov           %cx,0xc(%ebx,%esi,2)
+  DB  102,15,197,202,5                    ; pextrw        $0x5,%xmm2,%ecx
+  DB  102,137,76,115,10                   ; mov           %cx,0xa(%ebx,%esi,2)
+  DB  102,15,197,202,4                    ; pextrw        $0x4,%xmm2,%ecx
+  DB  102,137,76,115,8                    ; mov           %cx,0x8(%ebx,%esi,2)
+  DB  102,15,214,20,115                   ; movq          %xmm2,(%ebx,%esi,2)
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  15,41,108,36,64                     ; movaps        %xmm5,0x40(%esp)
+  DB  15,40,85,56                         ; movaps        0x38(%ebp),%xmm2
+  DB  15,41,84,36,48                      ; movaps        %xmm2,0x30(%esp)
+  DB  15,41,116,36,32                     ; movaps        %xmm6,0x20(%esp)
+  DB  15,41,124,36,16                     ; movaps        %xmm7,0x10(%esp)
+  DB  139,125,20                          ; mov           0x14(%ebp),%edi
+  DB  137,124,36,12                       ; mov           %edi,0xc(%esp)
+  DB  137,116,36,8                        ; mov           %esi,0x8(%esp)
+  DB  137,76,36,4                         ; mov           %ecx,0x4(%esp)
+  DB  137,20,36                           ; mov           %edx,(%esp)
+  DB  102,15,111,212                      ; movdqa        %xmm4,%xmm2
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,92                          ; add           $0x5c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  15,31,0                             ; nopl          (%eax)
+  DB  110                                 ; outsb         %ds:(%esi),(%dx)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,137,0,0,0,127                     ; add           %cl,0x7f000000(%ecx)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,174,0,0,0,164                     ; add           %ch,-0x5c000000(%esi)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,154,0,0,0,144                     ; add           %bl,-0x70000000(%edx)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0                                   ; .byte         0x0
+
+PUBLIC _sk_gather_565_sse2_lowp
+_sk_gather_565_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,108                         ; sub           $0x6c,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,16                              ; mov           (%eax),%edx
+  DB  243,15,16,98,8                      ; movss         0x8(%edx),%xmm4
+  DB  15,198,228,0                        ; shufps        $0x0,%xmm4,%xmm4
+  DB  102,15,118,237                      ; pcmpeqd       %xmm5,%xmm5
+  DB  102,15,254,229                      ; paddd         %xmm5,%xmm4
+  DB  15,87,246                           ; xorps         %xmm6,%xmm6
+  DB  15,95,198                           ; maxps         %xmm6,%xmm0
+  DB  15,95,206                           ; maxps         %xmm6,%xmm1
+  DB  15,93,204                           ; minps         %xmm4,%xmm1
+  DB  15,93,196                           ; minps         %xmm4,%xmm0
+  DB  243,15,16,98,12                     ; movss         0xc(%edx),%xmm4
+  DB  15,198,228,0                        ; shufps        $0x0,%xmm4,%xmm4
+  DB  102,15,254,229                      ; paddd         %xmm5,%xmm4
+  DB  15,95,222                           ; maxps         %xmm6,%xmm3
+  DB  15,95,214                           ; maxps         %xmm6,%xmm2
+  DB  15,93,212                           ; minps         %xmm4,%xmm2
+  DB  15,93,220                           ; minps         %xmm4,%xmm3
+  DB  243,15,91,219                       ; cvttps2dq     %xmm3,%xmm3
+  DB  243,15,91,210                       ; cvttps2dq     %xmm2,%xmm2
+  DB  102,15,110,98,4                     ; movd          0x4(%edx),%xmm4
+  DB  102,15,112,228,0                    ; pshufd        $0x0,%xmm4,%xmm4
+  DB  102,15,112,234,245                  ; pshufd        $0xf5,%xmm2,%xmm5
+  DB  102,15,244,236                      ; pmuludq       %xmm4,%xmm5
+  DB  102,15,111,244                      ; movdqa        %xmm4,%xmm6
+  DB  102,15,244,242                      ; pmuludq       %xmm2,%xmm6
+  DB  102,15,112,211,245                  ; pshufd        $0xf5,%xmm3,%xmm2
+  DB  102,15,244,212                      ; pmuludq       %xmm4,%xmm2
+  DB  232,0,0,0,0                         ; call          d388 <_sk_gather_565_sse2_lowp+0x78>
+  DB  89                                  ; pop           %ecx
+  DB  139,50                              ; mov           (%edx),%esi
+  DB  102,15,112,246,232                  ; pshufd        $0xe8,%xmm6,%xmm6
+  DB  102,15,112,237,232                  ; pshufd        $0xe8,%xmm5,%xmm5
+  DB  102,15,98,245                       ; punpckldq     %xmm5,%xmm6
+  DB  102,15,244,227                      ; pmuludq       %xmm3,%xmm4
+  DB  102,15,112,220,232                  ; pshufd        $0xe8,%xmm4,%xmm3
+  DB  102,15,112,210,232                  ; pshufd        $0xe8,%xmm2,%xmm2
+  DB  102,15,98,218                       ; punpckldq     %xmm2,%xmm3
+  DB  243,15,91,192                       ; cvttps2dq     %xmm0,%xmm0
+  DB  102,15,254,198                      ; paddd         %xmm6,%xmm0
+  DB  243,15,91,201                       ; cvttps2dq     %xmm1,%xmm1
+  DB  102,15,254,203                      ; paddd         %xmm3,%xmm1
+  DB  102,15,126,194                      ; movd          %xmm0,%edx
+  DB  102,15,112,208,229                  ; pshufd        $0xe5,%xmm0,%xmm2
+  DB  102,15,127,85,216                   ; movdqa        %xmm2,-0x28(%ebp)
+  DB  102,15,112,216,78                   ; pshufd        $0x4e,%xmm0,%xmm3
+  DB  102,15,112,192,231                  ; pshufd        $0xe7,%xmm0,%xmm0
+  DB  102,15,112,225,78                   ; pshufd        $0x4e,%xmm1,%xmm4
+  DB  102,15,112,233,231                  ; pshufd        $0xe7,%xmm1,%xmm5
+  DB  102,15,126,239                      ; movd          %xmm5,%edi
+  DB  15,183,60,126                       ; movzwl        (%esi,%edi,2),%edi
+  DB  102,15,110,239                      ; movd          %edi,%xmm5
+  DB  102,15,126,231                      ; movd          %xmm4,%edi
+  DB  15,183,60,126                       ; movzwl        (%esi,%edi,2),%edi
+  DB  102,15,110,231                      ; movd          %edi,%xmm4
+  DB  102,15,126,207                      ; movd          %xmm1,%edi
+  DB  102,15,112,201,229                  ; pshufd        $0xe5,%xmm1,%xmm1
+  DB  15,183,60,126                       ; movzwl        (%esi,%edi,2),%edi
+  DB  102,15,110,247                      ; movd          %edi,%xmm6
+  DB  102,15,126,207                      ; movd          %xmm1,%edi
+  DB  15,183,60,126                       ; movzwl        (%esi,%edi,2),%edi
+  DB  102,15,110,215                      ; movd          %edi,%xmm2
+  DB  102,15,126,199                      ; movd          %xmm0,%edi
+  DB  15,183,60,126                       ; movzwl        (%esi,%edi,2),%edi
+  DB  102,15,110,255                      ; movd          %edi,%xmm7
+  DB  102,15,126,223                      ; movd          %xmm3,%edi
+  DB  15,183,60,126                       ; movzwl        (%esi,%edi,2),%edi
+  DB  102,15,110,207                      ; movd          %edi,%xmm1
+  DB  102,15,111,69,216                   ; movdqa        -0x28(%ebp),%xmm0
+  DB  102,15,126,199                      ; movd          %xmm0,%edi
+  DB  15,183,20,86                        ; movzwl        (%esi,%edx,2),%edx
+  DB  102,15,110,194                      ; movd          %edx,%xmm0
+  DB  139,85,8                            ; mov           0x8(%ebp),%edx
+  DB  15,183,60,126                       ; movzwl        (%esi,%edi,2),%edi
+  DB  139,117,16                          ; mov           0x10(%ebp),%esi
+  DB  102,15,97,229                       ; punpcklwd     %xmm5,%xmm4
+  DB  102,15,110,239                      ; movd          %edi,%xmm5
+  DB  139,125,20                          ; mov           0x14(%ebp),%edi
+  DB  102,15,97,242                       ; punpcklwd     %xmm2,%xmm6
+  DB  15,40,93,24                         ; movaps        0x18(%ebp),%xmm3
+  DB  102,15,98,244                       ; punpckldq     %xmm4,%xmm6
+  DB  15,40,101,40                        ; movaps        0x28(%ebp),%xmm4
+  DB  102,15,97,207                       ; punpcklwd     %xmm7,%xmm1
+  DB  15,40,125,56                        ; movaps        0x38(%ebp),%xmm7
+  DB  102,15,97,197                       ; punpcklwd     %xmm5,%xmm0
+  DB  102,15,98,193                       ; punpckldq     %xmm1,%xmm0
+  DB  102,15,108,198                      ; punpcklqdq    %xmm6,%xmm0
+  DB  102,15,111,232                      ; movdqa        %xmm0,%xmm5
+  DB  102,15,113,213,8                    ; psrlw         $0x8,%xmm5
+  DB  102,15,219,169,40,59,0,0            ; pand          0x3b28(%ecx),%xmm5
+  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
+  DB  102,15,113,209,5                    ; psrlw         $0x5,%xmm1
+  DB  102,15,219,137,56,59,0,0            ; pand          0x3b38(%ecx),%xmm1
+  DB  102,15,111,145,72,59,0,0            ; movdqa        0x3b48(%ecx),%xmm2
+  DB  102,15,219,208                      ; pand          %xmm0,%xmm2
+  DB  102,15,113,208,13                   ; psrlw         $0xd,%xmm0
+  DB  102,15,235,197                      ; por           %xmm5,%xmm0
+  DB  102,15,111,233                      ; movdqa        %xmm1,%xmm5
+  DB  102,15,113,245,2                    ; psllw         $0x2,%xmm5
+  DB  102,15,113,209,4                    ; psrlw         $0x4,%xmm1
+  DB  102,15,235,205                      ; por           %xmm5,%xmm1
+  DB  102,15,111,234                      ; movdqa        %xmm2,%xmm5
+  DB  102,15,113,245,3                    ; psllw         $0x3,%xmm5
+  DB  102,15,113,210,2                    ; psrlw         $0x2,%xmm2
+  DB  102,15,235,213                      ; por           %xmm5,%xmm2
+  DB  15,40,109,72                        ; movaps        0x48(%ebp),%xmm5
+  DB  141,88,8                            ; lea           0x8(%eax),%ebx
+  DB  15,41,108,36,64                     ; movaps        %xmm5,0x40(%esp)
+  DB  15,41,124,36,48                     ; movaps        %xmm7,0x30(%esp)
+  DB  15,41,100,36,32                     ; movaps        %xmm4,0x20(%esp)
+  DB  15,41,92,36,16                      ; movaps        %xmm3,0x10(%esp)
+  DB  137,124,36,12                       ; mov           %edi,0xc(%esp)
+  DB  137,116,36,8                        ; mov           %esi,0x8(%esp)
+  DB  137,92,36,4                         ; mov           %ebx,0x4(%esp)
+  DB  137,20,36                           ; mov           %edx,(%esp)
+  DB  15,40,153,232,58,0,0                ; movaps        0x3ae8(%ecx),%xmm3
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,108                         ; add           $0x6c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_load_4444_sse2_lowp
+_sk_load_4444_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,92                          ; sub           $0x5c,%esp
+  DB  15,40,125,72                        ; movaps        0x48(%ebp),%xmm7
+  DB  15,40,117,56                        ; movaps        0x38(%ebp),%xmm6
+  DB  15,40,109,40                        ; movaps        0x28(%ebp),%xmm5
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,85,8                            ; mov           0x8(%ebp),%edx
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  139,89,4                            ; mov           0x4(%ecx),%ebx
+  DB  15,175,93,20                        ; imul          0x14(%ebp),%ebx
+  DB  1,219                               ; add           %ebx,%ebx
+  DB  3,25                                ; add           (%ecx),%ebx
+  DB  137,209                             ; mov           %edx,%ecx
+  DB  128,225,7                           ; and           $0x7,%cl
+  DB  254,201                             ; dec           %cl
+  DB  128,249,6                           ; cmp           $0x6,%cl
+  DB  232,0,0,0,0                         ; call          d542 <_sk_load_4444_sse2_lowp+0x37>
+  DB  95                                  ; pop           %edi
+  DB  139,117,16                          ; mov           0x10(%ebp),%esi
+  DB  119,28                              ; ja            d564 <_sk_load_4444_sse2_lowp+0x59>
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  15,182,201                          ; movzbl        %cl,%ecx
+  DB  139,140,143,250,0,0,0               ; mov           0xfa(%edi,%ecx,4),%ecx
+  DB  1,249                               ; add           %edi,%ecx
+  DB  255,225                             ; jmp           *%ecx
+  DB  15,183,12,115                       ; movzwl        (%ebx,%esi,2),%ecx
+  DB  102,15,110,225                      ; movd          %ecx,%xmm4
+  DB  235,59                              ; jmp           d59f <_sk_load_4444_sse2_lowp+0x94>
+  DB  243,15,111,36,115                   ; movdqu        (%ebx,%esi,2),%xmm4
+  DB  235,52                              ; jmp           d59f <_sk_load_4444_sse2_lowp+0x94>
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  102,15,196,100,115,4,2              ; pinsrw        $0x2,0x4(%ebx,%esi,2),%xmm4
+  DB  243,15,16,4,115                     ; movss         (%ebx,%esi,2),%xmm0
+  DB  243,15,16,224                       ; movss         %xmm0,%xmm4
+  DB  235,30                              ; jmp           d59f <_sk_load_4444_sse2_lowp+0x94>
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  102,15,196,100,115,12,6             ; pinsrw        $0x6,0xc(%ebx,%esi,2),%xmm4
+  DB  102,15,196,100,115,10,5             ; pinsrw        $0x5,0xa(%ebx,%esi,2),%xmm4
+  DB  102,15,196,100,115,8,4              ; pinsrw        $0x4,0x8(%ebx,%esi,2),%xmm4
+  DB  102,15,18,36,115                    ; movlpd        (%ebx,%esi,2),%xmm4
+  DB  102,15,111,204                      ; movdqa        %xmm4,%xmm1
+  DB  102,15,113,209,12                   ; psrlw         $0xc,%xmm1
+  DB  102,15,111,212                      ; movdqa        %xmm4,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,111,135,190,57,0,0           ; movdqa        0x39be(%edi),%xmm0
+  DB  102,15,219,208                      ; pand          %xmm0,%xmm2
+  DB  102,15,111,220                      ; movdqa        %xmm4,%xmm3
+  DB  102,15,113,211,4                    ; psrlw         $0x4,%xmm3
+  DB  102,15,219,216                      ; pand          %xmm0,%xmm3
+  DB  102,15,219,224                      ; pand          %xmm0,%xmm4
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,15,113,240,4                    ; psllw         $0x4,%xmm0
+  DB  102,15,235,193                      ; por           %xmm1,%xmm0
+  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
+  DB  102,15,113,241,4                    ; psllw         $0x4,%xmm1
+  DB  102,15,235,202                      ; por           %xmm2,%xmm1
+  DB  102,15,111,211                      ; movdqa        %xmm3,%xmm2
+  DB  102,15,113,242,4                    ; psllw         $0x4,%xmm2
+  DB  102,15,235,211                      ; por           %xmm3,%xmm2
+  DB  102,15,111,220                      ; movdqa        %xmm4,%xmm3
+  DB  102,15,113,243,4                    ; psllw         $0x4,%xmm3
+  DB  102,15,235,220                      ; por           %xmm4,%xmm3
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  15,41,124,36,64                     ; movaps        %xmm7,0x40(%esp)
+  DB  15,41,116,36,48                     ; movaps        %xmm6,0x30(%esp)
+  DB  15,41,108,36,32                     ; movaps        %xmm5,0x20(%esp)
+  DB  15,40,101,24                        ; movaps        0x18(%ebp),%xmm4
+  DB  15,41,100,36,16                     ; movaps        %xmm4,0x10(%esp)
+  DB  139,125,20                          ; mov           0x14(%ebp),%edi
+  DB  137,124,36,12                       ; mov           %edi,0xc(%esp)
+  DB  137,116,36,8                        ; mov           %esi,0x8(%esp)
+  DB  137,76,36,4                         ; mov           %ecx,0x4(%esp)
+  DB  137,20,36                           ; mov           %edx,(%esp)
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,92                          ; add           $0x5c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  24,0                                ; sbb           %al,(%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  52,0                                ; xor           $0x0,%al
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  41,0                                ; sub           %eax,(%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  88                                  ; pop           %eax
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,81,0                              ; add           %dl,0x0(%ecx)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  74                                  ; dec           %edx
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,63                                ; add           %bh,(%edi)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0                                   ; .byte         0x0
+
+PUBLIC _sk_load_4444_dst_sse2_lowp
+_sk_load_4444_dst_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,108                         ; sub           $0x6c,%esp
+  DB  15,41,93,216                        ; movaps        %xmm3,-0x28(%ebp)
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,85,8                            ; mov           0x8(%ebp),%edx
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  139,89,4                            ; mov           0x4(%ecx),%ebx
+  DB  15,175,93,20                        ; imul          0x14(%ebp),%ebx
+  DB  1,219                               ; add           %ebx,%ebx
+  DB  3,25                                ; add           (%ecx),%ebx
+  DB  137,209                             ; mov           %edx,%ecx
+  DB  128,225,7                           ; and           $0x7,%cl
+  DB  254,201                             ; dec           %cl
+  DB  128,249,6                           ; cmp           $0x6,%cl
+  DB  232,0,0,0,0                         ; call          d687 <_sk_load_4444_dst_sse2_lowp+0x2f>
+  DB  95                                  ; pop           %edi
+  DB  139,117,16                          ; mov           0x10(%ebp),%esi
+  DB  119,28                              ; ja            d6a9 <_sk_load_4444_dst_sse2_lowp+0x51>
+  DB  102,15,239,255                      ; pxor          %xmm7,%xmm7
+  DB  15,182,201                          ; movzbl        %cl,%ecx
+  DB  139,140,143,253,0,0,0               ; mov           0xfd(%edi,%ecx,4),%ecx
+  DB  1,249                               ; add           %edi,%ecx
+  DB  255,225                             ; jmp           *%ecx
+  DB  15,183,12,115                       ; movzwl        (%ebx,%esi,2),%ecx
+  DB  102,15,110,249                      ; movd          %ecx,%xmm7
+  DB  235,59                              ; jmp           d6e4 <_sk_load_4444_dst_sse2_lowp+0x8c>
+  DB  243,15,111,60,115                   ; movdqu        (%ebx,%esi,2),%xmm7
+  DB  235,52                              ; jmp           d6e4 <_sk_load_4444_dst_sse2_lowp+0x8c>
+  DB  102,15,239,255                      ; pxor          %xmm7,%xmm7
+  DB  102,15,196,124,115,4,2              ; pinsrw        $0x2,0x4(%ebx,%esi,2),%xmm7
+  DB  243,15,16,44,115                    ; movss         (%ebx,%esi,2),%xmm5
+  DB  243,15,16,253                       ; movss         %xmm5,%xmm7
+  DB  235,30                              ; jmp           d6e4 <_sk_load_4444_dst_sse2_lowp+0x8c>
+  DB  102,15,239,255                      ; pxor          %xmm7,%xmm7
+  DB  102,15,196,124,115,12,6             ; pinsrw        $0x6,0xc(%ebx,%esi,2),%xmm7
+  DB  102,15,196,124,115,10,5             ; pinsrw        $0x5,0xa(%ebx,%esi,2),%xmm7
+  DB  102,15,196,124,115,8,4              ; pinsrw        $0x4,0x8(%ebx,%esi,2),%xmm7
+  DB  102,15,18,60,115                    ; movlpd        (%ebx,%esi,2),%xmm7
+  DB  102,15,111,239                      ; movdqa        %xmm7,%xmm5
+  DB  102,15,113,213,12                   ; psrlw         $0xc,%xmm5
+  DB  102,15,111,247                      ; movdqa        %xmm7,%xmm6
+  DB  102,15,113,214,8                    ; psrlw         $0x8,%xmm6
+  DB  102,15,111,159,121,56,0,0           ; movdqa        0x3879(%edi),%xmm3
+  DB  102,15,219,243                      ; pand          %xmm3,%xmm6
+  DB  102,15,111,231                      ; movdqa        %xmm7,%xmm4
+  DB  102,15,113,212,4                    ; psrlw         $0x4,%xmm4
+  DB  102,15,219,227                      ; pand          %xmm3,%xmm4
+  DB  102,15,219,251                      ; pand          %xmm3,%xmm7
+  DB  102,15,111,221                      ; movdqa        %xmm5,%xmm3
+  DB  102,15,113,243,4                    ; psllw         $0x4,%xmm3
+  DB  102,15,235,221                      ; por           %xmm5,%xmm3
+  DB  102,15,111,238                      ; movdqa        %xmm6,%xmm5
+  DB  102,15,113,245,4                    ; psllw         $0x4,%xmm5
+  DB  102,15,235,238                      ; por           %xmm6,%xmm5
+  DB  102,15,111,244                      ; movdqa        %xmm4,%xmm6
+  DB  102,15,113,246,4                    ; psllw         $0x4,%xmm6
+  DB  102,15,235,244                      ; por           %xmm4,%xmm6
+  DB  102,15,111,231                      ; movdqa        %xmm7,%xmm4
+  DB  102,15,113,244,4                    ; psllw         $0x4,%xmm4
+  DB  102,15,235,231                      ; por           %xmm7,%xmm4
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  139,125,20                          ; mov           0x14(%ebp),%edi
+  DB  137,124,36,12                       ; mov           %edi,0xc(%esp)
+  DB  137,116,36,8                        ; mov           %esi,0x8(%esp)
+  DB  137,76,36,4                         ; mov           %ecx,0x4(%esp)
+  DB  137,20,36                           ; mov           %edx,(%esp)
+  DB  102,15,127,100,36,64                ; movdqa        %xmm4,0x40(%esp)
+  DB  102,15,127,92,36,16                 ; movdqa        %xmm3,0x10(%esp)
+  DB  102,15,127,116,36,48                ; movdqa        %xmm6,0x30(%esp)
+  DB  102,15,127,108,36,32                ; movdqa        %xmm5,0x20(%esp)
+  DB  15,40,93,216                        ; movaps        -0x28(%ebp),%xmm3
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,108                         ; add           $0x6c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  144                                 ; nop
+  DB  24,0                                ; sbb           %al,(%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  52,0                                ; xor           $0x0,%al
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  41,0                                ; sub           %eax,(%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  88                                  ; pop           %eax
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,81,0                              ; add           %dl,0x0(%ecx)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  74                                  ; dec           %edx
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,63                                ; add           %bh,(%edi)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0                                   ; .byte         0x0
+
+PUBLIC _sk_store_4444_sse2_lowp
+_sk_store_4444_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,92                          ; sub           $0x5c,%esp
+  DB  102,15,111,227                      ; movdqa        %xmm3,%xmm4
+  DB  232,0,0,0,0                         ; call          d7b2 <_sk_store_4444_sse2_lowp+0x12>
+  DB  94                                  ; pop           %esi
+  DB  102,15,111,216                      ; movdqa        %xmm0,%xmm3
+  DB  102,15,113,243,8                    ; psllw         $0x8,%xmm3
+  DB  102,15,219,158,94,55,0,0            ; pand          0x375e(%esi),%xmm3
+  DB  102,15,111,241                      ; movdqa        %xmm1,%xmm6
+  DB  102,15,113,246,4                    ; psllw         $0x4,%xmm6
+  DB  102,15,219,182,110,55,0,0           ; pand          0x376e(%esi),%xmm6
+  DB  102,15,235,243                      ; por           %xmm3,%xmm6
+  DB  102,15,111,174,126,55,0,0           ; movdqa        0x377e(%esi),%xmm5
+  DB  102,15,219,234                      ; pand          %xmm2,%xmm5
+  DB  102,15,111,220                      ; movdqa        %xmm4,%xmm3
+  DB  102,15,113,211,4                    ; psrlw         $0x4,%xmm3
+  DB  102,15,235,221                      ; por           %xmm5,%xmm3
+  DB  15,40,109,56                        ; movaps        0x38(%ebp),%xmm5
+  DB  102,15,235,222                      ; por           %xmm6,%xmm3
+  DB  15,40,117,40                        ; movaps        0x28(%ebp),%xmm6
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  139,89,4                            ; mov           0x4(%ecx),%ebx
+  DB  15,175,93,20                        ; imul          0x14(%ebp),%ebx
+  DB  1,219                               ; add           %ebx,%ebx
+  DB  3,25                                ; add           (%ecx),%ebx
+  DB  139,85,8                            ; mov           0x8(%ebp),%edx
+  DB  137,209                             ; mov           %edx,%ecx
+  DB  128,225,7                           ; and           $0x7,%cl
+  DB  254,201                             ; dec           %cl
+  DB  128,249,6                           ; cmp           $0x6,%cl
+  DB  139,125,16                          ; mov           0x10(%ebp),%edi
+  DB  15,40,125,24                        ; movaps        0x18(%ebp),%xmm7
+  DB  119,22                              ; ja            d83a <_sk_store_4444_sse2_lowp+0x9a>
+  DB  15,182,201                          ; movzbl        %cl,%ecx
+  DB  3,180,142,2,1,0,0                   ; add           0x102(%esi,%ecx,4),%esi
+  DB  255,230                             ; jmp           *%esi
+  DB  102,15,126,217                      ; movd          %xmm3,%ecx
+  DB  102,137,12,123                      ; mov           %cx,(%ebx,%edi,2)
+  DB  235,59                              ; jmp           d875 <_sk_store_4444_sse2_lowp+0xd5>
+  DB  243,15,127,28,123                   ; movdqu        %xmm3,(%ebx,%edi,2)
+  DB  235,52                              ; jmp           d875 <_sk_store_4444_sse2_lowp+0xd5>
+  DB  102,15,197,203,2                    ; pextrw        $0x2,%xmm3,%ecx
+  DB  102,137,76,123,4                    ; mov           %cx,0x4(%ebx,%edi,2)
+  DB  102,15,126,28,123                   ; movd          %xmm3,(%ebx,%edi,2)
+  DB  235,35                              ; jmp           d875 <_sk_store_4444_sse2_lowp+0xd5>
+  DB  102,15,197,203,6                    ; pextrw        $0x6,%xmm3,%ecx
+  DB  102,137,76,123,12                   ; mov           %cx,0xc(%ebx,%edi,2)
+  DB  102,15,197,203,5                    ; pextrw        $0x5,%xmm3,%ecx
+  DB  102,137,76,123,10                   ; mov           %cx,0xa(%ebx,%edi,2)
+  DB  102,15,197,203,4                    ; pextrw        $0x4,%xmm3,%ecx
+  DB  102,137,76,123,8                    ; mov           %cx,0x8(%ebx,%edi,2)
+  DB  102,15,214,28,123                   ; movq          %xmm3,(%ebx,%edi,2)
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  15,40,93,72                         ; movaps        0x48(%ebp),%xmm3
+  DB  15,41,92,36,64                      ; movaps        %xmm3,0x40(%esp)
+  DB  15,41,108,36,48                     ; movaps        %xmm5,0x30(%esp)
+  DB  15,41,116,36,32                     ; movaps        %xmm6,0x20(%esp)
+  DB  15,41,124,36,16                     ; movaps        %xmm7,0x10(%esp)
+  DB  139,117,20                          ; mov           0x14(%ebp),%esi
+  DB  137,116,36,12                       ; mov           %esi,0xc(%esp)
+  DB  137,124,36,8                        ; mov           %edi,0x8(%esp)
+  DB  137,76,36,4                         ; mov           %ecx,0x4(%esp)
+  DB  137,20,36                           ; mov           %edx,(%esp)
+  DB  102,15,111,220                      ; movdqa        %xmm4,%xmm3
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,92                          ; add           $0x5c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  15,31,0                             ; nopl          (%eax)
+  DB  126,0                               ; jle           d8b6 <_sk_store_4444_sse2_lowp+0x116>
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  153                                 ; cltd
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,143,0,0,0,190                     ; add           %cl,-0x42000000(%edi)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,180,0,0,0,170,0                   ; add           %dh,0xaa0000(%eax,%eax,1)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  160                                 ; .byte         0xa0
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0                                   ; .byte         0x0
+
+PUBLIC _sk_gather_4444_sse2_lowp
+_sk_gather_4444_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,80                          ; sub           $0x50,%esp
+  DB  232,0,0,0,0                         ; call          d8dd <_sk_gather_4444_sse2_lowp+0xd>
+  DB  90                                  ; pop           %edx
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  139,57                              ; mov           (%ecx),%edi
+  DB  243,15,16,103,8                     ; movss         0x8(%edi),%xmm4
+  DB  15,198,228,0                        ; shufps        $0x0,%xmm4,%xmm4
+  DB  102,15,118,237                      ; pcmpeqd       %xmm5,%xmm5
+  DB  102,15,254,229                      ; paddd         %xmm5,%xmm4
+  DB  15,87,246                           ; xorps         %xmm6,%xmm6
+  DB  15,95,198                           ; maxps         %xmm6,%xmm0
+  DB  15,95,206                           ; maxps         %xmm6,%xmm1
+  DB  15,93,204                           ; minps         %xmm4,%xmm1
+  DB  15,93,196                           ; minps         %xmm4,%xmm0
+  DB  243,15,16,103,12                    ; movss         0xc(%edi),%xmm4
+  DB  15,198,228,0                        ; shufps        $0x0,%xmm4,%xmm4
+  DB  102,15,254,229                      ; paddd         %xmm5,%xmm4
+  DB  15,95,222                           ; maxps         %xmm6,%xmm3
+  DB  15,95,214                           ; maxps         %xmm6,%xmm2
+  DB  15,93,212                           ; minps         %xmm4,%xmm2
+  DB  15,93,220                           ; minps         %xmm4,%xmm3
+  DB  139,55                              ; mov           (%edi),%esi
+  DB  243,15,91,219                       ; cvttps2dq     %xmm3,%xmm3
+  DB  243,15,91,210                       ; cvttps2dq     %xmm2,%xmm2
+  DB  102,15,110,103,4                    ; movd          0x4(%edi),%xmm4
+  DB  102,15,112,228,0                    ; pshufd        $0x0,%xmm4,%xmm4
+  DB  102,15,112,234,245                  ; pshufd        $0xf5,%xmm2,%xmm5
+  DB  102,15,244,236                      ; pmuludq       %xmm4,%xmm5
+  DB  102,15,111,244                      ; movdqa        %xmm4,%xmm6
+  DB  102,15,112,251,245                  ; pshufd        $0xf5,%xmm3,%xmm7
+  DB  102,15,244,252                      ; pmuludq       %xmm4,%xmm7
+  DB  102,15,244,226                      ; pmuludq       %xmm2,%xmm4
+  DB  102,15,112,212,232                  ; pshufd        $0xe8,%xmm4,%xmm2
+  DB  102,15,112,229,232                  ; pshufd        $0xe8,%xmm5,%xmm4
+  DB  102,15,98,212                       ; punpckldq     %xmm4,%xmm2
+  DB  102,15,244,243                      ; pmuludq       %xmm3,%xmm6
+  DB  102,15,112,222,232                  ; pshufd        $0xe8,%xmm6,%xmm3
+  DB  102,15,112,231,232                  ; pshufd        $0xe8,%xmm7,%xmm4
+  DB  102,15,98,220                       ; punpckldq     %xmm4,%xmm3
+  DB  243,15,91,192                       ; cvttps2dq     %xmm0,%xmm0
+  DB  102,15,254,194                      ; paddd         %xmm2,%xmm0
+  DB  243,15,91,201                       ; cvttps2dq     %xmm1,%xmm1
+  DB  102,15,254,203                      ; paddd         %xmm3,%xmm1
+  DB  102,15,112,248,78                   ; pshufd        $0x4e,%xmm0,%xmm7
+  DB  102,15,112,216,231                  ; pshufd        $0xe7,%xmm0,%xmm3
+  DB  102,15,112,225,78                   ; pshufd        $0x4e,%xmm1,%xmm4
+  DB  102,15,112,233,231                  ; pshufd        $0xe7,%xmm1,%xmm5
+  DB  102,15,126,239                      ; movd          %xmm5,%edi
+  DB  15,183,60,126                       ; movzwl        (%esi,%edi,2),%edi
+  DB  102,15,110,239                      ; movd          %edi,%xmm5
+  DB  102,15,126,231                      ; movd          %xmm4,%edi
+  DB  15,183,60,126                       ; movzwl        (%esi,%edi,2),%edi
+  DB  102,15,110,247                      ; movd          %edi,%xmm6
+  DB  102,15,126,207                      ; movd          %xmm1,%edi
+  DB  102,15,112,201,229                  ; pshufd        $0xe5,%xmm1,%xmm1
+  DB  15,183,60,126                       ; movzwl        (%esi,%edi,2),%edi
+  DB  102,15,110,215                      ; movd          %edi,%xmm2
+  DB  102,15,126,207                      ; movd          %xmm1,%edi
+  DB  15,183,60,126                       ; movzwl        (%esi,%edi,2),%edi
+  DB  102,15,110,231                      ; movd          %edi,%xmm4
+  DB  102,15,126,223                      ; movd          %xmm3,%edi
+  DB  15,183,60,126                       ; movzwl        (%esi,%edi,2),%edi
+  DB  102,15,110,223                      ; movd          %edi,%xmm3
+  DB  102,15,126,255                      ; movd          %xmm7,%edi
+  DB  15,183,60,126                       ; movzwl        (%esi,%edi,2),%edi
+  DB  102,15,110,207                      ; movd          %edi,%xmm1
+  DB  102,15,126,199                      ; movd          %xmm0,%edi
+  DB  102,15,112,192,229                  ; pshufd        $0xe5,%xmm0,%xmm0
+  DB  15,183,60,126                       ; movzwl        (%esi,%edi,2),%edi
+  DB  102,15,110,255                      ; movd          %edi,%xmm7
+  DB  102,15,126,199                      ; movd          %xmm0,%edi
+  DB  15,183,60,126                       ; movzwl        (%esi,%edi,2),%edi
+  DB  139,117,16                          ; mov           0x10(%ebp),%esi
+  DB  102,15,110,199                      ; movd          %edi,%xmm0
+  DB  139,125,20                          ; mov           0x14(%ebp),%edi
+  DB  102,15,97,245                       ; punpcklwd     %xmm5,%xmm6
+  DB  102,15,97,212                       ; punpcklwd     %xmm4,%xmm2
+  DB  15,40,109,40                        ; movaps        0x28(%ebp),%xmm5
+  DB  102,15,98,214                       ; punpckldq     %xmm6,%xmm2
+  DB  15,40,117,56                        ; movaps        0x38(%ebp),%xmm6
+  DB  102,15,97,203                       ; punpcklwd     %xmm3,%xmm1
+  DB  102,15,97,248                       ; punpcklwd     %xmm0,%xmm7
+  DB  102,15,98,249                       ; punpckldq     %xmm1,%xmm7
+  DB  102,15,108,250                      ; punpcklqdq    %xmm2,%xmm7
+  DB  102,15,111,207                      ; movdqa        %xmm7,%xmm1
+  DB  102,15,113,209,12                   ; psrlw         $0xc,%xmm1
+  DB  102,15,111,215                      ; movdqa        %xmm7,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,111,130,35,54,0,0            ; movdqa        0x3623(%edx),%xmm0
+  DB  102,15,219,208                      ; pand          %xmm0,%xmm2
+  DB  102,15,111,223                      ; movdqa        %xmm7,%xmm3
+  DB  102,15,113,211,4                    ; psrlw         $0x4,%xmm3
+  DB  102,15,219,216                      ; pand          %xmm0,%xmm3
+  DB  102,15,219,248                      ; pand          %xmm0,%xmm7
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,15,113,240,4                    ; psllw         $0x4,%xmm0
+  DB  102,15,235,193                      ; por           %xmm1,%xmm0
+  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
+  DB  102,15,113,241,4                    ; psllw         $0x4,%xmm1
+  DB  102,15,235,202                      ; por           %xmm2,%xmm1
+  DB  102,15,111,211                      ; movdqa        %xmm3,%xmm2
+  DB  102,15,113,242,4                    ; psllw         $0x4,%xmm2
+  DB  102,15,235,211                      ; por           %xmm3,%xmm2
+  DB  102,15,111,223                      ; movdqa        %xmm7,%xmm3
+  DB  102,15,113,243,4                    ; psllw         $0x4,%xmm3
+  DB  102,15,235,223                      ; por           %xmm7,%xmm3
+  DB  15,40,101,72                        ; movaps        0x48(%ebp),%xmm4
+  DB  141,81,8                            ; lea           0x8(%ecx),%edx
+  DB  15,41,100,36,64                     ; movaps        %xmm4,0x40(%esp)
+  DB  15,41,116,36,48                     ; movaps        %xmm6,0x30(%esp)
+  DB  15,41,108,36,32                     ; movaps        %xmm5,0x20(%esp)
+  DB  15,40,101,24                        ; movaps        0x18(%ebp),%xmm4
+  DB  15,41,100,36,16                     ; movaps        %xmm4,0x10(%esp)
+  DB  137,124,36,12                       ; mov           %edi,0xc(%esp)
+  DB  137,116,36,8                        ; mov           %esi,0x8(%esp)
+  DB  137,84,36,4                         ; mov           %edx,0x4(%esp)
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  255,81,4                            ; call          *0x4(%ecx)
+  DB  131,196,80                          ; add           $0x50,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_load_a8_sse2_lowp
+_sk_load_a8_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,92                          ; sub           $0x5c,%esp
+  DB  15,40,101,72                        ; movaps        0x48(%ebp),%xmm4
+  DB  15,40,85,56                         ; movaps        0x38(%ebp),%xmm2
+  DB  15,40,77,40                         ; movaps        0x28(%ebp),%xmm1
+  DB  102,15,111,69,24                    ; movdqa        0x18(%ebp),%xmm0
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,85,8                            ; mov           0x8(%ebp),%edx
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  139,89,4                            ; mov           0x4(%ecx),%ebx
+  DB  15,175,93,20                        ; imul          0x14(%ebp),%ebx
+  DB  3,25                                ; add           (%ecx),%ebx
+  DB  137,209                             ; mov           %edx,%ecx
+  DB  128,225,7                           ; and           $0x7,%cl
+  DB  254,201                             ; dec           %cl
+  DB  128,249,6                           ; cmp           $0x6,%cl
+  DB  232,0,0,0,0                         ; call          dafa <_sk_load_a8_sse2_lowp+0x3a>
+  DB  95                                  ; pop           %edi
+  DB  139,117,16                          ; mov           0x10(%ebp),%esi
+  DB  119,28                              ; ja            db1c <_sk_load_a8_sse2_lowp+0x5c>
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  15,182,201                          ; movzbl        %cl,%ecx
+  DB  139,140,143,198,0,0,0               ; mov           0xc6(%edi,%ecx,4),%ecx
+  DB  1,249                               ; add           %edi,%ecx
+  DB  255,225                             ; jmp           *%ecx
+  DB  15,182,12,51                        ; movzbl        (%ebx,%esi,1),%ecx
+  DB  102,15,110,217                      ; movd          %ecx,%xmm3
+  DB  235,90                              ; jmp           db76 <_sk_load_a8_sse2_lowp+0xb6>
+  DB  243,15,126,28,51                    ; movq          (%ebx,%esi,1),%xmm3
+  DB  102,15,96,216                       ; punpcklbw     %xmm0,%xmm3
+  DB  235,79                              ; jmp           db76 <_sk_load_a8_sse2_lowp+0xb6>
+  DB  15,182,76,51,2                      ; movzbl        0x2(%ebx,%esi,1),%ecx
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  102,15,196,217,2                    ; pinsrw        $0x2,%ecx,%xmm3
+  DB  15,183,12,51                        ; movzwl        (%ebx,%esi,1),%ecx
+  DB  102,15,110,233                      ; movd          %ecx,%xmm5
+  DB  102,15,96,232                       ; punpcklbw     %xmm0,%xmm5
+  DB  243,15,16,221                       ; movss         %xmm5,%xmm3
+  DB  235,47                              ; jmp           db76 <_sk_load_a8_sse2_lowp+0xb6>
+  DB  15,182,76,51,6                      ; movzbl        0x6(%ebx,%esi,1),%ecx
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  102,15,196,217,6                    ; pinsrw        $0x6,%ecx,%xmm3
+  DB  15,182,76,51,5                      ; movzbl        0x5(%ebx,%esi,1),%ecx
+  DB  102,15,196,217,5                    ; pinsrw        $0x5,%ecx,%xmm3
+  DB  15,182,76,51,4                      ; movzbl        0x4(%ebx,%esi,1),%ecx
+  DB  102,15,196,217,4                    ; pinsrw        $0x4,%ecx,%xmm3
+  DB  102,15,110,44,51                    ; movd          (%ebx,%esi,1),%xmm5
+  DB  102,15,96,232                       ; punpcklbw     %xmm0,%xmm5
+  DB  242,15,16,221                       ; movsd         %xmm5,%xmm3
+  DB  102,15,219,159,118,51,0,0           ; pand          0x3376(%edi),%xmm3
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  15,41,100,36,64                     ; movaps        %xmm4,0x40(%esp)
+  DB  15,41,84,36,48                      ; movaps        %xmm2,0x30(%esp)
+  DB  15,41,76,36,32                      ; movaps        %xmm1,0x20(%esp)
+  DB  102,15,127,68,36,16                 ; movdqa        %xmm0,0x10(%esp)
+  DB  139,125,20                          ; mov           0x14(%ebp),%edi
+  DB  137,124,36,12                       ; mov           %edi,0xc(%esp)
+  DB  137,116,36,8                        ; mov           %esi,0x8(%esp)
+  DB  137,76,36,4                         ; mov           %ecx,0x4(%esp)
+  DB  137,20,36                           ; mov           %edx,(%esp)
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  15,87,201                           ; xorps         %xmm1,%xmm1
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,92                          ; add           $0x5c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  15,31,0                             ; nopl          (%eax)
+  DB  24,0                                ; sbb           %al,(%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  59,0                                ; cmp           (%eax),%eax
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  45,0,0,0,111                        ; sub           $0x6f000000,%eax
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,101,0                             ; add           %ah,0x0(%ebp)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  91                                  ; pop           %ebx
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,77,0                              ; add           %cl,0x0(%ebp)
+  DB  0,0                                 ; add           %al,(%eax)
+
+PUBLIC _sk_load_a8_dst_sse2_lowp
+_sk_load_a8_dst_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,92                          ; sub           $0x5c,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,85,8                            ; mov           0x8(%ebp),%edx
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  139,89,4                            ; mov           0x4(%ecx),%ebx
+  DB  15,175,93,20                        ; imul          0x14(%ebp),%ebx
+  DB  3,25                                ; add           (%ecx),%ebx
+  DB  137,209                             ; mov           %edx,%ecx
+  DB  128,225,7                           ; and           $0x7,%cl
+  DB  254,201                             ; dec           %cl
+  DB  128,249,6                           ; cmp           $0x6,%cl
+  DB  232,0,0,0,0                         ; call          dc05 <_sk_load_a8_dst_sse2_lowp+0x29>
+  DB  95                                  ; pop           %edi
+  DB  139,117,16                          ; mov           0x10(%ebp),%esi
+  DB  119,28                              ; ja            dc27 <_sk_load_a8_dst_sse2_lowp+0x4b>
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  15,182,201                          ; movzbl        %cl,%ecx
+  DB  139,140,143,195,0,0,0               ; mov           0xc3(%edi,%ecx,4),%ecx
+  DB  1,249                               ; add           %edi,%ecx
+  DB  255,225                             ; jmp           *%ecx
+  DB  15,182,12,51                        ; movzbl        (%ebx,%esi,1),%ecx
+  DB  102,15,110,225                      ; movd          %ecx,%xmm4
+  DB  235,90                              ; jmp           dc81 <_sk_load_a8_dst_sse2_lowp+0xa5>
+  DB  243,15,126,36,51                    ; movq          (%ebx,%esi,1),%xmm4
+  DB  102,15,96,224                       ; punpcklbw     %xmm0,%xmm4
+  DB  235,79                              ; jmp           dc81 <_sk_load_a8_dst_sse2_lowp+0xa5>
+  DB  15,182,76,51,2                      ; movzbl        0x2(%ebx,%esi,1),%ecx
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  102,15,196,225,2                    ; pinsrw        $0x2,%ecx,%xmm4
+  DB  15,183,12,51                        ; movzwl        (%ebx,%esi,1),%ecx
+  DB  102,15,110,233                      ; movd          %ecx,%xmm5
+  DB  102,15,96,232                       ; punpcklbw     %xmm0,%xmm5
+  DB  243,15,16,229                       ; movss         %xmm5,%xmm4
+  DB  235,47                              ; jmp           dc81 <_sk_load_a8_dst_sse2_lowp+0xa5>
+  DB  15,182,76,51,6                      ; movzbl        0x6(%ebx,%esi,1),%ecx
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  102,15,196,225,6                    ; pinsrw        $0x6,%ecx,%xmm4
+  DB  15,182,76,51,5                      ; movzbl        0x5(%ebx,%esi,1),%ecx
+  DB  102,15,196,225,5                    ; pinsrw        $0x5,%ecx,%xmm4
+  DB  15,182,76,51,4                      ; movzbl        0x4(%ebx,%esi,1),%ecx
+  DB  102,15,196,225,4                    ; pinsrw        $0x4,%ecx,%xmm4
+  DB  102,15,110,44,51                    ; movd          (%ebx,%esi,1),%xmm5
+  DB  102,15,96,232                       ; punpcklbw     %xmm0,%xmm5
+  DB  242,15,16,229                       ; movsd         %xmm5,%xmm4
+  DB  102,15,219,167,107,50,0,0           ; pand          0x326b(%edi),%xmm4
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  102,15,127,100,36,64                ; movdqa        %xmm4,0x40(%esp)
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  102,15,127,100,36,48                ; movdqa        %xmm4,0x30(%esp)
+  DB  102,15,127,100,36,32                ; movdqa        %xmm4,0x20(%esp)
+  DB  102,15,127,100,36,16                ; movdqa        %xmm4,0x10(%esp)
+  DB  139,125,20                          ; mov           0x14(%ebp),%edi
+  DB  137,124,36,12                       ; mov           %edi,0xc(%esp)
+  DB  137,116,36,8                        ; mov           %esi,0x8(%esp)
+  DB  137,76,36,4                         ; mov           %ecx,0x4(%esp)
+  DB  137,20,36                           ; mov           %edx,(%esp)
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,92                          ; add           $0x5c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  15,31,0                             ; nopl          (%eax)
+  DB  24,0                                ; sbb           %al,(%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  59,0                                ; cmp           (%eax),%eax
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  45,0,0,0,111                        ; sub           $0x6f000000,%eax
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,101,0                             ; add           %ah,0x0(%ebp)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  91                                  ; pop           %ebx
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,77,0                              ; add           %cl,0x0(%ebp)
+  DB  0,0                                 ; add           %al,(%eax)
+
+PUBLIC _sk_store_a8_sse2_lowp
+_sk_store_a8_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,92                          ; sub           $0x5c,%esp
+  DB  15,40,125,72                        ; movaps        0x48(%ebp),%xmm7
+  DB  15,40,117,56                        ; movaps        0x38(%ebp),%xmm6
+  DB  15,40,109,40                        ; movaps        0x28(%ebp),%xmm5
+  DB  15,40,101,24                        ; movaps        0x18(%ebp),%xmm4
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,85,8                            ; mov           0x8(%ebp),%edx
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  139,121,4                           ; mov           0x4(%ecx),%edi
+  DB  15,175,125,20                       ; imul          0x14(%ebp),%edi
+  DB  3,57                                ; add           (%ecx),%edi
+  DB  137,209                             ; mov           %edx,%ecx
+  DB  128,225,7                           ; and           $0x7,%cl
+  DB  254,201                             ; dec           %cl
+  DB  128,249,6                           ; cmp           $0x6,%cl
+  DB  232,0,0,0,0                         ; call          dd1d <_sk_store_a8_sse2_lowp+0x39>
+  DB  91                                  ; pop           %ebx
+  DB  139,117,16                          ; mov           0x10(%ebp),%esi
+  DB  119,26                              ; ja            dd3d <_sk_store_a8_sse2_lowp+0x59>
+  DB  15,182,201                          ; movzbl        %cl,%ecx
+  DB  139,140,139,223,0,0,0               ; mov           0xdf(%ebx,%ecx,4),%ecx
+  DB  1,217                               ; add           %ebx,%ecx
+  DB  255,225                             ; jmp           *%ecx
+  DB  102,15,126,217                      ; movd          %xmm3,%ecx
+  DB  136,12,55                           ; mov           %cl,(%edi,%esi,1)
+  DB  233,136,0,0,0                       ; jmp           ddc5 <_sk_store_a8_sse2_lowp+0xe1>
+  DB  102,15,111,163,83,49,0,0            ; movdqa        0x3153(%ebx),%xmm4
+  DB  102,15,219,227                      ; pand          %xmm3,%xmm4
+  DB  102,15,103,228                      ; packuswb      %xmm4,%xmm4
+  DB  102,15,214,36,55                    ; movq          %xmm4,(%edi,%esi,1)
+  DB  15,40,101,24                        ; movaps        0x18(%ebp),%xmm4
+  DB  235,109                             ; jmp           ddc5 <_sk_store_a8_sse2_lowp+0xe1>
+  DB  102,15,197,203,2                    ; pextrw        $0x2,%xmm3,%ecx
+  DB  136,76,55,2                         ; mov           %cl,0x2(%edi,%esi,1)
+  DB  102,15,111,163,83,49,0,0            ; movdqa        0x3153(%ebx),%xmm4
+  DB  102,15,219,227                      ; pand          %xmm3,%xmm4
+  DB  102,15,103,228                      ; packuswb      %xmm4,%xmm4
+  DB  102,15,126,225                      ; movd          %xmm4,%ecx
+  DB  15,40,101,24                        ; movaps        0x18(%ebp),%xmm4
+  DB  102,137,12,55                       ; mov           %cx,(%edi,%esi,1)
+  DB  235,70                              ; jmp           ddc5 <_sk_store_a8_sse2_lowp+0xe1>
+  DB  102,15,197,203,6                    ; pextrw        $0x6,%xmm3,%ecx
+  DB  136,76,55,6                         ; mov           %cl,0x6(%edi,%esi,1)
+  DB  102,15,197,203,5                    ; pextrw        $0x5,%xmm3,%ecx
+  DB  136,76,55,5                         ; mov           %cl,0x5(%edi,%esi,1)
+  DB  102,15,197,203,4                    ; pextrw        $0x4,%xmm3,%ecx
+  DB  136,76,55,4                         ; mov           %cl,0x4(%edi,%esi,1)
+  DB  15,40,254                           ; movaps        %xmm6,%xmm7
+  DB  15,40,245                           ; movaps        %xmm5,%xmm6
+  DB  15,40,236                           ; movaps        %xmm4,%xmm5
+  DB  102,15,111,163,83,49,0,0            ; movdqa        0x3153(%ebx),%xmm4
+  DB  102,15,219,227                      ; pand          %xmm3,%xmm4
+  DB  102,15,103,228                      ; packuswb      %xmm4,%xmm4
+  DB  102,15,126,36,55                    ; movd          %xmm4,(%edi,%esi,1)
+  DB  15,40,229                           ; movaps        %xmm5,%xmm4
+  DB  15,40,238                           ; movaps        %xmm6,%xmm5
+  DB  15,40,247                           ; movaps        %xmm7,%xmm6
+  DB  15,40,125,72                        ; movaps        0x48(%ebp),%xmm7
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  15,41,124,36,64                     ; movaps        %xmm7,0x40(%esp)
+  DB  15,41,116,36,48                     ; movaps        %xmm6,0x30(%esp)
+  DB  15,41,108,36,32                     ; movaps        %xmm5,0x20(%esp)
+  DB  15,41,100,36,16                     ; movaps        %xmm4,0x10(%esp)
+  DB  139,125,20                          ; mov           0x14(%ebp),%edi
+  DB  137,124,36,12                       ; mov           %edi,0xc(%esp)
+  DB  137,116,36,8                        ; mov           %esi,0x8(%esp)
+  DB  137,76,36,4                         ; mov           %ecx,0x4(%esp)
+  DB  137,20,36                           ; mov           %edx,(%esp)
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,92                          ; add           $0x5c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  15,31,0                             ; nopl          (%eax)
+  DB  20,0                                ; adc           $0x0,%al
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  68                                  ; inc           %esp
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,59                                ; add           %bh,(%ebx)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,125,0                             ; add           %bh,0x0(%ebp)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  116,0                               ; je            de0e <_sk_store_a8_sse2_lowp+0x12a>
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  107,0,0                             ; imul          $0x0,(%eax),%eax
+  DB  0,98,0                              ; add           %ah,0x0(%edx)
+  DB  0,0                                 ; add           %al,(%eax)
+
+PUBLIC _sk_gather_a8_sse2_lowp
+_sk_gather_a8_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,80                          ; sub           $0x50,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  243,15,16,105,8                     ; movss         0x8(%ecx),%xmm5
+  DB  15,198,237,0                        ; shufps        $0x0,%xmm5,%xmm5
+  DB  102,15,118,246                      ; pcmpeqd       %xmm6,%xmm6
+  DB  102,15,254,238                      ; paddd         %xmm6,%xmm5
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,95,196                           ; maxps         %xmm4,%xmm0
+  DB  15,95,204                           ; maxps         %xmm4,%xmm1
+  DB  15,93,205                           ; minps         %xmm5,%xmm1
+  DB  15,93,197                           ; minps         %xmm5,%xmm0
+  DB  243,15,16,105,12                    ; movss         0xc(%ecx),%xmm5
+  DB  15,198,237,0                        ; shufps        $0x0,%xmm5,%xmm5
+  DB  102,15,254,238                      ; paddd         %xmm6,%xmm5
+  DB  15,95,220                           ; maxps         %xmm4,%xmm3
+  DB  15,95,212                           ; maxps         %xmm4,%xmm2
+  DB  15,93,213                           ; minps         %xmm5,%xmm2
+  DB  15,93,221                           ; minps         %xmm5,%xmm3
+  DB  243,15,91,234                       ; cvttps2dq     %xmm2,%xmm5
+  DB  102,15,110,81,4                     ; movd          0x4(%ecx),%xmm2
+  DB  102,15,112,210,0                    ; pshufd        $0x0,%xmm2,%xmm2
+  DB  102,15,111,242                      ; movdqa        %xmm2,%xmm6
+  DB  102,15,244,245                      ; pmuludq       %xmm5,%xmm6
+  DB  102,15,112,237,245                  ; pshufd        $0xf5,%xmm5,%xmm5
+  DB  102,15,244,234                      ; pmuludq       %xmm2,%xmm5
+  DB  102,15,112,246,232                  ; pshufd        $0xe8,%xmm6,%xmm6
+  DB  102,15,112,237,232                  ; pshufd        $0xe8,%xmm5,%xmm5
+  DB  102,15,98,245                       ; punpckldq     %xmm5,%xmm6
+  DB  243,15,91,192                       ; cvttps2dq     %xmm0,%xmm0
+  DB  102,15,254,198                      ; paddd         %xmm6,%xmm0
+  DB  102,15,112,232,78                   ; pshufd        $0x4e,%xmm0,%xmm5
+  DB  102,15,126,234                      ; movd          %xmm5,%edx
+  DB  102,15,112,232,231                  ; pshufd        $0xe7,%xmm0,%xmm5
+  DB  102,15,126,238                      ; movd          %xmm5,%esi
+  DB  139,9                               ; mov           (%ecx),%ecx
+  DB  243,15,91,219                       ; cvttps2dq     %xmm3,%xmm3
+  DB  102,15,126,199                      ; movd          %xmm0,%edi
+  DB  102,15,112,192,229                  ; pshufd        $0xe5,%xmm0,%xmm0
+  DB  15,182,20,17                        ; movzbl        (%ecx,%edx,1),%edx
+  DB  15,182,52,49                        ; movzbl        (%ecx,%esi,1),%esi
+  DB  193,230,8                           ; shl           $0x8,%esi
+  DB  9,214                               ; or            %edx,%esi
+  DB  102,15,126,194                      ; movd          %xmm0,%edx
+  DB  102,15,112,195,245                  ; pshufd        $0xf5,%xmm3,%xmm0
+  DB  102,15,244,194                      ; pmuludq       %xmm2,%xmm0
+  DB  15,182,60,57                        ; movzbl        (%ecx,%edi,1),%edi
+  DB  15,182,20,17                        ; movzbl        (%ecx,%edx,1),%edx
+  DB  193,226,8                           ; shl           $0x8,%edx
+  DB  9,250                               ; or            %edi,%edx
+  DB  139,125,8                           ; mov           0x8(%ebp),%edi
+  DB  102,15,244,211                      ; pmuludq       %xmm3,%xmm2
+  DB  102,15,112,210,232                  ; pshufd        $0xe8,%xmm2,%xmm2
+  DB  102,15,112,192,232                  ; pshufd        $0xe8,%xmm0,%xmm0
+  DB  102,15,98,208                       ; punpckldq     %xmm0,%xmm2
+  DB  243,15,91,193                       ; cvttps2dq     %xmm1,%xmm0
+  DB  102,15,254,194                      ; paddd         %xmm2,%xmm0
+  DB  102,15,110,218                      ; movd          %edx,%xmm3
+  DB  102,15,126,194                      ; movd          %xmm0,%edx
+  DB  102,15,112,200,229                  ; pshufd        $0xe5,%xmm0,%xmm1
+  DB  102,15,196,222,1                    ; pinsrw        $0x1,%esi,%xmm3
+  DB  102,15,126,206                      ; movd          %xmm1,%esi
+  DB  102,15,112,200,78                   ; pshufd        $0x4e,%xmm0,%xmm1
+  DB  15,182,20,17                        ; movzbl        (%ecx,%edx,1),%edx
+  DB  15,182,52,49                        ; movzbl        (%ecx,%esi,1),%esi
+  DB  193,230,8                           ; shl           $0x8,%esi
+  DB  9,214                               ; or            %edx,%esi
+  DB  102,15,126,202                      ; movd          %xmm1,%edx
+  DB  102,15,112,192,231                  ; pshufd        $0xe7,%xmm0,%xmm0
+  DB  102,15,196,222,2                    ; pinsrw        $0x2,%esi,%xmm3
+  DB  102,15,126,198                      ; movd          %xmm0,%esi
+  DB  15,182,20,17                        ; movzbl        (%ecx,%edx,1),%edx
+  DB  15,182,12,49                        ; movzbl        (%ecx,%esi,1),%ecx
+  DB  139,117,16                          ; mov           0x10(%ebp),%esi
+  DB  193,225,8                           ; shl           $0x8,%ecx
+  DB  9,209                               ; or            %edx,%ecx
+  DB  139,85,20                           ; mov           0x14(%ebp),%edx
+  DB  15,40,69,24                         ; movaps        0x18(%ebp),%xmm0
+  DB  15,40,77,40                         ; movaps        0x28(%ebp),%xmm1
+  DB  15,40,85,56                         ; movaps        0x38(%ebp),%xmm2
+  DB  102,15,196,217,3                    ; pinsrw        $0x3,%ecx,%xmm3
+  DB  102,15,96,220                       ; punpcklbw     %xmm4,%xmm3
+  DB  15,40,101,72                        ; movaps        0x48(%ebp),%xmm4
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  15,41,100,36,64                     ; movaps        %xmm4,0x40(%esp)
+  DB  15,41,84,36,48                      ; movaps        %xmm2,0x30(%esp)
+  DB  15,41,76,36,32                      ; movaps        %xmm1,0x20(%esp)
+  DB  15,41,68,36,16                      ; movaps        %xmm0,0x10(%esp)
+  DB  137,84,36,12                        ; mov           %edx,0xc(%esp)
+  DB  137,116,36,8                        ; mov           %esi,0x8(%esp)
+  DB  137,76,36,4                         ; mov           %ecx,0x4(%esp)
+  DB  137,60,36                           ; mov           %edi,(%esp)
+  DB  15,87,192                           ; xorps         %xmm0,%xmm0
+  DB  15,87,201                           ; xorps         %xmm1,%xmm1
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,80                          ; add           $0x50,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_load_g8_sse2_lowp
+_sk_load_g8_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,92                          ; sub           $0x5c,%esp
+  DB  15,40,101,72                        ; movaps        0x48(%ebp),%xmm4
+  DB  15,40,93,56                         ; movaps        0x38(%ebp),%xmm3
+  DB  15,40,85,40                         ; movaps        0x28(%ebp),%xmm2
+  DB  15,40,77,24                         ; movaps        0x18(%ebp),%xmm1
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,85,8                            ; mov           0x8(%ebp),%edx
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  139,89,4                            ; mov           0x4(%ecx),%ebx
+  DB  15,175,93,20                        ; imul          0x14(%ebp),%ebx
+  DB  3,25                                ; add           (%ecx),%ebx
+  DB  137,209                             ; mov           %edx,%ecx
+  DB  128,225,7                           ; and           $0x7,%cl
+  DB  254,201                             ; dec           %cl
+  DB  128,249,6                           ; cmp           $0x6,%cl
+  DB  232,0,0,0,0                         ; call          dfd0 <_sk_load_g8_sse2_lowp+0x39>
+  DB  94                                  ; pop           %esi
+  DB  139,125,16                          ; mov           0x10(%ebp),%edi
+  DB  119,28                              ; ja            dff2 <_sk_load_g8_sse2_lowp+0x5b>
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  15,182,201                          ; movzbl        %cl,%ecx
+  DB  139,140,142,200,0,0,0               ; mov           0xc8(%esi,%ecx,4),%ecx
+  DB  1,241                               ; add           %esi,%ecx
+  DB  255,225                             ; jmp           *%ecx
+  DB  15,182,12,59                        ; movzbl        (%ebx,%edi,1),%ecx
+  DB  102,15,110,193                      ; movd          %ecx,%xmm0
+  DB  235,90                              ; jmp           e04c <_sk_load_g8_sse2_lowp+0xb5>
+  DB  243,15,126,4,59                     ; movq          (%ebx,%edi,1),%xmm0
+  DB  102,15,96,192                       ; punpcklbw     %xmm0,%xmm0
+  DB  235,79                              ; jmp           e04c <_sk_load_g8_sse2_lowp+0xb5>
+  DB  15,182,76,59,2                      ; movzbl        0x2(%ebx,%edi,1),%ecx
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  102,15,196,193,2                    ; pinsrw        $0x2,%ecx,%xmm0
+  DB  15,183,12,59                        ; movzwl        (%ebx,%edi,1),%ecx
+  DB  102,15,110,233                      ; movd          %ecx,%xmm5
+  DB  102,15,96,232                       ; punpcklbw     %xmm0,%xmm5
+  DB  243,15,16,197                       ; movss         %xmm5,%xmm0
+  DB  235,47                              ; jmp           e04c <_sk_load_g8_sse2_lowp+0xb5>
+  DB  15,182,76,59,6                      ; movzbl        0x6(%ebx,%edi,1),%ecx
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  102,15,196,193,6                    ; pinsrw        $0x6,%ecx,%xmm0
+  DB  15,182,76,59,5                      ; movzbl        0x5(%ebx,%edi,1),%ecx
+  DB  102,15,196,193,5                    ; pinsrw        $0x5,%ecx,%xmm0
+  DB  15,182,76,59,4                      ; movzbl        0x4(%ebx,%edi,1),%ecx
+  DB  102,15,196,193,4                    ; pinsrw        $0x4,%ecx,%xmm0
+  DB  102,15,110,44,59                    ; movd          (%ebx,%edi,1),%xmm5
+  DB  102,15,96,232                       ; punpcklbw     %xmm0,%xmm5
+  DB  242,15,16,197                       ; movsd         %xmm5,%xmm0
+  DB  102,15,219,134,160,46,0,0           ; pand          0x2ea0(%esi),%xmm0
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  15,41,100,36,64                     ; movaps        %xmm4,0x40(%esp)
+  DB  15,41,92,36,48                      ; movaps        %xmm3,0x30(%esp)
+  DB  15,41,84,36,32                      ; movaps        %xmm2,0x20(%esp)
+  DB  15,41,76,36,16                      ; movaps        %xmm1,0x10(%esp)
+  DB  139,93,20                           ; mov           0x14(%ebp),%ebx
+  DB  137,92,36,12                        ; mov           %ebx,0xc(%esp)
+  DB  137,124,36,8                        ; mov           %edi,0x8(%esp)
+  DB  137,76,36,4                         ; mov           %ecx,0x4(%esp)
+  DB  137,20,36                           ; mov           %edx,(%esp)
+  DB  15,40,158,160,46,0,0                ; movaps        0x2ea0(%esi),%xmm3
+  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
+  DB  102,15,111,208                      ; movdqa        %xmm0,%xmm2
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,92                          ; add           $0x5c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  144                                 ; nop
+  DB  24,0                                ; sbb           %al,(%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  59,0                                ; cmp           (%eax),%eax
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  45,0,0,0,111                        ; sub           $0x6f000000,%eax
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,101,0                             ; add           %ah,0x0(%ebp)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  91                                  ; pop           %ebx
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,77,0                              ; add           %cl,0x0(%ebp)
+  DB  0,0                                 ; add           %al,(%eax)
+
+PUBLIC _sk_load_g8_dst_sse2_lowp
+_sk_load_g8_dst_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,92                          ; sub           $0x5c,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,85,8                            ; mov           0x8(%ebp),%edx
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  139,89,4                            ; mov           0x4(%ecx),%ebx
+  DB  15,175,93,20                        ; imul          0x14(%ebp),%ebx
+  DB  3,25                                ; add           (%ecx),%ebx
+  DB  137,209                             ; mov           %edx,%ecx
+  DB  128,225,7                           ; and           $0x7,%cl
+  DB  254,201                             ; dec           %cl
+  DB  128,249,6                           ; cmp           $0x6,%cl
+  DB  232,0,0,0,0                         ; call          e0dd <_sk_load_g8_dst_sse2_lowp+0x29>
+  DB  95                                  ; pop           %edi
+  DB  139,117,16                          ; mov           0x10(%ebp),%esi
+  DB  119,28                              ; ja            e0ff <_sk_load_g8_dst_sse2_lowp+0x4b>
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  15,182,201                          ; movzbl        %cl,%ecx
+  DB  139,140,143,195,0,0,0               ; mov           0xc3(%edi,%ecx,4),%ecx
+  DB  1,249                               ; add           %edi,%ecx
+  DB  255,225                             ; jmp           *%ecx
+  DB  15,182,12,51                        ; movzbl        (%ebx,%esi,1),%ecx
+  DB  102,15,110,225                      ; movd          %ecx,%xmm4
+  DB  235,90                              ; jmp           e159 <_sk_load_g8_dst_sse2_lowp+0xa5>
+  DB  243,15,126,36,51                    ; movq          (%ebx,%esi,1),%xmm4
+  DB  102,15,96,224                       ; punpcklbw     %xmm0,%xmm4
+  DB  235,79                              ; jmp           e159 <_sk_load_g8_dst_sse2_lowp+0xa5>
+  DB  15,182,76,51,2                      ; movzbl        0x2(%ebx,%esi,1),%ecx
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  102,15,196,225,2                    ; pinsrw        $0x2,%ecx,%xmm4
+  DB  15,183,12,51                        ; movzwl        (%ebx,%esi,1),%ecx
+  DB  102,15,110,233                      ; movd          %ecx,%xmm5
+  DB  102,15,96,232                       ; punpcklbw     %xmm0,%xmm5
+  DB  243,15,16,229                       ; movss         %xmm5,%xmm4
+  DB  235,47                              ; jmp           e159 <_sk_load_g8_dst_sse2_lowp+0xa5>
+  DB  15,182,76,51,6                      ; movzbl        0x6(%ebx,%esi,1),%ecx
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  102,15,196,225,6                    ; pinsrw        $0x6,%ecx,%xmm4
+  DB  15,182,76,51,5                      ; movzbl        0x5(%ebx,%esi,1),%ecx
+  DB  102,15,196,225,5                    ; pinsrw        $0x5,%ecx,%xmm4
+  DB  15,182,76,51,4                      ; movzbl        0x4(%ebx,%esi,1),%ecx
+  DB  102,15,196,225,4                    ; pinsrw        $0x4,%ecx,%xmm4
+  DB  102,15,110,44,51                    ; movd          (%ebx,%esi,1),%xmm5
+  DB  102,15,96,232                       ; punpcklbw     %xmm0,%xmm5
+  DB  242,15,16,229                       ; movsd         %xmm5,%xmm4
+  DB  102,15,219,167,147,45,0,0           ; pand          0x2d93(%edi),%xmm4
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  15,40,175,147,45,0,0                ; movaps        0x2d93(%edi),%xmm5
+  DB  15,41,108,36,64                     ; movaps        %xmm5,0x40(%esp)
+  DB  102,15,127,100,36,48                ; movdqa        %xmm4,0x30(%esp)
+  DB  102,15,127,100,36,32                ; movdqa        %xmm4,0x20(%esp)
+  DB  102,15,127,100,36,16                ; movdqa        %xmm4,0x10(%esp)
+  DB  139,125,20                          ; mov           0x14(%ebp),%edi
+  DB  137,124,36,12                       ; mov           %edi,0xc(%esp)
+  DB  137,116,36,8                        ; mov           %esi,0x8(%esp)
+  DB  137,76,36,4                         ; mov           %ecx,0x4(%esp)
+  DB  137,20,36                           ; mov           %edx,(%esp)
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,92                          ; add           $0x5c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  144                                 ; nop
+  DB  24,0                                ; sbb           %al,(%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  59,0                                ; cmp           (%eax),%eax
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  45,0,0,0,111                        ; sub           $0x6f000000,%eax
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,101,0                             ; add           %ah,0x0(%ebp)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  91                                  ; pop           %ebx
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,77,0                              ; add           %cl,0x0(%ebp)
+  DB  0,0                                 ; add           %al,(%eax)
+
+PUBLIC _sk_luminance_to_alpha_sse2_lowp
+_sk_luminance_to_alpha_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,80                          ; sub           $0x50,%esp
+  DB  102,15,111,218                      ; movdqa        %xmm2,%xmm3
+  DB  232,0,0,0,0                         ; call          e1cd <_sk_luminance_to_alpha_sse2_lowp+0x11>
+  DB  88                                  ; pop           %eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,85,16                           ; mov           0x10(%ebp),%edx
+  DB  139,117,20                          ; mov           0x14(%ebp),%esi
+  DB  15,40,85,24                         ; movaps        0x18(%ebp),%xmm2
+  DB  15,40,101,40                        ; movaps        0x28(%ebp),%xmm4
+  DB  15,40,109,56                        ; movaps        0x38(%ebp),%xmm5
+  DB  15,40,117,72                        ; movaps        0x48(%ebp),%xmm6
+  DB  139,125,12                          ; mov           0xc(%ebp),%edi
+  DB  102,15,213,128,115,45,0,0           ; pmullw        0x2d73(%eax),%xmm0
+  DB  102,15,213,136,131,45,0,0           ; pmullw        0x2d83(%eax),%xmm1
+  DB  102,15,253,200                      ; paddw         %xmm0,%xmm1
+  DB  102,15,213,152,147,45,0,0           ; pmullw        0x2d93(%eax),%xmm3
+  DB  102,15,253,217                      ; paddw         %xmm1,%xmm3
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  141,71,4                            ; lea           0x4(%edi),%eax
+  DB  15,41,116,36,64                     ; movaps        %xmm6,0x40(%esp)
+  DB  15,41,108,36,48                     ; movaps        %xmm5,0x30(%esp)
+  DB  15,41,100,36,32                     ; movaps        %xmm4,0x20(%esp)
+  DB  15,41,84,36,16                      ; movaps        %xmm2,0x10(%esp)
+  DB  137,116,36,12                       ; mov           %esi,0xc(%esp)
+  DB  137,84,36,8                         ; mov           %edx,0x8(%esp)
+  DB  137,68,36,4                         ; mov           %eax,0x4(%esp)
+  DB  137,12,36                           ; mov           %ecx,(%esp)
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  102,15,239,201                      ; pxor          %xmm1,%xmm1
+  DB  15,87,210                           ; xorps         %xmm2,%xmm2
+  DB  255,23                              ; call          *(%edi)
+  DB  131,196,80                          ; add           $0x50,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_gather_g8_sse2_lowp
+_sk_gather_g8_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,92                          ; sub           $0x5c,%esp
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  243,15,16,105,8                     ; movss         0x8(%ecx),%xmm5
+  DB  15,198,237,0                        ; shufps        $0x0,%xmm5,%xmm5
+  DB  102,15,118,246                      ; pcmpeqd       %xmm6,%xmm6
+  DB  102,15,254,238                      ; paddd         %xmm6,%xmm5
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,95,196                           ; maxps         %xmm4,%xmm0
+  DB  15,95,204                           ; maxps         %xmm4,%xmm1
+  DB  15,93,205                           ; minps         %xmm5,%xmm1
+  DB  15,93,197                           ; minps         %xmm5,%xmm0
+  DB  243,15,16,105,12                    ; movss         0xc(%ecx),%xmm5
+  DB  15,198,237,0                        ; shufps        $0x0,%xmm5,%xmm5
+  DB  102,15,254,238                      ; paddd         %xmm6,%xmm5
+  DB  15,95,220                           ; maxps         %xmm4,%xmm3
+  DB  15,95,212                           ; maxps         %xmm4,%xmm2
+  DB  15,93,213                           ; minps         %xmm5,%xmm2
+  DB  15,93,221                           ; minps         %xmm5,%xmm3
+  DB  243,15,91,234                       ; cvttps2dq     %xmm2,%xmm5
+  DB  102,15,110,81,4                     ; movd          0x4(%ecx),%xmm2
+  DB  102,15,112,210,0                    ; pshufd        $0x0,%xmm2,%xmm2
+  DB  102,15,111,242                      ; movdqa        %xmm2,%xmm6
+  DB  102,15,244,245                      ; pmuludq       %xmm5,%xmm6
+  DB  102,15,112,237,245                  ; pshufd        $0xf5,%xmm5,%xmm5
+  DB  102,15,244,234                      ; pmuludq       %xmm2,%xmm5
+  DB  102,15,112,246,232                  ; pshufd        $0xe8,%xmm6,%xmm6
+  DB  102,15,112,237,232                  ; pshufd        $0xe8,%xmm5,%xmm5
+  DB  102,15,98,245                       ; punpckldq     %xmm5,%xmm6
+  DB  243,15,91,192                       ; cvttps2dq     %xmm0,%xmm0
+  DB  102,15,254,198                      ; paddd         %xmm6,%xmm0
+  DB  102,15,112,232,78                   ; pshufd        $0x4e,%xmm0,%xmm5
+  DB  102,15,126,234                      ; movd          %xmm5,%edx
+  DB  102,15,112,232,231                  ; pshufd        $0xe7,%xmm0,%xmm5
+  DB  102,15,126,238                      ; movd          %xmm5,%esi
+  DB  139,57                              ; mov           (%ecx),%edi
+  DB  243,15,91,219                       ; cvttps2dq     %xmm3,%xmm3
+  DB  102,15,126,193                      ; movd          %xmm0,%ecx
+  DB  102,15,112,192,229                  ; pshufd        $0xe5,%xmm0,%xmm0
+  DB  15,182,20,23                        ; movzbl        (%edi,%edx,1),%edx
+  DB  15,182,52,55                        ; movzbl        (%edi,%esi,1),%esi
+  DB  193,230,8                           ; shl           $0x8,%esi
+  DB  9,214                               ; or            %edx,%esi
+  DB  102,15,126,194                      ; movd          %xmm0,%edx
+  DB  102,15,112,195,245                  ; pshufd        $0xf5,%xmm3,%xmm0
+  DB  102,15,244,194                      ; pmuludq       %xmm2,%xmm0
+  DB  15,182,12,15                        ; movzbl        (%edi,%ecx,1),%ecx
+  DB  15,182,20,23                        ; movzbl        (%edi,%edx,1),%edx
+  DB  193,226,8                           ; shl           $0x8,%edx
+  DB  9,202                               ; or            %ecx,%edx
+  DB  232,0,0,0,0                         ; call          e312 <_sk_gather_g8_sse2_lowp+0xc9>
+  DB  89                                  ; pop           %ecx
+  DB  102,15,244,211                      ; pmuludq       %xmm3,%xmm2
+  DB  102,15,112,210,232                  ; pshufd        $0xe8,%xmm2,%xmm2
+  DB  102,15,112,192,232                  ; pshufd        $0xe8,%xmm0,%xmm0
+  DB  102,15,98,208                       ; punpckldq     %xmm0,%xmm2
+  DB  243,15,91,201                       ; cvttps2dq     %xmm1,%xmm1
+  DB  102,15,254,202                      ; paddd         %xmm2,%xmm1
+  DB  102,15,110,194                      ; movd          %edx,%xmm0
+  DB  102,15,126,202                      ; movd          %xmm1,%edx
+  DB  102,15,112,209,229                  ; pshufd        $0xe5,%xmm1,%xmm2
+  DB  102,15,196,198,1                    ; pinsrw        $0x1,%esi,%xmm0
+  DB  102,15,126,214                      ; movd          %xmm2,%esi
+  DB  102,15,112,209,78                   ; pshufd        $0x4e,%xmm1,%xmm2
+  DB  15,182,20,23                        ; movzbl        (%edi,%edx,1),%edx
+  DB  15,182,52,55                        ; movzbl        (%edi,%esi,1),%esi
+  DB  193,230,8                           ; shl           $0x8,%esi
+  DB  9,214                               ; or            %edx,%esi
+  DB  102,15,126,210                      ; movd          %xmm2,%edx
+  DB  102,15,112,201,231                  ; pshufd        $0xe7,%xmm1,%xmm1
+  DB  102,15,196,198,2                    ; pinsrw        $0x2,%esi,%xmm0
+  DB  102,15,126,206                      ; movd          %xmm1,%esi
+  DB  15,182,20,23                        ; movzbl        (%edi,%edx,1),%edx
+  DB  15,182,52,55                        ; movzbl        (%edi,%esi,1),%esi
+  DB  139,125,8                           ; mov           0x8(%ebp),%edi
+  DB  193,230,8                           ; shl           $0x8,%esi
+  DB  9,214                               ; or            %edx,%esi
+  DB  139,85,16                           ; mov           0x10(%ebp),%edx
+  DB  102,15,196,198,3                    ; pinsrw        $0x3,%esi,%xmm0
+  DB  139,117,20                          ; mov           0x14(%ebp),%esi
+  DB  15,40,77,24                         ; movaps        0x18(%ebp),%xmm1
+  DB  15,40,85,40                         ; movaps        0x28(%ebp),%xmm2
+  DB  15,40,93,56                         ; movaps        0x38(%ebp),%xmm3
+  DB  102,15,96,196                       ; punpcklbw     %xmm4,%xmm0
+  DB  15,40,101,72                        ; movaps        0x48(%ebp),%xmm4
+  DB  141,88,8                            ; lea           0x8(%eax),%ebx
+  DB  15,41,100,36,64                     ; movaps        %xmm4,0x40(%esp)
+  DB  15,41,92,36,48                      ; movaps        %xmm3,0x30(%esp)
+  DB  15,41,84,36,32                      ; movaps        %xmm2,0x20(%esp)
+  DB  15,41,76,36,16                      ; movaps        %xmm1,0x10(%esp)
+  DB  137,116,36,12                       ; mov           %esi,0xc(%esp)
+  DB  137,84,36,8                         ; mov           %edx,0x8(%esp)
+  DB  137,92,36,4                         ; mov           %ebx,0x4(%esp)
+  DB  137,60,36                           ; mov           %edi,(%esp)
+  DB  15,40,153,94,43,0,0                 ; movaps        0x2b5e(%ecx),%xmm3
+  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
+  DB  102,15,111,208                      ; movdqa        %xmm0,%xmm2
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,92                          ; add           $0x5c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_scale_1_float_sse2_lowp
+_sk_scale_1_float_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,80                          ; sub           $0x50,%esp
+  DB  232,0,0,0,0                         ; call          e3e3 <_sk_scale_1_float_sse2_lowp+0xd>
+  DB  94                                  ; pop           %esi
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,85,16                           ; mov           0x10(%ebp),%edx
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  139,57                              ; mov           (%ecx),%edi
+  DB  243,15,16,39                        ; movss         (%edi),%xmm4
+  DB  243,15,89,166,153,43,0,0            ; mulss         0x2b99(%esi),%xmm4
+  DB  243,15,88,166,141,43,0,0            ; addss         0x2b8d(%esi),%xmm4
+  DB  243,15,44,252                       ; cvttss2si     %xmm4,%edi
+  DB  102,15,110,239                      ; movd          %edi,%xmm5
+  DB  139,125,20                          ; mov           0x14(%ebp),%edi
+  DB  15,40,101,24                        ; movaps        0x18(%ebp),%xmm4
+  DB  15,40,117,40                        ; movaps        0x28(%ebp),%xmm6
+  DB  15,40,125,56                        ; movaps        0x38(%ebp),%xmm7
+  DB  242,15,112,237,0                    ; pshuflw       $0x0,%xmm5,%xmm5
+  DB  102,15,112,237,80                   ; pshufd        $0x50,%xmm5,%xmm5
+  DB  102,15,213,197                      ; pmullw        %xmm5,%xmm0
+  DB  102,15,213,205                      ; pmullw        %xmm5,%xmm1
+  DB  102,15,213,213                      ; pmullw        %xmm5,%xmm2
+  DB  102,15,213,221                      ; pmullw        %xmm5,%xmm3
+  DB  102,15,111,174,141,42,0,0           ; movdqa        0x2a8d(%esi),%xmm5
+  DB  102,15,253,197                      ; paddw         %xmm5,%xmm0
+  DB  102,15,253,205                      ; paddw         %xmm5,%xmm1
+  DB  102,15,253,213                      ; paddw         %xmm5,%xmm2
+  DB  102,15,253,221                      ; paddw         %xmm5,%xmm3
+  DB  15,40,109,72                        ; movaps        0x48(%ebp),%xmm5
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  141,113,8                           ; lea           0x8(%ecx),%esi
+  DB  15,41,108,36,64                     ; movaps        %xmm5,0x40(%esp)
+  DB  15,41,124,36,48                     ; movaps        %xmm7,0x30(%esp)
+  DB  15,41,116,36,32                     ; movaps        %xmm6,0x20(%esp)
+  DB  15,41,100,36,16                     ; movaps        %xmm4,0x10(%esp)
+  DB  137,124,36,12                       ; mov           %edi,0xc(%esp)
+  DB  137,84,36,8                         ; mov           %edx,0x8(%esp)
+  DB  137,116,36,4                        ; mov           %esi,0x4(%esp)
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  255,81,4                            ; call          *0x4(%ecx)
+  DB  131,196,80                          ; add           $0x50,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_lerp_1_float_sse2_lowp
+_sk_lerp_1_float_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,80                          ; sub           $0x50,%esp
+  DB  102,15,111,227                      ; movdqa        %xmm3,%xmm4
+  DB  102,15,111,218                      ; movdqa        %xmm2,%xmm3
+  DB  102,15,111,209                      ; movdqa        %xmm1,%xmm2
+  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
+  DB  232,0,0,0,0                         ; call          e4b1 <_sk_lerp_1_float_sse2_lowp+0x1d>
+  DB  89                                  ; pop           %ecx
+  DB  102,15,111,109,24                   ; movdqa        0x18(%ebp),%xmm5
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,16                              ; mov           (%eax),%edx
+  DB  243,15,16,50                        ; movss         (%edx),%xmm6
+  DB  243,15,89,177,203,42,0,0            ; mulss         0x2acb(%ecx),%xmm6
+  DB  243,15,88,177,191,42,0,0            ; addss         0x2abf(%ecx),%xmm6
+  DB  243,15,44,214                       ; cvttss2si     %xmm6,%edx
+  DB  102,15,110,242                      ; movd          %edx,%xmm6
+  DB  242,15,112,246,0                    ; pshuflw       $0x0,%xmm6,%xmm6
+  DB  102,15,112,246,80                   ; pshufd        $0x50,%xmm6,%xmm6
+  DB  102,15,111,129,191,41,0,0           ; movdqa        0x29bf(%ecx),%xmm0
+  DB  102,15,213,206                      ; pmullw        %xmm6,%xmm1
+  DB  102,15,253,200                      ; paddw         %xmm0,%xmm1
+  DB  102,15,213,214                      ; pmullw        %xmm6,%xmm2
+  DB  102,15,253,208                      ; paddw         %xmm0,%xmm2
+  DB  102,15,213,222                      ; pmullw        %xmm6,%xmm3
+  DB  102,15,253,216                      ; paddw         %xmm0,%xmm3
+  DB  102,15,213,230                      ; pmullw        %xmm6,%xmm4
+  DB  102,15,253,224                      ; paddw         %xmm0,%xmm4
+  DB  102,15,249,198                      ; psubw         %xmm6,%xmm0
+  DB  102,15,111,240                      ; movdqa        %xmm0,%xmm6
+  DB  102,15,213,245                      ; pmullw        %xmm5,%xmm6
+  DB  102,15,253,206                      ; paddw         %xmm6,%xmm1
+  DB  102,15,111,240                      ; movdqa        %xmm0,%xmm6
+  DB  102,15,213,117,40                   ; pmullw        0x28(%ebp),%xmm6
+  DB  102,15,253,214                      ; paddw         %xmm6,%xmm2
+  DB  102,15,111,117,56                   ; movdqa        0x38(%ebp),%xmm6
+  DB  102,15,111,248                      ; movdqa        %xmm0,%xmm7
+  DB  102,15,213,254                      ; pmullw        %xmm6,%xmm7
+  DB  102,15,253,223                      ; paddw         %xmm7,%xmm3
+  DB  102,15,111,125,72                   ; movdqa        0x48(%ebp),%xmm7
+  DB  102,15,213,199                      ; pmullw        %xmm7,%xmm0
+  DB  102,15,253,224                      ; paddw         %xmm0,%xmm4
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,85,16                           ; mov           0x10(%ebp),%edx
+  DB  139,117,20                          ; mov           0x14(%ebp),%esi
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  102,15,113,212,8                    ; psrlw         $0x8,%xmm4
+  DB  141,120,8                           ; lea           0x8(%eax),%edi
+  DB  102,15,127,124,36,64                ; movdqa        %xmm7,0x40(%esp)
+  DB  102,15,127,116,36,48                ; movdqa        %xmm6,0x30(%esp)
+  DB  15,40,69,40                         ; movaps        0x28(%ebp),%xmm0
+  DB  15,41,68,36,32                      ; movaps        %xmm0,0x20(%esp)
+  DB  102,15,127,108,36,16                ; movdqa        %xmm5,0x10(%esp)
+  DB  137,116,36,12                       ; mov           %esi,0xc(%esp)
+  DB  137,84,36,8                         ; mov           %edx,0x8(%esp)
+  DB  137,124,36,4                        ; mov           %edi,0x4(%esp)
+  DB  137,12,36                           ; mov           %ecx,(%esp)
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
+  DB  102,15,111,211                      ; movdqa        %xmm3,%xmm2
+  DB  102,15,111,220                      ; movdqa        %xmm4,%xmm3
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,80                          ; add           $0x50,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_scale_u8_sse2_lowp
+_sk_scale_u8_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,92                          ; sub           $0x5c,%esp
+  DB  15,40,125,56                        ; movaps        0x38(%ebp),%xmm7
+  DB  15,40,117,40                        ; movaps        0x28(%ebp),%xmm6
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,85,8                            ; mov           0x8(%ebp),%edx
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  139,89,4                            ; mov           0x4(%ecx),%ebx
+  DB  15,175,93,20                        ; imul          0x14(%ebp),%ebx
+  DB  3,25                                ; add           (%ecx),%ebx
+  DB  137,209                             ; mov           %edx,%ecx
+  DB  128,225,7                           ; and           $0x7,%cl
+  DB  254,201                             ; dec           %cl
+  DB  128,249,6                           ; cmp           $0x6,%cl
+  DB  232,0,0,0,0                         ; call          e5da <_sk_scale_u8_sse2_lowp+0x31>
+  DB  95                                  ; pop           %edi
+  DB  139,117,16                          ; mov           0x10(%ebp),%esi
+  DB  119,28                              ; ja            e5fc <_sk_scale_u8_sse2_lowp+0x53>
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  15,182,201                          ; movzbl        %cl,%ecx
+  DB  139,140,143,2,1,0,0                 ; mov           0x102(%edi,%ecx,4),%ecx
+  DB  1,249                               ; add           %edi,%ecx
+  DB  255,225                             ; jmp           *%ecx
+  DB  15,182,12,51                        ; movzbl        (%ebx,%esi,1),%ecx
+  DB  102,15,110,225                      ; movd          %ecx,%xmm4
+  DB  235,90                              ; jmp           e656 <_sk_scale_u8_sse2_lowp+0xad>
+  DB  243,15,126,36,51                    ; movq          (%ebx,%esi,1),%xmm4
+  DB  102,15,96,224                       ; punpcklbw     %xmm0,%xmm4
+  DB  235,79                              ; jmp           e656 <_sk_scale_u8_sse2_lowp+0xad>
+  DB  15,182,76,51,2                      ; movzbl        0x2(%ebx,%esi,1),%ecx
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  102,15,196,225,2                    ; pinsrw        $0x2,%ecx,%xmm4
+  DB  15,183,12,51                        ; movzwl        (%ebx,%esi,1),%ecx
+  DB  102,15,110,233                      ; movd          %ecx,%xmm5
+  DB  102,15,96,232                       ; punpcklbw     %xmm0,%xmm5
+  DB  243,15,16,229                       ; movss         %xmm5,%xmm4
+  DB  235,47                              ; jmp           e656 <_sk_scale_u8_sse2_lowp+0xad>
+  DB  15,182,76,51,6                      ; movzbl        0x6(%ebx,%esi,1),%ecx
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  102,15,196,225,6                    ; pinsrw        $0x6,%ecx,%xmm4
+  DB  15,182,76,51,5                      ; movzbl        0x5(%ebx,%esi,1),%ecx
+  DB  102,15,196,225,5                    ; pinsrw        $0x5,%ecx,%xmm4
+  DB  15,182,76,51,4                      ; movzbl        0x4(%ebx,%esi,1),%ecx
+  DB  102,15,196,225,4                    ; pinsrw        $0x4,%ecx,%xmm4
+  DB  102,15,110,44,51                    ; movd          (%ebx,%esi,1),%xmm5
+  DB  102,15,96,232                       ; punpcklbw     %xmm0,%xmm5
+  DB  242,15,16,229                       ; movsd         %xmm5,%xmm4
+  DB  102,15,219,167,150,40,0,0           ; pand          0x2896(%edi),%xmm4
+  DB  102,15,213,196                      ; pmullw        %xmm4,%xmm0
+  DB  102,15,111,175,150,40,0,0           ; movdqa        0x2896(%edi),%xmm5
+  DB  102,15,253,197                      ; paddw         %xmm5,%xmm0
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,15,213,204                      ; pmullw        %xmm4,%xmm1
+  DB  102,15,253,205                      ; paddw         %xmm5,%xmm1
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,213,212                      ; pmullw        %xmm4,%xmm2
+  DB  102,15,253,213                      ; paddw         %xmm5,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,213,227                      ; pmullw        %xmm3,%xmm4
+  DB  102,15,253,229                      ; paddw         %xmm5,%xmm4
+  DB  102,15,113,212,8                    ; psrlw         $0x8,%xmm4
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  15,40,93,72                         ; movaps        0x48(%ebp),%xmm3
+  DB  15,41,92,36,64                      ; movaps        %xmm3,0x40(%esp)
+  DB  15,41,124,36,48                     ; movaps        %xmm7,0x30(%esp)
+  DB  15,41,116,36,32                     ; movaps        %xmm6,0x20(%esp)
+  DB  15,40,93,24                         ; movaps        0x18(%ebp),%xmm3
+  DB  15,41,92,36,16                      ; movaps        %xmm3,0x10(%esp)
+  DB  139,125,20                          ; mov           0x14(%ebp),%edi
+  DB  137,124,36,12                       ; mov           %edi,0xc(%esp)
+  DB  137,116,36,8                        ; mov           %esi,0x8(%esp)
+  DB  137,76,36,4                         ; mov           %ecx,0x4(%esp)
+  DB  137,20,36                           ; mov           %edx,(%esp)
+  DB  102,15,111,220                      ; movdqa        %xmm4,%xmm3
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,92                          ; add           $0x5c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  24,0                                ; sbb           %al,(%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  59,0                                ; cmp           (%eax),%eax
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  45,0,0,0,111                        ; sub           $0x6f000000,%eax
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,101,0                             ; add           %ah,0x0(%ebp)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  91                                  ; pop           %ebx
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,77,0                              ; add           %cl,0x0(%ebp)
+  DB  0,0                                 ; add           %al,(%eax)
+
+PUBLIC _sk_lerp_u8_sse2_lowp
+_sk_lerp_u8_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,108                         ; sub           $0x6c,%esp
+  DB  102,15,127,93,216                   ; movdqa        %xmm3,-0x28(%ebp)
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,85,8                            ; mov           0x8(%ebp),%edx
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  139,89,4                            ; mov           0x4(%ecx),%ebx
+  DB  15,175,93,20                        ; imul          0x14(%ebp),%ebx
+  DB  3,25                                ; add           (%ecx),%ebx
+  DB  137,209                             ; mov           %edx,%ecx
+  DB  128,225,7                           ; and           $0x7,%cl
+  DB  254,201                             ; dec           %cl
+  DB  128,249,6                           ; cmp           $0x6,%cl
+  DB  232,0,0,0,0                         ; call          e726 <_sk_lerp_u8_sse2_lowp+0x2e>
+  DB  95                                  ; pop           %edi
+  DB  139,117,16                          ; mov           0x10(%ebp),%esi
+  DB  119,28                              ; ja            e748 <_sk_lerp_u8_sse2_lowp+0x50>
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  15,182,201                          ; movzbl        %cl,%ecx
+  DB  139,140,143,74,1,0,0                ; mov           0x14a(%edi,%ecx,4),%ecx
+  DB  1,249                               ; add           %edi,%ecx
+  DB  255,225                             ; jmp           *%ecx
+  DB  15,182,12,51                        ; movzbl        (%ebx,%esi,1),%ecx
+  DB  102,15,110,217                      ; movd          %ecx,%xmm3
+  DB  235,90                              ; jmp           e7a2 <_sk_lerp_u8_sse2_lowp+0xaa>
+  DB  243,15,126,28,51                    ; movq          (%ebx,%esi,1),%xmm3
+  DB  102,15,96,216                       ; punpcklbw     %xmm0,%xmm3
+  DB  235,79                              ; jmp           e7a2 <_sk_lerp_u8_sse2_lowp+0xaa>
+  DB  15,182,76,51,2                      ; movzbl        0x2(%ebx,%esi,1),%ecx
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  102,15,196,217,2                    ; pinsrw        $0x2,%ecx,%xmm3
+  DB  15,183,12,51                        ; movzwl        (%ebx,%esi,1),%ecx
+  DB  102,15,110,225                      ; movd          %ecx,%xmm4
+  DB  102,15,96,224                       ; punpcklbw     %xmm0,%xmm4
+  DB  243,15,16,220                       ; movss         %xmm4,%xmm3
+  DB  235,47                              ; jmp           e7a2 <_sk_lerp_u8_sse2_lowp+0xaa>
+  DB  15,182,76,51,6                      ; movzbl        0x6(%ebx,%esi,1),%ecx
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  102,15,196,217,6                    ; pinsrw        $0x6,%ecx,%xmm3
+  DB  15,182,76,51,5                      ; movzbl        0x5(%ebx,%esi,1),%ecx
+  DB  102,15,196,217,5                    ; pinsrw        $0x5,%ecx,%xmm3
+  DB  15,182,76,51,4                      ; movzbl        0x4(%ebx,%esi,1),%ecx
+  DB  102,15,196,217,4                    ; pinsrw        $0x4,%ecx,%xmm3
+  DB  102,15,110,36,51                    ; movd          (%ebx,%esi,1),%xmm4
+  DB  102,15,96,224                       ; punpcklbw     %xmm0,%xmm4
+  DB  242,15,16,220                       ; movsd         %xmm4,%xmm3
+  DB  102,15,219,159,74,39,0,0            ; pand          0x274a(%edi),%xmm3
+  DB  102,15,111,183,74,39,0,0            ; movdqa        0x274a(%edi),%xmm6
+  DB  102,15,111,227                      ; movdqa        %xmm3,%xmm4
+  DB  102,15,239,230                      ; pxor          %xmm6,%xmm4
+  DB  102,15,111,252                      ; movdqa        %xmm4,%xmm7
+  DB  102,15,111,109,24                   ; movdqa        0x18(%ebp),%xmm5
+  DB  102,15,213,253                      ; pmullw        %xmm5,%xmm7
+  DB  102,15,213,195                      ; pmullw        %xmm3,%xmm0
+  DB  102,15,253,198                      ; paddw         %xmm6,%xmm0
+  DB  102,15,253,199                      ; paddw         %xmm7,%xmm0
+  DB  102,15,111,252                      ; movdqa        %xmm4,%xmm7
+  DB  102,15,111,109,40                   ; movdqa        0x28(%ebp),%xmm5
+  DB  102,15,213,253                      ; pmullw        %xmm5,%xmm7
+  DB  102,15,213,203                      ; pmullw        %xmm3,%xmm1
+  DB  102,15,253,206                      ; paddw         %xmm6,%xmm1
+  DB  102,15,253,207                      ; paddw         %xmm7,%xmm1
+  DB  102,15,111,252                      ; movdqa        %xmm4,%xmm7
+  DB  102,15,111,109,56                   ; movdqa        0x38(%ebp),%xmm5
+  DB  102,15,213,253                      ; pmullw        %xmm5,%xmm7
+  DB  102,15,213,211                      ; pmullw        %xmm3,%xmm2
+  DB  102,15,253,214                      ; paddw         %xmm6,%xmm2
+  DB  102,15,253,215                      ; paddw         %xmm7,%xmm2
+  DB  102,15,213,93,216                   ; pmullw        -0x28(%ebp),%xmm3
+  DB  102,15,253,222                      ; paddw         %xmm6,%xmm3
+  DB  102,15,111,117,72                   ; movdqa        0x48(%ebp),%xmm6
+  DB  102,15,213,230                      ; pmullw        %xmm6,%xmm4
+  DB  102,15,253,220                      ; paddw         %xmm4,%xmm3
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  102,15,127,116,36,64                ; movdqa        %xmm6,0x40(%esp)
+  DB  102,15,127,108,36,48                ; movdqa        %xmm5,0x30(%esp)
+  DB  15,40,101,40                        ; movaps        0x28(%ebp),%xmm4
+  DB  15,41,100,36,32                     ; movaps        %xmm4,0x20(%esp)
+  DB  15,40,101,24                        ; movaps        0x18(%ebp),%xmm4
+  DB  15,41,100,36,16                     ; movaps        %xmm4,0x10(%esp)
+  DB  139,125,20                          ; mov           0x14(%ebp),%edi
+  DB  137,124,36,12                       ; mov           %edi,0xc(%esp)
+  DB  137,116,36,8                        ; mov           %esi,0x8(%esp)
+  DB  137,76,36,4                         ; mov           %ecx,0x4(%esp)
+  DB  137,20,36                           ; mov           %edx,(%esp)
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,108                         ; add           $0x6c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  15,31,0                             ; nopl          (%eax)
+  DB  24,0                                ; sbb           %al,(%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  59,0                                ; cmp           (%eax),%eax
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  45,0,0,0,111                        ; sub           $0x6f000000,%eax
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,101,0                             ; add           %ah,0x0(%ebp)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  91                                  ; pop           %ebx
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,77,0                              ; add           %cl,0x0(%ebp)
+  DB  0,0                                 ; add           %al,(%eax)
+
+PUBLIC _sk_scale_565_sse2_lowp
+_sk_scale_565_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  129,236,188,0,0,0                   ; sub           $0xbc,%esp
+  DB  102,15,111,243                      ; movdqa        %xmm3,%xmm6
+  DB  15,41,85,136                        ; movaps        %xmm2,-0x78(%ebp)
+  DB  15,41,77,152                        ; movaps        %xmm1,-0x68(%ebp)
+  DB  15,41,69,168                        ; movaps        %xmm0,-0x58(%ebp)
+  DB  102,15,111,125,72                   ; movdqa        0x48(%ebp),%xmm7
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,85,8                            ; mov           0x8(%ebp),%edx
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  139,89,4                            ; mov           0x4(%ecx),%ebx
+  DB  15,175,93,20                        ; imul          0x14(%ebp),%ebx
+  DB  1,219                               ; add           %ebx,%ebx
+  DB  3,25                                ; add           (%ecx),%ebx
+  DB  137,209                             ; mov           %edx,%ecx
+  DB  128,225,7                           ; and           $0x7,%cl
+  DB  254,201                             ; dec           %cl
+  DB  128,249,6                           ; cmp           $0x6,%cl
+  DB  232,0,0,0,0                         ; call          e8cf <_sk_scale_565_sse2_lowp+0x43>
+  DB  95                                  ; pop           %edi
+  DB  139,117,16                          ; mov           0x10(%ebp),%esi
+  DB  119,28                              ; ja            e8f1 <_sk_scale_565_sse2_lowp+0x65>
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  15,182,201                          ; movzbl        %cl,%ecx
+  DB  139,140,143,249,1,0,0               ; mov           0x1f9(%edi,%ecx,4),%ecx
+  DB  1,249                               ; add           %edi,%ecx
+  DB  255,225                             ; jmp           *%ecx
+  DB  15,183,12,115                       ; movzwl        (%ebx,%esi,2),%ecx
+  DB  102,15,110,217                      ; movd          %ecx,%xmm3
+  DB  235,59                              ; jmp           e92c <_sk_scale_565_sse2_lowp+0xa0>
+  DB  243,15,111,28,115                   ; movdqu        (%ebx,%esi,2),%xmm3
+  DB  235,52                              ; jmp           e92c <_sk_scale_565_sse2_lowp+0xa0>
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  102,15,196,92,115,4,2               ; pinsrw        $0x2,0x4(%ebx,%esi,2),%xmm3
+  DB  243,15,16,12,115                    ; movss         (%ebx,%esi,2),%xmm1
+  DB  243,15,16,217                       ; movss         %xmm1,%xmm3
+  DB  235,30                              ; jmp           e92c <_sk_scale_565_sse2_lowp+0xa0>
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  102,15,196,92,115,12,6              ; pinsrw        $0x6,0xc(%ebx,%esi,2),%xmm3
+  DB  102,15,196,92,115,10,5              ; pinsrw        $0x5,0xa(%ebx,%esi,2),%xmm3
+  DB  102,15,196,92,115,8,4               ; pinsrw        $0x4,0x8(%ebx,%esi,2),%xmm3
+  DB  102,15,18,28,115                    ; movlpd        (%ebx,%esi,2),%xmm3
+  DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,219,143,225,37,0,0           ; pand          0x25e1(%edi),%xmm1
+  DB  102,15,111,211                      ; movdqa        %xmm3,%xmm2
+  DB  102,15,113,210,5                    ; psrlw         $0x5,%xmm2
+  DB  102,15,219,151,241,37,0,0           ; pand          0x25f1(%edi),%xmm2
+  DB  102,15,111,135,1,38,0,0             ; movdqa        0x2601(%edi),%xmm0
+  DB  102,15,219,195                      ; pand          %xmm3,%xmm0
+  DB  102,15,113,211,13                   ; psrlw         $0xd,%xmm3
+  DB  102,15,235,217                      ; por           %xmm1,%xmm3
+  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
+  DB  102,15,113,241,2                    ; psllw         $0x2,%xmm1
+  DB  102,15,113,210,4                    ; psrlw         $0x4,%xmm2
+  DB  102,15,235,209                      ; por           %xmm1,%xmm2
+  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
+  DB  102,15,113,241,3                    ; psllw         $0x3,%xmm1
+  DB  102,15,113,208,2                    ; psrlw         $0x2,%xmm0
+  DB  102,15,235,193                      ; por           %xmm1,%xmm0
+  DB  102,15,127,69,200                   ; movdqa        %xmm0,-0x38(%ebp)
+  DB  102,15,111,167,177,37,0,0           ; movdqa        0x25b1(%edi),%xmm4
+  DB  15,41,117,184                       ; movaps        %xmm6,-0x48(%ebp)
+  DB  102,15,239,244                      ; pxor          %xmm4,%xmm6
+  DB  102,15,239,252                      ; pxor          %xmm4,%xmm7
+  DB  102,15,101,254                      ; pcmpgtw       %xmm6,%xmm7
+  DB  102,15,111,240                      ; movdqa        %xmm0,%xmm6
+  DB  102,15,239,244                      ; pxor          %xmm4,%xmm6
+  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
+  DB  102,15,239,204                      ; pxor          %xmm4,%xmm1
+  DB  102,15,101,241                      ; pcmpgtw       %xmm1,%xmm6
+  DB  102,15,111,206                      ; movdqa        %xmm6,%xmm1
+  DB  102,15,223,200                      ; pandn         %xmm0,%xmm1
+  DB  102,15,111,234                      ; movdqa        %xmm2,%xmm5
+  DB  102,15,219,238                      ; pand          %xmm6,%xmm5
+  DB  102,15,235,233                      ; por           %xmm1,%xmm5
+  DB  102,15,111,205                      ; movdqa        %xmm5,%xmm1
+  DB  102,15,239,204                      ; pxor          %xmm4,%xmm1
+  DB  102,15,111,195                      ; movdqa        %xmm3,%xmm0
+  DB  102,15,235,196                      ; por           %xmm4,%xmm0
+  DB  102,15,127,69,216                   ; movdqa        %xmm0,-0x28(%ebp)
+  DB  102,15,101,200                      ; pcmpgtw       %xmm0,%xmm1
+  DB  102,15,111,195                      ; movdqa        %xmm3,%xmm0
+  DB  102,15,219,193                      ; pand          %xmm1,%xmm0
+  DB  102,15,223,205                      ; pandn         %xmm5,%xmm1
+  DB  102,15,235,200                      ; por           %xmm0,%xmm1
+  DB  102,15,111,109,200                  ; movdqa        -0x38(%ebp),%xmm5
+  DB  102,15,111,197                      ; movdqa        %xmm5,%xmm0
+  DB  102,15,219,198                      ; pand          %xmm6,%xmm0
+  DB  102,15,223,242                      ; pandn         %xmm2,%xmm6
+  DB  102,15,235,240                      ; por           %xmm0,%xmm6
+  DB  102,15,239,230                      ; pxor          %xmm6,%xmm4
+  DB  102,15,101,101,216                  ; pcmpgtw       -0x28(%ebp),%xmm4
+  DB  102,15,219,244                      ; pand          %xmm4,%xmm6
+  DB  102,15,223,227                      ; pandn         %xmm3,%xmm4
+  DB  102,15,235,230                      ; por           %xmm6,%xmm4
+  DB  102,15,219,207                      ; pand          %xmm7,%xmm1
+  DB  102,15,223,252                      ; pandn         %xmm4,%xmm7
+  DB  102,15,235,249                      ; por           %xmm1,%xmm7
+  DB  102,15,213,93,168                   ; pmullw        -0x58(%ebp),%xmm3
+  DB  102,15,213,85,152                   ; pmullw        -0x68(%ebp),%xmm2
+  DB  102,15,111,229                      ; movdqa        %xmm5,%xmm4
+  DB  102,15,213,101,136                  ; pmullw        -0x78(%ebp),%xmm4
+  DB  102,15,213,125,184                  ; pmullw        -0x48(%ebp),%xmm7
+  DB  102,15,111,135,161,37,0,0           ; movdqa        0x25a1(%edi),%xmm0
+  DB  102,15,253,216                      ; paddw         %xmm0,%xmm3
+  DB  102,15,253,208                      ; paddw         %xmm0,%xmm2
+  DB  102,15,253,224                      ; paddw         %xmm0,%xmm4
+  DB  102,15,253,248                      ; paddw         %xmm0,%xmm7
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,113,212,8                    ; psrlw         $0x8,%xmm4
+  DB  102,15,113,215,8                    ; psrlw         $0x8,%xmm7
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  15,40,69,72                         ; movaps        0x48(%ebp),%xmm0
+  DB  15,41,68,36,64                      ; movaps        %xmm0,0x40(%esp)
+  DB  15,40,69,56                         ; movaps        0x38(%ebp),%xmm0
+  DB  15,41,68,36,48                      ; movaps        %xmm0,0x30(%esp)
+  DB  15,40,69,40                         ; movaps        0x28(%ebp),%xmm0
+  DB  15,41,68,36,32                      ; movaps        %xmm0,0x20(%esp)
+  DB  15,40,69,24                         ; movaps        0x18(%ebp),%xmm0
+  DB  15,41,68,36,16                      ; movaps        %xmm0,0x10(%esp)
+  DB  139,125,20                          ; mov           0x14(%ebp),%edi
+  DB  137,124,36,12                       ; mov           %edi,0xc(%esp)
+  DB  137,116,36,8                        ; mov           %esi,0x8(%esp)
+  DB  137,76,36,4                         ; mov           %ecx,0x4(%esp)
+  DB  137,20,36                           ; mov           %edx,(%esp)
+  DB  102,15,111,195                      ; movdqa        %xmm3,%xmm0
+  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
+  DB  102,15,111,212                      ; movdqa        %xmm4,%xmm2
+  DB  102,15,111,223                      ; movdqa        %xmm7,%xmm3
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  129,196,188,0,0,0                   ; add           $0xbc,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  102,144                             ; xchg          %ax,%ax
+  DB  24,0                                ; sbb           %al,(%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  52,0                                ; xor           $0x0,%al
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  41,0                                ; sub           %eax,(%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  88                                  ; pop           %eax
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,81,0                              ; add           %dl,0x0(%ecx)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  74                                  ; dec           %edx
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,63                                ; add           %bh,(%edi)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0                                   ; .byte         0x0
+
+PUBLIC _sk_lerp_565_sse2_lowp
+_sk_lerp_565_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  129,236,188,0,0,0                   ; sub           $0xbc,%esp
+  DB  102,15,111,243                      ; movdqa        %xmm3,%xmm6
+  DB  15,41,85,136                        ; movaps        %xmm2,-0x78(%ebp)
+  DB  15,41,77,152                        ; movaps        %xmm1,-0x68(%ebp)
+  DB  15,41,69,168                        ; movaps        %xmm0,-0x58(%ebp)
+  DB  102,15,111,125,72                   ; movdqa        0x48(%ebp),%xmm7
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,85,8                            ; mov           0x8(%ebp),%edx
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  139,89,4                            ; mov           0x4(%ecx),%ebx
+  DB  15,175,93,20                        ; imul          0x14(%ebp),%ebx
+  DB  1,219                               ; add           %ebx,%ebx
+  DB  3,25                                ; add           (%ecx),%ebx
+  DB  137,209                             ; mov           %edx,%ecx
+  DB  128,225,7                           ; and           $0x7,%cl
+  DB  254,201                             ; dec           %cl
+  DB  128,249,6                           ; cmp           $0x6,%cl
+  DB  232,0,0,0,0                         ; call          eb27 <_sk_lerp_565_sse2_lowp+0x43>
+  DB  95                                  ; pop           %edi
+  DB  139,117,16                          ; mov           0x10(%ebp),%esi
+  DB  119,28                              ; ja            eb49 <_sk_lerp_565_sse2_lowp+0x65>
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  15,182,201                          ; movzbl        %cl,%ecx
+  DB  139,140,143,73,2,0,0                ; mov           0x249(%edi,%ecx,4),%ecx
+  DB  1,249                               ; add           %edi,%ecx
+  DB  255,225                             ; jmp           *%ecx
+  DB  15,183,12,115                       ; movzwl        (%ebx,%esi,2),%ecx
+  DB  102,15,110,217                      ; movd          %ecx,%xmm3
+  DB  235,59                              ; jmp           eb84 <_sk_lerp_565_sse2_lowp+0xa0>
+  DB  243,15,111,28,115                   ; movdqu        (%ebx,%esi,2),%xmm3
+  DB  235,52                              ; jmp           eb84 <_sk_lerp_565_sse2_lowp+0xa0>
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  102,15,196,92,115,4,2               ; pinsrw        $0x2,0x4(%ebx,%esi,2),%xmm3
+  DB  243,15,16,12,115                    ; movss         (%ebx,%esi,2),%xmm1
+  DB  243,15,16,217                       ; movss         %xmm1,%xmm3
+  DB  235,30                              ; jmp           eb84 <_sk_lerp_565_sse2_lowp+0xa0>
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  102,15,196,92,115,12,6              ; pinsrw        $0x6,0xc(%ebx,%esi,2),%xmm3
+  DB  102,15,196,92,115,10,5              ; pinsrw        $0x5,0xa(%ebx,%esi,2),%xmm3
+  DB  102,15,196,92,115,8,4               ; pinsrw        $0x4,0x8(%ebx,%esi,2),%xmm3
+  DB  102,15,18,28,115                    ; movlpd        (%ebx,%esi,2),%xmm3
+  DB  102,15,111,203                      ; movdqa        %xmm3,%xmm1
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,219,143,137,35,0,0           ; pand          0x2389(%edi),%xmm1
+  DB  102,15,111,211                      ; movdqa        %xmm3,%xmm2
+  DB  102,15,113,210,5                    ; psrlw         $0x5,%xmm2
+  DB  102,15,219,151,153,35,0,0           ; pand          0x2399(%edi),%xmm2
+  DB  102,15,111,175,169,35,0,0           ; movdqa        0x23a9(%edi),%xmm5
+  DB  102,15,219,235                      ; pand          %xmm3,%xmm5
+  DB  102,15,113,211,13                   ; psrlw         $0xd,%xmm3
+  DB  102,15,235,217                      ; por           %xmm1,%xmm3
+  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
+  DB  102,15,113,241,2                    ; psllw         $0x2,%xmm1
+  DB  102,15,113,210,4                    ; psrlw         $0x4,%xmm2
+  DB  102,15,235,209                      ; por           %xmm1,%xmm2
+  DB  102,15,111,205                      ; movdqa        %xmm5,%xmm1
+  DB  102,15,113,241,3                    ; psllw         $0x3,%xmm1
+  DB  102,15,113,213,2                    ; psrlw         $0x2,%xmm5
+  DB  102,15,235,233                      ; por           %xmm1,%xmm5
+  DB  102,15,127,109,216                  ; movdqa        %xmm5,-0x28(%ebp)
+  DB  102,15,111,167,89,35,0,0            ; movdqa        0x2359(%edi),%xmm4
+  DB  102,15,111,198                      ; movdqa        %xmm6,%xmm0
+  DB  102,15,111,200                      ; movdqa        %xmm0,%xmm1
+  DB  102,15,239,204                      ; pxor          %xmm4,%xmm1
+  DB  102,15,239,252                      ; pxor          %xmm4,%xmm7
+  DB  102,15,101,249                      ; pcmpgtw       %xmm1,%xmm7
+  DB  102,15,111,245                      ; movdqa        %xmm5,%xmm6
+  DB  102,15,239,244                      ; pxor          %xmm4,%xmm6
+  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
+  DB  102,15,239,204                      ; pxor          %xmm4,%xmm1
+  DB  102,15,101,241                      ; pcmpgtw       %xmm1,%xmm6
+  DB  102,15,111,206                      ; movdqa        %xmm6,%xmm1
+  DB  102,15,223,205                      ; pandn         %xmm5,%xmm1
+  DB  102,15,127,69,184                   ; movdqa        %xmm0,-0x48(%ebp)
+  DB  102,15,111,234                      ; movdqa        %xmm2,%xmm5
+  DB  102,15,219,238                      ; pand          %xmm6,%xmm5
+  DB  102,15,235,233                      ; por           %xmm1,%xmm5
+  DB  102,15,111,205                      ; movdqa        %xmm5,%xmm1
+  DB  102,15,239,204                      ; pxor          %xmm4,%xmm1
+  DB  102,15,111,195                      ; movdqa        %xmm3,%xmm0
+  DB  102,15,235,196                      ; por           %xmm4,%xmm0
+  DB  102,15,127,69,200                   ; movdqa        %xmm0,-0x38(%ebp)
+  DB  102,15,101,200                      ; pcmpgtw       %xmm0,%xmm1
+  DB  102,15,111,195                      ; movdqa        %xmm3,%xmm0
+  DB  102,15,219,193                      ; pand          %xmm1,%xmm0
+  DB  102,15,223,205                      ; pandn         %xmm5,%xmm1
+  DB  102,15,235,200                      ; por           %xmm0,%xmm1
+  DB  102,15,111,69,216                   ; movdqa        -0x28(%ebp),%xmm0
+  DB  102,15,219,198                      ; pand          %xmm6,%xmm0
+  DB  102,15,223,242                      ; pandn         %xmm2,%xmm6
+  DB  102,15,235,240                      ; por           %xmm0,%xmm6
+  DB  102,15,239,230                      ; pxor          %xmm6,%xmm4
+  DB  102,15,101,101,200                  ; pcmpgtw       -0x38(%ebp),%xmm4
+  DB  102,15,219,244                      ; pand          %xmm4,%xmm6
+  DB  102,15,223,227                      ; pandn         %xmm3,%xmm4
+  DB  102,15,235,230                      ; por           %xmm6,%xmm4
+  DB  102,15,219,207                      ; pand          %xmm7,%xmm1
+  DB  102,15,223,252                      ; pandn         %xmm4,%xmm7
+  DB  102,15,235,249                      ; por           %xmm1,%xmm7
+  DB  102,15,111,195                      ; movdqa        %xmm3,%xmm0
+  DB  102,15,213,93,168                   ; pmullw        -0x58(%ebp),%xmm3
+  DB  102,15,111,143,73,35,0,0            ; movdqa        0x2349(%edi),%xmm1
+  DB  102,15,239,193                      ; pxor          %xmm1,%xmm0
+  DB  102,15,111,101,24                   ; movdqa        0x18(%ebp),%xmm4
+  DB  102,15,213,196                      ; pmullw        %xmm4,%xmm0
+  DB  102,15,253,217                      ; paddw         %xmm1,%xmm3
+  DB  102,15,253,216                      ; paddw         %xmm0,%xmm3
+  DB  102,15,111,194                      ; movdqa        %xmm2,%xmm0
+  DB  102,15,213,85,152                   ; pmullw        -0x68(%ebp),%xmm2
+  DB  102,15,239,193                      ; pxor          %xmm1,%xmm0
+  DB  102,15,111,109,40                   ; movdqa        0x28(%ebp),%xmm5
+  DB  102,15,213,197                      ; pmullw        %xmm5,%xmm0
+  DB  102,15,253,209                      ; paddw         %xmm1,%xmm2
+  DB  102,15,253,208                      ; paddw         %xmm0,%xmm2
+  DB  102,15,111,101,216                  ; movdqa        -0x28(%ebp),%xmm4
+  DB  102,15,111,196                      ; movdqa        %xmm4,%xmm0
+  DB  102,15,213,101,136                  ; pmullw        -0x78(%ebp),%xmm4
+  DB  102,15,239,193                      ; pxor          %xmm1,%xmm0
+  DB  102,15,111,117,56                   ; movdqa        0x38(%ebp),%xmm6
+  DB  102,15,213,198                      ; pmullw        %xmm6,%xmm0
+  DB  102,15,253,225                      ; paddw         %xmm1,%xmm4
+  DB  102,15,253,224                      ; paddw         %xmm0,%xmm4
+  DB  102,15,111,199                      ; movdqa        %xmm7,%xmm0
+  DB  102,15,213,125,184                  ; pmullw        -0x48(%ebp),%xmm7
+  DB  102,15,239,193                      ; pxor          %xmm1,%xmm0
+  DB  102,15,253,249                      ; paddw         %xmm1,%xmm7
+  DB  102,15,111,77,72                    ; movdqa        0x48(%ebp),%xmm1
+  DB  102,15,213,193                      ; pmullw        %xmm1,%xmm0
+  DB  102,15,253,248                      ; paddw         %xmm0,%xmm7
+  DB  102,15,113,211,8                    ; psrlw         $0x8,%xmm3
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,113,212,8                    ; psrlw         $0x8,%xmm4
+  DB  102,15,113,215,8                    ; psrlw         $0x8,%xmm7
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  102,15,127,76,36,64                 ; movdqa        %xmm1,0x40(%esp)
+  DB  102,15,127,116,36,48                ; movdqa        %xmm6,0x30(%esp)
+  DB  102,15,127,108,36,32                ; movdqa        %xmm5,0x20(%esp)
+  DB  15,40,69,24                         ; movaps        0x18(%ebp),%xmm0
+  DB  15,41,68,36,16                      ; movaps        %xmm0,0x10(%esp)
+  DB  139,125,20                          ; mov           0x14(%ebp),%edi
+  DB  137,124,36,12                       ; mov           %edi,0xc(%esp)
+  DB  137,116,36,8                        ; mov           %esi,0x8(%esp)
+  DB  137,76,36,4                         ; mov           %ecx,0x4(%esp)
+  DB  137,20,36                           ; mov           %edx,(%esp)
+  DB  102,15,111,195                      ; movdqa        %xmm3,%xmm0
+  DB  102,15,111,202                      ; movdqa        %xmm2,%xmm1
+  DB  102,15,111,212                      ; movdqa        %xmm4,%xmm2
+  DB  102,15,111,223                      ; movdqa        %xmm7,%xmm3
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  129,196,188,0,0,0                   ; add           $0xbc,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  144                                 ; nop
+  DB  24,0                                ; sbb           %al,(%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  52,0                                ; xor           $0x0,%al
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  41,0                                ; sub           %eax,(%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  88                                  ; pop           %eax
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,81,0                              ; add           %dl,0x0(%ecx)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  74                                  ; dec           %edx
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,63                                ; add           %bh,(%edi)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0                                   ; .byte         0x0
+
+PUBLIC _sk_clamp_x_1_sse2_lowp
+_sk_clamp_x_1_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,80                          ; sub           $0x50,%esp
+  DB  232,0,0,0,0                         ; call          ed99 <_sk_clamp_x_1_sse2_lowp+0xd>
+  DB  88                                  ; pop           %eax
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,85,16                           ; mov           0x10(%ebp),%edx
+  DB  139,117,20                          ; mov           0x14(%ebp),%esi
+  DB  15,40,101,24                        ; movaps        0x18(%ebp),%xmm4
+  DB  15,40,109,40                        ; movaps        0x28(%ebp),%xmm5
+  DB  15,40,117,56                        ; movaps        0x38(%ebp),%xmm6
+  DB  15,87,255                           ; xorps         %xmm7,%xmm7
+  DB  15,95,207                           ; maxps         %xmm7,%xmm1
+  DB  15,95,199                           ; maxps         %xmm7,%xmm0
+  DB  15,40,184,215,25,0,0                ; movaps        0x19d7(%eax),%xmm7
+  DB  15,93,199                           ; minps         %xmm7,%xmm0
+  DB  15,93,207                           ; minps         %xmm7,%xmm1
+  DB  15,40,125,72                        ; movaps        0x48(%ebp),%xmm7
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  141,120,4                           ; lea           0x4(%eax),%edi
+  DB  15,41,124,36,64                     ; movaps        %xmm7,0x40(%esp)
+  DB  15,41,116,36,48                     ; movaps        %xmm6,0x30(%esp)
+  DB  15,41,108,36,32                     ; movaps        %xmm5,0x20(%esp)
+  DB  15,41,100,36,16                     ; movaps        %xmm4,0x10(%esp)
+  DB  137,116,36,12                       ; mov           %esi,0xc(%esp)
+  DB  137,84,36,8                         ; mov           %edx,0x8(%esp)
+  DB  137,124,36,4                        ; mov           %edi,0x4(%esp)
+  DB  137,12,36                           ; mov           %ecx,(%esp)
+  DB  255,16                              ; call          *(%eax)
+  DB  131,196,80                          ; add           $0x50,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_repeat_x_1_sse2_lowp
+_sk_repeat_x_1_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,80                          ; sub           $0x50,%esp
+  DB  232,0,0,0,0                         ; call          ee08 <_sk_repeat_x_1_sse2_lowp+0xd>
+  DB  94                                  ; pop           %esi
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,77,16                           ; mov           0x10(%ebp),%ecx
+  DB  139,85,20                           ; mov           0x14(%ebp),%edx
+  DB  243,15,91,225                       ; cvttps2dq     %xmm1,%xmm4
+  DB  243,15,91,232                       ; cvttps2dq     %xmm0,%xmm5
+  DB  15,91,237                           ; cvtdq2ps      %xmm5,%xmm5
+  DB  15,91,228                           ; cvtdq2ps      %xmm4,%xmm4
+  DB  15,40,241                           ; movaps        %xmm1,%xmm6
+  DB  15,194,244,1                        ; cmpltps       %xmm4,%xmm6
+  DB  15,40,190,104,25,0,0                ; movaps        0x1968(%esi),%xmm7
+  DB  15,84,247                           ; andps         %xmm7,%xmm6
+  DB  15,92,230                           ; subps         %xmm6,%xmm4
+  DB  15,40,240                           ; movaps        %xmm0,%xmm6
+  DB  15,194,245,1                        ; cmpltps       %xmm5,%xmm6
+  DB  15,84,247                           ; andps         %xmm7,%xmm6
+  DB  15,92,238                           ; subps         %xmm6,%xmm5
+  DB  15,40,117,24                        ; movaps        0x18(%ebp),%xmm6
+  DB  15,92,197                           ; subps         %xmm5,%xmm0
+  DB  15,40,109,40                        ; movaps        0x28(%ebp),%xmm5
+  DB  15,92,204                           ; subps         %xmm4,%xmm1
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,95,204                           ; maxps         %xmm4,%xmm1
+  DB  15,95,196                           ; maxps         %xmm4,%xmm0
+  DB  15,40,101,56                        ; movaps        0x38(%ebp),%xmm4
+  DB  15,93,199                           ; minps         %xmm7,%xmm0
+  DB  15,93,207                           ; minps         %xmm7,%xmm1
+  DB  15,40,125,72                        ; movaps        0x48(%ebp),%xmm7
+  DB  139,117,12                          ; mov           0xc(%ebp),%esi
+  DB  141,126,4                           ; lea           0x4(%esi),%edi
+  DB  15,41,124,36,64                     ; movaps        %xmm7,0x40(%esp)
+  DB  15,41,100,36,48                     ; movaps        %xmm4,0x30(%esp)
+  DB  15,41,108,36,32                     ; movaps        %xmm5,0x20(%esp)
+  DB  15,41,116,36,16                     ; movaps        %xmm6,0x10(%esp)
+  DB  137,84,36,12                        ; mov           %edx,0xc(%esp)
+  DB  137,76,36,8                         ; mov           %ecx,0x8(%esp)
+  DB  137,124,36,4                        ; mov           %edi,0x4(%esp)
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  255,22                              ; call          *(%esi)
+  DB  131,196,80                          ; add           $0x50,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_mirror_x_1_sse2_lowp
+_sk_mirror_x_1_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,96                          ; sub           $0x60,%esp
+  DB  15,41,93,232                        ; movaps        %xmm3,-0x18(%ebp)
+  DB  15,40,218                           ; movaps        %xmm2,%xmm3
+  DB  15,40,209                           ; movaps        %xmm1,%xmm2
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  232,0,0,0,0                         ; call          eeb2 <_sk_mirror_x_1_sse2_lowp+0x1a>
+  DB  88                                  ; pop           %eax
+  DB  15,40,160,46,25,0,0                 ; movaps        0x192e(%eax),%xmm4
+  DB  15,88,204                           ; addps         %xmm4,%xmm1
+  DB  15,88,212                           ; addps         %xmm4,%xmm2
+  DB  15,40,176,174,24,0,0                ; movaps        0x18ae(%eax),%xmm6
+  DB  15,40,250                           ; movaps        %xmm2,%xmm7
+  DB  15,89,254                           ; mulps         %xmm6,%xmm7
+  DB  15,89,241                           ; mulps         %xmm1,%xmm6
+  DB  243,15,91,238                       ; cvttps2dq     %xmm6,%xmm5
+  DB  15,91,197                           ; cvtdq2ps      %xmm5,%xmm0
+  DB  15,194,240,1                        ; cmpltps       %xmm0,%xmm6
+  DB  15,40,168,190,24,0,0                ; movaps        0x18be(%eax),%xmm5
+  DB  15,84,245                           ; andps         %xmm5,%xmm6
+  DB  15,92,198                           ; subps         %xmm6,%xmm0
+  DB  243,15,91,247                       ; cvttps2dq     %xmm7,%xmm6
+  DB  15,91,246                           ; cvtdq2ps      %xmm6,%xmm6
+  DB  15,194,254,1                        ; cmpltps       %xmm6,%xmm7
+  DB  15,84,253                           ; andps         %xmm5,%xmm7
+  DB  15,92,247                           ; subps         %xmm7,%xmm6
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,85,16                           ; mov           0x10(%ebp),%edx
+  DB  139,117,20                          ; mov           0x14(%ebp),%esi
+  DB  15,88,192                           ; addps         %xmm0,%xmm0
+  DB  15,92,200                           ; subps         %xmm0,%xmm1
+  DB  15,40,69,24                         ; movaps        0x18(%ebp),%xmm0
+  DB  15,88,246                           ; addps         %xmm6,%xmm6
+  DB  15,92,214                           ; subps         %xmm6,%xmm2
+  DB  15,40,117,40                        ; movaps        0x28(%ebp),%xmm6
+  DB  15,88,212                           ; addps         %xmm4,%xmm2
+  DB  15,88,204                           ; addps         %xmm4,%xmm1
+  DB  15,40,160,254,29,0,0                ; movaps        0x1dfe(%eax),%xmm4
+  DB  15,84,204                           ; andps         %xmm4,%xmm1
+  DB  15,84,212                           ; andps         %xmm4,%xmm2
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,95,212                           ; maxps         %xmm4,%xmm2
+  DB  15,95,204                           ; maxps         %xmm4,%xmm1
+  DB  15,40,101,56                        ; movaps        0x38(%ebp),%xmm4
+  DB  15,93,205                           ; minps         %xmm5,%xmm1
+  DB  15,93,213                           ; minps         %xmm5,%xmm2
+  DB  15,40,109,72                        ; movaps        0x48(%ebp),%xmm5
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  141,120,4                           ; lea           0x4(%eax),%edi
+  DB  15,41,108,36,64                     ; movaps        %xmm5,0x40(%esp)
+  DB  15,41,100,36,48                     ; movaps        %xmm4,0x30(%esp)
+  DB  15,41,116,36,32                     ; movaps        %xmm6,0x20(%esp)
+  DB  15,41,68,36,16                      ; movaps        %xmm0,0x10(%esp)
+  DB  137,116,36,12                       ; mov           %esi,0xc(%esp)
+  DB  137,84,36,8                         ; mov           %edx,0x8(%esp)
+  DB  137,124,36,4                        ; mov           %edi,0x4(%esp)
+  DB  137,12,36                           ; mov           %ecx,(%esp)
+  DB  15,40,193                           ; movaps        %xmm1,%xmm0
+  DB  15,40,202                           ; movaps        %xmm2,%xmm1
+  DB  15,40,211                           ; movaps        %xmm3,%xmm2
+  DB  15,40,93,232                        ; movaps        -0x18(%ebp),%xmm3
+  DB  255,16                              ; call          *(%eax)
+  DB  131,196,96                          ; add           $0x60,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_decal_x_sse2_lowp
+_sk_decal_x_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,80                          ; sub           $0x50,%esp
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,85,16                           ; mov           0x10(%ebp),%edx
+  DB  139,117,20                          ; mov           0x14(%ebp),%esi
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  139,57                              ; mov           (%ecx),%edi
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,87,237                           ; xorps         %xmm5,%xmm5
+  DB  15,194,233,2                        ; cmpleps       %xmm1,%xmm5
+  DB  242,15,112,237,232                  ; pshuflw       $0xe8,%xmm5,%xmm5
+  DB  243,15,112,237,232                  ; pshufhw       $0xe8,%xmm5,%xmm5
+  DB  102,15,112,237,232                  ; pshufd        $0xe8,%xmm5,%xmm5
+  DB  15,194,224,2                        ; cmpleps       %xmm0,%xmm4
+  DB  242,15,112,228,232                  ; pshuflw       $0xe8,%xmm4,%xmm4
+  DB  243,15,112,228,232                  ; pshufhw       $0xe8,%xmm4,%xmm4
+  DB  102,15,112,228,232                  ; pshufd        $0xe8,%xmm4,%xmm4
+  DB  102,15,108,229                      ; punpcklqdq    %xmm5,%xmm4
+  DB  243,15,16,111,64                    ; movss         0x40(%edi),%xmm5
+  DB  15,198,237,0                        ; shufps        $0x0,%xmm5,%xmm5
+  DB  15,40,241                           ; movaps        %xmm1,%xmm6
+  DB  15,194,245,1                        ; cmpltps       %xmm5,%xmm6
+  DB  15,40,248                           ; movaps        %xmm0,%xmm7
+  DB  15,194,253,1                        ; cmpltps       %xmm5,%xmm7
+  DB  15,40,109,24                        ; movaps        0x18(%ebp),%xmm5
+  DB  242,15,112,246,232                  ; pshuflw       $0xe8,%xmm6,%xmm6
+  DB  243,15,112,246,232                  ; pshufhw       $0xe8,%xmm6,%xmm6
+  DB  102,15,112,246,232                  ; pshufd        $0xe8,%xmm6,%xmm6
+  DB  242,15,112,255,232                  ; pshuflw       $0xe8,%xmm7,%xmm7
+  DB  243,15,112,255,232                  ; pshufhw       $0xe8,%xmm7,%xmm7
+  DB  102,15,112,255,232                  ; pshufd        $0xe8,%xmm7,%xmm7
+  DB  102,15,108,254                      ; punpcklqdq    %xmm6,%xmm7
+  DB  15,40,117,40                        ; movaps        0x28(%ebp),%xmm6
+  DB  102,15,113,244,15                   ; psllw         $0xf,%xmm4
+  DB  102,15,113,228,15                   ; psraw         $0xf,%xmm4
+  DB  102,15,113,247,15                   ; psllw         $0xf,%xmm7
+  DB  102,15,113,231,15                   ; psraw         $0xf,%xmm7
+  DB  102,15,219,252                      ; pand          %xmm4,%xmm7
+  DB  15,40,101,56                        ; movaps        0x38(%ebp),%xmm4
+  DB  243,15,127,63                       ; movdqu        %xmm7,(%edi)
+  DB  15,40,125,72                        ; movaps        0x48(%ebp),%xmm7
+  DB  141,121,8                           ; lea           0x8(%ecx),%edi
+  DB  15,41,124,36,64                     ; movaps        %xmm7,0x40(%esp)
+  DB  15,41,100,36,48                     ; movaps        %xmm4,0x30(%esp)
+  DB  15,41,116,36,32                     ; movaps        %xmm6,0x20(%esp)
+  DB  15,41,108,36,16                     ; movaps        %xmm5,0x10(%esp)
+  DB  137,116,36,12                       ; mov           %esi,0xc(%esp)
+  DB  137,84,36,8                         ; mov           %edx,0x8(%esp)
+  DB  137,124,36,4                        ; mov           %edi,0x4(%esp)
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  255,81,4                            ; call          *0x4(%ecx)
+  DB  131,196,80                          ; add           $0x50,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_decal_y_sse2_lowp
+_sk_decal_y_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,80                          ; sub           $0x50,%esp
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,85,16                           ; mov           0x10(%ebp),%edx
+  DB  139,117,20                          ; mov           0x14(%ebp),%esi
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  139,57                              ; mov           (%ecx),%edi
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,87,237                           ; xorps         %xmm5,%xmm5
+  DB  15,194,235,2                        ; cmpleps       %xmm3,%xmm5
+  DB  242,15,112,237,232                  ; pshuflw       $0xe8,%xmm5,%xmm5
+  DB  243,15,112,237,232                  ; pshufhw       $0xe8,%xmm5,%xmm5
+  DB  102,15,112,237,232                  ; pshufd        $0xe8,%xmm5,%xmm5
+  DB  15,194,226,2                        ; cmpleps       %xmm2,%xmm4
+  DB  242,15,112,228,232                  ; pshuflw       $0xe8,%xmm4,%xmm4
+  DB  243,15,112,228,232                  ; pshufhw       $0xe8,%xmm4,%xmm4
+  DB  102,15,112,228,232                  ; pshufd        $0xe8,%xmm4,%xmm4
+  DB  102,15,108,229                      ; punpcklqdq    %xmm5,%xmm4
+  DB  243,15,16,111,68                    ; movss         0x44(%edi),%xmm5
+  DB  15,198,237,0                        ; shufps        $0x0,%xmm5,%xmm5
+  DB  15,40,243                           ; movaps        %xmm3,%xmm6
+  DB  15,194,245,1                        ; cmpltps       %xmm5,%xmm6
+  DB  15,40,250                           ; movaps        %xmm2,%xmm7
+  DB  15,194,253,1                        ; cmpltps       %xmm5,%xmm7
+  DB  15,40,109,24                        ; movaps        0x18(%ebp),%xmm5
+  DB  242,15,112,246,232                  ; pshuflw       $0xe8,%xmm6,%xmm6
+  DB  243,15,112,246,232                  ; pshufhw       $0xe8,%xmm6,%xmm6
+  DB  102,15,112,246,232                  ; pshufd        $0xe8,%xmm6,%xmm6
+  DB  242,15,112,255,232                  ; pshuflw       $0xe8,%xmm7,%xmm7
+  DB  243,15,112,255,232                  ; pshufhw       $0xe8,%xmm7,%xmm7
+  DB  102,15,112,255,232                  ; pshufd        $0xe8,%xmm7,%xmm7
+  DB  102,15,108,254                      ; punpcklqdq    %xmm6,%xmm7
+  DB  15,40,117,40                        ; movaps        0x28(%ebp),%xmm6
+  DB  102,15,113,244,15                   ; psllw         $0xf,%xmm4
+  DB  102,15,113,228,15                   ; psraw         $0xf,%xmm4
+  DB  102,15,113,247,15                   ; psllw         $0xf,%xmm7
+  DB  102,15,113,231,15                   ; psraw         $0xf,%xmm7
+  DB  102,15,219,252                      ; pand          %xmm4,%xmm7
+  DB  15,40,101,56                        ; movaps        0x38(%ebp),%xmm4
+  DB  243,15,127,63                       ; movdqu        %xmm7,(%edi)
+  DB  15,40,125,72                        ; movaps        0x48(%ebp),%xmm7
+  DB  141,121,8                           ; lea           0x8(%ecx),%edi
+  DB  15,41,124,36,64                     ; movaps        %xmm7,0x40(%esp)
+  DB  15,41,100,36,48                     ; movaps        %xmm4,0x30(%esp)
+  DB  15,41,116,36,32                     ; movaps        %xmm6,0x20(%esp)
+  DB  15,41,108,36,16                     ; movaps        %xmm5,0x10(%esp)
+  DB  137,116,36,12                       ; mov           %esi,0xc(%esp)
+  DB  137,84,36,8                         ; mov           %edx,0x8(%esp)
+  DB  137,124,36,4                        ; mov           %edi,0x4(%esp)
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  255,81,4                            ; call          *0x4(%ecx)
+  DB  131,196,80                          ; add           $0x50,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_decal_x_and_y_sse2_lowp
+_sk_decal_x_and_y_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,80                          ; sub           $0x50,%esp
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,85,16                           ; mov           0x10(%ebp),%edx
+  DB  139,117,20                          ; mov           0x14(%ebp),%esi
+  DB  139,77,12                           ; mov           0xc(%ebp),%ecx
+  DB  139,57                              ; mov           (%ecx),%edi
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,194,225,2                        ; cmpleps       %xmm1,%xmm4
+  DB  242,15,112,228,232                  ; pshuflw       $0xe8,%xmm4,%xmm4
+  DB  243,15,112,228,232                  ; pshufhw       $0xe8,%xmm4,%xmm4
+  DB  102,15,112,236,232                  ; pshufd        $0xe8,%xmm4,%xmm5
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  15,194,224,2                        ; cmpleps       %xmm0,%xmm4
+  DB  242,15,112,228,232                  ; pshuflw       $0xe8,%xmm4,%xmm4
+  DB  243,15,112,228,232                  ; pshufhw       $0xe8,%xmm4,%xmm4
+  DB  102,15,112,228,232                  ; pshufd        $0xe8,%xmm4,%xmm4
+  DB  102,15,108,229                      ; punpcklqdq    %xmm5,%xmm4
+  DB  243,15,16,111,64                    ; movss         0x40(%edi),%xmm5
+  DB  15,198,237,0                        ; shufps        $0x0,%xmm5,%xmm5
+  DB  15,40,241                           ; movaps        %xmm1,%xmm6
+  DB  15,194,245,1                        ; cmpltps       %xmm5,%xmm6
+  DB  15,40,248                           ; movaps        %xmm0,%xmm7
+  DB  15,194,253,1                        ; cmpltps       %xmm5,%xmm7
+  DB  15,87,237                           ; xorps         %xmm5,%xmm5
+  DB  102,15,113,244,15                   ; psllw         $0xf,%xmm4
+  DB  102,15,113,228,15                   ; psraw         $0xf,%xmm4
+  DB  242,15,112,246,232                  ; pshuflw       $0xe8,%xmm6,%xmm6
+  DB  243,15,112,246,232                  ; pshufhw       $0xe8,%xmm6,%xmm6
+  DB  102,15,112,246,232                  ; pshufd        $0xe8,%xmm6,%xmm6
+  DB  242,15,112,255,232                  ; pshuflw       $0xe8,%xmm7,%xmm7
+  DB  243,15,112,255,232                  ; pshufhw       $0xe8,%xmm7,%xmm7
+  DB  102,15,112,255,232                  ; pshufd        $0xe8,%xmm7,%xmm7
+  DB  102,15,108,254                      ; punpcklqdq    %xmm6,%xmm7
+  DB  102,15,239,246                      ; pxor          %xmm6,%xmm6
+  DB  15,194,243,2                        ; cmpleps       %xmm3,%xmm6
+  DB  242,15,112,246,232                  ; pshuflw       $0xe8,%xmm6,%xmm6
+  DB  243,15,112,246,232                  ; pshufhw       $0xe8,%xmm6,%xmm6
+  DB  102,15,112,246,232                  ; pshufd        $0xe8,%xmm6,%xmm6
+  DB  15,194,234,2                        ; cmpleps       %xmm2,%xmm5
+  DB  242,15,112,237,232                  ; pshuflw       $0xe8,%xmm5,%xmm5
+  DB  243,15,112,237,232                  ; pshufhw       $0xe8,%xmm5,%xmm5
+  DB  102,15,112,237,232                  ; pshufd        $0xe8,%xmm5,%xmm5
+  DB  102,15,108,238                      ; punpcklqdq    %xmm6,%xmm5
+  DB  243,15,16,119,68                    ; movss         0x44(%edi),%xmm6
+  DB  102,15,113,247,15                   ; psllw         $0xf,%xmm7
+  DB  102,15,113,231,15                   ; psraw         $0xf,%xmm7
+  DB  102,15,113,245,15                   ; psllw         $0xf,%xmm5
+  DB  102,15,113,229,15                   ; psraw         $0xf,%xmm5
+  DB  102,15,219,236                      ; pand          %xmm4,%xmm5
+  DB  102,15,219,239                      ; pand          %xmm7,%xmm5
+  DB  15,198,246,0                        ; shufps        $0x0,%xmm6,%xmm6
+  DB  15,40,227                           ; movaps        %xmm3,%xmm4
+  DB  15,194,230,1                        ; cmpltps       %xmm6,%xmm4
+  DB  15,40,250                           ; movaps        %xmm2,%xmm7
+  DB  15,194,254,1                        ; cmpltps       %xmm6,%xmm7
+  DB  15,40,117,24                        ; movaps        0x18(%ebp),%xmm6
+  DB  242,15,112,228,232                  ; pshuflw       $0xe8,%xmm4,%xmm4
+  DB  243,15,112,228,232                  ; pshufhw       $0xe8,%xmm4,%xmm4
+  DB  102,15,112,228,232                  ; pshufd        $0xe8,%xmm4,%xmm4
+  DB  242,15,112,255,232                  ; pshuflw       $0xe8,%xmm7,%xmm7
+  DB  243,15,112,255,232                  ; pshufhw       $0xe8,%xmm7,%xmm7
+  DB  102,15,112,255,232                  ; pshufd        $0xe8,%xmm7,%xmm7
+  DB  102,15,108,252                      ; punpcklqdq    %xmm4,%xmm7
+  DB  15,40,101,40                        ; movaps        0x28(%ebp),%xmm4
+  DB  102,15,113,247,15                   ; psllw         $0xf,%xmm7
+  DB  102,15,113,231,15                   ; psraw         $0xf,%xmm7
+  DB  102,15,219,253                      ; pand          %xmm5,%xmm7
+  DB  15,40,109,56                        ; movaps        0x38(%ebp),%xmm5
+  DB  243,15,127,63                       ; movdqu        %xmm7,(%edi)
+  DB  15,40,125,72                        ; movaps        0x48(%ebp),%xmm7
+  DB  141,121,8                           ; lea           0x8(%ecx),%edi
+  DB  15,41,124,36,64                     ; movaps        %xmm7,0x40(%esp)
+  DB  15,41,108,36,48                     ; movaps        %xmm5,0x30(%esp)
+  DB  15,41,100,36,32                     ; movaps        %xmm4,0x20(%esp)
+  DB  15,41,116,36,16                     ; movaps        %xmm6,0x10(%esp)
+  DB  137,116,36,12                       ; mov           %esi,0xc(%esp)
+  DB  137,84,36,8                         ; mov           %edx,0x8(%esp)
+  DB  137,124,36,4                        ; mov           %edi,0x4(%esp)
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  255,81,4                            ; call          *0x4(%ecx)
+  DB  131,196,80                          ; add           $0x50,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_check_decal_mask_sse2_lowp
+_sk_check_decal_mask_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,80                          ; sub           $0x50,%esp
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,77,16                           ; mov           0x10(%ebp),%ecx
+  DB  139,85,20                           ; mov           0x14(%ebp),%edx
+  DB  15,40,101,24                        ; movaps        0x18(%ebp),%xmm4
+  DB  15,40,109,40                        ; movaps        0x28(%ebp),%xmm5
+  DB  15,40,117,56                        ; movaps        0x38(%ebp),%xmm6
+  DB  139,117,12                          ; mov           0xc(%ebp),%esi
+  DB  139,62                              ; mov           (%esi),%edi
+  DB  15,16,63                            ; movups        (%edi),%xmm7
+  DB  15,84,199                           ; andps         %xmm7,%xmm0
+  DB  15,84,207                           ; andps         %xmm7,%xmm1
+  DB  15,84,215                           ; andps         %xmm7,%xmm2
+  DB  15,84,223                           ; andps         %xmm7,%xmm3
+  DB  15,40,125,72                        ; movaps        0x48(%ebp),%xmm7
+  DB  141,126,8                           ; lea           0x8(%esi),%edi
+  DB  15,41,124,36,64                     ; movaps        %xmm7,0x40(%esp)
+  DB  15,41,116,36,48                     ; movaps        %xmm6,0x30(%esp)
+  DB  15,41,108,36,32                     ; movaps        %xmm5,0x20(%esp)
+  DB  15,41,100,36,16                     ; movaps        %xmm4,0x10(%esp)
+  DB  137,84,36,12                        ; mov           %edx,0xc(%esp)
+  DB  137,76,36,8                         ; mov           %ecx,0x8(%esp)
+  DB  137,124,36,4                        ; mov           %edi,0x4(%esp)
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  255,86,4                            ; call          *0x4(%esi)
+  DB  131,196,80                          ; add           $0x50,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_gradient_sse2_lowp
+_sk_gradient_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  129,236,108,1,0,0                   ; sub           $0x16c,%esp
+  DB  232,0,0,0,0                         ; call          f30d <_sk_gradient_sse2_lowp+0x11>
+  DB  88                                  ; pop           %eax
+  DB  137,69,164                          ; mov           %eax,-0x5c(%ebp)
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,0                               ; mov           (%eax),%eax
+  DB  137,198                             ; mov           %eax,%esi
+  DB  139,0                               ; mov           (%eax),%eax
+  DB  102,15,239,255                      ; pxor          %xmm7,%xmm7
+  DB  131,248,2                           ; cmp           $0x2,%eax
+  DB  102,15,239,237                      ; pxor          %xmm5,%xmm5
+  DB  114,48                              ; jb            f357 <_sk_gradient_sse2_lowp+0x5b>
+  DB  139,78,36                           ; mov           0x24(%esi),%ecx
+  DB  72                                  ; dec           %eax
+  DB  131,193,4                           ; add           $0x4,%ecx
+  DB  102,15,239,255                      ; pxor          %xmm7,%xmm7
+  DB  102,15,239,237                      ; pxor          %xmm5,%xmm5
+  DB  243,15,16,17                        ; movss         (%ecx),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  15,40,218                           ; movaps        %xmm2,%xmm3
+  DB  15,194,216,2                        ; cmpleps       %xmm0,%xmm3
+  DB  102,15,250,251                      ; psubd         %xmm3,%xmm7
+  DB  15,194,209,2                        ; cmpleps       %xmm1,%xmm2
+  DB  102,15,250,234                      ; psubd         %xmm2,%xmm5
+  DB  131,193,4                           ; add           $0x4,%ecx
+  DB  72                                  ; dec           %eax
+  DB  117,223                             ; jne           f336 <_sk_gradient_sse2_lowp+0x3a>
+  DB  102,15,112,215,229                  ; pshufd        $0xe5,%xmm7,%xmm2
+  DB  102,15,112,223,78                   ; pshufd        $0x4e,%xmm7,%xmm3
+  DB  15,41,141,104,255,255,255           ; movaps        %xmm1,-0x98(%ebp)
+  DB  15,41,133,248,254,255,255           ; movaps        %xmm0,-0x108(%ebp)
+  DB  102,15,112,229,78                   ; pshufd        $0x4e,%xmm5,%xmm4
+  DB  102,15,126,225                      ; movd          %xmm4,%ecx
+  DB  137,77,136                          ; mov           %ecx,-0x78(%ebp)
+  DB  102,15,112,229,231                  ; pshufd        $0xe7,%xmm5,%xmm4
+  DB  102,15,126,226                      ; movd          %xmm4,%edx
+  DB  139,70,4                            ; mov           0x4(%esi),%eax
+  DB  243,15,16,36,144                    ; movss         (%eax,%edx,4),%xmm4
+  DB  137,85,232                          ; mov           %edx,-0x18(%ebp)
+  DB  243,15,16,52,136                    ; movss         (%eax,%ecx,4),%xmm6
+  DB  15,20,244                           ; unpcklps      %xmm4,%xmm6
+  DB  102,15,112,229,229                  ; pshufd        $0xe5,%xmm5,%xmm4
+  DB  102,15,126,233                      ; movd          %xmm5,%ecx
+  DB  137,77,168                          ; mov           %ecx,-0x58(%ebp)
+  DB  243,15,16,4,136                     ; movss         (%eax,%ecx,4),%xmm0
+  DB  102,15,126,225                      ; movd          %xmm4,%ecx
+  DB  137,77,184                          ; mov           %ecx,-0x48(%ebp)
+  DB  243,15,16,12,136                    ; movss         (%eax,%ecx,4),%xmm1
+  DB  15,20,193                           ; unpcklps      %xmm1,%xmm0
+  DB  102,15,112,207,231                  ; pshufd        $0xe7,%xmm7,%xmm1
+  DB  102,15,126,201                      ; movd          %xmm1,%ecx
+  DB  137,77,240                          ; mov           %ecx,-0x10(%ebp)
+  DB  243,15,16,12,136                    ; movss         (%eax,%ecx,4),%xmm1
+  DB  102,15,126,217                      ; movd          %xmm3,%ecx
+  DB  243,15,16,28,136                    ; movss         (%eax,%ecx,4),%xmm3
+  DB  137,207                             ; mov           %ecx,%edi
+  DB  137,125,200                         ; mov           %edi,-0x38(%ebp)
+  DB  102,15,126,249                      ; movd          %xmm7,%ecx
+  DB  137,77,236                          ; mov           %ecx,-0x14(%ebp)
+  DB  243,15,16,36,136                    ; movss         (%eax,%ecx,4),%xmm4
+  DB  137,117,228                         ; mov           %esi,-0x1c(%ebp)
+  DB  102,15,126,209                      ; movd          %xmm2,%ecx
+  DB  243,15,16,20,136                    ; movss         (%eax,%ecx,4),%xmm2
+  DB  137,203                             ; mov           %ecx,%ebx
+  DB  137,93,224                          ; mov           %ebx,-0x20(%ebp)
+  DB  102,15,20,198                       ; unpcklpd      %xmm6,%xmm0
+  DB  102,15,41,133,120,255,255,255       ; movapd        %xmm0,-0x88(%ebp)
+  DB  15,20,217                           ; unpcklps      %xmm1,%xmm3
+  DB  15,20,226                           ; unpcklps      %xmm2,%xmm4
+  DB  102,15,20,227                       ; unpcklpd      %xmm3,%xmm4
+  DB  139,70,8                            ; mov           0x8(%esi),%eax
+  DB  243,15,16,12,144                    ; movss         (%eax,%edx,4),%xmm1
+  DB  139,117,136                         ; mov           -0x78(%ebp),%esi
+  DB  243,15,16,28,176                    ; movss         (%eax,%esi,4),%xmm3
+  DB  15,20,217                           ; unpcklps      %xmm1,%xmm3
+  DB  139,77,168                          ; mov           -0x58(%ebp),%ecx
+  DB  243,15,16,4,136                     ; movss         (%eax,%ecx,4),%xmm0
+  DB  139,85,184                          ; mov           -0x48(%ebp),%edx
+  DB  243,15,16,12,144                    ; movss         (%eax,%edx,4),%xmm1
+  DB  15,20,193                           ; unpcklps      %xmm1,%xmm0
+  DB  102,15,20,195                       ; unpcklpd      %xmm3,%xmm0
+  DB  102,15,41,133,8,255,255,255         ; movapd        %xmm0,-0xf8(%ebp)
+  DB  139,85,240                          ; mov           -0x10(%ebp),%edx
+  DB  243,15,16,12,144                    ; movss         (%eax,%edx,4),%xmm1
+  DB  243,15,16,28,184                    ; movss         (%eax,%edi,4),%xmm3
+  DB  15,20,217                           ; unpcklps      %xmm1,%xmm3
+  DB  139,125,236                         ; mov           -0x14(%ebp),%edi
+  DB  243,15,16,44,184                    ; movss         (%eax,%edi,4),%xmm5
+  DB  243,15,16,12,152                    ; movss         (%eax,%ebx,4),%xmm1
+  DB  15,20,233                           ; unpcklps      %xmm1,%xmm5
+  DB  102,15,20,235                       ; unpcklpd      %xmm3,%xmm5
+  DB  139,93,228                          ; mov           -0x1c(%ebp),%ebx
+  DB  139,67,12                           ; mov           0xc(%ebx),%eax
+  DB  139,125,232                         ; mov           -0x18(%ebp),%edi
+  DB  243,15,16,12,184                    ; movss         (%eax,%edi,4),%xmm1
+  DB  243,15,16,52,176                    ; movss         (%eax,%esi,4),%xmm6
+  DB  15,20,241                           ; unpcklps      %xmm1,%xmm6
+  DB  243,15,16,28,136                    ; movss         (%eax,%ecx,4),%xmm3
+  DB  139,77,184                          ; mov           -0x48(%ebp),%ecx
+  DB  243,15,16,12,136                    ; movss         (%eax,%ecx,4),%xmm1
+  DB  15,20,217                           ; unpcklps      %xmm1,%xmm3
+  DB  102,15,20,222                       ; unpcklpd      %xmm6,%xmm3
+  DB  102,15,41,157,232,254,255,255       ; movapd        %xmm3,-0x118(%ebp)
+  DB  243,15,16,12,144                    ; movss         (%eax,%edx,4),%xmm1
+  DB  139,85,200                          ; mov           -0x38(%ebp),%edx
+  DB  243,15,16,52,144                    ; movss         (%eax,%edx,4),%xmm6
+  DB  15,20,241                           ; unpcklps      %xmm1,%xmm6
+  DB  139,117,236                         ; mov           -0x14(%ebp),%esi
+  DB  243,15,16,4,176                     ; movss         (%eax,%esi,4),%xmm0
+  DB  139,125,224                         ; mov           -0x20(%ebp),%edi
+  DB  243,15,16,60,184                    ; movss         (%eax,%edi,4),%xmm7
+  DB  15,20,199                           ; unpcklps      %xmm7,%xmm0
+  DB  102,15,20,198                       ; unpcklpd      %xmm6,%xmm0
+  DB  102,15,41,133,72,255,255,255        ; movapd        %xmm0,-0xb8(%ebp)
+  DB  139,67,16                           ; mov           0x10(%ebx),%eax
+  DB  139,93,232                          ; mov           -0x18(%ebp),%ebx
+  DB  243,15,16,52,152                    ; movss         (%eax,%ebx,4),%xmm6
+  DB  139,125,136                         ; mov           -0x78(%ebp),%edi
+  DB  243,15,16,60,184                    ; movss         (%eax,%edi,4),%xmm7
+  DB  15,20,254                           ; unpcklps      %xmm6,%xmm7
+  DB  139,125,168                         ; mov           -0x58(%ebp),%edi
+  DB  243,15,16,28,184                    ; movss         (%eax,%edi,4),%xmm3
+  DB  243,15,16,52,136                    ; movss         (%eax,%ecx,4),%xmm6
+  DB  15,20,222                           ; unpcklps      %xmm6,%xmm3
+  DB  102,15,20,223                       ; unpcklpd      %xmm7,%xmm3
+  DB  102,15,41,157,216,254,255,255       ; movapd        %xmm3,-0x128(%ebp)
+  DB  139,77,240                          ; mov           -0x10(%ebp),%ecx
+  DB  243,15,16,52,136                    ; movss         (%eax,%ecx,4),%xmm6
+  DB  243,15,16,60,144                    ; movss         (%eax,%edx,4),%xmm7
+  DB  15,20,254                           ; unpcklps      %xmm6,%xmm7
+  DB  243,15,16,52,176                    ; movss         (%eax,%esi,4),%xmm6
+  DB  139,125,224                         ; mov           -0x20(%ebp),%edi
+  DB  243,15,16,28,184                    ; movss         (%eax,%edi,4),%xmm3
+  DB  15,20,243                           ; unpcklps      %xmm3,%xmm6
+  DB  102,15,20,247                       ; unpcklpd      %xmm7,%xmm6
+  DB  139,85,228                          ; mov           -0x1c(%ebp),%edx
+  DB  139,66,20                           ; mov           0x14(%edx),%eax
+  DB  243,15,16,28,136                    ; movss         (%eax,%ecx,4),%xmm3
+  DB  139,77,200                          ; mov           -0x38(%ebp),%ecx
+  DB  243,15,16,60,136                    ; movss         (%eax,%ecx,4),%xmm7
+  DB  15,20,251                           ; unpcklps      %xmm3,%xmm7
+  DB  243,15,16,12,176                    ; movss         (%eax,%esi,4),%xmm1
+  DB  137,249                             ; mov           %edi,%ecx
+  DB  243,15,16,28,136                    ; movss         (%eax,%ecx,4),%xmm3
+  DB  137,206                             ; mov           %ecx,%esi
+  DB  15,20,203                           ; unpcklps      %xmm3,%xmm1
+  DB  102,15,20,207                       ; unpcklpd      %xmm7,%xmm1
+  DB  243,15,16,28,152                    ; movss         (%eax,%ebx,4),%xmm3
+  DB  139,77,136                          ; mov           -0x78(%ebp),%ecx
+  DB  243,15,16,60,136                    ; movss         (%eax,%ecx,4),%xmm7
+  DB  15,20,251                           ; unpcklps      %xmm3,%xmm7
+  DB  139,125,168                         ; mov           -0x58(%ebp),%edi
+  DB  243,15,16,20,184                    ; movss         (%eax,%edi,4),%xmm2
+  DB  139,125,184                         ; mov           -0x48(%ebp),%edi
+  DB  243,15,16,28,184                    ; movss         (%eax,%edi,4),%xmm3
+  DB  15,20,211                           ; unpcklps      %xmm3,%xmm2
+  DB  102,15,20,215                       ; unpcklpd      %xmm7,%xmm2
+  DB  139,66,24                           ; mov           0x18(%edx),%eax
+  DB  139,85,240                          ; mov           -0x10(%ebp),%edx
+  DB  243,15,16,28,144                    ; movss         (%eax,%edx,4),%xmm3
+  DB  139,93,200                          ; mov           -0x38(%ebp),%ebx
+  DB  243,15,16,60,152                    ; movss         (%eax,%ebx,4),%xmm7
+  DB  15,20,251                           ; unpcklps      %xmm3,%xmm7
+  DB  139,93,236                          ; mov           -0x14(%ebp),%ebx
+  DB  243,15,16,4,152                     ; movss         (%eax,%ebx,4),%xmm0
+  DB  243,15,16,28,176                    ; movss         (%eax,%esi,4),%xmm3
+  DB  15,20,195                           ; unpcklps      %xmm3,%xmm0
+  DB  102,15,20,199                       ; unpcklpd      %xmm7,%xmm0
+  DB  102,15,41,133,40,255,255,255        ; movapd        %xmm0,-0xd8(%ebp)
+  DB  139,117,232                         ; mov           -0x18(%ebp),%esi
+  DB  243,15,16,28,176                    ; movss         (%eax,%esi,4),%xmm3
+  DB  243,15,16,60,136                    ; movss         (%eax,%ecx,4),%xmm7
+  DB  15,20,251                           ; unpcklps      %xmm3,%xmm7
+  DB  139,77,168                          ; mov           -0x58(%ebp),%ecx
+  DB  243,15,16,4,136                     ; movss         (%eax,%ecx,4),%xmm0
+  DB  243,15,16,28,184                    ; movss         (%eax,%edi,4),%xmm3
+  DB  15,20,195                           ; unpcklps      %xmm3,%xmm0
+  DB  102,15,20,199                       ; unpcklpd      %xmm7,%xmm0
+  DB  102,15,41,133,88,255,255,255        ; movapd        %xmm0,-0xa8(%ebp)
+  DB  139,69,228                          ; mov           -0x1c(%ebp),%eax
+  DB  139,64,28                           ; mov           0x1c(%eax),%eax
+  DB  243,15,16,28,144                    ; movss         (%eax,%edx,4),%xmm3
+  DB  139,77,200                          ; mov           -0x38(%ebp),%ecx
+  DB  243,15,16,60,136                    ; movss         (%eax,%ecx,4),%xmm7
+  DB  15,20,251                           ; unpcklps      %xmm3,%xmm7
+  DB  243,15,16,4,152                     ; movss         (%eax,%ebx,4),%xmm0
+  DB  139,77,224                          ; mov           -0x20(%ebp),%ecx
+  DB  243,15,16,28,136                    ; movss         (%eax,%ecx,4),%xmm3
+  DB  15,20,195                           ; unpcklps      %xmm3,%xmm0
+  DB  102,15,20,199                       ; unpcklpd      %xmm7,%xmm0
+  DB  102,15,41,133,24,255,255,255        ; movapd        %xmm0,-0xe8(%ebp)
+  DB  139,117,232                         ; mov           -0x18(%ebp),%esi
+  DB  243,15,16,28,176                    ; movss         (%eax,%esi,4),%xmm3
+  DB  139,125,136                         ; mov           -0x78(%ebp),%edi
+  DB  243,15,16,60,184                    ; movss         (%eax,%edi,4),%xmm7
+  DB  15,20,251                           ; unpcklps      %xmm3,%xmm7
+  DB  139,93,168                          ; mov           -0x58(%ebp),%ebx
+  DB  243,15,16,4,152                     ; movss         (%eax,%ebx,4),%xmm0
+  DB  139,85,184                          ; mov           -0x48(%ebp),%edx
+  DB  243,15,16,28,144                    ; movss         (%eax,%edx,4),%xmm3
+  DB  15,20,195                           ; unpcklps      %xmm3,%xmm0
+  DB  102,15,20,199                       ; unpcklpd      %xmm7,%xmm0
+  DB  102,15,41,133,56,255,255,255        ; movapd        %xmm0,-0xc8(%ebp)
+  DB  139,69,228                          ; mov           -0x1c(%ebp),%eax
+  DB  139,64,32                           ; mov           0x20(%eax),%eax
+  DB  139,85,240                          ; mov           -0x10(%ebp),%edx
+  DB  243,15,16,28,144                    ; movss         (%eax,%edx,4),%xmm3
+  DB  139,85,200                          ; mov           -0x38(%ebp),%edx
+  DB  243,15,16,60,144                    ; movss         (%eax,%edx,4),%xmm7
+  DB  15,20,251                           ; unpcklps      %xmm3,%xmm7
+  DB  139,85,236                          ; mov           -0x14(%ebp),%edx
+  DB  243,15,16,4,144                     ; movss         (%eax,%edx,4),%xmm0
+  DB  243,15,16,28,136                    ; movss         (%eax,%ecx,4),%xmm3
+  DB  15,20,195                           ; unpcklps      %xmm3,%xmm0
+  DB  102,15,20,199                       ; unpcklpd      %xmm7,%xmm0
+  DB  102,15,41,69,200                    ; movapd        %xmm0,-0x38(%ebp)
+  DB  243,15,16,28,176                    ; movss         (%eax,%esi,4),%xmm3
+  DB  243,15,16,60,184                    ; movss         (%eax,%edi,4),%xmm7
+  DB  15,20,251                           ; unpcklps      %xmm3,%xmm7
+  DB  243,15,16,4,152                     ; movss         (%eax,%ebx,4),%xmm0
+  DB  139,77,184                          ; mov           -0x48(%ebp),%ecx
+  DB  243,15,16,28,136                    ; movss         (%eax,%ecx,4),%xmm3
+  DB  15,20,195                           ; unpcklps      %xmm3,%xmm0
+  DB  102,15,20,199                       ; unpcklpd      %xmm7,%xmm0
+  DB  102,15,41,69,184                    ; movapd        %xmm0,-0x48(%ebp)
+  DB  15,40,189,248,254,255,255           ; movaps        -0x108(%ebp),%xmm7
+  DB  15,89,231                           ; mulps         %xmm7,%xmm4
+  DB  15,88,225                           ; addps         %xmm1,%xmm4
+  DB  15,40,157,104,255,255,255           ; movaps        -0x98(%ebp),%xmm3
+  DB  15,40,133,120,255,255,255           ; movaps        -0x88(%ebp),%xmm0
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  15,88,194                           ; addps         %xmm2,%xmm0
+  DB  139,69,164                          ; mov           -0x5c(%ebp),%eax
+  DB  15,40,136,51,21,0,0                 ; movaps        0x1533(%eax),%xmm1
+  DB  15,89,225                           ; mulps         %xmm1,%xmm4
+  DB  15,89,193                           ; mulps         %xmm1,%xmm0
+  DB  15,40,144,83,20,0,0                 ; movaps        0x1453(%eax),%xmm2
+  DB  15,88,194                           ; addps         %xmm2,%xmm0
+  DB  15,41,133,120,255,255,255           ; movaps        %xmm0,-0x88(%ebp)
+  DB  15,88,226                           ; addps         %xmm2,%xmm4
+  DB  243,15,91,196                       ; cvttps2dq     %xmm4,%xmm0
+  DB  242,15,112,192,232                  ; pshuflw       $0xe8,%xmm0,%xmm0
+  DB  243,15,112,192,232                  ; pshufhw       $0xe8,%xmm0,%xmm0
+  DB  102,15,112,224,232                  ; pshufd        $0xe8,%xmm0,%xmm4
+  DB  243,15,91,133,120,255,255,255       ; cvttps2dq     -0x88(%ebp),%xmm0
+  DB  242,15,112,192,232                  ; pshuflw       $0xe8,%xmm0,%xmm0
+  DB  243,15,112,192,232                  ; pshufhw       $0xe8,%xmm0,%xmm0
+  DB  102,15,112,192,232                  ; pshufd        $0xe8,%xmm0,%xmm0
+  DB  102,15,108,224                      ; punpcklqdq    %xmm0,%xmm4
+  DB  102,15,127,101,168                  ; movdqa        %xmm4,-0x58(%ebp)
+  DB  15,89,239                           ; mulps         %xmm7,%xmm5
+  DB  15,88,173,40,255,255,255            ; addps         -0xd8(%ebp),%xmm5
+  DB  15,40,133,8,255,255,255             ; movaps        -0xf8(%ebp),%xmm0
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  15,88,133,88,255,255,255            ; addps         -0xa8(%ebp),%xmm0
+  DB  15,89,233                           ; mulps         %xmm1,%xmm5
+  DB  15,89,193                           ; mulps         %xmm1,%xmm0
+  DB  15,40,217                           ; movaps        %xmm1,%xmm3
+  DB  15,88,194                           ; addps         %xmm2,%xmm0
+  DB  15,40,224                           ; movaps        %xmm0,%xmm4
+  DB  15,88,234                           ; addps         %xmm2,%xmm5
+  DB  15,40,202                           ; movaps        %xmm2,%xmm1
+  DB  243,15,91,197                       ; cvttps2dq     %xmm5,%xmm0
+  DB  242,15,112,192,232                  ; pshuflw       $0xe8,%xmm0,%xmm0
+  DB  243,15,112,192,232                  ; pshufhw       $0xe8,%xmm0,%xmm0
+  DB  102,15,112,208,232                  ; pshufd        $0xe8,%xmm0,%xmm2
+  DB  243,15,91,196                       ; cvttps2dq     %xmm4,%xmm0
+  DB  242,15,112,192,232                  ; pshuflw       $0xe8,%xmm0,%xmm0
+  DB  243,15,112,192,232                  ; pshufhw       $0xe8,%xmm0,%xmm0
+  DB  102,15,112,192,232                  ; pshufd        $0xe8,%xmm0,%xmm0
+  DB  102,15,108,208                      ; punpcklqdq    %xmm0,%xmm2
+  DB  102,15,127,85,136                   ; movdqa        %xmm2,-0x78(%ebp)
+  DB  15,40,149,72,255,255,255            ; movaps        -0xb8(%ebp),%xmm2
+  DB  15,89,215                           ; mulps         %xmm7,%xmm2
+  DB  15,88,149,24,255,255,255            ; addps         -0xe8(%ebp),%xmm2
+  DB  15,40,133,232,254,255,255           ; movaps        -0x118(%ebp),%xmm0
+  DB  15,40,173,104,255,255,255           ; movaps        -0x98(%ebp),%xmm5
+  DB  15,89,197                           ; mulps         %xmm5,%xmm0
+  DB  15,88,133,56,255,255,255            ; addps         -0xc8(%ebp),%xmm0
+  DB  15,89,211                           ; mulps         %xmm3,%xmm2
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  15,88,193                           ; addps         %xmm1,%xmm0
+  DB  15,40,224                           ; movaps        %xmm0,%xmm4
+  DB  15,88,209                           ; addps         %xmm1,%xmm2
+  DB  243,15,91,194                       ; cvttps2dq     %xmm2,%xmm0
+  DB  242,15,112,192,232                  ; pshuflw       $0xe8,%xmm0,%xmm0
+  DB  243,15,112,192,232                  ; pshufhw       $0xe8,%xmm0,%xmm0
+  DB  102,15,112,208,232                  ; pshufd        $0xe8,%xmm0,%xmm2
+  DB  243,15,91,196                       ; cvttps2dq     %xmm4,%xmm0
+  DB  242,15,112,192,232                  ; pshuflw       $0xe8,%xmm0,%xmm0
+  DB  243,15,112,192,232                  ; pshufhw       $0xe8,%xmm0,%xmm0
+  DB  102,15,112,192,232                  ; pshufd        $0xe8,%xmm0,%xmm0
+  DB  102,15,108,208                      ; punpcklqdq    %xmm0,%xmm2
+  DB  15,89,247                           ; mulps         %xmm7,%xmm6
+  DB  15,88,117,200                       ; addps         -0x38(%ebp),%xmm6
+  DB  15,40,133,216,254,255,255           ; movaps        -0x128(%ebp),%xmm0
+  DB  15,89,197                           ; mulps         %xmm5,%xmm0
+  DB  15,88,69,184                        ; addps         -0x48(%ebp),%xmm0
+  DB  15,89,243                           ; mulps         %xmm3,%xmm6
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  15,88,193                           ; addps         %xmm1,%xmm0
+  DB  15,40,224                           ; movaps        %xmm0,%xmm4
+  DB  15,88,241                           ; addps         %xmm1,%xmm6
+  DB  243,15,91,198                       ; cvttps2dq     %xmm6,%xmm0
+  DB  242,15,112,192,232                  ; pshuflw       $0xe8,%xmm0,%xmm0
+  DB  243,15,112,192,232                  ; pshufhw       $0xe8,%xmm0,%xmm0
+  DB  102,15,112,216,232                  ; pshufd        $0xe8,%xmm0,%xmm3
+  DB  243,15,91,196                       ; cvttps2dq     %xmm4,%xmm0
+  DB  242,15,112,192,232                  ; pshuflw       $0xe8,%xmm0,%xmm0
+  DB  243,15,112,192,232                  ; pshufhw       $0xe8,%xmm0,%xmm0
+  DB  102,15,112,192,232                  ; pshufd        $0xe8,%xmm0,%xmm0
+  DB  102,15,108,216                      ; punpcklqdq    %xmm0,%xmm3
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  137,193                             ; mov           %eax,%ecx
+  DB  141,65,8                            ; lea           0x8(%ecx),%eax
+  DB  15,40,69,72                         ; movaps        0x48(%ebp),%xmm0
+  DB  15,41,68,36,64                      ; movaps        %xmm0,0x40(%esp)
+  DB  15,40,69,56                         ; movaps        0x38(%ebp),%xmm0
+  DB  15,41,68,36,48                      ; movaps        %xmm0,0x30(%esp)
+  DB  15,40,69,40                         ; movaps        0x28(%ebp),%xmm0
+  DB  15,41,68,36,32                      ; movaps        %xmm0,0x20(%esp)
+  DB  15,40,69,24                         ; movaps        0x18(%ebp),%xmm0
+  DB  15,41,68,36,16                      ; movaps        %xmm0,0x10(%esp)
+  DB  139,85,20                           ; mov           0x14(%ebp),%edx
+  DB  137,84,36,12                        ; mov           %edx,0xc(%esp)
+  DB  139,85,16                           ; mov           0x10(%ebp),%edx
+  DB  137,84,36,8                         ; mov           %edx,0x8(%esp)
+  DB  137,68,36,4                         ; mov           %eax,0x4(%esp)
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  15,40,69,168                        ; movaps        -0x58(%ebp),%xmm0
+  DB  15,40,77,136                        ; movaps        -0x78(%ebp),%xmm1
+  DB  255,81,4                            ; call          *0x4(%ecx)
+  DB  129,196,108,1,0,0                   ; add           $0x16c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_evenly_spaced_gradient_sse2_lowp
+_sk_evenly_spaced_gradient_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  129,236,92,1,0,0                    ; sub           $0x15c,%esp
+  DB  15,41,141,232,254,255,255           ; movaps        %xmm1,-0x118(%ebp)
+  DB  15,41,69,136                        ; movaps        %xmm0,-0x78(%ebp)
+  DB  232,0,0,0,0                         ; call          f87f <_sk_evenly_spaced_gradient_sse2_lowp+0x1c>
+  DB  90                                  ; pop           %edx
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,48                              ; mov           (%eax),%esi
+  DB  139,14                              ; mov           (%esi),%ecx
+  DB  139,70,4                            ; mov           0x4(%esi),%eax
+  DB  137,243                             ; mov           %esi,%ebx
+  DB  73                                  ; dec           %ecx
+  DB  102,15,110,209                      ; movd          %ecx,%xmm2
+  DB  102,15,112,210,0                    ; pshufd        $0x0,%xmm2,%xmm2
+  DB  137,85,164                          ; mov           %edx,-0x5c(%ebp)
+  DB  102,15,111,154,161,20,0,0           ; movdqa        0x14a1(%edx),%xmm3
+  DB  102,15,219,218                      ; pand          %xmm2,%xmm3
+  DB  102,15,235,154,33,18,0,0            ; por           0x1221(%edx),%xmm3
+  DB  102,15,114,210,16                   ; psrld         $0x10,%xmm2
+  DB  102,15,235,146,177,20,0,0           ; por           0x14b1(%edx),%xmm2
+  DB  15,88,146,193,20,0,0                ; addps         0x14c1(%edx),%xmm2
+  DB  15,88,211                           ; addps         %xmm3,%xmm2
+  DB  15,40,216                           ; movaps        %xmm0,%xmm3
+  DB  15,89,218                           ; mulps         %xmm2,%xmm3
+  DB  15,89,209                           ; mulps         %xmm1,%xmm2
+  DB  243,15,91,194                       ; cvttps2dq     %xmm2,%xmm0
+  DB  243,15,91,203                       ; cvttps2dq     %xmm3,%xmm1
+  DB  102,15,112,209,229                  ; pshufd        $0xe5,%xmm1,%xmm2
+  DB  102,15,112,217,78                   ; pshufd        $0x4e,%xmm1,%xmm3
+  DB  102,15,112,225,231                  ; pshufd        $0xe7,%xmm1,%xmm4
+  DB  102,15,126,230                      ; movd          %xmm4,%esi
+  DB  102,15,112,232,229                  ; pshufd        $0xe5,%xmm0,%xmm5
+  DB  243,15,16,36,176                    ; movss         (%eax,%esi,4),%xmm4
+  DB  137,117,224                         ; mov           %esi,-0x20(%ebp)
+  DB  102,15,126,217                      ; movd          %xmm3,%ecx
+  DB  137,77,200                          ; mov           %ecx,-0x38(%ebp)
+  DB  243,15,16,28,136                    ; movss         (%eax,%ecx,4),%xmm3
+  DB  15,20,220                           ; unpcklps      %xmm4,%xmm3
+  DB  102,15,112,240,78                   ; pshufd        $0x4e,%xmm0,%xmm6
+  DB  102,15,126,201                      ; movd          %xmm1,%ecx
+  DB  243,15,16,60,136                    ; movss         (%eax,%ecx,4),%xmm7
+  DB  137,202                             ; mov           %ecx,%edx
+  DB  137,85,184                          ; mov           %edx,-0x48(%ebp)
+  DB  102,15,126,209                      ; movd          %xmm2,%ecx
+  DB  137,77,228                          ; mov           %ecx,-0x1c(%ebp)
+  DB  243,15,16,12,136                    ; movss         (%eax,%ecx,4),%xmm1
+  DB  15,20,249                           ; unpcklps      %xmm1,%xmm7
+  DB  102,15,112,200,231                  ; pshufd        $0xe7,%xmm0,%xmm1
+  DB  102,15,126,201                      ; movd          %xmm1,%ecx
+  DB  137,77,240                          ; mov           %ecx,-0x10(%ebp)
+  DB  243,15,16,12,136                    ; movss         (%eax,%ecx,4),%xmm1
+  DB  102,15,126,241                      ; movd          %xmm6,%ecx
+  DB  137,77,168                          ; mov           %ecx,-0x58(%ebp)
+  DB  243,15,16,20,136                    ; movss         (%eax,%ecx,4),%xmm2
+  DB  102,15,126,193                      ; movd          %xmm0,%ecx
+  DB  243,15,16,36,136                    ; movss         (%eax,%ecx,4),%xmm4
+  DB  137,207                             ; mov           %ecx,%edi
+  DB  137,125,232                         ; mov           %edi,-0x18(%ebp)
+  DB  102,15,126,233                      ; movd          %xmm5,%ecx
+  DB  137,77,236                          ; mov           %ecx,-0x14(%ebp)
+  DB  243,15,16,44,136                    ; movss         (%eax,%ecx,4),%xmm5
+  DB  102,15,20,251                       ; unpcklpd      %xmm3,%xmm7
+  DB  102,15,41,189,24,255,255,255        ; movapd        %xmm7,-0xe8(%ebp)
+  DB  15,20,209                           ; unpcklps      %xmm1,%xmm2
+  DB  15,20,229                           ; unpcklps      %xmm5,%xmm4
+  DB  102,15,20,226                       ; unpcklpd      %xmm2,%xmm4
+  DB  137,217                             ; mov           %ebx,%ecx
+  DB  137,77,220                          ; mov           %ecx,-0x24(%ebp)
+  DB  139,65,8                            ; mov           0x8(%ecx),%eax
+  DB  243,15,16,12,176                    ; movss         (%eax,%esi,4),%xmm1
+  DB  139,117,200                         ; mov           -0x38(%ebp),%esi
+  DB  243,15,16,20,176                    ; movss         (%eax,%esi,4),%xmm2
+  DB  15,20,209                           ; unpcklps      %xmm1,%xmm2
+  DB  243,15,16,4,144                     ; movss         (%eax,%edx,4),%xmm0
+  DB  139,93,228                          ; mov           -0x1c(%ebp),%ebx
+  DB  243,15,16,12,152                    ; movss         (%eax,%ebx,4),%xmm1
+  DB  15,20,193                           ; unpcklps      %xmm1,%xmm0
+  DB  102,15,20,194                       ; unpcklpd      %xmm2,%xmm0
+  DB  102,15,41,133,72,255,255,255        ; movapd        %xmm0,-0xb8(%ebp)
+  DB  139,85,240                          ; mov           -0x10(%ebp),%edx
+  DB  243,15,16,12,144                    ; movss         (%eax,%edx,4),%xmm1
+  DB  139,117,168                         ; mov           -0x58(%ebp),%esi
+  DB  243,15,16,20,176                    ; movss         (%eax,%esi,4),%xmm2
+  DB  15,20,209                           ; unpcklps      %xmm1,%xmm2
+  DB  243,15,16,12,184                    ; movss         (%eax,%edi,4),%xmm1
+  DB  139,125,236                         ; mov           -0x14(%ebp),%edi
+  DB  243,15,16,28,184                    ; movss         (%eax,%edi,4),%xmm3
+  DB  15,20,203                           ; unpcklps      %xmm3,%xmm1
+  DB  102,15,20,202                       ; unpcklpd      %xmm2,%xmm1
+  DB  139,65,12                           ; mov           0xc(%ecx),%eax
+  DB  139,85,224                          ; mov           -0x20(%ebp),%edx
+  DB  243,15,16,20,144                    ; movss         (%eax,%edx,4),%xmm2
+  DB  139,77,200                          ; mov           -0x38(%ebp),%ecx
+  DB  243,15,16,28,136                    ; movss         (%eax,%ecx,4),%xmm3
+  DB  15,20,218                           ; unpcklps      %xmm2,%xmm3
+  DB  139,77,184                          ; mov           -0x48(%ebp),%ecx
+  DB  243,15,16,20,136                    ; movss         (%eax,%ecx,4),%xmm2
+  DB  243,15,16,52,152                    ; movss         (%eax,%ebx,4),%xmm6
+  DB  15,20,214                           ; unpcklps      %xmm6,%xmm2
+  DB  102,15,20,211                       ; unpcklpd      %xmm3,%xmm2
+  DB  102,15,41,149,8,255,255,255         ; movapd        %xmm2,-0xf8(%ebp)
+  DB  139,93,240                          ; mov           -0x10(%ebp),%ebx
+  DB  243,15,16,28,152                    ; movss         (%eax,%ebx,4),%xmm3
+  DB  243,15,16,52,176                    ; movss         (%eax,%esi,4),%xmm6
+  DB  15,20,243                           ; unpcklps      %xmm3,%xmm6
+  DB  139,117,232                         ; mov           -0x18(%ebp),%esi
+  DB  243,15,16,60,176                    ; movss         (%eax,%esi,4),%xmm7
+  DB  243,15,16,28,184                    ; movss         (%eax,%edi,4),%xmm3
+  DB  15,20,251                           ; unpcklps      %xmm3,%xmm7
+  DB  102,15,20,254                       ; unpcklpd      %xmm6,%xmm7
+  DB  139,117,220                         ; mov           -0x24(%ebp),%esi
+  DB  139,70,16                           ; mov           0x10(%esi),%eax
+  DB  243,15,16,28,144                    ; movss         (%eax,%edx,4),%xmm3
+  DB  139,85,200                          ; mov           -0x38(%ebp),%edx
+  DB  243,15,16,52,144                    ; movss         (%eax,%edx,4),%xmm6
+  DB  15,20,243                           ; unpcklps      %xmm3,%xmm6
+  DB  139,85,184                          ; mov           -0x48(%ebp),%edx
+  DB  243,15,16,20,144                    ; movss         (%eax,%edx,4),%xmm2
+  DB  139,85,228                          ; mov           -0x1c(%ebp),%edx
+  DB  243,15,16,28,144                    ; movss         (%eax,%edx,4),%xmm3
+  DB  15,20,211                           ; unpcklps      %xmm3,%xmm2
+  DB  102,15,20,214                       ; unpcklpd      %xmm6,%xmm2
+  DB  102,15,41,149,248,254,255,255       ; movapd        %xmm2,-0x108(%ebp)
+  DB  243,15,16,28,152                    ; movss         (%eax,%ebx,4),%xmm3
+  DB  139,125,168                         ; mov           -0x58(%ebp),%edi
+  DB  243,15,16,52,184                    ; movss         (%eax,%edi,4),%xmm6
+  DB  15,20,243                           ; unpcklps      %xmm3,%xmm6
+  DB  139,85,232                          ; mov           -0x18(%ebp),%edx
+  DB  243,15,16,4,144                     ; movss         (%eax,%edx,4),%xmm0
+  DB  139,77,236                          ; mov           -0x14(%ebp),%ecx
+  DB  243,15,16,20,136                    ; movss         (%eax,%ecx,4),%xmm2
+  DB  15,20,194                           ; unpcklps      %xmm2,%xmm0
+  DB  102,15,20,198                       ; unpcklpd      %xmm6,%xmm0
+  DB  102,15,41,133,104,255,255,255       ; movapd        %xmm0,-0x98(%ebp)
+  DB  139,70,20                           ; mov           0x14(%esi),%eax
+  DB  243,15,16,20,152                    ; movss         (%eax,%ebx,4),%xmm2
+  DB  243,15,16,52,184                    ; movss         (%eax,%edi,4),%xmm6
+  DB  15,20,242                           ; unpcklps      %xmm2,%xmm6
+  DB  243,15,16,28,144                    ; movss         (%eax,%edx,4),%xmm3
+  DB  243,15,16,20,136                    ; movss         (%eax,%ecx,4),%xmm2
+  DB  15,20,218                           ; unpcklps      %xmm2,%xmm3
+  DB  102,15,20,222                       ; unpcklpd      %xmm6,%xmm3
+  DB  139,93,224                          ; mov           -0x20(%ebp),%ebx
+  DB  243,15,16,20,152                    ; movss         (%eax,%ebx,4),%xmm2
+  DB  139,125,200                         ; mov           -0x38(%ebp),%edi
+  DB  243,15,16,52,184                    ; movss         (%eax,%edi,4),%xmm6
+  DB  15,20,242                           ; unpcklps      %xmm2,%xmm6
+  DB  139,77,184                          ; mov           -0x48(%ebp),%ecx
+  DB  243,15,16,44,136                    ; movss         (%eax,%ecx,4),%xmm5
+  DB  139,77,228                          ; mov           -0x1c(%ebp),%ecx
+  DB  243,15,16,20,136                    ; movss         (%eax,%ecx,4),%xmm2
+  DB  15,20,234                           ; unpcklps      %xmm2,%xmm5
+  DB  102,15,20,238                       ; unpcklpd      %xmm6,%xmm5
+  DB  139,69,220                          ; mov           -0x24(%ebp),%eax
+  DB  139,64,24                           ; mov           0x18(%eax),%eax
+  DB  139,117,240                         ; mov           -0x10(%ebp),%esi
+  DB  243,15,16,20,176                    ; movss         (%eax,%esi,4),%xmm2
+  DB  139,117,168                         ; mov           -0x58(%ebp),%esi
+  DB  243,15,16,52,176                    ; movss         (%eax,%esi,4),%xmm6
+  DB  15,20,242                           ; unpcklps      %xmm2,%xmm6
+  DB  243,15,16,4,144                     ; movss         (%eax,%edx,4),%xmm0
+  DB  139,85,236                          ; mov           -0x14(%ebp),%edx
+  DB  243,15,16,20,144                    ; movss         (%eax,%edx,4),%xmm2
+  DB  15,20,194                           ; unpcklps      %xmm2,%xmm0
+  DB  102,15,20,198                       ; unpcklpd      %xmm6,%xmm0
+  DB  102,15,41,133,56,255,255,255        ; movapd        %xmm0,-0xc8(%ebp)
+  DB  243,15,16,20,152                    ; movss         (%eax,%ebx,4),%xmm2
+  DB  243,15,16,52,184                    ; movss         (%eax,%edi,4),%xmm6
+  DB  15,20,242                           ; unpcklps      %xmm2,%xmm6
+  DB  139,117,184                         ; mov           -0x48(%ebp),%esi
+  DB  243,15,16,4,176                     ; movss         (%eax,%esi,4),%xmm0
+  DB  243,15,16,20,136                    ; movss         (%eax,%ecx,4),%xmm2
+  DB  15,20,194                           ; unpcklps      %xmm2,%xmm0
+  DB  102,15,20,198                       ; unpcklpd      %xmm6,%xmm0
+  DB  102,15,41,133,120,255,255,255       ; movapd        %xmm0,-0x88(%ebp)
+  DB  139,125,220                         ; mov           -0x24(%ebp),%edi
+  DB  139,71,28                           ; mov           0x1c(%edi),%eax
+  DB  139,93,240                          ; mov           -0x10(%ebp),%ebx
+  DB  243,15,16,20,152                    ; movss         (%eax,%ebx,4),%xmm2
+  DB  139,77,168                          ; mov           -0x58(%ebp),%ecx
+  DB  243,15,16,52,136                    ; movss         (%eax,%ecx,4),%xmm6
+  DB  15,20,242                           ; unpcklps      %xmm2,%xmm6
+  DB  139,77,232                          ; mov           -0x18(%ebp),%ecx
+  DB  243,15,16,4,136                     ; movss         (%eax,%ecx,4),%xmm0
+  DB  243,15,16,20,144                    ; movss         (%eax,%edx,4),%xmm2
+  DB  15,20,194                           ; unpcklps      %xmm2,%xmm0
+  DB  102,15,20,198                       ; unpcklpd      %xmm6,%xmm0
+  DB  102,15,41,133,40,255,255,255        ; movapd        %xmm0,-0xd8(%ebp)
+  DB  139,77,224                          ; mov           -0x20(%ebp),%ecx
+  DB  243,15,16,20,136                    ; movss         (%eax,%ecx,4),%xmm2
+  DB  139,85,200                          ; mov           -0x38(%ebp),%edx
+  DB  243,15,16,52,144                    ; movss         (%eax,%edx,4),%xmm6
+  DB  15,20,242                           ; unpcklps      %xmm2,%xmm6
+  DB  243,15,16,4,176                     ; movss         (%eax,%esi,4),%xmm0
+  DB  139,117,228                         ; mov           -0x1c(%ebp),%esi
+  DB  243,15,16,20,176                    ; movss         (%eax,%esi,4),%xmm2
+  DB  15,20,194                           ; unpcklps      %xmm2,%xmm0
+  DB  102,15,20,198                       ; unpcklpd      %xmm6,%xmm0
+  DB  102,15,41,133,88,255,255,255        ; movapd        %xmm0,-0xa8(%ebp)
+  DB  139,71,32                           ; mov           0x20(%edi),%eax
+  DB  243,15,16,20,152                    ; movss         (%eax,%ebx,4),%xmm2
+  DB  139,125,168                         ; mov           -0x58(%ebp),%edi
+  DB  243,15,16,52,184                    ; movss         (%eax,%edi,4),%xmm6
+  DB  15,20,242                           ; unpcklps      %xmm2,%xmm6
+  DB  139,125,232                         ; mov           -0x18(%ebp),%edi
+  DB  243,15,16,4,184                     ; movss         (%eax,%edi,4),%xmm0
+  DB  139,125,236                         ; mov           -0x14(%ebp),%edi
+  DB  243,15,16,20,184                    ; movss         (%eax,%edi,4),%xmm2
+  DB  15,20,194                           ; unpcklps      %xmm2,%xmm0
+  DB  102,15,20,198                       ; unpcklpd      %xmm6,%xmm0
+  DB  102,15,41,69,168                    ; movapd        %xmm0,-0x58(%ebp)
+  DB  243,15,16,20,136                    ; movss         (%eax,%ecx,4),%xmm2
+  DB  243,15,16,52,144                    ; movss         (%eax,%edx,4),%xmm6
+  DB  15,20,242                           ; unpcklps      %xmm2,%xmm6
+  DB  139,77,184                          ; mov           -0x48(%ebp),%ecx
+  DB  243,15,16,4,136                     ; movss         (%eax,%ecx,4),%xmm0
+  DB  243,15,16,20,176                    ; movss         (%eax,%esi,4),%xmm2
+  DB  15,20,194                           ; unpcklps      %xmm2,%xmm0
+  DB  102,15,20,198                       ; unpcklpd      %xmm6,%xmm0
+  DB  102,15,41,69,200                    ; movapd        %xmm0,-0x38(%ebp)
+  DB  15,40,181,232,254,255,255           ; movaps        -0x118(%ebp),%xmm6
+  DB  15,89,230                           ; mulps         %xmm6,%xmm4
+  DB  15,88,227                           ; addps         %xmm3,%xmm4
+  DB  15,40,133,24,255,255,255            ; movaps        -0xe8(%ebp),%xmm0
+  DB  15,89,69,136                        ; mulps         -0x78(%ebp),%xmm0
+  DB  15,88,197                           ; addps         %xmm5,%xmm0
+  DB  139,69,164                          ; mov           -0x5c(%ebp),%eax
+  DB  15,40,152,193,15,0,0                ; movaps        0xfc1(%eax),%xmm3
+  DB  15,89,227                           ; mulps         %xmm3,%xmm4
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  15,40,168,225,14,0,0                ; movaps        0xee1(%eax),%xmm5
+  DB  15,88,197                           ; addps         %xmm5,%xmm0
+  DB  15,40,208                           ; movaps        %xmm0,%xmm2
+  DB  15,88,229                           ; addps         %xmm5,%xmm4
+  DB  243,15,91,196                       ; cvttps2dq     %xmm4,%xmm0
+  DB  242,15,112,192,232                  ; pshuflw       $0xe8,%xmm0,%xmm0
+  DB  243,15,112,192,232                  ; pshufhw       $0xe8,%xmm0,%xmm0
+  DB  102,15,112,192,232                  ; pshufd        $0xe8,%xmm0,%xmm0
+  DB  243,15,91,210                       ; cvttps2dq     %xmm2,%xmm2
+  DB  242,15,112,210,232                  ; pshuflw       $0xe8,%xmm2,%xmm2
+  DB  243,15,112,210,232                  ; pshufhw       $0xe8,%xmm2,%xmm2
+  DB  102,15,112,210,232                  ; pshufd        $0xe8,%xmm2,%xmm2
+  DB  102,15,108,208                      ; punpcklqdq    %xmm0,%xmm2
+  DB  102,15,127,85,184                   ; movdqa        %xmm2,-0x48(%ebp)
+  DB  15,89,206                           ; mulps         %xmm6,%xmm1
+  DB  15,40,230                           ; movaps        %xmm6,%xmm4
+  DB  15,88,141,56,255,255,255            ; addps         -0xc8(%ebp),%xmm1
+  DB  15,40,85,136                        ; movaps        -0x78(%ebp),%xmm2
+  DB  15,40,133,72,255,255,255            ; movaps        -0xb8(%ebp),%xmm0
+  DB  15,89,194                           ; mulps         %xmm2,%xmm0
+  DB  15,88,133,120,255,255,255           ; addps         -0x88(%ebp),%xmm0
+  DB  15,89,203                           ; mulps         %xmm3,%xmm1
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  15,88,197                           ; addps         %xmm5,%xmm0
+  DB  15,40,240                           ; movaps        %xmm0,%xmm6
+  DB  15,88,205                           ; addps         %xmm5,%xmm1
+  DB  243,15,91,193                       ; cvttps2dq     %xmm1,%xmm0
+  DB  242,15,112,192,232                  ; pshuflw       $0xe8,%xmm0,%xmm0
+  DB  243,15,112,192,232                  ; pshufhw       $0xe8,%xmm0,%xmm0
+  DB  102,15,112,192,232                  ; pshufd        $0xe8,%xmm0,%xmm0
+  DB  243,15,91,206                       ; cvttps2dq     %xmm6,%xmm1
+  DB  242,15,112,201,232                  ; pshuflw       $0xe8,%xmm1,%xmm1
+  DB  243,15,112,201,232                  ; pshufhw       $0xe8,%xmm1,%xmm1
+  DB  102,15,112,241,232                  ; pshufd        $0xe8,%xmm1,%xmm6
+  DB  102,15,108,240                      ; punpcklqdq    %xmm0,%xmm6
+  DB  15,89,252                           ; mulps         %xmm4,%xmm7
+  DB  15,88,189,40,255,255,255            ; addps         -0xd8(%ebp),%xmm7
+  DB  15,40,133,8,255,255,255             ; movaps        -0xf8(%ebp),%xmm0
+  DB  15,89,194                           ; mulps         %xmm2,%xmm0
+  DB  15,88,133,88,255,255,255            ; addps         -0xa8(%ebp),%xmm0
+  DB  15,89,251                           ; mulps         %xmm3,%xmm7
+  DB  15,89,195                           ; mulps         %xmm3,%xmm0
+  DB  15,88,197                           ; addps         %xmm5,%xmm0
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  15,88,253                           ; addps         %xmm5,%xmm7
+  DB  243,15,91,199                       ; cvttps2dq     %xmm7,%xmm0
+  DB  242,15,112,192,232                  ; pshuflw       $0xe8,%xmm0,%xmm0
+  DB  243,15,112,192,232                  ; pshufhw       $0xe8,%xmm0,%xmm0
+  DB  102,15,112,192,232                  ; pshufd        $0xe8,%xmm0,%xmm0
+  DB  243,15,91,201                       ; cvttps2dq     %xmm1,%xmm1
+  DB  242,15,112,201,232                  ; pshuflw       $0xe8,%xmm1,%xmm1
+  DB  243,15,112,201,232                  ; pshufhw       $0xe8,%xmm1,%xmm1
+  DB  102,15,112,209,232                  ; pshufd        $0xe8,%xmm1,%xmm2
+  DB  102,15,108,208                      ; punpcklqdq    %xmm0,%xmm2
+  DB  15,40,189,104,255,255,255           ; movaps        -0x98(%ebp),%xmm7
+  DB  15,89,252                           ; mulps         %xmm4,%xmm7
+  DB  15,88,125,168                       ; addps         -0x58(%ebp),%xmm7
+  DB  15,40,165,248,254,255,255           ; movaps        -0x108(%ebp),%xmm4
+  DB  15,89,101,136                       ; mulps         -0x78(%ebp),%xmm4
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,77,16                           ; mov           0x10(%ebp),%ecx
+  DB  139,85,20                           ; mov           0x14(%ebp),%edx
+  DB  15,88,101,200                       ; addps         -0x38(%ebp),%xmm4
+  DB  15,89,251                           ; mulps         %xmm3,%xmm7
+  DB  15,89,227                           ; mulps         %xmm3,%xmm4
+  DB  15,40,77,40                         ; movaps        0x28(%ebp),%xmm1
+  DB  15,88,229                           ; addps         %xmm5,%xmm4
+  DB  15,88,253                           ; addps         %xmm5,%xmm7
+  DB  15,40,69,56                         ; movaps        0x38(%ebp),%xmm0
+  DB  243,15,91,223                       ; cvttps2dq     %xmm7,%xmm3
+  DB  242,15,112,219,232                  ; pshuflw       $0xe8,%xmm3,%xmm3
+  DB  243,15,112,219,232                  ; pshufhw       $0xe8,%xmm3,%xmm3
+  DB  102,15,112,251,232                  ; pshufd        $0xe8,%xmm3,%xmm7
+  DB  243,15,91,220                       ; cvttps2dq     %xmm4,%xmm3
+  DB  242,15,112,219,232                  ; pshuflw       $0xe8,%xmm3,%xmm3
+  DB  243,15,112,219,232                  ; pshufhw       $0xe8,%xmm3,%xmm3
+  DB  102,15,112,219,232                  ; pshufd        $0xe8,%xmm3,%xmm3
+  DB  102,15,108,223                      ; punpcklqdq    %xmm7,%xmm3
+  DB  15,40,125,72                        ; movaps        0x48(%ebp),%xmm7
+  DB  139,125,12                          ; mov           0xc(%ebp),%edi
+  DB  141,119,8                           ; lea           0x8(%edi),%esi
+  DB  15,41,124,36,64                     ; movaps        %xmm7,0x40(%esp)
+  DB  15,41,68,36,48                      ; movaps        %xmm0,0x30(%esp)
+  DB  15,41,76,36,32                      ; movaps        %xmm1,0x20(%esp)
+  DB  15,40,69,24                         ; movaps        0x18(%ebp),%xmm0
+  DB  15,41,68,36,16                      ; movaps        %xmm0,0x10(%esp)
+  DB  137,84,36,12                        ; mov           %edx,0xc(%esp)
+  DB  137,76,36,8                         ; mov           %ecx,0x8(%esp)
+  DB  137,116,36,4                        ; mov           %esi,0x4(%esp)
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  15,40,69,184                        ; movaps        -0x48(%ebp),%xmm0
+  DB  102,15,111,206                      ; movdqa        %xmm6,%xmm1
+  DB  255,87,4                            ; call          *0x4(%edi)
+  DB  129,196,92,1,0,0                    ; add           $0x15c,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_evenly_spaced_2_stop_gradient_sse2_lowp
+_sk_evenly_spaced_2_stop_gradient_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,96                          ; sub           $0x60,%esp
+  DB  15,40,241                           ; movaps        %xmm1,%xmm6
+  DB  232,0,0,0,0                         ; call          fdbe <_sk_evenly_spaced_2_stop_gradient_sse2_lowp+0x10>
+  DB  90                                  ; pop           %edx
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  243,15,16,33                        ; movss         (%ecx),%xmm4
+  DB  243,15,16,81,4                      ; movss         0x4(%ecx),%xmm2
+  DB  15,198,228,0                        ; shufps        $0x0,%xmm4,%xmm4
+  DB  243,15,16,89,16                     ; movss         0x10(%ecx),%xmm3
+  DB  15,198,219,0                        ; shufps        $0x0,%xmm3,%xmm3
+  DB  15,40,238                           ; movaps        %xmm6,%xmm5
+  DB  15,89,236                           ; mulps         %xmm4,%xmm5
+  DB  15,89,224                           ; mulps         %xmm0,%xmm4
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  15,88,227                           ; addps         %xmm3,%xmm4
+  DB  15,88,235                           ; addps         %xmm3,%xmm5
+  DB  15,40,154,130,10,0,0                ; movaps        0xa82(%edx),%xmm3
+  DB  15,89,235                           ; mulps         %xmm3,%xmm5
+  DB  15,89,227                           ; mulps         %xmm3,%xmm4
+  DB  15,40,130,162,9,0,0                 ; movaps        0x9a2(%edx),%xmm0
+  DB  15,88,224                           ; addps         %xmm0,%xmm4
+  DB  15,88,232                           ; addps         %xmm0,%xmm5
+  DB  243,15,91,237                       ; cvttps2dq     %xmm5,%xmm5
+  DB  242,15,112,237,232                  ; pshuflw       $0xe8,%xmm5,%xmm5
+  DB  243,15,112,237,232                  ; pshufhw       $0xe8,%xmm5,%xmm5
+  DB  102,15,112,237,232                  ; pshufd        $0xe8,%xmm5,%xmm5
+  DB  243,15,91,228                       ; cvttps2dq     %xmm4,%xmm4
+  DB  242,15,112,228,232                  ; pshuflw       $0xe8,%xmm4,%xmm4
+  DB  243,15,112,228,232                  ; pshufhw       $0xe8,%xmm4,%xmm4
+  DB  102,15,112,228,232                  ; pshufd        $0xe8,%xmm4,%xmm4
+  DB  102,15,108,229                      ; punpcklqdq    %xmm5,%xmm4
+  DB  102,15,127,101,232                  ; movdqa        %xmm4,-0x18(%ebp)
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  243,15,16,105,20                    ; movss         0x14(%ecx),%xmm5
+  DB  15,198,237,0                        ; shufps        $0x0,%xmm5,%xmm5
+  DB  15,40,254                           ; movaps        %xmm6,%xmm7
+  DB  15,89,250                           ; mulps         %xmm2,%xmm7
+  DB  15,89,209                           ; mulps         %xmm1,%xmm2
+  DB  15,40,225                           ; movaps        %xmm1,%xmm4
+  DB  15,88,213                           ; addps         %xmm5,%xmm2
+  DB  15,88,253                           ; addps         %xmm5,%xmm7
+  DB  15,89,251                           ; mulps         %xmm3,%xmm7
+  DB  15,89,211                           ; mulps         %xmm3,%xmm2
+  DB  15,88,208                           ; addps         %xmm0,%xmm2
+  DB  15,88,248                           ; addps         %xmm0,%xmm7
+  DB  243,15,91,239                       ; cvttps2dq     %xmm7,%xmm5
+  DB  242,15,112,237,232                  ; pshuflw       $0xe8,%xmm5,%xmm5
+  DB  243,15,112,237,232                  ; pshufhw       $0xe8,%xmm5,%xmm5
+  DB  102,15,112,253,232                  ; pshufd        $0xe8,%xmm5,%xmm7
+  DB  243,15,91,210                       ; cvttps2dq     %xmm2,%xmm2
+  DB  242,15,112,210,232                  ; pshuflw       $0xe8,%xmm2,%xmm2
+  DB  243,15,112,210,232                  ; pshufhw       $0xe8,%xmm2,%xmm2
+  DB  102,15,112,234,232                  ; pshufd        $0xe8,%xmm2,%xmm5
+  DB  102,15,108,239                      ; punpcklqdq    %xmm7,%xmm5
+  DB  243,15,16,81,8                      ; movss         0x8(%ecx),%xmm2
+  DB  15,198,210,0                        ; shufps        $0x0,%xmm2,%xmm2
+  DB  243,15,16,121,24                    ; movss         0x18(%ecx),%xmm7
+  DB  15,198,255,0                        ; shufps        $0x0,%xmm7,%xmm7
+  DB  15,40,206                           ; movaps        %xmm6,%xmm1
+  DB  15,89,202                           ; mulps         %xmm2,%xmm1
+  DB  15,89,212                           ; mulps         %xmm4,%xmm2
+  DB  15,88,215                           ; addps         %xmm7,%xmm2
+  DB  15,88,207                           ; addps         %xmm7,%xmm1
+  DB  139,85,8                            ; mov           0x8(%ebp),%edx
+  DB  139,117,16                          ; mov           0x10(%ebp),%esi
+  DB  139,125,20                          ; mov           0x14(%ebp),%edi
+  DB  15,89,203                           ; mulps         %xmm3,%xmm1
+  DB  15,89,211                           ; mulps         %xmm3,%xmm2
+  DB  15,88,208                           ; addps         %xmm0,%xmm2
+  DB  15,88,200                           ; addps         %xmm0,%xmm1
+  DB  243,15,91,201                       ; cvttps2dq     %xmm1,%xmm1
+  DB  242,15,112,201,232                  ; pshuflw       $0xe8,%xmm1,%xmm1
+  DB  243,15,112,201,232                  ; pshufhw       $0xe8,%xmm1,%xmm1
+  DB  102,15,112,201,232                  ; pshufd        $0xe8,%xmm1,%xmm1
+  DB  243,15,91,210                       ; cvttps2dq     %xmm2,%xmm2
+  DB  242,15,112,210,232                  ; pshuflw       $0xe8,%xmm2,%xmm2
+  DB  243,15,112,210,232                  ; pshufhw       $0xe8,%xmm2,%xmm2
+  DB  102,15,112,210,232                  ; pshufd        $0xe8,%xmm2,%xmm2
+  DB  102,15,108,209                      ; punpcklqdq    %xmm1,%xmm2
+  DB  243,15,16,73,12                     ; movss         0xc(%ecx),%xmm1
+  DB  15,198,201,0                        ; shufps        $0x0,%xmm1,%xmm1
+  DB  15,89,241                           ; mulps         %xmm1,%xmm6
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  243,15,16,121,28                    ; movss         0x1c(%ecx),%xmm7
+  DB  15,198,255,0                        ; shufps        $0x0,%xmm7,%xmm7
+  DB  15,88,207                           ; addps         %xmm7,%xmm1
+  DB  15,88,247                           ; addps         %xmm7,%xmm6
+  DB  15,40,101,24                        ; movaps        0x18(%ebp),%xmm4
+  DB  15,89,243                           ; mulps         %xmm3,%xmm6
+  DB  15,89,203                           ; mulps         %xmm3,%xmm1
+  DB  15,40,125,40                        ; movaps        0x28(%ebp),%xmm7
+  DB  15,88,200                           ; addps         %xmm0,%xmm1
+  DB  15,88,240                           ; addps         %xmm0,%xmm6
+  DB  15,40,69,56                         ; movaps        0x38(%ebp),%xmm0
+  DB  243,15,91,222                       ; cvttps2dq     %xmm6,%xmm3
+  DB  242,15,112,219,232                  ; pshuflw       $0xe8,%xmm3,%xmm3
+  DB  243,15,112,219,232                  ; pshufhw       $0xe8,%xmm3,%xmm3
+  DB  102,15,112,243,232                  ; pshufd        $0xe8,%xmm3,%xmm6
+  DB  243,15,91,201                       ; cvttps2dq     %xmm1,%xmm1
+  DB  242,15,112,201,232                  ; pshuflw       $0xe8,%xmm1,%xmm1
+  DB  243,15,112,201,232                  ; pshufhw       $0xe8,%xmm1,%xmm1
+  DB  102,15,112,217,232                  ; pshufd        $0xe8,%xmm1,%xmm3
+  DB  102,15,108,222                      ; punpcklqdq    %xmm6,%xmm3
+  DB  15,40,77,72                         ; movaps        0x48(%ebp),%xmm1
+  DB  141,72,8                            ; lea           0x8(%eax),%ecx
+  DB  15,41,76,36,64                      ; movaps        %xmm1,0x40(%esp)
+  DB  15,41,68,36,48                      ; movaps        %xmm0,0x30(%esp)
+  DB  15,41,124,36,32                     ; movaps        %xmm7,0x20(%esp)
+  DB  15,41,100,36,16                     ; movaps        %xmm4,0x10(%esp)
+  DB  137,124,36,12                       ; mov           %edi,0xc(%esp)
+  DB  137,116,36,8                        ; mov           %esi,0x8(%esp)
+  DB  137,76,36,4                         ; mov           %ecx,0x4(%esp)
+  DB  137,20,36                           ; mov           %edx,(%esp)
+  DB  15,40,69,232                        ; movaps        -0x18(%ebp),%xmm0
+  DB  102,15,111,205                      ; movdqa        %xmm5,%xmm1
+  DB  255,80,4                            ; call          *0x4(%eax)
+  DB  131,196,96                          ; add           $0x60,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_xy_to_unit_angle_sse2_lowp
+_sk_xy_to_unit_angle_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  129,236,160,0,0,0                   ; sub           $0xa0,%esp
+  DB  15,41,93,168                        ; movaps        %xmm3,-0x58(%ebp)
+  DB  15,41,85,232                        ; movaps        %xmm2,-0x18(%ebp)
+  DB  15,41,77,184                        ; movaps        %xmm1,-0x48(%ebp)
+  DB  15,40,208                           ; movaps        %xmm0,%xmm2
+  DB  15,41,85,200                        ; movaps        %xmm2,-0x38(%ebp)
+  DB  232,0,0,0,0                         ; call          ffa9 <_sk_xy_to_unit_angle_sse2_lowp+0x23>
+  DB  88                                  ; pop           %eax
+  DB  15,40,128,7,13,0,0                  ; movaps        0xd07(%eax),%xmm0
+  DB  15,40,225                           ; movaps        %xmm1,%xmm4
+  DB  15,84,224                           ; andps         %xmm0,%xmm4
+  DB  15,40,203                           ; movaps        %xmm3,%xmm1
+  DB  15,84,200                           ; andps         %xmm0,%xmm1
+  DB  15,40,236                           ; movaps        %xmm4,%xmm5
+  DB  15,194,233,1                        ; cmpltps       %xmm1,%xmm5
+  DB  15,40,245                           ; movaps        %xmm5,%xmm6
+  DB  15,85,241                           ; andnps        %xmm1,%xmm6
+  DB  15,40,221                           ; movaps        %xmm5,%xmm3
+  DB  15,85,220                           ; andnps        %xmm4,%xmm3
+  DB  15,41,93,216                        ; movaps        %xmm3,-0x28(%ebp)
+  DB  15,84,229                           ; andps         %xmm5,%xmm4
+  DB  15,86,230                           ; orps          %xmm6,%xmm4
+  DB  15,40,250                           ; movaps        %xmm2,%xmm7
+  DB  15,84,248                           ; andps         %xmm0,%xmm7
+  DB  15,84,69,232                        ; andps         -0x18(%ebp),%xmm0
+  DB  15,40,215                           ; movaps        %xmm7,%xmm2
+  DB  15,194,208,1                        ; cmpltps       %xmm0,%xmm2
+  DB  15,40,242                           ; movaps        %xmm2,%xmm6
+  DB  15,85,240                           ; andnps        %xmm0,%xmm6
+  DB  15,40,218                           ; movaps        %xmm2,%xmm3
+  DB  15,85,223                           ; andnps        %xmm7,%xmm3
+  DB  15,84,250                           ; andps         %xmm2,%xmm7
+  DB  15,86,254                           ; orps          %xmm6,%xmm7
+  DB  15,84,205                           ; andps         %xmm5,%xmm1
+  DB  15,86,77,216                        ; orps          -0x28(%ebp),%xmm1
+  DB  15,94,225                           ; divps         %xmm1,%xmm4
+  DB  15,84,194                           ; andps         %xmm2,%xmm0
+  DB  15,86,195                           ; orps          %xmm3,%xmm0
+  DB  15,94,248                           ; divps         %xmm0,%xmm7
+  DB  15,40,220                           ; movaps        %xmm4,%xmm3
+  DB  15,89,219                           ; mulps         %xmm3,%xmm3
+  DB  15,40,247                           ; movaps        %xmm7,%xmm6
+  DB  15,89,246                           ; mulps         %xmm6,%xmm6
+  DB  15,40,136,167,13,0,0                ; movaps        0xda7(%eax),%xmm1
+  DB  15,40,198                           ; movaps        %xmm6,%xmm0
+  DB  15,89,193                           ; mulps         %xmm1,%xmm0
+  DB  15,89,203                           ; mulps         %xmm3,%xmm1
+  DB  15,88,136,183,13,0,0                ; addps         0xdb7(%eax),%xmm1
+  DB  15,88,128,183,13,0,0                ; addps         0xdb7(%eax),%xmm0
+  DB  15,89,198                           ; mulps         %xmm6,%xmm0
+  DB  15,89,203                           ; mulps         %xmm3,%xmm1
+  DB  15,88,136,199,13,0,0                ; addps         0xdc7(%eax),%xmm1
+  DB  15,88,128,199,13,0,0                ; addps         0xdc7(%eax),%xmm0
+  DB  15,89,198                           ; mulps         %xmm6,%xmm0
+  DB  15,89,203                           ; mulps         %xmm3,%xmm1
+  DB  15,40,152,215,13,0,0                ; movaps        0xdd7(%eax),%xmm3
+  DB  15,88,203                           ; addps         %xmm3,%xmm1
+  DB  15,88,195                           ; addps         %xmm3,%xmm0
+  DB  15,89,199                           ; mulps         %xmm7,%xmm0
+  DB  15,89,204                           ; mulps         %xmm4,%xmm1
+  DB  15,40,152,231,13,0,0                ; movaps        0xde7(%eax),%xmm3
+  DB  15,40,227                           ; movaps        %xmm3,%xmm4
+  DB  15,92,216                           ; subps         %xmm0,%xmm3
+  DB  15,84,218                           ; andps         %xmm2,%xmm3
+  DB  15,85,208                           ; andnps        %xmm0,%xmm2
+  DB  15,86,211                           ; orps          %xmm3,%xmm2
+  DB  15,92,225                           ; subps         %xmm1,%xmm4
+  DB  15,84,229                           ; andps         %xmm5,%xmm4
+  DB  15,85,233                           ; andnps        %xmm1,%xmm5
+  DB  15,86,236                           ; orps          %xmm4,%xmm5
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  15,40,93,200                        ; movaps        -0x38(%ebp),%xmm3
+  DB  15,194,220,1                        ; cmpltps       %xmm4,%xmm3
+  DB  15,40,128,183,7,0,0                 ; movaps        0x7b7(%eax),%xmm0
+  DB  15,40,200                           ; movaps        %xmm0,%xmm1
+  DB  15,92,194                           ; subps         %xmm2,%xmm0
+  DB  15,84,195                           ; andps         %xmm3,%xmm0
+  DB  15,85,218                           ; andnps        %xmm2,%xmm3
+  DB  139,77,8                            ; mov           0x8(%ebp),%ecx
+  DB  139,85,16                           ; mov           0x10(%ebp),%edx
+  DB  139,117,20                          ; mov           0x14(%ebp),%esi
+  DB  15,40,85,184                        ; movaps        -0x48(%ebp),%xmm2
+  DB  15,194,212,1                        ; cmpltps       %xmm4,%xmm2
+  DB  15,92,205                           ; subps         %xmm5,%xmm1
+  DB  15,86,216                           ; orps          %xmm0,%xmm3
+  DB  15,84,202                           ; andps         %xmm2,%xmm1
+  DB  15,85,213                           ; andnps        %xmm5,%xmm2
+  DB  15,86,209                           ; orps          %xmm1,%xmm2
+  DB  15,40,242                           ; movaps        %xmm2,%xmm6
+  DB  15,40,125,232                       ; movaps        -0x18(%ebp),%xmm7
+  DB  15,40,199                           ; movaps        %xmm7,%xmm0
+  DB  15,194,196,1                        ; cmpltps       %xmm4,%xmm0
+  DB  15,40,136,199,7,0,0                 ; movaps        0x7c7(%eax),%xmm1
+  DB  15,40,209                           ; movaps        %xmm1,%xmm2
+  DB  15,92,203                           ; subps         %xmm3,%xmm1
+  DB  15,84,200                           ; andps         %xmm0,%xmm1
+  DB  15,85,195                           ; andnps        %xmm3,%xmm0
+  DB  15,86,193                           ; orps          %xmm1,%xmm0
+  DB  15,40,93,168                        ; movaps        -0x58(%ebp),%xmm3
+  DB  15,40,235                           ; movaps        %xmm3,%xmm5
+  DB  15,194,236,1                        ; cmpltps       %xmm4,%xmm5
+  DB  15,92,214                           ; subps         %xmm6,%xmm2
+  DB  15,84,213                           ; andps         %xmm5,%xmm2
+  DB  15,85,238                           ; andnps        %xmm6,%xmm5
+  DB  15,40,117,40                        ; movaps        0x28(%ebp),%xmm6
+  DB  15,86,234                           ; orps          %xmm2,%xmm5
+  DB  15,40,205                           ; movaps        %xmm5,%xmm1
+  DB  15,194,204,7                        ; cmpordps      %xmm4,%xmm1
+  DB  15,194,224,7                        ; cmpordps      %xmm0,%xmm4
+  DB  15,84,224                           ; andps         %xmm0,%xmm4
+  DB  15,40,69,56                         ; movaps        0x38(%ebp),%xmm0
+  DB  15,84,205                           ; andps         %xmm5,%xmm1
+  DB  15,40,85,72                         ; movaps        0x48(%ebp),%xmm2
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  141,120,4                           ; lea           0x4(%eax),%edi
+  DB  15,41,84,36,64                      ; movaps        %xmm2,0x40(%esp)
+  DB  15,41,68,36,48                      ; movaps        %xmm0,0x30(%esp)
+  DB  15,41,116,36,32                     ; movaps        %xmm6,0x20(%esp)
+  DB  15,40,69,24                         ; movaps        0x18(%ebp),%xmm0
+  DB  15,41,68,36,16                      ; movaps        %xmm0,0x10(%esp)
+  DB  137,116,36,12                       ; mov           %esi,0xc(%esp)
+  DB  137,84,36,8                         ; mov           %edx,0x8(%esp)
+  DB  137,124,36,4                        ; mov           %edi,0x4(%esp)
+  DB  137,12,36                           ; mov           %ecx,(%esp)
+  DB  15,40,196                           ; movaps        %xmm4,%xmm0
+  DB  15,40,215                           ; movaps        %xmm7,%xmm2
+  DB  255,16                              ; call          *(%eax)
+  DB  129,196,160,0,0,0                   ; add           $0xa0,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_xy_to_radius_sse2_lowp
+_sk_xy_to_radius_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  131,236,80                          ; sub           $0x50,%esp
+  DB  15,40,227                           ; movaps        %xmm3,%xmm4
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  139,77,16                           ; mov           0x10(%ebp),%ecx
+  DB  139,85,20                           ; mov           0x14(%ebp),%edx
+  DB  15,40,117,56                        ; movaps        0x38(%ebp),%xmm6
+  DB  15,89,192                           ; mulps         %xmm0,%xmm0
+  DB  15,89,201                           ; mulps         %xmm1,%xmm1
+  DB  15,40,250                           ; movaps        %xmm2,%xmm7
+  DB  15,89,255                           ; mulps         %xmm7,%xmm7
+  DB  15,88,248                           ; addps         %xmm0,%xmm7
+  DB  15,89,219                           ; mulps         %xmm3,%xmm3
+  DB  15,88,217                           ; addps         %xmm1,%xmm3
+  DB  15,40,109,72                        ; movaps        0x48(%ebp),%xmm5
+  DB  139,117,12                          ; mov           0xc(%ebp),%esi
+  DB  15,81,199                           ; sqrtps        %xmm7,%xmm0
+  DB  15,81,203                           ; sqrtps        %xmm3,%xmm1
+  DB  141,126,4                           ; lea           0x4(%esi),%edi
+  DB  15,41,108,36,64                     ; movaps        %xmm5,0x40(%esp)
+  DB  15,41,116,36,48                     ; movaps        %xmm6,0x30(%esp)
+  DB  15,40,93,40                         ; movaps        0x28(%ebp),%xmm3
+  DB  15,41,92,36,32                      ; movaps        %xmm3,0x20(%esp)
+  DB  15,40,93,24                         ; movaps        0x18(%ebp),%xmm3
+  DB  15,41,92,36,16                      ; movaps        %xmm3,0x10(%esp)
+  DB  137,84,36,12                        ; mov           %edx,0xc(%esp)
+  DB  137,76,36,8                         ; mov           %ecx,0x8(%esp)
+  DB  137,124,36,4                        ; mov           %edi,0x4(%esp)
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  15,40,220                           ; movaps        %xmm4,%xmm3
+  DB  255,22                              ; call          *(%esi)
+  DB  131,196,80                          ; add           $0x50,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+
+PUBLIC _sk_srcover_rgba_8888_sse2_lowp
+_sk_srcover_rgba_8888_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  129,236,172,0,0,0                   ; sub           $0xac,%esp
+  DB  102,15,111,227                      ; movdqa        %xmm3,%xmm4
+  DB  15,41,85,200                        ; movaps        %xmm2,-0x38(%ebp)
+  DB  15,41,77,216                        ; movaps        %xmm1,-0x28(%ebp)
+  DB  102,15,111,248                      ; movdqa        %xmm0,%xmm7
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,85,8                            ; mov           0x8(%ebp),%edx
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  139,121,4                           ; mov           0x4(%ecx),%edi
+  DB  15,175,125,20                       ; imul          0x14(%ebp),%edi
+  DB  193,231,2                           ; shl           $0x2,%edi
+  DB  3,57                                ; add           (%ecx),%edi
+  DB  137,211                             ; mov           %edx,%ebx
+  DB  128,227,7                           ; and           $0x7,%bl
+  DB  254,203                             ; dec           %bl
+  DB  128,251,6                           ; cmp           $0x6,%bl
+  DB  232,0,0,0,0                         ; call          10211 <_sk_srcover_rgba_8888_sse2_lowp+0x3f>
+  DB  89                                  ; pop           %ecx
+  DB  139,117,16                          ; mov           0x10(%ebp),%esi
+  DB  15,182,211                          ; movzbl        %bl,%edx
+  DB  119,29                              ; ja            10237 <_sk_srcover_rgba_8888_sse2_lowp+0x65>
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  139,132,145,75,2,0,0                ; mov           0x24b(%ecx,%edx,4),%eax
+  DB  1,200                               ; add           %ecx,%eax
+  DB  102,15,239,246                      ; pxor          %xmm6,%xmm6
+  DB  255,224                             ; jmp           *%eax
+  DB  243,15,16,52,183                    ; movss         (%edi,%esi,4),%xmm6
+  DB  15,87,219                           ; xorps         %xmm3,%xmm3
+  DB  235,73                              ; jmp           10280 <_sk_srcover_rgba_8888_sse2_lowp+0xae>
+  DB  102,15,16,52,183                    ; movupd        (%edi,%esi,4),%xmm6
+  DB  15,16,92,183,16                     ; movups        0x10(%edi,%esi,4),%xmm3
+  DB  235,61                              ; jmp           10280 <_sk_srcover_rgba_8888_sse2_lowp+0xae>
+  DB  102,15,110,68,183,8                 ; movd          0x8(%edi,%esi,4),%xmm0
+  DB  102,15,112,240,69                   ; pshufd        $0x45,%xmm0,%xmm6
+  DB  102,15,18,52,183                    ; movlpd        (%edi,%esi,4),%xmm6
+  DB  235,43                              ; jmp           10280 <_sk_srcover_rgba_8888_sse2_lowp+0xae>
+  DB  102,15,110,68,183,24                ; movd          0x18(%edi,%esi,4),%xmm0
+  DB  102,15,112,216,69                   ; pshufd        $0x45,%xmm0,%xmm3
+  DB  243,15,16,68,183,20                 ; movss         0x14(%edi,%esi,4),%xmm0
+  DB  15,198,195,0                        ; shufps        $0x0,%xmm3,%xmm0
+  DB  15,198,195,226                      ; shufps        $0xe2,%xmm3,%xmm0
+  DB  15,40,216                           ; movaps        %xmm0,%xmm3
+  DB  243,15,16,68,183,16                 ; movss         0x10(%edi,%esi,4),%xmm0
+  DB  243,15,16,216                       ; movss         %xmm0,%xmm3
+  DB  102,15,16,52,183                    ; movupd        (%edi,%esi,4),%xmm6
+  DB  102,15,40,206                       ; movapd        %xmm6,%xmm1
+  DB  102,15,114,241,16                   ; pslld         $0x10,%xmm1
+  DB  102,15,114,225,16                   ; psrad         $0x10,%xmm1
+  DB  15,40,195                           ; movaps        %xmm3,%xmm0
+  DB  102,15,114,240,16                   ; pslld         $0x10,%xmm0
+  DB  102,15,114,224,16                   ; psrad         $0x10,%xmm0
+  DB  102,15,107,200                      ; packssdw      %xmm0,%xmm1
+  DB  15,40,195                           ; movaps        %xmm3,%xmm0
+  DB  102,15,40,214                       ; movapd        %xmm6,%xmm2
+  DB  102,15,114,214,24                   ; psrld         $0x18,%xmm6
+  DB  102,15,114,246,16                   ; pslld         $0x10,%xmm6
+  DB  102,15,114,230,16                   ; psrad         $0x10,%xmm6
+  DB  102,15,114,211,24                   ; psrld         $0x18,%xmm3
+  DB  102,15,114,243,16                   ; pslld         $0x10,%xmm3
+  DB  102,15,114,227,16                   ; psrad         $0x10,%xmm3
+  DB  102,15,107,243                      ; packssdw      %xmm3,%xmm6
+  DB  102,15,111,153,95,12,0,0            ; movdqa        0xc5f(%ecx),%xmm3
+  DB  102,15,114,208,16                   ; psrld         $0x10,%xmm0
+  DB  102,15,114,210,16                   ; psrld         $0x10,%xmm2
+  DB  102,15,114,242,16                   ; pslld         $0x10,%xmm2
+  DB  102,15,114,226,16                   ; psrad         $0x10,%xmm2
+  DB  102,15,114,240,16                   ; pslld         $0x10,%xmm0
+  DB  102,15,114,224,16                   ; psrad         $0x10,%xmm0
+  DB  102,15,107,208                      ; packssdw      %xmm0,%xmm2
+  DB  102,15,111,193                      ; movdqa        %xmm1,%xmm0
+  DB  102,15,219,195                      ; pand          %xmm3,%xmm0
+  DB  102,15,111,235                      ; movdqa        %xmm3,%xmm5
+  DB  102,15,249,236                      ; psubw         %xmm4,%xmm5
+  DB  102,15,127,69,184                   ; movdqa        %xmm0,-0x48(%ebp)
+  DB  102,15,213,197                      ; pmullw        %xmm5,%xmm0
+  DB  102,15,253,195                      ; paddw         %xmm3,%xmm0
+  DB  102,15,113,208,8                    ; psrlw         $0x8,%xmm0
+  DB  102,15,253,199                      ; paddw         %xmm7,%xmm0
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,127,77,152                   ; movdqa        %xmm1,-0x68(%ebp)
+  DB  102,15,213,205                      ; pmullw        %xmm5,%xmm1
+  DB  102,15,253,203                      ; paddw         %xmm3,%xmm1
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,253,77,216                   ; paddw         -0x28(%ebp),%xmm1
+  DB  102,15,219,211                      ; pand          %xmm3,%xmm2
+  DB  102,15,127,85,216                   ; movdqa        %xmm2,-0x28(%ebp)
+  DB  102,15,111,250                      ; movdqa        %xmm2,%xmm7
+  DB  102,15,213,253                      ; pmullw        %xmm5,%xmm7
+  DB  102,15,253,251                      ; paddw         %xmm3,%xmm7
+  DB  102,15,113,215,8                    ; psrlw         $0x8,%xmm7
+  DB  102,15,253,125,200                  ; paddw         -0x38(%ebp),%xmm7
+  DB  102,15,127,117,200                  ; movdqa        %xmm6,-0x38(%ebp)
+  DB  102,15,213,238                      ; pmullw        %xmm6,%xmm5
+  DB  102,15,253,235                      ; paddw         %xmm3,%xmm5
+  DB  102,15,113,213,8                    ; psrlw         $0x8,%xmm5
+  DB  102,15,253,236                      ; paddw         %xmm4,%xmm5
+  DB  102,15,111,241                      ; movdqa        %xmm1,%xmm6
+  DB  102,15,113,246,8                    ; psllw         $0x8,%xmm6
+  DB  102,15,127,69,168                   ; movdqa        %xmm0,-0x58(%ebp)
+  DB  102,15,235,240                      ; por           %xmm0,%xmm6
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  102,15,111,214                      ; movdqa        %xmm6,%xmm2
+  DB  102,15,97,211                       ; punpcklwd     %xmm3,%xmm2
+  DB  102,15,111,229                      ; movdqa        %xmm5,%xmm4
+  DB  102,15,113,244,8                    ; psllw         $0x8,%xmm4
+  DB  102,15,235,231                      ; por           %xmm7,%xmm4
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  102,15,97,196                       ; punpcklwd     %xmm4,%xmm0
+  DB  102,15,235,194                      ; por           %xmm2,%xmm0
+  DB  102,15,105,243                      ; punpckhwd     %xmm3,%xmm6
+  DB  102,15,105,220                      ; punpckhwd     %xmm4,%xmm3
+  DB  102,15,235,222                      ; por           %xmm6,%xmm3
+  DB  128,251,6                           ; cmp           $0x6,%bl
+  DB  119,16                              ; ja            103c1 <_sk_srcover_rgba_8888_sse2_lowp+0x1ef>
+  DB  3,140,145,103,2,0,0                 ; add           0x267(%ecx,%edx,4),%ecx
+  DB  255,225                             ; jmp           *%ecx
+  DB  102,15,126,4,183                    ; movd          %xmm0,(%edi,%esi,4)
+  DB  235,64                              ; jmp           10401 <_sk_srcover_rgba_8888_sse2_lowp+0x22f>
+  DB  243,15,127,4,183                    ; movdqu        %xmm0,(%edi,%esi,4)
+  DB  243,15,127,92,183,16                ; movdqu        %xmm3,0x10(%edi,%esi,4)
+  DB  235,51                              ; jmp           10401 <_sk_srcover_rgba_8888_sse2_lowp+0x22f>
+  DB  102,15,112,208,78                   ; pshufd        $0x4e,%xmm0,%xmm2
+  DB  102,15,126,84,183,8                 ; movd          %xmm2,0x8(%edi,%esi,4)
+  DB  102,15,214,4,183                    ; movq          %xmm0,(%edi,%esi,4)
+  DB  235,33                              ; jmp           10401 <_sk_srcover_rgba_8888_sse2_lowp+0x22f>
+  DB  102,15,112,211,78                   ; pshufd        $0x4e,%xmm3,%xmm2
+  DB  102,15,126,84,183,24                ; movd          %xmm2,0x18(%edi,%esi,4)
+  DB  102,15,112,211,229                  ; pshufd        $0xe5,%xmm3,%xmm2
+  DB  102,15,126,84,183,20                ; movd          %xmm2,0x14(%edi,%esi,4)
+  DB  102,15,126,92,183,16                ; movd          %xmm3,0x10(%edi,%esi,4)
+  DB  243,15,127,4,183                    ; movdqu        %xmm0,(%edi,%esi,4)
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  137,193                             ; mov           %eax,%ecx
+  DB  141,65,8                            ; lea           0x8(%ecx),%eax
+  DB  15,40,69,200                        ; movaps        -0x38(%ebp),%xmm0
+  DB  15,41,68,36,64                      ; movaps        %xmm0,0x40(%esp)
+  DB  15,40,69,216                        ; movaps        -0x28(%ebp),%xmm0
+  DB  15,41,68,36,48                      ; movaps        %xmm0,0x30(%esp)
+  DB  15,40,69,152                        ; movaps        -0x68(%ebp),%xmm0
+  DB  15,41,68,36,32                      ; movaps        %xmm0,0x20(%esp)
+  DB  15,40,69,184                        ; movaps        -0x48(%ebp),%xmm0
+  DB  15,41,68,36,16                      ; movaps        %xmm0,0x10(%esp)
+  DB  139,85,20                           ; mov           0x14(%ebp),%edx
+  DB  137,84,36,12                        ; mov           %edx,0xc(%esp)
+  DB  137,116,36,8                        ; mov           %esi,0x8(%esp)
+  DB  137,68,36,4                         ; mov           %eax,0x4(%esp)
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  15,40,69,168                        ; movaps        -0x58(%ebp),%xmm0
+  DB  102,15,111,215                      ; movdqa        %xmm7,%xmm2
+  DB  102,15,111,221                      ; movdqa        %xmm5,%xmm3
+  DB  255,81,4                            ; call          *0x4(%ecx)
+  DB  129,196,172,0,0,0                   ; add           $0xac,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  28,0                                ; sbb           $0x0,%al
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  61,0,0,0,50                         ; cmp           $0x32000000,%eax
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,106,0                             ; add           %ch,0x0(%edx)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  96                                  ; pusha
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,79,0                              ; add           %cl,0x0(%edi)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  68                                  ; inc           %esp
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,169,1,0,0,200                     ; add           %ch,-0x37ffffff(%ecx)
+  DB  1,0                                 ; add           %eax,(%eax)
+  DB  0,189,1,0,0,235                     ; add           %bh,-0x14ffffff(%ebp)
+  DB  1,0                                 ; add           %eax,(%eax)
+  DB  0,229                               ; add           %ah,%ch
+  DB  1,0                                 ; add           %eax,(%eax)
+  DB  0,218                               ; add           %bl,%dl
+  DB  1,0                                 ; add           %eax,(%eax)
+  DB  0,207                               ; add           %cl,%bh
+  DB  1,0                                 ; add           %eax,(%eax)
+  DB  0                                   ; .byte         0x0
+
+PUBLIC _sk_srcover_bgra_8888_sse2_lowp
+_sk_srcover_bgra_8888_sse2_lowp LABEL PROC
+  DB  85                                  ; push          %ebp
+  DB  137,229                             ; mov           %esp,%ebp
+  DB  83                                  ; push          %ebx
+  DB  87                                  ; push          %edi
+  DB  86                                  ; push          %esi
+  DB  129,236,188,0,0,0                   ; sub           $0xbc,%esp
+  DB  102,15,111,251                      ; movdqa        %xmm3,%xmm7
+  DB  15,41,85,184                        ; movaps        %xmm2,-0x48(%ebp)
+  DB  15,41,77,200                        ; movaps        %xmm1,-0x38(%ebp)
+  DB  102,15,127,69,216                   ; movdqa        %xmm0,-0x28(%ebp)
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  139,85,8                            ; mov           0x8(%ebp),%edx
+  DB  139,8                               ; mov           (%eax),%ecx
+  DB  139,121,4                           ; mov           0x4(%ecx),%edi
+  DB  15,175,125,20                       ; imul          0x14(%ebp),%edi
+  DB  193,231,2                           ; shl           $0x2,%edi
+  DB  3,57                                ; add           (%ecx),%edi
+  DB  137,211                             ; mov           %edx,%ebx
+  DB  128,227,7                           ; and           $0x7,%bl
+  DB  254,203                             ; dec           %bl
+  DB  128,251,6                           ; cmp           $0x6,%bl
+  DB  232,0,0,0,0                         ; call          104d4 <_sk_srcover_bgra_8888_sse2_lowp+0x40>
+  DB  89                                  ; pop           %ecx
+  DB  139,117,16                          ; mov           0x10(%ebp),%esi
+  DB  15,182,211                          ; movzbl        %bl,%edx
+  DB  119,29                              ; ja            104fa <_sk_srcover_bgra_8888_sse2_lowp+0x66>
+  DB  102,15,239,228                      ; pxor          %xmm4,%xmm4
+  DB  139,132,145,80,2,0,0                ; mov           0x250(%ecx,%edx,4),%eax
+  DB  1,200                               ; add           %ecx,%eax
+  DB  102,15,239,246                      ; pxor          %xmm6,%xmm6
+  DB  255,224                             ; jmp           *%eax
+  DB  243,15,16,52,183                    ; movss         (%edi,%esi,4),%xmm6
+  DB  15,87,228                           ; xorps         %xmm4,%xmm4
+  DB  235,73                              ; jmp           10543 <_sk_srcover_bgra_8888_sse2_lowp+0xaf>
+  DB  102,15,16,52,183                    ; movupd        (%edi,%esi,4),%xmm6
+  DB  15,16,100,183,16                    ; movups        0x10(%edi,%esi,4),%xmm4
+  DB  235,61                              ; jmp           10543 <_sk_srcover_bgra_8888_sse2_lowp+0xaf>
+  DB  102,15,110,68,183,8                 ; movd          0x8(%edi,%esi,4),%xmm0
+  DB  102,15,112,240,69                   ; pshufd        $0x45,%xmm0,%xmm6
+  DB  102,15,18,52,183                    ; movlpd        (%edi,%esi,4),%xmm6
+  DB  235,43                              ; jmp           10543 <_sk_srcover_bgra_8888_sse2_lowp+0xaf>
+  DB  102,15,110,68,183,24                ; movd          0x18(%edi,%esi,4),%xmm0
+  DB  102,15,112,224,69                   ; pshufd        $0x45,%xmm0,%xmm4
+  DB  243,15,16,68,183,20                 ; movss         0x14(%edi,%esi,4),%xmm0
+  DB  15,198,196,0                        ; shufps        $0x0,%xmm4,%xmm0
+  DB  15,198,196,226                      ; shufps        $0xe2,%xmm4,%xmm0
+  DB  15,40,224                           ; movaps        %xmm0,%xmm4
+  DB  243,15,16,68,183,16                 ; movss         0x10(%edi,%esi,4),%xmm0
+  DB  243,15,16,224                       ; movss         %xmm0,%xmm4
+  DB  102,15,16,52,183                    ; movupd        (%edi,%esi,4),%xmm6
+  DB  102,15,40,206                       ; movapd        %xmm6,%xmm1
+  DB  102,15,114,241,16                   ; pslld         $0x10,%xmm1
+  DB  102,15,114,225,16                   ; psrad         $0x10,%xmm1
+  DB  15,40,196                           ; movaps        %xmm4,%xmm0
+  DB  102,15,114,240,16                   ; pslld         $0x10,%xmm0
+  DB  102,15,114,224,16                   ; psrad         $0x10,%xmm0
+  DB  102,15,107,200                      ; packssdw      %xmm0,%xmm1
+  DB  15,40,196                           ; movaps        %xmm4,%xmm0
+  DB  102,15,40,214                       ; movapd        %xmm6,%xmm2
+  DB  102,15,114,214,24                   ; psrld         $0x18,%xmm6
+  DB  102,15,114,246,16                   ; pslld         $0x10,%xmm6
+  DB  102,15,114,230,16                   ; psrad         $0x10,%xmm6
+  DB  102,15,114,212,24                   ; psrld         $0x18,%xmm4
+  DB  102,15,114,244,16                   ; pslld         $0x10,%xmm4
+  DB  102,15,114,228,16                   ; psrad         $0x10,%xmm4
+  DB  102,15,107,244                      ; packssdw      %xmm4,%xmm6
+  DB  102,15,111,153,156,9,0,0            ; movdqa        0x99c(%ecx),%xmm3
+  DB  102,15,114,208,16                   ; psrld         $0x10,%xmm0
+  DB  102,15,114,210,16                   ; psrld         $0x10,%xmm2
+  DB  102,15,114,242,16                   ; pslld         $0x10,%xmm2
+  DB  102,15,114,226,16                   ; psrad         $0x10,%xmm2
+  DB  102,15,114,240,16                   ; pslld         $0x10,%xmm0
+  DB  102,15,114,224,16                   ; psrad         $0x10,%xmm0
+  DB  102,15,107,208                      ; packssdw      %xmm0,%xmm2
+  DB  102,15,219,211                      ; pand          %xmm3,%xmm2
+  DB  102,15,111,235                      ; movdqa        %xmm3,%xmm5
+  DB  102,15,249,239                      ; psubw         %xmm7,%xmm5
+  DB  102,15,127,85,136                   ; movdqa        %xmm2,-0x78(%ebp)
+  DB  102,15,213,213                      ; pmullw        %xmm5,%xmm2
+  DB  102,15,253,211                      ; paddw         %xmm3,%xmm2
+  DB  102,15,113,210,8                    ; psrlw         $0x8,%xmm2
+  DB  102,15,253,85,216                   ; paddw         -0x28(%ebp),%xmm2
+  DB  102,15,111,225                      ; movdqa        %xmm1,%xmm4
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,127,77,216                   ; movdqa        %xmm1,-0x28(%ebp)
+  DB  102,15,213,205                      ; pmullw        %xmm5,%xmm1
+  DB  102,15,253,203                      ; paddw         %xmm3,%xmm1
+  DB  102,15,113,209,8                    ; psrlw         $0x8,%xmm1
+  DB  102,15,253,77,200                   ; paddw         -0x38(%ebp),%xmm1
+  DB  102,15,219,227                      ; pand          %xmm3,%xmm4
+  DB  102,15,127,101,168                  ; movdqa        %xmm4,-0x58(%ebp)
+  DB  102,15,213,229                      ; pmullw        %xmm5,%xmm4
+  DB  102,15,253,227                      ; paddw         %xmm3,%xmm4
+  DB  102,15,113,212,8                    ; psrlw         $0x8,%xmm4
+  DB  102,15,253,101,184                  ; paddw         -0x48(%ebp),%xmm4
+  DB  102,15,127,117,184                  ; movdqa        %xmm6,-0x48(%ebp)
+  DB  102,15,213,238                      ; pmullw        %xmm6,%xmm5
+  DB  102,15,253,235                      ; paddw         %xmm3,%xmm5
+  DB  102,15,113,213,8                    ; psrlw         $0x8,%xmm5
+  DB  102,15,253,239                      ; paddw         %xmm7,%xmm5
+  DB  102,15,111,241                      ; movdqa        %xmm1,%xmm6
+  DB  102,15,113,246,8                    ; psllw         $0x8,%xmm6
+  DB  102,15,127,101,152                  ; movdqa        %xmm4,-0x68(%ebp)
+  DB  102,15,235,244                      ; por           %xmm4,%xmm6
+  DB  102,15,239,219                      ; pxor          %xmm3,%xmm3
+  DB  102,15,111,254                      ; movdqa        %xmm6,%xmm7
+  DB  102,15,97,251                       ; punpcklwd     %xmm3,%xmm7
+  DB  102,15,111,229                      ; movdqa        %xmm5,%xmm4
+  DB  102,15,113,244,8                    ; psllw         $0x8,%xmm4
+  DB  102,15,127,85,200                   ; movdqa        %xmm2,-0x38(%ebp)
+  DB  102,15,235,226                      ; por           %xmm2,%xmm4
+  DB  102,15,239,192                      ; pxor          %xmm0,%xmm0
+  DB  102,15,97,196                       ; punpcklwd     %xmm4,%xmm0
+  DB  102,15,235,199                      ; por           %xmm7,%xmm0
+  DB  102,15,105,243                      ; punpckhwd     %xmm3,%xmm6
+  DB  102,15,105,220                      ; punpckhwd     %xmm4,%xmm3
+  DB  102,15,235,222                      ; por           %xmm6,%xmm3
+  DB  128,251,6                           ; cmp           $0x6,%bl
+  DB  119,16                              ; ja            10686 <_sk_srcover_bgra_8888_sse2_lowp+0x1f2>
+  DB  3,140,145,108,2,0,0                 ; add           0x26c(%ecx,%edx,4),%ecx
+  DB  255,225                             ; jmp           *%ecx
+  DB  102,15,126,4,183                    ; movd          %xmm0,(%edi,%esi,4)
+  DB  235,64                              ; jmp           106c6 <_sk_srcover_bgra_8888_sse2_lowp+0x232>
+  DB  243,15,127,4,183                    ; movdqu        %xmm0,(%edi,%esi,4)
+  DB  243,15,127,92,183,16                ; movdqu        %xmm3,0x10(%edi,%esi,4)
+  DB  235,51                              ; jmp           106c6 <_sk_srcover_bgra_8888_sse2_lowp+0x232>
+  DB  102,15,112,208,78                   ; pshufd        $0x4e,%xmm0,%xmm2
+  DB  102,15,126,84,183,8                 ; movd          %xmm2,0x8(%edi,%esi,4)
+  DB  102,15,214,4,183                    ; movq          %xmm0,(%edi,%esi,4)
+  DB  235,33                              ; jmp           106c6 <_sk_srcover_bgra_8888_sse2_lowp+0x232>
+  DB  102,15,112,211,78                   ; pshufd        $0x4e,%xmm3,%xmm2
+  DB  102,15,126,84,183,24                ; movd          %xmm2,0x18(%edi,%esi,4)
+  DB  102,15,112,211,229                  ; pshufd        $0xe5,%xmm3,%xmm2
+  DB  102,15,126,84,183,20                ; movd          %xmm2,0x14(%edi,%esi,4)
+  DB  102,15,126,92,183,16                ; movd          %xmm3,0x10(%edi,%esi,4)
+  DB  243,15,127,4,183                    ; movdqu        %xmm0,(%edi,%esi,4)
+  DB  139,69,12                           ; mov           0xc(%ebp),%eax
+  DB  137,193                             ; mov           %eax,%ecx
+  DB  141,65,8                            ; lea           0x8(%ecx),%eax
+  DB  15,40,69,184                        ; movaps        -0x48(%ebp),%xmm0
+  DB  15,41,68,36,64                      ; movaps        %xmm0,0x40(%esp)
+  DB  15,40,69,168                        ; movaps        -0x58(%ebp),%xmm0
+  DB  15,41,68,36,48                      ; movaps        %xmm0,0x30(%esp)
+  DB  15,40,69,216                        ; movaps        -0x28(%ebp),%xmm0
+  DB  15,41,68,36,32                      ; movaps        %xmm0,0x20(%esp)
+  DB  15,40,69,136                        ; movaps        -0x78(%ebp),%xmm0
+  DB  15,41,68,36,16                      ; movaps        %xmm0,0x10(%esp)
+  DB  139,85,20                           ; mov           0x14(%ebp),%edx
+  DB  137,84,36,12                        ; mov           %edx,0xc(%esp)
+  DB  137,116,36,8                        ; mov           %esi,0x8(%esp)
+  DB  137,68,36,4                         ; mov           %eax,0x4(%esp)
+  DB  139,69,8                            ; mov           0x8(%ebp),%eax
+  DB  137,4,36                            ; mov           %eax,(%esp)
+  DB  15,40,69,200                        ; movaps        -0x38(%ebp),%xmm0
+  DB  15,40,85,152                        ; movaps        -0x68(%ebp),%xmm2
+  DB  102,15,111,221                      ; movdqa        %xmm5,%xmm3
+  DB  255,81,4                            ; call          *0x4(%ecx)
+  DB  129,196,188,0,0,0                   ; add           $0xbc,%esp
+  DB  94                                  ; pop           %esi
+  DB  95                                  ; pop           %edi
+  DB  91                                  ; pop           %ebx
+  DB  93                                  ; pop           %ebp
+  DB  195                                 ; ret
+  DB  15,31,0                             ; nopl          (%eax)
+  DB  28,0                                ; sbb           $0x0,%al
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  61,0,0,0,50                         ; cmp           $0x32000000,%eax
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,106,0                             ; add           %ch,0x0(%edx)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  96                                  ; pusha
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,79,0                              ; add           %cl,0x0(%edi)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  68                                  ; inc           %esp
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,171,1,0,0,202                     ; add           %ch,-0x35ffffff(%ebx)
+  DB  1,0                                 ; add           %eax,(%eax)
+  DB  0,191,1,0,0,237                     ; add           %bh,-0x12ffffff(%edi)
+  DB  1,0                                 ; add           %eax,(%eax)
+  DB  0,231                               ; add           %ah,%bh
+  DB  1,0                                 ; add           %eax,(%eax)
+  DB  0,220                               ; add           %bl,%ah
+  DB  1,0                                 ; add           %eax,(%eax)
+  DB  0,209                               ; add           %dl,%cl
+  DB  1,0                                 ; add           %eax,(%eax)
+  DB  0                                   ; .byte         0x0
+
+ALIGN 16
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,63                                ; add           %bh,(%edi)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,63                                ; add           %bh,(%edi)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,63                                ; add           %bh,(%edi)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,63                                ; add           %bh,(%edi)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  128,63,0                            ; cmpb          $0x0,(%edi)
+  DB  0,128,63,0,0,128                    ; add           %al,-0x7fffffc1(%eax)
+  DB  63                                  ; aas
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  128,63,0                            ; cmpb          $0x0,(%edi)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,1                                 ; add           %al,(%ecx)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,2                                 ; add           %al,(%edx)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,3                                 ; add           %al,(%ebx)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,1                                 ; add           %al,(%ecx)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,1                                 ; add           %al,(%ecx)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,1                                 ; add           %al,(%ecx)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,1                                 ; add           %al,(%ecx)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,4,0                               ; add           %al,(%eax,%eax,1)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  4,0                                 ; add           $0x0,%al
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  4,0                                 ; add           $0x0,%al
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  4,0                                 ; add           $0x0,%al
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  2,0                                 ; add           (%eax),%al
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  2,0                                 ; add           (%eax),%al
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  2,0                                 ; add           (%eax),%al
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  2,0                                 ; add           (%eax),%al
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  128,60,0,0                          ; cmpb          $0x0,(%eax,%eax,1)
+  DB  128,60,0,0                          ; cmpb          $0x0,(%eax,%eax,1)
+  DB  128,60,0,0                          ; cmpb          $0x0,(%eax,%eax,1)
+  DB  128,60,0,0                          ; cmpb          $0x0,(%eax,%eax,1)
+  DB  252                                 ; cld
+  DB  190,0,0,252,190                     ; mov           $0xbefc0000,%esi
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  252                                 ; cld
+  DB  190,0,0,252,190                     ; mov           $0xbefc0000,%esi
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  128,191,0,0,128,191,0               ; cmpb          $0x0,-0x40800000(%edi)
+  DB  0,128,191,0,0,128                   ; add           %al,-0x7fffff41(%eax)
+  DB  191,0,0,224,64                      ; mov           $0x40e00000,%edi
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  224,64                              ; loopne        10838 <.literal16+0xd8>
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  224,64                              ; loopne        1083c <.literal16+0xdc>
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  224,64                              ; loopne        10840 <.literal16+0xe0>
+  DB  154,153,153,62,154,153,153          ; lcall         $0x9999,$0x9a3e9999
+  DB  62,154,153,153,62,154,153,153       ; ds            lcall $0x9999,$0x9a3e9999
+  DB  62,61,10,23,63,61                   ; ds            cmp $0x3d3f170a,%eax
+  DB  10,23                               ; or            (%edi),%dl
+  DB  63                                  ; aas
+  DB  61,10,23,63,61                      ; cmp           $0x3d3f170a,%eax
+  DB  10,23                               ; or            (%edi),%dl
+  DB  63                                  ; aas
+  DB  174                                 ; scas          %es:(%edi),%al
+  DB  71                                  ; inc           %edi
+  DB  225,61                              ; loope         10861 <.literal16+0x101>
+  DB  174                                 ; scas          %es:(%edi),%al
+  DB  71                                  ; inc           %edi
+  DB  225,61                              ; loope         10865 <.literal16+0x105>
+  DB  174                                 ; scas          %es:(%edi),%al
+  DB  71                                  ; inc           %edi
+  DB  225,61                              ; loope         10869 <.literal16+0x109>
+  DB  174                                 ; scas          %es:(%edi),%al
+  DB  71                                  ; inc           %edi
+  DB  225,61                              ; loope         1086d <.literal16+0x10d>
+  DB  255,0                               ; incl          (%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  255,0                               ; incl          (%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  255,0                               ; incl          (%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  255,0                               ; incl          (%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  127,67                              ; jg            10887 <.literal16+0x127>
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  127,67                              ; jg            1088b <.literal16+0x12b>
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  127,67                              ; jg            1088f <.literal16+0x12f>
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  127,67                              ; jg            10893 <.literal16+0x133>
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  128,127,0,0                         ; cmpb          $0x0,0x0(%edi)
+  DB  128,127,0,0                         ; cmpb          $0x0,0x0(%edi)
+  DB  128,127,0,0                         ; cmpb          $0x0,0x0(%edi)
+  DB  128,127,145,131                     ; cmpb          $0x83,-0x6f(%edi)
+  DB  158                                 ; sahf
+  DB  61,145,131,158,61                   ; cmp           $0x3d9e8391,%eax
+  DB  145                                 ; xchg          %eax,%ecx
+  DB  131,158,61,145,131,158,61           ; sbbl          $0x3d,-0x617c6ec3(%esi)
+  DB  92                                  ; pop           %esp
+  DB  143                                 ; (bad)
+  DB  50,63                               ; xor           (%edi),%bh
+  DB  92                                  ; pop           %esp
+  DB  143                                 ; (bad)
+  DB  50,63                               ; xor           (%edi),%bh
+  DB  92                                  ; pop           %esp
+  DB  143                                 ; (bad)
+  DB  50,63                               ; xor           (%edi),%bh
+  DB  92                                  ; pop           %esp
+  DB  143                                 ; (bad)
+  DB  50,63                               ; xor           (%edi),%bh
+  DB  10,215                              ; or            %bh,%dl
+  DB  35,59                               ; and           (%ebx),%edi
+  DB  10,215                              ; or            %bh,%dl
+  DB  35,59                               ; and           (%ebx),%edi
+  DB  10,215                              ; or            %bh,%dl
+  DB  35,59                               ; and           (%ebx),%edi
+  DB  10,215                              ; or            %bh,%dl
+  DB  35,59                               ; and           (%ebx),%edi
+  DB  174                                 ; scas          %es:(%edi),%al
+  DB  71                                  ; inc           %edi
+  DB  97                                  ; popa
+  DB  61,174,71,97,61                     ; cmp           $0x3d6147ae,%eax
+  DB  174                                 ; scas          %es:(%edi),%al
+  DB  71                                  ; inc           %edi
+  DB  97                                  ; popa
+  DB  61,174,71,97,61                     ; cmp           $0x3d6147ae,%eax
+  DB  82                                  ; push          %edx
+  DB  184,78,65,82,184                    ; mov           $0xb852414e,%eax
+  DB  78                                  ; dec           %esi
+  DB  65                                  ; inc           %ecx
+  DB  82                                  ; push          %edx
+  DB  184,78,65,82,184                    ; mov           $0xb852414e,%eax
+  DB  78                                  ; dec           %esi
+  DB  65                                  ; inc           %ecx
+  DB  57,215                              ; cmp           %edx,%edi
+  DB  32,187,57,215,32,187                ; and           %bh,-0x44df28c7(%ebx)
+  DB  57,215                              ; cmp           %edx,%edi
+  DB  32,187,57,215,32,187                ; and           %bh,-0x44df28c7(%ebx)
+  DB  186,159,98,60,186                   ; mov           $0xba3c629f,%edx
+  DB  159                                 ; lahf
+  DB  98,60,186                           ; bound         %edi,(%edx,%edi,4)
+  DB  159                                 ; lahf
+  DB  98,60,186                           ; bound         %edi,(%edx,%edi,4)
+  DB  159                                 ; lahf
+  DB  98,60,109,165,144,63,109            ; bound         %edi,0x6d3f90a5(,%ebp,2)
+  DB  165                                 ; movsl         %ds:(%esi),%es:(%edi)
+  DB  144                                 ; nop
+  DB  63                                  ; aas
+  DB  109                                 ; insl          (%dx),%es:(%edi)
+  DB  165                                 ; movsl         %ds:(%esi),%es:(%edi)
+  DB  144                                 ; nop
+  DB  63                                  ; aas
+  DB  109                                 ; insl          (%dx),%es:(%edi)
+  DB  165                                 ; movsl         %ds:(%esi),%es:(%edi)
+  DB  144                                 ; nop
+  DB  63                                  ; aas
+  DB  252                                 ; cld
+  DB  191,16,62,252,191                   ; mov           $0xbffc3e10,%edi
+  DB  16,62                               ; adc           %bh,(%esi)
+  DB  252                                 ; cld
+  DB  191,16,62,252,191                   ; mov           $0xbffc3e10,%edi
+  DB  16,62                               ; adc           %bh,(%esi)
+  DB  168,177                             ; test          $0xb1,%al
+  DB  152                                 ; cwtl
+  DB  59,168,177,152,59,168               ; cmp           -0x57c4674f(%eax),%ebp
+  DB  177,152                             ; mov           $0x98,%cl
+  DB  59,168,177,152,59,0                 ; cmp           0x3b98b1(%eax),%ebp
+  DB  0,192                               ; add           %al,%al
+  DB  64                                  ; inc           %eax
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  192,64,0,0                          ; rolb          $0x0,0x0(%eax)
+  DB  192,64,0,0                          ; rolb          $0x0,0x0(%eax)
+  DB  192,64,0,0                          ; rolb          $0x0,0x0(%eax)
+  DB  0,64,0                              ; add           %al,0x0(%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  64                                  ; inc           %eax
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,64,0                              ; add           %al,0x0(%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  64                                  ; inc           %eax
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  128,64,0,0                          ; addb          $0x0,0x0(%eax)
+  DB  128,64,0,0                          ; addb          $0x0,0x0(%eax)
+  DB  128,64,0,0                          ; addb          $0x0,0x0(%eax)
+  DB  128,64,171,170                      ; addb          $0xaa,-0x55(%eax)
+  DB  42,62                               ; sub           (%esi),%bh
+  DB  171                                 ; stos          %eax,%es:(%edi)
+  DB  170                                 ; stos          %al,%es:(%edi)
+  DB  42,62                               ; sub           (%esi),%bh
+  DB  171                                 ; stos          %eax,%es:(%edi)
+  DB  170                                 ; stos          %al,%es:(%edi)
+  DB  42,62                               ; sub           (%esi),%bh
+  DB  171                                 ; stos          %eax,%es:(%edi)
+  DB  170                                 ; stos          %al,%es:(%edi)
+  DB  42,62                               ; sub           (%esi),%bh
+  DB  171                                 ; stos          %eax,%es:(%edi)
+  DB  170                                 ; stos          %al,%es:(%edi)
+  DB  170                                 ; stos          %al,%es:(%edi)
+  DB  62,171                              ; ds            stos %eax,%es:(%edi)
+  DB  170                                 ; stos          %al,%es:(%edi)
+  DB  170                                 ; stos          %al,%es:(%edi)
+  DB  62,171                              ; ds            stos %eax,%es:(%edi)
+  DB  170                                 ; stos          %al,%es:(%edi)
+  DB  170                                 ; stos          %al,%es:(%edi)
+  DB  62,171                              ; ds            stos %eax,%es:(%edi)
+  DB  170                                 ; stos          %al,%es:(%edi)
+  DB  170                                 ; stos          %al,%es:(%edi)
+  DB  62,171                              ; ds            stos %eax,%es:(%edi)
+  DB  170                                 ; stos          %al,%es:(%edi)
+  DB  42,63                               ; sub           (%edi),%bh
+  DB  171                                 ; stos          %eax,%es:(%edi)
+  DB  170                                 ; stos          %al,%es:(%edi)
+  DB  42,63                               ; sub           (%edi),%bh
+  DB  171                                 ; stos          %eax,%es:(%edi)
+  DB  170                                 ; stos          %al,%es:(%edi)
+  DB  42,63                               ; sub           (%edi),%bh
+  DB  171                                 ; stos          %eax,%es:(%edi)
+  DB  170                                 ; stos          %al,%es:(%edi)
+  DB  42,63                               ; sub           (%edi),%bh
+  DB  171                                 ; stos          %eax,%es:(%edi)
+  DB  170                                 ; stos          %al,%es:(%edi)
+  DB  170                                 ; stos          %al,%es:(%edi)
+  DB  190,171,170,170,190                 ; mov           $0xbeaaaaab,%esi
+  DB  171                                 ; stos          %eax,%es:(%edi)
+  DB  170                                 ; stos          %al,%es:(%edi)
+  DB  170                                 ; stos          %al,%es:(%edi)
+  DB  190,171,170,170,190                 ; mov           $0xbeaaaaab,%esi
+  DB  129,128,128,59,129,128,128,59,129,128; addl          $0x80813b80,-0x7f7ec480(%eax)
+  DB  128,59,129                          ; cmpb          $0x81,(%ebx)
+  DB  128,128,59,0,248,0,0                ; addb          $0x0,0xf8003b(%eax)
+  DB  0,248                               ; add           %bh,%al
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,248                               ; add           %bh,%al
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,248                               ; add           %bh,%al
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  8,33                                ; or            %ah,(%ecx)
+  DB  132,55                              ; test          %dh,(%edi)
+  DB  8,33                                ; or            %ah,(%ecx)
+  DB  132,55                              ; test          %dh,(%edi)
+  DB  8,33                                ; or            %ah,(%ecx)
+  DB  132,55                              ; test          %dh,(%edi)
+  DB  8,33                                ; or            %ah,(%ecx)
+  DB  132,55                              ; test          %dh,(%edi)
+  DB  224,7                               ; loopne        109a9 <.literal16+0x249>
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  224,7                               ; loopne        109ad <.literal16+0x24d>
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  224,7                               ; loopne        109b1 <.literal16+0x251>
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  224,7                               ; loopne        109b5 <.literal16+0x255>
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  33,8                                ; and           %ecx,(%eax)
+  DB  2,58                                ; add           (%edx),%bh
+  DB  33,8                                ; and           %ecx,(%eax)
+  DB  2,58                                ; add           (%edx),%bh
+  DB  33,8                                ; and           %ecx,(%eax)
+  DB  2,58                                ; add           (%edx),%bh
+  DB  33,8                                ; and           %ecx,(%eax)
+  DB  2,58                                ; add           (%edx),%bh
+  DB  31                                  ; pop           %ds
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,31                                ; add           %bl,(%edi)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,31                                ; add           %bl,(%edi)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,31                                ; add           %bl,(%edi)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,8                                 ; add           %cl,(%eax)
+  DB  33,4,61,8,33,4,61                   ; and           %eax,0x3d042108(,%edi,1)
+  DB  8,33                                ; or            %ah,(%ecx)
+  DB  4,61                                ; add           $0x3d,%al
+  DB  8,33                                ; or            %ah,(%ecx)
+  DB  4,61                                ; add           $0x3d,%al
+  DB  255,0                               ; incl          (%eax)
+  DB  255,0                               ; incl          (%eax)
+  DB  255,0                               ; incl          (%eax)
+  DB  255,0                               ; incl          (%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  128,0,128                           ; addb          $0x80,(%eax)
+  DB  55                                  ; aaa
+  DB  128,0,128                           ; addb          $0x80,(%eax)
+  DB  55                                  ; aaa
+  DB  128,0,128                           ; addb          $0x80,(%eax)
+  DB  55                                  ; aaa
+  DB  128,0,128                           ; addb          $0x80,(%eax)
+  DB  55                                  ; aaa
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,52,0                              ; add           %dh,(%eax,%eax,1)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  52,0                                ; xor           $0x0,%al
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  52,0                                ; xor           $0x0,%al
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  52,255                              ; xor           $0xff,%al
+  DB  255                                 ; (bad)
+  DB  127,0                               ; jg            10a14 <.literal16+0x2b4>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  127,0                               ; jg            10a18 <.literal16+0x2b8>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  127,0                               ; jg            10a1c <.literal16+0x2bc>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  127,0                               ; jg            10a20 <.literal16+0x2c0>
+  DB  119,115                             ; ja            10a95 <.literal16+0x335>
+  DB  248                                 ; clc
+  DB  194,119,115                         ; ret           $0x7377
+  DB  248                                 ; clc
+  DB  194,119,115                         ; ret           $0x7377
+  DB  248                                 ; clc
+  DB  194,119,115                         ; ret           $0x7377
+  DB  248                                 ; clc
+  DB  194,117,191                         ; ret           $0xbf75
+  DB  191,63,117,191,191                  ; mov           $0xbfbf753f,%edi
+  DB  63                                  ; aas
+  DB  117,191                             ; jne           109f9 <.literal16+0x299>
+  DB  191,63,117,191,191                  ; mov           $0xbfbf753f,%edi
+  DB  63                                  ; aas
+  DB  249                                 ; stc
+  DB  68                                  ; inc           %esp
+  DB  180,62                              ; mov           $0x3e,%ah
+  DB  249                                 ; stc
+  DB  68                                  ; inc           %esp
+  DB  180,62                              ; mov           $0x3e,%ah
+  DB  249                                 ; stc
+  DB  68                                  ; inc           %esp
+  DB  180,62                              ; mov           $0x3e,%ah
+  DB  249                                 ; stc
+  DB  68                                  ; inc           %esp
+  DB  180,62                              ; mov           $0x3e,%ah
+  DB  163,233,220,63,163                  ; mov           %eax,0xa33fdce9
+  DB  233,220,63,163,233                  ; jmp           e9a44a36 <_sk_srcover_bgra_8888_sse2_lowp+0xe9a345a2>
+  DB  220,63                              ; fdivrl        (%edi)
+  DB  163,233,220,63,81                   ; mov           %eax,0x513fdce9
+  DB  140,242                             ; mov           %?,%edx
+  DB  66                                  ; inc           %edx
+  DB  81                                  ; push          %ecx
+  DB  140,242                             ; mov           %?,%edx
+  DB  66                                  ; inc           %edx
+  DB  81                                  ; push          %ecx
+  DB  140,242                             ; mov           %?,%edx
+  DB  66                                  ; inc           %edx
+  DB  81                                  ; push          %ecx
+  DB  140,242                             ; mov           %?,%edx
+  DB  66                                  ; inc           %edx
+  DB  141,188,190,63,141,188,190          ; lea           -0x414372c1(%esi,%edi,4),%edi
+  DB  63                                  ; aas
+  DB  141,188,190,63,141,188,190          ; lea           -0x414372c1(%esi,%edi,4),%edi
+  DB  63                                  ; aas
+  DB  248                                 ; clc
+  DB  245                                 ; cmc
+  DB  154,64,248,245,154,64,248           ; lcall         $0xf840,$0x9af5f840
+  DB  245                                 ; cmc
+  DB  154,64,248,245,154,64,254           ; lcall         $0xfe40,$0x9af5f840
+  DB  210,221                             ; rcr           %cl,%ch
+  DB  65                                  ; inc           %ecx
+  DB  254                                 ; (bad)
+  DB  210,221                             ; rcr           %cl,%ch
+  DB  65                                  ; inc           %ecx
+  DB  254                                 ; (bad)
+  DB  210,221                             ; rcr           %cl,%ch
+  DB  65                                  ; inc           %ecx
+  DB  254                                 ; (bad)
+  DB  210,221                             ; rcr           %cl,%ch
+  DB  65                                  ; inc           %ecx
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,75,0                              ; add           %cl,0x0(%ebx)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  75                                  ; dec           %ebx
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,75,0                              ; add           %cl,0x0(%ebx)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  75                                  ; dec           %ebx
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  200,66,0,0                          ; enter         $0x42,$0x0
+  DB  200,66,0,0                          ; enter         $0x42,$0x0
+  DB  200,66,0,0                          ; enter         $0x42,$0x0
+  DB  200,66,0,0                          ; enter         $0x42,$0x0
+  DB  0,195                               ; add           %al,%bl
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,195                               ; add           %al,%bl
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,195                               ; add           %al,%bl
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,195                               ; add           %al,%bl
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  128,65,0,0                          ; addb          $0x0,0x0(%ecx)
+  DB  128,65,0,0                          ; addb          $0x0,0x0(%ecx)
+  DB  128,65,0,0                          ; addb          $0x0,0x0(%ecx)
+  DB  128,65,203,61                       ; addb          $0x3d,-0x35(%ecx)
+  DB  13,60,203,61,13                     ; or            $0xd3dcb3c,%eax
+  DB  60,203                              ; cmp           $0xcb,%al
+  DB  61,13,60,203,61                     ; cmp           $0x3dcb3c0d,%eax
+  DB  13,60,111,18,3                      ; or            $0x3126f3c,%eax
+  DB  59,111,18                           ; cmp           0x12(%edi),%ebp
+  DB  3,59                                ; add           (%ebx),%edi
+  DB  111                                 ; outsl         %ds:(%esi),(%dx)
+  DB  18,3                                ; adc           (%ebx),%al
+  DB  59,111,18                           ; cmp           0x12(%edi),%ebp
+  DB  3,59                                ; add           (%ebx),%edi
+  DB  10,215                              ; or            %bh,%dl
+  DB  163,59,10,215,163                   ; mov           %eax,0xa3d70a3b
+  DB  59,10                               ; cmp           (%edx),%ecx
+  DB  215                                 ; xlat          %ds:(%ebx)
+  DB  163,59,10,215,163                   ; mov           %eax,0xa3d70a3b
+  DB  59,194                              ; cmp           %edx,%eax
+  DB  24,17                               ; sbb           %dl,(%ecx)
+  DB  60,194                              ; cmp           $0xc2,%al
+  DB  24,17                               ; sbb           %dl,(%ecx)
+  DB  60,194                              ; cmp           $0xc2,%al
+  DB  24,17                               ; sbb           %dl,(%ecx)
+  DB  60,194                              ; cmp           $0xc2,%al
+  DB  24,17                               ; sbb           %dl,(%ecx)
+  DB  60,203                              ; cmp           $0xcb,%al
+  DB  61,13,190,203,61                    ; cmp           $0x3dcbbe0d,%eax
+  DB  13,190,203,61,13                    ; or            $0xd3dcbbe,%eax
+  DB  190,203,61,13,190                   ; mov           $0xbe0d3dcb,%esi
+  DB  80                                  ; push          %eax
+  DB  128,3,62                            ; addb          $0x3e,(%ebx)
+  DB  80                                  ; push          %eax
+  DB  128,3,62                            ; addb          $0x3e,(%ebx)
+  DB  80                                  ; push          %eax
+  DB  128,3,62                            ; addb          $0x3e,(%ebx)
+  DB  80                                  ; push          %eax
+  DB  128,3,62                            ; addb          $0x3e,(%ebx)
+  DB  31                                  ; pop           %ds
+  DB  215                                 ; xlat          %ds:(%ebx)
+  DB  118,63                              ; jbe           10b83 <.literal16+0x423>
+  DB  31                                  ; pop           %ds
+  DB  215                                 ; xlat          %ds:(%ebx)
+  DB  118,63                              ; jbe           10b87 <.literal16+0x427>
+  DB  31                                  ; pop           %ds
+  DB  215                                 ; xlat          %ds:(%ebx)
+  DB  118,63                              ; jbe           10b8b <.literal16+0x42b>
+  DB  31                                  ; pop           %ds
+  DB  215                                 ; xlat          %ds:(%ebx)
+  DB  118,63                              ; jbe           10b8f <.literal16+0x42f>
+  DB  246,64,83,63                        ; testb         $0x3f,0x53(%eax)
+  DB  246,64,83,63                        ; testb         $0x3f,0x53(%eax)
+  DB  246,64,83,63                        ; testb         $0x3f,0x53(%eax)
+  DB  246,64,83,63                        ; testb         $0x3f,0x53(%eax)
+  DB  255,0                               ; incl          (%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  255,0                               ; incl          (%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  248                                 ; clc
+  DB  65                                  ; inc           %ecx
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  248                                 ; clc
+  DB  65                                  ; inc           %ecx
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  248                                 ; clc
+  DB  65                                  ; inc           %ecx
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  248                                 ; clc
+  DB  65                                  ; inc           %ecx
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  124,66                              ; jl            10bc6 <.literal16+0x466>
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  124,66                              ; jl            10bca <.literal16+0x46a>
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  124,66                              ; jl            10bce <.literal16+0x46e>
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  124,66                              ; jl            10bd2 <.literal16+0x472>
+  DB  0,240                               ; add           %dh,%al
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,240                               ; add           %dh,%al
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,240                               ; add           %dh,%al
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,240                               ; add           %dh,%al
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  137,136,136,55,137,136              ; mov           %ecx,-0x7776c878(%eax)
+  DB  136,55                              ; mov           %dh,(%edi)
+  DB  137,136,136,55,137,136              ; mov           %ecx,-0x7776c878(%eax)
+  DB  136,55                              ; mov           %dh,(%edi)
+  DB  0,15                                ; add           %cl,(%edi)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,15                                ; add           %cl,(%edi)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,15                                ; add           %cl,(%edi)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,15                                ; add           %cl,(%edi)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  137,136,136,57,137,136              ; mov           %ecx,-0x7776c678(%eax)
+  DB  136,57                              ; mov           %bh,(%ecx)
+  DB  137,136,136,57,137,136              ; mov           %ecx,-0x7776c678(%eax)
+  DB  136,57                              ; mov           %bh,(%ecx)
+  DB  240,0,0                             ; lock          add %al,(%eax)
+  DB  0,240                               ; add           %dh,%al
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,240                               ; add           %dh,%al
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,240                               ; add           %dh,%al
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,137,136,136,59,137                ; add           %cl,-0x76c47778(%ecx)
+  DB  136,136,59,137,136,136              ; mov           %cl,-0x777776c5(%eax)
+  DB  59,137,136,136,59,15                ; cmp           0xf3b8888(%ecx),%ecx
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,15                                ; add           %cl,(%edi)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,15                                ; add           %cl,(%edi)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,15                                ; add           %cl,(%edi)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,137,136,136,61,137                ; add           %cl,-0x76c27778(%ecx)
+  DB  136,136,61,137,136,136              ; mov           %cl,-0x777776c3(%eax)
+  DB  61,137,136,136,61                   ; cmp           $0x3d888889,%eax
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  112,65                              ; jo            10c55 <.literal16+0x4f5>
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  112,65                              ; jo            10c59 <.literal16+0x4f9>
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  112,65                              ; jo            10c5d <.literal16+0x4fd>
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  112,65                              ; jo            10c61 <.literal16+0x501>
+  DB  255,3                               ; incl          (%ebx)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  255,3                               ; incl          (%ebx)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  255,3                               ; incl          (%ebx)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  255,3                               ; incl          (%ebx)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  8,32                                ; or            %ah,(%eax)
+  DB  128,58,8                            ; cmpb          $0x8,(%edx)
+  DB  32,128,58,8,32,128                  ; and           %al,-0x7fdff7c6(%eax)
+  DB  58,8                                ; cmp           (%eax),%cl
+  DB  32,128,58,0,192,127                 ; and           %al,0x7fc0003a(%eax)
+  DB  68                                  ; inc           %esp
+  DB  0,192                               ; add           %al,%al
+  DB  127,68                              ; jg            10c8c <.literal16+0x52c>
+  DB  0,192                               ; add           %al,%al
+  DB  127,68                              ; jg            10c90 <.literal16+0x530>
+  DB  0,192                               ; add           %al,%al
+  DB  127,68                              ; jg            10c94 <.literal16+0x534>
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  64                                  ; inc           %eax
+  DB  64                                  ; inc           %eax
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  64                                  ; inc           %eax
+  DB  64                                  ; inc           %eax
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  64                                  ; inc           %eax
+  DB  64                                  ; inc           %eax
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  64                                  ; inc           %eax
+  DB  64                                  ; inc           %eax
+  DB  0,128,0,0,0,128                     ; add           %al,-0x80000000(%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,128,0,0,0,128                     ; add           %al,-0x80000000(%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  255                                 ; (bad)
+  DB  127,0                               ; jg            10c73 <.literal16+0x513>
+  DB  0,255                               ; add           %bh,%bh
+  DB  127,0                               ; jg            10c77 <.literal16+0x517>
+  DB  0,255                               ; add           %bh,%bh
+  DB  127,0                               ; jg            10c7b <.literal16+0x51b>
+  DB  0,255                               ; add           %bh,%bh
+  DB  127,0                               ; jg            10c7f <.literal16+0x51f>
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  4,0                                 ; add           $0x0,%al
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  4,0                                 ; add           $0x0,%al
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  4,0                                 ; add           $0x0,%al
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  4,0                                 ; add           $0x0,%al
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  56,0                                ; cmp           %al,(%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  56,0                                ; cmp           %al,(%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  56,0                                ; cmp           %al,(%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  56,0                                ; cmp           %al,(%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  128,0,0                             ; addb          $0x0,(%eax)
+  DB  0,128,0,0,0,128                     ; add           %al,-0x80000000(%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,128,255,255,255,127               ; add           %al,0x7fffffff(%eax)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  127,255                             ; jg            10cb8 <.literal16+0x558>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  127,255                             ; jg            10cbc <.literal16+0x55c>
+  DB  255                                 ; (bad)
+  DB  255                                 ; (bad)
+  DB  127,0                               ; jg            10cc1 <.literal16+0x561>
+  DB  0,128,56,0,0,128                    ; add           %al,-0x7fffffc8(%eax)
+  DB  56,0                                ; cmp           %al,(%eax)
+  DB  0,128,56,0,0,128                    ; add           %al,-0x7fffffc8(%eax)
+  DB  56,0                                ; cmp           %al,(%eax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  255,0                               ; incl          (%eax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  255,0                               ; incl          (%eax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  255,0                               ; incl          (%eax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  255,0                               ; incl          (%eax)
+  DB  255                                 ; (bad)
+  DB  127,71                              ; jg            10d2b <.literal16+0x5cb>
+  DB  0,255                               ; add           %bh,%bh
+  DB  127,71                              ; jg            10d2f <.literal16+0x5cf>
+  DB  0,255                               ; add           %bh,%bh
+  DB  127,71                              ; jg            10d33 <.literal16+0x5d3>
+  DB  0,255                               ; add           %bh,%bh
+  DB  127,71                              ; jg            10d37 <.literal16+0x5d7>
+  DB  208                                 ; (bad)
+  DB  179,89                              ; mov           $0x59,%bl
+  DB  62,208                              ; ds            (bad)
+  DB  179,89                              ; mov           $0x59,%bl
+  DB  62,208                              ; ds            (bad)
+  DB  179,89                              ; mov           $0x59,%bl
+  DB  62,208                              ; ds            (bad)
+  DB  179,89                              ; mov           $0x59,%bl
+  DB  62,89                               ; ds            pop %ecx
+  DB  23                                  ; pop           %ss
+  DB  55                                  ; aaa
+  DB  63                                  ; aas
+  DB  89                                  ; pop           %ecx
+  DB  23                                  ; pop           %ss
+  DB  55                                  ; aaa
+  DB  63                                  ; aas
+  DB  89                                  ; pop           %ecx
+  DB  23                                  ; pop           %ss
+  DB  55                                  ; aaa
+  DB  63                                  ; aas
+  DB  89                                  ; pop           %ecx
+  DB  23                                  ; pop           %ss
+  DB  55                                  ; aaa
+  DB  63                                  ; aas
+  DB  152                                 ; cwtl
+  DB  221,147,61,152,221,147              ; fstl          -0x6c2267c3(%ebx)
+  DB  61,152,221,147,61                   ; cmp           $0x3d93dd98,%eax
+  DB  152                                 ; cwtl
+  DB  221,147,61,255,255,0                ; fstl          0xffff3d(%ebx)
+  DB  0,255                               ; add           %bh,%bh
+  DB  255,0                               ; incl          (%eax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  255,0                               ; incl          (%eax)
+  DB  0,255                               ; add           %bh,%bh
+  DB  255,0                               ; incl          (%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  83                                  ; push          %ebx
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,83,0                              ; add           %dl,0x0(%ebx)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  83                                  ; push          %ebx
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,83,128                            ; add           %dl,-0x80(%ebx)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  211,128,0,0,211,128                 ; roll          %cl,-0x7f2d0000(%eax)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  211,128,0,0,211,111                 ; roll          %cl,0x6fd30000(%eax)
+  DB  43,231                              ; sub           %edi,%esp
+  DB  187,111,43,231,187                  ; mov           $0xbbe72b6f,%ebx
+  DB  111                                 ; outsl         %ds:(%esi),(%dx)
+  DB  43,231                              ; sub           %edi,%esp
+  DB  187,111,43,231,187                  ; mov           $0xbbe72b6f,%ebx
+  DB  159                                 ; lahf
+  DB  215                                 ; xlat          %ds:(%ebx)
+  DB  202,60,159                          ; lret          $0x9f3c
+  DB  215                                 ; xlat          %ds:(%ebx)
+  DB  202,60,159                          ; lret          $0x9f3c
+  DB  215                                 ; xlat          %ds:(%ebx)
+  DB  202,60,159                          ; lret          $0x9f3c
+  DB  215                                 ; xlat          %ds:(%ebx)
+  DB  202,60,212                          ; lret          $0xd43c
+  DB  100,84                              ; fs            push %esp
+  DB  189,212,100,84,189                  ; mov           $0xbd5464d4,%ebp
+  DB  212,100                             ; aam           $0x64
+  DB  84                                  ; push          %esp
+  DB  189,212,100,84,189                  ; mov           $0xbd5464d4,%ebp
+  DB  169,240,34,62,169                   ; test          $0xa93e22f0,%eax
+  DB  240,34,62                           ; lock          and (%esi),%bh
+  DB  169,240,34,62,169                   ; test          $0xa93e22f0,%eax
+  DB  240,34,62                           ; lock          and (%esi),%bh
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  128,62,0                            ; cmpb          $0x0,(%esi)
+  DB  0,128,62,0,0,128                    ; add           %al,-0x7fffffc2(%eax)
+  DB  62,0,0                              ; add           %al,%ds:(%eax)
+  DB  128,62,0                            ; cmpb          $0x0,(%esi)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  191,0,0,0,191                       ; mov           $0xbf000000,%edi
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,191,0,0,0,191                     ; add           %bh,-0x41000000(%edi)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  192,191,0,0,192,191,0               ; sarb          $0x0,-0x40400000(%edi)
+  DB  0,192                               ; add           %al,%al
+  DB  191,0,0,192,191                     ; mov           $0xbfc00000,%edi
+  DB  114,28                              ; jb            10dde <.literal16+0x67e>
+  DB  199                                 ; (bad)
+  DB  62,114,28                           ; jb,pt         10de2 <.literal16+0x682>
+  DB  199                                 ; (bad)
+  DB  62,114,28                           ; jb,pt         10de6 <.literal16+0x686>
+  DB  199                                 ; (bad)
+  DB  62,114,28                           ; jb,pt         10dea <.literal16+0x68a>
+  DB  199                                 ; (bad)
+  DB  62,85                               ; ds            push %ebp
+  DB  85                                  ; push          %ebp
+  DB  149                                 ; xchg          %eax,%ebp
+  DB  191,85,85,149,191                   ; mov           $0xbf955555,%edi
+  DB  85                                  ; push          %ebp
+  DB  85                                  ; push          %ebp
+  DB  149                                 ; xchg          %eax,%ebp
+  DB  191,85,85,149,191                   ; mov           $0xbf955555,%edi
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  192,63,0                            ; sarb          $0x0,(%edi)
+  DB  0,192                               ; add           %al,%al
+  DB  63                                  ; aas
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  192,63,0                            ; sarb          $0x0,(%edi)
+  DB  0,192                               ; add           %al,%al
+  DB  63                                  ; aas
+  DB  57,142,99,61,57,142                 ; cmp           %ecx,-0x71c6c29d(%esi)
+  DB  99,61,57,142,99,61                  ; arpl          %di,0x3d638e39
+  DB  57,142,99,61,114,249                ; cmp           %ecx,-0x68dc29d(%esi)
+  DB  127,63                              ; jg            10e43 <.literal16+0x6e3>
+  DB  114,249                             ; jb            10dff <.literal16+0x69f>
+  DB  127,63                              ; jg            10e47 <.literal16+0x6e7>
+  DB  114,249                             ; jb            10e03 <.literal16+0x6a3>
+  DB  127,63                              ; jg            10e4b <.literal16+0x6eb>
+  DB  114,249                             ; jb            10e07 <.literal16+0x6a7>
+  DB  127,63                              ; jg            10e4f <.literal16+0x6ef>
+  DB  3,0                                 ; add           (%eax),%eax
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  3,0                                 ; add           (%eax),%eax
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  3,0                                 ; add           (%eax),%eax
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  3,0                                 ; add           (%eax),%eax
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  45,16,17,192,45                     ; sub           $0x2dc01110,%eax
+  DB  16,17                               ; adc           %dl,(%ecx)
+  DB  192,45,16,17,192,45,16              ; shrb          $0x10,0x2dc01110
+  DB  17,192                              ; adc           %eax,%eax
+  DB  18,120,57                           ; adc           0x39(%eax),%bh
+  DB  64                                  ; inc           %eax
+  DB  18,120,57                           ; adc           0x39(%eax),%bh
+  DB  64                                  ; inc           %eax
+  DB  18,120,57                           ; adc           0x39(%eax),%bh
+  DB  64                                  ; inc           %eax
+  DB  18,120,57                           ; adc           0x39(%eax),%bh
+  DB  64                                  ; inc           %eax
+  DB  32,148,90,62,32,148,90              ; and           %dl,0x5a94203e(%edx,%ebx,2)
+  DB  62,32,148,90,62,32,148,90           ; and           %dl,%ds:0x5a94203e(%edx,%ebx,2)
+  DB  62,4,157                            ; ds            add $0x9d,%al
+  DB  30                                  ; push          %ds
+  DB  62,4,157                            ; ds            add $0x9d,%al
+  DB  30                                  ; push          %ds
+  DB  62,4,157                            ; ds            add $0x9d,%al
+  DB  30                                  ; push          %ds
+  DB  62,4,157                            ; ds            add $0x9d,%al
+  DB  30                                  ; push          %ds
+  DB  62,0,24                             ; add           %bl,%ds:(%eax)
+  DB  161,57,0,24,161                     ; mov           0xa1180039,%eax
+  DB  57,0                                ; cmp           %eax,(%eax)
+  DB  24,161,57,0,24,161                  ; sbb           %ah,-0x5ee7ffc7(%ecx)
+  DB  57,255                              ; cmp           %edi,%edi
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  128,0,128                           ; addb          $0x80,(%eax)
+  DB  0,128,0,128,0,128                   ; add           %al,-0x7fff8000(%eax)
+  DB  0,128,0,128,0,128                   ; add           %al,-0x7fff8000(%eax)
+  DB  254,0                               ; incb          (%eax)
+  DB  254,0                               ; incb          (%eax)
+  DB  254,0                               ; incb          (%eax)
+  DB  254,0                               ; incb          (%eax)
+  DB  254,0                               ; incb          (%eax)
+  DB  254,0                               ; incb          (%eax)
+  DB  254,0                               ; incb          (%eax)
+  DB  254,0                               ; incb          (%eax)
+  DB  254,1                               ; incb          (%ecx)
+  DB  254,1                               ; incb          (%ecx)
+  DB  254,1                               ; incb          (%ecx)
+  DB  254,1                               ; incb          (%ecx)
+  DB  254,1                               ; incb          (%ecx)
+  DB  254,1                               ; incb          (%ecx)
+  DB  254,1                               ; incb          (%ecx)
+  DB  254,1                               ; incb          (%ecx)
+  DB  248                                 ; clc
+  DB  0,248                               ; add           %bh,%al
+  DB  0,248                               ; add           %bh,%al
+  DB  0,248                               ; add           %bh,%al
+  DB  0,248                               ; add           %bh,%al
+  DB  0,248                               ; add           %bh,%al
+  DB  0,248                               ; add           %bh,%al
+  DB  0,248                               ; add           %bh,%al
+  DB  0,63                                ; add           %bh,(%edi)
+  DB  0,63                                ; add           %bh,(%edi)
+  DB  0,63                                ; add           %bh,(%edi)
+  DB  0,63                                ; add           %bh,(%edi)
+  DB  0,63                                ; add           %bh,(%edi)
+  DB  0,63                                ; add           %bh,(%edi)
+  DB  0,63                                ; add           %bh,(%edi)
+  DB  0,63                                ; add           %bh,(%edi)
+  DB  0,31                                ; add           %bl,(%edi)
+  DB  0,31                                ; add           %bl,(%edi)
+  DB  0,31                                ; add           %bl,(%edi)
+  DB  0,31                                ; add           %bl,(%edi)
+  DB  0,31                                ; add           %bl,(%edi)
+  DB  0,31                                ; add           %bl,(%edi)
+  DB  0,31                                ; add           %bl,(%edi)
+  DB  0,31                                ; add           %bl,(%edi)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  248                                 ; clc
+  DB  0,248                               ; add           %bh,%al
+  DB  0,248                               ; add           %bh,%al
+  DB  0,248                               ; add           %bh,%al
+  DB  0,248                               ; add           %bh,%al
+  DB  0,248                               ; add           %bh,%al
+  DB  0,248                               ; add           %bh,%al
+  DB  0,248                               ; add           %bh,%al
+  DB  224,255                             ; loopne        10ef1 <.literal16+0x791>
+  DB  224,255                             ; loopne        10ef3 <.literal16+0x793>
+  DB  224,255                             ; loopne        10ef5 <.literal16+0x795>
+  DB  224,255                             ; loopne        10ef7 <.literal16+0x797>
+  DB  224,255                             ; loopne        10ef9 <.literal16+0x799>
+  DB  224,255                             ; loopne        10efb <.literal16+0x79b>
+  DB  224,255                             ; loopne        10efd <.literal16+0x79d>
+  DB  224,255                             ; loopne        10eff <.literal16+0x79f>
+  DB  15,0,15                             ; str           (%edi)
+  DB  0,15                                ; add           %cl,(%edi)
+  DB  0,15                                ; add           %cl,(%edi)
+  DB  0,15                                ; add           %cl,(%edi)
+  DB  0,15                                ; add           %cl,(%edi)
+  DB  0,15                                ; add           %cl,(%edi)
+  DB  0,15                                ; add           %cl,(%edi)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  240,0,240                           ; lock          add %dh,%al
+  DB  0,240                               ; add           %dh,%al
+  DB  0,240                               ; add           %dh,%al
+  DB  0,240                               ; add           %dh,%al
+  DB  0,240                               ; add           %dh,%al
+  DB  0,240                               ; add           %dh,%al
+  DB  0,240                               ; add           %dh,%al
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  0,255                               ; add           %bh,%bh
+  DB  240,255,240                         ; lock          push %eax
+  DB  255,240                             ; push          %eax
+  DB  255,240                             ; push          %eax
+  DB  255,240                             ; push          %eax
+  DB  255,240                             ; push          %eax
+  DB  255,240                             ; push          %eax
+  DB  255,240                             ; push          %eax
+  DB  255,54                              ; pushl         (%esi)
+  DB  0,54                                ; add           %dh,(%esi)
+  DB  0,54                                ; add           %dh,(%esi)
+  DB  0,54                                ; add           %dh,(%esi)
+  DB  0,54                                ; add           %dh,(%esi)
+  DB  0,54                                ; add           %dh,(%esi)
+  DB  0,54                                ; add           %dh,(%esi)
+  DB  0,54                                ; add           %dh,(%esi)
+  DB  0,183,0,183,0,183                   ; add           %dh,-0x48ff4900(%edi)
+  DB  0,183,0,183,0,183                   ; add           %dh,-0x48ff4900(%edi)
+  DB  0,183,0,183,0,19                    ; add           %dh,0x1300b700(%edi)
+  DB  0,19                                ; add           %dl,(%ebx)
+  DB  0,19                                ; add           %dl,(%ebx)
+  DB  0,19                                ; add           %dl,(%ebx)
+  DB  0,19                                ; add           %dl,(%ebx)
+  DB  0,19                                ; add           %dl,(%ebx)
+  DB  0,19                                ; add           %dl,(%ebx)
+  DB  0,19                                ; add           %dl,(%ebx)
+  DB  0                                   ; .byte         0x0
+
+ALIGN 4
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,63                                ; add           %bh,(%edi)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  0,191,0,0,128,63                    ; add           %bh,0x3f800000(%edi)
+  DB  0,0                                 ; add           %al,(%eax)
+  DB  127,67                              ; jg            10fc3 <_sk_srcover_bgra_8888_sse2_lowp+0xb2f>
+ENDIF
+END
diff --git a/src/opts/SkRasterPipeline_opts.h b/src/jumper/SkJumper_stages.cpp
similarity index 67%
rename from src/opts/SkRasterPipeline_opts.h
rename to src/jumper/SkJumper_stages.cpp
index ebdbfcb..5dd6690 100644
--- a/src/opts/SkRasterPipeline_opts.h
+++ b/src/jumper/SkJumper_stages.cpp
@@ -1,15 +1,30 @@
 /*
- * Copyright 2018 Google Inc.
+ * Copyright 2017 Google Inc.
  *
  * Use of this source code is governed by a BSD-style license that can be
  * found in the LICENSE file.
  */
 
-#ifndef SkRasterPipeline_opts_DEFINED
-#define SkRasterPipeline_opts_DEFINED
+#include "SkJumper.h"
+#include "SkJumper_misc.h"
 
-#include "../jumper/SkJumper.h"
-#include "../jumper/SkJumper_misc.h"
+// A little wrapper macro to name Stages differently depending on the instruction set.
+// That lets us link together several options.
+#if !defined(JUMPER_IS_OFFLINE)
+    #define WRAP(name) sk_##name
+#elif defined(__AVX512F__)
+    #define WRAP(name) sk_##name##_skx
+#elif defined(__AVX2__)
+    #define WRAP(name) sk_##name##_hsw
+#elif defined(__AVX__)
+    #define WRAP(name) sk_##name##_avx
+#elif defined(__SSE4_1__)
+    #define WRAP(name) sk_##name##_sse41
+#elif defined(__SSE2__)
+    #define WRAP(name) sk_##name##_sse2
+#endif
+
+// Every function in this file should be marked static and inline using SI (see SkJumper_misc.h).
 
 #if !defined(__clang__)
     #define JUMPER_IS_SCALAR
@@ -40,17 +55,9 @@
 #endif
 
 #if defined(JUMPER_IS_SCALAR)
-    #include <math.h>
-#elif defined(JUMPER_IS_NEON)
-    #include <arm_neon.h>
-#else
-    #include <immintrin.h>
-#endif
-
-namespace SK_OPTS_NS {
-
-#if defined(JUMPER_IS_SCALAR)
     // This path should lead to portable scalar code.
+    #include <math.h>
+
     using F   = float   ;
     using I32 =  int32_t;
     using U64 = uint64_t;
@@ -107,6 +114,8 @@
     }
 
 #elif defined(JUMPER_IS_NEON)
+    #include <arm_neon.h>
+
     // Since we know we're using Clang, we can use its vector extensions.
     template <typename T> using V = T __attribute__((ext_vector_type(4)));
     using F   = V<float   >;
@@ -218,6 +227,8 @@
     }
 
 #elif defined(JUMPER_IS_AVX) || defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512)
+    #include <immintrin.h>
+
     // These are __m256 and __m256i, but friendlier and strongly-typed.
     template <typename T> using V = T __attribute__((ext_vector_type(8)));
     using F   = V<float   >;
@@ -431,6 +442,8 @@
     }
 
 #elif defined(JUMPER_IS_SSE2) || defined(JUMPER_IS_SSE41)
+    #include <immintrin.h>
+
     template <typename T> using V = T __attribute__((ext_vector_type(4)));
     using F   = V<float   >;
     using I32 = V< int32_t>;
@@ -700,47 +713,29 @@
 //    tail != 0 ~~> work on only the first tail pixels
 // tail is always < N.
 
-// Any custom ABI to use for all non-externally-facing stage functions.
-#if defined(__ARM_NEON) && defined(__arm__)
-    // This lets us pass vectors more efficiently on 32-bit ARM.
-    #define ABI __attribute__((pcs("aapcs-vfp")))
-#elif defined(__clang__) && defined(_MSC_VER)
-    // TODO: can we use sysv_abi here instead?  It'd allow passing far more registers.
-    #define ABI __attribute__((vectorcall))
-#else
-    #define ABI
-#endif
-
-// On 32-bit x86 we've only got 8 xmm registers, so we keep the 4 hottest (r,g,b,a)
-// in registers and the d-registers on the stack (giving us 4 temporary registers).
-// General-purpose registers are also tight, so we put most of those on the stack too.
-//
-// On ARMv7, we do the same so that we can make the r,g,b,a vectors wider.
-//
-// Finally, this narrower stage calling convention also fits Windows' __vectorcall very well.
-#if defined(__i386__) || defined(_M_IX86) || defined(__arm__) || defined(_MSC_VER)
-    #define JUMPER_NARROW_STAGES 1
-#else
-    #define JUMPER_NARROW_STAGES 0
-#endif
-
-#if JUMPER_NARROW_STAGES
+#if defined(__i386__) || defined(_M_IX86) || defined(__arm__)
+    // On 32-bit x86 we've only got 8 xmm registers, so we keep the 4 hottest (r,g,b,a)
+    // in registers and the d-registers on the stack (giving us 4 temporary registers).
+    // General-purpose registers are also tight, so we put most of those on the stack too.
+    // On ARMv7, we do the same so that we can make the r,g,b,a vectors wider.
     struct Params {
         size_t dx, dy, tail;
         F dr,dg,db,da;
     };
     using Stage = void(ABI*)(Params*, void** program, F r, F g, F b, F a);
+
 #else
     // We keep program the second argument, so that it's passed in rsi for load_and_inc().
     using Stage = void(ABI*)(size_t tail, void** program, size_t dx, size_t dy, F,F,F,F, F,F,F,F);
 #endif
 
 
-static void start_pipeline(size_t dx, size_t dy, size_t xlimit, size_t ylimit, void** program) {
+extern "C" MAYBE_MSABI void WRAP(start_pipeline)(size_t dx, size_t dy, size_t xlimit, size_t ylimit,
+                                                 void** program) {
     auto start = (Stage)load_and_inc(program);
     const size_t x0 = dx;
     for (; dy < ylimit; dy++) {
-    #if JUMPER_NARROW_STAGES
+    #if defined(__i386__) || defined(_M_IX86) || defined(__arm__)
         Params params = { x0,dy,0, 0,0,0,0 };
         while (params.dx + N <= xlimit) {
             start(&params,program, 0,0,0,0);
@@ -763,40 +758,40 @@
     }
 }
 
-#if JUMPER_NARROW_STAGES
-    #define STAGE(name, ...)                                                    \
-        SI void name##_k(__VA_ARGS__, size_t dx, size_t dy, size_t tail,        \
-                         F& r, F& g, F& b, F& a, F& dr, F& dg, F& db, F& da);   \
-        static ABI void name(Params* params, void** program,                    \
-                             F r, F g, F b, F a) {                              \
-            name##_k(Ctx{program},params->dx,params->dy,params->tail, r,g,b,a,  \
-                     params->dr, params->dg, params->db, params->da);           \
-            auto next = (Stage)load_and_inc(program);                           \
-            next(params,program, r,g,b,a);                                      \
-        }                                                                       \
-        SI void name##_k(__VA_ARGS__, size_t dx, size_t dy, size_t tail,        \
+#if defined(__i386__) || defined(_M_IX86) || defined(__arm__)
+    #define STAGE(name, ...)                                                          \
+        SI void name##_k(__VA_ARGS__, size_t dx, size_t dy, size_t tail,              \
+                         F& r, F& g, F& b, F& a, F& dr, F& dg, F& db, F& da);         \
+        extern "C" ABI void WRAP(name)(Params* params, void** program,                \
+                                       F r, F g, F b, F a) {                          \
+            name##_k(Ctx{program},params->dx,params->dy,params->tail, r,g,b,a,        \
+                     params->dr, params->dg, params->db, params->da);                 \
+            auto next = (Stage)load_and_inc(program);                                 \
+            next(params,program, r,g,b,a);                                            \
+        }                                                                             \
+        SI void name##_k(__VA_ARGS__, size_t dx, size_t dy, size_t tail,              \
                          F& r, F& g, F& b, F& a, F& dr, F& dg, F& db, F& da)
 #else
-    #define STAGE(name, ...)                                                         \
-        SI void name##_k(__VA_ARGS__, size_t dx, size_t dy, size_t tail,             \
-                         F& r, F& g, F& b, F& a, F& dr, F& dg, F& db, F& da);        \
-        static ABI void name(size_t tail, void** program, size_t dx, size_t dy,      \
-                             F r, F g, F b, F a, F dr, F dg, F db, F da) {           \
-            name##_k(Ctx{program},dx,dy,tail, r,g,b,a, dr,dg,db,da);                 \
-            auto next = (Stage)load_and_inc(program);                                \
-            next(tail,program,dx,dy, r,g,b,a, dr,dg,db,da);                          \
-        }                                                                            \
-        SI void name##_k(__VA_ARGS__, size_t dx, size_t dy, size_t tail,             \
+    #define STAGE(name, ...)                                                              \
+        SI void name##_k(__VA_ARGS__, size_t dx, size_t dy, size_t tail,                  \
+                         F& r, F& g, F& b, F& a, F& dr, F& dg, F& db, F& da);             \
+        extern "C" ABI void WRAP(name)(size_t tail, void** program, size_t dx, size_t dy, \
+                                       F r, F g, F b, F a, F dr, F dg, F db, F da) {      \
+            name##_k(Ctx{program},dx,dy,tail, r,g,b,a, dr,dg,db,da);                      \
+            auto next = (Stage)load_and_inc(program);                                     \
+            next(tail,program,dx,dy, r,g,b,a, dr,dg,db,da);                               \
+        }                                                                                 \
+        SI void name##_k(__VA_ARGS__, size_t dx, size_t dy, size_t tail,                  \
                          F& r, F& g, F& b, F& a, F& dr, F& dg, F& db, F& da)
 #endif
 
 
 // just_return() is a simple no-op stage that only exists to end the chain,
 // returning back up to start_pipeline(), and from there to the caller.
-#if JUMPER_NARROW_STAGES
-    static ABI void just_return(Params*, void**, F,F,F,F) {}
+#if defined(__i386__) || defined(_M_IX86) || defined(__arm__)
+    extern "C" ABI void WRAP(just_return)(Params*, void**, F,F,F,F) {}
 #else
-    static ABI void just_return(size_t, void**, size_t,size_t, F,F,F,F, F,F,F,F) {}
+    extern "C" ABI void WRAP(just_return)(size_t, void**, size_t,size_t, F,F,F,F, F,F,F,F) {}
 #endif
 
 
@@ -1308,21 +1303,21 @@
 STAGE(force_opaque    , Ctx::None) {  a = 1; }
 STAGE(force_opaque_dst, Ctx::None) { da = 1; }
 
-SI F from_srgb_(F s) {
+SI F from_srgb(F s) {
     auto lo = s * (1/12.92f);
     auto hi = mad(s*s, mad(s, 0.3000f, 0.6975f), 0.0025f);
     return if_then_else(s < 0.055f, lo, hi);
 }
 
 STAGE(from_srgb, Ctx::None) {
-    r = from_srgb_(r);
-    g = from_srgb_(g);
-    b = from_srgb_(b);
+    r = from_srgb(r);
+    g = from_srgb(g);
+    b = from_srgb(b);
 }
 STAGE(from_srgb_dst, Ctx::None) {
-    dr = from_srgb_(dr);
-    dg = from_srgb_(dg);
-    db = from_srgb_(db);
+    dr = from_srgb(dr);
+    dg = from_srgb(dg);
+    db = from_srgb(db);
 }
 STAGE(to_srgb, Ctx::None) {
     auto fn = [&](F l) {
@@ -2296,988 +2291,3 @@
         a += sa * area;
     }
 }
-
-namespace lowp {
-#if defined(__clang__)
-
-#if defined(__AVX2__)
-    using U8  = uint8_t  __attribute__((ext_vector_type(16)));
-    using U16 = uint16_t __attribute__((ext_vector_type(16)));
-    using I16 =  int16_t __attribute__((ext_vector_type(16)));
-    using I32 =  int32_t __attribute__((ext_vector_type(16)));
-    using U32 = uint32_t __attribute__((ext_vector_type(16)));
-    using F   = float    __attribute__((ext_vector_type(16)));
-#else
-    using U8  = uint8_t  __attribute__((ext_vector_type(8)));
-    using U16 = uint16_t __attribute__((ext_vector_type(8)));
-    using I16 =  int16_t __attribute__((ext_vector_type(8)));
-    using I32 =  int32_t __attribute__((ext_vector_type(8)));
-    using U32 = uint32_t __attribute__((ext_vector_type(8)));
-    using F   = float    __attribute__((ext_vector_type(8)));
-#endif
-
-static const size_t N = sizeof(U16) / sizeof(uint16_t);
-
-// TODO: follow the guidance of JUMPER_NARROW_STAGES for lowp stages too.
-
-// We pass program as the second argument so that load_and_inc() will find it in %rsi on x86-64.
-using Stage = void (ABI*)(size_t tail, void** program, size_t dx, size_t dy,
-                          U16  r, U16  g, U16  b, U16  a,
-                          U16 dr, U16 dg, U16 db, U16 da);
-
-static void start_pipeline(const size_t x0,     const size_t y0,
-                           const size_t xlimit, const size_t ylimit, void** program) {
-    auto start = (Stage)load_and_inc(program);
-    for (size_t dy = y0; dy < ylimit; dy++) {
-        size_t dx = x0;
-        for (; dx + N <= xlimit; dx += N) {
-            start(   0,program,dx,dy, 0,0,0,0, 0,0,0,0);
-        }
-        if (size_t tail = xlimit - dx) {
-            start(tail,program,dx,dy, 0,0,0,0, 0,0,0,0);
-        }
-    }
-}
-
-static ABI void just_return(size_t,void**,size_t,size_t, U16,U16,U16,U16, U16,U16,U16,U16) {}
-
-// All stages use the same function call ABI to chain into each other, but there are three types:
-//   GG: geometry in, geometry out  -- think, a matrix
-//   GP: geometry in, pixels out.   -- think, a memory gather
-//   PP: pixels in, pixels out.     -- think, a blend mode
-//
-// (Some stages ignore their inputs or produce no logical output.  That's perfectly fine.)
-//
-// These three STAGE_ macros let you define each type of stage,
-// and will have (x,y) geometry and/or (r,g,b,a, dr,dg,db,da) pixel arguments as appropriate.
-
-#define STAGE_GG(name, ...)                                                            \
-    SI void name##_k(__VA_ARGS__, size_t dx, size_t dy, size_t tail, F& x, F& y);      \
-    static ABI void name(size_t tail, void** program, size_t dx, size_t dy,            \
-                         U16  r, U16  g, U16  b, U16  a,                               \
-                         U16 dr, U16 dg, U16 db, U16 da) {                             \
-        auto x = join<F>(r,g),                                                         \
-             y = join<F>(b,a);                                                         \
-        name##_k(Ctx{program}, dx,dy,tail, x,y);                                       \
-        split(x, &r,&g);                                                               \
-        split(y, &b,&a);                                                               \
-        auto next = (Stage)load_and_inc(program);                                      \
-        next(tail,program,dx,dy, r,g,b,a, dr,dg,db,da);                                \
-    }                                                                                  \
-    SI void name##_k(__VA_ARGS__, size_t dx, size_t dy, size_t tail, F& x, F& y)
-
-#define STAGE_GP(name, ...)                                                            \
-    SI void name##_k(__VA_ARGS__, size_t dx, size_t dy, size_t tail, F x, F y,         \
-                     U16&  r, U16&  g, U16&  b, U16&  a,                               \
-                     U16& dr, U16& dg, U16& db, U16& da);                              \
-    static ABI void name(size_t tail, void** program, size_t dx, size_t dy,            \
-                         U16  r, U16  g, U16  b, U16  a,                               \
-                         U16 dr, U16 dg, U16 db, U16 da) {                             \
-        auto x = join<F>(r,g),                                                         \
-             y = join<F>(b,a);                                                         \
-        name##_k(Ctx{program}, dx,dy,tail, x,y, r,g,b,a, dr,dg,db,da);                 \
-        auto next = (Stage)load_and_inc(program);                                      \
-        next(tail,program,dx,dy, r,g,b,a, dr,dg,db,da);                                \
-    }                                                                                  \
-    SI void name##_k(__VA_ARGS__, size_t dx, size_t dy, size_t tail, F x, F y,         \
-                     U16&  r, U16&  g, U16&  b, U16&  a,                               \
-                     U16& dr, U16& dg, U16& db, U16& da)
-
-#define STAGE_PP(name, ...)                                                            \
-    SI void name##_k(__VA_ARGS__, size_t dx, size_t dy, size_t tail,                   \
-                     U16&  r, U16&  g, U16&  b, U16&  a,                               \
-                     U16& dr, U16& dg, U16& db, U16& da);                              \
-    static ABI void name(size_t tail, void** program, size_t dx, size_t dy,            \
-                         U16  r, U16  g, U16  b, U16  a,                               \
-                         U16 dr, U16 dg, U16 db, U16 da) {                             \
-        name##_k(Ctx{program}, dx,dy,tail, r,g,b,a, dr,dg,db,da);                      \
-        auto next = (Stage)load_and_inc(program);                                      \
-        next(tail,program,dx,dy, r,g,b,a, dr,dg,db,da);                                \
-    }                                                                                  \
-    SI void name##_k(__VA_ARGS__, size_t dx, size_t dy, size_t tail,                   \
-                     U16&  r, U16&  g, U16&  b, U16&  a,                               \
-                     U16& dr, U16& dg, U16& db, U16& da)
-
-// ~~~~~~ Commonly used helper functions ~~~~~~ //
-
-SI U16 div255(U16 v) {
-#if 0
-    return (v+127)/255;  // The ideal rounding divide by 255.
-#else
-    return (v+255)/256;  // A good approximation of (v+127)/255.
-#endif
-}
-
-SI U16 inv(U16 v) { return 255-v; }
-
-SI U16 if_then_else(I16 c, U16 t, U16 e) { return (t & c) | (e & ~c); }
-SI U32 if_then_else(I32 c, U32 t, U32 e) { return (t & c) | (e & ~c); }
-
-SI U16 max(U16 x, U16 y) { return if_then_else(x < y, y, x); }
-SI U16 min(U16 x, U16 y) { return if_then_else(x < y, x, y); }
-SI U16 max(U16 x, U16 y, U16 z) { return max(x, max(y, z)); }
-SI U16 min(U16 x, U16 y, U16 z) { return min(x, min(y, z)); }
-
-SI U16 from_float(float f) { return f * 255.0f + 0.5f; }
-
-SI U16 lerp(U16 from, U16 to, U16 t) { return div255( from*inv(t) + to*t ); }
-
-template <typename D, typename S>
-SI D cast(S src) {
-    return __builtin_convertvector(src, D);
-}
-
-template <typename D, typename S>
-SI void split(S v, D* lo, D* hi) {
-    static_assert(2*sizeof(D) == sizeof(S), "");
-    memcpy(lo, (const char*)&v + 0*sizeof(D), sizeof(D));
-    memcpy(hi, (const char*)&v + 1*sizeof(D), sizeof(D));
-}
-template <typename D, typename S>
-SI D join(S lo, S hi) {
-    static_assert(sizeof(D) == 2*sizeof(S), "");
-    D v;
-    memcpy((char*)&v + 0*sizeof(S), &lo, sizeof(S));
-    memcpy((char*)&v + 1*sizeof(S), &hi, sizeof(S));
-    return v;
-}
-template <typename V, typename H>
-SI V map(V v, H (*fn)(H)) {
-    H lo,hi;
-    split(v, &lo,&hi);
-    lo = fn(lo);
-    hi = fn(hi);
-    return join<V>(lo,hi);
-}
-
-SI F if_then_else(I32 c, F t, F e) {
-    return bit_cast<F>( (bit_cast<I32>(t) & c) | (bit_cast<I32>(e) & ~c) );
-}
-SI F max(F x, F y) { return if_then_else(x < y, y, x); }
-SI F min(F x, F y) { return if_then_else(x < y, x, y); }
-
-SI F mad(F f, F m, F a) { return f*m+a; }
-SI U32 trunc_(F x) { return (U32)cast<I32>(x); }
-
-SI F rcp(F x) {
-#if defined(__AVX2__)
-    return map(x, _mm256_rcp_ps);
-#elif defined(__SSE__)
-    return map(x, _mm_rcp_ps);
-#elif defined(__ARM_NEON)
-    return map(x, +[](float32x4_t v) {
-        auto est = vrecpeq_f32(v);
-        return vrecpsq_f32(v,est)*est;
-    });
-#else
-    return 1.0f / x;
-#endif
-}
-SI F sqrt_(F x) {
-#if defined(__AVX2__)
-    return map(x, _mm256_sqrt_ps);
-#elif defined(__SSE__)
-    return map(x, _mm_sqrt_ps);
-#elif defined(__aarch64__)
-    return map(x, vsqrtq_f32);
-#elif defined(__ARM_NEON)
-    return map(x, +[](float32x4_t v) {
-        auto est = vrsqrteq_f32(v);  // Estimate and two refinement steps for est = rsqrt(v).
-        est *= vrsqrtsq_f32(v,est*est);
-        est *= vrsqrtsq_f32(v,est*est);
-        return v*est;                // sqrt(v) == v*rsqrt(v).
-    });
-#else
-    return F{
-        sqrtf(x[0]), sqrtf(x[1]), sqrtf(x[2]), sqrtf(x[3]),
-        sqrtf(x[4]), sqrtf(x[5]), sqrtf(x[6]), sqrtf(x[7]),
-    };
-#endif
-}
-
-SI F floor_(F x) {
-#if defined(__aarch64__)
-    return map(x, vrndmq_f32);
-#elif defined(__AVX2__)
-    return map(x, +[](__m256 v){ return _mm256_floor_ps(v); });  // _mm256_floor_ps is a macro...
-#elif defined(__SSE4_1__)
-    return map(x, +[](__m128 v){ return    _mm_floor_ps(v); });  // _mm_floor_ps() is a macro too.
-#else
-    F roundtrip = cast<F>(cast<I32>(x));
-    return roundtrip - if_then_else(roundtrip > x, F(1), F(0));
-#endif
-}
-SI F abs_(F x) { return bit_cast<F>( bit_cast<I32>(x) & 0x7fffffff ); }
-
-// ~~~~~~ Basic / misc. stages ~~~~~~ //
-
-STAGE_GG(seed_shader, const float* iota) {
-    x = cast<F>(I32(dx)) + unaligned_load<F>(iota);
-    y = cast<F>(I32(dy)) + 0.5f;
-}
-
-STAGE_GG(matrix_translate, const float* m) {
-    x += m[0];
-    y += m[1];
-}
-STAGE_GG(matrix_scale_translate, const float* m) {
-    x = mad(x,m[0], m[2]);
-    y = mad(y,m[1], m[3]);
-}
-STAGE_GG(matrix_2x3, const float* m) {
-    auto X = mad(x,m[0], mad(y,m[2], m[4])),
-         Y = mad(x,m[1], mad(y,m[3], m[5]));
-    x = X;
-    y = Y;
-}
-STAGE_GG(matrix_perspective, const float* m) {
-    // N.B. Unlike the other matrix_ stages, this matrix is row-major.
-    auto X = mad(x,m[0], mad(y,m[1], m[2])),
-         Y = mad(x,m[3], mad(y,m[4], m[5])),
-         Z = mad(x,m[6], mad(y,m[7], m[8]));
-    x = X * rcp(Z);
-    y = Y * rcp(Z);
-}
-
-STAGE_PP(uniform_color, const SkJumper_UniformColorCtx* c) {
-    r = c->rgba[0];
-    g = c->rgba[1];
-    b = c->rgba[2];
-    a = c->rgba[3];
-}
-STAGE_PP(black_color, Ctx::None) { r = g = b =   0; a = 255; }
-STAGE_PP(white_color, Ctx::None) { r = g = b = 255; a = 255; }
-
-STAGE_PP(set_rgb, const float rgb[3]) {
-    r = from_float(rgb[0]);
-    g = from_float(rgb[1]);
-    b = from_float(rgb[2]);
-}
-
-STAGE_PP(clamp_a, Ctx::None) {
-    r = min(r, a);
-    g = min(g, a);
-    b = min(b, a);
-}
-STAGE_PP(clamp_a_dst, Ctx::None) {
-    dr = min(dr, da);
-    dg = min(dg, da);
-    db = min(db, da);
-}
-
-STAGE_PP(premul, Ctx::None) {
-    r = div255(r * a);
-    g = div255(g * a);
-    b = div255(b * a);
-}
-STAGE_PP(premul_dst, Ctx::None) {
-    dr = div255(dr * da);
-    dg = div255(dg * da);
-    db = div255(db * da);
-}
-
-STAGE_PP(force_opaque    , Ctx::None) {  a = 255; }
-STAGE_PP(force_opaque_dst, Ctx::None) { da = 255; }
-
-STAGE_PP(swap_rb, Ctx::None) {
-    auto tmp = r;
-    r = b;
-    b = tmp;
-}
-
-STAGE_PP(move_src_dst, Ctx::None) {
-    dr = r;
-    dg = g;
-    db = b;
-    da = a;
-}
-
-STAGE_PP(move_dst_src, Ctx::None) {
-    r = dr;
-    g = dg;
-    b = db;
-    a = da;
-}
-
-STAGE_PP(invert, Ctx::None) {
-    r = inv(r);
-    g = inv(g);
-    b = inv(b);
-    a = inv(a);
-}
-
-// ~~~~~~ Blend modes ~~~~~~ //
-
-// The same logic applied to all 4 channels.
-#define BLEND_MODE(name)                                 \
-    SI U16 name##_channel(U16 s, U16 d, U16 sa, U16 da); \
-    STAGE_PP(name, Ctx::None) {                          \
-        r = name##_channel(r,dr,a,da);                   \
-        g = name##_channel(g,dg,a,da);                   \
-        b = name##_channel(b,db,a,da);                   \
-        a = name##_channel(a,da,a,da);                   \
-    }                                                    \
-    SI U16 name##_channel(U16 s, U16 d, U16 sa, U16 da)
-
-    BLEND_MODE(clear)    { return 0; }
-    BLEND_MODE(srcatop)  { return div255( s*da + d*inv(sa) ); }
-    BLEND_MODE(dstatop)  { return div255( d*sa + s*inv(da) ); }
-    BLEND_MODE(srcin)    { return div255( s*da ); }
-    BLEND_MODE(dstin)    { return div255( d*sa ); }
-    BLEND_MODE(srcout)   { return div255( s*inv(da) ); }
-    BLEND_MODE(dstout)   { return div255( d*inv(sa) ); }
-    BLEND_MODE(srcover)  { return s + div255( d*inv(sa) ); }
-    BLEND_MODE(dstover)  { return d + div255( s*inv(da) ); }
-    BLEND_MODE(modulate) { return div255( s*d ); }
-    BLEND_MODE(multiply) { return div255( s*inv(da) + d*inv(sa) + s*d ); }
-    BLEND_MODE(plus_)    { return min(s+d, 255); }
-    BLEND_MODE(screen)   { return s + d - div255( s*d ); }
-    BLEND_MODE(xor_)     { return div255( s*inv(da) + d*inv(sa) ); }
-#undef BLEND_MODE
-
-// The same logic applied to color, and srcover for alpha.
-#define BLEND_MODE(name)                                 \
-    SI U16 name##_channel(U16 s, U16 d, U16 sa, U16 da); \
-    STAGE_PP(name, Ctx::None) {                          \
-        r = name##_channel(r,dr,a,da);                   \
-        g = name##_channel(g,dg,a,da);                   \
-        b = name##_channel(b,db,a,da);                   \
-        a = a + div255( da*inv(a) );                     \
-    }                                                    \
-    SI U16 name##_channel(U16 s, U16 d, U16 sa, U16 da)
-
-    BLEND_MODE(darken)     { return s + d -   div255( max(s*da, d*sa) ); }
-    BLEND_MODE(lighten)    { return s + d -   div255( min(s*da, d*sa) ); }
-    BLEND_MODE(difference) { return s + d - 2*div255( min(s*da, d*sa) ); }
-    BLEND_MODE(exclusion)  { return s + d - 2*div255( s*d ); }
-
-    BLEND_MODE(hardlight) {
-        return div255( s*inv(da) + d*inv(sa) +
-                       if_then_else(2*s <= sa, 2*s*d, sa*da - 2*(sa-s)*(da-d)) );
-    }
-    BLEND_MODE(overlay) {
-        return div255( s*inv(da) + d*inv(sa) +
-                       if_then_else(2*d <= da, 2*s*d, sa*da - 2*(sa-s)*(da-d)) );
-    }
-#undef BLEND_MODE
-
-// ~~~~~~ Helpers for interacting with memory ~~~~~~ //
-
-template <typename T>
-SI T* ptr_at_xy(const SkJumper_MemoryCtx* ctx, size_t dx, size_t dy) {
-    return (T*)ctx->pixels + dy*ctx->stride + dx;
-}
-
-template <typename T>
-SI U32 ix_and_ptr(T** ptr, const SkJumper_GatherCtx* ctx, F x, F y) {
-    auto clamp = [](F v, F limit) {
-        limit = bit_cast<F>( bit_cast<U32>(limit) - 1 );  // Exclusive -> inclusive.
-        return min(max(0, v), limit);
-    };
-    x = clamp(x, ctx->width);
-    y = clamp(y, ctx->height);
-
-    *ptr = (const T*)ctx->pixels;
-    return trunc_(y)*ctx->stride + trunc_(x);
-}
-
-template <typename V, typename T>
-SI V load(const T* ptr, size_t tail) {
-    V v = 0;
-    switch (tail & (N-1)) {
-        case  0: memcpy(&v, ptr, sizeof(v)); break;
-    #if defined(__AVX2__)
-        case 15: v[14] = ptr[14];
-        case 14: v[13] = ptr[13];
-        case 13: v[12] = ptr[12];
-        case 12: memcpy(&v, ptr, 12*sizeof(T)); break;
-        case 11: v[10] = ptr[10];
-        case 10: v[ 9] = ptr[ 9];
-        case  9: v[ 8] = ptr[ 8];
-        case  8: memcpy(&v, ptr,  8*sizeof(T)); break;
-    #endif
-        case  7: v[ 6] = ptr[ 6];
-        case  6: v[ 5] = ptr[ 5];
-        case  5: v[ 4] = ptr[ 4];
-        case  4: memcpy(&v, ptr,  4*sizeof(T)); break;
-        case  3: v[ 2] = ptr[ 2];
-        case  2: memcpy(&v, ptr,  2*sizeof(T)); break;
-        case  1: v[ 0] = ptr[ 0];
-    }
-    return v;
-}
-template <typename V, typename T>
-SI void store(T* ptr, size_t tail, V v) {
-    switch (tail & (N-1)) {
-        case  0: memcpy(ptr, &v, sizeof(v)); break;
-    #if defined(__AVX2__)
-        case 15: ptr[14] = v[14];
-        case 14: ptr[13] = v[13];
-        case 13: ptr[12] = v[12];
-        case 12: memcpy(ptr, &v, 12*sizeof(T)); break;
-        case 11: ptr[10] = v[10];
-        case 10: ptr[ 9] = v[ 9];
-        case  9: ptr[ 8] = v[ 8];
-        case  8: memcpy(ptr, &v,  8*sizeof(T)); break;
-    #endif
-        case  7: ptr[ 6] = v[ 6];
-        case  6: ptr[ 5] = v[ 5];
-        case  5: ptr[ 4] = v[ 4];
-        case  4: memcpy(ptr, &v,  4*sizeof(T)); break;
-        case  3: ptr[ 2] = v[ 2];
-        case  2: memcpy(ptr, &v,  2*sizeof(T)); break;
-        case  1: ptr[ 0] = v[ 0];
-    }
-}
-
-#if defined(__AVX2__)
-    template <typename V, typename T>
-    SI V gather(const T* ptr, U32 ix) {
-        return V{ ptr[ix[ 0]], ptr[ix[ 1]], ptr[ix[ 2]], ptr[ix[ 3]],
-                  ptr[ix[ 4]], ptr[ix[ 5]], ptr[ix[ 6]], ptr[ix[ 7]],
-                  ptr[ix[ 8]], ptr[ix[ 9]], ptr[ix[10]], ptr[ix[11]],
-                  ptr[ix[12]], ptr[ix[13]], ptr[ix[14]], ptr[ix[15]], };
-    }
-
-    template<>
-    F gather(const float* p, U32 ix) {
-        __m256i lo, hi;
-        split(ix, &lo, &hi);
-
-        return join<F>(_mm256_i32gather_ps(p, lo, 4),
-                       _mm256_i32gather_ps(p, hi, 4));
-    }
-
-    template<>
-    U32 gather(const uint32_t* p, U32 ix) {
-        __m256i lo, hi;
-        split(ix, &lo, &hi);
-
-        return join<U32>(_mm256_i32gather_epi32(p, lo, 4),
-                         _mm256_i32gather_epi32(p, hi, 4));
-    }
-#else
-    template <typename V, typename T>
-    SI V gather(const T* ptr, U32 ix) {
-        return V{ ptr[ix[ 0]], ptr[ix[ 1]], ptr[ix[ 2]], ptr[ix[ 3]],
-                  ptr[ix[ 4]], ptr[ix[ 5]], ptr[ix[ 6]], ptr[ix[ 7]], };
-    }
-#endif
-
-
-// ~~~~~~ 32-bit memory loads and stores ~~~~~~ //
-
-SI void from_8888(U32 rgba, U16* r, U16* g, U16* b, U16* a) {
-#if 1 && defined(__AVX2__)
-    // Swap the middle 128-bit lanes to make _mm256_packus_epi32() in cast_U16() work out nicely.
-    __m256i _01,_23;
-    split(rgba, &_01, &_23);
-    __m256i _02 = _mm256_permute2x128_si256(_01,_23, 0x20),
-            _13 = _mm256_permute2x128_si256(_01,_23, 0x31);
-    rgba = join<U32>(_02, _13);
-
-    auto cast_U16 = [](U32 v) -> U16 {
-        __m256i _02,_13;
-        split(v, &_02,&_13);
-        return _mm256_packus_epi32(_02,_13);
-    };
-#else
-    auto cast_U16 = [](U32 v) -> U16 {
-        return cast<U16>(v);
-    };
-#endif
-    *r = cast_U16(rgba & 65535) & 255;
-    *g = cast_U16(rgba & 65535) >>  8;
-    *b = cast_U16(rgba >>   16) & 255;
-    *a = cast_U16(rgba >>   16) >>  8;
-}
-
-SI void load_8888_(const uint32_t* ptr, size_t tail, U16* r, U16* g, U16* b, U16* a) {
-#if 1 && defined(__ARM_NEON)
-    uint8x8x4_t rgba;
-    switch (tail & (N-1)) {
-        case 0: rgba = vld4_u8     ((const uint8_t*)(ptr+0)         ); break;
-        case 7: rgba = vld4_lane_u8((const uint8_t*)(ptr+6), rgba, 6);
-        case 6: rgba = vld4_lane_u8((const uint8_t*)(ptr+5), rgba, 5);
-        case 5: rgba = vld4_lane_u8((const uint8_t*)(ptr+4), rgba, 4);
-        case 4: rgba = vld4_lane_u8((const uint8_t*)(ptr+3), rgba, 3);
-        case 3: rgba = vld4_lane_u8((const uint8_t*)(ptr+2), rgba, 2);
-        case 2: rgba = vld4_lane_u8((const uint8_t*)(ptr+1), rgba, 1);
-        case 1: rgba = vld4_lane_u8((const uint8_t*)(ptr+0), rgba, 0);
-    }
-    *r = cast<U16>(rgba.val[0]);
-    *g = cast<U16>(rgba.val[1]);
-    *b = cast<U16>(rgba.val[2]);
-    *a = cast<U16>(rgba.val[3]);
-#else
-    from_8888(load<U32>(ptr, tail), r,g,b,a);
-#endif
-}
-SI void store_8888_(uint32_t* ptr, size_t tail, U16 r, U16 g, U16 b, U16 a) {
-#if 1 && defined(__ARM_NEON)
-    uint8x8x4_t rgba = {{
-        cast<U8>(r),
-        cast<U8>(g),
-        cast<U8>(b),
-        cast<U8>(a),
-    }};
-    switch (tail & (N-1)) {
-        case 0: vst4_u8     ((uint8_t*)(ptr+0), rgba   ); break;
-        case 7: vst4_lane_u8((uint8_t*)(ptr+6), rgba, 6);
-        case 6: vst4_lane_u8((uint8_t*)(ptr+5), rgba, 5);
-        case 5: vst4_lane_u8((uint8_t*)(ptr+4), rgba, 4);
-        case 4: vst4_lane_u8((uint8_t*)(ptr+3), rgba, 3);
-        case 3: vst4_lane_u8((uint8_t*)(ptr+2), rgba, 2);
-        case 2: vst4_lane_u8((uint8_t*)(ptr+1), rgba, 1);
-        case 1: vst4_lane_u8((uint8_t*)(ptr+0), rgba, 0);
-    }
-#else
-    store(ptr, tail, cast<U32>(r | (g<<8)) <<  0
-                   | cast<U32>(b | (a<<8)) << 16);
-#endif
-}
-
-STAGE_PP(load_8888, const SkJumper_MemoryCtx* ctx) {
-    load_8888_(ptr_at_xy<const uint32_t>(ctx, dx,dy), tail, &r,&g,&b,&a);
-}
-STAGE_PP(load_8888_dst, const SkJumper_MemoryCtx* ctx) {
-    load_8888_(ptr_at_xy<const uint32_t>(ctx, dx,dy), tail, &dr,&dg,&db,&da);
-}
-STAGE_PP(store_8888, const SkJumper_MemoryCtx* ctx) {
-    store_8888_(ptr_at_xy<uint32_t>(ctx, dx,dy), tail, r,g,b,a);
-}
-
-STAGE_PP(load_bgra, const SkJumper_MemoryCtx* ctx) {
-    load_8888_(ptr_at_xy<const uint32_t>(ctx, dx,dy), tail, &b,&g,&r,&a);
-}
-STAGE_PP(load_bgra_dst, const SkJumper_MemoryCtx* ctx) {
-    load_8888_(ptr_at_xy<const uint32_t>(ctx, dx,dy), tail, &db,&dg,&dr,&da);
-}
-STAGE_PP(store_bgra, const SkJumper_MemoryCtx* ctx) {
-    store_8888_(ptr_at_xy<uint32_t>(ctx, dx,dy), tail, b,g,r,a);
-}
-
-STAGE_GP(gather_8888, const SkJumper_GatherCtx* ctx) {
-    const uint32_t* ptr;
-    U32 ix = ix_and_ptr(&ptr, ctx, x,y);
-    from_8888(gather<U32>(ptr, ix), &r, &g, &b, &a);
-}
-STAGE_GP(gather_bgra, const SkJumper_GatherCtx* ctx) {
-    const uint32_t* ptr;
-    U32 ix = ix_and_ptr(&ptr, ctx, x,y);
-    from_8888(gather<U32>(ptr, ix), &b, &g, &r, &a);
-}
-
-// ~~~~~~ 16-bit memory loads and stores ~~~~~~ //
-
-SI void from_565(U16 rgb, U16* r, U16* g, U16* b) {
-    // Format for 565 buffers: 15|rrrrr gggggg bbbbb|0
-    U16 R = (rgb >> 11) & 31,
-        G = (rgb >>  5) & 63,
-        B = (rgb >>  0) & 31;
-
-    // These bit replications are the same as multiplying by 255/31 or 255/63 to scale to 8-bit.
-    *r = (R << 3) | (R >> 2);
-    *g = (G << 2) | (G >> 4);
-    *b = (B << 3) | (B >> 2);
-}
-SI void load_565_(const uint16_t* ptr, size_t tail, U16* r, U16* g, U16* b) {
-    from_565(load<U16>(ptr, tail), r,g,b);
-}
-SI void store_565_(uint16_t* ptr, size_t tail, U16 r, U16 g, U16 b) {
-    // Select the top 5,6,5 bits.
-    U16 R = r >> 3,
-        G = g >> 2,
-        B = b >> 3;
-    // Pack them back into 15|rrrrr gggggg bbbbb|0.
-    store(ptr, tail, R << 11
-                   | G <<  5
-                   | B <<  0);
-}
-
-STAGE_PP(load_565, const SkJumper_MemoryCtx* ctx) {
-    load_565_(ptr_at_xy<const uint16_t>(ctx, dx,dy), tail, &r,&g,&b);
-    a = 255;
-}
-STAGE_PP(load_565_dst, const SkJumper_MemoryCtx* ctx) {
-    load_565_(ptr_at_xy<const uint16_t>(ctx, dx,dy), tail, &dr,&dg,&db);
-    da = 255;
-}
-STAGE_PP(store_565, const SkJumper_MemoryCtx* ctx) {
-    store_565_(ptr_at_xy<uint16_t>(ctx, dx,dy), tail, r,g,b);
-}
-STAGE_GP(gather_565, const SkJumper_GatherCtx* ctx) {
-    const uint16_t* ptr;
-    U32 ix = ix_and_ptr(&ptr, ctx, x,y);
-    from_565(gather<U16>(ptr, ix), &r, &g, &b);
-    a = 255;
-}
-
-SI void from_4444(U16 rgba, U16* r, U16* g, U16* b, U16* a) {
-    // Format for 4444 buffers: 15|rrrr gggg bbbb aaaa|0.
-    U16 R = (rgba >> 12) & 15,
-        G = (rgba >>  8) & 15,
-        B = (rgba >>  4) & 15,
-        A = (rgba >>  0) & 15;
-
-    // Scale [0,15] to [0,255].
-    *r = (R << 4) | R;
-    *g = (G << 4) | G;
-    *b = (B << 4) | B;
-    *a = (A << 4) | A;
-}
-SI void load_4444_(const uint16_t* ptr, size_t tail, U16* r, U16* g, U16* b, U16* a) {
-    from_4444(load<U16>(ptr, tail), r,g,b,a);
-}
-SI void store_4444_(uint16_t* ptr, size_t tail, U16 r, U16 g, U16 b, U16 a) {
-    // Select the top 4 bits of each.
-    U16 R = r >> 4,
-        G = g >> 4,
-        B = b >> 4,
-        A = a >> 4;
-    // Pack them back into 15|rrrr gggg bbbb aaaa|0.
-    store(ptr, tail, R << 12
-                   | G <<  8
-                   | B <<  4
-                   | A <<  0);
-}
-
-STAGE_PP(load_4444, const SkJumper_MemoryCtx* ctx) {
-    load_4444_(ptr_at_xy<const uint16_t>(ctx, dx,dy), tail, &r,&g,&b,&a);
-}
-STAGE_PP(load_4444_dst, const SkJumper_MemoryCtx* ctx) {
-    load_4444_(ptr_at_xy<const uint16_t>(ctx, dx,dy), tail, &dr,&dg,&db,&da);
-}
-STAGE_PP(store_4444, const SkJumper_MemoryCtx* ctx) {
-    store_4444_(ptr_at_xy<uint16_t>(ctx, dx,dy), tail, r,g,b,a);
-}
-STAGE_GP(gather_4444, const SkJumper_GatherCtx* ctx) {
-    const uint16_t* ptr;
-    U32 ix = ix_and_ptr(&ptr, ctx, x,y);
-    from_4444(gather<U16>(ptr, ix), &r,&g,&b,&a);
-}
-
-// ~~~~~~ 8-bit memory loads and stores ~~~~~~ //
-
-SI U16 load_8(const uint8_t* ptr, size_t tail) {
-    return cast<U16>(load<U8>(ptr, tail));
-}
-SI void store_8(uint8_t* ptr, size_t tail, U16 v) {
-    store(ptr, tail, cast<U8>(v));
-}
-
-STAGE_PP(load_a8, const SkJumper_MemoryCtx* ctx) {
-    r = g = b = 0;
-    a = load_8(ptr_at_xy<const uint8_t>(ctx, dx,dy), tail);
-}
-STAGE_PP(load_a8_dst, const SkJumper_MemoryCtx* ctx) {
-    dr = dg = db = 0;
-    da = load_8(ptr_at_xy<const uint8_t>(ctx, dx,dy), tail);
-}
-STAGE_PP(store_a8, const SkJumper_MemoryCtx* ctx) {
-    store_8(ptr_at_xy<uint8_t>(ctx, dx,dy), tail, a);
-}
-STAGE_GP(gather_a8, const SkJumper_GatherCtx* ctx) {
-    const uint8_t* ptr;
-    U32 ix = ix_and_ptr(&ptr, ctx, x,y);
-    r = g = b = 0;
-    a = cast<U16>(gather<U8>(ptr, ix));
-}
-
-STAGE_PP(load_g8, const SkJumper_MemoryCtx* ctx) {
-    r = g = b = load_8(ptr_at_xy<const uint8_t>(ctx, dx,dy), tail);
-    a = 255;
-}
-STAGE_PP(load_g8_dst, const SkJumper_MemoryCtx* ctx) {
-    dr = dg = db = load_8(ptr_at_xy<const uint8_t>(ctx, dx,dy), tail);
-    da = 255;
-}
-STAGE_PP(luminance_to_alpha, Ctx::None) {
-    a = (r*54 + g*183 + b*19)/256;  // 0.2126, 0.7152, 0.0722 with 256 denominator.
-    r = g = b = 0;
-}
-STAGE_GP(gather_g8, const SkJumper_GatherCtx* ctx) {
-    const uint8_t* ptr;
-    U32 ix = ix_and_ptr(&ptr, ctx, x,y);
-    r = g = b = cast<U16>(gather<U8>(ptr, ix));
-    a = 255;
-}
-
-// ~~~~~~ Coverage scales / lerps ~~~~~~ //
-
-STAGE_PP(scale_1_float, const float* f) {
-    U16 c = from_float(*f);
-    r = div255( r * c );
-    g = div255( g * c );
-    b = div255( b * c );
-    a = div255( a * c );
-}
-STAGE_PP(lerp_1_float, const float* f) {
-    U16 c = from_float(*f);
-    r = lerp(dr, r, c);
-    g = lerp(dg, g, c);
-    b = lerp(db, b, c);
-    a = lerp(da, a, c);
-}
-
-STAGE_PP(scale_u8, const SkJumper_MemoryCtx* ctx) {
-    U16 c = load_8(ptr_at_xy<const uint8_t>(ctx, dx,dy), tail);
-    r = div255( r * c );
-    g = div255( g * c );
-    b = div255( b * c );
-    a = div255( a * c );
-}
-STAGE_PP(lerp_u8, const SkJumper_MemoryCtx* ctx) {
-    U16 c = load_8(ptr_at_xy<const uint8_t>(ctx, dx,dy), tail);
-    r = lerp(dr, r, c);
-    g = lerp(dg, g, c);
-    b = lerp(db, b, c);
-    a = lerp(da, a, c);
-}
-
-// Derive alpha's coverage from rgb coverage and the values of src and dst alpha.
-SI U16 alpha_coverage_from_rgb_coverage(U16 a, U16 da, U16 cr, U16 cg, U16 cb) {
-    return if_then_else(a < da, min(cr,cg,cb)
-                              , max(cr,cg,cb));
-}
-STAGE_PP(scale_565, const SkJumper_MemoryCtx* ctx) {
-    U16 cr,cg,cb;
-    load_565_(ptr_at_xy<const uint16_t>(ctx, dx,dy), tail, &cr,&cg,&cb);
-    U16 ca = alpha_coverage_from_rgb_coverage(a,da, cr,cg,cb);
-
-    r = div255( r * cr );
-    g = div255( g * cg );
-    b = div255( b * cb );
-    a = div255( a * ca );
-}
-STAGE_PP(lerp_565, const SkJumper_MemoryCtx* ctx) {
-    U16 cr,cg,cb;
-    load_565_(ptr_at_xy<const uint16_t>(ctx, dx,dy), tail, &cr,&cg,&cb);
-    U16 ca = alpha_coverage_from_rgb_coverage(a,da, cr,cg,cb);
-
-    r = lerp(dr, r, cr);
-    g = lerp(dg, g, cg);
-    b = lerp(db, b, cb);
-    a = lerp(da, a, ca);
-}
-
-// ~~~~~~ Gradient stages ~~~~~~ //
-
-// Clamp x to [0,1], both sides inclusive (think, gradients).
-// Even repeat and mirror funnel through a clamp to handle bad inputs like +Inf, NaN.
-SI F clamp_01(F v) { return min(max(0, v), 1); }
-
-STAGE_GG(clamp_x_1 , Ctx::None) { x = clamp_01(x); }
-STAGE_GG(repeat_x_1, Ctx::None) { x = clamp_01(x - floor_(x)); }
-STAGE_GG(mirror_x_1, Ctx::None) {
-    auto two = [](F x){ return x+x; };
-    x = clamp_01(abs_( (x-1.0f) - two(floor_((x-1.0f)*0.5f)) - 1.0f ));
-}
-
-SI I16 cond_to_mask_16(I32 cond) { return cast<I16>(cond); }
-
-STAGE_GG(decal_x, SkJumper_DecalTileCtx* ctx) {
-    auto w = ctx->limit_x;
-    unaligned_store(ctx->mask, cond_to_mask_16((0 <= x) & (x < w)));
-}
-STAGE_GG(decal_y, SkJumper_DecalTileCtx* ctx) {
-    auto h = ctx->limit_y;
-    unaligned_store(ctx->mask, cond_to_mask_16((0 <= y) & (y < h)));
-}
-STAGE_GG(decal_x_and_y, SkJumper_DecalTileCtx* ctx) {
-    auto w = ctx->limit_x;
-    auto h = ctx->limit_y;
-    unaligned_store(ctx->mask, cond_to_mask_16((0 <= x) & (x < w) & (0 <= y) & (y < h)));
-}
-STAGE_PP(check_decal_mask, SkJumper_DecalTileCtx* ctx) {
-    auto mask = unaligned_load<U16>(ctx->mask);
-    r = r & mask;
-    g = g & mask;
-    b = b & mask;
-    a = a & mask;
-}
-
-
-SI U16 round_F_to_U16(F x) { return cast<U16>(x * 255.0f + 0.5f); }
-
-SI void gradient_lookup(const SkJumper_GradientCtx* c, U32 idx, F t,
-                        U16* r, U16* g, U16* b, U16* a) {
-
-    F fr, fg, fb, fa, br, bg, bb, ba;
-#if defined(__AVX2__)
-    if (c->stopCount <=8) {
-        __m256i lo, hi;
-        split(idx, &lo, &hi);
-
-        fr = join<F>(_mm256_permutevar8x32_ps(_mm256_loadu_ps(c->fs[0]), lo),
-                     _mm256_permutevar8x32_ps(_mm256_loadu_ps(c->fs[0]), hi));
-        br = join<F>(_mm256_permutevar8x32_ps(_mm256_loadu_ps(c->bs[0]), lo),
-                     _mm256_permutevar8x32_ps(_mm256_loadu_ps(c->bs[0]), hi));
-        fg = join<F>(_mm256_permutevar8x32_ps(_mm256_loadu_ps(c->fs[1]), lo),
-                     _mm256_permutevar8x32_ps(_mm256_loadu_ps(c->fs[1]), hi));
-        bg = join<F>(_mm256_permutevar8x32_ps(_mm256_loadu_ps(c->bs[1]), lo),
-                     _mm256_permutevar8x32_ps(_mm256_loadu_ps(c->bs[1]), hi));
-        fb = join<F>(_mm256_permutevar8x32_ps(_mm256_loadu_ps(c->fs[2]), lo),
-                     _mm256_permutevar8x32_ps(_mm256_loadu_ps(c->fs[2]), hi));
-        bb = join<F>(_mm256_permutevar8x32_ps(_mm256_loadu_ps(c->bs[2]), lo),
-                     _mm256_permutevar8x32_ps(_mm256_loadu_ps(c->bs[2]), hi));
-        fa = join<F>(_mm256_permutevar8x32_ps(_mm256_loadu_ps(c->fs[3]), lo),
-                     _mm256_permutevar8x32_ps(_mm256_loadu_ps(c->fs[3]), hi));
-        ba = join<F>(_mm256_permutevar8x32_ps(_mm256_loadu_ps(c->bs[3]), lo),
-                     _mm256_permutevar8x32_ps(_mm256_loadu_ps(c->bs[3]), hi));
-    } else
-#endif
-    {
-        fr = gather<F>(c->fs[0], idx);
-        fg = gather<F>(c->fs[1], idx);
-        fb = gather<F>(c->fs[2], idx);
-        fa = gather<F>(c->fs[3], idx);
-        br = gather<F>(c->bs[0], idx);
-        bg = gather<F>(c->bs[1], idx);
-        bb = gather<F>(c->bs[2], idx);
-        ba = gather<F>(c->bs[3], idx);
-    }
-    *r = round_F_to_U16(mad(t, fr, br));
-    *g = round_F_to_U16(mad(t, fg, bg));
-    *b = round_F_to_U16(mad(t, fb, bb));
-    *a = round_F_to_U16(mad(t, fa, ba));
-}
-
-STAGE_GP(gradient, const SkJumper_GradientCtx* c) {
-    auto t = x;
-    U32 idx = 0;
-
-    // N.B. The loop starts at 1 because idx 0 is the color to use before the first stop.
-    for (size_t i = 1; i < c->stopCount; i++) {
-        idx += if_then_else(t >= c->ts[i], U32(1), U32(0));
-    }
-
-    gradient_lookup(c, idx, t, &r, &g, &b, &a);
-}
-
-STAGE_GP(evenly_spaced_gradient, const SkJumper_GradientCtx* c) {
-    auto t = x;
-    auto idx = trunc_(t * (c->stopCount-1));
-    gradient_lookup(c, idx, t, &r, &g, &b, &a);
-}
-
-STAGE_GP(evenly_spaced_2_stop_gradient, const void* ctx) {
-    // TODO: Rename Ctx SkJumper_EvenlySpaced2StopGradientCtx.
-    struct Ctx { float f[4], b[4]; };
-    auto c = (const Ctx*)ctx;
-
-    auto t = x;
-    r = round_F_to_U16(mad(t, c->f[0], c->b[0]));
-    g = round_F_to_U16(mad(t, c->f[1], c->b[1]));
-    b = round_F_to_U16(mad(t, c->f[2], c->b[2]));
-    a = round_F_to_U16(mad(t, c->f[3], c->b[3]));
-}
-
-STAGE_GG(xy_to_unit_angle, Ctx::None) {
-    F xabs = abs_(x),
-      yabs = abs_(y);
-
-    F slope = min(xabs, yabs)/max(xabs, yabs);
-    F s = slope * slope;
-
-    // Use a 7th degree polynomial to approximate atan.
-    // This was generated using sollya.gforge.inria.fr.
-    // A float optimized polynomial was generated using the following command.
-    // P1 = fpminimax((1/(2*Pi))*atan(x),[|1,3,5,7|],[|24...|],[2^(-40),1],relative);
-    F phi = slope
-             * (0.15912117063999176025390625f     + s
-             * (-5.185396969318389892578125e-2f   + s
-             * (2.476101927459239959716796875e-2f + s
-             * (-7.0547382347285747528076171875e-3f))));
-
-    phi = if_then_else(xabs < yabs, 1.0f/4.0f - phi, phi);
-    phi = if_then_else(x < 0.0f   , 1.0f/2.0f - phi, phi);
-    phi = if_then_else(y < 0.0f   , 1.0f - phi     , phi);
-    phi = if_then_else(phi != phi , 0              , phi);  // Check for NaN.
-    x = phi;
-}
-STAGE_GG(xy_to_radius, Ctx::None) {
-    x = sqrt_(x*x + y*y);
-}
-
-// ~~~~~~ Compound stages ~~~~~~ //
-
-STAGE_PP(srcover_rgba_8888, const SkJumper_MemoryCtx* ctx) {
-    auto ptr = ptr_at_xy<uint32_t>(ctx, dx,dy);
-
-    load_8888_(ptr, tail, &dr,&dg,&db,&da);
-    r = r + div255( dr*inv(a) );
-    g = g + div255( dg*inv(a) );
-    b = b + div255( db*inv(a) );
-    a = a + div255( da*inv(a) );
-    store_8888_(ptr, tail, r,g,b,a);
-}
-STAGE_PP(srcover_bgra_8888, const SkJumper_MemoryCtx* ctx) {
-    auto ptr = ptr_at_xy<uint32_t>(ctx, dx,dy);
-
-    load_8888_(ptr, tail, &db,&dg,&dr,&da);
-    r = r + div255( dr*inv(a) );
-    g = g + div255( dg*inv(a) );
-    b = b + div255( db*inv(a) );
-    a = a + div255( da*inv(a) );
-    store_8888_(ptr, tail, b,g,r,a);
-}
-
-// Now we'll add null stand-ins for stages we haven't implemented in lowp.
-// If a pipeline uses these stages, it'll boot it out of lowp into highp.
-
-using NotImplemented = void(*)(void);
-
-static NotImplemented
-        callback, load_rgba, store_rgba,
-        clamp_0, clamp_1,
-        unpremul, dither,
-        from_srgb, from_srgb_dst, to_srgb,
-        load_f16    , load_f16_dst    , store_f16    , gather_f16,
-        load_f32    , load_f32_dst    , store_f32    , gather_f32,
-        load_1010102, load_1010102_dst, store_1010102, gather_1010102,
-        load_u16_be, load_rgb_u16_be, store_u16_be,
-        load_tables_u16_be, load_tables_rgb_u16_be,
-        load_tables, byte_tables, byte_tables_rgb,
-        colorburn, colordodge, softlight, hue, saturation, color, luminosity,
-        matrix_3x4, matrix_4x5, matrix_4x3,
-        parametric_r, parametric_g, parametric_b, parametric_a,
-        table_r, table_g, table_b, table_a,
-        gamma, gamma_dst,
-        lab_to_xyz, rgb_to_hsl, hsl_to_rgb, clut_3D, clut_4D,
-        gauss_a_to_rgba,
-        mirror_x, repeat_x,
-        mirror_y, repeat_y,
-        negate_x,
-        bilinear_nx, bilinear_ny, bilinear_px, bilinear_py,
-        bicubic_n3x, bicubic_n1x, bicubic_p1x, bicubic_p3x,
-        bicubic_n3y, bicubic_n1y, bicubic_p1y, bicubic_p3y,
-        save_xy, accumulate,
-        xy_to_2pt_conical_well_behaved,
-        xy_to_2pt_conical_strip,
-        xy_to_2pt_conical_focal_on_circle,
-        xy_to_2pt_conical_smaller,
-        xy_to_2pt_conical_greater,
-        xy_to_2pt_conical_compensate_focal,
-        alter_2pt_conical_compensate_focal,
-        alter_2pt_conical_unswap,
-        mask_2pt_conical_nan,
-        mask_2pt_conical_degenerates,
-        apply_vector_mask,
-        bilerp_clamp_8888;
-
-#else  // We're not Clang, so define all null lowp stages.
-
-    #define M(st) static void (*st)(void) = nullptr;
-        SK_RASTER_PIPELINE_STAGES(M)
-    #undef M
-    static void (*just_return)(void) = nullptr;
-
-    static void start_pipeline(size_t,size_t,size_t,size_t, void**) {}
-
-#endif//defined(__clang__)  for lowp stages
-}  // namespace lowp
-
-}  // namespace SK_OPTS_NS
-
-#endif//SkRasterPipeline_opts_DEFINED
diff --git a/src/jumper/SkJumper_stages_lowp.cpp b/src/jumper/SkJumper_stages_lowp.cpp
new file mode 100644
index 0000000..0fbf0fa
--- /dev/null
+++ b/src/jumper/SkJumper_stages_lowp.cpp
@@ -0,0 +1,961 @@
+/*
+ * Copyright 2017 Google Inc.
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+// This restricted SkJumper backend works on 8-bit per channel pixels stored in
+// 16-bit channels.  This is a last attempt to write a performant low-precision
+// backend with stage definitions that can be shared by x86 and ARM.
+
+#include "SkJumper.h"
+#include "SkJumper_misc.h"
+
+#if defined(__clang__)  // This file is empty when not compiled by Clang.
+
+#if defined(__ARM_NEON)
+    #include <arm_neon.h>
+#elif defined(__SSE2__)
+    #include <immintrin.h>
+#else
+    #include <math.h>
+#endif
+
+#if !defined(JUMPER_IS_OFFLINE)
+    #define WRAP(name) sk_##name##_lowp
+#elif defined(__AVX2__)
+    #define WRAP(name) sk_##name##_hsw_lowp
+#elif defined(__SSE4_1__)
+    #define WRAP(name) sk_##name##_sse41_lowp
+#elif defined(__SSE2__)
+    #define WRAP(name) sk_##name##_sse2_lowp
+#endif
+
+#if defined(__AVX2__)
+    using U8  = uint8_t  __attribute__((ext_vector_type(16)));
+    using U16 = uint16_t __attribute__((ext_vector_type(16)));
+    using I16 =  int16_t __attribute__((ext_vector_type(16)));
+    using I32 =  int32_t __attribute__((ext_vector_type(16)));
+    using U32 = uint32_t __attribute__((ext_vector_type(16)));
+    using F   = float    __attribute__((ext_vector_type(16)));
+#else
+    using U8  = uint8_t  __attribute__((ext_vector_type(8)));
+    using U16 = uint16_t __attribute__((ext_vector_type(8)));
+    using I16 =  int16_t __attribute__((ext_vector_type(8)));
+    using I32 =  int32_t __attribute__((ext_vector_type(8)));
+    using U32 = uint32_t __attribute__((ext_vector_type(8)));
+    using F   = float    __attribute__((ext_vector_type(8)));
+#endif
+
+static const size_t N = sizeof(U16) / sizeof(uint16_t);
+
+// We pass program as the second argument so that load_and_inc() will find it in %rsi on x86-64.
+using Stage = void (ABI*)(size_t tail, void** program, size_t dx, size_t dy,
+                          U16  r, U16  g, U16  b, U16  a,
+                          U16 dr, U16 dg, U16 db, U16 da);
+
+extern "C" MAYBE_MSABI void WRAP(start_pipeline)(const size_t x0,
+                                                 const size_t y0,
+                                                 const size_t xlimit,
+                                                 const size_t ylimit,
+                                                 void** program) {
+    auto start = (Stage)load_and_inc(program);
+    for (size_t dy = y0; dy < ylimit; dy++) {
+        size_t dx = x0;
+        for (; dx + N <= xlimit; dx += N) {
+            start(   0,program,dx,dy, 0,0,0,0, 0,0,0,0);
+        }
+        if (size_t tail = xlimit - dx) {
+            start(tail,program,dx,dy, 0,0,0,0, 0,0,0,0);
+        }
+    }
+}
+
+extern "C" ABI void WRAP(just_return)(size_t,void**,size_t,size_t,
+                                      U16,U16,U16,U16, U16,U16,U16,U16) {}
+
+// All stages use the same function call ABI to chain into each other, but there are three types:
+//   GG: geometry in, geometry out  -- think, a matrix
+//   GP: geometry in, pixels out.   -- think, a memory gather
+//   PP: pixels in, pixels out.     -- think, a blend mode
+//
+// (Some stages ignore their inputs or produce no logical output.  That's perfectly fine.)
+//
+// These three STAGE_ macros let you define each type of stage,
+// and will have (x,y) geometry and/or (r,g,b,a, dr,dg,db,da) pixel arguments as appropriate.
+
+#define STAGE_GG(name, ...)                                                            \
+    SI void name##_k(__VA_ARGS__, size_t dx, size_t dy, size_t tail, F& x, F& y);      \
+    extern "C" ABI void WRAP(name)(size_t tail, void** program, size_t dx, size_t dy,  \
+                                   U16  r, U16  g, U16  b, U16  a,                     \
+                                   U16 dr, U16 dg, U16 db, U16 da) {                   \
+        auto x = join<F>(r,g),                                                         \
+             y = join<F>(b,a);                                                         \
+        name##_k(Ctx{program}, dx,dy,tail, x,y);                                       \
+        split(x, &r,&g);                                                               \
+        split(y, &b,&a);                                                               \
+        auto next = (Stage)load_and_inc(program);                                      \
+        next(tail,program,dx,dy, r,g,b,a, dr,dg,db,da);                                \
+    }                                                                                  \
+    SI void name##_k(__VA_ARGS__, size_t dx, size_t dy, size_t tail, F& x, F& y)
+
+#define STAGE_GP(name, ...)                                                            \
+    SI void name##_k(__VA_ARGS__, size_t dx, size_t dy, size_t tail, F x, F y,         \
+                     U16&  r, U16&  g, U16&  b, U16&  a,                               \
+                     U16& dr, U16& dg, U16& db, U16& da);                              \
+    extern "C" ABI void WRAP(name)(size_t tail, void** program, size_t dx, size_t dy,  \
+                                   U16  r, U16  g, U16  b, U16  a,                     \
+                                   U16 dr, U16 dg, U16 db, U16 da) {                   \
+        auto x = join<F>(r,g),                                                         \
+             y = join<F>(b,a);                                                         \
+        name##_k(Ctx{program}, dx,dy,tail, x,y, r,g,b,a, dr,dg,db,da);                 \
+        auto next = (Stage)load_and_inc(program);                                      \
+        next(tail,program,dx,dy, r,g,b,a, dr,dg,db,da);                                \
+    }                                                                                  \
+    SI void name##_k(__VA_ARGS__, size_t dx, size_t dy, size_t tail, F x, F y,         \
+                     U16&  r, U16&  g, U16&  b, U16&  a,                               \
+                     U16& dr, U16& dg, U16& db, U16& da)
+
+#define STAGE_PP(name, ...)                                                            \
+    SI void name##_k(__VA_ARGS__, size_t dx, size_t dy, size_t tail,                   \
+                     U16&  r, U16&  g, U16&  b, U16&  a,                               \
+                     U16& dr, U16& dg, U16& db, U16& da);                              \
+    extern "C" ABI void WRAP(name)(size_t tail, void** program, size_t dx, size_t dy,  \
+                                   U16  r, U16  g, U16  b, U16  a,                     \
+                                   U16 dr, U16 dg, U16 db, U16 da) {                   \
+        name##_k(Ctx{program}, dx,dy,tail, r,g,b,a, dr,dg,db,da);                      \
+        auto next = (Stage)load_and_inc(program);                                      \
+        next(tail,program,dx,dy, r,g,b,a, dr,dg,db,da);                                \
+    }                                                                                  \
+    SI void name##_k(__VA_ARGS__, size_t dx, size_t dy, size_t tail,                   \
+                     U16&  r, U16&  g, U16&  b, U16&  a,                               \
+                     U16& dr, U16& dg, U16& db, U16& da)
+
+// ~~~~~~ Commonly used helper functions ~~~~~~ //
+
+SI U16 div255(U16 v) {
+#if 0
+    return (v+127)/255;  // The ideal rounding divide by 255.
+#else
+    return (v+255)/256;  // A good approximation of (v+127)/255.
+#endif
+}
+
+SI U16 inv(U16 v) { return 255-v; }
+
+SI U16 if_then_else(I16 c, U16 t, U16 e) { return (t & c) | (e & ~c); }
+SI U32 if_then_else(I32 c, U32 t, U32 e) { return (t & c) | (e & ~c); }
+
+SI U16 max(U16 x, U16 y) { return if_then_else(x < y, y, x); }
+SI U16 min(U16 x, U16 y) { return if_then_else(x < y, x, y); }
+SI U16 max(U16 x, U16 y, U16 z) { return max(x, max(y, z)); }
+SI U16 min(U16 x, U16 y, U16 z) { return min(x, min(y, z)); }
+
+SI U16 from_float(float f) { return f * 255.0f + 0.5f; }
+
+SI U16 lerp(U16 from, U16 to, U16 t) { return div255( from*inv(t) + to*t ); }
+
+template <typename D, typename S>
+SI D cast(S src) {
+    return __builtin_convertvector(src, D);
+}
+
+template <typename D, typename S>
+SI void split(S v, D* lo, D* hi) {
+    static_assert(2*sizeof(D) == sizeof(S), "");
+    memcpy(lo, (const char*)&v + 0*sizeof(D), sizeof(D));
+    memcpy(hi, (const char*)&v + 1*sizeof(D), sizeof(D));
+}
+template <typename D, typename S>
+SI D join(S lo, S hi) {
+    static_assert(sizeof(D) == 2*sizeof(S), "");
+    D v;
+    memcpy((char*)&v + 0*sizeof(S), &lo, sizeof(S));
+    memcpy((char*)&v + 1*sizeof(S), &hi, sizeof(S));
+    return v;
+}
+template <typename V, typename H>
+SI V map(V v, H (*fn)(H)) {
+    H lo,hi;
+    split(v, &lo,&hi);
+    lo = fn(lo);
+    hi = fn(hi);
+    return join<V>(lo,hi);
+}
+
+// TODO: do we need platform-specific intrinsics for any of these?
+SI F if_then_else(I32 c, F t, F e) {
+    return bit_cast<F>( (bit_cast<I32>(t) & c) | (bit_cast<I32>(e) & ~c) );
+}
+SI F max(F x, F y) { return if_then_else(x < y, y, x); }
+SI F min(F x, F y) { return if_then_else(x < y, x, y); }
+
+SI F mad(F f, F m, F a) { return f*m+a; }
+SI U32 trunc_(F x) { return (U32)cast<I32>(x); }
+
+SI F rcp(F x) {
+#if defined(__AVX2__)
+    return map(x, _mm256_rcp_ps);
+#elif defined(__SSE__)
+    return map(x, _mm_rcp_ps);
+#elif defined(__ARM_NEON)
+    return map(x, +[](float32x4_t v) {
+        auto est = vrecpeq_f32(v);
+        return vrecpsq_f32(v,est)*est;
+    });
+#else
+    return 1.0f / x;
+#endif
+}
+SI F sqrt_(F x) {
+#if defined(__AVX2__)
+    return map(x, _mm256_sqrt_ps);
+#elif defined(__SSE__)
+    return map(x, _mm_sqrt_ps);
+#elif defined(__aarch64__)
+    return map(x, vsqrtq_f32);
+#elif defined(__ARM_NEON)
+    return map(x, +[](float32x4_t v) {
+        auto est = vrsqrteq_f32(v);  // Estimate and two refinement steps for est = rsqrt(v).
+        est *= vrsqrtsq_f32(v,est*est);
+        est *= vrsqrtsq_f32(v,est*est);
+        return v*est;                // sqrt(v) == v*rsqrt(v).
+    });
+#else
+    return F{
+        sqrtf(x[0]), sqrtf(x[1]), sqrtf(x[2]), sqrtf(x[3]),
+        sqrtf(x[4]), sqrtf(x[5]), sqrtf(x[6]), sqrtf(x[7]),
+    };
+#endif
+}
+
+SI F floor_(F x) {
+#if defined(__aarch64__)
+    return map(x, vrndmq_f32);
+#elif defined(__AVX2__)
+    return map(x, +[](__m256 v){ return _mm256_floor_ps(v); });  // _mm256_floor_ps is a macro...
+#elif defined(__SSE4_1__)
+    return map(x, +[](__m128 v){ return    _mm_floor_ps(v); });  // _mm_floor_ps() is a macro too.
+#else
+    F roundtrip = cast<F>(cast<I32>(x));
+    return roundtrip - if_then_else(roundtrip > x, F(1), F(0));
+#endif
+}
+SI F abs_(F x) { return bit_cast<F>( bit_cast<I32>(x) & 0x7fffffff ); }
+
+// ~~~~~~ Basic / misc. stages ~~~~~~ //
+
+STAGE_GG(seed_shader, const float* iota) {
+    x = cast<F>(I32(dx)) + unaligned_load<F>(iota);
+    y = cast<F>(I32(dy)) + 0.5f;
+}
+
+STAGE_GG(matrix_translate, const float* m) {
+    x += m[0];
+    y += m[1];
+}
+STAGE_GG(matrix_scale_translate, const float* m) {
+    x = mad(x,m[0], m[2]);
+    y = mad(y,m[1], m[3]);
+}
+STAGE_GG(matrix_2x3, const float* m) {
+    auto X = mad(x,m[0], mad(y,m[2], m[4])),
+         Y = mad(x,m[1], mad(y,m[3], m[5]));
+    x = X;
+    y = Y;
+}
+STAGE_GG(matrix_perspective, const float* m) {
+    // N.B. Unlike the other matrix_ stages, this matrix is row-major.
+    auto X = mad(x,m[0], mad(y,m[1], m[2])),
+         Y = mad(x,m[3], mad(y,m[4], m[5])),
+         Z = mad(x,m[6], mad(y,m[7], m[8]));
+    x = X * rcp(Z);
+    y = Y * rcp(Z);
+}
+
+STAGE_PP(uniform_color, const SkJumper_UniformColorCtx* c) {
+    r = c->rgba[0];
+    g = c->rgba[1];
+    b = c->rgba[2];
+    a = c->rgba[3];
+}
+STAGE_PP(black_color, Ctx::None) { r = g = b =   0; a = 255; }
+STAGE_PP(white_color, Ctx::None) { r = g = b = 255; a = 255; }
+
+STAGE_PP(set_rgb, const float rgb[3]) {
+    r = from_float(rgb[0]);
+    g = from_float(rgb[1]);
+    b = from_float(rgb[2]);
+}
+
+STAGE_PP(clamp_a, Ctx::None) {
+    r = min(r, a);
+    g = min(g, a);
+    b = min(b, a);
+}
+STAGE_PP(clamp_a_dst, Ctx::None) {
+    dr = min(dr, da);
+    dg = min(dg, da);
+    db = min(db, da);
+}
+
+STAGE_PP(premul, Ctx::None) {
+    r = div255(r * a);
+    g = div255(g * a);
+    b = div255(b * a);
+}
+STAGE_PP(premul_dst, Ctx::None) {
+    dr = div255(dr * da);
+    dg = div255(dg * da);
+    db = div255(db * da);
+}
+
+STAGE_PP(force_opaque    , Ctx::None) {  a = 255; }
+STAGE_PP(force_opaque_dst, Ctx::None) { da = 255; }
+
+STAGE_PP(swap_rb, Ctx::None) {
+    auto tmp = r;
+    r = b;
+    b = tmp;
+}
+
+STAGE_PP(move_src_dst, Ctx::None) {
+    dr = r;
+    dg = g;
+    db = b;
+    da = a;
+}
+
+STAGE_PP(move_dst_src, Ctx::None) {
+    r = dr;
+    g = dg;
+    b = db;
+    a = da;
+}
+
+STAGE_PP(invert, Ctx::None) {
+    r = inv(r);
+    g = inv(g);
+    b = inv(b);
+    a = inv(a);
+}
+
+// ~~~~~~ Blend modes ~~~~~~ //
+
+// The same logic applied to all 4 channels.
+#define BLEND_MODE(name)                                 \
+    SI U16 name##_channel(U16 s, U16 d, U16 sa, U16 da); \
+    STAGE_PP(name, Ctx::None) {                          \
+        r = name##_channel(r,dr,a,da);                   \
+        g = name##_channel(g,dg,a,da);                   \
+        b = name##_channel(b,db,a,da);                   \
+        a = name##_channel(a,da,a,da);                   \
+    }                                                    \
+    SI U16 name##_channel(U16 s, U16 d, U16 sa, U16 da)
+
+    BLEND_MODE(clear)    { return 0; }
+    BLEND_MODE(srcatop)  { return div255( s*da + d*inv(sa) ); }
+    BLEND_MODE(dstatop)  { return div255( d*sa + s*inv(da) ); }
+    BLEND_MODE(srcin)    { return div255( s*da ); }
+    BLEND_MODE(dstin)    { return div255( d*sa ); }
+    BLEND_MODE(srcout)   { return div255( s*inv(da) ); }
+    BLEND_MODE(dstout)   { return div255( d*inv(sa) ); }
+    BLEND_MODE(srcover)  { return s + div255( d*inv(sa) ); }
+    BLEND_MODE(dstover)  { return d + div255( s*inv(da) ); }
+    BLEND_MODE(modulate) { return div255( s*d ); }
+    BLEND_MODE(multiply) { return div255( s*inv(da) + d*inv(sa) + s*d ); }
+    BLEND_MODE(plus_)    { return min(s+d, 255); }
+    BLEND_MODE(screen)   { return s + d - div255( s*d ); }
+    BLEND_MODE(xor_)     { return div255( s*inv(da) + d*inv(sa) ); }
+#undef BLEND_MODE
+
+// The same logic applied to color, and srcover for alpha.
+#define BLEND_MODE(name)                                 \
+    SI U16 name##_channel(U16 s, U16 d, U16 sa, U16 da); \
+    STAGE_PP(name, Ctx::None) {                          \
+        r = name##_channel(r,dr,a,da);                   \
+        g = name##_channel(g,dg,a,da);                   \
+        b = name##_channel(b,db,a,da);                   \
+        a = a + div255( da*inv(a) );                     \
+    }                                                    \
+    SI U16 name##_channel(U16 s, U16 d, U16 sa, U16 da)
+
+    BLEND_MODE(darken)     { return s + d -   div255( max(s*da, d*sa) ); }
+    BLEND_MODE(lighten)    { return s + d -   div255( min(s*da, d*sa) ); }
+    BLEND_MODE(difference) { return s + d - 2*div255( min(s*da, d*sa) ); }
+    BLEND_MODE(exclusion)  { return s + d - 2*div255( s*d ); }
+
+    BLEND_MODE(hardlight) {
+        return div255( s*inv(da) + d*inv(sa) +
+                       if_then_else(2*s <= sa, 2*s*d, sa*da - 2*(sa-s)*(da-d)) );
+    }
+    BLEND_MODE(overlay) {
+        return div255( s*inv(da) + d*inv(sa) +
+                       if_then_else(2*d <= da, 2*s*d, sa*da - 2*(sa-s)*(da-d)) );
+    }
+#undef BLEND_MODE
+
+// ~~~~~~ Helpers for interacting with memory ~~~~~~ //
+
+template <typename T>
+SI T* ptr_at_xy(const SkJumper_MemoryCtx* ctx, size_t dx, size_t dy) {
+    return (T*)ctx->pixels + dy*ctx->stride + dx;
+}
+
+template <typename T>
+SI U32 ix_and_ptr(T** ptr, const SkJumper_GatherCtx* ctx, F x, F y) {
+    auto clamp = [](F v, F limit) {
+        limit = bit_cast<F>( bit_cast<U32>(limit) - 1 );  // Exclusive -> inclusive.
+        return min(max(0, v), limit);
+    };
+    x = clamp(x, ctx->width);
+    y = clamp(y, ctx->height);
+
+    *ptr = (const T*)ctx->pixels;
+    return trunc_(y)*ctx->stride + trunc_(x);
+}
+
+template <typename V, typename T>
+SI V load(const T* ptr, size_t tail) {
+    V v = 0;
+    switch (tail & (N-1)) {
+        case  0: memcpy(&v, ptr, sizeof(v)); break;
+    #if defined(__AVX2__)
+        case 15: v[14] = ptr[14];
+        case 14: v[13] = ptr[13];
+        case 13: v[12] = ptr[12];
+        case 12: memcpy(&v, ptr, 12*sizeof(T)); break;
+        case 11: v[10] = ptr[10];
+        case 10: v[ 9] = ptr[ 9];
+        case  9: v[ 8] = ptr[ 8];
+        case  8: memcpy(&v, ptr,  8*sizeof(T)); break;
+    #endif
+        case  7: v[ 6] = ptr[ 6];
+        case  6: v[ 5] = ptr[ 5];
+        case  5: v[ 4] = ptr[ 4];
+        case  4: memcpy(&v, ptr,  4*sizeof(T)); break;
+        case  3: v[ 2] = ptr[ 2];
+        case  2: memcpy(&v, ptr,  2*sizeof(T)); break;
+        case  1: v[ 0] = ptr[ 0];
+    }
+    return v;
+}
+template <typename V, typename T>
+SI void store(T* ptr, size_t tail, V v) {
+    switch (tail & (N-1)) {
+        case  0: memcpy(ptr, &v, sizeof(v)); break;
+    #if defined(__AVX2__)
+        case 15: ptr[14] = v[14];
+        case 14: ptr[13] = v[13];
+        case 13: ptr[12] = v[12];
+        case 12: memcpy(ptr, &v, 12*sizeof(T)); break;
+        case 11: ptr[10] = v[10];
+        case 10: ptr[ 9] = v[ 9];
+        case  9: ptr[ 8] = v[ 8];
+        case  8: memcpy(ptr, &v,  8*sizeof(T)); break;
+    #endif
+        case  7: ptr[ 6] = v[ 6];
+        case  6: ptr[ 5] = v[ 5];
+        case  5: ptr[ 4] = v[ 4];
+        case  4: memcpy(ptr, &v,  4*sizeof(T)); break;
+        case  3: ptr[ 2] = v[ 2];
+        case  2: memcpy(ptr, &v,  2*sizeof(T)); break;
+        case  1: ptr[ 0] = v[ 0];
+    }
+}
+
+#if defined(__AVX2__)
+    template <typename V, typename T>
+    SI V gather(const T* ptr, U32 ix) {
+        return V{ ptr[ix[ 0]], ptr[ix[ 1]], ptr[ix[ 2]], ptr[ix[ 3]],
+                  ptr[ix[ 4]], ptr[ix[ 5]], ptr[ix[ 6]], ptr[ix[ 7]],
+                  ptr[ix[ 8]], ptr[ix[ 9]], ptr[ix[10]], ptr[ix[11]],
+                  ptr[ix[12]], ptr[ix[13]], ptr[ix[14]], ptr[ix[15]], };
+    }
+
+    template<>
+    F gather(const float* p, U32 ix) {
+        __m256i lo, hi;
+        split(ix, &lo, &hi);
+
+        return join<F>(_mm256_i32gather_ps(p, lo, 4),
+                       _mm256_i32gather_ps(p, hi, 4));
+    }
+
+    template<>
+    U32 gather(const uint32_t* p, U32 ix) {
+        __m256i lo, hi;
+        split(ix, &lo, &hi);
+
+        return join<U32>(_mm256_i32gather_epi32(p, lo, 4),
+                         _mm256_i32gather_epi32(p, hi, 4));
+    }
+#else
+    template <typename V, typename T>
+    SI V gather(const T* ptr, U32 ix) {
+        return V{ ptr[ix[ 0]], ptr[ix[ 1]], ptr[ix[ 2]], ptr[ix[ 3]],
+                  ptr[ix[ 4]], ptr[ix[ 5]], ptr[ix[ 6]], ptr[ix[ 7]], };
+    }
+#endif
+
+
+// ~~~~~~ 32-bit memory loads and stores ~~~~~~ //
+
+SI void from_8888(U32 rgba, U16* r, U16* g, U16* b, U16* a) {
+#if 1 && defined(__AVX2__)
+    // Swap the middle 128-bit lanes to make _mm256_packus_epi32() in cast_U16() work out nicely.
+    __m256i _01,_23;
+    split(rgba, &_01, &_23);
+    __m256i _02 = _mm256_permute2x128_si256(_01,_23, 0x20),
+            _13 = _mm256_permute2x128_si256(_01,_23, 0x31);
+    rgba = join<U32>(_02, _13);
+
+    auto cast_U16 = [](U32 v) -> U16 {
+        __m256i _02,_13;
+        split(v, &_02,&_13);
+        return _mm256_packus_epi32(_02,_13);
+    };
+#else
+    auto cast_U16 = [](U32 v) -> U16 {
+        return cast<U16>(v);
+    };
+#endif
+    *r = cast_U16(rgba & 65535) & 255;
+    *g = cast_U16(rgba & 65535) >>  8;
+    *b = cast_U16(rgba >>   16) & 255;
+    *a = cast_U16(rgba >>   16) >>  8;
+}
+
+SI void load_8888(const uint32_t* ptr, size_t tail, U16* r, U16* g, U16* b, U16* a) {
+#if 1 && defined(__ARM_NEON)
+    uint8x8x4_t rgba;
+    switch (tail & (N-1)) {
+        case 0: rgba = vld4_u8     ((const uint8_t*)(ptr+0)         ); break;
+        case 7: rgba = vld4_lane_u8((const uint8_t*)(ptr+6), rgba, 6);
+        case 6: rgba = vld4_lane_u8((const uint8_t*)(ptr+5), rgba, 5);
+        case 5: rgba = vld4_lane_u8((const uint8_t*)(ptr+4), rgba, 4);
+        case 4: rgba = vld4_lane_u8((const uint8_t*)(ptr+3), rgba, 3);
+        case 3: rgba = vld4_lane_u8((const uint8_t*)(ptr+2), rgba, 2);
+        case 2: rgba = vld4_lane_u8((const uint8_t*)(ptr+1), rgba, 1);
+        case 1: rgba = vld4_lane_u8((const uint8_t*)(ptr+0), rgba, 0);
+    }
+    *r = cast<U16>(rgba.val[0]);
+    *g = cast<U16>(rgba.val[1]);
+    *b = cast<U16>(rgba.val[2]);
+    *a = cast<U16>(rgba.val[3]);
+#else
+    from_8888(load<U32>(ptr, tail), r,g,b,a);
+#endif
+}
+SI void store_8888(uint32_t* ptr, size_t tail, U16 r, U16 g, U16 b, U16 a) {
+#if 1 && defined(__ARM_NEON)
+    uint8x8x4_t rgba = {{
+        cast<U8>(r),
+        cast<U8>(g),
+        cast<U8>(b),
+        cast<U8>(a),
+    }};
+    switch (tail & (N-1)) {
+        case 0: vst4_u8     ((uint8_t*)(ptr+0), rgba   ); break;
+        case 7: vst4_lane_u8((uint8_t*)(ptr+6), rgba, 6);
+        case 6: vst4_lane_u8((uint8_t*)(ptr+5), rgba, 5);
+        case 5: vst4_lane_u8((uint8_t*)(ptr+4), rgba, 4);
+        case 4: vst4_lane_u8((uint8_t*)(ptr+3), rgba, 3);
+        case 3: vst4_lane_u8((uint8_t*)(ptr+2), rgba, 2);
+        case 2: vst4_lane_u8((uint8_t*)(ptr+1), rgba, 1);
+        case 1: vst4_lane_u8((uint8_t*)(ptr+0), rgba, 0);
+    }
+#else
+    store(ptr, tail, cast<U32>(r | (g<<8)) <<  0
+                   | cast<U32>(b | (a<<8)) << 16);
+#endif
+}
+
+STAGE_PP(load_8888, const SkJumper_MemoryCtx* ctx) {
+    load_8888(ptr_at_xy<const uint32_t>(ctx, dx,dy), tail, &r,&g,&b,&a);
+}
+STAGE_PP(load_8888_dst, const SkJumper_MemoryCtx* ctx) {
+    load_8888(ptr_at_xy<const uint32_t>(ctx, dx,dy), tail, &dr,&dg,&db,&da);
+}
+STAGE_PP(store_8888, const SkJumper_MemoryCtx* ctx) {
+    store_8888(ptr_at_xy<uint32_t>(ctx, dx,dy), tail, r,g,b,a);
+}
+
+STAGE_PP(load_bgra, const SkJumper_MemoryCtx* ctx) {
+    load_8888(ptr_at_xy<const uint32_t>(ctx, dx,dy), tail, &b,&g,&r,&a);
+}
+STAGE_PP(load_bgra_dst, const SkJumper_MemoryCtx* ctx) {
+    load_8888(ptr_at_xy<const uint32_t>(ctx, dx,dy), tail, &db,&dg,&dr,&da);
+}
+STAGE_PP(store_bgra, const SkJumper_MemoryCtx* ctx) {
+    store_8888(ptr_at_xy<uint32_t>(ctx, dx,dy), tail, b,g,r,a);
+}
+
+STAGE_GP(gather_8888, const SkJumper_GatherCtx* ctx) {
+    const uint32_t* ptr;
+    U32 ix = ix_and_ptr(&ptr, ctx, x,y);
+    from_8888(gather<U32>(ptr, ix), &r, &g, &b, &a);
+}
+STAGE_GP(gather_bgra, const SkJumper_GatherCtx* ctx) {
+    const uint32_t* ptr;
+    U32 ix = ix_and_ptr(&ptr, ctx, x,y);
+    from_8888(gather<U32>(ptr, ix), &b, &g, &r, &a);
+}
+
+// ~~~~~~ 16-bit memory loads and stores ~~~~~~ //
+
+SI void from_565(U16 rgb, U16* r, U16* g, U16* b) {
+    // Format for 565 buffers: 15|rrrrr gggggg bbbbb|0
+    U16 R = (rgb >> 11) & 31,
+        G = (rgb >>  5) & 63,
+        B = (rgb >>  0) & 31;
+
+    // These bit replications are the same as multiplying by 255/31 or 255/63 to scale to 8-bit.
+    *r = (R << 3) | (R >> 2);
+    *g = (G << 2) | (G >> 4);
+    *b = (B << 3) | (B >> 2);
+}
+SI void load_565(const uint16_t* ptr, size_t tail, U16* r, U16* g, U16* b) {
+    from_565(load<U16>(ptr, tail), r,g,b);
+}
+SI void store_565(uint16_t* ptr, size_t tail, U16 r, U16 g, U16 b) {
+    // Select the top 5,6,5 bits.
+    U16 R = r >> 3,
+        G = g >> 2,
+        B = b >> 3;
+    // Pack them back into 15|rrrrr gggggg bbbbb|0.
+    store(ptr, tail, R << 11
+                   | G <<  5
+                   | B <<  0);
+}
+
+STAGE_PP(load_565, const SkJumper_MemoryCtx* ctx) {
+    load_565(ptr_at_xy<const uint16_t>(ctx, dx,dy), tail, &r,&g,&b);
+    a = 255;
+}
+STAGE_PP(load_565_dst, const SkJumper_MemoryCtx* ctx) {
+    load_565(ptr_at_xy<const uint16_t>(ctx, dx,dy), tail, &dr,&dg,&db);
+    da = 255;
+}
+STAGE_PP(store_565, const SkJumper_MemoryCtx* ctx) {
+    store_565(ptr_at_xy<uint16_t>(ctx, dx,dy), tail, r,g,b);
+}
+STAGE_GP(gather_565, const SkJumper_GatherCtx* ctx) {
+    const uint16_t* ptr;
+    U32 ix = ix_and_ptr(&ptr, ctx, x,y);
+    from_565(gather<U16>(ptr, ix), &r, &g, &b);
+    a = 255;
+}
+
+SI void from_4444(U16 rgba, U16* r, U16* g, U16* b, U16* a) {
+    // Format for 4444 buffers: 15|rrrr gggg bbbb aaaa|0.
+    U16 R = (rgba >> 12) & 15,
+        G = (rgba >>  8) & 15,
+        B = (rgba >>  4) & 15,
+        A = (rgba >>  0) & 15;
+
+    // Scale [0,15] to [0,255].
+    *r = (R << 4) | R;
+    *g = (G << 4) | G;
+    *b = (B << 4) | B;
+    *a = (A << 4) | A;
+}
+SI void load_4444(const uint16_t* ptr, size_t tail, U16* r, U16* g, U16* b, U16* a) {
+    from_4444(load<U16>(ptr, tail), r,g,b,a);
+}
+SI void store_4444(uint16_t* ptr, size_t tail, U16 r, U16 g, U16 b, U16 a) {
+    // Select the top 4 bits of each.
+    U16 R = r >> 4,
+        G = g >> 4,
+        B = b >> 4,
+        A = a >> 4;
+    // Pack them back into 15|rrrr gggg bbbb aaaa|0.
+    store(ptr, tail, R << 12
+                   | G <<  8
+                   | B <<  4
+                   | A <<  0);
+}
+
+STAGE_PP(load_4444, const SkJumper_MemoryCtx* ctx) {
+    load_4444(ptr_at_xy<const uint16_t>(ctx, dx,dy), tail, &r,&g,&b,&a);
+}
+STAGE_PP(load_4444_dst, const SkJumper_MemoryCtx* ctx) {
+    load_4444(ptr_at_xy<const uint16_t>(ctx, dx,dy), tail, &dr,&dg,&db,&da);
+}
+STAGE_PP(store_4444, const SkJumper_MemoryCtx* ctx) {
+    store_4444(ptr_at_xy<uint16_t>(ctx, dx,dy), tail, r,g,b,a);
+}
+STAGE_GP(gather_4444, const SkJumper_GatherCtx* ctx) {
+    const uint16_t* ptr;
+    U32 ix = ix_and_ptr(&ptr, ctx, x,y);
+    from_4444(gather<U16>(ptr, ix), &r,&g,&b,&a);
+}
+
+// ~~~~~~ 8-bit memory loads and stores ~~~~~~ //
+
+SI U16 load_8(const uint8_t* ptr, size_t tail) {
+    return cast<U16>(load<U8>(ptr, tail));
+}
+SI void store_8(uint8_t* ptr, size_t tail, U16 v) {
+    store(ptr, tail, cast<U8>(v));
+}
+
+STAGE_PP(load_a8, const SkJumper_MemoryCtx* ctx) {
+    r = g = b = 0;
+    a = load_8(ptr_at_xy<const uint8_t>(ctx, dx,dy), tail);
+}
+STAGE_PP(load_a8_dst, const SkJumper_MemoryCtx* ctx) {
+    dr = dg = db = 0;
+    da = load_8(ptr_at_xy<const uint8_t>(ctx, dx,dy), tail);
+}
+STAGE_PP(store_a8, const SkJumper_MemoryCtx* ctx) {
+    store_8(ptr_at_xy<uint8_t>(ctx, dx,dy), tail, a);
+}
+STAGE_GP(gather_a8, const SkJumper_GatherCtx* ctx) {
+    const uint8_t* ptr;
+    U32 ix = ix_and_ptr(&ptr, ctx, x,y);
+    r = g = b = 0;
+    a = cast<U16>(gather<U8>(ptr, ix));
+}
+
+STAGE_PP(load_g8, const SkJumper_MemoryCtx* ctx) {
+    r = g = b = load_8(ptr_at_xy<const uint8_t>(ctx, dx,dy), tail);
+    a = 255;
+}
+STAGE_PP(load_g8_dst, const SkJumper_MemoryCtx* ctx) {
+    dr = dg = db = load_8(ptr_at_xy<const uint8_t>(ctx, dx,dy), tail);
+    da = 255;
+}
+STAGE_PP(luminance_to_alpha, Ctx::None) {
+    a = (r*54 + g*183 + b*19)/256;  // 0.2126, 0.7152, 0.0722 with 256 denominator.
+    r = g = b = 0;
+}
+STAGE_GP(gather_g8, const SkJumper_GatherCtx* ctx) {
+    const uint8_t* ptr;
+    U32 ix = ix_and_ptr(&ptr, ctx, x,y);
+    r = g = b = cast<U16>(gather<U8>(ptr, ix));
+    a = 255;
+}
+
+// ~~~~~~ Coverage scales / lerps ~~~~~~ //
+
+STAGE_PP(scale_1_float, const float* f) {
+    U16 c = from_float(*f);
+    r = div255( r * c );
+    g = div255( g * c );
+    b = div255( b * c );
+    a = div255( a * c );
+}
+STAGE_PP(lerp_1_float, const float* f) {
+    U16 c = from_float(*f);
+    r = lerp(dr, r, c);
+    g = lerp(dg, g, c);
+    b = lerp(db, b, c);
+    a = lerp(da, a, c);
+}
+
+STAGE_PP(scale_u8, const SkJumper_MemoryCtx* ctx) {
+    U16 c = load_8(ptr_at_xy<const uint8_t>(ctx, dx,dy), tail);
+    r = div255( r * c );
+    g = div255( g * c );
+    b = div255( b * c );
+    a = div255( a * c );
+}
+STAGE_PP(lerp_u8, const SkJumper_MemoryCtx* ctx) {
+    U16 c = load_8(ptr_at_xy<const uint8_t>(ctx, dx,dy), tail);
+    r = lerp(dr, r, c);
+    g = lerp(dg, g, c);
+    b = lerp(db, b, c);
+    a = lerp(da, a, c);
+}
+
+// Derive alpha's coverage from rgb coverage and the values of src and dst alpha.
+SI U16 alpha_coverage_from_rgb_coverage(U16 a, U16 da, U16 cr, U16 cg, U16 cb) {
+    return if_then_else(a < da, min(cr,cg,cb)
+                              , max(cr,cg,cb));
+}
+STAGE_PP(scale_565, const SkJumper_MemoryCtx* ctx) {
+    U16 cr,cg,cb;
+    load_565(ptr_at_xy<const uint16_t>(ctx, dx,dy), tail, &cr,&cg,&cb);
+    U16 ca = alpha_coverage_from_rgb_coverage(a,da, cr,cg,cb);
+
+    r = div255( r * cr );
+    g = div255( g * cg );
+    b = div255( b * cb );
+    a = div255( a * ca );
+}
+STAGE_PP(lerp_565, const SkJumper_MemoryCtx* ctx) {
+    U16 cr,cg,cb;
+    load_565(ptr_at_xy<const uint16_t>(ctx, dx,dy), tail, &cr,&cg,&cb);
+    U16 ca = alpha_coverage_from_rgb_coverage(a,da, cr,cg,cb);
+
+    r = lerp(dr, r, cr);
+    g = lerp(dg, g, cg);
+    b = lerp(db, b, cb);
+    a = lerp(da, a, ca);
+}
+
+// ~~~~~~ Gradient stages ~~~~~~ //
+
+// Clamp x to [0,1], both sides inclusive (think, gradients).
+// Even repeat and mirror funnel through a clamp to handle bad inputs like +Inf, NaN.
+SI F clamp_01(F v) { return min(max(0, v), 1); }
+
+STAGE_GG(clamp_x_1 , Ctx::None) { x = clamp_01(x); }
+STAGE_GG(repeat_x_1, Ctx::None) { x = clamp_01(x - floor_(x)); }
+STAGE_GG(mirror_x_1, Ctx::None) {
+    auto two = [](F x){ return x+x; };
+    x = clamp_01(abs_( (x-1.0f) - two(floor_((x-1.0f)*0.5f)) - 1.0f ));
+}
+
+SI I16 cond_to_mask_16(I32 cond) { return cast<I16>(cond); }
+
+STAGE_GG(decal_x, SkJumper_DecalTileCtx* ctx) {
+    auto w = ctx->limit_x;
+    unaligned_store(ctx->mask, cond_to_mask_16((0 <= x) & (x < w)));
+}
+STAGE_GG(decal_y, SkJumper_DecalTileCtx* ctx) {
+    auto h = ctx->limit_y;
+    unaligned_store(ctx->mask, cond_to_mask_16((0 <= y) & (y < h)));
+}
+STAGE_GG(decal_x_and_y, SkJumper_DecalTileCtx* ctx) {
+    auto w = ctx->limit_x;
+    auto h = ctx->limit_y;
+    unaligned_store(ctx->mask, cond_to_mask_16((0 <= x) & (x < w) & (0 <= y) & (y < h)));
+}
+STAGE_PP(check_decal_mask, SkJumper_DecalTileCtx* ctx) {
+    auto mask = unaligned_load<U16>(ctx->mask);
+    r = r & mask;
+    g = g & mask;
+    b = b & mask;
+    a = a & mask;
+}
+
+
+SI U16 round_F_to_U16(F x) { return cast<U16>(x * 255.0f + 0.5f); }
+
+SI void gradient_lookup(const SkJumper_GradientCtx* c, U32 idx, F t,
+                        U16* r, U16* g, U16* b, U16* a) {
+
+    F fr, fg, fb, fa, br, bg, bb, ba;
+#if defined(__AVX2__)
+    if (c->stopCount <=8) {
+        __m256i lo, hi;
+        split(idx, &lo, &hi);
+
+        fr = join<F>(_mm256_permutevar8x32_ps(_mm256_loadu_ps(c->fs[0]), lo),
+                     _mm256_permutevar8x32_ps(_mm256_loadu_ps(c->fs[0]), hi));
+        br = join<F>(_mm256_permutevar8x32_ps(_mm256_loadu_ps(c->bs[0]), lo),
+                     _mm256_permutevar8x32_ps(_mm256_loadu_ps(c->bs[0]), hi));
+        fg = join<F>(_mm256_permutevar8x32_ps(_mm256_loadu_ps(c->fs[1]), lo),
+                     _mm256_permutevar8x32_ps(_mm256_loadu_ps(c->fs[1]), hi));
+        bg = join<F>(_mm256_permutevar8x32_ps(_mm256_loadu_ps(c->bs[1]), lo),
+                     _mm256_permutevar8x32_ps(_mm256_loadu_ps(c->bs[1]), hi));
+        fb = join<F>(_mm256_permutevar8x32_ps(_mm256_loadu_ps(c->fs[2]), lo),
+                     _mm256_permutevar8x32_ps(_mm256_loadu_ps(c->fs[2]), hi));
+        bb = join<F>(_mm256_permutevar8x32_ps(_mm256_loadu_ps(c->bs[2]), lo),
+                     _mm256_permutevar8x32_ps(_mm256_loadu_ps(c->bs[2]), hi));
+        fa = join<F>(_mm256_permutevar8x32_ps(_mm256_loadu_ps(c->fs[3]), lo),
+                     _mm256_permutevar8x32_ps(_mm256_loadu_ps(c->fs[3]), hi));
+        ba = join<F>(_mm256_permutevar8x32_ps(_mm256_loadu_ps(c->bs[3]), lo),
+                     _mm256_permutevar8x32_ps(_mm256_loadu_ps(c->bs[3]), hi));
+    } else
+#endif
+    {
+        fr = gather<F>(c->fs[0], idx);
+        fg = gather<F>(c->fs[1], idx);
+        fb = gather<F>(c->fs[2], idx);
+        fa = gather<F>(c->fs[3], idx);
+        br = gather<F>(c->bs[0], idx);
+        bg = gather<F>(c->bs[1], idx);
+        bb = gather<F>(c->bs[2], idx);
+        ba = gather<F>(c->bs[3], idx);
+    }
+    *r = round_F_to_U16(mad(t, fr, br));
+    *g = round_F_to_U16(mad(t, fg, bg));
+    *b = round_F_to_U16(mad(t, fb, bb));
+    *a = round_F_to_U16(mad(t, fa, ba));
+}
+
+STAGE_GP(gradient, const SkJumper_GradientCtx* c) {
+    auto t = x;
+    U32 idx = 0;
+
+    // N.B. The loop starts at 1 because idx 0 is the color to use before the first stop.
+    for (size_t i = 1; i < c->stopCount; i++) {
+        idx += if_then_else(t >= c->ts[i], U32(1), U32(0));
+    }
+
+    gradient_lookup(c, idx, t, &r, &g, &b, &a);
+}
+
+STAGE_GP(evenly_spaced_gradient, const SkJumper_GradientCtx* c) {
+    auto t = x;
+    auto idx = trunc_(t * (c->stopCount-1));
+    gradient_lookup(c, idx, t, &r, &g, &b, &a);
+}
+
+STAGE_GP(evenly_spaced_2_stop_gradient, const void* ctx) {
+    // TODO: Rename Ctx SkJumper_EvenlySpaced2StopGradientCtx.
+    struct Ctx { float f[4], b[4]; };
+    auto c = (const Ctx*)ctx;
+
+    auto t = x;
+    r = round_F_to_U16(mad(t, c->f[0], c->b[0]));
+    g = round_F_to_U16(mad(t, c->f[1], c->b[1]));
+    b = round_F_to_U16(mad(t, c->f[2], c->b[2]));
+    a = round_F_to_U16(mad(t, c->f[3], c->b[3]));
+}
+
+STAGE_GG(xy_to_unit_angle, Ctx::None) {
+    F xabs = abs_(x),
+      yabs = abs_(y);
+
+    F slope = min(xabs, yabs)/max(xabs, yabs);
+    F s = slope * slope;
+
+    // Use a 7th degree polynomial to approximate atan.
+    // This was generated using sollya.gforge.inria.fr.
+    // A float optimized polynomial was generated using the following command.
+    // P1 = fpminimax((1/(2*Pi))*atan(x),[|1,3,5,7|],[|24...|],[2^(-40),1],relative);
+    F phi = slope
+             * (0.15912117063999176025390625f     + s
+             * (-5.185396969318389892578125e-2f   + s
+             * (2.476101927459239959716796875e-2f + s
+             * (-7.0547382347285747528076171875e-3f))));
+
+    phi = if_then_else(xabs < yabs, 1.0f/4.0f - phi, phi);
+    phi = if_then_else(x < 0.0f   , 1.0f/2.0f - phi, phi);
+    phi = if_then_else(y < 0.0f   , 1.0f - phi     , phi);
+    phi = if_then_else(phi != phi , 0              , phi);  // Check for NaN.
+    x = phi;
+}
+STAGE_GG(xy_to_radius, Ctx::None) {
+    x = sqrt_(x*x + y*y);
+}
+
+// ~~~~~~ Compound stages ~~~~~~ //
+
+STAGE_PP(srcover_rgba_8888, const SkJumper_MemoryCtx* ctx) {
+    auto ptr = ptr_at_xy<uint32_t>(ctx, dx,dy);
+
+    load_8888(ptr, tail, &dr,&dg,&db,&da);
+    r = r + div255( dr*inv(a) );
+    g = g + div255( dg*inv(a) );
+    b = b + div255( db*inv(a) );
+    a = a + div255( da*inv(a) );
+    store_8888(ptr, tail, r,g,b,a);
+}
+STAGE_PP(srcover_bgra_8888, const SkJumper_MemoryCtx* ctx) {
+    auto ptr = ptr_at_xy<uint32_t>(ctx, dx,dy);
+
+    load_8888(ptr, tail, &db,&dg,&dr,&da);
+    r = r + div255( dr*inv(a) );
+    g = g + div255( dg*inv(a) );
+    b = b + div255( db*inv(a) );
+    a = a + div255( da*inv(a) );
+    store_8888(ptr, tail, b,g,r,a);
+}
+
+#endif//defined(__clang__)
diff --git a/src/jumper/build_stages.py b/src/jumper/build_stages.py
new file mode 100755
index 0000000..d4d5982
--- /dev/null
+++ b/src/jumper/build_stages.py
@@ -0,0 +1,261 @@
+#!/usr/bin/env python2.7
+#
+# Copyright 2017 Google Inc.
+#
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import re
+import subprocess
+import sys
+
+clang         = 'clang-5.0'
+objdump       = 'gobjdump'
+ccache        = 'ccache'
+stages        = 'src/jumper/SkJumper_stages.cpp'
+stages_lowp   = 'src/jumper/SkJumper_stages_lowp.cpp'
+generated     = 'src/jumper/SkJumper_generated.S'
+generated_win = 'src/jumper/SkJumper_generated_win.S'
+
+clang         = sys.argv[1] if len(sys.argv) > 1 else clang
+objdump       = sys.argv[2] if len(sys.argv) > 2 else objdump
+ccache        = sys.argv[3] if len(sys.argv) > 3 else ccache
+stages        = sys.argv[4] if len(sys.argv) > 4 else stages
+stages_lowp   = sys.argv[5] if len(sys.argv) > 5 else stages_lowp
+generated     = sys.argv[6] if len(sys.argv) > 6 else generated
+generated_win = sys.argv[7] if len(sys.argv) > 7 else generated_win
+
+clang = [ccache, clang, '-x', 'c++']
+
+
+cflags = ['-std=c++11', '-Os', '-DJUMPER_IS_OFFLINE',
+          '-momit-leaf-frame-pointer', '-ffp-contract=fast',
+          '-fno-exceptions', '-fno-rtti', '-fno-unwind-tables']
+
+x86 = [ '-m32' ]
+win = ['-DWIN', '-mno-red-zone']
+sse2 = ['-msse2', '-mno-sse3', '-mno-ssse3', '-mno-sse4.1']
+subprocess.check_call(clang + cflags + sse2 +
+                      ['-c', stages] +
+                      ['-o', 'sse2.o'])
+subprocess.check_call(clang + cflags + sse2 + win +
+                      ['-c', stages] +
+                      ['-o', 'win_sse2.o'])
+subprocess.check_call(clang + cflags + sse2 + x86 +
+                      ['-c', stages] +
+                      ['-o', 'x86_sse2.o'])
+subprocess.check_call(clang + cflags + sse2 + win + x86 +
+                      ['-c', stages] +
+                      ['-o', 'win_x86_sse2.o'])
+
+subprocess.check_call(clang + cflags + sse2 +
+                      ['-c', stages_lowp] +
+                      ['-o', 'lowp_sse2.o'])
+subprocess.check_call(clang + cflags + sse2 + win +
+                      ['-c', stages_lowp] +
+                      ['-o', 'win_lowp_sse2.o'])
+subprocess.check_call(clang + cflags + sse2 + x86 +
+                      ['-c', stages_lowp] +
+                      ['-o', 'x86_lowp_sse2.o'])
+subprocess.check_call(clang + cflags + sse2 + win + x86 +
+                      ['-c', stages_lowp] +
+                      ['-o', 'win_x86_lowp_sse2.o'])
+
+sse41 = ['-msse4.1']
+subprocess.check_call(clang + cflags + sse41 +
+                      ['-c', stages] +
+                      ['-o', 'sse41.o'])
+subprocess.check_call(clang + cflags + sse41 + win +
+                      ['-c', stages] +
+                      ['-o', 'win_sse41.o'])
+
+subprocess.check_call(clang + cflags + sse41 +
+                      ['-c', stages_lowp] +
+                      ['-o', 'lowp_sse41.o'])
+subprocess.check_call(clang + cflags + sse41 + win +
+                      ['-c', stages_lowp] +
+                      ['-o', 'win_lowp_sse41.o'])
+
+avx = ['-mavx']
+subprocess.check_call(clang + cflags + avx +
+                      ['-c', stages] +
+                      ['-o', 'avx.o'])
+subprocess.check_call(clang + cflags + avx + win +
+                      ['-c', stages] +
+                      ['-o', 'win_avx.o'])
+
+hsw = ['-mavx2', '-mfma', '-mf16c']
+subprocess.check_call(clang + cflags + hsw +
+                      ['-c', stages] +
+                      ['-o', 'hsw.o'])
+subprocess.check_call(clang + cflags + hsw + win +
+                      ['-c', stages] +
+                      ['-o', 'win_hsw.o'])
+
+subprocess.check_call(clang + cflags + hsw +
+                      ['-c', stages_lowp] +
+                      ['-o', 'lowp_hsw.o'])
+subprocess.check_call(clang + cflags + hsw + win +
+                      ['-c', stages_lowp] +
+                      ['-o', 'win_lowp_hsw.o'])
+
+skx = ['-march=skylake-avx512']
+subprocess.check_call(clang + cflags + skx +
+                      ['-c', stages] +
+                      ['-o', 'skx.o'])
+
+# Merge x86-64 object files to deduplicate constants.
+# (No other platform has more than one specialization.)
+subprocess.check_call(['ld', '-r', '-o', 'merged.o',
+                       'skx.o', 'hsw.o', 'avx.o', 'sse41.o', 'sse2.o',
+                       'lowp_hsw.o', 'lowp_sse41.o', 'lowp_sse2.o'])
+subprocess.check_call(['ld', '-r', '-o', 'win_merged.o',
+                       'win_hsw.o', 'win_avx.o', 'win_sse41.o', 'win_sse2.o',
+                       'win_lowp_hsw.o', 'win_lowp_sse41.o', 'win_lowp_sse2.o'])
+
+subprocess.check_call(['ld', '-r', '-o', 'x86_merged.o',
+                       'x86_sse2.o',
+                       'x86_lowp_sse2.o'])
+subprocess.check_call(['ld', '-r', '-o', 'win_x86_merged.o',
+                       'win_x86_sse2.o',
+                       'win_x86_lowp_sse2.o'])
+
+def parse_object_file(dot_o, directive, target=None):
+  globl, hidden, label, comment, align = \
+      '.globl', 'HIDDEN', ':', '// ', 'BALIGN'
+  if 'win' in dot_o:
+    globl, hidden, label, comment, align = \
+        'PUBLIC', '', ' LABEL PROC', '; ', 'ALIGN '
+
+  cmd = [objdump]
+  if target:
+    cmd += ['--target', target]
+
+  # Look for sections we know we can't handle.
+  section_headers = subprocess.check_output(cmd + ['-h', dot_o])
+  for snippet in ['.rodata']:
+    if snippet in section_headers:
+      print >>sys.stderr, 'Found %s in section.' % snippet
+      assert snippet not in section_headers
+
+  if directive == '.long':
+    disassemble = ['-d', dot_o]
+    dehex = lambda h: '0x'+h
+  else:
+    # x86-64... as long as we're using %rip-relative addressing,
+    # literal sections should be fine to just dump in with .text.
+    disassemble = ['-d',               # DO NOT USE -D.
+                   '-z',               # Print zero bytes instead of ...
+                   '--insn-width=11',
+                   '-j', '.text',
+                   '-j', '.literal4',
+                   '-j', '.literal8',
+                   '-j', '.literal16',
+                   '-j', '.const',
+                   dot_o]
+    dehex = lambda h: str(int(h,16))
+
+  # Ok.  Let's disassemble.
+  for line in subprocess.check_output(cmd + disassemble).split('\n'):
+    line = line.strip()
+
+    if not line or line.startswith(dot_o) or line.startswith('Disassembly'):
+      continue
+
+    # E.g. 00000000000003a4 <_load_f16>:
+    m = re.match('''[0-9a-f]+ <_?(.*)>:''', line)
+    if m:
+      print
+      sym = m.group(1)
+      if sym.startswith('.literal'):  # .literal4, .literal16, etc
+        print sym.replace('.literal', align)
+      elif sym.startswith('.const'):  # 32-byte constants
+        print align + '32'
+      elif not sym.startswith('sk_'):
+        print >>sys.stderr, "build_stages.py can't handle '%s' (yet?)." % sym
+        assert sym.startswith('sk_')
+      else:  # a stage function
+        if hidden:
+          print hidden + ' _' + sym
+        print globl + ' _' + sym
+        if 'win' not in dot_o:
+          print 'FUNCTION(_' + sym + ')'
+        print '_' + sym + label
+      continue
+
+    columns = line.split('\t')
+   #print >>sys.stderr, columns
+    code = columns[1]
+    if len(columns) >= 4:
+      inst = columns[2]
+      args = columns[3]
+    else:
+      inst, args = columns[2], ''
+      if ' ' in columns[2]:
+        inst, args = columns[2].split(' ', 1)
+    code, inst, args = code.strip(), inst.strip(), args.strip()
+
+    hexed = ','.join(dehex(x) for x in code.split(' '))
+    print '  ' + directive + '  ' + hexed + ' '*(36-len(hexed)) + \
+          comment + inst + (' '*(14-len(inst)) + args if args else '')
+
+sys.stdout = open(generated, 'w')
+
+print '''# Copyright 2017 Google Inc.
+#
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# This file is generated semi-automatically with this command:
+#   $ src/jumper/build_stages.py
+'''
+print '#if defined(__MACH__)'
+print '    #define HIDDEN .private_extern'
+print '    #define FUNCTION(name)'
+print '    #define BALIGN4  .align 2'
+print '    #define BALIGN8  .align 3'
+print '    #define BALIGN16 .align 4'
+print '    #define BALIGN32 .align 5'
+print '#else'
+print '    .section .note.GNU-stack,"",%progbits'
+print '    #define HIDDEN .hidden'
+print '    #define FUNCTION(name) .type name,%function'
+print '    #define BALIGN4  .balign 4'
+print '    #define BALIGN8  .balign 8'
+print '    #define BALIGN16 .balign 16'
+print '    #define BALIGN32 .balign 32'
+print '#endif'
+
+print '.text'
+print '#if defined(__x86_64__)'
+print 'BALIGN32'
+parse_object_file('merged.o', '.byte')
+
+print '#elif defined(__i386__)'
+print 'BALIGN32'
+parse_object_file('x86_merged.o', '.byte')
+
+print '#endif'
+
+sys.stdout = open(generated_win, 'w')
+print '''; Copyright 2017 Google Inc.
+;
+; Use of this source code is governed by a BSD-style license that can be
+; found in the LICENSE file.
+
+; This file is generated semi-automatically with this command:
+;   $ src/jumper/build_stages.py
+'''
+print 'IFDEF RAX'
+print "_text32 SEGMENT ALIGN(32) 'CODE'"
+print 'ALIGN 32'
+parse_object_file('win_merged.o',   'DB')
+
+print 'ELSE'
+print '.MODEL FLAT,C'
+print "_text32 SEGMENT ALIGN(32) 'CODE'"
+print 'ALIGN 32'
+parse_object_file('win_x86_merged.o', 'DB')
+
+print 'ENDIF'
+print 'END'
diff --git a/src/opts/SkChecksum_opts.h b/src/opts/SkChecksum_opts.h
index 3f2ef39..90e7af0 100644
--- a/src/opts/SkChecksum_opts.h
+++ b/src/opts/SkChecksum_opts.h
@@ -19,11 +19,11 @@
 
 namespace SK_OPTS_NS {
 
-template <typename T, typename P>
-static inline T unaligned_load(const P* p) {
-    T v;
-    memcpy(&v, p, sizeof(v));
-    return v;
+template <typename T>
+static inline T unaligned_load(const uint8_t* src) {
+    T val;
+    memcpy(&val, src, sizeof(val));
+    return val;
 }
 
 #if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE42 && (defined(__x86_64__) || defined(_M_X64))
diff --git a/src/opts/SkOpts_avx.cpp b/src/opts/SkOpts_avx.cpp
index 6abe399..7e34330 100644
--- a/src/opts/SkOpts_avx.cpp
+++ b/src/opts/SkOpts_avx.cpp
@@ -5,10 +5,14 @@
  * found in the LICENSE file.
  */
 
+#include "SkSafe_math.h"   // Keep this first.
 #include "SkOpts.h"
 
+#if defined(_INC_MATH) && !defined(INC_MATH_IS_SAFE_NOW)
+    #error We have included ucrt\math.h without protecting it against ODR violation.
+#endif
+
 #define SK_OPTS_NS avx
-#include "SkRasterPipeline_opts.h"
 #include "SkUtils_opts.h"
 
 namespace SkOpts {
@@ -16,17 +20,5 @@
         memset16 = SK_OPTS_NS::memset16;
         memset32 = SK_OPTS_NS::memset32;
         memset64 = SK_OPTS_NS::memset64;
-
-    #define M(st) stages_highp[SkRasterPipeline::st] = (StageFn)SK_OPTS_NS::st;
-        SK_RASTER_PIPELINE_STAGES(M)
-        just_return_highp = (StageFn)SK_OPTS_NS::just_return;
-        start_pipeline_highp = SK_OPTS_NS::start_pipeline;
-    #undef M
-
-    #define M(st) stages_lowp[SkRasterPipeline::st] = (StageFn)SK_OPTS_NS::lowp::st;
-        SK_RASTER_PIPELINE_STAGES(M)
-        just_return_lowp = (StageFn)SK_OPTS_NS::lowp::just_return;
-        start_pipeline_lowp = SK_OPTS_NS::lowp::start_pipeline;
-    #undef M
     }
 }
diff --git a/src/opts/SkOpts_hsw.cpp b/src/opts/SkOpts_hsw.cpp
deleted file mode 100644
index a97b7bf..0000000
--- a/src/opts/SkOpts_hsw.cpp
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright 2018 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#include "SkOpts.h"
-
-#define SK_OPTS_NS hsw
-#include "SkRasterPipeline_opts.h"
-#include "SkUtils_opts.h"
-
-namespace SkOpts {
-    void Init_hsw() {
-    #define M(st) stages_highp[SkRasterPipeline::st] = (StageFn)SK_OPTS_NS::st;
-        SK_RASTER_PIPELINE_STAGES(M)
-        just_return_highp = (StageFn)SK_OPTS_NS::just_return;
-        start_pipeline_highp = SK_OPTS_NS::start_pipeline;
-    #undef M
-
-    #define M(st) stages_lowp[SkRasterPipeline::st] = (StageFn)SK_OPTS_NS::lowp::st;
-        SK_RASTER_PIPELINE_STAGES(M)
-        just_return_lowp = (StageFn)SK_OPTS_NS::lowp::just_return;
-        start_pipeline_lowp = SK_OPTS_NS::lowp::start_pipeline;
-    #undef M
-    }
-}
diff --git a/src/opts/SkOpts_sse41.cpp b/src/opts/SkOpts_sse41.cpp
index 42aa48e..b382799 100644
--- a/src/opts/SkOpts_sse41.cpp
+++ b/src/opts/SkOpts_sse41.cpp
@@ -8,23 +8,10 @@
 #include "SkOpts.h"
 
 #define SK_OPTS_NS sse41
-#include "SkRasterPipeline_opts.h"
 #include "SkBlitRow_opts.h"
 
 namespace SkOpts {
     void Init_sse41() {
         blit_row_s32a_opaque = sse41::blit_row_s32a_opaque;
-
-    #define M(st) stages_highp[SkRasterPipeline::st] = (StageFn)SK_OPTS_NS::st;
-        SK_RASTER_PIPELINE_STAGES(M)
-        just_return_highp = (StageFn)SK_OPTS_NS::just_return;
-        start_pipeline_highp = SK_OPTS_NS::start_pipeline;
-    #undef M
-
-    #define M(st) stages_lowp[SkRasterPipeline::st] = (StageFn)SK_OPTS_NS::lowp::st;
-        SK_RASTER_PIPELINE_STAGES(M)
-        just_return_lowp = (StageFn)SK_OPTS_NS::lowp::just_return;
-        start_pipeline_lowp = SK_OPTS_NS::lowp::start_pipeline;
-    #undef M
     }
 }